專利名稱:一種對cpu利用率進行控制的方法及基站收發臺的制作方法
技術領域:
本發明涉及移動通信技術,尤其涉及對CPU利用率進行控制的方法及基站收發臺。
背景技術:
隨著移動通信技術的不斷進步,移動通信系統所承載的業務種類越來越豐富,業務量也越來越大,系統的負荷越來越重,系統CPU利用率也日趨飽和。目前的通信系統基本都沒有對CPU利用率實施過載的措施,當某些極端情況下,可能會導致系統CPU利用率過載,嚴重時會使通信系統處于癱瘓。影響通信系統CPU利用率的因素主要包括以下幾個因素用戶數、數據流速率、數據包包長。接入系統的用戶數越多,系統設備的CPU利用率就越大,但是限制用戶接入,可能影響服務質量和用戶感受,且用戶可能反復呼叫產生大量信令,反而加大系統工作量,并且當用戶數達到一定程度后,CPU利用率隨用戶數的增加變化不大。業務中數據流的速率越大,系統處理的數據吞吐量越多,CPU利用率也就越大。相同大小的數據量,包長越小,其需要消耗的系統資源和CPU利用率也就越大。因此,傳輸速率大并且包長小的業務數據流對CPU利用率的影響較大。為了最大程度的滿足用戶需求,同時保證系統能夠可靠穩定運行,需要對通信系統的CPU利用率進行控制。
發明內容
本發明要解決的技術問題是提供一種對CPU利用率進行控制的方法及基站收發臺,提高對CPU利用率的控制能力,有效防止CPU過載。為了解決上述技術問題,本發明提供了一種對CPU利用率進行控制的方法,包括 根據設備的CPU當前利用率調整所述設備當前維持的一個或多個業務的最高下行數據速率額度值,從而調整所述CPU的利用率。進一步地,上述方法還可以具有以下特點設置以下區間中的一個或多個利用率過載區間,利用率保持區間,利用率安全區間;判斷所述CPU當前利用率位于利用率過載區間時,降低所述業務的最高下行數據速率額度值;判斷所述CPU當前利用率位于利用率保持區間時,維持所述業務的最高下行數據速率額度值;判斷所述CPU當前利用率位于利用率安全區間時,提高所述業務的最高下行數據速率額度值。進一步地,上述方法還可以具有以下特點計算當前CPU利用率檢測時間間隔內各業務的CPU負荷指標,沿各CPU負荷指標的值從大到小的順序對前一個或多個CPU負荷指標對應的業務進行最高下行數據速率額度的調整。
進一步地,上述方法還可以具有以下特點計算當前CPU利用率檢測時間間隔內一業務的CPU負荷指標的方法包括根據此業務在當前CPU利用率檢測時間間隔內的業務流速率以及表示業務在當前CPU利用率檢測時間間隔內的統計包長信息的包長因子以及前一 CPU利用率檢測時間間隔內此業務的CPU 負荷指標計算當前CPU利用率檢測時間間隔內此業務的CPU負荷指標。進一步地,上述方法還可以具有以下特點計算一業務的包長因子的方法包括在當前CPU利用率檢測時間間隔內分析此業務中各下行數據包的包長,統計位于不同包長區間的下行數據包的個數,每個包長區間對應于一權值,相應的包長值越小的包長區間對應的權值越大,根據各包長區間對應的下行數據包的個數以及權值計算出此業務的包長因子。進一步地,上述方法還可以具有以下特點根據各包長區間對應的下行數據包的個數以及權值計算出此業務的包長因子的方法包括計算各包長區間對應的下行數據包的個數與相應權值的乘積之和,以及各包長區間對應的下行數據包的個數之和,將兩個和值的商作為此業務的包長因子。為了解決上述技術問題,本發明一種對CPU利用率進行控制的基站收發臺,包括 CPU利用率控制模塊;所述CPU利用率控制模塊,用于根據設備的CPU當前利用率調整所述設備當前維持的一個或多個業務的最高下行數據速率額度值,從而調整所述CPU的利用率。進一步地,上述基站收發臺還可以具有以下特點所述CPU利用率控制模塊包括目標業務確定單元和最高下行數據速率額度值調整單元;所述目標業務確定單元,用于計算當前CPU禾Ij用率檢測時間間隔內各業務的CPU負荷指標,沿各CPU負荷指標的值從大到小的順序確定前一個或多個CPU負荷指標對應的業務并通知至所述最高下行數據速率額度值調整單元;所述最高下行數據速率額度值調整單元,用于設置以下區間中的一個或多個利用率過載區間,利用率保持區間,利用率安全區間;還用于判斷所述CPU當前利用率位于利用率過載區間時,降低所述業務的最高下行數據速率額度值;還用于判斷所述CPU當前利用率位于利用率保持區間時,維持所述業務的最高下行數據速率額度值;還用于判斷所述CPU當前利用率位于利用率安全區間時,提高所述業務的最高下行數據速率額度值。進一步地,上述基站收發臺還可以具有以下特點所述目標業務確定單元,還用于根據此業務在當前CPU利用率檢測時間間隔內的業務流速率以及表示業務在當前CPU利用率檢測時間間隔內的統計包長信息的包長因子以及前一 CPU利用率檢測時間間隔內此業務的CPU負荷指標計算當前CPU利用率檢測時間間隔內此業務的CPU負荷指標。進一步地,上述基站收發臺還可以具有以下特點所述目標業務確定單元,還用于設定多個包長區間,每個包長區間對應于一權值, 相應的包長值越小的包長區間對應的權值越大;還用于在當前CPU利用率檢測時間間隔內分析此業務中各下行數據包的包長,統計位于不同包長區間的下行數據包的個數,計算各包長區間對應的下行數據包的個數與相應權值的乘積之和,以及各包長區間對應的下行數據包的個數之和,將兩個和值的商作為此業務的包長因子。
本發明提出CPU負荷指標的概念來反映用戶或流對CPU利用率的影響程度,利用 CPU負荷指標對業務的最高下行數據速率額度值進行調整,從而控制CPU利用率,可以防止系統CPU利用率過載的同時保證CPU利用率的平滑穩定和系統CPU資源的充分利用。
圖1是實施例中對CPU利用率進行控制的基站收發臺的組成結構圖;圖2是實施例中對CPU利用率進行控制的方法流程圖;圖3是具體實施例中對CPU利用率進行控制的方法流程圖。
具體實施例方式數據處理類設備由下行速率帶來的高CPU利用率的原因就是包長小的速率高的業務,同樣一次處理操作(例如數據拷貝)其開銷占用的比例大,有用數據量小,而且同樣的數據量需要更多次操作處理,因此帶來的CPU利用率也高,因此控制此類業務的速率可以有效控制CPU利用率。如圖1所示,對CPU利用率進行控制的基站收發臺包括CPU利用率控制模塊。此 CPU利用率控制模塊包括目標業務確定單元和最高下行數據速率額度值調整單元。CPU利用率控制模塊用于根據設備的CPU當前利用率調整所述設備當前維持的一個或多個業務的最高下行數據速率額度值,從而調整所述CPU的利用率。目標業務確定單元用于計算當前CPU利用率檢測時間間隔內各業務的CPU負荷指標,沿各CPU負荷指標的值從大到小的順序確定前一個或多個CPU負荷指標對應的業務并通知至所述最高下行數據速率額度值調整單元。目標業務確定單元還用于根據此業務在當前CPU利用率檢測時間間隔內的業務流速率以及表示業務在當前CPU利用率檢測時間間隔內的統計包長信息的包長因子以及前一 CPU利用率檢測時間間隔內此業務的CPU負荷指標計算當前CPU利用率檢測時間間隔內此業務的CPU負荷指標。目標業務確定單元還用于設定多個包長區間,每個包長區間對應于一權值,相應的包長值越小的包長區間對應的權值越大;還用于在當前CPU利用率檢測時間間隔內分析此業務中各下行數據包的包長,統計位于不同包長區間的下行數據包的個數,計算各包長區間對應的下行數據包的個數與相應權值的乘積之和,以及各包長區間對應的下行數據包的個數之和,將兩個和值的商作為此業務的包長因子。最高下行數據速率額度值調整單元用于設置以下區間中的一個或多個利用率過載區間,利用率保持區間,利用率安全區間;還用于判斷所述CPU當前利用率位于利用率過載區間時,降低所述業務的最高下行數據速率額度值;還用于判斷所述CPU當前利用率位于利用率保持區間時,維持所述業務的最高下行數據速率額度值;還用于判斷所述CPU當前利用率位于利用率安全區間時,提高所述業務的最高下行數據速率額度值。如圖2所示,對CPU禾Ij用率進行控制的方法包括根據設備的CPU當前利用率調整所述設備當前維持的一個或多個業務的最高下行數據速率額度值,從而調整所述CPU的利用率。設備中下行數據速率明顯影響系統CPU利用率,因此本方法中通過實時控制業務的最高下行數據速率額度值,控制業務的下行數據速率,進一步調整CPU利用率,可以有效的防止CPU過載。根據設備的CPU當前利用率調整所述設備當前維持的一個或多個業務的最高下行數據速率額度值時,設置以下區間中的一個或多個利用率過載區間,利用率保持區間, 利用率安全區間;判斷所述CPU當前利用率位于利用率過載區間時,降低所述業務的最高下行數據速率額度值;判斷所述CPU當前利用率位于利用率保持區間時,維持所述業務的最高下行數據速率額度值;判斷所述CPU當前利用率位于利用率安全區間時,提高所述業務的最高下行數據速率額度值。最高下行數據速率額度值是系統控制一業務最高下行數據速率的有效參數,執行此業務時下行數據速率不得超過此最高下行數據速率額度值。調整業務的最高下行數據速率額度值時,可以通過對前一時間采集粒度(即CPU利用率檢測時間間隔)內的最高下行數據速率額度值加權乘以一個加權系數rector得到,通過控制加權系數!^ctor的值,來調整當前時間采集粒度內的下行數據速率額度值。如下式所示RateGate (k) = Rate(k_l)氺Factor ;Rate (k) < = RateGate (k);其中,k是時間粒度;Rate(k-l)表示第k_l個時間采集粒度內業務的最高下行數據速率額度值;Ratefete (k)表示第k個時間采集粒度內業務的最高下行數據速率額度值。例如設置三個門限包括安全門限、保持門限、過載門限。0 <安全門限<=保持門限<=過載門限<=1。大于過載門限小于1的區間稱為利用率過載區間,大于保持門限小于過載門限的區間稱為利用率保持區間,大于0小于保持門限的區間稱為利用率安全區間。還可以將大于安全門限小于保持門限的區間稱為第一子區間,將大于0小于安全門限的區間稱為第二子區間。本方法中需實時檢測系統的CPU利用率,例如可以設置CPU利用率檢測時間間隔, 在每個時間間隔內進行CPU利用率檢測得到此檢測時間間隔內的CPU利用率。當CPU禾Ij用率位于利用率過載區間時,說明此時系統的CPU禾Ij用率已過載,需降低業務的下行數據速率以對CPU利用率進行降低控制,因此設置!^ctor為小于1,例如0. 9。當CPU利用率處于利用率保持區間時,說明此時系統的下行速率達到理想狀態, 既沒有造成CPU資源的浪費,又能保持系統正常穩定運行,因此設置!^ctor為1以便維持這種狀態。當CPU利用率處于利用率安全區間時,說明此時CPU資源利用率較小,可以提高因 CPU利用率,避免CPU資源浪費,因此設置!^ctor為大于1的值。進一步地,如果CPU利用率處于第一子區間時,說明此時CPU資源稍有富余,可以設置稍大于1 mi^ctor,例如1.05, 如果CPU利用率處于第二子區間時,說明此時CPU資源有較多富余,可以設置遠大于1的 Factor,例如 10。本方法中通過計算業務的CPU負荷指標確定對哪些業務的最高下行數據速率額度值進行調整。具體的,計算當前CPU利用率檢測時間間隔內各業務的CPU負荷指標,沿各 CPU負荷指標的值從大到小的順序對前一個或多個CPU負荷指標對應的業務進行最高下行數據速率額度的調整。本發明中還可以對設備支持的所有業務進行最高下行數據速率額度值的調整,還可以對某一個或多個用戶的所有業務進行最高下行數據速率額度值的調整,還可以對服務優先級低或服務質量要求不高的業務進行最高下行數據速率額度值的調整。計算當前CPU利用率檢測時間間隔內一業務的CPU負荷指標的方法包括根據此業務在當前CPU利用率檢測時間間隔內的業務流速率以及表示業務在當前CPU利用率檢測時間間隔內的統計包長信息的包長因子以及前一 CPU利用率檢測時間間隔內此業務的CPU 負荷指標計算當前CPU利用率檢測時間間隔內此業務的CPU負荷指標。計算一業務的包長因子的方法包括在當前CPU利用率檢測時間間隔內分析此業務中各下行數據包的包長,統計位于不同包長區間的下行數據包的個數,每個包長區間對應于一權值,相應的包長值越小的包長區間對應的權值越大,根據各包長區間對應的下行數據包的個數以及權值計算出此業務的包長因子。舉例如下在每個CPU利用率檢測時間間隔(也稱為時間采集粒度)內,將各業務的下行數據按包長區間統計包個數,對各包長區間設定包長因子。相應的包長值越小的包長區間對應的權值越大,具體區間范圍和包長因子大小如表1所示。此表1只作示例之用,其包長區間的劃分方式,權值的具體取值均可根據不同應用情境進行更改。表 權利要求
1.一種對CPU利用率進行控制的方法,其特征在于,根據設備的CPU當前利用率調整所述設備當前維持的一個或多個業務的最高下行數據速率額度值,從而調整所述CPU的利用率。
2.如權利要求1所述的方法,其特征在于,設置以下區間中的一個或多個利用率過載區間,利用率保持區間,利用率安全區間; 判斷所述CPU當前利用率位于利用率過載區間時,降低所述業務的最高下行數據速率額度值;判斷所述CPU當前利用率位于利用率保持區間時,維持所述業務的最高下行數據速率額度值;判斷所述CPU當前利用率位于利用率安全區間時,提高所述業務的最高下行數據速率額度值。
3.權利要求1所述的方法,其特征在于,計算當前CPU利用率檢測時間間隔內各業務的CPU負荷指標,沿各CPU負荷指標的值從大到小的順序對前一個或多個CPU負荷指標對應的業務進行最高下行數據速率額度的調整。
4.權利要求3所述的方法,其特征在于,計算當前CPU利用率檢測時間間隔內一業務的CPU負荷指標的方法包括根據此業務在當前CPU利用率檢測時間間隔內的業務流速率以及表示業務在當前CPU利用率檢測時間間隔內的統計包長信息的包長因子以及前一 CPU利用率檢測時間間隔內此業務的CPU負荷指標計算當前CPU利用率檢測時間間隔內此業務的CPU負荷指標。
5.權利要求4所述的方法,其特征在于, 計算一業務的包長因子的方法包括在當前CPU利用率檢測時間間隔內分析此業務中各下行數據包的包長,統計位于不同包長區間的下行數據包的個數,每個包長區間對應于一權值,相應的包長值越小的包長區間對應的權值越大,根據各包長區間對應的下行數據包的個數以及權值計算出此業務的包長因子。
6.權利要求5所述的方法,其特征在于,根據各包長區間對應的下行數據包的個數以及權值計算出此業務的包長因子的方法包括計算各包長區間對應的下行數據包的個數與相應權值的乘積之和,以及各包長區間對應的下行數據包的個數之和,將兩個和值的商作為此業務的包長因子。
7.—種對CPU利用率進行控制的基站收發臺,其特征在于,包括CPU利用率控制模塊, 所述CPU利用率控制模塊,用于根據設備的CPU當前利用率調整所述設備當前維持的一個或多個業務的最高下行數據速率額度值,從而調整所述CPU的利用率。
8.權利要求7所述的基站收發臺,其特征在于,所述CPU利用率控制模塊包括目標業務確定單元和最高下行數據速率額度值調整單元;所述目標業務確定單元,用于計算當前CPU利用率檢測時間間隔內各業務的CPU負荷指標,沿各CPU負荷指標的值從大到小的順序確定前一個或多個CPU負荷指標對應的業務并通知至所述最高下行數據速率額度值調整單元;所述最高下行數據速率額度值調整單元,用于設置以下區間中的一個或多個利用率過載區間,利用率保持區間,利用率安全區間;還用于判斷所述CPU當前利用率位于利用率過載區間時,降低所述業務的最高下行數據速率額度值;還用于判斷所述CPU當前利用率位于利用率保持區間時,維持所述業務的最高下行數據速率額度值;還用于判斷所述CPU 當前利用率位于利用率安全區間時,提高所述業務的最高下行數據速率額度值。
9.權利要求8所述的基站收發臺,其特征在于,所述目標業務確定單元,還用于根據此業務在當前CPU利用率檢測時間間隔內的業務流速率以及表示業務在當前CPU利用率檢測時間間隔內的統計包長信息的包長因子以及前一 CPU利用率檢測時間間隔內此業務的CPU負荷指標計算當前CPU利用率檢測時間間隔內此業務的CPU負荷指標。
10.權利要求9所述的基站收發臺,其特征在于,所述目標業務確定單元,還用于設定多個包長區間,每個包長區間對應于一權值,相應的包長值越小的包長區間對應的權值越大;還用于在當前CPU利用率檢測時間間隔內分析此業務中各下行數據包的包長,統計位于不同包長區間的下行數據包的個數,計算各包長區間對應的下行數據包的個數與相應權值的乘積之和,以及各包長區間對應的下行數據包的個數之和,將兩個和值的商作為此業務的包長因子。
全文摘要
本發明公開了一種對CPU利用率進行控制的方法及基站收發臺,此方法包括根據設備的CPU當前利用率調整所述設備當前維持的一個或多個業務的最高下行數據速率額度值,從而調整所述CPU的利用率。本發明提出CPU負荷指標的概念來反映用戶或流對CPU利用率的影響程度,利用CPU負荷指標對業務的最高下行數據速率額度值進行調整,從而控制CPU利用率,可以防止系統CPU利用率過載的同時保證CPU利用率的平滑穩定和系統CPU資源的充分利用。
文檔編號H04W28/02GK102348235SQ20101024567
公開日2012年2月8日 申請日期2010年8月3日 優先權日2010年8月3日
發明者王會 申請人:中興通訊股份有限公司