專利名稱:基于類的加權(quán)公平隊列調(diào)度方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)傳輸技術(shù)領(lǐng)域,尤指一種基于類的加權(quán)公平隊列調(diào)度方法及裝置。
背景技術(shù):
基于類的加權(quán)公平隊列(Class-basedWeighted Fair Queuing, CBWFQ)是服務(wù)質(zhì)量(QoS)隊列機制中的一種,CBWFQ增加了用戶定制隊列,是對加權(quán)公平隊列(Weighted Fair Queuing, WFQ)標準功能的擴展,CBWFQ也包含了低延遲隊列(Low Latency Queue, LLQ),能夠確保網(wǎng)絡(luò)帶寬按照用戶定義在各類網(wǎng)絡(luò)數(shù)據(jù)流之間按照設(shè)定規(guī)則公平分配?,F(xiàn)有技術(shù)中,基于類的加權(quán)公平隊列調(diào)度是根據(jù)報文的分類規(guī)則,將不同分類的 報文放入不同的隊列中,在報文離開設(shè)備接口時進行隊列帶寬限制的相關(guān)操作,并且出隊 報文。如圖1所示即為現(xiàn)有技術(shù)中基于類的加權(quán)公平隊列調(diào)度的實現(xiàn)原理示意圖,數(shù)據(jù)包 的發(fā)送調(diào)度具體包括下列過程將需要由某個設(shè)備接口發(fā)送的數(shù)據(jù)包按照用戶預(yù)先定義的分類規(guī)則進行分類。其中,合乎用戶自定義的同一個匹配規(guī)則的數(shù)據(jù)包將被當作同一個數(shù)據(jù)流放入同 一個CBWFQ隊列,不合乎用戶自定義的匹配規(guī)則的將按照WFQ分類規(guī)則處理,例如,相同 源IP地址、目的IP地址、源媒體接入控制(Media AccessControl,MAC)地址、目的MAC地 址、源端口號、目的端口號、協(xié)議類型、服務(wù)類型(Type of Service, T0S)的報文屬于同一 個數(shù)據(jù)流,每一個數(shù)據(jù)流被分配到一個保留的WFQ隊列中。例如圖1中所示的隊列1、隊列 2........隊列N等。在進行發(fā)送時,執(zhí)行出隊調(diào)度過程,按照CBWFQ設(shè)定的帶寬分配規(guī)則分配帶寬確 定離開接口的數(shù)據(jù)包并進行發(fā)送??梢?,現(xiàn)有的加權(quán)公平隊列調(diào)度,當用戶定義了 η個數(shù)據(jù)分類時,將會使用η個隊 列進行數(shù)據(jù)報文的緩沖;同時,對于非用戶定義的數(shù)據(jù)分類又會使用WFQ分類規(guī)則進行處 理,相當于又增加了多個緩沖隊列。隨著報文隊列數(shù)量的增加,在報文離開接口時,由于需 要輪詢調(diào)度各個報文隊列,將會出現(xiàn)頻繁的隊列調(diào)度切換操作,導(dǎo)致系統(tǒng)的性能下降,而一 旦系統(tǒng)性能不足,服務(wù)質(zhì)量也會顯著下降或完全得不到保證。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種基于類的加權(quán)公平隊列調(diào)度方法及裝置,用以解決現(xiàn)有技 術(shù)中基于類的加權(quán)公平隊列調(diào)度過程中存在的輪詢操作頻繁,導(dǎo)致系統(tǒng)性能下降的問題。本發(fā)明包括如下內(nèi)容一種基于類的加權(quán)公平隊列調(diào)度方法,包括根據(jù)接收到的報文所屬報文類別的報文緩沖量和表征該報文類別允許使用帶寬 的分類令牌桶的容量,為接收到的報文分配表征報文發(fā)送等級的等級令牌;以及根據(jù)通過接口的報文的發(fā)送流量和表征接口總帶寬的接口令牌桶的容量,確定當前調(diào)度周期內(nèi)的接口帶寬使用情況;根據(jù)預(yù)先設(shè)定的接口帶寬使用情況與允許的發(fā)送等級的對應(yīng)關(guān)系,確定出與所述 當前調(diào)度周期內(nèi)的接口帶寬使用情況對應(yīng)的允許的發(fā)送等級;將接收到的攜帶所述允許的發(fā)送等級對應(yīng)的等級令牌的報文,緩沖至報文發(fā)送隊 列中。
一種基于類的加權(quán)公平隊列調(diào)度裝置,包括令牌分配模塊,用于根據(jù)接收到的報文所屬報文類別的報文緩沖量和表征該報文類 別允許使用帶寬的分類令牌桶的容量,為接收到的報文分配表征報文發(fā)送等級的等級令牌;帶寬監(jiān)控模塊,用于根據(jù)通過接口的報文的發(fā)送流量和表征接口總帶寬的接口令 牌桶的容量,確定當前調(diào)度周期內(nèi)的接口帶寬使用情況;等級確定模塊,用于根據(jù)預(yù)先設(shè)定的接口帶寬使用情況與允許的發(fā)送等級的對應(yīng) 關(guān)系,確定出與所述當前調(diào)度周期內(nèi)的接口帶寬使用情況對應(yīng)的允許的發(fā)送等級;發(fā)送調(diào)度模塊,用于將接收到的攜帶所述允許的發(fā)送等級對應(yīng)的等級令牌的報 文,緩沖至報文發(fā)送隊列中。一種網(wǎng)絡(luò)設(shè)備,包括上述的基于類的加權(quán)公平隊列調(diào)度裝置。本發(fā)明有益效果如下本發(fā)明實施例提供的基于類的加權(quán)公平隊列調(diào)度方法及裝置,根據(jù)接收到的報文 所屬報文類別的報文緩沖量和表征該報文類別允許使用帶寬的分類令牌桶的容量,為接收 到的報文分配表征報文發(fā)送等級的等級令牌;以及根據(jù)通過接口的報文的發(fā)送流量和表征 接口總帶寬的接口令牌桶的容量,確定當前調(diào)度周期內(nèi)的接口帶寬使用情況;根據(jù)預(yù)先設(shè) 定的接口帶寬使用情況與允許的發(fā)送等級的對應(yīng)關(guān)系,確定出與所述當前調(diào)度周期內(nèi)的接 口帶寬使用情況對應(yīng)的允許的發(fā)送等級;將攜帶所述允許的發(fā)送等級的等級令牌的報文, 緩沖至報文發(fā)送隊列中。該方法通過分類令牌桶和接口令牌桶控制報文發(fā)送,實現(xiàn)了根據(jù) 接口的擁塞程度調(diào)度和控制報文發(fā)送,且使得分類報文不必再各自進入各自的緩沖隊列, 只需允許攜帶相應(yīng)等級令牌的報文緩沖進入統(tǒng)一的至少一個報文發(fā)送隊列中發(fā)送即可,這 有效的減少了報文緩沖隊列數(shù)量,從而減少了報文調(diào)度的隊列輪詢,避免了頻繁的調(diào)度切 換操作,節(jié)約了系統(tǒng)資源,提高了系統(tǒng)性能。
圖1為現(xiàn)有技術(shù)中基于類的加權(quán)公平隊列調(diào)度原理示意圖;圖2為本發(fā)明實施例一中基于類的加權(quán)公平隊列調(diào)度方法的流程圖;圖3為本發(fā)明實施例二中基于類的加權(quán)公平隊列調(diào)度方法的流程圖;圖4為本發(fā)明實施例二中分類令牌的分類結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例二中報文入隊的流程圖;圖6為本發(fā)明實施例二中報文出隊發(fā)送的的流程圖;圖7為本發(fā)明實施例中基于類的加權(quán)公平隊列調(diào)度裝置的結(jié)構(gòu)示意圖。
具體實施例方式本發(fā)明實施例提供的基于類的加權(quán)公平隊列調(diào)度方法,首先為接收到的報文分配不同發(fā)送等級的等級令牌,然后,根據(jù)接口的擁塞程度和報文攜帶的等級令牌決定是否發(fā)送接收到的報文,實現(xiàn)基于類的加權(quán)公平隊列的報文調(diào)度。具體實現(xiàn)過程通過下面的實施 例進行說明。實施例一本發(fā)明實施例一提供的基于類的加權(quán)公平隊列調(diào)度方法,其流程如圖2所示,執(zhí) 行步驟如下步驟SlOl 對接收到的報文進行分類。接收到其他網(wǎng)絡(luò)設(shè)備發(fā)送的報文后,首先根據(jù)用戶定義的規(guī)則對報文進行分類, 確定報文的分類號,并進行分類標識。其中,滿足用戶定義的分類規(guī)則的報文按照用戶定義的分類規(guī)則歸入相應(yīng)的類 另IJ,不滿足用戶定義的分類規(guī)則的報文按照加權(quán)公平隊列默認的分類規(guī)則歸入相應(yīng)的類 另IJ,并給接收到的報文添加分類標識。步驟S102 為分類后的報文分配表征報文發(fā)送等級的等級令牌。為分類后的報文分配等級令牌時,一般根據(jù)根據(jù)接收到的報文所屬報文類別的報 文緩沖量和表征該報文類別允許使用帶寬的分類令牌桶的容量,為接收到的報文分配表征 報文發(fā)送等級的等級令牌。其中,各類報文所對應(yīng)的分類令牌桶有一個預(yù)先分配的容量值,各報文類別所對 應(yīng)的分類令牌桶的容量總和小于等于表征接口帶寬的接口令牌桶的容量。根據(jù)各個分類令 牌桶的容量為各個報文類別分別設(shè)定至少一個發(fā)送等級閾值,以表征該類報文的分類令牌 桶的令牌分配情況。在為接收到的報文分配等級令牌時,具體先根據(jù)接收到的報文的類別,確定該報 文類別的報文緩沖情況,一般可以監(jiān)控接收到的報文所屬的報文類別的報文緩沖量。然后, 比較該報文類別的報文緩沖量與該報文類別的發(fā)送等級閾值的大小關(guān)系,分別確定接收到 的各個報文的發(fā)送等級,并為每個報文分配相應(yīng)發(fā)送等級的等級令牌。較佳的,在為報文分配等級令牌后,根據(jù)該報文類別的報文緩沖量更新該報文類 別對應(yīng)的令牌桶中的令牌數(shù)量。因此也可以說是根據(jù)接收到的報文所屬的報文類別的剩余令牌,為接收到的報文 分配所屬的報文類別的分類令牌桶中的發(fā)送等級最高的等級令牌。步驟S103 根據(jù)通過接口的報文的發(fā)送流量和表征接口總帶寬的接口令牌桶的 容量,確定當前調(diào)度周期內(nèi)的接口帶寬使用情況。具體包括監(jiān)控當前調(diào)度周期內(nèi)通過接口的報文的發(fā)送流量。判斷發(fā)送流量與預(yù)先設(shè)定的至少一個流量等級門限的大小關(guān)系,確定表征接口帶 寬使用情況的流量等級;其中,流量等級門限根據(jù)接口令牌桶容量設(shè)定。例如當發(fā)送流量 小于等于流量等級門限時,認為接口帶寬使用情況處于該門限對應(yīng)的流量等級。步驟S104:確定出與當前調(diào)度周期內(nèi)的接口帶寬使用情況對應(yīng)的允許的發(fā)送等 級。預(yù)先設(shè)定接口帶寬使用情況與允許的發(fā)送等級的對應(yīng)關(guān)系,具體可以設(shè)定每個流 量等級所對應(yīng)的允許的發(fā)送等級。在步驟S103確定出接口帶寬使用情況后,就可以根據(jù)預(yù) 先設(shè)定的接口帶寬使用情況與允許的發(fā)送等級的對應(yīng)關(guān)系,確定出與當前調(diào)度周期內(nèi)的接口帶寬使用情況對應(yīng)的允許的發(fā)送等級了。具體根據(jù)預(yù)先設(shè)定的接口的每個流量等級與所允許的發(fā)送等級的對應(yīng)關(guān)系,確定 表征當前調(diào)度周期內(nèi)的接口帶寬使用情況的當前流量等級所對應(yīng)的允許的發(fā)送等級。步驟S105 判斷接收到的報文攜帶的等級令牌是否是當前調(diào)度周期內(nèi)所允許的 發(fā)送等級的 等級令牌。也就是說,根據(jù)確定出的允許的發(fā)送等級和報文攜帶的等級令牌,判斷接收到的 各個報文是否能夠被發(fā)送。具體是根據(jù)接收到的報文攜帶的等級令牌是否是當前調(diào)度周期 內(nèi)所允許的發(fā)送等級的等級令牌來確定的。若是,則認為接收到的報文允許被發(fā)送,執(zhí)行步驟S106 ;否則,認為接收到的報文 不允許被發(fā)送,執(zhí)行步驟S107。步驟S106 將報文緩沖至報文發(fā)送隊列中。即將攜帶接口所允許的發(fā)送等級的等級令牌的報文,緩沖至報文發(fā)送隊列中。其 中,報文發(fā)送隊列可以只有一個,也可以根據(jù)優(yōu)先級設(shè)定兩個或多個。此時的報文發(fā)送隊列 與類別無關(guān),也就是說不用再根據(jù)類別緩沖報文之不同類別的發(fā)送隊列中。步驟S107 丟棄接收到的報文。不符合發(fā)送等級的報文將不能被發(fā)送。實施例二本發(fā)明實施例二提供的基于類的加權(quán)公平隊列調(diào)度方法,以包含兩個報文發(fā)送隊 列為例進行說明,其實現(xiàn)流程如圖3所示,執(zhí)行步驟如下步驟S201 對接收到的報文進行分類。具體劃分方式同步驟S101。例如網(wǎng)絡(luò)設(shè)備接收到的報文可能包含N個類別。步驟S202 為分類后的接收到的報文分配表征報文發(fā)送等級的等級令牌。具體分配過程同步驟S102。分類令牌的分配結(jié)構(gòu)可以如圖4所示??煞峙涞目偭钆茢?shù)根據(jù)接口帶寬確定,也 就是說根據(jù)接口令牌桶的容量確定。然后將令牌分配給各個報文類別,得到各個類別的分 類令牌桶。其中包括根據(jù)用戶定義的分類規(guī)則確定的報文類別和根據(jù)加權(quán)公平隊列默認的 分類規(guī)則確定的報文類別。首先,為用戶定義的類別(即定制類別)分配令牌,例如,分類
令牌1........分類令牌N等,剩余的令牌再分配給默認的報文分類。例如剩余令牌按照
報文TOS優(yōu)先級進行令牌發(fā)放,可以分為0-7共八級類別,然后根據(jù)當前存在的類別數(shù)進行 分配。例如接口帶寬為500M,分配給類別A的令牌桶1的容量(即該報文類別允許使
用帶寬)為50M,分配給類別B的令牌桶2容量的為40M,......,分配給類別X的令牌桶N
的容量為10M,等等。所有類別的令牌桶的容量總和不大于接口帶寬,即接口令牌桶的容量。 每個類別對應(yīng)保存自己當前令牌桶的可用令牌數(shù)量。以類別A的令牌桶1為例,設(shè)置的發(fā)送等級閾值分別為50M和60M,通過這兩個 等級閾值將報文發(fā)送等級分為三級,其中,報文緩沖量小于等于50M時,表示所分配給該報 文類別的帶寬尚未使用完,對應(yīng)的等級令牌為綠色令牌;報文緩沖量大于50M且小于60M 時,表示所分配給該報文類別的帶寬已使用完,但當接口帶寬允許時,可以允許發(fā)送該部分報文,對應(yīng)的等級令牌為黃色令牌,報文緩沖量大于60M時,表示所分配給該報文類別的帶寬已使用完,且其緩沖量已經(jīng)超過了分配給該報文類別的允許使用帶寬設(shè)定的等級閾值范 圍,則只有當接口帶寬相當空閑時,才可以允許發(fā)送該部分報文,對應(yīng)的等級令牌為紅色令 牌。上述發(fā)送等級閾值可以根據(jù)系統(tǒng)的緩沖能力設(shè)定。則當接收到的報文為類別A時,根據(jù)該報文類別的報文緩沖量為其分配綠色、黃 色或紅色的等級令牌。也可以說根據(jù)該類別的報文緩沖量和發(fā)送等級門限為報文著色,將 報文標記為綠色、黃色、紅色等。當報文緩沖量或說令牌桶的令牌分配達到相應(yīng)發(fā)送等級門 限時,為報文著相應(yīng)發(fā)送等級的顏色。如圖3中所示,令牌桶2、3.......N的使用情況與令牌桶1類似,不再一一贅述。
這樣接收到的報文都被添加了不同顏色的等級令牌。步驟S203 根據(jù)通過接口的報文的發(fā)送流量和表征接口總帶寬的接口令牌桶的 容量,確定當前調(diào)度周期內(nèi)的接口帶寬使用情況。具體包括例如仍以接口帶寬為500M為例,設(shè)定流量等級門限為400M和500M,當報文發(fā)送 流量小于等于400M時,確認流量等級為綠色等級,即接口使用情況為空閑,當報文發(fā)送流 量大于400M小于500M時,確認流量等級為黃色等級,即接口使用情況為正常;當流量大于 等于500M時,確認流量等級為紅色等級,即接口使用情況為擁堵。流量等級門限用于表征 接口是否處于擁塞狀態(tài),其可以根據(jù)接口的物理線路發(fā)送能力進行調(diào)整,可根據(jù)接口初始 發(fā)送能力進行初始化。在設(shè)定了流量等級閾值后,則通過監(jiān)控當前調(diào)度周期內(nèi)通過接口的報文的發(fā)送流 量,確認接口帶寬的使用情況,與設(shè)定的流量等級閾值比較,確認接口帶寬處于綠色、黃色 還是紅色的流量等級,從而可以知道接口的擁塞程度。步驟S204:確定出與當前調(diào)度周期內(nèi)的接口帶寬使用情況對應(yīng)的允許的發(fā)送等 級。預(yù)先設(shè)定接口帶寬使用情況與允許的發(fā)送等級的對應(yīng)關(guān)系,具體可以設(shè)定每個流 量等級所對應(yīng)的允許的發(fā)送等級。例如表征接口帶寬使用情況的流量等級為綠色時,可 以發(fā)送攜帶的等級令牌為綠色、黃色和紅色的所有報文;流量等級為黃色時,可以發(fā)送攜帶 的等級令牌為綠色、黃色的報文;流量等級為紅色時,只能發(fā)送攜帶的等級令牌為綠色的報 文。則在步驟S203確定了接口帶寬使用情況所對應(yīng)的流量等級之后,就可以確定允 許發(fā)送報文的發(fā)送等級,例如允許發(fā)送攜帶綠色等級令牌的報文,或允許發(fā)送攜帶綠色和 黃色等級令牌的報文,或攜帶任何一種等級令牌的報文都能發(fā)送。步驟S205 判斷接收到的報文攜帶的等級令牌是否是當前調(diào)度周期內(nèi)所允許的 發(fā)送等級的等級令牌。也就是說,根據(jù)接收到的報文攜帶的等級令牌是否是當前調(diào)度周期內(nèi)所允許的發(fā) 送等級的令牌確定報文是否能夠被發(fā)送。若是,則認為接收到的報文允許被發(fā)送,執(zhí)行步驟S207 ;否則,認為接收到的報文 不允許被發(fā)送,執(zhí)行步驟S206。例如根據(jù)帶寬使用情況確定當前流量等級為黃色,則若報文攜帶的是綠色和黃 色的等級令牌,則該報文允許被發(fā)送,若報文攜帶的是紅色的等級令牌,則該報文不能被發(fā)送。步驟S206 丟棄接收到的報文。攜帶的令牌不是允許發(fā)送等級的等級令牌的報文將被丟棄。步驟S207 根據(jù)確定出的允許發(fā)送的報文所屬的報文類別的優(yōu)先級,將允許發(fā)送 的報文緩沖 至對應(yīng)的優(yōu)先級隊列中。以報文發(fā)送的優(yōu)先級隊列包括低延遲報文隊列和質(zhì)量服務(wù)QoS普通隊列為例。其 中,低延遲緩沖隊列對滿足低延遲規(guī)則的在發(fā)送能力之內(nèi)的報文進行緩沖,普通報文緩沖 隊列,對非低延遲以外的處于發(fā)送能力之內(nèi)的報文進行緩沖,則報文入隊的流程如圖5所 示,包括步驟S207a 判斷報文是否屬于低延遲隊列的報文類別。若是,執(zhí)行步驟S207b ;否則,執(zhí)行步驟S207c。步驟S207b 將允許發(fā)送的報文緩沖至低延遲隊列中。步驟S207c 將允許發(fā)送的報文緩沖至質(zhì)量服務(wù)QoS普通隊列中。例如如果當前數(shù)據(jù)流匹配為語音或視頻流,則為低延遲數(shù)據(jù)報文流;如果為網(wǎng) 頁請求或者FTP流則為普通報文流。在用戶設(shè)置報文的分類時,需要同時為其制定單位時 間內(nèi)的發(fā)送能力,如果未進行發(fā)送能力的分配,則對接口的空閑帶寬進行均勻搶占。較佳的,各個分類的發(fā)送能力通過允許發(fā)送的報文數(shù)量或者比特流大小來體現(xiàn), 通過用戶配置確定,對于定制隊列的帶寬進行嚴格保證,對于未分配的帶寬則進行均勻搶 占。例如用戶可以定義滿足當前流為視頻流時,其占用的帶寬為接口帶寬的20% (根據(jù) 接口總帶寬換算為比特數(shù))或者為100,000數(shù)據(jù)包/秒(packets/s)。在比特數(shù)和允許發(fā) 送的報文數(shù)量沖突時,取其小。當設(shè)定的優(yōu)先級隊列比較多時,則需確定報文類別所屬的優(yōu)先級隊列,并將報文 緩沖至相應(yīng)的優(yōu)先級隊列中。步驟S208 根據(jù)緩沖隊列的優(yōu)先級出隊發(fā)送報文。仍以報文發(fā)送隊列包括低延遲報文隊列和質(zhì)量服務(wù)QoS普通隊列為例,則報文出 隊發(fā)送的流程如圖6所示,包括步驟S208a 判斷低延遲隊列中是否有待發(fā)送的報文。若是,執(zhí)行步驟S208c ;否則,執(zhí)行步驟S208b。步驟S208b 判斷普通隊列中是否有待發(fā)送的報文。若是,執(zhí)行步驟S208c ;否則,返回繼續(xù)執(zhí)行步驟S208a。步驟S208c 發(fā)送待發(fā)送的報文。發(fā)送帶發(fā)送的報文后返回繼續(xù)執(zhí)行步驟S208a,查看低延遲隊列中是否有待發(fā)送 的報文。當設(shè)定的優(yōu)先級隊列比較多時,則需按照優(yōu)先及順序依次調(diào)度各個優(yōu)先級隊列。也就是說,和現(xiàn)有實現(xiàn)方式不同,本申請可以只通過兩個隊列實現(xiàn)報文的緩沖。在 報文入隊階段,直接對對超過發(fā)送能力的報文進行丟棄處理,保證報文能夠出隊,同時,保 證低延遲緩沖隊列的優(yōu)先出隊。根據(jù)本發(fā)明實施例提供的上述基于類的加權(quán)公平隊列調(diào)度方法,可以提供一種基 于類的加權(quán)公平隊列調(diào)度裝置,該裝置可以設(shè)置于用于報文傳輸?shù)木W(wǎng)絡(luò)設(shè)備中,例如路由器、交換機等。該裝置的結(jié)構(gòu)如圖7所示,包括令牌分配模塊10、帶寬監(jiān)控模塊20、等級確 定模塊30和發(fā)送調(diào)度模塊40。令牌分配模塊10,用于根據(jù)接收到的報文所屬報文類別的報文緩沖量和表征該報 文類別允許使用帶寬的分類令牌桶的容量,為接收到的報文分配表征報文發(fā)送等級的等級 令牌。較佳的,上述令牌分配模塊10,具體包括閾值設(shè)置單元101、第一監(jiān)控單元102和 比較分配單元103。閾值設(shè)置單元101,用于根據(jù)分類令牌桶的容量為各個報文類別分別設(shè)定至少一 個發(fā)送等級閾 值。第一監(jiān)控單元102,用于監(jiān)控接收到的報文所屬的報文類別的報文緩沖量。比較分配單元103,用于第一監(jiān)控單元102得到的比較報文緩沖量與閾值設(shè)置單 元101設(shè)置的發(fā)送等級閾值的大小關(guān)系,分別確定接收到的各個報文的發(fā)送等級,并為每 個報文分配相應(yīng)發(fā)送等級的等級令牌。帶寬監(jiān)控模塊20,用于根據(jù)通過接口的報文的發(fā)送流量和表征接口總帶寬的接口 令牌桶的容量,確定當前調(diào)度周期內(nèi)的接口帶寬使用情況。較佳的,上述帶寬監(jiān)控模塊20,具體包括第二監(jiān)控單元201和等級判斷單元202。第二監(jiān)控單元201,用于監(jiān)控當前調(diào)度周期內(nèi)通過接口的報文的發(fā)送流量。等級判斷單元202,用于判斷第二監(jiān)控單元201確定出的發(fā)送流量與預(yù)先設(shè)定的 至少一個流量等級門限的大小關(guān)系,確定表征接口帶寬使用情況的流量等級;其中,流量等 級門限根據(jù)接口令牌桶容量設(shè)定。等級確定模塊30,用于根據(jù)預(yù)先設(shè)定的接口帶寬使用情況與允許的發(fā)送等級的對 應(yīng)關(guān)系,確定出與當前調(diào)度周期內(nèi)的接口帶寬使用情況對應(yīng)的允許的發(fā)送等級。發(fā)送調(diào)度模塊40,用于將攜帶允許的發(fā)送等級的等級令牌的報文,緩沖至報文發(fā) 送隊列中。較佳的,上述發(fā)送調(diào)度模塊40,具體包括判斷單元401和調(diào)度單元402。判斷單元401,用于根據(jù)接收到的報文攜帶的等級令牌,判斷該報文是否是當前調(diào) 度周期內(nèi)所允許的發(fā)送等級的報文。調(diào)度單元402,用于當判斷單元401判斷為是時,將報文緩沖至報文發(fā)送隊列中; 否則,丟棄該報文。較佳的,上述調(diào)度單元402,具體用于根據(jù)確定出的允許發(fā)送的報文所屬的報文 類別的優(yōu)先級,將允許發(fā)送的報文緩沖至對應(yīng)的優(yōu)先級隊列中。本發(fā)明實施例提供的上述基于類的加權(quán)公平隊列調(diào)度方法及裝置,根據(jù)每個報文 分類的報文緩沖量和該報文分類的允許使用帶寬,確定接收到的報文的發(fā)送等級,并根據(jù) 接口的實際流量確定接口的允許發(fā)送等級,實現(xiàn)對接收到的報文的發(fā)送控制,從而不必在 針對每個類別設(shè)定緩沖隊列,只需將允許發(fā)送的報文緩沖至一個、兩個或多個緩沖隊列中, 從而實現(xiàn)了緩沖隊列的合并,使得分類報文不必再各自進入各自的緩沖隊列,只需允許攜 帶相應(yīng)等級令牌的報文緩沖進入統(tǒng)一的至少一個報文發(fā)送隊列中發(fā)送即可;當采用多個 優(yōu)先級隊列緩沖時,只需將屬于同一個優(yōu)先級的各個類別的報文緩沖至該優(yōu)先級隊列中即 可,在報文出隊發(fā)送時,只需輪詢各個優(yōu)先級隊列即可;從而有效的減少了隊列輪詢的切換操作,避免了頻繁的調(diào)度切換操作所帶來的系統(tǒng)資源的浪費,節(jié)約了系統(tǒng)資源,提高了系統(tǒng)的性能。且本申請中通過接口令牌和分類令牌兩級令牌來控制報文發(fā)送,分類令牌和分類 號關(guān)聯(lián),實現(xiàn)了根據(jù)接口的擁塞程度調(diào)度和控制報文發(fā)送,有效的協(xié)調(diào)了接口發(fā)送能力和 各類別的報文的允許發(fā)送量,最大限度的提高了帶寬的利用率,避免了現(xiàn)有技術(shù)中僅根據(jù) 類別和優(yōu)先級為各個類別的緩沖隊列分配帶寬多帶來的帶寬分配不均、以及不能根據(jù)動態(tài) 需求實時調(diào)整的問題。且有效的解決了現(xiàn)有技術(shù)中低延時隊列中報文的大延時,也平滑普 通隊列由于調(diào)度不均衡出現(xiàn)的大延時情況,保證了同一優(yōu)先級報文的先進先出原則。由于分類令牌桶中的令牌可以根據(jù)當前類別的緩沖情況動態(tài)更新,從而僅采用單 一或幾個優(yōu)先級隊列即可實現(xiàn)現(xiàn)有技術(shù)中采用多個類別隊列緩沖、輪詢調(diào)度時的控制效 果,且每個類別剩余的允許使用帶寬可以根據(jù)優(yōu)先級和活躍程度在設(shè)定的發(fā)送等級閾值范 圍內(nèi)動態(tài)更新分配,確保數(shù)據(jù)量大的數(shù)據(jù)流能夠得到及時的發(fā)送。例如如果存在5個用戶設(shè)定的低延遲隊列,按照以前的方法,則在每次調(diào)度時都 需要輪詢這5個隊列,這時,如果第一個隊列在發(fā)送能力之內(nèi)一直有報文發(fā)送,則其后的低 延遲隊列中的報文延遲時間將增大。這種影響對最后輪詢到的隊列影響更明顯,普通隊列 和低延時隊列類似。而采用單個隊列緩沖則能保證先入隊列的報文先發(fā)送,能夠更大程度 上滿足報文的低延時要求。較佳的,可以根據(jù)視頻和非視頻的數(shù)據(jù)流對時延的不同要求將優(yōu)先級隊列設(shè)置為 低延時隊列和普通隊列,在根據(jù)上述方式確定進入這兩個隊列的報文后,在出隊發(fā)送時只 需輪詢這兩個隊列即可。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
一種基于類的加權(quán)公平隊列調(diào)度方法,其特征在于,包括根據(jù)接收到的報文所屬報文類別的報文緩沖量和表征該報文類別允許使用帶寬的分類令牌桶的容量,為接收到的報文分配表征報文發(fā)送等級的等級令牌;以及根據(jù)通過接口的報文的發(fā)送流量和表征接口總帶寬的接口令牌桶的容量,確定當前調(diào)度周期內(nèi)的接口帶寬使用情況;根據(jù)預(yù)先設(shè)定的接口帶寬使用情況與允許的發(fā)送等級的對應(yīng)關(guān)系,確定出與所述當前調(diào)度周期內(nèi)的接口帶寬使用情況對應(yīng)的允許的發(fā)送等級;將接收到的攜帶所述允許的發(fā)送等級對應(yīng)的等級令牌的報文,緩沖至報文發(fā)送隊列中。
2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)接收到的報文所屬報文類別的報 文緩沖量和表征該報文類別允許使用帶寬的分類令牌桶的容量,為接收到的報文分配表征 報文發(fā)送等級的等級令牌,具體包括根據(jù)所述分類令牌桶的容量為各個報文類別分別設(shè)定至少一個發(fā)送等級閾值;監(jiān)控接收到的報文所屬的報文類別的報文緩沖量,比較所述報文緩沖量與所述發(fā)送等 級閾值的大小關(guān)系,分別確定接收到的各個報文的發(fā)送等級,并為每個報文分配相應(yīng)發(fā)送 等級的等級令牌。
3.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)通過接口的報文的發(fā)送流量和 表征接口總帶寬的接口令牌桶的容量,確定當前調(diào)度周期內(nèi)的接口帶寬使用情況,具體包 括監(jiān)控當前調(diào)度周期內(nèi)通過接口的報文的發(fā)送流量;判斷所述發(fā)送流量與預(yù)先設(shè)定的至少一個流量等級門限的大小關(guān)系,確定表征接口帶 寬使用情況的流量等級;所述流量等級門限根據(jù)所述接口令牌桶容量設(shè)定。
4.如權(quán)利要求3所述的方法,其特征在于,所述根據(jù)預(yù)先設(shè)定的接口帶寬使用情況與 允許的發(fā)送等級的對應(yīng)關(guān)系,確定出與所述當前調(diào)度周期內(nèi)的接口帶寬使用情況對應(yīng)的允 許的發(fā)送等級,具體包括根據(jù)預(yù)先設(shè)定的接口的每個流量等級與所允許的發(fā)送等級的對應(yīng)關(guān)系,確定表征當前 調(diào)度周期內(nèi)的接口帶寬使用情況的當前流量等級所對應(yīng)的允許的發(fā)送等級。
5.如權(quán)利要求1所述的方法,其特征在于,各報文類別所對應(yīng)的分類令牌桶的容量總 和小于等于所述接口令牌桶的容量。
6.如權(quán)利要求1-5任一所述的方法,其特征在于,所述將報文緩沖至報文發(fā)送隊列中, 具體包括根據(jù)確定出的允許發(fā)送的報文所屬的報文類別的優(yōu)先級,將所述允許發(fā)送的報文緩沖 至對應(yīng)的優(yōu)先級隊列中。
7.如權(quán)利要求6所述的方法,其特征在于,所述報文發(fā)送隊列包括低延遲報文隊列和 質(zhì)量服務(wù)QoS普通隊列;所述根據(jù)確定出的允許發(fā)送的報文所屬的報文類別的優(yōu)先級,將所述允許發(fā)送的報文 緩沖至對應(yīng)的優(yōu)先級隊列中,具體包括判斷確定出的允許發(fā)送的報文所屬的報文類別是否屬于低延遲報文;若是,則將所述允許發(fā)送的報文緩沖至低延遲隊列中;否則,將所述允許發(fā)送的報文緩沖至質(zhì)量服務(wù)QoS普通隊列中。
8.一種基于類的加權(quán)公平隊列調(diào)度裝置,其特征在于,包括令牌分配模塊,用于根據(jù)接收到的報文所屬報文類別的報文緩沖量和表征該報文類別 允許使用帶寬的分類令牌桶的容量,為接收到的報文分配表征報文發(fā)送等級的等級令牌;帶寬監(jiān)控模塊,用于根據(jù)通過接口的報文的發(fā)送流量和表征接口總帶寬的接口令牌桶 的容量,確定當前調(diào)度周期內(nèi)的接口帶寬使用情況;等級確定模塊,用于根據(jù)預(yù)先設(shè)定的接口帶寬使用情況與允許的發(fā)送等級的對應(yīng)關(guān) 系,確定出與所述當前調(diào)度周期內(nèi)的接口帶寬使用情況對應(yīng)的允許的發(fā)送等級;發(fā)送調(diào)度模塊,用于將接收到的攜帶所述允許的發(fā)送等級對應(yīng)的等級令牌的報文,緩 沖至報文發(fā)送隊列中。
9.如權(quán)利要求8所述的裝置,其特征在于,所述令牌分配模塊,具體包括閾值設(shè)置單元,用于根據(jù)所述分類令牌桶的容量為各個報文類別分別設(shè)定至少一個發(fā) 送等級閾值;第一監(jiān)控單元,用于監(jiān)控接收到的報文所屬的報文類別的報文緩沖量;比較分配單元,用于比較所述報文緩沖量與所述發(fā)送等級閾值的大小關(guān)系,分別確定 接收到的各個報文的發(fā)送等級,并為每個報文分配相應(yīng)發(fā)送等級的等級令牌。
10.如權(quán)利要求8所述的裝置,其特征在于,所述帶寬監(jiān)控模塊,具體包括第二監(jiān)控單元,用于監(jiān)控當前調(diào)度周期內(nèi)通過接口的報文的發(fā)送流量;等級判斷單元,用于判斷所述發(fā)送流量與預(yù)先設(shè)定的至少一個流量等級門限的大小關(guān) 系,確定表征接口帶寬使用情況的流量等級;所述流量等級門限根據(jù)所述接口令牌桶容量 設(shè)定。
11.如權(quán)利要求8-10任一所述的裝置,其特征在于,所述調(diào)度單元,具體用于根據(jù)確定出的允許發(fā)送的報文所屬的報文類別的優(yōu)先級,將所述允許發(fā)送的報文緩沖 至對應(yīng)的優(yōu)先級隊列中。
12.—種網(wǎng)絡(luò)設(shè)備,其特征在于,包括如權(quán)利要求8-11任一所述的基于類的加權(quán)公平 隊列調(diào)度裝置。
全文摘要
本發(fā)明公開了一種基于類的加權(quán)公平隊列調(diào)度方法及裝置,該方法包括根據(jù)接收到的報文所屬報文類別的報文緩沖量和表征該報文類別允許使用帶寬的分類令牌桶的容量,為報文分配表征報文發(fā)送等級的等級令牌;根據(jù)通過接口的報文的發(fā)送流量和表征接口總帶寬的接口令牌桶的容量,確定當前調(diào)度周期內(nèi)的接口帶寬使用情況;根據(jù)預(yù)設(shè)的接口帶寬使用情況與允許的發(fā)送等級的對應(yīng)關(guān)系,確定與當前調(diào)度周期的接口帶寬使用情況對應(yīng)的允許的發(fā)送等級;將攜帶允許的發(fā)送等級的等級令牌的報文緩沖至報文發(fā)送隊列中。該方法通過分類令牌桶和接口令牌桶控制報文發(fā)送,減少了報文緩沖隊列數(shù)量,減少了報文調(diào)度的隊列輪詢,節(jié)約了系統(tǒng)資源,提高了系統(tǒng)性能。
文檔編號H04L12/56GK101848167SQ201010195729
公開日2010年9月29日 申請日期2010年6月1日 優(yōu)先權(quán)日2010年6月1日
發(fā)明者熊途 申請人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司