[发明专利]分布式事务提交方法和装置有效
申请号: | 201010604558.2 | 申请日: | 2010-12-15 |
公开(公告)号: | CN102073540A | 公开(公告)日: | 2011-05-25 |
发明(设计)人: | 高磊;李春雷 | 申请(专利权)人: | 北京新媒传信科技有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F15/173;G06F17/30 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
地址: | 100089 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 事务 提交 方法 装置 | ||
1.一种分布式事务提交方法,其特征在于,所述分布式事务提交方法包括:
步骤A:将分布式事务划分为多个子事务;
步骤B:分阶段执行所述多个子事务,如果所述多个子事务中的一个执行失败,转入步骤C;如果所述多个子事务都执行成功,则转入步骤D;
步骤C:回滚所述执行失败的子事务所在阶段和之前阶段中的所有子事务;
步骤D:提交所述分布式事务需要的更新。
2.根据权利要求1所述的分布式事务提交方法,其特征在于,在步骤B中,如果有多个子事务处于同一阶段,则并发执行所述多个子事务。
3.根据权利要求1所述的分布式事务提交方法,其特征在于,步骤B中的所述分阶段执行多个子事务具体包括:前一阶段的所有子事务全部执行成功才开始执行后一阶段的子事务。
4.根据权利要求1所述的分布式事务提交方法,其特征在于,在步骤B中,所述分布式事务提交方法进一步包括将前一阶段子事务的执行结果提供给后一阶段执行的子事务的步骤。
5.根据权利要求1所述的分布式事务提交方法,其特征在于,在步骤B之后,所述分布式事务提交方法进一步包括在数据库中保存每个子事务的动态信息的步骤。
6.根据权利要求1所述的分布式事务提交方法,其特征在于,如果步骤D中所述分布式事务需要的更新提交失败,在步骤D之后,所述分布式事务提交方法进一步包括以一个预定次数重试提交所述分布式事务需要的更新。
7.根据权利要求1-6中任一项所述的分布式事务提交方法,其特征在于,所述更新包括但不限于:数据库、缓存和客户端的更新。
8.一种分布式事务提交装置,其特征在于,所述分布式事务提交装置包括:分布式事务划分模块、与所述分布式事务划分模块相连接的分布式事务执行模块、分布式事务回滚模块和分布式事务提交模块;所述分布式事务执行模块分别与所述分布式事务回滚模块和所述分布式事务提交模块相连接;其中,
所述分布式事务划分模块,用于将分布式事务划分为多个子事务,将所述多个子事务分成多个阶段,并将每个子事务及其所在阶段信息发送到所述分布式事务执行模块、所述分布式事务回滚模块和所述分布式事务提交模块;
所述分布式事务执行模块,用于根据接收到的所述每个子事务及其所在阶段的信息分阶段执行所述多个子事务,每个子事务执行成功后,向所述分布式事务提交模块发送所述子事务执行成功的消息;如果在一个阶段中,所述多个子事务中的一个执行失败,则将所述子事务执行失败的消息发送到所述分布式事务回滚模块;
所述分布式事务回滚模块,用于根据接收到的子事务执行失败的消息将该子事务所在阶段和之前阶段中的所有子事务回滚;
所述分布式事务提交模块,用于接收到所有子事务执行成功的消息后,提交所述分布式事务需要的更新。
9.根据权利要求8所述的分布式事务提交方法,其特征在于,如果后一阶段中的子事务需要获得前一阶段中子事务的执行结果才能执行,则所述分布式事务执行模块进一步用于将前一阶段子事务的执行结果提供给后一阶段执行的子事务。
10.根据权利要求8所述的分布式事务提交方法,其特征在于,所述分布式事务执行模块进一步用于在每个子事务执行完毕后,在数据库中保存每个子事务的动态信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京新媒传信科技有限公司,未经北京新媒传信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010604558.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种文件恢复的方法和装置
- 下一篇:基于样板代码的代码文件生成系统及其方法