一种心跳消息发送方法及用户终端与流程

文档序号:12041574阅读:353来源:国知局
一种心跳消息发送方法及用户终端与流程
本发明涉及通信技术领域中的在线应用技术领域,尤其涉及一种心跳消息发送方法及用户终端。

背景技术:
目前,随着移动通信技术的快速发展,面向用户终端提出了各种各样的移动互联网应用,其中包括很多在线类应用,例如,手机QQ、手机MSN和飞信等。在线类应用的一个特点是,为了维持应用客户端所属的用户终端与对应的应用服务器之间链路的长连接状态,以及应用客户端维持自身的在线状态,应用客户端需要每隔一定时间向应用服务器发送心跳消息,应用服务器在接收到该心跳消息后,向应用客户端返回心跳响应。如果应用客户端在规定的一定时间间隔内,没有收到应用服务器返回的心跳响应,会认为网络链路不通或应用服务器出错,将进行重新连接登录;而应用服务器如果在规定的一定时间间隔内,没有收到应用客户端发送的心跳消息,则会释放服务器资源,注销该应用客户端的在线状态。现有技术中,采用上述发送心跳消息的方式维持应用客户端的在线状态,在每次发送心跳消息时,用户终端均需要向移动网络的网络侧请求一次数据传输连接,并通过该数据传输连接建立与应用服务器之间的传输链路,并交互心跳消息和心跳响应。然而,用户终端每次与移动网络的网络侧建立数据传输连接,均需要占用移动网络控制层面的信令资源,例如,在分组域网络架构中,用户终端需要与移动网络的网络侧通过信令交互,进行一次PDP(PacketDataProtocol,分组数据协议)激活,由网络侧为该用户终端分配一个IP地址,然后用户终端使用该IP地址,在数据网络中与通信对端进行数据传输。所以,频繁的心跳消息的传输,占用了大量移动网络控制层面的信令资源,而每个心跳消息的数据量又很小,导致数据传输层面的资源利用率较低,当一个用户终端上同时在线多个应用客户端时,这种情况更加严重,从而影响其它业务的正常运行,并降低了移动网络的网络服务质量。

技术实现要素:
本发明实施例提供一种心跳消息发送方法及用户终端,用以解决现有技术中在基于心跳消息维持应用客户端在线状态时,存在的网络控制信令资源浪费的问题。本发明实施例提供一种心跳消息发送方法,包括:确定用户终端上处于在线状态的多个应用客户端;当统一心跳发送周期到达时,为所述多个应用客户端建立一个数据传输连接;通过所述数据传输连接,发送所述多个应用客户端分别对应的心跳消息。本发明实施例还提供一种用户终端,包括:客户端确定单元,用于确定本用户终端上处于在线状态的多个应用客户端;连接建立单元,用于当统一心跳发送周期到达时,为所述多个应用客户端建立一个数据传输连接;第一发送单元,用于通过所述数据传输连接,发送所述多个应用客户端分别对应的心跳消息。本发明有益效果包括:本发明实施例提供的方法中,针对用户终端上处于在线状态的多个应用客户端,在发送心跳消息时,采用了相同的发送周期,即统一心跳发送周期,并当统一心跳发送周期到达时,为这多个应用客户端建立一个数据传输连接,以及通过该数据传输连接,发送这多个应用客户端分别对应的心跳消息。相比现 有技术中,针对每个应用客户端,在发送对应的心跳消息时,基于各自的发送周期,分别建立数据传输连接进行发送的方案,采用本发明实施例提供的方案,减少了数据传输连接建立的次数,从而减少了网络控制信令资源的消耗。附图说明附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:图1为本发明实施例提供的心跳消息发送方法的流程图;图2为本发明实施例提供心跳消息发送的示意图;图3为本发明实施例提供的心跳消息发送方法的详细流程图;图4为本发明实施例提供的用户终端的结构示意图。具体实施方式为了给出在基于心跳消息维持应用客户端在线状态时,减少网络控制信令资源消耗的实现方案,本发明实施例提供了一种心跳消息发送方法及用户终端,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本发明实施例提供一种心跳消息发送方法,如图1所示,包括:步骤101、确定用户终端上处于在线状态的多个应用客户端。步骤102、当统一心跳发送周期到达时,为这多个应用客户端建立一个数据传输连接。步骤103、通过该数据传输连接,发送这多个应用客户端分别对应的心跳消息。进一步的,上述统一心跳发送周期,可以基于这多个应用客户端各自的心跳发送周期范围确定,确定出在这多个心跳发送周期范围内的统一心跳发送周 期;较佳的,该统一心跳发送周期可以为这多个心跳发送周期范围的重叠范围的最大值,从而进一步减少心跳消息的发送次数,以便减少建立数据传输连接的次数,进而减少网络控制信令资源的消耗。进一步的,在发送心跳消息后,还可以通过该数据传输连接,接收对端返回的心跳响应,并将接收的心跳响应发送给对应的应用客户端。下面结合附图,用具体实施例对本发明提供的方法及用户终端进行详细描述。本发明实施例提供的上述心跳消息发送方法,具体可以通过在用户终端上设置统一心跳服务模块执行,如图2所示,其中:用户终端上当前处于在线状态的应用客户端为多个,例如,包括应用客户端A、应用客户端B和应用客户端C;与应用客户端A、应用客户端B和应用客户端C分别对应的应用服务器,包括应用服务器A、应用服务器B和应用服务器C;统一心跳服务模块确定当前处于在线状态的多个应用客户端,例如,包括应用客户端A、应用客户端B和应用客户端C,并当统一心跳发送周期到达时,与网络侧建立数据传输连接,并通过本次数据传输连接,将这多个应用客户端分别对应的心跳消息,发送给对应的应用服务器,例如,分别对应发送给应用服务器A、应用服务器B和应用服务器C;其中,统一心跳发送周期可以基于这多个应用客户端各自的心跳发送周期范围,确定出在这多个心跳发送周期范围内的,与这多个应用客户端对应的统一心跳发送周期;具体可以静态设置,也可以在这多个应用客户端上报各自的心跳发送周期范围后,进行确定;用户终端上的应用客户端除通过与统一心跳服务模块之间的服务接口,上报自身的心跳周期范围外,还可以向统一心跳服务模块上报自身的心跳消息内容,心跳消息内容包括心跳消息的命令内容和数据内容,以及还可以上报自身对应的应用服务器的服务器标识,例如,服务器地址和端口,使得统一心跳服 务模块能够生成与这多个应用客户端分别对应的心跳消息,并基于应用服务器的服务器标识,将心跳消息发送给对应的应用服务器;心跳消息的内容和应用服务器的服务器标识,也可以在统一心跳服务模块上,对应该用户终端上的每个应用客户端进行静态设置,在此不再进行详细描述;统一心跳服务模块在向对应的应用服务器发送心跳消息后,还可以通过本次数据传输连接,接收应用服务器返回的心跳响应,并将接收的心跳响应发送给对应的应用客户端;本发明实施例中,统一心跳服务模块具体可以设置为用户终端上的一个常驻开启模块,通过与各应用客户端的服务接口,与各应用客户端进行消息交互,并通过标准的HTTP(hypertexttransportprotocol,超文本传送协议)协议与对应的各应用服务器进行心跳消息和心跳响应的传输。下面以图3所示处理流程为例,对本发明实施例提出的上述心跳消息发送方法的处理流程进行详细描述,具体包括如下处理步骤:步骤301、用户终端上的应用客户端启动并登录后,向用户终端上的统一心跳服务模块上报心跳发送通知消息,该心跳发送通知消息中可以携带自身的心跳消息内容、心跳发送周期范围和对应的应用服务器的服务器标识。其中,心跳发送通知消息的具体消息格式,可以基于用户终端采用的操作系统进行设置,例如,基于Android(安卓)系统,心跳发送通知消息可以采用Intent消息格式。步骤302、统一心跳服务模块在接收到应用客户端发送的心跳发送通知消息后,确定该应用客户端当前处于在线状态,并基于确定的其它当前处于在线状态的应用客户端,确定出当前处于在线状态的所有应用客户端。步骤303、统一心跳服务模块从接收的心跳发送通知消息中,获取携带的心跳发送周期范围,并结合当前处于在线状态的其它应用客户端分别对应的心跳发送周期范围,确定统一心跳发送周期。具体可以首先确定这多个心跳发送周期范围的重叠范围的最大值,并将该最大值确定为统一心跳发送周期。例如,应用客户端A的心跳发送周期范围是30-120秒,应用客户端B的心跳发送周期范围是90-150秒,应用客户端C的心跳发送周期范围是50-100秒,则基于这三个心跳发送周期范围,可以确定重叠范围为90-100秒,则最大值为100秒,即将统一心跳发送周期确定为100秒。当当前处于在线状态的所有应用客户端的心跳发送周期范围存在重叠范围时,即可以将处于在线状态的所有应用客户端,确定为将要进行统一的心跳消息发送的多个应用客户端;而当当前处于在线状态的所有应用客户端的心跳发送周期范围不存在重叠范围时,可以将这些应用客户端基于心跳发送周期范围进行分组,使得每组包括的多个应用客户端的心跳发送周期范围存在重叠范围,并针对每个分组,将该分组包括的各应用客户端,确定为将要进行统一的心跳消息发送的多个应用客户端;较佳的,在进行分组时,为了减少建立数据传输连接的次数,尽量减少分组的数量,即使得分组的数量最少。步骤304、统一心跳服务模块监测上述步骤303中确定的统一心跳发送周期,并当统一心跳发送周期到达时,为这多个应用客户端建立数据传输连接。具体可以为向网络侧请求进行PDP激活,并获取网络侧分配的IP地址。步骤305、统一心跳服务模块从接收的心跳发送通知消息中,获取携带的应用服务器的服务器标识,并基于获取的IP地址,建立与该应用服务器的连接。本步骤中,还根据当前处于在线状态的其它应用客户端对应的应用服务器的服务器标识,基于获取的IP地址,分别建立与当前处于在线状态的其它应用客户端对应的应用服务器的连接。步骤306、统一心跳服务模块从接收的心跳发送通知消息中,获取携带的心跳消息内容,并生成与发送该心跳发送通知消息的该应用客户端对应的心跳消息。本步骤中,还根据当前处于在线状态的其它应用客户端对应的心跳消息内容,生成与当前处于在线状态的其它应用客户端对应的心跳消息。本步骤306与上述步骤303、步骤304和步骤305之间没有严格的先后顺序。步骤307、统一心跳服务模块通过与各应用服务器分别建立的上述连接,向各应用服务器分别发送对应的心跳消息。步骤308、统一心跳服务模块在发送心跳消息后,通过与各应用服务器分别建立的上述连接,接收各应用服务器返回的对应的心跳响应。步骤309、统一心跳服务模块将接收的各心跳响应,分别发送给对应的应用客户端,具体可以将心跳响应转换为统一心跳服务模块与应用客户端之间协商的消息格式,如Intent消息格式,并进行转发。基于同一发明构思,根据本发明上述实施例提供的心跳消息发送方法,相应地,本发明另一实施例还提供了一种用户终端,其结构示意图如图4所示,具体包括:客户端确定单元401,用于确定本用户终端上处于在线状态的多个应用客户端;连接建立单元402,用于当统一心跳发送周期到达时,为所述多个应用客户端建立一个数据传输连接;第一发送单元403,用于通过所述数据传输连接,发送所述多个应用客户端分别对应的心跳消息。进一步的,上述用户终端,还包括:周期确定单元404,用于在所述连接建立单元当统一心跳发送周期到达时,为所述多个应用客户端建立一个数据传输连接之前,基于所述多个应用客户端上报的各自的心跳发送周期范围,确定在这多个心跳发送周期范围内的所述统一心跳发送周期。进一步的,周期确定单元404,具体用于基于所述多个应用客户端上报的 各自的心跳发送周期范围,确定这多个心跳发送周期范围的重叠范围的最大值;确定所述最大值为所述统一心跳发送周期。进一步的,客户端确定单元401,具体用于采用如下步骤,从所述用户终端上处于在线状态的所有应用客户端中,确定所述多个应用客户端:当所述所有应用客户端上报的各自的心跳发送周期范围之间存在重叠范围时,将所述所有用户终端确定为所述多个应用客户端;当所述所有应用客户端上报的各自的心跳发送周期范围之间不存在重叠范围时,将所述所有应用客户端进行分组,且在满足每组应用客户端中的各应用客户端的心跳发送周期范围之间存在重叠范围的条件下,分组的数量最少;针对每个分组,将该分组中的各应用客户端确定为所述多个应用客户端。进一步的,上述用户终端,还包括:消息生成单元405,用于基于所述多个应用客户端上报的各自对应的心跳消息内容,生成与所述多个应用客户端分别对应的心跳消息;发送单元403,具体用于基于所述多个应用客户端上报的各自对应的应用服务器的服务器标识,将所述多个应用客户端分别对应的心跳消息,发送给与所述多个应用客户端分别对应的应用服务器。进一步的,上述用户终端,还包括:接收单元406,用于通过所述数据传输连接,接收心跳响应;第二发送单元407,用于将接收的所述心跳响应发送给对应的应用客户端。综上所述,本发明实施例提供的方案,包括:确定用户终端上处于在线状态的多个应用客户端;并当统一心跳发送周期到达时,为这多个应用客户端建立一个数据传输连接;以及通过该数据传输连接,发送这多个应用客户端分别对应的心跳消息。采用本发明实施例提供的方案,在基于心跳消息维持应用客户端在线状态时,减少了数据传输连接建立的次数,从而减少了网络控制信令资源的消耗。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1