專利名稱:基于Diameter協(xié)議的負(fù)載控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),尤其涉及一種基于Diameter協(xié)議的負(fù)載控制方法。
背景技術(shù):
自網(wǎng)絡(luò)誕生以來,AAA(Authentication、Authorization、Accounting,鑒別、授權(quán)、計費),即認(rèn)證、授權(quán)以及計費體制就成為其運營的基礎(chǔ)。網(wǎng)絡(luò)中各類資源的使用,需要由認(rèn)證、授權(quán)和計費進行管理。對于一個商業(yè)系統(tǒng)來說,鑒別是至關(guān)重要的,只有確認(rèn)了用戶的身份,才能知道所提供的服務(wù)應(yīng)該向誰收費,同時,也能防止非法用戶(黑客)對網(wǎng)絡(luò)進行破壞。在確認(rèn)用戶身份后,根據(jù)用戶開戶時所申請的服務(wù)類別,系統(tǒng)可以授予客戶相應(yīng)的權(quán)限,即授權(quán)。最后,在用戶使用系統(tǒng)資源時,需要有相應(yīng)的設(shè)備來統(tǒng)計用戶所對資源的占用情況,據(jù)此向客戶收取相應(yīng)的費用。
Diameter系列協(xié)議是新一代的AAA技術(shù),由于其強大的可擴展性和安全保證,正在得到越來越多的關(guān)注。在ITU(國際電信聯(lián)盟),3GPP和3GPP2等國際標(biāo)準(zhǔn)組織中,已經(jīng)正式將其作為NGN(下一代網(wǎng)絡(luò)),WCDMA(寬帶碼分多址)和cdma2000等未來通信網(wǎng)絡(luò)的首選AAA協(xié)議。
Diameter協(xié)議下層使用SCTP(流控制傳送協(xié)議)和TCP(傳送控制協(xié)議)協(xié)議通信。當(dāng)兩個Diameter協(xié)議的實體要互相通信時,首先需要建立SCTP和TCP協(xié)議的相關(guān)連接。當(dāng)兩個Diameter協(xié)議實體不再通信時,可以斷開建立的SCTP和TCP協(xié)議的相關(guān)連接。
SCTP或者是TCP的連接分為客戶端和服務(wù)器端,當(dāng)需要建立SCTP和TCP的連接時,作為連接的服務(wù)器端,首先處于監(jiān)聽狀態(tài),然后連接的客戶端發(fā)起連接建立請求,連接的服務(wù)器端接受連接客戶端的連接建立請求后,連接才能建立成功。如果連接的服務(wù)器端沒有監(jiān)聽,那么連接客戶端發(fā)起的連接建立請求就會失敗;同時,只有連接的客戶端才能發(fā)起連接建立請求,連接的服務(wù)器端不能發(fā)起連接建立請求。
在基于Diameter協(xié)議實現(xiàn)的網(wǎng)絡(luò)中,為了實現(xiàn)AAA應(yīng)用的高可靠性,一般都需要有多個設(shè)備實現(xiàn)Diameter服務(wù)器的功能,如圖1所示。多個Diameter服務(wù)器間可采用主備工作模式,即當(dāng)主Diameter服務(wù)器不可用時,使用備份Diameter服務(wù)器完成相應(yīng)的功能;多個Diameter服務(wù)器也可以采用負(fù)荷分擔(dān)的方式進行協(xié)同工作,即多個Diameter服務(wù)器同時分擔(dān)部分工作。
無論上述哪種Diameter服務(wù)器的工作方式,所述的Diameter服務(wù)器均可能出現(xiàn)負(fù)荷過重或者是需要進行維護的情況。當(dāng)Diameter服務(wù)器因為負(fù)荷太重或者是維護的需要,Diameter服務(wù)器側(cè)希望Diameter客戶端暫時不要向自己發(fā)送請求,并等待當(dāng)Diameter服務(wù)器負(fù)荷減輕或者是維護完成后,且可以處理Diameter客戶端的請求時,通知Diameter客戶端恢復(fù)與自己的通信。然而,目前Diameter協(xié)議本身沒有定義相關(guān)命令的通知客戶端。
為此,目前采用的一種解決方案如圖2和圖3所示,具體處理過程如下首先,如圖2所示,Diameter服務(wù)器向Diameter客戶端發(fā)送DisconnectPeer Request(斷開對端連接請求),Diameter客戶端收到所述請求消息后,向服務(wù)器側(cè)回送Disconnect Peer Response(斷開對端連接響應(yīng)),然后,釋放建立的SCTP或者TCP連接;這樣,客戶端與服務(wù)器的連接斷開后,客戶端就不再會發(fā)送請求給該服務(wù)器。
之后,如圖3所示,當(dāng)Diameter服務(wù)器可以處理Diameter客戶端的請求時,則Diameter服務(wù)器需要重新與Diameter客戶端建立他們之間的SCTP或者TCP連接,然后,恢復(fù)Diameter服務(wù)器和Diameter客戶端的通信。
因此,不難看出,上述調(diào)整在Diameter服務(wù)器過載或需要進行維護時的負(fù)載調(diào)整的實現(xiàn)方式存在以下缺點首先,由于需要釋放或者重新建立下層的SCTP和TCP連接需要一定的時間,因此使得負(fù)載調(diào)整過程反應(yīng)速度較慢。
另外,當(dāng)Diameter服務(wù)器想要恢復(fù)與Diameter客戶端的通信時,如果Diameter服務(wù)器是SCTP和TCP連接的服務(wù)器端時,則由于只有SCTP和TCP連接的客戶端可以發(fā)起建立連接,因而使得相應(yīng)的連接無法重新建立。
發(fā)明內(nèi)容
鑒于上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明的目的是提供一種基于Diameter協(xié)議的負(fù)載控制方法,從而使得針對基于Diameter協(xié)議實現(xiàn)的服務(wù)器的負(fù)載可以靈活進行控制。
本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的本發(fā)明提供了一種基于Diameter協(xié)議的負(fù)載控制方法,包括A、當(dāng)Diameter服務(wù)器側(cè)確定需要降低負(fù)載時,則向相應(yīng)的Diameter客戶端發(fā)送過載通知請求消息;B、Diameter客戶端接收到所述的過載通知請求消息后,停止向Diameter服務(wù)器端發(fā)送消息。
所述的步驟A包括當(dāng)Diameter服務(wù)器負(fù)荷超過預(yù)定的門限值,或者,確定需要對其進行維護時,則向相應(yīng)的Diameter客戶端發(fā)送過載通知請求消息。
所述的步驟B還包括Diameter客戶端向Diameter服務(wù)器端返回過載通知響應(yīng)消息。
所述的過載通知響應(yīng)消息中包括
成功或者失敗信息,且如果請求消息錯誤,則給出請求消息的錯誤信息。
所述的過載通知請求消息中包括用于指示過載情況為過載的過載指示信息和用于指示引起過載的原因的過載原因值信息。
所述的基于Diameter協(xié)議的負(fù)載控制方法還包括C、當(dāng)Diameter服務(wù)器需要恢復(fù)負(fù)載處理時,向相應(yīng)的Diameter客戶端發(fā)送過載恢復(fù)通知請求消息;D、所述的Diameter客戶端收到所述的過載恢復(fù)通知請求消息后,重新繼續(xù)向Diameter服務(wù)器發(fā)送消息。
所述的步驟C包括當(dāng)Diameter服務(wù)器負(fù)荷低于預(yù)定的門限值,或者,確定對其的維護完成時,則向相應(yīng)的Diameter客戶端發(fā)送過載恢復(fù)通知請求消息。
所述的步驟D還包括Diameter客戶端向所述的Diameter服務(wù)器返回過載恢復(fù)通知響應(yīng)消息。
所述的過載恢復(fù)通知響應(yīng)消息中包括成功或者失敗信息,且如果請求消息錯誤,則給出請求消息的錯誤信息。
所述的過載恢復(fù)通知請求消息中承載的信息中包括用于指示過載情況為過載恢復(fù)的過載指示信息。
由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明的實現(xiàn)使得在調(diào)整Diameter服務(wù)負(fù)載的過程中無需釋放及重新建立下層的SCTP和TCP連接,從而使得相應(yīng)的控制管理更為快捷、靈活。
而且,本發(fā)明的實現(xiàn)使得無論下層連接是Diameter客戶端還是Diameter服務(wù)器端,都可以重新建立Diameter服務(wù)器和客戶端間的SCTP和TCP連接,從而恢復(fù)正常的通信過程。
圖1為Diameter服務(wù)器與客戶端間的連接結(jié)構(gòu)示意圖;圖2為Diameter服務(wù)器與客戶端間斷開連接的流程圖;圖3為Diameter服務(wù)器與客戶端間建立連接的流程圖;圖4為本發(fā)明中Diameter服務(wù)器降低負(fù)載的處理流程圖;圖5為本發(fā)明中Diameter服務(wù)器恢復(fù)負(fù)載的處理流程圖。
具體實施例方式
本發(fā)明的核心是在Diameter服務(wù)器和Diameter客戶端中止通信過程時,不斷開下層的SCTP和TCP連接,即保持相應(yīng)的連接;當(dāng)恢復(fù)通信時,仍可以使用未斷開的SCTP和TCP連接進行通信,而無需重新建立相應(yīng)的連接。
正是由于在斷開通信時,不斷開下層的SCTP和TCP連接,使得在通信恢復(fù)時無需重新建立下層的SCTP和TCP連接。因此,無論是連接的客戶端或者是服務(wù)端,都可以恢復(fù)Diameter服務(wù)器和客戶端間的通信。
下面將結(jié)合附圖對本發(fā)明所述的方法的具體實現(xiàn)方式進行描述。
本發(fā)明所述的方法如圖4和圖5所示,具體包括本發(fā)明中,當(dāng)調(diào)整降低Diameter服務(wù)器的負(fù)荷時,則如圖4所示,具體包括以下處理過程步驟41當(dāng)Diameter服務(wù)器因為負(fù)荷太重或者是需要對其進行維護等原因,希望Diameter客戶端不要再繼續(xù)向其發(fā)送消息時,Diameter服務(wù)器向Diameter客戶端發(fā)送一個過載通知請求;在標(biāo)準(zhǔn)的Diameter協(xié)議下擴展生成相應(yīng)的過載通知消息,所述的過載通知請求OverLoad Notify Request的消息可以采用的格式如下<ONR>∷=<Diameter HeaderXXX,REQ>Diameter協(xié)議頭,表示該消息為一個請求消息,其中,XXX表示由Diameter協(xié)議標(biāo)準(zhǔn)組織分配該命令碼的值;{Origin-Host}源主機信息;{Origin-Realm}源服務(wù)域信息;{OverLoad-Cause}過載原因;{OverLoad-Indication}過載指示;其中,過載原因值的設(shè)定可以根據(jù)網(wǎng)絡(luò)中需要的需要進行設(shè)置,例如,將因維護需要的過載通知請求消息中的原因值設(shè)置為1,將因服務(wù)器負(fù)荷過重產(chǎn)生的過載通知請求消息中的原因值設(shè)置為0,等等,具體可以為OverLoad-Cause AVP(過載原因?qū)傩灾?,用于通知過載原因,其可以采用的取值包括Performance 0表示設(shè)備性能的原因;Maintenance 1表示設(shè)備維護的原因;同樣,所述的過載指示信息的OverLoad-Indication AVP(過載指示屬性值),用于通知過載指示信息,其值包括Overload 0表示設(shè)備過載;Overload-Resume 1表示設(shè)備過載恢復(fù);在該步驟中,由于為設(shè)備過載,因此,OverLoad-Indication值應(yīng)填充為0,表示設(shè)備過載,要求客戶端停止發(fā)送消息;當(dāng)然,也可以采用其他格式的過載通知請求消息;步驟42Diameter客戶端收到該請求后,回送一個過載通知響應(yīng),并不再向該Diameter服務(wù)器發(fā)送請求;在標(biāo)準(zhǔn)的Diameter協(xié)議下擴展過載通知消息,其中,所述的過載通知響應(yīng)OverLoad Notify Response的消息格式如下<ONA>∷=<Diameter HeaderXXX>
{Result-Code}原因碼,表示執(zhí)行成功還是失??;{Origin-Host}源主機;{Origin-Realm}源服務(wù)域信息;[Error-Message]錯誤消息,如果請求有錯誤通過概消息描述錯誤;*[Failed-AVP];失敗屬性值,請求中如果有錯誤,就將錯誤信息在響應(yīng)中返回。
在上述步驟41和步驟42的處理過程中,Diameter客戶端與Diameter服務(wù)器端之間的連接并不釋放,而是保持,以備Diameter服務(wù)器端恢復(fù)正常后,可以直接恢復(fù)啟用所述的連接。
本發(fā)明中當(dāng)需要重新恢復(fù)Diameter服務(wù)器的負(fù)荷時,則如圖5所示,具體包括以下過程步驟51當(dāng)Diameter服務(wù)器負(fù)荷減輕后或者維護完成后,可以處理Diameter客戶端的請求,希望恢復(fù)與Diameter客戶端的通信時,Diameter服務(wù)器向Diameter客戶端發(fā)送一個過載通知請求,具體為一個過載恢復(fù)通知請求消息;采用的通知消息的格式如前所述的過載通知請求消息格式,此時,消息中的OverLoad-Indication值應(yīng)填充為1,表示設(shè)備過載恢復(fù),通知客戶端可以繼續(xù)發(fā)送消息步驟52Diameter客戶端收到該請求后,回送一個過載通知響應(yīng),并可以繼續(xù)向該Diameter服務(wù)器發(fā)起請求;所述的過載通知響應(yīng)消息的格式同步驟42中描述的響應(yīng)消息格式相同;在上述步驟51和步驟52的處理過程中,既可以由Diameter服務(wù)器端恢復(fù)與Diameter客戶端的連接,也可以由Diameter客戶端恢復(fù)與Diameter服務(wù)器端的連接。
綜上所述,本發(fā)明的實現(xiàn)使得無需釋放或者重新建立下層的SCTP和TCP連接,從而使得負(fù)載調(diào)整過程更為快捷、靈活;而且,無論下層連接是客戶端還是服務(wù)端,都可以恢復(fù)Diameter服務(wù)器和客戶端間的正常通信。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準(zhǔn)。
權(quán)利要求
1.一種基于Diameter協(xié)議的負(fù)載控制方法,其特征在于,包括A、當(dāng)Diameter服務(wù)器側(cè)確定需要降低負(fù)載時,則向相應(yīng)的Diameter客戶端發(fā)送過載通知請求消息;B、Diameter客戶端接收到所述的過載通知請求消息后,停止向Diameter服務(wù)器端發(fā)送消息。
2.根據(jù)權(quán)利要求1所述的基于Diameter協(xié)議的負(fù)載控制方法,其特征在于,所述的步驟A包括當(dāng)Diameter服務(wù)器負(fù)荷超過預(yù)定的門限值,或者,確定需要對其進行維護時,則向相應(yīng)的Diameter客戶端發(fā)送過載通知請求消息。
3.根據(jù)權(quán)利要求1所述的基于Diameter協(xié)議的負(fù)載控制方法,其特征在于,所述的步驟B還包括Diameter客戶端向Diameter服務(wù)器端返回過載通知響應(yīng)消息。
4.根據(jù)權(quán)利要求3所述的基于Diameter協(xié)議的負(fù)載控制方法,其特征在于,所述的過載通知響應(yīng)消息中包括成功或者失敗信息,且如果請求消息錯誤,則給出請求消息的錯誤信息。
5.根據(jù)權(quán)利要求1所述的基于Diameter協(xié)議的負(fù)載控制方法,其特征在于,所述的過載通知請求消息中包括用于指示過載情況為過載的過載指示信息和用于指示引起過載的原因的過載原因值信息。
6.根據(jù)權(quán)利要求1至5任一項所述的基于Diameter協(xié)議的負(fù)載控制方法,其特征在于,該方法還包括C、當(dāng)Diameter服務(wù)器需要恢復(fù)負(fù)載處理時,向相應(yīng)的Diameter客戶端發(fā)送過載恢復(fù)通知請求消息;D、所述的Diameter客戶端收到所述的過載恢復(fù)通知請求消息后,重新繼續(xù)向Diameter服務(wù)器發(fā)送消息。
7.根據(jù)權(quán)利要求6所述的基于Diameter協(xié)議的負(fù)載控制方法,其特征在于,所述的步驟C包括當(dāng)Diameter服務(wù)器負(fù)荷低于預(yù)定的門限值,或者,確定對其的維護完成時,則向相應(yīng)的Diameter客戶端發(fā)送過載恢復(fù)通知請求消息。
8.根據(jù)權(quán)利要求6所述的基于Diameter協(xié)議的負(fù)載控制方法,其特征在于,所述的步驟D還包括Diameter客戶端向所述的Diameter服務(wù)器返回過載恢復(fù)通知響應(yīng)消息。
9.根據(jù)權(quán)利要求8所述的基于Diameter協(xié)議的負(fù)載控制方法,其特征在于,所述的過載恢復(fù)通知響應(yīng)消息中包括成功或者失敗信息,且如果請求消息錯誤,則給出請求消息的錯誤信息。
10.根據(jù)權(quán)利要求6所述的基于Diameter協(xié)議的負(fù)載控制方法,其特征在于,所述的過載恢復(fù)通知請求消息中承載的信息中包括用于指示過載情況為過載恢復(fù)的過載指示信息。
全文摘要
本發(fā)明涉及一種基于Diameter協(xié)議的負(fù)載控制方法。本發(fā)明主要包括當(dāng)Diameter服務(wù)器側(cè)確定需要降低負(fù)載時,則向相應(yīng)的Diameter客戶端發(fā)送過載通知請求消息,在Diameter客戶端接收到所述的過載通知請求消息后,停止向Diameter服務(wù)器端發(fā)送消息,且整個過程保持Diameter客戶端與Diameter服務(wù)器之間的連接不釋放。因此,本發(fā)明的實現(xiàn)使得在調(diào)整Diameter服務(wù)負(fù)載的過程中無需釋放及重新建立下層的SCTP和TCP連接,從而使得相應(yīng)的控制管理更為快捷、靈活。而且,本發(fā)明的實現(xiàn)使得無論下層連接是SCTP和TCP連接的客戶端還是SCTP和TCP連接的服務(wù)器端,都可以重新建立Diameter服務(wù)器和客戶端間的SCTP和TCP連接,從而恢復(fù)正常的通信過程。
文檔編號H04L29/06GK1889563SQ20051008016
公開日2007年1月3日 申請日期2005年6月30日 優(yōu)先權(quán)日2005年6月30日
發(fā)明者張濤 申請人:華為技術(shù)有限公司