【技术实现步骤摘要】
数据同步的方法、系统及计算机可读存储介质
[0001]本申请涉及数据处理
,特别涉及一种数据同步的方法、系统及计算机可读存储介质。
技术介绍
[0002]各大云厂商为了解决企业的数据迁移、数据同步或数据订阅等需求问题,提供了数据库的异构、同构数据的数据传输服务。数据传输服务分为结构迁移、全量数据迁移和增量数据迁移三个阶段,其中增量数据迁移主要是利用上游数据库的增删改操作都会记录在二进制日志的特性,使用上游表结构去解析二进制日志中的增删改操作记录,并将其还原成结构化查询语言,以在下游数据库中执行。
[0003]但是,在以关系型数据库(例如MySQL)作为上游数据库进行数据传输服务时,无法很好的支持上游数据库进行表结构变更。主要体现在:上游数据库在对表结构进行加列、删列后,再使用变更后的表结构解析旧的二进制日志,会导致同步任务失败,需要人工排查修复;另外,为了减少表结构变更造成上游数据库性能下降的影响,常常会使用开源工具对表结构进行结构变更,会导致上下游数据库的数据不一致。因此,增量数据迁移的频繁中断和较低的人工排 ...
【技术保护点】
【技术特征摘要】
1.一种数据同步的方法,其特征在于,包括:对上游数据库的二进制日志中记录的表结构变更事件进行解析,获得表变更语句,其中,所述表结构变更事件表征所述上游数据库的原始表结构至目标表结构的变更操作,所述表变更语句是用于变更数据库表结构的操作语言;响应于下游数据库对所述原生表结构的行变更事件执行结束的判断结果,将所述目标表结构存储至缓存模块;以及基于所述缓存模块中的所述目标表结构,在所述下游数据库中执行所述表变更语句,使所述下游数据库中的所述原生表结构更新为所述目标表结构。2.根据权利要求1所述的数据同步方法,其特征在于,所述对上游数据库的二进制日志中记录的表结构变更事件进行解析,获得表变更语句,包括:判断将所述原生表结构变更为所述目标表结构时是否使用开源工具,其中,所述开源工具用于对所述原生表结构进行修改;响应于将所述原生表结构变更为所述目标表结构时使用所述开源工具的判断结果,根据表结构变更事件中产生的临时表的后缀,对所述临时表进行所述开源工具的匹配;以及结合所述开源工具,对所述目标表结构进行分析,获得所述目标表结构的表变更语句,并将所述表变更语句缓存至元数据库。3.根据权利要求2所述的数据同步方法,其特征在于,在所述结合所述开源工具,对所述目标表结构进行分析,获得所述目标表结构的表变更语句,并将所述表变更语句缓存至元数据库之后,包括:判断是否执行所述元数据库中的表变更语句;以及响应于执行所述元数据库中的表变更语句的判断结果,开放所述元数据库中所述表变更语句的读取通道。4.根据权利要求1所述的数据同步方法,其特征在于,所述对上游数据库的二进制日志中记录的表结构变更事件进行解析,获得表变更语句,包括:判断将所述原生表结构变更为所述目标表结构时是否使用开源工具,其中,所述开源工具用于对所述原生表结构进行修改;以及响应于将所述原生表结构变更为所述目标表结构时未使用所述开源工具的判断结果,从所述二进制日志记录中读取表变更语句。5.根据权利要求1至4中任意一项所述的数据同步方法,其特征在于,在所述对上游数据库的二进制日志中记录的表结构变更事件进行解析,获得表变更语句之前,包括:对上游数据库的二进制日志的生成协议进行修改,使所述二进制日志记录表结构变更事件的多个表...
【专利技术属性】
技术研发人员:南方剑,刘畅,杨爽,陈存利,
申请(专利权)人:度小满科技北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。