CN113472606A - 一种心跳超时检测方法、服务器及电子设备 - Google Patents

一种心跳超时检测方法、服务器及电子设备 Download PDF

Info

Publication number
CN113472606A
CN113472606A CN202110725277.0A CN202110725277A CN113472606A CN 113472606 A CN113472606 A CN 113472606A CN 202110725277 A CN202110725277 A CN 202110725277A CN 113472606 A CN113472606 A CN 113472606A
Authority
CN
China
Prior art keywords
timeout
client
server
heartbeat
time
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
CN202110725277.0A
Other languages
English (en)
Other versions
CN113472606B (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.)
Juhaokan Technology Co Ltd
Original Assignee
Juhaokan 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 Juhaokan Technology Co Ltd filed Critical Juhaokan Technology Co Ltd
Priority to CN202110725277.0A priority Critical patent/CN113472606B/zh
Publication of CN113472606A publication Critical patent/CN113472606A/zh
Priority to PCT/CN2021/128489 priority patent/WO2022105611A1/zh
Application granted granted Critical
Publication of CN113472606B publication Critical patent/CN113472606B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

本发明公开一种心跳超时检测方法、服务器及电子设备,在客户端与服务器通信连接成功之后,客户端向服务器发送第i个检测周期对应的心跳请求消息,并记录心跳请求消息的发送时间;客户端若在本端当前记录的第一超时时间内,接收到服务器反馈的同属第i个检测周期内的应答信息,记录所述应答信息的接收时间,并根据所述心跳请求消息的发送时间和所述应答信息的接收时间,更新所述第一超时时间;客户端若在所述第一超时时间内未接收到服务器反馈的同属第i个检测周期内的应答信息,则断开与服务器的通信连接。客户端能够根据网络状态自适应调整本端的第一超时时间,增强适应弱网、网络抖动和阻塞等状态的能力,提高心跳超时检测的自适应性和准确性。

Description

一种心跳超时检测方法、服务器及电子设备
技术领域
本发明涉及通信技术领域,尤其涉及一种心跳超时检测方法、服务器及电子设备。
背景技术
在某些通信场景中,可基于通信协议,建立客户端与服务器的通信连接。以实现数据传输和信息交互,所述通信协议例如是TCP(Transmission Control Protocol,传输控制协议)、WebSocket协议等。
在通信连接成功后,可能会出现网络异常,例如网络抖动、阻塞和断网等,而客户端和服务器无法获知当前存在网络异常,这就导致两端虽然仍保持连接状态,但实际上已无法进行有效通信,不仅影响数据传输,还占用通信资源。对此,在现有通信中引入心跳机制,客户端与服务器之间周期性地互发心跳消息,例如客户端向服务器端发送心跳消息1,若网络良好,则服务器会向客户端快速回传心跳消息2;若客户端在阈值时间内始终未接收到服务器的心跳反馈,即心跳检测超时,则认为通信连接不可用,自动断开连接。但这种通过限定的阈值时间来检测心跳超时的方式,容易出现超时误判、通信连接误关闭、抗网络抖动/阻塞能力弱等问题。
发明内容
本发明提供一种心跳超时检测方法、服务器及电子设备,可以提高心跳超时检测的准确性,增强通信连接对网络不稳定性的适应能力。
第一方面实施例提供的心跳超时检测方法,应用于客户端,包括:
在客户端与服务器通信连接成功之后,客户端向服务器发送第i个检测周期对应的心跳请求消息,并记录所述心跳请求消息的发送时间;
客户端若在本端当前记录的第一超时时间内,接收到服务器反馈的同属第i个检测周期内的应答信息,记录所述应答信息的接收时间,并根据所述心跳请求消息的发送时间和所述应答信息的接收时间,更新所述第一超时时间;
客户端若在所述第一超时时间内未接收到服务器反馈的同属第i个检测周期内的应答信息,则断开与服务器的通信连接。
在第一方面第一种示例性的实现方式中,客户端按照如下方式更新所述第一超时时间:计算所述心跳请求消息的发送时间与所述应答信息的接收时间的时间差,得到客户端第i个检测周期对应的心跳往返时间;根据客户端第i个检测周期对应的心跳往返时间,自适应匹配新的第一超时时间。
在第一方面第二种示例性的实现方式中,客户端按照如下公式自适应匹配新的第一超时时间;
TimeoutAi=min(max(a1*RTTAi,b1*cycle),Timeoutmax1)
式中,TimeoutAi为所述第一超时时间,cycle为相邻两次心跳请求消息的预设发送间隔,a1为客户端设置的第一系数,b1为客户端设置的第二系数,Timeoutmax1为客户端预设的最大超时时间,RTTAi为客户端第i个检测周期对应的心跳往返时间。
在第一方面第三种示例性的实现方式中,所述方法还包括:客户端在所述第一超时时间内接收到服务器反馈的同属第i个检测周期内的应答信息时,向服务器发送同属第i个检测周期内的心跳确认消息,所述心跳确认消息用于指示服务器记录所述心跳确认消息的接收时间,所述心跳确认消息的接收时间用于计算服务器端第i个检测周期对应的心跳往返时间。
在第一方面第四种示例性的实现方式中,所述方法还包括:
客户端在断开与服务器的第j次通信连接之后,将本端记录的i值清零,并向服务器发送重连请求,所述重连请求用于向服务器请求建立第j+1次通信连接;
在第j+1次通信连接建立成功后,客户端在接收到服务器首次反馈的应答信息之前,将预设的第一阈值时间作为所述第一超时时间。
第一方面主要针对通信连接中的客户端侧,在客户端与服务器连接成功之后,通过心跳机制检测连接的有效性,客户端周期性地向服务器发送心跳请求消息,若能在本侧记录的第一超时时间内,接收到服务器在响应心跳请求消息后反馈的同属一个检测周期内的应答信息,则客户端认为连接有效,等待下一周期的心跳检测,反之则存在心跳超时问题,客户端即可主动断开与服务器的通信连接。其中本申请的关键在于,不是采用固定的超时时间,第一超时时间可以根据实际网络状态进行自适应调整,为便于描述,示例性地,用Reqi表示第i个检测周期对应的心跳请求消息,用Resi表示服务器响应Reqi后反馈的应答信息,即Reqi和Resi为同属第i个检测周期内的交互消息。
客户端通过心跳请求消息Reqi的发送时间(记为TAsi)和应答信息Resi的接收时间(记为TARi),即可确定客户端第i次心跳检测中消息往返所消耗的时间,即客户端第i个检测周期对应的心跳往返时间(记为RTTAi),心跳往返时间RTTAi的时间长短可用于评估当前通信网络的状态,然后自适应匹配第一超时时间,在网络良好时,可以相对减小第一超时时间,比如采用预设的第一阈值时间(客户端侧默认的心跳超时时间)作为第一超时时间;在网络不稳定时,比如网络出现抖动、阻塞、弱网等情况,可以动态调整第一超时时间,相对增大第一超时时间,为接收服务器的应答信息提供更长时限,使通信连接更易于保留,而不会因网络的暂时波动而断连,若在相对较大的第一超时时间下仍旧检测到心跳超时,则说明网络很差,则无需保留通信连接,直接断开连接。第一方面中客户端能够根据网络状态自适应动态调整本端的第一超时时间,增强适应弱网、网络抖动和阻塞等状态的能力,第一超时时间不会无限制的增加,在网络恶化的一定程度时可以决策超时并断连,提高心跳超时检测的自适应性和准确性。
第二方面实施例提供的心跳超时检测方法,应用于服务器端,包括:
在服务器与客户端通信连接成功之后,服务器接收客户端发送的第i个检测周期对应的心跳请求消息;
服务器向客户端反馈同属第i个检测周期内的应答信息,并记录所述应答信息的发送时间;
服务器若在本端当前记录的第二超时时间内,接收到客户端发送的同属第i个检测周期内的心跳确认消息,记录所述心跳确认消息的接收时间,并根据所述应答信息的发送时间和所述心跳确认消息的接收时间,更新所述第二超时时间;
服务器若在所述第二超时时间内未接收到客户端发送的同属第i个检测周期内的心跳确认消息,则断开与客户端的通信连接。
在第二方面第一种示例性的实现方式中,服务器按照如下方式确定更新所述第二超时时间:计算所述应答信息的发送时间与所述心跳确认消息的接收时间的时间差,得到服务器端第i个检测周期对应的心跳往返时间;根据服务器端第i个检测周期对应的心跳往返时间,自适应匹配新的第二超时时间。
在第二方面第二种示例性的实现方式中,服务器按照如下公式自适应匹配新的第二超时时间;
TimeoutBi=min(max(a2*RTTBi,b2*cycle),Timeoutmax2)
式中,TimeoutBi为所述第二超时时间,cycle为相邻两次心跳请求消息的预设发送间隔,a2为服务器设置的第三系数,b2为服务器设置的第四系数,Timeoutmax2为服务器预设的最大超时时间,RTTBi为服务器端第i个检测周期对应的心跳往返时间。
在第二方面第三种示例性的实现方式中,所述方法还包括:
服务器在更新所述第二超时时间之后,以第i个检测周期内心跳确认消息的接收时间为基准点,检测在更新后的第二超时时间内是否接收到客户端发送的第i+1个检测周期对应的心跳请求消息;
服务器若在更新后的第二超时时间内接收到客户端发送的第i+1个检测周期对应的心跳请求消息,则向客户端反馈同属第i+1个检测周期内的应答信息;
服务器若在更新后的第二超时时间内未接收到客户端发送的第i+1个检测周期对应的心跳请求消息,则断开与客户端的通信连接。
在第二方面第四种示例性的实现方式中,所述方法还包括:
服务器在断开与客户端的第j次通信连接之后,接收客户端发起的重连请求;
服务器响应于所述重连请求,建立与客户端的第j+1次通信连接;
在第j+1次通信连接建立成功后,服务器在接收到客户端首次发送的心跳确认消息之前,将预设的第二阈值时间作为所述第二超时时间。
第二方面主要针对通信连接中的服务器侧,在服务器与客户端连接成功之后,通过心跳机制检测连接的有效性,客户端周期性地向服务器发送心跳请求消息,服务器每接收到一个心跳请求消息后立即反馈应答信息,客户端每接收到一个应答信息后再向服务器发送心跳确认消息,为便于描述,示例性地,用Reqi表示第i个检测周期对应的心跳请求消息,用Resi表示服务器响应Reqi后反馈的应答信息,用Surei表示客户端接收到Resi后向服务器发送的心跳确认消息,即Reqi、Resi和Surei为同属第i个检测周期内的交互消息。
服务器通过应答信息Resi的发送时间(记为TBSi)和心跳确认消息Surei的接收时间(记为TBRi),即可确定服务器侧第i次心跳检测中消息往返所消耗的时间,即服务器侧第i个检测周期对应的心跳往返时间(记为RTTBi),心跳往返时间RTTBi的时间长短可用于评估当前通信网络的状态,然后服务器即可自适应匹配第二超时时间,在网络良好时,可以相对减小第二超时时间,比如采用预设的第二阈值时间(服务器侧默认的心跳超时时间)作为第二超时时间;在网络不稳定时,比如网络出现抖动、阻塞、弱网等情况,可以动态调整第二超时时间,相对增大第二超时时间,为接收对端发送的消息提供更长时限,使通信连接更易于保留,而不会因网络的暂时波动而断连,若在相对较大的第二超时时间下仍旧检测到心跳超时,则说明网络很差,则无需保留通信连接,直接断开连接。第二方面中服务器能够根据网络状态自适应动态调整本端的第二超时时间,增强适应弱网、网络抖动和阻塞等状态的能力,第二超时时间不会无限制的增加,在网络恶化的一定程度时可以决策超时并断连,提高心跳超时检测的自适应性和准确性。
第三方面实施例提供的一种电子设备,所述电子设备安装有客户端,所述客户端被配置为:
在客户端与服务器通信连接成功之后,向服务器发送第i个检测周期对应的心跳请求消息,并记录所述心跳请求消息的发送时间;
若在本端当前记录的第一超时时间内,接收到服务器反馈的同属第i个检测周期内的应答信息,记录所述应答信息的接收时间,并根据所述心跳请求消息的发送时间和所述应答信息的接收时间,更新所述第一超时时间;
若在所述第一超时时间内未接收到服务器反馈的同属第i个检测周期内的应答信息,则断开与服务器的通信连接。
第四方面实施例提供的一种服务器,所述服务器被配置为:
在服务器与客户端通信连接成功之后,接收客户端发送的第i个检测周期对应的心跳请求消息;;
向客户端反馈同属第i个检测周期内的应答信息,并记录所述应答信息的发送时间;
若在本端当前记录的第二超时时间内,接收到客户端发送的同属第i个检测周期内的心跳确认消息,记录所述心跳确认消息的接收时间,并根据所述应答信息的发送时间和所述心跳确认消息的接收时间,更新所述第二超时时间;
若在所述第二超时时间内未接收到客户端发送的同属第i个检测周期内的心跳确认消息,则断开与客户端的通信连接。
第五方面实施例提供的电子设备,包括:存储器和至少一个处理器;所述存储器,用于存储指令;所述至少一个处理器,用于执行所述存储器中的所述指令,执行以上第一方面任意一项所述的心跳超时检测方法。
第六方面实施例提供的服务器,包括:存储器和至少一个处理器;所述存储器,用于存储指令;所述至少一个处理器,用于执行所述存储器中的所述指令,执行以上第二方面任意一项所述的心跳超时检测方法。
第七方面实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行以上第一方面任意一项所述的心跳超时检测方法。
第八方面实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行以上第二方面任意一项所述的心跳超时检测方法。
其他方面的实施例的方案以及具备的有益效果可适应性参照第一方面和第二方面,具体不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要访问的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1中示例性示出了一种通信场景的示意图;
图2中示例性示出了一种客户端侧执行的心跳超时检测方法;
图3中示例性示出了一种服务器侧执行的心跳超时检测方法;
图4(a)中示例性示出了在双侧采用固定超时时间的模式下,客户端与服务器的通信交互示意图;
图4(b)中示例性示出了在双侧采用动态自适应调整超时时间的模式下,客户端与服务器的通信交互示意图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
在一种示例性的通信场景中,参照图1,客户端10和服务器20为通信交互的双端,客户端10可以安装在实际电子设备中,电子设备包括但不限于显示设备、智能手机、计算机等,客户端10是与服务器相对应的为客户提供相应服务的程序,客户端10的运行形式包括但不限于网页浏览器、电子邮件客户端、即时通讯的客户端软件等。客户端10与服务器20可以基于某些通信协议建立通信连接,比如TCP连接、WebSocket连接等,客户端10与服务器20通信连接成功之后,即可实现数据传输和信息交流等所需的通信功能。客户端10与服务器20之间可采用全双工通信,即允许双端之间可以同时进行双向数据/信息/消息的传输。
在客户端10与服务器20一般是基于网络通信,而网络状态存在不确定性和不可预测性,网络良好时两端通信稳定、数据收发速度较快;在网络出现抖动、阻塞、弱网甚至断网等异常状态时,客户端10与服务器20之间的通信会受到干扰,比如数据收发呈现一定程度的滞后性,甚至两端虽保持连接,但始终无法接收到对端发送的数据,呈现出“虚假连接”的现象。由于客户端10和服务器20无法感知网络状态,即便在网络恶化的情况下已无法实现有效通信,但双端若仍旧保持彼此的通信连接,不仅会导致数据传输出现延迟甚至中断,影响客户端的任务执行,还会占用通信资源。对此,现有通信中一般引入心跳检测机制,客户端10与服务器20之间可周期性地互发心跳消息,以询问对端是否“活着”,从而决定是否断开与对端的通信连接,例如客户端10向服务器20周期性地发送心跳请求,若客户端10在超时时间内接收到服务器的应答反馈,则反映了当前网络良好,客户端10保持与服务器20的通信连接;反之,若客户端10未在超时时间接收到服务器的应答反馈,则说明当前网络异常,则客户端10可断开与服务器之间无效的通信连接。
对于现有的心跳检测机制,一方面客户端10和服务器端20两端设置固定的超时时间,该超时时间不会随网络、双端间的通信交互等因素而变化,另一方面发送端周期性等间隔地发送心跳请求,但接收端受网络传输因素的影响可能不会周期性等间隔地接收心跳请求,如果采用限定的超时时间进行心跳检测,在网络条件非恶劣的环境下,网络暂时呈现些许抖动或阻塞即可能会被认定为超时并断开通信连接,没有为网络恢复正常提供机会,这就导致了心跳检测时普遍存在抗网络波动能力差,甚至误判超时和误关闭连接的问题。
本申请提供基于网络状态自适应调整两端超时时间的方案,可以增强心跳检测对弱网、网络抖动和网络阻塞的适应能力,并且两端的超时时间不会无限制的增加,当网络恶化到上限时可以决策超时,并断开通信连接。
如图2所示,在一些实施例中,提供一种客户端侧执行的心跳超时检测方法,所述方法包括如下程序步骤:
步骤S101,在客户端与服务器通信连接成功之后,客户端向服务器发送第i个检测周期对应的心跳请求消息Reqi,并记录所述心跳请求消息Reqi的发送时间TASi
对于客户端侧,为便于描述,示例性地,用Reqi表示第i个检测周期对应的心跳请求消息,用Resi表示服务器响应Reqi后反馈的应答信息,即Reqi和Resi为同属第i个检测周期内的交互消息,以及,用TASi表示心跳请求消息Reqi的发送时间,用TARi表示应答信息Resi的接收时间。
在客户端10与服务器20连接成功之后,客户端10可以周期性、等间隔地向服务器发送心跳请求消息Reqi,每次发送心跳请求消息Reqi时都需要记录其发送时间TASi,发送时间TASi是后续计算客户端侧的第一超时时间的参数之一。其中,i用于标识心跳请求/心跳检测/心跳周期的次序,即每达到一个心跳的检测周期,将i值递增1,直至当前第j次的通信连接(记为Linkj)断开,将i值清零,在重新连接后,即建立第j+1次通信连接(记为Linkj+1)成功后,i值重新计数。
步骤S102,客户端是否在本端当前记录的第一超时时间内接收到服务器反馈的应答信息Resi
其中,心跳请求消息Reqi和应答信息Resi需要保持i值一致,通过i值的标识来识别心跳检测的周期次序,保证能准确识别每次心跳的请求及应答,从而根据每次心跳往返评估网络状态,使自适应调整的超时时间更精准。步骤S102中若判断结果为是,则确定心跳检测未超时,则执行步骤S103;若判断结果为否,即识别心跳超时,执行步骤S104。
在一些实施例中,所述应答信息Resi可以是服务器响应心跳请求消息Reqi后反馈的心跳回复消息,还可以是服务器向客户端发送的业务数据或信息,即应答信息Resi的具体内容或形式不限定,只要客户端在第一超时时间内接收到对端服务器反馈的任何形式的数据/信息/消息,客户端都能确定服务器是“活着”的,即可保持通信连接。
步骤S103,记录所述应答信息Resi的接收时间TARi,并根据所述发送时间TASi和所述接收时间TARi,更新所述第一超时时间。
步骤S104,断开与服务器的通信连接。
在步骤S103一种示例性的实现方式中,计算发送时间TASi与接收时间TARi的时间差,得到客户端第i个检测周期对应的心跳往返时间(记为RTTAi),即RTTAi=TARi-TASi,然后即可根据心跳往返时间RTTAi,自适应匹配新的第一超时时间。心跳往返时间RTTAi会随着i值的递增而更新,心跳往返时间RTTAi为客户端侧第i次心跳的请求与应答的时间间隔,可用于评估网络状态,一般来说,心跳往返时间RTTAi越大,说明通信耗时越长,网络条件越差;心跳往返时间RTTAi越小,说明通信速度越快,网络越好越、越稳定,因此心跳往返时间RTTAi可作为匹配和更新客户端侧第一超时时间的关键参数。
在一种示例性的实现方式中,由于心跳往返时间RTTAi可用于评估通信网络的状态,因此可通过比较客户端侧的心跳往返时间的变化,来适应性调整第一超时时间。例如,RTTAi大于前一次检测周期对应的RTTAi-1时,说明网络相对变弱,为提升客户端对网络波动的适应能力,可相对增大第一超时时间;若RTTAi小于前一次检测周期的RTTAi-1,说明网络相对增强,则可相对减小第一超时时间;若RTTAi等于前一次检测周期的RTTAi-1,则可保持当前的第一超时时间不变。
在另一种示例性的实现方式中,客户端还可按照如下公式自适应匹配新的第一超时时间;
TimeoutAi=min(max(a1*RTTAi,b1*cycle),Timeoutmax1)
式中,TimeoutAi为所述第一超时时间,cycle为相邻两次心跳请求消息的预设发送间隔(即预设的心跳周期),a1为客户端设置的第一系数,b1为客户端设置的第二系数,Timeoutmax1为客户端预设的最大超时时间。
第一超时时间TimeoutAi不是静态不变的,而是可根据心跳往返时间RTTAi这一变量进行自适应调整,从而得到适应于当前网络的较佳的第一超时时间。此外,a1和b1也是可调系数,可以根据实际应用要求进行设置和调节,可选地,a1取值为3~5,b1取值为2~5。
在一种示例性的实现方式中,Timeoutmax1为客户端侧预设的最大超时时间,用于表征能够允许网络恶化到何种程度时必须断开通信连接,是第一超时时间的上限值。可选地,Timeoutmax1=c1*cycle,c1为客户端设置的第五系数,第五系数也为可调系数,通过调节第五系数c1同步设置Timeoutmax1的取值。Timeoutmax1可以根据实际应用要求进行设置,本申请实施例不作具体限定,但是Timeoutmax1不可无限制的增大,以避免网络极弱时仍维系通信连接导致的无效通信。
在一些实施例中,当i=1时,即客户端向服务器发送第一次心跳请求消息Req1之后,等待服务器端的应答反馈,即等待接收服务器首次反馈的应答信息Res1,这时客户端尚未获取到心跳往返时间RTTA1,即客户端侧尚未更新过第一超时时间,则此时第一超时时间默认为预设的第一阈值时间(记为Timeoutdef1)。Timeoutdef1可以根据实际应用进行设置,例如Timeoutdef1为3*cycle。
也就是说,客户端向服务器发送第一次心跳请求消息Req1之后,检测是否在第一阈值时间Timeoutdef1内接收到应答信息Res1,若是,则获取到心跳往返时间RTTA1,并根据心跳往返时间RTTA1更新第一超时时间,即可将第一超时时间由Timeoutdef1变更为min(max(a1*RTTA1,b1*cycle),Timeoutmax1),以此类推,即可根据i值的递增而动态更新第一超时时间,并检测是否在第一超时时间内接收到对端服务器的应答反馈。
在网络良好时,可以相对减小第一超时时间;在网络不稳定时,比如网络出现抖动、阻塞、弱网等情况,可以动态调整第一超时时间,相对增大第一超时时间,为接收服务器的应答信息提供更长时限,使通信连接更易于保留,而不会因网络的暂时波动而断连,若在相对较大的第一超时时间下仍旧检测到心跳超时,则说明网络很差,则无需保留通信连接,直接断开连接。本申请中客户端能够根据网络状态自适应动态调整本端的第一超时时间,增强适应弱网、网络抖动和阻塞等状态的能力,第一超时时间不会无限制的增加,在网络恶化的一定程度时可以决策超时并断连,提高心跳超时检测的自适应性和准确性,并且整个过程不会影响数据/消息/信息的收发。第一超时时间的自适应调整方式不限于本申请实施例所述。
在一些实施例中,步骤S104客户端与服务器断开通信连接后,客户端可以尝试重新连接。在实际应用场景中,客户端与服务器之间可能存在多次断连和重连,客户端在断开与服务器的第j次通信连接Linkj之后,将本端记录的i值清零,同时客户端向服务器发送重连请求,服务器响应于重连请求,建立与客户端的第j+1次通信连接Linkj+1。通过将i值清零,便于重连后在新的循环中重新对i值进行计数。在通信连接Linkj+1建立成功后,即进入了一个新的循环中,即可执行前述客户端侧的心跳超时检测机制。
前述示例示出的是客户端周期性发送心跳请求消息Reqi,然后接收服务器反馈的应答信息Resi,待达到下一心跳的检测周期时,客户端再发送心跳请求消息Reqi+1,这种方式客户端可以获取心跳往返时间RTTAi,并对第一超时时间进行动态自适应调整和更新。但对于服务器侧来说,其在被动接收心跳请求消息Reqi后会立即反馈应答信息Resi,但客户端接收到应答信息Resi后,不会再针对应答信息Resi作出响应,而是直接等待通过发送第i+1个检测周期对应的心跳请求消息Reqi+1来进入下一次序的心跳检测,因此服务器侧无法获取到心跳往返时间RTTBi,也就无法进行第二超时时间的自适应调整和更新,对于这种情况,服务器侧可以利用其预设的第二阈值时间Timeoutdef2进行心跳超时检测,即采用常规的固定超时时间的检测模式。第二阈值时间Timeoutdef2可以根据实际应用要求进行设置,例如第二阈值时间Timeoutdef2为3*cycle。需要说明的是,第二阈值时间Timeoutdef2和第二阈值时间Timeoutdef2可相同或不同。
如图3所示,在一些实施例中,提供一种服务器侧执行的心跳超时检测方法,所述方法支持服务器侧对第二超时时间进行动态自适应调整和更新,方法包括如下程序步骤:
步骤S201,在服务器与客户端通信连接成功之后,服务器接收客户端发送的第i个检测周期对应的心跳请求消息Reqi
对于服务器侧,为便于描述,示例性地,用Reqi表示第i个检测周期对应的心跳请求消息,用Resi表示服务器响应Reqi后反馈的应答信息,用Surei表示客户端接收到Resi后向服务器发送的心跳确认消息,即Reqi、Resi和Surei为同属第i个检测周期内的通信交互消息,以及,用TBSi表示应答信息Resi的发送时间,用TBRi表示心跳确认消息Surei的接收时间。
步骤S202,服务器向客户端反馈应答信息Resi,并记录所述应答信息Resi的发送时间TBSi
步骤S203,服务器检测在当前记录的第二超时时间内是否接收到客户端发送的心跳确认消息Surei
与图2中示例的区别在于,客户端在第一超时时间内接收到服务器反馈的应答信息Resi时,不再处于等待发送心跳请求消息Reqi+1的状态,而是会响应应答信息Resi,向服务器发送心跳确认消息Surei。若步骤S203的检测结果为是,则确定心跳检测未超时,则执行步骤S204;若检测结果为否,即识别心跳超时,执行步骤S205。
步骤S204,记录所述心跳确认消息Surei的接收时间TBRi,并根据所述发送时间TBSi和所述接收时间TBRi,更新所述第二超时时间。
步骤S205,断开与客户端的通信连接。
对于服务器侧,接收心跳请求消息Reqi→反馈应答信息Resi→再接收心跳确认消息Surei,构成服务器侧的第i次心跳检测,其中应答信息Resi和心跳确认消息Surei构成一次心跳往返,在步骤S204一种示例性的实现方式中,计算心跳确认消息Surei的接收时间TBRi与应答信息Resi的发送时间TBSi的时间差,得到服务器侧第i个检测周期对应的心跳往返时间(记为RTTBi),即RTTBi=TBRi-TBSi,然后即可根据心跳往返时间RTTBi,自适应匹配新的第二超时时间。心跳往返时间RTTBi会随着i值的递增而更新,心跳往返时间RTTBi为服务器侧第i次心跳的应答与确认的时间间隔,可用于评估网络状态,一般来说,心跳往返时间RTTBi越大,说明通信耗时越长,网络条件越差;心跳往返时间RTTBi越小,说明通信速度越快,网络越好越、越稳定,因此心跳往返时间RTTBi可作为匹配和更新服务器侧第二超时时间的关键参数。
在一种示例性的实现方式中,由于心跳往返时间RTTBi也可用于评估通信网络的状态,因此可通过比较服务器侧的心跳往返时间的变化,来适应性调整第二超时时间。例如,RTTBi大于前一次检测周期对应的RTTBi-1时,说明网络相对变弱,为提升服务器对网络波动的适应能力,可相对增大第二超时时间;若RTTBi小于前一次检测周期的RTTBi-1,说明网络相对增强,则可相对减小第二超时时间;若RTTBi等于前一次检测周期的RTTBi-1,则可保持当前的第二超时时间不变。
在另一种示例性的实现方式中,服务器还可按照如下公式自适应匹配新的第二超时时间;
TimeoutBi=min(max(a2*RTTBi,b2*cycle),Timeoutmax2)
式中,TimeoutBi为所述第二超时时间,cycle为相邻两次心跳请求消息的预设发送间隔,a2为服务器设置的第三系数,b2为服务器设置的第四系数,Timeoutmax2为服务器预设的最大超时时间。
第二超时时间TimeoutBi不是静态不变的,而是可根据心跳往返时间RTTBi这一变量进行自适应调整,从而得到适应于当前网络的较佳的第二超时时间。此外,a2和b2也是可调系数,可以根据实际应用要求进行设置和调节,可选地,a2取值为3~5,b2取值为2~5。
在一种示例性的实现方式中,Timeoutmax2为服务器侧预设的最大超时时间,用于表征能够允许网络恶化到何种程度时必须断开通信连接,是第二超时时间的上限值。可选地,Timeoutmax2=c2*cycle,c2为服务器侧设置的第六系数,第六系数也为可调系数,通过调节第六系数c2同步设置Timeoutmax2的取值。Timeoutmax2可以根据实际应用要求进行设置,本申请实施例不作具体限定,但是Timeoutmax2不可无限制的增大,以避免网络极弱时仍维系通信连接导致的无效通信。需要说明的是,Timeoutmax1和Timeoutmax2可以相同或不同。
在一些实施例中,当i=1时,服务器接收到客户端发送的第一次心跳请求消息Req1时,向客户端反馈的应答信息Res1,在等待接收客户端发送的心跳确认消息Sure1过程中,服务器侧尚未获取到心跳往返时间RTTB1,即服务器侧尚未更新过第二超时时间,则此时第二超时时间默认为预设的第二阈值时间(记为Timeoutdef2)。Timeoutdef2可以根据实际应用进行设置,例如Timeoutdef2为3*cycle。
也就是说,服务器向客户端发送反馈的应答信息Res1之后,检测是否在第二阈值时间Timeoutdef2内接收到心跳确认消息Sure1,若是,则获取到心跳往返时间RTTB1,并根据心跳往返时间RTTB1更新第二超时时间,即可将第二超时时间由Timeoutdef2变更为min(max(a2*RTTB1,b2*cycle),Timeoutmax2),以此类推,即可根据i值的递增而动态更新第二超时时间,并检测是否在第二超时时间内接收到对端客户端发送的心跳请求消息、心跳确认消息或数据等。
在网络良好时,可以相对减小第二超时时间;在网络不稳定时,比如网络出现抖动、阻塞、弱网等情况,可以动态调整第二超时时间,相对增大第二超时时间,为接收客户端的任意形式的信息提供更长时限,使通信连接更易于保留,而不会因网络的暂时波动而断连,若在相对较大的第二超时时间下仍旧检测到心跳超时,则说明网络很差,则无需保留通信连接,直接断开连接。本实施例中服务器能够根据网络状态自适应动态调整本端的第二超时时间,增强适应弱网、网络抖动和阻塞等状态的能力,第二超时时间不会无限制的增加,在网络恶化的一定程度时可以决策超时并断连,提高心跳超时检测的自适应性和准确性,并且整个过程不会影响数据/消息/信息的收发。第二超时时间的自适应调整方式不限于本申请实施例所述。
在一些实施例中,步骤S205服务器与客户端断开通信连接后,客户端可以尝试重新连接。在实际应用场景中,客户端与服务器之间可能存在多次断连和重连,服务器在断开与客户端的通信连接Linkj之后,接收客户端发起的重连请求,响应于重连请求,建立与客户端的通信连接Linkj+1。在通信连接Linkj+1建立成功后,即进入了一个新的循环中,即可执行前述服务器侧的心跳超时检测机制。
在一些实施例中,图4(a)示出了在双侧采用固定超时时间的模式下,客户端10与服务器20的通信示例,客户端10周期性地想服务器发送心跳请求信息Reqi,服务器接收心跳请求信息Reqi后反馈应答信息Resi。图4(a)中前两次心跳检测时网络状态良好,当i等于3时,客户端于TAS3节点处发送心跳请求消息Req3,客户端侧采用第一阈值时间Timeoutdef1作为默认超时时间,则以TAS3节点为基准点,可以构建第3次心跳检测对应的超时检测区间为[TAS3,TAS3+Timeoutdef1],由于客户端在[TAS3,TAS3+Timeoutdef1]区分时段内未接收到应答信息Res3,因此判定为心跳超时,客户端会直接断开与服务器的当前通信连接。因此图4(a)模式下,在出现网络抖动、阻塞等情况,导致双端收发信息存在延迟和滞后,一旦超出固定的默认超时时间直接断连,因此该心跳检测机制抗网络干扰能力差,极易出现频繁断连和重连,增加了双端通信连接的负荷。
在一些实施例中,图4(b)示出了在双侧采用动态自适应调整超时时间的模式下,客户端10与服务器20的一种通信示例,为简化示例以便于描述,图4(b)中仅示出了前两次心跳检测的周期,后续其他心跳检测已省略。图4(b)中第一次心跳检测时网络良好,从第二次心跳检测开始网络出现波动,双端收发消息开始出现滞后性。
参照图4(b),对于客户端侧:发送心跳请求消息Req1→接收应答信息Res1(首次更新第一超时时间的节点)→再发送心跳确认消息Sure1→发送心跳请求消息Req2→发送心跳请求消息Req3→接收应答信息Res2→发送心跳确认消息Sure2(第二次更新第一超时时间的节点)。
客户端在发送心跳请求消息Req1后,由于第一超时时间未更新过,因此客户端当前记录的第一超时时间为初始默认的第一阈值时间Timeoutdef1,以心跳请求消息Req1的发送时间TAS1为基准点,构建客户端侧第1次心跳检测对应的超时检测区间A1为[TAS1,TAS1+Timeoutdef1],由于客户端在[TAS1,TAS1+Timeoutdef1]区分时段内接收到了应答信息Res1,因此记录应答信息Res1的接收时间TAR1,得到RTTA1=TAR1-TAS1,并将第一超时时间由Timeoutdef1更新为TimeoutA1,TimeoutA1=min(max(a1*RTTA1,b1*cycle),Timeoutmax1)。
当达到第2个心跳周期时,客户端向服务器发送心跳请求消息Req2,即cycle=TAS2-TAS1,然后以心跳请求消息Req2的发送时间TAS2为基准点,构建客户端侧第2次心跳检测对应的超时检测区间A2为[TAS2,TAS2+TimeoutA1],客户端在[TAS2,TAS2+TimeoutA1]区间时段内接收到应答信息Res2,即心跳检测未超时,则向服务器发送心跳确认消息Sure2,并记录应答信息Res2的接收时间TAR2,并得到RTTA2=TAR2-TAS2,并将第一超时时间由TimeoutA1更新为TimeoutA2,TimeoutA2=min(max(a1*RTTA2,b1*cycle),Timeoutmax1)。期间,由于网络出现波动,导致应答信息Res2滞后,RTTA2大于cycle,因此出现了先发送心跳请求消息Req3,后接收到应答信息Res2的情况。以此类推,在未心跳超时的情况下,客户端随着i值的递增而自适应更新第一超时时间,根据更新的第一超时时间以及关键节点,来定位并构建超时检测区间Ai来进行心跳超时检测;期间若诊断出心跳超时,则断开当前的通信连接。
参照图4(b),对于服务器侧:接收心跳请求消息Req1→反馈应答信息Res1→再接收心跳确认消息Sure1(首次更新第二超时时间的节点)→接收心跳请求消息Req2→反馈应答信息Res2→接收心跳请求消息Req3→反馈应答信息Res3→接收心跳确认消息Sure2(第二次更新第二超时时间的节点)。
服务器在接收到心跳请求消息Req1时,由于第二超时时间未更新过,因此服务器当前记录的第二超时时间为初始默认的第二阈值时间Timeoutdef2,以应答信息Res1的发送时间TBS1为基准点,构建服务器侧第1次心跳检测对应的超时检测区间B1为[TBS1,TBS1+Timeoutdef2],由于服务器在[TBS1,TBS1+Timeoutdef2]区分时段内接收到了心跳确认消息Sure1,因此记录心跳确认消息Sure1的接收时间TBR1,得到RTTB1=TBR1-TBS1,并将第二超时时间由Timeoutdef2更新为TimeoutB1,TimeoutB1=min(max(a2*RTTB1,b2*cycle),Timeoutmax2)。
在首次更新第二超时时间之后,服务器以心跳确认消息Sure1的接收时间TBR1为基准点,构建服务器侧第2次心跳检测对应的超时检测区间B2为[TBR1,TBR1+TimeoutB1],并检测在[TBR1,TBR1+TimeoutB1]区间时段内是否接收到客户端发送的心跳请求消息Req2。由于在[TBR1,TBR1+TimeoutB1]内接收到心跳请求消息Req2,确定心跳检测未超时,则保持通信连接,服务器向客户端反馈应答信息Res2
服务器以应答信息Res2的发送时间TBS2为基准点,构建服务器侧第3次心跳检测对应的超时检测区间B3为[TBS2,TBS2+TimeoutB1],由于在[TBS2,TBS2+TimeoutB1]区间时段内接收到了心跳确认消息Sure2,因此记录心跳确认消息Sure2的接收时间TBR2,得到RTTB2=TBR2-TBS2,并将第二超时时间由TimeoutB1更新为TimeoutB2,TimeoutB2=min(max(a2*RTTB2,b2*cycle),Timeoutmax2)。以此类推,在未心跳超时的情况下,随着i值的递增而自适应更新第二超时时间,根据更新的第二超时时间以及关键节点,来定位和构建超时检测区间Bi来进行心跳超时检测;期间若诊断出心跳超时,则断开当前的通信连接。
通过图4(a)和图4(b)的对比可知,本申请能够基于不同时段网络状态和波动,在客户端侧和服务器侧分别执行超时时间的自适应匹配和更新,在网络存在抖动和阻塞时,两侧的心跳往返时间增大,从而自适应地将两侧的超时时间相对增大,避免图4(a)示例中直接判定超时而断连,提升了通信连接中心跳检测机制的抗网络干扰能力,增强对弱网、网络抖动和网络阻塞的适应能力,并且超时时间不会无限制的增加,在网络恶化的一定程度(比如达到预设的最大超时时间)时,可以决策超时并断连,提高心跳超时检测的自适应性和准确性。图4(a)和图4(b)仅为示例性的,不限定实际的通信和网络状态。
本申请实施例还提供一种电子设备,电子设备中安装有客户端,所述客户端被配置为执行上述客户端侧的心跳超时检测方法。
本申请实施例还提供一种服务器,所述服务器被配置为执行上述服务器侧的心跳超时检测方法。
本申请实施例还提供一种电子设备,包括:存储器和至少一个处理器;所述存储器,用于存储指令;所述至少一个处理器,用于执行所述存储器中的所述指令,执行以上客户端侧配置的心跳超时检测方法。
本申请实施例还提供一种服务器,包括:存储器和至少一个处理器;所述存储器,用于存储指令;所述至少一个处理器,用于执行所述存储器中的所述指令,执行以上服务器侧配置的心跳超时检测方法。
本申请实施例还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行以上客户端侧配置的心跳超时检测方法。
本申请实施例还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行以上服务器侧配置的心跳超时检测方法。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。

Claims (12)

1.一种心跳超时检测方法,其特征在于,包括:
在客户端与服务器通信连接成功之后,客户端向服务器发送第i个检测周期对应的心跳请求消息,并记录所述心跳请求消息的发送时间;
客户端若在本端当前记录的第一超时时间内,接收到服务器反馈的同属第i个检测周期内的应答信息,记录所述应答信息的接收时间,并根据所述心跳请求消息的发送时间和所述应答信息的接收时间,更新所述第一超时时间;
客户端若在所述第一超时时间内未接收到服务器反馈的同属第i个检测周期内的应答信息,则断开与服务器的通信连接。
2.根据权利要求1所述的方法,其特征在于,客户端按照如下方式更新所述第一超时时间:
计算所述心跳请求消息的发送时间与所述应答信息的接收时间的时间差,得到客户端第i个检测周期对应的心跳往返时间;
根据客户端第i个检测周期对应的心跳往返时间,自适应匹配新的第一超时时间。
3.根据权利要求2所述的方法,其特征在于,客户端按照如下公式自适应匹配新的第一超时时间;
TimeoutAi=min(max(a1*RTTAi,b1*cycle),Timeoutmax1)
式中,TimeoutAi为所述第一超时时间,cycle为相邻两次心跳请求消息的预设发送间隔,a1为客户端设置的第一系数,b1为客户端设置的第二系数,Timeoutmax1为客户端预设的最大超时时间,RTTAi为客户端第i个检测周期对应的心跳往返时间。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
客户端在所述第一超时时间内接收到服务器反馈的同属第i个检测周期内的应答信息时,向服务器发送同属第i个检测周期内的心跳确认消息,所述心跳确认消息用于指示服务器记录所述心跳确认消息的接收时间,所述心跳确认消息的接收时间用于计算服务器端第i个检测周期对应的心跳往返时间。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
客户端在断开与服务器的第j次通信连接之后,将本端记录的i值清零,并向服务器发送重连请求,所述重连请求用于向服务器请求建立第j+1次通信连接;
在第j+1次通信连接建立成功后,客户端在接收到服务器首次反馈的应答信息之前,将预设的第一阈值时间作为所述第一超时时间。
6.一种心跳超时检测方法,其特征在于,包括:
在服务器与客户端通信连接成功之后,服务器接收客户端发送的第i个检测周期对应的心跳请求消息;;
服务器向客户端反馈同属第i个检测周期内的应答信息,并记录所述应答信息的发送时间;
服务器若在本端当前记录的第二超时时间内,接收到客户端发送的同属第i个检测周期内的心跳确认消息,记录所述心跳确认消息的接收时间,并根据所述应答信息的发送时间和所述心跳确认消息的接收时间,更新所述第二超时时间;
服务器若在所述第二超时时间内未接收到客户端发送的同属第i个检测周期内的心跳确认消息,则断开与客户端的通信连接。
7.根据权利要求6所述的方法,其特征在于,服务器按照如下方式确定更新所述第二超时时间:
计算所述应答信息的发送时间与所述心跳确认消息的接收时间的时间差,得到服务器端第i个检测周期对应的心跳往返时间;
根据服务器端第i个检测周期对应的心跳往返时间,自适应匹配新的第二超时时间。
8.根据权利要求7所述的方法,其特征在于,服务器按照如下公式自适应匹配新的第二超时时间;
TimeoutBi=min(max(a2*RTTBi,b2*cycle),Timeoutmax2)
式中,TimeoutBi为所述第二超时时间,cycle为相邻两次心跳请求消息的预设发送间隔,a2为服务器设置的第三系数,b2为服务器设置的第四系数,Timeoutmax2为服务器预设的最大超时时间,RTTBi为服务器端第i个检测周期对应的心跳往返时间。
9.根据权利要求6所述的方法,其特征在于,所述方法还包括:
服务器在更新所述第二超时时间之后,以第i个检测周期内心跳确认消息的接收时间为基准点,检测在更新后的第二超时时间内是否接收到客户端发送的第i+1个检测周期对应的心跳请求消息;
服务器若在更新后的第二超时时间内接收到客户端发送的第i+1个检测周期对应的心跳请求消息,则向客户端反馈同属第i+1个检测周期内的应答信息;
服务器若在更新后的第二超时时间内未接收到客户端发送的第i+1个检测周期对应的心跳请求消息,则断开与客户端的通信连接。
10.根据权利要求6或9所述的方法,其特征在于,所述方法还包括:
服务器在断开与客户端的第j次通信连接之后,接收客户端发起的重连请求;
服务器响应于所述重连请求,建立与客户端的第j+1次通信连接;
在第j+1次通信连接建立成功后,服务器在接收到客户端首次发送的心跳确认消息之前,将预设的第二阈值时间作为所述第二超时时间。
11.一种电子设备,其特征在于,所述电子设备安装有客户端,所述客户端被配置为:
在客户端与服务器通信连接成功之后,向服务器发送第i个检测周期对应的心跳请求消息,并记录所述心跳请求消息的发送时间;
若在本端当前记录的第一超时时间内,接收到服务器反馈的同属第i个检测周期内的应答信息,记录所述应答信息的接收时间,并根据所述心跳请求消息的发送时间和所述应答信息的接收时间,更新所述第一超时时间;
若在所述第一超时时间内未接收到服务器反馈的同属第i个检测周期内的应答信息,则断开与服务器的通信连接。
12.一种服务器,其特征在于,所述服务器被配置为:
在服务器与客户端通信连接成功之后,接收客户端发送的第i个检测周期对应的心跳请求消息;
向客户端反馈同属第i个检测周期内的应答信息,并记录所述应答信息的发送时间;
若在本端当前记录的第二超时时间内,接收到客户端发送的同属第i个检测周期内的心跳确认消息,记录所述心跳确认消息的接收时间,并根据所述应答信息的发送时间和所述心跳确认消息的接收时间,更新所述第二超时时间;
若在所述第二超时时间内未接收到客户端发送的同属第i个检测周期内的心跳确认消息,则断开与客户端的通信连接。
CN202110725277.0A 2021-06-29 2021-06-29 一种心跳超时检测方法、服务器及电子设备 Active CN113472606B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110725277.0A CN113472606B (zh) 2021-06-29 2021-06-29 一种心跳超时检测方法、服务器及电子设备
PCT/CN2021/128489 WO2022105611A1 (zh) 2021-06-29 2021-11-03 一种心跳超时检测方法、服务器及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110725277.0A CN113472606B (zh) 2021-06-29 2021-06-29 一种心跳超时检测方法、服务器及电子设备

Publications (2)

Publication Number Publication Date
CN113472606A true CN113472606A (zh) 2021-10-01
CN113472606B CN113472606B (zh) 2022-09-30

Family

ID=77873925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110725277.0A Active CN113472606B (zh) 2021-06-29 2021-06-29 一种心跳超时检测方法、服务器及电子设备

Country Status (2)

Country Link
CN (1) CN113472606B (zh)
WO (1) WO2022105611A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821414A (zh) * 2021-11-22 2021-12-21 成都新希望金融信息有限公司 一种服务器保护方法、装置、电子设备及存储介质
CN114143114A (zh) * 2022-01-12 2022-03-04 福建省海峡信息技术有限公司 一种基于智能终端的网络安全通信方法
WO2022105611A1 (zh) * 2021-06-29 2022-05-27 聚好看科技股份有限公司 一种心跳超时检测方法、服务器及电子设备
CN114553778A (zh) * 2022-02-25 2022-05-27 杭州网易云音乐科技有限公司 心跳控制方法及装置、存储介质、电子设备
CN115103001A (zh) * 2022-05-10 2022-09-23 航天国政信息技术(北京)有限公司 一种通信方法、装置及电子设备
CN115334141A (zh) * 2022-08-03 2022-11-11 上海艺赛旗软件股份有限公司 一种基于心跳机制的双向数据传输系统、方法及装置
CN115460227A (zh) * 2022-11-14 2022-12-09 成都怡康科技有限公司 同步数据的方法、装置、系统、计算机设备及存储介质
CN115987854A (zh) * 2022-11-30 2023-04-18 广州广电运通信息科技有限公司 网络连接的调节方法、设备、系统及存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115529164A (zh) * 2022-08-30 2022-12-27 中电云数智科技有限公司 一种waf旁路部署系统和方法
CN115134237A (zh) * 2022-08-30 2022-09-30 建信金融科技有限责任公司 数据更新方法、心跳检测方法、装置、设备及介质
CN116614512B (zh) * 2023-02-21 2024-04-26 北京友友天宇系统技术有限公司 分布式群组通信的强一致性群组视图管理方法、装置和设备
CN116755464B (zh) * 2023-05-17 2024-04-16 贵州师范学院 一种基于物联网的移动机器人的控制方法
CN117294750B (zh) * 2023-11-27 2024-03-01 杭州涂鸦信息技术有限公司 调整mqtt心跳频率的方法和装置

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774479A (en) * 1995-03-30 1998-06-30 Motorola, Inc. Method and system for remote procedure call via an unreliable communication channel using multiple retransmission timers
US20020152446A1 (en) * 2001-04-13 2002-10-17 Fleming Roger A. Adaptive heartbeats
CN101106535A (zh) * 2007-08-14 2008-01-16 华为技术有限公司 一种实现心跳机制的方法、服务器和系统
US7323991B1 (en) * 2005-05-12 2008-01-29 Exavera Technologies Incorporated System and method for locating and communicating with personnel and equipment in a facility
US20140066063A1 (en) * 2012-08-30 2014-03-06 Samsung Electronics Co., Ltd. Heartbeat period determination method and apparatus for push service in wireless network
CN104426692A (zh) * 2013-08-26 2015-03-18 联想(北京)有限公司 一种信息处理方法,一种装置及网络服务器
CN104601376A (zh) * 2015-01-07 2015-05-06 北京华为数字技术有限公司 心跳报文发送方法及装置
CN105245531A (zh) * 2015-10-21 2016-01-13 北京捷思锐科技股份有限公司 一种掉线检测方法、装置及服务器
US20160337223A1 (en) * 2014-02-04 2016-11-17 Distrix Networks Ltd. Bandwidth and latency estimation in a communication network
CN106301969A (zh) * 2016-10-25 2017-01-04 广东亿迅科技有限公司 Http长链接的管理方法及系统
CN106685755A (zh) * 2016-12-12 2017-05-17 上海斐讯数据通信技术有限公司 网络竞标的控制方法、系统及网络竞标平台
CN109905259A (zh) * 2017-12-08 2019-06-18 中国电信股份有限公司 通信连接维持方法、系统和相关设备
CN110661673A (zh) * 2018-06-28 2020-01-07 网宿科技股份有限公司 一种心跳检测的方法及装置
CN110740073A (zh) * 2018-07-20 2020-01-31 阿里巴巴集团控股有限公司 服务等级的计算方法、装置和系统
CN111698098A (zh) * 2019-03-15 2020-09-22 北京京东尚科信息技术有限公司 通信方法、装置和计算机可读存储介质
CN113001590A (zh) * 2021-03-22 2021-06-22 深圳市普渡科技有限公司 机器人故障恢复方法、装置、设备和计算机可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762546B2 (en) * 2011-12-13 2014-06-24 Motorola Mobility Llc Method and apparatus for adaptive network heartbeat message for TCP channel
CN105553768B (zh) * 2015-12-15 2018-11-09 浙江工商大学 一种基于自适应超时时间的sdn控制器故障检测方法
CN112235151B (zh) * 2020-08-27 2022-02-11 北京计算机技术及应用研究所 一种基于时间序列预测的自适应心跳检测方法
CN113472606B (zh) * 2021-06-29 2022-09-30 聚好看科技股份有限公司 一种心跳超时检测方法、服务器及电子设备

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774479A (en) * 1995-03-30 1998-06-30 Motorola, Inc. Method and system for remote procedure call via an unreliable communication channel using multiple retransmission timers
US20020152446A1 (en) * 2001-04-13 2002-10-17 Fleming Roger A. Adaptive heartbeats
US7323991B1 (en) * 2005-05-12 2008-01-29 Exavera Technologies Incorporated System and method for locating and communicating with personnel and equipment in a facility
CN101106535A (zh) * 2007-08-14 2008-01-16 华为技术有限公司 一种实现心跳机制的方法、服务器和系统
US20140066063A1 (en) * 2012-08-30 2014-03-06 Samsung Electronics Co., Ltd. Heartbeat period determination method and apparatus for push service in wireless network
CN104426692A (zh) * 2013-08-26 2015-03-18 联想(北京)有限公司 一种信息处理方法,一种装置及网络服务器
US20160337223A1 (en) * 2014-02-04 2016-11-17 Distrix Networks Ltd. Bandwidth and latency estimation in a communication network
CN104601376A (zh) * 2015-01-07 2015-05-06 北京华为数字技术有限公司 心跳报文发送方法及装置
CN105245531A (zh) * 2015-10-21 2016-01-13 北京捷思锐科技股份有限公司 一种掉线检测方法、装置及服务器
CN106301969A (zh) * 2016-10-25 2017-01-04 广东亿迅科技有限公司 Http长链接的管理方法及系统
CN106685755A (zh) * 2016-12-12 2017-05-17 上海斐讯数据通信技术有限公司 网络竞标的控制方法、系统及网络竞标平台
CN109905259A (zh) * 2017-12-08 2019-06-18 中国电信股份有限公司 通信连接维持方法、系统和相关设备
CN110661673A (zh) * 2018-06-28 2020-01-07 网宿科技股份有限公司 一种心跳检测的方法及装置
CN110740073A (zh) * 2018-07-20 2020-01-31 阿里巴巴集团控股有限公司 服务等级的计算方法、装置和系统
CN111698098A (zh) * 2019-03-15 2020-09-22 北京京东尚科信息技术有限公司 通信方法、装置和计算机可读存储介质
CN113001590A (zh) * 2021-03-22 2021-06-22 深圳市普渡科技有限公司 机器人故障恢复方法、装置、设备和计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张成俊,: ""电池化成设备的大规模柔性化控制技术研究"", 《中国博士学位论文全文数据库 (工程科技Ⅱ辑)》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022105611A1 (zh) * 2021-06-29 2022-05-27 聚好看科技股份有限公司 一种心跳超时检测方法、服务器及电子设备
CN113821414A (zh) * 2021-11-22 2021-12-21 成都新希望金融信息有限公司 一种服务器保护方法、装置、电子设备及存储介质
CN114143114A (zh) * 2022-01-12 2022-03-04 福建省海峡信息技术有限公司 一种基于智能终端的网络安全通信方法
CN114553778A (zh) * 2022-02-25 2022-05-27 杭州网易云音乐科技有限公司 心跳控制方法及装置、存储介质、电子设备
CN115103001A (zh) * 2022-05-10 2022-09-23 航天国政信息技术(北京)有限公司 一种通信方法、装置及电子设备
CN115103001B (zh) * 2022-05-10 2024-03-08 航天国政信息技术(北京)有限公司 一种通信方法、装置及电子设备
CN115334141A (zh) * 2022-08-03 2022-11-11 上海艺赛旗软件股份有限公司 一种基于心跳机制的双向数据传输系统、方法及装置
CN115460227A (zh) * 2022-11-14 2022-12-09 成都怡康科技有限公司 同步数据的方法、装置、系统、计算机设备及存储介质
CN115987854A (zh) * 2022-11-30 2023-04-18 广州广电运通信息科技有限公司 网络连接的调节方法、设备、系统及存储介质

Also Published As

Publication number Publication date
WO2022105611A1 (zh) 2022-05-27
CN113472606B (zh) 2022-09-30

Similar Documents

Publication Publication Date Title
CN113472606B (zh) 一种心跳超时检测方法、服务器及电子设备
US10462707B2 (en) Data transmission method and apparatus
EP1876758B1 (en) Method for probing the peer-to-peer quality of service (QOS)
US11558302B2 (en) Data transmission method and apparatus
KR101219909B1 (ko) 네트워크 상태에 응답하여 네트워크 통신을 최적화하기 위한 방법 및 시스템
TW201006272A (en) Method and apparatus for maintaining communications connections over a distributed wireless network
US20090245265A1 (en) Communication gateway device and relay method of the same
KR101430032B1 (ko) 물리적 전송 매체의 인터럽션 경우에 있어서 tcp 데이터 전송 프로세스를 향상시키는 방법
CN114422571B (zh) 一种量子通信客户端断开重连系统及方法
JP4503934B2 (ja) サーバ計算機保護装置、サーバ計算機保護方法、サーバ計算機保護プログラム及びサーバ計算機
CN104683259A (zh) Tcp拥塞控制方法及装置
CN114629822A (zh) 链路检测方法、装置、电子设备及存储介质
US11528345B2 (en) Data transmission method and system, and apparatus
CN117751631A (zh) 降低通信设备休眠状态下功耗的方法、装置、设备及介质
US8943362B2 (en) Control and monitoring for fast millimeter-wave link using out-of-band wireless channel
US20070005741A1 (en) Facilitating radio communications in a mobile device
CN113965495A (zh) 终端应用程序的探活方法、装置、电子设备及存储介质
KR100529931B1 (ko) 무선 네트워크망을 통해 통신하는 서버 시스템
JP3693968B2 (ja) 全銀協tcp/ip手順によるファイル転送におけるフロー制御方式及びそのプログラム
KR101933175B1 (ko) 서버와 클라이언트간 통신을 중개하는 중개장치
CN114205405B (zh) 一种bfd报文发送方法、装置、电子设备及存储介质
CN113691882B (zh) 判断网络状况的方法、装置、设备及存储介质
EP4231607A1 (en) Data transmission method and communication apparatus
KR100283478B1 (ko) 단말기간의 마스터/슬레이브 결정시 듀타임값설정 방법
KR100282057B1 (ko) 단말기간의 마스터/슬레이브 결정시 듀타임값설정 방법

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