本發明專利技術涉及一種語義Web服務組合方法,是一種針對大規模Web服務,實現按需自動服務組合的技術。該技術能夠同時考慮多種服務質量(QoS),如服務的響應時間、吞吐量、價格等,根據用戶的輸入輸出需求,自動構建語義上滿足需求的若干服務流程,并返回多種服務質量綜合最優的TopK個組合方案。此外,該技術能夠在百萬Web服務規模下,實現秒級的組合效率,從而在大幅減小程序開發者實際編程量的同時,還能夠實時適應網絡狀況和Web服務的運行狀況,始終保證用戶使用到最優組合方案。
【技術實現步驟摘要】
本專利技術涉及一種Web服務組合方法,尤其是涉及。
技術介紹
隨著云計算技術的不斷發展,互聯網上各類Web服務的數量飛速增長。然而,單個Web服務提供的功能極其有限,大多數應用都難以通過單一 Web服務予以實現,往往需要把若干個Web服務組合起來,共同滿足應用需求。其次,面向服務的軟件開發方法逐漸被全球的開發者所接受,而服務質量動態變化、用戶需求個性化、多樣化,如何實時抽取服務質量最好的若干服務,并能按照用戶需求自動組合出可執行的服務流程方案,也將成為未來軟件業發展的巨大機遇和挑戰。另外,Web服務的分布式特性與傳統的組件系統不同,服務本身處于分布式的環境中,面對不斷涌現出來的服務,以專家靜態規定服務組合的方式是遠遠不夠的,如何高效、正確、智能的將現有的服務組合成新的服務成為現在國內外的研究熱點。目前,Web服務組合方法主要包括以下幾種(I)基于工作流的方法。工作流可被用作分布活動的協調執行引擎或服務組合方案的描述方式,其中以BPEL,WSFL等工作流建模語言最為常見。但是,該方法主要以人工編輯為主,不能實現自動服務組合。(2)基于人工智能(Al)規劃的方法。該方法借鑒了 Al中的形式化方法和邏輯推理,但它時間復雜度高,無法適應問題規模較大情況下的服務組合。(3)基于圖搜索的方法。該方法將服務按照概念輸入集合和概念輸出集合構建成服務依賴圖(SDG)。將服務組合算法轉換成從有向圖中查找最優路徑的問題。該方法效率較高,但僅考慮了概念語義,而未考慮QoS。(4)基于信息檢索的方法。該方法以SQL查詢來實現服務組合,避免了傳統服務組合算法極占內存的缺點,適用于更大規模服務集合的組合計算。但由于其對服務抽象度要求過高,限制了實際應用價值;另外,對于多QoS、語義關系復雜的情況下,該方法效率會大幅下降。(5)單一 QoS的圖搜索方法。此類方法中服務的選擇策略存在多種形式,包括局部最優、全局最優、混合最優等,算法的實現多基于貪心算法、動態規劃算法、遺傳算法等智能算法。通過服務接口方式及根據QoS啟發式規則對子圖進行裁剪來生成最優組合方案。但存在以下不足以單一 QoS屬性概括服務的所有非功能性特性;只返回一個符合自定義規則的最佳搜索結果;只能選擇某一個服務進行配置;動態QoS適應性較差。
技術實現思路
本專利技術的上述技術問題主要是通過下述技術方案得以解決的,其特征在于,包括以下步驟步驟I. Top K服務中正向概念擴展階段根據用戶需求,在服務的功能性要求滿足的情況下,依次從服務的非功能目標形成的Skyline中選擇備選服務進行概念擴展;概念擴展過程將測試比較當前狀態至目標概念的距離及相似度,對擴展的各個狀態進行取舍,從而構建多條從Cl到CO的概念擴展鏈,即多套服務調用備選方案;其中,概念擴展鏈中每條鏈由概念與提供此概念的服務組成;步驟2. Top K服務中反向方案擇優階段由于步驟I中生成的概念擴展鏈一般包含一簇服務組合方案,為把其中的單個組合方案分離出來,并選取其中最優的幾套方案返回,則需要將概念擴展鏈轉換成基于與或樹的服務組合方案描述模型,將組合方案生成過程轉換為二叉樹的遍歷問題,其中,左節點表示服務前置條件,而右節點表示某前置條件可滿足的服務;同時,對所有服務組合方案進行擇優,生成全局QoS最優的K個組合方案;步驟3.采用基于紙帶模型的Skyline算法優化基于多維QoS的Top K服務組合方法按照設定的規則對步驟2中產生的服務組合方案進行智能裁剪,生成最簡服務組合 方案樹,在服務擇取過程中,采用基于紙帶模型的Skyline算法克服傳統Skyline空間中存在的數據點頻繁更新造成的性能瓶頸,同時大幅提高獲得TopK方案的計算效率。在上述的,所述步驟I的具體實現方法包括以下子步驟第一步,采用六種非功能服務特征組成六維向量來構造服務QoS模型;分別為服務響應時間Qrt,服務吞吐量Qtp,服務可靠性Qr,服務信譽度Qcd,服務價格Qc,服務安全性Qs,對QoS各個屬性進行規范化處理,將各屬性值歸一化至統一區間;第二步,定義擴展狀態如下某時刻擴展得到的所有概念及到它們所消耗QoS信息組成的中間狀態,其中結束狀態為包含CO的擴展狀態;第三步,對用戶需求UR進行判斷,計算從Cl到CO是否有可用概念擴展路線可達,若沒有,則直接返回給用戶;第四步,對概念關系圖進行遍歷,在滿足功能要求的前提下,根據服務的非功能特征形成每個概念關系圖的最優備選服務集合Skyline ;Skyline定義為,對于數據集合中某一點P,若在同樣數據集合中不存在任何點能夠支配P,即不存在一個點在所有維度上的值都小于或等于P在同維度上的值,則稱P點為此數據集合的Skyline點;第五步,遍歷Skyline,克隆概念圖,并選取每個Skyline點作為擴展方向,沿擴展方向進行概念擴展,每個克隆的概念繼承父狀態的Skyline,各種概念之間可以通過服務組合算法生成一條概念之間轉換的鏈表,鏈表中的每一項即為某一服務的調用,算法據此當前狀態到用戶需求CO之間的最小QoS花費判斷各個狀態至目標的距離,概念關系圖得到概念直接距離矩陣,矩陣中每一數據項表示概念直接調用某一服務進行轉換所需的QoS值,利用Floyd加權圖求定點最短路徑算法對概念直接距離矩陣進行處理,最終得到概念之間通過服務組合進行轉換所需的最小QoS值,概念擴展過程中實時比較當前狀態至終點的概念距離及相似度;第六步,具體的概念擴展和備選服務的加入,首先求出備選服務的前置條件消耗的QoS與此備選服務自身消耗的QoS之和,并將其保存于服務對象中,然后得到加入此備選服務后新增的概念,即此服務的輸出概念集合,亦即概念的擴展;進而將概念及提供此概念的服務保存于概念服務鏈中,并更新skyline ;第七步,對擴展后的狀態進行實時去重操作,去除重復多余的狀態;第八步,當生成的狀態數目大于K時拋棄離目標過遠的狀態,概念擴展過程比較當前狀態至終點的概念距離及相似度,比較各狀態距離,依據所需概念擴展鏈個數K并依據保留距離小的,舍棄距離大的的原則進行擴展。在上述的,所述步驟2的具體實現方法包括以下子步驟第一步,方案樹左節點的生成,由于服務調用時所需的概念集合在服務概念擴展鏈中一般有多種提供方式,因此所提供方式采用笛卡爾積進行,并當可提供方式過多時對所有可提供的方式進行排序取Top-K個,然后依次作為生成的左節點;第二步,方案樹右節點的生成,從擴展鏈中提取提供服務的集合及集合中每個服務所提供概念,以此構建右節點;第三步,遞歸調用構建方案樹,調用上兩步算法產生某一節點的左右節點,將其按照方案樹的特性進行組織,按照基于“與或樹”的方案樹的特點,某一服務的所有條件以父 子鏈表的關系進行組織,后一提供方式為前一提供方式的左孩子,算法稱此為左孩子鏈,某一條件的提供者也以父子的關系進行組織,稱為右孩子鏈,算法產生某個右節點所有的左節點,遍歷生成的左節點,生成每個左節點所需服務,即所有右節點然后遍歷生成的這些右節點,然后將正向概念擴展階段的所有概念擴展鏈全部轉換成方案樹;第四步,遍歷服務組合方案樹生成各個服務組合方案子樹,其規則如下服務組合方案樹根節點為服務組合方案子樹的根節點;當服務組合方案樹中一個左節點在服務組合方案子樹中時,該左節點的本文檔來自技高網...
【技術保護點】
一種語義Web服務組合方法,其特征在于,包括以下步驟:步驟1.?Top?K?服務中正向概念擴展階段:根據用戶需求,在服務的功能性要求滿足的情況下,依次從服務的非功能目標形成的Skyline中選擇備選服務進行概念擴展;概念擴展過程將測試比較當前狀態至目標概念的距離及相似度,對擴展的各個狀態進行取舍,從而構建多條從CI到CO的概念擴展鏈,即多套服務調用備選方案;其中,概念擴展鏈中每條鏈由概念與提供此概念的服務組成;步驟2.?Top?K?服務中反向方案擇優階段:由于步驟1中生成的概念擴展鏈一般包含一簇服務組合方案,為把其中的單個組合方案分離出來,并選取其中最優的幾套方案返回,?則需要將概念擴展鏈轉換成基于與或樹的服務組合方案描述模型,將組合方案生成過程轉換為二叉樹的遍歷問題,其中,左節點表示服務前置條件,而右節點表示某前置條件可滿足的服務;同時,對所有服務組合方案進行擇優,生成全局QoS最優的K個組合方案;步驟3.采用基于紙帶模型的Skyline算法優化基于多維QoS的Top?K服務組合方法:按照設定的規則對步驟2中產生的服務組合方案進行智能裁剪,生成最簡服務組合方案樹,在服務擇取過程中,采用基于紙帶模型的Skyline算法克服傳統Skyline空間中存在的數據點頻繁更新造成的性能瓶頸,同時大幅提高獲得TopK方案的計算效率。...
【技術特征摘要】
【專利技術屬性】
技術研發人員:曾承,丁偉,胡揚,曹德強,
申請(專利權)人:武漢大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。