一种基于MQTT协议的面向用户的消息推送的方法技术

技术编号:14656169 阅读:85 留言:0更新日期:2017-02-16 20:28
本发明专利技术提供一种基于MQTT协议的面向用户的消息推送的方法,属于计算机应用领域,本发明专利技术通过细分主题使得消息发布者可根据五类推送规则(单一用户推送,批量用户推送,标签用户推送,所有在线用户推送,所有用户推送)推送消息至不同类别的用户,满足不同的推送业务场景需求;通过细分连接通道使得消息发布者发布消息时只关注消息接收者而不需要关注消息接收者持有哪些消息接收设备。减少交互次数,缩短通讯时间,节省了带宽。

【技术实现步骤摘要】

本专利技术涉及计算机应用领域,尤其涉及一种基于MQTT协议的面向用户的消息推送的方法
技术介绍
消息发送端经由消息推送服务器到达消息接收端的流程是一致的,都需要经过建立连接,订阅,消息发布,断开连接四步。随着互联网和智能终端设备的普及,对信息的获取提出了较高的要求,要求在规定的时间内推送消息,以及在低功耗,低速率的网络条件下进行传输。以往的通讯方式是靠客户端主动的拉取,这种方式使得应用程序会不停的检查是否有新的消息通知,浪费带宽。
技术实现思路
为了解决该问题,本专利技术提出了一种基于MQTT协议的面向用户的消息推送的方法。送的方式是服务器主动的行为,将最新的消息直接发送给用户,减少交互次数,缩短通讯时间,节省了带宽。借助该专利技术使得开发人员便捷地构建消息推送服务,解决消息主题单一、同一用户的不同设备难以区分的问题。该专利技术旨在提供面向用户的消息推送服务,这样消息发布者只需要关注消息的接收端是哪个用户,而不需要关注该用户有哪些消息接收设备;通过细分主题使得消息发布者可根据五类推送规则(单一用户推送,批量用户推送,标签用户推送,所有在线用户推送,所有用户推送)推送消息至不同类别的用户,满足不同的推送业务场景需求。本专利技术提供基于MQTT协议实现消息推送服务的模型,包括两大块:(1)细分连接通道:在计算机应用领域,消息推送广泛应用于PC、移动设备(Android,iOS),同一用户可能同时持有PC、Android设备、iOS设备。可借助该专利技术使消息发布者在发布消息时只关注发送消息给哪些消息接收者,而不需要关心该消息接收者持有哪些设备。(2)细分主题:根据计算机应用领域的潜在需求提供不同的推送逻辑;针对不同的潜在需求定义五类推送规则:单一用户推送,批量用户推送,标签用户推送,所有在线用户推送,所有用户推送。通过对连接通道进行细化,将连接通道和用户的消息接收端关联,一个用户可以持有数个消息接收端,即PC、Android设备、iOS设备;用户A发送消息给用户B,消息到达消息推送服务器,消息推送服务器通过已维护的用户和设备的关联关系获取用户B持有的消息接收端,判断用户B持有的消息接收端当前在线的哪种,通过用户B的一个在线通道即可将消息推送给用户B。连接通道是按照规则connType_connID进行组织的,其中connType表示通道的类型,包含三类值:1(表示PC端)、2(表示Android端)、3(表示iOS端);connID表示通道ID号,该值的定义规则和消息接收设备相关,具体为:PC的通道ID是用户的clientId、Android设备的通道ID是Android设备的唯一标识、iOS端的通道ID是苹果APNS推送服务器返回的一串devicetoken;在连接通道正常建立之后,消息推送服务器需要对三类不同的通道进行连接通道的存储与管理;消息推送服务器将PC端的通道存储在所有在线用户通道的数据结构和所有用户通道的数据结构中,如果PC端断开连接的话,删除所有在线用户通道的数据结构中的记录;所有在线用户通道的数据结构用于推送主题是在线用户的情况,所有用户通道的数据结构用于推送主题是所有用户的情况;消息推送服务器对Android端和iOS端的存储稍有不同,除了在所有在线用户通道的数据结构和所有用户通道的数据结构中存储连接通道之外,还需要Android端和iOS端将所属的用户信息以订阅主题的方式告知消息推送服务器,消息推送服务器将用户与所持设备的关联关系存储在用户与所持设备的关联关系数据结构中,方便后续消息推送的关联查询。对订阅/发布的主题设计五种推送规则,这五种推送规则为:/ipush/type/{publishType本文档来自技高网...
一种基于MQTT协议的面向用户的消息推送的方法

【技术保护点】
一种基于MQTT协议的面向用户的消息推送的方法,其特征在于,通过对连接通道进行细化,将连接通道和用户的消息接收端关联,一个用户可以持有数个消息接收端,即PC、Android设备、iOS设备;用户A发送消息给用户B,消息到达消息推送服务器,消息推送服务器通过已维护的用户和设备的关联关系获取用户B持有的消息接收端,判断用户B持有的消息接收端当前在线的哪种,通过用户B的一个在线通道即可将消息推送给用户B。

【技术特征摘要】
1.一种基于MQTT协议的面向用户的消息推送的方法,其特征在于,通过对连接通道进行细化,将连接通道和用户的消息接收端关联,一个用户可以持有数个消息接收端,即PC、Android设备、iOS设备;用户A发送消息给用户B,消息到达消息推送服务器,消息推送服务器通过已维护的用户和设备的关联关系获取用户B持有的消息接收端,判断用户B持有的消息接收端当前在线的哪种,通过用户B的一个在线通道即可将消息推送给用户B。2.根据权利要求1所述的方法,其特征在于,连接通道是按照规则connType_connID进行组织的,其中connType表示通道的类型,包含三类值:1(表示PC端)、2(表示Android端)、3(表示iOS端);connID表示通道ID号,该值的定义规则和消息接收设备相关,具体为:PC的通道ID是用户的clientId、Android设备的通道ID是Android设备的唯一标识、iOS端的通道ID是苹果APNS推送服务器返回的一串d...

【专利技术属性】
技术研发人员:陈娟妮张家华
申请(专利权)人:浪潮软件集团有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1