鄧晨,許雙偉,孫文虎,陳曉東
(1.北京機電工程研究所,北京 100074;2.國防大學聯合勤務學院,北京 100858)
為實現戰場感知,輔助指揮人員掌控戰場局勢,需要在地圖上標繪與任務相關的環境、敵我雙方力量部署情況、戰場想定等軍事要素,生成可視化的態勢制圖成果。應用于后裝保障領域,通常采用一種基于電子地圖的實時態勢標繪系統將各渠道收集的保障信息要素進行關聯展示,準確地描述資源的需求與流向,面向作戰人員提供各種后裝保障規劃能力,精確地對物資進行定位、查詢和處理,根據實際需求評估物資的補給策略。
聯合作戰背景下的后裝保障任務更加復雜,不僅需要協調分布在整個戰爭體系的人員、裝備、物資等作戰、指揮、保障實體,還需同步規劃非線性、不規則、廣域疏散、動態配置的跨域保障節點。由此帶來的挑戰則是,支撐并描述戰場態勢的基礎圖元數據[1]數量劇增會從影響態勢圖繪制的時效指標、保障方案的評估與反饋,導致涉及多部門的戰事進展動態規劃與統籌協調需要不斷的修正與更新[2]。以往的單人單機標繪方式,已經不能適應現階段后裝保障應用的業務需求,有必要建立面向后裝保障需求的多人協同標繪場景,通過多人同時共享操作一張地圖,同步并發式地進行協同標繪,結合業務數據快速地形成各類作戰、救災、檢修等保障專題態勢圖。建立協同的分布式工作環境,使得地理空間相對分散的各級部門合理通過分布式標繪機位協同完成保障任務規劃,提升聯合作戰背景下各級部門實時協作能力,準確作出正確決斷[3]。
本文針對上述多人協同標繪環節中比較突出的消息交互與標繪沖突等問題,設計了一種用于存儲多人協同標繪過程信息的后裝綜合態勢共享交換文件模型,并基于該模型設計多人協同標繪方案,提高多人協同標繪的工作效率。
徐瑞[4]結合CSCW與WebSocket,通過長連接形式分發和接收數據,實現了三維協同規劃模型。
趙建[5]采用協同工具Collaboration實現協同控制,并在處理沖突時,采用并發控制協商會議的策略,解決協同標繪時的操作沖突問題。
李蘇軍[6]等人通過設計并發控制策略及其算法,描述了數據傳輸過濾機制,解決了多用戶協同標繪與多視角演示的難題,實現了作戰構想快速生成與演示。
針對多人協同沖突消解方向,李袁帥[7]等人基于語義理解機制,提出了一種多人協同沖突控制機制,實現了一種在虛擬地理環境中的協同交互方案。
鄒崢嶸[8]等人通過結合ArcGIS中版本更新模式,采用"單人單版本"模式的數據編輯和更新模式,解決協同標繪過程中的沖突問題。
龔芳海[9]針對分布式環境下的大數據流的處理技術進行了探討。李立夏[10]等人通過協同管理標繪行為,給出了一種沖突控制策略及算法,提出了一種解決分布式環境下多用戶同時標繪的方案。
徐進[11]、朱曉宇[12]等人通過消息通信管理機制,實現了多人的協同工作方案。
上述態勢圖協同標繪的研究基本都是基于消息交換機制與計算機支持協同工作(CSCW)進行結合設計來實現,并沒有針對交換數據量進行優化,也沒有考慮到態勢標繪信息與沖突處理規則的統一管理與展示。類似本文通過設計一種多機位共享的態勢共享交換文件,從而實現標繪信息最小交換和沖突消解的多人協同標繪方案,目前暫未見到相關研究。
在協同標繪的過程中不僅要檢測識別當前用戶的交互操作,還要識別來自協同服務器的其他用戶的標繪消息。用戶在共享視圖中觸發標繪動作時都會根據當前動作產生一系列的操作描述與標繪請求事件,需要及時交由服務器端對分布式協作請求進行操作同步與數據融合處理。為了滿足多人協同標繪方案的態勢共享和最小消息交換需求,本文在后裝態勢標繪定義文件的基礎上,增添了機位定義、操作定義,以及為沖突消融機制提供處理方案的規則列表,最終設計出了一種服務于后裝綜合態勢應用的共享交換文件模型,如圖1所示。

圖1 態勢共享交換文件模型設計
該態勢共享文件模型遵循通用Web交換標準JSON的規范,在此基礎上定制了后裝態勢圖協同標繪標準模型,其文件內容主要由標繪列表、操作列表、機位列表等模塊組成,共同構成了多機位標繪請求的全局視圖統一描述。
(1)標繪列表。主要存儲態勢地圖上標繪過的圖元,依據最后操作時間倒序排列。每個標繪圖元都包含基本屬性、創建時間、最后操作時間、是否鎖定、鎖定機位、是否顯示等屬性。其中,基本屬性即通用的GIS屬性,如描述物資部署狀態的圖元表達方式,展示效果依賴于底層可視化平臺與標繪指令集。在此基礎之上,附加了其他用于多機位協作的額外的屬性。
(2)機位列表。機位列表包含所有的正在進行協同態勢標繪的機位。每個操作機位的屬性包括基本屬性(機位ID、IP、操作人員等基礎信息)、鎖定圖元以及優先級。
(3)沖突處理規則列表。沖突處理規則列表記錄了在沖突發生時的處理規則。包含左方對象、右方對象,以及其優先級連接符(大于、等于、小于)。規則設計遵循現今常用的Drools規則引擎標準規范,具體規則參數需要參考聯合指揮部對各保障部門的任務配置。
(4)操作列表。操作列表包含歷史操作列表與當前操作列表。歷史操作列表用于版本回溯,存儲在協同標繪時經沖突消解后的有效操作,包括操作圖元、操作時間、操作機位、操作內容等屬性。當前操作列表存儲在當前時刻中所有機位的操作信息。與歷史操作列表不同,當前操作列表中以基礎操作圖元作為對象。因為在實際的協同標繪時,用戶的標繪過程分解后其實是多個圖元的創建、刪除、修改、移動等操作,將這些操作信息以最直接的形式進行存儲,能夠有效地節省傳輸數據以及后臺的轉換時間。另一方面,以操作圖元為對象進行存儲,方便與標繪列表進行一一對應,在標繪數量較大時,方便快速找到對應標繪圖元,有效地提高協同標繪的響應速度。
每一個操作圖元都對應一個或多個標繪操作,每個標繪操作除了標繪內容以外,還應包括操作時間與標繪機位。多機位同一時間對同一個標繪的所有操作以時間正序排列。
根據多機位協同標繪的特點,本文在態勢共享交換文件模型的基礎上提出了以下幾種沖突消解方案。
悲觀鎖機制,指的是對圖元被外界修改持保守態度,在對該圖元的操作過程中,將數據處于鎖定狀態。
當多個機位同時對同一圖元進行編輯操作時,需要態勢共享交換文件的當前操作列表中的圖元下生成一個互相沖突的操作隊列,安裝時間先后順序進行排序。標繪服務器首先查詢該圖元是否已經上鎖,如果沒有上鎖,則獲取隊列中的最前方的標繪操作,對該操作進行處理,并廢棄其他操作,同時發送消息到各個機位上,每個機位收到消息會對于該圖元進行加鎖操作。所有參與協同標繪的其他機位都不能對該圖元以及其相關的圖元進行操作。如該圖元在此之前已經上鎖,則依據隊列依次搜索列表中是否存在對其進行上鎖的機位的操作,如不存在,則廢棄所有操作。如存在,則執行該機位的操作。
這種機制可以有效地解決協同標繪中的沖突問題,但是降低了各個機位的參與度,而且頻繁的加鎖解鎖也會帶來很大的開銷,適合標繪數量較少時使用,如圖2所示。

圖2 悲觀鎖基本流程設計
當多個機位同時對同一個圖元進行操作時,通過發送該圖元的所有請求給操作機位,讓其自行協商處理。具體的流程與上圖類似,不同之處在于在多個機位同時操作同一圖元時,標繪服務器會發送該圖元的當前的所有操作隊列給操作機位,由多機位協商解決并確認單一操作后再進行交換文件的更新。協商機制適用于沖突操作比較少的情況。當沖突較多時,協商次數越多越影響標繪效率。
通過制定一個共同維護的處理規則,用以在沖突發生時,依據制定的規則選擇合適的處理方式。具體流程設計如下:
首先,預先定義態勢共享交換文件的沖突處理規則,規則的定義包括兩個對象及其連接符。
針對不同的沖突,主要分為兩類規則。第一類為不同操作的沖突處理規則,如:更新優先級>刪除優先級。創建優先級>刪除優先級。第二類為同一操作的處理規則,如,機位A的更新優先級>機位B的更新優先級,機位A的更新優先級=機位B的更新優先級,更新操作時間在前的優先級>更新時間在后的優先級。
該優先級列表由所有機位共同確認維護,當有人需要修改優先級時,采用協商機制,由標繪服務器發送消息給所有機位進行協商解決。當發生標繪沖突時,首先獲取該圖元的所有的沖突操作列表,依次對列表依據制定的規則進行判定,確認最終的標繪操作,并舍棄其他無用的操作。如果最后獲取的規則的左右對象連接符不為等號,則采用悲觀鎖機制進行標繪,如果連接符為等號,則采用協商機制進行協商標繪,如圖3所示。

圖3 規則處理基本流程設計
在規則的設計過程中,應該盡可能地減少優先級相等的規則,以減少協商的時間花銷。這種方式結合了以上兩種方式的優勢,但是需要預先制定規則且維護規則,適用于較復雜的需要進行大量圖元標繪的場景。
多人協同標繪的方案支持語音/文本標繪、觸摸手勢標繪、鼠標鍵盤標繪等多種模式進行標繪操作,通過WebSocket發送請求維護標繪服務器上的態勢共享交換文件,而標繪服務器將各個機位的標繪請求進行統一整理后,通過三維平臺繪制圖層進行動態展示,并將新的態勢共享交換文件的變化部分分發到各機位。每次進行信息交換時只交換變化的信息,減少網絡帶來延遲。在協同繪制中產生的標繪沖突,根據態勢共享交換文件的規則列表,進行對應的沖突判斷和沖突消解措施,自行處理或者提醒用戶協商解決,如圖4所示。

圖4 多人協同標繪技術方案
搭建四臺態勢標繪機位與一臺態勢標繪服務器進行測試。每臺標繪機位包括調度與協作信息處理兩個功能模塊。
調度模塊主要負責維護與解析態勢共享交換文件,并與標繪服務器的進行各類信息的交換,更新態勢共享交換文件,并執行相關的處理。
協作信息處理模塊負責接收調度器發送的標繪指令,將它解析成GIS組件可以識別的制圖操作,調用GIS組件完成標繪工作。同時負責監控GIS組件的發生事件(包括制圖命令及該命令改變了的空間實體信息數據),并將它進行包裝,上報到調度器。
最后,搭建標繪服務器,安裝統一調度器模塊。統一調度器負責維護與解析態勢共享交換文件,通過獲取各機位的標繪請求,更新態勢共享交換文件,并執行相關的判斷與處理,進行統一后分發變化的信息至各標繪機位。
(1)制定標繪沖突處理規則。制定的規則如表1所示。

表1 預定義的沖突處理規則
(2)各個機位隨機進行標繪,在標繪過程中,隨機選擇已有的標繪圖元,進行更新操作。
(3)修改其中一個標繪沖突處理規則,將“機位C更新>機位D更新”修改為“機位C更新=機位D更新”,各個機位進行協商通過,然后繼續進標繪。
(4)繪制完畢。
如圖5所示,實驗通過4臺標繪機位仿真演練某次模擬作戰過程所需的戰役保障規劃,結果顯示整個繪制過程耗時5分鐘,標繪過程中各機位配合流暢,繪制沖突的實時消解狀況良好,未發生死鎖與其他意外情況。

圖5 四機位協同進行保障演練實驗的結果示例
本文設計了一種面向多人協同標繪的態勢共享交換文件模型,在保存標繪信息的同時,可以有效地減少協同標繪過程中的信息交換的次數與數據大小,并提供了解決標繪沖突的規則列表。
通過實驗證明,本模型能夠有效地支持多用戶進行實時或異步的地圖標繪、地圖編輯等操作,無縫地交換、協調各軍需、供給或運維部門的物資投送計劃和維保行動,實現了后裝綜合態勢信息交流和感知,實現了跨域背景下聯合保障任務可視化效果,并提高了態勢圖協作規劃的效率。