移动终端、心跳转发服务器以及心跳信息发送方法和系统的制作方法

文档序号:7807562阅读:291来源:国知局
移动终端、心跳转发服务器以及心跳信息发送方法和系统的制作方法
【专利摘要】本发明公开了一种移动终端、心跳转发服务器以及心跳信息发送方法和系统,所述方法包括:移动终端在每个心跳发送周期到达时,根据上个心跳发送周期内各应用程序发送的心跳信息,封装统一心跳数据包后通过终端无线基带模块向心跳转发服务器进行发送。心跳转发服务器接收到统一心跳数据包后,从中解析出移动终端的标识,以及各应用程序的信息;确定出与解析出的移动终端的标识相对应的应用程序状态表后,根据解析出的各应用程序的信息对应用程序状态表中的各应用程序的状态进行更新;并对于应用程序状态表中每个状态为在线的应用程序,自行根据该应用程序的心跳周期发送该应用程序的心跳信息。该方法可以节省无线信道资源、减少移动终端能耗。
【专利说明】移动终端、心跳转发服务器以及心跳信息发送方法和系统
【技术领域】
[0001]本发明涉及网络领域,尤其涉及一种移动终端、心跳转发服务器以及心跳信息发送方法和系统。
【背景技术】
[0002]随着移动终端智能化程度的迅猛发展,可以用于移动终端的网络服务应用也越来越多。这些网络服务应用为了向应用服务器表明在线状态以及更新所在移动终端的地址,每个网络服务应用都需要向应用服务器定时发送心跳信息(或称状态信息)。比如,安装有腾讯QQ应用程序的移动终端向QQ应用服务器发送QQ的在线、离线状态消息等心跳信息;安装有微博应用程序的移动终端向微博应用服务器发送微博的在线、离线状态消息等心跳信息。
[0003]现有的心跳信息发送系统的架构如图1所示,包括:移动终端101和应用服务器102。基于该系统的心跳信息发送方法通常是:移动终端101对于本终端上的每个网络服务应用,根据该网络服务应用的心跳周期调用终端无线基带模块,向应用服务器102发送该网络服务应用的心跳信息。具体地,移动终端101可以包括手机、平板电脑等。
[0004]在实际应用中,通常不同的网络服务应用拥有不同的心跳周期,而且这些不同的网络服务应用往往按照各自的心跳周期唤醒移动终端,以使移动终端调用终端无线基带模块进行心跳信息的发送。然而,当移动终端上的网络服务应用运行较多时,移动终端所需要发送的心跳信息越来越频繁,导致移动终端频繁调用终端无线基带模块,使得无线信道占用率也越来越高,移动智能终端的休眠比例(即休眠时间与唤醒时间的比例)越来越低,最终造成无线信道资源浪费严重以及移动终端能耗过快。
[0005]综上,现有的心跳信息发送方法会造成无线信道资源浪费以及移动终端能耗过快。

【发明内容】

[0006]针对上述现有技术存在的缺陷,本发明实施例提供了一种移动终端、心跳转发服务器以及心跳信息发送方法和系统,用以节约无线信道资源、减少移动终端能耗。
[0007]本发明实施例提供了一种心跳信息发送方法,包括:
[0008]移动终端在每个心跳发送周期到达时,根据上个心跳发送周期内各应用程序发送的心跳信息,封装统一心跳数据包后通过终端无线基带模块向心跳转发服务器进行发送;
[0009]所述心跳转发服务器接收到所述统一心跳数据包后,从中解析出移动终端的标识,以及各应用程序的信息;确定出与解析出的移动终端的标识相对应的应用程序状态表后,根据解析出的各应用程序的信息对所述应用程序状态表中的各应用程序的状态进行更新;并对于所述应用程序状态表中每个状态为在线的应用程序,自行根据该应用程序的心跳周期发送该应用程序的心跳信息。
[0010]较佳地,所述根据上个心跳发送周期内各应用程序发送的心跳信息,封装统一心跳数据包,具体包括:
[0011]对于上个心跳发送周期内每个应用程序发送的心跳信息,将该心跳信息对应该应用程序的编号记录到本地的心跳信息数据库中作为新增记录;其中,所述应用程序发送的心跳信息包括:心跳时间、终端地址、服务器地址、该应用程序的心跳周期;
[0012]对于每个新增记录,获取该新增记录中的应用程序的编号和比对信息后,查找所述心跳信息数据库中前一条对应该应用程序的编号记录的心跳信息;若新增记录中的比对信息与查找出的心跳信息中的比对信息不同,则将该新增记录标记为首次发送;其中,所述比对信息包括:终端地址、服务器地址;
[0013]从每个没有标记为首次发送的新增记录中提取应用程序的编号和心跳时间作为简要信息后,将所述移动终端的标识、标记为首次发送的新增记录,以及提取的简要信息封装到所述统一心跳数据包中。
[0014]较佳地,所述根据解析出的各应用程序的信息对所述应用程序状态表中的各应用程序的状态进行更新,具体包括:
[0015]所述心跳转发服务器若从所述统一心跳数据包中解析出应用程序的心跳信息,则将解析出的应用程序的心跳信息中的地址信息,对应该应用程序的编号记录到与解析出的移动终端的标识相对应的心跳信息缓存表中;将解析出的应用程序的心跳信息中的心跳周期,对应该应用程序的编号记录到与解析出的移动终端的标识相对应的应用程序基本信息表中;使用解析出的应用程序的心跳信息中的心跳时间,更新所述应用程序状态表中对应该应用程序的编号记录的时间,并对应该应用程序的编号记录该应用程序的状态为在线;
[0016]所述心跳转发服务器若从所述统一心跳数据包中解析出应用程序的简要信息,则使用解析出的应用程序的简要信息中的心跳时间,更新所述应用程序状态表中对应该应用程序的编号记录的时间,并对应该应用程序的编号记录该应用程序的状态为在线;
[0017]所述心跳转发服务器对于所述应用程序状态表中未被更新时间的每个应用程序的编号,获取与该应用程序的编号对应记录的最大状态更新时间,并在判断出与该应用程序的编号对应记录的时间与当前时间的差值大于获取的最大状态更新时间后,将对应该应用程序的编号记录的该应用程序的状态修改为离线。
[0018]其中,所述与该应用程序的编号对应记录的最大状态更新时间根据如下方法确定:
[0019]根据如下公式I计算出与该应用程序的编号对应记录的最大状态更新时间Tu:
[0020]
【权利要求】
1.一种心跳信息发送方法,其特征在于,包括: 移动终端在每个心跳发送周期到达时,根据上个心跳发送周期内各应用程序发送的心跳信息,封装统一心跳数据包后通过终端无线基带模块向心跳转发服务器进行发送; 所述心跳转发服务器接收到所述统一心跳数据包后,从中解析出移动终端的标识,以及各应用程序的信息;确定出与解析出的移动终端的标识相对应的应用程序状态表后,根据解析出的各应用程序的信息对所述应用程序状态表中的各应用程序的状态进行更新;并对于所述应用程序状态表中每个状态为在线的应用程序,自行根据该应用程序的心跳周期发送该应用程序的心跳信息。
2.如权利要求1所述的方法,其特征在于,所述根据上个心跳发送周期内各应用程序发送的心跳信息,封装统一心跳数据包,具体包括: 对于上个心跳发送周期内每个应用程序发送的心跳信息,将该心跳信息对应该应用程序的编号记录到本地的心跳信息数据库中作为新增记录;其中,所述应用程序发送的心跳信息包括:心跳时间、终端地址、服务器地址、该应用程序的心跳周期; 对于每个新增记录,获取该新增记录中的应用程序的编号和比对信息后,查找所述心跳信息数据库中前一条对应该应用程序的编号记录的心跳信息;若新增记录中的比对信息与查找出的心跳信息中的比对信息不同,则将该新增记录标记为首次发送;其中,所述比对信息包括:终端地址、服务器地址; 从每个没有标记为首次发送的新增记录中提取应用程序的编号和心跳时间作为简要信息后,将所述移动终端的标识、标记为首次发送的新增记录,以及提取的简要信息封装到所述统一心跳数据包 中。
3.如权利要求2所述的方法,其特征在于,所述根据解析出的各应用程序的信息对所述应用程序状态表中的各应用程序的状态进行更新,具体包括: 所述心跳转发服务器若从所述统一心跳数据包中解析出应用程序的心跳信息,则将解析出的应用程序的心跳信息中的地址信息,对应该应用程序的编号记录到与解析出的移动终端的标识相对应的心跳信息缓存表中;将解析出的应用程序的心跳信息中的心跳周期,对应该应用程序的编号记录到与解析出的移动终端的标识相对应的应用程序基本信息表中;使用解析出的应用程序的心跳信息中的心跳时间,更新所述应用程序状态表中对应该应用程序的编号记录的时间,并对应该应用程序的编号记录该应用程序的状态为在线; 所述心跳转发服务器若从所述统一心跳数据包中解析出应用程序的简要信息,则使用解析出的应用程序的简要信息中的心跳时间,更新所述应用程序状态表中对应该应用程序的编号记录的时间,并对应该应用程序的编号记录该应用程序的状态为在线; 所述心跳转发服务器对于所述应用程序状态表中未被更新时间的每个应用程序的编号,获取与该应用程序的编号对应记录的最大状态更新时间,并在判断出与该应用程序的编号对应记录的时间与当前时间的差值大于获取的最大状态更新时间后,将对应该应用程序的编号记录的该应用程序的状态修改为离线。
4.如权利要求3所述的方法,其特征在于,所述与该应用程序的编号对应记录的最大状态更新时间根据如下方法确定: 根据如下公式I计算出与该应用程序的编号对应记录的最大状态更新时间Tu:
5.—种心跳信息发送系统,其特征在于,包括: 移动终端,用于在每个心跳发送周期到达时,根据上个心跳发送周期内各应用程序发送的心跳信息,封装统一心跳数据包后通过终端无线基带模块进行发送; 心跳转发服务器,用于接收到所述移动终端发送的统一心跳数据包后,从中解析出移动终端的标识,以及各应用程序的信息;确定出与解析出的移动终端的标识相对应的应用程序状态表后,根据解析出的各应用程序的信息对所述应用程序状态表中的各应用程序的状态进行更新;并对于所述应用程序状态表中每个状态为在线的应用程序,自行根据该应用程序的心跳周期发送该应用程序的心跳信息。
6.如权利要求5所述的系统,其特征在于, 所述移动终端具体用于在每个心跳发送周期到达时,对于上个心跳发送周期内每个应用程序发送的心跳信息,将该心跳信息对应该应用程序的编号记录到本地的心跳信息数据库中作为新增记录;对于每个新增记录,获取该新增记录中的应用程序的编号和比对信息后,查找所述心跳信息数据库中前一条对应该应用程序的编号记录的心跳信息;若新增记录中的比对信息与查找出的心跳信息中的比对信息不同,则将该新增记录标记为首次发送;从每个没有标记为首次发送的新增记录中提取应用程序的编号和心跳时间作为简要信息后,将所述移动终端的标识、标记为首次发送的新增记录,以及提取的简要信息封装到所述统一心跳数据包中;其中,所述应用程序发送的心跳信息包括:心跳时间、终端地址、月艮务器地址、该应用程序的心跳周期;所述比对信息包括:终端地址、服务器地址;以及 所述心跳转发服务器具体用于若从接收的统一心跳数据包中解析出应用程序的心跳信息,则将解析出的应用程序的心跳信息中的地址信息,对应该应用程序的编号记录到与解析出的移动终端的标识相对应的心跳信息缓存表中;将解析出的应用程序的心跳信息中的心跳周期,对应该应用程序的编号记录到与解析出的移动终端的标识相对应的应用程序基本信息表中;使用解析出的应用程序的心跳信息中的心跳时间,更新所述应用程序状态表中对应该应用程序的编号记录的时间,并对应该应用程序的编号记录该应用程序的状态为在线;若从所述统一心跳数据包中解析出应用程序的简要信息,则使用解析出的应用程序的简要信息中的心跳时间,更新所述应用程序状态表中对应该应用程序的编号记录的时间,并对应该应用程序的编号记录该应用程序的状态为在线;以及所述心跳转发服务器对于所述应用程序状态表中未被更新时间的每个应用程序的编号,获取与该应用程序的编号对应记录的最大状态更新时间,并在判断出与该应用程序的编号对应记录的时间与当前时间的差值大于获取的最大状态更新时间后,将对应该应用程序的编号记录的该应用程序的状态修改为离线;之后,对于所述应用程序状态表中每个状态为在线的应用程序,自行根据该应用程序的心跳周期发送该应用程序的心跳信息。
7.如权利要求6所述的系统,其特征在于,所述移动终端具体包括: 心跳信息记录模块,用于在每个心跳发送周期到达时,对于上个心跳发送周期内每个应用程序发送的心跳信息,将该心跳信息对应该应用程序的编号记录到本地的心跳信息数据库中作为新增记录;其中,所述应用程序发送的心跳信息包括:心跳时间、终端地址、月艮务器地址、该应用程序的心跳周期; 首次发送判断模块,用于对于所述心跳信息记录模块存储到心跳信息数据库中的每个新增记录,获取该新增记录中的应用程序的编号和比对信息后,查找所述心跳信息数据库中前一条对应该应用程序的编号记录的心跳信息;若新增记录中的比对信息与查找出的心跳信息中的比对信息不同,则判断该新增记录为首次发送;否则,判断该新增记录不是首次发送;其中,所述比对信息包括:终端地址、服务器地址; 数据包封装模块,用于根据所述首次发送判断模块的判断结果,从不是首次发送的新增记录中提取应用程序的编号和心跳时间作为简要信息后,将所述移动终端的标识、标记为首次发送的新增记录,以及提取的简要信息封装到所述统一心跳数据包中。
8.如权利要求6所述的系统,其特征在于,所述心跳转发服务器具体包括: 心跳数据包解析模块,用于对接收的统一心跳数据包进行解析,输出解析结果; 心跳信息处理模块,用于对所述解析结果中的应用程序的心跳信息进行如下处理:将解析出的应用程序的心跳信息中的地址信息,对应该应用程序的编号记录到与解析出的移动终端的标识相对应的心跳信息缓存表中;将解析出的应用程序的心跳信息中的心跳周期,对应该应用程序的编号记录到与解析出的移动终端的标识相对应的应用程序基本信息表中;使用解析出的应用程序的心跳信息中的心跳时间,更新所述应用程序状态表中对应该应用程序的编号记录的时间,并对应该应用程序的编号记录该应用程序的状态为在线;简要信息处理模块,用于对所述解析结果中的应用程序的简要信息进行如下处理:使用解析出的应用程序的简要信息中的心跳时间,更新所述应用程序状态表中对应该应用程序的编号记录的时间,并对应该应用程序的编号记录该应用程序的状态为在线; 状态更新模块,用于对于所述应用程序状态表中未被更新时间的每个应用程序的编号,获取与该应用程序的编号对应记录的最大状态更新时间,并在判断出与该应用程序的编号对应记录的时间与当前时间的差值大于获取的最大状态更新时间后,将对应该应用程序的编号记录的该应用程序的状态修改为离线; 心跳信息发送模块,对于所述应用程序状态表中每个状态为在线的应用程序,自行根据该应用程序的心跳周期发送该应用程序的心跳信息。
9.一种移动终端,其特征在于,包括: 心跳信息记录模块,用于在每个心跳发送周期到达时,对于上个心跳发送周期内每个应用程序发送的心跳信息,将该心跳信息对应该应用程序的编号记录到本地的心跳信息数据库中作为新增记录;其中,所述应用程序发送的心跳信息包括:心跳时间、终端地址、月艮务器地址、该应用程序的心跳周期; 首次发送判断模块,用于对于所述心跳信息记录模块存储到心跳信息数据库中的每个新增记录,获取该新增记录中的应用程序的编号和比对信息后,查找所述心跳信息数据库中前一条对应该应用程序的编号记录的心跳信息;若新增记录中的比对信息与查找出的心跳信息中的比对信息不同,则判断该新增记录为首次发送;否则,判断该新增记录不是首次发送;其中,所述比对信息包括:终端地址、服务器地址; 数据包封装模块,用于根据所述首次发送判断模块的判断结果,从不是首次发送的新增记录中提取应用程序的编号和心跳时间作为简要信息后,将所述移动终端的标识、标记为首次发送的新增记录,以及提取的简要信息封装到所述统一心跳数据包中。
10.一种心跳转发服务器,其特征在于,包括: 心跳数据包解析模块,用于对接收的统一心跳数据包进行解析,输出解析结果; 心跳信息处理模块,用于对所述解析结果中的应用程序的心跳信息进行如下处理:将解析出的应用程序的心跳信息中的地址信息,对应该应用程序的编号记录到与解析出的移动终端的标识相对应的心跳信息缓存表中;将解析出的应用程序的心跳信息中的心跳周期,对应该应用程序的编号记录到与解析出的移动终端的标识相对应的应用程序基本信息表中;使用解析出的应用程序的心跳信息中的心跳时间,更新所述应用程序状态表中对应该应用程序的编号记录的时间,并对应该应用程序的编号记录该应用程序的状态为在线;简要信息处理模块,用于对所述解析结果中的应用程序的简要信息进行如下处理:使用解析出的应用程序的简要信息中的心跳时间,更新所述应用程序状态表中对应该应用程序的编号记录的时间,并对应该应用程序的编号记录该应用程序的状态为在线; 状态更新模块,用于对于所述应用程序状态表中未被更新时间的每个应用程序的编号,获取与该应用程序的编号对应记录的最大状态更新时间,并在判断出与该应用程序的编号对应记录的时间与当前时间的差值大于获取的最大状态更新时间后,将对应该应用程序的编号记录的该应 用程序的状态修改为离线; 心跳信息发送模块,对于所述应用程序状态表中每个状态为在线的应用程序,自行根据该应用程序的心跳周期发送该应用程序的心跳信息。
【文档编号】H04L12/26GK104022922SQ201410302253
【公开日】2014年9月3日 申请日期:2014年6月27日 优先权日:2014年6月27日
【发明者】吴帆, 吴超, 范文浩, 李论, 唐碧华, 金师兴 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1