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