?

一種基于數據服務超鏈進行情景數據集成的方法*

2014-02-28 06:16王桂玲韓燕波
電信科學 2014年2期
關鍵詞:數據服務用戶服務

王桂玲,張 峰,2,韓燕波

(1.北方工業大學云計算研究中心 北京100144;2.山東科技大學信息科學與工程學院 青島266590)

1 引言

隨著Internet的快速發展和普及以及云計算的興起,數據的采集、存儲和傳播的數量與日俱增,但這些數據往往存儲在許多不同管理域的不同數據源之中。為更有效地利用這些信息,需要從多個分布、異構和自治的數據源中集成數據。由于互聯網環境的開放性及動態變化性[1,2],數據集成面臨的環境也越來越復雜。本文所探討的數據集成與傳統數據集成不同,其集成需求無法完全預先定義,而是即時出現,稱為“情景數據集成”,根據即時出現的需求對不同來源、不同格式、不同語義、不同特點的數據源臨時進行邏輯或物理上的有機集成[3]。

以公安系統面臨的嫌疑逃犯抓捕場景為例,各級公安干警在案件偵破過程中,要分析來自不同部門的大量數據,試圖尋找有用信息。傳統的做法是通過查閱檔案或者直接通過常年積累的直覺經驗,判斷眾多事件和信息之間的關聯,從中發現有用的信息。隨著現代社會各部門信息系統的逐漸完善,公安干警逐漸可以從各類信息查詢系統、視頻監控系統等中找尋案件線索。公安干警在定位嫌疑人的過程中,受害人信息往往易于明確,但進一步提取信息的需求會隨著情景的變化而動態演化。例如,當受害人和受害地點確定,提取受害人的身份證信息后,可進一步調取此受害人的社會關系信息(如移動電話通話信息、親屬信息、QQ、微博聯系人信息、銀行卡購買記錄等通信、網絡多維度的相關信息)以及最近聯系人的車輛信息,通過對比事發現場的車牌識別歷史記錄,發現與此聯系人車牌一致。本案告破,此人正是兇手。

這個過程映射到軟件系統中,是一個對多個異構數據源進行抽取、轉換、查詢、連接、合并、比對等的數據集成問題。與傳統的數據集成不同,在此類場景中,公安干警無法事先確定提取、集成和分析哪些數據源,而只能根據當前數據集成的結果逐步明確下一步進行數據集成的需求。在這個過程中,數據的集成需求無法完全預先定義,是隨集成結果的逐步顯現而逐步明確的。用戶可以根據動態變化的需求臨時調整數據集成的過程,這是一種典型的“情景數據集成”案例。

在這個場景中,數據來源于多個不同管理域的部門。各種部門信息系統的數據訪問方式、格式、語義異構,且各部門出于數據隱私保護、系統性能等考慮,往往不希望暴露數據源的數據模式及全部的查詢訪問信息,只允許有限制的查詢訪問。人們通常采用面向服務的數據集成技術[4],首先使用服務的方式封裝對各部門數據進行查詢、訪問的功能,一方面可滿足部門對自身數據的保護等要求,另一方面,也有可能對異構的數據源提供一致的訪問方式。

之前的研究提出并實現了一種用戶主導的數據服務編程方法,面向無法預先定義、即時出現的數據集成需求,提供數據服務的基本抽象,提出基于嵌套表格和Spreadsheet結合的數據服務編程模型及環境,使不具備專業編程知識的普通用戶可以即時進行服務聚合[5,6]。以前數據服務的調用、結果的轉換以及處理操作完全依靠用戶手工進行,數據服務之間的關聯關系隱含在應用的構造邏輯中,不利于其他用戶重用。為了方便用戶建立并重用數據服務之間的關聯關系,需要提供更加有效的手段輔助用戶顯式地描述和表達各種數據服務之間隱含的關聯關系,并可向用戶動態地推薦,輔助用戶從各種看似無關的數據中建立關系、發現線索,進行臨機決策和動態集成。

為了顯式描述并使用服務之間的關系,可以借鑒Web頁面中超級鏈接(簡稱“超鏈”)的思想?!俺湣钡乃枷朐从诰W頁超級鏈接,超鏈是構成萬維網的關鍵要素,作為節點元素的一部分,卻與節點內容松散耦合,具有結構簡單、單向性、局部性[7]、松耦合、可擴展能力和容錯能力等很多優良的性質以及豐富的表達能力[8]。在Web網頁瀏覽中,用戶通過超鏈的導航,能夠自行逐步發現新的可用資源。而超鏈的作用并非僅限于網頁瀏覽,其既是面向人的,又是機器可理解的,例如在REST風格的服務中,超鏈可用于描述應用的狀態改變和轉移[9],從而有可能可靠地協調不同系統間的交互,實現完整的業務流程。受此啟發,本文將“超鏈”的思想引入服務的設計中,希望能夠通過超鏈的支持,顯式地表達并存儲數據服務之間的關聯關系,使得用戶在各種服務之間簡便、快捷地導航,并同時完成復雜的數據集成操作,從而更好地支持人的臨機決策以加速解題的過程。

在設計一個網頁時,提供到其他網頁的鏈接是事實上的標準做法。但在服務設計中,往往并不包含到其他服務或資源的鏈接,客戶端必須根據服務調用的結果,決定其下一步的行為。本文將超鏈引入數據服務模型的設計中,提出了一種具有超鏈能力的數據服務模型,用數據服務超鏈描述服務之間的前驅后繼關系,并作為建立數據服務之間有機關聯關系的核心元素。在此基礎上,探討了一種基于超鏈進行數據服務即時組合的方法,并討論了超鏈智能推薦關鍵問題,以輔助用戶利用數據服務之間關聯關系的歷史,從各種看似無關的數據中建立關系,發現線索,進行臨機決策。

最后,通過案例和實驗對所提出的組合方法及其實現機制給予了分析和評價,本文提出的基于數據服務超鏈的情景數據集成方法繼承了“超鏈”的優良性質,支持用戶在數據服務導航的過程中動態完成數據服務的組合,同時靈活支持人機決策,可以有效支持情景數據集成。

2 基于數據服務超鏈的數據服務即時組合模型

2.1 數據服務及數據服務超鏈

本文提出的數據服務是以提供數據資源的訪問為目的的軟件服務,提供了對數據資源的抽象。數據服務之間是互相關聯的,其關聯關系通過服務超鏈顯式表征。數據服務之間的關聯關系可以有多種,本文以數據服務的輸入/輸出關聯關系為例。假設一個數據服務a輸出的一部分可作為另一個數據服務b的輸入,則客戶端可通過服務超鏈從a導航到b,即從應用的一個狀態轉移到其他狀態。這里,應用的狀態是指在某個特定的時刻系統中所有變量的值。例如,“受害人信息”數據服務的輸出是該受害人的唯一身份標識ID,而“親屬關系信息”數據服務需要的輸入參數是某人的身份標識ID,進而得到該人員的親屬關系信息。兩個數據服務之間通過受害人的唯一身份標識ID建立了關聯,客戶端可以在調用“受害人信息”數據服務得到輸出結果之后,通過顯式建立的服務超鏈導航到“親屬關系信息”數據服務,從而得到受害人的親屬關系信息。下面給出幾個關鍵的定義。

定義1(數據服務)數據服務是信息系統對外發布數據資源的軟件服務,通過數據資源封裝或組合得到,實現了數據資源在給定數據模型下的統一表示。它接收一組對該數據資源進行HTTP標準請求的參數,并返回相應的結果數據集或響應。一個數據服務用URI唯一標識,通過HTTP標準的方法獲取或操作數據,對外暴露其輸入參數以及輸出的資源表述。其中,資源表述中包含了與其有單向關聯關系的數據服務超鏈及輸出的數據模式。

數據服務可表示為一個七元組(為了簡便起見,省略了對數據質量、服務質量以及其他非功能屬性的描述):ds=,其中,name是服務的名字;id為服務的全局唯一標識;desc是服務的描述;URI可以包含變量、正則表達式或XPath表達 式,如http://some.com/{victimID}/VictimInfo、http://some.com/[a-zA-Z0-9-]/relative等,這樣可以使得數據服務支持到數據源查詢操作的動態綁定,即客戶端在選擇超鏈時根據當前數據服務的表述動態決定鏈接的具體URI;method為 標 準 的HTTP方 法 (get、put、delete或post);params是數據服務的輸入參數,每個輸入參數為一個不嵌套其他元素的原子元素,params=;representation是數據服務所對應的數據源查詢操作輸出的表述,representation=。type是該操作結果表述的格式,有純文本格式、XML格式、JSON格式或嵌套表格式等;schema是數據服務輸出結果的數據模式;representation中還包含指向其他數據服務的超級鏈接links,由多個服務超鏈(見定義2)構成;output是數據服務輸出結果表述的內容字符串。

定義2(服務超鏈)一個數據服務超鏈可表示為如下六元組:link=,其中,id是該服務超鏈的全局唯一標識;desc是其具體描述;target是鏈接指向的下一個數據服務的ID,并不是下一個數據服務的URI,以避免鏈接和數據服務URI的緊耦合;服務超鏈是通過selector從數據服務輸出的資源表述representation中獲取的,selector用于從當前數據服務輸出的資源表述中選取相應的部分,以作為下一個數據服務的輸入,其值與資源表述的格式有關,若資源表述格式為XML,則selector是一個XPath表達式;generateuri用于根據selector的值(即前一個數據服務的輸出)生成下一個數據服務的超鏈,是服務超鏈對數據服務的輸入/輸出關系進行顯式描述的關鍵;protocol是服務超鏈的訪問協議,描述了其標準的HTTP方法(get、put、delete或post)及返回數據的格式;constraint是鏈接的約束,用于表達鏈接起作用的條件。

定義3(原子數據服務)原子數據服務是一類基本的數據服務,一個原子數據服務即直接包裝數據資源得到的服務,原子數據服務封裝的技術和過程不在本文的探討范圍之內,具體請參見參考文獻[6]。

定義4(復合數據服務)復合數據服務由多個原子數據服務遵照第3節的方法即時組合而成,一個復合數據服務由多個通過數據服務超鏈關聯起來的原子數據服務構成,對應多個數據源查詢操作。

定義5(數據服務空間)數據服務空間是數據服務的集合,數據服務之間可能通過服務超鏈互相關聯。在一個系統中,新加入的原子數據服務、新生成的復合數據服務均需添加到該集合中,用戶在構造應用時所使用的服務全部來自于該集合。

數據服務的描述模型如圖1所示。實線框表示元素,虛線框表示屬性。表1列出了本文場景中所涉及的數據服務。

上述數據服務模型的設計思想如下。

融合了REST服務的設計思想,顯式地使用標準HTTP方法,通過數據服務超鏈完成數據服務之間的訪問,將應用從一個狀態改變為另一個狀態。在本文提出的數據服務模型中,超鏈為什么不單獨表示,而是表示到數據服務中?這是借鑒了REST服務“超媒體作為應用狀態引擎

(hypermedia as the engine of application state,HATEOAS)”的原則[10]。當前客戶端對數據服務調用后,服務器以對資源的表述作為響應,其中包含一個或多個超級鏈接,用來描述下一個被允許的與服務器交互的集合??蛻舳送ㄟ^對這些超級鏈接的選擇,將應用從一個狀態改變為另一個狀態。服務器端不保存應用狀態,提供一系列的鏈接,狀態的轉移完全由客戶端通過鏈接的選擇驅動。借鑒這種設計思想,本文在數據服務中包含相應的服務超鏈,通過超鏈的支持,客戶端能通過超鏈的選擇驅動數據的操作與流轉。

圖1 數據服務描述模型

表1 “嫌疑犯確定”場景中涉及的數據服務

本文提出的數據服務將提供相應的描述文件,支持以聲明性的方式描述數據源的基本信息以及數據服務之間的導航機制。以嵌套關系作為數據服務的中立數據結構,為了方便數據可視化操作,將數據資源可視化為嵌套表格的形式,具體分析見參考文獻[5]。

描述模型中的數據服務超鏈可以由用戶手工創建,也可以由機器自動創建(如基于歷史記錄的方法以及信息抽取和自動匹配的方法等),只需要將相應的數據服務超鏈信息增加到數據服務的描述文件中即可。數據服務超鏈具體的各種自動建立方法不在本文的探討范圍之內。

數據服務空間提供了領域中的所有數據服務,這些數據服務之間通過數據服務超鏈互相連接,形成一個龐大的服務網絡。當數據服務空間中的數據服務達到一定規模時,將顯現一定的性質,如同通過網頁超鏈連接起來形成的Web一樣。分析數據服務空間的性質是一個有意義的工作,但不在本文的探討范圍之內。

2.2 基于數據服務超鏈的數據服務即時組合過程

本文設計的情景數據集成過程是一個復合數據服務的構造過程,通過基于數據服務超鏈的數據服務即時組合完成。其設計思想如下:用戶選擇并實例化當前數據服務后,從該數據服務的數據服務超鏈集合中選擇一個數據服務超鏈,從而實例化該服務超鏈指向的下一個數據服務。以此循環,直到用戶發現滿意的集成結果,過程終止,系統輸出一個復合數據服務。其形式化定義如下。

定義5(復合數據服務的構造過程)一個復合數據服務的構造過程可以表示為一個四元組,各變量介紹如下。

·DS={dsi|i=1,…,n}是一個有限集,由此次構造過程中產生的所有數據服務實例構成。該集合中的元素滿足:堝initDS∈DS為應用的起始數據服務實例;坌a∈DS,堝b∈DS,使得(a,b)∈links或(b,a)∈links。每個數據服務實例有確定的狀態,以dsstate表示,dsstate∈{ready,active,finished,terminated},分別表示服務實例準備運行、已啟動、已成功完成和已終止運行。已成功完成和已終止運行的數據服務返回碼為標準的HTTP請求返回碼。

·States表示復合數據服務構造和執行過程中應用狀態的集合,state∈States,是當前復合數據服務構造與運行過程中應用的狀態,體現在該復合數據服務構造和運行過程中當前已經成功執行的數據服務實例及其狀態上。

·OP是用戶操作集合,OP={selectLink,send,terminate},表示從當前數據服務返回結果的資源表述中選擇數據服務超鏈、向數據服務超鏈指向的數據服務發送HTTP請求(get、put、delete、post等標 準操作)、終止復合數據服務的構造過程。op∈OP,表示當前用戶操作。

·δ表示應用狀態的轉移。δ(dsi,op)=dsk,表示操作op作

用于數據服務實例dsi,產生了新的數據服務dsk實例。狀態的轉移體現在該復合數據服務構造和運行過程中,當前執行的數據服務實例及其狀態的改變。以上述定義為基礎,用狀態機圖對復合數據服務的構造和運行過程進行描述,如圖2所示,簡便起見,省略了異常情況下的應用狀態。復合數據服務構造和運行過程中應用的狀態集合為{Start,VictimInfoReady,RelativesReady,Contacts Ready,RelatedPersonReady,VehicleReady,MonitorVehicle Ready,GotSuspicious,End}。初始的數據服務實例為表1中數據服務“受害人信息”或“現場監測車信息”的實例。當“受害人信息”成功執行后,該數據服務實例的狀態為“finished”,而相應的應用狀態為“VictimInfoReady”,標識著當前應用已經為下一個數據服務實例準備好相應的輸入。用戶此時從其資源表述中選擇數據服務超級鏈接“/relatives”,并向其發送HTTP get請求,觸發相應的數據服務實例,應用狀態改變為“RelativesReady”。

一旦復合數據服務構造完畢,將自動生成一個新的復合數據服務并對外發布,同時生成該復合數據服務構造過程的描述文件。當用戶訪問并執行該復合數據服務時,數據服務執行引擎將根據該描述文件自動化復合數據服務的執行。

3 數據服務超鏈的即時推薦機制

為了方便數據服務關聯關系的建立和重用,除了提供有效的手段輔助用戶手工建立數據服務超鏈之外,還可以向用戶主動推薦數據服務超鏈,從而輔助用戶進行臨機決策,即時進行數據集成。

向用戶推薦數據服務超鏈的依據有兩種:基于規則或基于統計?;谝巹t的方法是領域專家需要事先制定并維護推薦規則,通過邏輯推理得知用戶可能需要的算子;基于統計的方法是根據用戶構造復合數據服務的歷史提取服務超鏈的選擇模式,并把不同模式出現的概率作為推薦服務超鏈的依據。相比于基于規則的方法,基于統計的方法無需事先制定推薦規則,可以隨著用戶構造的復合數據服務中新型數據服務超鏈的出現模式進行動態更新,當“數據服務空間”中積累起足夠多的數據服務超鏈,出現模式樣例時,可實現相對準確的推薦。因此,本文基于統計方法進行數據服務超鏈的推薦。

數據服務超鏈的推薦可以轉化為條件概率的比較問題。將從數據服務a指向b的數據服務超鏈記為a→b,其中,a為該數據服務超鏈的起點,記為aS,b為該數據服務超鏈的終點,記為bT。對數據服務a,選擇數據服務超鏈a→b的條件概率為:

圖2 可疑數據服務對應的狀態機示意

選擇數據服務超鏈a→c的條件概率為:

式(1)、式(2)相除,得:

用Count(x→y)表示數據服務空間中數據服務超鏈x→y的出現次數,則:

同理,可得:

將式(4)、式(5)代入式(3),得:

因此,為數據服務a推薦某數據服務超鏈a→b的出現概率,等比于數據服務空間的所有超鏈中a→b出現的個數。根據這個結論,在推薦超鏈時,通過統計數據服務空間中數據服務超鏈的個數對其進行排序。

此外,還可以利用復合數據服務構造的一些性質提高推薦的準確度。例如,復合數據服務的內部存在數據服務超鏈組合片斷的自相似性。例如,在圖2中,利用從“受害人信息”數據服務指向“最近聯系人信息”和“親屬信息”兩個數據服務的數據服務超鏈,分別獲得受害人的親屬信息和聯系人信息,然后通過指向“合并”數據服務的服務超鏈,發送“post/union”請求將聯系人信息和親屬信息合并。在這里,由于“/union”自身的特點,使得產生“/union”的輸入的數據服務超鏈組合片斷高度相似。

將復合數據服務內部的構造性質稱為數據服務超鏈的局部特征,而通過整個數據服務空間內部的數據服務超鏈計算得出的超鏈出現概率則體現了超鏈通用的使用方式,是數據服務超鏈的全局特征。

結合數據服務超鏈的局部特征和全局特征,用如下算法生成數據服務超鏈的推薦列表。

算法1數據服務超鏈推薦算法

輸入:當前復合數據服務,當前數據服務空間,需要推薦的服務超鏈個數k。

輸出:長度為k的數據服務超鏈推薦列表。

算法流程介紹如下。

(1)利用當前復合數據服務構造過程中已有的數據服務超鏈片段,根據上述自相似性建立的簡化推薦規則,生成數據服務超鏈的局部推薦列表,記列表中的超鏈個數為m。

(2)若m≥k,則取前k個,算法完成;若m

(3)利用整個數據服務空間的數據服務超鏈,根據式(6)的概率比值計算方法,生成超鏈的全局推薦列表,從全局推薦列表中取前(k-m)個與局部推薦列表不同的數據服務超鏈,追加至局部推薦列表的末尾,該列表即最終數據服務超鏈推薦列表。

按上面的算法結合數據服務超鏈的全局特征和局部特征,可以提高服務超鏈推薦算法的準確性。

4 案例和實驗

以第1節介紹的場景為例,說明本文提出的基于數據服務超鏈的數據服務即時組合方法能夠滿足情景數據集成的特定需求。

公安干警小王在進行此案件的分析時,首先嘗試選用“受害人信息”數據服務并發送服務調用請求,該服務返回調用結果后,小王根據自己的辦案經驗,嘗試選擇“最近聯系人信息”數據服務,并配置其輸入參數,建立起二者之間參數的數據關聯,系統根據這些信息自動建立起“受害人信息”數據服務和“最近聯系人信息”數據服務之間的數據服務超鏈。小王得到“最近聯系人信息”數據服務返回結果后,根據經驗進一步選擇“親屬信息”數據服務,系統建立起從“受害人信息”數據服務指向“親屬信息”數據服務的超鏈。此時,根據前文所述的推薦算法,系統向其推薦“post/union”、“post/intersect”等數據服務超鏈列表,小王根據自己的辦案經驗,從中選擇“post/union”數據服務超鏈,并配置相應的輸入參數。

在上述過程中,用戶每一步都可根據當前服務執行請求返回的結果或系統推薦的數據服務超鏈進行臨機決策,選擇下一步要請求調用的服務,逐步得到滿意的結果。每一步服務執行返回的結果若不滿意,用戶都可以選擇其他數據服務,重新建立數據服務超鏈。若用戶認為得到滿意結果,可終止構造過程,同時保存該應用。此時,系統將根據上述過程自動生成一個新的復合數據服務“嫌疑犯確定”,并可對外發布,從而方便其他公安干警訪問。

情景數據集成參照參考文獻[14]基于對BPEL(business process execution language,業務流程執行語言)引擎的擴展實現,圖3用時序圖描述了上述復合數據服務的構造過程。值得指出的是,基于數據服務超鏈進行數據服務即時組合具有即時性,可能在出現多次交互后才能獲得一個滿意的復合數據服務,另外,不掌握編程知識的業務用戶或最終用戶在構造復合數據服務過程中,也很少考慮路徑的優化問題。因此,即便系統并不保存用戶回退的過程,在輸出的復合數據服務中也難免會包含一些冗余和非優化的步驟。解決此問題可以從兩個方面進行:一方面,由專家或系統管理員對復合數據服務進行求精處理;另一方面,利用自動化的方法,由系統利用其他用戶的構造歷史、專家知識庫等對復合數據服務的結構進行分析求精。

為了定量驗證本文數據服務超鏈推薦算法的有效性,實驗數據集來自Yahoo!Pipes,由于其覆蓋不同的數據格式和數據來源,具有較強的代表性。從Yahoo!Pipes的應用庫中取出620個含有4 857個數據服務超鏈的應用,其中600個(含4 549個數據服務超鏈)作為樣本集(即作為支持推薦算法的數據服務空間),20個(含308個數據服務超鏈)作為測試集 (即接受數據服務超鏈推薦的對象)。Yahoo!Pipes中的應用是以專有的圖形化方式表示的,不能直接用于推薦算法中,因此利用本文的數據服務及超鏈模型對其進行轉換。

假設推薦算法給出的候選數據服務超鏈列表的大小為k,需要進行數據服務超鏈推薦的復合數據服務的個數為n,第i個復合數據服務用戶需要的數據服務超鏈在推薦列表中的排名為Ri(0≤Ri≤k,Ri=0表示不在列表中),用score(i)表示對第i個復合數據服務推薦數據服務超鏈時的評分,滿分為k,不在列表中評分為0。用式(7)計算:

推薦算法的準確性可用n個應用的評分總和與滿分(k×n)的比值衡量,如式(8)所示:

由于k是直接給用戶推薦的超鏈個數,取值不宜過大。本文取k=4,5,…,12,在樣本集上分別取200,300,…,600個復合數據服務對測試集進行推薦,對不考慮自相似與考慮自相似兩種情況進行實驗,發現k=5時能夠得到最佳的實驗結果。圖4給出了k=5的實驗結果。

圖3 復合數據服務的構造過程

圖4 k=5時數據服務超鏈推薦的準確性

從圖4中可以看出,隨著樣本集集成應用數量的增多,推薦算法的準確性不斷提升,這說明在實際應用中,隨著數據服務空間的演化,復合數據服務不斷增多,推薦算法的準確性逐步得到提升。還可以看出,考慮數據服務超鏈組合片斷的自相似性的推薦算法準確性普遍高于不考慮自相似性的情況,這說明還需要充分利用復合數據服務構造的內部性質提高推薦的準確度。

5 相關工作

本節從如下3個方面對本文提出的方法與相關工作進行比較。

(1)借鑒超鏈對服務關聯關系進行建模的方法

比較典型的工作有韓燕波等提出的服務超鏈[11]以及IBM的研究者提出的“超級服務(HyperService)”[12]。但目前這些研究主要用來描述服務之間在業務邏輯上的相關性,即服務行為約束關系,而并不完全適用于描述數據服務之間的相關性。本文提出的數據服務超鏈基于HATEOAS原則,在用來解決本文場景中的情景數據集成問題時,能夠更好地繼承超鏈所具有的結構簡單、客戶端和服務器松耦合性更好等性質。

(2)借鑒HATEOAS設計原則對服務進行組合的方法

近年來,隨著REST服務在更廣范圍內被使用,有研究者提出借鑒HATEOAS原則的服務組合方法[13~15]。這些工作的主要聚焦點在于如何擴展現有服務組合引擎,使之支持REST服務的組合,其方法主要適合于用基于HATEOAS原則的REST服務組合方法解決傳統服務組合問題。本文與這些工作的相同之處在于融合了REST風格的服務模型以及HATEOAS的設計原則,目的是更好地繼承“超鏈”的優良性質,但與這類工作不同的是,本文工作的主要貢獻不在于擴展現有服務組合引擎使之支持基于HATEOAS的REST服務組合,而是探討了一種通過超鏈導航結合超鏈的智能推薦等手段支持數據服務構造的新方法。

(3)服務之間關聯關系的即時推薦方法

Advisor M[16]基于Mashup應用構造歷史記錄進行服務推薦,根據服務之間關聯關系的使用頻率進行推薦,并結合AI規劃的方法為用戶推薦最可能生成用戶期望輸出的Mashup路徑。MARIO[17]則基于標簽進行關聯關系的推薦,生成用戶期望的流程。這些方法以生成用戶期望的整個流程為目標,比較適合于終點已知的場景;而本文方法更適合需求不確定、在每一步操作均需要人為參與進行決策的情景應用構造。

6 結束語

在開放和動態變化的互聯網及云環境下,數據集成的需求往往即時出現而無法完全預先定義,如何使用戶根據當前業務需求以一種便于重用的方式建立數據源之間的關聯關系,并支持用戶進行臨機決策,是傳統數據集成技術面臨的新挑戰?!熬W頁超鏈”作為Web導航與發現Web網頁的關鍵元素提供了啟發,本文的新思路是借鑒網頁超鏈的思想,使得用戶在數據服務導航過程的同時完成數據的即時集成。本文提出利用“數據服務超鏈”的抽象輔助用戶顯式地描述和表達各種數據服務之間隱含的關聯關系,同時融合REST服務和HATEOAS的設計思想,在數據服務中包含相應的服務超級鏈接,通過超鏈的支持,使客戶端能通過超級鏈接的選擇驅動復合數據服務的構造與運行。

本文提出基于超鏈導航的情景數據集成方法和狀態機描述,并討論了基于統計的數據服務超鏈推薦算法,幫助用戶從各種看似無關的數據中建立關系,進行臨機決策。結合案例進行了分析評價及實驗,結果表明,本文提出的方法能夠有效支持情景數據集成。進一步工作包括探討具體的數據服務超鏈的自動生成方法,進一步研究數據服務超鏈的性質(如層次性、局部性等)并給出驗證,在此基礎上研究數據服務空間的構建、演化、性質以及基于數據服務空間的智能服務超鏈推薦算法等。

1 Lv J,Ma X X,Tao X P,et al.Research and progress on internetware.Science in China(Series E),2006,36(10):1037~1080

2 Han Y B,Wang G L,Liu C,et al.Internet Computing:Theory and Practice.Beijing:Science Press,2010

3 Jhingran. Enterprise information mashups: integrating information,simply.Proceedings of the 32nd International Conference on Very Large Databases,Seoul,Korea,2006:3~4

4 Schahram D,Pichler R,Savenkov V,et al.Quality-aware service-oriented data integration:requirements,state of the art and open challenges.ACM SIGMOD Record 41,2012(1):11~19

5 Wang G L,Yang S H,Han Y B.Mashroom:end-user mashup programming using nested tables.Proceedings of the 18th International Conference on World Wide Web,WWW 2009,Madrid,Spain,April 2009:861~870

6 Han Y B,Wang G L,Ji G,et al.Situational data integration with data services and nested table.Service Oriented Computing and Applications,2013,7(2):129~150

7 Nadav E,McCurley K S.Locality,hierarchy,and bidirectionality in the web.Proceedings of Workshop on Algorithms and Models for the Web Graph,Budapest,2003

8 Luc M,Hall W.On the expressiveness of links in hypertext systems.The Computer Journal 41,1998(7):459~473

9 Thomas F R.Architectural styles and the design of networkbased software architectures.University of California,2000

10 Jim W,Parastatidis S,Robinson I.REST in Practice:Hypermedia and Systems Architecture.O'Reilly Media,Incorporated,2010

11 Yan S,Han Y,Wang J,et al.Service hyperlink for exploratory service composition.Proceedings of IEEE International Conference on e-Business Engineering,ICEBE 2007,Hong Kong,China,2007

12 Zhao C,Chun’e M,Zhang J,et al.HyperService:linking and exploring services on the web.Proceedings of 2010 IEEE International Conference on Web Services(ICWS),Miami,Florida,USA,2010

13 Rosa A,Wilde E,Bellido J.Hypermedia-driven restful service composition.Proceedings of Service-Oriented Computing,Springer Berlin Heidelberg,2011:111~120

14 Cesare P.Restful web service composition with BPEL for REST.Data & Knowledge Engineering 68,2009(9):851~866

15 Cesare P.Composing restful services with jopera.Proceedings of Software Composition,Springer Berlin Heidelberg,2009:142~159

16 Hazem E,Ivan A,Akkiraju R,et al.Mashup advisor:a recommendation tool for mashup development.Proceedings of IEEE International Conference on Web Services(ICWS’08),Beijing,China,2008:337~344

17 Anton V R,Boillet E,Feblowitz M D,et al.Wishful search:interactive composition of data mashups.Proceedings of the 17th International Conference on World Wide Web,Beijing,China,2008:775~784

猜你喜歡
數據服務用戶服務
地理空間大數據服務自然資源調查監測的方向分析
基于數據中臺的數據服務建設規范研究
服務在身邊 健康每一天
服務在身邊 健康每一天
服務在身邊 健康每一天
招行30年:從“滿意服務”到“感動服務”
如何運用稅收大數據服務供給側結構性改革
關注用戶
基于頻繁子圖挖掘的數據服務Mashup推薦
關注用戶
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合