摘 要: 在語義網(wǎng)格" title="語義網(wǎng)格">語義網(wǎng)格環(huán)境中,一切網(wǎng)格資源都是以服務的形式出現(xiàn)的。本文提出一種更廣范圍的服務選擇" title="服務選擇">服務選擇的概念,充分考慮影響服務質(zhì)量" title="服務質(zhì)量">服務質(zhì)量的動態(tài)因素,從而完成最優(yōu)質(zhì)的服務選擇。
關(guān)鍵詞: 語義網(wǎng)格 服務選擇 服務質(zhì)量 Agents技術(shù)
1 語義網(wǎng)格簡介
語義網(wǎng)格(Semantic Grid)是網(wǎng)格的擴展,它對網(wǎng)格上的信息和服務的含義進行了良好的定義,使之能夠更好地支持人機交互。它通過對服務進行語義描述,實現(xiàn)網(wǎng)格服務基于語義的發(fā)現(xiàn)、調(diào)用和組裝等過程。語義網(wǎng)格是網(wǎng)格(Grid)技術(shù)、語義網(wǎng)(Semantic Web)技術(shù)、Web Service技術(shù)和Agents技術(shù)不斷發(fā)展、相互借鑒和融合的產(chǎn)物,已成為相關(guān)領(lǐng)域最領(lǐng)先的研究之一。
在語義網(wǎng)格環(huán)境中,一切網(wǎng)格資源都是以服務的形式出現(xiàn)的。通常包括服務注冊" title="服務注冊">服務注冊中心、服務提供者和服務消費者三種角色。服務消費者提出對服務的功能要求,首先到服務注冊中心進行服務查找,然后連接服務提供者,調(diào)用找到的最適合的服務。為了使應用程序等服務消費者能夠查找和使用編寫好的服務,服務提供者首先要對服務進行詳細的描述,說明服務的名稱、分類、功能和調(diào)用方法等屬性信息。Web Service領(lǐng)域使用WSDL等標準來描述服務,而在語義網(wǎng)格中,服務描述需要實現(xiàn)語義支持。服務語義描述工作可以由不同的方法完成,如OWL-S和WSDL-S等。本文使用作為W3C標準的主流的OWL-S標準對服務進行語義描述。同時,在領(lǐng)域本體(Ontology)的支持下,語義網(wǎng)格中的服務可以實現(xiàn)基于語義的查找、組裝和調(diào)用等處理流程。
2 服務選擇
本文定義了服務選擇的概念,將服務選擇的過程定義為從服務請求者發(fā)出查詢請求開始到對服務進行調(diào)用之前結(jié)束。服務選擇包括了根據(jù)服務描述進行語義匹配的過程(本文稱為靜態(tài)選擇)和根據(jù)語義網(wǎng)格環(huán)境的動態(tài)影響因素進行服務協(xié)商的過程(本文稱為動態(tài)選擇)。靜態(tài)選擇過程通常發(fā)生在服務注冊中心的匹配引擎,動態(tài)選擇過程通常在服務請求者和服務提供者之間進行。如圖1所示,服務選擇過程分為三個步驟。首先服務消費者提出服務要求,發(fā)送到服務注冊中心,在注冊信息庫中進行語義支持的匹配處理(步驟1);然后,根據(jù)滿足服務要求的匹配結(jié)果集的指導,分別連接不同的服務提供者,獲取并比較實際的動態(tài)環(huán)境因素,得到最優(yōu)的服務提供者(步驟2a、2b和2c等);最后,服務消費者向服務提供者提出調(diào)用請求并得到響應(步驟3)。為了說明服務選擇的過程,先介紹本文提出的兩個概念:服務的設(shè)計能力" title="設(shè)計能力">設(shè)計能力和實現(xiàn)能力。
2.1 服務的設(shè)計能力
服務的設(shè)計能力是指在服務的語義描述中,對服務的功能屬性進行的說明。在OWL-S中主要是指ServiceProfile中的描述信息。ServiceProfile提供Agent發(fā)現(xiàn)服務時所需的信息,包括服務完成的工作、服務使用的限制、服務質(zhì)量、服務的請求者必須滿足的要求等。這些信息在服務查找Agent或者服務匹配Agent進行服務查找時使用,并決定服務能否滿足查詢的要求。ServiceProfile中的描述信息具體包括:
(1)serviceName:可作為服務的標識,每個服務只能有一個。
(2)textDescription:每個服務只能有一個用來對服務進行簡短描述,包括該服務提供什么功能,服務工作時有什么要求以及其他的ServiceProfile的編輯者想共享出來的信息。
(3)contactInformation:用來提供服務提供者的名稱、聯(lián)系方法等信息。
(4)serviceParameter:是一個可擴充的屬性列表,用來輔助ServiceProfile對服務的描述。
(5)ServiceCategory:指向一個ontology服務或分類服務的入口。
另外還有serviceClassification和serviceProduct,這兩個屬性和serviceCategory屬性類似,都說明服務的分類信息。
本文認為,在語義網(wǎng)格中,網(wǎng)格服務至少會包括以下屬性:
·名稱:服務名稱。
·標識符:服務標識符,類似于Web Service的端點引用。
·價格:服務的使用費用,經(jīng)濟學角度的指標。
·分類:服務的分類,參考標準分類法分類。
·提供者:服務提供者的信息。
·功能描述關(guān)鍵字:服務功能描述的關(guān)鍵字,可以是多個。
·日期:服務創(chuàng)建日期。
·身份認證:服務調(diào)用時的身份認證要求。
·授權(quán):服務訪問時組織的授權(quán)信息。
·通信加密要求:服務調(diào)用時有無加密要求。
·加密方法:服務通信時的加密方法規(guī)定。
·訪問方式:服務的調(diào)用方式,如遠程接口調(diào)用、調(diào)用Agent移動到提供者本地調(diào)用或下載服務客戶端然后再調(diào)用等。
·訪問執(zhí)行:服務的輸入、輸出參數(shù)規(guī)定。
·服務執(zhí)行的前提條件。
·服務執(zhí)行后對環(huán)境的影響。
·資源指針:服務使用的資源指定。
本文的研究是在OWL-S語義描述框架下,詳細分析語義網(wǎng)格服務的屬性,并使用owl語言對這些屬性進行表示,再結(jié)合領(lǐng)域本體的支持,對服務進行豐富的語義描述。這些屬性可在serviceParameter提供的可擴充的屬性列表中描述,也可以通過擴充OWL-S的ontology結(jié)構(gòu)來描述。
2.2 服務的實現(xiàn)能力
服務的實現(xiàn)能力是指在服務的調(diào)用過程中,服務的響應速度、執(zhí)行時間、環(huán)境安全和調(diào)用成功率的能力。服務實現(xiàn)能力是動態(tài)變化的,它受承載服務運行的系統(tǒng)和網(wǎng)絡環(huán)境的變化影響。
當前影響服務實現(xiàn)能力的各項環(huán)境因素主要包括:
·網(wǎng)絡帶寬:服務消費者和服務提供者之間的網(wǎng)絡帶寬。
·網(wǎng)絡帶寬利用率:網(wǎng)絡帶寬率。
·網(wǎng)絡延遲:網(wǎng)絡延遲時間指標。
·網(wǎng)絡丟包率:通信的丟包率。
·系統(tǒng)節(jié)點數(shù):承載服務的運算平臺階段數(shù)目。
·CPU主頻:系統(tǒng)的CPU主頻指標。
·CPU使用率:系統(tǒng)的CPU使用率。
·內(nèi)存大?。合到y(tǒng)的內(nèi)存大小。
·內(nèi)存占用情況:系統(tǒng)的內(nèi)存使用率。
·I/O帶寬:系統(tǒng)I/O帶寬。
·I/O帶寬使用率:系統(tǒng)的I/O帶寬使用率。
·系統(tǒng)平臺類型:運行平臺類型,包括硬件平臺、操作系統(tǒng)和應用服務器。
·系統(tǒng)安全狀態(tài):系統(tǒng)補丁情況、第三方的安全評價指標等。
本文設(shè)計的代表服務提供者的Agent將會監(jiān)控服務運行的主機系統(tǒng)和網(wǎng)絡環(huán)境,響應服務消費者Agent對于影響服務實現(xiàn)能力的動態(tài)指標的查詢請求。而服務消費Agent也將自己獲取網(wǎng)絡延遲等另外的動態(tài)指標,并在語義匹配后得到的服務結(jié)果集中,按照服務實現(xiàn)能力進行服務選擇。
2.3 服務選擇
服務選擇包括對服務設(shè)計能力的匹配和對服務實現(xiàn)能力的比較兩個方面。服務設(shè)計能力的匹配過程中,在語義的支持下對服務的功能描述進行匹配、分析和推理,希望找到最適合要求的服務。服務實現(xiàn)能力的比較過程中,分析、比較承載服務運行的網(wǎng)絡和系統(tǒng)環(huán)境的狀態(tài),考慮穩(wěn)定性、安全性和高性能等動態(tài)因素,希望找出響應最快和最穩(wěn)定的服務。
本領(lǐng)域當前研究工作的重點是對服務設(shè)計能力的匹配,即服務靜態(tài)選擇,而動態(tài)影響因素被簡單化地放在服務描述中,沒有能夠得到很好的處理。本文從更高的角度來考慮影響服務選擇的全面因素,服務的屬性描述只是其中的一方面。進行服務的動態(tài)選擇時,必須充分考慮動態(tài)環(huán)境因素對于服務選擇(即服務實現(xiàn)能力)的影響。
另外,在語義網(wǎng)格環(huán)境中,經(jīng)過語義支持的服務查找和匹配后,會得到用戶滿意的服務。由于這些服務可能數(shù)量較多,且服務質(zhì)量有所差異,所以,仍然要面對服務調(diào)用前的協(xié)商工作。因此,直接由服務消費者和服務提供者進行協(xié)商,對調(diào)用條件達成共識,是非常重要的工作。
3 服務質(zhì)量
響應速度、穩(wěn)定性及安全性都是用來描述服務質(zhì)量優(yōu)劣的信息。語義網(wǎng)格的服務質(zhì)量描述是服務語義描述的重要屬性。在傳統(tǒng)的服務質(zhì)量描述中,如OWL-S采用了定性化的表示,如好、可靠、反應快或者不可靠、反應慢、惡意等??梢钥吹?,這些服務質(zhì)量描述是靜態(tài)的和不精確的,而且當服務質(zhì)量發(fā)生變化時也不能及時反應到OWL-S的信息中。
本文的設(shè)計不再使用OWL-S中的服務質(zhì)量描述方法,而是采用服務實現(xiàn)能力的概念,以實現(xiàn)對服務質(zhì)量定量化和動態(tài)化的描述。在服務選擇過程中,服務實現(xiàn)能力的分析和比較實際上完成了服務質(zhì)量的動態(tài)獲取和比較。
4 系統(tǒng)實現(xiàn)
本文結(jié)合Agents技術(shù),通過服務消費者Agent和服務提供者Agent之間的實時交互,對影響服務選擇的動態(tài)環(huán)境因素進行實時獲取,比較選擇服務實現(xiàn)能力最好,即服務質(zhì)量最優(yōu)的服務,以進行下一步的實際調(diào)用。
本文的研究建立在Sun Rack1000-38的硬件平臺上。該硬件平臺可支持32個網(wǎng)格節(jié)點,每個節(jié)點使用AMD的CPU,運行Linux操作系統(tǒng)。在基于Globus GT4的網(wǎng)格環(huán)境中,對服務的語義描述使用OWL-S Editor工具,Agent開發(fā)平臺使用JADE開發(fā)和運行環(huán)境。服務提供者Agent和服務消費者Agent的開發(fā)設(shè)計過程如圖2所示。
在進行服務動態(tài)選擇時,可以監(jiān)視到服務提供者Agent和服務消費者Agent之間的協(xié)商通信過程。這種交互充分考慮動態(tài)環(huán)境因素對于服務選擇的影響,比較選擇服務實現(xiàn)能力最好的服務,為下一步實際調(diào)用做好準備。圖3為其協(xié)商通信過程示意。
本研究中,使用JUDDI軟件系統(tǒng)建立網(wǎng)格服務注冊中心,使用Protege工具建立和模擬領(lǐng)域本體Ontology。目前,本文的應用領(lǐng)域是針對食品科學與營養(yǎng)工程領(lǐng)域的典型服務進行的研究和實現(xiàn)。該領(lǐng)域Ontology服務器的建設(shè)包括類、子類和連接關(guān)系等。
本文提出并實現(xiàn)了一種新的服務選擇。此服務選擇的過程包括對服務的語義描述進行匹配和對影響服務調(diào)用的動態(tài)環(huán)境因素進行比較。一方面,改進了OWL-S中對服務質(zhì)量定性化描述的不足,實現(xiàn)服務質(zhì)量的定量化和動態(tài)的描述;另一方面,也為網(wǎng)格服務經(jīng)過語義匹配查找得到結(jié)果集以后進行進一步選擇提供了方法。下一步的研究工作將考慮服務選擇過程的效率以及Agent的協(xié)商機制如何為服務選擇帶來更豐富和強大的處理能力等問題。
參考文獻
1 Goble C,Roure D D.The Semantic Grid:Myth Busting and Bridge Building.In:Proceedings of the 16th European Confer-ence on Artificial Intelligence(ECAI-2004),Valencia,Spain,2004
2 Foster I,Kesselman C,Nick J et al.The Physiology of the Grid:Open Grid Services Architecture for Distributed Systems Integration.presented at GGF4,2002;(2)
3 Berners-Lee T,Hendler J,Lassila O.The Semantic Web.Sci-entific American,2001;284(5):34~43
4 Akkiraju R,F(xiàn)arrell J,Miller J et al.Web Service Semantics——WSDL-S.A joint UGA-IBM Technical Note,version 1.0, 2005,4