[发明专利]一种工作流并发模式的控制方法及装置有效
申请号: | 201010601773.7 | 申请日: | 2010-12-22 |
公开(公告)号: | CN102043669A | 公开(公告)日: | 2011-05-04 |
发明(设计)人: | 温良;吴旭春;赵克强 | 申请(专利权)人: | 中国农业银行股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06Q10/00 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 逯长明;王宝筠 |
地址: | 100005 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 工作流 并发 模式 控制 方法 装置 | ||
1.一种工作流并发模式的控制方法,其特征在于,包括:
创建当前父实例下的至少两个并发子实例,以及与所述当前父实例对应的计数器对象;
依据所述计数器对象对所述至少两个并发子实例进行控制。
2.如权利要求1所述的方法,其特征在于,所述创建与所述当前父实例对应的计数器对象,具体包括:
生成所述计数器对象的编号;
设置所述计数器对象的类型;所述计数器对象的类型包括:并发任务、并发分支或并发子流程;
将所述计数器对象的对象个数和未完成个数的初始值都设置为所述并发子实例的个数。
3.如权利要求2所述的方法,其特征在于,还包括:
将所述计数器对象的父实例编号初始化为所述当前父实例的编号;
设置所述计数器对象的创建时间和最后更新时间为当前时间。
4.如权利要求2所述的方法,其特征在于,所述依据所述计数器对象对所述至少两个并发子实例进行控制,具体包括:
当前并发子实例结束时,在数据库端锁定所述计数器对象;
当前线程对所述计数器对象的未完成个数执行减一操作;
判断执行减一操作之后的未完成个数是否为零,如果是,则执行所述当前父实例的下一个环节,如果否,则由当前线程解除所述计数器对象的锁定操作。
5.如权利要求4所述的方法,其特征在于,还包括:
如果所述执行减一操作之后的未完成个数为零,则将所述计数器对象的结束时间保存为当前时间。
6.一种工作流并发模式的控制装置,其特征在于,包括:
创建模块,用于创建当前父实例下的至少两个并发子实例,以及与所述当前父实例对应的计数器对象;
控制模块,用于依据所述计数器对象对所述至少两个并发子实例进行控制。
7.如权利要求6所述的装置,其特征在于,所述创建模块具体包括:
生成子模块,用于生成所述计数器对象的编号;
第一设置子模块,用于设置所述计数器对象的类型;所述计数器对象的类型包括:并发任务、并发分支或并发子流程;
第二设置子模块,用于将所述计数器对象的对象个数和未完成个数的初始值都设置为所述并发子实例的个数。
8.如权利要求7所述的装置,其特征在于,所述创建模块还包括:
初始化子模块,用于将所述计数器对象的父实例编号初始化为所述当前父实例的编号;
第三设置子模块,用于设置所述计数器对象的创建时间和最后更新时间为当前时间。
9.如权利要求7所述的装置,其特征在于,所述控制模块具体包括:
锁定子模块,用于当前并发子实例结束时,在数据库端锁定所述计数器对象;
执行减一操作子模块,用于对所述计数器对象的未完成个数执行减一操作;
判断子模块,用于判断执行减一操作之后的未完成个数是否为零;
执行子模块,用于当所述判断模块的结果为是时,执行所述当前父实例的下一个环节;
解锁子模块,用于当所述判断模块的结果为否时,解除所述计数器对象的锁定操作。
10.如权利要求9所述的装置,其特征在于,还包括:
保存模块,用于如果所述执行减一操作之后的未完成个数为零,则将所述计数器对象的结束时间保存为当前时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国农业银行股份有限公司,未经中国农业银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010601773.7/1.html,转载请声明来源钻瓜专利网。