一种心跳间隔自动调整的方法和网关设备、服务器的制造方法

文档序号:7811942阅读:280来源:国知局
一种心跳间隔自动调整的方法和网关设备、服务器的制造方法
【专利摘要】本发明公开了一种心跳间隔自动调整的方法,所述方法包括:检测网关设备的当前工作状态,且根据检测到的网关设备的当前工作状态,确定网关设备下一次心跳包发送的间隔时间,并将确定的下一次心跳包发送的间隔时间携带至当前心跳包中;其中,工作状态包括繁忙、正常和空闲;以及待当前心跳包发送的间隔时间到达时,将当前心跳包发送给对侧服务器。本发明还公开了一种网关设备、服务器以及远程网关通信系统。实施本发明实施例,能够自动调整心跳包发送频率,使得网关设备在繁忙或空闲时均能确保发送的心跳包被服务器接收,从而避免服务器误操作。
【专利说明】—种心跳间隔自动调整的方法和网关设备、服务器

【技术领域】
[0001]本发明涉及通信【技术领域】和工业自动化网络控制系统领域,尤其涉及一种心跳间隔自动调整的方法和网关设备、服务器及远程网关通信系统。

【背景技术】
[0002]在远程网关与服务器互联系统中,网关设备需要定期向服务器发送心跳包,服务器会根据接收心跳包的情况来确定网关设备的工作状态(在线或者离线)。在某些情况下,由于连接网关设备的客户端程序和PLC (Programmable Logic Controller,可编程逻辑控制器)过多,从而导致网关设备通信繁忙,发送心跳包的任务一直不能执行。一旦服务器超过一定时间没有接收到网关设备发送的心跳包,就会误认为该网关设备已断开连接而停止本服务器上与该网关设备关联的服务。
[0003]发明人发现,现有技术中心跳包的发送方式均采用固定周期时间的发送方式,其缺点在于:在网关设备繁忙时定期心跳包的发送不能执行,从而导致服务器误操作。


【发明内容】

[0004]本发明所要解决的技术问题在于提供一种心跳间隔自动调整的方法和网关设备、服务器及远程网关通信系统,能够自动调整心跳包发送频率,使得网关设备在繁忙或空闲时均能确保发送的心跳包被服务器接收,从而避免服务器误操作。
[0005]为了解决上述技术问题,本发明实施例提供了一种心跳间隔自动调整的方法,所述方法包括:
检测网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中;其中,所述工作状态包括繁忙、正常和空闲;以及
待所述当前心跳包发送的间隔时间到达时,将所述当前心跳包发送给对侧服务器。
[0006]其中,所述检测网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中的具体步骤包括:
当检测到当前与网关设备相连的客户端数目大于预设的第一阈值时,确定所述网关设备的当前工作状态为繁忙,且在当前心跳包的发送的间隔时间上增加预定步幅,获得下一次心跳包发送的间隔时间,并将所述增加了预定步幅的下一次心跳包发送的间隔时间携带至所述当前心跳包中。
[0007]其中,所述检测网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中的具体步骤包括:
当检测到当前与网关设备相连的客户端数目小于预设的第二阈值时,确定所述网关设备的当前工作状态为空闲,且在当前心跳包的发送的间隔时间上减少预定步幅,获得下一次心跳包发送的间隔时间,并将所述减少了预定步幅的下一次心跳包发送的间隔时间携带至所述当前心跳包中。
[0008]其中,所述检测网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中的具体步骤包括:
当检测到当前与网关设备相连的客户端数目位于所述预设的第二阈值和所述预设的第一阈值之间时,确定所述网关设备的当前工作状态为正常,且保持下一次心跳包发送的间隔时间与当前心跳包的发送的间隔时间相等,并将所述下一次心跳包发送的间隔时间携带至所述当前心跳包中。
[0009]本发明实施例又提供了一种心跳间隔自动调整的方法,所述方法包括:
接收并解析对侧网关设备发送的当前心跳包,获得所述当前心跳包中下一次心跳包发送的间隔时间;以及
以所述获得的下一次心跳包发送的间隔时间作为检测周期时间,确定在所述检测周期时间到达时,是否收到来自所述对侧网关设备发送的下一次心跳包,并确定所述对侧网关设备的状态。
[0010]其中,所述以所述获得的下一次心跳包发送的间隔时间作为检测周期时间,确定在所述检测周期时间到达时,是否收到来自所述对侧网关设备发送的下一次心跳包,并确定所述对侧网关设备的状态的具体步骤包括:
在所述检测周期时间达到时,如果检测到已收到来自所述对侧网关设备发送的下一次心跳包,则判定所述对侧网关设备处于在线状态,并继续接收和解析所述对侧网关设备发送的下一次心跳包;
在所述检测周期时间达到时,如果检测到未收到来自所述对侧网关设备发送的下一次心跳包,则判定所述对侧网关设备处于离线状态,并终止与所述对侧网关设备相关联的服务。
[0011]本发明实施例又提供了一种心跳间隔自动调整的方法,所述方法在网关设备和与所述网关设备相连的服务器上实现,包括:
检测所述网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中;所述工作状态包括繁忙、正常和空闲;
待所述当前心跳包发送的间隔时间到达时,所述网关设备将所述当前心跳包发送给服务器;
所述服务器接收并解析所述网关设备发送的当前心跳包,获得所述当前心跳包中所述下一次心跳包发送的间隔时间;以及
所述服务器以所述获得的下一次心跳包发送的间隔时间作为检测周期时间,确定在所述检测周期时间到达时,是否收到来自所述网关设备发送的下一次心跳包,并确定所述网关设备的状态。
[0012]其中,所述检测所述网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中的具体步骤包括: 当检测到当前与所述网关设备相连的客户端数目大于预设的第一阈值时,确定所述网关设备的当前工作状态为繁忙,且在当前心跳包的发送的间隔时间上增加预定步幅,获得下一次心跳包发送的间隔时间,并将所述增加了预定步幅的下一次心跳包发送的间隔时间携带至所述当前心跳包中。
[0013]其中,所述检测所述网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中的具体步骤包括:
当检测到当前与所述网关设备相连的客户端数目小于预设的第二阈值时,确定所述网关设备的当前工作状态为空闲,且在当前心跳包的发送的间隔时间上减少预定步幅,获得下一次心跳包发送的间隔时间,并将所述减少了预定步幅的下一次心跳包发送的间隔时间携带至所述当前心跳包中。
[0014]其中,所述检测所述网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中的具体步骤包括:
当检测到当前与所述网关设备相连的客户端数目位于所述预设的第二阈值和所述预设的第一阈值之间时,确定所述网关设备的当前工作状态为正常,且保持下一次心跳包发送的间隔时间与当前心跳包的发送的间隔时间相等,并将所述下一次心跳包发送的间隔时间携带至所述当前心跳包中。
[0015]其中,所述以所述获得的下一次心跳包发送的间隔时间作为检测周期时间,确定在所述检测周期时间到达时,是否收到来自所述网关设备发送的下一次心跳包,并确定所述网关设备的状态的具体步骤包括:
在所述检测周期时间达到时,如果检测到已收到来自所述网关设备发送的下一次心跳包,则判定所述网关设备处于在线状态,并继续接收和解析所述网关设备发送的下一次心跳包;
在所述检测周期时间达到时,如果检测到未收到来自所述网关设备发送的下一次心跳包,则判定所述网关设备处于离线状态,并终止与所述网关设备相关联的服务。
[0016]本发明实施例还提供了一种网关设备,所述网关设备包括检测及携带间隔时间单元和发送单元;其中,
所述检测及携带间隔时间单元,用于检测网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中;其中,所述工作状态包括繁忙、正常和空闲;
所述发送单元,用于待所述当前心跳包发送的间隔时间到达时,将所述当前心跳包发送给对侧服务器。
[0017]其中,所述检测及携带间隔时间单元包括第一检测及携带间隔时间模块,所述第一检测及携带间隔时间模块用于当检测到当前与网关设备相连的客户端数目大于预设的第一阈值时,确定所述网关设备的当前工作状态为繁忙,且在当前心跳包的发送的间隔时间上增加预定步幅,获得下一次心跳包发送的间隔时间,并将所述增加了预定步幅的下一次心跳包发送的间隔时间携带至所述当前心跳包中。
[0018]其中,所述检测及携带间隔时间单元还包括第二检测及携带间隔时间模块,所述第二检测及携带间隔时间模块用于当检测到当前与网关设备相连的客户端数目小于预设的第二阈值时,确定所述网关设备的当前工作状态为空闲,且在当前心跳包的发送的间隔时间上减少预定步幅,获得下一次心跳包发送的间隔时间,并将所述减少了预定步幅的下一次心跳包发送的间隔时间携带至所述当前心跳包中。
[0019]其中,所述检测及携带间隔时间单元还包括第三检测及携带间隔时间模块,所述第三检测及携带间隔时间模块用于当检测到当前与网关设备相连的客户端数目位于所述预设的第二阈值和所述预设的第一阈值之间时,确定所述网关设备的当前工作状态为正常,且保持下一次心跳包发送的间隔时间与当前心跳包的发送的间隔时间相等,并将所述下一次心跳包发送的间隔时间携带至所述当前心跳包中。
[0020]本发明实施例还提供了一种服务器,所述服务器包括接收及获取单元和检测及判断单元;其中,
所述接收及获取单元,用于接收并解析对侧网关设备发送的当前心跳包,获得所述当前心跳包中下一次心跳包发送的间隔时间;
所述检测及判断单元,用于以所述获得的下一次心跳包发送的间隔时间作为检测周期时间,确定在所述检测周期时间到达时,是否收到来自所述对侧网关设备发送的下一次心跳包,并确定所述对侧网关设备的状态。
[0021]其中,所述检测及判断单元包括继续接收模块和终止服务模块;其中,
所述继续接收模块,用于在所述检测周期时间达到时,如果检测到已收到来自所述对侧网关设备发送的下一次心跳包,则判定所述对侧网关设备处于在线状态,并继续接收和解析所述对侧网关设备发送的下一次心跳包;
所述终止服务模块,用于在所述检测周期时间达到时,如果检测到未收到来自所述对侧网关设备发送的下一次心跳包,则判定所述对侧网关设备处于离线状态,并终止与所述对侧网关设备相关联的服务。
[0022]本发明实施例还提供了一种远程网关通信系统,包括前述的网关设备和前述的服务器。
[0023]实施本发明实施例,具有如下有益效果:
在本发明实施例中,由于网关设备能够根据不同的工作状态(如繁忙或空闲)自动调整心跳包的发送频率(如繁忙时增加下一次心跳包发送的间隔时间,即降低发送频率,空闲时减少下一次心跳包发送的间隔时间,即增加发送频率),并在心跳包中预先告知下一次心跳包发送的间隔时间,使得服务器能周期性的接收心跳包并对所接收的心跳包进行超时检测,从而避免服务器误操作,确保网关设备与服务器的正常通信,提高了二者之间通信的稳定性。

【专利附图】

【附图说明】
[0024]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,根据这些附图获得其他的附图仍属于本发明的范畴。
[0025]图1为本发明实施例提供的心跳间隔自动调整的方法的一个实施例的流程图;
图2为本发明实施例提供的心跳间隔自动调整的方法的另一个实施例的流程图;
图3为本发明实施例提供的心跳间隔自动调整的方法的又一个实施例的流程图;
图4为本发明实施例提供的网关设备的一个实施例的结构示意图;
图5为本发明实施例提供的服务器的一个实施例的结构示意图;
图6为本发明实施例提供的远程网关通信系统的一个实施例的结构示意图。

【具体实施方式】
[0026]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0027]如图1所示,为本发明提供的一种心跳间隔自动调整的方法的实施例,在该实施例中,所述方法示出了网关设备侧的处理流程,具体包括:
步骤S101、检测网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中;其中,所述工作状态包括繁忙、正常和空闲;
具体过程为,当检测到当前与网关设备相连的客户端数目大于预设的第一阈值时,确定网关设备的当前工作状态为繁忙;当检测到当前与网关设备相连的客户端数目小于预设的第二阈值时,确定网关设备的当前工作状态为空闲;可以理解的是,当检测到当前与网关设备相连的客户端数目位于第一阈值和第二阈值之间时,确定网关设备的当前工作状态为正常。作为一个例子,将第一阈值设置为500,第二阈值设置为100,因此网关设备正常工作状态时所连接的客户端数目会位于[100,500]之间。
[0028]当网关设备的当前工作状态为正常时,保持下一次心跳包发送的间隔时间与当前心跳包的发送的间隔时间相等,并将下一次心跳包发送的间隔时间携带至当前心跳包中。作为一个例子,与网关设备相连的客户端数目为200,且网关设备上当前心跳包发送的间隔时间为30s,将下一次心跳包发送的间隔时间设置与当前心跳包发送的间隔时间相等的30s,并将下一次心跳包发送的间隔时间作为一参数及将30s作为该参数对应的数值携带至当前心跳包中。
[0029]当网关设备的当前工作状态为繁忙时,在当前心跳包的发送的间隔时间上增加预定步幅,获得下一次心跳包发送的间隔时间,并将增加了预定步幅的下一次心跳包发送的间隔时间携带至当前心跳包中。作为一个例子,与网关设备相连的客户端数目为510,为了避免该网关设备上当前心跳包在30s的间隔时间无法发送心跳包,因此在该网关设备当前心跳包的发送的间隔时间30s上增加预定步幅,如30s,获得下一次心跳包发送的间隔时间60s,并在对应参数为下一次心跳包发送的间隔时间中修改其参数值为60s后携带至当前心跳包中。
[0030]当网关设备的当前工作状态为空闲时,在当前心跳包的发送的间隔时间上减少预定步幅,获得下一次心跳包发送的间隔时间,并将减少了预定步幅的下一次心跳包发送的间隔时间携带至当前心跳包中。作为一个例子,与网关设备相连的客户端数目为90,为了增加该网关设备上当前心跳包的发送频率,因此在该网关设备当前心跳包的发送的间隔时间30s上减少预定步幅,如10s,获得下一次心跳包发送的间隔时间20s,并在对应参数为下一次心跳包发送的间隔时间中修改其参数值为20s后携带至当前心跳包中。
[0031]步骤S102、待所述当前心跳包发送的间隔时间到达时,将所述当前心跳包发送给对侧服务器。
[0032]具体过程为,网关设备根据工作状态自动调整当前心跳包发送的间隔时间,待当前心跳包发送的间隔时间到达时,网关设备的当前心跳包会发送至对侧服务器,供对侧服务器解析,对侧服务器以获得当前心跳包中下一次心跳包发送的间隔时间为约定时间进行超时检测。应当说明的是,当前心跳包发送的间隔时间与下一次心跳包发送的间隔时间的区别在于,下一次心跳包会以所增加的下一次心跳包发送的间隔时间作为发送到达时间,替代当前心跳包发送的间隔时间,可以与当前心跳包发送的间隔时间相同或不同(如繁忙时增加了预定步幅或空闲时减少了预定步幅),因此下一个心跳包到来的时间可能没有改变或缩短或增加。
[0033]如图2所示,为本发明提供的另一种心跳间隔自动调整的方法的实施例,在该实施例中,所述方法示出了服务器侧的处理流程,具体包括:
步骤S201、接收并解析对侧网关设备发送的当前心跳包,获得所述当前心跳包中下一次心跳包发送的间隔时间;
具体为,接收并解析对侧网关设备发送的当前心跳包,且在当前心跳包中解析获得参数下一次心跳包发送的间隔时间中的参数值。
[0034]步骤S202、以所述获得的下一次心跳包发送的间隔时间作为检测周期时间,确定在所述检测周期时间到达时,是否收到来自所述对侧网关设备发送的下一次心跳包,并确定所述对侧网关设备的状态。
[0035]具体过程为,以所获得的下一次心跳包发送的间隔时间作为检测周期时间,在检测周期时间达到时,如果检测到已收到来自对侧网关设备发送的下一次心跳包,则判定对侧网关设备处于在线状态,并继续接收和解析对侧网关设备发送的下一次心跳包;在检测周期时间达到时,如果检测到未收到来自对侧网关设备发送的下一次心跳包,则判定对侧网关设备处于离线状态,并终止与对侧网关设备相关联的服务。
[0036]如图3所示,为本发明提供的又一种心跳间隔自动调整的方法的实施例,在该实施例中,所述方法在网关设备和与所述网关设备相连的服务器上实现,示出了网关设备侧和服务器侧的处理流程,具体包括:
步骤S301、检测所述网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中;所述工作状态包括繁忙、正常和空闲;
具体过程为,当检测到当前与网关设备相连的客户端数目大于预设的第一阈值时,确定网关设备的当前工作状态为繁忙,且在当前心跳包的发送的间隔时间上增加预定步幅,获得下一次心跳包发送的间隔时间,并将增加了预定步幅的下一次心跳包发送的间隔时间携带至当前心跳包中;或
当检测到当前与网关设备相连的客户端数目小于预设的第二阈值时,确定网关设备的当前工作状态为空闲,且在当前心跳包的发送的间隔时间上减少预定步幅,获得下一次心跳包发送的间隔时间,并将减少了预定步幅的下一次心跳包发送的间隔时间携带至所述当前心跳包中;或
当检测到当前与网关设备相连的客户端数目位于预设的第二阈值和预设的第一阈值之间时,确定网关设备的当前工作状态为正常,且保持下一次心跳包发送的间隔时间与当前心跳包的发送的间隔时间相等,并将下一次心跳包发送的间隔时间携带至所述当前心跳包中。
[0037]步骤S302、待所述当前心跳包发送的间隔时间到达时,所述网关设备将所述当前心跳包发送给服务器;
步骤S303、所述服务器接收并解析所述网关设备发送的当前心跳包,获得所述当前心跳包中所述下一次心跳包发送的间隔时间;
具体为,服务器接收并解析网关设备发送的当前心跳包,且在当前心跳包中解析获得参数下一次心跳包发送的间隔时间中的参数值。
[0038]步骤S304、所述服务器以所述获得的下一次心跳包发送的间隔时间作为检测周期时间,确定在所述检测周期时间到达时,是否收到来自所述网关设备发送的下一次心跳包,并确定所述网关设备的状态。
[0039]具体过程为,服务器以所获得的下一次心跳包发送的间隔时间作为检测周期时间,在检测周期时间达到时,如果检测到已收到来自网关设备发送的下一次心跳包,则判定网关设备处于在线状态,并继续接收和解析网关设备发送的下一次心跳包;在检测周期时间达到时,如果检测到未收到来自网关设备发送的下一次心跳包,则判定网关设备处于离线状态,并终止与网关设备相关联的服务。
[0040]如图4所示,为本发明提供的一种网关设备的实施例,在该实施例中,所述网关设备包括检测及携带间隔时间单元410和发送单元420 ;其中,
所述检测及携带间隔时间单元410,用于检测网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中;其中,所述工作状态包括繁忙、正常和空闲;
所述发送单元420,用于待所述当前心跳包发送的间隔时间到达时,将所述当前心跳包发送给对侧服务器。
[0041]在本发明实施例中,检测及携带间隔时间单元410包括第一检测及携带间隔时间模块4101,第一检测及携带间隔时间模块4101用于当检测到当前与网关设备相连的客户端数目大于预设的第一阈值时,确定网关设备的当前工作状态为繁忙,且在当前心跳包的发送的间隔时间上增加预定步幅,获得下一次心跳包发送的间隔时间,并将增加了预定步幅的下一次心跳包发送的间隔时间携带至当前心跳包中。
[0042]检测及携带间隔时间单元410还包括第二检测及携带间隔时间模块4102,第二检测及携带间隔时间模块4102用于当检测到当前与网关设备相连的客户端数目小于预设的第二阈值时,确定网关设备的当前工作状态为空闲,且在当前心跳包的发送的间隔时间上减少预定步幅,获得下一次心跳包发送的间隔时间,并将减少了预定步幅的下一次心跳包发送的间隔时间携带至当前心跳包中。
[0043]检测及携带间隔时间单元410还包括第三检测及携带间隔时间模块4103,第三检测及携带间隔时间模块4103用于当检测到当前与网关设备相连的客户端数目位于预设的第二阈值和预设的第一阈值之间时,确定网关设备的当前工作状态为正常,且保持下一次心跳包发送的间隔时间与当前心跳包的发送的间隔时间相等,并将下一次心跳包发送的间隔时间携带至当前心跳包中。
[0044]如图5所示,为本发明提供的一种服务器的实施例,在该实施例中,所述服务器包括接收及获取单元510和检测及判断单元520 ;其中,
所述接收及获取单元510,用于接收并解析对侧网关设备发送的当前心跳包,获得所述当前心跳包中下一次心跳包发送的间隔时间;
所述检测及判断单元520,用于以所述获得的下一次心跳包发送的间隔时间作为检测周期时间,确定在所述检测周期时间到达时,是否收到来自所述对侧网关设备发送的下一次心跳包,并确定所述对侧网关设备的状态。
[0045]在本发明实施例中,检测及判断单元520包括继续接收模块5201和终止服务模块5202 ;其中,
继续接收模块5201,用于在检测周期时间达到时,如果检测到已收到来自对侧网关设备发送的下一次心跳包,则判定对侧网关设备处于在线状态,并继续接收和解析对侧网关设备发送的下一次心跳包;
终止服务模块5202,用于在检测周期时间达到时,如果检测到未收到来自对侧网关设备发送的下一次心跳包,则判定对侧网关设备处于离线状态,并终止与对侧网关设备相关联的服务。
[0046]如图6所示,本发明提供的一种远程网关通信系统的实施例,在该实施例中,该远程网关通信系统包括如图4中所示的网关设备和如图5中所示的服务器,具体的细节可以参照前述对图4和图5的描述。
[0047]实施本发明实施例,具有如下有益效果:
在本发明实施例中,由于网关设备能够根据不同的工作状态(如繁忙或空闲)自动调整心跳包的发送频率(如繁忙时增加下一次心跳包发送的间隔时间,即降低发送频率,空闲时减少下一次心跳包发送的间隔时间,即增加发送频率),并在心跳包中预先告知下一次心跳包发送的间隔时间,使得服务器能周期性的接收心跳包并对所接收的心跳包进行超时检测,从而避免服务器误操作,确保网关设备与服务器的正常通信,提高了二者之间通信的稳定性。
[0048]值得注意的是,上述装置实施例中,所包括的各个装置单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0049]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如R0M/RAM、磁盘、光盘等。
[0050]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种心跳间隔自动调整的方法,其特征在于,所述方法包括: 检测网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中;其中,所述工作状态包括繁忙、正常和空闲;以及 待所述当前心跳包发送的间隔时间到达时,将所述当前心跳包发送给对侧服务器。
2.如权利要求1所述的方法,其特征在于,所述检测网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中的具体步骤包括: 当检测到当前与网关设备相连的客户端数目大于预设的第一阈值时,确定所述网关设备的当前工作状态为繁忙,且在当前心跳包的发送的间隔时间上增加预定步幅,获得下一次心跳包发送的间隔时间,并将所述增加了预定步幅的下一次心跳包发送的间隔时间携带至所述当前心跳包中。
3.如权利要求1所述的方法,其特征在于,所述检测网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中的具体步骤包括: 当检测到当前与网关设备相连的客户端数目小于预设的第二阈值时,确定所述网关设备的当前工作状态为空闲,且在当前心跳包的发送的间隔时间上减少预定步幅,获得下一次心跳包发送的间隔时间,并将所述减少了预定步幅的下一次心跳包发送的间隔时间携带至所述当前心跳包中。
4.如权利要求1所述的方法,其特征在于,所述检测网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中的具体步骤包括: 当检测到当前与网关设备相连的客户端数目位于所述预设的第二阈值和所述预设的第一阈值之间时,确定所述网关设备的当前工作状态为正常,且保持下一次心跳包发送的间隔时间与当前心跳包的发送的间隔时间相等,并将所述下一次心跳包发送的间隔时间携带至所述当前心跳包中。
5.一种心跳间隔自动调整的方法,其特征在于,所述方法包括: 接收并解析对侧网关设备发送的当前心跳包,获得所述当前心跳包中下一次心跳包发送的间隔时间;以及 以所述获得的下一次心跳包发送的间隔时间作为检测周期时间,确定在所述检测周期时间到达时,是否收到来自所述对侧网关设备发送的下一次心跳包,并确定所述对侧网关设备的状态。
6.如权利要求5所述的方法,其特征在于,所述以所述获得的下一次心跳包发送的间隔时间作为检测周期时间,确定在所述检测周期时间到达时,是否收到来自所述对侧网关设备发送的下一次心跳包,并确定所述对侧网关设备的状态的具体步骤包括: 在所述检测周期时间达到时,如果检测到已收到来自所述对侧网关设备发送的下一次心跳包,则判定所述对侧网关设备处于在线状态,并继续接收和解析所述对侧网关设备发送的下一次心跳包; 在所述检测周期时间达到时,如果检测到未收到来自所述对侧网关设备发送的下一次心跳包,则判定所述对侧网关设备处于离线状态,并终止与所述对侧网关设备相关联的服务。
7.—种心跳间隔自动调整的方法,其特征在于,所述方法在网关设备和与所述网关设备相连的服务器上实现,包括: 检测所述网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中;所述工作状态包括繁忙、正常和空闲; 待所述当前心跳包发送的间隔时间到达时,所述网关设备将所述当前心跳包发送给服务器; 所述服务器接收并解析所述网关设备发送的当前心跳包,获得所述当前心跳包中所述下一次心跳包发送的间隔时间;以及 所述服务器以所述获得的下一次心跳包发送的间隔时间作为检测周期时间,确定在所述检测周期时间到达时,是否收到来自所述网关设备发送的下一次心跳包,并确定所述网关设备的状态。
8.如权利要求7所述的方法,其特征在于,所述检测所述网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中的具体步骤包括: 当检测到当前与所述网关设备相连的客户端数目大于预设的第一阈值时,确定所述网关设备的当前工作状态为繁忙,且在当前心跳包的发送的间隔时间上增加预定步幅,获得下一次心跳包发送的间隔时间,并将所述增加了预定步幅的下一次心跳包发送的间隔时间携带至所述当前心跳包中。
9.如权利要求7所述的方法,其特征在于,所述检测所述网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中的具体步骤包括: 当检测到当前与所述网关设备相连的客户端数目小于预设的第二阈值时,确定所述网关设备的当前工作状态为空闲,且在当前心跳包的发送的间隔时间上减少预定步幅,获得下一次心跳包发送的间隔时间,并将所述减少了预定步幅的下一次心跳包发送的间隔时间携带至所述当前心跳包中。
10.如权利要求7所述的方法,其特征在于,所述检测所述网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中的具体步骤包括: 当检测到当前与所述网关设备相连的客户端数目位于所述预设的第二阈值和所述预设的第一阈值之间时,确定所述网关设备的当前工作状态为正常,且保持下一次心跳包发送的间隔时间与当前心跳包的发送的间隔时间相等,并将所述下一次心跳包发送的间隔时间携带至所述当前心跳包中。
11.如权利要求7所述的方法,其特征在于,所述以所述获得的下一次心跳包发送的间隔时间作为检测周期时间,确定在所述检测周期时间到达时,是否收到来自所述网关设备发送的下一次心跳包,并确定所述网关设备的状态的具体步骤包括: 在所述检测周期时间达到时,如果检测到已收到来自所述网关设备发送的下一次心跳包,则判定所述网关设备处于在线状态,并继续接收和解析所述网关设备发送的下一次心跳包; 在所述检测周期时间达到时,如果检测到未收到来自所述网关设备发送的下一次心跳包,则判定所述网关设备处于离线状态,并终止与所述网关设备相关联的服务。
12.一种网关设备,其特征在于,所述网关设备包括检测及携带间隔时间单元和发送单元;其中, 所述检测及携带间隔时间单元,用于检测网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中;其中,所述工作状态包括繁忙、正常和空闲; 所述发送单元,用于待所述当前心跳包发送的间隔时间到达时,将所述当前心跳包发送给对侧服务器。
13.如权利要求12所述的网关设备,其特征在于,所述检测及携带间隔时间单元包括第一检测及携带间隔时间模块,所述第一检测及携带间隔时间模块用于当检测到当前与网关设备相连的客户端数目大于预设的第一阈值时,确定所述网关设备的当前工作状态为繁忙,且在当前心跳包的发送的间隔时间上增加预定步幅,获得下一次心跳包发送的间隔时间,并将所述增加了预定步幅的下一次心跳包发送的间隔时间携带至所述当前心跳包中。
14.如权利要求12所述的网关设备,其特征在于,所述检测及携带间隔时间单元还包括第二检测及携带间隔时间模块,所述第二检测及携带间隔时间模块用于当检测到当前与网关设备相连的客户端数目小于预设的第二阈值时,确定所述网关设备的当前工作状态为空闲,且在当前心跳包的发送的间隔时间上减少预定步幅,获得下一次心跳包发送的间隔时间,并将所述减少了预定步幅的下一次心跳包发送的间隔时间携带至所述当前心跳包中。
15.如权利要求12所述的网关设备,其特征在于,所述检测及携带间隔时间单元还包括第三检测及携带间隔时间模块,所述第三检测及携带间隔时间模块用于当检测到当前与网关设备相连的客户端数目位于所述预设的第二阈值和所述预设的第一阈值之间时,确定所述网关设备的当前工作状态为正常,且保持下一次心跳包发送的间隔时间与当前心跳包的发送的间隔时间相等,并将所述下一次心跳包发送的间隔时间携带至所述当前心跳包中。
16.一种服务器,其特征在于,所述服务器包括接收及获取单元和检测及判断单元;其中, 所述接收及获取单元,用于接收并解析对侧网关设备发送的当前心跳包,获得所述当前心跳包中下一次心跳包发送的间隔时间; 所述检测及判断单元,用于以所述获得的下一次心跳包发送的间隔时间作为检测周期时间,确定在所述检测周期时间到达时,是否收到来自所述对侧网关设备发送的下一次心跳包,并确定所述对侧网关设备的状态。
17.如权利要求16所述的服务器,其特征在于,所述检测及判断单元包括继续接收模块和终止服务模块;其中, 所述继续接收模块,用于在所述检测周期时间达到时,如果检测到已收到来自所述对侧网关设备发送的下一次心跳包,则判定所述对侧网关设备处于在线状态,并继续接收和解析所述对侧网关设备发送的下一次心跳包; 所述终止服务模块,用于在所述检测周期时间达到时,如果检测到未收到来自所述对侧网关设备发送的下一次心跳包,则判定所述对侧网关设备处于离线状态,并终止与所述对侧网关设备相关联的服务。
18.一种远程网关通信系统,其特征在于,包括如权利要求12至15中任一项所述的网关设备和如权利要求16或17所述的服务器。
【文档编号】H04L29/08GK104243293SQ201410412738
【公开日】2014年12月24日 申请日期:2014年8月21日 优先权日:2014年8月21日
【发明者】刘胜红 申请人:深圳市合信自动化技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1