專利名稱:一種cpu接收報文分級動態(tài)調度的方法及設備的制作方法
技術領域:
本發(fā)明涉及通信領域,尤其涉及一種CPU接收報文分級動態(tài)調度的方法及設備。
背景技術:
網(wǎng)絡設備收到報文后,交由軟件處理,或者下發(fā)表項、或者進行轉發(fā)。如果某些報文過多,就會大量占用CPU的處理時間,導致部分協(xié)議報文不能 及時處理,出現(xiàn)網(wǎng)絡震蕩;或者使設備響應用戶操作的速度變慢,甚至很長 時間都沒有響應。現(xiàn)有技術中,為了應對報文攻擊,網(wǎng)絡設備通常設置分級限速的能力。 具體如圖1所示,預先在轉發(fā)芯片中配置報文的硬件限速值。達到該硬件限 速值時,轉發(fā)芯片拒絕將報文上送CPU。報文上送CPU后,CPU還可以通過 預先配置的軟件設置限速值,如果CPU接收的報文達到了該軟件設置的限速 值,CPU拒絕接收纟艮文?,F(xiàn)有技術的缺點在于硬件限速值或者軟件限速值都在設備初始化時設置為固定值,或者只能 通過命令行修改,因此當有報文沖擊CPU時,不能夠及時調節(jié)限速值,CPU 的防攻擊能力弱。發(fā)明內(nèi)容本發(fā)明提供了一種CPU接收報文分級動態(tài)調度的方法及設備,提高CPU的防攻擊能力。本發(fā)明提供了 一種CPU接收報文分級動態(tài)調度的方法,應用于調整CPU 每一類型報文或者每一優(yōu)先級報文具有相應的限速值,所述設備還配置CPU6利用率門限值,該方法包括當所述設備4企測到CPU利用率持續(xù)大于或者等于所述CPU利用率門限值的時間達到預設最長時間時,所述設備^r測是否存在限速丟包;如果存在硬件限速丟包,所述設備獲取所述硬件限速丟包對應的報文類 型,調整該類型報文的限速值;或者如果存在軟件限速丟包,所述設備獲取所述軟件限速丟包對應的優(yōu)先級, 調整所述優(yōu)先級的限速值;或者所述設備調整預設的CPU的總限速值。所述硬件限速丟包對應的報文類型為 一種或者多種;所述設備獲取所述硬件限速丟包對應的報文類型,調整該類型報文的限 速值包括當所述硬件限速丟包對應的報文類型為一種時,所述設備通過多次調整 將所述報文類型的限速值調整為目標值;當所述硬件限速丟包對應的報文類型為多種時,所述設備獲取所述多種 報文類型的優(yōu)先級,根據(jù)優(yōu)先級從小到大的順序逐一降低所述報文類型對應 的限速值。所述根據(jù)優(yōu)先級從小到大的順序逐一降低所述報文類型對應的限速值包括若在限速值調整結束之前,所述設備的CPU利用率降低到所述CPU利用 率門限值以下,所述設備停止調整限速值;值,所述設備根據(jù)優(yōu)先級從高到低的順序恢復所述多種報文類型對應的限速 值。當所述軟件限速丟包對應的優(yōu)先級為多個時,所述設備根據(jù)優(yōu)先級從小 到大的順序逐一降低優(yōu)先級對應的限速值。所述設備根據(jù)優(yōu)先級從小到大的順序逐一降低優(yōu)先級對應的限速值包括若在限速值調整結束之前,所述設備的CPU利用率降低到所述CPU利用率門限值以下,所述設備停止調整限速值;進一步的,如果所述設備的CPU利用率持續(xù)降低到預設的CPU利用率最 低值,所述設備根據(jù)優(yōu)先級從高到低的順序恢復優(yōu)先級對應的限速值。所述設備獲取所述硬件限速丟包對應的報文類型,調整該類型報文的限 速值之后,還包括若所述設備檢測到CPU利用率依然大于或者等于所述CPU利用率門限 值,所述設備檢測是否存在軟件限速丟包;如果存在軟件限速丟包,所述設備獲取所述軟件限速丟包對應的優(yōu)先級, 調整所述優(yōu)先級的限速值。所述設備獲取所述軟件限速丟包對應的優(yōu)先級,調整所述優(yōu)先級的限速 值之后,還包括若所述設備檢測到CPU利用率依然大于或者等于所述CPU利用率門限 值,所述設備調整預設的CPU的總限速值。本發(fā)明提供一種CPU接收報文分級動態(tài)調度的設備,所述設備將向CPU 發(fā)送的報文劃分為不同類型及優(yōu)先級,每一類型報文或者每一優(yōu)先級報文具 有相應的限速值,所述設備還配置CPU利用率門限值,所述設備包括檢測單元,用于檢測CPU利用率是否大于所述CPU利用率門限值,并當 所述CPU利用率持續(xù)大于或者等于所述CPU利用率門限值的時間達到預設最 長時間時,檢測是否存在限速丟包;限速調整單元,用于當所述檢測單元檢測到硬件限速丟包時,對硬件限 速丟包進行調整,獲取所述硬件限速丟包對應的報文類型,調整該類型報文 的限速值;或者,當所述檢測單元檢測到軟件限速丟包時,對軟件限速丟包 進行調整,獲取所述軟件限速丟包對應的優(yōu)先級,調整所述優(yōu)先級的限速值; 或者,調整預設的CPU的總限速值。所述硬件限速丟包對應的報文類型為 一種或者多種;所述限速調整單元具體用于當所述硬件限速丟包對應的報文類型為一種時,通過多次調整將所述報文類型的限速值調整為目標值;當所述硬件限速丟包對應的報文類型為多種時,獲取所述多種報文類型 的優(yōu)先級,根據(jù)優(yōu)先級從小到大的順序逐一降低所述報文類型對應的限速值。所述限速調整單元還用于若在限速值調整結束之前,所述設備的CPU利用率降低到所述CPU利用 率門限值以下,停止調整限速值;值,根據(jù)優(yōu)先級從高到低的順序恢復所述多種報文類型對應的限速值。 所述限速調整單元具體用于當所述軟件限速丟包對應的優(yōu)先級為多個時,所述設備根據(jù)優(yōu)先級從小 到大的順序逐一降低優(yōu)先級對應的限速值。 所述限速調整單元還用于若在限速值調整結束之前,所述設備的CPU利用率降低到所述CPU利用 率門限值以下,停止調整限速值;進一步的,如果所述設備的CPU利用率持續(xù)降低到預設的CPU利用率最 低值,根據(jù)優(yōu)先級從高到低的順序恢復優(yōu)先級對應的限速值。所述限速調整單元還用于當所述檢測單元檢測到硬件限速丟包時,對硬件限速丟包進行調整,獲 取所述硬件限速丟包對應的報文類型,調整該類型報文的限速值;若所述檢 測單元檢測到CPU利用率依然大于或者等于所述CPU利用率門限值,且存在 軟件限速丟包,獲取所述軟件限速丟包對應的優(yōu)先級,調整所述優(yōu)先級的限 速值。所述限速調整單元還用于在獲取所述軟件限速丟包對應的優(yōu)先級,調整所述優(yōu)先級的限速值之后, 若所述檢測單元檢測到CPU利用率依然大于或者等于所述CPU利用率門限 值,調整預設的CPU的總限速值。與現(xiàn)有技術相比,本發(fā)明至少具有以下優(yōu)點本發(fā)明中,設備的CPU利用率達到門限值時,設備通過調整不同報文類型的限速值、或者不同報文優(yōu)先級對應的限速值、或者設備CPU的總限速值,降低CPU利用率,實現(xiàn)對CPU接收報文的動態(tài)調整,有效防止報文沖擊。
圖l是現(xiàn)有技術中網(wǎng)絡設備設置分級限速的示意圖;圖3是本發(fā)明應用場景中優(yōu)先級對應的限速值與CPUCode對應的限速值 的關系示意圖;圖4是本發(fā)明應用場景提供的CPU接收報文分級動態(tài)調度的方法的流程 示意圖;圖5是在圖4提供的CPU接收報文分級動態(tài)調度的方法中,設備對硬件 限速值的調整示意圖;圖6是在圖4提供的CPU接收報文分級動態(tài)調度的方法中,設備對CPU 利用率的調整示意圖;圖7是本發(fā)明提供的CPU接收報文分級動態(tài)調度的設備的結構示意圖。
具體實施方式
本發(fā)明的核心思想在于設備將向CPU發(fā)送的報文劃分為不同類型及優(yōu) 先級,每一類型報文或者每一優(yōu)先級報文具有相應的限速值,設備還配置CPU 利用率門限值;當設備檢測到CPU利用率持續(xù)大于或者等于CPU利用率門限 值的時間達到預設最長時間時,設備通過調整不同報文類型、和/或優(yōu)先級對 應的限速值,和/或CPU總限速值,動態(tài)降低CPU利用率,有效防止報文沖 擊對CPU的損害。具體的,本發(fā)明提供了一種CPU接收報文分級動態(tài)調度的方法,應用于 調整CPU利用率的設備中,所述設備將向CPU發(fā)送的報文劃分為不同類型及 優(yōu)先級,每一類型報文或者每一優(yōu)先級報文具有相應的限速值,所述設備還 配置CPU利用率門限值,如圖2所示,該方法包括步驟201,當所述設備;f企測到CPU利用率持續(xù)大于或者等于所述CPU利10用率門限值的時間達到預設最長時間時,所述設備;f全測是否存在限速丟包; 如果設備檢測存在硬件限速丟包,執(zhí)行步驟202;或者設備檢測存在軟件限速 丟包,執(zhí)行步驟203;或者執(zhí)行步驟204;步驟202,所述設備獲取所述硬件限速丟包對應的報文類型,調整該類型 報文的限速值;步驟203,所述設備獲取所述軟件限速丟包對應的優(yōu)先級,調整所述優(yōu)先 級的限速值;步驟204,所述設備調整預設的CPU的總限速值。下面結合具體應用場景詳細介紹本發(fā)明提供的CPU接收報文分級動態(tài)調 度的方法,其中,CPU設置CPU利用率門限值,當CPU利用率超過該門限 值時,對CPU接收報文進行動態(tài)調度,動態(tài)調度的方法可以包括動態(tài)調整 硬件限速值、庫欠件限速值和/或總限速值。本應用場景中的硬件限速值設置在轉發(fā)芯片中,并且轉發(fā)芯片動態(tài)調整 硬件限速值。轉發(fā)芯片為每個上CPU的報文分配一個報文類型標識,例如一 個CPU Code, CPU Code的數(shù)量可以根據(jù)實際需要進行設置,例如設置為1-256 個,每個CPU Code配置預設的限速值。基于CPU Code的硬件限速機制限制 了在設置的窗口時間內(nèi)帶有給定CPUCode的報文上送CPU的個數(shù),即與CPU Code相應的限速值。當在該窗口時間內(nèi),轉發(fā)芯片上送CPU的報文個數(shù)超 過設定的限速值時,轉發(fā)芯片丟棄報文,并在硬件寄存器中設置丟包標志位。本應用場景中還可以設置軟件限速值,具體設定了多個報文優(yōu)先級、以 及每一優(yōu)先級的報文在設置的窗口時間內(nèi)對應的報文個數(shù)。優(yōu)先級的個數(shù)小 于CPU Code的數(shù)量,例如設置0-7共8個優(yōu)先級,本應用場景中還可以設置 每個CPU Code綁定一個優(yōu)先級。由于優(yōu)先級只有0-7共8個,因此存在多 CPU Code對應同一優(yōu)先級的情況,每一優(yōu)先級對應的限速值通常大于每一 CPU Code對應的限速值,如圖3所示,攜帶CPUCode16、 24和209的報文 優(yōu)先級都被設置為6,此時,CPUCode16、 24和209對應的限速值都為200, 優(yōu)先級6對應的限速值為400,單位都是個數(shù)/秒。ii本應用場景中還可以設置總限速值,總限速值根據(jù)CPU的報文處理能力
設置,例如可以設置為1000,即每秒鐘CPU最多處理1000個報文。
具體的,本應用場景提供的CPU接收報文分級動態(tài)調度的方法,如圖4
所示,包括以下步驟
步驟401,設備持續(xù)檢測CPU利用率。
步驟402,當CPU利用率超過預設的CPU利用率門限值時,設備讀取硬 件寄存器,查找是否存在硬件限速丟包;如果存在硬件限速丟包,則執(zhí)行步 驟403,否則,執(zhí)行步驟406。
具體的,設備讀取硬件寄存器查找硬件限速丟包時,查找硬件寄存器中 是否存在CPUCode對應的丟包標識,如果存在,則相應的CPU Code丟包; 否則,不存在CPU Code丟包。
步驟403,設備記錄硬件限速丟包的CPU Code,進而查找每一 CPU Code 對應的優(yōu)先級。
步驟404,設備根據(jù)CPU Code的優(yōu)先級從低到高調整每一 CPU Code的 硬件限速值。
具體的,設備根據(jù)預先設置的調整值和調整次數(shù)調整每一 CPU Code對應 的硬件限速值。為了避免每次調整過大導致硬件丟包現(xiàn)象嚴重,本應用場景 中釆用多輪次、小間隔的方式調整硬件限速值,即每一次硬件限速值的調整 范圍較小,通過多次調整的方式達到預設的硬件限速最低值;或者,預先設 置對應每一 CPU Code的硬件限速值最大調整次數(shù),在該最大調整次數(shù)內(nèi),根 據(jù)目的硬件限速值與當前硬件限速值的差靈活確定每一 次硬件限速值的調整 范圍。
每一次^/f牛限速值的調整可以以寺艮文個數(shù)為遞減單位,也可以以比率為 遞減單位。
若在硬件限速值調整結束之前,CPU利用率降低到CPU利用率門限值以 下,例如80%以下,則設備停止硬件限速值調整。如果CPU利用率低于預設 的CPU利用率最低值,例如60%,且持續(xù)預設時間以上,例如5S以上,則 根據(jù)優(yōu)先級從高到低的順序恢復CPU Code的硬件限速值。本應用場景中,設備對硬件限速值的調整如圖5所示,采用兩輪次、每
次減少默認限速值25%的方式。
步驟405,設備CPU利用率依然高于預設CPU利用率門限值時,執(zhí)行步 驟406。
每一 CPU Code的限速值可以根據(jù)需要靈活設置,所有CPU Code對應的 限速值的和可以大于預設的CPU利用率門限值,因此,有可能將所有CPU Code的限速值調整后,不發(fā)生硬件丟包的情況下,依然存在CPU利用率高于 預設CPU利用率門限值的情況。
步驟406,設備檢測到軟件丟包時,記錄發(fā)生軟件丟包的優(yōu)先級。
具體的,設備為每一優(yōu)先級設置報文計數(shù)器以及標識位,在每一窗口時 間開始時,設備從零計數(shù),記錄CPU接收該優(yōu)先級對應的報文的數(shù)量,當超 過該優(yōu)先級的限速值時,設置該優(yōu)先級的標識位為丟包。每一優(yōu)先級對應的 限速值根據(jù)實際需要靈活設置,由于優(yōu)先級不同時,對應的報文傳輸速率可 能不同,所以,不同的優(yōu)先級設置不同的限速值。同時,考慮到所有優(yōu)先級 對應的報文的傳輸速率同時達到限速值的幾率較小,設置所有優(yōu)先級對應的 限速值的和大于預設CPU利用率門限值。當CPU利用率高于預設CPU利用 率門限值時,設備根據(jù)預先配置檢測是否存在軟件丟包。
步驟407,設備比較記錄的軟件丟包的優(yōu)先級的高低,并從低到高順序遞 減每一優(yōu)先級對應的軟件限速值。
具體的,設備對軟件限速值的調整同硬件限速值的調整相同或類似,可 參考步驟404,此處不再重復。
由于設備設置優(yōu)先級的數(shù)量小于報文類型,即上述CPU Code,因此,對 于每一優(yōu)先級的限速值的調整,相當于同時調整多個CPU Code對應的報文的 傳輸速率,其效果要更加明顯。
步驟408,當通過對軟件限速值的調整依然不能使CPU利用率降低到動 態(tài)調整門限以下時,設備調整總限速值。
由于所有優(yōu)先級對應的限速值的和大于預設CPU利用率門限值,因此, 存在以下情況沒有出現(xiàn)軟件限速丟包,但是CPU利用率高于預設CPU利用率門限值,此時,需要直接調整總限速值,保證CPU利用率降低到預設CPU 利用率門限值以下。
具體的,結合圖6所示為例,i殳備初始^r測到CPU Codel6、 32和120 的硬件丟包,調整CPU Code為16、 32和120的報文的硬件限速值;當CPU 利用率依然高于動態(tài)調整門限時,設備根據(jù)硬件丟包對應的優(yōu)先級,調整優(yōu)
先級為2、 3和5的報文的軟件限速值;當CPU利用率依然高于動態(tài)調整門 限時,設備通過將總限速值調整為1000來降低CPU利用率。
本應用場景中,設備對硬件限速值、軟件限速值以及總限速值的調整順 序并不限定,具體可以根據(jù)實際需要靈活設置。
本應用場景中,設備對CPU利用率的調整可以僅通過步驟402-404所述 的硬件限速值的調整,或者僅通過步驟406、 407所述的軟件限速值的調整, 也可以直接通過步驟408所述總限速值的調整,還可以通過對硬件限速值、 軟件限速值以及總限速值其中的任意兩個的調整來達到調整CPU利用率的效 果,具體可以根據(jù)實際需要靈活設置。
通過采用本發(fā)明提供的方法,設備的CPU利用率達到門限值時,設備通 過調整不同報文類型的限速值、或者不同報文優(yōu)先級對應的限速值、或者設 備CPU的總限速值,降低CPU利用率,實現(xiàn)對CPU接收報文的動態(tài)調整, 有效防止報文沖擊。
本發(fā)明提供一種CPU接收報文分級動態(tài)調度的設備,所述設備將向CPU 發(fā)送的報文劃分為不同類型及優(yōu)先級,每一類型報文或者每一優(yōu)先級報文具 有相應的限速值,所述設備還配置CPU利用率門限值,如圖7所示,所述設 備包括
檢測單元11,用于檢測CPU利用率是否大于所述CPU利用率門限值, 并當所述CPU利用率持續(xù)大于或者等于所述CPU利用率門限值的時間達到預 設最長時間時,檢測是否存在限速丟包。CPU利用率門限值具體根據(jù)實際需 要靈活設置,例如可以設置為80%,若CPU利用率持續(xù)高于80%,則說明當 前報文流量很大,CPU長期保持很高的利用率會導致丟包以及對CPU等設備器件的損害,此時,設備通過檢測限速丟包對CPU利用率進行調整。
限速調整單元12,用于對硬件限速丟包進行調整時,獲取所述硬件限速 丟包對應的報文類型,調整該類型報文的限速值;對軟件限速丟包進行調整 時,獲取所述軟件限速丟包對應的優(yōu)先級,調整所述優(yōu)先級的限速值;和/或 調整預設的CPU的總限速值。本發(fā)明中,設備可以設置通過調整硬件限速丟 包、軟件限速丟包、和/或CPU的總限速值中的一個或者多個實現(xiàn)對CPU利 用率的調整,根據(jù)實際需要靈活設置調整方式。
所述硬件限速丟包對應的才艮文類型為一種或者多種。當所述硬件限速丟 包對應的報文類型為一種時,所述限速調整單元12通過多次調整將所述報文 類型的限速值調整為目標值;當所述硬件限速丟包對應的報文類型為多種時, 獲取所述多種報文類型的優(yōu)先級,所迷限速調整單元12根據(jù)優(yōu)先級從小到大 的順序逐一降低所述報文類型對應的限速值。為了避免每次調整過大導致硬 件丟包現(xiàn)象嚴重,本應用場景中采用多輪次、小間隔的方式調整硬件限速值, 即每一次硬件限速值的調整范圍較小,通過多次調整的方式達到預設的硬件 限速最低值;或者,預先設置對應每一報文類型的硬件限速值最大調整次數(shù), 在該最大調整次數(shù)內(nèi),根據(jù)目的硬件限速值與當前硬件限速值的差靈活確定 每一 次硬件限速值的調整范圍。
所述限速調整單元12還用于若在限速值調整結束之前,所述設備的 CPU利用率降低到所述CPU利用率門限值以下,停止調整限速值;進一步的,
從高到低的順序恢復所述多種"^艮文類型對應的限速值。
所述軟件限速丟包對應的優(yōu)先級為一個或者多個。當所述軟件限速丟包 對應的優(yōu)先級為多個時,所述限速調整單元12根據(jù)優(yōu)先級從小到大的順序逐 一降低優(yōu)先級對應的限速值。所述限速調整單元12還用于若在限速值調整 結束之前,所述設備的CPU利用率降低到所述CPU利用率門限值以下,停止 調整限速值;進一步的,如果所述設備的CPU利用率持續(xù)降低到預設的CPU 利用率最低值,根據(jù)優(yōu)先級從高到低的順序恢復優(yōu)先級對應的限速值。
所述限速調整單元12還用于當所述檢測單元11檢測到硬件限速丟包時,對硬件限速丟包進行調整,獲取所述硬件限速丟包對應的報文類型,調
整該類型報文的限速值;若所述檢測單元11檢測到CPU利用率依然大于或 者等于所述CPU利用率門限值,且存在軟件限速丟包,獲取所述軟件限速丟 包對應的優(yōu)先級,調整所述優(yōu)先級的限速值。
進一步的,在獲取所述軟件限速丟包對應的優(yōu)先級,調整所述優(yōu)先級的 限速值之后,若所述檢測單元11檢測到CPU利用率依然大于或者等于所述 CPU利用率門限值,所述限速調整單元12調整預設的CPU的總限速值。
通過采用本發(fā)明提供的設備,設備的CPU利用率達到門限值時,設備通 過調整不同報文類型的限速值、或者不同報文優(yōu)先級對應的限速值、或者設 備CPU的總限速值,降低CPU利用率,實現(xiàn)對CPU接收報文的動態(tài)調整, 有效防止報文沖擊。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本 發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬 件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技
現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質中,包括若干指令用以使 得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行 本發(fā)明各個實施例所述的方法。
本領域技術人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中 的模塊或流程并不 一 定是實施本發(fā)明所必須的。
本領域技術人員可以理解實施例中的裝置中的模塊可以按照實施例描 述進行分布于實施例的裝置中,也可以進行相應變化位于不同于本實施例 的一個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可以進 一步拆分成多個子模塊。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于 此,任何本領域的技術人員能思之的變化都應落入本發(fā)明的保護范圍。
1權利要求
1、一種CPU接收報文分級動態(tài)調度的方法,其特征在于,應用于調整CPU利用率的設備中,所述設備將向CPU發(fā)送的報文劃分為不同類型及優(yōu)先級,每一類型報文或者每一優(yōu)先級報文具有相應的限速值,所述設備還配置CPU利用率門限值,該方法包括當所述設備檢測到CPU利用率持續(xù)大于或者等于所述CPU利用率門限值的時間達到預設最長時間時,所述設備檢測是否存在限速丟包;如果存在硬件限速丟包,所述設備獲取所述硬件限速丟包對應的報文類型,調整該類型報文的限速值;或者如果存在軟件限速丟包,所述設備獲取所述軟件限速丟包對應的優(yōu)先級,調整所述優(yōu)先級的限速值;或者所述設備調整預設的CPU的總限速值。
2、 如權利要求l所述的方法,其特征在于,所述硬件限速丟包對應的報 文類型為一種或者多種;所述設備獲取所述硬件限速丟包對應的報文類型,調整該類型報文的限 速值包括當所述硬件限速丟包對應的報文類型為一種時,所述設備通過多次調整 將所述報文類型的限速值調整為目標值;當所迷硬件限速丟包對應的報文類型為多種時,所述設備獲取所述多種 報文類型的優(yōu)先級,根據(jù)優(yōu)先級從小到大的順序逐一降低所述報文類型對應 的限速值。
3、 如權利要求2所述的方法,其特征在于,所述根據(jù)優(yōu)先級從小到大的 順序逐一降低所述"t艮文類型對應的限速值包括若在限速值調整結束之前,所述設備的CPU利用率降低到所述CPU利用 率門限值以下,所述設備停止調整限速值;進一步的,如果所述設備的CPU利用率持續(xù)低于預設的CPU利用率最低 值,所述設備根據(jù)優(yōu)先級從高到低的順序恢復所述多種報文類型對應的限速 值。
4、 如權利要求l所述的方法,其特征在于,當所述軟件限速丟包對應的優(yōu)先級為多個時,所述設備根據(jù)優(yōu)先級從小 到大的順序逐一降低優(yōu)先級對應的限速值。
5、 如權利要求4所述的方法,其特征在于,所述設備根據(jù)優(yōu)先級從小到 大的順序逐一降低優(yōu)先級對應的限速值包括若在限速值調整結束之前,所述設備的CPU利用率降低到所述CPU利用 率門限值以下,所述設備停止調整限速值;進一步的,如果所述設備的CPU利用率持續(xù)降低到預設的CPU利用率最 低值,所述設備根據(jù)優(yōu)先級從高到低的順序恢復優(yōu)先級對應的限速值。
6、 如權利要求l所述的方法,其特征在于,所述設備獲取所述硬件限速 丟包對應的報文類型,調整該類型報文的限速值之后,還包括若所述設備^f企測到CPU利用率依然大于或者等于所述CPU利用率門限 值,所述設備檢測是否存在軟件限速丟包;如果存在軟件限速丟包,所述設備獲取所述軟件限速丟包對應的優(yōu)先級, 調整所述優(yōu)先級的限速值。
7、 如權利要求6所述的方法,其特征在于,所述設備獲取所述軟件限速 丟包對應的優(yōu)先級,調整所述優(yōu)先級的限速值之后,還包括若所述設備檢測到CPU利用率依然大于或者等于所述CPU利用率門限 值,所述設備調整預設的CPU的總限速值。
8、 一種CPU接收報文分級動態(tài)調度的設備,其特征在于,所述設備將 向CPU發(fā)送的報文劃分為不同類型及優(yōu)先級,每一類型報文或者每一優(yōu)先級 報文具有相應的限速值,所述設備還配置CPU利用率門限值,所述設備包括所述CPU利用率持續(xù)大于或者等于所述CPU利用率門限值的時間達到預設最 長時間時,檢測是否存在限速丟包;限速調整單元,用于當所述檢測單元檢測到硬件限速丟包時,對硬件限 速丟包進行調整,獲取所述硬件限速丟包對應的報文類型,調整該類型報文的限速值;或者,當所述檢測單元檢測到軟件限速丟包時,對軟件限速丟包 進行調整,獲取所述軟件限速丟包對應的優(yōu)先級,調整所述優(yōu)先級的限速值; 或者,調整預設的CPU的總限速值。
9、 如權利要求8所述的設備,其特征在于,所述硬件限速丟包對應的報 文類型為一種或者多種;所述限速調整單元具體用于當所述硬件限速丟包對應的報文類型為一種時,通過多次調整將所述報 文類型的限速值調整為目標值;當所述硬件限速丟包對應的報文類型為多種時,獲取所述多種報文類型 的優(yōu)先級,根據(jù)優(yōu)先級從小到大的順序逐一降低所述報文類型對應的限速值。
10、 如權利要求9所述的設備,其特征在于,所述限速調整單元還用于 若在限速值調整結束之前,所述設備的CPU利用率降低到所述CPU利用率門限值以下,停止調整限速值;值,根據(jù)優(yōu)先級從高到低的順序恢復所述多種報文類型對應的限速值。
11、 如權利要求8所述的設備,其特征在于,所述限速調整單元具體用于當所述軟件限速丟包對應的優(yōu)先級為多個時,所述設備根據(jù)優(yōu)先級從小 到大的順序逐一降低優(yōu)先級對應的限速值。
12、 如權利要求11所述的設備,其特征在于,所述限速調整單元還用于 若在限速值調整結束之前,所述設備的CPU利用率降低到所述CPU利用率門限值以下,停止調整限速值;進一步的,如果所述設備的CPU利用率持續(xù)降低到預設的CPU利用率最 低值,根據(jù)優(yōu)先級從高到低的順序恢復優(yōu)先級對應的限速值。
13、 如權利要求8所述的設備,其特征在于,所述限速調整單元還用于 當所述檢測單元檢測到硬件限速丟包時,對硬件限速丟包進行調整,獲取所述硬件限速丟包對應的報文類型,調整該類型報文的限速值;若所述檢 測單元檢測到CPU利用率依然大于或者等于所述CPU利用率門限值,且存在軟件限速丟包,獲取所述軟件限速丟包對應的優(yōu)先級,調整所述優(yōu)先級的限 速值。
14、如權利要求13所述的設備,其特征在于,所述限速調整單元還用于 在獲取所述軟件限速丟包對應的優(yōu)先級,調整所述優(yōu)先級的限速值之后,若所述檢測單元檢測到CPU利用率依然大于或者等于所述CPU利用率門限值,調整預設的CPU的總限速值。
全文摘要
本發(fā)明公開了一種CPU接收報文分級動態(tài)調度的方法和設備,設備的CPU利用率達到門限值時,設備通過調整不同報文類型的限速值、或者不同報文優(yōu)先級對應的限速值、或者設備CPU的總限速值,降低CPU利用率,實現(xiàn)對CPU接收報文的動態(tài)調整,有效防止報文沖擊。
文檔編號H04L12/56GK101651629SQ20091017649
公開日2010年2月17日 申請日期2009年9月17日 優(yōu)先權日2009年9月17日
發(fā)明者劉刀桂, 雷 曹, 祁正林 申請人:杭州華三通信技術有限公司