一种发送心跳报文的方法和设备.pdf

上传人:r5 文档编号:1678176 上传时间:2018-07-04 格式:PDF 页数:18 大小:1.19MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410057536.7

申请日:

2014.02.19

公开号:

CN104852946A

公开日:

2015.08.19

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 29/08申请日:20140219|||公开

IPC分类号:

H04L29/08; H04W4/02(2009.01)I; H04W24/00(2009.01)I

主分类号:

H04L29/08

申请人:

中国移动通信集团公司

发明人:

王波

地址:

100032北京市西城区金融大街29号

优先权:

专利代理机构:

北京同达信恒知识产权代理有限公司11291

代理人:

郭润湘

PDF下载: PDF下载
内容摘要

本发明涉及通信技术领域,尤其涉及一种发送心跳报文的方法和设备,用以解决现有的发送心跳报文周期在移动应用开发时固定设置,缺乏灵活性的问题。在本发明实施例提供的设置应用发送心跳报文周期的方法中,用于设置心跳周期的服务器接收终端发送的心跳周期查询请求后,确定所述终端的心跳周期;所述服务器将确定的所述心跳周期发送给所述终端,以使所述终端上运行的应用根据所述心跳周期发送心跳报文。通过服务器配置终端的心跳周期,方法更灵活。

权利要求书

权利要求书1.  一种设置应用发送心跳报文周期的方法,其特征在于,所述方法包括:用于设置心跳周期的服务器接收终端发送的心跳周期查询请求后,确定所述终端的心跳周期;所述服务器将确定的所述心跳周期发送给所述终端,以使所述终端上运行的应用根据所述心跳周期发送心跳报文。2.  如权利要求1所述的方法,其特征在于,所述服务器确定所述终端的心跳周期,包括:所述服务器确定所述终端当前所在地;所述服务器根据预设的地点与心跳周期的映射关系,确定所述终端当前所在地对应的心跳周期为所述终端的心跳周期。3.  如权利要求2所述的方法,其特征在于,所述服务器确定所述终端当前所在地,包括:所述服务器向用于记录所述终端当前所在地信息的设备发送位置查询请求;所述服务器根据用于记录所述终端当前所在地信息的设备返回的所述终端当前所在地信息,确定所述终端当前所在地。4.  如权利要求1~3任一项所述的方法,其特征在于,在所述服务器接收所述心跳周期查询请求后,所述服务器确定所述终端的心跳周期之前,所述方法还包括:所述服务器确定所述终端所属运营商网络;所述服务器确定所述终端的心跳周期,包括:所述服务器在确定所述终端所属的运营商网络与所述服务器自身所属的运营商网络相同时,确定所述终端的心跳周期。5.  如权利要求4所述的方法,其特征在于,在服务器确定所述终端所属运营商网络之后,所述方法还包括:所述服务器在确定所述终端所属的运营商网络与所述服务器自身所属的 运营商网络不同时,丢弃所述心跳周期查询请求。6.  一种发送心跳报文的方法,其特征在于,所述方法包括:终端上运行的应用在每一次发送心跳报文时,向所述终端上运行的心跳中间件发送时延查询请求,查询所述应用下一次发送心跳报文需要经过的时延;所述应用接收所述心跳中间件响应所述时延查询请求返回的所述时延;其中,所述时延是所述心跳中间件通过如下方式确定的:若所述时延查询请求为所述心跳中间件收到的第一个时延查询请求,则所述心跳中间件确定所述时延为所述应用发送心跳报文的心跳周期;否则所述心跳中间件确定所述时延为周期定时器在定时周期内的剩余时长;其中,所述周期定时器在所述心跳中间件收到第一个时延查询请求时启动,所述定时周期为所述应用发送心跳报文的心跳周期。7.  一种发送心跳报文的方法,其特征在于,所述方法包括:终端上运行的心跳中间件接收所述终端上运行的应用在每一次发送心跳报文时发送的时延查询请求,所述时延查询请求用于查询所述应用下一次发送心跳报文需要经过的时延;所述心跳中间件确定所述时延;所述心跳中间件将确定的所述时延返回给所述应用;其中,所述心跳中间件确定所述时延,包括:若所述时延查询请求为所述心跳中间件收到的第一个时延查询请求,则所述心跳中间件确定所述时延为所述应用发送心跳报文的心跳周期;否则所述心跳中间件确定所述时延为周期定时器在定时周期内的剩余时长;其中,所述周期定时器在所述心跳中间件收到第一个时延查询请求时启动,所述定时周期为所述应用发送心跳报文的心跳周期。8.  如权利要求7所述的方法,其特征在于,在所述心跳中间件确定所述时延之前,所述方法还包括:所述心跳中间件向用于设置心跳周期的服务器发出心跳周期查询请求后, 从所述服务器处接收所述应用发送心跳报文的周期。9.  一种服务器,其特征在于,所述服务器包括:收发模块,用于接收终端发送的心跳周期查询请求;处理模块,在所述收发模块收到所述心跳周期查询请求后,确定所述终端的心跳周期;所述收发模块还用于:将所述处理模块确定的所述心跳周期发送给所述终端,以使所述终端上运行的应用根据所述心跳周期发送心跳报文。10.  如权利要求9所述的服务器,其特征在于,所述处理模块具体用于:确定所述终端当前所在地;根据预设的地点与心跳周期的映射关系,确定所述终端当前所在地对应的心跳周期为所述终端的心跳周期。11.  如权利要求10所述的服务器,其特征在于,所述处理模块在确定所述终端当前所在地时,具体用于:向用于记录所述终端当前所在地信息的设备发送位置查询请求;根据用于记录所述终端当前所在地信息的设备返回的所述终端当前所在地信息,确定所述终端当前所在地。12.  如权利要求9~11任一项所述的服务器,其特征在于,所述处理模块还用于:在所述收发模块接收所述心跳周期查询请求后,所述处理模块确定所述终端的心跳周期之前,确定所述终端所属运营商网络;所述处理模块具体用于:在确定所述终端所属的运营商网络与所述服务器自身所属的运营商网络相同时,确定所述终端的心跳周期。13.  如权利要求12所述的服务器,其特征在于,所述处理模块还用于:在确定所述终端所属运营商网络之后,若确定所述终端所属的运营商网络与所述服务器自身所属的运营商网络不同时,丢弃所述心跳周期查询请求。14.  一种终端上运行的应用单元,其特征在于,所述应用单元包括:消息收发模块和用于发送心跳报文的心跳报文发送模块;其中,所述消息收发模块用于:在每一次所述心跳报文发送模块发送心跳报文时,向所述终端上运行的心跳中间件发送时延查询请求,查询所述心跳发送模块下一次发送心跳报文需要经过的时延,以及接收所述心跳中间件响应所述时延查询请求返回的所述时延;其中,所述时延是所述心跳中间件通过如下方式确定的:若所述时延查询请求为所述心跳中间件收到的第一个时延查询请求,则所述心跳中间件确定所述时延为所述应用发送心跳报文的心跳周期;否则所述心跳中间件确定所述时延为周期定时器在定时周期内的剩余时长;其中,所述周期定时器在所述心跳中间件收到第一个时延查询请求时启动,所述定时周期为所述应用发送心跳报文的心跳周期。15.  一种终端上运行的中间件单元,其特征在于,所述中间件单元包括:收发模块,用于接收所述终端上运行的应用在每一次发送心跳报文时发送的时延查询请求,所述时延查询请求用于查询所述应用下一次发送心跳报文需要经过的时延;处理模块,用于确定所述时延;所述收发模块还用于,将所述处理模块确定的所述时延返回给所述应用;其中,所述处理模块具体用于:若所述时延查询请求为所述收发模块收到的第一个时延查询请求,则确定所述时延为所述应用发送心跳报文的心跳周期;否则确定所述时延为周期定时器在定时周期内的剩余时长;其中,所述周期定时器在所述收发模块收到第一个时延查询请求时启动,所述定时周期为所述应用发送心跳报文的心跳周期。16.  如权利要求15所述的中间件单元,其特征在于,所述收发模块还用于:在所述处理模块确定所述时延之前,向用于设置心跳周期的服务器发出心跳周期查询请求后,从所述服务器处接收所述应用发送心跳报文的周期。17.  一种终端,其特征在于,所述终端包括所述终端上运行的应用单元和所述终端上运行的心跳中间件单元,所述应用单元用于,在每一次发送心跳报文前,向所述心跳中间件单元发送时延查询请求,获取所述应用单元下一次发送心跳报文需要经过的时延;所述心跳中间件单元用于,在收到所述应用单元发送的所述时延查询请求后,确定所述时延,并将确定的所述时延返回给所述应用单元;所述心跳中间件单元具体用于:若所述应用单元发送的所述时延查询请求为所述心跳中间件单元收到的第一个时延查询请求,则确定所述时延为所述应用单元发送心跳报文的心跳周期;否则确定所述时延为周期定时器在定时周期内的剩余时长;其中,所述周期定时器在所述心跳中间件单元收到第一个时延查询请求时启动,所述定时周期为所述应用单元发送心跳报文的心跳周期。18.  如权利要求17所述的终端,其特征在于,所述心跳中间件单元还用于:在确定所述时延之前,向用于设置心跳周期的服务器发出心跳周期查询请求后,从所述服务器处接收所述应用发送心跳报文的周期。

说明书

说明书一种发送心跳报文的方法和设备
技术领域
本发明涉及通信技术领域,尤其涉及一种发送心跳报文的方法和设备。
背景技术
平板电脑、智能手机等移动终端上可运行多种移动应用。移动应用通过移动网络的无线接入网和核心网与互联网连接,采用客户端-服务器的方式与处于互联网中的应用服务器交互数据。
移动应用为了保持与应用服务器的长时间连接,需要向应用服务器定时发送心跳报文。目前移动应用发送心跳报文的周期是移动应用的开发者在开发移动应用时固定设置在程序中,一旦应用发布,无法改变,实现方式不够灵活。
此外,移动应用发送心跳报文时需要占用移动网络中无线接入网中的无线信道等无线资源、核心网系统资源和移动终端自身的系统资源,因此,移动应用频繁地发送心跳报文耗费了移动网络和移动终端大量资源,降低了资源利用率。
为了规范心跳报文的发送机制,一些运行商规定移动终端上运行的各移动应用以相同的心跳周期发送心跳报文,以避免部分移动应用发送心跳报文的周期过小,对资源的占用较多的问题。但是,当移动终端上同时运行多个需要发送心跳报文的移动应用时,若各个移动应用无法实现同步发送心跳报文,仍无法减小对资源的占用。
综上,现有的技术存在移动应用发送心跳报文的周期在移动应用开发时规定设置,不灵活的问题;以及移动终端上同时运行的多个需要发送心跳报文的移动应用发送心跳报文不同步时,无法减小对资源的占用的问题。
发明内容
本发明实施例提供一种设置应用发送心跳报文周期的方法和服务器,用于解决现有的发送心跳报文周期在移动应用开发时固定设置,缺乏灵活性的问题。
本发明实施例还提供了一种发送心跳报文的方法、终端上运行的应用单元、终端上运行的中间件单元和一种终端,用于解决终端上同时运行的多个需要发送心跳报文的移动应用发送心跳报文不同步时,无法减小对资源的占用的问题。
第一方面,本发明实施例提供一种设置应用发送心跳报文周期的方法,所述方法包括:
用于设置心跳周期的服务器接收终端发送的心跳周期查询请求后,确定所述终端的心跳周期;
所述服务器将确定的所述心跳周期发送给所述终端,以使所述终端上运行的应用根据所述心跳周期发送心跳报文。
通过服务器设置终端发送心跳报文的周期,实现更灵活。
较佳地,述服务器确定所述终端的心跳周期,包括:
所述服务器确定所述终端当前所在地;
所述服务器根据预设的地点与心跳周期的映射关系,确定所述终端当前所在地对应的心跳周期为所述终端的心跳周期。
该优选方案实现了根据终端所在地确定终端的心跳周期。
较佳地,所述服务器确定所述终端当前所在地,包括:
所述服务器向用于记录所述终端当前所在地信息的设备发送位置查询请求;
所述服务器根据用于记录所述终端当前所在地信息的设备返回的所述终端当前所在地信息,确定所述终端当前所在地。
该优选方案给出了服务器确定终端当前所在地的方法。
较佳地,在所述服务器接收所述心跳周期查询请求后,所述服务器确定所述终端的心跳周期之前,所述方法还包括:所述服务器确定所述终端所属运营商网络;
所述服务器确定所述终端的心跳周期,包括:所述服务器在确定所述终端所属的运营商网络与所述服务器自身所属的运营商网络相同时,确定所述终端的心跳周期。
该优选方案在确定终端所属的运营商网络与所述服务器自身所属的运营商网络相同时,才确定所述终端的心跳周期。
较佳地,在服务器确定所述终端所属运营商网络之后,所述方法还包括:
所述服务器在确定所述终端所属的运营商网络与所述服务器自身所属的运营商网络不同时,丢弃所述心跳周期查询请求。
采用本优选方案,避免了对不属于本运营商网络的终端设置心跳周期。
第二方面,本发明实施例提供一种发送心跳报文的方法,所述方法包括:
终端上运行的应用在每一次发送心跳报文时,向所述终端上运行的心跳中间件发送时延查询请求,查询所述应用下一次发送心跳报文需要经过的时延;
所述应用接收所述心跳中间件响应所述时延查询请求返回的所述时延;
其中,所述时延是所述心跳中间件通过如下方式确定的:
若所述时延查询请求为所述心跳中间件收到的第一个时延查询请求,则所述心跳中间件确定所述时延为所述应用发送心跳报文的心跳周期;否则所述心跳中间件确定所述时延为周期定时器在定时周期内的剩余时长;其中,所述周期定时器在所述心跳中间件收到第一个时延查询请求时启动,所述定时周期为所述应用发送心跳报文的心跳周期。
采用该方案,可实现终端上运行的各应用同步发送心跳报文。
第三方面,本发明实施例提供一种发送心跳报文的方法,所述方法包括:
终端上运行的心跳中间件接收所述终端上运行的应用在每一次发送心跳报文时发送的时延查询请求,所述时延查询请求用于查询所述应用下一次发送 心跳报文需要经过的时延;
所述心跳中间件确定所述时延;
所述心跳中间件将确定的所述时延返回给所述应用;
其中,所述心跳中间件确定所述时延,包括:
若所述时延查询请求为所述心跳中间件收到的第一个时延查询请求,则所述心跳中间件确定所述时延为所述应用发送心跳报文的心跳周期;否则所述心跳中间件确定所述时延为周期定时器在定时周期内的剩余时长;其中,所述周期定时器在所述心跳中间件收到第一个时延查询请求时启动,所述定时周期为所述应用发送心跳报文的心跳周期。
采用该方案,可实现终端上运行的各应用同步发送心跳报文。
较佳地,在所述心跳中间件确定所述时延之前,所述方法还包括:
所述心跳中间件向用于设置心跳周期的服务器发出心跳周期查询请求后,从所述服务器处接收所述应用发送心跳报文的周期。
采用该方案,可实现通过服务器设置终端发送心跳报文的周期。
第四方面,本发明实施例提供一种服务器,所述服务器包括:
收发模块,用于接收终端发送的心跳周期查询请求;
处理模块,在所述收发模块收到所述心跳周期查询请求后,确定所述终端的心跳周期;
所述收发模块还用于:将所述处理模块确定的所述心跳周期发送给所述终端,以使所述终端上运行的应用根据所述心跳周期发送心跳报文。
通过服务器设置终端发送心跳报文的周期,实现更灵活。
较佳地,所述处理模块具体用于:
确定所述终端当前所在地;
根据预设的地点与心跳周期的映射关系,确定所述终端当前所在地对应的心跳周期为所述终端的心跳周期。
该优选方案实现了根据终端所在地确定终端的心跳周期。
较佳地,所述处理模块在确定所述终端当前所在地时,具体用于:
向用于记录所述终端当前所在地信息的设备发送位置查询请求;
根据用于记录所述终端当前所在地信息的设备返回的所述终端当前所在地信息,确定所述终端当前所在地。
该优选方案给出了服务器确定终端当前所在地的方法。
较佳地,所述处理模块还用于:在所述收发模块接收所述心跳周期查询请求后,所述处理模块确定所述终端的心跳周期之前,确定所述终端所属运营商网络;
所述处理模块具体用于:在确定所述终端所属的运营商网络与所述服务器自身所属的运营商网络相同时,确定所述终端的心跳周期。
该优选方案在确定终端所属的运营商网络与所述服务器自身所属的运营商网络相同时,才确定所述终端的心跳周期。
较佳地,所述处理模块还用于:
在确定所述终端所属运营商网络之后,若确定所述终端所属的运营商网络与所述服务器自身所属的运营商网络不同时,丢弃所述心跳周期查询请求。
采用本优选方案,避免了对不属于本运营商网络的终端设置心跳周期。
第五方面,本发明实施例提供一种终端上运行的应用单元,所述应用单元包括:消息收发模块和用于发送心跳报文的心跳报文发送模块;
其中,所述消息收发模块用于:在每一次所述心跳报文发送模块发送心跳报文时,向所述终端上运行的心跳中间件发送时延查询请求,查询所述心跳发送模块下一次发送心跳报文需要经过的时延,以及接收所述心跳中间件响应所述时延查询请求返回的所述时延;
其中,所述时延是所述心跳中间件通过如下方式确定的:
若所述时延查询请求为所述心跳中间件收到的第一个时延查询请求,则所述心跳中间件确定所述时延为所述应用发送心跳报文的心跳周期;否则所述心跳中间件确定所述时延为周期定时器在定时周期内的剩余时长;其中,所述周 期定时器在所述心跳中间件收到第一个时延查询请求时启动,所述定时周期为所述应用发送心跳报文的心跳周期。
采用该方案,可实现终端上运行的各应用同步发送心跳报文。
第六方面,本发明实施例提供一种终端上运行的中间件单元,所述中间件单元包括:
收发模块,用于接收所述终端上运行的应用在每一次发送心跳报文时发送的时延查询请求,所述时延查询请求用于查询所述应用下一次发送心跳报文需要经过的时延;
处理模块,用于确定所述时延;
所述收发模块还用于,将所述处理模块确定的所述时延返回给所述应用;
其中,所述处理模块具体用于:若所述时延查询请求为所述收发模块收到的第一个时延查询请求,则确定所述时延为所述应用发送心跳报文的心跳周期;否则确定所述时延为周期定时器在定时周期内的剩余时长;其中,所述周期定时器在所述收发模块收到第一个时延查询请求时启动,所述定时周期为所述应用发送心跳报文的心跳周期。
采用该方案,可实现终端上运行的各应用同步发送心跳报文。
较佳地,所述收发模块还用于:在所述处理模块确定所述时延之前,向用于设置心跳周期的服务器发出心跳周期查询请求后,从所述服务器处接收所述应用发送心跳报文的周期。
采用该方案,可实现通过服务器设置终端发送心跳报文的周期。
第七方面,本发明实施例提供一种终端,所述终端包括所述终端上运行的应用单元和所述终端上运行的心跳中间件单元,
所述应用单元用于,在每一次发送心跳报文前,向所述心跳中间件单元发送时延查询请求,获取所述应用单元下一次发送心跳报文需要经过的时延;
所述心跳中间件单元用于,在收到所述应用单元发送的所述时延查询请求后,确定所述时延,并将确定的所述时延返回给所述应用单元;
所述心跳中间件单元具体用于:
若所述应用单元发送的所述时延查询请求为所述心跳中间件单元收到的第一个时延查询请求,则确定所述时延为所述应用单元发送心跳报文的心跳周期;否则确定所述时延为周期定时器在定时周期内的剩余时长;其中,所述周期定时器在所述心跳中间件单元收到第一个时延查询请求时启动,所述定时周期为所述应用单元发送心跳报文的心跳周期。
采用该方案,可实现终端上运行的各应用同步发送心跳报文。
较佳地,所述心跳中间件单元还用于:
在确定所述时延之前,向用于设置心跳周期的服务器发出心跳周期查询请求后,从所述服务器处接收所述应用发送心跳报文的周期。
采用该方案,可实现通过服务器设置终端发送心跳报文的周期。
附图说明
图1为本发明实施例提供的设置应用发送心跳报文周期的方法过程的示意图;
图2为本发明实施例提供的服务器的结构示意图;
图3为本发明实施例提供的终端的结构示意图;
图4为本发明实施例提供的终端获取下一次发送心跳报文需要经过时延的方法过程示意图;
图5为本发明实施例中实现各应用同步发送心跳报文的原理示意图;
图6为本发明实施例提供的第一种发送心跳报文的方法过程示意图;
图7为本发明实施例提供的第二种发送心跳报文的方法过程示意图;
图8为本发明实施例提供的一种终端上运行的应用的结构示意图;
图9为本发明实施例提供的一种终端上运行的中间件的结构示意图。
具体实施方式
本发明实施例提供一种设置应用发送心跳报文周期的方法和服务器,用于解决现有的发送心跳报文的周期在移动应用开发时固定设置,不灵活的问题。在本发明实施例提供的设置应用发送心跳报文周期的方法中,用于设置心跳周期的服务器接收终端发送的心跳周期查询请求后,确定终端的心跳周期;服务器将确定的心跳周期发送给终端,以使终端上运行的应用根据心跳周期发送心跳报文。通过服务器配置终端的心跳周期,方法更灵活。
本发明实施例还提供了一种发送心跳报文的方法、一种终端上运行的应用单元、终端上运行的中间件单元和一种终端,用于解决终端上同时运行的多个需要发送心跳报文的移动应用发送心跳报文不同步时,无法减小对资源占用的问题。在本发明实施例提供的发送心跳报文的方法中,终端上运行的应用在每一次发送心跳报文时,向终端上运行的心跳中间件发送时延查询请求,查询应用下一次发送心跳报文需要经过的时延;应用接收心跳中间件响应时延查询请求返回的时延;其中,时延是心跳中间件通过如下方式确定的:若时延查询请求为心跳中间件收到的第一个时延查询请求,则心跳中间件确定时延为应用发送心跳报文的心跳周期;否则心跳中间件确定时延为周期定时器在定时周期内的剩余时长;其中,周期定时器在心跳中间件收到第一个时延查询请求时启动,定时周期为应用发送心跳报文的心跳周期。各个应用在初次发送心跳报文时,无法实现同步发送心跳报文,但由于在初次发送心跳报文时,从心跳中间件处获取下一次发送心跳报文需要经过的时延,并且该时延为以应用发送心跳报文的心跳周期为定时周期的周期定时器在定时周期内的剩余时长,从而使得各应用在第二次发送心跳报文时,可以同时发送,并且从第二次发送跳报文开始,各应用均以相同的周期发送心跳报文。从而实现各应用发送心跳报文的同步,减小对资源的占用。
下面,结合附图对本发明提供的实施例进行说明。
图1为本发明实施例提供的设置应用发送心跳报文周期的方法过程的示意图。如图1所示,该方法包括:
S101:用于设置心跳周期的服务器接收终端发送的心跳周期查询请求;
S102:服务器确定终端的心跳周期;
S103:服务器将确定的心跳周期发送给终端,以使终端上运行的应用根据心跳周期发送心跳报文。
其中,步骤S101中,终端可定时向服务器发送心跳周期查询请求(比如:7天),以获取终端的心跳周期。
终端上可能同时运行有多个应用,比如应用1、应用2、应用3、应用4等,终端可为其上运行的所有应用查询心跳周期,也可以为部分应用(比如应用2和应用3)查询心跳周期。
一种终端使用时的可能的场景包括:终端上运行有应用1、应用2和应用3,用户在终端上新安装了应用4,此时,终端可仅为应用4向服务器发送查询心跳周期查询请求,以获取应用4发送心跳报文的周期。
在本发明实施例中,终端上运行的各应用可以相同的心跳周期发送心跳报文,也可以不同的心跳周期发送心跳报文。比如,应用1、应用2以30s为周期发送心跳报文,应用3和应用4以60s为周期发送心跳报文。
用于设置心跳周期的服务器可位于互联网端,也可位于移动网络的核心网中。运营商可依据不同地点的移动网络的网络配置和话务量等因素,在服务器上为不同地点的移动网络预设对应的心跳周期。比如:某地点的移动网络配置的无线信道资源充足,且话务量较低,在峰值话务量下,移动网络的无线资源平均占用率仅为20%,则可为该地点的移动网络预设较短的心跳周期,可保障应用与应用服务器之间的数据连接,充分保证用户正常使用应用。再比如:另一地点的移动网络配置的无线信道资源不足,且话务量较高,在峰值话务量下,移动网络的无线资源平均占用率仅为80%,则可为该地点的移动网络预设较长的心跳周期,以减小心跳报文的发送对资源的占用,留有足够的资源供其他无线业务使用。
此外,运营商也可根据网络配置和话务量情况的变化,随时调整各地的移 动网络对应的心跳周期。
因此,可选地,步骤S102中,服务器确定终端的心跳周期,包括如下子步骤:
S1021:服务器确定终端当前所在地;
S1022:服务器根据预设的地点与心跳周期的映射关系,确定终端当前所在地对应的心跳周期作为终端的心跳周期。
其中,终端在向服务器发送心跳周期查询请求时,可在该心跳周期查询请求中携带该终端的标识(比如:国际移动用户识别码(International Mobile Subscriber Identification Number,IMSI)),服务器在收到该心跳周期查询请求后,可获取其中的IMSI,并可通过如下子步骤确定终端当前所在地:
S1021a:服务器向用于记录该终端所在地信息的设备(比如:归属位置寄存器(Home Location Register,HLR))发送位置查询请求,请求中携带该终端的IMSI;
S1021b:服务器接收HLR返回的终端当前所在地信息(比如:位置区标识(Location Area Indentifier,LAI)),根据收到的终端当前所在地信息确定终端当前所在地。
可选地,在步骤S101服务器接收终端发送的心跳周期查询请求之后,步骤S102确定终端的心跳周期之前,该方法还包括:
S101’:服务器确定终端所属运营商网络;
步骤S102服务器确定终端的心跳周期,包括:服务器在确定终端所属的运营商网络与服务器自身所属的运营商网络相同时,确定终端的心跳周期。
可选地,在步骤S101’服务器确定终端所属运营商网络之后,方法还包括:
服务器在确定终端所属的运营商网络与服务器自身所属的运营商网络不同时,丢弃心跳周期查询请求。该情况下,不再执行步骤S102和步骤S103。
基于同一发明构思,本发明实施例还提供了一种服务器,由于该服务器解决技术问题的原理与本发明实施例提供的设置应用发送心跳报文周期的方法 类似,其实施可参照该方法的实施,因此重复之处不再赘述。
图2为本发明实施例提供的服务器的结构示意图。如图2所示,该服务器包括:
收发模块201,用于接收终端发送的心跳周期查询请求;
处理模块202,在收发模块201收到心跳周期查询请求后,确定终端的心跳周期;
收发模块201还用于:将处理模块202确定的心跳周期发送给终端,以使终端上运行的应用根据心跳周期发送心跳报文。
可选地,处理模块202具体用于:
确定终端当前所在地;
根据预设的地点与心跳周期的映射关系,确定终端当前所在地对应的心跳周期作为终端的心跳周期。
可选地,处理模块202在确定终端当前所在地时,具体用于:
向用于记录终端当前所在地信息的设备发送位置查询请求;
根据用于记录终端当前所在地信息的设备返回的终端当前所在地信息,确定终端当前所在地。
可选地,处理模块202还用于:在收发模块201接收心跳周期查询请求后,处理模块202确定终端的心跳周期之前,确定终端所属运营商网络;
处理模块202具体用于:在确定终端所属的运营商网络与服务器自身所属的运营商网络相同时,确定终端的心跳周期。
可选地,处理模块202还用于:
在确定终端所属运营商网络之后,若确定终端所属的运营商网络与服务器自身所属的运营商网络不同时,丢弃心跳周期查询请求。
在本发明实施例提供的上述设置应用发送心跳报文周期的方法和服务器中,服务器在收到终端发送的心跳周期查询请求后,将确定的心跳周期发送给终端,对终端发送心跳报文的心跳周期进行设置,方案灵活,解决了现有的发 送心跳报文的机制缺乏灵活性的问题。
接下来结合附图,对本发明实施例提供发送心跳报文的方法、终端、终端上运行的应用,以及终端上运行的中间件进行详细描述。
图3为本发明实施例提供的终端的结构示意图。如图3所示,该终端包括:
该终端上运行的应用单元301和该终端上运行的心跳中间件单元302,
应用单元301用于,在每一次发送心跳报文时,向心跳中间件单元302发送时延查询请求,获取应用单元301下一次发送心跳报文需要经过的时延;
心跳中间件单元302用于,在收到应用单元301发送的时延查询请求后,确定时延,并将确定的时延返回给应用单元301;
心跳中间件单元302具体用于:
若应用单元301发送的时延查询请求为心跳中间件单元302收到的第一个时延查询请求,则确定时延为应用单元301发送心跳报文的心跳周期;否则确定时延为周期定时器在定时周期内的剩余时长;其中,周期定时器在心跳中间件单元302收到第一个时延查询请求时启动,定时周期为应用单元301发送心跳报文的心跳周期。
可选地,心跳中间件单元302向应用单元301提供接口,应用单元301通过调用该接口,向心跳中间件单元302发送上述时延查询请求,获取应用单元301下一次发送心跳报文需要经过的时延D,并发送心跳报文,如图4所示,上述过程可通过如下步骤实现:
S401:应用单元301在每一次发送心跳报文前,先调用心跳中间件单元302提供的上述接口,读取时延D;
S402:应用单元301在收到心跳中间件单元302返回的时延D后,即启动心跳报文发送定时器Timer1;其中,Timer1的计时周期等于D,并在启动Timer1的同时发出心跳报文;
S403:Timer1到期后,返回步骤S401。
步骤S401~步骤S403仅为一种可选的实现方式,应用单元301也可以在 每一次发送心跳报文后,调用心跳中间件单元302提供的接口读取时延D。由于步骤S401~步骤S403处理的时间非常短,可近似地认为发送心跳报文、读取时延D、获取时延D、启动Timer1的时刻为同一时刻。
具体地,心跳中间件单元302可通过如下方式确定时延D:
心跳中间件单元302维持时延定时器Timer2,Timer2的定时周期等于应用单元301发送心跳报文的周期,Timer2一旦启动,到期后即被重置,重新计时;
心跳中间件单元302维护一个首次读取标识位Flag1,心跳中间件单元302在启动时将其置为真(True);
心跳中间件单元302收到应用单元301发送的上述时延查询请求后,首先确定Flag1的值,若Flag1为True,则将Flag1置为假(False),将应用单元301发送心跳报文的心跳周期P作为时延D返回给应用单元301,同时启动Timer2;若Flag1为False,则将Timer2在定时周期内的剩余时间T_left返回给应用单元301。
可选地,心跳中间件单元302还用于:
在确定时延之前,向用于设置心跳周期的服务器发出心跳周期查询请求后,从服务器处接收应用发送心跳报文的周期。
其中,用于设置心跳周期的服务器的实现可参照本发明实施例提供的上述服务器。可选地,心跳中间件单元302可预置一个心跳周期初始值,在收到服务器返回的心跳周期后,心跳中间件单元302将其记录的心跳周期值更新为收到的心跳周期。
采用本发明实施例提供的终端,可实现终端上运行的各应用同步发送心跳报文。下面,结合图5具体说明采用本发明实施例实现各应用同步发送心跳报文的原理。
假设终端上同时运行了3个应用,应用A、应用B和应用C。
应用A在发送心跳报文前(以下将应用A发送的心跳报文简称为“报文 A”),向心跳中间件单元302发送时延查询请求;
心跳中间件单元302收到该时延查询请求后,确定Flag1=True,则确定该时延查询请求为其收到的第一个时延查询请求,确定时延D等于心跳周期P,将P返回给应用A,同时启动周期定时器Timer2,Timer2的定时周期为心跳周期P;
应用A收到P后,即发送心跳报文,同时启动定时器Timer1_A(应用A上的Timer1即为Timer1_A),Timer1_A的时长为收到的时延D,这里D=P,即应用A在P时间后发送下一个报文A(这里,可认为应用A向心跳中间件单元302发送时延查询请求,并从心跳中间件单元302处获取时延D的时间非常短,可以忽略不计,即可近似地认为应用A向心跳中间件单元302发送时延查询请求、应用A发送心跳报文,以及应用A启动Timer1_A、心跳中间件单元302启动Timer2的时刻为同一时刻);
在心跳中间件单元302的Timer2的第一个定时周期内,心跳中间件单元302还收到了应用B发送的时延查询请求,设定应用A发送第一个时延查询请求的时刻为基准时刻T0=0,应用B发送时延查询请求的时刻为T1,此时,心跳中间件单元302的Timer2已经逝去T1,其在定时周期内剩余的时长为P-T1,因此,当心跳中间件单元302收到应用B发送的时延查询请求后,其确定时延D=P-T1,将P-T1返回给应用B;
应用B在收到时延P-T1后,即发送心跳报文(以下将应用B发送的心跳报文简称为“报文B”),同时启动定时器Timer1_B(应用B上的Timer1即为Timer1_B),Timer1_B的时长为收到的时延P-T1,即应用B在P-T1时间后发送下一个报文B;
这里,由于应用A在基准时刻T0=0启动Timer1_A,且Timer1_A的时长为P,应用B在T1时刻启动Timer_B,Timer_B的时长为P-T1,则应用A和应用B可在同一时刻P(仍以T0为基准时刻)发送下一个心跳报文,从而实现了应用A和应用B同步发送心跳报文;
应用A和应用B在时刻P再次向心跳中间件单元302发送时延查询请求,由于心跳中间件单元302在时刻P,Timer2到期,Timer2重新计时,因此心跳中间件单元302向应用A和应用B返回的时延都为P,应用A在时刻P发送第二个报文A,应用B在时刻P发送第二个报文B,同时应用A启动定时器Timer1_A,时长为P;应用B启动定时器Timer1_B,时长也为P,即应用A和应用B均在时刻2P发送下一个心跳报文;
在Timer2启动后的第二个定时周期内的时刻T2,心跳中间件单元302收到应用C发送的时延查询请求,心跳中间件单元302将Timer2在定时周期内剩余的时长2P-T2发给应用C,则应用C在时刻T2发送心跳报文(以下将应用C发送的心跳报文简称为“报文C”),并启动定时器Timer1_C(应用C上的Timer1即为Timer1_C),Timer1_C的时长为收到的时延2P-T2,即应用C在T2时刻后的2P-T2时间后(即2P时刻,这里仍以T0为基准时刻),发送下一个报文C,而如前,应用A和应用B也在2P时刻发送下一个心跳报文,即在2P时刻,应用A、应用B和应用C同时发送心跳报文;
以此类推,在2P以后,各应用均以周期P发送心跳报文,且能够实现各应用同步发送心跳报文。
基于相同的发明构思,本发明实施例还提供了一种发送心跳报文的方法、一种终端上运行的应用和一种终端上运行的中间件。由于其解决技术问题的原理与本发明实施例提供的终端类似,其实施可参考终端的实施,重复之处不再赘述。
图6为本发明实施例提供的第一种发送心跳报文的方法过程示意图。如图6所示,该方法包括:
S601:终端上运行的应用在每一次发送心跳报文时,向终端上运行的心跳中间件发送时延查询请求,查询应用下一次发送心跳报文需要经过的时延;
S602:应用接收心跳中间件响应时延查询请求返回的时延;
其中,时延是心跳中间件通过如下方式确定的:
若时延查询请求为心跳中间件收到的第一个时延查询请求,则心跳中间件确定时延为应用发送心跳报文的心跳周期;否则心跳中间件确定时延为周期定时器在定时周期内的剩余时长;其中,周期定时器在心跳中间件收到第一个时延查询请求时启动,定时周期为应用发送心跳报文的心跳周期。
图7为本发明实施例提供的第二种发送心跳报文的方法过程示意图。如图7所示,该方法包括:
S701:终端上运行的心跳中间件接收终端上运行的应用在每一次发送心跳报文时发送的时延查询请求,时延查询请求用于查询应用下一次发送心跳报文需要经过的时延;
S702:心跳中间件确定时延;
S703:心跳中间件将确定的时延返回给应用;
其中,心跳中间件确定时延,包括:
若时延查询请求为心跳中间件收到的第一个时延查询请求,则心跳中间件确定时延为应用发送心跳报文的心跳周期;否则心跳中间件确定时延为周期定时器在定时周期内的剩余时长;其中,周期定时器在心跳中间件收到第一个时延查询请求时启动,定时周期为应用发送心跳报文的心跳周期。
可选地,在步骤S702,心跳中间件确定时延之前,该方法还包括:
心跳中间件向用于设置心跳周期的服务器发出心跳周期查询请求后,从服务器处接收应用发送心跳报文的周期。
图8为本发明实施例提供的一种终端上运行的应用单元的结构示意图。如图8所示,该应用单元包括:消息收发模块801和用于发送心跳报文的心跳报文发送模块802;
其中,消息收发模块801用于:在每一次心跳报文发送模块802发送心跳报文时,向终端上运行的心跳中间件发送时延查询请求,查询心跳发送模块下一次发送心跳报文需要经过的时延,以及接收心跳中间件响应时延查询请求返回的时延;
其中,时延是心跳中间件通过如下方式确定的:
若时延查询请求为心跳中间件收到的第一个时延查询请求,则心跳中间件确定时延为应用发送心跳报文的心跳周期;否则心跳中间件确定时延为周期定时器在定时周期内的剩余时长;其中,周期定时器在心跳中间件收到第一个时延查询请求时启动,定时周期为应用发送心跳报文的心跳周期。
图9为本发明实施例提供的一种终端上运行的中间件单元的结构示意图。如图9所示,该中间件单元包括:
收发模块901,用于接收终端上运行的应用在每一次发送心跳报文时发送的时延查询请求,时延查询请求用于查询应用下一次发送心跳报文需要经过的时延;
处理模块902,用于确定时延;
收发模块901还用于,将处理模块902确定的时延返回给应用;
其中,处理模块902具体用于:若时延查询请求为收发模块901收到的第一个时延查询请求,则确定时延为应用发送心跳报文的心跳周期;否则确定时延为周期定时器在定时周期内的剩余时长;其中,周期定时器在收发模块901收到第一个时延查询请求时启动,定时周期为应用发送心跳报文的心跳周期。
可选地,收发模块901还用于:在处理模块902确定时延之前,向用于设置心跳周期的服务器发出心跳周期查询请求后,从服务器处接收应用发送心跳报文的周期。
采用本发明实施例提供的终端、发送心跳报文的方法、终端上运行的应用单元和终端上运行的中间件单元,可实现终端上运行的多个应用同步发送心跳报文,这样,能够大大降低终端和移动网络的资源消耗,同时也降低了终端的能耗,对现有终端的改动较小,且无需对现有运行的移动网络进行改造。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包 含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

一种发送心跳报文的方法和设备.pdf_第1页
第1页 / 共18页
一种发送心跳报文的方法和设备.pdf_第2页
第2页 / 共18页
一种发送心跳报文的方法和设备.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《一种发送心跳报文的方法和设备.pdf》由会员分享,可在线阅读,更多相关《一种发送心跳报文的方法和设备.pdf(18页珍藏版)》请在专利查询网上搜索。

本发明涉及通信技术领域,尤其涉及一种发送心跳报文的方法和设备,用以解决现有的发送心跳报文周期在移动应用开发时固定设置,缺乏灵活性的问题。在本发明实施例提供的设置应用发送心跳报文周期的方法中,用于设置心跳周期的服务器接收终端发送的心跳周期查询请求后,确定所述终端的心跳周期;所述服务器将确定的所述心跳周期发送给所述终端,以使所述终端上运行的应用根据所述心跳周期发送心跳报文。通过服务器配置终端的心跳周期。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1