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

一種業(yè)務(wù)的調(diào)度方法及裝置的制造方法

文檔序號(hào):10555527閱讀:240來源:國知局
一種業(yè)務(wù)的調(diào)度方法及裝置的制造方法
【專利摘要】本發(fā)明實(shí)施例公開了一種業(yè)務(wù)的調(diào)度方法及裝置,首先,判斷隊(duì)頭分組的長度是否不大于預(yù)先為業(yè)務(wù)隊(duì)列設(shè)置的差額計(jì)數(shù)器;如果不大于,判斷隊(duì)列長度是否滿足業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件,如果滿足,發(fā)送隊(duì)頭分組;如果不滿足,判斷循環(huán)計(jì)數(shù)器是否不小于業(yè)務(wù)隊(duì)列的預(yù)設(shè)閾值,如果不小于,發(fā)送隊(duì)頭分組;發(fā)送隊(duì)頭分組后,初始化循環(huán)計(jì)數(shù)器,更新業(yè)務(wù)隊(duì)列的差額計(jì)數(shù)器,輪詢下一業(yè)務(wù)隊(duì)列;在隊(duì)頭分組的長度大于預(yù)先為業(yè)務(wù)隊(duì)列設(shè)置的差額計(jì)數(shù)器,或循環(huán)計(jì)數(shù)器小于預(yù)設(shè)閾值的情況下,更新業(yè)務(wù)隊(duì)列的循環(huán)計(jì)數(shù)器;更新業(yè)務(wù)隊(duì)列的差額計(jì)數(shù)器;輪詢下一業(yè)務(wù)隊(duì)列。采用本發(fā)明進(jìn)行業(yè)務(wù)調(diào)度時(shí),能夠兼顧公平性和時(shí)延性。
【專利說明】
_種業(yè)務(wù)的調(diào)度方法及裝置
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種業(yè)務(wù)的調(diào)度方法及裝置。
【背景技術(shù)】
[0002]在網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,分組調(diào)度方法是其中最為重要的研究方向之一,也是保證各種不同業(yè)務(wù)服務(wù)質(zhì)量的重要方法之一。分組調(diào)度方法通常應(yīng)用于由于資源競(jìng)爭(zhēng)而需要排隊(duì)等待調(diào)度的場(chǎng)景,是解決多個(gè)業(yè)務(wù)競(jìng)爭(zhēng)共享資源問題的有效手段。具體的,調(diào)度方法主要解決在通道帶寬有限的情況下,以什么樣的規(guī)則來安排各業(yè)務(wù)流分組的傳輸順序,從而確保這些業(yè)務(wù)流的服務(wù)質(zhì)量,以及通道帶寬的高利用率。現(xiàn)有技術(shù)中,對(duì)分組調(diào)度方法進(jìn)行了大量研究,也提出很多分組調(diào)度方法?,F(xiàn)有的分組調(diào)度方法包括基于優(yōu)先級(jí)的調(diào)度方法、基于輪詢的調(diào)度方法、基于GPS模型的調(diào)度方法和基于時(shí)延的調(diào)度方法等幾類,其中,基于輪詢的調(diào)度方法因其實(shí)現(xiàn)簡(jiǎn)單,所以在網(wǎng)絡(luò)通信中得到廣泛的應(yīng)用?;谳喸兊姆椒ǖ幕舅枷胧钦{(diào)度器循環(huán)地對(duì)每一個(gè)業(yè)務(wù)流的隊(duì)列進(jìn)行輪流服務(wù)來發(fā)送隊(duì)列中的分組。
[0003]差額輪詢(Deficit Round Robin,DRR)調(diào)度方法是常用的一種輪詢調(diào)度方法,該方法為每個(gè)業(yè)務(wù)隊(duì)列設(shè)置了一個(gè)帶寬定額,并設(shè)置一個(gè)差額計(jì)數(shù)器,其中帶寬定額為對(duì)應(yīng)業(yè)務(wù)隊(duì)列每輪獲得的服務(wù)字節(jié)數(shù),差額計(jì)數(shù)器中為每輪允許發(fā)送的字節(jié)數(shù)。在輪詢過程中,如果輪詢到的業(yè)務(wù)隊(duì)列的隊(duì)頭分組長度不大于該業(yè)務(wù)隊(duì)列對(duì)應(yīng)的差額計(jì)數(shù)器,就為這個(gè)隊(duì)列服務(wù)即發(fā)送這個(gè)隊(duì)頭分組;同時(shí)差額計(jì)數(shù)器的值需要減掉這個(gè)分組的長度值;反之,如果輪詢到的業(yè)務(wù)隊(duì)列要發(fā)送的分組長度大于該隊(duì)列對(duì)應(yīng)的差額計(jì)數(shù)器,則本輪不為該隊(duì)列服務(wù);再更新差額計(jì)數(shù)器為該業(yè)務(wù)隊(duì)列的帶寬定額與本輪差額計(jì)數(shù)器之和,然后,輪詢下一個(gè)業(yè)務(wù)隊(duì)列。該調(diào)度方法可以避免由不同業(yè)務(wù)隊(duì)列使用不同長度的分組而引起的不公平,但是,時(shí)延特性不好。

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

[0004]本發(fā)明實(shí)施例的目的在于提供一種業(yè)務(wù)的調(diào)度方法及裝置,以使在調(diào)度處理不同業(yè)務(wù)流的數(shù)據(jù)分組時(shí)兼顧時(shí)延性和公平性。
[0005]為達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種業(yè)務(wù)的調(diào)度方法及裝置。技術(shù)方案如下:
[0006]第一方面,一種業(yè)務(wù)的調(diào)度方法,所述方法包括:
[0007]針對(duì)輪詢到的非空的業(yè)務(wù)隊(duì)列,獲取所述業(yè)務(wù)隊(duì)列的隊(duì)列長度和隊(duì)頭分組的長度;
[0008]判斷所述隊(duì)頭分組的長度是否不大于預(yù)先為所述業(yè)務(wù)隊(duì)列設(shè)置的差額計(jì)數(shù)器;
[0009]如果不大于,判斷所述隊(duì)列長度是否滿足所述業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件,如果滿足,發(fā)送所述隊(duì)頭分組;如果不滿足,判斷預(yù)先為所述業(yè)務(wù)隊(duì)列設(shè)置的循環(huán)計(jì)數(shù)器是否不小于所述業(yè)務(wù)隊(duì)列的預(yù)設(shè)閾值,如果不小于,發(fā)送所述隊(duì)頭分組;
[0010]發(fā)送所述隊(duì)頭分組后,初始化所述業(yè)務(wù)隊(duì)列的循環(huán)計(jì)數(shù)器,根據(jù)所述業(yè)務(wù)隊(duì)列的隊(duì)列長度與發(fā)送的所述隊(duì)頭分組的長度的相對(duì)大小確定更新步長,以所述更新步長更新所述業(yè)務(wù)隊(duì)列的差額計(jì)數(shù)器,輪詢下一業(yè)務(wù)隊(duì)列;
[0011]在所述隊(duì)頭分組的長度大于預(yù)先為所述業(yè)務(wù)隊(duì)列設(shè)置的差額計(jì)數(shù)器,或,所述循環(huán)計(jì)數(shù)器小于所述預(yù)設(shè)閾值的情況下,以增長的方式更新所述業(yè)務(wù)隊(duì)列的循環(huán)計(jì)數(shù)器;以所述業(yè)務(wù)隊(duì)列的帶寬定額更新所述業(yè)務(wù)隊(duì)列的差額計(jì)數(shù)器;輪詢下一業(yè)務(wù)隊(duì)列。
[0012]優(yōu)選地,所述判斷所述隊(duì)列長度是否滿足所述業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件,包括:
[0013]判斷所述隊(duì)列長度是否不小于所述業(yè)務(wù)隊(duì)列的隊(duì)列閾值,如果不小于,表示所述隊(duì)列長度滿足所述業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件;如果小于,表示所述隊(duì)列長度不滿足所述業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件;其中,所述隊(duì)列閾值是根據(jù)所有業(yè)務(wù)隊(duì)列時(shí)延需求的相對(duì)大小預(yù)設(shè)的。
[0014]優(yōu)選地,所述業(yè)務(wù)隊(duì)列的預(yù)設(shè)閾值為所述業(yè)務(wù)隊(duì)列的帶寬定額與最大分組長度的比值。
[0015]優(yōu)選地,所述根據(jù)所述業(yè)務(wù)隊(duì)列長度與發(fā)送的所述隊(duì)頭分組的長度的相對(duì)大小確定更新步長,包括:
[0016]當(dāng)發(fā)送的所述隊(duì)頭分組的長度與所述業(yè)務(wù)隊(duì)列長度相等時(shí),確定發(fā)送的所述隊(duì)頭分組的長度為更新步長;
[0017]當(dāng)發(fā)送的所述隊(duì)頭分組的長度與所述業(yè)務(wù)隊(duì)列長度不相等時(shí),確定發(fā)送的所述隊(duì)頭分組的長度與所述業(yè)務(wù)隊(duì)列的帶寬定額的差值為更新步長。
[0018]優(yōu)選地,當(dāng)所述業(yè)務(wù)隊(duì)列由空變?yōu)榉强諘r(shí),初始化所述差額計(jì)數(shù)器,其中,所述差額計(jì)數(shù)器的初始值為最大分組長度和所述業(yè)務(wù)隊(duì)列的帶寬定額之和。
[0019]第二方面,一種業(yè)務(wù)的調(diào)度裝置,其特征在于,所述裝置包括:
[0020]獲取模塊,用于針對(duì)輪詢到的非空的業(yè)務(wù)隊(duì)列,獲取所述業(yè)務(wù)隊(duì)列的隊(duì)列長度和隊(duì)頭分組的長度;
[0021]第一判斷模塊,用于判斷所述隊(duì)頭分組的長度是否不大于預(yù)先為所述業(yè)務(wù)隊(duì)列設(shè)置的差額計(jì)數(shù)器;
[0022]第二判斷模塊,用于所述第一判斷模塊的判斷結(jié)果為不大于時(shí),判斷所述隊(duì)列長度是否滿足所述業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件;
[0023]第三判斷模塊,用于所述第二判斷模塊的判斷結(jié)果為不滿足時(shí),判斷預(yù)先為所述業(yè)務(wù)隊(duì)列設(shè)置的循環(huán)計(jì)數(shù)器是否不小于所述業(yè)務(wù)隊(duì)列的預(yù)設(shè)閾值;
[0024]發(fā)送模塊,用于所述第二判斷模塊的判斷結(jié)果為滿足時(shí),或所述第三判斷模塊的判斷結(jié)果為不小于時(shí),發(fā)送所述隊(duì)頭分組;
[0025]差額計(jì)數(shù)器第一更新模塊,用于發(fā)送模塊發(fā)送所述隊(duì)頭分組后,初始化所述業(yè)務(wù)隊(duì)列的循環(huán)計(jì)數(shù)器,根據(jù)所述業(yè)務(wù)隊(duì)列的隊(duì)列長度與發(fā)送的所述隊(duì)頭分組的長度的相對(duì)大小確定更新步長,以所述更新步長更新所述業(yè)務(wù)隊(duì)列的差額計(jì)數(shù)器;
[0026]差額計(jì)數(shù)器第二更新模塊,用于在所述第一判斷模塊的判斷結(jié)果為大于,或所述第三判斷模塊的判斷結(jié)果為小于的情況下,以增長的方式更新所述業(yè)務(wù)隊(duì)列的循環(huán)計(jì)數(shù)器;以所述業(yè)務(wù)隊(duì)列的帶寬定額更新所述業(yè)務(wù)隊(duì)列的差額計(jì)數(shù)器;
[0027]輪詢模塊,用于輪詢下一業(yè)務(wù)隊(duì)列。
[0028]優(yōu)選地,所述第二判斷模塊,具體用于:
[0029]判斷所述隊(duì)列長度是否不小于所述業(yè)務(wù)隊(duì)列的隊(duì)列閾值,如果不小于,表示所述隊(duì)列長度滿足所述業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件;如果小于,表示所述隊(duì)列長度不滿足所述業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件;其中,所述隊(duì)列閾值是根據(jù)所有業(yè)務(wù)隊(duì)列時(shí)延需求的相對(duì)大小預(yù)設(shè)的。
[0030]優(yōu)選地,所述業(yè)務(wù)隊(duì)列的預(yù)設(shè)閾值為所述業(yè)務(wù)隊(duì)列的帶寬定額與最大分組長度的比值。
[0031 ]優(yōu)選地,所述差額計(jì)數(shù)器第一更新模塊,包括:
[0032]第一確定單元,用于當(dāng)發(fā)送的所述隊(duì)頭分組的長度與所述業(yè)務(wù)隊(duì)列長度相等時(shí),確定發(fā)送的所述隊(duì)頭分組的長度為更新步長;
[0033]第二確定單元,用于當(dāng)發(fā)送的所述隊(duì)頭分組的長度與所述業(yè)務(wù)隊(duì)列長度不相等時(shí),確定發(fā)送的所述隊(duì)頭分組的長度與所述業(yè)務(wù)隊(duì)列的帶寬定額的差值為更新步長。
[0034]優(yōu)選地,所述裝置還包括:
[0035]初始化模塊,用于當(dāng)所述業(yè)務(wù)隊(duì)列由空變?yōu)榉强諘r(shí),初始化所述差額計(jì)數(shù)器,其中,所述差額計(jì)數(shù)器的初始值為最大分組長度和所述業(yè)務(wù)隊(duì)列的帶寬定額之和。
[0036]本發(fā)明提出的一種業(yè)務(wù)的調(diào)度方法及裝置,相對(duì)于現(xiàn)有技術(shù)中差額輪詢(DeficitRound Robin,DRR)調(diào)度方法,增加了時(shí)延優(yōu)先級(jí)條件,時(shí)延優(yōu)先級(jí)條件的設(shè)置使得低時(shí)延要求的業(yè)務(wù)隊(duì)列盡可能優(yōu)先得到服務(wù),以使?jié)M足業(yè)務(wù)隊(duì)列的時(shí)延要求。對(duì)于不滿足時(shí)延優(yōu)先級(jí)條件的,再根據(jù)判斷預(yù)先為業(yè)務(wù)隊(duì)列設(shè)置的循環(huán)計(jì)數(shù)器是否大于或等于該業(yè)務(wù)隊(duì)列的預(yù)設(shè)閾值的判斷結(jié)果確定是否發(fā)送隊(duì)頭分組,如果不發(fā)送,會(huì)更新循環(huán)計(jì)數(shù)器,這樣設(shè)置可以保證業(yè)務(wù)隊(duì)列的任意時(shí)候的隊(duì)頭分組經(jīng)一定的輪詢次數(shù)之后都會(huì)被發(fā)送,從而保證不會(huì)因?yàn)殚L時(shí)間不被服務(wù)而產(chǎn)生丟包等現(xiàn)象,以保證業(yè)務(wù)隊(duì)列間的公平性。因此,上述方法在處理不同業(yè)務(wù)流的數(shù)據(jù)分組時(shí)能夠兼顧時(shí)延性和公平性。
【附圖說明】
[0037]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0038]圖1為本發(fā)明實(shí)施例所采用的一種分組調(diào)度模型示意圖;
[0039]圖2為本發(fā)明實(shí)施例提供的一種業(yè)務(wù)的調(diào)度方法的流程示意圖;
[0040]圖3為本發(fā)明實(shí)施例提供的一種業(yè)務(wù)的調(diào)度裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0041]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0042]如圖1所示,圖1所示的是一種分組調(diào)度模型,常應(yīng)用于網(wǎng)絡(luò)設(shè)備中,如交換機(jī)、路由器等,其中,所采用的業(yè)務(wù)隊(duì)列是先入先出(FIFO)隊(duì)列,可以是一類業(yè)務(wù)共享一個(gè)業(yè)務(wù)隊(duì)列,也可以是per-flow業(yè)務(wù)隊(duì)列。
[0043]具體工作時(shí),業(yè)務(wù)分組到達(dá)分類器,由分類器根據(jù)預(yù)設(shè)的分類規(guī)則將分組分類后放入相應(yīng)的業(yè)務(wù)隊(duì)列。對(duì)于數(shù)據(jù)鏈路層來說,常用的分類規(guī)則是按照IEEE 802.1Q和IEEE802.1P的標(biāo)準(zhǔn)定義。802.1Q的幀頭的VLAN標(biāo)簽中定義了服務(wù)類別(CoS)字段,802.1P定義了業(yè)務(wù)的優(yōu)先級(jí)機(jī)制。對(duì)于網(wǎng)絡(luò)層來說,國際互聯(lián)網(wǎng)工程任務(wù)組(IETF)制定的區(qū)分服務(wù)(DiffServ)模型重新定義了 IPv4報(bào)頭的服務(wù)類型(ToS)字段(IPv6頭中的TC域),并重新命名為DS字段,為每一類型業(yè)務(wù)指定一個(gè)類型標(biāo)志DiffSer代碼點(diǎn)(DSCP),填寫在該字段。通常情況下,不同的業(yè)務(wù)類型如視頻業(yè)務(wù)、音頻業(yè)務(wù)、路由控制業(yè)務(wù)、網(wǎng)絡(luò)管理等,CoS值或DSCP值有一定的映射關(guān)系。例如,實(shí)時(shí)音頻業(yè)務(wù)的CoS值為5,DSCP值為46。分類器可以根據(jù)CoS值或DSCP值對(duì)分組進(jìn)行分類。對(duì)于per-flow隊(duì)列的情況,分類器可以根據(jù)源地址、目的地址、協(xié)議類型、源端口、目的端口等五元組確定分組屬于哪個(gè)業(yè)務(wù),并將其放入相應(yīng)業(yè)務(wù)隊(duì)列。
[0044]針對(duì)圖1所示的一種分組調(diào)度模型,對(duì)業(yè)務(wù)隊(duì)列進(jìn)行輪詢,進(jìn)而進(jìn)行業(yè)務(wù)調(diào)度,下面先對(duì)本發(fā)明實(shí)施例提供的一種業(yè)務(wù)的調(diào)度方法進(jìn)行說明。
[0045]如圖2所示,圖2為本發(fā)明實(shí)施例提供的一種業(yè)務(wù)的調(diào)度方法的流程示意圖,該方法主要應(yīng)用于調(diào)度器,該方法包括:
[0046]SlOl、針對(duì)輪詢到的非空的業(yè)務(wù)隊(duì)列,獲取該業(yè)務(wù)隊(duì)列的隊(duì)列長度和隊(duì)頭分組的長度;
[0047]當(dāng)有分組到達(dá)時(shí),分類器根據(jù)預(yù)設(shè)的分類原則進(jìn)行分類,將分組放入對(duì)應(yīng)的業(yè)務(wù)隊(duì)列。
[0048]當(dāng)調(diào)度器輪詢到某一業(yè)務(wù)隊(duì)列時(shí),可通過獲取對(duì)應(yīng)業(yè)務(wù)隊(duì)列的隊(duì)列長度,以此來判斷該業(yè)務(wù)隊(duì)列是否是空的業(yè)務(wù)隊(duì)列,當(dāng)然,也可以通過其他方式來獲知該業(yè)務(wù)隊(duì)列是否為空的業(yè)務(wù)隊(duì)列,例如,通過與分類器的通信來獲得。如果是空的業(yè)務(wù)隊(duì)列,直接跳過,繼續(xù)輪詢下一業(yè)務(wù)隊(duì)列;如果不是空的業(yè)務(wù)隊(duì)列,則開始進(jìn)行步驟S101。
[0049]這里的隊(duì)頭分組,是位于該業(yè)務(wù)隊(duì)列中的隊(duì)頭的分組,也是該業(yè)務(wù)隊(duì)列被輪詢調(diào)度時(shí),優(yōu)先被發(fā)送的分組。
[0050]S102、判斷該隊(duì)頭分組的長度是否不大于預(yù)先為該業(yè)務(wù)隊(duì)列設(shè)置的差額計(jì)數(shù)器;如果不大于,執(zhí)行步驟S103 ;如果大于,執(zhí)行步驟S107。
[0051]該業(yè)務(wù)隊(duì)列的差額計(jì)數(shù)器,為本次輪詢中,服務(wù)該業(yè)務(wù)隊(duì)列時(shí),允許發(fā)送的最大字符數(shù)。如果隊(duì)頭分組的長度大于預(yù)先為該業(yè)務(wù)隊(duì)列設(shè)置的差額計(jì)數(shù)器,本次輪詢,將不發(fā)送該業(yè)務(wù)隊(duì)列的隊(duì)頭分組,即本次輪詢不服務(wù)該業(yè)務(wù)隊(duì)列。
[0052]S103、判斷該隊(duì)列長度是否滿足該業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件;如果滿足,執(zhí)行步驟S105 ;如果不滿足,執(zhí)行步驟S104 ;
[0053]這里的時(shí)延優(yōu)先級(jí)條件是根據(jù)業(yè)務(wù)隊(duì)列的時(shí)延要求設(shè)置的。
[0054]具體地,判斷該隊(duì)列長度是否滿足該業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件,包括:
[0055]判斷該隊(duì)列長度是否大于該業(yè)務(wù)隊(duì)列的隊(duì)列閾值,如果是,表示該隊(duì)列長度滿足該業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件;如果否,表示該隊(duì)列長度不滿足該業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件;其中,該隊(duì)列閾值是根據(jù)所有業(yè)務(wù)隊(duì)列時(shí)延需求的相對(duì)大小預(yù)設(shè)的。根據(jù)每個(gè)業(yè)務(wù)隊(duì)列的實(shí)時(shí)性要求,設(shè)置每個(gè)業(yè)務(wù)隊(duì)列的隊(duì)列閾值,例如,若有3個(gè)非空的業(yè)務(wù)隊(duì)列,相對(duì)來說,第二個(gè)業(yè)務(wù)隊(duì)列要求的時(shí)延小,第一個(gè)業(yè)務(wù)隊(duì)列要求的時(shí)延次之,第三個(gè)業(yè)務(wù)隊(duì)列無特殊的時(shí)延要求,則可以設(shè)置第二個(gè)業(yè)務(wù)隊(duì)列的隊(duì)列閾值小于第一個(gè)業(yè)務(wù)隊(duì)列的隊(duì)列閾值,第三個(gè)業(yè)務(wù)隊(duì)列的隊(duì)列閾值可以設(shè)置的最大。這樣設(shè)置,在不考慮其他因素的情況下,第二個(gè)業(yè)務(wù)隊(duì)列被優(yōu)先服務(wù)的可能性最大,第一個(gè)業(yè)務(wù)隊(duì)列被優(yōu)先服務(wù)的可能性次之,第三個(gè)業(yè)務(wù)隊(duì)列被優(yōu)先服務(wù)的可能性最小。
[0056]S104、判斷預(yù)先為該業(yè)務(wù)隊(duì)列設(shè)置的循環(huán)計(jì)數(shù)器是否不小于該業(yè)務(wù)隊(duì)列的預(yù)設(shè)閾值,如果不小于,執(zhí)行步驟S105 ;如果小于,執(zhí)行步驟S107。
[0057]這里的循環(huán)計(jì)數(shù)器是用來記錄該業(yè)務(wù)隊(duì)列的當(dāng)前的隊(duì)頭分組處在隊(duì)頭后未被發(fā)送,所經(jīng)歷的輪詢次數(shù)。
[0058]本步驟中,該業(yè)務(wù)隊(duì)列的預(yù)設(shè)閾值為帶寬定額與最大分組長度的比值,其中,該業(yè)務(wù)隊(duì)列的帶寬定額為該業(yè)務(wù)隊(duì)列每輪獲得的服務(wù)字節(jié)數(shù)。
[0059]S105、發(fā)送該隊(duì)頭分組,執(zhí)行步驟S106;
[0060]發(fā)送該隊(duì)頭分組,即該業(yè)務(wù)隊(duì)列獲得了服務(wù)。
[0061]S106、初始化該業(yè)務(wù)隊(duì)列的循環(huán)計(jì)數(shù)器,根據(jù)該業(yè)務(wù)隊(duì)列的隊(duì)列長度與發(fā)送的該隊(duì)頭分組的長度的相對(duì)大小確定更新步長,以該更新步長更新該業(yè)務(wù)隊(duì)列的差額計(jì)數(shù)器;
[0062]該隊(duì)頭分組被發(fā)送后,需要初始化該業(yè)務(wù)隊(duì)列的循環(huán)計(jì)數(shù)器,以重新記錄,當(dāng)前進(jìn)入隊(duì)頭的分組將經(jīng)歷的輪詢次數(shù)。
[0063]本實(shí)施例中,根據(jù)該業(yè)務(wù)隊(duì)列長度與發(fā)送的隊(duì)頭分組的長度的相對(duì)大小確定更新步長,包括:
[0064]當(dāng)發(fā)送的隊(duì)頭分組的長度與該業(yè)務(wù)隊(duì)列長度相等時(shí),即意味著發(fā)送完隊(duì)頭分組后,該業(yè)務(wù)隊(duì)列變?yōu)榭贞?duì)列,確定發(fā)送的隊(duì)頭分組的長度為更新步長;具體實(shí)施時(shí),可以確定任意值為更新步長,當(dāng)確定O為更新步長時(shí),代表不進(jìn)行更新。
[0065]當(dāng)發(fā)送的隊(duì)頭分組的長度與該業(yè)務(wù)隊(duì)列長度不相等時(shí),即意味著發(fā)送完隊(duì)頭分組后,該業(yè)務(wù)隊(duì)列仍然為非空隊(duì)列,確定發(fā)送的隊(duì)頭分組的長度與該業(yè)務(wù)隊(duì)列的帶寬定額的差值為更新步長,具體地,使得當(dāng)前的差額計(jì)數(shù)器減去發(fā)送的隊(duì)頭分組的長度,再加上下一輪詢應(yīng)該獲得的該業(yè)務(wù)隊(duì)列的帶寬定額。
[0066]S107、以增長的方式更新該業(yè)務(wù)隊(duì)列的循環(huán)計(jì)數(shù)器;以該業(yè)務(wù)隊(duì)列的帶寬定額更新該業(yè)務(wù)隊(duì)列的差額計(jì)數(shù)器;
[0067]本步驟中,以增長的方式更新該業(yè)務(wù)隊(duì)列,以記錄該隊(duì)頭分組經(jīng)歷的輪詢次數(shù)。
[0068]該隊(duì)頭分組未被發(fā)送時(shí),會(huì)重新獲得一個(gè)該業(yè)務(wù)隊(duì)列的帶寬定額。
[0069]S108、輪詢下一業(yè)務(wù)隊(duì)列。
[0070]需要說明的是,在進(jìn)行輪詢調(diào)度之前,需要為每一個(gè)業(yè)務(wù)隊(duì)列預(yù)先設(shè)置好以下參數(shù):
[0071]帶寬定額,根據(jù)不同業(yè)務(wù)的帶寬需求設(shè)置的;
[0072]差額計(jì)數(shù)器,為最大分組長度和每個(gè)業(yè)務(wù)隊(duì)列的帶寬定額之和;
[0073]循環(huán)計(jì)數(shù)器,初始值可以設(shè)置為0,當(dāng)然,也可以設(shè)置成其他值;
[0074]隊(duì)列閾值,根據(jù)不同業(yè)務(wù)的實(shí)時(shí)性需求設(shè)置的;
[0075]另外,業(yè)務(wù)隊(duì)列是由空變?yōu)榉强諘r(shí),初始化該業(yè)務(wù)隊(duì)列的差額計(jì)數(shù)器,其中,該差額計(jì)數(shù)器的初始值為最大分組長度和該業(yè)務(wù)隊(duì)列的帶寬定額之和。
[0076]應(yīng)用本發(fā)明圖2所示實(shí)施例,相對(duì)于現(xiàn)有技術(shù)中差額輪詢(Deficit Round Robin,DRR)調(diào)度方法,增加了時(shí)延優(yōu)先級(jí)條件,時(shí)延優(yōu)先級(jí)條件的設(shè)置使得低時(shí)延要求的業(yè)務(wù)隊(duì)列盡可能優(yōu)先得到服務(wù),以使?jié)M足業(yè)務(wù)隊(duì)列的時(shí)延要求。對(duì)于不滿足時(shí)延優(yōu)先級(jí)條件的,再根據(jù)判斷預(yù)先為業(yè)務(wù)隊(duì)列設(shè)置的循環(huán)計(jì)數(shù)器是否大于或等于該業(yè)務(wù)隊(duì)列的預(yù)設(shè)閾值的判斷結(jié)果確定是否發(fā)送隊(duì)頭分組,如果不發(fā)送,會(huì)更新循環(huán)計(jì)數(shù)器,這樣設(shè)置可以保證業(yè)務(wù)隊(duì)列的任意時(shí)候的隊(duì)頭分組經(jīng)一定的輪詢次數(shù)之后都會(huì)被發(fā)送,從而保證不會(huì)因?yàn)殚L時(shí)間不被服務(wù)而產(chǎn)生丟包等現(xiàn)象,以保證業(yè)務(wù)隊(duì)列間的公平性。因此,上述方法在處理不同業(yè)務(wù)流的數(shù)據(jù)分組時(shí)能夠兼顧時(shí)延性和公平性。
[0077]實(shí)際上,本發(fā)明采用的方法相對(duì)于現(xiàn)有技術(shù),雖然設(shè)置了時(shí)延的優(yōu)先級(jí)限制,但是這并不是一個(gè)嚴(yán)格的優(yōu)先級(jí)限制,當(dāng)隊(duì)列長度沒有達(dá)到隊(duì)列閾值時(shí),并不是等待比其時(shí)延優(yōu)先級(jí)高的隊(duì)列為空時(shí)才能得到調(diào)度,而是通過循環(huán)計(jì)數(shù)器,使其總有得到調(diào)度的機(jī)會(huì)。
[0078]如圖3所示,圖3所示的是本發(fā)明實(shí)施例提供的一種業(yè)務(wù)的調(diào)度裝置的結(jié)構(gòu)示意圖,該裝置主要應(yīng)用于調(diào)度器,該裝置包括:
[0079]獲取模塊31,用于針對(duì)輪詢到的非空的業(yè)務(wù)隊(duì)列,獲取該業(yè)務(wù)隊(duì)列的隊(duì)列長度和隊(duì)頭分組的長度;
[0080]第一判斷模塊32,用于判斷該隊(duì)頭分組的長度是否不大于預(yù)先為該業(yè)務(wù)隊(duì)列設(shè)置的差額計(jì)數(shù)器;
[0081 ]第二判斷模塊33,用于第一判斷模塊32的判斷結(jié)果為不大于時(shí),判斷該隊(duì)列長度是否滿足該業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件;
[0082]第三判斷模塊34,用于第二判斷模塊33的判斷結(jié)果為不滿足時(shí),判斷預(yù)先為該業(yè)務(wù)隊(duì)列設(shè)置的循環(huán)計(jì)數(shù)器是否不小于該業(yè)務(wù)隊(duì)列的預(yù)設(shè)閾值;
[0083]發(fā)送模塊35,用于第二判斷模塊33的判斷結(jié)果為滿足時(shí),或第三判斷模塊34的判斷結(jié)果為不小于時(shí),發(fā)送該隊(duì)頭分組;
[0084]差額計(jì)數(shù)器第一更新模塊36,用于發(fā)送模塊35發(fā)送該隊(duì)頭分組后,初始化該業(yè)務(wù)隊(duì)列的循環(huán)計(jì)數(shù)器,根據(jù)該業(yè)務(wù)隊(duì)列的隊(duì)列長度與發(fā)送的該隊(duì)頭分組的長度的相對(duì)大小確定更新步長,以該更新步長更新該業(yè)務(wù)隊(duì)列的差額計(jì)數(shù)器;
[0085]差額計(jì)數(shù)器第二更新模塊37,用于在所述第一判斷模塊32的判斷結(jié)果為大于,或所述第三判斷模塊34的判斷結(jié)果為小于的情況下,以增長的方式更新該業(yè)務(wù)隊(duì)列的循環(huán)計(jì)數(shù)器;以該業(yè)務(wù)隊(duì)列的帶寬定額更新該業(yè)務(wù)隊(duì)列的差額計(jì)數(shù)器。
[0086]輪詢模塊38,用于輪詢下一業(yè)務(wù)隊(duì)列。
[0087]本實(shí)施例中,所述第二判斷模塊33,具體用于:
[0088]判斷該隊(duì)列長度是否大于該業(yè)務(wù)隊(duì)列的隊(duì)列閾值,如果不小于,表示該隊(duì)列長度滿足該業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件;如果小于,表示該隊(duì)列長度不滿足該業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件;其中,隊(duì)列閾值是根據(jù)所有業(yè)務(wù)隊(duì)列時(shí)延需求的相對(duì)大小預(yù)設(shè)的。
[0089]具體實(shí)施時(shí),所述業(yè)務(wù)隊(duì)列的預(yù)設(shè)閾值為帶寬定額與最大分組長度的比值。
[0090]進(jìn)一步地,差額計(jì)數(shù)器第一更新模塊36,包括:
[0091]第一確定單元,用于當(dāng)發(fā)送的隊(duì)頭分組的長度與該業(yè)務(wù)隊(duì)列長度相等時(shí),確定發(fā)送的隊(duì)頭分組的長度為更新步長;
[0092]第二確定單元,用于當(dāng)發(fā)送的隊(duì)頭分組的長度與該業(yè)務(wù)隊(duì)列長度不相等時(shí),確定發(fā)送的隊(duì)頭分組的長度與該業(yè)務(wù)隊(duì)列的帶寬定額的差值為更新步長。
[0093]上述結(jié)構(gòu),還包括:
[0094]初始化模塊,用于當(dāng)所述業(yè)務(wù)隊(duì)列由空變?yōu)榉强諘r(shí),初始化該業(yè)務(wù)隊(duì)列的差額計(jì)數(shù)器,其中,所述差額計(jì)數(shù)器的初始值為最大分組長度和該業(yè)務(wù)隊(duì)列的帶寬定額之和。
[0095]應(yīng)用本發(fā)明圖3所示實(shí)施例,相對(duì)于現(xiàn)有技術(shù)中差額輪詢(Deficit Round Robin,DRR)調(diào)度方法,增加了時(shí)延優(yōu)先級(jí)條件,時(shí)延優(yōu)先級(jí)條件的設(shè)置使得低時(shí)延要求的業(yè)務(wù)隊(duì)列盡可能優(yōu)先得到服務(wù),以使?jié)M足業(yè)務(wù)隊(duì)列的時(shí)延要求。對(duì)于不滿足時(shí)延優(yōu)先級(jí)條件的,再根據(jù)判斷預(yù)先為業(yè)務(wù)隊(duì)列設(shè)置的循環(huán)計(jì)數(shù)器是否大于或等于該業(yè)務(wù)隊(duì)列的預(yù)設(shè)閾值的判斷結(jié)果確定是否發(fā)送隊(duì)頭分組,如果不發(fā)送,會(huì)更新循環(huán)計(jì)數(shù)器,這樣設(shè)置可以保證業(yè)務(wù)隊(duì)列的任意時(shí)候的隊(duì)頭分組經(jīng)一定的輪詢次數(shù)之后都會(huì)被發(fā)送,從而保證不會(huì)因?yàn)殚L時(shí)間不被服務(wù)而產(chǎn)生丟包等現(xiàn)象,以保證業(yè)務(wù)隊(duì)列間的公平性。因此,上述方法在處理不同業(yè)務(wù)流的數(shù)據(jù)分組時(shí)能夠兼顧時(shí)延性和公平性。
[0096]需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0097]本說明書中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
[0098]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施方式中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,這里所稱得的存儲(chǔ)介質(zhì),如:R0M/RAM、磁碟、光盤等。
[0099]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種業(yè)務(wù)的調(diào)度方法,其特征在于,所述方法包括: 針對(duì)輪詢到的非空的業(yè)務(wù)隊(duì)列,獲取所述業(yè)務(wù)隊(duì)列的隊(duì)列長度和隊(duì)頭分組的長度; 判斷所述隊(duì)頭分組的長度是否不大于預(yù)先為所述業(yè)務(wù)隊(duì)列設(shè)置的差額計(jì)數(shù)器; 如果不大于,判斷所述隊(duì)列長度是否滿足所述業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件,如果滿足,發(fā)送所述隊(duì)頭分組;如果不滿足,判斷預(yù)先為所述業(yè)務(wù)隊(duì)列設(shè)置的循環(huán)計(jì)數(shù)器是否不小于所述業(yè)務(wù)隊(duì)列的預(yù)設(shè)閾值,如果不小于,發(fā)送所述隊(duì)頭分組; 發(fā)送所述隊(duì)頭分組后,初始化所述業(yè)務(wù)隊(duì)列的循環(huán)計(jì)數(shù)器,根據(jù)所述業(yè)務(wù)隊(duì)列的隊(duì)列長度與發(fā)送的所述隊(duì)頭分組的長度的相對(duì)大小確定更新步長,以所述更新步長更新所述業(yè)務(wù)隊(duì)列的差額計(jì)數(shù)器,輪詢下一業(yè)務(wù)隊(duì)列; 在所述隊(duì)頭分組的長度大于預(yù)先為所述業(yè)務(wù)隊(duì)列設(shè)置的差額計(jì)數(shù)器,或,所述循環(huán)計(jì)數(shù)器小于所述預(yù)設(shè)閾值的情況下,以增長的方式更新所述業(yè)務(wù)隊(duì)列的循環(huán)計(jì)數(shù)器;以所述業(yè)務(wù)隊(duì)列的帶寬定額更新所述業(yè)務(wù)隊(duì)列的差額計(jì)數(shù)器;輪詢下一業(yè)務(wù)隊(duì)列。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述隊(duì)列長度是否滿足所述業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件,包括: 判斷所述隊(duì)列長度是否不小于所述業(yè)務(wù)隊(duì)列的隊(duì)列閾值,如果不小于,表示所述隊(duì)列長度滿足所述業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件;如果小于,表示所述隊(duì)列長度不滿足所述業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件;其中,所述隊(duì)列閾值是根據(jù)所有業(yè)務(wù)隊(duì)列時(shí)延需求的相對(duì)大小預(yù)設(shè)的。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述業(yè)務(wù)隊(duì)列的預(yù)設(shè)閾值為所述業(yè)務(wù)隊(duì)列的帶寬定額與最大分組長度的比值。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述業(yè)務(wù)隊(duì)列長度與發(fā)送的所述隊(duì)頭分組的長度的相對(duì)大小確定更新步長,包括: 當(dāng)發(fā)送的所述隊(duì)頭分組的長度與所述業(yè)務(wù)隊(duì)列長度相等時(shí),確定發(fā)送的所述隊(duì)頭分組的長度為更新步長; 當(dāng)發(fā)送的所述隊(duì)頭分組的長度與所述業(yè)務(wù)隊(duì)列長度不相等時(shí),確定發(fā)送的所述隊(duì)頭分組的長度與所述業(yè)務(wù)隊(duì)列的帶寬定額的差值為更新步長。5.根據(jù)權(quán)利要求1-4任一項(xiàng)所述的方法,其特征在于,當(dāng)所述業(yè)務(wù)隊(duì)列由空變?yōu)榉强諘r(shí),初始化所述差額計(jì)數(shù)器,其中,所述差額計(jì)數(shù)器的初始值為最大分組長度和所述業(yè)務(wù)隊(duì)列的帶寬定額之和。6.一種業(yè)務(wù)的調(diào)度裝置,其特征在于,所述裝置包括: 獲取模塊,用于針對(duì)輪詢到的非空的業(yè)務(wù)隊(duì)列,獲取所述業(yè)務(wù)隊(duì)列的隊(duì)列長度和隊(duì)頭分組的長度; 第一判斷模塊,用于判斷所述隊(duì)頭分組的長度是否不大于預(yù)先為所述業(yè)務(wù)隊(duì)列設(shè)置的差額計(jì)數(shù)器; 第二判斷模塊,用于所述第一判斷模塊的判斷結(jié)果為不大于時(shí),判斷所述隊(duì)列長度是否滿足所述業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件; 第三判斷模塊,用于所述第二判斷模塊的判斷結(jié)果為不滿足時(shí),判斷預(yù)先為所述業(yè)務(wù)隊(duì)列設(shè)置的循環(huán)計(jì)數(shù)器是否不小于所述業(yè)務(wù)隊(duì)列的預(yù)設(shè)閾值; 發(fā)送模塊,用于所述第二判斷模塊的判斷結(jié)果為滿足時(shí),或所述第三判斷模塊的判斷結(jié)果為不小于時(shí),發(fā)送所述隊(duì)頭分組; 差額計(jì)數(shù)器第一更新模塊,用于發(fā)送模塊發(fā)送所述隊(duì)頭分組后,初始化所述業(yè)務(wù)隊(duì)列的循環(huán)計(jì)數(shù)器,根據(jù)所述業(yè)務(wù)隊(duì)列的隊(duì)列長度與發(fā)送的所述隊(duì)頭分組的長度的相對(duì)大小確定更新步長,以所述更新步長更新所述業(yè)務(wù)隊(duì)列的差額計(jì)數(shù)器; 差額計(jì)數(shù)器第二更新模塊,用于在所述第一判斷模塊的判斷結(jié)果為大于,或所述第三判斷模塊的判斷結(jié)果為小于的情況下,以增長的方式更新所述業(yè)務(wù)隊(duì)列的循環(huán)計(jì)數(shù)器;以所述業(yè)務(wù)隊(duì)列的帶寬定額更新所述業(yè)務(wù)隊(duì)列的差額計(jì)數(shù)器; 輪詢模塊,用于輪詢下一業(yè)務(wù)隊(duì)列。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述第二判斷模塊,具體用于: 判斷所述隊(duì)列長度是否不小于所述業(yè)務(wù)隊(duì)列的隊(duì)列閾值,如果不小于,表示所述隊(duì)列長度滿足所述業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件;如果小于,表示所述隊(duì)列長度不滿足所述業(yè)務(wù)隊(duì)列的時(shí)延優(yōu)先級(jí)條件;其中,所述隊(duì)列閾值是根據(jù)所有業(yè)務(wù)隊(duì)列時(shí)延需求的相對(duì)大小預(yù)設(shè)的。8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述業(yè)務(wù)隊(duì)列的預(yù)設(shè)閾值為所述業(yè)務(wù)隊(duì)列的帶寬定額與最大分組長度的比值。9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述差額計(jì)數(shù)器第一更新模塊,包括: 第一確定單元,用于當(dāng)發(fā)送的所述隊(duì)頭分組的長度與所述業(yè)務(wù)隊(duì)列長度相等時(shí),確定發(fā)送的所述隊(duì)頭分組的長度為更新步長; 第二確定單元,用于當(dāng)發(fā)送的所述隊(duì)頭分組的長度與所述業(yè)務(wù)隊(duì)列長度不相等時(shí),確定發(fā)送的所述隊(duì)頭分組的長度與所述業(yè)務(wù)隊(duì)列的帶寬定額的差值為更新步長。10.根據(jù)權(quán)利要求6-9任一項(xiàng)所述的裝置,其特征在于,所述裝置還包括: 初始化模塊,用于當(dāng)所述業(yè)務(wù)隊(duì)列由空變?yōu)榉强諘r(shí),初始化所述差額計(jì)數(shù)器,其中,所述差額計(jì)數(shù)器的初始值為最大分組長度和所述業(yè)務(wù)隊(duì)列的帶寬定額之和。
【文檔編號(hào)】H04L12/853GK105915468SQ201610437207
【公開日】2016年8月31日
【申請(qǐng)日】2016年6月17日
【發(fā)明人】王文東, 趙成安, 龔向陽, 闕喜戎
【申請(qǐng)人】北京郵電大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1