噪声环境下确定工作流轨迹中循环执行次数的方法与流程

文档序号:11134977阅读:735来源:国知局
噪声环境下确定工作流轨迹中循环执行次数的方法与制造工艺

本发明属于过程挖掘领域,具体涉及一种噪声环境下确定工作流轨迹中循环执行次数的方法。

技术背景

从传统的信息系统如企业办公自动化或科学工作流到最近的web service及联机事务,大量的工作流轨迹被生成。然而手动记录时忘记提交、系统宕机、异构执行环境的工作流轨迹混杂等一系列原因都会导致工作流轨迹日志记录含有噪声,这些噪声包括缺失、冗余、乱序等。噪声是拉低工作流轨迹质量的重要原因。若不修复这些含有噪声的工作流轨迹,基于这些含有噪声的工作流轨迹进行的应用和挖掘是不可信的。工作流轨迹的质量严重影响了商业智能功能的分析,复杂的事件挖掘,信源分析,过程挖掘等一系列以工作流轨迹日志为基石的应用。因此,修复丢失的事件变得尤为重要。

现有的一些修复算法如基于分支限界的修复算法能解决缺失情况下的修复,基于A星算法的修复算法能解决大多数情况下的修复,然而当工作流中存在循环结构时,A星算法趋于穷举法,会计算法出各种等价修复。在云计算、大数据时代,工作流轨迹以流的形式产生,如何实时高效的确定其中循环发生的次数进而修复日志变得尤为重要。



技术实现要素:

本发明的目的在于提供一种噪声环境下确定工作流轨迹中循环执行次数的方法。

实现本发明目的的技术方案为:一种噪声环境下确定工作流轨迹中循环执行次数的方法,步骤如下:

输入由带有循环的Petri网表示的工作流模型和工作流轨迹日志,根据工作流模型计算其结构信息;

解析工作流轨迹日志得到事件序列,将事件序列中的每个事件加入多重集中,计算多重集中每个元素的重数,判断工作流模型中循环是否嵌套;

对于不带嵌套的循环,运用启发式规则计算工作流轨迹的循环次数;

对于带嵌套的循环,先运用启发式规则计算外层循环次数,再将工作流轨迹分段,最后利用启发式规则计算每个分段的内层循环次数。

与现有技术相比,本发明的显著优点为:

(1)本发明运用启发式规则,确定工作流轨迹中循环执行次数的速度更快;

(2)本发明将工作流轨迹进行分段处理,解决嵌套循环的循环次数。

附图说明

图1为本发明噪声环境下确定工作流轨迹中循环执行次数的方法流程图。

图2为基本循环的F1和F2结构示意图。

图3为循环不带嵌套的Petri网实例示意图。

图4为循环有嵌套的Petri网实例示意图。

具体实施方法

结合图1,本发明的一种噪声环境下确定工作流轨迹中循环执行次数的方法,步骤如下:

输入由带有循环的Petri网表示的工作流模型和工作流轨迹日志,根据工作流模型计算其结构信息;

解析工作流轨迹日志得到事件序列,将事件序列中的每个事件加入多重集中,计算多重集中每个元素的重数,判断工作流模型中循环是否嵌套;

对于不带嵌套的循环,运用启发式规则计算工作流轨迹的循环次数;

对于带嵌套的循环,先运用启发式规则计算外层循环次数,再将工作流轨迹分段,最后利用启发式规则计算每个分段的内层循环次数。

进一步的,所述由带有循环的Petri网表示的工作流模型为一个三元组PN=(P,T,F),其中P为库所的有限集,T为变迁的有限集,F为Petri网的有向边,如图2所示,结构信息中循环体为有向图中的环路,F1为循环体中至少执行一次的结构块,F2为循环体中执行次数比F1执行次数少一次的结构块;

计算结构信息的具体过程为:

使用有向图中寻找所有环路的算法得到所有循环体;对于每一个循环体,计算循环体中每一个元素在PN中的入度和出度,取循环体中从入度大于1的元素到出度大于1的元素的部分作为该循环体的F1,取循环体中除F1之外的剩余部分作为该循环体的F2;对于PN,将每一个循环体中的F1和F2结构分别加入F1和F2的集合F1s和F2s中。

进一步的,解析工作流轨迹日志得到事件序列,将事件序列中的每个事件加入多重集中,计算多重集中每个元素的重数,判断工作流模型中循环是否嵌套的具体过程为:

工作流轨迹日志中事件为event1,event2......,事件序列为σ=event1event2event3......;多重集em={event1,event2,event3,......}为允许同一种元素出现次数大于1的集合,对于任意多重集中的任意元素e,元素e的重数m(e)表示e在多重集中在出现的频数;

遍历事件序列σ,将事件序列σ中的每个事件σ[i]加入em中,i为事件序列中事件索引,计算em中每个事件的重数;对F1s进行遍历,若F1s中的任意两个元素存在交集,则工作流中的循环存在嵌套,否则没有嵌套。

进一步的,启发式规则为对于任意的多重集M,设元素t为M中主要元素,t=domi(M),m(t)≥m(t');quot(L)为循环体L的循环次数,循环体L的F1和F2结构分别为FL1和FL2

对于不带嵌套的循环,运用启发式规则计算工作流轨迹的循环次数的具体过程为:

S11,以em中元素的重数构建另一多重集ML,ML={m’(x)|x∈s(σ)∩FL1}∪{m’(y)+1|y∈s(σ)∩FL2},其中s(σ)为事件序列σ中的所有事件,m’(x)和m’(y)为元素x和y在em中的重数;

S12,应用启发式规则,求出domi(ML);

S13,quot(L)=domi(ML)-1。

进一步的,对于带嵌套的循环,外层循环和内层循环分别表示为Louter和Linner,quot(Louter)和quot(Linner)分别为外层循环和内层循环的循环次数,Louter的F1和F2分别为Fouter1和Fouter2,Linner的F1和F2分别为Finner1和Finner2

计算外层循环次数和内层循环次数的方法为:

S21,以em中元素的重数构建外层循环的多重集Mouter,Mouter={m(x’)|x’∈s(σ)∩Foute1\(Finner1∪Finner2)}∪{m(y’)+1|y’∈s(σ)∩Fouter2},求出quot(Louter)=domi(Mouter)-1,m’(x’)和m’(y’)为元素x’和y’在em中的重数;

S22,选取元素z∈Fouter1或者z'∈Fouter2使得m(z)=m(z’)+1=quot(Louter1),以该元素将工作流轨迹分段;

S23,在每段中继续递归运用启发式规则确定每个分段的内层循环次数。

下面结合具体实施例对本发明做进一步说明。

实施例1

图3是一个没有循环嵌套的工作流模型PN1,其中Psource,Pink,P1,P2......分别为工作流模型中的库所,t1,t2,......为PN1中的变迁,PN1中的F1为图3中库所P1至库所P4中间的部分,入度等于2,出度等于2。

F1={t2,t3,t4},F2={t5},现有工作流轨迹σ=t1t2t4t3t4t2t3t4t6,求解过程如下:

步骤1,获得工作流的循环结构IR1结构信息F1={t2,t3,t4},F2={t5};

步骤2,根据工作流轨迹σ=t1t2t4t3t4t2t3t4t6获得多重集em={t1,t2,t4,t3,t4,t2,t3,t4,t6},计算出em中各元素出现的频数,得m(t1)=1,m(t2)=2,m(t3)=2,m(t4)=3,m(t6)=1;

步骤3,根据em中元素的重数构成多重集M,M={m(e')|e'∈s(σ)∩F1}∪{m(e')+1|e'∈s(σ)∩F2}={m(t2),m(t3),m(t4),m(t5)+1}={2,2,3,1},所以domi(M)=2,计算循环发生次数quot(IR)=domi(M)-1=1,即此事件序列中的循环发生了一次。

实施例2

图4是一个循环带有嵌套的工作流模型PN2,其中Psource,Pink,P1,P2......分别为工作流模型中的库所,t1,t2,......为PN2中的变迁,考虑其产生的带有噪声的工作流轨迹σ=t1t2t3tb1te1t4t5t6tb2t3tb1t3tb1te1t5t6tb2t2t3te1t5t4t6,求解过程如下:

步骤1,获得工作流的结构信息,外部循环IR1的结构信息为F1={t2,t3,tb1,te1,t4,t5,t6},F2={tb2},内部循环IR2的循环体结构信息为F1'={t3},F2'={tb1};

步骤2,根据工作流轨迹,得到多重集em={t1,t2,t3,tb1,te1,t4,t5,t6,tb2,t3,tb1,t3,tb1,te1,t5,t6,tb2,t2,t3,te1,t5,t4,t6},计算重数的m(t1)=1,m(t2)=2,m(t3)=4,m(t4)=2,m(t5)=3,m(t6)=3,m(tb1)=3,m(te1)=3,m(tb2)=2,m(te2)=0;

步骤3,根据重数计算出:

M={m(e)|e∈s(σ)∩F1\(F1'∪F2')}∪{m(e)+1|e∈s(σ)∩F2}={m(t2),m(te1),m(t4),m(t5),m(t6),m(tb2)+1}={2,3,2,3,3,3},其中t2,te1,t4,t5,t6∈F1\(F1'∪F2');计算得domi(M)=3,因此外层循环的发生次数为quot(IR1)=domi(M)-1=2;因为m(t6)-1=2=quot(IR1),所以选取t6为分段元素,分段后σ=t1t2t3tb1te1t4t5t6-tb2t3tb1t3tb1te1t5t6-tb2t2t3te1t5t4t6所示的用“-”分隔的三个片段简写为σ=σ1σ2σ3

步骤4:运用上面的方法继续计算σ1、σ2、σ3中的循环发生次数,其中对于σ1=t1t2t3tb1te1t4t5t6,M1={m(t3)∪m(tb1)}={1,2},所以domi(M1)既可以等于1也可以等于2,我们选择domi(M1)=1,则quot(σ1)=domi(M1)-1=0,σ2和σ3依此类推。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1