CN108573043A - 业务过程死锁与缺乏同步错误的挖掘方法 - Google Patents

业务过程死锁与缺乏同步错误的挖掘方法 Download PDF

Info

Publication number
CN108573043A
CN108573043A CN201810337951.6A CN201810337951A CN108573043A CN 108573043 A CN108573043 A CN 108573043A CN 201810337951 A CN201810337951 A CN 201810337951A CN 108573043 A CN108573043 A CN 108573043A
Authority
CN
China
Prior art keywords
event
sequence
events
deadlock
timing error
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.)
Granted
Application number
CN201810337951.6A
Other languages
English (en)
Other versions
CN108573043B (zh
Inventor
宋巍
常震
尚庆民
戴汪洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Science and Technology
Original Assignee
Nanjing University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University of Science and Technology filed Critical Nanjing University of Science and Technology
Priority to CN201810337951.6A priority Critical patent/CN108573043B/zh
Publication of CN108573043A publication Critical patent/CN108573043A/zh
Application granted granted Critical
Publication of CN108573043B publication Critical patent/CN108573043B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种业务过程死锁与缺乏同步错误的挖掘方法,该方法通过挖掘业务过程事件日志来获得业务过程中所有包含死锁与缺乏同步错误的过程片段;首先通过解析XES日志文件获得所有事件序列集合并对其进行预处理,获得分别用于挖掘死锁与缺乏同步错误的事件序列集合;然后遍历事件序列集合,从中获得各自的事件关系集;最后利用启发式规则与α算法,得到业务过程中所有包含死锁与缺乏同步错误的过程片段。本发明最先提出了从事件日志中挖掘死锁与缺乏同步错误的方法,采用“关注点分离”的原则,将事件日志拆分成两个单独的日志,分别用于发现死锁与缺乏同步错误的所有过程片段,能有效且高效的挖掘出这些控制流错误。

Description

业务过程死锁与缺乏同步错误的挖掘方法
技术领域
本发明属于过程挖掘领域,具体涉及一种业务过程死锁与缺乏同步错误的挖掘方法。
背景技术
近年来,随着云计算和大数据技术的发展,业务过程分析成为应用开发和系统集成的主流方法之一,例如,Web服务组合,科学工作流程等。因此,过程分析在保证当今应用和信息系统质量方面起着越来越重要的作用。与传统的过程分析和当前热门的大数据分析技术相比,过程挖掘旨在从信息系统的实际执行历史即事件日志中,发现有用的行为知识,这在学术界和工业界受到了越来越多的关注。
现有的过程挖掘技术可以分为三大类:过程发现,即从事件日志中发现过程模型;一致性检查,即识别过程模型;和事件日志之间的差异和过程增强,即根据事件日志改进过程模型。尽管它们注重的是不同方面,但是这三类过程挖掘技术都事先假设事件日志是由健全的业务过程生成的。当且仅当业务过程没有控制流错误时,业务过程事件日志才是健全的。这表明如果一个事件日志是由一个不健全的过程产生的,那么直接应用现有的过程挖掘技术将是不合适的。
发明内容
本发明的目的在于提供一种业务过程死锁与缺乏同步错误的挖掘方法。
实现本发明目的的技术方案为:一种业务过程死锁与缺乏同步错误的挖掘方法,根据业务过程事件日志,挖掘出业务过程中存在的死锁与缺乏同步错误;以XES格式描述的业务过程事件日志作为输入,以PNML格式描述的包含死锁或者缺乏同步错误的过程片段为输出,该方法具体步骤为:
步骤1,解析XES描述的业务过程事件日志,获得事件序列集合L,对L进行预处理,获得分别用于发现死锁与缺乏同步错误的事件序列集合L1和L2;
步骤2,分别遍历事件序列集合L1和L2中的每条事件序列,挖掘所有事件间的关系,包括直接先于关系、因果关系、并行关系、独立关系和传递闭包关系;
步骤3,对从事件序列集合L1中获得的事件关系集利用启发式规则1与α算法,挖掘得到业务过程中所有包含死锁错误的过程片段;
对从事件序列集合L2中获得的事件关系集利用启发式规则2与α算法,挖掘得到业务过程中所有包含缺乏同步错误的过程片段。
本发明与现有技术相比,其显著优点为:本发明首次提出了从事件日志中挖掘死锁与缺乏同步错误;采用了“关注点分离”的原则,将事件日志拆分成两个单独的日志,分别用于发现死锁与缺乏同步错误的所有过程片段,本方法能有效且高效的挖掘出这些控制流错误。
附图说明
图1是本发明业务过程死锁与缺乏同步错误的挖掘方法流程图。
图2是以XES格式描述的事件日志文件示意图。
图3(a)是事件日志文件中描述的事件序列集合L示意图。
图3(b)是用于挖掘死锁错误的事件序列集合L1示意图。
图3(c)是用于挖掘缺乏同步错误的事件序列集合L2示意图。
图4(a)是L1中所有事件之间的关系示意图。
图4(b)是L2中所有事件之间的关系示意图。
图5是过程中包含的死锁错误过程片段示意图。
图6是过程中包含的缺乏同步错误过程片段示意图。
具体实施方式
结合图1,一种业务过程死锁与缺乏同步错误的挖掘方法,根据业务过程事件日志,挖掘出业务过程中存在的死锁与缺乏同步错误;以XES格式描述的业务过程事件日志作为输入,以PNML格式描述的包含死锁或者缺乏同步错误的过程片段为输出,该方法具体步骤为:
步骤1,解析XES描述的业务过程事件日志,获得事件序列集合L,对L进行预处理,获得分别用于发现死锁与缺乏同步错误的事件序列集合L1和L2;具体为:
步骤1-1,解析业务过程事件日志XES文件,依次读取每一条日志信息,获得所有事件序列集合,任意一条事件序列σ={t1,t2,t3,…,tn}包含n个事件,t1……tn代表事件,这n个事件按照事件先后发生顺序排列;
步骤1-2,遍历事件序列集合,如果当前遍历的事件序列不以终止事件te结尾,则将该事件序列置于挖掘死锁错误的事件序列集合L1中;如果当前遍历的事件序列中包含te但不以te结尾,或者包含连续两个以上相同事件,则将该事件序列置于挖掘缺乏同步错误的事件序列集合L2中;为了扩大L2集合,以便更好的挖掘出缺乏同步错误片段,将L1投影到L2的集合上;
步骤1-3,分别遍历事件序列集合L1、L2,在每条事件序列中只保留每个事件的首次出现。
步骤2,分别遍历事件序列集合L1和L2中的每条事件序列,挖掘所有事件间的关系,包括直接先于关系、因果关系、并行关系、独立关系和传递闭包关系;具体为:
步骤2-1,遍历事件序列集合L1,挖掘获得所有事件之间的直接先于关系,符号表示为>,即对于任一事件序列σ={t1,t2,t3,…,tn},当a=ti,b=ti+1,则a>b;
步骤2-2,遍历事件序列集合L1中的事件集合,根据步骤2-1得到的直接先于关系集合,挖掘获得事件之间的因果关系,符号表示为→,当且仅当a>b并且b≯a时,a→b;并行关系,符号表示为||,当且仅当a>b,并且b>a时,a||b;以及独立关系,符号表示为#,当且仅当a≯b并且b≯a时,a#b;
步骤2-3,根据步骤2-2得到的因果关系,挖掘获得事件之间的传递闭包关系,符号表示为-→,当且仅当a→c1,c1→c2,……,cn→b时,a-→b;
步骤2-4,对事件序列集合L2进行步骤2-1、步骤2-2、步骤2-3操作,挖掘获得L2中所有事件之间的直接先于关系、因果关系、并行关系、独立关系以及传递闭包关系。
步骤3,对从事件序列集合L1中获得的事件关系集利用启发式规则1与α算法,挖掘得到业务过程中所有包含死锁错误的过程片段;对从事件序列集合L2中获得的事件关系集利用启发式规则2与a算法,挖掘得到业务过程中所有包含缺乏同步错误的过程片段;具体为:
步骤3-1,对于从事件序列L1中获得的事件关系集,根据启发式规则1,判断该过程中是否包含死锁错误;启发式规则1为:
如果存在事件t,{ti|1≤i≤m},{t′j|1≤j≤n},t1#t2#…#tm,t′1#t′2#…#t′n,对于任意ti:t→ti并且对于任意t′j,存在ti:ti-→t′j,但是不存在t′使得对于任意t′j:t′j→t′,表示存在死锁错误;
如果该过程中包含死锁错误,利用α算法挖掘得到过程中包含的所有死锁错误片段。
步骤3-2,对于从事件序列L2中获得的事件关系集,根据启发式规则2,判断该过程中是否包含缺乏同步错误;启发式规则2为:
如果存在t,{ti|1≤i≤m},{t′j|1≤j≤n},t1||t2||…||tm,t′1||t′2||…||t′n,,对于任意ti:t→ti并且对于任意t′j,存在ti:ti-→t′j,但是不存在t′使得对于任意t′j:t′j→t′,表示存在缺乏同步错误;
如果该过程中包含缺乏同步错误,利用α算法挖掘得到过程中包含的所有缺乏同步错误片段。
下面结合具体实施例对本发明作进一步说明。
实施例
本发明为业务过程死锁与缺乏同步错误的挖掘方法,通过对事件日志的分析,挖掘得到过程中所有包含死锁或缺乏同步错误的过程片段,具体步骤为:
步骤1-1,如图2为某一事件日志的部分展示由XES文件格式描述,该日志通过标签经过解析,其中Trace标签代表事件序列,Event代表事件。如图3(a)所示,该事件日志共读取14条事件序列;
步骤1-2,遍历图3(a)中的事件序列集合,如果当前遍历的事件序列不以终止事件te结尾,则将该事件序列置于挖掘死锁错误的事件序列集合L1中;如果当前遍历的事件序列中包含te但不以te结尾,或者包含连续两个或多个相同事件,则将该事件序列置于挖掘缺乏同步错误的事件序列集合L2中。为了扩大L2集合,以便更好的挖掘出缺乏同步错误片段,将L1投影到L2的事件集合上;
步骤1-3,分别遍历事件序列集合L1、L2,在每条事件序列中只保留每个事件的首次出现。最后获得用于挖掘死锁错误的事件序列集合L1,如图3(b)所示,以及用于挖掘缺乏同步错误的事件序列集合L2,如图3(c)所示。
步骤2,分别遍历事件序列集合L1和L2中的每条事件序列,挖掘所有事件之间的关系,包括直接先于关系、因果关系、并行关系、独立关系以及传递闭包关系,获得L1中所有事件间的关系,如图4(a),以及L2中所有事件间的关系,如图4(b)。
步骤3,对于图4(a)中的事件关系集合,根据启发式规则1,发现当遍历到事件t5时,t5→t6,t5→t7,且t6#t7,但不存在t′使得t6→t′,t7→t′;满足启发式规则1的条件,然后根据α算法挖掘得到过程中包含的死锁错误片段,如图5所示。
对于图4(b)中的事件关系集合,根据启发式规则2,发现当遍历到事件t2时,t2→t3,t2→t4,且t3||t4,但不存在t′使得t3→t′,t4→t′;满足启发式规则2的条件,然后根α算法挖掘得到过程中包含的所有缺乏同步错误片段,如图6所示。

Claims (5)

1.一种业务过程死锁与缺乏同步错误的挖掘方法,其特征在于,根据业务过程事件日志,挖掘出业务过程中存在的死锁与缺乏同步错误;以XES格式描述的业务过程事件日志作为输入,以PNML格式描述的包含死锁或者缺乏同步错误的过程片段为输出,该方法具体步骤为:
步骤1,解析XES描述的业务过程事件日志,获得事件序列集合L,对L进行预处理,获得分别用于发现死锁与缺乏同步错误的事件序列集合L1和L2;
步骤2,分别遍历事件序列集合L1和L2中的每条事件序列,挖掘所有事件间的关系,包括直接先于关系、因果关系、并行关系、独立关系和传递闭包关系;
步骤3,对从事件序列集合L1中获得的事件关系集利用启发式规则1与α算法,挖掘得到业务过程中所有包含死锁错误的过程片段;
对从事件序列集合L2中获得的事件关系集利用启发式规则2与α算法,挖掘得到业务过程中所有包含缺乏同步错误的过程片段。
2.根据权利要求1所述的业务过程死锁与缺乏同步错误的挖掘方法,其特征在于,步骤1具体为:
步骤1-1,解析业务过程事件日志XES文件,依次读取每一条日志信息,获得所有事件序列集合,任意一条事件序列σ={t1,t2,t3,…,tn}包含n个事件,t1……tn代表事件,这n个事件按照事件先后发生顺序排列;
步骤1-2,遍历事件序列集合,如果当前遍历的事件序列不以终止事件te结尾,则将该事件序列置于挖掘死锁错误的事件序列集合L1中;如果当前遍历的事件序列中包含te但不以te结尾,或者包含连续两个以上相同事件,则将该事件序列置于挖掘缺乏同步错误的事件序列集合L2中;将L1投影到L2的集合上;
步骤1-3,分别遍历事件序列集合L1、L2,在每条事件序列中只保留每个事件的首次出现。
3.根据权利要求2所述的业务过程死锁与缺乏同步错误的挖掘方法,其特征在于,步骤2具体为:
步骤2-1,遍历事件序列集合L1,挖掘获得所有事件之间的直接先于关系,符号表示为>,即对于任一事件序列σ={t1,t2,t3,…,tn},当a=ti,b=ti+1,则a>b;
步骤2-2,遍历事件序列集合L1中的事件集合,根据步骤2-1得到的直接先于关系集合,挖掘获得事件之间的因果关系、并行关系以及独立关系;因果关系,符号表示为→,当且仅当a>b并且b≯a时,a→b;并行关系,符号表示为||,当且仅当a>b,并且b>a时,a||b;独立关系,符号表示为#,当且仅当a≯b并且b≯a时,a#b;
步骤2-3,根据步骤2-2得到的因果关系,挖掘获得事件之间的传递闭包关系,符号表示为-→,当且仅当a→c1,c1→c2,……,cn→b时,a-→b;
步骤2-4,对事件序列集合L2进行步骤2-1、步骤2-2、步骤2-3操作,挖掘获得L2中所有事件之间的直接先于关系、因果关系、并行关系、独立关系以及传递闭包关系。
4.根据权利要求3所述的业务过程死锁与缺乏同步错误的挖掘方法,其特征在于,步骤3中,对于从事件序列L1中获得的事件关系集,根据启发式规则1,判断该过程中是否包含死锁错误;启发式规则1具体为:
如果存在事件t,{ti|1≤i≤m},{t′j|1≤j≤n},t1#t2#…#tm,t′1#t′2#…#t′n,对于任意ti:t→ti并且对于任意t′j,存在ti:ti-→t′j,但是不存在t′使得对于任意t′j:t′j→t′,表示存在死锁错误;
如果该过程中包含死锁错误,利用α算法挖掘得到过程中包含的所有死锁错误片段。
5.根据权利要求4所述的业务过程死锁与缺乏同步错误的挖掘方法,其特征在于,步骤3中,对于从事件序列L2中获得的事件关系集,根据启发式规则2,判断该过程中是否包含缺乏同步错误;启发式规则2具体为:
如果存在t,{ti|1≤t≤m},{t′j|1≤j≤n},t1||t2||…||tm,t′1||t′2||…||t′n,对于任意ti:t→ti并且对于任意t′j,存在ti:ti-→t′j,但是不存在t′使得对于任意t′j:t′j→t′,表示存在缺乏同步错误;
如果该过程中包含缺乏同步错误,利用α算法挖掘得到过程中包含的所有缺乏同步错误片段。
CN201810337951.6A 2018-04-16 2018-04-16 业务过程死锁与缺乏同步错误的挖掘方法 Active CN108573043B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810337951.6A CN108573043B (zh) 2018-04-16 2018-04-16 业务过程死锁与缺乏同步错误的挖掘方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810337951.6A CN108573043B (zh) 2018-04-16 2018-04-16 业务过程死锁与缺乏同步错误的挖掘方法

Publications (2)

Publication Number Publication Date
CN108573043A true CN108573043A (zh) 2018-09-25
CN108573043B CN108573043B (zh) 2022-05-17

Family

ID=63574920

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810337951.6A Active CN108573043B (zh) 2018-04-16 2018-04-16 业务过程死锁与缺乏同步错误的挖掘方法

Country Status (1)

Country Link
CN (1) CN108573043B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825784A (zh) * 2019-11-04 2020-02-21 云南电网有限责任公司电力科学研究院 一种低效业务过程的检测方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102509171A (zh) * 2011-10-24 2012-06-20 浙江大学 一种面向规则执行日志的流程挖掘方法
US20130132976A1 (en) * 2011-11-17 2013-05-23 Kung Yi Lin Deadly embrace
CN106327153A (zh) * 2016-08-21 2017-01-11 南京理工大学 基于事件直接先于关系的云间科学工作流挖掘方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102509171A (zh) * 2011-10-24 2012-06-20 浙江大学 一种面向规则执行日志的流程挖掘方法
US20130132976A1 (en) * 2011-11-17 2013-05-23 Kung Yi Lin Deadly embrace
CN106327153A (zh) * 2016-08-21 2017-01-11 南京理工大学 基于事件直接先于关系的云间科学工作流挖掘方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ADRIANO AUGUSTO等: "Split Miner: Discovering Accurate and Simple Business Process Models from Event Logs", 《2017 IEEE INTERNATIONAL CONFERENCE ON DATA MINING》 *
KWANGHOON KIM等: "Mining Workflow Processes from XML-based Distributed Workflow Event Logs", 《2009 INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING WORKSHOPS》 *
李嘉菲等: "过程挖掘中一种能发现重复任务的扩展α算法", 《计算机学报》 *
顾春琴等: "可解决多种复杂任务的过程挖掘算法", 《计算机集成制造系统》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825784A (zh) * 2019-11-04 2020-02-21 云南电网有限责任公司电力科学研究院 一种低效业务过程的检测方法及装置
CN110825784B (zh) * 2019-11-04 2023-01-20 云南电网有限责任公司电力科学研究院 一种低效业务过程的检测方法及装置

Also Published As

Publication number Publication date
CN108573043B (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
Pinter et al. Discovering workflow models from activities’ lifespans
CN109101652B (zh) 一种标签创建和管理系统
Schimm Mining exact models of concurrent workflows
CN102332125B (zh) 基于后继任务的工作流挖掘方法
CN103514166B (zh) Sql检查方法与装置
Higo et al. On software maintenance process improvement based on code clone analysis
CN102891852A (zh) 基于报文分析的协议格式自动推断方法
CN111176613B (zh) 基于体系结构模型的协同任务自动分解系统
CN104616134A (zh) 一种报表分析报告推送方法及装置
CN111930956A (zh) 一种采用知识图谱的多创新方法推荐与流驱动的集成系统
CN110427298A (zh) 一种分布式日志的自动特征提取方法
CN109508346A (zh) 一种ddl操作的级联同步控制方法及系统
CN116167605B (zh) 业务流程生成方法、装置、设备及介质
CN104850577A (zh) 一种基于有序复合树结构的数据流最大频繁项集挖掘方法
Chen et al. Service identification via ontology mapping
CN104835015B (zh) 基于前驱任务的工作流挖掘方法
Antoniol et al. Maintaining traceability during object-oriented software evolution: a case study
CN108573043A (zh) 业务过程死锁与缺乏同步错误的挖掘方法
Zhao et al. Applying microservice refactoring to object-2riented legacy system
CN108647220A (zh) 基于事件间接先于关系的科学工作流挖掘方法
EP2599042A1 (en) Systems and methods of rapid business discovery and transformation of business processes
CN112435017A (zh) 一种跨组织业务过程交互的建模与构建方法
CN103150626B (zh) 基于程序依赖图的bpel过程一致性度量方法
US8631391B2 (en) Method and a system for process discovery
Courtin et al. Trace analysis in instrumented collaborative learning environments

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