CN101957823B - 用于数据库的事务控制方法 - Google Patents

用于数据库的事务控制方法 Download PDF

Info

Publication number
CN101957823B
CN101957823B CN200910089469A CN200910089469A CN101957823B CN 101957823 B CN101957823 B CN 101957823B CN 200910089469 A CN200910089469 A CN 200910089469A CN 200910089469 A CN200910089469 A CN 200910089469A CN 101957823 B CN101957823 B CN 101957823B
Authority
CN
China
Prior art keywords
behavior
communication target
affairs
next communication
control method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200910089469A
Other languages
English (en)
Other versions
CN101957823A (zh
Inventor
倪慧
刘开飞
潘森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Caxa Technology Co Ltd
Original Assignee
北京数码大方科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京数码大方科技有限公司 filed Critical 北京数码大方科技有限公司
Priority to CN200910089469A priority Critical patent/CN101957823B/zh
Publication of CN101957823A publication Critical patent/CN101957823A/zh
Application granted granted Critical
Publication of CN101957823B publication Critical patent/CN101957823B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Telephonic Communication Services (AREA)

Abstract

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

Description

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

Claims (5)

1.一种用于数据库的事务控制方法,其特征在于,包括以下步骤:
根据行为传播的规则,将所要传播的行为对象加入到同一事务处理中;
创建第一事务并把当前传播的行为对象加入到所述第一事务中;
执行所述当前传播的行为对象,如果所述行为传播不成功,将所述行为传播过程中所操作的行为对象回滚到所述行为传播之前的状态,
对事务回滚以将当前所操作对象的数据恢复原样,并且将传播过程中的被包含在其它事务中的传播对象也进行回滚。
2.根据权利要求1所述的事务控制方法,其特征在于,还包括以下步骤:
如果所述行为传播成功,查找下一个传播对象;
如果没有查找到所述下一个传播对象,提交所述第一事务。
3.根据权利要求2所述的事务控制方法,其特征在于,还包括以下步骤:
如果找到所述下一个传播对象,获取所述下一个传播对象的属性;
根据所述下一个传播对象的属性,对所述下一个传播对象执行所述行为传播。
4.根据权利要求3所述的事务控制方法,其特征在于,根据所述下一个传播对象的属性,对所述下一个传播对象执行所述行为传播具体包括:
如果根据所述下一个传播对象的属性判定所述下一个传播对象参与到所述第一事务中,在所述第一事务中对所述下一个传播对象执行所述行为传播。
5.根据权利要求4所述的事务控制方法,其特征在于,还包括以下步骤:
如果根据所述下一个传播对象的属性判定对所述下一个传播对象创建第二事务,在所述第二事务中对所述下一个传播对象执行所述行为传播。
CN200910089469A 2009-07-20 2009-07-20 用于数据库的事务控制方法 Active CN101957823B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910089469A CN101957823B (zh) 2009-07-20 2009-07-20 用于数据库的事务控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910089469A CN101957823B (zh) 2009-07-20 2009-07-20 用于数据库的事务控制方法

Publications (2)

Publication Number Publication Date
CN101957823A CN101957823A (zh) 2011-01-26
CN101957823B true CN101957823B (zh) 2012-10-10

Family

ID=43485156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910089469A Active CN101957823B (zh) 2009-07-20 2009-07-20 用于数据库的事务控制方法

Country Status (1)

Country Link
CN (1) CN101957823B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699681B (zh) * 2013-12-31 2017-01-04 华为技术有限公司 数据回滚的处理方法和装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521023B (zh) * 2011-11-21 2015-03-11 华为软件技术有限公司 一种多系统的事务集成处理方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
klyuan.详解spring事务属性.《ITeye网》.2007, *
不祥.Spring事务的传播行为和隔离级别.《豆豆网》.2008, *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699681B (zh) * 2013-12-31 2017-01-04 华为技术有限公司 数据回滚的处理方法和装置

Also Published As

Publication number Publication date
CN101957823A (zh) 2011-01-26

Similar Documents

Publication Publication Date Title
CN108446947B (zh) 一种房产交易方法及装置
CN109951547B (zh) 事务请求并行处理方法、装置、设备和介质
US8781980B2 (en) Matching pattern of events with interval conditions
CN111383005B (zh) 数字货币流向追踪方法及装置
US11270004B2 (en) Blockchain-based transaction privacy
Kiehn et al. A causal checkpointing algorithm for mobile computing environments
CN101957823B (zh) 用于数据库的事务控制方法
CN113157981A (zh) 一种图网络关系扩散方法和装置
CN116702664B (zh) 时间违例修复方法、装置、计算机设备及存储介质
CN112184227A (zh) 平行链监督共识方法、设备和存储介质
Wang et al. A general model for detecting distributed termination in dynamic systems
CN111966609A (zh) 一种ssd缓存分区创建的方法、系统、设备、产品
CN111405037A (zh) 区块同步方法、设备和存储介质
CN109657139B (zh) 网络事件传播的模拟方法、装置及设备
CN109741180B (zh) 区块链连续交易序号生成方法及装置、区块链网络节点
Rafailescu Fault tolerant leader election in distributed systems
CN111639939A (zh) 区块还原方法、设备和存储介质
US10009845B2 (en) Activation method and portable terminal
JP2008112229A (ja) ソフトウェア製品の更新データ適用方法
Merlin et al. Recoverability of modular systems
CN111581446B (zh) 一种图关系生成方法、装置、系统、设备及存储介质
CN112732413B (zh) 异常处理方法、装置、计算机设备和计算机可读存储介质
US9002861B2 (en) Matching device and computer-readable storage medium
CN111813852B (zh) 一种区块链网络的分叉控制方法和装置
CN109919521B (zh) 一种区块链操作确认方法、装置和电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: CAXA TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: BEIJING DIGITAL DAFANG TECHNOLOGY CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 100080, Room 802, satellite building, No. 63, Zhichun Road, Beijing, Haidian District

Patentee after: Beijing CAXA Technology Co., Ltd.

Address before: 100080, Room 802, satellite building, No. 63, Zhichun Road, Beijing, Haidian District

Patentee before: Beijing Digital Dafang Technology Co., Ltd.