一種分層服務(wù)質(zhì)量隊(duì)列限速方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)設(shè)備技術(shù)領(lǐng)域,尤其涉及一種分層服務(wù)質(zhì)量隊(duì)列限速方法和裝置。
【背景技術(shù)】
[0002]隨著計(jì)算機(jī)網(wǎng)絡(luò)的高速發(fā)展,帶寬、延遲、抖動(dòng)敏感的語(yǔ)音、圖像等重要數(shù)據(jù)越來(lái)越多地在網(wǎng)上傳輸。為了能夠?qū)?shù)據(jù)傳輸性能提供不同的承諾和保證,目前廣泛使用了服務(wù)質(zhì)量(QoS, Quality of Service)技術(shù)來(lái)保證網(wǎng)絡(luò)傳輸?shù)馁|(zhì)量。
[0003]隨著用戶規(guī)模的擴(kuò)大,業(yè)務(wù)種類的增多,要求以太網(wǎng)設(shè)備不僅能夠進(jìn)一步細(xì)化區(qū)分業(yè)務(wù)流量,而且還能夠?qū)Χ鄠€(gè)用戶、多種業(yè)務(wù)、多種流量的傳輸進(jìn)行分層調(diào)度。顯然,這些應(yīng)用對(duì)于傳統(tǒng)的QoS技術(shù)來(lái)說(shuō),是很難實(shí)現(xiàn)的。
[0004]為了達(dá)到分層調(diào)度的目的,分層服務(wù)質(zhì)量(HQoS, Hierarchical Quality ofService)技術(shù)將調(diào)度策略組裝成了分層次的樹(shù)狀結(jié)構(gòu)。樹(shù)狀結(jié)構(gòu)的節(jié)點(diǎn)類型共有三種:根節(jié)點(diǎn)、分支節(jié)點(diǎn)和葉子節(jié)點(diǎn);其中,根節(jié)點(diǎn)是流量的匯聚點(diǎn),與一個(gè)調(diào)度器(Scheduler)相對(duì)應(yīng);處于中間層次的每個(gè)分支節(jié)點(diǎn)分別與一個(gè)調(diào)度器相對(duì)應(yīng);處于最底層的每個(gè)葉子節(jié)點(diǎn)都分別與一個(gè)調(diào)度隊(duì)列相對(duì)應(yīng)。
[0005]通常的分層結(jié)構(gòu),級(jí)聯(lián)端口對(duì)應(yīng)于根節(jié)點(diǎn),最底層通常有兩個(gè)葉子節(jié)點(diǎn),對(duì)應(yīng)兩個(gè)隊(duì)列:一個(gè)是單播隊(duì)列,另一個(gè)組播隊(duì)列。一般單播隊(duì)列和組播隊(duì)列分別用不同寄存器進(jìn)行管理,但是,這樣做存在的弊端是:由于單播隊(duì)列和組播隊(duì)列的限速之和不能超過(guò)其共同的父節(jié)點(diǎn)的限速,因此,在單播和組播業(yè)務(wù)流量不穩(wěn)定的情況下,單獨(dú)對(duì)單播隊(duì)列和組播隊(duì)列進(jìn)行限速有可能會(huì)發(fā)生一個(gè)隊(duì)列帶寬不夠用,而另一個(gè)隊(duì)列帶寬出現(xiàn)冗余的情況,如此,會(huì)大大降低用戶體驗(yàn)。
【發(fā)明內(nèi)容】
[0006]有鑒于此,本發(fā)明實(shí)施例期望提供一種分層服務(wù)質(zhì)量隊(duì)列限速方法和裝置,能夠?qū)崿F(xiàn)同一分支節(jié)點(diǎn)下單播隊(duì)列和組播隊(duì)列的合理限速,進(jìn)而提高用戶體驗(yàn)。
[0007]為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0008]本發(fā)明實(shí)施例提供了一種分層服務(wù)質(zhì)量隊(duì)列限速方法,所述方法包括:
[0009]初始化級(jí)聯(lián)端口的調(diào)度結(jié)構(gòu),建立多級(jí)調(diào)度結(jié)構(gòu);
[0010]根據(jù)所述多級(jí)調(diào)度結(jié)構(gòu)對(duì)需要限速的兄弟節(jié)點(diǎn)的父節(jié)點(diǎn)進(jìn)行限速設(shè)置。
[0011]上述方案中,所述建立多級(jí)調(diào)度結(jié)構(gòu)包括:建立包括根節(jié)點(diǎn)、分支節(jié)點(diǎn)、葉子節(jié)點(diǎn)在內(nèi)的多級(jí)調(diào)度結(jié)構(gòu)。
[0012]上述方案中,所述方法還包括:分別記錄級(jí)聯(lián)端口對(duì)應(yīng)的根節(jié)點(diǎn)、分支節(jié)點(diǎn)以及葉子節(jié)點(diǎn)的硬件索引。
[0013]上述方案中,所述對(duì)需要限速的兄弟節(jié)點(diǎn)的父節(jié)點(diǎn)進(jìn)行限速設(shè)置包括:根據(jù)所述多級(jí)調(diào)度結(jié)構(gòu)以及記錄的級(jí)聯(lián)端口對(duì)應(yīng)的根節(jié)點(diǎn)、分支節(jié)點(diǎn)以及葉子節(jié)點(diǎn)的硬件索引,對(duì)需要限速的兄弟葉子節(jié)點(diǎn)共同的上級(jí)分支節(jié)點(diǎn)進(jìn)行限速設(shè)置。
[0014]上述方案中,所述進(jìn)行限速設(shè)置為:對(duì)節(jié)點(diǎn)的硬件表項(xiàng)限速寄存器進(jìn)行限速設(shè)置。
[0015]本發(fā)明實(shí)施例還提供了一種分層服務(wù)質(zhì)量隊(duì)列限速裝置,所述裝置包括:
[0016]調(diào)度結(jié)構(gòu)建立單元,用于初始化級(jí)聯(lián)端口的調(diào)度結(jié)構(gòu),建立多級(jí)調(diào)度結(jié)構(gòu);
[0017]限速設(shè)置單元,用于根據(jù)所述多級(jí)調(diào)度結(jié)構(gòu)對(duì)需要限速的兄弟節(jié)點(diǎn)的父節(jié)點(diǎn)進(jìn)行限速設(shè)置。
[0018]上述方案中,所述調(diào)度結(jié)構(gòu)建立單元建立多級(jí)調(diào)度結(jié)構(gòu)包括:建立包括根節(jié)點(diǎn)、分支節(jié)點(diǎn)、葉子節(jié)點(diǎn)在內(nèi)的多級(jí)調(diào)度結(jié)構(gòu)。
[0019]上述方案中,所述裝置還包括存儲(chǔ)單元,用于分別記錄級(jí)聯(lián)端口對(duì)應(yīng)的根節(jié)點(diǎn)、分支節(jié)點(diǎn)以及葉子節(jié)點(diǎn)的硬件索引。
[0020]上述方案中,所述限速設(shè)置單元對(duì)需要限速的兄弟節(jié)點(diǎn)的父節(jié)點(diǎn)進(jìn)行限速設(shè)置包括:所述限速設(shè)置單元根據(jù)所述多級(jí)調(diào)度結(jié)構(gòu)以及記錄的級(jí)聯(lián)端口對(duì)應(yīng)的根節(jié)點(diǎn)、分支節(jié)點(diǎn)以及葉子節(jié)點(diǎn)的硬件索引,對(duì)需要限速的兄弟葉子節(jié)點(diǎn)共同的上級(jí)分支節(jié)點(diǎn)進(jìn)行限速設(shè)置。
[0021]上述方案中,所述限速設(shè)置單元進(jìn)行限速設(shè)置為:所述限速設(shè)置單元對(duì)節(jié)點(diǎn)的硬件表項(xiàng)限速寄存器進(jìn)行限速設(shè)置。
[0022]本發(fā)明實(shí)施例所提供的分層服務(wù)質(zhì)量隊(duì)列限速方法和裝置,先初始化級(jí)聯(lián)端口的調(diào)度結(jié)構(gòu),建立多級(jí)調(diào)度結(jié)構(gòu);再根據(jù)所述多級(jí)調(diào)度結(jié)構(gòu)對(duì)需要限速的兄弟節(jié)點(diǎn)的父節(jié)點(diǎn)進(jìn)行限速設(shè)置。如此,能夠避免單獨(dú)對(duì)各個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)的單播隊(duì)列和組播隊(duì)列分別進(jìn)行限速時(shí),由于業(yè)務(wù)流量的不穩(wěn)定造成一個(gè)隊(duì)列帶寬不夠用,而另一個(gè)隊(duì)列帶寬出現(xiàn)冗余的情況,進(jìn)而使本發(fā)明實(shí)施例能實(shí)現(xiàn)同一分支節(jié)點(diǎn)下單播隊(duì)列和組播隊(duì)列的合理限速,提高用戶體驗(yàn)。
【附圖說(shuō)明】
[0023]圖1為本發(fā)明實(shí)施例分層服務(wù)質(zhì)量隊(duì)列限速方法流程示意圖;
[0024]圖2為本發(fā)明實(shí)施例多級(jí)調(diào)度結(jié)構(gòu)示意圖;
[0025]圖3為本發(fā)明傳統(tǒng)方案對(duì)單播隊(duì)列和組播隊(duì)列限速方法示意圖;
[0026]圖4為本發(fā)明實(shí)施例對(duì)單播隊(duì)列和組播隊(duì)列限速方法示意圖;
[0027]圖5為本發(fā)明實(shí)施例分層服務(wù)質(zhì)量隊(duì)列限速裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0028]目前,用戶應(yīng)用在進(jìn)行限速、內(nèi)存管理單元(MMU, Memory Management Unit)內(nèi)存分配時(shí),僅考慮單播隊(duì)列UC和組播隊(duì)列MC的限速之和不能超過(guò)其共同的父節(jié)點(diǎn)的限速,t匕如:要求優(yōu)先級(jí)為7的調(diào)度器限速不超過(guò)100M,且該優(yōu)先級(jí)為7的調(diào)度器對(duì)應(yīng)一個(gè)分支節(jié)點(diǎn);那么,對(duì)于該分支節(jié)點(diǎn)下對(duì)應(yīng)葉子節(jié)點(diǎn)的單播隊(duì)列和組播隊(duì)列進(jìn)行限速分配時(shí),是分別給單播隊(duì)列和組播隊(duì)列設(shè)置固定限速,且兩者限速之和不超過(guò)100M,例如:限定單播隊(duì)列最大速度為40M、組播隊(duì)列最大速度為60M ;如此,就會(huì)存在這樣的問(wèn)題:當(dāng)實(shí)際業(yè)務(wù)流傳輸時(shí),如果單播隊(duì)列業(yè)務(wù)流為30M,組播隊(duì)列業(yè)務(wù)流為70M時(shí),那么,按照上述限速方案,單播隊(duì)列的30M的業(yè)務(wù)流量能夠全部通過(guò),且還存在冗余流量;而組播隊(duì)列的70M業(yè)務(wù)流量由于限速原因,僅能通過(guò)60M,還存在1M無(wú)法通過(guò),也就是說(shuō),流量不夠用;這樣的話,從實(shí)際應(yīng)用來(lái)看,優(yōu)先級(jí)7的調(diào)度器通過(guò)的總業(yè)務(wù)流量只有90M,這顯然不是用戶所期望的結(jié)果。
[0029]本發(fā)明實(shí)施例中,先初始化級(jí)聯(lián)端口的調(diào)度結(jié)構(gòu),建立多級(jí)調(diào)度結(jié)構(gòu);再根據(jù)所述多級(jí)調(diào)度結(jié)構(gòu)對(duì)需要限速的兄弟節(jié)點(diǎn)的父節(jié)點(diǎn)進(jìn)行限速設(shè)置。
[0030]這里,所述建立多級(jí)調(diào)度結(jié)構(gòu)包括:建立包括根節(jié)點(diǎn)、分支節(jié)點(diǎn)、葉子節(jié)點(diǎn)在內(nèi)的多級(jí)調(diào)度結(jié)構(gòu)。
[0031]所述方法還包括:分別記錄級(jí)聯(lián)端口對(duì)應(yīng)的根節(jié)點(diǎn)、分支節(jié)點(diǎn)以及葉子節(jié)點(diǎn)的硬件索引;
[0032]相應(yīng)的,所述對(duì)需要限速的兄弟節(jié)點(diǎn)的父節(jié)點(diǎn)進(jìn)行限速設(shè)置包括:根據(jù)記錄的級(jí)聯(lián)端口對(duì)應(yīng)的根節(jié)點(diǎn)、分支節(jié)點(diǎn)以及葉子節(jié)點(diǎn)的硬件索弓I,對(duì)需要限速的兄弟葉子節(jié)點(diǎn)的共同的上級(jí)分支節(jié)點(diǎn)進(jìn)行限速設(shè)置;
[0033]其中,所述對(duì)節(jié)點(diǎn)進(jìn)行限速設(shè)置為:對(duì)節(jié)點(diǎn)的硬件表項(xiàng)限速寄存器進(jìn)行限速設(shè)置。
[0034]下面結(jié)合附圖及具體實(shí)施例,對(duì)本發(fā)明技術(shù)方案的實(shí)施作進(jìn)一步的詳細(xì)描述。本發(fā)明實(shí)施例分層服務(wù)質(zhì)量隊(duì)列限速方法流程,如圖1所示,包括以下步驟:
[0035]步驟101:初始化級(jí)聯(lián)端口的調(diào)度結(jié)構(gòu),建立多級(jí)調(diào)度結(jié)構(gòu);
[0036]這里,所述建立多級(jí)調(diào)度結(jié)構(gòu)包括:建立包括根節(jié)點(diǎn)、分支節(jié)點(diǎn)、葉子節(jié)點(diǎn)在內(nèi)的多級(jí)調(diào)度結(jié)構(gòu);其中,根節(jié)點(diǎn)、分支節(jié)點(diǎn)和葉子節(jié)點(diǎn)分別對(duì)應(yīng)一個(gè)硬件表項(xiàng)限速寄存器。
[0037]具體的,本發(fā)明實(shí)施例所述多級(jí)調(diào)度結(jié)構(gòu)如圖2所示,級(jí)聯(lián)端口對(duì)應(yīng)根節(jié)點(diǎn)root,根節(jié)點(diǎn)root下掛一個(gè)分支節(jié)點(diǎn)L0,分支節(jié)點(diǎn)LO下掛八個(gè)分支節(jié)點(diǎn)LI,其中,八個(gè)分支節(jié)點(diǎn)LI對(duì)應(yīng)八個(gè)優(yōu)先級(jí)調(diào)度器,每個(gè)分支節(jié)點(diǎn)LI下掛兩個(gè)葉子節(jié)點(diǎn)L2,兩個(gè)葉子節(jié)點(diǎn)L2 —個(gè)為單播隊(duì)列UC,另一個(gè)為組播隊(duì)列MC。
[0038]本發(fā)明實(shí)施例中,僅是以上述多級(jí)調(diào)度結(jié)構(gòu)為例,在實(shí)際應(yīng)用中,所建立的多級(jí)調(diào)度結(jié)構(gòu)根據(jù)實(shí)際的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)決定,并不限定圖2所示多級(jí)調(diào)度結(jié)構(gòu)的范圍。
[0039]這里,所述方法還包括:分別記錄級(jí)聯(lián)端口對(duì)應(yīng)的根節(jié)點(diǎn)、分支節(jié)點(diǎn)以及葉子節(jié)點(diǎn)的硬件索引。
[0040]具體的,可以用軟件表記錄級(jí)聯(lián)端口對(duì)應(yīng)的root節(jié)點(diǎn)、LO節(jié)點(diǎn)、LI節(jié)點(diǎn)以及L2葉子節(jié)點(diǎn)的硬件索引,該硬件索引用于后續(xù)對(duì)各個(gè)節(jié)點(diǎn)限速設(shè)置及MMU資源管理進(jìn)行查詢使用。
[0041]步驟102:根據(jù)所述多級(jí)調(diào)度結(jié)構(gòu)對(duì)需要限速的兄弟節(jié)點(diǎn)的父節(jié)點(diǎn)進(jìn)行限速設(shè)置。
[0042]這里,所述對(duì)需要限速的兄弟節(jié)點(diǎn)的父節(jié)點(diǎn)進(jìn)行限速設(shè)置包括:根據(jù)所述多級(jí)調(diào)度結(jié)構(gòu)以及記錄的級(jí)聯(lián)端口對(duì)應(yīng)的根節(jié)點(diǎn)、分支節(jié)點(diǎn)以及葉子節(jié)點(diǎn)的硬件索引,對(duì)需要限速的兄弟葉子節(jié)點(diǎn)共同的上級(jí)分支節(jié)點(diǎn)進(jìn)行限速設(shè)置。
[0043]這里,所述對(duì)節(jié)點(diǎn)進(jìn)行限速設(shè)置為:對(duì)節(jié)點(diǎn)的硬件表項(xiàng)限速寄存器進(jìn)行限速設(shè)置。
[0044]具體的,通過(guò)查詢軟件表中記錄的多層調(diào)度節(jié)點(diǎn)硬件索引,對(duì)需要限速的兄弟節(jié)點(diǎn)的父節(jié)點(diǎn)的硬件表項(xiàng)限速寄存器進(jìn)行限速設(shè)置。本發(fā)明實(shí)施例中,設(shè)置LI節(jié)點(diǎn)的限速參數(shù)。由于L2葉子節(jié)點(diǎn)對(duì)應(yīng)的單播隊(duì)列和組播隊(duì)列均屬于LI節(jié)點(diǎn),對(duì)LI節(jié)點(diǎn)的限速寄存器設(shè)置,可以限制該LI節(jié)點(diǎn)之下單播隊(duì)列和組播隊(duì)列流量之和,但并不限制單播隊(duì)列單獨(dú)的流量和組播隊(duì)列單獨(dú)的流量。
[0045]仍以某個(gè)調(diào)度器限速10M為例,從實(shí)際應(yīng)用來(lái)看,本發(fā)明實(shí)施例的實(shí)現(xiàn)方案將會(huì)達(dá)到用戶期望看到的結(jié)果:在該調(diào)度器下的所有單播隊(duì)列和組播隊(duì)列的實(shí)際業(yè)務(wù)流量之和不超過(guò)其共同上層分支節(jié)點(diǎn)對(duì)應(yīng)的調(diào)度器限速值(100M)的情況下,該調(diào)度器下的各個(gè)單播隊(duì)列或組播隊(duì)列的實(shí)際業(yè)務(wù)流量均能達(dá)到最大值。
[0046]對(duì)于傳統(tǒng)現(xiàn)有方案,如圖3所示,分別對(duì)單播隊(duì)列和組播隊(duì)列對(duì)應(yīng)的葉子節(jié)點(diǎn)硬件表項(xiàng)限速寄存器進(jìn)行限速設(shè)置,且只能對(duì)單播隊(duì)列和組播隊(duì)列分別限制到固定帶寬值,例如:單播隊(duì)列限速為80M,組播隊(duì)列限速為20M ;那么,當(dāng)實(shí)際應(yīng)用中,單播隊(duì)列流量為90M,組播隊(duì)列流量為1M時(shí),由于隊(duì)列分別進(jìn)行了限速,單播隊(duì)列只能通過(guò)80M,組播隊(duì)列1M流量可以全部通過(guò),這樣,不能達(dá)到單播隊(duì)列和組播隊(duì)列共同限速100M的效果,實(shí)際限速為90M,用戶體驗(yàn)必然會(huì)達(dá)不到預(yù)期的效果。
[0047]采用本發(fā)明實(shí)施例所述技術(shù)方案,如圖4所示,對(duì)LI節(jié)點(diǎn)進(jìn)行限速,而不對(duì)L