王玨 林眾
(大連艦艇學院作戰(zhàn)軟件與仿真研究所 大連 116011)
海上編隊包含艦艇、潛艇以及飛機等大量兵力,能夠遂行各種不同類型的作戰(zhàn)任務,需要制定詳細的作戰(zhàn)計劃,這些作戰(zhàn)計劃時間跨度大,包含要素眾多,復雜程度極高,導致海上編隊作戰(zhàn)計劃制定周期大大加長[1~2]。作戰(zhàn)計劃將被分派給多個參謀人員進行制定,最后再進行匯總,經反復迭代后最終形成完整的作戰(zhàn)計劃[3~4]。這就需要為參謀人員提供大量的任務規(guī)劃終端,而這些終端接入作戰(zhàn)網絡后,需要其中的數據能夠高效率與其他終端交互,并且能夠高效率在作戰(zhàn)網絡服務器中匯總,以保證制定的作戰(zhàn)計劃能夠快速匯總為整體作戰(zhàn)計劃[5~6]。
海上編隊作戰(zhàn)任務規(guī)劃數據極端復雜,傳統(tǒng)的人工匯總作戰(zhàn)計劃的方式效率較低,若要實現作戰(zhàn)計劃的高效同步以及匯總,必須使用實時數據同步技術,使得編隊中所包含的復雜作戰(zhàn)數據快速同步[7]。本文提出了基于ECA規(guī)則的實時數據同步技術,該技術建立了唯一的作戰(zhàn)數據轉換標準,并在此標準的基礎上建立了ECA規(guī)則,實現了基于ECA規(guī)則的實時數據同步系統(tǒng)。系統(tǒng)中不同終端的作戰(zhàn)計劃數據能夠自動進行匹配,進而匯總同步,從而大大提高編隊作戰(zhàn)計劃匯總效率,提升編隊作戰(zhàn)能力[8]。
為了在各任務規(guī)劃終端之間實現作戰(zhàn)數據信息的同步,必須建立一種機制,作戰(zhàn)數據轉換標準就是描述作戰(zhàn)計劃中各種數據要素的一種通用語言[9]。該語言具有兩種特性,即可讀性和唯一性,可讀性保證了計算機能夠解讀其中包含的信息,唯一性則避免了歧義。而且該語言能夠保持數據的完整,為多終端實時同步數據打下基礎。作戰(zhàn)數據轉換標準的體系結構分為應用層、邏輯層以及物理層,如圖1所示。

圖1 標準數據的體系結構
這三個層次與數據庫的三級模式相對應。應用層作為最表層,直接與具體應用相關聯,能夠建立作戰(zhàn)計劃數據模型。邏輯層作為中間層,包含了應用以及通用集成資源,能夠產生統(tǒng)一的規(guī)格說明。物理層是最內層,描述了具體的實現形式,包含了數據庫、知識庫以及標準數據訪問接口[10]。
傳統(tǒng)的任務規(guī)劃系統(tǒng)中,作戰(zhàn)數據的操作,包括存儲、修改和刪除等,這些動作主要都是由使用者產生的,而系統(tǒng)的數據庫僅僅是被動地響應操作。基于ECA規(guī)則的海上編隊任務規(guī)劃數據實時同步技術變被動數據庫為智能的主動數據庫。這種數據庫由事件驅動,在特定條件觸發(fā)時,能夠自動觸發(fā)執(zhí)行一些數據操作。ECA規(guī)則是該任務規(guī)劃系統(tǒng)主動數據庫一種控制規(guī)范,由事件(Event,E),條件(Condition,C)和動作(Action,A)三部分構成[11]。ECA規(guī)則將被動作戰(zhàn)數據庫轉變?yōu)橹鲃幼鲬?zhàn)數據庫。該規(guī)則的策略主要是當一個事件發(fā)生后,采用事件監(jiān)視器來捕獲該事件,然后依據由事件、條件和動作有機結合的ECA規(guī)則知識庫進行條件判斷,選擇合適的動作。ECA規(guī)則是作戰(zhàn)任務規(guī)劃主動數據庫的核心,能夠將數據與知識實現分離是其顯著的特點[12]。
基于ECA規(guī)則的海上編隊任務規(guī)劃數據實時同步系統(tǒng)的體系結構如圖2所示,它具有自適應、實時和柔性的特點。
ECA規(guī)則的標準描述可以如下所示:
WHEN(Event)
IF(Condition)
THEN(Action 1)
ELSE(Action 2)OR(NULL)
其含義為當事件(Event)發(fā)生時,如果滿足條件(Condition),則執(zhí)行活動1(Action 1);否則,則執(zhí)行活動2(Action 2)或不執(zhí)行任何活動。其中,事件和條件關系的表達方式是多種多樣的,其中包括常見的或、與、非甚至更加復雜的事件和條件關系。當這些事件、條件以及它們之間的關系觸發(fā)時,在ECA規(guī)則驅動下的主動數據庫就能夠自行觸發(fā)數據交換等特定的數據處理動作,同時,ECA規(guī)則本身能夠根據用戶要求實時地進行更新,滿足不同狀態(tài)下系統(tǒng)對事件和條件響應的要求。
應用ECA規(guī)則可以監(jiān)控任務規(guī)劃系統(tǒng)中各個終端作戰(zhàn)數據的變化,一旦產生數據更新,系統(tǒng)將對其進行識別,而后根據ECA規(guī)則將作戰(zhàn)數據自動實時地傳輸至其他作戰(zhàn)終端的數據庫中,從而完成實時數據同步。基于ECA規(guī)則的實時任務規(guī)劃數據同步系統(tǒng)結構如圖3所示。
系統(tǒng)采用Client-Server(C/S)結構,即服務器負責數據的管理,籌劃終端負責完成與用戶的交互任務。這種結構當中,服務器的作用較多,能夠對管理用戶的訪問權限、數據存儲、數據查詢以及版本控制。各任務規(guī)劃終端能在局域網的基礎上進行實時快速的數據同步,每一個任務規(guī)劃終端由本機任務規(guī)劃系統(tǒng),數據轉換標準,ECA Mediator和實時數據同步組成。籌劃終端的各個作戰(zhàn)要素數據首先被轉換成標準數據格式以方便計算機識別。然后通過ECA規(guī)則辨別數據的更新等事件以及條件,從而驅動自行觸發(fā)數據交換等特定的數據處理動作。當數據處理動作觸發(fā)之后,各終端將相互發(fā)送并接受各自產生的標準實時數據,從而實現作戰(zhàn)數據的實時同步。
1)標準數據轉換構件
每個任務規(guī)劃終端具有完整的功能,是可以脫離作戰(zhàn)網絡獨立的個體,有自己獨立的作戰(zhàn)數據庫。為了實現各個任務規(guī)劃終端所包含的數據自動進行同步,就必須首先把各個終端中的獨立數據進行標準化表示,標準數據轉換構件將自動把作戰(zhàn)數據轉變成標準格式。
標準數據轉換的方式為數據處理構件把各個終端中的作戰(zhàn)數據轉化成同步文件,該文件符合同步結構語法。然后該構件將這些文件讀入并將這些數據解析后輸入其余不同終端。
2)ECA Mediator構件
在數據同步的過程中,ECA Mediator構件能夠自動監(jiān)測并識別數據的更新。該構件根據ECA規(guī)則判斷數據更新這一事件,在實時數據同步過程中,ECA規(guī)則可以有效避免數據的重復傳輸,僅僅將更新的數據實時同步。圖4顯示了該構件的工作流程圖。即作戰(zhàn)數據先進行形式化轉換,再由ECA規(guī)則檢測識別,確認數據更新后進行實時的數據交換。ECA規(guī)則是整個構件的核心技術。

圖4 數據更新的程序流程圖
3)實時數據同步構件
每個終端中實時數據同步構件用來實現數據的實時同步。為了實現數據的實時同步,必須在更新的數據前面加上數據控制字段,形成新的格式。如表1所示。控制段包含三個部分,User ID和實體序列號部分主要起到標識作用。可以保證各任務規(guī)劃終端之間標識的唯一性。詳細來說,某個任務規(guī)劃終端產生了數據更新,實時數據同步構件為其分配一個序列號,每個任務規(guī)劃終端具有自動標識的userID,保證了數據的唯一性。編輯命令部分主要起到控制數據的更新操作。這些操作分為insert(create),delete和modify三類。

表1 標準實時數據同步格式
更新的數據組成了新的數據格式中的數據段,僅僅包含ECA Mediator監(jiān)控的更新數據。數據實時同步時只對這些監(jiān)控到的更新數據進行同步,減少了傳輸流量,作戰(zhàn)數據的同步效率大大增加。
實時數據同步格式產生后,各個任務規(guī)劃終端中的實時數據同步構件則向服務器和其他作戰(zhàn)任務規(guī)劃終端傳輸這些數據。作戰(zhàn)網絡中往往包含多個作戰(zhàn)任務規(guī)劃終端,必須使用某種機制來解決終端間傳輸的沖突。本文使用了一種基于鎖的并發(fā)控制機制:
1)當某作戰(zhàn)任務規(guī)劃終端發(fā)送指令時,該作戰(zhàn)籌劃終端則被設定為busy狀態(tài);另一狀態(tài)為free。
2)系統(tǒng)對作戰(zhàn)網絡中的其它作戰(zhàn)任務規(guī)劃終端狀態(tài)進行監(jiān)控。
3)系統(tǒng)根據其余作戰(zhàn)任務規(guī)劃終端的狀態(tài)來執(zhí)行動作,若某作戰(zhàn)任務規(guī)劃終端狀態(tài)為free,則為其傳輸更新的數據;如果某作戰(zhàn)任務規(guī)劃終端的狀態(tài)為busy,數據傳輸則被停止,但數據本身將被存儲至數據庫,當終端狀態(tài)轉變?yōu)閒ree時,上述數據傳輸則繼續(xù)進行。
4)當第一個作戰(zhàn)任務規(guī)劃終端完成更新數據的傳輸后,其原有的busy狀態(tài)將會轉變?yōu)閒ree狀態(tài),使得該終端能夠繼續(xù)接受其他終端的更新數據。
基于ECA規(guī)則的實時數據同步技術可以成功實現作戰(zhàn)任務規(guī)劃數據的實時同步,過程如下:
1)指揮人員通過便攜式終端在異地對同一作戰(zhàn)任務進行規(guī)劃,而后將便攜式終端鏈接至作戰(zhàn)網絡,通過作戰(zhàn)會議形成統(tǒng)一的作戰(zhàn)計劃;
2)指揮人員修改作戰(zhàn)計劃,終端中的數據轉換構件將作戰(zhàn)計劃數據進行形式化的標準轉換;
3)該終端的ECA Mediator依據ECA規(guī)則監(jiān)控更新數據,僅僅將更新的數據傳輸至實時數據同步構件;
4)實時數據同步構件生成標準實時數據同步格式,然后向作戰(zhàn)網絡和其他作戰(zhàn)任務規(guī)劃終端傳輸該數據;
5)作戰(zhàn)網絡和其他任務規(guī)劃終端根據ECA規(guī)則接收更新的數據,將形式化的標準數據保存在作戰(zhàn)網絡數據庫和終端自身的數據庫中;
6)其他終端中的標準數據轉換構件對更新的形式化標準數據進行轉換,并存儲至自身數據庫。
海上編隊航渡作戰(zhàn)主要由水面艦艇、潛艇以及各種飛機組成了某航渡作戰(zhàn)隊形,其中分為空中、水面等部分。指揮人員通過接入作戰(zhàn)網絡控制航渡隊形同步。以兩個指揮人員使用作戰(zhàn)任務規(guī)劃系統(tǒng)同時接入作戰(zhàn)網絡進行數據同步為例來說明上述過程。作戰(zhàn)網絡中編隊航渡隊形僅包含指揮艦本身,如圖5所示。指揮人員A和B分別用自身的任務規(guī)劃終端對某作戰(zhàn)隊形進行規(guī)劃,指揮人員A負責隊形的空中兵力部分,如圖6所示。指揮人員B負責隊形的水面兵力部分,如圖7所示。雙方希望將對方的空中、水面部分同步至自己的終端以查看最終的隊形,同時將最終的隊形匯總至作戰(zhàn)網絡,指揮員A與B終端的ECA Mediator監(jiān)控和識別作戰(zhàn)隊形變化,數據轉換構件對A與B終端中的空中兵力部分和水面兵力部分的更新數據進行形式化的標準轉換。實時數據同步構件生成標準實時數據同步格式,然后向作戰(zhàn)網絡和其他作戰(zhàn)任務規(guī)劃終端傳輸該數據,作戰(zhàn)網絡終端以及雙方自身終端最終的隊形如圖8所示。

圖5 作戰(zhàn)網絡中原有作戰(zhàn)隊形

圖6 作戰(zhàn)隊形空中兵力部分

圖7 作戰(zhàn)隊形水面兵力部分

圖8 總體作戰(zhàn)隊形
基于ECA規(guī)則的海上編隊任務規(guī)劃數據實時同步技術建立了基于ECA規(guī)則的實時數據同步架構,由作戰(zhàn)網絡、數據庫以及多個任務規(guī)劃終端組成。定義了標準實時數據同步格式;應用了一種基于鎖的并發(fā)控制機制來消除數據傳輸沖突;設計了實時數據同步中的ECA規(guī)則。該技術能夠保證作戰(zhàn)網絡上的數據傳輸只包含更新的數據,避免了傳輸無用的重復數據占用帶寬,最終實現多終端作戰(zhàn)方案的實時自動同步,提高了任務規(guī)劃效率,提升了作戰(zhàn)指揮控制能力。