亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一個(gè)基于后備服務(wù)的高可靠工作流開發(fā)模型

        2013-08-07 11:32:20威,徐
        關(guān)鍵詞:后備子系統(tǒng)可靠性

        陳 威,徐 鋒

        CHEN Wei1,2,XU Feng1,2

        1.南京大學(xué) 軟件新技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,南京 210046

        2.南京大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)系,南京 210046

        ◎理論研究、研發(fā)設(shè)計(jì)◎

        一個(gè)基于后備服務(wù)的高可靠工作流開發(fā)模型

        陳 威1,2,徐 鋒1,2

        CHEN Wei1,2,XU Feng1,2

        1.南京大學(xué) 軟件新技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,南京 210046

        2.南京大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)系,南京 210046

        隨著互聯(lián)網(wǎng)的發(fā)展,面向Web服務(wù)的工作流技術(shù)逐漸興起。然而在開放多變的網(wǎng)絡(luò)環(huán)境中,組成工作流的網(wǎng)絡(luò)服務(wù)的可靠性變化,網(wǎng)絡(luò)連接的可靠性變化,都對(duì)工作流的可靠執(zhí)行帶來挑戰(zhàn)。目前工作流可靠性研究較多地關(guān)注如何選取并確定一條最可靠的工作流路徑,以及如何選取可靠性較高的服務(wù)來組成工作流,這些方法較難應(yīng)對(duì)網(wǎng)絡(luò)環(huán)境的多變以及服務(wù)本身可靠性的變化。隨著Web服務(wù)的廣泛普及,網(wǎng)絡(luò)中涌現(xiàn)出大量的等價(jià)服務(wù),利用等價(jià)服務(wù)作為后備服務(wù)來達(dá)到構(gòu)建更可靠的工作流的目的?;诖讼敕ǎo出了一個(gè)高可靠工作流的開發(fā)模型,包括基于后備服務(wù)的工作流描述機(jī)制,以及工作流可靠性評(píng)估機(jī)制;最后,給出相應(yīng)的工作流腳本轉(zhuǎn)換工具實(shí)現(xiàn),可將其轉(zhuǎn)換成標(biāo)準(zhǔn)的BPEL腳本并運(yùn)行。

        工作流可靠性;Web服務(wù);等價(jià)服務(wù)

        1 引言

        工作流是一類能夠完全或者部分自動(dòng)執(zhí)行的業(yè)務(wù)過程,文檔、信息或任務(wù)根據(jù)一定的程序規(guī)則在不同的參與者之間進(jìn)行傳遞與執(zhí)行[1]。作為企業(yè)經(jīng)營過程重組與過程自動(dòng)化的一種手段,工作流技術(shù)著眼于協(xié)調(diào)企業(yè)資源,自動(dòng)化企業(yè)業(yè)務(wù)流程,高效完成企業(yè)業(yè)務(wù)目標(biāo)。在過去的數(shù)年時(shí)間里,隨著Web服務(wù)領(lǐng)域中新的技術(shù)和工業(yè)標(biāo)準(zhǔn)的出現(xiàn),互聯(lián)網(wǎng)已經(jīng)從單純的交流媒介快速發(fā)展成了一個(gè)B2B集成的平臺(tái),企業(yè)集中式的信息處理已經(jīng)無法應(yīng)對(duì)跨組織、大規(guī)模、復(fù)雜動(dòng)態(tài)的業(yè)務(wù)需求。在這種情況下,面向Web服務(wù)的工作流技術(shù)逐漸興起,它給企業(yè)提供了一個(gè)很好的解決方案,使得分散的參與者能夠透明地應(yīng)用分布異構(gòu)的資源進(jìn)行更快、更便捷的合作。

        然而,面對(duì)開放、動(dòng)態(tài)的網(wǎng)絡(luò)環(huán)境,構(gòu)造和保障工作流的可靠執(zhí)行面臨巨大挑戰(zhàn)。 目前的研究工作主要側(cè)重以下兩個(gè)方面 :如何選取并確定一條可靠最優(yōu)的工作流路徑[2-3];如何選擇參與流程的每個(gè)具體的服務(wù),尋找提高服務(wù)質(zhì)量、可靠性的方法[4-9]。然而,只關(guān)注以上兩點(diǎn)還不能保證滿足用戶建立可靠工作流的需求,Web服務(wù)所處的環(huán)境是一個(gè)動(dòng)態(tài)的網(wǎng)絡(luò)環(huán)境,很多服務(wù)可能經(jīng)常發(fā)生變化,服務(wù)構(gòu)建、服務(wù)組合、服務(wù)綁定和服務(wù)實(shí)際運(yùn)行中都有可能出現(xiàn)失敗的情況[10]。因此,即使已經(jīng)建立了可靠的流程,流程中涉及服務(wù)的可靠性變化還會(huì)使整個(gè)流程可靠性降低甚至無法順利運(yùn)行。

        開放的網(wǎng)絡(luò)環(huán)境是挑戰(zhàn),同是也帶來了機(jī)遇。隨著Web服務(wù)的發(fā)展,往往會(huì)出現(xiàn)多個(gè)具有相似功能,能完成相同任務(wù)的服務(wù),如果把這些服務(wù)引入到工作流中,可以通過一定的方法增強(qiáng)工作流的可靠性,而之前的工作很少有這方面的研究。本文試圖設(shè)計(jì)一個(gè)具有高可靠性的工作流的開發(fā)模型,充分利用能夠完成相同任務(wù)的等價(jià)服務(wù)作為后備服務(wù),自動(dòng)頂替運(yùn)行失敗的服務(wù),以此來提高流程的可靠性。該模型將提供一種對(duì)加入了后備服務(wù)的工作流的描述方法,以及針對(duì)工作流可靠性的評(píng)估方法。

        2 相關(guān)工作

        在過去的數(shù)十年里,針對(duì)提高工作流可靠性的研究已經(jīng)提出了不少方法和技術(shù)。隨著網(wǎng)絡(luò)服務(wù)的發(fā)展,也出現(xiàn)了針對(duì)基于Web服務(wù)的工作流可靠性的研究,然而現(xiàn)有的方法和技術(shù)仍存在著局限性。以往的基于網(wǎng)絡(luò)服務(wù)的高可靠性工作流的研究主要從兩個(gè)角度進(jìn)行:從工作流的結(jié)構(gòu)出發(fā)和從工作流選取所需的高可靠網(wǎng)絡(luò)服務(wù)出發(fā)。

        Wang等人將工作流分解成所有可能路徑的集合,然后從服務(wù)代價(jià)、服務(wù)時(shí)間和服務(wù)可信值三個(gè)目標(biāo)的多目標(biāo)優(yōu)化選擇最優(yōu)解,鑒于這是個(gè)NP-hard問題,提出使用中位數(shù)的方法給出近似的最優(yōu)解,即工作流的最佳執(zhí)行路徑[3]。這個(gè)方法雖然將服務(wù)代價(jià)、時(shí)間和可信值都考慮在內(nèi),能選取一個(gè)具體工作流執(zhí)行路徑,但對(duì)于結(jié)構(gòu)已經(jīng)確定的工作流卻并不適用。Yang等人提出了使用分層著色Petri網(wǎng)的方法,結(jié)合了著色Petri網(wǎng)的強(qiáng)大的分析、設(shè)計(jì)協(xié)作系統(tǒng)的能力和高層語言的描述能力[2]。這樣,工作流中服務(wù)的組織結(jié)構(gòu)就能轉(zhuǎn)換成著色Petri網(wǎng),使用現(xiàn)成的著色Petri網(wǎng)工具來分析和驗(yàn)證工作流的性能。盡管這個(gè)方法能提供比較好的分析和驗(yàn)證結(jié)果,但也僅限于此,并不能主動(dòng)增強(qiáng)工作流的可靠性。

        Web服務(wù)的發(fā)現(xiàn)過程解釋了工作流是如何選取可靠服務(wù)的。由于Web服務(wù)是一種低耦合高聚合的服務(wù)單元,所以服務(wù)消費(fèi)者和服務(wù)提供者之間需要一個(gè)中間代理進(jìn)行服務(wù)的互操作,比如基于UDDI(Universal Description,Discovery and Integration of Web services【OASIS2002標(biāo)準(zhǔn)】)的服務(wù)查詢,服務(wù)提供者將服務(wù)注冊(cè)到UDDI中心,服務(wù)消費(fèi)者根據(jù)自己的需要從UDDI中心發(fā)現(xiàn)想要的服務(wù),并綁定到服務(wù)提供者。圖1顯示了這種發(fā)布-發(fā)現(xiàn)-綁定的模型。

        圖1 UDDI的發(fā)布-發(fā)現(xiàn)-綁定模型

        在上述機(jī)制的基礎(chǔ)上,Ran在普通的服務(wù)發(fā)現(xiàn)模型中加入了一個(gè)Web服務(wù)的QoS評(píng)估中心,只有通過評(píng)估的服務(wù)才能注冊(cè)到UDDI中心,并且在注冊(cè)信息中添加了服務(wù)質(zhì)量的描述,從而一定程度上保證了從UDDI中心選取的服務(wù)的質(zhì)量[6]。為了能夠創(chuàng)建靈活的工作流,Wang等在構(gòu)建初期只是定義一個(gè)粗糙的工作流模型,其系統(tǒng)提供了一個(gè)協(xié)同中介代理與服務(wù)的供應(yīng)代理協(xié)作,確定工作流中具體服務(wù)的細(xì)節(jié)[4]。Sycara從使用代理的角度,分析了中介在服務(wù)代理和具體不同服務(wù)之間協(xié)同所需要的條件,并在語義網(wǎng)絡(luò)服務(wù)本體語言(OWL-S)上實(shí)現(xiàn)了一個(gè)中介[5]。盡管這些方法提供了系統(tǒng)的靈活性,但也增加了系統(tǒng)的復(fù)雜度,服務(wù)搜索的過程也需要在中介代理和協(xié)同代理之間進(jìn)行多次的請(qǐng)求。

        這些研究雖然增加了選取服務(wù)的靈活性,也有提高具體服務(wù)的質(zhì)量的方法,但還是無法保證在多變的網(wǎng)絡(luò)環(huán)境中工作流的可靠性。同時(shí),它們也并沒有充分利用一個(gè)事實(shí),那就是在UDDI中心,會(huì)有很多相似行為的服務(wù),比如提供的服務(wù)功能相同,服務(wù)調(diào)用方法相同。如果服務(wù)A的使用環(huán)境也是服務(wù)B的使用環(huán)境,那么稱服務(wù)B能模擬服務(wù)A;如果服務(wù)A與服務(wù)B能夠互相模擬,那么稱服務(wù)A與服務(wù)B等價(jià)[11]。對(duì)于等價(jià)的服務(wù),它們的使用環(huán)境相同,如果把處于工作流中的一個(gè)服務(wù)使用它的等價(jià)服務(wù)替換,那么整個(gè)工作流的運(yùn)行將不會(huì)受到影響(如果替換服務(wù)能夠正常與運(yùn)行的話)。把這些等價(jià)服務(wù)稱做原來工作流中服務(wù)的后備服務(wù)。

        本文提出基于后備服務(wù)的高可靠工作流開發(fā)模型,給出對(duì)加入了后備服務(wù)的工作流描述方法,并通過分析量化評(píng)價(jià)服務(wù)和工作流的可靠性,最終將工作流描述腳本轉(zhuǎn)換成標(biāo)準(zhǔn)的可執(zhí)行工作流腳本。

        3 基于后備服務(wù)的高可靠工作流開發(fā)模型

        在基于后備服務(wù)的高可靠工作流開發(fā)模型中,工作流的描述機(jī)制將用戶自定義的加入了后備服務(wù)的工作流以形式化的語言描述。通過分析工作流的描述,分解出工作流中包含的各個(gè)子結(jié)構(gòu),計(jì)算出其中每個(gè)Web服務(wù),包括加入了后備服務(wù)后的服務(wù)節(jié)點(diǎn)的可靠性以及工作流整體的可靠性。如果計(jì)算得到的工作流可靠性不滿足用戶的需求,用戶可以從外部服務(wù)中選擇最優(yōu)的服務(wù)添加到后備服務(wù)列表中。為工作流中的服務(wù)加入后備服務(wù)后,再次評(píng)估服務(wù)節(jié)點(diǎn)和工作流整體的可靠性,如果還是不滿足要求,則繼續(xù)添加后備服務(wù),漸進(jìn)地提高工作流的可靠性,直至達(dá)到用戶的要求。模型如圖2所示。

        工作流中的子系統(tǒng)根據(jù)敏感度進(jìn)行了排序,用戶可以優(yōu)先選擇對(duì)工作流可靠性影響更高的服務(wù)添加后備服務(wù)。對(duì)于每個(gè)服務(wù)的等價(jià)服務(wù),按后備服務(wù)機(jī)制所安排的順序進(jìn)行最優(yōu)的排序,使得用戶每次都能夠優(yōu)先選取可靠性最高的等價(jià)服務(wù)加入此服務(wù)的后備服務(wù)列表中。

        模型主要涉及工作流描述、工作流可靠性評(píng)估,以及工作流子系統(tǒng)敏感性分析三個(gè)關(guān)鍵技術(shù)。

        圖2 高可靠工作流開發(fā)模型

        3.1 工作流描述

        工作流中涉及的過程,有可能只有一個(gè)單個(gè)具體的服務(wù),也有可能是若干個(gè)服務(wù)共同協(xié)作的結(jié)果。但從工作流的角度看,一個(gè)外部服務(wù)節(jié)點(diǎn)就是一個(gè)原子單元,節(jié)點(diǎn)中具體服務(wù)的復(fù)雜性對(duì)工作流是透明的。在加入后備服務(wù)后,一個(gè)服務(wù)節(jié)點(diǎn)也有可能是一個(gè)服務(wù)和它的后備服務(wù)共同協(xié)作的結(jié)果。在這個(gè)認(rèn)識(shí)的基礎(chǔ)上,給出了工作流的形式化定義:

        其中“?”表示這是一個(gè)空節(jié)點(diǎn),“Ti”表示一個(gè)具體的服務(wù),“;”表示分支之間是順序執(zhí)行,“,”表示分支之間選擇其中一個(gè)執(zhí)行,“||”表示分支之間并行執(zhí),括號(hào)“()”中添加后備服務(wù)列表,后備服務(wù)列表中的“>”表示后備服務(wù)之間被執(zhí)行的先后順序,每個(gè)節(jié)點(diǎn)的可能情況之間用“|”分隔。

        從定義可以看出,用戶可以使用這個(gè)定義的語法自頂向下構(gòu)建工作流,對(duì)后備服務(wù)列表中的服務(wù)也作了完整地表述,每個(gè)服務(wù)都能有一個(gè)或多個(gè)后備服務(wù),也可以沒有后備服務(wù)。

        3.2 工作流可靠性評(píng)估

        3.2.1 后備服務(wù)可靠性分析

        服務(wù)的可靠性定義為:正確服務(wù)的連續(xù)性[12]。這就意味著盡可能少得出現(xiàn)失敗的服務(wù)和盡可能短的恢復(fù)時(shí)間。當(dāng)工作流的結(jié)構(gòu)確定以后,工作流的可靠性就主要依賴于工作流中涉及的外部服務(wù)。如果在運(yùn)行時(shí)出現(xiàn)外部服務(wù)失效,并且無法在可承受的時(shí)間內(nèi)恢復(fù),那么整個(gè)工作流就會(huì)失敗,因此這樣的工作流的可靠性無法得到保證。

        如果工作流中的某個(gè)服務(wù)出現(xiàn)了失?。ǚ?wù)不可達(dá)或者超時(shí)),這時(shí)需要從后備服務(wù)列表中選擇一個(gè)后備服務(wù)替換這個(gè)服務(wù),人們總是希望被選到的后備服務(wù)是服務(wù)列表中可靠性最好的一個(gè)。在服務(wù)記錄數(shù)據(jù)庫中,記錄著不同服務(wù)的若干次測試數(shù)據(jù),主要的信息是服務(wù)的正確返回所需要的時(shí)間。這些時(shí)長如果在一個(gè)閾值范圍內(nèi),就視為服務(wù)可用,否則視為超時(shí)。

        由此可以定義,在數(shù)據(jù)充足的情況下,統(tǒng)計(jì)每一個(gè)服務(wù)的所有時(shí)長在閾值范圍內(nèi)的頻率,即服務(wù)成功的概率,作為評(píng)價(jià)此服務(wù)可靠性的一個(gè)指標(biāo)。

        后備列表中的服務(wù)按成功概率從高到低遞減排序,如果其中存在成功概率相同的服務(wù),則按成功返回的期望時(shí)間遞增排序,這樣系統(tǒng)選取服務(wù)時(shí)總能首先選取可用的后備服務(wù)中可靠性最好的一個(gè)。

        假設(shè) p0是原服務(wù)成功的概率,它有n個(gè)后備服務(wù),pi(1≤i≤n)是后備服務(wù)成功的概率,那么加入后備服務(wù)后,這個(gè)服務(wù)節(jié)點(diǎn)整體的可靠性Pn可以由遞歸公式得到:

        考慮到只要有一個(gè)服務(wù)成功,整個(gè)服務(wù)節(jié)點(diǎn)就能夠成功,那么服務(wù)節(jié)點(diǎn)成功的概率可以使用公式(2)計(jì)算得到相同的結(jié)果:

        對(duì)于成功概率相同的后備服務(wù),根據(jù)其成功返回的期望時(shí)間進(jìn)行排序。設(shè)tj是第 j(1≤j≤m)個(gè)測試數(shù)據(jù)的返回時(shí)間,則服務(wù)成功返回的期望時(shí)間計(jì)算公式(3)如下:

        計(jì)算得到服務(wù)的期望時(shí)間后,按期望時(shí)間進(jìn)行從小到大對(duì)成功概率相同的后備服務(wù)進(jìn)行排序。

        最終系統(tǒng)得到一個(gè)服務(wù)可靠性從高到低的后備服務(wù)列表。

        3.2.2 工作流子系統(tǒng)的可靠性

        在對(duì)工作流程的分析過程中,可以方便地應(yīng)用自頂向下的分解順序,從粗到細(xì)劃分子系統(tǒng)的粒度,逐步分解出子系統(tǒng)內(nèi)部的實(shí)現(xiàn)細(xì)節(jié),能夠清晰地掌握系統(tǒng)的結(jié)構(gòu),降低由系統(tǒng)復(fù)雜性帶來的分析難度。從工作流的形式化定義可以看出,工作流可以自頂向下被分解成五種不同類型的子系統(tǒng):服務(wù)節(jié)點(diǎn)、順序結(jié)構(gòu)、選擇結(jié)構(gòu)、并行結(jié)構(gòu)和循環(huán)結(jié)構(gòu),所有工作流都是由這五種結(jié)構(gòu)組合而成的??梢钥吹剑P蛯?duì)流程圖結(jié)構(gòu)的描述與Petri網(wǎng)對(duì)圖形的描述極其類似,而在Petri網(wǎng)研究領(lǐng)域已經(jīng)有了很多對(duì)系統(tǒng)結(jié)構(gòu)以及成熟的性能分析的工作[13-16],于是可以把Petri網(wǎng)對(duì)圖形結(jié)構(gòu)的性能分析方法應(yīng)用于工作流結(jié)構(gòu)的分析與可靠性的評(píng)估計(jì)算。具體的評(píng)估公式可以參考文獻(xiàn)[16]。

        3.2.3 工作流可靠性綜合計(jì)算

        使用自頂向下的方式最終能把工作流表示成一個(gè)樹形結(jié)構(gòu),分解出工作流中所有的子系統(tǒng),并從底層開始計(jì)算子系統(tǒng)的其可靠性,對(duì)分解得到的子系統(tǒng)應(yīng)用自底向上逐層構(gòu)建的方式,每一層都應(yīng)用子結(jié)構(gòu)的可靠性計(jì)算公式,最終在樹形結(jié)構(gòu)的頂端得到整個(gè)工作流的可靠性。工作流可以由以上五種類型的子系統(tǒng)以自底向上的方式逐層構(gòu)造而成,每一層的結(jié)構(gòu)也只有這五種。系統(tǒng)的可靠性就可以以逐層的方式進(jìn)行分析,計(jì)算復(fù)雜性得到了大大的降低,最終便很容易得到了工作流整體的可靠性。

        3.3 工作流子系統(tǒng)的敏感度分析

        不同結(jié)構(gòu)的子系統(tǒng)對(duì)工作流整體可靠性的影響程度不同,因此子系統(tǒng)的重要性是指工作流整體的可靠性相對(duì)于子系統(tǒng)可靠性的變化率,其值越大說明子系統(tǒng)對(duì)整體的影響越大,具有越高的重要性。重要性不僅與子系統(tǒng)自身的結(jié)構(gòu)有關(guān),還與子系統(tǒng)運(yùn)行的次數(shù)有關(guān),子系統(tǒng)重要性的基本計(jì)算思想是:

        其中,P(Ω)是系統(tǒng)的可靠性,P(A)是子系統(tǒng)的可靠性,具體的子系統(tǒng)的計(jì)算公式已有的工作已經(jīng)做了詳盡的介紹[15],這里就不再贅述。

        在實(shí)際使用中,工作流往往會(huì)涉及很多Web服務(wù),考慮到可操作性和處理的性能,給每個(gè)服務(wù)都添加后備服務(wù)并不切實(shí)可行也沒有必要。后備列表中優(yōu)先級(jí)低的服務(wù)并不能夠帶來明顯的可靠性的提高,雖然能在極端情況(列表中靠前的后備服務(wù)都失?。r(shí)使服務(wù)節(jié)點(diǎn)成功運(yùn)行,但節(jié)點(diǎn)實(shí)際運(yùn)行成功的時(shí)間太長,往往導(dǎo)致整個(gè)工作流的執(zhí)行時(shí)間已經(jīng)大大超過了用戶或者工作流可以容忍的范圍,最終工作流運(yùn)行依然失敗。因此,用戶需要給可靠性低的以及重要程度高的服務(wù)添加后備服務(wù),這樣能以較低的代價(jià)獲得較高的工作流可靠性的提升。為了能讓用戶方便地知道哪些服務(wù)相對(duì)更需要添加后備服務(wù),就需要依據(jù)服務(wù)在工作流中的敏感度對(duì)工作流中的服務(wù)進(jìn)行排序。子系統(tǒng)的重要性越高,對(duì)系統(tǒng)的影響也就越大,因此敏感度也越高;子系統(tǒng)的可靠性越高,那么它的可靠性提高空間越小,并且對(duì)系統(tǒng)整體可靠性的提高效果不明顯。因此,式(5)給出了敏感度S(A)的定義公式,其中D(Ω,A)是服務(wù)的在系統(tǒng)中的重要性,P(A)是服務(wù)的可靠性,α是一個(gè)比例常數(shù)。

        敏感度更高的服務(wù)在工作流的所有需要添加后備服務(wù)的服務(wù)中排在更靠前的位置,提醒用戶優(yōu)先給這些服務(wù)添加后備服務(wù),這樣能夠更有效地提高工作流整體的可靠性。

        4 高可靠工作流開發(fā)支撐工具的實(shí)現(xiàn)

        高可靠工作流開發(fā)支撐工具的實(shí)現(xiàn)能夠幫助用戶按照高可靠工作流開發(fā)模型快速、方便地開發(fā)高可靠的工作流。支撐工具的實(shí)現(xiàn)主要包括三個(gè)工具,分別是工作流編輯與展示工具、工作流分析與評(píng)估工具和標(biāo)準(zhǔn)工作流轉(zhuǎn)換工具。圖3顯示了高可靠工作流開發(fā)支撐工具的實(shí)現(xiàn)結(jié)構(gòu)。為了能夠?qū)崿F(xiàn)云端的在線訪問,其工具以網(wǎng)站的形式提供給用戶。

        圖3 高可靠工作流開發(fā)支撐工具的實(shí)現(xiàn)

        4.1 工作流編輯與展示工具

        在工作流編輯與展示工具中,用戶根據(jù)工作流描述語言的語法編寫描述工作流的腳本。用戶編寫完工作流后,工具通過分析工作流腳本,能夠得到工作流中服務(wù)節(jié)點(diǎn)的樹型結(jié)構(gòu)。為了能夠展示面向用戶友好的工作流程,工具將服務(wù)節(jié)點(diǎn)的樹形結(jié)構(gòu)轉(zhuǎn)換成圖形結(jié)構(gòu),展示界面將圖形化地展示用戶制定的工作流的流程圖。

        為了更方便地為其中的服務(wù)添加后備服務(wù),用戶點(diǎn)擊流程圖中的每個(gè)服務(wù)節(jié)點(diǎn),工具都會(huì)給出與之對(duì)應(yīng)的經(jīng)過可靠性優(yōu)先排序的等價(jià)服務(wù)列表供用戶選擇,工具會(huì)自動(dòng)將選中的后備服務(wù)添加到工作流中。圖4給出了一個(gè)工具展示流程圖的例子。用戶通過工作流編輯工具編輯完成工作流后,工作流展示工具描繪了工作流圖,用戶可以方便地給工作流中的服務(wù)添加后備服務(wù),并實(shí)時(shí)地評(píng)估添加后備服務(wù)后工作流的可靠性。如果可靠性已經(jīng)滿足用戶需求,就可以使用部署工具將工作流部署到外部引擎上執(zhí)行。

        4.2 工作流分析與評(píng)估工具

        工作流分析與評(píng)估工具負(fù)責(zé)將用戶生成的工作流描述進(jìn)行分析,自頂向下獲得最底層的各個(gè)子結(jié)構(gòu)中的服務(wù),包括可能的后備服務(wù)。然后按服務(wù)名從服務(wù)記錄數(shù)據(jù)庫中查詢服務(wù)成功的歷史數(shù)據(jù),根據(jù)3.2節(jié)的方法計(jì)算單個(gè)服務(wù)以及加入后備服務(wù)后的服務(wù)節(jié)點(diǎn)的可靠性。最后,按照工作流可靠性綜合計(jì)算的方法得到工作流整體的可靠性。同時(shí),評(píng)估工具針對(duì)工作流中的子系統(tǒng)對(duì)工作流整體可靠性的敏感度進(jìn)行排序,方便用戶給能夠明顯提升工作流可靠性的服務(wù)優(yōu)先添加后備服務(wù);對(duì)每個(gè)服務(wù)的可選后備服務(wù)根據(jù)可靠性進(jìn)行排序,使得用戶能夠優(yōu)先選擇最可靠的后備服務(wù)。

        圖4 一個(gè)工作流示例圖

        分析工具還為其他工具提供了分析數(shù)據(jù)。通過分析得到工作流樹形結(jié)構(gòu)和服務(wù)節(jié)點(diǎn)的可靠性等數(shù)據(jù),將以API的形式給出,提供給工作流編輯與展示工具和標(biāo)準(zhǔn)工作流轉(zhuǎn)換工具。標(biāo)準(zhǔn)工作流轉(zhuǎn)換工具以這些數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)工作流轉(zhuǎn)換,在工作流編輯與展示工具中繪制成圖形結(jié)構(gòu)的可視化的工作流程。

        4.3 標(biāo)準(zhǔn)工作流轉(zhuǎn)換工具

        標(biāo)準(zhǔn)工作流轉(zhuǎn)換模塊實(shí)現(xiàn)了對(duì)WS-BPEL(Web Services Business Process Execution Language,業(yè)務(wù)流程執(zhí)行語言)的支持,BPEL是最為成熟和被廣泛支持的業(yè)務(wù)流程規(guī)范,使用了開源的ODE的BPEL執(zhí)行引擎。

        在服務(wù)失敗的情況下,希望后備服務(wù)能夠自動(dòng)替代原服務(wù),然而,BPEL的執(zhí)行引擎,例如ODE引擎,本身并不支持服務(wù)的運(yùn)行時(shí)動(dòng)態(tài)替換,所有的服務(wù)必須在運(yùn)行前都明確指定。利用了ODE引擎的出錯(cuò)處理機(jī)制擴(kuò)展實(shí)現(xiàn)了服務(wù)選擇的動(dòng)態(tài)性。

        在BPEL的編譯和執(zhí)行過程中可能有很多種錯(cuò)誤情況。對(duì)于一般的出錯(cuò)(fault)情況,往往是一個(gè)服務(wù)無法處理一個(gè)錯(cuò)誤的表達(dá)式或者一個(gè)錯(cuò)誤的連接條件,工作流程因此引發(fā)一個(gè)出錯(cuò),改變正常的執(zhí)行流程來處理錯(cuò)誤。而失?。╢ailure)則不同,它往往不會(huì)中斷工作流影響正常的工作流程,而把這情況提交給工作流引擎或者流程管理員處理,保證工作流免受正常的非中斷錯(cuò)誤對(duì)工作流正常執(zhí)行的影響。

        在工作流系統(tǒng)中調(diào)用外部服務(wù)的失敗正是一種failure,如果能把這種出錯(cuò)也變成一種fault進(jìn)行錯(cuò)誤處理,就可以改變工作流的流程,進(jìn)而在服務(wù)失敗后調(diào)用后備列表中的服務(wù)。

        該工具利用了ODE引擎的擴(kuò)展功能faultonfailure功能,即在失敗情況下同樣進(jìn)行錯(cuò)誤處理。在轉(zhuǎn)換生成的可靠BPEL腳本中,需要添加如下聲明語句:<ext:failureHandling>

        <ext:faultOnFailure>true</ext:faultOnFailure></ext:failureHandling>

        在調(diào)用外部服務(wù)的invoke語句中,加入catchAll塊用于錯(cuò)誤處理,調(diào)用后備服務(wù)列表中的服務(wù)。如果一個(gè)服務(wù)的后備服務(wù)不止一個(gè),那么需要按照后備服務(wù)的可靠性優(yōu)先級(jí)遞歸地在invoke語句中加入catchAll塊,最外層的catchAll塊中調(diào)用的服務(wù)可靠性最高。

        <bpel:invoke...><bpel:catchAll>...

        </bpel:catchAll></bpel:invoke>

        將轉(zhuǎn)換生成的可靠工作流BPEL文件和相關(guān)服務(wù)的網(wǎng)絡(luò)服務(wù)定義WSDL文件,以及部署文件放入到系統(tǒng)的ODE引擎工作流執(zhí)行文件夾下,就實(shí)現(xiàn)了熱部署,在外部就可以訪問可靠性增強(qiáng)的新的工作流了。

        5 實(shí)驗(yàn)與分析

        為了分析后備服務(wù)機(jī)制在提高工作流可靠性上的效果,本章提供了一個(gè)工作流的例子,通過對(duì)加入后備服務(wù)前后工作流的可靠性進(jìn)行對(duì)比,說明加入后備服務(wù)對(duì)工作流可靠性的影響。

        圖4中的示例是一個(gè)旅行出行的工作流,流程是根據(jù)天氣情況選擇出行交通工具并查票、訂票。從服務(wù)數(shù)據(jù)庫查詢工作流中涉及服務(wù)和它們的后備服務(wù)的成功執(zhí)行時(shí)間,并根據(jù)系統(tǒng)設(shè)置的服務(wù)成功閾值計(jì)算得到各個(gè)服務(wù)的可靠性,如表1。

        給每個(gè)服務(wù)都添加相應(yīng)的后備服務(wù)后,由第3章中的公式可以計(jì)算出加入后備服務(wù)后的服務(wù)節(jié)點(diǎn)的可靠性。從表2可以看到,每個(gè)服務(wù)加入一個(gè)后備服務(wù)后可靠性都得到了提高,可靠性越低的服務(wù)提高程度越明顯。

        表1 工作流中Web服務(wù)的可靠性

        當(dāng)然,添加后備服務(wù)并不是越多越好,后備列表中優(yōu)先級(jí)低的服務(wù)并不能夠帶來明顯的可靠性的提高。圖5的例子使用的都是0.8可靠性的后備服務(wù),可以看到三個(gè)后備服務(wù)基本已經(jīng)達(dá)到了可靠性提高程度的極限。

        圖5 后備服務(wù)個(gè)數(shù)對(duì)可靠性的影響

        得到了各個(gè)節(jié)點(diǎn)的可靠性后,使用3.2節(jié)中的公式,運(yùn)用自底向上的計(jì)算方式,就能得到工作流系統(tǒng)總體的可靠性。添加后備服務(wù)前,可以計(jì)算得到工作流整體的可靠性為0.58,加入后備服務(wù)后,可靠性提升為0.86,可靠性提升了48%。最后用戶將得到的可靠性與要求的可靠性進(jìn)行比較,判斷新的工作流是否滿足需求。

        6 總結(jié)與展望

        現(xiàn)在的網(wǎng)絡(luò)環(huán)境日漸呈現(xiàn)出開放、動(dòng)態(tài)的趨勢,如何建立起一個(gè)完整、可靠的基于網(wǎng)絡(luò)服務(wù)的工作流面臨多方面的挑戰(zhàn)。本文主要做了以下工作:

        (1)分析了現(xiàn)有的增強(qiáng)工作流可靠性和網(wǎng)絡(luò)服務(wù)可靠性的方案不足。

        (2)提出了一個(gè)利用等價(jià)網(wǎng)絡(luò)服務(wù)的高可靠工作流的開發(fā)模型。該模型提供了一個(gè)對(duì)加入后備服務(wù)后的工作流的描述機(jī)制,還提供了工作流可靠性評(píng)價(jià)方法量化工作流的可靠性。

        (3)給出了高可靠工作流開發(fā)模型的一個(gè)基于BPEL的實(shí)現(xiàn),能夠完成制定、分析與轉(zhuǎn)換以及部署高可靠的工作流。

        (4)實(shí)驗(yàn)分析了加入后備服務(wù)對(duì)工作流可靠性的提升。

        本文提出的方案,還需要應(yīng)用到更多的實(shí)際項(xiàng)目中測試具體的效果,檢驗(yàn)其提高工作流可靠性的有效性和可操作性。今后的工作中,需要從多角度出發(fā),進(jìn)一步研究影響工作流可靠性的因素,提高判斷的準(zhǔn)確性;需要研究對(duì)工作流運(yùn)行時(shí)情況的預(yù)判,以給出更接近實(shí)際運(yùn)行結(jié)果的可靠性分析。

        [1]Ganesarajah D.Web service workflow,IndividualProject Report[R].2001:8-9.

        [2]Yang Y,Tan Q,Xiao Y,et al.Exploiting hierarchical CP-nets to increase the reliability of Web services workflow[C]//ProceedingsoftheInternationalSymposium on Applications and the Internet,2006:116-122.

        [3]Wang M,Ramamohanarao K,Chen J.Trust-based robust scheduling and runtime adaptation ofscientific workflow[C]// Proceedings of the 3rd International Workshop on Workflow Management and Applications in Grid Environments,2009,21:1982-1998.

        [4]Wang S,Shen W,Hao Q.An agent-based Web service workflow model for inter-enterprise collaboration[J].Expert Systems with Applications,2006,31(4):787-799.

        [5]Sycara K,Paolucci M,Soudry J,et al.Dynamic discovery and coordination of Agent-based semantic Web services[J].IEEE Internet Computing,2004,8(3):66-73.

        [6]Ran S.A model for Web services discovery with QoS[J]. Newsletter ACM SIgecom Exchanges,2003,4(1):1-10.

        [7]Cardoso J,Sheth A,Miller J,et al.Quality of service for workflowsand Web serviceprocesses[J].JournalofWeb Semantics,2004(3):281-308.

        [8]Maximilien E M,Singh M P.A framework and ontology for dynamic Web services selection[J].IEEE Internet Computing,2004,8(5):84-93.

        [9]Soteriou A C,Chase R B.A robust optimization approach for improving service quality[J].Manufacturing and Service Operations Management,2000,2(3):264-286.

        [10]Xie C,Li B,Wang X,et al.A staged model for Web services reliability[J].Journal of Southeast University:Natural Science Edition,2012,42(1):40-44.

        [11]Martens A.Analyzing Web service based business processes[C]// Proceedings of the European Conference on Theory and Practice of Software Conference on Fundamental Approaches to Software Engineering,2005:19-33.

        [12]Avizienis A,Laprie J C,Randell B,et al.Basic concepts and taxonomy ofdependable and secure computing[J].IEEE Transactions on Dependable and Secure Computing,2004 (1):11-33.

        [13]Georgakopoulos D,Hornick M,Sheth A.An overview of workflow management:from process modeling to workflow automation infrastructure[J].Distributed and Parallel Databases, 1995,3(2):119-153.

        [14]Van der Aalst W M P.The application of Petri nets to workflow management[J].The Journal of Circuits,Systems and Computers,1998,8(1):199-203.

        [15]Andonoff E,Bouzguenda L,Hanachi C.Specifying workflow Web services using Petri nets with objects and generating oftheirowl-sspecification[C]//Proceedingsofthe 6th International Conference on E-Commerce and Web Technologies(EC-Web'05),2005:41-52.

        [16]Lu W,Xu F,Lv J.An approach of software reliability evaluation in the open environment[J].Chinese Journal of Computers,2010(3):452-462.

        1.State Key Laboratory for Novel Software Technology,Nanjing University,Nanjing 210046,China

        2.Department of Computer Science and Technology,Nanjing University,Nanjing 210046,China

        With development of Internet,Web-service-oriented workflow technologies begin to emerge.In the open and changing network environment,reliability of service and network risk the reliability of workflow.Some of present researches focus on selecting the most reliable workflow path;others focus on improving reliability of Web services involved in workflow.However, reliable workflow or Web services may turn out unreliable under the inconstant environment.With development of Web service, lots of equivalent services emerge,which can be used as backup service to improve reliability of workflow.A model is given to develop workflow with high reliability,including workflow description mechanism and evaluation mechanism.In addition,this paper provides an implementation of this approach,which converts workflow into BPEL script.

        workflow reliability;Web service;equivalent services

        A

        TP317

        10.3778/j.issn.1002-8331.1208-0520

        CHEN Wei,XU Feng.Backup-service-based developing model of workflow with high reliability.Computer Engineering and Applications,2013,49(7):39-44.

        國家重點(diǎn)基礎(chǔ)研究發(fā)展規(guī)劃(973)(No.2009CB320702);國家自然科學(xué)基金(No.61021062,No.61073030)。

        陳威(1988—),男,碩士研究生,主要研究領(lǐng)域?yàn)榭尚庞?jì)算;徐鋒(1975—),男,博士,博士生導(dǎo)師,主要研究領(lǐng)域?yàn)榭尚庞?jì)算,系統(tǒng)安全,軟件可靠性技術(shù)等。E-mail:lit7tle7@gmail.com

        2012-09-07

        2012-10-30

        1002-8331(2013)07-0039-06

        CNKI出版日期:2012-11-05 http://www.cnki.net/kcms/detail/11.2127.TP.20121105.1414.005.html

        猜你喜歡
        后備子系統(tǒng)可靠性
        不對(duì)中轉(zhuǎn)子系統(tǒng)耦合動(dòng)力學(xué)特性研究
        后備制動(dòng)系統(tǒng)可在緊急情況下為輪胎放氣
        后備母豬的選擇和培育
        GSM-R基站子系統(tǒng)同步方案研究
        我國冰球“貫通化”后備人才培養(yǎng)模式的思考
        可靠性管理體系創(chuàng)建與實(shí)踐
        駝峰測長設(shè)備在線監(jiān)測子系統(tǒng)的設(shè)計(jì)與應(yīng)用
        電子制作(2017年2期)2017-05-17 03:55:06
        基于可靠性跟蹤的薄弱環(huán)節(jié)辨識(shí)方法在省級(jí)電網(wǎng)可靠性改善中的應(yīng)用研究
        電測與儀表(2015年6期)2015-04-09 12:01:18
        可靠性比一次采購成本更重要
        風(fēng)能(2015年9期)2015-02-27 10:15:24
        第一次处破女18分钟高清| аⅴ天堂一区视频在线观看 | 国产美女做爰免费视频| 中文字幕乱伦视频| 亚洲VA中文字幕欧美VA丝袜| 宅男久久精品国产亚洲av麻豆| 色婷婷亚洲精品综合影院| а天堂中文地址在线| 无码成人一区二区| 少妇内射视频播放舔大片| 国产成人av综合色| 亚洲熟妇av一区二区三区hd| 中文字幕亚洲精品久久| 成在线人免费视频| 午夜无码片在线观看影院| 欧美亚洲国产丝袜在线| 国产精品毛片毛片av一区二区| 日韩少妇人妻中文字幕| 国产裸体舞一区二区三区| 乱码午夜-极国产极内射| 亚欧免费无码AⅤ在线观看| 中文字幕亚洲一区视频| 国产成人综合久久久久久| 成l人在线观看线路1| 国产精品自产拍在线18禁| 按摩女内射少妇一二三区| 在线免费观看蜜桃视频| 无码无套少妇毛多18pxxxx| 人人爽人人爽人人爽| 无码国产精品色午夜| 国产丝袜美腿嫩模视频诱惑| 亚洲youwu永久无码精品| 国产在线精品一区在线观看 | 国产女主播白浆在线观看| 日韩a毛片免费观看| 国产主播一区二区在线观看| 日本视频一区二区三区在线 | 国产白嫩美女在线观看| 亚洲av综合日韩精品久久久| 精品亚洲一区中文字幕精品| 激情综合色五月丁香六月欧美|