CN106557881B - 一种基于业务活动执行顺序的业务流程系统构建方法 - Google Patents
一种基于业务活动执行顺序的业务流程系统构建方法 Download PDFInfo
- Publication number
- CN106557881B CN106557881B CN201611073845.9A CN201611073845A CN106557881B CN 106557881 B CN106557881 B CN 106557881B CN 201611073845 A CN201611073845 A CN 201611073845A CN 106557881 B CN106557881 B CN 106557881B
- Authority
- CN
- China
- Prior art keywords
- business
- data
- activity
- business activity
- row
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于业务活动执行顺序的业务流程系统构建方法包括:获取业务流程的日志信息,从日志信息中提取出业务流程数据,并根据业务流程数据建立事件日志;从事件日志中提取案例轨迹信息,从案例轨迹信息中提取基础业务活动集,并根据基础业务活动集建立基础业务流程模型;从事件日志中提取各案例轨迹中各业务活动的执行顺序与业务流程中各业务活动的执行顺序,根据各案例轨迹中各业务活动的执行顺序与业务流程中各业务活动的执行顺序建立业务活动比较表集合,并根据业务活动比较表集合改进基础业务流程模型,获得改进后的业务流程模型;对改进后的业务流程模型进行去冗余与简化处理。
Description
技术领域
本发明涉及业务流程构建,特别地,涉及一种基于业务活动执行顺序的业务流程系统构建方法。
背景技术
迄今为止,大部分企业的业务流程模型都是手工设计完成的,而且流程设计人员大都是专门的技术人员,并不是企业的实际管理者或者内部员工,既不能全面了解企业的整个流程,也缺乏对现有流程数据的分析。因此,在时间比较短、经费有限的情况下,设计人员无法很好的理解企业的业务需求,所造成的结果是,即使耗费了大量的精力,所构造的业务流程模型与实际情况仍然会存在偏差,以至极大的影响业务生产过程。
然而,随着信息技术的发展,在企业的信息系统中已经积累的大量的业务流程数据,这些数据记录了企业业务流程的执行过程。流程挖掘的目的就是从企业流程实际运行时保存下来的日志文件中收集提取信息用以支持流程设计和分析。通过运用流程挖掘技术,就可以利用系统记录的大量流程执行日志数据,构造出符合企业实际运行需求的业务流程模型。采用这种方法,可以有效改进传统企业流程开发的不足之处,加速流程模型的开发过程,节省大量的人力物力,并提升流程模型的有效性。
现有技术中,最常用的流程挖掘方法包括基于工作流网的流程挖据方法、启发式流程挖掘方法和面向块结构的流程挖掘方法等。
基于工作流网的流程挖掘方法是将业务流程中的日志文件挖掘成工作流网的一种方法。该方法对需要挖掘的原始数据要求较高,分析的时间也较长,且挖掘出的模型都是工作流网模型。该方法一般适用于规模较大、结构较复杂的流程。
启发式流程挖掘方法主要分为三个步骤,首先要根据业务流程的日志文件,建立一个业务活动依赖频率表,再利用该表挖掘出业务活动之间的关联关系(如先后关系、依赖关系、选择关系和并行关系等),最后利用这些关系,构造出流程模型。由此可知,该方法对原始数据的要求也较高,而且该方法只是从局部出发,考虑相邻业务活动之间的关联关系,无法发现业务流程中的非自由选择结构和复杂的循环结构,无法适用于所有的业务流程。
基于块结构的流程挖掘方法的前提是假定挖掘出的模型都可以用顺序结构、并行结构、选择结构或循环结构来表示。该方法仅适用于存在明显块结构的业务流程。
针对现有技术中流程挖掘方法的应用范围有限,无法全方位的支持企业关键业务流程挖掘,不能快速、准确、高效地构建出符合流程日志要求的业务流程模型的问题,目前尚未有有效的解决方案。
发明内容
有鉴于此,本发明的目的在于提出一种基于业务活动执行顺序的业务流程系统构建方法,能够快速、准确、高效地构建出符合流程日志要求的业务流程模型,且计算过程简单、应用范围广、复杂度低。
基于上述目的,本发明提供的技术方案如下:
根据本发明的一个方面,提供了一种基于业务活动执行顺序的业务流程系统构建方法,包括:
获取业务流程的日志信息,从日志信息中提取出业务流程数据,并根据业务流程数据建立事件日志;
从事件日志中提取案例轨迹信息,从案例轨迹信息中提取基础业务活动集,并根据基础业务活动集建立基础业务流程模型;
从事件日志中提取各案例轨迹中各业务活动的执行顺序与业务流程中各业务活动的执行顺序,根据各案例轨迹中各业务活动的执行顺序与业务流程中各业务活动的执行顺序建立业务活动比较表集合,并根据业务活动比较表集合改进基础业务流程模型,获得改进后的业务流程模型;
对改进后的业务流程模型进行去冗余与简化处理。
其中,事件日志为多个案例的集合,每个案例为一个完整的业务流程的执行过程记录,一个完整的业务流程包括多个按次序排列的业务活动;每个案例还包括案例轨迹,每个案例轨迹为多个业务活动按发生次序构成的序列,每个案例轨迹为完整的、或不完整的业务流程。
并且,业务活动比较表集合包括三行数据,其中,第一行数据为案例轨迹中的业务活动名称,第二行数据为业务流程模型中与第一行数据中相同位置上的业务活动名称对应的转移的名称,第三行数据为第二行数据中相同位置上的转移执行后业务流程模型中令牌所在位置的名称。
并且,根据事件日志中的案例轨迹信息建立业务活动比较表集合包括:
依次提取每个未处理业务轨迹中的每个未处理业务活动,判断该业务活动在佩特里网模型中能否激活,若能,则使用该业务活动在业务活动比较表集合的第一行数据与第二行数据中赋值;
若否,则根据该业务活动是否位于业务活动比较表集合,使用该业务活动在业务活动比较表集合的第一行数据与第二行数据中赋值;
根据该业务活动是否位于业务活动比较表集合与该业务活动所在案例轨迹中的所有业务活动中是否存在位于业务活动比较表集合的业务活动,使用该业务活动在业务活动比较表集合的第三行数据中赋值。
并且,依次提取每个未处理业务轨迹中的每个未处理业务活动,判断该业务活动在佩特里网模型中能否激活,若能,则使用该业务活动在业务活动比较表集合的第一行数据与第二行数据中赋值包括:
初始化比较业务活动集AC为基础业务活动集,并初始化业务活动比较表位置指示变量i为1;
判断案例轨迹中是否包括未处理过的业务活动,是则继续下一步骤,否则转向在业务活动比较表集合的第三行数据中赋值步骤;
按顺序指定案例轨迹中的下一个业务活动am,并判断该业务活动对应的转移在基础业务流程模型中是否能激活,是则继续下一步骤,否则转向该业务活动是否位于业务活动比较表集合步骤;
对业务活动比较表第一行和第二行第i个数据的值分别设置为业务活动am以及am对应的转移的名称,从比较业务活动集中删除该业务活动,将基础业务流程模型的状态更新为am对应的转移执行后的状态,在该案例轨迹中将am标识为已处理且i的值累加1,并返回判断案例轨迹中是否还有未处理过的业务活动步骤。
并且,若否则根据该业务活动是否位于业务活动比较表集合,使用该业务活动在业务活动比较表集合的第一行数据与第二行数据中赋值包括:
判断业务活动am是否属于业务活动比较集AC,是则继续下一步骤,否则跳过下一步骤;
计算在基础业务流程模型当前状态下可激活的转移ai到am所对应的转移之间的转移间隔数量n,将业务活动比较表第二行从第i到第i+n个数据的值赋为业务流程模型当前状态下可激活的转移ai到am所对应的转移之间所有转移的名称,第一行从第i到第i+n-1个数据的值赋为空,第i+n个数据的值赋为am的名称,并从比较业务活动集中删除基础业务流程模型当前状态下可激活转移对应的业务活动ai到am之间的业务活动,将基础业务流程模型的状态更新为am对应的转移执行后的状态,在该案例轨迹中将am标识为已处理,将i的值更新为i+n+1,并返回判断案例轨迹中是否还有未处理过的业务活动步骤;
提取当前案例轨迹中发生在am之后的所有业务活动,并判断这些业务活动中,是否有某个业务活动属于业务活动比较集,是则继续下一步骤,否则跳过下一步骤;
计算提取案例轨迹中发生在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之间的业务活动,将基础业务流程模型的状态更新为an对应的转移执行前的状态,将案例轨迹从am开始到an之前的业务活动标识为已处理,将i的值更新为i+n1+n2,并返回判断案例轨迹中是否还有未处理过的业务活动步骤;
提取案例轨迹中发生在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。
并且,根据该业务活动是否位于业务活动比较表集合与该业务活动所在案例轨迹中的所有业务活动中是否存在位于业务活动比较表集合的业务活动,使用该业务活动在业务活动比较表集合的第三行数据中赋值包括:
依次取出该表中第二行每个位置的数据;
若该数据值不为空,则在基础业务流程模型中找出该值所代表的转移,表中第三行对应位置的数据值为在基础业务流程模型中该转移执行后,所有存在令牌的位置;
否则,先在第二行数据中找出在该位置之前且距离该位置最近的数据值不为空的数据,再在基础业务流程模型中找出该值所代表的转移,相应的表中第三行对应位置的数据值为在基础业务流程模型中该转移执行后,所有存在令牌的位置。
另外,根据业务活动比较表集合改进基础业务流程模型,获得改进后的业务流程模型包括:
提取第一行数据中所有的连续值为空的n个数据串;
在基础业务流程模型中添加一个空转移,空转移的输入位置是该组连续的值为空的数据串首位之前一个位置所对应的第三行数据所代表的基础业务流程模型中的位置,空转移的输出位置是该组连续的值为空的数据串末位所对应的第三行数据所代表的基础业务流程模型中的位置;
提取第二行数据中所有的连续值为空的n个数据串;
在基础业务流程模型中添加n个转移,每个转移的名称是该组连续的值为空的数据串中每个数据所对应的第一行数据的值,在每两个相邻的转移间添加一个位置以及相邻的位置与转移之间添加一个有向连接弧,再从该组连续的值为空的数据串首位之前一个位置所对应的第三行数据所代表的基础业务流程模型中的位置向所添加的第一个转移之间添加有向连接弧,并从所添加的最后一个转移向该组连续的值为空的数据串末位所对应的第三行数据所代表的基础业务流程模型中的位置之间添加有向连接弧。
从上面所述可以看出,本发明提供的技术方案通过使用获取业务流程的日志信息建立事件日志、建立基础业务流程模型、改进业务流程模型并进行去冗余与简化处理的技术手段,快速、准确、高效地构建出符合流程日志要求的业务流程模型,计算过程简单、应用范围广、复杂度低。
附图说明
为了更清楚地说明本发明实施例或现有技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的一种基于业务活动执行顺序的业务流程系统构建方法的流程图;
图2为根据本发明实施例的一种基于业务活动执行顺序的业务流程系统构建方法中,基础业务流程模型构建过程的流程图;
图3为根据本发明实施例的一种基于业务活动执行顺序的业务流程系统构建方法中,改进业务流程模型构建过程的流程图;
图4为根据本发明实施例的一种基于业务活动执行顺序的业务流程系统构建方法中,进行去冗余与简化处理的流程图;
图5为根据本发明实施例的一种基于业务活动执行顺序的业务流程系统构建方法的一个实施例中,基础业务流程模型图;
图6为根据本发明实施例的一种基于业务活动执行顺序的业务流程系统构建方法的一个实施例中,依据业务活动比较表CF3进行改进后的基础业务流程模型图;
图7为根据本发明实施例的一种基于业务活动执行顺序的业务流程系统构建方法的一个实施例中,依据业务活动比较表CF1进行改进后的基础业务流程模型图;
图8为根据本发明实施例的一种基于业务活动执行顺序的业务流程系统构建方法的一个实施例中,依据业务活动比较表CF2进行改进后的基础业务流程模型图;
图9为根据本发明实施例的一种基于业务活动执行顺序的业务流程系统构建方法的一个实施例中,依据业务活动比较表CF4进行改进后的基础业务流程模型图;
图10为根据本发明实施例的一种基于业务活动执行顺序的业务流程系统构建方法的一个实施例中,依据业务活动比较表CF5进行改进后的基础业务流程模型图;
图11为根据本发明实施例的一种基于业务活动执行顺序的业务流程系统构建方法的一个实施例中,改进后的业务流程模型图;
图12为根据本发明实施例的一种基于业务活动执行顺序的业务流程系统构建方法的一个实施例中,进行去冗余与简化处理后的业务流程模型图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进一步进行清楚、完整、详细地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的一个实施例,提供了一种基于业务活动执行顺序的业务流程系统构建方法。
如图1所示,根据本发明实施例提供的方法包括:
步骤S101,获取业务流程的日志信息,从日志信息中提取出业务流程数据,并根据业务流程数据建立事件日志;
步骤S103,从事件日志中提取案例轨迹信息,从案例轨迹信息中提取基础业务活动集,并根据基础业务活动集建立基础业务流程模型;
步骤S105,从事件日志中提取各案例轨迹中各业务活动的执行顺序与业务流程中各业务活动的执行顺序,根据各案例轨迹中各业务活动的执行顺序与业务流程中各业务活动的执行顺序建立业务活动比较表集合,并根据业务活动比较表集合改进基础业务流程模型,获得改进后的业务流程模型;
步骤S107,对改进后的业务流程模型进行去冗余与简化处理。
其中,事件日志为多个案例的集合,每个案例为一个完整的业务流程的执行过程记录,一个完整的业务流程包括多个按次序排列的业务活动;每个案例还包括案例轨迹,每个案例轨迹为多个业务活动按发生次序构成的序列,每个案例轨迹为完整的、或不完整的业务流程。
并且,业务活动比较表集合包括三行数据,其中,第一行数据为案例轨迹中的业务活动名称,第二行数据为业务流程模型中与第一行数据中相同位置上的业务活动名称对应的转移的名称,第三行数据为第二行数据中相同位置上的转移执行后业务流程模型中令牌所在位置的名称。
并且,根据事件日志中的案例轨迹信息建立业务活动比较表集合包括:
依次提取每个未处理业务轨迹中的每个未处理业务活动,判断该业务活动在佩特里网模型中能否激活,若能,则使用该业务活动在业务活动比较表集合的第一行数据与第二行数据中赋值;
若否,则根据该业务活动是否位于业务活动比较表集合,使用该业务活动在业务活动比较表集合的第一行数据与第二行数据中赋值;
根据该业务活动是否位于业务活动比较表集合与该业务活动所在案例轨迹中的所有业务活动中是否存在位于业务活动比较表集合的业务活动,使用该业务活动在业务活动比较表集合的第三行数据中赋值。
并且,依次提取每个未处理业务轨迹中的每个未处理业务活动,判断该业务活动在佩特里网模型中能否激活,若能,则使用该业务活动在业务活动比较表集合的第一行数据与第二行数据中赋值包括:
初始化比较业务活动集AC为基础业务活动集,并初始化业务活动比较表位置指示变量i为1;
判断案例轨迹中是否包括未处理过的业务活动,是则继续下一步骤,否则转向在业务活动比较表集合的第三行数据中赋值步骤;
按顺序指定案例轨迹中的下一个业务活动am,并判断该业务活动对应的转移在基础业务流程模型中是否能激活,是则继续下一步骤,否则转向该业务活动是否位于业务活动比较表集合步骤;
对业务活动比较表第一行和第二行第i个数据的值分别设置为业务活动am以及am对应的转移的名称,从比较业务活动集中删除该业务活动,将基础业务流程模型的状态更新为am对应的转移执行后的状态,在该案例轨迹中将am标识为已处理且i的值累加1,并返回判断案例轨迹中是否还有未处理过的业务活动步骤。
并且,若否则根据该业务活动是否位于业务活动比较表集合,使用该业务活动在业务活动比较表集合的第一行数据与第二行数据中赋值包括:
判断业务活动am是否属于业务活动比较集AC,是则继续下一步骤,否则跳过下一步骤;
计算在基础业务流程模型当前状态下可激活的转移ai到am所对应的转移之间的转移间隔数量n,将业务活动比较表第二行从第i到第i+n个数据的值赋为业务流程模型当前状态下可激活的转移ai到am所对应的转移之间所有转移的名称,第一行从第i到第i+n-1个数据的值赋为空,第i+n个数据的值赋为am的名称,并从比较业务活动集中删除基础业务流程模型当前状态下可激活转移对应的业务活动ai到am之间的业务活动,将基础业务流程模型的状态更新为am对应的转移执行后的状态,在该案例轨迹中将am标识为已处理,将i的值更新为i+n+1,并返回判断案例轨迹中是否还有未处理过的业务活动步骤;
提取当前案例轨迹中发生在am之后的所有业务活动,并判断这些业务活动中,是否有某个业务活动属于业务活动比较集,是则继续下一步骤,否则跳过下一步骤;
计算提取案例轨迹中发生在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之间的业务活动,将基础业务流程模型的状态更新为an对应的转移执行前的状态,将案例轨迹将从am开始到an之前的业务活动标识为已处理,将i的值更新为i+n1+n2,并返回判断案例轨迹中是否还有未处理过的业务活动步骤;
提取案例轨迹中发生在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。
并且,根据该业务活动是否位于业务活动比较表集合与该业务活动所在案例轨迹中的所有业务活动中是否存在位于业务活动比较表集合的业务活动,使用该业务活动在业务活动比较表集合的第三行数据中赋值包括:
依次取出该表中第二行每个位置的数据;
若该数据值不为空,则在基础业务流程模型中找出该值所代表的转移,表中第三行对应位置的数据值为在基础业务流程模型中该转移执行后,所有存在令牌的位置;
否则,先在第二行数据中找出在该位置之前且距离该位置最近的数据值不为空的数据,再在基础业务流程模型中找出该值所代表的转移,相应的表中第三行对应位置的数据值为在基础业务流程模型中该转移执行后,所有存在令牌的位置。
另外,根据业务活动比较表集合改进基础业务流程模型,获得改进后的业务流程模型包括:
提取第一行数据中所有的连续值为空的n个数据串;
在基础业务流程模型中添加一个空转移,空转移的输入位置是该组连续的值为空的数据串首位之前一个位置所对应的第三行数据所代表的基础业务流程模型中的位置,空转移的输出位置是该组连续的值为空的数据串末位所对应的第三行数据所代表的基础业务流程模型中的位置;
提取第二行数据中所有的连续值为空的n个数据串;
在基础业务流程模型中添加n个转移,每个转移的名称是该组连续的值为空的数据串中每个数据所对应的第一行数据的值,在每两个相邻的转移间添加一个位置以及相邻的位置与转移之间添加一个有向连接弧,在从该组连续的值为空的数据串首位之前一个位置所对应的第三行数据所代表的基础业务流程模型中的位置向所添加的第一个转移之间添加有向连接弧,并从该组连续的值为空的数据串末位之前一个位置所对应的第三行数据所代表的基础业务流程模型中的位置之间添加有向连接弧。
本发明中的业务流程模型是采用佩特里网(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;完成这些操作后,转到第二步;
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:
t<sub>1</sub> | t<sub>2</sub> | t<sub>3</sub> | t<sub>2</sub> | t<sub>4</sub> | 》 | 》 | t<sub>7</sub> |
t<sub>1</sub> | t<sub>2</sub> | t<sub>3</sub> | 》 | t<sub>4</sub> | t<sub>5</sub> | t<sub>6</sub> | t<sub>7</sub> |
p<sub>1</sub> | p<sub>2</sub> | p<sub>3</sub> | p<sub>3</sub> | p<sub>4</sub> | p<sub>5</sub> | p<sub>6</sub> | out |
依据同样的处理方法,也可以分别得到案例F1、F2、F4和F5所对应的业务活动比较表CF1、CF2、CF4和CF5,这些业务活动比较表综合在一起,便形成了业务活动比较表集合。
业务活动比较表CF1:
t<sub>1</sub> | t<sub>2</sub> | t<sub>3</sub> | t<sub>4</sub> | t<sub>5</sub> | 》 | t<sub>7</sub> |
t<sub>1</sub> | t<sub>2</sub> | t<sub>3</sub> | t<sub>4</sub> | t<sub>5</sub> | t<sub>6</sub> | t<sub>7</sub> |
p<sub>1</sub> | p<sub>2</sub> | p<sub>3</sub> | p<sub>4</sub> | p<sub>5</sub> | p<sub>6</sub> | out |
业务活动比较表CF2:
t<sub>1</sub> | t<sub>2</sub> | t<sub>3</sub> | t<sub>4</sub> | 》 | t<sub>6</sub> | t<sub>7</sub> |
t<sub>1</sub> | t<sub>2</sub> | t<sub>3</sub> | t<sub>4</sub> | t<sub>5</sub> | t<sub>6</sub> | t<sub>7</sub> |
p<sub>1</sub> | p<sub>2</sub> | p<sub>3</sub> | p<sub>4</sub> | p<sub>5</sub> | p<sub>6</sub> | out |
业务活动比较表CF4:
t<sub>1</sub> | t<sub>2</sub> | t<sub>3</sub> | t<sub>1</sub> | t<sub>4</sub> | t<sub>5</sub> | t<sub>6</sub> | t<sub>7</sub> |
t<sub>1</sub> | t<sub>2</sub> | t<sub>3</sub> | 》 | t<sub>4</sub> | t<sub>5</sub> | t<sub>6</sub> | t<sub>7</sub> |
p<sub>1</sub> | p<sub>2</sub> | p<sub>3</sub> | p<sub>3</sub> | p<sub>4</sub> | p<sub>5</sub> | p<sub>6</sub> | out |
业务活动比较表CF5:
t<sub>1</sub> | 》 | t<sub>3</sub> | t<sub>1</sub> | t<sub>2</sub> | t<sub>4</sub> | t<sub>5</sub> | t<sub>6</sub> | t<sub>7</sub> |
t<sub>1</sub> | t<sub>2</sub> | t<sub>3</sub> | 》 | 》 | t<sub>4</sub> | t<sub>5</sub> | t<sub>6</sub> | t<sub>7</sub> |
p<sub>1</sub> | p<sub>2</sub> | p<sub>3</sub> | p<sub>3</sub> | p<sub>3</sub> | p<sub>4</sub> | p<sub>5</sub> | p<sub>6</sub> | out |
再分析业务活动比较表集合中的各个业务活动比较表,据此分别对基础业务流程模型进行改进。这里由于篇幅的限制,本例以案例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可知,本实施例所生成的业务流程模型能正确模拟事件日志中各个案例的业务活动执行过程,也就是说该业务流程模型能正确反映业务流程的运行过程,是满足企业业务需求的。
综上所述,借助于本发明的上述技术方案,通过使用获取业务流程的日志信息建立事件日志、建立基础业务流程模型、改进业务流程模型并进行去冗余与简化处理的技术手段,快速、准确、高效地构建出符合流程日志要求的业务流程模型,计算过程简单、应用范围广、复杂度低。
所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于业务活动执行顺序的业务流程系统构建方法,其特征在于,包括:
获取业务流程的日志信息,从所述日志信息中提取出业务流程数据,并根据所述业务流程数据建立事件日志;
从所述事件日志中提取案例轨迹信息,从所述案例轨迹信息中提取基础业务活动集,并根据所述基础业务活动集建立基础业务流程模型;
从所述事件日志中提取各案例轨迹中各业务活动的执行顺序与所述业务流程中各业务活动的执行顺序,根据各案例轨迹中各业务活动的执行顺序与所述业务流程中各业务活动的执行顺序建立业务活动比较表集合,并根据所述业务活动比较表集合改进所述基础业务流程模型,获得改进后的业务流程模型;
对所述改进后的业务流程模型进行去冗余与简化处理,并采用处理后的业务流程模型对所述业务流程的运行过程进行模拟;
所述业务活动比较表集合包括三行数据,其中,第一行数据为所述案例轨迹中的业务活动名称,第二行数据为所述业务流程模型中与所述第一行数据中相同位置上的业务活动名称对应的转移的名称,第三行数据为所述第二行数据中相同位置上的转移执行后所述业务流程模型中令牌所在位置的名称;
根据所述业务活动比较表集合改进所述基础业务流程模型,获得改进后的业务流程模型包括:
提取所述第一行数据中所有的连续值为空的n个数据串;
在基础业务流程模型中添加一个空转移,所述空转移的输入位置是所述第一行数据中一组连续的值为空的数据串首位之前一个位置所对应的第三行数据所代表的基础业务流程模型中的位置,所述空转移的输出位置是该组连续的值为空的数据串末位所对应的第三行数据所代表的基础业务流程模型中的位置;
提取所述第二行数据中所有的连续值为空的n个数据串;
在基础业务流程模型中添加n个转移,每个转移的名称是所述第二行数据中一组连续的值为空的数据串中每个数据所对应的第一行数据的值,在每两个相邻的转移间添加一个位置以及相邻的位置与转移之间添加一个有向连接弧,再从该组连续的值为空的数据串首位之前一个位置所对应的第三行数据所代表的基础业务流程模型中的位置向所添加的第一个转移之间添加有向连接弧,并从所添加的最后一个转移向该组连续的值为空的数据串末位所对应的第三行数据所代表的基础业务流程模型中的位置之间添加有向连接弧。
2.根据权利要求1所述的方法,其特征在于,所述事件日志为多个案例的集合,每个案例为一个完整的业务流程的执行过程记录,所述一个完整的业务流程包括多个按次序排列的业务活动;所述每个案例还包括案例轨迹,所述每个案例轨迹为多个所述业务活动按发生次序构成的序列,所述每个案例轨迹为完整的、或不完整的业务流程。
3.根据权利要求2所述的方法,其特征在于,根据所述事件日志中的案例轨迹信息建立业务活动比较表集合包括:
依次提取每个未处理业务轨迹中的每个未处理业务活动,判断该业务活动在佩特里网模型中能否激活,若能,则使用该业务活动在所述业务活动比较表集合的第一行数据与第二行数据中赋值;
若否,则根据该业务活动是否位于所述业务活动比较表集合,使用该业务活动在所述业务活动比较表集合的第一行数据与第二行数据中赋值;
根据该业务活动是否位于所述业务活动比较表集合与该业务活动所在案例轨迹中的所有业务活动中是否存在位于所述业务活动比较表集合的业务活动,使用该业务活动在所述业务活动比较表集合的第三行数据中赋值。
4.根据权利要求3所述的方法,其特征在于,依次提取每个未处理业务轨迹中的每个未处理业务活动,判断该业务活动在所述佩特里网模型中能否激活,若能,则使用该业务活动在所述业务活动比较表集合的第一行数据与第二行数据中赋值包括:
初始化比较业务活动集AC为基础业务活动集,并初始化所述业务活动比较表位置指示变量i为1;
判断案例轨迹中是否包括未处理过的业务活动,是则继续下一步骤,否则转向在所述业务活动比较表集合的第三行数据中赋值步骤;
按顺序指定所述案例轨迹中的下一个业务活动am,并判断该业务活动对应的转移在基础业务流程模型中是否能激活,是则继续下一步骤,否则转向该业务活动是否位于所述业务活动比较表集合步骤;
对所述业务活动比较表第一行和第二行第i个数据的值分别设置为业务活动am以及am对应的转移的名称,从所述比较业务活动集中删除该业务活动,将所述基础业务流程模型的状态更新为am对应的转移执行后的状态,在该案例轨迹中将am标识为已处理且i的值累加1,并返回判断案例轨迹中是否还有未处理过的业务活动步骤。
5.根据权利要求4所述的方法,其特征在于,若否,则根据该业务活动是否位于所述业务活动比较表集合,使用该业务活动在所述业务活动比较表集合的第一行数据与第二行数据中赋值包括:
判断所述业务活动am是否属于所述业务活动比较集AC,是则继续下一步骤,否则跳过下一步骤;
计算在所述基础业务流程模型当前状态下可激活的转移ai到am所对应的转移之间的转移间隔数量n,将所述业务活动比较表第二行从第i到第i+n个数据的值赋为业务流程模型当前状态下可激活的转移ai到am所对应的转移之间所有转移的名称,第一行从第i到第i+n-1个数据的值赋为空,第i+n个数据的值赋为am的名称,并从所述比较业务活动集中删除基础业务流程模型当前状态下可激活转移对应的业务活动ai到am之间的业务活动,将基础业务流程模型的状态更新为am对应的转移执行后的状态,在该案例轨迹中将am标识为已处理,将i的值更新为i+n+1,并返回判断案例轨迹中是否还有未处理过的业务活动步骤;
提取当前案例轨迹中发生在am之后的所有业务活动,并判断这些业务活动中,是否有某个业务活动属于业务活动比较集,是则继续下一步骤,否则跳过下一步骤;
计算提取所述案例轨迹中发生在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之间的业务活动,将所述基础业务流程模型的状态更新为an对应的转移执行前的状态,将所述案例轨迹从am开始到an之前的业务活动标识为已处理,将i的值更新为i+n1+n2,并返回判断案例轨迹中是否还有未处理过的业务活动步骤;
提取案例轨迹中发生在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。
6.根据权利要求5所述的方法,其特征在于,根据该业务活动是否位于所述业务活动比较表集合与该业务活动所在案例轨迹中的所有业务活动中是否存在位于所述业务活动比较表集合的业务活动,使用该业务活动在所述业务活动比较表集合的第三行数据中赋值包括:
依次取出该表中第二行每个位置的数据;
若该数据值不为空,则在基础业务流程模型中找出该值所代表的转移,表中第三行对应位置的数据值为在基础业务流程模型中该转移执行后,所有存在令牌的位置;
否则,先在第二行数据中找出在该位置之前且距离该位置最近的数据值不为空的数据,再在基础业务流程模型中找出该值所代表的转移,相应的表中第三行对应位置的数据值为在基础业务流程模型中该转移执行后,所有存在令牌的位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611073845.9A CN106557881B (zh) | 2016-11-29 | 2016-11-29 | 一种基于业务活动执行顺序的业务流程系统构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611073845.9A CN106557881B (zh) | 2016-11-29 | 2016-11-29 | 一种基于业务活动执行顺序的业务流程系统构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106557881A CN106557881A (zh) | 2017-04-05 |
CN106557881B true CN106557881B (zh) | 2020-09-25 |
Family
ID=58446036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611073845.9A Active CN106557881B (zh) | 2016-11-29 | 2016-11-29 | 一种基于业务活动执行顺序的业务流程系统构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106557881B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112925517B (zh) * | 2019-12-06 | 2024-02-20 | 中国电信股份有限公司 | 业务功能实现方法、装置和系统 |
CN111178014A (zh) * | 2019-12-13 | 2020-05-19 | 中国建设银行股份有限公司 | 一种处理业务流程的方法和装置 |
CN112632018B (zh) * | 2020-12-21 | 2022-05-17 | 深圳市杰成软件有限公司 | 一种业务流程事件日志采样方法与系统 |
CN114819458A (zh) * | 2021-12-31 | 2022-07-29 | 第四范式(北京)技术有限公司 | 仿真模型的构建方法和仿真模型的构建装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069306A (zh) * | 2015-08-18 | 2015-11-18 | 山东科技大学 | 基于工作流网模型的事件日志审计方法 |
CN106056299A (zh) * | 2016-06-08 | 2016-10-26 | 杭州电子科技大学 | 一种基于流程挖掘的决策支持方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090094074A1 (en) * | 2007-10-04 | 2009-04-09 | Nikovski Daniel N | Method for Constructing Business Process Models from Task Execution Traces |
-
2016
- 2016-11-29 CN CN201611073845.9A patent/CN106557881B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069306A (zh) * | 2015-08-18 | 2015-11-18 | 山东科技大学 | 基于工作流网模型的事件日志审计方法 |
CN106056299A (zh) * | 2016-06-08 | 2016-10-26 | 杭州电子科技大学 | 一种基于流程挖掘的决策支持方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于DM2 的体系结构可执行模型构建方法;张晓雪 等;《航天电子对抗》;20130430;第35卷(第2期);第27-33页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106557881A (zh) | 2017-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106557881B (zh) | 一种基于业务活动执行顺序的业务流程系统构建方法 | |
CN110399800B (zh) | 基于深度学习vgg16框架的车牌检测方法及系统、存储介质 | |
CN100474318C (zh) | 一种自动生成设计bom的系统 | |
CN106503872B (zh) | 一种基于基础业务活动集的业务流程系统构建方法 | |
CN111435343B (zh) | 计算机系统日志模板的自动生成和在线更新方法与系统 | |
US11841839B1 (en) | Preprocessing and imputing method for structural data | |
CN113342495B (zh) | 一种跨组织多实例子过程模型挖掘方法与系统 | |
CN111027703A (zh) | 一种量子线路查询的方法、装置、存储介质及电子装置 | |
CN108984159B (zh) | 一种基于马尔可夫语言模型的缩略词组扩展方法 | |
JP2020052451A (ja) | 計算機システム及び業務フローのパターン生成方法 | |
CN101853444A (zh) | 基于模型合并的集成化企业过程参考模型建立方法 | |
CN117455037A (zh) | 一种基于多模态案例知识图的生产业务流程剩余时间预测方法 | |
CN117370650A (zh) | 基于服务组合超图卷积网络的云计算数据推荐方法 | |
CN108897680B (zh) | 一种基于soa的软件系统操作剖面构造方法 | |
CN112052248A (zh) | 一种审计大数据处理方法及系统 | |
CN114331133A (zh) | 一种基于动作日志分割的自动化流程识别方法 | |
CN115391519A (zh) | 一种基于nlp技术的企业自动打标签模型生成方法、系统、设备以及存储介质 | |
CN112148929A (zh) | 基于树形网络的大数据分析方法及装置 | |
CN117132218B (zh) | 工作流管理系统 | |
CN117389908B (zh) | 接口自动化测试用例的依赖关系分析方法、系统及介质 | |
CN110727838B (zh) | 虚拟样车和装车清单中零件号的一致性校验方法及系统 | |
US20230237225A1 (en) | Machine learning based reservoir modeling | |
CN112685010B (zh) | 一种ai应用开发方法及系统 | |
CN118069471B (zh) | 一种rpa工作流的日志采样方法、存储介质、设备 | |
US20220237364A1 (en) | Click to document |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |