陳欣



摘 要:本文基于不同行業(yè)對網(wǎng)絡(luò)大型綜合管理系統(tǒng)的應(yīng)用需求,通過不同行業(yè)各類網(wǎng)絡(luò)管理系統(tǒng)、網(wǎng)絡(luò)設(shè)備之間通用接口的設(shè)計,建立綜合網(wǎng)絡(luò)管理模塊,實現(xiàn)對各類網(wǎng)絡(luò)設(shè)備的統(tǒng)一管理,提高網(wǎng)管工作的便利性和通用性。對綜合網(wǎng)絡(luò)管理系統(tǒng)功能模塊所需要的接口的詳細(xì)設(shè)計與實現(xiàn)進(jìn)行了相應(yīng)的闡述,設(shè)計并實現(xiàn)了各個功能接口、這些接口的實現(xiàn)類以及繼承這些類的子類,通過這些接口和類的實現(xiàn),再結(jié)合消息機(jī)制實現(xiàn)綜合網(wǎng)絡(luò)管理系統(tǒng)的各個功能。
關(guān)鍵詞:綜合網(wǎng)管;適配器;CORBA
中圖分類號:TP309 文獻(xiàn)標(biāo)識碼:A
文章編號:2096-1472(2016)-06-31-03
Abstract:Based on the application requirements of large-scale integrated network management systems in different industries,the paper sets up an integrated network management module through the design of universal interfaces of network management systems and devices in different industries.It achieves unified management to different types of network equipment and improves the convenience and universality of the network management.The paper elaborates on the design and implementation of the interfaces required by the functional modules in integrated network management systems,the design and implementation of each functional interface,class and its subclass.Combined the implementation of these interfaces and classes with the message mechanism,all the functions in the integrated network management system are implemented.
Keywords:integrated network management;adapter CORBA
1 引言(Introduction)
隨著互聯(lián)網(wǎng)的持續(xù)高速發(fā)展,網(wǎng)絡(luò)技術(shù)的應(yīng)用遍及了各行各業(yè),各行業(yè)對于網(wǎng)絡(luò)管理系統(tǒng)(以下簡稱網(wǎng)管)尤其對于大型網(wǎng)絡(luò)綜合管理需求日益明顯。由于行業(yè)特點不同,不同行業(yè)對于網(wǎng)絡(luò)管理系統(tǒng)的應(yīng)用需求存在著很大的差異。同時,全球網(wǎng)絡(luò)設(shè)備、網(wǎng)管系統(tǒng)提供商數(shù)量龐大,來自于不同技術(shù)來源、技術(shù)習(xí)慣的各類軟硬件設(shè)備千差萬別,給網(wǎng)絡(luò)管理和數(shù)據(jù)共享帶來了不便。為了實現(xiàn)各種網(wǎng)絡(luò)設(shè)備的統(tǒng)一管理和綜合運(yùn)用,以提高網(wǎng)絡(luò)管理的便利性和通用性,對綜合網(wǎng)絡(luò)管理模塊在各個數(shù)據(jù)層對應(yīng)的數(shù)據(jù)接口進(jìn)行設(shè)計[1-5]。利用基于JAVA語言的CORBA技術(shù)[6-9],編寫華為SDH網(wǎng)管適配器。主要接口的實現(xiàn)分為:適配層接口、管理層接口、數(shù)據(jù)庫接口、上報接口、服務(wù)接口。
2 接口設(shè)計與實現(xiàn)(Design and implementation of interface)
2.1 適配層接口的設(shè)計與實現(xiàn)
適配層接口的功能是與廠家設(shè)備接口進(jìn)行連接,從而獲取所需信息,完成相關(guān)功能,它被適配層基類BaseAdapter類所實現(xiàn),并繼而由XXAdapter類繼承。如圖1所示。
這個接口的設(shè)計目的是提供給管理層接口,供管理層管理適配層、通過適配層獲取廠家數(shù)據(jù)。所以,這個接口中所定義的方法都與獲取信息有關(guān),同步資源時,在獲取指定網(wǎng)元信息getManagedElement和其框、槽、盤、端口、交叉,以及拓?fù)湫畔⒅埃瑫全@取所有網(wǎng)元信息getAllManagedElements,同樣,在獲取指定設(shè)備的當(dāng)前告警之前也要獲取所有當(dāng)前告警getAllActiveAlarms,而這些方法,被定義在這個類中。
將所有獲取到的信息以List的形式存進(jìn)相應(yīng)的表中,保存到數(shù)據(jù)庫中以備在配置管理功能、故障管理功能等功能模塊運(yùn)作時使用。需要說明的是,在上述方法中,有關(guān)獲取指定網(wǎng)元的信息中,以所要采集的網(wǎng)元標(biāo)識meId來判別所要獲取哪個網(wǎng)元的信息,網(wǎng)元標(biāo)識meId是每個不同網(wǎng)元的唯一標(biāo)識,通過它的唯一性,可以準(zhǔn)確的獲取它的信息,而不會進(jìn)行錯誤的數(shù)據(jù)采集。
在它的具體實現(xiàn)類中,除了對獲取網(wǎng)元信息的方法的重寫,還定義了初始化、啟動、停止適配器,連接網(wǎng)管、讀取配置文件,探測線程的運(yùn)行、轉(zhuǎn)化信息和保存信息等具體的方法。通過主函數(shù)調(diào)用這些相應(yīng)的方法,就可以實現(xiàn)適配器的啟動運(yùn)行,為系統(tǒng)提供登陸北向接口、獲取事件通道等系統(tǒng)接口。除了XXAdapter這個類之外,還有一些相應(yīng)的輔助性質(zhì)的類,比如對事件類型進(jìn)行定義的EventType類、進(jìn)行數(shù)據(jù)格式化的Format類、幫助類Helper類、層速率定義類LayerRate類、與日志相關(guān)的日志類Logger類、管理器名稱類ManagerName類以及定義對象名稱的ObjectName類,這些類都是給Adapter類提供各種相關(guān)定義支持的輔助類。
2.2 管理層接口和上報接口的設(shè)計與實現(xiàn)
作為管理層的兩個接口,它們的作用是與上層進(jìn)行通信,通過管理接口,可以對適配層進(jìn)行統(tǒng)一的管理,而上報接口則是為了適配層能夠主動上報數(shù)據(jù)而提供的。它們都由一個管理層基類BasicManager來實現(xiàn)。它們之間的關(guān)系如圖2所示。
通過manager接口可以獲取適配器的相關(guān)信息,其中包括適配器的標(biāo)識、名稱、版本號,以及適配器的狀態(tài)。而在reporter接口中,可以獲取實體的狀態(tài)、產(chǎn)生告警以及清除告警。
在它們的實現(xiàn)類BasicManager中,首先連接適配層接口,然后定義了初始化服務(wù)調(diào)用函數(shù)、啟動服務(wù)調(diào)用函數(shù)和停止服務(wù)調(diào)用函數(shù),以及初始化管理層、啟動管理層和停止管理層三個方法。
MessengerManager類是基于消息傳輸機(jī)制的管理層具體類,它是實現(xiàn)資源同步和糾錯、告警同步和比較等等功能的方法提供者,在這個類里,具體定義的方法有:初始化管理層并讀取相應(yīng)的數(shù)據(jù),如config和common文件、domain值、name值、version值、localhost值、system值、resource值、alarm值、route值和interval值。啟動、停止管理層,獲取適配器資料,獲取消息類型(資源同步,告警同步或者未知消息類型)。同步網(wǎng)元、主域等相關(guān)資源。數(shù)據(jù)糾錯,包括網(wǎng)元,框、槽、盤、端口、交叉等數(shù)據(jù),糾錯的原則是比較采集上來的數(shù)據(jù)與錄入庫中的數(shù)據(jù)是否一致,如果采集上來的某數(shù)據(jù)在數(shù)據(jù)庫能找到,并且所有屬性都一致則表示無需糾錯,如果采集的數(shù)據(jù)在錄入庫中無法找到,說明是設(shè)備側(cè)新增添的數(shù)據(jù),那么就要把采集上來的數(shù)據(jù)錄入到數(shù)據(jù)庫中,以完成糾錯任務(wù)。如果采集上來的數(shù)據(jù)在錄入庫中可以找到,但是有某個或某些屬性不相符,那么說明設(shè)備側(cè)的設(shè)備數(shù)據(jù)與錄入庫中的數(shù)據(jù)不一致,發(fā)生了屬性錯誤,那么根據(jù)設(shè)備側(cè)采集上來的“正確”數(shù)據(jù)修改錄入庫中此數(shù)據(jù)的錯誤屬性。還有一種情況就是在錄入庫中有而在設(shè)備側(cè)沒有的數(shù)據(jù),可以認(rèn)為是相關(guān)資源已經(jīng)刪除,所以根據(jù)正確的信息,將此類數(shù)據(jù)從錄入庫中進(jìn)行刪除。這樣,關(guān)于資源數(shù)據(jù)的糾錯,就先分種類(框、槽、盤等)采集再分以上三種情況完成了。
與此同理,這個類中還提供了對告警的相關(guān)處理,當(dāng)相關(guān)的網(wǎng)元標(biāo)識、適配器標(biāo)識、對象標(biāo)識被驗證通過后,就可以開始同步告警了,首先要采集設(shè)備側(cè)的告警,然后與資源一樣與錄入庫中的告警進(jìn)行比較,也是分為上述三類,這里為了避免重復(fù)不再贅述,當(dāng)告警為新增告警時,就要去產(chǎn)生一個告警以便和設(shè)備側(cè)同步,要產(chǎn)生一條告警,首先要確認(rèn)告警信息、告警對象類型、告警對象名稱、告警原因、告警時間是否為空,在都不為空的情況下進(jìn)行初始化并將相應(yīng)的信息進(jìn)行賦值,例如告警類型、原因、內(nèi)容、時間,以及相對應(yīng)的網(wǎng)元設(shè)備數(shù)據(jù)等等。然后進(jìn)行上報,提交到數(shù)據(jù)庫中。另外一種情況是告警的刪除,這里就要提供一個清除告警的方法,根據(jù)告警ID,將數(shù)據(jù)庫中多余的告警進(jìn)行刪除就可以了。
資源數(shù)據(jù)的糾錯流程圖如圖3所示。
2.3 本地庫接口的設(shè)計與實現(xiàn)
數(shù)據(jù)庫系統(tǒng)采用Oracle 10g,而作為操作數(shù)據(jù)庫的客戶端軟件,采用PL/sql。為了更直觀的展示本地庫接口以,及其實現(xiàn)類之間的關(guān)系,繪制類圖如圖4所示。
本地庫是為了方便數(shù)據(jù)的臨時存儲所存在的,從位置上來說,本地庫是后臺適配層的數(shù)據(jù)庫,而錄入庫是GUI和管理后臺所使用的庫,當(dāng)資源或者告警數(shù)據(jù)被采集上來的時候,首先要存放在本地庫中,再將這些數(shù)據(jù)以消息的形式上報給GUI。在本地庫的接口設(shè)計中,定義了保存和清除相關(guān)信息,比如保存網(wǎng)元信息,清除所有網(wǎng)元信息,清除指定網(wǎng)元信息,保存端口信息,保存機(jī)盤信息,清除端口和機(jī)盤信息等等。
本地庫基類BasicLocalDatabase類是本地庫接口的實現(xiàn)類,它定義了初始化、啟動和停止相關(guān)的服務(wù)調(diào)用函數(shù)和初始化、啟動、停止本地庫。
基于Oracle的本地庫類OracleLocalDatabase類。因為本設(shè)計的數(shù)據(jù)庫設(shè)計是基于Oracle數(shù)據(jù)庫設(shè)計的,所以必須要用一個具體的類來繼承本地庫基類,以實現(xiàn)針對Oracle的數(shù)據(jù)庫設(shè)計,從這里也能看出,本設(shè)計結(jié)構(gòu)有著良好的可復(fù)用性與可擴(kuò)展性,通過繼承基類,重寫基類的方法,可以實現(xiàn)針對其他數(shù)據(jù)庫的設(shè)計,比如可以編寫針對sql server、Sybase等數(shù)據(jù)庫的設(shè)計。這個類中主要定義了連接和關(guān)閉數(shù)據(jù)庫,通過設(shè)置sql語句對數(shù)據(jù)庫進(jìn)行操作,主要是數(shù)據(jù)的獲取(查詢)、保存和清除。
2.4 服務(wù)接口與服務(wù)管理接口的設(shè)計與實現(xiàn)
通過這兩個接口可以對服務(wù)對象進(jìn)行匹配和創(chuàng)建,為適配器功能上的實現(xiàn)提供服務(wù)調(diào)用支持,相關(guān)類圖如圖5所示。
服務(wù)類Service類是服務(wù)接口Serviceable的實現(xiàn)類,他定義了服務(wù)的初始化、啟動和關(guān)閉,以及將對象字符串化的幾個方法,和初始化、啟動與關(guān)閉時的服務(wù)調(diào)用函數(shù)。BasicService類繼承了Service類,是對Service類方法的重寫。而服務(wù)管理接口的實現(xiàn)類ServiceManagereImpl類繼承了服務(wù)類Service類,它通過創(chuàng)建服務(wù)映射表和順序表來實現(xiàn)對服務(wù)的管理,它通過將服務(wù)類型進(jìn)行添加,可以根據(jù)服務(wù)類型來獲取相關(guān)的服務(wù)對象,在獲取服務(wù)對象時,如果該對象不存在則創(chuàng)建一個新的服務(wù)對象,而創(chuàng)建服務(wù)對象、添加服務(wù)對象、獲取服務(wù)對象、檢查該服務(wù)類型的服務(wù)對象是否存在等方法在這個類中有著明確的定義。除
了圖中畫出的幾個接口及其實現(xiàn)類外,還有一個異常處理類ServiceException,以及它的兩個子類:服務(wù)已存在異常類ServiceAlreadyExistException和服務(wù)不存在異常類ServiceNotExistException來捕獲在服務(wù)以及服務(wù)管理中拋出的相關(guān)異常[8,9]。
3 結(jié)論(Conclusion)
本文對綜合網(wǎng)絡(luò)管理系統(tǒng)各個數(shù)據(jù)層的相關(guān)接口進(jìn)行了設(shè)計,使得通過統(tǒng)一的網(wǎng)絡(luò)管理模塊實現(xiàn)不同網(wǎng)絡(luò)設(shè)備間的
綜合管理成為可能,為綜合網(wǎng)管系統(tǒng)的進(jìn)一步設(shè)計實現(xiàn)打下了基礎(chǔ)。
參考文獻(xiàn)(References)
[1] A Gupta,S Kar.The Common Object Request Broker Architecture(CORBA)and its Notification Service[J].Iete Technical Review,2015,19(1-2):31-45.
[2] J Zhai.Development and Research of Workflow Management System Based on Mobile-Agent and CORBA[J].International Journal of Hybrid Information Technology,2014,7(5):305-316.
[3] Y Yin,et al.Design and implementation of a uniform service adapter for MG[J].Endocrine-related cancer,2014,21(3):261-277.
[4] 楊志敏.電力通信網(wǎng)運(yùn)行綜合監(jiān)視及關(guān)鍵技術(shù)[J].信息通信,2013(10):192-194.
[5] 朱彥軍,王斌君,張煒.應(yīng)用CORBA的光網(wǎng)絡(luò)管理系統(tǒng)[J].信息網(wǎng)絡(luò)安全,2013(12):87-89.
[6] 俞祺錕.基于CORBA的網(wǎng)管告警接口設(shè)計及實現(xiàn)[D].上海:華東理工大學(xué),2013.
[7] 代霞,黃勁松.基于CORBA綜合網(wǎng)絡(luò)配置管理的設(shè)計與實現(xiàn)[J].計算機(jī)技術(shù)與發(fā)展,2008,18(2):91-93.
[8] 張斌,郭軍.軟件工程及應(yīng)用[M].沈陽:東北大學(xué)出版社,2007.
[9] 聞晶,陳興渝.CORBA和XML在網(wǎng)絡(luò)資源管理系統(tǒng)接口中的應(yīng)用[D].北京:北京郵電大學(xué),2008.
作者簡介:
陳 欣(1984-),女,碩士,工程師.研究領(lǐng)域:系統(tǒng)分析與集成,網(wǎng)絡(luò)管理.