CN111988191A - 一种分布式通信网络的故障检测方法及装置 - Google Patents
一种分布式通信网络的故障检测方法及装置 Download PDFInfo
- Publication number
- CN111988191A CN111988191A CN201910427289.8A CN201910427289A CN111988191A CN 111988191 A CN111988191 A CN 111988191A CN 201910427289 A CN201910427289 A CN 201910427289A CN 111988191 A CN111988191 A CN 111988191A
- Authority
- CN
- China
- Prior art keywords
- node
- physical link
- service
- physical
- detection
- 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
Links
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/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种分布式通信网络的故障检测方法及装置,用以降低DCN网络业务进程故障检测的开销。该方法包括:第一节点通过第一代理进程向第二代理进程发送第一探测报文,第一探测报文用于判断第一节点中的第一代理进程与第二节点中的第二代理进程之间的物理链路是否故障;第一节点在根据第一探测报文确定物理链路故障时,通过第一代理进程向一个或多个第一业务进程通知物理链路故障的信息;第一节点在确定满足启用条件时,启用第一业务进程向第二业务进程发送第二探测报文,第二探测报文用于判断第一业务进程和第二业务进程之间的逻辑链路是否故障,启用条件包括第一业务进程接收到物理链路故障的信息。
Description
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种分布式通信网络的故障检测方法及装置。
背景技术
分布式通信网络(distributed communication network,DCN)中包括海量节点。每个节点在各自的操作系统上部署了大量的业务进程,这样DCN中会存在海量的业务进程。不同的业务进程之间具有数据通信的诉求,不同的业务进程之间通过网际互联协议(internet protocol,IP)栈建立通信链路,以实现数据通信。
通信链路若发生故障或异常,将会影响业务进程之间的数据通信。为了提高数据通信的可靠性,需要通过故障检测方法来识别链路是否故障或异常。现有技术中,业务进程之间的通信链路的故障检测通过心跳报文来识别。具体的,业务进程1向业务进程2发送心跳报文,业务进程2接收到心跳报文后,会向业务进程1反馈响应,业务进程1收到响应,确定链路正常,否则确定链路异常。
但是在DCN海量业务进程的场景下,每条链路基于心跳报文来探测故障,就会产生海量心跳报文。海量心跳报文的传输和处理会大量占用CPU、内存以及网络带宽等资源,另外若接收端业务进程对心跳报文来不及处理可能会导致故障误判的情况。
发明内容
本申请实施例提供一种,用以解决在DCN网络中检测业务进程之间的链路是否故障占用大量资源以及故障检测准确性较低的问题。
本申请实施例提供的具体技术方案如下:
第一方面,提供一种分布式通信网络的故障检测方法,其中,所述分布式通信网络包括多个节点,所述第一节点和第二节点是所述多个节点中的任意两个节点,第一节点中的第一代理进程与第二节点中的第二代理进程之间具有物理链路,所述第一节点中运行一个或多个第一业务进程,所述第二节点中运行一个或多个第二业务进程,所述第一业务进程和所述第二业务进程之间具有逻辑链路;所述方法包括以下步骤:所述第一节点通过所述第一代理进程向所述第二代理进程发送第一探测报文,所述第一探测报文用于判断所述物理链路是否故障;所述第一节点在根据所述第一探测报文确定所述物理链路故障时,通过所述第一代理进程向所述一个或多个第一业务进程通知所述物理链路故障的信息;所述第一节点在确定满足启用条件时,启用所述第一业务进程向所述第二业务进程发送第二探测报文,所述第二探测报文用于判断所述逻辑链路是否故障,所述启用条件包括所述第一业务进程接收到所述物理链路故障的信息。通过在节点中部署代理进程,能够使得物理链路与逻辑链路分层隔离,有助于避免了大量逻辑链路故障探测中海量探测包带来的开销。另外,分布式系统中包括大量节点,若通过现有的逻辑链路探测故障的方法,当局部节点发生故障时,可能会将故障排查范围扩散到全局节点。通过本申请提供的方法,能够帮助排查局部节点发生物理链路故障,避免故障排查范围扩散到全局节点,提高分布式系统故障检测效率。
在一个可能的设计中,所述启用条件还包括以下一项或多项:所述第一业务进程发送数据报文发生拥塞;所述第一业务进程在设定时间内未接收到所述第二业务进程的数据报文;所述第一业务进程从所述第二业务进程接收到的数据报文发生错误。这样,有助于保证逻辑链路检测激活的及时性。
在一个可能的设计中,可选的判断逻辑链路是否故障的方式为:若在设定时间内第二探测报文连续丢失设定次数,则可以认为逻辑链路有故障。
在一个可能的设计中,所述第一节点通过所述第一代理进程从所述第二代理进程接收第三探测报文;所述第三探测报文用于判断所述物理链路是否故障。这样,能够提高物理链路故障检测的准确度。
在一个可能的设计中,所述第一节点根据所述第一节点中第一物理网口的状态,判断所述物理链路是否故障,其中,所述第一物理网口的状态包括打开状态和关闭状态。这样,能够提高物理链路故障检测的准确度。
在一个可能的设计中,所述第一节点通过所述第一代理进程从所述第二代理进程接收所述第二节点中第二物理网口的状态,根据所述第二物理网口的状态判断所述物理链路是否故障,其中,所述第二物理网口的状态包括打开状态和关闭状态。这样,能够提高物理链路故障检测的准确度。
在一个可能的设计中,所述第一节点确定所述物理链路的质量;所述第一节点根据所述物理链路的质量是否超过质量阈值,来判断所述物理链路是否故障。这样,能够提高物理链路故障检测的准确度。
以上几种判断所述物理链路是否故障可以单独用,也可以结合在一起应用。
在一个可能的设计中,所述第一节点根据所述一个或多个第一业务进程发送的业务数据包的总数和丢错包数,确定所述物理链路的质量。
在一个可能的设计中,所述第一节点针对连续n个时长t中的每一个时长t,确定所述一个或多个第一业务进程发送的业务数据包的丢错包数与总数的比值,获得n个比值;按照所述n个时长t的权重以及所述n个比值,确定所述连续n个时长t组成的总时长内的物理链路的质量;其中,所述n为正整数,t为正数。这样,通过多维度大数据综合判定物理链路的质量,准确可信,平滑防抖。
第二方面,提供一种分布式通信网络的故障检测装置,该装置可以是分布式通信网络中的任一节点,还可以是芯片。该装置具有实现上述第一方面中任一实施例的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,该分布式通信网络的故障检测装置,包括:处理器和通信接口,可选的还可以包括存储器。通信接口用于该装置与其他装置之间传输消息和/或数据。该存储器用于存储计算机执行指令,当该装置运行时,该处理器执行该存储器存储的该计算机执行指令,以使该装置执行如上述第一方面和任意可能的设计中所述的方法。
第三方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面和任意可能的设计中所述的方法。
第四方面,本申请还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面和任意可能的设计中所述的方法。
第五方面,本申请实施例提供了一种芯片,该芯片包括处理器和接口电路,该接口电路和该处理器耦合,该处理器用于运行计算机程序或指令,以实现如第一方面和任意可能的设计的方法,该接口电路用于与该芯片之外的其它模块进行通信。
第六方面,本申请还提供一种分布式通信网络系统,所述分布式通信网络包括多个节点,其中,第一节点中的第一代理进程与第二节点中的第二代理进程之间具有物理链路,所述第一节点中运行一个或多个第一业务进程,所述第二节点中运行一个或多个第二业务进程,所述第一业务进程和所述第二业务进程之间具有逻辑链路;其中,所述第一节点和第二节点是所述多个节点中的任意两个节点;所述第一代理进程,用于向所述第二代理进程发送第一探测报文,判断所述物理链路是否故障,以及在确定所述物理链路故障时,向所述一个或多个第一业务进程通知所述物理链路故障的信息;所述第一业务进程,用于在确定满足启用条件时,向所述第二业务进程发送第二探测报文,所述第二探测报文用于判断所述逻辑链路是否故障,所述启用条件包括所述第一业务进程接收到所述物理链路故障的信息。
在一个可能的设计中,所述第一业务进程还用于,在发送数据报文发生拥塞时,向所述第二业务进程发送第二探测报文。
在一个可能的设计中,所述第一业务进程还用于,在设定时间内未接收到所述第二业务进程的数据报文时,向所述第二业务进程发送第二探测报文。
在一个可能的设计中,所述第一业务进程还用于,从所述第二业务进程接收到的数据报文发生错误时,向所述第二业务进程发送第二探测报文。
在一个可能的设计中,第一代理进程还用于从所述第二代理进程接收第三探测报文;所述第三探测报文用于判断所述物理链路是否故障。
在一个可能的设计中,第一代理进程还用于根据所述第一节点中第一物理网口的状态,判断所述物理链路是否故障,其中,所述第一物理网口的状态包括打开状态和关闭状态。
在一个可能的设计中,第一代理进程还用于从所述第二代理进程接收所述第二节点中第二物理网口的状态,根据所述第二物理网口的状态判断所述物理链路是否故障,其中,所述第二物理网口的状态包括打开状态和关闭状态。
在一个可能的设计中,第一代理进程还用于确定所述物理链路的质量,根据所述物理链路的质量是否超过质量阈值,来判断所述物理链路是否故障。
在一个可能的设计中,第一代理进程还用于根据所述一个或多个第一业务进程发送的业务数据包的总数和丢错包数,确定所述物理链路的质量。
在一个可能的设计中,第一代理进程用于针对连续n个时长t中的每一个时长t,确定所述一个或多个第一业务进程发送的业务数据包的丢错包数与总数的比值,获得n个比值;按照所述n个时长t的权重以及所述n个比值,确定所述连续n个时长t组成的总时长内的物理。
附图说明
图1为本申请实施例中分布式系统架构示意图之一;
图2为本申请实施例中分布式系统架构示意图之二;
图3为本申请实施例中分布式通信网络的故障检测方法流程示意图;
图4为本申请实施例中物理链路质量检测时间线示意图;
图5为本申请实施例中分布式通信网络的故障检测方法示例示意图;
图6为本申请实施例中分布式通信网络的故障检测装置结构示意图之一;
图7为本申请实施例中分布式通信网络的故障检测装置结构示意图之二。
具体实施方式
本申请实施例提供一种分布式通信网络的故障检测方法及分布式系统,通过在分布式系统中的各个节点上部署代理进程,通过判断代理进程之间的物理链路是否发生故障,能够增加一个维度的故障检测,有助于减少海量业务进程之间故障检测带来的开销。其中,方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。本申请实施例的描述中,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请中所涉及的至少一个是指一个或多个;多个,是指两个或两个以上。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
本申请实施例提供的方法可以应用于第四代(4th generation,4G)通信系统、第五代(5th generation,5G)通信系统或未来的各种通信系统。
下面将结合附图,对本申请实施例进行详细描述。
首先介绍一下本申请实施例提供的一种可能的分布式系统的架构。如图1所示,分布式系统中包括多个节点。节点可以是终端设备。节点也可以是网络设备,例如路由器(routers)、交换机(switches)或服务器(servers)。节点还可以是虚拟化实体,例如虚拟机(virtual machine,VM)或虚拟化网络功能(virtualised network function,VNF)。每个节点在自身的操作系统上部署大量的业务进程。例如,多个节点用节点0~节点N表示。每个节点上的进程用进程0~N表示,N为正整数。当然图1中仅仅是一种示例,节点数目和每个节点上的进程数目虽然都用N表示,可以理解,节点数据和每个节点上的进程数目可以相同也可以不同。并且,不同节点上的进程数目可以相同也可以不同。图1所示的每个节点上运行的进程包括业务进程。业务进程之间有数据通信的诉求,业务进程之间通过IP栈建立通信链路进行数据传输。一个节点上部署多个业务进程。本申请实施例中,业务进程也可以称为业务应用进程,或者应用程序进程(application program process,APP),比如动态主机配置协议(dynamic host configuration protocol,DHCP)应用协议类进程。
在图1所示的分布式系统的架构的基础上,如图2所示,除了业务进程之外,本申请实施例在节点上部署了代理进程。一个节点上可以部署一个代理进程,或者部署多个代理进程。一般情况下,部署一个代理进程即可。一个代理进程与该节点上的业务进程之间可以建立连接。节点与节点之间通过二层或三层网络互连,二层或三层网络也可以称为中间网络。不同节点上的代理进程之间通过物理网口透过中间网络建立链路,称为物理链路。业务进程与业务进程之间建立的链路可以称为逻辑链路。其中,不同节点的业务进程之间通过物理网口透过中间网络建立链路。通常理解下,物理链路是一条物理线路段。逻辑链路在物理链路的基础上,加上必要的通信规程形成的链路。即,业务进程之间进行数据传输,除了需要一条物理链路之外,还需要有一些必要的规程来控制这些数据传输。同一个节点内,任意两个进程之间可以具有连接关系,可以进程通信。任意两个进程包括业务进程与业务进程,以及业务进程与代理进程。不同节点之间,任意两个业务进程之间可以具有逻辑链路,两个代理进程之间可以具有物理链路。本申请中,代理进程可以更换为其它称呼,代理进程用于检测物理链路是否故障,还可以用于向业务进程通知故障的信息,只要是具有该功能的其它名称的进程均可。
基于上述图1和图2所示的结构的描述,下面详细介绍一下本申请实施例提供的分布式通信网络的故障检测方法。该方法应用于分布式通信网络,该分布式通信网络中的系统架构可以参考图1和图2所示的结构。其中,分布式通信网络中包括多个节点,该多个节点中包括第一节点和第二节点,以下方法以第一节点为执行主体进行描述。第一节点中运行第一代理进程和一个或多个第一业务进程,第二节点中运行第二代理进程和一个或多个第二业务进程。第一代理进程和第二代理进程之间具有物理链路,第一业务进程和第二业务进程之间具有逻辑链路。若有多个第一业务进程和多个第二业务进程,则任意一个第一业务进程和任意一个第二业务进程之间均可以具有逻辑链路。本申请故障检测方法的目的是找出逻辑链路是否发生故障。
如图3所示,本申请实施例提供的分布式通信网络的故障检测方法的具体流程如下所述。
S301、第一节点通过第一代理进程向第二代理进程发送第一探测报文。第二节点通过第二代理进程从第一代理进程接收第一探测报文。
第一探测报文用于判断物理链路是否故障。可选的,第一探测报文可以是心跳报文。第一代理进程向第二代理进程发送第一探测报文后,第二代理进程会向第一代理进程反馈响应,例如,反馈正确(ACK)/错误(NACK)响应,用于响应是否成功接收到第一探测报文。第一代理进程可以通过第二代理进程反馈的响应,判断物理链路是否故障。例如第一代理进程通过一段时间内收到NACK响应的次数超过阈值,来确定物理链路发生故障。
在分布式系统启动后,第一代理进程与第二代理进程之间做物理链路的故障探测,业务进程之间的逻辑链路之间在初始状态默认不做故障探测,可以认为逻辑链路的故障探测处于关闭状态或者非激活状态。
S302、第一节点在根据第一探测报文确定物理链路故障时,通过第一代理进程向第一节点中的一个或多个第一业务进程通知物理链路故障的信息。
第一节点通过第一代理进程发送第一探测报文的情况,确定物理链路发生故障。例如,通过一段时间内收到NACK响应的次数超过阈值,来确定物理链路发生故障。第一节点在确定物理链路故障时,通过第一代理进程向第一节点中的第一业务进程通知物理链路发生故障的信息。第一节点中的业务进程从第一代理进程接收物理链路故障的信息,确定物理链路发生故障。
S303、第一节点在确定满足启用条件时,启用第一业务进程向第二业务进程发送第二探测报文,第二节点中的第二业务进程从第一业务进程接收该第二探测报文。
第一业务进程为第一节点中的任意一个业务进程,第二业务进程为第二节点中的任意一个业务进程。第一业务进程与第二业务进程之间可以通过逻辑链路进程通信,即发送数据报文。
可选的判断逻辑链路是否故障的方式为:若在设定时间内第二探测报文连续丢失设定次数,则可以认为逻辑链路有故障。
如上所述,分布式系统启动后,第一节点的业务进程之间的逻辑链路探测初始状态默认为关闭状态。当第一节点在确定满足启用条件时,才会启用第一业务进程向第二业务进程发送探测报文,这里记为第二探测报文。本申请中,发送第一探测报文和发送第二探测报文可以是指周期性地连续发送,接收端根据是否接收到探测报文向发送端反馈响应,发送端通过响应来判断接收端的接收情况,进一步判断两者之间的链路是否故障。激活业务进程之间的逻辑链路探测的启用条件包括:第一业务进程接收到物理链路故障的信息。也就是说,当第一节点通过第一代理进程向第一业务进程通知物理链路故障的信息时,第一业务进程接收到物理链路故障的信息,激活逻辑链路探测。
第一节点通过第一业务进程向第二业务进程发送第二探测报文的目的,是判断第一业务进程和第二业务进程之间的逻辑链路是否故障,即第二探测报文用于判断逻辑链路是否故障。
通过在节点中部署代理进程,能够使得物理链路与逻辑链路分层隔离,有助于避免了大量逻辑链路故障探测中海量探测包带来的开销。另外,分布式系统中包括大量节点,若通过现有的逻辑链路探测故障的方法,当局部节点发生故障时,可能会将故障排查范围扩散到全局节点。通过本申请提供的方法,能够帮助排查局部节点发生物理链路故障,避免故障排查范围扩散到全局节点,提高分布式系统故障检测效率。
基于上述描述的方案,在一种可能的实现方式中,第一节点中的第一业务进程激活逻辑链路探测的启用条件可以有多种,其中第一业务进程确定物理链路故障是一种启用条件,比如第一业务进程接收到物理链路故障的信息,会启用逻辑链路探测。该启用条件还可以有以下任意一种:第一业务进程发送数据报文发生拥塞;或者,第二业务进程在设定时间内没有数据流量,即第一业务进程在设定时间内未接收到第二业务进程的数据报文;或者,第一业务进程从第二业务进程接收到的数据报文发生错误,例如发生乱序。
在上述实施例中,第一节点根据第一探测报文判断物理链路是否故障,本申请中第一节点还可以根据一些其他的参数来判断物理链路是否故障。以下给出几种可能的判断物理链路故障的可选方法。实际应用中,第一节点通过第一代理进程向第二代理进程发送探测报文,第二节点也会通过第二代理进程向第一代理进程发送探测报文,那么第一节点就会通过第一代理进程从第二代理进程接收探测报文,接收的探测报文可以记为第三探测报文。可选的,第三探测报文可以是心跳报文。所以在一种可能的实现方式中,第一节点还可以根据第三探测报文的接收情况来判断物理链路是否故障。例如,第一节点在超过一定时长时未接收到第三探测报文,或者接收第三探测报文错误,则确定物理链路故障。在另一种可能的实现方式中,第一节点还可以根据第一节点中物理网口的状态,判断物理链路是否故障。第一节点的物理网口可以称为第一物理网口。第一物理网口的状态包括打开(up)状态和关闭(down)状态。例如,第一物理网口的状态为down状态时,可以确定物理链路故障。同理的,在另一个可能的实现方式中,第一节点也可以根据第二节点中物理网口的状态,判断物理链路是否故障。第二节点的物理网口可以称为第二物理网口。第二物理网口的状态包括打开(up)状态和关闭(down)状态。例如,第二物理网口的状态为down状态时,可以确定物理链路故障。其中,第二物理网口的状态可以通过第二代理进程发送给第一代理进程,第一节点通过第一代理进程从第二代理进程接收第二节点中第二物理网口的状态,再根据第二物理网口的状态判断物理链路是否故障。上述物理网口的状态也可以认为是网卡的状态。另一方面,第一节点还可以根据物理链路的质量来判断物理链路是否故障。例如,第一节点根据物理链路的直连是否超过设定的质量阈值,判断物理链路是否故障。可选的,若超过质量阈值,确定物理链路故障。综上,第一节点可以根据第一探测报文、第三探测报文、第一物理网口的状态、第二物理网口的状态以及物理链路的质量中的任意一项来判断物理链路是否故障,也可以结合多项的结果来综合判断物理链路是否故障。
以下对上文中物理链路的质量的测量方法做一下说明。物理链路质量可以通过业务数据包的丢错包率来计算。一种可选的计算方法如下所述。第一节点中各个第一业务进程会向其它业务进程发送业务数据包,各个第一业务进程会向第一代理进程上报发送业务数据包的数量和丢错包的数量,第一节点中的第一代理进程接收并统计各个第一业务进程发送的业务数据包的总数和丢错包数,进一步确定物理链路的质量。可选的,第一节点中的第一代理进程会统计最近T时长内的物理链路的质量。第一代理进程每单位时间收集各个第一业务进程发送的业务数据包的数量和丢错包数,将T时长划分为n个时长t。第一节点通过第一代理进程针对连续n个时长t中的每一个时长t,确定各个第一业务进程发送的业务数据包的丢错包数与总数的比值,获得n个比值;并按照n个时长t的权重以及n个比值,确定连续n个时长t组成的总时长T内的物理链路的质量。举例来说,T时长为30分钟,包括5个6分钟。每一个6分钟的比值为一个分质量。距离当前时刻由近到远的5个6分钟的分质量用Q1、Q2、……Q5表示,越靠近当前时刻的6分钟的分质量的权重会越高,这样能够提高物理链路的质量的探测的可靠性。Qi=(Losti+Erri*5)/Sumi,其中,Qi是距离当前时刻由近到远的第i个6分钟的分质量,i=1~5,Erri*5中的5是错包与丢包的权重值比例,可配置。
这30分钟内物理链路的质量用Q表示,例如,Q=Q1/2+Q2/4+Q3/8+Q4/16+Q5/16。由于当系统启动时不稳定,因此,系统启动的前几分钟可以不进行统计,这样可以提高探测精度。例如,系统启动后前6分钟不进行物理链路的质量计算。第一节点根据统计的T时长的数据得出一个Q,在T时长内未发生的时间段内的分质量为0。例如,T=30分钟,Q=Q1/2+Q2/4+Q3/8+Q4/16+Q5/16,在统计开始的6分钟内,Q1有值,Q2~Q5为0。12分钟内,Q1~Q2有值,Q3~Q5为0。以此类推。
随着时间的增移,n个时长t远离当前时刻的分质量可能会失效,第一节点会计算最新发生的时间t的分质量,进一步计算新的质量Q。如图4所示,为系统启动后的时间轴。在前6分钟内,不进行质量探测。在6分钟~36分钟之间,统计5个6分钟的分质量,在第36分钟获得物理链路的质量。在第42分钟获得12分钟~42分钟之间的物理链路质量,此时第6分钟到第12分钟获得的分质量已经失效,第12分钟到第36分钟的质量以及第36分钟~第42分钟的分质量,共同用于计算新的物理链路质量。以此类推,在第48分钟获得第18分钟~第48分钟之间的物理链路质量。
上述分布式通信网络的故障检测方法中,第一节点和第二节点为分布式通信网络中的任意两个节点,两个节点间的收发是相互的,第二节点也可以通过第一节点的上述方法来执行故障检测。如图5所示,代理进程1和代理进程2之间具有物理链路,代理进程1连接业务进程1,代理进程2连接业务进程2。业务进程1为发端时,业务进程2为收端。业务进程2为发端时,业务进程1为收端。例如,业务进程1为发端,业务进程2为收端,代理进程1和代理进程2均会进行物理链路的故障判断,当判断物理链路故障是,代理进程1会主动向业务进程1发送故障通知。代理进程2也会主动向业务进程2发送故障通知。业务进程1当收到故障通知或者发送业务数据发生拥塞时,均会激活逻辑链路的检测。业务进程2当收到故障通知、一定时间内没有收到数据流量时、或出现数据报文乱序等情况,也会激活逻辑链路检测。
基于同一发明构思,如图6所示,本申请实施例还提供了分布式通信网络的故障检测装置,该分布式通信网络的故障检测装置用于执行上述分布式通信网络的故障检测方法中第一节点执行的操作,该分布式通信网络的故障检测装置包括处理单元601以及通信单元602。处理单元601用于调用通信单元602向其他节点的代理进程或业务进程发送消息,或从其他节点的代理进程或业务进程接收消息。具体处理单元601用于调用通信单元602执行以下操作:通过第一代理进程向第二代理进程发送第一探测报文;在根据第一探测报文确定物理链路故障时,通过第一代理进程向一个或多个第一业务进程通知物理链路故障的信息;处理单元601还用于在确定满足启用条件时,调用通信单元602启用第一业务进程向第二业务进程发送第二探测报文,第二探测报文用于判断逻辑链路是否故障,启用条件包括第一业务进程接收到物理链路故障的信息,第一探测报文用于判断物理链路是否故障。
处理单元601以及通信单元602还可以用于执行上述方法实施例中第一节点执行的对应的其他步骤,具体可以参阅上述方法实施例,这里不再重复赘述。
申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
其中,集成的模块既可以采用硬件的形式实现时,分布式通信网络的故障检测装置可以如图7所示,该分布式通信网络的故障检测装置可以是第一节点或第二节点中的芯片。该分布式通信网络的故障检测装置可以包括处理器701,通信接口702,可选的还可以包括存储器703。存储器703用于存储一组处理器701调用的程序。其中,处理单元601可以为处理器701。通信单元602可以为通信接口702。
该分布式通信网络的故障检测装置用于执行上述实施例中第一节点所执行的操作。处理器701用于调用通信接口702向其他节点的代理进程或业务进程发送消息,或从其他节点的代理进程或业务进程接收消息。具体处理器701用于调用一组程序,通过通信接口702执行以下操作:通过第一代理进程向第二代理进程发送第一探测报文;在根据第一探测报文确定物理链路故障时,通过第一代理进程向一个或多个第一业务进程通知物理链路故障的信息;处理器701还用于在确定满足启用条件时,调用通信接口702启用第一业务进程向第二业务进程发送第二探测报文,第二探测报文用于判断逻辑链路是否故障,启用条件包括第一业务进程接收到物理链路故障的信息,第一探测报文用于判断物理链路是否故障。
处理器701以及通信接口702还可以用于执行上述方法实施例中第一节点执行的对应的其他步骤,具体可以参阅上述方法实施例,这里不再重复赘述。
处理器701以及通信接口702还可以用于执行上述方法实施例中对应的其他步骤,具体可以参阅上述方法实施例,这里不再重复赘述。
处理器701可以包括但不限于以下至少一种:中央处理单元(central processingunit,CPU)、微处理器、数字信号处理器(DSP)、微控制器(microcontroller unit,MCU)、或人工智能处理器等各类运行软件的计算设备,每种计算设备可包括一个或多个用于执行软件指令以进行运算或处理的核。该处理器可以是个单独的半导体芯片,也可以跟其他电路一起集成为一个半导体芯片,例如,可以跟其他电路(如编解码电路、硬件加速电路或各种总线和接口电路)构成一个SoC(片上系统),或者也可以作为一个ASIC的内置处理器集成在所述ASIC当中,该集成了处理器的ASIC可以单独封装或者也可以跟其他电路封装在一起。该处理器除了包括用于执行软件指令以进行运算或处理的核外,还可进一步包括必要的硬件加速器,如现场可编程门阵列(field programmable gate array,FPGA)、PLD(可编程逻辑器件)、或者实现专用逻辑运算的逻辑电路。
存储器703,可以包括如下至少一种类型:只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random accessmemory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmabler-only memory,EEPROM)。在某些场景下,存储器还可以是只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
处理器701用于执行存储器703存储的程序代码,具体用于执行上述处理单元601的动作,本申请在此不再赘述。
本申请实施例中不限定上述通信接口702、处理器701以及存储器703之间的具体连接介质。本申请实施例在图7中以存储器703、处理器701以及通信接口702之间通过总线704连接,总线在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例提供了一种计算机存储介质,存储有计算机程序,该计算机程序包括用于执行上述实施例提供的分布式通信网络的故障检测方法的指令。
本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的分布式通信网络的故障检测方法。
本申请实施例还提供了一种芯片,该芯片包括处理器和接口电路,该接口电路和该处理器耦合,该处理器用于运行计算机程序或指令,以实现上述通信方法,该接口电路用于与该芯片之外的其它模块进行通信。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种分布式通信网络的故障检测方法,其特征在于,所述分布式通信网络包括多个节点,其中,第一节点中的第一代理进程与第二节点中的第二代理进程之间具有物理链路,所述第一节点中运行一个或多个第一业务进程,所述第二节点中运行一个或多个第二业务进程,所述第一业务进程和所述第二业务进程之间具有逻辑链路;其中,所述第一节点和第二节点是所述多个节点中的任意两个节点;
所述方法包括:
所述第一节点通过所述第一代理进程向所述第二代理进程发送第一探测报文,所述第一探测报文用于判断所述物理链路是否故障;
所述第一节点在根据所述第一探测报文确定所述物理链路故障时,通过所述第一代理进程向所述一个或多个第一业务进程通知所述物理链路故障的信息;
所述第一节点在确定满足启用条件时,启用所述第一业务进程向所述第二业务进程发送第二探测报文,所述第二探测报文用于判断所述逻辑链路是否故障,所述启用条件包括所述第一业务进程接收到所述物理链路故障的信息。
2.如权利要求1所述的方法,其特征在于,所述启用条件还包括以下一项或多项:所述第一业务进程发送数据报文发生拥塞;所述第一业务进程在设定时间内未接收到所述第二业务进程的数据报文;所述第一业务进程从所述第二业务进程接收到的数据报文发生错误。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第一节点通过所述第一代理进程从所述第二代理进程接收第三探测报文;所述第三探测报文用于判断所述物理链路是否故障。
4.如权利要求1~3任一项所述的方法,其特征在于,所述方法还包括:
所述第一节点根据所述第一节点中第一物理网口的状态,判断所述物理链路是否故障,其中,所述第一物理网口的状态包括打开状态和关闭状态。
5.如权利要求1~4任一项所述的方法,其特征在于,所述方法还包括:
所述第一节点通过所述第一代理进程从所述第二代理进程接收所述第二节点中第二物理网口的状态,根据所述第二物理网口的状态判断所述物理链路是否故障,其中,所述第二物理网口的状态包括打开状态和关闭状态。
6.如权利要求1~5任一项所述的方法,其特征在于,所述方法还包括:
所述第一节点确定所述物理链路的质量;
所述第一节点根据所述物理链路的质量是否超过质量阈值,来判断所述物理链路是否故障。
7.如权利要求6所述的方法,其特征在于,所述第一节点确定所述物理链路的质量,包括:
所述第一节点根据所述一个或多个第一业务进程发送的业务数据包的总数和丢错包数,确定所述物理链路的质量。
8.如权利要求7所述的方法,其特征在于,所述第一节点根据所述一个或多个第一业务进程发送的业务数据包的总数和丢错包数,确定所述物理链路的质量,包括:
所述第一节点针对连续n个时长t中的每一个时长t,确定所述一个或多个第一业务进程发送的业务数据包的丢错包数与总数的比值,获得n个比值;
按照所述n个时长t的权重以及所述n个比值,确定所述连续n个时长t组成的总时长内的物理链路的质量;
其中,所述n为正整数,t为正数。
9.一种分布式通信网络的故障检测装置,其特征在于,包括处理器和收发器,所述收发器用于与其他装置进行信号和/数据的收发;所述处理器用于和存储器进行耦合,调用一组程序,使所述装置执行权利要求1至8任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机存储介质中存储有计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1-8任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910427289.8A CN111988191B (zh) | 2019-05-22 | 2019-05-22 | 一种分布式通信网络的故障检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910427289.8A CN111988191B (zh) | 2019-05-22 | 2019-05-22 | 一种分布式通信网络的故障检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111988191A true CN111988191A (zh) | 2020-11-24 |
CN111988191B CN111988191B (zh) | 2022-03-29 |
Family
ID=73436277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910427289.8A Active CN111988191B (zh) | 2019-05-22 | 2019-05-22 | 一种分布式通信网络的故障检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111988191B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113872799A (zh) * | 2021-08-27 | 2021-12-31 | 华为技术有限公司 | 管理节点的方法、节点和系统 |
CN113949649A (zh) * | 2021-10-14 | 2022-01-18 | 迈普通信技术股份有限公司 | 故障检测协议的部署方法、装置、电子设备及存储介质 |
CN114244693A (zh) * | 2021-12-17 | 2022-03-25 | 中国建设银行股份有限公司 | 异常检测方法、装置、设备、介质和程序产品 |
CN114338357A (zh) * | 2021-12-13 | 2022-04-12 | 阿里巴巴(中国)有限公司 | 一种在网络中的数据报文传输的方法及装置 |
CN115250245A (zh) * | 2022-06-24 | 2022-10-28 | 中信百信银行股份有限公司 | 一种多机房支付系统前置与应用多活的方法及装置 |
CN115378844A (zh) * | 2022-07-11 | 2022-11-22 | 天翼云科技有限公司 | 一种网络链路的故障检测方法及装置 |
WO2024082471A1 (zh) * | 2022-10-21 | 2024-04-25 | 之江实验室 | 节点间链路状态监测方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100074264A1 (en) * | 2008-09-25 | 2010-03-25 | Kimberly Davis | Method and apparatus to facilitate system to system protocol exchange in back to back non-transparent bridges |
CN102957623A (zh) * | 2012-11-28 | 2013-03-06 | 杭州华三通信技术有限公司 | 一种边界网关协议邻居的维护方法和设备 |
CN105659654A (zh) * | 2013-06-11 | 2016-06-08 | 七网络有限责任公司 | 在无线网络中对使用专有和非专有协议之流量的信令优化,提供应用和/或服务器稳定性的系统和方法 |
CN106933659A (zh) * | 2015-12-30 | 2017-07-07 | 华为技术有限公司 | 管理进程的方法和装置 |
CN106941713A (zh) * | 2017-05-16 | 2017-07-11 | 努比亚技术有限公司 | 一种降低移动终端功耗的方法及其装置 |
US20170353589A1 (en) * | 2016-06-02 | 2017-12-07 | Cisco Technology, Inc. | Supporting hitless upgrade of call processing nodes in cloud-hosted telephony system |
CN108235800A (zh) * | 2017-12-19 | 2018-06-29 | 深圳前海达闼云端智能科技有限公司 | 一种网络故障探测方法及控制中心设备 |
-
2019
- 2019-05-22 CN CN201910427289.8A patent/CN111988191B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100074264A1 (en) * | 2008-09-25 | 2010-03-25 | Kimberly Davis | Method and apparatus to facilitate system to system protocol exchange in back to back non-transparent bridges |
CN102957623A (zh) * | 2012-11-28 | 2013-03-06 | 杭州华三通信技术有限公司 | 一种边界网关协议邻居的维护方法和设备 |
CN105659654A (zh) * | 2013-06-11 | 2016-06-08 | 七网络有限责任公司 | 在无线网络中对使用专有和非专有协议之流量的信令优化,提供应用和/或服务器稳定性的系统和方法 |
CN106933659A (zh) * | 2015-12-30 | 2017-07-07 | 华为技术有限公司 | 管理进程的方法和装置 |
US20170353589A1 (en) * | 2016-06-02 | 2017-12-07 | Cisco Technology, Inc. | Supporting hitless upgrade of call processing nodes in cloud-hosted telephony system |
CN106941713A (zh) * | 2017-05-16 | 2017-07-11 | 努比亚技术有限公司 | 一种降低移动终端功耗的方法及其装置 |
CN108235800A (zh) * | 2017-12-19 | 2018-06-29 | 深圳前海达闼云端智能科技有限公司 | 一种网络故障探测方法及控制中心设备 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113872799A (zh) * | 2021-08-27 | 2021-12-31 | 华为技术有限公司 | 管理节点的方法、节点和系统 |
WO2023025180A1 (zh) * | 2021-08-27 | 2023-03-02 | 华为技术有限公司 | 管理节点的方法、节点和系统 |
CN113949649A (zh) * | 2021-10-14 | 2022-01-18 | 迈普通信技术股份有限公司 | 故障检测协议的部署方法、装置、电子设备及存储介质 |
CN113949649B (zh) * | 2021-10-14 | 2023-05-23 | 迈普通信技术股份有限公司 | 故障检测协议的部署方法、装置、电子设备及存储介质 |
CN114338357A (zh) * | 2021-12-13 | 2022-04-12 | 阿里巴巴(中国)有限公司 | 一种在网络中的数据报文传输的方法及装置 |
CN114338357B (zh) * | 2021-12-13 | 2024-05-14 | 阿里巴巴(中国)有限公司 | 一种在网络中的数据报文传输的方法及装置 |
CN114244693A (zh) * | 2021-12-17 | 2022-03-25 | 中国建设银行股份有限公司 | 异常检测方法、装置、设备、介质和程序产品 |
CN115250245A (zh) * | 2022-06-24 | 2022-10-28 | 中信百信银行股份有限公司 | 一种多机房支付系统前置与应用多活的方法及装置 |
CN115378844A (zh) * | 2022-07-11 | 2022-11-22 | 天翼云科技有限公司 | 一种网络链路的故障检测方法及装置 |
CN115378844B (zh) * | 2022-07-11 | 2023-06-23 | 天翼云科技有限公司 | 一种网络链路的故障检测方法及装置 |
WO2024082471A1 (zh) * | 2022-10-21 | 2024-04-25 | 之江实验室 | 节点间链路状态监测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111988191B (zh) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111988191B (zh) | 一种分布式通信网络的故障检测方法及装置 | |
CN109257195B (zh) | 集群中节点的故障处理方法及设备 | |
US10601643B2 (en) | Troubleshooting method and apparatus using key performance indicator information | |
WO2016029749A1 (zh) | 一种通信故障的检测方法、装置及系统 | |
CN109450666B (zh) | 分布式系统网络管理方法及装置 | |
CN102685007A (zh) | 一种多链路捆绑链路组中成员链路的处理方法及装置 | |
CN111817881B (zh) | 一种故障处理方法和相关装置 | |
CN102882704B (zh) | 一种issu的软重启升级过程中的链路保护方法和设备 | |
CN108632099B (zh) | 一种链路聚合的故障检测方法及装置 | |
CN109194547A (zh) | 报文传输方法、装置、本端设备及可读存储介质 | |
CN113890816A (zh) | 网络健康状态分析方法、装置、计算机设备和存储介质 | |
KR20200117029A (ko) | 임계값 쌍 변경을 관리하기 위한 방법, 장치 및 디바이스 | |
US9059899B2 (en) | Method and system for interrupt throttling and prevention of frequent toggling of protection groups in a communication network | |
US10491317B2 (en) | Method for operating a network arrangement, network system and network arrangement | |
US20200136912A1 (en) | Method, Device, and System for Implementing MUX Machine | |
CN108235800B (zh) | 一种网络故障探测方法、控制中心设备及计算机存储介质 | |
CA2993369C (en) | System and method for traffic steering and analysis | |
US20210058495A1 (en) | Communication device, communication system, and protocol switchover method | |
CN107332697B (zh) | 一种故障检测方法及装置 | |
CN108141374B (zh) | 一种网络亚健康诊断方法及装置 | |
CN111756588B (zh) | 通信链路检测方法及相关装置 | |
US9294373B2 (en) | Synthetic loss measurements using session numbers | |
CN107623607B (zh) | Bfd会话连接建立方法及装置 | |
CN114095341A (zh) | 网络恢复方法、装置、计算机设备和存储介质 | |
CN114095398A (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 |