羅 寧,劉 峰
(1.南海艦隊(duì)指揮所,廣東 湛江 524000;2.江蘇自動(dòng)化研究所,江蘇 連云港 222006)
數(shù)據(jù)鏈?zhǔn)歉髦笓]所與武器平臺(tái)間交聯(lián)的紐帶,它將不同的武器平臺(tái)有機(jī)地連接起來,形成一個(gè)高效的作戰(zhàn)體系[1]。目前美軍已形成多頻段覆蓋、多功能兼?zhèn)洹⒍嗥脚_(tái)并用以及從單機(jī)到系統(tǒng)的較成熟的數(shù)據(jù)鏈網(wǎng)絡(luò)。隨著軍隊(duì)聯(lián)合作戰(zhàn)水平的提高,在海戰(zhàn)場(chǎng)協(xié)同防空、近岸協(xié)同防御等應(yīng)用環(huán)境中,需要利用數(shù)據(jù)鏈完成傳感器、指控系統(tǒng)與武器系統(tǒng)之間的目標(biāo)參數(shù)、指控?cái)?shù)據(jù)等實(shí)時(shí)信息的交換[2-3],數(shù)據(jù)鏈組網(wǎng)的通信量將越來越高。目前數(shù)據(jù)鏈傳輸速率有限,如美軍Link-11標(biāo)準(zhǔn)傳輸速率為 1200bps,Link-16標(biāo)準(zhǔn)傳輸速率為28.8kbps~238kbps;如Link-11等輪詢數(shù)據(jù)鏈在多節(jié)點(diǎn)組網(wǎng)時(shí),還存在較長(zhǎng)的輪詢周期,導(dǎo)致無線鏈路吞吐量降低,進(jìn)而影響作戰(zhàn)的整體效能。因此在一體化協(xié)同作戰(zhàn)的背景下,為保持較好的通信時(shí)延等無線傳輸QoS要求,既需要開發(fā)更先進(jìn)、高速的數(shù)據(jù)鏈;又需要合理規(guī)劃數(shù)據(jù)鏈組網(wǎng),改善無線鏈路資源調(diào)度方式,提高現(xiàn)有數(shù)據(jù)鏈資源的使用效率。
在當(dāng)前指控系統(tǒng)中,不同的報(bào)文具有不同的無線傳輸QoS要求,如果指控系統(tǒng)未考慮報(bào)文的優(yōu)先級(jí)、節(jié)點(diǎn)移動(dòng)性和無線傳輸易受干擾等特點(diǎn),采用先入先出的方式向數(shù)據(jù)鏈端機(jī)發(fā)送數(shù)據(jù),會(huì)導(dǎo)致低優(yōu)先級(jí)數(shù)據(jù)占用過多無線鏈路帶寬資源,從而使高優(yōu)先級(jí)報(bào)文延遲過大,吞吐量過小,不能有效利用無線鏈路資源,達(dá)到整體指控報(bào)文傳輸效率的優(yōu)化。
本文將先介紹當(dāng)前常見的隊(duì)列調(diào)度算法,在此基礎(chǔ)上提出基于優(yōu)先級(jí)隊(duì)列的多約束無線鏈路資源調(diào)度算法,該算法綜合利用報(bào)文優(yōu)先級(jí)、節(jié)點(diǎn)位置信息、鏈路丟失率形成發(fā)送時(shí)的多約束條件,通過隊(duì)列間調(diào)度和隊(duì)列內(nèi)調(diào)度,提高現(xiàn)有數(shù)據(jù)鏈資源的使用效率。
常見隊(duì)列調(diào)度算法多數(shù)是針對(duì)路由器設(shè)計(jì),如優(yōu)先級(jí)隊(duì)列PQ(Priority Queuing)、加權(quán)公平隊(duì)列 WFQ(Weighted Fair Queuing)等,本文算法吸收了優(yōu)先級(jí)隊(duì)列PQ和加權(quán)公平隊(duì)列WFQ算法的特點(diǎn),在仿真中將對(duì)比分析先入先出隊(duì)列FIFO和優(yōu)先隊(duì)列算法,因此重點(diǎn)介紹這三種算法。
1)先進(jìn)先出隊(duì)列 FIFO[4](First In First Out Queuing)
FIFO依照?qǐng)?bào)文到達(dá)時(shí)間的先后順序進(jìn)行轉(zhuǎn)發(fā)。所有報(bào)文共享網(wǎng)絡(luò)帶寬資源,得到資源的多少完全取決于報(bào)文到達(dá)的時(shí)機(jī),沒有考慮無線環(huán)境中的丟失率和節(jié)點(diǎn)移動(dòng)性。
2)優(yōu)先級(jí)隊(duì)列 PQ[4](Priority Queuing)
PQ隊(duì)列是針對(duì)關(guān)鍵業(yè)務(wù)應(yīng)用設(shè)計(jì)的。關(guān)鍵業(yè)務(wù)有一個(gè)重要的特點(diǎn),即在擁塞發(fā)生時(shí)要求優(yōu)先獲得服務(wù)以減小響應(yīng)的延遲。PQ可以根據(jù)網(wǎng)絡(luò)協(xié)議(如IP,IPX)、數(shù)據(jù)流入接口、報(bào)文長(zhǎng)短、源地址/目的地址等靈活地指定優(yōu)先次序。在隊(duì)列調(diào)度時(shí),PQ嚴(yán)格按照優(yōu)先級(jí)從高到低的次序,優(yōu)先發(fā)送較高優(yōu)先級(jí)隊(duì)列中的分組,當(dāng)較高優(yōu)先級(jí)隊(duì)列為空時(shí),再發(fā)送較低優(yōu)先級(jí)隊(duì)列中的分組。這樣,將關(guān)鍵業(yè)務(wù)的分組放入較高優(yōu)先級(jí)的隊(duì)列,將非關(guān)鍵業(yè)務(wù)的分組放入較低優(yōu)先級(jí)的隊(duì)列,可以保證關(guān)鍵業(yè)務(wù)的分組被優(yōu)先傳送,非關(guān)鍵業(yè)務(wù)的分組在處理關(guān)鍵業(yè)務(wù)數(shù)據(jù)的空閑間隙被傳送。PQ的缺點(diǎn)是如果較高優(yōu)先級(jí)隊(duì)列中長(zhǎng)時(shí)間有分組存在,那么低優(yōu)先級(jí)隊(duì)列中的報(bào)文將可能一直得不到服務(wù)。
3)加權(quán)公平隊(duì)列 WFQ[5](Weighted Fair Queuing)
首先,WFQ是為了公平地分享網(wǎng)絡(luò)資源,盡可能使所有流的遲延和延遲抖動(dòng)達(dá)到最優(yōu)而推出的。它照顧了各方面的利益,主要表現(xiàn)在:不同的隊(duì)列獲得公平的調(diào)度機(jī)會(huì),從總體上均衡各個(gè)流的延遲。短報(bào)文和長(zhǎng)報(bào)文獲得公平的調(diào)度:如果不同隊(duì)列間同時(shí)存在多個(gè)長(zhǎng)報(bào)文和短報(bào)文等待發(fā)送,應(yīng)當(dāng)顧及短報(bào)文的利益,讓短報(bào)文優(yōu)先獲得調(diào)度,從而在總體上減少各個(gè)流的報(bào)文間的延遲抖動(dòng)。
其次,WFQ在計(jì)算報(bào)文調(diào)度次序時(shí)增加了優(yōu)先權(quán)的考慮。從統(tǒng)計(jì)上,WFQ使高優(yōu)先權(quán)的報(bào)文獲得優(yōu)先調(diào)度的機(jī)會(huì)多于低優(yōu)先權(quán)的報(bào)文。在出隊(duì)的時(shí)候,WFQ按流的優(yōu)先級(jí)來分配每個(gè)流應(yīng)占有出口的帶寬。優(yōu)先級(jí)的數(shù)值越小,所得的帶寬越少。優(yōu)先級(jí)的數(shù)值越大,所得的帶寬越多。最后,輪詢各個(gè)隊(duì)列,按照帶寬比例從隊(duì)列中取出相應(yīng)數(shù)量的報(bào)文進(jìn)行發(fā)送。
本文結(jié)合上述幾種算法的特點(diǎn),在考慮無線通信環(huán)境中存在較高丟失率和節(jié)點(diǎn)移動(dòng)性等特點(diǎn)的基礎(chǔ)上,提出下文所述算法。
基于優(yōu)先級(jí)隊(duì)列的多約束無線鏈路資源調(diào)度算法根據(jù)報(bào)文優(yōu)先級(jí)設(shè)計(jì),通過比較節(jié)點(diǎn)當(dāng)前通信距離與最大通信距離的關(guān)系引入對(duì)節(jié)點(diǎn)移動(dòng)性的考慮,通過鏈路報(bào)文丟失率引入對(duì)無線傳輸易受干擾特點(diǎn)的考慮;通過設(shè)置最大連續(xù)發(fā)送次數(shù),避免低優(yōu)先級(jí)隊(duì)列總是得不到服務(wù)。本文算法對(duì)不滿足要求的報(bào)文延遲發(fā)送,但由于數(shù)據(jù)鏈中無線鏈路的節(jié)點(diǎn)位置、鏈路延遲等鏈路狀態(tài)信息的收集存在滯后性,因此本文算法將設(shè)置最大延遲發(fā)送次數(shù),達(dá)到最大延遲發(fā)送次數(shù)后對(duì)報(bào)文做試探性發(fā)送,防止鏈路狀態(tài)信息更新延遲對(duì)傳輸性能的影響。
在對(duì)報(bào)文做分類歸納的基礎(chǔ)上,將報(bào)文分為三個(gè)優(yōu)先級(jí):1,2,3。其中優(yōu)先級(jí)1的報(bào)文為緊急報(bào)文,該類報(bào)文在發(fā)送時(shí)將會(huì)被最優(yōu)先發(fā)送;優(yōu)先級(jí)為2的報(bào)文為重要報(bào)文,該類報(bào)文具有強(qiáng)實(shí)時(shí)性要求;優(yōu)先級(jí)為3的報(bào)文為普通報(bào)文,對(duì)實(shí)時(shí)性不是特別敏感。
算法具體流程如下所述。
1)將報(bào)文按優(yōu)先級(jí)送往三個(gè)隊(duì)列
2)隊(duì)間調(diào)度
優(yōu)先級(jí)為1的隊(duì)列為緊急隊(duì)列,如果該隊(duì)列中有報(bào)文,則優(yōu)先發(fā)送。對(duì)于優(yōu)先級(jí)為2的實(shí)時(shí)隊(duì)列,每次發(fā)一個(gè)報(bào)文后,詢問緊急隊(duì)列是否有報(bào)文發(fā)送,有則發(fā)送緊急隊(duì)列中報(bào)文。為了防止優(yōu)先級(jí)為3的一般隊(duì)列始終得不到服務(wù),為優(yōu)先級(jí)為2的實(shí)時(shí)隊(duì)列設(shè)定N實(shí)時(shí),實(shí)時(shí)隊(duì)列連續(xù)發(fā)送報(bào)文數(shù)目n實(shí)時(shí)達(dá)到N實(shí)時(shí)時(shí),發(fā)送優(yōu)先級(jí)為3的隊(duì)列中的報(bào)文,每次發(fā)送優(yōu)先級(jí)為3的隊(duì)列中的報(bào)文時(shí)n實(shí)時(shí)都置0;優(yōu)先級(jí)為3的隊(duì)列得到發(fā)送權(quán)限后發(fā)送一個(gè)報(bào)文,然后交出發(fā)送權(quán)。流程圖如圖1所示。
3)隊(duì)內(nèi)調(diào)度
流程圖如圖2所示。首先,通過態(tài)勢(shì)等報(bào)文獲取數(shù)據(jù)鏈報(bào)文接收方實(shí)時(shí)位置信息,設(shè)當(dāng)前數(shù)據(jù)鏈最大通信距離為Smax,計(jì)算接收方與當(dāng)前數(shù)據(jù)鏈距離S,如果S>Smax則放棄發(fā)送;如果處于丟失通信狀態(tài),則延遲發(fā)送(設(shè)延遲發(fā)送次數(shù)為m,m加1)。放棄或延遲的報(bào)文下一次時(shí)會(huì)繼續(xù)判斷,但放棄報(bào)文維持一個(gè)最大超時(shí)計(jì)時(shí)器,超時(shí)后刪除;
其次,根據(jù)使用經(jīng)驗(yàn),按照丟失率情形將通信環(huán)境劃分為:良好、一般、較差、很差四個(gè)區(qū)間。設(shè)Loss為統(tǒng)計(jì)計(jì)算得到的丟失率,Index為丟失率區(qū)間索引,各通信環(huán)境丟失率門限為:良好 Loss∈[0,Lth1],Index為1。;一般 Loss∈[Lth1,Lth2],Index為 2;較差 Loss∈[Lth2,Lth3],Index 為 3;很差 Loss∈ [Lth3,Lth4],Index為4。
圖1 隊(duì)間調(diào)度流程圖
圖2 隊(duì)內(nèi)調(diào)度流程圖
對(duì)于每一個(gè)從站維持一個(gè)最大延遲發(fā)送次數(shù)Dmax,Dmax確定規(guī)則:Dmax=2*Index,Index為丟失率區(qū)間索引,通過在不同丟失率時(shí)產(chǎn)生階梯式的延遲發(fā)送次數(shù),用于控制不同通信質(zhì)量下的鏈路的發(fā)送速率。
然后,計(jì)算該從站到接收方鏈路的丟失率Loss。在Loss?Lth2時(shí),該報(bào)文不發(fā)送,m加1,m達(dá)到Dmax時(shí)報(bào)文發(fā)送,同時(shí)m置0。接著判斷該報(bào)文之后的報(bào)文。
間隔T內(nèi)(大于報(bào)文更新頻率)更新一次丟失率Loss和Dmax,如果T內(nèi)沒有收到新報(bào)文,則Loss置無效,只用位置信息進(jìn)行隊(duì)列內(nèi)報(bào)文調(diào)整。
本文算法利用報(bào)文優(yōu)先級(jí)、節(jié)點(diǎn)位置信息、鏈路丟失率形成發(fā)送時(shí)的多約束判斷條件,本文算法只和目的節(jié)點(diǎn)的位置以及該鏈路上的通信質(zhì)量有關(guān),與數(shù)據(jù)鏈的多少無關(guān),因此為驗(yàn)證本文算法性能,設(shè)定仿真場(chǎng)景如圖3所示。mobile-node1、mobile-node2、mobilenode3等3個(gè)可移動(dòng)節(jié)點(diǎn)和數(shù)據(jù)鏈中心節(jié)點(diǎn)dlink-center構(gòu)成輪詢式數(shù)據(jù)鏈網(wǎng)絡(luò),dlink-center與指控節(jié)點(diǎn)zk0連接,src1、src2、src3為數(shù)據(jù)源節(jié)點(diǎn),通過有線網(wǎng)絡(luò)與指控節(jié)點(diǎn)zk0相連。通過該場(chǎng)景仿真輪詢數(shù)據(jù)鏈典型使用方式。
本文模擬實(shí)際作戰(zhàn)中具有不同優(yōu)先級(jí)的報(bào)文,src1、src2、src3 分別產(chǎn)生優(yōu)先級(jí)為 1、2、3 的數(shù)據(jù)包,記為P1、P2、P3,通過設(shè)定發(fā)送速率大于該網(wǎng)絡(luò)無排隊(duì)報(bào)文時(shí)的數(shù)據(jù)速率,可以模擬數(shù)據(jù)包在指控節(jié)點(diǎn)zk0上的排隊(duì)情況;為模擬無線環(huán)境中的通信干擾,設(shè)置jam節(jié)點(diǎn)為噪聲節(jié)點(diǎn),距離jam節(jié)點(diǎn)越近干擾越強(qiáng),用于仿真在噪聲情況下的通信丟包;設(shè)定數(shù)據(jù)鏈通信范圍為200km,速率為 1200bps。
本文將通過對(duì)比分析本文算法、優(yōu)先級(jí)隊(duì)列算法PQ和FIFO算法,驗(yàn)證本文算法的性能。首先研究基于優(yōu)先級(jí)隊(duì)列的算法在數(shù)據(jù)鏈傳輸中對(duì)于重要報(bào)文延遲、吞吐率等性能的改善程度,通過在無干擾節(jié)點(diǎn)都在通信范圍內(nèi)的理想通信環(huán)境中驗(yàn)證;但在實(shí)際的通信環(huán)境中,會(huì)有節(jié)點(diǎn)不在通信范圍,并且會(huì)存在通信干擾,本節(jié)將對(duì)這兩種情況分別仿真研究,通過仿真證實(shí)僅僅采用基于優(yōu)先級(jí)隊(duì)列的算法設(shè)計(jì),而不考慮通信干擾和節(jié)點(diǎn)不在通信范圍的情況,會(huì)造成比當(dāng)前FIFO調(diào)用更差的性能。
因此,本文算法基于優(yōu)先級(jí)隊(duì)列,并且結(jié)合通信干擾和節(jié)點(diǎn)不在通信范圍的傳輸特性的設(shè)計(jì)思路是合理的。本節(jié)還將通過仿真,驗(yàn)證算法的設(shè)計(jì)細(xì)節(jié)。
圖3 仿真場(chǎng)景圖
仿真中設(shè)定src1~src3產(chǎn)生優(yōu)先級(jí)1~優(yōu)先級(jí)3的報(bào)文,mobile-node1~mobile-node3分別接收優(yōu)先級(jí)1~優(yōu)先級(jí)3的報(bào)文。
1)無干擾節(jié)點(diǎn),都在通信范圍內(nèi)
此時(shí)各鏈路丟失率Loss為0,各移動(dòng)節(jié)點(diǎn)與數(shù)據(jù)鏈中心距離都小于最大通信距離。仿真設(shè)定src1包產(chǎn)生間隔為100秒/包;src2包產(chǎn)生間隔為8秒/包,持續(xù)時(shí)間為仿真開始后100~1000秒;src3包產(chǎn)生間隔為10秒/包。
圖4為P1報(bào)文延遲圖,由圖可見FIFO在指控端有排隊(duì)報(bào)文時(shí),將會(huì)造成重要報(bào)文的延遲過大。在作戰(zhàn)系統(tǒng)數(shù)據(jù)鏈通信中,帶寬資源比較有限,存在報(bào)文重要性差異,因此必須要基于優(yōu)先級(jí)隊(duì)列設(shè)計(jì)指控端的隊(duì)列算法。本文算法基于優(yōu)先級(jí)設(shè)計(jì),通過對(duì)報(bào)文發(fā)送次序的重新調(diào)配,使重要報(bào)文具有比較好的傳輸性能。
圖4 P1報(bào)文延遲圖
2)無干擾節(jié)點(diǎn),有節(jié)點(diǎn)不在通信范圍內(nèi)
此時(shí)各鏈路丟失率Loss為0,mobile-node1處于通信范圍外。圖5為P2類報(bào)文的延遲圖,通過分析可見采用PQ優(yōu)先級(jí)隊(duì)列算法時(shí),指控仍然大量向mobilenode1發(fā)送報(bào)文,由于mobile-node1處于通信范圍外,造成帶寬浪費(fèi),算法性能甚至小于FIFO,因此在指控?cái)?shù)據(jù)向數(shù)據(jù)鏈發(fā)送時(shí)的調(diào)度算法中不能只基于優(yōu)先級(jí)進(jìn)行設(shè)計(jì)。本文算法兼顧報(bào)文的目的地可達(dá)性,沒有PQ優(yōu)先級(jí)算法的類似問題。本文算法中接收方在通信范圍內(nèi)且優(yōu)先級(jí)高的報(bào)文,通信延遲小,提高了無線鏈路的有效傳輸帶寬。
圖5 各算法下P2報(bào)文延遲圖
3)有干擾節(jié)點(diǎn),都在通信范圍內(nèi)
此時(shí)各鏈路丟失率環(huán)境如圖6所示,mobile-node1>mobile-node3>mobile-node2,各移動(dòng)節(jié)點(diǎn)與數(shù)據(jù)鏈中心距離都小于最大通信距離。
圖6 各鏈路上的丟失率環(huán)境
在仿真中設(shè)定src1~src3產(chǎn)生的報(bào)文頻率和大小相同。圖7為本文算法下各移動(dòng)節(jié)點(diǎn)的吞吐量,可見在圖6丟失率環(huán)境下,本文算法按照丟失率環(huán)境重新調(diào)配吞吐率,使得丟失率比較低的鏈路獲得更大的吞吐量,吞吐率與丟失率成反比關(guān)系。
圖7 本文算法下各節(jié)點(diǎn)的吞吐量
圖8為各算法下P2報(bào)文的發(fā)送速率,由于P2報(bào)文接收方為丟失率較低的mobile-node2,因此本文算法在存在排隊(duì)報(bào)文時(shí),相比其它兩種算法,增加了該鏈路上的發(fā)送速率,增加了數(shù)據(jù)鏈的有效傳輸能力。
本文在吸收輪詢調(diào)度算法和優(yōu)先級(jí)調(diào)度算法優(yōu)點(diǎn)的基礎(chǔ)上,設(shè)計(jì)了基于優(yōu)先級(jí)隊(duì)列的多約束無線鏈路資源調(diào)度算法。通過仿真對(duì)比分析了FIFO、PQ優(yōu)先級(jí)算法和本文算法,仿真結(jié)果表明,本文算法在有一定量報(bào)文等待排隊(duì)發(fā)送時(shí),相比FIFO和常規(guī)優(yōu)先級(jí)算法PQ,重要報(bào)文的延遲較低,數(shù)據(jù)鏈通信系統(tǒng)內(nèi)有效傳輸率高,提高了數(shù)據(jù)鏈的整體傳輸性能,克服了指控以先入先出發(fā)送引發(fā)的問題,具有較好的應(yīng)用和推廣價(jià)值。
圖8 各算法下P2報(bào)文的發(fā)送速率
[1]駱光明,等.數(shù)據(jù)鏈-信息系統(tǒng)連接武器系統(tǒng)的捷徑[M].國防工業(yè)出版社,2008:1-10.
[2]趙琪,毛玉泉,任浩.直升機(jī)戰(zhàn)術(shù)數(shù)據(jù)鏈的輪詢組網(wǎng)方式分析[J].電訊技術(shù),2010,50(1):5-9.
[3]王文政,周經(jīng)倫,羅鵬程.戰(zhàn)術(shù)數(shù)據(jù)鏈網(wǎng)絡(luò)體系結(jié)構(gòu)研究[J].計(jì)算機(jī)工程,2008,34(7):123-125.
[4]徐恪,等.高等計(jì)算機(jī)網(wǎng)絡(luò)——體系結(jié)構(gòu),協(xié)議機(jī)制,算法設(shè)計(jì)與路由器技術(shù)[M].北京:機(jī)械工業(yè)出版社,2003.
[5]譚興曄,黃周松,雷振明.支持實(shí)時(shí)業(yè)務(wù)的隊(duì)列調(diào)度機(jī)制與網(wǎng)絡(luò)資源配置原則研究[J].重慶郵電學(xué)院學(xué)報(bào),2005,17(3):332-335.
[6]何楚,毛玉泉,王翀.戰(zhàn)術(shù)數(shù)據(jù)鏈組網(wǎng)方式分析[J].艦船電子工程,2008,28(3):85-86.
[7]陳敏.OPNET網(wǎng)絡(luò)仿真[M].北京:清華大學(xué)出版社,2004:371-377.
[8]張帥帥,鄭龍,王玉文,等.基于OPNET的Link11數(shù)據(jù)鏈仿真設(shè)計(jì)[J].通信技術(shù),2011,44(2):48-50.