CN112597176B - 一种分布式数据库的事务保存点的处理方法及系统 - Google Patents
一种分布式数据库的事务保存点的处理方法及系统 Download PDFInfo
- Publication number
- CN112597176B CN112597176B CN202011560235.8A CN202011560235A CN112597176B CN 112597176 B CN112597176 B CN 112597176B CN 202011560235 A CN202011560235 A CN 202011560235A CN 112597176 B CN112597176 B CN 112597176B
- Authority
- CN
- China
- Prior art keywords
- transaction
- database
- operation instructions
- distributed
- database operation
- 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
- 238000004321 preservation Methods 0.000 title claims abstract description 83
- 238000003672 processing method Methods 0.000 title abstract description 8
- 238000012545 processing Methods 0.000 claims abstract description 37
- 238000000034 method Methods 0.000 claims description 53
- 238000005096 rolling process Methods 0.000 claims description 5
- 230000014759 maintenance of location Effects 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种分布式数据库的事务保存点的处理方法及系统,接收用户基于用户终端发送的事务创建请求,并基于事务创建请求创建事务;接收用户基于用户终端发送的针对事务的一个或多个数据库操作指令,并分配数据库操作指令至数据库,其中,发送的数据库操作指令中至少有一个数据库操作指令为事务保存点创建指令;若事务中所有的数据库操作指令分配至同一个数据库,建立事务与数据库的连接,得到数据库事务;基于事务保存点创建指令创建数据库事务的事务保存点。基于本发明,能够创建事务保存点时所涉及的数据库关联操作同时完成,从而保证数据的一致性。
Description
技术领域
本发明涉及数据处理技术领域,更具体地说,涉及一种分布式数据库的事务保存点的处理方法及系统。
背景技术
随着科学技术的不断发展,对事务保存点的管理越来越被人们所重视,其中,事务保存点指在操作数据库的过程中可以将事务分割为几个部分,每个部分的边界即为事务保存点。
在现有技术中,基于传统集中式数据库实现事务保存点的创建。但是,随着数据量和访问量的增长,导致传统集中式数据库出现容量瓶颈的问题。利用分布式数据库能够解决容量瓶颈的问题,但是,由于一个分布式数据库会涉及到多个物理数据库,因此,利用分布式数据库实现事务保存点的创建时,难易保证创建事务保存点时所涉及的数据库关联操作的同时完成,导致数据不一致。
发明内容
有鉴于此,本发明实施例提供一种分布式数据库的事务保存点的处理方法及系统,以解决现有技术中,利用分布式数据库实现事务保存点的处理时,导致数据不一致的问题。
本发明第一方面公开一种分布式数据库的事务保存点的处理方法,所述方法包括:
接收用户基于用户终端发送的事务创建请求,并基于所述事务创建请求创建事务;
接收所述用户基于所述用户终端发送的针对所述事务的一个或多个数据库操作指令,并分配所述数据库操作指令至数据库,其中,发送的所述数据库操作指令中至少有一个数据库操作指令为事务保存点创建指令;
若所述事务中所有的数据库操作指令分配至同一个数据库,建立所述事务与所述数据库的连接,得到数据库事务;
基于所述事务保存点创建指令创建所述数据库事务的事务保存点。
可选的,所述方法还包括:
若所述事务中所有的数据库操作指令未被分配至同一个数据库,向所述用户终端发送报警信息。
可选的,所述向所述用户终端发送报警信息之后,所述方法还包括:
向所述用户终端发送提示信息,以便所述用户基于所述提示信息进行事务回滚。
可选的,所述方法还包括:
接收到所述用户基于所述用户终端发送的事务回滚请求,基于所述事务保存点对所述数据库事务进行回滚。
可选的,所述方法还包括:
接收所述用户基于所述用户终端发送的事务提交请求,提交所述数据库事务。
本发明第二方面公开一种分布式数据库的事务保存点的处理系统,所述系统包括:
事务创建单元,用于接收用户基于用户终端发送的事务创建请求,并基于所述事务创建请求创建事务;
分配单元,用于接收所述用户基于所述终端发送的针对所述事务的一个或多个数据库操作指令,并分配所述数据库操作指令至数据库,其中,发送的所述数据库操作指令中至少有一个数据库操作指令为事务保存点创建指令;
建立单元,用于若所述事务中所有的数据库操作指令分配至同一个数据库,建立所述事务与所述数据库的连接,得到数据库事务;
事务保存点创建单元,用于基于所述事务保存点创建所述数据库事务的事务保存点。
可选的,所述系统还包括:
报警信息发送单元,用于若所述事务中所有的数据库操作指令未被分配至同一个数据库,向所述用户终端发送报警信息。
可选的,所述系统还包括:
提示信息发送单元,用于向所述用户终端发送提示信息,以便所述用户基于所述提示信息进行事务回滚。
可选的,所述系统还包括:
回滚单元,用于接收到所述用户基于所述用户终端发送的事务回滚请求,基于所述事务保存点对所述数据库事务进行回滚。
可选的,所述系统还包括:
提交单元,用于接收到所述用户基于所述用户终端发送的事务提交请求,提交所述数据库事务。
本发明提供一种分布式数据库的事务保存点的处理方法及系统,通过根据接收到的用户发送的事务创建请求创建事务,并在接收到该用户发送的针对该事务的一个或多个数据库操作指令,且该用户发送的所有数据库操作指令中存在事务保存点创建指令时,将所接收到的数据库操作指令分配至数据库,并在该事务中所有的数据库操作指令分配至同一个数据库的情况下,建立该事务与数据库的连接,得到数据库事务,并基于事务保存点创建该数据库事务的事务保存点。本发明提供的技术方案,通过限制只有在用户发送的针对事务的所有数据库操作指令被分配至同一个数据库的情况下,才能建立事务与数据库的连接,保证了创建事务保存点时所涉及的数据库关联操作同时完成,从而保证数据的一致性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种分布式数据库的事务保存点的处理方法的流程示意图;
图2为本发明实施例提供的另一种分布式数据库的事务保存点的处理方法的流程示意图;
图3为本发明实施例提供的一种分布式数据库的事务保存点的处理系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了便于理解本申请的技术方案,对本申请中出现的技术术语进行说明:
分布式数据库:采用分库分表的方式提供可拓展的服务容量和存储容量,采用数据库代理方式提供数据透明访问以及平滑扩容能力,通过合理的数据切片策略来突破存储与性能的瓶颈。
数据库事务:是数据库管理系统执行过程中的一个逻辑单位,包含了一个序列的对数据库的读写操作,用于保证数据的隔离性、一致性等。
事务保存点:在操作数据库的过程中可以将事务分割为几个部分,每个部分的边界即为事务保存点,因此可以通过将事务回滚到保存点来进行部分事务的回滚,而不是回滚掉整个事务;如果将事务回滚至该保存点,则与该保存点相关联的时间点之后的操作被撤消。
由上述背景技术可知,利用分布式数据库能够解决现有技术中利用传统集中式数据实现事务保存点的创建时出现容量瓶颈的问题。但是,由于一个分布式数据库会涉及到多个物理数据库,导致利用分布式数据库实现事务保存点的创建时,难易保证创建事务保存点时所涉及的数据库关联操作的同时完成,导致数据不一致。
例如,事务A涉及到两个数据库db1和db2,这种情况下事务A会包含两个子事务,分别为子事务a1和子事务a2,其中子事务a1对应数据库db1,子事务a2对应数据库db2。在创建事务A的事务保存点时,需要分别将子事务a1与数据库db1和子事务a2与数据库db2进行关联,如果子事务a1与数据库d1b关联成功,但是由于数据库或者网络的原因导致子事务a2与数据库db2关联失败,就会导致数据不一致。
因此,本发明提供一种分布式数据库的事务保存点的处理方法及系统,能够实现利用分布式数据库实现事务保存点的创建时,保证数据的一致性。
参见图1,示出了本发明实施例提供的一种分布式数据库的事务保存点的处理方法的流程示意图,该分布式数据库的保存点的处理方法应用于分布式数据库的事务保存点的处理系统,该方法具体包括以下步骤:
S101:接收用户基于用户终端发送的事务创建请求,并基于事务创建请求创建事务。
在具体执行步骤S101的过程中,在接收到用户基于用户终端发送的事务创建请求时,基于接收到的事务创建请求创建相应的事务。
进一步的,在本申请实施例中,在基于接收到的事务创建请求创建相应的事务后,可以记录相应的事务创建结果,并将相应的事务创建结果返回给用户终端,其中,事务创建结果可以为创建成功或者创建失败。
在本申请实施例中,事务创建请求可以为SQL语句,例如Starttransaction语句。
S102:接收用户基于用户终端发送的针对事务的一个或多个数据库操作指令,并分配数据库操作指令至数据库。
在具体执行步骤S102的过程中,接收用户基于用户终端发送的针对事务的一个或多个数据库操作指令,在接收到的数据库操作指令中至少有一个数据库操作指令为事务保存点创建指令的情况下,检测之前是否有接收到事务创建请求;在检测到之前有接收到该事务的事务创建请求的情况下,分配数据库操作指令至数据库。
在本申请实施例中,数据库操作指令可以为SQL语句,例如insert data to db1语句;当数据库操作指令为事务保存点操作指令时,该数据库操作指令可以为Savepoints。有关于数据库操作指令的具体内容,发明人可根据自己的需求进行设置,本申请实施例不加以限定。
S103:判断事务中所有的数据库操作指令是否分配至同一个数据;若事务中所有的数据库操作指令分配至同一个数据库,执行步骤S104;若事务中所有的数据库操作指令未被分配至同一个数据库,执行步骤S106。
在具体执行步骤S103的过程中,在将接收到的针对事务的所有数据库操作指令分配至相应的数据库后,判断该事务中所有的数据库操作指令是否均被分配至同一个数据库,若该事务中所有的数据库操作指令被分配至同一个数据库,建立该事务与数据库的连接,得到数据库事务;若该事务中所有的数据库操作指令未被分配至同一个数据库,向该用户终端发送报警信息。
比如,接收到用户发送的针对事务1的3个数据库操作指令,分别为数据库操作指令1、数据库操作指令2、数据库操作指令3,其中数据操作指令1为insert data1 to db1,数据库操作指令2为insert data2 to db1,数据库操作指令3为Savepoints,且数据库操作指令3为事务保存点操作指令。
将数据库操作指令1分配至数据库1,将数据库操作指令2分配值数据库1;根据每个数据库操作指令的分配结果可以知道,事务1中所有的数据库操作指令均为被分配至数据库1,及事务1中所有的数据库操作指令分配至同一个数据库,进而建立事务1与数据库1的连接,得到数据库事务1。
若数据操作指令1为insert data1 to db1,数据库操作指令2为insert data2 todb2,数据库操作指令3为Savepoints;将数据库操作指令1分配至数据库1,将数据库操作指令2分配至数据库2;根据每个数据库操作指令的分配结果可以知道,事务1中所有的数据库操作指令未被分配至同一个数据库,向用户终端发送报警信息。
S104:建立事务与数据库的连接,得到数据库事务。
在具体执行步骤S104的过程中,在确定事务中所有的数据库操作指令分配至同一个数据库的情况下,建立该事务与数据库的连接,得到数据库事务。
S105:基于事务保存点创建指令创建数据库事务的事务保存点。
在具体执行步骤S105的过程中,在建立事务与数据库的连接得到数据库事务后,根据之前接收到用户终端发送的针对该事务的数据库操作指令中的事务保存点创建指令创建该数据库事务的事务保存点。
在本申请实施例中,若之前接收到的用户发送的针对该事务的数据库操作指令中存在2个事务保存点创建指令,可以根据这2个事务保存点创建指令在数据库事务中创建2个事务保存点。有关于在数据库事务中创建多少个事务保存点,根据实际情况而定,本申请实施例不加以限定。
进一步的,在基于事务保存点创建指令创建相应的数据库事务的事务保存点后,若接收到用户基于用户终端发送的事务提交请求,基于所接收到的事务提交请求提交该数据库事务,进一步保证数据的一致性。
S106:向用户终端发送报警信息。
在具体执行步骤S106的过程中,在确定事务中所有的数据库操作指令未分配至同一个数据库的情况下,向用户终端发送报警信息,以便提醒用户可能会由于数据库、网络等原因发送数据库不一致的情况。
本发明提供一种分布式数据库的事务保存点的处理方法,通过根据接收到的用户发送的事务创建请求创建事务,并在接收到该用户发送的针对该事务的一个或多个数据库操作指令,且该用户发送的所有数据库操作指令中存在事务保存点创建指令时,将所接收到的数据库操作指令分配至数据库,并在该事务中所有的数据库操作指令分配至同一个数据库的情况下,建立该事务与数据库的连接,得到数据库事务,并基于事务保存点创建该数据库事务的事务保存点。本发明提供的技术方案,通过限制只有在用户发送的针对事务的所有数据库操作指令被分配至同一个数据库的情况下,才能建立事务与数据库的连接,保证了创建事务保存点时所涉及的数据库关联操作同时完成,从而保证数据的一致性。
为了更好的对上述内容进行理解,下面以一个示例进行举例说明。
A11:用户基于用户终端向分布式数据库的事务保存点的处理系统发送Starttransaction语句(事务创建请求)。
A12:分布式数据库的事务保存点的处理系统基于接收到的Start transaction语句(事务创建请求)创建事务1,记录事务1的事务创建结果,并将事务1的事务创建结果返回给用户终端。
A13:用户基于用户终端向分布式数据库的事务保存点的处理系统发送针对事务1的4个数据库操作指令,分别为数据库操作指令1、数据库操作指令2、数据库操作指令3、数据库操作指令4,其中数据操作指令1为insert data1 to db1,数据库操作指令2为insertdata2 to db1,数据库操作指令3为Savepoints,数据库操作指令4为insert data4 todb1,数据库操作指令3为事务保存点操作指令。
A14:分布式数据库的事务保存点的处理系统根据接收到的用户发送的针对事务发送的4个数据库操作指令,将数据库操作指令1分配至数据库1,将数据库操作指令2分配值数据库1,将数据操作指令4分配至数据库1。
A15:分布式数据库的事务保存点的处理系统根据每个数据库操作指令的分配结果可以知道,事务1中所有的数据库操作指令均为被分配至数据库1,及事务1中所有的数据库操作指令分配至同一个数据库,进而建立事务1与数据库1的连接,得到数据库事务1。
A16:分布式数据库的事务保存点的处理系统根据数据库操作指令3(事务保存点创建指令)创建数据库事务1的事务保存点。
A17:用户基于用户终端向分布式数据库的事务保存点的处理系统发送事务提交请求。
S18:分布式数据库的事务保存点的处理系统基于接收到的事务提交请求提交数据库事务1。
参见图2,示出了本发明实施例提供的另一种分布式数据库的事务保存点的处理方法的流程示意图,该分布式数据库的事务保存点的处理方法应用于分布式数据库的事务保存点的处理系统,该该方法具体包括以下步骤:
S201:接收用户基于用户终端发送的事务创建请求,并基于事务创建请求创建事务。
在具体执行步骤S201的过程中,步骤S201的具体执行过程和实现原理与上述本发明实施例公开的图1中的步骤S101的具体执行过程和实现原理相同,可参见上述本发明实施例公开的图1中相应的部分,这里不再进行赘述。
S202:接收用户基于用户终端发送的针对事务的一个或多个数据库操作指令,并分配数据库操作指令值数据库。
在具体执行步骤S202的过程中,步骤S202的具体执行过程和实现原理与上述本发明实施例公开的图1中的步骤S102的具体执行过程和实现原理相同,可参见上述本发明实施例公开的图1中相应的部分,这里不再进行赘述。
S203:判断事务中所有的数据库操作指令是否分配至同一个数据;若事务中所有的数据库操作指令分配至同一个数据库,执行步骤S204;若事务中所有的数据库操作指令未被分配至同一个数据库,执行步骤S206。
在具体执行步骤S203的过程中,步骤S203的具体执行过程和实现原理与上述本发明实施例公开的图1中的步骤S103的具体执行过程和实现原理相同,可参见上述本发明实施例公开的图1中相应的部分,这里不再进行赘述。
S204:建立事务与数据库的连接,得到数据库事务。
在具体执行步骤S204的过程中,步骤S204的具体执行过程和实现原理与上述本发明实施例公开的图1中的步骤S104的具体执行过程和实现原理相同,可参见上述本发明实施例公开的图1中相应的部分,这里不再进行赘述。
S205:基于事务保存点创建数据库事务的事务保存点。
在具体执行步骤S205的过程中,在建立事务与数据库的连接得到数据库事务后,根据之前接收到用户终端发送的针对该事务的数据库操作指令中的事务保存点创建该数据库事务的事务保存点。
在本申请实施例中,在执行完步骤S205后,可以继续执行步骤S208。
S206:向用户终端发送报警信息。
在具体执行步骤S206的过程中,在确定事务中所有的数据库操作指令未分配至同一个数据库的情况下,向用户终端发送报警信息。
S207:向用户发送提示信息,以便用户基于提示信息进行事务回滚。
在具体执行步骤S207的过程中,在向用户终端发送报警信息后,还可以进一步向用户发送提示信息,以便用户基于提示信息进行事务回滚。
在本申请实施例中,步骤S206和步骤S207的执行顺序可以按照本申请实施例提供的顺序执行,也可以同时执行,本申请实施例不加以限定。
S208:接收用户基于用户终端发送的事务回滚请求,基于事务保存点对数据库事务进行回滚。
在具体执行步骤S208的过程中,在接收到用户基于用户终端发送的事务回滚请求时,基于数据库事务中所创建的事务保存点对该数据库事务进行回滚。
在本申请实施例中,在确定事务中所有的数据库操作指令未分配至同一个数据库的情况下,向用户终端发送报警信息后,还可以进一步向用户发送提示信息,提示用户由于发送的针对事务的多个数据库操作指令未被分配至同一个数据库,可能会发生由于数据库、网络等原因发生数据不一致的情况,导致系统发生故障,为了避免系统出现故障,请用户进行相应的事务回滚操作。
基于上述本发明实施例提供的一种分布式数据库的事务保存点的处理方法,相应的,本发明实施例还提供一种分布式数据库的事务保存点的处理系统,参见图3,示出了本发明实施例提供的一种分布式数据库的事务保存点的处理系统的结构示意图,该分布式数据库的事务保存点的处理系统,包括:
事务创建单元31,用于接收用户基于用户终端发送的事务创建请求,并基于事务创建请求创建事务;
分配单元32,用于接收用户基于终端发送的针对事务的一个或多个数据库操作指令,并分配数据库操作指令至数据库,其中,发送的数据库操作指令中至少有一个数据库操作指令为事务保存点创建指令;
建立单元33,用于若事务中所有的数据库操作指令分配至同一个数据库,建立事务与数据库的连接,得到数据库事务;
事务保存点创建单元34,用于基于事务保存点创建数据库事务的事务保存点。
上述本发明实施例公开的分布式数据库的事务保存点的处理系统中各个单元具体的原理和执行过程,与上述本发明实施例公开的分布式数据库的事务保存点的处理方法相同,可参见上述本发明实施例公开的分布式数据库的事务保存点的处理方法中相应的部分,这里不再进行赘述。
本发明提供一种分布式数据库的事务保存点的处理系统,通过根据接收到的用户发送的事务创建请求创建事务,并在接收到该用户发送的针对该事务的一个或多个数据库操作指令,且该用户发送的所有数据库操作指令中存在事务保存点创建指令时,将所接收到的数据库操作指令分配至数据库,并在该事务中所有的数据库操作指令分配至同一个数据库的情况下,建立该事务与数据库的连接,得到数据库事务,并基于事务保存点创建该数据库事务的事务保存点。本发明提供的技术方案,通过限制只有在用户发送的针对事务的所有数据库操作指令被分配至同一个数据库的情况下,才能建立事务与数据库的连接,保证了创建事务保存点时所涉及的数据库关联操作同时完成,从而保证数据的一致性。
进一步的,本申请实施例提供的分布式数据库的事务保存点的处理系统,还包括:
报警信息发送单元,用于若事务中所有的数据库操作指令未被分配至同一个数据库,向用户终端发送报警信息。
进一步的,本申请实施例提供的分布式数据库的事务保存点的处理系统,还包括:
提示信息发送单元,用于向用户终端发送提示信息,以便用户基于提示信息进行事务回滚。
进一步的,本申请实施例提供的分布式数据库的事务保存点的处理系统,还包括:
回滚单元,用于接收到用户基于用户终端发送的事务回滚请求,基于事务保存点对数据库事务进行回滚。
进一步的,本申请实施例提供的分布式数据库的事务保存点的处理系统,还包括:
提交单元,用于接收到用户基于用户终端发送的事务提交请求,提交数据库事务。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种分布式数据库的事务保存点的处理方法,其特征在于,所述方法包括:
接收用户基于用户终端发送的事务创建请求,并基于所述事务创建请求创建事务;
接收所述用户基于所述用户终端发送的针对所述事务的一个或多个数据库操作指令,在接收到的所述数据库操作指令中至少有一个数据库操作指令为事务保存点创建指令的情况下,检测之前是否有接收到所述事务创建请求,在检测到之前有接收所述事务创建请求的情况下,分配所述数据库操作指令至数据库;其中,发送的所述数据库操作指令中至少有一个数据库操作指令为事务保存点创建指令;
判断所述事务中所有的数据库操作指令是否分配至同一个数据库;若所述事务中所有的数据库操作指令分配至同一个数据库,建立所述事务与所述数据库的连接,得到数据库事务;基于所述事务保存点创建指令创建所述数据库事务的事务保存点;
若所述事务中所有的数据库操作指令未被分配至同一个数据库,向所述用户终端发送报警信息。
2.根据权利要求1所述的方法,其特征在于,所述向所述用户终端发送报警信息之后,所述方法还包括:
向所述用户终端发送提示信息,以便所述用户基于所述提示信息进行事务回滚。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收到所述用户基于所述用户终端发送的事务回滚请求,基于所述事务保存点对所述数据库事务进行回滚。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述用户基于所述用户终端发送的事务提交请求,提交所述数据库事务。
5.一种分布式数据库的事务保存点的处理系统,其特征在于,所述系统包括:
事务创建单元,用于接收用户基于用户终端发送的事务创建请求,并基于所述事务创建请求创建事务;
分配单元,用于接收所述用户基于所述终端发送的针对所述事务的一个或多个数据库操作指令,在接收到的所述数据库操作指令中至少有一个数据库操作指令为事务保存点创建指令的情况下,检测之前是否有接收到所述事务创建请求,在检测到之前有接收所述事务创建请求的情况下,分配所述数据库操作指令至数据库;其中,发送的所述数据库操作指令中至少有一个数据库操作指令为事务保存点创建指令;
建立单元,用于判断所述事务中所有的数据库操作指令是否分配至同一个数据库;若所述事务中所有的数据库操作指令分配至同一个数据库,建立所述事务与所述数据库的连接,得到数据库事务;
事务保存点创建单元,用于基于所述事务保存点创建所述数据库事务的事务保存点;
报警信息发送单元,用于若所述事务中所有的数据库操作指令未被分配至同一个数据库,向所述用户终端发送报警信息。
6.根据权利要求5所述的系统,其特征在于,所述系统还包括:
提示信息发送单元,用于向所述用户终端发送提示信息,以便所述用户基于所述提示信息进行事务回滚。
7.根据权利要求5或6所述的系统,其特征在于,所述系统还包括:
回滚单元,用于接收到所述用户基于所述用户终端发送的事务回滚请求,基于所述事务保存点对所述数据库事务进行回滚。
8.根据权利要求5所述的系统,其特征在于,所述系统还包括:
提交单元,用于接收到所述用户基于所述用户终端发送的事务提交请求,提交所述数据库事务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011560235.8A CN112597176B (zh) | 2020-12-25 | 2020-12-25 | 一种分布式数据库的事务保存点的处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011560235.8A CN112597176B (zh) | 2020-12-25 | 2020-12-25 | 一种分布式数据库的事务保存点的处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112597176A CN112597176A (zh) | 2021-04-02 |
CN112597176B true CN112597176B (zh) | 2024-06-11 |
Family
ID=75202455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011560235.8A Active CN112597176B (zh) | 2020-12-25 | 2020-12-25 | 一种分布式数据库的事务保存点的处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112597176B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1507597A (zh) * | 2001-05-15 | 2004-06-23 | �Ҵ���˾ | 用于管理分布式事务内跨越多个dbms的分布式保存点的方法 |
CN107545024A (zh) * | 2017-06-12 | 2018-01-05 | 中国银联股份有限公司 | 用于分布式数据库的事务保存点管理装置及方法 |
CN108459919A (zh) * | 2018-03-29 | 2018-08-28 | 中信百信银行股份有限公司 | 一种分布式事务处理方法及装置 |
CN110022367A (zh) * | 2019-04-11 | 2019-07-16 | 软通动力信息技术(集团)有限公司 | 一种事务处理方法和事务处理系统 |
-
2020
- 2020-12-25 CN CN202011560235.8A patent/CN112597176B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1507597A (zh) * | 2001-05-15 | 2004-06-23 | �Ҵ���˾ | 用于管理分布式事务内跨越多个dbms的分布式保存点的方法 |
CN107545024A (zh) * | 2017-06-12 | 2018-01-05 | 中国银联股份有限公司 | 用于分布式数据库的事务保存点管理装置及方法 |
CN108459919A (zh) * | 2018-03-29 | 2018-08-28 | 中信百信银行股份有限公司 | 一种分布式事务处理方法及装置 |
CN110022367A (zh) * | 2019-04-11 | 2019-07-16 | 软通动力信息技术(集团)有限公司 | 一种事务处理方法和事务处理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112597176A (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739935B (zh) | 数据读取方法、装置、电子设备以及存储介质 | |
JP2745481B2 (ja) | 並列データベースにおける分散されたリクエストの管理方法及びシステム | |
KR102072726B1 (ko) | 데이터베이스로의 미들-티어 트랜잭션 로그들의 인라인 위임을 지원하는 시스템들 및 방법들 | |
WO2016180164A1 (zh) | 一种分布式事务回滚方法及装置 | |
CN103514028A (zh) | 一种处理分布式事务的方法和装置 | |
CN111314479A (zh) | 一种数据处理方法和设备 | |
CN108845866B (zh) | 处理分布式事务的方法和装置 | |
CN110008206A (zh) | 一种基于区块链系统的数据处理方法及装置 | |
CN112148436B (zh) | 去中心化的tcc事务管理方法、装置、设备及系统 | |
CN107480254B (zh) | 适用于分布式内存数据库的在线负载均衡方法 | |
CN109656684A (zh) | 一种Kafka的分区方法、分区系统及相关装置 | |
CN112597176B (zh) | 一种分布式数据库的事务保存点的处理方法及系统 | |
CN114328749A (zh) | 业务数据处理方法及其装置、计算机可读存储介质 | |
CN114422331A (zh) | 容灾切换方法、装置及系统 | |
CN110096237A (zh) | 副本处理方法及节点、存储系统、服务器、可读介质 | |
CN110990145A (zh) | 一种分布式系统的后台任务处理机制及方法 | |
CN113918654B (zh) | 一种区块数据提交的方法及装置 | |
CN115858668A (zh) | 分布式事务处理方法、装置、电子装置及存储介质 | |
CN113590662B (zh) | 业务交易结果的查询方法及装置、存储介质及电子设备 | |
US20030115168A1 (en) | Methods and apparatus for database transaction queuing | |
CN112765126A (zh) | 数据库事务的管理方法、装置、计算机设备和存储介质 | |
CN113645309A (zh) | 多客户端数据差异化二次缓存及同步的处理方法及系统 | |
CN112685142A (zh) | 分布式数据处理系统 | |
CN105574020B (zh) | 一种数据库操作方法和装置 | |
CN112732414B (zh) | 一种oltp模式的分布式事务处理方法、系统及相关组件 |
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 |