專利名稱:一種雙引擎交換機設備及其引擎切換方法
技術領域:
本發(fā)明涉及網(wǎng)絡通信技術領域,尤其涉及一種雙引擎交換機設備及其引擎 切換技術。
背景技術:
一臺完整的雙引擎交換機設備包括兩塊引擎卡和若干業(yè)務卡(業(yè)務卡也可 以稱為線卡),引擎卡和業(yè)務卡均插在交換機設備機箱插槽的相應卡位上,每
塊引擎卡和業(yè)務卡均具有獨立的中央處理器(Central Processing Unit, CPU)。 兩塊引擎卡的硬、軟件結構完全一致,可以互為備份,其中一塊引擎卡作為主 引擎,負責整個交換機設備的配置管理和流量控制;另一塊引擎卡作為備份引 擎, 一方面與主引擎共同承擔交換機設備的數(shù)據(jù)轉(zhuǎn)發(fā)流量,另一方面作為主引 擎出現(xiàn)故障時的備份,在主引擎不能正常工作時迅速同步整個交換機設備的配 置信息,并且控制數(shù)據(jù)流按照新的通路轉(zhuǎn)發(fā)。如圖la所示,為雙引擎交換機 設備中兩塊引擎卡均正常工作時的數(shù)據(jù)流轉(zhuǎn)發(fā)通路示意圖。 一般將雙引擎分別 組成的兩條數(shù)據(jù)流轉(zhuǎn)發(fā)通路配置為聚合端口 (Aggregate Port, AP)連接以平 衡流量并提高帶寬,該配置方式可以充分利用主備引擎從而提高數(shù)據(jù)轉(zhuǎn)發(fā)效 率。將多個物理端口配置"捆綁"成一個筒單的邏輯端口,該邏輯端口即可稱 為AP, 一個AP從應用角度可以看作一個獨立的物理端口,實際帶寬是AP包 括的所有物理端口的帶寬總和。從圖la可以看出,在雙引擎正常工作時,業(yè) 務卡A與引擎卡CM1、 CM2相連的交換端口 hgl、 hg2配置為AP,業(yè)務卡B 與引擎卡CM1、 CM2相連的交換端口 hg7、 hg8同樣配置為AP,業(yè)務卡A與 業(yè)務卡B之間的數(shù)據(jù)流可以同時在兩條通路即hgl<->hg3<->hg5<->hg7和 hg2<->hg4<->hg6<->hg8上進行轉(zhuǎn)發(fā)。如圖lb所示,為圖la所示的雙引擎交換機設備中引擎卡CM1出現(xiàn)故障時的數(shù)據(jù)流轉(zhuǎn)發(fā)通路示意圖。從圖lb可以看 出,引擎卡CM1出現(xiàn)故障后,hgK-〉hg3ohg5ohg7的通路中斷,業(yè)務卡A、 業(yè)務卡B需要刪除AP配置,同時配置本業(yè)務卡的數(shù)據(jù)流僅向交換端口 hg2、 hg8轉(zhuǎn)發(fā)。此時,如果沒有及時更改配置或者配置不當,造成業(yè)務卡A、業(yè)務 卡B的數(shù)據(jù)流仍然向交換端口 hgl、 hg7轉(zhuǎn)發(fā),則會丟失數(shù)據(jù)。
現(xiàn)有技術中提供了一種雙引擎交換機設備的引擎切換解決方案,業(yè)務卡端 通過專門的檢測任務周期性檢測本業(yè)務卡與所有引擎卡相連的交換端口的狀 態(tài),當檢測到某個交換端口的狀態(tài)發(fā)生變化時,根據(jù)變化后的狀態(tài)對本業(yè)務卡 的AP配置和數(shù)據(jù)流轉(zhuǎn)發(fā)通路進行調(diào)整。交換端口的狀態(tài)包括連接(LINKUP ) 和斷開(LINKDOWN),如果引擎卡被插入,則與該引擎卡相連的業(yè)務卡的交 換端口從LINKDOWN變?yōu)長INKUP,如果引擎卡出現(xiàn)故障或者被人為拔出, 則與該引擎卡相連的業(yè)務卡的交換端口從LINKUP變?yōu)長INKDOWN。請參見 圖la和圖lb,引擎卡CM1出現(xiàn)故障后,與引擎卡CM1相連的業(yè)務卡A、業(yè) 務卡B的交換端口 hgl 、 hg7由LINKUP變?yōu)長INKDOWN。
在雙引擎交換機設備工作過程中,如果其中一塊引擎卡出現(xiàn)故障或者被人 為拔出,業(yè)務卡端的檢測任務會檢測出本業(yè)務卡與該引擎卡相連的交換端口從 LINKUP變?yōu)長INKDOWN,從而通知本業(yè)務卡的處理進程將數(shù)據(jù)流轉(zhuǎn)發(fā)通道 根據(jù)變化后的狀態(tài)進行調(diào)整,保證雙引擎交換機設備在一塊引擎卡出現(xiàn)故障或 者被人為拔出后,另一塊引擎卡在不斷電的條件下,代替該出現(xiàn)故障或者被人 為拔出的引擎卡進行數(shù)據(jù)流的轉(zhuǎn)發(fā)。
現(xiàn)有解決方案存在雙引擎交換機設備對引擎切換的響應速度較慢的問題, 無法滿足實時性要求較高的應用場景。仍以上述引擎卡CM1出現(xiàn)故障為例進 行說明,在周期為1秒的檢測任務中,從引擎卡CM1的狀態(tài)發(fā)生變化(從正 常工作到出現(xiàn)故障)到業(yè)務卡端檢測到該變化并作出響應, 一般需要數(shù)百毫秒 的時間。在該過程中,跨業(yè)務卡的數(shù)據(jù)流仍然按照狀態(tài)變化前的通路轉(zhuǎn)發(fā)到引 擎卡CM1,而此時引擎卡CM1已經(jīng)出現(xiàn)故障導致失效,會造成短暫的數(shù)據(jù)流不通,即出現(xiàn)"斷流"現(xiàn)象。如果縮短檢測任務的周期,可以在一定程度上縮 短響應時間,但是同時會增加系統(tǒng)負載。如果雙引擎交換機設備中包括多塊在 線業(yè)務卡(即插在卡位上正常工作的業(yè)務卡),各業(yè)務卡檢測與引擎卡相連的 交換端口的狀態(tài)所用時間并不完全一致,假設其中一塊業(yè)務卡檢測并處理完 畢,而另一塊業(yè)務卡尚未處理完畢,則該兩塊業(yè)務卡之間轉(zhuǎn)發(fā)的數(shù)據(jù)流仍有可 能丟失,在一定程度上進一步降低了雙引擎交換機設備對引擎切換的響應速 度。
發(fā)明內(nèi)容
本發(fā)明提供一種雙引擎交換機設備及其引擎切換方法,用以解決雙引擎交 換機設備對引擎切換的響應速度較慢的問題。
本發(fā)明提供一種雙引擎交換機設備,包括第一引擎卡、第二引擎卡和若干
業(yè)務卡,兩塊引擎卡通過背面板相連,其中
所述第一引擎卡,用于監(jiān)控第二引擎卡的狀態(tài),并在第二引擎卡的狀態(tài)發(fā) 生變化時,向各業(yè)務卡發(fā)送指示第二引擎卡狀態(tài)變化的消息通告;
所述業(yè)務卡,用于接收所述消息通告,根據(jù)第二引擎卡的狀態(tài)變化對本業(yè) 務卡的交換端口進行配置。
相應的,本發(fā)明提供一種上述雙引擎交換機設備的引擎切換方法,包括
雙引擎交換機設備的每一塊引擎卡監(jiān)控另 一引擎卡的狀態(tài),并在另一引擎 卡的狀態(tài)發(fā)生變化時,向各業(yè)務卡發(fā)送指示另一引擎卡狀態(tài)變化的消息通告;
接收到所述消息通告的業(yè)務卡,根據(jù)另一引擎卡的狀態(tài)變化對本業(yè)務卡的 交換端口進行配置。
本發(fā)明提供的雙引擎交換機設備及其引擎切換方法,雙引擎交換機設備的 每一塊引擎卡監(jiān)控另一引擎卡的狀態(tài),并在另一引擎卡的狀態(tài)發(fā)生變化時向各 業(yè)務卡發(fā)送消息通告;接收到消息通告的業(yè)務卡根據(jù)另一引擎卡的狀態(tài)變化對 本業(yè)務卡的交換端口進行配置。本發(fā)明針對引擎切換過程中引擎卡的狀態(tài)變化,通過引擎卡端主動通告機制實現(xiàn)業(yè)務卡對數(shù)據(jù)流轉(zhuǎn)發(fā)通路的切換,信號處
理過程相比任務檢測或者"心跳"機制耗時大大縮短;引擎卡端主動向業(yè)務卡 發(fā)送消息通告,可以保證所有在線業(yè)務卡同時完成數(shù)據(jù)流轉(zhuǎn)發(fā)通路的切換并立 即進入正常的數(shù)據(jù)流轉(zhuǎn)發(fā)狀態(tài),進一步減少了引擎切換過程中業(yè)務卡之間不同 步造成的斷流時間;本發(fā)明有效解決了雙引擎交換機設備對引擎切換的響應速 度較慢的問題,減少了雙引擎交換機設備在引擎切換過程中的斷流時間,提高 了雙引擎交換機設備在引擎故障時的穩(wěn)定性。
圖la為現(xiàn)有技術中雙引擎交換機設備中兩塊引擎卡均正常工作時的數(shù)據(jù)
流轉(zhuǎn)發(fā)通路示意圖lb為圖la所示的雙引擎交換機設備中引擎卡CM1出現(xiàn)故障后的數(shù)據(jù)
流轉(zhuǎn)發(fā)通路示意圖2為本發(fā)明實施例中雙引擎交換機設備結構框圖3為本發(fā)明實施例中雙引擎交換機設備的內(nèi)部結構和功能示意圖4為本發(fā)明實施例中引擎卡端的背面板插接件管腳與邏輯電路的電路結
構示意圖5為本發(fā)明實施例中雙引擎交換機設備的引擎切換方法流程圖; 圖6為本發(fā)明實施例中 一種具體應用場景的引擎切換方法流程圖; 圖7為本發(fā)明實施例中另 一種具體應用場景的引擎切換方法流程圖。
具體實施例方式
本發(fā)明實施例提供一種雙引擎交換機設備,針對引擎切換過程中引擎卡的 狀態(tài)變化,通過引擎卡端主動通告機制實現(xiàn)業(yè)務卡對數(shù)據(jù)流轉(zhuǎn)發(fā)通路的切換, 從而有效解決了雙引擎交換機設備對引擎切換的響應速度較慢的問題,減少了 雙引擎交換機設備在引擎切換過程中的斷流時間,提高了雙引擎交換機設備在引擎故障時的穩(wěn)定性。其中,引擎卡端主動通告才幾制通過調(diào)整引擎卡端的背面 板插接件管腳與邏輯電路的電路結構,以及修改引擎卡端和業(yè)務卡端的軟件處 理流程即可實現(xiàn)。
如圖2所示,本發(fā)明實施例提供一種雙引擎交換機設備,包括第一引擎卡
200、第二引擎卡201和若干業(yè)務卡202,兩塊引擎卡通過背面玲反相連,其中
第一引擎卡200,用于監(jiān)控第二引擎卡201的狀態(tài),并在第二引擎卡201 的狀態(tài)發(fā)生變化時,向各業(yè)務卡202發(fā)送指示第二引擎卡狀態(tài)變化的消息通告;
業(yè)務卡202,用于接收該消息通告,根據(jù)第二引擎卡201的狀態(tài)變化對本 業(yè)務卡的交換端口進行配置。
需要指出的是,雙引擎交換機設備的兩塊引擎卡的軟、硬件結構完全一致, 可以互相監(jiān)控并互為備份,本發(fā)明實施例中只是為了描述方便對兩塊引擎卡分 別命名,任一引擎卡均可看作第一引擎卡。
首先對引擎卡的狀態(tài)進行說明。 一塊引擎卡包括兩種狀態(tài)即插入狀態(tài)和拔 出狀態(tài),如果引擎卡插在交換機設備機箱插槽的相應卡位上且正常工作,則該 引擎卡為"插入狀態(tài),,;如果引擎卡出現(xiàn)故障或者被人為拔出,則該引擎卡為 "拔出狀態(tài)"。
對于任意一塊引擎卡,具備如下功能當前引擎卡在另一引擎卡從插入狀 態(tài)變?yōu)榘纬鰻顟B(tài)時,向各業(yè)務卡發(fā)送第一消息通告,指示另一引擎卡的狀態(tài)變 為拔出狀態(tài);當前引擎卡在另一引擎卡從拔出狀態(tài)變?yōu)椴迦霠顟B(tài)時,向各業(yè)務 卡發(fā)送第二消息通告,指示另一引擎卡的狀態(tài)變?yōu)椴迦霠顟B(tài)。
相應的,對于任意一塊業(yè)務卡,具備如下功能業(yè)務卡在接收到當前引擎 卡發(fā)送的第一消息通告時,根據(jù)另一引擎卡的狀態(tài)變?yōu)榘纬鰻顟B(tài),刪除AP配 置,并重新配置本業(yè)務卡的數(shù)據(jù)流轉(zhuǎn)發(fā)到與當前引擎卡相連的交換端口上;業(yè) 務卡在接收到當前引擎卡發(fā)送的第二消息通告時,根據(jù)另一引擎卡的狀態(tài)變?yōu)?插入狀態(tài),創(chuàng)建AP,并重新配置本業(yè)務卡的數(shù)據(jù)流轉(zhuǎn)發(fā)到創(chuàng)建的AP上。
下面,對雙引擎交換機設備中引擎卡和業(yè)務卡的內(nèi)部結構及功能進行詳細介紹。如圖3所示,假設雙引擎交換機設備包括兩塊引擎卡CM1、 CM2和一 塊業(yè)務卡A,引擎卡CM1和CM2的硬、軟件結構完全一致,可以互相監(jiān)控并 互為備份。雙引擎交換機設備的引擎卡CM1和CM2中與引擎切換相關的功能 器件包括背面板插接件301、可編程邏輯器件(CPLD)302、中央處理器(CPU) 303和以太網(wǎng)芯片304;雙引擎交換機設備的業(yè)務卡中與引擎切換相關的功能 器件包括以太網(wǎng)芯片305、中央處理器(CPU) 306和交換芯片307,交換芯片 307上具有用于連接引擎卡的交換端口 308。為了便于區(qū)分,將引擎卡CM1和 CM2的CPU 3 03稱為第一 CPU 3 03,以太網(wǎng)芯片3 04稱為第 一 以太網(wǎng)芯片304 , 將業(yè)務卡A的CPU 306稱為第二CPU 306,以太網(wǎng)芯片306稱為第二以太網(wǎng) 芯片306。兩塊引擎卡CM1和CM2的背面板插接件301通過背面板相連。對 于任意一塊引擎卡來說,其CPLD 302通過邏輯電路與背面板插接件301相連, 以及通過本地總線與第一CPU303相連,其CPLD302相連的邏輯電路,在另 一引擎卡的狀態(tài)發(fā)生變化時,其電位發(fā)生變化。其中
CPLD302,用于根據(jù)與其相連的邏輯電路的電位變化記錄狀態(tài)位,并觸發(fā) 生成在位(present)信號發(fā)送給第一 CPU 303;
第一CPU303,用于根據(jù)接收到的present信號檢測CPLD 302的狀態(tài)位, 根據(jù)檢測出的狀態(tài)位確定另一引擎卡的當前狀態(tài),并通過第一以太網(wǎng)芯片304 向各業(yè)務卡發(fā)送指示另一引擎卡狀態(tài)變化的消息通告;
第二以太網(wǎng)芯片305,用于接收該消息通告,并發(fā)送給第二CPU306;
第二CPU306,用于在接收到第二以太網(wǎng)芯片305發(fā)送的消息通告時,根 據(jù)另一引擎卡的狀態(tài)變化,對本業(yè)務卡交換芯片307上的交換端口 308進行配 置。
第二 CPU 306根據(jù)軟件指令執(zhí)行處理過程所涉及的功能模塊包括觸發(fā)模 塊和配置模塊,其中
觸發(fā)模塊,用于在接收到第二以太網(wǎng)芯片發(fā)送的消息通告時,觸發(fā)配置模
塊;配置模塊,用于根據(jù)另一引擎卡的狀態(tài)變化,對本業(yè)務卡交換芯片上的交 換端口進行配置。
為了實現(xiàn)"引擎卡的CPLD相連的邏輯電路,在另一引擎卡的狀態(tài)發(fā)生變
化時,其電位發(fā)生變化",本發(fā)明實施例中,需要預先調(diào)整引擎卡端的背面板
插接件管腳與邏輯電路的電路結構,其中一種較佳電路結構如圖4所示,采用 該電路結構,可以保證引擎卡的CPLD相連的邏輯電路,在另一引擎卡從插入 狀態(tài)變?yōu)榘纬鰻顟B(tài)時,其電位被拉高,在另一引擎卡從拔出狀態(tài)變?yōu)椴迦霠顟B(tài) 時,其電位被拉低。其電路原理如下
假設引擎卡CM 1為插入狀態(tài),如果引擎卡CM2從插入狀態(tài)變?yōu)榘纬鰻顟B(tài), 則背面板插接件之間的線路斷開,管腳A1懸空,由于電阻R1接高電位,所 以此時CPLD輸入高電位,記錄狀態(tài)位為高;
如果引擎卡CM2從拔出狀態(tài)變?yōu)椴迦霠顟B(tài),則背面板插接件之間的線路 將引擎卡CM1的管腳Al與引擎卡CM2的管腳B2相連,由于B2內(nèi)部接地, 所以引擎卡CM1的CPLD的輸入電壓的計算方法為高電位xRi/(Ri+R2), 通過合理設置電阻R1、 R2的阻值即可保證CPLD輸入低電位,記錄狀態(tài)位為 低。
可見,通過引擎卡CM1的CPLD檢測自身狀態(tài)位即可確定引擎卡CM2的 當前狀態(tài),反之亦然。
基于上述電路結構,結合說明書附圖3進行說明。在兩塊引擎卡CM1和 CM2均正常工作即為插入狀態(tài)的前提下,與其CPLD相連的邏輯電路電位為 低。如果其中一塊引擎卡(假設CM1)出現(xiàn)故障或者被人為拔出即從插入狀態(tài) 變?yōu)榘纬鰻顟B(tài),則另一塊引擎卡即CM2的CPLD相連的邏輯電路電位被拉高; 引擎卡CM2的CPLD根據(jù)與其相連的邏輯電路的電位被拉高,記錄狀態(tài)位為 高,并觸發(fā)生成present信號發(fā)送給引擎卡CM2的CPU;引擎卡CM2的CPU 接收到present信號之后,檢測本引擎卡的CPLD的狀態(tài)位,根據(jù)檢測出的狀 態(tài)位為高確定另一引擎卡的當前狀態(tài)為拔出狀態(tài),也可以說當前事件是拔出事件;引擎卡CM2的CPU通過本引擎卡的以太網(wǎng)芯片,經(jīng)由帶外以態(tài)口通路向 業(yè)務卡A的以太網(wǎng)芯片發(fā)送指示引擎卡CM2的狀態(tài)變?yōu)榘纬鰻顟B(tài)的第一消息 通告;業(yè)務卡A的以太網(wǎng)芯片將該第一消息通告發(fā)送給業(yè)務卡A的CPU;業(yè) 務卡A的CPU收到該第一消息通告后,對本業(yè)務卡交換芯片上與引擎卡相連 的交換端口進行配置,具體的操作為刪除AP配置,并重新配置本業(yè)務卡的數(shù) 據(jù)流轉(zhuǎn)發(fā)到與引擎卡CM1相連的交換端口上。后續(xù),如果引擎卡CMl的故障 被排除或者被人為插入即從拔出狀態(tài)變?yōu)椴迦霠顟B(tài),則另一塊引擎卡即CM2 的CPLD相連的邏輯電路電位被拉低;引擎卡CM2的CPLD根據(jù)與其相連的 邏輯電路的電位被拉低,記錄狀態(tài)位為低,并觸發(fā)生成present信號發(fā)送給引 擎卡CM2的CPU;引擎卡CM2的CPU接收到present信號之后,檢測本引擎 卡的CPLD的狀態(tài)位,根據(jù)檢測出的狀態(tài)位為低確定另 一引擎卡的當前狀態(tài)為 插入狀態(tài),也可以說當前事件是插入事件;引擎卡CM2的CPU通過本引擎卡 的以太網(wǎng)芯片,經(jīng)由帶外以態(tài)口通路向業(yè)務卡A的以太網(wǎng)芯片發(fā)送指示引擎卡 CM2的狀態(tài)變?yōu)椴迦霠顟B(tài)的第二消息通告;業(yè)務卡A的以太網(wǎng)芯片將該第二 消息通告發(fā)送給業(yè)務卡A的CPU;業(yè)務卡A的CPU收到該第二消息通告后, 對本業(yè)務卡交換芯片上與引擎卡相連的交換端口進行配置,具體的操作為創(chuàng)建 AP,并重新配置本業(yè)務卡的數(shù)據(jù)流轉(zhuǎn)發(fā)到創(chuàng)建的AP上。
本發(fā)明實施例同時提供一種上述雙引擎交換機設備的引擎切換方法,如圖 5所示,包括
5501、 雙引擎交換機設備的每一塊引擎卡監(jiān)控另一引擎卡的狀態(tài),并在另 一引擎卡的狀態(tài)發(fā)生變化時,向各業(yè)務卡發(fā)送指示另一引擎卡狀態(tài)變化的消息 通告;
5502、 接收到該消息通告的業(yè)務卡,4艮據(jù)另一引擎卡的狀態(tài)變化對本業(yè)務 卡的交換端口進行配置。
其中,引擎卡的狀態(tài)包括插入狀態(tài)和拔出狀態(tài),當前引擎卡在另一引擎卡 從插入狀態(tài)變?yōu)榘纬鰻顟B(tài)時,向各業(yè)務卡發(fā)送第一消息通告,指示另一引擎卡的狀態(tài)變?yōu)榘纬鰻顟B(tài);接收到第一消息通告的業(yè)務卡,根據(jù)另一引擎卡的狀態(tài) 變?yōu)榘纬鰻顟B(tài),刪除AP配置,并重新配置本業(yè)務卡的數(shù)據(jù)流轉(zhuǎn)發(fā)到與當前引 擎卡相連的交換端口上;
或者,當前引擎卡在另一引擎卡從拔出狀態(tài)變?yōu)椴迦霠顟B(tài)時,向各業(yè)務卡 發(fā)送第二消息通告,指示另一引擎卡的狀態(tài)變?yōu)椴迦霠顟B(tài);接收到第二消息通 告的業(yè)務卡,4艮據(jù)另一引擎卡的狀態(tài)變?yōu)椴迦霠顟B(tài),創(chuàng)建AP,并重新配置本 業(yè)務卡的數(shù)據(jù)流轉(zhuǎn)發(fā)到創(chuàng)建的AP上。
下面,將基于上述雙引擎交換機設備中引擎卡和業(yè)務卡的內(nèi)部結構及功 能,結合具體應用場景對引擎切換方法進行介紹。
其中 一個具體應用場景為雙引擎交換機設備的主引擎出現(xiàn)故障,即主引擎 從插入狀態(tài)變?yōu)榘纬鰻顟B(tài),備份引擎的CPLD相連的邏輯電路,在主引擎從插 入狀態(tài)變?yōu)榘纬鰻顟B(tài)時,其電位^皮^t立高,則如圖6所示,引擎切換流程包括如 下步驟
5601、 備份引擎的CPLD根據(jù)與其相連的邏輯電路的電位被拉高,記錄狀 態(tài)位為高;
5602、 備份引擎的CPLD觸發(fā)生成present信號發(fā)送給備份引擎的CPU;
5603、 備份引擎的CPU根據(jù)接收到的present信號檢測CPLD的狀態(tài)位, 根據(jù)檢測出的狀態(tài)位為高,確定主引擎的當前狀態(tài)為拔出狀態(tài);
5604、 備份引擎的CPU通過以太網(wǎng)芯片向各業(yè)務卡發(fā)送第一消息通告, 指示主引擎卡變?yōu)榘纬鰻顟B(tài),第一消息通告在引擎卡與業(yè)務卡之間的帶外以太 口通路上發(fā)送,將被發(fā)送到各業(yè)務卡的以太網(wǎng)芯片上;
5605、 各業(yè)務卡的以太網(wǎng)芯片接收該第一消息通告,并發(fā)送給本業(yè)務卡的 CPU;
5606、 各業(yè)務卡的CPU在接收到第一消息通告時,根據(jù)主引擎的狀態(tài)變 為拔出狀態(tài),刪除AP配置,并重新配置本業(yè)務卡的數(shù)據(jù)流轉(zhuǎn)發(fā)到與當前引擎 卡相連的交換端口上。另 一個具體應用場景為雙引擎交換機設備的主《I擎故障排除,即主引擎從
插入狀態(tài)變?yōu)榘纬鰻顟B(tài),備份引擎的CPLD相連的邏輯電路,在主引擎從拔出 狀態(tài)變?yōu)椴迦霠顟B(tài)時,其電位被拉低,則如圖7所示,引擎切換流程包括如下 步驟
5701、 備份引擎的CPLD根據(jù)與其相連的邏輯電路的電位被拉低,記錄狀 態(tài)位為{氐;
5702、 備份引擎的CPLD觸發(fā)生成present信號發(fā)送給備份引擎的CPU;
5703、 備份引擎的CPU根據(jù)接收到的present信號檢測CPLD的狀態(tài)位, 根據(jù)檢測出的狀態(tài)位為低,確定主引擎的當前狀態(tài)為插入狀態(tài);
5704、 備份引擎的CPU通過以太網(wǎng)芯片向各業(yè)務卡發(fā)送第二消息通告, 指示主引擎變?yōu)椴迦霠顟B(tài),第二消息通告在引擎卡與業(yè)務卡之間的帶外以太口 通路上發(fā)送,將被發(fā)送到各業(yè)務卡的以太網(wǎng)芯片上;
5705、 各業(yè)務卡的以太網(wǎng)芯片接收該第二消息通告,并發(fā)送給本業(yè)務卡的 CPU;
5706、 各業(yè)務卡的CPU在接收到第二消息通告時,根據(jù)主引擎的狀態(tài)變 為插入狀態(tài),創(chuàng)建AP配置,并重新配置本業(yè)務卡的數(shù)據(jù)流轉(zhuǎn)發(fā)到創(chuàng)建的AP 上。
本發(fā)明實施例提供的雙引擎交換機設備及其引擎切換方法,由引擎卡自身 的邏輯電路和CPLD檢測出另一塊引擎卡的狀態(tài)發(fā)生變化后,向自身的CPU 發(fā)送present信號,信號處理過程相比任務檢測或者"心跳,,機制耗時大大縮 短;引擎卡端主動向在線業(yè)務卡發(fā)送消息通告,可以保證所有在線業(yè)務卡同時 完成數(shù)據(jù)流轉(zhuǎn)發(fā)通路的切換并立即進入正常的數(shù)據(jù)流轉(zhuǎn)發(fā)狀態(tài),進一步減少了 引擎切換過程中業(yè)務卡之間不同步造成的斷流時間;本方案有效解決了雙引擎 交換機設備對引擎切換的響應速度較慢的問題,減少了雙引擎交換機設備在引 擎切換過程中的斷流時間,提高了雙引擎交換機設備在引擎故障時的穩(wěn)定性。 同時,本方案只需在現(xiàn)有雙引擎交換機設備的硬件結構基礎上稍作修改即可實現(xiàn),不需要新增硬件,簡單方便。
顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā) 明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及 其等同技術的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
1權利要求
1、一種雙引擎交換機設備,包括第一引擎卡、第二引擎卡和若干業(yè)務卡,兩塊引擎卡通過背面板相連,其特征在于,其中所述第一引擎卡,用于監(jiān)控第二引擎卡的狀態(tài),并在第二引擎卡的狀態(tài)發(fā)生變化時,向各業(yè)務卡發(fā)送指示第二引擎卡狀態(tài)變化的消息通告;所述業(yè)務卡,用于接收所述消息通告,根據(jù)第二引擎卡的狀態(tài)變化對本業(yè)務卡的交換端口進行配置。
2、 如權利要求1所述的設備,其特征在于,引擎卡的狀態(tài)包括插入狀態(tài) 和拔出狀態(tài);以及第一引擎卡在第二引擎卡從插入狀態(tài)變?yōu)榘纬鰻顟B(tài)時,向各業(yè)務卡發(fā)送第 一消息通告,指示第二引擎卡的狀態(tài)變?yōu)榘纬鰻顟B(tài);在第二引擎卡乂人拔出狀態(tài) 變?yōu)椴迦霠顟B(tài)時,向各業(yè)務卡發(fā)送第二消息通告,指示第二引擎卡的狀態(tài)變?yōu)?插入狀態(tài);所述業(yè)務卡在接收到所述第一消息通告時,根據(jù)第二引擎卡的狀態(tài)變?yōu)榘?出狀態(tài),刪除聚合端口AP配置,并重新配置本業(yè)務卡的數(shù)據(jù)流轉(zhuǎn)發(fā)到與第一 引擎卡相連的交換端口上;在接收到所述第二消息通告時,根據(jù)第二引擎卡的 狀態(tài)變?yōu)椴迦霠顟B(tài),創(chuàng)建聚合端口 AP,并重新配置本業(yè)務卡的數(shù)據(jù)流轉(zhuǎn)發(fā)到 創(chuàng)建的AP上。
3、 如權利要求1或2所述的設備,其特征在于,所述第一引擎卡包括背 面板插接件、可編程邏輯器件、第一中央處理器和第一以太網(wǎng)芯片,所述可編 程邏輯器件通過邏輯電路與所述背面板插接件相連,以及通過本地總線與所述 第一中央處理器相連,所述第一引擎卡的可編程邏輯器件相連的邏輯電路,在 第二引擎卡的狀態(tài)發(fā)生變化時,其電位發(fā)生變化,其中所述可編程邏輯器件,用于根據(jù)與其相連的邏輯電路的電位變化記錄狀態(tài) 位,并觸發(fā)生成在位present信號發(fā)送給所述第 一 中央處理器;所述第一中央處理器,用于根據(jù)接收到的present信號檢測所述可編程邏輯器件的狀態(tài)位,根據(jù)檢測出的狀態(tài)位確定第二引擎卡的當前狀態(tài),并通過所 述第一以太網(wǎng)芯片向各業(yè)務卡發(fā)送指示第二引擎卡狀態(tài)變化的消息通告。
4、 如權利要求3所述的設備,其特征在于,所述業(yè)務卡包括第二以太網(wǎng) 芯片、第二中央處理器和交換芯片,所述交換芯片上具有用于連接引擎卡的交 換端口,其中所述第二以太網(wǎng)芯片,用于接收所述消息通告,并發(fā)送給所述第二中央處 理器;所述第二中央處理器,用于在接收到所述第二以太網(wǎng)芯片發(fā)送的消息通告 時,根據(jù)第二引擎卡的狀態(tài)變化,對本業(yè)務卡交換芯片上的交換端口進行配置。
5、 如權利要求4所述的設備,其特征在于,所述第一引擎卡的可編程邏 輯器件相連的邏輯電路,在第二引擎卡從插入狀態(tài)變?yōu)榘纬鰻顟B(tài)時,其電位被 拉高,在第二引擎卡從拔出狀態(tài)變?yōu)椴迦霠顟B(tài)時,其電位被拉低;以及第一引擎卡的可編程邏輯器件,根據(jù)與其相連的邏輯電路的電位被拉高, 記錄狀態(tài)位為高,根據(jù)與其相連的邏輯電路的電位被拉低,記錄狀態(tài)位為低;第一引擎卡的第一中央處理器,在檢測出所述可編程邏輯器件的狀態(tài)位為 高時,確定第二引擎卡的當前狀態(tài)為拔出狀態(tài),并通過第一以太網(wǎng)芯片向各業(yè) 務卡發(fā)送所述第一消息通告;在檢測出所述可編程邏輯器件的狀態(tài)位為低時, 確定第二引擎卡的當前狀態(tài)為插入狀態(tài),并通過第一以太網(wǎng)芯片向各業(yè)務卡發(fā) 送所述第二消息通告。
6、 一種如權利要求1所述的雙引擎交換機設備的引擎切換方法,其特征 在于,包括雙引擎交換機設備的每一塊《1擎卡監(jiān)控另 一 引擎卡的狀態(tài),并在另 一 引擎 卡的狀態(tài)發(fā)生變化時,向各業(yè)務卡發(fā)送指示另一引擎卡狀態(tài)變化的消息通告;接收到所述消息通告的業(yè)務卡,根據(jù)另一引擎卡的狀態(tài)變化對本業(yè)務卡的 交換端口進行配置。
7、 如權利要求6所述的方法,其特征在于,引擎卡的狀態(tài)包括插入狀態(tài)和拔出狀態(tài),以及當前引擎卡在另 一引擎卡從插入狀態(tài)變?yōu)榘纬鰻顟B(tài)時,向各業(yè)務卡發(fā)送第一消息通告,指示另一引擎卡的狀態(tài)變?yōu)榘纬鰻顟B(tài);接收到所述第一消息通告 的業(yè)務卡,根據(jù)另一引擎卡的狀態(tài)變?yōu)榘纬鰻顟B(tài),刪除聚合端口AP配置,并 重新配置本業(yè)務卡的數(shù)據(jù)流轉(zhuǎn)發(fā)到與當前引擎卡相連的交換端口上;或者,當前引擎卡在另一引擎卡從拔出狀態(tài)變?yōu)椴迦霠顟B(tài)時,向各業(yè)務卡 發(fā)送第二消息通告,指示另一引擎卡的狀態(tài)變?yōu)椴迦霠顟B(tài);接收到所述第二消 息通告的業(yè)務卡,根據(jù)另一引擎卡的狀態(tài)變?yōu)椴迦霠顟B(tài),創(chuàng)建聚合端口 AP, 并重新配置本業(yè)務卡的數(shù)據(jù)流轉(zhuǎn)發(fā)到創(chuàng)建的AP上。
8、 如權利要求6或7所述的方法,其特征在于,所述雙引擎交換機設備 的每一塊引擎卡監(jiān)控另 一 引擎卡的狀態(tài),并在另 一 引擎卡的狀態(tài)發(fā)生變化時, 向各業(yè)務卡發(fā)送指示另一引擎卡狀態(tài)變化的消息通告,具體包括當前引擎卡的可編程邏輯器件根據(jù)與其相連的邏輯電路的電位變化記錄 狀態(tài)位,并觸發(fā)生成在位present信號發(fā)送給本引擎卡的中央處理器,當前引 擎卡的可編程邏輯器件相連的邏輯電路,在另一引擎卡的狀態(tài)發(fā)生變化時,其 電位發(fā)生變化;當前引擎卡的中央處理器根據(jù)接收到的present信號檢測所述可編程邏輯 器件的狀態(tài)位,根據(jù)檢測出的狀態(tài)位確定另一引擎卡的當前狀態(tài),并通過本引 擎卡的以太網(wǎng)芯片向各業(yè)務卡發(fā)送指示另 一 引擎卡狀態(tài)變化的消息通告。
9、 如權利要求8所述的方法,其特征在于,所述接收到所述消息通告的 業(yè)務卡,根據(jù)另一引擎卡的狀態(tài)變化對本業(yè)務卡的交換端口進行配置,具體包 括所述業(yè)務卡的以太網(wǎng)芯片接收所述消息通告,并發(fā)送給本業(yè)務卡的中央處 理器;所述業(yè)務卡的中央處理器在接收到所述消息通告時,根據(jù)另 一引擎卡的狀 態(tài)變化,對本業(yè)務卡交換芯片上的交換端口進行配置。
10、如權利要求9所述的方法,其特征在于,所述當前引擎卡的可編程邏 輯器件相連的邏輯電路,在另一引擎卡從插入狀態(tài)變?yōu)榘纬鰻顟B(tài)時,其電位被 拉高,在另一引擎卡從拔出狀態(tài)變?yōu)椴迦霠顟B(tài)時,其電位被拉低;以及當前引擎卡的可編程邏輯器件根據(jù)與其相連的邏輯電路的電位被拉高,記 錄狀態(tài)位為高;當前引擎卡的中央處理器在4企測出所述可編程邏輯器件的狀態(tài) 位為高時,確定另一引擎卡的當前狀態(tài)為拔出狀態(tài),并通過本引擎卡的以太網(wǎng) 芯片向各業(yè)務卡發(fā)送所述第一消息通告;或者,當前引擎卡的可編程邏輯器件根據(jù)與其相連的邏輯電路的電位被拉 低,記錄狀態(tài)位為低;當前引擎卡的中央處理器在;f企測出所述可編程邏輯器件 的狀態(tài)位為低時,確定另一引擎卡的當前狀態(tài)為插入狀態(tài),并通過本引擎卡的 以太網(wǎng)芯片向各業(yè)務卡發(fā)送所述第二消息通告。
全文摘要
本發(fā)明公開了一種雙引擎交換機設備及其引擎切換方法,用以解決雙引擎交換機設備對引擎切換的響應速度較慢的問題。本發(fā)明提供的雙引擎交換機設備包括第一引擎卡、第二引擎卡和若干業(yè)務卡,兩塊引擎卡通過背面板相連,其中所述第一引擎卡,用于監(jiān)控第二引擎卡的狀態(tài),并在第二引擎卡的狀態(tài)發(fā)生變化時,向各業(yè)務卡發(fā)送指示第二引擎卡狀態(tài)變化的消息通告;所述業(yè)務卡,用于接收所述消息通告,根據(jù)第二引擎卡的狀態(tài)變化對本業(yè)務卡的交換端口進行配置。本發(fā)明減少了雙引擎交換機設備在引擎切換過程中的斷流時間,提高了雙引擎交換機設備在引擎故障時的穩(wěn)定性。
文檔編號H04L12/02GK101483527SQ20091000697
公開日2009年7月15日 申請日期2009年2月18日 優(yōu)先權日2009年2月18日
發(fā)明者杜文波 申請人:福建星網(wǎng)銳捷網(wǎng)絡有限公司