專利名稱:一種管理板、雙管理板的模塊化設(shè)備以及主控板選舉方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種管理板、雙管理板的模塊化設(shè)備以及主控板選舉方法。
背景技術(shù):
在數(shù)據(jù)通信領(lǐng)域,模塊化設(shè)備的管理板一般需要支持冗余備份,所以一般中高端模塊化設(shè)備使用雙管理板設(shè)計(jì)以提高設(shè)備的可靠性。在模塊化設(shè)備工作時(shí),起到絕對(duì)主導(dǎo)作用的管理板可以稱之為主控板(Master),而另一張?zhí)幱趥浞轄顟B(tài)的管理板可以稱之為從屬板(Slave)。模塊化設(shè)備的雙管理板設(shè)計(jì)提高了設(shè)備的可靠性,但為了最大化地縮短主機(jī)啟動(dòng)時(shí)間,雙管理板設(shè)計(jì)也引入了新問題如何進(jìn)行快速的主從選舉(主控板選舉),即如何快速確定哪一張管理板為Master,哪一張管理板為Slave。 通常主從選舉需要兩張管理板完全初始化起來,包括內(nèi)核完全運(yùn)行以及外圍初始化基本結(jié)束,建立穩(wěn)定的雙管理板之間的內(nèi)部通信連接關(guān)系并運(yùn)行內(nèi)部通信協(xié)議。而雙管理板通信建立之后進(jìn)行選舉的過程還要相互確認(rèn)和同步配置,然后才能確定主從(Master/Slave)關(guān)系,并由主控板啟動(dòng)模塊化設(shè)備中接口板的初始化和配置,實(shí)現(xiàn)主機(jī)的啟動(dòng)。目前流行的雙管理板之間的連接關(guān)系可以如圖I所示。圖I中CM1,CM2分別表示一張管理板(同時(shí)也表示該管理板的槽位號(hào)碼)。每個(gè)管理板包括串行解串接收發(fā)送(Serdes-in-out)雙向接口,用于實(shí)現(xiàn)CMl和CM2之間的協(xié)議通信;在位檢測(cè)(Present_in)接口(也可以稱為Present-cm接口,或簡(jiǎn)稱為Present接口),若該接口接收到對(duì)方管理板發(fā)送的有效Present_in信號(hào),則確認(rèn)對(duì)方管理板存在或在位;確認(rèn)接收/發(fā)送(Master-in/out)接口,其中Master-out接口可以發(fā)送置為有效的Master-out信號(hào),指示本管理板為Master, Master-in接口用于接收對(duì)方管理板發(fā)送的Master-out信號(hào),確認(rèn)對(duì)方管理板是否為Master ;準(zhǔn)備狀態(tài)接收/發(fā)送(Ready-in/out)接口,Ready-out接口可以發(fā)送置為有效的Ready-out信號(hào),指示本管理板已準(zhǔn)備好,Ready-in接口用于接收對(duì)方管理板發(fā)送的Ready-out信號(hào),確認(rèn)對(duì)方管理板是否準(zhǔn)備好。在模塊化設(shè)備上電或復(fù)位(啟動(dòng))時(shí),如果只有一個(gè)管理板在位,則比較簡(jiǎn)單,直接確認(rèn)該管理板為Master。如果雙管理板都在位(present_in信號(hào)均為有效),則進(jìn)行主從選舉時(shí),針對(duì)每張管理板,其選舉流程可以如圖2所示。首先需要獲取用戶對(duì)自身的預(yù)配置值(即用戶對(duì)該模塊化設(shè)備所處網(wǎng)絡(luò)的預(yù)配置值,通常初次啟動(dòng)為空配置),并且需要初始化Serdes通道(即圖I中的Serdes-in-out雙向通路),用于實(shí)現(xiàn)雙管理板之間的軟件通信交互。之后獲取用戶對(duì)對(duì)方管理板的預(yù)配置值,如果獲取成功,則可以根據(jù)雙方的配置情況來決定出主控板(如果根據(jù)雙方的配置情況無法決定,則可以通過槽位號(hào)來決定哪個(gè)管理板是主控板(如默認(rèn)插入在CMl槽位的管理板是主控板)),如果獲取失敗,如超過設(shè)定的時(shí)長(zhǎng)仍為獲取對(duì)方管理板的預(yù)配置值,則可以確定自身為主控板。
現(xiàn)有的主從選舉方案至少存在以下問題I)選舉方式以管理板的配置為中心,而且必須要雙管理板都要運(yùn)行完文件系統(tǒng)的初始化以及初始化Serdes通道,然后從各自中央處理器(CPU)下掛的配置存儲(chǔ)器中讀取配置信息,并且通過Serdes通道進(jìn)行雙管理板之間的同步操作,同步操作必須傳送完各自所有的配置信息,配置越多,則同步越慢。作為網(wǎng)絡(luò)基礎(chǔ)通信設(shè)施,這耗費(fèi)了寶貴的啟動(dòng)時(shí)間(會(huì)引起用戶斷網(wǎng)或關(guān)鍵業(yè)務(wù)的中斷),現(xiàn)有方案在經(jīng)過反復(fù)優(yōu)化后,在典型配置下(非復(fù)雜配置),啟動(dòng)時(shí)間只能優(yōu)化到30多秒,而復(fù)雜配置的情況下,啟動(dòng)時(shí)間則需要40多秒。2)由于全程涉及到需要通過Serdes接ロ進(jìn)行協(xié)議通信以便交互配置信息,必須要有CPU的高度參與,增大軟件的復(fù)雜性,同時(shí)降低了主從選舉的可靠性,可能因?yàn)檐浖罊C(jī)或程序異常而陷入死循環(huán)(尤其是在路由器產(chǎn)品,CPU在啟動(dòng)階段利用率通常會(huì)比較高)。3)由于選舉過程涉及Serdes操作,因此對(duì)Serdes部分通路的依賴性很強(qiáng),如果 Serdes電路有某些問題,則主從選舉無法進(jìn)行,整個(gè)模塊化設(shè)備將直接宕機(jī)(down),無法啟動(dòng)。且也沒有機(jī)會(huì)修復(fù)Serdes的異常。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供ー種管理板、雙管理板的模塊化設(shè)備以及主控板選舉方法,用于實(shí)現(xiàn)主控板的快速選舉,縮短雙管理板的模塊化設(shè)備的啟動(dòng)時(shí)間。
ー種管理板,應(yīng)用于雙管理板的模塊化設(shè)備,該模塊化設(shè)備的兩塊管理板均采用所述管理板,所述管理板包括心跳信號(hào)發(fā)送HB-out接ロ、心跳信號(hào)輸入HB-in接ロ、在位檢測(cè)Present_in接ロ、確認(rèn)發(fā)送Master-out接口和確認(rèn)接收Master-in接ロ,其中HB-out接ロ,用于向?qū)Ψ焦芾戆宓腍B-in接ロ發(fā)送脈沖信號(hào),指示本管理板有心跳信號(hào),可以作為主控板;HB-in接ロ,用于接收對(duì)方管理板的HB-out接ロ發(fā)送的脈沖信號(hào);Present_in接ロ,用于確定對(duì)方管理板的Present_in信號(hào)是否有效,在確定對(duì)方管理板的Present_in信號(hào)為有效的Present_in信號(hào)時(shí),確認(rèn)對(duì)方管理板存在或在位;Master-out接ロ,用于向?qū)Ψ焦芾戆宓腗aster-in接ロ發(fā)送Master-out信號(hào);Master-in接ロ,用于接收對(duì)方管理板的Master-out接ロ發(fā)送的Master-out信號(hào),在接收到的Master-out信號(hào)為有效的Master-out信號(hào)時(shí),確認(rèn)對(duì)方管理板為主控板。ー種雙管理板的模塊化設(shè)備,該模塊化設(shè)備包括的第一管理板和第二管理板均采用如上所述的管理板,且第一管理板的心跳信號(hào)發(fā)送HB-out接ロ與第二管理板的心跳信號(hào)發(fā)送HB-in接ロ連接,第二管理板的HB-out接ロ與第一管理板的HB_in接ロ連接;第一管理板的在位檢測(cè)Presentjn接ロ連接第二管理板,第二管理板的Present_in接ロ連接第一管理板;第一管理板的確認(rèn)發(fā)送Master-out接ロ與第二管理板的確認(rèn)接收Master-in接ロ連接,第二管理板的Master-out接ロ與第一管理板的Master-in接ロ連接。一種主控板選舉方法,應(yīng)用于如上所述的雙管理板的模塊化設(shè)備,所述方法包括雙管理板的模塊化設(shè)備在上電或復(fù)位時(shí),每塊管理板的在位檢測(cè)Presentjn接ロ確定對(duì)方管理板的Present_in信號(hào)是否有效
如果一塊管理板確定對(duì)方管理板的Present_in信號(hào)為無效,確認(rèn)自身為主控板;如果每塊管理板均確定對(duì)方管理板的Present_in信號(hào)為有效,則確定自身的心跳信號(hào)輸入HB-in接口是否接收到對(duì)方管理板的心跳信號(hào)發(fā)送HB-out接口發(fā)送的脈沖信號(hào),如果確認(rèn)自身的HB-in接口沒有接收到對(duì)方管理板的HB-out接口發(fā)送的脈沖信號(hào),則確認(rèn)自身為主控板;否則,如果確認(rèn)自身的HB-in接口接收到對(duì)方管理板的HB-out接口發(fā)送的脈沖信號(hào),確認(rèn)自身所在的槽位是否為指定的主控板槽位,如果確認(rèn)自身所在的槽位是指定的主控板槽位,確認(rèn)自身為主控板,否則,在確認(rèn)自身所在的槽位不是指定的主控板槽位時(shí),確認(rèn)自身為從屬板。根據(jù)本發(fā)明實(shí)施例提供的方案,可以在管理板上增加HB-out接口和HB-in接口,通過在HB-out接口發(fā)送脈沖信號(hào),來指示本管理板可以作為主控板。雙管理板的模塊化設(shè)備中的兩塊管理板可以在對(duì)方管理板的Presentjn信號(hào)均為有效的情況下,根據(jù)自身的HB-in接口是否接收到對(duì)方管理板的HB-out接口發(fā)送的脈沖信號(hào)來確定主控板。相對(duì)于現(xiàn)有技術(shù)中需要執(zhí)行Serdes通道的初始化,通過Serdes通道獲取對(duì)方管理板的配置值才能執(zhí)行主控板選舉的方案,將獲取配置的過程改為脈沖信號(hào)檢測(cè)的過程,可以大大減少 主控板選舉過程所占用的時(shí)間,加快雙管理板的模塊化設(shè)備的啟動(dòng)。同時(shí),本發(fā)明方案無需Serdes接口的全程通信,因此無需CPU的高度參與,可以提高主從選舉的可靠性。且無需涉及Serdes操作,減少了對(duì)Serdes部分通路的依賴性。
圖I為現(xiàn)有技術(shù)提供的雙管理板之間的連接關(guān)系示意圖;圖2為現(xiàn)有技術(shù)提供的選舉流程示意圖;圖3為本發(fā)明實(shí)施例一提供的管理板的結(jié)構(gòu)示意圖;圖4為本發(fā)明實(shí)施例二提供的管理板的連接示意圖;圖5為本發(fā)明實(shí)施例三提供的主控選舉方法的步驟流程圖;圖6為本發(fā)明實(shí)施例四提供的管理板的狀態(tài)切換過程示意圖。
具體實(shí)施例方式針對(duì)現(xiàn)有技術(shù)中,在雙管理板的模塊化設(shè)備的主控板選舉過程中,選舉方式以管理板的配置為核心,需要每塊管理板都要運(yùn)行完文件系統(tǒng)的初始化以及初始化Serdes通道,并利用Serdes通道進(jìn)行雙管理板之間的配置信息同步操作,導(dǎo)致主控板選舉時(shí)間長(zhǎng),模塊化設(shè)備啟動(dòng)慢的問題,本發(fā)明實(shí)施例提出,可以控制管理板輸出脈沖信號(hào)作為心跳信號(hào),根據(jù)管理板是否可以輸出脈沖信號(hào)來表示該管理板是否正常工作(是否可以作為主控板),從而使得雙管理板可以根據(jù)是否接收到對(duì)方管理板發(fā)送的脈沖信號(hào)來決策主控板,從而大大縮短主控板選舉占用的時(shí)間,并減少模塊化設(shè)備啟動(dòng)的時(shí)間。下面結(jié)合說明書附圖和各實(shí)施例對(duì)本發(fā)明方案進(jìn)行說明。實(shí)施例一、本發(fā)明實(shí)施例一提供一種管理板,該管理板可以應(yīng)用于雙管理板的模塊化設(shè)備,且可以理解為該模塊化設(shè)備的兩塊管理板均采用本發(fā)明實(shí)施例一提供的管理板。該管理板的結(jié)構(gòu)可以如圖3所示,可以包括心跳信號(hào)發(fā)送(HB-out)接口 11、心跳信號(hào)輸入(HB-in)接ロ 12、在位檢測(cè)(Present_in)接ロ 13、確認(rèn)發(fā)送(Master-out)接ロ 14和確認(rèn)接收(Master-in)接 ロ 15,其中HB-out接ロ 11用于向?qū)Ψ焦芾戆宓腍B-in接ロ發(fā)送脈沖信號(hào),指示本管理板有心跳信號(hào),可以作為主控板;HB-in接ロ 12用于接收對(duì)方管理板的HB_out接ロ發(fā)送的脈沖信號(hào);Present_in接ロ 12用于確定對(duì)方管理板的Present_in信號(hào)是否有效,在確定對(duì)方管理板的Present_in信號(hào)為有效的Present_in信號(hào)時(shí),確認(rèn)對(duì)方管理板存在或在位。Master-out接ロ 14用于向?qū)Ψ焦芾戆宓腗aster-in接ロ發(fā)送Master-out信號(hào);Master-in接ロ 15用于接收對(duì)方管理板的Master-out接ロ發(fā)送的Master-out信號(hào),在接收到的Master-out信號(hào)為有效的Master-out信號(hào)時(shí),確認(rèn)對(duì)方管理板為主控板。 具體的,由于CPLD可以采用靈活的硬件編程語言實(shí)現(xiàn)算法,在本實(shí)施例中,HB-out接ロ 11向?qū)Ψ焦芾戆宓腍B-in接ロ發(fā)送的脈沖信號(hào)可以是由HB-out接ロ所在管理板的中央處理器(CPU)向該管理板上的CPLD的心跳信號(hào)寄存器周期性(如,周期可以為200ms)地進(jìn)行寫操作,觸發(fā)CPLD周期性地產(chǎn)生的脈沖信號(hào)。當(dāng)然,雖然本實(shí)施例中需要利用CPU向CPLD的心跳信號(hào)寄存器周期性地進(jìn)行寫操作,但相對(duì)于現(xiàn)有技術(shù)中在主控板選舉全程涉及到通過Serdes接ロ進(jìn)行協(xié)議通信以便交互配置信息,必須要有CPU的高度參與,本發(fā)明方案對(duì)CPU的要求大為降低。另外,由于CPLD可以進(jìn)行快速的信號(hào)判斷,HB-in接ロ接收到的脈沖信號(hào)也可以發(fā)送給所述CPLD,由所述CPLD來確定是否接收到對(duì)方管理板發(fā)送的脈沖信號(hào)。具體的,所述CPLD可以在特定周期(如300ms)內(nèi)沒有收到對(duì)方管理板發(fā)送的脈沖信號(hào)時(shí),確定沒有接收到對(duì)方管理板發(fā)送的脈沖信號(hào)。實(shí)施例ニ、本發(fā)明實(shí)施例ニ提供ー種雙管理板的模塊化設(shè)備,且該模塊化設(shè)備包括的第一管理板和第二管理板均采用如實(shí)施例一所述的管理板,模塊化設(shè)備中第一管理板21和第二管理板22的連接關(guān)系可以如圖4所示,其中第一管理板的HB-out接ロ與第二管理板的HB-in接ロ連接,第二管理板的HB_out接ロ與第一管理板的HB-in接ロ連接;第一管理板的Present_in接ロ連接第二管理板,第二管理板的Present_in接ロ連接第一管理板;第一管理板的Master-out接ロ與第二管理板的Master-in接ロ連接,第二管理板的Master-out接ロ與第一管理板的Master-in接ロ連接。當(dāng)然,在每塊管理板上還可以進(jìn)ー步包括現(xiàn)有技術(shù)提供的管理板包括的其他接ロ,如串行解串接收發(fā)送(Serdes-in-out)雙向接ロ,準(zhǔn)備狀態(tài)接收/發(fā)送(Ready-in/out)接ロ。且Serdes-in-out雙向接ロ,Ready-in/out接ロ在兩塊管理板之間的連接與現(xiàn)有技術(shù)相同。如圖4所示,第一管理板的準(zhǔn)備狀態(tài)發(fā)送(Ready-out)接ロ與第二管理板的準(zhǔn)備狀態(tài)接收(Ready-in)接ロ連接,第二管理板的Ready-out接ロ與第一管理板的Ready-in接ロ連接。第一管理板的Serdes-in-out雙向接ロ與第二管理板的Serdes-in-out雙向接ロ連接。需要說明的是,如圖4所示,第一管理板和第二管理板之間各接ロ的連接可以理解為是通過模塊化設(shè)備包括的背板23實(shí)現(xiàn)的。本實(shí)施例提供的方案相比傳統(tǒng)方案,在硬件連接上增加HB-in和HB_out接口的連接,利用硬件(如CPLD)產(chǎn)生的脈沖信號(hào)作為心跳(HB)信號(hào),可以將傳統(tǒng)方案中獲取配置的過程改為心跳檢測(cè)的過程,從而有效提高主從選舉的速度。實(shí)施例三、本發(fā)明實(shí)施例三提供一種主控板選舉方法,應(yīng)用于如實(shí)施例二所述的雙管理板的模塊化設(shè)備,該方法的步驟流程可以如圖5所示,包括步驟101、雙管理板的模塊化設(shè)備上電或復(fù)位。雙管理板的模塊化設(shè)備上電或復(fù)位(啟動(dòng))時(shí),觸發(fā)主控板選舉過程。步驟102、進(jìn)行在位檢測(cè)。 在本步驟中,每塊管理板的在位檢測(cè)Present_in接口確定對(duì)方管理板的Present_in信號(hào)是否有效,如果一塊管理板確定對(duì)方管理板的Present_in信號(hào)為無效,確認(rèn)自身為主控板,并可以結(jié)束本流程。如果每塊管理板均確定對(duì)方管理板的Present_in信號(hào)為有效,則可以繼續(xù)執(zhí)行步驟103。當(dāng)然,在本實(shí)施例中,每塊管理板在確認(rèn)自身為主控板時(shí),可以將Master-out信號(hào)置為有效,并通過自身的Master-out接口向?qū)Ψ焦芾戆宓腗aster-in接口發(fā)送該Master-out信號(hào),通知對(duì)方管理板自身為主控板。步驟103、確定是否接收到心跳信號(hào)。確定自身的心跳信號(hào)輸入HB-in接口是否接收到對(duì)方管理板的心跳信號(hào)發(fā)送HB-out接口發(fā)送的脈沖信號(hào)(心跳信號(hào)),如果確認(rèn)自身的HB-in接口沒有接收到對(duì)方管理板的HB-out接口發(fā)送的脈沖信號(hào),則可以認(rèn)為對(duì)方管理板不可以作為主控板,確認(rèn)自身為主控板,并結(jié)束本流程,如果確認(rèn)自身的HB-in接口接收到對(duì)方管理板的HB-out接口發(fā)送的脈沖信號(hào),認(rèn)為對(duì)方管理板和自身均可以作為主控板,無法決策出自身是否為主控板,則可以繼續(xù)執(zhí)行步驟104。步驟104、確認(rèn)自身所在的槽位是否為指定的主控板槽位。如果一塊管理板接收到對(duì)方管理板發(fā)送的心跳信號(hào),則可以通過預(yù)先指定的主控板槽位來決策自身是否為主控板。如,用CMl和CM2標(biāo)識(shí)兩個(gè)管理板槽位,并可以指定CMl槽位為主控板槽位,即可以理解為將插入CMl槽位的管理板作為主控板。在本步驟中,如果管理板確認(rèn)自身所在的槽位是指定的主控板槽位(如CMl槽位),確認(rèn)自身為主控板,否則,在確認(rèn)自身所在的槽位不是指定的主控板槽位時(shí),確認(rèn)自身為從屬板。根據(jù)步驟IOf步驟104實(shí)現(xiàn)的主控板選舉方法,在主控板選舉過程利用心跳信號(hào)檢測(cè)取代現(xiàn)有技術(shù)中的獲取配置過程,因此無需像現(xiàn)有技術(shù)那樣,在主控板選舉全程涉及到通過Serdes接口進(jìn)行協(xié)議通信以便交互配置信息,必須要有CPU的高度參與,使得本發(fā)明方案對(duì)CPU的要求大為降低,大大增強(qiáng)主從選舉的可靠性,并可以有效減少主控板選舉占用的時(shí)間。且本發(fā)明方案提供的主從選舉過程無需Serdes接口的參與,對(duì)Serdes接口的依賴性大大降低,進(jìn)一步提高了主從選舉的可靠性。經(jīng)過上述步驟IOf 104的主控板選舉過程,針對(duì)每塊管理板,可能出現(xiàn)以下情況該管理板確認(rèn)自身為主控板,且確定對(duì)方管理板的Present_in信號(hào)為有效(即該管理板和對(duì)方管理板均在位),這種情況可以認(rèn)為該管理板進(jìn)入該管理板為主控板,雙管理板在位(Dual Master)狀態(tài);或者出現(xiàn),該管理板確認(rèn)自身為從屬板,且確定對(duì)方管理板的Presentjn信號(hào)為有效(即該管理板和對(duì)方管理板均在位),這種情況可以認(rèn)為該管理板進(jìn)入該管理板為從屬板,雙管理板在位(Dual Slave)狀態(tài);也可能出現(xiàn),該管理板確認(rèn)自身為主控板,且確定對(duì)方管理板的Present_in信號(hào)為無效(即只有該管理板在位),這種情況可以認(rèn)為該管理板進(jìn)入該管理板為主控板,單管理板在位(Single Master)狀態(tài)。當(dāng)然,管理板也可能出現(xiàn)無法輸出脈沖信號(hào)的問題,進(jìn)入掛起(Halt)狀態(tài)。當(dāng)然,一塊管理板在處于Halt、Single Master、Dual Master 或 Dual Slave 狀態(tài)時(shí),可以理解為模塊化設(shè)備處于ー塊管理板為主控板,ー塊管理板為從屬板的正常狀態(tài),但也有可能模塊化設(shè)備不是處于ー塊管理板為主控板,ー塊管理板為從屬板的正常狀態(tài),如模塊化設(shè)備可能處于兩塊管理板均為主控板或兩塊管理板均為從屬板的異常狀態(tài)。
為了實(shí)現(xiàn)管通板狀態(tài)在Halt、Single Master、Dual Master 和 Dual Slave 之間的切換,實(shí)現(xiàn)管理板的狀態(tài)維護(hù)并使得模塊化設(shè)備最終進(jìn)入一塊主控板、一塊從屬板的正常狀態(tài),本發(fā)明實(shí)施例進(jìn)ー步提供了解決方案,下面通過實(shí)施例四進(jìn)行說明。實(shí)施例四、管理板的狀態(tài)切換過程可以如圖6所示,除了包括管理板的Halt、SingleMaster、Dual Master和Dual Slave狀態(tài)之外,還可以進(jìn)一步將管理板的上電或復(fù)位的啟動(dòng)過程用啟動(dòng)狀態(tài)(New Start)表示,將該管理板的主控板選舉過程用協(xié)商狀態(tài)(Negotiation)表示。各狀態(tài)之間轉(zhuǎn)換的觸發(fā)條件如圖6所示,圖6中的附圖標(biāo)記N表示發(fā)生條件N,N為1,2,……14。其中,條件I可以理解為管理板上電或復(fù)位成功,觸發(fā)該管理板從啟動(dòng)狀態(tài)進(jìn)入?yún)f(xié)商狀態(tài)。管理板進(jìn)入?yún)f(xié)商狀態(tài)之后,如果滿足條件2 :該管理板確認(rèn)自身為主控板,且確定對(duì)方管理板的Present_in信號(hào)為有效,則該管理板進(jìn)入Dual Master狀態(tài)。如果滿足條件3 :該管理板確認(rèn)自身為從屬板,且確定對(duì)方管理板的Present_in信號(hào)為有效,則該管理板進(jìn)入Dual Slave狀態(tài)。如果滿足條件4 :該管理板確認(rèn)自身為主控板,且確定對(duì)方管理板的Present_in信號(hào)為無效,則該管理板進(jìn)入Single Slave狀態(tài)。管理板進(jìn)入?yún)f(xié)商狀態(tài)之后,在該管理板無法通過自身的HB-out接ロ發(fā)送脈沖信號(hào)時(shí),會(huì)進(jìn)入掛起狀態(tài),因此,條件13可以理解為該管理板無法通過自身的HB-out接ロ發(fā)送脈沖信號(hào)(當(dāng)然,實(shí)際上條件13可能是由于管理板無法啟動(dòng)引起的,也可能是僅僅是由于管理板發(fā)生局部功能異常,如接ロ發(fā)生異常,無法輸出脈沖信號(hào)導(dǎo)致的)。而管理板在進(jìn)入掛起狀態(tài)之后,會(huì)停止喂狗(喂狗是由CPU執(zhí)行的ー種周期性的動(dòng)作,確保CPU不會(huì)發(fā)生重啟的ー種機(jī)制)。并可以主動(dòng)進(jìn)行復(fù)位重啟,進(jìn)入啟動(dòng)狀態(tài),或者在接收到重啟指令時(shí),進(jìn)行復(fù)位重啟,進(jìn)入啟動(dòng)狀態(tài),直到自身啟動(dòng)成功。因此,條件14可以理解為管理板主動(dòng)發(fā)生復(fù)位或接收到復(fù)位指令進(jìn)行復(fù)位。當(dāng)然,較優(yōu)的,如果確定ー塊管理板無法啟動(dòng)時(shí),主控板可以輸出提示信息,提示該管理板發(fā)生故障,無法啟動(dòng)。管理板進(jìn)入Dual Master狀態(tài)之后,如果該管理板接收到主從切換指令,所述主從切換指令用于指示將主控板切換為從屬板,將從屬板切換為主控板,則該管理板確認(rèn)自身為從屬板,且認(rèn)為對(duì)方管理板在位,該管理板進(jìn)入Dual Slave狀態(tài)。因此,條件5可以理解為該管理板接收到主從切換指令。該主控切換指令可以理解為用戶手動(dòng)發(fā)起的。
管理板進(jìn)入Dual Master狀態(tài)之后,如果滿足條件7 :該管理板確定對(duì)方管理板的Presentjn信號(hào)為無效,則該管理板確認(rèn)自身為主控板,且認(rèn)為對(duì)方管理板不在位,該管理板進(jìn)入Single Master狀態(tài)。管理板進(jìn)入Dual Slave狀態(tài)之后,如果該管理板接收到主從切換指令,則該管理板均確認(rèn)自身為主控板,且認(rèn)為對(duì)方管理板在位,該管理板進(jìn)入Dual Master狀態(tài)?;蛘撸绻摴芾戆褰邮盏綄?duì)方管理板發(fā)送的無效的Master-out信號(hào),則該管理板確認(rèn)自身為主控板,且認(rèn)為對(duì)方管理板在位,該管理板進(jìn)入Dual Master狀態(tài)。因此,條件6可以理解為該管理板接收到主從切換指令或者接收到對(duì)方管理板發(fā)送的無效的Master-out信號(hào)。管理板進(jìn)入Dual Slave狀態(tài)之后,如果滿足條件9中的任意一項(xiàng),該管理板確認(rèn)自身為主控板,且認(rèn)為對(duì)方管理板不在位,該管理板進(jìn)入Sinlge Master狀態(tài)。其中,條件9可以包括該管理板確定對(duì)方管理板的Presentjn信號(hào)為無效;或者該管理板接收到對(duì)方管理板發(fā)送的無效的Master-out信號(hào),且確定自身的心跳信號(hào)輸 入HB-in接口沒有接收到對(duì)方管理板的心跳信號(hào)發(fā)送HB-out接口發(fā)送的脈沖信號(hào)。進(jìn)一步的,條件9中包括的該管理板確定對(duì)方管理板的Presentjn信號(hào)為無效的條件,可以為該管理板確定對(duì)方管理板的Present_in信號(hào)為無效,且確定自身的心跳信號(hào)輸入HB-in接口沒有接收到對(duì)方管理板的心跳信號(hào)發(fā)送HB-out接口發(fā)送的脈沖信號(hào)。管理板進(jìn)入Sinlge Master狀態(tài)之后,如果滿足條件8,即確定對(duì)方管理板的Presentjn信號(hào)為有效,且該管理板的HB_in接口接收到對(duì)方管理板的HB-out接口發(fā)送的脈沖信號(hào),則該管理板確認(rèn)自身為主控板,且認(rèn)為對(duì)方管理板也在位,該管理板進(jìn)入DualMaster 狀態(tài)。當(dāng)然,不論管理板是處于Single Slave狀態(tài)、Dual Master狀態(tài)或Dual Slave狀態(tài),該管理板均會(huì)在接收到重啟指令時(shí),進(jìn)行復(fù)位重啟,進(jìn)入啟動(dòng)狀態(tài)。且該管理板會(huì)執(zhí)行喂狗,在喂狗時(shí)間超出設(shè)定的時(shí)長(zhǎng)時(shí),也會(huì)進(jìn)行復(fù)位重啟,進(jìn)入啟動(dòng)狀態(tài)。因此,條件10、條件U、條件12均可以理解為出現(xiàn)喂狗超時(shí),或者接收到復(fù)位指令。根據(jù)本實(shí)施例提供的管理板的狀態(tài)切換過程,使得即使管理板處于不同的狀態(tài),也可以根據(jù)各條件的控制,實(shí)現(xiàn)各狀態(tài)之間的切換,并可以最終使得模塊化設(shè)備進(jìn)入一塊主控板、一塊從屬板的正常狀態(tài),從而使得本發(fā)明實(shí)施例提供的方案具有管理板狀態(tài)維護(hù)和對(duì)主控板選舉異常進(jìn)行恢復(fù)的能力,提高主控板選舉的成功率,避免選舉結(jié)果的不確定性,保證主控板和從屬板角色的正確性。根據(jù)本發(fā)明實(shí)施例一 實(shí)施例四提供的方案,可以有效提高主從選舉的速度,將主從選舉(和主從切換)的速度提升到毫秒級(jí)別,極大地減少選舉時(shí)間。同時(shí),對(duì)CPU的依賴性顯著降低,關(guān)鍵的選舉層面完全由硬件實(shí)現(xiàn),CPU只需處于被動(dòng)單向操作狀態(tài),也不需依賴Serdes接口(Serdes接口通常需要使用一顆交換芯片實(shí)現(xiàn),并且需要進(jìn)行軟件初始化配置),極大提高主從選舉的成功率,即使Serdes接口失效,在選舉結(jié)束后,主控板仍然可以對(duì)其實(shí)施一定的隔離、修復(fù)措施,提高了系統(tǒng)的可靠性。且可以具有管理板狀態(tài)維護(hù)和對(duì)主控板選舉異常進(jìn)行恢復(fù)的能力,進(jìn)一步提高主控板選舉的成功率,避免選舉結(jié)果的不確定性。本發(fā)明實(shí)施例提供的方案不限于解決現(xiàn)有技術(shù)提供的利用Serdes接口進(jìn)行雙管理板之間的配置信息同步,從而實(shí)現(xiàn)主控板選舉的方案中,主控板選舉速度慢,選舉可靠性較低的問題,也同樣適用于解決現(xiàn)有技術(shù)提供的利用其他通信接口,如100BASE-TX,100BASE-T等接ロ進(jìn)行雙管理板之間的配置信息同歩,從而實(shí)現(xiàn)主控板選舉的方案中,存在的類似的主控板選舉速度慢,選舉可靠性較低的問題。另外,本發(fā)明實(shí)施例方案提供的模塊化設(shè)備的主控板和從屬板的選舉方式,經(jīng)過擴(kuò)展可以應(yīng)用在2臺(tái)甚至多臺(tái)設(shè)備(這里定義的設(shè)備不限于模塊化設(shè)備,也可以是指單機(jī)設(shè)備。)之間,實(shí)現(xiàn)多臺(tái)堆疊(堆疊是把多臺(tái)設(shè)備當(dāng)作一臺(tái)設(shè)備來統(tǒng)ー管理和使用的技木)應(yīng)用時(shí)快速選舉主機(jī)。即本發(fā)明實(shí)施例提供的方案不限于應(yīng)用于模塊化設(shè)備的主控板選舉。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。本申請(qǐng)是參照根據(jù)本申請(qǐng)實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每ー 流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生ー個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖ー個(gè)流程或多個(gè)流程和/或方框圖ー個(gè)方框或多個(gè)方框中指定的功能的裝置。這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖ー個(gè)流程或多個(gè)流程和/或方框圖ー個(gè)方框或多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖ー個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。盡管已描述了本申請(qǐng)的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本申請(qǐng)進(jìn)行各種改動(dòng)和變型而不脫離本申請(qǐng)的精神和范圍。這樣,倘若本申請(qǐng)的這些修改和變型屬于本申請(qǐng)權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請(qǐng)也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種管理板,應(yīng)用于雙管理板的模塊化設(shè)備,該模塊化設(shè)備的兩塊管理板均采用所述管理板,其特征在于,所述管理板包括心跳信號(hào)發(fā)送HB-OUt接口、心跳信號(hào)輸入HB-in接口、在位檢測(cè)Present_in接口、確認(rèn)發(fā)送Master-out接口和確認(rèn)接收Master-in接口,其中 HB-out接口,用于向?qū)Ψ焦芾戆宓腍B-in接口發(fā)送脈沖信號(hào),指示本管理板有心跳信號(hào),可以作為主控板; HB-in接口,用于接收對(duì)方管理板的HB-out接口發(fā)送的脈沖信號(hào); Present_in接口,用于確定對(duì)方管理板的Present_in信號(hào)是否有效,在確定對(duì)方管理板的Present_in信號(hào)為有效的Present_in信號(hào)時(shí),確認(rèn)對(duì)方管理板存在或在位;Master-out接口,用于向?qū)Ψ焦芾戆宓腗aster-in接口發(fā)送Master-out信號(hào);Master-in接口,用于接收對(duì)方管理板的Master-out接口發(fā)送的Master-out信號(hào),在接收到的Master-out信號(hào)為有效的Master-out信號(hào)時(shí),確認(rèn)對(duì)方管理板為主控板。
2.如權(quán)利要求I所述的管理板,其特征在于,HB-out接口向?qū)Ψ焦芾戆宓腍B-in接口發(fā)送的脈沖信號(hào)是由HB-out接口所在管理板的中央處理器CPU向該管理板上的復(fù)雜可編程邏輯器件CPLD的心跳信號(hào)寄存器周期性地進(jìn)行寫操作,觸發(fā)CPLD周期性地產(chǎn)生的脈沖信號(hào);HB-in接口,還用于將接收到的脈沖信號(hào)發(fā)送給所述CPLD。
3.一種雙管理板的模塊化設(shè)備,其特征在于,該模塊化設(shè)備包括的第一管理板和第二管理板均采用如權(quán)利要求I或2所述的管理板,且第一管理板的心跳信號(hào)發(fā)送HB-out接口與第二管理板的心跳信號(hào)發(fā)送HB-in接口連接,第二管理板的HB-out接口與第一管理板的HB-in接口連接; 第一管理板的在位檢測(cè)Present_in接口連接第二管理板,第二管理板的Present_in接口連接第一管理板; 第一管理板的確認(rèn)發(fā)送Master-out接口與第二管理板的確認(rèn)接收Master-in接口連接,第二管理板的Master-out接口與第一管理板的Master-in接口連接。
4.一種主控板選舉方法,應(yīng)用于如權(quán)利要求3所述的雙管理板的模塊化設(shè)備,其特征在于,所述方法包括 雙管理板的模塊化設(shè)備在上電或復(fù)位時(shí),每塊管理板的在位檢測(cè)Present_in接口確定對(duì)方管理板的Present_in信號(hào)是否有效 如果一塊管理板確定對(duì)方管理板的Present_in信號(hào)為無效,確認(rèn)自身為主控板; 如果每塊管理板均確定對(duì)方管理板的Present_in信號(hào)為有效,則確定自身的心跳信號(hào)輸入HB-in接口是否接收到對(duì)方管理板的心跳信號(hào)發(fā)送HB-out接口發(fā)送的脈沖信號(hào),如果確認(rèn)自身的HB-in接口沒有接收到對(duì)方管理板的HB-out接口發(fā)送的脈沖信號(hào),則確認(rèn)自身為主控板;否則,如果確認(rèn)自身的HB-in接口接收到對(duì)方管理板的HB-out接口發(fā)送的脈沖信號(hào),確認(rèn)自身所在的槽位是否為指定的主控板槽位,如果確認(rèn)自身所在的槽位是指定的主控板槽位,確認(rèn)自身為主控板,否則,在確認(rèn)自身所在的槽位不是指定的主控板槽位時(shí),確認(rèn)自身為從屬板。
5.如權(quán)利要求4所述的方法,其特征在于,所述方法還包括在一塊管理板無法通過自身的HB-out接口發(fā)送脈沖信號(hào)時(shí),則進(jìn)入掛起HALT狀態(tài),停止喂狗,并主動(dòng)進(jìn)行復(fù)位重啟,或者在接收到重啟指令時(shí),進(jìn)行復(fù)位重啟,直到自身啟動(dòng)成功。
6.如權(quán)利要求4所述的方法,其特征在于,每塊管理板在確認(rèn)自身為主控板時(shí),將Master-out信號(hào)置為有效,并通過自身的Master-out接口向?qū)Ψ焦芾戆宓腗aster-in接口發(fā)送該Master-out信號(hào)。
7.如權(quán)利要求4飛任一所述的方法,其特征在于,所述方法還包括在一塊管理板確認(rèn)自身為主控板,且確定對(duì)方管理板的Present_in信號(hào)為有效時(shí),如果該管理板接收到主從切換指令,所述主從切換指令用于指示將主控板切換為從屬板,將從屬板切換為主控板,則該管理板確認(rèn)自身為從屬板,且認(rèn)為對(duì)方管理板在位。
8.如權(quán)利要求4飛任一所述的方法,其特征在于,所述方法還包括 在一塊管理板確認(rèn)自身為主控板,且確定對(duì)方管理板的Present_in信號(hào)為有效時(shí),如果滿足以下條件,該管理板確認(rèn)自身為主控板,且認(rèn)為對(duì)方管理板不在位 該管理板確定對(duì)方管理板的Present_in信號(hào)為無效。
9.如權(quán)利要求4飛任一所述的方法,其特征在于,所述方法還包括 在一塊管理板確認(rèn)自身為主控板,且確定對(duì)方管理板的Present_in信號(hào)為有效時(shí),該管理板在接收到重啟指令時(shí),進(jìn)行復(fù)位重啟,或者該管理板在喂狗時(shí)間超出設(shè)定的時(shí)長(zhǎng)時(shí),進(jìn)行復(fù)位重啟。
10.如權(quán)利要求4飛任一所述的方法,其特征在于,所述方法還包括 在一塊管理板確認(rèn)自身為從屬板,且確定對(duì)方管理板的Present_in信號(hào)為有效時(shí),如果該管理板接收到主從切換指令,所述主從切換指令用于指示將主控板切換為從屬板,將從屬板切換為主控板,則該管理板確認(rèn)自身為主控板,且認(rèn)為對(duì)方管理板在位;或者,如果該管理板接收到對(duì)方管理板發(fā)送的無效的Master-out信號(hào),則該管理板確認(rèn)自身為主控板,且認(rèn)為對(duì)方管理板在位。
11.如權(quán)利要求4飛任一所述的方法,其特征在于,所述方法還包括 在一塊管理板確認(rèn)自身為從屬板,且確定對(duì)方管理板的Present_in信號(hào)為有效時(shí),如果滿足以下條件中的任意一項(xiàng),該管理板確認(rèn)自身為主控板,且認(rèn)為對(duì)方管理板不在位 該管理板確定對(duì)方管理板的Present_in信號(hào)為無效;或者 接收到對(duì)方管理板發(fā)送的無效的Master-out信號(hào),且確定自身的心跳信號(hào)輸入HB_in接口沒有接收到對(duì)方管理板的心跳信號(hào)發(fā)送HB-out接口發(fā)送的脈沖信號(hào)。
12.如權(quán)利要求4飛任一所述的方法,其特征在于,所述方法還包括 在一塊管理板確認(rèn)自身為從屬板,且確定對(duì)方管理板的Present_in信號(hào)為有效時(shí),該管理板在接收到重啟指令時(shí),進(jìn)行復(fù)位重啟,或者該管理板在喂狗時(shí)間超出設(shè)定的時(shí)長(zhǎng)時(shí),進(jìn)行復(fù)位重啟。
13.如權(quán)利要求4飛任一所述的方法,其特征在于,所述方法還包括在一塊管理板確認(rèn)自身為主控板,且確認(rèn)對(duì)方管理板的Present_in信號(hào)為無效時(shí),如果該管理板確定對(duì)方管理板的Presentjn信號(hào)為有效,且該管理板的HB_in接口接收到對(duì)方管理板的HB-out接口發(fā)送的脈沖信號(hào),則該管理板確認(rèn)自身為主控板,且認(rèn)為對(duì)方管理板也在位。
14.如權(quán)利要求4飛任一所述的方法,其特征在于,所述方法還包括 在一塊管理板確認(rèn)自身為主控板,且確認(rèn)對(duì)方管理板的Present_in信號(hào)為無效時(shí),該管理板在接收到重啟指令時(shí),進(jìn)行復(fù)位重啟,或者該管理板在喂狗時(shí)間超出設(shè)定的時(shí)長(zhǎng)時(shí),進(jìn)行復(fù)位重啟。
全文摘要
本發(fā)明實(shí)施例提供一種管理板、雙管理板的模塊化設(shè)備以及主控板選舉方法,包括在管理板上增加HB-out接口和HB-in接口,通過在HB-out接口發(fā)送脈沖信號(hào),來指示本管理板可以作為主控板。雙管理板的模塊化設(shè)備中的兩塊管理板可以在對(duì)方管理板的Present_in信號(hào)均為有效的情況下,根據(jù)自身的HB-in接口是否接收到對(duì)方管理板的HB-out接口發(fā)送的脈沖信號(hào)來確定主控板。相對(duì)于現(xiàn)有技術(shù)中需要執(zhí)行Serdes通道的初始化,通過Serdes通道獲取對(duì)方管理板的配置值才能執(zhí)行主控板選舉的方案,將獲取配置的過程改為脈沖信號(hào)檢測(cè)的過程,可以大大減少主控板選舉流程所占用的時(shí)間,加快雙管理板的模塊化設(shè)備的啟動(dòng)。
文檔編號(hào)H04L12/02GK102820973SQ20121025497
公開日2012年12月12日 申請(qǐng)日期2012年7月20日 優(yōu)先權(quán)日2012年7月20日
發(fā)明者陳武 申請(qǐng)人:福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司