用于数据库的事务控制方法技术

技术编号:3852948 阅读:185 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种用于数据库的事务控制方法,包括以下步骤:根据行为传播的规则,将所要传播的行为对象加入到同一事务处理中;创建第一事务并把当前传播的行为对象加入到第一事务中;执行当前传播的行为对象,如果行为传播不成功,将行为传播过程中所操作的行为对象回滚到行为传播之前的状态。本发明专利技术方法克服了现有技术中因没有将传播过程中的被包含在其它事务中的传播对象进行回滚而导致的数据库中产生坏数据,影响系统整体数据的准确性问题。

【技术实现步骤摘要】

本专利技术涉及数据库领域,具体而言,涉及一种。
技术介绍
在行为传播过程控制的系统中,传统的事务控制无法在功能的连续调用过程中持 续,难以保证在传播过程中数据的完整性和一致性。在系统功能在连续调用过程中出现异 常情况下,会弓丨起单个事务的回滚。在实现本专利技术过程中,专利技术人发现现有技术中事务回滚只是将当前所操作对象的 数据恢复原样,而没有将传播过程中的被包含在其它事务中的传播对象进行回滚,导致在 数据库中产生坏数据,影响了数据库系统整体数据的准确性。
技术实现思路
本专利技术旨在提供一种,能够解决现有技术中因没有将 传播过程中的被包含在其它事务中的传播对象进行回滚而导致的数据库中产生坏数据,影 响系统整体数据的准确性问题。在本专利技术的实施例中,提供了 一种,包括以下步骤根据行为传播的规则,将所要传播的行为对象加入到同一事务处理中;创建第一事务并把当前传播的行为对象加入到所述第一事务中;执行所述当前传播的行为对象,如果所述行为传播不成功,将所述行为传播过程 中所操作的行为对象回滚到所述行为传播之前的状态。优选地,在上述中,还包括以下步骤如果所述行为传 播成功,查找下一个传播对象;如果没有查找到所述下一个传播对象,提交所述第一事务。优选地,在上述中,还包括以下步骤如果找到所述下 一个传播对象,获取所述下一个传播对象的属性;根据所述下一个传播对象的属性,对所述 下一个传播对象执行所述行为传播。优选地,在上述中,根据所述下一个传播对象的属性, 对所述下一个传播对象执行所述行为传播具体包括如果根据所述下一个传播对象的属性 判定所述下一个传播对象参与到所述第一事务中,在所述第一事务中对所述下一个传播对 象执行所述行为传播。优选地,在上述中,还包括以下步骤如果根据所述下 一个传播对象的属性判定对所述下一个传播对象创建第二事务,在所述第二事务中对所述 下一个传播对象执行所述行为传播。在上述实施例中,通过采用行为传播规则来判断是否将传播的行为加入到同一事 物处理中,然后在开始执行行为传播时,先创建一个新的事务并把当前传播的行为对象加 入到创建的事务中,如果执行当前传播的行为对象,传播不成功,则将行为传播过程中所操 作的行为对象回滚到行为传播之前的状态。对事务回滚将当前所操作对象的数据恢复原样,并且将传播过程中的被包含在其它事务中的传播对象也进行回滚,所以克服了现有技 术中因没有将传播过程中的被包含在其它事务中的传播对象进行回滚而导致的数据库中 产生坏数据,影响系统整体数据的准确性问题,进而达到了实现了在行为传播过程中保证 数据库系统整体数据的准确性的技术效果。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中图1示出了根据本专利技术一个实施例的一种的流程图;图2示出了根据本专利技术一个实施例的行为传播过程中事务控制的流程图。具体实施例方式下面将参考附图并结合实施例,来详细说明本专利技术。图1示出了根据本专利技术一个实施例的一种的流程图, 包括以下步骤S102,根据行为传播的规则,将所要传播的行为对象加入到同一事务处理中;S104,创建第一事务并把当前传播的行为对象加入到第一事务中;S106,执行当前传播的行为对象,如果行为传播不成功,将行为传播过程中所操作 的行为对象回滚到行为传播之前的状态。本实施例通过行为传播规则来判断是否将传播的行为加入到同一事物处理中,然 后在开始执行行为传播时,先创建一个新的事务并把当前传播的行为对象加入到创建的事 务中,如果执行当前传播的行为对象,传播不成功,则将行为传播过程中所操作的行为对象 回滚到行为传播之前的状态。对事务回滚将当前所操作对象的数据恢复原样,并且将传播 过程中的被包含在其它事务中的传播对象也进行回滚,从而解决了现有技术中因没有将传 播过程中的被包含在其它事务中的传播对象进行回滚而导致的数据库中产生坏数据,影响 系统整体数据的准确性问题。优选地,在上述中,还包括以下步骤如果行为传播成 功,查找下一个传播对象;如果没有查找到下一个传播对象,提交第一事务。优选地,在上述中,还包括以下步骤如果找到下一个 传播对象,获取下一个传播对象的属性;根据下一个传播对象的属性,对下一个传播对象执 行行为传播。优选地,在上述中,根据下一个传播对象的属性,对下 一个传播对象执行行为传播具体包括如果根据下一个传播对象的属性判定下一个传播对 象参与到第一事务中,在第一事务中对下一个传播对象执行行为传播。优选地,在上述中,还包括以下步骤如果根据下一个 传播对象的属性判定对下一个传播对象创建第二事务,在第二事务中对下一个传播对象执 行行为传播。图2示出了根据本专利技术一个实施例的行为传播过程中事务控制的流程图,包括以 下步骤S201,开始行为传播;S202,获取第一个行为传播对象;S203,创建一个新的事务,把当前传播的行为对象加入到创建的事务中;S204,执行当前的传播行为对象的方法;S205,判断如果第一个行为传播未成功;S211,将行为传播过程中所操作传播对象回滚到行为传播之前的状态;S205,判断如果第一个行为传播成功;S206,查找下一个传播对象;S212,如果没有查找到下一个传播对象,则提交第一事务;S206,如果找到下一个传播对象;S207,获取下一个传播对象的属性;S208,根据下一个传播对象行为的属性,对下一个传播对象执行行为传播,通过判 断传播行为的属性来决定是新建事务还是参与到上一个事务中;S209,如果根据下一个传播对象的属性判定下一个传播对象参与到第一事务中;S204,在第一事务中对下一个传播对象执行行为传播;S210,如果根据下一个传播对象的属性判定对下一个传播对象创建第二事务;S204,在第二事务中对下一个传播对象执行行为传播,并且重复步骤S205。从以上本专利技术的实施例的描述中,本领域技术人员可以看出,在行为传播过程控 制的系统中,事务控制可以在功能的连续调用过程中持续,保证在传播过程中数据的完整 性和一致性。系统功能在连续调用过程中出现异常情况时,不会引起单个事务的回滚,而是 在事务回滚时,将当前所操作对象的数据恢复原样,并且将传播过程中的被包含在其它事 务中的传播对象也进行回滚,实现了在行为传播过程中保证数据库系统整体数据的准确性 的技术效果。显然,本领域的技术人员应该明白,上述的本专利技术的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们 中的多个模块或步骤制作成单个集成电路模块来实现。这样,本专利技术不限制于任何特定的 硬件和软件结合。以上所述仅为本专利技术的优选实施例而已,并不用于限制本专利技术,对于本领域的技 术人员来说,本专利技术可以有各种更改和变化。凡在本专利技术的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本专利技术的保护范围之内。权利要求一种,其特征在于,包括以下步骤根据行为传播的规则,将所要传播的行为对象加入到同一事务处理中;创建第一事务并把当前传播的行为对象加入本文档来自技高网...

【技术保护点】
一种用于数据库的事务控制方法,其特征在于,包括以下步骤:根据行为传播的规则,将所要传播的行为对象加入到同一事务处理中;创建第一事务并把当前传播的行为对象加入到所述第一事务中;执行所述当前传播的行为对象,如果所述行为传播不成功,将所述行为传播过程中所操作的行为对象回滚到所述行为传播之前的状态。

【技术特征摘要】

【专利技术属性】
技术研发人员:倪慧刘开飞潘森
申请(专利权)人:北京数码大方科技有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1