一种跨异构数据库之间实时同步复制方法及系统技术方案

技术编号:38003728 阅读:9 留言:0更新日期:2023-06-30 10:18
本发明专利技术实施例提供了一种跨异构数据库之间实时同步复制方法及系统,方法包括:建立源数据库和目标数据库之间数据类型的映射关系;根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表;在源数据库的源数据表上建立捕捉数据变化的触发器,触发器用于在源数据表的数据变化时,向目标数据表写入相同的数据变化内容。本发明专利技术实施例提供的一种跨异构数据库之间实时同步复制方法及系统,实现了跨异构数据库之间数据的同步复制,能够解决分布式异构数据库之间的数据同步问题。并且本发明专利技术能够将源数据库的数据同步复制到本地的目标数据库,提高数据转发效率。提高数据转发效率。提高数据转发效率。

【技术实现步骤摘要】
一种跨异构数据库之间实时同步复制方法及系统


[0001]本专利技术涉及数据库同步
,尤其涉及一种跨异构数据库之间实时同步复制方法及系统。

技术介绍

[0002]信息技术的飞速发展导致数据规模极大增加,数据来源及类型丰富多样,传统关系型数据库已无法满足大型企业和系统的存储需求,越来越多的行业和系统的源数据还存储于非关系型(NoSQL)数据库、大规模并行处理(MassivelyParallelProcessor,MPP)数据库中。为了增强对数据库的集中管理,提高数据库系统的响应速度和安全性,多源异构数据库的实时同步复制成为研究的重点。
[0003]异构数据库是指数据定义模型、表示方法、管理系统和基础操作系统都存在差异的数据库,例如MSSQLServer、Oracle、DB2、Sybase、MySQL、PostgreSQL中的任意一种相对于其他数据库均为异构数据库。
[0004]现阶段在计算机应用领域当中不同类型的数据库都具有较为广泛的应用,由于分布式异构数据库之间不少数据是相关联的,因此为保证数据库中各节点数据一致,亟需解决分布式异构数据库之间的数据同步问题。
[0005]因此,现在亟需一种跨异构数据库之间实时同步复制方法及系统来解决上述问题。

技术实现思路

[0006]为了解决上述问题,本专利技术实施例提供一种克服上述问题或者至少部分地解决上述问题的一种跨异构数据库之间实时同步复制方法及系统。
[0007]第一方面本专利技术实施例提供一种跨异构数据库之间实时同步复制方法,包括:
[0008]建立源数据库和目标数据库之间数据类型的映射关系;其中,所述源数据库和目标数据库为异构数据库;
[0009]根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表;
[0010]在所述源数据库的源数据表上建立捕捉数据变化的触发器,触发器用于在源数据表的数据变化时,向目标数据表写入相同的数据变化内容。
[0011]优选的,所述建立源数据库和目标数据库之间数据类型的映射关系包括:
[0012]将源数据库中的数据类型转为目标数据库支持的数据类型。
[0013]优选的,所述根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表,包括:
[0014]根据源数据表的列信息在目标表中创建列,根据所述映射关系设置目标数据表各列的数据类型;
[0015]根据源数据表的索引和约束信息,在目标数据表中添加索引和约束。
[0016]优选的,所述方法还包括:将所述源数据库和目标数据库之间数据类型的映射关系保存在指定文件中。
[0017]优选的,所述源数据库和所述目标数据库为MySQL、Oracle、DB2、PostgreSQL中的任一种。
[0018]优选的,在触发器向目标数据表写入相同的数据变化内容之后,所述方法还包括:
[0019]获取源数据库更新日志和目标数据库更新日志,校验源数据库和目标数据库同步数据的一致性。
[0020]第二方面本专利技术实施例还提供一种跨异构数据库之间实时同步复制系统,包括:
[0021]映射关系建立模块,用于建立源数据库和目标数据库之间数据类型的映射关系;其中,所述源数据库和目标数据库为异构数据库;
[0022]创建模块,用于根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表;
[0023]同步模块,用于在所述源数据库的源数据表上建立捕捉数据变化的触发器,触发器用于在源数据表的数据变化时,向目标数据表写入相同的数据变化内容。
[0024]第三方面本专利技术实施例提供了一种电子设备,包括:
[0025]处理器、存储器、通信接口和通信总线;其中,所述处理器、存储器、通信接口通过所述通信总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述一种跨异构数据库之间实时同步复制方法。
[0026]第四方面本专利技术实施例提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述一种跨异构数据库之间实时同步复制方法。
[0027]本专利技术实施例提供的一种跨异构数据库之间实时同步复制方法及系统,实现了跨异构数据库之间数据的同步复制,能够解决分布式异构数据库之间的数据同步问题。并且本专利技术能够将源数据库的数据同步复制到本地的目标数据库,提高数据转发效率。
附图说明
[0028]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0029]图1是本专利技术实施例提供的一种跨异构数据库之间实时同步复制方法流程图;
[0030]图2是本专利技术实施例提供的一种跨异构数据库之间实时同步复制系统结构框图;
[0031]图3是本专利技术实施例提供的一种电子设备的结构框图。
具体实施方式
[0032]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0033]图1是本专利技术实施例提供的一种跨异构数据库之间实时同步复制方法流程图,如图1所示,包括:
[0034]S1,建立源数据库和目标数据库之间数据类型的映射关系;其中,所述源数据库和目标数据库为异构数据库。
[0035]其中,源数据库和目标数据库可以是MySQL、Oracle、DB2、PostgreSQL中的任一种。本实施例中,建立源数据库的数据类型和目标数据库的数据类型的映射关系,即将源数据库中的数据类型转为目标数据库支持的数据类型。
[0036]S2,根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表。
[0037]在建立源数据库和目标数据库之间数据类型的映射关系后,通过这种映射关系进行数据转换,数据转换过程可以采用中间数据格式,由源数据库到中间数据格式以及中间数据格式到目标数据库分别做映射的方式从而完成从源数据库到目标数据库类型的转换。中介数据格式可以采用标准的预定义的文本格式或基于XML的数据格式。
[0038]在一个实施例中,步骤S2根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表,包括:
[0039]根据源数据表的列信息在目标表中创建列,根据所述映射关系设置本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨异构数据库之间实时同步复制方法,其特征在于,包括:建立源数据库和目标数据库之间数据类型的映射关系;其中,所述源数据库和目标数据库为异构数据库;根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表;在所述源数据库的源数据表上建立捕捉数据变化的触发器,触发器用于在源数据表的数据变化时,向目标数据表写入相同的数据变化内容。2.根据权利要求1所述的跨异构数据库之间实时同步复制方法,其特征在于,所述建立源数据库和目标数据库之间数据类型的映射关系包括:将源数据库中的数据类型转为目标数据库支持的数据类型。3.根据权利要求1所述的跨异构数据库之间实时同步复制方法,其特征在于,所述根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表,包括:根据源数据表的列信息在目标表中创建列,根据所述映射关系设置目标数据表各列的数据类型;根据源数据表的索引和约束信息,在目标数据表中添加索引和约束。4.根据权利要求1所述的跨异构数据库之间实时同步复制方法,其特征在于,所述方法还包括:将所述源数据库和目标数据库之间数据类型的映射关系保存在指定文件中。5.根据权利要求1所述的跨异构数据库之间实时同步复制方法,其特征在于,所...

【专利技术属性】
技术研发人员:刘鹏徐英辉邓春宇王大中赵伟森张保亮
申请(专利权)人:中国电力科学研究院有限公司
类型:发明
国别省市:

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

1