一種多級樹型網(wǎng)絡(luò)下的節(jié)點(diǎn)故障修復(fù)方法
【專利說明】
(一)
技術(shù)領(lǐng)域
[0001 ] 本發(fā)明提供一種多級樹型網(wǎng)絡(luò)下的節(jié)點(diǎn)故障修復(fù)方法。
(二)
【背景技術(shù)】
[0002]樹型網(wǎng)絡(luò)節(jié)點(diǎn)的分布零散,維護(hù)時需花費(fèi)大量人力。網(wǎng)絡(luò)節(jié)點(diǎn)出現(xiàn)問題時,很多急需網(wǎng)絡(luò)的應(yīng)用無法正常開展,對依托于網(wǎng)絡(luò)的業(yè)務(wù)造成較大影響。所以快速有效地提高網(wǎng)絡(luò)節(jié)點(diǎn)修復(fù)效率,降低通信故障引起的業(yè)務(wù)損失和系統(tǒng)開銷是必不可少的。本發(fā)明提供一種多級樹型網(wǎng)絡(luò)下的節(jié)點(diǎn)故障修復(fù)方法,可以在網(wǎng)絡(luò)節(jié)點(diǎn)出現(xiàn)故障時對網(wǎng)絡(luò)進(jìn)行動態(tài)修復(fù),同時在故障節(jié)點(diǎn)修復(fù)重新上線后,快速恢復(fù)為網(wǎng)絡(luò)故障前狀態(tài)。
(三)
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的是在樹型網(wǎng)絡(luò)中檢測到節(jié)點(diǎn)出現(xiàn)故障時,從故障節(jié)點(diǎn)所波及的下級節(jié)點(diǎn)開始對網(wǎng)絡(luò)進(jìn)行動態(tài)修復(fù),保證故障節(jié)點(diǎn)的子節(jié)點(diǎn)及其下級節(jié)點(diǎn)能夠快速接入網(wǎng)絡(luò),恢復(fù)與上級節(jié)點(diǎn)通信,在故障節(jié)點(diǎn)修復(fù)重新上線后,快速恢復(fù)為網(wǎng)絡(luò)故障前狀態(tài)。
[0004]為了達(dá)到上述目的,本發(fā)明采用這樣的方案實(shí)現(xiàn):
[0005]在連通的樹型網(wǎng)絡(luò)中,如果一串節(jié)點(diǎn)Ii1, n2,…,nk有如下關(guān)系:節(jié)點(diǎn)1^是111+1的父節(jié)點(diǎn)(I ( i〈k),就把Ivn2,…,巧稱為一條由η連n k的路徑。節(jié)點(diǎn)I到節(jié)點(diǎn)4間的路徑示意如圖1所示。
[0006]樹型網(wǎng)絡(luò)中除了根節(jié)點(diǎn)和葉子節(jié)點(diǎn)外,每個節(jié)點(diǎn)N都有三個本地存儲表,分別為下級子節(jié)點(diǎn)通信列表、上級節(jié)點(diǎn)列表以及故障節(jié)點(diǎn)列表。下級子節(jié)點(diǎn)通信表存儲的是與其通信的下一級子節(jié)點(diǎn)IP地址和最新通信時間;上級節(jié)點(diǎn)列表存儲的則是從根節(jié)點(diǎn)至父節(jié)點(diǎn)N-1的路徑上的所有節(jié)點(diǎn)。故障節(jié)點(diǎn)列表中存儲的是故障報文中的故障節(jié)點(diǎn)以及為故障節(jié)點(diǎn)選擇的臨時節(jié)點(diǎn)。根節(jié)點(diǎn)只存儲子節(jié)點(diǎn)通信列表和故障節(jié)點(diǎn)列表,葉子節(jié)點(diǎn)則只有上級節(jié)點(diǎn)列表。
[0007]非根節(jié)點(diǎn)每隔時間t會向父節(jié)點(diǎn)發(fā)送無故障報文,父節(jié)點(diǎn)向子節(jié)點(diǎn)回復(fù)確認(rèn)報文。父節(jié)點(diǎn)每隔時間t會自動檢查子節(jié)點(diǎn)通信表中的節(jié)點(diǎn)最新通信時間與當(dāng)前時刻的時間差,若超過時間t則認(rèn)為該節(jié)點(diǎn)已出現(xiàn)故障。
[0008]若節(jié)點(diǎn)N判斷出父節(jié)點(diǎn)N-1出現(xiàn)故障,則更新上級列表,標(biāo)記故障節(jié)點(diǎn)。通過父節(jié)點(diǎn)表找到節(jié)點(diǎn)N-2的節(jié)點(diǎn)信息,并向其發(fā)送節(jié)點(diǎn)N-1故障報文,節(jié)點(diǎn)N-2收到后更新其故障節(jié)點(diǎn)列表。若節(jié)點(diǎn)N通過判斷出節(jié)點(diǎn)N-2也出現(xiàn)故障,則再通過父節(jié)點(diǎn)表找到節(jié)點(diǎn)N-3的節(jié)點(diǎn)信息,以此類推,直到找到無故障的上級節(jié)點(diǎn)。若根節(jié)點(diǎn)也出現(xiàn)故障則停止當(dāng)前的恢復(fù)過程。
[0009]本發(fā)明的故障修復(fù)機(jī)制,具體包括以下步驟:
[0010]當(dāng)節(jié)點(diǎn)出現(xiàn)故障時網(wǎng)絡(luò)的恢復(fù)步驟為:
[0011](I)初始化父節(jié)點(diǎn)列表、子節(jié)點(diǎn)列表,初始化M = N-2 ;
[0012](2)節(jié)點(diǎn)N每隔時間t向父節(jié)點(diǎn)N-1發(fā)送無故障報文;
[0013](3)節(jié)點(diǎn)N-1回復(fù)無故障報文并更新節(jié)點(diǎn)N的最新通信時間;
[0014](4)節(jié)點(diǎn)N判斷上級節(jié)點(diǎn)N-1是否故障,是則執(zhí)行步驟(5),否則執(zhí)行步驟(I);
[0015](5)節(jié)點(diǎn)N從上級節(jié)點(diǎn)列表中查找節(jié)點(diǎn)M的IP地址,并向其發(fā)送故障節(jié)點(diǎn)信息和網(wǎng)絡(luò)修復(fù)請求;
[0016](6)節(jié)點(diǎn)N判斷M是否故障,是則執(zhí)行步驟(7),否則執(zhí)行步驟(8)
[0017](7)判斷M是否為1,是則執(zhí)行步驟(16),否則令M = M_1,更新上級節(jié)點(diǎn)列表,執(zhí)行步驟(5);
[0018](8)節(jié)點(diǎn)M接收節(jié)點(diǎn)N發(fā)來的故障報文,查找并判斷子節(jié)點(diǎn)列表中節(jié)點(diǎn)N-1是否存在臨時節(jié)點(diǎn)IP,是則執(zhí)行步驟(9),否則執(zhí)行步驟(10);
[0019](9)節(jié)點(diǎn)M將子節(jié)點(diǎn)列表中對應(yīng)于節(jié)點(diǎn)N-1的臨時節(jié)點(diǎn)IP發(fā)送給節(jié)點(diǎn)N,執(zhí)行步驟(12);
[0020](10)節(jié)點(diǎn)M將節(jié)點(diǎn)N-1加入故障列表;
[0021](11)節(jié)點(diǎn)M從子節(jié)點(diǎn)列表中選擇一個可用節(jié)點(diǎn)作為臨時節(jié)點(diǎn),并將其IP保存至故障列表中與N-1節(jié)點(diǎn)對應(yīng),同時將其IP發(fā)送給節(jié)點(diǎn)N ;
[0022](12)節(jié)點(diǎn)N接收到臨時父節(jié)點(diǎn)IP,向臨時父節(jié)點(diǎn)發(fā)送連接請求;
[0023](13)臨時父節(jié)點(diǎn)回復(fù)確認(rèn)報文,與節(jié)點(diǎn)N建立連接;
[0024](14)節(jié)點(diǎn)N更新父節(jié)點(diǎn)列表,每隔時間t向臨時父節(jié)點(diǎn)發(fā)送無故障報文;
[0025](15)臨時父節(jié)點(diǎn)回復(fù)無故障報文并更新節(jié)點(diǎn)N的最新通信時間;
[0026](16)結(jié)束此次網(wǎng)絡(luò)修復(fù)過程。
[0027]當(dāng)節(jié)點(diǎn)重新加入網(wǎng)絡(luò)后的網(wǎng)絡(luò)恢復(fù)步驟為:
[0028](I)節(jié)點(diǎn)N-1重新加入網(wǎng)絡(luò),向其父節(jié)點(diǎn)N-2發(fā)送無故障報文,向其子節(jié)點(diǎn)發(fā)送建立連接報文。
[0029](2)節(jié)點(diǎn)N-2收到節(jié)點(diǎn)N-1的無故障報文,將故障列表中對應(yīng)N_1的臨時節(jié)點(diǎn)信息刪除,更新子節(jié)點(diǎn)列表中節(jié)點(diǎn)N-1的最新通信時間;
[0030](3)節(jié)點(diǎn)N收到節(jié)點(diǎn)N-1的建立連接報文,向其臨時父節(jié)點(diǎn)發(fā)送中斷連接報文;
[0031](4)節(jié)點(diǎn)N的臨時父節(jié)點(diǎn)刪除子節(jié)點(diǎn)中有關(guān)節(jié)點(diǎn)N的信息;
[0032](5)節(jié)點(diǎn)N建立與節(jié)點(diǎn)N-1的連接并更新其上級節(jié)點(diǎn)列表;
[0033](6)節(jié)點(diǎn)N每隔五分鐘向節(jié)點(diǎn)N-1發(fā)送無故障報文;
[0034](7)節(jié)點(diǎn)N-1回復(fù)確認(rèn)報文,并更新子節(jié)點(diǎn)列表中對應(yīng)IP地址的最新通信時間;
[0035](8)結(jié)束此次恢復(fù)過程。
[0036]本發(fā)明所闡述的多級樹型網(wǎng)絡(luò)節(jié)點(diǎn)故障修復(fù)方法,是結(jié)合當(dāng)前網(wǎng)絡(luò)狀態(tài),在節(jié)點(diǎn)故障時,其子節(jié)點(diǎn)通過對故障節(jié)點(diǎn)的上級節(jié)點(diǎn)進(jìn)行請求,獲取重新分配的臨時節(jié)點(diǎn),從實(shí)現(xiàn)對網(wǎng)絡(luò)的快速修復(fù)。同時在故障節(jié)點(diǎn)得到修復(fù)重新上線后,可自動建立與原有子節(jié)點(diǎn)的連接,重新恢復(fù)故障前的網(wǎng)絡(luò)連接狀態(tài)。該方法省去了用戶手動配置失效節(jié)點(diǎn)所屬子節(jié)點(diǎn)的上級節(jié)點(diǎn)的過程,節(jié)約了時間和人力成本,提高了設(shè)備的利用率,增加了網(wǎng)絡(luò)的魯棒性。
[0037]本方法的創(chuàng)新性在于:
[0038]1.結(jié)合當(dāng)前網(wǎng)絡(luò)狀態(tài)動態(tài)修復(fù)網(wǎng)絡(luò)。根據(jù)節(jié)點(diǎn)故障實(shí)時進(jìn)行網(wǎng)絡(luò)修復(fù),快速形成新的穩(wěn)定網(wǎng)絡(luò),減少人為參與配置,增加了網(wǎng)絡(luò)的魯棒性,節(jié)約時間和系統(tǒng)開銷。
[0039]2.故障節(jié)點(diǎn)修復(fù)后自動恢復(fù)故障前狀態(tài)。根據(jù)修復(fù)后的故障節(jié)點(diǎn)實(shí)時上線,通知各子節(jié)點(diǎn)加入原故障父節(jié)點(diǎn),自動恢復(fù)到故障前的網(wǎng)絡(luò)連接狀態(tài),節(jié)約了配置故障節(jié)點(diǎn)和子節(jié)點(diǎn)的時間。
(四)
【附圖說明】
[0040]圖1為樹型網(wǎng)絡(luò)鏈路示意圖。
[0041]圖2為本發(fā)明中當(dāng)節(jié)點(diǎn)出現(xiàn)故障時網(wǎng)絡(luò)的恢復(fù)步驟的具體流程圖。
[0042]圖3為本發(fā)明的故障恢復(fù)示例圖。
(五)
【具體實(shí)施方式】
[0043]下面結(jié)合附圖舉例對本發(fā)明做更詳細(xì)地描述:
[0044]本發(fā)明所述方法的特征在于:
[0045]樹型網(wǎng)絡(luò)中除了根節(jié)點(diǎn)和葉子節(jié)點(diǎn)外,每個節(jié)點(diǎn)N都有三個本地存儲表,分別為下級子節(jié)點(diǎn)通信列表、上級節(jié)點(diǎn)列表以及故障節(jié)點(diǎn)列表。下級子節(jié)點(diǎn)通信表存儲的是與其通信的下一級子節(jié)點(diǎn)IP地址和最新通信時間;上級節(jié)點(diǎn)列表存儲的則是從根節(jié)點(diǎn)至父節(jié)點(diǎn)N-1的路徑上的所有節(jié)點(diǎn)。故障節(jié)點(diǎn)列表中存儲的是故障報文中的故障節(jié)點(diǎn)以及為故障節(jié)點(diǎn)選擇的臨時節(jié)點(diǎn)。根節(jié)點(diǎn)只存儲子節(jié)點(diǎn)通信列表和故障節(jié)點(diǎn)列表,葉子節(jié)點(diǎn)則只有上級節(jié)點(diǎn)列表。
[0046]非根節(jié)點(diǎn)每隔時間t會向父節(jié)點(diǎn)發(fā)送無故障報文,父節(jié)點(diǎn)向子節(jié)點(diǎn)回復(fù)確認(rèn)報文。父節(jié)點(diǎn)每隔時間t會自動檢查子節(jié)點(diǎn)通信表中的節(jié)點(diǎn)最新通信時間與當(dāng)前時刻的時間差,若超過時間t則認(rèn)為該節(jié)點(diǎn)已出現(xiàn)故障。
[0047]若節(jié)點(diǎn)N判斷出父節(jié)點(diǎn)N-1出現(xiàn)故障,則更新上級列表,標(biāo)記故障節(jié)點(diǎn)。通過父節(jié)點(diǎn)表找到節(jié)點(diǎn)N-2的節(jié)點(diǎn)信息,并向其發(fā)送節(jié)點(diǎn)N-1故障報文,節(jié)點(diǎn)N-2收到后更新其故障節(jié)點(diǎn)列表。若節(jié)點(diǎn)N通過判斷出節(jié)點(diǎn)N-2也出現(xiàn)故障,則再通過父節(jié)點(diǎn)表找到節(jié)點(diǎn)N-3的節(jié)點(diǎn)信息,以此類推,直到