- 相關(guān)推薦
一種基于Java技術(shù)的網(wǎng)絡(luò)管理軟件的設(shè)計(jì)方案
論文關(guān)鍵詞:網(wǎng)絡(luò) 軟件體系結(jié)構(gòu) Java XML
論文摘要:提出了基于Java技術(shù)的網(wǎng)管系統(tǒng)體系結(jié)構(gòu)。這種結(jié)構(gòu)是典型的三層體系結(jié)構(gòu):客戶表示層、中間服務(wù)提供層以及數(shù)據(jù)永久存儲(chǔ)層,同時(shí)對(duì)每層中涉及到的相關(guān)技術(shù)進(jìn)行了闡述,并給出了具體的實(shí)現(xiàn)方法。
。. 引言
隨著Web/Java技術(shù)的成熟及其在Internet上的廣泛應(yīng)用,網(wǎng)絡(luò)管理技術(shù)和模式迎來(lái)了又一次革命。在網(wǎng)絡(luò)管理領(lǐng)域,通過(guò)Web技術(shù)(如Web服務(wù)器,HTTP協(xié)議、HTML和Java等)來(lái)集成網(wǎng)絡(luò)管理系統(tǒng),就能夠獲得可運(yùn)行于各種平臺(tái)的簡(jiǎn)單有效的管理工具。特別是目前人們對(duì)網(wǎng)絡(luò)管理工具的要求已不僅僅局限于集中式管理模式,而要求網(wǎng)絡(luò)管理工具具有分布計(jì)算能力。近幾年來(lái)隨著Java、EJB[1]、XML[2]等技術(shù)的發(fā)展與成熟使人們對(duì)網(wǎng)絡(luò)管理的分布式要求已成為現(xiàn)實(shí)。
2. 基于Web的網(wǎng)絡(luò)管理模式
網(wǎng)絡(luò)管理系統(tǒng)從結(jié)構(gòu)上來(lái)說(shuō),由兩部分組成:管理應(yīng)用層和為之提供服務(wù)的下層結(jié)構(gòu)軟件。下層結(jié)構(gòu)軟件包括管理信息庫(kù)(MIB)、圖形化用戶接口(GNI)、網(wǎng)絡(luò)接口(NCI)。它們通過(guò)一組應(yīng)用編程接口(API)向應(yīng)用程序提供服務(wù)。
2.1基于Web的網(wǎng)絡(luò)管理模式的特點(diǎn)
基于Web的網(wǎng)絡(luò)管理[3]之所以受到廣泛關(guān)注,是由于具有如下特點(diǎn):
(1)分布性。沒有位置的限制,適合于分布式網(wǎng)絡(luò)管理。
(2)跨平臺(tái)性。網(wǎng)管人員可以從任何平臺(tái)的任何一臺(tái)計(jì)算機(jī)上訪問(wèn)網(wǎng)絡(luò),這就解決了由多平臺(tái)異構(gòu)而導(dǎo)致的互操作性問(wèn)題。
(3)低。界面更加友好,管理方式更加簡(jiǎn)單方便,降低了網(wǎng)管成本。
(4)效率高,安全性好。采取瘦客戶機(jī)/胖服務(wù)器模式,大量繁重的計(jì)算和存儲(chǔ)任務(wù)交給Web服務(wù)器完成,這樣提高了管理效率并使用戶能更靈活的操作網(wǎng)管系統(tǒng),同時(shí)借助WWW的安全機(jī)制可以有效的進(jìn)行訪問(wèn)控制、數(shù)據(jù)加密及服務(wù)器驗(yàn)證。
2.2基于Web的網(wǎng)絡(luò)管理系統(tǒng)的實(shí)現(xiàn)方式
目前,隨著Web技術(shù)的流行和發(fā)展,在網(wǎng)絡(luò)管理中普遍采用基于Web的網(wǎng)管技術(shù)。常用的基于Web的網(wǎng)絡(luò)管理技術(shù)有兩種:一種是基于嵌入式的網(wǎng)絡(luò)管理,將網(wǎng)管工作站嵌入到網(wǎng)絡(luò)端設(shè)備中,每個(gè)設(shè)備都有自己的Web地址,網(wǎng)管人員可以通過(guò)瀏覽器訪問(wèn)并管理設(shè)備,這種技術(shù)適合于小型網(wǎng)管系統(tǒng),而且不利于擴(kuò)展;第二種是基于代理的網(wǎng)絡(luò)管理,由代理程序來(lái)管理設(shè)備,將管理程序加載到網(wǎng)管工作站中,通過(guò)SNMP協(xié)議與代理程序通信,瀏覽器通過(guò)HTTP協(xié)議或其它方式與網(wǎng)管工作站通信,這種技術(shù)使得瀏覽器與網(wǎng)管工作站可以采用B/S(Browser/Server,瀏覽器/服務(wù)器)結(jié)構(gòu)通信,軟件系統(tǒng)的部署、升級(jí)維護(hù)和數(shù)據(jù)備份只需在服務(wù)器端完成,客戶端無(wú)需做應(yīng)用程序的安裝和調(diào)試,極大地降低了系統(tǒng)總維護(hù)成本,加強(qiáng)了系統(tǒng)的穩(wěn)定性和可擴(kuò)展性。由于T比特路由器是核心路由器,用于大規(guī)模網(wǎng)絡(luò),且對(duì)可擴(kuò)展性有較高要求,所以應(yīng)采用基于代理的管理方法。其系統(tǒng)結(jié)構(gòu)圖如圖1所示。
圖1 T比特路由器網(wǎng)管系統(tǒng)Web管理模塊結(jié)構(gòu)圖
[1]
2.3基于Java的三層體系結(jié)構(gòu)
作為一種,Java是相當(dāng)優(yōu)秀的。它具有面向?qū)ο、與操作平臺(tái)無(wú)關(guān)、可移植性、安全性和穩(wěn)定性高等特點(diǎn)。同時(shí),作為一種面向網(wǎng)絡(luò)編程的語(yǔ)言,Java又具有簡(jiǎn)潔、多線程執(zhí)行等特點(diǎn)。它與Internet緊密結(jié)合,克服了原來(lái)CGI編程中存在的效率低下,實(shí)時(shí)性不高、系統(tǒng)資源占用率高等特點(diǎn)。
在T比特路由器項(xiàng)目中,利用Java及相關(guān)技術(shù),通過(guò)需求以及對(duì)網(wǎng)絡(luò)模型的層層抽象,可以建立三層網(wǎng)絡(luò)管理體系結(jié)構(gòu)框架,具體說(shuō)這三層分別是:客戶表示層、中間服務(wù)提供層以及后端的數(shù)據(jù)永久存儲(chǔ)層。其中客戶表示層是基于HTML的;中間服務(wù)提供層又可分為兩層,一是前端服務(wù)器,另一個(gè)是后端服務(wù)器。其中前端服務(wù)器主要負(fù)責(zé)客戶與后端服務(wù)器的交互,而后端服務(wù)器主要負(fù)責(zé)對(duì)被管設(shè)備的輪詢、狀態(tài)監(jiān)控、數(shù)據(jù)采集以及與數(shù)據(jù)庫(kù)的數(shù)據(jù)交換等功能。
這種三層體系結(jié)構(gòu)層次分明,集開放性、高效性、可擴(kuò)展性以及網(wǎng)絡(luò)安全性于一體,并且有利于各功能模塊并行研制及分工協(xié)作。T比特路由器網(wǎng)管軟件體系結(jié)構(gòu)如圖2所示。
3. 體系結(jié)構(gòu)中功能實(shí)體
3.1被管實(shí)體
被管實(shí)體是整個(gè)被管理網(wǎng)絡(luò)中所有被管設(shè)備的集合,包括T比特路由器中的主控板、轉(zhuǎn)發(fā)板等,其中每個(gè)被管設(shè)備均是一個(gè)SNMP節(jié)點(diǎn),均符合SNMP協(xié)議,每個(gè)設(shè)備中都運(yùn)行著SNMP代理,這一代理主要實(shí)現(xiàn)對(duì)該設(shè)備MIB信息的維護(hù)。它可以通過(guò)SNMP、RMI、CORBA等協(xié)議與位于中間服務(wù)器層中的后端服務(wù)器進(jìn)行,SNMP代理還可以主動(dòng)的向后端服務(wù)器發(fā)送trap報(bào)文,同時(shí)后端服務(wù)器向它進(jìn)行主動(dòng)輪詢。
3.2數(shù)據(jù)存儲(chǔ)層
數(shù)據(jù)存儲(chǔ)層是通過(guò)關(guān)系數(shù)據(jù)庫(kù)對(duì)網(wǎng)管信息進(jìn)行存儲(chǔ)的介質(zhì)。它主要負(fù)責(zé)對(duì)永久數(shù)據(jù)的存儲(chǔ),這些數(shù)據(jù)包括設(shè)備的基本數(shù)據(jù)、性能數(shù)據(jù)、策略數(shù)據(jù)等。這些數(shù)據(jù)是由位于中間層的后端服務(wù)器經(jīng)過(guò)與被管設(shè)備通信得到并存儲(chǔ)到數(shù)據(jù)庫(kù)中的。這些數(shù)據(jù)可能來(lái)自于后端服務(wù)器對(duì)被管設(shè)備的主動(dòng)輪詢,還可能來(lái)自被管設(shè)備向后端服務(wù)器發(fā)出的trap。客戶表示層可以根據(jù)需要,通過(guò)前端服務(wù)器——后端服務(wù)器——數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)對(duì)永久數(shù)據(jù)存儲(chǔ)的寫操作。而對(duì)于客戶端僅僅是需要查詢所關(guān)心的數(shù)據(jù)時(shí),它可以直接通過(guò)前端服務(wù)器來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢操作。數(shù)據(jù)存儲(chǔ)層與后端服務(wù)器間是通過(guò)標(biāo)準(zhǔn)的JDBC進(jìn)行通信,使數(shù)據(jù)存儲(chǔ)層不依賴于具體的RDBMS,這樣就保證了數(shù)據(jù)存儲(chǔ)層的可擴(kuò)充性以及與存儲(chǔ)介質(zhì)的無(wú)關(guān)性。存儲(chǔ)層中存儲(chǔ)著整個(gè)網(wǎng)絡(luò)管理中的所有信息,通過(guò)對(duì)這些信息的各種操縱實(shí)現(xiàn)網(wǎng)絡(luò)管理功能。
3.3中間服務(wù)提供層
中間服務(wù)器層包括兩個(gè)服務(wù)器,一個(gè)是前端服務(wù)器,另一個(gè)是后端服務(wù)器。更確切地說(shuō),每一個(gè)服務(wù)器都是一些功能服務(wù)器的集合。這些服務(wù)器是整個(gè)T比特路由器體系結(jié)構(gòu)的核心部分,它們負(fù)責(zé)數(shù)據(jù)的采集、數(shù)據(jù)的維護(hù)以及用戶的授權(quán)、認(rèn)證等安全方面的任務(wù)。下面對(duì)這些服務(wù)器進(jìn)行詳細(xì)地介紹。
3.3.1后端服務(wù)器
后端服務(wù)器執(zhí)行服務(wù)器端的核心網(wǎng)絡(luò)管理任務(wù),主要任務(wù)是完成故障管理、性能管理、安全管理、配置管理等。通過(guò)這些功能來(lái)對(duì)被管設(shè)備的信息進(jìn)行維護(hù),接收并實(shí)現(xiàn)trap處理、事件處理、告警處理、數(shù)據(jù)采集、狀態(tài)輪詢等。這一層是整個(gè)T比特路由器網(wǎng)絡(luò)管理中的核心層,只有通過(guò)這一層才能采集并存儲(chǔ)網(wǎng)絡(luò)管理信息到數(shù)據(jù)庫(kù)中。后端服務(wù)器負(fù)責(zé)維護(hù)與更新存儲(chǔ)在數(shù)據(jù)庫(kù)中的基于網(wǎng)絡(luò)事件、狀態(tài)輪詢、管理員操作等的信息模型。
后端服務(wù)器可以通過(guò)配置文件實(shí)現(xiàn)定制,并能夠?qū)崿F(xiàn)擴(kuò)充。當(dāng)前端與后端服務(wù)器運(yùn)行在同一個(gè)JVM(Java Virtual Machine)上時(shí),后端服務(wù)器可以通過(guò)Java API的Socket來(lái)實(shí)現(xiàn);當(dāng)前端與后端服務(wù)器運(yùn)行在分布式中,后端服務(wù)可以通過(guò)RMI來(lái)實(shí)現(xiàn)。后端服務(wù)器支持SNMP、CORBA等各種協(xié)議。
圖2 T比特路由器網(wǎng)管軟件體系結(jié)構(gòu)圖
[2]
3.3.2后端服務(wù)器實(shí)現(xiàn)的一些考慮
(1)事件模塊;
(2)故障管理模塊;
(3)設(shè)備狀態(tài)輪詢模塊;
(4)配置模塊;
(5)安全管理模塊。
3.4前端服務(wù)器及相關(guān)技術(shù)
3.4.1前端服務(wù)器
前端服務(wù)器支持HTML客戶,其中所有的處理操作均在服務(wù)器端進(jìn)行,而客戶端瀏覽器僅將處理結(jié)果以報(bào)表、圖形、曲線等的形式來(lái)表示。前端服務(wù)器處理來(lái)自客戶端的請(qǐng)求,它形成了客戶端與服務(wù)器端的鏈接,后端服務(wù)器執(zhí)行核心任務(wù),并將數(shù)據(jù)存儲(chǔ)到RDBMS中。這一處理操作主要是對(duì)后端數(shù)據(jù)庫(kù)進(jìn)行直接的查詢操作,從圖2可以看出無(wú)論是前端服務(wù)器還是后端服務(wù)器均與數(shù)據(jù)庫(kù)相連,其中后端服務(wù)器可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行存取操作,而前端服務(wù)器只能對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀操作。這兩個(gè)服務(wù)器與數(shù)據(jù)庫(kù)均采用標(biāo)準(zhǔn)的JDBC接口。如果客戶端請(qǐng)求對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行寫操作,那么它只能通過(guò)后端服務(wù)器來(lái)進(jìn)行。
前端服務(wù)器起到了雙重的作用,對(duì)后端服務(wù)器來(lái)說(shuō),它以客戶的身份出現(xiàn);對(duì)客戶端來(lái)說(shuō),它又起到服務(wù)器的作用。前端服務(wù)器起到了承前啟后的作用,它的主要功能是來(lái)處理客戶的請(qǐng)求,為客戶準(zhǔn)備他們所關(guān)心的路由器狀態(tài)信息。
3.4.2前端服務(wù)器與后端服務(wù)器的通信問(wèn)題
前端服務(wù)器與后端服務(wù)器通信方式主要是依據(jù)這兩個(gè)服務(wù)器集合運(yùn)行的分布程度來(lái)決定的。如果前端服務(wù)器與后端服務(wù)器運(yùn)行于同一個(gè)JVM上,那么兩者可以通過(guò)基于TCP的SOCKET協(xié)議進(jìn)行通信,如果兩者是處于分布式運(yùn)行中,則可以通過(guò)RMI協(xié)議進(jìn)行通信。
3.4.3前端服務(wù)器實(shí)現(xiàn)的一些考慮
由于客戶端基于Web,所以前端服務(wù)器要維護(hù)一個(gè)Web服務(wù)器。這一Web服務(wù)器與Servlets綁定在一起,它維護(hù)著Servlets與JSP。Servlets通過(guò)RMI調(diào)用后端服務(wù)器所支持的API。在具體的實(shí)現(xiàn)中應(yīng)考慮下面的模塊:
(1) 事件服務(wù)器模塊;
(2) 告警服務(wù)器模塊;
(3) 狀態(tài)輪詢服務(wù)器模塊等。
4. 網(wǎng)絡(luò)管理軟件的實(shí)現(xiàn)
4.1前端與后端服務(wù)器數(shù)據(jù)的交換
位于中間層的前端與后端服務(wù)器可以通過(guò)XML來(lái)實(shí)現(xiàn)數(shù)據(jù)交換。XML是一種標(biāo)準(zhǔn)的數(shù)據(jù)交換,通過(guò)利用XML使系統(tǒng)間的數(shù)據(jù)訪問(wèn)變得更加容易。具體實(shí)現(xiàn)可以通過(guò)前、后端服務(wù)器中的XML解析器來(lái)對(duì)XML的語(yǔ)法及語(yǔ)義進(jìn)行具體的分析與提取。通過(guò)靈活的配置文件實(shí)現(xiàn)了應(yīng)用的可擴(kuò)充能力。
4.2客戶表示層
通過(guò)Web客戶端可以查看T比特路由器故障告警信息、路由器性能、各種圖及進(jìn)行路由器的配置等。通過(guò)瀏覽器,用戶可以直接對(duì)數(shù)據(jù)庫(kù)中不需要的信息進(jìn)行刪除。
客戶表示層通過(guò)基于瀏覽器的方式來(lái)訪問(wèn)中間服務(wù)層,這種訪問(wèn)包括兩種方式:一種為基于Web的Java客戶端,另一種是基于Web的HTML客戶端;赪eb的Java客戶端與前端服務(wù)器采用RMI、CORBA、SOCKET或HTTP協(xié)議進(jìn)行通信;基于Web的HTML客戶端采用HTTP協(xié)議實(shí)現(xiàn)與前端服務(wù)器的通信。這兩種基于Web方式的客戶端是是目前在網(wǎng)絡(luò)管理中比較流行的方式。
4.3實(shí)現(xiàn)中涉及到的Java、Java相關(guān)技術(shù)以及XML技術(shù)
Java、Java組件技術(shù)以及XML技術(shù)為開發(fā)T比特路由器網(wǎng)管系統(tǒng)提供了相當(dāng)豐富的工具支持。
[3]
4.3.1XML技術(shù)
在現(xiàn)代網(wǎng)絡(luò)中,利用XML技術(shù)有利于實(shí)現(xiàn)管理信息交換與存儲(chǔ)的標(biāo)準(zhǔn)化。例如在網(wǎng)管系統(tǒng)中不同權(quán)限的用戶所關(guān)聯(lián)的菜單功能是不同的,有些用戶只能對(duì)系統(tǒng)進(jìn)行查詢,而有些用戶除了查詢功能外,還有修改功能。這樣對(duì)不同的用戶可以通過(guò)XML作為配置文件來(lái)進(jìn)行相應(yīng)的功能定制,以滿足不同用戶對(duì)系統(tǒng)權(quán)限的需求與管理。利用XML作為配置文件,有效地增加了系統(tǒng)的靈活性與擴(kuò)充性。
4.3.2EJB技術(shù)
EJB技術(shù)提供了分布式組件模型,這一技術(shù)可以使開發(fā)人員將精力集中在解決自己業(yè)務(wù)方面的問(wèn)題上,而依靠J2EE平臺(tái)來(lái)解決系統(tǒng)級(jí)的復(fù)雜問(wèn)題。這種側(cè)重點(diǎn)分離的開發(fā)方式有利于快速地開發(fā)出具有可擴(kuò)充的、易于理解的以及高可靠性的應(yīng)用軟件。前端服務(wù)器通過(guò)利用EJB技術(shù),可以實(shí)現(xiàn)許多的高級(jí)功能,如可擴(kuò)充性、事物支持、數(shù)據(jù)庫(kù)集成及負(fù)載均衡等。
4.3.3Java Applet技術(shù)
Java Applet是Java的小應(yīng)用程序,以Class的形式嵌入到HTML,通過(guò)主頁(yè)發(fā)布到Internet,網(wǎng)絡(luò)用戶訪問(wèn)服務(wù)器的Applet時(shí),Applet就下載到本地,然后在瀏覽器中由本地Java虛擬機(jī)解釋執(zhí)行。Applet客戶端是實(shí)現(xiàn)網(wǎng)絡(luò)實(shí)時(shí)管理的有效工具;趕wing的Applet客戶端彌補(bǔ)了純HTML客戶端與用戶互動(dòng)性差的弱點(diǎn)。
5. 結(jié)束語(yǔ)
通過(guò)對(duì)T比特路由器網(wǎng)管系統(tǒng)的開發(fā),可以抽象并提出現(xiàn)代網(wǎng)絡(luò)管理系統(tǒng)的多層軟件體系結(jié)構(gòu)模型。整個(gè)模型的體系結(jié)構(gòu)層次分明,各層完成各自的任務(wù)。其中位于中間層的后端服務(wù)器完成網(wǎng)絡(luò)管理的五大功能的核心部分,如故障告警、性能管理等。位于中間層的前端服務(wù)器起到連接客戶表示層與后端服務(wù)器的功能,處理客戶端的請(qǐng)求。當(dāng)客戶請(qǐng)求對(duì)數(shù)據(jù)庫(kù)進(jìn)行寫操作時(shí),直接將這種請(qǐng)求交給后端服務(wù)器來(lái)處理,通過(guò)后端服務(wù)器安全認(rèn)證后,才可以進(jìn)行相應(yīng)的操作;當(dāng)客戶請(qǐng)求對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀操作時(shí),前端服務(wù)器可以直接與數(shù)據(jù)庫(kù),這樣就保證了數(shù)據(jù)的安全性。通過(guò)利用XML技術(shù)、Java及Java相關(guān)技術(shù)使開發(fā)的系統(tǒng)具有較強(qiáng)的可擴(kuò)充性、安全性以及跨平臺(tái)性。這種基于Web的網(wǎng)絡(luò)管理方式正是符合現(xiàn)代網(wǎng)絡(luò)管理的特點(diǎn)與要求,希望這種網(wǎng)管軟件體系結(jié)構(gòu)對(duì)其它類似軟件具有借鑒與參考價(jià)值。
參考文獻(xiàn)
[1] Ed Roman, 精通EJB(第二版),出版社,2002
[2]陳會(huì)安,XML網(wǎng)頁(yè)制作徹底研究,中國(guó)鐵道出版社,2003
[3]呂夢(mèng)雅,基于Java技術(shù)的網(wǎng)絡(luò)管理應(yīng)用,河北省科學(xué)院學(xué)報(bào)第19卷第3期,2002
[4]
【一種基于Java技術(shù)的網(wǎng)絡(luò)管理軟件的設(shè)計(jì)方案】相關(guān)文章:
基于IPTV的承載網(wǎng)絡(luò)技術(shù)03-18
基于Web技術(shù)的網(wǎng)絡(luò)考試系統(tǒng)03-18
基于策略的網(wǎng)絡(luò)管理技術(shù)論文12-04
基于光纖直放站的網(wǎng)絡(luò)覆蓋技術(shù)03-19
基于數(shù)據(jù)挖掘的網(wǎng)絡(luò)入侵檢測(cè)技術(shù)11-23
基于融合網(wǎng)絡(luò)的一種新業(yè)務(wù)設(shè)計(jì)03-07