CN104991850B - 一种应用程序的心跳包控制方法和装置 - Google Patents

一种应用程序的心跳包控制方法和装置 Download PDF

Info

Publication number
CN104991850B
CN104991850B CN201510378937.7A CN201510378937A CN104991850B CN 104991850 B CN104991850 B CN 104991850B CN 201510378937 A CN201510378937 A CN 201510378937A CN 104991850 B CN104991850 B CN 104991850B
Authority
CN
China
Prior art keywords
application program
time interval
server
moment
heartbeat
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510378937.7A
Other languages
English (en)
Other versions
CN104991850A (zh
Inventor
刘胜华
王启明
申动斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.
Original Assignee
Guangzhou Huaduo Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201510378937.7A priority Critical patent/CN104991850B/zh
Publication of CN104991850A publication Critical patent/CN104991850A/zh
Application granted granted Critical
Publication of CN104991850B publication Critical patent/CN104991850B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明实施例公开了一种应用程序的心跳包控制方法,包括:监测应用程序的运行状态;当所述应用程序为前台运行状态时,指示所述应用程序采用第一时间间隔发送心跳检测包至服务器;当所述应用程序为后台运行状态时,指示所述应用程序采用第二时间间隔发送心跳检测包至所述服务器;其中,所述第二时间间隔大于所述第一时间间隔。本发明实施例还公开了一种应用程序的心跳包的控制方法。采用本发明,提高应用程序对网络环境的适应性。

Description

一种应用程序的心跳包控制方法和装置
技术领域
[0001] 本发明涉及互联网领域,尤其涉及一种应用程序的心跳包括控制方法和装置。
背景技术
[0002] 随着互联网技术的发展,软件厂商开发了各种各样运行于便携的移动终端之上的 应用程序,这些应用程序可以通过无线方式(例如2G、3G、4G或WiFi等无线方式)接入互联网 中的服务器,和传统的PC通过有线方式接入互联网不同,移动终端由于采用无线方式接入, 移动终端的位置不固定,网络信号变化频繁,移动终端上的应用程序与互联网之间的网络 连接状态十分复杂。移动终端和服务器的持续稳定的网络连接状态直接决定了用户体验, 没有可靠的网络连接状态作为基础,服务器无法为应用程序提供良好的服务。因此,怎样保 持应用程序和服务器的可靠的网络连接状态称为亟待解决的问题。
[0003]目前心跳包技术被广泛应用于客户端和服务器之间,用于发现网络异常发现,在 从多场合均可适用。心跳包技术的原理为:客户端周期性的采用固定的时间间隔向互联网 中的服务器发送心跳检测包,客户端判断在预设时长内是否接收到服务器返回的心跳响应 包,如果为否,客户端就认为与服务器之间的网络连接已恶化(例如超时、中断或堵塞),不 再合适提供网络服务,然后客户端采用重连接或者重选服务器的方法来尝试恢复连接。
[0004] 从上述的心跳包技术的原理可以看出,在移动终端所处的网络环境十分复杂,如 果采用固定的时间间隔发送心跳检测包的方式,设置的时间间隔太小,容易增加移动终端 的处理开销,设置的时间间隔太大,又不能及时发现网络异常,无法适应网络环境的频繁变 化。
发明内容
[0005] 本发明实施例所要解决的技术问题在于,提供一种应用程序的心跳包控制方法和 装置。可解决现有技术中采用固定时间间隔发送心跳检测包,无法使用网络环境的频繁变 化的问题。
[0006] 为了解决上述技术问题,本发明实施例提供了一种应用程序的心跳包控制方法, 包括:
[0007] 监测应用程序的运行状态;
[0008] 当所述应用程序为前台运行状态时,指示所述应用程序采用第一时间间隔发送心 跳检测包至服务器;
[0009] 当所述应用程序为后台运行状态时,指示所述应用程序采用第二时间间隔发送心 跳检测包至所述服务器;其中,所述第二时间间隔大于所述第一时间间隔。
[0010] 相应地,本发明实施例还提供了应用程序的心跳包控制装置,包括:
[0011] 监测模块,用于监测应用程序的运行状态;
[0012] 第一调整模块,用于当所述应用程序为前台运行状态时,指示所述应用程序采用 第一时间间隔发送心跳检测包至服务器;
[0013] 第二调整模块,用于当所述应用程序为后台运行状态时,指示所述应用程序采用 第二时间间隔发送心跳检测包至所述服务器;其中,所述第二时间间隔大于所述第一时间 间隔。
[0014] 实施本发明实施例,具有如下有益效果:
[0015] 监测应用程序的运行状态,在不同的运行状态指示应用程序以不同的时间间隔向 服务器发送心跳检测包,这样可以自适应的调整应用程序发送心跳检测包的时间间隔,能 良好的匹配应用程序的网络环境。
附图说明
[0016] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0017] 图1是本发明实施例提供的一种直播网络架构示意图。
[0018] 图2是发明实施例提供的一种应用程序的心跳包控制方法的流程示意图;
[0019] 图3是本发明实施例提供的一种应用程序的心跳包控制方法的另一流程示意图;
[0020] 图4是本发明实施例提供的一种应用程序的心跳包控制装置的结构示意图;
[0021] 图5是本发明实施例提供的一种应用程序的心跳包控制装置的另一结构示意图。
具体实施方式
[0022] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0023] 为了更好理解本发明实施例公开的一种心跳包的控制方法和装置,下面先对本发 明实施例适用的直播网络构架进行描述。请参阅图1,图1是本发明实施例公开的一种直播 网络构架示意图。如图1所示,该直播网络构架可以包括服务器以及多个客户端,其中,服务 器也被称后台服务器、组件服务器等,服务器可以通过互联网与多个客户端进行通信连接。
[0024] 在图1所示的直播网络构架中,多个客户端中的部分客户端可以作为主播客户端, 而其余客户端可以作为观众客户端,主播客户端表示运行有主播应用程序的客户端,观众 客户端表示运行有观众应用程序的客户端。本发明实施例中,频道简单来讲就是服务器创 建的一种虚拟空间(或虚拟房间),位于该虚拟空间内的观众客户端可以不仅观看主播客户 端的直播内容,还可以和主播客户端进行语音或文字的交互。主播客户端对接入其频道内 的其余观众客户端不仅具有接入、踢出控制权,还具有直播主动权。本发明实施例中,主播 客户端、观众客户端可以实现包括集合群聊、视频直播、频道K歌、在线游戏、在线影视等多 种功能。在图1所示的直播网络构架中,主播客户端、观众客户端可以运行在包括但不限于 移动电话、移动电脑、平板电脑、个人数字助理(Personal Digital Assistant, PDA)、媒体 播放器、智能电视、智能手表、智能眼镜、智能手环等用户设备上。
[0025] 参见图2,为本发明实施例提供的一种应用程序的心跳包控制方法,在本发明实施 例中,所述方法包括:
[0026] S101、监测应用程序的运行状态。
[0027] 具体的,当启动运行客户端中的应用程序后,应用程序在客户端中的运行状态可 以分为前台运行状态和后台运行状态。应用程序处于前台运行状态时,客户端需要显示应 用程序的程序界面,此时占用较多的系统资源;应用程序处于后台运行状态时,客户端不需 要显示应用程序的程序界面,此时占用较少的系统资源。客户端监测应用程序的运行状态 的方法可以是,通过创建的监控线程来监测应用程序的运行状态,或者由应用程序监测自 身的运行状态,当运行状态发生变更时,发送系统广播通知客户端自身的运行状态。当然也 可以采用其他的方法监控应用程序的运行状态,本发明不作限制。
[0028] 其中,应用程序与网络应用程序,用于和互联网中的服务器进行通信,应用程序通 过向服务器发送心跳检测包,服务器接收心跳检测包返回心跳响应包的形式来识别通信链 路的网络状态。
[0029] S102、当所述应用程序为前台运行状态时,指示所述应用程序采用第一时间间隔 发送心跳检测包至服务器。
[0030]具体的,根据S101监测的应用程序的运行状态,当应用程序为前台运行状态时,客 户端指示应用程序采用第一时间间隔发送心跳检测包至服务器。具体过程可以是:客户端 记录应用程序发送的每个心跳检测包的发送时刻和服务器返回的心跳响应包的接收时刻。 当应用程序由后台运行状态切换到前台运行状态时,客户端获取应用程序的上一心跳检测 包的发送时刻tl,第一时间间隔为T1,客户端指示应用程序在tl+Tl时刻发送当前心跳检测 包,即当前心跳检测包和上一心跳检测包的时间间隔为第一时间间隔T1。
[0031] S103、当所述应用程序为后台运行状态时,指示所述应用程序采用第二时间间隔 发送心跳检测包至所述服务器;其中,所述第二时间间隔大于所述第一时间间隔。
[0032] 具体的,根据S101监测到的应用程序的运行状态,当应用程序为后台运行状态时, 客户端指示应用程序采用第二时间间隔发送心跳检测包至服务器,第二时间间隔大于第一 时间间隔。当应用程序为后台应用程序时,由于不显示程序界面,不向用户提供网络服务, 因此对应用程序至服务器之间的通信链路的网络状态的要求不高,通过增加应用程序发送 心跳检测包的时间间隔的方式,可以减少客户端的处理开销。
[0033] 具体过程可以是:客户端记录应用程序的发送的每个心跳检测包的发送时刻和服 务器返回的心跳响应包的接收时刻。当应用程序由后台运行状态切换到前台运行状态时, 客户端获取应用程序的上一心跳检测包的发送时刻t2,第二时间间隔为T2,客户端指示应 用程序在t2+T2时刻发送当前心跳检测包,即当前心跳检测包和上一心跳检测包的时间间 隔为第二时间间隔。
[0034] 实施本发明的实施例,监测应用程序的运行状态,在不同的运行状态指示应用程 序以不同的时间间隔向服务器发送心跳检测包,这样可以自适应的调整应用程序发送心跳 检测包的时间间隔,能良好的匹配应用程序的网络环境。
[0035] 参见图3,为本发明实施例提供的一种应用程序的心跳包的控制方法的另一流程 示意图,在本发明实施例中,所述方法包括:
[0036] S201、启动运行应用程序。
[0037]具体的,应用程序安装在客户端上,启动应用程序的方法可以是:用户通过键盘、 鼠标或触摸屏等输入设备启动运行客户端上安装的应用程序。例如,客户端的桌面界面有 显示有应用程序A的图标,用户点击应用程序A的图标,客户端检测到图标上发生点击事件 后,启动运行图标对应的应用程序A。
[0038] S202、监测应用程序的运行状态。
[0039] 具体的,应用程序在客户端中的运行状态可以分为前台运行状态和后台运行状 态。应用程序处于前台运行状态时,客户端显示应用程序的程序界面,用户通过通过程序界 面触发应用程序的相应功能,此时应用程序需要占用较多的系统资源;应用程序处于后台 运行状态时,客户端不显示应用程序的程序界面,此时占用较少的系统资源。客户端监测应 用程序的运行状态的方法可以是:创建一个监控线程,通过监控线程检测应用程序的主线 程是否在位于进程表中,若为是,表明应用程序处于运行状态,然后进一步判断应用程序的 UI (User Interface,用户界面)进程是否位于进行表中,若为是,表明应用程序处于前台运 行状态,若为否,表明应用程序处于后台运行状态。或者,应用程序在被启动时,系统广播携 表明带应用程序处于前台运行状态的状态标识符,客户端通过状态标识符得知应用程序处 于前台运行状态;当应用程序从前台运行状态切换为后台运行状态时,系统广播携带表明 应用程序处于后台运行状态的状态标识符,客户端通过状态标识符得知应用程序处于后台 运行状态。例如,系统广播中携带front_active的状态标识符表明应用程序处于前台运行 状态,系统广播中携带behincLactive的状态标识符表明应用程序处于后台运行状态。
[0040] 可选的,当系统的资源占用率大于占用率阈值时,获取全部为后台运行状态的应 用程序的优先级,以及关闭优先级小于优先级阈值的应用程序;其中,所述资源利用率包括 CUP占用率和/或内存占用率。
[0041] 具体的,客户端监测系统的资源占用率,当资源利用率大于占用率阈值时,表明客 户端中可用的系统资源非常紧张,无法再启动运行新的应用程序,此时客户端获取所有的 处于后台运行状态的应用程序的优先级,将优先级小于优先级阈值的应用程序执行关闭操 作。
[0042] 示例性的,资源利用率为CRJ占用率,占用率阈值为90%,客户端检测系统的资源 利用率为91%,大于占用率阈值,客户端获取所有的处于后台运行的应用程序为:应用程序 1、应用程序2和应用程序3,客户端中的应用程序的优先级划分为3个等级,分别为1、2和3, 数值越高表示优先级越高,应用程序的优先级可以由用户根据需要设定的,也可以由系统 自行设定,本发明不作限制。假设优先级阈值为2,则客户端会关闭优先级小于2的应用程 序,释放该应用程序占用的系统资源。
[0043] S203、设置应用程序的心跳检测包的发送时间间隔为第一时间间隔。
[0044]具体的,客户端设置应用程序的心跳检测包的发送时间间隔为第一时间间隔,客 户端指示应用程序采用第一时间间隔发送心跳检测包至服务器。具体过程可以是:客户端 记录应用程序发送的每个心跳检测包的发送时刻和服务器返回的心跳响应包的接收时刻。 客户端获取应用程序上一心跳检测包的发送时刻为tl,第一时间间隔为T1,则客户端指示 应用程序在tl+Tl时刻发送当前心跳检测包,即当前心跳检测包和上一心跳检测包的时间 间隔为第一时间间隔T1。
[0045] S204、指示所述应用程序在第一时刻向所述服务器发送当前心跳检测包。
[0046] 具体的,第一时刻和应用程序的上一心跳检测包的发送时刻的时间间隔为第一时 间间隔。应用程序在第一时刻向服务器发送心跳检测包后,服务器会返回心跳检测包对应 的心跳响应包。
[0047] S205、预设时长内所述应用程序是否接收到所述服务器返回的心跳响应包。
[0048] 具体的,以应用程序的心跳检测包的发送时刻开始计时,在预设时长内应用程序 是否接收到服务器返回的心跳响应包,其中预设时长小于第一时间间隔。若预设时长内应 用程序接收到服务器返回的心跳响应包,执行S206,若预设时长内应用程序未接收到服务 器返回的心跳响应包,执行S2〇7。
[0049] 示例性的,第一时间间隔为5s,预设时长为2s,应用程序在t时刻向服务器发送心 跳检测包,判断应用程序在t+2s时刻之前是否接收服务器返回心跳响应包,若为是,执行 S206,若为否,执行S207。
[0050] S206、指示所述应用程序在第二时刻发送下一心跳检测包;其中,所述第二时刻至 所述第一时刻的时间间隔大于所述第一时间间隔。
[0051] 具体的,客户端在预设时长内接收到服务器返回的心跳响应包,表明应用程序和 服务器之间的网络状态良好,可以适当的增大应用程序的心跳检测包的发送时间间隔,减 轻客户端的处理开销。
[0052] 示例性的,第一时间间隔为5s,第一时刻为tl,第二时刻为tl+6s,客户端指示应用 程序在tl+6s时刻发送下一心跳检测包,第二时刻至第一时刻的时间间隔为6s,大于第一时 间间隔5s。需要说明的是,增大的时间间隔的调整幅度本发明不作限制,可以根据需要进行 设置。
[0053] S207、指示所述应用程序在第三时刻发送下一心跳检测包;其中,所述第三时刻至 所述第一时刻的时间间隔小于所述第一时间间隔。
[0054] 具体的,客户端在预设时长内未接收到服务器返回的心跳响应包,表明应用程序 和服务器之间的网络状态恶劣,可以适当的减小应用程序的心跳检测包的发送时间间隔, 以期待及时的发现服务器是否断开。
[0055] 示例性的,第一时间间隔为5s,第一时刻为tl,第三时刻为tl+4s,客户端指示应用 程序在tl+4s时刻向服务器发送心跳检测包,第三时刻至第一时刻的时间间隔为4s,小于第 一时间间隔5s。需要说明的是,减小的时间间隔的幅度本发明不作限制,可以根据需要进行 调整。
[0056] 可以理解的是S205-S207是一个循环的执行流程,客户端每发送一次心跳心跳检 测包判断在预设时长内是否接收到服务器返回的心跳响应包,然后客户端根据判断结果增 大或减小下一心跳检测包和当前心跳检测包的发送时间间隔,其中,每个调整的时间时间 的幅度可以相同也可以不相同,也可以呈现等差趋势,本发明不作限制。
[0057] S208、设置应用程序的心跳检测包的发送时间间隔为第二时间间隔。
[0058]当应用程序为后台运行状态时,客户端指示应用程序采用第二时间间隔发送心跳 检测包至服务器,第二时间间隔大于第一时间间隔。当应用程序为后台应用程序时,由于不 显示程序界面,不向用户提供网络服务,因此对应用程序至服务器之间的通信链路的网络 状态的要求不高,通过增加应用程序发送心跳检测包的时间间隔的方式,可以减少客户端 的处理开销。
[0059]具体过程可以是:客户端记录应用程序的发送的每个心跳检测包的发送时刻和服 务器返回的心跳响应包的接收时刻。当应用程序由后台运行状态切换到前台运行状态时, 客户端获取应用程序的上一心跳检测包的发送时刻t2,第二时间间隔为T2,客户端指示应 用程序在t2+T2时刻发送当前心跳检测包,即当前心跳检测包和上一心跳检测包的时间间 隔为第二时间间隔。
[0060] S209、指示所述应用程序在第四时刻向所述服务器发送当前心跳检测包。
[0061]具体的,第四时刻和应用程序的上一心跳检测包的发送时刻的时间间隔为第二时 间间隔。应用程序在第四时刻向服务器发送心跳检测包后,服务器会返回心跳检测包对应 的心跳响应包。
[0062] S210、预设时长内所述应用程序是否接收到所述服务器返回心跳响应包。
[0063] 具体的,以应用程序的心跳检测包的发送时刻开始计时,在预设时长内应用程序 是否接收到服务器返回的心跳检测包,其中预设时长小于第二时间间隔。
[0064] 示例性的,第四时间间隔为10s,预设时长为2s,应用程序在t时刻向服务器发送心 跳检测包,判断应用程序在t+2s时刻之前是否接收服务器返回心跳响应包,若为是,执行 S211,若为否,执行S212。
[0065] S211、指示所述应用程序在第五时刻发送下一心跳检测包;其中,所述第五时刻至 所述第四时刻的时间间隔大于所述第二时间间隔。
[0066] 具体的,客户端在预设时长内接收到服务器返回的心跳响应包,表明应用程序和 服务器之间的网络状态良好,可以适当的增大应用程序的心跳检测包的发送时间间隔,减 轻客户端的处理开销。
[0067] 示例性的,第二时间间隔为10s,第四时刻为t4,第五时刻为t4+lls,客户端指示应 用程序在t4+lls时刻发送下一心跳检测包,第五时刻至第四时刻的时间间隔为11s,大于第 二时间间隔l〇s。需要说明的是,增大的时间间隔的调整服务器本发明不作限制,可以根据 需要进行设置。
[0068] S212、指示所述应用程序在第六时刻发送下一心跳检测包;其中,所述第六时刻至 第四时刻的时间间隔小于所述第二时间间隔。
[0069] 具体的,客户端在预设时长内未接收到服务器返回的心跳响应包,表明应用程序 和服务器之间的网络状态恶劣,可以适当的减小应用程序的心跳检测包的发送时间间隔, 以期待及时的发现服务器是否断开。
[0070] 示例性的,第二时间间隔为10s,第四时刻为t4,第六时刻为t4+9s,客户端指示应 用程序在t4+9s时刻向服务器发送心跳检测包,第六时刻至第四时刻的时间间隔为9s,小于 第一时间间隔1 〇 s。需要说明的是,减小的时间间隔的幅度本发明不作限制,可以根据需要 进行调整。
[0071] 可以理解的是S210-S212是一个循环的执行流程,客户端每发送一次心跳心跳检 测包判断在预设时长内是否接收到服务器返回的心跳响应包,然后客户端根据判断结果增 大或减小下一心跳检测包和当前心跳检测包的发送时间间隔,其中,每个调整的时间时间 的幅度可以相同也可以不相同,也可以呈现等差趋势,本发明不作限制。
[0072] S213、统计所述服务器超时的次数。
[0073]具体的,统计应用程序处于前台运行状态和后台运行状态时,服务器超时是指,客 户端在向服务器发送心跳检测包后,在预设时长内未接收到服务器返回的心跳响应包,统 计服务器超时的次数。
[0074] S214、若所述次数大于次数阈值,获取备用的多个服务器的网络状态参数,将网络 状态参数最优的服务器作为目标服务器,且与所述目标服务器建立通信连接。
[0075] 具体的,客户端判断服务超时的次数是否大于次数阈值,若为是,表明应用程序和 客户端之间的网络状态恶劣,无法正常为应用程序提供网络服务,客户端需要重新选择备 用的服务器进行连接。应用程序配置有多个备用的服务器,在当前服务器超时的次数大于 次数阈值时,获取多个备用的服务器的网络状态参数,网络状态参数包括带宽、时延等,选 择网络状态参数最优的服务器作为目标服务器,与目标服务器从新建立连接。
[0076] 实施本发明的实施例,监测应用程序的运行状态,在不同的运行状态指示应用程 序以不同的时间间隔向服务器发送心跳检测包,这样可以自适应的调整应用程序发送心跳 检测包的时间间隔,提高客户端的连接稳定性。
[0077] 参见图4,为本发明实施例提供的一种应用程序的心跳包控制装置的结构示意图, 在本发明实施例中,所述装置包括:监测模块20、第一调整模块21和第二调整模块22。
[0078] 监测模块20,用于监测应用程序的运行状态。
[0079] 具体的,当启动运行客户端中的应用程序后,应用程序在客户端中的运行状态可 以分为前台运行状态和后台运行状态。应用程序处于前台运行状态时,客户端需要显示应 用程序的程序界面,此时占用较多的系统资源;应用程序处于后台运行状态时,客户端不需 要显示应用程序的程序界面,此时占用较少的系统资源。检测模块2〇监测应用程序的运行 状态的方法可以是,通过创建的监控线程来监测应用程序的运行状态,或者由应用程序监 测自身的运行状态,当运行状态发生变更时,发送系统广播通知客户端自身的运行状态。当 然也可以采用其他的方法监控应用程序的运行状态,本发明不作限制。
[0080] 其中,应用程序与网络应用程序,用于和互联网中的服务器进行通信,应用程序通 过向服务器发送心跳检测包,服务器接收心跳检测包返回心跳响应包的形式来识别通信链 路的网络状态。
[0081] 第一调整模块21,用于当所述应用程序为前台运行状态时,指示所述应用程序采 用第一时间间隔发送心跳检测包至服务器。
[0082] 具体的,第一调整模块21根据监测模块20监测的应用程序的运行状态,当应用程 序为前台运行状态时,第一调整模块21指示应用程序采用第一时间间隔发送心跳检测包至 服务器。具体过程可以是:第一调整模块21记录应用程序发送的每个心跳检测包的发送时 刻和服务器返回的心跳响应包的接收时刻。当应用程序由后台运行状态切换到前台运行状 态时,第一调整模块21获取应用程序的上一心跳检测包的发送时刻tl,第一时间间隔为T1, 第一调整模块21指示应用程序在tl+Tl时刻发送当前心跳检测包,即当前心跳检测包和上 一心跳检测包的时间间隔为第一时间间隔T1。
[0083] 第二调整模块22,用于当所述应用程序为后台运行状态时,指示所述应用程序采 用第二时间间隔发送心跳检测包至所述服务器;其中,所述第二时间间隔大于所述第一时 间间隔。
[0084]具体的,第二调整模块22根据监测模块20监测到的应用程序的运行状态,当应用 程序为后台运行状态时,第二调整模块22指示应用程序采用第二时间间隔发送心跳检测包 至服务器,第二时间间隔大于第一时间间隔。当应用程序为后台应用程序时,由于不显示程 序界面,不向用户提供网络服务,因此对应用程序至服务器之间的通信链路的网络状态的 要求不高,通过增加应用程序发送心跳检测包的时间间隔的方式,可以减少客户端的处理 开销。
[0085]具体过程可以是:第二调整模块22记录应用程序的发送的每个心跳检测包的发送 时刻和服务器返回的心跳响应包的接收时刻。当应用程序由后台运行状态切换到前台运行 状态时,第二调整模块22获取应用程序的上一心跳检测包的发送时刻t2,第二时间间隔为 T2,第二调整模块22指示应用程序在t2+T2时刻发送当前心跳检测包,即当前心跳检测包和 上一心跳检测包的时间间隔为第二时间间隔。
[0086]实施本发明的实施例,监测应用程序的运行状态,在不同的运行状态指示应用程 序以不同的时间间隔向服务器发送心跳检测包,这样可以自适应的调整应用程序发送心跳 检测包的时间间隔,提高客户端的连接稳定性。
[0087]参见图5,为本发明实施例提供的一种应用程序的心跳包的控制装置的另一结构 示意图,在本发明实施例中,所述装置除包括检测模块20、第一调整模块21和第二调整模块 22之外,还包括:统计模块23、重连接模块24和关闭模块25。
[0088]统计模块23,用于统计所述服务器超时的次数;其中,所述服务器超时表示所述应 用程序在所述预设时长内未接收到所述服务器返回的心跳响应包。
[0089]重连接模块24,用于若所述次数大于次数阈值时,获取备用的多个服务器的网络 状态参数,将网络状态参数最优的备用服务器作为目标服务器,且与所述目标服务器建立 通信连接。
[0090] 关闭模块25,用于当系统的资源占用率大于占用率阈值时,获取全部为后台运行 状态的应用程序的优先级,以及关闭优先级小于优先级阈值的应用程序;其中,所述资源利 用率包括CUP占用率和/或内存占用率。
[0091] 可选的,第一调整模块21还用于:
[0092] 指示所述应用程序在第一时刻向所述服务器发送当前心跳检测包;
[0093] 若预设时长内所述应用程序接收到所述服务器返回心跳响应包时,指示所述应用 程序在第二时刻发送下一心跳检测包;其中所述第二时刻至所述第一时刻的时间间隔大于 所述第一时间间隔; _
[0094] 若预设时长内所述应用程序未接收到所述服务器返回的心跳响应包时,指示所述 应用程序在第三时刻发送下一心跳检测包;其中,所述第三时刻至所述第一时刻的时间间 隔小于所述第一时间间隔。
[0095] 可选的,第二调整模块22还用于:
[0096] 指示所述应用程序在第四时刻向所述服务器发送当前心跳检测包;
[0097] 若预设时长内所述应用程序接收到所述服务器返回的心跳响应包,指示所述应用 程序在第五时刻发送下一心跳检测包;其中,所述第五时刻至所述第三时刻的时间间隔大 于所述第二时间间隔; _
[0098] 若所述预设时长内所述应用程序未接收到所述服务器返回的心跳响应包,指示所 述应用程序在第六时刻发送下一心跳检测包;其中,所述第六时刻至所述第四时刻的时间 间隔小于所述第二时间间隔。
[0099] 可选的,监测模块20具体用于接收系统广播,并根据所述系统广播中携带的状态 标识符确定所述应用程序的运行状态。
[0100]本发明实施例和方法实施例二基于同一构思,其带来的技术效果也相同,具体原 理请参照方法实施例二的描述,此处不再赘述。
[0101]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以 通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质 中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁 碟、光盘、只读存储记忆体(Read-Only Memory,R0M)或随机存储记忆体(Rand〇m Access Memory,RAM)等。
[0102]以上所掲露的仅为本发明一种较佳实施例而己,当然不能以此来限定本发明之权 利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流 利要求所作_酸化,_于发麵涵盖的麵。 職較刀仪

Claims (12)

1. 一种应用程序的心跳包控制方法,其特征在于,包括: 监测应用程序的运行状态; 当所述应用程序为前台运行状态时,指示所述应用程序采用第一时间间隔发送心跳检 测包至服务器; 当所述应用程序为后台运行状态时,指示所述应用程序采用第二时间间隔发送心跳检 测包至所述服务器;其中,所述第二时间间隔大于所述第一时间间隔。
2. 如权利要求1所述的方法,其特征在于,所述指示所述应用程序采用第一时间间隔发 送心跳检测包至服务器,还包括: 指示所述应用程序在第一时刻向所述服务器发送当前心跳检测包; 若预设时长内所述应用程序接收到所述服务器返回心跳响应包时,指示所述应用程序 在第二时刻发送下一心跳检测包;其中所述第二时刻至所述第一时刻的时间间隔大于所述 第一时间间隔; 若预设时长内所述应用程序未接收到所述服务器返回的心跳响应包时,指示所述应用 程序在第三时刻发送下一心跳检测包;其中,所述第三时刻至所述第一时刻的时间间隔小 于所述第一时间间隔。
3. 如权利要求1所述的方法,其特征在于,所述指示所述应用程序采用第二时间间隔发 送心跳检测包至所述服务器,还包括: 指示所述应用程序在第四时刻向所述服务器发送当前心跳检测包; 若预设时长内所述应用程序接收到所述服务器返回的心跳响应包,指示所述应用程序 在第五时刻发送下一心跳检测包;其中,所述第五时刻至所述第四时刻的时间间隔大于所 述第二时间间隔; 若所述预设时长内所述应用程序未接收到所述服务器返回的心跳响应包,指示所述应 用程序在第六时刻发送下一心跳检测包;其中,所述第六时刻至所述第四时刻的时间间隔 小于所述第二时间间隔。
4. 如权利要求1所述的方法,其特征在于,还包括: 统计所述服务器超时的次数;其中,所述服务器超时表示所述应用程序在预设时长内 未接收到所述服务器返回的心跳响应包; 若所述次数大于次数阈值时,获取备用的多个服务器的网络状态参数,将网络状态参 数最优的备用服务器作为目标服务器,且与所述目标服务器建立通信连接。
5. 如权利要求1所述的方法,其特征在于,所述监测应用程序的运行状态包括: 接收系统广播,并根据所述系统广播中携带的状态标识符确定所述应用程序的运行状 〇
6. 如权利要求1-5任意一项所述的方法,其特征在于,还包括: 当系统的资源占用率大于占用率阈值时,获取全部为后台运行状态的应用程序的优先 级,以及关闭优先级小于优先级阈值的应用程序;其中,所述资源占用率包括⑶P占用率和/ 或内存占用率。
7. —种应用程序的心跳包控制装置,其特征在于,包括: 监测模块,用于监测应用程序的运行状态; 第一调整模块,用于当所述应用程序为前台运行状态时,指示所述应用程序采用第一 时间间隔发送心跳检测包至服务器; 第二调整模块,用于当所述应用程序为后台运行状态时,指示所述应用程序采用第二 时间间隔发送心跳检测包至所述服务器;其中,所述第二时间间隔大于所述第一时间间隔。
8. 如权利要求7所述的装置,其特征在于,所述第一调整模块还用于: 指示所述应用程序在第一时刻向所述服务器发送当前心跳检测包; 若预设时长内所述应用程序接收到所述服务器返回心跳响应包时,指示所述应用程序 在第二时刻发送下一心跳检测包;其中所述第二时刻至所述第一时刻的时间间隔大于所述 第一时间间隔; 若预设时长内所述应用程序未接收到所述服务器返回的心跳响应包时,指示所述应用 程序在第三时刻发送下一心跳检测包;其中,所述第三时刻至所述第一时刻的时间间隔小 于所述第一时间间隔。
9. 如权利要求7所述的装置,其特征在于,所述第二调整模块还用于: 指示所述应用程序在第四时刻向所述服务器发送当前心跳检测包; 若预设时长内所述应用程序接收到所述服务器返回的心跳响应包,指示所述应用程序 在第五时刻发送下一心跳检测包;其中,所述第五时刻至所述第四时刻的时间间隔大于所 述第二时间间隔; 若所述预设时长内所述应用程序未接收到所述服务器返回的心跳响应包,指示所述应 用程序在第六时刻发送下一心跳检测包;其中,所述第六时刻至所述第四时刻的时间间隔 小于所述第二时间间隔。
10. 如权利要求7所述的装置,其特征在于,还包括: 统计模块,用于统计所述服务器超时的次数;其中,所述服务器超时表示所述应用程序 在预设时长内未接收到所述服务器返回的心跳响应包; 重连接模块,用于若所述次数大于次数阈值时,获取备用的多个服务器的网络状态参 数,将网络状态参数最优的备用服务器作为目标服务器,且与所述目标服务器建立通信连 接。
11. 如权利要求7所述的装置,其特征在于,所述监测模块具体用于接收系统广播,并根 据所述系统广播中携带的状态标识符确定所述应用程序的运行状态。
12. 如权利要求7-11任意一项所述的装置,其特征在于,还包括: 关闭模块,用于当系统的资源占用率大于占用率阈值时,获取全部为后台运行状态的 应用程序的优先级,以及关闭优先级小于优先级阈值的应用程序;其中,所述资源占用率包 括CUP占用率和/或内存占用率。
CN201510378937.7A 2015-06-27 2015-06-27 一种应用程序的心跳包控制方法和装置 Active CN104991850B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510378937.7A CN104991850B (zh) 2015-06-27 2015-06-27 一种应用程序的心跳包控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510378937.7A CN104991850B (zh) 2015-06-27 2015-06-27 一种应用程序的心跳包控制方法和装置

Publications (2)

Publication Number Publication Date
CN104991850A CN104991850A (zh) 2015-10-21
CN104991850B true CN104991850B (zh) 2018-06-19

Family

ID=54303666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510378937.7A Active CN104991850B (zh) 2015-06-27 2015-06-27 一种应用程序的心跳包控制方法和装置

Country Status (1)

Country Link
CN (1) CN104991850B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106922039B (zh) * 2015-12-25 2020-06-05 阿里巴巴集团控股有限公司 一种心跳报文的发送方法和装置
CN107453938B (zh) * 2016-05-30 2020-11-20 北京京东尚科信息技术有限公司 负载均衡方法、系统、电子设备及计算机可读存储介质
CN105933732B (zh) * 2016-06-14 2019-08-27 天脉聚源(北京)传媒科技有限公司 一种视频播放时长统计方法及系统
CN106445610A (zh) * 2016-10-08 2017-02-22 乐视控股(北京)有限公司 一种应用程序处理方法及装置
CN106656669B (zh) * 2016-12-26 2019-09-24 山东鲁能软件技术有限公司 一种基于阈值自适应设置的设备参数异常检测系统及方法
CN106851799B (zh) * 2017-01-19 2020-10-09 珠海市魅族科技有限公司 一种长连接中心跳包的发送方法及装置
CN107147546A (zh) * 2017-05-31 2017-09-08 河南康联安防科技股份有限公司 双网心跳监测方法及系统
CN107249136A (zh) * 2017-06-07 2017-10-13 北京潘达互娱科技有限公司 网络连接方法及装置
CN107957915B (zh) * 2017-11-21 2019-12-24 深圳壹账通智能科技有限公司 一种被调用方系统的心跳检测方法、存储介质和服务器
CN108111879A (zh) * 2017-12-12 2018-06-01 福建中金在线信息科技有限公司 一种视频直播异常处理的方法、装置及电子设备
CN109981384A (zh) * 2017-12-27 2019-07-05 航天信息股份有限公司 一种动态调整心跳周期的系统和方法
CN108306942A (zh) * 2018-01-09 2018-07-20 武汉斗鱼网络科技有限公司 多用户同时直播的通信方法、存储介质、电子设备及系统
CN108390910B (zh) * 2018-01-17 2021-03-16 吉浦斯信息咨询(深圳)有限公司 一种推送sdk的省电方法、装置及计算机可读介质
CN108430116B (zh) * 2018-03-02 2020-08-07 杭州朗和科技有限公司 断网重连方法、介质、装置和计算设备
CN109379246B (zh) * 2018-09-21 2021-03-05 锐捷网络股份有限公司 一种内存的检测方法及装置
CN110381130B (zh) * 2019-07-12 2020-05-29 湖南新云网科技有限公司 保活长连接方法、装置、通信终端及存储介质
CN110798693A (zh) * 2019-09-29 2020-02-14 深圳市镜玩科技有限公司 一种用户管理方法、服务器及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2547126A1 (en) * 2011-06-08 2013-01-16 ZTE Corporation Method for mobile communication terminal to feed back location and weather information, and mobile communication terminal
CN103095831A (zh) * 2013-01-15 2013-05-08 中国联合网络通信集团有限公司 维持心跳机制的方法、wlan客户端和程序服务器
CN103795554A (zh) * 2012-10-29 2014-05-14 华为技术有限公司 一种管理终端状态的方法,装置和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2547126A1 (en) * 2011-06-08 2013-01-16 ZTE Corporation Method for mobile communication terminal to feed back location and weather information, and mobile communication terminal
CN103795554A (zh) * 2012-10-29 2014-05-14 华为技术有限公司 一种管理终端状态的方法,装置和系统
CN103095831A (zh) * 2013-01-15 2013-05-08 中国联合网络通信集团有限公司 维持心跳机制的方法、wlan客户端和程序服务器

Also Published As

Publication number Publication date
CN104991850A (zh) 2015-10-21

Similar Documents

Publication Publication Date Title
CN102938808B (zh) 移动终端中的信息录制方法及装置
US8700931B2 (en) Method and system for managing power of a mobile device
US9686329B2 (en) Method and apparatus for displaying webcast rooms
US9338739B2 (en) Method and device for selecting network on which multimode terminal is to reside and multimode terminal
CN104267874B (zh) 一种调整终端上应用图标布局的方法及终端
US20170289629A1 (en) Interaction method and system based on recommended content
KR101171533B1 (ko) 모바일 네트워크 장치 배터리 보존 시스템 및 방법들
CN101981531B (zh) 聚集循环调度以优化资源消耗
CN108363593B (zh) 应用程序预加载方法、装置、存储介质及终端
EP3266190B1 (en) Presenting a message in a communication session
US10091307B2 (en) Application management method and terminal
US20130307702A1 (en) Method and system for effective management of energy consumption by household appliances
CN102801961B (zh) 一种基于多进程的音视频数据处理方法及系统
JP2018521548A (ja) メッセージ処理方法および装置
CN109408223B (zh) 资源配置方法、装置、终端及存储介质
JP2016505938A (ja) ユーザに関連付けられている複数のデバイスに対する通知の送信
CN106792188B (zh) 一种直播页面的数据处理方法、装置、系统和存储介质
EP2977854B1 (en) Method, apparatus, and user terminal for removing malicious power consuming application
EP2749988B1 (en) Method and device for application program operation, mobile terminal
CN104135667B (zh) 一种视频异地解说同步方法、终端设备,及系统
CN105468409A (zh) 一种应用程序关闭方法、装置及电子设备
US9237460B2 (en) Traffic control method and device
CN103024590B (zh) 一种智能终端与智能电视视频通话的方法及系统
WO2016041468A1 (zh) 一种唤醒方法、装置及终端
CN106686396B (zh) 一种切换直播间的方法和系统

Legal Events

Date Code Title Description
PB01 Publication
C06 Publication
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
CB02 Change of applicant information

Address after: 510000, Guangdong Province, Guangzhou, Panyu District Town, Huambo business district, Wanda Plaza, block B1, 28 floor

Applicant after: Guangzhou Huaduo Network Technology Co., Ltd.

Address before: 510655, Guangzhou, Whampoa Avenue, No. 2, creative industrial park, building 3-08,

Applicant before: Guangzhou Huaduo Network Technology Co., Ltd.

Address after: 510000, Guangdong Province, Guangzhou, Panyu District Town, Huambo business district, Wanda Plaza, block B1, 28 floor

Applicant after: Guangzhou Huaduo Network Technology Co., Ltd.

Address before: 510655, Guangzhou, Whampoa Avenue, No. 2, creative industrial park, building 3-08,

Applicant before: Guangzhou Huaduo Network Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210115

Address after: 511442 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 510000 28th floor, block B1, Wanda Plaza, Wanbo business district, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20151021

Assignee: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000053

Denomination of invention: A heartbeat packet control method and device of application program

Granted publication date: 20180619

License type: Common License

Record date: 20210208

EE01 Entry into force of recordation of patent licensing contract