專利名稱:基于WSDM的Web服務(wù)分布式管理系統(tǒng)和管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于WSDM的Web服務(wù)分布式管理系統(tǒng)和管理方法,主要應(yīng)用于對Web服務(wù)和Web服務(wù)運(yùn)行容器的管理,也可以用于對其他可被管理的IT對象的管理。
背景技術(shù):
Web服務(wù)如今已經(jīng)成為分布式計算中最流行的范例,通過Web服務(wù)技術(shù)來實現(xiàn)面向服務(wù)的架構(gòu),企業(yè)可以靈活的解決企業(yè)內(nèi)和企業(yè)間的業(yè)務(wù)集成問題。由于Web服務(wù)越來越被廣泛地整合到企業(yè)的商務(wù)應(yīng)用中,服務(wù)的管理和性能監(jiān)控等問題也日漸突顯出來,使得監(jiān)控和管理它們的需求變得尤為重要。然而由于Web服務(wù)的應(yīng)用可以跨不同的企業(yè)、主機(jī)、操作系統(tǒng),因此對Web服務(wù)的測量、控制就會成為一個問題。對Web服務(wù)進(jìn)行管理,包括對Web服務(wù)本身的管理及使用Web服務(wù)對異構(gòu)的及分布式的系統(tǒng)進(jìn)行管理兩部分。使用Web服務(wù)管理是指通過Web服務(wù)來開發(fā)被管對象或組件的可管理接口,使得管理系統(tǒng)有一種統(tǒng)一的方式來獲得被管理對象的信息及發(fā)送控制命令。而Web服務(wù)的本身的管理關(guān)注的是檢測和控制Web服務(wù)本身以及支撐它們運(yùn)行的環(huán)境,以確保Web服務(wù)的質(zhì)量。
目前的分布式管理技術(shù)中比較常用得是Java管理擴(kuò)展(JavaManagementeXtensions,JMX)。JMX是一個為應(yīng)用程序、設(shè)備、系統(tǒng)等植入管理功能的框架,它提供了標(biāo)準(zhǔn)的方法來管理資源,并且實現(xiàn)了動態(tài)代理來管理這些資源。JMX雖然是一種可以擴(kuò)展的框架,但是它無法利用Web服務(wù)容器的現(xiàn)有功能,并需要開放管理端口,造成了安全隱患。另一種管理技術(shù)是Web服務(wù)分布式管理(Web Services DistributedManagement,WSDM),是OASIS組織提出的關(guān)于Web服務(wù)管理的規(guī)范,它是利用Web服務(wù)來解決管理集成的問題。此規(guī)范包括使用Web服務(wù)管理(MUWS)和Web服務(wù)的管理(MOWS)兩部分。使用Web服務(wù)的管理(MUWS)規(guī)范定義了如何表示和訪問作為Web服務(wù)的資源的可管理性接口。Web服務(wù)的管理(MOWS)規(guī)范定義了如何將Web服務(wù)作為資源來管理以及如何使用MUWS描述和訪問可管理性。但這種Web管理技術(shù)只是一個管理規(guī)范,具體如何實現(xiàn)并未詳細(xì)說明。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問題克服現(xiàn)有技術(shù)的不足,提供一種基于WSDM的Web服務(wù)分布式管理系統(tǒng)及管理方法,該發(fā)明屏蔽了被管理對象的異構(gòu)性,提高了模型的兼容性及管理的互操作性,且不需要開放管理端口,因此不存在安全隱瞞。
本發(fā)明的技術(shù)解決方案一種基于WSDM的Web服務(wù)分布式管理系統(tǒng),包括資源容器、功能實現(xiàn)模塊和功能選擇模塊,其中 資源容器,提供對有狀態(tài)資源WS-Resource的存儲、資源的查找、及資源生命周期管理,其中資源生命周期管理包括資源的創(chuàng)建和銷毀; 功能選擇模塊,對資源容器中的每一個有狀態(tài)的資源WS-Resource均保存一個從資源屬性到具體管理功能的映射表,并將具體的消費(fèi)者的管理請求的屬性名稱映射到具體管理功能中; 功能實現(xiàn)模塊,用來對具體的管理功能的實現(xiàn),每一個功能實現(xiàn)中均保存著對應(yīng)管理屬性的狀態(tài); 當(dāng)管理消費(fèi)者將管理請求發(fā)送到管理系統(tǒng)時,首先由資源容器接收管理請求,并解析出資源的標(biāo)識及資源屬性,然后將解析出的資源標(biāo)識及資源屬性交給功能選擇模塊,功能選擇模塊根據(jù)資源標(biāo)識找到此資源對應(yīng)的屬性功能映射表,然后通過資源屬性名稱從屬性功能映射表中找到對應(yīng)的管理功能,功能實現(xiàn)模塊實現(xiàn)具體的管理功能,然后將管理功能交付給具體的管理對象,從被管理對象中獲得具體的管理數(shù)據(jù)返回給功能實現(xiàn)模塊,功能實現(xiàn)模塊再將具體的管理數(shù)據(jù)交付給資源容器,資源容器構(gòu)造返回的SOAP消息,返回給管理消費(fèi)者。
一種基于WSDM的Web服務(wù)管理方法,它包括以下步驟 第一步,分析被管對象的基本特征和屬性; 第二步,基于以上可管理性和屬性分析對被管對象進(jìn)行建模,將這些被管理對象建模成Web服務(wù)資源的形式; 第三步,將以上建模好的資源放入上述的管理系統(tǒng)中,即將建模好的資源放入管理系統(tǒng)的資源容器中進(jìn)行管理,管理步驟如下 a.當(dāng)管理消費(fèi)者對被管理對象進(jìn)行管理時,管理消費(fèi)者首先發(fā)送基于SOAP消息的管理請求到資源容器; b.資源容器解析該SOAP消息請求,從中提取資源標(biāo)識符及屬性名稱,對管理操作的每一個SOAP消息請求都是一個XML片段,并且SOAP消息請求中都包含有資源ID和具體的資源屬性名稱,通過XML解析器解析可以獲得資源的ID和資源屬性名稱; c.資源容器解析SOAP消息,從中提取資源標(biāo)識符及屬性名稱,對管理操作的每一個SOAP消息都是一個XML片段,并且SOAP消息中都包含有資源ID和具體的資源屬性名稱,通過XML解析器解析可以獲得資源的ID和資源屬性名稱; d.將獲得的資源ID和資源屬性名稱發(fā)送到功能選擇模塊,從功能選擇模塊中保存的屬性功能映射表中獲得管理功能的名稱; e.根據(jù)步驟c中解析到的管理功能名稱調(diào)用功能實現(xiàn)模塊中的具體的管理功能實現(xiàn),獲得屬性的狀態(tài)值,返回給資源容器。由于功能實現(xiàn)模塊中提供了功能實現(xiàn)中屬性值與具體管理對象的屬性狀態(tài)值同步的機(jī)制,所以確保了返回的屬性狀態(tài)值即為被管對象的當(dāng)前狀態(tài)值; f.資源容器獲得步驟d返回的屬性狀態(tài)值,構(gòu)造返回的SOAP消息,返回給管理消費(fèi)者,完成了一次的管理過程; 本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點在于 (1)本發(fā)明由于將所有的被管理對象統(tǒng)一的表示成基于WSDM的Web服務(wù)資源的形式,通過對Web服務(wù)資源的管理達(dá)到對被管理對象管理的目的,因此本發(fā)明面向資源,屏蔽了被管理對象的異構(gòu)性。
(2)模型的兼容性。本發(fā)明基于WSDM的Web服務(wù)分布式管理方法由于基于WSDM,因此能夠描述和封裝任何資源模型(如CIM、SMNP、SID等)和封裝任何資源模型,并為其提供相應(yīng)的Web服務(wù)接口,因此,本發(fā)明的模型的兼容性好。
(3)本發(fā)明不需要開放管理端口,因此不存在安全隱患?,F(xiàn)有技術(shù)中的JMX需要開放管理端口,這樣造成了安全隱患,而本發(fā)明基于WSDM,WSDM不需要開放管理端口,因此使得WSDM與JMX相比,更適合于Web服務(wù)相關(guān)的管理。
圖1為本發(fā)明的管理系統(tǒng)結(jié)構(gòu)示意圖; 圖2為本發(fā)明的管理方法的實現(xiàn)流程圖; 圖3為本發(fā)明功能實現(xiàn)模塊中保持功能實現(xiàn)的第一種方法的流程圖。
具體實施例方式 本發(fā)明提出如下三個概念可管理對象、管理系統(tǒng)、管理消費(fèi)者,下面分別對這三個概念進(jìn)行解釋。
可管理對象,即需要被管理的對象,某個領(lǐng)域里的一個邏輯的或者物理的組件,如打印機(jī)、磁盤、應(yīng)用服務(wù)器如Web服務(wù)運(yùn)行容器和工作流引擎、或者客戶關(guān)系管理程序、Web服務(wù)、流程等,這些對象都有被管理的屬性,都可被管理。
管理系統(tǒng)主要有以下三部分組成資源容器、功能實現(xiàn)模塊和功能選擇模塊。資源容器,提供對有狀態(tài)資源WS-Resource的存儲、資源的查找、及資源生命周期管理,其中資源生命周期管理包括資源的創(chuàng)建和銷毀;功能選擇模塊,對資源容器中的每一個有狀態(tài)的資源WS-Resource均保存一個從資源屬性到具體管理功能的映射表,并將具體的消費(fèi)者的管理請求的屬性名稱映射到具體管理功能中;功能實現(xiàn)模塊,用來對具體的管理功能的實現(xiàn),每一個功能實現(xiàn)中均保存著對應(yīng)管理屬性的狀態(tài)。
管理消費(fèi)者,關(guān)聯(lián)著一個或多個可管理資源的可管理功能的使用者,能夠按照給定的數(shù)據(jù)格式與管理系統(tǒng)進(jìn)行通信,進(jìn)而實現(xiàn)管理功能。
下面結(jié)合附圖對本發(fā)明進(jìn)一步詳細(xì)說明 如圖1所示,本發(fā)明的管理系統(tǒng)分為資源容器、功能選擇模塊和功能實現(xiàn)模塊三部分。
1、資源容器 要說明資源容器,首先說明Web服務(wù)資源的概念。
Web服務(wù)資源是對有狀態(tài)的資源的建模,用于Web服務(wù)消息交換時獲取數(shù)據(jù)上下文,能夠被創(chuàng)建,分配標(biāo)識符并能夠被銷毀。WS-Resource是Web服務(wù)資源框架(Web ServicesResource FrameWork,WSRF)中的一個重要的概念,是為了解決傳統(tǒng)的Web服務(wù)無狀態(tài)的問題而提出的。一個Web服務(wù)實現(xiàn)能夠被看成是一個無狀態(tài)的消息處理器,它響應(yīng)用戶的請求并返回結(jié)果,但是它所實現(xiàn)的消息交換會經(jīng)常的訪問、更新其他系統(tǒng)組件所維持的狀態(tài),可能是數(shù)據(jù)庫、文件系統(tǒng)或者其他實體?!盃顟B(tài)”是一個模糊不清的概念,它可以是一個資源對象的屬性,在這里把有狀態(tài)的資源定義為狀態(tài)數(shù)據(jù)的詳細(xì)集合;良好定義的標(biāo)識和生命周期;被一個或多個Web服務(wù)知道、操作。
資源容器提供了對資源狀態(tài)的存儲、資源的查找、及資源生命周期管理的機(jī)制,其中資源生命周期管理包括資源的創(chuàng)建和銷毀。
資源的創(chuàng)建創(chuàng)建資源時,資源容器會實例化相應(yīng)的資源實例,對其進(jìn)行初始化并返回該資源對應(yīng)的資源標(biāo)識。為了能夠在大量的資源實例之間保證資源標(biāo)識的惟一性,資源容器使用系統(tǒng)當(dāng)前時間加上一個隨機(jī)數(shù)來標(biāo)識一個資源,從而確保資源ID的惟一性。
資源的銷毀資源的銷毀是指在資源的生命周期耗盡時對資源的刪除。資源容器首先通過資源的ID獲得該資源的實例,然后資源容器將其刪除。
資源的查找資源的查找是指資源容器根據(jù)名稱找到資源中的對應(yīng)的屬性,然后獲取屬性的值或進(jìn)行更新操作。首先通過資源ID獲得該資源的實例,如果資源存在,那么得到它的子元素列表,然后對列表中的元素進(jìn)行判斷,如果元素名稱與輸入的屬性名稱相同,那么就進(jìn)行屬性值的獲取或更新操作,否則作遞歸操作,直到找到該資源屬性或訪問失敗。
資源狀態(tài)的存儲資源容器對資源的存儲有三種,存儲在內(nèi)存中、存儲在硬盤中和存儲在數(shù)據(jù)庫中。資源狀態(tài)存儲在內(nèi)存中此方式能提供最好的性能,并能在最短的時間內(nèi)對請求作出響應(yīng)。資源狀態(tài)存儲在硬盤中是指將某些資源的狀態(tài)以文件的形式存儲在硬盤上,能夠有效的防止系統(tǒng)崩潰帶來的損失。資源的狀態(tài)存儲在數(shù)據(jù)庫中,這種方式的優(yōu)點是它可以提供使用SQL語句等強(qiáng)大的查詢機(jī)制。
2、功能選擇模塊 功能選擇模塊對資源容器中的每一個資源都保存著一個資源屬性到具體管理功能的映射表,如下表所示 屬性功能映射表 其中資源的屬性名稱包括資源的標(biāo)識ResourceId,資源的描述Description為,資源的操作狀態(tài)OperationalStatus,資源的統(tǒng)計數(shù)據(jù)Metrics,資源的狀態(tài)State;管理功能名稱包括標(biāo)識功能IdentityCapability,描述功能DescriptionCapability,操作狀態(tài)功能OperationalStatusCapability,統(tǒng)計功能MetricsCapability,操作狀態(tài)功能StateCapability。
對每一個管理對象的管理功能的不同,映射表的長度也不同。上述映射表中的管理功能是每一個管理對象都可能具有的通用的管理功能。不同的管理對象還有其特有的屬性及對應(yīng)的管理功能。
當(dāng)管理消費(fèi)者將管理請求發(fā)送到管理系統(tǒng)時,首先由管理系統(tǒng)中的資源容器接收管理請求,并解析出資源的標(biāo)識ResourceId及資源屬性,然后將解析出的資源標(biāo)識ResourceId及資源屬性交給功能選擇模塊。
功能選擇模塊根據(jù)資源標(biāo)識ResourceId找到此資源對應(yīng)的屬性功能映射表。然后通過資源屬性名稱從屬性功能映射表中找到對應(yīng)的管理功能。具體的方法是從前往后依次遍歷映射表的屬性列,若找到,則返回對應(yīng)的管理功能,若遍歷到映射表的最后還沒找到,則返回空。然后功能選擇模塊根據(jù)查找到的管理功能的名稱調(diào)用功能實現(xiàn)模塊中對應(yīng)的管理功能實現(xiàn)。
3、功能實現(xiàn)模塊 功能實現(xiàn)模塊用來對具體的管理功能的實現(xiàn),每一個功能實現(xiàn)中保存著對應(yīng)管理屬性的狀態(tài)。為了確保每一個功能實現(xiàn)中保存著的管理屬性的狀態(tài)與真正的管理對象中的管理屬性的狀態(tài)一致,采用了兩種方法。第一種方法是管理功能的實現(xiàn)每隔一段時間的對被管理對象中對應(yīng)的屬性狀態(tài)值進(jìn)行查詢,若被管理對象中對應(yīng)的屬性狀態(tài)值改變了,功能實現(xiàn)就修改其中保存的管理屬性的狀態(tài),使其保持一致(如圖3所示)。第二中方法是被管理對象的屬性狀態(tài)值改變后,主動通知功能實現(xiàn)模塊中的功能實現(xiàn),然后功能實現(xiàn)模塊對其保存的管理屬性的狀態(tài)進(jìn)行修改。
同時,管理消費(fèi)者可能會發(fā)出修改被管對象狀態(tài)的請求。當(dāng)用戶發(fā)送請求時,功能實現(xiàn)會首先修改其中保存的屬性的狀態(tài),并將值同步修改到被管對象中。
4.三個模塊之間的相互關(guān)系 圖1清楚的說明了三個模塊之間的相互關(guān)系,當(dāng)一個被管理對象通過此管理系統(tǒng)進(jìn)行管理時,流程如圖3所示,分為如下幾步 當(dāng)管理消費(fèi)者將管理請求發(fā)送到管理系統(tǒng)時,首先由資源容器接收管理請求,并解析出資源的標(biāo)識及資源屬性,然后將解析出的資源標(biāo)識及資源屬性交給功能選擇模塊,功能選擇模塊根據(jù)資源標(biāo)識找到此資源對應(yīng)的屬性功能映射表,然后通過資源屬性名稱從屬性功能映射表中找到對應(yīng)的管理功能,功能實現(xiàn)模塊實現(xiàn)具體的管理功能,然后將管理功能交付給具體的管理對象,從被管理對象中獲得具體的管理數(shù)據(jù)返回給功能實現(xiàn)模塊,功能實現(xiàn)模塊再將具體的管理數(shù)據(jù)交付給資源容器,資源容器構(gòu)造返回的SOAP消息,返回給管理消費(fèi)者。
5.本發(fā)明的管理方法主要分為以下幾個步驟 第一步分析被管理對象的基本特征和屬性 被管對象的基本管理特征有性能、安全策略、穩(wěn)定性、可觀察性、可控性、狀態(tài)模型、可操作的狀態(tài)、度量信息等。下面以Web服務(wù)容器為例,說明被管理對象的管理特征和屬性。對Web服務(wù)容器的管理包括對Web服務(wù)本身及支撐運(yùn)行Web服務(wù)組件的管理。
(1)Web服務(wù) 首先是Web服務(wù),對Web服務(wù)的管理包括對它們的質(zhì)量如有效性、性能等及它們的狀態(tài)的管理。下面是它的詳細(xì)管理信息。
◆Web服務(wù)的QOS 可用性(Availability)可用性是用來刻畫Web服務(wù)是否立即可用方面的服務(wù)質(zhì)量。
性能(Performance)性能是用來測量Web服務(wù)的吞吐量和響應(yīng)時間方面的服務(wù)質(zhì)量。吞吐量用來表示在給定的一段時間內(nèi)Web服務(wù)被請求服務(wù)的次數(shù)。響應(yīng)時間是指從客戶端發(fā)送請求消息開始到響應(yīng)消息返回到客戶端之間的來回時間。
穩(wěn)定性穩(wěn)定性是指Web服務(wù)在提供服務(wù)時的度量。穩(wěn)定性包括可用率、成功率、和可達(dá)率。可用率是指Web服務(wù)容器正常工作的時間比率,可達(dá)率是指在Web服務(wù)容器可用的情況下,它能接收請求的百分比,成功率是指Web服務(wù)請求被成功處理的比率。
◆Web服務(wù)的度量 在MOWS中定義了Web服務(wù)度量屬性,包括NumberOfRequests、NumberOfFailedRequests、NumberOfSuccessfulRequets、ServiceTime、MaxResponseTime、AvarageResponseTime。
NumberOfRequests是指Web服務(wù)端點所收到的請求數(shù),NumberOfFailedRequests是指Web服務(wù)端點接收SOAP消息并返回錯誤SOAP消息的個數(shù),ServiceTime指Web服務(wù)端點處理正確調(diào)用或錯誤調(diào)用的總時間,AvarageResponseTime是指Web服務(wù)在處理請求調(diào)用時的平均響應(yīng)時間,它是用于測量Web服務(wù)負(fù)載的一個非常重要和有用的指標(biāo)。
◆Web服務(wù)的生命周期 Web服務(wù)對象和其他技術(shù)架構(gòu)中的對象一樣,存在著生命周期的概念。其中Web服務(wù)的整個生命周期的狀態(tài)有運(yùn)行態(tài)和非運(yùn)行態(tài)兩種。運(yùn)行態(tài)又分為空閑態(tài)和忙態(tài)兩種。非運(yùn)行態(tài)又分為停止態(tài)、中斷態(tài)和飽和態(tài)三種。
(2)Web服務(wù)容器即Web服務(wù)運(yùn)行支撐環(huán)境 容器的啟動、暫停、停止。
系統(tǒng)工作負(fù)荷監(jiān)視,包括
完成的請求數(shù)
待定請求數(shù)
正在執(zhí)行的請求數(shù)
非正常執(zhí)行的請求數(shù)
最長等待時間
當(dāng)前等待時間 系統(tǒng)的基本信息,包括容器的名稱、狀態(tài)、運(yùn)行狀況、監(jiān)聽端口、啟動時間、版本信息、OS名稱、OS版本。
相關(guān)組件的基本信息,如線程池統(tǒng)計信息、對象池統(tǒng)計信息、內(nèi)存利用率、Java虛擬機(jī)監(jiān)視。
第二步基于以上可管理性和屬性分析對被管對象進(jìn)行建模,將這些被管理對象表示成資源的形式。
因為基于WSDM的分布式管理方法的核心概念就是將被管理對象當(dāng)成Web服務(wù)資源管理,Web服務(wù)資源的概念在管理系統(tǒng)中已經(jīng)進(jìn)行了說明。
有了Web服務(wù)資源的概念,就可以定義WSDM資源,一個WSRF中定義的資源被注入有關(guān)管理方面的屬性和功能即稱為WSDM資源。后面使用的“資源”一詞指的都是“WSDM資源”。
以Web服務(wù)容器為例,把Web服務(wù)本身當(dāng)作資源實體來看,它是有狀態(tài)的,Web服務(wù)具有的生命周期,Web服務(wù)的QOS的指標(biāo)例如Web服務(wù)的吞吐量、響應(yīng)時間、穩(wěn)定性等都可以是這個資源實體的狀態(tài)。而對于Web服務(wù)的運(yùn)行支撐環(huán)境,它的對象池、線程池、Java虛擬機(jī)都可以看成資源,對象池的大小、線程池的使用調(diào)度信息、Java虛擬機(jī)的使用情況都可以看作是它們的狀態(tài),而且Web服務(wù)運(yùn)行環(huán)境本身也可以看作是資源,它的一些基本的運(yùn)行數(shù)據(jù)可以看作是它的狀態(tài)。當(dāng)使用WSDM的概念對它們進(jìn)行管理時,那么就需要使用WS-Resource對它們進(jìn)行建模。
建模方法把每一個管理指標(biāo)創(chuàng)建為資源的一個屬性,這里提供一種用XML文檔的形式來展現(xiàn)資源的屬性,該文檔中的頂層元素包含了該可管理資源的所有屬性,以Web服務(wù)容器為例,下面是具體步驟 a.創(chuàng)建資源的標(biāo)識功能,標(biāo)識的目標(biāo)是判斷兩個實體是否相同,該功能對應(yīng)的屬性描述為ResourceID。每個可管理資源都必須提供該屬性,XML文檔Schema的定義 <xs:schema targetNamespace=″http://example.org/services/Container.xsd″> <xs:element name=″Container″><xs:complexType> <xs:sequence><xs:element ref=″muws-p1-xs:ResourceId″/> </xs:sequence></xs:complexType> </xs:element> </xs:schema> b.創(chuàng)建對資源的描述功能即Description,該功能包括三個屬性 Caption,Description,and Version。對上述的Schema進(jìn)行擴(kuò)展,如下所示 <xs:schema targetNamespace=″http://example.org/services/Container.xsd″> <xs:element name=″Container″><xs:complexType> <xs:sequence> <xs:element ref=″muws-p1-xs:ResourceId″/> <xs:element ref=″muws-p2-xs:Caption″ min0ccurs=″0″max0ccurs=″unbounded″/> <xs:element ref=″muws-p2-xs:Description″ min0ccurs=″0″max0ccurs=″unbounded″/> <xs:element ref=″muws-p2-xs:Version″ min0ccurs=″0″/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> c.創(chuàng)建資源的操作狀態(tài)功能即Operational Status,該功能定義了一個資源的可用性。操作狀態(tài)屬性包括以下幾個Available資源運(yùn)行良好,可以接收新請求;Unavailable資源崩潰,不接收新請求;PartiallyAvailable半好半壞;Unknown未知。繼續(xù)對Schema進(jìn)行擴(kuò)展 <xs:schema targetNamespace=″http://example.org/servi ces/Container.xsd″> <xs:element name=″Container″><xs:compl exType> <xs:sequence><xs:element ref=″muws-p1-xs:ResourceId″/><xs:element ref=″muws-p2-xs:Caption″min0ccurs=″0″max0ccurs=″unbounded″/><xs:element ref=″muws-p2-xs:Description″min0ccurs=″0″max0ccurs=″unbounded″/><xs:element ref=″muws-p2-xs:Version″min0ccurs=″0″/><xs:element ref=″muws-p2-xs:OperationalStatus″/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> 所有的創(chuàng)建資源屬性的方法都如上面a、b、c所示,對于所有可管理資源來講,比較通用的屬性還有度量Metrics、狀態(tài)State。當(dāng)然對于特定的資源有它特定的管理功能,所以可以定義一些特定的屬性。例如,對于Web服務(wù)容器,需要對它的對象池、線程池監(jiān)控,則需要擴(kuò)充定義與對象池、線程池相關(guān)的屬性。如下所示 <xs:schema targetNamespace=″http://example.org/services/Container.xsd″> <xs:element name=″Container″><xs:complexType> <xs:sequence><xs:element ref=″muws-p1-xs:ResourceId″/><xs:element ref=″muws-p2-xs:Caption″min0ccurs=″0″max0ccurs=″unbounded″/><xs:element ref=″muws-p2-xs:Description″min0ccurs=″0″max0ccurs=″unbounded″/><xs:element ref=″muws-p2-xs:Version″min0ccurs=″0″/><xs:element ref=″muws-p2-xs:OperationalStatus″/><xs:element name=″ObjectPool″> <xs:complexType> <xs:sequence> <xs:element name=″InPoolSize″/> <xs:element name=″OutPoolSize″/> </xs:sequence> </xs:complexType></xs:element><xs:element name=″ThreadPool″> <xs:complexType> <xs:sequence> <xs:element name=″ActiveCount″/> <xs:element name=″CompletedTaskCount″/> <xs:element name=″CurrentTreadCount″/> </xs:sequence></xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> 這一步說明了如何對被管理對象進(jìn)行建模,包括如何創(chuàng)建對應(yīng)的建模資源的通用管理屬性和特有管理屬性。
第三步將以上建模好的資源放入前述的管理系統(tǒng)中 (1)將建模好的資源放入管理系統(tǒng)的資源容器中。
資源容器提供了對資源狀態(tài)的存儲、資源的查找、及資源生命周期管理的機(jī)制,其中資源生命周期管理包括資源的創(chuàng)建和銷毀。由此對被管理對象的管理就轉(zhuǎn)換成對資源的管理。
(2)通過管理系統(tǒng)即可對該資源進(jìn)行管理。具體的管理方法如下 a.當(dāng)管理消費(fèi)者對被管理對象進(jìn)行管理時,管理消費(fèi)者首先發(fā)送基于SOAP消息的管理請求到資源容器; b.資源容器解析該SOAP消息請求,從中提取資源標(biāo)識符及屬性名稱,對管理操作的每一個SOAP消息請求都是一個XML片段,并且SOAP消息請求中都包含有資源ID和具體的資源屬性名稱,通過XML解析器解析可以獲得資源的ID和資源屬性名稱; c.資源容器解析SOAP消息,從中提取資源標(biāo)識符及屬性名稱,對管理操作的每一個SOAP消息都是一個XML片段,并且SOAP消息中都包含有資源ID和具體的資源屬性名稱,通過XML解析器解析可以獲得資源的ID和資源屬性名稱; d.將獲得的資源ID和資源屬性名稱發(fā)送到功能選擇模塊,從功能選擇模塊中保存的屬性功能映射表中獲得管理功能的名稱; e.根據(jù)步驟c中解析到的管理功能名稱調(diào)用功能實現(xiàn)模塊中的具體的管理功能實現(xiàn),獲得屬性的狀態(tài)值,返回給資源容器。由于功能實現(xiàn)模塊中提供了功能實現(xiàn)中屬性值與具體管理對象的屬性狀態(tài)值同步的機(jī)制,所以確保了返回的屬性狀態(tài)值即為被管對象的當(dāng)前狀態(tài)值; f.資源容器獲得步驟d返回的屬性狀態(tài)值,構(gòu)造返回的SOAP消息,返回給管理消費(fèi)者,完成了一次的管理過程; 第四步通過處理管理消費(fèi)者的管理請求實現(xiàn)對被管對象的管理 在實際的應(yīng)用當(dāng)中,當(dāng)某個管理消費(fèi)者需要請求某種管理功能的時候,首先將管理請求映射成資源的屬性,然后通過符合資源規(guī)范的請求報文發(fā)送給管理系統(tǒng),通過管理系統(tǒng)的處理,當(dāng)從管理系統(tǒng)得到響應(yīng)報文,從中提取預(yù)定義的屬性的值,由于本管理方法是基于WSDM協(xié)議的,所有的被管理對象相應(yīng)的報文的格式都是相同的,因此提高了互操作性和可擴(kuò)展性。然后管理消費(fèi)者將返回來的結(jié)果按照統(tǒng)一的處理方式展現(xiàn)給用戶。
至此,從管理消費(fèi)者到管理系統(tǒng)到被管對象的整個的管理流程處理完成,從而實現(xiàn)了對被管理對象的管理。
本發(fā)明提供的實現(xiàn)基于WSDM的Web服務(wù)分布式管理系統(tǒng)和管理方法主要應(yīng)用于對Web服務(wù)和Web服務(wù)運(yùn)行容器的管理,也可以用于對其他可被管理的IT對象的管理。本發(fā)明由于將所有的被管理對象統(tǒng)一的表示成Web服務(wù)資源的形式,通過對Web服務(wù)資源的管理達(dá)到對被管理對象管理的目的,因此屏蔽了被管理對象的異構(gòu)性。同時由于該管理系統(tǒng)定義了一系列標(biāo)準(zhǔn)的管理功能,在管理消費(fèi)者和被管理資源之間存在一種約定,管理消費(fèi)者理解什么樣的消息才能在消費(fèi)者和資源之間進(jìn)行交互,因此提高了模型的兼容性及管理的互操作性。本發(fā)明未詳細(xì)說明部分屬于本領(lǐng)域公知技術(shù)。
盡管為說明目的公開了本發(fā)明的最佳實施例和附圖,但是本領(lǐng)域的技術(shù)人員可以理解在不脫離本發(fā)明及所附的權(quán)利要求的精神和范圍內(nèi),各種替換、變化和修改都是可能的。因此,本發(fā)明不應(yīng)局限于最佳實施例和附圖所公開的內(nèi)容。
權(quán)利要求
1、一種基于WSDM的Web服務(wù)分布式管理系統(tǒng),其特征在于包括資源容器、功能實現(xiàn)模塊和功能選擇模塊,其中
資源容器,提供對有狀態(tài)資源WS-Resource的存儲、資源的查找、及資源生命周期管理,其中資源生命周期管理包括資源的創(chuàng)建和銷毀;
功能選擇模塊,對資源容器中的每一個有狀態(tài)的資源WS-Resource均保存一個從資源屬性到具體管理功能的映射表,并將具體的消費(fèi)者的管理請求的屬性名稱映射到具體管理功能中;
功能實現(xiàn)模塊,用來對具體的管理功能的實現(xiàn),每一個功能實現(xiàn)中均保存著對應(yīng)管理屬性的狀態(tài);
當(dāng)管理消費(fèi)者將管理請求發(fā)送到管理系統(tǒng)時,首先由資源容器接收管理請求,并解析出資源的標(biāo)識及資源屬性,然后將解析出的資源標(biāo)識及資源屬性交給功能選擇模塊,功能選擇模塊根據(jù)資源標(biāo)識找到此資源對應(yīng)的屬性功能映射表,然后通過資源屬性名稱從屬性功能映射表中找到對應(yīng)的管理功能,功能實現(xiàn)模塊實現(xiàn)具體的管理功能,然后將管理功能交付給具體的管理對象,從被管理對象中獲得具體的管理數(shù)據(jù)返回給功能實現(xiàn)模塊,功能實現(xiàn)模塊再將具體的管理數(shù)據(jù)交付給資源容器,資源容器構(gòu)造返回的SOAP消息,返回給管理消費(fèi)者。
2、根據(jù)權(quán)利要求1所述的基于WSDM的Web服務(wù)分布式管理系統(tǒng),其特征在于所述的資源容器中資源的創(chuàng)建實現(xiàn)為創(chuàng)建資源時,資源容器會實例化相應(yīng)的資源實例,對其進(jìn)行初始化并返回該資源對應(yīng)的資源標(biāo)識,為了能夠在大量的資源實例之間保證資源標(biāo)識的惟一性,資源容器使用系統(tǒng)當(dāng)前時間加上一個隨機(jī)數(shù)來標(biāo)識一個資源,從而確保資源ID的惟一性。
3、根據(jù)權(quán)利要求1所述的基于WSDM的Web服務(wù)分布式管理系統(tǒng),其特征在于所述的資源容器中資源的銷毀實現(xiàn)為資源的銷毀是指在資源的生命周期耗盡時對資源的刪除,資源容器首先通過資源的ID獲得該資源的實例,然后資源容器將其刪除。
4、根據(jù)權(quán)利要求1所述的基于WSDM的Web服務(wù)分布式管理系統(tǒng),其特征在于所述的資源容器中資源的查找實現(xiàn)為資源的查找是指資源容器根據(jù)名稱找到資源中的對應(yīng)的屬性,然后獲取屬性的值或進(jìn)行更新操作。首先通過資源ID獲得該資源的實例,如果資源存在,那么得到它的子元素列表,然后對列表中的元素進(jìn)行判斷,如果元素名稱與輸入的屬性名稱相同,那么就進(jìn)行屬性值的獲取或更新操作,否則作遞歸操作,直到找到該資源屬性或訪問失敗。
5、根據(jù)權(quán)利要求1所述的基于WSDM的Web服務(wù)分布式管理系統(tǒng),其特征在于所述的資源容器中資源狀態(tài)的存儲資源容器對資源的存儲有三種,即存儲在內(nèi)存中、存儲在硬盤中和存儲在數(shù)據(jù)庫中,其中資源狀態(tài)存儲在內(nèi)存中能提供最好的性能,并能在最短的時間內(nèi)對請求作出響應(yīng);資源狀態(tài)存儲在硬盤中是指將某些資源的狀態(tài)以文件的形式存儲在硬盤上,能夠有效的防止系統(tǒng)崩潰帶來的損失;資源的狀態(tài)存儲在數(shù)據(jù)庫中,可以提供使用語句強(qiáng)大的查詢機(jī)制。
6、根據(jù)權(quán)利要求1所述的基于WSDM的Web服務(wù)分布式管理系統(tǒng),其特征在于所述的功能選擇模塊中的映射表至少包括以下內(nèi)容
屬性功能映射表
其中資源的屬性名稱包括資源的標(biāo)識ResourceId,資源的描述Description為,資源的操作狀態(tài)OperationalStatus,資源的統(tǒng)計數(shù)據(jù)Metrics,資源的狀態(tài)State;管理功能名稱包括標(biāo)識功能IdentityCapability,描述功能DescriptionCapability,操作狀態(tài)功能OperationalStatusCapability,統(tǒng)計功能MetricsCapability,操作狀態(tài)功能StateCapability;對每一個管理對象的管理功能的不同,映射表的長度也不同。
7、根據(jù)權(quán)利要求1所述的基于WSDM的Web服務(wù)分布式管理系統(tǒng)。
其特征在于所述的功能實現(xiàn)模塊對每一個功能實現(xiàn)中均保存著對應(yīng)管理屬性的狀態(tài)的實現(xiàn)方法為兩種第一種方法是管理功能的實現(xiàn)每隔一段時間對被管理對象中對應(yīng)的屬性狀態(tài)值進(jìn)行查詢,若被管理對象中對應(yīng)的屬性狀態(tài)值改變了,功能實現(xiàn)模塊中的功能實現(xiàn)就修改其中保存的管理屬性的狀態(tài),使其保持一致;第二中方法是被管理對象的屬性狀態(tài)值改變后,主動通知功能實現(xiàn)模塊中的功能實現(xiàn),然后功能實現(xiàn)模塊對其保存的管理屬性的狀態(tài)進(jìn)行修改。
8、一種基于WSDM的Web服務(wù)分布式管理方法,其特征在于包括以下步驟
第一步,分析被管理對象的基本特征和屬性;
第二步,基于以上可管理性和屬性分析對被管理對象進(jìn)行建模,將這些被管理對象建模,表示成有狀態(tài)的資源WS-Resource形式;
第三步,將以上建模好的有狀態(tài)的資源WS-Resource放入權(quán)利要求1所述管理系統(tǒng)中的資源容器中進(jìn)行管理,管理步驟如下
a.當(dāng)管理消費(fèi)者對被管理對象進(jìn)行管理時,管理消費(fèi)者首先發(fā)送基于SOAP消息的管理請求到資源容器;
b.資源容器解析該SOAP消息請求,從中提取資源標(biāo)識符及屬性名稱,對管理操作的每一個SOAP消息請求都是一個XML片段,并且SOAP消息請求中都包含有資源ID和具體的資源屬性名稱,通過XML解析器解析可以獲得資源的ID和資源屬性名稱;
c.資源容器解析SOAP消息,從中提取資源標(biāo)識符及屬性名稱,對管理操作的每一個SOAP消息都是一個XML片段,并且SOAP消息中都包含有資源ID和具體的資源屬性名稱,通過XML解析器解析可以獲得資源的ID和資源屬性名稱;
d.將獲得的資源ID和資源屬性名稱發(fā)送到功能選擇模塊,從功能選擇模塊中保存的屬性功能映射表中獲得管理功能的名稱;
e.根據(jù)步驟c中解析到的管理功能名稱調(diào)用功能實現(xiàn)模塊中的具體的管理功能實現(xiàn),獲得屬性的狀態(tài)值,返回給資源容器。由于功能實現(xiàn)模塊中提供了功能實現(xiàn)中屬性值與具體管理對象的屬性狀態(tài)值同步的機(jī)制,所以確保了返回的屬性狀態(tài)值即為被管對象的當(dāng)前狀態(tài)值;
f.資源容器獲得步驟d返回的屬性狀態(tài)值,構(gòu)造返回的SOAP消息,返回給管理消費(fèi)者,完成了一次的管理過程。
9、根據(jù)權(quán)利要求8所述的基于WSDM的Web服務(wù)分布式管理方法,其特征在于所述的功能選擇模塊中的映射表至少包括以下內(nèi)容
屬性功能映射表
其中資源的屬性名稱包括資源的標(biāo)識ResourceId,資源的描述Description為,資源的操作狀態(tài)OperationalStatus,資源的統(tǒng)計數(shù)據(jù)Metrics,資源的狀態(tài)State;管理功能名稱包括標(biāo)識功能IdentityCapability,描述功能DescriptionCapability,操作狀態(tài)功能OperationalStatusCapability,統(tǒng)計功能MetricsCapability,操作狀態(tài)功能StateCapability;對每一個管理對象的管理功能的不同,映射表的長度也不同。
全文摘要
一種基于WSDM的Web服務(wù)分布式管理系統(tǒng),包括資源容器、功能實現(xiàn)模塊和功能選擇模塊;管理方法的步驟為A.分析被管對象的基本特征和屬性;B.基于以上可管理性和屬性分析對被管對象進(jìn)行建模,將這些被管理對象建模成Web服務(wù)資源的形式;C.通過前述的管理系統(tǒng)對以上建模好的資源進(jìn)行管理。D.管理消費(fèi)者通過管理系統(tǒng)獲得管理數(shù)據(jù),進(jìn)行分析展現(xiàn)。本發(fā)明由于將所有的被管理對象統(tǒng)一的表示成Web服務(wù)資源的形式,通過對Web服務(wù)資源的管理達(dá)到對被管理對象管理的目的,因此屏蔽了被管理對象的異構(gòu)性,同時提高了模型的兼容性,而且不需要開放管理端口,因此不存在安全隱瞞。
文檔編號H04L29/08GK101340368SQ20081011812
公開日2009年1月7日 申請日期2008年8月12日 優(yōu)先權(quán)日2008年8月12日
發(fā)明者懷進(jìn)鵬, 陳媛媛, 浩 曾, 李竹青 申請人:北京航空航天大學(xué)