趙軍富,趙宇紅
(1.內(nèi)蒙古科技大學(xué)工程訓(xùn)練中心,包頭 014010;2.內(nèi)蒙古科技大學(xué)信息工程學(xué)院,包頭 014010)
Internet技術(shù)的快速發(fā)展提供了一個(gè)分布式系統(tǒng)發(fā)展的新時(shí)代.目前大部分信息系統(tǒng)的發(fā)展是專注于Web應(yīng)用程序.Web系統(tǒng)的信息資源通常是分布式的、動(dòng)態(tài)的和多樣的.以往關(guān)于Web服務(wù)的描述側(cè)重于服務(wù)的功能屬性,如WSDL(Web services description language)是描述Web服務(wù)接口的標(biāo)準(zhǔn).在經(jīng)典的SOA(service oriented architecture)體系中,服務(wù)的注冊和發(fā)現(xiàn)中心 UDDI(universal discription,discovery,and integration)使用WSDL作為服務(wù)的主要注冊信息.然而,隨著SOA的推廣,Web服務(wù)提供商不斷增加,由于多個(gè)Web服務(wù)提供類似功能,Web服務(wù)的服務(wù)質(zhì)量(quality of service,QoS)[1]需求已經(jīng)對服務(wù)提供者和消費(fèi)者至關(guān)重要.服務(wù)質(zhì)量(QoS)描述了Web服務(wù)的各種參數(shù),是Web服務(wù)非功能性屬性的主要方面.因此,必須具有支持QoS的驗(yàn)證、選擇、談判和監(jiān)控的架構(gòu).為了解決上述問題,本文引入一個(gè)基于Web服務(wù)集群技術(shù)的QoS,提出了一種使用多Agent系統(tǒng)的新的服務(wù)發(fā)現(xiàn)方法,根據(jù)用戶的QoS偏好來幫助選擇適合用戶質(zhì)量偏好的最佳服務(wù).
Web服務(wù)發(fā)現(xiàn)的目的是給特定的任務(wù)選擇最佳Web服務(wù).當(dāng)Web服務(wù)使用動(dòng)態(tài)發(fā)現(xiàn)時(shí),一般會(huì)發(fā)現(xiàn)一個(gè)或多個(gè)服務(wù)提供者.本文提出一種動(dòng)態(tài)Web服務(wù)發(fā)現(xiàn)技術(shù)處理Web服務(wù)的冗余問題.通過圖1所示的Web服務(wù)多Agent架構(gòu)[2-3]來解決常見問題Agent間的交互.本架構(gòu)由基本的Web服務(wù)模型組件組成,比如Web服務(wù)提供者、Web服務(wù)使用者和UDDI注冊中心.通過使用Agent系統(tǒng)(MAS)完成與UDDI的信息交互,并進(jìn)行儲(chǔ)存QoS信息.
圖1 Web服務(wù)多Agent架構(gòu)Fig.1 Web service architecture with multi-agents
響應(yīng)Agent包括檢索Agent和質(zhì)量分析器.檢索Agent的主要活動(dòng)是選擇最合適的Web服務(wù)滿足請求者的QoS約束條件、偏好以及服務(wù)功能需求.消費(fèi)者為特定的服務(wù)可以通過檢索Agent搜索UDDI注冊中心.質(zhì)量分析器從服務(wù)消費(fèi)者收集關(guān)于Web服務(wù)的QoS反饋意見并檢查服務(wù)的質(zhì)量.最后,響應(yīng)Agent收集查詢結(jié)果、排序并根據(jù)比例關(guān)系將它們顯示出來.
認(rèn)證Agent由服務(wù)的提供者、驗(yàn)證和認(rèn)證器、Web服務(wù)存儲(chǔ)(WSS)組成.服務(wù)出版商進(jìn)行Web服務(wù)相關(guān)信息的注冊、更新和刪除.驗(yàn)證和認(rèn)證器負(fù)責(zé)認(rèn)證Web服務(wù)的QoS屬性;證書信息包括證書號碼、發(fā)證日期、從業(yè)的年數(shù)和服務(wù)位置;如果證書不能被發(fā)布,信息將反饋到提供者,從而由認(rèn)證Agent驗(yàn)證并提供證書.此外,證書副本存儲(chǔ)在WSS以供將來使用.
服務(wù)提供者通過服務(wù)出版商發(fā)布它們在注冊表中的服務(wù)信息.查詢Agent充當(dāng)響應(yīng)Agent和Web服務(wù)消費(fèi)者之間的中介.Web服務(wù)消費(fèi)者向查詢Agent發(fā)送查詢請求;查詢Agent收到消費(fèi)者發(fā)出的請求以后開始和檢索Agent進(jìn)行通信,在檢索Agent的幫助下給出檢索結(jié)果;最后由響應(yīng)Agent向查詢Agent提供查詢及檢索到的服務(wù).
多Agent系統(tǒng)提供了一種子系統(tǒng)松散耦合的有效途徑,其主要優(yōu)點(diǎn)包括:
(1)縮短了基于應(yīng)用程序Agent的交易時(shí)間;
(2)為大量用戶提供好的性能;
(3)提高了可維護(hù)性;
(4)降低復(fù)雜性.
圖2中給出了一個(gè)消費(fèi)者在應(yīng)用程序中使用了一些組件之間的交互序列[5].
圖2 架構(gòu)組件的交互Fig.2 Architectural component interactions
(1)最初由MAS向UDDI注冊中心發(fā)布查詢接口.
(2)Web服務(wù)提供者在UDDI注冊中心發(fā)現(xiàn)查詢接口.
(3)服務(wù)提供者在MAS中注冊QoSWeb服務(wù),提供關(guān)于該服務(wù)的功能性和非功能性信息.
(4)MAS的認(rèn)證Agent驗(yàn)證QoS信息并頒發(fā)證書.
(5)QoS證書的一份副本存儲(chǔ)在WSS,并且這份副本被發(fā)送給服務(wù)提供者.
(6)服務(wù)出版商根據(jù)QoS證書在UDDI注冊中心發(fā)布Web服務(wù).
(7)消費(fèi)者應(yīng)用程序向查詢Agent(MAS)提出服務(wù)發(fā)現(xiàn)請求,并且提供功能和QoS要求.
(8)響應(yīng)Agent(MAS)根據(jù)所需要的服務(wù)功能和服務(wù)質(zhì)量需求在UDDI注冊中心找到相應(yīng)服務(wù).
(9)響應(yīng)Agent在檢索Agent幫助下驗(yàn)證提供的QoS證書和存儲(chǔ)在WSS中的等級,進(jìn)行質(zhì)量的分析.
(10)檢索Agent報(bào)告發(fā)現(xiàn)的服務(wù),通過查詢A-gent反饋到應(yīng)用程序.
(11)網(wǎng)絡(luò)服務(wù)客戶綁定發(fā)現(xiàn)的網(wǎng)絡(luò)服務(wù).
(12)消費(fèi)者通過查詢Agent調(diào)用服務(wù)后向質(zhì)量分析器反饋信息.
(13)質(zhì)量分析器計(jì)算客戶反饋的評分,然后將評分存儲(chǔ)到數(shù)據(jù)庫(WSS)中,為接下去的服務(wù)發(fā)現(xiàn)過程做準(zhǔn)備.
如圖3所示,Web服務(wù)消費(fèi)者通過查詢Agent向響應(yīng)Agent發(fā)送一個(gè)服務(wù)發(fā)現(xiàn)請求,查詢Agent然后聯(lián)系UDDI注冊中心去查找滿足客戶功能和QoS要求的服務(wù).如果有一個(gè)服務(wù)滿足客戶的功能需求和其QoS信息,則該服務(wù)被認(rèn)為是一個(gè)“匹配”.如果沒有一個(gè)Web服務(wù)滿足則由響應(yīng)Agent返回一個(gè)空結(jié)果給客戶.如果多個(gè)服務(wù)都匹配功能和QoS要求,響應(yīng)A-gent對每個(gè)匹配的服務(wù)根據(jù)客戶提出的主要QoS屬性或者默認(rèn)的主要屬性以及平均響應(yīng)時(shí)間來計(jì)算QoS分?jǐn)?shù).最好的服務(wù)排名第一,其它服務(wù)的排名由主要QoS屬性的值決定.具有最高的QoS排名的前M個(gè)服務(wù)被返回到客戶端.
圖3 質(zhì)量匹配、反饋評價(jià)和服務(wù)發(fā)現(xiàn)算法Fig.3 Quality matching,feedback rating and service discovery algorithm
為了有助于創(chuàng)建一個(gè)通用的QoS[8]描述模型,將一個(gè)通用的QoS屬性集合列舉在表1中.
表1 一組QoS屬性通用集合Tab.1 Common set of Qos attributes
每個(gè)Qos屬性的定義如下:
(1)響應(yīng)時(shí)間:指從服務(wù)請求結(jié)束到服務(wù)響應(yīng)開始的運(yùn)行時(shí)間.響應(yīng)時(shí)間是一個(gè)典型的性能屬性,可以用如下公式所示:
響應(yīng)時(shí)間=執(zhí)行時(shí)間+等待時(shí)間式中:執(zhí)行時(shí)間是指執(zhí)行服務(wù)功能的持續(xù)時(shí)間;等待時(shí)間是指所有可能調(diào)解事件花費(fèi)的時(shí)間,如服務(wù)消費(fèi)者和提供者信息傳輸所需的時(shí)間.
(2)服務(wù)可用性:一個(gè)服務(wù)可操作和可訪問的程度決定了服務(wù)的可用性.服務(wù)可用性可以用如下服務(wù)的正常運(yùn)行時(shí)間和停機(jī)時(shí)間的比例來定義:
服務(wù)可用性=正常運(yùn)行時(shí)間/(正常運(yùn)行時(shí)間+停機(jī)時(shí)間)
式中:服務(wù)的正常運(yùn)行時(shí)間和停機(jī)時(shí)間可以通過失效時(shí)間的平均時(shí)間(MTBF)和修復(fù)時(shí)間的平均時(shí)間(MTTR)分別來計(jì)算.
(3)反饋評價(jià)得分:是指服務(wù)消費(fèi)者對于Web服務(wù)的QoS反饋評價(jià)得分,假設(shè)所有評價(jià)都是可用的、客觀的和有效的,服務(wù)消費(fèi)者在使用服務(wù)后對服務(wù)的滿意度提供一個(gè)評價(jià).反饋評價(jià)是一個(gè)從1到10的整數(shù),10表示非常滿意,1表示強(qiáng)烈的不滿.
本文通過實(shí)驗(yàn)比較多Agent架構(gòu)和現(xiàn)有系統(tǒng),以此來評價(jià)本文方法的有效性.通過一組并發(fā)客戶調(diào)用MAS來計(jì)算響應(yīng)時(shí)間(RT)和服務(wù)的可用性;然后增加客戶的數(shù)量直到達(dá)到最大容量數(shù),檢查隨之負(fù)載的增加響應(yīng)時(shí)間是否仍然穩(wěn)定.圖4比較了MAS系統(tǒng)的響應(yīng)時(shí)間和現(xiàn)存的QoS服務(wù)中間代理的響應(yīng)時(shí)間.
圖4 客戶數(shù)量與響應(yīng)時(shí)間Fig.4 Distribution of reaction time with increased number of clients
從圖4中可以看出,隨著用戶數(shù)量的增加,MAS和現(xiàn)存的QoS[9]中間代理的響應(yīng)時(shí)間都呈線性增加.但是MAS的響應(yīng)時(shí)間和現(xiàn)存系統(tǒng)的響應(yīng)時(shí)間相比,是非常短的.
圖5比較了2個(gè)系統(tǒng)的服務(wù)可用性.
圖5 客戶數(shù)量與可用性分布Fig.5 Distribution of availability with increased number of clients
從圖5可以看出,第一個(gè)客戶使用了服務(wù)后,現(xiàn)存系統(tǒng)的服務(wù)可用性先有一定波動(dòng),然后服務(wù)的可進(jìn)入性逐漸穩(wěn)定;當(dāng)客戶數(shù)量到達(dá)220個(gè)時(shí),服務(wù)可用性達(dá)到85%;接著,當(dāng)客戶數(shù)量達(dá)到280時(shí),服務(wù)變得不可用.但是,如果使用MAS系統(tǒng),服務(wù)的可用性會(huì)大許多,其可用性優(yōu)于現(xiàn)存系統(tǒng).
圖6比較了2個(gè)系統(tǒng)的反饋評價(jià)打分.從圖6中可以看出本文提出的MAS的打分遠(yuǎn)高于現(xiàn)有的QoS代理.
圖6 反饋評價(jià)打分比較Fig.6 Comparison of feedback rating score
本文提出了一種使用多Agent的新技術(shù)用于Web服務(wù)發(fā)現(xiàn).該架構(gòu)通過QoS登記、驗(yàn)證、認(rèn)證和確認(rèn)有效等方式支持Web服務(wù)發(fā)現(xiàn).該方法使用響應(yīng)Agent、認(rèn)證Agent和查詢Agent,這些Agent程序運(yùn)行特定的功能可以很好地選擇合適的Web服務(wù).對本文方法和傳統(tǒng)方法進(jìn)行性能比較,結(jié)果表明,本文方法在響應(yīng)時(shí)間、服務(wù)可用性和反饋評價(jià)得分等方面均優(yōu)于傳統(tǒng)方法.
[1]CHEN Z,LIANG Tien C,SILVERAJAN B,et al.UX-An architecture providing QoS-aware and federated support for UDDI[C]//Proc of the Int’l Conf on Web Services.Las Vegas:CSREA Press,2003:171-176.
[2]RAJENDRAN T,BALASUBRAMANIE P.An agent-based dynamic web service discovery framework with QoS support[J].International J of Engg Research&Indu Appls,2009,2(5):1-13.
[3]RAJENDRAN T,BALASUBRAMANIE P.An efficient framework for agent-based quality driven web services discovery[J].International J of Engg Research&Indu Appls,2009,2(5):1-13.
[4]RAN S.A model for web services discovery with QoS[J].SIGE-com Exchanges,2004,4(1):1-10.
[5]RAJENDRAN T,BALASUBRAMANIE P,RESMI Cherian.An efficient WS-QoS broker based architecture for Web services selection[J].International Journal of Computer Applications,2010,1(9):110-115.
[6]WISHART R,ROBINSON R,INDULSKA J,et al.Superstring rep:Reputationenhanced service discovery[J].Proc of the 28th Australasian Conf on Computer Science,2010,38:49-57.
[7]XU Ziqiang,MARTIN Patrick,POWLEY Wendy,et al.Reputation enhanced QoS-based web services discovery[J].IEEE International Conference on Web Services,2007,38:49-57.
[8]金 婕,侯春萍.基于GPRS的IP QOS方案[J].天津工業(yè)大學(xué)學(xué)報(bào),2002,21(1):28-31.
[9]孔維梁,劉清堂,楊宗凱,等.基于動(dòng)態(tài)QoS的Web服務(wù)組合[J].計(jì)算機(jī)科學(xué),2012,39(2):268-232.