• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2010-05-11 13:25:34林碧霞尹治本
      鐵路計算機應(yīng)用 2010年7期
      關(guān)鍵詞:機端服務(wù)端組件

      林碧霞, 尹治本

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

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

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

      1 JMX技術(shù)概述

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

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

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

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

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

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

      2 業(yè)務(wù)仿真平臺的設(shè)計

      2.1 功能模塊

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

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

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

      2.2.1 服務(wù)端

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

      2.2.2 測試機端

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

      3 測試機端的核心系統(tǒng)

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

      3.1 J-Sim平臺概述

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

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

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

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

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

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

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

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

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

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

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

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

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

      Resource Port是在用戶和資源池通信的過程中動態(tài)生成的一組端口,用來與資源進行通信。

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

      4 結(jié)束語

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

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

      [2] 廖 淵,李明樹,王 青. 基于Linux 的網(wǎng)絡(luò)計算機服務(wù)器的設(shè)計與實現(xiàn)[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.

      猜你喜歡
      機端服務(wù)端組件
      無人機智能巡檢在光伏電站組件診斷中的應(yīng)用
      能源工程(2022年2期)2022-05-23 13:51:50
      一起機端斷路器非全相合閘案例的分析與思考
      某大型水電站2F機組故障錄波3U0頻繁啟動原因分析及處理經(jīng)過
      新型碎邊剪刀盤組件
      重型機械(2020年2期)2020-07-24 08:16:16
      U盾外殼組件注塑模具設(shè)計
      云存儲中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
      新時期《移動Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
      在Windows Server 2008上創(chuàng)建應(yīng)用
      風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
      太陽能(2015年11期)2015-04-10 12:53:04
      同步發(fā)電機機端勵磁系統(tǒng)故障分析及處理
      機電信息(2015年6期)2015-02-27 15:55:06
      乐昌市| 闸北区| 新安县| 贵溪市| 阿尔山市| 颍上县| 普兰店市| 镇江市| 南召县| 那曲县| 剑川县| 柘城县| 邵阳县| 泗洪县| 大理市| 海门市| 万宁市| 大同县| 宁远县| 虞城县| 谷城县| 宣汉县| 芮城县| 理塘县| 涞源县| 平邑县| 三河市| 辽源市| 杂多县| 香格里拉县| 奉节县| 抚宁县| 诏安县| 武功县| 左云县| 竹山县| 崇仁县| 兴安盟| 泰顺县| 绥宁县| 礼泉县|