一種用於通信事務處理系統的過載檢測方法
2023-10-08 13:56:59 1
專利名稱:一種用於通信事務處理系統的過載檢測方法
技術領域:
本發明涉及一種用於通信事務處理系統的過載檢測方法,屬於通信系統中的過載檢測技術領域。
背景技術:
對通信事務系統進行過載檢測是一個非常重要的技術問題,因為它是預防通信事務系統過載、實施流量控制的前提。目前,關於過載檢測通常採取以下幾種常用的方法(1)採用消息隊列的系統是把隊列是否溢出作為檢測條件,其依據是當系統負荷增加時,處理速度變慢,等待處理的消息隊列就加長,當隊列長度增加到一定值時,就認為過載;(2)判斷鏈路負荷是否過高,即當鏈路負荷達到其設計容量的警戒值時,就認為過載;(3)判斷CPU的佔用率是否過高,因為CPU佔用率從一定程度上反應了系統的忙閒程度,以CPU的佔用率作為過載檢測條件,在相當範圍內是有效的;(4)把系統對消息的響應速度作為過載檢測條件。
雖然上述前三種方法都能夠在一定範圍內檢測、判斷系統是否過載,但都有一定的局限性。其中方法(1)中隊列是否溢出與具體的硬體平臺有關,過載的隊列長度不容易確定。方法(2)有時並不能真正反映系統過載情況,比如在鏈路容量與處理系統的配置不成比例等情況。方法(3)是判斷系統是否過載最直觀的方法,但是,對於複雜的分布式系統而言,準確獲取CPU的佔用率並不容易,特別是CPU的佔用率的測量只能在實際的處理業務系統中,通常與採取過載控制的設備的空間位置是分離的,這樣就會導致傳遞CPU佔用率信息的滯後,即過載控制點獲知CPU佔用率的信息在時間上肯定滯後,因此,即使採取過載控制措施,也必然在時間上滯後,使得控制效果會大打折扣。而且,一旦出現CPU的佔用率信息在傳遞過程中丟失的情況,將使過載控制完全失效的嚴重情況。
方法(4)雖然相對前三種方法更容易實現,因為無論什麼原因導致的過載,最直接的表現形式便是消息的響應速度變慢,即通過檢測消息響應時間的變化來判斷系統是否過載通常是一種更有效的檢測方法。然而,迄今為止,採用響應時間檢測過載的方法,都要根據預先測量或設置的響應時間值作為過載檢測的基準條件;而這種方法只適用於固定系統和固定業務,即對每一個應用到現網的系統在實際應用之前,都要進行基於既定業務的平均響應時間的測量,以獲得判斷過載的檢測基準。否則,一旦環境變化(包括系統軟硬體的環境變化和/或業務環境的變化),都將導致過載檢測判斷條件或基準的變化。
因此,如何有效地發現系統的過載檢測點,並能適應環境的各種變化,至今還沒有找到一個很好的解決方法,已經成為業內技術人員所關注的課題。
發明內容
有鑑於此,本發明的目的是提供一種用於通信事務處理系統的過載檢測方法,該方法能夠不依賴系統的各種具體環境或實現條件,只是根據系統中的業務負荷大小狀況自動進行過載檢測;且計算方法簡單,判斷準確,工作可靠。
為了達到上述目的,一種用於通信事務處理系統的過載檢測方法,其特徵在於包括下述步驟(1)在系統不過載時,設置系統響應時間T和業務平均呼叫到達率λ之間存在如下關係式T=a+bλ;式中,參數a是每條消息在系統中的傳輸時間;參數b是每消耗單位系統資源對消息響應時間的比例係數;(2)在系統負荷較低、即欠載時,測量多組業務平均呼叫到達率λ及其對應的系統響應時間T的數據,並採用最小二乘法計算上述兩個參數a、b;(3)在設定的時間段內,測量該時間段的業務平均呼叫到達率λ,再利用步驟(1)的關係式T=a+bλ,計算該時間段的系統響應時間T的預測值T預測;(4)在設定的同一時間段內,測量該時間段的系統響應時間T的實際數值,即系統實際響應時間T測量;(5)根據系統實際響應時間T測量和系統響應時間T的預測值T預測之間的數值大小,判定系統是否出現「過載檢測點」如果T測量>T預測+ωσ,則系統過載;否則,系統不過載;式中ω為過載保護因子,防止響應時間波動導致的誤判,通常取經驗值1~5;σ為剩餘標準差。
該方法進一步包括下述步驟(6)對所述兩個參數a、b定期進行動態調整,即每隔設定時間執行步驟(2),計算兩個參數a、b的數值,以適應系統和業務環境的變化。
所述步驟(1)中,參數a是每條消息在系統中的傳輸時間,至少包括在消息隊列的排隊時間和其在不同模塊之間的傳遞時間,其數值大小取決於消息的複雜程度;參數b是每消耗單位系統資源對消息響應時間的比例係數,消息越複雜,消耗的系統資源越多,則消息響應時間的延遲越大。
所述步驟(2)中,根據最小二乘法計算a、b兩個參數的具體步驟為(21)在系統負荷較低時,測量N組業務平均呼叫到達率λi及其對應的系統響應時間Ti的數據,i為每組數據的序號,N為正整數,表示測量的數據組的最大序號;(22)根據每組業務平均呼叫到達率λi和系統響應時間Ti的數據和下述公式,分別計算下述三個數值S=i=1Ni2-1N(i=1Ni)2;]]>STT=i=1NTi2-1N(i=1NTi)2;]]>ST=i=1NiTi-1N(i=1Ni)(i=1NTi);]]>(23)根據下述兩個公式,分別計算兩個係數a和b,以及計算剩餘標準差σb=STS;]]>a=1Ni=1NTi-(1Ni=1Ni)b;]]>計算剩餘標準差σ的公式是=1N-2[STT-bST].]]>本發明是一種用於通信事務處理系統的過載檢測方法(又稱線性回歸法),該方法的優點是能夠不依賴系統的各種具體環境、硬體平臺或其它實現條件,只要測量若干個數據和進行一些計算,就能夠根據系統中的業務負荷大小狀況自動進行過載檢測;且計算方法簡單,判斷準確,工作可靠。該方法與申請人的《在多業務環境下基於業務控制點的智能網過載的控制方法》的專利申請相結合,能夠很好地實現智能網系統的過載檢測和過載控制。而且,本發明方法具有通用性,能夠應用於各種網絡系統,並不局限於智能網系統的過載檢測。
圖1是通信事務處理系統中的平均響應時間與CPU佔用率(即不同負載時)的變化關係圖。
圖2是本發明過載檢測方法的操作步驟流程圖。
圖3是應用本發明的過載檢測方法對自適應窗口控制算法進行修正並應用於智能網業務控制點(SCP)系統的實施例測試曲線圖。
具體實施例方式
為使本發明的目的、技術方案和優點更加清楚,下面結合附圖對本發明作進一步的詳細描述。
現介紹本發明方法的工作機理在事務處理系統中,系統對消息的響應時間快慢是系統閒、忙程度的反映,因此研究響應時間隨系統負荷(通常指CPU佔用率)的變化規律,便能很好地根據響應時間直觀了解系統負荷的變化情況。大量的實驗數據分析結果表明,在相同負荷情況下,系統對消息的響應時間近似按照負指數分布。在不同負載情況下,系統對消息的響應時間與CPU的佔用率的變化關係如圖1所示。
參見圖1,該圖顯示了平均響應時間在不同負載時的變化規律系統負載較輕(CPU的佔用率較低)時,系統的響應時間基本平穩,近似呈線性規律;只有在系統負荷很重時,即CPU的佔用率大於60%後,系統響應時間才會呈指數規律增加。
研究表明,系統的響應時間T與資源佔用率R之間的關係可以表示為T=c+deβR(1)式中,c為常數,反映系統的處理能力;d為常數,反映消息的複雜程度;β為強度因子,通常與業務的複雜程度有關。圖1中c=42,d=0.36,β=0.075。
雖然圖1所展示的CPU資源佔用率與系統響應時間的變化規律,只是基於一個具體平臺的測試結果,但是具有普遍的意義,同樣適用於其它平臺。儘管在不同平臺運行不同的業務時,上述公式(1)的各個係數可能不同,但是CPU資源佔用率與響應時間的變化所遵循的規律是一致的任何系統一旦負荷很高,必然導致後臺消息排隊的隊列加長,響應時間將呈指數規律加大。
通常情況下,在事物處理系統中,響應時間T是個可量測的物理量,資源佔用率R則是不能準確量測的物理量,特別是在分布式系統中,R的數值更不易測量。在前述公式(1)中,如果能夠確認三個參數c、d、β的值,再通過測量的T數值,就可很容易地根據公式(1)求出資源佔用率R,從而判斷系統是否過載。因為採用傳統方法準確測量上述三個參數c、d、β的數值比較困難,必須找到一種方便、有效的方法自動測算c、d、β的數值,以得到T與R的函數關係。這也是本發明的研製開發的出發點。
由於資源佔用率R是一個幾乎不能準確測量的物理量,必須尋找一種既容易測量、又能反映資源佔用情況的物理量來替代之。經過分析,發現這個物理量是存在的。系統資源的佔用狀況主要取決於業務的呼叫到達率λ,而呼叫到達率λ是一個比較容易測量的物理量。因此如果能夠掌握λ與R之間的關係,就可以通過測量λ間接了解R。對於同一個業務,從統計意義上講,每一個呼叫消耗的系統資源是一定的,呼叫到達率越高,所消耗的系統資源就越多;假定系統資源足夠多,λ與R應該是一個線性關係。實驗數據表明這一線性關係在系統不過載時是成立的,即R=γλ(2)式中,γ為比例係數,與具體業務有關。為了便於分析,把公式(1)在坐標原點0的附近作泰勒展開,取其線性部分,得到下述公式T=c+d+dβR (3)再把公式(2)式代入公式(3),得到下述公式T=a+bλ (4)式中,a=c+d,b=d×β×γ,參數a表示每組消息在系統中傳遞時所消耗的時間,包括在消息隊列的排隊時間、不同模塊間的傳遞時間等,其數值大小與消息的複雜程度有關。參數b表示每消耗單位系統資源對消息響應時間的比例係數,通常消息越複雜,消耗系統資源越多,反映出響應時間的延遲越大。
基於上述的分析,本發明的過載檢測方法包括以下操作步驟(參見圖2)(1)在系統不過載時,設置系統響應時間T和業務平均呼叫到達率λ之間存在如下關係式T=a+bλ;式中,參數a表示每組消息在系統中傳遞所消耗的時間,包括在消息隊列的排隊時間,以及不同模塊間的傳遞時間等,其數值大小與消息的複雜程度有關。參數b表示每消耗單位系統資源對消息響應時間的比例係數,通常消息越複雜,消耗系統資源越多,則響應時間的延遲越大。
(2)在系統負荷較低(即欠載)時,採集測量N組系統響應時間T及其對應的業務平均呼叫到達率λ數據,並根據最小二乘法計算上述關係式中的兩個參數a、b;具體步驟為(21)在系統負荷較低時,測量N組業務平均呼叫到達率λi及其對應的系統響應時間Ti的數據,i為每組數據的序號,N為正整數,表示測量的數據組的最大序號;
(22)根據每組業務平均呼叫到達率λi和系統響應時間Ti的數據和下述公式,分別計算下述三個數值S=i=1Ni2-1N(i=1Ni)2;]]>STT=i=1NTi2-1N(i=1NTi)2;]]>ST=i=1NiTi-1N(i=1Ni)(i=1NTi);]]>(23)根據下述兩個公式,分別計算兩個係數a和b,以及計算剩餘標準差σb=STS;]]>a=1Ni=1NTi-(1Ni=1Ni)b;]]>計算剩餘標準差σ的公式是=1N-2[STT-bST].]]>(3)在設定的時間段內,測量該時間段的業務平均呼叫到達率λ,再利用公式T=a+bλ計算該時間段的系統響應時間T的預測值T預測。
(4)在設定的同一個時間段內,測量該時間段的系統響應時間T的實際值,即系統實際響應時間T測量。
(5)根據系統實際響應時間T測量和系統響應時間T的預測值T預測之間的數值大小,判定系統是否出現「過載檢測點」如果T測量>T預測+ωσ,則系統過載;否則,系統不過載;式中ω為過載保護因子,防止響應時間波動導致的誤判,通常取經驗值1~5;σ為剩餘標準差。
(6)對兩個參數a、b定期進行動態調整,即每隔設定時間執行上述步驟(2),計算兩個參數a、b的數值,以適應系統和業務環境的變化。
為了驗證本發明方法的有效性,把該方法應用於中國專利申請《在多業務環境下基於業務控制點的智能網過載的控制方法》(申請號200510064628.9)進行試驗實施。現在介紹該實施例的試驗情況根據中國專利申請《在多業務環境下基於業務控制點的智能網過載的控制方法》(申請號200510064628.9)中的內容,可得到下式T=W----(6)]]>式中,T為系統的平均響應時間,λ為進入系統平均呼叫到達率,W為平均被佔用的窗口數。把公式(6)代入公式(4),得到T=12(a+a2+4bW)----(7)]]>按照《在多業務環境下基於業務控制點的智能網過載的控制方法》的專利申請內容,可根據λ預測下一個測量點的平均被佔用的窗口數W預測,再利用公式(7)就可以求解系統響應時間T的預測值T預測,再把該T預測數值與系統實際響應時間T測量進行比較,如果滿足公式T測量>T預測+ωσ,即可確定過載檢測點。
參見圖3,該圖是利用本發明的線性回歸法修正後的自適應窗口控制算法應用於智能網業務控制點(SCP)系統的實施例測試結果曲線圖,其縱坐標為平均呼叫到達率,橫坐標為系統運行時間。硬體平臺為HP ALPHA DS20小型機,在50分鐘時間內,逐漸增加呼叫到達率到450呼叫/秒,保護因子ω=5,根據本發明的過載檢測方法進行判斷,一旦發生過載狀況時,立即啟動過載控制。實施例的數據是啟動過載控制時的最佳窗口數為11。從圖中可以看出在本發明的過載檢測方法控制下,SCP系統接收的最大平均呼叫到達率為196呼叫/秒,更高的呼叫到達率被拒絕。
在過載檢測點確定以前,即平均呼叫到達率小於196呼叫/秒時,每次使用本發明的線性回歸法尋找過載檢測點時,在這個區間內平均響應時間與資源佔用率的線性關係較好,相對應於圖1的非過載區,判斷為沒有達到過載檢測條件,對呼叫不作限制。但在平均呼叫到達率達到196呼叫/秒時,響應時間與平均呼叫到達率呈非線性關係,相對應於圖1的過載區,根據前述步驟(5)中的公式可以確定過載檢測點,對於後續呼叫,則根據過載檢測條件啟動流量控制。在尋找過載檢測點的過程中,系統採用本發明方法根據系統負荷情況自動完成檢測判斷。實驗結果表明達到了過載檢測和過載控制的效果,實現了發明目的。
權利要求
1.一種用於通信事務處理系統的過載檢測方法,其特徵在於包括下述步驟(1)在系統不過載時,設置系統響應時間T和業務平均呼叫到達率λ之間存在如下關係式T=a+bλ;式中,參數a是每條消息在系統中的傳輸時間;參數b是每消耗單位系統資源對消息響應時間的比例係數;(2)在系統負荷較低、即欠載時,測量多組業務平均呼叫到達率λ及其對應的系統響應時間T的數據,並採用最小二乘法計算上述兩個參數a、b;(3)在設定的時間段內,測量該時間段的業務平均呼叫到達率λ,再利用步驟(1)的關係式T=a+bλ,計算該時間段的系統響應時間T的預測值T預測;(4)在設定的同一時間段內,測量該時間段的系統響應時間T的實際數值,即系統實際響應時間T測量;(5)根據系統實際響應時間T測量和系統響應時間T的預測值T預測之間的數值大小,判定系統是否出現「過載檢測點」如果T測量>T預測+ωσ,則系統過載;否則,系統不過載;式中ω為過載保護因子,防止響應時間波動導致的誤判,通常取經驗值1~5;σ為剩餘標準差。
2.根據權利要求1所述的用於通信事務處理系統的過載檢測方法,其特徵在於該方法進一步包括下述步驟(6)對所述兩個參數a、b定期進行動態調整,即每隔設定時間執行步驟(2),計算兩個參數a、b的數值,以適應系統和業務環境的變化。
3.根據權利要求1所述的用於通信事務處理系統的過載檢測方法,其特徵在於所述步驟(1)中,參數a是每條消息在系統中的傳輸時間,至少包括在消息隊列的排隊時間和其在不同模塊之間的傳遞時間,其數值大小取決於消息的複雜程度;參數b是每消耗單位系統資源對消息響應時間的比例係數,消息越複雜,消耗的系統資源越多,則消息響應時間的延遲越大。
4.根據權利要求1所述的用於通信事務處理系統的過載檢測方法,其特徵在於所述步驟(2)中,根據最小二乘法計算a、b兩個參數的具體步驟為(21)在系統負荷較低時,測量N組業務平均呼叫到達率λi及其對應的系統響應時間Ti的數據,i為每組數據的序號,N為正整數,表示測量的數據組的最大序號;(22)根據每組業務平均呼叫到達率λi和系統響應時間Ti的數據和下述公式,分別計算下述三個數值S=i=1Ni2-1N(i=1Ni)2;]]>STT=i=1NTi2-1N(i=1NTi)2;]]>ST=i=1NiTi-1N(i=1Ni)(i=1NTi);]]>(23)根據下述兩個公式,分別計算兩個係數a和b,以及計算剩餘標準差σb=STS;]]>a=1Ni=1NTi-(1Ni=1Ni)b;]]>計算剩餘標準差σ的公式是=1N-2[STT-bST].]]>
全文摘要
一種用於通信事務處理系統的過載檢測方法,是根據系統資源佔用率與響應時間的變化關係系統負荷高,必然導致後臺消息排隊時間加長,響應時間將加大的規律,提出的一種過載檢測方法通過對可測量的兩個物理量-業務平均呼叫到達率λ及其對應的系統響應時間T的量測,再根據本發明設計的相關公式和機理,計算求出資源佔用率R,進而判斷系統是否過載。該方法能夠不依賴系統的各種具體環境或實現條件,只是根據系統中的業務負荷大小狀況自動進行過載檢測;且計算方法簡單,判斷準確,工作可靠。該方法與申請人的《在多業務環境下基於業務控制點的智能網過載的控制方法》的專利申請相結合,能夠很好地實現網絡系統的過載檢測和過載控制。
文檔編號H04Q3/00GK1758685SQ200510117148
公開日2006年4月12日 申請日期2005年11月1日 優先權日2005年11月1日
發明者廖建新, 王晶, 王純, 李煒, 王玉龍, 朱曉民, 武家春, 張磊, 樊利民, 程莉 申請人:北京郵電大學