專利名稱:一種鏈路故障時(shí)更新連接的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信網(wǎng)絡(luò)領(lǐng)域,特別涉及一種鏈路故障時(shí)更新連接的方法及系統(tǒng)。
背景技術(shù):
通信網(wǎng)絡(luò)由節(jié)點(diǎn)和鏈路組成,節(jié)點(diǎn)之間通過物理鏈路連接起來。在有連接的通信網(wǎng)絡(luò)中,每個(gè)端節(jié)點(diǎn)可以與其他的 端節(jié)點(diǎn)建立連接,然后通過已建立好的連接與其他端節(jié)點(diǎn)進(jìn)行通信。任意兩個(gè)端節(jié)點(diǎn)之間的連接需要經(jīng)過一條或多條鏈路,當(dāng)某條鏈路發(fā)生故障時(shí),所有經(jīng)過該條鏈路上的連接都需要進(jìn)行更新,以確保每條連接能夠正常通信?,F(xiàn)有技術(shù)提供了一種更新連接的方法,具體為通信網(wǎng)絡(luò)中的節(jié)點(diǎn)需要預(yù)先存儲(chǔ)與自身相連的每條鏈路以及經(jīng)過每條鏈路上的所有連接的信息,然后每個(gè)節(jié)點(diǎn)周期性地檢測與自身相連的每條鏈路,如果檢測出某條鏈路發(fā)生故障,則根據(jù)已存儲(chǔ)的與該鏈路有關(guān)的連接信息定位連接關(guān)聯(lián)的端節(jié)點(diǎn),發(fā)送通知給連接兩端的端節(jié)點(diǎn),端節(jié)點(diǎn)接收到通知后,更新經(jīng)過故障鏈路上的連接。在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題通信網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)需要存儲(chǔ)經(jīng)過與自身相連的每條鏈路上的連接,而每條鏈路上可能經(jīng)過多條連接,如此需要占用每個(gè)節(jié)點(diǎn)的大量存儲(chǔ)資源。而且網(wǎng)絡(luò)拓?fù)渥兓欤收匣謴?fù)時(shí)間慢等都是迫切需要解決的問題。
發(fā)明內(nèi)容
為了在鏈路故障時(shí),以較低成本實(shí)現(xiàn)快速的通信連接恢復(fù),本發(fā)明提供了一種鏈路故障時(shí)更新連接的方法及系統(tǒng)。所述技術(shù)方案如下—種鏈路故障時(shí)更新連接的方法,所述方法包括通信網(wǎng)絡(luò)中的節(jié)點(diǎn)按隨機(jī)的方式為自己分配節(jié)點(diǎn)標(biāo)識(shí);所述通信網(wǎng)絡(luò)中的端節(jié)點(diǎn)在開始通信前,與所有待聯(lián)系的目的端節(jié)點(diǎn)建立連接,為所述連接通過尋由過程得到一條或多條路徑,并存儲(chǔ)所述連接包括的一條或多條路徑,其中,用所述路徑經(jīng)過節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)組成的排列來表示所述路徑,且為所述連接選用自身包括的全部或部分路徑進(jìn)行通信,剩下未選用的路徑作為所述連接的備用路徑;當(dāng)與所述通信網(wǎng)絡(luò)中的節(jié)點(diǎn)相連的鏈路發(fā)生故障時(shí),所述節(jié)點(diǎn)根據(jù)與所述故障鏈路相連的端口,從本地獲取與所述故障鏈路相連的對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),將自身的節(jié)點(diǎn)標(biāo)識(shí)和所述對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)的排列作為所述故障鏈路的標(biāo)識(shí),廣播所述故障鏈路的標(biāo)識(shí);所述通信網(wǎng)絡(luò)中的端節(jié)點(diǎn)從所述通信網(wǎng)絡(luò)接收所述故障鏈路的標(biāo)識(shí),并根據(jù)所述故障鏈路的標(biāo)識(shí)判斷自身的連接所選用的路徑是否經(jīng)過所述故障鏈路,如果否,則丟棄所述故障鏈路的標(biāo)識(shí);如果是,則通過所述連接的備用路徑或冗余路徑進(jìn)行自恢復(fù);如果自恢復(fù)成功,則利用所述自恢復(fù)的路徑通信;如果自恢復(fù)失敗,則重新尋由得到新路徑來恢復(fù)所述連接。
所述與所有待聯(lián)系的目的端節(jié)點(diǎn)建立連接,為所述連接通過尋由過程得到一條或多條路徑,并存儲(chǔ)所述連接包括的一條或多條路徑,包括針對任一個(gè)待聯(lián)系的目的端節(jié)點(diǎn),所述端節(jié)點(diǎn)與所述待聯(lián)系的目的端節(jié)點(diǎn)建立連接,并通過呼叫尋由過程與所述待聯(lián)系的目的端節(jié)點(diǎn)建立一條或多條路徑得到所述連接包括的路徑,將所述連接包括的路徑存儲(chǔ)在生成樹EntireTree中,其中,所述EntireTree用于存儲(chǔ)所述端節(jié)點(diǎn)與所有待聯(lián)系的目的端節(jié)點(diǎn)之間的路徑,且在所述EntireTree中所述端節(jié)點(diǎn)為根節(jié)點(diǎn),所述目的端節(jié)點(diǎn)為葉子節(jié)點(diǎn)。根據(jù)所述故障鏈路的標(biāo)識(shí)判斷自身的連接所選用的路徑是否經(jīng)過所述故障鏈路,包括所述端節(jié)點(diǎn)判斷所述故障鏈路的標(biāo)識(shí)包括的兩個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)的排列是否為自身的連接所選用路徑包括的節(jié)點(diǎn)標(biāo)識(shí)的排列的子字符串,如果是,則判斷出所述連接所選用的路徑經(jīng)過所述故障鏈路。 通過所述連接的備用路徑進(jìn)行自恢復(fù),包括從經(jīng)過所述故障鏈路的路徑中獲取目的端節(jié)點(diǎn);查找所述連接的備用路徑中是否還存在所述端節(jié)點(diǎn)與所述目的端節(jié)點(diǎn)之間的路徑且所述查找的路徑不同于經(jīng)過所述故障鏈路的路徑;如果存在,則自恢復(fù)成功且通過所述查找的路徑恢復(fù)所述連接;如果不存在,則自恢復(fù)不成功。所述通過冗余路徑進(jìn)行自恢復(fù),包括從經(jīng)過所述故障鏈路的路徑中獲取目的端節(jié)點(diǎn);查找所述冗余路徑中是否還存在所述端節(jié)點(diǎn)與所述目的端節(jié)點(diǎn)之間的路徑且所述查找的路徑不同于經(jīng)過所述故障鏈路的路徑;如果存在,則自恢復(fù)成功且通過所述查找的路徑恢復(fù)所述連接;如果不存在,則自恢復(fù)不成功;其中,所述冗余路徑包括BackupTrees、MultiCastTree 和 UniCastPath,其中,所述BackupTrees包括已淘汰的EntrieTree,所述MultiCastTree為所述已淘汰的EntrieTree和所述EntrieTree的子集,所述UniCastPath為已淘汰的所述EntrieTree和所述EntrieTree中的單條路徑。所述節(jié)點(diǎn)根據(jù)與所述故障鏈路相連的端口,從本地獲取與所述故障鏈路相連的對面節(jié)點(diǎn)的標(biāo)識(shí)之前,還包括所述節(jié)點(diǎn)從與鏈路相連的端口處發(fā)送檢測消息,如果在預(yù)設(shè)的時(shí)間內(nèi)檢測出未收到響應(yīng)的端口,則判斷與所述未收到響應(yīng)的端口相連的鏈路發(fā)生故障。—種鏈路故障時(shí)更新連接的系統(tǒng),所述系統(tǒng)包括通信網(wǎng)絡(luò)的節(jié)點(diǎn)和端節(jié)點(diǎn);所述通信網(wǎng)絡(luò)的節(jié)點(diǎn),用于按隨機(jī)的方式為自己分配節(jié)點(diǎn)標(biāo)識(shí);當(dāng)與所述通信網(wǎng)絡(luò)中的節(jié)點(diǎn)相連的鏈路發(fā)生故障時(shí),所述節(jié)點(diǎn)根據(jù)與所述故障鏈路相連的端口,從本地獲取與所述故障鏈路相連的對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),將自身的節(jié)點(diǎn)標(biāo)識(shí)和所述對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)的排列作為所述故障鏈路的標(biāo)識(shí),廣播所述故障鏈路的標(biāo)識(shí);所述端節(jié)點(diǎn),用于在開始通信前,與所有待聯(lián)系的目的端節(jié)點(diǎn)建立連接,為所述連接通過尋由過程得到一條或多條路徑,并存儲(chǔ)所述連接包括的一條或多條路徑,其中,用所述路徑經(jīng)過節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)組成的排列來表示所述路徑,且為所述連接選用自身包括的全部或部分路徑進(jìn)行通信,剩下未選用的路徑作為所述連接的備用路徑;當(dāng)從所述通信網(wǎng)絡(luò)接收所述故障鏈路的標(biāo)識(shí)時(shí),根據(jù)所述故障鏈路的標(biāo)識(shí)判斷自身的連接所選用的路徑是否經(jīng)過所述故障鏈路,如果否,則丟棄所述故障鏈路的標(biāo)識(shí);如果是,則通過所述連接的備用路徑或冗余路徑進(jìn)行自恢復(fù);如果自恢復(fù)成功,則利用所述自恢復(fù)的路徑通信;如果自恢復(fù)失敗,則重新尋由得到新路徑來恢復(fù)所述連接。在本發(fā)明中,通信網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)按隨機(jī)的方式為自己分配節(jié)點(diǎn)標(biāo)識(shí),每個(gè)節(jié)點(diǎn)當(dāng)判斷出與自身相連的鏈路發(fā)生故障時(shí),獲取對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),將自身的節(jié)點(diǎn)標(biāo)識(shí)與對面節(jié)點(diǎn)的標(biāo)識(shí)的排列作為故障鏈路的標(biāo)識(shí),廣播發(fā)生故障鏈路的標(biāo)識(shí),端節(jié)點(diǎn)接收故障鏈路的標(biāo)識(shí),并根據(jù)故障鏈路的標(biāo)識(shí)判斷出經(jīng)過故障鏈路的連接,啟用快速的自我恢復(fù)過程。如此,通信網(wǎng)絡(luò)的每個(gè)節(jié)點(diǎn)都不需要存儲(chǔ)經(jīng)過與自身相連的鏈路上的連接,如此減少了對存儲(chǔ)資源的占用以及快速恢復(fù)連接,按隨機(jī)的方式分配通信網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),可以減少分配節(jié)點(diǎn)標(biāo)識(shí)的成本。另外,統(tǒng)一長度的隨機(jī)標(biāo)識(shí)便于存儲(chǔ)到高效的生成樹中,便于計(jì)算機(jī)進(jìn)行快速的檢索或子串匹配,降低計(jì)算復(fù)雜度,提高處理效率。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I是本發(fā)明實(shí)施例I提供的一種鏈路故障時(shí)更新連接的方法流程圖;圖2是本發(fā)明實(shí)施例2提供的第一種網(wǎng)絡(luò)架構(gòu)示意圖;圖3是本發(fā)明實(shí)施例2提供的第二種網(wǎng)絡(luò)架構(gòu)示意圖;圖4是本發(fā)明實(shí)施例2提供的一種鏈路故障時(shí)更新連接的方法流程圖;圖5是本發(fā)明實(shí)施例2提供的第三種網(wǎng)絡(luò)架構(gòu)示意圖;圖6是本發(fā)明實(shí)施例2提供的一種生成樹的示意圖;圖7是本發(fā)明實(shí)施例2提供的一種向量網(wǎng)地址編碼示意圖;圖8是本發(fā)明實(shí)施例3提供的一種鏈路故障時(shí)更新連接的系統(tǒng)示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述,首先闡明一些概念。實(shí)施例I如圖I所示,本發(fā)明實(shí)施例提供了一種鏈路故障時(shí)更新連接的方法,包括步驟101 :通信網(wǎng)絡(luò)中的節(jié)點(diǎn)按隨機(jī)的方式為自己分配節(jié)點(diǎn)標(biāo)識(shí);步驟102 :通信網(wǎng)絡(luò)中的端節(jié)點(diǎn)在開始通信前,與所有待聯(lián)系的目的端節(jié)點(diǎn)建立連接,為所述連接通過尋由過程得到一條或多條路徑,并存儲(chǔ)所述連接包括的一條或多條路徑;其中,用所述路徑經(jīng)過節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)組成的排列來表示所述路徑,且為所述連接選用自身包括的全部或部分路徑進(jìn)行通信,剩下未選用的路徑作為所述連接的備用路徑;步驟103 :當(dāng)與通信網(wǎng)絡(luò)中的節(jié)點(diǎn)相連的鏈路發(fā)生故障時(shí),所述節(jié)點(diǎn)根據(jù)與所述故障鏈路相連的端口,從本地獲取與所述故障鏈路相連的對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),將自身的節(jié)點(diǎn)標(biāo)識(shí)和所述對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)的排列作為所述故障鏈路的標(biāo)識(shí),廣播所述故障鏈路的標(biāo)識(shí);步驟104 :通信網(wǎng)絡(luò)中的端節(jié)點(diǎn)從所述通信網(wǎng)絡(luò)接收所述故障鏈路的標(biāo)識(shí),并根據(jù)所述故障鏈路的標(biāo)識(shí)判斷自身的連接所選用的路徑是否經(jīng)過所述故障鏈路,如果否,則丟棄所述故障鏈路的標(biāo)識(shí);如果是,則執(zhí)行步驟105 ;步驟105 :所述端節(jié)點(diǎn)通過所述連接的備用路徑或冗余路徑進(jìn)行自恢復(fù);如果自恢復(fù)成功,則利用所述自恢復(fù)的路徑通信;如果自恢復(fù)失敗,則重新尋由得到新路徑來恢復(fù) 所述連接。在本發(fā)明實(shí)施例中,通信網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)按隨機(jī)的方式為自己分配節(jié)點(diǎn)標(biāo)識(shí),每個(gè)節(jié)點(diǎn)當(dāng)判斷出與自身相連的鏈路發(fā)生故障時(shí),獲取對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),將自身的節(jié)點(diǎn)標(biāo)識(shí)與對面節(jié)點(diǎn)的標(biāo)識(shí)的排列作為故障鏈路的標(biāo)識(shí),廣播發(fā)生故障鏈路的標(biāo)識(shí),端節(jié)點(diǎn)接收故障鏈路的標(biāo)識(shí),并根據(jù)故障鏈路的標(biāo)識(shí)判斷出經(jīng)過故障鏈路的連接,利用自我恢復(fù)機(jī)制快速更新經(jīng)過故障鏈路的連接。如此,通信網(wǎng)絡(luò)的每個(gè)節(jié)點(diǎn)都不需要存儲(chǔ)經(jīng)過與自身相連的鏈路上的連接,如此減少了對存儲(chǔ)資源的占用;按隨機(jī)的方式分配通信網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),可以減少分配節(jié)點(diǎn)標(biāo)識(shí)的成本。另外,統(tǒng)一長度的隨機(jī)標(biāo)識(shí)便于存儲(chǔ)到高效的生成樹中,便于計(jì)算機(jī)進(jìn)行快速的檢索或子串匹配,降低計(jì)算復(fù)雜度,提高處理效率。實(shí)施例2本發(fā)明實(shí)施例提供了一種當(dāng)鏈路故障時(shí)更新連接的方法。如圖2和3所示,為本發(fā)明應(yīng)用的網(wǎng)絡(luò)示例,在該網(wǎng)絡(luò)示例中,端節(jié)點(diǎn)直接連接在通信網(wǎng)絡(luò)上,通信網(wǎng)絡(luò)由節(jié)點(diǎn)組成,通過物理鏈路將通信網(wǎng)絡(luò)中的節(jié)點(diǎn)連接成網(wǎng)絡(luò),每個(gè)端節(jié)點(diǎn)可以在通信網(wǎng)絡(luò)中與其他端節(jié)點(diǎn)建立連接。參圖4該方法包括步驟201 :通信網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)采用隨機(jī)的方式為自己分配節(jié)點(diǎn)標(biāo)識(shí);進(jìn)一步地,運(yùn)營商可以通過人工生成的方式為通信網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)分配節(jié)點(diǎn)標(biāo)識(shí)。步驟202 :通信網(wǎng)絡(luò)中的端節(jié)點(diǎn)在開始通信前,與所有待聯(lián)系的目的端節(jié)點(diǎn)建立連接,為建立的連接通過尋由過程得到一條或多條路徑,并存儲(chǔ)建立的連接包括的一條或多條路徑;具體地,針對任一個(gè)待聯(lián)系的目的端節(jié)點(diǎn),端節(jié)點(diǎn)與待聯(lián)系的目的端節(jié)點(diǎn)建立連接,并通過呼叫尋由過程與待聯(lián)系的目的端節(jié)點(diǎn)建立一條或多條路徑得到建立的連接包括的路徑,將建立的連接包括的路徑存儲(chǔ)在EntireTree (生成權(quán))中,其中,EntireTree用于存儲(chǔ)端節(jié)點(diǎn)與所有待聯(lián)系的目的端節(jié)點(diǎn)之間的路徑,且在EntireTree中端節(jié)點(diǎn)為根節(jié)點(diǎn),每個(gè)目的端節(jié)點(diǎn)為葉子節(jié)點(diǎn)。其中,用路徑經(jīng)過節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)組成的排列來表示路徑,端節(jié)點(diǎn)為建立連接選用自身包括的全部或部分路徑進(jìn)行通信,剩下未選用的路徑作為建立的連接的備用路徑。另外,在本實(shí)施例中,承擔(dān)信源和信宿角色的節(jié)點(diǎn)被稱為端節(jié)點(diǎn),端節(jié)點(diǎn)可以終端。其中,每個(gè)端節(jié)點(diǎn)存在一個(gè)MMC(Module Maintaining Connection,連接維持模塊),每個(gè)端節(jié)點(diǎn)的MMC可以在自身與其他端節(jié)點(diǎn)之間建立連接,并存儲(chǔ)建立的每條連接包括的路徑。每個(gè)端節(jié)點(diǎn)可以將自身對應(yīng)的MMC放置在自身內(nèi),也可以放置在通信網(wǎng)絡(luò)的入口處實(shí)現(xiàn)。例如,在如圖3所示的網(wǎng)絡(luò)架構(gòu)中,如果端節(jié)點(diǎn)A的MMC與端節(jié)點(diǎn)C建立一條連接,且通過通過路由尋呼的方式為該條連接建立路徑,其中,該路徑經(jīng)過節(jié)點(diǎn)1、2和3,節(jié)點(diǎn)1、2和3的節(jié)點(diǎn)標(biāo)識(shí)分別為ID1、ID2和ID3,假設(shè)節(jié)點(diǎn)A的MMC標(biāo)識(shí)為IDA以及節(jié)點(diǎn)C的MMC的標(biāo)識(shí)為IDC,節(jié)點(diǎn)A在建立連接時(shí)獲取節(jié)點(diǎn)1、2和3的節(jié)點(diǎn)標(biāo)識(shí)分別為ID1、ID2和ID3以及端節(jié)點(diǎn)C的MMC的標(biāo)識(shí)IDC,端節(jié)點(diǎn)A用自身的MMC的標(biāo)識(shí)IDA、節(jié)點(diǎn)I的節(jié)點(diǎn)標(biāo)識(shí)IDl、節(jié)
點(diǎn)2的節(jié)點(diǎn)標(biāo)識(shí)ID2、節(jié)點(diǎn)3的節(jié)點(diǎn)標(biāo)識(shí)ID3以及端節(jié)點(diǎn)C的MMC的標(biāo)識(shí)IDC的排列,即用[IDA、IDl、ID2、ID3、IDC]表示端節(jié)點(diǎn)A與C之間建立的路徑,所以在端節(jié)點(diǎn)A存儲(chǔ)[IDA、IDU ID2、ID3、IDC]。其中,每個(gè)端節(jié)點(diǎn)都存儲(chǔ)自身與其他端節(jié)點(diǎn)之間的連接包括的路徑。對于任意一個(gè)端節(jié)點(diǎn),該端節(jié)點(diǎn)可能與多個(gè)其他的端節(jié)點(diǎn)建立連接,且在通信網(wǎng)絡(luò)中可能存在多條連接包括的路徑經(jīng)過同一個(gè)鏈路,所以為了提高每個(gè)端節(jié)點(diǎn)存儲(chǔ)連接的效率,每個(gè)端節(jié)點(diǎn)可以用EntireTree來存儲(chǔ)與自身相連的每條連接包括的路徑。對于任意一個(gè)端節(jié)點(diǎn),該端節(jié)點(diǎn)的EntireTree的根節(jié)點(diǎn)為該端節(jié)點(diǎn)的MMC,與該端節(jié)點(diǎn)相連的其他端節(jié)點(diǎn)為該EntireTree的葉子節(jié)點(diǎn)。其中,對于端節(jié)點(diǎn)存儲(chǔ)的EntrieTree,如果EntrieTree發(fā)生損壞而被淘汰時(shí),端節(jié)點(diǎn)將EntrieTree作為BackupTree并存儲(chǔ)BackupTree,所以BackupTree由已淘汰的EntrieTree組成。如果端節(jié)點(diǎn)同時(shí)與幾個(gè)目的端節(jié)點(diǎn)聯(lián)系時(shí),則端節(jié)點(diǎn)從EntrieTree中獲取端節(jié)點(diǎn)分別到幾個(gè)目的端節(jié)點(diǎn)之間的連接,將獲取的連接組成MultiCastTree,所以MultiCastTree為EntrieTree的子集,且在端節(jié)點(diǎn)中存儲(chǔ)每次組成的MultiCastTree,所以端節(jié)點(diǎn)中存儲(chǔ)的MultiCastTree為已淘汰的EntrieTree和當(dāng)前的EntrieTree的子集;如果端節(jié)點(diǎn)與一個(gè)目的端節(jié)點(diǎn)聯(lián)系時(shí),端節(jié)點(diǎn)從EntrieTeee中獲取一條端節(jié)點(diǎn)到目的端節(jié)點(diǎn)之間的一條連接,并將其作為UniCastPath,所以UniCastPath為EntrieTree的一條單條連接,且端節(jié)點(diǎn)存儲(chǔ)每次得到的UniCastPath,因此UniCastPath為已淘汰的EntrieTree和當(dāng)前EntrieTree中的單條連接。其中,在本實(shí)施例中,可以端節(jié)點(diǎn)中的BackupTree、MultiCastTree和UniCastPath可以作為冗余連接。步驟203 :通信網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)實(shí)時(shí)檢測與自身直接相連的鏈路,如果檢測出發(fā)生故障的鏈路,則從本地獲取故障鏈路的標(biāo)識(shí);具體地,通信網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)周期性地從與鏈路相連的端口處發(fā)送檢測消息,如果在預(yù)設(shè)的時(shí)間內(nèi)從該端口處接收到與鏈路相連的對面節(jié)點(diǎn)回復(fù)的響應(yīng)消息,則與該端口相連的鏈路未發(fā)生故障;如果在預(yù)設(shè)的時(shí)間內(nèi)從該端口處未接收到與鏈路相連的對面節(jié)點(diǎn)回復(fù)的響應(yīng)消息,則檢測出與該端口相連的鏈路發(fā)生故障,并從本地獲取對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),將自身的節(jié)點(diǎn)標(biāo)識(shí)和對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)的排列作為故障鏈路的標(biāo)識(shí)。其中,在通信網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)都有自身的節(jié)點(diǎn)標(biāo)識(shí),每個(gè)節(jié)點(diǎn)的端口可以連接一條物理鏈路。在通信網(wǎng)絡(luò)中,可以用鏈路兩端的節(jié)點(diǎn)來表示一條鏈路,所以對于某條鏈路的標(biāo)識(shí)可以為該條鏈路兩端節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)的排列來表示。其中,每個(gè)節(jié)點(diǎn)可以事先存儲(chǔ)端口號(hào)與對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)的對應(yīng)關(guān)系或每個(gè)節(jié)點(diǎn)的端口中可以存儲(chǔ)對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)。相應(yīng)地,獲取對面節(jié)點(diǎn)的標(biāo)識(shí)的操作,具體為如下的兩種方式,包括第一、獲取未接收到對面節(jié)點(diǎn)的響應(yīng)消息的端口的端口號(hào),根據(jù)獲取的端口號(hào),從已存儲(chǔ)的端口號(hào)與對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)的對應(yīng)關(guān)系中,查找出對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí);第二、從未收到對面節(jié)點(diǎn)的響應(yīng)消息的端口中獲取存儲(chǔ)的對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)。例如,如圖3所示的網(wǎng)絡(luò)架構(gòu)中,端節(jié)點(diǎn)A、B、C和D直接與通信網(wǎng)絡(luò)相連,通信網(wǎng) 絡(luò)包括節(jié)點(diǎn)1、2、3、4、5和6,節(jié)點(diǎn)1、2、3、4、5和6的節(jié)點(diǎn)標(biāo)識(shí)分別為ID1、ID2、ID3、ID4、ID5和ID6,每個(gè)節(jié)點(diǎn)的端口都可以連接一條物理鏈路。對于通信網(wǎng)絡(luò)中的任一條鏈路,假設(shè),對于節(jié)點(diǎn)I和2之間的鏈路,該鏈路的標(biāo)識(shí)可以用該鏈路的兩端的節(jié)點(diǎn)I和2的節(jié)點(diǎn)標(biāo)識(shí)排列,即為[IDl,ID2]。例如,假設(shè)節(jié)點(diǎn)2檢測出自身與節(jié)點(diǎn)3之間的鏈路發(fā)生故障,則節(jié)點(diǎn)2根據(jù)與該條故障鏈路相連端口,從本地獲取對面節(jié)點(diǎn)3的節(jié)點(diǎn)標(biāo)識(shí)為ID3,將自身的節(jié)點(diǎn)標(biāo)識(shí)ID2以及對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)ID3的排列[ID2、ID3]作為該條故障鏈路的標(biāo)識(shí)。其中,在本實(shí)施例中,由于通信網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)都由節(jié)點(diǎn)隨機(jī)分配得到的,因此,可以允許部分節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)重名;如果每個(gè)節(jié)點(diǎn)的李點(diǎn)標(biāo)識(shí)為8比特,則任意兩個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)重名的概率為1/256,對應(yīng)的鏈路標(biāo)識(shí)重名的概率為1/32768。步驟204 :檢測出故障鏈路的節(jié)點(diǎn)廣播獲取的故障鏈路的標(biāo)識(shí);例如,檢測出故障鏈路的節(jié)點(diǎn)2廣播獲取的故障鏈路的標(biāo)識(shí)[ID2、ID3]。步驟205 :每個(gè)端節(jié)點(diǎn)從通信網(wǎng)絡(luò)中接收故障鏈路的標(biāo)識(shí),并根據(jù)接收的故障鏈路的標(biāo)識(shí)判斷自身的連接選用的路徑是否經(jīng)過故障鏈路;具體地,每個(gè)端節(jié)點(diǎn)從通信網(wǎng)絡(luò)中接收故障鏈路的標(biāo)識(shí),并針對自身存儲(chǔ)的任一條連接選用的路徑,判斷故障鏈路的標(biāo)識(shí)包括的兩節(jié)點(diǎn)的排列是否該條連接選用的路徑包括每個(gè)節(jié)點(diǎn)的排列的子字符串,如果是,則判斷出該條連接選用的路徑經(jīng)過故障鏈路,如果否,則判斷出該條連接選用的路徑?jīng)]有經(jīng)過故障鏈路;按上述相同的方法判斷自身存儲(chǔ)的其他連接選用的路徑是否經(jīng)過故障鏈路。例如,假設(shè),端節(jié)點(diǎn)A接收的節(jié)點(diǎn)2廣播的故障鏈路的標(biāo)識(shí)[ID2、ID3],針對自身存儲(chǔ)的端節(jié)點(diǎn)A與C之間的連接選用的路徑[IDA、IDU ID2、ID3、IDC],判斷出故障鏈路的標(biāo)識(shí)[ID2、ID3]為該條連接選用的路徑[IDA、ID1、ID2、ID3、IDC]的子字符串,則判斷出該條連接選用的路徑經(jīng)過故障鏈路。其中,對于判斷出自身存儲(chǔ)的連接選用的路徑不存在經(jīng)過故障鏈路的端節(jié)點(diǎn),則直接丟棄接收的故障鏈路的標(biāo)識(shí),且結(jié)束操作;對于判斷出自身存儲(chǔ)的連接中存在經(jīng)過故障鏈路的端節(jié)點(diǎn)還繼續(xù)執(zhí)行步驟206。步驟206 :如果端節(jié)點(diǎn)判斷出存在經(jīng)過故障鏈路的連接,則該端節(jié)點(diǎn)通過該連接備用路徑或冗余路徑對該連接進(jìn)行自恢復(fù),如果自恢復(fù)成功,則利用自恢復(fù)的連接通信,如果自恢復(fù)不成功,則重新建立連接。具體地,從經(jīng)過故障鏈路的路徑中獲取目的端節(jié)點(diǎn),查找該連接的備用路徑中是否還存在端節(jié)點(diǎn)與該目的端節(jié)點(diǎn)之間的路徑且查找的路徑不同于經(jīng)過故障鏈路的路徑,如果存在,則自恢復(fù)成功且通過查找的路徑恢復(fù)該連接;如果不存在,則自恢復(fù)不成功;或者,從經(jīng)過故障鏈路的路徑中獲取目的端節(jié)點(diǎn),查找冗余路徑中是否還存在端節(jié)點(diǎn)與該目的端節(jié)點(diǎn)之間的路徑且查找的路徑不同于經(jīng)過故障鏈路的路徑,如果存在,則自恢復(fù)成功且通過查找的路徑恢復(fù)該連接;如果不存在,則自恢復(fù)不成功。其中,冗余路徑包括BackupTrees、MultiCastTree 和 UniCastPath。進(jìn)一步地,該端節(jié)點(diǎn)和對面端節(jié)點(diǎn)存儲(chǔ)建立的新連接,并且刪除經(jīng)過故障鏈路的連接。其中,本實(shí)施例提供的方法可以應(yīng)用于向量網(wǎng),在中國發(fā)明專利“一種向量網(wǎng)絡(luò)地址編碼方法”(授權(quán)專利號(hào)ZL 200610089302. 6)定義了向量網(wǎng)。在向量網(wǎng)中定義了通信網(wǎng)絡(luò)的信源設(shè)備和轉(zhuǎn)發(fā)設(shè)備,其中,端節(jié)點(diǎn)作為發(fā)送信息的角色時(shí)稱其為信源設(shè)備,而通信網(wǎng)絡(luò)中的節(jié)點(diǎn)作為傳輸信息的中間節(jié)點(diǎn)被稱為轉(zhuǎn)發(fā)設(shè)備。 其中,向量網(wǎng)的網(wǎng)絡(luò)地址編碼依據(jù)數(shù)據(jù)傳輸路徑方向上的信源設(shè)備和轉(zhuǎn)發(fā)設(shè)備的輸出端口號(hào)進(jìn)行地址編碼,每個(gè)輸出端口號(hào)作為一個(gè)分量地址,這些分量地址依路徑方向次序組成一個(gè)序列,這個(gè)序列就是向量網(wǎng)絡(luò)地址編碼的編碼結(jié)果,即向量地址。更具體地說,向量地址編碼的編碼結(jié)果就是下列有限序列序列的第一分量地址是信源設(shè)備的輸出端口號(hào);序列的第二分量地址是數(shù)據(jù)傳輸路徑上的第一個(gè)轉(zhuǎn)發(fā)設(shè)備的輸出端口號(hào);序列的第三分量地址是第二個(gè)轉(zhuǎn)發(fā)設(shè)備的輸出端口號(hào);以此類推,序列的最后一個(gè)分量地址是最后一個(gè)轉(zhuǎn)發(fā)設(shè)備的輸出端口號(hào)。比如圖5,從A到C的向量地址編碼是{1,2,3,2},寫成二進(jìn)制為{1,10,011,10}=> 11001110。向量網(wǎng)的轉(zhuǎn)發(fā)設(shè)備轉(zhuǎn)發(fā)程序如下轉(zhuǎn)發(fā)設(shè)備的每個(gè)輸入端口當(dāng)收到一個(gè)數(shù)據(jù)包時(shí),該轉(zhuǎn)發(fā)程序就執(zhí)行一次,它只有3步基本操作(i)從數(shù)據(jù)包的向量網(wǎng)絡(luò)地址中分離出當(dāng)前轉(zhuǎn)發(fā)操作的輸出端口號(hào),即向量網(wǎng)絡(luò)地址的第一個(gè)分量地址,記為To; (ii)修改數(shù)據(jù)包把To從數(shù)據(jù)包中刪除;(iii)把修改后的數(shù)據(jù)包發(fā)到輸出端口 To。針對向量網(wǎng)給出具體的生成樹和通信路徑的表示,即樹結(jié)點(diǎn)項(xiàng)和路徑項(xiàng),首先,向量網(wǎng)的分量地址是向量地址的分量,是節(jié)點(diǎn)的輸出端口號(hào),而路徑項(xiàng)的組成是LI, n, IDl, ID2, . . . . , IDn,分量地址1,分量地址2,......,分量地址η ;其中LI—8位,表示所有分量地址的總長度,以字節(jié)為單位。η---8位,表示路徑項(xiàng)的分量地址個(gè)數(shù)。IDl8位,表示路徑項(xiàng)的第I個(gè)節(jié)點(diǎn)的ID值。IDi8位,表示路徑項(xiàng)的第i個(gè)節(jié)點(diǎn)的ID值。分量地址I—表示路徑項(xiàng)的第I個(gè)節(jié)點(diǎn)關(guān)聯(lián)的分量地址,以比特為單位。為了保證所有分量地址的長度為整字節(jié),分量地址I之前有填充位,在此沒有顯式給出。分量地址i—表示路徑項(xiàng)的第i個(gè)節(jié)點(diǎn)關(guān)聯(lián)的分量地址,以比特為單位。樹結(jié)點(diǎn)項(xiàng)的組成如下L,m,路徑項(xiàng)I,樹結(jié)點(diǎn)項(xiàng)I ;路徑項(xiàng)2,樹結(jié)點(diǎn)項(xiàng)2 ;......,路徑項(xiàng)m,樹結(jié)點(diǎn)項(xiàng)m ;樹結(jié)點(diǎn)項(xiàng)的邊界形式是
L, m, TerminalID ;其中L8位或16位,表示不包括L本身的整個(gè)樹結(jié)點(diǎn)的總長度,以字節(jié)為單位。m---8位,表示樹結(jié)點(diǎn)的分支個(gè)數(shù)。邊界情況時(shí)m = O。樹結(jié)點(diǎn)項(xiàng)i表示本樹結(jié)點(diǎn)項(xiàng)的第i個(gè)子樹結(jié)點(diǎn)項(xiàng),可以是子樹結(jié)點(diǎn)項(xiàng)本身,或其索引。
路徑項(xiàng)i---表示本樹結(jié)點(diǎn)項(xiàng)到樹結(jié)點(diǎn)項(xiàng)i對應(yīng)的路徑項(xiàng)。TerminalID---樹葉節(jié)點(diǎn)的身份標(biāo)識(shí),是呼叫尋由的目標(biāo)。端站設(shè)備到所有需要聯(lián)系的其它端站設(shè)備的生成樹表示就是包括完整樹枝的樹結(jié)點(diǎn)項(xiàng)。以圖6為例說明生成樹表示,設(shè)A,B, C,D,E,F(xiàn),G是各個(gè)節(jié)點(diǎn)的身份標(biāo)識(shí),a, b,c,d,e, f,g是對應(yīng)節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)ID,圖中所標(biāo)數(shù)字是節(jié)點(diǎn)輸出端口號(hào),即向量地址的分量地址,則終端設(shè)備A存儲(chǔ)的到三個(gè)所有需要聯(lián)系的其它端站設(shè)備B、C和D的生成樹表示EntireTree如圖7所示,圖中有三行(I) (2) (3),下邊行是上邊行的一部分,豎虛線給出它們的對齊關(guān)系。按照順序說明該生成樹表示如下第(I)行開始的X是除了 X本身外的整個(gè)EntireTree的字節(jié)數(shù);1表明樹根只有一個(gè)分支;Y是路徑項(xiàng)三個(gè)分量地址的字節(jié)長度,3是分量地址個(gè)數(shù),“a,e, f”是樹根到分支節(jié)點(diǎn)G路徑上的ID序列;“ I,3,I ”是樹根A到分支節(jié)點(diǎn)G的向量地址;之后的部分見圖中第(2)行,Z是除了 Z本身外Z之后的所有數(shù)據(jù)的字節(jié)數(shù);3表明分支節(jié)點(diǎn)有三個(gè)分支;之后的部分見圖中第(3)行,“M,l ;g,l ;2,0;B”是第一個(gè)分支對應(yīng)的路徑項(xiàng)和樹結(jié)點(diǎn)項(xiàng),M是本路徑項(xiàng)唯一一個(gè)分量地址“ I ”作為一個(gè)向量地址的字節(jié)長度,應(yīng)該為M = 1,M之后的I是分量地址個(gè)數(shù),g是ID,I是通向樹葉節(jié)點(diǎn)B的向量地址,2表示“O ;B”的長度為2字節(jié),O表示“2,0 ;B”是一個(gè)“樹結(jié)點(diǎn)項(xiàng)的邊界形式”,“B”指明樹葉節(jié)點(diǎn)B的身份標(biāo)識(shí)?!癕,l ;g,2 ;2,0 ;C”和“M,l ;g,3,2,0 ;D”的解釋類似,通向C和D的向量地址分別為2和3。這樣整個(gè)MMC維持以下連接信息一個(gè)生成樹表不EntireTree ;若干個(gè)路徑項(xiàng)UniCastPath :若干個(gè)生成樹表不MuliCastTree ;若干個(gè)生成樹表示BackupTree ;在一個(gè)生成樹Tree中搜索匹配鏈路標(biāo)識(shí)的方法遍歷Tree搜索ID1,如果成功則在IDl前和后進(jìn)一步匹配ID2。注意,IDl前面的ID可能位于父親樹結(jié)點(diǎn)項(xiàng),IDl后面的ID可能位于兒子樹結(jié)點(diǎn)項(xiàng)。如果ID2也匹配成功,則結(jié)論是匹配成功,否則結(jié)論是匹配不成功。在一個(gè)路徑表示Path中搜索匹配鏈路標(biāo)識(shí)的方法從頭到尾在Path搜索IDl,如果成功則在IDl前和后進(jìn)一步匹配ID2,如果ID2也匹配成功,則結(jié)論是匹配成功,否則結(jié)論是匹配不成功。其它方法步驟修剪EntireTree方法是刪除匹配成功表明失效的樹分支;WTree推導(dǎo)Path的方法是以Path的目標(biāo)點(diǎn)為目標(biāo)遍歷Tree,成功時(shí)復(fù)制連接Root到目標(biāo)點(diǎn)的路徑即可;從Tree推導(dǎo)子樹Subtree (比如從EntireTree推導(dǎo)子樹MuliCastTree)的方法是以Subtree的所有葉節(jié)點(diǎn)為目標(biāo)遍歷Tree,全部葉節(jié)點(diǎn)匹配成功時(shí)復(fù)制出Subtree即可;從BackupTree抽取信息完善EntireTree的方法是,以EntireTree丟失的葉節(jié)點(diǎn)為目標(biāo),在BackupTree查找通向它們的路徑或子樹,如果全部找到,則把這些路徑或子樹鏈接補(bǔ)充到EntireTree即可。修復(fù)EntireTree的呼叫尋由方法。以下說明小規(guī)模網(wǎng)絡(luò)(比如1000千個(gè)用戶)條件下用洪泛呼叫生成EntireTree的方法。使用控制洪泛方法(controlled flooding),控制參數(shù)是目標(biāo)節(jié)點(diǎn)的身份標(biāo)識(shí)清單和專門設(shè)置的信令序列號(hào),每個(gè)節(jié)點(diǎn)只暫時(shí)記憶洪泛狀態(tài),支持最優(yōu)路徑代價(jià)和多徑尋由。在本發(fā)明實(shí)施例中,通信網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)按隨機(jī)的方式為自己分配節(jié)點(diǎn)標(biāo)識(shí),每個(gè)節(jié)點(diǎn)當(dāng)判斷出與自身相連的鏈路發(fā)生故障時(shí),獲取對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),將自身的節(jié)·點(diǎn)標(biāo)識(shí)與對面節(jié)點(diǎn)的標(biāo)識(shí)的排列作為故障鏈路的標(biāo)識(shí),廣播發(fā)生故障鏈路的標(biāo)識(shí),端節(jié)點(diǎn)接收故障鏈路的標(biāo)識(shí),并根據(jù)故障鏈路的標(biāo)識(shí)判斷出自身的連接選用的路徑經(jīng)過故障鏈路,更新該連接。如此,通信網(wǎng)絡(luò)的每個(gè)節(jié)點(diǎn)都不需要存儲(chǔ)經(jīng)過與自身相連的鏈路上的連接,如此減少了對存儲(chǔ)資源的占用;按隨機(jī)的方式分配通信網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),可以減少分配節(jié)點(diǎn)標(biāo)識(shí)的成本。另外,統(tǒng)一長度的隨機(jī)標(biāo)識(shí)便于存儲(chǔ)到高效的生成樹中,便于計(jì)算機(jī)進(jìn)行快速的檢索或子串匹配,降低計(jì)算復(fù)雜度,提高處理效率。實(shí)施例3如圖8所示,本發(fā)明實(shí)施例提供了一種鏈路故障時(shí)更新連接的系統(tǒng)包括通信網(wǎng)絡(luò)的節(jié)點(diǎn)301和端節(jié)點(diǎn)302 ;所述通信網(wǎng)絡(luò)的節(jié)點(diǎn)301,用于按隨機(jī)的方式為自己分配節(jié)點(diǎn)標(biāo)識(shí);當(dāng)與所述通信網(wǎng)絡(luò)中的節(jié)點(diǎn)相連的鏈路發(fā)生故障時(shí),所述節(jié)點(diǎn)根據(jù)與所述故障鏈路相連的端口,從本地獲取與所述故障鏈路相連的對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),將自身的節(jié)點(diǎn)標(biāo)識(shí)和所述對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)的排列作為所述故障鏈路的標(biāo)識(shí),廣播所述故障鏈路的標(biāo)識(shí);所述端節(jié)點(diǎn)302,用于在開始通信前,與所有待聯(lián)系的目的端節(jié)點(diǎn)建立連接,為所述連接通過尋由過程得到一條或多條路徑,并存儲(chǔ)所述連接包括的一條或多條路徑,其中,用所述路徑經(jīng)過節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)組成的排列來表示所述路徑,且為所述連接選用自身包括的全部或部分路徑進(jìn)行通信,剩下未選用的路徑作為所述連接的備用路徑;當(dāng)從所述通信網(wǎng)絡(luò)接收所述故障鏈路的標(biāo)識(shí)時(shí),根據(jù)所述故障鏈路的標(biāo)識(shí)判斷自身的連接所選用的路徑是否經(jīng)過所述故障鏈路,如果否,則丟棄所述故障鏈路的標(biāo)識(shí);如果是,則通過所述連接的備用路徑或冗余路徑進(jìn)行自恢復(fù);如果自恢復(fù)成功,則利用所述自恢復(fù)的路徑通信;如果自恢復(fù)失敗,則重新尋由得到新路徑來恢復(fù)所述連接。在本發(fā)明實(shí)施例中,通信網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)按隨機(jī)的方式為自己分配節(jié)點(diǎn)標(biāo)識(shí),每個(gè)節(jié)點(diǎn)當(dāng)判斷出與自身相連的鏈路發(fā)生故障時(shí),獲取對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),將自身的節(jié)點(diǎn)標(biāo)識(shí)與對面節(jié)點(diǎn)的標(biāo)識(shí)的排列作為故障鏈路的標(biāo)識(shí),廣播發(fā)生故障鏈路的標(biāo)識(shí),端節(jié)點(diǎn)接收故障鏈路的標(biāo)識(shí),并根據(jù)故障鏈路的標(biāo)識(shí)判斷出經(jīng)過故障鏈路的連接,更新經(jīng)過故障鏈路的連接。如此,通信網(wǎng)絡(luò)的每個(gè)節(jié)點(diǎn)都不需要存儲(chǔ)經(jīng)過與自身相連的鏈路上的連接,如此減少了對存儲(chǔ)資源的占用;按隨機(jī)的方式分配通信網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),可以減少分配節(jié)點(diǎn)標(biāo)識(shí)的成本。另外,統(tǒng)一長度的隨機(jī)標(biāo)識(shí)便于存儲(chǔ)到高效的生成樹中,便于計(jì)算機(jī)進(jìn)行快速的檢索或子串匹配,降低計(jì)算復(fù)雜度,提高處理效率。
本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的或流程并不一定是實(shí)施本發(fā)明所必須的。以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和
原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種鏈路故障時(shí)更新連接的方法,其特征在于,所述方法包括 通信網(wǎng)絡(luò)中的節(jié)點(diǎn)按隨機(jī)的方式為自己分配節(jié)點(diǎn)標(biāo)識(shí); 所述通信網(wǎng)絡(luò)中的端節(jié)點(diǎn)在開始通信前,與所有待聯(lián)系的目的端節(jié)點(diǎn)建立連接,為所述連接通過尋由過程得到一條或多條路徑,并存儲(chǔ)所述連接包括的一條或多條路徑,其中,所述端節(jié)點(diǎn)用所述路徑經(jīng)過節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)組成的排列來表示所述路徑,且為所述連接選用自身包括的全部或部分路徑進(jìn)行通信,剩下未選用的路徑作為所述連接的備用路徑; 當(dāng)與所述通信網(wǎng)絡(luò)中的節(jié)點(diǎn)相連的鏈路發(fā)生故障時(shí),所述節(jié)點(diǎn)根據(jù)與所述故障鏈路相連的端口,從本地獲取與所述故障鏈路相連的對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),將自身的節(jié)點(diǎn)標(biāo)識(shí)和所述對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)的排列作為所述故障鏈路的標(biāo)識(shí),廣播所述故障鏈路的標(biāo)識(shí); 所述通信網(wǎng)絡(luò)中的端節(jié)點(diǎn)從所述通信網(wǎng)絡(luò)接收所述故障鏈路的標(biāo)識(shí),并根據(jù)所述故障鏈路的標(biāo)識(shí)判斷自身的連接所選用的路徑是否經(jīng)過所述故障鏈路,如果否,則丟棄所述故障鏈路的標(biāo)識(shí);如果是,則通過所述連接的備用路徑或冗余路徑進(jìn)行自恢復(fù);如果自恢復(fù)成功,則利用所述自恢復(fù)的路徑通信;如果自恢復(fù)失敗,則重新尋由得到新路徑來恢復(fù)所述連接。
2.如權(quán)利要求I所述的方法,特征在于,所述與所有待聯(lián)系的目的端節(jié)點(diǎn)建立連接,為所述連接通過尋由過程得到一條或多條路徑,并存儲(chǔ)所述連接包括的一條或多條路徑,包括 針對任一個(gè)待聯(lián)系的目的端節(jié)點(diǎn),所述端節(jié)點(diǎn)與所述待聯(lián)系的目的端節(jié)點(diǎn)建立連接,并通過呼叫尋由過程與所述待聯(lián)系的目的端節(jié)點(diǎn)建立一條或多條路徑得到所述連接包括的路徑,將所述連接包括的路徑存儲(chǔ)在生成樹EntireTree中,其中,所述EntireTree用于存儲(chǔ)所述端節(jié)點(diǎn)與所有待聯(lián)系的目的端節(jié)點(diǎn)之間的路徑,且在所述EntireTree中所述端節(jié)點(diǎn)為根節(jié)點(diǎn),所述目的端節(jié)點(diǎn)為葉子節(jié)點(diǎn)。
3.如權(quán)利要求I所述的方法,其特征在于,根據(jù)所述故障鏈路的標(biāo)識(shí)判斷自身的連接所選用的路徑是否經(jīng)過所述故障鏈路,包括 所述端節(jié)點(diǎn)判斷所述故障鏈路的標(biāo)識(shí)包括的兩個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)的排列是否為自身的連接所選用路徑包括的節(jié)點(diǎn)標(biāo)識(shí)的排列的子字符串,如果是,則判斷出所述連接所選用的路徑經(jīng)過所述故障鏈路。
4.如權(quán)利要求I所述的方法,其特征在于,通過所述連接的備用路徑進(jìn)行自恢復(fù),包括 從經(jīng)過所述故障鏈路的路徑中獲取目的端節(jié)點(diǎn); 查找所述連接的備用路徑中是否還存在所述端節(jié)點(diǎn)與所述目的端節(jié)點(diǎn)之間的路徑且所述查找的路徑不同于經(jīng)過所述故障鏈路的路徑; 如果存在,則自恢復(fù)成功且通過所述查找的路徑恢復(fù)所述連接;如果不存在,則自恢復(fù)不成功。
5.如權(quán)利要求2所述的方法,其特征在于,所述通過冗余路徑進(jìn)行自恢復(fù),包括 從經(jīng)過所述故障鏈路的路徑中獲取目的端節(jié)點(diǎn); 查找所述冗余路徑中是否還存在所述端節(jié)點(diǎn)與所述目的端節(jié)點(diǎn)之間的路徑且所述查找的路徑不同于經(jīng)過所述故障鏈路的路徑; 如果存在,則自恢復(fù)成功且通過所述查找的路徑恢復(fù)所述連接;如果不存在,則自恢復(fù)不成功; 其中,所述冗余路徑包括BackupTrees、MultiCastTree和UniCastPath,其中,所述BackupTrees包括已淘汰的EntrieTree,所述MultiCastTree為所述已淘汰的EntrieTree和所述EntrieTree的子集,所述UniCastPath為已淘汰的所述EntrieTree和所述E ntrieTree中的單條路徑。
6.如權(quán)利要求1-3任一項(xiàng)權(quán)利要求所述的方法,其特征在于,所述節(jié)點(diǎn)根據(jù)與所述故障鏈路相連的端口,從本地獲取與所述故障鏈路相連的對面節(jié)點(diǎn)的標(biāo)識(shí)之前,還包括 所述節(jié)點(diǎn)從與鏈路相連的端口處發(fā)送檢測消息,如果在預(yù)設(shè)的時(shí)間內(nèi)檢測出未收到響應(yīng)的端口,則判斷與所述未收到響應(yīng)的端口相連的鏈路發(fā)生故障。
7.一種鏈路故障時(shí)更新連接的系統(tǒng),其特征在于,所述系統(tǒng)包括通信網(wǎng)絡(luò)的節(jié)點(diǎn)和端節(jié)點(diǎn); 所述通信網(wǎng)絡(luò)的節(jié)點(diǎn),用于按隨機(jī)的方式為自己分配節(jié)點(diǎn)標(biāo)識(shí);當(dāng)與所述通信網(wǎng)絡(luò)中的節(jié)點(diǎn)相連的鏈路發(fā)生故障時(shí),所述節(jié)點(diǎn)根據(jù)與所述故障鏈路相連的端口,從本地獲取與所述故障鏈路相連的對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),將自身的節(jié)點(diǎn)標(biāo)識(shí)和所述對面節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)的排列作為所述故障鏈路的標(biāo)識(shí),廣播所述故障鏈路的標(biāo)識(shí); 所述端節(jié)點(diǎn),用于在開始通信前,與所有待聯(lián)系的目的端節(jié)點(diǎn)建立連接,為所述連接通過尋由過程得到一條或多條路徑,并存儲(chǔ)所述連接包括的一條或多條路徑,其中,用所述路徑經(jīng)過節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)組成的排列來表示所述路徑,且為所述連接選用自身包括的全部或部分路徑進(jìn)行通信,剩下未選用的路徑作為所述連接的備用路徑;當(dāng)從所述通信網(wǎng)絡(luò)接收所述故障鏈路的標(biāo)識(shí)時(shí),根據(jù)所述故障鏈路的標(biāo)識(shí)判斷自身的連接所選用的路徑是否經(jīng)過所述故障鏈路,如果否,則丟棄所述故障鏈路的標(biāo)識(shí);如果是,則通過所述連接的備用路徑或冗余路徑進(jìn)行自恢復(fù);如果自恢復(fù)成功,則利用所述自恢復(fù)的路徑通信;如果自恢復(fù)失敗,則重新尋由得到新路徑來恢復(fù)所述連接。
全文摘要
本發(fā)明公開了一種鏈路故障時(shí)更新連接的方法及系統(tǒng),屬于通信網(wǎng)絡(luò)領(lǐng)域。所述方法包括通信網(wǎng)絡(luò)中的端節(jié)點(diǎn)從所述通信網(wǎng)絡(luò)接收所述故障鏈路的標(biāo)識(shí),并根據(jù)所述故障鏈路的標(biāo)識(shí)判斷自身的連接所選用的路徑是否經(jīng)過所述故障鏈路,如果否,則丟棄所述故障鏈路的標(biāo)識(shí);如果是,則通過所述連接的備用路徑或冗余路徑進(jìn)行自恢復(fù);如果自恢復(fù)成功,則利用所述自恢復(fù)的路徑通信;如果自恢復(fù)失敗,則重新尋由得到新路徑來恢復(fù)所述連接。所述系統(tǒng)由節(jié)點(diǎn)組成,其中承擔(dān)信源和信宿角色的節(jié)點(diǎn)被稱為端節(jié)點(diǎn)。本發(fā)明能夠減少每個(gè)節(jié)點(diǎn)的存儲(chǔ)資源,減少分配節(jié)點(diǎn)標(biāo)識(shí)的成本以及實(shí)現(xiàn)連接的快速更新。
文檔編號(hào)H04L12/24GK102957559SQ201110254420
公開日2013年3月6日 申請日期2011年8月31日 優(yōu)先權(quán)日2011年8月31日
發(fā)明者許錦建, 蔣忠元 申請人:北京市翌晨通信技術(shù)研究所