本發(fā)明涉及通信技術領域的流量監(jiān)管技術,尤其涉及一種包每秒(pps,packagepersecond)流量監(jiān)管方法及裝置。
背景技術:
隨著網絡應用的不斷發(fā)展,新型業(yè)務的不斷推出,例如交互式網絡電視(iptv)、網絡電話(voip,voiceoverinternetprotocol)、視頻會議等非傳統數據通信業(yè)務,對網絡的服務質量(qos,qualityofservice)提出了更高的時延、丟包率和抖動控制要求;隨著通信網絡的用戶越來越多,對于網絡資源的競爭也越來越激烈,為滿足用戶對于不同應用的差異化qos的需求,通常采用流量監(jiān)管技術控制用戶業(yè)務的流量;流量監(jiān)管通常使用承諾訪問速率(car,committedaccessrate)來限制進入或流出網絡的業(yè)務連接的流量與突發(fā)數據,流量監(jiān)管至少有如下兩個方面的需求:(1)對允許用戶訪問的總字節(jié)數進行限定,例如,限定用戶的最大下載速度為10mbps/s;(2)對允許用戶訪問的總的數據包個數進行限定,比如限定用戶每秒發(fā)送的數據包在100個以內。
為了實現流量監(jiān)管的上述兩種不同需求,現有通信網絡分別設置兩套流量監(jiān)管裝置:比特每秒(bps,bitspersecond)流量監(jiān)管裝置,即每秒允許通過多少個比特,bps流量監(jiān)管裝置對應于上述的需求(1);pps流量監(jiān)管裝置,即每秒允許通過多少個數據包,pps流量監(jiān)管裝置對應于上述的需求(2)。
參見圖1示出的bps流量監(jiān)管裝置的工作原理示意圖,圖1示出的bps流量監(jiān)管裝置包括:令牌發(fā)生器101、令牌桶102、令牌判別模塊103及令牌更新模塊104;其中,令牌發(fā)生器101用于按照預定的速率向令牌桶里面添加令牌,舉個例子來說,假設網絡允許用戶發(fā)送的數據流量為5mbps,且32個令牌代表 1bit,則令牌發(fā)生器101就以每秒種5m*32個令牌的速度,在比秒更小的時間單元里,勻速的向令牌桶添加令牌;令牌桶102,里面包含2個參數,一個是剩余令牌,指示還可以發(fā)送多少字節(jié)的數據包,另一個是令牌桶的深度,令牌發(fā)生器101產生的令牌會在令牌桶102中累計,當累計大于令牌桶的深度時,令牌會溢出,防止在沒有數據包的時間里令牌大量累積,然后下一時刻來了大量的數據包,由于令牌已經積累很多,這時候將數據包全部發(fā)出去,將對網絡進行巨大沖擊,所以令牌不能無限累積,而是累積到一定值時,添加的令牌被視為無效令牌;令牌判別模塊103,當數據包到達時,判斷令牌桶102里的剩余令牌是否足夠數據包通過,如果令牌足夠,則數據包通過,否則數據包丟棄;令牌更新模塊104,當數據包通過后,要將令牌桶102里的令牌減去與數據包對應的令牌數;基于該bps流量監(jiān)管裝置,實現對允許用戶訪問的總字節(jié)數(用戶流量)進行限定,大于流量監(jiān)管裝置預設的允許用戶發(fā)送的數據流量的數據包,將會被丟棄。
參見圖2示出的pps流量監(jiān)管裝置的工作原理示意圖,pps流量監(jiān)管技術的一種實現方式是在每秒鐘開始的時候,將允許通過的數據包數目配置為設定值,每來一個數據包,pps流量監(jiān)管裝置201將允許通過的數據包數目減1,直到允許通過的數據包數目為0,即判定1秒鐘內已經通過的數據包個數大于設定值,如此,在這1秒的剩余時間內到來的數據包,將被pps流量監(jiān)管裝置201全部丟棄;這就存在如下問題:a)如果每秒的開始時間來了大量數據包,這樣前面的數據包大量通過,造成通訊設備的流量比較大;b)每秒鐘開始的數據包,能通過的概率遠遠大于后面來的數據包,而通訊設備,一般希望同一種類型的數據包,丟包率比較均衡。
現有的pps流量監(jiān)管技術,容易造成通訊設備的流量突發(fā),無法保證業(yè)務的丟包率,影響業(yè)務服務質量。
技術實現要素:
有鑒于此,本發(fā)明實施例期望提供一種包每秒流量監(jiān)管方法及裝置,能降 低業(yè)務流量突發(fā),提高業(yè)務服務質量。
為達到上述目的,本發(fā)明的技術方案是這樣實現的:
本發(fā)明實施例提供一種包每秒流量監(jiān)管方法,包括:
根據獲取到的每轉發(fā)一個預設長度的數據包所需要消耗的令牌數及目標業(yè)務的約定流量速率確定令牌添加速率,及根據所述令牌添加速率勻速的向令牌存儲模塊中添加令牌;
響應于所述目標業(yè)務的當前數據包的轉發(fā)請求,確定所述令牌存儲模塊中的剩余令牌數滿足預置條件時,將所述目標業(yè)務的當前數據包轉發(fā),及從所述令牌存儲模塊中刪除轉發(fā)所述目標業(yè)務的當前數據包所需要消耗的令牌數。
本發(fā)明實施例還提供一種包每秒流量監(jiān)管裝置,包括:
添加模塊,用于根據獲取到的每轉發(fā)一個預設長度的數據包所需要消耗的令牌數及目標業(yè)務的約定流量速率確定令牌添加速率,及根據所述令牌添加速率勻速的向令牌存儲模塊中添加令牌;
響應模塊,用于響應于所述目標業(yè)務的當前數據包的轉發(fā)請求,確定所述令牌存儲模塊中的剩余令牌數滿足預置條件時,將所述目標業(yè)務的當前數據包轉發(fā),及從所述令牌存儲模塊中刪除轉發(fā)所述目標業(yè)務的當前數據包所需要消耗的令牌數。
與現有的pps流量監(jiān)管技術在每秒開始的時候使用設定值配置這一秒允許通過的數據包數,每來一個數據包將允許通過的數據包個數減1相比,本發(fā)明實施例中,將每秒允許通過的數據包數轉化成令牌添加速率,根據令牌添加速率按時間均勻的向令牌存儲模塊中添加令牌,每來一個數據包就從令牌存儲模塊中刪除轉發(fā)數據包所需要消耗的令牌數,由于令牌是基于令牌添加速率按時間均勻的向令牌存儲模塊中添加的,這樣就能夠避免在每秒開始時間的流量突發(fā),保證同一種類型的數據包的丟包率比較均衡,如此,能降低業(yè)務流量突發(fā),提高業(yè)務服務質量。
附圖說明
圖1為現有技術中bps流量監(jiān)管裝置的工作原理示意圖;
圖2為現有技術中pps流量監(jiān)管裝置的工作原理示意圖;
圖3為本發(fā)明實施例中包每秒流量監(jiān)管方法的一個可選的流程示意圖;
圖4為本發(fā)明實施例中包每秒流量監(jiān)管方法的另一個可選的流程示意圖;
圖5為本發(fā)明實施例中包每秒流量監(jiān)管裝置的一個可選的結構示意圖;
圖6為本發(fā)明實施例中包每秒流量監(jiān)管裝置的另一個可選的結構示意圖;
圖7為本發(fā)明實施例中包每秒流量監(jiān)管裝置的又一個可選的結構示意圖。
具體實施方式
下面將結合附圖及實施例,對本發(fā)明的技術方案進行清楚、完整地描述。
下面首先對實施本發(fā)明實施例的裝置(在以下各具體實施例中即為流量監(jiān)管裝置)進行說明,流量監(jiān)管裝置可以采用各種方式來實施,例如在網絡處理器、路由器等網絡設備中實施流量監(jiān)管裝置的全部組件(比如,流量監(jiān)管裝置可以集成于上述的網絡設備中),或者,在上述的網絡設備側以耦合的方式實施流量監(jiān)管裝置中的組件。
基于上述記載的流量監(jiān)管裝置,提出以下各具體實施例。
實施例一
本實施例記載一種包每秒流量監(jiān)管方法,可以應用于如下場景中:希望在實現pps流量監(jiān)管功能的同時,能降低業(yè)務流量突發(fā),提高業(yè)務服務質量;本實施例針對此情況的處理進行說明。
參見圖3,本實施例記載的包每秒流量監(jiān)管方法包括以下步驟:
步驟301、根據獲取到的每轉發(fā)一個預設長度的數據包所需要消耗的令牌數及目標業(yè)務的約定流量速率確定令牌添加速率。
在本實施例中,流量監(jiān)管裝置在執(zhí)行步驟301之前,預先獲取每轉發(fā)一個預設長度的數據包所需要消耗的令牌數;預設長度是一個固定值;可選的,獲取每轉發(fā)一個預設長度的數據包所需要消耗的令牌數的實現方式可以包括以下 任意一種方式:
方式1、流量監(jiān)管裝置獲取每轉發(fā)一個比特的數據所需要消耗的令牌數,基于預設長度及獲取的每轉發(fā)一個比特的數據所需要消耗的令牌數,確定每轉發(fā)一個預設長度的數據包所需要消耗的令牌數;舉個例子來說,流量監(jiān)管裝置計算預設長度與每轉發(fā)一個比特的數據所需要消耗的令牌數的乘積,將乘積值確定為每轉發(fā)一個預設長度的數據包所需要消耗的令牌數;例如,假設每轉發(fā)一個比特的數據所需要消耗的令牌數為32個,數據包的預設長度為64比特,則每轉發(fā)一個預設長度的數據包所需要消耗的令牌數為2048個(即32*64)。
方式2、預先在流量監(jiān)管裝置中配置每轉發(fā)一個預設長度的數據包所需要消耗的令牌數。
流量監(jiān)管裝置基于獲取到每轉發(fā)一個預設長度的數據包所需要消耗的令牌數,計算每轉發(fā)一個預設長度的數據包所需要消耗的令牌數與目標業(yè)務的約定流量速率的乘積,將乘積值確定為令牌添加速率;例如,假設每轉發(fā)一個預設長度的數據包所需要消耗的令牌數為2048個,目標業(yè)務的約定流量速率(pps監(jiān)管需求)為100pps,則令牌添加速率等于204800(即2048*100),令牌添加速率的單位可以為令牌每秒;目標業(yè)務的約定流量速率可以為目標業(yè)務的承諾信息速率(cir,committedinformationrate)或者超出信息速率(eir,excessinformationrate)等;目標業(yè)務的約定流量速率可以預先在流量監(jiān)管裝置中配置。
步驟302、根據令牌添加速率勻速的向令牌存儲模塊中添加令牌。
例如,假設令牌添加速率等于204800(令牌每秒),則流量監(jiān)管裝置每秒鐘將204800個令牌放入到令牌存儲模塊中;需要注意的是,流量監(jiān)管裝置每秒鐘需要往令牌存儲模塊里添加的令牌數并不是一次性加完的,而是按時間分次的、勻速的向令牌存儲模塊中添加令牌,例如流量監(jiān)管裝置每次往令牌存儲模塊里添加的令牌數為102400個,則流量監(jiān)管裝置每秒鐘需要往令牌存儲模塊里添加兩次令牌,及流量監(jiān)管裝置往令牌存儲模塊里添加令牌的時間間隔是0.5s(102400/204800=0.5);可選的,令牌存儲模塊可以為令牌桶。
流量監(jiān)管裝置往令牌存儲模塊里添加的令牌會在令牌存儲模塊里累積,即令牌存儲模塊中的剩余令牌數,當流量監(jiān)管裝置確定令牌存儲模塊中的剩余令牌數超出令牌存儲模塊的深度時,令牌會溢出,流量監(jiān)管裝置將超出的令牌視為無效令牌,防止如下情況的發(fā)生,即在沒有數據包需要轉發(fā)的時間里令牌大量累積,然后接下來的時刻接收到大量的數據包需要轉發(fā),此時由于令牌已經積累很多,這時候將數據包全部發(fā)出去,將對設備及網絡造成巨大沖擊,因此,令牌存儲模塊中的令牌不能無限累積,而是累積到一定值(例如令牌存儲模塊的深度)時,繼續(xù)添加的令牌被視為無效令牌。
步驟303、響應于目標業(yè)務的當前數據包的轉發(fā)請求,確定令牌存儲模塊中的剩余令牌數滿足預置條件時,將目標業(yè)務的當前數據包轉發(fā)。
流量監(jiān)管裝置接收到目標業(yè)務的當前數據包的轉發(fā)請求時,或流量監(jiān)管裝置針對到達指定設備端口的歸屬目標業(yè)務的當前數據包,根據目標業(yè)務的當前數據包的特征信息,判斷令牌存儲模塊中的剩余令牌數是否滿足預置條件,若是則將目標業(yè)務的當前數據包轉發(fā),若判定令牌存儲模塊中的剩余令牌數不滿足預置條件,則說明目標業(yè)務的當前流量速率超過了目標業(yè)務的約定流量速率(pps監(jiān)管需求),此時,流量監(jiān)管裝置將目標業(yè)務的當前數據包視為超限,將目標業(yè)務的當前數據包丟棄或者緩存;這里,流量監(jiān)管裝置可以將超限的數據包進行緩存,等到判定令牌存儲模塊中的剩余令牌數滿足預置條件時將該因超限而緩存的數據包轉發(fā);流量監(jiān)管裝置還可以從令牌存儲模塊中預借令牌將該超限的數據包轉發(fā);數據包的特征信息可以包括數據包的長度、qos屬性、業(yè)務歸屬信息等數據;可選的,目標業(yè)務的當前數據包的長度可以等于預設長度;可選的,目標業(yè)務的每一個數據包的長度均等于預設長度。
步驟304、從令牌存儲模塊中刪除轉發(fā)目標業(yè)務的當前數據包所需要消耗的令牌數。
與現有的pps流量監(jiān)管技術在每秒開始的時候基于設定值配置這一秒允許業(yè)務通過的數據包個數,每來一個數據包將允許通過的數據包個數減1相比,本實施例中,流量監(jiān)管裝置將每秒允許通過的數據包數轉化成令牌添加速率, 根據令牌添加速率按時間均勻的向令牌存儲模塊中添加令牌,每來一個數據包就從令牌存儲模塊中刪除轉發(fā)數據包所需要消耗的令牌數,由于令牌是基于令牌添加速率按時間均勻的向令牌存儲模塊中添加的,這樣就能夠避免在每秒開始時間的流量突發(fā),保證同一種類型的數據包的丟包率比較均衡,如此,能降低業(yè)務流量突發(fā),提高業(yè)務服務質量。
實施例二
本實施例基于實施例一,本實施例中上述預設條件包括:令牌存儲模塊中的剩余令牌數是否大于轉發(fā)目標業(yè)務的當前數據包所需要消耗的令牌數。
參見圖4,本實施例記載的包每秒流量監(jiān)管方法包括以下步驟:
步驟401、流量監(jiān)管裝置根據獲取到的每轉發(fā)一個預設長度的數據包所需要消耗的令牌數及目標業(yè)務的約定流量速率確定令牌添加速率。
步驟402、根據令牌添加速率勻速的向令牌存儲模塊中添加令牌。
步驟403、接收到目標業(yè)務的當前數據包時,基于獲取的每轉發(fā)一個預設長度的數據包所需要消耗的令牌數,及目標業(yè)務的當前數據包的長度,確定轉發(fā)目標業(yè)務的當前數據包所需要消耗的令牌數。
可選的,流量監(jiān)管裝置在接收到目標業(yè)務的當前數據包時,首先根據目標業(yè)務的當前數據包的特征信息確定當前數據包的長度。
步驟404、判斷令牌存儲模塊中的剩余令牌數是否大于轉發(fā)目標業(yè)務的當前數據包所需要消耗的令牌數,若是,則轉到步驟406,否則轉到步驟405。
步驟405、將目標業(yè)務的當前數據包丟棄或者緩存;然后,處理結束。
步驟406、將目標業(yè)務的當前數據包轉發(fā)。
步驟407、從令牌存儲模塊中刪除轉發(fā)目標業(yè)務的當前數據包所需要消耗的令牌數。
本實施例中,基于令牌存儲模塊中的剩余令牌數與轉發(fā)目標業(yè)務的當前數據包所需要消耗的令牌數的不同關系,對如何實現pps流量監(jiān)管功能的過程進行了詳細說明。
實施例三
基于上述實施例一、實施例二,本實施例記載一種包每秒流量監(jiān)管裝置,針對如下場景提出解決的技術方案:現有的流量監(jiān)管技術分別設置兩套流量監(jiān)管裝置,實現流量監(jiān)管需要占用較多的邏輯資源,同時也增加了芯片在流量監(jiān)管方面的設計復雜性。
本實施例記載的包每秒流量監(jiān)管裝置實際上是對現有bps流量監(jiān)管裝置進行了復用和改進,該改進的bps流量監(jiān)管裝置可以用于實施上述實施例中技術方案;本實施例針對此情況的處理進行說明。
參見圖5,本實施例記載的包每秒流量監(jiān)管裝置的一個可選的結構示意圖,該包每秒流量監(jiān)管裝置包括:令牌發(fā)生器501、令牌桶502、令牌判別模塊503和令牌更新模塊504;需要說明的是,該包每秒流量監(jiān)管裝置通過令牌發(fā)生器501、令牌桶502、令牌判別模塊503和令牌更新模塊504的相互配合和協作,可以實現bps流量監(jiān)管需求;在本實施例為了實現pps流量監(jiān)管功能,對該些模塊(令牌發(fā)生器501、令牌桶502、令牌判別模塊503和令牌更新模塊504)的功能進行了增強,具體為,
1)、令牌發(fā)生器501向令牌桶502里面添加令牌的速率與數據包個數進行了關聯,假設每轉發(fā)一個預設長度的數據包所需要消耗的令牌數為10000個,pps監(jiān)管需求(例如目標業(yè)務的約定流量速率)為100pps,則令牌發(fā)生器501需要按照每秒鐘100*10000個令牌的速度,勻速的向令牌桶502添加令牌。
2)、令牌桶502,用于存儲令牌發(fā)生器501添加的令牌;令牌桶502具有至少如下2個參數:剩余令牌數、桶深(令牌桶的深度),其中,剩余令牌數用于評估(計算)調度器還可以發(fā)送多少個數據包;桶深,如果令牌桶的剩余令牌數大于桶深,則令牌丟棄,這里的桶深,代表允許突發(fā)數據包的個數,假設允許最大50個數據包的突發(fā),則令牌桶桶深設置為50*10000。
3)、令牌判別模塊503,用于當數據包到達時,判斷令牌桶502里的剩余令牌數是否大于等于轉發(fā)一個數據包所需要消耗的令牌數(10000),如果剩余 令牌數大于等于10000,則轉發(fā)該數據包,否則將該數據包丟棄。
4)、令牌更新模塊504,用于當數據包通過后,要將令牌桶502里的令牌減去與數據包對應的令牌數,表示已轉發(fā)一個數據包,例如將令牌桶502里面的令牌數減去10000。
本發(fā)明采用以下技術方案:第一步:利用漏桶(令牌桶)來進行bps監(jiān)管;第二步:如果漏桶需要用來做pps監(jiān)管,則每一個包經過漏桶,都是按固定長度進行令牌的判斷以及扣除。
與現有技術相比,本實施例避免單獨設計一個pps監(jiān)管模塊,只需要對現有bps流量監(jiān)管裝置進行改進,使得改進的bps流量監(jiān)管模塊既可以支持bps流量監(jiān)管需求,也可以支持pps流量監(jiān)管需求,實現了對bps流量監(jiān)管模塊的高效復用,減少了模塊設計面積和復雜度,能夠節(jié)約實現流量監(jiān)管的邏輯資源,降低了芯片在流量監(jiān)管方面的設計復雜性;同時,在實現pps流量監(jiān)管功能的同時,能降低業(yè)務流量突發(fā),提高業(yè)務服務質量。
實施例四
與前述實施例一對應,本實施例針對前述的流量監(jiān)管裝置進行說明,流量監(jiān)管裝置可以用于執(zhí)行本發(fā)明實施例的流量監(jiān)管方法,流量監(jiān)管裝置可以是為實施本發(fā)明實施例而專門設置的設備,也可以內置于網絡設備內部,網絡設備可以包括網絡處理器、路由器,參見圖6,本實施例記載的流量監(jiān)管裝置包括:
添加模塊601,用于根據獲取到的每轉發(fā)一個預設長度的數據包所需要消耗的令牌數及目標業(yè)務的約定流量速率確定令牌添加速率,及根據令牌添加速率勻速的向令牌存儲模塊中添加令牌;
響應模塊602,用于響應于目標業(yè)務的當前數據包的轉發(fā)請求,確定令牌存儲模塊中的剩余令牌數滿足預置條件時,將目標業(yè)務的當前數據包轉發(fā),及從令牌存儲模塊中刪除轉發(fā)目標業(yè)務的當前數據包所需要消耗的令牌數。
與現有的pps流量監(jiān)管技術在每秒開始的時候基于設定值配置這一秒允許業(yè)務通過的數據包個數,每來一個數據包將允許通過的數據包個數減1相比, 本實施例中,流量監(jiān)管裝置將每秒允許通過的數據包數轉化成令牌添加速率,根據令牌添加速率按時間均勻的向令牌存儲模塊中添加令牌,每來一個數據包就從令牌存儲模塊中刪除轉發(fā)數據包所需要消耗的令牌數,由于令牌是基于令牌添加速率按時間均勻的向令牌存儲模塊中添加的,這樣就能夠避免在每秒開始時間的流量突發(fā),保證同一種類型的數據包的丟包率比較均衡,如此,能降低業(yè)務流量突發(fā),提高業(yè)務服務質量。
可選的,響應模塊602,具體用于確定令牌存儲模塊中的剩余令牌數大于等于轉發(fā)目標業(yè)務的當前數據包所需要消耗的令牌數時,將目標業(yè)務的當前數據包轉發(fā)。
可選的,響應模塊602,還用于確定令牌存儲模塊中的剩余令牌數小于轉發(fā)目標業(yè)務的當前數據包所需要消耗的令牌數時,將目標業(yè)務的當前數據包丟棄或者緩存。
可選的,響應模塊602,還用于確定令牌存儲模塊中的剩余令牌數超出令牌存儲模塊的深度時,將超出的令牌視為無效。
可選的,響應模塊602,還用于:基于獲取的每轉發(fā)一個預設長度的數據包所需要消耗的令牌數,及目標業(yè)務的當前數據包的長度,確定轉發(fā)目標業(yè)務的當前數據包所需要消耗的令牌數。
實施例五
本實施例基于實施例四,參見圖7,本實施例記載的流量監(jiān)管裝置也包括圖6中的添加模塊601、響應模塊602,并且該些功能模塊也具有實施例四所記載的相應作用,在此基礎上,本實施例記載的流量監(jiān)管裝置還包括:
獲取模塊603,用于獲取每轉發(fā)一個比特的數據所需要消耗的令牌數,基于預設長度及獲取的每轉發(fā)一個比特的數據所需要消耗的令牌數,確定每轉發(fā)一個預設長度的數據包所需要消耗的令牌數。
在實際應用中,上述添加模塊601、響應模塊602、獲取模塊603,均可由位于網絡設備的中央處理器(cpu)、微處理器(mpu)、數字信號處理器(dsp)、 或現場可編程門陣列(fpga)等實現。
實施例六
本實施例記載一種計算機可讀介質,可以為rom(例如,只讀存儲器、flash存儲器、轉移裝置等)、磁存儲介質(例如,磁帶、磁盤驅動器等)、光學存儲介質(例如,cd-rom、dvd-rom、紙卡、紙帶等)以及其他熟知類型的程序存儲器;計算機可讀介質中存儲有計算機可執(zhí)行指令,當執(zhí)行指令時,引起至少一個處理器執(zhí)行包括以下的操作:
根據獲取到的每轉發(fā)一個預設長度的數據包所需要消耗的令牌數及目標業(yè)務的約定流量速率確定令牌添加速率,及根據令牌添加速率勻速的向令牌存儲模塊中添加令牌;
響應于目標業(yè)務的當前數據包的轉發(fā)請求,確定令牌存儲模塊中的剩余令牌數滿足預置條件時,將目標業(yè)務的當前數據包轉發(fā),及從令牌存儲模塊中刪除轉發(fā)目標業(yè)務的當前數據包所需要消耗的令牌數。
可選的,根據獲取到的每轉發(fā)一個預設長度的數據包所需要消耗的令牌數及目標業(yè)務的約定流量速率確定令牌添加速率之前,方法還包括:
獲取每轉發(fā)一個比特的數據所需要消耗的令牌數;
基于預設長度及獲取的每轉發(fā)一個比特的數據所需要消耗的令牌數,確定每轉發(fā)一個預設長度的數據包所需要消耗的令牌數。
可選的,確定令牌存儲模塊中的剩余令牌數滿足預置條件時,將目標業(yè)務的當前數據包轉發(fā),包括:
確定令牌存儲模塊中的剩余令牌數大于等于轉發(fā)目標業(yè)務的當前數據包所需要消耗的令牌數時,將目標業(yè)務的當前數據包轉發(fā)。
可選的,方法還包括:確定令牌存儲模塊中的剩余令牌數小于轉發(fā)目標業(yè)務的當前數據包所需要消耗的令牌數時,將目標業(yè)務的當前數據包丟棄或者緩存。
可選的,方法還包括:確定令牌存儲模塊中的剩余令牌數超出令牌存儲模 塊的深度時,將超出的令牌視為無效。
可選的,從令牌存儲模塊中刪除轉發(fā)目標業(yè)務的當前數據包所需要消耗的令牌數之前,方法還包括:基于獲取的每轉發(fā)一個預設長度的數據包所需要消耗的令牌數,及目標業(yè)務的當前數據包的長度,確定轉發(fā)目標業(yè)務的當前數據包所需要消耗的令牌數。
綜上,本發(fā)明實施例中,流量監(jiān)管裝置將每秒允許通過的數據包數轉化成令牌添加速率,根據令牌添加速率按時間均勻的向令牌存儲模塊中添加令牌,每來一個數據包就從令牌存儲模塊中刪除轉發(fā)數據包所需要消耗的令牌數,由于令牌是基于令牌添加速率按時間均勻的向令牌存儲模塊中添加的,這樣就能夠避免在每秒開始時間的流量突發(fā),保證同一種類型的數據包的丟包率比較均衡,如此,能降低業(yè)務流量突發(fā),提高業(yè)務服務質量。
本領域內的技術人員應明白,本發(fā)明的實施例可提供為方法、系統、或計算機程序產品。因此,本發(fā)明可采用硬件實施例、軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器和光學存儲器等)上實施的計算機程序產品的形式。
本發(fā)明是參照根據本發(fā)明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執(zhí)行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。