1.問(wèn)題概述 在電信網(wǎng)管系統(tǒng)的五大模塊FCAPS中,性能管理(Performance Management)是非常重要的部分。性能管理是對(duì)電信網(wǎng)絡(luò)的有效監(jiān)控手段,是實(shí)現(xiàn)網(wǎng)絡(luò)“提前預(yù)警”或“主動(dòng)式告警”的基礎(chǔ)。 性能管理一般分為歷史性能數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)采集兩類。歷史性能數(shù)據(jù)一般需要網(wǎng)管后臺(tái)系統(tǒng)的任務(wù)調(diào)度模塊按照預(yù)定義的系統(tǒng)配置參數(shù)啟動(dòng)數(shù)據(jù)采集任務(wù),并將數(shù)據(jù)采集結(jié)果存儲(chǔ)到數(shù)據(jù)庫(kù)中,以供用戶進(jìn)行統(tǒng)計(jì)、分析之用。實(shí)時(shí)性能數(shù)據(jù)一般由用戶主動(dòng)發(fā)起和終止,系統(tǒng)按照當(dāng)前任務(wù)參數(shù)進(jìn)行實(shí)時(shí)的數(shù)據(jù)采集,并將數(shù)據(jù)呈現(xiàn)。實(shí)時(shí)性能數(shù)據(jù)可選擇存庫(kù),也可選擇不存庫(kù),只作為瞬態(tài)數(shù)據(jù)進(jìn)行呈現(xiàn)。實(shí)時(shí)性能數(shù)據(jù)也可掛接業(yè)務(wù)判斷規(guī)則,以便生成告警或者各種動(dòng)作。 本文將針對(duì)電信網(wǎng)管中的實(shí)時(shí)數(shù)據(jù)的采集、呈現(xiàn)、自動(dòng)觸發(fā)動(dòng)作等開(kāi)發(fā)做一個(gè)初步的探討。
2.客戶端策略 一般而言,實(shí)時(shí)性能數(shù)據(jù)采集的發(fā)起者是客戶端。用戶通過(guò)客戶端指定感興趣的網(wǎng)絡(luò)設(shè)備或者管理對(duì)象,并選擇感興趣的具體參數(shù)、采集周期等信息,最終形成一個(gè)采集任務(wù)。啟動(dòng)后,客戶端將通過(guò)服務(wù)器對(duì)指定數(shù)據(jù)進(jìn)行采集,并將結(jié)果返回到客戶端進(jìn)行呈現(xiàn)。 由于本文只關(guān)注客戶端的呈現(xiàn)部分,所以只討論如何將要采集的數(shù)據(jù)和網(wǎng)絡(luò)管理對(duì)象進(jìn)行關(guān)聯(lián)和管理,及其呈現(xiàn)。
3.數(shù)據(jù)建模 我們?cè)趧?chuàng)建網(wǎng)絡(luò)管理對(duì)象的數(shù)據(jù)模型過(guò)程中,需要對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行相關(guān)的建模。我們可用創(chuàng)建新的類并繼承自TWaver的預(yù)定義節(jié)點(diǎn)對(duì)象,例如:
通過(guò)以上代碼,我們創(chuàng)建了一個(gè)簡(jiǎn)單的節(jié)點(diǎn)管理對(duì)象,并增加了新的屬性parameter1。但是我們很快發(fā)現(xiàn),對(duì)于一個(gè)實(shí)際應(yīng)用中的網(wǎng)絡(luò)設(shè)備或管理對(duì)象,其性能參數(shù)是數(shù)量龐大的,而且種類多樣。我們?nèi)绻ㄟ^(guò)java beans的方式進(jìn)行編碼,代碼將非常羅嗦煩雜,而且也無(wú)法處理一些動(dòng)態(tài)的數(shù)據(jù)。幸運(yùn)的是TWaver為我們提供了一種“動(dòng)態(tài)屬性”機(jī)制。我們可以在運(yùn)行期間動(dòng)態(tài)的對(duì)數(shù)據(jù)進(jìn)行添加、刪除和訪問(wèn):
通過(guò)以上方法,我們就可以讓管理對(duì)象方便的攜帶任意數(shù)量和類型的性能數(shù)據(jù),而無(wú)需預(yù)先定義。
4.數(shù)據(jù)監(jiān)控 當(dāng)一個(gè)管理對(duì)象的數(shù)據(jù)被性能采集輪詢模塊不斷的更新的時(shí)候,我們?cè)诳蛻舳巳绾斡米詈?jiǎn)單、可靠、有效的方法進(jìn)行監(jiān)控其變化呢?這個(gè)很簡(jiǎn)單,在TWaver中,我們可以使用一個(gè)網(wǎng)絡(luò)元素屬性監(jiān)聽(tīng)器(Element Property Listener)來(lái)完成。 TWaver是通過(guò)一個(gè)數(shù)據(jù)箱(DataBox)容器來(lái)裝載所有的網(wǎng)絡(luò)對(duì)象的。一旦對(duì)象放入數(shù)據(jù)箱后,數(shù)據(jù)箱將對(duì)每一個(gè)對(duì)象進(jìn)行監(jiān)控,包括其屬性的變化,甚至動(dòng)態(tài)屬性(即通過(guò)putClientProperty方法放入的數(shù)據(jù))的變化。我們可以在數(shù)據(jù)箱上面加裝一個(gè)屬性監(jiān)聽(tīng)器,即可對(duì)每一個(gè)網(wǎng)絡(luò)對(duì)象進(jìn)行屬性監(jiān)聽(tīng):
可見(jiàn),TWaver通過(guò)標(biāo)準(zhǔn)的java.beans包定義的PropertyChangeListener和PropertyChangeEvent來(lái)通知網(wǎng)絡(luò)管理對(duì)象的屬性變化,使用起來(lái)非常簡(jiǎn)單和容易理解。并且在結(jié)構(gòu)上也更加的MVC,容易擴(kuò)展。當(dāng)然我們也可以加裝多個(gè)監(jiān)聽(tīng)器分別對(duì)不同的對(duì)象進(jìn)行監(jiān)聽(tīng),并作出不同的相應(yīng)動(dòng)作。
5.數(shù)據(jù)呈現(xiàn) 我們使用TWaver Java提供的Chart模塊來(lái)呈現(xiàn)運(yùn)行狀態(tài)下網(wǎng)絡(luò)管理對(duì)象性能數(shù)據(jù)的變化,例如通過(guò)曲線圖、棒圖、餅圖等方式呈現(xiàn)數(shù)據(jù)的動(dòng)態(tài)變化。
下圖展示了TWaver Java的圖表呈現(xiàn)能力。
Powered by: BlogJava Copyright © TWaver