專利名稱:一種堆疊系統(tǒng)的路由轉(zhuǎn)發(fā)信息同步方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種堆疊系統(tǒng)的路由轉(zhuǎn)發(fā)信息同步方法和裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)規(guī)模的急劇增加,堆疊技術(shù)應(yīng)運(yùn)而生。堆疊技術(shù)是將兩臺(tái)或多臺(tái)網(wǎng)絡(luò)設(shè)備通過堆疊端口連接起來,組成堆疊系統(tǒng)。從邏輯上來說,堆疊在一起形成的網(wǎng)絡(luò)設(shè)備相當(dāng)于同一設(shè)備,用戶管理堆疊系統(tǒng)就像管理一臺(tái)設(shè)備,即用戶通過對(duì)該堆疊系統(tǒng)進(jìn)行管理,從而實(shí)現(xiàn)對(duì)堆疊中的所有設(shè)備進(jìn)行管理。其中,堆疊技術(shù)可以提供高可用性、高可擴(kuò)展性、并簡(jiǎn)化管理,在數(shù)據(jù)中心、企業(yè)核心網(wǎng)中得到廣泛的應(yīng)用。堆疊系統(tǒng)中的各堆疊設(shè)備的主用主控板通過選舉產(chǎn)生全局主控板。在堆疊系統(tǒng)中,數(shù)據(jù)的轉(zhuǎn)發(fā)是由各堆疊設(shè)備的線卡板獨(dú)立完成的,而全局主控板負(fù)責(zé)對(duì)整個(gè)堆疊系統(tǒng)進(jìn)行管理和控制。參見圖1,圖1為現(xiàn)有實(shí)現(xiàn)中堆疊系統(tǒng)的路由轉(zhuǎn)發(fā)信息同步結(jié)構(gòu)示意圖。 圖1中堆疊系統(tǒng)中各堆疊設(shè)備101的主用主控板110、堆疊設(shè)備102的主用主控板120和堆疊設(shè)備103的主用主控板130進(jìn)行選舉,假設(shè)選舉結(jié)果是主用主控板110為全局主控板,則選舉全局的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)統(tǒng)一存儲(chǔ)在主用主控板110上,主用主控板110使用轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)運(yùn)行路由協(xié)議運(yùn)算各路由協(xié)議計(jì)算任務(wù),并得到相應(yīng)的路由轉(zhuǎn)發(fā)信息,將路由轉(zhuǎn)發(fā)信息在堆疊系統(tǒng)內(nèi)同步轉(zhuǎn)發(fā),如同步給備用主控板及有需要的線卡板。由上可見,現(xiàn)有實(shí)現(xiàn)堆疊的方法中堆疊系統(tǒng)中的所有路由協(xié)議計(jì)算任務(wù)在全局主控板上運(yùn)行,導(dǎo)致系統(tǒng)資源過于集中,而降低了系統(tǒng)協(xié)議運(yùn)算的效率;而其他主用主控板不運(yùn)行任何路由協(xié)議計(jì)算任務(wù),造成了資源的浪費(fèi)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種堆疊系統(tǒng)的路由轉(zhuǎn)發(fā)信息同步方法和裝置,能夠提高系統(tǒng)協(xié)議運(yùn)算率,充分利用系統(tǒng)資源。為解決上述技術(shù)問題,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的—種堆疊系統(tǒng)的路由轉(zhuǎn)發(fā)信息同步方法,所述堆疊系統(tǒng)包括多個(gè)堆疊設(shè)備,各堆疊設(shè)備具有主用主控板,在各堆疊設(shè)備的主用主控板中選舉全局主控板,對(duì)于所述全局主控板所述方法包括在預(yù)設(shè)時(shí)間內(nèi)接收其他主用主控板發(fā)送的告知報(bào)文,記錄告知報(bào)文攜帶的主用主控板的信息,并獲取記錄了信息的主用主控板的CPU占用率以及自身的CPU占用率;根據(jù)各路由協(xié)議計(jì)算任務(wù)的運(yùn)算量和獲取的各主用主控板的CPU占用率為各路由協(xié)議計(jì)算任務(wù)分配主用主控板,并將路由協(xié)議計(jì)算任務(wù)分配結(jié)果發(fā)送給對(duì)應(yīng)的主用主控板使其進(jìn)行運(yùn)算;獲取各主用主控板運(yùn)算的路由轉(zhuǎn)發(fā)信息,在所述堆疊系統(tǒng)內(nèi)同步所述路由轉(zhuǎn)發(fā)信肩、O
一種裝置,可應(yīng)用于堆疊系統(tǒng)實(shí)現(xiàn)中堆疊設(shè)備的主用主控板上,所述裝置包括接收單元、記錄單元、獲取單元和處理單元;所述接收單元,用于在預(yù)設(shè)時(shí)間內(nèi)接收所述堆疊系統(tǒng)中其他主用主控板發(fā)送的告知報(bào)文;所述記錄單元,用于記錄所述接收單元接收的告知報(bào)文攜帶的主用主控板的信息,以及所述獲取單元獲取的所述記錄了信息的主用主控板的CPU占用率以及自身所在主用主控板的CPU占用率;所述獲取單元,用于獲取所述記錄單元記錄了信息的主用主控板的CPU占用率及自身所在主用主控板的CPU占用率;獲取所述各主用主控板運(yùn)算的路由轉(zhuǎn)發(fā)信息;所述處理單元,用于根據(jù)各路由協(xié)議計(jì)算任務(wù)的運(yùn)算量和獲取的各主用主控板的 CPU占用率為各路由協(xié)議計(jì)算任務(wù)分配主用主控板,并將路由協(xié)議計(jì)算任務(wù)分配結(jié)果發(fā)送給對(duì)應(yīng)的主用主控板使其進(jìn)行運(yùn)算;用于將所述獲取單元獲取的所述各路由轉(zhuǎn)發(fā)信息,在所述堆疊系統(tǒng)內(nèi)同步所述路由轉(zhuǎn)發(fā)信息。綜上所述,本發(fā)明通過堆疊系統(tǒng)中的全局主控板為其他主用主控板分配路由協(xié)議計(jì)算任務(wù),并統(tǒng)一管理各路由協(xié)議計(jì)算任務(wù)的運(yùn)行結(jié)果,能夠提高系統(tǒng)協(xié)議運(yùn)算率,充分利用系統(tǒng)資源。
圖1為現(xiàn)有實(shí)現(xiàn)中堆疊系統(tǒng)的路由轉(zhuǎn)發(fā)信息同步結(jié)構(gòu)示意圖;圖2為本發(fā)明實(shí)施例中堆疊系統(tǒng)的路由轉(zhuǎn)發(fā)信息同步流程示意圖;圖3為本發(fā)明具體實(shí)施例中堆疊系統(tǒng)的路由轉(zhuǎn)發(fā)信息同步流程示意圖;圖4為本發(fā)明具體實(shí)施例中應(yīng)用于堆疊系統(tǒng)中堆疊設(shè)備的主用主控板上的裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明所述方案作進(jìn)一步地詳細(xì)說明。本發(fā)明提出一種堆疊系統(tǒng)的路由轉(zhuǎn)發(fā)信息同步方法,該堆疊系統(tǒng)包括多個(gè)堆疊設(shè)備,各堆疊設(shè)備具有主用主控板和備用主控板,在各堆疊設(shè)備的主用主控板中選舉全局主控板。參見圖2,圖2為本發(fā)明實(shí)施例中堆疊系統(tǒng)的路由轉(zhuǎn)發(fā)信息同步流程示意圖。具體步驟為步驟201,全局主控板在預(yù)設(shè)時(shí)間內(nèi)接收其他主用主控板發(fā)送的告知報(bào)文,記錄告知報(bào)文攜帶的主用主控板的信息,并獲取記錄了信息的主用主控板的CPU占用率以及自身的CPU占用率。本步驟中在預(yù)設(shè)時(shí)間內(nèi)接收其他主用主控板發(fā)送的告知報(bào)文,當(dāng)預(yù)設(shè)時(shí)間到時(shí), 不再接收其他主用主控板發(fā)送的告知報(bào)文。具體實(shí)現(xiàn)時(shí),可通過定時(shí)器實(shí)現(xiàn)。記錄告知報(bào)文攜帶的主用主控板信息,如該主用主控板所在堆疊設(shè)備的設(shè)備ID等,能夠標(biāo)識(shí)該主用主控板的信息,使全局主用主控板能夠分別獲得發(fā)送告知報(bào)文的主用主控板的CPU占用率。
本步驟中獲取記錄了信息的主用主控板的CPU占用率的方法為全局主控板向記錄了信息的主用主控板分別發(fā)送索取其CPU占用率的報(bào)文,接收各主用主控板發(fā)送的攜帶自身CPU占用率的反饋報(bào)文,從該報(bào)文獲得各主用主控板對(duì)應(yīng)的 CPU占用率。步驟202,全局主控板根據(jù)各路由協(xié)議計(jì)算任務(wù)的運(yùn)算量和獲取的各主用主控板的CPU占用率為各路由協(xié)議計(jì)算任務(wù)分配主用主控板,并將路由協(xié)議計(jì)算任務(wù)分配結(jié)果發(fā)送給對(duì)應(yīng)的主用主控板使其進(jìn)行運(yùn)算。本步驟中獲取的各主用主控板的CPU占用率,包括記錄了信息的主用主控板的 CPU占用率和自身的CPU占用率,即全局主控板的CPU占用率。如果分配路由協(xié)議計(jì)算任務(wù)時(shí),全局主用主控板也分得了路由協(xié)議計(jì)算任務(wù),則自身也要運(yùn)行分得的路由協(xié)議計(jì)算任務(wù)。步驟203,全局主用主控板獲取各主用主控板運(yùn)算的路由轉(zhuǎn)發(fā)信息,在所述堆疊系統(tǒng)內(nèi)同步所述路由轉(zhuǎn)發(fā)信息。本步驟中獲取各主用主控板運(yùn)算的路由轉(zhuǎn)發(fā)信息的方法為接收其他主用主控板發(fā)送的攜帶運(yùn)算的路由轉(zhuǎn)發(fā)信息的報(bào)文,獲取所述攜帶的運(yùn)算的路由轉(zhuǎn)發(fā)信息;若自身分得路由協(xié)議計(jì)算任務(wù),運(yùn)行分得路由協(xié)議計(jì)算任務(wù)結(jié)束時(shí),獲取該運(yùn)算的路由轉(zhuǎn)發(fā)信息。在所述堆疊系統(tǒng)內(nèi)同步所述路由轉(zhuǎn)發(fā)信息,比如將運(yùn)行結(jié)果同步給備用主用主控板及有需要的線卡板。步驟202中根據(jù)各路由協(xié)議計(jì)算任務(wù)的運(yùn)算量和獲取的各主用主控板的CPU占用率為各路由協(xié)議計(jì)算任務(wù)分配主用主控板的方法為將各路由協(xié)議計(jì)算任務(wù)按照運(yùn)算量從大到小的順序,依次分配給CPU占用率由低到高的各主用主控板,譬如,將各路由協(xié)議計(jì)算任務(wù)按照運(yùn)算量從大到小進(jìn)行排序,各主用主控板的CPU占用率按從小到大的順序進(jìn)行排序,分配運(yùn)算量最大的路由協(xié)議計(jì)算任務(wù)給 CPU占用率最小的主用主控板,運(yùn)算量次大的路由協(xié)議計(jì)算任務(wù)給CPU占用率次小的主用主控板,依次類推,直到所有路由協(xié)議計(jì)算任務(wù)分配完成。假定目前系統(tǒng)中獲得CPU占用率的主用主控板有兩個(gè),連同全局主用主控板共有 3個(gè)主用主控板,而路由協(xié)議計(jì)算任務(wù)有三個(gè)或小于三個(gè),則全局主用主控板優(yōu)先分配CPU 占用率低的主用主控板去運(yùn)算計(jì)算量大的路由協(xié)議計(jì)算任務(wù)。選取CPU占用率次低的主用主控板去運(yùn)算計(jì)算量次大的路由協(xié)議計(jì)算任務(wù),依次類推。若確定路由協(xié)議計(jì)算任務(wù)個(gè)數(shù)大于獲得CPU占用率的主用主控板的個(gè)數(shù),則始終將運(yùn)算量最小的兩個(gè)路由協(xié)議計(jì)算任務(wù)相加直至路由協(xié)議計(jì)算任務(wù)的個(gè)數(shù)等于獲得CPU 占用率的主用主控板的個(gè)數(shù),將各路由協(xié)議計(jì)算任務(wù)按照運(yùn)算量從大到小的順序,依次分配給CPU占用率由低到高的各主用主控板;譬如,將兩個(gè)路由協(xié)議計(jì)算任務(wù)運(yùn)算量最小的相加,若當(dāng)前路由協(xié)議計(jì)算任務(wù)個(gè)數(shù)大于獲得CPU占用率的主用主控板的個(gè)數(shù),則將當(dāng)前的路由協(xié)議計(jì)算任務(wù)個(gè)數(shù)按運(yùn)算量從大到小排序,將當(dāng)前兩個(gè)路由協(xié)議計(jì)算任務(wù)運(yùn)算量最小的相加,依次類推,直到當(dāng)前路由協(xié)議計(jì)算任務(wù)個(gè)數(shù)等于獲得CPU占用率的主用主控板的個(gè)數(shù),執(zhí)行上述分配過程,其中,所述兩個(gè)路由協(xié)議計(jì)算任務(wù)運(yùn)算量最小的相加后作為一個(gè)路由協(xié)議計(jì)算任務(wù)運(yùn)算量進(jìn)行排序。假定目前系統(tǒng)中獲得CPU占用率的主用主控板有兩個(gè),連同全局主控板共有3個(gè)主用主控板,而路由協(xié)議計(jì)算任務(wù)有4個(gè),則先將路由協(xié)議計(jì)算任務(wù)按照運(yùn)算量從大到小進(jìn)行排序,將運(yùn)算量最小的兩個(gè)協(xié)議任務(wù)相加,這里的相加是將這兩個(gè)路由協(xié)議計(jì)算任務(wù)的運(yùn)算量相加,再次排序并按上述方法分配。將分配結(jié)果發(fā)送給對(duì)應(yīng)的主用主控板時(shí),重新開始接收其他主用主控板發(fā)送的告知報(bào)文。當(dāng)接收到其他主用主控板發(fā)送的告知報(bào)文,記錄該主用主控板的信息,并獲取其 CPU占用率。在這里接收到的其他主用主控板發(fā)送的告知報(bào)文有兩種情況,一種是其他堆疊設(shè)備的主用主控板先前未發(fā)送告知報(bào)文,現(xiàn)在發(fā)送了告知報(bào)文,參見路由協(xié)議計(jì)算任務(wù)的分配;另一種情況為某個(gè)堆疊設(shè)備的主用主控板已發(fā)送過告知報(bào)文,但是由于某種原因,主用主控板故障切換備用主控板為當(dāng)前主用主控板,當(dāng)前的主用主控板切換后向全局主控板發(fā)送告知報(bào)文。將路由協(xié)議計(jì)算任務(wù)分配結(jié)果發(fā)送給對(duì)應(yīng)的主用主控板時(shí),定時(shí)向記錄了信息的主用主控板發(fā)送hello報(bào)文,若在預(yù)設(shè)應(yīng)答時(shí)間內(nèi)收到其他主用主控板回復(fù)的攜帶CPU占用率的reply報(bào)文,則更新該主用主控板的CPU占用率;若在預(yù)設(shè)時(shí)間內(nèi)未收到主用主控板回復(fù)的攜帶CPU占用率的Mply報(bào)文,則確定該主用主控板出現(xiàn)異常,若該異常主用主控板分得路由協(xié)議計(jì)算任務(wù),則將該路由協(xié)議計(jì)算任務(wù)分配給當(dāng)前CPU占用率最低的主用主控板,并刪除記錄的該異常主用主控板的信息以及其CPU占用率;若該異常主用主控板未分得路由協(xié)議計(jì)算任務(wù),則刪除記錄的該主用主控板的信息以及其CPU占用率。將路由協(xié)議計(jì)算任務(wù)分配結(jié)果發(fā)送給對(duì)應(yīng)的主用主控板時(shí),通過hello報(bào)文和 reply報(bào)文實(shí)時(shí)更新各主用主控板的CPU占用率以及各主用主控板是否正常工作,以便實(shí)時(shí)調(diào)整路由協(xié)議計(jì)算任務(wù)的運(yùn)算。下面結(jié)合具體實(shí)施例,詳細(xì)說明本發(fā)明如何實(shí)現(xiàn)堆疊系統(tǒng)的路由轉(zhuǎn)發(fā)信息同步。 參見圖3,圖3為本發(fā)明具體實(shí)施例中堆疊系統(tǒng)的路由轉(zhuǎn)發(fā)信息同步流程示意圖。以在預(yù)設(shè)時(shí)間內(nèi)接收到兩個(gè)主用主控板發(fā)送的告知報(bào)文,存在兩個(gè)路由協(xié)議計(jì)算任務(wù)為例,其中,主用主控板A為全局主控板,主用主控板B和主用主控板C為普通主用主控板,兩個(gè)路由協(xié)議計(jì)算任務(wù)為路由協(xié)議計(jì)算任務(wù)M和路由協(xié)議計(jì)算任務(wù)N,且M的運(yùn)算量大于N的運(yùn)算量。步驟301,主用主控板A在預(yù)設(shè)時(shí)間內(nèi)接收其他主用主控板的告知報(bào)文。本步驟中的預(yù)設(shè)時(shí)間在具體實(shí)現(xiàn)時(shí)通過主用主控板A啟動(dòng)定時(shí)器,在該定時(shí)器超時(shí)前接收告知報(bào)文,定時(shí)器到時(shí)時(shí),不再接收告知報(bào)文。步驟302,主用主控板B向主用主控板A發(fā)送告知報(bào)文。步驟303,主用主控板C向主控板A發(fā)送告知報(bào)文。假設(shè)在預(yù)設(shè)時(shí)間內(nèi)接收到了主用主控板B和主用主控板C的告知報(bào)文。步驟304,主用主控板A對(duì)接收到的告知報(bào)文做信息記錄。本步驟中記錄的信息包括發(fā)送該告知報(bào)文的主用主控板所在堆疊設(shè)備ID以及對(duì)應(yīng)的主用主控板。收到某一告知報(bào)文后就記錄發(fā)來該報(bào)文的主用主控板信息,也可在不再接收告知報(bào)文時(shí)一并記錄發(fā)來各通知報(bào)文的主用主控板的信息,具體應(yīng)用根據(jù)具體配置實(shí)現(xiàn)。步驟305,主用主控板A向主用主控板B發(fā)送索取其CPU占用率的報(bào)文。步驟306,主用主控板A向主用主控板C發(fā)送索取其CPU占用率的報(bào)文。
步驟307,主用主控板B向主用主控板A發(fā)送攜帶自身的CPU占用率的信息反饋報(bào)文。步驟308,主用主控板C向主用主控板A發(fā)送攜帶自身的CPU占用率的信息反饋報(bào)文。步驟309,主用主控板A獲得主用主控板B和主用主控板C的CPU占用率,并分配路由協(xié)議計(jì)算任務(wù)。假設(shè)主用主控板B的CPU占用率大于主用主控板C的CPU占用率,則說明主用主控板B較忙。根據(jù)上文描述的分配方法,將路由協(xié)議計(jì)算任務(wù)M分配給主用主控板C進(jìn)行運(yùn)算;將路由協(xié)議計(jì)算任務(wù)N分配給主用主控板B進(jìn)行運(yùn)算。步驟310,主用主控板A通知主用主控板B運(yùn)算的路由協(xié)議計(jì)算任務(wù)。步驟311,主用主控板A通知主用主控板C運(yùn)算的路由協(xié)議計(jì)算任務(wù)。步驟312,主用主控板A重新開始接收其他主用主控板的告知報(bào)文。步驟313,主用主控板A定時(shí)向主用主控板B發(fā)送hello報(bào)文。步驟314,主用主控板A定時(shí)向主用主控板C發(fā)送hello報(bào)文。在路由協(xié)議計(jì)算任務(wù)分配結(jié)束時(shí),重新開始接收告知報(bào)文,并向記錄信息的主用主控板發(fā)送hello報(bào)文,以便了解各主用主控板當(dāng)前的CPU占用率,以及是否正常工作。步驟312、步驟313和步驟314同時(shí)執(zhí)行。步驟315,主用主控板B接收到hello報(bào)文時(shí)向主用主控板A發(fā)送攜帶自身CPU占用率的r印Iy報(bào)文。步驟316,主用主控板C接收到hello報(bào)文時(shí)向主用主控板A發(fā)送攜帶自身CPU占用率的r印Iy報(bào)文。各主用主控板接收到全局主控板發(fā)送的hello報(bào)文時(shí),如果該主控板正常工作, 則將自身的CPU占用率通過reply報(bào)文發(fā)送給全局主控板。步驟317,主用主控板A接收到I^ply報(bào)文時(shí)更新對(duì)應(yīng)的主用主控板CPU占用率; 預(yù)設(shè)應(yīng)答時(shí)間內(nèi)未接收到reply報(bào)文,則通知當(dāng)前獲知的CPU占用率最小的主用主控板運(yùn)算分配給未響應(yīng)reply報(bào)文的路由協(xié)議計(jì)算任務(wù)。在預(yù)設(shè)應(yīng)答時(shí)間內(nèi)收到主用主控板B和主用主控板C的I^ply報(bào)文,則認(rèn)為各主用主控板運(yùn)行正常,并實(shí)時(shí)獲得其CPU占用率,更新主用主控板C和主用主控板B的CPU占用率;若在預(yù)設(shè)應(yīng)答時(shí)間內(nèi)未接收到主用主控板B或主用主控板C的reply報(bào)文,則認(rèn)為其發(fā)生故障。并將記錄的同該主用主控板相關(guān)的信息刪除。假設(shè)在預(yù)設(shè)時(shí)間內(nèi)未收到主用主控板B的I^ply報(bào)文,則確定其故障,則比較主用主控板C和主用主控板A的當(dāng)前CPU占用率,誰的CPU占用率小,則路由協(xié)議計(jì)算任務(wù)N分配給誰來運(yùn)行。當(dāng)然主用主控板A在重新接收告知報(bào)文時(shí),如果有其他主用主控板發(fā)來告知報(bào)文,獲得其CPU占用率并參與重新比較CPU占用率。如果其CPU占用率最小,則將路由協(xié)議計(jì)算任務(wù)N分配給該CPU占用率最小的主用主控板。這里的其他主用主控板也包括主用主控板B所在堆疊設(shè)備的當(dāng)前主用主控板,如果主用主控板B故障,則切換為其備用主控板作為當(dāng)前主用主控板,切換過程同現(xiàn)有實(shí)現(xiàn),這里不再贅述。步驟318,主用主控板B運(yùn)算主用主控板A發(fā)送的路由協(xié)議計(jì)算任務(wù)。步驟319,主用主控板B向主用主控板A發(fā)送運(yùn)算的路由轉(zhuǎn)發(fā)信息。
步驟320,主用主控板C運(yùn)算主用主控板A發(fā)送的路由協(xié)議計(jì)算任務(wù)。步驟321,主用主控板C向主用主控板A發(fā)送運(yùn)算的路由轉(zhuǎn)發(fā)信息。分得路由協(xié)議計(jì)算任務(wù)的主用主控板運(yùn)算分得的路由協(xié)議計(jì)算任務(wù),在運(yùn)算結(jié)束時(shí),將運(yùn)算結(jié)果,即路由轉(zhuǎn)發(fā)信息發(fā)送給全局主控板。步驟322,主用主控板A獲得各路由轉(zhuǎn)發(fā)信息,在堆疊系統(tǒng)內(nèi)同步所述路由轉(zhuǎn)發(fā)信肩、ο主用主控板A接收到主用主控板B和主用主控板C發(fā)送的運(yùn)行其各自分配的路由協(xié)議計(jì)算任務(wù)的運(yùn)算結(jié)果,即路由轉(zhuǎn)發(fā)信息后,將各路由轉(zhuǎn)發(fā)信息同步給需要的線卡板以及備用主控板。堆疊系統(tǒng)中的堆疊設(shè)備一般都包括兩個(gè)主控板,一個(gè)作為主用主控板,一個(gè)作為備用主控板,當(dāng)主用主控板故障,切換為備用主控板時(shí),主動(dòng)向全局主用主控板發(fā)送告知報(bào)文。假設(shè)正在運(yùn)行路由協(xié)議計(jì)算任務(wù)的主用主控板B故障,切換為其備用主控板,則備用主控板發(fā)送告知報(bào)文給主用主控板A,主用主控板A記錄該備用主控板的信息,并獲取其CPU 占用率。在主用主控板A、主用主控板C和新發(fā)來告知報(bào)文的主用主控板的CPU占用率中, 確定當(dāng)前CPU占用率最小的主用主控板,并將路由協(xié)議計(jì)算任務(wù)N分配給確定的CPU占用率最小的主用主控板。當(dāng)主用主控板A故障時(shí),切換為其備用主用主控板,堆疊系統(tǒng)再重新選舉全局主控板,全局主控板選舉完成后,再通過上述流程重新執(zhí)行。基于上述同樣地發(fā)明構(gòu)思,本發(fā)明還提出一種裝置,可應(yīng)用于堆疊系統(tǒng)實(shí)現(xiàn)中堆疊設(shè)備的主用主控板上,參見圖4,圖4為本發(fā)明具體實(shí)施例中應(yīng)用于堆疊系統(tǒng)中堆疊設(shè)備的主用主控板上的裝置的結(jié)構(gòu)示意圖。該裝置包括接收單元401、記錄單元402、獲取單元 403和處理單元404。接收單元401,用于在預(yù)設(shè)時(shí)間內(nèi)接收堆疊系統(tǒng)中其他主用主控板發(fā)送的告知報(bào)文。記錄單元402,用于記錄接收單元401接收的告知報(bào)文攜帶的主用主控板的信息, 以及獲取單元403獲取的記錄了信息的主用主控板的CPU占用率以及自身所在主用主控板的CPU占用率。獲取單元403,用于獲取記錄單元402記錄了信息的主用主控板的CPU占用率及自身所在主用主控板的CPU占用率;獲取所述各主用主控板運(yùn)算的路由轉(zhuǎn)發(fā)信息。處理單元404,用于根據(jù)各路由協(xié)議計(jì)算任務(wù)的運(yùn)算量和獲取的各主用主控板的 CPU占用率為各路由協(xié)議計(jì)算任務(wù)分配主用主控板,并將路由協(xié)議計(jì)算任務(wù)分配結(jié)果發(fā)送給對(duì)應(yīng)的主用主控板使其進(jìn)行運(yùn)算;用于將獲取單元403獲取的所述各路由轉(zhuǎn)發(fā)信息,在所述堆疊系統(tǒng)內(nèi)同步所述路由轉(zhuǎn)發(fā)信息。較佳地,處理單元404,用于將各路由協(xié)議計(jì)算任務(wù)按照運(yùn)算量從大到小的順序,依次分配給CPU占用率由低到高的各主用主控板,譬如,處理單元404將各路由協(xié)議計(jì)算任務(wù)按照運(yùn)算量從大到小進(jìn)行排序,各主用主控板的CPU占用率按從小到大的順序進(jìn)行排序,分配運(yùn)算量最大的路由協(xié)議計(jì)算任務(wù)給CPU占用率最小的主用主控板,運(yùn)算量次大的路由協(xié)議計(jì)算任務(wù)給CPU占用率次小的主用主控板,依次類推,直到所有路由協(xié)議計(jì)算任務(wù)分配完成。
10
較佳地,該主用主控板進(jìn)一步包括判斷單元405。判斷單元405,用于若確定所述路由協(xié)議計(jì)算任務(wù)個(gè)數(shù)大于獲得CPU占用率的主用主控板的個(gè)數(shù),則始終將運(yùn)算量最小的兩個(gè)路由協(xié)議計(jì)算任務(wù)相加直至路由協(xié)議計(jì)算任務(wù)的個(gè)數(shù)等于獲得CPU占用率的主用主控板的個(gè)數(shù),觸發(fā)處理單元404執(zhí)行將各路由協(xié)議計(jì)算任務(wù)按照運(yùn)算量從大到小的順序,依次分配給CPU占用率由低到高的各主用主控板的操作,譬如判斷單元405將兩個(gè)路由協(xié)議計(jì)算任務(wù)運(yùn)算量最小的相加,若當(dāng)前路由協(xié)議計(jì)算任務(wù)個(gè)數(shù)大于獲得CPU占用率的主用主控板的個(gè)數(shù),則將當(dāng)前的路由協(xié)議計(jì)算任務(wù)個(gè)數(shù)按運(yùn)算量從大到小排序,將當(dāng)前兩個(gè)路由協(xié)議計(jì)算任務(wù)運(yùn)算量最小的相加,依次類推,直到當(dāng)前路由協(xié)議計(jì)算任務(wù)個(gè)數(shù)等于獲得CPU占用率的主用主控板的個(gè)數(shù),其中,所述兩個(gè)路由協(xié)議計(jì)算任務(wù)運(yùn)算量最小的相加后作為一個(gè)路由協(xié)議計(jì)算任務(wù)運(yùn)算量進(jìn)行排序,觸發(fā)處理單元404執(zhí)行操作。較佳地,接收單元401,用于當(dāng)處理單元404將分配結(jié)果發(fā)送給對(duì)應(yīng)的主用主控板時(shí),重新開始接收其他主用主控板發(fā)送的告知報(bào)文。記錄單元402,用于當(dāng)接收單401元接收到其他主用主控板發(fā)送的告知報(bào)文時(shí),記錄該主用主控板的信息,并記錄所述獲取單元獲取的該主用主控板的CPU占用率。獲取單元403,用于獲取記錄單元402記錄了信息的主用主控板的CPU占用率。較佳地,接收單元401,進(jìn)一步用于接收其他主用主控板回復(fù)的攜帶CPU占用率的r印Iy報(bào)文。處理單元402,進(jìn)一步用于當(dāng)將分配結(jié)果發(fā)送給對(duì)應(yīng)的主用主控板時(shí),定時(shí)向記錄了信息的主用主控板發(fā)送hello報(bào)文;若在預(yù)設(shè)時(shí)間內(nèi)接收單元401未收到主用主控板回復(fù)的攜帶CPU占用率的Mply報(bào)文,則確定該主用主控板出現(xiàn)異常,若該異常主用主控板分得路由協(xié)議計(jì)算任務(wù),則將該路由協(xié)議計(jì)算任務(wù)分配給當(dāng)前CPU占用率最低的主用主控板。記錄單元402,進(jìn)一步用于當(dāng)接收單元401在預(yù)設(shè)應(yīng)答時(shí)間內(nèi)接收到所述主用主控板回復(fù)的攜帶CPU占用率的MPly報(bào)文,更新該主用主控板的CPU占用率;當(dāng)處理單元 404確定所述主用主控板出現(xiàn)異常時(shí),則刪除記錄的該異常主用主控板的信息以及其CPU 占用率。較佳地,獲取單元403,用于向記錄了信息的主用主控板分別發(fā)送索取其CPU占用率的報(bào)文,接收各主用主控板發(fā)送的攜帶自身CPU占用率的反饋報(bào)文,從該報(bào)文獲得各主用主控板對(duì)應(yīng)的CPU占用率;用于接收其他主用主控板發(fā)送的攜帶運(yùn)算的路由轉(zhuǎn)發(fā)信息的報(bào)文, 獲取所述攜帶的路由轉(zhuǎn)發(fā)信息;并獲取本裝置運(yùn)算的路由轉(zhuǎn)發(fā)信息。上述實(shí)施例的單元可以集成于一體,也可以分離部署;可以合并為一個(gè)單元,也可以進(jìn)一步拆分成多個(gè)子單元。綜上所述,本發(fā)明通過堆疊系統(tǒng)中的全局主控板為其他主用主控板分配路由協(xié)議計(jì)算任務(wù),并統(tǒng)一管理各路由協(xié)議計(jì)算任務(wù)的運(yùn)行結(jié)果,能夠提高系統(tǒng)協(xié)議運(yùn)算率,充分利用系統(tǒng)資源。
通過這種分布式計(jì)算,均衡了系統(tǒng)的負(fù)載,避免全局主用板工作量大幅增加,導(dǎo)致運(yùn)算能力不夠的情況,充分利用了系統(tǒng)資源,提高了系統(tǒng)的魯棒性。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種堆疊系統(tǒng)的路由轉(zhuǎn)發(fā)信息同步方法,所述堆疊系統(tǒng)包括多個(gè)堆疊設(shè)備,各堆疊設(shè)備具有主用主控板和備用主控板,在各堆疊設(shè)備的主用主控板中選舉全局主控板,其特征在于,對(duì)于所述全局主控板所述方法包括在預(yù)設(shè)時(shí)間內(nèi)接收其他主用主控板發(fā)送的告知報(bào)文,記錄告知報(bào)文攜帶的主用主控板的信息,并獲取記錄了信息的主用主控板的CPU占用率以及自身的CPU占用率;根據(jù)各路由協(xié)議計(jì)算任務(wù)的運(yùn)算量和獲取的各主用主控板的CPU占用率為各路由協(xié)議計(jì)算任務(wù)分配主用主控板,并將路由協(xié)議計(jì)算任務(wù)分配結(jié)果發(fā)送給對(duì)應(yīng)的主用主控板使其進(jìn)行運(yùn)算;獲取各主用主控板運(yùn)算的路由轉(zhuǎn)發(fā)信息,在所述堆疊系統(tǒng)內(nèi)同步所述路由轉(zhuǎn)發(fā)信息。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)各路由協(xié)議計(jì)算任務(wù)的運(yùn)算量和獲取的各主用主控板的CPU占用率為各路由協(xié)議計(jì)算任務(wù)分配主用主控板的方法為將各路由協(xié)議計(jì)算任務(wù)按照運(yùn)算量從大到小的順序,依次分配給CPU占用率由低到高的各主用主控板。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將各路由協(xié)議計(jì)算任務(wù)按照運(yùn)算量從大到小的順序,依次分配給CPU占用率由低到高的各主用主控板之前,所述方法進(jìn)一步包括若確定所述路由協(xié)議計(jì)算任務(wù)個(gè)數(shù)大于獲得CPU占用率的主用主控板的個(gè)數(shù),則始終將運(yùn)算量最小的兩個(gè)路由協(xié)議計(jì)算任務(wù)相加直至路由協(xié)議計(jì)算任務(wù)的個(gè)數(shù)等于獲得CPU 占用率的主用主控板的個(gè)數(shù),執(zhí)行所述將各路由協(xié)議計(jì)算任務(wù)按照運(yùn)算量從大到小的順序,依次分配給CPU占用率由低到高的各主用主控板步驟。
4.根據(jù)權(quán)利要求1-3任意一項(xiàng)所述的方法,其特征在于,所述將路由協(xié)議計(jì)算任務(wù)分配結(jié)果發(fā)送給對(duì)應(yīng)的主用主控板時(shí),所述方法進(jìn)一步包括重新開始接收其他主用主控板發(fā)送的告知報(bào)文;當(dāng)接收到其他主用主控板發(fā)送的告知報(bào)文,記錄該主用主控板的信息,并獲取該主用主控板的CPU占用率。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述將路由協(xié)議計(jì)算任務(wù)分配結(jié)果發(fā)送給對(duì)應(yīng)的主用主控板時(shí),所述方法進(jìn)一步包括定時(shí)向記錄了信息的主用主控板發(fā)送hello報(bào)文,若在預(yù)設(shè)應(yīng)答時(shí)間內(nèi)收到其他主用主控板回復(fù)的攜帶CPU占用率的reply報(bào)文,則更新該主用主控板的CPU占用率;若在預(yù)設(shè)應(yīng)答時(shí)間內(nèi)未收到主用主控板回復(fù)的攜帶CPU占用率的reply報(bào)文,則確定該主用主控板出現(xiàn)異常,若該異常主用主控板分得路由協(xié)議計(jì)算任務(wù),則將該路由協(xié)議計(jì)算任務(wù)分配給當(dāng)前CPU占用率最低的主用主控板,并刪除記錄的該異常主用主控板的信息以及其CPU占用率;若該異常主用主控板未分得路由協(xié)議計(jì)算任務(wù),則刪除記錄的該主用主控板的信息以及其CPU占用率。
6.根據(jù)權(quán)利要求1-3任意一項(xiàng)所述的方法,其特征在于,所述獲取記錄了信息的主用主控板的CPU占用率的方法為向記錄了信息的主用主控板分別發(fā)送索取其CPU占用率的報(bào)文,接收各主用主控板發(fā)送的攜帶自身CPU占用率的反饋報(bào)文,從該報(bào)文獲得該主用主控板對(duì)應(yīng)的CPU占用率;所述獲取各主用主控板運(yùn)算的路由轉(zhuǎn)發(fā)信息的方法為接收主用主控板發(fā)送的攜帶運(yùn)算的路由轉(zhuǎn)發(fā)信息的報(bào)文,獲取所述攜帶的路由轉(zhuǎn)發(fā)信息;以及本主用主控板運(yùn)算的路由轉(zhuǎn)發(fā)信息。
7.一種裝置,可應(yīng)用于堆疊系統(tǒng)中堆疊設(shè)備的主用主控板上,其特征在于,所述裝置包括接收單元、記錄單元、獲取單元和處理單元;所述接收單元,用于在預(yù)設(shè)時(shí)間內(nèi)接收所述堆疊系統(tǒng)中其他主用主控板發(fā)送的告知報(bào)文;所述記錄單元,用于記錄所述接收單元接收的告知報(bào)文攜帶的主用主控板的信息,以及所述獲取單元獲取的所述記錄了信息的主用主控板的CPU占用率以及自身所在主用主控板的CPU占用率;所述獲取單元,用于獲取所述記錄單元記錄了信息的主用主控板的CPU占用率及自身所在主用主控板的CPU占用率;獲取所述各主用主控板運(yùn)算的路由轉(zhuǎn)發(fā)信息;所述處理單元,用于根據(jù)各路由協(xié)議計(jì)算任務(wù)的運(yùn)算量和獲取的各主用主控板的CPU 占用率為各路由協(xié)議計(jì)算任務(wù)分配主用主控板,并將路由協(xié)議計(jì)算任務(wù)分配結(jié)果發(fā)送給對(duì)應(yīng)的主用主控板使其進(jìn)行運(yùn)算;用于將所述獲取單元獲取的所述各路由轉(zhuǎn)發(fā)信息,在所述堆疊系統(tǒng)內(nèi)同步所述路由轉(zhuǎn)發(fā)信息。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述處理單元,用于將各路由協(xié)議計(jì)算任務(wù)按照運(yùn)算量從大到小的順序,依次分配給 CPU占用率由低到高的各主用主控板。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述主用主控板進(jìn)一步包括判斷單元; 所述判斷單元,用于若確定所述路由協(xié)議計(jì)算任務(wù)個(gè)數(shù)大于獲得CPU占用率的主用主控板的個(gè)數(shù),則始終將運(yùn)算量最小的兩個(gè)路由協(xié)議計(jì)算任務(wù)相加直至路由協(xié)議計(jì)算任務(wù)的個(gè)數(shù)等于獲得CPU占用率的主用主控板的個(gè)數(shù),觸發(fā)所述處理單元執(zhí)行將各路由協(xié)議計(jì)算任務(wù)按照運(yùn)算量從大到小的順序,依次分配給CPU占用率由低到高的各主用主控板的操作。
10.根據(jù)權(quán)利要求7-9任意一項(xiàng)所述的裝置,其特征在于,所述接收單元,用于當(dāng)所述處理單元將分配結(jié)果發(fā)送給對(duì)應(yīng)的主用主控板時(shí),重新開始接收其他主用主控板發(fā)送的告知報(bào)文;所述記錄單元,用于當(dāng)所述接收單元接收到其他主用主控板發(fā)送的告知報(bào)文時(shí),記錄該主用主控板的信息,并記錄所述獲取單元獲取的該主用主控板的CPU占用率; 所述獲取單元,用于獲取所述記錄單元記錄了信息的主用主控板的CPU占用率。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述接收單元,進(jìn)一步用于接收其他主用主控板回復(fù)的攜帶CPU占用率的reply報(bào)文;所述處理單元,進(jìn)一步用于當(dāng)將所述將分配結(jié)果發(fā)送給對(duì)應(yīng)的主用主控板時(shí),定時(shí)向記錄了信息的主用主控板發(fā)送hello報(bào)文;若在預(yù)設(shè)時(shí)間內(nèi)所述接收單元未收到主用主控板回復(fù)的攜帶CPU占用率的Mply報(bào)文,則確定該主用主控板出現(xiàn)異常,若該異常主用主控板分得路由協(xié)議計(jì)算任務(wù),則將該路由協(xié)議計(jì)算任務(wù)分配給當(dāng)前CPU占用率最低的主用主控板;所述記錄單元,進(jìn)一步用于當(dāng)所述接收單元在預(yù)設(shè)應(yīng)答時(shí)間內(nèi)接收到所述主用主控板回復(fù)的攜帶CPU占用率的r印Iy報(bào)文,更新該主用主控板的CPU占用率;當(dāng)所述處理單元確定所述主用主控板出現(xiàn)異常,則刪除記錄的該異常主用主控板的信息以及其CPU占用率。
12.根據(jù)權(quán)利要求7-9任意一項(xiàng)所述的裝置,其特征在于,所述獲取單元,用于向記錄了信息的主用主控板分別發(fā)送索取其CPU占用率的報(bào)文, 接收各主用主控板發(fā)送的攜帶自身CPU占用率的反饋報(bào)文,從該報(bào)文獲得各主用主控板對(duì)應(yīng)的CPU占用率;用于接收其他主用主控板發(fā)送的攜帶運(yùn)算的路由轉(zhuǎn)發(fā)信息的報(bào)文,獲取所述攜帶的路由轉(zhuǎn)發(fā)信息;并獲取本裝置運(yùn)算的路由轉(zhuǎn)發(fā)信息。
全文摘要
本發(fā)明公開了一種堆疊系統(tǒng)的路由轉(zhuǎn)發(fā)信息同步方法,通過堆疊系統(tǒng)中的全局主控板為其他主用主控板分配路由協(xié)議計(jì)算任務(wù),并統(tǒng)一管理各路由協(xié)議計(jì)算任務(wù)的運(yùn)行結(jié)果。基于同樣的發(fā)明構(gòu)思,本發(fā)明還提出一種裝置,能夠提高系統(tǒng)協(xié)議運(yùn)算率,充分利用系統(tǒng)資源。
文檔編號(hào)H04L12/56GK102571595SQ20121002215
公開日2012年7月11日 申請(qǐng)日期2012年2月1日 優(yōu)先權(quán)日2012年2月1日
發(fā)明者史科軍, 路烽, 鄭國(guó)良 申請(qǐng)人:杭州華三通信技術(shù)有限公司