專利名稱:基于時戳更新令牌桶的流量監(jiān)管的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,具體涉及流量監(jiān)管技術(shù),尤其涉及一種基于時戳更新令牌桶的流量監(jiān)管的方法及系統(tǒng)。
背景技術(shù):
隨著網(wǎng)絡(luò)的快速發(fā)展,各種應(yīng)用越來越多,服務(wù)質(zhì)量也越來越受到重視。從高速鏈路向低速鏈路傳輸數(shù)據(jù)時,帶寬會在低速鏈路接口處出現(xiàn)擁塞,導(dǎo)致數(shù)據(jù)丟失嚴(yán)重,如果不做任何限制,會影響到低延時要求的數(shù)據(jù)如語音等。流量監(jiān)管是一種在入接口或出接口對進入交換機和路由器的某流量進行限制的流量管理技術(shù),其典型作用是限制進入或流出某一網(wǎng)絡(luò)的某一流的流量與突發(fā)。在報文滿足一定的條件時,如某個流的報文流量過大,流量監(jiān)管就可以對該報文采取不同的處理動作,例如丟棄報文,或重新設(shè)置報文的優(yōu)先級等,以保護網(wǎng)絡(luò)資源和運營商的利益。流量監(jiān)管采用承諾訪問速率和最大峰值訪問速率方法來對流量進行控制,具體處理流程采用令牌桶來實現(xiàn)。用戶按設(shè)定的速率向令牌桶中放置令牌,當(dāng)報文到來時,如果令牌桶中有足夠的令牌可以用來發(fā)送報文,則報文直接通過,同時令牌桶中的令牌按報文長度做相應(yīng)的減少;如果令牌桶中的令牌數(shù)量不足,則對報文做丟棄或重新標(biāo)記后再發(fā)送,令牌桶中的令牌數(shù)量不做變化。可以看出,令牌桶的操作有兩種,一種是用戶按設(shè)定的速率向令牌桶中放置令牌進行更新,另一種是流量監(jiān)管測量當(dāng)報文到來時對令牌做相應(yīng)的減法或不做操作。目前對令牌桶的更新一般是用戶按設(shè)定的速率周期性向令牌桶中放置令牌來實現(xiàn)。比如對某個流的流量限制是10Mbps,則可以按周期性每秒向這個流放置10兆比特令牌來達到目的,這樣令牌更新的粒度就是10兆比特;或者按周期性每0. 1秒向這個流放置1 兆比特令牌來達到目的,這樣令牌更新的粒度就是1兆比特。周期性對令牌桶進行更新隨著流的條目越來越大,受到的限制也越來越大。比如,流的條目達到16K時,假設(shè)時鐘頻率是400兆赫茲,時鐘周期就是2. 5納秒,不考慮對報文的處理,對所有流更新一次的時間為 16K*2. 5納秒=40Κ納秒,假設(shè)令牌桶用單口 SRAM來存儲,一次更新需要一次讀操作和一次寫操作,那么更新周期將達到80k納秒,如果這條流的速率是1000Mbps,更新粒度最小也變?yōu)?0k比特。如果考慮到報文還需要對令牌桶進行操作,更新粒度將變的更大,假設(shè)令牌桶的更新占用令牌桶10%的帶寬,那么每次的更新粒度就變?yōu)?00k比特。再考慮到流的條目可能變?yōu)?4K大小,更新粒度將變得更大,這是不可接受的。所以目前的技術(shù)在流的條目變大時,更新粒度也變的很大,甚至到一個不可接受的地步,而這將耗費巨大的存儲帶寬,嚴(yán)重影響流量監(jiān)管測量的帶寬。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于時戳更新令牌桶的流量監(jiān)管的方法,其可極大降低周期性令牌桶更新占用的存儲帶寬,從而提升流量監(jiān)管的性能。
本發(fā)明的目的還在于提供一種應(yīng)用上述方法的系統(tǒng)。為實現(xiàn)上述發(fā)明目的之一,本發(fā)明的提供一種基于時戳更新令牌桶的流量監(jiān)管的方法,在令牌桶增加一用于記錄上次令牌更新時間的時戳變量,該方法包括如下步驟
51、接收報文,獲取所述報文的長度;
52、獲取與當(dāng)前報文相對應(yīng)的令牌桶;
53、根據(jù)所述時戳變量來更新所述令牌桶中的令牌數(shù),并將所述時戳變量的值更新為當(dāng)前時間,其中,應(yīng)增令牌數(shù)=(當(dāng)前時間一當(dāng)前時戳變量的值)*更新速率,所述令牌桶的令牌數(shù)不超過令牌桶的容量;
54、比較所述報文的長度與當(dāng)前令牌桶中的令牌數(shù),來決定對當(dāng)前報文做相應(yīng)的處
理;
55、保持對令牌桶按照一定周期進行更新,但降低周期性令牌桶更新周期。作為本發(fā)明的進一步改進,所述步驟S3還包括
判斷當(dāng)前令牌桶是否為滿,若是,則不更新;若否,則向所述令牌桶加入所述應(yīng)增令牌數(shù),最大加到令牌桶滿容量,對溢出的令牌做丟棄處理。作為本發(fā)明的進一步改進,所述步驟S4具體為
判斷所述報文的長度是否小于當(dāng)前令牌桶中的令牌數(shù),若是,則通過該報文,并在令牌桶中減少相應(yīng)的令牌數(shù);若否,則丟棄所述報文或者重新標(biāo)記后發(fā)送,令牌數(shù)不作更新。作為本發(fā)明的進一步改進,所述令牌桶可包括多個令牌數(shù)以應(yīng)對多個應(yīng)用,所述多個令牌數(shù)對應(yīng)不同的令牌更新速率。作為本發(fā)明的進一步改進,所述步驟S5具體為周期性地根據(jù)時戳來決定往令牌桶里增加多少令牌,增加的令牌數(shù)為((當(dāng)前時間-令牌桶里的時戳變量的值)*更新速率)。為實現(xiàn)上述另一發(fā)明目的,本發(fā)明提供了一種基于時戳更新令牌桶的流量監(jiān)管的系統(tǒng),其包括如下單元
報文接收單元、用于接收報文,獲取所述報文的長度; 令牌桶匹配單元、用于獲取與當(dāng)前報文相對應(yīng)的令牌桶;
令牌桶更新單元、用于根據(jù)所述時戳變量來更新所述令牌桶中的令牌數(shù),并將所述時戳變量的值更新為當(dāng)前時間,其中,應(yīng)增令牌數(shù)=(當(dāng)前時間一當(dāng)前時戳變量的值)*更新速率,所述令牌桶的令牌數(shù)不超過令牌桶的容量;
報文處理單元、用于比較所述報文的長度與當(dāng)前令牌桶中的令牌數(shù),來決定對當(dāng)前報文做相應(yīng)的處理;
周期性更新單元、用于保持對令牌桶按照一定周期進行更新,但降低周期性令牌桶更新周期。作為本發(fā)明的進一步改進,所述令牌桶更新單元還用于
判斷當(dāng)前令牌桶是否為滿,若是,則不更新;若否,則向所述令牌桶加入所述應(yīng)增令牌數(shù),最大加到令牌桶滿容量,對溢出的令牌做丟棄處理。作為本發(fā)明的進一步改進,所述報文處理單元具體用于
判斷所述報文的長度是否小于當(dāng)前令牌桶中的令牌數(shù),若是,則通過該報文,并在令牌桶中減少相應(yīng)的令牌數(shù);若否,則丟棄所述報文或者重新標(biāo)記后發(fā)送,令牌數(shù)不作更新。
作為本發(fā)明的進一步改進,所述令牌桶可包括多個令牌數(shù)以應(yīng)對多個應(yīng)用,所述多個令牌數(shù)對應(yīng)不同的令牌更新速率。作為本發(fā)明的進一步改進,所述周期性更新單元具體用于周期性地根據(jù)時戳來決定往令牌桶里增加多少令牌,增加的令牌數(shù)為((當(dāng)前時間-令牌桶里的時戳變量的值) *更新速率)。與現(xiàn)有技術(shù)相比,本發(fā)明通過時戳機制在流量監(jiān)管測量時進行流量監(jiān)管令牌桶的更新,極大降低周期性令牌桶更新占用的存儲帶寬,且更新粒度更為精確,進而使得流量監(jiān)管的性能更好。
圖1是現(xiàn)有技術(shù)的流量監(jiān)管中令牌桶更新的原理圖2是本發(fā)明一實施方式中基于時戳更新令牌桶的流量監(jiān)管的方法的流程圖; 圖3是本發(fā)明一實施方式中基于時戳的令牌桶更新的原理圖; 圖4是本發(fā)明一實施方式中基于時戳更新令牌桶的流量監(jiān)管的系統(tǒng)的模塊示意圖。
具體實施例方式以下將結(jié)合附圖所示的具體實施方式
對本發(fā)明進行詳細描述。但這些實施方式并不限制本發(fā)明,本領(lǐng)域的普通技術(shù)人員根據(jù)這些實施方式所做出的結(jié)構(gòu)、方法、或功能上的變換均包含在本發(fā)明的保護范圍內(nèi)。本發(fā)明主要揭露一種應(yīng)用于網(wǎng)絡(luò)通信領(lǐng)域的流量監(jiān)管的方法,其主要還是沿用產(chǎn)業(yè)所常用的令牌桶監(jiān)測管理的技術(shù),首先介紹下令牌桶,如圖1所示,令牌桶(Token Bucket)是一種常見的流量測量技術(shù),常用于對業(yè)務(wù)板得流量進行限制和整形,還能夠?qū)α髁康乃俾蔬M行測量。其工作原理是,令牌桶按用戶設(shè)定的速度向桶中放置令牌,當(dāng)桶中令牌滿時,就不再增加。當(dāng)報文到來時,令牌桶中有足夠的令牌可以用于發(fā)送報文,則報文直接通過并繼續(xù)發(fā)送,同時令牌數(shù)作相應(yīng)減少;反之,則不予通過。其中,令牌桶的容量為額定的,其可包括保證令牌桶容量(CBS )、突發(fā)令牌桶容量(PBS )等。參圖2和圖3所示,在本實施方式中,所述基于時戳更新令牌桶的流量監(jiān)管的方法,首先,需要在令牌桶增加一用于記錄上次令牌更新時間的時戳變量,即,每作一次令牌更新的動作后,都會把當(dāng)前更新的時間點記錄為一個時戳變量的值,以方便下一次更新的進行。該方法包括如下步驟
Si、接收報文,獲取所述報文的長度;
優(yōu)選地,從網(wǎng)絡(luò)上接收報文,所述報文是以一定格式組織起來的數(shù)據(jù),比如,其可包括報文類型、報文版本、報文長度、報文實體等等信息,系統(tǒng)在接收到此報文的同時便獲取報文的長度。S2、獲取與當(dāng)前報文相對應(yīng)的令牌桶;
報文對應(yīng)一種報文類型,于是,需要首先識別該報文的報文類型,然后根據(jù)此報文所屬的類別去匹配得到與該報文所對應(yīng)的令牌桶,顯而易見地,不同的報文對應(yīng)的流量監(jiān)管標(biāo)準(zhǔn)也會不一樣,所以需要對應(yīng)不同的令牌桶來實現(xiàn)本發(fā)明的流量監(jiān)管。
6
S3、根據(jù)所述時戳變量來更新所述令牌桶中的令牌數(shù),并將所述時戳變量的值更新為當(dāng)前時間,其中,應(yīng)增令牌數(shù)=(當(dāng)前時間一當(dāng)前時戳變量的值)*更新速率,所述令牌桶的令牌數(shù)不超過令牌桶的容量;
于本發(fā)明的實施方式中,在接收報文信息的同時記錄下當(dāng)前時間,接下來,便開始更新令牌桶里面的令牌,此時,需要首先判斷令牌桶是否為滿,若是,則不做更新;否則,則往令牌桶里面加((當(dāng)前時間-當(dāng)前時戳變量的值)*更新速率)個令牌,需要注意的是,令牌數(shù)不超過令牌桶的容量(最大加到令牌桶滿),將溢出的令牌做丟棄處理,在更新令牌的動作結(jié)束的同時,還需把令牌桶里的時戳變量的值更新為當(dāng)前時間,以方便下一次令牌桶更新的完成。S4、比較所述報文的長度與當(dāng)前令牌桶中的令牌數(shù),來決定對當(dāng)前報文做相應(yīng)的處理。此步驟中,判斷所述報文的長度是否小于當(dāng)前令牌桶中的令牌數(shù),若是,則通過該報文繼續(xù)發(fā)送到其它處理單元,并在令牌桶中減少相應(yīng)的令牌數(shù)(減少的令牌數(shù)按照報文的長度來確定);若否,則丟棄所述報文或者重新標(biāo)記后發(fā)送到其它處理單元,同時,令牌桶中的令牌數(shù)不作更新。S5、保持對令牌桶按照一定周期進行更新,但降低周期性令牌桶更新周期。此步驟中,也需要周期性地根據(jù)時戳來決定往令牌桶里增加多少令牌,增加的令牌數(shù)為((當(dāng)前時間-令牌桶里的時戳變量的值)*更新速率)。因為記錄時戳的信號會翻轉(zhuǎn),只根據(jù)報文到來的時間來更新,可能那個時間剛好和上次報文的時間相差一個周期, 會造成不更新或者少更新。而本發(fā)明在報文到來的時候會更新令牌桶,同時還會周期性的更新令牌桶,這樣不會有少更新或不更新的情況。基于時戳更新令牌桶的同時,保持但降低周期性令牌桶更新周期,防止時戳翻轉(zhuǎn)造成少更新,并極大降低周期性令牌桶更新占用的帶寬。 上述各步驟便完成了本發(fā)明的基于時戳更新令牌桶的流量監(jiān)管的工作。特別地,所述令牌桶可包括多個令牌數(shù)以應(yīng)對多個應(yīng)用,所述多個令牌數(shù)對應(yīng)不同的令牌更新速率。也就是說,令牌桶里可能會有不止一種令牌數(shù)來應(yīng)對各種應(yīng)用,一般會有承諾訪問速率和最大峰值訪問速率,都可以根據(jù)上文提到的時戳方法進行更新,只需要對應(yīng)不用的更新速率即可。接下來,將結(jié)合圖4來詳細介紹下本發(fā)明的一實施方式中基于時戳更新令牌桶的流量監(jiān)管的系統(tǒng)的工作原理,首先,需要在令牌桶增加一用于記錄上次令牌更新時間的時戳變量,即,每作一次令牌更新的動作后,都會把當(dāng)前更新的時間點記錄為一個時戳變量的值,以方便下一次更新的進行。該系統(tǒng)包括如下各個單元
報文接收單元10、用于接收報文,獲取所述報文的長度;
優(yōu)選地,該單元從網(wǎng)絡(luò)上接收報文,所述報文是以一定格式組織起來的數(shù)據(jù),比如,其可包括報文類型、報文版本、報文長度、報文實體等等信息,系統(tǒng)在接收到此報文的同時便獲取報文的長度。令牌桶匹配單元20、用于獲取與當(dāng)前報文相對應(yīng)的令牌桶;
報文對應(yīng)一種報文類型,于是,需要首先識別該報文的報文類型,然后根據(jù)此報文所屬的類別去匹配得到與該報文所對應(yīng)的令牌桶,顯而易見地,不同的報文對應(yīng)的流量監(jiān)管標(biāo)準(zhǔn)也會不一樣,所以需要對應(yīng)不同的令牌桶來實現(xiàn)本發(fā)明的流量監(jiān)管。令牌桶更新單元30、此單元用于根據(jù)所述時戳變量來更新所述令牌桶中的令牌數(shù),并將所述時戳變量的值更新為當(dāng)前時間,其中,應(yīng)增令牌數(shù)=(當(dāng)前時間一當(dāng)前時戳變量的值)*更新速率,所述令牌桶的令牌數(shù)不超過令牌桶的容量;
于本發(fā)明的實施方式中,該單元在接收報文信息的同時記錄下當(dāng)前時間,接下來,便開始更新令牌桶里面的令牌,此時,需要首先判斷令牌桶是否為滿,若是,則不做更新;否則, 則往令牌桶里面加((當(dāng)前時間-當(dāng)前時戳變量的值)*更新速率)個令牌,需要注意的是,令牌數(shù)不超過令牌桶的容量(最大加到令牌桶滿),將溢出的令牌做丟棄處理,在更新令牌的動作結(jié)束的同時,還需把令牌桶里的時戳變量的值更新為當(dāng)前時間,以方便下一次令牌桶更新的完成。報文處理單元40、用于比較所述報文的長度與當(dāng)前令牌桶中的令牌數(shù),來決定對當(dāng)前報文做相應(yīng)的處理。此單元中,需要判斷所述報文的長度是否小于當(dāng)前令牌桶中的令牌數(shù),若是,則通過該報文繼續(xù)發(fā)送到其它處理單元,并在令牌桶中減少相應(yīng)的令牌數(shù)(減少的令牌數(shù)按照報文的長度來確定);若否,則丟棄所述報文或者重新標(biāo)記后發(fā)送到其它處理單元,同時,令牌桶中的令牌數(shù)不作更新。周期性更新單元50、用于保持對令牌桶按照一定周期進行更新,但降低周期性令牌桶更新周期。此單元中,也需要周期性地根據(jù)時戳來決定往令牌桶里增加多少令牌,增加的令牌數(shù)為((當(dāng)前時間-令牌桶里的時戳變量的值)*更新速率)。因為記錄時戳的信號會翻轉(zhuǎn),只根據(jù)報文到來的時間來更新,可能那個時間剛好和上次報文的時間相差一個周期, 會造成不更新或者少更新。而本發(fā)明在報文到來的時候會更新令牌桶,同時還會周期性的更新令牌桶,這樣不會有少更新或不更新的情況?;跁r戳更新令牌桶的同時,保持但降低周期性令牌桶更新周期,防止時戳翻轉(zhuǎn)造成少更新,并極大降低周期性令牌桶更新占用的帶寬。上述各單元便完成了本發(fā)明的基于時戳更新令牌桶的流量監(jiān)管的工作,需要提及的是,本發(fā)明通過流量監(jiān)管測量時進行更新令牌桶操作的同時,還可以保持對令牌桶的周期性更新。在周期性進行更新時,也需要根據(jù)時戳來決定往令牌桶里增加多少令牌,增加的令牌數(shù)為((當(dāng)前時間-令牌桶里的時戳變量的值)*更新速率)。特別地,所述令牌桶可包括多個令牌數(shù)以應(yīng)對多個應(yīng)用,所述多個令牌數(shù)對應(yīng)不同的令牌更新速率。也就是說,令牌桶里可能會有不止一種令牌數(shù)來應(yīng)對各種應(yīng)用,一般會有承諾訪問速率和最大峰值訪問速率,都可以根據(jù)上文提到的時戳方法進行更新,只需要對應(yīng)不用的更新速率即可。與現(xiàn)有技術(shù)相比,本發(fā)明通過時戳機制在流量監(jiān)管測量時進行流量監(jiān)管令牌桶的更新,極大降低周期性令牌桶更新占用的存儲帶寬,更新粒度可以更精確,而且不隨流的條目增加占用更多的帶寬,降低更新粒度,進而使得流量監(jiān)管的性能更好。為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當(dāng)然,在實施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。
通過以上的實施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備 (可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實施方式或者實施方式的某些部分所述的方法。以上所描述的裝置實施方式僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施方式方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。本申請可用于眾多通用或?qū)S玫挠嬎阆到y(tǒng)環(huán)境或配置、或通訊系統(tǒng)環(huán)境或設(shè)備中。例如個人計算機、服務(wù)器計算機、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、 基于微處理器的系統(tǒng)、置頂盒、可編程的消費電子設(shè)備、網(wǎng)絡(luò)PC、小型計算機、大型計算機、 包括以上任何系統(tǒng)或設(shè)備的分布式計算環(huán)境等等,以及交換機、路由器、包括以上任何設(shè)備的通訊系統(tǒng)環(huán)境等等。本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠程計算機存儲介質(zhì)中。應(yīng)當(dāng)理解,雖然本說明書按照實施方式加以描述,但并非每個實施方式僅包含一個獨立的技術(shù)方案,說明書的這種敘述方式僅僅是為清楚起見,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)將說明書作為一個整體,各實施方式中的技術(shù)方案也可以經(jīng)適當(dāng)組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實施方式。上文所列出的一系列的詳細說明僅僅是針對本發(fā)明的可行性實施方式的具體說明,它們并非用以限制本發(fā)明的保護范圍,凡未脫離本發(fā)明技藝精神所作的等效實施方式或變更均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種基于時戳更新令牌桶的流量監(jiān)管的方法,其特征在于,在令牌桶增加一用于記錄上次令牌更新時間的時戳變量,該方法包括如下步驟51、接收報文,獲取所述報文的長度;52、獲取與當(dāng)前報文相對應(yīng)的令牌桶;53、根據(jù)所述時戳變量來更新所述令牌桶中的令牌數(shù),并將所述時戳變量的值更新為當(dāng)前時間,其中,應(yīng)增令牌數(shù)=(當(dāng)前時間一當(dāng)前時戳變量的值)*更新速率,所述令牌桶的令牌數(shù)不超過令牌桶的容量;54、比較所述報文的長度與當(dāng)前令牌桶中的令牌數(shù),來決定對當(dāng)前報文做相應(yīng)的處理;55、保持對令牌桶按照一定周期進行更新,但降低周期性令牌桶更新周期。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S3還包括判斷當(dāng)前令牌桶是否為滿,若是,則不更新;若否,則向所述令牌桶加入所述應(yīng)增令牌數(shù),最大加到令牌桶滿容量,對溢出的令牌做丟棄處理。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S4具體為判斷所述報文的長度是否小于當(dāng)前令牌桶中的令牌數(shù),若是,則通過該報文,并在令牌桶中減少相應(yīng)的令牌數(shù);若否,則丟棄所述報文或者重新標(biāo)記后發(fā)送,令牌數(shù)不作更新。
4.根據(jù)權(quán)利要求1至3任意一項所述的方法,其特征在于,所述令牌桶可包括多個令牌數(shù)以應(yīng)對多個應(yīng)用,所述多個令牌數(shù)對應(yīng)不同的令牌更新速率。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S5具體為周期性地根據(jù)時戳來決定往令牌桶里增加多少令牌,增加的令牌數(shù)為((當(dāng)前時間-令牌桶里的時戳變量的值)*更新速率)。
6.一種基于時戳更新令牌桶的流量監(jiān)管的系統(tǒng),其特征在于,其包括如下單元報文接收單元、用于接收報文,獲取所述報文的長度;令牌桶匹配單元、用于獲取與當(dāng)前報文相對應(yīng)的令牌桶;令牌桶更新單元、用于根據(jù)所述時戳變量來更新所述令牌桶中的令牌數(shù),并將所述時戳變量的值更新為當(dāng)前時間,其中,應(yīng)增令牌數(shù)=(當(dāng)前時間一當(dāng)前時戳變量的值)*更新速率,所述令牌桶的令牌數(shù)不超過令牌桶的容量;報文處理單元、用于比較所述報文的長度與當(dāng)前令牌桶中的令牌數(shù),來決定對當(dāng)前報文做相應(yīng)的處理;周期性更新單元、用于保持對令牌桶按照一定周期進行更新,但降低周期性令牌桶更新周期。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述令牌桶更新單元還用于判斷當(dāng)前令牌桶是否為滿,若是,則不更新;若否,則向所述令牌桶加入所述應(yīng)增令牌數(shù),最大加到令牌桶滿容量,對溢出的令牌做丟棄處理。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述報文處理單元具體用于判斷所述報文的長度是否小于當(dāng)前令牌桶中的令牌數(shù),若是,則通過該報文,并在令牌桶中減少相應(yīng)的令牌數(shù);若否,則丟棄所述報文或者重新標(biāo)記后發(fā)送,令牌數(shù)不作更新。
9.根據(jù)權(quán)利要求6至8中任意一項所述的系統(tǒng),其特征在于,所述令牌桶可包括多個令牌數(shù)以應(yīng)對多個應(yīng)用,所述多個令牌數(shù)對應(yīng)不同的令牌更新速率。
10.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述周期性更新單元具體用于周期性地根據(jù)時戳來決定往令牌桶里增加多少令牌,增加的令牌數(shù)為((當(dāng)前時間-令牌桶里的時戳變量的值)*更新速率)。
全文摘要
本發(fā)明揭示了一種基于時戳更新令牌桶的流量監(jiān)管的方法及系統(tǒng),在令牌桶增加一用于記錄上次令牌更新時間的時戳變量,該方法包括如下步驟S1、接收報文,獲取所述報文的長度;S2、獲取與當(dāng)前報文相對應(yīng)的令牌桶;S3、根據(jù)所述時戳變量來更新所述令牌桶中的令牌數(shù),并將所述時戳變量的值更新為當(dāng)前時間,其中,應(yīng)增令牌數(shù)=(當(dāng)前時間—當(dāng)前時戳變量的值)*更新速率,所述令牌桶的令牌數(shù)不超過令牌桶的容量;S4、比較所述報文的長度與當(dāng)前令牌桶中的令牌數(shù),來決定對當(dāng)前報文做相應(yīng)的處理;S5、保持但降低周期性令牌桶更新周期。本發(fā)明通過時戳機制在流量監(jiān)管測量時進行流量監(jiān)管令牌桶的更新,極大降低周期性令牌桶更新占用的存儲帶寬,且更新粒度更為精確,進而使得流量監(jiān)管的性能更好。
文檔編號H04L12/56GK102413042SQ201110358119
公開日2012年4月11日 申請日期2011年11月14日 優(yōu)先權(quán)日2011年11月14日
發(fā)明者孫劍勇, 徐昌發(fā) 申請人:盛科網(wǎng)絡(luò)(蘇州)有限公司