專利名稱:實現(xiàn)單板間信息交互的方法
技術領域:
本發(fā)明涉及通信領域,尤其涉及一種實現(xiàn)單板間信息交互的方法。
背景技術:
機框中多個單板插在同一塊背板上,單板間消息通過背板上FE(FastEthernet;快速以太網(wǎng))總線傳送,相當于一個小型以太網(wǎng)。其中,每塊單板具有自己唯一的CPU編號,相當于以太網(wǎng)中的MAC地址。
單板間進行信息交互的過程,如圖1所示當單板往外發(fā)消息時,需要填寫消息頭,包括發(fā)送方CPU編號、接收方CPU編號、消息類型、消息長度等,以保證消息能夠被正確的發(fā)送到目的單板。消息經過FE總線傳輸至以太網(wǎng)交換芯片,通過以太網(wǎng)交換芯片交換之后到達目的單板。所述目的單板提取消息頭中的有關信息進行相應處理。
由上述處理過程可見,板間消息的收發(fā)會消耗一部分系統(tǒng)資源,特別是CPU資源,一條消息將觸發(fā)一次中斷。
以前的單板運行業(yè)務不多,板間消息量不是很大,隨著芯片技術的發(fā)展,CPU運算能力越來越強,因此板間消息對CPU資源的消耗沒有引起人們太多的關注。但是,隨著在一些比較老的單板上增加新的功能點,單板間交互的信息量也隨著迅速增大。隨著消息量的增大,系統(tǒng)CPU占用率將迅速提高,因為CPU處理中斷的能力是有限的,當消息量增大到一定程度時,會導致CPU過載,影響其它業(yè)務的處理,有些情況甚至會導致CPU的擁塞,單板復位的致命問題。因此,迫切需要有效壓縮單板間的消息量,減少單板間處理交互消息時占用的CPU資源。
發(fā)明內容
鑒于上述現(xiàn)有技術所存在的問題,本發(fā)明的目的是提供一種實現(xiàn)單板間信息交互的方法,通過本發(fā)明,能夠解決由于板間消息過多導致CPU過載的問題,通過本發(fā)明,不需要更換老單板的硬件,而是對板間消息的處理過程做一定程度的優(yōu)化,從而在不影響業(yè)務的前提下盡可能的壓縮板間消息量,減少板間消息收發(fā)的次數(shù)和長度,從而達到降低CPU占用率的目的。
本發(fā)明的目的是通過以下技術方案實現(xiàn)的本發(fā)明提供的一種實現(xiàn)單板間信息交互的方法,包括A、將攜帶相同路由信息的單板間交互消息,設置在同一消息緩沖隊列中;B、單板間通過所述消息緩沖隊列進行信息的交互。
其中,在所述步驟A之前包括設置消息緩沖區(qū),用于緩存單板間的交互消息。
其中,所述步驟A具體包括A1、分析所述消息緩沖區(qū)中單板間的交互消息,將具有相同路由信息的消息頭,以及對應的消息體提取出;A2、將所述提取出的路由信息組合成新的消息頭;A3、設置消息緩沖隊列,并為所述消息緩沖隊列添加所述新生成的消息頭,以及所提取出的對應消息體。
其中,所述消息緩沖隊列包括隊列可用長度參數(shù)、隊列中容納的最大消息體個數(shù)參數(shù)和隊列中消息的最大緩沖時間參數(shù)。
其中,當新消息到達時,所述步驟B具體包括B1、判斷新到消息的長度是否超過所述消息緩沖隊列的總長度,若超過,則直接將所述新到消息發(fā)送出去;否則,執(zhí)行步驟B2;B2、判斷新到消息的長度是否超過所述消息緩沖隊列的當前消息緩沖區(qū)的可用長度,若超過,則將所述當前消息緩沖區(qū)內的消息發(fā)送出去,然后將所述新到消息放入所述當前消息緩沖區(qū)中,然后轉入步驟B3;否則,直接執(zhí)行步驟B3;B3、判斷當前消息緩沖區(qū)中與所述新到消息具有相同的路由信息的消息體個數(shù)是否達到設定的域值,若達到設定的域值,則將所述當前緩沖區(qū)中的消息全部發(fā)送出去,并清空所述當前緩沖區(qū),然后執(zhí)行步驟B4;否則,直接執(zhí)行步驟B4;B4、將所述新到消息放入所述當前消息緩沖區(qū)中。
其中,所述步驟B還包括B5、當隊列中消息的最大緩沖時間到達定時器的設定時間時,則將當前消息緩沖區(qū)中的消息發(fā)送出去。
其中,所述步驟B還包括B6、所述發(fā)送出的消息經總線到達網(wǎng)絡交換芯片,經過交換后,通過總線將所述消息發(fā)送給目的單板;B7、所述目的單板對接收到的所述消息進行處理。
其中,所述消息緩沖隊列中的參數(shù)的值相同或不同。
其中,同一系統(tǒng)中不同的消息緩沖隊列中的參數(shù)的值相同或不同。
由上述本發(fā)明提供的技術方案可以看出,本發(fā)明所述的方法將攜帶相同路由信息的單板間交互消息,設置在同一消息緩沖隊列中;單板間通過所述消息緩沖隊列進行信息的交互。通過本發(fā)明,能夠在不影響業(yè)務的前提下,盡可能的壓縮板間消息量,減少板間消息傳輸?shù)拇螖?shù)和長度,從而有效的減輕CPU的負擔,降低單板復位的幾率,使老單板在不更換硬件的情況下支持新的業(yè)務。
圖1為單板間進行通信時的原理示意圖;圖2為本發(fā)明的流程圖。
具體實施例方式
本發(fā)明提供一種實現(xiàn)單板間信息交互的方法,其核心是將攜帶相同路由信息的單板間交互消息,設置在同一消息緩沖隊列中;單板間通過所述消息緩沖隊列進行信息的交互。
本發(fā)明提供的實施例的主要思想是,首先根據(jù)消息緩存區(qū)中的消息創(chuàng)建消息緩沖隊列,填上消息頭,當有新的消息到達時,先判斷新到消息的長度,如果超過所述消息緩沖隊列的總長度,則直接將所述新到消息發(fā)送出去;如果新到消息的長度超過所述消息緩沖隊列的當前消息緩沖區(qū)的可用長度,則將所述當前消息緩沖區(qū)內的消息發(fā)送出去,然后將所述新到消息放入所述當前消息緩沖區(qū)中;如果新到消息的長度小于所述消息緩沖隊列的當前消息緩沖區(qū)的可用長度,則直接將所述新到消息放入所述當前消息緩沖區(qū)中;然后再判斷當前隊列中具有與所述新到消息具有相同路由信息的消息體個數(shù)是否超過一定的域值,如果超過,則需要將隊列中的消息全部發(fā)送出去,然后清空隊列,再將新到消息放到隊列中;如果當前隊列中消息體個數(shù)沒有超過閾值,則將新到消息放到消息隊列隊尾。另外消息緩沖隊列有定時器保護,當定時器超時后,需要將消息緩沖隊列中的消息發(fā)送出去,以滿足系統(tǒng)實時性需求。具體實施過程如圖2所示,包括步驟101、設置消息緩沖區(qū),用于緩存單板間的交互消息。
步驟102、分析所述消息緩沖區(qū)中單板間的交互消息,將具有相同路由信息的消息頭,以及對應的消息體提取出。
將一條板間消息進行細分,分為消息頭和消息體,消息頭用來記錄一些用于尋址的路由信息,如源CPU編號、目的CPU編號等,而消息體用于記錄本次通訊的具體內容。
步驟103、將所述提取出的路由信息組合成新的消息頭。
例如現(xiàn)有兩塊單板,分別記為A單板和B單板,假設A需要發(fā)送100條消息到B,按照以前的處理需要申請100個消息頭結構并進行填充,這100個消息頭所攜帶的路由信息是一樣的。鑒于此,本發(fā)明將這些統(tǒng)一的路由信息提取出來組合成一個新的消息頭。
步驟104、設置消息緩沖隊列,并為所述消息緩沖隊列添加所述新生成的消息頭,以及所提取出的對應消息體。
仍然結合上述假設,設置消息緩沖隊列時,為所述消息緩沖隊列添加所述新生成的消息頭,這個消息頭后面再跟著100個消息的消息體,這樣做的好處是有效的減小消息長度,而且以前會產生100次中斷,現(xiàn)在變成了1次,從而顯著的降低了CPU的處理時間。這種方法不僅適用于兩塊單板間的消息緩沖,對多塊單板同樣適用。比如,A單板需要和B、C兩塊單板進行消息交互,則需要在A單板分別創(chuàng)建對應于B單板和C單板的消息緩沖隊列,不同的消息進入不同的隊列,各個隊列之間相互獨立。
經過上述設置的消息緩沖隊列,具有三個重要的參數(shù)1.隊列長度由于板間消息最終會轉換為以太網(wǎng)幀發(fā)出,因此隊列長度應該適中;2.隊列中可以容納的最大的消息體個數(shù)為達到緩沖的目的,設定域值時,應該考慮隊列中可以容納的最大的消息體個數(shù)不能太少;3.隊列中消息最大緩沖時間考慮到實時性要求,消息體在緩沖隊列中存放的時間不能太長,否則會影響到系統(tǒng)的可靠性。
以上三個參數(shù)都可以根據(jù)具體的應用場合設定不同的值,同一系統(tǒng)中不同消息隊列之間的取值也可以不同。
步驟105、判斷新到消息的長度是否超過所述消息緩沖隊列的總長度,若超過,則執(zhí)行步驟115,即直接將所述新到消息發(fā)送出去;否則,執(zhí)行步驟106;步驟106、判斷新到消息的長度是否超過所述消息緩沖隊列的當前消息緩沖區(qū)的可用長度,若超過,則執(zhí)行步驟107,即將所述當前消息緩沖區(qū)內的消息發(fā)送出去,并將所述新到消息放入所述當前消息緩沖區(qū)中,然后轉入步驟111;否則,執(zhí)行步驟108。
執(zhí)行步驟108,判斷當前消息緩沖區(qū)中與所述新到消息具有相同的路由信息的消息體個數(shù)是否達到設定的域值,若達到設定的域值,則執(zhí)行步驟109,即將所述當前緩沖區(qū)中的消息全部發(fā)送出去,并清空所述當前緩沖區(qū),然后執(zhí)行步驟110;否則,直接執(zhí)行步驟110,即將所述新到消息放入所述當前消息緩沖區(qū)中。
步驟111、當定時器到達設定時間時,則將消息緩沖隊列的當前緩沖區(qū)中的消息發(fā)送出去。
步驟112、所述發(fā)送出的消息經總線到達網(wǎng)絡交換芯片,經過交換后,通過總線將所述消息發(fā)送給目的單板。
步驟113、所述目的單板對接收到的所述消息進行處理。
由上述本發(fā)明提供的具體實施方案可以看出本發(fā)明將發(fā)往同一單板的多個消息的消息頭提取出來,組成一個公用的消息頭,然后將各個消息體依次置于公用消息頭之后,從而降低板間消息量,減少板間消息收發(fā)次數(shù)以及CPU處理中斷的次數(shù);從而有效的減輕CPU的負擔,降低單板復位的幾率,使老單板在不更換硬件的情況下支持新的業(yè)務。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應該以權利要求的保護范圍為準。
權利要求
1.一種實現(xiàn)單板間信息交互的方法,其特征在于,包括A、將攜帶相同路由信息的單板間交互消息,設置在同一消息緩沖隊列中;B、單板間通過所述消息緩沖隊列進行信息的交互。
2.根據(jù)權利要求1所述的方法,其特征在于,在所述步驟A之前包括設置消息緩沖區(qū),用于緩存單板間的交互消息。
3.根據(jù)權利要求2所述的方法,其特征在于,所述步驟A具體包括A1、分析所述消息緩沖區(qū)中單板間的交互消息,將具有相同路由信息的消息頭,以及對應的消息體提取出;A2、將所述提取出的路由信息組合成新的消息頭;A3、設置消息緩沖隊列,并為所述消息緩沖隊列添加所述新生成的消息頭,以及所提取出的對應消息體。
4.根據(jù)權利要求1至3任意一項所述的方法,其特征在于,所述消息緩沖隊列包括隊列可用長度參數(shù)、隊列中容納的最大消息體個數(shù)參數(shù)和隊列中消息的最大緩沖時間參數(shù)。
5.根據(jù)權利要求4所述的方法,其特征在于,當新消息到達時,所述步驟B具體包括B1、判斷新到消息的長度是否超過所述消息緩沖隊列的總長度,若超過,則直接將所述新到消息發(fā)送出去;否則,執(zhí)行步驟B2;B2、判斷新到消息的長度是否超過所述消息緩沖隊列的當前消息緩沖區(qū)的可用長度,若超過,則將所述當前消息緩沖區(qū)內的消息發(fā)送出去,然后將所述新到消息放入所述當前消息緩沖區(qū)中,然后轉入步驟B3;否則,直接執(zhí)行步驟B3;B3、判斷當前消息緩沖區(qū)中與所述新到消息具有相同的路由信息的消息體個數(shù)是否達到設定的域值,若達到設定的域值,則將所述當前緩沖區(qū)中的消息全部發(fā)送出去,并清空所述當前緩沖區(qū),然后執(zhí)行步驟B4;否則,直接執(zhí)行步驟B4;B4、將所述新到消息放入所述當前消息緩沖區(qū)中。
6.根據(jù)權利要求5所述的方法,其特征在于,所述步驟B還包括B5、當隊列中消息的最大緩沖時間到達定時器的設定時間時,則將當前消息緩沖區(qū)中的消息發(fā)送出去。
7.根據(jù)權利要求6所述的方法,其特征在于,所述步驟B還包括B6、所述發(fā)送出的消息經總線到達網(wǎng)絡交換芯片,經過交換后,通過總線將所述消息發(fā)送給目的單板;B7、所述目的單板對接收到的所述消息進行處理。
8.根據(jù)權利要求4所述的方法,其特征在于,所述消息緩沖隊列中的參數(shù)的值相同或不同。
9.根據(jù)權利要求4所述的方法,其特征在于,同一系統(tǒng)中不同的消息緩沖隊列中的參數(shù)的值相同或不同。
全文摘要
本發(fā)明涉及一種實現(xiàn)單板間信息交互的方法,其核心是將攜帶相同路由信息的單板間交互消息,設置在同一消息緩沖隊列中;單板間通過所述消息緩沖隊列進行信息的交互。通過本發(fā)明,能夠在不影響業(yè)務的前提下,盡可能的壓縮板間消息量,減少板間消息傳輸?shù)拇螖?shù)和長度,從而有效的減輕CPU的負擔,降低單板復位的幾率,使老單板在不更換硬件的情況下支持新的業(yè)務。
文檔編號H04L12/56GK1956410SQ20051011439
公開日2007年5月2日 申請日期2005年10月24日 優(yōu)先權日2005年10月24日
發(fā)明者彭勇 申請人:華為技術有限公司