探测游牧终端心跳周期的方法、系统、游牧终端与服务器的制造方法

文档序号:7986364阅读:170来源:国知局
探测游牧终端心跳周期的方法、系统、游牧终端与服务器的制造方法
【专利摘要】本公开涉及探测游牧终端心跳周期的方法、系统、游牧终端与应用服务器。其中,该方法包括游牧终端登录应用服务器时携带游牧终端的当前位置信息和心跳周期;接收应用服务器发起的心跳周期协商消息,在该消息中携带了网络侧初始的心跳周期,并将网络侧初始的心跳周期作为当前心跳周期;基于当前心跳周期向应用服务器发送心跳报文;接收到来自应用服务器的对应的心跳报文应答后,将心跳报文应答中携带的逐渐增大的心跳周期作为当前心跳周期来发送下一次心跳报文,直至接收不到来自应用服务器的心跳报文应答;将游牧终端最后一次发送的成功收到对应应答的心跳报文中携带的心跳周期作为协商后的心跳周期。本公开能够确定出与位置相关的较优的心跳周期。
【专利说明】探测游牧终端心跳周期的方法、系统、游牧终端与服务器
【技术领域】
[0001]本公开涉及游牧终端,特别地,涉及一种探测游牧终端心跳周期的方法、系统、游牧终端与应用服务器。
【背景技术】
[0002]在移动通信网络中,终端通过空中接口接入移动网络,最终接入应用服务器。移动通信网络和用户应用系统所在网络之间通常都存在防火墙类的设备,如图1所示。有的情况下,可能存在多个防火墙,且由不同的机构负责进行配置和管理。一般终端与应用之间基于UDP (UserDatagram Protocol,用户数据报文协议)开发协议,由于防火墙对UDP会话连接存在Idle Timer设置,如果在Idle Timer长度的这段时间内,终端和应用之间没有数据传输,则防火墙会将其保存的终端和应用之间的会话连接关闭,即,删除防火墙内的会话信息,从而造成应用和终端之间的双向UDP报文传输中断。
[0003]传统的解决方案是在终端和应用之间启用心跳机制,即终端以固定周期向应用发送心跳报文,从而能够在Idle Timer到期之前刷新防火墙中的会话连接信息,以继续保持防火墙中的这条会话连接信息,最终实现应用和终端之间的双向通信的保持。
[0004]存在大量的应用,诸如水文监测终端和排污口监控终端等游牧类终端接入移动通信网络,要么固定安放在一个地方,要么以游牧方式使用。通常的心跳周期设置方法,无论是人工在终端逐一设置还是网络在终端首次登录时下发,都是凭工程人员经验直接指定某个心跳周期值。同一类型的终端可能在多个地域进行部署,为了方便,往往采用各地适用心跳周期值中的最小值,这是最保险的方案,但不是较优的方案。这样方便了工程实施和管理,但是,在部分地区导致采用比当地适用值低得多的周期发送心跳,不必要地消耗了更多的空口资源,增加了终端的处理工作量。

【发明内容】

[0005]本公开鉴于以上问题中的至少一个提出了新的技术方案。
[0006]本公开在其一个方面提供了一种探测游牧终端心跳周期的方法,能够确定出与位置相关的较优的心跳周期。
[0007]本公开在其另一方面提供了一种游牧终端,能够确定出与位置相关的较优的心跳周期。
[0008]本公开在其又一方面提供了一种应用服务器,能够确定出与位置相关的较优的心跳周期。
[0009]本公开在其再一方面提供了一种探测游牧终端心跳周期的系统,能够确定出与位置相关的较优的心跳周期。
[0010]根据本公开,提供一种探测游牧终端心跳周期的方法,包括游牧终端登录应用服务器时携带游牧终端的当前位置信息和心跳周期;接收应用服务器发起的心跳周期协商消息,在该消息中携带了网络侧初始的心跳周期,并将网络侧初始的心跳周期作为游牧终端使用的当前心跳周期;基于当前心跳周期向应用服务器发送心跳报文,心跳报文中携带当前使用的心跳周期;接收到来自应用服务器的对应的心跳报文应答后,将心跳报文应答中携带的逐渐增大的心跳周期作为当前心跳周期来发送下一次心跳报文,直至接收不到来自应用服务器的心跳报文应答;将游牧终端最后一次发送的成功收到对应应答的心跳报文中携带的心跳周期作为协商后的心跳周期。
[0011]在本公开的一些实施例中,该方法还包括应用服务器根据游牧终端上报的心跳周期判断游牧终端是否为首次登录,如为首次登录,则通过发送心跳周期协商消息的方式与游牧终端执行心跳周期协商。
[0012]在本公开的一些实施例中,该方法还包括:在游牧终端再次登录应用服务器时,如应用服务器未记录与上报的游牧终端的当前位置信息对应的心跳周期,则将上报的心跳周期与上报的当前位置信息相关联并记录在应用服务器内;在游牧终端再次登录应用服务器时,如应用服务器记录有与上报的游牧终端的当前位置信息对应的心跳周期,则比较上报的心跳周期与记录的心跳周期是否相同,如不同,则将应用服务器上记录的与上报的当前位置信息对应的心跳周期发送至游牧终端。
[0013]在本公开的一些实施例中,该方法还包括:应用服务器根据游牧终端上报的心跳周期判断游牧终端是否为首次登录;如为首次登录,则判断应用服务器上是否记录了与上报的游牧终端的当前位置信息对应的心跳周期;如未记录,则通过发送心跳周期协商消息的方式与游牧终端执行心跳周期协商,否则,直接将记录的与上报的游牧终端的当前位置信息对应的心跳周期发送至游牧终端。
[0014]在本公开的一些实施例中,该方法还包括:应用服务器判断登录的游牧终端是否为同一位置处最先登录的前M个游牧终端;如果是,则通过发送心跳周期协商消息的方式与游牧终端执行心跳周期协商,否则,将直接将记录的与上报的游牧终端的当前位置信息对应的心跳周期发送至游牧终端;在M个游牧终端均完成心跳周期协商后,选取协商后的M个心跳周期中的最大值记录为与上报的同一位置相对应的心跳周期。
[0015]在本公开的一些实施例中,在游牧终端处于CDMA IX网络下时,游牧终端的当前位置信息为系统识别码SID或SID与网络识别码NID的组合。
[0016]在本公开的一些实施例中,该方法还包括:如果游牧终端在发送心跳报文后的单个报文超时时间内未收到来自应用服务器的心跳报文应答,则进行心跳报文的重发,直至收到心跳报文应答或达到设定重发次数。
[0017]在本公开的一些实施例中,基于单个报文超时时间和重传次数更新协商后的心跳周期。
[0018]根据本公开,还提供了一种游牧终端,包括登录单元,用于登录应用服务器,并在登录时携带游牧终端的当前位置信息和心跳周期;协商消息接收单元,用于接收应用服务器发起的心跳周期协商消息,在该消息中携带了网络侧初始的心跳周期,并将网络侧初始的心跳周期作为当前心跳周期;心跳周期协商单元,用于基于当前心跳周期向应用服务器发送心跳报文,心跳报文中携带当前使用的心跳周期,接收到来自应用服务器的对应的心跳报文应答后,将心跳报文应答中携带的逐渐增大的心跳周期作为当前心跳周期来发送下一次心跳报文,直至接收不到来自应用服务器的心跳报文应答;心跳周期确定单元,用于将游牧终端最后一次发送的成功收到对应应答的心跳报文中携带的心跳周期作为协商后的心跳周期。
[0019]在本公开的一些实施例中,在游牧终端处于CDMA IX网络下时,游牧终端的当前位置信息为系统识别码SID或SID与网络识别码NID的组合。
[0020]在本公开的一些实施例中,该游牧终端还包括:报文重发单元,用于如果游牧终端在发送心跳报文后的单个报文超时时间内未收到来自应用服务器的心跳报文应答,则进行心跳报文的重发,直至收到心跳报文应答或达到设定重发次数。
[0021]在本公开的一些实施例中,基于单个报文超时时间和重传次数更新协商后的心跳周期。
[0022]根据本公开,还提供了一种应用服务器,包括登录信息接收单元,用于接收游牧终端登录时携带的游牧终端的当前位置信息和心跳周期;协商消息发送单元,用于向游牧终端发送心跳周期协商消息,在该消息中携带了网络侧初始的心跳周期;应答发送单元,用于在接收到心跳报文后向游牧终端发送心跳应答,在心跳应答中携带逐渐增大的当前心跳周期,直至接收不到来自游牧终端的心跳报文;心跳周期关联单元,用于将连接中止后游牧终端再次登录时上报的心跳周期与游牧的当前位置信息相关联。
[0023]在本公开的一些实施例中,该应用服务器还包括:第一判断单元,用于根据游牧终端上报的心跳周期判断游牧终端是否为首次登录,如为首次登录,则通过发送心跳周期协商消息的方式与游牧终端执行心跳周期协商。
[0024]在本公开的一些实施例中,该应用服务器还包括:心跳周期比较单元,用于在游牧终端再次登录时,如应用服务器记录有与上报的游牧终端的当前位置信息对应的心跳周期,则比较上报的心跳周期与记录的心跳周期是否相同,如不同,则将应用服务器上记录的与上报的当前位置信息对应的心跳周期发送至游牧终端。
[0025]在本公开的一些实施例中,该应用服务器还包括:第二判断单元,用于判断登录的游牧终端是否为同一位置处最先登录的前M个游牧终端,如果是,则通过发送心跳周期协商消息的方式与游牧终端执行心跳周期协商,否则,将直接将记录的与上报的游牧终端的当前位置信息对应的心跳周期发送至游牧终端;心跳周期选取单元,用于在M个游牧终端均完成心跳周期协商后,选取协商后的M个心跳周期中的最大值记录为与上报的同一位置相对应的心跳周期。
[0026]根据本公开,还提供了一种探测游牧终端心跳周期的系统,包括前述实施例中的游牧终端和前述实施例中的应用服务器,其中游牧终端通过移动网络/无线网络与应用服务器交互。
[0027]通过本公开的技术方案,使得游牧终端能够以网络侧的心跳周期初始值开始发送心跳报文,在接收到心跳报文应答后逐渐增加心跳周期的长度,尝试与应用服务器进行心跳交互,直至游牧终端与应用服务器之间的连接中止。此时,将游牧终端最后一次发送的成功收到对应应答的心跳报文中携带的心跳周期作为协商后的心跳周期。这种根据游牧终端接入位置的不同而探测出的优化后的心跳周期能够显著降低由于以不恰当的较快频次发送心跳报文而导致的网络流量增加、网络负荷增大以及终端耗电增大等情况的发生。
【专利附图】

【附图说明】
[0028]此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分。在附图中:
[0029]图1示出了移动通信网络中防火墙所处位置的示意图。
[0030]图2是根据本公开的一个实施例的探测游牧终端心跳周期的方法的流程示意图。
[0031]图3是根据本公开的另一实施例的探测游牧终端心跳周期的方法的流程示意图。
[0032]图4是本公开心跳周期自动探测机制示意图。
[0033]图5是根据本公开的又一实施例的探测游牧终端心跳周期的方法的流程示意图。
[0034]图6a是本公开实施例中考虑到心跳报文传输时延的极端情况下的心跳周期计算调整方法相关的不意图。
[0035]图6b是基于图6a所述方法在终端最后三次发送心跳报文的示意图。
[0036]图7是根据本公开的再一实施例的探测游牧终端心跳周期的方法的流程示意图。
[0037]图8是根据本公开一个实施例的游牧终端的结构示意图。
[0038]图9是根据本公开另一实施例的游牧终端的结构示意图。
[0039]图10是根据本公开一个实施例的应用服务器的结构示意图。
[0040]图11是根据本公开另一实施例的应用服务器的结构示意图。
[0041]图12是根据本公开又一实施例的应用服务器的结构示意图。
[0042]图13是根据本公开再一实施例的应用服务器的结构示意图。
[0043]图14是根据本公开一个实施例的探测游牧终端心跳周期的系统的结构示意图。
【具体实施方式】
[0044]下面将参照附图描述本公开。要注意的是,以下的描述在本质上仅是解释性和示例性的,决不作为对本公开及其应用或使用的任何限制。除非另外特别说明,否则,在实施例中阐述的部件和步骤的相对布置以及数字表达式和数值并不限制本公开的范围。另外,本领域技术人员已知的技术、方法和装置可能不被详细讨论,但在适当的情况下意在成为说明书的一部分。
[0045]本公开下述实施例针对移动通信网络环境下使用UDP协议的游牧终端,通过发送心跳报文与接收心跳报文应答的自动探测方式可以获得较准确的与游牧终端位置相关联的心跳周期。
[0046]图2是根据本公开的一个实施例的探测游牧终端心跳周期的方法的流程示意图。
[0047]如图2所示,该实施例可以包括以下步骤:
[0048]S202,游牧终端登录应用服务器时携带游牧终端的当前位置信息和心跳周期;
[0049]S204,接收应用服务器发起的心跳周期协商消息,在该消息中携带了网络侧初始的心跳周期,并将网络侧初始的心跳周期作为当前心跳周期,例如,网络侧初始的心跳周期可以为30秒;
[0050]S206,基于自心跳周期协商消息中获取的当前心跳周期向应用服务器发送心跳报文,心跳报文中携带当前使用的心跳周期;
[0051]S208,接收到来自应用服务器的对应的心跳报文应答后,将心跳报文应答中携带的逐渐增大的心跳周期作为当前心跳周期来发送下一次心跳报文,直至接收不到来自应用服务器的心跳报文应答,利用这种方式可以自动探测到在游牧终端的当前位置处能够支持的最大可用心跳周期;[0052]其中,可以采用相同步长的方式逐渐递增当前心跳周期,例如,该步长可以为10秒,由于在心跳周期递增的过程中,该心跳周期值越来越接近最优值,因此也可以采用逐渐缩小步长的方式逐渐递增当前心跳周期,这样,一方面可以加快优化心跳周期的收敛速度,另一方面也可以使协商后的心跳周期更接近较优的心跳周期;
[0053]S210,将游牧终端最后一次发送的成功收到对应应答的心跳报文中携带的心跳周期作为协商后的心跳周期。
[0054]该实施例使得游牧终端能够以网络侧的心跳周期初始值开始发送心跳报文,在接收到心跳报文应答后逐渐增加心跳周期的长度,尝试与应用服务器进行心跳交互,直至游牧终端与应用服务器之间的连接中止。此时,将游牧终端最后一次发送的成功收到对应应答的心跳报文中携带的心跳周期作为协商后的心跳周期。这种根据游牧终端接入位置的不同而探测出的优化后的心跳周期能够显著降低由于以不恰当的较快频次发送心跳报文而导致的网络流量增加、网络负荷增大以及终端耗电增大等情况的发生。
[0055]在步骤S210之后,在游牧终端再次登录应用服务器时,如应用服务器未记录与上报的游牧终端的当前位置信息对应的心跳周期,则将上报的心跳周期与上报的当前位置信息相关联并记录在应用服务器内,使得与该游牧终端位置相同的其他游牧终端登录时无需再对相同的位置进行重复的心跳周期协商;如应用服务器记录有与上报的游牧终端的当前位置信息对应的心跳周期,则比较上报的心跳周期与记录的心跳周期是否相同,由于应用服务器相对游牧终端侧稳定度高,因此如两者不同,则将应用服务器上记录的与上报的当前位置信息对应的心跳周期发送至游牧终端,以防止游牧终端侧的心跳周期被误改,如两者相同,则应用服务器在应答中无需再包含心跳周期。
[0056]图3是根据本公开的另一实施例的探测游牧终端心跳周期的方法的流程示意图。
[0057]如图3所示,该实施例可以包括以下步骤:
[0058]S302,游牧终端登录应用服务器时携带游牧终端的当前位置信息和心跳周期。
[0059]S304,应用服务器根据游牧终端上报的心跳周期判断游牧终端是否为首次登录,其中,首次登录存在两种情况,一种是游牧终端第一次使用时的首次登录,另一种是游牧终端检测到自身位置发生了改变时执行的首次登录。如为首次登录,则通过发送心跳周期协商消息的方式与游牧终端执行心跳周期协商,具体的协商过程可以参见图2所示实施例中的步骤S204至步骤S210 ;
[0060]其中,游牧终端一般通过比较本地记录的位置信息和从移动网络空中接口广播的当前小区的位置信息进行比较,从而发现其自身是否位于一个新的位置,需要再次执行首次登录。
[0061]其中,应用服务器可以根据登录时心跳周期字段的标识来判断是否为首次登录,例如,当该标识为O或负数时,可以确定该游牧终端为首次登录,否认,如该字段中的标识为大于O的正整数时,则可以确定该游牧终端为非首次登录。
[0062]如图4所示,游牧终端首次登录,携带当前位置信息和心跳周期(设为O)。应用服务器发现终端的当前心跳周期为0,可以识别出该游牧终端是首次登录,则下发网络侧初始心跳周期X1,并告知游牧终端启动心跳周期协商过程。
[0063]游牧终端收到应用服务器的应答后,使用心跳周期X1下发下一个心跳报文,应用服务器收到后在应答中下发下一个心跳周期值X2 = Xi+Y。[0064]游牧终端收到应答后,使用心跳周期X2下发下一个心跳报文,应用服务器收到后在应答中下发下一个心跳周期值X3 = X2+Y。
[0065]若游牧终端发现其发送心跳报文后未收到应用服务器的应答,则游牧终端将心跳周期设置为xN-1。(假设游牧终端当前使用的心跳周期为χΝ)。
[0066]游牧终端在下一次登录时告知应用服务器两者之间采用Xim作为心跳周期。
[0067]上述心跳周期协商过程的核心在于采用心跳自动探测机制寻求优化的心跳周期,既可以采用每次以固定长度为单位进行增长的模式,也可以采用增长幅度变长的模式。
[0068]例如,固定步长算法:
[0069]X,X+Y, X+2Y, X+3Y, X+4Y, X+5Y,…
[0070]可变步长算法:
[0071 ] X,X+Y, X+Y+Y/2, X+Y+Y, X+2Y+Y/3, X+2Y+2Y/3, X+3Y,
[0072]X+3Y+Y/4,...。
[0073]在该实施例中,通过上述流程获得较优的心跳周期,则可以降低应用服务器与游牧终端之间网络流量,并降低终端的耗电量。
[0074]图5是根据本公开的又一实施例的探测游牧终端心跳周期的方法的流程示意图。
[0075]如图5所示,该实施例可以包括以下步骤:·[0076]S502,应用服务器根据游牧终端上报的心跳周期判断游牧终端是否为首次登录;
[0077]S504,如为首次登录,则判断应用服务器上是否记录了与上报的游牧终端的当前位置信息对应的心跳周期;
[0078]S506,如未记录,则通过发送心跳周期协商消息的方式与游牧终端执行心跳周期协商,具体的协商过程可以参见图2所示实施例中的步骤S204至步骤S210,否则,直接将记录的与上报的游牧终端的当前位置信息对应的心跳周期发送至游牧终端;
[0079]在该实施例中,即使游牧终端为首次登录,如果应用服务器记录有上报的游牧终端的当前位置信息对应的心跳周期,则该首次登录的游牧终端也无需再对该当前位置执行新的心跳周期协商,以节省系统资源。
[0080]在上述实施例中,如果游牧终端在发送心跳报文后的单个报文超时时间F到达时仍未收到来自应用服务器的心跳报文应答,则应立即重发心跳报文,直至在超时时间F内收到心跳报文应答或达到事先设定的最大重发次数C,如果重发C次后仍未收到心跳报文应答,则确认本次心跳报文发送失败。其中超时时间F可设置为5秒,最大重发次数可设置为2。
[0081]需要指出的是,在采用重传机制后,在确定协商后的心跳周期时还需考虑重传次数以及传输时延的影响。因此,可以基于单个报文超时时间(即,最大传输时延)和重传次数更新协商后的心跳周期的值。
[0082]例如,心跳报文未通过重传实现了心跳周期的协商后,游牧终端与应用服务器之间真正的心跳周期为图2所示实施例中的协商后的心跳周期再减去单个报文的最大传输时延,即,Xim-F。
[0083]接下来通过图6a和图6b对协商后的心跳周期进行修正的方法进行详细说明。
[0084]图6a是本公开实施例中考虑到心跳报文传输时延的极端情况下的心跳周期计算调整方法相关的不意图。[0085]如图6a所示,在心跳协商过程中,如终端在第1-Ι次使用X^1为心跳周期且重发D次心跳报文后成功收到心跳应答,终端在第i次使用Xi为周期且重发E次心跳报文后成功收到心跳应答,则Yi=X1-(D-1) XF,终端记录的当前协商后的心跳周期应为Zi=Max(Yi, Yb)。当终端使用XnS周期发送心跳报文多次未收到应答报文时,本次协商过程中止,协商的结果是心跳周期为Zim,而不是最初的XN_lt)也就是说,终端以后登录应用服务器后,应每隔Zim- (C+l) XF发送心跳报文以为可能发生的正常报文重传预留出(C+l) XF时长,应用服务器若在Zim周期内未收到终端的心跳报文,则认为连接中断。其中,一般情况下,应用服务器在心跳协商过程中,首次下发的心跳周期值X1应满足X1) (C+l) X F。
[0086]图6b是基于图6a所述方法在终端最后三次发送心跳报文的示意图。
[0087]如图6b所示,与图6a不同的是,图6b示出了最后两次,即,第N — 2次和第N —I次成功发送心跳报文的情形。这两次对应的修正后的心跳周期分别为YN —2和¥卜i。由于终端在第N次发送心跳报文时经C次重发均未收到应用服务器发送的应答,导致终端与应用服务器连接中止,因此,终端将YN — 2和YN — i中的最大值作为进行协商且修正后的心跳周期,在终端再次在登录应用服务器时向应用服务器上报Yn — 2和Yn — i中的最大值。
[0088]针对某个位置首次登录应用服务器的游牧终端,可能由于链路不稳定等各种因素导致其在确定协商后的心跳周期时发生了重传,并且在到达防火墙之前重传的心跳报文全部丢失,这种情况在一定程度上影响了与该位置对应的心跳周期的准确性,因此,接下来通过图7中的统计方法进一步提高协商后的心跳周期的准确性。
[0089]图7是根据本公开的再一实施例的探测游牧终端心跳周期的方法的流程示意图。
[0090]如图7所示,该实施例可以包括以下步骤:
[0091]S702,应用服务器判断登录的游牧终端是否为同一位置处最先登录的前M个游牧终端,其中,位置是否相同是根据移动通信网络的结构而定的,只有游牧终端与应用服务器所经过的通信链路经过的防火墙设备未发生变化,则可以认为是位置相同,例如,位于一个地级市的游牧终端可以是位置相同的游牧终端,甚至在某些情况下位于一个省内的游牧终端,也可能是位置相同的游牧终端,这取决于防火墙在网络的实际部署情况。以CDMA IX网络为例,采用SID与NID的组合一般就能够区别出符合上述特征的“不同位置”。
[0092]S704,如果是,则不管该游牧终端是否为首次登录,均通过发送心跳周期协商消息的方式与游牧终端执行心跳周期协商,具体的协商过程可以参见图2所示实施例中的步骤S204至步骤S210,否则,直接将记录的与上报的游牧终端的当前位置信息对应的心跳周期发送至游牧终端;
[0093]需要指出的是,在步骤S704中,如需执行心跳周期的协商,可以进一步判断,某次登录是否为在这个位置的首次登录,如是首次登录,则根据应用服务器下发的网络侧的初始心跳周期开始进行协商,如该次登录不是在这个位置的首次登录,一方面可以基于网络侧的初始心跳周期开始协商,另一方面,为了提高协商速度,也可以基于应用服务器上已记录的相同位置对应的最大心跳周期开始协商,这样可以显著提高协商速度。
[0094]S706,在M个游牧终端均完成心跳周期协商后,选取协商后的M个心跳周期中的最大值记录为与上报的同一位置相对应的心跳周期,以备后续在同一位置登录的其他游牧终端使用,或者在这M个 游牧终端再次登录时,将上报的心跳周期与应用服务器中记录的心跳周期进行比较,如不同,则将统计意义上更准确的心跳周期值发送值游牧终端。[0095]该实施例可以将某个游牧终端在协商过程中心跳报文重传全部丢失的极端情形对心跳周期的影响降至最低。
[0096]在上述实施例中,在游牧终端处于CDMA IX网络下时,游牧终端的当前位置信息可以为 SID (System Identification,系统识别码)、或 SID 与 NID (NetworkIdentification,网络识别码)的组合,需要指出的是SID与NID的组合方式比单独利用SID来标识位置信息更准确。
[0097]以下以CDMA IX网络中的终端为例进行说明。
[0098]CDMA IX 终端可以获得 BSID (Base Station Identity code,基站识别码)信息,其中,BSID由SID、NID和Base Station ID组成。CDMAlX终端在登录应用服务器时,携带上述信息。应用服务器可以以SID或SID + NID为维度来记录对应的协商后的心跳周期数据。当应用服务器发现CDMA IX终端上报的位置信息对应已经有优化的心跳周期数据记录时,则直接通知CDMA IX终端采用此数据作为今后的心跳周期长度。当应用服务器发现终端上报的位置信息对应没有心跳周期数据记录时,应用服务器和CDMA IX终端启动心跳周期协商流程。
[0099]本领域普通技术人员可以理解,实现上述方法实施例的全部和部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算设备可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤,而前述的存储介质可以包括ROM、RAM、磁碟和光盘等各种可以存储程序代码的介质。
[0100]图8是根据本公开一个实施例的游牧终端的结构示意图。
[0101 ] 如图8所示,该实施例中的游牧终端80可以包括登录单元802、协商消息接收单元804、心跳周期协商单元806和心跳周期确定单元808。其中,
[0102]登录单元802,用于登录应用服务器,并在登录时携带游牧终端的当前位置信息和心跳周期;
[0103]协商消息接收单元804,用于接收应用服务器发起的心跳周期协商消息,在该消息中携带了网络侧初始的心跳周期,并将网络侧初始的心跳周期作为当前心跳周期;
[0104]心跳周期协商单元806,用于基于当前心跳周期向应用服务器发送心跳报文,心跳报文中携带当前使用的心跳周期,在接收到来自应用服务器的对应的心跳报文应答后,将心跳报文应答中携带的逐渐增大的心跳周期作为当前心跳周期来发送下一次心跳报文,直至接收不到来自应用服务器的心跳报文应答;
[0105]心跳周期确定单元808,用于将游牧终端最后一次发送的成功收到对应应答的心跳报文中携带的心跳周期作为协商后的心跳周期。
[0106]该实施例使得游牧终端能够以网络侧的心跳周期初始值开始发送心跳报文,在接收到心跳报文应答后逐渐增加心跳周期的长度,尝试与应用服务器进行心跳交互,直至游牧终端与应用服务器之间的连接中止。此时,将游牧终端最后一次发送的成功收到对应应答的心跳报文中携带的心跳周期作为协商后的心跳周期。这种根据游牧终端接入位置的不同而探测出的优化后的心跳周期能够显著降低由于以不恰当的较快频次发送心跳报文而导致的网络流量增加、网络负荷增大以及终端耗电增大等情况的发生。
[0107]可选地,在游牧终端处于CDMA IX网络下时,游牧终端的当前位置信息可以为系统识别码SID或为SID与网络识别码NID的组合。[0108]图9是根据本公开另一实施例的游牧终端的结构示意图。
[0109]如图9所示,与图8中的实施例相比,该实施例中的游牧终端90还可以包括报文重发单元902,用于如果游牧终端在发送心跳报文后的单个报文超时时间内未收到来自应用服务器的心跳报文应答,则进行心跳报文的重发,直至收到心跳报文应答或达到设定重发次数。
[0110]其中,可以基于单个报文超时时间和重传次数更新协商后的心跳周期。
[0111]图10是根据本公开一个实施例的应用服务器的结构示意图。
[0112]如图10所示,该实施例中的应用服务器100可以包括登录信息接收单元1002、协商消息发送单元1004、应答发送单元1006和心跳周期关联单元1008。其中,
[0113]登录信息接收单元1002,用于接收游牧终端登录时携带的游牧终端的当前位置信息和心跳周期;
[0114]协商消息发送单元1004,用于向游牧终端发送心跳周期协商消息,在该消息中携带了网络侧初始的心跳周期;
[0115]应答发送单元1006,用于在接收到心跳报文后向游牧终端发送心跳应答,在心跳应答中携带逐渐增大的当前心跳周期,直至接收不到来自游牧终端的心跳报文;
[0116]心跳周期关联单元1008,用于将连接中止后游牧终端再次登录时上报的心跳周期与游牧的当前位置信息相关联。
[0117]该实施例使得游牧终端能够以网络侧的心跳周期初始值开始发送心跳报文,在接收到心跳报文应答后逐渐增加心跳周期的长度,尝试与应用服务器进行心跳交互,直至游牧终端与应用服务器之间的连接中止。此时,将游牧终端最后一次发送的成功收到对应应答的心跳报文中携带的心跳周期作为协商后的心跳周期。这种根据游牧终端接入位置的不同而探测出的优化后的心跳周期能够显著降低由于以不恰当的较快频次发送心跳报文而导致的网络流量增加、网络负荷增大以及终端耗电增大等情况的发生。
[0118]图11是根据本公开另一实施例的应用服务器的结构示意图。
[0119]如图11所示,与图10中的实施例相比,该实施例中的应用服务器110还可以包括第一判断单元1102,用于根据游牧终端上报的心跳周期判断游牧终端是否为首次登录,如为首次登录,则通过发送心跳周期协商消息的方式与游牧终端执行心跳周期协商。
[0120]图12是根据本公开又一实施例的应用服务器的结构示意图。
[0121]如图12所示,与图10中的实施例相比,该实施例中的应用服务器120还可以包括心跳周期比较单元1202,用于在游牧终端再次登录时,如应用服务器记录有与上报的游牧终端的当前位置信息对应的心跳周期,则比较上报的心跳周期与记录的心跳周期是否相同,如不同,则将应用服务器上记录的与上报的当前位置信息对应的心跳周期发送至游牧终端。
[0122]图13是根据本公开再一实施例的应用服务器的结构示意图。
[0123]如图13所示,与图10中的实施例相比,该实施例中的应用服务器130还可以包括第二判断单元1302和心跳周期选取单元1304。其中,
[0124]第二判断单元1302,用于判断登录的游牧终端是否为同一位置处最先登录的前M个游牧终端,如果是,则通过发送心跳周期协商消息的方式与游牧终端执行心跳周期协商,否则,将直接将记录的与上报的游牧终端的当前位置信息对应的心跳周期发送至游牧终端;
[0125]心跳周期选取单元1304,用于在M个游牧终端均完成心跳周期协商后,选取协商后的M个心跳周期中的最大值记录为与上报的同一位置相对应的心跳周期。
[0126]图14是根据本公开一个实施例的探测游牧终端心跳周期的系统的结构示意图。
[0127]如图14所示,该实施例中的系统140可以包括游牧终端1402和应用服务器1404,其中,游牧终端1402通过移动网络/无线网络与应用服务器1404交互,游牧终端1402可以通过图8或图9所示的实施例实现,应用服务器1404可以通过图10-图13中任一实施例的方式实现。
[0128]本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同和相似的部分可以相互参见。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处可以参见方法实施例部分的说明。
[0129]本公开上述实施例可以根据接入位置的不同为相应游牧终端探测到优化的心跳周期,从而能够降低由于以不恰当的较快频次发送心跳报文而导致的网络流量与网络负荷的增大和终端耗电增大的情形的发生。
[0130]虽然已参照示例性实施例描述了本公开,但应理解,本公开不限于上述的示例性实施例。对于本领域技术人员显然的是,可以在不背离本公开的范围和精神的条件下修改上述的示例性实施例。所附的权利要求的范围应被赋予最宽的解释,以包含所有这样的修改以及等同的结构和功能。
【权利要求】
1.一种探测游牧终端心跳周期的方法,其特征在于,包括: 游牧终端登录应用服务器时携带所述游牧终端的当前位置信息和心跳周期; 接收所述应用服务器发起的心跳周期协商消息,在该消息中携带了网络侧初始的心跳周期,并将所述网络侧初始的心跳周期作为当前心跳周期; 基于所述当前心跳周期向所述应用服务器发送心跳报文,心跳报文中携带当前使用的心跳周期; 接收到来自所述应用服务器的对应的心跳报文应答后,将所述心跳报文应答中携带的逐渐增大的心跳周期作为当前心跳周期来发送下一次心跳报文,直至接收不到来自所述应用服务器的心跳报文应答; 将游牧终端最后一次发送的成功收到对应应答的心跳报文中携带的心跳周期作为协商后的心跳周期。
2.根据权利要求1所述的探测游牧终端心跳周期的方法,其特征在于,所述方法还包括: 所述应用服务器根据所述游牧终端上报的心跳周期判断所述游牧终端是否为首次登录,如为首次登录,则通过发送所述心跳周期协商消息的方式与所述游牧终端执行心跳周期协商。
3.根据权利要求1或2所述的探测游牧终端心跳周期的方法,其特征在于,所述方法还包括: 在所述游牧终端再次·登录所述应用服务器时,如所述应用服务器未记录与上报的所述游牧终端的当前位置信息对应的心跳周期,则将上报的心跳周期与上报的当前位置信息相关联并记录在所述应用服务器内; 在所述游牧终端再次登录所述应用服务器时,如所述应用服务器记录有与上报的所述游牧终端的当前位置信息对应的心跳周期,则比较上报的心跳周期与记录的心跳周期是否相同,如不同,则将所述应用服务器上记录的与上报的当前位置信息对应的心跳周期发送至所述游牧终端。
4.根据权利要求1所述的探测游牧终端心跳周期的方法,其特征在于,所述方法还包括: 所述应用服务器根据所述游牧终端上报的心跳周期判断所述游牧终端是否为首次登录; 如为首次登录,则判断所述应用服务器上是否记录了与上报的所述游牧终端的当前位置信息对应的心跳周期; 如未记录,则通过发送所述心跳周期协商消息的方式与所述游牧终端执行心跳周期协商,否则,直接将记录的与上报的所述游牧终端的当前位置信息对应的心跳周期发送至所述游牧终端。
5.根据权利要求1所述的探测游牧终端心跳周期的方法,其特征在于,所述方法还包括:所述应用服务器判断登录的游牧终端是否为同一位置处最先登录的前M个游牧终端;如果是,则通过发送所述心跳周期协商消息的方式与所述游牧终端执行心跳周期协商,否则,直接将记录的与上报的所述游牧终端的当前位置信息对应的心跳周期发送至所述游牧终端; 在所述M个游牧终端均完成心跳周期协商后,选取协商后的M个心跳周期中的最大值记录为与上报的同一位置相对应的心跳周期。
6.根据权利要求1所述的探测游牧终端心跳周期的方法,其特征在于,在所述游牧终端处于CDMA IX网络下时,所述游牧终端的当前位置信息为系统识别码SID或SID与网络识别码NID的组合。
7.根据权利要求1所述的探测游牧终端心跳周期的方法,其特征在于,所述方法还包括: 如果所述游牧终端在发送心跳报文后的单个报文超时时间内未收到来自所述应用服务器的心跳报文应答,则进行心跳报文的重发,直至收到心跳报文应答或达到设定重发次数。
8.根据权利要求7所述的探测游牧终端心跳周期的方法,其特征在于,基于所述单个报文超时时间和重传次数更新所述协商后的心跳周期。
9.一种游牧终端,其特征在于,包括: 登录单元,用于登录应用服务器,并在登录时携带所述游牧终端的当前位置信息和心跳周期; 协商消息接收单元,用于接收所述应用服务器发起的心跳周期协商消息,在该消息中携带了网络侧初始的心跳周期,并将所述网络侧初始的心跳周期作为当前心跳周期;· 心跳周期协商单元,用于基于所述当前心跳周期向所述应用服务器发送心跳报文,心跳报文中携带当前使用的心跳周期,接收到来自所述应用服务器的对应的心跳报文应答后,将所述心跳报文应答中携带的逐渐增大的心跳周期作为当前心跳周期来发送下一次心跳报文,直至接收不到来自所述应用服务器的心跳报文应答; 心跳周期确定单元,用于将游牧终端最后一次发送的成功收到对应应答的心跳报文中携带的心跳周期作为协商后的心跳周期。
10.根据权利要求9所述的游牧终端,其特征在于,在所述游牧终端处于CDMAIX网络下时,所述游牧终端的当前位置信息为系统识别码SID或SID与网络识别码NID的组合。
11.根据权利要求9所述的游牧终端,其特征在于,所述游牧终端还包括: 报文重发单元,用于如果所述游牧终端在发送心跳报文后的单个报文超时时间内未收到来自所述应用服务器的心跳报文应答,则进行心跳报文的重发,直至收到心跳报文应答或达到设定重发次数。
12.根据权利要求11所述的游牧终端,其特征在于,基于所述单个报文超时时间和重传次数更新所述协商后的心跳周期。
13.一种应用服务器,其特征在于,包括: 登录信息接收单元,用于接收所述游牧终端登录时携带的所述游牧终端的当前位置信息和心跳周期; 协商消息发送单元,用于向所述游牧终端发送心跳周期协商消息,在该消息中携带了网络侧初始的心跳周期; 应答发送单元,用于在接收到心跳报文后向所述游牧终端发送心跳应答,在所述心跳应答中携带逐渐增大的当前心跳周期,直至接收不到来自所述游牧终端的心跳报文;心跳周期关联单元,用于将连接中止后所述游牧终端再次登录时上报的心跳周期与所述游牧的当前位置信息相关联。
14.根据权利要求13所述的应用服务器,其特征在于,所述应用服务器还包括: 第一判断单元,用于根据所述游牧终端上报的心跳周期判断所述游牧终端是否为首次登录,如为首次登录,则通过发送所述心跳周期协商消息的方式与所述游牧终端执行心跳周期协商。
15.根据权利要求13所述的应用服务器,其特征在于,所述应用服务器还包括: 心跳周期比较单元,用于在所述游牧终端再次登录时,如所述应用服务器记录有与上报的所述游牧终端的当前位置信息对应的心跳周期,则比较上报的心跳周期与记录的心跳周期是否相同,如不同,则将所述应用服务器上记录的与上报的当前位置信息对应的心跳周期发送至所述游牧终端。
16.根据权利要求13所述的应用服务器,其特征在于,所述应用服务器还包括: 第二判断单元,用于判断登录的游牧终端是否为同一位置处最先登录的前M个游牧终端,如果是,则通过发送所述心跳周期协商消息的方式与所述游牧终端执行心跳周期协商,否则,将直接将记录的与上报的所述游牧终端的当前位置信息对应的心跳周期发送至所述游牧终端; 心跳周期选取单元,用于在所述M个游牧终端均完成心跳周期协商后,选取协商后的M个心跳周期中的最大值记录为与上报的同一位置相对应的心跳周期。
17.—致探测游牧终·端心跳周期的系统,其特征在于,包括权利要求9-12中任一项所述的游牧终端和权利要求13-16中任一项所述的应用服务器,其中,所述游牧终端通过移动网络/无线网络与所述应用服务器交互。
【文档编号】H04W28/02GK103856954SQ201210493389
【公开日】2014年6月11日 申请日期:2012年11月28日 优先权日:2012年11月28日
【发明者】王艺, 邓佳佳, 诸瑾文 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1