專利名稱:全動(dòng)態(tài)分布式網(wǎng)絡(luò)服務(wù)管理系統(tǒng)及其服務(wù)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)管理技術(shù),更具體地說(shuō),涉及一種全動(dòng)態(tài)分布式網(wǎng)絡(luò)服務(wù)管理系統(tǒng)及其服務(wù)方法。
背景技術(shù):
目前,電信設(shè)備提供的功能、種類和組網(wǎng)方式越來(lái)越多,越來(lái)越靈活。為了支持設(shè)備的功能和靈活性,網(wǎng)管系統(tǒng)的復(fù)雜性也越來(lái)越高,其自身也越來(lái)越龐大。穩(wěn)定性和性能已成為制約網(wǎng)管系統(tǒng)發(fā)展的瓶頸。而且,設(shè)備組網(wǎng)的靈活性也必然要求網(wǎng)管系統(tǒng)的功能可靈活配置,可任意組合和拆卸,從而達(dá)到真正的可運(yùn)營(yíng)、可管理、低成本等要求。
現(xiàn)有的網(wǎng)管系統(tǒng),一般采用Client-Server(客戶-服務(wù)器)的集中管理方式。由后臺(tái)Server端將網(wǎng)管的功能(如配置、性能、安全、故障等)集中放入一個(gè)進(jìn)程中,在進(jìn)程內(nèi)部采用多線程方式進(jìn)行處理。這種結(jié)構(gòu)無(wú)疑將導(dǎo)致進(jìn)程負(fù)荷很大,極大地降低了網(wǎng)管系統(tǒng)的性能和穩(wěn)定性。更為關(guān)鍵的是,這種管理方式中無(wú)法實(shí)現(xiàn)系統(tǒng)的拆卸,也就無(wú)法滿足設(shè)備靈活組網(wǎng)方式的要求。
相對(duì)于上述單一的服務(wù)進(jìn)程結(jié)構(gòu),產(chǎn)生了一種新的多進(jìn)程-多線程系統(tǒng)結(jié)構(gòu),該結(jié)構(gòu)將網(wǎng)管系統(tǒng)按照功能模塊來(lái)劃分進(jìn)程,如配置進(jìn)程、安全進(jìn)程、故障進(jìn)程等,進(jìn)程內(nèi)部采用多線程進(jìn)程處理。而在后臺(tái)進(jìn)程之間、及后臺(tái)進(jìn)程與前臺(tái)進(jìn)程之間,則通過(guò)一個(gè)叫做消息分發(fā)中心的獨(dú)立進(jìn)程進(jìn)行通信。其消息協(xié)議是一種基于TCP/IP的自定義協(xié)議。而且,通過(guò)一些跨平臺(tái)、跨數(shù)據(jù)庫(kù)的工具,例如ACE(適配通信環(huán)境)、Dset(一種ASN.1編解碼中間件)、SourcePro(一種跨數(shù)據(jù)庫(kù)訪問(wèn)的中間件)等,可實(shí)現(xiàn)網(wǎng)管系統(tǒng)的跨平臺(tái)、分布式處理。采用這種多進(jìn)程-多線程系統(tǒng)結(jié)構(gòu)在一定程度上實(shí)現(xiàn)了系統(tǒng)的負(fù)載平衡、提高系統(tǒng)穩(wěn)定性和性能、降低網(wǎng)管成本等目的,但是該系統(tǒng)結(jié)構(gòu)仍然無(wú)法滿足設(shè)備的最終要求,主要存在以下缺點(diǎn)(1)、系統(tǒng)的性能瓶頸轉(zhuǎn)移到了消息轉(zhuǎn)發(fā)中心上,由于前、后臺(tái)所有進(jìn)程之間的通信消息都必須經(jīng)過(guò)消息轉(zhuǎn)發(fā)中心,因此消息轉(zhuǎn)發(fā)中心將成為性能瓶頸,特別是在某些特殊情況下,例如告警風(fēng)暴等,消息轉(zhuǎn)發(fā)中心會(huì)存在丟包、進(jìn)程誤收包等現(xiàn)象,一旦消息轉(zhuǎn)發(fā)中心出現(xiàn)異常退出,整個(gè)系統(tǒng)將變?yōu)椴豢捎茫?2)、不能實(shí)現(xiàn)動(dòng)態(tài)配置功能,因系統(tǒng)的所有功能都是硬編碼在進(jìn)程中,如果需要增加和刪減功能,將不得不修改已有的進(jìn)程,并重新編譯和鏈接,從而增加了影響已有系統(tǒng)的穩(wěn)定性和性能的風(fēng)險(xiǎn),并提高了開(kāi)發(fā)成本;(3)、不能實(shí)現(xiàn)模塊的可拆卸和組合功能,由于所有的功能都是硬編碼,所以針對(duì)不同的用戶需求和組網(wǎng)方式,都將使用同一套網(wǎng)管系統(tǒng),而對(duì)功能的刪減必須修改源碼,導(dǎo)致每種不同的用戶需求和組網(wǎng)方式都將有一個(gè)版本的網(wǎng)管系統(tǒng)與之配套,極大了增加了網(wǎng)管開(kāi)發(fā)成本和維護(hù)成本。
發(fā)明內(nèi)容
本發(fā)明針對(duì)現(xiàn)有技術(shù)的上述缺陷,要解決現(xiàn)有網(wǎng)管系統(tǒng)不能實(shí)現(xiàn)動(dòng)態(tài)配置、功能模塊不能任意拆卸和組合等問(wèn)題,以實(shí)現(xiàn)網(wǎng)管系統(tǒng)的靈活配置、功能模塊的任意組合和拆卸,從而提高網(wǎng)管系統(tǒng)的性能和穩(wěn)定性,降低網(wǎng)管系統(tǒng)的成本。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種全動(dòng)態(tài)分布式網(wǎng)絡(luò)服務(wù)管理系統(tǒng),所述系統(tǒng)中有多臺(tái)物理機(jī)器,其中,在所述系統(tǒng)中的每一臺(tái)物理機(jī)器上有一個(gè)系統(tǒng)代理模塊,所述系統(tǒng)代理模塊隨著其所在的物理機(jī)器的啟動(dòng)而啟動(dòng),用于接收啟動(dòng)服務(wù)、停止服務(wù)和查詢服務(wù)的請(qǐng)求,并將請(qǐng)求轉(zhuǎn)發(fā)給下一級(jí)模塊;在每一個(gè)所述系統(tǒng)代理模塊下有一個(gè)或多個(gè)服務(wù)代理模塊,所述服務(wù)代理模塊從其所在的系統(tǒng)代理模塊接收啟動(dòng)服務(wù)、停止服務(wù)和查詢服務(wù)的請(qǐng)求,并完成這些工作;在每一個(gè)所述服務(wù)代理模塊中有一個(gè)或多個(gè)服務(wù)模塊,所述服務(wù)模塊用于完成網(wǎng)絡(luò)服務(wù)管理所需的最小單元化功能;還包括可在任一臺(tái)物理機(jī)器上運(yùn)行的命令行模塊,所述命令行模塊負(fù)責(zé)發(fā)起啟動(dòng)服務(wù)、停止服務(wù)和查詢服務(wù)的命令,并將這些命令傳送到不同物理機(jī)器的系統(tǒng)代理模塊的上。
同時(shí),本發(fā)明還提供一種利用上述系統(tǒng)實(shí)現(xiàn)全動(dòng)態(tài)分布式網(wǎng)絡(luò)服務(wù)管理的方法,在該方法中,按以下步驟啟動(dòng)服務(wù)(A)由命令行模塊從配置文件的服務(wù)啟動(dòng)序列表中讀取需要啟動(dòng)的所有服務(wù)模塊的名稱;(B)按啟動(dòng)順序逐個(gè)根據(jù)服務(wù)模塊的名稱找到對(duì)應(yīng)的服務(wù)代理模塊的名稱、系統(tǒng)代理模塊的名稱、以及所述服務(wù)模塊的所有參數(shù);(C)根據(jù)系統(tǒng)代理模塊的名稱,從命名服務(wù)模塊中獲得系統(tǒng)代理對(duì)象的對(duì)象引用;(D)由系統(tǒng)代理模塊調(diào)用服務(wù)代理模塊的服務(wù)啟動(dòng)接口函數(shù),同時(shí)傳入服務(wù)模塊啟動(dòng)參數(shù);(E)由服務(wù)代理模塊裝載其服務(wù)模塊所在的動(dòng)態(tài)鏈接庫(kù),然后調(diào)用統(tǒng)一的服務(wù)創(chuàng)建接口函數(shù),獲得服務(wù)實(shí)例,并對(duì)服務(wù)實(shí)例進(jìn)行初始化;(F)服務(wù)模塊被啟動(dòng),返回成功信息。
在本發(fā)明的方法中,按以下步驟停止服務(wù)(a)由命令行模塊從配置文件的服務(wù)停止序列表中讀取需要停止的所有服務(wù)模塊的名稱;(b)按停止順序逐個(gè)根據(jù)服務(wù)模塊的名稱找到對(duì)應(yīng)的服務(wù)代理模塊的名稱、系統(tǒng)代理模塊的名稱、以及所述服務(wù)模塊的所有參數(shù);(c)根據(jù)系統(tǒng)代理模塊的名稱,從命名服務(wù)模塊中獲得系統(tǒng)代理對(duì)象的對(duì)象引用;(d)由系統(tǒng)代理模塊調(diào)用服務(wù)代理模塊的服務(wù)停止接口函數(shù),同時(shí)傳入服務(wù)模塊停止參數(shù);(e)由服務(wù)代理模塊進(jìn)行服務(wù)停止前的清除工作;(f)刪除服務(wù)實(shí)例,返回成功信息。
利用本發(fā)明的系統(tǒng)及其方法,可實(shí)現(xiàn)完整的分布式服務(wù)管理,消除性能瓶頸,真正實(shí)現(xiàn)分布式系統(tǒng)所提供的QoS(服務(wù)質(zhì)量))特性,并實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)管理的完全動(dòng)態(tài)配置、以及任意組合和拆卸;另外,本發(fā)明的實(shí)現(xiàn)和操作系統(tǒng)無(wú)關(guān),在WINDOWS,UNIX(Solaris、HP-UX)操作系統(tǒng)上都可實(shí)現(xiàn);本發(fā)明的實(shí)施嚴(yán)格遵守CORBA標(biāo)準(zhǔn),與具體的CORBA產(chǎn)品無(wú)關(guān),能夠完全與其他遵從CORBA標(biāo)準(zhǔn)的產(chǎn)品和平臺(tái)互通;本發(fā)明完全吻合電信網(wǎng)管的需求和特點(diǎn),以非常高效精悍的方式實(shí)現(xiàn),總代碼不到2000行。
下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明,附圖中圖1是本發(fā)明網(wǎng)絡(luò)服務(wù)管理系統(tǒng)的結(jié)構(gòu)框圖;圖2是本發(fā)明的方法中啟動(dòng)服務(wù)的流程圖;圖3是本發(fā)明的方法中停止服務(wù)的流程圖。
具體實(shí)施例方式
本發(fā)明的實(shí)施,要以‘對(duì)象管理組織’于1989年提出的CORBA(CommonObject Request Broker Architecture,公共對(duì)象請(qǐng)求代理結(jié)構(gòu))為基礎(chǔ)。CORBA提供一種分布式計(jì)算總線結(jié)構(gòu),主要用于解決異構(gòu)平臺(tái)系統(tǒng)的互通。基于CORBA的應(yīng)用系統(tǒng)天生就具有平臺(tái)無(wú)關(guān)性、位置無(wú)關(guān)性、開(kāi)發(fā)語(yǔ)言無(wú)關(guān)性等完全分布式軟件特點(diǎn)。
一、系統(tǒng)結(jié)構(gòu)本發(fā)明網(wǎng)絡(luò)服務(wù)管理系統(tǒng)如圖1所示,其中的每一矩形框代表一個(gè)物理機(jī)器、每一實(shí)線橢圓代表一個(gè)CORBA對(duì)象、每一虛線橢圓代表一個(gè)模塊,即一個(gè)進(jìn)程。下面分別對(duì)各部分進(jìn)行介紹。
1、系統(tǒng)代理模塊(System Agent)也可稱之為系統(tǒng)代理進(jìn)程,在本發(fā)明的分布式網(wǎng)管系統(tǒng)中,系統(tǒng)代理進(jìn)程存在于系統(tǒng)中的每一臺(tái)物理機(jī)器上,且每一臺(tái)物理機(jī)器上只有一個(gè)系統(tǒng)代理進(jìn)程,它是一個(gè)后臺(tái)進(jìn)程,隨著物理機(jī)器的啟動(dòng)而啟動(dòng),并一直存在。從圖中可以看出,用于完成任務(wù)的System Agent同時(shí)是一個(gè)CORBA對(duì)象,它負(fù)責(zé)接收從命令行進(jìn)程(Sys Admin tool)發(fā)來(lái)的啟動(dòng)服務(wù)、關(guān)閉服務(wù)請(qǐng)求,并將請(qǐng)求轉(zhuǎn)發(fā)給下面所述的服務(wù)代理進(jìn)程;同時(shí),它也作為服務(wù)狀態(tài)的查詢和監(jiān)控接口。
2、服務(wù)代理模塊(Service Agent)
也可稱之為服務(wù)代理進(jìn)程,本發(fā)明中,在每一個(gè)系統(tǒng)代理進(jìn)程下有一個(gè)或多個(gè)服務(wù)代理進(jìn)程,也就是說(shuō),在一臺(tái)物理機(jī)器上可以有多個(gè)服務(wù)代理進(jìn)程。服務(wù)代理進(jìn)程由系統(tǒng)代理進(jìn)程啟動(dòng),當(dāng)服務(wù)代理進(jìn)程啟動(dòng)時(shí),會(huì)自動(dòng)生成一個(gè)CORBA對(duì)象Service Agent,該對(duì)象負(fù)責(zé)接收從System Agent發(fā)送而來(lái)的啟動(dòng)服務(wù)、停止服務(wù)和查詢服務(wù)的請(qǐng)求并最終完成這些工作。
3、服務(wù)模塊(Service)以下簡(jiǎn)稱為服務(wù),服務(wù)是本發(fā)明中的可動(dòng)態(tài)配置、可拆卸的最小單元。也就是網(wǎng)管系統(tǒng)中的功能模塊,如安全服務(wù)、配置服務(wù)、日志服務(wù)等。在CORBA系統(tǒng)中,每個(gè)服務(wù)對(duì)應(yīng)于一個(gè)CORBA中的對(duì)象。服務(wù)的物理載體為動(dòng)態(tài)鏈接庫(kù)。從圖1中可以看出,本發(fā)明中,在每一個(gè)服務(wù)代理進(jìn)程中可有多個(gè)服務(wù),且服務(wù)與其所在的Service Agent分布在同一個(gè)進(jìn)程中。
4、系統(tǒng)管理工具(System Admin Tool)即命令行模塊,本發(fā)明中,該工具是一個(gè)命令行進(jìn)程。它可以在網(wǎng)管系統(tǒng)中的任意一臺(tái)物理機(jī)器上運(yùn)行,負(fù)責(zé)發(fā)起啟動(dòng)服務(wù)、停止服務(wù)和查詢服務(wù)的命令。這些命令將傳送到系統(tǒng)中不同物理機(jī)器的System Agent上。
5、命名服務(wù)模塊(CORBA Name Service)以下簡(jiǎn)稱為命名服務(wù),CORBA提供了一種標(biāo)準(zhǔn)的命名服務(wù),該服務(wù)以目錄結(jié)構(gòu)的形式儲(chǔ)存了所有注冊(cè)在其中的CORBA對(duì)象的對(duì)象名稱和其對(duì)象引用。通過(guò)命名服務(wù),可以根據(jù)對(duì)象名稱檢索到其對(duì)象引用,從而實(shí)現(xiàn)對(duì)CORBA對(duì)象的透明訪問(wèn)。
二、配置文件本發(fā)明中,所有的服務(wù)、服務(wù)代理進(jìn)程和系統(tǒng)代理進(jìn)程的信息都配置在一個(gè)集中的配置文件中。其中采用分級(jí)的方式進(jìn)行配置,最上一級(jí)是系統(tǒng)代理進(jìn)程的配置項(xiàng),對(duì)于系統(tǒng)代理進(jìn)程而言,它的配置信息主要有名稱及其包含的所有服務(wù)代理進(jìn)程的信息,這項(xiàng)配置信息就決定了該系統(tǒng)代理進(jìn)程所在的物理機(jī)器將運(yùn)行多少個(gè)服務(wù)代理進(jìn)程。中間一級(jí)是服務(wù)代理進(jìn)程的配置信息,它包括服務(wù)代理進(jìn)程的名稱及其包含的所有服務(wù)的信息,服務(wù)代理進(jìn)程的配置信息決定了該服務(wù)代理進(jìn)程將運(yùn)行多少個(gè)服務(wù)。最下一級(jí)為服務(wù)的配置信息,它包括服務(wù)的名稱、類型、所在的動(dòng)態(tài)庫(kù)名稱、以及啟動(dòng)時(shí)的參數(shù)等。
為了完成服務(wù)的啟動(dòng)和停止,配置信息中還需要一個(gè)服務(wù)啟動(dòng)序列表和服務(wù)停止序列表。如果需要啟動(dòng)或停止某個(gè)服務(wù),則將其加入啟動(dòng)序列表和停止序列表中;如果不需要,則將其從序列中刪除。停止列表中的順序與啟動(dòng)列表中的相反。本發(fā)明中,配置文件可以xml格式存儲(chǔ)。
三、服務(wù)的編寫在本發(fā)明中,為了達(dá)到可拆卸的目的,所有的服務(wù)都被編譯成動(dòng)態(tài)鏈接庫(kù)的形式,該動(dòng)態(tài)鏈接庫(kù)對(duì)外提供一個(gè)統(tǒng)一的接口函數(shù),用于產(chǎn)生服務(wù)對(duì)象。服務(wù)代理進(jìn)程在啟動(dòng)服務(wù)時(shí),調(diào)用統(tǒng)一的接口函數(shù),產(chǎn)生服務(wù)對(duì)象的實(shí)例。
對(duì)于服務(wù)而言,他們必須從虛基類(BaseService)中派生而來(lái),BaseService提供了服務(wù)對(duì)的外統(tǒng)一接口,包括服務(wù)啟動(dòng)時(shí)的初始化,服務(wù)停止時(shí)的清理等,服務(wù)必須繼承并重寫這些純虛函數(shù)。
四、服務(wù)的啟動(dòng)和關(guān)閉本發(fā)明中,服務(wù)的啟動(dòng)和關(guān)閉都是從命令行進(jìn)程發(fā)起的。
1、啟動(dòng)服務(wù)的流程如圖1所示,先由命令行進(jìn)程從配置文件的服務(wù)啟動(dòng)序列表中讀取需要啟動(dòng)的所有服務(wù)的名稱;再按啟動(dòng)順序逐個(gè)根據(jù)服務(wù)的名稱找到對(duì)應(yīng)的系統(tǒng)代理進(jìn)程的名稱、服務(wù)代理進(jìn)程的名稱、以及服務(wù)的所有參數(shù);然后根據(jù)系統(tǒng)代理進(jìn)程的名稱,從命名服務(wù)(Name Service)中獲得系統(tǒng)代理對(duì)象的對(duì)象引用;由系統(tǒng)代理進(jìn)程檢查服務(wù)代理進(jìn)程是否已啟動(dòng),如果已經(jīng)啟動(dòng)則直接調(diào)用服務(wù)代理進(jìn)程的服務(wù)啟動(dòng)(StartService)接口函數(shù),同時(shí)傳入服務(wù)啟動(dòng)參數(shù);如果沒(méi)有啟動(dòng)則先啟動(dòng)服務(wù)代理進(jìn)程,然后再調(diào)用服務(wù)代理進(jìn)程的服務(wù)啟動(dòng)接口函數(shù),同時(shí)傳入服務(wù)啟動(dòng)參數(shù);由服務(wù)代理進(jìn)程裝載需要啟動(dòng)的服務(wù)所在的動(dòng)態(tài)鏈接庫(kù),然后調(diào)用統(tǒng)一的服務(wù)創(chuàng)建(create service)接口函數(shù)獲得服務(wù)實(shí)例,再調(diào)用服務(wù)實(shí)例的初始化(initalize)函數(shù)對(duì)其進(jìn)行;
最后,服務(wù)被啟動(dòng),返回成功信息。
2、停止服務(wù)的流程如圖3所示,先由命令行進(jìn)程從配置文件的服務(wù)停止序列表中讀取需要停止的所有服務(wù)的名稱;再按停止順序逐個(gè)根據(jù)服務(wù)的名稱找到對(duì)應(yīng)的系統(tǒng)代理進(jìn)程的名稱、服務(wù)代理進(jìn)程的名稱、以及服務(wù)的所有參數(shù);然后根據(jù)系統(tǒng)代理進(jìn)程的名稱,從命名服務(wù)中獲得系統(tǒng)代理對(duì)象的對(duì)象引用;由系統(tǒng)代理進(jìn)程調(diào)用服務(wù)代理進(jìn)程的服務(wù)停止(Stop Service)接口函數(shù),同時(shí)傳入服務(wù)停止參數(shù);再由服務(wù)代理進(jìn)程調(diào)用服務(wù)實(shí)例的結(jié)束(finalize)函數(shù),進(jìn)行服務(wù)停止前的清除工作;刪除服務(wù)實(shí)例,在刪除服務(wù)實(shí)例之后,將由系統(tǒng)代理進(jìn)程檢查服務(wù)代理進(jìn)程中的服務(wù)數(shù),如果發(fā)現(xiàn)該服務(wù)代理進(jìn)程中的服務(wù)數(shù)為0,則終止整個(gè)服務(wù)代理進(jìn)程;最后,返回成功信息。
權(quán)利要求
1.一種全動(dòng)態(tài)分布式網(wǎng)絡(luò)服務(wù)管理系統(tǒng),所述系統(tǒng)中有多臺(tái)物理機(jī)器,其特征在于,在所述系統(tǒng)中的每一臺(tái)物理機(jī)器上有一個(gè)系統(tǒng)代理模塊,所述系統(tǒng)代理模塊隨著其所在的物理機(jī)器的啟動(dòng)而啟動(dòng),用于接收啟動(dòng)服務(wù)、停止服務(wù)和查詢服務(wù)的請(qǐng)求,并將請(qǐng)求轉(zhuǎn)發(fā)給下一級(jí)模塊;在每一個(gè)所述系統(tǒng)代理模塊下有一個(gè)或多個(gè)服務(wù)代理模塊,所述服務(wù)代理模塊從其所在的系統(tǒng)代理模塊接收啟動(dòng)服務(wù)、停止服務(wù)和查詢服務(wù)的請(qǐng)求,并完成這些工作;在每一個(gè)所述服務(wù)代理模塊中有一個(gè)或多個(gè)服務(wù)模塊,所述服務(wù)模塊用于完成網(wǎng)絡(luò)服務(wù)管理所需的最小單元化功能;還包括可在任一臺(tái)物理機(jī)器上運(yùn)行的命令行模塊,所述命令行模塊負(fù)責(zé)發(fā)起啟動(dòng)服務(wù)、停止服務(wù)和查詢服務(wù)的命令,并將這些命令傳送到不同物理機(jī)器的系統(tǒng)代理模塊的上。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,還包括用于存儲(chǔ)所有對(duì)象名稱及其對(duì)象引用的命名服務(wù)模塊。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述服務(wù)模塊可以是安全服務(wù)模塊、配置服務(wù)模塊、或日志服務(wù)模塊;所有服務(wù)模塊的物理載體為動(dòng)態(tài)鏈接庫(kù),所述動(dòng)態(tài)鏈接庫(kù)提供一個(gè)統(tǒng)一的接口函數(shù)。
4.根據(jù)權(quán)利要求1所述系統(tǒng),其特征在于,所述系統(tǒng)代理模塊、服務(wù)代理模塊及其服務(wù)模塊的信息按分級(jí)方式配置在一個(gè)集中的配置文件中,所述配置文件的最上一級(jí)為系統(tǒng)代理模塊的配置項(xiàng)、中間一級(jí)為服務(wù)代理模塊的配置項(xiàng)、最下一級(jí)為服務(wù)模塊的配置項(xiàng);所述配置文件中還設(shè)有服務(wù)啟動(dòng)序列表和服務(wù)停止序列表。
5.一種利用權(quán)利要求1所述的系統(tǒng)實(shí)現(xiàn)全動(dòng)態(tài)分布式網(wǎng)絡(luò)服務(wù)管理的方法,其特征在于,按以下步驟啟動(dòng)服務(wù)(A)由命令行模塊從配置文件的服務(wù)啟動(dòng)序列表中讀取需要啟動(dòng)的所有服務(wù)模塊的名稱;(B)按啟動(dòng)順序逐個(gè)根據(jù)服務(wù)模塊的名稱找到對(duì)應(yīng)的服務(wù)代理模塊的名稱、系統(tǒng)代理模塊的名稱、以及所述服務(wù)模塊的所有參數(shù);(C)根據(jù)系統(tǒng)代理模塊的名稱,從命名服務(wù)模塊中獲得系統(tǒng)代理對(duì)象的對(duì)象引用;(D)由系統(tǒng)代理模塊調(diào)用服務(wù)代理模塊的服務(wù)啟動(dòng)接口函數(shù),同時(shí)傳入服務(wù)模塊啟動(dòng)參數(shù);(E)由服務(wù)代理模塊裝載其服務(wù)模塊所在的動(dòng)態(tài)鏈接庫(kù),然后調(diào)用統(tǒng)一的服務(wù)創(chuàng)建接口函數(shù),獲得服務(wù)實(shí)例,并對(duì)服務(wù)實(shí)例進(jìn)行初始化;(F)服務(wù)模塊被啟動(dòng),返回成功信息。
6.根據(jù)權(quán)利要求5所述方法,其特征在于,在所述步驟(D)中,所述系統(tǒng)代理模塊先檢查服務(wù)代理模塊是否已啟動(dòng),如果已經(jīng)啟動(dòng)則直接調(diào)用服務(wù)代理模塊的服務(wù)啟動(dòng)接口函數(shù),同時(shí)傳入服務(wù)啟動(dòng)參數(shù);如果沒(méi)有啟動(dòng)則先啟動(dòng)服務(wù)代理模塊,然后再調(diào)用服務(wù)代理模塊的服務(wù)啟動(dòng)接口函數(shù),同時(shí)傳入服務(wù)啟動(dòng)參數(shù)。
7.根據(jù)權(quán)利要求5所述方法,其特征在于,在所述步驟(E)中,所述服務(wù)代理模塊通過(guò)調(diào)用服務(wù)實(shí)例的初始化函數(shù)對(duì)其進(jìn)行初始化。
8.一種利用權(quán)利要求1所述的系統(tǒng)實(shí)現(xiàn)全動(dòng)態(tài)分布式網(wǎng)絡(luò)服務(wù)管理的方法,其特征在于,按以下步驟停止服務(wù)(a)由命令行模塊從配置文件的服務(wù)停止序列表中讀取需要停止的所有服務(wù)模塊的名稱;(b)按停止順序逐個(gè)根據(jù)服務(wù)模塊的名稱找到對(duì)應(yīng)的服務(wù)代理模塊的名稱、系統(tǒng)代理模塊的名稱、以及所述服務(wù)模塊的所有參數(shù);(c)根據(jù)系統(tǒng)代理模塊的名稱,從命名服務(wù)模塊中獲得系統(tǒng)代理對(duì)象的對(duì)象引用;(d)由系統(tǒng)代理模塊調(diào)用服務(wù)代理模塊的服務(wù)停止接口函數(shù),同時(shí)傳入服務(wù)模塊停止參數(shù);(e)由服務(wù)代理模塊進(jìn)行服務(wù)停止前的清除工作;(f)刪除服務(wù)實(shí)例,返回成功信息。
9.根據(jù)權(quán)利要求8所述方法,其特征在于,在所述步驟(f)中,在刪除服務(wù)實(shí)例之后,所述系統(tǒng)代理模塊會(huì)檢查所述服務(wù)代理模塊中的服務(wù)模塊數(shù),如果發(fā)現(xiàn)該服務(wù)代理模塊中的服務(wù)模塊數(shù)為0,則終止整個(gè)服務(wù)代理模塊。
10.根據(jù)權(quán)利要求8所述方法,其特征在于,在所述步驟(e)中,所述服務(wù)代理模塊通過(guò)調(diào)用服務(wù)實(shí)例的結(jié)束函數(shù)進(jìn)行服務(wù)模塊停止前的清除工作。
全文摘要
本發(fā)明涉及網(wǎng)絡(luò)管理技術(shù),為了解決現(xiàn)有網(wǎng)管系統(tǒng)不能實(shí)現(xiàn)動(dòng)態(tài)配置、功能模塊不能任意拆卸和組合等問(wèn)題,提供一種全動(dòng)態(tài)分布式網(wǎng)絡(luò)服務(wù)管理系統(tǒng)及其服務(wù)方法,在系統(tǒng)中的每臺(tái)物理機(jī)器上裝一個(gè)用于接收并轉(zhuǎn)發(fā)啟動(dòng)、停止和查詢服務(wù)的請(qǐng)求的系統(tǒng)代理模塊;在每一個(gè)系統(tǒng)代理模塊下有一個(gè)或多個(gè)服務(wù)代理模塊,用于接收啟動(dòng)、停止和查詢服務(wù)的請(qǐng)求,并完成這些工作;在每一個(gè)服務(wù)代理模塊中又有一個(gè)或多個(gè)服務(wù)模塊,該服務(wù)模塊用于完成網(wǎng)絡(luò)服務(wù)管理所需的最小單元化功能,例如安全、配置、或日志服務(wù)模塊等。利用本發(fā)明的系統(tǒng)及其方法,可以實(shí)現(xiàn)網(wǎng)管系統(tǒng)的靈活配置、功能模塊的任意組合和拆卸,從而提高網(wǎng)管系統(tǒng)的性能和穩(wěn)定性,降低網(wǎng)管系統(tǒng)的成本。
文檔編號(hào)H04Q3/00GK1521990SQ0310391
公開(kāi)日2004年8月18日 申請(qǐng)日期2003年1月28日 優(yōu)先權(quán)日2003年1月28日
發(fā)明者陳堅(jiān), 陳 堅(jiān) 申請(qǐng)人:華為技術(shù)有限公司