專利名稱:一種對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種系統(tǒng)負(fù)荷控制的方法,尤其涉及一種對CDMA(碼分多址)通信系統(tǒng)中的MSC(移動交換中心)進(jìn)行過負(fù)荷控制的實現(xiàn)方法。
背景技術(shù):
在CDMA移動通信系統(tǒng)中,MSC處于核心位置(如圖1所示),它通過信令與其它實體實時交互,與其它實體共同構(gòu)成七號信令網(wǎng)。MSC是對位于其所覆蓋區(qū)內(nèi)的移動臺(MS)進(jìn)行控制、交換的功能實體,也是移動通信系統(tǒng)與公共電話網(wǎng)(PSTN)、綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN)、分組交換網(wǎng)(PSPDN)以及其他移動交換網(wǎng)的接口。MSC除了完成固定網(wǎng)中交換中心所完成的呼叫控制等功能外,還要完成無線資源管理、移動性管理等功能。另外,為了建立至移動臺的呼叫路由,每個MSC還應(yīng)能完成入口(GMSC)的功能,即查詢移動臺位置信息的功能。
MSC為了完成上述功能,需要與其它實體間交互大量的信令消息,各種消息的流量是動態(tài)變化的,在7號信令網(wǎng)中并沒有提供明確有效的流量控制方法,所以,MSC可能會由于在短時間內(nèi)收到大量的消息造成系統(tǒng)過負(fù)荷,導(dǎo)致系統(tǒng)性能急劇下降甚至癱瘓,在給用戶帶來不便的同時,也給局方造成很大的經(jīng)濟損失,更為重要的是損壞了公司形象,影響了產(chǎn)品的銷售。這對每一方來說,都是不愿看到的。因此,必須對MSC的系統(tǒng)負(fù)荷進(jìn)行有效地控制,使其在處理最大限度的消息數(shù)量的情況下能平穩(wěn)地度過消息高峰期,從而保證系統(tǒng)的正常運行。
在中國專利號為99117082.2的“一種在移動交換中心應(yīng)用層中實現(xiàn)過負(fù)荷控制的方法”中,提供了一種過負(fù)荷的控制方法,此專利的特點是(1)定時確定相應(yīng)的流量級別;(2)比較確定實施流量控制級別;(3)判定MSC是否過載;(4)收到業(yè)務(wù)初始消息根據(jù)流量級別采用相應(yīng)的流量控制方法。其缺點是(1)確定流量級別的方式復(fù)雜,容易導(dǎo)致系統(tǒng)失控;(2)定時器的設(shè)置缺乏保護(hù),當(dāng)定時器設(shè)置失敗時,系統(tǒng)失去負(fù)荷控制能力;(3)各個模塊都有一套自己的過負(fù)荷控制方式,不利于統(tǒng)一管理和維護(hù)。這些缺點在系統(tǒng)的實際運行中均有所體現(xiàn)。
另外,在中國專利號為00127306.X的“碼分多址蜂窩移動通信系統(tǒng)中過負(fù)荷控制的方法”中,也提出一種過負(fù)荷控制方法,其控制方法與上述的專利類似,也是采用按流量級別進(jìn)行控制的方法,其特點是(1)流量級別的判別方法是根據(jù)CPU的占有率,簡化了流量級別的確定方法;(2)當(dāng)系統(tǒng)流量控制級為最低流量控制級時,把消息全部接入;(3)當(dāng)系統(tǒng)流量控制級為最高流量控制級時,把消息全部拒絕;(4)當(dāng)系統(tǒng)流量在最低流量控制級和最高流量控制級之間時,任取一隨機數(shù)與最高流量級減去系統(tǒng)流量控制級再加1求模。其缺點是未從根本上解決過負(fù)荷控制機制過于復(fù)雜的弊端,而且在過負(fù)荷控制過程時,允許系統(tǒng)處理的消息數(shù)量有較大的波動,不利于系統(tǒng)的穩(wěn)定,尤其是在系統(tǒng)流量控制級為最高流量控制級且定時器設(shè)置失敗時,所有業(yè)務(wù)均被拒絕,造成系統(tǒng)假死狀態(tài)。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,采用集中檢測、分散控制的方式,建立一個獨立的過負(fù)荷控制進(jìn)程,由此進(jìn)程為各業(yè)務(wù)模塊提供統(tǒng)一的調(diào)用接口,便于統(tǒng)一管理和維護(hù)。
本發(fā)明的另一目的在于提供一種對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,采用CPU的占用率作為過負(fù)荷狀態(tài)的唯一判斷條件,降低對系統(tǒng)是否處于過負(fù)荷狀態(tài)的判斷條件的復(fù)雜度。
本發(fā)明的又一目的在于提供一種對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,增加拒絕間隔的控制機制,進(jìn)一步減小系統(tǒng)在處于過負(fù)荷控制期間的負(fù)荷波動。
本發(fā)明的再一目的在于提供一種對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,使用超級定時器,由支撐系統(tǒng)定時給過負(fù)荷控制進(jìn)程發(fā)送定時器超時消息,避免了因定時器設(shè)置失敗引起負(fù)荷控制失效以及系統(tǒng)拒絕所有業(yè)務(wù)的嚴(yán)重后果。
為了實現(xiàn)上述目的,本發(fā)明提供了一種對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,該方法包括如下步驟步驟一,建立一個過負(fù)荷控制進(jìn)程,獨立運行于所述移動交換中心系統(tǒng),為所述移動交換中心系統(tǒng)的各業(yè)務(wù)模塊提供統(tǒng)一的調(diào)用接口,進(jìn)入初始狀態(tài),并在所述系統(tǒng)啟動或由備機轉(zhuǎn)為主機時,進(jìn)行數(shù)據(jù)初始化,進(jìn)入工作狀態(tài);步驟二,所述過負(fù)荷控制進(jìn)程由支撐系統(tǒng)設(shè)置一超級定時器,在工作狀態(tài)時,每隔一個預(yù)定間隔時間由支撐系統(tǒng)給所述過負(fù)荷控制進(jìn)程發(fā)送一次超級定時器消息;步驟三,檢測系統(tǒng)CPU占用率,統(tǒng)一確定系統(tǒng)過負(fù)荷或者過負(fù)荷解除,以確定是否需要進(jìn)行過負(fù)荷控制,并判斷是否接受或者限制某次業(yè)務(wù);步驟四,在需要進(jìn)行過負(fù)荷控制時,在所述預(yù)定間隔時間內(nèi),設(shè)定允許接入的業(yè)務(wù)數(shù),對超過數(shù)量的業(yè)務(wù)進(jìn)行限制;上述的對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,其特點在于,在所述預(yù)定間隔時間內(nèi),所述過負(fù)荷進(jìn)程對接受的業(yè)務(wù)數(shù)以及拒絕的業(yè)務(wù)數(shù)按業(yè)務(wù)類型分別統(tǒng)計,并在收到所述超級定時器消息后,根據(jù)預(yù)定間隔時間內(nèi)各項統(tǒng)計值及系統(tǒng)當(dāng)前的CPU占用率,對過負(fù)荷控制參數(shù)進(jìn)行動態(tài)調(diào)整。
上述的對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,其特點在于,對所述超過數(shù)量的業(yè)務(wù)進(jìn)行限制是通過采用增加拒絕間隔來限制業(yè)務(wù)數(shù),并將限制的業(yè)務(wù)數(shù)盡量均勻地分散到整個時間間隔內(nèi)。
上述的對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,其特點在于,在步驟三中,所述系統(tǒng)根據(jù)CPU占用率,分別設(shè)置四個門限值低負(fù)荷門限值<正常門限值<預(yù)警門限值<過負(fù)荷門限值,并將系統(tǒng)負(fù)荷狀態(tài)分為五個區(qū)域低負(fù)荷區(qū)、正常負(fù)荷區(qū)、緩沖區(qū)、預(yù)警負(fù)荷區(qū)和過負(fù)荷區(qū)。
上述的對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,其特點在于,在步驟三中,判斷系統(tǒng)過負(fù)荷或者過負(fù)荷解除,以確定是否進(jìn)行過負(fù)荷控制的判決條件為當(dāng)系統(tǒng)CPU占用率超過預(yù)警門限值時,系統(tǒng)進(jìn)入過負(fù)荷狀態(tài),開始進(jìn)行過負(fù)荷控制;當(dāng)系統(tǒng)CPU占用率小于預(yù)警門限值時,且系統(tǒng)沒有丟棄消息時,解除系統(tǒng)過負(fù)荷狀態(tài),不再進(jìn)行過負(fù)荷控制;若系統(tǒng)前一時間間隔內(nèi)處于過負(fù)荷狀態(tài),且存在丟棄消息,即使CPU占用率小于預(yù)警門限值,也仍然處于過負(fù)荷狀態(tài),需要進(jìn)行過負(fù)荷控制。
上述的對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,其特點在于,所述過負(fù)荷控制進(jìn)程通過調(diào)用其支撐接口,獲取CPU占用率,結(jié)合系統(tǒng)數(shù)據(jù)區(qū)記錄的系統(tǒng)負(fù)荷狀態(tài)、以及限制的業(yè)務(wù)數(shù),來判斷當(dāng)前系統(tǒng)負(fù)荷狀態(tài)并進(jìn)行相應(yīng)控制和調(diào)整當(dāng)系統(tǒng)CPU占用率超過預(yù)警門限值時,但系統(tǒng)數(shù)據(jù)區(qū)未記錄有過負(fù)荷,則判斷系統(tǒng)進(jìn)入過負(fù)荷狀態(tài),并設(shè)置過負(fù)荷控制參數(shù)的初始值;當(dāng)系統(tǒng)CPU占用率超過預(yù)警門限值時,且系統(tǒng)數(shù)據(jù)區(qū)記錄有過負(fù)荷,則系統(tǒng)一直處于過負(fù)荷狀態(tài),調(diào)整過負(fù)荷控制參數(shù);當(dāng)系統(tǒng)CPU占用率小于預(yù)警門限值時,且系統(tǒng)數(shù)據(jù)區(qū)記錄有過負(fù)荷,則判斷是否存在限制的業(yè)務(wù)數(shù),若有限制的業(yè)務(wù)數(shù),則保持過負(fù)荷狀態(tài),調(diào)整過負(fù)荷控制參數(shù);若沒有限制的業(yè)務(wù)數(shù),則解除系統(tǒng)過負(fù)荷狀態(tài);當(dāng)系統(tǒng)CPU占用率小于預(yù)警門限值時,且數(shù)據(jù)區(qū)未記錄有過負(fù)荷,則一直處于正常狀態(tài)。
上述的對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,其特點在于,所述過負(fù)荷控制參數(shù)至少包括拒絕間隔、預(yù)定間隔時間內(nèi)允許接入的最大業(yè)務(wù)數(shù)、前一預(yù)定間隔時間內(nèi)接受的業(yè)務(wù)數(shù)、當(dāng)前預(yù)定間隔時間內(nèi)接受的業(yè)務(wù)數(shù)、因拒絕間隔而限制的業(yè)務(wù)數(shù)、以及因允許接入的業(yè)務(wù)數(shù)而限制的業(yè)務(wù)數(shù)其中的一個或多個。
上述的對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,其特點在于,對預(yù)定間隔時間內(nèi)允許接入的最大業(yè)務(wù)數(shù)的調(diào)整方法為當(dāng)CPU占用率超過過負(fù)荷門限值時,以整下降步長減少允許接入的業(yè)務(wù)數(shù);當(dāng)CPU占用率在預(yù)警門限值與過負(fù)荷門限值之間時,以半下降步長減少允許接入的業(yè)務(wù)數(shù);當(dāng)系統(tǒng)處于過負(fù)荷狀態(tài),且仍然有限制的業(yè)務(wù)數(shù),CPU占用率在緩沖區(qū)內(nèi)時,不調(diào)整允許接入的業(yè)務(wù)數(shù)。
當(dāng)系統(tǒng)處于過負(fù)荷狀態(tài),且仍然有限制的業(yè)務(wù)數(shù),CPU占用率在低負(fù)荷門限值與正常門限值之間時,以半上升步長增加允許接入的業(yè)務(wù)數(shù)。
當(dāng)系統(tǒng)處于過負(fù)荷狀態(tài),且仍然有限制的業(yè)務(wù)數(shù),CPU占用率小于低負(fù)荷門限值時,以整上升步長增加允許接入的業(yè)務(wù)數(shù)。
上述的對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,其特點在于,對拒絕間隔的大小的調(diào)整方法為系統(tǒng)剛進(jìn)入過負(fù)荷狀態(tài)時,若CPU占用率大于過負(fù)荷門限值,則采用一第一初始值作為拒絕間隔的初始值;系統(tǒng)剛進(jìn)入過負(fù)荷狀態(tài)時,若CPU占用率在預(yù)警門限值與過負(fù)荷門限值之間,則采用一第二初始值作為拒絕間隔的初始值,且所述第二初始值大于所述第一初始值;系統(tǒng)處于過負(fù)荷的狀態(tài)下,每個預(yù)定時間間隔超時后,根據(jù)前一個預(yù)定時間間隔內(nèi)拒絕業(yè)務(wù)的情況,調(diào)整拒絕間隔;當(dāng)拒絕間隔大于一預(yù)設(shè)值且系統(tǒng)負(fù)荷低于預(yù)警門限時,則不使用拒絕間隔進(jìn)行業(yè)務(wù)限制;所述拒絕間隔最小值為2,最大值為50。
上述的對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,其特點在于,所述統(tǒng)計過程包括如下步驟所述各業(yè)務(wù)模塊的業(yè)務(wù)進(jìn)程在收到新的業(yè)務(wù)消息時,調(diào)用所述過負(fù)荷控制進(jìn)程提供的接口函數(shù),根據(jù)本次接入的業(yè)務(wù)類型,以及當(dāng)前系統(tǒng)的負(fù)荷狀態(tài),決定是否限制本次業(yè)務(wù);所述統(tǒng)一的調(diào)用接口提供接口函數(shù),根據(jù)當(dāng)前的系統(tǒng)負(fù)荷狀態(tài)、允許接入的業(yè)務(wù)數(shù)以及拒絕間隔,確定是否限制本次業(yè)務(wù),返回相應(yīng)值給各業(yè)務(wù)模塊以繼續(xù)接續(xù)或者限制本次業(yè)務(wù),并在接受本次業(yè)務(wù)時,將與本次業(yè)務(wù)類型對應(yīng)的當(dāng)前單位時間間隔內(nèi)接受的業(yè)務(wù)數(shù)加1,在限制本次業(yè)務(wù)時,將與本次業(yè)務(wù)類型對應(yīng)的因拒絕間隔而限制的業(yè)務(wù)數(shù)或因允許接入的業(yè)務(wù)數(shù)而限制的業(yè)務(wù)數(shù)加1;在收到所述超級定時器消息后,取前一預(yù)定間隔時間內(nèi)接受的業(yè)務(wù)數(shù)與當(dāng)前單位時間間隔內(nèi)接受的業(yè)務(wù)數(shù)的平均值更新到前一單位時間間隔內(nèi)接受的業(yè)務(wù)數(shù);在進(jìn)行完所述過負(fù)荷控制參數(shù)的調(diào)整后,清除當(dāng)前預(yù)定間隔時間內(nèi)的所有統(tǒng)計值,以便于下一個預(yù)定間隔時間的統(tǒng)計。
另外,本發(fā)明的對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,所述過負(fù)荷控制進(jìn)程在進(jìn)入過負(fù)荷或者解除過負(fù)荷時,均向系統(tǒng)的后臺告警,并在過負(fù)荷狀態(tài)下,按照設(shè)定的日志記錄間隔,向后臺發(fā)送通知,上報當(dāng)前的負(fù)荷狀態(tài),以及各業(yè)務(wù)被接受和拒絕的次數(shù),用于后臺記錄日志文件。本發(fā)明方法所涉及的業(yè)務(wù)種類包括A口語音起呼、A口起呼短消息、A口位置更新、MAP終呼短消息、TCAP對話ID、TUP入局呼叫、ISUP入局呼叫,以及CAS入局呼叫。
同時,本發(fā)明的所述過負(fù)荷控制進(jìn)程在進(jìn)入工作狀態(tài)或者初始狀態(tài)時,還包括一對過負(fù)荷控制參數(shù)進(jìn)行檢查的步驟,在通過檢查后才啟動過負(fù)荷控制進(jìn)程,所述過負(fù)荷控制參數(shù)采用系統(tǒng)后臺配置。并且,對需要進(jìn)行過負(fù)荷控制的接入業(yè)務(wù),實行丟棄消息處理。對不同業(yè)務(wù)類型通過設(shè)置不同的上升和下降的步長,實現(xiàn)對不同業(yè)務(wù)類型進(jìn)行不同優(yōu)先級的控制。
本發(fā)明的系統(tǒng)負(fù)荷控制方法,以CPU占用率作為過負(fù)荷狀態(tài)的唯一判斷條件,降低了對系統(tǒng)是否處于過負(fù)荷狀態(tài)的判斷條件的復(fù)雜度;并通過采用集中檢測、分散控制的方式,建立一個獨立的過負(fù)荷控制進(jìn)程,由此進(jìn)程為各業(yè)務(wù)模塊提供統(tǒng)一的調(diào)用接口,便于統(tǒng)一管理和維護(hù)。另外,還增加了拒絕間隔的控制機制,進(jìn)一步減小了系統(tǒng)在處于過負(fù)荷控制期間的負(fù)荷波動,并通過使用定時器,由支撐系統(tǒng)定時給過負(fù)荷控制進(jìn)程發(fā)送定時器消息,避免了因定時器設(shè)置失敗引起的過負(fù)荷控制失效以及系統(tǒng)拒絕所有業(yè)務(wù)的嚴(yán)重后果。
以下結(jié)合附圖和具體實施例對本發(fā)明進(jìn)行詳細(xì)描述,但不作為對本發(fā)明的限定。
圖1是CDMA數(shù)字蜂窩移動通信系統(tǒng)各邏輯功能實體圖;圖2是本發(fā)明的系統(tǒng)負(fù)荷門限圖;圖3是本發(fā)明的系統(tǒng)接入業(yè)務(wù)示例圖;以及圖4是本發(fā)明的一較佳的過負(fù)荷控制工作流程圖。
具體實施例方式
過負(fù)荷控制包含兩個關(guān)鍵因素,過負(fù)荷狀態(tài)的檢測和過負(fù)荷控制數(shù)據(jù)的調(diào)整。
過負(fù)荷控制需要檢測系統(tǒng)當(dāng)前的負(fù)荷狀態(tài),以確定是否需要進(jìn)行過負(fù)荷控制。從試驗室測試結(jié)果,以及商用局經(jīng)驗來看,內(nèi)存占用率和數(shù)據(jù)區(qū)占用率等都不能夠作為有效的系統(tǒng)負(fù)荷檢測指標(biāo),影響系統(tǒng)穩(wěn)定運行的指標(biāo)主要是CPU占用率,因此本發(fā)明把CPU占用率作為唯一的系統(tǒng)負(fù)荷狀態(tài)的檢測指標(biāo)。考慮到CPU占用率不斷變化,檢測的及時性對有效控制負(fù)荷的影響,以及頻繁的檢測動作對系統(tǒng)性能的影響,可采用2秒時間間隔作為預(yù)定間隔時間,定期檢測CPU占用率,并判斷是否需要過負(fù)荷控制。
并且,由于系統(tǒng)負(fù)荷主要是由業(yè)務(wù)產(chǎn)生的,因此負(fù)荷的控制就是對業(yè)務(wù)進(jìn)行控制,并且需要從業(yè)務(wù)的源頭上進(jìn)行控制。對于MSC來說,主要是控制A口、MAP、TUP/ISUP/CAS的業(yè)務(wù),以及TCAP的對話ID。系統(tǒng)的處理能力往往采用BHCA來衡量,也就是單位時間間隔內(nèi)能夠處理的業(yè)務(wù)數(shù)量,因此,過負(fù)荷控制也采用限制單位時間間隔內(nèi)的業(yè)務(wù)次數(shù)來進(jìn)行。
并且,為了有效地設(shè)計過負(fù)荷控制的算法,本發(fā)明可以從以下幾個方面來考慮(1)控制接入系統(tǒng)的業(yè)務(wù)量,需要在業(yè)務(wù)接入系統(tǒng)的源頭處進(jìn)行控制,即在A口、MAP、TCAP和TUP/ISUP/CAS處進(jìn)行控制,控制的業(yè)務(wù)種類包括A口語音起呼、A口起呼短消息、A口位置更新、MAP終呼短消息、TCAP對話ID、TUP入局呼叫、ISUP入局呼叫,以及CAS入局呼叫。
(2)從用戶的撥號習(xí)慣來看,如果一次呼叫不成功,大多數(shù)情況下,會立即發(fā)起新的呼叫,因此需要延長用戶重新?lián)芴柕臅r間,以免在短時間內(nèi)加大系統(tǒng)話務(wù)量。這樣,對需要進(jìn)行過負(fù)荷控制的呼叫,不是立即失敗,而是進(jìn)行丟棄消息處理,不回應(yīng)任何響應(yīng)消息。
(3)過負(fù)荷控制需要維持一定的業(yè)務(wù)處理能力,對被叫半呼叫不應(yīng)該進(jìn)行控制,否則反而造成新的重復(fù)試呼。
(4)相對于及時解除過負(fù)荷控制來講,保證系統(tǒng)穩(wěn)定運行是最緊要的,因此采取快速控制,緩慢恢復(fù)的策略,避免過負(fù)荷控制解除過快,造成新的過負(fù)荷。
綜上所述,本發(fā)明的過負(fù)荷控制方法,主要采用集中檢測、分散控制的方式,以便于維護(hù)和擴充。其主要包括如下步驟步驟一,建立一個過負(fù)荷控制進(jìn)程,獨立運行于所述移動交換中心系統(tǒng),為所述移動交換中心系統(tǒng)的各業(yè)務(wù)模塊提供統(tǒng)一的調(diào)用接口,進(jìn)入初始狀態(tài),并在所述系統(tǒng)啟動或由備機轉(zhuǎn)為主機時,進(jìn)行數(shù)據(jù)初始化,進(jìn)入工作狀態(tài)。所述過負(fù)荷控制進(jìn)程在由主機轉(zhuǎn)為備機時進(jìn)入初始狀態(tài)。
步驟二,所述過負(fù)荷控制進(jìn)程由支撐系統(tǒng)設(shè)置一超級定時器,在工作狀態(tài)時,每隔一個預(yù)定間隔時間給所述過負(fù)荷控制進(jìn)程發(fā)送一次超級定時器消息。為了避免因定時器設(shè)置失敗引起的過負(fù)荷控制失效以及系統(tǒng)拒絕所有業(yè)務(wù)的嚴(yán)重后果,本發(fā)明較佳的采用了超級定時器,并較佳的以2秒作為一預(yù)定間隔時間,由支撐系統(tǒng)定時給過負(fù)荷控制進(jìn)程發(fā)送定時器消息。超級定時器是由支撐系統(tǒng)來設(shè)置或釋放,不需過負(fù)荷控制進(jìn)程來設(shè)置或釋放,也就不存在設(shè)置定時器失敗的情況。當(dāng)然,也可采用一般的定時器實現(xiàn)本發(fā)明的效果,這些并不作為對本發(fā)明的限制。一般的定時器由過負(fù)荷控制進(jìn)程或業(yè)務(wù)層來設(shè)置或釋放,若設(shè)置失敗,可能會引起較嚴(yán)重的后果(如造成資源吊死或系統(tǒng)癱瘓)。
步驟三,檢測系統(tǒng)CPU占用率,統(tǒng)一確定系統(tǒng)過負(fù)荷或者過負(fù)荷解除,以確定是否需要進(jìn)行過負(fù)荷控制,并判斷是否接受或者限制某次業(yè)務(wù)。為了降低對系統(tǒng)是否處于過負(fù)荷狀態(tài)的判斷條件的復(fù)雜度,本發(fā)明較佳的以CPU的占用率作為過負(fù)荷狀態(tài)的唯一判斷條件。
步驟四,在需要進(jìn)行過負(fù)荷控制時,在所述預(yù)定間隔時間內(nèi),設(shè)定允許接入的業(yè)務(wù)數(shù),對超過數(shù)量的業(yè)務(wù)進(jìn)行限制。其中,當(dāng)需要進(jìn)行過負(fù)荷控制時,可較佳的以2秒鐘作為該預(yù)定間隔時間,設(shè)定允許接入的業(yè)務(wù)數(shù),對超過數(shù)量的業(yè)務(wù)進(jìn)行限制。
較佳的,在步驟四的同時,在所述預(yù)定間隔時間內(nèi),所述過負(fù)荷進(jìn)程對接受的業(yè)務(wù)數(shù)以及拒絕的業(yè)務(wù)數(shù)按業(yè)務(wù)類型分別統(tǒng)計,并在收到所述超級定時器消息后,根據(jù)預(yù)定間隔時間內(nèi)各項統(tǒng)計值及系統(tǒng)當(dāng)前的CPU占用率,對過負(fù)荷控制參數(shù)進(jìn)行動態(tài)調(diào)整,從而有效地控制負(fù)荷。其中所述過負(fù)荷控制參數(shù)至少包括拒絕間隔、單位時間間隔內(nèi)允許接入的最大業(yè)務(wù)數(shù)、前一單位時間間隔內(nèi)接受的業(yè)務(wù)數(shù)、當(dāng)前單位時間間隔內(nèi)接受的業(yè)務(wù)數(shù)、因拒絕間隔而限制的業(yè)務(wù)數(shù)、以及因允許接入的業(yè)務(wù)數(shù)而限制的業(yè)務(wù)數(shù)其中的一個或多個。本發(fā)明對過負(fù)荷控制參數(shù)的調(diào)整主要是調(diào)整當(dāng)前允許接入的最大業(yè)務(wù)數(shù)及當(dāng)前拒絕間隔的大小,其調(diào)整方法詳見后述的具體實施例。
如圖4所示,為本發(fā)明的一較佳的過負(fù)荷控制工作流程圖。其包括如下步驟步驟401,系統(tǒng)的過負(fù)荷控制進(jìn)程處于初始始態(tài);
步驟402,若系統(tǒng)啟動,即主機發(fā)生上電事件,或系統(tǒng)發(fā)生由備機轉(zhuǎn)主機事件,則進(jìn)入步驟404;步驟403,若系統(tǒng)發(fā)生除步驟402所述事件以外的其它事件,則進(jìn)入步驟405;步驟404,數(shù)據(jù)初始化,然后進(jìn)入步驟406;步驟405,過負(fù)荷控制進(jìn)程進(jìn)入初始始態(tài);步驟406,過負(fù)荷控制進(jìn)程進(jìn)入工作狀態(tài);步驟407,若主機轉(zhuǎn)備機,則進(jìn)入步驟409;步驟408,若發(fā)生超級定時器事件,則進(jìn)入步驟410;步驟409,過負(fù)荷控制進(jìn)程進(jìn)入初始始態(tài);步驟410,進(jìn)行過負(fù)荷控制相關(guān)參數(shù)檢查;步驟411,進(jìn)行過負(fù)荷控制數(shù)據(jù)調(diào)整;步驟412,恢復(fù)至過負(fù)荷控制進(jìn)程工作態(tài)。
在本發(fā)明中,如圖2所示,考慮到程序處理的簡潔、有效,以及過負(fù)荷控制的有效性,本發(fā)明根據(jù)CPU占用率,取4個門限值,低負(fù)荷門限值<正常門限值<預(yù)警門限值<過負(fù)荷門限值,將系統(tǒng)負(fù)荷狀態(tài)分為5個區(qū)域低負(fù)荷區(qū)、正常負(fù)荷區(qū)、緩沖區(qū)、預(yù)警負(fù)荷區(qū)和過負(fù)荷區(qū)。其中,各個CPU占用率的門限值,以及“上升步長”和“下降步長”,由后臺配置確定。為了方便控制,步長用百分比表示,表示增加或者減少當(dāng)前2秒內(nèi)“允許接入的業(yè)務(wù)數(shù)”的比例。為了實現(xiàn)對不同的業(yè)務(wù)進(jìn)行不同優(yōu)先級的控制,可以分別設(shè)置不同的上升和下降步長。
并且,在正常情況下,系統(tǒng)CPU占用率小于預(yù)警門限,判斷系統(tǒng)過負(fù)荷和解除的條件為(1)當(dāng)系統(tǒng)CPU占用率超過預(yù)警門限時,判斷系統(tǒng)進(jìn)入過負(fù)荷狀態(tài),開始進(jìn)行過負(fù)荷控制。
(2)當(dāng)系統(tǒng)CPU占用率小于預(yù)警門限,且系統(tǒng)沒有丟棄消息時,解除系統(tǒng)過負(fù)荷狀態(tài),不再進(jìn)行過負(fù)荷控制。
(3)若系統(tǒng)前一時間間隔內(nèi)處于過負(fù)荷狀態(tài),且存在丟棄消息,即使CPU小于預(yù)警門限,也仍然處于過負(fù)荷狀態(tài),需要進(jìn)行過負(fù)荷控制。
本發(fā)明的MSC系統(tǒng)在工作態(tài),收到超級定時器消息后,所述過負(fù)荷控制進(jìn)程調(diào)用其支撐接口,并獲取CPU占用率,結(jié)合數(shù)據(jù)區(qū)記錄的系統(tǒng)負(fù)荷狀態(tài)、以及(“因拒絕間隔而限制的業(yè)務(wù)數(shù)”+“因允許接入的業(yè)務(wù)數(shù)而限制的業(yè)務(wù)數(shù)”),判斷當(dāng)前MSC系統(tǒng)狀態(tài)并進(jìn)行相應(yīng)控制和調(diào)整(1)若CPU高于預(yù)警門限,但數(shù)據(jù)區(qū)未記錄過負(fù)荷,則判斷系統(tǒng)進(jìn)入過負(fù)荷,向后臺告警,設(shè)置“允許接入的業(yè)務(wù)數(shù)”和“拒絕間隔”等過負(fù)荷控制參數(shù)的初值。
(2)若CPU高于預(yù)警門限,且數(shù)據(jù)記錄有過負(fù)荷,則一直處于過負(fù)荷狀態(tài),調(diào)整“允許接入的業(yè)務(wù)數(shù)”和“拒絕間隔”等過負(fù)荷控制參數(shù)。
(3)若CPU低于預(yù)警門限,但數(shù)據(jù)區(qū)記錄有過負(fù)荷,則判斷(“因拒絕間隔而限制的業(yè)務(wù)數(shù)”+“因允許接入的業(yè)務(wù)數(shù)而限制的業(yè)務(wù)數(shù)”),若有限制的業(yè)務(wù)數(shù),則保持過負(fù)荷狀態(tài),調(diào)整“允許接入的業(yè)務(wù)數(shù)”和“拒絕間隔”等;若沒有限制的業(yè)務(wù)數(shù),則解除過負(fù)荷狀態(tài),且向后臺發(fā)送告警恢復(fù)。
(4)若CPU低于預(yù)警門限,且數(shù)據(jù)區(qū)未記錄過負(fù)荷,則一直處于正常狀態(tài)。
在系統(tǒng)過負(fù)荷期間,收到超級定時器消息后,過負(fù)荷控制進(jìn)程根據(jù)當(dāng)前CPU占用率,調(diào)整“允許接入的業(yè)務(wù)數(shù)”。其調(diào)整方法為(1)當(dāng)CPU占用率超過過負(fù)荷門限時,以整下降步長減少“允許接入的業(yè)務(wù)數(shù)”。
(2)當(dāng)CPU占用率在預(yù)警門限與過負(fù)荷門限之間時,以半下降步長減少“允許接入的業(yè)務(wù)數(shù)”。
(3)當(dāng)系統(tǒng)處于過負(fù)荷狀態(tài)(未解除,仍然有限制的業(yè)務(wù)),CPU占用率在緩沖區(qū)內(nèi)時,不調(diào)整“允許接入的業(yè)務(wù)數(shù)”。
(4)當(dāng)系統(tǒng)處于過負(fù)荷狀態(tài)(未解除,仍然有限制的業(yè)務(wù)),CPU占用率在低負(fù)荷門限與正常門限之間時,以半上升步長增加“允許接入的業(yè)務(wù)數(shù)”。
(5)當(dāng)系統(tǒng)處于過負(fù)荷狀態(tài)(未解除,仍然有限制的業(yè)務(wù)),CPU占用率小于低負(fù)荷門限時,以整上升步長增加“允許接入的業(yè)務(wù)數(shù)”。
另外,由于本發(fā)明采用控制一定時間間隔內(nèi)允許接入的業(yè)務(wù)數(shù)量來控制系統(tǒng)負(fù)荷后,在每個時間間隔內(nèi),將在前半個時間段內(nèi)接受業(yè)務(wù),后半個時間段內(nèi)拒絕業(yè)務(wù),接受的業(yè)務(wù)相當(dāng)集中,會對系統(tǒng)處理造成沖擊,仍然不利于降低系統(tǒng)負(fù)荷,因此,本發(fā)明還增加了拒絕間隔控制機制,采用增加一定的拒絕間隔來限制業(yè)務(wù)數(shù),同時,為了在不同的話務(wù)量情況下合理地設(shè)置此“拒絕間隔”值,將限制的業(yè)務(wù)數(shù)盡量均勻地分散到整個時間間隔中,并且需要對此間隔進(jìn)行一定程度的調(diào)整(1)系統(tǒng)剛進(jìn)入過負(fù)荷狀態(tài)時,若CPU占用率大于過負(fù)荷門限,則采用一第一初始值作為拒絕間隔的初始值,如為2,即每2次業(yè)務(wù)拒絕一次業(yè)務(wù)。
(2)系統(tǒng)剛進(jìn)入過負(fù)荷狀態(tài)時,若CPU占用率在預(yù)警門限與過負(fù)荷門限之間,則采用一第二初始值作為拒絕間隔的初始值,如為4,即每4次業(yè)務(wù)拒絕一次業(yè)務(wù)。
(3)系統(tǒng)處于過負(fù)荷的狀態(tài)下,每個時間間隔超時后,根據(jù)前一個時間間隔內(nèi)拒絕業(yè)務(wù)的情況,調(diào)整“拒絕間隔”,為了防止受業(yè)務(wù)數(shù)量波動的影響,每次對此間隔以一定的百分比進(jìn)行調(diào)整。
(4)當(dāng)系統(tǒng)負(fù)荷低于預(yù)警門限時,由于以拒絕的消息數(shù)作為解除過負(fù)荷的條件,拒絕間隔的存在可能使得拒絕消息一直存在,除非“拒絕間隔”大于時間間隔內(nèi)的業(yè)務(wù)總數(shù)。因此,當(dāng)“拒絕間隔”大于一預(yù)設(shè)值且系統(tǒng)負(fù)荷低于預(yù)警門限時,則不使用拒絕間隔進(jìn)行業(yè)務(wù)限制。例如,當(dāng)“拒絕間隔”大于20且系統(tǒng)負(fù)荷低于預(yù)警門限時,則不使用拒絕間隔進(jìn)行業(yè)務(wù)限制。
(5)拒絕間隔應(yīng)有一定的范圍,最小值為2,最大值為50。
過負(fù)荷情況下,采用“拒絕間隔”對接入的業(yè)務(wù)進(jìn)行限制后,在每個時間間隔內(nèi),系統(tǒng)接入業(yè)務(wù)的情況如圖3所示。如圖3所示,假設(shè)系統(tǒng)的單位時間間隔內(nèi)接入的總業(yè)務(wù)量為A,設(shè)置的拒絕間隔為B,允許接入的業(yè)務(wù)數(shù)為C,因拒絕間隔而限制的業(yè)務(wù)數(shù)為D,因允許接入的業(yè)務(wù)數(shù)而限制的業(yè)務(wù)數(shù)為E,且該拒絕間隔B將拒絕的業(yè)務(wù)數(shù)均勻的分散到整個單位時間間隔中,并且,A=B+C+D+E。
下面將以一具體實施例詳細(xì)說明本發(fā)明,其中,以2秒為單位時間間隔,超級定時器每2秒發(fā)送一次超時消息。
為了對不同的業(yè)務(wù)進(jìn)行業(yè)務(wù)量統(tǒng)計和過負(fù)荷控制,過負(fù)荷進(jìn)程提供接口函數(shù)供A口等業(yè)務(wù)進(jìn)程調(diào)用,A口等業(yè)務(wù)進(jìn)程在收到新的業(yè)務(wù)消息時,調(diào)用此函數(shù)接口,并根據(jù)返回值確定是否繼續(xù)接續(xù)。函數(shù)接口為BYTE IsServiceLimited(BYTE wServiceType)其中返回值為0和1,0表示業(yè)務(wù)不受限制而正常接續(xù),1表示業(yè)務(wù)受限制。
在接口函數(shù)中,根據(jù)本次接入的業(yè)務(wù)類型,以及當(dāng)前的系統(tǒng)負(fù)荷狀態(tài),決定是否限制本次業(yè)務(wù),同時對每2秒內(nèi)的業(yè)務(wù)量進(jìn)行統(tǒng)計,維護(hù)過負(fù)荷控制進(jìn)程的數(shù)據(jù),如下表(過負(fù)荷控制數(shù)據(jù)表)所示
其中,“前2秒內(nèi)接受的業(yè)務(wù)數(shù)”統(tǒng)計業(yè)務(wù)的流量,用于過負(fù)荷時作為“允許接入的業(yè)務(wù)數(shù)”的初始值;“當(dāng)前2秒內(nèi)接受的業(yè)務(wù)數(shù)”用于更新“前2秒內(nèi)接受的業(yè)務(wù)數(shù)”;拒絕的業(yè)務(wù)數(shù)統(tǒng)計用于作為解除過負(fù)荷的判斷條件,“因允許接入的業(yè)務(wù)數(shù)而限制的業(yè)務(wù)數(shù)”用于作為調(diào)整“拒絕間隔”的依據(jù),若太大,則說明需要減小“拒絕間隔”;“拒絕間隔”和“允許接入的業(yè)務(wù)數(shù)”在每個時間間隔超時后,由過負(fù)荷控制進(jìn)程進(jìn)行調(diào)整。
函數(shù)被調(diào)用時,正常情況下,向業(yè)務(wù)類型對應(yīng)的“當(dāng)前2秒內(nèi)接受的業(yè)務(wù)數(shù)”加1。收到超級定時器消息后將“當(dāng)前2秒內(nèi)接受的業(yè)務(wù)數(shù)”更新到“前2秒內(nèi)接受的業(yè)務(wù)數(shù)”,為了防止業(yè)務(wù)數(shù)波動,取(“前2秒內(nèi)接受的業(yè)務(wù)數(shù)”+“當(dāng)前2秒內(nèi)接受的業(yè)務(wù)數(shù)”)/2。過負(fù)荷情況下,根據(jù)系統(tǒng)過負(fù)荷的級別計算出“允許接入的業(yè)務(wù)數(shù)”,并據(jù)此控制新接入業(yè)務(wù)的數(shù)量。
由于過負(fù)荷控制采用了后臺配置的控制變量,參數(shù)的設(shè)置非常重要,否則可能在啟用過負(fù)荷控制時,造成系統(tǒng)運行紊亂,因此必須對這些參數(shù)進(jìn)行檢查,判斷其是否在設(shè)定的范圍內(nèi),以及各參數(shù)的大小順序是否合理,否則不啟用過負(fù)荷控制,且向后臺告警。過負(fù)荷控制進(jìn)程在MSC啟動或者主備倒換時檢查這些參數(shù),若發(fā)現(xiàn)錯誤則以后每2秒檢查一次;當(dāng)檢查通過后,以后每10分鐘檢查一次。當(dāng)檢查通過后,實際引用這些控制參數(shù)時,不再進(jìn)行檢查。
過負(fù)荷控制模塊提供接口函數(shù),根據(jù)當(dāng)前的系統(tǒng)負(fù)荷狀態(tài),以及“允許接入的業(yè)務(wù)數(shù)”和“拒絕間隔”,確定是否限制本次業(yè)務(wù),若接受本次業(yè)務(wù),向業(yè)務(wù)類型對應(yīng)的“當(dāng)前2秒內(nèi)接受的業(yè)務(wù)數(shù)”加1;若限制本次業(yè)務(wù),向“因允許接入的業(yè)務(wù)數(shù)而限制的業(yè)務(wù)數(shù)”加1,或者向“因拒絕間隔而限制的業(yè)務(wù)數(shù)”加1。
MSC處于工作態(tài),收到超級定時器消息后,取(“前2秒內(nèi)接受的業(yè)務(wù)數(shù)”+“當(dāng)前2秒內(nèi)接受的業(yè)務(wù)數(shù)”)/2,更新到“前2秒內(nèi)接受的業(yè)務(wù)數(shù)”。所述過負(fù)荷控制進(jìn)程調(diào)用其支撐接口,并獲取CPU占用率,結(jié)合數(shù)據(jù)區(qū)記錄的系統(tǒng)負(fù)荷狀態(tài)、以及(“因拒絕間隔而限制的業(yè)務(wù)數(shù)”+“因允許接入的業(yè)務(wù)數(shù)而限制的業(yè)務(wù)數(shù)”),判斷當(dāng)前MSC系統(tǒng)狀態(tài)并進(jìn)行相應(yīng)控制和調(diào)整(1)若CPU高于預(yù)警門限,但數(shù)據(jù)區(qū)未記錄過負(fù)荷,則判斷系統(tǒng)進(jìn)入過負(fù)荷,向后臺告警,設(shè)置“允許接入的業(yè)務(wù)數(shù)”和“拒絕間隔”等過負(fù)荷控制參數(shù)的初值。
(2)若CPU高于預(yù)警門限,且數(shù)據(jù)記錄有過負(fù)荷,則一直處于過負(fù)荷狀態(tài),調(diào)整“允許接入的業(yè)務(wù)數(shù)”和“拒絕間隔”等過負(fù)荷控制參數(shù)。
(3)若CPU低于預(yù)警門限,但數(shù)據(jù)區(qū)記錄有過負(fù)荷,則判斷(“因拒絕間隔而限制的業(yè)務(wù)數(shù)”+“因允許接入的業(yè)務(wù)數(shù)而限制的業(yè)務(wù)數(shù)”),若有限制的業(yè)務(wù)數(shù),則保持過負(fù)荷狀態(tài),調(diào)整“允許接入的業(yè)務(wù)數(shù)”和“拒絕間隔”等;若沒有限制的業(yè)務(wù)數(shù),則解除過負(fù)荷狀態(tài),且向后臺發(fā)送告警恢復(fù)。
(4)若CPU低于預(yù)警門限,且數(shù)據(jù)區(qū)未記錄過負(fù)荷,則一直處于正常狀態(tài)。
最后清除當(dāng)前2秒內(nèi)的所有統(tǒng)計值,以便于下一個時間間隔的統(tǒng)計。
過負(fù)荷控制進(jìn)程在進(jìn)入過負(fù)荷和解除過負(fù)荷時,向后臺告警。另外,在過負(fù)荷狀態(tài)下,按照設(shè)定的日志記錄間隔,向后臺發(fā)送通知,上報當(dāng)前的負(fù)荷狀態(tài),以及各業(yè)務(wù)被接受和拒絕的次數(shù),用于后臺記錄日志文件。
綜上所述,本發(fā)明實現(xiàn)了一種過負(fù)荷控制的方案,采用了多個新的措施來保證方案能有效的發(fā)揮作用。通過在實際系統(tǒng)中使用,表明這是一種簡單且有效的過負(fù)荷控制方法,使系統(tǒng)保持了較高的數(shù)據(jù)處理能力,并使整個系統(tǒng)的性能在過負(fù)荷控制期間保持為一個較為平滑的曲線,很好的保證了系統(tǒng)的穩(wěn)定運行。
當(dāng)然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,其特征在于,包括如下步驟步驟一,建立一個過負(fù)荷控制進(jìn)程,獨立運行于所述移動交換中心系統(tǒng),為所述移動交換中心系統(tǒng)的各業(yè)務(wù)模塊提供統(tǒng)一的調(diào)用接口,進(jìn)入初始狀態(tài),并在所述系統(tǒng)啟動或由備機轉(zhuǎn)為主機時,進(jìn)行數(shù)據(jù)初始化,進(jìn)入工作狀態(tài);步驟二,所述過負(fù)荷控制進(jìn)程由支撐系統(tǒng)設(shè)置一超級定時器,在工作狀態(tài)時,每隔一個預(yù)定間隔時間給所述過負(fù)荷控制進(jìn)程發(fā)送一次超級定時器消息;步驟三,檢測系統(tǒng)CPU占用率,統(tǒng)一確定系統(tǒng)過負(fù)荷或者過負(fù)荷解除,以確定是否需要進(jìn)行過負(fù)荷控制,并判斷是否接受或者限制某次業(yè)務(wù);步驟四,在需要進(jìn)行過負(fù)荷控制時,在所述預(yù)定間隔時間內(nèi),設(shè)定允許接入的業(yè)務(wù)數(shù),對超過數(shù)量的業(yè)務(wù)進(jìn)行限制。
2.根據(jù)權(quán)利要求1所述的對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,其特征在于,在所述預(yù)定間隔時間內(nèi),所述過負(fù)荷進(jìn)程對接受的業(yè)務(wù)數(shù)以及拒絕的業(yè)務(wù)數(shù)按業(yè)務(wù)類型分別統(tǒng)計,并在收到所述超級定時器消息后,根據(jù)預(yù)定間隔時間內(nèi)各項統(tǒng)計值及系統(tǒng)當(dāng)前的CPU占用率,對過負(fù)荷控制參數(shù)進(jìn)行動態(tài)調(diào)整。
3.根據(jù)權(quán)利要求1所述的對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,其特征在于,對所述超過數(shù)量的業(yè)務(wù)進(jìn)行限制是通過采用增加拒絕間隔來限制業(yè)務(wù)數(shù),并將限制的業(yè)務(wù)數(shù)盡量均勻地分散到整個時間間隔內(nèi)。
4.根據(jù)權(quán)利要求1或2或3所述的對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,其特征在于,在步驟三中,所述系統(tǒng)根據(jù)CPU占用率,分別設(shè)置四個門限值低負(fù)荷門限值<正常門限值<預(yù)警門限值<過負(fù)荷門限值,并將系統(tǒng)負(fù)荷狀態(tài)分為五個區(qū)域低負(fù)荷區(qū)、正常負(fù)荷區(qū)、緩沖區(qū)、預(yù)警負(fù)荷區(qū)和過負(fù)荷區(qū)。
5.根據(jù)權(quán)利要求4所述的對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,其特征在于,在步驟三中,判斷系統(tǒng)過負(fù)荷或者過負(fù)荷解除,以確定是否進(jìn)行過負(fù)荷控制的判決條件為當(dāng)系統(tǒng)CPU占用率超過預(yù)警門限值時,系統(tǒng)進(jìn)入過負(fù)荷狀態(tài),開始進(jìn)行過負(fù)荷控制;當(dāng)系統(tǒng)CPU占用率小于預(yù)警門限值時,且系統(tǒng)沒有丟棄消息時,解除系統(tǒng)過負(fù)荷狀態(tài),不再進(jìn)行過負(fù)荷控制;若系統(tǒng)前一時間間隔內(nèi)處于過負(fù)荷狀態(tài),且存在丟棄消息,即使CPU占用率小于預(yù)警門限值,也仍然處于過負(fù)荷狀態(tài),需要進(jìn)行過負(fù)荷控制。
6.根據(jù)權(quán)利要求5所述的對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,其特征在于,所述過負(fù)荷控制進(jìn)程通過調(diào)用其支撐接口,獲取CPU占用率,結(jié)合系統(tǒng)數(shù)據(jù)區(qū)記錄的系統(tǒng)負(fù)荷狀態(tài)、以及限制的業(yè)務(wù)數(shù),來判斷當(dāng)前系統(tǒng)負(fù)荷狀態(tài)并進(jìn)行相應(yīng)控制和調(diào)整當(dāng)系統(tǒng)CPU占用率超過預(yù)警門限值時,但系統(tǒng)數(shù)據(jù)區(qū)未記錄有過負(fù)荷,則判斷系統(tǒng)進(jìn)入過負(fù)荷狀態(tài),并設(shè)置過負(fù)荷控制參數(shù)的初始值;當(dāng)系統(tǒng)CPU占用率超過預(yù)警門限值時,且系統(tǒng)數(shù)據(jù)區(qū)記錄有過負(fù)荷,則系統(tǒng)一直處于過負(fù)荷狀態(tài),調(diào)整過負(fù)荷控制參數(shù);當(dāng)系統(tǒng)CPU占用率小于預(yù)警門限值時,且系統(tǒng)數(shù)據(jù)區(qū)記錄有過負(fù)荷,則判斷是否存在限制的業(yè)務(wù)數(shù),若有限制的業(yè)務(wù)數(shù),則保持過負(fù)荷狀態(tài),調(diào)整過負(fù)荷控制參數(shù);若沒有限制的業(yè)務(wù)數(shù),則解除系統(tǒng)過負(fù)荷狀態(tài);當(dāng)系統(tǒng)CPU占用率小于預(yù)警門限值時,且數(shù)據(jù)區(qū)未記錄有過負(fù)荷,則一直處于正常狀態(tài)。
7.根據(jù)權(quán)利要求6所述的對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,其特征在于,所述過負(fù)荷控制參數(shù)至少包括拒絕間隔、預(yù)定間隔時間內(nèi)允許接入的最大業(yè)務(wù)數(shù)、前一預(yù)定間隔時間內(nèi)接受的業(yè)務(wù)數(shù)、當(dāng)前預(yù)定間隔時間內(nèi)接受的業(yè)務(wù)數(shù)、因拒絕間隔而限制的業(yè)務(wù)數(shù)、以及因允許接入的業(yè)務(wù)數(shù)而限制的業(yè)務(wù)數(shù)其中的一個或多個。
8.根據(jù)權(quán)利要求7所述的對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,其特征在于,對預(yù)定間隔時間內(nèi)允許接入的最大業(yè)務(wù)數(shù)的調(diào)整方法為當(dāng)CPU占用率超過過負(fù)荷門限值時,以整下降步長減少允許接入的業(yè)務(wù)數(shù);當(dāng)CPU占用率在預(yù)警門限值與過負(fù)荷門限值之間時,以半下降步長減少允許接入的業(yè)務(wù)數(shù);當(dāng)系統(tǒng)處于過負(fù)荷狀態(tài),且仍然有限制的業(yè)務(wù)數(shù),CPU占用率在緩沖區(qū)內(nèi)時,不調(diào)整允許接入的業(yè)務(wù)數(shù)。當(dāng)系統(tǒng)處于過負(fù)荷狀態(tài),且仍然有限制的業(yè)務(wù)數(shù),CPU占用率在低負(fù)荷門限值與正常門限值之間時,以半上升步長增加允許接入的業(yè)務(wù)數(shù)。當(dāng)系統(tǒng)處于過負(fù)荷狀態(tài),且仍然有限制的業(yè)務(wù)數(shù),CPU占用率小于低負(fù)荷門限值時,以整上升步長增加允許接入的業(yè)務(wù)數(shù)。
9.根據(jù)權(quán)利要求7所述的對移動交換中心進(jìn)行系統(tǒng)負(fù)荷的控制方法,其特征在于,對拒絕間隔的大小的調(diào)整方法為系統(tǒng)剛進(jìn)入過負(fù)荷狀態(tài)時,若CPU占用率大于過負(fù)荷門限值,則采用一第一初始值作為拒絕間隔的初始值;系統(tǒng)剛進(jìn)入過負(fù)荷狀態(tài)時,若CPU占用率在預(yù)警門限值與過負(fù)荷門限值之間,則采用一第二初始值作為拒絕間隔的初始值,且所述第二初始值大于所述第一初始值;系統(tǒng)處于過負(fù)荷的狀態(tài)下,每個預(yù)定時間間隔超時后,根據(jù)前一個預(yù)定時間間隔內(nèi)拒絕業(yè)務(wù)的情況,調(diào)整拒絕間隔;當(dāng)拒絕間隔大于一預(yù)設(shè)值且系統(tǒng)負(fù)荷低于預(yù)警門限時,則不使用拒絕間隔進(jìn)行業(yè)務(wù)限制;所述拒絕間隔最小值為2,最大值為50。
10.根據(jù)權(quán)利要求7所述的對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,其特征在于,所述統(tǒng)計過程包括如下步驟所述各業(yè)務(wù)模塊的業(yè)務(wù)進(jìn)程在收到新的業(yè)務(wù)消息時,調(diào)用所述過負(fù)荷控制進(jìn)程提供的接口函數(shù),根據(jù)本次接入的業(yè)務(wù)類型,以及當(dāng)前系統(tǒng)的負(fù)荷狀態(tài),決定是否限制本次業(yè)務(wù);所述統(tǒng)一的調(diào)用接口提供接口函數(shù),根據(jù)當(dāng)前的系統(tǒng)負(fù)荷狀態(tài)、允許接入的業(yè)務(wù)數(shù)以及拒絕間隔,確定是否限制本次業(yè)務(wù),返回相應(yīng)值給各業(yè)務(wù)模塊以繼續(xù)接續(xù)或者限制本次業(yè)務(wù),并在接受本次業(yè)務(wù)時,將與本次業(yè)務(wù)類型對應(yīng)的當(dāng)前單位時間間隔內(nèi)接受的業(yè)務(wù)數(shù)加1,在限制本次業(yè)務(wù)時,將與本次業(yè)務(wù)類型對應(yīng)的因拒絕間隔而限制的業(yè)務(wù)數(shù)或因允許接入的業(yè)務(wù)數(shù)而限制的業(yè)務(wù)數(shù)加1;在收到所述超級定時器消息后,取前一預(yù)定間隔時間內(nèi)接受的業(yè)務(wù)數(shù)與當(dāng)前單位時間間隔內(nèi)接受的業(yè)務(wù)數(shù)的平均值更新到前一單位時間間隔內(nèi)接受的業(yè)務(wù)數(shù);在進(jìn)行完所述過負(fù)荷控制參數(shù)的調(diào)整后,清除當(dāng)前預(yù)定間隔時間內(nèi)的所有統(tǒng)計值,以便于下一個預(yù)定間隔時間的統(tǒng)計。
全文摘要
本發(fā)明涉及一種對移動交換中心進(jìn)行系統(tǒng)負(fù)荷控制的方法,包括如下步驟建立一個過負(fù)荷控制進(jìn)程,獨立運行于系統(tǒng),為系統(tǒng)的各業(yè)務(wù)模塊提供統(tǒng)一的調(diào)用接口,進(jìn)入初始狀態(tài),并在系統(tǒng)啟動或由備機轉(zhuǎn)為主機時,進(jìn)行數(shù)據(jù)初始化,進(jìn)入工作狀態(tài);支撐系統(tǒng)設(shè)置一超級定時器,用于向過負(fù)荷控制進(jìn)程發(fā)送定時器消息;檢測系統(tǒng)CPU占用率,統(tǒng)一確定系統(tǒng)過負(fù)荷或者過負(fù)荷解除,以確定是否需要進(jìn)行過負(fù)荷控制,并判斷是否接受或者限制某次業(yè)務(wù);在需要進(jìn)行過負(fù)荷控制時,在預(yù)定間隔時間內(nèi)設(shè)定允許接入的業(yè)務(wù)數(shù),對超過數(shù)量的業(yè)務(wù)進(jìn)行限制。該方法降低了系統(tǒng)負(fù)荷控制復(fù)雜度,便于統(tǒng)一管理與維護(hù),減少了負(fù)荷控制中的負(fù)荷波動,避免了負(fù)荷控制失效等問題。
文檔編號H04W88/14GK1571538SQ20041000907
公開日2005年1月26日 申請日期2004年5月10日 優(yōu)先權(quán)日2004年5月10日
發(fā)明者王振 申請人:中興通訊股份有限公司