<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    TWaver - 專注UI技術

    http://twaver.servasoft.com/
    posts - 171, comments - 191, trackbacks - 0, articles - 2
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    電信網管中的Java客戶端(四)

    Posted on 2010-09-01 13:52 TWaver 閱讀(1419) 評論(0)  編輯  收藏

    1.問題概述
    在電信網管系統的五大模塊FCAPS中,性能管理(Performance Management)是非常重要的部分。性能管理是對電信網絡的有效監控手段,是實現網絡“提前預警”或“主動式告警”的基礎。
    性能管理一般分為歷史性能數據和實時數據采集兩類。歷史性能數據一般需要網管后臺系統的任務調度模塊按照預定義的系統配置參數啟動數據采集任務,并將數據采集結果存儲到數據庫中,以供用戶進行統計、分析之用。實時性能數據一般由用戶主動發起和終止,系統按照當前任務參數進行實時的數據采集,并將數據呈現。實時性能數據可選擇存庫,也可選擇不存庫,只作為瞬態數據進行呈現。實時性能數據也可掛接業務判斷規則,以便生成告警或者各種動作。
    本文將針對電信網管中的實時數據的采集、呈現、自動觸發動作等開發做一個初步的探討。

    2.客戶端策略
    一般而言,實時性能數據采集的發起者是客戶端。用戶通過客戶端指定感興趣的網絡設備或者管理對象,并選擇感興趣的具體參數、采集周期等信息,最終形成一個采集任務。啟動后,客戶端將通過服務器對指定數據進行采集,并將結果返回到客戶端進行呈現。
    由于本文只關注客戶端的呈現部分,所以只討論如何將要采集的數據和網絡管理對象進行關聯和管理,及其呈現。

    3.數據建模
    我們在創建網絡管理對象的數據模型過程中,需要對網絡數據進行相關的建模。我們可用創建新的類并繼承自TWaver的預定義節點對象,例如:

     1public class MyEquipment extends twaver.Node {
     2
     3    public MyEquipment() {
     4    }

     5
     6    public MyEquipment(Object id) {
     7        super(id);
     8    }

     9
    10    public void setParameter1(Object param1) {
    11    }

    12
    13    public Object getParameter1() {
    14        return param1;
    15    }

    16}

    通過以上代碼,我們創建了一個簡單的節點管理對象,并增加了新的屬性parameter1。但是我們很快發現,對于一個實際應用中的網絡設備或管理對象,其性能參數是數量龐大的,而且種類多樣。我們如果通過java beans的方式進行編碼,代碼將非常羅嗦煩雜,而且也無法處理一些動態的數據。幸運的是TWaver為我們提供了一種“動態屬性”機制。我們可以在運行期間動態的對數據進行添加、刪除和訪問:

    1Node myNode = new Node();
    2//設置采集數據
    3myNode.putClientProperty("oper_status""up");
    4//訪問采集數據
    5myNode.getClientProperty("oper_status");

    通過以上方法,我們就可以讓管理對象方便的攜帶任意數量和類型的性能數據,而無需預先定義。

    4.數據監控
    當一個管理對象的數據被性能采集輪詢模塊不斷的更新的時候,我們在客戶端如何用最簡單、可靠、有效的方法進行監控其變化呢?這個很簡單,在TWaver中,我們可以使用一個網絡元素屬性監聽器(Element Property Listener)來完成。
    TWaver是通過一個數據箱(DataBox)容器來裝載所有的網絡對象的。一旦對象放入數據箱后,數據箱將對每一個對象進行監控,包括其屬性的變化,甚至動態屬性(即通過putClientProperty方法放入的數據)的變化。我們可以在數據箱上面加裝一個屬性監聽器,即可對每一個網絡對象進行屬性監聽:

     1TDataBox box = new TDataBox();
     2box.addElement(new Node());
     3box.addElementPropertyChangeListener(new PropertyChangeListener() {
     4
     5    public void propertyChange(PropertyChangeEvent e) {
     6        //獲得事件發生源,也就是管理對象
     7        Element element = (Element) e.getSource();
     8        //獲得變化的屬性名稱
     9        String propertyName = e.getPropertyName();
    10        //獲得屬性old值
    11        Object oldValue = e.getOldValue();
    12        //獲得屬性new值
    13        Object newValue = e.getNewValue();
    14        //然后就可以顯示chart圖了
    15    }

    16}
    );

    可見,TWaver通過標準的java.beans包定義的PropertyChangeListener和PropertyChangeEvent來通知網絡管理對象的屬性變化,使用起來非常簡單和容易理解。并且在結構上也更加的MVC,容易擴展。當然我們也可以加裝多個監聽器分別對不同的對象進行監聽,并作出不同的相應動作。

    5.數據呈現
    我們使用TWaver Java提供的Chart模塊來呈現運行狀態下網絡管理對象性能數據的變化,例如通過曲線圖、棒圖、餅圖等方式呈現數據的動態變化。

    下圖展示了TWaver Java的圖表呈現能力。


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: AV在线播放日韩亚洲欧| 四色在线精品免费观看| 亚洲一区日韩高清中文字幕亚洲 | 亚洲精品tv久久久久| 黄色免费网址在线观看| 国产伦精品一区二区三区免费迷| 亚洲精品无码av片| 成人爱做日本视频免费| 精品特级一级毛片免费观看| 国产麻豆剧传媒精品国产免费| 亚洲AV无码专区亚洲AV桃| 免费高清在线爱做视频| 国产成人+综合亚洲+天堂| 免费大片在线观看网站| 无码的免费不卡毛片视频| 亚洲毛片αv无线播放一区| 日本人成在线视频免费播放| 亚洲春色另类小说| 日韩av无码成人无码免费 | 一级做a爰片久久毛片免费陪 | 免费一级毛片不卡不收费| 成人久久久观看免费毛片| 亚洲综合日韩久久成人AV| 国产午夜无码精品免费看| 色婷婷亚洲十月十月色天| 曰曰鲁夜夜免费播放视频 | 亚洲国产精品久久久天堂| 无码日韩精品一区二区免费暖暖| 亚洲成人免费电影| 国产片免费在线观看| 一级特黄a大片免费| 亚洲AV无码一区二区三区系列| 91热成人精品国产免费| 久久亚洲精品无码av| 亚洲综合AV在线在线播放| 精品免费久久久久久久| 国产成人综合久久精品亚洲| 国产亚洲精品国产| 在线免费观看一级片| 你是我的城池营垒免费看| 亚洲国产成a人v在线观看|