999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

飛行訓(xùn)練仿真系統(tǒng)中實(shí)時(shí)數(shù)據(jù)同步模型設(shè)計(jì)與實(shí)現(xiàn)

2017-04-11 01:05:41林萬(wàn)洪晁建剛
載人航天 2017年2期
關(guān)鍵詞:模型系統(tǒng)

林萬(wàn)洪,鄧 華,熊 穎,晁建剛,楊 進(jìn)

(1.中國(guó)航天員科研訓(xùn)練中心,北京100094;2.中國(guó)航天員科研訓(xùn)練中心人因工程重點(diǎn)實(shí)驗(yàn)室,北京100094)

飛行訓(xùn)練仿真系統(tǒng)中實(shí)時(shí)數(shù)據(jù)同步模型設(shè)計(jì)與實(shí)現(xiàn)

林萬(wàn)洪1,2,鄧 華1,熊 穎1,晁建剛1,2,楊 進(jìn)1

(1.中國(guó)航天員科研訓(xùn)練中心,北京100094;2.中國(guó)航天員科研訓(xùn)練中心人因工程重點(diǎn)實(shí)驗(yàn)室,北京100094)

針對(duì)下一代航天飛行訓(xùn)練模擬器分布式仿真系統(tǒng)對(duì)仿真數(shù)據(jù)管理與實(shí)時(shí)同步的高要求,分析了國(guó)內(nèi)外仿真系統(tǒng)數(shù)據(jù)同步技術(shù)發(fā)展現(xiàn)狀,在前期任務(wù)數(shù)據(jù)分發(fā)模型的基礎(chǔ)上,提出了基于組播、共享內(nèi)存和訂閱發(fā)布技術(shù)的局域網(wǎng)仿真數(shù)據(jù)高速同步方法,設(shè)計(jì)了一種基于數(shù)據(jù)語(yǔ)義標(biāo)識(shí)的通信模型。仿真試驗(yàn)表明:此模型合理高效,與上一代同步技術(shù)比較,同步時(shí)鐘提高到10 ms內(nèi),相同節(jié)點(diǎn)數(shù)目時(shí),40 ms仿真周期內(nèi)數(shù)據(jù)量提高了近一倍,開(kāi)發(fā)效率提高了一倍以上。

飛行訓(xùn)練仿真系統(tǒng);分布式仿真;數(shù)據(jù)同步

1 引言

空間站任務(wù)中要求飛行訓(xùn)練模擬器能夠提供給航天員空間站全任務(wù)流程的訓(xùn)練支持,并同時(shí)能夠滿足多個(gè)航天員乘組在模擬器進(jìn)行訓(xùn)練。上述需求變化對(duì)模擬器設(shè)備的研制及使用帶來(lái)了新的挑戰(zhàn),基本的體系結(jié)構(gòu)需要從原來(lái)以具體訓(xùn)練任務(wù)計(jì)算為中心、數(shù)據(jù)專項(xiàng)使用轉(zhuǎn)向多任務(wù)、綜合場(chǎng)景、協(xié)同訓(xùn)練的模式。這種轉(zhuǎn)變?yōu)槟M器數(shù)據(jù)通信帶來(lái)了新的挑戰(zhàn),包括:

1)數(shù)據(jù)規(guī)模的增大,需要仿真的設(shè)備增多,仿真模塊成數(shù)量級(jí)增長(zhǎng);2)艙段及艙載設(shè)備增加很多;3)數(shù)據(jù)的使用方式改變,從單一用戶到多用戶;4)多設(shè)備協(xié)同對(duì)仿真數(shù)據(jù)的一致性要求提高;5)適應(yīng)新設(shè)備不斷加入的需求,要求適應(yīng)仿真參數(shù)可動(dòng)態(tài)變化;6)新一代訓(xùn)練模擬器開(kāi)發(fā)模式的轉(zhuǎn)變要求數(shù)據(jù)通信作為最基礎(chǔ)的模塊能夠支持上層應(yīng)用對(duì)系統(tǒng)進(jìn)行快速升級(jí)。

飛行訓(xùn)練仿真系統(tǒng)的數(shù)據(jù)通信技術(shù)總體上可以分為集中式、分布式兩類。近年來(lái),由于計(jì)算的復(fù)雜化,分布式成為主流。先后經(jīng)歷了DIS、HLA、DDS等為代表的不同的通信模型結(jié)構(gòu)階段[1]。 DIS[2]、HLA[3]、DDS[4]等體系架構(gòu)本身是為通用的通信過(guò)程設(shè)計(jì)的,考慮全面,但與飛行訓(xùn)練模擬器結(jié)構(gòu)相對(duì)單一、數(shù)據(jù)可控、可預(yù)先分配仿真資源等特點(diǎn)不匹配,容易導(dǎo)致系統(tǒng)復(fù)雜度增加,開(kāi)發(fā)維護(hù)成本攀升,不利于系統(tǒng)的運(yùn)行和維護(hù)。

我國(guó)航天飛行訓(xùn)練仿真數(shù)據(jù)同步技術(shù)根據(jù)自身任務(wù)特點(diǎn)采取了不同技術(shù)路線,先后建立了基于套接字環(huán)狀結(jié)構(gòu)模型、基于 ACE(Adaptive Communication Environment)中間件的通信模型[5]以及基于數(shù)據(jù)分發(fā)的數(shù)據(jù)服務(wù)模型[6]。其中最為完善的基于數(shù)據(jù)分發(fā)的數(shù)據(jù)服務(wù)模型在仿真參數(shù)更新、仿真節(jié)點(diǎn)管理等方面依然有效,但是當(dāng)仿真節(jié)點(diǎn)增多,各節(jié)點(diǎn)對(duì)數(shù)據(jù)訪問(wèn)需求不一致時(shí),通信效率呈明顯下降趨勢(shì)。原因一是節(jié)點(diǎn)數(shù)目及數(shù)據(jù)量增加較多,且仿真參數(shù)需要?jiǎng)討B(tài)調(diào)整;二是目前基于數(shù)據(jù)分發(fā)的數(shù)據(jù)服務(wù)模型會(huì)在內(nèi)存中形成多份數(shù)據(jù),對(duì)多份數(shù)據(jù)拷貝進(jìn)行管理,消耗系統(tǒng)資源;三是將所有的數(shù)據(jù)更新信息發(fā)送給所有的節(jié)點(diǎn)進(jìn)行同步,但實(shí)際上節(jié)點(diǎn)僅需要個(gè)別參數(shù)或者某類參數(shù)。因此,數(shù)據(jù)通信面臨著仿真節(jié)點(diǎn)間的通信方式和數(shù)據(jù)分發(fā)服務(wù)指向性管理等問(wèn)題。

本文在基于數(shù)據(jù)分發(fā)的數(shù)據(jù)服務(wù)模型的基礎(chǔ)上提出新的虛擬數(shù)據(jù)倉(cāng)庫(kù)管理方法解決上述問(wèn)題,采用基于共享內(nèi)存體系結(jié)構(gòu)模型,在發(fā)布基礎(chǔ)上增加了訂閱方法以進(jìn)一步增強(qiáng)通信的有效性和指向性,作為面向下一代飛行訓(xùn)練仿真系統(tǒng)的通信模型,簡(jiǎn)稱為飛行訓(xùn)練模擬器仿真架構(gòu)通信模型(Communication Model of Simulator Simulation Architecture,CMoSSA)。

2 數(shù)據(jù)同步模型系統(tǒng)設(shè)計(jì)

CMoSSA利用了JGroups[7]、HLA及DDS的部分概念,參考部分異構(gòu)網(wǎng)絡(luò)的設(shè)計(jì)方法[8]。它由節(jié)點(diǎn)、虛擬數(shù)據(jù)倉(cāng)庫(kù)、接入點(diǎn)等組成,包含了節(jié)點(diǎn)管理、數(shù)據(jù)管理、數(shù)據(jù)同步以及權(quán)限管理等。基本原理如圖1所示。

CMoSSA總體上仍屬于客戶機(jī)?服務(wù)器模型,在服務(wù)器端包含系統(tǒng)層,網(wǎng)絡(luò)中間件,虛擬數(shù)據(jù)倉(cāng)庫(kù),接入點(diǎn)以及SSA系統(tǒng)服務(wù)等五個(gè)不同的層級(jí)。在客戶端包含系統(tǒng)層,網(wǎng)絡(luò)中間件,虛擬數(shù)據(jù)倉(cāng)庫(kù),接入點(diǎn)以及仿真節(jié)點(diǎn),其中仿真節(jié)點(diǎn)是由用戶自定義實(shí)現(xiàn)。系統(tǒng)層,網(wǎng)絡(luò)中間件,虛擬數(shù)據(jù)倉(cāng)庫(kù),接入點(diǎn)構(gòu)成了CMoSSA的基本運(yùn)行架構(gòu),SSA系統(tǒng)服務(wù)提供了管理 CMoSSA的各類服務(wù)。CMoSSA提供數(shù)據(jù)訪問(wèn)接口(接入點(diǎn))對(duì)系統(tǒng)內(nèi)數(shù)據(jù)等進(jìn)行訪問(wèn),實(shí)現(xiàn)了仿真節(jié)點(diǎn)與數(shù)據(jù)分離,在同一仿真設(shè)備上多個(gè)仿真節(jié)點(diǎn)可同時(shí)訪問(wèn)虛擬倉(cāng)庫(kù)。數(shù)據(jù)的訪問(wèn)采取發(fā)布訂閱模式,根據(jù)訪問(wèn)情況對(duì)發(fā)布訂閱數(shù)據(jù)進(jìn)行動(dòng)態(tài)調(diào)整,使數(shù)據(jù)的同步與更新處于高效的過(guò)程。

CMoSSA的系統(tǒng)層主要負(fù)責(zé)與計(jì)算機(jī)操作系統(tǒng)或者是底層硬件通信。網(wǎng)絡(luò)中間件利用成熟的中間件技術(shù)如ACE、ZeroMQ等負(fù)責(zé)網(wǎng)絡(luò)數(shù)據(jù)的傳輸[9?10]。虛擬數(shù)據(jù)倉(cāng)庫(kù)是通信模型的核心,承載著數(shù)據(jù)管理、更新、邏輯處理等功能。接入點(diǎn)是仿真節(jié)點(diǎn)與虛擬數(shù)據(jù)倉(cāng)庫(kù)的接口,提供給上層程序開(kāi)發(fā)使用,負(fù)責(zé)與應(yīng)用之間的數(shù)據(jù)傳遞。SSA系統(tǒng)服務(wù)提供了仿真服務(wù)器發(fā)現(xiàn),計(jì)算域管理,系統(tǒng)邏輯處理,數(shù)據(jù)管理等服務(wù)。

在上述結(jié)構(gòu)中,各仿真節(jié)點(diǎn)間(特別是本地節(jié)點(diǎn)之間)數(shù)據(jù)的同步在共享內(nèi)存等方法基礎(chǔ)上采用了以數(shù)據(jù)為中心的發(fā)布/訂閱機(jī)制以及周期同步技術(shù)。數(shù)據(jù)發(fā)布、傳遞和接收行為按照標(biāo)準(zhǔn)化過(guò)程進(jìn)行,數(shù)據(jù)分發(fā)服務(wù)的應(yīng)用范圍通過(guò)權(quán)限管理完成,而系統(tǒng)中數(shù)據(jù)的描述、相互關(guān)系及初始化定義建立于實(shí)時(shí)內(nèi)存數(shù)據(jù)庫(kù)之上,數(shù)據(jù)的描述可直接映射于仿真節(jié)點(diǎn)的語(yǔ)義交互接口。

3 虛擬數(shù)據(jù)倉(cāng)庫(kù)模型及數(shù)據(jù)管理

3.1虛擬數(shù)據(jù)倉(cāng)庫(kù)模型設(shè)計(jì)

CMoSSA虛擬數(shù)據(jù)倉(cāng)庫(kù)的設(shè)計(jì)是在數(shù)據(jù)分發(fā)機(jī)制基礎(chǔ)上進(jìn)行的。新的設(shè)計(jì)具有兩個(gè)顯著的特征:一是采用共享內(nèi)存提高通信效率;二是建立了主備份狀態(tài)模式,提高系統(tǒng)的可靠性。

虛擬數(shù)據(jù)倉(cāng)庫(kù)包含了本地虛擬倉(cāng)庫(kù)和網(wǎng)絡(luò)虛擬倉(cāng)庫(kù),本地?cái)?shù)據(jù)倉(cāng)庫(kù)解決幾個(gè)進(jìn)程之間的節(jié)點(diǎn)數(shù)據(jù)同步問(wèn)題,網(wǎng)絡(luò)虛擬倉(cāng)庫(kù)解決網(wǎng)絡(luò)上各節(jié)點(diǎn)之間的數(shù)據(jù)同步問(wèn)題。根據(jù)實(shí)時(shí)性及數(shù)據(jù)更新的可靠性等要求,兩種倉(cāng)庫(kù)采取了不同的策略,本地?cái)?shù)據(jù)倉(cāng)庫(kù)主要利用共享內(nèi)存方式,將公用的節(jié)點(diǎn)數(shù)據(jù)信息等建立一份鏡像,所有進(jìn)程按照讀寫(xiě)策略進(jìn)行操作。網(wǎng)絡(luò)虛擬倉(cāng)庫(kù)采用了以UDP多播為主的周期同步模式,在每臺(tái)終端設(shè)備具有一個(gè)虛擬數(shù)據(jù)倉(cāng)庫(kù)的同步鏡像,如圖2所示。

虛擬數(shù)據(jù)倉(cāng)庫(kù)之間的鏈接通過(guò)一個(gè)BUS模式的總線結(jié)構(gòu)完成,每個(gè)本地虛擬數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)更新需要發(fā)布時(shí),通過(guò)總線發(fā)布給其他在域內(nèi)的虛擬數(shù)據(jù)倉(cāng)庫(kù),局域網(wǎng)環(huán)境中通過(guò)UDP多播的方式實(shí)現(xiàn),本地環(huán)境中通過(guò)共享內(nèi)存的方式實(shí)現(xiàn)。

為保證數(shù)據(jù)在虛擬倉(cāng)庫(kù)中的可靠性,設(shè)計(jì)了備份數(shù)據(jù)中心,對(duì)虛擬數(shù)據(jù)倉(cāng)庫(kù)的所有關(guān)鍵信息進(jìn)行實(shí)時(shí)備份。本文采用一種成對(duì)互為備份的雙子星模式,同時(shí)將關(guān)鍵信息發(fā)送給主備兩臺(tái)機(jī)器,在SSA系統(tǒng)服務(wù)主機(jī)崩潰時(shí)信息仍能夠保留。在正常工作時(shí)備機(jī)僅作為一臺(tái)普通客戶端運(yùn)行,像其他客戶端一樣從主機(jī)獲取更新信息,但同時(shí)它也能從其他客戶端獲取更新事件。其體系結(jié)構(gòu)設(shè)計(jì)如圖3(a)所示。

此模型在服務(wù)器發(fā)送給客戶端的更新事件中加入心跳,這樣作為備機(jī)的客戶端可以知道主機(jī)是否異常。為了判斷主機(jī)節(jié)點(diǎn)是否異常,客戶端專門(mén)為心跳設(shè)置一個(gè)“投票”套接字,來(lái)協(xié)助判定主機(jī)節(jié)點(diǎn)是否異常,然后使用數(shù)據(jù)快照請(qǐng)求來(lái)“投票”接收新的主機(jī)數(shù)據(jù)。其狀態(tài)轉(zhuǎn)換過(guò)程表示如圖3(b)所示。主備機(jī)切換的步驟為:客戶端檢測(cè)到主機(jī)不再發(fā)送心跳,因此轉(zhuǎn)而連接備機(jī),并請(qǐng)求一份新的數(shù)據(jù)快照;備機(jī)開(kāi)始接收快照請(qǐng)求,并檢測(cè)到主機(jī)異常,于是開(kāi)始作為主機(jī)運(yùn)行;備機(jī)將待處理列表中的更新事件寫(xiě)入自身狀態(tài)中,然后開(kāi)始處理其他客戶端的數(shù)據(jù)快照請(qǐng)求。

3.2數(shù)據(jù)注冊(cè)與銷(xiāo)毀

為了解決仿真數(shù)據(jù)動(dòng)態(tài)變化的需求,采用了數(shù)據(jù)使用時(shí)進(jìn)行注冊(cè)和銷(xiāo)毀的方法,使得上層仿真節(jié)點(diǎn)可以對(duì)數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)進(jìn)行動(dòng)態(tài)管理。

數(shù)據(jù)在使用前需要向虛擬數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行注冊(cè),注冊(cè)過(guò)程包括請(qǐng)求注冊(cè)、空間分配以及鏡像更新等三個(gè)過(guò)程。請(qǐng)求注冊(cè)時(shí)將數(shù)據(jù)的屬性按照規(guī)范向虛擬倉(cāng)庫(kù)發(fā)起請(qǐng)求,虛擬倉(cāng)庫(kù)檢索倉(cāng)庫(kù)中是否已存在此數(shù)據(jù),如果不存在,將允許數(shù)據(jù)進(jìn)行注冊(cè);如果已經(jīng)存在,通知注冊(cè)客戶端數(shù)據(jù)已經(jīng)存在,不能重復(fù)注冊(cè)。允許注冊(cè)后,系統(tǒng)對(duì)數(shù)據(jù)所需要的內(nèi)存空間等進(jìn)行分配,并將分配后的內(nèi)存表信息進(jìn)行存儲(chǔ),然后通知系統(tǒng)完成了空間分配。在完成空間分配后,系統(tǒng)將分配后的虛擬倉(cāng)庫(kù)狀態(tài)同步到各個(gè)終端,保證終端鏡像的一致性。

上述過(guò)程中如果多個(gè)客戶端同時(shí)注冊(cè)數(shù)據(jù),會(huì)存在注冊(cè)數(shù)據(jù)競(jìng)爭(zhēng)一致性的問(wèn)題。如圖4所示,A和B將數(shù)據(jù)P進(jìn)行注冊(cè),按照設(shè)計(jì)的邏輯時(shí)序可完成正常注冊(cè)。但在注冊(cè)查詢狀態(tài)的過(guò)程中,由于是通過(guò)不同節(jié)點(diǎn)對(duì)網(wǎng)絡(luò)虛擬數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行訪問(wèn),可能存在并行訪問(wèn)狀態(tài)時(shí)序關(guān)系管理不一致,獲取到相同的狀態(tài)屬性結(jié)果,使得兩個(gè)節(jié)點(diǎn)注冊(cè)的數(shù)據(jù)P均成功,在系統(tǒng)運(yùn)行下一步計(jì)算過(guò)程時(shí),數(shù)據(jù)訪問(wèn)會(huì)出現(xiàn)意外的結(jié)果。

本文采用集中注冊(cè)以及并行訪問(wèn)串行化兩種方式解決上述問(wèn)題。集中注冊(cè)是指所有數(shù)據(jù)通過(guò)一個(gè)客戶端進(jìn)行注冊(cè)。并行訪問(wèn)串行化是指將所有的申請(qǐng)?jiān)L問(wèn)進(jìn)入串行隊(duì)列,防止了并發(fā)帶來(lái)的問(wèn)題。數(shù)據(jù)的銷(xiāo)毀過(guò)程是與注冊(cè)相反的過(guò)程,但是銷(xiāo)毀的數(shù)據(jù)并不會(huì)在系統(tǒng)中立即消失,只是打上銷(xiāo)毀的標(biāo)志,表示此數(shù)據(jù)處于銷(xiāo)毀狀態(tài),系統(tǒng)會(huì)周期檢測(cè)所有數(shù)據(jù)狀態(tài),在檢測(cè)周期到來(lái)時(shí)將所有需要銷(xiāo)毀的數(shù)據(jù)統(tǒng)一銷(xiāo)毀,并同步更新、鏡像到所有的虛擬數(shù)據(jù)倉(cāng)庫(kù)客戶端。

3.3權(quán)限控制

數(shù)據(jù)的動(dòng)態(tài)管理必然會(huì)涉及權(quán)限的問(wèn)題,在本模型的數(shù)據(jù)權(quán)限管理中,引入了作用域的概念,通信模型中的虛擬數(shù)據(jù)倉(cāng)庫(kù)及其中的數(shù)據(jù)屬于一個(gè)或多個(gè)域,域主要由數(shù)據(jù)寫(xiě)入者、數(shù)據(jù)讀入者、發(fā)布者、訂閱者及全局空間的信息倉(cāng)庫(kù)幾個(gè)對(duì)象組成。一個(gè)域代表一個(gè)通信范圍,只有同一個(gè)領(lǐng)域的發(fā)布者和訂閱者才能交互。

為了系統(tǒng)的訪問(wèn)安全,設(shè)計(jì)的每個(gè)節(jié)點(diǎn)以及數(shù)據(jù)都具有自己訪問(wèn)權(quán)限,節(jié)點(diǎn)具有超級(jí)、普通以及匿名等權(quán)限,數(shù)據(jù)具有可讀、可寫(xiě)等權(quán)限。

數(shù)據(jù)可寫(xiě)、可讀、可擁有是指此數(shù)據(jù)在仿真系統(tǒng)中是否能夠被其他節(jié)點(diǎn)進(jìn)行所定義的操作,數(shù)據(jù)可寫(xiě)是指可以被其他的節(jié)點(diǎn)所寫(xiě),可讀指其他節(jié)點(diǎn)只能進(jìn)行讀操作。為了保證數(shù)據(jù)同步時(shí)的一致性,每個(gè)數(shù)據(jù)需要附屬在一個(gè)節(jié)點(diǎn)上作為其父節(jié)點(diǎn),父節(jié)點(diǎn)對(duì)自己的數(shù)據(jù)擁有所有權(quán)限。

超級(jí)節(jié)點(diǎn)可以修改仿真系統(tǒng)的參數(shù),如數(shù)據(jù)同步時(shí)間、數(shù)據(jù)的訪問(wèn)權(quán)限、將某些數(shù)據(jù)銷(xiāo)毀、修改數(shù)據(jù)的參數(shù)值、發(fā)送全局的信息通知等。普通節(jié)點(diǎn)可以修改節(jié)點(diǎn)所屬的數(shù)據(jù)屬性,包括數(shù)據(jù)的訪問(wèn)權(quán)限、數(shù)據(jù)的參數(shù)值等。匿名節(jié)點(diǎn)只能觀察系統(tǒng),不能做任何操作。

4 基于發(fā)布訂閱的同步方法

4.1同步模型設(shè)計(jì)

為了減少重復(fù)數(shù)據(jù)在內(nèi)存中的鏡像以及在網(wǎng)絡(luò)的傳輸,特別是針對(duì)本地節(jié)點(diǎn)之間以及數(shù)據(jù)倉(cāng)庫(kù)之間的數(shù)據(jù)通信,在發(fā)布機(jī)制的基礎(chǔ)上設(shè)計(jì)了對(duì)應(yīng)的訂閱機(jī)制。發(fā)布訂閱系統(tǒng)主要有使用2g?precedence模型來(lái)處理分布式事件的順序和復(fù)合事件的檢測(cè),基于擴(kuò)充了時(shí)序模型的有限狀態(tài)機(jī)進(jìn)行描述,基于事件代數(shù)的事件復(fù)合監(jiān)測(cè)機(jī)制和基于ECA規(guī)則的事件處理機(jī)制。但是目前整體而言對(duì)發(fā)布訂閱系統(tǒng)中的復(fù)合事件時(shí)序邏輯模型研究較少[11]。本文描述的發(fā)布訂閱分為仿真節(jié)點(diǎn)與虛擬倉(cāng)庫(kù)之間以及兩個(gè)虛擬倉(cāng)庫(kù)之間兩個(gè)過(guò)程。仿真節(jié)點(diǎn)與虛擬倉(cāng)庫(kù)之間采用實(shí)時(shí)自動(dòng)訂閱模型,虛擬倉(cāng)庫(kù)之間采用定期更新模型。發(fā)布訂閱系統(tǒng)不僅支持對(duì)單個(gè)事件的訂閱,而且支持對(duì)“事件模式”或“復(fù)合事件”的訂閱。即:當(dāng)各個(gè)發(fā)布者所發(fā)布的一系列事件所組成的事件序列滿足某一條件時(shí),才通知節(jié)點(diǎn),改善了仿真計(jì)算節(jié)點(diǎn)的可擴(kuò)展性和性能,實(shí)現(xiàn)了自動(dòng)訂閱模型。

由于訂閱者在單線程工作時(shí),為了滿足實(shí)時(shí)性要求,對(duì)計(jì)算要求很高,在本文所進(jìn)行試驗(yàn)的計(jì)算機(jī)上,數(shù)據(jù)量達(dá)到10 M以上的時(shí)候,會(huì)占用大量的單一CPU資源,而且無(wú)法使用其他的CPU。因此,設(shè)計(jì)了并發(fā)模式對(duì)工作量進(jìn)行分配,將工作量拆分成獨(dú)立并行的片進(jìn)行處理,按照不同的分類方法對(duì)數(shù)據(jù)進(jìn)行分片訂閱,其發(fā)布訂閱模型結(jié)構(gòu)如圖5所示,圖中以3個(gè)分片示意,多個(gè)分片結(jié)構(gòu)增加訂閱、發(fā)布的描述即可。

CMoSSA中與發(fā)布訂閱管理緊密相關(guān)的就是數(shù)據(jù)緩存,所有的數(shù)據(jù)緩存是基于發(fā)布訂閱的需求進(jìn)行設(shè)計(jì)。CMoSSA在實(shí)現(xiàn)過(guò)程中根據(jù)終端節(jié)點(diǎn)對(duì)虛擬數(shù)據(jù)倉(cāng)庫(kù)的訪問(wèn)過(guò)程,采用了兩個(gè)隊(duì)列控制[12]最近時(shí)間訪問(wèn)過(guò)程算法,對(duì)節(jié)點(diǎn)訪問(wèn)的數(shù)據(jù)進(jìn)行緩存,加快訪問(wèn)速度和減少虛擬倉(cāng)庫(kù)與節(jié)點(diǎn)之間的數(shù)據(jù)傳輸,原理如圖6所示。

算法類似于 LRU?2,不同點(diǎn)在于本算法將LRU?2算法中的訪問(wèn)歷史隊(duì)列改為一個(gè)FIFO緩存隊(duì)列,最近時(shí)間訪問(wèn)過(guò)程算法有兩個(gè)緩存隊(duì)列,一個(gè)是FIFO隊(duì)列,一個(gè)是LRU隊(duì)列。當(dāng)數(shù)據(jù)第一次訪問(wèn)時(shí),將數(shù)據(jù)緩存在FIFO隊(duì)列里面,當(dāng)數(shù)據(jù)第二次被訪問(wèn)時(shí),則將數(shù)據(jù)從FIFO隊(duì)列移到LRU隊(duì)列里面,兩個(gè)隊(duì)列各自按照自己的方法淘汰數(shù)據(jù)。具體算法過(guò)程為:1)新訪問(wèn)的數(shù)據(jù)插入到FIFO隊(duì)列;2)如果數(shù)據(jù)在FIFO隊(duì)列中一直沒(méi)有被再次訪問(wèn),則最終按照FIFO規(guī)則淘汰;3)如果數(shù)據(jù)在FIFO隊(duì)列中被再次訪問(wèn),則將數(shù)據(jù)移到LRU隊(duì)列頭部;4)如果數(shù)據(jù)在LRU隊(duì)列再次被訪問(wèn),則將數(shù)據(jù)移到LRU隊(duì)列頭部;5)LRU隊(duì)列淘汰末尾的數(shù)據(jù)。通過(guò)兩個(gè)隊(duì)列實(shí)現(xiàn)了較高的命中率,內(nèi)存消耗比較接近于LRU?2算法,但對(duì)于最后訪問(wèn)的數(shù)據(jù)來(lái)說(shuō),本算法會(huì)減少一次從原始存儲(chǔ)讀取數(shù)據(jù)或者計(jì)算數(shù)據(jù)的操作。

4.2時(shí)序控制

時(shí)序控制在仿真系統(tǒng)的數(shù)據(jù)同步中尤為重要,各個(gè)仿真節(jié)點(diǎn)之間在邏輯上存在著對(duì)時(shí)間順序的要求。為了實(shí)現(xiàn)有效的時(shí)序控制和通信效率之間的平衡,設(shè)計(jì)了時(shí)鐘激勵(lì)模式和事件激勵(lì)模式兩種通信時(shí)序關(guān)系。時(shí)鐘激勵(lì)模式是通過(guò)一個(gè)標(biāo)準(zhǔn)的時(shí)鐘源按照仿真步長(zhǎng)的要求,按序推進(jìn),在本方法中,按照10 ms的時(shí)鐘步長(zhǎng)。事件激勵(lì)模式是對(duì)仿真系統(tǒng)中的重要事件進(jìn)行響應(yīng),以消息、回調(diào)等方式通知節(jié)點(diǎn)。

仿真節(jié)點(diǎn)的實(shí)現(xiàn)過(guò)程中與時(shí)間相關(guān)性小的仿真參數(shù),統(tǒng)一使用時(shí)鐘激勵(lì)模式進(jìn)行推進(jìn),每個(gè)本地虛擬數(shù)據(jù)倉(cāng)庫(kù)根據(jù)時(shí)鐘激勵(lì)對(duì)所定義的數(shù)據(jù)在一個(gè)時(shí)間周期內(nèi)完成同步,同步過(guò)程包括了數(shù)據(jù)的接收、分發(fā)以及對(duì)外發(fā)送等過(guò)程。重要的仿真時(shí)間節(jié)點(diǎn)以及事件節(jié)點(diǎn),使用事件激勵(lì)模式進(jìn)行設(shè)計(jì),包括飛行訓(xùn)練仿真系統(tǒng)的教員控制、飛行指令、操作指令等信息。

從系統(tǒng)角度分析,由于時(shí)間相關(guān)性小的仿真參數(shù)占了90%以上,通過(guò)時(shí)間激勵(lì)方式有效提高了系統(tǒng)的通信效率,同時(shí)沒(méi)有損失關(guān)鍵信息,實(shí)現(xiàn)了對(duì)整個(gè)仿真系統(tǒng)的有效時(shí)序控制。

5 仿真驗(yàn)證

完成上述模型設(shè)計(jì),在局域網(wǎng)內(nèi)對(duì)其進(jìn)行仿真驗(yàn)證。試驗(yàn)系統(tǒng)服務(wù)器與客戶機(jī)的CPU為In?tel Core i7 3.07 G,4 G內(nèi)存,Window XP Profes?sional SP3;采用H3C S5120千兆網(wǎng)絡(luò)交換機(jī)。試驗(yàn)共使用10臺(tái)計(jì)算機(jī)在局域網(wǎng)組網(wǎng)測(cè)試。

試驗(yàn)包括單機(jī)測(cè)試、基于局域網(wǎng)環(huán)境的測(cè)試和主服務(wù)器故障測(cè)試,測(cè)試內(nèi)容為仿真節(jié)點(diǎn)容量、數(shù)據(jù)同步能力、同步延時(shí)以及數(shù)據(jù)的可靠性。

仿真結(jié)果及上一代通信模型結(jié)果如見(jiàn)1。

對(duì)比前后兩個(gè)模型的結(jié)果可以看出,與上一代同步技術(shù)比較,相同節(jié)點(diǎn)數(shù)目時(shí),仿真周期內(nèi)數(shù)據(jù)量提高了近一倍。上述提高來(lái)源于網(wǎng)絡(luò)模型的改變和數(shù)據(jù)發(fā)布過(guò)程的改變。原網(wǎng)絡(luò)模型為鏈?zhǔn)浇Y(jié)構(gòu),數(shù)據(jù)必須嚴(yán)格按照所定義仿真節(jié)點(diǎn)優(yōu)先級(jí)進(jìn)行依次發(fā)布,而CMoSSA將仿真節(jié)點(diǎn)的關(guān)系提高到系統(tǒng)服務(wù)層級(jí)來(lái)處理,網(wǎng)絡(luò)傳輸?shù)倪^(guò)程不關(guān)心優(yōu)先級(jí)。同時(shí),CMoSSA對(duì)節(jié)點(diǎn)需要和發(fā)布的數(shù)據(jù)按照用戶需求在數(shù)據(jù)注冊(cè)時(shí)進(jìn)行了分類處理,減少了冗余數(shù)據(jù)的傳輸,加快了系統(tǒng)的數(shù)據(jù)處理過(guò)程。除此以外,由于對(duì)網(wǎng)絡(luò)傳輸邏輯的封裝良好,開(kāi)發(fā)者不需要再關(guān)注系統(tǒng)的傳輸邏輯,開(kāi)發(fā)效率得以大大提高。

表1 CMoSSA與上一代模型的對(duì)比表Table 1 The comparison of CMoSSA and the former model

6 結(jié)論

下一代航天飛行訓(xùn)練仿真系統(tǒng)實(shí)時(shí)數(shù)據(jù)同步是保證仿真數(shù)據(jù)一致性的基本條件,本文設(shè)計(jì)的通信模型實(shí)現(xiàn)了局域網(wǎng)環(huán)境下多臺(tái)仿真終端以及多個(gè)仿真節(jié)點(diǎn)之間數(shù)據(jù)的實(shí)時(shí)同步,實(shí)現(xiàn)了異構(gòu)網(wǎng)絡(luò)環(huán)境下的數(shù)據(jù)實(shí)時(shí)傳輸、同步、訂閱與發(fā)布、仿真數(shù)據(jù)按名稱存取等,同步效率高,滿足了航天訓(xùn)練實(shí)時(shí)仿真計(jì)算需求。同時(shí),仿真節(jié)點(diǎn)與底層的數(shù)據(jù)結(jié)構(gòu)、通信方式等不屬于仿真系統(tǒng)本身邏輯的信息隔離,使得研制飛行訓(xùn)練模擬器時(shí)可專注于仿真系統(tǒng)的邏輯實(shí)現(xiàn)。本通信模型可根據(jù)所依賴的仿真環(huán)境配置在單機(jī)、局域網(wǎng)、實(shí)時(shí)網(wǎng)絡(luò)中使用,為單機(jī)訓(xùn)練設(shè)備、小型化訓(xùn)練設(shè)備以及大型地面設(shè)備之間的數(shù)據(jù)同步與數(shù)據(jù)共享提供了解決途徑,也可推廣至廣域網(wǎng)、實(shí)裝網(wǎng)絡(luò)等。

(References)

[1] R An,G Liu,C Xing.K Hu.An overview of development of simulation integration technology[C]//World Scientific.Me?chanics and Mechatronics(ICMM2015):pp.086?1091.

[2] 張學(xué)平,單洪,邵軍力.軍用分布式交互仿真(DIS)原型系統(tǒng)的實(shí)現(xiàn)研究[J].系統(tǒng)仿真學(xué)報(bào).1998(2):13?18. ZHANG Xueping,SHAN Hong,SHAO Junli.Research on distributed interactive simulation for military training[J]. System Simulation.1998(2):13?18.(in Chinese)

[3] 戴忠健,侯朝楨.基于HLA的分布式交互仿真系統(tǒng)的開(kāi)發(fā)實(shí)例[J].系統(tǒng)工程理論與實(shí)踐,2005,25(1):105?109. DAI Zhongjian,HOU Chaozhen.The development example of distributed interactive simulation system based on HLA[J]. Systems Engineering?Theory&Practice,2005,25(1):105?109.(in Chinese)

[4] 謝蓓,劉毅,曹萬(wàn)華,等.實(shí)時(shí)系統(tǒng)數(shù)據(jù)分布服務(wù)DDS技術(shù)綜述[J].艦船電子工程,2006(2):16?19. Xie Bei,Liu Yi,Cao Wanhua,Li Junlin.Research on data distrubution service for real?time systems specification[J]. Ship Elcctronic Engineering,2006(2):16?19.(in Chinese)

[5] 晁建剛,沈鈞毅,王羽,等.航天飛行訓(xùn)練模擬器技術(shù)研究[J].系統(tǒng)仿真學(xué)報(bào),2009:21(21),6851?6855. CHAO Jiangang,SHEN Junyi,WANG Yu,et al.Study on technology of space flight simulator[J].System Simulation,2009,21(21):6851?6855.(in Chinese)

[6] 鄧華,林萬(wàn)洪.飛行訓(xùn)練模擬器仿真體系架構(gòu)[C]//載人航天工程二十年學(xué)術(shù)會(huì)議,2012. DENG Hua,LIN Wanhong.The simulation architecture of flight training simulator[C]//The manned space engineering conference for twenty years.2012.(in Chinese)

[7] Ban B,Blagojevic V.Reliable group communication with JGroups 3.x[EB/OL].(2015).http://www.jgroups.org/manual/pdf/master.pdf.

[8] 楊鑫輝,張慧翔.基于DDS的異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)分發(fā)方法研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014,24(11):57?60. Yang X H,Zhang H X.Research on heterogeneous network data distribution method based on DDS[J].Computer Technology and Development,2014,24(11):57?60.(in Chinese)

[9] 蒲鳳平,陳建政.基于ZeroMQ的分布式系統(tǒng)[J].電子測(cè)試.2012,253(7):24?29. Pu F P,Chen J Z.Distributed system based on ZeroMQ[J]. Electronic Test,2012,253(7):24?29.(in Chinese)

[10] Lee S,Park H,Lee W J.Design of ZeroMQ?based coopera?tive simulation framework for distributed code and model com?ponents[J].International Journal of Future Computer and Communication,2015,4(4):258?261.

[11] 馬建剛,黃濤,汪錦嶺,等.面向大規(guī)模分布式計(jì)算發(fā)布訂閱系統(tǒng)核心技術(shù)[J].軟件學(xué)報(bào),2006,17(1):134?147. MA JianGang,HUANG Tao,WANG JinLing,et al.Underly?ing techniques for large?scale distributed computing oriented publish/subscribe system[J].Journal of Software,2006,17(1):134?147.(in Chinese)

[12] 嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)[M].北京:清華大學(xué)出版社,2009:156?190. YAN weiming,WU Weimin.Data Structure(C)[M].Tsin?ghua University Press.2009:156?190.(in Chinese)

(責(zé)任編輯:龍晉偉)

Design and Implementation of Real Time Data Synchronization Model in Flight Training Simulation System

LIN Wanhong1,2,DENG Hua1,XIONG Ying1,CHAO Jiangang1,2,YANG Jin1

(1.China Astronaut Research and Training Center,Beijing 100094,China;2.National Key Laboratory of Human Factors Engineering,China Astronaut Research and Training Center,Beijing 100094,China)

According to the higher requirements on the simulation data management and real?time synchronization of the next generation distributed simulation system of space flight training simulator,the development status of data synchronization technology in simulation systems was analyzed.On the basis of the data distribution model adopted by previous simulation systems,a new method of high speed synchronization of local area network simulation data based on multicast,shared memory and SUB?PUB was proposed in this paper.In addition,a communication model based on data se?mantic identification was designed.The simulation results showed that this model was reasonable and efficient.As compared with the previous generation of synchronous clock synchronization technolo?gy,the synchronize clock was raised up to 10ms,the ability of synchronization was nearly doubled under the same number of nodes within 40 ms simulation period,and the development efficiency was more than doubled.

flight training simulation system;distributed simulation;data synchronization

TP391.9

:A

:1674?5825(2017)02?0191?06

2016?02?22;

2017?02?27

總裝備部預(yù)研基金(9140c770204150c77318);總裝重點(diǎn)試驗(yàn)技術(shù)課題(2013SY54B1301)

林萬(wàn)洪,男,碩士,助理研究員,研究方向?yàn)楹教祜w行訓(xùn)練仿真。E?mail:acclwh@hotmail.com

猜你喜歡
模型系統(tǒng)
一半模型
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
3D打印中的模型分割與打包
主站蜘蛛池模板: 精品亚洲国产成人AV| 亚洲色图欧美激情| 精品久久久久久成人AV| 亚洲精品无码专区在线观看 | 亚洲人成人伊人成综合网无码| 真人免费一级毛片一区二区| 国产精品久久久精品三级| 激情网址在线观看| 99一级毛片| 国产激情影院| 91偷拍一区| 99精品欧美一区| 国产精品视频白浆免费视频| 秋霞一区二区三区| 欧美日韩国产一级| 亚洲aⅴ天堂| 亚洲欧美日韩成人在线| 国产午夜人做人免费视频| 国产午夜一级毛片| 青青极品在线| 国产综合精品一区二区| 99久久精品美女高潮喷水| 91外围女在线观看| 国产精品黄色片| 中文字幕资源站| 亚洲最大综合网| 亚洲欧美日韩天堂| 午夜福利视频一区| 国产精品亚洲精品爽爽| 激情综合五月网| 日韩欧美高清视频| 欧美一区精品| 欧美日本中文| 久久亚洲欧美综合| 日本三级黄在线观看| 久久国产热| 五月婷婷综合在线视频| 久久久久久久97| 国产成人免费高清AⅤ| 女人爽到高潮免费视频大全| 中国精品自拍| 97国产成人无码精品久久久| 久久久久亚洲精品无码网站| 亚洲欧美综合另类图片小说区| 国产一区二区三区在线观看视频| 大陆国产精品视频| 2020国产免费久久精品99| 亚洲开心婷婷中文字幕| 大香伊人久久| 99爱在线| 久久精品国产亚洲麻豆| 欧美一级在线播放| 99久久精品免费看国产电影| 欧美成在线视频| 九色在线视频导航91| aⅴ免费在线观看| 国产欧美日韩专区发布| 日本在线欧美在线| 国产va欧美va在线观看| 99久久婷婷国产综合精| 欧美啪啪网| 亚洲人成网18禁| 欧美成a人片在线观看| 亚洲欧美另类专区| 国产成人91精品| 欧美午夜网| 久久久久免费精品国产| 黄色三级网站免费| 亚洲三级电影在线播放| AV无码一区二区三区四区| 狠狠色噜噜狠狠狠狠奇米777| 精品伊人久久大香线蕉网站| 欧美在线一二区| 亚洲激情99| 成人免费视频一区二区三区| 亚洲日韩在线满18点击进入| 狠狠色狠狠综合久久| 亚洲精品天堂自在久久77| 国产精品黄色片| 在线免费观看AV| 日韩欧美中文在线| 91蜜芽尤物福利在线观看|