BPEL流程图形化设计中检测死锁的方法和装置制造方法及图纸

技术编号:19489126 阅读:152 留言:0更新日期:2018-11-17 12:03
本发明专利技术提供一种BPEL流程图形化设计中检测死锁的方法和装置,属于业务流程设计技术领域,其可至少部分解决现有的业务流程设计阶段无有效的死锁检测方法的问题。本发明专利技术的BPEL流程图形化设计中检测死锁的方法包括建立同意边数据集;建立所述同意边数据集对应的拒绝列表,所述拒绝列表中的每一项为对应所述同意边数据集中每一个同意边的所有拒绝边的集合;获取新引入的边;判断新引入的边是否属于已有的拒绝列表中,如果是则判断引入死锁。

【技术实现步骤摘要】
BPEL流程图形化设计中检测死锁的方法和装置
本专利技术属于BPEL流程图形化设计
,具体涉及一种BPEL流程图形化设计中检测死锁的方法和一种BPEL流程图形化设计中检测死锁的装置。
技术介绍
目前主流的业务流程执行语言(BPEL)流程图像化设计工具有开源的ActiveBPEL、WebSphere、BPELProcessManager、BizTalkServer等,它们都没有在设计阶段检测死锁的功能。只有在流程实际运行过程中才会发现死锁问题,此时再修改会引起“牵一发而动全身”的后果,即修改其中的一条边会影响其他多条边。现有的死锁检测方法分图论、petri网和状态机三类机制,它们都是一种静态的检测方法,即在流程设计完成之后进行检测,如果发现死锁风险再修改流程,依然会存在修改一条边会对其他多条边造成影响的问题。
技术实现思路
本专利技术至少部分解决现有的BPEL流程图形化设计过程中无有效的死锁检测方法的问题,提供一种BPEL流程图形化设计中检测死锁的方法和装置。解决本专利技术技术问题所采用的第一技术方案是一种BPEL流程图形化设计中检测死锁的方法,所述方法包括:建立同意边数据集;建立所述同意边数据集对应的拒绝列表,所述拒绝列表中的每一项为对应所述同意边数据集中每一个同意边的所有拒绝边的集合;获取新引入的边;判断新引入的边是否属于已有的拒绝列表中,如果是则判断引入死锁。可选地,如果判断新引入的边不属于已有的拒绝列表,则将新引入的边作为同意边加入到同意边数据集中并更新所述拒绝列表。可选地,所述更新所述拒绝列表包括:在新引入的同意边(vi,vj)的源顶点vi和目的顶点vj均为新引入的顶点的情况下,在对应该同意边的拒绝列表的项中加入从目的顶点vj指向源顶点vi的拒绝边。可选地,所述更新所述拒绝列表包括:在新引入的同意边(vi,vj)的源顶点vi具有前驱顶点并且目的顶点vj为新引入的顶点的情况下,在对应该同意边的拒绝列表的项中加入从目的顶点Vj分别指向源顶点vi及指向源顶点vi的所有前驱顶点的拒绝边。可选地,所述更新所述拒绝列表包括:在新引入的同意边(vi,vj)的源顶点vi为新引入的顶点并且目的顶点vj具有后驱顶点的情况下,在对应该同意边的拒绝列表的项中加入分别从目的顶点Vj及其所有后驱顶点指向源顶点vi的拒绝边。可选地,所述更新所述拒绝列表包括:在新引入的同意边(vi,vj)的源顶点vi具有前驱顶点及目的顶点vj具有后驱顶点的情况下,在对应该同意边的拒绝列表的项中加入从目的顶点Vj及其所有后驱顶点分别指向源顶点vi及其所有前驱顶点的拒绝边。可选地,在建立同意边数据集之后,还包括:删除已有的同意边;根据删除的同意边更新所述拒绝列表。解决本专利技术技术问题所采用的第二技术方案是一种BPEL流程图形化设计中检测死锁的装置,所述装置包括存储器和处理器,所述存储器存储指令,所述处理器运行所述指令以执行前述的方法。解决本专利技术技术问题所采用的第三技术方案是一种BPEL流程图形化设计中检测死锁的装置,所述装置包括建立模块、添加模块和判断模块;所述建立模块用于建立同意边数据集以及建立所述同意边数据集对应的拒绝列表,所述拒绝列表中的每一项为对应所述同意边数据集中每一个同意边的所有拒绝边的集合;所述添加模块用于获取新引入的边;所述判断模块用于判断新引入的边是否属于已有的拒绝列表中,如果是,则判断引入死锁。可选地,所述判断模块还用于判断新引入的边不属于已有的拒绝列表时,更新所述拒绝列表。根据本专利技术所提供的方法,可实现在BPEL流程图形化设计的设计阶段,实时地排除死锁。附图说明图1为本专利技术的实施例的一种BPEL流程图形化设计中检测死锁的方法的流程图;图2(a)-图2(e)为应用本专利技术的实施例的方法的五个例子的流程图形化实例;图3为本专利技术的实施例的一种BPEL流程图形化设计中检测死锁的装置的框图;图4为本专利技术的另一实施例的一种BPEL流程图形化设计中检测死锁的装置的框图。具体实施方式为使本领域技术人员更好地理解本专利技术的技术方案,下面结合附图和具体实施方式对本专利技术作进一步详细描述。实施例1:本实施例提供一种BPEL流程图形化设计中检测死锁的方法,方法包括:建立同意边数据集;建立同意边数据集对应的拒绝列表,拒绝列表中的每一项为对应同意边数据集中每一个同意边的所有拒绝边的集合;获取新引入的边;判断新引入的边是否属于已有的拒绝列表中,如果是则判断引入死锁。基于该方法可实现在流程设计阶段,实时地排查死锁。实施例2:本实施例提供一种BPEL流程图形化设计中检测死锁的方法,如图1所示,方法包括以下步骤。在步骤S1中,建立同意边数据集。同意边即图形化工具中的一条边,它具有一个源顶点和一个目的顶点。源顶点代表一个任务,目的顶点代表另一个任务,一条边即代表执行完源顶点对应的任务后执行目的顶点对应的任务。同意边不会引入死锁,它是“安全”的边。死锁即存在一个简单回路,从一个源顶点出发,顺序执行接下来的各个任务,最终又回到这个源顶点。例如在图2(a)中,vi和vj分别是同意边ek的的源顶点和目的顶点。同意边数据集中存储的是已经验证过的不会引入死锁的边。在步骤S2中,建立同意边数据集对应的拒绝列表,拒绝列表中的每一项为对应同意边数据集中每一个同意边的所有拒绝边的集合。拒绝边是这样的边,如果在已有的同意边数据集中引入这个拒绝边,那么会产生死锁。在已经确定所有边都是“安全的边”(即同意边)的情况下,找出它们对应的全部“危险的边”(即拒绝边)。在一种具体的实施方式中,每一个同意边的所有拒绝边的集合为在引入该同意边时,因这条新的同意边而产生的所有拒绝边。在另一种具体的实施方式中,每一个同意边的所有拒绝边的集合为与这个同意边的顶点相连的所有拒绝边。本领域技术人员可根据需要调整拒绝列表的具体数据形式。以图2(a)为例,已有一条同意边ek,如果此时添加一条从vj到vi的边,便产生了一个简单回路,流程不断地在源顶点vi和目的顶点vj之间切换,即引发死锁。拒绝列表即存储每一条已有的同意边对应的所有拒绝边。在步骤S3中,获取新引入的边。也即是用户创建了一个新的边。在步骤S4中,判断新引入的边是否属于已有的拒绝列表中,如果是则执行步骤S5判断引入死锁。在判断引入死锁之后,计算机程序可进一步提示用户新引入的边是“危险的”。从而在设计阶段实时地排除死锁。可选地,如在步骤S4中判断新引入的边不属于已有的拒绝列表,则将新引入的边作为同意边加入到同意边数据集中并更新拒绝列表。也即是结合已有的所有同意边和新引入的“安全的”边,重新计算此时的拒绝列表,并将引入的“安全的”边作为新的同意边加入到同意边数据集中。从而在此之后如再引入一条或几条新的边,只需要判断它们是否属于更新后的拒绝列表,即可知道它们是否是危险边,从而可实时地提示用户新的边是“危险的”,会引入死锁。参见图2(a)-图2(d),介绍本专利技术提供的一种具体的判断新引入的边是否会引入死锁的方法。本领域技术人员同样可以采用其他的方法判断新引入的边是否会引入死锁。参见图2(a),新引入了一条边(vi,vj)(即边ek),它的源顶点vi和目的顶点vj均均为新引入的顶点,也即是说它的源顶点vi和目的顶点vj均不与已经访问过的顶点(或者说已经判定为“安全的本文档来自技高网...

【技术保护点】
1.一种BPEL流程图形化设计中检测死锁的方法,其特征在于,所述方法包括:建立同意边数据集;建立所述同意边数据集对应的拒绝列表,所述拒绝列表中的每一项为对应所述同意边数据集中每一个同意边的所有拒绝边的集合;获取新引入的边;判断新引入的边是否属于已有的拒绝列表中,如果是则判断引入死锁。

【技术特征摘要】
1.一种BPEL流程图形化设计中检测死锁的方法,其特征在于,所述方法包括:建立同意边数据集;建立所述同意边数据集对应的拒绝列表,所述拒绝列表中的每一项为对应所述同意边数据集中每一个同意边的所有拒绝边的集合;获取新引入的边;判断新引入的边是否属于已有的拒绝列表中,如果是则判断引入死锁。2.根据权利要求1所述的方法,其特征在于,如果判断新引入的边不属于已有的拒绝列表,则将新引入的边作为同意边加入到同意边数据集中并更新所述拒绝列表。3.根据权利要求2所述的方法,其特征在于,所述更新所述拒绝列表包括:在新引入的同意边(vi,vj)的源顶点vi和目的顶点vj均为新引入的顶点的情况下,在对应该同意边的拒绝列表的项中加入从目的顶点vj指向源顶点vi的拒绝边。4.根据权利要求2所述的方法,其特征在于,所述更新所述拒绝列表包括:在新引入的同意边(vi,vj)的源顶点vi具有前驱顶点并且目的顶点vj为新引入的顶点的情况下,在对应该同意边的拒绝列表的项中加入从目的顶点Vj分别指向源顶点vi及指向源顶点vi的所有前驱顶点的拒绝边。5.根据权利要求2所述的方法,其特征在于,所述更新所述拒绝列表包括:在新引入的同意边(vi,vj)的源顶点vi为新引入的顶点并且目的顶点vj具有后驱顶点的情况下,在对应该同意边的拒绝列表的项中...

【专利技术属性】
技术研发人员:杨学红
申请(专利权)人:中国联合网络通信集团有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1