方 偉 徐 濤 閆文君 凌 青
(海軍航空大學信息融合研究所 山東 煙臺 264001)
近年來,分布式交互仿真[1-4]技術在模擬訓練[5]、作戰實驗、裝備試驗等各個領域得到了廣泛的應用,貫穿了項目需求分析、技術驗證、生產研制、效能評估等各個層次。同時,隨著信息技術的不斷發展,分布式仿真系統規模不斷擴展,運維管理[6-8]難度不斷增加,面向分布式仿真系統,利用自動化工具對系統的運維過程進行管理,是提升分布式系統運行效率的重要手段。運行監控工具[9-11]作為運維管理工具的重要一環,其核心是在嗅探分布式運行環境的基礎上,對各個仿真節點進行人工/自動控制,自動捕獲仿真節點,為運維管理工具輔助決策提供支持。
運維管理系統由仿真部署工具、運行監控工具、數據記錄工具和節點運行狀態分析工具等4個部分組成,在網絡通信中間件[12-13]的支持下,共同完成從分布式仿真系統環境準備、運行到評價全過程的控制,其功能結構如圖1所示。

圖1 運維管理系統功能結構圖
仿真部署工具以運維管理庫中仿真構件作為輸入,依據任務需求和仿真節點計算能力等,通過分布式環境下的各節點遠程代理,將仿真構件部署至各節點計算機,并形成分布仿真運行環境描述文件。
運行監控工具以分布仿真運行環境描述文件為輸入,通過對分布式環境下各節點的嗅探,確定運行環境與部署環境間的一致性,并通過各類控制指令完成對各仿真節點的控制,并提供運行狀態數據為節點運行狀態分析工具提供支持。
數據記錄工具在運行階段持續對各仿真節點產生的數據進行收集、整理與存儲,一方面為回放提供數據源支持,另一方面為節點運行狀態分析提供數據支持。
節點運行狀態分析工具以運行狀態數據、仿真數據和硬件資源數據為主要輸入,對分布式環境下計算資源分配情況進行分析,并以時間序列為基礎,對分布式環境下各節點故障情況進行分析。
運行監控工具基于TCP/IP網絡傳輸協議,通過在各仿真節點部署遠程代理實現對分布式環境的運行與監控,遠程代理隨著系統的啟動自動運行,常駐于后臺,完成各類控制命令的執行和信息采集。其功能如圖2所示。

圖2 運行監控工具功能圖
1) 運行監控工具:
該工具部署于服務器端,是分布式仿真環境的總控制端口,其具備節點嗅探、命令發送、數據匯集和輔助分析等功能。運行監控工具運行界面如圖3所示。

圖3 運行監控工具運行界面
(1) 節點嗅探:完成分布系統內各仿真節點啟動情況、在線情況的監視。
(2) 命令發送:依據人機界面操作,形成各類控制指令,通過網絡傳輸通道向仿真節點發送計算機管理、任務管理、狀態查詢等各類控制命令。
(3) 數據匯集:接收來自遠程代理的反饋狀態數據,并依據不同數據類型,傳遞給人機界面進行顯示,同時對匯集的數據進行存儲。
(4) 輔助分析:基于遠程代理反饋的硬件實時性能數據、軟件運行狀態數據等,形成數據文檔及初步分析報告,后期為節點運行狀態分析提供支持,進而優化軟件性能,以及構件部署。
2) 遠程代理:
該軟件部署于各仿真節點計算機,通過被動和主動兩種模式完成對仿真節點的控制。被動模式主要是通過運行監控工具發送的控制命令觸發其行為,完成任務啟動/關閉、計算機關機等各類行為;主動模式主要由遠程代理自發執行,其周期性對任務運行狀態、硬件資源使用等情況進行收集,并通過網絡傳送給運行監控工具。遠程代理運行界面如圖4所示。

圖4 遠程代理運行界面
運行監控工具采用C/S架構、組件化[14]思想進行設計,各組件功能獨立,耦合度低,為運行監控工具、遠程代理等平臺軟件提供可靠服務,主要由節點管理、網絡通信、資源管理、命令管理、狀態監控、輔助分析和人機界面等組件組成,如圖5所示。

圖5 運行監控工具結構組成
由圖5可以看出,網絡通信組件和命令管理組件是運行監控工具和遠程代理的共性組件,共同完成了雙方的數據交互與命令處理。人機界面組件依據不同業務需求特點進行設計,實現人機交互操作入口和數據的多形態表現;節點管理組件實現服務器對各仿真節點的統一控制;資源管理組件完成對仿真節點計算機、任務、硬件使用等全面控制與管理;狀態監控組件實現對各類資源狀態的實時監視;輔助分析組件基于狀態監視數據對各節點狀態數據進行采集,形成初步分析報告。
節點管理組件主要對指定IP地址范圍內的仿真節點進行搜索,搜索到的IP地址即表征一個仿真節點的存在,并向運行監控工具返回節點IP地址、端口號、主機名稱、MAC地址等基本信息,未返回狀態的IP地址經一段時間延遲后認為該IP地址無效,最終對搜索到的全部IP地址進行信息分類并存儲于內存。
考慮到遠程代理啟動順序、網絡質量等方面的原因可能導致部分仿真節點無法及時被運行監控工具所捕獲,為確保節點搜索質量,節點管理組件采用三種策略進行節點搜索,如圖6所示。

圖6 節點搜索策略
(1) 自主搜索:由運行監控工具觸發,按照IP地址范圍采用廣播、點播相結合的方式向部署遠程代理的仿真節點進行搜索,并反饋搜索結果。
(2) 二次自主搜索:利用仿真部署工具明確的分布仿真運行環境IP地址范圍,與采用自主搜索獲取的結果進行對比,明確未響應節點,對該節點以點播的形式進行指定次數的二次搜索,獲取仿真節點狀態。
(3) 主動反饋:仿真節點啟動后,在網絡通信組件和服務器描述文件的支持下,主動向運行監控工具上報節點狀態信息。
仿真節點完成與運行監控工具間的基礎連接后,仿真節點將對內部服務器描述文件進行修改,以重新建立服務器描述信息。
命令管理組件是運行監控工具完成對各仿真節點全面控制的基礎指令。其基本流程是:運行監控工具確定控制對象,確定命令類型,確定命令參數,發送具體命令。遠程代理接收控制命令,解析控制命令,執行控制命令,回傳執行結果。命令類型如表1所示。

表1 命令類型及其參數描述
命令管理模塊在控制字結構上主要采用四段結構,即節點IP、控制命令、源路徑和目標路徑。其中:節點IP為受控節點IP地址,空表示對全部節點進行統一控制;控制命令即表1中明確的各類命令;源路徑為控制命令的具體參數;目標路徑為仿真節點處理所需的參數信息。
需要注意的是,啟動計算機命令主要通過網卡喚醒的方式實現,其與遠程代理無任何形式的交互。為阻斷任務系統與運行監控工具間的耦合,降低任務系統開發難度,任務狀態查詢、任務運行、任務暫停等功能主要通過調用Windows底層服務實現,其中,任務狀態的查詢可對任務的響應性進行判斷,并在桌面捕獲命令的支持下,對軟件運行狀態進行分析。持續監視命令能夠完成指定節點IP或全部仿真節點任務運行狀態、硬件資源使用信息、節點桌面等信息全面的監視。
遠程代理在接收到上述命令后,通過調用資源管理組件提供的服務,完成相關信息的獲取,并根據信息類別,利用TCP/UDP等通信方式向運行監控工具上報由命令字、狀態字和數據信息等內容組成的各類結果。運行監控工具通過對各類結果的接收、分類和記錄等處理過程,以圖、表等形式對信息內容進行顯示。
狀態監控組件部署于遠程代理端,其核心是對仿真節點任務運行狀態、硬件資源使用情況等信息進行采集,并利用網絡通信組件完成上報。采集上報方式包括:自動化采集,該模式由預先設定的數據采集周期,遠程代理自動對各類資源數據進行采集,對狀態發生變化的數據進行上報;應答式采集,該模式主要由運行監控工具觸發,遠程代理完成相應任務。狀態監控報告如表2所示。

表2 狀態監控報告
輔助分析組件部署于運行監控工具端,主要通過接收來自狀態監控組件回傳的數據,形成滿足節點運行狀態分析工具所需的數據集和輔助分析報告。
1) 分布環境運行數據集:分布環境運行數據集主要對來自遠程代理的各任務運行狀態、硬件資源實時使用情況等數據采用標準的XML格式進行分類存儲。其中任務運行狀態數據主要以每個任務為基礎記錄任務ID、名稱、內存占用率、CPU占用率以及狀態(尤其是故障狀態)等;硬件資源實時使用情況主要以每個節點計算機為基礎記錄CPU使用率、內存使用率、網絡使用率等。
2) 輔助分析報告:輔助分析報告以分布環境運行數據集為基礎,重點對任務運行狀況和負載均衡[15]等進行初步分析,并以Word文檔的形式輸出報告內容。其中,任務運行狀況重點采集任務執行過程中出現故障、崩潰和負載率較高的時間點、狀態和回傳的桌面圖像,通過與運維管理系統中獲得的任務內部交互數據時間點配合,檢查任務執行在分布式環境中由于其他系統數據輸入導致任務失敗的原因;負載均衡重點采集節點計算機硬件資源實時使用狀況,結合任務執行過程中采集到的運行在該節點計算機上的全部任務軟件對資源的使用情況等,從負載平衡的角度分析該節點計算機的負載能力以及任務部署建議,后可依據負載均衡分析報告內容,結合仿真部署工具對資源進行重新調整,達到分布運行環境的優化。
綜上所述,運行監控工具作為運維管理系統的組成部分具有以下特點:
1) 從分布式仿真系統的負載均衡分析的角度出發,在運行監控工具內部設計了輔助分析功能,綜合利用節點計算機性能、任務執行對計算機資源需求量等因素,對節點計算機負載情況進行分析,提出任務部署建議,為優化運行環境提供了支撐。
2) 從運行監控工具與具體應用無關,對交互數據進行分類,并封裝了網絡通信接口,確保了主從端數據的有效交互。
3) 采用組件化設計思想和標準的數據交互格式,圍繞運行監控需求,通過對TCP/IP協議在網絡通信層和命令管理層的封裝,并利用一對多的數據通信方式,確保了主從端數據可靠、有效的交互。
4) 采用自主搜索、二次自主搜索和主動反饋等三種節點嗅探機制,確保了仿真節點的可靠管理。
5) 科學合理規劃運行監控工具在運維管理系統中的功能定位,隔離工具與具體應用關聯,進一步擴展了工具在模擬訓練、作戰實驗、裝備試驗等各類分布式仿真系統中的應用。