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

?

基于JMX與J-SIM的業(yè)務(wù)仿真平臺(tái)研究

2010-05-11 13:25:34林碧霞尹治本
關(guān)鍵詞:機(jī)端服務(wù)端組件

林碧霞, 尹治本

(西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院, 成都 610031)

隨著Internet的高速發(fā)展,網(wǎng)絡(luò)規(guī)模不斷擴(kuò)大,存儲(chǔ)系統(tǒng)成為Internet背后的功臣,也促成了存儲(chǔ)行業(yè)的高速發(fā)展。存儲(chǔ)業(yè)的發(fā)展,面臨著如何有效地對(duì)存儲(chǔ)陣列的性能情況進(jìn)行評(píng)價(jià)與分析的問(wèn)題。因?yàn)榇鎯?chǔ)陣列在不同的業(yè)務(wù)場(chǎng)景下,可能體現(xiàn)出不同的性能,所以如何在不同的業(yè)務(wù)場(chǎng)景下對(duì)存儲(chǔ)陣列進(jìn)行性能測(cè)試,從而分析出存儲(chǔ)陣列的性能,成為各廠家在測(cè)試過(guò)程中的重點(diǎn)與難點(diǎn)。

本文基于某公司的需求構(gòu)建了一個(gè)新的網(wǎng)絡(luò)仿真平臺(tái)。通過(guò)JMX結(jié)合J-Sim,利用模擬各種業(yè)務(wù)場(chǎng)景,對(duì)存儲(chǔ)陣列進(jìn)行性能測(cè)試。平臺(tái)開發(fā)目的是創(chuàng)建一個(gè)可能快速實(shí)現(xiàn)上層應(yīng)用模擬的環(huán)境。

1 JMX技術(shù)概述

JMX[1](Java managem ent Extension)是J2EE中的通用管理規(guī)范,它定義了一套標(biāo)準(zhǔn)的代理和服務(wù),可為應(yīng)用程序植入管理功能的輕型框架。JMX 可以跨越異構(gòu)操作系統(tǒng)平臺(tái)、系統(tǒng)體系結(jié)構(gòu)和網(wǎng)絡(luò)傳輸協(xié)議,從而對(duì)網(wǎng)絡(luò)上多種資源(包括應(yīng)用程序、設(shè)備、服務(wù)等)統(tǒng)一進(jìn)行管理,提供一致的管理視圖。因此逐漸成為管理復(fù)雜軟件系統(tǒng)的優(yōu)秀解決方案[2]。JBoss、IBM 的TivoliJMX和BEA 的Weblogic等商業(yè)軟件已成功的應(yīng)用了JMX,有效地提高了系統(tǒng)的動(dòng)態(tài)配置和管理能力。

JMX 是一個(gè)用來(lái)管理網(wǎng)絡(luò)、設(shè)備、應(yīng)用程序等資源的管理體系結(jié)構(gòu)。JMX 采用三級(jí)分而治之的體系和結(jié)構(gòu)化方法來(lái)降低網(wǎng)絡(luò)管理的復(fù)雜性,每層都是高度組件化的并由良好定義的接口進(jìn)行劃分。

(1)工具層:可管理端點(diǎn)(設(shè)備、軟件服務(wù)等), 可通過(guò)JMX指定的接口被訪問(wèn)。這是通過(guò)創(chuàng)建公開可配置屬性、可訪問(wèn)操作和事件的Java 對(duì)象實(shí)現(xiàn)的。這些對(duì)象稱為managed Bean(簡(jiǎn)稱MBean)。在規(guī)范中將可通過(guò)這些對(duì)象管理的端點(diǎn)稱為JMX 可管理的資源。

(2)代理層:JMX 代理是軟件組件, 它向遠(yuǎn)程管理組件公開一組標(biāo)準(zhǔn)化代理服務(wù), 并通過(guò)JMX 可管理資源的MBean 接口直接控制這些資源。實(shí)際上, 在JMX 代理內(nèi)可通過(guò)能夠動(dòng)態(tài)地裝入和卸裝MBean的MBean 服務(wù)器來(lái)管理MBean。

(3)分布式服務(wù)層:本層定義JMX 管理平臺(tái)對(duì)代理層進(jìn)行操作的接口和組件。應(yīng)用程序可以訪問(wèn)代理或代理組來(lái)管理由代理公開的JMX 可管理資源。

為了讓業(yè)務(wù)仿真平臺(tái)可以動(dòng)態(tài)管理,本文提出一種基于JMX 的性能業(yè)務(wù)仿真平臺(tái)設(shè)計(jì)方案,具有動(dòng)態(tài)的配置管理能力、動(dòng)態(tài)的調(diào)度策略選擇機(jī)制和可動(dòng)態(tài)配置的可視化管理視圖。

2 業(yè)務(wù)仿真平臺(tái)的設(shè)計(jì)

2.1 功能模塊

性能仿真平臺(tái)主要用于對(duì)存儲(chǔ)設(shè)備進(jìn)行性能的測(cè)試,這些網(wǎng)絡(luò)設(shè)備分布在Internet和Intranet網(wǎng)絡(luò)的環(huán)境中,一般通過(guò)HTTP、TCP/IP協(xié)議通信,所以將仿真平臺(tái)分為服務(wù)端與測(cè)試機(jī)端(1對(duì)多的關(guān)系)。

2.2 系統(tǒng)結(jié)構(gòu)

系統(tǒng)分為服務(wù)端和測(cè)試機(jī)端。圖1為仿真圖。

2.2.1 服務(wù)端

在功能上負(fù)責(zé)用戶與測(cè)試機(jī)的圖形界面接口,包括每臺(tái)測(cè)試機(jī)的用例配置、待測(cè)試存儲(chǔ)的指定、性能測(cè)試的項(xiàng)目、性能分析數(shù)據(jù)、報(bào)表的查詢與顯示,并對(duì)各測(cè)試機(jī)的相關(guān)系統(tǒng)故障和告警的查詢與顯示。與一般JMX的應(yīng)用不同,將JMX的MBean Server與HTTP瀏覽服務(wù)器放在這一層,通過(guò)多臺(tái)測(cè)試機(jī)同時(shí)對(duì)存儲(chǔ)進(jìn)行IO的下發(fā),增加對(duì)存儲(chǔ)的壓力。在服務(wù)端采用被動(dòng)接收來(lái)自各測(cè)試機(jī)的數(shù)據(jù)信息,對(duì)每臺(tái)測(cè)試機(jī)發(fā)來(lái)的信息進(jìn)行存儲(chǔ),顯示瞬時(shí)的各臺(tái)測(cè)試機(jī)的統(tǒng)計(jì)性能數(shù)據(jù),并打印出相關(guān)性能數(shù)據(jù)曲線,同時(shí)對(duì)應(yīng)CPU占用過(guò)大、系統(tǒng)崩潰等進(jìn)行告警。

2.2.2 測(cè)試機(jī)端

仿真平臺(tái)的測(cè)試機(jī)端是核心系統(tǒng)。每臺(tái)測(cè)試機(jī)需要在Server中注冊(cè),通過(guò)適配器invoke方法實(shí)現(xiàn)對(duì)MBean進(jìn)行調(diào)用,將性能數(shù)據(jù)根據(jù)服務(wù)端設(shè)置的時(shí)間段發(fā)給服務(wù)端。測(cè)試機(jī)端注冊(cè)了信息發(fā)送模塊、告警管理、日志管理。根據(jù)需要定義了2種適配器:(1)本地調(diào)用的適配器;(2)基于HTTP的遠(yuǎn)程調(diào)用的適配器。每臺(tái)測(cè)試機(jī)根據(jù)分配的用例運(yùn)行一個(gè)核心系統(tǒng),對(duì)存儲(chǔ)陣列進(jìn)行IO的下發(fā)操作,并在納秒級(jí)別對(duì)信息進(jìn)行統(tǒng)計(jì)匯總,發(fā)送給服務(wù)端。

3 測(cè)試機(jī)端的核心系統(tǒng)

每個(gè)測(cè)試機(jī)端都運(yùn)行著一個(gè)核心子系統(tǒng),這個(gè)子系統(tǒng)使用J-SIM設(shè)計(jì)開發(fā)。

3.1 J-Sim平臺(tái)概述

J-Sim[3](以前也被稱作JavaSim)是用純Java語(yǔ)言開發(fā)的一種開源的、基于組件合成的網(wǎng)絡(luò)模擬環(huán)境,該環(huán)境建立在組件自治體系結(jié)構(gòu)(Autonomous Component A rchitecture,ACA)和可擴(kuò)張Internet 網(wǎng)絡(luò)框架(Extensible Interne-tworking Framework,INET)之上。在不同的網(wǎng)絡(luò)場(chǎng)景之下采用“即插即用”的組件疊加方式就可以構(gòu)建出所需要的仿真環(huán)境和網(wǎng)絡(luò)協(xié)議棧,如無(wú)線傳感器網(wǎng)絡(luò)。

J-Sim是一個(gè)層次化、可擴(kuò)展的網(wǎng)絡(luò)仿真平臺(tái)。在J-Sim平臺(tái)下,組件是一個(gè)基本的單位。從網(wǎng)絡(luò)環(huán)境的角度看,主機(jī)、路由器、TCP / IP協(xié)議等網(wǎng)絡(luò)實(shí)體都是組件。而整個(gè)平臺(tái)是以自治組件框架(ACA)為基礎(chǔ)的,所謂的自治組件架構(gòu)是指它的架構(gòu)思想仿效數(shù)字電路中IC芯片的設(shè)計(jì)和制造,一個(gè)組件與另一個(gè)組件相互獨(dú)立。軟件系統(tǒng)由組件有機(jī)地組合起來(lái)類似于一塊印刷電路板上焊接芯片,甚至在系統(tǒng)運(yùn)行時(shí)還可以添加組件。J- Sim對(duì)網(wǎng)絡(luò)環(huán)境的模擬是通過(guò)在ACA的基礎(chǔ)上建立可擴(kuò)展網(wǎng)絡(luò)模擬(INET)來(lái)實(shí)現(xiàn)的。這個(gè)模型采用了基于包的通訊機(jī)制。此外,它定義了節(jié)點(diǎn)(主機(jī)或路由器)的結(jié)構(gòu)和基本網(wǎng)絡(luò)組件。根據(jù)需要,新定義的網(wǎng)絡(luò)組件都是它們的子類,這些網(wǎng)絡(luò)組件以TCP / IP模型為依據(jù),進(jìn)行層次化地編寫。對(duì)于編寫之后的組件代碼,需要時(shí)可以直接調(diào)用,也可以在它的基礎(chǔ)上擴(kuò)展新的網(wǎng)絡(luò)組件。

J-Sim仿真通過(guò)執(zhí)行線程表來(lái)實(shí)現(xiàn)。仿真運(yùn)行開始,先構(gòu)建各節(jié)點(diǎn),隨后目標(biāo)節(jié)點(diǎn)開始生成監(jiān)測(cè)數(shù)據(jù),目標(biāo)節(jié)點(diǎn)將監(jiān)測(cè)數(shù)據(jù)選擇發(fā)送給最佳的傳感器節(jié)點(diǎn),傳感器節(jié)點(diǎn)獲得數(shù)據(jù)后在匯聚節(jié)點(diǎn)分配的時(shí)隙內(nèi)將數(shù)據(jù)上傳。

3.2 核心子系統(tǒng)設(shè)計(jì)思想及其實(shí)現(xiàn)

本仿真平臺(tái)的核心子系統(tǒng)包括業(yè)務(wù)場(chǎng)景的抽象,子系統(tǒng)模擬業(yè)務(wù)開發(fā)。目前存儲(chǔ)所涉及的業(yè)務(wù)場(chǎng)景有文件系統(tǒng)業(yè)務(wù)、流媒體業(yè)務(wù)(包括VOD、視頻監(jiān)控等)、數(shù)據(jù)庫(kù)業(yè)務(wù)(支持O racle、SQL、My-SQL等)等業(yè)務(wù)場(chǎng)景。比如移動(dòng)公司所涉及到的業(yè)務(wù)場(chǎng)景。

本平臺(tái)業(yè)務(wù)模擬是在對(duì)實(shí)際測(cè)試的具體業(yè)務(wù)進(jìn)行抽象后,在本仿真平臺(tái)上通過(guò)在服務(wù)端更改業(yè)務(wù)配置文件(對(duì)應(yīng)于測(cè)試用例)來(lái)實(shí)現(xiàn)。

子系統(tǒng)模擬業(yè)務(wù)開發(fā)模塊包括虛擬用戶組(Virtual User G roup)、虛擬機(jī)(Virtual Machine)、虛擬資源池(Virtual Resource Poo l)、 監(jiān)視器(Monitor)等。

(1)虛擬用戶組:用戶組是用戶群體行為的發(fā)起源,負(fù)責(zé)調(diào)試用戶群體行為、收集用戶的反饋信息,并傳遞給監(jiān)控器。用戶組是由多個(gè)用戶組成,并根據(jù)具體用戶是否在進(jìn)行業(yè)務(wù)操作分為Active user 和 Idle user。通過(guò)對(duì)存儲(chǔ)陣列所涉及較多的文件系統(tǒng)業(yè)務(wù)、流媒體業(yè)務(wù)、數(shù)據(jù)庫(kù)業(yè)務(wù)進(jìn)行模擬。根據(jù)實(shí)際對(duì)存儲(chǔ)進(jìn)行的IO操作,將用戶抽象出來(lái),并將用戶分為用戶群體與單個(gè)用戶。通過(guò)用戶數(shù)目與用戶行為來(lái)模擬真實(shí)業(yè)務(wù)。用戶組有一個(gè)端口,用于把用戶反饋傳遞給監(jiān)視器。

(2)虛擬機(jī):虛擬機(jī)是用于模擬用戶請(qǐng)求的緊急度進(jìn)行排序和發(fā)送相關(guān)的請(qǐng)求。它負(fù)責(zé)任務(wù)的調(diào)試和用戶與資源之間的通信,VM(虛擬機(jī))包括線程池及任務(wù)調(diào)度。用戶與資源之間的任何通信都是以任務(wù)的方式提交給VM調(diào)試。VM主要用于模擬存儲(chǔ)系統(tǒng)的上層業(yè)務(wù)的離散事件模型。

(3)虛擬資源池:對(duì)用戶請(qǐng)求的各種資源進(jìn)行存儲(chǔ)陣列的訪問(wèn),并根據(jù)對(duì)存儲(chǔ)陣列的資源請(qǐng)求進(jìn)行相關(guān)性能數(shù)據(jù)的統(tǒng)計(jì)與分析。根據(jù)實(shí)際業(yè)務(wù)分為:文件系統(tǒng)資源池、多媒體資源池、數(shù)據(jù)庫(kù)資源池。資源池端有一個(gè)資源代理(Resou rce Agent),用于接受用戶端(User)發(fā)來(lái)的創(chuàng)建的資源的類型和數(shù)量,并轉(zhuǎn)發(fā)用戶的具體請(qǐng)求。

(4)監(jiān)視器:根據(jù)多線程調(diào)度,對(duì)資源池進(jìn)行的納秒級(jí)別的數(shù)據(jù)進(jìn)行匯總,并對(duì)數(shù)據(jù)進(jìn)行分類匯總、顯示。

(5)資源代理(Resource Agent):主要功能是根據(jù)用戶請(qǐng)求生成不同的資源池,分發(fā)user請(qǐng)求到不同的資源池里,并控制 user的并發(fā)數(shù)。

(6)資源池(Resource pool):由一系列同類的資源組成,資源池是一個(gè)Parent Component,它有兩個(gè)控制端口(a.把用戶請(qǐng)求轉(zhuǎn)發(fā)給資源;b. 控制用戶對(duì)某個(gè)資源的最大連接數(shù))。當(dāng)用戶要操作資源時(shí),必須先與Pool Component取得聯(lián)系,然后Pool Component在資源池里隨機(jī)選取一個(gè)資源給用戶,增加一個(gè)端口,端口數(shù)至少為1,這個(gè)默認(rèn)端口是接受pool Component發(fā)來(lái)的有用戶要進(jìn)行操作的信息,向資源池專門收集統(tǒng)計(jì)信息的端口(statistic port)發(fā)送信息。

Resource Port是在用戶和資源池通信的過(guò)程中動(dòng)態(tài)生成的一組端口,用來(lái)與資源進(jìn)行通信。

Fork Port用來(lái)接收Link發(fā)送給自己的fork事件,從而產(chǎn)生不同的用戶。

4 結(jié)束語(yǔ)

本文利用JMX的動(dòng)態(tài)配置管理能力、動(dòng)態(tài)調(diào)度策略選擇機(jī)制開發(fā)了服務(wù)端與測(cè)試機(jī)端,測(cè)試機(jī)端利用J-Sim模擬業(yè)務(wù)框架進(jìn)行開發(fā),從而讓本業(yè)務(wù)仿真系統(tǒng)具有動(dòng)態(tài)配置、更高的可維護(hù)性和擴(kuò)展性。本業(yè)務(wù)仿真平臺(tái)已實(shí)現(xiàn),在某公司的性能測(cè)試工作中投入使用,節(jié)約了人力、物力和財(cái)力,并且達(dá)到了較高的置信度。

[1]廖 淵,王保進(jìn),李明樹,等. 智能應(yīng)用服務(wù)協(xié)議iASP 的設(shè)計(jì)和實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2003,24(12):13-17.

[2] 廖 淵,李明樹,王 青. 基于Linux 的網(wǎng)絡(luò)計(jì)算機(jī)服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與應(yīng)用, 2003,39(14):12-16.

[3]ACA:The autonomous component architecture[EB/OL].http://www.j-sim.org/whitepapers/aca.html,2003.

猜你喜歡
機(jī)端服務(wù)端組件
無(wú)人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
能源工程(2022年2期)2022-05-23 13:51:50
一起機(jī)端斷路器非全相合閘案例的分析與思考
某大型水電站2F機(jī)組故障錄波3U0頻繁啟動(dòng)原因分析及處理經(jīng)過(guò)
新型碎邊剪刀盤組件
U盾外殼組件注塑模具設(shè)計(jì)
云存儲(chǔ)中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
新時(shí)期《移動(dòng)Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
在Windows Server 2008上創(chuàng)建應(yīng)用
風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
同步發(fā)電機(jī)機(jī)端勵(lì)磁系統(tǒng)故障分析及處理
蓬溪县| 广宁县| 黑山县| 灵璧县| 肇州县| 克什克腾旗| 额尔古纳市| 斗六市| 盐源县| 太仓市| 万盛区| 苏尼特左旗| 澄迈县| 斗六市| 莆田市| 仪陇县| 松江区| 确山县| 西峡县| 聂荣县| 永登县| 牙克石市| 迁安市| 永靖县| 墨脱县| 错那县| 昭觉县| 临颍县| 化州市| 赤水市| 溧水县| 修文县| 海城市| 连州市| 星座| 安溪县| 富平县| 海盐县| 咸宁市| 宾阳县| 镇平县|