專利名稱::一種工作流實例方面成批處理模式的挖掘方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于工作流挖掘和優(yōu)化
技術(shù)領(lǐng)域:
,具體涉及一種工作流實例方面成批處理模式的挖掘方法。
背景技術(shù):
:在制造業(yè)信息化、電子商務(wù)以及現(xiàn)代服務(wù)業(yè)信息基礎(chǔ)設(shè)施中,存在大量以過程為核心的應(yīng)用需求。業(yè)務(wù)流程描述了企業(yè)資源的使用方式,以自動化或者半自動化方式來管理流程能夠大幅度提高業(yè)務(wù)執(zhí)行的工作效率,降低成本,使企業(yè)能更快地適應(yīng)不斷變化的需求和業(yè)務(wù)的增長。起源于生產(chǎn)組織與辦公自動化領(lǐng)域的工作流技術(shù)為實現(xiàn)這一目標(biāo)提供了先進(jìn)的技術(shù)手段。該技術(shù)自20世紀(jì)80年代中期出現(xiàn)以來就得到廣泛關(guān)注并被大量應(yīng)用于企業(yè)實際運作,也一直是研究的熱點之一。1993年8月,工作流管理聯(lián)盟(WorkflowManagementCoalition,WfMC)的成立標(biāo)志著工作流技術(shù)開始進(jìn)入了相對成熟的階段。WfMC的主要職責(zé)是負(fù)責(zé)工作流及工作流管理系統(tǒng)(WorkflowManagementSystem,WfMS)的一些標(biāo)準(zhǔn)化工作。目前該組織的成員已經(jīng)超過了200個,其中包括軟件廠商、科研機構(gòu)與咨詢機構(gòu)。1994年11月29日,WfMC發(fā)布了著名的工作流參考模型(WorkflowReferenceModel),它詳細(xì)描述了WfMS的各個主要組成部分、各部分的功能及相互之間的接口。這些標(biāo)準(zhǔn)的制定對于實現(xiàn)不同廠家的產(chǎn)品之間的互操作及基于工作流執(zhí)行服務(wù)開發(fā)新的應(yīng)用都具有重要而深遠(yuǎn)的影響。在過去的十年里,人們已經(jīng)可以很容易的接觸到工作流管理技術(shù)。除了純粹的工作流管理系統(tǒng)外,如Staffware、COSA,Actionfforkflow等,許多其它的軟件系統(tǒng)也都使用了工作流技術(shù)。SAP等企業(yè)資源計劃(EnterpriseResourcePlanning,ERP)系統(tǒng)、客戶關(guān)系管理(CustomerRelationshipManagement,CRM)系統(tǒng)、供應(yīng)鏈管理(SupplyChainManagement,SCM)系統(tǒng)、企業(yè)間的電子商務(wù)(BusinesstoBusiness,B2B)應(yīng)用等都嵌入使用了工作流技術(shù)。為了本說明書表述的方便,這里以工作流管理聯(lián)盟(WfMC)的定義為標(biāo)準(zhǔn),給出與工作流技術(shù)相關(guān)的概念1)工作流(Workflow)是一類能夠完全或者部分自動執(zhí)行的經(jīng)營過程,它根據(jù)一系列過程規(guī)則、文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間進(jìn)行傳遞與執(zhí)行;2)工作流管理系統(tǒng)(WorkflowManagementSystem,WfMS)是一個軟件系統(tǒng),它完成工作流的定義和管理,并按照在計算機中預(yù)先定義好的工作流邏輯推進(jìn)工作流實例的執(zhí)行;3)業(yè)務(wù)流程(BusinessProcess)指在現(xiàn)實環(huán)境中,能夠?qū)崿F(xiàn)業(yè)務(wù)目標(biāo)和策略的相互連接的過程和活動集。如公文處理流程,投保過程及項目開發(fā)過程等;4)工作流模型(WorkflowModel,也稱為過程定義,即ProcessDefinition)是計算機所能識別的業(yè)務(wù)流程的形式化描述,用來支持運行過程的自動化。過程可分解成一些子過程和活動,其定義主要包括運行過程中涉及到的各種數(shù)據(jù)和參數(shù),如過程的開始和終止條件、各個工作環(huán)節(jié)(活動)及相互之間的控制流和數(shù)據(jù)流關(guān)系以及其它的相關(guān)信息,如組織成員、應(yīng)用和數(shù)據(jù)等。工作流模型由過程模型、組織模型、資源模型以及工作流相關(guān)數(shù)據(jù)四部分組成。過程模型用來定義工作流的過程邏輯,它包括組成工作流的所有活動以及活動間的依賴關(guān)系,它是整個工作流模型的基礎(chǔ)與核心。組織模型用來定義企業(yè)人員的組織結(jié)構(gòu),其主要任務(wù)是為企業(yè)人員執(zhí)行工作流過程提供柔性的組織定義。資源模型用來定義企業(yè)資源的組織結(jié)構(gòu)。而工作流相關(guān)數(shù)據(jù)用來定義工作流執(zhí)行過程中需要用到的數(shù)據(jù);5)過程(Process)是業(yè)務(wù)流程的規(guī)范視圖,由一系列為共同目標(biāo)聯(lián)接在一起的協(xié)同的過程活動組成;6)活動(Activity)是工作流中一個邏輯步驟或環(huán)節(jié)的工作任務(wù),可分為人工操作和自動處理兩類?;顒邮沁^程執(zhí)行中可被工作流機調(diào)度的最小工作單元。它包含的信息包括開始和結(jié)束條件;可參與到此環(huán)節(jié)中的用戶;完成此活動所需的應(yīng)用程序或數(shù)據(jù);以及關(guān)于此活動應(yīng)如何完成的一些限制條件(如時間上的限制等);7)過程/活動實例(Process/ActivityInstance)過程實例是某個工作流過程的一次執(zhí)行。在過程實例的執(zhí)行過程中,WfMS負(fù)責(zé)解釋相應(yīng)的流程定義來生成有關(guān)的活動實例,并根據(jù)定義中的控制規(guī)則協(xié)調(diào)這些活動之間的順序關(guān)系,同時根據(jù)數(shù)據(jù)流動關(guān)系的定義完成活動之間的數(shù)據(jù)傳送。從參與者的角度來說,過程實例的執(zhí)行實際上是由參與者處理它所涉及的那個環(huán)節(jié)的數(shù)據(jù)。完成該環(huán)節(jié)的任務(wù)之后由WfMS根據(jù)相應(yīng)結(jié)果激活后續(xù)環(huán)節(jié),同時通知后續(xù)參與者對之進(jìn)行處理,由此依次反復(fù)直至整個過程完成。每個活動實例代表一個活動的一次調(diào)用,只和一個過程實例相關(guān),并使用過程實例的數(shù)據(jù)。一個過程實例可能由若干活動實例組成,但一個活動實例不能同時屬于幾個過程實例。一股情況下每一個活動實例都將表現(xiàn)為一個工作項(Workltem,它將由某個或某組用戶負(fù)責(zé)完成);8)參與者(Participant)是部分或全部執(zhí)行某個活動實例的資源(注資源最根本的特征是它能夠執(zhí)行特定的任務(wù))。參與者包括實際完成某個活動的人或設(shè)備,它把恰當(dāng)?shù)馁Y源分配給某個可以開始的活動。每位參與者都必須具有屬于某個(某些)角色的屬性;9)工作項(WorkItem):是在一個過程實例中由工作流參與者進(jìn)行的具體工作。一個活動一股包含一個或幾個工作項,這些工作項構(gòu)成任務(wù)給工作流參與者完成。工作項通常是通過工作列表表達(dá)給用戶;10)工作項列表(Worklist)是一個參與者所負(fù)責(zé)的所有工作項的詳細(xì)描述;11)代理(Agent)在工作流系統(tǒng)中,一個獨立的執(zhí)行實體被定義為代理;12)角色(Role)角色標(biāo)識代理在過程模型中對某項任務(wù)或相關(guān)任務(wù)集合具有的訪問權(quán)限和完成能力。角色用來指定指定代理的職責(zé),它表示的是責(zé)任的集合,而代理是扮演一個或多個角色的物理實體。針對不同的工作流系統(tǒng),同一企業(yè)組織結(jié)構(gòu)的劃分可能不同,角色與代理實體的映射關(guān)系由授權(quán)完成。工作流管理系統(tǒng)(WfMS)是支持企業(yè)經(jīng)營過程高效執(zhí)行并監(jiān)控其執(zhí)行過程的計算機軟件系統(tǒng),能有效提高企業(yè)的信息化程度,降低企業(yè)管理成本,更好的實現(xiàn)企業(yè)經(jīng)營目標(biāo)。因此,自20世紀(jì)90年代開始,它吸引了學(xué)術(shù)界與產(chǎn)業(yè)界的廣泛關(guān)注,大量的工作流管理技術(shù)被應(yīng)用到企業(yè)的實際運作。工作流管理系統(tǒng)由預(yù)先建立的工作流模型所驅(qū)動,它最重要的功能之一就是工作流建模。商業(yè)化的工作流管理系統(tǒng),如Staffware、COSA,Actionfforkflow等,都提供了一股的業(yè)務(wù)過程建模與執(zhí)行功能。工作流管理聯(lián)盟(WfMC)確定了用來描述工作流的六個原語,包括Sequence,And-Split,And-Join,OR-Split,OR-Join和Iteration。用這些原語理論上可以對任何的流程進(jìn)行建模?;镜膱?zhí)行路由關(guān)系和原語集有1)順序(Sequential)路由最簡單的路由形式是任務(wù)的順序執(zhí)行,即一個任務(wù)接著另一個任務(wù)被順序的執(zhí)行,通常在他們之間存在清晰的依賴關(guān)系,例如前一個任務(wù)的結(jié)果是后一個任務(wù)的輸入;2)并行(Parallel)路由如果兩個任務(wù)能被同時或以任意順序執(zhí)行,稱之為并行路由。在這種情況下,兩個任務(wù)都需要被執(zhí)行,且互不影響。這兩個任務(wù)開始于And-Split節(jié)點,隨后重新同步于And-Join節(jié)點。And-Split使兩個任務(wù)同步并發(fā)執(zhí)行,而且只有在任務(wù)都已經(jīng)完成后,才能執(zhí)行And-Join節(jié)點;3)條件(Conditional)路由也稱為選擇路由。當(dāng)兩個或更多任務(wù)之間存在選擇時,稱之為選擇路由。選擇路由開始于OR-Split節(jié)點,最后重匯合于OR-Join節(jié)點。OR-Split使得兩個或更多任務(wù)選擇其一進(jìn)行執(zhí)行,只要有其中一個任務(wù)執(zhí)行完畢,OR-Join便可以執(zhí)行;4)循環(huán)(Iteration)路由有時需要執(zhí)行一個任務(wù)多次,例如一個任務(wù)被反復(fù)執(zhí)行,直到滿足其后的“檢查”任務(wù)結(jié)果為止,這種路由形式稱之為循環(huán)(或迭代)路由。但是,工作流建模并不是一件容易的事情,產(chǎn)業(yè)界的實踐表明定義工作流模型非常耗時而且易錯,在大部分的情況下需要專家的參與。目前已有系統(tǒng)中建立時的過程定義與運行時的過程執(zhí)行也并不能完全相符合,而動態(tài)的修改過程定義與過程實例又將帶來一系列的困難。針對這一問題,“工作流挖掘,,(workflowmining)及類似的概念“過程挖掘”(processmining)被提出,即從系統(tǒng)工作日志中提取工作流模型。它能從當(dāng)前實際運行的業(yè)務(wù)過程工作日志中構(gòu)建出工作流模型。作為一種工作流建模技術(shù),它還有助于分析與優(yōu)化現(xiàn)有工作流管理系統(tǒng)中的工作流,檢測設(shè)計中的不足,調(diào)整工作流模型以適應(yīng)應(yīng)用環(huán)境的變化。在實際應(yīng)用中,工作流的生命周期包括工作流設(shè)計、工作流配置、工作流執(zhí)行、工作流診斷四個階段。設(shè)計階段的主要任務(wù)是構(gòu)建工作流模型。配置階段主要是根據(jù)設(shè)計好的工作流模型,在工作流管理系統(tǒng)中進(jìn)行具體配置,以使系統(tǒng)按照業(yè)務(wù)模型執(zhí)行。在執(zhí)行階段,工作流過程實例被系統(tǒng)執(zhí)行;同時,工作流系統(tǒng)還可以生成記錄業(yè)務(wù)過程運轉(zhuǎn)情況的系統(tǒng)日志。診斷階段可以為設(shè)計階段提供輸入,從而使工作流生命周期成為一個循環(huán)的過程。從工作流生命周期的角度看,傳統(tǒng)的工作流建模方法主要集中于前兩個階段,通常由建模者根據(jù)企業(yè)工作流程來定義模型;而工作流挖掘方法則主要針對后兩個階段,通過收集和分析系統(tǒng)在運行階段的事務(wù)數(shù)據(jù),自動的推導(dǎo)出能反映企業(yè)業(yè)務(wù)實際執(zhí)行過程的工作流模型,從而為工作流維護(hù)及工作流模型再設(shè)計提供參考。工作流挖掘的起點是收集工作流過程的執(zhí)行信息,并假定能夠得到符合下列要求的事件記錄1)每一個事件涉及一個任務(wù),即一個工作的邏輯單元;2)每一個事件涉及一個實例,即一個工作流過程實例;3)事件在時間上都是有序的。這些事件記錄一股都容易從工作流日志中得到,但是,對于較復(fù)雜的工作流模型,工作流日志中并不能記錄它的每一種可能執(zhí)行路線,另外,實際的工作流日志中往往是有噪聲的,即部分記錄不正確、不完整或者記錄的僅僅是個例外。因此,如何從業(yè)務(wù)記錄中提取出符合實際的過程的工作流模型,是一件富有挑戰(zhàn)性的工作。在過去的十年中,國內(nèi)外學(xué)者對工作流模型挖掘算法做了大量研究,一系列工作流模型的挖掘算法被提出。其中,較為典型并具有實際應(yīng)用價值的有如下三個l)Aalst等提出的基于工作流網(wǎng)的α算法;2)Herbst等提出的基于隨機活動圖的歸納式算法(InW0LvE);3)Schimm的基于塊狀結(jié)構(gòu)模型的多階段挖掘方法。Aalst等人的α算法能夠成功的處理一類與實際應(yīng)用相關(guān)的工作流網(wǎng)(WF-net),并能構(gòu)建出一個符合工作流日志行為要求的最簡工作流網(wǎng)。工作流網(wǎng)是一種對工作流的控制流維度建模的Petri網(wǎng),它定義了單個案例的動態(tài)行為。任務(wù)通過變遷建模,因果關(guān)系使用庫所和弧建模,庫所對應(yīng)著條件,能用做任務(wù)的前條件和/或后條件。α算法的基礎(chǔ)是由工作流日志導(dǎo)出的活動間的四種時序關(guān)系>w、一¥、~與I|w。其中>w描述活動的順序出現(xiàn),一w描述了活動間的因果關(guān)系,與I|¥用于區(qū)別并行與選擇。、、#,&IIw都能由>關(guān)系導(dǎo)出,因此,該算法僅要求工作流日志關(guān)于活動間的>關(guān)系是完整的,而不要求工作流日志中包括所有可能的活動執(zhí)行序列。該算法能夠很好的處理不含短循環(huán)(循環(huán)長度為1或2)的結(jié)構(gòu)化工作流網(wǎng)(SWF-net),但對于包含短循環(huán)或非自由選擇結(jié)構(gòu)的工作流網(wǎng)等,算法得出的模型在行為特性上與實際模型存在著差異。α算法在應(yīng)用時要求過程中活動名是唯一的,即工作流模型中不允許有多個構(gòu)建塊表示同一個任務(wù)。但這一要求與現(xiàn)實中的一些工作過程有沖突,Herbst等人提出的歸納式算法解決了這一問題。它主要有歸納與轉(zhuǎn)換兩個階段,在歸納階段根據(jù)工作流日志生成一個隨機活動圖(SAG),在轉(zhuǎn)換階段將它轉(zhuǎn)換為由ADONIS定義語言(ADL)表示的塊狀結(jié)構(gòu)工作流模型。此外,它也適合于解決一股的無重復(fù)活動結(jié)點的工作流模型挖掘問題。但是,該算法在轉(zhuǎn)換階段并不能將所有的SAG都有效轉(zhuǎn)化為等價的ADL工作流模型,這影響了它的性能。盡管部分工作流管理系統(tǒng)(如MQSeriesWorkflow)使用類似于SAG的描述語言,但該算法在歸納階段產(chǎn)生的隨機活動圖是工作流模型的次優(yōu)描述,并不能清晰的表示出活動的并行行為。Schimm的多階段挖掘方法則主要挖掘塊狀結(jié)構(gòu)的工作流模型。與前兩種方法類似,該方法首先生成初始工作流模型,然后進(jìn)行模型優(yōu)化。不同的是,其初始模型是面向塊的元模型而不是面向圖形的元模型,對初始模型的優(yōu)化基于符號重寫規(guī)則而不是基于圖形的相關(guān)技術(shù)。另外,它能挖掘出更準(zhǔn)確的工作流模型,其生成的工作流模型符合完備性、最小性及無冗余這三個要求。該方法也有一定的局限性,例如,它沒有解決多活動名問題,但這一點對實踐影響不大,因為許多工作流管理系統(tǒng)(如MQSeriesWorkflow)不會出現(xiàn)這一問題。此外,在應(yīng)用該方法時,需要對原始工作流日志文件進(jìn)行有效的數(shù)據(jù)預(yù)處理。Staffware是目前世界上應(yīng)用最廣泛的工作流管理系統(tǒng)之一,下面以某Staffware系統(tǒng)中的工作流日志文件為基礎(chǔ),討論一個實際的工作流模型挖掘過程,在挖掘算法上使用Aalst等人的α算法并假定日志記錄是無噪的。表1是StaffVare在執(zhí)行該模型時生成的工作流日志片斷。該表分組列出了該模型的各個實例的執(zhí)行過程,例如注冊(“Register”)、發(fā)送問卷調(diào)查("Sendquestionnaire")("Receivequestionnaire")("Evaluate")及存檔(“Archive”)。其中第一列是任務(wù)描述,第二列是事件類型,第三列是觸發(fā)事件的用戶,第四列是時間戳標(biāo)志。表IStaffware系統(tǒng)中工作流日志片斷表1中的日志片斷可以抽象為如表2所示的形式,其中“TaskΑ”表示注冊活動(“Register”),“TaskB”表示發(fā)送問卷調(diào)查活動("Sendquestionnaire,,),"TaskC”表示評價活動("Evaluate"),"TaskD”表示接收問卷調(diào)查活動("Receivequestionnaire"),"TaskΕ”表示存檔活動("Archive"),"TaskF”表示處理投訴活動("Processcomplaint”),“TaskG”表示審查投訴活動(“Checkprocessing”),“TaskH”表示接收等待超時活動(“ReceiveTimeout”)。CaseS-CaselO分別代表工作流模型的不同過程實例。該表包含了工作流挖掘時的最少信息。表2工作流日志的抽象表示下面用α算法推導(dǎo)建立工作流模型。第一步明確活動間的基本關(guān)系。日志中共含有3個工作流案例O1={Α,B,C,D,Ε},σ2={Α,B,C,D,F(xiàn),G,Ε},σ3={A,B,C,D,H,F(xiàn),G,F(xiàn),G,E}。在此基礎(chǔ)上,容易得出如下關(guān)系1)>w關(guān)系A(chǔ)>WB、B>WC、C>WD、D>WE、D>WF、G>WE、D>WH、H>WF、F>WG、G>WF;2)—w關(guān)系A(chǔ)—WB、B—WC、C—WD、D—WE、D—WF、G—WE、D—WH、H—WF;3)I|w關(guān)系G||WF、F||WG。第二步用α算法進(jìn)行工作流挖掘。1)TW={A,B,C,D,E,F(xiàn),G,H};2)Ti={A};3)T0={E};4)Xw={({A},{B}),({B},{C}),({C},{D}),({D},{E}),({D},{F}),({G},{E}),({D},{H}),({H},{F}),({D},{E,F(xiàn)})};5)Yw={({A},{B}),({B},{C}),({C},{D}),({G},{E}),({D},{H}),({H},{F}),({D},{E,F(xiàn)})};6)Pw={p({A},{B}),p({B},{C}),p({C},{D}),p({G},{E}),p({D},{H}),ρ({H},{F}),ρ({D},{Ε,F})}U{iw,ow};7)Fw={(A,p({A},{B})),(p({A},{B}),B),(B,ρ({B},{C})),(ρ({B},{C}),C),(C,ρ({C},{D})),(ρ({C},{D}),D),(D,p({D},{E,F(xiàn)})),(p({D},{E,F(xiàn)}),E),(D,p({D},{E,F(xiàn)})),(p({D},{E,F(xiàn)},F(xiàn)),(G,p({G},{E})),(p({G},{E}),E),(D,p({D},{H})),(p({D},{H}),H),(H,ρ({H},{F})),(ρ({H},{F}),F),(iw,A),(E,ow)};8)α(w)={Tw,Pw,Fj。第三步用WF-net(工作流網(wǎng))描述工作流過程模型?!俺膳幚怼彼枷胱钤缈勺匪莸讲僮飨到y(tǒng)領(lǐng)域,但傳統(tǒng)的工作流模型并沒有提供這一方面的支持。工作流是一類能夠完全或部分自動執(zhí)行的業(yè)務(wù)過程,活動是工作流中的一個邏輯步驟或者環(huán)節(jié)。工作流活動的成批處理,是指通過將同一類型活動的多個工作流活動實例進(jìn)行合并處理,從而使原本多個活動實例的分別執(zhí)行變?yōu)槌山M合并執(zhí)行。成批處理可以降低活動執(zhí)行成本和提高活動執(zhí)行效率,而這一語義在實際應(yīng)用中也非常普通,并十分重要。例如,企業(yè)或政府集中采購業(yè)務(wù)就需要對同一供應(yīng)商的不同采購申請活動合成一個集中采購活動,即將來自多個采購申請部門的多張申請單合并到集中采購部門的一張采購訂單來處理;物流優(yōu)化配送中需要將若干個客戶的訂單合并為一次運輸單以節(jié)省運輸費用。在工作流的實際應(yīng)用中還有很多這種需要在某個階段對過程或活動實例進(jìn)行合并處理的情形。但是,由于傳統(tǒng)的工作流模型中并不支持活動的成批處理,現(xiàn)有的工作流挖掘算法均未考慮工作流實例方面的成批處理模式挖掘問題。
發(fā)明內(nèi)容本發(fā)明要解決技術(shù)問題是提供一種工作流實例方面成批處理模式的挖掘方法,本發(fā)明能為工作流模型設(shè)計與工作流系統(tǒng)管理工作提供理論和實踐上的幫助,有利于工作流模型的優(yōu)化設(shè)計及工作流執(zhí)行性能的提高。本發(fā)明為解決上述技術(shù)問題所采用的技術(shù)方案是一種工作流實例方面成批處理模式的挖掘方法,其特征在于,包括以下步驟步驟1利用傳統(tǒng)的工作流挖掘算法得到包含在工作流日志中的初始工作流模型;步驟2從工作流日志中識別出可成批處理工作流活動及其成批處理特征;步驟3根據(jù)步驟2的結(jié)果識別出活動成批處理區(qū),從而獲得隱含在初始工作流模型中的可成批處理工作流活動區(qū);所述的步驟2為包括以下步驟(1)取工作流模型中開始活動后的第一個工作流活動r;(2)對與工作流活動r相應(yīng)的工作流日志記錄集進(jìn)行分析,找出工作流活動r的所有成批處理依賴BDx—y;(3)對與工作流活動r相應(yīng)的工作流日志記錄集進(jìn)行分析,找出工作流活動r的所有條件成批處理依賴CBDxID—y;(4)如果步驟(2)得到了至少一個成批處理依賴BDx—y或者步驟(3)得到了至少一個條件成批處理依賴CBDxID—y,則該工作流活動r為可成批處理的工作流活動,將工作流活動r的每一個BDx—y或CBDx|D—y以BF=<x,D,y>的形式保存,則得到工作流活動r的一個成批處理特征,工作流活動r的成批處理特征的集合包含了所有的工作流活動r的成批處理特征;(5)取工作流模型中的下一個工作流活動,重復(fù)(2),(3),⑷操作,直到下一個活動為工作流結(jié)束活動為止;獲得該工作流模型中所有的可成批處理工作流活動及其成批處理特征;步驟(2)中的成批處理依賴BDx—y的定義為若某r(XY)及χGX,yGY對任意元組ti;t」er(XY),有表達(dá)式Conditionl成立,則該成批處理依賴記為BDx—y,「—n^力.,/,[χ]</,[χ];Condition1=^L」V,M=少],Φ]=^χ];其中,X=(xl,x2,...,xn),稱為輸入集;Y是一組輸出變量的集合,Y=(yl,y2,...,ym),稱為輸出集;集合XUY記為XY;x為輸入變量,y為輸出變量,r(XY)為XY上的關(guān)系表,r(XY)是一組元組的集合,t為r(XY)中的一個元組,t[xi]與t[yi]分別表示對于元組t在X的某一個變量xi與Y的某一個變量yi上的取值;D為變量集合,表示為D=(xi,...,xj);步驟(3)中的條件成批處理依賴CBDx|D—y的定義為若某r(XY)及xeX,yGY,D^X-χ對任意元組ti;tjer(XY),、[D]=t」[D],有BDx—y成立,則該條件成批處理依賴可記為CBDx|D—y;所述的步驟3具體包括以下步驟(a)對工作流日志記錄集進(jìn)行分析,對其所有的工作流活動找出所有滿足皿>關(guān)系的工作流活動對,得到集合Z={(Α,Β)|(Α,Β)εχΛΑαΒ};(b)若可成批處理的工作流活動集S非空,取一個可成批處理的工作流活動,設(shè)為w;否則,算法結(jié)束。(c)利用集合Y與S,創(chuàng)建一個包含w的活動成批處理區(qū)Tbi,設(shè)Tbi=<Τη,...,Tij,...,Ti)(η彡1),滿足W=Tij(1彡j彡η);(d)從集合S中刪除元素Til,...,Tij,...,Ti;(e)重復(fù)操作(b),(C),(d),直到算法結(jié)束;步驟(a)中的aawb定義為對工作流活動b,若在工作流日志中的僅存在工作流活動a使得a>wb成立,則記為aawb,其中的a>wb的定義為對工作流活動a與b,若在工作流日志中的存在一個活動序列σ=、、八&,并有、=&,、+1=13,1£{1,Λ,η}成立,則記為a>wb。采用α算法獲得工作流日志,用工作流網(wǎng)描述工作流模型。本發(fā)明的有益效果本發(fā)明的技術(shù)效果是,克服了在工作流建模階段完全由人工構(gòu)建工作流模型易受建模者主觀經(jīng)驗的影響(模型的流程常常過于理想化,不能夠反映復(fù)雜和靈活的實際執(zhí)行情況)、人力與時間投入較大等弊端,利用本技術(shù)發(fā)明可自動從工作流系統(tǒng)的執(zhí)行日志中發(fā)現(xiàn)工作流活動成批處理特征及工作流活動實例成批處理模式。另外,這種實例方面的成批處理廣泛存在于工作流的實際應(yīng)用中,因此,本發(fā)明對促進(jìn)活動成批處理在工作流系統(tǒng)的實際應(yīng)用具有十分重要的理論與現(xiàn)實意義。圖1為本發(fā)明提供的工作流活動實例成批處理不同情形的示意圖;圖2為本發(fā)明提供的用于處理共享租車流程的模型圖;圖3為本發(fā)明提供的用于處理共享租車流程的簡化模型圖;圖4為本發(fā)明提供的工作流實例方面成批處理模式的挖掘方法的示意具體實施例方式實施例1圖1描述了工作流活動實例成批處理不同情形的示意圖,在圖1中,工作流類型W有3個活動A、B、C,用虛線所框住的活動表示可成批處理的活動,稱其為成批處理區(qū)(BPABatchingProcessingArea),虛線框上方的文字表示該活動的執(zhí)行者。假設(shè)系統(tǒng)中存在工作流類型W的兩個實例wl、w2,圖1.a中,只有活動B需要考慮成批處理。圖1.b中,盡管活動B、C均要考慮成批處理,但是它們的成批處理是相互獨立的,彼此不存在影響。圖1.c中的情況則與圖1.b不同,W中活動B、C將采用同一種分組方式,表示只在活動B處整合一次,然后在整個BPA中均將按照整合后的方式處理,一直到離開BPA后,才恢復(fù)原來的狀態(tài)。圖2為工作流活動實例成批處理的一個案例,其由七個活動組成“申請”、“審批”、“拒絕通知”、“派車”、“通知司機”、“通知乘車人”、“收費”。一股情況下,系統(tǒng)中的租車實例是獨立執(zhí)行的,即一輛汽車每次為一位乘客服務(wù),但是如果汽車可容納一個以上乘客,那么在乘客有共同的目的地及出發(fā)時間,并同意與其它人一同乘車的前提下,一輛汽車每次可以同時為多位乘客服務(wù)。換言之,多個不同的過程實例中的活動實例按照某一規(guī)則進(jìn)行分組,各組的多個活動實例的工作任務(wù)最終成組為一個活動實例的執(zhí)行來完成,這便是工作流活動實例的成批處理。在圖2中,虛線框內(nèi)的活動均為可成批處理工作流活動,同一虛線框內(nèi)的活動組成了一個可成批處理工作流活動區(qū)。本發(fā)明提供一種從工作流系統(tǒng)的執(zhí)行日志中發(fā)現(xiàn)工作流工作流活動實例成批處理特征及活動成批處理區(qū)的方法,其包括以下步驟1)利用傳統(tǒng)的工作流模型挖掘算法得到包含在工作流日志中的初始工作流模型;2)開始活動成批處理特征識別,主要通過分析工作流日志中的工作流相關(guān)數(shù)據(jù)識別出可成批處理工作流活動及其成批處理特征;3)進(jìn)行活動成批處理區(qū)識別,從而獲得隱含在初始工作流模型中的可成批處理工作流活動區(qū)。14圖4給出了本發(fā)明的操作步驟的示意圖。其工作起點為工作流日志。下面首先以圖2中的共享租車流程為例來說明利用本方法進(jìn)行挖掘時工作流實例日志數(shù)據(jù)的特點。如果分別用A,...,G來表示該流程中的工作流活動,則該流程可簡化為圖3所示。對于該流程,挖掘時可采用的工作流控制數(shù)據(jù)與部分工作流相關(guān)數(shù)據(jù)分別如表3及表4、表5、表6所示,其中ActivityA為“申請”活動、ActivityB為“審批”活動、ActivityC為“派車”活動、ActivityD為“通知司機”活動、ActivityE為“通知乘車人”活動、ActivityF為“收費”活動、ActivityG為“拒絕通知”活動。表3的工作流控制數(shù)據(jù)可供現(xiàn)有工作流挖掘算法使用以得到工作流模型,表4、表5、表6則主要供本發(fā)明所提出的工作流實例方面成批處理模式的挖掘方法使用。表3中,Casel-Case4分別代表工作流模型的不同過程實例。例如,記錄“Case1,ActivityΑ”則代表了過程實例Casel中活動ActivityA(“申請”活動)的一次執(zhí)行。而記錄“CaseLActivityB”位置在記錄“CaseLActivityΑ”之后,則說明過程實例Casel中ActivityB活動(“審批”活動)的某次執(zhí)行發(fā)行在ActivityA(“申請”活動)執(zhí)行之后。表4表示的語義是,根據(jù)乘車申請的“出發(fā)時間”、“目的地”、“乘車人數(shù)”分析到達(dá)目的地所需乘車時間,乘車費用,并安排司機,從而確定“乘車費用”、“歷時(分)”、“司機編號”。每派一輛車,其執(zhí)行開銷都視為一個單元。即表4中的“執(zhí)行開銷”數(shù)據(jù)項以按需安排的車輛數(shù)目計算。表5表示的語義是,根據(jù)“司機編號”通知司機,并告知其“出發(fā)時間”、“目的地”、“乘車人數(shù)”,由司機決定使用哪一輛車,從而確定“車牌號碼”。每通知一個司機,其執(zhí)行開銷都視為一個單元。即表5中的“活動執(zhí)行開銷”數(shù)據(jù)項以按需通知的乘車人計算。表6表示的語義是,將“出發(fā)時間”、“目的地”、“車牌號碼”、“歷時(分)”、“費用(元)”信息告知每個乘車人,每通知一個乘車人,其執(zhí)行開銷都視為一個單元。。即表6中的“執(zhí)行開銷”數(shù)據(jù)項以按需通知的乘車人計算。另外,表4中“費用(元)”數(shù)據(jù)項表示一次乘車總共所收取的費用,表6中“費用(元)”數(shù)據(jù)項則表示對每個乘車人所收取的費用,即一次乘車總共所收取的費用/乘車人數(shù)=每個乘車人所收取的費用。表3工作流控制數(shù)據(jù)表4工作流活動C的相關(guān)數(shù)據(jù)表5工作流活動D的相關(guān)數(shù)據(jù)17表6工作流活動E的相關(guān)數(shù)據(jù)在步驟1)中,利用傳統(tǒng)的工作流模型挖掘算法對表3中的數(shù)據(jù)進(jìn)行挖掘,可得到包含在工作流日志中的初始工作流模型,在完成步驟1)后便可進(jìn)入步驟2)。根據(jù)所采用的工作流模型挖掘算法的不同,步驟1)所得到的模型表示會不同,但這不影響步驟2)與步驟3)的進(jìn)行,即傳統(tǒng)的工作流模型挖掘算法的挖掘能力不影響本發(fā)明的挖掘效果。為便于說明步驟2),下面首先對一些符號與術(shù)語進(jìn)行說明。假設(shè)Y=F(X)是一個數(shù)學(xué)函數(shù),X是一組取值離散的輸入變量的集合,X=(xl,χ2,...,χη),并稱X為輸入集;Y是一組輸出變量的集合,Y=(yl,!2,...,ym),并稱Y為輸出集;F是從X到Y(jié)之間的一種映射關(guān)系。集合XUY可簡記為XY。每一個輸入變量,設(shè)為X,與每一個輸出變量,設(shè)為y,都有一個取值范圍,可分別表示為dom(X)與dom(y)。對于變量集合D=(xi,...,xj),可用dom(D)來描述變量的笛卡爾乘積(cartesianproduct),即dom(D)=dom(di)Χ...Xdom(dp,并可簡記為D=(IiX...Χ+。XY上的關(guān)系表可記為r(XY),r(XY)是一組元組的集合,對于r(XY)中的每一個元組,設(shè)為t,都有texlXx2X...XxnXylXy2X...Xym。另外,對于元組t在X的某一個變量xi與Y的某一個變量yi上的取值,可分別用t[xi]與t[yi]表示。步驟2)用到的主要定義如下定義1設(shè)r為一工作流活動,X={xl,...,χη}是r的輸入?yún)?shù)集,Y={yl,...,ym}是r的輸出參數(shù)集,xl,...,χη,yl,...,ym的值域分別為XI,...,Xn,Y1,...,Ym。工作流日志中關(guān)于r的相關(guān)數(shù)據(jù)可構(gòu)成一個關(guān)系表,表示為r(XY),其任一元組t都滿足teXIX··.XXnXYl...XYm。例如,表7、表8、表9均分別代表了一個關(guān)系表,除第一行描述信息外,表中的每一行數(shù)據(jù)為一個元組。定義2成批處理依賴(BD)是一種約束。若某r(XY)及xeX,yeY對任意元組ti;tjer(XY),有表達(dá)式Conditionl成立,則該成批處理依賴可記為BDx—y,也即輸出參數(shù)y成批處理依賴于輸入?yún)?shù)X。Condition1=^\φ]=φΙtΧχ\=IjYxl表達(dá)式Conditionl描述了成批處理依賴關(guān)系的數(shù)學(xué)表達(dá)式,其中的符號“/”表示算術(shù)除法。定義3條件成批處理依賴(CBD)是一種約束。若某r(XY)及xeX,yeY,D^X-χ對任意元組ti;tjer(XY),、[D]=tj[D],有BDx—y成立,則該條件成批處理依賴可記為CBDxID—y,也即當(dāng)集合D中各輸入?yún)?shù)取值一致時,輸出參數(shù)y成批處理依賴于輸入?yún)?shù)X。定義4對工作流活動r,若有BDx—y或CBDx|D—y成立,則r為可成批處理的工作流活動。其中,X,y分別為r的某輸入數(shù)據(jù)項與某輸出數(shù)據(jù)項,D為r的輸入數(shù)據(jù)項的子集。定義5對可成批處理的工作流活動r,若有BDx—y或CBDx|D—y成立,則三元組BF=<x,D,y>構(gòu)成了r的一個成批處理特征。完成步驟2)的活動成批處理特征識別算法如算法1所示,其用到了由現(xiàn)有工作流模型挖掘算法得到的工作流模型,具體如下算法1活動成批處理特征識別算法(1)取工作流模型中開始活動后的第一個工作流活動r。(2)對與r相應(yīng)的工作流日志記錄集進(jìn)行分析,找出r的所有成批處理依賴BDx—y。(3)對與r相應(yīng)的工作流日志記錄集進(jìn)行分析,找出r的所有條件成批處理依賴CBDxID—y。(4)如果(2),(3)操作得到的結(jié)果非空,則r為可成批處理的工作流活動,保存r的所有成批處理特征。(5)取工作流模型中的下一個工作流活動,重復(fù)(2),(3),(4)操作,直到下一個活動為工作流結(jié)束活動為止。在完成步驟2)后,可得到工作流模型中可成批處理的工作流活動的集合及成批處理特征的集合,隨后便可進(jìn)入步驟3)。步驟3)用到的主要定義如下定義6對工作流活動a與b,若在工作流日志中的存在一個活動序列ο=I^t2Atn,并有tj=a,ti+1=b,ie{1,Λ,η}成立,則記為a>wb。定義7對工作流活動b,若在工作流日志中的僅存在工作流活動a使得a>wb成立,則記為aawb。定義8對工作流活動t,設(shè)其可成批處理特征集為BF(t),則對工作流活動T1,T2,...,Tn,若TB=<Τ1Τ2,...,Τη>(η彡1)為一個活動成批處理區(qū)當(dāng)且僅當(dāng)D^TiJmGTBJ1αWTM.2)WT1GtBF(Ti)^0.,20在定義8中,條件1)表示TB中任意的活動Ti與Ti+1都滿足Ti+1是Ti的唯一執(zhí)行邏輯順序后繼,條件2)表示TB中任意的活動都是可成批處理的工作流活動,條件3)表示TB中任意的兩個活動都具有共同成批處理特征,條件4)、5)表示執(zhí)行邏輯順序相臨的兩個活動成批處理區(qū)不具有任何共同成批處理特征。完成步驟3)的活動成批處理區(qū)識別算法如算法2所示,其用到了由算法1活動成批處理特征識別算法得到的可成批處理的工作流活動的集合及其成批處理特征的集合。算法2具體如下算法2活動成批處理區(qū)識別算法(1)對工作流日志記錄集進(jìn)行分析,對其所有的工作流活動找出所有滿足皿>關(guān)系的工作流活動對,得到集合Z={(A,B)I(A,B)eXΛAαB}。(2)若可成批處理的工作流活動集S非空,取一個可成批處理的工作流活動,設(shè)為W0否則,算法結(jié)束。(3)利用集合Y與S,創(chuàng)建一個包含w的活動成批處理區(qū)Tbi,設(shè)Tbi=<Τη,...,Tij,...,TiMn彡1),滿足w=TiJd彡j彡η)。(若Tbi為第一個活動成批處理區(qū),則為Tb1,依此類推)(4)從集合S中刪除元素Til,...,Tij,...,凡。(5)重復(fù)操作(2),(3),(4),直到算法結(jié)束。下面通過一個示例來簡要描述算法1及算法2的執(zhí)行過程。設(shè)工作流日志L已知,表3及表7、表8、表9(表7、表8、表9為表4、表5、表6數(shù)據(jù)的一股性抽象表示)均為L中的數(shù)據(jù),且已通過某工作流挖掘算法對表3挖掘獲得了工作流模型Μ,因此可應(yīng)用算法1及算法2。表7工作流活動C的相關(guān)數(shù)據(jù)表8工作流活動D的相關(guān)數(shù)據(jù)表9工作流活動E的相關(guān)數(shù)據(jù)將工作流模型M及表7、表8、表9作為算法1的輸入,運行算法1后,可得到如表10所示的結(jié)果,其中,在所發(fā)現(xiàn)的活動成批處理特征一欄中形如“X.Y”符號表示工作流活動ActivityX的數(shù)據(jù)項Y。例如,C.X3表示工作流活動ActivityC的數(shù)據(jù)項x3。表10運行算法1得到的部分工作流活動成批處理特征識別結(jié)果將表10所示的結(jié)果作為算法2的輸入,運行算法2后,可得到如表11所示的結(jié)果。其中,在運行算法2時,雖然(C.x3,C.x2,C.y3)與(D.x4,D.x2,D.y2)中的符號構(gòu)成不一樣,但在表7中項集(x3,x2,y3)的每一個具體取值都能在表8中找到與項集(x4,x2,y2)相對應(yīng)的取值,因此,(C.X3,C.X2,C.y3)與(D.x4,D.x2,D.y2)構(gòu)成了活動ActivityC與ActivityD的一個共同成批處理特征。此外,由工作流模型M也易得CawD。因此,〈ActivityC,ActivityD>構(gòu)成了工作流模型M中的一個成批處理區(qū)。其表達(dá)的語義是,當(dāng)?shù)竭_(dá)目的地一致時,多個乘車人共乘一輛出租車能減少安排出租車與通知司機的執(zhí)行開銷。表11運行算法1得到的部分工作流活動成批處理區(qū)識別結(jié)果以上所述的實例對本發(fā)明的工作流實例方面成批處理模式的挖掘方法作了詳細(xì)的說明,但本發(fā)明的具體實現(xiàn)形式并不局限于此,對于本
技術(shù)領(lǐng)域:
的一股技術(shù)人員,在不背離本發(fā)明所述的精神和權(quán)利要求范圍的情況下對它進(jìn)行的各種顯而易見的改變都在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求一種工作流實例方面成批處理模式的挖掘方法,其特征在于,包括以下步驟步驟1利用傳統(tǒng)的工作流挖掘算法得到包含在工作流日志中的初始工作流模型;步驟2從工作流日志中識別出可成批處理工作流活動及其成批處理特征;步驟3根據(jù)步驟2的結(jié)果識別出活動成批處理區(qū),從而獲得隱含在初始工作流模型中的可成批處理工作流活動區(qū);所述的步驟2為包括以下步驟(1)取工作流模型中開始活動后的第一個工作流活動r;(2)對與工作流活動r相應(yīng)的工作流日志記錄集進(jìn)行分析,找出工作流活動r的所有成批處理依賴BDx→y;(3)對與工作流活動r相應(yīng)的工作流日志記錄集進(jìn)行分析,找出工作流活動r的所有條件成批處理依賴CBDx|D→y;(4)如果步驟(2)得到了至少一個成批處理依賴BDx→y或者步驟(3)得到了至少一個條件成批處理依賴CBDx|D→y,則該工作流活動r為可成批處理的工作流活動,將工作流活動r的每一個BDx→y或CBDx|D→y以BF=<x,D,y>的形式保存,則得到工作流活動r的一個成批處理特征,工作流活動r的成批處理特征的集合包含了所有的工作流活動r的成批處理特征;(5)取工作流模型中的下一個工作流活動,重復(fù)(2),(3),(4)操作,直到下一個活動為工作流結(jié)束活動為止;獲得該工作流模型中所有的可成批處理工作流活動及其成批處理特征;步驟(2)中的成批處理依賴BDx→y的定義為若某r(XY)及x∈X,y∈Y對任意元組ti,tj∈r(XY),有表達(dá)式Conditionl成立,則該成批處理依賴記為BDx→y,<mrow><mi>Condition</mi><mn>1</mn><mo>=</mo><mfencedopen='{'close=''><mtable><mtr><mtd><msub><mi>t</mi><mi>i</mi></msub><mo>[</mo><mi>y</mi><mo>]</mo><mo>/</mo><msub><mi>t</mi><mi>j</mi></msub><mo>[</mo><mi>y</mi><mo>]</mo><mo>></mo><msub><mi>t</mi><mi>i</mi></msub><mo>[</mo><mi>x</mi><mo>]</mo><mo>/</mo><msub><mi>t</mi><mi>j</mi></msub><mo>[</mo><mi>x</mi><mo>]</mo><mo>,</mo></mtd><mtd><msub><mi>t</mi><mi>i</mi></msub><mo>[</mo><mi>x</mi><mo>]</mo><mo><</mo><msub><mi>t</mi><mi>j</mi></msub><mo>[</mo><mi>x</mi><mo>]</mo><mo>;</mo></mtd></mtr><mtr><mtd><msub><mi>t</mi><mi>i</mi></msub><mo>[</mo><mi>y</mi><mo>]</mo><mo>=</mo><msub><mi>t</mi><mi>j</mi></msub><mo>[</mo><mi>y</mi><mo>]</mo><mo>,</mo></mtd><mtd><msub><mi>t</mi><mi>i</mi></msub><mo>[</mo><mi>x</mi><mo>]</mo><mo>=</mo><msub><mi>t</mi><mi>j</mi></msub><mo>[</mo><mi>x</mi><mo>]</mo><mo>;</mo></mtd></mtr></mtable></mfenced></mrow>其中,X=(x1,x2,...,xn),稱為輸入集;Y是一組輸出變量的集合,Y=(y1,y2,...,ym),稱為輸出集;集合X∪Y記為XY;x為輸入變量,y為輸出變量,r(XY)為XY上的關(guān)系表,r(XY)是一組元組的集合,t為r(XY)中的一個元組,t[xi]與t[yi]分別表示對于元組t在X的某一個變量xi與Y的某一個變量yi上的取值;D為變量集合,表示為D=(xi,...,xj);步驟(3)中的條件成批處理依賴CBDx|D→y的定義為若某r(XY)及x∈X,y∈Y,對任意元組ti,tj∈r(XY),ti[D]=tj[D],有BDx→y成立,則該條件成批處理依賴可記為CBDx|D→y;所述的步驟3具體包括以下步驟(a)對工作流日志記錄集進(jìn)行分析,對其所有的工作流活動找出所有滿足aawb關(guān)系的工作流活動對,得到集合Z={(A,B)|(A,B)∈X∧AαB};(b)若可成批處理的工作流活動集S非空,取一個可成批處理的工作流活動,設(shè)為w;否則,算法結(jié)束。(c)利用集合Y與S,創(chuàng)建一個包含w的活動成批處理區(qū)Tbi,設(shè)Tbi=<Ti1,...,Tij,...,Ti>(n≥1),滿足w=Tij(1≤j≤n);(d)從集合S中刪除元素Ti1,...,Tij,...,Ti;(e)重復(fù)操作(b),(c),(d),直到算法結(jié)束;步驟(a)中的aawb定義為對工作流活動b,若在工作流日志中的僅存在工作流活動a使得a>wb成立,則記為aawb,其中的a>wb的定義為對工作流活動a與b,若在工作流日志中的存在一個活動序列σ=t1t2Λtn,并有ti=a,ti+1=b,i∈{1,Λ,n}成立,則記為a>wb。FDA0000020143970000021.tif2.根據(jù)權(quán)利要求1所述的工作流實例方面成批處理模式的挖掘方法,其特征在于,采用α算法獲得工作流日志,用工作流網(wǎng)描述工作流模型。全文摘要本發(fā)明公開了一種工作流實例方面成批處理模式的挖掘方法,其特征在于,通過對現(xiàn)有工作流系統(tǒng)的運行過程中的工作流實例日志數(shù)據(jù)進(jìn)行挖掘,發(fā)現(xiàn)實例方面的成批處理依賴關(guān)系,識別可成批處理的工作流活動及其可能的成批處理模式,進(jìn)而分析和確定工作流模型中的活動成批處理區(qū)。本發(fā)明能為工作流模型設(shè)計與工作流系統(tǒng)管理工作提供理論和實踐上的幫助,有利于工作流模型的優(yōu)化設(shè)計及工作流執(zhí)行性能的提高。文檔編號G06Q10/00GK101923672SQ20101013046公開日2010年12月22日申請日期2010年3月23日優(yōu)先權(quán)日2010年3月23日發(fā)明者劉建勛,文一憑申請人:湖南科技大學(xué)