專利名稱:基于服務(wù)質(zhì)量的Web服務(wù)注冊與發(fā)現(xiàn)系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及Web服務(wù)(Web Service)的注冊與發(fā)現(xiàn)技術(shù)領(lǐng)域,特別是基于服務(wù)質(zhì)量(QoS)的Web服務(wù)注冊與發(fā)現(xiàn)系統(tǒng)及其方法。
背景技術(shù):
Web是使得應(yīng)用程序可以用與平臺和編程語言無關(guān)的方式進行相互通信的一項技術(shù),而Web服務(wù)是一種軟件接口,它描述了一組可以在網(wǎng)絡(luò)上通過標(biāo)準(zhǔn)化的可擴展標(biāo)記語言(eXtensible Markup Language,XML)消息傳遞訪問的操作,它使用基于XML語言的協(xié)議來描述所要執(zhí)行的操作或者所要與另一個Web服務(wù)交換的數(shù)據(jù)。Web服務(wù)的注冊與發(fā)現(xiàn)是使用Web服務(wù)的前提。簡單地說,所謂Web服務(wù)的注冊是指服務(wù)提供者發(fā)布所能提供的Web服務(wù)并將該服務(wù)登記到注冊中心,所謂發(fā)現(xiàn)是指注冊中心根據(jù)服務(wù)使用者的查詢請求查找滿足條件的Web服務(wù)。
對Web服務(wù)的需求可以分為功能性需求和非功能性需求兩個層次。功能性需求是指必須實現(xiàn)的服務(wù)功能,使得使用者能完成他們的任務(wù),從而滿足了實際業(yè)務(wù)功能的需求。非功能需求,即服務(wù)質(zhì)量(QoS),是指使用者對Web服務(wù)良好運作提出的期望,包括了安全性、易用性、反應(yīng)速度、容錯性、健壯性等質(zhì)量屬性。
目前,Web服務(wù)的注冊與發(fā)現(xiàn)機制大多是基于功能性需求來注冊和發(fā)現(xiàn)服務(wù),而對于非功能性需求則關(guān)注得比較少,其根本原因在于現(xiàn)有的通用描述、發(fā)現(xiàn)和集成(UDDI)注冊中心不支持非功能性屬性,例如現(xiàn)有的UDDI注冊中心不支持QoS屬性的Web服務(wù)的注冊與發(fā)現(xiàn)。
實際上,UDDI注冊中心作為一個Web服務(wù)信息的管理機構(gòu),Web服務(wù)的名稱、ID、所有者信息等就存儲在UDDI注冊中心。但是該Web服務(wù)的接口描述文檔則可能存儲在UDDI注冊中心,也可能存儲在UDDI注冊中心之外的其它位置,而只在UDDI注冊中心保存一個指向描述文檔存儲位置的指針。如果一條信息存儲在UDDI注冊中心,用戶只要通過合適的參數(shù)就可以訪問到這條信息;如果信息不是存儲在UDDI注冊中心,用戶訪問UDDI注冊中心的結(jié)果僅僅是獲得了關(guān)于信息的一個描述信息,例如指針,需要通過描述信息進一步訪問存儲信息的具體位置,才能獲取相應(yīng)的信息。
為了實現(xiàn)基于QoS的Web服務(wù)注冊與發(fā)現(xiàn),目前所采用的主要方式是對UDDI注冊中心進行非功能性的擴展,使其能夠?qū)哂蠶oS屬性的Web服務(wù)進行注冊與發(fā)現(xiàn)。在UDDI中支持發(fā)布可搜索QoS數(shù)據(jù)的最好方式是技術(shù)模型(tModel),這是因為tModel是一個通用的數(shù)據(jù)結(jié)構(gòu),任何組織都可以使用tModel來描述他們所提供服務(wù)的詳細(xì)信息,其中包括QoS方面的信息。
雖然通過擴展UDDI可以實現(xiàn)基于QoS的Web服務(wù)注冊與發(fā)現(xiàn),但是由于UDDI本身一般不被頻繁地更新,所以該方法只適合靜態(tài)QoS信息,不適用于動態(tài)實時改變的QoS信息。另外,對已成標(biāo)準(zhǔn)的UDDI進行擴展的難度較大,而且,對已經(jīng)部署的UDDI進行功能擴充會收到其所有者的阻力,而且成本也比較高。因此,該方法的實現(xiàn)成本較高,不易于部署實現(xiàn)。
另一種實現(xiàn)具有QoS的Web服務(wù)注冊與發(fā)現(xiàn)的方式是在引入新的模塊的同時,對UDDI進行擴展。例如,在一種具有QoS屬性的Web服務(wù)發(fā)現(xiàn)模型中引入了“服務(wù)證明者(Certifier)”模塊,該模塊相當(dāng)于第三方認(rèn)證中心。當(dāng)服務(wù)提供者發(fā)布帶有QoS屬性的Web服務(wù)時,服務(wù)證明者模塊會在Web服務(wù)被允許登記進入UDDI注冊中心之前,對其QoS進行必要的認(rèn)證。同時,該方法對UDDI注冊中心進行了擴展,在原來的商業(yè)實體信息(businessEntity)、商業(yè)服務(wù)信息(businessService)、綁定信息(bindingTemplate)、發(fā)布者斷言信息(publisherAssertion)和tModel的基礎(chǔ)上,引入質(zhì)量信息(QualityInformation)數(shù)據(jù)單元,用來保存服務(wù)提供者發(fā)布并經(jīng)過服務(wù)證明者認(rèn)證后的QoS屬性。
在這種方法中,QualityInformation數(shù)據(jù)單元中雖然存放了QoS屬性值,但這只是服務(wù)提供者在發(fā)布Web服務(wù)時提供的,提供者可能會為了自身利益而夸大其QoS能力。另一方面,某些QoS值并不是一成不變的,如Web服務(wù)的平均響應(yīng)時間、失效率等,所以在此模型中服務(wù)使用者不能夠完全信任該QoS值。同時,UDDI不適合存儲此類動態(tài)的QoS信息。可以看出,該方法沒有合理地認(rèn)證QoS,也沒有度量和監(jiān)視QoS。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提出了一種基于QoS的Web服務(wù)注冊與發(fā)現(xiàn)系統(tǒng)及其方法,其目的在于,在無需對已有的UDDI注冊中心進行擴展的前提下基于QoS對Web服務(wù)進行注冊與發(fā)現(xiàn)。本發(fā)明進一步的目的是有效地監(jiān)控和度量Web服務(wù)的QoS。
根據(jù)上述目的本發(fā)明提供了一種基于QoS的Web服務(wù)注冊與發(fā)現(xiàn)系統(tǒng),包括UDDI注冊中心,用于在接收到來自QoS信息代理代表服務(wù)提供者提交的Web服務(wù)注冊請求時,進行常規(guī)Web服務(wù)注冊并返回注冊成功后該Web服務(wù)的標(biāo)識符ID,在接收到來自QoS信息代理代表服務(wù)使用者提交的查詢請求時,返回滿足該查詢請求中要求的Web服務(wù)列表;QoS信息代理,用于在接收到來自服務(wù)提供者的攜帶有QoS信息的Web服務(wù)注冊請求時,將該注冊請求中除所述QoS信息之外的內(nèi)容發(fā)送給所述UDDI注冊中心進行常規(guī)Web服務(wù)注冊,并且保存所述QoS信息和從UDDI注冊中心返回的注冊成功后該Web服務(wù)的ID的對應(yīng)關(guān)系;在接收到來自服務(wù)使用者的攜帶有QoS要求的查詢請求時,將該查詢請求中除所述QoS要求之外的內(nèi)容發(fā)送給UDDI注冊中心,按功能屬性查詢Web服務(wù),并且在從UDDI注冊中心返回的Web服務(wù)列表中,根據(jù)所述對應(yīng)關(guān)系篩選滿足所述QoS要求的Web服務(wù),并向服務(wù)使用者返回所述滿足QoS要求的Web服務(wù)列表。
所述QoS信息代理包括QoS服務(wù)注冊模塊,用于在接收到來自服務(wù)提供者的攜帶有QoS信息的Web服務(wù)注冊請求時,將該注冊請求中除所述QoS信息之外的內(nèi)容發(fā)送給所述UDDI注冊中心進行常規(guī)Web服務(wù)注冊,并且在QoS信息庫中保存所述QoS信息和從UDDI注冊中心返回的注冊成功后該Web服務(wù)的ID的對應(yīng)關(guān)系;QoS信息庫,用于存儲各Web服務(wù)的QoS信息和ID的對應(yīng)關(guān)系;以及QoS服務(wù)查找模塊,用于在接收到來自服務(wù)使用者的攜帶有QoS要求的查詢請求時,將該查詢請求中除所述QoS要求之外的內(nèi)容發(fā)送給UDDI注冊中心,按功能屬性查詢Web服務(wù),并且在從UDDI注冊中心返回的Web服務(wù)列表中,根據(jù)QoS信息庫中所存儲的對應(yīng)關(guān)系篩選滿足所述QoS要求的Web服務(wù),并向服務(wù)使用者返回所述滿足QoS要求的Web服務(wù)列表。
所述QoS服務(wù)注冊模塊進一步用于在接收到來自服務(wù)提供者的沒有攜帶QoS信息的Web服務(wù)注冊請求時,將該注冊請求發(fā)送給所述UDDI注冊中心進行常規(guī)Web服務(wù)注冊,并且在QoS信息庫中保存預(yù)設(shè)的QoS信息和從UDDI注冊中心返回的注冊成功后該Web服務(wù)的ID的對應(yīng)關(guān)系;所述QoS服務(wù)查找模塊進一步用于在接收到來自服務(wù)使用者的沒有攜帶QoS要求的查詢請求時,將該查詢請求發(fā)送給UDDI注冊中心,按功能屬性查詢Web服務(wù),并且將向服務(wù)使用者返回從UDDI注冊中心返回的Web服務(wù)列表。
所述QoS服務(wù)查找模塊進一步用于當(dāng)所述滿足QoS要求的Web服務(wù)列表為空時,將所述從UDDI注冊中心返回的Web服務(wù)列表當(dāng)中具有跟所述QoS要求接近的QoS信息的服務(wù)列表發(fā)送給服務(wù)使用者。
所述QoS服務(wù)查找模塊進一步用于當(dāng)所述從UDDI注冊中心返回的Web服務(wù)列表為空時,向服務(wù)使用者返回查詢失敗的信息。
所述QoS信息代理進一步包括QoS監(jiān)視模塊,用于監(jiān)視服務(wù)提供者提供Web服務(wù)和服務(wù)使用者使用Web服務(wù)的情況,獲取Web服務(wù)的性能信息,并將所述Web服務(wù)的性能信息提供給QoS評價模塊;以及QoS評價模塊,用于根據(jù)所述Web服務(wù)的性能信息評價該Web服務(wù),得到評價結(jié)果,并根據(jù)該評價結(jié)果修正QoS信息庫中與該Web服務(wù)對應(yīng)的QoS信息。
本發(fā)明還提供了一種基于QoS的Web服務(wù)注冊與發(fā)現(xiàn)方法,包括在接收到來自服務(wù)提供者的攜帶有QoS信息的Web服務(wù)注冊請求時,將該注冊請求中除所述QoS信息之外的內(nèi)容發(fā)送給所述UDDI注冊中心,進行常規(guī)Web服務(wù)注冊,并且保存所述QoS信息和從UDDI注冊中心返回的注冊成功后該Web服務(wù)的ID的對應(yīng)關(guān)系;在接收到來自服務(wù)使用者的攜帶有QoS要求的查詢請求時,將該查詢請求中除所述QoS要求之外的內(nèi)容發(fā)送給UDDI注冊中心,按功能屬性查詢Web服務(wù),并且在從UDDI注冊中心返回的Web服務(wù)列表中,根據(jù)所述對應(yīng)關(guān)系篩選滿足所述QoS要求的Web服務(wù),并向服務(wù)使用者返回所述滿足QoS要求的Web服務(wù)列表。
在接收到來自服務(wù)提供者的沒有攜帶QoS信息的Web服務(wù)注冊請求時,將該注冊請求發(fā)送給所述UDDI注冊中心,進行常規(guī)Web服務(wù)注冊,并且保存預(yù)設(shè)的QoS信息和從UDDI注冊中心返回的注冊成功后該Web服務(wù)的ID的對應(yīng)關(guān)系。
在接收到來自服務(wù)使用者的沒有攜帶QoS要求的查詢請求時,將該查詢請求發(fā)送給UDDI注冊中心,按功能屬性查詢Web服務(wù),并且將向服務(wù)使用者返回從UDDI注冊中心返回的Web服務(wù)列表。
當(dāng)所述滿足QoS要求的Web服務(wù)列表為空時,將所述從UDDI注冊中心返回的Web服務(wù)列表當(dāng)中具有跟所述QoS要求接近的QoS信息的服務(wù)列表發(fā)送給服務(wù)使用者。
當(dāng)所述從UDDI注冊中心返回的Web服務(wù)列表為空時,向服務(wù)使用者返回查詢失敗的信息。
監(jiān)視服務(wù)提供者提供Web服務(wù)和服務(wù)使用者使用Web服務(wù)的情況,獲取Web服務(wù)的性能信息,并保存所獲取的Web服務(wù)性能信息;根據(jù)所獲取的性能信息以及先前保存的性能信息評價該Web服務(wù)得到評價結(jié)果,并根據(jù)所述評價結(jié)果修正與該Web服務(wù)對應(yīng)的QoS信息。
從上述方案中可以看出,本發(fā)明沒有對已有的注冊中心進行擴展,而是在系統(tǒng)里引入新的模塊——QoS信息代理,由QoS信息代理實現(xiàn)對Web服務(wù)QoS信息的注冊與發(fā)現(xiàn)。QoS信息代理與已有的注冊中心協(xié)同工作,實現(xiàn)基于QoS注冊與發(fā)現(xiàn)Web服務(wù)。
因此本發(fā)明具有如下的優(yōu)點首先,本發(fā)明更容易被接受,因為它具有無需對已有的注冊中心進行擴展的優(yōu)點,易于部署實現(xiàn),且實現(xiàn)的成本較低。其次,由于Web服務(wù)QoS信息的發(fā)布、查詢、更新等操作全部在QoS信息代理中實現(xiàn),可以按照用戶的要求實現(xiàn)更方便的基于QoS的Web服務(wù)注冊與發(fā)現(xiàn)。再次,QoS信息代理作為可信任的第三方,由它發(fā)現(xiàn)的服務(wù)QoS信息是公正、可信的。最后,因為Web服務(wù)的QoS是動態(tài)變化的信息,本發(fā)明可以實時監(jiān)測并反映服務(wù)最新的QoS能力,而且這種變化信息不在UDDI中注冊,更能適應(yīng)服務(wù)的動態(tài)性和可擴展性。
圖1為根據(jù)本發(fā)明實施例的基于QoS的Web服務(wù)注冊與發(fā)現(xiàn)系統(tǒng)的結(jié)構(gòu)示意圖;圖2為根據(jù)本發(fā)明實施例的Web服務(wù)注冊的流程示意圖;圖3為根據(jù)本發(fā)明實施例的Web服務(wù)發(fā)現(xiàn)的流程示意圖;圖4為根據(jù)本發(fā)明實施例的監(jiān)視與更新Web服務(wù)QoS信息的流程示意圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,以下舉實施例對本發(fā)明進一步詳細(xì)說明。
本發(fā)明在UDDI注冊中心之外增加了QoS信息代理,以實現(xiàn)對Web服務(wù)QoS信息的注冊與發(fā)現(xiàn)。
圖1為根據(jù)本發(fā)明實施例的基于QoS的Web服務(wù)注冊與發(fā)現(xiàn)系統(tǒng)的模型。參照圖1,該模型包括服務(wù)提供者、服務(wù)使用者、UDDI注冊中心以及QoS信息代理。
其中,服務(wù)提供者向QoS信息代理提交具有QoS屬性的Web服務(wù)注冊請求。在用Web服務(wù)描述語言(Web Service Description Language,WSDL)文檔描述該Web服務(wù)的時候,不僅進行服務(wù)功能方面的描述,還描述了服務(wù)的QoS值。最初注冊服務(wù)的時候所描述的QoS值由服務(wù)提供者確定。由于服務(wù)提供者為了獲取更多的利益可能夸大自身的服務(wù)質(zhì)量,所以服務(wù)提供者所提供的QoS值通常是不可取的。本發(fā)明所提供的QoS信息代理以第三方身份監(jiān)視、評價和更新服務(wù)提供者的QoS能力,從而避免了上述問題。需要注意的是,在現(xiàn)有技術(shù)中,服務(wù)提供者的注冊請求直接發(fā)送給了注冊中心,而本發(fā)明中的服務(wù)提供者的注冊請求則先經(jīng)過QoS信息代理。
服務(wù)使用者基于功能性需求和非功能性的QoS需求向QoS信息代理發(fā)送查詢請求,查詢符合自己要求的Web服務(wù)。需要注意的是,在現(xiàn)有技術(shù)中,服務(wù)使用者的查詢請求直接發(fā)送給了注冊中心,而本發(fā)明中的服務(wù)使用者的查詢請求則先經(jīng)過QoS信息代理。
注冊中心是一個商業(yè)的服務(wù)注冊中心,本實施例以UDDI注冊中心為例。與現(xiàn)有技術(shù)中的注冊中心相似,本實施例中的UDDI注冊中心至少具有以下基本功能在接收到來自QoS信息代理代表服務(wù)提供者提交的Web服務(wù)注冊請求時,進行常規(guī)Web服務(wù)注冊并返回注冊成功后該Web服務(wù)的標(biāo)識符(ID),在接收到來自QoS信息代理代表服務(wù)使用者提交的查詢請求時,按屬性查詢Web服務(wù),并返回滿足該查詢請求中功能要求的Web服務(wù)列表,其中至少包括滿足要求的Web服務(wù)的ID。當(dāng)然本發(fā)明的注冊中心還可以具有現(xiàn)有技術(shù)中的其它功能,上面的描述并不是用來限制本發(fā)明中注冊中心的。
如圖1所示,QoS信息代理位于注冊中心與服務(wù)提供者和服務(wù)使用者之間。本實施例中的QoS信息代理在接收到來自服務(wù)提供者的攜帶有QoS信息的Web服務(wù)注冊請求時,將該注冊請求中除了QoS信息之外的內(nèi)容發(fā)送給注冊中心,進行常規(guī)Web服務(wù)注冊,并且保存從該Web服務(wù)注冊請求中提取QoS信息和從注冊中心返回的注冊成功后該Web服務(wù)的ID的對應(yīng)關(guān)系。
另外,QoS信息代理在接收到來自服務(wù)使用者的攜帶有QoS要求的查詢請求時,將該查詢請求中除QoS要求之外的內(nèi)容發(fā)送給注冊中心,按功能屬性查詢Web服務(wù),并且接收從注冊中心返回的Web服務(wù)列表,該Web服務(wù)列表中至少包括Web服務(wù)的ID,然后QoS信息代理根據(jù)該Web服務(wù)列表以及注冊時所保存的對應(yīng)關(guān)系得到Web服務(wù)列表中各服務(wù)的QoS值,在其中查找滿足上述查詢請求中QoS要求的Web服務(wù),并向服務(wù)使用者返回所述滿足QoS要求的Web服務(wù)列表。如果所述滿足QoS要求的Web服務(wù)列表為空,即沒有滿足所述QoS要求的Web服務(wù)時,所述QoS信息代理進一步可以將所述從注冊中心返回的Web服務(wù)列表當(dāng)中具有跟所述QoS要求接近的QoS信息的服務(wù)發(fā)送給服務(wù)使用者,由服務(wù)使用者決定如何選擇,例如決定是否降低QoS要求從候選列表中選擇服務(wù)。
進一步,本實施例的QoS信息代理還可以監(jiān)視服務(wù)提供者提供Web服務(wù)和服務(wù)使用者使用Web服務(wù)的情況,獲取Web服務(wù)的性能信息,并根據(jù)所述Web服務(wù)的性能信息評價該服務(wù)得到評價結(jié)果,然后根據(jù)評價結(jié)果修正所保存的對應(yīng)關(guān)系中與該Web服務(wù)對應(yīng)的QoS信息。在獲取Web服務(wù)的性能信息后,QoS信息代理也可以保存這些性能信息;在評價的的時候,QoS信息代理可以根據(jù)當(dāng)前所獲取的性能信息和先前保存的性能信息評價該Web服務(wù),得到評價結(jié)果。
參照圖1,本實施例的QoS信息代理包括QoS服務(wù)注冊模塊、QoS服務(wù)查找模塊和QoS信息庫,還可以進一步包括QoS監(jiān)視模塊和QoS評價模塊。
其中,QoS服務(wù)注冊模塊接收到來自服務(wù)提供者的QoS服務(wù)注冊請求后,將其中的QoS信息取出,并將請求中的其它信息作為常規(guī)的服務(wù)注冊請求發(fā)送給注冊中心。注冊中心接收到Web服務(wù)注冊請求后,按照常規(guī)Web服務(wù)注冊的方式實現(xiàn)服務(wù)的注冊,并返回注冊成功后的該服務(wù)的ID。QoS服務(wù)注冊模塊接收到從注冊中心返回的服務(wù)ID后,將該服務(wù)ID與先前取出的該服務(wù)的QoS信息一起記錄到QoS信息庫中,亦即,在QoS信息庫中記錄了服務(wù)的ID與QoS信息的對應(yīng)關(guān)系。
QoS信息庫中的每個記錄中,即每個對應(yīng)關(guān)系中都包括從注冊中心返回的該Web服務(wù)全局唯一的ID以及該Web服務(wù)的QoS信息。QoS信息庫向其它模塊提供增加、查詢、修改和刪除記錄的功能。另外,QoS信息庫還可以保存各Web服務(wù)的性能信息。
QoS服務(wù)查找模塊在接收到來自服務(wù)使用者的QoS服務(wù)查詢請求后,由于QoS服務(wù)查詢請求中包含了QoS使用者對服務(wù)的功能要求和QoS要求,QoS服務(wù)查找模塊首先將該查詢請求中除了QoS要求之外的內(nèi)容發(fā)送給注冊中心。這里所說的來自服務(wù)使用者的QoS服務(wù)查詢請求,可以是直接從服務(wù)使用者接收的,也可以是從服務(wù)使用者的代理接收的。QoS服務(wù)查找模塊接收到注冊中心返回的滿足功能性要求的Web服務(wù)列表后,針對列表中所有服務(wù),在QoS信息庫中查詢這些服務(wù)的QoS信息,并根據(jù)QoS服務(wù)查詢請求中的QoS要求,對Web服務(wù)列表進行篩選,即剔除不滿足QoS要求的服務(wù)而保留滿足QoS要求的服務(wù),然后將所得到的滿足QoS要求的Web服務(wù)列表返回給服務(wù)使用者。由于最后返回結(jié)果是包括在從注冊中心返回的列表中的,所以當(dāng)然地也滿足服務(wù)使用者的功能性要求。
如果所述滿足QoS要求的Web服務(wù)列表為空,即沒有滿足所述QoS要求的Web服務(wù)時,QoS服務(wù)查找模塊進一步可以將所述從注冊中心返回的Web服務(wù)列表當(dāng)中具有跟所述QoS要求接近的QoS信息的服務(wù)發(fā)送給服務(wù)使用者,作為候選服務(wù)列表,由服務(wù)使用者決定如何選擇,例如決定是否降低QoS要求從候選列表中選擇服務(wù)。
QoS監(jiān)視模塊監(jiān)視服務(wù)提供者提供服務(wù)的情況以及服務(wù)使用者使用服務(wù)的情況,獲取Web服務(wù)的性能信息,包括當(dāng)前服務(wù)狀態(tài)(可用、不可用)和任務(wù)狀態(tài)(提交時間、開始時間、完成時間、任務(wù)執(zhí)行成功或失敗等)。由于Web服務(wù)規(guī)范中提供的信息服務(wù)可以提供服務(wù)提供者的所有信息,例如包括Web服務(wù)的使用信息、Web資源的狀態(tài)信息等,因此QoS監(jiān)視模塊可以非常容易地得到所要獲取的Web服務(wù)性能信息。QoS監(jiān)視模塊獲取了上述Web服務(wù)的性能信息之后,將這些Web服務(wù)的性能信息發(fā)送給QoS評價模塊。QoS監(jiān)視模塊還可以進一步將所這些Web服務(wù)性能信息保存到QoS信息庫中。
QoS評價模塊接收到從QoS監(jiān)視模塊中獲取的Web服務(wù)性能信息之后,根據(jù)這些性能信息,對Web服務(wù)進行QoS評價得到評價結(jié)果。QoS評價模塊也可以根據(jù)這些性能信息和從QoS信息庫中獲取的該服務(wù)過去的性能信息進行QoS評價得到評價結(jié)果。然后,QoS評價模塊根據(jù)評價結(jié)果對QoS信息庫中該服務(wù)對應(yīng)的QoS信息進行修正,以反映該服務(wù)真實、實時的QoS信息,從而克服了現(xiàn)有技術(shù)中QoS值一成不變、令服務(wù)使用者難以信任的缺點。
下面描述根據(jù)本發(fā)明實施例的基于QoS的Web服務(wù)注冊和發(fā)現(xiàn)方法。
圖2為根據(jù)本發(fā)明實施例的Web服務(wù)注冊過程的流程示意圖。參照圖2,該注冊過程包括以下步驟步驟201,QoS信息代理接收到服務(wù)提供者的攜帶QoS信息的服務(wù)注冊請求。
步驟202,QoS服務(wù)注冊模塊從注冊請求中提取QoS信息,并將注冊請求中除了QoS信息之外的信息(服務(wù)的功能信息)發(fā)送給注冊中心。
UDDI注冊中心按常規(guī)的方式進行注冊,并將注冊成功后的該服務(wù)在注冊中心中的唯一ID返回給QoS服務(wù)注冊模塊。
步驟203,QoS服務(wù)注冊模塊將該ID和從注冊請求中提取的QoS信息的對應(yīng)關(guān)系保存到QoS信息庫中。
步驟204,QoS服務(wù)注冊模塊還可以進一步將注冊結(jié)果返回給服務(wù)提供者。
如果QoS信息代理接收的服務(wù)注冊請求既包括攜帶有QoS信息的注冊請求,也包括沒有攜帶QoS信息的注冊請求,那么注冊過程如下步驟201,QoS信息代理接收到服務(wù)提供者的服務(wù)注冊請求,這里的注冊請求可能是攜帶有QoS信息的注冊請求,也可能是沒有攜帶QoS信息的注冊請求。
步驟202,QoS服務(wù)注冊模塊從攜帶有QoS信息的注冊請求中提取QoS信息,并將這種注冊信息中除了QoS信息之外的信息發(fā)送給UDDI;另外,QoS服務(wù)注冊模塊將沒有攜帶QoS信息的注冊請求發(fā)送給UDDI。這樣,本發(fā)明可以應(yīng)用于常規(guī)的沒有攜帶QoS信息的注冊請求。
UDDI注冊中心按常規(guī)方式進行注冊,并將注冊成功后的該服務(wù)在注冊中心的唯一ID返回給QoS服務(wù)注冊模塊。由于發(fā)送到UDDI注冊中心的都是沒有攜帶QoS信息的注冊請求,因此本發(fā)明無需對UDDI注冊中心進行擴展。
步驟203,對于攜帶有QoS信息的注冊請求,QoS服務(wù)注冊模塊將該注冊請求的服務(wù)的ID和從該注冊請求中提取的QoS信息的對應(yīng)關(guān)系保存到QoS信息庫中。
對于沒有攜帶QoS信息的注冊請求,QoS服務(wù)注冊模塊將該注冊請求中服務(wù)的ID和默認(rèn)的QoS信息的對應(yīng)關(guān)系保存到QoS信息庫中。本發(fā)明為常規(guī)的沒有攜帶QoS信息的注冊請求提供了默認(rèn)的QoS信息,而默認(rèn)的QoS信息是預(yù)先設(shè)置的,解決了常規(guī)注冊請求中缺乏QoS信息的問題。
步驟204,QoS服務(wù)注冊模塊還可以進一步將注冊結(jié)果返回給服務(wù)提供者。
圖3是根據(jù)本發(fā)明實施例的的Web服務(wù)發(fā)現(xiàn)過程的流程示意圖。參照圖3,該發(fā)現(xiàn)過程包括一下步驟步驟301,QoS信息代理接收到來自服務(wù)使用者的攜帶QoS要求的查詢請求。
在此之前,服務(wù)使用者使用Web服務(wù)等級協(xié)議(Web Service LevelAgreement,WSLA)從功能性和QoS兩個方面對自己的服務(wù)請求進行描述形成服務(wù)查詢請求,然后將服務(wù)查詢請求提交給QoS信息代理。
步驟302,QoS服務(wù)查找模塊將該查詢請求中的除QoS請求之外的內(nèi)容發(fā)送給UDDI注冊中心。
UDDI注冊中心根據(jù)該查詢請求,查找得到滿足服務(wù)使用者的功能性要求的Web服務(wù)的列表,并將列表返回給QoS服務(wù)查找模塊。
步驟303,判斷從注冊中心返回的Web服務(wù)列表是否為空,如果為空,即沒有符合服務(wù)使用者功能性要求的服務(wù)在UDDI中注冊,則執(zhí)行步驟304,否則執(zhí)行步驟305。
步驟304,QoS服務(wù)查找模塊向服務(wù)使用者返回沒有滿足其功能性要求的Web服務(wù)的查詢失敗響應(yīng),服務(wù)發(fā)現(xiàn)過程結(jié)束。
步驟305,QoS服務(wù)查找模塊根據(jù)所返回Web服務(wù)列表中各服務(wù)的唯一ID,在QoS信息庫中查詢各服務(wù)的QoS信息,根據(jù)查詢得到的QoS信息進行篩選,即剔除不滿足服務(wù)使用者QoS要求的服務(wù)而保留滿足QoS要求的服務(wù)。
步驟306,判斷是否有滿足QoS要求的服務(wù),如果有滿足QoS要求的服務(wù),QoS服務(wù)查找模塊將所得到的滿足QoS要求的Web服務(wù)列表返回給服務(wù)使用者。如果沒有滿足服務(wù)使用者的QoS要求的服務(wù),即QoS服務(wù)查找模塊篩選得到的Web服務(wù)列表為空,QoS服務(wù)查找模塊可以直接將結(jié)果返回給服務(wù)使用者,也可以將接近服務(wù)使用者QoS要求的服務(wù)作為候選的服務(wù)返回給服務(wù)使用者,由服務(wù)使用者決定如何選擇,例如決定是否降低QoS要求從候選列表中選擇服務(wù)。
另外,對于沒有攜帶QoS要求的查詢請求,QoS服務(wù)查找模塊將該查詢請求發(fā)送給UDDI注冊中心。然后將從UDDI注冊中心返回的結(jié)果返回給服務(wù)請求者。
圖4是根據(jù)本發(fā)明實施例的QoS信息監(jiān)視與更新過程的流程示意圖。參照圖4,該監(jiān)視與更新的流程包括步驟401至步驟402,QoS監(jiān)視模塊監(jiān)視服務(wù)提供者提供服務(wù)的情況以及服務(wù)使用者使用服務(wù)的情況,獲取Web服務(wù)的性能信息,包括當(dāng)前服務(wù)服務(wù)狀態(tài)(可用、不可用)和任務(wù)狀態(tài)(提交時間、開始時間、完成時間、任務(wù)執(zhí)行成功或失敗等)。由于Web服務(wù)規(guī)范中提供的信息服務(wù)可以提供服務(wù)提供者的所有信息,例如包括Web服務(wù)的使用信息、Web資源的狀態(tài)信息等,因此可以非常容易地得到所要獲取的Web服務(wù)性能信息。在本步驟中,還可以進一步保存所得到的Web服務(wù)性能信息。
步驟403,獲取了上述Web服務(wù)的性能信息之后,QoS監(jiān)視模塊將這些性能信息發(fā)送給QoS評價模塊。QoS評價模塊根據(jù)這些性能信息對Web服務(wù)進行QoS評價得到評價結(jié)果。QoS評價模塊也可以根據(jù)這些性能信息和從QoS信息庫中獲取的該服務(wù)過去的性能信息進行QoS評價得到評價結(jié)果。
步驟404,QoS評價模塊根據(jù)評價結(jié)果對QoS信息庫中該服務(wù)對應(yīng)的QoS信息進行修正,以反映該服務(wù)真實、實時的QoS信息,從而克服了現(xiàn)有技術(shù)中QoS值一成不變、令服務(wù)使用者難以信任的缺點。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種基于服務(wù)質(zhì)量QoS的Web服務(wù)注冊與發(fā)現(xiàn)系統(tǒng),該系統(tǒng)包括通用描述、發(fā)現(xiàn)和集成UDDI注冊中心,用于在接收到來自QoS信息代理代表服務(wù)提供者提交的Web服務(wù)注冊請求時,進行常規(guī)Web服務(wù)注冊并返回注冊成功后該Web服務(wù)的標(biāo)識符ID;在接收到來自QoS信息代理代表服務(wù)使用者提交的查詢請求時,返回滿足該查詢請求中要求的Web服務(wù)列表;其特征在于,該系統(tǒng)進一步包括QoS信息代理,用于在接收到來自服務(wù)提供者的攜帶有QoS信息的Web服務(wù)注冊請求時,將該注冊請求中除所述QoS信息之外的內(nèi)容發(fā)送給所述UDDI注冊中心進行常規(guī)Web服務(wù)注冊,并且保存所述QoS信息和從UDDI注冊中心返回的注冊成功后該Web服務(wù)的ID的對應(yīng)關(guān)系;在接收到來自服務(wù)使用者的攜帶有QoS要求的查詢請求時,將該查詢請求中除所述QoS要求之外的內(nèi)容發(fā)送給UDDI注冊中心,按功能屬性查詢Web服務(wù),并且在從UDDI注冊中心返回的Web服務(wù)列表中,根據(jù)所述對應(yīng)關(guān)系篩選滿足所述QoS要求的Web服務(wù),并向服務(wù)使用者返回所述滿足QoS要求的Web服務(wù)列表。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述QoS信息代理包括QoS服務(wù)注冊模塊,用于在接收到來自服務(wù)提供者的攜帶有QoS信息的Web服務(wù)注冊請求時,將該注冊請求中除所述QoS信息之外的內(nèi)容發(fā)送給所述UDDI注冊中心進行常規(guī)Web服務(wù)注冊,并且在QoS信息庫中保存所述QoS信息和從UDDI注冊中心返回的注冊成功后該Web服務(wù)的ID的對應(yīng)關(guān)系;QoS信息庫,用于存儲各Web服務(wù)的QoS信息和ID的對應(yīng)關(guān)系;以及QoS服務(wù)查找模塊,用于在接收到來自服務(wù)使用者的攜帶有QoS要求的查詢請求時,將該查詢請求中除所述QoS要求之外的內(nèi)容發(fā)送給UDDI注冊中心,按功能屬性查詢Web服務(wù),并且在從UDDI注冊中心返回的Web服務(wù)列表中,根據(jù)QoS信息庫中所存儲的對應(yīng)關(guān)系篩選滿足所述QoS要求的Web服務(wù),并向服務(wù)使用者返回所述滿足QoS要求的Web服務(wù)列表。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述QoS服務(wù)注冊模塊進一步用于在接收到來自服務(wù)提供者的沒有攜帶QoS信息的Web服務(wù)注冊請求時,將該注冊請求發(fā)送給所述UDDI注冊中心進行常規(guī)Web服務(wù)注冊,并且在QoS信息庫中保存預(yù)設(shè)的QoS信息和從UDDI注冊中心返回的注冊成功后該Web服務(wù)的ID的對應(yīng)關(guān)系;
4.根據(jù)權(quán)利要求2或3所述的系統(tǒng),其特征在于,所述QoS服務(wù)查找模塊進一步用于在接收到來自服務(wù)使用者的沒有攜帶QoS要求的查詢請求時,將該查詢請求發(fā)送給UDDI注冊中心,按功能屬性查詢Web服務(wù),并且將向服務(wù)使用者返回從UDDI注冊中心返回的Web服務(wù)列表。
5.根據(jù)權(quán)利要求2或3所述的系統(tǒng),其特征在于,所述QoS服務(wù)查找模塊進一步用于當(dāng)所述滿足QoS要求的Web服務(wù)列表為空時,將所述從UDDI注冊中心返回的Web服務(wù)列表當(dāng)中具有跟所述QoS要求接近的QoS信息的服務(wù)列表發(fā)送給服務(wù)使用者。
6.根據(jù)權(quán)利要求2或3所述的系統(tǒng),其特征在于,所述QoS服務(wù)查找模塊進一步用于當(dāng)所述從UDDI注冊中心返回的Web服務(wù)列表為空時,向服務(wù)使用者返回查詢失敗的信息。
7.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述QoS信息代理進一步包括QoS監(jiān)視模塊,用于監(jiān)視服務(wù)提供者提供Web服務(wù)和服務(wù)使用者使用Web服務(wù)的情況,獲取Web服務(wù)的性能信息,并將所述Web服務(wù)的性能信息提供給QoS評價模塊;以及QoS評價模塊,用于根據(jù)所述Web服務(wù)的性能信息評價該Web服務(wù),得到評價結(jié)果,并根據(jù)該評價結(jié)果修正QoS信息庫中與該Web服務(wù)對應(yīng)的QoS信息。
8.一種基于QoS的Web服務(wù)注冊與發(fā)現(xiàn)方法,該方法包括在接收到來自服務(wù)提供者的攜帶有QoS信息的Web服務(wù)注冊請求時,將該注冊請求中除所述QoS信息之外的內(nèi)容發(fā)送給所述UDDI注冊中心,進行常規(guī)Web服務(wù)注冊,并且保存所述QoS信息和從UDDI注冊中心返回的注冊成功后該Web服務(wù)的ID的對應(yīng)關(guān)系;在接收到來自服務(wù)使用者的攜帶有QoS要求的查詢請求時,將該查詢請求中除所述QoS要求之外的內(nèi)容發(fā)送給UDDI注冊中心,按功能屬性查詢Web服務(wù),并且在從UDDI注冊中心返回的Web服務(wù)列表中,根據(jù)所述對應(yīng)關(guān)系篩選滿足所述QoS要求的Web服務(wù),并向服務(wù)使用者返回所述滿足QoS要求的Web服務(wù)列表。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,該方法進一步包括在接收到來自服務(wù)提供者的沒有攜帶QoS信息的Web服務(wù)注冊請求時,將該注冊請求發(fā)送給所述UDDI注冊中心,進行常規(guī)Web服務(wù)注冊,并且保存預(yù)設(shè)的QoS信息和從UDDI注冊中心返回的注冊成功后該Web服務(wù)的ID的對應(yīng)關(guān)系。
10.根據(jù)權(quán)利要求8所述的方法,其特征在于,該方法進一步包括在接收到來自服務(wù)使用者的沒有攜帶QoS要求的查詢請求時,將該查詢請求發(fā)送給UDDI注冊中心,按功能屬性查詢Web服務(wù),并且將向服務(wù)使用者返回從UDDI注冊中心返回的Web服務(wù)列表。
11.根據(jù)權(quán)利要求8所述的方法,其特征在于,該方法進一步包括當(dāng)所述滿足QoS要求的Web服務(wù)列表為空時,將所述從UDDI注冊中心返回的Web服務(wù)列表當(dāng)中具有跟所述QoS要求接近的QoS信息的服務(wù)列表發(fā)送給服務(wù)使用者。
12.根據(jù)權(quán)利要求8所述的方法,其特征在于,該方法進一步包括當(dāng)所述從UDDI注冊中心返回的Web服務(wù)列表為空時,向服務(wù)使用者返回查詢失敗的信息。
13.根據(jù)權(quán)利要求8所述的方法,其特征在于,該方法進一步包括監(jiān)視服務(wù)提供者提供Web服務(wù)和服務(wù)使用者使用Web服務(wù)的情況,獲取Web服務(wù)的性能信息,并保存所獲取的Web服務(wù)性能信息;根據(jù)所獲取的性能信息以及先前保存的性能信息評價該Web服務(wù)得到評價結(jié)果,并根據(jù)所述評價結(jié)果修正與該Web服務(wù)對應(yīng)的QoS信息。
全文摘要
本發(fā)明公開了一種基于QoS的Web服務(wù)注冊與發(fā)現(xiàn)機制,該機制在UDDI注冊中心與其用戶,即注冊服務(wù)的Web服務(wù)提供者和發(fā)現(xiàn)服務(wù)的Web服務(wù)使用者,之間增加了一個QoS信息代理,實現(xiàn)Web服務(wù)QoS信息的注冊、發(fā)現(xiàn)、監(jiān)視、評價和更新,它保證了QoS信息的公平性與實時性。這種機制無需對現(xiàn)有的UDDI注冊中心進行修改,因而可以方便地投入實際使用,并且可用于Web服務(wù)和網(wǎng)格計算這類面向服務(wù)的計算系統(tǒng)中,實現(xiàn)基于QoS的服務(wù)注冊與發(fā)現(xiàn)。
文檔編號H04L29/06GK1777190SQ20051013450
公開日2006年5月24日 申請日期2005年12月8日 優(yōu)先權(quán)日2005年12月8日
發(fā)明者邢建兵, 張潤彤, 吳產(chǎn)樂, 毛武興, 薛秦生, 李瑞林 申請人:普天信息技術(shù)研究院