心跳周期的获取方法及终端、服务器的制作方法

文档序号:7887484阅读:406来源:国知局
专利名称:心跳周期的获取方法及终端、服务器的制作方法
技术领域
本发明涉及通信技术,尤其涉及心跳周期的获取方法及终端、服务器。
背景技术
随着通信技术的发展,终端上集成了越来越多的应用程序,例如:MSN、QQ等即时通信(Instant Messenger, IM)应用程序。上述IM应用程序在运行过程中,当没有数据传送时,其对应的客户端通过周期性向服务器发送心跳(Heart Beat,HB)消息,以通过网络侧设备向服务器告知自己的在线状态,保持会话的连接。心跳周期依赖心跳穿越的网络的配置情况,心跳周期过小,会严重影响终端耗电,增加网络流量,影响网络各网元以及系统性能;但心跳周期过大,可能会超过网络中某些网元设置的无数据传送检测超时时间,导致会话连接被释放而达不到连接保活目的。例如:网络中部署的防火墙或者网络地址转换(Network Address Translation, NAT)设备,为了保证内部网络的安全性,防火墙的会话保持时间设置较短,一般传输控制协议(TransmissionControl Protocol, TCP)会话保持时间为20 30分钟,超过此时间若会话一直无数据传送则会话信息会被强制释放掉,这样后面的所有消息都将被丢弃。为了避免上述情况的发生,现有技术中,终端通过逐步调整心跳周期,去逐渐逼近网络能支持的最佳心跳周期,以自动适应不同网络配置情况。然而,现有技术中,终端逐步调整心跳周期需要与服务器之间进行多次心跳消息交互,从而导致了终端的电量消耗,同时增加了网络侧设备的信令负荷,影响系统性能。

发明内容
本发明提供心跳周期的获取方法及终端、服务器,用以确定与现有网络最匹配的心跳周期,同时减少终端的电量消耗和网络侧设备的信令负荷。一方面提供了一种心跳周期的获取方法,包括:终端向服务器发送第一心跳消息,所述第一心跳消息中包含所述终端的位置信息;所述终端接收所述服务器发送的与所述位置信息对应的心跳周期,所述心跳周期为所述服务器将所述位置信息与预先建立的心跳周期表匹配成功时,从所述心跳周期表中获得的。另一方面提供了一种心跳周期的获取方法,包括:服务器接收终端发送的第一心跳消息,所述第一心跳消息中包含所述终端的位置
信息;所述服务器将所述位置信息与预先建立的心跳周期表进行匹配;若匹配成功,所述服务器获得与所述位置信息对应的心跳周期,并向所述终端发送所述心跳周期。另一方面提供了一种终端,包括:
第一发送单元,用于向服务器发送第一心跳消息,所述第一心跳消息中包含所述终端的位置信息;接收单元,用于接收所述服务器发送的与所述位置信息对应的心跳周期,所述心跳周期为所述服务器将所述位置信息与预先建立的心跳周期表匹配成功时,从所述心跳周期表中获得的。另一方面提供了一种服务器,包括:接收单元,用于接收终端发送的第一心跳消息,所述第一心跳消息中包含所述终端的位置信息;匹配单元,用于将所述位置信息与预先建立的心跳周期表进行匹配;发送单元,用于当所述匹配单元匹配成功时,获得与所述位置信息对应的心跳周期,并向所述终端发送所述心跳周期。由上述技术方案可知,本发明实施例通过终端向服务器发送包含该终端的位置信息的第一心跳消息,直接从服务器获取与上述位置信息对应的心跳周期,避免了每个终端在确定与现有网络最匹配的心跳周期时,都需要与服务器进行多次心跳消息交互,从而减少了终端的电量消耗和网络侧设备的信令负荷。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中终端进行心跳周期自适应协商过程的示意图;图2为本发明一实施例提供的心跳周期的获取方法的流程示意图;图3为本发明另一实施例提供的心跳周期的获取方法的流程示意图;图4为本发明另一实施例提供的终端的结构示意图;图5为本发明另一实施例提供的终端的结构示意图;图6为本发明另一实施例提供的终端的结构示意图;图7为本发明另一实施例提供的终端的结构示意图;图8为本发明另一实施例提供的服务器的结构示意图;图9为本发明另一实施例提供的服务器的结构示意图;图10为本发明另一实施例提供的服务器的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为使本领域一般技术人员更好的了解本发明实施例提供的技术方案,对现有技术方案做一些简单的介绍,如图1所示,现有技术方案中,每个终端都会在初始阶段和服务器进行心跳周期自适应协商过程,通过反复尝试各种心跳周期来最终协商一个与现有网络最匹配的心跳周期。具体地,如图1所示,假设网络中防火墙或NAT设备的会话保持时间间隔设置为13分钟,终端进行心跳周期自适应协商过程如下:101、终端在T = O时刻向服务器,例如推送网关(Push GW),发送心跳消息,初始假定一个心跳周期15分钟,携带参数要求服务器收到后15分钟回心跳响应(OK)消息。(每次发消息都首先会在网络中建立端到端连接,例如需要扩展认证协议-传输层安全(Extensible Authentication Protocol-Transport Layer Security, EAP-TLS)认证,建立TLS连接等。这个细节不在这里详细描述,后续的发消息都会有这个过程)。102、服务器在T = 15分钟时刻回心跳响应消息,此时由于超过了防火墙或NAT设备的会话保持时间,所以从服务器下来的心跳响应消息在防火墙或NAT设备被丢弃。103、终端在T = 15分钟时刻第一次心跳超时时,发现没有接收到心跳响应消息,则判定心跳周期不能大于15分钟,则调整心跳周期为10分钟,重新向服务器发送心跳消息,携带参数要求服务器收到后10分钟回心跳响应消息。104、服务器在T = 25分钟时刻回心跳响应消息,顺利到达终端;105、终端在T = 25分钟时刻第二次心跳超时时,发现已经接收到心跳响应消息,则判定心跳周期不小于10分钟,则调整心跳周期为12分钟,重新向服务器发送心跳消息,携带参数要求服务器收到后12分钟回心跳响应消息。106、服务器在T = 37分钟时刻回心跳响应消息,顺利到达终端;至此,终端在T = 37分钟时刻第三次心跳超时时,发现已经接收到心跳响应消息,则判定心跳周期不小于12分钟,则还会继续调整心跳周期为14分钟重新进行心跳尝试,最后发现心跳周期不能大于14分钟,则最终确定心跳周期为12分钟,则可以结束心跳周期自适应协商过程,以后都用这个心跳周期进行心跳消息发送。通过以上心跳周期自适应协商过程,通过不断尝试去逐渐逼近网络能支持的最佳心跳周期,可以自动适应不同网络配置情况。可以看出,现有技术这种心跳周期自适应协商过程涉及多次消息交互,收敛较慢,期间还涉及多次认证以及连接重建过程,整个过程不仅造成终端耗电,还会增加网络消息流量。有鉴于此,本发明实施例提供一种心跳周期获取方法、终端及服务器。本发明的技术方案,可以应用于各种通信系统,例如:全球移动通信系统(GlobalSystem for Mobile Communications,简称 GSM)、通用分组无线业务(General PacketRadio Service,简称 GPRS)系统、码分多址(Code Division Multiple Access,简称 CDMA)系统、宽带码分多址(Wideband Code Division Multiple Access,简称 WCDMA)系统、长期演进(Long Term Evolution,简称 LTE)系统、无线局域网络(Wireless Local AreaNetwork,简称WLAN)系统、有线通信系统等。图2为本发明一实施例提供的心跳周期的获取方法的流程示意图,如图2所示,本实施例的心跳周期的获取方法可以包括:201、终端向服务器发送第一心跳消息,上述第一心跳消息中包含上述终端的位置
信息;其中,上述终端的位置信息可以包括但不限于终端的地理位置信息或终端的网络位置信息。
需要说明的是,在一个网络区域覆盖范围内,其所经过的网元设备基本一致,且一个网络覆盖区域内的所有终端其心跳周期也基本一致,因此,本发明实施例充分利用这一特性,对同一网络覆盖区域内,只用一个终端去进行智能心跳协商过程,其他终端都可以直接使用此心跳周期结果,或利用此心跳周期结果加速智能心跳协商效率。在一个实施例中,第一心跳消息可以是在原心跳消息的基础上进行扩展,增加位置信息字段后得到的消息,也可以是单独的一个位置消息,该位置消息包括但不限于终端的地理位置信息或终端的网络位置信息。在本实施例的一个可选实施方式中,终端的地理位置信息可以为终端的全球定位系统(Global Positioning System,简称 GPS)信息。在本实施例的一个可选实施方式中,终端的网络位置信息可以为
终端的IP地址;或者终端所在小区的小区标识(CELL ID);或者终端所在路由区的路由区域码(Routing Area Code,简称RAC);或者终端所在位置区的位置区域码(Location Area Code,简称LAC);或者终端所接入的接入点名称(Access Point Name,简称APN);或者CDMA系统中,终端的系统识别码(System ID,简称SID)和网络识别码(NetworkID,简称NID);或者WLAN系统中,终端所接入的无线保真接入点(Wireless Fidelity Access Point,简称WiFi AP)的标识,例如:服务集标识(Service Set ID,简称SSID)或媒体访问控制(Medium Access Control,简称 MAC)地址。202、上述终端接收上述服务器发送的与上述位置信息对应的心跳周期,上述心跳周期为上述服务器将上述位置信息与预先建立的心跳周期表匹配成功时,从上述心跳周期表中获得的。在本实施例的一个可选实施方式中,上述终端可以接收上述服务器通过心跳响应消息发送的与上述位置信息对应的心跳周期,即终端接收上述服务器发送的心跳响应消息,该心跳响应消息中包含与上述位置信息对应的心跳周期。其中,心跳周期表可以由服务器建立,用来记录位置信息及对应的心跳周期,具体形态可以为现有技术中各种类型的数据库或文件等,此处不再赘述。在202之后,上述终端还可以进一步将上述心跳周期作为发送周期,周期性地向上述服务器发送第二心跳消息,上述第二心跳消息用于向服务器告知上述终端的在线状态。在本实施例的一个可选实施方式中,上述终端可以不调整上述心跳周期,将上述不调整的心跳周期作为发送周期,周期性地向上述服务器发送第二心跳消息。在本实施例的另一个可选实施方式中,考虑到传输路径上的时延差异,这个差异一般在秒级左右,所以可以设置一个时间偏差量,上述终端还可以进一步将上述心跳周期调整一个时间偏差量(例如:10s、12s或15s等),比如将上述心跳周期减去10s、12s或15s,并将上述调整后的心跳周期作为发送周期,周期性地向上述服务器发送第二心跳消息,能够有效避免某些终端由于传输时延而导致的心跳周期不可用的问题。在上述可选实施方式中,由于网络组网或者参数配置都可能被修改,使得在上述终端向上述服务器发送第二心跳消息之后,终端可能在预先设定的时间内无法接收到服务器返回的心跳响应消息。在上述终端向上述服务器发送第二心跳消息之后,若上述终端在预先设定的时间(例如:10分钟、12分钟或14分钟等,该预先设定的时间需要根据应用程序的会话设置或者TCP会话保持时间的设置来确定)内没有接收到上述服务器发送的上述第二心跳消息对应的心跳响应,上述终端向上述服务器发送指示信息,该指示消息指示与上述位置信息对应的心跳周期无效,以使得上述服务器更新上述位置信息对应的心跳周期。在202之后,上述终端还可以进一步将上述心跳周期作为初始心跳周期,与上述服务器进行交互,以执行心跳周期自适应协商过程,确定与上述终端所在网络匹配的心跳周期,能够有效减少终端与服务器之间心跳消息交互的次数,其中心跳周期的自适应协商过程在本发明实施例中已经做了详细描述,此处不再赘述。本实施例中,通过终端向服务器发送包含该终端的位置信息的第一心跳消息,直接从服务器获取与上述位置信息对应的心跳周期,避免了每个终端在确定与现有网络最匹配的心跳周期时,都需要与服务器进行多次心跳消息交互,从而减少了终端的电量消耗和网络侧设备的信令负荷。图3为本发明另一实施例提供的心跳周期的获取方法的流程示意图,如图3所示,本实施例的心跳周期的获取方法可以包括:301、服务器接收终端发送的第一心跳消息,上述第一心跳消息中包含上述终端的位置信息;其中,上述终端的位置信息可以包括但不限于终端的地理位置信息或终端的网络位置信息。在一个实施例中,第一心跳消息可以是在原心跳消息的基础上进行扩展,增加位置信息字段后得到的消息,也可以是单独的一个位置消息,该位置消息包括但不限于终端的地理位置信息或终端的网络位置信息。在本实施例的一个可选实施方式中,终端的地理位置信息可以为终端的全球定位系统(Global Positioning System,简称 GPS)信息。在本实施例的一个可选实施方式中,终端的网络位置信息可以为终端的IP地址;或者终端所在小区的小区标识(CELL ID);或者终端所在路由区的路由区域码(Routing Area Code,简称RAC);或者终端所在位置区的位置区域码(Location Area Code,简称LAC);或者终端所接入的接入点名称(Access Point Name,简称APN);或者CDMA系统中,终端的系统识别码(System ID,简称SID)和网络识别码(NetworkID,简称NID);或者WLAN系统中,终端所接入的无线保真接入点(Wireless Fidelity Access Point,简称WiFi AP)的标识,例如:服务集标识(Service Set ID,简称SSID)或媒体访问控制(Medium Access Control,简称 MAC)地址。302、上述服务器将上述位置信息与预先建立的心跳周期表进行匹配;其中,心跳周期表可以由服务器建立,用来记录位置信息及对应的心跳周期,具体形态可以为现有技术中各种类型的数据库或文件等,此处不再赘述。由于在一个网络区域覆盖范围内,其所经过的网元设备基本一致,且一个网络覆盖区域内的所有终端其心跳周期也基本一致,因此,利用这一特性,对此网络覆盖区域内只要有一个终端去进行智能心跳协商过程,其他终端都可以直接使用此心跳周期结果,或利用此心跳周期结果加速智能心跳协商效率。在一个实施例中,服务器建立心跳周期表的基本过程为:根据终端的位置信息,与同一网络覆盖区域内的一个终端去进行智能心跳协商过程,得到与该位置信息对应的最佳心跳周期,并将该位置信息与最佳心跳周期关联,添加到心跳周期表;需要说明的是,由于考虑到精度需要,所以初始建立阶段,可以使用粒度较小的位置信息,例如:终端所在小区的Cell ID作为位置信息。但是,这样会形成海量的Cell ID与心跳周期的对应关系,从而会影响系统的存储性能和查询性能。在中期建立阶段,则可以动态分析相邻的位置之间的心跳周期的差异,若此该差异非常小,例如:相邻的位置之间的心跳周期的差异小于预先设置的偏差阈值,则可以对这些位置进行合并,例如:将用一条LAC与心跳周期的对应关系代替多条Cell ID与心跳周期的对应关系,这样,能够有效提高系统的存储性能和查询性能。在一个实施例中,在进行匹配时,可以将获取的位置信息作为键(key)值,采用hash (哈希)索引的方法与心跳周期表进行匹配,hash索引的方法作为一个具体的查找方式具有迅速查找的优势,能提高匹配速度。可以理解的是hash索引的方法并不是匹配的唯一实现方式,还可以采用二叉树索引等其它索引或查找方法,故hash索引的方式作为一个举例不应理解为对本发明实施例的限定。303、若匹配成功,上述服务器获得与上述位置信息对应的心跳周期,并向上述终端发送上述心跳周期。在本实施例的一个可选实施方式中,上述服务器可以通过心跳响应消息向上述终端发送与上述位置信息对应的心跳周期,即上述服务器向上述终端发送心跳响应消息,该心跳响应消息中包含与上述位置信息对应的心跳周期。在本实施例的一个可选实施方式中,若匹配不成功,上述服务器还可以进一步将匹配不成功的位置信息及对应的心跳周期作为新的记录添加到上述心跳周期表中。例如:上述服务器可以通过与上述终端进行心跳周期自适应协商过程,确定与上述终端所在网络匹配的心跳周期;然后,上述服务器则可以进一步将上述位置信息与上述心跳周期进行关联,并添加到上述心跳周期表中。在303之后,上述服务器还可以进一步接收上述终端发送的第二心跳消息,并向上述终端返回与上述第二心跳消息对应的心跳响应,上述第二心跳消息用于向上述服务器告知上述终端的在线状态,且上述第二心跳消息的周期为上述心跳周期。在本实施例的一个可选实施方式中,上述终端可以不调整上述心跳周期,将上述不调整的心跳周期作为发送周期,周期性地向上述服务器发送第二心跳消息。在本实施例的另一个可选实施方式中,上述终端还可以进一步将上述心跳周期调整一个预先设置的时间偏差量(例如:10s、12s或15s),将上述调整后的心跳周期作为发送周期,周期性地向上述服务器发送第二心跳消息,能够有效避免某些终端由于传输时延而导致的心跳周期不可用的问题。在上述可选实施方式中,由于网络组网或者参数配置都可能被修改,使得在上述终端向上述服务器发送第二心跳消息之后,终端可能在预先设定的时间内无法接收到服务器返回的心跳响应消息。相应地,服务器还可以进一步接收上述终端发送的指示信息,更新上述位置信息对应的心跳周期,上述指示信息由上述终端在预先设定的时间(例如:10分钟、12分钟或14分钟等,该预先设定的时间需要根据应用程序的会话设置或者TCP会话保持时间的设置来确定)内没有接收到上述服务器发送的上述第二心跳消息对应的心跳响应时发送,用于通知上述服务器上述位置信息对应的心跳周期无效,详细描述可以参见上述服务器建立心跳周期表的相关内容,此处不再赘述。在303之后,上述终端还可以进一步将上述心跳周期作为初始心跳周期,与上述服务器进行交互,以执行心跳周期自适应协商过程,确定与上述终端所在网络匹配的心跳周期,能够有效减少终端与服务器之间心跳消息交互的次数。本实施例中,通过服务器接收终端发送的包含该终端的位置信息的第一心跳消息,并将上述位置信息与预先建立的心跳周期表进行匹配,若匹配成功,上述服务器则获得与上述位置信息对应的心跳周期,并向上述终端发送上述心跳周期,使得上述终端能够直接从服务器获取与上述位置信息对应的心跳周期,避免了每个终端在确定与现有网络最匹配的心跳周期时,都需要与服务器进行多次心跳消息交互,从而减少了终端的电量消耗和网络侧设备的信令负荷。需要说明的是:对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。图4为本发明另一实施例提供的终端的结构示意图,如图4所示,本实施例的终端可以包括第一发送单元41和接收单元42。其中,第一发送单元41用于向服务器发送第一心跳消息,上述第一心跳消息中包含上述终端的位置信息;接收单元42用于接收上述服务器发送的与上述位置信息对应的心跳周期,上述心跳周期为上述服务器将上述位置信息与预先建立的心跳周期表匹配成功时,从上述心跳周期表中获得的。上述图2对应的实施例中终端的功能可以由本实施例提供的终端实现。其中,上述终端的位置信息可以包括但不限于终端的地理位置信息或终端的网络位置信息,详细描述可以参见图1对应的实施例中的相关内容,此处不再赘述。在一个实施例中,第一心跳消息可以是在原心跳消息的基础上进行扩展,增加位置信息字段后得到的消息,也可以是单独的一个位置消息,该位置消息包括但不限于终端的地理位置信息或终端的网络位置信息。可选地,如图5所示,本实施例中提供的终端还包括:第二发送单元51,第二发送单元51可以进一步将上述心跳周期作为发送周期,周期性地向上述服务器发送第二心跳消息,上述第二心跳消息用于向服务器告知上述终端的在线状态。在本实施例的一个可选实施方式中,第二发送单元51具体可以不调整上述心跳周期,将上述不调整的心跳周期作为发送周期,周期性地向上述服务器发送第二心跳消息。
在本实施例的另一个可选实施方式中,第二发送单元51具体还可以进一步将上述心跳周期调整一个时间偏差量(例如:10秒、12s或15s等),将上述调整后的心跳周期作为发送周期,周期性地向上述服务器发送第二心跳消息,能够有效避免某些终端由于传输时延而导致的心跳周期不可用的问题。在上述可选实施方式中,由于网络组网或者参数配置都可能被修改,使得在第二发送单元51向上述服务器发送第二心跳消息之后,终端可能在预先设定的时间内无法接收到服务器返回的心跳响应消息。相应地,如图6所示,本实施例提供的上述终端还可以进一步包括指示单元61,用于当上述终端在预先设定的时间(例如:10分钟、12分钟或14分钟等,该预先设定的时间需要根据应用程序的会话设置或者TCP会话保持时间的设置来确定)内没有接收到上述服务器发送的上述第二心跳消息对应的心跳响应时,向上述服务器发送指示信息,指示与上述位置信息对应的心跳周期无效,以使得上述服务器更新上述位置信息对应的心跳周期。可选地,如图7所示,本实施例中的终端还包括:自适应单元71,自适自适应单元71进一步将上述心跳周期作为初始心跳周期,与上述服务器进行交互,以执行心跳周期自适应协商过程,确定与上述终端所在网络匹配的心跳周期,能够有效减少终端与服务器之间心跳消息交互的次数。本实施例中,终端通过第一发送单元向服务器发送包含该终端的位置信息的第一心跳消息,使得接收单元能够直接从服务器获取与上述位置信息对应的心跳周期,避免了每个终端在确定与现有网络最匹配的心跳周期时,都需要与服务器进行多次心跳消息交互,从而减少了终端的电量消耗和网络侧设备的信令负荷。图8为本发明另一实施例提供的服务器的结构示意图,如图8所示,本实施例的服务器可以包括接收单元81、匹配单元82和发送单元83。其中,接收单元81用于接收终端发送的第一心跳消息,上述第一心跳消息中包含上述终端的位置信息;匹配单元82用于将上述位置信息与预先建立的心跳周期表进行匹配;发送单元83用于当匹配单元82匹配成功时,获得与上述位置信息对应的心跳周期,并向上述终端发送上述心跳周期。上述图3对应的实施例中服务器的功能可以由本实施例提供的服务器实现。其中,上述终端的位置信息可以包括但不限于终端的地理位置信息或终端的网络位置信息,详细描述可以参见图2对应的实施例中的相关内容,此处不再赘述。在一个实施例中,第一心跳消息可以是在原心跳消息的基础上进行扩展,增加位置信息字段后得到的消息,也可以是单独的一个位置消息,该位置消息包括但不限于终端的地理位置信息或终端的网络位置信息。在本实施例的一个可选实施方式中,如图9所示,本实施例提供的上述服务器还可以进一步包括添加单元91,用于当匹配单元82匹配不成功时,将匹配单元82匹配不成功的位置信息及对应的心跳周期作为新的记录添加到上述心跳周期表中。例如:如图10所示,添加单元91具体可以包括:协商模块1001和关联模块1002,其中,协商模块1001用于与上述终端进行心跳周期自适应协商过程,确定与上述终端所在网络匹配的心跳周期;关联模块1002用于将上述位置信息与上述心跳周期进行关联,并添加到上述心跳周期表中。可选地,本实施例中的接收单元81还可以进一步接收上述终端发送的第二心跳消息,并向上述终端返回与上述第二心跳消息对应的心跳响应,上述第二心跳消息用于向上述服务器告知上述终端的在线状态,且上述第二心跳消息的周期为上述心跳周期。在本实施例的一个可选实施方式中,上述终端可以不调整上述心跳周期,将上述不调整的心跳周期作为发送周期,周期性地向上述服务器发送第二心跳消息。在本实施例的另一个可选实施方式中,上述终端还可以进一步将上述心跳周期调整一个时间偏差量(例如:10秒、12s或15s等),将上述调整后的心跳周期作为发送周期,周期性地向上述服务器发送第二心跳消息,能够有效避免某些终端由于传输时延而导致的心跳周期不可用的问题。在上述可选实施方式中,由于网络组网或者参数配置都可能被修改,使得在上述终端向上述服务器发送第二心跳消息之后,终端可能在预先设定的时间内无法接收到服务器返回的心跳响应消息。相应地,本实施例中的接收单元81还可以进一步接收上述终端发送的指示信息,更新上述位置信息对应的心跳周期,上述指示信息由上述终端在预先设定的时间内没有接收到上述服务器发送的上述第二心跳消息对应的心跳响应时发送,用于通知上述服务器上述位置信息对应的心跳周期无效。在本实施例的另一个可选实施方式中,上述终端还可以将上述心跳周期作为初始心跳周期,与上述服务器进行交互,以执行心跳周期自适应协商过程,确定与上述终端所在网络匹配的心跳周期,能够有效减少终端与服务器之间心跳消息交互的次数。本实施例中,服务器通过接收单元接收终端发送的包含该终端的位置信息的第一心跳消息,并由匹配单元将上述位置信息与预先建立的心跳周期表进行匹配,若匹配单元匹配成功,发送单元则获得与上述位置信息对应的心跳周期,并向上述终端发送上述心跳周期,使得上述终端能够直接从服务器获取与上述位置信息对应的心跳周期,避免了每个终端在确定与现有网络最匹配的心跳周期时,都需要与服务器进行多次心跳消息交互,从而减少了终端的电量消耗和网络侧设备的信令负荷。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种心跳周期的获取方法,其特征在于,包括: 终端向服务器发送第一心跳消息,所述第一心跳消息中包含所述终端的位置信息; 所述终端接收所述服务器发送的与所述位置信息对应的心跳周期,所述心跳周期为所述服务器将所述位置信息与预先建立的心跳周期表匹配成功时,从所述心跳周期表中获得的。
2.根据权利要求1所述的方法,其特征在于,所述终端接收所述服务器发送的与所述位置信息对应的心跳周期之后,还包括: 所述终端将所述心跳周期作为发送周期,周期性地向所述服务器发送第二心跳消息,所述第二心跳消息用于向所述服务器告知所述终端的在线状态。
3.根据权利要求2所述的方法,其特征在于,所述终端将所述心跳周期作为发送周期,周期性地向所述服务器发送第二心跳消息,具体包括: 所述终端不调整所述心跳周期,将所述不调整的心跳周期作为发送周期,周期性地向所述服务器发送第二心跳消息,所述第二心跳消息用于向所述服务器告知所述终端的在线状态;或者 所述终端将所述心跳周期调整一个预先设置的时间偏差量,将所述调整后的心跳周期作为发送周期,周期性地向所述服务器发送第二心跳消息,所述第二心跳消息用于向所述服务器告知所述终端的在线状态。
4.根据权利要求2或3所述的方法,其特征在于,所述终端将所述心跳周期作为发送周期,周期性地向所述服务器发送第二心跳消息之后,还包括: 若所述终端在预先设定的 时间内没有接收到所述服务器发送的所述第二心跳消息对应的心跳响应,所述终端向所述服务器发送指示信息,所述指示消息用于指示与所述位置信息对应的心跳周期无效,以使得所述服务器更新所述位置信息对应的心跳周期。
5.根据权利要求1所述的方法,其特征在于,所述终端接收所述服务器发送的与所述位置信息对应的心跳周期之后,还包括: 所述终端将所述心跳周期作为初始心跳周期,与所述服务器进行交互,以执行心跳周期自适应协商过程,确定与所述终端所在网络匹配的心跳周期。
6.根据权利要求1 5任一权利要求所述的方法,其特征在于,所述位置信息包括所述终端的地理位置信息或所述终端的网络位置信息。
7.—种心跳周期的获取方法,其特征在于,包括: 服务器接收终端发送的第一心跳消息,所述第一心跳消息中包含所述终端的位置信息; 所述服务器将所述位置信息与预先建立的心跳周期表进行匹配; 若匹配成功,所述服务器获得与所述位置信息对应的心跳周期,并向所述终端发送所述心跳周期。
8.根据权利要求7所述的方法,其特征在于,还包括: 若匹配不成功,所述服务器将匹配不成功的位置信息及对应的心跳周期作为新的记录添加到所述心跳周期表中。
9.根据权利要求8所述的方法,其特征在于,所述服务器将匹配不成功的位置信息及对应的心跳周期作为新的记录添加到所述心跳周期表中,具体包括:所述服务器与所述终端进行心跳周期自适应协商过程,确定与所述终端所在网络匹配的心跳周期; 所述服务器将所述位置信息与所述心跳周期进行关联,并添加到所述心跳周期表中。
10.根据权利要求7 9任一权利要求所述的方法,其特征在于,所述服务器获得与所述位置信息对应的心跳周期,并向所述终端发送所述心跳周期之后,还包括: 所述服务器接收所述终端发送的第二心跳消息,并向所述终端返回与所述第二心跳消息对应的心跳响应,所述第二心跳消息用于向所述服务器告知所述终端的在线状态,且所述第二心跳消息的周期为所述心跳周期。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括: 所述服务器接收所述终端发送的指示信息,更新所述位置信息对应的心跳周期,所述指示信息由所述终端在预先设定的时间内没有接收到所述服务器发送的所述第二心跳消息对应的心跳响应时发送,用于通知所述服务器所述位置信息对应的心跳周期无效。
12.根据权利要求7 11任一权利要求所述的方法,其特征在于,所述位置信息包括所述终端的地理位置信息或所述终端的网络位置信息。
13.—种终端,其特征在于,包括: 第一发送单元,用于向服务器发送第一心跳 消息,所述第一心跳消息中包含所述终端的位置信息; 接收单元,用于接收所述服务器发送的与所述位置信息对应的心跳周期,所述心跳周期为所述服务器将所述位置信息与预先建立的心跳周期表匹配成功时,从所述心跳周期表中获得的。
14.根据权利要求13所述的终端,其特征在于,还包括:第二发送单元,用于将所述心跳周期作为发送周期,周期性地向所述服务器发送第二心跳消息,所述第二心跳消息用于向所述服务器告知所述终端的在线状态。
15.根据权利要求14所述的终端,其特征在于,所述第二发送单元具体用于: 不调整所述心跳周期,将所述不调整的心跳周期作为发送周期,周期性地向所述服务器发送第二心跳消息,所述第二心跳消息用于向所述服务器告知所述终端的在线状态;或者 将所述心跳周期调整一个预先设置的时间偏差量,将所述调整后的心跳周期作为发送周期,周期性地向所述服务器发送第二心跳消息,所述第二心跳消息用于向所述服务器告知所述终端的在线状态。
16.根据权利要求14或15所述的终端,其特征在于,所述终端还包括指示单元,用于: 当所述终端在预先设定的时间内没有接收到所述服务器发送的所述第二心跳消息对应的心跳响应时,向所述服务器发送指示信息,所述指示消息用于指示与所述位置信息对应的心跳周期无效,以使得所述服务器更新所述位置信息对应的心跳周期。
17.根据权利要求13所述的终端,其特征在于,还包括:自适应单元,用于将所述心跳周期作为初始心跳周期,与所述服务器进行交互,以执行心跳周期自适应协商过程,确定与所述终端所在网络匹配的心跳周期。
18.一种服务器,其特征在于,包括: 接收单元,用于接收终端发送的第一心跳消息,所述第一心跳消息中包含所述终端的位置信息; 匹配单元,用于将所述位置信息与预先建立的心跳周期表进行匹配; 发送单元,用于当所述匹配单元匹配成功时,获得与所述位置信息对应的心跳周期,并向所述终端发送所述心跳周期。
19.根据权利要求18所述的服务器,其特征在于,所述服务器还包括添加单元,用于 当所述匹配单元匹配不成功时,将所述匹配单元匹配不成功的位置信息及对应的心跳周期作为新的记录添加到所述心跳周期表中。
20.根据权利要求19所述的服务器,其特征在于,所述添加单元具体包括: 协商模块,用于与所述终端进行心跳周期自适应协商过程,确定与所述终端所在网络匹配的心跳周期; 关联模块,用于将所述位置信息与所述心跳周期进行关联,并添加到所述心跳周期表 中。
21.根据权利要求18 20任一权利要求所述的服务器,其特征在于,所述接收单元还用于, 接收所述终端发送的第二心跳消息,并向所述终端返回与所述第二心跳消息对应的心跳响应,所述第二心跳消息用于向所述服务器告知所述终端的在线状态,且所述第二心跳消息的周期为所述心跳周期。
22.根据权利要求21所述的服务器,其特征在于, 所述接收单元还用于接收所述终端发送的指示信息,更新所述位置信息对应的心跳周期,所述指示信息由所述终端在预先设定的时间内没有接收到所述服务器发送的所述第二心跳消息对应的心跳响应时发送,用于通知所述服务器所述位置信息对应的心跳周期无效。
全文摘要
本发明提供心跳周期的获取方法及终端、服务器。本发明通过终端向服务器发送包含该终端的位置信息的第一心跳消息,直接从服务器获取与上述位置信息对应的心跳周期,避免了每个终端在确定与现有网络最匹配的心跳周期时,都需要与服务器进行多次心跳消息交互,从而减少了终端的电量消耗和网络侧设备的信令负荷。
文档编号H04L12/24GK103209089SQ20121001386
公开日2013年7月17日 申请日期2012年1月17日 优先权日2012年1月17日
发明者杨胜强 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1