一種基于關(guān)系圖的解決Web服務(wù)組合異常問題的最優(yōu)補(bǔ)償方法
【專利摘要】本發(fā)明屬于分布式的Web服務(wù)組合領(lǐng)域,具體涉及一種基于關(guān)系圖的解決Web服務(wù)組合異常問題的最優(yōu)補(bǔ)償方法。本發(fā)明包括:選取QoS指標(biāo)作為衡量Web服務(wù)消耗代價大小的標(biāo)準(zhǔn);使用遺傳算法搜索具有相反功能的Web服務(wù)或組合;選取遺傳算法的初始集群,使用選擇、交叉、變異操作,最終獲得代價最小的Web服務(wù)或者組合;將使用遺傳算法獲取的最優(yōu)的Web服務(wù)或組合;分析業(yè)務(wù)流程中各個Web服務(wù)之間的邏輯控制關(guān)系用關(guān)系圖表述出來;根據(jù)關(guān)系圖;對于需要補(bǔ)償?shù)腤eb服務(wù),直接調(diào)用與其綁定的補(bǔ)償服務(wù)。本發(fā)明可以在消耗代價最小的情況下,處理異常,使業(yè)務(wù)流程恢復(fù)到一致狀態(tài),保證其一致性。
【專利說明】—種基于關(guān)系圖的解決Web服務(wù)組合異常問題的最優(yōu)補(bǔ)償方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于分布式的Web服務(wù)組合領(lǐng)域,具體涉及一種基于關(guān)系圖的解決Web服務(wù)組合異常問題的最優(yōu)補(bǔ)償方法。
【背景技術(shù)】
[0002]當(dāng)前,隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,基于網(wǎng)絡(luò)的分布式計算模型得到了廣泛的應(yīng)用,不同的用戶選擇不同的分布式技術(shù)來構(gòu)建自己的分布式平臺,隨著用戶需求的復(fù)雜化,功能單一的服務(wù)已然無法達(dá)到用戶要求,這就需要跨平臺的協(xié)同合作。
[0003]Service-Oriented Architecture,簡稱S0A,即面向服務(wù)的體系結(jié)構(gòu)的出現(xiàn)正好可以是解決上述問題的方法。將軟件作為服務(wù),并且協(xié)調(diào)這些軟件服務(wù)之間的關(guān)系來完成更復(fù)雜的業(yè)務(wù)功能就是SOA的核心思想。
[0004]其中,SOA的主要實現(xiàn)方式和構(gòu)成要素就是Web服務(wù),Web服務(wù)是一個相互之間獨(dú)立存在的,耦合松散的,自包含特性的服務(wù),是基于可編程的應(yīng)用程序,可通過使用具有分布特性的XML文件的標(biāo)準(zhǔn)來表述和發(fā)布并且可以發(fā)現(xiàn),調(diào)控以及配置Web服務(wù),實現(xiàn)分布式平臺下的彼此之間可以相互調(diào)用執(zhí)行的應(yīng)用程序的開發(fā)。如何將這些Web服務(wù)組合到一起,達(dá)到用戶的要求,成為了研究的重中之重。因此人們提出了 Web服務(wù)組合這個概念。Web服務(wù)組合的概念可以理解為將網(wǎng)絡(luò)上獲取得相對功能單一,容易理解并且可靠性高的Web服務(wù)使用某種機(jī)制組合起來從而成為一種具有新的功能服務(wù)的技術(shù)。由上面提到的Web服務(wù)的特性可以知道,將這些彼此相對獨(dú)立的Web服務(wù)組合到一起,必然會導(dǎo)致各種異常的出現(xiàn)。因為組合構(gòu)成Web服務(wù)組合的Web服務(wù)是彼此之間毫無關(guān)系的,Web服務(wù)可能都是由不同生產(chǎn)者生產(chǎn),進(jìn)而導(dǎo)致Web服務(wù)彼此結(jié)構(gòu)各異,將這些彼此異構(gòu)的服務(wù)組合在一起,必將造成組合的耦合程度松散。由于網(wǎng)絡(luò)存在各種不確定性,在Web服務(wù)組合中,構(gòu)成組合的成員是動態(tài)隨機(jī)選取而組合在一起的,以上種種原因都將導(dǎo)致在使用Web服務(wù)組合來達(dá)到用戶要求的過程中,出現(xiàn)異常問題的概率極高。采用何種手段來保證業(yè)務(wù)流程中的一致性,如何解決執(zhí)行過程中的異常狀況至關(guān)重要。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提供一種保證業(yè)務(wù)流程一致性的基于關(guān)系圖的解決Web服務(wù)組合異常問題的最優(yōu)補(bǔ)償方法。
[0006]本發(fā)明的目的是這樣實現(xiàn)的:
[0007](I)分析Web服務(wù)組合中包含的Web服務(wù),即業(yè)務(wù)流程執(zhí)行中需要調(diào)用的各個Web服務(wù);
[0008](2)選取QoS指標(biāo)作為衡量Web服務(wù)消耗代價大小的標(biāo)準(zhǔn);
[0009](3) 了解Web服務(wù)組合中各個Web服務(wù)的功能,使用遺傳算法搜索具有相反功能的Web服務(wù)或組合;
[0010](4)選取遺傳算法的初始集群,使用選擇、交叉、變異操作,最終獲得代價最小的Web服務(wù)或者組合,其功能與原來業(yè)務(wù)流程中的Web服務(wù)功能是相反的,即是原來Web服務(wù)的逆操作;
[0011](5)將使用遺傳算法獲取的最優(yōu)的Web服務(wù)或組合,作為補(bǔ)償服務(wù)綁定到各自相應(yīng)的Web服務(wù)上;
[0012](6)分析業(yè)務(wù)流程中各個Web服務(wù)之間的邏輯控制關(guān)系,以及它們之間的補(bǔ)償依賴關(guān)系,利用圖的特性,將這些關(guān)系用關(guān)系圖表述出來;
[0013](7)當(dāng)業(yè)務(wù)流程執(zhí)行過程中出現(xiàn)異常時,便可根據(jù)關(guān)系圖,了解哪些服務(wù)需要補(bǔ)償;
[0014](8)對于需要補(bǔ)償?shù)腤eb服務(wù),直接調(diào)用與其綁定的補(bǔ)償服務(wù),取消其對業(yè)務(wù)流程的影響,恢復(fù)一致性;
[0015](9)結(jié)束。
[0016]步驟(4)中,每個參與在業(yè)務(wù)流程中的Web服務(wù)選取補(bǔ)償服務(wù)為:
[0017](4.1)選取初始集群,作為遺傳算法的起始;
[0018](4.2)判斷該初始集群是否收斂,若收斂,執(zhí)行(4.9);否則,執(zhí)行(4.3);
[0019](4.3)執(zhí)行選擇算子,使用輪盤賭的選擇方法;
[0020](4.4)判斷其概率范圍是否小于交叉概率。若小于,則執(zhí)行(4.5);否則,執(zhí)行(4.6);
[0021](4.5)執(zhí)行交叉算子,將原有的兩個個體進(jìn)行替換重新組合,最后獲得不同于這兩個個體的新個體;
[0022](4.6)判斷概率范圍是否小于變異概率。若小于,則執(zhí)行(4.7);否則,執(zhí)行(4.8);
[0023](4.7)執(zhí)行變異算子,隨機(jī)的更改群體中的某些個體的某些基因座上原有的基因值;
[0024](4.8)判斷是否收斂。若收斂,執(zhí)行(4.9);否則,執(zhí)行(4.3)
[0025](4.9)輸出結(jié)果,結(jié)束。
[0026]本發(fā)明的有益效果在于:本發(fā)明通過關(guān)系圖的方式將整個業(yè)務(wù)流程的邏輯關(guān)系表示出來,并且描述各個服務(wù)之間的補(bǔ)償依賴關(guān)系,這樣就可以直觀的看到各個服務(wù)之間的關(guān)系,當(dāng)異常出現(xiàn)時,便可根據(jù)這個關(guān)系圖,對各個與異常服務(wù)相關(guān)的服務(wù)進(jìn)行補(bǔ)償。根據(jù)以上方法便可以在消耗代價最小的情況下,處理異常,使業(yè)務(wù)流程恢復(fù)到一致狀態(tài),保證其一致性。
【專利附圖】
【附圖說明】
[0027]圖1本發(fā)明針對的示例圖;
[0028]圖2本發(fā)明針對的流程圖;
[0029]圖3本發(fā)明中的遺傳算法圖;
[0030]圖4本發(fā)明的關(guān)系圖構(gòu)造圖;
[0031 ] 圖5本發(fā)明的補(bǔ)償依賴關(guān)系圖。
【具體實施方式】
[0032]下面結(jié)合附圖和【具體實施方式】對本發(fā)明做進(jìn)一步說明。
[0033]基于以上問題,本發(fā)明提出一種基于關(guān)系圖的解決Web服務(wù)組合異常問題的最優(yōu)補(bǔ)償方法。從事務(wù)補(bǔ)償?shù)慕嵌瘸霭l(fā),將運(yùn)行較長時間的Web服務(wù)劃分成一系列短事務(wù),適當(dāng)放寬事務(wù)屬性;用QoS指標(biāo)作為衡量代價標(biāo)準(zhǔn),通過使用遺傳算法,為Web服務(wù)組合中的每個服務(wù)選取一個代價最小的補(bǔ)償服務(wù),并與之綁定;將業(yè)務(wù)流程中的各個Web服務(wù)之間的邏輯關(guān)系以及它們的補(bǔ)償依賴關(guān)系用關(guān)系圖表示出來,這樣當(dāng)異常出現(xiàn)時,直接根據(jù)關(guān)系圖,找到需要補(bǔ)償?shù)姆?wù),調(diào)用與之綁定的補(bǔ)償服務(wù)即可實現(xiàn)對異常的處理,保證業(yè)務(wù)流程的一致性。
[0034]本發(fā)明提供的一種基于關(guān)系圖的解決Web服務(wù)組合異常問題的最優(yōu)補(bǔ)償方法,其步驟包括:
[0035](I)分析Web服務(wù)組合中包含的Web服務(wù),即業(yè)務(wù)流程執(zhí)行中需要調(diào)用的各個Web服務(wù);
[0036](2)選取QoS指標(biāo)作為衡量Web服務(wù)消耗代價大小的標(biāo)準(zhǔn);
[0037](3) 了解Web服務(wù)組合中各個Web服務(wù)的功能,使用遺傳算法搜索具有相反功能的Web服務(wù)或組合;
[0038](4)選取遺傳算法的初始集群,使用選擇、交叉、變異操作,最終獲得代價最小的Web服務(wù)或者組合,其功能與原來業(yè)務(wù)流程中的Web服務(wù)功能是相反的,即是原來Web服務(wù)的逆操作;
[0039](5)將使用遺傳算法獲取的最優(yōu)的Web服務(wù)或組合,作為補(bǔ)償服務(wù)綁定到各自相應(yīng)的Web服務(wù)上;
[0040](6)分析業(yè)務(wù)流程中各個Web服務(wù)之間的邏輯控制關(guān)系,以及它們之間的補(bǔ)償依賴關(guān)系,利用圖的特性,將這些關(guān)系用關(guān)系圖表述出來;
[0041](7)當(dāng)業(yè)務(wù)流程執(zhí)行過程中出現(xiàn)異常時,便可根據(jù)關(guān)系圖了解哪些服務(wù)需要補(bǔ)償;
[0042](8)對于炫耀補(bǔ)償?shù)腤eb服務(wù),直接調(diào)用與其綁定的補(bǔ)償服務(wù),取消其對業(yè)務(wù)流程的影響,恢復(fù)一致性;
[0043](9)結(jié)束。
[0044]本發(fā)明提供的一種基于關(guān)系圖的解決Web服務(wù)組合異常問題的最優(yōu)補(bǔ)償方法,其特征為:
[0045]通過分析業(yè)務(wù)流程中的Web服務(wù)的功能,以QoS作為衡量代價的標(biāo)準(zhǔn),使用遺傳算法,為Web服務(wù)組合中的每個服務(wù)選取一個代價最小的補(bǔ)償服務(wù),這個補(bǔ)償服務(wù)可能是單個服務(wù),也可能是一組服務(wù)的組合。補(bǔ)償服務(wù)的功能是與原業(yè)務(wù)流程中的Web服務(wù)功能相反的服務(wù),即原服務(wù)的逆操作。將選取的補(bǔ)償服務(wù)與原Web服務(wù)組合中與之對應(yīng)的服務(wù)綁定在一起。分析業(yè)務(wù)流程中各個服務(wù)之間的邏輯關(guān)系及補(bǔ)償依賴關(guān)系用關(guān)系圖表示出來。當(dāng)異常出現(xiàn)時,即可根據(jù)關(guān)系圖,了解哪些服務(wù)需要被補(bǔ)償。對于需要被補(bǔ)償?shù)姆?wù),直接調(diào)用先前與之綁定好的補(bǔ)償服務(wù)即可。這樣便可對業(yè)務(wù)流程中出現(xiàn)的異常進(jìn)行有效的補(bǔ)償,恢復(fù)其一致性。
[0046]本發(fā)明通過最優(yōu)補(bǔ)償來解決Web服務(wù)組合中的異常問題的方法。該方法從業(yè)務(wù)流程的角度來描述Web服務(wù)組合的工作過程,針對在業(yè)務(wù)流程中的Web服務(wù)執(zhí)行先后順序已經(jīng)確定的情況下,從QoS的角度,選取QoS指標(biāo),使用遺傳算法,迭代優(yōu)化,最終搜索得到各個指標(biāo)綜合起來代價最小的補(bǔ)償服務(wù),并將之綁定在業(yè)務(wù)流程中的Web服務(wù)上。這樣,當(dāng)業(yè)務(wù)流程中的Web服務(wù)出現(xiàn)異常時,便可直接調(diào)用綁定的補(bǔ)償服務(wù),取消異常服務(wù)對業(yè)務(wù)流程的影響。通過關(guān)系圖的方式將整個業(yè)務(wù)流程的邏輯關(guān)系表示出來,并且描述各個服務(wù)之間的補(bǔ)償依賴關(guān)系,這樣就可以直觀的看到各個服務(wù)之間的關(guān)系,當(dāng)異常出現(xiàn)時,便可根據(jù)這個關(guān)系圖,對各個與異常服務(wù)相關(guān)的服務(wù)進(jìn)行補(bǔ)償。
[0047]本發(fā)明是針對在業(yè)務(wù)流程中的Web服務(wù)執(zhí)行先后順序已經(jīng)確定的情況下進(jìn)行的。圖1為本發(fā)明使用的一個實例。通過分析旅客出游的實例,說明本發(fā)明的工作步驟:
[0048](I) 了解各個Web服務(wù)的功能,以及它們之間的邏輯關(guān)系和補(bǔ)償以來關(guān)系。
[0049](2)選取QoS指標(biāo)作為衡量代價的標(biāo)準(zhǔn),并使用權(quán)值將各個指標(biāo)綜合起來最為最終的代價;
[0050](3)分析業(yè)務(wù)流程中的各個Web服務(wù),了解它們各自的功能,使用遺傳算法,通過迭代優(yōu)化,最終選取代價最低的服務(wù)或服務(wù)組合,這些服務(wù)或組合是與原業(yè)務(wù)流程中的服務(wù)相互一一對應(yīng)的,功能是相反的,即互逆的。具體流程見圖3所示。
[0051](4)分析業(yè)務(wù)流程中各個Web服務(wù)相互之間的邏輯關(guān)系,以及它們之間的補(bǔ)償依賴關(guān)系,使用關(guān)系圖表不出來,見圖4,圖5所不,其中圖5是對圖4的擴(kuò)展,添加了不相鄰Web服務(wù)之間的補(bǔ)償依賴關(guān)系。
[0052]當(dāng)業(yè)務(wù)流程出現(xiàn)異常時,直接根據(jù)關(guān)系圖,判斷哪些服務(wù)需要被補(bǔ)償。對于需要被補(bǔ)償?shù)姆?wù),即可調(diào)用先前與之綁定好的補(bǔ)償服務(wù),來取消其對業(yè)務(wù)流程的影響,解決異常問題,恢復(fù)業(yè)務(wù)流程的一致性。
【權(quán)利要求】
1.一種基于關(guān)系圖的解決Web服務(wù)組合異常問題的最優(yōu)補(bǔ)償方法,其特征在于: (1)分析Web服務(wù)組合中包含的Web服務(wù),即業(yè)務(wù)流程執(zhí)行中需要調(diào)用的各個Web服務(wù); (2)選取QoS指標(biāo)作為衡量Web服務(wù)消耗代價大小的標(biāo)準(zhǔn); (3)了解Web服務(wù)組合中各個Web服務(wù)的功能,使用遺傳算法搜索具有相反功能的Web服務(wù)或組合; (4)選取遺傳算法的初始集群,使用選擇、交叉、變異操作,最終獲得代價最小的Web服務(wù)或者組合,其功能與原來業(yè)務(wù)流程中的Web服務(wù)功能是相反的,即是原來Web服務(wù)的逆操作; (5)將使用遺傳算法獲取的最優(yōu)的Web服務(wù)或組合,作為補(bǔ)償服務(wù)綁定到各自相應(yīng)的Web服務(wù)上; (6)分析業(yè)務(wù)流程中各個Web服務(wù)之間的邏輯控制關(guān)系,以及它們之間的補(bǔ)償依賴關(guān)系,利用圖的特性,將這些關(guān)系用關(guān)系圖表述出來; (7)當(dāng)業(yè)務(wù)流程執(zhí)行過程中出現(xiàn)異常時,便可根據(jù)關(guān)系圖,了解哪些服務(wù)需要補(bǔ)償; (8)對于需要補(bǔ)償?shù)腤eb服務(wù),直接調(diào)用與其綁定的補(bǔ)償服務(wù),取消其對業(yè)務(wù)流程的影響,恢復(fù)一致性; (9)結(jié)束。
2.根據(jù)權(quán)利要求1所述的一種基于關(guān)系圖的解決Web服務(wù)組合異常問題的最優(yōu)補(bǔ)償方法,其特征在于:所述步驟(4)中,每個參與在業(yè)務(wù)流程中的Web服務(wù)選取補(bǔ)償服務(wù)為: (4.1)選取初始集群,作為遺傳算法的起始; (4.2)判斷該初始集群是否收斂,若收斂,執(zhí)行(4.9);否則,執(zhí)行(4.3); (4.3)執(zhí)行選擇算子,使用輪盤賭的選擇方法; (4.4)判斷其概率范圍是否小于交叉概率。若小于,則執(zhí)行(4.5);否則,執(zhí)行(4.6);(4.5)執(zhí)行交叉算子,將原有的兩個個體進(jìn)行替換重新組合,最后獲得不同于這兩個個體的新個體; (4.6)判斷概率范圍是否小于變異概率。若小于,則執(zhí)行(4.7);否則,執(zhí)行(4.8); (4.7)執(zhí)行變異算子,隨機(jī)的更改群體中的某些個體的某些基因座上原有的基因值; (4.8)判斷是否收斂。若收斂,執(zhí)行(4.9);否則,執(zhí)行(4.3) (4.9)輸出結(jié)果,結(jié)束。
【文檔編號】H04L29/08GK104168330SQ201410431728
【公開日】2014年11月26日 申請日期:2014年8月28日 優(yōu)先權(quán)日:2014年8月28日
【發(fā)明者】張萬松, 陳沖, 徐悅竹, 印桂生 申請人:哈爾濱工程大學(xué)