本发明涉及数据库领域,尤其涉及一种分布式全局逻辑日志生成方法、装置、电子设备及介质。
背景技术:
1、由于分布式数据库的存储特性,其往往包含多个数据分片,每个数据分片存在对应的逻辑日志,对一个数据库进行复制时,需要解析每个数据分片的逻辑日志,因此,需要部署跟分片数量相等的队列数,需要增加运维人力以及大量的中间机资源。
技术实现思路
1、本发明的主要目的在于提出一种分布式全局逻辑日志生成方法、装置、电子设备及介质,旨在解决现有技术中对数据分片的逻辑日志进行解析占用大量资源的问题。
2、为实现上述目的,本发明提供一种分布式全局逻辑日志生成方法,所述方法包括步骤:
3、获取多个分片逻辑日志,其中,所述分片逻辑日志对应不同的分片;
4、基于单位事务的提交序在分片逻辑日志中读取目标事务;
5、将所述目标事务基于提交序进行组合得到全局逻辑日志。
6、可选地,所述基于单位事务的提交序在分片逻辑日志中读取目标事务包括:
7、针对每一所述分片逻辑日志,获取提交序最小、且未被确定为目标事务的单位事务,得到多个所述分片逻辑日志对应的当前事务;
8、分别确定所述当前事务对应的所述目标事务;
9、判断是否存在未被确定为目标事务的单位事务;
10、若存在未被确定为目标事务的单位事务,则执行步骤:针对每一所述分片逻辑日志,获取提交序最小、且未被确定为目标事务的单位事务,得到多个所述分片逻辑日志对应的当前事务。
11、可选地,所述分别确定所述当前事务对应的所述目标事务包括:
12、针对每一所述当前事务,判断所述当前事务为单机事务或分布式事务;
13、若所述当前事务为所述单机事务,则将所述当前事务作为所述目标事务,并将所述当前事务更新为相邻的、且未被确定为目标事务的单位事务;
14、返回执行步骤:判断所述当前事务是否为单机事务,直到所述当前事务为分布式事务;
15、基于提交序确定所述当前事务对应的目标事务。
16、可选地,所述基于提交序确定所述当前事务对应的目标事务包括:
17、在所述当前事务中提交序最小,且获取未被确定为目标事务的分布式事务;
18、确定所述分布式事务对应的关联事务,所述关联事务与所述分布式事务位于不同的所述分片;
19、将所述分布式事务与所述关联事务进行组合得到所述当前事务对应的所述目标事务;
20、若存在未被确定为目标事务的分布式事务,则返回执行:在所述当前事务中提交序最小,且获取未被确定为目标事务的分布式事务,直到所有所述当前事务被确定为目标事务。
21、可选地,所述确定所述分布式事务对应的关联事务包括:
22、获取所述分布式事务对应的分布位置标识;
23、确定与所述分布位置标识对应的目标分片;
24、在所述目标分片对应的分片逻辑日志中确定所述关联事务。
25、可选地,所述将所述目标事务基于所述提交序进行组合得到全局逻辑日志包括:
26、创建全局逻辑日志文件;
27、每确定一个所述目标事务,将所述目标事务顺序写入到所述全局逻辑日志文件中;
28、若所有所述目标事务确定,则将所述全局逻辑日志文件作为所述全局逻辑日志。
29、可选地,所述将所述目标事务基于所述提交序进行组合得到全局逻辑日志包括:
30、针对每一所述目标事务,确定所述目标事务对应的分片标识;
31、将所述目标事务与所述分片标识进行关联;
32、将关联所述分片标识后的述目标事务基于所述提交序进行组合得到全局逻辑日志。
33、为实现上述目的,本发明还提供一种分布式全局逻辑日志生成装置,所述分布式全局逻辑日志生成装置包括:
34、第一获取模块,用于获取多个分片逻辑日志,其中,所述分片逻辑日志对应不同的分片;
35、第一读取模块,用于基于单位事务的提交序在分片逻辑日志中读取目标事务;
36、第一组合模块,用于将所述目标事务基于提交序进行组合得到全局逻辑日志。
37、为实现上述目的,本发明还提供一种电子设备,所述电子设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的分布式全局逻辑日志生成方法的步骤。
38、为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的分布式全局逻辑日志生成方法的步骤。
39、本发明提出的一种分布式全局逻辑日志生成方法、装置、电子设备及介质,获取多个分片逻辑日志,其中,所述分片逻辑日志对应不同的分片;基于单位事务的提交序在分片逻辑日志中读取目标事务;将所述目标事务基于提交序进行组合得到全局逻辑日志。通过提交序来确定目标事务进行申请的顺序,进而基于提交序来将目标事务进行聚合得到数据库对应的全局逻辑日志,在对数据库进行复制时,只需要针对全局逻辑日志进行解析,降低了逻辑日志进行解析时的资源要求。
1.一种分布式全局逻辑日志生成方法,其特征在于,所述分布式全局逻辑日志生成方法包括:
2.如权利要求1所述的分布式全局逻辑日志生成方法,其特征在于,所述基于单位事务的提交序在分片逻辑日志中读取目标事务包括:
3.如权利要求2所述的分布式全局逻辑日志生成方法,其特征在于,所述分别确定所述当前事务对应的所述目标事务包括:
4.如权利要求3所述的分布式全局逻辑日志生成方法,其特征在于,所述基于提交序确定所述当前事务对应的目标事务包括:
5.如权利要求4所述的分布式全局逻辑日志生成方法,其特征在于,所述确定所述分布式事务对应的关联事务包括:
6.如权利要求1所述的分布式全局逻辑日志生成方法,其特征在于,所述将所述目标事务基于所述提交序进行组合得到全局逻辑日志包括:
7.如权利要求1所述的分布式全局逻辑日志生成方法,其特征在于,所述将所述目标事务基于所述提交序进行组合得到全局逻辑日志包括:
8.一种分布式全局逻辑日志生成装置,其特征在于,所述分布式全局逻辑日志生成装置包括:
9.一种电子设备,其特征在于,所述电子设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的分布式全局逻辑日志生成方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的分布式全局逻辑日志生成方法的步骤。