CN101957823B - 用于数据库的事务控制方法 - Google Patents
用于数据库的事务控制方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000006854 communication Effects 0.000 claims description 86
- 238000004891 communication Methods 0.000 claims description 64
- 230000009471 action Effects 0.000 claims description 19
- 230000000644 propagated effect Effects 0.000 claims description 12
- 230000001902 propagating effect Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 7
- 238000005096 rolling process Methods 0.000 abstract 2
- 230000007547 defect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
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所述的事务控制方法,其特征在于,还包括以下步骤:
如果根据所述下一个传播对象的属性判定对所述下一个传播对象创建第二事务,在所述第二事务中对所述下一个传播对象执行所述行为传播。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699681B (zh) * | 2013-12-31 | 2017-01-04 | 华为技术有限公司 | 数据回滚的处理方法和装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521023B (zh) * | 2011-11-21 | 2015-03-11 | 华为软件技术有限公司 | 一种多系统的事务集成处理方法及系统 |
-
2009
- 2009-07-20 CN CN200910089469A patent/CN101957823B/zh active Active
Non-Patent Citations (2)
Title |
---|
klyuan.详解spring事务属性.《ITeye网》.2007, * |
不祥.Spring事务的传播行为和隔离级别.《豆豆网》.2008, * |
Cited By (1)
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 |
---|---|---|
US8781980B2 (en) | Matching pattern of events with interval conditions | |
CN111383005B (zh) | 数字货币流向追踪方法及装置 | |
US11270004B2 (en) | Blockchain-based transaction privacy | |
CN113157981B (zh) | 一种图网络关系扩散方法和装置 | |
Kiehn et al. | A causal checkpointing algorithm for mobile computing environments | |
CN101957823B (zh) | 用于数据库的事务控制方法 | |
CN116702664B (zh) | 时间违例修复方法、装置、计算机设备及存储介质 | |
CN109657139B (zh) | 网络事件传播的模拟方法、装置及设备 | |
CN109741180B (zh) | 区块链连续交易序号生成方法及装置、区块链网络节点 | |
CN106846142B (zh) | 一种信息处理方法及服务器 | |
WO2020181798A1 (zh) | 数据处理方法、设备、服务器及计算机可读存储介质 | |
CN112184227A (zh) | 平行链监督共识方法、设备和存储介质 | |
CN114144994A (zh) | 拜占庭容错确定性共识方式的有向无环图-账户智慧交易链总账系统 | |
Wang et al. | A general model for detecting distributed termination in dynamic systems | |
CN111405037A (zh) | 区块同步方法、设备和存储介质 | |
CN115391158A (zh) | 一种时延确定方法、系统、装置及电子设备 | |
Rafailescu | Fault tolerant leader election in distributed systems | |
JP2008112229A (ja) | ソフトウェア製品の更新データ適用方法 | |
Rolla et al. | Stability of the Greedy Algorithm on the Circle | |
CN107317705B (zh) | 一种基于Agent感知区域的有限乐观并行仿真同步方法 | |
CN111639939A (zh) | 区块还原方法、设备和存储介质 | |
CN106959969B (zh) | 一种数据处理方法及装置 | |
CN113923602B (zh) | 信令漂移数据的过滤方法及装置 | |
US10009845B2 (en) | Activation method and portable terminal | |
Merlin et al. | Recoverability of modular systems |
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. |