專利名稱:一種避免多樣性路徑計(jì)算死鎖的方法和域的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多樣性路徑計(jì)算領(lǐng)域,尤其涉及一種避免多樣性路徑計(jì)算死鎖的方法和域。
背景技術(shù):
在傳輸網(wǎng)絡(luò)中,路徑的多樣性(也稱為無(wú)關(guān)性)指多條路徑的關(guān)聯(lián)關(guān)系。多樣性路徑不共享一些特殊類型的資源,比如,節(jié)點(diǎn)、鏈路、共享風(fēng)險(xiǎn)鏈路組。在跨域情況下,多樣性路徑計(jì)算的計(jì)算結(jié)果即要求域序列的分離性,也要求同一域內(nèi)路徑的分離性。在RFC標(biāo)準(zhǔn)RFC 5441中使用基于路徑計(jì)算單元PCE的反向遞歸計(jì)算(BRPC)計(jì)算跨域路徑,這也是目前本領(lǐng)域最常用的一種跨域路徑的計(jì)算方式。在RFC標(biāo)準(zhǔn)RFC 5298中針對(duì)于多樣性路徑的計(jì)算方式給出了順序計(jì)算和同時(shí)計(jì)算兩種方式。順序計(jì)算方式是指在計(jì)算端到端路徑時(shí),不用考慮未計(jì)算的多樣性路徑,只考慮已計(jì)算的多樣性路徑,逐條進(jìn)行端到端路徑計(jì)算;同時(shí)計(jì)算方式是指所有的端到端多樣性路徑在每個(gè)域入口同時(shí)計(jì)算,由首節(jié)點(diǎn)最終得到所有的多樣性路徑。采用順序計(jì)算這種方式會(huì)降低找到最優(yōu)分離路徑的可能性,甚至由于前面路徑計(jì)算的不合理導(dǎo)致找不到靠后計(jì)算的路徑。同時(shí),由于一條一條路徑進(jìn)行計(jì)算,路徑計(jì)算的時(shí)效性也大打折扣。從路徑計(jì)算速度,準(zhǔn)確度和成功率來(lái)看,同時(shí)計(jì)算占有了相當(dāng)大的優(yōu)勢(shì)。但是目前在多樣性路徑的域序列不完全相同情況下,BRPC算法并不能很好的支持同時(shí)計(jì)算方式。針對(duì)這一問(wèn)題,RFC標(biāo)準(zhǔn)RFC 5440和RFC 6007通過(guò)擴(kuò)展出的同步容器(SVEC)對(duì)象攜帶多樣性路徑計(jì)算請(qǐng)求來(lái)實(shí)現(xiàn)BRPC算法對(duì)多樣性路徑同時(shí)計(jì)算的支持。當(dāng)某個(gè)域接收到多個(gè)多樣性路徑計(jì)算請(qǐng)求時(shí),該域即可判斷存在多樣性路徑經(jīng)過(guò)本域,本域需對(duì)路徑進(jìn)行同時(shí)計(jì)算。這雖然解決了 BRPC算法對(duì)多樣性路徑同時(shí)計(jì)算的支持性問(wèn)題,但是無(wú)法解決同時(shí)計(jì)算存在的“死鎖問(wèn)題”,如圖1所示,路徑I的域序列為:域1-域2-域3-域4 ;路徑2的域序列為:域1-域3-域2-域4 ;當(dāng)進(jìn)行多樣性路徑同時(shí)計(jì)算時(shí),域3需要接收到域2發(fā)送的對(duì)路徑2的計(jì)算結(jié)果和域4發(fā)送的對(duì)路徑I的計(jì)算結(jié)果后才能進(jìn)行多樣性路徑計(jì)算,并向域2上報(bào)計(jì)算結(jié)果;而域2需要接收到域3發(fā)送的對(duì)路徑I的計(jì)算結(jié)果和域4發(fā)送的對(duì)路徑2的計(jì)算結(jié)果后才能進(jìn)行多樣性路徑計(jì)算,并向域3上報(bào)計(jì)算結(jié)果。這樣,域3和域2就會(huì)陷入一種彼此等待對(duì)方發(fā)送的路徑計(jì)算結(jié)果,以致本域無(wú)法繼續(xù)多樣路徑同時(shí)計(jì)算的“死鎖狀態(tài)”,處于這樣狀態(tài)的域3 (域2)通常被稱為與域2 (域3)因采用多樣性路徑同時(shí)計(jì)算而存在死鎖的域。
發(fā)明內(nèi)容
為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種避免多樣性路徑計(jì)算死鎖的方法和域,以解決如何在使用BRPC算法對(duì)多樣性路徑同時(shí)計(jì)算時(shí),避免同時(shí)計(jì)算產(chǎn)生的死鎖問(wèn)題。為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種避免多樣性路徑計(jì)算死鎖的方法,所述方法包括:在多樣性路徑遍歷的域中查找與本域?qū)⒁虿捎枚鄻有月窂酵瑫r(shí)計(jì)算而存在死鎖的其他域;在多樣性路徑同時(shí)計(jì)算中,當(dāng)本域向所述其他域上報(bào)多樣性路徑在本域的域內(nèi)路徑時(shí),在本域中任選一條域內(nèi)可連通的路由段作為本域所在的多樣性路徑在本域的臨時(shí)路徑;將該臨時(shí)路徑上報(bào)給所述其他域。進(jìn)一步地,所述在多樣性路徑遍歷的域中查找與本域?qū)⒁虿捎枚鄻有月窂酵瑫r(shí)計(jì)算而存在死鎖的其他域,包括:同時(shí)獲知所有多樣性路徑遍歷的域;通過(guò)分析每條多樣性路徑遍歷的域確定與本域存在死鎖的其他域。進(jìn)一步地,所述同時(shí)獲知所有多樣性路徑遍歷的域,包括:接收首域發(fā)送的包含多樣性路徑計(jì)算請(qǐng)求的同步容器(SVEC)對(duì)象;從SVEC中與每條多樣性路徑計(jì)算請(qǐng)求對(duì)應(yīng)的包含路由對(duì)象(IRO)字段分別獲取一條多樣性路徑遍歷的域序列。進(jìn)一步地,所述將該臨時(shí)路徑上報(bào)給所述其他域,包括:將所述臨時(shí)路徑置于不相交的虛擬最短路徑樹(Disjoint VSPT)中上報(bào)給所述其他域,并在每個(gè)臨時(shí)路徑前標(biāo)明該路徑是臨時(shí)路徑。為解決上述技術(shù)問(wèn)題,本發(fā)明還提供了一種避免多樣性路徑計(jì)算死鎖的域,所述域包括死鎖域查找模塊、多樣性路徑同時(shí)計(jì)算模塊以及路徑上報(bào)模塊,其中,所述死鎖域查找模塊,用于在多樣性路徑遍歷的域中查找與本域?qū)⒁虿捎枚鄻有月窂酵瑫r(shí)計(jì)算而存在死鎖的其他域,并將查找到的其他域通知所述多樣性路徑同時(shí)計(jì)算模塊以及路徑上報(bào)模塊;所述多樣性路徑同時(shí)計(jì)算模塊,用于在多樣性路徑同時(shí)計(jì)算中,當(dāng)本域向所述其他域上報(bào)多樣性路徑在本域的域內(nèi)路徑時(shí),在本域中任選一條域內(nèi)可連通的路由段作為本域所在的多樣性路徑在本域的臨時(shí)路徑;經(jīng)該臨時(shí)路徑發(fā)送給所述路徑上報(bào)模塊;所述路徑上報(bào)模塊,用于將該臨時(shí)路徑上報(bào)給所述其他域。進(jìn)一步地,所述死鎖域查找模塊,用于在多樣性路徑遍歷的域中查找與本域?qū)⒁虿捎枚鄻有月窂酵瑫r(shí)計(jì)算而存在死鎖的其他域,包括:所述死鎖域查找模塊,用于同時(shí)獲知所有多樣性路徑遍歷的域,通過(guò)分析每條多樣性路遍歷的域確定與本域存在死鎖的其他域。進(jìn)一步地,所述死鎖域查找模塊,用于同時(shí)獲知所有多樣性路徑遍歷的域,包括:所述死鎖域查找模塊,用于接收首域發(fā)送的包含多樣性路徑計(jì)算請(qǐng)求的同步容器(SVEC對(duì)象);從所述SVEC中與每條多樣性路徑計(jì)算請(qǐng)求對(duì)應(yīng)的包含路由對(duì)象(IRO)字段分別獲取一條路徑遍歷的域序列。進(jìn)一步地,所述路徑上報(bào)模塊,用于將該臨時(shí)路徑上報(bào)給所述其他域,包括:所述路徑上報(bào)模塊,用于將所述臨時(shí)路徑置于不相交的虛擬最短路徑樹(Disjoint VSPT)中上報(bào)給所述其他域,并在每個(gè)臨時(shí)路徑前標(biāo)明該路徑是臨時(shí)路徑。上述技術(shù)方案,在多樣性路徑同時(shí)計(jì)算中,當(dāng)本域作為一需要計(jì)算路徑的下游死鎖域向其上游死鎖域上報(bào)多樣性路徑在本域的域內(nèi)路徑時(shí),不再等待所述上游死鎖域上報(bào)的域內(nèi)路徑,而是在本域中任選一條域內(nèi)可連通的路由段作為臨時(shí)域內(nèi)路徑上報(bào)給所述上游死鎖域,避免了現(xiàn)有技術(shù)存在的因互為死鎖域陷入一種彼此等待對(duì)方發(fā)送的上報(bào)路徑,以致本域無(wú)法繼續(xù)多樣路徑同時(shí)計(jì)算的“死鎖狀態(tài)”。
圖1為同時(shí)計(jì)算出現(xiàn)死鎖情況的多樣性路徑示意圖;圖2為本實(shí)施例的避免多樣性路徑計(jì)算死鎖的方法流程圖;圖3為本第一、二應(yīng)用示例的多樣性路徑示意圖;圖4為本實(shí)施例的避免多樣性路徑計(jì)算死鎖的域組成圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說(shuō)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。圖2為本實(shí)施例的避免多樣性路徑計(jì)算死鎖的方法流程圖。S201在多樣性路徑遍歷的域中查找與本域?qū)⒁虿捎枚鄻有月窂酵瑫r(shí)計(jì)算而存在死鎖的其他域;可同時(shí)獲知所有多樣性路徑遍歷的域,通過(guò)分析每條多樣性路徑遍歷的域確定與本域存在死鎖的其他域;通過(guò)擴(kuò)展RFC 5440和RFC 6007的SVEC對(duì)象,每條多樣性路徑遍歷的域可分別置于與一條多樣性路徑計(jì)算請(qǐng)求對(duì)應(yīng)的IRO字段中;對(duì)SVEC對(duì)象的擴(kuò)展如下:
<SVEC-list> <SVEC>
Request-1D #1, <IRO>
Request-1D #2, <IRO>其中,Request-1D #1和Request-1D #2表示2條多樣性路徑計(jì)算請(qǐng)求;每個(gè)請(qǐng)求標(biāo)識(shí)后的<IR0>用于攜帶與該請(qǐng)求對(duì)應(yīng)的多樣性路徑遍歷的域序列;上述SVEC對(duì)象可由首域通過(guò)多播的方式發(fā)送至所有<IR0>記載的域,這樣,每個(gè)域均能獲知所有多樣性路徑遍歷的域,并通過(guò)多播方式縮短了收到SVEC對(duì)象的時(shí)間;收到SVEC對(duì)象的域除 可從<IR0>分析出與本域存在死鎖的其他域外,還可分析出哪些多樣性路徑經(jīng)過(guò)本域,是否有相關(guān)系的多樣性路徑需要同時(shí)經(jīng)過(guò)本域等;S202在多樣性路徑同時(shí)計(jì)算中,當(dāng)本域向所述其他域上報(bào)多樣性路徑在本域的域內(nèi)路徑時(shí),在本域中任選一條域內(nèi)可連通的路由段作為本域所在的多樣性路徑在本域的臨時(shí)路徑; S203將該臨時(shí)路徑上報(bào)給所述其他域;
所述臨時(shí)路徑可置于不相交的虛擬最短路徑樹(Disjoint VSPT)中,并在每個(gè)臨
時(shí)路徑前標(biāo)明該路徑是臨時(shí)路徑,如下所示:
O Request ID #1 Virtual Routing (Primary)
-EROl [for VSPT I ] //虛擬最短路徑樹I的顯示路由對(duì)象1-ER02 [for VSPT2]
-ER03 [for VSPT3]
O Request ID #2 Virtual Routing (Secondary)
-ER04 [for VSPT I]
-ER05 [for VSPT2]
-ER06 [for VSPT3]上述Request ID #1 Virtual Routing (Primary)和 Request-1D #2VirtualRouting (Secondary)表不該路徑為多樣性路徑計(jì)算請(qǐng)求Request-1D #1和Request-1D #2的請(qǐng)求結(jié)果;“Virtual Routing”表示該路徑為臨時(shí)路徑。若死鎖域的上游域獲知某條多樣性路徑在某個(gè)域內(nèi)存在臨時(shí)路徑,又獲知同一條多樣性路徑在相同域內(nèi)的正式路徑,則該上游域在進(jìn)行多樣性路徑同時(shí)計(jì)算時(shí),可用所述正式路徑替換所述臨時(shí)路徑。下面以2個(gè)應(yīng)用示例對(duì)上述實(shí)施例進(jìn)行進(jìn)一步舉例說(shuō)明。應(yīng)用示例一,如圖3所示,有4個(gè) 域:域I 域4,每個(gè)域均存在多個(gè)節(jié)點(diǎn),節(jié)點(diǎn)之間鏈路上的數(shù)字表示計(jì)算代價(jià)。在本應(yīng)用示例中存在2條多樣性路徑,2條多樣性路徑的首尾節(jié)點(diǎn)分別是:路徑1,域I的50點(diǎn)到域4的150點(diǎn);路徑2,從域I的50點(diǎn)到域4的160點(diǎn)。步驟一,域1路徑計(jì)算單元收到該多樣性路徑計(jì)算請(qǐng)求;步驟二,域I路徑計(jì)算單元依據(jù)分離性原則計(jì)算域序列,得到路徑I的域序列為域1-域3-域4 ;路徑2的域序列為域1-域2-域3-域4 ;步驟三,域I路徑計(jì)算單元向域1、域2、域3、域4下發(fā)SVEC對(duì)象,該對(duì)象包括2個(gè)多樣性路徑計(jì)算請(qǐng)求,其中,Request-1D #1中參數(shù)<IR0>攜帶了域1、域3和域4的域序列,Request-1D #2中參數(shù)<IR0>攜帶了域1、域2、域3和域4的域序列;步驟四,域1、域2、域3和域4的路徑計(jì)算單元通過(guò)分析SVEC對(duì)象,得出域2不存在多條多樣性路徑經(jīng)過(guò)該域,因此該域不需要路徑同時(shí)計(jì)算;而域1、域3、域4需要路徑同時(shí)計(jì)算;步驟五,域4 (尾域)的路徑計(jì)算單元進(jìn)行路徑I和路徑2的BRPC同時(shí)計(jì)算,并把計(jì)算結(jié)果(路徑1:域4.110-域4.150 ;路徑2:域4.130-域4.120-域4.160)返回給域3 ;步驟六,域3的路徑計(jì)算單元收集齊路徑I和路徑2的RSP消息后,進(jìn)行BRPC的同時(shí)計(jì)算,并分別把計(jì)算結(jié)果(路徑1:域3.20-域3.30-域3.50-域4.110-域4.150 ;路徑2:域3.60-域4.130-域4.120-域4.160)向上游域(路徑I是域1,路徑2是域2)的路徑計(jì)算單元返回;步驟七,域I的路徑計(jì)算單元收到路徑I返回的消息后,發(fā)現(xiàn)需要等待路徑2的計(jì)算結(jié)果,故先將路徑I的BRPC處理掛起;步驟八,域2的路徑計(jì)算單元收到路徑2返回的消息后,繼續(xù)本域的BRPC計(jì)算過(guò)程,完成后,將結(jié)果(路徑2:域2.80-域2.90-域2.AO-域2.BO-域3.60-域4.130-域
4.120-域4.160)返回給域I的路徑計(jì)算單元;步驟九,域I的路徑計(jì)算單元收集齊路徑I和路徑2的BRPC RSP后,進(jìn)行路徑I和路徑2的BRPC同時(shí)計(jì)算并得到最終的計(jì)算結(jié)果(路徑1:域1.50-域1.10-域3.20-域
3.30-域 3.50-域 4.110-域 4.150 ;路徑 2:域 1.50-域 1.60-域 1.40-域 2.80-域 2.90-域
2.AO-域2.BO-域3.60-域4.130-域4.120-域4.160),完成整個(gè)端到端的路徑計(jì)算過(guò)程。應(yīng)用示例二,仍如圖3所示,存在2條多樣性路徑,2條多樣性路徑的首尾節(jié)點(diǎn)分別是:路徑1,域I的50點(diǎn)到域4的150點(diǎn);路徑2,從域I的50點(diǎn)到域4的160點(diǎn)。步驟一,域I路徑計(jì)算單元收到該多樣性路徑計(jì)算請(qǐng)求;步驟二,域I路徑計(jì)算單元得到路徑I的域序列為域1-域2-域3-域4 ;路徑2的域序列為域1-域3-域2-域4 ;步驟三,域I路徑計(jì)算單元向域1、域2、域3、域4下發(fā)SVEC對(duì)象,該對(duì)象包括2個(gè)多樣性路徑計(jì)算請(qǐng)求,其中,Request-1D #1中參數(shù)<IR0>攜帶了域1、域2、域3和域4的域序列,Request-1D #2中參數(shù)〈IR?!禂y帶了域1、域3、域2和域4的域序列;步驟四,域1、域2、域3和域4的路徑計(jì)算單元通過(guò)分析SVEC對(duì)象,得出在域1、域
2、域3、域4均有多條多樣性路徑經(jīng)過(guò),因此上述四個(gè)域均需要路徑同時(shí)計(jì)算;另外,域2和域3還分析出本域和對(duì)方域存在死鎖情況;步驟五,域4 (尾域)的路徑計(jì)算單元進(jìn)行路徑I和路徑2的BRPC同時(shí)計(jì)算,并把計(jì)算結(jié)果(路徑1:域4.110-域4.150 ;路徑2:域4.130-域4.120-域4.160)給域3、域2均返回;步驟六,域3的路徑計(jì)算單元收到BRPC RSP消息后,由于分析出路徑1、路徑2在域2、域3發(fā)生死鎖,域3在本域中任選一個(gè)路由段作為路徑I在本域的臨時(shí)路徑,將該臨時(shí)路徑向其所在路徑I的上游域(域2)發(fā)送;步驟七,同時(shí),域2的路徑計(jì)算單元收到BRPC RSP消息后,由于分析出路徑1、路徑2在域2、域3發(fā)生死鎖,域2在本域中任選一個(gè)路由段作為路徑2在本域的臨時(shí)路徑,將該臨時(shí)路徑向其所在路徑2的上游域(域3)發(fā)送;步驟八,域3收到路徑2在域2的臨時(shí)通過(guò)路由段后,開始采用BRPC同時(shí)計(jì)算域3中的路徑I和路徑2路由段,并把計(jì)算結(jié)果(路徑1:域3.60-域4.110-域4.150 ;路徑2:域3.20-域3.30-域3.50-域2.70-域2臨時(shí)通過(guò)路由段-域2.BO-域4.130-域4.120-域
4.160)發(fā)送給域I ;步驟九,同時(shí),域2收到路徑I在域3的臨時(shí)通過(guò)路由段后,開始采用BRPC同時(shí)計(jì)算域2中的路徑I和路徑2路由段,并把計(jì)算結(jié)果(路徑1:域2.80-域3.60-域3臨時(shí)通過(guò)路由段-域3.60-域4.110-域4.150 ;路徑2:域2.70-域2.AO-域2.BO-域4.130-域4.120-域4.160)發(fā)送給域I ;步驟十,域I的路徑計(jì)算單元收集齊所有的BRPC RSP,從域3上報(bào)的計(jì)算結(jié)果中知曉路徑I通過(guò)域3的正式路徑為域3.60,從域2上報(bào)的計(jì)算結(jié)果中知曉路徑2通過(guò)域2的正式路徑為域2.70-域2.AO-域2.BO ;域I將域3和域2上報(bào)的BRPC RSP中存在的臨時(shí)路徑用各自正式路徑替換后,再進(jìn)行同時(shí)路徑計(jì)算,得到計(jì)算結(jié)果(路徑1:域1.50-域
1.60-域 L 40-域 2.80-域 3.60-域 4.110-域 4.150 ;路徑 2:域 L 50-域 L 10-域 3.20-域
3.30-域 3.50-域 2.70-域 2.AO-域 2.BO-域 4.130-域 4.120-域 4.160),完成整個(gè)端到端的路徑計(jì)算過(guò)程。圖4為本實(shí)施例的避免多樣性路徑計(jì)算死鎖的域組成圖。該域包括死鎖域查找模塊、多樣性路徑同時(shí)計(jì)算模塊以及路徑上報(bào)模塊,其中,死鎖域查找模塊,用于在多樣性路徑遍歷的域中查找與本域?qū)⒁虿捎枚鄻有月窂酵瑫r(shí)計(jì)算而存在死鎖的其他域,并將查找到的其他域通知所述多樣性路徑同時(shí)計(jì)算模塊以及路徑上報(bào)模塊;該死鎖域查找模塊,用于同時(shí)獲知所有多樣性路徑遍歷的域,通過(guò)分析每條多樣性路遍歷的域確定與本域存在死鎖的其他域;如,用于接收首域發(fā)送的包含多樣性路徑計(jì)算請(qǐng)求的同步容器(SVEC對(duì)象);從所述SVEC中與每條多樣性路徑計(jì)算請(qǐng)求對(duì)應(yīng)的包含路由對(duì)象(IRO)字段分別獲取一條路徑遍歷的域序列;為實(shí)現(xiàn)該功能,需要對(duì)現(xiàn)有的SVEC進(jìn)行擴(kuò)展,在現(xiàn)有的SVEC中的每個(gè)IPO字段中增加一條多樣性路徑遍歷的域序列;擴(kuò)展后SVEC對(duì)象如下:
<SVEC-list> <SVEC> Request-1D #I <IRO>
Request-1D #2, <IRO>其中,Request-1D #1和Request-1D #2表示2條多樣性路徑計(jì)算請(qǐng)求;每個(gè)請(qǐng)求標(biāo)識(shí)后的<IR0>用于攜帶與該請(qǐng)求對(duì)應(yīng)的多樣性路徑遍歷的域序列;多樣性路徑同時(shí)計(jì)算模塊,用于在多樣性路徑同時(shí)計(jì)算中,當(dāng)本域向所述其他域上報(bào)多樣性路徑在本域的域內(nèi)路徑時(shí),在本域中任選一條域內(nèi)可連通的路由段作為本域所在的多樣性路徑在本域的臨時(shí)路徑;經(jīng)該臨時(shí)路徑發(fā)送給所述路徑上報(bào)|旲塊;路徑上報(bào)模塊,用于將該臨時(shí)路徑上報(bào)給所述其他域;該路徑上報(bào)模塊,可用于 將所述臨時(shí)路徑置于不相交的虛擬最短路徑樹(Disjoint VSPT)中上報(bào)給所述其他域,并在每個(gè)臨時(shí)路徑前標(biāo)明該路徑是臨時(shí)路徑,如下
所示:o Request ID #1 Virtual Routing (Primary)
-EROl [for VSPT I] //虛擬最短路徑樹I的顯示路由對(duì)象1-ER02 [for VSPT2]
-ER03 [for VSPT3] o Request ID #2 Virtual Routing (Secondary)
-ER04 [for VSPT I]
-ER05 [for VSPT2]
-ER06 [for VSPT3]上述Request ID #1 Virtual Routing (Primary)和 Request-1D #2VirtualRouting (Secondary)表不該路徑為多樣性路徑計(jì)算請(qǐng)求Request-1D #1和Request-1D #2的請(qǐng)求結(jié)果`;“Virtual Routing”表示該路徑為臨時(shí)路徑。本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過(guò)程序來(lái)指令相關(guān)硬件完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤或光盤等。可選地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來(lái)實(shí)現(xiàn),相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。需要說(shuō)明的是,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種避免多樣性路徑計(jì)算死鎖的方法,其特征在于,所述方法包括: 在多樣性路徑遍歷的域中查找與本域?qū)⒁虿捎枚鄻有月窂酵瑫r(shí)計(jì)算而存在死鎖的其他域; 在多樣性路徑同時(shí)計(jì)算中,當(dāng)本域向所述其他域上報(bào)多樣性路徑在本域的域內(nèi)路徑時(shí),在本域中任選一條域內(nèi)可連通的路由段作為本域所在的多樣性路徑在本域的臨時(shí)路徑; 將該臨時(shí)路徑上報(bào)給所述其他域。
2.按權(quán)利要求1所述的方法,其特征在于, 所述在多樣性路徑遍歷的域中查找與本域?qū)⒁虿捎枚鄻有月窂酵瑫r(shí)計(jì)算而存在死鎖的其他域,包括: 同時(shí)獲知所有多樣性路徑遍歷的域; 通過(guò)分析每條多樣性路徑遍歷的域確定與本域存在死鎖的其他域。
3.按權(quán)利要求2所述的方法,其特征在于, 所述同時(shí)獲知所有多樣性路徑遍歷的域,包括: 接收首域發(fā)送的包含多樣性路徑計(jì)算請(qǐng)求的同步容器(SVEC)對(duì)象; 從SVEC中與每條多樣 性路徑計(jì)算請(qǐng)求對(duì)應(yīng)的包含路由對(duì)象(IRO)字段分別獲取一條多樣性路徑遍歷的域序列。
4.按權(quán)利要求1 3中任一項(xiàng)所述的方法,其特征在于, 所述將該臨時(shí)路徑上報(bào)給所述其他域,包括: 將所述臨時(shí)路徑置于不相交的虛擬最短路徑樹(Disjoint VSPT)中上報(bào)給所述其他域,并在每個(gè)臨時(shí)路徑前標(biāo)明該路徑是臨時(shí)路徑。
5.一種避免多樣性路徑計(jì)算死鎖的域,其特征在于,所述域包括死鎖域查找模塊、多樣性路徑同時(shí)計(jì)算模塊以及路徑上報(bào)模塊,其中, 所述死鎖域查找模塊,用于在多樣性路徑遍歷的域中查找與本域?qū)⒁虿捎枚鄻有月窂酵瑫r(shí)計(jì)算而存在死鎖的其他域,并將查找到的其他域通知所述多樣性路徑同時(shí)計(jì)算模塊以及路徑上報(bào)模塊; 所述多樣性路徑同時(shí)計(jì)算模塊,用于在多樣性路徑同時(shí)計(jì)算中,當(dāng)本域向所述其他域上報(bào)多樣性路徑在本域的域內(nèi)路徑時(shí),在本域中任選一條域內(nèi)可連通的路由段作為本域所在的多樣性路徑在本域的臨時(shí)路徑;經(jīng)該臨時(shí)路徑發(fā)送給所述路徑上報(bào)|旲塊; 所述路徑上報(bào)模塊,用于將該臨時(shí)路徑上報(bào)給所述其他域。
6.按權(quán)利要求5所述的域,其特征在于, 所述死鎖域查找模塊,用于在多樣性路徑遍歷的域中查找與本域?qū)⒁虿捎枚鄻有月窂酵瑫r(shí)計(jì)算而存在死鎖的其他域,包括: 所述死鎖域查找模塊,用于同時(shí)獲知所有多樣性路徑遍歷的域,通過(guò)分析每條多樣性路遍歷的域確定與本域存在死鎖的其他域。
7.按權(quán)利要求6所述的域,其特征在于, 所述死鎖域查找模塊,用于同時(shí)獲知所有多樣性路徑遍歷的域,包括: 所述死鎖域查找模塊,用于接收首域發(fā)送的包含多樣性路徑計(jì)算請(qǐng)求的同步容器(SVEC對(duì)象);從所述SVEC中與每條多樣性路徑計(jì)算請(qǐng)求對(duì)應(yīng)的包含路由對(duì)象(IRO)字段分別獲取一條路徑遍歷的域序列。
8.按權(quán)利要求5 7中任一項(xiàng)所述的域,其特征在于, 所述路徑上報(bào)模塊,用于將該臨時(shí)路徑上報(bào)給所述其他域,包括: 所述路徑上報(bào)模塊,用于將所述臨時(shí)路徑置于不相交的虛擬最短路徑樹(DisjointVSPT)中上報(bào)給 所述其他域,并在每個(gè)臨時(shí)路徑前標(biāo)明該路徑是臨時(shí)路徑。
全文摘要
本發(fā)明提供了一種避免多樣性路徑計(jì)算死鎖的方法和域,其中,所述方法包括在多樣性路徑遍歷的域中查找與本域?qū)⒁虿捎枚鄻有月窂酵瑫r(shí)計(jì)算而存在死鎖的其他域;在多樣性路徑同時(shí)計(jì)算中,當(dāng)本域向該其他域上報(bào)多樣性路徑在本域的域內(nèi)路徑時(shí),在本域中任選一條域內(nèi)可連通的路由段作為本域所在的多樣性路徑在本域的臨時(shí)路徑;將該臨時(shí)路徑上報(bào)給其他域。本發(fā)明在實(shí)現(xiàn)使用BRPC算法對(duì)多樣性路徑同時(shí)計(jì)算時(shí),避免了同時(shí)計(jì)算產(chǎn)生的死鎖問(wèn)題。
文檔編號(hào)H04L12/721GK103095576SQ201310004839
公開日2013年5月8日 申請(qǐng)日期2013年1月7日 優(yōu)先權(quán)日2013年1月7日
發(fā)明者王家昱, 宋貞, 呂文祥, 盧剛, 曹徐平, 田衛(wèi), 蔣寧寧 申請(qǐng)人:中興通訊股份有限公司