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