專利名稱:一種預(yù)測堆疊分裂的方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及堆疊技術(shù),特別涉及一種預(yù)測堆疊分裂的方法及設(shè)備。
背景技術(shù):
堆疊技術(shù)是一種將多臺通訊設(shè)備(例如交換機)的堆疊端口通過堆疊線纜連接起來,形成邏輯上的單臺設(shè)備的技術(shù)。管理員可以對整個堆疊設(shè)備進(jìn)行統(tǒng)一管理,從而大大簡化了網(wǎng)絡(luò)管理。堆疊技術(shù)采用1 N備份技術(shù),可以提供高可用性。用戶可以簡單地添加成員設(shè)備,持續(xù)增加網(wǎng)絡(luò)端口數(shù)和帶寬,因此,能有效地保證用戶的投資。主流通訊廠商都支持了堆疊技術(shù),Cisco的stackwise、VSS技術(shù),Juniper的 EX-SERIES堆疊系列,extreme的unistack技術(shù)等。H3C (杭州華三通信技術(shù)有限公司)的 IRFdntelligent Resilient Framework,智能彈性架構(gòu))堆疊技術(shù)提 供了一種更為完善的解決方案(請參考《IRF技術(shù)白皮書》獲取更多H3C IRF介紹)。在堆疊技術(shù)中,需要解決的一個重要問題是如何檢測到堆疊分裂,以及檢測到堆疊分裂后如何處理。各通訊廠商采用的技術(shù)通常需要額外的鏈路,以保證堆疊分裂后仍然可用,并通過這個鏈路檢測到分裂的成員設(shè)備,即進(jìn)行MAD沖突檢測(Multi-Active Detection,多活動檢測),根據(jù)一定的算法判斷并將成員設(shè)備D0WN(表示不再提供服務(wù),或者功能不可用; 例如人為引起的設(shè)備掉電、鏈路拔插,或者非人為的設(shè)備或鏈路故障),從而保證分裂后只有一套處于active狀態(tài)的成員設(shè)備(MAD沖突解除)。例如Cisco的PAgp、BFD技術(shù),H3C 的 LACP MAD、BFD MAD 技術(shù)等?,F(xiàn)有堆疊分裂檢測技術(shù)和堆疊分裂處理技術(shù)主要存在以下問題1)需要額外的鏈路,并在堆疊分裂后可用;2)分裂檢測需要較長時間,不夠及時。
發(fā)明內(nèi)容
本發(fā)明提供了一種預(yù)測堆疊分裂的方法及設(shè)備,避免對額外檢測鏈路的依賴,實現(xiàn)快速的堆疊分裂檢測。本發(fā)明提供的一種預(yù)測堆疊分裂的方法,應(yīng)用于堆疊設(shè)備中,包括在執(zhí)行可能引起堆疊分裂的操作之前,對所述操作執(zhí)行之后的拓?fù)溥M(jìn)行預(yù)測,得到預(yù)測拓?fù)洌慌袛囝A(yù)測拓?fù)涫欠翊嬖诙询B分裂,如果存在,基于預(yù)測拓?fù)?,使用多活動檢測 (MAD)技術(shù)對分裂雙方的狀態(tài)進(jìn)行預(yù)測,得到分裂雙方的預(yù)測狀態(tài);執(zhí)行所述操作;在檢測到堆疊分裂時,判斷預(yù)測拓?fù)渑c實際拓?fù)涫欠裣嗤?,如果相同,分裂雙方進(jìn)入相應(yīng)的預(yù)測狀態(tài)。本發(fā)明提供的一種預(yù)測堆疊分裂的設(shè)備,包括
拓?fù)漕A(yù)測模塊,用于在執(zhí)行可能引起堆疊分裂的操作之前對所述操作執(zhí)行之后的拓?fù)溥M(jìn)行預(yù)測,得到預(yù)測拓?fù)?,發(fā)送給狀態(tài)預(yù)測模塊;狀態(tài)預(yù)測模塊,用于根據(jù)接收自拓?fù)漕A(yù)測模塊的預(yù)測拓?fù)渑袛囝A(yù)測拓?fù)渲惺欠翊嬖诙询B分裂,在存在堆疊分裂時,用于基于預(yù)測拓?fù)?,使用多活動檢測(MAD)技術(shù)對分裂雙方的狀態(tài)進(jìn)行預(yù)測,得到分裂雙方的預(yù)測狀態(tài)。由上述技術(shù)方案可見,本發(fā)明提供的預(yù)測堆疊分裂的方法及設(shè)備,在可控操作行為下,避免了對額外MAD檢測鏈路的依賴,并且,在堆疊分裂后,能立即判斷出存在MAD沖突,并零延時地完成MAD沖突處理,從而,避免可對額外檢測鏈路的依賴,實現(xiàn)了快速的堆疊分裂檢測。
圖1為本發(fā)明一較佳預(yù)測堆疊分裂的方法的流程示意圖;圖2為本發(fā)明一較佳預(yù)測堆疊分裂的設(shè)備的組成結(jié)構(gòu)示意圖;圖3為本發(fā)明一較佳實施例中執(zhí)行操作前堆疊的組成示意圖;圖4為本發(fā)明一較佳實施例中預(yù)測堆疊分裂的方法的流程圖;圖5為本發(fā)明一較佳實施例中執(zhí)行操作后堆疊的組成示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明作進(jìn)一步詳細(xì)說明。為方面描述,本發(fā)明將堆疊分裂后不應(yīng)該繼續(xù)工作的一方稱為recovery設(shè)備(或稱進(jìn)入recovery狀態(tài)),分裂后需要繼續(xù)工作的一方稱為active設(shè)備(或稱保持在active 狀態(tài))。細(xì)致深入地分析堆疊分裂的原因,可以分為兩類一類是可控分裂行為,例如手動(通過CLI (命令行)或者M(jìn)IB操作)關(guān)閉堆疊端口,再例如重啟(reboot)成員設(shè)備導(dǎo)致剩余的堆疊成員分裂;另一類是不可控的分裂行為。不可控的分裂行為又可以繼續(xù)細(xì)分為堆疊鏈路故障、堆疊端口故障、堆疊板卡故障、成員設(shè)備故障、其它硬件故障(典型的例如轉(zhuǎn)發(fā)路徑故障)和電源故障。對可控分裂行為,在分裂發(fā)生前預(yù)測分裂影響,確定哪些設(shè)備進(jìn)入recovery狀態(tài),哪臺設(shè)備繼續(xù)保持在active狀態(tài),并將預(yù)測結(jié)果記錄到各成員設(shè)備,在發(fā)生堆疊分裂時,各成員設(shè)備根據(jù)預(yù)測結(jié)果確定自身是進(jìn)入recovery狀態(tài),還是保持在active狀態(tài)。本發(fā)明提出了一種預(yù)測堆疊分裂的方法,如圖1所示,該方法在可能引起堆疊分裂的可控操作開始時包括以下步驟步驟101 判斷當(dāng)前操作是否會引起堆疊拓?fù)浒l(fā)生變化,如果是,繼續(xù)執(zhí)行步驟 102,否則,執(zhí)行步驟107。步驟102 對操作執(zhí)行后的拓?fù)溥M(jìn)行預(yù)測,得到預(yù)測拓?fù)洹?步驟103 判斷預(yù)測拓?fù)涫欠翊嬖诙询B分裂,如果是,繼續(xù)執(zhí)行步驟104。步驟104 基于預(yù)測拓?fù)?,使用MAD沖突處理技術(shù)對分裂雙方的狀態(tài)進(jìn)行預(yù)測,得到分裂雙方的預(yù)測狀態(tài)。
步驟105 將預(yù)測拓?fù)浼捌湎鄳?yīng)的預(yù)測狀態(tài)作為預(yù)測結(jié)果通知各成員設(shè)備。步驟106 各成員設(shè)備保存預(yù)測拓?fù)浼捌湎鄳?yīng)的預(yù)測狀態(tài)。步驟107 執(zhí)行可控操作執(zhí)行操作后,將發(fā)生堆疊分裂,在各成員設(shè)備的拓?fù)渲匦路€(wěn)定時,執(zhí)行步驟108。步驟108 成員設(shè)備檢測到堆疊分裂。步驟109 判斷是否保存有預(yù)測拓?fù)浜皖A(yù)測狀態(tài),如果是,執(zhí)行步驟110,否則,執(zhí)行步驟112。步驟110 判斷預(yù)測拓?fù)渑c實際拓?fù)涫欠裣嗤?,如果相同,?zhí)行步驟111,否則,執(zhí)行步驟112。步驟111 進(jìn)入預(yù)測狀態(tài)。步驟112 使用現(xiàn)有技術(shù)進(jìn)行堆疊分裂處理。至此,結(jié)束本較佳方法。較佳地,本發(fā)明方法可以由active master (active設(shè)備)執(zhí)行,active master可以對各種操作執(zhí)行后的結(jié)果進(jìn)行預(yù)測,并將預(yù)測得到的預(yù)測拓?fù)浜皖A(yù)測狀態(tài)發(fā)送給各成員設(shè)備,從而,在執(zhí)行某操作之后,各成員設(shè)備能夠直接根據(jù)預(yù)測結(jié)果進(jìn)入相應(yīng)的狀態(tài),避免使用額外的檢測鏈路,并零延時地完成MAD沖突處理。對應(yīng)于上述方法,本發(fā)明提供了一種預(yù)測堆疊分裂的設(shè)備,如圖2所示,該設(shè)備包括拓?fù)漕A(yù)測模塊210,用于在執(zhí)行可能引起堆疊分裂的操作之前對該操作執(zhí)行之后的拓?fù)溥M(jìn)行預(yù)測,得到預(yù)測拓?fù)洌l(fā)送給狀態(tài)預(yù)測模塊220 ;狀態(tài)預(yù)測模塊220,用于根據(jù)接收自拓?fù)漕A(yù)測模塊210的預(yù)測拓?fù)渑袛囝A(yù)測拓?fù)渲惺欠翊嬖诙询B分裂,在存在堆疊分裂時,用于基于預(yù)測拓?fù)?,使用MAD技術(shù)對分裂雙方的狀態(tài)進(jìn)行預(yù)測,得到分裂雙方的預(yù)測狀態(tài)。較佳地,該設(shè)備中還可以進(jìn)一步包括收發(fā)模塊230和存儲模塊240 ;處于master角色的設(shè)備的收發(fā)模塊230,用于將預(yù)測拓?fù)浜皖A(yù)測狀態(tài)發(fā)送給該堆疊中的各成員設(shè)備;處于非master角色的設(shè)備的收發(fā)模塊,用于從處于master狀態(tài)的設(shè)備接收預(yù)測拓?fù)浜皖A(yù)測狀態(tài),并發(fā)送給存儲模塊240進(jìn)行保存。較佳地,該設(shè)備中還可以進(jìn)一步包括判斷模塊250,在檢測到堆疊分裂時,用于判斷存儲模塊240中是否保存有預(yù)測拓?fù)浜皖A(yù)測狀態(tài),在保存有預(yù)測拓?fù)浜皖A(yù)測狀態(tài)的情況下,判斷預(yù)測拓?fù)渑c實際拓?fù)涫欠裣嗤?,在相同的情況下,令所述設(shè)備進(jìn)入相應(yīng)的預(yù)測狀態(tài)。下面通過一個較佳實施例對本發(fā)明進(jìn)行詳細(xì)說明。假設(shè)執(zhí)行可能引起堆疊分裂的操作前堆疊的組成如圖3所示。圖3所示堆疊中,包含3個成員設(shè)備,分別為成員設(shè)備1、成員設(shè)備2和成員設(shè)備3。本實施例中,假設(shè)關(guān)閉成員設(shè)備1和成員設(shè)備2之間的物理鏈路。本實施例預(yù)測堆疊分裂的方法流程如圖4所示。 下面參見圖3進(jìn)行詳細(xì)說明。圖4左上部分示出的是操作前堆疊中各成員設(shè)備的編號、狀態(tài)及相互之間的連接關(guān)系。從圖中可以看出,操作前成員設(shè)備1 3均處于active狀態(tài)。
圖4右上部分示出的是對關(guān)閉成員設(shè)備1和2之間的物理鏈路之后的拓?fù)溥M(jìn)行預(yù)測的結(jié)果,以下稱為預(yù)測拓?fù)?。從圖中可以看出,關(guān)閉成員設(shè)備1和2之間的物理鏈路之后,成員設(shè)備1的左右端口均不與其他設(shè)備相連,成員設(shè)備2的右端口與成員設(shè)備3的左端口相連,因此,將得到兩個分裂的預(yù)測拓?fù)漕A(yù)測拓?fù)?和預(yù)測拓?fù)?。其中,預(yù)測拓?fù)?中包含成員設(shè)備1,預(yù)測拓?fù)?中包含成員設(shè)備2和3。由于存在兩個分裂的預(yù)測拓?fù)?,表明需要進(jìn)行MAD沖突處理技術(shù)進(jìn)行處理,可以使用現(xiàn)有的MAD沖突處理技術(shù)對預(yù)測拓?fù)溥M(jìn)行處理,預(yù)測分裂雙方的狀態(tài)。圖4下半部分示出的是對預(yù)測拓?fù)溥M(jìn)行MAD沖突處理后,各預(yù)測拓?fù)涞念A(yù)測狀態(tài)。從圖中可以看出,預(yù)測拓?fù)?將保持在active狀態(tài),而預(yù)測拓?fù)?將進(jìn)入recovery狀態(tài)。預(yù)測拓?fù)浼跋鄳?yīng)的預(yù)測狀態(tài)將作為預(yù)測結(jié)果保存到各成員設(shè)備(即成員設(shè)備 1 3)上。預(yù)測完成后,關(guān)閉成員設(shè)備1和2之間的物理鏈路,此時,堆疊分裂為兩個成員設(shè)備1形成單獨的一個堆疊,成員設(shè)備2和3形成另外的堆疊,如圖5所示。各成員設(shè)備都將實際拓?fù)渑c預(yù)測拓?fù)溥M(jìn)行比較,并發(fā)現(xiàn)兩者是一致的。此時成員設(shè)備1將使用預(yù)測的狀態(tài)(active),繼續(xù)保持在active狀態(tài);而成員設(shè)備2和3將根據(jù)預(yù)測的狀態(tài),使設(shè)備進(jìn)入recovery狀態(tài)。成員設(shè)備在使用了預(yù)測狀態(tài)后,或者預(yù)測狀態(tài)在一段預(yù)設(shè)的時間內(nèi)沒有被使用, 成員設(shè)備都將清除該預(yù)測狀態(tài)。由上述實施例可見,本發(fā)明提供的預(yù)測堆疊分裂的方法及設(shè)備,在可控操作行為下,避免了對額外MAD檢測鏈路的依賴,并且,在堆疊分裂后,能立即判斷出存在MAD沖突, 并零延時地完成MAD沖突處理,從而,避免可對額外檢測鏈路的依賴,實現(xiàn)了快速的堆疊分裂檢測。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。
權(quán)利要求
1.一種預(yù)測堆疊分裂的方法,其特征在于,應(yīng)用于堆疊設(shè)備中,包括在執(zhí)行可能引起堆疊分裂的操作之前,對所述操作執(zhí)行之后的拓?fù)溥M(jìn)行預(yù)測,得到預(yù)測拓?fù)洌慌袛囝A(yù)測拓?fù)涫欠翊嬖诙询B分裂,如果存在,基于預(yù)測拓?fù)?,使用多活動檢測(MAD)技術(shù)對分裂雙方的狀態(tài)進(jìn)行預(yù)測,得到分裂雙方的預(yù)測狀態(tài); 執(zhí)行所述操作;在檢測到堆疊分裂時,判斷預(yù)測拓?fù)渑c實際拓?fù)涫欠裣嗤?,如果相同,分裂雙方進(jìn)入相應(yīng)的預(yù)測狀態(tài)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在得到預(yù)測拓?fù)浜皖A(yù)測狀態(tài)后,進(jìn)一步包括將預(yù)測拓?fù)浜皖A(yù)測狀態(tài)發(fā)送給所述堆疊中的各成員設(shè)備,各成員設(shè)備保存所述預(yù)測拓?fù)浜皖A(yù)測狀態(tài)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在檢測到堆疊分裂時,進(jìn)一步包括成員設(shè)備判斷是否保存有預(yù)測拓?fù)浜皖A(yù)測狀態(tài),如果是,執(zhí)行所述判斷預(yù)測拓?fù)渑c實際拓?fù)涫欠裣嗤牟僮鳌?br>
4.根據(jù)權(quán)利要求1至3任一項所述的方法,其特征在于 所述預(yù)測狀態(tài)包括recovery狀態(tài)和active狀態(tài)。
5.一種預(yù)測堆疊分裂的設(shè)備,其特征在于,包括拓?fù)漕A(yù)測模塊,用于在執(zhí)行可能引起堆疊分裂的操作之前對所述操作執(zhí)行之后的拓?fù)溥M(jìn)行預(yù)測,得到預(yù)測拓?fù)洌l(fā)送給狀態(tài)預(yù)測模塊;狀態(tài)預(yù)測模塊,用于根據(jù)接收自拓?fù)漕A(yù)測模塊的預(yù)測拓?fù)渑袛囝A(yù)測拓?fù)渲惺欠翊嬖诙询B分裂,在存在堆疊分裂時,用于基于預(yù)測拓?fù)?,使用多活動檢測(MAD)技術(shù)對分裂雙方的狀態(tài)進(jìn)行預(yù)測,得到分裂雙方的預(yù)測狀態(tài)。
6.根據(jù)權(quán)利要求5所述的設(shè)備,其特征在于,該設(shè)備中進(jìn)一步包括收發(fā)模塊和存儲模塊;處于master角色的設(shè)備的收發(fā)模塊,用于將預(yù)測拓?fù)浜皖A(yù)測狀態(tài)發(fā)送給所述堆疊中的各成員設(shè)備;處于非master角色的設(shè)備的收發(fā)模塊,用于從處于master狀態(tài)的設(shè)備接收預(yù)測拓?fù)浜皖A(yù)測狀態(tài),并發(fā)送給存儲模塊進(jìn)行保存。
7.根據(jù)權(quán)利要求6所述的設(shè)備,其特征在于,該設(shè)備中進(jìn)一步包括判斷模塊,在檢測到堆疊分裂時,用于判斷存儲模塊中是否保存有預(yù)測拓?fù)浜皖A(yù)測狀態(tài),在保存有預(yù)測拓?fù)浜皖A(yù)測狀態(tài)的情況下,判斷預(yù)測拓?fù)渑c實際拓?fù)涫欠裣嗤?,在相同的情況下,令所述設(shè)備進(jìn)入相應(yīng)的預(yù)測狀態(tài)。
8.根據(jù)權(quán)利要求5至7任一項所述的方法,其特征在于 所述預(yù)測狀態(tài)包括recovery狀態(tài)和active狀態(tài)。
全文摘要
本發(fā)明提供了一種預(yù)測堆疊分裂的方法及設(shè)備,對可控分裂行為,在分裂發(fā)生前預(yù)測分裂影響,確定哪些設(shè)備進(jìn)入recovery狀態(tài),哪臺設(shè)備繼續(xù)保持在active狀態(tài),并將預(yù)測結(jié)果記錄到各成員設(shè)備,在發(fā)生堆疊分裂時,各成員設(shè)備根據(jù)預(yù)測結(jié)果確定自身應(yīng)當(dāng)進(jìn)入的狀態(tài)。應(yīng)用本發(fā)明能夠避免對額外檢測鏈路的依賴,實現(xiàn)快速的堆疊分裂檢測。
文檔編號H04L12/24GK102263678SQ20111024945
公開日2011年11月30日 申請日期2011年8月26日 優(yōu)先權(quán)日2011年8月26日
發(fā)明者胡小龍 申請人:杭州華三通信技術(shù)有限公司