[发明专利]一种事务处理的方法和装置有效
申请号: | 201210581869.0 | 申请日: | 2012-12-27 |
公开(公告)号: | CN103019826A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 杨乃印;李小平 | 申请(专利权)人: | 亚信联创科技(中国)有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100086 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 事务处理 方法 装置 | ||
技术领域
本发明涉及数据处理技术领域,具体涉及一种事务处理的方法和装置。
背景技术
事务是指作为单个逻辑工作单元执行的一系列操作。例如网上购物的一次交易,其交易过程为一个事务,该过程至少包括以下几步数据库操作:更新客户所购商品的库存信息;保存客户付款信息,可能包括与银行系统的交互;生成订单并且保存到数据库中;更新用户相关信息,例如购物数量等等。正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新。但是,如果在这一系列过程中任何一个环节出了差错,例如在更新商品库存信息时发生异常、该顾客银行帐户存款不足等,都将导致交易失败。一旦交易失败,数据库中所有信息都必须保持交易前的状态不变,比如最后一步更新用户信息时失败而导致交易失败,那么必须保证这笔失败的交易不影响数据库的状态,即库存信息没有被更新、用户也没有付款,订单也没有生成。否则,数据库的信息将会一片混乱而不可预测。
现有技术中通常使用2PC协议,即两阶段提交协议,进行事务的处理。2PC协议具体包括:
1)应用程序调用事务协调器中的提交方法;
2)事务协调器将联络事务中涉及的每个资源管理器,并通知它们准备提交事务;
3)为了以肯定的方式响应准备阶段,资源管理器必须将自己置于以下状态:确保能在被要求提交事务时提交事务,或在被要求回滚事务时回滚事务。大多数资源管理器会将包含其计划更改的日记文件(或等效文件)写入持久存储区中。如果资源管理器无法准备事务,它会以一个否定响应来回应事务协调器;
4)事务协调器收集来自资源管理器的所有响应;
5)在第二阶段,事务协调器将事务的结果通知给每个资源管理器。如果任一资源管理器做出否定响应,则事务协调器会将一个回滚命令发送给事务中涉及的所有资源管理器。如果资源管理器都做出肯定响应,则事务协调器会指示所有的资源管理器提交事务。一旦通知资源管理器提交,此后的事务就不能失败了。通过以肯定的方式响应第一阶段,每个资源管理器均已确保,如果以后通知它提交事务,则事务不会失败。
对于以上网购交易的例子,使用2PC协议进行交易的处理,具体由一个称为事务协调器的单独软件组件来处理该交易事务,以避免数据库信息的混乱。
但是,2PC协议中仅仅依赖一个事务协调器对事务中的一系列操作逐一处理,存在事务处理效率较低的问题。
发明内容
为了提高事务处理的效率,本发明提供了一种事务处理的方法和装置。
本发明提供了一种事务处理的方法,所述方法包括:
预先在数据库中存储事务的事务信息,所述事务信息包括事务标识和事务状态,所述事务状态分为已重做、未重做和重做中;
判断当前事务是否满足预设触发条件,如果是,则获取所述当前事务的事务标识对应的事务信息;
根据所述事务信息重新执行所述当前事务。
优选地,所述判断当前事务是否满足预设触发条件,包括:
预设所述事务提交失败为所述触发条件;
判断所述当前事务是否满足事务提交失败。
优选地,所述判断当前事务是否满足预设触发条件,包括:
预先设置任一时间段为触发周期;
在上次满足触发周期的时刻与当前时刻的时间差值不小于所述触发周期的情况下,判断当前事务的事务状态是否为未重做。
优选地,所述预先在数据库中存储事务的事务信息,包括:
预先在所述数据库中创建若干大小相等的表格;
在所述表格中存储事务的事务信息。
优选地,所述方法,还包括:
预设删除条件;
判断所述数据库中存储所述事务信息的表是否满足所述删除条件,如果是,则删除所述表。
本发明还提供了一种事务处理的装置,所述装置包括:
存储模块,用于预先在数据库中存储事务的事务信息,所述事务信息包括事务标识和事务状态,所述事务状态分为已重做、未重做和重做中;
第一判断模块,用于判断当前事务是否满足预设触发条件;
第一获取模块,用于在所述第一判断模块结果为是时,获取所述当前事务的事务标识对应的事务信息;
执行模块,用于根据所述第一获取模块中的所述事务信息重新执行所述当前事务。
优选地,所述第一判断模块,包括:
第一设置子模块,用于预设所述事务提交失败为所述触发条件;
第一判断子模块,用于判断所述当前事务是否满足事务提交失败。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于亚信联创科技(中国)有限公司,未经亚信联创科技(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210581869.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:FTTH光缆生产车间制冷抽风系统
- 下一篇:一种薄型吊顶式空调机组