一种关系型异构数据库数据同步的方法及系统技术方案

技术编号:39417819 阅读:9 留言:0更新日期:2023-11-19 16:07
本发明专利技术涉及数据库数据处理技术领域,尤其涉及一种关系型异构数据库数据同步的方法及系统。本发明专利技术通过数据捕获模块、数据转化模型、数据转化准确性判断模块、数据修正模块和数据同步模块配合。对源数据库的变化数据部分进行捕获、转化、验证和同步。这个过程中通过基于机器学习技术以及预先配置的同步表文件、关键字信息表、语句调用表的数据转化模型一方面进行由源数据库到目标数据库的数据转换,另一方面对转化后的数据进行由目标数据库到源数据库的反向翻译,检测数据转换的准确性。最终打破了只能在相同类型数据库间同步的局限,实现对关系型异构数据库数据的高效、精准同步。精准同步。精准同步。

【技术实现步骤摘要】
一种关系型异构数据库数据同步的方法及系统


[0001]本专利技术涉及数据库数据处理
,尤其涉及一种关系型异构数据库数据同步的方法及系统。

技术介绍

[0002]关系型数据库广泛地应用于海量的应用系统数据存储和查询,且有多种不同的实现。较为主流的关系型数据库包括Oracle、MS Sqlserver、Mysql,且各自拥有许多版本。
[0003]通常情况下,很多行业内部使用的数据集不可避免地来自不同的数据源,并伴以不同的数据结构。这也会导致在“数据挖掘”、“数据存储”等前置数据应用流程中需要付出额外的成本。而不同的关系型数据库之间,虽然结构类似,但在字段类型、值的存储、SQL语法方面仍存在着差异,不能直接通过简单的复制实现不同的关系型数据库之间数据同步。

技术实现思路

[0004]针对
技术介绍
中存在的问题,提出一种关系型异构数据库数据同步的方法及系统。本专利技术通过基于机器学习技术以及预先配置的同步表文件、关键字信息表、语句调用表的数据转化模型一方面进行由源数据库到目标数据库的数据转换,另一方面对转化后的数据进行由目标数据库到源数据库的反向翻译,检测数据转换的准确性。最终打破了只能在相同类型数据库间同步的局限,实现对关系型异构数据库数据的高效、精准同步。
[0005]本专利技术提出一种关系型异构数据库数据同步的方法,步骤如下:S1、确定源数据库和目标数据库,获取源数据库的实时binlog;S2、采用控制表法捕获实时源数据库中未同步数据:S3、建立数据转化模型,一方面进行由源数据库到目标数据库的数据转换,另一方面对转化后的数据进行由目标数据库到源数据库的反向翻译,检测数据转换的准确性;S4、数据转化的准确性达到设定阈值,定时进行源数据库和目标数据库数据传输、同步;S5、数据转化的准确性低于设定阈值,对数据转化模型进行修正,再次执行转换操作,直至准确性达标。
[0006]优选的,binlog以事件形式记录了对MySQL数据库执行更改的所有操作,包括数据库表结构变更和表数据修改。
[0007]优选的,S2的具体步骤如下:S21、源数据表数据导入目标数据表:建立源数据表和目标数据表栏位的对应表,导入源表中的数据到目标表,使用Toad对比工具进行比对;S22、新建Trigger表以及与源数据表一一对应的控制表;S23、新增触发器;S24、检测源表中新增、删除和修改的数据是否可以加入控制表;S25、建立SSIS同步信息;
S26、当源数据表中数据发生变化时,触发器被触发,捕获未被同步的数据信息。
[0008]优选的,S21中建立通过建立视图,在不导入数据时进行数据转换,生成控制表。
[0009]优选的,S22在源表中增加SyncGuid栏位和guid数据类型,同时新增控制表sync_tablename_TR_CONTROL用以记录变动的源表数据记录。
[0010]优选的,S23中使用MySQL中的各种语句和函数在BEGIN和END之间添加触发器的内容,使得触发器在目标数据库被执行插入、更新或删除数据程序时触发监视操作,并记录插入、更新或删除数据内容。
[0011]优选的,S24中使用比较工具比较源和目标表的差异,同时测试trigger是否可以正常触发。
[0012]优选的,S26中捕获的数据信息包括发生数据变化的源数据表表名、变化数据项所在的主键值和数据变化类型、时间、状态。
[0013]优选的,数据转化模型基于机器学习技术以及预先配置的同步表文件、关键字信息表、语句调用表,提取源数据表中的变化数据,通过关键词分析后,转化为标准结构化查询语言SQL语句,再整合为约定格式的文档;文档中包含被修改、删除或新增的数据信息;将上述的数据信息按照公式库中的对应算子进行计算、修正,将其转化为目标数据库的SQL脚本;SQL脚本在输出前经过翻译器反向翻译,与源数据表中的对应数据信息对比,判断转化的结果的准确性。
[0014]本专利技术又提出一种关系型异构数据库数据同步的系统,包括数据捕获模块、数据转化模型、数据转化准确性判断模块、数据修正模块和数据同步模块。
[0015]数据捕获模块通过设置控制表和触发器,在源数据库发生数据修改、删除、新增时捕获并记录未被同步的数据信息。
[0016]数据转化模型基于机器学习技术以及预先配置的同步表文件、关键字信息表、语句调用表,提取源数据表中的变化数据,一方面进行由源数据库到目标数据库的数据转换,另一方面对转化后的数据进行由目标数据库到源数据库的反向翻译,检测数据转换的准确性。
[0017]数据转化准确性判断模块将数据转化结果与源数据库中的变化数据进行对比,对其准确性进行判断。
[0018]数据修正模块在数据转化的准确性低于设定阈值,对数据转化模型进行修正。
[0019]数据同步模块定时将转化后的源数据库变化数据同步至目标数据库。
[0020]与现有技术相比,本专利技术具有如下有益的技术效果:本专利技术通过数据捕获模块、数据转化模型、数据转化准确性判断模块、数据修正模块和数据同步模块配合。对源数据库的变化数据部分进行捕获、转化、验证和同步。这个过程中通过基于机器学习技术以及预先配置的同步表文件、关键字信息表、语句调用表的数据转化模型一方面进行由源数据库到目标数据库的数据转换,另一方面对转化后的数据进行由目标数据库到源数据库的反向翻译,检测数据转换的准确性。最终打破了只能在相同类型数据库间同步的局限,实现对关系型异构数据库数据的高效、精准同步。
附图说明
[0021]图1为本专利技术一种实施例中关系型异构数据库数据同步的方法流程图;
图2为本专利技术一种实施例中采用控制表法捕获实时源数据库中未同步数据的方法流程图。
具体实施方式实施例
[0022]如图1所示,本专利技术提出的一种关系型异构数据库数据同步的方法,步骤如下:S1、确定源数据库和目标数据库,获取源数据库的实时binlog;S2、采用控制表法捕获实时源数据库中未同步数据:S3、建立数据转化模型,一方面进行由源数据库到目标数据库的数据转换,另一方面对转化后的数据进行由目标数据库到源数据库的反向翻译,检测数据转换的准确性;S4、数据转化的准确性达到设定阈值,定时进行源数据库和目标数据库数据传输、同步;S5、数据转化的准确性低于设定阈值,对数据转化模型进行修正,再次执行转换操作,直至准确性达标。
实施例
[0023]如图1所示,本专利技术提出的一种关系型异构数据库数据同步的方法,步骤如下:S1、确定源数据库和目标数据库,获取源数据库的实时binlog;S2、采用控制表法捕获实时源数据库中未同步数据:S3、建立数据转化模型,一方面进行由源数据库到目标数据库的数据转换,另一方面对转化后的数据进行由目标数据库到源数据库的反向翻译,检测数据转换的准确性;S4、数据转化的准确性达到设定阈值,定时进行源数据库和目标数据库数据传输、同步;S5、数据转化的准确性低于设定阈值,对数据转化模型进行修正,再次执行转换操作,直至准确性达本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种关系型异构数据库数据同步的方法,其特征在于,步骤如下:S1、确定源数据库和目标数据库,获取源数据库的实时binlog;S2、采用控制表法捕获实时源数据库中未同步数据:S3、建立数据转化模型,一方面进行由源数据库到目标数据库的数据转换,另一方面对转化后的数据进行由目标数据库到源数据库的反向翻译,检测数据转换的准确性;S4、数据转化的准确性达到设定阈值,定时进行源数据库和目标数据库数据传输、同步;S5、数据转化的准确性低于设定阈值,对数据转化模型进行修正,再次执行转换操作,直至准确性达标。2.根据权利要求1所述的一种关系型异构数据库数据同步的方法,其特征在于,binlog以事件形式记录了对MySQL数据库执行更改的所有操作,包括数据库表结构变更和表数据修改。3.根据权利要求1所述的一种关系型异构数据库数据同步的方法,其特征在于,S2的具体步骤如下:S21、源数据表数据导入目标数据表:建立源数据表和目标数据表栏位的对应表,导入源表中的数据到目标表,使用Toad对比工具进行比对;S22、新建Trigger表以及与源数据表一一对应的控制表;S23、新增触发器;S24、检测源表中新增、删除和修改的数据是否可以加入控制表;S25、建立SSIS同步信息;S26、当源数据表中数据发生变化时,触发器被触发,捕获未被同步的数据信息。4.根据权利要求1所述的一种关系型异构数据库数据同步的方法,其特征在于,S21中建立通过建立视图,在不导入数据时进行数据转换,生成控制表。5.根据权利要求1所述的一种关系型异构数据库数据同步的方法,其特征在于,S22在源表中增加SyncGuid栏位和guid数据类型,同时新增控制表sync_tablename_TR_CONTROL用以记录变动的源表数据记录。6.根据权利要求1所述的一种关系型异构数据库数据同步的方法,其特征在于,S23中使用MySQL中的各种语句...

【专利技术属性】
技术研发人员:石龙王昀阮乐成
申请(专利权)人:北京谷器数据科技有限公司
类型:发明
国别省市:

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

1