專利名稱:一種多激活檢測(cè)方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種多激活檢測(cè)方法和設(shè)備。
背景技術(shù):
堆疊系統(tǒng)(Stacking System)常常由多臺(tái)配置相同的設(shè)備通過堆疊鏈路連接而成,對(duì)外呈現(xiàn)為一臺(tái)虛擬的較大型的設(shè)備。參與堆疊的多臺(tái)設(shè)備中,其中一臺(tái)設(shè)備為主 (Master)設(shè)備,其他設(shè)備都為從(Slave)設(shè)備,其中,Master設(shè)備處于Active狀態(tài),充當(dāng)管理者和控制者的角色,其配置生效,而Slave設(shè)備則處于Mandby狀態(tài),其配置不生效。參見圖1,圖1為典型的堆疊系統(tǒng)100的結(jié)構(gòu)示意圖。圖1中堆疊系統(tǒng)100由四臺(tái)設(shè)備構(gòu)成,四臺(tái)設(shè)備分別為堆疊設(shè)備101、堆疊設(shè)備102、堆疊設(shè)備103和堆疊設(shè)備104。堆疊設(shè)備101與堆疊設(shè)備102相連,堆疊設(shè)備102與堆疊設(shè)備103相連、堆疊設(shè)備103與堆疊設(shè)備104相連。假設(shè)其中堆疊設(shè)備102為Master設(shè)備,堆疊設(shè)備101、堆疊設(shè)備103和堆疊設(shè)備104均為Slave設(shè)備。當(dāng)堆疊系統(tǒng)100中的堆疊設(shè)備102和堆疊設(shè)備103之間的鏈路斷裂后,將產(chǎn)生堆疊系統(tǒng)分裂,即與Master設(shè)備斷開連接但可以互相連通的Slave設(shè)備之間將形成一個(gè)新的堆疊系統(tǒng),且這些Slave設(shè)備之間會(huì)進(jìn)行選舉,產(chǎn)生這個(gè)新的堆疊系統(tǒng)的Master設(shè)備。參見圖2,圖2為堆疊系統(tǒng)100中堆疊設(shè)備102和堆疊設(shè)備103之間鏈路斷開結(jié)構(gòu)示意圖。圖 2中堆疊系統(tǒng)100只包括堆疊設(shè)備101和堆疊設(shè)備102,且堆疊設(shè)備102為堆疊系統(tǒng)100的 Master設(shè)備;而堆疊設(shè)備103和堆疊設(shè)備104形成新的堆疊系統(tǒng)200,假設(shè)堆疊設(shè)備103被選舉為堆疊系統(tǒng)200的Master設(shè)備。這樣網(wǎng)絡(luò)中同時(shí)存在兩個(gè)配置完全相同的堆疊系統(tǒng), 因此出現(xiàn)了多激活沖突,會(huì)發(fā)生IP地址重復(fù),上、下行流量轉(zhuǎn)發(fā)混亂等問題,需要通過一定的競(jìng)爭(zhēng)和選擇,將堆疊系統(tǒng)100或堆疊系統(tǒng)200兩個(gè)堆疊系統(tǒng)中的某一個(gè)保持活動(dòng)狀態(tài),而另外一個(gè)則需要關(guān)閉其所有成員設(shè)備的業(yè)務(wù)端口,即對(duì)業(yè)務(wù)端口執(zhí)行amtdown。通常情況下保持哪個(gè)堆疊系統(tǒng)處于激活狀態(tài)沒有統(tǒng)一的標(biāo)準(zhǔn),各個(gè)廠商的實(shí)現(xiàn)也不相同。如,有的廠商對(duì)原來的堆疊系統(tǒng)執(zhí)行amtdown,保留新的堆疊系統(tǒng)為活動(dòng)狀態(tài);而另外某些廠商以Master設(shè)備的成員編號(hào)大小即MasterID為決策依據(jù),對(duì)Master設(shè)備的編號(hào)較大的堆疊系統(tǒng)執(zhí)行amtdown,保留MasterID較小的Master設(shè)備所在的堆疊系統(tǒng)為活動(dòng)狀態(tài)。通常情況下,原來的堆疊系統(tǒng)已經(jīng)運(yùn)行了相當(dāng)長(zhǎng)的時(shí)間,其控制平面和數(shù)據(jù)平面均已收斂,處于穩(wěn)定運(yùn)行狀態(tài),而新形成的堆疊系統(tǒng),其控制平面剛剛啟動(dòng),且數(shù)據(jù)平面需要重新進(jìn)行路由學(xué)習(xí)等過程才能收斂,所以新的堆疊系統(tǒng)要達(dá)到穩(wěn)定狀態(tài)有一個(gè)過程,需要經(jīng)歷一段時(shí)間。因此從網(wǎng)絡(luò)運(yùn)行角度來看,應(yīng)該保留原來的堆疊系統(tǒng)為活動(dòng)狀態(tài),而對(duì)新分裂出來的堆疊系統(tǒng)執(zhí)行amtdown,這樣更有利于網(wǎng)絡(luò)穩(wěn)定。但是現(xiàn)有實(shí)現(xiàn)中還未提供保留原堆疊系統(tǒng)為活動(dòng)狀態(tài)的實(shí)現(xiàn)方法,不能避免新形成的堆疊系統(tǒng)所需的收斂過程,網(wǎng)絡(luò)運(yùn)行不夠穩(wěn)定。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種多激活檢測(cè)方法和設(shè)備,在堆疊系統(tǒng)分裂時(shí),能夠避免新形成的堆疊系統(tǒng)所需的收斂過程,使網(wǎng)絡(luò)運(yùn)行更穩(wěn)定。為解決上述技術(shù)問題,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種多激活檢測(cè)方法,應(yīng)用于堆疊系統(tǒng)中,所述堆疊系統(tǒng)中的堆疊設(shè)備被選舉為主設(shè)備后,記錄自身的激活時(shí)間,并通過堆疊鏈路向所述堆疊系統(tǒng)中的從設(shè)備發(fā)送Active 消息;各所述從設(shè)備接收到Active消息后,記錄發(fā)送Active消息的主設(shè)備的激活時(shí)間,所述方法包括所述堆疊系統(tǒng)分裂后,本地主設(shè)備通過分裂檢測(cè)機(jī)制獲取其他主設(shè)備的 MasterID,利用獲取的MasterID在本地查找對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間,并將對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間與記錄的自身的激活時(shí)間進(jìn)行比較;若所述本地主設(shè)備判斷任一對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間大于記錄的自身的激活時(shí)間,則關(guān)閉本地主設(shè)備的業(yè)務(wù)端口和本地主設(shè)備所屬堆疊系統(tǒng)的其他設(shè)備的業(yè)務(wù)端口 ;若所述本地主設(shè)備判斷對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間均小于記錄的自身的激活時(shí)間,則維持本地主設(shè)備所屬堆疊系統(tǒng)正常工作。一種多激活檢測(cè)設(shè)備,應(yīng)用于堆疊系統(tǒng)中,所述設(shè)備包括所述設(shè)備包括記錄收發(fā)單元、獲取單元、查找單元和確定單元;所述記錄收發(fā)單元,用于當(dāng)自身所在設(shè)備選舉為主設(shè)備后,記錄自身所在設(shè)備的激活時(shí)間,并通過堆疊鏈路向從設(shè)備發(fā)送Active消息;當(dāng)自身所在設(shè)備為從設(shè)備時(shí),接收到自身所在設(shè)備所屬堆疊系統(tǒng)的主設(shè)備的Active消息后,記錄所述發(fā)送Active消息的主設(shè)備的激活時(shí)間;所述獲取單元,用于當(dāng)自身所在設(shè)備選舉為主設(shè)備時(shí),通過分裂檢測(cè)機(jī)制獲取其他主設(shè)備的設(shè)備標(biāo)識(shí)MasterID ;所述查找單元,用于利用所述獲取單元獲取的MasterID在本地查找對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間;所述確定單元,用于將所述查找單元查找的對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間與所述記錄收發(fā)單元記錄的自身所在設(shè)備的激活時(shí)間進(jìn)行比較,若判斷任一對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間大于記錄的自身所在設(shè)備的激活時(shí)間,則關(guān)閉自身所在設(shè)備的業(yè)務(wù)端口和自身所在設(shè)備所屬的堆疊系統(tǒng)的其他設(shè)備的業(yè)務(wù)端口 ;若判斷對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間均小于記錄的自身所在設(shè)備的激活時(shí)間,則維持自身所在設(shè)備所屬堆疊系統(tǒng)正常工作。綜上所述,本發(fā)明通過各堆疊系統(tǒng)中主設(shè)備記錄自身成為主設(shè)備的時(shí)間,并通過 Active消息通知自身所在堆疊系統(tǒng)中的從設(shè)備記錄自身成為主設(shè)備的時(shí)間,堆疊系統(tǒng)分裂時(shí),通過比較堆疊設(shè)備成為主設(shè)備的時(shí)間長(zhǎng)短維持原有堆疊系統(tǒng)的正常工作,關(guān)閉新形成的堆疊系統(tǒng)中的各設(shè)備的業(yè)務(wù)端口,避免了新形成的堆疊系統(tǒng)所需的收斂過程,使網(wǎng)絡(luò)運(yùn)行更穩(wěn)定。
圖1為典型的堆疊系統(tǒng)100的結(jié)構(gòu)示意圖2為堆疊系統(tǒng)100中鏈路斷開結(jié)構(gòu)示意圖;圖3為本發(fā)明實(shí)施例中多激活檢測(cè)方法流程圖;圖4為本發(fā)明具體實(shí)施例中多激活檢測(cè)方法流程圖;圖5為本發(fā)明具體實(shí)施例中多激活檢測(cè)設(shè)備結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明所述方案作進(jìn)一步地詳細(xì)說明。本發(fā)明提出一種多激活檢測(cè)方法,應(yīng)用于堆疊系統(tǒng)中,堆疊系統(tǒng)中的堆疊設(shè)備被選舉為主設(shè)備后,記錄自身的激活時(shí)間,并通過堆疊鏈路向堆疊系統(tǒng)中的從設(shè)備發(fā)送 Active消息;系統(tǒng)中各從設(shè)備接收到Active消息后,記錄發(fā)送Active消息的主設(shè)備的激活時(shí)間,接收到Active消息后,記錄發(fā)送Active消息的主設(shè)備的激活時(shí)間。當(dāng)堆疊系統(tǒng)分裂,形成新的堆疊系統(tǒng)時(shí),在新的堆疊系統(tǒng)中被選舉為主設(shè)備的堆疊設(shè)備,以及新形成的堆疊設(shè)備中的從設(shè)備也執(zhí)行如上操作。堆疊系統(tǒng)形成,堆疊系統(tǒng)中主設(shè)備選舉出時(shí),主設(shè)備記錄自身的激活時(shí)間為記錄自身成為主設(shè)備的時(shí)間,從設(shè)備記錄發(fā)來Active消息的設(shè)備成為主設(shè)備的時(shí)間。主設(shè)備的激活時(shí)間可以通過維護(hù)一個(gè)計(jì)時(shí)器來記錄實(shí)現(xiàn)。也可通過記錄設(shè)備成為主設(shè)備時(shí)間,再通過當(dāng)前時(shí)間與記錄的時(shí)間差值確定主設(shè)備的激活時(shí)間。參見圖3,圖3為本發(fā)明實(shí)施例中多激活檢測(cè)方法流程圖。具體步驟為步驟301,堆疊系統(tǒng)分裂后,本地主設(shè)備通過分裂檢測(cè)機(jī)制獲取其他主設(shè)備的設(shè)備標(biāo)識(shí) MasterID0本步驟中分裂檢測(cè)機(jī)制為鏈路聚合控制協(xié)議LACP,或雙向轉(zhuǎn)發(fā)檢測(cè)BFD協(xié)議。本發(fā)明中的MasterID為堆疊系統(tǒng)中主設(shè)備的ID,可以是整數(shù),也可以是MAC地址等唯一標(biāo)識(shí)一個(gè)設(shè)備的信息。步驟302,本地主設(shè)備利用獲取的MasterID在本地查找對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間,并將對(duì)應(yīng)的其他主設(shè)備的激活時(shí)間與記錄的自身的激活時(shí)間進(jìn)行比較。本步驟中利用獲取的MasterID在本地查找對(duì)應(yīng)的其他主設(shè)備的激活時(shí)間的方法為本地設(shè)備查找本地是否記錄獲取的MasterID對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間,如果是,則該記錄的激活時(shí)間為對(duì)應(yīng)的其他主設(shè)備的激活時(shí)間;否則,將0作為對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間。步驟303,若本地主設(shè)備判斷任一對(duì)應(yīng)的其他主設(shè)備的激活時(shí)間大于記錄的自身的激活時(shí)間,則關(guān)閉本地主設(shè)備的業(yè)務(wù)端口和本地主設(shè)備所屬堆疊系統(tǒng)的其他設(shè)備的業(yè)務(wù)端□。若本地主設(shè)備確定任一接收的所述MasterID所對(duì)應(yīng)的激活時(shí)間大于自身的 MasterID所對(duì)應(yīng)的激活時(shí)間,則關(guān)閉本設(shè)備的業(yè)務(wù)端口和本設(shè)備所屬的堆疊系統(tǒng)的其他設(shè)備的業(yè)務(wù)端口。堆疊系統(tǒng)發(fā)生分裂時(shí),可能分裂為多個(gè)堆疊系統(tǒng),本地主設(shè)備會(huì)檢測(cè)到多個(gè)不同 MasterlD。只要存在任一 MasterID所對(duì)應(yīng)的激活時(shí)間大于自身的MasterID所對(duì)應(yīng)的激活時(shí)間,則說明本設(shè)備所屬的堆疊系統(tǒng)是分裂后形成的,因此本設(shè)備所屬的堆疊系統(tǒng)的業(yè)務(wù)端口都應(yīng)關(guān)閉。步驟304,若本地主設(shè)備判斷對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間均小于記錄的自身的激活時(shí)間,則維持本地主設(shè)備所屬堆疊系統(tǒng)正常工作。當(dāng)本設(shè)備中記錄的自身的激活時(shí)間大于所有通過分裂機(jī)制獲取的MasterID對(duì)應(yīng)主設(shè)備的激活時(shí)間,則確定本設(shè)備所屬的堆疊系統(tǒng)是最早形成的,因此維持本設(shè)備所屬的堆疊系統(tǒng)正常工作。堆疊系統(tǒng)中堆疊鏈路斷開時(shí),可能分裂形成多個(gè)堆疊系統(tǒng),下面以分裂兩個(gè)堆疊系統(tǒng)為例,結(jié)合附圖,詳細(xì)說明本發(fā)明具體實(shí)施例中如何實(shí)現(xiàn)多激活檢測(cè)方法的。圖1中的堆疊設(shè)備101、堆疊設(shè)備102、堆疊設(shè)備103、和堆疊設(shè)備104的設(shè)備ID分別為1、2、3和4。堆疊系統(tǒng)形成時(shí),如圖1中的堆疊系統(tǒng)100形成時(shí),堆疊設(shè)備102經(jīng)過選舉成為Master設(shè)備時(shí),為自身維護(hù)一個(gè)計(jì)時(shí)器,記錄自身成為主設(shè)備的激活時(shí)間Masterf. ActiveUpTime。該計(jì)時(shí)器初始值為0,每單位時(shí)間加1。這里只是舉出的一種記錄時(shí)間的方式,可以根據(jù)具體應(yīng)用選擇記錄時(shí)間的方式堆疊設(shè)備102向堆疊設(shè)備101、堆疊設(shè)備103和堆疊設(shè)備104分別發(fā)送Active消息。堆疊設(shè)備101收到堆疊設(shè)備102發(fā)送的Active消息后,為堆疊設(shè)備102維護(hù)一個(gè)計(jì)時(shí)器,記錄堆疊設(shè)備102成為主設(shè)備的激活時(shí)間Master2. ActiveUpTime。該計(jì)時(shí)器初始值設(shè)為0,每單位時(shí)間加1。堆疊設(shè)備103和堆疊設(shè)備104的操作同堆疊設(shè)備101,這里不再詳細(xì)贅述。參見圖2,堆疊設(shè)備102和堆疊設(shè)備103之間的堆疊鏈路斷裂導(dǎo)致堆疊系統(tǒng)發(fā)生分裂,原堆疊系統(tǒng)100只剩下堆疊設(shè)備101和堆疊設(shè)備102,堆疊設(shè)備102仍然是堆疊系統(tǒng)100的Master設(shè)備。新形成的堆疊系統(tǒng)200包含堆疊設(shè)備103和堆疊設(shè)備104,假設(shè)堆疊設(shè)備103經(jīng)選舉成為堆疊系統(tǒng)200的Master設(shè)備,堆疊設(shè)備104是Slave設(shè)備, 這時(shí)堆疊設(shè)備103為其自身維護(hù)一個(gè)計(jì)時(shí)器,記錄自身成為主設(shè)備的激活時(shí)間Masterf. ActiveUpTime。堆疊設(shè)備103會(huì)向堆疊設(shè)備104發(fā)送Active消息,堆疊設(shè)備104接收到該消息后,會(huì)為堆疊設(shè)備103維護(hù)一個(gè)計(jì)時(shí)器,記錄堆疊設(shè)備103成為主設(shè)備的激活時(shí)間 Master3. ActiveUpTime。由于堆疊鏈路斷裂,堆疊設(shè)備101和堆疊設(shè)備102接收不到堆疊設(shè)備103發(fā)出的Active消息。分裂檢測(cè)機(jī)制檢測(cè)到多激活現(xiàn)象后,每個(gè)堆疊系統(tǒng)的Master設(shè)備會(huì)得知對(duì)方堆疊系統(tǒng)的Master設(shè)備的編號(hào)(MasterID)。其中,分裂檢測(cè)機(jī)制包括LACP協(xié)議、BFD協(xié)議寸。參見圖4,圖4為本發(fā)明具體實(shí)施例中多激活檢測(cè)方法流程圖。具體步驟為步驟401,本地主設(shè)備接收其他主設(shè)備發(fā)送的攜帶自身的MasterID的MAD報(bào)文。本步驟中接收MAD報(bào)文為分裂檢測(cè)機(jī)制具體應(yīng)用體現(xiàn)。步驟402,檢查本地是否存在接收的MasterID所對(duì)應(yīng)的ActiveUpTime ;如果是執(zhí)行步驟403,否則執(zhí)行步驟404。圖2中,如果堆疊系統(tǒng)100中的堆疊設(shè)備102接收到堆疊系統(tǒng)200中的堆疊設(shè)備 103發(fā)來的MAD報(bào)文,則堆疊設(shè)備102在本地查找是否存在堆疊設(shè)備103的MasterID所對(duì)應(yīng)的ActiveUpTime,即Masterf. ActiveUpTime,由圖2可知,堆疊設(shè)備103是系統(tǒng)分裂后形成的堆疊系統(tǒng)200中的主設(shè)備,并未向堆疊設(shè)備102發(fā)送Active消息,因此本地不存在 Master3. ActiveUpTime0如果堆疊系統(tǒng)200中的堆疊設(shè)備103接收到堆疊系統(tǒng)100中的堆疊設(shè)備102發(fā)來的MAD報(bào)文,則堆疊設(shè)備103在本地查找是否存在堆疊設(shè)備102的MasterID所對(duì)應(yīng)的 ActiveUpTime,即Master2. ActiveUpTime,由圖2可知,堆疊設(shè)備102是系統(tǒng)分裂前形成的堆疊系統(tǒng)100中的主設(shè)備,向堆疊設(shè)備103發(fā)送Active消息,因此本地存在Master2. ActiveUpTime0步驟403,本地主設(shè)備獲取接收的MasterID所對(duì)應(yīng)的ActiveUpTime。執(zhí)行步驟 405。步驟404,本地主設(shè)備將0作為接收的MasterID所對(duì)應(yīng)的ActiveUpTime。對(duì)于不存在對(duì)應(yīng)的ActiveUpTime時(shí),賦0值作為ActiveUpTime。步驟405,本地主設(shè)備獲取自身的MasterID所對(duì)應(yīng)的ActiveUpTime,并確定自身的MasterID所對(duì)應(yīng)的ActiveUpTime是否大于接收的MasterID所對(duì)應(yīng)的ActiveUpTime,如果是,執(zhí)行步驟406 ;否則,執(zhí)行步驟407。如果是堆疊設(shè)備102,則確定自身的MasterID所對(duì)應(yīng)的ActiveUpTime較大;如果是堆疊設(shè)備103,則確定堆疊設(shè)備102的MasterID所對(duì)應(yīng)的ActiveUpTime較大。因此分裂后的各堆疊系統(tǒng)中各主設(shè)備的確定結(jié)果是一致的。步驟406,維持本設(shè)備所屬的堆疊系統(tǒng)正常工作。本流程結(jié)束。由于堆疊系統(tǒng)100早于堆疊系統(tǒng)200的形成,因此最終結(jié)果是堆疊系統(tǒng)100維持正常工作。步驟407,關(guān)閉本設(shè)備的業(yè)務(wù)端口和本設(shè)備所屬的堆疊系統(tǒng)的其他設(shè)備的業(yè)務(wù)端由于堆疊系統(tǒng)200是分裂后才形成的,因此最終結(jié)果是堆疊系統(tǒng)200中的各堆疊設(shè)備業(yè)務(wù)端口關(guān)閉?;谕瑯拥陌l(fā)明構(gòu)思,本發(fā)明還提出一種多激活檢測(cè)設(shè)備,應(yīng)用于堆疊系統(tǒng)中。參見圖5,圖5為本發(fā)明具體實(shí)施例中多激活檢測(cè)設(shè)備結(jié)構(gòu)示意圖。該設(shè)備包括記錄收發(fā)單元501、獲取單元502、查找單元503和確定單元504。記錄收發(fā)單元501,用于當(dāng)自身所在設(shè)備選舉為主設(shè)備后,記錄自身所在設(shè)備的激活時(shí)間,并通過堆疊鏈路向從設(shè)備發(fā)送Active消息;當(dāng)自身所在設(shè)備為從設(shè)備時(shí),接收到自身所在設(shè)備所屬堆疊系統(tǒng)的主設(shè)備的Active消息后,記錄發(fā)送Active消息的主設(shè)備的激活時(shí)間。獲取單元502,用于當(dāng)自身所在設(shè)備選舉為主設(shè)備時(shí),通過分裂檢測(cè)機(jī)制獲取其他主設(shè)備的Master ID。查找單元503,用于利用獲取單元502獲取的MasterID在本地查找對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間。確定單元504,用于將查找單元503查找的對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間與記錄收發(fā)單元501記錄的自身所在設(shè)備的激活時(shí)間進(jìn)行比較,若判斷任一對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間大于記錄的自身所在設(shè)備的激活時(shí)間,則關(guān)閉自身所在設(shè)備的業(yè)務(wù)端口和自身所在設(shè)備所屬的堆疊系統(tǒng)的其他設(shè)備的業(yè)務(wù)端口 ;若判斷對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間均小于記錄的自身所在設(shè)備的激活時(shí)間,則維持自身所在設(shè)備所屬堆疊系統(tǒng)正常工作。較佳地,查找單元503,用于查找本地是否記錄獲取的MasterID對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間,如果是,則該記錄的激活時(shí)間為對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間;否則,將0 作為對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間。較佳地,所述分裂檢測(cè)機(jī)制為L(zhǎng)ACP或BFD協(xié)議。較佳地,記錄收發(fā)單元501,用于當(dāng)自身所在設(shè)備選舉為主設(shè)備后,在本地為自身所在設(shè)備維護(hù)一個(gè)計(jì)時(shí)器,記錄自身所在設(shè)備的激活時(shí)間;所述計(jì)時(shí)器初始值為0,隨著單位時(shí)間遞增。較佳地,記錄收發(fā)單元501,用于當(dāng)自身所在設(shè)備為從設(shè)備時(shí),接收到自身所在設(shè)備所屬堆疊系統(tǒng)的主設(shè)備的Active消息后,記錄該Active消息中主設(shè)備的MasterlD,并為所述主設(shè)備維護(hù)一個(gè)計(jì)時(shí)器,記錄該主設(shè)備的激活時(shí)間;所述計(jì)時(shí)器初始值為0,隨著單位時(shí)間遞增。上述實(shí)施例的單元可以集成于一體,也可以分離部署;可以合并為一個(gè)單元,也可以進(jìn)一步拆分成多個(gè)子單元。綜上所述,本發(fā)明具體實(shí)施例中通過各堆疊系統(tǒng)中主設(shè)備記錄自身成為主設(shè)備的時(shí)間,并通過Active消息通知自身所在堆疊系統(tǒng)中的從設(shè)備記錄自身成為主設(shè)備的時(shí)間, 堆疊系統(tǒng)分裂時(shí),通過設(shè)備成為主設(shè)備的時(shí)間維持原有堆疊系統(tǒng)的正常工作,關(guān)閉新形成的堆疊系統(tǒng)中的各設(shè)備的業(yè)務(wù)端口,避免了新形成的堆疊系統(tǒng)所需的收斂過程,使網(wǎng)絡(luò)運(yùn)行更穩(wěn)定。本發(fā)明的通用性好,無論使用哪種分裂檢測(cè)機(jī)制都適用,如LACP、BFD等。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種多激活檢測(cè)方法,應(yīng)用于堆疊系統(tǒng)中,其特征在于,所述堆疊系統(tǒng)中的堆疊設(shè)備被選舉為主設(shè)備后,記錄自身的激活時(shí)間,并通過堆疊鏈路向所述堆疊系統(tǒng)中的從設(shè)備發(fā)送Active消息;各所述從設(shè)備接收到Active消息后,記錄發(fā)送Active消息的主設(shè)備的激活時(shí)間,所述方法包括所述堆疊系統(tǒng)分裂后,本地主設(shè)備通過分裂檢測(cè)機(jī)制獲取其他主設(shè)備的設(shè)備標(biāo)識(shí) MasterID,利用獲取的MasterID在本地查找對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間,并將對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間與記錄的自身的激活時(shí)間進(jìn)行比較;若所述本地主設(shè)備判斷任一對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間大于記錄的自身的激活時(shí)間,則關(guān)閉本地主設(shè)備的業(yè)務(wù)端口和本地主設(shè)備所屬堆疊系統(tǒng)的其他設(shè)備的業(yè)務(wù)端口 ;若所述本地主設(shè)備判斷對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間均小于記錄的自身的激活時(shí)間,則維持本地主設(shè)備所屬堆疊系統(tǒng)正常工作。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用獲取的MasterID在本地查找對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間的方法為所述本地設(shè)備查找本地是否記錄獲取的MasterID對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間,如果是,則該記錄的激活時(shí)間為對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間;否則,將0作為對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述分裂檢測(cè)機(jī)制為鏈路聚合控制協(xié)議LACP或雙向轉(zhuǎn)發(fā)檢測(cè)BFD協(xié)議。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述堆疊系統(tǒng)中的堆疊設(shè)備被選舉為主設(shè)備后,記錄自身的激活時(shí)間的方法為被選舉為主設(shè)備的堆疊設(shè)備在本地為自身維護(hù)一個(gè)計(jì)時(shí)器,記錄自身成為主設(shè)備的激活時(shí)間;所述計(jì)時(shí)器初始值為0,隨著單位時(shí)間遞增。
5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述各從設(shè)備接收到Active消息后, 記錄發(fā)來Active消息的主設(shè)備的激活時(shí)間的方法為各從設(shè)備接收到Active消息后,記錄該Active消息中主設(shè)備的MasterID ;并為所述主設(shè)備維護(hù)一個(gè)計(jì)時(shí)器,記錄所述主設(shè)備的激活時(shí)間;所述計(jì)時(shí)器初始值為0,隨著單位時(shí)間遞增。
6.一種多激活檢測(cè)設(shè)備,應(yīng)用于堆疊系統(tǒng)中,其特征在于,所述設(shè)備包括記錄收發(fā)單元、獲取單元、查找單元和確定單元;所述記錄收發(fā)單元,用于當(dāng)自身所在設(shè)備選舉為主設(shè)備后,記錄自身所在設(shè)備的激活時(shí)間,并通過堆疊鏈路向從設(shè)備發(fā)送Active消息;當(dāng)自身所在設(shè)備為從設(shè)備時(shí),接收到自身所在設(shè)備所屬堆疊系統(tǒng)的主設(shè)備的Active消息后,記錄發(fā)送Active消息的主設(shè)備的激活時(shí)間;所述獲取單元,用于當(dāng)自身所在設(shè)備選舉為主設(shè)備時(shí),通過分裂檢測(cè)機(jī)制獲取其他主設(shè)備的設(shè)備標(biāo)識(shí)MasterID ;所述查找單元,用于利用所述獲取單元獲取的MasterID在本地查找對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間;所述確定單元,用于將所述查找單元查找的對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間與所述記錄收發(fā)單元記錄的自身所在設(shè)備的激活時(shí)間進(jìn)行比較,若判斷任一對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間大于記錄的自身所在設(shè)備的激活時(shí)間,則關(guān)閉自身所在設(shè)備的業(yè)務(wù)端口和自身所在設(shè)備所屬的堆疊系統(tǒng)的其他設(shè)備的業(yè)務(wù)端口 ;若判斷對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間均小于記錄的自身所在設(shè)備的激活時(shí)間,則維持自身所在設(shè)備所屬堆疊系統(tǒng)正常工作。
7.根據(jù)權(quán)利要求6所述的設(shè)備,其特征在于,所述查找單元,用于查找本地是否記錄獲取的MasterID對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間,如果是,則該記錄的激活時(shí)間為對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間;否則,將0作為對(duì)應(yīng)的所述其他主設(shè)備的激活時(shí)間。
8.根據(jù)權(quán)利要求6或7所述的設(shè)備,其特征在于,所述分裂檢測(cè)機(jī)制為鏈路聚合控制協(xié)議LACP或雙向轉(zhuǎn)發(fā)檢測(cè)BFD協(xié)議。
9.根據(jù)權(quán)利要求6或7所述的設(shè)備,其特征在于,所述記錄收發(fā)單元,用于當(dāng)自身所在設(shè)備選舉為主設(shè)備后,在本地為自身所在設(shè)備維護(hù)一個(gè)計(jì)時(shí)器,記錄自身所在設(shè)備的激活時(shí)間;所述計(jì)時(shí)器初始值為0,隨著單位時(shí)間遞增。
10.根據(jù)權(quán)利要求6或7所述的設(shè)備,其特征在于,所述記錄收發(fā)單元,用于當(dāng)自身所在設(shè)備為從設(shè)備時(shí),接收到自身所在設(shè)備所屬堆疊系統(tǒng)的主設(shè)備的Active消息后,記錄該Active消息中主設(shè)備的MasterlD,并為所述主設(shè)備維護(hù)一個(gè)計(jì)時(shí)器,記錄該主設(shè)備的激活時(shí)間;所述計(jì)時(shí)器初始值為0,隨著單位時(shí)間遞增。
全文摘要
本發(fā)明公開了一種多激活檢測(cè)方法,通過各堆疊系統(tǒng)中主設(shè)備記錄自身成為主設(shè)備的時(shí)間,并通過Active消息通知自身所在堆疊系統(tǒng)中的從設(shè)備記錄自身成為主設(shè)備的時(shí)間,堆疊系統(tǒng)分裂時(shí),通過設(shè)備成為主設(shè)備的時(shí)間維持原有堆疊系統(tǒng)的正常工作,關(guān)閉新形成的堆疊系統(tǒng)中的各設(shè)備的業(yè)務(wù)端口。基于同樣的發(fā)明構(gòu)思本發(fā)明還提出一種設(shè)備,避免了新形成的堆疊系統(tǒng)所需的收斂過程,使網(wǎng)絡(luò)運(yùn)行更穩(wěn)定。
文檔編號(hào)H04L12/26GK102404172SQ20111043208
公開日2012年4月4日 申請(qǐng)日期2011年12月21日 優(yōu)先權(quán)日2011年12月21日
發(fā)明者胡雅慶, 董琴 申請(qǐng)人:邁普通信技術(shù)股份有限公司