数据库的同步处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:38595904 阅读:9 留言:0更新日期:2023-08-26 23:32
本申请提供一种数据库的同步处理方法、装置、电子设备及存储介质,涉及数据库技术、大数据技术。该方法包括:获取源数据库中的源表的元数据信息,以及目标数据库中的目标表的元数据信息;根据源表的元数据信息和目标表的元数据信息,校验源表的表结构与目标表的表结构之间的一致性;若上述源表的表结构与目标表的表结构一致,则查询与源数据库的操作记录文件对应的消费偏移量记录表,以确定源表的表结构是否发生变更;若上述源表的表结构未发生变更,则将源表的数据同步至目标表。用以解决现有技术中数据同步存在无法保证实效、消耗成本过高的问题。的问题。的问题。

【技术实现步骤摘要】
数据库的同步处理方法、装置、电子设备及存储介质


[0001]本申请涉及数据库技术、大数据技术,尤其涉及一种数据库的同步处理方法、装置、电子设备及存储介质。

技术介绍

[0002]目前,在软件开发过程中,经常面临不同或相同数据库之间数据同步的问题,例如,使用脚本定时导出源数据库数据,再导入到目标数据库中进行同步。但是,这种方式无法满足对用户对数据同步的实效性需求。
[0003]另外,在开发过程中源数据库中的业务基础表会新增或修改字段,这些变化需在目标数据库同步进行,这种方式需要人工操作,人工成本过高。此外,针对企业用户开发的系统对安全性要求较高,要求对相关同步组件进行定期升级整改,以修复漏洞,这种方式维护成本过高。
[0004]由此,现有技术中数据库之间的数据同步方式普遍存在无法保证实效、消耗成本过高的问题。

技术实现思路

[0005]本申请提供一种数据库的同步处理方法、装置、电子设备及存储介质,用以解决现有技术中数据同步存在无法保证实效、消耗成本过高的问题,实现数据库之间实时进行数据同步,降低消耗成本的技术效果。
[0006]一方面,本申请提供一种数据库的同步处理方法,包括:
[0007]获取源数据库中的源表的元数据信息,以及目标数据库中的目标表的元数据信息;
[0008]根据所述源表的元数据信息和所述目标表的元数据信息,校验所述源表的表结构与所述目标表的表结构之间的一致性;
[0009]若所述源表的表结构与所述目标表的表结构一致,则查询与所述源数据库的操作记录文件对应的消费偏移量记录表,以确定所述源表的表结构是否发生变更;
[0010]若所述源表的表结构未发生变更,则将所述源表的数据同步至所述目标表。
[0011]进一步地,所述查询所述源数据库中操作记录文件对应的消费偏移量记录表,以确定所述源表的表结构是否发生变更,包括:
[0012]查询所述源数据库中操作记录文件对应的消费偏移量记录表,得到上次消费所述操作记录文件成功后所保存的消费位置,其中,所述操作记录文件用于记录对所述源表进行更新的数据操作类型和表结构变更信息;
[0013]从所述消费位置开始,对所述操作记录文件进行解析,以确定所述源表的表结构是否发生变更。
[0014]进一步地,所述方法还包括:
[0015]若所述源表的表结构发生变更,且所述目标表的表结构自动变更功能已开启,则
基于所述源表的表结构变更所述目标表的表结构;
[0016]更新所述操作记录文件对应的所述消费偏移量记录表;
[0017]从上次消费所述操作记录文件成功后所保存的消费位置的下一位置开始,对所述操作记录文件进行解析,以确定所述源表的表结构是否发生变更。
[0018]进一步地,所述方法还包括:
[0019]若所述源表的表结构发生变更,且所述目标表的表结构自动变更功能已关闭,则再次校验所述源表的表结构与所述目标表的表结构之间的一致性;
[0020]若所述源表的表结构与所述目标表的表结构不一致,则等待一段时间继续进行校验,直到校验次数超过最大重试次数,则停止数据同步处理程序,并输出错误提示信息;
[0021]若所述源表的表结构与所述目标表的表结构一致,则从上次消费所述操作记录文件成功后所保存的消费位置的下一位置开始,对所述操作记录文件进行解析,以确定所述源表的表结构是否发生变更。
[0022]进一步地,所述方法还包括:
[0023]若所述源表的表结构与所述目标表的表结构不一致,则停止数据同步处理程序,并输出错误提示信息。
[0024]进一步地,将所述源表的数据同步至所述目标表之后,所述方法还包括:
[0025]从上次消费所述操作记录文件成功后所保存的消费位置的下一位置开始,对所述操作记录文件进行解析,以确定所述源表的表结构是否发生变更。
[0026]进一步地,所述源表的元数据信息与所述目标表的元数据信息均包括:表字段名称、字段类型、主键、字段顺序。
[0027]另一方面,本申请提供一种数据库的同步处理装置,上述装置包括:
[0028]获取模块,用于获取源数据库中的源表的元数据信息,以及目标数据库中的目标表的元数据信息;
[0029]校验模块,用于根据所述源表的元数据信息和所述目标表的元数据信息,校验所述源表的表结构与所述目标表的表结构之间的一致性;
[0030]确定模块,用于若所述源表的表结构与所述目标表的表结构一致,则查询与所述源数据库的操作记录文件对应的消费偏移量记录表,以确定所述源表的表结构是否发生变更;
[0031]同步模块,用于若所述源表的表结构未发生变更,则将所述源表的数据同步至所述目标表。
[0032]另一方面,本申请提供一种电子设备,包括:处理器,以及与上述处理器连接的存储器;上述存储器存储计算机执行指令;上述处理器执行上述存储器存储的计算机执行指令,以实现如任一项上述的方法。
[0033]另一方面,本申请提供一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机执行指令,上述计算机执行指令被处理器执行时用于实现如任一项上述的方法。
[0034]另一方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现任一项上述的方法。
[0035]本申请提供的数据库的同步处理方法,通过获取源数据库中的源表的元数据信
息,以及目标数据库中的目标表的元数据信息;根据源表的元数据信息和目标表的元数据信息,校验源表的表结构与目标表的表结构之间的一致性;若上述源表的表结构与目标表的表结构一致,则查询与源数据库的操作记录文件对应的消费偏移量记录表,以确定源表的表结构是否发生变更;若上述源表的表结构未发生变更,则将源表的数据同步至目标表。
[0036]本申请实施例,采用源数据库的操作记录文件记录源表的操作信息,并采用消费偏移量记录表来记录上次消费操作记录文件的消费地址。基于源表和目标表各自的元数据信息,校验源表的表结构与目标表的表结构是否一致,并在两者表结构一致时,查询与源数据库的操作记录文件对应的消费偏移量记录表,以确定源表的表结构是否发生变更;并在源表的表结构未发生变更的情况下,直接将源表的数据同步至目标表。可以保证数据库之间同步数据的实效性,并且无需人工操作,安全性高可降低修复漏洞的成本,因而,本申请实施例,可以解决现有技术中数据同步存在无法保证实效、消耗成本过高的问题。
附图说明
[0037]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0038]图1为本申请实施例所提供的一种数据库的同步处理方法的流程示意图;
[0039]图2为本申请实施例提供的一种可选的数据库的同步处理方法的流程示意图;
[0040]图3为本申请实施例所提供的一种可选的数据库的同步处理方法的流程示意图;
[0041]图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库的同步处理方法,其特征在于,所述方法包括:获取源数据库中的源表的元数据信息,以及目标数据库中的目标表的元数据信息;根据所述源表的元数据信息和所述目标表的元数据信息,校验所述源表的表结构与所述目标表的表结构之间的一致性;若所述源表的表结构与所述目标表的表结构一致,则查询与所述源数据库的操作记录文件对应的消费偏移量记录表,以确定所述源表的表结构是否发生变更;若所述源表的表结构未发生变更,则将所述源表的数据同步至所述目标表。2.根据权利要求1所述的方法,其特征在于,查询所述源数据库中操作记录文件对应的消费偏移量记录表,以确定所述源表的表结构是否发生变更,包括:查询所述源数据库中操作记录文件对应的消费偏移量记录表,得到上次消费所述操作记录文件成功后所保存的消费位置,其中,所述操作记录文件用于记录对所述源表进行更新的数据操作类型和表结构变更信息;从所述消费位置开始,对所述操作记录文件进行解析,以确定所述源表的表结构是否发生变更。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述源表的表结构发生变更,且所述目标表的表结构自动变更功能已开启,则基于所述源表的表结构变更所述目标表的表结构;更新所述操作记录文件对应的所述消费偏移量记录表;从上次消费所述操作记录文件成功后所保存的消费位置的下一位置开始,对所述操作记录文件进行解析,以确定所述源表的表结构是否发生变更。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述源表的表结构发生变更,且所述目标表的表结构自动变更功能已关闭,则再次校验所述源表的表结构与所述目标表的表结构之间的一致性;若所述源表的表结构与所述目标表的表结构不一致,则等待一段时间继续进行校验,直到校验次数超过最大重试次数,则停止数据同步处理程序,并输出错误提示信息;若所述源表的表结构与所述目标表的表结构一致,从上次消费所述操作记录文件成功后所保存的消费位置...

【专利技术属性】
技术研发人员:王文儒
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1