一種流量控制方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種流量控制方法和裝置。
【背景技術(shù)】
[0002]遠(yuǎn)程認(rèn)證撥號(hào)用戶服務(wù)(RemoteAuthenticat1n Dial-1n User Service,RADIUS)是一種分布式的、客戶端/服務(wù)器結(jié)構(gòu)的信息交互協(xié)議。在基于RADIUS協(xié)議的網(wǎng)絡(luò)中,當(dāng)用戶想要訪問網(wǎng)絡(luò)資源時(shí),首先需要通過認(rèn)證、授權(quán)、計(jì)費(fèi)(Authenticat1n、Authorizat1n、Accounting,AAA)認(rèn)證。
[0003]具體地,由網(wǎng)絡(luò)附屬存儲(chǔ)(Network Attached Storage,NAS)設(shè)備將用戶的認(rèn)證、授權(quán)、計(jì)費(fèi)信息透傳給AAA服務(wù)器,AAA服務(wù)器根據(jù)自身的配置對(duì)用戶的身份進(jìn)行判斷并返回相應(yīng)的認(rèn)證、授權(quán)、計(jì)費(fèi)結(jié)果,NAS設(shè)備根據(jù)AAA服務(wù)器返回的結(jié)果,決定是否允許用戶訪問外部網(wǎng)絡(luò)以便獲取網(wǎng)絡(luò)資源。
[0004]目前,通過NAS設(shè)備與AAA服務(wù)器的交互來控制用戶的網(wǎng)絡(luò)訪問權(quán)限在一些應(yīng)用場(chǎng)景中存在問題,比如,當(dāng)根據(jù)流量限速對(duì)用戶流量進(jìn)行控制時(shí),NAS設(shè)備和服務(wù)器之間是周期性進(jìn)行交互的,即NAS設(shè)備周期性讀取用戶的剩余流量,只要用戶存在剩余流量,則在下一周期到來之前,用戶都可以訪問網(wǎng)絡(luò),因此,這將導(dǎo)致在流量即將用完之際會(huì)出現(xiàn)計(jì)費(fèi)誤差,最大計(jì)費(fèi)誤差是一個(gè)計(jì)費(fèi)周期的流量消耗。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明提出了一種流量控制方法和裝置,能夠減小甚至避免計(jì)費(fèi)誤差。
[0006]本發(fā)明提出的技術(shù)方案是:
[0007]一種流量控制方法,應(yīng)用于NAS設(shè)備,該方法包括:
[0008]在接收到流量計(jì)費(fèi)更新報(bào)文時(shí),判斷用戶的剩余流量是否小于一個(gè)計(jì)費(fèi)周期的最大流量,如果是,為所述用戶創(chuàng)建令牌桶,計(jì)算所述用戶的剩余流量對(duì)應(yīng)的令牌總數(shù),向所述令牌桶中投入所述總數(shù)的令牌,否則不為所述用戶創(chuàng)建令牌桶;
[0009]接收用戶流量,匹配用戶流表,如果匹配成功、且已經(jīng)為所述用戶創(chuàng)建了令牌桶,則所述用戶流量流經(jīng)所述令牌桶,所述令牌桶根據(jù)流經(jīng)令牌桶的用戶流量的大小從令牌總數(shù)中減去相應(yīng)的令牌數(shù),根據(jù)剩余令牌數(shù)確定用戶剩余流量,其中,剩余令牌數(shù)為O時(shí)用戶剩余流量也為O ;
[0010]在用戶剩余流量為O時(shí),采用剩余流量為O的流量控制策略進(jìn)行流量控制。
[0011 ] 一種流量控制裝置,該裝置位于NAS設(shè)備中,包括接入模塊和AAA模塊;
[0012]所述接入模塊,用于在接收到流量計(jì)費(fèi)更新報(bào)文時(shí),判斷用戶的剩余流量是否小于一個(gè)計(jì)費(fèi)周期的最大流量,如果是,為所述用戶創(chuàng)建令牌桶,計(jì)算所述用戶的剩余流量對(duì)應(yīng)的令牌總數(shù),向所述令牌桶中投入所述總數(shù)的令牌,否則不為所述用戶創(chuàng)建令牌桶;
[0013]所述接入模塊,還用于接收用戶流量,匹配用戶流表,如果匹配成功、且已經(jīng)為所述用戶創(chuàng)建了令牌桶,則所述用戶流量流經(jīng)所述令牌桶,所述令牌桶根據(jù)流經(jīng)令牌桶的用戶流量的大小從令牌總數(shù)中減去相應(yīng)的令牌數(shù),根據(jù)剩余令牌數(shù)確定用戶剩余流量,其中,剩余令牌數(shù)為O時(shí)用戶剩余流量也為O ;
[0014]所述AAA模塊,用于在用戶剩余流量為O時(shí),采用剩余流量為O的流量控制策略進(jìn)行流量控制。
[0015]由上述技術(shù)方案可見,本發(fā)明實(shí)施例中,在接收到流量計(jì)費(fèi)更新報(bào)文時(shí),判斷用戶的剩余流量是否小于一個(gè)計(jì)費(fèi)周期的最大流量,如果是,為所述用戶創(chuàng)建令牌桶,并將用戶的剩余流量轉(zhuǎn)換成相應(yīng)個(gè)數(shù)的令牌投入到所述令牌桶中,后續(xù)再收到所述用戶的流量時(shí),所述流量流經(jīng)所述令牌桶,所述令牌桶根據(jù)流經(jīng)所述令牌桶的所述用戶流量的大小從令牌總數(shù)中減去相應(yīng)的令牌數(shù),接入模塊通過所述令牌桶來控制用戶流量的轉(zhuǎn)發(fā),具體地,接入模塊通過所述令牌桶剩余的令牌數(shù)可以確定用戶的剩余流量,在剩余令牌數(shù)大于O時(shí),用戶的剩余流量大于0,轉(zhuǎn)發(fā)所述用戶流量,在用戶的令牌桶中剩余令牌的個(gè)數(shù)為O時(shí),用戶的剩余流量也等于0,采用剩余流量為O的流量控制策略進(jìn)行流量控制。
[0016]可見,本發(fā)明實(shí)施例在用戶剩余流量小于一個(gè)計(jì)費(fèi)周期最大流量時(shí),通過創(chuàng)建令牌桶,利用令牌桶來控制用戶的剩余流量,可以避免在下一計(jì)費(fèi)周期到達(dá)時(shí)用戶使用的流量超出允許流量的問題,消除了計(jì)費(fèi)誤差。
[0017]而且,關(guān)于令牌桶的創(chuàng)建時(shí)機(jī),本發(fā)明實(shí)施例提出,在接收到流量計(jì)費(fèi)更新報(bào)文時(shí),判斷用戶的剩余流量是否小于一個(gè)計(jì)費(fèi)周期的最大流量,根據(jù)判斷結(jié)果確定是否創(chuàng)建令牌桶,因此,在一個(gè)計(jì)費(fèi)周期內(nèi)只需要檢測(cè)判斷一次用戶的剩余流量是否小于所述最大流量,不必實(shí)時(shí)檢測(cè)用戶的剩余流量,因此還能夠減小設(shè)備的性能壓力,從而承載大量用戶上線的計(jì)費(fèi)工作。
【附圖說明】
[0018]圖1是用戶撥號(hào)上線流程的流程示意圖。
[0019]圖2是本發(fā)明實(shí)施例提供的流量控制方法的流程圖。
[0020]圖3是本發(fā)明實(shí)施例提供的流量控制方法的流量路徑示意圖。
[0021]圖4是本發(fā)明實(shí)施例提供的NAS設(shè)備的硬件結(jié)構(gòu)連接圖。
[0022]圖5是本發(fā)明實(shí)施例提供的流量控制裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0023]為了減小甚至避免所述計(jì)費(fèi)誤差,一種方案是縮短AAA服務(wù)器和NAS設(shè)備之間的交互周期,比如將周期值設(shè)置成ls,但是這將增大AAA服務(wù)器和NAS設(shè)備的CPU壓力,實(shí)際應(yīng)用中無法承載大量用戶上線的計(jì)費(fèi)工作。
[0024]基于上述分析,本發(fā)明實(shí)施例提供了一種流量控制方法和裝置,能夠解決按流量計(jì)費(fèi)的用戶在下發(fā)限速的情況下NAS設(shè)備和AAA服務(wù)器之間因?yàn)橹芷谛越换ザ鴮?dǎo)致的計(jì)費(fèi)誤差問題,而且,不會(huì)對(duì)設(shè)備造成過大的性能壓力,能夠承載大量用戶上線的計(jì)費(fèi)工作。
[0025]為了后續(xù)描述的直觀性,下面先介紹2個(gè)相關(guān)的概念,即用戶總流量和一個(gè)計(jì)費(fèi)周期的最大流量:
[0026](I)、用戶總流量Remanent-Volume =帳戶余額/計(jì)費(fèi)速率,其中,帳戶余額和計(jì)費(fèi)速率都是在AAA服務(wù)器上配置的,因此AAA服務(wù)器能夠根據(jù)用戶總流量的公式算出用戶總流量,然后授權(quán)給NAS設(shè)備。
[0027](2)、一個(gè)計(jì)費(fèi)周期的最大流量User.Cycle-Volume =限速速率*計(jì)費(fèi)更新周期,其中,對(duì)于NAS設(shè)備來說,不管是通過本地配置還是通過AAA服務(wù)器授權(quán),限速速率都是已知的,計(jì)費(fèi)更新周期是NAS設(shè)備自己配置的,因此,一個(gè)計(jì)費(fèi)周期的最大流量也是NAS設(shè)備已知的。
[0028]通過NAS設(shè)備與AAA服務(wù)器的交互來控制用戶的網(wǎng)絡(luò)訪問權(quán)限時(shí),先要執(zhí)行用戶撥號(hào)上線流程,在撥號(hào)成功以后,再執(zhí)行數(shù)據(jù)轉(zhuǎn)發(fā)流程。其中,NAS設(shè)備一般劃分為兩個(gè)模塊進(jìn)行功能實(shí)現(xiàn),一個(gè)是接入模塊,用于用戶信息的控制和管理,另一個(gè)是AAA模塊,用于收集接入模塊提供的信息,根據(jù)收集的信息與AAA服務(wù)器進(jìn)行通信。
[0029]圖1是用戶撥號(hào)上線流程的流程示意圖。
[0030]如圖1所示,該流程包括:
[0031]步驟101,用戶通過撥號(hào)將用戶信息給NAS設(shè)備。
[0032]步驟102,接入模塊接收到用