【技术实现步骤摘要】
分布式数据库日志处理方法和装置、电子设备和存储介质
[0001]本申请涉及分布式数据库
,尤其涉及一种分布式数据库日志处理方法和装置、电子设备和存储介质。
技术介绍
[0002]传统数据库系统中,都会对外提供CDC(change data capture)接口。CDC 即变化数据捕捉。是数据库进行备份的一种方式,常用于大量数据的备份工作。分为入侵式的和非入侵式的备份方法,入侵式的备份方法包括:基于触发器备份、基于时间戳备份、基于快照备份,非入侵式的备份方法是基于日志的备份。例如mysql 基于日志的CDC就是非入侵式的备份方法,即开启mysql binary log。
[0003]而目前主流的分布式数据库因为其自身的分布式特性,数据分布存储在若干个数据分片中,导致其对外没有统一的CDC(change data capture)接口。对于很多需要消费分布式数据库备份数据的第三方工具来说如果没有统一的CDC接口的话,其对每一个分片(即,数据节点,一个分布式数据库包括多个数据节点)都需要部署一个队列,这样不仅需要大量 ...
【技术保护点】
【技术特征摘要】
1.一种分布式数据库日志处理方法,其特征在于,包括:获取所述分布式数据库下多个数据节点中每个数据节点的日志文件;根据所述日志文件中每个节点事务的事务提交信息,确定出与每个分布式事务对应的所述节点事务,其中,所述每个节点事务的事务提交信息用于指示所述每个节点事务开始写操作的次序以及所述每个节点事务所属的分布式事务提交时的全局顺序;按照所述与每个分布式事务对应的所述节点事务,对各个所述节点事务进行组合,得到用于指示每个分布式事务的全局日志。2.根据权利要求1所述的方法,其特征在于,所述获取所述分布式数据库下多个数据节点中每个数据节点的日志文件,包括:获取分布式数据库下多个数据节点中的每个数据节点的二进制日志;将所有所述二进制日志复制至目标备机,得到所述每个数据节点的日志文件。3.根据权利要求2所述的方法,其特征在于,所述根据所述日志文件中每个节点事务的事务提交信息,确定出与每个分布式事务对应的所述节点事务,包括:将每个日志文件中的节点事务,读取至所述每个日志文件对应的事务队列中;按照所述每个节点事务的事务提交信息,并通过对各个所述事务队列中的节点事务进行读取,得到所述每个分布式事务对应的所述节点事务。4.根据权利要求3所述的方法,其特征在于,所述将每个日志文件中的节点事务,读取至所述每个日志文件对应的事务队列中,包括:启动与所述数据节点对应的FETCH线程,并创建与每个FETCH线程对应的所述事务队列;按照与所述每个数据节点对应的FETCH线程,通过所述每个FETCH线程对所述目标备机中的每个日志文件进行读取,得到与所述每个数据节点对应的中继日志;将所述中继日志中的所述节点事务读取至所述事务队列中。5.根据权利要求4所述的方法,其特征在于,所述按照所述每个节点事务的事务提交信息,并通过对各个所述事务队列中的节点事务进行读取,得到所述每个分布式事务对应的所述节点事务,包括:启动一个目标线程,打开用于存储所述分布式数据库的全局日志信息的全局日志文件,并创建所述目标线程对应的完整队列;通过所述目标线程读取得到每个FETCH线程对应的事务队列中位于第一的首位事务;通过解析每个首位事务的事务提交信息中的首位分布式事务ID以及首位分片信息后,在所有首位事务中确定出指定分布式节点事务,其中,分布式事务ID用于指示唯一的分布式事务,分片信息用于指示所对应的分布式事务中的每个节点事务所分布于的数据节点,分布式节点事务所对应的分片信息涉及多个数据节点,对于任一个所述指定分布式节点事务,所述指定分布式节点事务的首位分片信息指示包含所述指定分布式节点事务的指定分布式事务分布于多个数据节点;按照每个指定分布式节点事务的首位分布式事务ID,依次确定出与每个首位分布式事务ID对应的节点事务组,并将所述节点事务组放入所述完整队列中,其中,与每个首位分布式事务ID对应的节点事务组中包括:所有指定分布式节点事务中与所述每个首位分布式事务ID对应的第一目标分布式节点事务,以及通...
【专利技术属性】
技术研发人员:吴沛霆,付裕,马玉伟,周亚运,岳新新,
申请(专利权)人:金篆信科有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。