[摘 要] 目前,網(wǎng)格環(huán)境下的事務(wù)處理技術(shù)作為提高企業(yè)網(wǎng)格應(yīng)用可靠性與一致性的有效基礎(chǔ)設(shè)施,受到了廣泛的關(guān)注。本文在分析網(wǎng)格環(huán)境下事務(wù)屬性及恢復(fù)策略的基礎(chǔ)上,提出了一個(gè)具有事務(wù)支持的工作流動(dòng)態(tài)模型。通過(guò)實(shí)例分析,該模型可以很好的描述網(wǎng)格環(huán)境中企業(yè)業(yè)務(wù)流程的事務(wù)性。
[關(guān)鍵詞] 網(wǎng)格服務(wù) 工作流 模型 事務(wù)
網(wǎng)格工作流技術(shù)是近年來(lái)隨著網(wǎng)格計(jì)算研究的深入而快速發(fā)展起來(lái)的網(wǎng)格應(yīng)用之一,它的目的就是利用現(xiàn)有的工作流技術(shù)來(lái)自動(dòng)執(zhí)行網(wǎng)格環(huán)境中的業(yè)務(wù)流程,隨著網(wǎng)格基礎(chǔ)設(shè)施的建設(shè)與發(fā)展,越來(lái)越多的企業(yè)和組織開始借助于其他機(jī)構(gòu)提供的網(wǎng)格服務(wù)資源來(lái)完成自己的業(yè)務(wù)流程。在許多企業(yè)業(yè)務(wù)流程中,業(yè)務(wù)活動(dòng)的“事務(wù)性”需求特別明顯,即一個(gè)業(yè)務(wù)過(guò)程要么必須正常結(jié)束,要么通過(guò)補(bǔ)償操作撤銷已經(jīng)提交的執(zhí)行結(jié)果,來(lái)保證業(yè)務(wù)邏輯的一致性和正確性。復(fù)雜的網(wǎng)格環(huán)境為傳統(tǒng)的事務(wù)技術(shù)提出了新的挑戰(zhàn),如何將事務(wù)處理技術(shù)合理地用于這種分布、異構(gòu)、動(dòng)態(tài)、自治的開放松偶合環(huán)境中對(duì)網(wǎng)格應(yīng)用的發(fā)展有著重要意義。
工作流過(guò)程模型是對(duì)企業(yè)業(yè)務(wù)流程的抽象,描述了業(yè)務(wù)流程的執(zhí)行過(guò)程,是整個(gè)工作流管理系統(tǒng)的起點(diǎn)和基礎(chǔ)。與傳統(tǒng)的過(guò)程模型相比,事務(wù)工作流的過(guò)程模型不僅要能夠描述過(guò)程語(yǔ)義,還要正確表達(dá)應(yīng)用的事務(wù)語(yǔ)義。因此本文針對(duì)網(wǎng)格工作流事務(wù)處理的特殊性,結(jié)合傳統(tǒng)事務(wù)處理技術(shù),在網(wǎng)格工作流模型的基礎(chǔ)上,提出了基于網(wǎng)格服務(wù)的事務(wù)工作流過(guò)程模型,并通過(guò)實(shí)例對(duì)過(guò)程模型進(jìn)行了分析。
一、網(wǎng)格工作流的事務(wù)模型
1.過(guò)程屬性與恢復(fù)策略
事務(wù)工作流中的子過(guò)程可能作為一個(gè)原子整體,也可能是一個(gè)非事務(wù)性的實(shí)體。同時(shí),對(duì)于不同的活動(dòng)實(shí)體,由于執(zhí)行環(huán)境、業(yè)務(wù)邏輯等差異,它的恢復(fù)策略也不相同。在網(wǎng)格這一個(gè)松散耦合的自治、異構(gòu)、動(dòng)態(tài)的環(huán)境中傳統(tǒng)的“非全則無(wú)”原子性要求與相應(yīng)的恢復(fù)策略已不適應(yīng)復(fù)雜的網(wǎng)格環(huán)境。在此擴(kuò)展了事務(wù)類型,并根據(jù)不同的事務(wù)給出了相應(yīng)的恢復(fù)策略。
在網(wǎng)格環(huán)境中事務(wù)屬性可分為三個(gè)類型:原子類型、半原子類型、松散原子類型。原子類型的子過(guò)程,符合傳統(tǒng)事務(wù)“非全則無(wú)”的要求,例買票->付款,買票與付款兩活動(dòng)必須針對(duì)同一公司一起發(fā)生或不發(fā)生。松散原子類型的子過(guò)程是一種松耦合的事務(wù)類型,子過(guò)程整體具有事務(wù)特性,而其間的子過(guò)程或活動(dòng)可動(dòng)態(tài)變化的業(yè)務(wù)邏輯過(guò)程。非原子類型的子過(guò)程則無(wú)需保證執(zhí)行過(guò)程中的原子性。
定義4:事務(wù)屬性TP={atomic, non-atomic, lose-atomic},其中 atomic、non-atomic、lose-atomic分別代表子過(guò)程的原子類型、非原子類型、松散原子類型。
工作流的子過(guò)程或活動(dòng)的異?;謴?fù)策略與具體業(yè)務(wù)有著密切關(guān)系,但在事務(wù)工作流中為了保持業(yè)務(wù)流程事務(wù)性狀態(tài)的一致性與正確性,在此把與事務(wù)相關(guān)的恢復(fù)策略提取出來(lái),作為恢復(fù)策略屬性擴(kuò)展活動(dòng)和子過(guò)程已有的屬性。
定義5:恢復(fù)策略屬性RP={ Ignore, Abort, Alternate, Rollback, Retry }。
其中:忽略(Ignore):若一個(gè)活動(dòng)在執(zhí)行過(guò)程中出現(xiàn)異常,該活動(dòng)已經(jīng)執(zhí)行所產(chǎn)生的行為不影響其他活動(dòng)的執(zhí)行,并且該活動(dòng)沒(méi)有執(zhí)行的部分也不影響其他活動(dòng)的執(zhí)行,則可以采用忽略策略。取消(Abort):若在工作流執(zhí)行過(guò)程中,出現(xiàn)的異常使得整個(gè)流程不能繼續(xù)執(zhí)行下去,且已執(zhí)行的行為不需要進(jìn)行補(bǔ)償或沒(méi)有辦法補(bǔ)償,只能采取取消整個(gè)流程的措施。替換(Alternate):在網(wǎng)格環(huán)境下當(dāng)一個(gè)服務(wù)出錯(cuò)或退出后,具有相同功能的不同服務(wù)來(lái)替換。回滾(Rollback):在工作流執(zhí)行過(guò)程中,當(dāng)執(zhí)行到一個(gè)活動(dòng)實(shí)例出現(xiàn)異常時(shí),已執(zhí)行的活動(dòng)實(shí)例已經(jīng)產(chǎn)生了一些影響,為了使得整個(gè)流程能通過(guò)其他路徑繼續(xù)下去或正常停止,必須對(duì)已執(zhí)行的行為產(chǎn)生的影響進(jìn)行消除,這是通過(guò)活動(dòng)補(bǔ)償完成的。重試(Retry):在工作流執(zhí)行過(guò)程中,當(dāng)執(zhí)行到一個(gè)活動(dòng)實(shí)例出現(xiàn)異常時(shí),可以重新執(zhí)行這個(gè)活動(dòng)實(shí)例,直到成功,或者規(guī)定重試次數(shù)的最大值,直到重試次數(shù)不到這個(gè)上限,工作流都可以從這個(gè)活動(dòng)開始重新執(zhí)行。
2.網(wǎng)格事務(wù)工作流過(guò)程模型
定義:網(wǎng)格事務(wù)工作流過(guò)程模型描述了具有事務(wù)特性的網(wǎng)格服務(wù)組合成的企業(yè)業(yè)務(wù)流程,可以抽象表示為一個(gè)多元組:TGWF={∑,P,T,A,C,G,Dep,Attr,Cons},它滿足如下條件:
(1)∑是顏色集合,包含庫(kù)所顏色集∑P和變遷顏色集∑T,均為有限非空集。
(2)P是庫(kù)所的有限集合,它與活動(dòng)或子過(guò)程的輸入/輸出相對(duì)應(yīng)。
(3)T是變遷的有限集合,變遷分為基本變遷和復(fù)合變遷,基本變遷代表一個(gè)基礎(chǔ)服務(wù),復(fù)合變遷代表一個(gè)由變遷(基本變遷或復(fù)合變遷)、庫(kù)所、弧組成的子過(guò)程。
(4)A是關(guān)系的有限集合,定義了在T上的所有服務(wù)之上的時(shí)序關(guān)系。A∈P×T∪T×P,P∩T=T∩A=T∩=Φ。
(5)C是數(shù)據(jù)類型的函數(shù):C(Pi)是狀態(tài)庫(kù)所的顏色集合,表示處在Pi狀態(tài)服務(wù)實(shí)例的屬性集;C(Ii)是輸入庫(kù)所的顏色,表示服務(wù)執(zhí)行操作的前置條件,C(Oi)輸出庫(kù)所的顏色,C(Fi)是活動(dòng)變遷的顏色集合。
(6)G為變遷守護(hù)函數(shù),它將變遷與表達(dá)式相關(guān)聯(lián)。
(7)Dep:中跨層次的服務(wù)之間的領(lǐng)帶關(guān)系集合;
(8)Attr:{
(9)Cons定義在T上的結(jié)束條件集合。
(10)存在兩個(gè)特殊位置i和o,且。
其中:T表示對(duì)應(yīng)網(wǎng)格服務(wù)組成的子過(guò)程,每個(gè)子過(guò)程對(duì)應(yīng)于一個(gè)基本服務(wù)或一個(gè)更小的子過(guò)程,T描述了子過(guò)程的層次結(jié)構(gòu)。顏色集合表達(dá)了流程相關(guān)變量以及流程中涉及的服務(wù)群信息,決定表達(dá)式可以使用的數(shù)據(jù)對(duì)象,服務(wù)群集合決定了執(zhí)行網(wǎng)中各個(gè)變遷功能的資源。A描述了T中基本服務(wù)之間的時(shí)序關(guān)系,Cons定義了在T中的服務(wù)上的各種約束,一般情況下,事務(wù)流程按照A時(shí)序,及Cons中的約束條件正常執(zhí)行,在產(chǎn)生失效時(shí),T、Dep、Attr描述了子過(guò)程中事務(wù)性恢復(fù)。
二、應(yīng)用實(shí)例分析
在此以某電子商務(wù)公司快速響應(yīng)客戶需求為例描述基于網(wǎng)格服務(wù)的事務(wù)工作流過(guò)程模型。公司在接到用戶訂單時(shí),由兩個(gè)部門負(fù)責(zé)處理,客戶服務(wù)部門負(fù)責(zé)對(duì)客戶的賬戶進(jìn)行檢查,配送部門負(fù)責(zé)訂購(gòu)貨物的配送工作。整個(gè)過(guò)程如圖所示:
T1子過(guò)程負(fù)責(zé)訂購(gòu)貨物的配送,T2子過(guò)程負(fù)責(zé)客戶收費(fèi)事宜。T1又分為備貨T11、運(yùn)送T12、T13配送完畢三個(gè)基本服務(wù),T11與T12是一個(gè)松散了原子組合,因?yàn)閭湄?、與運(yùn)送服務(wù)有多個(gè)。T2可分解為一個(gè)檢查賬戶信譽(yù)T21與一個(gè)組合服務(wù)T22,T22繼續(xù)分解為計(jì)算費(fèi)用T2a與T2b劃賬兩個(gè)基本服務(wù)。在這個(gè)例子中,T1與T2定義為并發(fā)執(zhí)行,以提高效率,但T1依賴于T21,T22依賴于T13,在T1與T22中的Dep屬性描述了這種跨層次的依賴關(guān)系。
三、結(jié)論
本文針對(duì)網(wǎng)格環(huán)境下事務(wù)處理的特點(diǎn),在網(wǎng)格工作流動(dòng)態(tài)過(guò)程模型的基礎(chǔ),增加了過(guò)程模型中的事務(wù)屬性及恢復(fù)策略,定義了網(wǎng)格環(huán)境下的事務(wù)模型。該模型可以很好的適應(yīng)網(wǎng)格環(huán)境下企業(yè)跨組織關(guān)鍵業(yè)務(wù)的過(guò)程集成。
參考文獻(xiàn):
[1]李國(guó)中 劉書雷 吳秋云等:動(dòng)態(tài)服務(wù)聚合流程定義元模型及其應(yīng)用.計(jì)算機(jī)科學(xué),2007,34(2),91~94
[2]任 怡 管建波,吳泉源等:事務(wù)性服務(wù)組合的過(guò)程模型及良構(gòu)性判定.小型微型計(jì)算機(jī)系統(tǒng),2007,28(12),2187~2192
[3]管荷卿:WEB服務(wù)事務(wù)的研究總述. 計(jì)算機(jī)科學(xué),2005,32(5)13~16
[4]王 勇 張 煜 尹 瑞:WEB服務(wù)組合中商業(yè)事務(wù)處理的研究.小型微型計(jì)算機(jī)系統(tǒng),2006,27(1),12~125