一种分布式事务日志生成方法、装置、设备及介质与流程

摘要: 本发明涉及数据处理,尤其涉及一种分布式事务日志生成方法、装置、设备及介质。背景技术:1、cdc(changedatacapture,数据变动捕获)节点,主要用于...
一种分布式事务日志生成方法、装置、设备及介质与流程

本发明涉及数据处理,尤其涉及一种分布式事务日志生成方法、装置、设备及介质。

背景技术:

1、cdc(change data capture,数据变动捕获)节点,主要用于对接goldendb分布式数据库各数据分片对应的数据节点(data node,dn),可实时采集各dn产生的逻辑日志,对多数据分片异构日志进行汇总、合并与归档处理,生成一份可供单机dn直接消费的全局一致性逻辑日志。

2、目前,goldendb分布式数据库实现普通分布式事务的cdc日志合并与数据捕获能力,可通过统一事务唯一标识,关联同一事务在不同数据分片dn输出的逻辑日志,保证普通事务全局逻辑日志合并的完整性。

3、但对于分布式xa事务(x/open distributed transaction processing)具备二阶段提交、事务多分支的核心特性,单个分布式xa事务的不同执行分支,可分散在不同计算节点(compute node,cn)、不同数据链路中独立发起与运行。在此架构下,现有技术无法为分布式xa事务定义统一的全局唯一关联标识,各个dn无法依托现有规则,识别并关联同一分布式xa事务在全部分片节点中产生的数据变动,最终导致传统cdc合并机制完全无法适配xa事务场景,无法准确获取分布式事务日志。

技术实现思路

1、本发明提供了一种分布式事务日志生成方法、装置、设备及介质,以提高分布式事务日志生成的准确性。

2、第一方面,本发明实施例提供了一种分布式事务日志生成方法,该方法包括:

3、获取分布式数据库对应的分布式事务的数据操作语句;

4、根据分布式数据库对应的计算节点对数据操作语句进行解析,确定分布式执行计划,分布式执行计划包括:至少一个数据分支、各数据分支对应的数据分片及分片执行语句;

5、针对各数据分支,通过计算节点对数据分支的数据分片对应的数据节点发送分支开启命令,以使数据节点执行分片执行语句,对数据分片上的分片存储数据更新并生成分片逻辑日志,直至计算节点对数据节点发送分支结束命令;

6、通过计算节点接收数据分支的数据节点返回的结束反馈信息,生成数据分支对应的分片位图并发送至全局事务管理器;

7、通过全局事务管理器对各数据分支对应的分片位图融合,得到目标位图;

8、获取各数据分支的数据分片对应的数据节点的分片逻辑日志;

9、通过分布式数据库对应的日志采集节点,根据目标位图对各分片逻辑日志筛选,得到分布式事务日志。

10、第二方面,本发明实施例还提供了一种分布式事务日志生成装置,该装置包括:

11、语句获取模块,用于获取分布式数据库对应的分布式事务的数据操作语句;

12、语句解析模块,用于根据分布式数据库对应的计算节点对数据操作语句进行解析,确定分布式执行计划,分布式执行计划包括:至少一个数据分支、各数据分支对应的数据分片及分片执行语句;

13、命令传输模块,用于针对各数据分支,通过计算节点对数据分支的数据分片对应的数据节点发送分支开启命令,以使数据节点执行分片执行语句,对数据分片上的分片存储数据更新并生成分片逻辑日志,直至计算节点对数据节点发送分支结束命令;

14、位图生成模块,用于通过计算节点接收数据分支的数据节点返回的结束反馈信息,生成数据分支对应的分片位图并发送至全局事务管理器;

15、位图融合模块,用于通过全局事务管理器对各数据分支对应的分片位图融合,得到目标位图;

16、日志获取模块,用于获取各数据分支的数据分片对应的数据节点的分片逻辑日志;

17、日志筛选模块,用于通过分布式数据库对应的日志采集节点,根据目标位图对各分片逻辑日志筛选,得到分布式事务日志。

18、第三方面,本发明实施例还提供了一种分布式事务日志生成设备,分布式事务日志生成设备包括:

19、至少一个处理器;以及

20、与至少一个处理器通信连接的存储器;其中,

21、存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行本发明任一实施例的分布式事务日志生成方法。

22、根据本发明的另一方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行时实现本发明任一实施例的分布式事务日志生成方法。

23、本发明实施例的技术方案,通过获取分布式数据库对应的分布式事务的数据操作语句;根据分布式数据库对应的计算节点对数据操作语句进行解析,确定分布式执行计划,分布式执行计划包括:至少一个数据分支、各数据分支对应的数据分片及分片执行语句;针对各数据分支,通过计算节点对数据分支的数据分片对应的数据节点发送分支开启命令,以使数据节点执行分片执行语句,对数据分片上的分片存储数据更新并生成分片逻辑日志,直至计算节点对数据节点发送分支结束命令;通过计算节点接收数据分支的数据节点返回的结束反馈信息,生成数据分支对应的分片位图并发送至全局事务管理器;通过全局事务管理器对各数据分支对应的分片位图融合,得到目标位图;获取各数据分支的数据分片对应的数据节点的分片逻辑日志;通过分布式数据库对应的日志采集节点,根据目标位图对各分片逻辑日志筛选,得到分布式事务日志,提升了分布式事务日志生成的准确性。

24、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。

1.一种分布式事务日志生成方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述获取各所述数据分支的数据分片对应的数据节点的分片逻辑日志,包括:

3.根据权利要求1所述的方法,其特征在于,所述通过所述分布式数据库对应的日志采集节点,根据目标位图对各分片逻辑日志筛选,得到分布式事务日志,包括:

4.根据权利要求2所述的方法,其特征在于,所述通过所述计算节点对分布式事务进行预提交判断,得到预提交判断结果,包括:

5.根据权利要求1所述的方法,其特征在于,所述根据所述分布式数据库对应的计算节点对所述数据操作语句进行解析,确定分布式执行计划,所述分布式执行计划包括:至少一个数据分支、各所述数据分支对应的数据分片及分片执行语句,包括:

6.根据权利要求5所述的方法,其特征在于,所述根据分布式事务的全局事务标识及全局事务标识对应的目标位图,对各所述数据分支对应的数据分片对应的数据节点的分片逻辑日志筛选,得到分布式事务日志,包括:

7.根据权利要求5所述的方法,其特征在于,所述根据所述计算节点对所述数据操作语句进行拆分判断,得到拆分判断结果,包括:

8.一种分布式事务日志生成装置,其特征在于,所述装置包括:

9.一种分布式事务日志生成设备,其特征在于,所述分布式事务日志生成设备包括:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的分布式事务日志生成方法。