楊 健,朱 斌,劉 寧,李冠宇
(大連海事大學 信息科學與技術學院,遼寧 大連 116026)
一種本體增強的云服務發現方法
楊 健,朱 斌,劉 寧,李冠宇
(大連海事大學 信息科學與技術學院,遼寧 大連 116026)
現有的云服務發現方法是基于關鍵字搜索,且手動地查詢用戶需求的云服務,其查詢結果中會包含不相關的信息,容易遺漏相關的服務,增加用戶工作量且不能滿足用戶的一些高級個性化查詢要求。為了解決現有云服務發現方法中的這些問題,提出了一種語義物聯網中本體增強的云服務發現方法。該方法利用云本體的概念匹配技術,借助推理機對云服務的描述信息和用戶需求的描述信息進行相似性推理,增強了用戶需求與云服務之間的匹配精度。通過對本體增強的云服務發現框架與算法的描述以及實驗后的性能分析表明,該方法可以為服務請求者提供更加準確的服務,提高了服務發現的成功率并高效地發現滿足用戶需求的云服務。
云計算;云服務;云本體;本體增強;云服務發現
隨著云計算的廣泛應用,云服務資源的種類隨之不斷增加,云服務提供者以互聯網為基礎媒介向云服務使用者提供云資源及服務,但是云服務使用者卻很難有效地使用[1]。這是因為到目前為止,還沒有一個明確的方法可以有效地從多種多樣的云服務中發現最符合用戶需求的云服務。
現有的云服務發現方法是基于關鍵字搜索,以傳統的搜索引擎作為查詢機制。用戶查找到云服務后,還需要手動查看關于云服務的描述信息[2],既而找到最滿足需求的云服務。該方法不僅增加了用戶的工作量,而且很容易遺留與需求相關的云服務。因此,用戶需要一種能夠更加快速、高效地查找出滿足需求的新方法。
針對上述問題,文中提出了語義物聯網中本體增強的云服務發現方法。該方法在云服務的發現過程中,創建云本體,將本體、概念之間的關系應用于云服務的發現過程中,實現云計算領域內知識的推理與重用,使計算機更好地解析概念和屬性所表達的真實含義。
云服務的描述信息與用戶需求的描述信息借助推理機進行相似性推理與匹配后,可以提高兩者之間的相似程度,有效地為用戶提供滿足個性化需求的云服務。
1.1 云計算
云計算(Cloud Computing)[3]是一種新型的計算模式,以互聯網作為工具提供動態的,且容易擴展的虛擬化資源,同時可以對相關服務進行增加、使用和交付等操作。云計算[4]對云外的用戶提供不同層次與級別的多種服務,并且可按需動態配置服務。云計算特有的以“一切資源即服務”為中心的服務方式,即一切資源都是以服務的形式提供給用戶選擇和使用,使得云計算成為繼語義網之后的又一流行詞。
云計算的服務模式[5]主要有:
(1)軟件即服務(Software as a Service,SaaS):服務使用者通過Internet訪問服務提供者開發的,且以服務模式提供的軟件功能,使用者不需要關心軟件所在主機的底層基礎結構具體是什么形式。
(2)平臺即服務(Platform as a Service,PaaS):指將開發軟件所使用的平臺作為一種服務資源,以SaaS的模式交給服務使用者進行使用。
(3)基礎設施即服務(Infrastructure as a Service,IaaS):服務使用者以Internet作為基礎從完整的計算機基礎設施中獲得服務。
1.2 云服務
云計算以互聯網為媒介提供動態的,易于擴展的虛擬化服務資源。將網絡、互聯網比喻成“云”,抽象地表示互聯網和底層基礎設施。云服務指以網絡為基礎,以按照需求的方式來獲取自身所需要的服務,特點是按照需求進行分配且容易進行擴展[6-7]。它意味著可以通過互聯網將計算和存儲能力以商品的形式進行流通。
簡單地說,云服務將企業發展所需要的軟硬件和資料都存放在網絡上,無論什么時間、地點,只要使用設備都能互相連接,就能實現數據的儲存、獲取、運算等目的。
到目前為止,使用較多的云服務有公有云(Public Cloud) 和私有云(Private Cloud)兩種,見表1。

表1 公有云與私有云的區別
1.3 本體與云本體
1.3.1 本 體
本體,又被稱為本體論[8],被知識工程學者當成一種能夠在語義和知識層面上描述信息系統的概念建模的工具。
1993年,Gruber給出了一個最為流行的定義:本體是概念模型的明確的規范說明。這個定義包含的四層含義如表2所示。

表2 本體定義的四層含義
概括地說,本體即為概念以及概念之間的關系[9]。
1.3.2 云本體
云計算作為一種新型的計算模式,允許用戶通過網絡臨時使用各種計算機基礎設施。云計算的提供商將這些基礎設施抽象成一個或多個抽象層,每層提供一種服務。軟件應用程序、編程平臺、數據存儲、基礎設施和硬件都被抽象成一種服務,這些服務被看作是云計算服務的核心,但是其內部關系十分模糊復雜導致內部互操作非常困難。而且云計算領域也缺少對內部依賴關系的理解,阻礙了云計算領域研究的進一步發展。因此,Youseff[10-11]等嘗試著為“云”建立一個詳細的本體,并提出了介紹云計算領域的知識、組件及其之間關系的新概念。
文中所提出的云本體,是為了查找基礎設施即服務中提供的服務而創建的云計算領域本體。建立云本體可以幫助用戶更好地理解云計算模型中各個組件之間的內部關系,以及如何利用其他的云組件重新組合現有的系統來滿足某種新的需求[12]。
圖1為云本體中云概念之間的層次化關系。云本體包括軟件應用層、編程平臺層、硬件層以及云系統層。其中,云系統層為主要層次,包括平臺即服務層、基礎設施即服務層、數據即服務層、軟件即服務層以及通信即服務層。
2.1 本體增強的云服務發現的總體框架
云服務提供者通過注冊中心注冊發布自己所提供的云服務,并在注冊服務的同時提供關于云服務的描述信息。另一方面,云服務需求者通過Web界面提交自己的請求。當發現平臺收到該請求信息后,首先對其進行預處理,處理成系統可以識別的需求格式,并將處理結果發送到推理及匹配模塊。當推理匹配模塊收到經過預處理的需求信息后,便與發布在注冊中心的云服務描述信息進行推理與匹配。在匹配過程中參考云本體,借助語義推理機對兩者進行相似性推理,獲得概念之間的相似程度,增強服務匹配精度。經過需求信息預處理,需求信息與服務信息的匹配,服務過濾與評分,選出滿足用戶請求的服務,將結果通過Web界面返回給用戶參考。

圖1 云本體中概念之間的層次化關系圖
由此,圖2提出了本體增強的云服務發現框架這一概念性模型。該框架的核心功能主要包括Web界面、注冊中心、信息預處理、服務匹配以及服務的評估與過濾。
(1)Web界面。
是用戶和系統交互的接口。云服務提供者以標準的屬性規格注冊自己的云服務,云服務需求者通過Web界面以標準的屬性規格向系統提交自己的服務請求。例如,用戶需要選擇自己所需的操作系統、CPU等一系列信息。系統收到用戶的請求后,請求將被發送到預處理模塊進行處理。當云服務發現過程完成時,若該服務與用戶的請求一致,則通過Web接口返回給用戶,供用戶選擇和使用。
(2)注冊中心。
注冊中心包含已注冊服務的提供者及其所提供的服務,同時也包含了云服務提供者和需求者制定的每一種服務方案的價格效用、時隙效用和平均效用的基本信息。這些基本信息用于計算PTN(Price and Timeslot Negotiation)效用,精確決定云服務的保留。
(3)預處理。
收到Web界面發送過來的用戶需求信息后,預處理階段將服務請求信息進行分詞處理,并將服務請求信息轉化成系統可以識別的向量格式,稱之為請求服務(RS),發送到服務匹配模塊,與云服務提供者在注冊中心注冊發布的服務即目標服務(OS)進行匹配。在預處理的過程中,需要進行詞法分析、停用詞刪除等操作。主要目的是提取用戶查詢請求中有用的服務信息,使得經過該模塊處理后的服務請求信息更能精確地表達用戶的需求。
預處理階段的執行過程主要包括四個步驟:
·Web界面收到用戶提交的需求信息后將查詢請求信息發送至推理機。
·推理機分別對每個查詢請求信息查詢云本體,判定查詢請求信息是否存在于云本體中,把不存在于云本體中的查詢條件或參數剔除掉。
·將收到的查詢請求信息進行詞法分析、分詞等操作,進行標準化,以達到本體增強的云服務發現系統可以識別的統一表現形式的目的。
·規范化、可以識別的服務請求描述發送給語義服務匹配引擎。
(4)服務匹配。
語義推理機根據服務信息和已發布注冊的服務信息,運用本體中的概念,概念間所包含的各種關系,以及推理機的推理功能來計算二者的匹配程度,最后將匹配結果返回給服務匹配引擎。文中設計了針對三種不同情況的云服務匹配方法,計算兩個服務之間的相似程度。
(5)PTN原理的服務評分與過濾。
對滿足用戶需求的云服務進行評分與過濾,服務效用是決定服務評分的主要因素。PTN原理方便需求者和提供者之間進行服務協商。云服務發現過程參考查閱所構建的云本體,以便找到最符合用戶個性化需求的服務。PTN原理提供給云服務的需求者多種依據價格和時間的服務方案。在云服務的發現過程中,PTN原理和服務過濾一起被執行,用戶可以看到不同服務的價格和時隙的效用,選出滿足自己偏好的最優服務。
2.2 云服務發現的算法描述以及推理方法
云服務的發現過程可以描述如下:用戶提交服務查詢請求信息,云服務發現系統首先預處理用戶的需求信息,處理成系統可以識別的格式,并將其發送到服務匹配模塊。在接收到請求后,服務匹配模塊計算請求服務信息和已注冊的云服務信息之間的相似程度。經過連續不斷地處理、匹配,提高了過濾效果,找到滿足用戶需求的服務。
云本體提供的元數據信息,描述了數據的語義,包括云概念和云個人及其之間的關系。云服務發現系統接收到用戶提交的參數信息后,參考查詢構建云本體來實現服務的推理和匹配。
對于服務之間的匹配,利用構建的云本體,有以下三種情況[13-15]:相似性推理、等價性推理、數據類型屬性相似性推理。
(1)相似性推理。
通過統計兩個概念節點可達的共同節點來計算。概念的相似性代表了概念之間的共性。概念相似性的計算如式(1)所示:

(1)
其中,ρ為影響度,取值范圍為[0,1];α(x)是節點x向上可達的節點集合;α(x)∩α(y)是節點x,y向上可達的節點交集,是概念x和概念y共性的象征。
Simconp(x,y)=0表示概念x與y不相似,Simconp(x,y)=1則表示概念x和y相等。但是,相似性推理不能比較兩個兄弟節點之間的相似性。
(2)等價性推理。
等價性推理是基于標簽值來決定兄弟節點概念之間的相似性。例如計算兩個軟件版本之間的兼容性,用兩個兄弟節點代表不同的軟件版本,經過相似性推理會得到很高的相似度,但是依據兄弟節點代表時間先后順序的標簽值來計算,就會得到不同的相似度。兩個兄弟節點概念之間的相似性如式(2)所示:
(2)
其中,c1,c2分別為概念x和概念y的標簽值;Sim(x,y)為推理時得到的相似度值。
(3)數據類型屬性相似性推理。
數據類型的相似性推理用來決定兩個數據類型概念之間的相似性。相同領域的數據類型相似性計算如式(3)所示:
(3)
其中,x為第一個數據類型的屬性值;y為第二個數據類型的屬性值;c為概念名;Maxc和Minc為數字屬性的取值范圍。
若提供服務與云服務之間的匹配滿足上述匹配方法之一,且得到的匹配度大于規定的閾值,則進行下一個概念的比較,直到完成所有的概念和屬性的比較。若服務的所有概念和屬性都滿足用戶的需求,則將服務信息通過Web接口返回給用戶,由用戶來選擇最佳的服務。如果不滿足上述情況,則中止比較。
云服務發現算法的偽代碼如下所示:

對所有經過預處理后得到的請求服務結果集合:{R(1),R(2),…,R(N)}1.while(注冊中心目標服務數量>0)計算目標服務集合{s(1),s(2),…,s(N)}中s(1)和請求服務集合{R(1),R(2),…,R(N)}中R(1)的相似性: Step1:相似性推理 Step2:等價性推理 Step3:數據類型推理2.如果兩個概念經過Step1得到相同的相似度,則它們是兄弟節點那么進行Step23.如果兩個概念是數據類型的值那么進行Step34.否則進行Step15.經過步驟2^4,計算所有目標服務的服務效用:ServiceUtility=∑Ni=1term(i)×weight(k)term(i)=1N∑Ni=1Sim(userk,provideri)其中,weight=1/NPTNUtility=1/2(ConsumerUtility+ProviderUtility)6.根據服務效用對結果進行評分7.選擇服務效用最高的結果作為最符合用戶需求的云服務8.如果用戶接受到多個服務方案,那么用戶選擇PTN效用最高的服務并且拒絕其他服務結束
2.3 本體增強的云服務發現方法的測試結果分析
為了驗證本體增強的云服務發現方法的有效性,設定了系統的測試數據集,并將測試數據集合存儲在MySQL數據庫中,用來模擬云服務的注冊中心。實驗中對160個云服務提供者提供的云服務分兩種情況進行測試:(1)不使用云本體的傳統方法;(2)本體增強的云服務發現方法。
在第1種情況下,只有當云服務提供者提供的服務信息與用戶的需求信息完全一致時才被認定為查找成功,許多與用戶需求相關的信息被遺漏掉,降低了服務的利用率,增加了用戶的工作量。在第2種情況下,在本體增強的云服務發現方法中,云本體提供云服務概念、屬性及其之間的關系,實現云計算領域知識的重用。利用云本體,使得從基于關鍵字的服務匹配模式變成了基于語義的服務匹配模式,只要云服務提供者提供的云服務與用戶的需求語義相似,相關的云服務就可以被查找出來,從而提升了檢索服務的精度,減輕了用戶的工作量,很大程度上滿足了用戶的需求。
實驗從以下兩個方面對本體增強的云服務方法進行評估:一方面是服務結果的查準率;另一方面是服務結果的查全率。
定義1:設本體增強的云服務發現方法所查找到的服務結果個數為R,其中滿足用戶需求的服務個數為T,則服務的查準率如式(4)所示:
(4)
定義2:設本體增強的云服務發現方法未被查找到的隱含服務結果的總數為K,其中與用戶需求相關的服務結果個數為T,則服務結果的查全率RP如式(5)所示:
(5)
當對云服務進行精確檢索時,未利用云本體的云服務發現方法,網頁中的服務信息被隨機抽取。如果抽取到的云服務與用戶的需求相關,則該云服務的查準率不為零且值唯一。反之,該云服務的查準率為零且查全率也為零。本體增強的云服務發現方法對云服務的描述和用戶需求進行相似性匹配,增強了匹配精度,提高了查準率和查全率。
同未利用云本體的云服務發現方法相比,本體增強的云服務發現方法檢索到的服務在更大程度上滿足了用戶的需求。這是因為本體增強的云服務發現方法具有較強的過濾和推理功能。對未利用云本體的云服務發現方法和本體增強的云服務發現方法的查準率和查全率進行分析,得到的相關數據如表3和表4所示。

表3 基于云服務提供者數量的E值比較
圖3為兩種方法在不同提供者數量下的E值。當云服務提供者數量相同時,未利用云本體的云服務發現方法的查準率低于本體增強的云服務發現方法。

表4 基于云服務提供者數量的RP值的比較

圖3 基于云服務提供者數量的E值對比圖
圖4展示了基于云服務提供者數量的查全率。當云服務提供者數量相同時,本體增強的云服務發現方法的查全率高于未利用云本體的云服務發現方法。

圖4 基于云服務提供者數量的RP值對比圖
以上分析結果表明,本體增強的云服務發現方法與傳統的云服務發現方法相比,提高了服務發現的查準率和查全率,更適合運用于云服務的發現。
針對如何高效地查詢滿足用戶需求的云服務的問題,文中嘗試性地提出了本體增強的云服務發現方法。在云服務的發現過程中利用構建的云本體及本體間的概念和屬性關系,對云服務的描述信息和用戶需求信息進行相似性推理,獲得概念之間的相似程度,增強服務的匹配精度,有效地查找到滿足用戶需求的云服務。
但文中對云環境中服務的發現方法的研究僅處于一個初級階段,還要做更多的工作。例如,如何對云服務的描述進行統一的規定,怎樣從更深的層次構建云本體,等等。
[1]HanT,SimKM.Anontology-enhancedcloudservicediscoverysystem[C]//Proceedingsoftheinternationalmulticonferenceofengineersandcomputerscientists.[s.l.]:[s.n.],2010:17-19.
[2]KangJ,SimKM.Towardsagentsandontologyforcloudservicediscovery[C]//Proceedingsofinternationalconferenceoncyber-enableddistributedcomputingandknowledgediscovery.[s.l.]:IEEE,2011:483-490.
[3]VaqueroLM,Rodero-MerinoL,CaceresJ,etal.Abreakintheclouds:towardsaclouddefinition[J].ACMSIGCOMMComputerCommunicationReview,2008,39(1):50-55.
[4]DillonT,WuC,ChangE.Cloudcomputing:issuesandchallenges[C]//Procof24thIEEEinternationalconferenceonadvancedinformationnetworkingandapplications.[s.l.]:IEEE,2010:27-33.
[5]KangJ,SimKM.Cloudle:amulti-criteriacloudservicesearchengine[C]//ProcofIEEEAsia-Pacificservicescomputingconference.[s.l.]:IEEE,2010:339-346.
[6] 張 潔,何利文,黃斐一,等.一種應用于云計算環境下的服務發現架構[J].南京航空航天大學學報,2013,45(4):556-562.
[7]KangJ,SimKM.Cloudle:anontology-enhancedcloudservicesearchengine[C]//Procofwebinformationsystemsengineerin.Berlin:Springer,2011:416-427.
[8] 宋 煒,張 銘.語義網簡明教程[M].北京:高等教育出版社,2004.
[9] 黃映輝,李冠宇.語義物聯網:物聯網內在矛盾之對策[J].計算機應用研究,2010,27(11):4087-4090.
[10]YouseffL,ButricoM,daSilvaD.Towardaunifiedontologyofcloudcomputing[C]//Procofgridcomputingenvironmentsworkshop.[s.l.]:IEEE,2008:1-10.
[11]ChapkePP,KeoleRR.Ontologyofcloudcomputing[J].InternationalJournalofComputerTechnology&Applications,2012,3(3):1189-1193.
[12]NagireddiV,MishraS.Anontologybasedcloudservicegenericsearchengine[C]//Procof8thinternationalconferenceoncomputerscience&education.[s.l.]:IEEE,2013:335-340.
[13]SimKM.Towardanontology-enhancedinformationfilteringagent[J].ACMSIGMODRecord,2004,33(1):95-100.
[14] 高 巖.基于本體的信息過濾研究與實現[D].沈陽:沈陽工業大學,2010.
[15]KangJ,SimKM.Cloudle:anagent-basedcloudsearchenginethatconsultsacloudontology[C]//Procofinternationalconferenceoncloudcomputingandvirtualization.[s.l.]:[s.n.],2010:312-318.
A Method of Ontology-enhanced Cloud Services Discovery
YANG Jian,ZHU Bin,LIU Ning,LI Guan-yu
(College of Information Science & Technology,Dalian Maritime University,Dalian 116026,China)
Existing cloud service discovery method is based on keyword searching,and the cloud services need to be checked by the user manually.Query results in this method contain irrelevant information,which leads to miss the relevant services.At the same time,it cannot satisfy the user high-grade demand and increase in the workload of the user.In order to solve these problems,a method of ontology-enhanced cloud services discovery is proposed,which takes advantage of concepts matching technology of cloud ontology.With the help of inference engine,the similarity between cloud ontology descriptions and user demands is calculated.Description of framework,algorithm and experimental performance analysis show that the new method can provide more accurate services for service requesters.Moreover,it can efficiently discovery some cloud services which meet the demands of users.
cloud computing;cloud service;cloud ontology;ontology-enhanced;cloud service discovery
2015-11-19
2016-03-03
時間:2016-08-01
國家自然科學基金資助項目(61371090)
楊 健(1990-),女,碩士研究生,CCF會員,研究方向為智能信息處理;朱 斌,副教授,碩士,研究方向為智能信息處理;劉 寧,教授,碩士,研究方向為智能信息處理;李冠宇,教授,博士,研究方向為智能信息處理。
http://www.cnki.net/kcms/detail/61.1450.TP.20160801.0904.022.html
TP18
A
1673-629X(2016)08-0001-06
10.3969/j.issn.1673-629X.2016.08.001