?

云協同中作戰資源兩階段虛擬化方法

2018-04-26 07:30孫海洋
系統工程與電子技術 2018年5期
關鍵詞:適配器數據流調用

孫海洋, 張 安, 高 飛

(1. 西北工業大學電子信息學院, 陜西 西安 710129;2. 西北工業大學航空學院, 陜西 西安 710072)

0 引 言

隨著云計算、Web服務和面向服務架構的快速發展,軍事領域出現了一種網絡化作戰的新模式——云協同。云協同立足于解決網絡中心戰發展過程中的兩個問題——資源整合問題和服務模式問題,它將作戰資源以云服務的形式進行虛擬化,構成一個龐大的資源池,使得所有資源不僅可以“分散資源集中使用”,還能做到“集中資源分散服務”[1]。

由于作戰資源具有分布性和異構性,控制方式、數據格式等均相互獨立,難以實現它們的共享。為了對作戰資源進行集成,實現資源共享,須將它們以統一的形式虛擬化為可發現、可組合、可調用的云服務,并采用面向服務的架構,將作戰資源按需動態分配給使用者。因此,作戰資源的虛擬化是云服務組合、搜索和執行的前提。

目前,關于云協同中作戰資源的虛擬化方法研究較少。文獻[2]提出了一種基于模板的作戰資源虛擬化方法,設計了作戰資源適配器,將云服務的接口分為部署接口、管理接口和監聽接口,所提出的作戰資源云服務模板包括作戰資源描述模板和作戰資源實現模板。該虛擬化方法更加側重于對作戰資源屬性的封裝,而忽略了作戰資源協同方式的封裝,雖易于云協同中心管理云服務,但不易于組合云服務內各原子云服務間的協同作戰。

目前,相關學者在云制造中關于制造資源的虛擬化方法研究較多。文獻[3]提出了云制造資源虛擬化框架并對其關鍵技術進行了研究。文獻[4]提出了一種基于物聯網和云計算技術的服務封裝和虛擬接入模型,在此基礎上設計了傳感器管理、實時感知制造信息、服務封裝、注冊和發布等方法。文獻[5]提出了一種制造設備資源封裝方法,通過對資源進行分類和形式化描述,并構建虛擬化類模板,來完成對制造設備資源的封裝。文獻[6]提出了一種針對制造資源和能力進行封裝的方法,包括制造資源建模和制造云服務虛擬化兩個階段。

然而,云制造中的虛擬化技術不能直接應用于云協同中。云制造側重于發現和使用異構的制造資源,對各制造資源間的協同要求不高;而在云協同中,作戰任務的完成與作戰資源間的協作密不可分,因此作戰資源的虛擬化不僅要包含資源的屬性封裝,更要對作戰資源的協同方式進行封裝。

本文在云制造虛擬化相關技術的基礎上,提出了基于接口和事件驅動架構的作戰資源虛擬化方法,實現了云服務間的高效協同,并給出了服務的組合方法和執行方法。

1 作戰資源虛擬化過程

作戰資源在云協同系統中以3種形式存在:物理資源、虛擬資源和云服務。物理資源是作戰資源最直接的表現形式,是對作戰資源可實現的功能和實現這些功能的途徑的直接體現;虛擬資源代表作戰資源的能力,是對作戰資源能力和接口的封裝,它屏蔽了作戰資源的異構性,將其訪問接口、可生產的事件和可消費的事件暴露出來,使外部可訪問;云服務是對虛擬資源的服務化的結果,定義了作戰資源的網絡服務描述語言(web services description language,WSDL)文件,可在云協同資源池進行注冊,可以與其他云服務進行組合并接受服務使用者的服務請求等。

本文設計了如圖1所示的作戰資源虛擬化框架,該虛擬化框架包括3個層次,即物理資源層、虛擬描述層和服務封裝層。這3個層次分別對應于云協同中作戰資源存在的3種形式。

圖1 作戰資源虛擬化框架Fig.1 Framework of virtualization of combat resource

虛擬化是指對作戰資源的能力進行封裝,并通過一定方法,將該能力發布、注冊于云協同資源池,并可為服務使用者調用[7]的過程,如圖2所示。

圖2 資源、虛擬資源、云服務Fig.2 Resource, virtual resource and cloud service

作戰資源的虛擬化主要包含兩個步驟:第一,對作戰資源進行功能化封裝,從作戰資源的能力出發,抽象出其能提供的接口、生產的事件和提供的數據流;第二,對作戰資源模型進行服務化封裝,利用服務適配器,將作戰資源的屬性、接口、事件和數據流等信息以WSDL協議進行描述,并以統一描述、發現與集成(universal description, discovery and integration,UDDI)協議在云協同資源池進行注冊,并對云服務的執行提供支持。

1.1 功能化封裝

作戰資源的功能化封裝是服務提供者使用計算機可讀的語言對作戰資源進行抽象和描述,它屏蔽了作戰資源的異構性,使作戰資源可對外將提供的能力暴露出來,是服務化封裝與發布的基礎。

從封裝的內容來說,在云協同系統中,功能化封裝包括作戰資源屬性的封裝和協同方式的封裝。作戰資源屬性的封裝是對作戰資源能力的描述,包括靜態屬性、動態屬性和使用屬性,可利用作戰資源云服務模板來定義不同種類的作戰資源[1];協同方式的封裝是指對作戰資源與其他作戰資源協同執行任務的方式的封裝。服務之間的協同通過信息交互實現,信息交互按照類型分為遠程調用、事件通知和數據流。遠程調用通過接口實現,即作戰資源間通過明確地相互調用,實現協同;事件通知通過事件驅動架構實現[2],云服務間通過生產和消費事件實現協同,它們之間不必明確地調用,耦合性低于接口;數據流通過建立數據流通道實現,適用于云服務間的長連接協同。因此,對協同方式的封裝需要包含對調用接口、事件和數據流的封裝。

具體來說,功能化封裝主要指對作戰資源如下信息進行封裝:

(1) 作戰資源能力屬性信息。服務提供者對作戰資源的能力進行描述,包括靜態屬性、動態屬性、使用屬性和部署屬性。表示為p={Type,StaticPro,DynamicPro,UsingPro,DeploymentInfo}[1]。

(2) 作戰資源可提供的接口。接口是對作戰資源功能的封裝,明確了資源提供的能力,并明確了訪問方式。作戰資源按照功能劃分可封裝為若干個接口,每個接口由若干個操作方法組成,每個操作方法均包含若干輸入參數和輸出參數。接口可表示為int={intName,method1,method2,…,methodn},其中,methodi為接口提供的操作方法,表示為methodi={methodName,inPars,outPars},其中,inPars表示操作方法的輸入參數,outPars為輸出參數。

(3) 作戰資源可生產和可消費的事件。已有學者將面向服務的架構與事件驅動架構進行了組合[8],因此本文提出將事件驅動架構(event driven architecture, EDA)引入云協同來實現云服務間的協同。在作戰活動中,作戰資源可以探測到外部的一些事件(如發現目標或敵方有所行動等),而該作戰資源本身無法對這些事件進行處理(如雷達站無法自行對目標實行攻擊)。此時,作戰資源便可將這些事件發送給其他作戰資源,并由其他作戰資源處理。因此對作戰資源關于事件的封裝包括兩個部分,即作戰資源可生產的事件和作戰資源可消費的事件。

事件由事件名稱和一組包含屬性名和屬性值的鍵值對組成,可以表示為e={eventName,〈a1,v1〉,〈a2,v2〉,…,〈an,vn〉},其中,eventName表示事件名稱,ai表示屬性名,vi表示屬性值。如感知資源可產生的發現目標的事件可由{evTargetDetected,〈id,43 409〉,〈longitude,122.533 256〉,〈latitude,32.653 295〉,〈velocity,40 m/s〉}表示。

(4) 作戰資源可產生和消費的數據流。作戰資源間的遠程調用和事件是短連接,對于需要長連接的服務請求(如視頻、音頻信息)可用數據流表示。由于數據流格式多樣,甚至是二進制數據,故無法將這些數據以統一格式進行封裝。因此,本文以數據格式作為數據的描述信息來對數據的異構性進行區分。作戰資源可生產和消費的數據表示為:ds={dsName,dsCatagory,dsFormat,dsProperty}。其中,dsName為數據名,dsCatagory為數據種類,dsFormat為數據格式,dsProperty為數據的品質屬性。

接口、事件和數據流都是對協同方式的封裝,但它們的應用場景是不同的。

接口調用是一種遠程調用方式,調用方需顯式地調用被調用方中接口的某一具體操作,須指定調用接口統一資源定位符(uniform resource location,URL)地址和操作方法名稱,并對必要的參數進行賦值。接口調用可心是單向的,也可以是雙向的。接口調用是一對一的調用,若對多個云服務的相同接口進行調用須分別調用。接口調用方式適用于云服務間聯系密切,調用方式相對固定的情形。

相比于接口,事件的生產者不知道事件消費者對事件具體的處理方法。當事件發生時,事件生產者生產事件,并由事件路由將該事件向訂閱過該事件的消費者進行投送,而各事件消費者接收到事件后分別采取行動?;谑录寗拥膮f同是一對多的協同,即事件生產者可同時向多個事件消費者投送事件。適用于作戰資源間耦合性較低,沒有直接調用關系的情形?;诮涌谂c基于事件驅動架構的區別如表1所示,運行方式如圖3所示。

表1 接口與事件驅動的比較

圖3 操作方法和事件在使用上的區別Fig.3 Difference between usage of operation and event

操作和事件屬于短連接,適用于短時協同,而數據流屬于長連接,適用于云服務間的長時交互。

以對某雷達資源建模為例,說明了功能化封裝的過程。該雷達資源的能力包含兩個功能類,即控制功能類(請求雷達進行特定區域搜索或對目標進行跟蹤)和訪問功能類(請求特定目標方位、距離和高度信息[9]);除此之外,雷達還能在搜索到目標時通知需求者。因此,可將雷達封裝為兩個接口(IControl和IObjectInfo)和一個事件(evTargetDetected事件),如圖4所示。

圖4 雷達資源的封裝Fig.4 Encapsulation of radar resource

1.2 服務化封裝

當前大量遺留作戰資源在建設之初未考慮到作戰資源的集成,因此形成了各自獨立、無法互聯互通的局面,對這些資源直接進行服務化改造必然成本巨大,且安全性不能得到保障。為了將這些作戰資源接入云服務,在對作戰資源進行功能化封裝之后,可在作戰資源外層加上一層“殼”,以與云協同中心以及其他云服務進行交互,為此本文提出服務適配器的概念。

服務適配器是作戰資源模型與云協同中心、作戰資源模型與其他云服務交互的中介,它與虛擬資源構成了一個完整的云服務。服務適配器是獨立于作戰資源的第三方軟件或硬件資源,以即插即用的方式將作戰資源模型封裝為云服務。它包含了云服務正常運行所必備的若干模塊,對內主要與作戰資源模型通訊,對外與云協同中心和其他云服務進行交互,如圖5所示。

圖5 云服務的交互Fig.5 Communication of cloud services

(1) 與作戰資源通訊。解析外部對云服務的簡單對象訪問協議(simple object access protocol,SOAP)請求,將其轉化為作戰資源模型可讀取的操作或事件;將作戰資源模型對其他云服務的調用請求和事件流轉化為SOAP文件,并通過服務總線傳輸給其他云服務。

(2) 與云協同中心交互。主要實現云服務的注冊與管理和服務質量的管理[10]。

(3) 與其他云服務交互。在云服務執行時,遵循SOAP協議與其他云服務進行交互,實現協同,包括基于接口的調用、基于事件驅動的協同和基于數據流通道的長時協同等形式。

為了實現上述交互功能,服務適配器應包含服務注冊與管理、服務質量管理、服務事件路由和操作方法接口等模塊,如圖6所示。服務注冊與管理模塊負責在云協同中心注冊、注銷以及云服務狀態的更新;服務質量管理模塊根據作戰資源的狀態動態維護云服務的服務質量;服務事件路由基于發布-訂閱機制接受其他云服務的事件訂閱和訂閱其他云服務的事件[11-12],當事件產生時,通過服務事件路由根據其他云服務的訂閱情況對所生產的事件進行分發[13];操作方法接口負責將作戰資源模型的遠程調用進行格式轉換。

為保證云服務的正常發布和運行,服務適配器對外交互須遵循相應的協議。服務注冊與管理模塊應遵循UDDI協議[14];服務質量管理模塊應遵循服務水平(service-level agreement, SLA)協議[15];服務事件路由模塊所生產和消費的事件、操作方法接口模塊都應遵循EDA擴展的WSDL協議[16]。以WSDL 1.1為例,接口和事件的聲明在WSDL中的表示示例分別如圖7和圖8所示[17]。

圖6 服務適配器Fig.6 Service adaptor

圖7 操作的聲明在WSDL中的表示示例Fig.7 Example of operation declaration in WSDL

圖8 事件的聲明在WSDL中的表示示例Fig.8 Example of event declaration in WSDL

通過上述服務化封裝方法,屏蔽了作戰資源的異構性,使得用戶不必關心作戰資源的具體執行過程,而只需要以標準的接口或事件來訪問云服務即可,因而作戰資源對調用者是透明的。

2 虛擬化對云協同主要流程的支持

對作戰資源進行虛擬化是為了能在云協同系統中被發現、組合和執行,因此本節從服務組合、服務選擇和組合服務執行3個方面說明虛擬化方法的可行性。

2.1 服務組合

服務組合是指根據作戰需求,將原子云服務進行流程編排,生成組合云服務模板的過程[18]。多數服務組合方法僅基于工作流,將各抽象原子云服務按照串行、并行、選擇、循環等基本結構進行組裝而成,而忽視了各云服務間的數據和消息的傳輸,因而也忽略了云服務間的協作方式[2]。利用本文所提出的云服務封裝方法,可方便地對組合服務的協作方式進行建模。

服務流程編排包括各抽象原子云服務執行流程的確定和云服務間協作方式的確定兩個階段,如圖9所示[19]。在執行流程確定階段根據作戰任務制定組合服務的工作流[20];在協作方式確定階段,確定原子服務間的接口調用、事件訂閱和數據流通道等信息。

圖9 服務組合方法Fig.9 Service composition method

2.2 服務選擇

服務選擇是對組合云服務中各抽象原子云服務進行實例化的過程。服務選擇包括兩個階段,即按功能性屬性篩選階段和按服務質量選擇階段[21]。功能性屬性包括作戰資源的屬性信息(靜態屬性、動態屬性、使用屬性和部署屬性)、接口信息、事件信息和數據流信息。對于各個抽象原子云服務,首先要從資源池中選擇出滿足功能性屬性的一組云服務,構成云服務候選集,然后依據一定的優化算法,從中選擇出服務質量與用戶所期望最匹配的組合云服務作為最終結果[2]。

2.3 組合服務執行

通過服務組合和服務選擇,得到一個可執行的組合服務。組合云服務在開始執行作戰任務之前,仍是互相分離的,未建立通信通道,因此須首先完成組合服務的初始化,包括接口的綁定、事件的訂閱和數據流通道的建立等,這些通信通道的建立均由各云服務的服務適配器完成的。在如圖9所示的組合服務中,包括如圖10所示的接口綁定、事件訂閱和數據流通道建立等信息。

圖10 接口綁定、事件訂閱和數據流通道建立Fig.10 Interface binding, event subscription and establish of data stream channel

初始化完成之后,組合云服務便按照組合服務的流程、接口綁定信息、事件訂閱信息和數據流通道等信息執行。

3 實驗驗證

為了驗證作戰資源虛擬化方法的有效性,本文在“網絡化作戰組織云協同仿真實驗臺”上進行了驗證。實驗臺由戰場環境與兵力生成臺、云協同中心臺、云服務管理臺、戰場態勢服務提供臺、物理資源仿真臺、云服務請求臺和若干作戰任務執行臺組成,其中物理資源仿真臺模擬戰場上的作戰資源,通過作戰資源建模抽象出其作戰能力,并通過接口、事件和數據流通道的形式將能力暴露出來,再通過服務化封裝,封裝為服務,并在云服務管理臺進行服務注冊與發布。

實驗場景為:某敵機侵入我方領空,我方首先利用感知云服務在指定區域進行搜索,搜索到目標大致位置后利用服務質量更高的感知云服務進行目標確認,確認目標后利用攻擊云服務對目標發射導彈實施攻擊,并利用引導云服務為導彈進行引導。打擊結束后利用評估云服務評估目標毀傷情況。作戰的工作流圖如圖11所示。

圖11 作戰工作流圖Fig.11 Workflow of operation

利用本文所提出的作戰資源服務化方法,對某型地基雷達、某型載有紅外探測裝置的戰斗機、某型載有導彈的戰斗機、某型載有激光指引器的戰斗機、雷達成像情報偵察衛星系統等進行了封裝,如表2所示。

表2 作戰資源服務封裝

經過服務搜索,可得到滿足條件的一組原子云服務,這些原子云服務組成一個組合云服務。組合云服務首先要完成初始化,初始化結構圖如圖12所示。

圖12 云服務交互協作圖Fig.12 Interoperability of cloud services

初始化完畢后,組合服務開始執行。作戰任務執行臺通過調用S1的int1接口開始云服務的執行。

可以看出,各原子云服務已按照預計的協作方式完成了作戰任務。在基于模板的作戰資源虛擬化方法[1]中,只對作戰資源的功能以接口的形式進行了封裝,而沒有以事件的形式封裝,因而作戰資源間的協同需要在創建組合云服務之初,由云協同平臺對各云服務的執行順序和調用的接口顯式地指定,并且在執行過程中必須明確各種情況下的執行方法,各云服務都是在其他云服務的調用下被動地執行,執行效果難以保證,降低了各云服務根據環境和本身當前狀態進行自主執行的能力。而在本文提出的虛擬化方法下構成的組合云服務,各云服務保留了自身的自主性,因而增強了云服務間的協作能力。

4 結束語

針對網絡化作戰組織云協同中的關鍵問題之一——虛擬化,本文提出了一種異構作戰資源的虛擬化方法。通過功能化封裝,將作戰資源的能力以接口、事件和數據流的形式體現出來;通過服務化封裝,將服務適配器與虛擬資源組合為云服務。實驗結果表明,該方法可以更方便地實現云服務間的協同。下一步的工作將主要從以下兩方面展開:一是事件路由安裝在服務適配器中,還是直接集成于服務總線需進一步討論;二是針對該虛擬化方法,進一步設計高效的服務優選算法。

參考文獻:

[1] 齊玲輝. 面向服務的軍事組織云協同關鍵技術研究[D]. 西安: 西北工業大學, 2015.

QI L H. Research on the key technology of service oriented collaborative cloud military organization[D]. Xi’an: Northwestern Polytechnical University, 2015.

[2] ZHANG A, SUN H Y, TANG Z L, et al. Service composition based on discrete particle swarm optimization in military organization cloud cooperation[J]. Journal of Systems Engineering and Electronics, 2016, 27(3): 590-601.

[3] 任磊, 張霖, 張雅彬, 等. 云制造資源虛擬化研究[J]. 計算機集成制造系統, 2011, 17(3): 511-518.

REN L, ZHANG L, ZHANG Y B, et al. Resource virtualization in cloud manufacturing[J]. Computer Integrated Manufacturing Systems, 2011, 17(3): 511-518.

[4] ZHANG Y, ZHANG G, LIU Y, et al. Research on services encapsulation and virtualization access model of machine for cloud manufacturing[J]. Journal of Intelligent Manufacturing, 2017, 28(5):1109-1123.

[5] 易安斌,周宏甫.云制造環境下設備資源服務化封裝方法研究[J].組合機床與自動化加工技術,2016(5):151-154.

YI A B, ZHOU H F. Service encapsulation method of equipment resources in cloud manufacturing environment[J]. Modular Machine Tool & Automatic Manufacturing Technique, 2016(5): 151-154.

[6] LIU N, LI X. A resource virtualization mechanism for cloud manufacturing systems[M]. Berlin: Springer, 2017: 46-59.

[7] 劉寧. 云制造資源虛擬化關鍵技術及應用[D]. 南京: 東南大學, 2015.

LIU N.The key technology of cloud manufacturing resource virtuali-zation and application[D]. Nanjing: Southeast University, 2015.

[8] WIELAND M, MARTIN D, KOPP O, et al. SOEDA: a method for specification and implementation of applications on a service-oriented event-driven architecture[C]∥Proc.of the International Conference on Business Information Systems, 2009: 193-204.

[9] CHEN J S, CHEN C H, FURUMOTO J I. Radar beam-and range-weighting effects on three-dimensional radar imaging for the atmosphere[J]. Radio Science, 2016, 46(6): 1-13.

[10] RAMIREZ A, PAREJO J A, ROMERO J R, et al. Evolutionary composition of QoS-aware web services: a many-objective perspective[J]. Expert Systems with Applications, 2017, 72: 357-370.

[11] 黃鑫. 基于發布/訂閱機制的協同作戰敵我識別系統軟件設計與實現[D]. 成都: 電子科技大學, 2016.

HUANG X. Software design and implementation of collaborative combat IFF system based on publish / subscribe mechanism[D].Chengdu:University of Electronic Science and technology of China, 2016.

[12] 張仲妹, 劉晨, 蘇申,等. SDaaS:一種傳感流數據的服務化封裝方法[J]. 計算機學報, 2017, 40(2):445-463.

ZHANG Z M, LIU C, SU S, et al. SDaaS: a method for encapsulating sensor stream data as services[J]. Chinese Journal of Computers, 2017, 40(2):445-463.

[13] 劉家紅, 吳泉源. 一個基于事件驅動的面向服務計算平臺[J]. 計算機學報, 2008, 31(4): 588-599.

LIU J H, WU Q Y. An event-driven service-oriented computing platform[J]. Chinese Journal of Computers, 2008, 31(4): 588-599.

[14] GHADGE T, BOGIRI N. Framework for web service composition and invocation[C]∥Proc.of the International Conference on Automatic Control and Dynamic Optimization Techniques, 2017: 1030-1035.

[15] MIROBI G J, AROCKIAM L. Service level agreement in cloud computing: an overview[C]∥Proc.of the International Conference on Control, Instrumentation, Communication and Computational Technologies, 2015: 753-758.

[16] JURIC M B. WSDL and BPEL extensions for event driven architecture[J]. Information & Software Technology,2010,52(10): 1023-1043.

[17] CURBERA F, DUFTLER M, KHALAF R, et al. Unraveling the web services web: an introduction to SOAP, WSDL, and UDDI[J]. Internet Computing IEEE, 2002, 6(2):86-93.

[18] GARRIGA M, FLORES A, CECHICH A, et al. Web services composition mechanisms: a review[J]. IETE Technical Review, 2015, 32(5): 376-383.

[19] 王輝. Web服務編排協議映射模型及實現機制[D]. 秦皇島: 燕山大學, 2015.

WANG H. Mapping model and realization mechanism of web service orchestration protocol[D]. Qinhuangdao:Yanshan University, 2015.

[20] VAN DER AALST W M P, TER HOFSTEDE A H M, KIEPUSZEWSKI B, et al. Workflow patterns[J]. Distributed & Parallel Databases, 2003, 14(1): 5-51.

[21] ZHANG A, SUN H Y, ZHANG Y X. Service allocation based on QoS evaluation in military organization cloud cooperation[J].Journal of Systems Engineering and Electronics, 2016, 27(2): 386-394.

猜你喜歡
適配器數據流調用
汽車維修數據流基礎(上)
汽車維修數據流基礎(下)
核電項目物項調用管理的應用研究
基于3D打印的輕型導彈適配器
潛空導彈垂直發射出筒適配器受載變形仿真研究
電源適配器怎么選
基于系統調用的惡意軟件檢測技術研究
基于數據流聚類的多目標跟蹤算法
美國麥格普公司新型M—LOK相機三腳架適配器
北醫三院 數據流疏通就診量
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合