一种管控应用程序心跳包的方法、通信终端和通信网络的制作方法

文档序号:7988737阅读:305来源:国知局
一种管控应用程序心跳包的方法、通信终端和通信网络的制作方法
【专利摘要】本发明实施例提供一种管控应用程序心跳包的方法、通信终端和通信网络,方法应用于通信终端,通信终端上运行有客户端,以及与客户端之间具有数据连接的客户代理;方法包括:与客户代理连接的客户端与应用服务器所在的核心网建立数据连接;客户代理接到客户端发送的第一数目个心跳包,透传给核心代理,由所述核心代理将所述第一数目个心跳包发送给应用服务器;客户代理在接收完毕第一数目个心跳包之后开启拦截过程,在拦截过程中拦截客户端后续发送的心跳包,在每第二数目个心跳包中透传至少一个心跳包到核心代理,由核心代理向应用服务器发送替代心跳包。在保持客户状态及时更新到服务器的同时,对心跳包数据的总量进行有效控制。
【专利说明】一种管控应用程序心跳包的方法、通信终端和通信网络
【技术领域】
[0001]本发明涉及通信网络技术,特别是指一种管控应用程序心跳包的方法、通信终端和通信网络。
【背景技术】
[0002]应用程序的周期性数据-应用程序心跳包,是在线应用类应用程序(如聊天、游戏等)为保持客户端和服务器之间的数据连接而建立的一个机制,应用在如图1所示的环境中,客户端定期向服务器端发送更新消息,告知其应用程序的运行情况,便于服务器知晓客户端的在线情况并向其他客户端发布。
[0003]目前对应用程序心跳包的管控方法包括:
[0004]接入网优化法,通过优化信道的分配方案提升应用程序心跳包的服用度,从而提升承载效率。由于信道分配时无法区分用户所发送的数据包是正常的业务数据还是心跳包数据,因此在提升信道复用度的同时,也降低了正常用户的上网感知,且无线接入覆盖难度大,导致该类技术的成本较高。
[0005]核心网优化法,通过在GPRS的GGSN/SGSN中对应用程序心跳包进行流控或限流,对心跳包总量进行压缩。对应用程序心跳包进行统一拦截或限流会影响批量客户端的正常运行从而造成客户体验下降。
[0006]类似苹果APNS等心跳包统一管理技术中,需要应用程序修改其通信接口并接入心跳包承载层进行统一传送,这对于现网已经存在的大量应用程序,以及对后续开发新的应用版本都有难度。
[0007]现有技术存在如下问题:应用程序心跳包的数据传送量较小,但因为用户基数大、周期性强、使用集中度高以及数据承载效率低,因此造成通信网络的数据和信令资源的极大耗费,影响了用户的使用感知和满意度。

【发明内容】

[0008]本发明要解决的技术问题是提供一种管控应用程序心跳包的方法、通信终端和通信网络,解决现有技术中,应用程序心跳包的用户基数大、周期性强、用户使用集中度高以及数据承载效率低,造成通信网络的数据和信令资源的极大耗费的缺陷。
[0009]为解决上述技术问题,本发明的实施例提供一种管控应用程序心跳包的方法,应用于通信终端,通信终端上运行有客户端,以及与客户端之间具有数据连接的客户代理;方法包括:与客户代理连接的客户端与应用服务器所在的核心网建立数据连接;客户代理接到客户端发送的第一数目个心跳包,透传给核心代理,由所述核心代理将所述第一数目个心跳包发送给应用服务器;客户代理在接收完毕第一数目个心跳包之后开启拦截过程,在拦截过程中拦截客户端后续发送的心跳包,在每第二数目个心跳包中透传至少一个心跳包到核心代理,由核心代理向应用服务器发送替代心跳包。
[0010]所述的方法中,由核心代理向应用服务器发送替代心跳包还包括:当客户代理在所述拦截过程中在第二数目个心跳周期中没有向核心代理发送心跳包时,核心代理不再向所述应用服务器发送替代心跳包。
[0011]所述的方法中,在每第二数目个心跳包中透传至少一个心跳包到核心代理,还包括:客户代理接到来自客户端的一个请求心跳包,将对应的响应心跳包发给客户端;其中,来自客户端的心跳包是请求心跳包,来自应用服务器的数据包是响应心跳包。
[0012]所述的方法中,替代心跳包与客户端生成的心跳包相同。
[0013]所述的方法中,客户代理接到客户端发送的第一数目个心跳包,透传给核心代理,包括:客户端发送数据包时,客户代理监听客户端的网络通信接口,实时获取数据包并进行解析,将数据包的内容与存放心跳包特征的第一数据库进行匹配,若数据包中具有与心跳包数据结构匹配的特殊字段,则判定该数据包是一个心跳包,记录本次心跳包的时间;若该心跳包属于第一数目个范围内,将心跳包透传给核心代理。
[0014]所述的方法中,第一数据库包括:应用程序名称和版本,所述应用程序包括所述客户端和运行于应用服务器上的服务端;应用服务器的IP地址;应用服务器支持的协议及端口的列表;客户端发送心跳包的周期;心跳包数据结构,包括请求类型心跳包数据结构和响应类型心跳包数据结构;对心跳包的管理策略。
[0015]所述的方法中,由所述核心代理将所述第一数目个心跳包发送给应用服务器,包括:核心代理实时获取数据包,对数据包进行解析,将数据包的内容与存放心跳包特征的第二数据库进行匹配,若数据包具有与心跳包数据结构匹配的特殊字段,则判定是一个心跳包,记录本次心跳包的时间;若该心跳包属于第一数目的范围内,在核心代理的第二数据库中进行注册,以及,发送给应用服务器。
[0016]一种管控应用程序心跳包的通信终端,包括:客户端,用于与应用服务器所在的核心网建立数据连接;客户代理,与客户端之间具有数据连接,用于接到客户端发送的第一数目个心跳包,透传给核心代理,由所述核心代理将所述第一数目个心跳包发送给应用服务器;以及,在接收完毕第一数目个心跳包之后开启拦截过程,在拦截过程中拦截客户端后续发送的心跳包,在每第二数目个心跳包中透传至少一个心跳包到核心代理,由核心代理向应用服务器发送替代心跳包。
[0017]所述的通信终端中,客户代理,还用于监听客户端的网络通信接口,实时获取数据包并进行解析,将数据包的内容与存放心跳包特征的第一数据库进行匹配,若数据包中具有与心跳包数据结构匹配的特殊字段,则判定该数据包是一个心跳包,记录本次心跳包的时间;若该心跳包属于第一数目的范围内,将心跳包透传给核心代理。
[0018]一种管控应用程序心跳包的通信网络,包括通信终端、核心代理和应用服务器,客户端运行在通信终端上;客户端,用于与应用服务器所在的核心网建立数据连接;客户代理,与客户端之间具有数据连接,用于接到客户端发送的第一数目个心跳包,透传给核心代理;以及,在接收完毕第一数目个心跳包之后开启拦截过程,在拦截过程中拦截客户端后续发送的心跳包,在每第二数目个心跳包中透传至少一个心跳包到核心代理,以及,核心代理,用于将由客户代理透传来的所述第一数目个心跳包发送给应用服务器,以及,在拦截过程中向应用服务器发送替代心跳包。
[0019]所述的通信网络中,核心代理,还用于当客户代理在所述拦截过程中在第二数目个心跳周期中没有向核心代理发送心跳包时,不再向所述应用服务器发送替代心跳包。[0020]本发明的上述技术方案的有益效果如下:具有网络数据监听分析能力的客户代理和核心代理记录和分析客户端与应用服务器之间的交互,根据这些信息分别与客户端和应用服务器通信,对心跳包数据的总量进行有效控制,并保证客户端的状态及时更新到应用服务器而不影响客户端和服务器的正常使用。
【专利附图】

【附图说明】
[0021]图1表示现有的应用环境的示意图;
[0022]图2表示本发明实施例的应用环境的示意图;
[0023]图3表示一种管控应用程序心跳包的方法的流程示意图;
[0024]图4表示管控应用程序心跳包的工作流程示意图。
【具体实施方式】
[0025]为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0026]本发明实施例中将管控通信网络与应用程序相结合,如图2所示,应用环境中包括:客户端、基站控制器(BSC,Base Staion Controller)、服务GPRS支持节点(SGSN,Serving GPRS Support Node)、网关 GPRS 支持节点(GGSN, Gateway GPRS Support Node)、应用服务器、核心代理(Core Proxy)和客户代理(Client Proxy)。应用程序的客户端(Client)运行在通信终端上,能够生成应用程序心跳包(简称:心跳包),通常情形下,其发送的心跳包通过SGSN、GGSN到达应用服务器,应用程序的服务端运行在应用服务器上。
[0027]本发明实施例提供一种管控应用程序心跳包的方法,如图3所示,应用于通信终端,通信终端上运行有客户端,以及与客户端之间具有数据连接的客户代理;
[0028]方法包括:
[0029]步骤301,与客户代理连接的客户端与应用服务器所在的核心网建立数据连接;
[0030]步骤302,客户代理接到客户端发送的第一数目个心跳包,透传给核心代理,由所述核心代理将所述第一数目个心跳包发送给应用服务器;
[0031]步骤303,客户代理在接收完毕第一数目个心跳包之后开启拦截过程,在拦截过程中拦截客户端后续发送的心跳包,在每第二数目个心跳包中透传至少一个心跳包到核心代理,由核心代理向应用服务器发送替代心跳包。
[0032]应用所提供的技术,具有网络数据监听分析能力的客户代理和核心代理记录和分析客户端与应用服务器之间的交互,根据这些信息分别与客户端和应用服务器通信,对心跳包数据的总量进行有效控制,并保证客户端的状态及时更新到应用服务器而不影响客户端和服务器的正常使用。
[0033]客户端发送心跳包的过程是周期性地发送给应用服务器,因此,若干数目个心跳包应当是对应着同样数目个心跳周期。
[0034]在一个优选实施例中,由核心代理向应用服务器发送替代心跳包还包括:
[0035]当客户代理在所述拦截过程中在第二数目个心跳周期中没有向核心代理发送心跳包时,核心代理不再向所述应用服务器发送替代心跳包。
[0036]客户端与应用服务器所在的核心网建立数据连接,具体包括:客户端发送PDP激活请求,由客户代理将PDP激活请求发送给SGSN,由SGSN发送给GGSN,由GGSN进行激活后反馈激活响应。
[0037]核心代理将从客户代理接收的心跳包发送给应用服务器,这些心跳包就包括了客户端地址和心跳信息,从而完成建立心跳机制需信息的注册过程,实现了跟普通的应用程序注册客户端地址和心跳信息相同的效果,但又不需要客户端上的应用程序直接与应用服务器建立心跳包连接。
[0038]客户端与应用服务器所在的核心网建立数据连接之后还包括:向应用服务器发送普通数据包。数据包包含心跳包和普通数据包。
[0039]在一个优选实施例中,在每第二数目个心跳包中透传至少一个心跳包到核心代理,包括:在每10个心跳周期内,透传一个心跳包到核心代理。
[0040]为了让核心代理知晓客户端是否正在运行,无论客户代理采用任何拦截策略,在10个心跳周期内至少放通一个心跳包到核心代理。
[0041]在一个优选实施例中,在每第二数目个心跳包中透传至少一个心跳包到核心代理,还包括:
[0042]客户代理接到来自客户端的一个请求心跳包,将对应的响应心跳包发给客户端;其中,来自客户端的心跳包是请求心跳包,来自应用服务器的数据包是响应心跳包。
[0043]客户代理对应于来自客户端的每一个请求心跳包,直接把响应心跳包发给客户端,而核心代理则定期向应用服务器发送请求心跳包,使应用服务器确认客户端仍然是在线状态。以上过程,使得心跳包不需在客户代理和核心代理之间的无线网络中传送,仍然实现了客户端与服务器的心跳机制,并且降低了网络负荷。
[0044]在一个优选实施例中,替代心跳包与客户端生成的心跳包相同。客户端生成的心跳包是请求心跳包,在结构上与响应心跳包稍有不同,详见第一数据库的描述。
[0045]在一个优选实施例中,客户代理接到客户端发送的第一数目个心跳包,透传给核心代理,包括:
[0046]客户端发送数据包时,客户代理监听客户端的网络通信接口,实时获取数据包并进行解析,将数据包的内容与存放心跳包特征的第一(应用程序)数据库进行匹配,若数据包中具有与心跳包数据结构匹配的特殊字段,则判定该数据包是一个心跳包,记录本次心跳包的时间;
[0047]若该心跳包属于第一数目个范围内,将心跳包透传给核心代理。
[0048]在一个优选实施例中,第一数据库包括:
[0049]应用程序名称和版本,所述应用程序包括所述客户端和运行于应用服务器上的服务端;
[0050]应用服务器的IP地址;
[0051]应用服务器支持的协议及端口的列表;
[0052]客户端发送心跳包的周期;
[0053]心跳包数据结构,包括请求类型心跳包数据结构和响应类型心跳包数据结构;
[0054]对心跳包的管理策略。
[0055]客户代理驻留在通信终端中,对PDP激活和客户端的通信进行监听,客户代理中设置了具有心跳包特征的第一数据库,其表项包括:[0056]
【权利要求】
1.一种管控应用程序心跳包的方法,其特征在于,应用于通信终端,通信终端上运行有客户端,以及与客户端之间具有数据连接的客户代理; 方法包括: 与客户代理连接的客户端与应用服务器所在的核心网建立数据连接; 客户代理接到客户端发送的第一数目个心跳包,透传给核心代理,由所述核心代理将所述第一数目个心跳包发送给应用服务器; 客户代理在接收完毕第一数目个心跳包之后开启拦截过程,在拦截过程中拦截客户端后续发送的心跳包,在每第二数目个心跳包中透传至少一个心跳包到核心代理,由核心代理向应用服务器发送替代心跳包。
2.根据权利要求1所述的方法,其特征在于,由核心代理向应用服务器发送替代心跳包还包括: 当客户代理在所述拦截过程中,在第二数目个心跳周期中没有向核心代理发送心跳包时,核心代理不再向所述应用服务器发送替代心跳包。
3.根据权利要求1所述的方法,其特征在于,在每第二数目个心跳包中透传至少一个心跳包到核心代理,还包括: 客户代理接到来自客户端的一个请求心跳包,将对应的响应心跳包发给客户端;其中,来自客户端的心跳包是请求心跳包,来自应用服务器的数据包是响应心跳包。
4.根据权利要求1所述的方法,其特征在于,替代心跳包与客户端生成的心跳包相同。
5.根据权利要求1所述的方法,其特征在于,客户代理接到客户端发送的第一数目个心跳包,透传给核心代理,包括: 客户端发送数据包时,客户代理监听客户端的网络通信接口,实时获取数据包并进行解析,将数据包的内容与存放心跳包特征的第一数据库进行匹配,若数据包中具有与心跳包数据结构匹配的特殊字段,则判定该数据包是一个心跳包,记录本次心跳包的时间; 若该心跳包属于第一数目的范围内,将心跳包透传给核心代理。
6.根据权利要求5所述的方法,其特征在于,第一数据库包括: 应用程序名称和版本,所述应用程序包括所述客户端和运行于应用服务器上的服务端; 应用服务器的IP地址; 应用服务器支持的协议及端口的列表; 客户端发送心跳包的周期; 心跳包数据结构,包括请求类型心跳包数据结构和响应类型心跳包数据结构; 对心跳包的管理策略。
7.根据权利要求1所述的方法,其特征在于,由所述核心代理将所述第一数目个心跳包发送给应用服务器,包括: 核心代理实时获取数据包,对数据包进行解析, 将数据包的内容与存放心跳包特征的第二数据库进行匹配, 若数据包具有与心跳包数据结构匹配的特殊字段,则判定是一个心跳包,记录本次心跳包的时间; 若该心跳包属于第一 数目的范围内,在核心代理的第二数据库中进行注册,以及,发送给应用服务器。
8.一种管控应用程序心跳包的通信终端,其特征在于,包括: 客户端,用于与应用服务器所在的核心网建立数据连接; 客户代理,与客户端之间具有数据连接,用于接到客户端发送的第一数目个心跳包,透传给核心代理,由所述核心代理将所述第一数目个心跳包发送给应用服务器; 以及,在接收完毕第一数目个心跳包之后开启拦截过程,在拦截过程中拦截客户端后续发送的心跳包,在每第二数目个心跳包中透传至少一个心跳包到核心代理,由核心代理向应用服务器发送替代心跳包。
9.根据权利要求8所述的通信终端,其特征在于, 客户代理,还用于监听客户端的网络通信接口,实时获取数据包并进行解析,将数据包的内容与存放心跳包特征的第一数据库进行匹配,若数据包中具有与心跳包数据结构匹配的特殊字段,则判定该数据包是一个心跳包,记录本次心跳包的时间; 若该心跳包属于第一数目个范围内,将心跳包透传给核心代理。
10.一种管控应用程序心跳包的通信网络,其特征在于,包括通信终端、核心代理和应用服务器,客户端运行在通信终端上; 客户端,用于与应用服务器所在的核心网建立数据连接; 客户代理,与客户端之间具有数据连接,用于接到客户端发送的第一数目个心跳包,透传给核心代理; 以及,在接收完毕第一数目个心跳包之后开启拦截过程,在拦截过程中拦截客户端后续发送的心跳包,在每第二数目个心跳包中透传至少一个心跳包到核心代理, 以及, 核心代理, 用于将由客户代理透传来的所述第一数目个心跳包发送给应用服务器,以及,在拦截过程中向应用服务器发送替代心跳包。
11.根据权利要求10所述的通信网络,其特征在于, 核心代理,还用于当客户代理在所述拦截过程中在第二数目个心跳周期中没有向核心代理发送心跳包时,不再向所述应用服务器发送替代心跳包。
【文档编号】H04L29/08GK103916424SQ201210593405
【公开日】2014年7月9日 申请日期:2012年12月31日 优先权日:2012年12月31日
【发明者】黄昭文 申请人:中国移动通信集团广东有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1