鄭貴省,車亞輝,李月明
(1.軍事交通學(xué)院 基礎(chǔ)部,天津 300161; 2.軍事交通學(xué)院 研究生管理大隊(duì),天津 300161)
?
● 基礎(chǔ)科學(xué)與技術(shù)Basic Science & Technology
運(yùn)輸方案推演態(tài)勢(shì)回放系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
鄭貴省1,車亞輝2,李月明2
(1.軍事交通學(xué)院 基礎(chǔ)部,天津 300161; 2.軍事交通學(xué)院 研究生管理大隊(duì),天津 300161)
針對(duì)運(yùn)輸方案推演態(tài)勢(shì)回放系統(tǒng)數(shù)據(jù)量龐大、對(duì)繪制的實(shí)時(shí)性要求較高的特點(diǎn),提出系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì),采取動(dòng)態(tài)數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),選擇態(tài)勢(shì)回放算法基于緩沖思想調(diào)度動(dòng)態(tài)數(shù)據(jù),解決了態(tài)勢(shì)回放系統(tǒng)的效率問(wèn)題,實(shí)現(xiàn)了運(yùn)輸任務(wù)態(tài)勢(shì)回放功能。
運(yùn)輸任務(wù);態(tài)勢(shì)回放;動(dòng)態(tài)存儲(chǔ)結(jié)構(gòu);動(dòng)態(tài)調(diào)度
運(yùn)輸態(tài)勢(shì)是對(duì)當(dāng)前運(yùn)輸區(qū)域內(nèi)運(yùn)輸力量的部署、運(yùn)輸力量的行動(dòng)、自然地理、水文氣象、交通設(shè)施狀況等形成的運(yùn)輸進(jìn)程狀態(tài)與形態(tài)的綜合描述,如運(yùn)輸發(fā)生的時(shí)空分布,當(dāng)前運(yùn)輸位置、運(yùn)行要素及其發(fā)展趨勢(shì)等。態(tài)勢(shì)回放是一種提供事后反饋的機(jī)制,可以對(duì)完整的運(yùn)輸方案推演的態(tài)勢(shì)演變過(guò)程進(jìn)行重演。一般演習(xí)結(jié)束后,需要對(duì)方案的推演情況提供反饋和講評(píng),因此,記錄整個(gè)運(yùn)輸態(tài)勢(shì)變化過(guò)程并能夠加以回放,是十分必要的[1]。
實(shí)現(xiàn)運(yùn)輸態(tài)勢(shì)回放需要將輸送過(guò)程中所有中間狀態(tài)結(jié)果按時(shí)間順序保存下來(lái),但是,由于一些運(yùn)輸任務(wù)涉及范圍廣、持續(xù)時(shí)間長(zhǎng)、保障力量多,實(shí)施過(guò)程中會(huì)產(chǎn)生海量的中間態(tài)勢(shì)數(shù)據(jù)。系統(tǒng)要將整個(gè)運(yùn)輸態(tài)勢(shì)根據(jù)仿真時(shí)間軸較好地展現(xiàn)出來(lái),就必須面臨如何采集存儲(chǔ)態(tài)勢(shì)數(shù)據(jù)并進(jìn)行高效調(diào)度復(fù)盤的問(wèn)題。本文針對(duì)態(tài)勢(shì)回放系統(tǒng)的特點(diǎn),分析研究相關(guān)問(wèn)題,提出系統(tǒng)總體設(shè)計(jì),實(shí)現(xiàn)系統(tǒng)功能。
系統(tǒng)采用自下而上的設(shè)計(jì)思想,將整個(gè)系統(tǒng)劃分為數(shù)據(jù)層、中間層以及應(yīng)用層3層結(jié)構(gòu)(如圖1所示)。
圖1 系統(tǒng)總體結(jié)構(gòu)
數(shù)據(jù)層提供整個(gè)系統(tǒng)運(yùn)行所需數(shù)據(jù),包括環(huán)境數(shù)據(jù)、實(shí)體數(shù)據(jù)、事件數(shù)據(jù)以及控制數(shù)據(jù)等。環(huán)境數(shù)據(jù)常以背景地圖形式存儲(chǔ),用于繪制輸送區(qū)域;實(shí)體數(shù)據(jù)用于展現(xiàn)運(yùn)輸過(guò)程中各類實(shí)體狀態(tài)的變化;事件數(shù)據(jù)一般由時(shí)間索引信息以及相應(yīng)實(shí)體狀態(tài)改變信息組成;控制數(shù)據(jù)是對(duì)前三者的補(bǔ)充、轉(zhuǎn)換和加工,作用是展現(xiàn)用戶自定義的附加屬性、過(guò)濾機(jī)制等。其中,用于繪制表現(xiàn)整個(gè)運(yùn)輸態(tài)勢(shì)的事件數(shù)據(jù)和控制數(shù)據(jù)包含在外存的回放文件之中。
中間層實(shí)現(xiàn)文件解析,為系統(tǒng)提供回放算法以及處理調(diào)度數(shù)據(jù)、環(huán)境繪制等功能。數(shù)據(jù)調(diào)度要求能夠保證數(shù)據(jù)的時(shí)序性,繪制態(tài)勢(shì)時(shí)能夠提高系統(tǒng)效率。
當(dāng)前WebGIS已成為實(shí)現(xiàn)GIS互操作的一條最佳解決途徑[2]。因此,應(yīng)用層利用Flex具體實(shí)現(xiàn)對(duì)存儲(chǔ)的態(tài)勢(shì)數(shù)據(jù)進(jìn)行繪制管理與控制的過(guò)程,提供用戶交互界面,響應(yīng)操作人員的各類指令,使系統(tǒng)能夠在復(fù)盤界面上繪制表現(xiàn)整個(gè)運(yùn)輸過(guò)程、過(guò)濾顯示回放態(tài)勢(shì)、進(jìn)行個(gè)性化的配置,實(shí)現(xiàn)整個(gè)態(tài)勢(shì)的更新、暫停、跳轉(zhuǎn)、進(jìn)退等。
2.1態(tài)勢(shì)數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)
為滿足系統(tǒng)對(duì)于態(tài)勢(shì)回放展示的要求,數(shù)據(jù)需要進(jìn)行合理高效的采集存儲(chǔ),并要求存儲(chǔ)的數(shù)據(jù)信息包含全面,方便回放控制。目前,態(tài)勢(shì)數(shù)據(jù)存儲(chǔ)通常有靜態(tài)存儲(chǔ)結(jié)構(gòu)和動(dòng)態(tài)存儲(chǔ)結(jié)構(gòu)兩種方式[3]。靜態(tài)結(jié)構(gòu)的特點(diǎn)是存儲(chǔ)每個(gè)時(shí)刻的全部實(shí)體信息,不考慮該數(shù)據(jù)先前是否存在,即使該實(shí)體先前已經(jīng)存在且不再發(fā)生變化,靜態(tài)結(jié)構(gòu)也會(huì)在之后的每一幀數(shù)據(jù)中進(jìn)行存儲(chǔ),該結(jié)構(gòu)會(huì)使存儲(chǔ)文件的空間增長(zhǎng)較快。區(qū)別于靜態(tài)存儲(chǔ)結(jié)構(gòu),動(dòng)態(tài)結(jié)構(gòu)僅保存變化的實(shí)體,對(duì)于不再發(fā)生變化的實(shí)體,僅存儲(chǔ)其最后一次發(fā)生變化時(shí)的狀態(tài)信息。
本系統(tǒng)采用動(dòng)態(tài)存儲(chǔ)結(jié)構(gòu),將采集的數(shù)據(jù)按照周期劃分,每一個(gè)周期中的態(tài)勢(shì)數(shù)據(jù)稱為一幀數(shù)據(jù)。將實(shí)體分為新增的實(shí)體(Increase)、變化的實(shí)體(Change)、消失的實(shí)體(Disappear)3類,方便判斷其變化情況,決定如何對(duì)其進(jìn)行存儲(chǔ)。在周期開始時(shí),加載一個(gè)全信息幀,展現(xiàn)初始態(tài)勢(shì),之后加載的幀僅記錄發(fā)生變化的實(shí)體。其邏輯結(jié)構(gòu)如圖2所示。
圖2 數(shù)據(jù)存儲(chǔ)邏輯結(jié)構(gòu)
其中,靜態(tài)幀(static)包含了當(dāng)前t時(shí)刻的所有實(shí)體的態(tài)勢(shì)數(shù)據(jù),動(dòng)態(tài)幀(dynamic)中包含的是該仿真時(shí)刻相對(duì)于前一靜態(tài)幀發(fā)生變化的實(shí)體信息。圖3為時(shí)間軸跳轉(zhuǎn)示意圖,要從時(shí)刻T1跳轉(zhuǎn)到T2,只需加載靜態(tài)幀S2并疊加D22中的實(shí)體變化信息,這樣做大大縮減了存儲(chǔ)的數(shù)據(jù)量。
圖3 時(shí)間軸跳轉(zhuǎn)
2.2態(tài)勢(shì)回放算法
實(shí)現(xiàn)系統(tǒng)態(tài)勢(shì)回放需要兩種算法,分別是順序訪問(wèn)算法1以及隨機(jī)訪問(wèn)算法2[4]。算法1實(shí)現(xiàn)從時(shí)刻0至?xí)r刻n-1的順序播放,并可在此基礎(chǔ)上實(shí)現(xiàn)變速播放、過(guò)濾等功能;算法2實(shí)現(xiàn)了對(duì)t時(shí)刻態(tài)勢(shì)的隨機(jī)播放,以及拖動(dòng)跳播、編輯態(tài)勢(shì)等功能。
(1)順序播放。在繪制每一幀態(tài)勢(shì)前,先對(duì)該幀態(tài)勢(shì)數(shù)據(jù)中的實(shí)體類型進(jìn)行判斷,根據(jù)其相應(yīng)的標(biāo)記類型決定在繪制該幀態(tài)勢(shì)時(shí)進(jìn)行更新或是刪除。在更新每一幀態(tài)勢(shì)時(shí),不需要完全清空內(nèi)存后重新加載,而是將存在的實(shí)體數(shù)據(jù)一直保存,在后續(xù)態(tài)勢(shì)展現(xiàn)中僅進(jìn)行相應(yīng)的更新。其具體算法為
for each time from time_index[0…n-1]//讀取時(shí)間索引
begin
for each entity from entity_index[0…m-1]
begin
read entity from file; //根據(jù)索引讀取實(shí)體數(shù)據(jù)
if entity is Increase type then insert it to memory //判斷該實(shí)體類別后,Increase type的實(shí)體載入內(nèi)存
else if entity is Change type then update entity //Change type的實(shí)體在內(nèi)存中進(jìn)行更新
else delete entity;//Disappear type實(shí)體從內(nèi)存中刪除
end for
show all entity; //顯示所有實(shí)體,展現(xiàn)態(tài)勢(shì)
end for
(2)隨機(jī)播放。事實(shí)上是對(duì)態(tài)勢(shì)數(shù)據(jù)的一種偽隨機(jī)訪問(wèn),其算法與順序播放算法幾乎相同,區(qū)別在于順序播放顯示每個(gè)時(shí)刻的實(shí)體態(tài)勢(shì)數(shù)據(jù),而隨機(jī)播放不顯示t時(shí)刻之前的實(shí)體態(tài)勢(shì)數(shù)據(jù)。具體算法為
for each time from time_index[0…n-1]
begin
for each entity from entity_index[0…m-1]
begin
read entity from file;
if entity is Increase type then insert it to memory
else if entity is Change type then update entity
else delete entity;//Disappear type
end for
end for
show all entity;
2.3數(shù)據(jù)調(diào)度傳輸
中間層除了提供算法以外,還需要提供一種高效的數(shù)據(jù)調(diào)度傳輸方法,提高系統(tǒng)的運(yùn)行效率。數(shù)據(jù)調(diào)度是將回放文件中解析出來(lái)的需要使用的數(shù)據(jù)傳輸給繪制線程,用以展現(xiàn)運(yùn)輸態(tài)勢(shì)的過(guò)程。當(dāng)輸送規(guī)模較大時(shí),一幀態(tài)勢(shì)中的數(shù)據(jù)量也會(huì)比較大,給數(shù)據(jù)的處理調(diào)度帶來(lái)了很大負(fù)擔(dān)。因此,采用基于緩沖思想的數(shù)據(jù)調(diào)度方法,在載入解析數(shù)據(jù)的同時(shí),調(diào)度傳輸繪制所需的數(shù)據(jù),以此來(lái)保證態(tài)勢(shì)回放過(guò)程的效率以及流暢程度。
由于文件解析是從外存載入數(shù)據(jù),而用于更新態(tài)勢(shì)的數(shù)據(jù)由系統(tǒng)從內(nèi)存中讀取,因此,采用雙緩沖區(qū)的數(shù)據(jù)緩存策略,利用A緩沖區(qū)緩存回放文件解析出的數(shù)據(jù),B緩沖區(qū)緩存繪制態(tài)勢(shì)所需的待用數(shù)據(jù)。在設(shè)計(jì)緩存區(qū)大小時(shí),過(guò)大會(huì)減緩系統(tǒng)的啟動(dòng)速度,過(guò)小則作用不明顯,所以要以幀為單位,視情況而定。
由此,將數(shù)據(jù)調(diào)度傳輸?shù)倪^(guò)程分為兩部分:一是從外部回放文件解析數(shù)據(jù)到存儲(chǔ)區(qū);二是從數(shù)據(jù)存儲(chǔ)區(qū)取數(shù)據(jù)用于更新繪制線程。其中,A緩沖區(qū)為數(shù)據(jù)預(yù)處理緩沖了時(shí)間;而B緩沖區(qū)則用于緩存未來(lái)幾幀態(tài)勢(shì)繪制所需數(shù)據(jù),從而較好地實(shí)現(xiàn)數(shù)據(jù)在數(shù)據(jù)層和應(yīng)用層之間的交互。同時(shí),為緩解數(shù)據(jù)頻繁更新給繪制帶來(lái)的壓力,在更新控制較大的位移數(shù)據(jù)時(shí),并不更新每一幀數(shù)據(jù),而是根據(jù)當(dāng)前需播放幀數(shù)跳播更新,減少數(shù)據(jù)的吞吐量,保證數(shù)據(jù)的傳輸調(diào)度速度,提高整個(gè)系統(tǒng)的效率。
另外,通常運(yùn)輸任務(wù)的區(qū)域范圍廣闊,地圖繪制量較大,因此采用分層分塊的方法,判斷當(dāng)前可視區(qū)域需要參與繪制的地圖層或塊,從而提升該部分的繪制效率。
應(yīng)用層從Flex、空間數(shù)據(jù)庫(kù)等服務(wù)器端技術(shù)及聚類分組、屏幕網(wǎng)格等方面進(jìn)行探討和分析,實(shí)現(xiàn)了運(yùn)輸任務(wù)態(tài)勢(shì)回放系統(tǒng)的功能[5]。對(duì)地形、資源與環(huán)境等空間信息,以及運(yùn)輸態(tài)勢(shì)數(shù)據(jù)進(jìn)行存儲(chǔ)、檢索、分析、顯示和輸出,為各級(jí)保障力量指揮人員提供全面的運(yùn)輸態(tài)勢(shì)感知,便于對(duì)整個(gè)輸送過(guò)程進(jìn)行回顧、分析和輔助講評(píng)。
用戶通過(guò)系統(tǒng)交互界面的“數(shù)據(jù)加載”菜單定義起始時(shí)間,從外存中加載態(tài)勢(shì)回放所需文件;在“模型操作”菜單中控制參加運(yùn)輸任務(wù)的模型實(shí)體的疊加、過(guò)濾、高亮顯示等;通過(guò)“實(shí)時(shí)追蹤”菜單可選擇追蹤對(duì)象,解析該對(duì)象實(shí)時(shí)發(fā)回的北斗位置信息,并加以顯示;“態(tài)勢(shì)展現(xiàn)”在地圖上顯示運(yùn)輸實(shí)體及其整個(gè)運(yùn)輸過(guò)程,通過(guò)仿真時(shí)間軸來(lái)控制態(tài)勢(shì)回放速度、跳播展現(xiàn)指定時(shí)刻的運(yùn)輸態(tài)勢(shì)。部分效果如圖4所示。
圖4 態(tài)勢(shì)回放效果
本文闡述了運(yùn)輸方案推演態(tài)勢(shì)回放系統(tǒng)的設(shè)計(jì)思想、總體結(jié)構(gòu),在確定系統(tǒng)數(shù)據(jù)的采集策略及其存儲(chǔ)結(jié)構(gòu)的基礎(chǔ)上,應(yīng)用數(shù)據(jù)的動(dòng)態(tài)調(diào)度傳輸,基本滿足系統(tǒng)功能的需求與實(shí)現(xiàn)。但目前系統(tǒng)對(duì)于推演態(tài)勢(shì)的回放尚處于二維平臺(tái),下一步應(yīng)引入多維態(tài)勢(shì)信息,進(jìn)一步滿足態(tài)勢(shì)回放需求,為推進(jìn)運(yùn)輸方案推演建設(shè)提供應(yīng)用價(jià)值。
[1]石書浩,張潔,呂品,等.模擬演練態(tài)勢(shì)回放系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(3):1079-1084.
[2]劉讓國(guó),彭會(huì)湘,陳莉.基于WebGIS的態(tài)勢(shì)表達(dá)解決方案探討[J].計(jì)算機(jī)與網(wǎng)絡(luò),2013(2):61-63.
[3]景民,胡曉峰,吳琳,等.面向態(tài)勢(shì)回放的兩種海量數(shù)據(jù)采集存儲(chǔ)結(jié)構(gòu)分析[J].系統(tǒng)仿真學(xué)報(bào),2012,24(5):989-998.
[4]臧勤,李樹文,劉佳媛.一種基于數(shù)據(jù)庫(kù)的綜合態(tài)勢(shì)生成方法[J].雷達(dá)與對(duì)抗,2015,35(2):19-21.
[5]聶俊嵐,陳歡歡,郭棟梁,等.多維數(shù)字戰(zhàn)場(chǎng)態(tài)勢(shì)可視化分析研究[J].小型微型計(jì)算機(jī)系統(tǒng),2014(3):626-629.
(編輯:張峰)
Design and Realization of Situation Replay System in Transportation Desktop Maneuvers
ZHENG Guixing1, CHE Yahui2, LI Yueming2
(1.General Courses Department, Military Transportation University, Tianjin 300161, China;2.Postgraduate Training Brigade, Military Transportation University, Tianjin 300161, China)
To realize real time analysis and dispatch of the huge data in situation replay system for a transportation desktop maneuver, this paper presents a structure design of the system, in which dynamic storage structure is applied, situation replay algorithm is used and dynamic data is dispatched under the guidance of buffer idea. This design improves the efficiency of the situation replay system and realizes transporation task situation replay function.
transportation task; situation replay; dynamic storage structure; dynamic dispatch
2015-07-08;
2016-04-19.
鄭貴省(1975—),男,博士,副教授,碩士研究生導(dǎo)師.
10.16807/j.cnki.12-1372/e.2016.06.020
U491.1
A
1674-2192(2016)06- 0086- 04