專利名稱:提高遠(yuǎn)程用戶撥號認(rèn)證協(xié)議數(shù)據(jù)處理能力的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信系統(tǒng)中使用遠(yuǎn)程用戶撥號認(rèn)證協(xié)議(RADIUS協(xié)議)進(jìn)行數(shù)據(jù)處理方法。
為達(dá)到上述目的,本發(fā)明提供的提高遠(yuǎn)程用戶撥號認(rèn)證協(xié)議數(shù)據(jù)處理能力的方法,包括a.根據(jù)客戶端向遠(yuǎn)程用戶撥號認(rèn)證協(xié)議(RADIUS)服務(wù)器發(fā)送的請求包的種類為客戶端建立相應(yīng)的發(fā)送請求包事件隊(duì)列;b.將客戶端發(fā)送的請求包寫入響應(yīng)的事件隊(duì)列;
c.逐個(gè)從相應(yīng)的事件隊(duì)列中依次讀出隊(duì)列中事件,發(fā)送讀出的事件對應(yīng)的請求包,直到各個(gè)隊(duì)列中的事件讀取完畢或客戶端請求包標(biāo)識(ID)資源用完。
步驟a還包括根據(jù)不同請求包的緊急程度設(shè)置各個(gè)事件隊(duì)列的最大長度。
步驟a還包括設(shè)置事件隊(duì)列的處理優(yōu)先級,以便步驟c按照優(yōu)先級處理不同事件隊(duì)列中的請求包。
由于本發(fā)明為客戶端建立相應(yīng)的發(fā)送請求包事件隊(duì)列,在客戶端發(fā)送的請求包時(shí)首先將其寫入相應(yīng)的事件隊(duì)列,同時(shí)逐個(gè)從相應(yīng)的事件隊(duì)列中依次讀出隊(duì)列中事件,發(fā)送讀出的事件對應(yīng)的請求包,直到各個(gè)隊(duì)列中的事件處理完畢或客戶端請求包ID資源用完;上述方案保證了RADIUS客戶端突發(fā)大量用戶同時(shí)要求驗(yàn)證或計(jì)費(fèi)時(shí)的請求包不丟失,并對用戶的請求包進(jìn)行正常處理,從而彌補(bǔ)了使用RADIUS協(xié)議進(jìn)行大用戶量集中管理時(shí)無法登錄網(wǎng)絡(luò)等服務(wù)缺陷,使得網(wǎng)絡(luò)設(shè)備使用RADIUS協(xié)議能夠?qū)Υ罅坑脩艏羞M(jìn)行管理。
下面結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)的描述。
圖1是本發(fā)明方法的實(shí)施例流程圖。按照圖1,首先在步驟1要根據(jù)客戶端向遠(yuǎn)程用戶撥號認(rèn)證協(xié)議(RADIUS)服務(wù)器發(fā)送的請求包的種類為RADIUS客戶端建立相應(yīng)的發(fā)送請求包事件隊(duì)列,所述事件隊(duì)列采用雙向鏈表實(shí)現(xiàn),參考圖2,即每一節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)中分別有兩個(gè)成員指向他的前一節(jié)點(diǎn)和后一節(jié)點(diǎn),這樣只要記錄隊(duì)列頭、隊(duì)列尾即可方便的進(jìn)行操作。該隊(duì)列采用先進(jìn)先出的方式,在隊(duì)列中讀取包括請求包的事件時(shí)從隊(duì)列頭開始,將包括請求包的事件寫入隊(duì)列時(shí)從隊(duì)列尾部進(jìn)行,圖中的事件內(nèi)容部分即可用于存儲用戶通過客戶端發(fā)送的請求包。上述事件隊(duì)列也可以采用單向鏈表或其它數(shù)據(jù)結(jié)構(gòu)。
按照RADIUS協(xié)議,用戶通過客戶端需要發(fā)送到RADIUS服務(wù)器的RADIUS請求包有以下4種驗(yàn)證、授權(quán)請求包,計(jì)費(fèi)開始請求包,實(shí)時(shí)計(jì)費(fèi)請求包和計(jì)費(fèi)結(jié)束請求包,因此步驟a為客戶端建立的發(fā)送請求包事件隊(duì)列包括計(jì)費(fèi)結(jié)束請求包事件隊(duì)列、計(jì)費(fèi)開始請求包事件隊(duì)列、驗(yàn)證授權(quán)請求包事件隊(duì)列和實(shí)時(shí)計(jì)費(fèi)請求包事件隊(duì)列。
在步驟1還要根據(jù)不同請求包的緊急程度設(shè)置各個(gè)事件隊(duì)列的最大長度。各個(gè)事件隊(duì)列的最大長度就是支持的最大RADIUS請求數(shù),可以根據(jù)不同事件的緊急程度,對每個(gè)隊(duì)列設(shè)置不同的最大長度,在寫入事件隊(duì)列時(shí)超過此最大長度將丟棄。比如用戶驗(yàn)證、授權(quán)請求因?yàn)橥ǔG闆r突發(fā)用戶量不會非常大,而且即使丟棄造成的損失也比較小,最重要的是不可能讓用戶無限期的等下去,因此應(yīng)該設(shè)置比較小的閾值,比如2000;用戶計(jì)費(fèi)結(jié)束比較重要,而且可能由于一段網(wǎng)絡(luò)的故障造成大量用戶同時(shí)下線,因此其丟棄閾值應(yīng)該設(shè)置較大,甚至不限長度。當(dāng)然此長度可以根據(jù)不同的應(yīng)用靈活設(shè)置。
由于RADIUS請求包的ID資源是有限的,因此需要為各種RADIUS請求包發(fā)送設(shè)置發(fā)送優(yōu)先級,以決定發(fā)送的順序,先發(fā)送優(yōu)先級高的請求包。本例中的優(yōu)先級設(shè)置參考下述標(biāo)準(zhǔn)。由于實(shí)時(shí)計(jì)費(fèi)只是保證計(jì)費(fèi)更可靠,即使不發(fā)對基本計(jì)費(fèi)功能影響也不大,所以優(yōu)先級最低;設(shè)置用戶下線比登錄優(yōu)先級高,首先因?yàn)橛?jì)費(fèi)結(jié)束本身就是最重要的,一些設(shè)備要求必須成功,否則會丟失話單。其次因?yàn)樵诰€用戶數(shù)是有限的,因此用戶下線個(gè)數(shù)也是有限的,總有發(fā)完的時(shí)候,而用戶上線可能由于一些突發(fā)情況、黑客攻擊、網(wǎng)絡(luò)異常等原因長時(shí)間有大量用戶要求登錄,如果其優(yōu)先級高,有可能由于不斷進(jìn)行用戶上線處理,而使比他優(yōu)先級低的事件一直得不到處理。計(jì)費(fèi)開始比驗(yàn)證優(yōu)先級高。計(jì)費(fèi)開始是對驗(yàn)證通過的用戶,如果輪不到處理驗(yàn)證事件,由于這種用戶個(gè)數(shù)是有限的,可以處理完。反之可能一直進(jìn)行驗(yàn)證,而輪不到處理計(jì)費(fèi)開始。
根據(jù)以上分析,本例中設(shè)置的事件隊(duì)列優(yōu)先級順序?yàn)橛?jì)費(fèi)結(jié)束請求包事件隊(duì)列、計(jì)費(fèi)開始請求包事件隊(duì)列、驗(yàn)證授權(quán)請求包事件隊(duì)列和實(shí)時(shí)計(jì)費(fèi)請求包事件隊(duì)列。
基于步驟1,在步驟2將客戶端發(fā)送的請求包寫入相應(yīng)的事件隊(duì)列,在步驟3逐個(gè)從相應(yīng)的事件隊(duì)列中依次讀出隊(duì)列中事件,發(fā)送讀出的事件對應(yīng)的請求包,直到各個(gè)隊(duì)列中的事件處理完畢或客戶端請求包標(biāo)識(ID)資源用完。
上述步驟2、3的執(zhí)行過程參考圖3。所有RADIUS請求包發(fā)送事件寫入事件隊(duì)列尾。在另一個(gè)處理過程中由各個(gè)事件隊(duì)列的隊(duì)列頭開始依次讀出事件,發(fā)送RADIUS請求包,當(dāng)一個(gè)隊(duì)列全部處理完,再繼續(xù)處理下一個(gè)隊(duì)列,直到4個(gè)隊(duì)列均處理完,或RADIUS請求包的ID資源用光為止;當(dāng)隊(duì)列中又有事件并且有空閑的包ID時(shí)再次依次對4個(gè)隊(duì)列進(jìn)行處理。
權(quán)利要求
1.一種提高遠(yuǎn)程用戶撥號認(rèn)證協(xié)議數(shù)據(jù)處理能力的方法,包括a.根據(jù)客戶端向遠(yuǎn)程用戶撥號認(rèn)證協(xié)議(RADIUS)服務(wù)器發(fā)送的請求包的種類為客戶端建立相應(yīng)的發(fā)送請求包事件隊(duì)列;b.將客戶端發(fā)送的請求包寫入相應(yīng)的事件隊(duì)列;c.逐個(gè)從相應(yīng)的事件隊(duì)列中依次讀出隊(duì)列中事件,發(fā)送讀出的事件對應(yīng)的請求包,直到各個(gè)隊(duì)列中的事件處理完畢或客戶端請求包標(biāo)識(ID)資源用完。
2.根據(jù)權(quán)利要求1所述的提高遠(yuǎn)程用戶撥號認(rèn)證協(xié)議數(shù)據(jù)處理能力的方法,其特征在于步驟a所述客戶端發(fā)出的請求包為驗(yàn)證、授權(quán)請求包、計(jì)費(fèi)開始請求包、實(shí)時(shí)計(jì)費(fèi)請求包和計(jì)費(fèi)結(jié)束請求包。
3.根據(jù)權(quán)利要求2所述的提高遠(yuǎn)程用戶撥號認(rèn)證協(xié)議數(shù)據(jù)處理能力的方法,其特征在于步驟a為客戶端建立的發(fā)送請求包事件隊(duì)列有以下類型計(jì)費(fèi)結(jié)束請求包事件隊(duì)列、計(jì)費(fèi)開始請求包事件隊(duì)列、驗(yàn)證授權(quán)請求包事件隊(duì)列和實(shí)時(shí)計(jì)費(fèi)請求包事件隊(duì)列。
4.根據(jù)權(quán)利要求3所述的提高遠(yuǎn)程用戶撥號認(rèn)證協(xié)議數(shù)據(jù)處理能力的方法,其特征在于步驟a還包括根據(jù)不同請求包的緊急程度設(shè)置各個(gè)事件隊(duì)列的最大長度。
5.根據(jù)權(quán)利要求4所述的提高遠(yuǎn)程用戶撥號認(rèn)證協(xié)議數(shù)據(jù)處理能力的方法,其特征在于步驟a還包括設(shè)置事件隊(duì)列的處理優(yōu)先級,以便步驟c按照優(yōu)先級處理不同事件隊(duì)列中的請求包。
6.根據(jù)權(quán)利要求5所述的提高遠(yuǎn)程用戶撥號認(rèn)證協(xié)議數(shù)據(jù)處理能力的方法,其特征在于所述設(shè)置的事件隊(duì)列優(yōu)先級順序?yàn)橛?jì)費(fèi)結(jié)束請求包事件隊(duì)列、計(jì)費(fèi)開始請求包事件隊(duì)列、驗(yàn)證授權(quán)請求包事件隊(duì)列、實(shí)時(shí)計(jì)費(fèi)請求包事件隊(duì)列。
7.根據(jù)權(quán)利要求1、2、3、4、5或6所述的提高遠(yuǎn)程用戶撥號認(rèn)證協(xié)議數(shù)據(jù)處理能力的方法,其特征在于步驟a為客戶端建立的發(fā)送請求包事件隊(duì)列為建立雙向鏈表的隊(duì)列。
全文摘要
本發(fā)明公開了一種提高遠(yuǎn)程用戶撥號認(rèn)證協(xié)議數(shù)據(jù)處理能力的方法,該方法根據(jù)客戶端向遠(yuǎn)程用戶撥號認(rèn)證協(xié)議(RADIUS)服務(wù)器發(fā)送的請求包的種類為客戶端建立相應(yīng)的發(fā)送請求包事件隊(duì)列,將客戶端發(fā)送的請求包寫入相應(yīng)的事件隊(duì)列,同時(shí)逐個(gè)從相應(yīng)的事件隊(duì)列中依次讀出隊(duì)列中事件,發(fā)送讀出的事件對應(yīng)的請求包,直到各個(gè)隊(duì)列中的事件處理完畢或客戶端請求包標(biāo)識(ID)資源用完;采用上述方案能夠保證RADIUS客戶端突發(fā)大量用戶同時(shí)要求驗(yàn)證或計(jì)費(fèi)時(shí)的請求包不丟失,并對用戶的請求包進(jìn)行正常處理,便于使用RADIUS協(xié)議的網(wǎng)絡(luò)設(shè)備能夠?qū)Υ罅坑脩艏羞M(jìn)行管理,提高服務(wù)質(zhì)量和網(wǎng)絡(luò)數(shù)據(jù)的處理效率。
文檔編號H04L12/28GK1464714SQ0212350
公開日2003年12月31日 申請日期2002年6月28日 優(yōu)先權(quán)日2002年6月28日
發(fā)明者樊遲 申請人:華為技術(shù)有限公司