CN105099800A - 节点和多跳网络 - Google Patents
节点和多跳网络 Download PDFInfo
- Publication number
- CN105099800A CN105099800A CN201410189380.8A CN201410189380A CN105099800A CN 105099800 A CN105099800 A CN 105099800A CN 201410189380 A CN201410189380 A CN 201410189380A CN 105099800 A CN105099800 A CN 105099800A
- Authority
- CN
- China
- Prior art keywords
- node
- inquiry message
- diagnosis object
- initiation
- nodes
- 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
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明实施例提供一种故障诊断方法、节点和多跳网络,其中,所述方法包括:所述节点接收第一问询消息,所述第一问询消息包含发起节点标识、诊断对象节点标识;或者包含发起节点标识、诊断对象节点标识和至少一个发送所述第一问询消息的发送节点标识;在所述第一问询消息中的所述诊断对象节点与所述节点相同时,确定诊断结果为所述节点与所述发起节点之间的链路故障;在所述第一问询消息中的所述诊断对象节点与所述节点不相同且所述诊断对象节点是所述节点的邻居节点时,所述节点将自身节点标识作为发送节点标识添加到所述第一问询消息中,并广播所述第一问询消息。通过本实施例的上述方法、节点和多跳网络,使得诊断过程的通信开销更小。
Description
技术领域
本发明涉及通信技术领域,进一步的,涉及通信技术领域的故障诊断,尤其涉及一种节点和多跳网络。
背景技术
在传统的网络故障诊断方法中,故障节点的邻居节点通过构建一个诊断树来收集诊断信息,从而得到对于网络故障的判断。一般来说,在该节点发现故障时,会广播建树消息,针对故障节点建立诊断树,其他节点在接收到建树消息后根据需要判断自身是否加入该诊断树,在诊断树建立完成后,该节点将自己的诊断结果与收集的来自于其子节点的诊断结果,上报给其父节点,以便诊断树中的根节点作出故障诊断。在诊断树的根节点做出故障诊断后,将诊断结果上报给网关(GW,Gateway)。
应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发明的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。
发明内容
网络的故障常常分为链路故障和节点故障两种,发明人发现在传统方法中,由于要求故障节点的所有邻居节点都参与诊断,且诊断树需要建立-收集两个过程,即需要所有邻居节点两次收发诊断包,因此对于链路故障往往会有冗余的诊断过程产生,所以会产生不必要的通信开销。
本发明实施例提出了一种故障诊断方法、节点和多跳网络。其中,无需建立诊断树,仅通过问询消息就可以确定诊断结果,因此使得诊断过程的通信开销更小。
本发明实施例的上述目的是通过如下技术方案实现的:
根据本发明实施例的第一个方面,提供了一种节点,该节点包括:
第一接收单元,所述第一接收单元用于接收第一问询消息,所述第一问询消息包含发起节点标识、诊断对象节点标识;或者包含发起节点标识、诊断对象节点标识和至少一个发送所述第一问询消息的发送节点标识;
第一确定单元,所述第一确定单元用于在接收到的所述第一问询消息中的所述诊断对象节点与所述节点相同时,确定诊断结果为所述节点与所述发起节点之间的链路故障;
第一处理单元,所述第一处理单元用于在接收到的所述第一问询消息中的所述诊断对象节点与所述节点不同且所述诊断对象节点是所述节点的邻居节点时,将自身节点标识作为发送节点标识添加到所述第一问询消息中,并广播所述第一问询消息。
根据本发明实施例的第二个方面,提供了一种节点,该节点包括:
第六确定单元,所述第六确定单元用于在发现所述节点与其他节点无法通信,且所述节点接收过包含所述其他节点为发起节点,所述节点为诊断对象节点的问询消息时,确定诊断结果为所述节点与所述其他节点之间双向链路故障。
根据本发明实施例的第三个方面,提供了一种网络包括:第一节点和第二节点;
所述第一节点用于接收第一问询消息,所述第一问询消息包含发起节点标识、诊断对象节点标识;或者包含发起节点标识、诊断对象节点标识和至少一个发送所述第一问询消息的发送节点标识;在接收到的所述第一问询消息中的所述诊断对象节点与所述第一节点相同时,确定诊断结果为所述第一节点与所述发起节点之间的链路故障;或者,所述第一节点在发现与其他节点无法通信,且接收过包含所述其他节点为发起节点,所述第一节点为诊断对象节点的问询消息时,确定诊断结果为所述第一节点与所述其他节点之间双向链路故障;
所述第二节点用于接收第一问询消息;在接收到的所述第一问询消息中的所述诊断对象节点与所述第二节点不同且所述诊断对象节点是所述节点的邻居节点时,将自身节点标识作为发送节点标识添加到所述第一问询消息中,并广播所述第一问询消息。
本发明实施例的有益效果在于,通过本发明实施例的故障诊断方法、节点和多跳网络,其中,无需建立诊断树,仅通过问询消息就可以确定诊断结果,因此使得诊断过程的通信开销更小。
参照后文的说明和附图,详细公开了本发明的特定实施方式,指明了本发明的原理可以被采用的方式。应该理解,本发明的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本发明的实施方式包括许多改变、修改和等同。
针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。
应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。
附图说明
参照以下的附图可以更好地理解本发明的很多方面。附图中的部件不是成比例绘制的,而只是为了示出本发明的原理。为了便于示出和描述本发明的一些部分,附图中对应部分可能被放大或缩小。在本发明的一个附图或一种实施方式中描述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。此外,在附图中,类似的标号表示几个附图中对应的部件,并可用于指示多于一种实施方式中使用的对应部件。
在附图中:
图1是本发明实施例1的故障诊断方法流程图;
图2是本发明实施例3的故障诊断方法流程图;
图3是本发明实施例5的故障诊断方法流程图;
图4是本发明实施例6的节点构成示意图;
图5是本发明实施例6的节点另一构成示意图;
图6是本发明实施例6的节点另一构成示意图;
图7是本发明实施例7的节点构成示意图;
图8是本发明实施例7的节点另一构成示意图;
图9是本发明实施例8的节点构成示意图;
图10是本发明实施例8的节点另一构成示意图;
图11是本发明实施例9的多跳网络构成示意图;
图12是本发明实施例9的节点X侧故障诊断方法流程图;
图13是本发明实施例10的多跳网络构成示意图;
图14是本发明实施例10的节点A侧故障诊断方法流程图。
具体实施方式
参照附图,通过下面的说明书,本发明实施例的前述以及其它特征将变得明显。这些实施方式只是示例性的,不是对本发明的限制。为了使本领域的技术人员能够容易地理解本发明的原理和实施方式,本发明实施例以Ad-hoc网络为例进行说明,但可以理解,本发明实施例并不限于Ad-hoc网络,例如,本发明实施例提供的方法和装置也适用于传感器网络等其他多跳网络。
为了使本发明实施例的方法和节点更加清楚易懂,下面对本发明实施例涉及到的一些术语进行简单说明。
在本实施例中,如果节点无法接收到其他节点的信息,例如其他节点发送的HELLO包,则表示该节点无法与其他节点通信,即该节点发现了故障,该节点可以建立自身的故障节点列表,将无法通信的节点存储在故障节点列表中。其中,发起节点表示在网络中发现故障的节点,即首先广播问询消息的节点;诊断对象节点表示与发起节点无法通信的节点,即问询消息中进行诊断的对象节点,也可以叫做被怀疑节点,其中如果被怀疑节点接收到包含其自身节点为诊断对象节点的问询消息时,可以建立自身的疑似故障节点列表,将该问询消息中的发起节点存储在自身的疑似故障节点列表中;发送节点表示转发问询消息的节点,即中间节点。
本实施例将以以上三种节点为例,分别对本发明实施例中的故障检测方法和节点进行说明。
下面参照附图对本发明的优选实施方式进行说明。
实施例1
图1是本发明实施例1的故障诊断方法流程图,该方法应用于多跳网络中的节点,在本实施例中,针对诊断对象节点。请参照图1,该方法包括:
步骤101,节点接收第一问询消息;
其中,该第一问询消息包含发起节点标识、诊断对象节点标识;或者包含发起节点标识、诊断对象节点标识和至少一个发送该第一问询消息的发送节点标识;
步骤102,在该第一问询消息中的该诊断对象节点与该节点相同时,确定诊断结果为该节点与该发起节点之间的链路故障。
在本实施例中,接收到问询消息的节点,通过上述方法无需建立诊断树即可以确定诊断结果,因此节省了开销。
在步骤101的一种实施方式中,第一问询消息中包含发起节点标识、诊断对象节点标识;其中,该发起节点表示在网络中发现无法与该诊断对象节点通信的节点;在步骤101的另一种实施方式中,第一问询消息中包含发起节点标识、诊断对象节点标识和至少一个发送该第一问询消息的发送节点标识;如果该节点接收到包含上述三种标识的问询消息,即表示该节点接收到的第一问询消息是经由上述至少一个发送节点转发的。
在步骤102的一种实施方式中,在该节点接收到的该第一问询消息中的该诊断对象节点与该节点相同、且该节点已经发现与该第一问询消息中的发起节点无法通信时,确定诊断结果为该节点与该发起节点之间双向链路故障。
其中,如果该节点接收到的第一问询消息中的诊断对象节点与自身相同,则表示该节点就是被第一问询消息中的发起节点怀疑的节点,此时,该节点判断其是否已经发现与该第一问询消息中的发起节点无法通信,在判断结果为是时,则表示该节点已经发现与该第一问询消息中的发起节点无法通信,即该节点也怀疑过第一问询消息中的发起节点,此时,由于该节点和第一问询消息中的发起节点都无法与对方通信,因此,可确定诊断结果为该节点与该发起节点之间双向链路故障。
在步骤102的另一种实施方式中,在该节点接收到的该第一问询消息中的该诊断对象节点与该节点相同、且该节点未发现与该第一问询消息中的发起节点无法通信时,确定诊断结果为该节点与该发起节点之间单向链路故障。
其中,该节点判断其是否已经发现与该第一问询消息中的发起节点的无法通信,在判断结果为否时,则表示该节点未发现与该第一问询消息中的发起节点无法通信,即该节点没有怀疑过第一问询消息中的发起节点,表示该节点到该发起节点之间的单向链路没有问题,而该发起节点到该节点的单向链路故障,因此,可确定诊断结果为该节点与该发起节点之间单向链路故障。
通过上述实施方式,该节点可以进一步精确诊断结果,提高诊断的准确性。
在本实施例中,该节点可以通过查询自身的故障节点列表来判断该节点是否已经发现与该第一问询消息中的发起节点无法通信,即如果其自身的故障节点列表中存有发起节点,则表示该节点也怀疑过发起节点故障。
在步骤102的一种实施方式中,该方法还可以包括:在该节点接收到的该第一问询消息中的该诊断对象节点与该节点相同时,将该第一问询消息中的发起节点标识存储在第一列表中,其中,第一列表可以是如上所述的疑似故障节点列表。
在这种情况下,在该节点发现与其他节点,如与该发起节点无法通信时,可以直接查询自身的疑似故障节点列表,如果该其他节点标识已经存储在疑似故障节点列表中,则可以直接确定诊断结果为该节点与该其他节点之间双向链路故障,由此进一步节省了开销。关于上述实施方式可参考实施例5,此处不再赘述。
在本实施例中,该方法还可以包括:
步骤103,该节点在没有向网关上报过该诊断结果时,向网关上报该诊断结果。该步骤为可选步骤。
通过本实施例的上述故障诊断方法,无需建立诊断树节点就可以确定诊断结果,因此节省了开销。
实施例2
本发明实施例2提供一种故障诊断方法流程图。与实施例1的不同之处在于,在步骤101中,接收的第一问询消息除了包括实施例1的上述信息外,还包括至少一个故障链路节点标识,该故障链路节点是该发起节点以外的、发送该第一问询消息且已经发现与该诊断对象之间无法通信的节点,即是中间发送节点中、与诊断对象节点之间无法通信的节点。这样,该节点还可以根据该故障链路节点标识确定与该故障链路节点标识对应的节点之间的故障。
在本实施例中,该方法还可以包括:在节点接收到的该第一问询消息中的该诊断对象节点与该节点相同、且该节点已经发现与该第一问询消息中的故障链路节点无法通信时,确定诊断结果为该节点与该故障链路节点之间双向链路故障;
或者在节点接收到的该第一问询消息中的该诊断对象节点与该节点相同、且该节点未发现与该第一问询消息中的故障链路节点无法通信时,确定诊断结果为该节点与该故障链路节点之间单向链路故障。
其中,如果该节点接收到的第一问询消息中的诊断对象节点与自身相同,则表示该节点就是被问询消息中的发起节点怀疑的节点,此时,该节点判断是否已经发现与该第一问询消息中的故障链路节点无法通信,在判断结果为是时,则表示该节点已经现与该第一问询消息中的故障链路节点无法通信,即该节点也怀疑过第一问询消息中的故障链路节点,此时,由于该节点和第一问询消息中的故障链路节点都无法与对方通信,因此,可确定诊断结果为该节点与该故障链路节点之间双向链路故障。在判断结果为否时,则表示该节点未发现与该第一问询消息中的故障链路节点无法通信,即该节点没有怀疑过第一问询消息中的故障链路节点,表示该节点到该故障链路节点之间的单向链路没有问题,只是该故障链路节点到该节点之间的单向链路故障,因此,可确定诊断结果为该节点与该故障链路节点之间单向链路故障。
通过本实施例的上述故障诊断方法,在不建立诊断树的情况下,通过在第一问询消息中加入故障节点标识,该节点除了能够确定与发起节点之间的诊断结果,同时也能够确定与中间发送节点之间的诊断结果,由此进一步节省了开销。
实施例3
图2是本发明实施例3的故障诊断方法流程图。该方法应用于多跳网络中的节点,在本实施例中,针对中间节点。请参照图2,该方法包括:
步骤201,节点接收第一问询消息;
其中,该第一问询消息包含发起节点标识、诊断对象节点标识;或者包含发起节点标识、诊断对象节点标识和至少一个发送该第一问询消息的发送节点标识;
其中,该节点可以从发起节点直接接收该第一问询消息,这样,该第一问询消包含发起节点标识、诊断对象节点标识;此外,该节点还可以是从其他中间节点接收该第一问询消息,这样,该第一问询消息包含发起节点标识、诊断对象节点标识和至少一个发送该第一问询消息的发送节点标识。
步骤202,在该第一问询消息中的该诊断对象节点与该节点不相同且该诊断对象节点是该节点的邻居节点时,将自身节点标识作为发送节点标识添加到该第一问询消息中,并广播该第一问询消息。
在本实施例中,在该第一问询消包含发起节点标识、诊断对象节点标识时,该节点可将其节点标识添加到该第一问询消息中作为发送节点标识;在该第一问询消息还包含其他发送节点标识时,该节点在将其节点标识添加到该第一问询消息时,可替换该其他发送节点标识,按照这种方式添加该节点标识,该第一问询消息中仅包括一个发送节点标识;或者,该节点仅将其节点标识添加到该第一问询消息而不替换原发送节点标识,按照这种方式添加该节点标识,该第一问询消息中可包括至少一个发送节点标识。
在本实施例中,在步骤202前,该方法还可以包括:该节点判断是否已接收过包含以该第一问询消息中的发起节点为发起节点,以该第一问询消息中的诊断对象节点为诊断对象节点的问询消息;在判断结果为否时,执行步骤202,否则结束处理。
其中,如果该节点已经接收过包含以该第一问询消息中的发起节点为发起节点,以该第一问询消息中的诊断对象节点为诊断对象节点的问询消息,则表示该节点已经进行过相关的处理,则此时,该节点不需要再广播该第一问询消息,直接结束处理。由此进一步节省了开销。
在本实施中,在步骤202中,该节点发送该第一问询消息前,该方法还可以包括:在该节点已经发现与该诊断对象节点无法通信时,将自身节点标识作为故障诊断链路节点标识添加到该第一问询消息中。这样,在步骤202中发送的第一问询消息除了包含上述信息外,还可包括故障链路节点标识,以便接收到包含该故障诊断链路节点标识的第一问询消息的诊断对象节点也可以同时对该节点和该诊断对象节点之间进行故障诊断,具体的诊断方法如实施例2所述,此处不再赘述。
通过本实施例的上述故障诊断方法,中间节点在确定问询消息中的诊断对象为自身邻居节点时,继续广播该问询消息,以便该诊断对象接收到该问询消息,进行故障诊断,由此中间节点无需加入诊断树,即节省了诊断开销。
实施例4
本发明实施例4提供一种故障诊断方法流程图。与实施例3的不同之处在于,在步骤201中,接收的第一问询消息除了包括实施例3的上述信息外,还包括至少一个故障链路节点标识,该故障链路节点是该发起节点以外的、发送该第一问询消息且已经发现与该诊断对象之间无法通信的节点;
在本实施例中,该方法还可以包括:在该节点已经发现与所述第一问询消息中的诊断对象节点无法通信时,将自身节点标识作为故障诊断链路节点标识添加到该第一问询消息中。
其中,该节点可以通过查询自身的故障节点列表判断该节点是否已经发现与该诊断对象节点的无法通信,如果其自身的故障节点列表中存有该诊断对象节点,则该节点将自身节点标识作为该第一问询消息中的故障诊断链路节点标识添加到该第一问询消息中,以便接收到该问询消息的诊断对象节点也能够同时确定该节点与诊断对象节点之间的诊断结果,具体的诊断方法如实施例2所述,此处不再赘述。
通过本实施例的上述故障诊断方法,在不建立诊断树的情况下,通过在第一问询消息中加入故障节点标识,使诊断对象节点除了能够确定与发起节点之间的诊断结果,同时也能够确定与中间发送节点之间的诊断结果,由此进一步节省了开销。
实施例5
图3是本发明实施例5的故障诊断方法流程图。该方法应用于多跳网络中的节点,在本实施例中,针对网络中发现故障的节点。请参照图3,该方法包括:
步骤301,在该节点发现与其他节点无法通信,且该节点接收过包含该其他节点为发起节点,该节点为诊断对象节点的问询消息时,确定诊断结果为该节点与该其他节点之间双向链路故障。
在步骤301中,在该节点发现与其他节点无法通信时,该节点可以通过查询自身的疑似故障节点列表,判断该列表中是否存有与其他节点相同的发起节点,如果有,则表明在该节点发现与其他节点无法通信之前,该其他节点就已经无法与该节点通信,因此该节点和该其他节点之间均无法与对象通信,即确定诊断结果为该节点与该其他节点双向链路故障。
在本实施例中,步骤301中在该节点没有接收过包含该其他节点为发起节点,该节点为诊断对象节点的问询消息时,该方法还包括:
步骤302,将该其他节点标识存储在第二列表中,并广播第二问询消息,该第二问询消息包含以该节点为发起节点,以该其他节点为诊断对象节点的标识。以便接收到该第二问询消息的节点进行故障诊断。
其中,该第二列表可以是如上所述的故障节点列表,此处不再赘述。
在本实施例中,该方法还可以包括:
步骤303,该节点在没有向网关上报过该诊断结果时,向网关上报该诊断结果。该步骤为可选步骤。
通过本实施例的上述故障诊断方法,节点在发现故障后,无需直接建立诊断树,就可以确定诊断结果,因此节省了开销。
实施例6
本发明实施例6还提供了一种网络中的节点,由于该节点解决问题的原理与实施例1~2的方法类似,因此其具体的实施可以参照实施例1~2的方法的实施,重复之处不再赘述。
图4是一种多跳网络中的节点构成示意图,该节点400包括:
第一接收单元401,其用于接收第一问询消息,该第一问询消息包含发起节点标识、诊断对象节点标识;或者包含发起节点标识、诊断对象节点标识和至少一个发送该第一问询消息的发送节点标识;
第一确定单元402,其用于在接收到的该第一问询消息中的该诊断对象节点与该节点相同时,确定诊断结果为该节点与该发起节点之间的链路故障;
通过本实施例的上述节点,无需建立诊断树即可以确定诊断结果,因此节省了开销。
图5是本发明实施例的另一种节点构成示意图之一,请参照图5,该节点包括:第一接收单元501,第一确定单元502,其具体实施方式与第一接收单元401,第一确定单元402相同,此处不再赘述。
在本实施例中,为了进一步精确诊断结果,则该第一确定单元502还可以包括:
第二确定单元5021,其用于在接收到的该第一问询消息中的该诊断对象节点与该节点相同、且该节点已经发现与该第一问询消息中的发起节点无法通信时,确定诊断结果为该节点与该发起节点之间双向链路故障;
第三确定单元5022,其用于在接收到的该第一问询消息中的该诊断对象节点与该节点相同、且该节点未发现与该第一问询消息中的发起节点无法通信时,确定诊断结果为该节点与该发起节点之间单向链路故障。
在这种情况下,节点500还可包括第二判断单元507,该第一判断单元用于判断接收到的该第一问询消息中的该诊断对象节点与该节点是否相同、且该节点是否已经发现与该第一问询消息中的发起节点无法通信。
在本实施例中,该节点还可以包括:
第一存储单元503,其用于在接收到的该第一问询消息中的该诊断对象节点与该节点相同时,将该第一问询消息中的发起节点标识存储在第一列表中。其中,第一列表可以是如上所述的疑似故障节点列表。
其中,在这种情况下,在该节点发现与其他节点,如与该发起节点无法通信时,可以直接查询自身的疑似故障节点列表,如果该其他节点标识已经存储在疑似故障节点列表中,则可以直接确定诊断结果为该节点与该其他节点之间双向链路故障,由此进一步节省了开销。关于上述实施方式可参考实施例5,此处不再赘述。
在本实施例中,该第一问询消息还可以包括至少一个故障链路节点标识,该故障链路节点是该发起节点以外的、发送该第一问询消息且已经发现与该诊断对象之间无法通信的节点;
则该节点500还可以包括:
第四确定单元504,其用于在接收到的该第一问询消息中的该诊断对象节点与该节点相同、且该节点已经发现与该第一问询消息中的故障链路节点无法通信时,确定诊断结果为该节点与该故障链路节点之间双向链路故障;
第五确定单元505,其用于在接收到的该第一问询消息中的该诊断对象节点与该节点相同、且该节点未发现与该第一问询消息中的故障链路节点无法通信时,确定诊断结果为该节点与该故障链路节点之间单向链路故障。
在这种情况下,节点500还可包括第三判断单元508,该第二判断单元用于判断接收到的该第一问询消息中的该诊断对象节点与该节点是否相同、且该节点是否已经发现与该第一问询消息中的故障链路节点无法通信。
在本实施例中,该节点还可以包括:
第一上报单元506,其用于在没有向网关上报过该诊断结果时,向网关上报该诊断结果。
在本实施例中,上述单元503~508均为可选单元,可以根据实施需要进行选择,本实施例并不以此作为限制。
图6是本发明实施例的节点构成示意图之二,如图6所示,节点600可以包括:中央处理器(CPU)620和存储器610;存储器610耦合到中央处理器620。其中该存储器610可存储各种数据;此外还存储故障诊断的程序,并且在中央处理器620的控制下执行该程序,并存储问询消息等。
在一个实施方式中,故障诊断的功能可以被集成到中央处理器620中。其中,中央处理器620可以被配置为:接收第一问询消息,该第一问询消息包含发起节点标识、诊断对象节点标识;或者包含发起节点标识、诊断对象节点标识和至少一个发送该第一问询消息的发送节点标识;在该第一问询消息中的该诊断对象节点与该节点相同时,确定诊断结果为该节点与该发起节点之间的链路故障。
在一个实施方式中,中央处理器620可以被配置为在接收到的该第一问询消息中的该诊断对象节点与该节点相同、且该节点已经发现与该第一问询消息中的发起节点无法通信时,确定诊断结果为该节点与该发起节点之间双向链路故障;在接收到的该第一问询消息中的该诊断对象节点与该节点相同、且该节点未发现与该第一问询消息中的发起节点无法通信时,确定诊断结果为该节点与该发起节点之间单向链路故障。
在一个实施方式中,中央处理器620可以被配置为:在没有向网关上报过该诊断结果时,向网关上报该诊断结果。
在一个实施方式中,中央处理器620可以被配置为:在接收到的该第一问询消息中的该诊断对象节点与该节点相同时,将该第一问询消息中的发起节点标识存储在第一列表中。
在一个实施方式中,中央处理器620可以被配置为:该第一问询消息还包括至少一个故障链路节点标识,该故障链路节点是该发起节点以外的、发送该第一问询消息且已经发现与该诊断对象之间无法通信的节点;在接收到的该第一问询消息中的该诊断对象节点与该节点相同、且该节点已经发现与该第一问询消息中的故障链路节点无法通信时,确定诊断结果为该节点与该故障链路节点之间双向链路故障;在接收到的该第一问询消息中的该诊断对象节点与该节点相同、且该节点未发现与该第一问询消息中的故障链路节点无法通信时,确定诊断结果为该节点与该故障链路节点之间单向链路故障。
在另一个实施方式中,也可以将上述故障诊断功能配置在与中央处理器620连接的芯片(图中未示出)上,通过中央处理器620的控制来实现故障诊断功能。
如图6所示,节点600还可以包括:传感器601其用于检测该节点与其他节点是否正常通信,其中,在传感器601检测到该节点无法与其他节点正常通信时,通知中央处理器620执行上述处理。
此外,如图6所示,节点600还可以包括:收发器604和电源模块605等;其中,上述部件的功能与现有技术类似,此处不再赘述。值得注意的是,节点600也并不是必须要包括图6中所示的所有部件;此外,节点600还可以包括图6中没有示出的部件,可以参考现有技术。
通过本实施例的上述节点,无需建立诊断树即可以确定诊断结果,因此节省了开销。
实施例7
本发明实施例7还提供了一种网络中的节点,由于该节点解决问题的原理与实施例3~4的方法类似,因此其具体的实施可以参照实施例3~4的方法的实施,重复之处不再赘述。
图7是一种多跳网络中的节点构成示意图,该节点700包括:
第一接收单元701,其用于接收第一问询消息,该第一问询消息包含发起节点标识、诊断对象节点标识;或者包含发起节点标识、诊断对象节点标识和至少一个发送该第一问询消息的发送节点标识;
第一处理单元702,其用于在接收到的该第一问询消息中的该诊断对象节点与该节点不同且该诊断对象节点是该节点的邻居节点时,将自身节点标识作为发送节点标识添加到该第一问询消息中,并广播该第一问询消息。
通过本实施例的上述节点,无需建立诊断树即可以确定诊断结果,因此节省了开销。
在本实施例中,为了进一步节省开销,则该节点还可以包括:
第一判断单元703,其用于在该第一处理单元702进行上述处理前,判断是否已接收过包含以该第一问询消息中的发起节点为发起节点,以该第一问询消息中的诊断对象节点为诊断对象节点的问询消息;
在该第一判断单元703判断结果为否时,第一处理单元702进行上述处理。
在一种实施方式中,第一处理单元702还用于在该节点已经发现与该第一问询消息中的诊断对象节点无法通信时,将自身节点标识作为故障诊断链路节点标识添加到该第一问询消息中,其中具体的添加方式与实施例3相同,此处不再赘述。
图8是本发明实施例的节点构成示意图之二,如图8所示,节点800可以包括:中央处理器(CPU)820和存储器810;存储器810耦合到中央处理器820。其中该存储器810可存储各种数据;此外还存储故障诊断的程序,并且在中央处理器820的控制下执行该程序,并存储问询消息等。
在一个实施方式中,故障诊断的功能可以被集成到中央处理器820中。其中,中央处理器820可以被配置为:接收第一问询消息,该第一问询消息包含发起节点标识、诊断对象节点标识;或者包含发起节点标识、诊断对象节点标识和至少一个发送该第一问询消息的发送节点标识;在接收到的该第一问询消息中的该诊断对象节点与该节点不同且该诊断对象节点是该节点的邻居节点时,将自身节点标识作为发送节点标识添加到该第一问询消息中,并广播该第一问询消息。
在一个实施方式中,中央处理器820可以被配置为:在该节点已经发现与该第一问询消息中的诊断对象节点无法通信时,将自身节点标识作为故障诊断链路节点标识添加到该第一问询消息中。
在一个实施方式中,中央处理器820可以被配置为:在广播第一问询消息前,判断是否已接收过包含以该第一问询消息中的发起节点为发起节点,以该第一问询消息中的诊断对象节点为诊断对象节点的问询消息,在判断结果为否时,广播第一问询消息。
在另一个实施方式中,也可以将上述故障诊断功能配置在与中央处理器820连接的芯片上,通过中央处理器820的控制来实现故障诊断功能。
如图8所示,节点800还可以包括:传感器801其用于检测该节点与其他节点是否正常通信,其中,在传感器801检测到该节点无法与其他节点正常通信时,通知中央处理器820执行上述处理。
此外,如图8所示,节点800还可以包括:收发器804和电源模块805等;其中,上述部件的功能与现有技术类似,此处不再赘述。值得注意的是,节点800也并不是必须要包括图8中所示的所有部件;此外,节点800还可以包括图8中没有示出的部件,可以参考现有技术。
通过本实施例的上述节点,无需建立诊断树即可以确定诊断结果,因此节省了开销。
实施例8
本发明实施例8还提供了一种网络中的节点,由于该节点解决问题的原理与实施例5的方法类似,因此其具体的实施可以参照实施例5的方法的实施,重复之处不再赘述。
图9是一种多跳网络中的节点构成示意图之一,该节点900包括:
第六确定单元901,其用于在发现该节点与其他节点无法通信,且该节点接收过包含所述其他节点为发起节点,该节点为诊断对象节点的问询消息时,确定诊断结果为该节点与该其他节点之间双向链路故障。
在本实施例中,该节点900还可以包括:
第三处理单元902,其用于在该节点没有接收过包含该其他节点为发起节点,该节点为诊断对象节点的问询消息时,将该其他节点标识存储在第二列表中,并广播第二问询消息,该第二问询消息包含以该节点为发起节点,以该其他节点为诊断对象节点的标识。
在本实施例中,第三处理单元902为可选单元。
图10是本发明实施例的节点构成示意图之二,如图10所示,节点1000可以包括:中央处理器(CPU)1020和存储器1010;存储器1010耦合到中央处理器1020。其中该存储器1010可存储各种数据;此外还存储故障诊断的程序,并且在中央处理器1020的控制下执行该程序,并存储问询消息等。
在一个实施方式中,故障诊断的功能可以被集成到中央处理器1020中。其中,中央处理器1020可以被配置为:在发现与其他节点无法通信,且所述节点接收过包含所述其他节点为发起节点,所述节点为诊断对象节点的问询消息时,确定为所述节点与所述其他节点之间双向链路故障。
在一个实施方式中,中央处理器1020可以被配置为在所述节点没有接收过包含所述其他节点为发起节点,所述节点为诊断对象节点的问询消息时,将所述其他节点标识存储在第二列表中,并广播第二问询消息,所述第二问询消息包含以所述节点为发起节点,以所述其他节点为诊断对象节点的标识。
在另一个实施方式中,也可以将上述故障诊断功能配置在与中央处理器1020连接的芯片上,通过中央处理器1020的控制来实现故障诊断功能。
如图10所示,节点1000还可以包括:传感器1001其用于检测该节点与其他节点是否正常通信,其中,在传感器1001检测到该节点无法与其他节点正常通信时,通知中央处理器1020执行上述处理。
此外,如图10所示,节点1000还可以包括:收发器1004和电源模块1005等;其中,上述部件的功能与现有技术类似,此处不再赘述。值得注意的是,节点1000也并不是必须要包括图10中所示的所有部件;此外,节点1000还可以包括图10中没有示出的部件,可以参考现有技术。
通过本实施例的节点,在发现故障后,无需直接建立诊断树,就可以确定诊断结果,因此节省了开销。
在本发明实施例中,实施例6~8可以单独实施,也可以通过组合任意一个以上的实施例合并实施,例如实施例6与实施例8组合实施时,该节点既可以作为诊断对象节点又可以同时作为发现故障的节点,例如实施例7与实施例8组合实施时,该节点既可以作为中间节点又可以同时作为发现故障的节点,例如组合实施例6、7和8时,该节点可以同时作为诊断对象节点、中间节点或发现故障的节点。
实施例9
本发明实施例9还提供一种多跳网络。
在该多跳网络的一个实施方式中,该网络包括:第一节点和第二节点;
该第一节点用于接收第一问询消息,该第一问询消息包含发起节点标识、诊断对象节点标识;或者包含发起节点标识、诊断对象节点标识和至少一个发送该第一问询消息的发送节点标识;在接收到的该第一问询消息中的该诊断对象节点与该第一节点相同时,确定诊断结果为该第一节点与该发起节点之间的链路故障;
该第二节点用于接收第一问询消息;在接收到的该第一问询消息中的该诊断对象节点与该第二节点不同且该诊断对象节点是该节点的邻居节点时,将自身节点标识作为发送节点标识添加到该第一问询消息中,并广播该第一问询消息。
在本实施例中,该系统还包括第三节点,该第三节点用于在发送与该第一节点无法通信时,广播该第一问询消息。
在本实施方式中,该第一节点在接收到的该第一问询消息中的该诊断对象节点与该节点相同、且该第一节点已经发现与该第一问询消息中的发起节点无法通信时,确定诊断结果为该节点与该发起节点之间双向链路故障;在接收到的该第一问询消息中的该诊断对象节点与该节点相同、且该第一节点未发现与该第一问询消息中的发起节点无法通信时,确定诊断结果为该第一节点与该发起节点之间单向链路故障。
在本实施方式中,该第一问询消息还包括至少一个故障链路节点标识,该故障链路节点是该发起节点以外的、发送该第一问询消息且已经发现与该诊断对象之间无法通信的节点;
该第一节点还用于在接收到的该第一问询消息中的该诊断对象节点与该第一节点相同、且该第一节点已经发现与该第一问询消息中的故障链路节点无法通信时,确定诊断结果为该第一节点与该故障链路节点之间双向链路故障;
在接收到的该第一问询消息中的该诊断对象节点与该第一节点相同、且该第一节点未发现与该第一问询消息中的故障链路节点无法通信时,确定诊断结果为该第一节点与该故障链路节点之间单向链路故障。
在本实施方式中,该第一节点在没有向网关上报过该诊断结果时,向网关上报该诊断结果。
在本实施方式中,该第一节点在接收到的该第一问询消息中的该诊断对象节点与该节点相同时,将该第一问询消息中的发起节点标识存储在第一列表中。
在本实施方式中,该第二节点在广播第一问询消息前,判断是否已接收过包含以该第一问询消息中的发起节点为发起节点,以该第一问询消息中的诊断对象节点为诊断对象节点的问询消息,在判断结果为否时,该第二节点将自身节点标识作为该第一问询消息中的发送节点标识,并广播该第一问询消息。
在本实施方式中,在该第二节点还用于在已经发现与该诊断对象节点无法通信时,将自身节点标识作为故障诊断链路节点标识添加到该第一问询消息中。
在该实施方式中,第一节点的具体结构如实施例6,第二节点的具体结构如实施例7,第一节点的具体实施方式可参考实施例1~2中的方法实施,第二节点的具体实施方式可参考实施例3或实施例4中的方法实施,其内容被合并于此,此处不再重复。
图11是本发明实施例的多跳网络的一种实施方式构成示意图,如图11所示,节点A是上述实施方式中作为发现节点B故障,并广播问询消息的第三节点的具体实施例,节点B是上述实施方式中作为接收问询消息的第一节点的具体实施例,节点C和D为该第二节点,其中,节点A怀疑节点B故障,节点C、D和B根据接收到的节点A的问询消息执行相应的诊断操作,其中节点C是节点B的邻居节点,节点D不是节点B的邻居节点,以下针对图12对本实施例的多跳网络中的第一节点和第二节点如何进行故障诊断进行说明。
图12是本发明实施例节点B,C,D侧的故障诊断方法流程图,如图12所示,该方法包括:
步骤1201,节点X接收问询消息;
其中,该问询消息中的发起节点是节点A。
步骤1202,节点X判断问询消息中的诊断对象节点是否为自身,在判断结果为是时,执行步骤1203~1205,在判断结果为否时,执行步骤1206~1208.,根据图9所示,节点B为问询消息中的诊断对象节点,因此节点B执行步骤1203~1205,节点C和节点D不是问询消息中的诊断对象节点,因此节点C和D执行步骤1206~1208
在节点B侧
步骤1203,节点B判断自身是否怀疑过节点A,在判断结果为是时,执行步骤1204,否则执行步骤1205.
其中,节点B可以通过查询自身的故障节点列表b判断其是否怀疑过节点A,其具体实施方式可参考实施例1,此处不再重复。
步骤1204,确定诊断结果为节点A和节点B之间双向链路故障。
步骤1205,确定诊断结果为节点A和节点B之间单向链路故障。
其中,由于节点B是问询消息中的诊断对象节点,因此节点B可以将问询消息中的发起节点A存储在自身的疑似故障节点列表b中。
在节点C,D侧
步骤1206,判断问询消息中的诊断对象节点是否为自身的邻居节点,在判断结果为是时,执行步骤1207,否则结束处理;
根据图11所示,节点C是节点B的邻居节点,因此执行步骤1207,节点D不是节点B的邻居节点,因此节点D结束处理。
在节点C侧
步骤1207,判断自身是否怀疑过节点B,在判断结果为是时,执行步骤1208,否则执行步骤1209;
其中,节点C可以通过查询自身的故障节点列表c,如果节点B存在于故障节点列表c,则判断其怀疑过节点B。
步骤1208,将自身节点标识加入问询消息中作为故障节点标识,并执行步骤1209;
步骤1209,将自身节点标识作为发送节点标识加入至问询消息中,并继续广播第一问询消息。
其中,节点C可以延迟一段时间广播该问询消息,本实施例并不以此作为限制。
在本实施例中,节点在发现故障后,无需直接建立诊断树,就可以确定诊断结果,因此节省了开销。
实施例10
本发明实施例10还提供一种多跳网络。
在该多跳网络中,该网络可以包括第一节点,该第一节点在发现与其他节点无法通信,且接收过包含该其他节点为发起节点,该第一节点为诊断对象节点的问询消息时,确定诊断结果为该第一节点与该其他节点之间双向链路故障。
其中,该第一节点在发现与其他节点无法通信,且没有接收过包含该其他节点为发起节点,该节点为诊断对象节点的问询消息时,将该其他节点标识存储在第二列表中,广播第二问询消息,该第二问询消息包含以该第一节点为发起节点,以该其他节点为诊断对象节点的标识。
在该实施方式中,该第一节点的具体结构如实施例8,该第一节点的具体实施方式可参考实施例5中的方法实施,其内容被合并于此,此处不再重复。
图13是本发明实施例的多跳网络的一种实施方式构成示意图,如图14所示,节点A是上述实施方式中作为发现故障的第一节点的具体实施例,节点B是上述实施方式中作为无法与节点A通信的其他节点的具体实施例。
以下针对图14对本实施例的多跳网络中的第一节点如何进行故障诊断进行说明。
图14是本发明实施例节点A侧的故障诊断方法流程图,如图14所示,该方法包括:
步骤1400,节点A接收问询消息;
步骤1401,节点A发现节点B故障;
其中,节点A无法接收到节点B的信息,例如节点B的HELLO包,则表示节点A怀疑节点B发生故障,此时,该节点A将节点B存储在自身的故障节点列表a中,准备开启针对节点B的诊断过程。
步骤1402,节点A判断是否接收过包含以节点B为发起节点,节点A为诊断对象节点的问询消息,在判断结果为是时,执行步骤1403,否则执行步骤1404;
其中,节点A可通过查询自身的疑似故障节点列表a判断是否接收过包含以节点B为发起节点,节点A为诊断对象节点的问询消息,其具体实施方式可参考实施例5,此处不再重复。
步骤1403,确定诊断结果为节点A和节点B之间双向链路故障。
其中,在节点A没有向网关上报过该诊断结果时,向网关上报该诊断结果。
步骤1404,节点A广播第二问询消息,该第二问询消息中包含节点A和B的节点标识,其中节点A作为发起节点,节点B作为诊断对象节点。
其中,该网络中的其他节点在接收到节点A广播的第二问询消息后,可以进行故障诊断,其具体诊断的实施方式与实施例9中的第一节点B和第二节点C、D类似,此处不再重复。
在本实施例中,节点在发现故障后,无需直接建立诊断树,就可以确定诊断结果,因此节省了开销。
本发明实施例还提供一种计算机可读程序,其中当在节点中执行所述程序时,所述程序使得计算机在所述节点中执行如上面实施例1至5所述的故障诊断方法。
本发明实施例还提供一种存储有计算机可读程序的存储介质,其中所述计算机可读程序使得计算机在节点中执行上面实施例1至5所述的故障诊断方法。
以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此所附权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
应当理解,本发明的各部分可以用硬件、软件、固件或者它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可以用本领域共知的下列技术中的任一项或者他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
关于包括以上多个实施例的实施方式,还公开下述的附记。
附记1、一种节点,其中,所述节点包括:
第一接收单元,所述第一接收单元用于接收第一问询消息,所述第一问询消息包含发起节点标识、诊断对象节点标识;或者包含发起节点标识、诊断对象节点标识和至少一个发送所述第一问询消息的发送节点标识;
第一确定单元,所述第一确定单元用于在接收到的所述第一问询消息中的所述诊断对象节点与所述节点相同时,确定诊断结果为所述节点与所述发起节点之间的链路故障;
第一处理单元,所述第一处理单元用于在接收到的所述第一问询消息中的所述诊断对象节点与所述节点不同且所述诊断对象节点是所述节点的邻居节点时,将自身节点标识作为发送节点标识添加到所述第一问询消息中,并广播所述第一问询消息。
附记2、根据附记1所述的节点,其中,所述第一确定单元还包括:
第二确定单元,所述第二确定单元用于在接收到的所述第一问询消息中的所述诊断对象节点与所述节点相同、且所述节点已经发现与所述第一问询消息中的发起节点无法通信时,确定诊断结果为所述节点与所述发起节点之间双向链路故障;
第三确定单元,所述第三确定单元用于在接收到的所述第一问询消息中的所述诊断对象节点与所述节点相同、且所述节点未发现与所述第一问询消息中的发起节点无法通信时,确定诊断结果为所述节点与所述发起节点之间单向链路故障。
附记3、根据附记1所述的节点,其中,所述节点还包括:
第一上报单元,所述第一上报单元用于在没有向网关上报过所述诊断结果时,向网关上报所述诊断结果。
附记4、根据附记1所述的节点,其中,所述节点还包括:
第一存储单元,所述第一存储单元用于在接收到的所述第一问询消息中的所述诊断对象节点与所述节点相同时,将所述第一问询消息中的发起节点标识存储在第一列表中。
附记5、根据附记1所述的节点,其中,所述第一问询消息还包括至少一个故障链路节点标识,所述故障链路节点是所述发起节点以外的、发送所述第一问询消息且已经发现与所述诊断对象之间无法通信的节点;
所述节点还包括:
第四确定单元,所述第四确定单元用于在接收到的所述第一问询消息中的所述诊断对象节点与所述节点相同、且所述节点已经发现与所述第一问询消息中的故障链路节点无法通信时,确定诊断结果为所述节点与所述故障链路节点之间双向链路故障;
第五确定单元,所述第五确定单元用于在接收到的所述第一问询消息中的所述诊断对象节点与所述节点相同、且所述节点未发现与所述第一问询消息中的故障链路节点无法通信时,确定诊断结果为所述节点与所述故障链路节点之间单向链路故障。
附记6、根据附记1所述的节点,其中,所述节点还包括:
第一判断单元,所述第一判断单元用于在所述第一处理单元进行上述处理前,判断是否已接收过包含以所述第一问询消息中的发起节点为发起节点,以所述第一问询消息中的诊断对象节点为诊断对象节点的问询消息;
在所述第一判断单元判断结果为否时,所述第一处理单元进行上述处理。
附记7、根据附记1所述的节点,其中,所述第一处理单元还用于在所述节点已经发现与所述诊断对象节点无法通信时,将自身节点标识作为故障诊断链路节点标识添加到所述第一问询消息中。
附记8、一种节点,其中,所述节点包括:
第六确定单元,所述第六确定单元用于在发现所述节点与其他节点无法通信,且所述节点接收过包含所述其他节点为发起节点,所述节点为诊断对象节点的问询消息时,确定诊断结果为所述节点与所述其他节点之间双向链路故障。
附记9、根据附记8所述的节点,其中,所述节点还包括:
第三处理单元,所述第三处理单元用于在没有接收过包含所述其他节点为发起节点,所述节点为诊断对象节点的问询消息时,将所述其他节点标识存储在第二列表中,并广播第二问询消息,所述第二问询消息包含以所述节点为发起节点,以所述其他节点为诊断对象节点的标识。
附记10、一种多跳网络,其中,所述网络包括:第一节点和第二节点;
所述第一节点用于接收第一问询消息,所述第一问询消息包含发起节点标识、诊断对象节点标识;或者包含发起节点标识、诊断对象节点标识和至少一个发送所述第一问询消息的发送节点标识;在接收到的所述第一问询消息中的所述诊断对象节点与所述第一节点相同时,确定诊断结果为所述第一节点与所述发起节点之间的链路故障;或者,所述第一节点在发现与其他节点无法通信,且接收过包含所述其他节点为发起节点,所述第一节点为诊断对象节点的问询消息时,确定诊断结果为所述第一节点与所述其他节点之间双向链路故障;
所述第二节点用于接收第一问询消息;在接收到的所述第一问询消息中的所述诊断对象节点与所述第二节点不同且所述诊断对象节点是所述节点的邻居节点时,将自身节点标识作为发送节点标识添加到所述第一问询消息中,并广播所述第一问询消息。
附记11、根据附记10所述的网络,其中,所述第一节点在接收到的所述第一问询消息中的所述诊断对象节点与所述节点相同、且所述第一节点已经发现与所述第一问询消息中的发起节点无法通信时,确定诊断结果为所述节点与所述发起节点之间双向链路故障;在接收到的所述第一问询消息中的所述诊断对象节点与所述节点相同、且所述第一节点未发现与所述第一问询消息中的发起节点无法通信时,确定诊断结果为所述第一节点与所述发起节点之间单向链路故障。
附记12、根据附记10所述的网络,其中,所述第一问询消息还包括至少一个故障链路节点标识,所述故障链路节点是所述发起节点以外的、发送所述第一问询消息且已经发现与所述诊断对象之间无法通信的节点;
所述第一节点还用于在接收到的所述第一问询消息中的所述诊断对象节点与所述第一节点相同、且所述第一节点已经发现与所述第一问询消息中的故障链路节点无法通信时,确定诊断结果为所述第一节点与所述故障链路节点之间双向链路故障;
在接收到的所述第一问询消息中的所述诊断对象节点与所述第一节点相同、且所述第一节点未发现与所述第一问询消息中的故障链路节点无法通信时,确定诊断结果为所述第一节点与所述故障链路节点之间单向链路故障。
附记13、根据附记10所述的网络,其中,所述第一节点在没有向网关上报过所述诊断结果时,向网关上报所述诊断结果。
附记14、根据附记10所述的网络,其中所述第一节点在接收到的所述第一问询消息中的所述诊断对象节点与所述节点相同时,将所述第一问询消息中的发起节点标识存储在第一列表中。
附记15、根据附记10所述的网络,其中,所述第二节点在广播第一问询消息前,判断是否已接收过包含以所述第一问询消息中的发起节点为发起节点,以所述第一问询消息中的诊断对象节点为诊断对象节点的问询消息,在判断结果为否时,所述第二节点将自身节点标识作为所述第一问询消息中的发送节点标识,并广播所述第一问询消息。
附记16、根据附记10所述的网络,其中,所述第一节点在发现与其他节点无法通信,且没有接收过包含所述其他节点为发起节点,所述节点为诊断对象节点的问询消息时,将所述其他节点标识存储在第二列表中,广播第二问询消息,所述第二问询消息包含以所述第一节点为发起节点,以所述其他节点为诊断对象节点的标识。
附记17、根据附记10所述的网络,其中,所述第二节点还用于在已经发现与所述诊断对象节点无法通信时,将自身节点标识作为故障诊断链路节点标识添加到所述第一问询消息中。
附记18、一种故障诊断方法,其中,所述方法包括:
所述节点接收第一问询消息,所述第一问询消息包含发起节点标识、诊断对象节点标识;或者包含发起节点标识、诊断对象节点标识和至少一个发送所述第一问询消息的发送节点标识;
在所述第一问询消息中的所述诊断对象节点与所述节点相同时,确定诊断结果为所述节点与所述发起节点之间的链路故障;
在所述第一问询消息中的所述诊断对象节点与所述节点不相同且所述诊断对象节点是所述节点的邻居节点时,所述节点将自身节点标识作为发送节点标识添加到所述第一问询消息中,并广播所述第一问询消息。
附记19、根据附记18所述的方法,其中,所述方法还包括:
所述节点判断是否已经发现与所述第一问询消息中的发送节点无法通信,在判断结果为是时,确定为所述节点与所述发起节点之间双向链路故障,否则确定为单向链路故障。
附记20、一种故障诊断方法,其中,所述方法包括:
在节点发现与其他节点无法通信,且所述节点接收过包含所述其他节点为发起节点,所述节点为诊断对象节点的问询消息时,确定为所述节点与所述其他节点之间双向链路故障。
Claims (10)
1.一种节点,其中,所述节点包括:
第一接收单元,所述第一接收单元用于接收第一问询消息,所述第一问询消息包含发起节点标识、诊断对象节点标识;或者包含发起节点标识、诊断对象节点标识和至少一个发送所述第一问询消息的发送节点标识;
第一确定单元,所述第一确定单元用于在接收到的所述第一问询消息中的所述诊断对象节点与所述节点相同时,确定诊断结果为所述节点与所述发起节点之间的链路故障;
第一处理单元,所述第一处理单元用于在接收到的所述第一问询消息中的所述诊断对象节点与所述节点不同且所述诊断对象节点是所述节点的邻居节点时,将自身节点标识作为发送节点标识添加到所述第一问询消息中,并广播所述第一问询消息。
2.根据权利要求1所述的节点,其中,所述第一确定单元还包括:
第二确定单元,所述第二确定单元用于在接收到的所述第一问询消息中的所述诊断对象节点与所述节点相同、且所述节点已经发现与所述第一问询消息中的发起节点无法通信时,确定诊断结果为所述节点与所述发起节点之间双向链路故障;
第三确定单元,所述第三确定单元用于在接收到的所述第一问询消息中的所述诊断对象节点与所述节点相同、且所述节点未发现与所述第一问询消息中的发起节点无法通信时,确定诊断结果为所述节点与所述发起节点之间单向链路故障。
3.根据权利要求1所述的节点,其中,所述节点还包括:
第一上报单元,所述第一上报单元用于在没有向网关上报过所述诊断结果时,向网关上报所述诊断结果。
4.根据权利要求1所述的节点,其中,所述节点还包括:
第一存储单元,所述第一存储单元用于在接收到的所述第一问询消息中的所述诊断对象节点与所述节点相同时,将所述第一问询消息中的发起节点标识存储在自身的第一列表中。
5.根据权利要求1所述的节点,其中,所述第一问询消息还包括至少一个故障链路节点标识,所述故障链路节点是所述发起节点以外的、发送所述第一问询消息且已经发现与所述诊断对象之间无法通信的节点;
所述节点还包括:
第四确定单元,所述第四确定单元用于在接收到的所述第一问询消息中的所述诊断对象节点与所述节点相同、且所述节点已经发现与所述第一问询消息中的故障链路节点无法通信时,确定诊断结果为所述节点与所述故障链路节点之间双向链路故障;
第五确定单元,所述第五确定单元用于在接收到的所述第一问询消息中的所述诊断对象节点与所述节点相同、且所述节点未发现与所述第一问询消息中的故障链路节点无法通信时,确定诊断结果为所述节点与所述故障链路节点之间单向链路故障。
6.根据权利要求1所述的节点,其中,所述节点还包括:
第一判断单元,所述第一判断单元用于在所述第一处理单元进行上述处理前,判断是否已接收过包含以所述第一问询消息中的发起节点为发起节点,以所述第一问询消息中的诊断对象节点为诊断对象节点的问询消息;
在所述第一判断单元判断结果为否时,所述第一处理单元进行上述处理。
7.根据权利要求1所述的节点,其中,所述第一处理单元还用于在所述节点已经发现与所述诊断对象节点无法通信时,将自身节点标识作为故障诊断链路节点标识添加到所述第一问询消息中。
8.一种节点,其中,所述节点包括:
第六确定单元,所述第六确定单元用于在发现所述节点与其他节点无法通信,且所述节点接收过包含所述其他节点为发起节点,所述节点为诊断对象节点的问询消息时,确定诊断结果为所述节点与所述其他节点之间双向链路故障。
9.根据权利要求8所述的节点,其中,所述节点还包括:
第三处理单元,所述第三处理单元用于在所述节点没有接收过包含所述其他节点为发起节点,所述节点为诊断对象节点的问询消息时,将所述其他节点标识存储在第二列表中,并广播第二问询消息,所述第二问询消息包含以所述节点为发起节点,以所述其他节点为诊断对象节点的标识。
10.一种多跳网络,其中,所述网络包括:第一节点和第二节点;
所述第一节点用于接收第一问询消息,所述第一问询消息包含发起节点标识、诊断对象节点标识;或者包含发起节点标识、诊断对象节点标识和至少一个发送所述第一问询消息的发送节点标识;在接收到的所述第一问询消息中的所述诊断对象节点与所述第一节点相同时,确定诊断结果为所述第一节点与所述发起节点之间的链路故障;或者,所述第一节点在发现与其他节点无法通信,且接收过包含所述其他节点为发起节点,所述第一节点为诊断对象节点的问询消息时,确定诊断结果为所述第一节点与所述其他节点之间双向链路故障;
所述第二节点用于接收第一问询消息;在接收到的所述第一问询消息中的所述诊断对象节点与所述第二节点不同且所述诊断对象节点是所述节点的邻居节点时,将自身节点标识作为发送节点标识添加到所述第一问询消息中,并广播所述第一问询消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410189380.8A CN105099800B (zh) | 2014-05-07 | 2014-05-07 | 节点和多跳网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410189380.8A CN105099800B (zh) | 2014-05-07 | 2014-05-07 | 节点和多跳网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105099800A true CN105099800A (zh) | 2015-11-25 |
CN105099800B CN105099800B (zh) | 2018-07-20 |
Family
ID=54579414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410189380.8A Expired - Fee Related CN105099800B (zh) | 2014-05-07 | 2014-05-07 | 节点和多跳网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105099800B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108449205A (zh) * | 2018-03-05 | 2018-08-24 | 深圳市物联微电子有限公司 | 一种树型拓扑结构无线自组网链路故障定位方法 |
CN108777844A (zh) * | 2018-05-17 | 2018-11-09 | 北京百瑞互联技术有限公司 | 一种基于蓝牙mesh网络的定位方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420335A (zh) * | 2007-10-26 | 2009-04-29 | 华为技术有限公司 | 对等网络节点故障检测/处理方法及装置 |
CN101436997A (zh) * | 2008-12-05 | 2009-05-20 | 西安交通大学 | 一种基于aodv以及链路故障类型的路由修复方法 |
CN103002487A (zh) * | 2012-09-29 | 2013-03-27 | 深圳市友讯达科技发展有限公司 | 一种应用于自组织网络的故障修复方法及网络节点 |
-
2014
- 2014-05-07 CN CN201410189380.8A patent/CN105099800B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420335A (zh) * | 2007-10-26 | 2009-04-29 | 华为技术有限公司 | 对等网络节点故障检测/处理方法及装置 |
CN101436997A (zh) * | 2008-12-05 | 2009-05-20 | 西安交通大学 | 一种基于aodv以及链路故障类型的路由修复方法 |
CN103002487A (zh) * | 2012-09-29 | 2013-03-27 | 深圳市友讯达科技发展有限公司 | 一种应用于自组织网络的故障修复方法及网络节点 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108449205A (zh) * | 2018-03-05 | 2018-08-24 | 深圳市物联微电子有限公司 | 一种树型拓扑结构无线自组网链路故障定位方法 |
CN108777844A (zh) * | 2018-05-17 | 2018-11-09 | 北京百瑞互联技术有限公司 | 一种基于蓝牙mesh网络的定位方法及系统 |
CN108777844B (zh) * | 2018-05-17 | 2020-06-30 | 北京百瑞互联技术有限公司 | 一种基于蓝牙mesh网络的定位方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105099800B (zh) | 2018-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104348659A (zh) | 多跳网络的故障检测方法和节点 | |
CN104244170B (zh) | 低功耗的蓝牙节点自主组网方法 | |
CN104125590B (zh) | 链路故障诊断装置以及方法 | |
Theodorou et al. | Software defined topology control strategies for the internet of things | |
CN106161237B (zh) | 集中式的路由方法、装置和系统 | |
CN112425124B (zh) | 汽车以太网网络中的拓扑发现 | |
CN104735744B (zh) | 一种基于终端直通通信的多跳中继路由的设计方法 | |
CN111565474B (zh) | AP设备与目标终端建立基于Mesh网络的通信连接方法及系统 | |
EP2838227A1 (en) | Connectivity detection method, device and system | |
JP4720794B2 (ja) | マルチホップ通信ネットワークにおける隣接ノード確認方法、マルチホップ通信ネットワークのノード | |
WO2018019056A1 (zh) | 传输数据的方法和中继节点 | |
US9161332B2 (en) | Location estimation device and location estimation method for estimating location of interference source | |
CN109347520B (zh) | 双模通信网络的通信方法、系统及计算机可读存储介质 | |
US10097444B2 (en) | Communication device and communication method for communication to a root device | |
CN105099800A (zh) | 节点和多跳网络 | |
US10449981B2 (en) | Apparatus and method for dynamically configuring wireless sensor relay network for monitoring train activity | |
US11012290B2 (en) | Systems and methods for node outage determination and reporting | |
CN101527645A (zh) | 网络拓扑信息收集方法、系统及相关设备 | |
EP3384695B1 (en) | Handling of devices based on group membership | |
CN102946335B (zh) | 一种网络状况检测方法及系统 | |
CN106255167B (zh) | 一种基于低功耗有损网络路由协议的无线传感器网络 | |
US20160192212A1 (en) | Method for sensing mobility link quality and transmitting data in low-power wireless network | |
CN104683129A (zh) | 诊断树建立方法、网络故障诊断方法及其节点 | |
CN103491596B (zh) | 一种微功率无线通信方法 | |
CA3108087C (en) | Method for monitoring apparatus |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180720 Termination date: 20210507 |