CN116303777A - 一种跨异构数据库之间实时同步复制方法及系统 - Google Patents

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

Info

Publication number
CN116303777A
CN116303777A CN202310224984.0A CN202310224984A CN116303777A CN 116303777 A CN116303777 A CN 116303777A CN 202310224984 A CN202310224984 A CN 202310224984A CN 116303777 A CN116303777 A CN 116303777A
Authority
CN
China
Prior art keywords
database
data
source
target
data table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310224984.0A
Other languages
English (en)
Inventor
刘鹏
徐英辉
邓春宇
王大中
赵伟森
张保亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Electric Power Research Institute Co Ltd CEPRI
Original Assignee
China Electric Power Research Institute Co Ltd CEPRI
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Electric Power Research Institute Co Ltd CEPRI filed Critical China Electric Power Research Institute Co Ltd CEPRI
Priority to CN202310224984.0A priority Critical patent/CN116303777A/zh
Publication of CN116303777A publication Critical patent/CN116303777A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种跨异构数据库之间实时同步复制方法及系统,方法包括:建立源数据库和目标数据库之间数据类型的映射关系;根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表;在源数据库的源数据表上建立捕捉数据变化的触发器,触发器用于在源数据表的数据变化时,向目标数据表写入相同的数据变化内容。本发明实施例提供的一种跨异构数据库之间实时同步复制方法及系统,实现了跨异构数据库之间数据的同步复制,能够解决分布式异构数据库之间的数据同步问题。并且本发明能够将源数据库的数据同步复制到本地的目标数据库,提高数据转发效率。

Description

一种跨异构数据库之间实时同步复制方法及系统
技术领域
本发明涉及数据库同步技术领域,尤其涉及一种跨异构数据库之间实时同步复制方法及系统。
背景技术
信息技术的飞速发展导致数据规模极大增加,数据来源及类型丰富多样,传统关系型数据库已无法满足大型企业和系统的存储需求,越来越多的行业和系统的源数据还存储于非关系型(NoSQL)数据库、大规模并行处理(MassivelyParallelProcessor,MPP)数据库中。为了增强对数据库的集中管理,提高数据库系统的响应速度和安全性,多源异构数据库的实时同步复制成为研究的重点。
异构数据库是指数据定义模型、表示方法、管理系统和基础操作系统都存在差异的数据库,例如MSSQLServer、Oracle、DB2、Sybase、MySQL、PostgreSQL中的任意一种相对于其他数据库均为异构数据库。
现阶段在计算机应用领域当中不同类型的数据库都具有较为广泛的应用,由于分布式异构数据库之间不少数据是相关联的,因此为保证数据库中各节点数据一致,亟需解决分布式异构数据库之间的数据同步问题。
因此,现在亟需一种跨异构数据库之间实时同步复制方法及系统来解决上述问题。
发明内容
为了解决上述问题,本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的一种跨异构数据库之间实时同步复制方法及系统。
第一方面本发明实施例提供一种跨异构数据库之间实时同步复制方法,包括:
建立源数据库和目标数据库之间数据类型的映射关系;其中,所述源数据库和目标数据库为异构数据库;
根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表;
在所述源数据库的源数据表上建立捕捉数据变化的触发器,触发器用于在源数据表的数据变化时,向目标数据表写入相同的数据变化内容。
优选的,所述建立源数据库和目标数据库之间数据类型的映射关系包括:
将源数据库中的数据类型转为目标数据库支持的数据类型。
优选的,所述根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表,包括:
根据源数据表的列信息在目标表中创建列,根据所述映射关系设置目标数据表各列的数据类型;
根据源数据表的索引和约束信息,在目标数据表中添加索引和约束。
优选的,所述方法还包括:将所述源数据库和目标数据库之间数据类型的映射关系保存在指定文件中。
优选的,所述源数据库和所述目标数据库为MySQL、Oracle、DB2、PostgreSQL中的任一种。
优选的,在触发器向目标数据表写入相同的数据变化内容之后,所述方法还包括:
获取源数据库更新日志和目标数据库更新日志,校验源数据库和目标数据库同步数据的一致性。
第二方面本发明实施例还提供一种跨异构数据库之间实时同步复制系统,包括:
映射关系建立模块,用于建立源数据库和目标数据库之间数据类型的映射关系;其中,所述源数据库和目标数据库为异构数据库;
创建模块,用于根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表;
同步模块,用于在所述源数据库的源数据表上建立捕捉数据变化的触发器,触发器用于在源数据表的数据变化时,向目标数据表写入相同的数据变化内容。
第三方面本发明实施例提供了一种电子设备,包括:
处理器、存储器、通信接口和通信总线;其中,所述处理器、存储器、通信接口通过所述通信总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述一种跨异构数据库之间实时同步复制方法。
第四方面本发明实施例提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述一种跨异构数据库之间实时同步复制方法。
本发明实施例提供的一种跨异构数据库之间实时同步复制方法及系统,实现了跨异构数据库之间数据的同步复制,能够解决分布式异构数据库之间的数据同步问题。并且本发明能够将源数据库的数据同步复制到本地的目标数据库,提高数据转发效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种跨异构数据库之间实时同步复制方法流程图;
图2是本发明实施例提供的一种跨异构数据库之间实时同步复制系统结构框图;
图3是本发明实施例提供的一种电子设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种跨异构数据库之间实时同步复制方法流程图,如图1所示,包括:
S1,建立源数据库和目标数据库之间数据类型的映射关系;其中,所述源数据库和目标数据库为异构数据库。
其中,源数据库和目标数据库可以是MySQL、Oracle、DB2、PostgreSQL中的任一种。本实施例中,建立源数据库的数据类型和目标数据库的数据类型的映射关系,即将源数据库中的数据类型转为目标数据库支持的数据类型。
S2,根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表。
在建立源数据库和目标数据库之间数据类型的映射关系后,通过这种映射关系进行数据转换,数据转换过程可以采用中间数据格式,由源数据库到中间数据格式以及中间数据格式到目标数据库分别做映射的方式从而完成从源数据库到目标数据库类型的转换。中介数据格式可以采用标准的预定义的文本格式或基于XML的数据格式。
在一个实施例中,步骤S2根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表,包括:
根据源数据表的列信息在目标表中创建列,根据所述映射关系设置目标数据表各列的数据类型。根据源数据表的索引和约束信息,在目标数据表中添加索引和约束。其中,列信息可以包括列长度、列名、列注释和默认值。列长度是指该列中的每条数据能够存储的数据的长度,例如255个字符。列注释与表注释类似,但解释的是列的内容。默认值是指当插入新数据时,若该列对应的属性没有被指定时,默认填入的值。
S3,在所述源数据库的源数据表上建立捕捉数据变化的触发器,触发器用于在源数据表的数据变化时,向目标数据表写入相同的数据变化内容。
可以理解的是,本发明在源数据表上建立捕捉数据变化的触发器,当触发器捕捉到源数据表的数据发生变化时,触发器自动触发执行,向目标数据表写入相同的数据变化内容,实现源数据库和目标数据库之间数据的实时同步复制。
本发明实施例提供的跨异构数据库之间实时同步复制方法,实现了跨异构数据库之间数据的同步复制,能够解决分布式异构数据库之间的数据同步问题。并且本发明能够将源数据库的数据同步复制到本地的目标数据库,提高数据转发效率。
在上述实施例的基础上,跨异构数据库之间实时同步复制方法还包括:将所述源数据库和目标数据库之间数据类型的映射关系保存在指定文件中。
本实施例将源数据库和目标数据库之间数据类型的映射关系保存在制定文件中,以方便步骤S2进行数据转换时调用该映射关系,使得异构数据库数据同步能够顺利进行。
在上述各实施例的基础上,在步骤S3触发器向目标数据表写入相同的数据变化内容之后,所述方法还包括:
获取源数据库更新日志和目标数据库更新日志,校验源数据库和目标数据库同步数据的一致性。
本发明对异构数据库同步数据进行一致性校验,提高了本发明跨异构数据库之间实时同步复制方法的可靠性。
图2是本发明实施例提供的一种跨异构数据库之间实时同步复制系统结构示意图,如图2所示,该系统包括:
映射关系建立模块201,用于建立源数据库和目标数据库之间数据类型的映射关系;其中,所述源数据库和目标数据库为异构数据库;
创建模块202,用于根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表;
同步模块203,用于在所述源数据库的源数据表上建立捕捉数据变化的触发器,触发器用于在源数据表的数据变化时,向目标数据表写入相同的数据变化内容。
具体的如何通过映射关系建立模块201、创建模块202和同步模块203执行图1所示的跨异构数据库之间实时同步复制方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图3是本发明实施例提供的一种电子设备的结构框图,参照图3,所述电子设备,包括:处理器(processor)301、通信接口(Communications Interface)302、存储器(memory)303和总线304,其中,处理器301,通信接口302,存储器303通过总线304完成相互间的通信。处理器301可以调用存储器303中的逻辑指令,以执行如下方法:建立源数据库和目标数据库之间数据类型的映射关系;其中,所述源数据库和目标数据库为异构数据库;根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表;在所述源数据库的源数据表上建立捕捉数据变化的触发器,触发器用于在源数据表的数据变化时,向目标数据表写入相同的数据变化内容。
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:建立源数据库和目标数据库之间数据类型的映射关系;其中,所述源数据库和目标数据库为异构数据库;根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表;在所述源数据库的源数据表上建立捕捉数据变化的触发器,触发器用于在源数据表的数据变化时,向目标数据表写入相同的数据变化内容。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:建立源数据库和目标数据库之间数据类型的映射关系;其中,所述源数据库和目标数据库为异构数据库;根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表;在所述源数据库的源数据表上建立捕捉数据变化的触发器,触发器用于在源数据表的数据变化时,向目标数据表写入相同的数据变化内容。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

Claims (9)

1.一种跨异构数据库之间实时同步复制方法,其特征在于,包括:
建立源数据库和目标数据库之间数据类型的映射关系;其中,所述源数据库和目标数据库为异构数据库;
根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表;
在所述源数据库的源数据表上建立捕捉数据变化的触发器,触发器用于在源数据表的数据变化时,向目标数据表写入相同的数据变化内容。
2.根据权利要求1所述的跨异构数据库之间实时同步复制方法,其特征在于,所述建立源数据库和目标数据库之间数据类型的映射关系包括:
将源数据库中的数据类型转为目标数据库支持的数据类型。
3.根据权利要求1所述的跨异构数据库之间实时同步复制方法,其特征在于,所述根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表,包括:
根据源数据表的列信息在目标表中创建列,根据所述映射关系设置目标数据表各列的数据类型;
根据源数据表的索引和约束信息,在目标数据表中添加索引和约束。
4.根据权利要求1所述的跨异构数据库之间实时同步复制方法,其特征在于,所述方法还包括:
将所述源数据库和目标数据库之间数据类型的映射关系保存在指定文件中。
5.根据权利要求1所述的跨异构数据库之间实时同步复制方法,其特征在于,所述源数据库和所述目标数据库为MySQL、Oracle、DB2、PostgreSQL中的任一种。
6.根据权利要求1所述的跨异构数据库之间实时同步复制方法,其特征在于,在触发器向目标数据表写入相同的数据变化内容之后,所述方法还包括:
获取源数据库更新日志和目标数据库更新日志,校验源数据库和目标数据库同步数据的一致性。
7.一种跨异构数据库之间实时同步复制系统,其特征在于,包括:
映射关系建立模块,用于建立源数据库和目标数据库之间数据类型的映射关系;其中,所述源数据库和目标数据库为异构数据库;
创建模块,用于根据源数据库和目标数据库之间数据类型的映射关系,在目标数据库中创建与源数据表建立映射关系的目标数据表;
同步模块,用于在所述源数据库的源数据表上建立捕捉数据变化的触发器,触发器用于在源数据表的数据变化时,向目标数据表写入相同的数据变化内容。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述跨异构数据库之间实时同步复制方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述跨异构数据库之间实时同步复制方法的步骤。
CN202310224984.0A 2023-03-01 2023-03-01 一种跨异构数据库之间实时同步复制方法及系统 Pending CN116303777A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310224984.0A CN116303777A (zh) 2023-03-01 2023-03-01 一种跨异构数据库之间实时同步复制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310224984.0A CN116303777A (zh) 2023-03-01 2023-03-01 一种跨异构数据库之间实时同步复制方法及系统

Publications (1)

Publication Number Publication Date
CN116303777A true CN116303777A (zh) 2023-06-23

Family

ID=86781006

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310224984.0A Pending CN116303777A (zh) 2023-03-01 2023-03-01 一种跨异构数据库之间实时同步复制方法及系统

Country Status (1)

Country Link
CN (1) CN116303777A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116506449A (zh) * 2023-06-26 2023-07-28 新亿成科技(江苏)有限公司 通信网络节点信息同步方法、系统、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116506449A (zh) * 2023-06-26 2023-07-28 新亿成科技(江苏)有限公司 通信网络节点信息同步方法、系统、设备及存储介质
CN116506449B (zh) * 2023-06-26 2023-09-26 新亿成科技(江苏)有限公司 通信网络节点信息同步方法、系统、设备及存储介质

Similar Documents

Publication Publication Date Title
CN108536761B (zh) 报表数据查询方法及服务器
TWI628551B (zh) Data library copying method and device based on log parsing
CN102609417B (zh) 基于ifc标准的建筑信息模型数据集成与交换引擎装置和方法
US9607061B2 (en) Using views of subsets of nodes of a schema to generate data transformation jobs to transform input files in first data formats to output files in second data formats
CN110990467B (zh) 一种bim模型格式转换方法及转换系统
CN109448100B (zh) 三维模型格式转换方法、系统、计算机设备及存储介质
MX2010011958A (es) Sincronizacion de documento a traves de protocolos sin estado.
CN103309904A (zh) 一种生成数据仓库etl 代码的方法及装置
CN103699638A (zh) 一种基于配置参数实现跨数据库类型同步数据的方法
CN104035754A (zh) 一种基于xml的自定义代码生成方法及生成器
AU2017254506B2 (en) Method, apparatus, computing device and storage medium for data analyzing and processing
CN104216961A (zh) 一种数据处理方法和装置
CN113051347B (zh) 异构数据库之间数据同步方法、系统、设备及存储介质
CN116303777A (zh) 一种跨异构数据库之间实时同步复制方法及系统
CN114741375A (zh) 一种多源异构数据库快速自动数据迁移系统及方法
CN106469152A (zh) 一种基于etl的文件处理方法及系统
CN114722119A (zh) 数据同步方法及系统
CN105426590A (zh) 一种机加工艺特征树及其构建方法
CN109299074A (zh) 一种基于模板化数据库视图的数据校验方法及系统
CN106126564A (zh) 一种基于动态模板语言渲染的方法
CN110597821B (zh) 数据仓库表结构变更方法及装置
WO2024012195A1 (zh) 统一校验方法、装置、设备和存储介质
CN109271456A (zh) 主机数据库文件导出方法及装置
US10657152B2 (en) Synchronization of diagrams and associated structured data
CN105573763A (zh) 一种支持rtos的嵌入式系统建模方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication