專利名稱:基于日志記錄挖掘與組合驗證的工作流建模方法
技術領域:
本發明屬于軟件業務過程管理技術領域,涉及一種基于日志記錄挖掘與組合驗證的工作流建模方法。
背景技術:
工作流挖掘最早是被用于軟件工程管理領域,在早期的系統設計中,業務分析師和管理人員對業務的認知是軟件設計者的需求及分析的主要來源,這樣就會使其存在有一定的主觀性,同時,在實際運行過程中可能出現的意外狀況無法有效的處理,也會影響軟件的使用效率。而在有些情況下,工作流的精確建模是相對比較困難的,因為有些要素只能在工作流運行時才能確定。因而在工作流建模時候不能過分的苛求工作流模型的完美,要使得工作流先運行起來,在數據庫或日志中積累其運行數據,根據其運行數據對工作流進行 挖掘、優化,促使工作流模型不斷地精確化。工作流挖掘是基于數據挖掘在工作流管理的領域的應用,其主要的思想是利用數據挖掘的技術從工作流日志中重新構造工作流模型,從而達到流程分析與流程優化的目的。目前存在的大多數管理軟件中,如ERP、SCM、CRM及WFMS都可以生成工作流日志,代替掉了早期的人工記錄。這些日志記錄的是流程運行的真實情況,分析已運行后的工作流日志,從中發現工作流運行的模式,對于工作流的運行績效進行一定的考評及更正工作流中存在的弊病都有很大的幫助,工作流挖掘就是在此背影下產生的。工作流挖掘方法可幫助開發者分析工作流設計框架與具體執行的不同點,同時工作流模型方法也可在任務間構建真實的控制結構與數據流結構。
發明內容
本發明針對目前的研究現狀,提出一種基于日志記錄挖掘與組合驗證的有效的工作流建模方法。本發明方法的具體步驟是
步驟(I)從數據庫中導出工作流日志,刪除冗余的信息。步驟(2 )根據日志是否存在循環進行分類,分為循環日志和無循環日志。步驟(3)掃描無循環的工作流日志(即相同的節點在某次執行中只出現一次),統計每個任務節點的發生次數。步驟(4)統計任務節點發生次數同時要記錄下每個任務節點的跟隨任務節點,及其此節點與其跟隨節點共同出現的次數。步驟(5)根據每個任務節點及其跟隨任務節點集,從該任務出發,向它的每個跟隨任務節點畫出一條帶箭頭的有向邊,這樣的有向邊表明了任務之間執行的先后關系。步驟(6)在步驟(5)中構造出的有向任務圖內,可能有某兩個任務節點存在有雙向箭頭的有向邊,則表明這兩個任務節點是并行結構,則將刪除這兩個任務節點之間的有向邊。步驟(7)根據任務節點發生次數,以及其與跟隨節點共同發生次數,為已構造的模型添加控制結構,即并行執行(AND_Split)、合取合并(AND_Join)、析取執行(OR_Split)、析取合并(OR_Join)。步驟(8)單獨掃描帶有循環的日志,找出其循環結構,并添加到已構造的模型中。步驟(9)基于Petri網(佩里特網)的轉化知識,把已經構造好的模型轉換為Petri網的子網一工作流網(WF-Net),利用Petri的關聯矩陣和狀態方程驗證已挖掘的模型的正確性。本發明所提供的基于日志記錄挖掘與組合驗證的工作流建模方法主要由以下功能模塊組成日志挖掘模塊、統計任務節點次數模塊、構建過程模型模塊、構建工作流模型模塊及工作流模型轉換模塊。日志挖掘模塊負責從數據庫中導出日志,刪除冗余信息,并將日志分為有循環結構和無循環結構兩類。
統計任務節點次數模塊首先遍歷沒有循環結構的日志,計算單個任務節點出現的次數以及,然后計算出每個任務節點和其跟隨任務節點共同出現的次數兩個部分,某個任務發生后另一任務發生,我們稱之為跟隨關系,此處所說的跟隨關系不一定是順序關系,也可能會是并行關系。構建過程模型模塊根據每個任務節點及其跟隨任務節點集,在每個任務和其跟隨節點畫一條有向邊,從任務節點指向其跟隨節點,得到有向任務圖,之后檢查有向任務圖,如果存在兩個點存在雙向箭頭的有向邊,則刪除這兩條邊;
構建工作流模型模塊在已構建的有向圖中添加控制結構和循環結構。其中控制結構包含并行執行、合取合并、析取執行、析取合并,然后掃描帶有循環結構的日志,將循環結構添加到有向任務圖中構建出工作流模型。工作流模型轉換模塊將構建的工作流模型轉換為基于Petri網的子網一工作流網,并進行正確性驗證。本發明用于企業間的工作任務的流程挖掘、工作流的重組及其Web領域,用于在基于已有的流程日志的環境下挖掘具有高可靠性的工作流模型以及驗證已有工作流模型的正確性。本發明提供的挖掘工作流模型的方法可有效構建出工作流程中的順序結構、選擇結構、循環結構和并行結構,并進行了形式化驗證,保證了模型的準確性。
具體實施例方式相關概念定義及符號說明 σ :日志中的一條軌跡;
:任務節點I ;
τ J =表示有點的任務節點集合;
K :任務節點/發生的次數,初始為O ;
跟隨關系任務發生后,任務 ' 發生則T和I具有跟隨關系,Tj是 的跟隨節點(后繼節點),表示為P};
ψ表示X的跟隨節點的集合,初始為空;雨s :表不跟隨關系發生的次數,初始為O ;
本發明所提供的基于日志記錄挖掘與組合驗證的工作流建模方法的具體實施方式
如下
(1)從數據庫中導出工作流日志,刪除冗余的信息,包括將日志分為帶循環結構k和不帶循環結構的兩部分,每個日志包含若干條執行軌跡。(2)統計任務節點次數,包括單個任務節點出現的次數以及單個節點和其跟隨節點共同出現的次數,具體執行步驟如下
(2. I)統計單個任務節點出現的次數將初始化為0,遍歷所有^€4__ ,若 σ ,則JVf 加 I。(2. 2)統計單個任務節點和其跟隨節點共同出現的次數首先,分析任務節點之間關系,確定任務節點之間的跟隨關系,得到每個任務節點的跟隨節點集合,即若軌跡σ中兩個相鄰任務節點兌盧σ,則Fl = Ft U I),其次統計每一個任務節點與其跟隨節點σ
(i=l, 2,3···,j=l,2,3…)共同出現的次數。(3)根據步驟(2)中得到的任務節點及其跟隨節點集合,構造過程模型,包含兩個方面
(3. I)在每個任務節點與其跟隨節點之間連接一條有向邊,由任務節點指向其跟隨節點,構造出有向任務圖。(3. 2)刪除有向任務圖中多余的邊,構造出過程模型,多余的邊指若兩個任務節點之間存在雙向箭頭,表示這兩個任務可能是并行的,則先刪除這兩個任務之間的邊。(4)向步驟(3)得到的過程模型添加控制結構以及循環結構,得到工作流模型,其中控制結構包含并行執行、合取合并、析取執行、析取合并,具體添加方式如下
構造出過程模型的初始有向連接圖,此連接圖不存在控制結構及循環結構。M為初始
模型,M ^ 0 ,對于每個節點Tf—τ,若存在 'ψ eFj, Μ中增加有向邊2}到Tk,直至遍歷到所有任務節點;對于上述已構造出的模型中必定存在兩個任務節點的雙向連線,即若存在有向邊G到.I;,且rt到G也存在有向邊,刪除I;到I;與rt到的有向邊。在此之后添加控制及循環結構。
(4. I)并行執行每個任務節點2;,如果祝=胃4 = = ,即任務節點 與其每一個跟隨節點的發生次數相同,ζι — -。(4. 2)合取合并每個任務節點2;,如果乂 = @1 =…=JWjr..,即任務節點I;與其每一個前繼節點的發生次數相同,Tt^AMD-Pin。(4. 3)析取執行每個任務節點T,如果況=Σ柯4 (η為節點τ的后繼節點個數),即任務節點ξ等于其每一個跟隨節點的發生次數的總和,T1^ORspm。
(4. 4)析取合并每個任務節點τ,如果凡= iM4 (η為節點7■的前繼節點個數),
即任務節點ξ等于其每一個前繼節點的發生次數的總和,I ^ OR-join。(4. 5)添加循環結構到過程模型遍歷帶循環的日志,得到循環結構,將其添加到已有的過程模型中。(5)將過程模型轉換為Petri網,并進行正確性驗證
(5. I)根據普通的圖式模型轉化為Petri網的規則,將挖掘出的模型映射為Petri網的子網一工作流網。(5. 2)構建模型的關聯矩陣j,利用其狀態方程M = + 對其進行驗證,X為一向量,每個值對應Petri網中變遷發生次數,日志中的每個軌跡都可以表示為一向量;開始狀態為M =(U0…Q),若最后到達的狀態為A/ = (0,CU,CU),則說明模型是正確的。·
權利要求
1.基于日志記錄挖掘與組合驗證的工作流建模方法,其特征在于該方法的具體步驟是: 步驟(I)從數據庫中導出工作流日志,刪除冗余的信息; 步驟(2 )根據日志是否存在循環進行分類,分為循環日志和無循環日志; 步驟(3)掃描無循環的工作流日志,即相同的任務節點在某次執行中只出現一次,統計每個任務節點的發生次數; 步驟(4)統計任務節點發生次數同時要記錄下每個任務節點的跟隨任務節點,及此任務節點與跟隨節點共同出現的次數; 步驟(5)根據每個任務節點及其跟隨任務節點集,從該任務出發,向任務節點的每個跟隨任務節點畫出一條帶箭頭的有向邊,形成有向任務圖,這樣的有向邊表明了任務之間執行的時間先后關系,但這樣的任務節點間不一定是依賴關系; 步驟(6)在步驟(5)中構造出的有向任務圖內,可能有某兩個任務節點存在有雙向箭頭的有向邊,即此兩個任務節點在日志中的發生時間可以不分先后,則表明這兩個任務節點是并行結構,則將刪除這兩個任務節點之間的有向邊; 步驟(7)根據任務節點發生次數,以及其與跟隨節點共同發生次數,為已構造的有向任務圖添加控制結構,即并行執行AND_Split、合取合并AND_Join、析取執行OR_Split、析取合并 OR_Join ; 步驟(8)單獨掃描帶有循環的日志,找出某個任務節點在日志中出現的次數大于2的日志片段,逐一對其日志片段連線,找出其循環結構,并添加到已構造的有向任務圖中;步驟(9)基于Petri網的轉化知識,把已經構造好的有向任務圖轉換為Petri網的子網一工作流網WF-Net,利用工作流網WF-Net的關聯矩陣和狀態方程驗證已挖掘的模型的正確性。
全文摘要
本發明公開了基于日志記錄挖掘與組合驗證的工作流建模方法。本發明首先從數據庫中導出工作流日志,刪除冗余的信息,并對日志進行分類。其次掃描無循環的工作流日志,統計任務節點發生次數同時記錄下每個任務節點的跟隨任務節點,及此任務節點與跟隨節點共同出現的次數;根據每個任務節點及其跟隨任務節點集,構建有向任務圖。然后根據任務節點發生次數,以及其與跟隨節點共同發生次數,為有向任務圖添加控制結構,最后有向任務圖轉換為工作流網,利用工作流網的關聯矩陣和狀態方程驗證已挖掘的模型的正確性。本發明可有效構建出工作流程中的順序結構、選擇結構、循環結構和并行結構,并進行了形式化驗證,保證了模型的準確性。
文檔編號G06F17/30GK102880684SQ201210337478
公開日2013年1月16日 申請日期2012年9月13日 優先權日2012年9月13日
發明者胡海洋, 呂倩, 謝建恩 申請人:杭州電子科技大學