数据处理方法技术

技术编号:39665632 阅读:6 留言:0更新日期:2023-12-11 18:29
本申请实施例提供了一种数据处理方法

【技术实现步骤摘要】
数据处理方法、装置、电子设备及计算机可读存储介质


[0001]本申请涉及数据库存储
,具体而言,本申请涉及一种数据处理方法

装置

电子设备及计算机可读存储介质


技术介绍

[0002]数据迁移是将源数据库系统的数据迁移至目标数据库系统的一种技术,例如在执行存储集群间的主备同步

故障迁移任务时,需要保证源数据库系统与目标数据库系统的数据完全一致,因此数据迁移的精确性和高效性尤为重要

[0003]现有数据库系统通常都有各自的同步及迁移方案,以业界比较成熟的数据库解决方案
MySQL(
一种关系型数据库管理系统
)
为例,其可以基于
binlog(
二进制日志
)
机制进行数据的迁移与同步,但是该方法在处理数据迁移问题过程中的产品局限性较大,
binlog
机制只能兼容
MySQL
数据库系统本身,当脱离了
MySQL
体系,基于
binlog
机制的数据迁移方法就不再适用,存在通用性差的问题


技术实现思路

[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]获取模块,用于从第一数据库系统的存储引擎中获取待解析日志;其中,待解析日志是通过预设的第一结构化查询语句对第一数据库系统的数据表进行操作生成的;第一结构化查询语句为适用于第一数据库系统的操作指令;
[0039]解析模块,用于根据待解析日志的存储区域,从待解析日志中解析出键值对数据;
[0040]生成模块,用于基于预设的数据字典表

预设的元数据历史数据表和键值对数据生成针对待解析日志的第二结构化查询语句;其中,第二结构化查询语句为适用于第一数据库系统和第二数据库系统的操作指令;
[0041]执行模块,用于通过第二数据库系统执行第二结构化查询语句,以实现第一数据库系统到第二数据库系统的数据迁移

[0042]在一个可能的实现方式中,上述解析模块在根据待解析日志的存储区域,从待解析日志中解析出键值对数据时,用于:
[0043]当待解析日志的存储区域为用户域,从待解析日志中提取得到重做日志;当重做日志存在相关联的提交日志,则从重做日志中解析出用户域对应的键值对数据;
[0044]当待解析日志的存储区域为系统域,从待解析日志解析出系统域对应的键值对数据

[0045]在一个可能的实现方式中,上述解析模块在从待解析日志中提取得到重做日志时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据处理方法,包括:从第一数据库系统的存储引擎中获取待解析日志;其中,所述待解析日志是通过预设的第一结构化查询语句对第一数据库系统的数据表进行操作生成的;所述第一结构化查询语句为适用于所述第一数据库系统的操作指令;根据所述待解析日志的存储区域,从所述待解析日志中解析出键值对数据;基于预设的数据字典表

预设的元数据历史数据表和所述键值对数据生成针对所述待解析日志的第二结构化查询语句;其中,所述第二结构化查询语句为适用于第一数据库系统和第二数据库系统的操作指令;通过所述第二数据库系统执行所述第二结构化查询语句,以实现所述第一数据库系统到第二数据库系统的数据迁移
。2.
根据权利要求1所述的方法,其特征在于,所述根据所述待解析日志的存储区域,从所述待解析日志中解析出键值对数据,包括:当所述待解析日志的存储区域为用户域,从所述待解析日志中提取得到重做日志;当所述重做日志存在相关联的提交日志,则从所述重做日志中解析出所述用户域对应的键值对数据;当所述待解析日志的存储区域为系统域,从所述待解析日志解析出所述系统域对应的键值对数据
。3.
根据权利要求2所述的方法,其特征在于,所述从所述待解析日志中提取得到重做日志,包括:从所述待解析日志中提取得到重做日志和所述重做日志的关键字;所述基于预设的数据字典表

预设的元数据历史数据表和所述键值对数据生成针对所述待解析日志的第二结构化查询语句,包括如下至少一项:基于所述用户域对应的键值对数据的第一目标主键,从所述数据字典表和元数据历史数据表提取数据表的第一元数据;根据所述第一元数据将所述第一键值对数据转化为数据表的字段信息;基于所述字段信息和所述关键字生成第二结构化查询语句;基于所述系统域对应的键值对数据的第二目标主键,从所述数据字典表和元数据历史数据表提取数据表的第二元数据;根据所述第二元数据从所述第二键值对数据中提取第二结构化查询语句
。4.
根据权利要求3所述的方法,其特征在于,所述从所述数据字典表和元数据历史数据表提取数据表的第一元数据,包括:从所述数据字典表获取所述数据表的属性信息;从所述元数据历史数据表中获取所述数据表对应的字符串信息;将所述字符串信息解析得到所述数据表的历史属性信息;将所述属性信息和历史属性信息作为所述第一元数据
。5.
根据权利要求2所述的方法,其特征在于,所述方法,还包括:当所述重做日志存在相关联的回滚日志,则从所述第一数据库系统的缓存中删除所述重做日志
...

【专利技术属性】
技术研发人员:叶盛潘安群雷海林赵东志付全发郑礼雄
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1