(蘇州大學 a.計算機科學與技術學院; b.江蘇省計算機信息處理技術重點實驗室 江蘇 蘇州 215006)
摘 要:隨著網格技術的發展,網格服務匹配成為了新的研究熱點。服務匹配是有效提高網格資源利用的關鍵技術。分析了服務匹配中廣泛存在的服務提供方與服務請求方往往無法做到事先溝通的原因,提出了將語義引入服務描述語言以及服務匹配算法的基于語義的網格服務匹配技術,并結合服務匹配的具體應用,提出了相應的解決方案。
關鍵詞:網格; 服務; 匹配算法; 語義; 聚類
中圖分類號:TP31文獻標志碼:A
文章編號:1001-3695(2009)05-1607-05
Study of grid service matching based on semantic knowledge
LIU Meimeia,b ZHU Qiaomingb GONG Zhengxianb LI Peifengb
(a. School of Computer Science Technology b.Jiangsu Provincial Key Laboratory of Computer Information Processing Technology Soochow University Suzhou Jiangsu 215006 China)
Abstract:The development of grid service technology makes the grid service matching a study hotspot. Service matching is one of the key technologies that can effectively improve the use of resources. After analyzing the reason of the lack of communication beforehand between the service requesters and the service providers this paper proposed how to add semantic information into the service description language and the service matching algorithms. Combing the problems of application of service matching it finally presented a corresponding solution.
Key words:grid; service; matching algorithm; semantic; clustering
0 引言
隨著網格[1]技術的日益成熟以及面向服務的體系架構(OGSA)的產生,使得服務網格已逐漸成為當前網格研究的熱點。服務網格將網格與Web服務技術相結合,是一種以服務為中心的服務架構。在服務網格中,服務的發現、組合和調度都需要進行服務匹配,因而服務匹配成為了服務網格研究中的難點和重點。為此,人們將語義Web[2]應用于網格環境,以提高服務匹配的性能,就此形成了語義網格。語義網格小組對語義網格進行了如下定義[3]:語義網格就是對當前網格的一個擴展,其中對信息和服務進行了很好的定義,可以更好地讓計算機與人們協同工作。
語義Web與語義網格有很多的相似之處,但各自強調的重點又有所不同。在語義Web中,各種資源被人為地賦予了各種明確的語義信息,計算機可以分辨和識別這些語義信息,并對其自動進行解釋、交換和處理,使得機器可理解,從而使機器與人能更好地協同工作。語義網格構想的關鍵之處是把所有的資源(包括服務)都用一種機器可處理的方式來描述,其目標是實現語義的互操作性。
服務[4]是一個抽象的概念,它可以視為對一些內容或處理能力的特征抽象和封裝。Web服務[5]是自包含、自描述的模塊化應用,它提供了從簡單請求到復雜商務處理的功能。從技術角度來看,Web服務描述了一系列操作的接口,它使用標準的XML消息傳遞技術封裝信息,并經由網絡訪問這些接口和操作,完成特定的任務。網格服務是符合特定規范的Web服務。它將網格環境中所有的軟/硬件等資源均以服務的形式進行包裝,提供了一個相對統一的抽象界面。網格服務在RPC協議、接口描述等方面分別沿用了Web服務中的SOAP、WSDL[6]等技術,但同時它又對Web服務進行了擴充,這就導致它具有一些獨特的性質[7]:
a)提供有狀態的服務。Web服務提供的是無狀態的服務,服務并不保存與用戶方相關的狀態信息,一個Web服務在不同用戶眼中都是相同的;網格服務則可向用戶提供有狀態服務,它可以為每個用戶生成一個服務實例,同時提供了一套機制使用戶可以對狀態數據進行查詢。
b)提供瞬時服務。在Web服務中,所有的服務都是永久服務,即服務實例的生命期貫穿其宿主環境生命期的始終;網格服務除繼續對Web服務中的永久服務提供支持外,還提供了瞬時服務模式,即用戶需要服務時才創建服務實例,分配資源,一旦用戶使用完畢后即可釋放資源、銷毀服務實例,從而提高資源的利用率。
根據以上介紹可以得知,網格服務本身就是一類特殊的Web服務,因此關于服務匹配的技術從本質上兩者都可以使用。本文中提到服務匹配的地方均指兩者,但由于網格服務所具有的特殊性,本文有的地方會特指只適用于網格服務。
1 服務匹配
由于資源的復雜性和靈活性,不同的資源會有不同的使用規則,對資源請求者也會有不同的約束條件;同時,請求方也會根據自己的需要,尋求滿足自身利益的特定約束條件的服務資源,同樣也只會有部分資源滿足。因此,在一種或一組資源分配使用之前,用戶或代理必須為應用選擇合適的、最符合要求的資源,即存在著資源匹配問題。本文把這種基于應用需求之上的資源選擇過程稱為資源匹配[8]。在服務網格中,一切都可以看成服務,所以資源匹配的問題就轉換為服務匹配的問題。
從總體上看,服務匹配是當前一個活躍的研究領域,目前也有很多研究成果。
在Web服務匹配中,有很多的研究方案。
1)DAMLS/UDDI匹配器[9] Paolucci等人[9]提出了一種DAMLS/UDDI匹配器。其主要思想是利用UDDI作為服務的注冊和發現機構,在此基礎上用DAMLS Profile[10]進行服務能力的語義描述。該工作的主要貢獻是實現了一種DAMLS/UDDI匹配器。如圖1所示,當該DAMLS/UDDI匹配器從通信模塊接收到一個消息時,它首先判斷是服務發布還是服務請求。如果是服務發布,則該消息被發送到DAMLS/UDDI轉換器,以構造一個UDDI記錄(根據Profile中的服務名稱和服務描述等信息),然后保存到UDDI注冊庫中。注冊的結果是返回該服務的ID,該ID將跟隨該服務的能力描述被發送到DAMLS匹配引擎,以保存該能力描述用于將來的服務匹配。如果收到的消息是服務請求,則消息將被直接發送到DAMLS匹配引擎進行服務能力匹配,匹配的結果為相匹配的服務能力描述以及相應的ID。最后,根據該ID在UDDI注冊庫中獲得UDDI記錄,將該UDDI記錄隨著服務能力描述一起發送給服務請求者。在服務匹配的具體處理方式上,該工作是完全根據Profile中的輸入/輸出進行的。該工作對服務與請求的相匹配是這樣定義的:一個服務能夠滿足服務請求者要求的所有輸出,并且服務請求者能夠提供該服務要求的所有輸入。最終的輸入/輸出匹配結果取各個輸入/輸出匹配結果中的最小值,而整個匹配的結果為輸入匹配和輸出匹配中的最小值。
2)德國柏林工業大學(TUB)的OWLS Matcher[11] 該項目用OWLS對Web服務進行描述,然后利用其中ServiceProfile的功能行為信息對服務請求和服務描述進行匹配。它將匹配過程分為四步:前三步分別是輸入匹配、輸出匹配以及輪廓(Profile,即服務的基本構成結構)匹配;這三步匹配的結果與第四步用戶定義的匹配結合形成總的匹配結果。
3)英國曼徹斯特大學的Baader等人[12]提出的將描述邏輯理論運用到本體推理中 首先將DAML+OIL本體翻譯為SHIQ描述邏輯語言,利用描述邏輯推理機比較基于本體的服務描述,通過判斷兩個概念彼此是否具有包含關系來計算服務廣告與服務請求之間的語義匹配程度。
在網格已經出現的相關技術中,以監控與發現系統(MDS)為代表。MDS的發展經歷了三個階段:MDS2、MDS3和MDS4。Globus Toolkit2中的MDS2[13]機制是基于LDAP查詢的,它采用由信息提供者GRIS和集合目錄GIIS組成的分布式資源發現機制。Globus3的MDS3中部分功能已包含到OGSI的核心框架中,由SDE(service data elements)取代了GRIS,由匯聚層的index service[14]取代了GIIS來提供對服務實例SDE的檢索。Index service的關鍵能力為連接外部信息提供者程序和服務實例的接口;MDS3是集中式的結構,index service之間難以進行信息共享。GT4中的MDS包括MDS2和MDS4。MDS4可實現信息資源信息的注冊、收集和發布。它擁有以下的新特征:用更為強大的Xpath查詢語言代替LDAP,實施簡單卻更健壯,配置簡單;要求服務請求和服務發布具有較嚴格的對稱性,即服務提供者和服務發布者在服務參數屬性的名稱、值等關鍵字方面有統一的定義。
綜上分析可以發現,它們共同存在的不足之處是,在實際的應用中,簡單的關鍵字匹配方式無法提供足夠的靈活性和推理能力,服務提供方與服務請求方往往無法做到事先溝通,很難表述服務的真正能力,檢索結果難以令人滿意。主要原因在于對所要查詢的目標不能準確描述,不能度量候選者與查詢目標間的符合程度,而且不能使用細化、泛化、平級擴展等語義操作進行查詢。因此可以看出,網格服務匹配的難點就集中在如何將語義引入服務描述語言以及服務匹配算法上。
2 服務描述語言
服務描述旨在為服務提供者和服務請求者提供標準的方式來描述,是服務匹配的基礎。服務描述語言提供的標準機制支持在異構的動態環境中用于注冊和發現接口定義及端點實現的描述,以及基于特定的接口綁定動態產生代理。
正因為資源和服務描述的重要性,主流的網格研究和應用項目很早就提出了相關的技術和實現模式,并在不斷改進完善中逐漸形成了一些有代表性的技術和標準。目前,較為成熟的服務描述語言有WSDL(Web service description language)、GWSDL[15](grid WSDL),以及OWLS[16](Web ontology language for services)。
1)WSDL 基于XML的Web服務描述語言。一個WSDL描述包含對一組操作和消息的一個抽象定義,綁定到這些操作和消息的一個具體協議及這個綁定的一個網絡端點規范。其中消息、操作和接口描述屬于抽象層面,因為這里的消息都是抽象的、與具體傳輸格式無關的。操作是一個或多個消息的抽象集合(其中消息被區分為接收消息和發送消息),而接口則是一組操作的集合。綁定、端點、服務屬于具體層面。綁定用于關聯抽象的消息與具體的傳輸格式;端點將一個綁定與具體的網絡地址相關聯;服務則是端點的集合。Web服務在進行交互之前,通過對方的WSDL來了解如何與對方進行交互以及交互的方式。WSDL通過SOAP封裝來傳遞請求消息,可與UDDI、WSInspection結合構成多樣化的資源發現機制。它支持在異構的網格環境中,用于注冊和發現接口定義及端口實現的描述。
2)GWSDL 它是針對WSDL 1.1在處理網格服務不足時而提出的。WSDL 1.1缺少對portType類型的繼承;portType不能根據一個或是更多其他的portType類型的集成和擴展來定義;缺少一個開放的且令人滿意的模式;缺少在portType中定義附加消息元素,這些元素在服務數據的描述中是必須描述的。GWSDL是用在OGSI規范的WSDL擴展,它完善了WSDL以上所列的不足。GWSDL用portType擴展(通過使用extends屬性)來定義標準操作。
3)OWLS 它是一種描述Web服務的本體[17]語言,含有語義信息。圖2是OWLS結構圖。
其中,resource代表提供服務的資源;service作為服務本體分類的根節點,代表服務自身。OWLS結構是根據service的presents、describedby和supports三個屬性來構造的。這三個屬性分別涉及網格服務的三個最基本的問題:此服務提供什么樣的服務、服務具體是怎樣工作的,以及如何訪問這些服務。
ServiceProfile描述一個服務所要包含的信息:服務提供者的白頁和黃頁信息,如服務提供者的聯系方式;服務的功能信息。Inputs和outputs是指服務的輸入和輸出;preconditions和effects是指服務的前提條件和效果,即服務執行前應該滿足的條件和服務執行后實際產生的效果,可以理解為狀態的改變。
ServiceModel主要是服務提供者用來描述服務的內部流程。一個service通常被稱之為一個process(過程)。Process分為atomic process、composite process和simple process三類。Atomic process(原子過程)是不可再分的過程,可以直接被調用,每一個原子過程都必須提供一個grounding信息,用于描述如何去訪問這個過程;composite process(復合過程)是由若干個原子和復合過程構成的過程;simple process是一個抽象概念,它不能被直接調用,也不能與grounding綁定。
ServiceGrounding是涉及到服務的具體規范。簡單來說,它描述了如何訪問一個服務的細節,如制訂消息格式、通信協議和服務端口等。
3 服務匹配算法
服務匹配算法的基本作用就是根據服務的功能參數從已發布的所有候選服務中選取滿足匹配需求的服務,并將匹配的結果返回給用戶。目前,學術界已對服務匹配算法進行了廣泛而深入的研究,主要分為基于推理和基于相似度計算的兩類匹配方法。
3.1 基于推理的匹配
1)基于DAMLS的服務匹配[9]
基于推理的匹配是建立在領域本體概念間的層次關系之上的,使用描述邏輯進行推理的匹配方法。Paolucci等人[9]提出了一種基于DAMLS(OWLS的前身)的服務匹配方法。它根據請求服務與廣告服務的輸入/輸出的匹配情況將服務匹配程度分為四種:
a)Exact(精確匹配),即概念C1和C2,如果C1與C2是本體中的相同概念,或當C2是C1的直接子類時,則匹配結果為exact(C1,C2)。
b)PlugIn(插入匹配)。如果概念C2包含C1,或者說C2可以完全滿足C1,則匹配結果為plugIn(C1,C2)。
c)Subsumes(包含匹配)。如果概念C1包含C2,即C2部分滿足C1,則匹配結果記為subsumes(C1,C2)。
d)Fail(不匹配),即概念C1與C2完全沒有語義關聯,則匹配結果記為fail(C1,C2)。
該算法在確定匹配程度上通過建立語義分類樹(taxonomy tree)來確定概念間的匹配程度。首次提出了基于服務能力的語義匹配方法,通過建立語義分類樹來判斷概念之間的關系,從而實現模糊匹配,并且經過實驗證明能提高服務查準率。但是該算法仍然存在一些問題:(a)該算法采用語義分類樹來判斷概念的匹配程度,就需要在發布服務時手工建立該分類樹,并且每當有新的服務發布時,就需要更新該分類樹,因此將消耗系統運作時間;(b)匹配等級的劃分粗糙,容易出現眾多屬于同一匹配類型的Web服務,因此不能很好地區分Web服務匹配程度;(c)僅把輸入/輸出參數作為服務匹配的依據,服務匹配范圍粒度偏大,查詢效率不高。
2)利用RACER推理機的DAMLS服務匹配
Li等人[18]在JADE(一種agent實現平臺)平臺上利用RACER推理機進行基于DAMLS Profile的服務匹配。他們主要提出以下三個方面的建議:
a)指出DAMLS 0.9版存在的一些問題,并給出修改方案,如指出providedBy和requestedBy將影響服務的匹配,并建議將這兩個屬性移出profile。
b)該工作在服務匹配的處理方式上對Paolucci等人的工作進行了改進。首先是改進了exact的定義;其次是引入了一種新的匹配等級intersection(相交匹配),即概念C1與C2有語義關聯,記為C1∩C2≠,匹配結果記為intersection(C1,C2)。
c)該工作給出了一些重要的實踐經驗和參考數據。如提倡定義子類而不是定義實例,因為Abox (實例斷言)的推理要慢于Tbox(斷言);證實了在往現有類層次中插入新類的時間復雜度要遠遠高于進行類層次化的構建(大約為O(n2)),并提出在類數目較多時采用離線創建類層次的方式等。
3.2 基于相似度計算的匹配
1)基于幾何距離的相似度算法[19]
領域本體中各概念之間的關系可以表示成一個有向圖。基于幾何距離的相似度算法的基本思想就是用兩個概念在本體有向圖中的幾何距離來衡量語義相關度,距離越短則相關度越高。幾何距離等于路徑及其權重的乘積。概念間可能存在多條路徑,而符合算法要求的是兩點間的最短路徑。最簡單的計算方法就是把所有父類與子類節點之間的權重簡化為1,這樣最短距離就等于兩個節點間有向邊的數量。式(1)表示兩個概念基于集合距離的語義相關度:
sim(c1,c2)=[2(H-1)-L]/[2(H-1)](1)
其中:H為本體網絡的最大深度;L為概念c1、c2之間有向邊的數量。兩個概念間的距離越遠,那么它們之間的語義相似度就越小;反之則越大。此算法的優點就是匹配精度高,但是匹配的效率不高。
2)基于屬性的相似度算法[20]
該算法是根據比較各概念間相同的和不同屬性的多少來確定兩者的相似度。兩個概念間相同的屬性越多,不同的屬性越少,則它們越相似。Tversky提出了這種基于屬性的算法。假設存在兩個概念nl和n2,那么它們的相似度計算式為
sim(n1,n2)=θf(n1∩n2)-αf(n1-n2)-βf(n2-n1)(2)
其中:α,β,θ≥0;(n1∩n2)為n1和n2共有的屬性;(n1-n2)為n1有而n2沒有的屬性;參數α、β、θ為概念n1與n2之間相同屬性和不同屬性而賦的不同權重。之所以要對不同屬性賦予不同權重,是因為考慮到相同的屬性和不同屬性在區別不同概念的過程中所起的重要性不一樣。
3)基于信息容量的相似度算法[21]
基于信息容量的算法是由Resnik提出的,基本思想是兩個概念的相似度由它們共同擁有的那部分概念所決定。由于每個概念都是由其祖先概念節點繼承而來,繼承了祖先節點的信息,兩個概念間的相似度可由它們最近的共同祖先節點所包含的信息容量來確定,共享的信息越多,相似度越大。概念的信息容量可用統計的方法,計算概念在特點領域文集中出現的概率。概念間的相似度(n1和n2為兩個概念)為
sim(n1,n2)=-log(P(LSO(n1,n2)))(3)
其中:LSO(n1,n2)是n1和n2的最近共有祖先;P(n)是概念n在特定領域本體庫(大樣本空間)中出現的概率。它們的語義相關度取決于它們共同祖先節點中含有信息容量最多的一個,體現在本體中,就是等于最近的共同祖先節點的信息容量。若存在多重繼承的情況,那么對于兩個概念在本體中可能存在多個共同的最近祖先。在所有的共同最近祖先節點中選取信息容量值最大的一個。
3.3 兩種匹配方式的比較
綜合3.1和3.2節的分析可知,從精度上,基于推理的匹配方法的等級劃分相對較低,容易出現大量匹配程度相同的結果,且在某些情況下(plugIn和subsumes)同一級別內部不能進一步區分結果的匹配程度;基于相似度計算的匹配方法可以清楚地區分這種差別。從匹配的效率上,基于推理的服務匹配的一個好處是可以在匹配之前對本體庫進行預處理,如為每個概念建立匹配等級列表,從而可以將計算的復雜性轉移到預處理階段,匹配時只需在列表中查找對應的概念,可獲得線性的時間復雜度;基于相似度計算的服務匹配算法本身就比較復雜,加之不能進行類似的預處理,算法的復雜性全部集中在匹配階段,如基于幾何距離的最短路徑算法,在最壞情況下(本體規模很大,概念間相似度卻很小或根本不匹配)將會導致糟糕的響應時間。從復雜度上,基于推理的匹配比較簡單;而基于相似度的匹配要復雜很多,實現難度也較大。
4 關鍵技術分析
4.1 服務匹配的應用
在網格服務應用環境下,服務匹配技術主要應用在以下三個場景中:
a)服務發現。網格中的服務種類繁多、功能各異。網格應該為用戶提供一種功能,能夠根據用戶的需求從網格服務中找到滿足用戶需求的資源。服務發現功能的強弱,直接決定了網格的使用效率和友好程度。在服務提供者向服務注冊中心發出查詢請求時,服務注冊中心將請求映射為服務請求描述,并與廣告描述進行匹配。于是,服務發現的問題就轉換為請求描述與廣告描述之間的匹配問題。服務匹配是服務發現的一個關鍵問題,但目前的研究成果大多都是基于關鍵字的查詢。UDDI是眾多發展和支持服務的解決方案中最受矚目的一個。UDDI上的服務發現,是通過對UDDI上的服務注冊信息進行關鍵詞精確匹配實現的,主要是對服務ID或名稱,或是服務的有限屬性值進行匹配。這種方式無法提供足夠的靈活性和推理能力,服務的查準率和查全率不高。
b)服務組合[22]。隨著網格服務技術的成熟,越來越多的穩定易用的服務共享在網格上,但單個服務能夠提供的功能有限。為了更加充分地利用共享的服務,有必要將共享的服務組合起來,提供更為強大的服務功能,加快系統開發的速度,快速滿足用戶需求。單個子服務之間具有相互約束關系,這些都是服務組合在查找滿足服務時需要注意的問題,也是服務組合的難點所在。
c)服務調度。它是指從多個提供相同功能的服務節點中選擇合適的服務來執行。網格服務是動態變化且自治的,這使得具體的服務組合在實例化過程中往往是由于某個服務實例的變化而無法正常執行。為了避免服務變化對服務組合執行的影響,進一步實現服務組合流程的重用,需要提供良好的服務替換機制,即能在服務執行過程中及時對“壞死”的服務進行替換。在網格環境下,服務由不同的組織發布和維護,調度器想要尋找一個與被替代服務完全匹配的服務是很困難的。目前,服務調度僅精確到服務功能層次,并未考慮非常重要的出入口參數的語義差異以及約束條件等因素。
4.2 基于語義的網格服務匹配算法的設計
針對服務匹配在當前應用中出現的問題,可以考慮從以下幾個方面來解決:
a)為服務描述添加語義信息。鑒于目前很多描述語言的語義缺乏,雖然WSDL在XSD(XML schemas definition)中定義了輸入/輸出類型的概念,但是并不支持輸入/輸出參數之間的邏輯約束定義,所以在服務的發現和調用支持方面不及OWLS,但OWLS表達不了WSDL的綁定信息。由于OWLS是基于XML的,很容易對WSDL作出擴展來支持OWLS,同樣在OWLS中也有相應的機制來訪問WSDL的結構。ServiceGrounding提供WSDL到OWLS的一致性映射,因此,可以把OWLS與WSDL融合在一起,用OWL類表達WSDL中抽象類型的聲明,使用WSDL的綁定結構來表達消息的格式。文獻[23]中對網格服務的上層本體(serviceProfile)進行兩方面的擴展來描述網格服務的特性:(a)為使OWLS能適應動態服務的狀況,引入一個布爾型屬性beDynamic;(b)考慮網格服務的服務數據,增加serviceData類。
b)實現自動聚類的功能。按照服務的功能自動聚類,把具有相同功能的、但服務約束不完全相同的服務抽象出來形成一類,并向用戶提供統一的接口。將服務的出入口參數等信息保存在數據庫中,在進行服務查找時,只需在其所屬的類別中進行匹配即可,無須到所有服務中進行檢索,因而可大幅度地提高匹配效率。具體算法如下:
Clustering clustering(Service SA)
{
float sim=0; /*遍歷所有已存在的分類 */
for each adv in advcategory database{
/* 計算服務分類的相似度 */
sim=Match(SA.serviceCategory,adv.serviceCategory);
if(sim>=adv.getExpectedSim())
{/* 滿足期望值的添加到某類的鏈表里*/
resultList.add(SA);
return resultList;
}
}
}
c)綜合匹配算法。本文3.3節中已經對現有的基于推理的匹配和基于相似度計算的匹配方法進行了比較,并得出了各自的優缺點。基于推理的服務匹配比較簡單、運行效率高,但存在匹配精度不足的問題;基于相似度計算的服務匹配有很好的匹配精度,但算法較復雜、執行效率不高。因此,可以考慮一種基于推理與相似度計算相結合的匹配策略。首先采用簡單的推理匹配,當匹配結果為exact或fail時,無須進一步計算相似度;當結果是plugIn或subsumes時,需要進一步計算后再比較。通過對本體庫進行預處理,為概念間的匹配關系維護exact、plugIn、subsumes三個列表,從而將基于算法的計算復雜性轉移到預處理階段。算法中CR表示請求服務的概念;CA表示廣告服務的概念。算法如下:
MixMatchMatch(Concept CR,Concept CA)
{
/* 結果為Exact時,無須進一步計算相似度 */
if(FindInExact(Concept CR,Concept CA))
return1;
/ * 結果為plugIn或subsumes時,需進一步計算相似度 */
else if(findInPlugIn(Concept CR,Concept CA‖
findInSubsumes(Concept CR,Concept CA))
returngetSimilarity(CR,CA);
else
return0;
}
d)建立分層匹配模型。文獻[11]提出匹配過程分為四步:輸入匹配、輸出匹配、輪廓匹配;這三步匹配的結果與第四步用戶定義的匹配結合形成總的匹配結果。文獻[24]把服務匹配模型分為服務分類匹配層和服務接口匹配層。但文獻[24]中缺乏對描述服務能力的另外兩個重要屬性,即前提和效果的匹配,這大大限制了匹配的精度。因此,在建立匹配模型時,應加入這兩個屬性。圖3為本文提出的改進分層匹配模型。第一層為匹配服務分類(serviceCategory)匹配層,篩選出滿足要求的服務集,進入第二層匹配;該模型的第二層包括兩部分:一部分是輸入/輸出接口匹配,另一部分為前提效果匹配,兩部分結果為a Match(In,Out)+(1-a)Match(Pre,Eff)。其中a為設置的權值(0~1的小數)。最后得到最終的匹配結果集。
此外,考慮到輸入/輸出參數的匹配過程最為復雜,相對耗時,需要大量的邏輯推理,且與本體庫交替頻繁,因此可以考慮并行處理。建立分層匹配模型的優點是,通過逐層匹配,不斷淘汰不滿足的服務,縮小查找范圍,提高服務查準率。
5 結束語
隨著網格服務的不斷發展,網格上可供選擇的服務呈幾何級增長,如何快速有效地找到所需的服務成為學術界和業界普遍關注的問題。目前,對服務的語義描述和匹配的研究雖然很多,但是仍然屬于一個探索的階段,并沒有充分發揮語義的潛能。如何基于語義準確地發現網格服務,如何準確產生滿足應用需求及相應約束的服務組合方案,如何對網格服務匹配進行評估、優化,以及相應的服務調度和容錯處理都是網格服務匹配領域有待深入研究的問題。本文針對當前的網格環境,分析了網格服務匹配應用要解決的問題,并就其關鍵問題提出了解決的方法和思路。
參考文獻:
[1]FOSTER I KESSELMAN C. The grid2:blue print for a new computing infrastructure[M]. [S.l.]:Morgan Kaufmann Publisher,2004.
[2]LEE T B HENDLER J LASSILA O. The semantic Web[J].Scientific American,2001,284(5):34-43.
[3]BROWN M C. What’s semantic grid?[EB/OL].(2005). http://www.ibm.com/developerworks/cn/grid/grsemgrid/.
[4]胡春明,懷進鵬,孫海龍. 基于Web服務的網格體系結構及其支撐環境研究[J].軟件學報,2004,15(7):1066-1068.
[5]TAN Y S VELLANKI V WANG Shouhui,et al. Service domain[EB/OL].(2003). http://www.ibm.com/developerworks/cn/grid/grsdomain/.
[6]CHRISTENSEN E CURBERA F,MEREDITH G et al. Web services description language(WSDL)1.1[EB/OL]. (2001).http://www.w3.org/TR/2001/NOTEwsdl20010315.
[7]羅洋,曾國蓀. 基于本體語義的網格服務的Web services[J].情報理論與實踐 2004,27(1):52-54.
[8]梁泉,梁開建,楊揚.一種網格服務能力匹配方法[J].計算機應用,2004,24(9):28-30.
[9]PAOLUCCI M KAWAMURA T RPAYNE T et al. Semantic matching of Web services capabilities[C]//Proc of the 1st International Semantic Web Conference.Sardinia:Springer,2002:34-43.
[10]MARK B,GRIT D JERRY H. DAML 0.9 draft release[EB/OL]. http://www.daml.org/services/damls/0.9/.
[11]JAEGER M C ROJECGOLDMANN G LIEBETRUTH C et al. Ranked matching for service descriptions using OWLS[C]//Proc of CAiSE Workshops. 2004:217-228.
[12]BAADER F HORROCKS I SATTLER U. Description logic as ontology languages for the semantic Web[C]//Lecture Notes in Artificial Intelligence.[S.l.]:SpringerVerlag 2003:228-248.
[13]MDS2 white paper[EB/OL]. (2003).http://www.globus.org/mds/mds2/.
[14]Index service[EB/OL].(2003). http://www.globus.org/ogsa/releases/final/docs/infosvcs/indexsvcug.html.
[15]陳謙. 用GT3開發客戶端圖形界面[J].寧夏工程技術,2006,5(2):172-175.
[16]OWLS 1.1 release[EB/OL].(2004).http://www.daml.org/services/owls/1.1.
[17]鄧志鴻,唐世渭. Ontology研究綜述[J].北京大學學報,2002,38(5):730-728.
[18]LI Lei HORROCKS I. A software framework for matchmaking based on semantic Web technology[C]//Proc of the 12th International World Wide Web Conference.[S.l.]:ACM Press,2003:331-339.
[19]HIRST G STONGE D. Lexical chains as representations of context for the detection and correction of malapropisms[C]//FELLBAUM C. WordNet:an electronic lexical datalouse and some of its applications.[S.l.]:MIT Press 1997:305-332.
[20]TVERSKY A. Features of similarity[J]. Psychological Review,1977,84(4):327-352.
[21]RESNIK P. Using information content to evaluate semantic similarity in a taxonomy[C]//Proc of the 14th International Joint Conference on Artificial Intelligence.San Francisco:Morgan Kaufmann Publishers,1995:448-453.
[22]高巖,那俊,張斌,等. 支持動態服務組合的Web服務三層組織模型[J].小型微型計算機系統,2006,27(10):1881-1882.
[23]郭英,栗君,陸菊康.基于語義的網格服務優化匹配[J].計算機工程,2007,33(20):94-96.
[24]王玉影. 基于語義相關度評價的Web服務匹配技術研究[D].大連:大連理工大學,2006.