国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Vega Prime和Web Service的分布式仿真中間件VPDR-W?

2018-02-07 05:45王月基
艦船電子工程 2018年1期
關(guān)鍵詞:服務(wù)端視場(chǎng)中間件

張 威 王月基

(海軍航空大學(xué) 葫蘆島 125001)

1 引言

Vega Prime(以下簡(jiǎn)稱VP)是目前流行的視景開(kāi)發(fā)工具,在軍事、民用各類視景仿真中得到廣泛的應(yīng)用。由于單機(jī)有限的計(jì)算資源限制,許多仿真環(huán)境需要多臺(tái)計(jì)算機(jī)協(xié)作完成,形成了分布式的計(jì)算機(jī)仿真技術(shù)。VP對(duì)于分布式的仿真也提供了很好的支持。但是在實(shí)際的軟件開(kāi)發(fā)過(guò)程中,基于VP開(kāi)發(fā)的分布式仿真程序,需要在每個(gè)節(jié)點(diǎn)部署相同的環(huán)境,體系結(jié)構(gòu)相對(duì)死板,開(kāi)發(fā)、調(diào)試、部署都極為不便。為解決上述問(wèn)題,本文提出了一種基于Vega Prime環(huán)境和Web Service技術(shù)的軟件中間件VPDR-W,為基于Vega Prime開(kāi)發(fā)的計(jì)算機(jī)仿真軟件開(kāi)發(fā)提供便利。

2 相關(guān)技術(shù)

2.1 中間件技術(shù)

IDC互聯(lián)網(wǎng)數(shù)據(jù)中心對(duì)中間件的定義是:中間件(Middleware)是一種獨(dú)立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源,中間件位于客戶機(jī)服務(wù)器的操作系統(tǒng)之上,管理計(jì)算資源和網(wǎng)絡(luò)通信。中間件在實(shí)現(xiàn)互連基礎(chǔ)上,還實(shí)現(xiàn)應(yīng)用之間的互操作:中間件是基于分布式處理的軟件,最突出的特點(diǎn)是其網(wǎng)絡(luò)通信功能[1]。

中間件屏蔽了操作系統(tǒng)以下的復(fù)雜性,為處于自己上層的應(yīng)用軟件提供運(yùn)行與開(kāi)發(fā)的環(huán)境,使得程序員可以將精力集中在業(yè)務(wù)方面,不必過(guò)多考慮程序在多個(gè)平臺(tái)的移植問(wèn)題,降低開(kāi)發(fā)分布式軟件的難度,幫助用戶靈活、高效地開(kāi)發(fā)和集成復(fù)雜的應(yīng)用軟件[2]。中間件技術(shù)的目標(biāo)是實(shí)現(xiàn)物理空間與信息空間無(wú)縫融合,且在融合后的空間中,用戶可以隨時(shí)隨地透明地獲取所期望的計(jì)算服務(wù)[3~4]。

Web Service[5]是一種新型的 Web 應(yīng)用程序,具有自包含、自描述以及模塊化的特點(diǎn),可以通過(guò)Web發(fā)布、查找和調(diào)用[6]。Web Service應(yīng)具有如下特性:可描述,可以通過(guò)一種服務(wù)描述語(yǔ)言來(lái)描述;可發(fā)布,可以在注冊(cè)中心注冊(cè)其描述信息并發(fā)布;可查找,通過(guò)向注冊(cè)服務(wù)器發(fā)送查詢請(qǐng)求可以找到滿足查詢條件的服務(wù),獲取服務(wù)的綁定信息;可綁定,通過(guò)服務(wù)的描述信息可以生成可調(diào)用的服務(wù)實(shí)例或服務(wù)代理;可調(diào)用,使用服務(wù)描述信息中的綁定細(xì)節(jié)可以實(shí)現(xiàn)服務(wù)的遠(yuǎn)程調(diào)用;可組合,可以與其他服務(wù)組合在一起形成新的服務(wù)[7]。

圖1展示了Web Services協(xié)議棧的組成,可以看到,在構(gòu)建和使用Web Service時(shí),主要用到以下幾個(gè)關(guān)鍵的技術(shù)和規(guī)則:

圖1 Web Services協(xié)議棧的組成

XML和XSD:可擴(kuò)展的標(biāo)記語(yǔ)言XML是Web Service平臺(tái)中表示數(shù)據(jù)的基本格式。XML是由萬(wàn)維網(wǎng)協(xié)會(huì)(W3C)[8]創(chuàng)建,W3C制定的XML Schema XSD定義了一套標(biāo)準(zhǔn)的數(shù)據(jù)類型,并給出了一種語(yǔ)言來(lái)擴(kuò)展這套數(shù)據(jù)類型。除了易于建立和易于分析外,XML主要的優(yōu)點(diǎn)在于它既與平臺(tái)無(wú)關(guān),又與廠商無(wú)關(guān)。

SOAP(Simple Object Access Protocol):簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議,它規(guī)定了Web Services之間如何傳遞信息。SOAP規(guī)定了:傳遞信息的格式為XML;遠(yuǎn)程對(duì)象方法調(diào)用的格式;參數(shù)類型和XML格式之間的映射;異常處理以及其他的相關(guān)信息;WSDL(Web Service Description Language):Web Service描述語(yǔ)言,使用XML描述Web Service,包括訪問(wèn)和使用Web Service所必需的信息,定義該Web Service的位置、功能以及如何通信等描述信息。它是對(duì)一個(gè)程序的XML描述,把原來(lái)java或C#類的對(duì)象和方法描述成XML文件。

UDDI(Universal Description,Discovery and In?tegration):統(tǒng)一描述、發(fā)現(xiàn)和整合協(xié)議,它是一種獨(dú)立于平臺(tái)的,基于XML語(yǔ)言的用于在互聯(lián)網(wǎng)上描述商務(wù)的協(xié)議。

Web Service系統(tǒng)基于SOA模型,它的編程模型(如圖2)包含三個(gè)組成部分:服務(wù)提供者—作為服務(wù)契約的服務(wù)接口以及作為服務(wù)實(shí)體的服務(wù)實(shí)現(xiàn);服務(wù)使用者—也稱為服務(wù)使用者或客戶端,使用Web Service;注冊(cè)中心—服務(wù)提供者可以將服務(wù)發(fā)布到注冊(cè)中心,服務(wù)使用者在注冊(cè)中心內(nèi)查找服務(wù),使之成為Web Service的代理。

圖2 Web Service編程模型

2.2 分布式仿真技術(shù)

分布式仿真是指采用協(xié)調(diào)一致的結(jié)構(gòu)、標(biāo)準(zhǔn)、協(xié)議和數(shù)據(jù)庫(kù),通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)將分布在各地的仿真器互連,使人可以參與交互作用的一種綜合環(huán)境,目前已廣泛用于軍用、商用等領(lǐng)域[9]。然而,隨著仿真應(yīng)用對(duì)大量的分布式數(shù)據(jù)和資源的需求程度不斷提高,分布式仿真系統(tǒng)的復(fù)雜度也不斷加大,無(wú)法滿足當(dāng)前計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)快速發(fā)展的需要。

VP是Multigen Paradigm 公司(MPI)在Vega基礎(chǔ)上推出的新一代支持面向?qū)ο蠹夹g(shù)的實(shí)時(shí)視景驅(qū)動(dòng)軟件,基于Vega Scene Graph,同時(shí)包括Lynx Prime GUI(圖形用戶界面)工具,用戶既可以用圖形化的工具進(jìn)行快速輔助配置,又可以用底層場(chǎng)景圖形API創(chuàng)建用戶特定功能;提供了對(duì)MetaFlight格式的支持,擴(kuò)展性更強(qiáng);可通過(guò)API函數(shù)對(duì)實(shí)體操作,簡(jiǎn)化了開(kāi)發(fā)過(guò)程,縮短了開(kāi)發(fā)時(shí)間,幫助用戶快速、準(zhǔn)確地開(kāi)發(fā)實(shí)時(shí)三維仿真[10]。

3 VPDR-W的設(shè)計(jì)

VPDR-W遵循Web Service協(xié)議和編程范式,基于“軟總線”+“軟構(gòu)件”[11]的體系結(jié)構(gòu)。

3.1 總體結(jié)構(gòu)

VPDR-W底層為Web Service的內(nèi)核,主要運(yùn)行Web Service內(nèi)核和SOAP協(xié)議,在此基礎(chǔ)上運(yùn)行VPDR-W服務(wù)端和客戶端,其總體結(jié)構(gòu)如圖3所示。

圖3 VPDR-W總體結(jié)構(gòu)

VPDR-W客戶端主要負(fù)責(zé)遠(yuǎn)程VPDR-W服務(wù)端注冊(cè)監(jiān)聽(tīng)服務(wù),監(jiān)聽(tīng)VPDR-W遠(yuǎn)程服務(wù)狀態(tài);VPDR-W服務(wù)端負(fù)責(zé)將Vega Prime的分布式仿真程序發(fā)布成Web Service,同時(shí)響應(yīng)客戶端的監(jiān)聽(tīng)請(qǐng)求,當(dāng)服務(wù)狀態(tài)發(fā)生變化時(shí),將服務(wù)主動(dòng)推送給VPDR-W客戶端。

3.2 詳細(xì)設(shè)計(jì)

3.2.1 用例分析

VPDR-W面向兩類用戶,從程序員的角度看,主要負(fù)責(zé):編寫(xiě)Vega Prime分布式仿真程序;設(shè)置Vega Prime分布式仿真服務(wù)對(duì)象;運(yùn)行Vega Prime分布式仿真服務(wù)對(duì)象實(shí)例。從最終用戶的角度看,主要負(fù)責(zé)設(shè)置Vega Prime分布式仿真服務(wù)對(duì)象;運(yùn)行Vega Prime分布式仿真服務(wù)對(duì)象實(shí)例。如圖4所示。

3.2.2 序列分析

VPDR-W運(yùn)行時(shí)主要包括四類對(duì)象Vega Prime分布式仿真客戶端、VPDR-W客戶端、VP?DR-W服務(wù)端以及Veg Prime分布式仿真主程序,四者之間的交互邏輯如圖5所示。

圖4 用例圖

圖5 序列圖

3.3 核心算法

自 適 應(yīng) 是 中 間 件 軟 件 的 主 要 特 征[12~15],VPDR-W的算法設(shè)計(jì)體現(xiàn)出其具有的動(dòng)態(tài)自適應(yīng)的特點(diǎn)。

3.3.1 服務(wù)狀態(tài)校驗(yàn)算法

VPDR-W服務(wù)端需要根據(jù)設(shè)置好的服務(wù)對(duì)象的變化情況決定是否向客戶端推送服務(wù)對(duì)象實(shí)例,如果服務(wù)對(duì)象沒(méi)有發(fā)生變化則不推送,如果發(fā)生了變化則推送,其服務(wù)狀態(tài)校驗(yàn)算法流程如圖6所示。

圖6 服務(wù)狀態(tài)校驗(yàn)算法流程圖

3.3.2 客戶端視場(chǎng)范圍動(dòng)態(tài)分配算法

在Vega Prime分布式仿真程序當(dāng)中,詳細(xì)的配置信息存放在擴(kuò)展名為“acf”的配置文件當(dāng)中,其中包含了程序的總視場(chǎng)范圍以及需要的通道數(shù)量,基于此,VPDR-W可以實(shí)現(xiàn)比較靈活的客戶端視場(chǎng)范圍動(dòng)態(tài)配置,其客戶端市場(chǎng)范圍動(dòng)態(tài)分配算法流程如圖7所示。

圖7 客戶端視場(chǎng)范圍動(dòng)態(tài)分配算法流程圖

4 VPDR-W的實(shí)現(xiàn)

StarWebService[16]是一個(gè)由國(guó)防科學(xué)技術(shù)大學(xué)計(jì)算機(jī)學(xué)院網(wǎng)絡(luò)所設(shè)計(jì)實(shí)現(xiàn)的、遵循Web2.0規(guī)范的分布式軟件計(jì)算平臺(tái)。本文采用其作為底層Web Service層實(shí)現(xiàn)。

4.1 服務(wù)端

VPDR-W服務(wù)端主要包括VPDRWServiceLis?tener、VPDRWServiceSender、VPDRWMd5Checker、VPDRWServer等幾個(gè)主要的類,其中VPDRWSer?viceListener是一個(gè)監(jiān)聽(tīng)器類,主要實(shí)現(xiàn)監(jiān)聽(tīng)基于UbiStar傳送過(guò)來(lái)的遠(yuǎn)程VPDR-W客戶端注冊(cè)情況;VPDRWServiceSender類主要實(shí)現(xiàn)對(duì)發(fā)生變化的服務(wù)對(duì)象實(shí)例進(jìn)行推送;VPDRWMd5Checker類主要實(shí)現(xiàn)基于MD5算法的對(duì)服務(wù)對(duì)象實(shí)例狀態(tài)的校驗(yàn);VPDRWServer是程序的入口類,調(diào)用其他幾個(gè)類實(shí)現(xiàn)服務(wù)端程序的全部功能。如圖8所示。

圖8 VPDR-W服務(wù)端主要類圖

4.2 客戶端

VPDR-W客戶端主要包括VPDRWServiceRe?ceiver、VPDRWClient等幾個(gè)主要的類,其中VPDRWServiceReceiver主要實(shí)現(xiàn)接收遠(yuǎn)程推送過(guò)來(lái)的服務(wù)對(duì)象實(shí)例,并存放到相應(yīng)位置;VPDRW?Client類是VPDR-W客戶端的入口類,調(diào)用其他幾個(gè)類實(shí)現(xiàn)客戶端程序的全部功能。如圖9所示。

圖9 VPDR-W客戶端主要類圖

5 VPDR-W的應(yīng)用

VPDR-W現(xiàn)已在我院某型飛機(jī)飛行仿真模擬器開(kāi)發(fā)當(dāng)中得到實(shí)際應(yīng)用,下面是應(yīng)用的實(shí)際場(chǎng)景(由于特殊原因,部分位置做了遮擋)。

5.1 三通道

在4號(hào)機(jī)部署VPDR-W服務(wù)端和Vega Prime分布式仿真主程序,設(shè)置總視場(chǎng)角為120°,在2、3號(hào)機(jī)部署VPDR-W客戶端,服務(wù)端程序動(dòng)態(tài)發(fā)現(xiàn)客戶端數(shù)量,并為每個(gè)客戶機(jī)分配視場(chǎng)角,寫(xiě)入配置文件,之后加載Vega Prime分布式仿真程序,顯示效果如圖10所示。

圖10 VPDR-W三通道應(yīng)用界面

5.2 五通道

在4號(hào)機(jī)部署VPDR-W服務(wù)端和Vega Prime分布式仿真主程序,設(shè)置總視場(chǎng)角為150°,在1、2、3、5號(hào)機(jī)部署VPDR-W客戶端,服務(wù)端程序動(dòng)態(tài)發(fā)現(xiàn)客戶端數(shù)量,并為每個(gè)客戶機(jī)分配視場(chǎng)角,寫(xiě)入配置文件,加載Vega Prime分布式仿真程序,顯示效果如圖11所示。

圖11 VPDR-W五通道應(yīng)用界面

原來(lái)的Vega Prime分布式仿真程序需要在客戶機(jī)上一一手動(dòng)進(jìn)行配置,極其繁瑣和死板。通過(guò)實(shí)際應(yīng)用場(chǎng)景可以看出,VPDR-W可以根據(jù)分布式仿真程序的客戶機(jī)情況靈活的自動(dòng)進(jìn)行配置,同時(shí)實(shí)時(shí)地傳送服務(wù)對(duì)象實(shí)例,既簡(jiǎn)化了程序員的開(kāi)發(fā)活動(dòng),又方便了最終用戶的使用,效果比較理想。

6 結(jié)語(yǔ)

本文基于Web Service和Vega Prime環(huán)境設(shè)計(jì)和實(shí)現(xiàn)了一個(gè)分布式仿真環(huán)境的軟件中間件框架,實(shí)現(xiàn)了分布式仿真程序的動(dòng)態(tài)和靈活的配置,在實(shí)際的應(yīng)用中展現(xiàn)了良好的效果。但是存在一些不足,主要是由于Vega Prime是一個(gè)商業(yè)軟件產(chǎn)品,不開(kāi)放源代碼,導(dǎo)致編程模式比較僵硬,在今后的工作中將考慮使用 OpenSceneGraph(OSG)[17]等開(kāi)源分布式仿真環(huán)境來(lái)進(jìn)一步進(jìn)行優(yōu)化,同時(shí)在底層中間件實(shí)現(xiàn)上可以考慮結(jié)合分布式OSGi[18]等技術(shù)路線。

[1]劉芳.分布式仿真系統(tǒng)中想定系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2007.

[2]田艷鳳,魏娜,李培君.CORBA的基本原理及其應(yīng)用[J].未來(lái)英才,2015:304-305.

[3]Weiser M.Computer for the 21st Century[J].Scientific American.1991,265(3):94-105.

[4]Saha D,Mukherjee A.Pervasive Computing:A Paradigm for the 21st Century[J].Computer.,36(3):25-31.

[5]尹兆冰,王加陽(yáng).Web Service及其關(guān)鍵技術(shù)研究綜述[J].軟件導(dǎo)刊,2010(02):121-123.

[6]Tsalgatidou A,Pilioura T.An overview of standards and related technology in Web Services[J].2002,12(2-3):135-162.

[7]楊濤,劉錦德.Web Services技術(shù)綜述——一種面向服務(wù)的分布式計(jì)算模式[J]. 計(jì)算機(jī)應(yīng)用,2004(08):1-4.

[8]萬(wàn)維網(wǎng)協(xié)會(huì)(W3C)[Z].1994.

[9]萬(wàn)虎,余明暉,楊慶,等.基于網(wǎng)格的分布式仿真綜述[J]. 計(jì)算機(jī)仿真.2008(01):6-10.

[10]潛繼成.Vega Prime集成運(yùn)行環(huán)境設(shè)計(jì)[J].電腦編程技巧與維護(hù),2010(06):36-39.

[11]黃文光.StarBus集成開(kāi)發(fā)環(huán)境的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2007.

[12]Garlan D,Schmerl B,Cheng S W.Software Architec?ture-BasedSelf-Adaptation[M]//Autonomic Computing and Networking,2009:31-35.

[13]Niemel E,Latvakoski J.Survery of Requirements and So?lutions for Ubiqutous Software[C]//ACM Press,2004.

[14]Grimm R,Davis J,Lemar E,et al.System Support for Pervasive Applications[J].ACM Transactions on Com?puter Syetems.2004,22(4):421-486.

[15]Costa CA,Yamin A C,Geyer C.Toward a General Soft?ware Infrastructure for Ubiquitous Computing[J].IEEE Pervasive Computing,2008,7(11):64-73.

[16]劉必欣,王玉峰,周斌,等.Web服務(wù)運(yùn)行支撐環(huán)境的研究與實(shí)現(xiàn)[J]. 計(jì)算機(jī)科學(xué),2004(10):108-110.

[17]Openscenegraph.http://www.openscenegraph.org/[Z].2016.

[18]吳元立,張矚熹,楊宏橋,等.分布式OSGi研究與發(fā)展[J].計(jì)算機(jī)應(yīng)用研究,2010(11):4010-4014.

猜你喜歡
服務(wù)端視場(chǎng)中間件
一種晶圓自動(dòng)光學(xué)檢測(cè)系統(tǒng)的混合路徑規(guī)劃算法
大視場(chǎng)日盲紫外告警系統(tǒng)研究
我國(guó)自主可控中間件發(fā)展研究
提高多相機(jī)視場(chǎng)組合精度的調(diào)節(jié)措施
多人聯(lián)機(jī)對(duì)戰(zhàn)游戲的設(shè)計(jì)與實(shí)現(xiàn)
基于三層結(jié)構(gòu)下機(jī)房管理系統(tǒng)的實(shí)現(xiàn)分析
基于三層結(jié)構(gòu)下機(jī)房管理系統(tǒng)的實(shí)現(xiàn)分析
蔡司勝利
以實(shí)力證明 用事實(shí)說(shuō)話
云計(jì)算環(huán)境下中間件的負(fù)載均衡機(jī)制研究