



















收稿日期:2022-02-07;修回日期:2022-03-31" 基金項目:江蘇省重點研發項目(BE2020084-4)
作者簡介:劉星宇(1999-),女,安徽安慶人,碩士研究生,主要研究方向為下一代通信網絡技術和物聯網技術;江凌云(1971-),女(通信作者),安徽安慶人,副教授,碩導,碩士,主要研究方向為下一代網絡技術與物聯網應用(jiangly@njupt.edu.cn).
摘 要:在物聯網服務發現過程中,用戶通常用自己的意圖表達需求,而服務描述是對服務功能的說明,因此兩者的不匹配會影響服務發現的準確率。同時隨著服務的種類不斷增多,服務發現的準確率不斷降低。為了解決上述問題,提出在物聯網服務描述中引入意圖服務本體的方法,并在意圖服務本體中擴展服務上下文和QoS。擴展后的意圖服務本體存儲在語義化服務描述OWL-S文件中,能夠以意圖的方式表達服務功能,豐富物聯網服務描述的語義,提高服務發現的準確率。仿真結果表明,所提服務描述方法以及相應的服務發現算法相對于傳統服務發現方法能提升6.7%的準確率。
關鍵詞:意圖服務本體;上下文;服務質量;服務描述;服務發現
中圖分類號:TP391"" 文獻標志碼:A
文章編號:1001-3695(2022)09-026-2731-07
doi:10.19734/j.issn.1001-3695.2022.02.0044
Intent-based IoT service description and discovery
Liu Xingyua,Jiang Lingyuna,b
(a.School of Communication amp; Information Engineering,b.Institute of Internet of Things,Nanjing University of Posts amp; Telecommunications,Nanjing 210003,China)
Abstract:In the process of Internet of Things service discovery,users usually express their needs with their own intentions,while service description is the description of service functions,so the mismatch between the two will affect the accuracy of service discovery.At the same time,the accuracy of service discovery decreases with the increasing of service types.In order to solve the above problems,this paper proposed a method of introducing intentional service ontology into the description of IoT services,and extended the service context and QoS in the intentional service ontology.The extended intentional service ontology was stored in OWL-S(ontology Web language for services) files,which could express service functions in an intentional way,enrich the semantics of IoT service description,and improve the accuracy of service discovery.Simulation results show that the proposed service description method and the corresponding service discovery algorithm can improve the accuracy of 6.7% compared with the traditional service discovery method.
Key words:intended service ontology;context;quality of service(QoS);service description;service discovery
0 引言
現如今物聯網技術已成為社會各個產業和行業中不可或缺的一部分,物聯網是在互聯網的基礎上引入物的概念,將互聯網與人們生活中的各種物品、設備聯系在一起。隨著物聯網技術的不斷發展,物聯網服務種類不斷增多,服務發現準確率卻不斷降低,通用的服務描述和發現機制不能滿足人們的需求,因此本文提出改進的服務描述與服務發現算法。
本體是語義網的基礎,是包含了某個學科領域內的概念以及概念間的關系的模型。在服務描述語言中,由于WSDL(Web services description language)[1]基于關鍵字的服務匹配方式準確率不高,研究者們提出語義化服務描述語言。現有的語義服務描述語言包括OWL-S(Web ontology language for ser-vice)[2]、WSMO(Web semite frameworking ontology)[3]和WSDL-S[4]等。OWL-S通過引入本體的概念實現服務描述從語法級(WSDL)到語義級(OWL-S)的轉換,是一種標準的語義標記語言,且OWL-S作為機器能夠理解的語言,能夠實現自動化的處理。因此本文提出在OWL-S中改進服務描述的方式。
在物聯網服務中,意圖表示用戶期望實現的最終目標或行動以及服務所實現的目標或行動[5]。用戶通常以意圖的形式表達需求,而服務提供者提供的服務描述僅表示為服務的功能描述,因此服務發現過程中存在著服務描述與用戶需求之間不匹配的問題。本文通過在OWL-S中引入意圖服務本體,以意圖的方式描述服務功能,因此可以用意圖的形式同時表達用戶需求與服務功能,解決兩者不匹配的問題。意圖服務本體將服務意圖和服務的其他信息以本體的形式結合在一起,其中意圖與服務之間被定義為滿足與被滿足的關系,即意圖滿足服務。
隨著物聯網技術的發展,服務發現時如果僅僅考慮服務的功能(包括意圖)信息,服務發現查全率和查準率會降低。當兩個用戶請求相同功能的服務時,不同用戶對服務的上下文和QoS需求不同,導致服務發現時不能匹配到真正滿足用戶需求的服務。本文在意圖服務本體中擴展物聯網服務的非功能屬性,包括服務的上下文與QoS,同時服務上下文與設備上下文相關聯,保證服務發現的準確率,該領域相關工作介紹見下文。
面向服務體系結構(service oriented architecture,SOA)[6]現被廣泛應用于服務之間的通信、組合與使用。同時,SOA也被應用在物聯網中,如文獻[7]提出了一種支持互操作性、異構性、靈活性、可管理性、可擴展性和可伸縮性的基于物聯網的大規模SOA本體;文獻[8]將SOA和物聯網的概念應用于智能家居燈,對智能設備進行控制;文獻[9]在傳統的SOA模型中引入意圖,即ISOA(intentional service oriented architecture)模型,介紹了基于意圖的面向服務的體系結構。ISOA為基于意圖的服務描述與服務發現提供了基礎的框架。
文獻[10]研究了基于意圖技術的最新進展,提出在自然語言理解的快速發展下,基于意圖的技術有望在未來幾年不斷提高其適應能力。文獻[11]通過在SAWSDL(semantic annotations for WSDL and XML schema)[12]服務描述文件中添加意圖服務描述符,實現以意圖的方式擴展服務描述,同時介紹了發布和匹配意圖服務的框架。文獻[13]從服務的文本描述中提取有關服務功能(即服務目標)的領域知識,幫助服務請求者通過意圖信息查詢并準確地獲得相關服務,研究者使用基于自然語言解析的方法從服務的文本描述中提取服務目標,并通過度量它們的語義相似性來對服務目標進行聚類,為用戶推薦服務。文獻[14]介紹了一個用于存儲用戶意圖信息的意圖本體模型,提出了基于意圖服務組合的體系結構。上述文獻在服務描述與服務發現過程中引入了意圖,但當服務種類增多時,具有相似意圖和功能的服務增多,僅基于意圖進行服務匹配會導致服務發現結果準確率降低。
文獻[15]提出了一種基于意圖的飲水服務機器人主動服務的方法,該文獻在考慮用戶意圖的同時考慮用戶的環境因素以及用戶自身的上下文信息。文獻[16]提出以用戶需求為服務發現的中心,介紹了一種基于OWL-S擴展的上下文感知的有意服務發現機制。文獻[17]提出了一種基于用戶意圖和上下文的Web服務動態組合方法,提出基于人工智能規劃技術與語義描述的Web服務組合方式。文獻[18]提出了基于上下文和用戶意圖的服務組合方法,在服務上下文中結合用戶意圖信息完成服務組合,正確響應用戶需求。上述文獻在服務發現過程中同時考慮服務的意圖與上下文信息,但未考慮到不同用戶對于服務QoS的需求有所不同。在服務發現過程中,缺少QoS的匹配會導致無法找到滿足用戶需求的服務。
文獻[19]提出一種高效多目標自動服務組合方法,提出的模型能夠將簡單的原子服務組合成具有合適QoS的聚合服務,同時在計算成本和QoS之間實現更好的平衡。文獻[20]對意圖驅動管理系統的核心方面進行全面討論,介紹了意圖的定義以及相關建模,同時考慮到服務的QoS性能生成端到端的系統架構。文獻[21]提出了一種以需求為中心的方法,使用從ISM(intentional service model)提供的規范中提取的關鍵字發現服務,并自動選擇相關的高QoS。上述文獻在服務發現過程中同時考慮到意圖以及QoS,但未考慮到服務上下文對服務發現結果的影響。但隨著服務上下文的變化以及用戶上下文的變化,僅考慮意圖與服務QoS是不夠全面的,上下文同樣是保證服務發現準確率的一個重要指標。
文獻[22]以用戶需求的結構作為輸入,該結構由意圖具體化,并通過豐富該圖來顯示上下文信息,在服務組合時,該文獻基于語義匹配技術并考慮用戶上下文和QoS進行服務選擇。文獻[23]提出由用戶的意圖、上下文和QoS信息構建復合服務,同時介紹服務的描述和發布方式,匹配最合適的服務。上述文獻同時考慮服務的功能和非功能參數,但未介紹非功能屬性的模型和相應的服務發現機制。
以上文獻大多為在互聯網領域引入意圖、上下文或QoS信息,而將其應用在物聯網領域,需要考慮到物聯網設備的上下文信息。同時上述文獻未介紹完整的引入意圖、上下文和QoS后的服務發現機制。本文的主要貢獻在于:a)提出了基于意圖的服務發現框架,介紹服務發現的完整流程與服務匹配算法;b)提出在意圖服務模型中擴展上下文類與QoS類,并在物聯網服務的上下文信息中結合物聯網設備及其上下文信息。
1 基于意圖的服務發現框架
本文提出的服務發現框架如圖1所示,涉及服務描述、服務注冊、服務匹配以及語言解析四個實體。服務描述用于存儲服務描述文件,其中本文采用OWL-S服務描述文件;服務注冊將服務提供者提供的服務信息注冊在UDDI服務注冊庫中,其中UDDI中存儲所有服務提供商提供的服務信息;服務匹配在服務注冊庫中匹配符合用戶需求的服務;語言解析將用戶需求描述解析成意圖、上下文以及QoS的形式,本文采用的語言解析方法為Stanford自然語言解析方式。在整個服務發現過程中,首先由服務提供者提供OWL-S服務描述文件,OWL-S文件信息在UDDI服務注冊庫中注冊并存儲。同時,在用戶提供需求后,由Stanford語言解析工具將用戶需求解析成意圖、上下文以及QoS信息,傳入服務匹配中。在服務匹配中,首先通過意圖匹配(基于功能屬性匹配)的方式,在服務注冊庫中匹配滿足用戶意圖的服務,輸出由相似度排序后的服務列表再進行服務的非功能屬性的匹配,包括上下文匹配與QoS匹配。在服務匹配工作過程中,由于服務上下文與QoS是實時計算的,需要同時更新服務在UDDI數據庫中的信息。服務匹配完成后返回滿足用戶需求的服務描述文件。用戶獲得服務描述文件后,與服務的服務提供者進行綁定,通過服務提供者調用服務。本文提出在服務描述的OWL-S文件中添加服務的意圖、上下文和QoS信息的服務描述方法,同時詳細介紹服務匹配過程。
2 基于意圖的服務描述
基于意圖的服務描述主要體現在服務發現框架的服務描述部分,通過在OWL-S中引入意圖服務本體,將服務的意圖、上下文以及QoS信息保存在服務描述中。
2.1 結合上下文和QoS的意圖服務本體
意圖服務模型(ISM)[24]的目的是以本體的方式存儲服務信息,其中以意圖的方式表示服務功能。本文在ISM的基礎上進行上下文與QoS擴展,提出CQISM(context and QoS intentional service model)本體,如圖2所示。選擇以本體表示意圖服務的原因在于用本體擴展服務描述不需要更改服務描述文件的其他信息與解析工具且能規范物聯網領域意圖服務描述的標準。CQISM本體模型的設計主要考慮三點:a)意圖服務模型是對服務信息的標準化,應包括服務的基本信息(意圖、輸入輸出參數等);b)由于本文的研究領域為物聯網,本文添加服務上下文和服務QoS、存儲服務可用位置、狀態、關聯設備等信息;c)為了計算聚合服務的上下文與QoS,CQISM本體包含了服務組合類,用于保存服務類型與服務表示式。結合以上設計考慮,本文將CQISM本體模型分為五個類,分別為:
a)意圖類。該類表示由服務描述解析出的服務意圖信息,服務意圖由動詞、目標、可選參數三部分組成。
b)服務輸入輸出類。由服務調用前后的類以及類的狀態組成,包括服務的初始情況、最終情況、前置條件和后置條件。
c)服務組合類。表明服務的類型,包括原子服務和聚合服務,其中聚合服務由原子服務或其他聚合服務組合而成。
d)服務上下文類。服務的上下文信息,包括服務的時間、狀態、位置以及與服務相關聯的設備等。
e)服務QoS類。服務的QoS信息,包括服務的可用性、安全性、可伸縮性等。
在物聯網領域中,CQISM本體在存儲服務意圖的同時能夠考慮到服務的非功能屬性,在服務匹配過程中,通過意圖、上下文與QoS匹配獲得滿足用戶需求的服務,提高物聯網服務發現的準確率。例如在無人機巡檢系統中,無人機能夠提供傳輸視頻和圖像到系統的信息管理平臺、控制巡航路徑等服務,而無人機所處的環境,自身的狀態是不斷變化的,所以本文在服務發現過程中不僅需要考慮服務的功能,還需要考慮到非功能屬性,包括服務上下文、服務相關設備上下文以及服務QoS。
2.1.1 意圖類
意圖由能夠最大程度表達服務功能或用戶需求的幾個詞語或詞組組成,意圖模型如圖3所示,該模型最初由文獻[25]提出。在意圖模型中,動詞表示在服務功能描述或用戶需求中起主導作用的動詞,目標通常是與該動詞最相關的名詞,可選參數由其他相關信息組成,包括方向、受益人、時間、方式、質量、數量、位置等。
以無人機巡檢系統為例,對于服務名為Stransmit image by Wi-Fi的,服務功能為通過Wi-Fi傳輸圖像信息。服務初始情況(即輸入)為空,服務最終情況(即輸出)為圖像信息與拍攝時間。服務意圖表示為動詞(transmit)、名詞(image)以及參數(by Wi-Fi),其中參數屬于方式類別(ways)。
對于意圖模型中動詞、目標以及可選參數的提取,本文通過Stanford core NLP工具包的英文依存句法分析功能,獲得句子中詞語的詞性以及各個詞語之間的關系,生成意圖表達。
2.1.2 服務組合類
服務組合類分為原子服務與聚合服務。原子服務為服務的最小單元,是不可再分的,在CQISM模型中將原子服務名以service_name字段存儲在atomic類中;聚合服務由原子服務或其他聚合服務組成,聚合服務的表達式以service_expression字段存儲在aggregate類中。聚合服務表達式的生成需要結合服務的MAP圖與服務的不同組合方式。
1)MAP圖
MAP圖是一個有標記且有方向的圖,圖4所示為MAP圖的最小單元,其中start為源意圖,stop為目的意圖,strategy(策略)為邊。MAP圖可用來表示所有原子或聚合服務,且MAP圖中的聚合服務可細化為其他MAP圖表示的子聚合服務,可以理解為高級服務意圖可被分解為其他低級服務意圖,直到聚合服務全部被分解為原子服務為止。通過計算MAP圖中所有路徑可以確定該MAP圖表示的聚合服務的表達式。
在物聯網服務中,以無人機巡檢系統為例,對于服務名為Sperform inspection的聚合服務,服務功能為使無人機執行檢查任務,MAP圖如圖5所示。圖5中MAP圖表示要使無人機執行檢查任務,首先需要通過電池電量計檢查無人機剩余電量,再采集信息,采集信息的方式包括未指定位置采集和指定位置采集兩種策略。
圖5中Scollect information by non-designated position與Scollect information by designated position
為聚合服務。以Scollect information by designated position為例,該服務功能為采集某一給定位置的信息,MAP圖如圖6所示,其中start表示圖5中check batterylevel,stop表示圖5中collect information。以圖6所示,無人機首先需要飛行至某一給定位置,再傳輸位置信息與圖像信息,其中傳輸位置信息可通過絕對位置和相對位置兩種方式,傳輸圖像信息可通過OFDM(orthogonal frequency division multiplexing)和Wi-Fi兩種方式。
2)服務組合方式
服務與服務之間可以通過不同的操作符聯系生成新的聚合服務,聚合服務包括復合服務和變體服務兩類。下面分別介紹這兩種聚合服務的表示方式。
復合服務指服務與服務之間的組合關系是順序的或并行的。順序執行的復合服務表示其分解后的服務必須按照一定的順序執行,使用操作符“”表示,式(1)表示圖6中順序執行的復合服務;并行執行的復合服務表示分解后的服務不需要考慮執行順序,可同時執行直至完成,使用操作符“∥”表示,式(2)表示圖6中服務名為Stransmit image by Wi-Fi的服務分解后的并行表示。
Scollect information by designated position=
(Sfly position to designated position,Stransmit position,Stransmit image)(1)
Stransmit image by Wi-Fi=∥
(Stransmit time by Wi-Fi,Stransmit picture by Wi-Fi)(2)
變體服務包括選擇變體服務、替代變體服務和多徑變體服務三種類型。選擇變體服務表明服務可通過不同的策略實現,但這些策略并不相斥,用操作符“∨”表示。例如,圖6中傳輸位置信息可通過絕對位置和相對位置兩種策略,但兩種策略可同時選擇,也可選擇其中一種,其表示如式(3)所示;替代變體服務指完成一個服務的不同策略之間為互斥關系,由操作符“”表示。例如,圖5中無人機執行收集信息的服務時,可通過未指定位置收集和指定位置收集兩種策略,但這兩種策略只能選擇一種,如式(4)所示;多徑變體服務指對于一個變體服務,可通過多個不同路徑實現相同的意圖,由操作符“∪”表示,對于簡單MAP圖表示的聚合服務,采用多徑變體服務表示方式更加便于服務發現時上下文和QoS的計算。
Stransmit position=∨(Stransmit position by absolute position,Stransmit position by relative position)(3)
Scollect information=(Scollect information by designated position,
Scollect information by non-designated position)(4)
3)聚合服務表達式的生成
OWL-S文件中的process model部分包含服務的所有進程信息,可以從中提取MAP圖的信息,通過MAP圖可以完整地表示一個復雜的聚合服務,再通過MAP圖中的所有路徑生成聚合服務的表達式。由于本文的研究領域是物聯網,考慮到物聯網服務大多為聚合服務,而服務的上下文與QoS的計算需要考慮到該聚合服務的子服務以及與子服務相關聯的物聯網設備,所以本文通過聚合服務的表達式計算上下文與QoS。圖5、6中MAP圖的表達式如表1、2所示(符號“*”表示服務被重復調用),表格中原子服務指MAP圖所涉及到的所有原子服務名,聚合服務指MAP圖所涉及到的所有聚合服務的表達式。
2.1.3 上下文與QoS類
在服務發現過程中,傳統的基于OWL-S語言的語義化描述以及本文基于意圖服務本體的服務描述,都需要根據服務功能進行匹配,尋求最符合用戶需求的服務。為提高物聯網服務發現的準確率,本文同時考慮服務的非功能屬性,包括服務的上下文類與QoS類。
1)上下文類
物聯網服務與傳統Web服務不同在于,物聯網服務涉及各種設備,包括傳感器、執行器等,物聯網服務與其相關設備聯系緊密,因此本文在物聯網服務上下文類中添加SC_attachedDevice字段,如圖7所示。原子服務上下文信息與單個設備上下文信息由服務提供商提供,聚合服務上下文信息包含子服務的上下文信息以及與子服務相關聯的設備。
圖7為物聯網服務上下文類,包括服務標識符(SC_ID,服務唯一標識)、服務類型(SC_type,服務是原子服務還是聚合服務)、服務狀態(SC_status,服務可用性)、服務時間(SC_time,服務能被調用的時間段)、服務位置(SC_position,服務能被調用的位置)、服務附加設備(SC_attachedDevice,與服務相關聯的設備)。在服務通過上下文匹配時,需要實時地利用設備上下文更新服務上下文信息,其中設備上下文信息存儲在設備本體(OWL文件)中。設備本體模型如圖8所示,包括設備屬性與設備能力,其中設備屬性包括靜態屬性與動態屬性,靜態屬性存儲設備固定信息,動態屬性包括設備的能源、狀態、位置和時間等。設備能力包括通信能力、控制能力、正在發生的事件和展示能力。在服務上下文計算過程中,設備的動態屬性與服務的上下文相關,例如設備狀態可用以及剩余能源足夠時,服務上下文狀態(SC_status)才能為可用。
2)QoS類
考慮到用戶對于服務質量的需求不同(例如,用戶請求的服務需要很高的安全性,而對服務的其他QoS屬性要求不高),本文在CQISM中擴展ServiceQoS類存儲服務質量信息。在用戶請求服務時,通過意圖與上下文匹配到滿足需求的服務后,再通過服務質量匹配,選擇滿足QoS需求的服務返回給用戶。物聯網服務QoS類及關聯指標如圖9所示(圖9中模型參考文獻[26]中物聯網服務QoS指標的相關內容)。圖9中QoS類包括物聯網服務的可用性、性能、安全性、可伸縮性、可靠性、互操作性以及可用性。對于QoS的評價指標,本文采用定性評價方式,分別為數字“1”“2”“3”“4”,表示“很低”“低”“高”“很高”。通過四個層級的方式表示QoS的目的是統一服務提供者與用戶對QoS的表示方式。QoS的各個指標的計算方式不同,每個QoS指標的層級度量方式由服務提供者制定。原子服務QoS信息由服務提供商直接提供,聚合服務的QoS需要考慮到組成該聚合服務的子服務的QoS信息。
2.2 OWL-S服務描述文件的擴展
OWL-S服務描述文件分為三個主要部分:a)服務配置文件(service profile),用于描述服務做什么,包括服務的名稱、描述、服務質量以及服務發布商等信息;b)進程模型(process model),用于描述如何使用該服務以及服務調用后的結果;c)服務基礎(grounding),用于描述如何訪問服務,包括通信協議、消息格式以及端口號等[27]。
服務描述擴展指的是在基礎語義化服務描述中添加本文提出的CQISM本體信息生成擴展后的服務描述文件,擴展框架如圖10所示。由圖10可知,本文在OWL-S服務描述文件的ServiceProfile部分擴展CQISM本體信息。在OWL-S中,原子服務與聚合服務的信息均存儲在ProcessModel中,本文從中提取原子服務與聚合服務的組成關系,生成MAP圖,再由MAP圖生成服務組合表達式,將表達式以ServiceComposition類的形式存儲在CQISM本體中。擴展后的服務描述文件能夠豐富OWL-S服務描述語言的語義,解決服務提供者提供的服務描述與用戶需求描述之間概念不匹配的問題,同時考慮服務的非功能屬性,提高服務發現的準確率。
3 基于意圖的服務匹配
基于意圖的服務匹配在圖1的服務發現框架中作用在服務匹配部分,該部分實現從UDDI服務注冊庫中通過功能與非功能屬性匹配返回滿足用戶需求的服務。
在服務匹配工作之前,本文需要在OWL-S文件中提取CQISM本體,通過解析CQISM本體,提取服務的意圖、上下文以及QoS信息并存儲在服務注冊庫中。在用戶輸入需求時,首先需要通過Stanford NLP解析用戶的意圖,進行意圖匹配,見算法1。意圖匹配完成后,根據相似度結果進行排序,選擇符合用戶意圖需求的服務生成新的表格,再進行上下文匹配和QoS匹配。
由于服務包括原子服務與聚合服務,并且涉及到各種物聯網設備,所以需要對完成意圖匹配后的服務進行上下文計算和匹配,見算法2。如果服務為原子服務,服務上下文與設備上下文相關聯,算法2中第4行設備上下文計算遵循以下原則:a) 設備的狀態、位置、時間等字符型表示屬性采用交集∩的方式計算,即當一個原子服務有j個相關聯設備(device_1、device_2,…,device_j)時,device_j某一屬性q的值為vj,表示為〈q,vj〉devicej,則該原子服務的q屬性的值為v=v1∩v2∩…∩vj,表示為〈q,v〉atomic;b) 設備的能量和安全性等數字型表示屬性采用取最小值的方式計算,即v=min(v1,v2,…,vj)。例如一個原子服務關聯的兩個設備位置信息分別表示為〈position,NJ,SH〉device_1,〈position,NJ〉device_2,則該原子服務的位置信息表示為〈position,NJ〉atomic。如果服務為聚合服務,服務上下文與其子服務上下文有關,其子服務之間的關系由聚合服務表達式表示,算法2中第9行服務上下文的計算遵循以下規則:
a)如果是復合服務,即聚合服務的表達公式中有SymbolwBp或∥,采用交集∩與最小值的計算方式計算服務上下文;
b)如果是變體服務,即聚合服務的公式中有、∨或∪,采用并集∪與最大值的方式計算上下文;當聚合服務的表達式中涉及其他聚合服務,仍采用規則a)b),直到聚合服務中所有子服務都被分解為原子服務即完成聚合服務上下文的計算。
服務上下文實時計算并不涉及系統中的所有服務,而是在基于意圖進行排序后,選取與用戶需求相似度較高的服務進行計算,這樣做的目的是在保證準確率的情況下,避免服務發現的時間過長。完成上下文計算后,本文通過算法2偽代碼中第14~20行,選擇符合用戶上下文需求的服務。
同樣,在進行QoS匹配前,需要對已完成意圖和上下文匹配后的服務進行QoS計算。原子服務的QoS由服務提供商提供,聚合服務的QoS計算與上下文計算類似,本文不再詳細展開(注意:QoS計算不考慮服務關聯設備)。
算法1 意圖匹配算法
輸入:含意圖信息服務列表(list_intention);用戶功能需求。
輸出:基于意圖匹配后的服務列表。
/*Sj表示列表中的每個服務*/
1 從用戶功能需求中提取意圖信息分別為:user_verb,user_target,user_parameter
2 for each Sj in list_intention do
3" 從Sj中提取該服務的動詞、目標和可選參數,分別為:verb、target、parameter
4" 分別計算verb與user_verb、target與user_target、parameter與user_parameter語義相似度,并求和sum
5 end for
6 以sum值由大到小對list_intention列表排序
7 從list_intention列表中選取前100個服務生成新列表list_ServiceContextSelected
8 返回基于意圖匹配后的服務列表(list_serviceContextSelected)
算法2 上下文計算與匹配算法
輸入:用戶上下文需求(userContext);包含上下文信息的服務列表(list_ServiceContext);基于意圖匹配后的服務列表(list_ ServiceContextSelected)。
輸出:基于意圖與上下文匹配后的服務列表(list_ServiceContextQoSSelected)。
/*Sj表示列表中的每個服務,SC表示某一個服務的每類上下文信息,UC表示用戶上下文需求的每類上下文信息*/
1 for each Sj in list_ServiceContext Selected do
2" if Type(Sj)==′Atomic′:
3"" 從Sj中提取該服務關聯設備
4"" 計算服務關聯設備上下文
5"" 利用設備上下文信息更新Sj在服務列表list_ServiceContextSelected中的信息
6" end if
7" if Type(Sj)==′Aggregate′:
8"" 從Sj中提取聚合服務表達式Service_expression
9"" 由聚合服務表達式計算該聚合服務上下文
10"" 利用計算后的上下文信息更新Sj在服務列表list_ServiceContextSelected中的信息
11" end if
12 end for
13 利用list_ServiceContextSelected中實時計算的上下文信息更新包含上下文信息的服務列表list_ServiceContext
14 for each Sj in list_ServiceContextSelected do
15" for each SC in Sj do
16"" for each UC in userContext do
17""" if name(UC)=name(SC) and value(UC) value(SC)
/*假設name(UCj)=name(SCj)=\"position\"*/
18""" 將服務信息存儲在滿足位置條件的服務列表list_Position中
19 結束所有if與for循環
20 list_ServiceContextQoSSelected結果為list_Position∩ list_Status∩list _Time∩list_Energy
21 返回完成上下文計算與匹配后的服務列表list_Service Context-QoSSelected
4 仿真與結果分析
4.1 開發環境
本文開發語言為Python語言,Python語言作為可跨平臺的語言,可以運行在Windows、Mac和各種Linux/UNIX系統上;Python語言開發工具為Anaconda下的jupyter notebook;本體構建工具為Protégé-5.5.0,用于構建CQISM本體;語言解析工具為Stanford NLP,用于提取意圖信息;測試數據集為OWLS-TC_v2.2_revision_3,該數據集為服務描述文件的集合,包括醫療、教育、食品、工業等領域。
4.2 服務描述文件的擴展
以無人機通過Wi-Fi傳輸圖像的物聯網服務為例,圖11為在OWL-S文件中擴展CQISM本體后的部分服務描述文件內容,其中〈profile:CQISMPath〉中為CQISM本體的路徑,〈profile:CQISMIRI〉中為本體的IRI(internationalized resource identifiers),本體的路徑與IRI均可唯一表示一個意圖服務本體,可利用Python代碼解析OWL-S文件,提取相應的CQISM本體并解析。
通過解析CQISM本體能夠獲得服務的意圖、上下文、聚合服務表示式以及QoS信息,這些信息將用于下一步的服務匹配過程。CQISM本體部分信息如圖12所示,其中第3~5行表示服務意圖信息(動詞、目標與參數);第9、10行表示服務上下文信息,包括可用狀態(1表示服務當前可用)以及相關設備;第14行表示服務QoS信息(表中表示可靠性層級為4)。
〈owl:NamedIndividual rdf:about=“http://www.semanticweb.org/administra
tor/ontologies/2021/10/untitled ontology 73#Intention”〉
〈Intention_parameter〉by Wi-Fi,at certain position 〈/Intention_parameter〉
〈Intention_target〉picture〈/Intention_target〉
〈Intention_verb〉transmit〈/Intention_verb〉
〈/owl:NamedIndividual〉
〈owl:NamedIndividual rdf:about=“http://www.semanticweb.org/administra
tor/ontologies/2021/10/untitled ontology 73#ServiceContext”〉
〈SC_status〉1〈/SC_status〉
〈SC_attachedDevice〉Camera_1〈/SC_attachedDevice〉
〈/owl:NamedIndividual〉
〈owl:NamedIndividual rdf:about=“http://www.semanticweb.org/administra
tor/ontologies/2021/10/untitled ontology 73#ServiceQos”〉
〈SQ_reliability rdf:datatype=“http://www.w3.org/2001/XMLSchema
#integer”〉4〈/SQ_reliability〉
〈/owl:NamedIndividual〉
考慮到物聯網服務中涉及各種設備,在服務上下文匹配時需要考慮到相關設備上下文的影響,因此系統中需要存儲設備本體文件用于更新服務上下文。以攝像頭設備(camera_1)為例,其本體文件部分信息如圖13所示,圖13展示了設備上下文中的能源信息,由表中第7行可知,該設備剩余能源為80%。
〈owl:NamedIndividual rdf:about=\"http://www.semanticweb.org/administra tor/ontologies/2021/10/untitled-ontology-59#Energy\"〉
〈rdf:type rdf:resource=\"http://www.semanticweb.org/administrator/ontologies/2021/10/untitled-ontology-59#Energy\"/〉
〈Device_id〉IOT/Entity/UAV/Camera/Camera_0001〈/Device_id〉
〈Energy_value rdf:datatype=\"http://www.w3.org/2001/XML Schema#float\"〉 0.8〈/Energy_value〉
〈/owl:NamedIndividual〉
4.3 基于意圖的服務發現仿真結果分析
4.3.1 服務發現準確率
首先驗證僅考慮意圖與服務功能對服務發現準確率的影響,對于不同的系統服務數量使用相同服務請求輸入,這些服務請求僅包括服務的功能信息,用式(5)計算準確率,實驗結果如圖14所示。實驗結果表明,在相同服務請求不同服務數量的情況下,基于意圖描述方式的準確率一直高于基于服務功能描述方式的準確率,且基于服務功能描述的準確率會隨著系統總服務個數的增加,下降的趨勢較大。本文取系統中服務數量分別為200、400、800時的準確率取均值進行比較,基于服務功能描述的服務發現與基于意圖的服務發現準確率分別為77.5%、88.3%,表明在不考慮其他影響服務發現準確率因素的情況下,基于意圖的方式能提高10.8%的準確率,可得出用意圖提取的方式表示服務描述是完全可行的,且本文提出的方法能很好地提取用戶的意圖。
準確率=請求結果正確次數服務請求總次數(5)
在物聯網服務發現過程中,僅考慮服務意圖描述或服務功能是不全面的。傳統的服務匹配方式是在服務功能描述的基礎上結合輸入和輸出信息,如OWLS-MX[28]服務匹配器。基于意圖服務匹配方式是在服務意圖的基礎上結合上下文和QoS信息,例如,文獻[16]在意圖的基礎上結合上下文,文獻[21]在意圖的基礎上結合QoS。圖15將OWLS-MX匹配器、(意圖+上下文)[16]、(意圖+QoS)[21]以及本文(意圖+上下文+QoS)三種服務匹配方式準確率進行比較,式(5)為準確率計算公式。取系統中服務數量分別為200、400、800時的準確率取均值進行比較,意圖+上下文+QoS、OWLS-MX、意圖+上下文、意圖+QoS準確率均值分別為84%、77.3%、80%、73%。其表明在服務發現過程中同時考慮服務功能與非功能屬性能提高了服務發現的準確率。
4.3.2 服務發現時間
表3為在系統數量分別為200、400和800時基于意圖的服務發現時間與OWLS-MX匹配器服務發現時間的具體數值比較(表中僅展示10次服務請求的時間),其中服務發現時間單位為s,R_1表示第一次服務請求,依此類推。通過式(6)計算不同系統數量情況下的服務發現平均時間,其中Tj表示第j次請求查詢時間,時間比較如圖16所示,隨著服務數量的增加,兩者的時間均在增加,但基于意圖的服務發現所需要的查詢時間更長。這是由于隨著服務數量增加,CQISM本體數量相應增多,意圖匹配相對于功能匹配所涉及到的參數更多,且意圖匹配多出一步在用戶需求中提取意圖的步驟。取系統中服務數量分別為200、400、800時的時間均值進行比較,OWLS-MX消耗時間與基于意圖方式消耗時間均值分別為7.095 1 s、8.886 5 s,可得基于意圖的服務發現平均多消耗1.791 4 s的時間。
服務發現平均時間=∑服務請求總次數j=1Tj服務請求總次數(6)
在基于意圖的服務匹配后,生成意圖相似度排序表格,本文選取意圖相似度高的一些服務再次進行上下文以及QoS的匹配。以選取相似度高的前100個服務為例,在提出20次不同請求時,相應的上下文查詢時間和QoS查詢時間如表4所示。取20次時間的均值、上下文和QoS時間的平均值分別為0.268 015 s、0.068 88 s。本文可以認為這些時間對于圖16中意圖的查詢時間來說影響很小,但通過上下文與QoS匹配能提高服務發現的準確率。
5 結束語
本文提出一種基于意圖、上下文與QoS的服務描述方法以及服務匹配算法,以意圖服務本體(CQISM)的方式存儲服務意圖、上下文以及QoS信息,并將本體保存在OWL-S服務描述文件中用于服務匹配。意圖的提取能夠解決服務描述與用戶需求描述之間不匹配的問題;上下文和QoS信息的引入能夠進一步提高服務發現的準確率;本文采用本體作為工具描述意圖服務:將CQISM本體引入服務描述能夠規范意圖服務本體的描述標準,擴展服務描述文件時不需要更改原本的服務描述信息,同時不需要更換用于解析OWL-S文件的工具。本文仿真部分的對比文獻[16,21]均采用本體的方式描述意圖服務,實驗結果表明,本文在意圖基礎上同時考慮上下文與QoS能夠在較短時間內提高服務發現的準確率。未來考慮改進服務匹配算法,規范服務發現機制,進一步縮短基于意圖的服務發現時間,同時改進基于意圖的服務發現在物聯網領域中的應用。
參考文獻:
[1]Chinnici R,Moreau J J,Ryman A,et al.Web services description language(WSDL) version 2.0 part 1:core language[EB/OL].(2007)[2022-01-15].http://www.w3.org/TR/2007/REC-wsdl20-20070626.
[2]Martin D,Burstein M,Hobbs J,et al.OWL-S:semantic markup for Web services[EB/OL].(2004-11-01)[2022-01-15].https://www.w3.org/ Submission/OWL-S/.
[3]De Bruijn J,Bussler C,Domingue J,et al.Web service modeling ontology(WSMO)[EB/OL].(2005-07-03).https://www.w3.org/ Submission/WSMO/.
[4]Akkiraju R,Farell J,Miller J A,et al.Web service semantics-WSDL-S[EB/OL].(2005-11-07)[2022-01-15].https://www.w3.org/Submission/ 2005/SUBM-WSDL-S-20051107/.
[5]Ponce V,Abdulrazak B.Intention as a context:an activity intention model for adaptable development of applications in the Internet of Things[J].IEEE Access,2021,9:151167-151185.
[6]Perrey R,Lycett M.Service-oriented architecture[C]//Proc of Symposium on Applications and the Internet Workshops.Piscataway,NJ:IEEE Press,2003:116-119.
[7]Mishra S K,Sarkar A.Service-oriented architecture for Internet of Things:a semantic approach[J/OL].Journal of King Saud University-Computer and Information Sciences.(2021)[2022-01-15].https://doi.org/10.1016/ j.jksuci.2021.09.024.
[8]Irawan Y,Linarta A,Febriani A,et al.Smart home light based service oriented architecture and IoT[J].Journal of Physics:Conference Series,2021,1845(1):012070.
[9]Rolland C,Kirsch-Pinheiro M,Souveyet C.An intentional approach to service engineering[J].IEEE Trans on Services Computing,2010,3(4):292-305.
[10]Zeydan E,Turk Y.Recent advances in intent-based networking:a survey[C]//Proc of the 91st Vehicular Technology Conference.Pisca-taway,NJ:IEEE Press,2020:1-5.
[11]Aljoumaa K,Assar S,Souveyet C.Publishing intentional services using extended semantic annotation[C]//Proc of the 5th International Conference on Research Challenges in Information Science.Piscataway,NJ:IEEE Press,2011:1-9.
[12]Kopecky J,Vitvar T,Bournez C,et al.SAWSDL:semantic annotations for WSDL and XML schema[J].IEEE Internet Computing,2007,11(6):60-67.
[13]Zhang Neng,Wang Jian,Ma Yutao,et al.Web service discovery based on goal-oriented query expansion[J].The Journal of Systems and Software,2018,142:73-91.
[14]Daosabah A,Guermah H,Nassar M.PDDL planning and ontologies,a tool for automatic composition of intentional-contextual Web services[M]//Ouaissa M,Boulouard Z,Ouaissa M,et al.Computational Intelligence in Recent Communication Networks.Cham:Springer,2022:163-190.
[15]Hao Man,Cao Weihua,Wu Min,et al.An initiative service method based on fuzzy analytical hierarchy process and context intention infe-rence for drinking service robot[J].IEEE Trans on Cognitive and Developmental Systems,2018,11(2):221-233.
[16]Najar S,Pinheiro M K,Souveyet C,et al.Service discovery mechanism for an intentional pervasive information system[C]//Proc of the 19th International Conference on Web Services.Piscataway,NJ:IEEE Press,2012:520-527.
[17]Daosabah A,Guermah H,Choukri I,et al.Integrating context and intention for optimal semantic Web service composition using AI planning[C]//Proc of the 4th International Conference on Advanced Communication Technologies and Networking.Piscataway,NJ:IEEE Press,2021:1-9.
[18]Daosabah A,Guermah H,Nassar M.Dynamic composition of services:an overview of approaches led by the context and intent of the user[C]//Proc of the 4th International Conference on Big Data and Internet of Things.New York:ACM Press,2019:1-8.
[19]Wang Zhaoning,Cheng Bo,Zhang Wenkai,et al.Many-objective automatic service composition based on temporal goal decomposition[J].IEEE Trans on Network and Service Management,2021,18(3):3813-3828.
[20]Mwanje S S,Banerjee A,Goerge J,et al.Intent-driven network and service management:definitions,modeling and implementation[EB/OL].(2021-12-06)[2022-01-15].http://dx.doi.org/10.36227/techrxiv.17075450.
[21]Driss M,Moha N,Jamoussi Y,et al.A requirement-centric approach to Web service modeling,discovery,and selection[C]//Proc of International Conference on Service-Oriented Computing.Berlin:Springer,2010:258-272.
[22]Fki E,Tazi S,Drira K.Automated and flexible composition based on abstract services for a better adaptation to user intentions[J].Future Generation Computer Systems,2017,68:376-390.
[23]Khanfir E,Djmeaa R B,Amous I.Automated publish,discovery and composition of intentional Web services adaptable to both quality and context[C]//Proc of the 18th International Conference on High Performance Computing and Communications.Piscataway,NJ:IEEE Press,2016:639-646.
[24]Kaabi R S.A methodological approach for modeling and operationalizing intentional services[D].Paris:Universite of Paris Ⅰ La Sorbonne,2007.
[25]Prat N.Goal formalisation and classification for requirements enginee-ring[C]//Proc of the 7th International Conference on Research Challenges in Information Science.2013:1-12.
[26]Singh M,Baranwal G.Quality of service(QoS) in Internet of Things[C]//Proc of the 3rd International Conference on Internet of Things:Smart Innovation and Usages.Piscataway,NJ:IEEE Press,2018:1-6.
[27]高一翔.基于OWL-S的組合Web服務QoS仿真分析工具的研究與設計[D].哈爾濱:哈爾濱工業大學,2016.(Gao Yixiang.Research and design of QoS simulation analysis tool for composite Web services based on OWL-S[D].Harbin:Harbin Institute of Technology,2016.)
[28]Klusch M,Fries B,Sycara K.OWLS-MX:a hybrid semantic Web ser-vice matchmaker for OWL-S services[J].Journal of Web Semantics,2009,7(2):121-133.