一種隊列調(diào)度方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信領(lǐng)域中隊列管理技術(shù),尤其涉及一種隊列調(diào)度方法和裝置。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)的迅猛發(fā)展,為了實現(xiàn)報文的高速轉(zhuǎn)發(fā)處理,一般在路由器內(nèi)部采 用專口的流量管理芯片完成對高速數(shù)據(jù)流的緩存和調(diào)度輸出;而且,需要根據(jù)服務(wù)質(zhì)量 (QoS,QualityofService)的要求,按照下發(fā)的授權(quán)進行調(diào)度。
[0003] 具體處理過程通常是:首先,收到報文完成報文分隊列的緩存,即完成報文入隊更 新隊列信息,同時授權(quán)系統(tǒng)會下發(fā)授權(quán),報文出隊也會更新隊列信息和消耗授權(quán);調(diào)度模 塊根據(jù)實時的隊列信息和隊列授權(quán)值判斷隊列是否需要加入調(diào)度,如果隊列有報文且有授 權(quán),則調(diào)度出隊列的一個報文,進行出隊處理,同時進行授權(quán)扣減和隊列深度的更新。
[0004] 與此同時,隊列管理必須能夠線速處理64-16384字節(jié)的所有IP包,在200抓PS的 W太網(wǎng)環(huán)境下,典型的IP包長與IP包轉(zhuǎn)發(fā)率之間的關(guān)系如表1所示,其中,IP包轉(zhuǎn)發(fā)率的 單位為百萬包 / 砂(MPPS,MillionPacketPerSecond)。
[0005]
[0006] 表1
【主權(quán)項】
1. 一種隊列調(diào)度方法,其特征在于,設(shè)置調(diào)度擴展單元;所述方法還包括: 在隊列寫入隊列緩存后,調(diào)度擴展單元接收入隊觸發(fā)消息,所述入隊觸發(fā)消息包括所 述隊列標識; 所述調(diào)度擴展單元將所述隊列標識寫入隊列標識緩存,并將所述隊列標識的狀態(tài)設(shè)置 為在所述隊列標識緩存中; 所述調(diào)度擴展單元在沒有授權(quán)到達時,獲取所述隊列的隊列信息,并發(fā)送入隊報告至 調(diào)度單元; 所述調(diào)度單元根據(jù)所述隊列的隊列信息確定是否對所述隊列進行調(diào)度。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述調(diào)度擴展單元將所述隊列標識寫入 到隊列標識緩存并將所述隊列標識的狀態(tài)設(shè)置為在所述隊列標識緩存中,包括: 所述調(diào)度擴展單元根據(jù)所述隊列的標識查找所述隊列標識緩存; 當(dāng)所述隊列標識緩存中沒有所述隊列的標識時,將所述隊列標識寫入到所述隊列標識 緩存,并設(shè)置所述隊列標識的狀態(tài)為在所述隊列標識緩存中; 當(dāng)所述隊列標識緩存中有所述隊列的標識時,對所述隊列標識緩存和所述隊列標識的 狀態(tài)不做處理。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述調(diào)度擴展單元在沒有授權(quán)到達時,發(fā) 送入隊報告至調(diào)度單元,包括: 將所述隊列標識從所述隊列標識緩存中讀出,并將所述隊列標識的狀態(tài)設(shè)置為不在所 述隊列標識緩存中; 根據(jù)讀出的所述隊列標識讀取所述隊列的隊列信息組成入隊報告; 將所述入隊報告發(fā)送至所述調(diào)度單元。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:所述調(diào)度擴展單元在有 授權(quán)到達時,根據(jù)所述授權(quán)到達的授權(quán)隊列號讀取所述隊列的隊列信息組成授權(quán)報告; 將所述授權(quán)報告發(fā)送給所述調(diào)度單元。
5. 根據(jù)權(quán)利要求1至4任一項所述的方法,其特征在于,所述方法還包括: 將所述隊列讀出所述隊列緩存,并將所述隊列當(dāng)前的隊列信息作為出隊報告發(fā)送給所 述調(diào)度單元。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述隊列信息包括隊列深度和隊列授權(quán) 值; 相應(yīng)的,所述調(diào)度單元根據(jù)所述隊列的隊列信息確定是否對所述隊列加入調(diào)度,包括: 所述調(diào)度單元設(shè)置所述隊列的調(diào)度狀態(tài); 在所述調(diào)度單元在接收到所述入隊報告或所述授權(quán)報告之后,所述調(diào)度單元根據(jù)所述 隊列的隊列信息確定是否對所述隊列加入調(diào)度,包括: 當(dāng)所述隊列的調(diào)度狀態(tài)為沒有加入調(diào)度的狀態(tài),且所述隊列的隊列深度和隊列授權(quán)值 不為零時,所述調(diào)度單元將所述隊列加入調(diào)度,并設(shè)置所述隊列的調(diào)度狀態(tài)為加入調(diào)度的 狀態(tài); 當(dāng)所述隊列的調(diào)度狀態(tài)為加入調(diào)度的狀態(tài),且所述隊列的隊列深度或隊列授權(quán)值為零 時,所述調(diào)度單元丟棄所述入隊報告或所述授權(quán)報告,并對所述隊列不作處理; 在所述調(diào)度單元接收到所述出隊報告之后,所述調(diào)度單元根據(jù)所述隊列的隊列信息確 定是否對所述隊列加入調(diào)度,包括: 當(dāng)所述隊列的隊列深度非零且所述隊列的隊列授權(quán)值非零時,所述調(diào)度單元將所述隊 列加入調(diào)度,且所述隊列的調(diào)度狀態(tài)保持不變; 當(dāng)不滿足所述隊列的隊列深度非零且所述隊列的隊列授權(quán)值非零時,所述調(diào)度單元丟 棄所述出隊報告,并設(shè)置所述隊列的調(diào)度狀態(tài)為沒有加入調(diào)度的狀態(tài)。
7. -種隊列調(diào)度裝置,其特征在于,所述裝置包括:調(diào)度擴展單元和調(diào)度單元,其中, 所述調(diào)度擴展單元用于,在隊列寫入隊列緩存后,接收入隊觸發(fā)消息,所述入隊觸發(fā)消 息包括所述隊列標識和所述隊列的隊列信息; 將所述隊列標識寫入隊列標識緩存,并將所述隊列標識的狀態(tài)設(shè)置為在所述隊列標識 緩存中; 在沒有授權(quán)到達時,獲取所述隊列的隊列信息,并發(fā)送入隊報告至調(diào)度單元; 所述調(diào)度單元用于,根據(jù)所述隊列的隊列信息確定是否對所述隊列進行調(diào)度。
8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述調(diào)度擴展單元具體用于, 根據(jù)所述隊列的標識查找所述隊列標識緩存; 當(dāng)所述隊列標識緩存中沒有所述隊列的標識時,將所述隊列標識寫入到所述隊列標識 緩存,并設(shè)置所述隊列標識的狀態(tài)為在所述隊列標識緩存中; 當(dāng)所述隊列標識緩存中有所述隊列的標識時,對所述隊列標識緩存和所述隊列標識的 狀態(tài)不做處理。
9. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括授權(quán)單元,用于通過所述 調(diào)度擴展單元向所述調(diào)度單元發(fā)送授權(quán); 相應(yīng)的,在沒有授權(quán)到達時,所述調(diào)度擴展單元具體用于, 將所述隊列標識從所述隊列標識緩存中讀出,并將所述隊列標識的狀態(tài)設(shè)置為不在所 述隊列標識緩存中; 根據(jù)讀出的所述隊列標識讀取所述隊列的隊列信息組成入隊報告; 將所述入隊報告發(fā)送至所述調(diào)度單元。
10. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,在有授權(quán)到達的時候,所述調(diào)度擴展單 元具體用于, 根據(jù)所述授權(quán)到達的授權(quán)隊列號讀取所述隊列的隊列信息組成授權(quán)報告; 將所述授權(quán)報告發(fā)送給所述調(diào)度單元。
11. 根據(jù)權(quán)利要求7-10任一項所述的裝置,其特征在于,所述裝置還包括出隊管理單 元,用于將所述隊列讀出所述隊列緩存,并將所述隊列當(dāng)前的隊列信息作為出隊報告發(fā)送 給所述調(diào)度單元。
12. 根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述隊列信息包括隊列深度和隊列授 權(quán)值; 相應(yīng)的,所述調(diào)度單元具體用于, 設(shè)置所述隊列的調(diào)度狀態(tài); 在接收到所述入隊報告或所述授權(quán)報告之后,所述調(diào)度單元具體還用于: 當(dāng)所述隊列的調(diào)度狀態(tài)為沒有加入調(diào)度的狀態(tài),且所述隊列的隊列深度和隊列授權(quán)值 不為零時,將所述隊列加入調(diào)度,并設(shè)置所述隊列的調(diào)度狀態(tài)為加入調(diào)度的狀態(tài); 以及當(dāng)所述隊列的調(diào)度狀態(tài)為加入調(diào)度的狀態(tài),且所述隊列的隊列深度或隊列授權(quán)值 為零的時候,丟棄所述入隊報告或所述授權(quán)報告,并對所述隊列不作處理; 在接收到所述出隊報告之后,所述調(diào)度單元具體還用于: 當(dāng)所述隊列的隊列深度非零且所述隊列的隊列授權(quán)值非零時,將所述隊列加入調(diào)度, 且所述隊列的調(diào)度狀態(tài)保持不變; 當(dāng)不滿足所述隊列的隊列深度非零且所述隊列的隊列授權(quán)值非零時,丟棄所述出隊報 告,且設(shè)置所述隊列的調(diào)度狀態(tài)為沒有加入調(diào)度的狀態(tài)。
【專利摘要】本發(fā)明實施例公開了一種隊列調(diào)度的方法和裝置,該方法包括:設(shè)置調(diào)度擴展單元;在隊列寫入隊列緩存后,調(diào)度擴展單元接收入隊觸發(fā)消息,所述入隊觸發(fā)消息包括所述隊列標識和所述隊列的隊列信息;所述調(diào)度擴展單元將所述隊列標識寫入隊列標識緩存,并將所述隊列標識的狀態(tài)設(shè)置為在所述隊列標識緩存中;所述調(diào)度擴展單元在沒有授權(quán)到達時,發(fā)送入隊報告至調(diào)度單元;所述調(diào)度單元根據(jù)所述隊列的隊列信息確定是否對所述隊列進行調(diào)度。
【IPC分類】H04L12-863
【公開號】CN104753818
【申請?zhí)枴緾N201310750600
【發(fā)明人】王斌
【申請人】深圳市中興微電子技術(shù)有限公司
【公開日】2015年7月1日
【申請日】2013年12月30日
【公告號】WO2015100915A1