一种aos中保持长连接的方法、系统、aoe、aog及终端的制作方法

文档序号:7998841阅读:179来源:国知局
专利名称:一种aos中保持长连接的方法、系统、aoe、aog及终端的制作方法
技术领域
本发明涉及移动互联网业务领域,特别涉及ー种在永远在线系统中,在不通过频繁的心跳消息来检测链路情况下,对终端和永远在线平台之间的长连接进行維持、检测和尽快重连的实现方法、系统、AOE、AOG及終端。
背景技术
AOI (Always Online Infrastructure,永远在线基础系统)是当前移动互联网中发展很快的ー个领域,也是ー个热门的研究领域。在永远在线系统中,包括AOG(AlwaysOnline Gateway,永远在线网关)和 AOE (Always Online Engine,永远在线引擎)。AOG网关是一个运行在移动互联网络上的永远在线平台。AOG网关对外提供两部分的接入,一边接入智能終端、另ー边接入应用服务,并且提供对这两部分接入实体之间消息的转发与控制。AOE是ー个运行在在智能手机终端上的通用软件模块,该模块作为程序安装在手机終端上,并在每次手机启动时自动后台运行该程序,主要提供对终端上应用的控制、管理、消息转发等功能。AOI系统称为永远在线系统,也就是说,終端ー开机,AOE就会建立一条连接到AOG平台,该连接将一直保持,这样相当于终端和平台通过该连接保持在线。由于终端一直在线,应用或平台只要有下发消息的需求,就可以随时随地通过长连接把消息下发到终端上。但在实际应用的情况下,却存在很多异常的情況。即使终端一开机就和AOG平台建立了连接,但很多情况下都会导致该连接异常或断开,例如无线信号不好,用户进入电梯或地下室等无服务区,用户长时间进行通话等,这些都会造成长连接的异常或断开。如果连接断开又不能及时恢复,这种情况下终端就不是长在线了,平台对急迫性很高的消息也无法及时下发到終端上。当前对这种连接异常的检测方法都是通过连接中的心跳消息检测。通过发送心跳消息以及检测心跳消息的回应,通过一定策略来判断这种连接是否正常。但存在的问题是,如果心跳检测消息间隔过长,则不能及时判断出连接异常;而心跳检测消息间隔过短,则会对网络,特别是无线侧,造成很大的网络冲击。

发明内容
本发明的目的在于提供一种移动互联网永远在线系统中保持长连接的实现方法及系统,能更好地解决永远在线系统中长连接的连接维持和重连的问题。根据本发明的ー个方面,提供了一种移动互联网永远在线系统中保持长连接的实现方法,包括:根据终端信号的检测结果或者普通消息的发送情况判断所述终端和永远在线网关AOG的连接是否异常; 如果异常,则重新建立所述终端与所述AOG之间的连接。
其中,根据终端信号的检测结果判断连接是否异常的步骤包括:如果终端的永远在线引擎AOE检测到终端从无信号状态到有信号状态或检测到终端开机或检测到AOE重启,则判定所述连接异常。其中,根据普通消息的发送情况判断连接是否异常的步骤包括:如果AOE向AOG发送普通消息时检测到所述AOE与所述AOG之间的连接不存在或者所述AOE向所述AOG多次发送普通消息但没有收到所述AOG的响应,则判定所述连接异常;或者,如果AOG向AOE发送普通消息时检测到所述AOG与所述AOE之间的连接不存在或者所述AOG向所述AOE多次发送普通消息但没有收到所述AOE的响应,所述AOG向所述AOE发送唤醒短信,所述AOE接收到所述唤醒短信,则判定所述连接异常。其中,重新建立所述终端与所述AOG之间的连接的步骤包括:所述终端对终端信号强弱进行判断,如果信号足以进行终端与AOG之间的连接,则所述终端向所述AOG发起连接请求,否则放弃本次连接请求。根据本发明的另一方面,提供了一种移动互联网永远在线系统中保持长连接的Α0Ε,包括:AOE连接异常判断模块,用于根据所述终端当前信号的检测结果或普通消息的发送情况判断AOE和AOG的连接是否异常;重连模块,用于在所述AOE连接异常判断模块判定连接异常时重新建立与AOG之间的连接。其中,所述AOE连接异常判断模块包括:信号检测单元,用于检测终端信号并根据检测结果判断AOE和AOG之间的连接是否异常;普通消息检测单元,用于根据普通消息的发送情况判断所述AOE和AOG之间的连接是否异常,如果AOE向AOG发送普通消息时检测到所述AOE与所述AOG之间的连接不存在或者AOE向所述AOG多次发送普通消息但没有收到所述AOG的响应,则判定AOE和AOG之间的连接异常。其中,所述信号检测单元包括:当前信号检测单元,用于在检测到终端从无信号状态到有信号状态时判定AOE和AOG之间的连接异常;事件检测单元,用于在检测到终端开机事件或AOE重启事件时判定AOE和AOG之间的连接异常。根据本发明的另一方面,提供了一种移动互联网永远在线系统中保持长连接的终端,包括:第5至7任一项发明的AOE。根据本发明的另一方面,提供了一种移动互联网永远在线系统中保持长连接的A0G,包括:AOG连接异常逻辑处理模块,用于根据普通消息的发送情况判断所述AOG和AOE之间的连接是否异常,如果AOG向AOE发送普通消息时检测到所述AOG与所述AOE之间的连接不存在或者AOG向AOE多次发送普通消息但没有收到所述AOE的响应,则判定所述AOG和所述AOE之间的连接异常;发送模块,用于在所述AOG连接异常逻辑处理模块检测到所述连接异常时向AOE发送唤醒短信,通知AOE重新建立与所述AOG之间的连接。根据本发明的另一方面,提供了一种移动互联网永远在线系统中保持长连接的系统,包括:A0E,用于根据終端信号的检测结果或者普通消息的发送情况判断所述终端和永远在线网关AOG的连接是否异常,如果异常,则重新建立所述AOE与所述AOG之间的连接;A0G,用于根据普通消息的发送情况判断所述AOG和AOE之间的连接是否异常,如果AOG向AOE发送普通消息时检测到所述AOG与所述AOE之间的连接不存在或者AOG向AOE多次发送普通消息但没有收到所述AOE的响应,则判定所述AOG和所述AOE之间的连接异常并向AOE发送唤醒短信,通知AOE重新建立与所述AOG之间的连接。其中,所述AOE包括:AOE连接异常判断模块,用于根据所述终端当前信号的检测结果或普通消息的发送情况判断AOE和AOG的连接是否异常,在AOE向AOG发送普通消息时检测到所述AOE与所述AOG之间的连接不存在或者AOE向所述AOG多次发送普通消息但没有收到所述AOG的响应时,则判定所述连接异常,在检测到终端开机事件或AOE重启事件时则判定所述连接异常,在检测到終端从无信号状态到有信号状态时则判定所述连接异常;重连模块,用于在所述AOE连接异常判断模块判定所述连接异常时重新建立与AOG之间的连接。与现有技术相比较,本发明的有益效果在于:一、从终端和平台两侧及时发现连接异常,并由终端尽快发起连接,保持終端和平台之间的长在线;ニ、不需要频繁的心跳包检测,不占用过多的网络资源;三、根据终端的信号情况来决定是否重连,不做不必要的尝试。


图1是本发明实施例提供的AOG向AOE发送唤醒短信的流程图;图2是本发明实施例提供的一种终端连接检测和重连处理方法的流程图;图3是本发明实施例提供的一种移动互联网永远在线系统AOS中保持长连接的系统结构示意图。
具体实施例方式以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。图1是本发明实施例提供的AOG向AOE发送唤醒短信的流程图,,如图1所示,所述方法包括:步骤S101,AOG向终端发送普通消息。AOG向终端发送普通消息A,并对消息A进行缓存。这里的普通消息是指用户使用移动互联网业务中的业务数据消息,例如用户通过手机上QQ聊天,那么这些聊天的内容就会构成ー个个数据包消息,这就是普通消息。步骤S102,判断普通消息的响应。
AOG向终端发送普通消息A后,如果该消息的响应是连接错误,说明连接已断,删除缓存的原消息A,执行步骤S107 ;如果响应是普通消息的正常响应,则删除缓存的原消息A,执行步骤S103 ;如果没有响应,则执行步骤S104。步骤S103,执行正常流程。按正常流程处理。此处是现有技术,不再赘述。步骤S104,设置定时器。步骤S105,定时器到时。步骤S106,判断发送消息的次数。到达定时器设定的时间后,AOG判断发送A消息的次数,如果小于η次,则重新发送A消息,并累加发送A消息的次数,执行步骤S101,否则,在重发了 η次,仍然没有消息A的响应消息返回,则确定该连接异常,执行步骤S107。步骤S107,向终端发送唤醒短信。AOG断开连接,发送唤醒短信给终端,并记录连接状态。后续发送给终端的其他普通消息,即使没有响应或者响应是连接错误,AOG也不再发送唤醒短信给终端,直到新连接
重新建立。步骤S108,终端接收到唤醒短信后,重新建立与AOG的连接。终端接收到唤醒消息后,判断终端和AOG是否已存在连接;如果不存在连接,则终端建立与AOG的连接;如果已存在连接,则终端向AOG发送连接检测消息,如果连接检测消息没有响应,则终端关闭已存在的连接,重新建立与AOG的连接。在整个流程中,需要注意的一点是,在消息A从发送到判断连接异常的期间,可能还发送了其他消息,如消息B,消息C,不管这些消息的响应消息是否返回,只要消息A的响应消息η次没返回,即认为连接异常。图2是本发明实施例提供的一种终端连接检测和重连处理方法,如图2所示,所述方法具体为:步骤S201,根据终端信号的检测结果或者普通消息的发送情况检测到连接异常。终端根据终端信号的检测结果或者普通消息的发送情况判断终端和AOG的连接是否异常。其中,终端根据终端信号的检测结果判断连接是否异常具体为:如果终端的AOE检测到终端从无信号状态到有信号状态或检测到终端开机或检测到AOE重启,则判定连接异常。检测信号从无到有是终端操作系统支持的一个功能,操作系统在检测到信号从无到有后,将通过事件的方式上报给上层应用程序,如Α0Ε,从而使AOE知道信号已经从无到有。其中,终端根据普通消息的发送情况判断连接是否异常具体为:如果AOE向AOG发送普通消息时检测到所述AOE与所述AOG之间的连接不存在即该普通消息的响应是连接错误,则判定连接异常;如果所述AOE向所述AOG多次发送普通消息但没有收到所述AOG的响应,则判定连接异常。另外,终端在接收到图1所示的AOG向AOE发送的唤醒短信时,也判定连接异常。终端如果检测到AOE和AOG之间的连接异常,则执行步骤S202。步骤S202,AOE在重连时对终端信号强弱进行判断。终端检测到连接异常后,首先对终端信号的强弱进行判断,如果终端的信号不足以进行重连,则执行步骤S203,否则执行步骤S204。步骤203,放弃本次连接请求。步骤S204,AOE向平台发起连接请求。AOE向AOG平台发起连接请求,如果连接建立成功,则结束本次重连,否则以一定时间为重连周期尝试重新连接,一旦连接成功,则此次重连周期結束。如果重连周期内感知到終端信号从无到有,则触发新的重连周期。如果超过重连周期,则等待新的上行普通消息触发重连。如果重连周期内有其他上行普通消息,不触发新的重连。重连周期内收到唤醒短信,不进行重连。图3是本发明实施例提供的一种移动互联网永远在线系统AOS中保持长连接的系统结构示意图,如图3所示,所示系统包括終端和AOG平台,其中終端上运行AOE及多个应用客户端,连接终端和AOG平台是移动互联网,其包括AOI DNS (Domain Name System,域名系统),AOG除了与終端相连外,还与多个应用服务相连。A0E,用于根据終端信号的检测结果或者普通消息的发送情况判断所述终端和永远在线网关AOG的连接是否异常,如果异常,则重新建立所述AOE与所述AOG之间的连接;A0G,用于根据普通消息的发送情况判断所述AOG和AOE之间的连接是否异常,如果AOG向AOE发送普通消息时检测到所述AOG与所述AOE之间的连接不存在或者AOG向AOE多次发送普通消息但没有收到所述AOE的响应,则判定所述AOG和所述AOE之间的连接异常并向AOE发送唤醒短信,通知AOE重新建立与所述AOG之间的连接。AOG包括AOG连接异常逻辑处理模块和发送模块。AOG连接异常逻辑处理模块通过普通消息的下发情况来判断当前连接是否异常,并在异常情况下,发送模块通过向終端发送唤醒短信的方式促使终端尽快新建立连接到AOG平台。其实现逻辑为:A0G平台向终端下发普通消息,AOG平台根据以下情况进行判断和处理:如果连接直接返回错误,表明连接异常,发送模块向终端AOE发起唤醒短信;如果下发消息后一定时间得不到响应,此时表明连接可能存在异常。为了进一歩的明确连接是否异常,需要按照一定的策略进行重试和判断,即对该消息报文,以一定间隔发送,如果连续n次都没有响应消息,则认为此时连接不正常,AOG平台向終端AOE发起唤醒短信,让AOE向平台重新发起连接。終端包括AOE,AOE用于根据終端信号的检测结果或者普通消息的发送情况判断所述终端和永远在线网关AOG的连接是否异常;如果异常,则重新建立所述终端与所述AOG之间的连接。AOE包括AOE连接异常判断模块和重连模块。其中,AOE连接异常判断模块用于根据所述終端当前信号的检测结果或普通消息的发送情况判断AOE和AOG的连接是否异常;重连模块,用于在所述AOE连接异常判断模块判定连接异常时重新建立与AOG之间的连接。从实际应用的角度看,重连模块在新发起连接时,应当对终端信号进行判断,只有在終端信号满足要求的情况下,才发起新的连接,否则等待一段时间后再进行重连。AOE连接异常判断模块包括信号检测单元和普通消息检测单元。信号检测单元,用于检测終端信号井根据检测结果判断AOE和AOG之间的连接是否异常。信号检测单元包括当前信号检测单元和事件检测单元。当前信号检测单元用于在检测到終端从无信号状态到有信号状态时判定AOE和AOG之间的连接异常;事件检测单元,用于在检测到终端开机事件或AOE重启事件时判定AOE和AOG之间的连接异常。
普通消息检测单元,用于根据普通消息的发送情况判断所述AOE和AOG之间的连接是否异常,如果AOE向AOG发送普通消息时检测到所述AOE与所述AOG之间的连接不存在或者AOE向所述AOG多次发送普通消息但没有收到所述AOG的响应,则判定AOE和AOG之间的连接异常。具体地说:Α0Ε向AOG发送普通消息后,如果是直接返回错误,表明连接肯定异常,则通知发送模块直接进行重连;如果发送普通消息后一定时间得不到响应,此时表明连接可能存在异常。为了进一步的明确连接是否异常,需要按照一定的策略进行重试和判断,即对该消息报文,以一定间隔发送,如果连续η次都没有响应消息,则认为此时连接不正常,关闭原连接,通知发送模块重新建立连接。普通消息检测单元还用于处理AOG平台发送过来的唤醒短信。如果AOE接收到AOG的唤醒短信后,则根据不同情况进行处理:如果目前AOE没有和平台建立连接,则通知重连模块新发起连接;如果AOE与平台的连接存在,此时表明有可能在唤醒短信的下发过程中,新的连接已经建立起来;或者是连接虽然存在,但是异常的。因此,AOE将发送一个连接检测消息,若未在超时时间内收到检测包回应,则关闭原连接,通知重连模块重新建立连接;如果收到检测包回应,表明当前连接正常,则不需要重新连接。综上所述,本发明通过采用终端信号检测和对普通消息发送的异常处理,来实现对连接的异常判断和重连处理,从而实现在不增加网络负担的情况下,让终端和平台保持长连接,为长在线业务提供连接保证。尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
权利要求
1.一种移动互联网永远在线系统AOS中保持长连接的实现方法,其特征在于,所述方法包括: 根据终端信号的检测结果或者普通消息的发送情况判断所述终端和永远在线网关AOG的连接是否异常; 如果异常,则重新建立所述终端与所述AOG之间的连接。
2.根据权利要求1所述的方法,其特征在于,根据终端信号的检测结果判断连接是否异常的步骤包括: 如果终端的永远在线引擎AOE检测到終端从无信号状态到有信号状态或检测到终端开机或检测到AOE重启,则判定所述连接异常。
3.根据权利要求1所述的方法,其特征在于,根据普通消息的发送情况判断连接是否异常的步骤包括: 如果AOE向AOG发送普通消息时检测到所述AOE与所述AOG之间的连接不存在或者所述AOE向所述AOG多次发送普通消息但没有收到所述AOG的响应,则判定所述连接异常;或者, 如果AOG向AOE发送普通消息时检测到所述AOG与所述AOE之间的连接不存在或者所述AOG向所述AOE多次发送普通消息但没有收到所述AOE的响应,所述AOG向所述AOE发送唤醒短信,所述AOE接收到所述唤醒短信,则判定所述连接异常。
4.根据权利要求1至3任一项所述的方法,其特征在于,重新建立所述终端与所述AOG之间的连接的步骤包括: 所述终端对终端信号强弱进行判断,如果信号足以进行終端与AOG之间的连接,则所述终端向所述AOG发起连接请求,否则放弃本次连接请求。
5.一种移动互联网永远在线系统AOS中保持长连接的A0E,其特征在于,所述AOE包括: AOE连接异常判断模块,用于根据所述终端当前信号的检测结果或普通消息的发送情况判断AOE和AOG的连接是否异常; 重连模块,用于在所述AOE连接异常判断模块判定连接异常时重新建立与AOG之间的连接。
6.根据权利要求5所述的A0E,其特征在于,所述AOE连接异常判断模块包括: 信号检测单元,用于检测終端信号井根据检测结果判断AOE和AOG之间的连接是否异常; 普通消息检测单元,用于根据普通消息的发送情况判断所述AOE和AOG之间的连接是否异常,如果AOE向AOG发送普通消息时检测到所述AOE与所述AOG之间的连接不存在或者AOE向所述AOG多次发送普通消息但没有收到所述AOG的响应,则判定AOE和AOG之间的连接异常。
7.根据权利要求6所述的A0E,其特征在于,所述信号检测单元包括: 当前信号检测单元,用于在检测到终端从无信号状态到有信号状态时判定AOE和AOG之间的连接异常; 事件检测单元,用于在检测到终端开机事件或AOE重启事件时判定AOE和AOG之间的连接异常。
8.一种移动互联网永远在线系统AOS中保持长连接的终端,其特征在于,所述终端包括权利要求5至7任一项所述的Α0Ε。
9.一种移动互联网永远在线系统AOS中保持长连接的A0G,其特征在于,所述AOG包括: AOG连接异常逻辑处理模块,用于根据普通消息的发送情况判断所述AOG和AOE之间的连接是否异常,如果AOG向AOE发送普通消息时检测到所述AOG与所述AOE之间的连接不存在或者AOG向AOE多次发送普通消息但没有收到所述AOE的响应,则判定所述AOG和所述AOE之间的连接异常; 发送模块,用于在所述AOG连接异常逻辑处理模块检测到所述连接异常时向AOE发送唤醒短信,通知AOE重新 建立与所述AOG之间的连接。
10.一种移动互联网永远在线系统AOS中保持长连接的系统,其特征在于,所述系统包括: Α0Ε,用于根据终端信号的检测结果或者普通消息的发送情况判断所述终端和永远在线网关AOG的连接是否异常,如果异常,则重新建立所述AOE与所述AOG之间的连接; A0G,用于根据普通消息的发送情况判断所述AOG和AOE之间的连接是否异常,如果AOG向AOE发送普通消息时检测到所述AOG与所述AOE之间的连接不存在或者AOG向AOE多次发送普通消息但没有收到所述AOE的响应,则判定所述AOG和所述AOE之间的连接异常并向AOE发送唤醒短信,通知AOE重新建立与所述AOG之间的连接。
11.根据权利要求10所述的系统,其特征在于,所述AOE包括: AOE连接异常判断模块,用于根据所述终端当前信号的检测结果或普通消息的发送情况判断AOE和AOG的连接是否异常,在AOE向AOG发送普通消息时检测到所述AOE与所述AOG之间的连接不存在或者AOE向所述AOG多次发送普通消息但没有收到所述AOG的响应时,则判定所述连接异常,在检测到终端开机事件或AOE重启事件时则判定所述连接异常,在检测到终端从无信号状态到有信号状态时则判定所述连接异常; 重连模块,用于在所述AOE连接异常判断模块判定所述连接异常时重新建立与AOG之间的连接。
全文摘要
本发明公开了一种AOS中保持长连接的方法、系统、AOE、AOG及终端,涉及移动互联网业务领域,所述方法包括根据终端信号的检测结果或者普通消息的发送情况判断所述终端和永远在线网关AOG的连接是否异常;如果异常,则重新建立所述终端与所述AOG之间的连接。本发明通过采用终端信号检测和对普通消息发送的异常处理,来实现对连接的异常判断和重连处理,从而实现在不增加网络负担的情况下,让终端和平台保持长连接,为长在线业务提供连接保证。
文档编号H04W24/04GK103139818SQ20111039609
公开日2013年6月5日 申请日期2011年12月2日 优先权日2011年12月2日
发明者苏勇 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1