CN106598703B - 集成系统的事务补偿方法和装置 - Google Patents

集成系统的事务补偿方法和装置 Download PDF

Info

Publication number
CN106598703B
CN106598703B CN201611123549.5A CN201611123549A CN106598703B CN 106598703 B CN106598703 B CN 106598703B CN 201611123549 A CN201611123549 A CN 201611123549A CN 106598703 B CN106598703 B CN 106598703B
Authority
CN
China
Prior art keywords
transaction
compensation
snapshot
global
configuration
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
CN201611123549.5A
Other languages
English (en)
Other versions
CN106598703A (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.)
Yonyou Network Technology Co Ltd
Original Assignee
Yonyou Network Technology Co Ltd
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 Yonyou Network Technology Co Ltd filed Critical Yonyou Network Technology Co Ltd
Priority to CN201611123549.5A priority Critical patent/CN106598703B/zh
Publication of CN106598703A publication Critical patent/CN106598703A/zh
Application granted granted Critical
Publication of CN106598703B publication Critical patent/CN106598703B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions

Abstract

本发明关于集成系统的事务补偿方法和装置,涉及集成化系统技术领域,其中,集成系统的事务补偿方法包括:保存事务操作快照;定时扫描事务的状态;在查询到有执行失败的事务的操作时,根据事务的配置选择回滚方法;其中,若事务的配置为逆向操作补偿方式,则根据事务操作快照进行自动补偿;若事务的配置为自定义补偿方式,则调用自定义方法,取出事务操作快照执行自定义方法。通过本发明的技术方案,能够以灵活的事务配置方式满足不同的使用场景,同时结合两种事务补偿方式提高集成系统的可操作性和易用性,进一步提高系统性能。

Description

集成系统的事务补偿方法和装置
技术领域
本发明涉及集成化系统技术领域,具体而言,涉及一种集成系统的补偿方法和一种集成系统的补偿装置。
背景技术
在集成系统中,一个常见的问题是多个系统间如何保证数据一致性,目前解决分布式系统事务一致性最典型的做法就是通过两阶段提交技术。要实现两阶段提交,首先全局事务的数据源必须支持XA(一种事务管理器的接口标准)特性,但XA协议的系统开销相当大。此外也有完全依靠人工校验和补偿,但这样的校验往往工作量巨大,效率很低。
因此,如何高效地进行集成系统的校验和补偿,减少全局事务处理过程中的性能损耗成为亟待解决的技术问题。
发明内容
本发明旨在至少解决上述现有技术或相关技术中存在的技术问题之一。
为此,本发明的一个目的在于提出了一种集成系统的事务补偿方法。
本发明的另一个目的在于提供了一种集成系统的事务补偿装置。
本发明的第一方面提出了一种集成系统的事务补偿方法,包括:保存事务操作快照;定时扫描事务的状态;在查询到有执行失败的事务的操作时,根据事务的配置选择回滚方法;其中,若事务的配置为逆向操作补偿方式,则根据事务操作快照进行自动补偿;若事务的配置为自定义补偿方式,则调用自定义方法,取出事务操作快照执行自定义方法。
根据本发明第一方面的集成系统的事务补偿方法,通过保存事务操作的快照能够确定具体的回滚位置,当事务执行失败或者是出现需要回滚的操作时,能够根据事务快照确定具体的回滚节点,使事务回退到错误操作之前的状态,同时利用定时扫描事务的状态的步骤则代替了人工校验,能够及时发现实行失败的事务,当发现执行失败的事务时则根据部署所述事务时的配置方式选择回滚方法,本发明集成了两种事务补偿方式即逆向操作补偿方式和自定义补偿方式,提高了集成系统的可操作性和易用性,在保证数据一致性的前提下,不需要做全局事务的锁控制,不需要参与全局事务的资源必须支持XA协议,同时避免了全局事务在两阶段提交时加锁所带来的性能损耗。
在上述技术方案中,优选地,在所述保存事务操作快照之前,还包括:配置全局事务的各个事务型操作,生成全局事务配置;检测加入的事务是否支持全局事务;若事务支持全局事务,则创建事务在全局事务的事务上下文,记录全局事务状态和每一个事务的操作状态,确定事务边界;若事务不支持全局事务,则将事务分配至无事务上下文运行流程;若事务成功执行,则删除事务持久化状态,若事务执行失败,则更新事务的状态。
在该技术方案中,用户配置事务操作并将其部署到运行环境,当执行该事务时,根据全局事务配置,创建事务上下文,记录全局事务状态,根据每一个事务型操作的事务配置(例如,加入事务、支持事务和新启事务)确定事务边界,记录事务状态及其父事务,保存事务操作快照,如果事务成功执行,则删除事务持久化状态,如果事务失败,则更新事务状态。总体上,用户可灵活定义事务边界,根据事务是否支持全局事务模式进行事务的部署,提高集成系统的灵活性和可配置性。
在上述技术方案中,优选地,若事务的配置为逆向操作补偿方式,则进行自动补偿,具体包括:根据事务配置的事务边界执行节点事务补偿;根据服务定义的正向操作执行默认逆向操作,如果存在用户逆向操作,则使用用户定义逆向操作补偿;根据事务操作快照进行逆向操作补偿。
在该技术方案中,通过扫描事务状态发现需要进行回滚的操作时,检测具体的事务配置方式和事务操作快照,若需要进行逆向操作补偿方式则根据服务定义的正向操作的逆操作自动补偿,此时还能够接受用户的逆向操作使用用户定义的逆向操作进行补偿。丰富了集成系统的补偿方式,使集成系统事务的补偿方式更加灵活。
在上述技术方案中,优选地,若事务的配置为自定义补偿方式,则根据事务操作快照执行补偿方法,具体包括:根据事务配置的事务边界执行节点事务补偿;根据用户定义的服务接口定义,确定自定义补偿方式;根据事务操作快照进行自定义补偿。
在该技术方案中,根据事务配置的边界执行节点事务补偿,根据用户定义的服务接口定义确定用户自定义补偿方法,根据事务快照执行自定义补偿。丰富了事务操作的补偿方法,使得集成系统能够根据用户的自定义补偿方法获得更好的运行状态。
在上述技术方案中,优选地,还包括:保证集成系统中各个事务之间的数据一致性。
在该技术方案中,保证了数据的一致性后,能够不做全局事务的锁控制,具体地,不需要参与全局事务的资源必须支持两阶段提交的数据同步方式,避免了全局事务在两阶段提交时数据库加锁带来的性能损耗。
本发明的第二方面提供了一种集成系统的事务补偿装置,包括:快照单元,保存事务操作快照;扫描单元,定时扫描事务的状态;回滚单元,在查询到有执行失败的事务的操作时,根据事务的配置选择回滚方法;其中,若事务的配置为逆向操作补偿方式,则根据事务操作快照进行自动补偿;若事务的配置为自定义补偿方式,则调用自定义方法,取出事务操作快照执行自定义方法。
根据本发明第二方面的集成系统的事务补偿装置,通过保存事务操作的快照能够确定具体的回滚位置,当事务执行失败或者是出现需要回滚的操作时,能够根据事务快照确定具体的回滚节点,使事务回退到错误操作之前的状态,同时利用定时扫描事务的状态的步骤则代替了人工校验,能够及时发现实行失败的事务,当发现执行失败的事务时则根据部署所述事务时的配置方式选择回滚方法,本发明集成了两种事务补偿方式即逆向操作补偿方式和自定义补偿方式,提高了集成系统的可操作性和易用性,在保证数据一致性的前提下,不需要做全局事务的锁控制,不需要参与全局事务的资源必须支持XA协议,同时避免了全局事务在两阶段提交时加锁所带来的性能损耗。
在上述技术方案中,优选地,还包括:全局事务单元,配置全局事务的各个事务型操作,生成全局事务配置,检测加入的事务是否支持全局事务;其中,若事务支持全局事务,则创建事务在全局事务的事务上下文,记录全局事务状态和每一个事务的操作状态,确定事务边界;若事务不支持全局事务,则将事务分配至无事务上下文运行流程;状态单元,若事务成功执行,则删除事务持久化状态,若事务执行失败,则更新事务的状态。
在该技术方案中,用户配置事务操作并将其部署到运行环境,当执行该事务时,根据全局事务配置,创建事务上下文,记录全局事务状态,根据每一个事务型操作的事务配置(例如,加入事务、支持事务和新启事务)确定事务边界,记录事务状态及其父事务,保存事务操作快照,如果事务成功执行,则删除事务持久化状态,如果事务失败,则更新事务状态。总体上,用户可灵活定义事务边界,根据事务是否支持全局事务模式进行事务的部署,提高集成系统的灵活性和可配置性。
在上述技术方案中,优选地,所述回滚单元,具体用于:根据事务配置的事务边界执行节点事务补偿;根据服务定义的正向操作执行默认逆向操作,如果存在用户逆向操作,则使用用户定义逆向操作补偿;根据事务操作快照进行逆向操作补偿。
在该技术方案中,通过扫描事务状态发现需要进行回滚的操作时,检测具体的事务配置方式和事务操作快照,若需要进行逆向操作补偿方式则根据服务定义的正向操作的逆操作自动补偿,此时还能够接受用户的逆向操作使用用户定义的逆向操作进行补偿。丰富了集成系统的补偿方式,使集成系统事务的补偿方式更加灵活。
在上述技术方案中,优选地,所述回滚单元,具体用于:根据事务配置的事务边界执行节点事务补偿;根据用户定义的服务接口定义,确定自定义补偿方式;根据事务操作快照进行自定义补偿。
在该技术方案中,根据事务配置的边界执行节点事务补偿,根据用户定义的服务接口定义确定用户自定义补偿方法,根据事务快照执行自定义补偿。丰富了事务操作的补偿方法,使得集成系统能够根据用户的自定义补偿方法获得更好的运行状态。
在上述技术方案中,优选地,还包括:数据一致单元,保证集成系统中各个事务之间的数据一致性。
在该技术方案中,保证了数据的一致性后,能够不做全局事务的锁控制,具体地,不需要参与全局事务的资源必须支持两阶段提交的数据同步方式,避免了全局事务在两阶段提交时数据库加锁带来的性能损耗。
通过本发明的技术方案,能够以灵活的事务配置方式满足不同的使用场景,同时结合两种事务补偿方式提高集成系统的可操作性和易用性,进一步提高系统性能。
附图说明
图1示出了根据本发明第一方面实施例的集成系统的事务补偿方法流程图。
图2示出了根据本发明第二方面实施例的集成系统的事务补偿装置框图。
图3示出了根据本发明实施例的全局事务执行过程流程图。
图4示出了根据本发明实施例的事务扫描流程图。
图5示出了根据本发明实施例的事务逆向操作补偿流程图。
图6示出了根据本发明实施例的事务自定义补偿流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征能够相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还能够采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明第一方面实施例的集成系统的事务补偿方法流程图。
如图1所示,本发明的第一方面实施例提出了一种集成系统的事务补偿方法,包括:步骤102,保存事务操作快照;步骤104,定时扫描事务的状态;步骤106,在查询到有执行失败的事务的操作时,根据事务的配置选择回滚方法;其中,若事务的配置为逆向操作补偿方式,则根据事务操作快照进行自动补偿;若事务的配置为自定义补偿方式,则调用自定义方法,取出事务操作快照执行自定义方法。
根据本发明第一方面实施例的集成系统的事务补偿方法,步骤102通过保存事务操作的快照能够确定具体的回滚位置,当事务执行失败或者是出现需要回滚的操作时,能够根据事务快照确定具体的回滚节点,使事务回退到错误操作之前的状态,步骤104同时利用定时扫描事务的状态的步骤则代替了人工校验,能够及时发现实行失败的事务,当发现执行失败的事务时则根据部署所述事务时的配置方式选择回滚方法,步骤106集成了两种事务补偿方式即逆向操作补偿方式和自定义补偿方式,提高了集成系统的可操作性和易用性,在保证数据一致性的前提下,不需要做全局事务的锁控制,不需要参与全局事务的资源必须支持XA协议,同时避免了全局事务在两阶段提交时加锁所带来的性能损耗。
在上述技术方案中,优选地,在步骤102之前,还包括:配置全局事务的各个事务型操作,生成全局事务配置;检测加入的事务是否支持全局事务;若事务支持全局事务,则创建事务在全局事务的事务上下文,记录全局事务状态和每一个事务的操作状态,确定事务边界;若事务不支持全局事务,则将事务分配至无事务上下文运行流程;若事务成功执行,则删除事务持久化状态,若事务执行失败,则更新事务的状态。
在该技术方案中,用户配置事务操作并将其部署到运行环境,当执行该事务时,根据全局事务配置,创建事务上下文,记录全局事务状态,根据每一个事务型操作的事务配置(例如,加入事务、支持事务和新启事务)确定事务边界,记录事务状态及其父事务,保存事务操作快照,如果事务成功执行,则删除事务持久化状态,如果事务失败,则更新事务状态。总体上,用户可灵活定义事务边界,根据事务是否支持全局事务模式进行事务的部署,提高集成系统的灵活性和可配置性。
根据本发明第一方面实施例的集成系统的事务补偿方法,优选地,步骤106具体包括:根据事务配置的事务边界执行节点事务补偿;根据服务定义的正向操作执行默认逆向操作,如果存在用户逆向操作,则使用用户定义逆向操作补偿;根据事务操作快照进行逆向操作补偿。
在该技术方案中,通过扫描事务状态发现需要进行回滚的操作时,检测具体的事务配置方式和事务操作快照,若需要进行逆向操作补偿方式则根据服务定义的正向操作的逆操作自动补偿,此时还能够接受用户的逆向操作使用用户定义的逆向操作进行补偿。丰富了集成系统的补偿方式,使集成系统事务的补偿方式更加灵活。
根据本发明第一方面实施例的集成系统的事务补偿方法,优选地,步骤106具体包括:根据事务配置的事务边界执行节点事务补偿;根据用户定义的服务接口定义,确定自定义补偿方式;根据事务操作快照进行自定义补偿。
在该技术方案中,根据事务配置的边界执行节点事务补偿,根据用户定义的服务接口定义确定用户自定义补偿方法,根据事务快照执行自定义补偿。丰富了事务操作的补偿方法,使得集成系统能够根据用户的自定义补偿方法获得更好的运行状态。
根据本发明第一方面实施例的集成系统的事务补偿方法,优选地,还包括:保证集成系统中各个事务之间的数据一致性。
在该技术方案中,保证了数据的一致性后,能够不做全局事务的锁控制,具体地,不需要参与全局事务的资源必须支持两阶段提交的数据同步方式,避免了全局事务在两阶段提交时数据库加锁带来的性能损耗。
图2示出了根据本发明第二方面实施例的集成系统的事务补偿装置框图。
如图2所示,本发明的第二方面实施例提供了一种集成系统的事务补偿装置200,包括:快照单元202,保存事务操作快照;扫描单元204,定时扫描事务的状态;回滚单元206,在查询到有执行失败的事务的操作时,根据事务的配置选择回滚方法;其中,若事务的配置为逆向操作补偿方式,则根据事务操作快照进行自动补偿;若事务的配置为自定义补偿方式,则调用自定义方法,取出事务操作快照执行自定义方法。
根据本发明第二方面实施例的集成系统的事务补偿装置200,其中,控制单元202保存事务操作的快照能够确定具体的回滚位置,当事务执行失败或者是出现需要回滚的操作时,能够根据事务快照确定具体的回滚节点,使事务回退到错误操作之前的状态,同时利用扫描单元204则代替了人工校验,能够及时发现实行失败的事务,当发现执行失败的事务时回滚单元206则根据部署所述事务时的配置方式选择回滚方法,本发明集成了两种事务补偿方式即逆向操作补偿方式和自定义补偿方式,提高了集成系统的可操作性和易用性,在保证数据一致性的前提下,不需要做全局事务的锁控制,不需要参与全局事务的资源必须支持XA协议,同时避免了全局事务在两阶段提交时加锁所带来的性能损耗。
根据本发明第二方面实施例的集成系统的事务补偿装置200,优选地,还包括:全局事务单元208,配置全局事务的各个事务型操作,生成全局事务配置,检测加入的事务是否支持全局事务;其中,若事务支持全局事务,则创建事务在全局事务的事务上下文,记录全局事务状态和每一个事务的操作状态,确定事务边界;若事务不支持全局事务,则将事务分配至无事务上下文运行流程;状态单元210,若事务成功执行,则删除事务持久化状态,若事务执行失败,则更新事务的状态。
在该技术方案中,用户配置事务操作并将其部署到运行环境,当执行该事务时,根据全局事务配置,创建事务上下文,记录全局事务状态,根据每一个事务型操作的事务配置(例如,加入事务、支持事务和新启事务)确定事务边界,记录事务状态及其父事务,保存事务操作快照,如果事务成功执行,则删除事务持久化状态,如果事务失败,则更新事务状态。总体上,用户可灵活定义事务边界,根据事务是否支持全局事务模式进行事务的部署,提高集成系统的灵活性和可配置性。
根据本发明第二方面实施例的集成系统的事务补偿装置200,优选地,所述回滚单元206,具体用于:根据事务配置的事务边界执行节点事务补偿;根据服务定义的正向操作执行默认逆向操作,如果存在用户逆向操作,则使用用户定义逆向操作补偿;根据事务操作快照进行逆向操作补偿。
在该技术方案中,通过扫描事务状态发现需要进行回滚的操作时,检测具体的事务配置方式和事务操作快照,若需要进行逆向操作补偿方式则根据服务定义的正向操作的逆操作自动补偿,此时还能够接受用户的逆向操作使用用户定义的逆向操作进行补偿。丰富了集成系统的补偿方式,使集成系统事务的补偿方式更加灵活。
根据本发明第二方面实施例的集成系统的事务补偿装置200,优选地,所述回滚单元206,具体用于:根据事务配置的事务边界执行节点事务补偿;根据用户定义的服务接口定义,确定自定义补偿方式;根据事务操作快照进行自定义补偿。
在该技术方案中,根据事务配置的边界执行节点事务补偿,根据用户定义的服务接口定义确定用户自定义补偿方法,根据事务快照执行自定义补偿。丰富了事务操作的补偿方法,使得集成系统能够根据用户的自定义补偿方法获得更好的运行状态。
根据本发明第二方面实施例的集成系统的事务补偿装置200,优选地,还包括:数据一致单元212,保证集成系统中各个事务之间的数据一致性。
在该技术方案中,保证了数据的一致性后,能够不做全局事务的锁控制,具体地,不需要参与全局事务的资源必须支持两阶段提交的数据同步方式,避免了全局事务在两阶段提交时数据库加锁带来的性能损耗。
图3示出了根据本发明实施例的全局事务执行过程流程图。
如图3所示,业务流程的设计步骤主要包括:步骤302,配置全局事务各个事务型操作;步骤304,业务流程部署,将事务部署到运行环境;当执行该业务时,根据其是否支持全局事务,若是则进行步骤306,创建全局事务上下文;步骤308,记录全局事务状态;步骤310,根据配置记录每一个事务的操作状态及其父事务;步骤312,保存事务操作快照;步骤314,维护全局事务;若否则进行步骤316,进入无事务上下文运行流程。
在该实施例中,用户配置事务操作并部署到运行环境;当执行该业务时,根据全局事务配置,创建事务上下文,记录全局事务状态;根据每一个事务型操作的事务配置(加入事务、支持事务、新启事务),确定事务边界,记录事务状态及其父事务;保存事务操作快照;如果事务成功执行,则删除事务持久化状态,如果事务失败,则更新事务状态。
图4示出了根据本发明实施例的事务扫描流程图。
如图4所示,事务扫描过程主要包括:步骤402,查询事务状态;在有需要进行回滚的操作时,进行步骤404,进行事务及其子事务的rollback。
在该实施例中,后台服务定时扫描事务状态;如果查询到有需要rollback的事务操作,则根据事务的配置,选择rollback方法;如果配置的为逆向操作补偿方式,则自动补偿;如果是用户自定义补偿的方式,则调用用户的自定义方法,并且取出该事务快照,执行补偿方法;执行子事务rollback;继续扫描事务状态。
图5示出了根据本发明实施例的事务逆向操作补偿流程图。
如图5所示,事务逆向操作补偿方式过程主要包括:步骤502,服务接口定义(正向操作、逆向操作);根据是否存在用户逆向操作,若有则进入步骤504,用户进行逆向操作;步骤506,根据事务快照进行用户定义逆向操作补偿;若不存在用户逆向操作,则进入步骤508,执行默认逆向操作;步骤510,根据事务快照进行默认逆向操作补偿。
在该实施例中,根据事务配置的边界,执行节点事务补偿;根据服务定义的正向操作,逆向操作,如果存在用户逆向操作,则使用用户定义逆向操作补偿,否则使用正向操作的默认逆向操作;根据事务快照,执行逆向操作补偿。
图6示出了根据本发明实施例的事务自定义补偿流程图。
如图6所示,事务自定义补偿方式过程主要包括:步骤602,服务接口定义(自定义补偿方法);步骤604,根据事务快照进行自定义补偿。
在该实施例中,根据事务配置的边界,执行节点事务补偿;根据用户定义的服务接口定义,确定用户自定义补偿方法;根据事务快照,执行自定义补偿。
以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,在数据一致性的前提下,提高了性能,灵活的事务配置方式满足各种需要的场景,两种事务补偿方式,更易用。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,本发明实施例装置和终端中的单元可以根据实际需要进行合并、划分和删减。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种集成系统的事务补偿方法,其特征在于,包括:
保存事务操作快照;
定时扫描所述事务的状态;
在查询到有执行失败的所述事务的操作时,根据所述事务的配置选择回滚方法;其中,
若所述事务的配置为逆向操作补偿方式,则根据所述事务操作快照进行自动补偿;
若所述事务的配置为自定义补偿方式,则调用自定义方法,取出所述事务操作快照执行所述自定义方法;
在所述保存事务操作快照之前,还包括:
配置全局事务的各个事务型操作,生成全局事务配置;
检测加入的事务是否支持所述全局事务;
若所述事务支持全局事务,则创建所述事务在所述全局事务的事务上下文,记录全局事务状态和每一个所述事务的操作状态,确定事务边界;
所述若所述事务的配置为逆向操作补偿方式,则进行自动补偿,具体包括:
根据事务配置的所述事务边界执行节点事务补偿;
根据服务定义的正向操作执行默认逆向操作,如果存在用户逆向操作,则使用用户定义逆向操作补偿;
根据所述事务操作快照进行所述逆向操作补偿。
2.根据权利要求1所述的事务补偿方法,其特征在于,在所述保存事务操作快照之前,还包括:
若所述事务不支持全局事务,则将所述事务分配至无事务上下文运行流程;
若所述事务成功执行,则删除事务持久化状态,若所述事务执行失败,则更新所述事务的状态。
3.根据权利要求1所述的事务补偿方法,其特征在于,所述若所述事务的配置为自定义补偿方式,则根据所述事务操作快照执行补偿方法,具体包括:
根据事务配置的所述事务边界执行节点事务补偿;
根据用户定义的服务接口定义,确定自定义补偿方式;
根据所述事务操作快照进行自定义补偿。
4.根据权利要求1至3中任一项所述的事务补偿方法,其特征在于,还包括:
保证所述集成系统中各个事务之间的数据一致性。
5.一种集成系统的事务补偿装置,其特征在于,包括:
快照单元,保存事务操作快照;
扫描单元,定时扫描所述事务的状态;
回滚单元,在查询到有执行失败的所述事务的操作时,根据所述事务的配置选择回滚方法;其中,
若所述事务的配置为逆向操作补偿方式,则根据所述事务操作快照进行自动补偿;
若所述事务的配置为自定义补偿方式,则调用自定义方法,取出所述事务操作快照执行所述自定义方法;
全局事务单元,配置全局事务的各个事务型操作,生成全局事务配置,检测加入的事务是否支持所述全局事务;其中,
若所述事务支持全局事务,则创建所述事务在所述全局事务的事务上下文,记录全局事务状态和每一个所述事务的操作状态,确定事务边界;
所述回滚单元,具体用于:
根据事务配置的所述事务边界执行节点事务补偿;
根据服务定义的正向操作执行默认逆向操作,如果存在用户逆向操作,则使用用户定义逆向操作补偿;
根据所述事务操作快照进行所述逆向操作补偿。
6.根据权利要求5所述的事务补偿装置,其特征在于,还包括:
若所述事务不支持全局事务,则将所述事务分配至无事务上下文运行流程;
状态单元,若所述事务成功执行,则删除事务持久化状态,若所述事务执行失败,则更新所述事务的状态。
7.根据权利要求5所述的事务补偿装置,其特征在于,所述回滚单元,具体用于:
根据事务配置的所述事务边界执行节点事务补偿;
根据用户定义的服务接口定义,确定自定义补偿方式;
根据所述事务操作快照进行自定义补偿。
8.根据权利要求5至7中任一项所述的事务补偿装置,其特征在于,还包括:
数据一致单元,保证所述集成系统中各个事务之间的数据一致性。
CN201611123549.5A 2016-12-08 2016-12-08 集成系统的事务补偿方法和装置 Active CN106598703B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611123549.5A CN106598703B (zh) 2016-12-08 2016-12-08 集成系统的事务补偿方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611123549.5A CN106598703B (zh) 2016-12-08 2016-12-08 集成系统的事务补偿方法和装置

Publications (2)

Publication Number Publication Date
CN106598703A CN106598703A (zh) 2017-04-26
CN106598703B true CN106598703B (zh) 2020-04-03

Family

ID=58597588

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611123549.5A Active CN106598703B (zh) 2016-12-08 2016-12-08 集成系统的事务补偿方法和装置

Country Status (1)

Country Link
CN (1) CN106598703B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284331B (zh) * 2018-08-16 2024-04-02 中国平安人寿保险股份有限公司 基于业务数据资源的制证信息获取方法、终端设备及介质
CN109933592B (zh) * 2019-03-22 2021-06-01 杭州复杂美科技有限公司 数据存储方法、数据回滚方法、设备和存储介质
CN110764946B (zh) * 2019-11-12 2021-04-02 焦点科技股份有限公司 一种基于文件的索引数据失败补偿的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101819518A (zh) * 2009-02-26 2010-09-01 国际商业机器公司 在事务内存中快速保存上下文的方法和装置
CN102340537A (zh) * 2011-06-30 2012-02-01 北京新媒传信科技有限公司 一种分布式事务处理方法和装置
CN102388370A (zh) * 2009-06-19 2012-03-21 核心科技有限公司 计算机进程管理
CN103020147A (zh) * 2012-11-22 2013-04-03 用友软件股份有限公司 数据集成系统和数据集成方法
CN103995868A (zh) * 2014-05-20 2014-08-20 科大国创软件股份有限公司 面向分布式系统的全局事务管理器及事务处理方法
CN107045454A (zh) * 2016-02-06 2017-08-15 华为技术有限公司 跨进程分布式事务控制方法及相关系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101819518A (zh) * 2009-02-26 2010-09-01 国际商业机器公司 在事务内存中快速保存上下文的方法和装置
CN102388370A (zh) * 2009-06-19 2012-03-21 核心科技有限公司 计算机进程管理
CN102340537A (zh) * 2011-06-30 2012-02-01 北京新媒传信科技有限公司 一种分布式事务处理方法和装置
CN103020147A (zh) * 2012-11-22 2013-04-03 用友软件股份有限公司 数据集成系统和数据集成方法
CN103995868A (zh) * 2014-05-20 2014-08-20 科大国创软件股份有限公司 面向分布式系统的全局事务管理器及事务处理方法
CN107045454A (zh) * 2016-02-06 2017-08-15 华为技术有限公司 跨进程分布式事务控制方法及相关系统

Also Published As

Publication number Publication date
CN106598703A (zh) 2017-04-26

Similar Documents

Publication Publication Date Title
US9043778B2 (en) Method and system for upgrading software
CN110780890A (zh) 系统升级方法、装置、电子设备和介质
CN106598703B (zh) 集成系统的事务补偿方法和装置
CN111770169A (zh) 设备固件升级的方法、装置、设备以及存储介质
CN100591022C (zh) 一种实现批配置预激活的方法和装置
CN106533719A (zh) 一种实现集群部署的方法及系统
CN101329633A (zh) 一种软件升级的方法和软件升级装置
CN109460358B (zh) 基于Cmdb的配置管理方法及系统
CN113448837A (zh) 开发及测试环境部署方法、系统、电子设备及介质
JP4336363B2 (ja) ビジネスプロセス実行方法、ビジネスプロセス実行システムおよびプログラム
CN107463390B (zh) 一种软件升级方法及升级服务器
CN114020840A (zh) 一种数据处理方法、装置、服务器、存储介质及产品
CN109271442A (zh) 数据库同步恢复方法、装置、计算机可读存储介质和电子设备
CN112395339A (zh) 系统间数据准入校验方法、装置、计算机设备和存储介质
CN109032674B (zh) 一种多进程管理方法、系统及网络设备
CN111080250B (zh) 流程回退补偿方法、装置、存储介质及电子设备
CN106155670A (zh) 一种移动终端及其刷机方法和装置
CN114090192A (zh) 一种Docker Swarm集群资源清理优化方法及系统
CN111444047B (zh) 双机热备份的配置同步方法、双机热备系统及可读存储介质
JP5317182B2 (ja) Pos端末、モジュールアップデート方法およびモジュールアップデートプログラム
CN114553859A (zh) 一种bmc配置管理方法、装置、电子设备及存储介质
CN114138475A (zh) 一种数据传输负载均衡方法、装置、设备及存储介质
CN108599982B (zh) 数据恢复方法及相关设备
CN114721746B (zh) 一种Trino catalog热加载方法和系统
US6564376B1 (en) Method, system and program products for operationally backing out components of a cluster through emulation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant