專利名稱:一種通過心跳機(jī)制實(shí)現(xiàn)網(wǎng)絡(luò)接口板倒換的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊領(lǐng)域的故障恢復(fù),尤其涉及的是, 一種通過心跳機(jī)制 實(shí)現(xiàn)網(wǎng)絡(luò)接口板倒換的方法。
背景技術(shù):
對(duì)于電信網(wǎng)絡(luò),最基本的要求是不中斷業(yè)務(wù),所以設(shè)備都會(huì)考慮到增 加主備網(wǎng)絡(luò)接口板,若主用網(wǎng)絡(luò)接口板故障,要快速可靠的實(shí)現(xiàn)倒換,從 而實(shí)現(xiàn)網(wǎng)絡(luò)的高可靠性?;谌獻(xiàn)P網(wǎng)的軟交換系統(tǒng)(SoftSwitch system,簡稱SS )實(shí)現(xiàn)的基本 框架如圖l所示,整個(gè)框架包括的設(shè)備有系統(tǒng)控制板(SC, System Control) 101,系統(tǒng)協(xié)議處理板(SPC, System Protocol Card ) 102,網(wǎng)絡(luò)接口板(NIC, Network Interface Card ) 103,系統(tǒng)交才灸網(wǎng)(SSN, System Switch Net) 104, 其中SSN 104是實(shí)現(xiàn)SC 101、 SPC 102、 NIC 103之間的互通,NIC 103外 接以太網(wǎng)交換機(jī)到廣域網(wǎng)上,NIC 103實(shí)現(xiàn)消息的分發(fā)處理,從廣域網(wǎng)過來 的消息,NIC 103將消息分發(fā)到相應(yīng)的SPC 102實(shí)現(xiàn)呼叫等業(yè)務(wù),SPC 102 處理后將消息發(fā)送到NIC 103, NIC 103再將消息轉(zhuǎn)發(fā)到廣域網(wǎng)上,可見 NIC 103作用非常重要,若NIC103出現(xiàn)故障,再加上主備倒換不可靠的情 況,都直接造成業(yè)務(wù)中斷。根據(jù)電信業(yè)務(wù)需求,NIC 103故障倒換不能中斷業(yè)務(wù),而且在倒換過程 中失敗或者是倒換故障要在很短時(shí)間能自愈恢復(fù),網(wǎng)絡(luò)中斷帶來的損失減 小到最低?,F(xiàn)有技術(shù)中,NIC主備機(jī)制如圖2所示,互為主備的NIC單板 之間在硬件設(shè)計(jì)時(shí)已經(jīng)規(guī)定了物理位置,主要通過以下步驟實(shí)現(xiàn)。(a) NIC201和NIC202啟動(dòng)確定主備,通過竟?fàn)幏绞剑?b) 在確定后的主用或備用的工作狀態(tài)下,主用NIC201通過以太網(wǎng) 端口接收和發(fā)送數(shù)據(jù),定時(shí)檢測本端的以太網(wǎng)端口狀態(tài),并應(yīng)答備用NIC202發(fā)來的心跳握手消息;備用NIC202定時(shí)向主用NIC 201發(fā)出心跳握手消息,而不發(fā)送和接收任何數(shù)據(jù);(c )主用NIC 201檢測到本板的端口失效后,向所述備用NIC 202發(fā) 出倒換請(qǐng)求,同時(shí)從主用工作狀態(tài)轉(zhuǎn)換為備用工作狀態(tài);(d)所述備用NIC202在接收到倒換請(qǐng)求,或者未在設(shè)定時(shí)間內(nèi)收到 主用NIC 201的正確應(yīng)答時(shí),從備用工作狀態(tài)轉(zhuǎn)換為主用工作狀態(tài)。(e )主用NIC 201接收從廣域網(wǎng)204通過以太網(wǎng)交換機(jī)203,分發(fā)消 息到業(yè)務(wù)處理板,業(yè)務(wù)板處理完消息通過主用NIC201到以太網(wǎng)交換機(jī)203, 再到廣域網(wǎng)204。由于NIC的主備在物理位置上已經(jīng)規(guī)定,無法通過數(shù)據(jù)配置;當(dāng)主用 NIC201和備用NIC202之間出現(xiàn)中斷的情況時(shí),就會(huì)出現(xiàn)同主用或同備用 現(xiàn)象;,當(dāng)主用NIC 201故障后要求倒換時(shí),由備用NIC 202進(jìn)行倒換,無 論是主用倒換失敗或備用倒換失敗,都會(huì)引起互為主備的NIC同主用或同 備用現(xiàn)象。現(xiàn)有技術(shù)中這種同主用NIC或同備用NIC本身無法自愈恢復(fù), 需要人工干預(yù)恢復(fù),如不及時(shí)處理,嚴(yán)重時(shí)會(huì)造成大面積業(yè)務(wù)中斷,帶來 極大損失。因此,現(xiàn)有技術(shù)的NIC倒換技術(shù),在系統(tǒng)擴(kuò)容時(shí)無法通過數(shù)據(jù)配置NIC 的主備關(guān)系,發(fā)生故障時(shí)會(huì)嚴(yán)重影響現(xiàn)有業(yè)務(wù);NIC倒換故障或主備NIC 通信中斷,會(huì)出現(xiàn)同主用或同備用故障情況,造成業(yè)務(wù)中斷,不僅維護(hù)困 難,而且?guī)砀髶p失。因此,現(xiàn)有技術(shù)存在缺陷,需要改進(jìn)。發(fā)明內(nèi)容本發(fā)明的目的在于提供一種通過心跳機(jī)制實(shí)現(xiàn)網(wǎng)絡(luò)接口板倒換的方 法,通過數(shù)據(jù)配置NIC的主備關(guān)系,發(fā)生故障時(shí)NIC可以自愈恢復(fù),避免 了業(yè)務(wù)中斷。本發(fā)明的技術(shù)方案如下一種通過心跳機(jī)制實(shí)現(xiàn)網(wǎng)絡(luò)接口板倒換的方法,其包括以下步驟Al、 第一網(wǎng)絡(luò)接口板啟動(dòng)時(shí),默認(rèn)設(shè)置為備用網(wǎng)絡(luò)接口板,并請(qǐng)求系統(tǒng)控制板 發(fā)送配置消息,所述配置消息包括與所述第 一 網(wǎng)絡(luò)接口板互為主備關(guān)系的 第二網(wǎng)絡(luò)接口板的信息,以及倒換策略;A2、系統(tǒng)控制板向所述第一網(wǎng)絡(luò) 接口板發(fā)送配置消息;A3、所述第一網(wǎng)絡(luò)接口板與所述第二網(wǎng)絡(luò)接口板分 別發(fā)送包含本板工作狀態(tài)的心跳消息到系統(tǒng)控制板;A4、系統(tǒng)控制板根據(jù) 所述倒換策略和兩網(wǎng)絡(luò)接口板的工作狀態(tài),進(jìn)4亍決策,確定兩網(wǎng)絡(luò)接口板 的主備關(guān)系;A5、所述主用網(wǎng)絡(luò)接口板與所述備用網(wǎng)絡(luò)接口板通過心跳互 報(bào)本板工作狀態(tài),以及本板與系統(tǒng)控制板的通信狀態(tài);A6、所述主用網(wǎng)絡(luò) 接口板根據(jù)本板與系統(tǒng)控制板的通信狀態(tài)、以及備用板與系統(tǒng)控制板的通 信狀態(tài),判斷本板與系統(tǒng)控制板發(fā)生通信故障時(shí),則由主備網(wǎng)絡(luò)接口板之 間根據(jù)所述倒換策略進(jìn)行決策,重新確定兩網(wǎng)絡(luò)接口板的主備關(guān)系。所述的方法,其中,所述工作狀態(tài)至少包括網(wǎng)線連接狀態(tài)、網(wǎng)關(guān)狀態(tài)、 端口流量、'CPU利用率、內(nèi)存利用率、與系統(tǒng)控制板通信狀態(tài)、當(dāng)前主備 關(guān)系、任務(wù)運(yùn)行狀態(tài)其中之一。所迷的方法,其中,還包括步驟A7:所述備用網(wǎng)絡(luò)接口板根據(jù)本板與 系統(tǒng)控制板、主用板的通信狀態(tài),判斷本板與系統(tǒng)控制板發(fā)生通信故障, 并且主用板發(fā)生故障,則自行設(shè)置為主用網(wǎng)絡(luò)接口板。所述的方法,其中,步驟Al之前還包括步驟AO:用戶進(jìn)行數(shù)據(jù)配置; 所述數(shù)據(jù)配置至少包括配置各網(wǎng)絡(luò)接口板主備關(guān)系、心跳時(shí)間、倒換策略 其中之一。所述的方法,其中,步驟A4還包括以下步驟系統(tǒng)控制板定時(shí)將各網(wǎng)
絡(luò)接口板的主備信息上報(bào)到操作維護(hù)臺(tái)。所述的方法,其中,步驟A5還包括步驟A51:各網(wǎng)絡(luò)接口板判斷主備 板的工作狀態(tài)發(fā)生變化,則向操作維護(hù)臺(tái)發(fā)送告警信息;或者,各網(wǎng)絡(luò)接 口板判斷主備板的工作狀態(tài)發(fā)生變化并至少滿足倒換策略的一項(xiàng)條件,則 向操作維護(hù)臺(tái)發(fā)送告警信息。所述的方法,其中,步驟A5還包括步驟A52:各網(wǎng)絡(luò)接口板將發(fā)生變 化的主備板的工作狀態(tài)寫入其日志文件。所述的方法,其中,所述倒換策略為根據(jù)網(wǎng)絡(luò)接口板的工作狀態(tài)、以 及對(duì)比備用網(wǎng)絡(luò)接口板的工作狀態(tài)與主用網(wǎng)絡(luò)接口板的工作狀態(tài),決定是 否進(jìn)行網(wǎng)絡(luò)接口板的主備倒換。所述的方法,其中,所述對(duì)比備用網(wǎng)絡(luò)接口板的工作狀態(tài)與主用網(wǎng)絡(luò) 接口板的工作狀態(tài),具體包括以下步驟Bl、為網(wǎng)絡(luò)接口板的各項(xiàng)工作狀 態(tài)設(shè)置評(píng)分系統(tǒng);B2、分別計(jì)算備用網(wǎng)絡(luò)接口板的全部工作狀態(tài)和主用網(wǎng) 絡(luò)接口板的全部工作狀態(tài)的分?jǐn)?shù)。所述的方法,其中,所述倒換策略的條件至少包括CPU利用率高出CPU 利用率預(yù)設(shè)值、內(nèi)存利用率高出內(nèi)存利用率預(yù)設(shè)值、端口流量高出端口流 量預(yù)設(shè)值、網(wǎng)線連接不通、網(wǎng)關(guān)狀態(tài)不通、與系統(tǒng)控制板通信中斷、任務(wù) 運(yùn)行狀態(tài)發(fā)生桂起其中之一。采用上述方案,本發(fā)明兩塊網(wǎng)絡(luò)接口板可以通過系統(tǒng)控制板通過心跳 機(jī)制決策最優(yōu)的單板作主用,對(duì)數(shù)據(jù)傳輸穩(wěn)定性和可靠性都有很大作用, 若發(fā)生故障時(shí)能快速倒換。由數(shù)據(jù)配置具體的網(wǎng)絡(luò)接口板主備關(guān)系,同時(shí) 作為補(bǔ)充功能互為主備的兩塊網(wǎng)絡(luò)接口板之間上報(bào)心跳信息,在系統(tǒng)控制 板工作異常時(shí),主備網(wǎng)絡(luò)接口板之間也可以決策主備關(guān)系;通過系統(tǒng)控制 板和網(wǎng)絡(luò)接口板之間的決策策略,即使出現(xiàn)故障,都可以自愈恢復(fù),具有 業(yè)務(wù)不中斷、網(wǎng)絡(luò)可靠性高的優(yōu)點(diǎn)。并且,軟交換系統(tǒng)可以配置多對(duì)互為 主備網(wǎng)絡(luò)接口板,電信進(jìn)行擴(kuò)容時(shí)不會(huì)影響到現(xiàn)有業(yè)務(wù);系統(tǒng)控制板可以
按照最優(yōu)選4奪方式?jīng)Q策主用網(wǎng)絡(luò)接口板和備用網(wǎng)絡(luò)4妻口外反,在出現(xiàn)故障之 前就可以進(jìn)4于倒4奐。
圖1為現(xiàn)有技術(shù)的軟交換系統(tǒng)的結(jié)構(gòu)示意圖;圖2是現(xiàn)有技術(shù)的主備網(wǎng)絡(luò)接口板的實(shí)現(xiàn)示意圖;圖3是本發(fā)明的一種實(shí)施方式的網(wǎng)絡(luò)接口板的實(shí)現(xiàn)示意圖;圖4是本發(fā)明的 一 種實(shí)施方式的網(wǎng)絡(luò)接口板的啟動(dòng)流程圖。圖5是本發(fā)明方法的流程圖。
具體實(shí)施方式
以下對(duì)本發(fā)明的較佳實(shí)施例加以詳細(xì)說明。如圖5所示,本發(fā)明提供了一種通過心跳機(jī)制實(shí)現(xiàn)NIC倒換的方法, 利用心跳上報(bào)NIC工作狀態(tài)和主備關(guān)系到SC,由SC根據(jù)配置的策略來決 策NIC的主備關(guān)系;為防止SC故障情況,同時(shí)在主備用NIC之間增加互 報(bào)心跳模式,即便SC出故障也可以在最短時(shí)間能自愈恢復(fù),在發(fā)生故障時(shí) 能快速倒換并且倒換時(shí)做到對(duì)業(yè)務(wù)的影響盡量小,從而實(shí)現(xiàn)網(wǎng)絡(luò)的高可靠 性;其具體包括以下步驟。Al、第一NIC啟動(dòng)時(shí),默認(rèn)設(shè)置為備用NIC,并請(qǐng)求SC發(fā)送配置消 息,所述配置消息包括與所述第一NIC互為主備關(guān)系的第二NIC的信息, 以及倒換策略。即對(duì)于剛啟動(dòng)的NIC,默認(rèn)為備有單板;當(dāng)NIC上電啟動(dòng) 后,先向SC單板提出請(qǐng)求,要求獲取配置信息,這些信息包括本板與哪塊 NIC是主備關(guān)系,以及一些倒換的決策策略數(shù)據(jù)。在此之前,還可以包括步驟AO:用戶進(jìn)行數(shù)據(jù)配置;所述數(shù)據(jù)配置至 少包括配置各NIC主備關(guān)系、心跳時(shí)間、倒換策略其中之一。用戶可以登錄操作維護(hù)臺(tái)(GUI)配置數(shù)據(jù),這些數(shù)據(jù)可以方便查詢、 修改和維護(hù),即可以通過數(shù)據(jù)配置方法動(dòng)態(tài)更改NIC的主備關(guān)系,這樣可
以根據(jù)業(yè)務(wù)需求靈活配置NIC的主備關(guān)系,在測試過程中也可以取消主備 關(guān)系。具體配置比較靈活,可以配置主備關(guān)系,心跳時(shí)間,倒換策略等等。 其中,心跳時(shí)間可以通過數(shù)據(jù)配置來實(shí)現(xiàn),若配置數(shù)據(jù)無效一般都啟 動(dòng)默認(rèn)值,例如心跳時(shí)間默認(rèn)值1秒鐘上"fe心跳。其中,所述倒換策略為根據(jù)NIC的工作狀態(tài)、以及對(duì)比備用NIC的工 作狀態(tài)與主用NIC的工作狀態(tài),決定是否進(jìn)行NIC的主備倒換。所述倒換策略可以包括多項(xiàng)條件,并根據(jù)各項(xiàng)條件的組合制定策略。 所述倒換策略的條件至少包括CPU利用率高出CPU利用率預(yù)設(shè)值、內(nèi)存利 用率高出內(nèi)存利用率預(yù)設(shè)值、端口流量高出端口流量預(yù)設(shè)值、網(wǎng)線連接不 通(LinkDown)、網(wǎng)關(guān)狀態(tài)(Ping)不通、與SC通信中斷、任務(wù)運(yùn)行狀態(tài) 發(fā)生掛起其中之一。其中,用戶可以更改CPU利用率預(yù)設(shè)值、內(nèi)存利用率 預(yù)設(shè)值、端口流量預(yù)設(shè)值等等,例如,CPU利用率預(yù)設(shè)值設(shè)置為90%,內(nèi) 存利用率預(yù)設(shè)值設(shè)置為80%、端口流量預(yù)設(shè)值設(shè)置為85%等。這樣,倒換的策略可以動(dòng)態(tài)更改,例如可以將倒換策略的條件放寬, 在主用NIC沒有出現(xiàn)故障前就可以進(jìn)行倒換,防止故障后出現(xiàn)負(fù)面影響。 倒換策略條件一般也通過數(shù)據(jù)配置來實(shí)現(xiàn),這樣的實(shí)現(xiàn)方式比較靈活,可 以根據(jù)需求增加策略條件,比如NIC的網(wǎng)線是否LINK DOWN,網(wǎng)關(guān)是 否通,網(wǎng)絡(luò)流量高于一定閥值,CPU利用率,內(nèi)存利用率,是否備用NIC 條件遠(yuǎn)好于主用等決定是否提前倒換。一般的,只有在兩NIC均為可用的情況下,為提高工作效率才需要對(duì) 比備用NIC的工作狀態(tài)與主用NIC的工作狀態(tài),具體地說,所述對(duì)比備用 NIC的工作狀態(tài)與主用NIC的工作狀態(tài),具體包括以下步驟Bl、為NIC 的各項(xiàng)工作狀態(tài)設(shè)置評(píng)分系統(tǒng);例如,各項(xiàng)工作狀態(tài)的滿分均為100分; 或者,為各項(xiàng)工作狀態(tài)設(shè)置不同的權(quán)重,例如,網(wǎng)線連接狀態(tài)的滿分為100 分,網(wǎng)關(guān)狀態(tài)的滿分為90分、端口流量的滿分為95分、CPU利用率的滿 分為120分等等。B2、分別計(jì)算備用NIC的全部工作狀態(tài)和主用NIC的全 部工作狀態(tài)的分?jǐn)?shù)。此時(shí),所述倒換策略可以為選擇分?jǐn)?shù)高的NIC作為新的主用NIC。例如,備用NIC的全部工作狀態(tài)的總分?jǐn)?shù)大于主用NIC的全 部工作狀態(tài)的總分?jǐn)?shù)時(shí),選擇原備用NIC作為新的主用NIC,原主用NIC 作為新的備用NIC;進(jìn)行主備倒換。A2、 SC向所述第一NIC發(fā)送配置消息。A3 、所述第一 NIC與所述第二 NIC分別發(fā)送包含本板工作狀態(tài)的心跳 消息到SC;即通過心跳機(jī)制,所述第一 NIC與所述第二 NIC分別發(fā)送心 跳消息上報(bào)所述第一 NIC的工作狀態(tài)與所述第二 NIC的工作狀態(tài)到SC。 其中,所述工作狀態(tài)至少包括該板的網(wǎng)線連接狀態(tài)、Ping網(wǎng)關(guān)狀態(tài)、端口 流量(網(wǎng)口流量)、CPU利用率、內(nèi)存利用率、與SC通信狀態(tài)、當(dāng)前主備 關(guān)系、任務(wù)運(yùn)行狀態(tài)其中之一。A4、 SC根據(jù)所述倒換策略和兩NIC的工作狀態(tài),進(jìn)行決策,確定兩 NIC的主備關(guān)系;所以SC接收到主用NIC和備用NIC的心跳消息,解析 其內(nèi)容,然后依據(jù)倒換策略進(jìn)行比較,決策是否進(jìn)行倒換。即SC根據(jù)兩塊 互為主備的NIC心跳上報(bào)的信息進(jìn)行決策主備關(guān)系。其中,主用NIC的工作不僅接收備用NIC的心跳信息,主要進(jìn)行分發(fā) 外來消息到相應(yīng)的SPC進(jìn)行處理,實(shí)現(xiàn)呼叫業(yè)務(wù);備用NIC接收主用NIC 的心跳信息,同步所述工作狀態(tài)信息,具體已如前述,包括網(wǎng)線連接狀態(tài)、 網(wǎng)關(guān)狀態(tài)、端口流量、CPU利用率、內(nèi)存利用率、與SC通信狀態(tài)、當(dāng)前 主備關(guān)系、任務(wù)運(yùn)行狀態(tài)等等。備用NIC不接收處理業(yè)務(wù)消息。并且,步驟A4還可以包括以下步驟SC定時(shí)將各NIC的主備信息上 報(bào)到操作維護(hù)臺(tái)。對(duì)于NIC的主備信息可以由SC定時(shí)上報(bào)到操作維護(hù)臺(tái), 工程維護(hù)人員可以及時(shí)分析設(shè)備運(yùn)行情況。例如,SC在一定時(shí)間沒有收到 的各主備NIC的心跳消息就發(fā)送告警到維護(hù)終端,收不到心跳時(shí)間過長還 要記錄詳細(xì)日志,作為維護(hù)人員后面分析的依據(jù),并決策主備NIC的倒換。A5、所述主用NIC與所述備用NIC通過心跳互報(bào)本板工作狀態(tài),以及
本板與SC的通信狀態(tài)。主備NIC之間通過心跳互報(bào)本板工作狀態(tài),以及與SC的通信狀態(tài),若與SC通信故障,就由主備NIC之間進(jìn)行決策主備關(guān) 系;通信故障的診斷由現(xiàn)有技術(shù)的檢測機(jī)制實(shí)現(xiàn),例如通過中斷報(bào)通信斷, 中斷優(yōu)先級(jí)最高,本板只判斷其提供的接口即可。或者,判斷心跳消息發(fā)送 連續(xù)失敗的次數(shù)達(dá)到一定次數(shù),則認(rèn)為與SC通信故障,例如在SC單板突 然重啟,或離線等情況。這樣,每一塊NIC都知道本板工作狀態(tài),同時(shí)檢測到與SC的通信狀 態(tài),也知道互為主備的另一塊NIC工作狀態(tài),以及另一塊NIC與SC通信 狀態(tài);即便SC工作不正常情況下,也可以實(shí)現(xiàn)主備竟?fàn)幠J?。步驟A5還可以包括步驟A51:各NIC判斷主備板的工作狀態(tài)發(fā)生變 化,則向操作維護(hù)臺(tái)發(fā)送告警信息。或者,各NIC判斷主備板的工作狀態(tài) 發(fā)生變化并至少滿足倒換策略的一項(xiàng)條件,則向操作維護(hù)臺(tái)發(fā)送告警信息。 所述倒換策略的條件至少包括CPU利用率高出CPU利用率預(yù)設(shè)值、內(nèi)存利 用率高出內(nèi)存利用率預(yù)設(shè)值、端口流量高出端口流量預(yù)設(shè)值、網(wǎng)線連接不 通、網(wǎng)關(guān)狀態(tài)不通、與SC通信中斷、任務(wù)運(yùn)行狀態(tài)發(fā)生掛起其中之一。即 該板的CPU利用率,網(wǎng)口流量,內(nèi)存利用率等高出不同闊值(即閾值)出 不同級(jí)別告警,網(wǎng)線LINK DOWN告警,ping網(wǎng)關(guān)不通告警,與SC通信 斷告警,任務(wù)運(yùn)行狀態(tài)有掛超告警等;當(dāng)一塊NIC出現(xiàn)故障后,就決策進(jìn) 行倒換;同樣可以依據(jù)不同閥值做到提前決策倒換,不等單板故障后進(jìn)行 倒換,比如當(dāng)主用NIC網(wǎng)口流量高于某一閥值同時(shí)CPU高于某一閥值,比 較備用NIC情況,決策是否可以提前倒換。 、并且,步驟A5還包括步驟A52:各NIC將發(fā)生變化的主備板的工作 狀態(tài)寫入其日志文件。這樣,NIC根據(jù)數(shù)據(jù)配置的倒換策略,主備的工作狀態(tài)若出現(xiàn)變化, 按照配置策略向維護(hù)臺(tái)發(fā)送告警信息,更好的是,為告警信息設(shè)置不同的 級(jí)別,按不同的級(jí)別區(qū)分告警信息;例如,與SC通信中斷和網(wǎng)關(guān)狀態(tài)不通
設(shè)為1級(jí),CPU利用率高于80%設(shè)為3級(jí)等等。更詳細(xì)的信息還可以記錄 日志文件,供維護(hù)人員進(jìn)行分析故障原因,可以更快更準(zhǔn)的鎖定問題。一 般的,單板的故障都會(huì)有日志記錄,故障單板要考慮恢復(fù)策略,可以由現(xiàn) 有技術(shù)的診斷任務(wù)完成,用戶現(xiàn)場可以及時(shí)恢復(fù),例如記錄日志復(fù)位等操作。維護(hù)人員還可以通過告警等信息,分析是否進(jìn)行人工倒換,可以通過 操作維護(hù)臺(tái)執(zhí)行人機(jī)命令實(shí)現(xiàn)倒換,這個(gè)倒換發(fā)送到SC,由SC實(shí)現(xiàn)倒換, 操作簡單,不會(huì)影響到NIC正常流程。A6、所述主用NIC根據(jù)本板與SC的通信狀態(tài)、以及備用板與SC的通 信狀態(tài),判斷本板與SC發(fā)生通信故障時(shí),則由主備NIC之間根據(jù)所述倒 換策略進(jìn)行決策,重新確定兩NIC的主備關(guān)系。這樣,通過主用NIC和備用NIC以及SC三方心跳消息,可以準(zhǔn)確了 解到本端工作情況和對(duì)端工作情況,若出現(xiàn)倒換故障后,可以通過這種方式快速實(shí)現(xiàn)自愈恢復(fù),達(dá)到不影響業(yè)務(wù)中斷。并且,所述的方法還可以包括步驟A7:所述備用NIC根據(jù)本板與SC、 主用板的通信狀態(tài),判斷本板與SC發(fā)生通信故障,并且主用板發(fā)生故障, 則自行設(shè)置為主用NIC。實(shí)際上,對(duì)于某塊NIC單板來說,收到主備關(guān)系的另一NIC心跳消息 后,與本板工作狀態(tài)進(jìn)行比較,依據(jù)倒換策略進(jìn)行比較,決策是否進(jìn)行倒 換。 一般來說,在工作狀態(tài)中包含了該單板是否處于故障狀態(tài),例如CPU 利用率達(dá)到100%,網(wǎng)口流量超出閥值,網(wǎng)線LINKDOWN,任務(wù)運(yùn)行不正 常等,其中任務(wù)運(yùn)行不正常包括有任務(wù)掛起等情況,若有故障的單板是主 用單板就決策倒換。如圖3所示,以下對(duì)本發(fā)明的具體實(shí)施方法作出進(jìn)一步說明。系控制板301控制設(shè)備所有狀態(tài),監(jiān)控所有單板運(yùn)行情況,包括獲 取數(shù)據(jù)配置信息,首先由系統(tǒng)控制板(SC)從數(shù)據(jù)終端獲取網(wǎng)絡(luò)接口板
(NIC)的配置信息,若數(shù)據(jù)有改動(dòng)就通知相應(yīng)的網(wǎng)絡(luò)接口板(NIC)同步 信息;并定時(shí)接收網(wǎng)絡(luò)接口板(NIC) 302和NIC303的心跳信息,根據(jù)數(shù) 據(jù)配置的倒換決策策略,決策是否對(duì)互為主備的NIC302和NIC303進(jìn)行倒換。系統(tǒng)控制板301在一定時(shí)間沒有收到NIC302或NIC303的心跳就發(fā)送 告警到維護(hù)終端,收不到心跳時(shí)間過長還要記錄詳細(xì)日志,作為維護(hù)人員 后面分析的依據(jù),并決策NIC302和NIC303倒換。以太網(wǎng)交換才幾304主要是連接NIC302和NIC303以及對(duì)外的廣域網(wǎng) 305;廣域網(wǎng)305主要連接一些用戶終端,維護(hù)終端等等。NIC302啟動(dòng)后先從SC301獲取主備配置信息,以及倒換的決策策略信 息,運(yùn)行過程中定時(shí)心跳上報(bào)本板的工作狀態(tài)到SC301;本板工作狀態(tài)主 要包括任務(wù)運(yùn)行情況,資源利用情況,比如處理器(CPU)工作狀態(tài)、內(nèi) 存使用情況等,連接的以太網(wǎng)工作狀態(tài),本板定時(shí)檢測與業(yè)務(wù)網(wǎng)關(guān)是否可 以互通,以及本板與SC301通信情況,本板是否處于故障狀態(tài)等。NIC302還要定時(shí)心跳本板的工作狀態(tài)到備用NIC303,這個(gè)功能作補(bǔ) 充功能,防止SC301工作出現(xiàn)故障的情況下,NIC302與NIC303之間可以 通過心跳信息,根據(jù)數(shù)據(jù)配置的倒換策略進(jìn)行倒換,平衡了 NIC302與 NIC303之間的主備關(guān)系。NIC302主要完成業(yè)務(wù)呼叫等消息發(fā)送,接收通過以太網(wǎng)交換機(jī)304來 自廣域網(wǎng)305的消息,分發(fā)到具體的協(xié)議處理板,實(shí)現(xiàn)具體的業(yè)務(wù)呼叫, 并將來自協(xié)議處理板的消息發(fā)送到廣域網(wǎng)305。 'NIC303作為備用網(wǎng)絡(luò)接口板,啟動(dòng)后也同樣要向SC301獲取主備配置 信息,以及倒換的策略信息,運(yùn)行過程中定時(shí)心跳上報(bào)本板的工作狀態(tài)到 SC301; SC301根據(jù)NIC302和NIC303心跳信息決策其主備關(guān)系。NIC302還要定時(shí)心跳本板的工作狀態(tài)到備用NIC303,這個(gè)功能作補(bǔ) 充功能,防止SC301工作出現(xiàn)故障的情況下,NIC302與NIC303之間可以通過心跳信息,根據(jù)數(shù)據(jù)配置的倒換策略進(jìn)行倒換,平衡了 NIC302與 NIC303之間的主備關(guān)系。NIC303不處理業(yè)務(wù)呼叫等消息,只接收主用網(wǎng)絡(luò)接口板302的心跳信 息,也定時(shí)檢測與業(yè)務(wù)網(wǎng)關(guān)是否可以互通情況,以及本板與SC301通信情 況。NIC302和NIC303,對(duì)外則各自通過單獨(dú)的以太網(wǎng)線同時(shí)接入相同的 以太網(wǎng)交換機(jī)304,再經(jīng)過路由器與廣域網(wǎng)305相連。根據(jù)上述采用心跳機(jī)制的方法,決策主備的SC301可以實(shí)時(shí)了解到 NIC302和NIC303的工作狀態(tài),通過與數(shù)據(jù)配置的倒換策略,可以決策出 NIC302和NIC303的主備,若備用網(wǎng)絡(luò)接口板條件優(yōu)越可以實(shí)現(xiàn)倒換;對(duì) 于主用NIC302可以實(shí)時(shí)了解到備用NIC303的工作狀態(tài),以及NIC303與 NIC301之間的通信情況;對(duì)于備用NIC303可以實(shí)時(shí)了解到主用NIC302 的工作狀態(tài),以及NIC302與SC301之間的通信情況;這樣最大優(yōu)點(diǎn)是無 論SC301、 NIC302、 NIC303那一方出現(xiàn)故障都能夠及時(shí)平衡主備關(guān)系,不 會(huì)造成業(yè)務(wù)中斷,可以及早防備故障后倒換帶來的不可預(yù)知的問題;大大 提高了主網(wǎng)絡(luò)接口板與廣域網(wǎng)305之間的網(wǎng)絡(luò)可靠性。從而解決了目前網(wǎng) 絡(luò)接口板主備倒換的缺陷,倒換對(duì)業(yè)務(wù)的影響降低到最??;倒換故障后就 能夠自愈恢復(fù),真正實(shí)現(xiàn)了無人值守。例如,在正常情況下,NIC302和NIC303定時(shí)心跳本板信息到SC301, SC301根據(jù)數(shù)據(jù)配置的倒換策略,分析NIC302和NIC303的工作狀態(tài)決策 是否在主網(wǎng)絡(luò)接口板未出現(xiàn)故障時(shí),及時(shí)進(jìn)行倒換。又如,當(dāng)主用網(wǎng)絡(luò)接 口板,出現(xiàn)故障后進(jìn)行倒換,假設(shè)倒換又出現(xiàn)故障,引起倒換失敗,主用 NIC沒有倒換為備用,而備用卻倒換為主用,這個(gè)時(shí)候就出現(xiàn)了互為主備 NIC都變成主用NIC,這個(gè)時(shí)候系統(tǒng)控制板就可以進(jìn)行決策主備關(guān)系,平 衡主備。又如,系統(tǒng)控制板工作不正常,如發(fā)生復(fù)位或故障情況,而互為 主備的NIC倒換又出現(xiàn)故障,引起同時(shí)為主用或同時(shí)為備用的情況,這個(gè) 時(shí)候就依賴互為主備NIC之間的心跳消息,依據(jù)最優(yōu)原則平衡主備,工作
狀態(tài)優(yōu)越的強(qiáng)制切換為主用,另一塊強(qiáng)制切換為備用。如圖4所示,是本實(shí)施例具體描述網(wǎng)絡(luò)接口板的整個(gè)啟動(dòng)工作流程,由于NIC工作的穩(wěn)定性直接關(guān)系呼叫等業(yè)務(wù),所以其倒換可靠性是本發(fā)明的重點(diǎn),以下進(jìn)行進(jìn)一步的說明。401, 對(duì)網(wǎng)絡(luò)接口才反進(jìn)行上電啟動(dòng),在以下情況可能要重新啟動(dòng),比如 是軟件升級(jí)、單板故障,擴(kuò)容增加單板都會(huì)重新啟動(dòng)單板。402, 在單板軟件啟動(dòng)完畢,先默認(rèn)設(shè)置本板為備用,這樣就不會(huì)影響 到啟動(dòng)工作正常的單板,防止與本板互為主備的另一塊單板工作正常,造 成同時(shí)為主用的故障現(xiàn)象。403, 網(wǎng)絡(luò)接口板向系統(tǒng)控制板要數(shù)據(jù)配置信息,包括主備關(guān)系的單板 以及倒換策略信息,單板剛啟動(dòng)需要向系統(tǒng)控制板獲取配置信息,方可進(jìn) 入正常工作狀態(tài)。404, 網(wǎng)絡(luò)接口板向系統(tǒng)控制板心跳上才艮主備狀態(tài),以及本板工作狀態(tài), 同時(shí)向?qū)Χ司W(wǎng)絡(luò)接口板心跳上報(bào)工作狀態(tài),向系統(tǒng)控制板上報(bào)狀態(tài),優(yōu)先 由系統(tǒng)控制板進(jìn)行決策主備關(guān)系,另外向?qū)Χ松蠄?bào)工作狀態(tài),防止系統(tǒng)控 制板工作不正常情況下,互為主備的單板之間可以決策,達(dá)到主備關(guān)系的 平衡。405, 系統(tǒng)控制板根據(jù)兩塊主備的網(wǎng)絡(luò)接口板上報(bào)的信息,依據(jù)數(shù)據(jù)配 置倒換策略判斷決策是否進(jìn)行倒換。406, 網(wǎng)絡(luò)接口板也要判斷與系統(tǒng)控制板通信情況,若與系統(tǒng)控制板通 信中斷,就檢查對(duì)端網(wǎng)絡(luò)接口板工作是否正常,不正常就進(jìn)行倒換。407, 主用網(wǎng)絡(luò)接口板不僅接收備板的心跳信息,而且最重要的是分發(fā) 業(yè)務(wù)消息;備用網(wǎng)絡(luò)接口板只接收主板心跳消息和同步消息,不處理業(yè)務(wù) 消息。在現(xiàn)有技術(shù)中實(shí)現(xiàn)方法是主用網(wǎng)絡(luò)接口板和備用網(wǎng)絡(luò)接口板之間進(jìn)行 通信握手實(shí)現(xiàn)倒換,若倒換流程故障,容易造成同時(shí)為主用或同時(shí)為備用
情況, 一旦出現(xiàn)這種情況,軟件又無法自愈恢復(fù),需要人工參與解決;而 本發(fā)明改進(jìn)了這種情況,通過數(shù)據(jù)配置主備情況,而且可以配置倒換策略, 這個(gè)策略條件可以放寬,在故障發(fā)生前就進(jìn)行倒換,倒換的判斷策略可以通過數(shù)據(jù)配置來實(shí)現(xiàn),無論是升級(jí)或擴(kuò)容都可以做到不影響現(xiàn)有業(yè)務(wù);由 于NIC的角色非常重要,這種與數(shù)據(jù)交互的接口以及主備決策機(jī)制都由SC 來完成,并同步到NIC,對(duì)于NIC實(shí)現(xiàn)簡單可靠。NIC啟動(dòng)后先從SC獲 取自己的主備關(guān)系數(shù)據(jù),NIC定時(shí)心跳本板的工作狀態(tài)和主備關(guān)系上報(bào)到 SC,由SC來決策兩塊NIC的主備關(guān)系,SC可以根據(jù)數(shù)據(jù)配置的倒換策略, 再根據(jù)兩塊心跳上報(bào)NIC狀態(tài)進(jìn)行最優(yōu)選^^主用MC。系統(tǒng)控制板可以實(shí) 時(shí)了解到主備NIC的情況,若NIC倒換出現(xiàn)故障時(shí),SC可以及時(shí)決策主 備關(guān)系,能及時(shí)平衡主備。同時(shí)作為補(bǔ)充功能互為主備的兩塊NIC之間上 報(bào)心跳信息,防止系統(tǒng)控制板工作異常,這時(shí)候主備NIC之間同樣可以決 策主備;若SC工作不正常,NIC之間通過心跳信息也可以實(shí)現(xiàn)主備平衡, 做到了與現(xiàn)有技術(shù)的兼容性。這樣,即便出現(xiàn)故障,通過SC和NIC之間 的決策策略,都可以自愈恢復(fù),滿足了業(yè)務(wù)不中斷需求。本發(fā)明的優(yōu)點(diǎn)是NIC的主備不是由硬件設(shè)計(jì)強(qiáng)制規(guī)定到某個(gè)物理位置 上,而是可以通過數(shù)據(jù)靈活配置;SS系統(tǒng)可以配置多對(duì)互為主備NIC,電 信進(jìn)行擴(kuò)容時(shí)不會(huì)影響到現(xiàn)有業(yè)務(wù);NIC定時(shí)心跳上報(bào)本板工作的所有狀 態(tài)到SC,上報(bào)的信息包括當(dāng)前的主備狀態(tài)、本板可用資源等,SC可以按 照最優(yōu)選擇方式?jīng)Q策主用和備用NIC,在出現(xiàn)故障之前就可以進(jìn)行倒換; 主用和備用NIC之間互報(bào)心跳信息,這樣在系統(tǒng)控制板故障時(shí),NIC之間 也可以決策主用和備用關(guān)系。綜上所述,采用本發(fā)明方法,實(shí)現(xiàn)了主備網(wǎng)絡(luò)接口板可以通過數(shù)據(jù)配 置,這種靈活度擴(kuò)容時(shí)不會(huì)影響到現(xiàn)有業(yè)務(wù);主備決策優(yōu)先由系統(tǒng)控制板 來完成,對(duì)于網(wǎng)絡(luò)接口板處理相對(duì)比較簡單;若系統(tǒng)控制板工作不正常時(shí), 主備網(wǎng)絡(luò)接口板之間通過心跳信息也可以決策,這種機(jī)制與現(xiàn)有技術(shù)兼容;
兩塊網(wǎng)絡(luò)接口板可以通過系統(tǒng)控制板通過心跳機(jī)制決策最優(yōu)的單板作主 用,對(duì)數(shù)據(jù)傳輸穩(wěn)定性和可靠性都有很大作用,若發(fā)生故障時(shí)能快速倒換。 因此解決了倒換故障后出現(xiàn)的同時(shí)為主用或同時(shí)為備用的情況,而且出現(xiàn) 故障后這種機(jī)制可以及時(shí)自愈恢復(fù),真正實(shí)現(xiàn)了無人值守,業(yè)務(wù)不中斷, 網(wǎng)絡(luò)高可靠性。應(yīng)當(dāng)理解的是,對(duì)本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以 改進(jìn)或變換,而所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù) 范圍。
權(quán)利要求
1、一種通過心跳機(jī)制實(shí)現(xiàn)網(wǎng)絡(luò)接口板倒換的方法,其包括以下步驟A1、第一網(wǎng)絡(luò)接口板啟動(dòng)時(shí),默認(rèn)設(shè)置為備用網(wǎng)絡(luò)接口板,并請(qǐng)求系統(tǒng)控制板發(fā)送配置消息,所述配置消息包括與所述第一網(wǎng)絡(luò)接口板互為主備關(guān)系的第二網(wǎng)絡(luò)接口板的信息,以及倒換策略;A2、系統(tǒng)控制板向所述第一網(wǎng)絡(luò)接口板發(fā)送配置消息;A3、所述第一網(wǎng)絡(luò)接口板與所述第二網(wǎng)絡(luò)接口板分別發(fā)送包含本板工作狀態(tài)的心跳消息到系統(tǒng)控制板;A4、系統(tǒng)控制板根據(jù)所述倒換策略和兩網(wǎng)絡(luò)接口板的工作狀態(tài),進(jìn)行決策,確定兩網(wǎng)絡(luò)接口板的主備關(guān)系;A5、所述主用網(wǎng)絡(luò)接口板與所述備用網(wǎng)絡(luò)接口板通過心跳互報(bào)本板工作狀態(tài),以及本板與系統(tǒng)控制板的通信狀態(tài);A6、所述主用網(wǎng)絡(luò)接口板根據(jù)本板與系統(tǒng)控制板的通信狀態(tài)、以及備用板與系統(tǒng)控制板的通信狀態(tài),判斷本板與系統(tǒng)控制板發(fā)生通信故障時(shí),則由主備網(wǎng)絡(luò)接口板之間根據(jù)所述倒換策略進(jìn)行決策,重新確定兩網(wǎng)絡(luò)接口板的主備關(guān)系。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述工作狀態(tài)至少包 括網(wǎng)線連接狀態(tài)、網(wǎng)關(guān)狀態(tài)、端口流量、CPU利用率、內(nèi)存利用率、與系 統(tǒng)控制板通信狀態(tài)、當(dāng)前主備關(guān)系、任務(wù)運(yùn)行狀態(tài)其中之一。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括步驟A7:所 述備用網(wǎng)絡(luò)接口板根據(jù)本板與系統(tǒng)控制板、主用板的通信狀態(tài),判斷本板 與系統(tǒng)控制板發(fā)生通信故障,并且主用板發(fā)生故障,則自行設(shè)置為主用網(wǎng) 絡(luò)接口板。
4、 根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟Al之前還包括步驟A0:用戶進(jìn)行數(shù)據(jù)配置;所述數(shù)據(jù)配置至少包括配置各網(wǎng)絡(luò)接口板主 備關(guān)系、心跳時(shí)間、倒換策略其中之一。
5、 根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟A4還包括以下 步驟系統(tǒng)控制板定時(shí)將各網(wǎng)絡(luò)接口板的主備信息上報(bào)到操作維護(hù)臺(tái)。
6、 根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟A5還包括步驟A51:各網(wǎng)絡(luò)接口板判斷主備板的工作狀態(tài)發(fā)生變化、或者主備板的工作狀態(tài)發(fā)生變化并至少滿足倒換策略的一項(xiàng)條件,則向操作維護(hù)臺(tái)發(fā)送告警信 白
7、 根據(jù)權(quán)利要求6所述的方法,其特征在于,步驟A5還包括步驟 A52:各網(wǎng)絡(luò)接口板將發(fā)生變化的主備板的工作狀態(tài)寫入其日志文件。
8、 根據(jù)權(quán)利要求1至7任一所述的方法,其特征在于,所述倒換策 略為根據(jù)網(wǎng)絡(luò)接口板的工作狀態(tài)、以及對(duì)比備用網(wǎng)絡(luò)接口板的工作狀態(tài)與 主用網(wǎng)絡(luò)接口板的工作狀態(tài),決定是否進(jìn)行網(wǎng)絡(luò)接口板的主備倒換。
9、 根據(jù)權(quán)利要求8所述的方法,其特征在于,所述對(duì)比備用網(wǎng)絡(luò)接 口板的工作狀態(tài)與主用網(wǎng)絡(luò)接口板的工作狀態(tài),具體包括以下步驟Bl、為網(wǎng)絡(luò)接口板的各項(xiàng)工作狀態(tài)設(shè)置評(píng)分系統(tǒng); B2、分別計(jì)算備用網(wǎng)絡(luò)接口板的全部工作狀態(tài)和主用網(wǎng)絡(luò)接口板的 全部工作狀態(tài)的分^:。
10、 根據(jù)權(quán)利要求8所述的方法,其特征在于,所述倒換策略的條件 至少包括CPU利用率高出CPU利用率預(yù)設(shè)值、內(nèi)存利用率高出內(nèi)存利用率 預(yù)設(shè)值、端口流量高出端口流量預(yù)設(shè)值、網(wǎng)線連接不通、網(wǎng)關(guān)狀態(tài)不通、 與系統(tǒng)控制板通信中斷、任務(wù)運(yùn)行狀態(tài)發(fā)生掛起其中之一。
全文摘要
本發(fā)明公開了一種通過心跳機(jī)制實(shí)現(xiàn)網(wǎng)絡(luò)接口板倒換的方法,其包括步驟第一網(wǎng)絡(luò)接口板啟動(dòng)時(shí),默認(rèn)設(shè)置為備用網(wǎng)絡(luò)接口板,并請(qǐng)求系統(tǒng)控制板發(fā)送配置消息;系統(tǒng)控制板向第一網(wǎng)絡(luò)接口板發(fā)送配置消息;第一與第二網(wǎng)絡(luò)接口板分別發(fā)送包含本板工作狀態(tài)的心跳消息到系統(tǒng)控制板;系統(tǒng)控制板根據(jù)倒換策略和兩網(wǎng)絡(luò)接口板的工作狀態(tài),進(jìn)行決策,確定兩網(wǎng)絡(luò)接口板的主備關(guān)系;兩網(wǎng)絡(luò)接口板通過心跳互報(bào)本板工作狀態(tài),以及本板與系統(tǒng)控制板的通信狀態(tài);主用網(wǎng)絡(luò)接口板判斷本板與系統(tǒng)控制板發(fā)生通信故障,則由主備網(wǎng)絡(luò)接口板之間根據(jù)倒換策略進(jìn)行決策,重新確定兩網(wǎng)絡(luò)接口板的主備關(guān)系。這樣,在發(fā)生故障時(shí)可以自愈恢復(fù),具有業(yè)務(wù)不中斷、網(wǎng)絡(luò)可靠性高的優(yōu)點(diǎn)。
文檔編號(hào)H04L12/24GK101150430SQ20071007718
公開日2008年3月26日 申請(qǐng)日期2007年9月17日 優(yōu)先權(quán)日2007年9月17日
發(fā)明者李旭瑜, 李智強(qiáng) 申請(qǐng)人:中興通訊股份有限公司