[发明专利]一种实现分布式事务的方法和装置在审
申请号: | 201310655744.2 | 申请日: | 2013-12-06 |
公开(公告)号: | CN103631647A | 公开(公告)日: | 2014-03-12 |
发明(设计)人: | 郭永强;易旭 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 阎敏;宋志强 |
地址: | 100080 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 分布式 事务 方法 装置 | ||
1.一种实现分布式事务的方法,其特征在于,所述方法包括:
设置N个子线程,每个子线程负责处理分布式事务中的一个事务;其中,各个事务针对不同的数据源,每个事务包括针对该数据源的一个以上操作;
初始化CountDownLatch类,将所述CountDownLatch类计数器的初始值设置为N;
主线程调用CountDownLatch类的await方法;
分别启动所述N个子线程;当一个子线程执行完成时,调用CountDownLatch类的countDown方法,使得所述CountDownLatch类计数器的值减1;
当所述CountDownLatch类计数器的值为0时,继续执行所述主线程。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:当一个子线程执行出现异常时,将已经执行完毕的所有子线程回滚,并将所述CountDownLatch类计数器的值设置为0。
3.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:当所有子线程执行完成并且CountDownLatch类的计数器减至0时,记录所述分布式事务为成功状态;
当子线程执行出现异常时,记录所述分布式事务为失败状态。
4.一种实现分布式事务的装置,其特征在于,所述装置包括:
初始化模块,用于设置N个子线程,每个子线程负责处理分布式事务中的一个事务;其中,各个事务针对不同的数据源,每个事务包括针对该数据源的一个以上操作;还用于初始化CountDownLatch类,将所述CountDownLatch类计数器的初始值设置为N;
主线程控制模块,用于控制主线程调用CountDownLatch类的await方法,当所述CountDownLatch类计数器的值为0时,继续执行所述主线程;
子线程控制模块,用于分别启动所述N个子线程;当一个子线程执行完成时,调用CountDownLatch类的countDown方法,使得所述CountDownLatch类计数器的值减1。
5.根据权利要求4所述的装置,其特征在于,所述子线程控制模块还用于,当一个子线程执行出现异常时,将已经执行完毕的所有子线程回滚,并将所述CountDownLatch类计数器的值设置为0。
6.根据权利要求4所述的装置,其特征在于,所述子线程控制模块还用于,当所有子线程执行完成并且CountDownLatch类的计数器减至0时,记录所述分布式事务为成功状态;当子线程执行出现异常时,记录所述分布式事务为失败状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310655744.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:对平坦基板进行单面湿化学处理的装置
- 下一篇:超大玻璃板生产用堆垛升降机