[发明专利]一种基于MQTT协议的消息推送系统及方法有效
申请号: | 201911413738.X | 申请日: | 2019-12-31 |
公开(公告)号: | CN111131501B | 公开(公告)日: | 2022-03-15 |
发明(设计)人: | 李晓龙;巨银刚;张彦斗;孙晓鹏;廖正赟;周吉祥;李亚运 | 申请(专利权)人: | 郑州信大捷安信息技术股份有限公司 |
主分类号: | H04L67/145 | 分类号: | H04L67/145;H04L67/2866;H04L67/55;H04L67/56;H04L67/568;G06F16/2455 |
代理公司: | 郑州德勤知识产权代理有限公司 41128 | 代理人: | 张微微 |
地址: | 450000 河南省*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 mqtt 协议 消息 推送 系统 方法 | ||
本发明提出一种基于MQTT协议的消息推送系统及方法,包括:客户端和服务端,客户端包括有应用客户端和通知推送客户端,应用客户端包括发布客户端和订阅客户端,服务端包括推送服务端和MQTT服务器群;发布客户端向推送服务端发布主题消息,推送服务端接收发布的主题消息并使用消息管理服务管理和存储主题消息,以及向MQTT服务器群发送主题消息通知;MQTT服务器群接收并转发主题消息通知至订阅客户端;订阅客户端根据主题消息通知,通过通知推送服务从消息管理服务拉取存储的订阅主题消息后,并向推送服务端发送删除请求信息;推送服务端接收删除请求信息,在消息管理服务中删除存储的相应主题消息,并告知订阅客户端删除结果。
技术领域
本发明涉及消息推送技术领域,具体涉及一种基于MQTT协议的消息推送系统及方法。
背景技术
随着移动互联网、物联网的快速发展,获取信息的方式越来越多,从主动获取信息逐渐演变为被动接受信息,信息量也呈现出爆发式的增长,传统的信息获取基于http协议,必须由客户端发起请求建立连接,再通过服务端将数据返回给客户端,每一次信息的获取均要重新建立连接和获取数据,在客户端用户大量同时在线的情况下,无法支撑消息的推送,而且存在消息重复、消息遗漏的缺陷。
因此如何保证消息不重复接收、消息必达和解决大量用户同时在线是目前急需解决的问题。
发明内容
本发明针对上述问题,有必要提供一种基于MQTT协议的消息推送系统及方法,其能够保证消息不重复接收、消息不存在遗漏或丢失以及支持大量用户同时在线。
本发明第一方面提出一种基于MQTT协议的消息推送系统,所述消息推送系统包括:客户端和服务端,所述客户端包括有应用客户端和通知推送客户端,所述通知推送客户端,内部封装有Mosquitto客户端,用于实现MQTT协议;
所述服务端包括推送服务端和MQTT服务器群,所述推送服务端包括消息管理服务和通知推送服务,所述消息管理服务,用于存储和管理所述应用客户端用户的主题消息的消息队列;其中,每个应用客户端用户在所述消息管理服务中都有相应的消息队列,并且所述应用客户端用户的主题消息使用设置的redis数据库进行缓存;所述MQTT服务器群包括多个MQTT服务器;所述MQTT服务器群,用于检查MQTT服务器的状态并返回状态信息至所述通知推送服务,以建立与所述应用客户端之间的长连接;以及根据接收的所述推送服务端发送的主题消息通知,向所述订阅客户端推送主题消息通知;
所述应用客户端,用于向所述通知推送服务发送连接请求信息,接收所述通知推送服务返回的MQTT服务器的连接信息,并根据所述连接信息通过所述通知推送客户端建立与相应的MQTT服务器的长连接;
所述通知推送服务,接收所述应用客户端发送的连接请求信息,通过负载算法获取一台MQTT服务器信息,并向所述MQTT服务器群发送状态检查信息;根据所述MQTT服务器群返回的状态信息判断相应的MQTT服务器的状态是否可用,在状态可用时向所述应用客户端返回该MQTT服务器的连接信息;以及用于将订阅的主题消息过所述通知推送客户端推送给所述订阅客户端;
所述应用客户端,包括发布客户端和订阅客户端;所述发布客户端,用于向所述推送服务端发布主题消息;所述订阅客户端,用于根据所述MQTT服务器转发的主题消息通知通过所述通知推送客户端从所述推送服务端拉取订阅的主题消息,以及向所述推送服务端发送删除主题消息的请求消息和获知删除结果;
所述推送服务端,用于接收所述发布客户端发布的主题消息并通过所述消息管理服务进行管理和存储,并向所述MQTT服务器发送主题消息通知;用于通过所述通知推送服务从所述消息管理服务中拉取所述订阅客户端订阅的主题消息推送给所述订阅客户端;还用于通过所述消息管理服务从相应消息队列和redis数据库删除存储的相应主题消息,并告知所述订阅客户端删除结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州信大捷安信息技术股份有限公司,未经郑州信大捷安信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911413738.X/2.html,转载请声明来源钻瓜专利网。