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