[发明专利]控制依赖死锁检测方法和装置有效
申请号: | 201310187866.3 | 申请日: | 2013-05-20 |
公开(公告)号: | CN103268254A | 公开(公告)日: | 2013-08-28 |
发明(设计)人: | 杨学红 | 申请(专利权)人: | 中国联合网络通信集团有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 控制 依赖 死锁 检测 方法 装置 | ||
技术领域
本发明涉及计算机软件技术,尤其涉及一种控制依赖死锁检测方法和装置。
背景技术
业务流程执行语言(Business Process Execution Language,BPEL)流程由用于指示不同操作的活动构成。BPEL流程中的各个活动既可以为单一活动,也可以为由至少两个单一活动构成的结构化活动,还可以为由单一活动和子结构化活动所构成的结构化活动。在BPEL流程运行过程中根据预先定义的各个活动间的资源等待关系,一活动向另一活动请求资源,以使上述另一活动释放所请求的资源,从而能够执行上述一活动所指示的操作。其中,资源等待关系包括资源请求关系和资源释放关系。
在BPEL流程运行过程中,若至少两个活动之间存在相互的资源等待关系,例如:第一活动需要等待第二活动释放第一活动所请求的资源,同时第二活动也在等待第一活动释放第二活动所请求的资源,则导致上述至少两个活动中的每个活动均处于等待状态,无法执行,也就不能释放另一活动所请求的资源,即出现死锁。若上述死锁是由于上述至少两个活动执行过程中,上述至少两个活动之间请求资源和释放资源不当造成的,则称上述死锁为控制依赖死锁。为了避免由于控制依赖死锁带来的活动无法执行的情况发生,需要对BPEL流程中是否存在控制依赖死锁进行检测。
现有技术中,可利用基于图论的检测方法进行静态的控制依赖死锁检测,将活动标识为节点,用有向线段连接存在资源等待关系的活动,有向线段的方向指向请求资源的活动,从而生成片段图,在生成的片段图中依次以各个节点为起点沿有向线段的方向进行追踪,以查询是否存在环路,若存在则出现控制依赖死锁。但将上述利用片段图查询环路的检测方法需要生成片段图,并且在生成的片段图中依次以各个节点为起点沿有向线段的方向进行追踪,检测效率较低,将上述利用片段图查询环路的检测方法应用于活动为结构化活动的应用场景中,还需要继续对构成结构化活动的活动进行检测,直至结构化活动仅由单一活动构成,以查询组合活动内部是否存在控制依赖死锁,进一步降低了检测效率。
发明内容
本发明提供一种控制依赖死锁检测方法和装置,用于提高对BPEL流程中是否存在控制依赖死锁进行检测的检测效率。
本发明的一个方面是提供一种控制依赖死锁检测方法,包括:
创建第一矩阵,所述第一矩阵用于指示业务流程执行语言BPEL流程中各个活动之间的资源请求关系;
基于所述第一矩阵中的元素进行计算,获得每个活动对应的第一目标活动和第二目标活动,所述第一目标活动为所有活动中向所述活动请求资源的活动,所述第二目标活动为所有活动中向所述活动释放资源的活动,判断所述第一目标活动与所述第二目标活动是否包含相同的活动,若是,则确定检测到所述BPEL流程存在控制依赖死锁。
本发明的另一个方面是提供一种控制依赖死锁检测装置,包括:
创建模块,用于创建第一矩阵,所述第一矩阵用于指示业务流程执行语言BPEL流程中各个活动之间的资源请求关系;
获得模块,用于基于所述第一矩阵中的元素进行计算,获得每个活动对应的第一目标活动和第二目标活动,所述第一目标活动为所有活动中向所述活动请求资源的活动,所述第二目标活动为所有活动中向所述活动释放资源的活动;
检测模块,用于判断获得模块获得的所述第一目标活动与所述第二目标活动是否包含相同的活动,若是,则确定检测到所述BPEL流程存在控制依赖死锁。
本发明提供的控制依赖死锁检测方法和装置,通过创建用于指示BPEL流程中各个活动之间的资源请求关系的第一矩阵,基于第一矩阵中的元素进行计算,检测BPEL流程中的控制依赖死锁,由于基于第一矩阵中的元素进行计算检测控制依赖死锁,便于计算机实现,避免依次以各个节点为起点沿有向线段的方向进行追踪,提高了检测效率。
附图说明
图1为本发明一实施例提供的控制依赖死锁检测方法流程示意图;
图2为本发明另一实施例提供的控制依赖死锁检测方法流程示意图;
图3为本发明一实施例提供的控制依赖死锁检测装置结构示意图;
图4为本发明另一实施例提供的控制依赖死锁检测装置结构示意图。
具体实施方式
图1为本发明一实施例提供的控制依赖死锁检测方法流程示意图,如图1所示,本实施例可以包括:
101、创建第一矩阵。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国联合网络通信集团有限公司,未经中国联合网络通信集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310187866.3/2.html,转载请声明来源钻瓜专利网。