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

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

Info

Publication number
CN104991850A
CN104991850A CN201510378937.7A CN201510378937A CN104991850A CN 104991850 A CN104991850 A CN 104991850A CN 201510378937 A CN201510378937 A CN 201510378937A CN 104991850 A CN104991850 A CN 104991850A
Authority
CN
China
Prior art keywords
application program
moment
server
time interval
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.)
Granted
Application number
CN201510378937.7A
Other languages
English (en)
Other versions
CN104991850B (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

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

一种应用程序的心跳包控制方法和装置
技术领域
本发明涉及互联网领域,尤其涉及一种应用程序的心跳包括控制方法和装置。
背景技术
随着互联网技术的发展,软件厂商开发了各种各样运行于便携的移动终端之上的应用程序,这些应用程序可以通过无线方式(例如2G、3G、4G或WiFi等无线方式)接入互联网中的服务器,和传统的PC通过有线方式接入互联网不同,移动终端由于采用无线方式接入,移动终端的位置不固定,网络信号变化频繁,移动终端上的应用程序与互联网之间的网络连接状态十分复杂。移动终端和服务器的持续稳定的网络连接状态直接决定了用户体验,没有可靠的网络连接状态作为基础,服务器无法为应用程序提供良好的服务。因此,怎样保持应用程序和服务器的可靠的网络连接状态称为亟待解决的问题。
目前心跳包技术被广泛应用于客户端和服务器之间,用于发现网络异常发现,在从多场合均可适用。心跳包技术的原理为:客户端周期性的采用固定的时间间隔向互联网中的服务器发送心跳检测包,客户端判断在预设时长内是否接收到服务器返回的心跳响应包,如果为否,客户端就认为与服务器之间的网络连接已恶化(例如超时、中断或堵塞),不再合适提供网络服务,然后客户端采用重连接或者重选服务器的方法来尝试恢复连接。
从上述的心跳包技术的原理可以看出,在移动终端所处的网络环境十分复杂,如果采用固定的时间间隔发送心跳检测包的方式,设置的时间间隔太小,容易增加移动终端的处理开销,设置的时间间隔太大,又不能及时发现网络异常,无法适应网络环境的频繁变化。
发明内容
本发明实施例所要解决的技术问题在于,提供一种应用程序的心跳包控制方法和装置。可解决现有技术中采用固定时间间隔发送心跳检测包,无法使用网络环境的频繁变化的问题。
为了解决上述技术问题,本发明实施例提供了一种应用程序的心跳包控制方法,包括:
监测应用程序的运行状态;
当所述应用程序为前台运行状态时,指示所述应用程序采用第一时间间隔发送心跳检测包至服务器;
当所述应用程序为后台运行状态时,指示所述应用程序采用第二时间间隔发送心跳检测包至所述服务器;其中,所述第二时间间隔大于所述第一时间间隔。
相应地,本发明实施例还提供了应用程序的心跳包控制装置,包括:
监测模块,用于监测应用程序的运行状态;
第一调整模块,用于当所述应用程序为前台运行状态时,指示所述应用程序采用第一时间间隔发送心跳检测包至服务器;
第二调整模块,用于当所述应用程序为后台运行状态时,指示所述应用程序采用第二时间间隔发送心跳检测包至所述服务器;其中,所述第二时间间隔大于所述第一时间间隔。
实施本发明实施例,具有如下有益效果:
监测应用程序的运行状态,在不同的运行状态指示应用程序以不同的时间间隔向服务器发送心跳检测包,这样可以自适应的调整应用程序发送心跳检测包的时间间隔,能良好的匹配应用程序的网络环境。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种直播网络架构示意图。
图2是发明实施例提供的一种应用程序的心跳包控制方法的流程示意图;
图3是本发明实施例提供的一种应用程序的心跳包控制方法的另一流程示意图;
图4是本发明实施例提供的一种应用程序的心跳包控制装置的结构示意图;
图5是本发明实施例提供的一种应用程序的心跳包控制装置的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好理解本发明实施例公开的一种心跳包的控制方法和装置,下面先对本发明实施例适用的直播网络构架进行描述。请参阅图1,图1是本发明实施例公开的一种直播网络构架示意图。如图1所示,该直播网络构架可以包括服务器以及多个客户端,其中,服务器也被称后台服务器、组件服务器等,服务器可以通过互联网与多个客户端进行通信连接。
在图1所示的直播网络构架中,多个客户端中的部分客户端可以作为主播客户端,而其余客户端可以作为观众客户端,主播客户端表示运行有主播应用程序的客户端,观众客户端表示运行有观众应用程序的客户端。本发明实施例中,频道简单来讲就是服务器创建的一种虚拟空间(或虚拟房间),位于该虚拟空间内的观众客户端可以不仅观看主播客户端的直播内容,还可以和主播客户端进行语音或文字的交互。主播客户端对接入其频道内的其余观众客户端不仅具有接入、踢出控制权,还具有直播主动权。本发明实施例中,主播客户端、观众客户端可以实现包括集合群聊、视频直播、频道K歌、在线游戏、在线影视等多种功能。在图1所示的直播网络构架中,主播客户端、观众客户端可以运行在包括但不限于移动电话、移动电脑、平板电脑、个人数字助理(PersonalDigital Assistant,PDA)、媒体播放器、智能电视、智能手表、智能眼镜、智能手环等用户设备上。
参见图2,为本发明实施例提供的一种应用程序的心跳包控制方法,在本发明实施例中,所述方法包括:
S101、监测应用程序的运行状态。
具体的,当启动运行客户端中的应用程序后,应用程序在客户端中的运行状态可以分为前台运行状态和后台运行状态。应用程序处于前台运行状态时,客户端需要显示应用程序的程序界面,此时占用较多的系统资源;应用程序处于后台运行状态时,客户端不需要显示应用程序的程序界面,此时占用较少的系统资源。客户端监测应用程序的运行状态的方法可以是,通过创建的监控线程来监测应用程序的运行状态,或者由应用程序监测自身的运行状态,当运行状态发生变更时,发送系统广播通知客户端自身的运行状态。当然也可以采用其他的方法监控应用程序的运行状态,本发明不作限制。
其中,应用程序与网络应用程序,用于和互联网中的服务器进行通信,应用程序通过向服务器发送心跳检测包,服务器接收心跳检测包返回心跳响应包的形式来识别通信链路的网络状态。
S102、当所述应用程序为前台运行状态时,指示所述应用程序采用第一时间间隔发送心跳检测包至服务器。
具体的,根据S101监测的应用程序的运行状态,当应用程序为前台运行状态时,客户端指示应用程序采用第一时间间隔发送心跳检测包至服务器。具体过程可以是:客户端记录应用程序发送的每个心跳检测包的发送时刻和服务器返回的心跳响应包的接收时刻。当应用程序由后台运行状态切换到前台运行状态时,客户端获取应用程序的上一心跳检测包的发送时刻t1,第一时间间隔为T1,客户端指示应用程序在t1+T1时刻发送当前心跳检测包,即当前心跳检测包和上一心跳检测包的时间间隔为第一时间间隔T1。
S103、当所述应用程序为后台运行状态时,指示所述应用程序采用第二时间间隔发送心跳检测包至所述服务器;其中,所述第二时间间隔大于所述第一时间间隔。
具体的,根据S101监测到的应用程序的运行状态,当应用程序为后台运行状态时,客户端指示应用程序采用第二时间间隔发送心跳检测包至服务器,第二时间间隔大于第一时间间隔。当应用程序为后台应用程序时,由于不显示程序界面,不向用户提供网络服务,因此对应用程序至服务器之间的通信链路的网络状态的要求不高,通过增加应用程序发送心跳检测包的时间间隔的方式,可以减少客户端的处理开销。
具体过程可以是:客户端记录应用程序的发送的每个心跳检测包的发送时刻和服务器返回的心跳响应包的接收时刻。当应用程序由后台运行状态切换到前台运行状态时,客户端获取应用程序的上一心跳检测包的发送时刻t2,第二时间间隔为T2,客户端指示应用程序在t2+T2时刻发送当前心跳检测包,即当前心跳检测包和上一心跳检测包的时间间隔为第二时间间隔。
实施本发明的实施例,监测应用程序的运行状态,在不同的运行状态指示应用程序以不同的时间间隔向服务器发送心跳检测包,这样可以自适应的调整应用程序发送心跳检测包的时间间隔,能良好的匹配应用程序的网络环境。
参见图3,为本发明实施例提供的一种应用程序的心跳包的控制方法的另一流程示意图,在本发明实施例中,所述方法包括:
S201、启动运行应用程序。
具体的,应用程序安装在客户端上,启动应用程序的方法可以是:用户通过键盘、鼠标或触摸屏等输入设备启动运行客户端上安装的应用程序。例如,客户端的桌面界面有显示有应用程序A的图标,用户点击应用程序A的图标,客户端检测到图标上发生点击事件后,启动运行图标对应的应用程序A。
S202、监测应用程序的运行状态。
具体的,应用程序在客户端中的运行状态可以分为前台运行状态和后台运行状态。应用程序处于前台运行状态时,客户端显示应用程序的程序界面,用户通过通过程序界面触发应用程序的相应功能,此时应用程序需要占用较多的系统资源;应用程序处于后台运行状态时,客户端不显示应用程序的程序界面,此时占用较少的系统资源。客户端监测应用程序的运行状态的方法可以是:创建一个监控线程,通过监控线程检测应用程序的主线程是否在位于进程表中,若为是,表明应用程序处于运行状态,然后进一步判断应用程序的UI(UserInterface,用户界面)进程是否位于进行表中,若为是,表明应用程序处于前台运行状态,若为否,表明应用程序处于后台运行状态。或者,应用程序在被启动时,系统广播携表明带应用程序处于前台运行状态的状态标识符,客户端通过状态标识符得知应用程序处于前台运行状态;当应用程序从前台运行状态切换为后台运行状态时,系统广播携带表明应用程序处于后台运行状态的状态标识符,客户端通过状态标识符得知应用程序处于后台运行状态。例如,系统广播中携带front_active的状态标识符表明应用程序处于前台运行状态,系统广播中携带behind_active的状态标识符表明应用程序处于后台运行状态。
可选的,当系统的资源占用率大于占用率阈值时,获取全部为后台运行状态的应用程序的优先级,以及关闭优先级小于优先级阈值的应用程序;其中,所述资源利用率包括CUP占用率和/或内存占用率。
具体的,客户端监测系统的资源占用率,当资源利用率大于占用率阈值时,表明客户端中可用的系统资源非常紧张,无法再启动运行新的应用程序,此时客户端获取所有的处于后台运行状态的应用程序的优先级,将优先级小于优先级阈值的应用程序执行关闭操作。
示例性的,资源利用率为CPU占用率,占用率阈值为90%,客户端检测系统的资源利用率为91%,大于占用率阈值,客户端获取所有的处于后台运行的应用程序为:应用程序1、应用程序2和应用程序3,客户端中的应用程序的优先级划分为3个等级,分别为1、2和3,数值越高表示优先级越高,应用程序的优先级可以由用户根据需要设定的,也可以由系统自行设定,本发明不作限制。假设优先级阈值为2,则客户端会关闭优先级小于2的应用程序,释放该应用程序占用的系统资源。
S203、设置应用程序的心跳检测包的发送时间间隔为第一时间间隔。
具体的,客户端设置应用程序的心跳检测包的发送时间间隔为第一时间间隔,客户端指示应用程序采用第一时间间隔发送心跳检测包至服务器。具体过程可以是:客户端记录应用程序发送的每个心跳检测包的发送时刻和服务器返回的心跳响应包的接收时刻。客户端获取应用程序上一心跳检测包的发送时刻为t1,第一时间间隔为T1,则客户端指示应用程序在t1+T1时刻发送当前心跳检测包,即当前心跳检测包和上一心跳检测包的时间间隔为第一时间间隔T1。
S204、指示所述应用程序在第一时刻向所述服务器发送当前心跳检测包。
具体的,第一时刻和应用程序的上一心跳检测包的发送时刻的时间间隔为第一时间间隔。应用程序在第一时刻向服务器发送心跳检测包后,服务器会返回心跳检测包对应的心跳响应包。
S205、预设时长内所述应用程序是否接收到所述服务器返回的心跳响应包。
具体的,以应用程序的心跳检测包的发送时刻开始计时,在预设时长内应用程序是否接收到服务器返回的心跳响应包,其中预设时长小于第一时间间隔。若预设时长内应用程序接收到服务器返回的心跳响应包,执行S206,若预设时长内应用程序未接收到服务器返回的心跳响应包,执行S207。
示例性的,第一时间间隔为5s,预设时长为2s,应用程序在t时刻向服务器发送心跳检测包,判断应用程序在t+2s时刻之前是否接收服务器返回心跳响应包,若为是,执行S206,若为否,执行S207。
S206、指示所述应用程序在第二时刻发送下一心跳检测包;其中,所述第二时刻至所述第一时刻的时间间隔大于所述第一时间间隔。
具体的,客户端在预设时长内接收到服务器返回的心跳响应包,表明应用程序和服务器之间的网络状态良好,可以适当的增大应用程序的心跳检测包的发送时间间隔,减轻客户端的处理开销。
示例性的,第一时间间隔为5s,第一时刻为t1,第二时刻为t1+6s,客户端指示应用程序在t1+6s时刻发送下一心跳检测包,第二时刻至第一时刻的时间间隔为6s,大于第一时间间隔5s。需要说明的是,增大的时间间隔的调整幅度本发明不作限制,可以根据需要进行设置。
S207、指示所述应用程序在第三时刻发送下一心跳检测包;其中,所述第三时刻至所述第一时刻的时间间隔小于所述第一时间间隔。
具体的,客户端在预设时长内未接收到服务器返回的心跳响应包,表明应用程序和服务器之间的网络状态恶劣,可以适当的减小应用程序的心跳检测包的发送时间间隔,以期待及时的发现服务器是否断开。
示例性的,第一时间间隔为5s,第一时刻为t1,第三时刻为t1+4s,客户端指示应用程序在t1+4s时刻向服务器发送心跳检测包,第三时刻至第一时刻的时间间隔为4s,小于第一时间间隔5s。需要说明的是,减小的时间间隔的幅度本发明不作限制,可以根据需要进行调整。
可以理解的是S205-S207是一个循环的执行流程,客户端每发送一次心跳心跳检测包判断在预设时长内是否接收到服务器返回的心跳响应包,然后客户端根据判断结果增大或减小下一心跳检测包和当前心跳检测包的发送时间间隔,其中,每个调整的时间时间的幅度可以相同也可以不相同,也可以呈现等差趋势,本发明不作限制。
S208、设置应用程序的心跳检测包的发送时间间隔为第二时间间隔。
当应用程序为后台运行状态时,客户端指示应用程序采用第二时间间隔发送心跳检测包至服务器,第二时间间隔大于第一时间间隔。当应用程序为后台应用程序时,由于不显示程序界面,不向用户提供网络服务,因此对应用程序至服务器之间的通信链路的网络状态的要求不高,通过增加应用程序发送心跳检测包的时间间隔的方式,可以减少客户端的处理开销。
具体过程可以是:客户端记录应用程序的发送的每个心跳检测包的发送时刻和服务器返回的心跳响应包的接收时刻。当应用程序由后台运行状态切换到前台运行状态时,客户端获取应用程序的上一心跳检测包的发送时刻t2,第二时间间隔为T2,客户端指示应用程序在t2+T2时刻发送当前心跳检测包,即当前心跳检测包和上一心跳检测包的时间间隔为第二时间间隔。
S209、指示所述应用程序在第四时刻向所述服务器发送当前心跳检测包。
具体的,第四时刻和应用程序的上一心跳检测包的发送时刻的时间间隔为第二时间间隔。应用程序在第四时刻向服务器发送心跳检测包后,服务器会返回心跳检测包对应的心跳响应包。
S210、预设时长内所述应用程序是否接收到所述服务器返回心跳响应包。
具体的,以应用程序的心跳检测包的发送时刻开始计时,在预设时长内应用程序是否接收到服务器返回的心跳检测包,其中预设时长小于第二时间间隔。
示例性的,第四时间间隔为10s,预设时长为2s,应用程序在t时刻向服务器发送心跳检测包,判断应用程序在t+2s时刻之前是否接收服务器返回心跳响应包,若为是,执行S211,若为否,执行S212。
S211、指示所述应用程序在第五时刻发送下一心跳检测包;其中,所述第五时刻至所述第四时刻的时间间隔大于所述第二时间间隔。
具体的,客户端在预设时长内接收到服务器返回的心跳响应包,表明应用程序和服务器之间的网络状态良好,可以适当的增大应用程序的心跳检测包的发送时间间隔,减轻客户端的处理开销。
示例性的,第二时间间隔为10s,第四时刻为t4,第五时刻为t4+11s,客户端指示应用程序在t4+11s时刻发送下一心跳检测包,第五时刻至第四时刻的时间间隔为11s,大于第二时间间隔10s。需要说明的是,增大的时间间隔的调整服务器本发明不作限制,可以根据需要进行设置。
S212、指示所述应用程序在第六时刻发送下一心跳检测包;其中,所述第六时刻至第四时刻的时间间隔小于所述第二时间间隔。
具体的,客户端在预设时长内未接收到服务器返回的心跳响应包,表明应用程序和服务器之间的网络状态恶劣,可以适当的减小应用程序的心跳检测包的发送时间间隔,以期待及时的发现服务器是否断开。
示例性的,第二时间间隔为10s,第四时刻为t4,第六时刻为t4+9s,客户端指示应用程序在t4+9s时刻向服务器发送心跳检测包,第六时刻至第四时刻的时间间隔为9s,小于第一时间间隔10s。需要说明的是,减小的时间间隔的幅度本发明不作限制,可以根据需要进行调整。
可以理解的是S210-S212是一个循环的执行流程,客户端每发送一次心跳心跳检测包判断在预设时长内是否接收到服务器返回的心跳响应包,然后客户端根据判断结果增大或减小下一心跳检测包和当前心跳检测包的发送时间间隔,其中,每个调整的时间时间的幅度可以相同也可以不相同,也可以呈现等差趋势,本发明不作限制。
S213、统计所述服务器超时的次数。
具体的,统计应用程序处于前台运行状态和后台运行状态时,服务器超时是指,客户端在向服务器发送心跳检测包后,在预设时长内未接收到服务器返回的心跳响应包,统计服务器超时的次数。
S214、若所述次数大于次数阈值,获取备用的多个服务器的网络状态参数,将网络状态参数最优的服务器作为目标服务器,且与所述目标服务器建立通信连接。
具体的,客户端判断服务超时的次数是否大于次数阈值,若为是,表明应用程序和客户端之间的网络状态恶劣,无法正常为应用程序提供网络服务,客户端需要重新选择备用的服务器进行连接。应用程序配置有多个备用的服务器,在当前服务器超时的次数大于次数阈值时,获取多个备用的服务器的网络状态参数,网络状态参数包括带宽、时延等,选择网络状态参数最优的服务器作为目标服务器,与目标服务器从新建立连接。
实施本发明的实施例,监测应用程序的运行状态,在不同的运行状态指示应用程序以不同的时间间隔向服务器发送心跳检测包,这样可以自适应的调整应用程序发送心跳检测包的时间间隔,提高客户端的连接稳定性。
参见图4,为本发明实施例提供的一种应用程序的心跳包控制装置的结构示意图,在本发明实施例中,所述装置包括:监测模块20、第一调整模块21和第二调整模块22。
监测模块20,用于监测应用程序的运行状态。
具体的,当启动运行客户端中的应用程序后,应用程序在客户端中的运行状态可以分为前台运行状态和后台运行状态。应用程序处于前台运行状态时,客户端需要显示应用程序的程序界面,此时占用较多的系统资源;应用程序处于后台运行状态时,客户端不需要显示应用程序的程序界面,此时占用较少的系统资源。检测模块20监测应用程序的运行状态的方法可以是,通过创建的监控线程来监测应用程序的运行状态,或者由应用程序监测自身的运行状态,当运行状态发生变更时,发送系统广播通知客户端自身的运行状态。当然也可以采用其他的方法监控应用程序的运行状态,本发明不作限制。
其中,应用程序与网络应用程序,用于和互联网中的服务器进行通信,应用程序通过向服务器发送心跳检测包,服务器接收心跳检测包返回心跳响应包的形式来识别通信链路的网络状态。
第一调整模块21,用于当所述应用程序为前台运行状态时,指示所述应用程序采用第一时间间隔发送心跳检测包至服务器。
具体的,第一调整模块21根据监测模块20监测的应用程序的运行状态,当应用程序为前台运行状态时,第一调整模块21指示应用程序采用第一时间间隔发送心跳检测包至服务器。具体过程可以是:第一调整模块21记录应用程序发送的每个心跳检测包的发送时刻和服务器返回的心跳响应包的接收时刻。当应用程序由后台运行状态切换到前台运行状态时,第一调整模块21获取应用程序的上一心跳检测包的发送时刻t1,第一时间间隔为T1,第一调整模块21指示应用程序在t1+T1时刻发送当前心跳检测包,即当前心跳检测包和上一心跳检测包的时间间隔为第一时间间隔T1。
第二调整模块22,用于当所述应用程序为后台运行状态时,指示所述应用程序采用第二时间间隔发送心跳检测包至所述服务器;其中,所述第二时间间隔大于所述第一时间间隔。
具体的,第二调整模块22根据监测模块20监测到的应用程序的运行状态,当应用程序为后台运行状态时,第二调整模块22指示应用程序采用第二时间间隔发送心跳检测包至服务器,第二时间间隔大于第一时间间隔。当应用程序为后台应用程序时,由于不显示程序界面,不向用户提供网络服务,因此对应用程序至服务器之间的通信链路的网络状态的要求不高,通过增加应用程序发送心跳检测包的时间间隔的方式,可以减少客户端的处理开销。
具体过程可以是:第二调整模块22记录应用程序的发送的每个心跳检测包的发送时刻和服务器返回的心跳响应包的接收时刻。当应用程序由后台运行状态切换到前台运行状态时,第二调整模块22获取应用程序的上一心跳检测包的发送时刻t2,第二时间间隔为T2,第二调整模块22指示应用程序在t2+T2时刻发送当前心跳检测包,即当前心跳检测包和上一心跳检测包的时间间隔为第二时间间隔。
实施本发明的实施例,监测应用程序的运行状态,在不同的运行状态指示应用程序以不同的时间间隔向服务器发送心跳检测包,这样可以自适应的调整应用程序发送心跳检测包的时间间隔,提高客户端的连接稳定性。
参见图5,为本发明实施例提供的一种应用程序的心跳包的控制装置的另一结构示意图,在本发明实施例中,所述装置除包括检测模块20、第一调整模块21和第二调整模块22之外,还包括:统计模块23、重连接模块24和关闭模块25。
统计模块23,用于统计所述服务器超时的次数;其中,所述服务器超时表示所述应用程序在所述预设时长内未接收到所述服务器返回的心跳响应包。
重连接模块24,用于若所述次数大于次数阈值时,获取备用的多个服务器的网络状态参数,将网络状态参数最优的备用服务器作为目标服务器,且与所述目标服务器建立通信连接。
关闭模块25,用于当系统的资源占用率大于占用率阈值时,获取全部为后台运行状态的应用程序的优先级,以及关闭优先级小于优先级阈值的应用程序;其中,所述资源利用率包括CUP占用率和/或内存占用率。
可选的,第一调整模块21还用于:
指示所述应用程序在第一时刻向所述服务器发送当前心跳检测包;
若预设时长内所述应用程序接收到所述服务器返回心跳响应包时,指示所述应用程序在第二时刻发送下一心跳检测包;其中所述第二时刻至所述第一时刻的时间间隔大于所述第一时间间隔;
若预设时长内所述应用程序未接收到所述服务器返回的心跳响应包时,指示所述应用程序在第三时刻发送下一心跳检测包;其中,所述第三时刻至所述第一时刻的时间间隔小于所述第一时间间隔。
可选的,第二调整模块22还用于:
指示所述应用程序在第四时刻向所述服务器发送当前心跳检测包;
若预设时长内所述应用程序接收到所述服务器返回的心跳响应包,指示所述应用程序在第五时刻发送下一心跳检测包;其中,所述第五时刻至所述第三时刻的时间间隔大于所述第二时间间隔;
若所述预设时长内所述应用程序未接收到所述服务器返回的心跳响应包,指示所述应用程序在第六时刻发送下一心跳检测包;其中,所述第六时刻至所述第四时刻的时间间隔小于所述第二时间间隔。
可选的,监测模块20具体用于接收系统广播,并根据所述系统广播中携带的状态标识符确定所述应用程序的运行状态。
本发明实施例和方法实施例二基于同一构思,其带来的技术效果也相同,具体原理请参照方法实施例二的描述,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (12)

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

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445610A (zh) * 2016-10-08 2017-02-22 乐视控股(北京)有限公司 一种应用程序处理方法及装置
CN106656669A (zh) * 2016-12-26 2017-05-10 山东鲁能软件技术有限公司 一种基于阈值自适应设置的设备参数异常检测系统及方法
CN106851799A (zh) * 2017-01-19 2017-06-13 珠海市魅族科技有限公司 一种长连接中心跳包的发送方法及装置
WO2017107852A1 (zh) * 2015-12-25 2017-06-29 阿里巴巴集团控股有限公司 一种心跳报文的发送方法和装置
CN107147546A (zh) * 2017-05-31 2017-09-08 河南康联安防科技股份有限公司 双网心跳监测方法及系统
CN107249136A (zh) * 2017-06-07 2017-10-13 北京潘达互娱科技有限公司 网络连接方法及装置
CN107453938A (zh) * 2016-05-30 2017-12-08 北京京东尚科信息技术有限公司 一种负载均衡方法及系统
CN107957915A (zh) * 2017-11-21 2018-04-24 上海壹账通金融科技有限公司 一种被调用方系统的心跳检测方法、存储介质和服务器
CN108111879A (zh) * 2017-12-12 2018-06-01 福建中金在线信息科技有限公司 一种视频直播异常处理的方法、装置及电子设备
CN108306942A (zh) * 2018-01-09 2018-07-20 武汉斗鱼网络科技有限公司 多用户同时直播的通信方法、存储介质、电子设备及系统
CN108390910A (zh) * 2018-01-17 2018-08-10 吉浦斯信息咨询(深圳)有限公司 一种推送sdk的省电方法、装置及计算机可读介质
CN108430116A (zh) * 2018-03-02 2018-08-21 杭州朗和科技有限公司 断网重连方法、介质、装置和计算设备
CN109379246A (zh) * 2018-09-21 2019-02-22 锐捷网络股份有限公司 一种内存的检测方法及装置
CN109981384A (zh) * 2017-12-27 2019-07-05 航天信息股份有限公司 一种动态调整心跳周期的系统和方法
CN105933732B (zh) * 2016-06-14 2019-08-27 天脉聚源(北京)传媒科技有限公司 一种视频播放时长统计方法及系统
CN110381130A (zh) * 2019-07-12 2019-10-25 湖南新云网科技有限公司 保活长连接方法、装置、通信终端及存储介质
CN110474975A (zh) * 2019-08-08 2019-11-19 北京云中融信网络科技有限公司 应用程序的心跳处理方法、装置、电子设备及存储介质
CN110798693A (zh) * 2019-09-29 2020-02-14 深圳市镜玩科技有限公司 一种用户管理方法、服务器及计算机可读存储介质
CN112910742A (zh) * 2021-03-15 2021-06-04 杭州迪普科技股份有限公司 链路状态检测方法及装置
CN113625946A (zh) * 2021-06-28 2021-11-09 苏州浪潮智能科技有限公司 一种实现存储集群仲裁的方法、系统及计算机设备
CN113965495A (zh) * 2021-09-29 2022-01-21 青岛海尔科技有限公司 终端应用程序的探活方法、装置、电子设备及存储介质
CN114666390A (zh) * 2022-05-19 2022-06-24 云账户技术(天津)有限公司 应用程序的页面监测方法、装置、电子设备及存储介质
WO2022142716A1 (zh) * 2020-12-31 2022-07-07 上海连尚网络科技有限公司 关于无线热点的信息处理方法和装置
WO2023071525A1 (zh) * 2021-11-01 2023-05-04 中兴通讯股份有限公司 工作参数调整方法、控制器、终端和计算机可读存储介质

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客户端和程序服务器

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017107852A1 (zh) * 2015-12-25 2017-06-29 阿里巴巴集团控股有限公司 一种心跳报文的发送方法和装置
CN106922039A (zh) * 2015-12-25 2017-07-04 阿里巴巴集团控股有限公司 一种心跳报文的发送方法和装置
CN106922039B (zh) * 2015-12-25 2020-06-05 阿里巴巴集团控股有限公司 一种心跳报文的发送方法和装置
CN107453938B (zh) * 2016-05-30 2020-11-20 北京京东尚科信息技术有限公司 负载均衡方法、系统、电子设备及计算机可读存储介质
CN107453938A (zh) * 2016-05-30 2017-12-08 北京京东尚科信息技术有限公司 一种负载均衡方法及系统
CN105933732B (zh) * 2016-06-14 2019-08-27 天脉聚源(北京)传媒科技有限公司 一种视频播放时长统计方法及系统
CN106445610A (zh) * 2016-10-08 2017-02-22 乐视控股(北京)有限公司 一种应用程序处理方法及装置
CN106656669A (zh) * 2016-12-26 2017-05-10 山东鲁能软件技术有限公司 一种基于阈值自适应设置的设备参数异常检测系统及方法
CN106656669B (zh) * 2016-12-26 2019-09-24 山东鲁能软件技术有限公司 一种基于阈值自适应设置的设备参数异常检测系统及方法
CN106851799A (zh) * 2017-01-19 2017-06-13 珠海市魅族科技有限公司 一种长连接中心跳包的发送方法及装置
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 深圳壹账通智能科技有限公司 一种被调用方系统的心跳检测方法、存储介质和服务器
CN107957915A (zh) * 2017-11-21 2018-04-24 上海壹账通金融科技有限公司 一种被调用方系统的心跳检测方法、存储介质和服务器
CN108111879A (zh) * 2017-12-12 2018-06-01 福建中金在线信息科技有限公司 一种视频直播异常处理的方法、装置及电子设备
CN109981384A (zh) * 2017-12-27 2019-07-05 航天信息股份有限公司 一种动态调整心跳周期的系统和方法
WO2019136845A1 (zh) * 2018-01-09 2019-07-18 武汉斗鱼网络科技有限公司 多用户同时直播的通信方法、存储介质、电子设备及系统
CN108306942A (zh) * 2018-01-09 2018-07-20 武汉斗鱼网络科技有限公司 多用户同时直播的通信方法、存储介质、电子设备及系统
CN108390910A (zh) * 2018-01-17 2018-08-10 吉浦斯信息咨询(深圳)有限公司 一种推送sdk的省电方法、装置及计算机可读介质
CN108390910B (zh) * 2018-01-17 2021-03-16 吉浦斯信息咨询(深圳)有限公司 一种推送sdk的省电方法、装置及计算机可读介质
CN108430116A (zh) * 2018-03-02 2018-08-21 杭州朗和科技有限公司 断网重连方法、介质、装置和计算设备
CN109379246A (zh) * 2018-09-21 2019-02-22 锐捷网络股份有限公司 一种内存的检测方法及装置
CN109379246B (zh) * 2018-09-21 2021-03-05 锐捷网络股份有限公司 一种内存的检测方法及装置
CN110381130A (zh) * 2019-07-12 2019-10-25 湖南新云网科技有限公司 保活长连接方法、装置、通信终端及存储介质
CN110474975A (zh) * 2019-08-08 2019-11-19 北京云中融信网络科技有限公司 应用程序的心跳处理方法、装置、电子设备及存储介质
CN110474975B (zh) * 2019-08-08 2022-03-15 北京云中融信网络科技有限公司 应用程序的心跳处理方法、装置、电子设备及存储介质
CN110798693A (zh) * 2019-09-29 2020-02-14 深圳市镜玩科技有限公司 一种用户管理方法、服务器及计算机可读存储介质
CN110798693B (zh) * 2019-09-29 2022-03-11 深圳市镜玩科技有限公司 一种用户管理方法、服务器及计算机可读存储介质
WO2022142716A1 (zh) * 2020-12-31 2022-07-07 上海连尚网络科技有限公司 关于无线热点的信息处理方法和装置
CN112910742A (zh) * 2021-03-15 2021-06-04 杭州迪普科技股份有限公司 链路状态检测方法及装置
CN113625946A (zh) * 2021-06-28 2021-11-09 苏州浪潮智能科技有限公司 一种实现存储集群仲裁的方法、系统及计算机设备
CN113965495A (zh) * 2021-09-29 2022-01-21 青岛海尔科技有限公司 终端应用程序的探活方法、装置、电子设备及存储介质
WO2023071525A1 (zh) * 2021-11-01 2023-05-04 中兴通讯股份有限公司 工作参数调整方法、控制器、终端和计算机可读存储介质
CN114666390A (zh) * 2022-05-19 2022-06-24 云账户技术(天津)有限公司 应用程序的页面监测方法、装置、电子设备及存储介质
CN114666390B (zh) * 2022-05-19 2022-08-05 云账户技术(天津)有限公司 应用程序的页面监测方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN104991850B (zh) 2018-06-19

Similar Documents

Publication Publication Date Title
CN104991850A (zh) 一种应用程序的心跳包控制方法和装置
CN109408223B (zh) 资源配置方法、装置、终端及存储介质
CN108834203B (zh) 网络切换方法、装置、终端及存储介质
WO2015149471A1 (zh) 一种信息推送方法、系统、设备及计算机存储介质
WO2016197864A1 (zh) 连接状态检测方法、装置和智能电视系统
US9906981B2 (en) Method and system for dynamic regulation and control of Wi-Fi scans
CN105072190A (zh) 一种实时性桌面云的实现方法及系统
US10908976B2 (en) Broadcast queue adjustment method, terminal, and storage medium
EP3591949B1 (en) Broadcast message queuing method and device, and terminal
US11876667B2 (en) Broadband watchdog
CN107070670B (zh) 控制广播发送者发送广播消息的方法、装置和终端设备
CN100517052C (zh) 一种无线投影方法和系统及其无线投影装置
CN103338144A (zh) 一种会话数据同步方法和装置
CN103747286A (zh) 一种用于提供视频的方法和设备
CN104866269A (zh) 一种分屏区域调节方法及终端
CN106919459B (zh) 一种广播接收者的管理方法、装置及终端
US9992140B2 (en) Electronic apparatus, server, and control method of system
US20220221924A1 (en) Prioritized Usage of Devices
CN203340118U (zh) 一种跨媒体云端服务系统
CN113840269B (zh) 一种多媒体数据传输方法、装置、电子设备和存储介质
EP3588991B1 (en) Method and apparatus for generating broadcast queue, storage medium, and electronic device
CN106844070B (zh) 一种广播的控制方法、装置及移动终端
CN107402816B (zh) 调整触摸屏工作队列的方法、装置、终端和存储介质
CN106936828B (zh) 一种广播接收者队列调整方法、装置及终端
CN101534430A (zh) 一种对手机电视播放中异常的处理方法及移动终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for 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.

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