【技术实现步骤摘要】
消息推送实现方法、移动终端及消息推送系统
本申请涉及网络领域,尤其涉及一种消息推送实现方法、移动终端和消息推送系统。
技术介绍
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是轻量级的消息传输协议,使用发布/订阅消息模式,提供一对多的消息发布。XMPP (ExtensibleMessaging and Presence Protocol,可扩展消息处理现场协议)是一种基于XML(Extensible Markup Language,可扩展标记语言)的协议,它继承了在XML环境中灵活的发展性,XMPP可以通过发送扩展的信息来处理用户的需求。从协议层面来看,这两个协议都可以用来进行消息推送,但由于这两个协议的普及度不高,很多移动终端上的开发语言如AndroicK安卓)的开发语法JAVA和IPhone上的开发语言0BJECT-C,都没有成熟的组件提供对这两个协议的支持。目前移动终端的不同应用和后端服务器建立长连接以实现消息推送时,都是各自保持一条长连接,每个应用对应一条长连接,如果移动终端上安装了多个应用,就会有多条长连接。为避免长连接被中间的网络节点如运营商的网关关闭,客户端和服务器之间需要按照一定的频率不断地交换数据,我们称这种数据为心跳包,心跳包需要耗费网络流量和电量。因此,在移动终端上保活多条长连接的成本是昂贵的。考虑到安全性和流量、电量因素,客户端不会直接和消息中心相连,而是通过反向代理和消息中心相连。为保证消息的及时送达,需要一种机制来判断是否有新的数据产生。现有技术中是通过服务器不断询问 ...
【技术保护点】
一种消息推送实现方法,其特征在于,包括:移动终端上的正向代理服务模块与服务器之间建立长连接;所述正向代理服务模块通过所述长连接转发所述移动终端上的应用与所述服务器之间交互的信息;其中,所述移动终端上的应用包括多个应用;所述多个应用复用同一长连接。
【技术特征摘要】
1.一种消息推送实现方法,其特征在于,包括: 移动终端上的正向代理服务模块与服务器之间建立长连接; 所述正向代理服务模块通过所述长连接转发所述移动终端上的应用与所述服务器之间交互的信息;其中,所述移动终端上的应用包括多个应用;所述多个应用复用同一长连接。2.如权利要求1所述的方法,其特征在于,所述正向代理服务模块通过所述长连接转发所述移动终端上的应用与所述服务器之间交互的信息包括: 所述正向代理服务模块接收到所述应用的请求后,缓存该请求,到达预设时间间隔或预设时间间隔内缓存的请求个数达到指定个数后,将缓存的请求合并到请求包中通过所述长连接发送给所述服务器。3.如权利要求2所述的方法,其特征在于,所述方法还包括: 所述正向代理服务模块接收的所述移动终端上的应用的请求中携带发起该请求的应用的设备标识;所述正向代理服务模块将所述缓存的未发送的请求合并到所述请求包中时,所述请求包中携带所合并的各请求中携带的设备标识;其中,一个所述设备标识唯一标识一个移动终端上的一个应用; 以及,所述正向代理服务模块接收到所述服务器发送给所述多个应用的消息后,所述消息中携带一套或多套信息,每套信息包括消息内容及该消息内容对应的移动终端上的应用的设备标识;所述正向代理服务模块根据所述消息中的设备标识将该消息拆分成子消息,每个子消息中包括一套所述信息,所述正向代理服务模块根据所述子消息中的设备标识将所述子消息发送给该移动终端上对应的应用。4.如权利要求1至3任一所述的方法,其特征在于,所述正向代理服务模块和所述服务器之间的所述长连接基于超文本传送协议块HTTP CHUNK协议。5.一种消息推送实现方法,其特征在于,包括: 服务器与移动终端之间建立长连接; 所述服务器通过所述长连接将所述移动终端上的多个应用的请求转发至消息中心,将所述消息中心发出的与所述多个应用对应的消息通过所述长连接发送至所述移动终端,其中所述多个应用复用同一长连接。6.如权利要求5所述的方法,其特征在于,所述服务器和所述移动终端之间的所述长连接基于超文本传送协议块HTTP CHUNK协议。7.如权利要求5所述的方法,其特征在于,所述方法还包括: 所述服务器从所述请求中获取使用所述长连接的所述移动终端上的各应用的设备标识,维护所述设备标识与所述长连接的关联关系,其中,所述设备标识唯一标识一个移动终端上的一个应用。8.如权利要求7所述的方法,其特征在于,所述方法还包括: 所述服务器接收到所述消息中心发出的消息后,获取所述消息中携带的设备标识,根据所述设备标识查找其关联的长连接,将所述消息通过其关联的长连接发送给对应的移动终端。9.如权利要求8所述的方法,其特征在于,所述服务器将所述消息中心发出的与所述多个应用对应的消息通过所述长连接发送至所述移动终端包括:所述服务器收到所述多个应用的消息后,判断所述多个应用的消息的设备标识关联同一个长连接,将所述多个应用的消息封装在一个数据包中,将所述数据包通过所述长连接发送给所述移动终端。10.如权利要求5至9任一所述的方法,其特征在于,所述方法还包括: 当所述移动终端上的应用订阅了第一类业务时,所述服务器以预设频率主动轮询所述消息中心是否有所述第一类业务的新消息,且所述预设频率不大于频率阈值;以及, 当所述移动终端上的应用订阅了第二类业务时,所述服务器监听指定端口,并在监听到有所述第二类业务的新消息的通知时,向所述消息中心获取所述第二类业务的新消息。11.一种移动终端,所述移动终端安装多个应用,其特征在于,所述移动终端设有正向代理服务模块,所述正向代理服务模块包括...
【专利技术属性】
技术研发人员:陈虓将,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY