消息推送实现方法、移动终端及消息推送系统技术方案

技术编号:10210983 阅读:234 留言:1更新日期:2014-07-12 16:25
本发明专利技术提供一种消息推送实现方法,包括:移动终端上的正向代理服务模块与服务器之间建立长连接;所述正向代理服务模块通过所述长连接转发所述移动终端上的应用与所述服务器之间交互的信息;其中,所述移动终端上的应用包括多个应用;所述多个应用复用同一长连接。本发明专利技术还提供一种消息推送实现系统和移动终端。本发明专利技术可以为移动终端节省流量和电量。

【技术实现步骤摘要】
消息推送实现方法、移动终端及消息推送系统
本申请涉及网络领域,尤其涉及一种消息推送实现方法、移动终端和消息推送系统。
技术介绍
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是轻量级的消息传输协议,使用发布/订阅消息模式,提供一对多的消息发布。XMPP (ExtensibleMessaging and Presence Protocol,可扩展消息处理现场协议)是一种基于XML(Extensible Markup Language,可扩展标记语言)的协议,它继承了在XML环境中灵活的发展性,XMPP可以通过发送扩展的信息来处理用户的需求。从协议层面来看,这两个协议都可以用来进行消息推送,但由于这两个协议的普及度不高,很多移动终端上的开发语言如AndroicK安卓)的开发语法JAVA和IPhone上的开发语言0BJECT-C,都没有成熟的组件提供对这两个协议的支持。目前移动终端的不同应用和后端服务器建立长连接以实现消息推送时,都是各自保持一条长连接,每个应用对应一条长连接,如果移动终端上安装了多个应用,就会有多条长连接。为避免长连接被中间的网络节点如运营商的网关关闭,客户端和服务器之间需要按照一定的频率不断地交换数据,我们称这种数据为心跳包,心跳包需要耗费网络流量和电量。因此,在移动终端上保活多条长连接的成本是昂贵的。考虑到安全性和流量、电量因素,客户端不会直接和消息中心相连,而是通过反向代理和消息中心相连。为保证消息的及时送达,需要一种机制来判断是否有新的数据产生。现有技术中是通过服务器不断询问消息中心是否有新的数据产生,对及时性要求比较强的消息,如果采用轮询的方式会因为轮询间隔太短对服务器造成很大压力。现有技术可能存在以下的问题:I)客户端和服务器实现新的协议有难度无论XMPP还是MQTT都是一个协议簇,客户端和服务器想要通过该协议实现通信,就必须都完成协议的实现,实现协议之前开发人员要先理解协议,理解和实现协议,都需要很长的时间。2)保活多条长连接耗费大量的网络流量和电量客户端和服务器之间建立长连接,需要通过不间断地发送心跳包来达到保活连接的目的,否则长连接会被链路的中间节点,如运营商的网关,直接关闭。移动终端和服务器之间建立的连接越多,保活带来的流量和电量的开销也越大。3)不能适应多种消息类型用户订阅的多种类型的消息的即时性要求各不相同,后台服务器要么牺牲性能保证实时消息及时送达,要么牺牲用户体验让所有消息都延迟投递。
技术实现思路
本申请要解决的技术问题是提供一种消息推送实现方法、系统和移动终端,解决现有技术中消息推送耗费大量电量和网络流量的问题。为了解决上述问题,本申请提供了一种消息推送实现方法,包括:移动终端上的正向代理服务模块与服务器之间建立长连接;所述正向代理服务模块通过所述长连接转发所述移动终端上的应用与所述服务器之间交互的信息;其中,所述移动终端上的应用包括多个应用;所述多个应用复用同一长连接。上述方法还可具有以下特点,所述正向代理服务模块通过所述长连接转发所述移动终端上的应用与所述服务器之间交互的信息包括:所述正向代理服务模块接收到所述应用的请求后,缓存该请求,到达预设时间间隔或预设时间间隔内缓存的请求个数达到指定个数后,将缓存的请求合并到请求包中通过所述长连接发送给所述服务器。上述方法还可具有以下特点,所述正向代理服务模块接收的所述移动终端上的应用的请求中携带发起该请求的应用的设备标识;所述正向代理服务模块将所述缓存的未发送的请求合并到所述请求包中时,所述请求包中携带所合并的各请求中携带的设备标识;其中,一个所述设备标识唯一标识一个移动终端上的一个应用;以及,所述正向代理服务模块接收到所述服务器发送给所述多个应用的消息后,所述消息中携带一套或多套信息,每套信息包括消息内容及该消息内容对应的移动终端上的应用的设备标识;所述正向代理服务模块根据所述消息中的设备标识将该消息拆分成子消息,每个子消息中包括一套所述信息,所述正向代理服务模块根据所述子消息中的设备标识将所述子消息发送给该移动终端上对应的应用。上述方法还可具有以下特点,所述正向代理服务模块和所述服务器之间的所述长连接基于超文本传送协议块HTTP CHUNK协议。本申请还提供一种消息推送实现方法,包括:服务器与移动终端之间建立长连接;所述服务器通过所述长连接将所述移动终端上的多个应用的请求转发至消息中心,将所述消息中心发出的与所述多个应用对应的消息通过所述长连接发送至所述移动终端,其中所述多个应用复用同一长连接。上述方法还可具有以下特点,所述服务器和所述移动终端之间的所述长连接基于超文本传送协议块HTTP CHUNK协议。上述方法还可具有以下特点,所述服务器从所述请求中获取使用所述长连接的所述移动终端上的各应用的设备标识,维护所述设备标识与所述长连接的关联关系,其中,所述设备标识唯一标识一个移动终端上的一个应用。上述方法还可具有以下特点,所述服务器接收到所述消息中心发出的消息后,获取所述消息中携带的设备标识,根据所述设备标识查找其关联的长连接,将所述消息通过其关联的长连接发送给对应的移动终端。上述方法还可具有以下特点,所述服务器将所述消息中心发出的与所述多个应用对应的消息通过所述长连接发送至所述移动终端包括:所述服务器收到所述多个应用的消息后,判断所述多个应用的消息的设备标识关联同一个长连接,将所述多个应用的消息封装在一个数据包中,将所述数据包通过所述长连接发送给所述移动终端。上述方法还可具有以下特点,当所述移动终端上的应用订阅了第一类业务时,所述服务器以预设频率主动轮询所述消息中心是否有所述第一类业务的新消息,且所述预设频率不大于频率阈值;以及,当所述移动终端上的应用订阅了第二类业务时,所述服务器监听指定端口,并在监听到有所述第二类业务的新消息的通知时,向所述消息中心获取所述第二类业务的新消肩、O本申请还提供一种移动终端,所述移动终端安装多个应用,其特征在于,所述移动终端设有正向代理服务模块,所述正向代理服务模块包括第一连接建立单元和第一交互单元,其中:所述第一连接建立单元用于与服务器之间建立长连接;所述第一交互单元用于,通过所述长连接转发所述多个应用与所述服务器之间交互的信息;所述多个应用复用同一长连接。上述移动终端还可具有以下特点,所述第一交互单元还用于在接收到所述移动终端上的应用的请求后,缓存该请求,到达预设时间间隔或预设时间间隔内缓存的请求个数达到指定个数后,将缓存的请求合并到请求包中通过所述长连接发送给所述服务器。上述移动终端还可具有以下特点,所述第一交互单元接收的所述移动终端上的应用的请求中携带发起该请求的应用的设备标识;所述第一交互单元还用于:将所述缓存的未发送的请求合并到所述请求包中时,所述请求包中携带所合并的各请求中携带的设备标识;其中,一个所述设备标识唯一标识一个移动终端上的一个应用;以及,从所述服务器收到消息后,其中,所述消息中携带一套或多套信息,每套信息包括消息内容及该消息内容对应的移动终端上的应用的设备标识;根据所述消息中的设备标识将该消息拆分成子消息,每个子消息包括一套所述信息,根据所述子消息中的设备标识将所述子消息发送给本文档来自技高网
...

【技术保护点】
一种消息推送实现方法,其特征在于,包括:移动终端上的正向代理服务模块与服务器之间建立长连接;所述正向代理服务模块通过所述长连接转发所述移动终端上的应用与所述服务器之间交互的信息;其中,所述移动终端上的应用包括多个应用;所述多个应用复用同一长连接。

【技术特征摘要】
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

网友询问留言 已有1条评论
  • 来自[美国加利福尼亚州圣克拉拉县山景市谷歌公司] 2015年01月11日 01:08
    网页推送是指将经过整理的信息资源以网页的形式迅速转发至用户的界面实现用户的多层次需求使得用户能够自己设定所需要的信息频道并直接在用户端接收定制信息的实现方式
    0
1