[发明专利]一种消息推送方法及系统有效
申请号: | 201810561163.5 | 申请日: | 2018-06-04 |
公开(公告)号: | CN110557423B | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 杨翼 | 申请(专利权)人: | 珠海全志科技股份有限公司 |
主分类号: | H04L67/51 | 分类号: | H04L67/51;H04L67/55 |
代理公司: | 广东深宏盾律师事务所 44364 | 代理人: | 赵琼花 |
地址: | 519085 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 消息 推送 方法 系统 | ||
本发明公开了一种消息推送方法及系统。该方法包括以下步骤:基于MQTT协议与客户端建立通信连接;接收客户端订阅的主题;解析主题,确定主题与订阅该主题的客户端之间的订阅关系;将订阅关系存储到Redis数据库内共享的订阅关系树中;获取消息,从订阅关系树中获取与消息的主题相对应的订阅关系,依据订阅关系将消息的有效载荷推送至相应的客户端。采用Redis数据库将客户端的会话信息、订阅关系进行持久化存储,保证了MQTT连接中消息发送、会话和订阅关系的安全、可靠、持久;并且利用Redis数据库低延时、低消耗和高响应的特性,保证了消息集群分布式共享的处理效率。
技术领域
本发明涉及通信技术领域,尤其涉及一种消息推送方法及系统。
背景技术
随着互联网及云计算的发展和普及,越来越多的企业把服务部署在云端。而随着企业服务的扩展,单节点服务器远不能满足需求。首选便是分布式,即消息在服务器集群之间共享,节点服务器之间的通信成为新的问题,也即如何保证消息在节点服务器之间高可靠、一致性消费以及快速的响应。
现有的服务器集群之间的共享数据多采用MYSQL关系型数据库进行存储;关系型数据库是通过外键关联来建立表与表之间的关系,消息响应速度慢,无法满足某些高响应的IOT(物联网)场景。
发明内容
针对现有技术的不足,本发明提出了一种消息推送方法及系统,该方法及系统采用Redis非关系型数据库将客户端的会话信息、订阅关系进行持久化存储,以保证保证消息在服务器集群节点之间高可靠、一致性消费以及快速的响应。
为了实现上述目的,本发明技术方案如下:
一种消息推送方法,包括以下步骤:基于MQTT协议与客户端建立通信连接;接收客户端订阅的主题;解析主题,确定主题与订阅该主题的客户端之间的订阅关系;将订阅关系存储到Redis数据库内共享的订阅关系树中;获取消息,从订阅关系树中获取与消息的主题相对应的订阅关系,依据订阅关系将消息的有效载荷推送至相应的客户端。
进一步地,订阅关系树包含了订阅主题树、订阅客户端树。订阅主题树依据主题的层级结构建立,以被订阅的主题为VALUE的数据结构。订阅客户端树是以订阅主题树中的VALUE为KEY的数据结构,订阅客户端树中的KEY的VALUE为订阅该KEY的客户端的id。
进一步地,订阅主题树中的VALUE以该VALUE的上一级的主题为KEY。
进一步地,所述将订阅关系存储到Redis数据库内共享的订阅关系树中的步骤包含:判断该主题是否已是订阅主题树中的VALUE;若为是,则查找订阅客户端树中与该主题相对应的KEY;若为否,则将该主题设置为订阅主题树中的VALUE,并将该主题设置为订阅客户端树中的KEY;将订阅该主题的客户端id记为订阅客户端树中相对应的KEY的VALUE。
进一步地,所述从订阅关系树中获取与消息的主题相对应的订阅关系,依据订阅关系将消息的有效载荷推送至相应的客户端的步骤包含:
查询订阅主题树,从订阅主题树中找到与消息相对应的VALUE;以该VALUE作为订阅客户端树的KEY,查找该KEY在订阅客户端树中的所有VALUE;判断该KEY在订阅客户端树中的所有VALUE中是否存在本地的客户端id;若为是,则依据所述的本地的客户端id将消息的有效载荷推送至相应的客户端。
进一步地,还包括以下步骤:将与客户端之间的会话信息存储到Redis数据库中。
进一步地,还包括以下步骤:推送客户端发布的消息。
一种消息推送方法,包括以下步骤:与客户端建立通信连接。将与客户端之间的会话信息存储到非关系型数据库中。接收客户端发出的消息订阅请求。解析消息订阅请求,确定消息与订阅该消息的客户端之间的订阅关系。将订阅关系存储到非关系型数据库内共享的订阅关系树中。获取消息,并从订阅关系树中获取与该消息相对应的订阅关系,依据订阅关系将消息推送至相应的客户端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海全志科技股份有限公司,未经珠海全志科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810561163.5/2.html,转载请声明来源钻瓜专利网。