(中國衛(wèi)星海上測控部,江蘇 江陰 214431)
虛擬信道調(diào)度算法在國內(nèi)外被廣泛研究。文獻(xiàn)[1]將數(shù)據(jù)幀生成模塊與虛擬信道復(fù)用模塊作為一個整體考慮,提出了自適應(yīng)幀生成算法與虛擬信道調(diào)度算法相結(jié)合的多路復(fù)用方法,在任一時刻均計(jì)算信道傳輸緊迫度,其異步信道采用搶占式調(diào)度策略;文獻(xiàn)[2]提出了一種基于虛擬信道/幀分離估算緊迫度的動態(tài)調(diào)度算法,將信源數(shù)據(jù)分成同步數(shù)據(jù)和異步數(shù)據(jù),在異步數(shù)據(jù)的調(diào)度中,構(gòu)造虛擬信道傳輸緊迫度函數(shù)分配傳輸時隙,其同步信道和異步信道的時隙不可互轉(zhuǎn);文獻(xiàn)[3]設(shè)計(jì)了一種邊界可移動的VIP/同步/異步混合復(fù)用方式,其同步信道采用獨(dú)占式調(diào)度策略,異步信道采用搶占式調(diào)度策略,在同步信道時隙數(shù)據(jù)無效時,將調(diào)度異步信道。
目前針對虛擬信道調(diào)度一個或幾個特性而設(shè)計(jì)的調(diào)度算法[4-7],局限于某些應(yīng)用場合,或者著眼于提高整體調(diào)度性能[8-10],無法得到普遍應(yīng)用;信道時隙計(jì)算、信道優(yōu)先級調(diào)整內(nèi)嵌到算法中,限制了調(diào)度算法在更大范圍內(nèi)通用。本文著眼于設(shè)計(jì)廣泛通用的虛擬信道調(diào)度算法,把信道時隙計(jì)算和信道優(yōu)先級調(diào)整從算法中剝離,信道時隙和信道優(yōu)先級以參數(shù)形式傳入算法中;對全同步調(diào)度算法、全異步調(diào)度算法和同步/異步混合調(diào)度算法進(jìn)行了研究,設(shè)計(jì)了獨(dú)占式輪轉(zhuǎn)和順序式輪轉(zhuǎn)兩種全同步調(diào)度算法,搶占式優(yōu)先和非搶占式優(yōu)先兩種全異步調(diào)度算法,以及獨(dú)占式混合和順序式混合兩種同步/異步混合調(diào)度算法,在此基礎(chǔ)上考慮應(yīng)急信道數(shù)據(jù)發(fā)送要求,實(shí)現(xiàn)了基于動態(tài)窗口的虛擬信道通用調(diào)度算法。
設(shè)虛擬信道VS1~VSn為同步信道,占用時隙分別為Ts1~Tsn,遙測幀周期為T,顯然Tsi應(yīng)當(dāng)為T的整數(shù)倍,同步信道總時隙Ts為Ts1~Tsn之和。采用時間輪轉(zhuǎn)調(diào)度算法實(shí)現(xiàn)虛擬信道同步調(diào)度,時間片長度為T。按照調(diào)度策略,分為獨(dú)占式輪轉(zhuǎn)調(diào)度算法和順序式輪轉(zhuǎn)調(diào)度算法,算法描述如下:
1)根據(jù)虛擬信道占用時隙和遙測幀周期,計(jì)算信道輪轉(zhuǎn)次數(shù)Ni(1≤i≤n):Ni=Tsi/T。
2)系統(tǒng)維護(hù)一張?zhí)摂M信道調(diào)度表,如表1所示,“序號”為調(diào)度順序,“發(fā)送計(jì)數(shù)”Ci為本輪周期內(nèi)剩余調(diào)度次數(shù),初始化為Ni,Ri為信道數(shù)據(jù)是否有效。

表1 時間輪轉(zhuǎn)調(diào)度算法中的虛擬信道調(diào)度表
3)獨(dú)占式輪轉(zhuǎn)調(diào)度:當(dāng)前信道調(diào)度完畢后,再調(diào)度下一個信道。即當(dāng)遙測幀中斷到來時,系統(tǒng)按照如下步驟搜索虛擬信道調(diào)度表:
①系統(tǒng)從前往后搜索。如果Ri為真且Ci大于0,則調(diào)度信道i,對應(yīng)的“發(fā)送計(jì)數(shù)”Ci減1;接下來Ni-1周期內(nèi),均調(diào)度信道i,直至Ci計(jì)數(shù)值為0時調(diào)度信道i+1;如果Ci為0,該信道不參與調(diào)度;
②當(dāng)最后一個信道n調(diào)度完畢后,所有信道Ci恢復(fù)初始值Ni,此時可以重新獲取信道時隙,然后重復(fù)步驟①,直至系統(tǒng)退出。
4)順序式輪轉(zhuǎn)調(diào)度算法與獨(dú)占式輪轉(zhuǎn)調(diào)度算法略有不同,當(dāng)前信道不是一次性調(diào)度完畢,而是僅調(diào)度1次,下次調(diào)度下一個信道。即當(dāng)遙測幀中斷到來時,系統(tǒng)按照如下步驟搜索虛擬信道調(diào)度表:
①系統(tǒng)依次從前往后搜索。如果Ci大于0,則調(diào)度信道i,Ci減1,下一次調(diào)度信道i+1;如果Ci為0,則該信道不參與調(diào)度,直接調(diào)度信道i+1;
②當(dāng)最后一個信道n被調(diào)度后,返回調(diào)度表起始處,重復(fù)步驟①,直至所有信道均被調(diào)度完畢,即Ci均為0,則所有虛擬信道的Ci恢復(fù)為初始值Ni,此時可以重新獲取信道時隙,重復(fù)步驟①,直至系統(tǒng)退出。
設(shè)計(jì)了獲取同步信道調(diào)度函數(shù)int GetSyncVC(int *Ci, int *Ri,int n,int &nNextVC,BOOL bSeq)實(shí)現(xiàn)該算法,函數(shù)流程如圖1所示。其中n為同步信道個數(shù),nNextVC為下一次可能被調(diào)度的虛擬信道(初始化為0),bSeq為TRUE表示順序式輪轉(zhuǎn)調(diào)度,bSeq為FALSE表示獨(dú)占式輪轉(zhuǎn)調(diào)度,返回值表示當(dāng)前被調(diào)度的虛擬信道(-1表示本輪信道調(diào)度完畢)。
①在調(diào)度某信道時,如果發(fā)現(xiàn)該信道數(shù)據(jù)無效,則自動調(diào)度下一信道,以避免發(fā)送填充數(shù)據(jù);
②在順序式調(diào)度模式下,當(dāng)搜索到最后一個信道且未發(fā)現(xiàn)有需要調(diào)度數(shù)據(jù)時,需返回調(diào)度表頭部重新進(jìn)行搜索,以調(diào)度其他信道尚未調(diào)度完畢的數(shù)據(jù);
③在順序式調(diào)度模式下,下一次調(diào)度下一個信道;而在獨(dú)占式調(diào)度模式下,當(dāng)本信道調(diào)度完畢后,下一次才調(diào)度下一個信道。

圖1 同步信道調(diào)度函數(shù)流程圖
同步信道占用時隙隨衛(wèi)星運(yùn)行狀態(tài)變化,全同步調(diào)度算法提供了時隙調(diào)整接口,GetSyncVC()返回-1時重新計(jì)算初始值Ni,Ci恢復(fù)為初始值Ni。
假設(shè)4個同步信道VS1、VS2、VS3、VS4,占用時隙為8 s、4 s、2 s、1 s,幀周期為1 s,輪轉(zhuǎn)次數(shù)為8、4、2、1。總時隙為15 s,一個調(diào)度周期需調(diào)度15次。信道數(shù)據(jù)均有效,順序式同步調(diào)度和獨(dú)占式同步調(diào)度的虛擬信道如表2第2列和第5列所示;第3列和第6列表示VS2數(shù)據(jù)無效時調(diào)度順序,加粗部分為第二輪調(diào)度;第4列和第7列表示VS2數(shù)據(jù)在第10次有效時的調(diào)度順序。當(dāng)某信道數(shù)據(jù)無效時,該算法可調(diào)度后續(xù)數(shù)據(jù)有效的信道;當(dāng)信道數(shù)據(jù)恢復(fù)時,可確保該信道數(shù)據(jù)得到調(diào)度。而順序式同步調(diào)度相比獨(dú)占式同步調(diào)度,能夠提高信道調(diào)度及時性。
設(shè)虛擬信道VA1~VAn為異步信道,占用時隙分別為Ta1~Tan,優(yōu)先級依次為P1~Pn,按照優(yōu)先級排序,即P1≥P2≥……≥Pn。遙測幀周期為T,顯然Tai應(yīng)當(dāng)為T的整數(shù)倍,異步信道總時隙Ta為Ta1~Tan之和,該時間稱為異步信道調(diào)度周期。
按照調(diào)度策略不同,分為非搶占式優(yōu)先級調(diào)度算法和搶占式優(yōu)先級調(diào)度算法,算法描述如下:
1)根據(jù)虛擬信道占用時隙和遙測幀周期,計(jì)算信道發(fā)送次數(shù)Si(1≤i≤n):Si=Tai/T。
2)系統(tǒng)維護(hù)一張信道調(diào)度表,按照優(yōu)先級從高到低排列,如表2所示,“發(fā)送計(jì)數(shù)”Ci為本輪周期內(nèi)剩余調(diào)度次

表2 順序式同步調(diào)度和獨(dú)占式同步調(diào)度順序
數(shù),初始化為Si,Ri為信道數(shù)據(jù)是否有效,初始化時信道調(diào)度表如表3所示。

表3 優(yōu)先級調(diào)度算法中的虛擬信道調(diào)度表
3)非搶占式優(yōu)先級調(diào)度算法中,系統(tǒng)按照如下步驟搜索虛擬信道調(diào)度表:
①當(dāng)遙測幀周期到來時,如果VA1信道Ri為真,在接下來S1個周期內(nèi),均發(fā)送VA1數(shù)據(jù),發(fā)送完畢后,Ri設(shè)置為假,令i=2;如果VA1信道Ri為假,令i=2;
②當(dāng)遙測幀周期到來時,如果VAi信道Ri為真,在接下來的Si個周期內(nèi),均發(fā)送VAi的數(shù)據(jù),發(fā)送完畢后,Ri設(shè)置為假。如果VCi信道Ri為假,令i++,如果i≤n,重復(fù)步驟②,否則轉(zhuǎn)③;
③此時最后一個信道n調(diào)度完畢,所有信道Ci恢復(fù)初始值Si,在此可以調(diào)整信道優(yōu)先級,然后重復(fù)步驟①,直至系統(tǒng)退出。
4)搶占式優(yōu)先級調(diào)度算法與非搶占式優(yōu)先級調(diào)度算法略有不同,即低優(yōu)先級信道占用時間片時,高優(yōu)先級信道可搶占其時間片,概述如下:
①與非搶占式優(yōu)先級調(diào)度算法步驟①相同;
②當(dāng)遙測幀周期到來時,如果VAi信道Ri為真,發(fā)送一幀VAi信道數(shù)據(jù),并令Ci減1(如果Ci等于0,設(shè)置VAi的Ri為否),并轉(zhuǎn)步驟①;如果VAi信道Ri為假,令i++,如果i≤n,重復(fù)步驟②,否則轉(zhuǎn)③;
③與非搶占式優(yōu)先級調(diào)度算法步驟③相同。
設(shè)計(jì)了獲取異步信道調(diào)度函數(shù)int GetAsynVC(int *Ci,int *Ri,int n,int &nNextVC,BOOL bPreemp)實(shí)現(xiàn)該算法,流程圖如圖2所示。bPreemp為TRUE表示搶占式優(yōu)先級調(diào)度,bPreemp為FALSE表示非搶占式優(yōu)先級調(diào)度,返回值表示當(dāng)前被調(diào)度的虛擬信道(-1表示本輪信道調(diào)度完畢)。

①在搶占式優(yōu)先級調(diào)度模式下,高優(yōu)先級信道優(yōu)先調(diào)度,即使當(dāng)前信道數(shù)據(jù)未調(diào)度完畢,也從第一個信道開始調(diào)度;②當(dāng)信道調(diào)度完畢后,數(shù)據(jù)準(zhǔn)備就緒標(biāo)志置為假。此時如果是非搶占式優(yōu)先級調(diào)度,還需返回調(diào)度表頭重新進(jìn)行調(diào)度。圖2 異步信道調(diào)度函數(shù)流程圖
異步信道占用時隙及其優(yōu)先級可隨衛(wèi)星運(yùn)行狀態(tài)變化,全異步調(diào)度算法提供了信道時隙調(diào)整接口以及優(yōu)先級調(diào)整接口,在一輪調(diào)度完成,即函數(shù)GetAsynVC()返回-1時調(diào)整,此時按照優(yōu)先級重新排序生成VA1~VAn,重新計(jì)算初始值Si,Ci計(jì)數(shù)恢復(fù)為初始值Si,此后系統(tǒng)將按新的時隙和優(yōu)先級進(jìn)行調(diào)度。此外,系統(tǒng)在每次調(diào)用函數(shù)GetAsynVC()前,均可調(diào)整優(yōu)先級。
假設(shè)有4個異步信道VA1、VA2、VA3、VA4,占用時隙分別為8 s、4 s、2 s、1 s,幀周期為1 s,發(fā)送次數(shù)分別為8、4、2、1,優(yōu)先級設(shè)置為4、3、2、1,各信道數(shù)據(jù)均準(zhǔn)備完畢。搶占式優(yōu)先級調(diào)度和非搶占式優(yōu)先級調(diào)度過程中,搜索的信道如表4所示。

表4 搶占式和非搶占式優(yōu)先級調(diào)度中搜索的信道
表4顯示搶占式和非搶占式最終調(diào)度信道相同,但實(shí)際搜索信道不同。表5第2列和第3列顯示了VA1信道在第5次調(diào)度時數(shù)據(jù)無效、在第7次調(diào)度時恢復(fù)、在第9次調(diào)度時數(shù)據(jù)無效、在第11次調(diào)度時恢復(fù)的調(diào)度順序,調(diào)度開始時所有數(shù)據(jù)均有效;表5第3列和第4列顯示了所有數(shù)據(jù)均有效時,在第5次調(diào)度時,VA3優(yōu)先級提高為5時的調(diào)度順序,搶占式調(diào)度第5次開始調(diào)度VA3,而非搶占式調(diào)度第9次才開始調(diào)度VA3。

表5 數(shù)據(jù)無效對信道調(diào)度的影響
設(shè)虛擬信道VS1~VSm為同步信道(統(tǒng)稱為VS,即同步窗口),VA1~VAn為異步信道(統(tǒng)稱為VA,即異步窗口),同步信道占用時隙為Ts,異步信道占用時隙為Ta。設(shè)計(jì)了固定比率同步/異步混合調(diào)度算法,按照調(diào)度策略分為獨(dú)占式混合算法和順序式混合算法。算法描述如下:
1)根據(jù)窗口占用時隙和遙測幀周期,計(jì)算窗口打開次數(shù)Wi(1≤i≤2):W1=Ts/T,W2=Ta/T。
2)系統(tǒng)維護(hù)一張窗口調(diào)度表,如表6所示,“序號”表示調(diào)度順序,“發(fā)送計(jì)數(shù)”Ci表示本輪周期內(nèi)該窗口還剩余的調(diào)度次數(shù),且Ci被初始化為Wi,“數(shù)據(jù)有效標(biāo)志”Vi表示該窗口數(shù)據(jù)是否有效,V1初始化為同步信道Ri值之和,V2初始化為異步信道Ri值之和,初始化時窗口調(diào)度表如表6所示。

表6 同步/異步混合窗口調(diào)度表
3)獨(dú)占式混合算法中,首先調(diào)度VS窗口,即采用全同步調(diào)度算法調(diào)度VS1~VSm,調(diào)度W1個周期后,在接下來W2個周期內(nèi),調(diào)度VA窗口,即采用全異步調(diào)度算法調(diào)度VA1~VAm。共調(diào)度(W1+W2)個周期后,一次混合調(diào)度完畢后,重復(fù)步驟3),直至系統(tǒng)退出。
4)順序式混合算法中,依次調(diào)度VS窗口、VA窗口、VS窗口、VA窗口。即采用全同步調(diào)度算法調(diào)度VS1~VSm,調(diào)度1個周期以后,在接下來的1個周期內(nèi),采用全異步調(diào)度算法調(diào)度VA1~VAm,然后調(diào)度VS1~VSm、VA1~VAm。共調(diào)度(W1+W2)個周期以后,一次混合調(diào)度完畢,重復(fù)步驟4),直至系統(tǒng)退出。
混合信道調(diào)度算法流程圖如圖3所示。其中窗口調(diào)度采用GetSyncVC函數(shù)實(shí)現(xiàn),即設(shè)Ci[]={W1,W2},n=2,nNextMixVc=0,bMix表示順序式混合(TRUE)還是獨(dú)占式混合(FALSE):
int nW= GetSyncVC(Ci,2, nNextMixVc, bMix);
nW為0,表示調(diào)度同步信道;nW為1,表示調(diào)度異步信道;nW為-1,表示本輪調(diào)度結(jié)束,開啟新一輪調(diào)度,此時重新計(jì)算初始值S和A,Ci計(jì)數(shù)恢復(fù)為初始值,此后系統(tǒng)按新的時隙進(jìn)行調(diào)度。

圖3 混合信道調(diào)度算法流程圖
注:①擬調(diào)度窗口發(fā)送計(jì)數(shù)有效而數(shù)據(jù)無效時,GetSyncVC函數(shù)將跳過該窗口調(diào)度下一個窗口,之前需計(jì)算窗口數(shù)據(jù)有效標(biāo)志;
②在一輪混合調(diào)度完畢后,調(diào)整窗口打開次數(shù);
③在一輪異步信道調(diào)度完畢后,調(diào)整信道發(fā)送次數(shù)及優(yōu)先級;
④在一輪同步信道調(diào)度完畢后,調(diào)整信道輪轉(zhuǎn)次數(shù)。
同步/異步混合調(diào)度算法采用兩級調(diào)度機(jī)制,第一級在同步窗口和異步窗口之間調(diào)度,第二級采用全同步或全異步調(diào)度。顯然,混合調(diào)度算法根據(jù)調(diào)度方式可分為8種調(diào)度模式,如表7所示。

表7 混合調(diào)度算法的多種調(diào)度模式
該算法建立在全同步調(diào)度算法、全異步調(diào)度算法以及同步/異步混合調(diào)度算法之上,既能滿足同步數(shù)據(jù)固定時隙要求,又能適應(yīng)異步數(shù)據(jù)動態(tài)調(diào)整要求,還能滿足應(yīng)急數(shù)據(jù)及時發(fā)送要求,并減少信道資源浪費(fèi)。算法描述如下:
1)設(shè)計(jì)了如表8所示的混合調(diào)度表,相比同步/異步混合調(diào)度表,增加了應(yīng)急窗口VE,初始化時,同步窗口、異步窗口比率為W1:W2,應(yīng)急窗口發(fā)送次數(shù)默認(rèn)為0,當(dāng)需要發(fā)送應(yīng)急信道數(shù)據(jù)時才計(jì)算其值。

表8 基于動態(tài)窗口的混合調(diào)度表
2)設(shè)計(jì)了動態(tài)窗口調(diào)度函數(shù)int GetDynamicW(intCi[3],int &nNextVC,BOOL bSeq)實(shí)現(xiàn)窗口調(diào)度,算法流程如圖4所示。其中:Ci[]為窗口剩余調(diào)度次數(shù)(初始化為Wi);nNextVC為下次可能被調(diào)度窗口(初始化為0);bSeq為TRUE表示順序式輪轉(zhuǎn)調(diào)度,bSeq為FALSE表示獨(dú)占式輪轉(zhuǎn)調(diào)度;返回值-1表示本次調(diào)度輪空,0表示應(yīng)急窗口有效,1表示同步窗口有效,2表示異步窗口有效。

圖4 動態(tài)窗口調(diào)度函數(shù)流程圖
3)在動態(tài)窗口調(diào)度函數(shù)GetDynamicW()、同步信道調(diào)度函數(shù)GetSyncVC()、異步信道調(diào)度函數(shù)GetAsynVC()基礎(chǔ)上,實(shí)現(xiàn)基于動態(tài)窗口的混合調(diào)度算法,流程圖與圖3類似,不同之處在于窗口調(diào)度采用GetDynamicW()函數(shù),其返回值為0時調(diào)度應(yīng)急窗口,1時調(diào)度同步窗口、2時調(diào)度異步窗口。
基于動態(tài)窗口的通用調(diào)度算法中,當(dāng)W0=0時,即實(shí)現(xiàn)了第3節(jié)的同步/異步混合調(diào)度算法;當(dāng)W0=W1=0時,即實(shí)現(xiàn)了第2節(jié)的全異步調(diào)度算法;當(dāng)W0=W2=0時,即實(shí)現(xiàn)了第1節(jié)的全同步調(diào)度算法。
采用Visual C++6.0實(shí)現(xiàn)了基于動態(tài)窗口的通用調(diào)度算法,程序界面圖5所示。用戶通過設(shè)置窗口調(diào)度方式、同步信道調(diào)度方式、異步調(diào)度方式定制信道調(diào)度方式,通過設(shè)置窗口調(diào)度比率控制同步調(diào)度、異步調(diào)度以及應(yīng)急調(diào)度的所占用時隙。
第一個列表框顯示程序中使用的同步信道和異步信道中各虛擬信道的初始次數(shù)和優(yōu)先級,其中同步信道共4個,即VS1~VS4,初始次數(shù)分別為8、4、2、1,異步信道共4個,即VA1~VA4,初始次數(shù)分別為8、4、2、1,優(yōu)先級分別為4、3、2、1。
第二個列表框顯示全同步調(diào)度順序式和獨(dú)占式的調(diào)度結(jié)果,全同步調(diào)度通過控制窗口調(diào)度比率實(shí)現(xiàn),即同步窗口調(diào)度次數(shù)為15,異步窗口調(diào)度次數(shù)為0,應(yīng)急窗口調(diào)度次數(shù)為0;第三個列表框顯示全異步調(diào)度搶占式和非搶占式的調(diào)度結(jié)果,窗口調(diào)度比率設(shè)置為同步窗口調(diào)度次數(shù)為0,異步窗口調(diào)度次數(shù)為15,應(yīng)急窗口調(diào)度次數(shù)為0,列表框最后一列中,顯示了異步信道調(diào)度時信道搜索情況;第四個列表框顯示混合式調(diào)度順序式的調(diào)度結(jié)果,窗口調(diào)度比率設(shè)置為同步窗口調(diào)度次數(shù)為15,異步窗口調(diào)度次數(shù)為15,應(yīng)急窗口調(diào)度次數(shù)為0。
第五個列表框顯示動態(tài)調(diào)度結(jié)果,初始時窗口調(diào)度比率設(shè)置為同步窗口調(diào)度次數(shù)為15,異步窗口調(diào)度次數(shù)為15,應(yīng)急窗口調(diào)度次數(shù)為0;為模擬應(yīng)急窗口調(diào)度,首先設(shè)置應(yīng)急窗口調(diào)度次數(shù)為正值,然后點(diǎn)擊“應(yīng)急調(diào)度”按鈕,模擬程序運(yùn)行過程中實(shí)時接收應(yīng)急數(shù)據(jù)的情況。列表框中顯示,同步調(diào)度和異步調(diào)度交叉進(jìn)行,因?yàn)榇翱谡{(diào)度方式選擇了“順序式”;同步信道中VS1~VS4為獨(dú)占運(yùn)行,異步信道中VA1~VA4為非搶占式運(yùn)行;當(dāng)用戶點(diǎn)擊應(yīng)急調(diào)度后,列表框中顯示應(yīng)急調(diào)度被及時插入到調(diào)度隊(duì)列中,調(diào)度2次后又恢復(fù)正常調(diào)度。
上述信道占用時隙、信道優(yōu)先級、信道調(diào)度模式等信息可通過參數(shù)傳入調(diào)度程序,這些參數(shù)既可由嵌入衛(wèi)星的調(diào)度程序?qū)崟r計(jì)算生成,也可由地面運(yùn)控軟件發(fā)送遙控?cái)?shù)據(jù)注入的方式生成;前一種方式與時隙計(jì)算、優(yōu)先級計(jì)算內(nèi)嵌到算法中的執(zhí)行效率一致,后一種方式雖然降低了系統(tǒng)執(zhí)行效率,但增加了地面人工控制接口,有利于應(yīng)急情況處置。實(shí)際應(yīng)用中,兩種方式可結(jié)合使用。
在全同步調(diào)度算法、全異步調(diào)度算法、同步/異步混合調(diào)度算法基礎(chǔ)上,實(shí)現(xiàn)的基于動態(tài)窗口的虛擬信道通用調(diào)度算法具有如下幾個特點(diǎn):
1)算法通用性強(qiáng)。通過參數(shù)配置,可實(shí)現(xiàn)全同步調(diào)度算法、全異步調(diào)度算法、同步/異步混合調(diào)度算法以及兼顧應(yīng)急信道的混合調(diào)度算法,并具有8種可選的調(diào)度策略;
2)算法窗口利用率和信道利用率高。在同步調(diào)度和異步調(diào)度中,當(dāng)擬調(diào)度信道發(fā)送計(jì)數(shù)有效而數(shù)據(jù)無效時,算法將跳過該信道調(diào)度下一個信道,實(shí)現(xiàn)了信道時隙自動接續(xù);在同步/異步混合調(diào)度以及兼顧應(yīng)急信道的混合調(diào)度中,當(dāng)擬調(diào)度窗口發(fā)送計(jì)數(shù)有效而數(shù)據(jù)無效時,算法將跳過該窗口調(diào)度下一個窗口,實(shí)現(xiàn)了窗口時隙自動接續(xù);
3)算法動態(tài)特性強(qiáng)。初始化時、每一輪調(diào)度完畢后,算法獲取窗口占用時隙、信道占用時隙以及信道優(yōu)先級,每次異步信道調(diào)度時也獲取信道優(yōu)先級,調(diào)度策略的參數(shù)化也提高了算法的動態(tài)調(diào)整性能。
本文提出的算法,拋開了傳統(tǒng)算法把時隙計(jì)算、優(yōu)先級計(jì)算和調(diào)度策略內(nèi)嵌到算法中的設(shè)計(jì)思路,信道占用時隙、信道優(yōu)先級、信道調(diào)度模式、調(diào)度策略等均以參數(shù)形式傳入,提高了算法通用性和適用性。