王衛(wèi)東, 周國(guó)祥
(合肥工業(yè)大學(xué) 計(jì)算機(jī)與信息學(xué)院,安徽 合肥 230009)
工作流概念來(lái)自于生產(chǎn)組織和辦公自動(dòng)化領(lǐng)域[1],是針對(duì)日常工作中具有固定程序活動(dòng)而提出的一個(gè)概念。工作流管理聯(lián)盟(Workflow Management Coalition,簡(jiǎn)稱 WFMC)將工作流定義為業(yè)務(wù)流程中的部分或者整體能夠自動(dòng)運(yùn)轉(zhuǎn),按照一系列流程的規(guī)則,使文件、信息或者任務(wù)可以在各個(gè)參與者間進(jìn)行傳遞和運(yùn)行。簡(jiǎn)單地說(shuō),工作流就是一系列相互銜接、自動(dòng)進(jìn)行的業(yè)務(wù)活動(dòng)或任務(wù)。隨著電子政務(wù)和企業(yè)信息化進(jìn)程的推進(jìn),現(xiàn)今的企業(yè)管理層已經(jīng)不滿足于簡(jiǎn)單任務(wù)的工作流程,還要求工作流程可以進(jìn)行各種各樣的審核業(yè)務(wù),故而出現(xiàn)了涉及審核業(yè)務(wù)的工作流管理系統(tǒng),當(dāng)處理小批量審核業(yè)務(wù)時(shí),這種方法可以很好地解決審核業(yè)務(wù)。但是隨著企業(yè)的不斷發(fā)展,業(yè)務(wù)過(guò)程日趨復(fù)雜化,傳統(tǒng)的審核業(yè)務(wù)過(guò)程建模方法產(chǎn)生的工作流過(guò)程模型過(guò)于復(fù)雜。為了克服上述缺點(diǎn),針對(duì)實(shí)際的審核業(yè)務(wù)流程研究,本文給出了一種基于Petri網(wǎng)層次結(jié)構(gòu)化審核業(yè)務(wù)工作流建模方法,并對(duì)珠寶行業(yè)審核業(yè)務(wù)進(jìn)行建模。
審核業(yè)務(wù)工作流[2]是根據(jù)一系列定義的規(guī)則,把文檔、圖像等在審核者之間進(jìn)行傳遞,對(duì)人和其他資源進(jìn)行協(xié)調(diào)管理,在人機(jī)交互下,由審核人來(lái)完成某項(xiàng)工作,以達(dá)到文檔、圖像等得到不同人的審閱、審核處理的目的。傳統(tǒng)審核業(yè)務(wù)工作流過(guò)程建模是以過(guò)程為核心,未詳細(xì)地分析審核業(yè)務(wù)之間所存在的邏輯關(guān)系。例如一項(xiàng)文件的審核要求多人給出審核結(jié)果,然后再進(jìn)行匯總或者需要按照權(quán)限的劃分,按照一定的順序進(jìn)行審核等?;趯?duì)各種審核結(jié)構(gòu)的分析,提出4種審核結(jié)構(gòu),即選擇審核、并行審核、順序?qū)徍思把h(huán)審核。圖1所示為一個(gè)審核業(yè)務(wù)的簡(jiǎn)化示意圖。
圖1 審核業(yè)務(wù)示意圖
(1)選擇審核。根據(jù)一定的條件或狀態(tài)等選擇審核人進(jìn)行審核,數(shù)據(jù)準(zhǔn)備好后進(jìn)行單價(jià)判斷,大于500元時(shí)進(jìn)行A審核,否則進(jìn)行B審核。
(2)并行審核。在業(yè)務(wù)過(guò)程中會(huì)出現(xiàn)同級(jí)別審核情況,需要多人進(jìn)行審核,全部通過(guò)之后進(jìn)行審核結(jié)果匯總。數(shù)據(jù)準(zhǔn)備好后產(chǎn)生數(shù)據(jù)需要進(jìn)行C與D并行審核,必須兩者都審核通過(guò)時(shí)才可得到結(jié)果。
(3)順序?qū)徍恕T跇I(yè)務(wù)過(guò)程中會(huì)出現(xiàn)一些需要遞推審核的情況,按照任務(wù)的要求分步審核。數(shù)據(jù)準(zhǔn)備好后,按照權(quán)限的劃分,當(dāng)E審核之后再進(jìn)行F審核。
(4)循環(huán)審核。在審核不通過(guò)時(shí)需返回重新數(shù)據(jù)準(zhǔn)備,再進(jìn)行審核。每一步審核不通過(guò)時(shí),需要返回?cái)?shù)據(jù)準(zhǔn)備階段重新審核,循環(huán)審核包含于其他3種審核方式之中。
結(jié)合上述分析對(duì)審核業(yè)務(wù)工作流進(jìn)行建模,采用的是Petri網(wǎng)技術(shù)[3]。
定義1 Petri網(wǎng)PN =(P,T,F(xiàn))是工作流網(wǎng)(WF-net),當(dāng)且僅當(dāng):
(1)存在一個(gè)輸入庫(kù)所i∈P,使得·t=?。
(2)存在一個(gè)輸出庫(kù)所o∈P,使得o·=?。
(3)若在PN中加入一個(gè)新的變遷t*,使t*連接庫(kù)所o和i,即·t*={o},t*·={i},則此時(shí)所得到的PN是強(qiáng)連通的。
每一個(gè)節(jié)點(diǎn)x∈P∪T都位于從i到o的一條路徑上。一個(gè) WF-net有一個(gè)輸入庫(kù)所(i)和一個(gè)輸出庫(kù)所(o)。
定義2 在工作流網(wǎng)PN=(P,T,F(xiàn))中,加入一個(gè)新變遷t*,使t*連接庫(kù)所o和i,即·t*={o} ,t*·= {i},從而得到一個(gè)工作流網(wǎng),其中{〈o,t*〉,〈t*,i〉},則稱為擴(kuò)展工作流網(wǎng)。
在工作流網(wǎng)中,用變遷t∈T來(lái)表示工作項(xiàng),如圖1中的各個(gè)審核項(xiàng)。庫(kù)所p∈P表示工作流中的相關(guān)條件或資源,如圖1中的數(shù)據(jù)準(zhǔn)備。p中至少有一個(gè)令牌,則對(duì)應(yīng)的變遷t是授權(quán)的,即t有可能觸發(fā),相當(dāng)于工作項(xiàng)有可能執(zhí)行。根據(jù)需要添加變遷t以及相應(yīng)的庫(kù)所來(lái)動(dòng)態(tài)擴(kuò)展工作流網(wǎng),以滿足建模的需要。
出于減輕審核業(yè)務(wù)工作流過(guò)程模型復(fù)雜性的目的,提出層次結(jié)構(gòu)化建模方法。為了體現(xiàn)模型的層次性,根據(jù)粒度的劃分,頂層模型引入了抽象變遷概念,進(jìn)行粗粒度建模,從而實(shí)現(xiàn)在不同層次上的過(guò)程建模,由上到下逐步細(xì)化過(guò)程模型。
定義3 活動(dòng)是一系列操作所組成的過(guò)程,是過(guò)程分解最基本的工作單元,活動(dòng)受工作流引擎驅(qū)動(dòng)完成某一任務(wù)。
定義4 抽象變遷是對(duì)頂層模型粗粒度的分解,是一組活動(dòng)的集合。抽象變遷可以繼續(xù)分解成下一級(jí)的多個(gè)活動(dòng),以滿足建模所需要的粒度要求。
定義5 審核模型是針對(duì)上述提出的4種審核方式建立的結(jié)構(gòu)化模型,對(duì)應(yīng)為選擇審核結(jié)構(gòu)、并行審核結(jié)構(gòu)、順序?qū)徍私Y(jié)構(gòu)及循環(huán)審核結(jié)構(gòu)。
頂層模型Petri網(wǎng)映射如圖2所示。
圖2 頂層模型Petri網(wǎng)映射
WFMC定義了4種工作流路由結(jié)構(gòu)[4],即選擇、并行、循環(huán)和順序結(jié)構(gòu),這4種結(jié)構(gòu)為工作流執(zhí)行的基本結(jié)構(gòu)。為了方便4種審核模型的Petri網(wǎng)表示,引入4種構(gòu)造模塊進(jìn)行約束,它們分別是與分支、與連接、或分支、或連接。與分支模塊和與連接模塊的共同使用表示一個(gè)并行執(zhí)行過(guò)程,或分支模塊和或連接模塊的共同使用表示一個(gè)選擇執(zhí)行過(guò)程。4種審核模型的Petri網(wǎng)映射如圖3所示。
圖3 4種審核模型Petri網(wǎng)映射
本文的層次結(jié)構(gòu)化過(guò)程模型通過(guò)對(duì)審核業(yè)務(wù)活動(dòng)分解進(jìn)行建模,與傳統(tǒng)的建模方法相比具有如下優(yōu)點(diǎn):
(1)建立在Petri網(wǎng)之上,具有嚴(yán)格的數(shù)學(xué)基礎(chǔ)。
(2)可以隱藏過(guò)程模型中審核活動(dòng)的內(nèi)部細(xì)節(jié)。
(3)審核模型能更加直觀、清晰地描述審核業(yè)務(wù)。
(4)克服了傳統(tǒng)審核業(yè)務(wù)建模方法中活動(dòng)之間的緊耦合、缺乏柔性的問(wèn)題。
(5)可以使復(fù)雜的業(yè)務(wù)流程在任務(wù)分解過(guò)程中得到簡(jiǎn)化,進(jìn)而簡(jiǎn)化工作流的建模。
基于審核業(yè)務(wù)的特色,結(jié)合上述提出的4種審核模型[5]和本文提出的審核業(yè)務(wù)層次結(jié)構(gòu)化模型,提出以下建模方法。
(1)將業(yè)務(wù)過(guò)程中的每一步根據(jù)任務(wù)劃分粒度的不同,用一個(gè)活動(dòng)變遷或一個(gè)抽象變遷表示,建立頂層模型,而每個(gè)活動(dòng)之間的因果關(guān)系用庫(kù)所(p)和變遷(t)來(lái)表示。
(2)業(yè)務(wù)過(guò)程開(kāi)始表示為只有一個(gè)起始庫(kù)所的開(kāi)始結(jié)構(gòu),而業(yè)務(wù)過(guò)程結(jié)束則表示為只有一個(gè)終止庫(kù)所的結(jié)束結(jié)構(gòu)。
(3)可以用任何一種審核模型來(lái)替代抽象變遷,每個(gè)被替代的抽象變遷只有一個(gè)輸入庫(kù)所和一個(gè)輸出庫(kù)所,則輸入庫(kù)所和替代控制結(jié)構(gòu)中的輸入庫(kù)所合并,而它的輸出庫(kù)所和替代控制結(jié)構(gòu)中的輸出庫(kù)所合并。
(4)根據(jù)需要采用相應(yīng)的工作流審核模型,并且任何一個(gè)審核模型,包括順序、選擇、并行和循環(huán),可以把審核模型庫(kù)所與相應(yīng)的活動(dòng)鏈接在一起,并且任意2個(gè)審核模型也可以通過(guò)一個(gè)審核模型的輸入庫(kù)所和另一個(gè)審核模型的輸出庫(kù)所合并而鏈接在一起。
(5)重復(fù)步驟(3)和(4),直到所有的審核流程都處理完畢。
以珠寶行業(yè)管理系統(tǒng)項(xiàng)目[6-9]為例,說(shuō)明層次結(jié)構(gòu)化審核業(yè)務(wù)Petri網(wǎng)建模。審核項(xiàng)目任務(wù)從開(kāi)始庫(kù)所出發(fā),首先倉(cāng)庫(kù)管理員提交待審核清單,由商場(chǎng)管理部門(mén)和財(cái)務(wù)部門(mén)并行進(jìn)行調(diào)研并審核。如果審核不通過(guò),2個(gè)部門(mén)分別給出修改意見(jiàn)并返回到初始。如果通過(guò)則將2個(gè)并行審核的文件匯總,然后送至秘書(shū)審核。若審核通過(guò)則送至總經(jīng)理審核,總經(jīng)理審核通過(guò)則問(wèn)題結(jié)束,否則返回初始。
通過(guò)對(duì)實(shí)例分析不難發(fā)現(xiàn),倘若對(duì)問(wèn)題按照傳統(tǒng)建模方法建模,當(dāng)問(wèn)題繁瑣時(shí),不易進(jìn)行全局統(tǒng)籌考慮,容易誤漏信息;當(dāng)進(jìn)行相關(guān)活動(dòng)添加時(shí),由于問(wèn)題活動(dòng)之間的耦合性太強(qiáng),可能會(huì)造成模型關(guān)系的混亂,故利用本文提出的建模方法進(jìn)行建模。
(1)進(jìn)行頂層模型建模,包括2個(gè)活動(dòng)及2個(gè)審核部分。由此建立了頂層模型,如圖4所示。
圖4 審核業(yè)務(wù)頂層模型
其中P1表示開(kāi)始庫(kù)所,包含令牌數(shù)代表著審核項(xiàng)目數(shù)量。抽象變遷Ⅰ對(duì)應(yīng)著一個(gè)并行審核模型,抽象變遷Ⅱ?qū)?yīng)著一個(gè)順序?qū)徍四P?。變遷生成審核清單和信息匯總對(duì)應(yīng)于活動(dòng)提交審核清單和信息匯總。
(2)分析2個(gè)審核部分的結(jié)構(gòu)特點(diǎn),建立3種審核模型,如圖5所示。并行審核模型表示商場(chǎng)管理人員審核通過(guò)的同時(shí)要求財(cái)務(wù)審核通過(guò),兩者假如有一項(xiàng)審核未通過(guò)則需返回重新準(zhǔn)備數(shù)據(jù),兩者皆通過(guò)之后才可以進(jìn)行信息的匯總,如圖5a所示。順序?qū)徍四P捅硎驹诿貢?shū)審核通過(guò)之后才可以繼續(xù)進(jìn)行總經(jīng)理審核,屬于遞推關(guān)系,如圖5b所示。循環(huán)審核模型包含于2種審核模型中,當(dāng)每一步不同意時(shí),則返回相應(yīng)活動(dòng)進(jìn)行循環(huán)審核。
圖5 審核模型
(3)按照本文提出方法進(jìn)行合并操作的工作流過(guò)程模型,如圖6所示。
圖6 工作流過(guò)程模型
審核項(xiàng)目任務(wù)從開(kāi)始庫(kù)所(P1)(包含令牌)出發(fā),首先生成清單變遷主要作用是生成審核數(shù)據(jù)清單。P2獲得令牌表示待審核清單,之后由商場(chǎng)管理部門(mén)和財(cái)務(wù)部門(mén)并行進(jìn)行調(diào)研并審核(對(duì)應(yīng)于商場(chǎng)管理審核和財(cái)務(wù)審核變遷)。P5獲得令牌代表商場(chǎng)管理部門(mén)審核后的結(jié)果,P6獲得令牌代表財(cái)務(wù)部門(mén)審核后的結(jié)果。如果審核不通過(guò),2個(gè)部門(mén)分別給出修改意見(jiàn)對(duì)應(yīng)P3、P4,并返回到生成清單變遷。如果通過(guò)則將2個(gè)并行審核的文件匯總(對(duì)應(yīng)信息匯總變遷),庫(kù)所P7獲得令牌代表2個(gè)部門(mén)審核通過(guò)的結(jié)果,P9獲得令牌代表匯總過(guò)的審核結(jié)果,之后由秘書(shū)對(duì)匯總之后的審核案例進(jìn)行審核(對(duì)應(yīng)秘書(shū)審核變遷)。P10獲得令牌代表秘書(shū)審核的結(jié)果,如果審核不通過(guò),則給出審核意見(jiàn)對(duì)應(yīng)P8,返回生成清單變遷。秘書(shū)審核通過(guò)則給出審核結(jié)果,交由總經(jīng)理審核對(duì)應(yīng)庫(kù)所P11(獲取令牌),總經(jīng)理審核(對(duì)應(yīng)總經(jīng)理審核變遷)通過(guò)則給出意見(jiàn)對(duì)應(yīng)P12(獲得令牌),任務(wù)結(jié)束,令牌歸于庫(kù)所end,其他庫(kù)所無(wú)令牌。如果審核不通過(guò),則給出審核意見(jiàn)對(duì)應(yīng)P13,返回生成清單變遷。
以審核結(jié)構(gòu)為核心的建模方式,可以更清晰地表示審核行為,同時(shí)可降低審核模型內(nèi)部與外部的耦合性。
工作流過(guò)程建模與分析是工作流技術(shù)的重要研究課題之一?;赑etri理論,本文詳細(xì)闡述了一種工作流建模方法,提出了審核模型的概念以及引入了“抽象變遷”概念。此方法可以隱藏子網(wǎng)的內(nèi)部結(jié)構(gòu)和詳細(xì)描述,使子網(wǎng)的描述并行進(jìn)行,整個(gè)模型具有良好的層次結(jié)構(gòu)。通過(guò)修改審核模型來(lái)實(shí)現(xiàn)企業(yè)審核業(yè)務(wù)系統(tǒng)的動(dòng)態(tài)配置和管理,使其更好地解決企業(yè)業(yè)務(wù)繁瑣性、靈活性所帶來(lái)的多變操作。同時(shí)該模型實(shí)現(xiàn)了分層結(jié)構(gòu)化建模,可將系統(tǒng)的復(fù)雜問(wèn)題逐層分解,從而降低系統(tǒng)的復(fù)雜度。
[1]羅海濱,范玉順,吳 澄.工作流技術(shù)綜述[J].軟件學(xué)報(bào),2000,11(7):899-907.
[2]歐陽(yáng)俊,楊貫中,楊 柳,等.一種基于Petri網(wǎng)的審核業(yè)務(wù)工作流模型[J].計(jì)算機(jī)應(yīng)用,2005,25(3):688-690.
[3]盧捍華,閔麗娟,王亞石.工作流主從實(shí)例處理方法及其Petri網(wǎng)建模[J].通信學(xué)報(bào),2010,31(1):92-99.
[4]WfMC.The workflow reference model[EB/OL].[2012-03-10].Technical Report Document Number WfMC-TC-1003,Document Status-Issue 11,http://www.wfmc.org/standards/docs.htm,1995.
[5]李錫祚,韓桂英.一種結(jié)構(gòu)化的工作流過(guò)程建模方法[J].計(jì)算機(jī)工程,2005,31(8):63-65.
[6]邵 虹,張 雷,崔文成,等.面向服務(wù)的工作流管理系統(tǒng)研究[J].計(jì)算機(jī)集成制造系統(tǒng),2008,14(11):2212-2216.
[7]杜彥華,范玉順.基于事件-狀態(tài)-過(guò)程規(guī)則的跨組織工作流協(xié)同方法[J].計(jì)算機(jī)集成制造系統(tǒng),2008,14(7):1342-1348.
[8]周 宇,王 瑋,趙洪斌,等.基于工作流技術(shù)的B/S結(jié)構(gòu)電力生產(chǎn)協(xié)同組織管理系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2008,28(Z1):387-389.
[9]高德平,周國(guó)祥.基于著色Petri網(wǎng)的工作流模型研究與應(yīng)用[J].合肥工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2010,33(2):201-203,218.