本说明书一个或多个实施例涉及数据库,尤其涉及一种数据库事务的处理方法、装置、设备及存储介质。
背景技术:
1、分布式数据库技术不仅能够有效处理大数据、应对高并发访问,还能够提供高可用性和灵活的扩展性,能够满足现代应用对数据库性能、容错和数据处理能力的挑战性需求。
2、在分布式数据库中,可以通过数据库分区技术,将大型数据表水平地拆分成分布于不同服务器上的多个分区,以增强分布式数据库的数据管理效率和数据查询速度。因而,为了保证可以在多个分区上执行数据库操作,分布式数据库还需支持跨分区的分布式事务,同时保证跨分区的分布式事务的原子性、一致性、隔离性、持久性(atomicity-consistency-isolation-durability,acid)属性。
技术实现思路
1、有鉴于此,本说明书一个或多个实施例提供一种数据库事务的处理方法、装置、设备及存储介质。
2、为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
3、根据本说明书一个或多个实施例的第一方面,提出了一种数据库事务的处理方法,所述方法包括:
4、按照待处理事务所要操作的数据记录,将所述待处理事务划分为多个子事务,不同的子事务用于对不同的数据记录进行操作;
5、在每个子事务对应的分区中分别按照对应子事务记录相应的更新操作,对于任一子事务,所述子事务对应的分区为所述子事务所要操作的数据记录所述的分区;
6、在所有子事务的更新操作均被成功记录到对应分区的情况下,将已记录的更新操作提交到数据库中。
7、根据本说明书一个或多个实施例的第二方面,提出了一种数据库事务的处理装置,所述装置包括:
8、生成模块,用于按照待处理事务所要操作的数据记录,将所述待处理事务划分为多个子事务,不同的子事务用于对不同的数据记录进行操作;
9、记录模块,用于在每个子事务对应的分区中分别按照对应子事务记录相应的更新操作,对于任一子事务,所述子事务对应的分区为所述子事务所要操作的数据记录所述的分区;
10、提交模块,用于在所有子事务的更新操作均被成功记录到对应分区的情况下,将已记录的更新操作提交到数据库中。
11、根据本说明书一个或多个实施例的第三方面,提出了一种计算设备,包括:
12、处理器;
13、用于存储处理器可执行指令的存储器;
14、其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。
15、根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述的方法。
16、根据本说明书一个或多个实施例的第五方面,提出了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的方法。
17、本说明书通过按照待处理事务所要操作的数据记录,将待处理事务划分为多个子事务,从而在每个子事务所要操作的数据记录所属的分区中,分别按照对应子事务记录相应的更新操作,以完成事务提交的准备工作,进而在所有子事务的更新操作均被成功记录到对应分区的情况下,将已记录的更新操作提交到数据库中,以通过利用两阶段提交的方式确保分布式事务在多个分区间能够可靠且顺序地执行,增强数据库在处理跨分区分布式事务时的效率和速度。
1.一种数据库事务的处理方法,所述方法包括:
2.根据权利要求1所述的方法,所述在每个子事务对应的分区中分别按照对应子事务记录相应的更新操作,包括:
3.根据权利要求2所述的方法,所述按照所述多个子事务的处理顺序,依次在每个子事务对应的分区中按照对应子事务记录相应的更新操作,包括:
4.根据权利要求1所述的方法,所述在每个子事务对应的分区中分别按照对应子事务记录相应的更新操作之后,所述方法还包括:
5.根据权利要求4所述的方法,所述在所有子事务的更新操作均被成功记录到对应分区的情况下,将已记录的更新操作提交到数据库中之后,所述方法还包括:
6.根据权利要求1所述的方法,所述在所有子事务的更新操作均被成功记录到对应分区的情况下,将已记录的更新操作提交到数据库中之前,所述方法还包括:
7.根据权利要求1所述的方法,所述在所有子事务的更新操作均被成功记录到对应分区的情况下,将已记录的更新操作提交到数据库中,包括:
8.根据权利要求1所述的方法,所述在所有子事务的更新操作均被成功记录到对应分区的情况下,将已记录的更新操作提交到数据库中之后,所述方法还包括:
9.根据权利要求1所述的方法,所述按照待处理事务所要操作的数据记录,将所述待处理事务划分为多个子事务,包括:
10.根据权利要求1所述的方法,所述在每个子事务所要操作的分区中分别按照对应子事务记录相应的更新操作之后,所述方法还包括:
11.根据权利要求10所述的方法,所述在任一子事务的更新操作未被成功记录的情况下,撤销已记录的更新操作,包括:
12.一种数据库事务的处理装置,所述装置包括:
13.根据权利要求12所述的装置,所述记录模块,在用于在每个子事务对应的分区中分别按照对应子事务记录相应的更新操作时,用于:
14.根据权利要求12所述的装置,所述装置还包括:
15.根据权利要求12所述的装置,所述装置还包括:
16.根据权利要求12所述的装置,所述提交模块,在用于在所有子事务的更新操作均被成功记录到对应分区的情况下,将已记录的更新操作提交到数据库中时,用于:
17.根据权利要求12所述的装置,所述装置还包括:
18.一种计算设备,包括:
19.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-11中任一项所述的方法。
