一種路徑配置方法及裝置制造方法
【專利摘要】本發(fā)明涉及通信【技術(shù)領(lǐng)域】,公開了一種路徑配置方法及裝置,以解決現(xiàn)有技術(shù)中無法及時進行路徑切換的技術(shù)問題,該路徑配置方法,具體包括:檢測通信雙方的端口狀態(tài);若根據(jù)檢測結(jié)果確定當前主用路徑對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則將當前主用路徑切換至備用路徑,且配置一條新備用路徑;若根據(jù)檢測結(jié)果確定備用路徑所對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則配置一條新備用路徑。
【專利說明】一種路徑配置方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,特別涉及一種路徑配置方法及裝置。
【背景技術(shù)】
[0002]計算機行業(yè)正在朝著快速、分組化、串行輸入/輸出(I/O)互連體系結(jié)構(gòu)發(fā)展,其中計算主機與外圍設(shè)備由交換網(wǎng)絡(luò)鏈接。IB (InfiniBand)是一種代替?zhèn)鹘y(tǒng)的存儲變換I/O接口總線,支持多并發(fā)鏈接的“轉(zhuǎn)換線纜”技術(shù),提供點對點雙向串行高速鏈接,IB交換體系結(jié)構(gòu)具有低等待時間、高帶寬、容錯互連的特點。
[0003]IB技術(shù)在連接多個HCA(Host Channel Adapter:主機通道適配器)、或者連接HCA與TCA (Target Channel Adapter:目標通道適配器)之間起著重要作用。HCA通常位于服務(wù)器的CPU和存儲器附近,而TCA通常位于傳統(tǒng)的磁盤存儲器或其他外設(shè)附近。HCA與TCA(或者其他HCA)之間的連接或者是IB點對點路徑、或者是交換機或路由器,他們形成IB子網(wǎng)環(huán)境。
[0004]上層業(yè)務(wù)軟件在兩個HCA之間建立QP (Queue pair:隊列對)路徑時,如果只建立一條物理路徑,那么只要這條物理路徑出現(xiàn)故障,那么QP路徑就出現(xiàn)了故障,需要重新建立連接,但是如果啟動opensm server的網(wǎng)口出現(xiàn)故障的話,將導(dǎo)致重新建立連接不會成功?,F(xiàn)有技術(shù)中為了解決這種問題,可以在建立QP路徑的同時,預(yù)備好多條可用的路徑,如圖1所示,HCAl與HCA2建立QP連接時,可以選用主路徑為HCAlPortl〈->HCA2Portl,備用路徑可以配置為 HCAlPort2〈->HCA2Port2,當 HCAlPortl〈->HCA2Portl 故障時,APM(Automatic Path Migration:自動路徑遷移)快速切換到 HCAlPort2〈->HCA2Port2 路徑。
[0005]在現(xiàn)有技術(shù)中,只能夠保證在QP出現(xiàn)故障的情況下,由主路徑切換到備用路徑,但是在由主路徑切換到備用路徑之后,沒有獲取新的備用路徑,故而導(dǎo)致在后續(xù)過程中如果新的主路徑出現(xiàn)了故障,將無法及時進行路徑的切換。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實施例提供一種路徑配置方法及裝置,用于解決現(xiàn)有技術(shù)中無法及時進行路徑切換的技術(shù)問題。
[0007]根據(jù)本發(fā)明的第一方面,提供一種路徑配置方法,包括:檢測通信雙方的端口狀態(tài);若根據(jù)檢測結(jié)果確定當前主用路徑對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則將當前主用路徑切換至備用路徑,且配置一條新備用路徑;若根據(jù)檢測結(jié)果確定備用路徑所對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則配置一條新備用路徑。
[0008]結(jié)合第一方面,在第一種可能的實現(xiàn)方式中,所述配置一條新備用路徑,具體包括:判斷是否存在直連路徑;在存在直連路徑時,獲取一條直連路徑配置為所述新備用路徑;在不存在直連路徑時,獲取一條交叉路徑配置為所述新備用路徑。
[0009]結(jié)合第一方面,在第二種可能的實現(xiàn)方式中,所述方法還包括:若根據(jù)檢測結(jié)果確定任一端口由故障狀態(tài)變?yōu)檎顟B(tài),則判斷當前備用路徑是否為直連路徑;在判斷結(jié)果為否時,取消當前備用路徑的備用狀態(tài),獲取一條直連路徑,將獲取的直連路徑配置為當前備用路徑。
[0010]結(jié)合第一方面或第一方面的第一至二種可能的實現(xiàn)方式中的任意一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述方法還包括:每隔預(yù)設(shè)時間間隔,判斷當前主用路徑是否為直連路徑;在當前主用路徑不為直連路徑的情況下,判斷當前備用路徑是否為直連路徑;在當前備用路徑為直連路徑的情況下,將當前主用路徑切換至所述當前備用路徑。
[0011]結(jié)合第一方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述判斷當前主用路徑是否為直連路徑,具體包括:獲取當前時間與上次路徑更換時間的時間差;判斷所述時間差是否大于預(yù)設(shè)閾值;在所述時間差大于所述時間閾值時,判斷當前主用路徑是否為直連路徑。
[0012]結(jié)合第一方面的第三種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,在當前備用路徑為直連路徑的情況下,將當前主用路徑切換至當前備用路徑之后,所述方法還包括:獲取一條新的路徑配置為當前備用路徑。
[0013]根據(jù)本發(fā)明的第二方面,提供一種路徑配置裝置,包括:檢測模塊,用于檢測通信雙方的端口狀態(tài);第一配置模塊,連接于所述檢測模塊,用于若根據(jù)檢測模塊的檢測結(jié)果確定當前主用路徑對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則將當前主用路徑切換至備用路徑,且配置一條新備用路徑;第二配置模塊,連接于所述檢測模塊,用于若根據(jù)檢測模塊的檢測結(jié)果確定備用路徑所對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則配置一條新備用路徑。
[0014]結(jié)合第二方面,在第一種可能的實現(xiàn)方式中,所述第一配置模塊或所述第二配置模塊,具體包括:第一判斷單元,用于判斷是否存在直連路徑;第一獲取單元,連接于所述第一判斷單元,用于在所述第一判斷單元判斷出存在直連路徑時,獲取一條直連路徑配置為所述新備用路徑;第二獲取單元,連接于所述第一判斷單元,用于在所述第一判斷單元判斷出不存在直連路徑時,獲取一條交叉路徑配置為所述新備用路徑。
[0015]結(jié)合第二方面,在第二種可能的實現(xiàn)方式中,所述裝置還包括:第一判斷模塊,連接于所述檢測門模塊,用于若根據(jù)所述檢測模塊的檢測結(jié)果確定任一端口由故障狀態(tài)變?yōu)檎顟B(tài),則判斷當前備用路徑是否為直連路徑;第一獲取模塊,連接于所述第一判斷模塊,用于在所述第一判斷模塊的判斷結(jié)果為否時,取消當前備用路徑的備用狀態(tài),獲取一條直連路徑,將獲取的直連路徑配置為當前備用路徑。
[0016]結(jié)合第二方面或第二方面的第一至二種可能的實現(xiàn)方式中的任意一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述裝置還包括:第二判斷模塊,用于每隔預(yù)設(shè)時間間隔,判斷當前主用路徑是否為直連路徑;第三判斷模塊,用于在基于第二判斷模塊判斷出當前主用路徑不為直連路徑的情況下,判斷當前備用路徑是否為直連路徑;切換模塊,連接于第三判斷模塊,用于在第三判斷模塊判斷出當前備用路徑為直連路徑的情況下,將當前主用路徑切換至所述當前備用路徑。
[0017]結(jié)合第二方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述第二判斷模塊,具體包括:第三獲取單元,用于獲取當前時間與上次路徑更換時間的時間差;第二判斷單元,連接于所述第三獲取單元,用于在所述第三獲取單元獲取所述時間差之后,判斷所述時間差是否大于預(yù)設(shè)閾值;第三判斷單元,連接于所述第三判斷單元,用于在所述第三判斷單元確定所述時間差大于所述時間閾值時,判斷當前主用路徑是否為直連路徑。
[0018]結(jié)合第二方面的第三種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述裝置還包括:第二獲取模塊,連接于所述切換模塊,用于在當前備用路徑為直連路徑的情況下,通過所述切換模塊將當前主用路徑切換至當前備用路徑之后,獲取一條新的路徑配置為當前備用路徑。
[0019]根據(jù)本發(fā)明的第三方面,提供一種路徑配置裝置,包括:處理器,用于檢測通信雙方的端口狀態(tài);以及若根據(jù)檢測結(jié)果確定當前主用路徑對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則將當前主用路徑切換至備用路徑,且配置一條新備用路徑作為當前備用路徑;以及若根據(jù)檢測結(jié)果確定備用路徑所對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則配置一條新備用路徑作為當前備用路徑;存儲器,連接于所述處理器,用于存儲當前主用路徑和當前備用路徑。
[0020]結(jié)合第三方面,在第一種可能的實現(xiàn)方式中,所述處理器配置一條新備用路徑作為當前備用路徑,具體包括:判斷是否存在直連路徑;在存在直連路徑時,獲取一條直連路徑配置為所述新備用路徑;在不存在直連路徑時,獲取一條交叉路徑配置為所述新備用路徑。
[0021]結(jié)合第三方面,在第二種可能的實現(xiàn)方式中,所述處理器,還用于:若根據(jù)檢測結(jié)果確定任一端口由故障狀態(tài)變?yōu)檎顟B(tài),則判斷當前備用路徑是否為直連路徑;在判斷結(jié)果為否時,將存儲器中寫入的當前備用路徑刪除,以取消當前備用路徑的備用狀態(tài),并獲取一條直連路徑,將獲取的直連路徑配置為當前備用路徑寫入存儲器。
[0022]結(jié)合第二方面或第二方面的第一至二種可能的實現(xiàn)方式中的任意一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述裝置還包括:定時器,連接于所述處理器,用于每隔預(yù)設(shè)時間間隔,產(chǎn)生觸發(fā)信號并將所述觸發(fā)信號發(fā)送至所述處理器;所述處理器,還用于:在接收到所述觸發(fā)信號時,判斷當前主用路徑是否為直連路徑;在當前主用路徑不為直連路徑的情況下,判斷當前備用路徑是否為直連路徑;在當前備用路徑為直連路徑的情況下,將當前主用路徑切換至所述當前備用路徑。
[0023]結(jié)合第二方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述處理器判斷當前主用路徑是否為直連路徑,具體包括:獲取當前時間與上次路徑更換時間的時間差;判斷所述時間差是否大于預(yù)設(shè)閾值;在所述時間差大于所述時間閾值時,判斷當前主用路徑是否為直連路徑。
[0024]結(jié)合第二方面的第三種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述處理器,還用于:在當前備用路徑為直連路徑的情況下,將當前主用路徑切換至當前備用路徑之后,獲取一條新的路徑配置為當前備用路徑。
[0025]本發(fā)明有益效果如下:
[0026]由于在本發(fā)明實施例中,會檢測端口的狀態(tài),并且在確定主用路徑對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài)時,則將當前主用路徑切換至備用路徑且配置一條新備用路徑;而在備用路徑對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài)時,則也會配置一條新備用路徑,也即是說:不管是主用路徑還是備用路徑由正常狀態(tài)變?yōu)楣收蠣顟B(tài),都會重新確定新備用路徑,進而保證了在路徑出現(xiàn)變化時,能夠及時給當前主用路徑配置可用的備用路徑,故而達到了能夠及時進行路徑切換的技術(shù)效果。【專利附圖】
【附圖說明】
[0027]圖1為本發(fā)明實施例中路徑配置方法的流程圖;
[0028]圖2為本發(fā)明實施例中包含檢測結(jié)果表明任一端口由故障狀態(tài)變?yōu)檎顟B(tài)時路徑配置方法的流程圖;
[0029]圖3為本發(fā)明實施例中HCAl與HCA2的端口的示意圖;
[0030]圖4為本發(fā)明實施例路徑配置方法中確定一條新備用路徑的流程圖;
[0031]圖5為本發(fā)明實施例路徑配置方法中對路徑進行定時檢測的流程圖;
[0032]圖6為本發(fā)明實施例一中在初始化階段確定備用路徑的流程圖;
[0033]圖7a為本發(fā)明實施二中在端口出現(xiàn)故障時觸發(fā)QP鏈路切換的流程圖;
[0034]圖7b為本發(fā)明實施例二中在端口恢復(fù)時加載新的備用鏈路的流程圖;
[0035]圖8為本發(fā)明實施例三中APM狀態(tài)機的狀態(tài)遷移圖;
[0036]圖9為本發(fā)明實施例三中路徑配置方法的流程圖;
[0037]圖10為本發(fā)明實施例中路徑配置裝置的第一種結(jié)構(gòu)圖;
[0038]圖11為本發(fā)明實施例中路徑配置裝置的第二種結(jié)構(gòu)圖。
【具體實施方式】
[0039]為了解決現(xiàn)有技術(shù)中無法及時進行路徑切換的技術(shù)問題,本發(fā)明實施例中提供了一種路徑配置方法,該方法中首先檢測通信雙方的端口狀態(tài),并且在確定主用路徑對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài)時,則將當前主用路徑切換至備用路徑且配置一條新備用路徑;而在備用路徑對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài)時,則也會配置一條新備用路徑,也即是說:不管是主用路徑還是備用路徑由正常狀態(tài)變?yōu)楣收蠣顟B(tài),都會重新確定新備用路徑,進而保證了在路徑出現(xiàn)變化時,能夠及時給當前主用路徑配置可用的備用路徑,故而達到了能夠及時進行路徑切換的技術(shù)效果。
[0040]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0041]第一方面,本發(fā)明實施例提供一種路徑配置方法,該方法應(yīng)用于建立QP鏈路的通信雙發(fā)的任意一方,例如:用戶端、服務(wù)端等等,本發(fā)明實施例不作限制,請參考圖1,該方法具體包括以下步驟:
[0042]步驟SlOl:檢測通信雙方的端口狀態(tài);
[0043]步驟S102a:若根據(jù)檢測結(jié)果確定當前主用路徑對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則將當前主用路徑切換至備用路徑,且配置一條新備用路徑;
[0044]步驟S102b:若根據(jù)檢測結(jié)果確定備用路徑所對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則配置一條新備用路徑。
[0045]作為進一步的優(yōu)選實施例,在基于步驟SlOl檢測通信雙方的端口狀態(tài)時,除了可以基于步驟S102a和步驟S102b檢測是否存在端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài)之外,還可以檢測是否存在端口由故障狀態(tài)變?yōu)檎顟B(tài),進而對路徑采用不同的配置方式,如圖2所示:
[0046]步驟S201:若根據(jù)檢測結(jié)果確定任一端口由故障狀態(tài)變?yōu)檎顟B(tài),則判斷當前備用路徑是否為直連路徑;
[0047]步驟S202a:在判斷結(jié)果為否時,取消當前備用路徑的備用狀態(tài),獲取一條直連路徑,將獲取的直連路徑配置為當前備用路徑。
[0048]步驟S202b:在判斷結(jié)果為是時,保持當前備用路徑不變。
[0049]在具體實施過程中,步驟SlOl中,通信雙方的端口包括當前主用鏈路對應(yīng)的端口、當前備用鏈路對應(yīng)的端口或者與當前主用鏈路和當前備用鏈路都無關(guān)的端口,本發(fā)明實施例不作限制。
[0050]在具體實施過程中,QP鏈路的通信雙方都可以啟動對IB網(wǎng)絡(luò)的變化狀進行監(jiān)控,可以通過IB網(wǎng)卡驅(qū)動來對端口的狀態(tài)變化進行監(jiān)控而檢測通信雙方的端口是否由正常狀態(tài)變?yōu)楣收蠣顟B(tài)或者是否由故障狀態(tài)變?yōu)檎顟B(tài),例如:如果檢測到端口故障事件,則表明該事件對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài);而如果檢測到端口恢復(fù)事件,則表明該時間對應(yīng)的端口由故障狀態(tài)變?yōu)檎顟B(tài)等等。
[0051]在具體實施過程中,步驟S102a中,由于主用路徑對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則表示主用路徑處于不可用狀態(tài),故而需要將主用路徑切換至備用路徑,進而將備用路徑作為新的主用路徑使用,在這種情況下,則系統(tǒng)中不存在備用路徑了,故而需要配置一條新備用路徑。
[0052]在具體實施過程中,如圖3所示,假設(shè)通信雙方分別為:HCA1、HCA2,HCA1包括兩個端口,其端口編號分別為:Lidl、Lid3,其中主端口為Lidl,備用端口為Lid3 ;HCA2也包括兩個端口,其端口編號分別為:Lid2、Lid4,其中主端口為Lid2,備用端口為Lid4 ;那么這四個端口之間可以建立四條路徑,分別為:路徑I (Lidl-Lid2);路徑2 (Lid3-Lid4);路徑3(Lidl-LicM);路徑4 (Lid3-Lid2);其中,主端口對主端口、備用端口和備用端口之間形成的路徑為直連路徑,也即:路徑I與路徑2為直連路徑,而主端口與備用端口之間形成的路徑為交叉路徑,也即:路徑3與路徑4為交叉路徑。假設(shè)主用路徑為路徑1,備用路徑為路徑2。
[0053]在具體實施過程中,HCAl和HCA2可以分別監(jiān)控自身的網(wǎng)口故障變化狀態(tài),進而確定自身對應(yīng)的端口是否出現(xiàn)故障,并且可以從對側(cè)端口獲取對側(cè)端口的端口狀態(tài),也即:HCAl監(jiān)控端口 Lidl、Lid3是否出現(xiàn)故障,同時通HCA2獲取端口 Lid2、Lid4的情況,而HCA2監(jiān)控端口 Lid2、Lid4是否出現(xiàn)故障,同時通HCAl獲取端口 Lidl、Lid3的情況。
[0054]在這種情況下,如果端口 Lidl由正常狀態(tài)出現(xiàn)故障,那么則路徑I為不可用狀態(tài),故而在這種情況下,將QP鏈路的主用路徑切換至備用路徑,也即切換至路徑2,也就是將路徑2作為當前主用路徑;
[0055]并且,QP自動將主用路徑切換至路徑2上面、將其作為當前主用路徑之后,就會向HCA2發(fā)送一對應(yīng)消息,而HCA2在接收到該消息之后,也將主用路徑切換至備用路徑(也即:路徑2),完成王備用路徑的切換;
[0056]而由于將備用路徑作為主用路徑,那么當前不再存在備用鏈路,故而為了保證在當前主用路徑出現(xiàn)故障之后,還可以有備用路徑可以切換,故而需要將新備用路徑作為當前備用路徑,例如:上層業(yè)務(wù)將鏈路4作為HCAl和HCA2的新備用路徑,并填充到QP芯片中。
[0057]在具體實施過程中,步驟S102b中,由于備用路徑對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則表示備用路徑處于不可能狀態(tài),故而為了保證在下次主用路徑出現(xiàn)故障時,能夠快速切換至可用的備用路徑,則需要設(shè)置一條新備用路徑。
[0058]還是以圖3所示的通行雙方為例,如果HCA2的端口 Lid2出現(xiàn)故障,在這種情況下,主用路徑?jīng)]有出現(xiàn)故障,故而QP芯片不會自動切換路徑,但是由HCAl上的業(yè)務(wù)層重新選擇最佳備用路徑作為新備用路徑,進而將路徑3作為新備用路徑刷新到HCAl的QP芯片中,HCAl利用鏈路I通過業(yè)務(wù)層消息通知HCA2關(guān)于HCAl上網(wǎng)口狀態(tài),HCA2上業(yè)務(wù)層按相同算法將鏈路3作為新的備用路徑刷新到HCA2的QP芯片中。
[0059]在具體實施過程中,步驟S102a和步驟S102b中可以采用多種方式配置新備用路徑,下面列舉其中的兩種進行介紹,當然,在具體實施過程中,不限于以下兩種情況。
[0060]作為第一種優(yōu)選的實施例,配置一條新備用路徑,請參考圖4,具體包括以下步驟:
[0061]步驟S401:判斷是否存在直連路徑;
[0062]步驟S402a:在存在直連路徑時,獲取一條直連路徑配置為新備用路徑;
[0063]步驟S402b:在不存在直連路徑時,獲取一條交叉路徑配置為新備用路徑。
[0064]在具體實施過程中,步驟S401中,可以首先通過本側(cè)端口的端口狀態(tài)和對側(cè)端口的端口狀態(tài),進而確定出可用的路徑,然后通過通過可用的路徑所對應(yīng)的端口的端口號來確定其為直連路徑還是備用路徑。
[0065]步驟S402a中,如果在確定出的可用路徑中包含直連路徑,那么則將其確定為新備用路徑,由于新的備用路徑為直連路徑,故而保證了在從主用路徑切換至備用路徑時,成功率較高。例如:主用路徑假設(shè)為:(Lidl-Lid2),而在原主用路徑出現(xiàn)故障時,假設(shè)備用路徑(Lid3-Lid4),那么不管主用路徑所對應(yīng)的那個端口出現(xiàn)了故障,在切換至備用路徑時,都能夠成功;而如果備用路徑為(Lid3-Lid2),而如果主用路徑出現(xiàn)故障的端口為Lid2,那么則是不能切換成功的,由此可見選用直連路徑的話,那么主用路徑和備用路徑之間不用共用端口,因而能夠提高切換的成功率。
[0066]步驟S402b中,如果當前沒有直連路徑,則設(shè)置一條交叉路徑作為新備用路徑,進而保證了始終存在備用路徑,從而保證能夠及時進行路徑切換的技術(shù)效果。
[0067]作為第二種優(yōu)選的實施例,配置一條新備用路徑,具體為:隨機選擇一條路徑作為新備用路徑。
[0068]在這種情況下,只要確定出一條可用的路徑就可以將其作為新備用路徑,而不需要確定出多條可用的路徑,故而達到了降低處理負擔和時間的技術(shù)效果。
[0069]在具體實施過程中,步驟S201中,依然可以通過檢測備用路徑的兩個端口是否全為主端口或者全為備用端口來確定其是否為直連路徑,其中如果備用路徑的端口全為主端口,例如:Lidl-Lid2 ;或者全為備用端口,例如:Lid3-Lid4則表示備用路徑為直連路徑,否則則表示備用路徑為交叉路徑等等。
[0070]還是以圖3所示的通信雙方為例,假設(shè)前面出現(xiàn)故障的端口為端口 Lidl,而HCAl和HCA2的業(yè)務(wù)層可以分別檢測自身的端口進而確定端口是否恢復(fù),在HCAl的業(yè)務(wù)層監(jiān)控到端口(比如:前面出現(xiàn)故障的端口 Lidl)恢復(fù)時,則可以通過當前主用路徑(路徑2)通知HCA2關(guān)于HCAl上端口的狀態(tài),HCAl和HCA2上的業(yè)務(wù)層會重新計算最優(yōu)的備用路徑,即將路徑I刷新到QP芯片上的備用路徑中。
[0071]作為進一步的優(yōu)選實施例,請參考圖5,該方法還包括以下步驟:
[0072]步驟S501:每隔預(yù)設(shè)時間間隔,判斷當前主用路徑是否為直連路徑;
[0073]步驟S502a:在當前主用路徑不為直連路徑的情況下,判斷當前備用路徑是否為直連路徑;
[0074]步驟S502b:在當前主用路徑為直連路徑的情況下,保持當前主用路徑不變;
[0075]步驟S503a:在當前備用路徑為直連路徑的情況下,將當前主用路徑切換至當前備用路徑;
[0076]步驟S503b:在當前備用路徑不為直連路徑的情況下,保持當前主用路徑不變。
[0077]在具體實施過程中,步驟S501中可以通過當前主用路徑的端口是否為主端口對主端口或備用端口對備用端口來確定當前主用路徑是否為直連路徑,其中具體如何確定,在前面已作介紹,故而在此不再贅述。
[0078]而作為進一步的優(yōu)選實施例,在步驟S501中,判斷當前主用路徑是否直連路徑,具體又包括:獲取當前時間與上次路徑更換時間的時間差;判斷時間差是否大于預(yù)設(shè)閾值;在時間差大于時間閾值時,判斷當前主用路徑是否為直連路徑。
[0079]通常情況下,QP鏈路在進行切換時,會需要一定的時間,也就是預(yù)設(shè)閾值,預(yù)設(shè)閾值可以為任意值,比如:60S、65S、70S等等,故而將備用路徑作為主用路徑(也即進行路徑切換)之前,可以首先確定上次路徑切換的時間,這個時間可以上次進行路徑切換時記錄,進而獲得一個時間差,例如:假設(shè)上次路徑切換時間為11:00:05,當然時間為:11:01:10,那么時間差則為65s ;
[0080]然后判斷時間差是否大于時間閾值,例如:如果預(yù)設(shè)閾值為60s,那么時間差大于預(yù)設(shè)閾值,則表明上次路徑切換已經(jīng)成功,故而這里可以再次進行路徑切換;而如果時間閾值為70s,那么由于時間差小于預(yù)設(shè)閾值則表明上次路徑切換尚未成功,故而為了保證在一次路徑切換成功之后再進行下一次路徑切換,這里就不需要進行路徑切換,故而也不需要檢測當前主用路徑是否為交叉路徑,而是直接檢查下一個QP鏈路。
[0081]步驟S502a中,由于通常情況下,都是將主用路徑切換至備用路徑,故而在當前主用路徑不為直連路徑的情況下,則需要判斷當前備用路徑是否為直連路徑,如果是的話,則需要通過步驟S503a將當前主用路徑切換至當前備用路徑,例如:通過modify_qp命令進行切換,而如果當前主用路徑已為直連路徑或者當前備用路徑也為交叉路徑的話,則表示目前不需要進行路徑的切換或者沒有可切換的直連路徑,故而保持當前主用路徑不變。
[0082]作為進一步的優(yōu)選實施例,在基于步驟S503a將當前備用路徑作為當前主用路徑之后,方法還包括:獲取一條新的路徑作為當前備用路徑。
[0083]由于將原備用路徑作為了當前主用路徑,故而為了保證在當前主用路徑出現(xiàn)故障時,能夠快速切換至備用路徑,需要選擇一條新的路徑作為當前備用路徑,由于具體如何選擇新的路徑,其方式和選擇新備用路徑類似,故而在此不再贅述。
[0084]以下通過幾個具體的實施例來介紹本發(fā)明中的路徑配置方法,下面的實施例主要介紹了該路徑配置方法的幾個可能的實現(xiàn)方式。需要說明的是,本發(fā)明中的實施例只用于解釋本發(fā)明,而不能用于限制本發(fā)明。一切符合本發(fā)明思想的實施例均在本發(fā)明的保護范圍之內(nèi),本領(lǐng)域技術(shù)人員自然知道應(yīng)該如何根據(jù)本發(fā)明的思想進行變形。
[0085]實施例一
[0086]在本實施例中,將具體介紹在初始化階段如何備用路徑,該方法應(yīng)用于客戶端HCAl與服務(wù)端HCA2之間,其中HCAl與HCA2確定主用路徑和備用路徑的方法相同,故而在此側(cè)重站在HCAl側(cè)介紹。
[0087]請參考圖6,具體包括以下步驟:
[0088]步驟S601 =APM模塊初始化。在進程啟動時,初始化APM模塊,主要包括:將其中的APM記錄清空,注冊IB異步事件的通知,監(jiān)控端口狀態(tài)變化事件。
[0089]步驟S602:在上層應(yīng)用發(fā)送信息采用RDMA(Remote Direct Memory Access:遠程直接數(shù)據(jù)存取技術(shù))時,HCAl獲取QP鏈路的本地IB網(wǎng)卡的備用端口,也即:Lid3,并通過QP的連接參數(shù)傳遞至HCA2 ;
[0090]接著HCAl與HCA2建立連接,進而HCA2獲取HCA2的備用端口,也即:Lid4 ;
[0091]步驟S603:HCA2將其連接參數(shù)(也即主用Lid和備用Lid)傳遞給客戶端HCAl;
[0092]步驟S604:在QP連接建立成功之后,HCAl和HCA2各自通過連接參數(shù)獲得對端的備用Lid信息;
[0093]步驟S605:HCA2通過HCAl的Lid信息確定HCAl的主備用端口的狀態(tài),并且根據(jù)自身的端口狀態(tài)計算QP連接的四路徑,根據(jù)先直連后交叉的原則進行計算,如果從主用端口獲得HCAl端口狀態(tài)失敗,則嘗試從備用端口獲得HCAl端口狀態(tài);
[0094]步驟S606 =HCAl通過HCA2的Lid信息確定HCA2的主備用端口的狀態(tài),并且根據(jù)自身的端口狀態(tài)計算QP連接的四路徑,根據(jù)先直連后交叉的原則進行計算;
[0095]步驟S607 =HCAl和HCA2將計算出的最佳的備用路徑配置到QP鏈路,其中HCAl和HCA2計算備用鏈路的方式相同,故而其計算出的最佳的備用路徑也相同,并且將增加備用路徑的QP添加到全局記錄表中。
[0096]實施例二
[0097]在本實施例中,還是以終端HCAl和HCA2為例進行介紹,在本實施例中主要介紹在HCAl和HCA2成功建立連接并且成功配置備用路徑之后,在何種情況下需要確定新備用路徑。
[0098]請參考圖7a,具體包括以下步驟:
[0099]步驟S701 =HCAl和HCA2都啟動對IB端口的變化狀態(tài)監(jiān)控,例如:通過IB網(wǎng)卡驅(qū)
動監(jiān)控端口故障;
[0100]步驟S702:在監(jiān)控到端口故障事件時,觸發(fā)QP鏈路切換,如果QP備用路徑所對應(yīng)的端口出現(xiàn)故障,那么不需要遷移QP路徑(也即:不需要用備用路徑替換主用路徑),而只需要補充新備用路徑作為當前備用路徑;而如果QP主用路徑所對應(yīng)的端口出現(xiàn)故障,則QP主用路徑進行遷移,也即將通過備用路徑替換主用路徑,優(yōu)先選擇直連路徑,如果沒有直連路徑則選擇交叉路徑。
[0101]進一步的,在檢測到IB端口故障事件之后,如圖7b所示,還可以執(zhí)行以下步驟:
[0102]步驟S703:監(jiān)控端口恢復(fù)事件,例如:通過IB網(wǎng)卡驅(qū)動監(jiān)控網(wǎng)口恢復(fù)正常;
[0103]步驟S704:在監(jiān)控到端口恢復(fù)事件之后,啟用備用路徑檢查處理,如果備用路徑為交叉路徑,則將原交叉的備用路徑修改為新的直連路徑,例如:采用modify_qp指令進行刷新。如果沒有備用路徑,則配置備用路徑。
[0104]實施例三
[0105]在本實施例中,將結(jié)合如圖8所示APM狀態(tài)機來介紹路徑配置的方法。
[0106]請參考圖9,該路徑配置方法具體包括以下步驟:
[0107]步驟S901 =HCAl和HCA2都定時做備用路徑檢測,例如:每隔3s,從QP列表中,循環(huán)檢測當前QP路徑狀態(tài),如果為Rearm,則處理下一個QP鏈路;
[0108]步驟S902:檢測當前主用路徑是否為交叉路徑(可以根據(jù)建立時獲得的本端和對端的主用端口和備用端口分析);如果是交叉路徑,且路徑狀態(tài)為armed,那么進一步的確認當前備用路徑是否為直連路徑,在當前備用路徑為直連路徑的情況下,則進行路徑的切換,也即將當前備用路徑作為當前主用路徑,例如:通過modify_qp命令,同時本端會向?qū)Χ税l(fā)送MigReq為T的消息包(也即HCAl向HCA2發(fā)送,而HCA2向HCAl發(fā)送)。并記錄路徑切換的時間,給加載備用路徑時使用。如果當前時間與上次路徑切換時間之差小于路徑遷移所需要的時間(也即:預(yù)設(shè)閾值),假設(shè)為60s,則跳過本QP鏈路檢查,檢查下一個QP鏈路,否則執(zhí)行備用鏈路的加載;
[0109]步驟S903:使用MAD接口和對端的Lid信息獲得對端的端口狀態(tài),為了減少每輪校驗時去使用MAD接口查詢對端的次數(shù),可以將本次查詢中Iid和Port狀態(tài)的記錄緩存起來,在本輪通過Lid查詢Port狀態(tài)時,先查詢緩存的,如果存在則直接使用,不存在再去使用MAD接口查詢;
[0110]步驟S904:根據(jù)先直連后交叉的原則,計算最佳路徑組;
[0111]步驟S905:檢查當前QP路徑的狀態(tài),如果是Migrated狀態(tài),則選擇最佳的路徑加載到QP ;如果QP鏈路狀態(tài)為Armed狀態(tài),則檢查備用路徑是否為最佳的備用路徑,不是則刷新為最佳的備用路徑。
[0112]第二方面,本發(fā)明實施例提供一種路徑配置裝置,請參考圖10,該裝置具體包括:
[0113]檢測模塊10,用于檢測通信雙方的端口狀態(tài);
[0114]第一配置模塊11,連接于檢測模塊0,用于若根據(jù)檢測模塊10的檢測結(jié)果確定當前主用路徑對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則將當前主用路徑切換至備用路徑,且配置一條新備用路徑;
[0115]第二配置模塊12,連接于檢測模塊10,用于若根據(jù)檢測模塊10的檢測結(jié)果確定備用路徑所對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則配置一條新備用路徑。
[0116]可選的,第一配置模塊11或第二配置模塊12,具體包括:
[0117]第一判斷單元,用于判斷是否存在直連路徑;
[0118]第一獲取單元,連接于第一判斷單元,用于在第一判斷單元判斷出存在直連路徑時,獲取一條直連路徑配置為新備用路徑;
[0119]第二獲取單元,連接于第一判斷單元,用于在第一判斷單元判斷出不存在直連路徑時,獲取一條交叉路徑配置為新備用路徑。
[0120]可選的,裝置還包括:
[0121]第一判斷模塊,連接于檢測門模塊,用于若根據(jù)檢測模塊的檢測結(jié)果確定任一端口由故障狀態(tài)變?yōu)檎顟B(tài),則判斷當前備用路徑是否為直連路徑;
[0122]第一獲取模塊,連接于第一判斷模塊,用于在第一判斷模塊的判斷結(jié)果為否時,取消當前備用路徑的備用狀態(tài),獲取一條直連路徑,將獲取的直連路徑配置為當前備用路徑。
[0123]可選的,裝置還包括:
[0124]第二判斷模塊,用于每隔預(yù)設(shè)時間間隔,判斷當前主用路徑是否為直連路徑;
[0125]第三判斷模塊,用于在基于第二判斷模塊判斷出當前主用路徑不為直連路徑的情況下,判斷當前備用路徑是否為直連路徑;
[0126]切換模塊,連接于第三判斷模塊,用于在第三判斷模塊判斷出當前備用路徑為直連路徑的情況下,將當前主用路徑切換至當前備用路徑。
[0127]可選的,第二判斷模塊,具體包括:
[0128]第三獲取單元,用于獲取當前時間與上次路徑更換時間的時間差;
[0129]第二判斷單元,連接于第三獲取單元,用于在第三獲取單元獲取時間差之后,判斷時間差是否大于預(yù)設(shè)閾值;
[0130]第三判斷單元,連接于第三判斷單元,用于在第三判斷單元確定時間差大于時間閾值時,判斷當前主用路徑是否為直連路徑。
[0131]可選的,裝置還包括:
[0132]第二獲取模塊,連接于切換模塊,用于在當前備用路徑為直連路徑的情況下,通過切換模塊將當前主用路徑切換至當前備用路徑之后,獲取一條新的路徑配置為當前備用路徑。
[0133]由于上述路徑配置裝置為通過本發(fā)明實施例所介紹的路徑配置方法所采用的裝置,故而基于本發(fā)明實施例所介紹的路徑配置方法,本領(lǐng)域所屬技術(shù)人員能夠了解本發(fā)明實施例所介紹的路徑配置裝置的具體實施過程,故而在此不再詳細介紹。
[0134]第三方面,本發(fā)明實施例提供一種路徑配置裝置,請參考圖11,該裝置具體包括:
[0135]處理器110,用于檢測通信雙方的端口狀態(tài);以及
[0136]若根據(jù)檢測結(jié)果確定當前主用路徑對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則將當前主用路徑切換至備用路徑,且配置一條新備用路徑作為當前備用路徑;以及
[0137]若根據(jù)檢測結(jié)果確定備用路徑所對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則配置一條新備用路徑作為當前備用路徑;
[0138]存儲器111,連接于處理器110,用于存儲當前主用路徑和當前備用路徑。
[0139]可選的,處理器110配置一條新備用路徑作為當前備用路徑,具體包括:
[0140]判斷是否存在直連路徑;
[0141]在存在直連路徑時,獲取一條直連路徑配置為新備用路徑;
[0142]在不存在直連路徑時,獲取一條交叉路徑配置為新備用路徑。
[0143]可選的,處理器110,還用于:
[0144]若根據(jù)檢測結(jié)果確定任一端口由故障狀態(tài)變?yōu)檎顟B(tài),則判斷當前備用路徑是否為直連路徑;
[0145]在判斷結(jié)果為否時,將存儲器中寫入的當前備用路徑刪除,以取消當前備用路徑的備用狀態(tài),并獲取一條直連路徑,將獲取的直連路徑配置為當前備用路徑寫入存儲器。
[0146]可選的,裝置還包括:
[0147]定時器,連接于處理器110,用于每隔預(yù)設(shè)時間間隔,產(chǎn)生觸發(fā)信號并將觸發(fā)信號發(fā)送至處理器;[0148]處理器110,還用于:在接收到觸發(fā)信號時,判斷當前主用路徑是否為直連路徑;
[0149]在當前主用路徑不為直連路徑的情況下,判斷當前備用路徑是否為直連路徑;
[0150]在當前備用路徑為直連路徑的情況下,將當前主用路徑切換至當前備用路徑。
[0151]可選的,處理器110判斷當前主用路徑是否為直連路徑,具體包括:
[0152]獲取當前時間與上次路徑更換時間的時間差;
[0153]判斷時間差是否大于預(yù)設(shè)閾值;
[0154]在時間差大于時間閾值時,判斷當前主用路徑是否為直連路徑。
[0155]可選的,處理器110,還用于:
[0156]在當前備用路徑為直連路徑的情況下,將當前主用路徑切換至當前備用路徑之后,獲取一條新的路徑配置為當前備用路徑。
[0157]由于上述路徑配置裝置為通過本發(fā)明實施例所介紹的路徑配置方法所采用的裝置,故而基于本發(fā)明實施例所介紹的路徑配置方法,本領(lǐng)域所屬技術(shù)人員能夠了解本發(fā)明實施例所介紹的裝置的具體實施過程,故而在此不再詳細介紹。
[0158]本申請?zhí)峁┑囊粋€或多個技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點:
[0159]由于在本發(fā)明實施例中,會檢測端口的狀態(tài),并且在確定主用路徑對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài)時,則將當前主用路徑切換至備用路徑且配置一條新備用路徑;而在備用路徑對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài)時,則也會配置一條新備用路徑,也即是說:不管是主用路徑還是備用路徑由正常狀態(tài)變?yōu)楣收蠣顟B(tài),都會重新確定新備用路徑,進而保證了在路徑出現(xiàn)變化時,能夠及時給當前主用路徑配置可用的備用路徑,故而達到了能夠及時進行路徑切換的技術(shù)效果。
[0160]盡管已描述了本發(fā)明的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。
[0161]顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明實施例進行各種改動和變型而不脫離本發(fā)明實施例的精神和范圍。這樣,倘若本發(fā)明實施例的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【權(quán)利要求】
1.一種路徑配置方法,其特征在于,包括: 檢測通信雙方的端口狀態(tài); 若根據(jù)檢測結(jié)果確定當前主用路徑對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則將當前主用路徑切換至備用路徑,且配置一條新備用路徑; 若根據(jù)檢測結(jié)果確定備用路徑所對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則配置一條新備用路徑。
2.如權(quán)利要求1所述方法,其特征在于,所述配置一條新備用路徑,具體包括: 判斷是否存在直連路徑; 在存在直連路徑時,獲取一條直連路徑配置為所述新備用路徑; 在不存在直連路徑時,獲取一條交叉路徑配置為所述新備用路徑。
3.如權(quán)利要求1所述方法,其特征在于,所述方法還包括: 若根據(jù)檢測結(jié)果確定任一端口由故障狀態(tài)變?yōu)檎顟B(tài),則判斷當前備用路徑是否為直連路徑; 在判斷結(jié)果為否時,取消當前備用路徑的備用狀態(tài),獲取一條直連路徑,將獲取的直連路徑配置為當前備用路徑。
4.如權(quán)利要求1-3任一權(quán)項所述方法,其特征在于,所述方法還包括: 每隔預(yù)設(shè)時間間隔,判斷當前主用路徑是否為直連路徑; 在當前主用路徑不為直連路徑的情況下,判斷當前備用路徑是否為直連路徑; 在當前備用路徑為直連路徑的情況下,將當前主用路徑切換至所述當前備用路徑。
5.如權(quán)利要求4所述方法,其特征在于,所述判斷當前主用路徑是否為直連路徑,具體包括: 獲取當前時間與上次路徑更換時間的時間差; 判斷所述時間差是否大于預(yù)設(shè)閾值; 在所述時間差大于所述時間閾值時,判斷當前主用路徑是否為直連路徑。
6.如權(quán)利要求4所述方法,其特征在于,在當前備用路徑為直連路徑的情況下,將當前主用路徑切換至當前備用路徑之后,所述方法還包括: 獲取一條新的路徑配置為當前備用路徑。
7.—種路徑配置裝置,其特征在于,包括: 檢測模塊,用于檢測通信雙方的端口狀態(tài); 第一配置模塊,連接于所述檢測模塊,用于若根據(jù)檢測模塊的檢測結(jié)果確定當前主用路徑對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則將當前主用路徑切換至備用路徑,且配置一條新備用路徑; 第二配置模塊,連接于所述檢測模塊,用于若根據(jù)檢測模塊的檢測結(jié)果確定備用路徑所對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則配置一條新備用路徑。
8.如權(quán)利要求7所述裝置,其特征在于,所述第一配置模塊或所述第二配置模塊,具體包括: 第一判斷單元,用于判斷是否存在直連路徑; 第一獲取單元,連接于所述第一判斷單元,用于在所述第一判斷單元判斷出存在直連路徑時,獲取一條直連路徑配置為所述新備用路徑;第二獲取單元,連接于所述第一判斷單元,用于在所述第一判斷單元判斷出不存在直連路徑時,獲取一條交叉路徑配置為所述新備用路徑。
9.如權(quán)利要求7所述裝置,其特征在于,所述裝置還包括: 第一判斷模塊,連接于所述檢測門模塊,用于若根據(jù)所述檢測模塊的檢測結(jié)果確定任一端口由故障狀態(tài)變?yōu)檎顟B(tài),則判斷當前備用路徑是否為直連路徑; 第一獲取模塊,連接于所述第一判斷模塊,用于在所述第一判斷模塊的判斷結(jié)果為否時,取消當前備用路徑的備用狀態(tài),獲取一條直連路徑,將獲取的直連路徑配置為當前備用路徑。
10.如權(quán)利要求7-9任一權(quán)項所述裝置,其特征在于,所述裝置還包括: 第二判斷模塊,用于每隔預(yù)設(shè)時間間隔,判斷當前主用路徑是否為直連路徑; 第三判斷模塊,用于在基于第二判斷模塊判斷出當前主用路徑不為直連路徑的情況下,判斷當前備用路徑是否為直連路徑; 切換模塊,連接于第三判斷模塊,用于在第三判斷模塊判斷出當前備用路徑為直連路徑的情況下,將當前主用路徑切換至所述當前備用路徑。
11.如權(quán)利要求10所述裝置,其特征在于,所述第二判斷模塊,具體包括: 第三獲取單元,用于獲取當前時間與上次路徑更換時間的時間差; 第二判斷單元,連接于所述第三獲取單元,用于在所述第三獲取單元獲取所述時間差之后,判斷所述時間差是否大于預(yù)設(shè)閾值; 第三判斷單元,連接于所述第三判斷單元,用于在所述第三判斷單元確定所述時間差大于所述時間閾值時,判斷當前主用路徑是否為直連路徑。
12.如權(quán)利要求10所述裝置,其特征在于,所述裝置還包括: 第二獲取模塊,連接于所述切換模塊,用于在當前備用路徑為直連路徑的情況下,通過所述切換模塊將當前主用路徑切換至當前備用路徑之后,獲取一條新的路徑配置為當前備用路徑。
13.—種路徑配置裝置,其特征在于,包括: 處理器,用于檢測通信雙方的端口狀態(tài);以及 若根據(jù)檢測結(jié)果確定當前主用路徑對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則將當前主用路徑切換至備用路徑,且配置一條新備用路徑作為當前備用路徑;以及 若根據(jù)檢測結(jié)果確定備用路徑所對應(yīng)的端口由正常狀態(tài)變?yōu)楣收蠣顟B(tài),則配置一條新備用路徑作為當前備用路徑; 存儲器,連接于所述處理器,用于存儲當前主用路徑和當前備用路徑。
14.如權(quán)利要求13所述裝置,其特征在于,所述處理器配置一條新備用路徑作為當前備用路徑,具體包括: 判斷是否存在直連路徑; 在存在直連路徑時,獲取一條直連路徑配置為所述新備用路徑; 在不存在直連路徑時,獲取一條交叉路徑配置為所述新備用路徑。
15.如權(quán)利要求13所述裝置,其特征在于,所述處理器,還用于: 若根據(jù)檢測結(jié)果確定任一端口由故障狀態(tài)變?yōu)檎顟B(tài),則判斷當前備用路徑是否為直連路徑;在判斷結(jié)果為否時,將存儲器中寫入的當前備用路徑刪除,以取消當前備用路徑的備用狀態(tài),并獲取一條直連路徑,將獲取的直連路徑配置為當前備用路徑寫入存儲器。
16.如權(quán)利要求13-15任一權(quán)項所述裝置,其特征在于,所述裝置還包括: 定時器,連接于所述處理器,用于每隔預(yù)設(shè)時間間隔,產(chǎn)生觸發(fā)信號并將所述觸發(fā)信號發(fā)送至所述處理器; 所述處理器,還用于:在接收到所述觸發(fā)信號時,判斷當前主用路徑是否為直連路徑; 在當前主用路徑不為直連路徑的情況下,判斷當前備用路徑是否為直連路徑; 在當前備用路徑為直連路徑的情況下,將當前主用路徑切換至所述當前備用路徑。
17.如權(quán)利要求16所述裝置,其特征在于,所述處理器判斷當前主用路徑是否為直連路徑,具體包括: 獲取當前時間與上次路徑更換時間的時間差; 判斷所述時間差是否大于預(yù)設(shè)閾值; 在所述時間差大于所述時間閾值時,判斷當前主用路徑是否為直連路徑。
18.如權(quán)利要求16 所述裝置,其特征在于,所述處理器,還用于: 在當前備用路徑為直連路徑的情況下,將當前主用路徑切換至當前備用路徑之后,獲取一條新的路徑配置為當前備用路徑。
【文檔編號】H04L12/703GK103647710SQ201310538359
【公開日】2014年3月19日 申請日期:2013年11月1日 優(yōu)先權(quán)日:2013年11月1日
【發(fā)明者】彭招君 申請人:華為技術(shù)有限公司