摘要:傳統的Web服務發現和訂閱是費時費力的;而且缺乏語義描述,無法實現Web服務之間互操作的智能化,搜索的精確度不高。本文提出了一種基于服務池的語義Web服務的發現和訂閱模型。首先進行功能性的匹配,將結果聚合成服務池,服務池再進行QoS匹配。該模型具有以下特點:①將服務池作為消費者發現和訂閱的唯一視圖,以“服務消費者中心”的方式簡化了服務發現和調用的過程。②在原有基于服務聚合方法基礎上,增強了Web服務的語義信息,提高了服務匹配的準確率。
關鍵詞:Web服務 服務池 Web服務發現
0 引言
SOA是以服務為基本同時支持開發、組合、部署、管理的一種結構[1]。隨著服務數量的增加,查詢到大量不相關的結果。
此外,目前服務的描述只能描述Web服務的技術和語法,不支持QoS信息,因而在服務組合中不能提供重要的附加信息,又由于資源描述的多樣性,因此,用戶很難對服務的功能進行準確定位,更不能實現服務的互操作。
基于以上問題,本文提出了基于服務池的語義Web服務聚合方法。
1 基于服務池的語義Web服務發現模型
1.1 基于服務池的SOA模型擴展
本文的服務發現模型如圖1所示:
①提供商向代理發布具有QoS屬性的語義Web服務。②消費者向代理發送功能請求。③代理進行功能匹配,將結果發送到服務池管理層。④服務池管理層聚合成服務池,并將服務池作為簡單資源視圖返回給用戶。⑤用戶向服務池發送QoS約束條件,服務池進行匹配并返回一組最佳的服務或組合。⑥用戶向服務池發送調用請求。⑦服務池實現調用請求和目標服務的綁定。⑧用戶通過服務池調用目標服務。
基于服務池的SOA擴展模型有兩個好處:①簡化服務發現過程。②屏蔽服務調用的復雜性。
1.2 基于服務池的語義Web服務發現模型
OWL-S / UDDI 轉換器將提供商發布的實例轉化成UDDI服務注冊信息,并將其保存。
擴展的UDDI注冊中心采用UDDI規范的4個數據模型來表示服務聲明描述,并擴展tModel模型來表示QoS分類信息。
語義查詢處理器接收查詢請求,并形成新的查詢描述,從而提高服務發現效率。
語義Web服務匹配器執行匹配過程,并根據閾值聚合成一組服務列表。
服務池能夠根據用戶的QoS請求進行QoS匹配并且能夠實現服務的綁定。
領域本體庫存儲特定領域內的知識庫、知識關系。領域本體為語義推理機提供必要信息。
第三方檢測代理一方面對QoS屬性量化,另一方面對服務的性能進行動態評估和調整。
2 基于服務池的語義web服務的發現過程
語義Web匹配的核心任務就是將請求服務和目標服務的Profile實例進行比較,目前研究集中在將功能性的描述轉換為服務的IOPE參數和結構化/半結構化的語義數據。在SOA擴展模型中,Web 服務的語義描述被認為是提供商和請求者之間的一種約定,其最終目的是讓用戶精確地了解服務的功能。
2.1 語義web服務描述模型
本文定義的Web 服務描述模型為:
WS={S,F,NF,R}式(1)
其中S是服務的基本描述;F是功能匹配的主要依據;NF是非功能的屬性,R是提供商的信譽度值。
2.2 服務匹配策略
根據服務模型WS={S,F,NF,R}結構,我們使用三級細粒度匹配的策略:由第一級篩選的候選服務參與第二級IOPE功能匹配,結果聚合生成服務池,再在服務池中進行基于QoS和信譽度的第三級非功能匹配。
2.3 相似功能服務的聚合
相似功能服務的聚合過程分為以下六個步驟:
第一步:用戶提交服務信息給語義查詢處理器。
第二步:語義查詢處理器將請求發送web服務匹配器。
第三步:語義web匹配器先訪問UDDI,提取所有已注冊的本體,加載到匹配器內部的服務本體庫中。
第四步:匹配引擎首先進行基本描述匹配,對結果進行語義匹配。
第五步:推理機根據IOPE參數從領域本體庫中提取本體,返回結果。
第六步:根據閾值,進行過濾,將得到一組相似功能的服務列表,并返回結果集。
2.3.1 第一級服務基本描述匹配
服務的基本描述匹配包括serviceName、serviceCategory、textDescription的匹配。具體參見文獻[3-6]。
2.3.2 第二級服務IOPE匹配
通過計算本體概念集合的相似度來獲取服務功能的語義相似度[5]。
功能相似度的計算公式如下:
simfunctional(Ps,Rs)=ω1siminput(Ps,Rs)+ω2simoutput(Ps,Rs)+
ω3simprecondition(Ps,Rs)+ω4simeffect(Ps,Rs)
ω1+ω2+ω3+ω4=1式(2)
2.4 服務池的生成
針對某項功能對服務進行相似度計算后,得到一組功能相似的服務集合,根據服務池pooling算法和機制生成一個服務池,服務池管理層記錄該服務池的描述信息,包括服務池的名稱、功能描述和接口規約、成員服務列表、映射關系及QoS質量譜系等[2]。
在生成服務池時,所有成員服務當前的QoS屬性值作為一張表記錄在服務池管理層中,當Monitoring Agent監測到服務的QoS屬性發生了更改,服務池管理層也將對其成員服務的QoS屬性作相應的更改。
此外,服務池管理層還維護成員服務與UDDI之間的映射關系,包括成員服務在UDDI中注冊的ID和URI,還有服務的接口、參數及其調用方式等。
2.5 基于服務池的第三級QoS匹配
QoS往往也是用戶在選擇服務時較為關心的指標,由于QoS屬性不同領域有不同的質量評價模型,考慮到可行性,本文只對4個較為通用的服務屬性:價格(price)、響應時間(responsetime)、可用性(availability)和信譽度(reputation)作了量化。
兩種不同的QoS匹配方案[2]:
①實時過濾式。
②自動匹配式。
3 系統實現和實驗評估
為了驗證基于服務池的語義Web服務發現模型的在服務匹配準確度上的提高,我們設計了一組仿真實驗。
通過10組用戶分別使用3種發現模式:基于關鍵字的發現、文獻[4]中語義web服務發現,查詢“Weather”、“Map”、“AirReservation”和“Hotel”及QoS約束,并對返回的前2個、前5個、前10個服務進行精確度評分,盡管隨著返回結果數的增多,整體的精確度在降低,但是基于服務池的語義web服務發現方法和文獻[4]的方法都明顯優于關鍵字的方法。由于文獻[4]的方法在功能匹配時僅考慮服務的serviceCategory和input/output上的相似度,而基于服務池的語義web服務發現進一步考慮了percondition和effect,在返回結果上精確度更高。
4 結束語和下一步的研究工作
語義web服務發現方面還有很多研究的地方,比如QoS質量模型,不同領域模型是不同的,不同的用戶對QoS的表達方式不同,有的人用數值表示,有的人用區間表示,還有第三方監測代理如何監測服務的QoS,如何管理服務提供商的信譽度,以及服務池中成員服務的安全管理方面需做進一步研究。
參考文獻:
[1]Papazoglou,M.P.And W.J.Van den Heuvel(2005):Service Oriented Architectures. to appear in VLDB Journal.
[2]劉譞哲,黃罡,梅宏.服務消費者驅動的服務聚合方法及其支撐框架.軟件學報Vol.18,No.8,August 2007.pp1883-1895.
[3]潘云峰.基于Ontology的Web服務發現技術研究. 江南大學碩士學位論文.2007.
[4]鄭德.基于語義的Web服務發現與匹配的研究.武漢理工大學碩士學位論文.2007.
[5]李春梅.基于本體的語義Web服務發現及選取的研究.廣西師范大學碩士學位論文.2006.
[6]鐘福金.語義Web服務發現及其應用研究.合肥工業大學碩士學位論文.2005.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文