診斷樹建立方法、網絡故障診斷方法及其節點的制作方法
【技術領域】
[0001] 本發明涉及通信技術領域,尤其涉及一種診斷樹建立方法、網絡故障診斷方法及 其節點。
【背景技術】
[0002] 傳統的故障診斷方法在該節點發現故障節點時,廣播建樹消息,針對故障節點建 立診斷樹,其他節點在接收到建樹消息后根據需要判斷自身是否加入該診斷樹,在診斷樹 建立完成后,該節點將自己的診斷結果與收集的來自于其子節點的診斷結果,上報給其父 節點,以便診斷樹中的根節點作出故障診斷。在診斷樹的根節點在做出故障診斷后,將診斷 結果上報給網關(GW,Gateway)。
[0003] 應該注意,上面對技術背景的介紹只是為了方便對本發明的技術方案進行清楚、 完整的說明,并方便本領域技術人員的理解而闡述的。不能僅僅因為這些方案在本發明的
【背景技術】部分進行了闡述而認為上述技術方案為本領域技術人員所公知。
【發明內容】
[0004] 在建立診斷樹的過程中,節點需要廣播建樹消息。例如,節點A、B、C都工作在同 一個信道上,當節點A向節點B廣播建樹消息時,載波偵聽機制無法阻止節點C廣播建樹消 息,而造成廣播包在節點B處沖突。節點C是隱藏在節點A的覆蓋范圍之外的、卻又能對節 點A的發送形成潛在沖突的隱終端(hiddenterminal),正是由于隱終端的存在,很容易引 起廣播包的沖突,導致相關的節點無法加入診斷樹;在收集并融合診斷證據的過程中,存在 信息的冗余和如何實時修正診斷結果的問題;在上報診斷結果的過程中容易發生丟包等問 題。上述問題都會影響網絡診斷的效率和準確性。
[0005] 本發明實施例提出了一種診斷樹建立方法、網絡故障診斷方法及其節點,該方法 通過在節點發現故障時,該節點延遲第一預定時間廣播建樹消息,以建立診斷樹;診斷樹的 中間節點或根節點根據接收的其他節點的診斷結果來修正當前自身的初步診斷結果。從而 能夠避免廣播包的沖突、提升診斷樹建立的完備性,能夠實時修正診斷結果,克服信息冗余 的問題;并避免上報診斷結果的過程中發生丟包,提高網絡診斷的效率和準確性。
[0006] 本發明實施例的上述目的是通過如下技術方案實現的:
[0007] 根據本發明實施例的第一個方面,提供了一種診斷樹建立方法,其中,該方法包 括:
[0008] 在節點發現故障時,該節點延遲第一預定時間廣播建樹消息,以建立診斷樹;
[0009] 其中,該第一預定時間隨機設定;或者根據鄰居節點對該節點的接收質量(RQ, ReceivingQuality,)來計算該第一預定時間。
[0010] 根據本發明實施例的第二個方面,提供了一種診斷樹建立方法,其中,該方法包 括:
[0011] 節點接收廣播的建樹消息或確認消息;
[0012] 在該節點接收到建樹消息,且該建樹消息中的故障節點是該節點的鄰居節點時, 或者在該節點接收到確認消息、該節點還未加入診斷樹,且該確認消息中的故障節點是該 節點的鄰居節點時,該節點加入診斷樹;
[0013] 在延遲第二預定時間后廣播建樹消息,和/或確認消息。
[0014] 根據本發明實施例的第三個方面,提供了一種網絡故障診斷方法,該方法包括:
[0015] 診斷樹的中間節點或根節點根據接收的其他節點的診斷結果來修正當前自身的 初步診斷結果;
[0016] 該診斷結果包括故障類型、或故障類型和故障鏈路標識;其中該故障類型包括疑 似節點故障和非節點故障,故障鏈路標識包括本地節點標識和故障節點標識;
[0017] 該疑似節點故障表示該節點和該節點下面所有診斷樹中的節點全都與故障節點 鏈路不正常;該非節點故障表示該節點和該節點下面所有診斷樹中的節點至少有一個節點 與故障節點的鏈路正常;
[0018] 其中,在該初始診斷結果為疑似節點故障時:
[0019] 當收到的診斷結果是疑似節點故障時,對該初始診斷結果不進行修正;
[0020] 當收到的診斷結果是非節點故障時,將該初始診斷結果修正為非節點故障,并且 包含所有收集到的故障鏈路標識;
[0021] 在該初始診斷結果是非節點故障時:
[0022] 當收到的診斷結果是疑似節點故障時,對該初始診斷結果不進行修正,加入新的 故障鏈路標識;
[0023] 當收到的診斷結果是非節點故障,且在診斷結果中包含新的故障鏈路標識時,對 該初始診斷結果不進行修正,且加入新的故障鏈路標識;
[0024] 當收到的診斷結果是非節點故障,且在診斷結果中沒有新的故障鏈路標識時,對 該初始診斷結果不進行修正。
[0025] 根據本發明實施例的第四個方面,提供了一種網絡中的節點,其中,該節點包括:
[0026] 第一廣播單元,該第一廣播單元在節點發現故障時,延遲第一預定時間廣播建樹 消息,以建立診斷樹;
[0027] 時間設定單元,該時間設定單元用于隨機設定該第一預定時間;或者根據鄰居節 點對該節點的接收質量來計算該第一預定時間。
[0028] 根據本發明實施例的第五個方面,提供了一種網絡中的節點,其中,該節點包括:
[0029] 第一接收單元,該第一接收單元用于接收廣播的建樹消息或確認消息;
[0030] 第二處理單元,該第二處理單元用于在該第一接收單元接收到建樹消息,且該建 樹消息中的故障節點是該節點的鄰居節點時,或者用于在該第一接收單元接收到確認消息 且該節點還未加入診斷樹,且該確認消息中的故障節點是該節點的鄰居節點時,將該節點 加入診斷樹;
[0031] 第二廣播單元,該第二廣播單元用于在延遲第二預定時間后廣播建樹消息,和/ 或確認消息。
[0032] 根據本發明實施例的第六個方面,提供了一種網絡中的節點,該節點為診斷樹中 的節點,其中該節點包括:
[0033] 第二接收單元,該第二接收單元用于接收其它節點上報的診斷結果;該診斷結果 包括故障類型、或故障類型和故障鏈路標識;其中該故障類型包括疑似節點故障和非節點 故障,故障鏈路標識包括本地節點標識和故障節點標識;該疑似節點故障表示該節點和該 節點下面所有診斷樹中的節點全都與故障節點鏈路不正常;該非節點故障表示該節點和該 節點下面所有診斷樹中的節點至少有一個節點與故障節點的鏈路正常;
[0034] 第一修正單元,該第一修正單元根據該第二接收單元接收的其它節點上報的診斷 結果來修正當前自身的初步診斷結果;
[0035] 其中,在該初始診斷結果為疑似節點故障時:
[0036] 當該第二接收單元收到的診斷結果是疑似節點故障時,該第一修正單元對該初始 診斷結果不進行修正;
[0037] 當該第二接收單元收到的診斷結果是非節點故障時,該第一修正單元將該初始診 斷結果修正為非節點故障,并且包含所有收集到的故障鏈路標識;
[0038] 在該初始診斷結果是非節點故障時:
[0039] 當該第二接收單元收到的診斷結果是疑似節點故障時,該第一修正單元對該初始 診斷結果不進行修正,加入新的故障鏈路標識;
[0040] 當該第二接收單元收到的診斷結果是非節點故障,