于愛(ài)榮,王 俊,牛彥杰,王遠(yuǎn)陽(yáng)
(1.中國(guó)人民解放軍陸軍工程大學(xué) 指揮控制工程學(xué)院,江蘇 南京 211117;2.南京信息工程大學(xué) 管理工程學(xué)院,江蘇 南京 210044;3.東部戰(zhàn)區(qū)總醫(yī)院博士后科研工作站,江蘇 南京 210002)
通信抗干擾技術(shù)是指在復(fù)雜電磁環(huán)境或有針對(duì)性的通信干擾環(huán)境中,為保持自身通信生存能力而采取的通信反對(duì)抗技術(shù)體系、方法和措施[1]。為了降低通信裝備研制的投資風(fēng)險(xiǎn)和戰(zhàn)場(chǎng)使用風(fēng)險(xiǎn),需要對(duì)通信裝備或系統(tǒng)的真實(shí)抗干擾能力進(jìn)行客觀、全面的評(píng)估。
內(nèi)場(chǎng)通信抗干擾試驗(yàn)是指在具有良好電磁屏蔽的試驗(yàn)室內(nèi)模擬外界實(shí)際電磁環(huán)境,考核通信裝備抗干擾性能的一種試驗(yàn)方式。相對(duì)于外場(chǎng)通信抗干擾試驗(yàn),內(nèi)場(chǎng)通信抗干擾試驗(yàn)具有不受天氣和地理?xiàng)l件約束、模擬電磁信號(hào)全程可控、安全保密性高、人員工作強(qiáng)度低、試驗(yàn)效費(fèi)比高、試驗(yàn)仿真規(guī)模大、數(shù)據(jù)反饋與結(jié)果處理實(shí)時(shí)性強(qiáng)等諸多優(yōu)點(diǎn),受到各國(guó)軍方和科工部門的重視,試驗(yàn)場(chǎng)建設(shè)的重點(diǎn)也逐步由外場(chǎng)轉(zhuǎn)向內(nèi)場(chǎng)。近年,隨著通信抗干擾試驗(yàn)規(guī)模的日益增大,試驗(yàn)中涉及的設(shè)備種類和型號(hào)繁多,以往的試驗(yàn)系統(tǒng)大都針對(duì)單臺(tái)或單類網(wǎng)絡(luò)設(shè)備,可擴(kuò)充性、靈活性、通用性差,難以適應(yīng)目前中大規(guī)模組網(wǎng)試驗(yàn)的需求[2]。
內(nèi)場(chǎng)通信抗干擾試驗(yàn)作為一種綜合利用數(shù)字信號(hào)處理、設(shè)備控制、場(chǎng)景仿真和大數(shù)據(jù)分析與計(jì)算機(jī)應(yīng)用技術(shù)的半實(shí)物仿真試驗(yàn)平臺(tái),可對(duì)復(fù)雜電磁環(huán)境下的被試裝備通信能力(誤碼率、丟幀率、主客觀話音清晰度、主客觀句子可懂度)和同步能力等動(dòng)態(tài)指標(biāo)進(jìn)行量化考核,通過(guò)多次試驗(yàn)結(jié)果的積累可對(duì)通信裝備的戰(zhàn)技術(shù)性能有比較全面的評(píng)估[3-4]。
內(nèi)場(chǎng)通信抗干擾試驗(yàn)流程如圖1所示,主要?jiǎng)澐譃樵囼?yàn)規(guī)劃、試驗(yàn)任務(wù)內(nèi)容編排、試驗(yàn)任務(wù)調(diào)度、試驗(yàn)測(cè)試與控制和數(shù)據(jù)分析與評(píng)估五個(gè)階段。
圖1 內(nèi)場(chǎng)通信抗干擾試驗(yàn)系統(tǒng)試驗(yàn)流程
其中試驗(yàn)規(guī)劃階段用于解析上級(jí)下發(fā)的試驗(yàn)任務(wù),并將本次試驗(yàn)任務(wù)的要求和內(nèi)容進(jìn)行明確。試驗(yàn)規(guī)劃階段主要通過(guò)網(wǎng)絡(luò)拓?fù)鋱D形式展示待試驗(yàn)的網(wǎng)絡(luò)結(jié)構(gòu),該階段完成后將能夠生成本次試驗(yàn)的總體設(shè)計(jì)規(guī)劃和方案,載體形式為文檔;試驗(yàn)任務(wù)編排完成對(duì)每一項(xiàng)任務(wù)中的測(cè)試對(duì)象、參試和陪試設(shè)備/儀表的細(xì)粒度時(shí)序和指令的規(guī)劃和有機(jī)組合;試驗(yàn)任務(wù)調(diào)度階段對(duì)多個(gè)試驗(yàn)任務(wù)按照權(quán)重優(yōu)先級(jí),使用ISE算法進(jìn)行統(tǒng)一的調(diào)度;試驗(yàn)測(cè)試與控制階段采用指令序列化方式實(shí)現(xiàn)對(duì)設(shè)備的流程化自動(dòng)控制,涵蓋測(cè)試的啟動(dòng)、參數(shù)配置、結(jié)果獲取、異常處理和終止等;數(shù)據(jù)分析與評(píng)估階段完成對(duì)內(nèi)場(chǎng)測(cè)試過(guò)程中采集的結(jié)果、過(guò)程等數(shù)據(jù)進(jìn)行存儲(chǔ),實(shí)現(xiàn)對(duì)試驗(yàn)結(jié)果、中間狀態(tài)、設(shè)備參數(shù)等各類數(shù)據(jù)的高效管理和對(duì)存儲(chǔ)的試驗(yàn)結(jié)果進(jìn)行查詢、對(duì)比和統(tǒng)計(jì)的功能[4-6]。
系統(tǒng)采用分層架構(gòu)進(jìn)行設(shè)計(jì)實(shí)現(xiàn),系統(tǒng)從下至上分別為數(shù)據(jù)管理層、指令控制層、業(yè)務(wù)邏輯層和展現(xiàn)與分析層,在借鑒前后端分離設(shè)計(jì)理念的基礎(chǔ)上,綜合使用Vue、Restful和Redis等開發(fā)技術(shù),將系統(tǒng)設(shè)計(jì)的著力點(diǎn)聚焦于架構(gòu)的高可用[7-9],技術(shù)架構(gòu)如圖2所示。
(1)展現(xiàn)與分析層:采用Vue.js這種漸進(jìn)式框架構(gòu)建試驗(yàn)管理與用戶交互的界面。
(2)業(yè)務(wù)邏輯層:采用基于Restful架構(gòu)將定義好的接口與不同的服務(wù)聯(lián)系起來(lái)。其中任務(wù)權(quán)重模型構(gòu)建和ISE算法調(diào)度是系統(tǒng)業(yè)務(wù)處理的核心模塊。
(3)指令控制層:采用集中控制的總線結(jié)構(gòu),實(shí)現(xiàn)指令的集中控制。
(4)數(shù)據(jù)管理層:在使用MySQL的基礎(chǔ)上結(jié)合Redis內(nèi)存數(shù)據(jù)庫(kù)高效能特性,為設(shè)備的高速數(shù)據(jù)傳輸提供數(shù)據(jù)支持,實(shí)現(xiàn)各類參數(shù)、過(guò)程、結(jié)果數(shù)據(jù)的存儲(chǔ)和管理[10-11]。
圖2 內(nèi)場(chǎng)通信抗干擾試驗(yàn)系統(tǒng)技術(shù)架構(gòu)
在文中的通信抗干擾試驗(yàn)系統(tǒng)中,任務(wù)調(diào)度定位與在有限的資源保障條件(有限人員、裝備和時(shí)間等)下,如何最大效率地統(tǒng)籌內(nèi)場(chǎng)環(huán)境中的試驗(yàn)任務(wù)執(zhí)行,保障試驗(yàn)過(guò)程中的各項(xiàng)試驗(yàn)任務(wù)、計(jì)劃和方案能夠更加準(zhǔn)確、高效、快速的執(zhí)行,從而滿足試驗(yàn)規(guī)劃和試驗(yàn)組織實(shí)施人員對(duì)試驗(yàn)任務(wù)運(yùn)行的要求。除此之外,如何有效地分解、編排和組合各類試驗(yàn)任務(wù),如何高效調(diào)度試驗(yàn)任務(wù)中可用的各類設(shè)備、儀表、人員、場(chǎng)地等資源,以及如何正確完成試驗(yàn)方案要求與執(zhí)行時(shí)序廣義上來(lái)說(shuō)都是屬于調(diào)度的研究范疇。
任務(wù)不僅是抗干擾內(nèi)場(chǎng)試驗(yàn)調(diào)度的核心內(nèi)容,也是資源分配的關(guān)鍵單位。它包含有試驗(yàn)任務(wù)所需的各類需求信息。一般來(lái)說(shuō),一個(gè)試驗(yàn)任務(wù)至少包含一個(gè)試驗(yàn)方案,一個(gè)試驗(yàn)方案中至少包含試驗(yàn)場(chǎng)景和試驗(yàn)指標(biāo)。其中,試驗(yàn)場(chǎng)景信息主要定義了試驗(yàn)過(guò)程中被試設(shè)備與參試設(shè)備的網(wǎng)絡(luò)環(huán)境和連接關(guān)系,試驗(yàn)指標(biāo)則包含本次需要試驗(yàn)得出的考核內(nèi)容,如:丟幀率、通信效率、誤碼率等。其中試驗(yàn)場(chǎng)景和試驗(yàn)指標(biāo)可以被多個(gè)試驗(yàn)任務(wù)所共享[12]。
(1)有效提升內(nèi)場(chǎng)試驗(yàn)自動(dòng)化執(zhí)行效率。通過(guò)將調(diào)度技術(shù)引入抗干擾內(nèi)場(chǎng)試驗(yàn),參加試驗(yàn)的人員可采用預(yù)先加載的方式,將多個(gè)試驗(yàn)任務(wù)有序安排至等待隊(duì)列中。隨后,在綜合考慮試驗(yàn)資源條件和任務(wù)權(quán)重的基礎(chǔ)上,分析計(jì)算并決定是否將該任務(wù)調(diào)度執(zhí)行。某試驗(yàn)任務(wù)只要滿足調(diào)度運(yùn)行的條件,系統(tǒng)將會(huì)使其運(yùn)行起來(lái),無(wú)需手工干預(yù),有效提高了試驗(yàn)執(zhí)行的自動(dòng)化效率。此外,在引入任務(wù)自動(dòng)化調(diào)度機(jī)制的背景下,系統(tǒng)也為后期的遠(yuǎn)程、分布式網(wǎng)絡(luò)環(huán)境下的并行試驗(yàn)墊定了一定的技術(shù)基礎(chǔ)。后期,在試驗(yàn)環(huán)境和資源保障到位的基礎(chǔ)上,系統(tǒng)可在同一時(shí)間段內(nèi),并行開展多個(gè)試驗(yàn)任務(wù),滿足大型內(nèi)場(chǎng)試驗(yàn)的運(yùn)行時(shí)效的需求。
(2)試驗(yàn)資源的自動(dòng)分配與部署,采用流程化的自動(dòng)編排方式對(duì)任務(wù)調(diào)度中的試驗(yàn)資源進(jìn)行合理分配,提高試驗(yàn)資源分配的效率和精準(zhǔn)度。在試驗(yàn)資源分配時(shí),優(yōu)先對(duì)自身關(guān)聯(lián)資源少而又滿足任務(wù)所需的試驗(yàn)資源進(jìn)行分配,這樣可以盡量保證資源需求特殊的測(cè)試任務(wù)得到運(yùn)行。
(3)滿足用戶對(duì)任務(wù)運(yùn)行序列的合理化需求。在任務(wù)的調(diào)度與分配過(guò)程中,通過(guò)對(duì)試驗(yàn)任務(wù)的權(quán)重計(jì)算,排定各試驗(yàn)任務(wù)的運(yùn)行優(yōu)先級(jí),實(shí)現(xiàn)了將用戶關(guān)注度高和性質(zhì)重要的試驗(yàn)任務(wù)盡早執(zhí)行[13]。
內(nèi)場(chǎng)試驗(yàn)任務(wù)調(diào)度的對(duì)象主要是試驗(yàn)中的各類設(shè)備、儀表。這些對(duì)象主要有以下幾類:
(1)混合網(wǎng)絡(luò)。試驗(yàn)系統(tǒng)的組網(wǎng)核心設(shè)備,用于模擬實(shí)際的外場(chǎng)試驗(yàn)環(huán)境及其電波傳輸衰減特性。
(2)干擾信號(hào)發(fā)生器。用于模擬敵方通信設(shè)備產(chǎn)生的干擾信號(hào)??蓪?shí)現(xiàn)對(duì)通信設(shè)備在定頻和調(diào)頻狀態(tài)下的信號(hào)干擾。在定頻狀態(tài)下的干擾樣式主要包括寬帶AM、ASK、FSK、BPSK、QPSK、梳狀譜等;跳頻狀態(tài)下主要通過(guò)對(duì)接收到的信號(hào)進(jìn)行頻率快速檢測(cè),從而引導(dǎo)信號(hào)源快速產(chǎn)生與接收信號(hào)同頻的干擾。
(3)背景信號(hào)發(fā)生器。用于產(chǎn)生在實(shí)際地理環(huán)境條件,對(duì)短波/超短波通信有潛在威脅的多樣式、大強(qiáng)度、高密度、隨機(jī)變化的動(dòng)態(tài)“復(fù)雜”電磁環(huán)境,該設(shè)備生成的背景信號(hào)數(shù)量、功率、帶寬及調(diào)制樣式均可程控可變[14]。
(4)測(cè)試終端。用于加載數(shù)據(jù)或語(yǔ)音業(yè)務(wù),通過(guò)手持式終端的形態(tài)可實(shí)現(xiàn)單詞、句子、數(shù)據(jù)幀等多類業(yè)務(wù)的加載。
(5)其他設(shè)備。包括誤碼儀、功率計(jì)、頻譜儀等設(shè)備,主要對(duì)測(cè)試過(guò)程中的信號(hào)強(qiáng)度、發(fā)射功率、接收功率、誤碼率等指標(biāo)進(jìn)行測(cè)量[15]。
在試驗(yàn)任務(wù)的規(guī)劃和執(zhí)行過(guò)程中,設(shè)備的利用率和數(shù)據(jù)處理效率變得越來(lái)越重要。針對(duì)當(dāng)前試驗(yàn)任務(wù)調(diào)度機(jī)制和算法存在的調(diào)度任務(wù)不區(qū)分緊迫度、受控設(shè)備忙閑不均等問(wèn)題,該文采用構(gòu)建在任務(wù)權(quán)重模型技術(shù)上的一體化調(diào)度執(zhí)行算法(integrated scheduling execution,ISE)來(lái)進(jìn)行試驗(yàn)任務(wù)的綜合調(diào)度[16],具體任務(wù)框架如圖3所示。
圖3 任務(wù)調(diào)度框架設(shè)計(jì)
該框架分為任務(wù)調(diào)度控制、指令總線、單設(shè)備控制和參試設(shè)備執(zhí)行4個(gè)階段。其中,任務(wù)調(diào)度控制負(fù)責(zé)任務(wù)權(quán)重的計(jì)算和ISE算法的調(diào)度執(zhí)行,由于試驗(yàn)業(yè)務(wù)的實(shí)時(shí)性要求不高,采取時(shí)間片為每半小時(shí)一次的定期獲取試驗(yàn)任務(wù)的策略,定時(shí)讀取系統(tǒng)中的試驗(yàn)任務(wù),并按序開展調(diào)度運(yùn)行[17]。
在內(nèi)場(chǎng)試驗(yàn)過(guò)程中,不同試驗(yàn)任務(wù)的方案種類、性質(zhì)、參與設(shè)備和試驗(yàn)所需時(shí)間差異很大,因此需要在任務(wù)調(diào)度初期首先對(duì)試驗(yàn)任務(wù)進(jìn)行調(diào)度優(yōu)先級(jí)的確定和劃分。因此,在充分分析研究任務(wù)特征的基礎(chǔ)上,該文設(shè)計(jì)了任務(wù)的權(quán)重模型來(lái)對(duì)試驗(yàn)任務(wù)的緊迫程度進(jìn)行量化表達(dá)。通過(guò)數(shù)學(xué)模型的描述方式對(duì)試驗(yàn)任務(wù)進(jìn)行權(quán)重表達(dá)和劃分,模型中的三個(gè)主體對(duì)象分別是試驗(yàn)方案、試驗(yàn)設(shè)備和試驗(yàn)人員,其中,試驗(yàn)方案、設(shè)備和人員之間均是一對(duì)多的連接關(guān)系。在模型中,用Wr表示實(shí)體和關(guān)系表之間的關(guān)系權(quán)重,用Wd表示實(shí)體和維度之間的關(guān)系權(quán)重,用We表示實(shí)體與實(shí)體之間的關(guān)系權(quán)重[18]。具體如圖4所示。
圖4 任務(wù)的權(quán)重模型
根據(jù)上述任務(wù)權(quán)重模型,相關(guān)試驗(yàn)任務(wù)Wt的權(quán)重形式化表示為:
其中,n1為Wr個(gè)數(shù),n2為Wd個(gè)數(shù),n3為We個(gè)數(shù)。
其中試驗(yàn)方案的維度主要包括:方案的類型(單網(wǎng)、多網(wǎng)、網(wǎng)系)、方案級(jí)別(國(guó)家級(jí)、部級(jí)、地區(qū)級(jí)、單位級(jí))、方案性質(zhì)(獨(dú)立方案、延續(xù)方案、分支方案)等;試驗(yàn)設(shè)備的維度按照不同數(shù)據(jù)、控制接口、執(zhí)行所需時(shí)間進(jìn)行表述;人員的維度按照專業(yè)和技術(shù)等級(jí)進(jìn)行表述。對(duì)于關(guān)系權(quán)值的設(shè)定,初始設(shè)定值為1,步進(jìn)最小單位為0.5,在不同試驗(yàn)任務(wù)場(chǎng)景時(shí)對(duì)關(guān)系權(quán)值進(jìn)行適當(dāng)?shù)恼{(diào)整,依據(jù)任務(wù)特征進(jìn)行賦予權(quán)重?cái)?shù)值后,需要對(duì)試驗(yàn)任務(wù)進(jìn)行排序,以達(dá)到任務(wù)序列中依據(jù)權(quán)重排序的最優(yōu)值,采用歸并排序算法進(jìn)行排序,其時(shí)間復(fù)雜度為Ο(nlog2n)。歸并排序的主要思想是分治法,主要過(guò)程是:
(1)將任務(wù)隊(duì)列中的n個(gè)試驗(yàn)任務(wù)分成兩部分。
(2)將步驟1分成的兩部分再分別進(jìn)行遞歸分解,直到所有部分的任務(wù)個(gè)數(shù)都為1。
(3)按照權(quán)重從最底層開始逐步合并兩個(gè)排好序的數(shù)列。
在任務(wù)調(diào)度執(zhí)行階段,先前的系統(tǒng)試驗(yàn)任務(wù)調(diào)度采用的是短作業(yè)優(yōu)先或先來(lái)先服務(wù)等算法;但是對(duì)于預(yù)計(jì)需要時(shí)間差異較大的試驗(yàn)任務(wù)來(lái)說(shuō),這兩種算法都存在調(diào)度效率低下、設(shè)備空閑率高的問(wèn)題。在對(duì)多種優(yōu)先級(jí)調(diào)度算法充分研究的基礎(chǔ)上,該文采用高響應(yīng)比優(yōu)先(highest response ratio next,HRRN)算法[19]。該算法的核心思想是綜合考慮每個(gè)任務(wù)的等待時(shí)間長(zhǎng)短和估計(jì)需要的執(zhí)行時(shí)間長(zhǎng)短,確保每個(gè)試驗(yàn)任務(wù)都能夠獲得公平的調(diào)度與執(zhí)行。假設(shè)試驗(yàn)任務(wù)i的優(yōu)先級(jí)為Pi,到達(dá)時(shí)間為Oi,開始運(yùn)行時(shí)間為Si,執(zhí)行結(jié)束時(shí)間為Ei,則有:
由上式可以看出:Pi一定是大于1的,當(dāng)排隊(duì)等待時(shí)間固定時(shí),如任務(wù)需要執(zhí)行的時(shí)間越小,執(zhí)行的優(yōu)先級(jí)別就越高,類似SJF調(diào)度算法;當(dāng)任務(wù)所需執(zhí)行時(shí)間固定時(shí),任務(wù)排隊(duì)等待的時(shí)間越長(zhǎng),其被調(diào)度的優(yōu)先級(jí)也會(huì)增高,類似FCFS算法;在充分考慮任務(wù)權(quán)重的基礎(chǔ)上使用該算法能夠有效地動(dòng)態(tài)調(diào)整試驗(yàn)任務(wù)的優(yōu)先級(jí),使得整個(gè)調(diào)度過(guò)程更加均衡,達(dá)到任務(wù)所需執(zhí)行時(shí)間和排序等待時(shí)間的兩點(diǎn)平衡。
對(duì)于該文研究的內(nèi)場(chǎng)抗干擾試驗(yàn)系統(tǒng),涉及到的主要試驗(yàn)實(shí)體包括試驗(yàn)任務(wù)、試驗(yàn)方案、試驗(yàn)設(shè)備和時(shí)序流程,這些實(shí)體特征各異,屬性差別很大。并且隨著試驗(yàn)需求、規(guī)劃和內(nèi)容編排的頻繁變更,這些實(shí)體的屬性也可能需要隨之改變,這就要求試驗(yàn)中的這些個(gè)體數(shù)據(jù)組織形式必須便于理解、擴(kuò)展和修改。
XML(extensible markup language)作為一種可擴(kuò)展標(biāo)記語(yǔ)言可用于表述事務(wù)的相關(guān)特征[20]。由于它是一種基于層次化標(biāo)簽的描述語(yǔ)言,可以以文本形式組織和描述實(shí)體關(guān)系與屬性。XML中的標(biāo)記通常成對(duì)出現(xiàn),包括開始標(biāo)記和結(jié)束標(biāo)記,位于標(biāo)記之間內(nèi)容稱為元素。一個(gè)元素可包含一個(gè)或多個(gè)屬性,目前,XML已成為網(wǎng)絡(luò)應(yīng)用程序中定義屬性和特征的事實(shí)標(biāo)準(zhǔn)。對(duì)試驗(yàn)任務(wù)進(jìn)行定義的典型設(shè)計(jì)如下:
其中,MissionName字段表示該試驗(yàn)任務(wù)的名字;MissionPriority表示該試驗(yàn)任務(wù)的優(yōu)先級(jí),該優(yōu)先級(jí)由任務(wù)權(quán)重模型進(jìn)行計(jì)算得出;MissionPeopleName字段表示該試驗(yàn)任務(wù)試驗(yàn)人員;MissionPlan字段表示試驗(yàn)拓?fù)浜途W(wǎng)絡(luò)腳本的文件存儲(chǔ)名稱,以相對(duì)路徑表示;Missiontype字段表示試驗(yàn)的具體考核項(xiàng)目;UseDevice字段表示該試驗(yàn)任務(wù)的各類設(shè)備情況,包括被試設(shè)備(以M標(biāo)識(shí))、參試設(shè)備(以P標(biāo)識(shí))。如果該試驗(yàn)任務(wù)還需要其他信息,通過(guò)定義新的字段,就可在相關(guān)位置直接添加標(biāo)簽[21]。
任務(wù)調(diào)度模塊的核心就是從多個(gè)試驗(yàn)任務(wù)中調(diào)度出一個(gè)優(yōu)先級(jí)最高的試驗(yàn)任務(wù)進(jìn)行優(yōu)先運(yùn)行,其偽代碼示意如下:
獲取測(cè)試任務(wù)隊(duì)列中的所有測(cè)試任務(wù);
setMissionNum 0;#初始化任務(wù)總數(shù)
while{未遍歷試驗(yàn)隊(duì)列} {
提取一個(gè)未判斷的試驗(yàn)任務(wù);
獲取該試驗(yàn)任務(wù)的屬性和數(shù)據(jù);
加載到任務(wù)隊(duì)列中;
MissionNum++;
}
while{MissionNum>1} {
計(jì)算試驗(yàn)任務(wù)的權(quán)重優(yōu)先級(jí);
對(duì)所有試驗(yàn)任務(wù)進(jìn)行排序;
選出優(yōu)先級(jí)最高試驗(yàn)任務(wù);
if{優(yōu)先級(jí)最高的試驗(yàn)任務(wù)不唯一} {
{
對(duì)選出的任務(wù)按進(jìn)入高響應(yīng)比優(yōu)先算法進(jìn)行排序;
調(diào)度排序首位的試驗(yàn)任務(wù);
MissionNum--;
開展試驗(yàn)任務(wù)設(shè)備分配和試驗(yàn)項(xiàng)目加載;
}else
{
調(diào)度排序首位的試驗(yàn)任務(wù);
MissionNum--;
開展試驗(yàn)任務(wù)設(shè)備分配和試驗(yàn)項(xiàng)目加載;
}}
偽代碼說(shuō)明:試驗(yàn)任務(wù)調(diào)度功能的主要目的就是從多個(gè)試驗(yàn)任務(wù)中調(diào)度出可執(zhí)行的下一個(gè)任務(wù),并為其分配設(shè)備和各類資源。調(diào)度的目標(biāo)就是使整個(gè)試驗(yàn)?zāi)茉谧疃虝r(shí)間內(nèi)高效、穩(wěn)定和準(zhǔn)確的執(zhí)行,其調(diào)度策略的核心就是該文所提出的任務(wù)權(quán)重模型和IES算法。
試驗(yàn)任務(wù)執(zhí)行過(guò)程中的核心是要對(duì)管控設(shè)備進(jìn)行指令的序列化發(fā)送,主要涉及到的指令有:設(shè)備運(yùn)控指令、參數(shù)配置指令、狀態(tài)監(jiān)控指令和結(jié)果獲取指令,指令在系統(tǒng)軟件設(shè)計(jì)和編碼時(shí)都以信息幀的形式呈現(xiàn)。信息幀是指由各種信息項(xiàng)按一定的結(jié)構(gòu)方式組合而成的數(shù)據(jù)結(jié)構(gòu)。各信息項(xiàng)由包含它的信息幀的幀頭內(nèi)容和它出現(xiàn)在信息幀中的位置共同確定其物理含義,信息項(xiàng)使用指定的數(shù)據(jù)類型來(lái)表達(dá)。圖5顯示了一個(gè)典型的信息幀結(jié)構(gòu)[22]。
圖5 信息幀結(jié)構(gòu)
信息幀實(shí)現(xiàn)了對(duì)管控設(shè)備指令的可視化設(shè)計(jì),標(biāo)準(zhǔn)化的組織形式讓指令的解析和理解更為簡(jiǎn)單,內(nèi)場(chǎng)通信抗干擾試驗(yàn)系統(tǒng)基于Borland C++開發(fā)工具進(jìn)行編碼實(shí)現(xiàn),對(duì)指令幀采用struct數(shù)據(jù)結(jié)構(gòu)定義如下:
struct TFrame
{
char StartId[4]; ///幀起始標(biāo)志
int ALength;//幀長(zhǎng)度
char SBBM;//設(shè)備編碼
char ZGNBM; //幀功能碼
char ZT[800];//幀體
char CheckByte;//檢驗(yàn)字
};
由于在Socket中的send函數(shù)無(wú)法直接發(fā)送結(jié)構(gòu)體,因此需要在發(fā)送端先將結(jié)構(gòu)體序列化為二進(jìn)制字符串,然后用send發(fā)送,在接收端recv字符串后再轉(zhuǎn)換成原先的結(jié)構(gòu)體。結(jié)構(gòu)體對(duì)象在內(nèi)存中分配的空間都是連續(xù)的,所以序列化后的發(fā)送和接收過(guò)程應(yīng)不會(huì)出現(xiàn)數(shù)據(jù)錯(cuò)位的問(wèn)題。不過(guò)為了保證數(shù)據(jù)的完整性和正確性,在數(shù)據(jù)幀中均加有校驗(yàn)字,以確保數(shù)據(jù)的一致性。具體的發(fā)送結(jié)構(gòu)體的代碼為:
TFrame sndFrame;
memcpy( sndFramer.StartId,“frme”, sizeof(“frme”) );
memcpy( sndFramer.SBBM,“0001”, sizeof(“0001”) );
memcpy( sndFramer.ZGNBM,“1000”, sizeof(“1000”) );
.......
send( m_socket, (char *)& sndFramer, sizeof(TFrame), 0 );
在接收方對(duì)于定長(zhǎng)的結(jié)構(gòu)體可采用定長(zhǎng)字符數(shù)組的方式接收,處理的核心代碼如下:
char buffer[1024];
TFrame recvFrame;
recv( m_socket, buffer, sizeof(buffer), 0 );
memcpy( & recvFrame, buffer, sizeof(buffer) );
當(dāng)前,內(nèi)場(chǎng)通信抗干擾試驗(yàn)的重要性正在逐漸凸顯,隨著通信網(wǎng)絡(luò)的爆炸式增長(zhǎng),ISE算法在大規(guī)模組網(wǎng)通信試驗(yàn)中的效果評(píng)估還需要繼續(xù)驗(yàn)證。另外,還應(yīng)注意到跨網(wǎng)絡(luò)、地域、體系的聯(lián)合試驗(yàn)需求日益強(qiáng)烈,分布式試驗(yàn)的新模式正在逐漸成形,如何在新的試驗(yàn)場(chǎng)景下高效完成試驗(yàn)任務(wù)還需要加大力氣探索和研究。