(海軍91976部隊(duì) 廣州 510430)
戰(zhàn)術(shù)仿真系統(tǒng)由集中向異地分布發(fā)展是擴(kuò)大訓(xùn)練規(guī)模和節(jié)約訓(xùn)練成本的現(xiàn)實(shí)需要[1~2]。異地分布通常通過(guò)廣域網(wǎng)來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)互聯(lián),由于目前軍內(nèi)廣域網(wǎng)帶寬較窄,成為制約異地分布式戰(zhàn)術(shù)仿真的瓶頸。為此,眾多研究人員提出了基于互操作協(xié)議的層次式 RTI(Run-Time Infrastructure)服務(wù)器方案[3~5],以解決大規(guī)模異地分布式戰(zhàn)術(shù)仿真中網(wǎng)絡(luò)數(shù)據(jù)傳輸效率低、網(wǎng)絡(luò)響應(yīng)存在延遲等問(wèn)題。如何利用層次式RTI的特點(diǎn),通過(guò)有效管理用戶數(shù)據(jù),減少?gòu)V域網(wǎng)數(shù)據(jù)流量是異地分布戰(zhàn)術(shù)仿真系統(tǒng)的設(shè)計(jì)重點(diǎn)。
典型的層次式RTI在廣域網(wǎng)的配置主要由中心服務(wù)器(CRC Center RTI Component)、網(wǎng)絡(luò)代理(Forwarder)兩層構(gòu)成[6~7]。圖 1描述了將3個(gè)局域網(wǎng)(LAN1、LAN2、LAN3)通過(guò)廣域網(wǎng)構(gòu)建系統(tǒng)的情況,LAN1上運(yùn)行了中心服務(wù)器、網(wǎng)絡(luò)代理及一個(gè)聯(lián)邦成員(Federate A1),LAN2上運(yùn)行了網(wǎng)絡(luò)代理及三個(gè)聯(lián)邦成員(Federate B1、Federate B2、Federate B3),LAN3與LAN2類似。通過(guò)上述配置,3個(gè)網(wǎng)絡(luò)代理通過(guò)中心服務(wù)器協(xié)調(diào)動(dòng)作,在廣域網(wǎng)之間傳遞數(shù)據(jù),各局域網(wǎng)內(nèi)部數(shù)據(jù)傳遞由各自的網(wǎng)絡(luò)代理完成,可充分利用局域網(wǎng)的廣播與組播等功能來(lái)提高傳輸效率。在層次式RTI構(gòu)建的系統(tǒng)中,若LAN1的成員A1要發(fā)送數(shù)據(jù)到LAN2的成員B1和B2,其數(shù)據(jù)流程是成員A1將數(shù)據(jù)發(fā)送到LAN1的網(wǎng)絡(luò)代理,再由LAN1的網(wǎng)絡(luò)代理通過(guò)廣域網(wǎng)傳遞給LAN2的網(wǎng)絡(luò)代理,LAN2的網(wǎng)絡(luò)代理通過(guò)組播方式將數(shù)據(jù)傳遞給LAN2的成員B1和B2。這樣對(duì)每個(gè)局域網(wǎng),在廣域網(wǎng)內(nèi)的只傳遞一次數(shù)據(jù)即可分發(fā)到網(wǎng)內(nèi)所有成員。
圖1 層次式RTI的典型配置
戰(zhàn)術(shù)仿真系統(tǒng)仿真對(duì)象是戰(zhàn)術(shù)實(shí)體,在分布式仿真中一個(gè)戰(zhàn)術(shù)實(shí)體運(yùn)行主要包括實(shí)體控制和實(shí)體模型兩個(gè)部分。實(shí)體控制主要是表現(xiàn)為針對(duì)戰(zhàn)術(shù)實(shí)體的指揮指令(如指揮戰(zhàn)術(shù)實(shí)體進(jìn)行機(jī)動(dòng)、攻擊、防御等動(dòng)作),在HLA(High-Level Architecture)中用交互類來(lái)描述這部分?jǐn)?shù)據(jù),這部分?jǐn)?shù)據(jù)是偶發(fā)的,通常在需要改變實(shí)體狀態(tài)時(shí)才發(fā)出。實(shí)體模型是仿真的核心,通過(guò)時(shí)空一致性控制與實(shí)體控制的協(xié)同動(dòng)作,實(shí)時(shí)解算實(shí)體狀態(tài),在HLA中用實(shí)體類來(lái)描述這部分?jǐn)?shù)據(jù),這部分?jǐn)?shù)據(jù)是通常是周期變化的。在分布式仿真系統(tǒng)中的網(wǎng)絡(luò)數(shù)據(jù)流中,實(shí)體類數(shù)據(jù)占據(jù)了90%以上。圖2描述了實(shí)體模型、實(shí)體控制、交互類及實(shí)體類的相互關(guān)系。
圖2 實(shí)體模型、實(shí)體控制、交互類及實(shí)體類的關(guān)系
通過(guò)上述交互數(shù)據(jù)分析可知,如果能將占據(jù)大部分網(wǎng)絡(luò)流量的實(shí)體類數(shù)據(jù)限制在本地局域網(wǎng)內(nèi)傳輸,在異地廣域網(wǎng)上只傳輸交互類數(shù)據(jù),就能減輕窄帶寬廣域網(wǎng)的數(shù)據(jù)傳輸負(fù)擔(dān),提高分布式仿真系統(tǒng)的網(wǎng)絡(luò)傳輸效率和響應(yīng)能力。為此,我們?cè)趯哟问絉TI的典型配置基礎(chǔ)之上,在每個(gè)本地局域網(wǎng)內(nèi)部增加一個(gè)影子服務(wù)成員,這些影子服務(wù)成員之間互為映射,每個(gè)影子服務(wù)成員都運(yùn)行仿真系統(tǒng)內(nèi)所有的戰(zhàn)場(chǎng)實(shí)體模型,在各自局域網(wǎng)內(nèi)公布所有實(shí)體狀態(tài)信息,影子服務(wù)成員之間通過(guò)交互實(shí)現(xiàn)同步。增加了影子服務(wù)成員的仿真聯(lián)邦結(jié)構(gòu)如圖3所示。
圖3 增加影子服務(wù)成員的聯(lián)邦結(jié)構(gòu)
影子服務(wù)成員主要包括一個(gè)戰(zhàn)場(chǎng)實(shí)體模型池和管理接口、確定類控制接口、隨機(jī)類控制接口、隨機(jī)類同步輸入接口、隨機(jī)類同步輸出接口、實(shí)體狀態(tài)輸出接口等6個(gè)接口,其結(jié)構(gòu)如圖4所示。
圖4 影子服務(wù)成員的結(jié)構(gòu)
戰(zhàn)場(chǎng)實(shí)體模型池是影子服務(wù)成員的核心,進(jìn)行所有戰(zhàn)場(chǎng)戰(zhàn)術(shù)實(shí)體的模型運(yùn)算。
管理接口主要為戰(zhàn)場(chǎng)實(shí)體模型池提供各戰(zhàn)場(chǎng)實(shí)體的生存期管理,包括從想定庫(kù)讀取想定數(shù)據(jù)實(shí)現(xiàn)戰(zhàn)場(chǎng)實(shí)體模型池的初始化,在系統(tǒng)運(yùn)行過(guò)程中動(dòng)態(tài)生成、銷(xiāo)毀戰(zhàn)術(shù)實(shí)體實(shí)例。
確定類控制接口是指處理確定實(shí)體操控指令的接口,這些指令包括實(shí)體機(jī)動(dòng)、停止、探測(cè)器材開(kāi)機(jī)、武器使用等,這些指令的共同特點(diǎn)是任何一個(gè)影子服務(wù)器接收到這些指令后經(jīng)過(guò)運(yùn)算處理的結(jié)果輸出是確定的。對(duì)于這類指令,所有影子服務(wù)成員同步處理。確定類控制接口數(shù)據(jù)流如圖5所示。
圖5 控制類接口數(shù)據(jù)流
隨機(jī)類控制接口、隨機(jī)類同步輸入接口、隨機(jī)類同步輸出接口等三個(gè)接口主要用于處理在模型計(jì)算過(guò)程中會(huì)產(chǎn)生隨機(jī)數(shù),模型計(jì)算結(jié)果與隨機(jī)數(shù)相關(guān)的指令,如交火交互,戰(zhàn)場(chǎng)實(shí)體模型在處理交火交互時(shí)通常由毀傷模型計(jì)算本次交火的毀傷概率,然后依據(jù)該概率采用隨機(jī)數(shù)方式獲得最終的毀傷效果。這些指令不能采用與確定類控制指令相同的處理方式,這樣會(huì)導(dǎo)致各影子服務(wù)器最終的處理結(jié)果不一致的情況出現(xiàn)。隨機(jī)類控制指令的處理方式通常需要隨機(jī)類控制接口、隨機(jī)類同步輸入接口、隨機(jī)類同步輸出接口三個(gè)接口協(xié)同動(dòng)作,首先隨機(jī)類控制指令由某成員向該成員所在局域網(wǎng)的影子服務(wù)成員發(fā)出,該影子服務(wù)成員將該指令通過(guò)解算,將確定的解算結(jié)果通過(guò)隨機(jī)類同步輸出接口發(fā)送給其他影子服務(wù)成員,各影子服務(wù)成員依據(jù)確定的解算結(jié)果計(jì)算實(shí)體狀態(tài)輸出。隨機(jī)類指令處理流程如圖6所示。
圖6 隨機(jī)類指令處理流程
4.3.1 FOM表設(shè)計(jì)
為促進(jìn)仿真系統(tǒng)之間的互聯(lián)、互通和互操作,HLA為聯(lián)邦成員之間按照公共的、標(biāo)準(zhǔn)化的格式進(jìn)行數(shù)據(jù)交換提供了聯(lián)邦對(duì)象模型(Federal Object Model,F(xiàn)OM),以此來(lái)描述聯(lián)邦運(yùn)行過(guò)程中需要交換的對(duì)象類、對(duì)象類屬性、交互類、交互類參數(shù)等信息[8~9]。
在基于HLA的聯(lián)邦開(kāi)發(fā)中,一般用對(duì)象模型模板(Object Model Template,OMT)制作 FOM,F(xiàn)OM以表格形式呈現(xiàn),部分FOM的內(nèi)容如表1~表3所示。
表1 復(fù)雜數(shù)據(jù)類型LOCATION
表2 基本實(shí)體類的FOM
表3 開(kāi)火交互類的FOM
復(fù)雜數(shù)據(jù)類型LOCATION表示實(shí)體的當(dāng)前位置,反映在程序代碼中就是一個(gè)結(jié)構(gòu)體。基本實(shí)體類是所有實(shí)體類的父類,所有實(shí)體類都具有表2中的屬性。交互類的屬性表示命令的參數(shù)。
4.3.2 數(shù)據(jù)分發(fā)設(shè)計(jì)
為了有效減少網(wǎng)絡(luò)中無(wú)用信息的傳輸,提高網(wǎng)絡(luò)帶寬的利用率,HLA分別在類層次和實(shí)例層次上定義了數(shù)據(jù)過(guò)濾機(jī)制。類層次的數(shù)據(jù)過(guò)濾通過(guò)聲明管理服務(wù)實(shí)現(xiàn),而實(shí)例層次的數(shù)據(jù)過(guò)濾通過(guò)數(shù)據(jù)分發(fā)實(shí)現(xiàn)[10~11]。依據(jù)該分布式系統(tǒng)的結(jié)構(gòu)特點(diǎn),為減少聲明管理的復(fù)雜度以及提高聯(lián)邦成員的可移植性,系統(tǒng)建立基于物理網(wǎng)絡(luò)的路徑空間(Routing Space),系統(tǒng)內(nèi)每個(gè)局域網(wǎng)是該路徑空間的一個(gè)域(Region),每個(gè)影子服務(wù)成員管理的所有戰(zhàn)場(chǎng)實(shí)體對(duì)象在各自局域網(wǎng)對(duì)應(yīng)的域上公布,局域網(wǎng)內(nèi)其他成員訂購(gòu)域的實(shí)例,這樣可有效限制戰(zhàn)場(chǎng)實(shí)體對(duì)象不會(huì)在廣域網(wǎng)上傳遞。而需要所有影子服務(wù)器響應(yīng)的交互可以通過(guò)影子服務(wù)器成員訂購(gòu)整個(gè)路徑空間的方式來(lái)實(shí)現(xiàn)。聯(lián)邦FOM中采用的路徑空間如圖7所示。
圖7 FOM中的路徑空間
規(guī)模測(cè)試是指對(duì)分布式仿真系統(tǒng)能夠支持多少個(gè)聯(lián)邦成員同時(shí)在線進(jìn)行的測(cè)試,在計(jì)算機(jī)性能、仿真模型算法的優(yōu)化程度、時(shí)間推進(jìn)機(jī)制、網(wǎng)絡(luò)帶寬等因素確定的情況下,規(guī)模測(cè)試的結(jié)果直接與網(wǎng)絡(luò)上的數(shù)據(jù)流量相關(guān)。
測(cè)試在廣州、揭陽(yáng)和湛江按照異地互聯(lián)模式展開(kāi),每一地都由50臺(tái)主機(jī)構(gòu)成千兆局域網(wǎng),每臺(tái)主機(jī)上運(yùn)行3~10個(gè)實(shí)體類,三地之間通過(guò)南部戰(zhàn)區(qū)的軍事綜合信息網(wǎng)互聯(lián),分配的網(wǎng)絡(luò)帶寬為4M,RTI服務(wù)器位于廣州。主機(jī)配置為Win7×64旗艦版,Intel I5 7400,內(nèi)存16G。軟件為海軍陸戰(zhàn)隊(duì)研制的某分布式作戰(zhàn)仿真系統(tǒng)[12]以及MAK RTI。
當(dāng)前,異地互聯(lián)分布式仿真主要有三種方法:主機(jī)直連、層次式RTI、RTI橋接,測(cè)試將本文提出的方法與上述方法進(jìn)行測(cè)試比較。測(cè)試結(jié)果表明,主機(jī)直連和層次式RTI在4M帶寬條件下,網(wǎng)絡(luò)響應(yīng)時(shí)間已經(jīng)達(dá)到秒級(jí),在一個(gè)仿真周期內(nèi)無(wú)法實(shí)現(xiàn)所有實(shí)體的狀態(tài)更新,基本不可行。RTI橋接和本文方法的測(cè)試結(jié)果如圖8所示,其中橫坐標(biāo)表示實(shí)體數(shù)量,單位是個(gè);縱坐標(biāo)表示實(shí)體更新接收時(shí)間,單位是ms。
圖8 測(cè)試結(jié)果1
從圖8中可以看出,當(dāng)實(shí)體數(shù)量小于50時(shí),橋接方法和比較方法的實(shí)體更新接收時(shí)間差別不大,但是隨著實(shí)體數(shù)量的進(jìn)一步增大,橋接方法的實(shí)體更新接收時(shí)間呈現(xiàn)猛烈增長(zhǎng),而本文方法的實(shí)體更新時(shí)間維持在30ms以下。下面進(jìn)一步擴(kuò)大實(shí)體規(guī)模進(jìn)行測(cè)試,測(cè)試結(jié)果如圖9所示。
圖9 測(cè)試結(jié)果2
從圖9中可以看出,隨著仿真實(shí)體數(shù)量的增加,雖然實(shí)體更新接收時(shí)間也隨之增長(zhǎng),但是始終控制在數(shù)十毫秒范圍之內(nèi),并沒(méi)有出現(xiàn)爆發(fā)式增長(zhǎng)的局面。因此,規(guī)模測(cè)試的結(jié)果說(shuō)明,引入影子服務(wù)成員之后,能夠穩(wěn)定、有效地支撐較大規(guī)模的基于窄帶廣域網(wǎng)的異地分布式戰(zhàn)術(shù)仿真。
鑒于大量增加用于異地分布式戰(zhàn)術(shù)仿真的廣域網(wǎng)絡(luò)帶寬目前難以實(shí)現(xiàn),本文提出了在典型層次式RTI服務(wù)器配置的基礎(chǔ)上,將影子服務(wù)成員引入基于HLA的分布式戰(zhàn)術(shù)仿真系統(tǒng),針對(duì)系統(tǒng)管理、確定類數(shù)據(jù)以及隨機(jī)類數(shù)據(jù)分別為影子服務(wù)成員設(shè)計(jì)了相應(yīng)接口,從而在保證仿真系統(tǒng)數(shù)據(jù)一致性的同時(shí),將周期性傳輸?shù)膶?shí)體類數(shù)據(jù)控制在本地局域網(wǎng)內(nèi)傳輸,在廣域網(wǎng)上只傳輸偶發(fā)性的交互類數(shù)據(jù),從而減少了廣域網(wǎng)上的數(shù)據(jù)傳輸量,保證了大規(guī)模分布式戰(zhàn)術(shù)仿真系統(tǒng)的異地穩(wěn)定運(yùn)行。該方法目前已應(yīng)用于海軍陸戰(zhàn)隊(duì)的年度綜合演練當(dāng)中,取得了良好的效果。