楊震斌,許 強,方 成
(1.科大智能(合肥)科技有限公司,安徽 合肥 230088;2.合肥學院計算機科學及技術系,安徽 合肥 230601)
隨著通信技術的迅速發展,通信網絡也不斷地擴大,設備的種類和數量也越來越多,需要開發出與之配套和同步的商用網絡管理系統.網絡管理系統能夠集中管理網絡中各個設備及網絡的性能、故障和配置,能夠保存歷史數據供用戶對網絡過去運營狀況進行分析、評價,對未來狀況進行一定的預測,為保證網絡正常、高效、經濟和安全地運行具有非常重要的作用.
在網管軟件進行系統架構設計之前,結合實際的應用需求和筆者的工程經驗,明確以下設計策略:
平臺性策略:系統設計致力于打造科大智能網絡產品的基礎性平臺,需為融入公司未來通信產品奠定基礎;
擴展性策略:主要包括交換機數量可擴展,交換機種類可擴展,架構可擴展,同時考慮其他類型通信產品的擴展性;
移植性策略:在客戶端將業務邏輯單獨分離出來,形成中間層,簡化了客戶端,而且減輕了服務器的負擔,提高了代碼的重用性,使系統可方便地移植到不同操作系統和數據庫;
可用性策略:系統采用主—從式部署,從而保證服務器或軟件系統出現故障可提供不間斷服務;
兼容性策略:為了便于與其他公司設備的網管連接,提供基于CORBA協議、TL1協議、SNMP協議等多種北向接口模塊,并可根據實際需要進行選擇;
可配置性策略:為了做到更靈活的監控和管理,系統各功能模塊中的運行參數均能做到可配置.
系統采用C/S結構,分服務端和客戶端兩個子系統,如圖1所示.客戶端通過外部網訪問服務端,查看網絡的各類數據,并進行管理.服務端通過內部網監控和管理所有交換機設備,將數據存儲在數據庫中.服務端通過SNMP協議管理交換機設備,支持 Get/GetNext/GetBulk/Request/Response/Trap/Inform 7種協議類型.客戶端與服務端通訊采用TCP和RMI兩種模式并用的方式,其中TCP負責傳輸設備參數信息和告警數據,RMI負責傳輸管理數據.這樣既保證了重要信息的實時性,又提高了信息完整性和代碼的執行效率.

圖1 系統架構設計示意圖
服務端子系統分為設備管理層、工作隊列、數據代理層、心跳和數據庫5個部分,如圖2所示.

圖2 服務端子系統設計圖
工作隊列保存當前網絡中設備的實時狀態,根據設備的狀態建立不同工作隊列,分正常隊列、重試隊列和故障隊列3種,對設備進行有效管理.每個設備的狀態也對應地分為正常、重試和故障3種,其狀態圖如圖3所示.

圖3 工作隊列狀態圖
其中故障恢復手段有兩種:
(1)管理員手工恢復.
(2)設備通過Trap機制上報告警信息.當服務器收到該信息后,根據IP將指定設備恢復到正常隊列中.
設備管理層負責訪問設備,實現網絡掃描、數據采集和故障監控等功能.
網絡掃描分為初始掃描和重試掃描兩類:初始掃描由系統啟動和手工初始化觸發,掃描整個網絡,找出所有需要管理的交換機設備,計算設備之間的拓撲關系并將設備IP保存到“正常隊列”中.重試掃描根據重試隊列中的內容掃描該設備是否正常.如果正常則恢復到“正常隊列”中,如果連續掃描3次仍不正常則移到“故障隊列”.
數據采集根據“正常隊列”采集設備的各類數據,保存到數據庫中.
故障監控由設備Trap觸發和定時掃描中發現設備斷網或指標異常時觸發,對設備Trap信息進行捕捉,并存儲到數據庫中.故障內容保存數據庫后,同時在內存中保留一份數據(最近24 h),用于客戶端請求故障信息時及時反饋,提高效率.
數據代理層負責接受客戶端訪問,實現配置管理、故障管理、性能管理和安全管理等功能.
配置管理有查詢和更新兩種操作,將數據返回客戶端,根據用戶請求更新數據,并采用SNMP SET更新設備.
故障管理有查詢、故障處理、故障配置3種操作.查詢分為當前查詢和歷史查詢兩類:當前查詢是從內存中返回最近24 h的故障數據;歷史查詢是根據用戶查詢條件從數據庫中返回結果.故障處理分確認和處理兩種操作,更改故障狀態,并保存到數據庫中.故障配置可以配置各種故障的級別、類型、門限等屬性,把管理員的配置信息保存到數據庫中.其中,故障級別分緊急、主要、次要、提示、未確定、清除6種.故障類型分設備、服務質量、通訊、環境、處理失敗5種.故障狀態分未確認、已確認和已處理3種,狀態變化如圖4所示.

圖4 故障狀態遷移圖
性能管理有查詢、監測配置二種操作.查詢是根據用戶查詢條件從數據庫中返回結果.監測配置是接受管理員的配置請求,存儲到數據庫中,并控制數據采集模塊按照配置進行性能數據采集.其中,配置參數包括性能監測對象(指定的網元、單元盤、端口、通道等)、需要監測的參數名稱、監測周期(15 min或者24 h)、監測狀態(打開/關閉)、開始時間、結束時間、是否自動上報等.
安全管理包括用戶組管理、用戶管理、權限管理、日志、參數配置、登錄注銷等.
系統支持主—從方式的多服務器部署,建立“軟”心跳機制實現在服務器出現故障可由從機順利接管,保證服務的可用性.心跳機制流程如圖5所示.心跳重試次數為3次,3次未接收到主服務響應視為主服務宕機.

圖5 主從服務器心跳管理示意圖
系統采用MySQL數據庫,集中存儲各類數據,實現數據庫的備份與動態創建.
利用MySQL備份功能實現主—從備份,實時地將主數據庫備份到遠程從數據庫中,保證數據的安全性.
對于數據量較大的表,采用動態創建歷史表的技術進行數據的移動,保證主表的容量在可控范圍內,提高系統的運行效率.
服務端啟動后,初始化工作如圖6所示.

圖6 服務端子系統的啟動流程圖
本文設計的網管軟件系統架構及服務端子系統,應用于科大智能CSG-T3000網管軟件中,經過實際應用,完全滿足了可靠性、可擴展性和兼容性的需求.其中,服務端子系統的相關設計很好地滿足了功能與性能的指標要求,對廣大工程研發人員有參考意義.
[1]朱創錄.SNMP網絡管理中高效輪詢方法研究[J].計算機技術與發展,2012(12):135-138.
[2]袁健美.基于Java的SNMP網絡管理系統[J].計算機工程,2009(10):30-32.
[3]基于SNMP的MIB結構樹高效算法研究[J].計算機工程與設計,2010,31(15):3386-3389.
[4]錢文光,張云峰.基于SNMP的網絡管理系統的研究與設計[J].北華航天工業學院學報,2012(12):7-9.
[5]胡天驕,郭旭靜,王祖林.網管軟件主備切換協議的設計與驗證[J].電子質量,2011(7):26-29.
[8]潘楠,王勇,陶曉玲.一種基于SNMP的鏈路層拓撲發現算法[J].計算機工程,2012(1):103-105.
[9]魏煜欣,李強.一種基于SNMP網絡性能管理數據的采集方法[J].計算機工程與應用,2011,47(2):105-107.