專利名稱:一種支持?jǐn)?shù)據(jù)協(xié)議保護(hù)的控制方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信協(xié)議保護(hù)領(lǐng)域,特別是指一種支持?jǐn)?shù)據(jù)協(xié)議保護(hù)的控制方法 和系統(tǒng)。
背景技術(shù):
在數(shù)據(jù)通信系統(tǒng)中,協(xié)議是數(shù)據(jù)傳送、調(diào)制和解調(diào)的基礎(chǔ)。在很多設(shè)備中都利用 CPU來運(yùn)行一些協(xié)議,例如以太網(wǎng)交換機(jī)在MAC層可能使用路由功能,目前普遍使用的MAC 層路由方式是利用IEEE802. 1協(xié)議標(biāo)準(zhǔn)生成樹算法,也就是在以太網(wǎng)交換機(jī)中生成樹協(xié) 議。在實(shí)際運(yùn)行中,所述協(xié)議(例如以太網(wǎng)生成樹協(xié)議)需要進(jìn)行較好的實(shí)時(shí)處理, 一旦在一定時(shí)間內(nèi)協(xié)議停止運(yùn)行將會導(dǎo)致數(shù)據(jù)通信系統(tǒng)的數(shù)據(jù)流中斷。目前所采用的系統(tǒng) 結(jié)構(gòu)中,協(xié)議運(yùn)行和運(yùn)算控制都是由一個CPU完成。當(dāng)設(shè)備需要升級軟件導(dǎo)致CPU必須停 止運(yùn)行一段時(shí)間,或者由于外界原因?qū)е翪PU復(fù)位,此時(shí)CPU運(yùn)行的協(xié)議將會中斷運(yùn)行一段 時(shí)間,這種情況會導(dǎo)致數(shù)據(jù)通信系統(tǒng)的業(yè)務(wù)中斷,影響設(shè)備運(yùn)行的穩(wěn)定性。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種支持?jǐn)?shù)據(jù)協(xié)議保護(hù)的控制方法和系 統(tǒng),可以保證協(xié)議運(yùn)行不會出現(xiàn)長時(shí)間的中斷,提高設(shè)備運(yùn)行的穩(wěn)定性。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的本發(fā)明提供了一種支持?jǐn)?shù)據(jù)協(xié)議保護(hù)的控制方法,所述方法包括主備仲裁單元判斷主CPU進(jìn)行主備倒換的形式如果主CPU需要收回協(xié)議運(yùn)行權(quán),則指示主CPU運(yùn)行協(xié)議,從CPU備份相關(guān)協(xié)議信 息;如果主CPU需要交出協(xié)議運(yùn)行權(quán),則指示從CPU運(yùn)行協(xié)議。其中,所述主備仲裁單元判斷主CPU進(jìn)行主備倒換的形式之前,還包括主CPU檢查協(xié)議運(yùn)行狀態(tài),如果由主CPU運(yùn)行協(xié)議,則由主CPU檢查從CPU是否正 常,如果由從CPU運(yùn)行協(xié)議,主CPU則收回協(xié)議運(yùn)行權(quán);如果從CPU正常,則主CPU檢查是否需要主備倒換,否則返回重新檢查協(xié)議運(yùn)行狀 態(tài);如果需要主備倒換,主CPU則交出協(xié)議運(yùn)行權(quán),否則正常發(fā)送主心跳信號。其中,所述由主CPU檢查從CPU是否正常,具體是主CPU通過和主從備份單元進(jìn)行 信息交互,判斷從CPU工作是否正常;和/或,主CPU則收回協(xié)議運(yùn)行權(quán)之前,還包括主CPU檢查自身運(yùn)行是否正常,如果正常 則收回協(xié)議運(yùn)行權(quán),否則返回由主CPU重新檢查協(xié)議運(yùn)行狀態(tài)。其中,所述主CPU需要交出協(xié)議運(yùn)行權(quán)的情況,還包括主CPU運(yùn)行協(xié)議過程中,主 備仲裁單元沒有檢測到主心跳信號。
其中,所述指示主CPU運(yùn)行協(xié)議之前,還包括如果主CPU需要收回協(xié)議運(yùn)行權(quán),檢查主CPU運(yùn)行是否正常,在正常的情況下,指 示主CPU運(yùn)行協(xié)議,從CPU備份相關(guān)協(xié)議信息,否則檢查從CPU運(yùn)行狀態(tài),如果從CPU運(yùn)行 正常,指示從CPU運(yùn)行協(xié)議,否則返回重新判斷主CPU進(jìn)行主備倒換的形式,并發(fā)送從CPU
不可用告警。
其中,所述指示從CPU運(yùn)行協(xié)議之前,還包括主備仲裁單元檢查從CPU的運(yùn)行是否正常,在正常的情況下,指示從CPU運(yùn)行協(xié) 議,否則返回重新判斷主CPU進(jìn)行主備倒換的形式,并發(fā)送從CPU不可用告警。其中,所述指示主CPU或從CPU運(yùn)行協(xié)議,具體是通過主備仲裁單元發(fā)送給主CPU 或從CPU的指示信號主CPU運(yùn)行狀態(tài)(master_on)或指示信號從CPU運(yùn)行狀態(tài)(slave_0n) 實(shí)現(xiàn)的;和/或,所述主備仲裁單元判斷主CPU進(jìn)行主備倒換的形式,具體是通過檢查主CPU發(fā)送 給所述主備仲裁單元的指示信號主CPU切換(Cpu_d0wn)實(shí)現(xiàn)的。本發(fā)明還提供了一種支持?jǐn)?shù)據(jù)協(xié)議保護(hù)的控制系統(tǒng),所述系統(tǒng)包括主CPU、從 CPU、主備仲裁單元和主從備份單元,其中,所述主CPU,用于運(yùn)行協(xié)議和軟件;所述從CPU,用于通過主從備份單元同步備份一些重要的相關(guān)協(xié)議,并在主CPU不 能運(yùn)行時(shí),運(yùn)行所述協(xié)議;所述主備仲裁單元,用于對當(dāng)前狀態(tài)進(jìn)行仲裁,決定由主CPU或從CPU運(yùn)行相關(guān)協(xié) 議;所述主從備份單元,用于相關(guān)協(xié)議信息的存儲備份。其中,所述主備仲裁單元中,還包括主備倒換判斷子單元、心跳檢查子單元、倒換 指示發(fā)送子單元、和告警子單元,其中,所述主備倒換判斷子單元,用于判斷主CPU發(fā)送的指示信號,并且發(fā)送指令給心 跳檢查子單元;所述心跳檢查子單元,用于執(zhí)行所述主備倒換判斷子單元的指令檢查,并且實(shí)時(shí) 檢測主心跳信號,和/或從心跳信號,將結(jié)果發(fā)送給倒換指示發(fā)送子單元;所述倒換指示發(fā)送子單元,用于分析心跳檢查子單元的結(jié)果,分別向主CPU和從 CPU發(fā)送指示信號;所述告警子單元,用于接收并顯示倒換指示發(fā)送子單元的告警信號。其中,所述主CPU中,還包括主CPU狀態(tài)檢查子單元、從CPU狀態(tài)判斷子單元和主 CPU倒換發(fā)起子單元,其中,所述主CPU狀態(tài)檢查子單元,用于檢查主CPU的工作狀態(tài),根據(jù)主CPU的工作狀態(tài) 向從CPU狀態(tài)判斷子單元和主CPU倒換發(fā)起子單元發(fā)送指令;所述從CPU狀態(tài)判斷子單元,用于接收所述主CPU狀態(tài)檢查子單元的指令后,通過 主從備份單元判斷從CPU工作狀態(tài)是否正常,并向主CPU倒換發(fā)起子單元發(fā)送指令或返回 主CPU狀態(tài)檢查子單元重新檢查;所述主CPU倒換發(fā)起子單元,用于接收主CPU狀態(tài)檢查子單元和CPU狀態(tài)判斷子 單元的指令,判斷現(xiàn)在是否需要進(jìn)行主備倒換,并發(fā)送指示信號、和/或主心跳信號,通知主備倒換判斷子單元進(jìn)行倒換。本發(fā)明提供的支持?jǐn)?shù)據(jù)協(xié)議保護(hù)的控制方法和系統(tǒng),在設(shè)備中提供一個主CPU和一個從CPU,主CPU負(fù)責(zé)運(yùn)行所有的協(xié)議和其他軟件,當(dāng)主CPU需要升級軟件或者由于外界 原因?qū)е翪PU復(fù)位等情況時(shí),通過主備仲裁單元執(zhí)行倒換使用從CPU負(fù)責(zé)重要的相關(guān)協(xié)議 的運(yùn)行,保證了重要協(xié)議運(yùn)行不會出現(xiàn)長時(shí)間中斷,提高了系統(tǒng)設(shè)備工作的穩(wěn)定性。
圖1為本發(fā)明支持?jǐn)?shù)據(jù)協(xié)議保護(hù)的控制系統(tǒng)的基本結(jié)構(gòu)圖;圖2為本發(fā)明主備仲裁單元控制主備倒換的方法流程圖;圖3為本發(fā)明通過主CPU主動控制主備倒換的方法流程圖;圖4為本發(fā)明支持?jǐn)?shù)據(jù)協(xié)議保護(hù)的控制系統(tǒng)結(jié)構(gòu)示意圖;圖5為本發(fā)明通過主CPU主動控制主備倒換的系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施例方式為了更好的理解本發(fā)明,先介紹一下本發(fā)明的基本結(jié)構(gòu),如圖1所示,所述結(jié)構(gòu)包 括主CPU 101,用于運(yùn)行所有需要的協(xié)議和其他軟件;從CPU 102,用于同步備份一些重要 的相關(guān)協(xié)議,以保證在主CPU 101不能運(yùn)行時(shí),運(yùn)行相關(guān)協(xié)議,從CPU 102對整個設(shè)備的控 制能力弱于主CPU 101,因此在從CPU 102上只運(yùn)行影響業(yè)務(wù)運(yùn)行的協(xié)議;主備仲裁單元 103,用于對當(dāng)前狀態(tài)進(jìn)行仲裁,決定由哪個CPU運(yùn)行相關(guān)協(xié)議;主從備份單元104,用于相 關(guān)協(xié)議信息的存儲備份,當(dāng)主CPU正常運(yùn)行時(shí),所述相關(guān)協(xié)議信息由主CPU寫入,從CPU讀 取進(jìn)行備份;當(dāng)主CPU異常時(shí),所述相關(guān)協(xié)議信息由從CPU寫入,目的是主CPU收回協(xié)議運(yùn) 行權(quán)時(shí)可獲取備份的相關(guān)協(xié)議信息。具體的,主CPU 101向主備仲裁單元103提供倒換指示信號cpu_d0Wn (主CPU切 換)和主心跳信號。其中,當(dāng)cpu_d0wn為“1”時(shí),表示主CPU 101要主動交出協(xié)議運(yùn)行權(quán) 給從CPU 102 ;當(dāng)cpu_d0Wn為“0”時(shí),表示主CPU 101要從從CPU 102收回協(xié)議運(yùn)行權(quán)。主 心跳信號是一種均勻持續(xù)的信號,啟動時(shí)表示主CPU 101運(yùn)行正常,消失時(shí)表示主CPU 101 不能正常運(yùn)行。從CPU 102向主備仲裁單元103提供從心跳信號。從心跳信號是一種均勻持續(xù)的 信號,啟動時(shí)表示從CPU 102運(yùn)行正常,消失時(shí)表示從CPU 102不能正常運(yùn)行。主備仲裁單元103分別輸出指示信號masterjn(主CPU運(yùn)行狀態(tài))給主CPU 101 ; 指示信號slave_on (從CPU運(yùn)行狀態(tài))給從CPU 102。兩個指示信號相反,當(dāng)master_on為 “1”、slave_on 為 “0” 時(shí),表示由主 CPU 101 運(yùn)行相關(guān)協(xié)議;當(dāng) master_on 為 “0”、slave_on 為“1”時(shí),表示由從CPU 102運(yùn)行相關(guān)協(xié)議。在實(shí)際運(yùn)用中,選擇可編輯邏輯器件作為主備仲裁單元的芯片,它獲取兩個CPU 的狀態(tài)信息進(jìn)行仲裁,決定當(dāng)前的協(xié)議運(yùn)行權(quán)的歸屬。同時(shí),在其內(nèi)部實(shí)現(xiàn)一個大容量的雙 端口 RAM (Random Access Memory,隨機(jī)存儲器)作為主從備份單元,分別與主從CPU相連。 主從CPU還需要通過二層交換芯片作為數(shù)據(jù)處理單元來完成協(xié)議的運(yùn)行??删庉嬤壿嬈骷?根據(jù)主從CPU的狀態(tài)來決定當(dāng)前由哪個CPU運(yùn)行相關(guān)協(xié)議,當(dāng)主CPU需要更新軟件或者突 發(fā)異常時(shí),協(xié)議的運(yùn)行權(quán)將會移交給從CPU繼續(xù)控制這個交換芯片;當(dāng)主CPU恢復(fù)正常后通過仲裁機(jī)制可以將協(xié)議運(yùn)行權(quán)收回,從而實(shí)現(xiàn)了數(shù)據(jù)處理不中斷,不受CPU的影響,大大提高設(shè)備的穩(wěn)定性。下面結(jié)合附圖和具體實(shí)施例對本發(fā)明的技術(shù)方案進(jìn)一步詳細(xì)闡述。圖2所示為本發(fā)明主備仲裁單元控制主備倒換的方法流程圖,如圖2所示,具體步 驟為步驟201,主備仲裁單元判斷主CPU進(jìn)行主備倒換的形式,如果主CPU需要交出協(xié) 議運(yùn)行權(quán),則執(zhí)行步驟204,如果主CPU需要收回協(xié)議運(yùn)行權(quán)則執(zhí)行步驟202 ;具體的,主備仲裁單元檢查主CPU的指示信號cpu_d0Wn,當(dāng)指示信號cpu_d0Wn為 “1”時(shí),表示主CPU要主動交出協(xié)議運(yùn)行權(quán)給從CPU ;當(dāng)指示信號Cpu_d0wn為“0”時(shí),表示 主CPU要從從CPU收回協(xié)議運(yùn)行權(quán)。同時(shí),如果主CPU運(yùn)行協(xié)議的過程中,主心跳信號沒有 出現(xiàn),說明主CPU發(fā)生故障,這種情況下也表示主CPU需要交出協(xié)議運(yùn)行權(quán)。步驟202,主備仲裁單元檢查主CPU是否正常運(yùn)行,如果不正常執(zhí)行步驟204,如果 正常執(zhí)行步驟203 ;具體的,主備仲裁單元通過檢查主CPU的主心跳信號是否正常出現(xiàn),如果沒出現(xiàn), 說明主CPU運(yùn)行不正常,如果出現(xiàn),說明主CPU運(yùn)行正常。步驟203,主備仲裁單元指示主CPU運(yùn)行相關(guān)協(xié)議,并返回步驟201 ;具體的,主備仲裁單元設(shè)置指示信號maSter_0n為“ 1 ”并輸出給主CPU、指示信號 slave_on為“0”并輸出給從CPU,表示由主CPU運(yùn)行相關(guān)協(xié)議、從CPU同步備份。主CPU收 回協(xié)議運(yùn)行權(quán)時(shí),可通過主從備份單元獲取備份的相關(guān)協(xié)議信息。步驟204,主備仲裁單元檢查從CPU是否正常運(yùn)行,如果不正常則返回步驟201,同 時(shí)產(chǎn)生從CPU不可用告警,如果正常執(zhí)行步驟205 ;具體的,主備仲裁單元通過檢查從CPU的從心跳信號是否正常出現(xiàn),如果沒出現(xiàn), 說明從CPU運(yùn)行不正常,如果出現(xiàn),說明從CPU運(yùn)行正常。步驟205,主備仲裁單元指示從CPU運(yùn)行相關(guān)協(xié)議,并返回步驟201。具體的,主備仲裁單元設(shè)置指示信號maSter_0n為“0”并輸出給主CPU、指示信號 slave_on為“ 1”并輸出給從CPU,表示由從CPU運(yùn)行相關(guān)協(xié)議,具體地,從CPU根據(jù)備份的 相關(guān)協(xié)議信息運(yùn)行相關(guān)協(xié)議,同時(shí)從CPU將運(yùn)行的相關(guān)協(xié)議的信息寫入主從備份單元,目 的是主CPU收回協(xié)議運(yùn)行權(quán)時(shí)可獲取備份的相關(guān)協(xié)議信息。從CPU對整個設(shè)備的控制能力 弱于主CPU,因此在從CPU上只運(yùn)行影響業(yè)務(wù)運(yùn)行的協(xié)議。通過上述方法可以避免主CPU由于特殊原因不能正常工作時(shí),相關(guān)協(xié)議運(yùn)行出現(xiàn) 長時(shí)間的中斷。通常情況下是由主CPU運(yùn)行協(xié)議。如果主CPU收到上層控制信號需要暫時(shí)停止運(yùn) 行協(xié)議時(shí),例如執(zhí)行軟件升級等操作,還可以通過主CPU主動控制主備倒換。同時(shí)在主CPU 恢復(fù)正常后也需要重新倒換恢復(fù)由主CPU運(yùn)行協(xié)議。圖3所示為本發(fā)明通過主CPU主動控 制主備倒換的方法流程圖,如圖3所示,具體步驟為步驟301,主CPU檢查當(dāng)前工作狀態(tài),當(dāng)前狀態(tài)不是主CPU執(zhí)行協(xié)議時(shí),執(zhí)行步驟 306,如果是執(zhí)行步驟302 ;具體的,主CPU檢查收到的指示信號master^n是否為“1”,如果不是則表示從 CPU正在運(yùn)行協(xié)議;如果是則表示主CPU正在運(yùn)行協(xié)議;
步驟302,主CPU通過和主從備份單元進(jìn)行信息交互,判斷從CPU的工作狀態(tài),如果不正常則不能進(jìn)行主備倒換,返回步驟301,如果正常則執(zhí)行步驟303 ;具體的,主CPU在將協(xié)議信息寫入主從備份單元的同時(shí),可以采集主從備份單元中從CPU同步讀取的進(jìn)度指示。如果從CPU運(yùn)行不正常,無法同步讀取相關(guān)協(xié)議信息,同步 進(jìn)度將會達(dá)到警告門限,主CPU即可獲得從CPU同步異常的進(jìn)度指示。如果從CPU運(yùn)行正 常,主CPU不會獲得從CPU同步異常的進(jìn)度指示。步驟303,主CPU檢查現(xiàn)在是否需要進(jìn)行主備倒換,如果需要則執(zhí)行步驟304,如果 不需要則執(zhí)行步驟305 ;具體的,主CPU通過上層的倒換指令來判斷是否需要進(jìn)行主備倒換。其中,所述上 層指網(wǎng)管等管理設(shè)備。步驟304,主CPU發(fā)送指示信號通知主備仲裁單元進(jìn)行倒換,然后返回步驟301 ;具體的,發(fā)送指示信號通知主備仲裁單元進(jìn)行倒換具體是設(shè)置cpU_doWn信號為 “1”,表示主CPU要交出協(xié)議運(yùn)行權(quán)。步驟305,正常發(fā)送主心跳信號,然后返回步驟301 ;步驟306,主CPU檢查自身是否可以正常運(yùn)行相關(guān)協(xié)議,如果可以則執(zhí)行步驟307, 如果不可以則返回步驟301 ;步驟307,主CPU發(fā)送指示信號通知主備仲裁單元進(jìn)行倒換,并正常發(fā)送主心跳信 號,然后返回步驟301。具體的,發(fā)送指示信號通知主備仲裁單元進(jìn)行倒換具體是設(shè)置cpU_doWn信號為 “0”,表示主CPU要收回協(xié)議運(yùn)行權(quán),主CPU根據(jù)備份的相關(guān)協(xié)議信息運(yùn)行相關(guān)協(xié)議。圖4所示為本發(fā)明支持?jǐn)?shù)據(jù)協(xié)議保護(hù)的控制系統(tǒng),其中的主備仲裁單元103具體 可以包括主備倒換判斷子單元401、心跳檢查子單元402、倒換指示發(fā)送子單元403、和告 警子單元404,其中,主備倒換判斷子單元401,用于判斷主CPU 101發(fā)送的指示信號cpU_doWn,并且發(fā) 送指令給心跳檢查子單元402 ;具體的,主備倒換判斷子單元401通過主CPU 101的指示信號cpu_d0Wn判斷主 CPU 101進(jìn)行主備倒換的形式,當(dāng)指示信號cpu_d0wn為“1”時(shí),表示主CPU 101要主動交出 協(xié)議運(yùn)行權(quán)給從CPU 102,發(fā)送指令讓心跳檢查子單元402檢查從心跳信號是否正常;當(dāng)指 示信號cpu_d0Wn為“0”時(shí),表示主CPUlOl要從從CPU 102收回協(xié)議運(yùn)行權(quán),發(fā)送指令讓心 跳檢查子單元402檢查主心跳信號是否正常。心跳檢查子單元402,用于執(zhí)行主備倒換判斷子單元401的指令檢查,并且實(shí)時(shí)檢 測主心跳信號,和/或從心跳信號,將結(jié)果發(fā)送給倒換指示發(fā)送子單元403 ;具體的,實(shí)時(shí)監(jiān)測主心跳信號的目的是,當(dāng)主CPU執(zhí)行協(xié)議時(shí),如果突然出現(xiàn)故 障,即主心跳信號不正常,這種情況下,也表示主CPUlOl需要交出協(xié)議運(yùn)行權(quán),則檢測從心 跳信號是否正常,并將結(jié)果發(fā)送給倒換指示發(fā)送子單元403。倒換指示發(fā)送子單元403,用于分析心跳檢查子單元402的結(jié)果,分別向主CPU 101和從CPU 102發(fā)送指示信號;其中,發(fā)送給主CPU 101和從CPU 102的指示信號,分別是指示信號masterjn和 指不信號slave_on。
具體的,當(dāng)?shù)箵Q指示發(fā)送子單元403接收的結(jié)果顯示心跳檢查子單元402檢查的是主心跳信號,而且主心跳信號正常時(shí),設(shè)置指示信號maSter_on為“ 1”、指示信號slaVe_ on為“0”,表示由主CPU 101運(yùn)行相關(guān)協(xié)議、從CPU 102同步備份;如果主心跳信號不正常, 倒換指示發(fā)送子單元403則向心跳檢查子單元402發(fā)送指令,命令心跳檢查子單元402檢 查從心跳信號。當(dāng)?shù)箵Q指示發(fā)送子單元403接收的結(jié)果顯示心跳檢查子單元402檢查的是 從心跳信號,而且從心跳信號正常時(shí),設(shè)置指示信號maSter_on為“0”、指示信號slave_0n 為“1”,表示由從CPU 102運(yùn)行相關(guān)協(xié)議;如果從心跳信號不正常,則向告警子單元404發(fā) 送從CPU 102不可用告警。告警子單元404,用于接收并顯示倒換指示發(fā)送子單元403的告警信號。通常情況下是由主CPU運(yùn)行協(xié)議。如果主CPU收到上層控制信號需要暫時(shí)停止運(yùn) 行協(xié)議時(shí),例如執(zhí)行軟件升級等操作,還可以通過主CPU主動控制主備倒換。在主CPU恢 復(fù)正常后也需要重新倒換由主CPU運(yùn)行協(xié)議。因此,如圖5所示,主CPU 101可以包括主 CPU狀態(tài)檢查子單元501、從CPU狀態(tài)判斷子單元502和主CPU倒換發(fā)起子單元503,其中,主CPU狀態(tài)檢查子單元501,用于檢查主CPU 101的工作狀態(tài),根據(jù)主CPU 101的 工作狀態(tài)向從CPU狀態(tài)判斷子單元502和主CPU倒換發(fā)起子單元503發(fā)送指令;具體的,檢查主CPU 101的工作狀態(tài)是通過獲取倒換指示發(fā)送子單元403發(fā)送的 指示信號完成的,當(dāng)指示信號maSter_on為“1”時(shí),說明此時(shí)由主CPUlOl運(yùn)行協(xié)議,則向從 CPU狀態(tài)判斷子單元502發(fā)送指令;如果不為“1”,則向主CPU倒換發(fā)起子單元503發(fā)送指 令,命令主CPU倒換發(fā)起子單元503發(fā)送cpU_doWn信號為“0”。從CPU狀態(tài)判斷子單元502,用于接收到主CPU狀態(tài)檢查子單元501的指令后,通 過主從備份單元104判斷從CPU 102工作狀態(tài)是否正常,并向主CPU倒換發(fā)起子單元503 發(fā)送指令或返回主CPU狀態(tài)檢查子單元501重新檢查,在主CPU 101收回協(xié)議運(yùn)行權(quán)時(shí),通 過主從備份單元104獲取從CPU 102運(yùn)行協(xié)議時(shí)寫入的備份的相關(guān)協(xié)議;具體的,如果從CPU 102運(yùn)行不正常,無法同步讀取主從備份單元104中備份的協(xié) 議信息,同步進(jìn)度將會達(dá)到警告門限,從CPU狀態(tài)判斷子單元501即可獲得從CPU 102同 步異常的進(jìn)度指示,在這種情況下,返回主CPU狀態(tài)檢查子單元501重新檢查。如果從CPU 102運(yùn)行正常,從CPU狀態(tài)判斷子單元501不會獲得從CPU 102同步異常的進(jìn)度指示,在這 種情況下,向主CPU倒換發(fā)起子單元503發(fā)送指令。主CPU倒換發(fā)起子單元503,用于接收主CPU狀態(tài)檢查子單元501和CPU狀態(tài)判斷 子單元502的指令,判斷現(xiàn)在是否需要進(jìn)行主備倒換,并發(fā)送指示信號、和/或主心跳信號, 通知主備倒換判斷子單元401進(jìn)行倒換。具體的,接收到主CPU狀態(tài)檢查子單元501的指令后,向主備倒換判斷子單元401 發(fā)送cpU_doWn信號為“0”并正常發(fā)送主心跳信號,表示主CPU 101要從從CPU 102收回協(xié) 議運(yùn)行權(quán)。接收到從CPU狀態(tài)判斷子單元502的結(jié)果后,當(dāng)主CPU倒換發(fā)起子單元503收 到上層的倒換指令時(shí),發(fā)送指示信號通知主備倒換判斷子單元401進(jìn)行倒換,具體方法是 設(shè)置cpU_doWn信號為“ 1 ”,如果沒有收到倒換指令,則正常發(fā)送心跳信號,并返回主CPU狀 態(tài)檢查子單元501重新檢查。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍,凡在 本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)
權(quán)利要求
一種支持?jǐn)?shù)據(jù)協(xié)議保護(hù)的控制方法,其特征在于,所述方法包括主備仲裁單元判斷主CPU進(jìn)行主備倒換的形式如果主CPU需要收回協(xié)議運(yùn)行權(quán),則指示主CPU運(yùn)行協(xié)議,從CPU備份相關(guān)協(xié)議信息;如果主CPU需要交出協(xié)議運(yùn)行權(quán),則指示從CPU運(yùn)行協(xié)議。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述主備仲裁單元判斷主CPU進(jìn)行主備倒 換的形式之前,還包括主CPU檢查協(xié)議運(yùn)行狀態(tài),如果由主CPU運(yùn)行協(xié)議,則由主CPU檢查從CPU是否正常, 如果由從CPU運(yùn)行協(xié)議,主CPU則收回協(xié)議運(yùn)行權(quán);如果從CPU正常,則主CPU檢查是否需要主備倒換,否則返回重新檢查協(xié)議運(yùn)行狀態(tài); 如果需要主備倒換,主CPU則交出協(xié)議運(yùn)行權(quán),否則正常發(fā)送主心跳信號。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述由主CPU檢查從CPU是否正常,具體是主CPU通過和主從備份單元進(jìn)行信息交互, 判斷從CPU工作是否正常;和/或,主CPU則收回協(xié)議運(yùn)行權(quán)之前,還包括主CPU檢查自身運(yùn)行是否正常,如果正常則收 回協(xié)議運(yùn)行權(quán),否則返回由主CPU重新檢查協(xié)議運(yùn)行狀態(tài)。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述主CPU需要交出協(xié)議運(yùn)行權(quán)的情 況,還包括主CPU運(yùn)行協(xié)議過程中,主備仲裁單元沒有檢測到主心跳信號。
5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述指示主CPU運(yùn)行協(xié)議之前,還包括如果主CPU需要收回協(xié)議運(yùn)行權(quán),檢查主CPU運(yùn)行是否正常,在正常的情況下,指示主 CPU運(yùn)行協(xié)議,從CPU備份相關(guān)協(xié)議信息,否則檢查從CPU運(yùn)行狀態(tài),如果從CPU運(yùn)行正常, 指示從CPU運(yùn)行協(xié)議,否則返回重新判斷主CPU進(jìn)行主備倒換的形式,并發(fā)送從CPU不可用生敬口目。
6.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述指示從CPU運(yùn)行協(xié)議之前,還包括主備仲裁單元檢查從CPU的運(yùn)行是否正常,在正常的情況下,指示從CPU運(yùn)行協(xié)議,否 則返回重新判斷主CPU進(jìn)行主備倒換的形式,并發(fā)送從CPU不可用告警。
7.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述指示主CPU或從CPU運(yùn)行協(xié)議,具體是通過主備仲裁單元發(fā)送給主CPU或從CPU 的指示信號主CPU運(yùn)行狀態(tài)(master_on)或指示信號從CPU運(yùn)行狀態(tài)(slave_0n)實(shí)現(xiàn)的; 和/或,所述主備仲裁單元判斷主CPU進(jìn)行主備倒換的形式,具體是通過檢查主CPU發(fā)送給所 述主備仲裁單元的指示信號主CPU切換(Cpu_d0wn)實(shí)現(xiàn)的。
8.一種支持?jǐn)?shù)據(jù)協(xié)議保護(hù)的控制系統(tǒng),其特征在于,所述系統(tǒng)包括主CPU、從CPU、主 備仲裁單元和主從備份單元,其中,所述主CPU,用于運(yùn)行協(xié)議和軟件;所述從CPU,用于通過主從備份單元同步備份一些重要的相關(guān)協(xié)議,并在主CPU不能運(yùn) 行時(shí),運(yùn)行所述協(xié)議;所述主備仲裁單元,用于對當(dāng)前狀態(tài)進(jìn)行仲裁,決定由主CPU或從CPU運(yùn)行相關(guān)協(xié)議;所述主從備份單元,用于相關(guān)協(xié)議信息的存儲備份。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述主備仲裁單元中,還包括主備倒換 判斷子單元、心跳檢查子單元、倒換指示發(fā)送子單元、和告警子單元,其中,所述主備倒換判斷子單元,用于判斷主CPU發(fā)送的指示信號,并且發(fā)送指令給心跳檢 查子單元;所述心跳檢查子單元,用于執(zhí)行所述主備倒換判斷子單元的指令檢查,并且實(shí)時(shí)檢測 主心跳信號,和/或從心跳信號,將結(jié)果發(fā)送給倒換指示發(fā)送子單元;所述倒換指示發(fā)送子單元,用于分析心跳檢查子單元的結(jié)果,分別向主CPU和從CPU發(fā) 送指示信號;所述告警子單元,用于接收并顯示倒換指示發(fā)送子單元的告警信號。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述主CPU中,還包括主CPU狀態(tài)檢查 子單元、從CPU狀態(tài)判斷子單元和主CPU倒換發(fā)起子單元,其中,所述主CPU狀態(tài)檢查子單元,用于檢查主CPU的工作狀態(tài),根據(jù)主CPU的工作狀態(tài)向從 CPU狀態(tài)判斷子單元和主CPU倒換發(fā)起子單元發(fā)送指令;所述從CPU狀態(tài)判斷子單元,用于接收所述主CPU狀態(tài)檢查子單元的指令后,通過主從 備份單元判斷從CPU工作狀態(tài)是否正常,并向主CPU倒換發(fā)起子單元發(fā)送指令或返回主CPU 狀態(tài)檢查子單元重新檢查;所述主CPU倒換發(fā)起子單元,用于接收主CPU狀態(tài)檢查子單元和CPU狀態(tài)判斷子單元 的指令,判斷現(xiàn)在是否需要進(jìn)行主備倒換,并發(fā)送指示信號、和/或主心跳信號,通知主備 倒換判斷子單元進(jìn)行倒換。
全文摘要
本發(fā)明公開了一種支持?jǐn)?shù)據(jù)協(xié)議保護(hù)的控制方法,具體包括主備仲裁單元檢查主CPU是否需要進(jìn)行主備倒換如不需要倒換,檢查主CPU運(yùn)行是否正常,當(dāng)正常時(shí),指示主CPU運(yùn)行協(xié)議,否則檢查從CPU運(yùn)行狀態(tài);如需要倒換,檢查從CPU的運(yùn)行狀態(tài);主備仲裁單元檢查從CPU的運(yùn)行是否正常,當(dāng)正常時(shí),指示從CPU運(yùn)行協(xié)議,否則返回重新檢查主CPU是否需要進(jìn)行主備倒換,并發(fā)送從CPU不可用告警;本發(fā)明還公開了一種支持?jǐn)?shù)據(jù)協(xié)議保護(hù)的控制系統(tǒng),基于本發(fā)明的方法和系統(tǒng),保證了重要協(xié)議運(yùn)行不會出現(xiàn)長時(shí)間中斷,提高了系統(tǒng)設(shè)備工作的穩(wěn)定性。
文檔編號H04L29/06GK101808091SQ20101012276
公開日2010年8月18日 申請日期2010年3月11日 優(yōu)先權(quán)日2010年3月11日
發(fā)明者劉楊廣 申請人:中興通訊股份有限公司