鄭貴省,車亞輝,李月明
(1.軍事交通學院 基礎部,天津 300161; 2.軍事交通學院 研究生管理大隊,天津 300161)
?
● 基礎科學與技術Basic Science & Technology
運輸方案推演態勢回放系統設計與實現
鄭貴省1,車亞輝2,李月明2
(1.軍事交通學院 基礎部,天津 300161; 2.軍事交通學院 研究生管理大隊,天津 300161)
針對運輸方案推演態勢回放系統數據量龐大、對繪制的實時性要求較高的特點,提出系統總體結構設計,采取動態數據存儲結構,選擇態勢回放算法基于緩沖思想調度動態數據,解決了態勢回放系統的效率問題,實現了運輸任務態勢回放功能。
運輸任務;態勢回放;動態存儲結構;動態調度
運輸態勢是對當前運輸區域內運輸力量的部署、運輸力量的行動、自然地理、水文氣象、交通設施狀況等形成的運輸進程狀態與形態的綜合描述,如運輸發生的時空分布,當前運輸位置、運行要素及其發展趨勢等。態勢回放是一種提供事后反饋的機制,可以對完整的運輸方案推演的態勢演變過程進行重演。一般演習結束后,需要對方案的推演情況提供反饋和講評,因此,記錄整個運輸態勢變化過程并能夠加以回放,是十分必要的[1]。
實現運輸態勢回放需要將輸送過程中所有中間狀態結果按時間順序保存下來,但是,由于一些運輸任務涉及范圍廣、持續時間長、保障力量多,實施過程中會產生海量的中間態勢數據。系統要將整個運輸態勢根據仿真時間軸較好地展現出來,就必須面臨如何采集存儲態勢數據并進行高效調度復盤的問題。本文針對態勢回放系統的特點,分析研究相關問題,提出系統總體設計,實現系統功能。
系統采用自下而上的設計思想,將整個系統劃分為數據層、中間層以及應用層3層結構(如圖1所示)。

圖1 系統總體結構
數據層提供整個系統運行所需數據,包括環境數據、實體數據、事件數據以及控制數據等。環境數據常以背景地圖形式存儲,用于繪制輸送區域;實體數據用于展現運輸過程中各類實體狀態的變化;事件數據一般由時間索引信息以及相應實體狀態改變信息組成;控制數據是對前三者的補充、轉換和加工,作用是展現用戶自定義的附加屬性、過濾機制等。其中,用于繪制表現整個運輸態勢的事件數據和控制數據包含在外存的回放文件之中。
中間層實現文件解析,為系統提供回放算法以及處理調度數據、環境繪制等功能。數據調度要求能夠保證數據的時序性,繪制態勢時能夠提高系統效率。
當前WebGIS已成為實現GIS互操作的一條最佳解決途徑[2]。因此,應用層利用Flex具體實現對存儲的態勢數據進行繪制管理與控制的過程,提供用戶交互界面,響應操作人員的各類指令,使系統能夠在復盤界面上繪制表現整個運輸過程、過濾顯示回放態勢、進行個性化的配置,實現整個態勢的更新、暫停、跳轉、進退等。
2.1態勢數據存儲結構
為滿足系統對于態勢回放展示的要求,數據需要進行合理高效的采集存儲,并要求存儲的數據信息包含全面,方便回放控制。目前,態勢數據存儲通常有靜態存儲結構和動態存儲結構兩種方式[3]。靜態結構的特點是存儲每個時刻的全部實體信息,不考慮該數據先前是否存在,即使該實體先前已經存在且不再發生變化,靜態結構也會在之后的每一幀數據中進行存儲,該結構會使存儲文件的空間增長較快。區別于靜態存儲結構,動態結構僅保存變化的實體,對于不再發生變化的實體,僅存儲其最后一次發生變化時的狀態信息。
本系統采用動態存儲結構,將采集的數據按照周期劃分,每一個周期中的態勢數據稱為一幀數據。將實體分為新增的實體(Increase)、變化的實體(Change)、消失的實體(Disappear)3類,方便判斷其變化情況,決定如何對其進行存儲。在周期開始時,加載一個全信息幀,展現初始態勢,之后加載的幀僅記錄發生變化的實體。其邏輯結構如圖2所示。

圖2 數據存儲邏輯結構
其中,靜態幀(static)包含了當前t時刻的所有實體的態勢數據,動態幀(dynamic)中包含的是該仿真時刻相對于前一靜態幀發生變化的實體信息。圖3為時間軸跳轉示意圖,要從時刻T1跳轉到T2,只需加載靜態幀S2并疊加D22中的實體變化信息,這樣做大大縮減了存儲的數據量。

圖3 時間軸跳轉
2.2態勢回放算法
實現系統態勢回放需要兩種算法,分別是順序訪問算法1以及隨機訪問算法2[4]。算法1實現從時刻0至時刻n-1的順序播放,并可在此基礎上實現變速播放、過濾等功能;算法2實現了對t時刻態勢的隨機播放,以及拖動跳播、編輯態勢等功能。
(1)順序播放。在繪制每一幀態勢前,先對該幀態勢數據中的實體類型進行判斷,根據其相應的標記類型決定在繪制該幀態勢時進行更新或是刪除。在更新每一幀態勢時,不需要完全清空內存后重新加載,而是將存在的實體數據一直保存,在后續態勢展現中僅進行相應的更新。其具體算法為
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 //判斷該實體類別后,Increase type的實體載入內存
else if entity is Change type then update entity //Change type的實體在內存中進行更新
else delete entity;//Disappear type實體從內存中刪除
end for
show all entity; //顯示所有實體,展現態勢
end for
(2)隨機播放。事實上是對態勢數據的一種偽隨機訪問,其算法與順序播放算法幾乎相同,區別在于順序播放顯示每個時刻的實體態勢數據,而隨機播放不顯示t時刻之前的實體態勢數據。具體算法為
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數據調度傳輸
中間層除了提供算法以外,還需要提供一種高效的數據調度傳輸方法,提高系統的運行效率。數據調度是將回放文件中解析出來的需要使用的數據傳輸給繪制線程,用以展現運輸態勢的過程。當輸送規模較大時,一幀態勢中的數據量也會比較大,給數據的處理調度帶來了很大負擔。因此,采用基于緩沖思想的數據調度方法,在載入解析數據的同時,調度傳輸繪制所需的數據,以此來保證態勢回放過程的效率以及流暢程度。
由于文件解析是從外存載入數據,而用于更新態勢的數據由系統從內存中讀取,因此,采用雙緩沖區的數據緩存策略,利用A緩沖區緩存回放文件解析出的數據,B緩沖區緩存繪制態勢所需的待用數據。在設計緩存區大小時,過大會減緩系統的啟動速度,過小則作用不明顯,所以要以幀為單位,視情況而定。
由此,將數據調度傳輸的過程分為兩部分:一是從外部回放文件解析數據到存儲區;二是從數據存儲區取數據用于更新繪制線程。其中,A緩沖區為數據預處理緩沖了時間;而B緩沖區則用于緩存未來幾幀態勢繪制所需數據,從而較好地實現數據在數據層和應用層之間的交互。同時,為緩解數據頻繁更新給繪制帶來的壓力,在更新控制較大的位移數據時,并不更新每一幀數據,而是根據當前需播放幀數跳播更新,減少數據的吞吐量,保證數據的傳輸調度速度,提高整個系統的效率。
另外,通常運輸任務的區域范圍廣闊,地圖繪制量較大,因此采用分層分塊的方法,判斷當前可視區域需要參與繪制的地圖層或塊,從而提升該部分的繪制效率。
應用層從Flex、空間數據庫等服務器端技術及聚類分組、屏幕網格等方面進行探討和分析,實現了運輸任務態勢回放系統的功能[5]。對地形、資源與環境等空間信息,以及運輸態勢數據進行存儲、檢索、分析、顯示和輸出,為各級保障力量指揮人員提供全面的運輸態勢感知,便于對整個輸送過程進行回顧、分析和輔助講評。
用戶通過系統交互界面的“數據加載”菜單定義起始時間,從外存中加載態勢回放所需文件;在“模型操作”菜單中控制參加運輸任務的模型實體的疊加、過濾、高亮顯示等;通過“實時追蹤”菜單可選擇追蹤對象,解析該對象實時發回的北斗位置信息,并加以顯示;“態勢展現”在地圖上顯示運輸實體及其整個運輸過程,通過仿真時間軸來控制態勢回放速度、跳播展現指定時刻的運輸態勢。部分效果如圖4所示。

圖4 態勢回放效果
本文闡述了運輸方案推演態勢回放系統的設計思想、總體結構,在確定系統數據的采集策略及其存儲結構的基礎上,應用數據的動態調度傳輸,基本滿足系統功能的需求與實現。但目前系統對于推演態勢的回放尚處于二維平臺,下一步應引入多維態勢信息,進一步滿足態勢回放需求,為推進運輸方案推演建設提供應用價值。
[1]石書浩,張潔,呂品,等.模擬演練態勢回放系統的設計與實現[J].計算機工程與設計,2012,33(3):1079-1084.
[2]劉讓國,彭會湘,陳莉.基于WebGIS的態勢表達解決方案探討[J].計算機與網絡,2013(2):61-63.
[3]景民,胡曉峰,吳琳,等.面向態勢回放的兩種海量數據采集存儲結構分析[J].系統仿真學報,2012,24(5):989-998.
[4]臧勤,李樹文,劉佳媛.一種基于數據庫的綜合態勢生成方法[J].雷達與對抗,2015,35(2):19-21.
[5]聶俊嵐,陳歡歡,郭棟梁,等.多維數字戰場態勢可視化分析研究[J].小型微型計算機系統,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—),男,博士,副教授,碩士研究生導師.
10.16807/j.cnki.12-1372/e.2016.06.020
U491.1
A
1674-2192(2016)06- 0086- 04