摘 要: 針對移動終端處理能力受限、網絡接入能力較強和即時在線能力的特性,提出了一種基于GIS系統的網管系統拓撲圖呈現技術和解決方案。通過對移動終端上網管系統拓撲圖顯示模塊的設計,實現了網絡拓撲圖的呈現及基本的交互操作,如查看節點、鏈路狀態信息和管理端口等。基于手機模擬器仿真表明,基于GIS的網管拓撲圖顯示機制是可行的,為進一步利用移動終端的特性實現對網絡拓撲圖隨時隨地管理指明了研究方向。
關鍵詞: 移動終端;網絡管理;網絡拓撲圖;Google map
現代網絡中,網絡規模不斷發展,網絡管理系統在維護網絡正常運行和保證網絡服務質量上起著不可替代的作用。目前,網管系統主要是基于C/S架構建立的,也存在一些具有良好分布性、易擴展性的網絡管理技術,如CORBA技術、主動網絡技術、Web技術和移動代理Agent技術等,但這些技術都是基于Internet環境下的。基于C/S架構的網管系統中,服務器端主要對網絡信息進行收集、分析和處理,并將結果過濾后分發到客戶端中進行顯示。目前,客戶端主要是桌面計算機。現在移動終端實現網管功能主要是通過移動終端瀏覽Web頁面實現的,還沒有公開的本地原生應用方式。本文討論了一種在移動終端利用原生本地應用的方式實現網管拓撲圖功能的方法,并討論了一種利用JSON格式報文封裝網管數據的方法。這種方式與傳統網管或基于Web方式的網管系統相比,在移動性、用戶體驗和實時性上都更勝一籌。
本文著重討論網絡管理系統中網絡設備拓撲圖在移動終端中的設計與實現,提出了一種在移動終端上顯示網絡設備拓撲圖的方法,即利用移動終端上的電子地圖來顯示網絡拓撲圖。相比于用Web方式顯示,這種原生應用效率更高,并且可以支持用戶的放大和縮小等復雜手勢操作。本方法不僅能將網絡拓撲圖在移動終端上進行簡單展示,還具有能將網絡狀態和鏈路狀態實時動態展現的能力。本文最后用一個實例驗證了設計方案。
1 基于移動GIS的網管系統架構
1.1 與傳統網管系統接口
在移動終端上實現網管系統,必然會利用到現有傳統網管系統中的數據。但由于傳統網管系統數據接口是針對有線網絡而設計的,而移動網管系統接口面臨數據鏈路不穩定、數據時延較大以及傳送帶寬較小的現實問題,因此不宜直接采用傳統網管系統接口。
移動終端通過無線網絡與服務器發起通信請求,移動終端網絡受環境影響較大,因此通信應采用異步方式實現。在上層通信協議選取中,移動終端與服務器通信通常采用HTTP協議來實現。基于Web應用的傳統數據通信交換格式有XML類型和純文本類型兩種。而在Web應用中更適合采用JSON(JavaScript Object Notation)格式的報文形式進行封裝。相比于XML格式,JSON具有語法簡潔、格式清晰、技術層次簡單、易于人閱讀和編寫以及易于機器解析生成等特點。因此,移動終端輕量級的數據交換適合利用JSON報文封裝傳輸。
JSON基礎結構有“鍵/值”對集合以及值的有序列表兩種形式。在使用中通常將兩種形式結合一起使用。這種方法雖然沒有XML格式清晰明了,但是減少了XML結構化標記帶來的代碼冗余,對于移動互聯網的數據交換來說,JSON無疑是首選的。
1.2 服務器功能層次架構
國際標準化組織(ISO)在ISO/IEC 7498-4文檔中定義了網絡管理功能,即故障管理、配置管理、性能管理、安全管理和計費管理。本系統只側重網管系統中拓撲圖在移動終端系統中的實現,因此網管測試服務器由Tomcat搭建的Web服務器構成。移動終端用戶可以通過請求服務器而得到JSON格式封裝的網絡拓撲圖信息。
數據通信示意圖如圖1所示,Web前端服務器根據用戶請求向網管中心數據庫請求數據,認證后,Web服務器向網管數據服務器查詢數據庫信息,數據經Web服務器打包成JSON格式報文后返回給用戶。
1.3 智能終端軟件架構
移動互聯網的出現使得移動終端的應用方式有了極大的拓展,移動互聯網是對傳統網絡的有力補充。對于存在于傳統互聯網中的業務形式,移動互聯網可以通過改造接口的方式將傳統業務遷移。移動互聯網的業務并不是獨立存在的,它通常是對傳統業務在移動性上進行補充與特殊功能的擴展。圖2為一種典型的移動互聯網利用傳統互聯網進行遷移的架構圖。
在傳統的網絡管理系統(NMS)中,網絡拓撲圖通常是在PC上呈現的。要將網絡拓撲圖呈現遷移到移動終端中,就必須利用NMS中已有的網管數據與業務邏輯。但由于移動終端資源受限,移動終端拓撲圖顯示是對傳統NMS的補充,因此移動終端中拓撲圖顯示須重新考慮拓撲圖呈現方式與操作方式。傳統的NMS中拓撲圖顯示方法通常有列表顯示和圖形顯示[1]兩種。用列表顯示能清楚地反映網絡樹狀結構層次關系;用圖形顯示,圖形接口能直觀簡潔地反映出節點狀態、物理連接方式與鏈路狀態。
Google Map為Google推出的電子地圖服務,它不僅能提供Web形式訪問,在當下流行的移動終端中還集成了相關的組件。例如,iOS中Map Kit套件與Android系統中Google Map API都是基于Google Map的電子地圖服務。
移動終端屏幕尺寸較小且通常是通過觸摸操作,用戶操控難度大,不易采用用戶自定位節點模式。移動終端處理能力比傳統PC弱,采用自動定位節點模式不僅會增加處理負擔,而且會耗費多余電量。因此,采用固定節點模式顯示網絡拓撲對于移動終端是最合適的。
移動終端上程序設計通常采用MVC思想進行。MVC設計思想中,數據與表示分離的思想能幫助程序更加清楚地設計模塊。移動終端上,客戶端程序主要分為前臺模塊與后臺模塊。前臺模塊進行數據的繪制顯示功能,并創造用戶交互界面;后臺模塊由數據接口模塊與控制模塊組成,負責數據的讀取、解析以及用戶操作的響應。其中,數據接口模塊需要分別向電子地圖服務器與網管數據中心服務器發起數據請求,獲取數據后在移動終端本地解析;控制模塊負責數據與用戶視圖模塊以及數據接口模塊的交互操作。在用戶視圖模塊中,拓撲圖界面的呈現分為兩層,底層為電子地圖的顯示,數據由遠端電子地圖服務商提供;電子地圖層的上層覆蓋網元拓撲圖層,網元屬性中包含了網元地理位置信息,根據網元地理位置信息在電子地圖層上找到對應的坐標后繪制相應的拓撲圖結構。移動終端拓撲軟件層次如圖3所示。
2 嵌入GIS的網管拓撲圖呈現方法
2.1 網管數據可視化方法
移動終端通過接口獲取的數據為標準化的數據,移動終端本地收到數據后為更好地向用戶呈現,必須對數據進行有效的重構與可視化呈現。網管數據可視化包含對設備圖標、線路狀態和網絡拓撲位置的可視化呈現。
在傳統網管系統界面拓撲圖呈現中,主要包含用戶自定位節點模式、固定節點模式和自動定位節點模式3種呈現模式。在用戶自定位節點模式下,網元節點在網管拓撲圖中的位置可由用戶拖動變化,節點位置由網管系統記錄,鏈路根據節點之間的關系繪制;在固定節點模式中,網絡連接的拓撲圖放置在包含地理信息的背景地圖上,用戶能快速地從拓撲結構圖中獲取網絡拓撲位置信息,網元位置由網管系統提供。自動定位節點模式下,網元無絕對位置信息,網絡拓撲圖結構由網管系統中算法生成,在網元數量較多時會消耗網管系統不必要的計算資源。
網絡拓撲圖中網元包含多種設備型號,對于不同類型的設備,利用不同的設備圖標標識。拓撲圖中的鏈路中通常存在故障、擁塞、忙碌和通暢4種狀態,利用黑、紅、黃、綠4種顏色對4種不同鏈路狀態進行標示,以便于用戶查看。
網元節點信息中包含了地理位置信息,利用網元的地理位置信息,通過坐標變換將網元地理位置信息映射為移動終端屏幕上的坐標點,并在手機屏幕上繪制出來。
在移動終端中,由于存在多種設備分辨率適配問題,因此在控制拓撲圖顯示比例和字體大小等都采用相對大小布局。具體方法是檢測到設備分辨率后,通過固定的計算方法得出拓撲圖中字體大小、線條粗細以及設備圖標顯示比例等信息。
2.2 與GIS集成方法
拓撲圖要與GIS地圖集成顯示,通常采用在現有的GIS地圖上疊加圖層的方法,但疊加過程中必須考慮到疊加圖層的屏幕坐標與地理位置坐標轉換。常見的一種方式是將GIS地圖層繪制于屏幕底層,在此之上疊加繪制的拓撲圖層,如圖4所示。
網元節點的地理坐標與屏幕坐標通常不同,必須通過相應的轉換方法將網元節點的地理坐標轉換為屏幕位置坐標后才能確定網元節點的位置。網元節點屏幕坐標位置與電子地圖地理坐標的映射通常通過第三方電子地圖接口實現,電子地圖API中提供了相關的轉換與映射方法。其基本原理是通過計算網元節點的地理坐標與屏幕中心點地理坐標的差值,再將此差值乘以地圖放大倍率系數,在獲得與屏幕中心的偏移量后計算出網元節點的屏幕坐標。
2.3 基于GIS的交互機制
用戶視圖需與用戶進行交互,以完成如滑動、點擊、縮放和彈出菜單等操作。移動終端設備既包含全觸摸屏設備,又包括用實體鍵盤操作的設備,但所有設備都應能完成與GIS地圖的交互操作,這就要求在設計交互機制時考慮到用戶體驗。
GIS用戶視圖中,用戶主要與網元拓撲圖層中的對象進行交互操作。網元拓撲圖中所有設備圖標和鏈路等都是一個實例化的對象,通過設置每個對象的監聽事件,對相應監聽事件內容進行用戶自定義。
用戶對圖層的拖動可以通過捕獲用戶鼠標開始點擊與松開點擊時兩點的屏幕距離計算出來,進而控制GIS地圖圖層與網元拓撲圖層進行相應的焦點改變。在有較多網元的拓撲圖中,用戶通常會放大或縮小地圖進行查看,因此在用戶視圖中還應放置縮放控件。當用戶需要增加拓撲信息時,采用在原有圖層上再疊加額外的拓撲圖層的方法顯示拓撲信息。
拓撲圖層中設備和鏈路狀態由事先規定的接口向網管數據中心獲取。終端每隔一段時間向網管數據中心獲取一次拓撲信息數據。獲取數據以后,終端在本地對數據信息進行重構后,統一對原有的拓撲圖層進行銷毀并重新創建,以完成拓撲信息的刷新。
3 系統實現及測試驗證
3.1 測試服務器實現
測試服務器操作系統為Linux Ubuntu 10.04,Web服務器由Tomcat 6.0.35搭建。測試服務器數據庫使用MYSQL,服務器數據庫中與拓撲信息有關的有GroupInfo、LinkInfo和DeviceInfo 3個數據表。其中,GroupInfo數據表是服務器中存放拓撲圖網絡結構信息的數據表;LinkInfo存放網絡拓撲圖中的鏈路數據,DeviceInfo中存放網元數據。
當服務端收到數據請求時,服務器根據WebService地址信息請求向數據庫中查詢相關數據,并通過返回的數據表構造JSON格式的數據報文,最后由Tomacat以Web頁面方式向終端返回。終端返回得到一個簡單的HTML頁面,里面包含了JSON格式的數據信息。
3.2 終端GIS實現
目前,主流移動終端操作平臺包括iOS、Android和Windows Phone7等,國內的GIS廠商都推出了各自電子地圖在3種操作平臺上的對應開發包,其中以Google Map在Android平臺上尤為成熟,Android操作系統原生集成Google Map功能。因此,選取目前主流的移動終端操作系統Android 2.2平臺作為終端系統,使用Google Map API作為電子地圖服務接口,集成開發平臺選取Eclipse和Android 2.2 版SDK。Android平臺是Google基于Linux內核開發的移動終端系統,Android系統包含Google提供的Google Map API,軟件開發者可利用接口開發基于Google電子地圖的軟件。網管系統拓撲圖的電子地圖層就是基于Google電子地圖實現的。
拓撲圖顯示流軟件流程圖如圖5所示。
3.3 網管拓撲圖實現及驗證
網管拓撲圖是利用在電子地圖層堆疊圖層實現的。在Android中主要利用ItemizedOverlay類來構建覆蓋圖層,然后重載ItemizedOverlay中的draw方法來完成對圖層中網元圖標和鏈路狀態的繪制。
3.3.1 電子地圖初始顯示比例的選取
點擊某個包含子網的網絡組后,即彈出Google電子地圖顯示網絡拓撲信息。由于終端屏幕尺寸比較小,為了更友好地向用戶展現拓撲信息,采用拓撲列表方式與圖形顯示相結合的方式來顯示網絡拓撲信息。在用電子地圖顯示網絡信息時,需要考慮到初始化地圖比例問題。在服務器返回的子網絡設備與鏈路信息中包含網元坐標信息,利用網元坐標信息計算出所有網元位置信息中最大精度和緯度信息,再獲取其中心坐標即可。在Google Map API中,只需計算出所有網元中心位置,以中心位置為焦點將所有網元畫在地圖層之上,它就會自動初始化匹配的比例。
3.3.2 拓撲圖中網絡狀態顯示
拓撲圖中不僅可以顯示網絡拓撲信息,還可以將對應網元的詳細信息與鏈路狀態表示出來。利用鏈路顏色可以表示鏈路所處的狀態。網元節點可以點擊選取,選取后彈出新頁面顯示網元節點詳細信息。
根據圖5所示流程圖,開發了基于Android平臺的網管系統拓撲圖顯示軟件。考慮到獲得的拓撲圖結構過大,軟件采用了列表顯示與圖形顯示相結合的方法來顯示網絡拓撲結構。列表中顯示的是大的網絡組網元,展開列表后顯示某個特定網絡中網絡拓撲結構,在地圖上選取某個網元,即可查看網元詳細屬性。網絡拓撲GIS操作流程如圖6所示。
由于移動終端屏幕尺寸的限制,在網絡拓撲結構較大的情況下用列表方式加圖形顯示方式能有更好的用戶體驗。上層頂級拓撲結構用樹狀列表顯示,用戶通過列表中“+”、“-”號展開或收起樹狀拓撲結構。展開后選取某一個網絡組,即可在電子地圖上查看對應的網絡拓撲連接,各網元的位置即代表其實際的地理位置。網元之間鏈路用不同顏色標記來代表鏈路的即時狀態,綠色代表線路暢通,黃色代表線路繁忙,紅色代表線路擁塞,黑色則表示線路故障。在地圖上選取某個網元,可查看網元詳細屬性,了解網絡某個網元節點的詳細狀態。
3.4 結果分析
通過移動終端上的電子地圖來實時展示網管系統中拓撲圖,在技術和手段上是一種創新。測試結果表明,在移動終端上較好地現實了網絡拓撲圖,此時的網絡拓撲圖網元節點帶有地理位置信息,節點在電子地圖上的位置為節點的實際位置。但也存在以下問題:(1)節點之間的鏈路仍是直線,只能表示兩個節點之間的邏輯連接,鏈路的連接路徑不代表實際的線路;(2)設計中沒有利用終端的定位能力;(3)網元節點設備圖標無法隨地圖的放大縮小而變化,會出現地圖縮放到一定程度時網元圖標擁擠在一起的現象。
本文分析了移動終端的特點,介紹了一種移動終端在網絡管理系統中應用的場景模式,即將網管系統中的拓撲顯示功能擴展到移動終端上,通過移動終端向服務器請求數據后在本地重構顯示出拓撲圖。根據移動終端的特點,本文提出了一種在移動終端上利用電子地圖與網絡拓撲圖結合現實網絡拓撲的方法,并設計了驗證方案。最后,在Android平臺上測試了拓撲圖顯示方案。測試表明,在移動終端顯示網絡拓撲圖是可行的,可以將網絡拓撲結構顯示到電子地圖上,并且可以在地圖上動態展示網絡拓撲狀況。但驗證方案中仍存在不足之處,在結果分析中已逐一加以分析。
除將網管系統中拓撲圖功能顯示到電子地圖上,更加友好地展示網絡拓撲圖概況外,電子地圖還能與網管系統中告警功能配合,動態地定位告警源。此外,在網管系統報表統計功能中,電子地圖可與報表統計數據結合構建在電子地圖上報表統計的可視化效果,為用戶提供更加直觀的報表展示。存在的問題以及不足之處需在以后的研究中加以重視,找出更好的解決方法。
參考文獻
[1] 李航.網管系統界面拓撲圖生成的設計與實現[J].現代傳輸應用,2008(2):73-75.
[2] 章宏才,陳衛東.移動終端實現網絡遠程管理的研究和設計[J].計算機科學,2007(9):73-76.
[3] 李雙慶,雷明劍.MVC在基于Java Applet網管系統的研究與應用[J].計算機應用與軟件.2008(8):212-214.
[5] 張創.基于GIS的網絡拓撲管理系統的研究與實現[D].北京:北京郵電大學,2006.
[6] 靳巖,姚尚朗.Android開發入門與實戰[M].北京:人民郵電出版社,2009.
[7] 楊豐盛.Android應用開發揭秘[M].北京:機械工業出版社,2010.
[8] 韓敏,馮浩.基于JSON的地理信息數據交換方法研究[J].測繪科學,2010(1):159-161.
[9] 韓義波,宋莉,宋俊杰.Ajax技術結合XML或JSON的使用比較[J].電腦知識與技術:學校交流,2009(1):101-103.
[10] 周鵬,陳紅順,尹菲.Google Maps API技術在移動終端上的GIS應用[J].測繪通報,2012(3).