首页> 中国专利> 一种基于基础业务活动集的业务流程系统构建方法

一种基于基础业务活动集的业务流程系统构建方法

摘要

本发明公开了一种基于基础业务活动集的业务流程系统构建方法包括:获取业务流程的日志信息,从日志信息中提取出业务流程数据,并根据业务流程数据建立事件日志;从事件日志中提取案例轨迹信息,从案例轨迹信息中提取基础业务活动集,并根据基础业务活动集建立基础业务流程模型;根据事件日志中的案例轨迹信息建立业务活动比较表集合,并根据业务活动比较表集合改进基础业务流程模型,获得改进后的业务流程模型;对改进后的业务流程模型进行去冗余与简化处理。本发明能够快速、准确、高效地构建出符合流程日志要求的业务流程模型,且计算过程简单、应用范围广、复杂度低。

著录项

  • 公开/公告号CN106503872A

    专利类型发明专利

  • 公开/公告日2017-03-15

    原文格式PDF

  • 申请/专利权人 中国人民解放军国防科学技术大学;

    申请/专利号CN201611073861.8

  • 发明设计人 舒振;蔡飞;陈洪辉;刘俊先;

    申请日2016-11-29

  • 分类号G06Q10/04;G06Q10/06;

  • 代理机构北京市铸成律师事务所;

  • 代理人郝文博

  • 地址 410003 湖南省长沙市开福区砚瓦池

  • 入库时间 2023-06-19 01:45:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-07-12

    授权

    授权

  • 2017-04-12

    实质审查的生效 IPC(主分类):G06Q10/04 申请日:20161129

    实质审查的生效

  • 2017-03-15

    公开

    公开

说明书

技术领域

本发明涉及业务流程构建,特别地,涉及一种基于基础业务活动集的业务流程系统构建方法。

背景技术

迄今为止,大部分企业的业务流程模型都是手工设计完成的,而且流程设计人员大都是专门的技术人员,并不是企业的实际管理者或者内部员工,既不能全面了解企业的整个流程,也缺乏对现有流程数据的分析。因此,在时间比较短、经费有限的情况下,设计人员无法很好的理解企业的业务需求,所造成的结果是,即使耗费了大量的精力,所构造的业务流程模型与实际情况仍然会存在偏差,以至极大的影响业务生产过程。

然而,随着信息技术的发展,在企业的信息系统中已经积累的大量的业务流程数据,这些数据记录了企业业务流程的执行过程。流程挖掘的目的就是从企业流程实际运行时保存下来的日志文件中收集提取信息用以支持流程设计和分析。通过运用流程挖掘技术,就可以利用系统记录的大量流程执行日志数据,构造出符合企业实际运行需求的业务流程模型。采用这种方法,可以有效改进传统企业流程开发的不足之处,加速流程模型的开发过程,节省大量的人力物力,并提升流程模型的有效性。

现有技术中,最常用的流程挖掘方法包括基于工作流网的流程挖据方法、启发式流程挖掘方法和面向块结构的流程挖掘方法等。

基于工作流网的流程挖掘方法是将业务流程中的日志文件挖掘成工作流网的一种方法。该方法对需要挖掘的原始数据要求较高,分析的时间也较长,且挖掘出的模型都是工作流网模型。该方法一般适用于规模较大、结构较复杂的流程。

启发式流程挖掘方法主要分为三个步骤,首先要根据业务流程的日志文件,建立一个业务活动依赖频率表,再利用该表挖掘出业务活动之间的关联关系(如先后关系、依赖关系、选择关系和并行关系等),最后利用这些关系,构造出流程模型。由此可知,该方法对原始数据的要求也较高,而且该方法只是从局部出发,考虑相邻业务活动之间的关联关系,无法发现业务流程中的非自由选择结构和复杂的循环结构,无法适用于所有的业务流程。

基于块结构的流程挖掘方法的前提是假定挖掘出的模型都可以用顺序结构、并行结构、选择结构或循环结构来表示。该方法仅适用于存在明显块结构的业务流程。

针对现有技术中流程挖掘方法的应用范围有限,无法全方位的支持企业关键业务流程挖掘,不能快速、准确、高效地构建出符合流程日志要求的业务流程模型的问题,目前尚未有有效的解决方案。

发明内容

有鉴于此,本发明的目的在于提出一种基于基础业务活动集的业务流程系统构建方法,能够快速、准确、高效地构建出符合流程日志要求的业务流程模型,且计算过程简单、应用范围广、复杂度低。

基于上述目的,本发明提供的技术方案如下:

根据本发明的一个方面,提供了一种基于基础业务活动集的业务流程系统构建方法,包括:

获取业务流程的日志信息,从日志信息中提取出业务流程数据,并根据业务流程数据建立事件日志;

从事件日志中提取案例轨迹信息,从案例轨迹信息中提取基础业务活动集,并根据基础业务活动集建立基础业务流程模型;

根据事件日志中的案例轨迹信息建立业务活动比较表集合,并根据业务活动比较表集合改进基础业务流程模型,获得改进后的业务流程模型;

对改进后的业务流程模型进行去冗余与简化处理。

其中,事件日志为多个案例的集合,每个案例为一个完整的业务流程的执行过程记录,一个完整的业务流程包括多个按次序排列的业务活动;每个案例还包括案例轨迹,每个案例轨迹为多个业务活动按发生次序构成的序列,每个案例轨迹为完整的、或不完整的业务流程。

并且,从案例轨迹信息中提取基础业务活动集包括:

将基础业务活动集初始化为空集;

判断事件日志是否存在未处理的案例轨迹,是则提取并继续进行下一步骤,否则完成提取并输出基础业务活动集;

判断案例轨迹是否存在未处理的业务活动,是则提取并继续进行下一步骤,否则返回上一步骤重新判断事件日志是否存在未处理的案例轨迹;

判断基础业务活动集中是否包括该业务活动,是则将该业务活动加入基础业务活动集,并返回上述步骤重新判断案例轨迹是否存在未处理的业务活动,否则忽略该业务活动;

并且,根据基础业务活动集建立基础业务流程模型包括:

建立空白佩特里网模型;

判断基础业务活动集中是否还有未处理的业务活动,是则进行下一步骤,否则跳过下一步骤;

依次提取基础业务活动集中的每个业务活动,根据每个业务活动的名称在佩特里网模型中按顺序添加一个转移元素,并返回上一步骤;

在佩特里网模型中每两个相邻的转移之间添加一个位置元素,并在佩特里网模型中每对相邻的转移与位置之间添加一个有向连接弧;

在佩特里网模型中的第一个转移之前添加一个开始位置,在佩特里网模型中的最后一个转移之后添加一个结束位置,在开始位置与第一个转移以及最后一个转移与结束位置之间分别添加一个有向连接弧,并在开始位置设置一个令牌;

将佩特里网模型作为基础业务流程模型输出。

另外,对改进后的业务流程模型进行去冗余与简化处理包括:

获取改进后业务流程模型中的冗余业务活动关系;

根据改进后业务流程模型中的冗余业务活动关系,对改进后的业务流程模型进行去冗余与简化处理。

并且,对改进后的业务流程模型进行去冗余与简化处理包括:

对空转移集合中的空转移模块进行优化处理;

对转移循环集合中的转移循环模块进行优化处理。

并且,对空转移集合中的空转移模块进行优化处理包括:

遍历空转移集合中的各个空转移模块,并从空转移集合以及改进的业务流程模型中移除空转移模块,直到空转移集合中每个空转移模块的输入位置和输出位置都不相同;

依据空转移模块的输入位置与输出位置,构造初始连接矩阵D,其维度为基础业务流程模型中位置的数目n,D中每个元素dij其中,pi→pj表示在空转移集合中存在空转移模块,且该空转移模块的输入位置为pi,输出位置为pj

计算矩阵E=D2+D3+…+Dn;其中,Dn中的非0元素为在初始连接基础上,通过n步可以连通的位置的集合;

比较矩阵D和E中相同位置的元素,对任意的1≤i,j≤n,如果满足dij≠0且eij≠0,则dij是冗余的,从空转移集合以及改进的业务流程模型中移除输入位置为pi且输出位置为pj的空转移模块。

同时,对转移循环集合中的转移循环模块进行优化处理包括:

遍历转移循环集合中的各个转移循环模块,并从转移循环集合以及改进的业务流程模型中移除转移循环模块,直到转移循环集合中每个转移循环模块都不相同;

根据输入位置与输出位置将转移循环集合中的转移循环模块分为不同的组,使得对于每组内的转移循环模块来说,其输入位置与输出位置都相同。

依次遍历转移循环集合中的每组转移循环模块,并判断该组转移循环模块中是否有包含转移数量多于1的转移循环模块,是则执行下一步骤,否则跳过该组转移循环模块并处理下一组转移循环模块;

依次处理该组中包含转移数量多于1的转移循环模块,判断对于该模块中的所有转移,是否都能在该组转移循环模块中找到对应的转移数量为1的转移循环模块,是则认定该转移循环模块为冗余转移循环模块,并将冗余转移循环模块从转移循环集合以及改进的业务流程模型中移除;否则跳过该转移循环模块并处理下一个转移数量多于1的转移循环模块。

从上面所述可以看出,本发明提供的技术方案通过使用获取业务流程的日志信息建立事件日志、建立基础业务流程模型、改进业务流程模型并进行去冗余与简化处理的技术手段,快速、准确、高效地构建出例如符合流程日志要求的业务流程模型,计算过程简单、应用范围广、复杂度低。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为根据本发明实施例的一种基于基础业务活动集的业务流程系统构建方法的流程图;

图2为根据本发明实施例的一种基于基础业务活动集的业务流程系统构建方法中,基础业务流程模型构建过程的流程图;

图3为根据本发明实施例的一种基于基础业务活动集的业务流程系统构建方法中,改进业务流程模型构建过程的流程图;

图4为根据本发明实施例的一种基于基础业务活动集的业务流程系统构建方法中,进行去冗余与简化处理的流程图;

图5为根据本发明实施例的一种基于基础业务活动集的业务流程系统构建方法的一个实施例中,基础业务流程模型图;

图6为根据本发明实施例的一种基于基础业务活动集的业务流程系统构建方法的一个实施例中,依据业务活动比较表CF3进行改进后的基础业务流程模型图;

图7为根据本发明实施例的一种基于基础业务活动集的业务流程系统构建方法的一个实施例中,依据业务活动比较表CF1进行改进后的基础业务流程模型图;

图8为根据本发明实施例的一种基于基础业务活动集的业务流程系统构建方法的一个实施例中,依据业务活动比较表CF2进行改进后的基础业务流程模型图;

图9为根据本发明实施例的一种基于基础业务活动集的业务流程系统构建方法的一个实施例中,依据业务活动比较表CF4进行改进后的基础业务流程模型图;

图10为根据本发明实施例的一种基于基础业务活动集的业务流程系统构建方法的一个实施例中,依据业务活动比较表CF5进行改进后的基础业务流程模型图;

图11为根据本发明实施例的一种基于基础业务活动集的业务流程系统构建方法的一个实施例中,改进后的业务流程模型图;

图12为根据本发明实施例的一种基于基础业务活动集的业务流程系统构建方法的一个实施例中,进行去冗余与简化处理后的业务流程模型图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进一步进行清楚、完整、详细地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

根据本发明的一个实施例,提供了一种基于基础业务活动集的业务流程系统构建方法。

如图1所示,根据本发明实施例提供的方法包括:

步骤S101,获取业务流程的日志信息,从日志信息中提取出业务流程数据,并根据业务流程数据建立事件日志;

步骤S103,从事件日志中提取案例轨迹信息,从案例轨迹信息中提取基础业务活动集,并根据基础业务活动集建立基础业务流程模型;

步骤S105,根据事件日志中的案例轨迹信息建立业务活动比较表集合,并根据业务活动比较表集合改进基础业务流程模型,获得改进后的业务流程模型;

步骤S107,对改进后的业务流程模型进行去冗余与简化处理。

其中,事件日志为多个案例的集合,每个案例为一个完整的业务流程的执行过程记录,一个完整的业务流程包括多个按次序排列的业务活动;每个案例还包括案例轨迹,每个案例轨迹为多个业务活动按发生次序构成的序列,每个案例轨迹为完整的、或不完整的业务流程。

并且,从案例轨迹信息中提取基础业务活动集包括:

将基础业务活动集初始化为空集;

判断事件日志是否存在未处理的案例轨迹,是则提取并继续进行下一步骤,否则完成提取并输出基础业务活动集;

判断案例轨迹是否存在未处理的业务活动,是则提取并继续进行下一步骤,否则返回上一步骤重新判断事件日志是否存在未处理的案例轨迹;

判断基础业务活动集中是否包括该业务活动,是则将该业务活动加入基础业务活动集,并返回上述步骤重新判断案例轨迹是否存在未处理的业务活动,否则忽略该业务活动;

并且,根据基础业务活动集建立基础业务流程模型包括:

建立空白佩特里网模型;

判断基础业务活动集中是否还有未处理的业务活动,是则进行下一步骤,否则跳过下一步骤;

依次提取基础业务活动集中的每个业务活动,根据每个业务活动的名称在佩特里网模型中按顺序添加一个转移元素,并返回上一步骤;

在佩特里网模型中每两个相邻的转移之间添加一个位置元素,并在佩特里网模型中每对相邻的转移与位置之间添加一个有向连接弧;

在佩特里网模型中的第一个转移之前添加一个开始位置,在佩特里网模型中的最后一个转移之后添加一个结束位置,在开始位置与第一个转移之间以及最后一个转移与结束位置之间分别添加一个有向连接弧,并在开始位置设置一个令牌;

将佩特里网模型作为基础业务流程模型输出。

另外,对改进后的业务流程模型进行去冗余与简化处理包括:

获取改进后业务流程模型中的冗余业务活动关系;

根据改进后业务流程模型中的冗余业务活动关系,对改进后的业务流程模型进行去冗余与简化处理。

并且,对改进后的业务流程模型进行去冗余与简化处理包括:

对空转移集合中的空转移模块进行优化处理;

对转移循环集合中的转移循环模块进行优化处理。

并且,对空转移集合中的空转移模块进行优化处理包括:

遍历空转移集合中的各个空转移模块,并从空转移集合以及改进的业务流程模型中移除空转移模块,直到空转移集合中每个空转移模块的输入位置和输出位置都不相同;

依据空转移模块的输入位置与输出位置,构造初始连接矩阵D,其维度为基础业务流程模型中位置的数目n,D中每个元素dij其中,pi→pj表示在空转移集合中存在空转移模块,且该空转移模块的输入位置为pi,输出位置为pj

计算矩阵E=D2+D3+…+Dn;其中,Dn中的非0元素为在初始连接基础上,通过n步可以连通的位置的集合;

比较矩阵D和E中相同位置的元素,对任意的1≤i,j≤n,如果满足dij≠0且eij≠0,则dij是冗余的,从空转移集合以及改进的业务流程模型中移除输入位置为pi且输出位置为pj的空转移模块。

同时,对转移循环集合中的转移循环模块进行优化处理包括:

遍历转移循环集合中的各个转移循环模块,并从转移循环集合以及改进的业务流程模型中移除转移循环模块,直到转移循环集合中每个转移循环模块都不相同;

根据输入位置与输出位置将转移循环集合中的转移循环模块分为不同的组,使得对于每组内的转移循环模块来说,其输入位置与输出位置都相同。

依次遍历转移循环集合中的每组转移循环模块,并判断该组转移循环模块中是否有包含转移数量多于1的转移循环模块,是则执行下一步骤,否则跳过该组转移循环模块并处理下一组转移循环模块;

依次处理该组中包含转移数量多于1的转移循环模块,判断对于该模块中的所有转移,是否都能在该组转移循环模块中找到对应的转移数量为1的转移循环模块,是则认定该转移循环模块为冗余转移循环模块,并将冗余转移循环模块从转移循环集合以及改进的业务流程模型中移除;否则跳过该转移循环模块并处理下一个转移数量多于1的转移循环模块。

本发明中的业务流程模型是采用佩特里网(Petri网)模型的方法来构建的。Petri网是由Carl Adam Petri在1962年提出的一种描述并行及并发操作的工具,是一种具有数学性质与图形特性的系统建模工具,可以用来简化多种系统的构建与分析。企业在复杂的业务处理流程中,流程选择具有对实际业务自身特点的依赖性,故可以将工作流程映射为Petri网模型。一个Petri网实质上是一个有向连通图,主要由位置、转移、令牌以及连接位置与转移的有向弧等基本元素组成。采用Petri网来描述业务流程,可以将业务活动的输入输出信息映射为位置,业务活动映射为转移,连接位置与转移的有向弧则对应于输入输出与业务活动之间的因果关系,输入输出接口以及令牌则表示了不同业务活动之间的接口和信息交互关系。Petri网模型既可以用来描述静态的业务流程结构,也可以通过自身的动态执行来模拟业务流程的运转过程。

步骤S101,获取业务流程的日志信息,从日志信息中提取出业务流程数据,并根据业务流程数据建立事件日志。

一个业务流程中通常包含多个业务活动,这些业务活动的依次发生便构成一个完整的业务执行流程。业务流程的执行日志中记录了每次业务活动的执行,而所记录的一次完整的业务流程的执行过程就称为一个案例。本步骤的目的就是要将原始的业务流程执行日志数据转换为由案例集合组成的事件日志。由于通常在每次完整的业务流程执行过程中,在开始活动与结束活动的位置都有明显的标志,依据这些信息,就可以方便地将业务流程执行日志数据转换为事件日志。在每个案例中,由多个业务活动按发生次序构成的序列称为案例轨迹。

步骤S103,从事件日志中提取案例轨迹信息,从案例轨迹信息中提取基础业务活动集,并根据基础业务活动集建立基础业务流程模型。

如图2所示,基础业务流程模型构建过程的步骤如下:

步骤201:生成基础业务活动集。依次遍历事件日志中的各个案例,并按序分析各案例轨迹中记录的所有业务活动。对于某个具体的业务活动来说,若基础业务活动集中还没有包含该业务活动,则将该业务活动加入到基础业务活动集中;否则,直接跳过该业务活动,分析下一个业务活动;直至事件日志中各案例的案例轨迹中所有业务活动都分析完毕。

步骤202:构建基础业务流程模型。如上所述,这里采用Petri网模型来对业务流程模型进行描述,Petri网模型中的转移对应于业务流程中业务活动。依次提取基础业务活动集中的各个业务活动,并将其按序转换为Petri网模型中的转移,各个转移的名字就用业务活动的名字命名。所有的转移构建完毕后,再在每两个转移之间添加相应的位置,位置的名称可以从P1开始,按序增长,再在每两个相邻的转移和位置之间添加一条有向连接弧。最后,再在模型的开始处添加一个开始位置IN,在模型的结束处添加一个结束位置OUT,并在开始位置与第一个转移之间添加一条有向弧,在最后一个转移与结束位置之间添加一条有向弧,并在开始位置中设置一个令牌,这样就构成了基础的业务流程模型。该模型在初始状态下,第一个转移是可以被激活的,再随着令牌的流动,转移不断被激活,这样通过各个转移(代表的业务活动)的执行,就可以模拟整个业务流程的执行。

步骤S105,根据事件日志中的案例轨迹信息建立业务活动比较表集合,并根据业务活动比较表集合改进基础业务流程模型,获得改进后的业务流程模型。

如图3所示,改进业务流程模型构建过程的步骤如下:

步骤301:构建事件日志的业务活动比较表集合。依次遍历事件日志中的案例,分析比较各案例的案例轨迹中业务活动执行顺序与业务流程模型中对应转移执行顺序的关系,分别构建出相应的业务活动比较表,综合形成业务活动比较表集合。

为了更清楚地显示出业务活动比较表的结构,与前述的技术方案不同,本实施例使用符号代替留空分隔业务活动比较表的三行数据

业务活动比较表由三行数据组成,第一行数据由案例轨迹中的业务活动名称及符号组成,第二行数据由业务流程模型中转移的名称及符号组成,第三行数据由业务流程模型中某些位置的名称组成。其基本含义是:依次分析案例轨迹中的各个业务活动,若该业务活动在案例轨迹中按序应该执行,且在业务流程模型中该业务活动对应的转移也可以激活,则表中第一行数据和第二行数据的值分别为业务活动和转移的名称;若该业务活动在案例轨迹中按序应该执行,但在业务流程模型中该业务活动对应的转移无法激活,则表中第一行数据的值为业务活动的名称,第二行数据的值为若案例轨迹中某业务活动的执行,需要业务流程模型中该业务活动对应的转移中前面若干个转移执行后,该转移才能激活,那么表中第二行中若干个数据的值,就为该业务活动对应的转移前面若干个转移的名称,第一行中对应的数据值为表中第三行数据的值为对应的第二行数据所代表的转移执行后,在业务流程模型中所有含有令牌的位置的名称。

各业务活动比较表的构建步骤如下:

1)第一步:初始化比较业务活动集AC,该集合的初值等于基础业务活动集,并对业务活动比较表位置指示变量i进行初始化,值为1;

2)第二步:判断案例轨迹中是否还有未处理过的业务活动,若有的话,转到第三步,否则转到第十步;

3)第三步:按序取出案例轨迹中的下一个业务活动am,并判断该业务活动对应的转移,在基础业务流程模型的当前状态下能否激活,若可以的话,转到第四步,否则转到第五步;

4)第四步:首先对业务活动比较表进行赋值,该表第一行和第二行第i个数据的值分别为业务活动am以及am对应的转移的名称;再进行其它相关操作,从比较业务活动集中删除该业务活动(即AC=AC-{am}),将基础业务流程模型的状态转到am对应的转移执行后的状态,在该案例轨迹中将am标识为已处理,同时i的值要加1;完成这些操作后,转到第二步;

5)第五步:判断业务活动am是否属于业务活动比较集AC,若是的话(即am∈AC),转到第六步,否则的话(即),转到第七步;

6)第六步:首先计算需要处理的业务活动的数量,计算在基础业务流程模型当前状态下可激活的转移ai到am所对应的转移之间的转移间隔数量n;再给业务活动比较表进行赋值,该表第二行从第i到第i+n个数据的值为业务流程模型当前状态下可激活的转移ai到am所对应的转移(含该转移)之间所有转移的名称;第一行从第i到第i+n-1个数据的值为第i+n个数据的值为am的名称;然后再进行其它相关操作,从比较业务活动集中删除基础业务流程模型当前状态下可激活转移对应的业务活动ai到am(含该业务活动)之间的业务活动(即AC=AC-{ai,…am}),将基础业务流程模型的状态转到am对应的转移执行后的状态,在该案例轨迹中将am标识为已处理,同时将i的值改为i+n+1;完成这些操作后,转到第二步;

7)第七步:提取当前案例轨迹中发生在am之后的所有业务活动,并判断这些业务活动中,是否有某个业务活动属于业务活动比较集,若有的话,则转到第八步,否则的话,转到第九步;

8)第八步:首先计算需要处理的业务活动的数量,提取案例轨迹中发生在am之后,距离am最近且属于业务活动比较集的业务活动an,an与am之间所间隔的业务活动的数量为n1,在基础业务流程模型当前状态下可激活的转移ai到an所对应的转移之间所间隔的转移的数量为n2;再给业务活动比较表进行赋值,该表中第一行从第i到第i+n1-1个数据的值为案例轨迹中从am开始到an(不包含该业务活动)之前的业务活动的名称,第i+n1到第i+n1+n2-1个数据的值为第二行中第i到第i+n1-1个数据的值为第i+n1到第i+n1+n2-1个数据的值为业务流程模型中当前可激活的转移ai到an所对应的转移(不包含该转移)之前的转移的名称;然后再进行其它相关操作,从比较业务活动集中删除基础业务流程模型当前状态下可激活转移对应的业务活动ai到an(不包含该业务活动)之间的业务活动(即AC=AC-{ai,…an-1}),同时将基础业务流程模型的状态转到an对应的转移执行前的状态,在案例轨迹将从am开始到an(不包含该业务活动)之前的业务活动标识为已处理,同时将i的值改为i+n1+n2;完成这些操作后,转到第二步;

9)第九步:首先计算需要处理的业务活动的数量,提取案例轨迹中发生在am之后的所有业务活动,所有这些业务活动的数量为n1,基础业务流程模型当前状态下可激活的转移ai到最转后一个转移an之间所间隔的转移的数量为n2;再给业务活动比较表进行赋值,该表中第一行从第i到第i+n1-1个数据的值为案例轨迹中从am开始随后所有业务活动的名称,第i+n1到第i+n1+n2-1个数据的值为第二行中第i到第i+n1-1个数据的值都为第i+n1到第i+n1+n2-1个数据的值为基础业务流程模型当前状态下可激活的转移ai到最后一个转移an之间所有的转移名称;然后再进行其它相关操作,将i的值改为i+n1+n2;完成这些操作后,转到第十步;

10)第十步:给业务活动比较表的第三行数据进行赋值,依次取出该表中第二行每个位置的数据,若该数据值不等于则在基础业务流程模型中找出该值所代表的转移,表中第三行对应位置的数据值为在基础业务流程模型中该转移执行后,所有存在令牌的位置;否则的话,先在第二行数据中找出在该位置之前且距离该位置最近的数据值不为的数据,再在基础业务流程模型中找出该值所代表的转移,相应的表中第三行对应位置的数据值为在基础业务流程模型中该转移执行后,所有存在令牌的位置。

通过以上十个步骤,便可实现对单个业务活动比较表的赋值。通过遍历事件日志中的所有案例轨迹,便可得到每个案例轨迹所对应的业务活动比较表,这些业务活动比较表构成的集合就是事件日志所对应的业务活动执行比较表的集合。

步骤302:构建改进的业务流程模型。依次遍历业务活动比较表集合中的每个业务活动比较表,并据此对分别对基础业务流程模型进行改进,并综合形成改进后的业务流程模型。

具体来说,依据每个业务活动比较表对基础业务流程模型进行改进的步骤如下:

1)第一步,依据业务活动比较表第一行的数据,对基础业务流程模型进行改进。依次提取业务活动比较表第一行的各个数据,若该数据值不为则跳过该数据,直接处理下一个数据;若数据值为再判断其后续数据值是否也是提取出包括该数据值在内所有的后续连续值为的数据,假定一共提取了n个数据,然后再依据第二步对基础业务流程模型进行改进,再处理该组连续的值为的数据之后的下一数据,直至第一行数据都处理完毕。然后,再转到第三步;

2)第二步,对基础业务流程模型进行改进。在基础业务流程模型中添加一个空转移(该类型转移在Petri网模型中用实心矩形表示,该转移没有任何实际意义,在业务流程日志中也无法记录,但可以将Petri网模型从一种状态转到另一种状态,其执行规则与一般转移类似),该转移的输入位置是该组连续的值为的数据之前一个位置所对应的第三行数据所代表的基础业务流程模型中的位置,该转移的输出位置是该组连续的最后一个值为的数据所对应的第三行数据所代表的基础业务流程模型中的位置;

3)第三步:依据业务活动比较表第二行的数据,对基础业务流程模型进行改进。依次提取业务活动比较表第二行的各个数据,若该数据值不为则跳过该数据,直接处理下一个数据;若数据值为再判断其后续数据值是否也是提取出包括该数据值在内所有的后续连续值为的数据,假定一共提取了n个数据,然后再依据第四步对基础业务流程模型进行改进,再处理该组连续的值为的数据之后的下一数据,直至第二行数据都处理完毕。

4)第四步,对基础业务流程模型进行改进。在基础业务流程模型中添加n个转移,每个转移的名称是该组连续的值为的数据所对应的第一行数据的值,然后再在每两个相邻的转移间添加一个位置以及相邻的位置与转移之间添加一个有向连接弧,最后再从该组连续的值为的数据之前一个位置所对应的第三行数据所代表的基础业务流程模型中的位置向所添加的第一个转移之间添加有向连接弧,并从所添加的最后一个转移向该组连续的值为的数据末位所对应的第三行数据所代表的基础业务流程模型中的位置之间添加有向连接弧。

经过以上四个步骤,便完成了依据单个业务活动比较表对基础业务流程模型的改进。然后将业务活动比较表集合中所有业务活动比较表对基础业务流程模型的改进结果合并在一起,就形成了改进后的业务流程模型。

步骤S107,对改进后的业务流程模型进行去冗余与简化处理。

在对业务流程模型进行改进的过程中,每次实施步骤302的第二步都会添加一个空转移模块,由这些新增的空转移模块构成的集合称为空转移集合;同理,每次实施步骤302的第四步也会添加一个新的转移循环模块,由这些新增的转移循环模块构成的集合称为转移循环集合。在对改进后的业务流程模型进行优化处理时,也要针对这两类集合的模块分别进行处理,具体的处理过程如图4所示,改进后业务流程模型的优化处理步骤如下:

步骤401:对空转移集合中的空转移模块进行优化处理。

先依次遍历空转移集合中的各个空转移模块,如果存在重复的空转移模块(如果某两个空转移模块的输入位置与输出位置完全一样,那这两个空转移模块就是重复的空转移模块),那就要从空转移集合以及改进的业务流程模型中移除这些空转移模块,保证在空转移集合中每个空转移模块的输入位置和输出位置都不相同;

然后,再从空转移集合中去除冗余的空转移模块。去除过程如下:

1)第一步,依据空转移模块的输入位置与输出位置,构造初始连接矩阵D,其维度为n(n为基础业务流程模型中位置的数目),D中每个元素dij为:

其中,pi→pj表示在空转移集合中存在空转移模块,且该空转移模块的输入位置为pi,输出位置为pj

2)第二步,计算矩阵E=D2+D3+…+Dn;其中,D2中不为0的元素表示在初始连接的基础上,通过两步可以连通的位置,类似的,Dn中不为0的元素表示在初始连接基础上,通过n步可以连通的位置。

3)第三步,比较矩阵D和E中相同位置的元素,即,对任意的1≤i,j≤n,如果满足dij≠0且eij≠0,那就说明dij是冗余的,需从空转移集合以及改进的业务流程模型中移除输入位置为pi且输出位置为pj的空转移模块。

步骤402:对转移循环集合中的转移循环模块进行优化处理。

先依次遍历转移循环集合中的各个转移循环模块,如果存在重复的转移循环模块(如果某两个转移循环模块的输入位置与输出位置完全一样,且这两个转移循环模块中包含的转移也完全一致,那这两个转移循环模块就是重复的转移循环模块),那就要从转移循环集合以及改进的业务流程模型中移除这些转移循环模块,保证在转移循环集合中每个转移循环模块都不相同;

然后,再从转移循环集合中去除冗余的转移循环模块。去除过程如下:

1)第一步,依据输入位置与输出位置将转移循环集合中的转移循环模块分为不同的组,即对于每组内的转移循环模块来说,其输入位置与输出位置都相同。

2)第二步,依次遍历转移循环集合中的每组转移循环模块,判断该组转移循环模块中是否有包含转移数量多于1的转移循环模块,若有的话,则按第三步处理;否则的话,跳过该组转移循环模块,处理下一组转移循环模块;

3)第三步,依次处理该组中包含转移数量多于1的转移循环模块,如果对于该模块中的所有转移,都可以在该组转移循环模块中找到对应的转移数量为1的转移循环模块,那该转移循环模块就是冗余的转移循环模块,需要从转移循环集合以及改进的业务流程模型中移除这些转移循环模块;否则的话,跳过该转移循环模块,处理下一个转移数量多于1的转移循环模块。

经过以上处理过程,便可以完成对改进后的业务流程模型的简化处理,得出最终优化后的业务流程模型。

下面根据具体实施例进一步阐述本发明的技术方案。

现有一系统业务流程日志数据的实施例。通过对该数据文件进行解析,可以得出如下所示的事件日志。

F1={t1,t2,t3,t4,t5,t7}

F2={t1,t2,t3,t4,t6,t7}

F3={t1,t2,t3,t2,t4,t7}

F4={t1,t2,t3,t1,t4,t5,t6,t7}

F5={t1,t3,t1,t2,t4,t5,t6,t7}

该事件日志中包含了F1、F2、F3、F4和F5五个案例,{t1,t2,t3,t4,t5,t7}是案例F1的案例轨迹,表明了在案例F1中各业务活动执行的逻辑顺序。其中t1,t2,t3,t4,t5,t7是在该案例中的业务活动。类似的,在上述事件案例描述中,也对F2、F3、F4和F5等案例的案例轨迹进行了描述。

然后,先初始化基础业务活动集为空集,再从事件日志中的第一个案例开始,分别读取该案例轨迹中各个业务活动,判断基础业务活动集中是否含有该活动,若没有,则将该业务活动添加至基础业务活动集;否则,跳过该业务活动,分析下一个业务活动,直至事件日志案例轨迹中的所有业务活动都分析完毕,最终获得的基础业务活动集A,如下所示:

A={t1,t2,t3,t4,t5,t6,t7}

从基础业务活动集中依次取出各个业务活动(即t1,t2,t3,t4,t5,t6,t7),再分别依次在基础业务流程模型中创建相应的转移t1,t2,t3,t4,t5,t6,t7,再在每两个相邻的转移之间创建相应的位置p1,p2,p3,p4,p5,p6,再在相邻的转移和位置之间添加有向连接弧,即t1和p1、p1和t2、t2和p2、p2和t3、t3和p4、p4和t5、t5和p6、p6和t7之间添加有向弧,然后再在基础业务流程模型中添加一个开始位置IN和一个结束位置OUT,增加从开始位置到第一个转移t1的有向连接弧以及从最后一个转移t7到结束位置的有向连接弧,并在开始位置设置一个令牌,这样就可以得到基础业务流程模型。该模型的具体描述如图5所示。

再分别读取实际日志中的各个案例,依据其案例轨迹中业务活动的执行顺序以及基础业务流程模型中对应转移的执行顺序关系,分别构建相应的业务活动比较表。此处由于篇幅的限制,本发明实施例以案例F3的案例轨迹为例分析业务活动比较表的构建过程。

首先,初始化比较业务活动集AC为基础业务活动集A,即AC=A={t1,t2,t3,t4,t5,t6,t7},再初始化业务活动比较表的位置指示变量i=1;

然后,先分析案例F3的案例轨迹中第一个业务活动t1,可知该业务活动对应的转移在基础业务流程模型当前状态下可激活,于是业务活动比较表中第一行和第二行的第一个数据都可以填入“t1”,再在比较业务活动集中删除t1,即AC={t2,t3,t4,t5,t6,t7},基础业务流程模型的状态转到转移t1执行之后的状态,即位置p1中有一个令牌,并将业务活动比较表的位置指示变量i的值加1,即i=2;

同理,对于案例F3的案例轨迹中下两个业务活动t2和t3来说,也符合这种情况,在业务活动比较表中第一行和第二行的第二个和第三个数据分别填入“t2”和“t3”,再在业务活动比较集中删除t2和t3,即AC={t4,t5,t6,t7},基础业务流程模型的状态转到转移t3执行之后的状态,即位置p3中有一个令牌,并将业务活动比较表的位置指示变量i的值修改为4;

然后再分析案例F3的案例轨迹中下一个业务活动t2,可知该业务活动对应的转移在基础业务流程模型当前状态下无法激活,并且该业务活动也不属于业务活动比较集,但该业务活动之后的业务活动t4属于业务活动比较集,依据这些条件可知要按照步骤301的第八步进行处理,通过分析可知am=t2、an=t4、ai=t4,于是有n1=1,n2=0,在业务活动比较表中第一行和第二行的第四个数据分别填入“t2”和基础业务流程模型的状态和业务活动比较集都不变(因为n2=0),并将业务活动比较表的位置指示变量i的值修改为5;

然后再分析案例F3的案例轨迹中下一个业务活动t4,可知该业务活动对应的转移在基础业务流程模型当前状态下可激活,于是按照步骤301的第四步进行处理,在业务活动比较表中第一行和第二行的第五个数据都填入“t4”,再在业务活动比较集中删除t4,即AC={t5,t6,t7},基础业务流程模型的状态转到转移t4执行之后的状态,即位置p4中有一个令牌,并将业务活动比较表的位置指示变量i的值加1,即i=6;

然后再分析案例F3的案例轨迹中下一个业务活动t7,可知该业务活动对应的转移在基础业务流程模型当前状态下无法激活,但该业务活动属于业务活动比较集,依据这些条件可知要按照步骤301的第八步进行处理,通过分析可知am=t7、ai=t5,于是有n=2,业务活动比较表中第一行第六个到第八个数据的值分别为和“t7”,第二行第六个到第八个数据的值分别为“t5”、“t6”和“t7”,再在业务活动比较集中删除t5、t6和t7,即基础业务流程模型的状态转到转移t7执行之后的状态,即结束位置OUT中有一个令牌,并将业务活动比较表的位置指示变量i的值修改为9;

经过上述处理后,案例F3案例轨迹中的所有业务活动都已处理完毕。再按照步骤302的第十步,对业务活动比较表的第三行数据进行赋值。由于第二行的前三个数据都不等于于是第三行的数据为第二行数据代表的转移在基础业务流程模型中执行后所有存在令牌的位置(比如,转移“t1”执行后在位置“p1”处有令牌),即第三行的前三个数据的值分别为“p1”、“p2”和“p3”;再分析第二行的第四个数据,其值等于于是业务活动比较表第三行对应的数据为转移“t3”(该转移是在该数据之前值不为且距离该数据最近的转移)执行后存在令牌的位置,即第三行的第四个数据值为“p3”;而第二行的后面四个数据的值都不等于即第三行后面四个数据的值分别为“p4”、“p5”、“p6”和“OUT”。

这样,依据案例F3的案例轨迹便可得到业务活动比较表CF3:

依据同样的处理方法,也可以分别得到案例F1、F2、F4和F5所对应的业务活动比较表CF1、CF2、CF4和CF5,这些业务活动比较表综合在一起,便形成了业务活动比较表集合。

业务活动比较表CF1:

业务活动比较表CF2:

业务活动比较表CF4:

业务活动比较表CF5:

再分析业务活动比较表集合中的各个业务活动比较表,据此分别对基础业务流程模型进行改进。这里由于篇幅的限制,本例以案例F3对应的业务活动比较表为例,来分析对基础业务流程模型改进的过程。

首先,对业务活动比较表的第一行数据进行分析,由于前五个数据的值都不是可以直接跳过,第六个和第七个数据是两个连续的可以依据步骤302的第二步进行处理,在基础业务流程模型中添加一个空转移,该转移的输入位置为p4,输出位置为p6,并在位置p4与空转移以及空转移与位置p6之间分别添加一条有向弧,再分析第一行的最后一个数据,由于其值也不是也可以直接跳过;

然后,再对业务活动比较表的第二行数据进行分析,由于前三个数据的值都不是可以直接跳过,第三个数据的值是可以依据步骤302的第四步进行处理,在基础业务流程模型中添加一个新的转移,转移的名称为第一行中对应的数据“t2”,并在基础业务流程模型的位置p6与该转移之间以及该转移与基础业务流程模型的位置p6之间分别添加一条有向连接弧,再分析第二行的最后四个数据,由于其值都不是所以都直接跳过。

经过上述处理过程,便可以得到如图6所示的依据业务活动比较表CF3进行改进后的业务流程模型。

依据同样的处理方法,也可以分别得出依据业务活动比较表CF1、CF2、CF4和CF5进行改进后的业务流程模型,分别如图7、图8、图9和图10所示。

再将这些改进后的业务流程模型合并在一起,就形成了针对该事件日志的改进后的业务流程模型,如图11所示。

然后,再对改进后的业务流程模型进行简化处理。

先对增加的空转移模块进行分析,由图11可知,不存在重复的空转移模块,再判断是否存在冗余的空转移模块,构造初始连接矩阵D:

计算矩阵E:

比较矩阵D和矩阵E,可知输入位置为p4,输出位置为p6的空转移,是冗余空转移,要在改进后的业务流程模型中移除该空转移模块。

再对增加的转移循环模块进行分析,由图11可知,只在位置p3处有新增的转移循环模块,分析这些转移循环模块,可知并不存在重复的转移循环模块;再分析所包含的转移数量大于1的转移循环模块,这里只有包含转移t1和转移t2的转移循环模块满足该条件,而在该组转移循环模块中又有含有单独转移t1的转移循环模块以及单独转移t2的转移循环模块,因此可知包含转移t1和转移t2的转移循环模块是冗余的转移循环模块,需要在改进后的业务流程模型中移除该转移循环模块。

经过上述处理,便可得到如图12所示的优化后的业务流程模型。

再比较本实施例的事件日志以及图12可知,本实施例所生成的业务流程模型能正确模拟事件日志中各个案例的业务活动执行过程,也就是说该业务流程模型能正确反映业务流程的运行过程,是满足企业业务需求的。

综上所述,借助于本发明的上述技术方案,通过使用获取业务流程的日志信息建立事件日志、建立基础业务流程模型、改进业务流程模型并进行去冗余与简化处理的技术手段,快速、准确、高效地构建出符合流程日志要求的业务流程模型,计算过程简单、应用范围广、复杂度低。

所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号