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