專利名稱:報文處理方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種報文處理方法及裝置。
背景技術(shù):
在微波接入全球互通(Worldwide Interoperability for MicrowaveAccess, M 稱為WiMAx)無線通信系統(tǒng)的室內(nèi)型微基站pico中,帶有千兆以太網(wǎng)口的CPU得到了廣泛 的應(yīng)用。在這種應(yīng)用場景下,CPU在接收以太網(wǎng)口上報的報文需要耗費巨大的資源,CPU的 對網(wǎng)絡(luò)報文的接收能力往往成為基站性能的瓶頸。在CPU接收報文的流程中,常規(guī)做法都是當(dāng)網(wǎng)口控制器收到硬件底層發(fā)來的報文 時,網(wǎng)口控制器向CPU發(fā)送一個中斷,目的是讓CPU馬上獲知報文已經(jīng)到達,需要馬上對報 文進行處理。中斷作為操作系統(tǒng)中優(yōu)先級極高的一個行為,對CPU資源的消耗是很大的,一 次中斷的到來就需要打斷CPU原來的運行狀態(tài),當(dāng)CPU執(zhí)行完當(dāng)前的一條指令后需要馬上 跳進中斷處理流程,當(dāng)中斷執(zhí)行完畢后,需要恢復(fù)原來的CPU運行狀態(tài)。在這一切換一輪回 的過程中,CPU資源就被中斷這一行為強制消耗了。這樣,當(dāng)基站收到的報文過多,CPU耗費在收包上的資源也相應(yīng)增加,從而會影響 基帶處理模塊對CPU的需求,并進而影響基站的性能。
發(fā)明內(nèi)容
針對相關(guān)技術(shù)中當(dāng)基站收到過多報文時,CPU將在收包上耗費很大資源的問題而 提出本發(fā)明,為此,本發(fā)明的主要目的在于提供一種報文處理方法及裝置,以解決上述問題。為了實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了 一種報文處理方法。根據(jù)本發(fā)明的報文處理方法包括接收到報文;確定接收到的報文的數(shù)量大于等 于預(yù)先設(shè)定的報文中斷閾值;向中央處理器CPU發(fā)送中斷信號。進一步地,在確定接收到的報文的數(shù)量大于等于預(yù)先設(shè)定的報文中斷閾值之前, 上述方法還包括確定CPU的資源利用率;根據(jù)資源利用率,調(diào)整報文中斷閾值。進一步地,確定CPU的資源利用率包括預(yù)先創(chuàng)建監(jiān)控任務(wù),其中監(jiān)控任務(wù)由CPU 采用時間片輪轉(zhuǎn)機制周期性執(zhí)行,并用于記錄CPU在固定周期內(nèi)執(zhí)行監(jiān)控任務(wù)的執(zhí)行次 數(shù);計算資源利用率等于執(zhí)行次數(shù)與預(yù)期執(zhí)行次數(shù)比值,其中預(yù)期執(zhí)行次數(shù)為空閑狀態(tài)下 的CPU在固定周期內(nèi)執(zhí)行監(jiān)控任務(wù)的執(zhí)行次數(shù)。進一步地,通過CPU中的輔助定時器確定固定周期。進一步地,根據(jù)資源利用率,調(diào)整報文中斷閾值包括確定資源利用率大于預(yù)先設(shè) 定的第一資源利用率閾值,減小報文中斷閾值;確定資源利用率小于預(yù)先設(shè)定的第一資源 利用率閾值,增大報文中斷閾值。進一步地,第一資源利用率閾值為90% ;按照1、2、4、8、16、32的順序,增大報文中斷閾值;按照32、16、8、4、2、1的順序,減小報文中斷閾值。進一步地,根據(jù)資源利用率,調(diào)整報文中斷閾值還包括確定資源利用率小于預(yù)先 設(shè)定的第二資源利用率閾值;停止接收報文。進一步地,第二資源利用率閾值為10% ;在停止接收報文之后,上述方法還包括 關(guān)閉報文中斷開關(guān);設(shè)置標(biāo)志位,其中標(biāo)志位用于標(biāo)志報文中斷開關(guān)關(guān)閉。進一步地,在設(shè)置標(biāo)志位之后,上述方法還包括確定資源利用率大于90% ;確定 報文中斷閾值大于1 ;確定標(biāo)志位已設(shè)置;取消標(biāo)志位的設(shè)置;開啟報文中斷開關(guān)。為了實現(xiàn)上述目的,根據(jù)本發(fā)明的另一個方面,提供了 一種報文處理裝置。根據(jù)本發(fā)明的報文處理裝置包括接收模塊,用于接收報文;確定模塊,用于確 定接收到的報文的數(shù)量大于等于預(yù)先設(shè)定的報文中斷閾值;發(fā)送模塊,用于向中央處理器 CPU發(fā)送中斷信號。本發(fā)明通過設(shè)置報文中斷閾值,從而控制多包觸發(fā)一次中斷,解決了相關(guān)技術(shù)中 當(dāng)基站收到過多報文時,CPU將在收包上耗費很大資源的問題,進而減輕CPU在收包上耗費 的資源,保證基站性能。同時,本發(fā)明能夠在遇到廣播風(fēng)暴惡意攻擊等極端情況下瞬時禁止 報文進入、切斷攻擊途徑,從而進一步保證基站性能。
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā) 明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1是根據(jù)本發(fā)明實施例的報文處理方法的流程圖;圖2是根據(jù)本發(fā)明優(yōu)選實施例的報文處理方法的流程圖;圖3是根據(jù)本發(fā)明實施例的報文處理裝置的結(jié)構(gòu)框圖。
具體實施例方式需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相 互組合。下面將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。本發(fā)明實施例提供了 一種報文處理方法。圖1是根據(jù)本發(fā)明實施例的報文處理方 法的流程圖,如圖1所示,包括如下的步驟S 102至步驟S106。步驟S102,接收到報文。步驟S104,確定接收到的報文的數(shù)量大于等于預(yù)先設(shè)定的報文中斷閾值。步驟S106,向CPU發(fā)送中斷信號。相關(guān)技術(shù)中,當(dāng)基站收到過多報文時,CPU將在收包上耗費很大資源,從而影響基 站的性能。本發(fā)明實施例中,通過設(shè)置報文中斷閾值,從而控制多包觸發(fā)一次中斷,進而減 輕CPU在收包上耗費的資源,保證基站性能。優(yōu)選地,在確定接收到的報文的數(shù)量大于等于預(yù)先設(shè)定的報文中斷閾值之前,上 述方法還包括確定CPU的資源利用率;根據(jù)資源利用率,調(diào)整報文中斷閾值。本優(yōu)選實施例,通過CPU的資源利用率,動態(tài)地調(diào)整基站CPU接收報文的報文中斷 閾值,從而在不額外增加CPU負擔(dān)的基礎(chǔ)上,提高了基站吞吐量。優(yōu)選地,確定CPU的資源利用率包括預(yù)先創(chuàng)建監(jiān)控任務(wù),其中監(jiān)控任務(wù)由CPU采用時間片輪轉(zhuǎn)機制周期性執(zhí)行,并用于記錄CPU在固定周期內(nèi)執(zhí)行監(jiān)控任務(wù)的執(zhí)行次數(shù); 計算資源利用率等于執(zhí)行次數(shù)與預(yù)期執(zhí)行次數(shù)比值,其中預(yù)期執(zhí)行次數(shù)為空閑狀態(tài)下的 CPU在固定周期內(nèi)執(zhí)行監(jiān)控任務(wù)的執(zhí)行次數(shù)。相關(guān)技術(shù)中,操作系統(tǒng)一般采用時間片輪轉(zhuǎn)或優(yōu)先級搶占機制,就是說操作系統(tǒng) 中的任務(wù)在操作系統(tǒng)正常運行過程中都能得到周期性的執(zhí)行。本優(yōu)選實施例中,監(jiān)測機制實現(xiàn)通過在操作系統(tǒng)中創(chuàng)建優(yōu)先級中等級別的一個任 務(wù),在該任務(wù)中進行計數(shù),當(dāng)CPU時間片輪轉(zhuǎn)到任務(wù)時,任務(wù)就計個數(shù)。因此,在一個固定的 周期內(nèi),比如1秒內(nèi),所計到的數(shù)應(yīng)該是一樣的。即能實現(xiàn)這樣的情況當(dāng)網(wǎng)口流量不大時, 由于CPU資源豐富,肯定能夠被充分執(zhí)行,因此,計數(shù)值應(yīng)該是預(yù)期值的100% ;當(dāng)網(wǎng)口流量 增加,CPU的資源被過度消耗在接收報文時,計數(shù)值就達不到預(yù)期值的100% 了。因此,本優(yōu)選實施例通過記錄CPU在固定周期內(nèi)執(zhí)行監(jiān)控任務(wù)的執(zhí)行次數(shù),從而 確定CPU的資源利用率,其實現(xiàn)方式簡便、可靠。優(yōu)選地,通過CPU中的輔助定時器確定固定周期。由于輔助定時器是由硬件中斷觸發(fā)的,因此,本優(yōu)選實施例在報文流動量大、CPU 資源利用率低的情況下,仍可以保證延時時間閾值的精準(zhǔn)度,即,其精準(zhǔn)度不受網(wǎng)口報文流
量的影響。本優(yōu)選實施例,通過輔助定時器而提供了超時機制,使得報文數(shù)量未達到報文中 斷閾值并且始終不能達到報文中斷閾值時,進行一定的延時,延時時間一到,也觸發(fā)中斷, 從而保證報文始終能正常的進入CPU進行處理。需要說明的是,輔助定時器的定時周期可以設(shè)置為50ms,即50ms監(jiān)測一次執(zhí)行次數(shù)。優(yōu)選地,根據(jù)資源利用率,調(diào)整報文中斷閾值包括確定資源利用率大于預(yù)先設(shè)定 的第一資源利用率閾值,減小報文中斷閾值;確定資源利用率小于預(yù)先設(shè)定的第一資源利 用率閾值,增大報文中斷閾值。優(yōu)選地,第一資源利用率閾值為90% ;按照1、2、4、8、16、32的順序,增大報文中斷 閾值;按照32、16、8、4、2、1的順序,減小報文中斷閾值。本優(yōu)選實施例中,對于報文中斷閾值的設(shè)置提供了一個兼顧報文響應(yīng)速度和效率 的方案。在CPU空閑狀態(tài)下,為提高報文的發(fā)送效率,將報文中斷閾值設(shè)置在1包觸發(fā)一個 中斷。當(dāng)待CPU處理的網(wǎng)絡(luò)報文逐漸增大時,采用逐級提升報文中斷閾值的方法,即報文中 斷閾值1- > 2- > 4- > 8- > 16- > 32來遞增;反之,當(dāng)待CPU處理的網(wǎng)絡(luò)報文由大變小 時,報文中斷閾值32- > 16- > 8- > 4- > 24- > 1來遞減。需要說明的是,當(dāng)報文中斷閾值超過32時,報文的延時會比較大,因此,可以將報 文中斷閾值的最大可選值設(shè)置為32。優(yōu)選地,根據(jù)資源利用率,調(diào)整報文中斷閾值還包括確定資源利用率小于預(yù)先設(shè) 定的第二資源利用率閾值;停止接收報文。本優(yōu)選實施例中,當(dāng)CPU將絕大部分資源都消耗于接收報文時,說明網(wǎng)口受到了 大流量的沖擊,為保護基站,此時就必須采取極端的手段,將網(wǎng)口中斷關(guān)閉,停止接收報文, 以使基站的CPU利用率保持在一個比較合理的范圍之內(nèi)。需要說明的是,第二資源利用率閾值最好遠小于第一資源利用率閾值,以充分實現(xiàn)通過CPU資源利用率控制報文中斷閾值,從而保護基站的目的。優(yōu)選地,在確定資源利用率小于預(yù)先設(shè)定的第二資源利用率閾值之前,上述方法 還包括確定報文中斷閾值為報文中斷閾值的最大值。本優(yōu)選實施例中,如果確定資源利用率小于預(yù)先設(shè)定的第二資源利用率閾值,并 且確定報文中斷閾值為報文中斷閾值的最大值(可以預(yù)先設(shè)置為32),則調(diào)節(jié)報文中斷閾 值已經(jīng)無濟于事了,必須采取極端的手段,將網(wǎng)口中斷關(guān)閉,停止接收報文,以使基站的CPU 利用率保持在一個比較合理的范圍之內(nèi)。本優(yōu)選實施例充分考慮到了報文流量突增的可能性,從而可以防范在報文流量可 容忍的范圍內(nèi)誤關(guān)閉網(wǎng)口中斷。優(yōu)選地,第二資源利用率閾值為10% ;在停止接收報文之后,上述方法還包括關(guān) 閉報文中斷開關(guān);設(shè)置標(biāo)志位,其中標(biāo)志位用于標(biāo)志報文中斷開關(guān)關(guān)閉。本優(yōu)選實施例通過設(shè)置標(biāo)志位,告訴軟件此時中斷已經(jīng)被關(guān)閉。優(yōu)選地,在設(shè)置標(biāo)志位之后,上述方法還包括確定資源利用率大于90% ;確定報 文中斷閾值大于1 ;確定標(biāo)志位已設(shè)置;取消標(biāo)志位的設(shè)置;開啟報文中斷開關(guān)。優(yōu)選地,在設(shè)置標(biāo)志位之后,上述方法還包括確定資源利用率大于90% ;確定報 文中斷閾值大于1 ;確定標(biāo)志位已設(shè)置;取消標(biāo)志位的設(shè)置;開啟報文中斷開關(guān)。優(yōu)選地,在設(shè)置標(biāo)志位之后,上述方法還包括確定資源利用率大于90% ;確定報 文中斷閾值為報文中斷閾值的最小值(可以預(yù)先設(shè)置為1);返回繼續(xù)等待下次定時器定時 到來。本優(yōu)選實施例中基站比較空閑,不需要做任何調(diào)整。下面將結(jié)合實例對本發(fā)明實施例的實現(xiàn)過程進行詳細描述。步驟S202,開始。步驟S204,判斷定時時間是否到達,如果是,則進行步驟S206,否則返回步驟 S202。步驟S206,統(tǒng)計監(jiān)控任務(wù)執(zhí)行次數(shù)。步驟S208,判斷執(zhí)行次數(shù)是否小于額定次數(shù)的90%,如果是,則進行步驟S218,否 則進行步驟S210。步驟S210,判斷報文中斷閾值是否為最大值,如果是,則返回步驟S202,否則進行 步驟S212。步驟S212,判斷是否設(shè)置關(guān)閉中斷標(biāo)志位,如果是,則進行步驟S214,否則進行步 驟 S216。步驟S214,取消設(shè)置關(guān)閉中斷標(biāo)志位,開啟報文中斷開關(guān),然后返回步驟S202。步驟S216,將報文中斷閾值縮小一倍,然后返回步驟S202。步驟S218,判斷報文中斷閾值是否為最大值,如果是,則進行步驟S222,否則進行 步驟S220。步驟S220,將報文中斷閾值擴大一倍,然后返回步驟S202。步驟S222,判斷執(zhí)行次數(shù)是否小于額定次數(shù)的10%,如果是,則進行步驟S224,否 則返回步驟S202。步驟S224,關(guān)閉接收中斷,禁止報文進入。
步驟S226,設(shè)置關(guān)閉中斷標(biāo)志位,然后返回步驟S202。需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的 計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不 同于此處的順序執(zhí)行所示出或描述的步驟。 本發(fā)明實施例提供了 一種報文處理裝置,該報文處理裝置可以用于實現(xiàn)上述報文 處理方法。圖3是根據(jù)本發(fā)明實施例的報文處理裝置的結(jié)構(gòu)框圖,包括接收模塊32,確定模 塊34和發(fā)送模塊36。下面對其結(jié)構(gòu)進行詳細描述。接收模塊32,用于接收報文;確定模塊34,連接至接收模塊32,用于確定接收模塊 32接收到的報文的數(shù)量大于等于預(yù)先設(shè)定的報文中斷閾值;發(fā)送模塊36,連接至確定模塊 34,用于在確定模塊34確定接收模塊32接收到的報文的數(shù)量大于等于預(yù)先設(shè)定的報文中 斷閾值之后,向中央處理器CPU發(fā)送中斷信號。需要說明的是,裝置實施例中描述的報文處理裝置對應(yīng)于上述的方法實施例,其 具體的實現(xiàn)過程在方法實施例中已經(jīng)進行過詳細說明,在此不再贅述。綜上所述,根據(jù)本發(fā)明的上述實施例,提供了一種報文處理方法及裝置。通過設(shè) 置報文中斷閾值,從而控制多包觸發(fā)一次中斷,解決了相關(guān)技術(shù)中當(dāng)基站收到過多報文時, CPU將在收包上耗費很大資源的問題,進而減輕CPU在收包上耗費的資源,保證基站性能。 同時,本發(fā)明能夠在遇到廣播風(fēng)暴惡意攻擊等極端情況下瞬時禁止報文進入、切斷攻擊途 徑,從而進一步保證基站性能。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用 的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成 的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲 在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們 中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的 硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技 術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種報文處理方法,其特征在于,包括 接收到報文;確定接收到的報文的數(shù)量大于等于預(yù)先設(shè)定的報文中斷閾值; 向中央處理器CPU發(fā)送中斷信號。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在確定接收到的報文的數(shù)量大于等于預(yù) 先設(shè)定的報文中斷閾值之前,所述方法還包括確定所述CPU的資源利用率;根據(jù)所述資源利用率,調(diào)整所述報文中斷閾值。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,確定所述CPU的所述資源利用率包括 預(yù)先創(chuàng)建監(jiān)控任務(wù),其中所述監(jiān)控任務(wù)由所述CPU采用時間片輪轉(zhuǎn)機制周期性執(zhí)行,并用于記錄所述CPU在固定周期內(nèi)執(zhí)行所述監(jiān)控任務(wù)的執(zhí)行次數(shù);計算所述資源利用率等于所述執(zhí)行次數(shù)與預(yù)期執(zhí)行次數(shù)比值,其中所述預(yù)期執(zhí)行次數(shù) 為空閑狀態(tài)下的所述CPU在所述固定周期內(nèi)執(zhí)行所述監(jiān)控任務(wù)的執(zhí)行次數(shù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,通過所述CPU中的輔助定時器確定所述固 定周期。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)所述資源利用率,調(diào)整所述報文中斷 閾值包括確定所述資源利用率大于預(yù)先設(shè)定的第一資源利用率閾值,減小所述報文中斷閾值; 確定所述資源利用率小于所述預(yù)先設(shè)定的第一資源利用率閾值,增大所述報文中斷閾值。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于, 所述第一資源利用率閾值為90% ;按照1、2、4、8、16、32的順序,增大所述報文中斷閾值; 按照32、16、8、4、2、1的順序,減小所述報文中斷閾值。
7.根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)所述資源利用率,調(diào)整所述報文中斷 閾值還包括確定所述資源利用率小于預(yù)先設(shè)定的第二資源利用率閾值; 停止接收所述報文。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于, 所述第二資源利用率閾值為10% ;在停止接收所述報文之后,所述方法還包括 關(guān)閉報文中斷開關(guān);設(shè)置標(biāo)志位,其中所述標(biāo)志位用于標(biāo)志所述報文中斷開關(guān)關(guān)閉。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,在設(shè)置所述標(biāo)志位之后,所述方法還包括確定所述資源利用率大于90% ; 確定所述報文中斷閾值大于1 ; 確定所述標(biāo)志位已設(shè)置; 取消所述標(biāo)志位的設(shè)置;開啟所述報文中斷開關(guān)。
10. 一種報文處理裝置,其特征在于,包括接收模塊,用于接收報文;確定模塊,用于確定接收到的報文的數(shù)量大于等于預(yù)先設(shè)定的報文中斷閾值; 發(fā)送模塊,用于向中央處理器CPU發(fā)送中斷信號。
全文摘要
本發(fā)明公開了一種報文處理方法及裝置,該方法包括接收到報文;確定接收到的報文的數(shù)量大于等于預(yù)先設(shè)定的報文中斷閾值;向中央處理器CPU發(fā)送中斷信號。本發(fā)明可以減輕CPU在收包上耗費的資源,保證基站性能。同時,本發(fā)明能夠在遇到廣播風(fēng)暴惡意攻擊等極端情況下瞬時禁止報文進入、切斷攻擊途徑,從而進一步保證基站性能。
文檔編號G06F9/48GK102006615SQ20101056021
公開日2011年4月6日 申請日期2010年11月25日 優(yōu)先權(quán)日2010年11月25日
發(fā)明者張施賢, 郭軍洪 申請人:中興通訊股份有限公司