[发明专利]一种基于XMPP的可靠消息推送方法在审
申请号: | 201410127518.1 | 申请日: | 2014-03-31 |
公开(公告)号: | CN104954348A | 公开(公告)日: | 2015-09-30 |
发明(设计)人: | 徐剑;刘同新;李敏波 | 申请(专利权)人: | 普华讯光(北京)科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/58 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100070 北京市丰台区南四*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于XMPP的可靠消息推送方法,采用消息列队缓存的可靠信息推送方法来保证在客户终端联网状况不稳定条件下,所有消息最终被可靠地推送给目的终端。该方法采用XMPP协议对来自发送方的消息进行封装,利用中文0penfire服务器作为中间件服务器来缓存消息,并在监听到接收方联网稳定后,由中间件服务器将缓存的消息推送至接收方。在发送方与中间件服务器发送消息的过程中,通过验证有效连接身份、推送消息、接收回执包等握手过程来确保消息已经安全推送至中间件服务器;在中间件服务器与接收方通信的过程中,通过验证接收方是否在线后将待发送消息加入消息队列、推送消息、得到回执包等握手过程来确保消息可靠地被接收方收到。 | ||
搜索关键词: | 一种 基于 xmpp 可靠 消息 推送 方法 | ||
【主权项】:
一种基于XMPP的可靠消息推送方法,该方法包括客户终端和通讯服务器端;其特征在于:所述客户终端与通讯服务器端通过中间服务器建立连接进行文本消息推送,具体步骤包括:对于含有附件的文本消息推送方法,步骤如下:P1:客户终端,即消息发送方先与中间件建立连接,中间件服务器通过安全传输层协议TLS和简单认证与安全层SASL对终端进行身份验证;P2:发送方将文字消息和附件消息,按照XMPP协议的要求进行封装,将消息体封装到XMPP协议规定的Message元素的body节中;在消息发送前,会将该条附件消息存储在客户终端的数据库中;P3:发送方发送该条消息到中间件服务器,同时,发送方连接HTTP服务器,并通过终端设备参数进行身份验证,验证通过后,上传文件到HTTP服务器,并建立完整性标识;中间件服务器中的插件和HTTP服务器进行如下处理:1)中间件服务器将该条消息存入中间件服务器数据库中,并建立文件完整性标识;2)HTTP服务器监控文件上传情况,有文件上传成功则发送消息给openfire服务器插件,更新文件完整性标识;3)附件完全上传成功后,HTTP服务器发送消息给中间服务器插件,插件监听到该消息后将给消息的发送方发送一个回执包,发送方收到这个回执包以后将客户终端数据库中相应的消息记录删除,表示该条消息的文本和附件分别成功到达中间件服务器和HTTP服务器,无需再保留;与此同时,HTTP服务器也发送附件的URL路径给中间件服务器插件,插件接收该消息后与原文本消息整合后存入中间件服务器数据库中;4)中间件服务器判断该条消息的接收方客户终端是否在线,如果在线则将该消息加入中间件服务器的待发送消息队列中;中间件服务器中有线程依次发送消息队列中的消息;如果该条消息的接收方不在线,则这条消息会保留在服务器数据库中,当该条消息的接收方上线时,才会从数据库中调入到待发送队列中;P4、接收方整合了的消息后,会给中间件服务器发送回执包。服务器接收到该条消息对应的回执包后,进行如下操作:1)将该条消息写入中间件服务器数据库的历史表中;2)将该条消息从中间件服务器的待发送消息队列中删除;3)如果中间件服务器未收到回执包,则会一直发送消息给接收方客户终端,直到收到回应消息;P5、接收方客户终端通过解析该消息,获得文件的下载地址和下载文件;对于不含附件的纯文本消息,基于XMPP协议的可靠消息推送方法的实现机制大体相同,其区别在于步骤P3中,发送方不需要与HTTP服务器建立连接以及验证身份,也不需要在中间件服务器和HTTP服务器端建立完整性标识;在执行步骤P3‑3时,中间件服务器在接收到消息发送方推送过来的消息后,直接存入数据库,并推送回执包给发送方,而不需要等待HTTP服务器发送的文件上传成功的消息。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于普华讯光(北京)科技有限公司,未经普华讯光(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410127518.1/,转载请声明来源钻瓜专利网。