CN112765126A - 数据库事务的管理方法、装置、计算机设备和存储介质 - Google Patents
数据库事务的管理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112765126A CN112765126A CN202011634397.1A CN202011634397A CN112765126A CN 112765126 A CN112765126 A CN 112765126A CN 202011634397 A CN202011634397 A CN 202011634397A CN 112765126 A CN112765126 A CN 112765126A
- Authority
- CN
- China
- Prior art keywords
- database
- transaction
- identifier
- distributed
- class
- 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.)
- Granted
Links
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000007726 management method Methods 0.000 title description 16
- 238000000034 method Methods 0.000 claims abstract description 59
- 238000004590 computer program Methods 0.000 claims description 13
- 238000005096 rolling process Methods 0.000 claims description 7
- 230000000903 blocking effect Effects 0.000 abstract description 10
- 238000002360 preparation method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000011084 recovery Methods 0.000 description 5
- 238000004140 cleaning Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据库事务的管理方法、装置、计算机设备和存储介质。所述方法包括:获取事务启动请求,所述事务启动请求包括数据库事务,为所述数据库事务分配数据库事务标识;将所述数据库事务中首次执行预设数据库操作的数据库对应的数据库标识确定为第一类数据库标识;将所述数据库事务中首次之后执行预设数据库操作的数据库对应的数据库标识确定为第二类数据库标识;将所述第一类数据库标识对应的数据库操作确定为单库事务进行开启,执行所述单库事务;将所述第二类数据库标识对应的数据库操作确定为分布式事务进行开启,执行所述分布式事务。采用本方法能够在处理分布式事务时,减少资源占用及减小事务处理时的阻塞风险。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据库事务的管理方法、装置、计算机设备和存储介质。
背景技术
数据库事务是指访问并对各种数据项进行操作的一个数据库操作序列,数据库操作序列中的操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。数据库事务可以称为事务,事务通常包括本地事务和分布式事务。分布式事务是指一个事务可能涉及多个数据库操作。传统方式中,通常是采用分布式事务对数据库进行处理。然而分布式事务涉及到的跨库事务参与者数量较多,会导致所有的跨库事务参与者在事务执行后的提交阶段会处于同步阻塞状态,会占用大量的资源空间,容易造成阻塞风险。
发明内容
基于此,有必要针对上述技术问题,提供一种能够通过减少跨库事务参与者以减少资源占用,并减小阻塞风险的数据库事务的管理方法、装置、计算机设备和存储介质。
一种数据库事务的管理方法,所述方法包括:
获取事务启动请求,所述事务启动请求包括数据库事务,为所述数据库事务分配数据库事务标识;
将所述数据库事务中首次执行预设数据库操作的数据库对应的数据库标识确定为第一类数据库标识;
将所述数据库事务中首次之后执行预设数据库操作的数据库对应的数据库标识确定为第二类数据库标识;
将所述第一类数据库标识对应的数据库操作确定为单库事务进行开启,执行所述单库事务;
将所述第二类数据库标识对应的数据库操作确定为分布式事务进行开启,执行所述分布式事务。
在其中一个实施例中,所述方法还包括:
接收事务提交请求,所述事务提交请求携带所述数据库事务标识;
在所述数据库事务标识对应的数据库事务中获取数据库标识;
当所述数据库标识的数量为单个时,确定所述数据库标识为所述第一类数据库标识,提交所述数据库标识对应的单库事务,结束所述单库事务。
在其中一个实施例中,所述方法还包括:
当所述数据库标识的数量为多个时,确定所述数据库标识中的第一类数据库标识以及第二类数据库标识;
在所述第一类数据库标识对应的第一数据库中记录所述第二类数据库标识对应的分布式事务的提交日志;
将所述第一数据库中记录的提交日志以及所述第一数据库对应的单库事务进行一次提交;
若所述一次提交成功,则将所述第二类数据库标识对应的分布式事务进行二次提交;
若所述二次提交成功,则结束所述数据库事务标识对应的数据库事务。
在其中一个实施例中,所述方法还包括:
若所述一次提交失败,则将所述第二类数据库标识对应的分布式事务进行回滚;
若回滚成功,则结束所述数据库事务标识对应的数据库事务。
在其中一个实施例中,所述方法还包括:
若回滚失败,则根据所述提交日志对所述第二类数据库标识对应的分布式事务进行重试处理;
若重试成功,则结束所述数据库事务标识对应的数据库事务;
若重试失败,则挂起所述第二类数据库标识对应的分布式事务,生成报警信息。
在其中一个实施例中,所述方法还包括:
若所述二次提交失败,则根据所述提交日志对所述第二类数据库标识对应的分布式事务进行重试处理;
若重试成功,则结束所述数据库事务标识对应的数据库事务;
若重试失败,则挂起所述第二类数据库标识对应的分布式事务,生成报警信息。
在其中一个实施例中,所述根据所述提交日志对所述第二类数据库标识对应的分布式事务进行重试处理包括:
在所述提交日志中查询所述数据库事务标识,查询所述数据库事务标识对应的第二类数据库标识是否存在未提交的分布式事务;
若存在,则将所述未提交的分布式事务在相应的第二类数据库标识对应的第二数据库中进行提交。
在其中一个实施例中,所述方法还包括:
当事务管理服务器发生故障时,查询挂起的分布式事务,对所述查询到的分布式事务执行提交或回滚;
若执行提交或回滚成功,则故障恢复;
若所述查询到的分布式事务中存在执行提交失败或回滚失败的分布式事务,则生成报警信息。
在其中一个实施例中,所述方法还包括:
当所述数据库标识对应的数据库发生故障时,对所述第二数据库标识对应的分布式事务进行重试处理。
一种数据库事务的管理装置,所述装置包括:
获取模块,用于获取事务启动请求,所述事务启动请求包括数据库事务,为所述数据库事务分配数据库事务标识;
确定模块,用于将所述数据库事务中首次执行预设数据库操作的数据库对应的数据库标识确定为第一类数据库标识;将所述数据库事务中首次之后执行预设数据库操作的数据库对应的数据库标识确定为第二类数据库标识;
控制模块,将所述第一类数据库标识对应的数据库操作确定为单库事务进行开启,执行所述单库事务;将所述第二类数据库标识对应的数据库操作确定为分布式事务进行开启,执行所述分布式事务。
在其中一个实施例中,所述装置还包括提交模块,用于接收事务提交请求,所述事务提交请求携带所述数据库事务标识;在所述数据库事务标识对应的数据库事务中获取数据库标识;当所述数据库标识的数量为单个时,确定所述数据库标识为所述第一类数据库标识,提交所述数据库标识对应的单库事务,结束所述单库事务。
一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述各个方法实施例中的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述各个方法实施例中的步骤。
上述数据库事务的管理方法、装置、计算机设备和存储介质,获取事务启动请求,事务启动请求包括数据库事务,为数据库事务分配数据库事务标识,将数据库事务中首次执行预设数据库操作的数据库对应的数据库标识确定为第一类数据库标识,将数据库事务中首次之后执行预设数据库操作的数据库对应的数据库标识确定为第二类数据库标识,从而将第一类数据库标识对应的数据库操作确定为单库事务进行开启,执行单库事务,将第二类数据库标识对应的数据库操作确定为分布式事务进行开启,执行分布式事务。通过对首次执行预设数据库操作的数据库开启单库事务,减少了跨库事务参数者,能够减少资源占用,从而减小事务执行以及后续处理过程中的阻塞风险。
附图说明
图1为一个实施例中数据库事务的管理方法的应用环境图;
图2为一个实施例中数据库事务的管理方法的流程示意图;
图3为一个实施例中事务提交步骤的流程示意图;
图4为另一个实施例中事务提交步骤的流程示意图;
图5为一个实施例中数据库事务的管理装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据库事务的管理方法,可以应用于如图1所示的应用环境中。其中,终端102与事务管理服务器104通过网络进行通信。事务管理服务器可以简称为服务器。终端102中运行有应用程序,服务器104获取应用程序发送的事务启动请求,事务启动请求包括数据库事务,为数据库事务分配数据库事务标识,将数据库事务中首次执行预设数据库操作的数据库对应的数据库标识确定为第一类数据库标识,将数据库事务中首次之后执行预设数据库操作的数据库对应的数据库标识确定为第二类数据库标识,将第一类数据库标识对应的数据库操作确定为单库事务进行开启,执行单库事务,将第二类数据库标识对应的数据库操作确定为分布式事务进行开启,执行分布式事务。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种数据库事务的管理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,获取事务启动请求,事务启动请求包括数据库事务,为数据库事务分配数据库事务标识。
步骤204,将数据库事务中首次执行预设数据库操作的数据库对应的数据库标识确定为第一类数据库标识。
步骤206,将数据库事务中首次之后执行预设数据库操作的数据库对应的数据库标识确定为第二类数据库标识。
步骤208,将第一类数据库标识对应的数据库操作确定为单库事务进行开启,执行单库事务。
步骤210,将第二类数据库标识对应的数据库操作确定为分布式事务进行开启,执行分布式事务。
事务是指访问并对各种数据项进行操作的一个数据库操作序列,是由事务开始与事务结束之间执行的全部数据库操作组成的。事务也可以称为数据库事务。数据库事务标识是指用于标记数据库事务的唯一标识,用于对不同的数据库事务进行区分。
终端中预先运行有应用程序,当应用程序通过服务器执行数据库事务时,应用程序可以通过服务器对数据库进行访问,以执行数据库事务。具体的,终端可以根据用户对应用程序的操作指令确定需要执行的数据库事务,根据数据库事务生成事务启动请求,应用程序调用服务器的接口,将事务启动请求通过该接口发送至服务器。该接口对外为统一的事务接口,在服务器内部实现按需启用分布式服务。服务器在接收到事务启动请求后,对事务启动请求进行解析,得到事务启动请求携带的数据库事务。服务器对获取到的数据库事务分配一个数据库事务标识,并将数据库事务标识的状态记录为已启动。例如,数据库事务标识可以是数据库事务的编号。
由于数据库事务中包括对数据库的数据库操作,数据库事务中可以包括数据库的数据库标识。数据库标识是指标记数据库的唯一标识,用于区分不同的数据库。服务器在数据库事务中确定需要首次执行预设数据库操作的数据库对应的数据库标识,并将该数据库标识确定为第一类数据库标识。其中,预设数据库操作可以是更新类的SQL(StructuredQuery Language,结构化查询语言)语句,例如,insert、delete、update语句。从而在数据库事务中确定首次之后执行预设数据库操作的数据库对应的数据库标识,首次之后执行是指第二次及之后执行。预设数据库操作可以是更新类的SQL语句。服务器将首次之后执行预设数据库操作的数据库对应的数据库标识确定为第二类数据库标识。第二类数据库标识是指首次之后执行更新类SQL语句的数据库对应的数据库标识,即当第二个及后续的数据库执行的SQL语句为非更新类SQL语句,则不作为第二类数据库标识。
服务器将第一类数据库标识对应的数据库操作确定为单库事务进行开启。通过开启单库事务可以使第一类数据库标识对应的数据库单独执行数据库操作,无需与其他的数据库协作执行同一个数据库事务,即不会开启分布式事务,能够提高数据库事务的执行效率,减少数据库事务的处理成本。
服务器将第二类数据库标识对应的数据库操作确定为分布式事务进行开启。通过开启分布式事务使第二类数据库标识对应的数据库协作执行该分布式事务,在执行过程中,第二类数据库标识对应的每个数据库执行分布式事务中相应的数据库操作。数据库操作可以是SQL语句,数据库通过执行SQL语句来执行事务。例如,服务器获取到数据库事务中包括数据库DB1对应的SQL-1、数据库DB2对应的SQL-2和数据库DB3对应的SQL-3,服务器与数据库DB1进行连接,启动单机事务,执行SQL-1。从而服务器与数据库DB2进行连接,开启DB2的分布式事务(XA事务),执行SQL-2。服务器再与数据库DB3进行连接,开启DB3的分布式事务(XA事务),执行SQL-3。
在本实施例中,获取事务启动请求,事务启动请求包括数据库事务,为数据库事务分配数据库事务标识,将数据库事务中首次执行预设数据库操作的数据库对应的数据库标识确定为第一类数据库标识,将数据库事务中首次之后执行预设数据库操作的数据库对应的数据库标识确定为第二类数据库标识,从而将第一类数据库标识对应的数据库操作确定为单库事务进行开启,执行单库事务,将第二类数据库标识对应的数据库操作确定为分布式事务进行开启,执行分布式事务。通过对首次执行预设数据库操作的数据库开启单库事务,减少了跨库事务参数者,能够减少资源占用,从而减小事务执行以及后续处理过程中的阻塞风险。
在一个实施例中,上述述方法还包括:接收事务提交请求,事务提交请求携带数据库事务标识;在数据库事务标识对应的数据库事务中获取数据库标识;当数据库标识的数量为单个时,确定数据库标识为第一类数据库标识,提交数据库标识对应的单库事务,结束单库事务。
事务提交是指根据数据库事务对数据库进行相应的数据库操作后,将数据库修改后的数据写入磁盘中。事务提交请求用于指示服务器进行事务提交。数据库事务标识是指用于标记数据库事务的唯一标识。
终端中预先运行有应用程序,当应用程序通过服务器对数据库执行相应的数据库操作后,可以进行事务提交,应用程序可以调用服务器的接口,通过该接口发送事务提交请求至服务器。当服务器接收到事务提交请求后,对事务提交请求进行解析,得到事务提交请求携带的数据库事务标识。数据库事务标识是指需要进行提交的数据库事务的标识,例如,可以是数据库事务编号。数据库事务可以包括针对数据库的各种数据库操作。数据库事务可以包括一个数据库的数据库操作,也可以包括多个数据库的数据库操作。数据库事务可以用SQL(Structured Query Language,结构化查询语言)语句来表示。
由于数据库事务标识对应的数据库事务中包括对数据库的数据库操作,数据库事务中会包括数据库的数据库标识。数据库标识是指标记数据库的唯一标识,用于区分不同的数据库。服务器在获取到数据库事务标识后,可以根据数据库事务标识获取对应的数据库事务,从而在数据库事务中获取数据库标识。
当数据库标识的数量为单个时,表明数据库事务中只包含一个数据库的数据库操作,因此,该数据库标识为首次执行预设数据库操作的数据库对应的数据库标识,服务器确定该数据库标识为第一类数据库标识。第一类数据库标识对应的数据库操作为单库事务,服务器直接提交数据库标识对应的单库事务。服务器在提交单库事务时,可以采取直接提交的方式。单库事务提交之后,即结束单库事务。
在本实施例中,当数据库标识的数量为单个时,确定数据库标识为第一类数据库标识,可以直接提交数据库标识对应的单库事务,结束单库事务,有效提高了数据库事务的提交效率。
在一个实施例中,如图3所示,还包括事务提交的步骤,具体可以包括:
步骤302,接收事务提交请求,事务提交请求携带数据库事务标识。
步骤304,在数据库事务标识对应的数据库事务中获取数据库标识。
步骤306,当数据库标识的数量为单个时,确定数据库标识为第一类数据库标识,提交数据库标识对应的单库事务,结束单库事务。
步骤308,当数据库标识的数量为多个时,确定数据库标识中的第一类数据库标识以及第二类数据库标识。
步骤310,在第一类数据库标识对应的第一数据库中记录第二类数据库标识对应的分布式事务的事务执行日志。
步骤312,将第一数据库中记录的事务执行日志以及第一数据库对应的单库事务进行一次提交。
步骤314,若一次提交成功,则将第二类数据库标识对应的分布式事务进行二次提交。
步骤316,若二次提交成功,则结束数据库事务标识对应的数据库事务。
服务器在获取到数据库标识后,统计数据库标识的数量,当数据库标识的数量为多个时,表明开启了分布式事务,即数据库标识中既包括第一类数据库标识,也包括第二类数据库标识。其中,多个是指至少两个。服务器在数据库标识中确定第一类数据库标识以及第二类数据库标识。
单库事务和分布式事务的提交方法是不同的。服务器在提交单库事务时,可以采取直接提交的方式。单库事务提交之后,即结束单库事务。在提交分布式事务时,可以采用基于数据库XA协议,通过二阶段提交实现分布式事务。XA协议是X/Open组织为DTP(Distributed Transaction Processing,分布式事务处理)制定的标准协议。二阶段提交包括提交准备阶段以及正式提交阶段。提交准备阶段是指执行业务逻辑,用于确定分布式事务是否可以提交,在该阶段并没有正式提交分布式事务。
服务器可以同时对分布式事务进行提交准备阶段的提交,以及对单库事务进行提交,之后再对分布式事务进行正式阶段的提交。具体的,服务器可以将第一类数据库标识对应的数据库称为第一数据库,将第二类数据库标识对应的数据库称为第二数据库。服务器可以接收应用程序发送的提交准备阶段请求,服务器根据提交准备阶段请求依次与第二类数据库标识对应的第二数据库进行连接,使第二类数据库标识对应的第二数据库执行提交准备,获取第二数据库执行的分布式事务的数据库操作数据。在第二数据库提交准备完成后,服务器可以在第一类数据库标识对应的第一数据库中依次将每个第二数据库执行的分布式的数据库操作数据记录在对应的事务执行日志中,得到提交日志(commitLog)。由于服务器是按需启用分布式事务,只需要在记录第二数据库的事务执行日志。提交日志中可以包括第二数据库当前执行的数据库事务标识以及每个第二数据库的数据库标识。例如,当存在两个第二数据库DB2和DB3时,得到的提交日志中可以包括两行数据,分别记录DB2和DB3,提交日志的内容可以包括DB2和DB3当前执行的数据库事务编号、DB2名称和DB3的名称。
服务器可以将第一数据库中记录的提交日志以及第一数据库对应的单库事务进行一次提交。提交的第一数据库对应的单库事务是指第一数据库执行的数据库操作,例如,对第一数据库执行的SQL语句。一次提交是指对分布式事务进行提交准备阶段的提交,以及对单库事务进行提交。
若服务器一次提交成功,则服务器成功对分布式事务进行提交准备阶段的提交,以及对单库事务的提交。成功对分布式事务进行提交准备阶段的提交表明每个第二数据库都可以正常提交分布式事务,成功对单库事务进行提交表明对第二数据库执行单库事务时所做的数据库操作已全部操作成功。此时,服务器可以结束单库事务。
服务器在一次提交成功后,可以分别与第二数据库进行连接,使每个数据库正式提交分布式事务,进行二次提交。对分布式事务进行二次提交是指将每个数据库执行分布式事务后得到的修改后的数据写入磁盘中,以确保对数据库的修改全部被提交。
若一次提交失败,表明第一数据库中记录的事务执行日志中并未记录第二数据库执行分布式事务的数据库操作数据,则服务器回滚分布式事务。回滚是指取消对数据库执行分布式事务时所做的数据库操作,将数据库恢复到执行分布式事务之前的状态。
在其中一个实施例中,上述方法还包括:若一次提交失败,则将第二类数据库标识对应的分布式事务进行回滚;若回滚成功,则结束数据库事务标识对应的数据库事务。
服务器将第一数据库中记录的事务执行日志以及第一数据库对应的单库事务进行一次提交失败时,服务器需要对第二数据库对应的分布式事务进行回滚。若服务器对第二数据库对应的分布式事务回滚成功,则表明第二数据库全部恢复至执行分布式事务之前的状态,此时,服务器可以结束数据库事务标识对应的数据库事务。若服务器对第二数据库对应的分布式事务回滚失败,表明第二数据库无法恢复到执行分布式事务之前的状态,则服务器可以对第二数据库对应的分布式事务进行重试处理,直至重试成功。重试是指将未提交的分布式进行提交。当提交完毕所有的分布式事务时,表明重试成功。此时服务器结束数据库事务标识对应的数据库事务。在一次提交失败后,对第二类数据库标识对应的分布式事务进行回滚,能够将第二数据库全部恢复至执行分布式事务之间的状态,以确保分布式事务的原子性和一致性。原子性是指数据库事务包含的所有数据操作要么全部成功,要么全部失败回滚。一致性是指数据库事务必须使数据库从前一个一致性状态变换到另一个一致性状态,即数据库在数据库事务执行之前和执行之后都必须处于一致性状态。
若服务器将第二类数据库标识对应的分布式事务进行二次提交成功,则服务器已将每个第二数据库执行分布式事务后得到的修改后的数据写入磁盘中,表明对第二数据库执行分布式事务时所作的数据库操作全部操作成功,此时,服务器可以结束数据库事务标识对应的数据库事务,并生成提交成功的消息,发送至应用程序。服务器还可以在二次提交成功后,根据已提交的分布式事务生成清理任务,将清理任务发送至清理服务器,以使清理服务器对将第一数据库中记录的提交日志中已经提交成功的数据进行异步清除。
若服务器将第二类数据库标识对应的分布式事务进行二次提交失败,表明对第二数据库执行分布式事务时所作的数据库操作并未全部操作成功,则服务器可以对第二类数据库标识对应的分布式事务进行重试处理,直至重试成功,此时,服务器结束数据库事务标识对应的数据库事务。
在其中一个实施例中,上述方法还包括:若二次提交失败,则根据提交日志对第二类数据库标识对应的分布式事务进行重试处理;若重试成功,则结束数据库事务标识对应的数据库事务;若重试失败,则挂起第二类数据库标识对应的分布式事务,生成报警信息。
若服务器将第二类数据库标识对应的分布式事务进行二次提交失败,则服务器可以根据第一数据库中记录的提交日志对第二类数据库标识对应的分布式事务进行重试处理。通过重试处理将分布式事务中未提交的事务进行提交。当提交完毕所有的分布式事务时,表明重试成功。若重试成功,则服务器结束数据库事务标识对应的数据库事务。若重试失败,表明分布式事务并未提交完成,对第二数据库所做的数据库操作并未完全操作成功,服务器可以挂起第二类数据库标识对应的分布式事务,挂起是指将第二类数据库标识对应的分布式事务暂停执行。服务器可以生成报警信息发送至控制装置,以使控制装置发出报警提示,报警方式可以是语音报警、文字报警等多种方式。技术人员可以根据报警提示对挂起的分布式事务进行相应的处理。能够实现提交故障自动恢复,降低事务提交过程中的阻塞风险、降低运维成本。
在其中一个实施例中,当数据库标识的数量只有一个时,则服务器只需要将该数据库标识对应的单库事务进行提交即可,提交完成即结束单库事务。无需进行分布式事务的二阶段提交。与采取分布式事务对数据库事务进行处理的方式相比,减少了事务提交的成本。
在本实施例中,接收事务提交请求,解析事务提交请求,得到携带的数据库事务标识,在数据库事务标识对应的数据库事务中获取数据库标识,当数据库标识的数量为多个时,确定单库事务对应的第一类数据库标识以及分布式事务对应的第二类数据库标识,在第一类数据库标识对应的第一数据库中记录第二类数据库标识对应的分布式事务的事务执行日志,将第一数据库中记录的事务执行日志以及第一数据库对应的单库事务进行一次提交,若一次提交成功,则将第二类数据库标识对应的分布式事务进行二次提交,若二次提交成功,则结束数据库事务标识对应的数据库事务。由于获取到的多个数据库标识中包括单库事务对应的第一类数据库标识以及分布式事务对应的第二类数据库标识,能够根据数据库标识的数量来决定是否启动分布式事务,通过对第一类数据库标识对应的第一数据库开启单库事务,减少了跨库事务参与者,能够在分布式事务进行二次提交时,减少资源占用,从而减小事务提交时的阻塞风险。
在一个实施例中,服务器将第一数据库中记录的提交日志以及第一数据库对应的单库事务进行一次提交,若一次提交失败,则将第二类数据库标识对应的分布式事务进行回滚,若回滚失败,则根据提交日志对第二类数据库标识对应的分布式事务进行重试处理;若重试成功,则结束数据库事务标识对应的数据库事务;若重试失败,则挂起第二类数据库标识对应的分布式事务,生成报警信息。
回滚是指取消对数据库执行分布式事务时所做的数据库操作,将数据库恢复到执行分布式事务之前的状态。重试可以是将未提交的分布式进行提交。挂起是指将第二类数据库标识对应的分布式事务暂停执行。
若服务器对第二数据库对应的分布式事务回滚失败,表明第二数据库无法恢复到执行分布式事务之前的状态,则服务器可以根据提交日志对第二数据库对应的分布式事务进行重试处理,直至重试成功。当提交完毕所有的分布式事务时,表明重试成功。若重试成功,则服务器结束数据库事务标识对应的数据库事务。若重试失败,表明分布式事务并未提交完成,对第二数据库所做的数据库操作并未完全操作成功,服务器可以挂起第二类数据库标识对应的分布式事务,服务器可以生成报警信息发送至控制装置,以使控制装置发出报警提示,报警方式可以是语音报警、文字报警等多种方式。技术人员可以根据报警提示对挂起的分布式事务进行相应的处理。
在本实例中,在回滚失败之后,通过对分布式事务进行重试,能够将未提交的分布式事务进行提交,以完成分布式事务的全部数据库操作,确保事务的完整性。还能够实现提交故障自动恢复,降低事务提交过程中的阻塞风险、降低运维成本。在重试失败后,生成报警信息,有利于技术人员对事务故障进行及时处理。
在一个实施例中,根据提交日志对第二类数据库标识对应的分布式事务进行重试处理包括:在提交日志中查询数据库事务标识,查询数据库事务标识对应的第二类数据库标识是否存在未提交的分布式事务;若存在,则将未提交的分布式事务在相应的第二类数据库标识对应的第二数据库中进行提交。
服务器在对分布式事务进行重试处理的过程中,可以通过服务器在提交日志中查询需要进行重试处理的数据库事务标识,服务器确定数据库事务标识对应的第二类数据库标识,并查询确定的第二类数据库标识是否存在未提交的分布式事务,若存在,则服务器将未提交的分布式事务在相应的第二类数据库标识对应的第二数据库中进行提交,当提交完毕所有未提交的分布式事务之后,则重试成功。若重试成功,则服务器结束数据库事务标识对应的数据库事务。能够快速找到未提交的分布式事务进行提交。
在一个实施例中,方法还包括:当事务管理服务器发生故障时,查询挂起的分布式事务,对查询到的分布式事务执行提交或回滚;若执行提交或回滚成功,则故障恢复;若查询到的分布式事务中存在执行提交失败或回滚失败的分布式事务,则生成报警信息。
事务管理服务器可以称为服务器。当服务器在事务提交过程中出现故障时,例如突然宕机,需要重新启动服务器,服务器在启动时,需要回复之前未提交完成或未回滚完成的分布式事务。具体的,服务器查询挂起的分布式事务,当查询到的分布式事务为未提交完成的事务时,服务器对该分布式任务执行提交。当查询到的分布式事务为未回滚完成的分布式事务时,服务器对该分布式事务执行回滚。若所有查询到的分布式事务均执行提交或者执行回滚成功,则事务恢复完毕,服务器启动成功。若查询到的分布式事务中存在执行提交失败或者执行回滚失败的事务,则服务器启动失败,生成报警信息。服务器可以生成报警信息发送至控制装置,以使控制装置发出报警提示,报警方式可以是语音报警、文字报警等多种方式。技术人员可以根据报警提示对挂起的分布式事务进行相应的处理。当服务器发生失联故障时,可以将该服务器归类为数据库的失联故障。在服务器发生故障时,可以进行故障自动恢复,降低了事务提交过程中的阻塞风险,同时降低了运维成本。
在其中一个实施例中,上述方法还包括:当数据库标识对应的数据库发生故障时,对第二数据库标识对应的分布式事务进行重试处理。
数据库发生的故障可以包括数据库失联或宕机。当数据库标识对应的数据库在事务处理过程中发生故障时,服务器对第二数据库标识对应的分布式事务进行重试处理,具体的,服务器可以在提交日志中查询需要进行重试处理的数据库事务标识,服务器确定数据库事务标识对应的第二类数据库标识,并查询确定的第二类数据库标识是否存在未提交的分布式事务,若存在,则服务器将未提交的分布式事务在相应的第二类数据库标识对应的第二数据库中进行提交,当提交完毕所有未提交的分布式事务之后,则重试成功。若重试成功,则服务器结束数据库事务标识对应的数据库事务。能够当数据库标识对应的数据库发生故障时,对第二数据库标识对应的分布式事务进行重试处理,以自动回复故障。
在另一个实施例中,如图4所示,事务提交的步骤还可以包括如下步骤:
步骤402,接收事务提交请求,事务提交请求携带数据库事务标识。
步骤404,在数据库事务标识对应的数据库事务中获取数据库标识。
步骤406,当数据库标识的数量为单个时,确定数据库标识为第一类数据库标识,提交数据库标识对应的单库事务,结束单库事务。
步骤408,当数据库标识的数量为多个时,确定数据库标识中的第一类数据库标识以及第二类数据库标识。
步骤410,在第一类数据库标识对应的第一数据库中记录第二类数据库标识对应的分布式事务的提交日志。
步骤412,将第一数据库中记录的提交日志以及第一数据库对应的单库事务进行一次提交;若一次提交成功,则执行步骤414;若一次提交失败,则执行步骤416。
步骤414,将第二类数据库标识对应的分布式事务进行二次提交。若二次提交成功,则执行步骤418;若二次提交失败,则执行步骤420。
步骤416,将第二类数据库标识对应的分布式事务进行回滚。若回滚失败,则执行步骤422;若回滚成功,则执行步骤424。
步骤418,结束数据库事务标识对应的数据库事务。
步骤420,根据提交日志对第二类数据库标识对应的分布式事务进行重试处理。若重试成功,则执行步骤418;若重试失败,则执行步骤422。
步骤422,根据提交日志对第二类数据库标识对应的分布式事务进行重试处理。若重试成功,则执行步骤424;若重试失败,则执行步骤426。
步骤424,结束数据库事务标识对应的数据库事务。
步骤426,挂起第二类数据库标识对应的分布式事务,生成报警信息。
应该理解的是,虽然图2至4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种数据库事务的管理装置,包括:获取模块502、确定模块504和控制模块506,其中:
获取模块502,用于获取事务启动请求,事务启动请求包括数据库事务,为数据库事务分配数据库事务标识。
确定模块504,用于将数据库事务中首次执行预设数据库操作的数据库对应的数据库标识确定为第一类数据库标识;将数据库事务中首次之后执行预设数据库操作的数据库对应的数据库标识确定为第二类数据库标识。
控制模块506,将第一类数据库标识对应的数据库操作确定为单库事务进行开启,执行单库事务;将第二类数据库标识对应的数据库操作确定为分布式事务进行开启,执行分布式事务。
在一个实施例中,上述装置还包括提交模块,用于接收事务提交请求,事务提交请求携带数据库事务标识;在数据库事务标识对应的数据库事务中获取数据库标识;当数据库标识的数量为单个时,确定数据库标识为第一类数据库标识,提交数据库标识对应的单库事务,结束单库事务。
在一个实施例中,提交模块,还用于当数据库标识的数量为多个时,确定数据库标识中的第一类数据库标识以及第二类数据库标识;在第一类数据库标识对应的第一数据库中记录第二类数据库标识对应的分布式事务的提交日志;将第一数据库中记录的提交日志以及第一数据库对应的单库事务进行一次提交;若一次提交成功,则将第二类数据库标识对应的分布式事务进行二次提交;若二次提交成功,则结束数据库事务标识对应的数据库事务。
在一个实施例中,上述装置还包括回滚模块,用于若一次提交失败,则将第二类数据库标识对应的分布式事务进行回滚;若回滚成功,则结束数据库事务标识对应的数据库事务。
在一个实施例中,上述装置还包括重试模块,用于若回滚失败,则根据提交日志对第二类数据库标识对应的分布式事务进行重试处理;若重试成功,则结束数据库事务标识对应的数据库事务;若重试失败,则挂起第二类数据库标识对应的分布式事务,生成报警信息。
在一个实施例中,重试模块还用于若二次提交失败,则根据提交日志对第二类数据库标识对应的分布式事务进行重试处理;若重试成功,则结束数据库事务标识对应的数据库事务;若重试失败,则挂起第二类数据库标识对应的分布式事务,生成报警信息。
在一个实施例中,重试模块还用于在提交日志中查询数据库事务标识,查询数据库事务标识对应的第二类数据库标识是否存在未提交的分布式事务;若存在,则将未提交的分布式事务在相应的第二类数据库标识对应的第二数据库中进行提交。
在一个实施例中,上述装置还包括:第一故障恢复模块,用于当事务管理服务器发生故障时,查询挂起的分布式事务,对查询到的分布式事务执行提交或回滚;若执行提交或回滚成功,则故障恢复;若查询到的分布式事务中存在执行提交失败或回滚失败的分布式事务,则生成报警信息。
在一个实施例中,上述装置还包括:第二故障恢复模块,用于当数据库标识对应的数据库发生故障时,对第二数据库标识对应的分布式事务进行重试处理。
关于数据库事务的管理置的具体限定可以参见上文中对于数据库事务的管理方法的限定,在此不再赘述。上述数据库事务的管理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储一种数据库事务的管理方法的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据库事务的管理方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述各个实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (13)
1.一种数据库事务的管理方法,其特征在于,所述方法包括:
获取事务启动请求,所述事务启动请求包括数据库事务,为所述数据库事务分配数据库事务标识;
将所述数据库事务中首次执行预设数据库操作的数据库对应的数据库标识确定为第一类数据库标识;
将所述数据库事务中首次之后执行预设数据库操作的数据库对应的数据库标识确定为第二类数据库标识;
将所述第一类数据库标识对应的数据库操作确定为单库事务进行开启,执行所述单库事务;
将所述第二类数据库标识对应的数据库操作确定为分布式事务进行开启,执行所述分布式事务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收事务提交请求,所述事务提交请求携带所述数据库事务标识;
在所述数据库事务标识对应的数据库事务中获取数据库标识;
当所述数据库标识的数量为单个时,确定所述数据库标识为所述第一类数据库标识,提交所述数据库标识对应的单库事务,结束所述单库事务。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述数据库标识的数量为多个时,确定所述数据库标识中的第一类数据库标识以及第二类数据库标识;
在所述第一类数据库标识对应的第一数据库中记录所述第二类数据库标识对应的分布式事务的提交日志;
将所述第一数据库中记录的提交日志以及所述第一数据库对应的单库事务进行一次提交;
若所述一次提交成功,则将所述第二类数据库标识对应的分布式事务进行二次提交;
若所述二次提交成功,则结束所述数据库事务标识对应的数据库事务。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述一次提交失败,则将所述第二类数据库标识对应的分布式事务进行回滚;
若回滚成功,则结束所述数据库事务标识对应的数据库事务。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若回滚失败,则根据所述提交日志对所述第二类数据库标识对应的分布式事务进行重试处理;
若重试成功,则结束所述数据库事务标识对应的数据库事务;
若重试失败,则挂起所述第二类数据库标识对应的分布式事务,生成报警信息。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述二次提交失败,则根据所述提交日志对所述第二类数据库标识对应的分布式事务进行重试处理;
若重试成功,则结束所述数据库事务标识对应的数据库事务;
若重试失败,则挂起所述第二类数据库标识对应的分布式事务,生成报警信息。
7.根据权利要求5至6任意一项所述的方法,其特征在于,所述根据所述提交日志对所述第二类数据库标识对应的分布式事务进行重试处理包括:
在所述提交日志中查询所述数据库事务标识,查询所述数据库事务标识对应的第二类数据库标识是否存在未提交的分布式事务;
若存在,则将所述未提交的分布式事务在相应的第二类数据库标识对应的第二数据库中进行提交。
8.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当事务管理服务器发生故障时,查询挂起的分布式事务,对所述查询到的分布式事务执行提交或回滚;
若执行提交或回滚成功,则故障恢复;
若所述查询到的分布式事务中存在执行提交失败或回滚失败的分布式事务,则生成报警信息。
9.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述数据库标识对应的数据库发生故障时,对所述第二数据库标识对应的分布式事务进行重试处理。
10.一种数据库事务的管理装置,其特征在于,所述装置包括:
获取模块,用于获取事务启动请求,所述事务启动请求包括数据库事务,为所述数据库事务分配数据库事务标识;
确定模块,用于将所述数据库事务中首次执行预设数据库操作的数据库对应的数据库标识确定为第一类数据库标识;将所述数据库事务中首次之后执行预设数据库操作的数据库对应的数据库标识确定为第二类数据库标识;
控制模块,将所述第一类数据库标识对应的数据库操作确定为单库事务进行开启,执行所述单库事务;将所述第二类数据库标识对应的数据库操作确定为分布式事务进行开启,执行所述分布式事务。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括提交模块,用于接收事务提交请求,所述事务提交请求携带所述数据库事务标识;在所述数据库事务标识对应的数据库事务中获取数据库标识;当所述数据库标识的数量为单个时,确定所述数据库标识为所述第一类数据库标识,提交所述数据库标识对应的单库事务,结束所述单库事务。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011634397.1A CN112765126B (zh) | 2020-12-31 | 数据库事务的管理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011634397.1A CN112765126B (zh) | 2020-12-31 | 数据库事务的管理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112765126A true CN112765126A (zh) | 2021-05-07 |
CN112765126B CN112765126B (zh) | 2024-07-16 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114003644A (zh) * | 2021-10-21 | 2022-02-01 | 河南星环众志信息科技有限公司 | 分布式事务处理方法、设备、介质和数据库*** |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306200A (zh) * | 2011-09-22 | 2012-01-04 | 用友软件股份有限公司 | 增量数据操作语句的并发应用装置和方法 |
CN102306197A (zh) * | 2011-09-22 | 2012-01-04 | 用友软件股份有限公司 | 保证跨数据源操作结果一致性的装置和方法 |
CN102567399A (zh) * | 2010-12-31 | 2012-07-11 | 北京新媒传信科技有限公司 | 一种访问数据库的方法和装置 |
US20130086018A1 (en) * | 2011-09-30 | 2013-04-04 | International Business Machines Corporation | Transaction processing system, method, and program |
CN103077222A (zh) * | 2012-12-31 | 2013-05-01 | 中国科学院计算技术研究所 | 机群文件***分布式元数据一致性保证方法及*** |
CN103559245A (zh) * | 2013-10-29 | 2014-02-05 | 华为技术有限公司 | 一种分布式事务提交故障的处理方法、装置和*** |
CN106383737A (zh) * | 2016-09-09 | 2017-02-08 | 浪潮软件股份有限公司 | 一种分布式事务处理方法 |
CN108279986A (zh) * | 2017-12-29 | 2018-07-13 | 亿阳安全技术有限公司 | 一种分布式事务处理方法及装置 |
CN108572991A (zh) * | 2017-03-14 | 2018-09-25 | 北京京东尚科信息技术有限公司 | 数据库处理方法、装置和存储介质 |
CN108733589A (zh) * | 2018-04-12 | 2018-11-02 | 阿里巴巴集团控股有限公司 | 分布式事务热部署的实现方法和装置 |
CN108733457A (zh) * | 2018-04-12 | 2018-11-02 | 阿里巴巴集团控股有限公司 | 分布式事务的实现方法和装置 |
CN109426552A (zh) * | 2017-09-05 | 2019-03-05 | 阿里巴巴集团控股有限公司 | 事务处理方法、装置和***以及电子设备 |
CN110347481A (zh) * | 2019-07-17 | 2019-10-18 | 北京搜狐新媒体信息技术有限公司 | 一种实现分布式事务的方法及*** |
CN111209142A (zh) * | 2020-01-02 | 2020-05-29 | 中国平安财产保险股份有限公司 | 跨数据库的事务管理方法、装置、设备及存储介质 |
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567399A (zh) * | 2010-12-31 | 2012-07-11 | 北京新媒传信科技有限公司 | 一种访问数据库的方法和装置 |
CN102306200A (zh) * | 2011-09-22 | 2012-01-04 | 用友软件股份有限公司 | 增量数据操作语句的并发应用装置和方法 |
CN102306197A (zh) * | 2011-09-22 | 2012-01-04 | 用友软件股份有限公司 | 保证跨数据源操作结果一致性的装置和方法 |
US20130086018A1 (en) * | 2011-09-30 | 2013-04-04 | International Business Machines Corporation | Transaction processing system, method, and program |
CN103077222A (zh) * | 2012-12-31 | 2013-05-01 | 中国科学院计算技术研究所 | 机群文件***分布式元数据一致性保证方法及*** |
CN103559245A (zh) * | 2013-10-29 | 2014-02-05 | 华为技术有限公司 | 一种分布式事务提交故障的处理方法、装置和*** |
CN106383737A (zh) * | 2016-09-09 | 2017-02-08 | 浪潮软件股份有限公司 | 一种分布式事务处理方法 |
CN108572991A (zh) * | 2017-03-14 | 2018-09-25 | 北京京东尚科信息技术有限公司 | 数据库处理方法、装置和存储介质 |
CN109426552A (zh) * | 2017-09-05 | 2019-03-05 | 阿里巴巴集团控股有限公司 | 事务处理方法、装置和***以及电子设备 |
CN108279986A (zh) * | 2017-12-29 | 2018-07-13 | 亿阳安全技术有限公司 | 一种分布式事务处理方法及装置 |
CN108733589A (zh) * | 2018-04-12 | 2018-11-02 | 阿里巴巴集团控股有限公司 | 分布式事务热部署的实现方法和装置 |
CN108733457A (zh) * | 2018-04-12 | 2018-11-02 | 阿里巴巴集团控股有限公司 | 分布式事务的实现方法和装置 |
CN110347481A (zh) * | 2019-07-17 | 2019-10-18 | 北京搜狐新媒体信息技术有限公司 | 一种实现分布式事务的方法及*** |
CN111209142A (zh) * | 2020-01-02 | 2020-05-29 | 中国平安财产保险股份有限公司 | 跨数据库的事务管理方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
MOHAMMAD DASHTI 等: "Transaction Repair for Multi-Version Concurrency Control", 《SIGMOD \'17: PROCEEDINGS OF THE 2017 ACM INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA》, 9 May 2017 (2017-05-09), pages 235, XP058880912, DOI: 10.1145/3035918.3035919 * |
周智: "基于Mycat的分布式数据库在运营商IT***转型中的实现与探索", 《电脑知识与技术》, vol. 14, no. 15, 25 May 2018 (2018-05-25), pages 25 - 27 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114003644A (zh) * | 2021-10-21 | 2022-02-01 | 河南星环众志信息科技有限公司 | 分布式事务处理方法、设备、介质和数据库*** |
CN114003644B (zh) * | 2021-10-21 | 2022-11-15 | 河南星环众志信息科技有限公司 | 分布式事务处理方法、设备、介质和数据库*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9779128B2 (en) | System and method for massively parallel processing database | |
US8868577B2 (en) | Generic database manipulator | |
EP2825958B1 (en) | Systems and methods for supporting transaction recovery based on a strict ordering of two-phase commit calls | |
JPS633341B2 (zh) | ||
WO2013138770A1 (en) | Systems and methods for supporting inline delegation of middle-tier transaction logs to database | |
CN111522631A (zh) | 分布式事务处理方法、装置、服务器及介质 | |
JP2005025432A (ja) | トランザクション処理方法,トランザクション制御装置およびトランザクション制御プログラム | |
US6944635B2 (en) | Method for file deletion and recovery against system failures in database management system | |
US11061889B2 (en) | Systems and methods of managing manifest refresh in a database | |
CN110727698A (zh) | 数据库访问方法、装置、计算机设备和存储介质 | |
CN107533474A (zh) | 一种事务处理方法及装置 | |
CN111210350A (zh) | 区块链的交易方法、装置、计算机设备及存储介质 | |
CN112711606A (zh) | 数据库访问方法、装置、计算机设备和存储介质 | |
WO2023111910A1 (en) | Rolling back database transaction | |
CN112765126A (zh) | 数据库事务的管理方法、装置、计算机设备和存储介质 | |
CN112765126B (zh) | 数据库事务的管理方法、装置、计算机设备和存储介质 | |
CN114756408A (zh) | 元数据备份恢复方法、装置、电子设备及存储介质 | |
US11301341B2 (en) | Replication system takeover with handshake | |
JPH0561748A (ja) | データベース・アクセスにおける同期確認の自動化方式 | |
CN110096389A (zh) | 一种数据库的启动方法、装置、设备和存储介质 | |
CN109522098A (zh) | 分布式数据库中的事务处理方法、装置、***和储存介质 | |
CN113625825B (zh) | 一种基于线程逻辑时钟的事务内存的实现方法 | |
US20220382635A1 (en) | Method and apparatus for processing transaction | |
CN117234670A (zh) | 分布式事务处理方法方法、***、计算机设备及存储介质 | |
JP2000315190A (ja) | ジョブのリカバリ方式 |
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 |