一种故障检测方法及装置的制造方法

文档序号:10626675阅读:195来源:国知局
一种故障检测方法及装置的制造方法
【专利摘要】本发明提供一种故障检测方法及装置,该方法用于第一设备,包括接收第二设备周期性发送的信息同步报文;在设定时刻到达时,判断所述设定时刻与最近一次接收到所述信息同步报文的时刻之差是否大于设定的超时门限时长;当大于所述超时门限时长时,确定所述第二设备发生故障。本发明实施例中,利用设备间原有的信息同步报文进行故障检测,不需要额外设计新的报文,从而避免了因单独设计保活报文而引入的系统及网络开销。
【专利说明】
一种故障检测方法及装置
技术领域
[0001]本发明涉及通信领域,尤其涉及一种故障检测方法及装置。
【背景技术】
[0002]设备之间很多时候需要信息的共享才能保证特定业务的正常运行。具体地,需要在设备之间传输信息同步报文。一旦其中的某个设备发生故障,则无法继续向其它设备传输信息同步报文,导致设备之间无法进行正常的信息共享,从而影响特定业务的正常运行。
[0003]目前设备之间的故障检测机制,通常单独设计保活报文(也称为心跳报文),基于对保活报文的处理来进行设备的故障检测。
[0004]但是,这引入了较大的系统及网络开销。

【发明内容】

[0005]有鉴于此,本发明提供一种故障检测方法及装置,以减少系统及网络开销。
[0006]具体地,本发明是通过如下技术方案实现的:
[0007]根据本发明实施例的第一方面,提供一种故障检测方法,用于第一设备,包括:
[0008]接收第二设备周期性发送的信息同步报文;
[0009]在设定时刻到达时,判断所述设定时刻与最近一次接收到所述信息同步报文的时刻之差是否大于设定的超时门限时长;
[0010]当大于所述超时门限时长时,确定所述第二设备发生故障。
[0011]根据本发明实施例的第二方面,提供另一种故障检测装置,用于第一设备,包括:
[0012]接收单元,用于接收第二设备周期性发送的信息同步报文;
[0013]判断单元,用于在设定时刻到达时,判断所述设定时刻与最近一次接收到所述信息同步报文的时刻之差是否大于设定的超时门限时长;
[0014]确定单元,用于当大于所述超时门限时长时,确定所述第二设备发生故障。
[0015]本发明实施例中,利用设备间原有的信息同步报文进行故障检测,不需要额外设计新的报文,从而避免了因单独设计保活报文而引入的系统及网络开销。
【附图说明】
[0016]图1是本发明一种应用场景的示意图;
[0017]图2是本发明故障检测方法的一个实施例流程图;
[0018]图3是本发明故障检测方法的另一个实施例流程图;
[0019]图4是本发明故障检测装置所在设备的一种硬件结构图;
[0020]图5是本发明故障检测装置的一个实施例框图。
【具体实施方式】
[0021]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0022]在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0023]应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0024]参照图1所示的应用场景,第一设备和第二设备之间可以以有线或无线的方式进行通信。第一设备和第二设备之间可以通过各种类型的网络进行通信。第一设备和第二设备需要定时同步它们之间的信息,以便业务处理具有实时性。以第二设备将自身信息同步给第一设备为例,第二设备可以通过信息同步报文,将自身信息同步给第一设备。
[0025]以第一设备和第二设备均为全局负载均衡设备、二者之间通过骨干网络进行通信为例,第一设备可以为进行全局负载均衡的主设备,需要收集包括第二设备在内的多台邻居设备及自身对域名的解析记录、关联的服务器信息、关联的链路信息,并将所有数据汇总,在有DNS请求时根据汇总的数据对各负载均衡设备提供的解析策略进行算法筛选,选出最优的解析记录的地址回复给请求域名的客户。由此,作为邻居设备,第二设备可以将自身信息实时同步给第一设备。
[0026]图2是本发明故障检测方法的一个实施例流程图,参照图2,本实施例中的方法用于第一设备,包括如下步骤:
[0027]步骤S201,接收第二设备周期性发送的信息同步报文。
[0028]本实施例中,第二设备可以以设定周期向第一设备发送信息同步报文,也就是每隔该设备周期向第一设备发送一次信息同步报文,以便将自身信息同步给第一设备。可以结合信息同步数据量和实时性需求来设计该设定周期的大小。以第一设备和第二设备均为全局设备为例,因为全局设备间信息同步的数据量较大,间隔选取太短将会耗费大量设备性能来处理状态报文,而时间太长信息实时性较差不能及时根据不同负载均衡设备间的真实状态对业务流量进行调度,则综合这些方面,该设定周期可以设定为3秒。
[0029]第一设备接收到报文时,可以根据接收到的报文更新自身维护的第一设备信息。
[0030]第一设备可以维护接收时刻参数值,在首次接收到第二设备发来的信息同步报文时,将该参数值设置为该报文的接收时刻,以后每次接收到第二设备发来的信息同步报文,就将该参数值更新为该次接收信息同步报文的时刻。
[0031]第一设备可以在某次接收到第二设备发来的信息同步报文时或者在此之前(如与第二设备之间用于传输信息同步报文的通道建立完成时)启动一个定时器,该定时器开始计时,并在计时时长达到设定时长时超时。
[0032]步骤S202,在设定时刻到达时,判断所述设定时刻与最近一次接收到所述信息同步报文的时刻之差是否大于设定的超时门限时长。
[0033]本步骤中,当定时器超时时,意味着设定时刻到达,此时第一设备可以提取该参数值,并判断当前时刻与提取出的时刻之差是否大于设定的超时门限时长。
[0034]该超时门限时长可以设定为大于该设定周期的某个值,例如该设定周期的N倍(N大于I)。如果当前时刻与提取出的时刻之差大于该超时门限时长,则表明已经有连续的N个保活报文没有接收到,即可认定第二设备出现故障;否则,重新启动该定时器,也就是将设定时刻推迟该设定时长,以便在推迟后的设定时刻到达时(也就是重启后的该定时器超时时)进行下一次的判断。
[0035]该超时门限时长的设定不能太短,设定得太短可能导致误将网络或无线链路中的延迟或丢包误认为设备出现故障;也不能设定得太长,设定得太长将导致第二设备故障发现得较慢。仍以第一设备和第二设备均为全局设备为例,在该设定周期设定为3秒的情况下,可以将N设定为5 (也就是该设定时长为15秒),即允许有5个报文的容错缓冲。
[0036]该设定时长可以小于该设定周期,以便在两两相邻报文到达时刻之间都能做一次判断,保证故障检测的实时性,且设定时长设定得越小,故障检测的实时性越强。例如,与上述该设定周期设定为3秒、N设定为5相应,该设定时长可以设定为I秒。
[0037]步骤S203,当大于所述超时门限时长时,确定所述第二设备发生故障。
[0038]本步骤中,如果当前时刻与提取出的时刻之差大于该超时门限时长,则则可以确定第二设备发生故障,具体可以表现为:第一设备清除已经缓存的第二设备信息,或者,第一设备进行针对第二设备的故障处理(如告警)。
[0039]本实施例中,由于利用设备间原有的信息同步报文进行故障检测,不需要额外设计新的报文,从而避免了因单独设计保活报文而引入的系统及网络开销。
[0040]图3是本发明故障检测方法的另一个实施例流程图,参照图2,本实施例中的方法是从第一设备对第二设备进行故障检测的角度来描述的,包括如下步骤:
[0041]步骤S301,第一设备与第二设备之间建立TCP连接。
[0042]本实施例中,第一设备和第二设备均为全局负载均衡设备。第二设备为第一设备的邻居设备。
[0043]第一设备与第二设备之间建立TCP连接,该TCP连接作为信息传输通道,用于二者之间传输信息同步报文。
[0044]步骤S302,TCP连接建立后,第一设备启动定时器(设定时长为I秒),第二设备每隔3秒向第一设备发送一次信息同步报文。
[0045]TCP连接建立后,第一设备启动定时器函数。
[0046]第二设备发送信息同步报文的周期可以设置为3秒,定时器函数中定时器的设定时长可以设置为I秒。
[0047]首次接收到第二设备发送的信息同步报文时,第一设备将自身维护的接收时刻参数值设置为该报文的接收时刻,并存储第二设备的信息。此后每次接收到第二设备发送的信息同步报文,第一设备都会将该参数值更新为该报文的接收时刻,并存储第二设备的信息。
[0048]每次定时器超时时,第一设备的定时器函数都会判断最近一次接收到第二设备发送的信息同步报文的时刻距今是否已经超时门限时长,以此进行第二设备是否故障的判定。
[0049]步骤S303,第一设备在定时器超时时,判断当前时刻与最近一次接收到第二设备发送的信息同步报文的时刻之差是否大于15秒,如果是,则执行步骤S304 ;否则,执行步骤S305o
[0050]超时门限时长可以设置为第二设备发送信息同步报文的周期的整数倍,例如2?5倍,即允许有2?5个报文的容错缓冲,避免将正常的报文丢失误认做第二设备发生故障。
[0051]步骤S304,第一设备主动清除已缓存的第二设备的信息,并做相应的故障处理。
[0052]第一设备的定时器函数判定当前时刻与最近一次接收到第二设备发送的信息同步报文的时刻之差大于15秒时,可以认为第二设备出现故障,生成故障指示信息并将故障指示信息发送给第二设备信息的维护模块,使得该维护模块清除已经缓存的第二设备信息,然后,进行相应的故障处理,例如,将故障指示信息发送给告警模块,使得该告警模块进行针对第二设备的故障告警。
[0053]步骤S305,第一设备重新启动定时器,并在定时器超时时返回执行步骤S303。
[0054]第一设备将自身信息同步给第二设备以及第二设备据此进行第一设备的故障检测的方式与上述类似,在此不再赘述。
[0055]通过本实施例,将设备间原有的信息同步报文复用为保活报文,以供设备间进行故障检测,不需要额外设计新的报文,从而避免了因单独设计保活报文而引入的系统及网络开销。
[0056]与前述故障检测方法的实施例相对应,本发明还提供了故障检测装置的实施例。
[0057]本发明提供的故障检测装置的实施例可以应用在具有硬件结构的设备上,该设备可以为网络设备或管理服务器。该装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本发明故障检测装置所在设备的一种硬件结构图,除了图4所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中故障检测装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等,对此图4中不再详细示出。
[0058]图5是本发明故障检测装置的一个实施例框图,参照图5,本实施例中的故障检测装置,用于第一设备,包括接收单元501、判断单元502和确定单元503 ;
[0059]其中,接收单元501,用于接收第二设备周期性发送的信息同步报文;
[0060]判断单元502,用于在设定时刻到达时,判断所述设定时刻与最近一次接收到所述信息同步报文的时刻之差是否大于设定的超时门限时长;
[0061]确定单元503,用于当大于所述超时门限时长时,确定所述第二设备发生故障。
[0062]其中,所述第一设备和所述第二设备均可以为全局负载均衡设备。
[0063]所述超时门限时长可以为所述第二设备发送所述信息同步报文的周期的设定数目倍,所述设定数目可以为大于I的自然数。
[0064]在一个可选的实现方式中,所述故障检测装置还可以包括:
[0065]推迟单元,用于当不大于所述超时门限时长时,将所述设定时刻推迟设定时长。
[0066]其中,所述设定时长可以小于所述第二设备发送所述信息同步报文的周期。
[0067]在另一个可选的实现方式中,所述判断单元可以包括:
[0068]设置子单元,用于每次接收到所述第二设备发送的所述信息同步报文时,将所述最近一次接收到所述信息同步报文的时刻设置为该次接收到所述信息同步报文的时刻。
[0069]上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0070]对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0071]由上述实施例可见,由于利用设备间原有的信息同步报文进行故障检测,不需要额外设计新的报文,从而避免了因单独设计保活报文而引入的系统及网络开销。
[0072]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【主权项】
1.一种故障检测方法,用于第一设备,其特征在于,包括: 接收第二设备周期性发送的信息同步报文; 在设定时刻到达时,判断所述设定时刻与最近一次接收到所述信息同步报文的时刻之差是否大于设定的超时门限时长; 当大于所述超时门限时长时,确定所述第二设备发生故障。2.根据权利要求1所述的方法,其特征在于,还包括: 当不大于所述超时门限时长时,将所述设定时刻推迟设定时长。3.根据权利要求2所述的方法,其特征在于,所述设定时长小于所述第二设备发送所述信息同步报文的周期。4.根据权利要求1、2或3所述的方法,其特征在于,所述超时门限时长为所述第二设备发送所述信息同步报文的周期的设定数目倍,所述设定数目为大于I的自然数。5.根据权利要求1、2或3所述的方法,其特征在于,所述判断所述设定时刻与最近一次接收到所述信息同步报文的时刻之差是否大于设定的超时门限时长包括: 每次接收到所述第二设备发送的所述信息同步报文时,将所述最近一次接收到所述信息同步报文的时刻设置为该次接收到所述信息同步报文的时刻。6.根据权利要求1、2或3所述的方法,其特征在于,所述第一设备和所述第二设备均为全局负载均衡设备。7.一种故障检测装置,用于第一设备,其特征在于,包括: 接收单元,用于接收第二设备周期性发送的信息同步报文; 判断单元,用于在设定时刻到达时,判断所述设定时刻与最近一次接收到所述信息同步报文的时刻之差是否大于设定的超时门限时长; 确定单元,用于当大于所述超时门限时长时,确定所述第二设备发生故障。8.根据权利要求7所述的装置,其特征在于,还包括: 推迟单元,用于当不大于所述超时门限时长时,将所述设定时刻推迟设定时长。9.根据权利要求7所述的装置,其特征在于,所述判断单元包括: 设置子单元,用于每次接收到所述第二设备发送的所述信息同步报文时,将所述最近一次接收到所述信息同步报文的时刻设置为该次接收到所述信息同步报文的时刻。10.根据权利要求7所述的方法,其特征在于,所述第一设备和所述第二设备均为全局负载均衡设备。
【文档编号】H04L12/24GK105991371SQ201510182232
【公开日】2016年10月5日
【申请日】2015年4月16日
【发明人】屈国军
【申请人】杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1