CN104683129A - 诊断树建立方法、网络故障诊断方法及其节点 - Google Patents
诊断树建立方法、网络故障诊断方法及其节点 Download PDFInfo
- Publication number
- CN104683129A CN104683129A CN201310624869.9A CN201310624869A CN104683129A CN 104683129 A CN104683129 A CN 104683129A CN 201310624869 A CN201310624869 A CN 201310624869A CN 104683129 A CN104683129 A CN 104683129A
- Authority
- CN
- China
- Prior art keywords
- node
- fault
- diagnosis result
- tree
- diagnosis
- 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
- 238000003745 diagnosis Methods 0.000 title claims abstract description 347
- 238000000034 method Methods 0.000 title claims abstract description 123
- 238000012790 confirmation Methods 0.000 claims description 34
- 230000001934 delay Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 5
- 238000012937 correction Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000004092 self-diagnosis Methods 0.000 description 6
- 238000012935 Averaging Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种诊断树建立方法、网络故障诊断方法及其节点,其中,该诊断树建立方法包括:在节点发现故障时,该节点延迟第一预定时间广播建树消息,以建立诊断树;其中,该第一预定时间随机设定;或者根据邻居节点对该节点的接收质量来计算该第一预定时间。该网络故障诊断方法包括:诊断树的中间节点或根节点根据接收的其他节点的诊断结果来修正当前自身的初步诊断结果。通过本发明实施例的诊断树建立、网络故障诊断方法及其节点,能够避免广播包的冲突、提升诊断树建立的完备性;能够实时修正诊断结果,克服信息冗余的问题,并避免上报诊断结果的过程中发生丢包,提高网络诊断的效率和准确性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种诊断树建立方法、网络故障诊断方法及其节点。
背景技术
传统的故障诊断方法在该节点发现故障节点时,广播建树消息,针对故障节点建立诊断树,其他节点在接收到建树消息后根据需要判断自身是否加入该诊断树,在诊断树建立完成后,该节点将自己的诊断结果与收集的来自于其子节点的诊断结果,上报给其父节点,以便诊断树中的根节点作出故障诊断。在诊断树的根节点在做出故障诊断后,将诊断结果上报给网关(GW,Gateway)。
应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发明的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。
发明内容
在建立诊断树的过程中,节点需要广播建树消息。例如,节点A、B、C都工作在同一个信道上,当节点A向节点B广播建树消息时,载波侦听机制无法阻止节点C广播建树消息,而造成广播包在节点B处冲突。节点C是隐藏在节点A的覆盖范围之外的、却又能对节点A的发送形成潜在冲突的隐终端(hidden terminal),正是由于隐终端的存在,很容易引起广播包的冲突,导致相关的节点无法加入诊断树;在收集并融合诊断证据的过程中,存在信息的冗余和如何实时修正诊断结果的问题;在上报诊断结果的过程中容易发生丢包等问题。上述问题都会影响网络诊断的效率和准确性。
本发明实施例提出了一种诊断树建立方法、网络故障诊断方法及其节点,该方法通过在节点发现故障时,该节点延迟第一预定时间广播建树消息,以建立诊断树;诊断树的中间节点或根节点根据接收的其他节点的诊断结果来修正当前自身的初步诊断结果。从而能够避免广播包的冲突、提升诊断树建立的完备性,能够实时修正诊断结果,克服信息冗余的问题;并避免上报诊断结果的过程中发生丢包,提高网络诊断的效率和准确性。
本发明实施例的上述目的是通过如下技术方案实现的:
根据本发明实施例的第一个方面,提供了一种诊断树建立方法,其中,该方法包括:
在节点发现故障时,该节点延迟第一预定时间广播建树消息,以建立诊断树;
其中,该第一预定时间随机设定;或者根据邻居节点对该节点的接收质量(RQ,Receiving Quality,)来计算该第一预定时间。
根据本发明实施例的第二个方面,提供了一种诊断树建立方法,其中,该方法包括:
节点接收广播的建树消息或确认消息;
在该节点接收到建树消息,且该建树消息中的故障节点是该节点的邻居节点时,或者在该节点接收到确认消息、该节点还未加入诊断树,且该确认消息中的故障节点是该节点的邻居节点时,该节点加入诊断树;
在延迟第二预定时间后广播建树消息,和/或确认消息。
根据本发明实施例的第三个方面,提供了一种网络故障诊断方法,该方法包括:
诊断树的中间节点或根节点根据接收的其他节点的诊断结果来修正当前自身的初步诊断结果;
该诊断结果包括故障类型、或故障类型和故障链路标识;其中该故障类型包括疑似节点故障和非节点故障,故障链路标识包括本地节点标识和故障节点标识;
该疑似节点故障表示该节点和该节点下面所有诊断树中的节点全都与故障节点链路不正常;该非节点故障表示该节点和该节点下面所有诊断树中的节点至少有一个节点与故障节点的链路正常;
其中,在该初始诊断结果为疑似节点故障时:
当收到的诊断结果是疑似节点故障时,对该初始诊断结果不进行修正;
当收到的诊断结果是非节点故障时,将该初始诊断结果修正为非节点故障,并且包含所有收集到的故障链路标识;
在该初始诊断结果是非节点故障时:
当收到的诊断结果是疑似节点故障时,对该初始诊断结果不进行修正,加入新的故障链路标识;
当收到的诊断结果是非节点故障,且在诊断结果中包含新的故障链路标识时,对该初始诊断结果不进行修正,且加入新的故障链路标识;
当收到的诊断结果是非节点故障,且在诊断结果中没有新的故障链路标识时,对该初始诊断结果不进行修正。
根据本发明实施例的第四个方面,提供了一种网络中的节点,其中,该节点包括:
第一广播单元,该第一广播单元在节点发现故障时,延迟第一预定时间广播建树消息,以建立诊断树;
时间设定单元,该时间设定单元用于随机设定该第一预定时间;或者根据邻居节点对该节点的接收质量来计算该第一预定时间。
根据本发明实施例的第五个方面,提供了一种网络中的节点,其中,该节点包括:
第一接收单元,该第一接收单元用于接收广播的建树消息或确认消息;
第二处理单元,该第二处理单元用于在该第一接收单元接收到建树消息,且该建树消息中的故障节点是该节点的邻居节点时,或者用于在该第一接收单元接收到确认消息且该节点还未加入诊断树,且该确认消息中的故障节点是该节点的邻居节点时,将该节点加入诊断树;
第二广播单元,该第二广播单元用于在延迟第二预定时间后广播建树消息,和/或确认消息。
根据本发明实施例的第六个方面,提供了一种网络中的节点,该节点为诊断树中的节点,其中该节点包括:
第二接收单元,该第二接收单元用于接收其它节点上报的诊断结果;该诊断结果包括故障类型、或故障类型和故障链路标识;其中该故障类型包括疑似节点故障和非节点故障,故障链路标识包括本地节点标识和故障节点标识;该疑似节点故障表示该节点和该节点下面所有诊断树中的节点全都与故障节点链路不正常;该非节点故障表示该节点和该节点下面所有诊断树中的节点至少有一个节点与故障节点的链路正常;
第一修正单元,该第一修正单元根据该第二接收单元接收的其它节点上报的诊断结果来修正当前自身的初步诊断结果;
其中,在该初始诊断结果为疑似节点故障时:
当该第二接收单元收到的诊断结果是疑似节点故障时,该第一修正单元对该初始诊断结果不进行修正;
当该第二接收单元收到的诊断结果是非节点故障时,该第一修正单元将该初始诊断结果修正为非节点故障,并且包含所有收集到的故障链路标识;
在该初始诊断结果是非节点故障时:
当该第二接收单元收到的诊断结果是疑似节点故障时,该第一修正单元对该初始诊断结果不进行修正,加入新的故障链路标识;
当该第二接收单元收到的诊断结果是非节点故障,且在诊断结果中包含新的故障链路标识时,该第一修正单元对该初始诊断结果不进行修正,且加入新的故障链路标识;
当该第二接收单元收到的诊断结果是非节点故障,且在诊断结果中没有新的故障链路标识时,该第一修正单元对该初始诊断结果不进行修正。
本发明实施例的有益效果在于,通过该诊断树的建立方法能够避免广播包的冲突、提升诊断树建立的完备性,通过该网络故障诊断方法能够实时修正诊断结果,克服信息冗余的问题,并避免上报诊断结果的过程中发生丢包,提高网络诊断的效率和准确性。
参照后文的说明和附图,详细公开了本发明的特定实施方式,指明了本发明的原理可以被采用的方式。应该理解,本发明的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本发明的实施方式包括许多改变、修改和等同。
针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。
应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。
附图说明
参照以下的附图可以更好地理解本发明的很多方面。附图中的部件不是成比例绘制的,而只是为了示出本发明的原理。为了便于示出和描述本发明的一些部分,附图中对应部分可能被放大或缩小。在本发明的一个附图或一种实施方式中描述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。此外,在附图中,类似的标号表示几个附图中对应的部件,并可用于指示多于一种实施方式中使用的对应部件。
在附图中:
图1是一个多跳网络的树状拓扑结构示意图;
图2是本发明实施例1的诊断树建立方法流程图;
图3是本发明实施例2的诊断树建立方法流程图;
图4是本发明实施例3的诊断树建立方法流程图;
图5是本发明实施例4的网络故障诊断方法流程图;
图6是本发明实施例5的网络故障诊断方法流程图;
图7是本发明实施例6的多跳网络中的节点结构示意图;
图8是本发明实施例7的多跳网络中的节点结构示意图;
图9是本发明实施例9的多跳网络中的节点结构示意图;
图10是本发明实施例6的多跳网络中的节点构成示意图。
具体实施方式
参照附图,通过下面的说明书,本发明实施例的前述以及其它特征将变得明显。这些实施方式只是示例性的,不是对本发明的限制。为了使本领域的技术人员能够容易地理解本发明的原理和实施方式,本发明实施例以多跳网络为例进行说明,但可以理解,本发明实施例并不限于多跳网络,例如,本发明实施例提供的方法和节点也适用于Ad-hoc网络和传感器网络等其他网络。
为了使本发明实施例的方法和装置更加清楚易懂,以下通过图4所示的网络拓扑结构示意图,对本发明实施例的应用环境以及涉及到的一些术语进行简单说明。
请参照图1,在该多跳网络中,节点A发现故障,在本发明实施例中假设为两种故障:疑似节点故障或非节点故障,节点A建立诊断树,以初始化诊断过程,其中,节点A被称为该诊断树的根节点,节点B、C、D被称为中间节点、E被称为叶节点。在以下的说明中,“故障节点”是指发生上述故障的节点,即发生疑似节点故障或非节点故障的节点;节点的接收质量可以定义为接收到该邻居节点的信号强度、与该邻居节点成功通信的平均发送延迟、平均发送次数等。下面参照附图对本发明的优选实施方式进行说明。
下面参照附图对本发明的优选实施方式进行说明。
实施例1
本发明实施例1提供了一种诊断树建立方法,图2是本发明实施例1的诊断树建立方法流程图,该方法应用于多跳网络中的节点。在本实施例中,针对发送建树消息的根节点。请参照图2,该方法包括:
步骤201,在节点发现故障时,该节点延迟第一预定时间广播建树消息,以建立诊断树;
其中,该第一预定时间随机设定;或者根据邻居节点对该节点的接收质量来计算该第一预定时间。
由上述实施例可知,在根节点发现故障后,延后一段时间BO广播建树消息,能够避免广播包的冲突,提升诊断树建立的完备性。
在本实施例中,该建树消息可以包含根节点标识、故障节点标识、和与诊断相关的信息,以上仅是对建树消息中可能包含的信息进行例举,但本实施例并不仅限于此。
在本实施例中,该第一预定时间表示为BO,该第一预定时间BO可以随机设定;或者也可以根据邻居节点对该节点的接收质量来计算该第一预定时间。其中,在根据邻居节点对该节点的接收质量来计算该第一预定时间BO时,该邻居节点对该节点的接收质量越好,该第一预定时间BO越小,否则该第一预定时间BO越大。该接收质量表示为RQ。
在本实施例中,可采用如下方式来确定邻居节点对该节点的接收质量RQ:
在本实施例的一个实施方式中,该节点可接收该邻居节点对该节点的接收质量,并对接收到的接收质量进行加强平均以获得该接收质量RQ。
例如,对于一个节点A,其邻居节点N(i)可以将对该节点A的接收质量RQ(i)发送给该节点A;然后该节点A对其他节点发送过来的RQ(i)进行加强平均,最终获得接收质量RQ。
在本实施例的另一个实施方式中,该节点也可以根据对该邻居节点HELLO包的接收情况来计算该接收质量。
由于HELLO包为周期发送,所以对于该根节点的每个邻居节点N(i),在一个规定时间t内,可以计算出对每个邻居节点N(i)应接收HELLO包的数量HR和统计对N(i)实际接收HELLO包的数量HR';其中,规定时间t应该至少是一个HELLO周期的长度。
其中,RQ的计算公式可以如下:
在公式(1)中,n是该根节点的邻居节点数量。
在本实施例中,在通过上述方式确定该根节点的接收质量后,可通过下列方法计算该第一预定时间BO;
在本实施例中,可采用下面的公式(2)来计算该第一预定时间BO:
BO=(t2-t1)·F(RQ); (2)
在公式(2)中,BO表示该第一预定时间,t2,t1均为表示时间的正实数,其中,t2>t1,RQ表示接收质量;F(RQ)是取值在[0,1]之间的函数,F(RQ)和接收质量RQ成反比关系;
F(RQ)可采用如下公式(3)计算:
在公式(3)中,
在本实施例中,还可采用下面的公式(4)来计算该第一预定时间BO:
BO=(t2-t1)·F(RQ,HOP,NN); (4)
在公式(4)中,t2>t1;F(RQ,HOP,NN)是取值在[0,1]之间的函数;HOP表示诊断树的跳数;NN表示节点的邻居节点的数量;F(RQ,HOP,NN)是与接收质量RQ成反比关系,与节点在诊断树中的跳数HOP成正比关系,与节点的邻居节点的数量NN成反比关系;
F(RQ,HOP,NN)可采用如下公式(5)来计算:
在公式(5)中,
在本实施例中,仅例举了上述接收质量和第一延迟时间的几种计算方法,还可采用其他方法获得,此处不一一例举。
通过本实施例的诊断树建立方法,根节点延迟第一预定时间广播建树消息,能够避免广播包的冲突,提升诊断树建立的完备性,以便提高网络诊断的效率和准确性。
实施例2
由于是广播建树消息,因此很有可能在同一时间有很多节点收到建树消息,如果这些节点还要再继续广播建树消息,则很有可能是同时广播,这样有可能造成当节点再要广播建树消息时,与其他节点的建树消息冲突,为了解决这一问题,本发明实施例2还提供了一种诊断树建立方法,图3是本发明实施例2的诊断树建立方法流程图该方法应用于多跳网络中的节点。在本实施例中,针对接收建树消息的节点。请参照图3,该方法包括:
步骤301,节点接收广播的建树消息;
步骤302,在该建树消息中的故障节点是该节点的邻居节点时,该节点加入诊断树。
步骤303,在该节点加入了诊断树后,在延迟第二预定时间后广播该建树消息。
在本实施例中,该建树消息可以包含根节点标识、故障节点标识、这个节点在诊断树中的父节点的标识或与诊断相关的信息,以上仅是对建树消息中可能包含的信息进行例举,但本实施例并不仅限于此。
在本实施例步骤303中,该第二预定时间可随机生成,表示为T2。
在本实施例的一种实施方式中,该节点可根据该节点在诊断树中的深度(跳数)生成该第二预定时间T2;
例如:如果节点的跳数较小,那么该节点可以在一个较大的范围内生成随机数;节点的跳数较大,那么该节点则在较小范围内生成随机数。
在本实施例的另一种实施方式中,还可以根据该节点与故障节点的距离D1、该节点与建树消息的发送节点的距离D2的关系来计算该第二预定时间的取值范围;D1和D2可以根据接收信号功率强度指示(Received Signal Strength Indication,RSSI)来计算,第二预定时间T2的最大值Tmax可以和D1成正比,和D2成反比,其中,
在公式(6)中,α和β为参数,根据实际情况确定;或者,
在公式(7)中,ε是参数,根据实际情况确定;其中,α、β和ε可为正实数。
在本实施例中,该Tmax不限于上述计算方法,还可采用其他方法获得,此处不一一例举。
通过本实施例诊断树建立方法,节点延迟第二预定时间广播建树消息,能够避免广播包的冲突,提升诊断树建立的完备性,以便提高网络诊断的效率和准确性。
在本实施例中,在广播该建树消息后,该方法还包括:
步骤304,在延迟第三预定时间后广播确认消息。
在步骤304中,可以在延迟第三预定时间后,广播一次或一次以上确认消息,这样,可使得未加入该诊断树且应该加入该诊断树的节点,在收到该确认消息后,加入诊断树,进一步提升诊断树建立的完备性。
在本实施例中,该第三预定时间可以根据需要随机设定,并且本实施例并不对该第三预定时间和该第二预定时间的大小关系作限制。
由上述实施例可知,步骤304为可选步骤。
通过本实施例诊断树建立方法,节点延迟第二预定时间广播建树消息,能够避免广播包的冲突,提升诊断树建立的完备性,以便提高网络诊断的效率和准确性。另外,该节点还可在广播建树消息后,在延迟第三预定时间后广播确认消息,进一步提升诊断树建立的完备性。
实施例3
因为是广播建树消息,所以建树消息有可能丢包,这样会使得一些本应加入到诊断树的节点由于接收不到建树消息而无法加入诊断树;为了解决这一问题,本发明实施例3还提供了一种诊断树建立方法,图4是本发明实施例3的诊断树建立方法流程图,该方法应用于多跳网络中的节点。在本实施例中,针对接收确认消息的节点。请参照图4,该方法包括:
步骤401,节点接收确认消息;
步骤402,在该节点接收到确认消息且该节点还未加入诊断树,该确认消息中的故障节点是该节点的邻居节点时,该节点加入诊断树;
步骤403,在该节点加入了诊断树时,在延迟第二预定时间后广播建树消息。
在本实施例中,该确认消息可以包含根节点标识、故障节点标识、这个节点在诊断树中的父节点的标识或与诊断相关的信息,以上仅是对确认消息中可能包含的信息进行例举,但本实施例并不仅限于此。
在本实施例中,该第二预定时间随机生成。并且具体的生成第二预定时间的方法如实施例2该,此处不再赘述。
在本实施例中,在广播该建树消息后,该方法还包括:
步骤404,在延迟第三预定时间后广播确认消息。
在步骤404中,可以在延迟第三预定时间后,广播一次或一次以上确认消息,这样,可使得未加入该诊断树且应该加入该诊断树的节点,在收到该确认消息后,加入诊断树,进一步提升诊断树建立的完备性。
在本实施例中,该第三预定时间可以根据需要随机设定,并且本实施例并不对该第三预定时间和该第二预定时间的大小关系作限制。
由上述实施例可知,步骤404为可选步骤。
通过本实施例诊断树建立方法,在节点未加入诊断树且应加入诊断树时,在收到该确认消息后,加入诊断树,进一步提升诊断树建立的完备性;此外,该节点可延迟预定时间广播建树消息,并通过广播确认消息,能够避免广播包的冲突和建树消息的丢包,提升诊断树建立的完备性,以便提高网络诊断的效率和准确性。
实施例4
本发明实施例4还提供了一种网络故障诊断方法,图5是本发明实施例4的网络故障诊断方法流程图;该方法应用于多跳网络中的节点。在本实施例中,针对诊断树的中间节点。请参照图5,该方法包括:
步骤501,诊断树的中间节点根据接收的其他节点的诊断结果来修正当前自身的初步诊断结果;
在本实施例中,该诊断结果包括故障类型、或故障类型和故障链路标识;其中该故障类型包括“疑似节点故障”和“非节点故障”,故障链路标识包括本地节点标识和故障节点标识;
在本实施例中,“疑似节点故障”表示该节点和其下面所有诊断树中的节点全都和故障节点链路不正常;“非节点故障”表示该节点和其下面所有诊断树中的节点至少有一个和故障节点的链路正常。
其中,在该初始诊断结果为“疑似节点故障”时:
当收到的诊断结果是“疑似节点故障”时,对该初始诊断结果不进行修正;
当收到的诊断结果是“非节点故障”时,将该初始诊断结果修正为非节点故障,并且包含所有收集到的故障链路标识;
在该初始诊断结果是“非节点故障”时:
当收到的诊断结果是“疑似节点故障”时,对该初始诊断结果不进行修正,加入新的故障链路标识;
当收到的诊断结果是“非节点故障”,且在诊断结果中包含新的故障链路标识时,对该初始诊断结果不进行修正,且加入新的故障链路标识;
当收到的诊断结果是“非节点故障”,且在诊断结果中没有新的故障链路标识时,对该初始诊断结果不进行修正。
在本实施例中,在修正当前自身的初步诊断结果之前,该方法还可以包括:
步骤500,获得自身的初步诊断结果;
其中,初步诊断结果可以是疑似节点故障或非节点故障,如果节点自身无法与故障节点通信,则自身的初步诊断结果为“疑似节点故障”;如果节点自身与故障节点能够正常通信,则诊断结果为“非节点故障”。
在本实施例中,在该中间节点修正自身诊断结果后,该方法还可以包括:
步骤502,将诊断结果上报该中间节点的父节点;
例如,在本实施例中,用逻辑1和0来表示故障类型,其中可以用“1”表示“疑似节点故障”,用“0”表示“非节点故障”,将该节点的诊断结果中的故障类型与其子节点上报的诊断结果中的故障类型做“逻辑与”运算,即如果最初的诊断结果是1,如果收到任意子节点发送的诊断结果中判断为0,则修正诊断结果为0;此外,该节点还可将该初始诊断结果和/或修正的诊断结果上报给父节点。
在步骤502中,如果该诊断结果中包含故障链路标识,则一起上报给父节点。例如,如果节点自身无法与故障节点通信,则将“本地节点ID疑似节点ID”作为故障链路标识,加入到诊断结果中上报给父节点;诊断树中的中间节点同时要将接收到的诊断结果中的所有故障链路标识发送给其父节点。
在本实施例中,该诊断结果中还包含诊断出故障的时刻。
在步骤501中的诊断树可采用现有的建树方法构建,此外,还可采用本发明实施例2或3中的方法建立,其内容被合并与此,此处不再赘述。
由本实施例的上述融合数据收集方法可知,通过实时修正自身的诊断结果,能够处理信息的冗余,提高网络诊断效率和准确性。
实施例5
本发明实施例5还提供了一种网络故障诊断方法,图6是本发明实施例,5的网络故障诊断方法流程图,方法应用于多跳网络中的节点。在本实施例中,针对诊断树的根节点。请参照图6,该方法包括:
步骤601,诊断树的根节点根据接收的其他节点的诊断结果来修正当前自身的初步诊断结果;
在本实施例中,该诊断结果包括故障类型、或故障类型和故障链路标识;其中该故障类型包括“疑似节点故障”和“非节点故障”,故障链路标识包括本地节点标识和故障节点标识;
其中“疑似节点故障”表示该节点和其下面所有诊断树中的节点全都和故障节点链路不正常;“非节点故障”表示该节点和其下面所有诊断树中的节点至少有一个和故障节点的链路正常。
其中,在该初始诊断结果为“疑似节点故障”时:
当收到的诊断结果是“疑似节点故障”时,对该初始诊断结果不进行修正;
当收到的诊断结果是“非节点故障”时,将该初始诊断结果修正为非节点故障,并且包含所有收集到的故障链路标识;
在该初始诊断结果是“非节点故障”时:
当收到的诊断结果是“疑似节点故障”时,对该初始诊断结果不进行修正,加入新的故障链路标识;
当收到的诊断结果是“非节点故障”,且在诊断结果中包含新的故障链路标识时,对该初始诊断结果不进行修正,且加入新的故障链路标识;
当收到的诊断结果是“非节点故障”,且在诊断结果中没有新的故障链路标识时,对该初始诊断结果不进行修正。
在本实施例中,下表1可以表示该根节点的诊断结果状态变化情况
表1
在本实施例中,在根节点修正当前自身的初步诊断结果之前,该方法还可以包括:
步骤600,获得自身的初步诊断结果;
其中,初步诊断结果可以是疑似节点故障或非节点故障,如果节点自身无法与故障节点通信,则自身的初步诊断结果为“疑似节点故障”;如果节点自身与故障节点能够正常通信,则诊断结果为“非节点故障”。
在本实施例中,在该根节点修正自身诊断结果后,该方法还可以包括:
步骤602,该根节点将诊断结果上报网关;
其中,当诊断结果为“非节点故障”时,向该网关上报“链路故障”,并且包含所有的故障链路标识;或者,当诊断结果为“疑似节点故障”时,该根节点根据收到的诊断结果数目进行一次或一次以上诊断,并将诊断结果向该网关上报。
在本实施例步骤602中,该诊断结果的发送次数与故障链路数量或故障节点的邻居节点的数量成一定的映射关系。例如,当诊断结果为“非节点故障”时,发送诊断结果的次数为故障链路的数量;当诊断结果为“疑似节点故障”时,发送诊断结果的次数为故障节点的邻居节点的数量。
在步骤602中,如果在预定时间内未接到该网关返回的确认消息时,则再次向该网关发送该诊断结果;或者,以大于发送普通数据包的功率来发送该诊断结果;或者,在该诊断结果到达网关的路径上,每个节点保证将该诊断结果成功发送给下一跳。
在本实施例中,该诊断结果中还包含诊断出故障的时刻。
在本实施例网关侧,该网关接收该根节点上报的针对相同故障节点的诊断结果,该诊断结果包含时间戳(即对该故障节点诊断出故障的时刻)和故障类型、或故障类型和故障链路标识;该网关将时间戳较后的诊断结果作为当前的诊断结果。因此当网关收到时间戳较后的诊断结果和之前收到的诊断结果不一样时,用时间戳较后的诊断结果替换原来的结果。
在步骤601中的诊断树可采用现有的建树方法构建,此外,还可采用本发明实施例1中的方法建立,其内容被合并与此,此处不再赘述。
由本实施例的上述融合数据收集方法可知,通过实时修正自身的诊断结果,能够处理信息的冗余,通过特定的策略设定根节点将诊断结果的向网关上报的次数,可以避免上报过程中的丢包问题,提高网络诊断效率和准确性。
实施例6
本发明实施例6还提供了一种网络中的节点,由于该节点解决问题的原理与实施例1的方法类似,因此其具体的实施可以参照实施例1的方法的实施,重复之处不再赘述。
图7是本发明实施例6的多跳网络中的节点结构示意图。该节点对应发现故障的根节点。如图7所示,节点700包括:第一广播单元701、时间设定单元702,其中,
第一广播单元701在节点发现故障时,延迟第一预定时间广播建树消息,以建立诊断树;
时间设定单元702,其用于随机设定该第一预定时间;或者根据邻居节点对该节点的接收质量来计算该第一预定时间。
在本实施例中,该建树消息所包含的信息如实施例1所述,此处不再赘述。
由上述实施例可知,在根节点的第一广播单元发现故障后,延后一段时间BO广播建树消息,能够避免广播包的冲突,提升诊断树建立的完备性。
在本实施例中,在时间设定单元702根据邻居节点对该节点的接收质量来计算该第一预定时间时,该时间设定单元702还可以包括:
第一处理单元7021,其用于接收该邻居节点对该节点的接收质量,并对该接收质量进行加强平均以获得该接收质量;或者,根据对该邻居节点HELLO包的接收情况来计算该接收质量;
在第一处理单元7021中,在根据对该邻居节点HELLO包的接收情况来计算该接收质量时,可以采用实施例1中的公式(1)计算,此处不再赘述。
在本实施例中,在通过第一处理单元7021确定该根节点的接收质量后,该时间设定单元702还可以包括:
第一计算单元7022,其用于计算该第一预定时间。
其中,该第一计算单元7022可采用实施例1中的公式(2)~(5)计算该第一预定时间,此处不再赘述。
图10是本发明实施例的节点1000的构成示意框图,如图10所示,该节点1000包括存储器1002、处理器1003,存储器1002耦合到处理器1003。其中,该存储器1002可存储建树消息;此外还存储与建立诊断树相关的程序,并且在处理器1003的控制下执行该程序,以实现节点诊断树的建立。
在一个实施方式中,上述节点的功能单元可以被集成到处理器1003中,其中,该处理器1003可以被配置为用于在节点发现故障时,延迟第一预定时间广播建树消息,以建立诊断树,其具体的实现方式如上所述,此处不再重复。
在另一个实施方式中,上述节点的功能单元可以与处理器分开配置,例如可以将其配置为与处理器1003连接的芯片,通过处理器的控制来实现节点诊断树建立的功能。
此外,如图10所示,该节点还可以包括传感器1001、收发器1004和电源模块1005等。其中,上述部件的功能与现有技术类似,此处不再赘述。值得注意的是,节点1000也并不是必须要包括图10中所示的所有部件;此外,节点1000还可以包括图10中没有示出的部件,可以参考现有技术。在本实施例中,仅例举了上述第一处理单元7021和第一计算单元7022的几种实施方法,还可采用其他方法,此处不一一例举。
由本实施例的上述节点可知,根节点延迟第一预定时间广播建树消息,能够避免广播包的冲突,提升诊断树建立的完备性,以便提高网络诊断的效率和准确性。
实施例7
本发明实施例7还提供了一种网络中的节点,由于该节点解决问题的原理与实施例2的方法类似,因此其具体的实施可以参照实施例2的方法的实施,重复之处不再赘述。
图8是本发明实施例7的多跳网络中的节点结构示意图。该节点针对接收建树消息的节点。如图8所示,该节点800包括:第一接收单元801、第二处理单元802、第二广播单元803,其中,
第一接收单元801,其用于接收广播的建树消息;第二处理单元802,其用于在该第一接收单元801接收到建树消息,且该建树消息中的故障节点是该节点的邻居节点时,将该节点加入诊断树;第二广播单元803,其在延迟第二预定时间后广播建树消息。
在本实施例中,该建树消息所包含的信息如实施例2所述,此处不再赘述。
在本实施例中,该节点还可以包括:
时间生成单元804,其用于随机生成该第二预定时间;
在本实施例中,时间生成单元804中还可根据该节点在诊断树中的深度(跳数)生成该第二预定时间的取值范围;或者使用实施例2中的公式(6)~(7)确定该第二预定时间的取值范围。
在本实施例中,该时间生成单元804随机生成该第二预定时间并不限于上述实施方式,还可采用其他方法,此处不一一例举。
由本实施例的上述节点可知,该节点延迟第二预定时间广播建树消息,能够避免广播包的冲突,提升诊断树建立的完备性,以便提高网络诊断的效率和准确性。
在本实施例中,该节点还可以包括:
第三广播单元805,其用于在该第二广播单元803广播该建树消息后,在延迟第三预定时间后广播确认消息。
其中,该第三广播单元804可以在延迟第三预定时间后,广播一次或一次以上确认消息,这样,可使得未加入该诊断树且应该加入该诊断树的节点,在收到该确认消息后,加入诊断树,进一步提升诊断树建立的完备性。
在本实施例中,该第三预定时间可以根据需要随机设定,并且本实施例并不对该第三预定时间和该第二预定时间的大小关系作限制。
以下可参照附图10来说明本实施例的节点的构成。与实施例6的相同之处不再赘述,以下对本实施例与实施例6的不同之处进行说明。其与实施例6的不同之处在于,该处理器1003,其被配置为用于节点接收建树消息,并在根据建树消息判断应该加入诊断树后,广播建树消息,其具体的内容被合并于此,此处不再重复。
其中,存储器1002,可储存上述建树消息,此外还可存储执行上述与建立诊断树相关的程序。并且在处理器1003的控制下执行该程序,以实现诊断树的建立。
由本实施例的上述节点可知,该节点延迟第二预定时间广播建树消息,能够避免广播包的冲突,提升诊断树建立的完备性,以便提高网络诊断的效率和准确性。另外,该节点还可在广播建树消息后,在延迟第三预定时间后广播确认消息,进一步提升诊断树建立的完备性。
实施例8
本发明实施例8还提供了一种网络中的节点,由于该节点解决问题的原理与实施例3的方法类似,因此其具体的实施可以参照实施例3的方法的实施,重复之处不再赘述。
与实施例7中的节点不同之处在于,该第一接收单元801用于接收确认消息;该第一处理单元802用于在该节点接收到确认消息且该节点还未加入诊断树,且该确认消息中的故障节点是该节点的邻居节点时,将该节点加入诊断树;
在本实施例中,该确认消息所包含的信息如实施例3所述,此处不再赘述。
以下可参照附图10来说明本实施例的节点的构成。与实施例6的相同之处不再赘述,以下对本实施例与实施例6的不同之处进行说明。其与实施例6的不同之处在于,该处理器1003,其被配置为用于节点接收确认消息,并在根据确认消息判断应该加入诊断树后,广播建树消息,其具体的内容被合并于此,此处不再重复。
其中,存储器1002,可储存上述确认消息,此外还可存储执行上述与建立诊断树相关的程序。并且在处理器1003的控制下执行该程序,以实现诊断树的建立。
由本实施例的上述节点可知,在节点未加入诊断树且应加入诊断树时,在收到该确认消息后,加入诊断树,进一步提升诊断树建立的完备性;此外,该节点可延迟预定时间广播建树消息,并通过广播确认消息,能够避免广播包的冲突和建树消息的丢包,提升诊断树建立的完备性,以便提高网络诊断的效率和准确性。
实施例9
本发明实施例9还提供了一种网络中的节点,由于该节点解决问题的原理与实施例4的方法类似,因此其具体的实施可以参照实施例4的方法的实施,重复之处不再赘述。
图9是本发明实施例9的多跳网络中的节点结构示意图。该节点针对诊断树的中间节点。如图9所示,该节点900包括:第二接收单元901、第一修正单元902,其中,
第二接收单元901,其用于接收其它节点上报的诊断结果;该诊断结果包括故障类型、或故障类型和故障链路标识;其中该故障类型包括疑似节点故障和非节点故障,故障链路标识包括本地节点标识和故障节点标识;该疑似节点故障表示该节点和该节点下面所有诊断树中的节点全都与故障节点链路不正常;该非节点故障表示该节点和该节点下面所有诊断树中的节点至少有一个节点与故障节点的链路正常;
第一修正单元902,其根据该第二接收单元901接收的其它节点上报的诊断结果来修正当前自身的初步诊断结果;
其中,在该初始诊断结果为“疑似节点故障”时:
当该第二接收单元901收到的诊断结果是“疑似节点故障”时,该第一修正单元902对该初始诊断结果不进行修正;
当该第二接收单元901收到的诊断结果是“非节点故障”时,该第一修正单元902将该初始诊断结果修正为非节点故障,并且包含所有收集到的故障链路标识;
在该初始诊断结果是“非节点故障”时:
当该第二接收单元901收到的诊断结果是“疑似节点故障”时,该第一修正单元902对该初始诊断结果不进行修正,加入新的故障链路标识;
当该第二接收单元901收到的诊断结果是“非节点故障”,且在诊断结果中包含新的故障链路标识时,该第一修正单元902对该初始诊断结果不进行修正,且加入新的故障链路标识;
当该第二接收单元901收到的诊断结果是“非节点故障”,且在诊断结果中没有新的故障链路标识时,该第一修正单元902对该初始诊断结果不进行修正。
在本实施例中,该第一修正单元902对初始诊断结果的具体处理方法如实施例4所述,此处不再赘述。
在本实施例中,该节点还可以包括:
第一获取单元(图中未示出),其用于获得自身的初步诊断结果;
其中,初步诊断结果可以是疑似节点故障或非节点故障,如果节点自身无法与故障节点通信,则自身的初步诊断结果为“疑似节点故障”;如果节点自身与故障节点能够正常通信,则诊断结果为“非节点故障”。
在本实施例中,在该第一修正单元修正自身诊断结果后,该节点还可以包括:
第一上报单元903,将该第一修正单元902中的诊断结果上报该节点的父节点;
其中,该第一上报单元903的具体实施过程与实施例4中步骤802类似,此处不再赘述。
在本实施例中,该第二接收单元901接收的诊断结果中还可以包含诊断出故障的时刻。
其中,本实施例的节点,还可以包括如实施例7或实施例8所述的内容,用于诊断树的建立,其内容被合并与此,此处不再赘述。
以下可参照附图10来说明本实施例的节点的构成。与实施例6的相同之处不再赘述,以下对本实施例与实施例6的不同之处进行说明。其与实施例6的不同之处在于,该处理器1003,其被配置为用于根据接收的其它节点上报的诊断结果来修正当前自身的初步诊断结果,并将结果上报其父节点。另外该处理器还可以同时配置用于实现实施例7或实施例8中的处理器的功能,其具体的内容被合并于此,此处不再重复。
其中,存储器1002,可储存上述上报的诊断结果和初步诊断结果,此外还可存储执行上述与故障诊断相关的程序。并且在处理器1003的控制下执行该程序,以实现故障的诊断。此外该存储器1002还可以用于存储如实施例7或实施例8中的存储器存储的程序。
由本实施例的上述节点可知,通过实时修正自身的诊断结果,能够处理信息的冗余,提高网络诊断效率和准确性。
实施例10
本发明实施例10还提供了一种网络中的节点,由于该节点解决问题的原理与实施例5的方法类似,因此其具体的实施可以参照实施例5的方法的实施,重复之处不再赘述。
与实施例9中的节点不同之处在于,该节点为诊断树中的根节点,该根节点的第一上报单元903,其将该第一修正单元902中的诊断结果上报网关;
其中,当第一修正单元902中的诊断结果为“非节点故障”时,向该网关上报“链路故障”,并且包含所有的故障链路标识;或者,当第一修正单元902诊断结果为“疑似节点故障”时,该第一修正单元902根据收到的诊断结果数目进行一次或一次以上诊断,该第一上报单元903再将诊断结果向该网关上报。
其中,第一上报单元903发送次数与故障链路数量或故障节点的邻居节点的数量成一定的映射关系。例如,当该第一修正单元902诊断结果为“非节点故障”时,该第一上报单元903发送诊断结果的次数为故障链路的数量;当该第一修正单元902诊断结果为“疑似节点故障”时,该第一上报单元903发送诊断结果的次数为故障节点的邻居节点的数量。
在本实施例中,为避免该根节点向网关上报过程中的丢包问题,该节点还可以包括:
第一确定单元(图中未示出),其用于判断在预定时间内是否接到该网关返回的确认消息;
其中,并且该第一上报单元903用于在未收到该确认消息时,再次向该网关发送该诊断结果;或者,该第一上报单元903以大于发送普通数据包的功率来发送该诊断结果。
在本实施例中,该第二接收单元901接收的诊断结果中还包含诊断出故障的时刻。在本实施例的网关侧,该网关接收该根节点上报的针对相同故障节点的诊断结果,该诊断结果包含时间戳(即对该故障节点诊断出故障的时刻)和故障类型、或故障类型和故障链路标识;该网关将时间戳较后的诊断结果作为当前的诊断结果。因此当网关收到时间戳较后的诊断结果和之前收到的诊断结果不一样时,用时间戳较后的诊断结果替换原来的结果。
其中,本实施例的节点,还可以包括如实施例6所述的内容,用于诊断树的建立,其内容被合并与此,此处不再赘述。
以下可参照附图10来说明本实施例的节点的构成。与实施例6的相同之处不再赘述,以下对本实施例与实施例6的不同之处进行说明。其与实施例6的不同之处在于,该处理器1003,其被配置为用于根据接收的其它节点上报的诊断结果来修正当前自身的初步诊断结果,并将该结果上报网关,另外该处理器还可以同时配置用于实现实施例6中的处理器的功能,其具体的内容被合并于此,此处不再重复。
其中,存储器1002,可储存上述上报的诊断结果和初步诊断结果,此外还可存储执行上述与故障诊断相关的程序。并且在处理器1003的控制下执行该程序,以实现故障的诊断。此外该存储器1002还可以用于存储如实施例6中的存储器存储的程序。
由本实施例的上述节点可知,通过实时修正自身的诊断结果,能够处理信息的冗余,通过特定的策略设定根节点将诊断结果的向网关上报的次数,可以避免上报过程中的丢包问题,提高网络诊断效率和准确性。
本发明实施例还提供一种计算机可读程序,其中当在节点中执行所述程序时,所述程序使得计算机在所述节点中执行如上面实施例1或实施例2或实施例3所述的诊断树建立方法。
本发明实施例还提供一种存储有计算机可读程序的存储介质,其中所述计算机可读程序使得计算机在节点中执行上面实施例1或实施例2或实施例3所述的诊断树建立方法。
本发明实施例还提供一种计算机可读程序,其中当在节点中执行所述程序时,所述程序使得计算机在所述节点中执行如上面实施例4或实施例5所述的故障诊断方法。
本发明实施例还提供一种存储有计算机可读程序的存储介质,其中所述计算机可读程序使得计算机在节点中执行上面实施例4或实施例5所述的故障诊断方法。
以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此所附权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
应当理解,本发明的各部分可以用硬件、软件、固件或者它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可以用本领域共知的下列技术中的任一项或者他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
关于包括以上多个实施例的实施方式,还公开下述的附记。
附记1、一种诊断树建立方法,其中,所述方法包括:
在节点发现故障时,所述节点延迟第一预定时间广播建树消息,以建立诊断树;
其中,所述第一预定时间随机设定;或者根据邻居节点对所述节点的接收质量(RQ,Receiving Quality,)来计算所述第一预定时间。
附记2、根据附记1所述的方法,其中,接收质量越好,所述第一预定时间越小;否则所述第一预设时间越大。
附记3、根据附记1所述的方法,其中,所述方法还包括:
接收所述邻居节点对所述节点的接收质量,并对接收到的接收质量进行加强平均以获得最终的所述接收质量;或者,
根据对所述邻居节点HELLO包的接收情况来计算所述接收质量。
附记4、一种诊断树建立方法,其中,所述方法包括:
节点接收广播的建树消息或确认消息;
在所述节点接收到建树消息,且所述建树消息中的故障节点是所述节点的邻居节点时,或者在所述节点接收到确认消息、所述节点还未加入诊断树,且所述确认消息中的故障节点是所述节点的邻居节点时,所述节点加入诊断树;
在延迟第二预定时间后广播建树消息,和/或确认消息。
附记5、根据附记4所述的方法,其中,所述方法还包括:随机生成所述第二预定时间;或者,根据所述节点在诊断树中的深度生成所述第二预定时间;或者,
根据所述节点与故障节点的距离、以及所述节点与建树消息的发送节点的距离的关系来计算所述第二预定时间的取值范围;
其中α和β为参数;或者,
Tmax表示第二预定时间的最大值;D1表示节点与故障节点的距离;D2表示节点与建树消息的发送节点的距离。
附记6、一种网络故障诊断方法,所述方法包括:
诊断树的中间节点或根节点根据接收的其他节点的诊断结果来修正当前自身的初步诊断结果;
所述诊断结果包括故障类型、或故障类型和故障链路标识;其中所述故障类型包括疑似节点故障和非节点故障,故障链路标识包括本地节点标识和故障节点标识;
所述疑似节点故障表示所述节点和所述节点下面所有诊断树中的节点全都与故障节点链路不正常;所述非节点故障表示所述节点和所述节点下面所有诊断树中的节点至少有一个节点与故障节点的链路正常;
其中,在所述初始诊断结果为疑似节点故障时:
当收到的诊断结果是疑似节点故障时,对所述初始诊断结果不进行修正;
当收到的诊断结果是非节点故障时,将所述初始诊断结果修正为非节点故障,并且包含所有收集到的故障链路标识;
在所述初始诊断结果是非节点故障时:
当收到的诊断结果是疑似节点故障时,对所述初始诊断结果不进行修正,加入新的故障链路标识;
当收到的诊断结果是非节点故障,且在诊断结果中包含新的故障链路标识时,对所述初始诊断结果不进行修正,且加入新的故障链路标识;
当收到的诊断结果是非节点故障,且在诊断结果中没有新的故障链路标识时,对所述初始诊断结果不进行修正。
附记7、根据附记6所述的方法,其中,所述方法还包括:所述中间节点将诊断结果上报所述中间节点的父节点,所述根节点将诊断结果上报网关;
其中,当诊断结果为所述非节点故障时,所述根节点向所述网关上报链路故障,并且包含所有的故障链路标识;当诊断结果为所述疑似节点故障时,所述根节点根据从所述诊断树中收到的诊断结果数目进行一次或一次以上诊断,并将诊断结果向所述网关上报。
附记8、根据附记7所述的方法,其中所述根节点向所述网关发送诊断结果的发送次数与故障链路数量或故障节点的邻居节点的数量成一定的映射关系。
附记9、根据附记7所述的方法,其中,所述方法还包括:在所述根节点在预定时间内未接到所述网关返回的确认消息时,再次向所述网关发送所述诊断结果;或者,
以大于发送普通数据包的功率来发送所述诊断结果;或者,
在所述诊断结果到达网关的路径上,每个节点保证将所述诊断结果成功发送给下一跳。
附记10、一种网络中的节点,其中,所述节点包括:
第一广播单元,所述第一广播单元在节点发现故障时,延迟第一预定时间广播建树消息,以建立诊断树;
时间设定单元,所述时间设定单元用于随机设定所述第一预定时间;或者根据邻居节点对所述节点的接收质量来计算所述第一预定时间。
附记11、根据附记10所述的节点,其中,接收质量越好,所述第一预定时间越小;否则所述第一预设时间越大。
附记12、根据附记10所述的节点,其中,所述时间设定单元还包括:
第一处理单元,所述第一处理单元用于接收所述邻居节点对所述节点的接收质量,并对所述接收质量进行加强平均以获得所述接收质量;或者,根据对所述邻居节点HELLO包的接收情况来计算所述接收质量;
第一计算单元,所述第一计算单元用于采用如下方式来计算所述第一预定时间;
其中,BO=(t2-t1)·F(RQ);
其中,BO表示是所述第一预定时间,t2>t1,RQ表示接收质量;F(RQ)是取值在[0,1]之间的函数,F(RQ)和接收质量RQRQ成反比关系;其中, 或者,
BO=(t2-t1)·F(RQ,HOP,NN);
其中,t2>t1,F(RQ,HOP,NN)是取值在[0,1]之间的函数,HOP表示诊断树的跳数;NN表示节点的邻居节点的数量;F(RQ,HOP,NN)与是和接收质量RQ成反比关系,和与节点在诊断树中的跳数HOP成正比关系,和与节点的邻居节点数量NN成反比关系, 其中,
附记13、一种网络中的节点,其中,所述节点包括:
第一接收单元,所述第一接收单元用于接收广播的建树消息或确认消息;
第二处理单元,所述第二处理单元用于在所述第一接收单元接收到建树消息,且所述建树消息中的故障节点是所述节点的邻居节点时,或者用于在所述第一接收单元接收到确认消息且所述节点还未加入诊断树,且所述确认消息中的故障节点是所述节点的邻居节点时,将所述节点加入诊断树;
第二广播单元,所述第二广播单元用于在延迟第二预定时间后广播所述建树消息。
附记14、根据附记13所述的节点,其中,所述节点包括:
时间生成单元,所述时间生成单元用于随机生成所述第二预定时间;
或者,所述时间生成单元用于根据所述节点在诊断树中的深度生成所述第二预定时间;或者根据所述节点与故障节点的距离、所述节点与建树消息的发送节点的距离的关系来计算所述第二预定时间的取值范围;
其中α和β为参数;或者,
Tmax表示第二预定时间的最大值;D1表示节点与故障节点的距离;D2表示节点与建树消息的发送节点的距离。
附记15、根据附记13所述的节点,其中,所述节点还包括:
第三广播单元,所述第三广播单元用于在所述第二广播单元广播所述建树消息后,延迟第三预定时间后广播确认消息。
附记16、一种网络中的节点,所述节点为诊断树中的节点,其中所述节点包括:
第二接收单元,所述第二接收单元用于接收其它节点上报的诊断结果;所述诊断结果包括故障类型、或故障类型和故障链路标识;其中所述故障类型包括疑似节点故障和非节点故障,故障链路标识包括本地节点标识和故障节点标识;所述疑似节点故障表示所述节点和所述节点下面所有诊断树中的节点全都与故障节点链路不正常;所述非节点故障表示所述节点和所述节点下面所有诊断树中的节点至少有一个节点与故障节点的链路正常;
第一修正单元,所述第一修正单元根据所述第二接收单元接收的其它节点上报的诊断结果来修正当前自身的初步诊断结果;
其中,在所述初始诊断结果为疑似节点故障时:
当所述第二接收单元收到的诊断结果是疑似节点故障时,所述第一修正单元对所述初始诊断结果不进行修正;
当所述第二接收单元收到的诊断结果是非节点故障时,所述第一修正单元将所述初始诊断结果修正为非节点故障,并且包含所有收集到的故障链路标识;
在所述初始诊断结果是非节点故障时:
当所述第二接收单元收到的诊断结果是疑似节点故障时,所述第一修正单元对所述初始诊断结果不进行修正,加入新的故障链路标识;
当所述第二接收单元收到的诊断结果是非节点故障,且在诊断结果中包含新的故障链路标识时,所述第一修正单元对所述初始诊断结果不进行修正,且加入新的故障链路标识;
当所述第二接收单元收到的诊断结果是非节点故障,且在诊断结果中没有新的故障链路标识时,所述第一修正单元对所述初始诊断结果不进行修正。
附记17、根据附记16所述的节点,其中,所述节点还包括:
第一上报单元,所述第一上报单元用于在所述节点为中间节点时,将所述第一修正单元中的诊断结果上报所述中间节点的父节点,或者在所述节点为根节点时,将所述第一修正单元中的诊断结果上报网关;
其中,当所述节点为根节点,且其第一修正单元诊断结果为非节点故障时,所述第一上报单元向所述网关上报链路故障,并且包含所有的故障链路标识;或者,当第一修正单元诊断结果为疑似节点故障时,所述第一修正单元根据收到的诊断结果数目进行一次或一次以上诊断,所述第一上报单元再将诊断结果向所述网关上报。
附记18、根据附记16所述的节点,其中,所述第二接收单元接收的诊断结果中还包含诊断出故障的时刻。
附记19、根据附记17所述的节点,其中在所述节点为根节点时,其中,所述第一上报单元的发送次数与故障链路数量或故障节点的邻居节点的数量成一定的映射关系。
附记20、根据附记17所述的节点,其中,当所述节点为根节点时,所述节点还包括:
第一确定单元,所述第一确定单元用于判断在预定时间内是否接到所述网关返回的确认消息;
并且所述第一上报单元用于在未收到所述确认消息时,再次向所述网关发送所述诊断结果;或者,所述第一上报单元以大于发送普通数据包的功率来发送所述诊断结果。
Claims (13)
1.一种诊断树建立方法,其中,所述方法包括:
在节点发现故障时,所述节点延迟第一预定时间广播建树消息,以建立诊断树;
其中,所述第一预定时间随机设定;或者根据邻居节点对所述节点的接收质量(RQ,Receiving Quality,)来计算所述第一预定时间。
2.根据权利要求1所述的方法,其中,接收质量越好,所述第一预定时间越小;否则所述第一预设时间越大。
3.一种诊断树建立方法,其中,所述方法包括:
节点接收广播的建树消息或确认消息;
在所述节点接收到建树消息,且所述建树消息中的故障节点是所述节点的邻居节点时,或者在所述节点接收到确认消息、所述节点还未加入诊断树,且所述确认消息中的故障节点是所述节点的邻居节点时,所述节点加入诊断树;
在延迟第二预定时间后广播建树消息、和/或确认消息。
4.根据权利要求3所述的方法,其中,所述方法还包括:随机生成所述第二预定时间;或者,根据所述节点在诊断树中的深度生成所述第二预定时间;或者,
根据所述节点与故障节点的距离、以及所述节点与建树消息的发送节点的距离的关系来计算所述第二预定时间的取值范围;
其中α和β为参数;或者,
Tmax表示第二预定时间的最大值;D1表示节点与故障节点的距离;D2表示节点与建树消息的发送节点的距离。
5.一种网络故障诊断方法,所述方法包括:
诊断树的中间节点或根节点根据接收的其他节点的诊断结果来修正当前自身的初步诊断结果;
所述诊断结果包括故障类型、或故障类型和故障链路标识;其中所述故障类型包括疑似节点故障和非节点故障,故障链路标识包括本地节点标识和故障节点标识;
所述疑似节点故障表示所述节点和所述节点下面所有诊断树中的节点全都与故障节点链路不正常;所述非节点故障表示所述节点和所述节点下面所有诊断树中的节点至少有一个节点与故障节点的链路正常;
其中,在所述初始诊断结果为疑似节点故障时:
当收到的诊断结果是疑似节点故障时,对所述初始诊断结果不进行修正;
当收到的诊断结果是非节点故障时,将所述初始诊断结果修正为非节点故障,并且包含所有收集到的故障链路标识;
在所述初始诊断结果是非节点故障时:
当收到的诊断结果是疑似节点故障时,对所述初始诊断结果不进行修正,加入新的故障链路标识;
当收到的诊断结果是非节点故障,且在诊断结果中包含新的故障链路标识时,对所述初始诊断结果不进行修正,且加入新的故障链路标识;
当收到的诊断结果是非节点故障,且在诊断结果中没有新的故障链路标识时,对所述初始诊断结果不进行修正。
6.根据权利要求5所述的方法,其中,所述方法还包括:所述中间节点将诊断结果上报所述中间节点的父节点,所述根节点将诊断结果上报网关;
其中,当诊断结果为所述非节点故障时,所述根节点向所述网关上报链路故障,并且包含所有的故障链路标识;当诊断结果为所述疑似节点故障时,所述根节点根据从所述诊断树中收到的诊断结果数目进行一次或一次以上诊断,并将诊断结果向所述网关上报。
7.根据权利要求6所述的方法,其中所述根节点向所述网关发送诊断结果的发送次数与故障链路数量或故障节点的邻居节点的数量成一定的映射关系。
8.一种网络中的节点,其中,所述节点包括:
第一广播单元,所述第一广播单元在节点发现故障时,延迟第一预定时间广播建树消息,以建立诊断树;
时间设定单元,所述时间设定单元用于随机设定所述第一预定时间;或者根据邻居节点对所述节点的接收质量来计算所述第一预定时间。
9.一种网络中的节点,其中,所述节点包括:
第一接收单元,所述第一接收单元用于接收广播的建树消息或确认消息;
第二处理单元,所述第二处理单元用于在所述第一接收单元接收到建树消息,且所述建树消息中的故障节点是所述节点的邻居节点时,或者用于在所述第一接收单元接收到确认消息且所述节点还未加入诊断树,且所述确认消息中的故障节点是所述节点的邻居节点时,将所述节点加入诊断树;
第二广播单元,所述第二广播单元用于在延迟第二预定时间后广播建树消息,和/或确认消息。
10.根据权利要求9所述的节点,其中,所述节点包括:
时间生成单元,所述时间生成单元用于随机生成所述第二预定时间;
或者,所述时间生成单元用于根据所述节点在诊断树中的深度生成所述第二预定时间;或者根据所述节点与故障节点的距离、所述节点与建树消息的发送节点的距离的关系来计算所述第二预定时间的取值范围;
其中α和β为参数;或者,
Tmax表示第二预定时间的最大值;D1表示节点与故障节点的距离;D2表示节点与建树消息的发送节点的距离。
11.一种网络中的节点,所述节点为诊断树中的节点,其中所述节点包括:
第二接收单元,所述第二接收单元用于接收其它节点上报的诊断结果;所述诊断结果包括故障类型、或故障类型和故障链路标识;其中所述故障类型包括疑似节点故障和非节点故障,故障链路标识包括本地节点标识和故障节点标识;所述疑似节点故障表示所述节点和所述节点下面所有诊断树中的节点全都与故障节点链路不正常;所述非节点故障表示所述节点和所述节点下面所有诊断树中的节点至少有一个节点与故障节点的链路正常;
第一修正单元,所述第一修正单元根据所述第二接收单元接收的其它节点上报的诊断结果来修正当前自身的初步诊断结果;
其中,在所述初始诊断结果为疑似节点故障时:
当所述第二接收单元收到的诊断结果是疑似节点故障时,所述第一修正单元对所述初始诊断结果不进行修正;
当所述第二接收单元收到的诊断结果是非节点故障时,所述第一修正单元将所述初始诊断结果修正为非节点故障,并且包含所有收集到的故障链路标识;
在所述初始诊断结果是非节点故障时:
当所述第二接收单元收到的诊断结果是疑似节点故障时,所述第一修正单元对所述初始诊断结果不进行修正,加入新的故障链路标识;
当所述第二接收单元收到的诊断结果是非节点故障,且在诊断结果中包含新的故障链路标识时,所述第一修正单元对所述初始诊断结果不进行修正,且加入新的故障链路标识;
当所述第二接收单元收到的诊断结果是非节点故障,且在诊断结果中没有新的故障链路标识时,所述第一修正单元对所述初始诊断结果不进行修正。
12.根据权利要求11所述的节点,其中,所述节点还包括:
第一上报单元,所述第一上报单元用于在所述节点为中间节点时,将所述第一修正单元中的诊断结果上报所述中间节点的父节点,或者在所述节点为根节点时,将所述第一修正单元中的诊断结果上报网关;
其中,当所述节点为根节点,且其第一修正单元诊断结果为非节点故障时,所述第一上报单元向所述网关上报链路故障,并且包含所有的故障链路标识;或者,当第一修正单元诊断结果为疑似节点故障时,所述第一修正单元根据收到的诊断结果数目进行一次或一次以上诊断,所述第一上报单元再将诊断结果向所述网关上报。
13.根据权利要求12所述的节点,其中在所述节点为根节点时,其中,所述第一上报单元的发送次数与故障链路数量或故障节点的邻居节点的数量成一定的映射关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310624869.9A CN104683129B (zh) | 2013-11-28 | 2013-11-28 | 诊断树建立方法、网络故障诊断方法及其节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310624869.9A CN104683129B (zh) | 2013-11-28 | 2013-11-28 | 诊断树建立方法、网络故障诊断方法及其节点 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104683129A true CN104683129A (zh) | 2015-06-03 |
CN104683129B CN104683129B (zh) | 2019-02-15 |
Family
ID=53317762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310624869.9A Expired - Fee Related CN104683129B (zh) | 2013-11-28 | 2013-11-28 | 诊断树建立方法、网络故障诊断方法及其节点 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104683129B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981331A (zh) * | 2017-12-28 | 2019-07-05 | 北京华为数字技术有限公司 | 一种故障诊断方法及装置 |
CN109981454A (zh) * | 2019-03-29 | 2019-07-05 | 中国人民银行清算总中心 | 动态路由广播报文的广播控制方法和装置 |
CN113676938A (zh) * | 2021-08-19 | 2021-11-19 | 上海上实龙创智能科技股份有限公司 | 一种故障检测方法、装置、存储介质及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001055806A1 (de) * | 2000-01-29 | 2001-08-02 | Abb Research Ltd. | Verfahren zum automatisierten generieren einer fehlerbaumstruktur |
CN101162946A (zh) * | 2007-11-21 | 2008-04-16 | 北京邮电大学 | 基于串行同源机制的故障通告装置及其方法 |
JP2009529846A (ja) * | 2006-03-16 | 2009-08-20 | サムスン エレクトロニクス カンパニー リミテッド | ツリー案内分散型リンクステートルーティング方法 |
CN102830626A (zh) * | 2012-09-13 | 2012-12-19 | 武汉瑞莱保能源技术有限公司 | 基于故障树的多层次电力系统故障诊断系统 |
CN102955715A (zh) * | 2012-11-20 | 2013-03-06 | 中国兵器工业计算机应用技术研究所 | 一种故障树的建立方法 |
CN103023665A (zh) * | 2011-09-23 | 2013-04-03 | 华为技术有限公司 | 一种组播业务保护的方法、网络设备和系统 |
CN103049346A (zh) * | 2012-12-11 | 2013-04-17 | 工业和信息化部电子第五研究所 | 基于失效物理的元器件故障树构建方法和系统 |
-
2013
- 2013-11-28 CN CN201310624869.9A patent/CN104683129B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001055806A1 (de) * | 2000-01-29 | 2001-08-02 | Abb Research Ltd. | Verfahren zum automatisierten generieren einer fehlerbaumstruktur |
JP2009529846A (ja) * | 2006-03-16 | 2009-08-20 | サムスン エレクトロニクス カンパニー リミテッド | ツリー案内分散型リンクステートルーティング方法 |
CN101162946A (zh) * | 2007-11-21 | 2008-04-16 | 北京邮电大学 | 基于串行同源机制的故障通告装置及其方法 |
CN103023665A (zh) * | 2011-09-23 | 2013-04-03 | 华为技术有限公司 | 一种组播业务保护的方法、网络设备和系统 |
CN102830626A (zh) * | 2012-09-13 | 2012-12-19 | 武汉瑞莱保能源技术有限公司 | 基于故障树的多层次电力系统故障诊断系统 |
CN102955715A (zh) * | 2012-11-20 | 2013-03-06 | 中国兵器工业计算机应用技术研究所 | 一种故障树的建立方法 |
CN103049346A (zh) * | 2012-12-11 | 2013-04-17 | 工业和信息化部电子第五研究所 | 基于失效物理的元器件故障树构建方法和系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981331A (zh) * | 2017-12-28 | 2019-07-05 | 北京华为数字技术有限公司 | 一种故障诊断方法及装置 |
CN109981454A (zh) * | 2019-03-29 | 2019-07-05 | 中国人民银行清算总中心 | 动态路由广播报文的广播控制方法和装置 |
CN113676938A (zh) * | 2021-08-19 | 2021-11-19 | 上海上实龙创智能科技股份有限公司 | 一种故障检测方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104683129B (zh) | 2019-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Doddavenkatappa et al. | Splash: Fast data dissemination with constructive interference in wireless sensor networks | |
EP2915260B1 (en) | Fast frequency-hopping schedule recovery | |
WO2006044836A2 (en) | Determining bidirectional path quality within a wireless mesh network | |
US20100195560A1 (en) | Packet relay system and wireless node | |
US10193661B2 (en) | Communication device, non-transitory computer readable medium and wireless communication system | |
US20110292867A1 (en) | Relay station operated according to qos level of service packet and method of operating relay station | |
JP2017518670A (ja) | 無線メッシュネットワークにおいてパケットストームの時間長さを短縮するための方法及び装置 | |
US20040213231A1 (en) | Apparatus and method for retransmitting data packets in mobile ad hoc network environment | |
CN114175118A (zh) | 电力中断检测和报告 | |
CN104683129B (zh) | 诊断树建立方法、网络故障诊断方法及其节点 | |
Dwijaksara et al. | Multihop gateway-to-gateway communication protocol for lora networks | |
Céspedes et al. | Comparison of data forwarding mechanisms for AMI networks | |
EP3892026B1 (en) | Node outage determination and reporting in a mesh network | |
Babbitt et al. | Self-selecting reliable paths for wireless sensor network routing | |
US20160021668A1 (en) | Data distribution system, distribution device, terminal device, and data distribution method | |
CN102106105B (zh) | 用于数据传输的方法和装置 | |
CN102668432B (zh) | 判定装置、转发装置、判定方法、计算机程序 | |
US20160192212A1 (en) | Method for sensing mobility link quality and transmitting data in low-power wireless network | |
CN113923105B (zh) | 一种基于区块链的物联网设备故障监控方法及系统 | |
CN104661185A (zh) | 融合树的构建方法、融合数据的收集和传输方法及其节点 | |
Elhadef et al. | Self-diagnosing wireless mesh and ad-hoc networks using an adaptable comparison-based approach | |
EP1770907A1 (en) | Method and system for providing monitoring with redundancy for energy constrained wireless systems | |
CN104125108A (zh) | 故障诊断装置和方法、以及退避时间的设置方法 | |
CN106686715A (zh) | 一种基于tdma的无线传感器网络时间同步时间源维护方法 | |
CN116192565B (zh) | 一种电力线通信多局域网融合方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190215 Termination date: 20201128 |
|
CF01 | Termination of patent right due to non-payment of annual fee |