亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于令牌桶的數(shù)據(jù)傳輸流量調(diào)度方法及其系統(tǒng)的制作方法

文檔序號:8415533閱讀:1263來源:國知局
基于令牌桶的數(shù)據(jù)傳輸流量調(diào)度方法及其系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)傳輸?shù)募夹g(shù)領(lǐng)域,特別是涉及一種基于令牌桶的數(shù)據(jù)傳輸流量調(diào) 度方法,以及一種基于令牌桶的數(shù)據(jù)傳輸流量調(diào)度系統(tǒng)。
【背景技術(shù)】
[0002] 令牌桶算法是網(wǎng)絡(luò)流量整形和速率限制中最常使用的一種算法。典型情況下,令 牌桶算法用來控制發(fā)送到網(wǎng)絡(luò)上的數(shù)據(jù)的數(shù)目。
[0003] 令牌桶這種控制機(jī)制基于令牌桶中是否存在令牌來指示什么時候可以發(fā)送流量。 如果令牌桶中存在令牌,則允許發(fā)送流量;而如果令牌桶中不存在令牌,則不允許發(fā)送流 量。
[0004] 在多個調(diào)度單元共享帶寬資源的情況下,使用令牌桶控制機(jī)制對每個調(diào)度單元進(jìn) 行限速可以改善隔離性,避免某個調(diào)度單元占用過多的資源而使其他單元的資源得不到保 證。
[0005] 但是當(dāng)部分調(diào)度單元并沒有用盡其對應(yīng)的令牌配額,或者根本就空閑的情況下, 分配給這些調(diào)度單元的令牌配額,并不能被其他調(diào)度單元所利用。從而造成一部分資源的 閑置和資源利用率的低下。
[0006] 為了既能在調(diào)度單元有需求的時候保證其令牌配額的使用,又能在某些調(diào)度單元 的令牌配額有空閑時,能夠分配給其他需要的單元使用,目前有兩種方案實現(xiàn)。分別為:
[0007] 分層令牌桶(HierarchicalTokenBucket,HTB),是在多個調(diào)度單元各自的令牌 桶之上,還設(shè)置有一個速率為系統(tǒng)總帶寬的根令牌桶。每個報文,既要消耗各調(diào)度單元自己 令牌桶的令牌,還要消耗同樣數(shù)量的根令牌桶的令牌。也就是說,每個報文即要穿個一個調(diào) 度單元的令牌桶,還要穿過根令牌桶。如果根令牌桶令牌不足,則暫時不能讓任何報文通 過。如果根令牌桶有足夠的令牌,則優(yōu)先選擇令牌充足的非空隊列,然后選擇令牌不足的非 空隊列。這時的效果,就是這些令牌不足的隊列,在超額使用系統(tǒng)中空閑的資源。
[0008] 而另一種方法是將調(diào)度實體的令牌桶滿溢出的令牌,留存在一個共享令牌池,供 需要超額占用空閑資源的調(diào)度實體使用。
[0009] 其基本思想是:空閑或者流量不足其令牌配額的調(diào)度單元,其令牌桶消耗令牌的 速率低于令牌生成速率,令牌桶中的令牌會超過令牌桶的深度而溢出。溢出的令牌,不是丟 棄,而是留存起來供其他調(diào)度單元使用。為了防止無限累積溢出的令牌,這些溢出的令牌也 是儲存在一個具有固定深度的共享令牌桶(sharedtokenbucket)中。
[0010] 普通令牌桶算法,是在有報文需要通過令牌桶的時候,才去計算新生成的令牌。而 在上述方法中,要將溢出的令牌儲存在共享令牌桶,就需要通過定時器來定期計算每個空 閑的令牌桶生產(chǎn)的令牌,并將其儲存到共享令牌桶中。
[0011] 定時器的目的是為了在指定的時間觸發(fā)異步事件,執(zhí)行指定的回調(diào)函數(shù)。比如對 于一個令牌桶,產(chǎn)生令牌的速率是2000000/秒(20M),令牌桶的深度是2000 (2k),那么就 需要啟動周期為〇. 1毫秒的定時器,每〇. 1毫秒去更新(或轉(zhuǎn)移)一次令牌數(shù)量,也就是每 秒觸發(fā)1萬次計算,這將消耗大量的處理資源。而且,這還只是一個令牌桶的情況,如果系 統(tǒng)中有幾十或者幾百個令牌桶,那造成的處理資源的消耗將會大大增加。

【發(fā)明內(nèi)容】

[0012] 針對現(xiàn)有基于令牌桶的資源調(diào)度方法對處理資源的消耗大的問題,本發(fā)明提出一 種基于令牌桶的數(shù)據(jù)傳輸調(diào)度方法,不需要對每個調(diào)度實體的令牌桶設(shè)置定時器來轉(zhuǎn)移溢 出的令牌,降低對處理資源的消耗。
[0013] 一種基于令牌桶的數(shù)據(jù)傳輸調(diào)度方法,包括以下步驟:
[0014] 對各個調(diào)度實體分別設(shè)置普通令牌桶,并設(shè)置共享令牌桶,其中,所述普通令牌桶 具有第一初始令牌生成速率,所述共享令牌桶具有第二初始令牌生成速率;
[0015] 如果所述普通令牌桶滿足預(yù)設(shè)的空閑條件,則將所述普通令牌桶的令牌生成速率 設(shè)置為零,并將所述共享令牌桶的令牌生成速率更新為所述第二初始令牌生成速率與當(dāng)前 時刻各個空閑的普通令牌桶的第一初始令牌生成速率之和;
[0016] 如果所述普通令牌桶滿足預(yù)設(shè)的非空閑條件,則將所述普通令牌桶的令牌生成速 率設(shè)置為所述第一初始令牌生成速率,并將所述共享令牌桶的令牌生成速率更新為所述第 二初始令牌生成速率與當(dāng)前時刻各個空閑的普通令牌桶的第一初始令牌生成速率之和。
[0017] 本發(fā)明還提供一種降低對處理資源的消耗的基于令牌桶的數(shù)據(jù)傳輸調(diào)度系統(tǒng)。
[0018] 一種基于令牌桶的數(shù)據(jù)傳輸調(diào)度系統(tǒng),包括:
[0019] 配置模塊,用于對各個調(diào)度實體分別設(shè)置普通令牌桶,并設(shè)置共享令牌桶,其中, 所述普通令牌桶具有第一初始令牌生成速率,所述共享令牌桶具有第二初始令牌生成速 率;
[0020] 調(diào)度模塊,用于如果所述普通令牌桶滿足預(yù)設(shè)的空閑條件,則將所述普通令牌桶 的令牌生成速率設(shè)置為零,并將所述共享令牌桶的令牌生成速率更新為所述第二初始令牌 生成速率與當(dāng)前時刻各個空閑的普通令牌桶的第一初始令牌生成速率之和;如果所述普通 令牌桶滿足預(yù)設(shè)的非空閑條件,則將所述普通令牌桶的令牌生成速率設(shè)置為所述第一初始 令牌生成速率,并將所述共享令牌桶的令牌生成速率更新為所述第二初始令牌生成速率與 當(dāng)前時刻各個空閑的普通令牌桶的第一初始令牌生成速率之和。
[0021] 本發(fā)明提供了一種基于令牌桶的數(shù)據(jù)傳輸調(diào)度方法及其系統(tǒng),對各個調(diào)度實體設(shè) 置普通令牌桶,并設(shè)置各個調(diào)度實體共用的共享令牌桶。所述普通令牌桶記錄分配給對應(yīng) 的調(diào)度實體的令牌數(shù),當(dāng)所述普通令牌桶滿足預(yù)設(shè)的空閑條件時,通過所述普通令牌桶和 所述共享令牌桶的令牌生成速率的調(diào)整,將所述普通令牌桶的令牌生成速率轉(zhuǎn)移到所述共 享令牌桶的令牌生成速率中疊加;當(dāng)所述普通令牌桶不空閑時,將轉(zhuǎn)移到所述共享令牌桶 的令牌生成速率再轉(zhuǎn)回到所述普通令牌桶,恢復(fù)所述普通令牌桶的令牌生成速率。
[0022] 因此所述共享令牌桶可以分配各個調(diào)度實體的空閑帶寬資源,并且,因為所述一 般令牌桶的令牌生成速率調(diào)整為〇,所以不需要設(shè)置定時器來計算所述一般令牌桶溢出的 令牌,只需要在需要使用共享令牌桶中的令牌時,根據(jù)所述共享令牌桶的令牌生成速率計 算所述共享令牌桶的令牌數(shù)即可。大大減少了普通令牌桶設(shè)置定時器的計算量,降低對處 理資源的消耗。
【附圖說明】
[0023] 圖1是本發(fā)明基于令牌桶的數(shù)據(jù)傳輸調(diào)度方法的流程示意圖;
[0024] 圖2是本發(fā)明基于令牌桶的數(shù)據(jù)傳輸調(diào)度方法處理帶傳輸報文的流程示意圖;
[0025] 圖3是本發(fā)明基于令牌桶的數(shù)據(jù)傳輸調(diào)度系統(tǒng)第一實施方式的結(jié)構(gòu)示意圖;
[0026] 圖4是本發(fā)明基于令牌桶的數(shù)據(jù)傳輸調(diào)度系統(tǒng)第二實施方式的結(jié)構(gòu)示意圖。
【具體實施方式】
[0027] 請參閱圖1,圖1是本發(fā)明基于令牌桶的數(shù)據(jù)傳輸調(diào)度方法的流程示意圖。
[0028] 所述基于令牌桶的數(shù)據(jù)傳輸調(diào)度方法,包括以下步驟:
[0029]S102,對各個調(diào)度實體分別設(shè)置普通令牌桶,并設(shè)置共享令牌桶,其中,所述普通 令牌桶具有第一初始令牌生成速率,所述共享令牌桶具有第二初始令牌生成速率;
[0030] S104,如果所述普通令牌桶滿足預(yù)設(shè)的空閑條件,則將所述普通令牌桶的令牌生 成速率設(shè)置為零,并將所述共享令牌桶的令牌生成速率更新為所述第二初始令牌生成速率 與當(dāng)前時刻各個空閑的普通令牌桶的第一初始令牌生成速率之和;
[0031]S106,如果所述普通令牌桶滿足預(yù)設(shè)的非空閑條件,則將所述普通令牌桶的令牌 生成速率設(shè)置為所述第一初始令牌生成速率,并將所述共享令牌桶的令牌生成速率更新為 所述第二初始令牌生成速率與當(dāng)前時刻各個空閑的普通令牌桶的第一初始令牌生成速率 之和。
[0032] 本發(fā)明提供了一種基于令牌桶的數(shù)據(jù)傳輸調(diào)度方法,對各個調(diào)度實體設(shè)置普通令 牌桶,并設(shè)置各個調(diào)度實體共用的共享令牌桶。所述普通令牌桶記錄分配給對應(yīng)的調(diào)度實 體的令牌數(shù),當(dāng)所述普通令牌桶滿足預(yù)設(shè)的空閑條件時,通過所述普通令牌桶和所述共享 令牌桶的令牌生成速率的調(diào)整,將所述普通令牌桶的令牌生成速率轉(zhuǎn)移到所述共享令牌桶 的令牌生成速率中疊加;當(dāng)所述普通令牌桶不空閑時,將轉(zhuǎn)移到所述共享令牌桶的令牌生 成速率再轉(zhuǎn)回到所述普通令牌桶,恢復(fù)所述普通令牌桶的令牌生成速率。
[0033] 因此所述共享令牌桶可以分配各個調(diào)度實體的空閑帶寬資源,并且,因為所述一 般令牌桶的令牌生成速率調(diào)整為〇,所以不需要設(shè)置定時器來計算所述一般令牌桶溢出的 令牌,只需要在需要使用共享令牌桶中的令牌時,根據(jù)所述共享令牌桶的令牌生成速率計 算所述共享令牌桶的令牌數(shù)即可。大大減少了普通令牌桶設(shè)置定時器的計算量,降低對處 理資源的消耗。
[0034]其中,所述調(diào)度實體為系統(tǒng)中各個傳輸數(shù)據(jù)的實體,假設(shè)系統(tǒng)中有共享的總帶 寬資源R,和若干個調(diào)
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1