周隆亮 徐云鵬 鄧宗平



摘? 要:面向裝備體系化運用研究亟須統一共用、開放共享的仿真環境需求,文章提出一種基于云計算的仿真環境構建方案,采用云計算領域最新的Docker容器虛擬化技術,按資源層、基礎服務層、應用服務層、應用層分層構建云仿真環境,設計便于部署運維的仿真應用微服務架構,形成可一致訪問、按需服務的體系任務仿真平臺,最后給出了體系任務仿真平臺的優化建議。
關鍵詞:體系仿真;Docker;微服務架構
中圖分類號:TP391.9? ? ? 文獻標識碼:A 文章編號:2096-4706(2020)17-0082-04
Abstract:The unified and open sharing of simulation environment is in urgent need,which is used to research on the systemic application of equipment. This paper proposes a simulation environment construction scheme based on cloud computing,which used the latest Docker container virtualization technology,The cloud simulation environment is construct according the resource layer,the basic service layer,the application service layer and the application layer. The micro-service architecture is designed to facilitate the deployment of operation and maintenance,so as to form a uniform access and on-demand service systems mission simulation platform. Finally,some optimization suggestions of systems mission simulation platform are given.
Keywords:systems simulation;Docker;micro-service architecture
0? 引? 言
近年來,隨著美軍的Suter、NIFC-CA等體系化作戰系統的建設,并逐步應用于實戰,大幅提升了作戰能力,裝備的體系化運用起到了作戰效能倍增器的作用,正逐步成為聯合作戰不可或缺的關鍵要素。
與單裝的作戰應用研究相比,裝備的體系化運用必然面臨要素多樣化、規模擴大化、關系復雜化等問題,需要裝備論證、裝備研制、裝備試驗鑒定、裝備作戰應用研究等相關方參與進來,基于統一的環境開展聯合研究,如圖1所示。
采用實裝試驗的方式進行裝備體系化運用研究面臨著組織協調難、周期長、成本高以及影響因素不可控等諸多問題。而在數字空間構建裝備的仿真模型開展仿真試驗,有助于快速掌握集成運用能力底數、驗證戰術戰法、支撐作戰效能評估,是裝備體系化運用重要的研究手段。
傳統的仿真模式一般基于局域網構建仿真驗證環境,仿真引擎和仿真模型等都獨立建設,數據格式和集成規范都自成體系,模型、數據資源的復用難度大,難以滿足跨地域、多家單位開展聯合研究的需求,亟須尋求新的仿真模式,統一聯合研究環境,建立模型和數據的共建共享機制。
近年來,云計算技術已在互聯網領域廣泛應用,它將計算、數據存儲、應用軟件等資源作為服務通過網絡提供給用戶,這些資源能夠快速被發現,呈現出按需分配、彈性計算和資源池化的特性,形成了基礎架構即服務、平臺即服務、軟件即服務等多種服務模式。
借鑒云計算的理念,基于專用網絡搭建云計算環境,部署體系任務仿真應用,為用戶提供仿真服務,并在云上建立具有訪問權限控制的數據中心,建立數據共享機制,形成統一共用的裝備體系任務云仿真平臺,可有效解決裝備體系化運用聯合研究面臨的問題。
筆者在工作中亟須構建一個支持多方參與,可按需獲取仿真服務,且具備模型共享能力的仿真環境,為裝備體系化運用提供仿真研究環境,傳統的基于局域網構建的仿真系統已難以適應新的需求,而云計算的技術優勢恰恰可以較好地滿足應用需求,筆者創造性地將仿真技術和云計算技術結合,基于云計算最新一代的Docker容器虛擬化技術,遵循微服務架構設計原則,開展體系任務仿真平臺的架構設計,并搭建了原型系統,驗證了技術可行性。
1? Docker虛擬化技術
虛擬化技術是云計算的基礎技術,是實現資源抽象、隔離、解耦、封裝的基礎。傳統的虛擬機虛擬化方式,僅能實現操作系統級粒度的虛擬化,而近年來以Docker為代表的容器虛擬化技術,可以實現更為細粒度的軟件應用級虛擬化。
如圖2所示,傳統方式在硬件層面實現虛擬化需要有額外的虛擬機管理應用和虛擬機操作系統層;如圖3所示,Docker容器是在操作系統層面上實現虛擬化,直接復用宿主機的操作系統,因此更加輕量級。
Docker虛擬化與傳統方式的虛擬化特性[1]對比如表1所示。
正是由于Docker虛擬化技術突出的優點,使云計算從傳統方式虛擬化條件下以操作系統為中心,重點關注硬件自動化管理,人與機器的解耦合,提高資源利用率發展到了以應用為中心的新階段。重點解決應用的自動化管理,應用與操作系統的解耦;基礎設施、應用交付、運維管理的標準化;獲得彈性擴展、彈性伸縮、負載均衡、故障遷移、敏捷開發、持續交付、持續集成等問題,提升用戶體驗。
2? 微服務架構
微服務架構是軟件架構朝著靈活動態伸縮和分布式架構發展的一個重要方向,而容器虛擬化的日趨成熟,大大降低了微服務實施的成本,能最大限度地發揮微服務架構的優勢。
微服務架構相比傳統的單體應用架構的優勢主要體現在單個服務復雜度可控、技術選型靈活、不同的服務可選擇適合的技術體制,各服務部署環境獨立,容錯性好,便于擴展[2]。微服務架構的劣勢在于微服務架構的應用是分布式應用,各微服務獨立運行在不同的進程中,需要有進程間通信機制來支撐服務間通信,較之于單體應用架構,會增加大量的信息交互成本,加大部署集成的問題追蹤難度;隨著微服務數量增加,應用系統的管理復雜性也將增加,服務的多實例部署時,還需要額外的服務發現機制,使服務可被準確訪問。
所以,需根據應用需求合理劃分微服務,并不是劃分的越多越好、越細越好,而是在發揮微服務架構的優勢情況下,將微服務的規模控制在合理的范圍,減小服務間的信息交互成本,降低服務集成的復雜度。
3? 體系任務仿真平臺設計
3.1? 體系任務仿真平臺體系架構
體系任務仿真平臺主要包括云基礎設施、云管理環境和仿真應用三個部分。其中,云基礎設施是計算服務器、磁盤陣列、網絡交換機等硬件資源;云管理環境可理解為云操作系統,提供云環境可正常運行的資源管理、用戶管理以及應用管理等基礎環境,為用戶隔離底層具體實現,提供管理和運維的平臺;仿真應用面向用戶具體的任務需求,在云環境中部署、運行,為用戶提供仿真驗證服務。
體系任務仿真平臺遵循分層構建的思路[3,4],如圖4所示,劃分為資源層(IaaS),基礎服務層(IPaaS)、應用服務層(APaaS)和應用層(SaaS)。
資源層(IaaS):實現對計算資源、存儲資源、網絡資源、模型資源、數據資源的抽象和統一管理,便于被上層服務發現和使用。
基礎服務層(IPaaS):云環境中的公共基礎業務,包括用戶管理、鑒權服務、負載均衡、通信服務等,是云環境可正常運行的基礎。
應用服務層(APaaS):面向特定的用戶應用需求,定制開發的應用,典型包括:用戶管理中心、資源管理中心、應用管理中心、仿真應用服務。
應用層(SaaS):面向用戶定制的人機交互工具,體系仿真平臺考慮構建統一的平臺門戶,讓各類用戶以統一的方式使用仿真服務,針對不同類別的用戶定制特定的仿真應用工具,滿足用戶的差異化需求。
3.2? 仿真應用的微服務架構
體系任務仿真平臺的基礎設施和云管理環境的構建均可采用互聯網領域成熟的解決方案,大量的基礎服務均可采用開源軟件。因此,體系任務仿真平臺建設關鍵是要對仿真應用進行微服務改造,滿足在Docker容器云環境部署運行要求,降低運維難度。
體系任務仿真軟件在業務流程上可以劃分為:模型維護、想定生成、系統部署、仿真推演和監視控制幾個階段,如圖5所示。模型維護階段,主要開展模型入庫、模型組裝,為想定編輯提供模型庫信息、模型描述信息、兵力信息支撐;想定生成階段,用戶基于特定的仿真任務,制作想定文件或實驗方案;系統部署階段,根據待推演想定,部署模型計算調度系統;仿真推演階段,按照仿真想定,驅動模型狀態解算;監視控制階段,查看實時態勢,分析對抗過程。
結合體系任務仿真平臺業務功能劃分,遵循不同功能獨立解耦,相似功能聚合的原則,將業務流程中的功能項,映射為具體的服務,實現仿真應用的微服務劃分,如表2所示。
微服務的劃分沒有統一的標準,需綜合考慮業務特點、運維難度、集成規模等因素,甚至可能在系統使用后,再次重構,迭代優化。
3.3? 體系任務仿真平臺運行架構
各類用戶訪問體系仿真服務都通過統一的平臺門戶登錄,用戶登錄時,根據用戶信息完成鑒權,確定各類用戶的訪問權限。
在云環境中為每一個用戶分配獨立的資源空間,用戶可維護私有的仿真模型和用戶數據,保證用戶數據的安全隔離,同時也支持用對數據設定一定的共享權限,實現不同級別的共享訪問控制。
用戶通過訪問云環境的應用管理中心,在云上部署運行仿真系統實例,用戶退出登錄后,銷毀用戶相關的仿真資源。
體系任務仿真平臺的運行原理如圖6所示。
用戶訪問仿真前端后,進行想定編輯等操作生成仿真想定,仿真想定統一由場景設計服務進行管理;用戶在下發仿真運行的仿真控制命令后,任務推演服務向場景設計服務請求需要運行的仿真想定,并分發給模型管理調度服務完成仿真模型加載等初始化工作,任務推演服務作為仿真引擎,按節拍周期驅動仿真計算;模型管理調度服務將實時解算的模型狀態數據推送至態勢生成服務,由態勢生成服務分析處理,形成態勢數據,刷新仿真前端的態勢顯示。
4? 體系任務仿真平臺優化建議
(1)構建完善的安全體系,保證數據的安全。云計算給用戶提供資源共享、靈活便利的訪問服務、按需獲取資源的能力,體現出開放性和共享性的特點,同時也面臨諸如數據丟失、泄露、服務竊取等安全問題。不僅要保證物理設施安全,包括機房環境、通信線路、設備和電源等,具有災難備份和恢復的能力;還要建立完善的用戶認證和訪問管理機制,用戶在訪問服務和數據時必須首先鑒權,鑒權通過才能執行訪問,保證用戶具有獨立的數據資源空間。
(2)構建對等的離線集成聯試環境,保證仿真模型開發聯試效率。體系任務仿真平臺遵循微服務架構進行服務劃分,并在云環境中部署,運行狀態監控依賴運行日志,因此,利用云環境進行仿真模型的集成聯試不具可操作性。為保證仿真模型的開發集成效率,必須構建對等的離線集成聯試環境,支持模型的斷點跟蹤調試,提升效率。
(3)持續推進模型優化。模型是仿真系統的靈魂,設計開發體系任務仿真平臺的初衷就是要打破仿真系統獨立設計、仿真模型獨立開發,模型資源和仿真結果無法共享,難以構建聯合研究機制的現狀,所以,必須建立完善的仿真模型的注冊、更新、退出、模型發現機制,持續優化模型,才具有生命力。
(4)持續提升云平臺的性能,除了關注仿真應用本身的功能豐富完善,還需要持續改進高并發訪問、負載均衡、資源分配調度、廣域訪問性能,提升用戶體驗。
5? 結? 論
本文面向裝備體系集成化運用的仿真推演需求,結合云計算的技術優勢,設計了支持云化部署的體系任務仿真平臺,解決裝備體系化運用聯合研究無統一環境,模型數據無共享機制的問題,探索數字仿真的新模式。目前已構建原型系統,驗證了技術可行性,基于實踐給出了后續的優化建議。云仿真是未來仿真的發展的趨勢,也是一項需要投入精力持續研究的事業。
參考文獻:
[1] 楊保華,戴王劍,曹亞侖.Docker技術入門與實戰 [M].北京:機械工業出版社,2015:6-8.
[2] 黃小鋒,張晶.微服務框架介紹與實現 [J].電腦與信息技術,2016,24(6):14-16.
[3] 李潭,李伯虎,柴旭東.面向云仿真的層次化仿真服務描述框架 [J].計算機集成制造系統,2012,18(9):2091-2098.
[4] 李伯虎,柴旭東,侯寶存,等.一種基于云計算理念的網絡化建模與仿真平臺——“云仿真平臺” [J].系統仿真學報,2009(17):5292-5299.
作者簡介:周隆亮(1987—),男,漢族,四川達州人,工程師,碩士研究生,主要研究方向:裝備系統仿真;徐云鵬(1992—),男,漢族,江蘇溧陽人,助理工程師,碩士研究生,主要研究方向:仿真及態勢展現;鄧宗平(1988—),男,漢族,四川成都人,助理工程師,碩士研究生,主要研究方向:云計算、云仿真技術。