楊震斌,許 強(qiáng),方 成
(1.科大智能(合肥)科技有限公司,安徽 合肥 230088;2.合肥學(xué)院計算機(jī)科學(xué)及技術(shù)系,安徽 合肥 230601)
隨著通信技術(shù)的迅速發(fā)展,通信網(wǎng)絡(luò)也不斷地擴(kuò)大,設(shè)備的種類和數(shù)量也越來越多,需要開發(fā)出與之配套和同步的商用網(wǎng)絡(luò)管理系統(tǒng).網(wǎng)絡(luò)管理系統(tǒng)能夠集中管理網(wǎng)絡(luò)中各個設(shè)備及網(wǎng)絡(luò)的性能、故障和配置,能夠保存歷史數(shù)據(jù)供用戶對網(wǎng)絡(luò)過去運(yùn)營狀況進(jìn)行分析、評價,對未來狀況進(jìn)行一定的預(yù)測,為保證網(wǎng)絡(luò)正常、高效、經(jīng)濟(jì)和安全地運(yùn)行具有非常重要的作用.
在網(wǎng)管軟件進(jìn)行系統(tǒng)架構(gòu)設(shè)計之前,結(jié)合實際的應(yīng)用需求和筆者的工程經(jīng)驗,明確以下設(shè)計策略:
平臺性策略:系統(tǒng)設(shè)計致力于打造科大智能網(wǎng)絡(luò)產(chǎn)品的基礎(chǔ)性平臺,需為融入公司未來通信產(chǎn)品奠定基礎(chǔ);
擴(kuò)展性策略:主要包括交換機(jī)數(shù)量可擴(kuò)展,交換機(jī)種類可擴(kuò)展,架構(gòu)可擴(kuò)展,同時考慮其他類型通信產(chǎn)品的擴(kuò)展性;
移植性策略:在客戶端將業(yè)務(wù)邏輯單獨分離出來,形成中間層,簡化了客戶端,而且減輕了服務(wù)器的負(fù)擔(dān),提高了代碼的重用性,使系統(tǒng)可方便地移植到不同操作系統(tǒng)和數(shù)據(jù)庫;
可用性策略:系統(tǒng)采用主—從式部署,從而保證服務(wù)器或軟件系統(tǒng)出現(xiàn)故障可提供不間斷服務(wù);
兼容性策略:為了便于與其他公司設(shè)備的網(wǎng)管連接,提供基于CORBA協(xié)議、TL1協(xié)議、SNMP協(xié)議等多種北向接口模塊,并可根據(jù)實際需要進(jìn)行選擇;
可配置性策略:為了做到更靈活的監(jiān)控和管理,系統(tǒng)各功能模塊中的運(yùn)行參數(shù)均能做到可配置.
系統(tǒng)采用C/S結(jié)構(gòu),分服務(wù)端和客戶端兩個子系統(tǒng),如圖1所示.客戶端通過外部網(wǎng)訪問服務(wù)端,查看網(wǎng)絡(luò)的各類數(shù)據(jù),并進(jìn)行管理.服務(wù)端通過內(nèi)部網(wǎng)監(jiān)控和管理所有交換機(jī)設(shè)備,將數(shù)據(jù)存儲在數(shù)據(jù)庫中.服務(wù)端通過SNMP協(xié)議管理交換機(jī)設(shè)備,支持 Get/GetNext/GetBulk/Request/Response/Trap/Inform 7種協(xié)議類型.客戶端與服務(wù)端通訊采用TCP和RMI兩種模式并用的方式,其中TCP負(fù)責(zé)傳輸設(shè)備參數(shù)信息和告警數(shù)據(jù),RMI負(fù)責(zé)傳輸管理數(shù)據(jù).這樣既保證了重要信息的實時性,又提高了信息完整性和代碼的執(zhí)行效率.
圖1 系統(tǒng)架構(gòu)設(shè)計示意圖
服務(wù)端子系統(tǒng)分為設(shè)備管理層、工作隊列、數(shù)據(jù)代理層、心跳和數(shù)據(jù)庫5個部分,如圖2所示.
圖2 服務(wù)端子系統(tǒng)設(shè)計圖
工作隊列保存當(dāng)前網(wǎng)絡(luò)中設(shè)備的實時狀態(tài),根據(jù)設(shè)備的狀態(tài)建立不同工作隊列,分正常隊列、重試隊列和故障隊列3種,對設(shè)備進(jìn)行有效管理.每個設(shè)備的狀態(tài)也對應(yīng)地分為正常、重試和故障3種,其狀態(tài)圖如圖3所示.
圖3 工作隊列狀態(tài)圖
其中故障恢復(fù)手段有兩種:
(1)管理員手工恢復(fù).
(2)設(shè)備通過Trap機(jī)制上報告警信息.當(dāng)服務(wù)器收到該信息后,根據(jù)IP將指定設(shè)備恢復(fù)到正常隊列中.
設(shè)備管理層負(fù)責(zé)訪問設(shè)備,實現(xiàn)網(wǎng)絡(luò)掃描、數(shù)據(jù)采集和故障監(jiān)控等功能.
網(wǎng)絡(luò)掃描分為初始掃描和重試掃描兩類:初始掃描由系統(tǒng)啟動和手工初始化觸發(fā),掃描整個網(wǎng)絡(luò),找出所有需要管理的交換機(jī)設(shè)備,計算設(shè)備之間的拓?fù)潢P(guān)系并將設(shè)備IP保存到“正常隊列”中.重試掃描根據(jù)重試隊列中的內(nèi)容掃描該設(shè)備是否正常.如果正常則恢復(fù)到“正常隊列”中,如果連續(xù)掃描3次仍不正常則移到“故障隊列”.
數(shù)據(jù)采集根據(jù)“正常隊列”采集設(shè)備的各類數(shù)據(jù),保存到數(shù)據(jù)庫中.
故障監(jiān)控由設(shè)備Trap觸發(fā)和定時掃描中發(fā)現(xiàn)設(shè)備斷網(wǎng)或指標(biāo)異常時觸發(fā),對設(shè)備Trap信息進(jìn)行捕捉,并存儲到數(shù)據(jù)庫中.故障內(nèi)容保存數(shù)據(jù)庫后,同時在內(nèi)存中保留一份數(shù)據(jù)(最近24 h),用于客戶端請求故障信息時及時反饋,提高效率.
數(shù)據(jù)代理層負(fù)責(zé)接受客戶端訪問,實現(xiàn)配置管理、故障管理、性能管理和安全管理等功能.
配置管理有查詢和更新兩種操作,將數(shù)據(jù)返回客戶端,根據(jù)用戶請求更新數(shù)據(jù),并采用SNMP SET更新設(shè)備.
故障管理有查詢、故障處理、故障配置3種操作.查詢分為當(dāng)前查詢和歷史查詢兩類:當(dāng)前查詢是從內(nèi)存中返回最近24 h的故障數(shù)據(jù);歷史查詢是根據(jù)用戶查詢條件從數(shù)據(jù)庫中返回結(jié)果.故障處理分確認(rèn)和處理兩種操作,更改故障狀態(tài),并保存到數(shù)據(jù)庫中.故障配置可以配置各種故障的級別、類型、門限等屬性,把管理員的配置信息保存到數(shù)據(jù)庫中.其中,故障級別分緊急、主要、次要、提示、未確定、清除6種.故障類型分設(shè)備、服務(wù)質(zhì)量、通訊、環(huán)境、處理失敗5種.故障狀態(tài)分未確認(rèn)、已確認(rèn)和已處理3種,狀態(tài)變化如圖4所示.
圖4 故障狀態(tài)遷移圖
性能管理有查詢、監(jiān)測配置二種操作.查詢是根據(jù)用戶查詢條件從數(shù)據(jù)庫中返回結(jié)果.監(jiān)測配置是接受管理員的配置請求,存儲到數(shù)據(jù)庫中,并控制數(shù)據(jù)采集模塊按照配置進(jìn)行性能數(shù)據(jù)采集.其中,配置參數(shù)包括性能監(jiān)測對象(指定的網(wǎng)元、單元盤、端口、通道等)、需要監(jiān)測的參數(shù)名稱、監(jiān)測周期(15 min或者24 h)、監(jiān)測狀態(tài)(打開/關(guān)閉)、開始時間、結(jié)束時間、是否自動上報等.
安全管理包括用戶組管理、用戶管理、權(quán)限管理、日志、參數(shù)配置、登錄注銷等.
系統(tǒng)支持主—從方式的多服務(wù)器部署,建立“軟”心跳機(jī)制實現(xiàn)在服務(wù)器出現(xiàn)故障可由從機(jī)順利接管,保證服務(wù)的可用性.心跳機(jī)制流程如圖5所示.心跳重試次數(shù)為3次,3次未接收到主服務(wù)響應(yīng)視為主服務(wù)宕機(jī).
圖5 主從服務(wù)器心跳管理示意圖
系統(tǒng)采用MySQL數(shù)據(jù)庫,集中存儲各類數(shù)據(jù),實現(xiàn)數(shù)據(jù)庫的備份與動態(tài)創(chuàng)建.
利用MySQL備份功能實現(xiàn)主—從備份,實時地將主數(shù)據(jù)庫備份到遠(yuǎn)程從數(shù)據(jù)庫中,保證數(shù)據(jù)的安全性.
對于數(shù)據(jù)量較大的表,采用動態(tài)創(chuàng)建歷史表的技術(shù)進(jìn)行數(shù)據(jù)的移動,保證主表的容量在可控范圍內(nèi),提高系統(tǒng)的運(yùn)行效率.
服務(wù)端啟動后,初始化工作如圖6所示.
圖6 服務(wù)端子系統(tǒng)的啟動流程圖
本文設(shè)計的網(wǎng)管軟件系統(tǒng)架構(gòu)及服務(wù)端子系統(tǒng),應(yīng)用于科大智能CSG-T3000網(wǎng)管軟件中,經(jīng)過實際應(yīng)用,完全滿足了可靠性、可擴(kuò)展性和兼容性的需求.其中,服務(wù)端子系統(tǒng)的相關(guān)設(shè)計很好地滿足了功能與性能的指標(biāo)要求,對廣大工程研發(fā)人員有參考意義.
[1]朱創(chuàng)錄.SNMP網(wǎng)絡(luò)管理中高效輪詢方法研究[J].計算機(jī)技術(shù)與發(fā)展,2012(12):135-138.
[2]袁健美.基于Java的SNMP網(wǎng)絡(luò)管理系統(tǒng)[J].計算機(jī)工程,2009(10):30-32.
[3]基于SNMP的MIB結(jié)構(gòu)樹高效算法研究[J].計算機(jī)工程與設(shè)計,2010,31(15):3386-3389.
[4]錢文光,張云峰.基于SNMP的網(wǎng)絡(luò)管理系統(tǒng)的研究與設(shè)計[J].北華航天工業(yè)學(xué)院學(xué)報,2012(12):7-9.
[5]胡天驕,郭旭靜,王祖林.網(wǎng)管軟件主備切換協(xié)議的設(shè)計與驗證[J].電子質(zhì)量,2011(7):26-29.
[8]潘楠,王勇,陶曉玲.一種基于SNMP的鏈路層拓?fù)浒l(fā)現(xiàn)算法[J].計算機(jī)工程,2012(1):103-105.
[9]魏煜欣,李強(qiáng).一種基于SNMP網(wǎng)絡(luò)性能管理數(shù)據(jù)的采集方法[J].計算機(jī)工程與應(yīng)用,2011,47(2):105-107.