CN108173709B - 保活长连接方法、装置、终端设备及存储介质 - Google Patents
保活长连接方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN108173709B CN108173709B CN201711370613.4A CN201711370613A CN108173709B CN 108173709 B CN108173709 B CN 108173709B CN 201711370613 A CN201711370613 A CN 201711370613A CN 108173709 B CN108173709 B CN 108173709B
- Authority
- CN
- China
- Prior art keywords
- interval value
- sending
- value
- data packet
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000005540 biological transmission Effects 0.000 claims abstract description 45
- 230000009467 reduction Effects 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 230000033228 biological regulation Effects 0.000 claims description 6
- 238000013461 design Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/103—Active monitoring, e.g. heartbeat, ping or trace-route with adaptive polling, i.e. dynamically adapting the polling rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
Landscapes
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明提供了一种保活长连接方法、装置、终端设备及存储介质,所述方法包括:接收客户端发送的心跳数据包,并判断所述心跳数据包的发送是否超时;当判断到所述心跳数据包的发送超时时,获取并判断所述心跳数据包的超时次数是否等于第一预设次数;若是,则对所述心跳数据包中的发送间隔值进行调节,并将调节后的所述发送间隔值发送至所述客户端,以控制所述客户端按调节后的所述发送间隔值进行所述心跳数据包的发送,本发明通过所述超时次数与所述第一预设次数的判断的设计,提高了对所述发送间隔值调节的准确性,通过对所述发送间隔值进行调节的设计,防止了由于采用固定时间间隔进行所述心跳数据包方式导致的流量以及电量的消耗较大情况。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种保活长连接方法、装置、终端设备及存储介质。
背景技术
目前,随着移动互联的发展,人与人的社交方式的改变,移动APP(Application,应用程序)、企业应用、手游、WEB(互联网)应用都慢慢的开始嵌入即时通信的功能,使人与人、人与企业、企业与企业之间能无时无地的及时通信、协作和分享。在移动终端与服务器之间的通讯中,为了使移动终端与服务器之间能保持长链接,客户端需要向服务器发送应用层定义的协议包,称为心跳。
现有的保活长连接方法中大多采用每隔固定时间段发送一次心跳数据包的方式,以告诉服务器该客户端并没有断线,以达到保活长连接的功能。
现有的保活长连接方法的使用过程中,当客户端上存在时效性很强的应用时,为保证能及时知晓对方是否断线,使得固定的心跳间隔设置得较小,进而导致客户端长时间频繁的发送心跳数据包,使得客户端的流量以及电量的消耗较大。
发明内容
基于此,本发明实施例的目的在于提供一种能进行心跳间隔调节的保活长连接方法、装置、终端设备及存储介质。
第一方面,本发明提供了一种保活长连接方法,所述方法包括:
接收客户端发送的心跳数据包,并判断所述心跳数据包的发送是否超时;
当判断到所述心跳数据包的发送超时时,获取并判断所述心跳数据包的超时次数是否等于第一预设次数;
若是,则对所述心跳数据包中的发送间隔值进行调节,并将调节后的所述发送间隔值发送至所述客户端,以控制所述客户端按调节后的所述发送间隔值进行所述心跳数据包的发送。
上述保活长连接方法,通过所述超时次数与所述第一预设次数的判断的设计,提高了对所述发送间隔值调节的准确性,通过对所述发送间隔值进行调节的设计,防止了由于采用固定时间间隔进行所述心跳数据包方式导致的流量以及电量的消耗较大情况。
进一步地,所述判断所述心跳数据包的发送是否超时的步骤之后,所述方法还包括:
当判断到所述心跳数据包的发送未超时时,判断所述发送间隔值是否大于本地的当前间隔值;
当判断到所述发送间隔值小于所述当前间隔值时,获取并判断所述心跳数据包的连续成功次数是否等于第二预设次数;
若是,则对所述发送间隔值进行调节,并将调节后的所述发送间隔值发送至所述客户端,以控制所述客户端按调节后的所述发送间隔值进行所述心跳数据包的发送。
进一步地,所述对所述心跳数据包中的发送间隔值进行调节的步骤包括:
获取本地的当前间隔值,并判断所述发送间隔值是否小于所述当前间隔值;
若否,则获取本地存储的预设降低值,计算所述发送间隔值与所述预设降低值之间的差值,以得到心跳调节值;
将所述发送间隔值调节至所述心跳调节值;
若是,则停止所述发送间隔值的调节。
进一步地,所述对所述心跳数据包中的发送间隔值进行调节的步骤包括:
获取本地存储的预设增长值,计算所述发送间隔值与所述预设增长值的和,以得到心跳调节值;
将所述发送间隔值调节至所述心跳调节值。
进一步地,所述将调节后的所述发送间隔值发送至所述客户端的步骤之后,所述方法还包括:
获取本地的当前间隔值,并将所述当前间隔值调节至所述心跳调节值。
进一步地,所述将调节后的所述发送间隔值发送至所述客户端的步骤包括:
当接收到所述客户端发送的心跳协议请求时,根据调节后的所述发送间隔值生成心跳协议响应,并将所述心跳协议响应发送至所述客户端。
进一步地,所述当判断到所述心跳数据包的发送超时时,所述方法还包括:
增大所述超时次数,并将所述心跳数据包的连续成功次数设置为0。
进一步地,所述增大超时次数的步骤之后,所述方法还包括:
当增大后的所述超时次数大于预设阈值时,断开与所述客户端之间的连接。
进一步地,所述当判断到所述发送间隔值小于所述当前间隔值时,所述方法还包括:
增大所述连续成功次数,并将所述超时次数设置为0。
第二方面,本发明提供了一种保活长连接装置,包括:
第一判断模块,用于接收客户端发送的心跳数据包,并判断所述心跳数据包的发送是否超时;
第二判断模块,用于当所述第一判断模块判断到所述心跳数据包的发送超时时,获取并判断所述心跳数据包的超时次数是否等于第一预设次数;
第一调节模块,用于当所述第二判断模块判断到所述超时次数等于所述第一预设次数时,对所述心跳数据包中的发送间隔值进行调节,并将调节后的所述发送间隔值发送至所述客户端,以控制所述客户端按调节后的所述发送间隔值进行所述心跳数据包的发送。
上述保活长连接装置,通过所述第一判断模块对所述超时次数与所述第一预设次数的判断的设计,提高了对所述发送间隔值调节的准确性,通过所述第一调节模块对所述发送间隔值进行调节的设计,防止了由于采用固定时间间隔进行所述心跳数据包方式导致的流量以及电量的消耗较大情况。
第三方面,本发明提供了一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序以使所述移动终端执行上述的保活长连接方法。
第四方面,本发明提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的保活长连接方法的步骤。
附图说明
图1为本发明第一实施例提供的保活长连接方法的流程图;
图2为本发明第二实施例提供的保活长连接方法的流程图;
图3为本发明第三实施例提供的保活长连接方法的流程图;
图4为本发明第四实施例提供的保活长连接方法的流程图;
图5为本发明第五实施例提供的保活长连接装置的结构示意图;
具体实施方式
为了便于更好地理解本发明,下面将结合相关实施例附图对本发明进行进一步地解释。附图中给出了本发明的实施例,但本发明并不仅限于上述的优选实施例。相反,提供这些实施例的目的是为了使本发明的公开面更加得充分。
请参阅图1,为本发明第一实施例提供的保活长连接方法的流程图,包括步骤S10至S30。
步骤S10,接收客户端发送的心跳数据包,并判断所述心跳数据包的发送是否超时;
其中,客户端保存有自己正在使用的发送间隔值、自己的网络信息(比如,联通3G或者电信2G),服务端保存有自己正在使用的当前间隔值、下一次收到协商请求后应该调整到的调节间隔值、一张网络信息映射表(网络信息:该网络的NAT超时时间)、每次心跳间隔变化的步长。
具体的,本实施例中采用计时器计时的方式进行所述心跳数据包是否超时的判断,本实施例中的所述发送间隔值为客户端向服务器发送心跳数据包时的时间间隔。
步骤S20,获取并判断所述心跳数据包的超时次数是否等于第一预设次数;
其中,超时次数用于表示当前预设时间内客户端向服务器发送的心跳数据包的连续超时的次数,且本实施例中第一预设次数的值用户可根据需求进行设定。
当步骤S20判断到所述超时次数等于第一预设次数时,执行步骤S30。
步骤S30,对所述心跳数据包中的发送间隔值进行调节,并将调节后的所述发送间隔值发送至所述客户端,以控制所述客户端按调节后的所述发送间隔值进行所述心跳数据包的发送。
其中,当判断到客户端的心跳数据包的发送超时次数过多时,则判定需要进行发送间隔值的调节,进而防止了由于持续保持固定间隔值进行心跳数据包的发送导致的流量及电量损耗较大的情况。
优选的,本实施例中当步骤S20判断到所述超时次数不等于第一预设次数,且大于断开次数时,停止所述发送间隔值的调节;
其中,当判定到超时次数大于断开次数时,则判定客户端与服务器之间的通信出现了问题,因此断开客户端与服务器之间的连接,以防止流量及电量的损耗。
本实施例中,通过所述超时次数与所述第一预设次数的判断的设计,提高了对所述发送间隔值调节的准确性,通过对所述发送间隔值进行调节的设计,防止了由于采用固定时间间隔进行所述心跳数据包方式导致的流量以及电量的消耗较大情况。
请参阅图2,为本发明第二实施例提供的保活长连接方法的流程图,所述方法包括步骤S11至S61。
步骤S11,接收客户端发送的心跳数据包,并判断所述心跳数据包的发送是否超时;
其中,当判断到所述心跳数据包的发送超时时,增大超时次数,并将所述心跳数据包的连续成功次数设置为0;
其中,所述增大超时次数的步骤之后,所述方法还包括:
当增大后的所述超时次数大于预设阈值时,断开与所述客户端之间的连接。
具体的,当判定到超时次数大于预设阈值时,则判定客户端与服务器之间的通信出现了问题,因此断开客户端与服务器之间的连接,以防止流量及电量的损耗。
本实施例中,客户端保存有自己正在使用的发送间隔值、自己的网络信息(比如,联通3G或者电信2G),服务端保存有自己正在使用的当前间隔值、下一次收到协商请求后应该调整到的调节间隔值、一张网络信息映射表(网络信息:该网络的NAT超时时间)、每次心跳间隔变化的步长。
具体的,本实施例中采用计时器计时的方式进行所述心跳数据包是否超时的判断。
当步骤S11判断到所述心跳数据包的发送超时时,执行步骤S21。
步骤S21,获取并判断所述心跳数据包的超时次数是否等于第一预设次数;
其中,由于当判断到客户端的心跳数据包的发送超时次数过多时,则判定需要进行发送间隔值的调节,进而防止了由于持续保持固定间隔值进行心跳数据包的发送导致的流量及电量损耗较大的情况。
当步骤S21判断到梭梭树超时次数等于所述第一预设次数时,执行步骤S31。
步骤S31,获取本地的当前间隔值,并判断所述发送间隔值是否小于所述当前间隔值;
其中,本地的当前间隔值为服务器当前使用的心跳间隔值,服务器以该当前间隔值对客户端进行心跳数据包的发送。
当步骤S31判断到所述发送间隔值小于所述当前间隔值时,执行步骤S41。
步骤S41,停止所述发送间隔值的调节。
其中,当判断到所述发送间隔值不小于所述当前间隔值时,所述发送间隔值已经减小,因此无需再次进行减小,进而停止所述发送间隔值的调节。
当步骤S31判断到所述发送间隔值不小于所述当前间隔值时,执行步骤S51。
其中,当判断到所述发送间隔值不小于所述当前间隔值时,可进行所述发送间隔值的降低调节。
步骤S51,获取本地存储的预设降低值,计算所述发送间隔值与所述预设降低值之间的差值,以得到心跳调节值,并将所述发送间隔值调节至所述心跳调节值。
其中,通过预设降低值的获取设计,以方便了所述发送间隔值与所述预设降低值之间的差值计算。
步骤61,当接收到所述客户端发送的心跳协议请求时,根据调节后的所述发送间隔值生成心跳协议响应,并将所述心跳协议响应发送至所述客户端。
本实施例中,客户端与服务端之间在进行正常的心跳数据包发送的同时,还会按预设协议间隔进行发送间隔值的统一和确认,优选的,客户端通过向服务器发送心跳协议请求后,服务器通过上述步骤的判定与计算,将携带调节后的所述发送间隔值发送至客户端,以完成所述发送间隔值的统一调节控制。
本实施例中,通过所述超时次数与所述第一预设次数的判断的设计,提高了对所述发送间隔值调节的准确性,通过对所述发送间隔值进行调节的设计,防止了由于采用固定时间间隔进行所述心跳数据包方式导致的流量以及电量的消耗较大情况。
请参阅图3,为本发明第三实施例提供的保活长连接方法的流程图,所述方法包括步骤S12至S72。
步骤S12,接收客户端发送的心跳数据包,并判断所述心跳数据包的发送是否超时;
本实施例中,客户端保存有自己正在使用的发送间隔值、自己的网络信息(比如,联通3G或者电信2G),服务端保存有自己正在使用的当前间隔值、下一次收到协商请求后应该调整到的调节间隔值、一张网络信息映射表(网络信息:该网络的NAT超时时间)、每次心跳间隔变化的步长。
具体的,本实施例中采用计时器计时的方式进行所述心跳数据包是否超时的判断。
当步骤S12判断到所述心跳数据包的发送超时时,执行步骤S22。
步骤S22,获取并判断所述心跳数据包的超时次数是否等于第一预设次数;
其中,超时次数用于表示当前预设时间内客户端向服务器发送的心跳数据包的连续超时的次数,且本实施例中第一预设次数的值用户可根据需求进行设定。
当步骤S22判断到所述超时次数等于所述第一预设次数时,执行步骤S32。
步骤S32,对所述心跳数据包中的发送间隔值进行调节,并将调节后的所述发送间隔值发送至所述客户端,以控制所述客户端按调节后的所述发送间隔值进行所述心跳数据包的发送。
其中,当判断到客户端的心跳数据包的发送超时次数过多时,则判定需要进行发送间隔值的调节,进而防止了由于持续保持固定间隔值进行心跳数据包的发送导致的流量及电量损耗较大的情况。
当步骤S12判断到所述心跳数据包的发送未超时时,执行步骤S42。
步骤S42,判断所述发送间隔值是否大于本地的当前间隔值;
当步骤S42判断到所述发送间隔值大于本地的当前间隔值时,停止所述发送间隔值的调节;
其中,当判断到所述发送间隔值大于所述当前间隔值时,则判定所述发送间隔值以增大,无需进行所述发送间隔值的增大调节。
当步骤S42判断到所述发送间隔值不大于所述当前间隔值时,执行步骤S52。
步骤S52,增大连续成功次数,并将所述超时次数设置为0,获取并判断所述心跳数据包的连续成功次数是否等于第二预设次数;
当步骤S52判断到所述连续成功次数不等于第二预设次数时,停止所述发送间隔值的调节。
当步骤S52判断到所述连续成功次数等于第二预设次数时,执行步骤S62。
步骤S62,对所述发送间隔值进行调节,并将调节后的所述发送间隔值发送至所述客户端,以控制所述客户端按调节后的所述发送间隔值进行所述心跳数据包的发送。
其中,所述对所述心跳数据包中的发送间隔值进行调节的步骤包括:
获取本地存储的预设增长值,计算所述发送间隔值与所述预设增长值的和,以得到心跳调节值;
将所述发送间隔值调节至所述心跳调节值。
步骤S72,当接收到所述客户端发送的心跳协议请求时,根据调节后的所述发送间隔值生成心跳协议响应,并将所述心跳协议响应发送至所述客户端。
本实施例中,客户端与服务端之间在进行正常的心跳数据包发送的同时,还会按预设协议间隔进行发送间隔值的统一和确认,优选的,客户端通过向服务器发送心跳协议请求后,服务器通过上述步骤的判定与计算,将携带调节后的所述发送间隔值发送至客户端,以完成所述发送间隔值的统一调节控制。
本实施例中,当判断到心跳数据包的超时次数等于第一预设次数,且发送间隔值大于当前间隔值时,进行发送间隔值的降低调节,当判断到心跳数据包的连续成功次数等于第二预设次数,且发送间隔值小于当前间隔值时,进行发送间隔值的增大调节,进而有效的防止了由于采用固定时间间隔进行所述心跳数据包方式导致的流量以及电量的消耗较大情况。
请参阅图4,为本发明第四实施例提供的保活长连接方法的流程图,所述方法包括步骤S14至S154。
步骤S14,接收并判断客户端发送的心跳数据包是否超时。
步骤S24,超时计数器加1,心跳计数器置0。
步骤S34,超时计数器是否等于1。
步骤S44,断开客户端。
步骤S54,发送间隔值是否小于当前间隔值。
步骤S64,停止发送间隔值的调节。
步骤S74,判断心跳调节值是否大于最小间隔阈值。
步骤S84,将发送间隔值调节至心跳调节值。
步骤S94,将发送间隔值调节至最小间隔阈值。
步骤S104,超时计数器置0,心跳计数器加1。
步骤S114,判断发送间隔值是否大于当前间隔值。
步骤S124,判断心跳计数器是否大于计数阈值。
步骤S134,判断心跳调节值是否大于最大间隔阈值。
步骤S144,将发送间隔值调节至心跳调节值。
步骤S154,将发送间隔值调节至最大间隔阈值。
具体的,本实施例中一共存在一下八个流程;
流程一:
S14—S24—S43—S44,本流程的判定情况为:步骤S14的判断结果为是,步骤S34的判断结果为否。
流程二:
S14—S24—S34—S54—S64,本流程的判定情况为:步骤S14的判断结果为是,步骤S34的判断结果为是,步骤S54的判断结果为是。
流程三:
S14—S24—S34—S54—S74—S84,本流程的判定情况为:步骤S14的判断结果为是,步骤S34的判断结果为是,步骤S54的判断结果为否,步骤S74的判断结果为是,具体的,当步骤S54判断结果为否时,计算发送间隔值与预设降低值之间的差值,以得到心跳调节值。
流程四:
S14—S24—S34—S54—S74—S94,本流程的判定情况为:步骤S14的判断结果为是,步骤S34的判断结果为是,步骤S54的判断结果为否,步骤S74的判断结果为否。
流程五:
S14—S104—S114—S64,本流程的判定情况为:步骤S14的判断结果为否,步骤S114的判断结果为是。
流程六:
S14—S104—S114—S124—S134—S144,本流程的判定情况为:步骤S14的判断结果为否,步骤S114的判断结果为否,步骤S124的判断结果为是,步骤S134的判断结果为否,具体的,当步骤S124的判断结果为是时,计算发送间隔值与预设增大值之间的和,以得到心跳调节值。
步骤七:
S14—S104—S114—S124—S134—S145,本流程的判定情况为:步骤S14的判断结果为否,步骤S114的判断结果为否,步骤S124的判断结果为是,步骤S134的判断结果为是。
步骤八:
S14—S104—S114—S124—结束,本流程的判定情况为:步骤S14的判断结果为否,步骤S114的判断结果为否,步骤S124的判断结果为否。
本实施例中,当判断到心跳数据包的超时次数等于第一预设次数,且发送间隔值大于当前间隔值时,进行发送间隔值的降低调节,当判断到心跳数据包的连续成功次数等于第二预设次数,且发送间隔值小于当前间隔值时,进行发送间隔值的增大调节,进而有效的防止了由于采用固定时间间隔进行所述心跳数据包方式导致的流量以及电量的消耗较大情况。
请参阅图5,为本发明第五实施例提供的保活长连接装置100的结构示意图,包括:
第一判断模块10,用于接收客户端发送的心跳数据包,并判断所述心跳数据包的发送是否超时;
第二判断模块20,用于当所述第一判断模块10判断到所述心跳数据包的发送超时时,获取并判断所述心跳数据包的超时次数是否等于第一预设次数;
所述第二判断模块20包括:
第一设置模块21,用于增大所述超时次数,并将所述心跳数据包的连续成功次数设置为0;
断连模块22,用于当增大后的所述超时次数大于预设阈值时,断开与所述客户端之间的连接。
第一调节模块30,用于当所述第二判断模块20判断到所述超时次数等于所述第一预设次数时,对所述心跳数据包中的发送间隔值进行调节,并将调节后的所述发送间隔值发送至所述客户端,以控制所述客户端按调节后的所述发送间隔值进行所述心跳数据包的发送。
第三判断模块40,用于当所述第一判断模块10判断到所述心跳数据包的发送未超时时,判断所述发送间隔值是否大于本地的当前间隔值。
所述第三判断模块40包括:
第二设置模块41,用于增大所述连续成功次数,并将所述超时次数设置为0。
第四判断模块50,用于当所述第三判断模块40判断到所述发送间隔值小于所述当前间隔值时,获取并判断所述心跳数据包的连续成功次数是否等于第二预设次数。
第二调节模块60,用于当所述第四判断模块50的判断结果为是时,对所述发送间隔值进行调节,并将调节后的所述发送间隔值发送至所述客户端,以控制所述客户端按调节后的所述发送间隔值进行所述心跳数据包的发送。
所述第一调节模块30包括:
子判断模块31,用于获取本地的当前间隔值,并判断所述发送间隔值是否小于所述当前间隔值;
第一计算模块32,用于当所述子判断模块31的判断结果为否时,获取本地存储的预设降低值,计算所述发送间隔值与所述预设降低值之间的差值,以得到心跳调节值,将所述发送间隔值调节至所述心跳调节值;当所述子判断模块的判断结果为否是时,停止所述发送间隔值的调节;
子调节模块33,用于获取本地的当前间隔值,并将所述当前间隔值调节至所述心跳调节值。
第二调节模块60包括:
第二计算模块61,获取本地存储的预设增长值,计算所述发送间隔值与所述预设增长值的和,以得到心跳调节值,将所述发送间隔值调节至所述心跳调节值。
优选的,本实施例中所述第一调节模块30和所述第二调节模块60还均包括:
协议响应模块34,用于当接收到所述客户端发送的心跳协议请求时,根据调节后的所述发送间隔值生成心跳协议响应,并将所述心跳协议响应发送至所述客户端。
本实施例中,通过所述第一判断模块10对所述超时次数与所述第一预设次数的判断的设计,提高了对所述发送间隔值调节的准确性,通过所述第一调节模块30和所述第二调节模块60对所述发送间隔值进行调节的设计,防止了由于采用固定时间间隔进行所述心跳数据包方式导致的流量以及电量的消耗较大情况。
本实施例还提供了一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序以使所述移动终端执行上述的保活长连接方法。
本实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的保活长连接方法的步骤,包括如下步骤:
接收客户端发送的心跳数据包,并判断所述心跳数据包的发送是否超时;
当判断到所述心跳数据包的发送超时时,获取并判断所述心跳数据包的超时次数是否等于第一预设次数;
若是,则对所述心跳数据包中的发送间隔值进行调节,并将调节后的所述发送间隔值发送至所述客户端,以控制所述客户端按调节后的所述发送间隔值进行所述心跳数据包的发送。所述的存储介质,如:ROM/RAM、磁碟、光盘等。
上述实施例描述了本发明的技术原理,这些描述只是为了解释本发明的原理,而不能以任何方式解释为本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其他具体实施方式,这些方式都将落入本发明的保护范围内。
Claims (11)
1.一种保活长连接方法,其特征在于,所述方法包括:
接收客户端发送的心跳数据包,并判断所述心跳数据包的发送是否超时;
当判断到所述心跳数据包的发送超时时,获取并判断所述心跳数据包的超时次数是否等于第一预设次数;
若是,获取本地的当前间隔值,并判断所述心跳数据包的发送间隔值是否小于所述当前间隔值,其中本地的当前间隔值为服务器当前使用的心跳间隔值;
当所述发送间隔值不小于所述当前间隔值时,获取本地存储的预设降低值,计算所述发送间隔值与所述预设降低值之间的差值,以得到心跳调节值;
将所述发送间隔值调节至所述心跳调节值,并将调节后的所述发送间隔值发送至所述客户端,以控制所述客户端按调节后的所述发送间隔值进行所述心跳数据包的发送,其中
所述判断所述心跳数据包的发送是否超时的步骤之后,所述方法还包括:
当判断到所述心跳数据包的发送未超时时,判断所述发送间隔值是否大于本地的当前间隔值;
当判断到所述发送间隔值小于所述当前间隔值时,获取并判断所述心跳数据包的连续成功次数是否等于第二预设次数;
若是,则对所述发送间隔值进行调节,并将调节后的所述发送间隔值发送至所述客户端,以控制所述客户端按调节后的所述发送间隔值进行所述心跳数据包的发送。
2.根据权利要求1所述的保活长连接方法,其特征在于,还包括:
当所述发送间隔值小于所述当前间隔值时,则停止所述发送间隔值的调节。
3.根据权利要求1所述的保活长连接方法,其特征在于,所述对所述心跳数据包中的发送间隔值进行调节的步骤包括:
获取本地存储的预设增长值,计算所述发送间隔值与所述预设增长值的和,以得到心跳调节值;
将所述发送间隔值调节至所述心跳调节值。
4.根据权利要求3所述的保活长连接方法,其特征在于,所述将调节后的所述发送间隔值发送至所述客户端的步骤之后,所述方法还包括:
获取本地的当前间隔值,并将所述当前间隔值调节至所述心跳调节值。
5.根据权利要求1或2所述的保活长连接方法,其特征在于,所述将调节后的所述发送间隔值发送至所述客户端的步骤包括:
当接收到所述客户端发送的心跳协议请求时,根据调节后的所述发送间隔值生成心跳协议响应,并将所述心跳协议响应发送至所述客户端。
6.根据权利要求1所述的保活长连接方法,其特征在于,所述当判断到所述心跳数据包的发送超时时,所述方法还包括:
增大所述超时次数,并将所述心跳数据包的连续成功次数设置为0。
7.根据权利要求6所述的保活长连接方法,其特征在于,所述增大超时次数的步骤之后,所述方法还包括:
当增大后的所述超时次数大于预设阈值时,断开与所述客户端之间的连接。
8.根据权利要求1所述的保活长连接方法,其特征在于,所述当判断到所述发送间隔值小于所述当前间隔值时,所述方法还包括:
增大所述连续成功次数,并将所述超时次数设置为0。
9.一种保活长连接装置,其特征在于,包括:
第一判断模块,用于接收客户端发送的心跳数据包,并判断所述心跳数据包的发送是否超时;
第二判断模块,用于当所述第一判断模块判断到所述心跳数据包的发送超时时,获取并判断所述心跳数据包的超时次数是否等于第一预设次数;
第一调节模块,用于当所述第二判断模块判断到所述超时次数等于所述第一预设次数时,获取本地的当前间隔值,并判断所述心跳数据包的发送间隔值是否小于所述当前间隔值,当所述发送间隔值不小于所述当前间隔值时,获取本地存储的预设降低值,并计算所述发送间隔值与所述预设降低值之间的差值,以得到心跳调节值,将所述发送间隔值调节至所述心跳调节值,并将调节后的所述发送间隔值发送至所述客户端,以控制所述客户端按调节后的所述发送间隔值进行所述心跳数据包的发送;
第三判断模块40,用于当所述第一判断模块10判断到所述心跳数据包的发送未超时时,判断所述发送间隔值是否大于本地的当前间隔值;
第四判断模块50,用于当所述第三判断模块40判断到所述发送间隔值小于所述当前间隔值时,获取并判断所述心跳数据包的连续成功次数是否等于第二预设次数;
第二调节模块60,用于当所述第四判断模块50的判断结果为是时,对所述发送间隔值进行调节,并将调节后的所述发送间隔值发送至所述客户端,以控制所述客户端按调节后的所述发送间隔值进行所述心跳数据包的发送。
10.一种终端设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序以使所述终端设备执行根据权利要求1至8任一项所述的保活长连接方法。
11.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至8任一项所述的保活长连接方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711370613.4A CN108173709B (zh) | 2017-12-19 | 2017-12-19 | 保活长连接方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711370613.4A CN108173709B (zh) | 2017-12-19 | 2017-12-19 | 保活长连接方法、装置、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108173709A CN108173709A (zh) | 2018-06-15 |
CN108173709B true CN108173709B (zh) | 2021-11-12 |
Family
ID=62522681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711370613.4A Active CN108173709B (zh) | 2017-12-19 | 2017-12-19 | 保活长连接方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108173709B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108449239B (zh) * | 2018-06-19 | 2020-11-03 | 广州视源电子科技股份有限公司 | 心跳包检测方法、装置、设备和存储介质 |
CN108966288A (zh) * | 2018-06-28 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种通信方法、客户端、服务端及通信系统 |
CN109602413B (zh) * | 2018-12-06 | 2022-01-18 | Oppo广东移动通信有限公司 | 心跳检测方法、装置、存储介质及服务器 |
CN110601914B (zh) * | 2019-08-05 | 2022-11-22 | 深圳市大拿科技有限公司 | 监测服务器存活状态的方法及系统 |
CN112134645B (zh) * | 2020-08-04 | 2024-03-29 | 国电南瑞科技股份有限公司 | 一种分布式终端通信质量监控方法、存储介质和计算设备 |
CN117294750B (zh) * | 2023-11-27 | 2024-03-01 | 杭州涂鸦信息技术有限公司 | 调整mqtt心跳频率的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1661968A (zh) * | 2004-02-27 | 2005-08-31 | 联想(北京)有限公司 | 基于网络和主机负载的变速心跳机制的实现方法 |
WO2011053369A1 (en) * | 2009-10-30 | 2011-05-05 | Cardiac Pacemakers, Inc. | Pacemaker with vagal surge monitoring and response |
CN104243293A (zh) * | 2014-08-21 | 2014-12-24 | 深圳市合信自动化技术有限公司 | 一种心跳间隔自动调整的方法和网关设备、服务器 |
CN105610913A (zh) * | 2015-12-22 | 2016-05-25 | 用友网络科技股份有限公司 | 通信网络中长连接的心跳保活方法及装置 |
CN107396431A (zh) * | 2017-06-19 | 2017-11-24 | 努比亚技术有限公司 | 连接保持方法、连接保持设备及计算机可读存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7076085B1 (en) * | 2001-04-12 | 2006-07-11 | Ipix Corp. | Method and apparatus for hosting a network camera including a heartbeat mechanism |
ES2626289T3 (es) * | 2001-06-13 | 2017-07-24 | Intel Corporation | Método y aparatos para la transmisión de señal de latido a un nivel más bajo que la solicitud de latido |
US7927275B2 (en) * | 2002-08-26 | 2011-04-19 | The Cleveland Clinic Foundation | System and method of aquiring blood-vessel data |
CN102014416B (zh) * | 2010-12-03 | 2014-07-16 | 中兴通讯股份有限公司 | 一种对连接进行双向检测的方法及系统 |
CN102223257B (zh) * | 2011-07-25 | 2014-02-19 | 莫雅静 | 一种心跳间隔调整方法、服务器、客户端及通信系统 |
CN102438181A (zh) * | 2011-08-18 | 2012-05-02 | 中兴通讯股份有限公司 | 在iptv系统内调整心跳消息发送时间的方法及系统 |
CN102684949B (zh) * | 2012-06-04 | 2015-02-04 | 北京神州泰岳软件股份有限公司 | 一种长连接下心跳数据包的处理方法、装置和客户端 |
CN104144159B (zh) * | 2014-06-26 | 2016-04-13 | 腾讯科技(深圳)有限公司 | 智能心跳保活方法及智能心跳保活系统 |
CN105578515B (zh) * | 2014-10-15 | 2019-04-02 | 上海点艺信息技术有限公司 | 一种心跳频率参数的维护方法及服务器 |
US20160317816A1 (en) * | 2015-04-29 | 2016-11-03 | Atcor Medical Pty Ltd | Optimization of Pacemaker Settings with Electrogram |
CN106803833A (zh) * | 2015-11-26 | 2017-06-06 | 北京百度网讯科技有限公司 | 长连接中心跳的处理方法、装置及系统 |
CN106922039B (zh) * | 2015-12-25 | 2020-06-05 | 阿里巴巴集团控股有限公司 | 一种心跳报文的发送方法和装置 |
CN107197509A (zh) * | 2017-05-22 | 2017-09-22 | 深圳市沃特沃德股份有限公司 | 心跳连接方法和装置 |
-
2017
- 2017-12-19 CN CN201711370613.4A patent/CN108173709B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1661968A (zh) * | 2004-02-27 | 2005-08-31 | 联想(北京)有限公司 | 基于网络和主机负载的变速心跳机制的实现方法 |
WO2011053369A1 (en) * | 2009-10-30 | 2011-05-05 | Cardiac Pacemakers, Inc. | Pacemaker with vagal surge monitoring and response |
CN104243293A (zh) * | 2014-08-21 | 2014-12-24 | 深圳市合信自动化技术有限公司 | 一种心跳间隔自动调整的方法和网关设备、服务器 |
CN105610913A (zh) * | 2015-12-22 | 2016-05-25 | 用友网络科技股份有限公司 | 通信网络中长连接的心跳保活方法及装置 |
CN107396431A (zh) * | 2017-06-19 | 2017-11-24 | 努比亚技术有限公司 | 连接保持方法、连接保持设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108173709A (zh) | 2018-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108173709B (zh) | 保活长连接方法、装置、终端设备及存储介质 | |
EP3125480B1 (en) | Transmission control method, apparatus and system | |
CN102204182B (zh) | 一种数据传输的拥塞控制方法及装置 | |
US9042289B2 (en) | Methods and devices for power-aware data synchronization in wireless devices | |
CN107645529B (zh) | 心跳包发送方法及装置 | |
CN102948225B (zh) | 具有动态休眠的方法和设备 | |
CN102223257B (zh) | 一种心跳间隔调整方法、服务器、客户端及通信系统 | |
CN107517136B (zh) | 心跳保活的实现方法、装置及系统 | |
JP6219891B2 (ja) | 休止タイマーの制御のための方法、装置、および通信システム | |
EP2670188A1 (en) | Cqi reporting method, cqi acquisition method, system, terminal and base station | |
CN105763474B (zh) | 数据传输方法和装置 | |
CN101938414B (zh) | 一种报文发送方法及装置 | |
CN106685748B (zh) | 一种心跳信息发送方法、服务器及终端 | |
EP3687227B1 (en) | Method for adjusting transmission power of terminal, mobile terminal and storage device | |
CN106851799B (zh) | 一种长连接中心跳包的发送方法及装置 | |
CN104349158A (zh) | 一种通信视频质量调节方法和相关设备及系统 | |
CN105897506A (zh) | 一种带宽估计方法及装置 | |
US20160323421A1 (en) | Wireless communication system, serve and base station | |
KR20160071832A (ko) | 무선 통신 시스템에서 자원 분배 방법 및 장치 | |
US11528345B2 (en) | Data transmission method and system, and apparatus | |
CN101917406B (zh) | 数据传输方法及数据传输系统 | |
CN106851790B (zh) | 一种功耗变化控制方法及系统以及移动终端 | |
CN110855570A (zh) | Sdn网络丢包判断方法、装置、系统和多网络控制系统 | |
CN118018621A (zh) | 一种基于云渲染多端实时状态同步与通信优化的方法 | |
CN101686081B (zh) | 一种重新建立同步连接的方法、装置及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |