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