CN115720205A - 心跳时长的自适应方法、装置、电子设备及存储介质 - Google Patents
心跳时长的自适应方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115720205A CN115720205A CN202210930246.3A CN202210930246A CN115720205A CN 115720205 A CN115720205 A CN 115720205A CN 202210930246 A CN202210930246 A CN 202210930246A CN 115720205 A CN115720205 A CN 115720205A
- Authority
- CN
- China
- Prior art keywords
- heartbeat
- duration
- network
- current
- adaptive
- 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.)
- Pending
Links
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 64
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004891 communication Methods 0.000 claims abstract description 22
- 230000015654 memory Effects 0.000 claims description 24
- 238000004364 calculation method Methods 0.000 claims description 21
- 238000012790 confirmation Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种心跳时长的自适应方法、装置、电子设备及存储介质,属于通信技术领域。其中,该方法包括:获取客户端的当前心跳时长,判断所述当前心跳时长是否为稳定心跳时长;若所述当前心跳时长为稳定心跳时长,且所述当前心跳时长小于心跳最大值,则获取所述客户端当前所在网络环境的网络参数,根据所述网络参数计算自适应心跳时长;采用所述自适应心跳时长更新所述客户端的心跳周期时长。通过本发明,解决了相关技术中采用固定的心跳间隔时长,不具备对网络的适应性的技术问题。
Description
技术领域
本发明涉及通信技术领域,具体而言,涉及一种心跳时长的自适应方法、装置、电子设备及存储介质。
背景技术
心跳是指在终端监测中,主服务器与各终端之间通过周期性发送信息,判断终端的健康状况,判断对方是否“存活”,因此,终端和服务器之间必须按照一定的心跳间隔不断地通信以保持长连接。
相关技术中,大多采用固定的心跳间隔来保持网络长连接,典型的心跳间隔有3分20秒、4分30秒、7分钟、15分钟、28分钟等等,但是上述这种方式,大多使用心跳经验值,不具备对网络的适应性,在实际情况中,若心跳间隔设置过小,则会加大客户端流量电量的消耗以及加重服务器的负载等问题;若心跳间隔设置过大,则会导致通信双方不能及时地发现通信链路的中断,从而导致客户端或服务端掉线的问题,影响双方的通信。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明提供了一种心跳时长的自适应方法、装置、电子设备及存储介质,以解决相关技术采用固定的心跳间隔,不具备对网络的适应性的技术问题。
根据本申请实施例的一个方面,提供了一种自适应心跳的探测方法,包括:获取客户端的当前心跳时长,判断所述当前心跳时长是否为稳定心跳时长;若所述当前心跳时长为稳定心跳时长,且所述当前心跳时长小于心跳最大值,则获取所述客户端当前所在网络环境的网络参数,根据所述网络参数计算自适应心跳时长;采用所述自适应心跳时长更新所述客户端的心跳周期时长。
进一步地,所述网络参数包括网络延迟程度和网速信息,根据所述网络参数计算自适应心跳时长包括:获取所述网络延迟程度和所述网速信息;计算所述网络延迟程度对应的延迟步长率和所述网速信息对应的网速步长率;根据所述延迟步长率和所述网速步长率计算自适应心跳时长。
进一步地,根据所述延迟步长率和所述网速步长率计算自适应心跳时长包括:分别获取所述网络延迟程度和所述网速信息对应的占比,并获取最大设定步长;将所述占比、所述延迟步长率、所述网速步长率和所述最大设定步长输入以下第一预设公式计算心跳调整时长;T=C*(DR*a+SR*b),其中,T为心跳调整时长,C为最大设定步长,DR为延迟步长率,SR为网速步长率,a为网络延迟程度对应的占比,b为网速信息对应的占比;将所述心跳调整时长与所述客户端的当前心跳时长相加,得到自适应心跳时长。
进一步地,计算所述网络延迟程度对应的延迟步长率和所述网速信息对应的网速步长率包括:使用以下第二预设公式计算所述网络延迟程度对应的延迟步长率:DR=(m-D)/100;其中,DR为延迟步长率,m为预设最大延迟,D为实际延迟;使用以下第三预设公式计算所述网速信息对应的网速步长率:SR=(n-S)/100;其中,SR为网速步长率,n为预设最大网速,S为实际网速。
进一步地,判断所述当前心跳时长是否为稳定心跳时长包括:启动心跳线程,使用当前心跳时长向服务器发送心跳数据包;接收所述服务器基于所述心跳数据包返回的心跳确认包;若连续预设周期均接收到对应的心跳确认包,则确定所述当前心跳时长为稳定心跳时长。
进一步地,使用当前心跳时长向服务器发送心跳数据包之后,还包括:若连续预设周期内未接收到对应的心跳确认包,则获取预设基准心跳时长,其中,所述预设基准心跳时长小于所述心跳最大值;将所述预设基准心跳时长作为当前心跳时长,并继续执行判断所述当前心跳时长是否为稳定心跳时长的步骤。
进一步地,采用所述自适应心跳时长更新所述客户端的心跳周期时长之后,包括:将当前心跳周期的结束时刻设置为所述自适应心跳时长的起始时刻;从所述起始时刻开始,按照所述自适应心跳时长向服务器周期性发送心跳报文。
根据本申请实施例的另一个方面,还提供了一种心跳时长的自适应装置,包括:判断模块,用于获取客户端的当前心跳时长,判断所述当前心跳时长是否为稳定心跳时长;计算模块,用于若所述当前心跳时长为稳定心跳时长,且所述当前心跳时长小于心跳最大值,则获取所述客户端当前所在网络环境的网络参数,根据所述网络参数计算自适应心跳时长;更新模块,用于采用所述自适应心跳时长更新所述客户端的心跳周期时长。
进一步,所述计算模块包括:计算子单元,用于获取所述网络延迟程度和所述网速信息;计算所述网络延迟程度对应的延迟步长率和所述网速信息对应的网速步长率;根据所述延迟步长率和所述网速步长率计算自适应心跳时长。
进一步,所述计算子单元包括第一计算子单元,所述第一计算子单元,用于分别获取所述网络延迟程度和所述网速信息对应的占比,并获取最大设定步长;将所述占比、所述延迟步长率、所述网速步长率和所述最大设定步长输入以下第一预设公式计算心跳调整时长;T=C*(DR*a+SR*b),其中,T为心跳调整时长,C为最大设定步长,DR为延迟步长率,SR为网速步长率,a为网络延迟程度对应的占比,b为网速信息对应的占比;将所述心跳调整时长与所述客户端的当前心跳时长相加,得到自适应心跳时长。
进一步,所述计算子单元包括第二计算子单元,所述第二计算子单元,用于使用以下第二预设公式计算所述网络延迟程度对应的延迟步长率:DR=(m-D)/100;其中,DR为延迟步长率,m为预设最大延迟,D为实际延迟;使用以下第三预设公式计算所述网速信息对应的网速步长率:SR=(n-S)/100;其中,SR为网速步长率,n为预设最大网速,S为实际网速。
进一步,所述判断模块包括稳定判断单元,所述稳定判断单元用于启动心跳线程,使用当前心跳时长向服务器发送心跳数据包;接收所述服务器基于所述心跳数据包返回的心跳确认包;若连续预设周期均接收到对应的心跳确认包,则确定所述当前心跳时长为稳定心跳时长。
进一步,所述稳定判断单元,还用于若连续预设周期内未接收到对应的心跳确认包,则获取预设基准心跳时长,其中,所述预设基准心跳时长小于所述心跳最大值;将所述预设基准心跳时长作为当前心跳时长,并继续执行判断所述当前心跳时长是否为稳定心跳时长的步骤。
进一步,所述心跳时长的自适应装置还包括:更新子模块,用于将当前心跳周期的结束时刻设置为所述自适应心跳时长的起始时刻;从所述起始时刻开始,按照所述自适应心跳时长向服务器周期性发送心跳报文。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
根据本申请实施例的另一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
通过本发明,获取客户端的当前心跳时长,判断当前心跳时长是否为稳定心跳时长;若当前心跳时长为稳定心跳时长,且当前心跳时长小于心跳最大值,则获取客户端当前所在网络环境的网络参数,根据网络参数计算自适应心跳时长;采用自适应心跳时长更新客户端的心跳周期时长,通过客户端当前所在的网络环境情况动态调整心跳时长,解决了相关技术采用固定的心跳间隔,不具备对网络的适应性的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种计算机的硬件结构框图;
图2是根据本发明实施例的一种心跳时长的自适应方法的流程图;
图3是本发明实施例中心跳时长的发送逻辑示意图;
图4是本发明实施例中客户端的心跳线程逻辑示意图;
图5是本发明实施例中心跳时长计算逻辑示意图;
图6是根据本发明实施例的一种心跳时长的自适应装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本申请实施例一所提供的方法实施例可以在手机、计算机、平板或者类似的运算装置中执行。以运行在计算机上为例,图1是本发明实施例的一种计算机的硬件结构框图。如图1所示,计算机可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机的结构造成限定。例如,计算机还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种视频动静率识别方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种心跳时长的自适应方法,图2是根据本发明实施例的一种心跳时长的自适应方法的流程图,如图2所示,该流程包括如下步骤:
步骤S10,获取客户端的当前心跳时长,判断所述当前心跳时长是否为稳定心跳时长;
当客户端与服务器建立通信连接后,客户端需要按照心跳时长周期性地向服务端发送心跳数据包,以保持客户端与服务端之间的链路连接,心跳数据包一般是很小的包,或者只包含包头的一个空包;本申请实施例提供了一种心跳时长的自适应方法,应用于客户端,因此本申请实施例的执行主体为客户端。具体地,客户端指的是可以与服务端建立无线通信连接的移动终端,具体可以包括移动设备、平板计算机、膝上型计算机等,或其任意组合。在一些示例中,移动设备可以包括可穿戴设备、智能移动设备等,或其任意组合。在一些实施例中,可穿戴设备可包括智能手环、智能手表、智能配件等、或其任何组合。在一些实施例中,智能移动设备可以包括智能手机、个人数字助理(Personal Digital Assistant,PDA)等,或其任意组合。服务端可以是单个服务器,也可以是服务器组。服务器组可以是集中式的,也可以是分布式的(例如,服务器可以是分布式系统)。在一些实施例中,服务端相对于客户端,可以是本地的、也可以是远程的。例如,服务端可以经由网络访问存储在客户端中的信息和/或数据。客户端经由无线访问接入点,与服务端通过建立无线通信连接进行通信。
进一步地,可参照图4,当前心跳时长的获取方式可以是:判断是否存在上次正常心跳时长,在客户端与服务器完成连接后,客户端获取上一次正常的心跳时长,例如上次使用的心跳时长为20分钟,客户端将携带心跳时长20分钟的时间间隔的心跳数据包发送至服务端,服务端在20分钟之后探测客户端是否在线,若探测客户端在线,则标识此次心跳时长是正常的,即上次心跳时长为上次正常心跳时长;客户端将携带心跳时长为20分钟的时间间隔的心跳数据包发送至服务端之后,若在20分钟之内未收到服务器的返回的心跳确认包,说明可能连接断开,此次心跳时长异常,即不存在上次正常心跳时长。若存在上次正常心跳时长则将上次正常心跳时长作为当前心跳时长,并进行后续的发送当前心跳时长至服务端,判断当前心跳时长是否为稳定心跳时长的步骤;若不存在上次正常心跳时长则获取预设基准心跳时长(即图4中的初始心跳),预设基准心跳设置为较短值,例如30秒,将预设基准心跳作为当前心跳时长发送至服务端。
步骤S20,若所述当前心跳时长为稳定心跳时长,且所述当前心跳时长小于心跳最大值,则获取所述客户端当前所在网络环境的网络参数,根据所述网络参数计算自适应心跳时长;
步骤S30,采用所述自适应心跳时长更新所述客户端的心跳周期时长。
若当前心跳时长为稳定心跳时长,且当前心跳时长小于心跳最大值,则需要增加心跳时长,本实施例中考虑到客户端当前所在网络环境的网络参数,获取客户端当前所在网络环境的网络参数,根据网络参数计算自适应心跳时长,采用自适应心跳时长更新客户端的心跳周期时长。若当前心跳时长为稳定心跳时长,且当前心跳时长大于或等于心跳最大值,即当前心跳时长已经达到心跳最大值,不需要再增加心跳时长,则采用心跳最大值作为心跳间隔时间发送至服务端。其中,心跳最大值为服务器所能承受的最大的心跳时长,该心跳最大值可以根据服务器所承载的连接量评估得出,一般情况下设定为固定值,例如心跳最大值设定为20分钟,客户端在20分钟的时间间隔发送心跳数据包对服务器来说是最优的。参照图3,客户端向服务端发起连接,连接成功后,服务端向客户端下发最大心跳值,以指示客户端维持到最大心跳值之后,不再增加步长,直接使用最大心跳值作为心跳周期,服务端记录心跳,等到当前客户端发送的心跳数据包中的心跳间隔时间点时,再发送心跳确认包至客户端,以探测客户端是否在线。
通过上述步骤,获取客户端的当前心跳时长,判断当前心跳时长是否为稳定心跳时长;若当前心跳时长为稳定心跳时长,且当前心跳时长小于心跳最大值,则获取客户端当前所在网络环境的网络参数,根据网络参数计算自适应心跳时长;采用自适应心跳时长更新客户端的心跳周期时长,通过客户端当前所在的网络环境情况动态调整心跳时长,解决了相关技术采用固定的心跳间隔,不具备对网络的适应性的技术问题。
在本实施例的一个实施方式中,所述网络参数包括网络延迟程度和网速信息,根据所述网络参数计算自适应心跳时长包括:
步骤201,获取所述网络延迟程度和所述网速信息;
步骤202,计算所述网络延迟程度对应的延迟步长率和所述网速信息对应的网速步长率;
步骤203,根据所述延迟步长率和所述网速步长率计算自适应心跳时长。
网络参数还可以包括除网络延迟程度和网速信息之外的其他网络参数,例如网络丢包率等等,本实施例中获取网络延迟程度和网速信息,计算网络延迟程度对应的延迟步长率和网速信息对应的网速步长率;如图5所示,本实施例计算出网络延迟程度和网速信息对应的影响因子,将网络延迟程度和网速信息的影响因素考虑到心跳时长的计算过程中,以根据网络环境自适应调整心跳时长,即根据延迟步长率和网速步长率计算自适应心跳时长。若不通过网络实际情况增加步长,可能存在由于客户端当前所处环境的比如网速等网络问题,会导致传送的时间加长,有可能会导致心跳发送失败,客户端与服务端的连接断开,因此本实施例根据客户端的实际网络信息智能计算自适应心跳时长,对心跳时长进行自适应动态调整,具备对网络的适应性。
具体地,根据所述延迟步长率和所述网速步长率计算自适应心跳时长包括:
步骤A,分别获取所述网络延迟程度和所述网速信息对应的占比,并获取最大设定步长;
步骤B,将所述占比、所述延迟步长率、所述网速步长率和所述最大设定步长输入以下第一预设公式计算心跳调整时长;
第一预设公式:T=C*(DR*a+SR*b),其中,T为心跳调整时长,C为最大设定步长,DR为延迟步长率,SR为网速步长率,a为网络延迟程度对应的占比,b为网速信息对应的占比;
步骤C,将所述心跳调整时长与所述客户端的当前心跳时长相加,得到自适应心跳时长。
分别获取网络延迟程度和网速信息对应的占比,网络延迟程度和网速信息对应的占比可以根据实际情况具体设置,例如将网络延迟程度对应的占比设置为80%,网速信息对应的占比设置为20%,并获取最大设定步长,最大设定步长可为心跳最大值,例如设置最大设定步长为1200s,将占比、延迟步长率、网速步长率和最大设定步长输入上述的第一预设公式计算心跳调整时长;将网络延迟程度和网速信息的影响因素之和与最大设定步长相乘以得到心跳调整步长,进而将心跳调整时长与客户端的当前心跳时长相加,得到自适应心跳时长,将客户端当前所处的网络情况考虑到心跳时长的计算过程中,使得计算的心跳步长可以更适应网络的情况。
进一步地,计算所述网络延迟程度对应的延迟步长率和所述网速信息对应的网速步长率包括:
步骤D,使用以下第二预设公式计算所述网络延迟程度对应的延迟步长率:DR=(m-D)/100;其中,DR为延迟步长率,m为预设最大延迟,D为实际延迟;
步骤E,使用以下第三预设公式计算所述网速信息对应的网速步长率:SR=(n-S)/100;其中,SR为网速步长率,n为预设最大网速,S为实际网速。
网络延迟程度对应的延迟步长率的计算过程可以为:使用第二预设公式计算网络延迟程度对应的延迟步长率:DR=(m-D)/100;其中,DR为延迟步长率,m为预设最大延迟,D为实际延迟;需要说明的是,若实际延迟大于预设最大延迟,则将实际延迟取值为预设最大延迟,即D=m,也即在该场景下,延迟步长率DR为0。
类似地,网速信息对应的网速补偿率的计算过程可以为:使用第三预设公式计算网速信息对应的网速步长率:SR=(n-S)/100;其中,SR为网速步长率,n为预设最大网速,S为实际网速,若实际网速大于预设最大网速,则将实际网速取值为预设最大网速,即S=n,也即在该场景下,网速步长率SR为0。
在本实施例的另一实施方式中,判断所述当前心跳时长是否为稳定心跳时长包括:
步骤S101,启动心跳线程,使用当前心跳时长向服务器发送心跳数据包;
步骤S102,接收所述服务器基于所述心跳数据包返回的心跳确认包;
步骤S103,若连续预设周期均接收到对应的心跳确认包,则确定所述当前心跳时长为稳定心跳时长。
客户端与服务端连接成功后,客户端启动心跳线程,使用当前心跳时长向服务器发送心跳数据包,并接收服务器基于心跳数据包返回的心跳确认包;服务器在接收客户端发送的心跳数据包后,服务器基于心跳数据包向客户端返回心跳确认包,以探测客户端是否在线,若客户端成功发送心跳数据包并成功接收心跳确认包,则认为当前的心跳周期正常,若连续预设周期均接收到对应的心跳确认包,则确定当前心跳时长为稳定心跳时长。预设周期可以设置为3个周期,此处对预设周期不做限制可以根据实际情况设置周期数,客户端与服务器长连接建立后连续三次成功的心跳就可以很大程度的保证下一次心跳环境是正常的,即可以判断当前心跳时长为稳定心跳时长,可用该稳定心跳时长来保持稳定心跳。
进一步地,使用当前心跳时长向服务器发送心跳数据包之后,还包括:
步骤F,若连续预设周期内未接收到对应的心跳确认包,则获取预设基准心跳时长,其中,所述预设基准心跳时长小于所述心跳最大值;
步骤G,将所述预设基准心跳时长作为当前心跳时长,并继续执行判断所述当前心跳时长是否为稳定心跳时长的步骤。
若在任一连续预设周期内未接收到对应的心跳确认包,则说明心跳失败,此时获取预设基准心跳,其中,预设基准心跳的心跳周期小于心跳最大值,将预设基准作为当前心跳,并继续执行判断当前心跳是否为稳定心跳的步骤。本实施例预设基准心跳的心跳周期较短,相比于心跳失败后根据成功心跳减半等方式进行恢复,在心跳失败后使用预设基准心跳,使得客户端可以更快恢复正常状态。
本实施方式中,采用所述自适应心跳时长更新所述客户端的心跳周期时长之后,包括:
步骤H,将当前心跳周期的结束时刻设置为所述自适应心跳时长的起始时刻;
步骤I,从所述起始时刻开始,按照所述自适应心跳时长向服务器周期性发送心跳报文。
在采用自适应心跳时长更新客户端的心跳周期时长之后,将当前心跳周期的结束时刻设置为自适应心跳时长的起始时刻,从起始时刻开始,按照自适应心跳时长向服务器周期性发送心跳报文。在计算得出自适应心跳时长后,等待当前心跳周期结束,再按照计算得出的自适应心跳时长向服务器周期性发送心跳报文,本实施例根据设备网络信息计算心跳步长,更符合设备实际情况。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种心跳时长的自适应装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的一种心跳时长的自适应装置的结构框图,如图6所示,该装置包括:判断模块60,计算模块62,更新模块64,其中,
判断模块60,用于获取客户端的当前心跳时长,判断所述当前心跳时长是否为稳定心跳时长;计算模块62,用于若所述当前心跳时长为稳定心跳时长,且所述当前心跳时长小于心跳最大值,则获取所述客户端当前所在网络环境的网络参数,根据所述网络参数计算自适应心跳时长;更新模块64,用于采用所述自适应心跳时长更新所述客户端的心跳周期时长。
可选的,所述计算模块包括:计算子单元,用于获取所述网络延迟程度和所述网速信息;计算所述网络延迟程度对应的延迟步长率和所述网速信息对应的网速步长率;根据所述延迟步长率和所述网速步长率计算自适应心跳时长。
可选的,所述计算子单元包括第一计算子单元,所述第一计算子单元,用于分别获取所述网络延迟程度和所述网速信息对应的占比,并获取最大设定步长;将所述占比、所述延迟步长率、所述网速步长率和所述最大设定步长输入以下第一预设公式计算心跳调整时长;T=C*(DR*a+SR*b),其中,T为心跳调整时长,C为最大设定步长,DR为延迟步长率,SR为网速步长率,a为网络延迟程度对应的占比,b为网速信息对应的占比;将所述心跳调整时长与所述客户端的当前心跳时长相加,得到自适应心跳时长。
可选的,所述计算子单元包括第二计算子单元,所述第二计算子单元,用于使用以下第二预设公式计算所述网络延迟程度对应的延迟步长率:DR=(m-D)/100;其中,DR为延迟步长率,m为预设最大延迟,D为实际延迟;使用以下第三预设公式计算所述网速信息对应的网速步长率:SR=(n-S)/100;其中,SR为网速步长率,n为预设最大网速,S为实际网速。
可选的,所述判断模块包括稳定判断单元,所述稳定判断单元用于启动心跳线程,使用当前心跳时长向服务器发送心跳数据包;接收所述服务器基于所述心跳数据包返回的心跳确认包;若连续预设周期均接收到对应的心跳确认包,则确定所述当前心跳时长为稳定心跳时长。
可选的,所述稳定判断单元,还用于若连续预设周期内未接收到对应的心跳确认包,则获取预设基准心跳时长,其中,所述预设基准心跳时长小于所述心跳最大值;将所述预设基准心跳时长作为当前心跳时长,并继续执行判断所述当前心跳时长是否为稳定心跳时长的步骤。
可选的,所述心跳时长的自适应装置还包括:更新子模块,用于将当前心跳周期的结束时刻设置为所述自适应心跳时长的起始时刻;从所述起始时刻开始,按照所述自适应心跳时长向服务器周期性发送心跳报文。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取客户端的当前心跳时长,判断所述当前心跳时长是否为稳定心跳时长;
S2,若所述当前心跳时长为稳定心跳时长,且所述当前心跳时长小于心跳最大值,则获取所述客户端当前所在网络环境的网络参数,根据所述网络参数计算自适应心跳时长;
S3,采用所述自适应心跳时长更新所述客户端的心跳周期时长。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取客户端的当前心跳时长,判断所述当前心跳时长是否为稳定心跳时长;
S2,若所述当前心跳时长为稳定心跳时长,且所述当前心跳时长小于心跳最大值,则获取所述客户端当前所在网络环境的网络参数,根据所述网络参数计算自适应心跳时长;
S3,采用所述自适应心跳时长更新所述客户端的心跳周期时长。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种心跳时长的自适应方法,其特征在于,所述方法包括:
获取客户端的当前心跳时长,判断所述当前心跳时长是否为稳定心跳时长;
若所述当前心跳时长为稳定心跳时长,且所述当前心跳时长小于心跳最大值,则获取所述客户端当前所在网络环境的网络参数,根据所述网络参数计算自适应心跳时长;
采用所述自适应心跳时长更新所述客户端的心跳周期时长。
2.根据权利要求1所述的方法,其特征在于,所述网络参数包括网络延迟程度和网速信息,根据所述网络参数计算自适应心跳时长包括:
获取所述网络延迟程度和所述网速信息;
计算所述网络延迟程度对应的延迟步长率和所述网速信息对应的网速步长率;
根据所述延迟步长率和所述网速步长率计算自适应心跳时长。
3.根据权利要求2所述的方法,其特征在于,根据所述延迟步长率和所述网速步长率计算自适应心跳时长包括:
分别获取所述网络延迟程度和所述网速信息对应的占比,并获取最大设定步长;
将所述占比、所述延迟步长率、所述网速步长率和所述最大设定步长输入以下第一预设公式计算心跳调整时长;
T=C*(DR*a+SR*b),其中,T为心跳调整时长,C为最大设定步长,DR为延迟步长率,SR为网速步长率,a为网络延迟程度对应的占比,b为网速信息对应的占比;
将所述心跳调整时长与所述客户端的当前心跳时长相加,得到自适应心跳时长。
4.根据权利要求2所述的方法,其特征在于,计算所述网络延迟程度对应的延迟步长率和所述网速信息对应的网速步长率包括:
使用以下第二预设公式计算所述网络延迟程度对应的延迟步长率:DR=(m-D)/100;其中,DR为延迟步长率,m为预设最大延迟,D为实际延迟;
使用以下第三预设公式计算所述网速信息对应的网速步长率:SR=(n-S)/100;其中,SR为网速步长率,n为预设最大网速,S为实际网速。
5.根据权利要求1所述的方法,其特征在于,判断所述当前心跳时长是否为稳定心跳时长包括:
启动心跳线程,使用当前心跳时长向服务器发送心跳数据包;
接收所述服务器基于所述心跳数据包返回的心跳确认包;
若连续预设周期均接收到对应的心跳确认包,则确定所述当前心跳时长为稳定心跳时长。
6.根据权利要求5所述的方法,其特征在于,使用当前心跳时长向服务器发送心跳数据包之后,还包括:
若连续预设周期内未接收到对应的心跳确认包,则获取预设基准心跳时长,其中,所述预设基准心跳时长小于所述心跳最大值;
将所述预设基准心跳时长作为当前心跳时长,并继续执行判断所述当前心跳时长是否为稳定心跳时长的步骤。
7.根据权利要求1所述的方法,其特征在于,采用所述自适应心跳时长更新所述客户端的心跳周期时长之后,包括:
将当前心跳周期的结束时刻设置为所述自适应心跳时长的起始时刻;
从所述起始时刻开始,按照所述自适应心跳时长向服务器周期性发送心跳报文。
8.一种心跳时长的自适应装置,其特征在于,包括:
判断模块,用于获取客户端的当前心跳时长,判断所述当前心跳时长是否为稳定心跳时长;
计算模块,用于若所述当前心跳时长为稳定心跳时长,且所述当前心跳时长小于心跳最大值,则获取所述客户端当前所在网络环境的网络参数,根据所述网络参数计算自适应心跳时长;
更新模块,用于采用所述自适应心跳时长更新所述客户端的心跳周期时长。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:
存储器,用于存放计算机程序;
处理器,用于通过运行存储器上所存放的程序来执行权利要求1至7中任一项所述的方法步骤。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7中任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210930246.3A CN115720205A (zh) | 2022-08-03 | 2022-08-03 | 心跳时长的自适应方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210930246.3A CN115720205A (zh) | 2022-08-03 | 2022-08-03 | 心跳时长的自适应方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115720205A true CN115720205A (zh) | 2023-02-28 |
Family
ID=85253917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210930246.3A Pending CN115720205A (zh) | 2022-08-03 | 2022-08-03 | 心跳时长的自适应方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115720205A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843250A (zh) * | 2011-06-21 | 2012-12-26 | 中兴通讯股份有限公司 | 一种心跳周期的自适应方法和装置 |
CN103684815A (zh) * | 2012-09-03 | 2014-03-26 | 中国移动通信集团公司 | 数据传输链路的保活方法、装置及系统 |
CN104144159A (zh) * | 2014-06-26 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 智能心跳保活方法及智能心跳保活系统 |
CN104333465A (zh) * | 2014-10-31 | 2015-02-04 | 北京奇虎科技有限公司 | 一种心跳间隔设置的方法、装置及系统 |
US20190140888A1 (en) * | 2017-11-08 | 2019-05-09 | Line Corporation | Computer readable media, methods, and computer apparatuses for network service continuity management |
CN109788038A (zh) * | 2018-12-25 | 2019-05-21 | 上海数果科技有限公司 | 一种智能心跳方法 |
CN111031598A (zh) * | 2020-01-08 | 2020-04-17 | Oppo广东移动通信有限公司 | 网络通信控制方法、装置、通信设备以及存储介质 |
CN113242611A (zh) * | 2021-05-18 | 2021-08-10 | 展讯通信(上海)有限公司 | 调整PoC心跳包发送间隔的方法及装置 |
-
2022
- 2022-08-03 CN CN202210930246.3A patent/CN115720205A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843250A (zh) * | 2011-06-21 | 2012-12-26 | 中兴通讯股份有限公司 | 一种心跳周期的自适应方法和装置 |
CN103684815A (zh) * | 2012-09-03 | 2014-03-26 | 中国移动通信集团公司 | 数据传输链路的保活方法、装置及系统 |
CN104144159A (zh) * | 2014-06-26 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 智能心跳保活方法及智能心跳保活系统 |
CN104333465A (zh) * | 2014-10-31 | 2015-02-04 | 北京奇虎科技有限公司 | 一种心跳间隔设置的方法、装置及系统 |
US20190140888A1 (en) * | 2017-11-08 | 2019-05-09 | Line Corporation | Computer readable media, methods, and computer apparatuses for network service continuity management |
CN109788038A (zh) * | 2018-12-25 | 2019-05-21 | 上海数果科技有限公司 | 一种智能心跳方法 |
CN111031598A (zh) * | 2020-01-08 | 2020-04-17 | Oppo广东移动通信有限公司 | 网络通信控制方法、装置、通信设备以及存储介质 |
CN113242611A (zh) * | 2021-05-18 | 2021-08-10 | 展讯通信(上海)有限公司 | 调整PoC心跳包发送间隔的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106685748B (zh) | 一种心跳信息发送方法、服务器及终端 | |
KR101457241B1 (ko) | 네트워크에서의 완전 메시 레이트 트랜잭션 | |
CN113783775B (zh) | 数据传输的方法和装置 | |
CN103986696B (zh) | 多媒体文件传输装置及方法 | |
CN107517136B (zh) | 心跳保活的实现方法、装置及系统 | |
CN106850745A (zh) | 一种实时同步方法和装置 | |
CN110417915A (zh) | 一种推送消息传输方法、装置、存储介质及电子设备 | |
CN110266810A (zh) | 基于mqtt协议的消息接收方法、设备及存储介质 | |
CN109863791B (zh) | 用于在无线通信系统中选择接入网络的方法和装置 | |
CN110769019A (zh) | 会话处理方法、装置和系统 | |
CN105553762B (zh) | 家用电器与移动终端之间的通信方法、系统及相应装置 | |
CN114286431B (zh) | 低功耗模式的开启方法和装置、存储介质及电子装置 | |
CN103457748A (zh) | 数据传输方法、系统和设备 | |
CN115038115B (zh) | 数据传输方法、装置、电子设备、存储介质和产品 | |
CN113542813B (zh) | 一种数据传输的方法及装置 | |
US20070203983A1 (en) | Server | |
CN115720205A (zh) | 心跳时长的自适应方法、装置、电子设备及存储介质 | |
CN110650259B (zh) | 呼叫请求的响应方法、装置、服务器、终端及存储介质 | |
CN112887416A (zh) | 发送保活包的频率调整方法及装置 | |
CN113596938B (zh) | 移动终端的网络切换方法及装置、存储介质、电子装置 | |
CN114915569B (zh) | 心跳智能控制方法、装置、电子装置和存储介质 | |
CN106982156B (zh) | 优先级设置方法、装置、通信系统、设备及可读存储介质 | |
CN106231618B (zh) | 一种发送编解码重协商请求的方法及装置 | |
CN110995530B (zh) | 一种解决数据单向到达问题的方法及设备 | |
WO2020078407A1 (zh) | Drx的配置方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |