專利名稱:基于硬件的主備倒換仲裁方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種基于硬件的主備倒換仲裁方法。
背景技術(shù):
在數(shù)據(jù)通信系統(tǒng)中,越來越多的高端客戶要求產(chǎn)品支持主備倒換來增強(qiáng)系統(tǒng)的可 靠性,由此可見主備倒換技術(shù)的重要性。所謂主備倒換技術(shù)就是指相同的兩個(gè)單元同時(shí)工 作,一個(gè)為主用,一個(gè)為備用,由主用單元輸出有效控制信號(hào)或總線信號(hào),備用單元輸出的 控制信號(hào)或總線信號(hào)處于無效或者關(guān)閉狀態(tài)。當(dāng)主用單元發(fā)生故障時(shí),系統(tǒng)可靠地平滑到 無故障的備用單元上。主備倒換設(shè)計(jì)必須具備兩個(gè)基本功能對單板狀態(tài)進(jìn)行監(jiān)測和保證 單板可靠的硬件切換,以保證倒換機(jī)制的完善并具有對異常的處理功能。在現(xiàn)代系統(tǒng)中,串行總線速率(目前通用的krdes速率最低也在1. 25(ibpS,最高 已經(jīng)達(dá)到6. 25Gbps)和串行數(shù)據(jù)總線帶寬(目前高速總線最小帶寬1.25(ibpS,最大帶寬已 經(jīng)達(dá)到IOO(^bps)在不斷提高,系統(tǒng)中無論是控制層還是數(shù)據(jù)層,都要通過這些高速總線進(jìn) 行通信。因此如果要想實(shí)現(xiàn)傳統(tǒng)意義上的主備倒換,即主用單元數(shù)據(jù)和控制總線完全打開, 備用單元數(shù)據(jù)和控制總線完全關(guān)閉,需要很高速率的邏輯器件控制,而這種器件從價(jià)格上 來說無疑是非常高的,同時(shí)也會(huì)給設(shè)計(jì)者帶來極大的困難。圖1示出了現(xiàn)有技術(shù)一的基于軟件的主備倒換系統(tǒng)的結(jié)構(gòu)示意圖。圖1所示的是 大多數(shù)主備倒換解決方案,整個(gè)主備倒換過程由軟件實(shí)現(xiàn)軟件同時(shí)定期不斷地通過兩邊 CPU接收的狀態(tài)字,來判斷對端CPU的狀態(tài),同時(shí)控制主備狀態(tài)指示信號(hào)。整個(gè)主備倒換過 程全部都由軟件實(shí)現(xiàn),硬件只提供輔助通道的信息,例如狀態(tài)字串并轉(zhuǎn)換模塊、定時(shí)電路、 比較電路等。然而,現(xiàn)有技術(shù)一的基于軟件的主備倒換仍然存在以下問題控制模塊有一根 強(qiáng)制倒換的控制線引入到背板的連接器上,在插入過程中,因接觸或上電等原因,可能會(huì)出 現(xiàn)瞬間插入多次的情況,這樣會(huì)產(chǎn)生爭奪主用權(quán)現(xiàn)象;在程序跑飛,且看門狗(Watchdog) 不正常工作的情況下,有可能會(huì)出現(xiàn)主控程序出錯(cuò)導(dǎo)致無法倒換的情況;當(dāng)發(fā)生熱插拔倒 換的時(shí)候,軟件需要檢測單板是否正常工作,且根據(jù)情況分配主備信息。如果單板發(fā)生連續(xù) 多次插拔抖動(dòng),軟件需要處理多次這種中斷,這樣就會(huì)降低整個(gè)系統(tǒng)的性能;由于主備倒換 主要依靠軟件,所以無法實(shí)現(xiàn)快速納秒級別的快速倒換;單板電路復(fù)雜,需要多個(gè)芯片進(jìn)行 協(xié)作,可靠性差。圖2示出了現(xiàn)有技術(shù)二的基于軟件的主備仲裁算法的應(yīng)用電路示意圖。在該方法 中,由后端的CPU系統(tǒng)判斷兩邊的主備狀態(tài),根據(jù)實(shí)際情況分配主備。在這種方式中,CPU系 統(tǒng)需要不斷讀取兩邊系統(tǒng)的工作狀態(tài),當(dāng)處于主用的單板打算進(jìn)行主備倒換時(shí),將更換自 身的主備信號(hào),這時(shí),處于備用的單板接收到這樣的情況后,發(fā)生主備倒換。然而,現(xiàn)有技術(shù) 二的基于軟件的主備仲裁算法仍然存在以下問題沒有心跳檢測機(jī)制,不知道對端設(shè)備是 否正常運(yùn)轉(zhuǎn),當(dāng)軟件主動(dòng)進(jìn)行命令行倒換的時(shí)候,會(huì)出現(xiàn)整個(gè)系統(tǒng)被掛死的風(fēng)險(xiǎn);本方案至 少需要兩個(gè)邏輯器件和若干外圍器件輔助,增加故障點(diǎn),降低可靠性。針對相關(guān)技術(shù)的無法保證主備倒換的快速性和穩(wěn)定性的問題,目前尚未提出有效的解決方案。
發(fā)明內(nèi)容
本發(fā)明旨在提供一種基于硬件的主備倒換仲裁方法,以解決現(xiàn)有技術(shù)中無法保證 主備倒換的快速性和穩(wěn)定性的問題。為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種基于硬件的主備倒換仲 裁方法。該方法包括熱插拔單元對第一控制板和第二控制板進(jìn)行檢測,并將檢測結(jié)果發(fā)送 給主備倒換單元;主備倒換單元根據(jù)第一控制板的CPU和第二控制板的CPU各自的準(zhǔn)備信 號(hào)以及檢測結(jié)果確定第一控制板和第二控制板的主備資格,并將主備資格發(fā)送給主備倒換 仲裁器;主備倒換仲裁器根據(jù)主備資格自動(dòng)執(zhí)行對第一控制板和第二控制板的主備分配。進(jìn)一步地,熱插拔單元對第一控制板和第二控制板進(jìn)行檢測包括檢測第一控制 板和第二控制板是否在位,若是,則使能第一控制板和第二控制板的電源,并檢測第一控制 板和第二控制板的電源是否正常。進(jìn)一步地,在熱插拔單元完成對第一控制板和第二控制板進(jìn)行的檢測后,第一控 制板的CPU和第二控制板的CPU執(zhí)行軟件初始化,并將各自的準(zhǔn)備信號(hào)發(fā)送給主備倒換單元。進(jìn)一步地,確定第一控制板和第二控制板的主備資格包括當(dāng)檢測結(jié)果為第一控 制板和第二控制板在位信號(hào)有效、電源正常信號(hào)有效、且各自的準(zhǔn)備信號(hào)有效時(shí),則根據(jù)各 自的準(zhǔn)備信號(hào)發(fā)送的先后順序確定主備資格,先發(fā)送準(zhǔn)備信號(hào)的控制板為主用控制板。進(jìn)一步地,確定第一控制板和第二控制板的主備資格包括當(dāng)檢測結(jié)果為第一控 制板的電源正常信號(hào)有效而第二控制板的電源正常信號(hào)無效,且第一控制板的CPU發(fā)出的 準(zhǔn)備信號(hào)有效時(shí),則確定第一控制板為主用控制板。進(jìn)一步地,確定第一控制板和第二控制板的主備資格包括當(dāng)檢測結(jié)果為第一控 制板和第二控制板的在位信號(hào)有效、第一控制板和所述第二控制板的電源正常信號(hào)有效、 且第一控制板的CPU發(fā)出的準(zhǔn)備信號(hào)有效而第二控制板的CPU發(fā)出的準(zhǔn)備信號(hào)無效時(shí),則 確定第一控制板為主用控制板。進(jìn)一步地,在主備倒換仲裁器執(zhí)行完主備分配后,主備倒換仲裁器啟動(dòng)心跳檢測 模塊以檢測第一控制板和第二控制板的軟件運(yùn)行狀態(tài),若心跳檢測模塊檢測到主用控制板 的軟件運(yùn)行異常,則主備倒換仲裁器執(zhí)行主備倒換。進(jìn)一步地,主備倒換時(shí)間為20ns。進(jìn)一步地,當(dāng)主用控制板的準(zhǔn)備信號(hào)置為無效時(shí),則主備倒換仲裁器執(zhí)行主備倒換。進(jìn)一步地,當(dāng)主用控制板的在位信號(hào)、電源信號(hào)和準(zhǔn)備信號(hào)均置為無效時(shí),則主備 倒換仲裁器執(zhí)行主備倒換。應(yīng)用本發(fā)明的技術(shù)方案,采用基于硬件的主備倒換仲裁器實(shí)現(xiàn)主備倒換控制,無 需軟件參與,具有速度快、穩(wěn)定性高的特點(diǎn)。除了上面所描述的目的、特征和優(yōu)點(diǎn)之外,本發(fā)明還有其它的目的、特征和優(yōu)點(diǎn)。 下面將參照圖,對本發(fā)明作進(jìn)一步詳細(xì)的說明。
附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí) 施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1示出了現(xiàn)有技術(shù)一的基于軟件的主備倒換系統(tǒng)的結(jié)構(gòu)示意圖;圖2示出了現(xiàn)有技術(shù)二的基于軟件的主備仲裁算法的應(yīng)用電路示意圖;圖3示出了根據(jù)本發(fā)明實(shí)施例的基于硬件的主備倒換仲裁方法的流程圖;圖4示出了根據(jù)本發(fā)明實(shí)施例的基于硬件的主備倒換仲裁方法對應(yīng)的應(yīng)用結(jié)構(gòu) 示意圖;以及圖5示出了根據(jù)本發(fā)明實(shí)施例的基于硬件的主備倒換仲裁系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式以下結(jié)合附圖對本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明,但是本發(fā)明可以由權(quán)利要求限定 和覆蓋的多種不同方式實(shí)施。本發(fā)明的目的在于提供一種新主備倒換的方法,以進(jìn)一步提高系統(tǒng)主備倒換的可 靠性和準(zhǔn)確性。同時(shí)本發(fā)明和傳統(tǒng)意義的主備倒換區(qū)別在于,一切的主備狀態(tài)的切換,完全 由硬件實(shí)現(xiàn),不需要軟件參與,保證了主備倒換的快速性和實(shí)時(shí)性。圖3示出了根據(jù)本發(fā)明實(shí)施例的基于硬件的主備倒換仲裁方法的流程圖。該方法 包括S10,熱插拔單元對第一控制板和第二控制板進(jìn)行檢測,并將檢測結(jié)果發(fā)送給主備 倒換單元。S20,主備倒換單元根據(jù)第一控制板的CPU和第二控制板的CPU各自的準(zhǔn)備信號(hào)以 及檢測結(jié)果確定第一控制板和第二控制板的主備資格,并將主備資格發(fā)送給主備倒換仲裁S30,主備倒換仲裁器根據(jù)主備資格自動(dòng)執(zhí)行對第一控制板和第二控制板的主備 分配。應(yīng)用本發(fā)明的技術(shù)方案,采用基于硬件的主備倒換仲裁器實(shí)現(xiàn)主備倒換控制,無 需軟件參與,具有速度快、穩(wěn)定性高的特點(diǎn)。具體地,在本實(shí)施例中,熱插拔單元對第一控制板和第二控制板進(jìn)行檢測包括檢 測第一控制板和第二控制板是否在位,若是,則使能第一控制板和第二控制板的電源,并檢 測第一控制板和第二控制板的電源是否正常。在本實(shí)施例中,在熱插拔單元完成對第一控制板和第二控制板進(jìn)行的檢測后,第 一控制板的CPU和第二控制板的CPU執(zhí)行軟件初始化,并將各自的準(zhǔn)備信號(hào)發(fā)送給主備倒 換單元。在本實(shí)施例中,可以通過以下步驟確定第一控制板和第二控制板的主備資格當(dāng) 檢測結(jié)果為第一控制板和第二控制板在位信號(hào)有效、電源正常信號(hào)有效、且各自的準(zhǔn)備信 號(hào)有效時(shí),則根據(jù)各自的準(zhǔn)備信號(hào)發(fā)送的先后順序確定主備資格,先發(fā)送準(zhǔn)備信號(hào)的控制 板為主用控制板。當(dāng)然,還可以通過以下步驟確定第一控制板和第二控制板的主備資格當(dāng)檢測結(jié) 果為第一控制板的電源正常信號(hào)有效而第二控制板的電源正常信號(hào)無效,且第一控制板的
5CPU發(fā)出的準(zhǔn)備信號(hào)有效時(shí),則確定第一控制板為主用控制板。還可以通過以下步驟確定第一控制板和第二控制板的主備資格當(dāng)檢測結(jié)果為第 一控制板和第二控制板的在位信號(hào)有效、第一控制板和所述第二控制板的電源正常信號(hào)有 效、且第一控制板的CPU發(fā)出的準(zhǔn)備信號(hào)有效而第二控制板的CPU發(fā)出的準(zhǔn)備信號(hào)無效時(shí), 則確定第一控制板為主用控制板。在本實(shí)施例中,在主備倒換仲裁器執(zhí)行完主備分配后,主備倒換仲裁器啟動(dòng)心跳 檢測模塊以檢測第一控制板和第二控制板的軟件運(yùn)行狀態(tài),若心跳檢測模塊檢測到主用控 制板的軟件運(yùn)行異常,則主備倒換仲裁器執(zhí)行主備倒換。其中,主備倒換時(shí)間為20ns。在本實(shí)施例中,當(dāng)主用控制板的準(zhǔn)備信號(hào)置為無效時(shí),則主備倒換仲裁器執(zhí)行主 備倒換。在本實(shí)施例中,當(dāng)主用控制板的在位信號(hào)、電源信號(hào)和準(zhǔn)備信號(hào)均置為無效時(shí),則 主備倒換仲裁器執(zhí)行主備倒換。圖4示出了根據(jù)本發(fā)明實(shí)施例的基于硬件的主備倒換仲裁方法對應(yīng)的應(yīng)用結(jié)構(gòu) 示意圖。圖4中的信號(hào)的定義參照下述表1。表 權(quán)利要求
1.一種基于硬件的主備倒換仲裁方法,其特征在于,包括熱插拔單元對第一控制板和第二控制板進(jìn)行檢測,并將檢測結(jié)果發(fā)送給主備倒換單元所述主備倒換單元根據(jù)所述第一控制板的CPU和所述第二控制板的CPU各自的準(zhǔn)備信 號(hào)以及所述檢測結(jié)果確定所述第一控制板和所述第二控制板的主備資格,并將所述主備資 格發(fā)送給主備倒換仲裁器;所述主備倒換仲裁器根據(jù)所述主備資格自動(dòng)執(zhí)行對所述第一控制板和所述第二控制 板的主備分配。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述熱插拔單元對所述第一控制板和所 述第二控制板進(jìn)行檢測包括檢測所述第一控制板和所述第二控制板是否在位,若是,則使 能所述第一控制板和所述第二控制板的電源,并檢測所述第一控制板和所述第二控制板的 電源是否正常。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述熱插拔單元完成對所述第一控制 板和所述第二控制板進(jìn)行的檢測后,所述第一控制板的CPU和所述第二控制板的CPU執(zhí)行 軟件初始化,并將所述各自的準(zhǔn)備信號(hào)發(fā)送給所述主備倒換單元。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,確定所述第一控制板和所述第二控制板 的主備資格包括當(dāng)所述檢測結(jié)果為所述第一控制板和所述第二控制板在位信號(hào)有效、所 述電源正常信號(hào)有效、且所述各自的準(zhǔn)備信號(hào)有效時(shí),則根據(jù)所述各自的準(zhǔn)備信號(hào)發(fā)送的 先后順序確定所述主備資格,先發(fā)送準(zhǔn)備信號(hào)的控制板為主用控制板。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,確定所述第一控制板和所述第二控制板 的主備資格包括當(dāng)所述檢測結(jié)果為所述第一控制板的電源正常信號(hào)有效而所述第二控制 板的電源正常信號(hào)無效,且所述第一控制板的CPU發(fā)出的準(zhǔn)備信號(hào)有效時(shí),則確定所述第 一控制板為主用控制板。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,確定所述第一控制板和所述第二控制板 的主備資格包括當(dāng)所述檢測結(jié)果為所述第一控制板和所述第二控制板的在位信號(hào)有效、 所述第一控制板和所述第二控制板的電源正常信號(hào)有效、且所述第一控制板的CPU發(fā)出的 準(zhǔn)備信號(hào)有效而所述第二控制板的CPU發(fā)出的準(zhǔn)備信號(hào)無效時(shí),則確定所述第一控制板為 主用控制板。
7.根據(jù)權(quán)利要求4-6中任一項(xiàng)所述的方法,其特征在于,還包括在所述主備倒換仲裁 器執(zhí)行完主備分配后,所述主備倒換仲裁器啟動(dòng)心跳檢測模塊以檢測所述第一控制板和所 述第二控制板的軟件運(yùn)行狀態(tài),若所述心跳檢測模塊檢測到所述主用控制板的軟件運(yùn)行異 常,則所述主備倒換仲裁器執(zhí)行主備倒換。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述主備倒換時(shí)間為20ns。
9.根據(jù)權(quán)利要求4-6中任一項(xiàng)所述的方法,其特征在于,還包括當(dāng)所述主用控制板的 所述準(zhǔn)備信號(hào)置為無效時(shí),則所述主備倒換仲裁器執(zhí)行主備倒換。
10.根據(jù)權(quán)利要求4-6中任一項(xiàng)所述的方法,其特征在于,還包括當(dāng)所述主用控制板 的在位信號(hào)、電源信號(hào)和準(zhǔn)備信號(hào)均置為無效時(shí),則所述主備倒換仲裁器執(zhí)行主備倒換。
全文摘要
本發(fā)明提供了一種基于硬件的主備倒換仲裁方法。該方法包括熱插拔單元對第一控制板和第二控制板進(jìn)行檢測,并將檢測結(jié)果發(fā)送給主備倒換單元;所述主備倒換單元根據(jù)所述第一控制板的CPU和所述第二控制板的CPU各自的準(zhǔn)備信號(hào)以及所述檢測結(jié)果確定所述第一控制板和所述第二控制板的主備資格,并將所述主備資格發(fā)送給主備倒換仲裁器;所述主備倒換仲裁器根據(jù)所述主備資格自動(dòng)執(zhí)行對所述第一控制板和所述第二控制板的主備分配。應(yīng)用本發(fā)明的技術(shù)方案,采用基于硬件的主備倒換仲裁器實(shí)現(xiàn)主備倒換控制,無需軟件參與,具有速度快、穩(wěn)定性高的特點(diǎn)。
文檔編號(hào)G06F11/20GK102073562SQ20101062057
公開日2011年5月25日 申請日期2010年12月31日 優(yōu)先權(quán)日2010年12月31日
發(fā)明者劉丁 申請人:山石網(wǎng)科通信技術(shù)(北京)有限公司