999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于B/S架構(gòu)態(tài)勢(shì)原型系統(tǒng)實(shí)現(xiàn)及性能優(yōu)化*

2014-07-11 08:49:00孟獻(xiàn)軻
艦船電子工程 2014年7期
關(guān)鍵詞:服務(wù)系統(tǒng)

尹 超 孟獻(xiàn)軻 楊 巖

(中國(guó)電子科技集團(tuán)公司第二十八研究所 南京 210007)

1 引言

COE通用操作環(huán)境(Common Operating Environment)是美軍所有信息系統(tǒng)的公共支撐軟件平臺(tái)。1999年COE向三層結(jié)構(gòu)轉(zhuǎn)變,用Java語(yǔ)言重寫(xiě)主要軟件,增加了可移植性。2007年前后,美軍開(kāi)發(fā)了Joint WebCOP(JWC)。JWC是GCCS系統(tǒng)家族的組成部分,使作戰(zhàn)人員通過(guò)標(biāo)準(zhǔn)瀏覽器(無(wú)需安裝任何插件)對(duì)戰(zhàn)場(chǎng)空間進(jìn)行實(shí)時(shí)或近實(shí)時(shí)的可視化。它與 GCCS-A[1]、GCCS-M、GCCS-J、戰(zhàn)區(qū)戰(zhàn)斗管理核心系統(tǒng)(TBMCS)、國(guó)家地理空間情報(bào)局(NGA)、國(guó)防信息系統(tǒng)局(DISA)關(guān)聯(lián),能夠提供基于Web的COP。

未來(lái)信息系統(tǒng)的發(fā)展趨勢(shì)是構(gòu)建在信息柵格網(wǎng)上的服務(wù)化應(yīng)用,其支撐技術(shù)是信息柵格服務(wù)、云計(jì)算等,傳統(tǒng)的客戶(hù)機(jī)-服務(wù)器(C/S)模式并非構(gòu)建此類(lèi)大型分布式信息系統(tǒng)的最佳模式。Java技術(shù)體系是開(kāi)放的技術(shù)體系,是未來(lái)開(kāi)發(fā)面向網(wǎng)絡(luò)服務(wù)信息系統(tǒng)的首選技術(shù)體系。Java EE平臺(tái)提供了一個(gè)多層結(jié)構(gòu)的分布式的應(yīng)用程序模型,可以更快地開(kāi)發(fā)和發(fā)布新的應(yīng)用解決方案。作為面向網(wǎng)絡(luò)服務(wù)的分布式系統(tǒng),在大量用戶(hù)訪問(wèn)情況下,過(guò)多的資源請(qǐng)求和有限的服務(wù)器資源(內(nèi)存、CPU時(shí)間、網(wǎng)絡(luò)帶寬等)之間就會(huì)出現(xiàn)矛盾,應(yīng)用系統(tǒng)的性能優(yōu)化就顯得尤其重要。

本文研究了基于純瘦客戶(hù)端綜合態(tài)勢(shì)顯示、服務(wù)器主動(dòng)推送更新實(shí)時(shí)態(tài)勢(shì)數(shù)據(jù)及Java平臺(tái)性能優(yōu)化等關(guān)鍵技術(shù),構(gòu)建了基于Java平臺(tái)的B/S架構(gòu)態(tài)勢(shì)原型系統(tǒng),驗(yàn)證了Java平臺(tái)對(duì)指控應(yīng)用的支撐能力。

2 基于B/S架構(gòu)態(tài)勢(shì)原型系統(tǒng)設(shè)計(jì)

基于B/S架構(gòu)態(tài)勢(shì)原型系統(tǒng)是一個(gè)局域網(wǎng)環(huán)境下的分布式仿真系統(tǒng)[2~3]。系統(tǒng)運(yùn)行的硬件平臺(tái)是Intel Xeon 4核處理器,內(nèi)存大小3GB,硬盤(pán)大小500GB,1000M以太網(wǎng)卡。軟件環(huán)境是 Windows XP操作系統(tǒng),系統(tǒng)裝有Oracle數(shù)據(jù)庫(kù)。主要使用MyEclipse工具進(jìn)行開(kāi)發(fā)。

構(gòu)建原型系統(tǒng)需要七臺(tái)服務(wù)器以及數(shù)臺(tái)客戶(hù)端,系統(tǒng)的體系結(jié)構(gòu)如圖1所示。

圖1 基于B/S架構(gòu)態(tài)勢(shì)原型系統(tǒng)體系結(jié)構(gòu)圖

系統(tǒng)采用SOA架構(gòu),接入三類(lèi)態(tài)勢(shì)數(shù)據(jù)源服務(wù)[4]:數(shù)據(jù)庫(kù)態(tài)勢(shì)信息、路情模擬器態(tài)勢(shì)信息和空情模擬器態(tài)勢(shì)信息。態(tài)勢(shì)數(shù)據(jù)源向態(tài)勢(shì)目錄服務(wù)注冊(cè),態(tài)勢(shì)目錄服務(wù)將態(tài)勢(shì)源信息以XML格式發(fā)送給應(yīng)用服務(wù)器。當(dāng)客戶(hù)端向應(yīng)用服務(wù)器請(qǐng)求頁(yè)面時(shí),應(yīng)用服務(wù)器會(huì)將態(tài)勢(shì)源服務(wù)地址發(fā)送給客戶(hù)端,通過(guò)向態(tài)勢(shì)數(shù)據(jù)源服務(wù)器請(qǐng)求數(shù)據(jù)(AJAX)或者服務(wù)器推送數(shù)據(jù)(WebSocket)兩種方式,客戶(hù)端接收數(shù)據(jù)源態(tài)勢(shì)信息,并圖1中顯示。圖1中WebGIS服務(wù)器提供地圖及其數(shù)據(jù)服務(wù)。

3 關(guān)鍵技術(shù)

為了將不同的態(tài)勢(shì)服務(wù)組織在一起,并高效地提供給用戶(hù)使用。本文提出的基于B/S架構(gòu)態(tài)勢(shì)原型系統(tǒng)主要對(duì)以下幾個(gè)方面的技術(shù)進(jìn)行了研究。

1)數(shù)據(jù)源服務(wù)集成標(biāo)準(zhǔn)[5]

為了使態(tài)勢(shì)目錄服務(wù)能夠發(fā)現(xiàn)并接受各類(lèi)態(tài)勢(shì)數(shù)據(jù)源服務(wù)的注冊(cè),本文提供了數(shù)據(jù)源服務(wù)集成標(biāo)準(zhǔn)。主要包括數(shù)據(jù)源服務(wù)注冊(cè)接口和數(shù)據(jù)交換格式標(biāo)準(zhǔn)。

(1)數(shù)據(jù)源服務(wù)注冊(cè)接口

通過(guò)數(shù)據(jù)源服務(wù)注冊(cè)接口,數(shù)據(jù)源服務(wù)將態(tài)勢(shì)圖層描述信息(XML格式)發(fā)送給態(tài)勢(shì)目錄服務(wù)。態(tài)勢(shì)目錄服務(wù)把圖層描述集中發(fā)布成態(tài)勢(shì)目錄,共應(yīng)用服務(wù)器訪問(wèn)。態(tài)勢(shì)圖層描述文件主要包含圖層標(biāo)題、圖層唯一標(biāo)識(shí)、圖層數(shù)據(jù)訪問(wèn)地址、圖層字段描述信息等。

(2)數(shù)據(jù)交換格式標(biāo)準(zhǔn)

為了實(shí)現(xiàn)各類(lèi)態(tài)勢(shì)數(shù)據(jù)源服務(wù)數(shù)據(jù)的統(tǒng)一管理以及和態(tài)勢(shì)客戶(hù)端之間交換數(shù)據(jù),本文還提出了態(tài)勢(shì)數(shù)據(jù)交換格式的標(biāo)準(zhǔn),采用JSON格式表示。JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式,它是基于JavaScript的一個(gè)子集。JSON采用完全獨(dú)立于語(yǔ)言的文本格式,但是也使用了類(lèi)似于C語(yǔ)言家族的習(xí)慣。這些特性使JSON成為理想的數(shù)據(jù)交換語(yǔ)言。易于人閱讀和編寫(xiě),同時(shí)也易于機(jī)器解析和生成。JavaScript原生支持JSON,可以存儲(chǔ)JavaScript復(fù)合對(duì)象,有著XML不可比擬的優(yōu)勢(shì)。考慮通用性和靈活性,標(biāo)準(zhǔn)主要包含基本要素和擴(kuò)展要素。基本要素主要包括數(shù)據(jù)源名稱(chēng)、元素名稱(chēng)、元素唯一表示、經(jīng)緯度等;擴(kuò)展要素主要用于其他業(yè)務(wù)補(bǔ)充各自的業(yè)務(wù)數(shù)據(jù)。

2)服務(wù)器數(shù)據(jù)推送技術(shù)

態(tài)勢(shì)空情數(shù)據(jù)的接入需要在瀏覽器與服務(wù)器之間實(shí)現(xiàn)即時(shí)通訊,通常采用的技術(shù)都是輪詢(xún)。輪詢(xún)是在特定的時(shí)間間隔(如每1s),由瀏覽器對(duì)服務(wù)器發(fā)出HTTP request,然后由服務(wù)器返回最新的數(shù)據(jù)給客戶(hù)端。這種傳統(tǒng)的HTTP request模式帶來(lái)很明顯的缺點(diǎn),瀏覽器需要不斷地向服務(wù)器發(fā)出請(qǐng)求,然而HTTP request的header是非常長(zhǎng)的,里面包含的數(shù)據(jù)可能只是一個(gè)很小的值,這樣會(huì)占用很多的帶寬。比較新的去做輪詢(xún)的技術(shù)是Comet,雖然這種技術(shù)可達(dá)到全雙工通信,但依然需要發(fā)送請(qǐng)求。

面對(duì)這種狀況,HTML5定義了 WebSocket協(xié)議[6],能夠更好地節(jié)省服務(wù)器資源和帶寬并達(dá)到實(shí)時(shí)通訊的效果。在WebSocket API中,瀏覽器和服務(wù)器只需要做一個(gè)握手的動(dòng)作,然后,瀏覽器和服務(wù)器之間就形成了一條快速通道。兩者之間就可以直接進(jìn)行全雙工數(shù)據(jù)傳送。WebSocket協(xié)議為我們實(shí)現(xiàn)即時(shí)服務(wù)帶來(lái)了兩大好處:一是互相溝通的Header是很小的,大概只有2Bytes;二是服務(wù)器可以主動(dòng)傳送數(shù)據(jù)給客戶(hù)端。通過(guò)實(shí)驗(yàn)對(duì)比,發(fā)現(xiàn)無(wú)論從系統(tǒng)資源占用情況還是從數(shù)據(jù)發(fā)送效率來(lái)看,數(shù)據(jù)主動(dòng)推送都優(yōu)于輪訓(xùn)方式。在本系統(tǒng)實(shí)現(xiàn)中,服務(wù)器每一秒鐘向連接請(qǐng)求的客戶(hù)端發(fā)送一次實(shí)時(shí)數(shù)據(jù)。

3)瀏覽器圖像繪制技術(shù)

Web圖形繪制通常采用SVG技術(shù)。SVG是基于XML的圖形矢量顯示技術(shù),可以將其與CSS混搭使用,也可以使用SVG DOM動(dòng)態(tài)向其添加行為。

在新的 HTML5標(biāo)準(zhǔn)中引入了 Canvas[7],Canvas可以用來(lái)進(jìn)行繪制圖形、繪制游戲的圖案或者其他圖形圖案,允許使用腳本動(dòng)態(tài)渲染點(diǎn)陣圖像。簡(jiǎn)單來(lái)說(shuō),Canvas就是允許在HTML5中,使用JavaScript去繪制喜歡的任何圖形,包括文字、圖片、線、點(diǎn)、各種形狀等。此外,隨著硬件技術(shù)的提升,現(xiàn)代瀏覽器具有GPU加速功能,為HTML5的Canvas使用提供了更好的環(huán)境,當(dāng)向Canvas發(fā)出繪畫(huà)命令時(shí),瀏覽器直接將指令發(fā)送到圖形加速器而不需要開(kāi)發(fā)者更多的干預(yù),硬件圖形加速器則以難以置信的運(yùn)算速度實(shí)時(shí)繪畫(huà)和渲染圖形。Canvas為大數(shù)據(jù)量的矢量數(shù)據(jù)在無(wú)插件的HTML文檔中,平滑、流暢的呈現(xiàn),提供了新的解決方案。

相比于SVG,Canvas具有兩個(gè)明顯的優(yōu)勢(shì),一是在繪制復(fù)雜圖像時(shí),Canvas的繪制速度比SVG快很多;二是SVG需要在瀏覽器中使用插件才能顯示,而Canvas僅需要JavaScript的支持。

本系統(tǒng)使用Canvas實(shí)現(xiàn)了對(duì)渲染要素的添加、刪除和選擇操作。

4 系統(tǒng)性能優(yōu)化

系統(tǒng)性能優(yōu)化就是提高已有系統(tǒng)的性能,減少如CPU、內(nèi)存、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)帶寬等資源的占用。一般是通過(guò)壓力測(cè)試或者在使用過(guò)程中發(fā)現(xiàn)性能方面的問(wèn)題,然后尋找性能瓶頸,并結(jié)合項(xiàng)目進(jìn)度、人員安排、技術(shù)儲(chǔ)備等因素,提出相應(yīng)的優(yōu)化策略。本文主要從性能的角度出發(fā),結(jié)合我們的技術(shù)架構(gòu),討論Java EE應(yīng)用程序代碼性能的優(yōu)化和提升,提出了以下幾條應(yīng)用優(yōu)化準(zhǔn)則[8~10],諸如硬件環(huán)境、數(shù)據(jù)庫(kù)環(huán)境等未在討論范圍之內(nèi)。

1)盡量重用對(duì)象,避免創(chuàng)建過(guò)多短時(shí)對(duì)象;

2)在循環(huán)處多下功夫;

3)盡量減少I(mǎi)/O操作,并使用緩存;

4)Servlet中盡量不使用同步;

5)大型數(shù)據(jù)量分批獲取,緩存常用數(shù)據(jù);

6)避免內(nèi)存泄漏。

圖2和圖3是系統(tǒng)優(yōu)化前后,客戶(hù)端數(shù)量與服務(wù)器性能關(guān)系圖。

圖2 優(yōu)化前客戶(hù)端數(shù)量與服務(wù)器性能關(guān)系

圖3 優(yōu)化后客戶(hù)端數(shù)量與服務(wù)器性能關(guān)系

5 結(jié)語(yǔ)

本文圍繞系統(tǒng)體系架構(gòu)及關(guān)鍵技術(shù)實(shí)現(xiàn),提出了一種基于B/S架構(gòu)的態(tài)勢(shì)原型系統(tǒng),并對(duì)其性能優(yōu)化進(jìn)行了研究。系統(tǒng)提供了標(biāo)準(zhǔn)的數(shù)據(jù)源服務(wù)注冊(cè)接口和數(shù)據(jù)交換格式規(guī)范,并利用HTML5的WebSocket及Canvas新特性,提高了數(shù)據(jù)傳輸?shù)男屎蛻B(tài)勢(shì)元素上圖顯示的效率,降低了系統(tǒng)資源開(kāi)銷(xiāo),提升了軟件運(yùn)行速度。驗(yàn)證了Java平臺(tái)對(duì)指揮控制軟件的支撐能力。

[1]袁可亮,吳峻,何光濤.美軍二十一世紀(jì)部隊(duì)旅及旅以下作戰(zhàn)指揮系統(tǒng)[J].山西電子技術(shù),2007(1):90-91.

[2]吳宇,康鳳舉,倪新堯.一種魚(yú)雷武器分布交互仿真系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].艦船電子工程,2003(5):65-68.

猜你喜歡
服務(wù)系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
基于PowerPC+FPGA顯示系統(tǒng)
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
半沸制皂系統(tǒng)(下)
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
主站蜘蛛池模板: 日韩精品一区二区三区视频免费看| 亚洲高清国产拍精品26u| 91年精品国产福利线观看久久 | 国产成人亚洲毛片| 在线欧美日韩国产| 毛片免费在线视频| 免费A级毛片无码免费视频| 午夜福利网址| 亚洲伊人天堂| av大片在线无码免费| 91色爱欧美精品www| 国产精品自拍露脸视频| 亚洲成网777777国产精品| 日韩欧美中文在线| 91尤物国产尤物福利在线| 国产精品私拍99pans大尺度| 成人国产精品一级毛片天堂| 亚洲人成人无码www| 欧美不卡二区| 福利视频99| 久久精品91麻豆| 国产精品99一区不卡| 久久精品人人做人人爽电影蜜月| 小说 亚洲 无码 精品| 国产精品香蕉在线观看不卡| 米奇精品一区二区三区| 99久久亚洲综合精品TS| 国产精品女在线观看| 成人午夜免费视频| 精品乱码久久久久久久| 国产精品极品美女自在线网站| 免费一级α片在线观看| 亚洲人成高清| 香蕉eeww99国产精选播放| 国产成人高清精品免费软件 | 日韩二区三区| 国产精品福利在线观看无码卡| 国产女人18水真多毛片18精品| 国产99免费视频| 尤物精品国产福利网站| 成人国产精品视频频| 亚洲AV无码久久精品色欲| 色哟哟色院91精品网站| 欧美日韩在线第一页| 欧美v在线| 久久精品一卡日本电影| 无码在线激情片| 青青网在线国产| 国产成人福利在线视老湿机| 午夜精品国产自在| 亚洲AV无码乱码在线观看代蜜桃 | 人妻无码中文字幕一区二区三区| 欧美性久久久久| 亚洲伊人天堂| 午夜福利网址| 国产网站在线看| 日本精品αv中文字幕| 香蕉国产精品视频| 国产精品亚洲αv天堂无码| 四虎免费视频网站| 国产一级精品毛片基地| 久久国产精品嫖妓| 色偷偷av男人的天堂不卡| 在线另类稀缺国产呦| 亚洲精品国产首次亮相| 熟妇无码人妻| 久爱午夜精品免费视频| 波多野结衣中文字幕一区二区| 亚洲天堂免费观看| 无码国产偷倩在线播放老年人| 国产成人免费观看在线视频| 日韩一二三区视频精品| 国产精品专区第1页| 思思热在线视频精品| 美女一级毛片无遮挡内谢| 亚洲国产精品无码AV| 亚洲欧美激情小说另类| 欧美午夜在线观看| 午夜毛片福利| 性欧美精品xxxx| 被公侵犯人妻少妇一区二区三区| 99精品视频播放|