李亞平 劉夢陽 張一村 何曉煥 敦科翔
摘要:真實的網絡結構復雜多級、設備數量及種類較多,難以對網元信息及設備故障告警信息等進行高度、全面、直觀的可視化監控。介紹了JSON, JTopo技術的重要特性、優勢以及系統總體設計與數據處理過程,實現了一種基于JSON的網管拓撲定制,具有構建靈活、多級展示、便于存儲、映射準確和耦合性低等特點,使設備告警故障分析與定位更加直觀化、自動化及智能化,具有一定的應用價值。
關鍵詞:JSON;JTopo;網管;拓撲
中圖分類號:TP393.02文獻標志碼:A文章編號:1008-1739(2019)19-65-4

0引言
JSON是一種輕量級的數據交換語言,可在很大程度上節省數據量[1],JTopo是一款國產免費且強大的拓撲圖形化界面開發工具[2]。由于真實的網絡結構復雜多級、設備數量及種類較多,難以對網元信息、設備故障告警信息等進行全面、直觀的可視化監控,針對這一問題,結合JSON, JTopo技術的優勢,實現了一種基于JSON的網管拓撲定制,使得設備告警故障分析與定位更加直觀化、自動化和智能化。
1關鍵技術
1.1 JSON的重要特性
JSON數據格式簡潔清晰,是獨立于語言的文本格式,為開發者閱讀和計算機解析提供便利[3]。JSON具有下列重要特性:①擴展性良好,能夠彌補HTML僅能描述數據顯示樣式的缺點[4];②格式簡潔清晰、占用帶寬少、傳輸速率高[5];③易于解析和處理,大大提升開發效率;④支持多種語言,易于維護。
1.2 JTopo優勢
JTopo基于HTML5 Canvas關系[6],相對于當下的很多圖形界面開發軟件,具有如下優勢:①接口設計簡單,圖形構建便捷;②兼容性良好[7];③采用JSON數據格式進行數據傳輸,格式簡潔清晰;④使用方便,容易閱讀,用戶滿意度高;⑤占用空間少,傳輸高效[8]。
2系統總體設計
2.1拓撲結構
拓撲抽象和機框資源抽象如圖1所示。
拓撲是網管系統的主要展現形式,是融合展示、一體化集成操作的關鍵所在。拓撲是樹形結構,可抽象成類似的數據格式。拓撲的子網是一個小型拓撲,可邏輯迭代、降低冗余,實現分層。設備可通過3級設備描述網元進行描述,一個機框資源可對應多個設備。

2.2整體框架設計
網管拓撲實現的整體架構如圖2所示,采用B/S架構,從模塊上可分為以下4個部分。
①前臺界面層:系統的前端模塊,負責發送用戶操作請求到業務邏輯層,然后接收并顯示返回結果。本系統使用JTopo實現拓撲和告警等相關信息的展示。具體包括:界面組成、顯示及操作。
②后臺數據處理模塊:系統的業務邏輯層,負責接收界面層發送的操作請求并對數據層進行訪問,將結果以JSON格式返回給界面層。本系統使用Java技術,其相關數據處理過程,包括告警管理及網元和拓撲管理。
③數據庫接口Hibernate:在本系統中負責連接后臺數據處理模塊與MySQL數據庫。
④MySQL數據庫:系統的數據訪問層,負責存儲用戶輸入的原始數據和經處理后的數據。

3數據處理實現
利用JSON數據格式和JTopo技術在網管系統中可以實現靈活定制、多級展示、便于存儲、映射準確、耦合性低的拓撲管理功能,主要包含拓撲新建、拓撲數據展示、拓撲與網元告警映射等。
3.1關鍵數據表及JSON結構設計
系統中涉及的數據表包括:系統設備表(Equips)、拓撲數據表(TopoData)、機框資源表、產品系列表、設備類型表以及告警狀態表等,關鍵數據表設計如表1所示。
表1為系統設備表,用來存儲系統所管理的實際物理設備。設備通過TopoID與TopoData表關聯,表示設備所屬拓撲。設備通過ResID與機框資源表關聯,表示設備所屬機框資源。通過Series, Style, EquipID能唯一確定某個設備,并且通過Series, Style與產品系列表和設備類型表進行關聯。

拓撲數據表,用來存儲系統的拓撲數據。關鍵設計通過所屬父拓撲的ID將拓撲與子網進行關聯,給定最上層拓撲ID即可查詢其下層的所有子網。通過子網ID唯一確定某個子網。設備的JSON結構的主要key值說明如表2所示。

3.2拓撲新建實現
拓撲新建的后臺數據處理流程如圖3所示。

首先解析拓撲JSON,得到拓撲信息及網元信息JSON,然后將網元信息JSON以HTML形式保存到指定路徑;再保存拓撲信息到TopoData表;接著解析網元信息JSON為設備、子網或IMS;保存設備到Equips表,保存子網和IMS到TopoData表;最后判斷數據是否保存成功,返回結果到前臺,并給出提示。
3.3拓撲展示實現
拓撲展示的流程圖如圖4所示。

前臺進行Ajax請求,后臺根據TopoID查詢拓撲,得到HTML文件路徑、背景圖路徑、Equips表及TopoData表等需要展示的數據,然后對其進行業務處理及數據庫操作,再將對象封裝為JSON格式,前臺調用Ready函數,獲取JSON數據并解析,然后利用JTopo對其展示。
3.4拓撲與網元告警映射實現
拓撲與網元告警映射實現流程如下:
①前臺通過定時器進行Ajax請求;
②后臺根據拓撲ID通過回調函數查詢所有屬于該拓撲的子網,然后通過拓撲ID查詢系統設備表和告警狀態表,如果屬于子網的設備存在告警,則子網也存在告警,子網的告警信息取決于屬于該子網的設備的最高級別的告警,得到所有子網的告警信息,包括子網ID、告警級別和告警顏色;
③后臺根據拓撲ID查詢屬于當前拓撲的所有設備及其對應的告警狀態,得到當前拓撲設備的告警信息,包括產品系列—設備類型—設備ID、告警級別和告警顏色;
④將存在告警的對象(包括設備及子網)及相應告警信息封裝為JSON數據格式;
⑤前臺根據唯一標識對JSON進行解析,得到相應告警信息;
⑥前臺啟用告警閃爍定時器,顯示拓撲中網元的告警顏色和告警級別信息。
通過上述拓撲新建、數據展示、拓撲與網元告警映射,可以實現整個網管系統實時、直觀地展示信息。同時在拓撲展示頁面中,還可以查看當前告警、歷史告警,清除當前告警及對設備進行配置等。
本系統除了實現上述功能外,還完成了拓撲編輯、機框資源管理、設備描述網元與告警映射等。
4實驗結果
經過拓撲新建、展示及拓撲與網元告警映射后,利用JSON, JTopo技術繪制出網管拓撲圖和機框資源圖,分別如圖5和圖6所示。圖5中顯示各網元、子網及IMS的當前狀態,若存在告警,則閃爍顯示告警級別及告警顏色。圖6中顯示各設備描述網元的當前狀態,若存在告警,則閃爍顯示告警級別及相應的告警顏色。

相對于其他拓撲圖,該網管拓撲具有高度集成、分層解耦、高效處理、完美兼容及靈活部署等優勢,可多級展示、便于存儲、映射準確,實現故障設備及單元的快速定位,提高分析與解決故障的效率。
5結束語
介紹了JSON, JTopo技術的重要特性及優勢、系統總體設計與數據處理過程,繪制了網管拓撲圖,具有高度集成、分層解耦、高效處理、完美兼容及靈活部署等優勢,設備告警故障分析與定位更加直觀化、自動化及智能化,未來可借鑒和應用于設備配置、云平臺、監控系統和智慧城市等。
參考文獻
[1]葉晶晶.基于HTML5的拓撲圖繪制引擎設計與實現[D].南昌:南昌航空大學, 2017.
[2]黃永旭.Web網絡拓撲展示系統關鍵技術研究[D].北京:北京郵電大學, 2017.
[3]平淑文,潘玨羽,張學金,等.基于HTML5和Java Script輕量型動畫框架開發[J].計算機技術與發展, 2013,23(12):5-10.
[4]朱峰.基于JSON的互聯網異構數據整合的應用研究[D].南京:南京郵電大學, 2016.
[5] Crockford D. JSON:The Fat-free Alternative to XML[J].Proc of XML,2016:1-13.
[6]谷偉.基于HTML5 Canvas的客戶端圖表技術研究[J].信息技術, 2013,37(9):107-110.
[7]吳煜州.XML壓縮算法及二進制數據序列化研究[D].廈門:廈門大學, 2012.
[8]王粵.硬件資源信息獲取與展示系統的設計與實現[D].開封:河南大學, 2018.
[9]過其峰,阮海波,王玉紅,等.基于Flex和Java的配網通信網管系統的拓撲設計與實現[J].自動化技術與應用,2018,37(12):48-50.