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