CN112866316A - 一种分布式事务处理的方法和装置 - Google Patents
一种分布式事务处理的方法和装置 Download PDFInfo
- Publication number
- CN112866316A CN112866316A CN201911184880.1A CN201911184880A CN112866316A CN 112866316 A CN112866316 A CN 112866316A CN 201911184880 A CN201911184880 A CN 201911184880A CN 112866316 A CN112866316 A CN 112866316A
- Authority
- CN
- China
- Prior art keywords
- local
- service
- transaction
- service unit
- transaction state
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 6
- 238000012545 processing Methods 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000005096 rolling process Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 7
- 238000011161 development Methods 0.000 abstract description 8
- 238000012544 monitoring process Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 13
- 230000004048 modification Effects 0.000 description 12
- 238000012986 modification Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
- G06Q10/0875—Itemisation or classification of parts, supplies or services, e.g. bill of materials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Signal Processing (AREA)
- Economics (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式事务处理的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:第一业务单元接收第一业务请求,形成与所述第一业务请求相关联的本地唯一标识,根据所述第一业务请求,执行本地业务;在存在一个或多个接收所述第一业务单元的业务请求的第二业务单元的情况下,所述第一业务单元向所述第二业务单元发送第二业务请求,所述第二业务请求指示了所述第一业务单元相关联的所述本地唯一标识。根据本地业务的执行结果,确定与所述本地唯一标识相关联的本地事务状态;该实施方式能够确保分布式事务中事务的强一致性,并减少了与分布式事务处理相关的业务代码的开发工作量。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种分布式事务处理的方法和装置。
背景技术
在近几年,随着企业的系统规模的扩大,单体架构会因为业务逐渐复杂,导致维护成本高、可靠性差、扩展性差、重复性开发等问题。因此越来越多的公司采用了分布式微服务架构。为了确保业务的松耦合性,每个服务可能会存在自己的数据库,每个服务的事务是由自己控制的,可能会导致一次请求经过多个服务而事务不一致的情况,破坏了事务的一致性原则。
现有技术有如下几种解决事务一致性问题的方案:
补偿事务:当服务接收到请求的时候,记录当前请求,定时或者异步的去检查相关数据的一致性。如果数据不一致,则自定义一套补偿原则,进行数据修改,达到数据的最终一致性。
TCC模式:TCC事务模型是由Try、Confirm、Cancel操作构成。Try尝试执行操作,Confirm提交事务,Cancel取消事务。三者共同在服务链路中完成操作,以及操作异常时共同进行还原操作。
Saga模式:Saga模式定义为长活动时间的事务,把一个事务划分成多个阶段的本地子事务。每个事务是独立的原子行为,每个子事务要有对应的失败补偿事务。全局事务开始的时候,第一个子事务提交完成后会通知后一个子事务进行业务处理。如果后一步的子事务正常提交,那么将继续通知下一步子事务;如果后一步的子事务提交失败,那么需要通知前一步子事务进行失败补偿事务处理。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
补偿事务有一定的延迟性。因为是由后期的定时检查去发现之前的业务处理有误,进行补偿的操作,延迟的时间依赖于定时检查的频率和规则。而对于数据一致性要求比较严格的业务来说,可能出现一段时间内的数据是不一致的异常情况。
TCC模式:TCC模式下,需要对每个服务内的业务处理方法拆解成三个方法,分别为Try、Commit、Cancel,开发工作量和成本增加过大。
Saga模式:Saga模式下,无法保证数据的隔离性。两个事务同时操作一个资源,可能会出现数据错乱;一个事务内两次读取数据,如果期间有其他事务进行了数据修改,可能会出现读取值不一致。
发明内容
有鉴于此,本发明实施例提供一种分布式事务处理的方法和装置,能够利用被监听的存储单元记录监听本地业务单元以及相关联的业务单元的事务状态,并通过修改事务状态来通知相应的业务单元进行事务的提交或回滚等操作,在解决分布式事务的同时,确保了分布式事务的事务一致性,并减少了实现分布式业务一致性的开发工作量。
为实现上述目的,根据本发明实施例的一个方面,提供了一种分布式事务处理的方法,其特征在于,包括:第一业务单元接收第一业务请求,形成与所述第一业务请求相关联的本地唯一标识,根据所述第一业务请求,执行本地业务;在存在一个或多个接收所述第一业务单元的业务请求的第二业务单元的情况下,所述第一业务单元向所述第二业务单元发送第二业务请求,所述第二业务请求指示了所述第一业务单元相关联的所述本地唯一标识;根据本地业务的执行结果,确定与所述本地唯一标识相关联的本地事务状态。
可选地,所述分布式事务处理的方法,其特征在于,所述本地事务状态包括:注册、提交、回滚、待提交、待回滚、已提交。
可选地,所述分布式事务处理的方法,其特征在于,所述根据本地业务的执行结果,确定与所述本地唯一标识相关联的所述本地事务状态包括:
所述第一业务单元监听所述第二业务单元的本地唯一标识相关联的本地事务状态,根据所述第二业务单元的本地事务状态,确定所述第一业务单元的本地事务状态。
可选地,所述分布式事务处理的方法,其特征在于,监听所述本地事务状态的变化,确定与所述第一事务状态相对应的操作。
可选地,所述分布式事务处理的方法,其特征在于,所述本地事务状态是由所述第一业务单元的上级单元改变的,所述上级业务单元是向所述第一业务单元发送所述第一业务请求的业务单元。
可选地,所述分布式事务处理的方法,其特征在于,使用被监听的存储单元相对应地记录所述第一业务单元的本地唯一标识和本地事务状态,所述第二业务单元的本地唯一标识和本地事务状态。
为实现上述目的,根据本发明实施例的第二方面,提供了一种分布式事务处理的装置,其特征在于,包括:事务标识管理模块、事务执行模块和事务状态管理模块;其中,所述事务标识管理模块,用于接收第一业务请求,形成与所述第一业务请求相关联的本地唯一标识;所述事务执行模块,用于根据所述第一业务请求,执行本地业务;在存在一个或多个接收所述装置的业务请求的第二业务单元的情况下,所述装置向所述第二业务单元发送第二业务请求,所述第二业务请求指示了所述装置相关联的所述本地唯一标识;所述事务状态管理模块,用于根据本地业务的执行结果,确定与所述本地唯一标识相关联的本地事务状态。
可选地,所述分布式事务处理的装置,其特征在于,所述本地事务状态包括:注册、提交、回滚、待提交、待回滚、已提交。
可选地,所述分布式事务处理的装置,其特征在于,所述根据本地业务的执行结果,确定与所述本地唯一标识相关联的所述本地事务状态包括:
所述装置监听所述第二业务单元的本地唯一标识相关联的本地事务状态,根据所述第二业务单元的本地事务状态,确定所述装置的本地事务状态。
可选地,所述分布式事务处理的装置,其特征在于,监听所述本地事务状态的变化,根据所述第一事务状态,确定与所述第一事务状态相对应的操作。
可选地,所述分布式事务处理的装置,其特征在于,
所述本地事务状态是由所述装置的上级单元改变的,所述上级业务单元是向所述装置发送所述第一业务请求的业务单元。
可选地,所述分布式事务处理的装置,其特征在于,
使用被监听的存储单元相对应地记录所述装置的本地唯一标识和本地事务状态,所述第二业务单元的本地唯一标识和本地事务状态。
为实现上述目的,根据本发明实施例的第三方面,提供了一种分布式事务处理的服务器,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述分布式事务处理的方法中任一所述的方法。
为实现上述目的,根据本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如上述分布式事务处理的方法中任一所述的方法。
上述发明中的一个实施例具有如下优点或有益效果:第一业务单元接收第一业务请求,形成与所述第一业务请求相关联的本地唯一标识,根据所述第一业务请求,执行本地业务;在存在一个或多个接收所述第一业务单元的业务请求的第二业务单元的情况下,所述第一业务单元向所述第二业务单元发送第二业务请求,所述第二业务请求指示了所述第一业务单元相关联的所述本地唯一标识;根据本地业务的执行结果,确定与所述本地唯一标识相关联的本地事务状态。由此可以看出,所述分布式事务处理的方法能够确保分布式事务中事务的强一致性,并减少了与分布式事务处理相关的业务代码的开发工作量。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明第一实施例提供的一种分布式事务处理的方法的流程示意图;
图2是本发明第一实施例提供的一种事务状态与事务操作的流程示意图;
图3是本发明第二实施例提供的一种分布式事务处理的方法的流程示意图;
图4是本发明第二实施例提供的一种事务状态与事务操作的流程示意图;
图5是本发明第三实施例提供的一种分布式事务处理的方法的流程示意图;
图6是本发明第三实施例提供的一种事务状态与事务操作的流程示意图;
图7是本发明一个实施例提供的一种分布式事务处理装置的结构示意图;
图8是本发明实施例可以应用于其中的示例性系统架构图;
图9是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
如图1和图2所示,本发明第一实施例提供了一种分布式事务处理的方法,该方法可以包括以下步骤,如图1所示:
步骤S101:第一业务单元接收第一业务请求,形成与所述第一业务请求相关联的本地唯一标识,根据所述第一业务请求,执行本地业务。
为了进一步说明步骤S101,以商品购买流程为例说明,并利用Zookeeper软件及其监听机制为例,现假设商品交易模块收到了用户的购买请求,则在Zookeeper中创建临时地址/root/tradeUUID/,其中tradeUUID记录本次用户商品购买请求,可以理解的是,每次不同请求所对应的tradeUUID也不同,UUID可以是按照预定义规则生成的数字或者字母,例如,其中一次购买业务请求对应的tradeUUID为trade123456789abc,另外一次购买业务请求对应的为trade987654321efg,以下示例对UUID的值不做具体化,用UUID代替,例如tradeUUID、storageUUID、orderUUID等。
由此可见,该商品购买业务请求为步骤S101中所述的第一业务单元接收的第一业务请求,商品交易模块为所述第一业务单元,地址/root/tradeUUID/为与所述第一业务请求相关联的本地唯一标识。
同时商品交易模块根据商品购买请求,执行与购买请求相关的业务,即,根据所述第一业务请求,执行本地业务。
步骤S102:在存在一个或多个接收所述第一业务单元的业务请求的第二业务单元的情况下,所述第一业务单元向所述第二业务单元发送第二业务请求,所述第二业务请求指示了所述第一业务单元相关联的所述本地唯一标识。
具体地,仍以步骤S101的商品购买流程为例说明,如步骤S101所示,商品交易模块指示了此次商品购买请求的唯一标识为/root/tradeUUID,同时商品交易模块需要通知库存模块修改库存信息,即,交易模块向库存模块发送库存修改请求,所述库存修改请求指示了商品交易模块的唯一标识/root/tradeUUID;其中商品交易模块为所述第一业务单元,库存模块为所述第二业务单元,修改库存的业务请求为所述第二业务请求,地址/root/tradeUUID为所述第一业务单元相关联的所述本地唯一标识;即,在存在接收所述第一业务单元的业务请求的、一个或多个第二业务单元的情况下,所述第一业务单元向所述第二业务单元发送第二业务请求,所述第二业务请求指示了所述第一业务单元相关联的所述本地唯一标识。进一步地,可以理解的是,如步骤S101所示,仍以商品购买流程举例,库存模块在Zookeeper中创建临时地址/root/tradeUUID/storageUUID,所述临时地址为库存模块指示的此次商品购买库存修改请求的唯一标识,并且该唯一标识与商品交易模块此次商品购买请求的唯一标识/root/tradeUUID相关联。
步骤S103:根据本地业务的执行结果,确定与所述本地唯一标识相关联的本地事务状态。
具体地,根据本地业务的执行结果,所关联的事务状态是变化的,进一步地,结合图2说明上述步骤,如图2所示,
步骤S201:第一业务单元执行本地业务,根据执行结果,如果结果为成功,执行步骤S204;如果结果为失败,执行步骤S202。
步骤S202:执行事务回滚操作,标注本地事务状态为回滚,执行步骤S203。
具体地,所述事务回滚操作,指示为一种本地事务操作,是指在本地业务执行失败或数据出现异常的情况下,将本地业务或数据恢复到上一次正确状态的行为,可以理解的是,在本步骤中的事务回滚操作是由于步骤S201中所述的执行本地业务的结果为失败,所述事务回滚操作结合其他事务操作,保证了事务的一致性;
步骤S203:标注接收第一业务单元业务请求的第二业务单元的事务状态为待回滚。
具体地,所述待回滚,指示为一种本地事务状态,待回滚指示了本地业务下一步执行的事务操作为回滚,进一步地,可选地,待回滚的事务状态是由本地业务单元的上级业务单元标注的。
步骤S204:标注本地事务状态为提交。
具体地,所述提交,指示为一种本地事务状态,指示为本地事务相关的操作为正常状态,可以理解的是,在本步骤中的事务提交操作是由于步骤S201中所述的执行本地业务的结果为成功。
具体地,仍以步骤S101-步骤S103所述商品购买流程为例说明步骤S201-步骤S204,商品交易模块为所述第一业务单元,库存模块为所述第二业务单元,商品交易模块运行购买业务,同时向库存模块发送库存修改请求;如果购买业务执行结果是成功,可选地,标注其唯一标识/root/tradeUUID对应的事务状态为提交;如果购买业务执行结果是失败,则执行事务回滚的操作,可选地,标注其唯一标识/root/tradeUUID对应的事务状态为回滚,并标注与库存模块唯一标识/root/tradeUUID/storageUUID对应的事务状态为待回滚;可以理解的是,如果第一业务单元没有上级业务单元,则业务执行成功之后无需标注本地业务的事务状态为提交,在业务执行失败之后无需标注本地业务的事务状态为回滚;如果第一业务单元没有下级业务单元,则无需标注下级业务单元所对应业务请求的唯一标识的事务状态。
其中,上述实例中商品交易模块为所述第一业务单元,其对应购买业务请求的唯一标识为/root/tradeUUID,可选地,对应的事务状态为回滚,上述库存模块为所述第二业务单元,其对应购买业务请求库存修改请求的唯一标识为/root/tradeUUID/storageUUID,对应的事务状态为待回滚,即,使用被监听的存储单元相对应地记录所述第一业务单元的所述本地唯一标识和所述第一事务状态,所述第二业务单元的唯一标识和所述第二事务状态。
由此可见,所述商品交易模块的购买业务的唯一标识和事务状态,和库存模块的唯一标识和事务状态,是利用被监听的存储单元记录的;本发明的实施例利用Zookeeper的监听机制和被监听的存储单元举例,所述监听机制归属的产品还可以包括Eureka等,但不限于上述产品;本发明对监听机制归属的产品不做限定。
该实施方式能够确保分布式事务中事务的强一致性,并减少了与分布式事务处理相关的业务代码的开发工作量。
如图3和图4所示,本发明第二实施例提供了一种分布式事务处理的方法,该方法可以包括以下步骤:
如图3所示,步骤S301-步骤S302关于分布式事务处理的流程与步骤S101-步骤S102的描述一致,在此不再赘述。
步骤S303:所述根据本地业务的执行结果,确定与所述本地唯一标识相关联的所述第一事务状态包括:所述第一业务单元监听所述第二业务单元的所述唯一标识相关联所述第二事务状态,根据所述第二事务状态,确定所述第一事务状态。
具体的,所述根据本地业务的执行结果,确定与所述本地唯一标识相关联的所述第一事务状态,当存在接收第一业务单元发送业务请求的第二业务单元时,所述第一业务单元监听所述第二业务单元的所述唯一标识相关联所述第二事务状态,根据所述第二事务状态,确定所述第一事务状态。
进一步地,仍以商品购买流程为例说明上述步骤S303,商品交易模块除了向库存模块发送库存修改请求,还需要向订单模块发送订购请求:
其中,商品交易模块为第一业务单元,库存模块所述第二业务单元,订购模块为另一所述第二业务单元,可以理解的,如步骤S301-步骤S302所述,库存模块指示了该购买业务请求的唯一标识为/root/tradeUUID/storageUUID,订购模块指示了此次购买业务请求的唯一标识为/root/tradeUUID/orderUUID,商品购物模块监听上述购买业务请求对应的所述商品交易模块唯一标识/root/tradeUUID对应的事务状态、所述库存模块唯一标识/root/tradeUUID/storageUUID对应的事务状态、订购模块唯一标识/root/tradeUUID/orderUUID对应的事务状态,当库存模块唯一标识/root/tradeUUID/storageUUID对应的事务状态变为回滚时,库存模块执行对应唯一标识/root/tradeUUID/storageUUID业务请求的事务回滚的操作;商品交易模块标注订购模块唯一标识/root/tradeUUID/orderUUID对应事务状态为待回滚;订购模块监听唯一标识/root/tradeUUID/orderUUID对应事务状态变为待回滚,执行本地业务的事务回滚操作。进一步地,如果购物模块标注订购模块唯一标识/root/tradeUUID/orderUUID对应事务状态为已提交,则执行本地业务的事务提交操作。可以理解的是,如果第一业务单元没有下级业务单元,则无需监听所述下级业务单元的所述唯一标识相关联所述第二事务状态。
下面结合图4所示的流程图,进一步说明上述事务状态和事务操作,如图4所示:
步骤S401:监听接收第一业务单元业务请求的第二业务单元的唯一标识的事务状态,如果第二业务单元的事务状态变化为回滚,执行步骤S402。如果第二业务单元的事务状态变化为已提交,执行步骤S403,如果第二业务单元的事务状态变化为提交或者注册,执行步骤S404。
具体地,所述回滚,指示为一种本地事务状态;在本地业务执行失败或数据出现异常的情况下,标注本地事务状态为回滚;
所述已提交,指示为一种本地事务状态;在执行本地事务提交的情况下,标注本地事务为已提交;
所述提交,指示为一种本地事务状态;在本地业务执行成功的情况下,标注本地事务为提交;
所述注册,指示一种本地事务状态;当第一业务单元向第二业务单元发送业务请求,第二业务单元形成与第一业务单元相关联的唯一标识时,标注本地事务状态为注册;
步骤S402:第一业务单元标注接收所述第一单元业务请求的的一个或多个第二业务单元的事务状态为待回滚。
步骤S403:执行事务提交操作。
具体地,所述事务提交操作,指示为一种本地事务操作,即为执行本地业务的事务提交操作,进一步地,,执行提交事务操作对数据存储模块的改变具有持久性,比如,对对数据库中数据的改变,是永久的不可回滚的。
步骤S404:执行无动作的操作。
具体地,所述无动作操作,指示为预定条件下,本地业务不需要进行事务的操作;例如,第二业务单元的事务状态为提交或者注册,第二业务单元执行无动作的操作。
如图4所示的流程,进一步说明了所述根据本地业务的执行结果,确定与所述本地唯一标识相关联的所述第一事务状态包括:所述第一业务单元监听所述第二业务单元的所述唯一标识相关联所述第二事务状态,根据所述第二事务状态,确定所述第一事务状态。
监听所述第一事务状态的变化,根据所述第一事务状态,确定与所述第一事务状态相对应的本地事务的操作。
由此可见,所述商品交易模块的购买业务的唯一标识和事务状态,和库存模块的唯一标识和事务状态,是利用被监听的存储单元记录的;本发明的实施例利用Zookeeper的监听机制和被监听的存储单元举例,所述监听机制归属的产品还可以包括Eureka等,但不限于上述产品;本发明对监听机制归属的产品不做限定。
该实施方式能够确保分布式事务中事务的强一致性,并减少了与分布式事务处理相关的业务代码的开发工作量。
如图5和图6所示,本发明第三实施例提供了一种分布式事务处理的方法,该方法可以包括以下步骤:
如图5所示,步骤S501-步骤S503关于分布式事务处理的流程与步骤S101-步骤S103的描述一致,在此不再赘述。
步骤S504:关于监听所述第一事务状态的变化,根据所述第一事务状态,确定与所述第一事务状态相对应的本地事务的操作,与步骤S303描述一致,在此不再赘述。
步骤S505:所述第一事务状态是由所述第一业务单元的上级单元改变的,所述上级业务单元是向所述第一业务单元发送所述第一业务请求的业务单元。
具体的,所述第一事务状态由所述第一业务单元的上级单元改变,所述上级业务单元是向所述第一业务单元发送所述第一业务请求的业务单元。
进一步地,仍以商品购买流程为例说明上述步骤,商品交易模块向库存模块发送库存修改请求,向订单模块发送订购请求:
其中,商品交易模块为第一业务单元,库存模块所述第二业务单元,订购模块为另一所述第二业务单元,库存模块指示了此次购买业务请求的唯一标识为/root/tradeUUID/storageUUID,订购模块指示了此次购买业务请求的唯一标识为/root/tradeUUID/orderUUID,购物模块监听库存模块此次购买业务请求的唯一标识为/root/tradeUUID/storageUUID的事务状态,同时监听此次购买业务请求的唯一标识为/root/tradeUUID/orderUUID的事务状态,当库存模块指示所述/root/tradeUUID/storageUUID的事务状态为回滚,订购模块指示所述/root/tradeUUID/orderUUID的事务状态为提交时,商品交易模块标注订购模块所述/root/tradeUUID/orderUUID的事务状态为待回滚。可以理解的是,商品交易模块为库存模块和订购模块的上级业务模块,订购模块所述/root/tradeUUID/orderUUID的事务状态由提交变化到待回滚,是由所述商品交易模块改变的,即,所述第一事务状态还由所述第一业务单元的上级单元改变,所述上级业务单元是向所述第一业务单元发送所述第一业务请求的业务单元。可以理解的是,如果第一业务单元没有上级业务单元,则所述第一事务状态无需由所述第一业务单元的上级单元改变;如果第一业务单元没有下级业务单元,则无需标注下级业务单元所对应业务请求的唯一标识的事务状态。
以下结合图6所示的流程图,进一步说明上述步骤中的事务状态和事务操作。如图6所示:
步骤S601:监听第一业务单元事务唯一标识对应的事务状态,如果第一业务单元的事务状态变化为待回滚,执行步骤S602。如果第一业务单元的事务状态变化为待提交,执行步骤S603和步骤S603。
步骤S602:第一业务单元执行事务回滚操作
步骤S603:第一业务单元执行事务提交操作。
步骤S604:标注第一业务单元事务状态为已提交,标注接收第一业务单元业务请求的第二业务单元的的事务状态为待提交。
具体地,所述待提交,为一种事务状态,待提交指示了本地业务下一步执行的事务操作为事务提交,进一步地,可选地,待提交的事务状态是由本地业务单元的上级业务单元标注的。
进一步地,所述商品交易模块的购买业务的唯一标识和事务状态、库存模块的唯一标识和事务状态和订单模块的唯一标识和事务状态,是利用被监听的存储单元记录的;
由此可见,所述商品交易模块的购买业务的唯一标识和事务状态,和库存模块的唯一标识和事务状态,是利用被监听的存储单元记录的;本发明的实施例利用Zookeeper的监听机制和被监听的存储单元举例,所述监听机制归属的产品还可以包括Eureka等,但不限于上述产品;本发明对监听机制归属的产品不做限定。
该实施方式能够确保分布式事务中事务的强一致性,并减少了与分布式事务处理相关的业务代码的开发工作量。
进一步地,所述本地事务状态包括:注册、提交、回滚、待提交、待回滚、已提交;所述本地业务的事务操作包括:事务提交、事务回滚、无动作。
具体地,如上述实施例中所述:
所述注册,指示一种本地事务状态;当第一业务单元向第二业务单元发送业务请求,第二业务单元形成与第一业务单元相关联的唯一标识时,标注本地事务状态为注册。
所述提交,指示为一种本地事务状态;在本地业务执行成功的情况下,标注本地事务为提交。
所述回滚,指示为一种本地事务状态;在本地业务执行失败或数据出现异常的情况下,标注本地事务状态为回滚。
所述待回滚,指示为一种本地事务状态,待回滚指示了本地业务下一步执行的事务操作为回滚,进一步地,可选地,待回滚的事务状态是由本地业务单元的上级业务单元标注的。
所述待提交,为一种事务状态,待提交指示了本地业务下一步执行的事务操作为事务提交,进一步地,可选地,待提交的事务状态是由本地业务单元的上级业务单元标注的。
所述已提交,指示为一种本地事务状态;在执行本地事务提交操作的情况下,标注本地事务为已提交。
所述事务回滚操作,指示为一种本地事务操作,是指在本地业务执行失败或数据出现异常的情况下,将本地业务或数据恢复到上一次正确状态的行为,可以理解的是,所述事务回滚操作结合其他事务操作,保证了事务的一致性。
所述事务提交操作,指示为一种本地事务操作,即为执行本地业务的事务提交操作,进一步地,提交事务具有持久性,即,执行提交事务操作对数据存储模块的改变,比如,数据库中数据的改变,是永久的不可回滚的。
所述无动作操作,指示为预定条件下,本地业务不需要进行事务的操作;比如,本地业务单元的事务状态为提交或者注册,执行无动作的操作。
可以理解地是,在所述业务单元不存在上级业务单元的情况下,即,根业务单元,所述根业务单元的事务状态无需由所述上级业务单元标注,事务状态的变化也无需被上级业务单元监听;进一步地,在与所述根业务单元相关联的全部下级业务单元的事务状态为已提交的状态下,所述根业务单元执行本地事务提交操作;在所述业务单元不存在下级业务单元的情况下,所述业务单元无需监听下级业务单元的事务状态。
如图7所示,本发明实施例提供了一种分布式事务处理的装置700,包括:事务标识管理模块701、事务执行模块702和事务状态管理模块703和;其中,所述事务标识管理模块701,用于接收第一业务请求,形成与所述第一业务请求相关联的本地唯一标识。所述事务执行模块702,用于根据所述第一业务请求,执行本地业务;在存在一个或多个接收所述装置的业务请求的第二业务单元的情况下,所述装置向所述第二业务单元发送第二业务请求,所述第二业务请求指示了所述装置相关联的所述本地唯一标识。所述事务状态管理模块703,用于根据本地业务的执行结果,确定与所述本地唯一标识相关联的本地事务状态。
可选地,所述分布式事务处理的装置,所述本地事务状态包括:注册、提交、回滚、待提交、待回滚、已提交。
可选地,所述分布式事务处理的装置,所述根据本地业务的执行结果,确定与所述本地唯一标识相关联的所述本地事务状态包括:
所述装置监听所述第二业务单元的本地唯一标识相关联的本地事务状态,根据所述第二业务单元的本地事务状态,确定所述装置的本地事务状态。
可选地,所述分布式事务处理的装置,监听所述本地事务状态的变化,根据所述第一事务状态,确定与所述第一事务状态相对应的操作。
可选地,所述分布式事务处理的装置,所述本地事务状态是由所述装置的上级单元改变的,所述上级业务单元是向所述装置发送所述第一业务请求的业务单元。
可选地,所述分布式事务处理的装置,使用被监听的存储单元相对应地记录所述装置的本地唯一标识和本地事务状态,所述第二业务单元的本地唯一标识和本地事务状态。
本发明实施例还提供了一种分布式事务处理的服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例提供的方法。
本发明实施例还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例提供的方法。
图8示出了可以应用本发明实施例的一种分布式事务处理方法或一种分布式事务处理的装置的示例性系统架构800。
如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805。网络804用以在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用,例如网页浏览器应用、搜索类应用、即时通信工具和邮箱客户端等。
终端设备801、802、803可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器805可以是提供各种服务的服务器,例如对用户利用终端设备801、802、803所浏览的购物类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的商品购买请求等数据进行分析和逻辑运算等处理,并将购买订单等结果反馈给终端设备。
需要说明的是,本发明实施例所提供的一种分布式事务处理的方法一般由服务器805执行,相应地,一种分布式事务处理的装置一般设置于服务器805中。
应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图9,其示出了适于用来实现本发明实施例的终端设备的计算机系统900的结构示意图。图9示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块和/或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块和/或单元也可以设置在处理器中,例如,可以描述为:一种分布式事务处理的装置包括事务标识管理模块、事务执行模块和事务状态管理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,事务状态管理模块还可以被描述为“监听事务相关联的唯一标识,确定事务状态和事务操作的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:第一业务单元接收第一业务请求,形成与所述第一业务请求相关联的本地唯一标识,根据所述第一业务请求,执行本地业务;在存在一个或多个接收所述第一业务单元的业务请求的第二业务单元的情况下,所述第一业务单元向所述第二业务单元发送第二业务请求,所述第二业务请求指示了所述第一业务单元相关联的所述本地唯一标识。根据本地业务的执行结果,确定与所述本地唯一标识相关联的本地事务状态。
根据本发明实施例的技术方案,利用被监听的存储单元记录监听本地业务单元以及相关联的业务单元的事务状态,并通过修改事务状态通知相应的业务单元上事务的提交和回滚等操作,在解决分布式事务的同时,确保了分布式事务的事务一致性,并减少了实现分布式业务一致性的业务代码开发工作量。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (14)
1.一种分布式事务处理的方法,其特征在于,包括:
第一业务单元接收第一业务请求,形成与所述第一业务请求相关联的本地唯一标识,根据所述第一业务请求,执行本地业务;
在存在一个或多个接收所述第一业务单元的业务请求的第二业务单元的情况下,所述第一业务单元向所述第二业务单元发送第二业务请求,所述第二业务请求指示了所述第一业务单元相关联的所述本地唯一标识;
根据本地业务的执行结果,确定与所述本地唯一标识相关联的本地事务状态。
2.根据权利要求1所述的方法,其特征在于,所述本地事务状态包括:注册、提交、回滚、待提交、待回滚、已提交。
3.根据权利要求1所述的方法,其特征在于,所述根据本地业务的执行结果,确定与所述本地唯一标识相关联的所述本地事务状态包括:
所述第一业务单元监听所述第二业务单元的本地唯一标识相关联的本地事务状态,根据所述第二业务单元的本地事务状态,确定所述第一业务单元的本地事务状态。
4.根据权利要求1所述的方法,其特征在于,监听所述本地事务状态的变化,确定与所述第一事务状态相对应的操作。
5.根据权利要求4所述的方法,其特征在于,所述本地事务状态是由所述第一业务单元的上级单元改变的,所述上级业务单元是向所述第一业务单元发送所述第一业务请求的业务单元。
6.根据权利要求1-5任一所述的方法,其特征在于,使用被监听的存储单元相对应地记录所述第一业务单元的本地唯一标识和本地事务状态,所述第二业务单元的本地唯一标识和本地事务状态。
7.一种分布式事务处理的装置,其特征在于,包括:事务标识管理模块、事务执行模块和事务状态管理模块;其中,
所述事务标识管理模块,用于接收第一业务请求,形成与所述第一业务请求相关联的本地唯一标识;
所述事务执行模块,用于根据所述第一业务请求,执行本地业务;在存在一个或多个接收所述装置的业务请求的第二业务单元的情况下,所述装置向所述第二业务单元发送第二业务请求,所述第二业务请求指示了所述装置相关联的所述本地唯一标识;
所述事务状态管理模块,用于根据本地业务的执行结果,确定与所述本地唯一标识相关联的本地事务状态。
8.根据权利要求7所述的装置,其特征在于,所述本地事务状态包括:注册、提交、回滚、待提交、待回滚、已提交。
9.根据权利要求7所述的装置,其特征在于,所述根据本地业务的执行结果,确定与所述本地唯一标识相关联的所述本地事务状态包括:
所述装置监听所述第二业务单元的本地唯一标识相关联的本地事务状态,根据所述第二业务单元的本地事务状态,确定所述装置的本地事务状态。
10.根据权利要求7所述的装置,其特征在于,监听所述本地事务状态的变化,根据所述第一事务状态,确定与所述第一事务状态相对应的操作。
11.根据权利要求10所述的装置,其特征在于,所述本地事务状态是由所述装置的上级单元改变的,所述上级业务单元是向所述装置发送所述第一业务请求的业务单元。
12.根据权利要求7-11中任一所述的装置,其特征在于,使用被监听的存储单元相对应地记录所述装置的本地唯一标识和本地事务状态,所述第二业务单元的本地唯一标识和本地事务状态。
13.一种服务器,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911184880.1A CN112866316A (zh) | 2019-11-27 | 2019-11-27 | 一种分布式事务处理的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911184880.1A CN112866316A (zh) | 2019-11-27 | 2019-11-27 | 一种分布式事务处理的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112866316A true CN112866316A (zh) | 2021-05-28 |
Family
ID=75985071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911184880.1A Pending CN112866316A (zh) | 2019-11-27 | 2019-11-27 | 一种分布式事务处理的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112866316A (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090193286A1 (en) * | 2008-01-30 | 2009-07-30 | Michael David Brooks | Method and System for In-doubt Resolution in Transaction Processing |
CN103559245A (zh) * | 2013-10-29 | 2014-02-05 | 华为技术有限公司 | 一种分布式事务提交故障的处理方法、装置和系统 |
US20150256599A1 (en) * | 2014-03-04 | 2015-09-10 | International Business Machines Corporation | Dynamic transaction coordination |
WO2015183750A1 (en) * | 2014-05-29 | 2015-12-03 | Splice Machine, Inc. | Transaction execution commitment without updating of data row transaction status |
CN106446300A (zh) * | 2016-12-01 | 2017-02-22 | 郑州云海信息技术有限公司 | 一种基于共享存储池的事务处理方法及系统 |
CN106844014A (zh) * | 2015-12-07 | 2017-06-13 | 阿里巴巴集团控股有限公司 | 分布式事务防悬挂的实现方法和装置 |
CN107436799A (zh) * | 2016-05-26 | 2017-12-05 | 阿里巴巴集团控股有限公司 | 分布式事务一致性实现方法及装置 |
CN107528912A (zh) * | 2017-09-11 | 2017-12-29 | 金蝶软件(中国)有限公司 | 一种自动实现分布式事务处理的方法、系统及相关装置 |
CN107766080A (zh) * | 2016-08-23 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 事务消息处理方法、装置、设备及系统 |
WO2018103318A1 (zh) * | 2016-12-06 | 2018-06-14 | 上海壹账通金融科技有限公司 | 分布式事务处理方法和系统 |
CN108279986A (zh) * | 2017-12-29 | 2018-07-13 | 亿阳安全技术有限公司 | 一种分布式事务处理方法及装置 |
CN109325073A (zh) * | 2018-08-14 | 2019-02-12 | 阿里巴巴集团控股有限公司 | 分布式事务的实现方法和装置 |
CN109783204A (zh) * | 2018-12-28 | 2019-05-21 | 咪咕文化科技有限公司 | 一种分布式事务处理方法、装置及存储介质 |
CN110022367A (zh) * | 2019-04-11 | 2019-07-16 | 软通动力信息技术(集团)有限公司 | 一种事务处理方法和事务处理系统 |
CN110019443A (zh) * | 2017-09-08 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 非关系型数据库事务处理方法、装置及电子设备 |
CN110457157A (zh) * | 2019-08-05 | 2019-11-15 | 腾讯科技(深圳)有限公司 | 分布式事务异常处理方法、装置、计算机设备及存储介质 |
-
2019
- 2019-11-27 CN CN201911184880.1A patent/CN112866316A/zh active Pending
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090193286A1 (en) * | 2008-01-30 | 2009-07-30 | Michael David Brooks | Method and System for In-doubt Resolution in Transaction Processing |
CN103559245A (zh) * | 2013-10-29 | 2014-02-05 | 华为技术有限公司 | 一种分布式事务提交故障的处理方法、装置和系统 |
US20150256599A1 (en) * | 2014-03-04 | 2015-09-10 | International Business Machines Corporation | Dynamic transaction coordination |
WO2015183750A1 (en) * | 2014-05-29 | 2015-12-03 | Splice Machine, Inc. | Transaction execution commitment without updating of data row transaction status |
CN106844014A (zh) * | 2015-12-07 | 2017-06-13 | 阿里巴巴集团控股有限公司 | 分布式事务防悬挂的实现方法和装置 |
CN107436799A (zh) * | 2016-05-26 | 2017-12-05 | 阿里巴巴集团控股有限公司 | 分布式事务一致性实现方法及装置 |
CN107766080A (zh) * | 2016-08-23 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 事务消息处理方法、装置、设备及系统 |
CN106446300A (zh) * | 2016-12-01 | 2017-02-22 | 郑州云海信息技术有限公司 | 一种基于共享存储池的事务处理方法及系统 |
WO2018103318A1 (zh) * | 2016-12-06 | 2018-06-14 | 上海壹账通金融科技有限公司 | 分布式事务处理方法和系统 |
CN110019443A (zh) * | 2017-09-08 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 非关系型数据库事务处理方法、装置及电子设备 |
CN107528912A (zh) * | 2017-09-11 | 2017-12-29 | 金蝶软件(中国)有限公司 | 一种自动实现分布式事务处理的方法、系统及相关装置 |
CN108279986A (zh) * | 2017-12-29 | 2018-07-13 | 亿阳安全技术有限公司 | 一种分布式事务处理方法及装置 |
CN109325073A (zh) * | 2018-08-14 | 2019-02-12 | 阿里巴巴集团控股有限公司 | 分布式事务的实现方法和装置 |
CN109783204A (zh) * | 2018-12-28 | 2019-05-21 | 咪咕文化科技有限公司 | 一种分布式事务处理方法、装置及存储介质 |
CN110022367A (zh) * | 2019-04-11 | 2019-07-16 | 软通动力信息技术(集团)有限公司 | 一种事务处理方法和事务处理系统 |
CN110457157A (zh) * | 2019-08-05 | 2019-11-15 | 腾讯科技(深圳)有限公司 | 分布式事务异常处理方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
何演;管有庆;: "基于WS-C/T协议的Web服务业务事务处理研究与实现", 计算机技术与发展, no. 04, 10 April 2011 (2011-04-10) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10949194B2 (en) | Updating dependent services | |
US9612923B1 (en) | High-availability data center | |
US7685465B1 (en) | High-availability data center | |
CN112860342A (zh) | 微服务配置的方法、装置、设备、系统以及存储介质 | |
CN112288577B (zh) | 分布式服务的交易处理方法、装置、电子设备和介质 | |
US7600148B1 (en) | High-availability data center | |
US10372701B2 (en) | Transaction processor | |
CN115544044A (zh) | 一种数据一致性保持方法、装置、设备和存储介质 | |
CN111767127A (zh) | 一种业务数据处理方法和装置 | |
CN113760924A (zh) | 一种分布式事务的处理方法和装置 | |
CN112817562A (zh) | 业务处理的方法和装置 | |
US9930143B2 (en) | Client system communication with a member of a cluster of server systems | |
CN113760522A (zh) | 一种任务处理方法和装置 | |
CN112866316A (zh) | 一种分布式事务处理的方法和装置 | |
US10728323B2 (en) | Method and apparatus for operating infrastructure layer in cloud computing architecture | |
CN113783666B (zh) | 一种处理业务的方法和装置 | |
CN114546705A (zh) | 操作响应方法、操作响应装置、电子设备以及存储介质 | |
CN113760469A (zh) | 分布式计算的方法和装置 | |
CN116775226A (zh) | 一种数据库事务处理方法、装置和系统 | |
CN114265605A (zh) | 一种业务系统功能组件的版本回退方法和装置 | |
CN112232943A (zh) | 一种虚拟账户的多模式绑定方法及装置 | |
CN112799879A (zh) | 节点的故障处理方法、装置、设备和存储介质 | |
CN113742034A (zh) | 事件处理方法与装置、计算机可读存储介质、电子设备 | |
CN113742355A (zh) | 更新库存的方法、装置、设备和计算机可读介质 | |
CN112948430B (zh) | 一种日期数据查询方法和装置 |
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 |