專利名稱:分組傳送網隊列調度方法和裝置的制作方法
技術領域:
本申請涉及分組傳送網隊列調度方法和裝置。
背景技術:
分組傳送網(PTN, Packet Transport Network)能夠存儲轉發報文從而能夠實現帶寬的統計復用。通常,分組傳送網不僅能夠承載日益增大的移動互聯數據業務,而且能夠承載對時延和時延抖動敏感的話音業務。當流量從多個數據流匯聚到網絡節點時,網絡節點通過包分類器將數據包分成多種類別。根據分類結果,可將同類報文排入同一隊列,不同類別的隊列之間為并行存儲關系。根據隊列的屬性和算法規則,決定下一步傳輸哪個隊列的哪個數據包,這一過程被稱為隊列調度。不同的調度算法對于網絡業務的QoS (例如報文的丟棄、延時、延時抖動等)有不同的影響。常見的隊列調度算法有優先級隊列算法(PQ),輪詢隊列算法(RR)和加權公平算法_)。優先級隊列算法指的是,從高優先級隊列開始清空,只有當較高優先級隊列完全清空后,才開始處理較低優先級的隊列。優先級隊列算法可保證高優先級業務的時延特性,但是當所有的隊列都是時延敏感數據時,可能導致低優先級隊列的時延急劇惡化。輪詢隊列算法指的是,每次輪換著從每個隊列中提取數據包進行發送。改進的輪詢算法可包括帶權重的輪詢算法(WRR)、權重逆差輪詢算法(DWRR)等。輪詢隊列算法公平地或者根據某種預先配置的權重而調度隊列,沒有考慮到不同隊列的數據包已經等待的時延,有可能使時延惡化。加權公平算法指的是,根據流的數目來劃分接口帶寬,以確保所有應用程序帶寬的公平分布。由于帶寬分配隨著流的增加或者結束在不斷變化,因此WFQ失去了對時延的優化能力。
發明內容
為了解決現有技術的分組傳送網隊列調度方法未考慮各隊列中數據包的等待時延問題,本申請提出了一種分組傳送網隊列調度方法和裝置。根據本申請的一個方面,提出了一種分組傳送網隊列調度方法。該方法可包括:根據每個隊列中各數據包的已等待時間總和、發送需時總和、以及數據包個數,計算各隊列的平均統計時延;以及選擇平均統計時延最大的隊列中最前面的數據包進行發送。根據本申請的另一個方面,提出了一種分組傳送網隊列調度裝置。該裝置可包括:計算模塊,根據每個隊列中各數據包的已等待時間總和、發送需時總和、以及數據包個數,計算各隊列的平均統計時延;以及調度處理模塊,選擇平均統計時延最大的隊列中最前面的數據包進行發送。根據本申請的方法和裝置,根據數據包在隊列中的已等待時間以及由于數據包的不同長度而造成的出隊列時間的延誤,對各隊列的數據包進行動態調整,能夠使得各隊列 的數據包的等待時間趨于平均,從而優化網絡中的時間敏感業務。
圖1是根據本申請一個實施方案的分組傳送網隊列調度方法的流程圖;圖2是根據本申請另一實施方案的分組傳送網隊列調度方法的流程圖;圖3是根據本申請一個實施方案的分組傳送網隊列調度裝置的框圖;以及圖4是根據本申請另一個實施方案的分組傳送網隊列調度裝置的框圖。
具體實施例方式下面參照附圖,對本申請的實施方案進行詳細說明。如圖1所述,根據本申請一個實施方案的分組傳送網隊列調度方法可如下執行。在步驟S1002,可根據每個隊列中各數據包的已等待時間總和、發送需時總和、以及數據包個數,計算各隊列的平均統計時延。然后在步驟S1004,可選擇平均統計時延最大的隊列中最前面的數據包進行發送。可以理解,在進行分組傳送網隊列調度時,可重復執行步驟S1002和步驟S1004,即,每發送完當前數據包時,可重新計算各隊列的平均統計時延,并根據平均統計時延選擇將要發送哪個隊列的最前面的數據包。在本申請中,隊列中一個數據包的已等待時間是該數據包從入隊開始的已等待時間,隊列中各數據包的已等待時間總和即為該隊列中所有數據包的已等待時間的總和,隊列中各數據包的發送需時總和的含義為:若當前即將發送該隊列的數據包,該隊列的所有數據包被清空所需的總時間。在圖1所示方法中,通過根據數據包在隊列中的已等待時間以及由于數據包的不同長度而造成的出隊列時間的延誤,對各隊列的數據包進行動態調整,能夠使得各隊列的數據包的等待時間趨于平均,從而優化網絡中的時間敏感業務。作為圖1所示方法的一個具體實施例,空隊列(即,不包含任何待發數據包的隊列)的平均統計時延可為O。而對于非空隊列(即,包含至少一個待發數據包的隊列),該隊列的平均統計時延可為:該隊列中各數據包的已等待時間總和與發送需時總和之和與隊列中數據包個數之比。在本實施例中,可將一個隊列中各數據包的已等待時間總和與發送需時總和定義為該隊列的統計時延,這樣,該隊列的平均統計時延即為該隊列的統計時延與隊列中的數據包個數之比。下面參照圖2,描述根據本申請另一個實施方案的分組傳送網隊列調度方法。如圖2所示,在步驟S2002中,可記錄進入隊列的每個數據包的包長和入隊時間。在計算隊列的平均統計時延時,隊列中一個數據包的已等待時間可為系統當前時間與該數據包的入隊時間之差,而一個隊列中各數據包的發送需時總和為該隊列中各數據包的包長之和與數據包出隊速率之比。這樣,在步驟S2004,可根據每個隊列中各數據包的已等待時間總和、發送需時總和、以及數據包個數,計算各隊列的平均統計時延。然后在步驟S2006,可選擇平均統計時延最大的隊列中最前面的數據包進行發送。根據本實施方案,可利用分組傳送網中的時間同步的時間戳,為每個數據包的入隊時間進行記錄,這樣不會增加額外的時間處理開銷。接下來參照圖3和圖4,描述根據本申請的分組傳送網隊列調度裝置。如圖3所示,分組傳送網隊列調度裝置30可包括計算模塊302和調度處理模塊304。計算模塊302可根據每個隊列中各數據包的已等待時間總和、發送需時總和、以及數據包個數,計算各隊列的平均統計時延。調度處理模塊304可選擇平均統計時延最大的隊列中最前面的數據包進行發送。根據圖3所示的分組傳送網隊列調度裝置30,可根據數據包在隊列中的已等待時間以及由于數據包的不同長度而造成的出隊列時間的延誤,對各隊列的數據包進行動態調整,能夠使得各隊列的數據包的等待時間趨于平均,從而優化網絡中的時間敏感業務。根據一個具體實施例,空隊列(S卩,不包含任何待發數據包的隊列)的平均統計時延可為O。而對于非空隊列(即,包含至少一個待發數據包的隊列),該隊列的平均統計時延可為:該隊列中各數據包的已等待時間總和與發送需時總和之和與隊列中數據包個數之t匕如圖4所示的分組傳送網隊列調度裝置40可包括記錄模塊402、計算模塊404和調度處理模塊406。記錄模塊402可記錄進入隊列的每個數據包的包長和入隊時間。計算模塊404可根據每個隊列中各數據包的已等待時間總和、發送需時總和、以及數據包個數,計算各隊列的平均統計時延,其中,隊列中特定數據包的已等待時間為系統當前時間與該特定數據包的入隊時間之差,特定隊列中各數據包的發送需時總和為該特定隊列中各數據包的包長之和與數據包出隊速率之比。調度處理模塊406可選擇平均統計時延最大的隊列中最前面的數據包進行發送。根據本實施方案,可利用分組傳送網中的時間同步的時間戳,為每個數據包的入隊時間進行記錄,這樣不會增加額外的時間處理開銷。以上參照附圖對本申請的示例性的實施方案進行了描述。本領域技術人員應該理解,上述實施方案僅僅是為了說明的目的而所舉的示例,而不是用來進行限制。凡在本申請的教導和權利要求保護范圍下所作的任何修改、等同替換等,均應包含在本申請要求保護的范圍內。
權利要求
1.分組傳送網隊列調度方法,包括: 根據每個隊列中各數據包的已等待時間總和、發送需時總和、以及數據包個數,計算各隊列的平均統計時延;以及 選擇平均統計時延最大的隊列中最前面的數據包進行發送。
2.如權利要求1所述的方法,其中,若特定隊列包含至少一個數據包,則該特定隊列的平均統計時延為該特定隊列中各數據包的已等待時間總和與發送需時總和之和與數據包個數之比;若特定隊列為空,則該特定隊列的平均統計時延為O。
3.如權利要求1或2所述的方法,進一步包括: 記錄進入隊列的每個數據包的包長和入隊時間, 其中,隊列中特定數據包的已等待時間為系統當前時間與該特定數據包的入隊時間之差,特定隊列中各數據包的發送需時總和為該特定隊列中各數據包的包長之和與數據包出隊速率之比。
4.分組傳送網隊列調度裝置,包括: 計算模塊,根據每個隊列中各數據包的已等待時間總和、發送需時總和、以及數據包個數,計算各隊列的平均統計時延;以及 調度處理模塊,選擇平均統計時延最大的隊列中最前面的數據包進行發送。
5.如權利要求4所述的裝置,其中,若特定隊列包含至少一個數據包,則該特定隊列的平均統計時延為該特定隊列中各數據包的已等待時間總和與發送需時總和之和與數據包個數之比;若特定隊列為空,則該特定隊列的平均統計時延為O。
6.如權利要求4或5所述的裝置,進一步包括: 記錄模塊,記錄進入隊列的每個數據包的包長和入隊時間, 其中,隊列中特定數據包的已等待時間為系統當前時間與該特定數據包的入隊時間之差,特定隊列中各數據包的發送需時總和為該特定隊列中各數據包的包長之和與數據包出隊速率之比。
全文摘要
本申請公開了分組傳送網隊列調度方法和裝置。根據本申請的實施方案,分組傳送網隊列調度方法可包括根據每個隊列中各數據包的已等待時間總和、發送需時總和、以及數據包個數,計算各隊列的平均統計時延;以及選擇平均統計時延最大的隊列中最前面的數據包進行發送。根據本申請的方法和裝置,通過對各隊列的數據包進行動態調整,能夠使得各隊列的數據包的等待時間趨于平均,從而優化網絡中的時間敏感業務。
文檔編號H04L12/875GK103107955SQ201110361158
公開日2013年5月15日 申請日期2011年11月15日 優先權日2011年11月15日
發明者程偉強, 王磊, 李晗, 王敏學 申請人:中國移動通信集團公司