[发明专利]一种消息推送方法、系统、设备及存储介质在审
申请号: | 202110592859.6 | 申请日: | 2021-05-28 |
公开(公告)号: | CN113382048A | 公开(公告)日: | 2021-09-10 |
发明(设计)人: | 王妙玉;周亮;黄宇航;吴宁泉 | 申请(专利权)人: | 广东好太太智能家居有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;G06F16/958;G06F9/54 |
代理公司: | 广州市越秀区哲力专利商标事务所(普通合伙) 44288 | 代理人: | 成婵娟 |
地址: | 511434 广东省广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 消息 推送 方法 系统 设备 存储 介质 | ||
本发明公开了一种消息推送方法、系统、设备及存储介质,其消息推送方法应用在包括至少一代理服务器和多个后台服务器的分布式系统中,每个所述后台服务器均对应有至少一客户端;其消息推送方法包括:所述代理服务器响应于连接请求在所述后台服务器与所述客户端之间建立连接通道,并对所有已建立连接的客户端的标识信息进行存储;在任意一所述后台服务器产生消息时,所述代理服务器从订阅的消息队列中接收所述后台服务器所发布的消息,并根据所述标识信息将消息推送至所有已建立连接的客户端中。本发明有效确保每个用户可实时接收到服务器推送的消息,提高消息共享效率。
技术领域
本发明涉及数据处理领域,尤其涉及一种消息推送方法、系统、设备及存储介质。
背景技术
随着业务的发展,Web平台项目越来越复杂,业务量越来越大,为了实现负载均衡,会使用分布式环境部署Web平台;但现有的WebSocke进程只能在单机部署中使用,即WebSocket连接只能让单个客户端和单个服务器之间进行数据传输,使得服务器产生的消息时只能将其消息单独发布给单个客户端供一个用户查看,而其他客户端则无法接收到该服务器所产生的消息,无法实现实时将服务器推送的消息分享给每个用户的目的。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供一种消息推送方法,有效确保每个用户可实时接收到服务器推送的消息,提高消息共享效率。
本发明的目的之二在于提供一种消息推送系统。
本发明的目的之三在于提供一种电子设备。
本发明的目的之四在于提供一种存储介质。
本发明的目的之一采用如下技术方案实现:
一种消息推送方法,应用在包括至少一代理服务器和多个后台服务器的分布式系统中,每个所述后台服务器均对应有至少一客户端;其消息推送方法包括:
所述代理服务器响应于连接请求在所述后台服务器与所述客户端之间建立连接通道,并对所有已建立连接的客户端的标识信息进行存储;
在任意一所述后台服务器产生消息时,所述代理服务器从订阅的消息队列中接收所述后台服务器所发布的消息,并根据所述标识信息将消息推送至所有已建立连接的客户端中。
进一步地,所述代理服务器采用WebSocket协议在所述后台服务器与所述客户端之间建立长连接。
进一步地,所述客户端与所述后台服务器之间建立WebSocket连接后,所述代理服务器为所述客户端建立对应的标识信息,所述标识信息为所述客户端的唯一标识码。
进一步地,所有已建立连接的所述后台服务器共同订阅的同一消息队列的主题消息,并在任意一所述后台服务器产生消息后将其发布到所述消息队列的主题消息中。
进一步地,当多个所述后台服务器同时产生消息时,按照预设的优先级规则将多个后台服务器所发布的消息依次发布至所订阅的消息队列中。
进一步地,还包括:
任意一所述后台服务器将产生的消息发布至所述消息队列的同时,对消息进行副本处理并写入非易失内存中进行存储;若识别到所述消息队列中的消息出现丢失时,从所述非易失内存中获取消息并将其推送至所述客户端中。
进一步地,还包括:
任意一所述后台服务器在产生所述消息时对所述消息添加唯一的约束编码,所述代理服务器从所述消息队列中获取所述消息时,识别所述消息的约束编码,判断该消息的约束编码是否与前一消息的约束编码相同,若相同,则丢弃该消息,若不相同,才将该消息推送至所述客户端中。
本发明的目的之二采用如下技术方案实现:
一种消息推送系统,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东好太太智能家居有限公司,未经广东好太太智能家居有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110592859.6/2.html,转载请声明来源钻瓜专利网。