專利名稱::一種碼流調(diào)度方法、裝置和系統(tǒng)的制作方法
技術領域:
:本發(fā)明涉及信號處理技術,特別是涉及一種碼流調(diào)度方法、裝置和系統(tǒng)。技術背景目前,隨著通信技術的迅速發(fā)展,通信帶寬也不斷地高速增長,一次通信過程中所能承載的碼流容量也越來越大。在這種情況下,多線程和并行處理的方式得到了廣泛應用,其中如何有效地分配帶寬資源、更加合理地調(diào)配要傳送的碼流隊列的順序就變得十分重要。比如,作為視頻點播中間部件的IPQAM(InternetProtocolQuadratureAmplitudeModem,網(wǎng)際協(xié)議正交幅度調(diào)制解調(diào)器),用于從視頻服務器接收多路視頻碼流,將得到的碼流存儲在碼流隊列當中,進行必要的處理后再調(diào)度輸出,同樣功能的裝置還廣泛存在于碼流調(diào)度的各種應用場合,此類調(diào)度裝置的輸出調(diào)度模型如圖1所示,主要包括碼流處理模塊101,用于接收來自視頻服務器的輸入碼流,根據(jù)時鐘產(chǎn)生模塊102的時間信息,將碼流以數(shù)據(jù)包的形式分別存放到不同的碼流隊列103中去,并按照系統(tǒng)要求給每個碼流隊列中的數(shù)據(jù)包包頭加上時間標簽,作為該#1據(jù)包輸出時間的標識。時鐘產(chǎn)生模塊102,圖中所示的兩個時鐘產(chǎn)生模塊采用同一個系統(tǒng)時鐘源產(chǎn)生同步信號,用于保持系統(tǒng)內(nèi)時間的同步,為碼流處理模塊101和輸出調(diào)度模塊104的控制調(diào)度提供時間參考。碼流隊列103,用于臨時存儲碼流處理模塊101發(fā)來的碼流,當輸出條件滿足時,平滑地將隊列中的數(shù)據(jù)包發(fā)送給輸出調(diào)度模塊104。輸出調(diào)度模塊104,用于在時鐘產(chǎn)生模塊102的同步時鐘信號的控制下,接收緩沖區(qū)106發(fā)送的反饋信息,當反饋信息表示緩沖區(qū)106未滿,且查詢得到碼流隊列103中的各隊列的輸出時間已經(jīng)到達時,將碼流隊列103發(fā)送的數(shù)據(jù)包輸出到緩沖區(qū)106。數(shù)據(jù)調(diào)制模塊105,用于接收輸出調(diào)度模塊104發(fā)送的數(shù)據(jù)包并將其調(diào)制輸出。數(shù)據(jù)調(diào)制模塊105進一步包括緩沖區(qū)106,用于緩存輸出調(diào)度模塊104發(fā)送的數(shù)據(jù)包,并向輸出調(diào)度模塊104返回表示緩沖區(qū)106是否已滿的反饋"息。該裝置需要進行調(diào)度處理的并發(fā)碼流高峰時可能會多達IOOO個,這時,對于這些碼流隊列中數(shù)據(jù)包的調(diào)度不僅帶寬要求高,而且邏輯關系非常復雜,還需要對于碼流隊列103輸出時間是否到達、緩沖區(qū)106是否已滿等等輸出條件進行判斷,只有滿足所有上述輸出條件的碼流隊列才能輸出,對于不滿足輸出條件的停止輸出,同時還要兼顧眾多碼流隊列的并發(fā)輸出,避免造成延誤。這些都對與碼流調(diào)度方法提出了很高的要求。現(xiàn)有的碼流調(diào)度方法,輸出調(diào)度模塊104在眾多碼流隊列當中順序檢查數(shù)據(jù)包的包頭時間標簽,與輸出調(diào)度模塊104的系統(tǒng)當前時間進行比較如果所述時間標簽比系統(tǒng)當前時間小,則表明該隊列數(shù)據(jù)包的輸出時間已經(jīng)到達,對該碼流隊列進行調(diào)度輸出;否則,表示該隊列數(shù)據(jù)包的輸出時間尚未到達,繼續(xù)檢查下一個隊列,直到遍歷所有碼流隊列。整個流程以1毫秒為時間單位,每毫秒完成一次完整的調(diào)度流程。該調(diào)度方法的流程圖如圖2所示,包括步驟201:判斷1毫秒定時器是否到達,若定時器未到達,則等待下一個時鐘周期,返回步驟201繼續(xù)進行判斷;若定時器已到達,則繼續(xù)執(zhí)行步驟202;步驟202:讀取當前隊列信息,判斷當前隊列的數(shù)據(jù)包包頭時間標簽與系統(tǒng)當前時間的關系,若時間標簽比系統(tǒng)當前時間小,則該隊列數(shù)據(jù)包的輸出時間已經(jīng)到達,繼續(xù)執(zhí)行步驟203;若時間標簽比系統(tǒng)當前時間大,則該隊列數(shù)據(jù)包的輸出時間尚未到達,轉(zhuǎn)而執(zhí)行步驟205;步驟203:根據(jù)數(shù)據(jù)調(diào)制模塊的反饋信息,判斷數(shù)據(jù)調(diào)制模塊的緩沖區(qū)是否已滿,若仍有緩沖空間,則繼續(xù)執(zhí)行步驟204;若緩沖區(qū)已滿,則轉(zhuǎn)而執(zhí)行步驟205;步驟204:將滿足條件的碼流隊列的數(shù)據(jù)包調(diào)度輸出,繼續(xù)執(zhí)行步驟205;步驟205:在一次調(diào)度流程中,碼流隊列的數(shù)目是一定的,因此存在著一個最大隊列號。判斷當前碼流隊列的隊列號是否是最大隊列號,若當前隊列號小于最大隊列號,表示還有其他隊列需要判斷,繼續(xù)執(zhí)行步驟206;若當前隊列號等于最大隊列號,表示已經(jīng)進行到了最后一個隊列,執(zhí)行步驟207;步驟206:計數(shù)器將當前隊列號加l,然后返回繼續(xù)執(zhí)行步驟202;步驟207:本次調(diào)度流程結(jié)束,系統(tǒng)等待下一次調(diào)度流程開始。由以上可知,上述調(diào)度方法每輸出一次都要遍歷所有碼流隊列,逐一比較每個隊列是否滿足多個輸出條件,并將全部符合輸出條件的碼流隊列進行輸出,因此隨著隊列數(shù)目的增加,該調(diào)度方法的算法復雜度將會呈指數(shù)級增長;同時,該調(diào)度方法在一次判斷過程中,將所有滿足條件的碼流隊列同時輸出,容易出現(xiàn)竟爭和對后續(xù)設備造成沖擊,從而降低碼流的性能指標。
發(fā)明內(nèi)容本發(fā)明實施例提供一種碼流調(diào)度方法和裝置,能夠加快碼流調(diào)度速度和提高碼流調(diào)度效率。本發(fā)明實施例提供一種碼流調(diào)度系統(tǒng),能夠加快碼流調(diào)度速度和提高碼流調(diào)度效率。為達到上述目的,本發(fā)明的技術方案具體是這樣實現(xiàn)的一種碼流調(diào)度方法,該方法包括設置一級屏蔽位的每比特位對應一個碼流隊列,且以所述各比特位的值表示各碼流隊列是否存在數(shù)據(jù)包;根據(jù)設定的優(yōu)先級次序和所述的比特位值,從一級屏蔽位中選出當前級屏蔽位;根據(jù)所述當前級屏蔽位中碼流隊列的優(yōu)先級次序,對該級屏蔽位中各碼與所述碼流隊列對應的比特位值。一種碼流調(diào)度裝置,該裝置包括屏蔽位設置模塊和碼流調(diào)度模塊;屏蔽位設置模塊,用于設置一級屏蔽位的每比特位對應一個碼流隊列,且以所述各比特位的值表示各碼流隊列是否存在數(shù)據(jù)包,根據(jù)設定的優(yōu)先級次序和所述的比特位值,從一級屏蔽位中選出當前級屏蔽位,將所述屏蔽位信息發(fā)送給碼流調(diào)度模塊;碼流調(diào)度模塊,接收屏蔽位設置模塊發(fā)送的屏蔽位信息,根據(jù)當前級屏蔽位中碼流隊列的優(yōu)先級次序,對該級屏蔽位中各碼流隊列是否符合輸出條件進行判斷并將符合輸出條件的碼流隊列輸出,更新與所述碼流隊列對應的比特位值。一種碼流調(diào)度系統(tǒng),該系統(tǒng)包括碼流隊列,碼流調(diào)度裝置和數(shù)據(jù)調(diào)制裝置;碼流隊列,用于存儲接收到的碼流,接受碼流調(diào)度裝置對各碼流隊列中是否存在數(shù)據(jù)包和各碼流隊列數(shù)據(jù)包輸出時間是否到達的查詢并返回標識信息給碼流調(diào)度裝置,將符合調(diào)度條件的隊列中的數(shù)據(jù)包發(fā)送給碼流調(diào)度裝置;碼流調(diào)度裝置,用于查詢碼流隊列各隊列中是否存在數(shù)據(jù)包并接收返回的標識信息,生成屏蔽位,根據(jù)生成的屏蔽位向碼流隊列查詢各隊列數(shù)據(jù)包輸出時間是否到達并接收返回的標識信息,更新屏蔽位;數(shù)據(jù)調(diào)制裝置,用于接收碼流調(diào)度裝置發(fā)送的碼流隊列中的數(shù)據(jù)包并將其調(diào)制輸出。由上述的技術方案可見,本發(fā)明實施例通過設置多級屏蔽位表示碼流隊列的狀態(tài),通過屏蔽位對碼流隊列進行操作處理,再根據(jù)操作處理結(jié)果實時行處理的重復計算過程,大大減少了碼流調(diào)度處理的計算量,從而提高了調(diào)度處理的速度,提高了調(diào)度效率。圖1為現(xiàn)有技術中調(diào)度裝置的輸出調(diào)度組成示意圖。圖2為現(xiàn)有技術中調(diào)度方法流程示意圖。圖3為本發(fā)明實施例中碼流調(diào)度方法流程示意圖。圖4為本發(fā)明實施例中碼流調(diào)度裝置組成結(jié)構(gòu)示意圖。圖5為本發(fā)明實施例中碼流調(diào)度系統(tǒng)組成結(jié)構(gòu)示意圖。具體實施方式為使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明進一步詳細說明。本發(fā)明實施例采用三級屏蔽位調(diào)度方法,重新設計了碼流調(diào)度的流程,該方法在一個調(diào)度周期內(nèi),通過設置多級屏蔽位對碼流隊列進行碼流調(diào)度,并根據(jù)調(diào)度結(jié)果更新屏蔽位信息,從而減小了運算量,節(jié)省了計算時間。本發(fā)明實施例中,4艮據(jù)碼流流量的大小,可以最多建立1000個碼流隊列緩存輸入碼流,對這些碼流隊列進行編號,于是有隊列0、隊列l(wèi)直到隊列999,由系統(tǒng)給每個碼流隊列加上時間標簽。系統(tǒng)以l毫秒為時間周期完成一次調(diào)度,在這個周期內(nèi),所有符合調(diào)度條件的碼流隊列都能得到輸出。本發(fā)明實施例釆用的多級屏蔽位具體構(gòu)造如下,如表1所示1、屏蔽位數(shù)據(jù)——32位數(shù)據(jù),可以表示32個碼流隊列的狀態(tài)。2、屏蔽位比特位——每個比特位的取值表示一個碼流隊列的狀態(tài)。3、屏蔽位一一多個屏蔽位數(shù)據(jù)組合起來表示大于32個碼流隊列狀態(tài)。4、屏蔽位的優(yōu)先級——比特位越低,優(yōu)先級越高BitO〉Bitl〉Bit2......5、屏蔽位數(shù)據(jù)的優(yōu)先級一一屏蔽位數(shù)據(jù)代表的隊列編號越小,優(yōu)先級越高,即Bit0所代表的隊列的優(yōu)先級高于下表中粗體帶下劃線的巡2_所表示的隊列的優(yōu)先級,且屏蔽位數(shù)據(jù)Al(即BitOBit31所代表的數(shù)據(jù))的優(yōu)先級高于屏蔽位數(shù)據(jù)A2(即BitOBit31所代表的數(shù)據(jù)),其余情況均可依此類推。<table>tableseeoriginaldocumentpage12</column></row><table>表1本發(fā)明實施例中的輸出調(diào)度采用多級屏蔽位調(diào)度方法來實現(xiàn),首先介紹引入的一級屏蔽位概念一級屏蔽位數(shù)據(jù)為一個32位的數(shù)據(jù),每比特位代表一個碼流隊列,每位比特位值可以表示該比特位對應的碼流隊列中是否存在數(shù)據(jù)包,如當該比特位為l時,表示該隊列內(nèi)存在數(shù)據(jù)包;若該比特位為0,則表示該隊列內(nèi)不存在數(shù)據(jù)包;因此,一個32位的屏蔽位數(shù)據(jù)可以表示32個碼流隊列的狀態(tài)。需要說明的是,所述的l和O,是表示一種標識的符號,也可以取其他值,或者采用其他方式標識對應的碼流隊列是否存在數(shù)據(jù)包;此外,由于進行碼流調(diào)度的軟硬件平臺運算能力的不同,所述的32位的屏蔽位數(shù)據(jù)僅為舉例,具體的應用場景中可能會有區(qū)別,比如一個屏蔽位數(shù)據(jù)也可以表示64位或更多的比特位,不應理解為對本發(fā)明應用的限定。進一步地,當碼流隊列的數(shù)目超過32個時,需要使用多個一級屏蔽位數(shù)據(jù)組成一級屏蔽位來表示的狀態(tài),因此根據(jù)碼流隊列的數(shù)目N,共計需要[N/32]個屏蔽位數(shù)據(jù),其中[]表示向上取整運算;并且,在一個一級屏蔽位數(shù)據(jù)內(nèi),按照由低比特位到高比特位的順序,優(yōu)先級逐漸降低,即低比特位數(shù)據(jù)優(yōu)先級高;類似地,在多個一級屏蔽位數(shù)據(jù)組成的一級屏蔽位中,不同的屏蔽位數(shù)據(jù)之間,比特位低的優(yōu)先級高,比特位高的優(yōu)先級低。二級屏蔽位,與一級屏蔽位比特位數(shù)相同,初始值復制自一級屏蔽位。當前級屏蔽位根據(jù)設定的優(yōu)先級次序,從二級屏蔽位優(yōu)先級最高的比特位開始,選擇預先設定長度的比特位數(shù)據(jù)(本發(fā)明實施例中,即為屏蔽位數(shù)據(jù)的長度一一32位)作為當前級屏蔽位。三級屏蔽位,是當前級屏蔽位的映像,因此為一個32比特位的數(shù)據(jù),且其初始值復制自當前二級屏蔽位;各比特位所代表的隊列編號,與其對應的當前二級屏蔽位的各比特位所代表的隊列編號相同。需要說明的是,進行碼流調(diào)度的軟硬件平臺運算能力的不同,當硬件平臺的運算能力能夠支持在一個時鐘周期內(nèi)對1000個隊列的遍歷查詢時,采用二級屏蔽位即可。因此容易理解,本發(fā)明實施例僅是對于碼流調(diào)度的一種情況的舉例說明,并非用于限定本發(fā)明的應用范圍。所述三級屏蔽位調(diào)度方法的實現(xiàn)流程如圖3所示,包括步驟301:設置一級屏蔽位的每比特位對應一個碼流隊列,且以所述各比特位的值表示各碼流隊列是否存在數(shù)據(jù)包;復制一級屏蔽位得到二級屏蔽位。步驟302:在二級屏蔽位中,按照所述的優(yōu)先級次序選擇出當前級屏蔽位,并將其復制得到三級屏蔽位。所述的選擇當前級屏蔽位的方法為系統(tǒng)的每個屏蔽位數(shù)據(jù)包含固定個數(shù)的比特位數(shù)據(jù),例如前文提到的一個屏蔽位數(shù)據(jù)包含32個比特位。按優(yōu)先級由高到低的順序每次選擇一個不全為0的屏蔽位數(shù)據(jù)進行碼流調(diào)度,當優(yōu)先級最低的屏蔽位數(shù)據(jù)進行碼流調(diào)度后,如果仍有未完成調(diào)度的碼流隊列,則再回到優(yōu)先級最高的不全為0的屏蔽位數(shù)據(jù),繼續(xù)重復判斷和調(diào)度輸出過程直到二級屏蔽位的各比特位全部為0。步驟303:判斷三級屏蔽位是否全部為0,若不全為0,則繼續(xù)執(zhí)行步驟304,否則,執(zhí)行步驟312。步驟304:在三級屏蔽位中,按照優(yōu)先級次序,選出三級屏蔽位中不為O且優(yōu)先級最高的比特位,設置它對應的隊列為待調(diào)度隊列,所述比特位稱為目標比特一f立。步驟305:將三級屏蔽位中的目標比特位復位清0。步驟306:將待調(diào)度隊列的數(shù)據(jù)包包頭的時間標簽與系統(tǒng)當前時間進行比較,判斷待調(diào)度隊列的輸出時間是否到達,若輸出時間已到,則繼續(xù)執(zhí)行步驟307,若輸出時間未到,則執(zhí)行步驟312。步驟307:根據(jù)反饋信息判斷數(shù)據(jù)調(diào)制模塊中的緩沖區(qū)是否已滿,若緩沖區(qū)已滿,則執(zhí)行步驟312,若緩沖區(qū)仍有空間,則執(zhí)行步驟308。步驟308:將選定的待調(diào)度隊列輸出。步驟303步驟308是對三級屏蔽位的比特位對應的碼流隊列進行調(diào)度條件的判斷,并輸出符合調(diào)度條件的碼流隊列中的數(shù)據(jù)包。其中,步驟308中將選定的待調(diào)度隊列輸出的方法包括兩種A)輸出待調(diào)度隊列中的一個數(shù)據(jù)包后,放棄輸出權(quán),然后繼續(xù)執(zhí)行步驟309;B)將待調(diào)度隊列中的全部數(shù)據(jù)包輸出完畢后,再放棄輸出權(quán),然后繼續(xù)執(zhí)^f亍步驟310,相應地不再進行步驟309的判斷。步驟309:調(diào)度輸出后,判斷所述待調(diào)度隊列中是否還有剩余數(shù)據(jù)包,如果不存在剩余數(shù)據(jù)包,則繼續(xù)執(zhí)行步驟310,否則執(zhí)行步驟312。步驟310:當待調(diào)度隊列中不存在剩余數(shù)據(jù)包時,將與所述待調(diào)度隊列對應的一級屏蔽位的比特位復位清0。步驟311:將與所述待調(diào)度隊列對應的二級屏蔽位的比特位復位清0,并返回繼續(xù)執(zhí)行步驟303。步驟312:判斷二級屏蔽位是否全部為0,若不全為0,繼續(xù)執(zhí)行步驟313,若全部為0,則執(zhí)行步驟314。步驟313:從二級屏蔽位中選擇下一個屏蔽位數(shù)據(jù)作為本次調(diào)度過程的下一個當前級屏蔽位,并返回繼續(xù)執(zhí)行步驟302。步驟314:—次調(diào)度過程結(jié)束,系統(tǒng)等待進行下一輪調(diào)度過程。需要說明的是,步驟304中所述按照優(yōu)先級次序,選出三級屏蔽位不為O且優(yōu)先級最高的比特位的過程具體為通過屏蔽位獲得不為0且優(yōu)先級最高的比特位的過程就是從優(yōu)先級最高的比特位開始,找出第一個為"r的比特位位號,該比特位位號即為待調(diào)度隊列,例如下表2所示<table>tableseeoriginaldocumentpage15</column></row><table>表2步驟308中對待調(diào)度隊列進行調(diào)度,輸出一個數(shù)據(jù)包后便放棄輸出權(quán),目的是為了給其他隊列被調(diào)度的機會;由于所述隊列中可能存在不止一個數(shù)據(jù)包,輸出一個數(shù)據(jù)包后碼流隊列可能還有剩余數(shù)據(jù)包存在,因此步驟309進一步判斷是否存在剩余數(shù)據(jù)包,當判定剩余數(shù)據(jù)包不存在時,步驟310才將表示碼流隊列數(shù)據(jù)包存在狀態(tài)的一級屏蔽位目標比特位數(shù)據(jù)復位清0和當前級屏蔽位的對應比特位復位清0。而當判定碼流隊列中有剩余數(shù)據(jù)包存在時,不改變一、二級屏蔽位的對應比特位的值,留待后續(xù)繼續(xù)對所述碼流隊列進行調(diào)度輸出。本發(fā)明實施例中的碼流調(diào)度裝置,其結(jié)構(gòu)組成如圖4所示,包括屏蔽位設置模塊401和碼流調(diào)度才莫塊402。屏蔽位設置模塊401,用于設置一級屏蔽位的每比特位對應一個碼流隊列,且所述比特位為該碼流隊列是否存在數(shù)據(jù)包的標識符,例如可以以比特位的值表示對應的碼流隊列是否存在數(shù)據(jù)包,根據(jù)設定的優(yōu)先級次序和所述的比特位值或者標識符,從一級屏蔽位中選出當前級屏蔽位,將所述屏蔽位信息發(fā)送給碼流調(diào)度模塊402。碼流調(diào)度模塊402,接收屏蔽位設置模塊401發(fā)送的屏蔽位信息,根據(jù)當前級屏蔽位中碼流隊列的優(yōu)先級次序,對該級屏蔽位中各碼流隊列是否符合輸出條件進行判斷并將符合輸出條件的碼流隊列輸出,更新與所述碼流隊列對應的比特位值。碼流調(diào)度模塊402進一步包括三級屏蔽位設置子模塊403,屏蔽位更新子模塊404,調(diào)度條件判斷子模塊405和二級屏蔽位判斷子模塊406。三級屏蔽位設置子模塊403,接收屏蔽位設置模塊401發(fā)送的屏蔽位信息和二級屏蔽位判斷子模塊406返回的屏蔽位信息,由當前級屏蔽位復制得到三級屏蔽位。屏蔽位更新子模塊404,接收三級屏蔽位設置子模塊403發(fā)送的三級屏蔽位信息,從所述三級屏蔽位中選出目標比特位和與之對應的待調(diào)度隊列,將目標比特位清0,并將所述目標比特位和與之對應的待調(diào)度隊列信息發(fā)送給調(diào)度條件判斷子模塊405;接收調(diào)度條件判斷子模塊405返回的標識信息若為表示調(diào)度條件滿足的標識信息,則調(diào)度輸出待調(diào)度隊列的一個數(shù)據(jù)包之后放棄輸出權(quán),并進一步判斷該碼流隊列是否存在剩余數(shù)據(jù)包,若存在剩余數(shù)據(jù)包,則將屏蔽位信息發(fā)送給二級屏蔽位判斷子模塊406,接收二級屏蔽位判斷子模塊406返回的下一個當前級屏蔽位信息;若不存在剩余數(shù)據(jù)包,將所述待調(diào)度隊列對應的一、二級屏蔽位的比特位清0,并將所述屏蔽位信息發(fā)送給二級屏蔽位判斷子模塊406;或者若為表示調(diào)度條件滿足的標識信息,調(diào)度輸出待調(diào)度隊列的全部數(shù)據(jù)包之后放棄輸出權(quán),將所述待調(diào)度隊列對應的一、二級屏蔽位的比特位清0,并將所述屏蔽位信息發(fā)送給二級屏蔽位判斷子模塊406。調(diào)度條件判斷子模塊405,用于接收屏蔽位更新子模塊404發(fā)送的目標比特位和與之對應的待調(diào)度隊列信息,當所述隊列中碼流隊列的調(diào)度時間到達且緩沖區(qū)未滿時,返回表示兩個調(diào)度條件都滿足的標識信息給屏蔽位更新子模塊404,若任一個調(diào)度條件不滿足。則返回表示調(diào)度條件不滿足的標識信息給屏蔽位更新子模塊404。二級屏蔽位判斷子模塊406,用于對屏蔽位更新子模塊404發(fā)來的屏蔽位信息進行判斷,若二級屏蔽位為0,則終止本次調(diào)度流程;若二級屏蔽位不為0,則按照預先設定的規(guī)則取下一個二級屏蔽位數(shù)據(jù)為當前級屏蔽位,并將所述當前級屏蔽位信息返回給三級屏蔽位設置子模塊403。容易理解,本發(fā)明實施例中所述的采用比特位取0值和l值所表示的含義,同樣也可以采用其它手段進行實施,比如將0和1的適用規(guī)則調(diào)換一下,仍然可以達到相同的發(fā)明目的,文中所述是采用通常約定的習慣進行舉例,并非為了限定本發(fā)明的使用范圍和方式,任何采用兩種不同狀態(tài)表示方法的方案都應包含在本發(fā)明的保護范圍之內(nèi)。本發(fā)明實施例中的碼流調(diào)度系統(tǒng),其組成結(jié)構(gòu)如圖5所示,具體包括碼流隊列501,碼流調(diào)度裝置502和數(shù)據(jù)調(diào)制裝置503,其中數(shù)據(jù)調(diào)制裝置503進一步包括緩沖區(qū)504。碼流隊列501,用于存儲接收到的碼流,接收碼流調(diào)度裝置502對各碼流隊列中是否存在數(shù)據(jù)包和各碼流隊列數(shù)據(jù)包輸出時間是否到達的查詢并返回標識信息給碼流調(diào)度裝置502,將符合調(diào)度條件的隊列中的數(shù)據(jù)包發(fā)送給碼流調(diào)度裝置502。碼流調(diào)度裝置502,用于查詢碼流隊列501各隊列中是否存在數(shù)據(jù)包并接收返回的標識信息,生成屏蔽位,根據(jù)生成的屏蔽位向碼流隊列501查詢各隊列數(shù)據(jù)包輸出時間是否到達并接收返回的標識信息,查詢緩沖區(qū)504是否已滿并接收返回的反饋信息,當所述標識信息表示數(shù)據(jù)包輸出時間到達且所述反饋信息表示緩沖區(qū)504未滿時,將碼流隊列501中符合上述條件的數(shù)據(jù)包調(diào)度輸出并發(fā)送到緩沖區(qū)504,更新屏蔽位。數(shù)據(jù)調(diào)制裝置503,用于接收碼流調(diào)度裝置502發(fā)送的碼流隊列中的數(shù)據(jù)包并將其調(diào)制輸出。緩沖區(qū)504,用于緩存碼流調(diào)度裝置502發(fā)送的數(shù)據(jù)包并發(fā)送給數(shù)據(jù)調(diào)制裝置503,接收碼流調(diào)度裝置502對緩沖區(qū)是否已滿的查詢并返回反饋信自所述的碼流調(diào)度裝置包括屏蔽位設置模塊和碼流調(diào)度模塊;屏蔽位設置模塊,用于設置一級屏蔽位的每比特位對應一個碼流隊列,且以所述各比特位的值表示各碼流隊列是否存在數(shù)據(jù)包,根據(jù)設定的優(yōu)先級次序和所述的比特位值,從一級屏蔽位中選出當前級屏蔽位,將所述屏蔽位信息發(fā)送給碼流調(diào)度模塊;碼流調(diào)度模塊,接收屏蔽位設置模塊發(fā)送的屏蔽位信息,根據(jù)當前級屏蔽位中碼流隊列的優(yōu)先級次序,對該級屏蔽位中各碼流隊列是否符合輸出條件進行判斷并將符合輸出條件的碼流隊列輸出,更新與所述碼流隊列對應的比特位值。由上述可知,本發(fā)明實施例采用的碼流調(diào)度方法和裝置,能夠利用屏蔽位迅速尋找到滿足調(diào)度條件的待調(diào)度隊列,而不用每次遍歷所有的碼流隊列并逐個進行調(diào)度條件的判定,從而大大提高了碼流調(diào)度的速度和效率。同時,的每個碼流隊列在輸出一個數(shù)據(jù)包后放棄輸出權(quán)的方法,使得所有的碼流隊列有均等的獲得輸出數(shù)據(jù)的機會,實現(xiàn)了各碼流隊列在被調(diào)度機會層面的均衡調(diào)度。此外,這種每個隊列每次輸出一個數(shù)據(jù)包后便放棄輸出權(quán),也使得各碼流隊列的碼流數(shù)據(jù)在時間上能夠均勾的分散分布到整個碼流調(diào)度輸出的過程中,實現(xiàn)了各碼流隊列在時間層面的均衡調(diào)度,解決了現(xiàn)有調(diào)度方法下,輸出碼流在一段時間內(nèi)可能集中出現(xiàn)對個別后續(xù)設備的大量碼流數(shù)據(jù),從而對后續(xù)設備造成沖擊的調(diào)度顆粒問題,提高了輸出碼流的性能指標。需要特別說明的是,本發(fā)明實施例中所述的碼流調(diào)度裝置并不特別表示某個具體系統(tǒng)中的具體模塊,例如它可以是IPQAM系統(tǒng)中的輸出調(diào)度模塊,也可以是數(shù)字電視中的交叉復用器等等,因此容易理解,鑒于不同系統(tǒng)的輸出調(diào)度相關模塊的功能劃分基本類似,因此所述碼流調(diào)度裝置及方法具有廣泛的通用性,完全能夠應用于任何需要進行大規(guī)模碼流調(diào)度的場景。最后,本發(fā)明實施例中所述的調(diào)度周期為l毫秒,只是一個設定值,并不表示本調(diào)度方法只能以1毫秒為周期,實際應用時往往還需要根據(jù)處理碼流的流量大小和運算速度進行預先的設置,具體的設置規(guī)則和方式與本發(fā)明無關,此處不予贅述。因此應該理解,以上所述僅為本發(fā)明的較佳實施例,并非用于限定本發(fā)明的精神和保護范圍,任何熟悉本領域的技術人員所做出的等同變化或替換,都應視為涵蓋在本發(fā)明的保護范圍之內(nèi)。權(quán)利要求1、一種碼流調(diào)度方法,其特征在于,該方法包括設置一級屏蔽位的每比特位對應一個碼流隊列,且以所述各比特位的值表示各碼流隊列是否存在數(shù)據(jù)包;根據(jù)設定的優(yōu)先級次序和所述的比特位值,從一級屏蔽位中選出當前級屏蔽位;根據(jù)所述當前級屏蔽位中碼流隊列的優(yōu)先級次序,對該級屏蔽位中各碼流隊列是否符合輸出條件進行判斷并將符合輸出條件的碼流隊列輸出,更新與所述碼流隊列對應的比特位值。2、根據(jù)權(quán)利要求1所述的碼流調(diào)度方法,其特征在于,所述設定的優(yōu)先級次序為屏蔽位的比特位越低,優(yōu)先級越高;所述根據(jù)設定的優(yōu)先級次序和所述的比特位值,從一級屏蔽位中選出當前級屏蔽位的方法為復制一級屏蔽位得到二級屏蔽位,根據(jù)設定的優(yōu)先級次序和所述的比特位值,從二級屏蔽位中選擇特定的屏蔽位數(shù)據(jù)作為當前級屏蔽位。3、根據(jù)權(quán)利要求2所述的碼流調(diào)度方法,其特征在于,根據(jù)所述當前級屏蔽位中碼流隊列的優(yōu)先級次序,對該級屏蔽位中各碼流隊列是否符合輸出條件進行判斷并將符合輸出條件的碼流隊列輸出,更新與所述碼流隊列對應的比特^立的方法為A)由當前級屏蔽位復制得到三級屏蔽位;B)根據(jù)三級屏蔽位各比特位值判斷所述三級屏蔽位各比特位是否全都不存在數(shù)據(jù)包當三級屏蔽位各比特位全都不存在數(shù)據(jù)包時,進一步根據(jù)二級屏蔽位各比特位值判斷二級屏蔽位各比特位是否全都不存在數(shù)據(jù)包,若二級屏蔽位各比特位全都不存在數(shù)據(jù)包,則進行下個調(diào)度周期;若二級屏蔽位各比特位不全為不存在數(shù)據(jù)包時,則從二級屏蔽位中選擇本次調(diào)度過程的下一個當前級屏蔽位,返回A);當三級屏蔽位各比特位不全為不存在數(shù)據(jù)包時,按照所述三級屏蔽位中碼流隊列的優(yōu)先級次序,將符合輸出條件的碼流隊列輸出并更新與所述碼流隊列對應的比特位值,返回B)。4、根據(jù)權(quán)利要求3所述的碼流調(diào)度方法,其特征在于,按照所述三級屏蔽位中碼流隊列的優(yōu)先級次序,將符合輸出條件的碼流隊列輸出并更新與所述碼流隊列對應的比特位值的方法為按照所迷三級屏蔽位中碼流隊列的優(yōu)先級次序,將所述三級屏蔽位中優(yōu)先級最高的比特位設置為目標比特位,與該目標比特位所對應的碼流隊列設置為待調(diào)度碼流隊列;當所述待調(diào)度碼流隊列的調(diào)度時間到達且緩沖區(qū)未滿時輸出待調(diào)度碼流隊列的一個數(shù)據(jù)包之后放棄輸出權(quán),將目標比特位值設置為表示不存在數(shù)據(jù)包;或,輸出待調(diào)度碼流隊列的全部數(shù)據(jù)包之后放棄輸出權(quán),將目標比特位值和該碼流隊列對應的一、二級屏蔽位的比特位值設置為表示不存在數(shù)據(jù)包。5、根據(jù)權(quán)利要求4所述的碼流調(diào)度方法,其特征在于,所述輸出待調(diào)度碼流隊列的一個數(shù)據(jù)包之后放棄輸出權(quán),若所述待調(diào)度碼流隊列不存在剩余包,則將目標比特位值設置為表示不存在數(shù)據(jù)包之后進一步包括將該碼流隊列對應的一、二級屏蔽位的比特位值設置為表示不存在數(shù)據(jù)包。6、一種碼流調(diào)度裝置,其特征在于,該裝置包括屏蔽位設置模塊和碼流調(diào)度模塊;屏蔽位設置模塊,用于設置一級屏蔽位的每比特位對應一個碼流隊列,且以所述各比特位的值表示各碼流隊列是否存在數(shù)據(jù)包,根據(jù)設定的優(yōu)先級次序和所述的比特位值,從一級屏蔽位中選出當前級屏蔽位,將所述屏蔽位信息發(fā)送給碼流調(diào)度模塊;碼流調(diào)度模塊,接收屏蔽位設置模塊發(fā)送的屏蔽位信息,根據(jù)當前級屏蔽位中碼流隊列的優(yōu)先級次序,對該級屏蔽位中各碼流隊列是否符合輸出條件進行判斷并將符合輸出條件的碼流隊列輸出,更新與所述碼流隊列對應的比特位值。7、根據(jù)權(quán)利要求6所述的碼流調(diào)度裝置,其特征在于,所述碼流調(diào)度模塊包括三級屏蔽位設置子模塊、屏蔽位更新子模塊、調(diào)度條件判斷子模塊和二級屏蔽位判斷子模塊;三級屏蔽位設置子模塊,接收屏蔽位設置模塊發(fā)送的屏蔽位信息和二級屏蔽位判斷子模塊返回的屏蔽位信息,由當前級屏蔽位復制得到三級屏蔽位。屏蔽位更新子模塊,接收三級屏蔽位設置子模塊發(fā)送的三級屏蔽位信息,從所述三級屏蔽位中選出目標比特位和與之對應的待調(diào)度隊列,將目標比特位值設為表示不存在數(shù)據(jù)包,并將所述目標比特位和與之對應的待調(diào)度隊列信息發(fā)送給調(diào)度條件判斷子模塊;接收調(diào)度條件判斷子模塊返回的標識信息,若為表示調(diào)度條件滿足的標識信息,則調(diào)度輸出待調(diào)度隊列中的多個數(shù)據(jù)包中的一個數(shù)據(jù)包之后放棄輸出權(quán),并將更新后的屏蔽位信息發(fā)送至二級屏蔽位判斷子模塊;調(diào)度條件判斷子模塊,用于接收屏蔽位更新子模塊發(fā)送的目標比特位值和與之對應的待調(diào)度隊列信息,當所述隊列中碼流隊列的調(diào)度時間到達且緩沖區(qū)未滿時,返回表示兩個調(diào)度條件都滿足的標識信息給屏蔽位更新子模塊,若任一個調(diào)度條件不滿足,則返回表示調(diào)度條件不滿足的標識信息給屏蔽位更新子模塊;二級屏蔽位判斷子模塊,用于對屏蔽位更新子模塊發(fā)來的屏蔽位信息進行判斷,若根據(jù)二級屏蔽位各比特位值判斷二級屏蔽位各比特位全都不存在數(shù)據(jù)包時,則終止本次調(diào)度流程;若二級屏蔽位各比特位不全為不存在數(shù)據(jù)包時,則按照預先設定的規(guī)則取下一個二級屏蔽位數(shù)據(jù)為當前級屏蔽位,并將所述當前級屏蔽位信息返回給三級屏蔽位設置子模塊。8、根據(jù)權(quán)利要求7所述的碼流調(diào)度裝置,其特征在于,所述的屏蔽位更新子模塊,進一步用于接收三級屏蔽位設置子模塊發(fā)送的三級屏蔽位信息,從所述三級屏蔽位中選出目標比特位和與之對應的待調(diào)度隊列,將目標比特位值設為表示不存在數(shù)據(jù)包,并將所述目標比特位和與之對應的待調(diào)度隊列信息發(fā)送給調(diào)度條件判斷子模塊;接收調(diào)度條件判斷子模塊返回的標識信息,若為表示調(diào)度條件滿足的標識信息,則調(diào)度輸出待調(diào)度隊列的全部數(shù)據(jù)包,將所述待調(diào)度碼流隊列對應的一、二級屏蔽位的比特位值設為表示不存在數(shù)據(jù)包,并將更新后的屏蔽位信息發(fā)送給二級屏蔽位判斷子才莫塊。9、一種碼流調(diào)度系統(tǒng),其特征在于,該系統(tǒng)包括碼流隊列,碼流調(diào)度裝置和數(shù)據(jù)調(diào)制裝置;碼流隊列,用于存儲接收到的碼流,接受碼流調(diào)度裝置對各碼流隊列中是否存在數(shù)據(jù)包和各碼流隊列數(shù)據(jù)包輸出時間是否到達的查詢并返回標識信息給碼流調(diào)度裝置,將符合調(diào)度條件的隊列中的數(shù)據(jù)包發(fā)送給碼流調(diào)度裝置;碼流調(diào)度裝置,用于查詢碼流隊列各隊列中是否存在數(shù)據(jù)包并接收返回的標識信息,生成屏蔽位,根據(jù)生成的屏蔽位向碼流隊列查詢各隊列數(shù)據(jù)包輸出時間是否到達并接收返回的標識信息,更新屏蔽位;數(shù)據(jù)調(diào)制裝置,用于接收碼流調(diào)度裝置發(fā)送的碼流隊列中的數(shù)據(jù)包并將其調(diào)制輸出。10、根據(jù)權(quán)利要求9所述的碼流調(diào)度系統(tǒng),其特征在于,所述數(shù)據(jù)調(diào)制裝置包括緩沖區(qū);碼流調(diào)度裝置,還用于查詢緩沖區(qū)是否已滿并接收返回的反饋信息,當所述標識信息表示數(shù)據(jù)包輸出時間到達且所述反饋信息表示緩沖區(qū)未滿時,將碼流隊列中符合上述條件的數(shù)據(jù)包調(diào)度輸出并發(fā)送到緩沖區(qū),更新屏蔽位;緩沖區(qū),用于接受碼流調(diào)度裝置對緩沖區(qū)是否已滿的查詢并返回反饋信息,緩存碼流調(diào)度裝置發(fā)送的數(shù)據(jù)包并發(fā)送給數(shù)據(jù)調(diào)制裝置。11、根據(jù)權(quán)利要求io所述的碼流調(diào)度系統(tǒng),其特征在于,所述的碼流調(diào)度裝置包括屏蔽位設置模塊和碼流調(diào)度模塊;所述的屏蔽位設置模塊,用于設置一級屏蔽位的每比特位對應一個碼流隊列,且以所述各比特位的值表示各碼流隊列是否存在數(shù)據(jù)包,根據(jù)設定的優(yōu)先級次序和所述的比特位值,從一級屏蔽位中選出當前級屏蔽位,將所述屏蔽位信息發(fā)送給碼流調(diào)度模塊;所述的碼流調(diào)度模塊,接收屏蔽位設置模塊發(fā)送的屏蔽位信息,根據(jù)當前級屏蔽位中碼流隊列的優(yōu)先級次序,對該級屏蔽位中各碼流隊列是否符合輸出條件進行判斷并將符合輸出條件的碼流隊列輸出,更新與所述碼流隊列對應的比特位值。全文摘要本發(fā)明公開了一種碼流調(diào)度方法,包括設置一級屏蔽位的每比特位對應一個碼流隊列,且以所述各比特位的值表示各碼流隊列是否存在數(shù)據(jù)包;根據(jù)設定的優(yōu)先級次序和所述的比特位值,從一級屏蔽位中選出當前級屏蔽位;根據(jù)所述當前級屏蔽位中碼流隊列的優(yōu)先級次序,對該級屏蔽位中各碼流隊列是否符合輸出條件進行判斷并將符合輸出條件的碼流隊列輸出,更新與所述碼流隊列對應的比特位值。本發(fā)明還同時公開了一種碼流調(diào)度裝置和系統(tǒng)。本發(fā)明通過設置多級屏蔽位表示碼流隊列的狀態(tài),通過屏蔽位對碼流隊列進行操作處理,減少了碼流調(diào)度處理的計算量,可以迅速定位待調(diào)度隊列,使?jié)M足輸出條件的隊列能夠迅速得到調(diào)度,提高了調(diào)度效率。文檔編號H04N7/26GK101163248SQ20071018785公開日2008年4月16日申請日期2007年11月19日優(yōu)先權(quán)日2007年11月19日發(fā)明者王澤廷,雷趙,邱香膏申請人:華為技術有限公司