CN109885581A - 数据库的同步方法、装置、设备及存储介质 - Google Patents

数据库的同步方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN109885581A
CN109885581A CN201910193374.2A CN201910193374A CN109885581A CN 109885581 A CN109885581 A CN 109885581A CN 201910193374 A CN201910193374 A CN 201910193374A CN 109885581 A CN109885581 A CN 109885581A
Authority
CN
China
Prior art keywords
database
table structure
information
data
field
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.)
Granted
Application number
CN201910193374.2A
Other languages
English (en)
Other versions
CN109885581B (zh
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.)
Suzhou Da Jia Ying Information Technology Co Ltd
Original Assignee
Suzhou Da Jia Ying Information Technology Co Ltd
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 Suzhou Da Jia Ying Information Technology Co Ltd filed Critical Suzhou Da Jia Ying Information Technology Co Ltd
Priority to CN201910193374.2A priority Critical patent/CN109885581B/zh
Publication of CN109885581A publication Critical patent/CN109885581A/zh
Application granted granted Critical
Publication of CN109885581B publication Critical patent/CN109885581B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种数据库的同步方法、装置、设备及存储介质。该方法包括:获取源数据库和目标数据库的表结构信息;根据所述源数据库的表结构信息与所述目标数据库的表结构信息,以及预设的字段属性捕获规则,确定表结构变更信息;根据所述表结构变更信息生成变更语句,并控制所述目标数据库执行所述变更语句,以更新所述目标数据库的表结构信息;获取所述源数据库中与所述表结构变更信息匹配的更新数据同步至所述目标数据库中。本发明实施例的技术方案,克服了现有技术的方案缺陷,还实现了库表字段多属性可选、内容可过滤的同步功能,解决了因源数据库字段属性特殊导致数据同步失败的问题。

Description

数据库的同步方法、装置、设备及存储介质
技术领域
本发明实施例涉及数据库技术领域,尤其涉及一种数据库的同步方法、装置、设备及存储介质。
背景技术
ODS(Operational Data Store,操作数据存储)作为DW(Data Warehouse,数据仓库)和业务系统的中间数据层,用于存放从业务系统中直接抽取出来的数据,且需要与业务数据源保持同步,具体是要与业务数据库的表结构同步以及数据同步。
现有技术中,一般是通过设计外部程序来感知业务数据库的表结构变更和数据变更,然后通过解析变更信息生成SQL(Structured Query Language,结构化查询语言)语句并使目标数据库执行SQL语句,以达到数据库同步的效果,具体可以通过日志来记录对数据库的改动,例如MySQL(关系型数据库管理系统)数据库中的binlog,但是当根据binlog同步失败时,需要人工介入在大量日志记录中找到出错时间点并手动执行时间区间内的binlog,如果在业务库已经运行的情况下,还需要手动执行业务库的全备和恢复,并确保binlog同步的时间点与全备一致;还可以是通过设计触发器程序和存储程序来实现表结构和数据变更同步,但是这样设计会加重业务数据库的负担,且容易出现由于触发器程序和存储程序设计有差别时而导致通用性差的问题。
发明内容
本发明实施例提供一种数据库的同步方法、装置、设备及存储介质,以克服现有技术的方案缺陷,并解决因业务数据库字段属性特殊而导致数据同步失败的问题。
第一方面,本发明实施例提供了一种数据库的同步方法,包括:
获取源数据库和目标数据库的表结构信息;
根据所述源数据库的表结构信息与所述目标数据库的表结构信息,以及预设的字段属性捕获规则,确定表结构变更信息;
根据所述表结构变更信息生成变更语句,并控制所述目标数据库执行所述变更语句,以更新所述目标数据库的表结构信息;
获取所述源数据库中与所述表结构变更信息匹配的更新数据同步至所述目标数据库中。
第二方面,本发明实施例还提供了一种数据库的同步装置,包括:
表结构信息获取模块,用于获取源数据库和目标数据库的表结构信息;
表结构变更确定模块用于,根据所述源数据库的表结构信息与所述目标数据库的表结构信息,以及预设的字段属性捕获规则,确定表结构变更信息;
表结构同步模块,用于根据所述表结构变更信息生成变更语句,并控制所述目标数据库执行所述变更语句,以更新所述目标数据库的表结构信息;
数据同步模块,用于获取所述源数据库中与所述表结构变更信息匹配的更新数据同步至所述目标数据库中。
第三方面,本发明实施例还提供了一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明任意实施例所述的数据库的同步方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的数据库的同步方法。
本发明实施例提供的一种数据库的同步方法、装置、设备及存储介质,在对数据库进行同步时,根据源数据库和目标数据库的表结构信息区别以及预设的字段属性捕获规则,确定表结构变更信息并更新目标数据库的表结构信息,然后再获取与表结构变更信息匹配的更新数据对目标数据库进行数据同步。由此,本发明实施例的技术方案,不需要修改源数据库(例如业务数据库)的任何配置,不需要开启binlog,也不依赖于数据库工具(例如mysqldump),而且,通过预设字段属性捕获规则,实现了库表字段多属性可选、内容可过滤的同步功能,解决了因源数据库字段属性特殊(例如源数据库存在虚拟键、特定属性NOTNULL)导致数据同步失败的问题。
附图说明
图1是本发明实施例一中的一种数据库的同步方法的流程图;
图2是本发明实施例二中的一种数据库的同步方法的流程图;
图3A是本发明实施例三中的一种数据库的同步方法中的表结构同步部分的流程图;
图3B是本发明实施例三中的一种数据库的同步方法中的内容同步部分的流程图;
图4是本发明实施例四中的一种数据库的同步装置的结构示意图;
图5是本发明实施例五中的一种设备的硬件结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本发明实施例一提供的一种数据库的同步方法的流程图,可适用于数据仓库ODS层数据库同步的情况,尤其是业务数据库中存在特殊的字段属性(例如业务数据库存在虚拟键、特定属性NOT NULL)容易导致数据同步失败的情况,该方法可以由本发明实施例提供的数据库的同步装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成计算机的处理器中。
如图1所示,本实施例的方法具体包括:
S110、获取源数据库和目标数据库的表结构信息。
在本实施例中,数据库的同步指的是将源数据库的数据变化同步至目标数据库,具体在数据仓库ODS层的应用中,源数据库可以指的是业务数据库,目标数据库可以指的是ODS数据库,同步过程主要分为两个部分,一个是源数据库与目标数据库的表结构同步,一个是源数据库和目标数据库的数据同步(也即内容同步)。
在本步骤之前,首先需要建立与源数据库,以及与目标数据库的数据库连接,然后根据匹配的查询命令,查询源数据库和目标数据库的表结构信息。
具体的,可以根据预先建立的数据库连接配置表中的连接关联信息分别创建与源数据库以及与目标数据库的数据库连接。
数据库连接配置表中,记录数据库的唯一连接名、连接类型是否为SSH(SecureShell)、连接地址、用户名、加密后的密码、端口号、是否需要SSH跳板、SSH连接ID(Identification)。典型的,可以使用Python封装出数据库管理类,通过连接名判断是否需要SSH隧道连接且创建数据库连接,以此实现多数据库连接集中管理。
以此,根据数据库连接配置表中源数据库的连接关联信息创建与源数据库的数据库连接,然后根据匹配的查询指令,查询到源数据库的表结构信息;根据数据库连接配置表中目标数据库的连接关联信息创建与目标数据库的数据库连接,然后根据匹配的查询指令,查询到目标数据库的表结构信息。
值得指出的是,本发明实施例可以同时对多个数据库进行同步,首先需要根据数据库连接配置表分别创建与各个源数据库的数据库连接,以及与匹配的各个目标数据库的数据库连接,然后分别查询各个源数据库的表结构信息,以及匹配的各个目标数据库的表结构信息。
在上述技术方案中,设计了数据库连接配置表,具有配置多个源数据库和目标数据库的SSH跳板连接信息的功能,解决了众多数据库连接配置繁杂易错的问题。
典型的,在实施本实施例提供的数据库的同步方法时,可以对同步周期进行设置,进而可以将S110具体为在达到与预设的同步周期匹配的同步时间时,获取源数据库和目标数据库的表结构信息,例如可以将同步周期设置为一天,则可以在到达每天的零点时,获取源数据库和目标数据库的表结构信息。
S120、根据源数据库的表结构信息与目标数据库的表结构信息,以及预设的字段属性捕获规则,确定表结构变更信息。
在查询到源数据库和目标数据库的表结构信息之后,根据源数据库的表结构信息与目标数据库的表结构信息之间的区别信息以及预设的字段属性捕获规则,分析出源数据库和目标数据库之间的表结构变更信息。
具体的,可以把源数据库的表结构信息和目标数据库的表结构信息存放到一个表格(例如为该表格取名为db_info)。
其中,字段属性捕获规则仅对字段属性有效,因为源数据库(业务数据库)发生新增删除操作一般是不可能提前预测到的。当字段属性发生变化时,根据字段属性捕获规则对某些字段属性变化进行有选择地过滤。
典型的,可以将S120具体为:根据源数据库的表结构信息与目标数据库的表结构信息确定与表结构关联的数据表或者字段的新增删除变更信息;根据源数据库的表结构信息与目标数据库的表结构信息以及预设的字段属性捕获规则,确定与表结构关联的字段属性变更信息。
具体的,新增删除变更信息可以是新增表变更信息、删除表变更信息、新增字段变更信息和删除字段变更信息。
在确定出表结构变更信息之后,还可以分别将新增删除变更信息和字段属性变更信息添加至匹配的变更记录表中,例如,将新增表变更信息添加至新增表变更记录表中,将删除表变更信息添加至删除表变更记录表中,将新增字段变更信息添加至新增字段变更记录表中,将删除字段变更信息添加至删除字段变更记录表中,将字段属性变更信息添加至字段属性变更记录表中。
即,从db_info中分出基本的五类变更信息,新增表变更信息、删除表变更信息、新增字段变更信息、删除字段变更信息和字段属性变更信息,并将这五类变更信息分别记录在table_add、table_del、column_add、column_del、column_diff这五张变更记录表中。
作为本实施例一种可选的实施方式,可以将字段属性捕获规则具体为:字段属性检测配置信息和字段属性内容过滤信息,根据字段属性检测配置信息确定哪些字段属性需要检测,根据字段属性内容过滤信息确定哪些字段属性内容应该记录在column_diff这张字段属性变更记录表中。
其中,字段属性内容过滤信息可以是字段属性内容正则匹配过滤信息。
典型的,可以将根据源数据库的表结构信息与目标数据库的表结构信息以及预设的字段属性捕获规则,确定与表结构关联的字段属性变更信息,具体为:
根据源数据库的表结构信息与目标数据库的表结构信息确定至少一条待确认字段变更信息;如果待确认字段变更信息与字段属性捕获规则匹配,也即与字段属性检测配置信息和字段属性内容过滤信息匹配,则将该待确认字段变更信息确定为与表结构关联的字段属性变更信息。
举例进行解释说明,例如:
column_diff_check={
'COLUMN_NAME':1,
'COLUMN_DEFAULT':1,
'IS_NULLABLE':0,
'COLUMN_TYPE':1,
'COLUMN_KEY':1,
'EXTRA':1,
'COLUMN_COMMENT':1
}
column_filter_pass={
'EXTRA':['^auto_increment$','^on update.*$',’^*’],
'COLUMN_KEY':['^PRI$',’^*’]
}
其中,column_diff_check为字段属性检测配置信息,配置哪些字段属性要检测,将需要检测的字段属性的有效值设置为1,将不需要检测的字段属性的有效值设置为0;column_filter_pass为字段属性内容过滤信息,用于对字段属性内容进行过滤,符合column_filter_pass即为捕获的字段属性变更信息。
由上述代码可知,字段属性'EXTRA'是需要检测的,当'EXTRA'内容为空或者auto_increment或者on update.*时,都会发生字段属性变更捕获,当'EXTRA'内容为其他任何值都不会触发字段属性变更捕获,触发捕获后,将捕获的db_info记录插入到column_diff表中。
S130、根据表结构变更信息生成变更语句,并控制目标数据库执行变更语句,以更新目标数据库的表结构信息。
在确定了源数据库和目标数据库的表结构变更信息之后,根据这些表结构变更信息生成变更语句,控制目标数据库执行生成的这些变更语句,以使目标数据库的表结构信息更新为与源数据库相同的表结构信息,至此,完成目标数据库与源数据库的表结构同步。
针对分别记录在table_add、table_del、column_add、column_del、column_diff这五张变更记录表中的新增表变更信息、删除表变更信息、新增字段变更信息、删除字段变更信息和字段属性变更信息这五类变更信息,要生成五种大类的变更语句,其中,适用于column_diff中的字段属性变更信息的变更语句最复杂,因为变更的字段可能还有例如主键等特殊属性,此时,可以选用具有特殊性的SQL语句,生成五种大类SQL语句,其中,可以抽象出针对字段属性变更的SQL语句。
S140、获取源数据库中与表结构变更信息匹配的更新数据同步至目标数据库中。
在将源数据库和目标数据库的表结构同步完成后,即可进行源数据库和目标数据库的内容同步(数据同步),读取与表结构变更信息匹配的更新数据,同步至目标数据库中,以使目标数据库的数据内容与源数据库中是相同的。
具体的,可以使用ETL(抽取EXTRACT、转换TRANSFORM、加载LOAD的简称)工具获取源数据库中与表结构变更信息匹配的更新数据同步至目标数据库中。其中,ETL工程能够实现数据从多个异构源数据库加载到目标数据库或其他目标地址。
在内容同步过程中,使用ETL工具进行数据抽取,可以很好地适配多种异构数据库的同步,具有模块化适配的优点。
当设置了同步周期时,可以将S140具体为获取源数据库中与表结构变更信息匹配的前一同步周期内的更新数据同步至目标数据库中。
例如,同步周期为一天,在到达每天的零点时,获取源数据库和目标数据库的表结构信息,首先确定源数据库和目标数据库的表结构变更信息,完成源数据库和目标数据库的表结构信息同步,然后获取源数据库中与表结构变更信息匹配的前一同步周期内,也就是前一天内的更新数据同步至目标数据库中。
本发明实施例的技术方案,可以快速配置多个源数据库(业务数据库)到数据仓库ODS层的同步实例,灵活且实用,不需要修改源数据库的任何配置,不需要开启binlog,也不依赖于数据库工具(例如mysqldump),而且,通过预设字段属性捕获规则,实现了库表字段多属性可选、内容可过滤的同步功能,解决了因源数据库字段属性特殊(例如源数据库存在虚拟键、特定属性NOT NULL)导致数据同步失败的问题。
进一步的,本发明实施例提供的数据库的同步方法,支持源数据库和目标数据库为异构数据库的情况。在根据预先建立的数据库连接配置表中的连接关联信息分别创建与源数据库以及与目标数据库的数据库连接之后,如果确定源数据库和目标数据库为异构数据库,则将源数据库和目标数据库中的字段属性映射为同一类型的字段属性。对应的,将根据表结构变更信息生成变更语句具体为:根据表结构变更信息生成与目标数据库匹配的变更语句。
如果源数据库为My SQL数据库,目标数据库为SQL Server数据库,二者为异构数据库,在进行表结构同步之前,需要先将源数据库和目标数据库中的字段属性映射为同一类型的字段属性,例如,源数据库中某字段属性值的类型为int,目标数据库中对应字段属性值的类型为int 64,那么需要先将源数据库和目标数据库中这一字段属性的类型映射为相同的属性,然后再将映射后的源数据库和目标数据库的表结构信息拉入db_info中,确定源数据库和目标数据库的表结构变更信息。
实施例二
图2是本发明实施例二提供的一种数据库的同步方法的流程图,本实施例以上述实施例为基础进行具体化,其中,在获取源数据库中与表结构变更信息匹配的更新数据同步至所述目标数据库中之前,还包括:
根据新增删除变更信息的新增表表名更新数据表同步配置表。
进一步的,将获取源数据库中与所述表结构变更信息匹配的更新数据同步至目标数据库中,具体为:
如果根据新增删除变更信息确定不存在新增表和新增字段,则使用当前ETL工程执行与数据表同步配置表中待同步数据表对应的增量数据同步;
如果根据新增删除变更信息确定存在新增表和/或新增字段,则获取相应新增表和/或与新增字段匹配的新增字段相关表;
根据相应新增表和/或新增字段相关表更新当前ETL工程;
使用更新后的ETL工程执行与相应新增表和/或新增字段相关表对应的全量数据同步操作,以及执行与数据表同步配置表中待同步数据表对应的增量数据同步。
进一步的,可以将执行与数据表同步配置表中待同步数据表对应的增量数据同步,具体为:
获取与增量数据同步对应的同步时间区间;
根据同步时间区间执行与数据表同步配置表中待同步数据表对应的增量数据同步。
如图2所示,本实施例的方法具体包括:
S210、在达到与预设的同步周期匹配的同步时间时,根据预先建立的数据库连接配置表中的连接关联信息分别创建与源数据库以及与目标数据库的数据库连接,获取源数据库和目标数据库的表结构信息。
S220、根据源数据库的表结构信息与目标数据库的表结构信息确定与表结构关联的数据表或者字段的新增删除变更信息。
新增删除变更信息可以是新增表变更信息、删除表变更信息、新增字段变更信息和删除字段变更信息。
S230、根据源数据库的表结构信息与目标数据库的表结构信息以及预设的字段属性捕获规则,确定与表结构关联的字段属性变更信息。
字段属性捕获规则具体为字段属性检测配置信息和字段属性内容过滤信息。
具体的,根据源数据库的表结构信息与目标数据库的表结构信息确定至少一条待确认字段变更信息;如果待确认字段变更信息与字段属性捕获规则匹配,则将该待确认字段变更信息确定为与表结构关联的字段属性变更信息。
如果源数据库和目标数据库为异构数据库,则需要先将源数据库和目标数据库中的字段属性映射为同一类型的字段属性,然后再确定新增删除变更信息和字段属性变更信息。
S240、分别将新增删除变更信息和字段属性变更信息添加至匹配的变更记录表中。
所述变更记录表具体包括:新增表变更记录表、删除表变更记录表、新增字段变更记录表、删除字段变更记录表和字段属性变更记录表。
S250、根据变更记录表生成变更语句,并控制目标数据库执行所述变更语句,以更新目标数据库的表结构信息。
S260、根据变更记录表确定本次同步是否存在新增表,若是,则执行S270,若否,则执行S280。
新增表变更记录表中记录着本次从源数据库到目标数据库同步过程中确定的新增表,也即,源数据库中有这个表,而目标数据库中没有这个表。
S270、根据新增删除变更信息的新增数据表表名更新数据表同步配置表,执行S2100。
数据表同步配置表中存储的是,与源数据库表结构信息对应的每个表的表名,以及与每个表对应的有关是否要同步的待同步配置信息,例如,如果表A需要同步,则其待同步配置信息为有效,例如为1,如果表B不需要同步,则其待同步配置信息为无效,例如为0。
因此,在根据新增表变更记录表确定本次同步存在新增表时,首先要把这个新增表的表名添加至数据表同步配置表中,并将其待同步配置信息设置为有效。
S280、根据变更记录表确定本次同步是否存在新增字段,若否,则执行S290,若是,则执行S2100。
新增字段变更记录表中记录着本次从源数据库到目标数据库同步过程中确定的新增字段,也即,源数据库中有这个字段,而目标数据库中没有这个字段。
S290、使用当前ETL工程执行与数据表同步配置表中待同步数据表对应的增量数据同步。
如果本次同步过程中不存在新增表和新增字段,则无需对当前的ETL工程进行更新,直接使用当前的ETL工程执行与数据表同步配置表中待同步数据表对应的增量数据同步即可。
其中,增量数据同步指的是对前一同步周期内的更新数据进行同步。
具体的,执行与所述数据表同步配置表中待同步数据表对应的增量数据同步的操作,首先要获取与增量数据同步对应的同步时间区间;然后根据同步时间区间执行与数据表同步配置表中待同步数据表对应的增量数据同步。
使用当前ETL工程读取数据表同步配置表,然后从源数据库中拉取数据表同步配置表中待同步配置信息为有效的各个表中创建时间和修改时间在同步时间区间内的数据,也即在同步时间区间内发生变化的数据,同步至目标数据库中。
具体的,可以使用ETL工程完成上述的数据同步操作,一个ETL工程任务中包括prepare,process,end三个子任务,针对ODS层数据库的同步任务,prepare负责读取数据表同步配置表,然后从业务数据库拉取数据表同步配置表中待同步配置信息为有效的各个表中创建时间和修改时间在同步时间区间内的数据,即同步时间区间内发生变化的数据,插入到STG暂存库里;process负责把STG暂存库里的数据同步到ODS数据库,end负责更新同步时间为当前时间。
S2100、获取相应新增表和/或与新增字段匹配的新增字段相关表,根据相应新增表和/或新增字段相关表更新当前ETL工程。
如果本次同步过程中存在新增表和/或新增字段,则需要对当前的ETL工程进行更新。也即,需要读取当前同步过程中的table_add和/或column_add是否有记录,进而判断是否需要重新自动生成ETL工程,如果任意一个表中有记录,则需要重新自动生成ETL工程。
ETL工程采用xml文件来描述模块属性、模块之间的关系,因此可以采用python程序来读取ETL模板,然后根据业务库的结构信息可以类比生成N个转换模块,从而实现ETL工程的自动生成功能,降低人工设计ETL工程的错误率,更方便自动化集成。ETL的转换单元之间可以使用并行连线来实现多线程并发执行的目的。通过读取配置好的线程数,自动生成并行连接线来控制prepare和process中的多线程数量,提高同步速度。
在上述技术方案中,通过自动生成ETL工程,解决了ETL工程针对表结构变更后需要人工重新生成ETL工程,通过配置ETL工程同步线程数,解决了表数量较多时同步速度慢等问题。
S2110、使用更新后的ETL工程执行与相应新增表和/或新增字段相关表对应的全量数据同步操作,以及执行与数据表同步配置表中待同步数据表对应的增量数据同步。
读取并更新数据表同步配置表,将数据表同步配置表中相应的新增表和/或新增字段相关表的待同步配置信息设置为有效,将数据表同步配置表中的其他表设置为无效,使用更新后的ETL工程执行与相应的新增表和/或新增字段相关表对应的全量数据同步操作,也即将与相应的新增表和/或新增字段相关表对应的所有数据同步至目标数据库。
然后,恢复数据表同步配置表中各个表的待同步配置信息,也即将在执行全量同步之前将待同步配置信息设置为无效的各个表的待同步配置信息恢复至有效,再使用更新后的ETL工程执行与数据表同步配置表中待同步数据表对应的增量数据同步,此时,需要读取同步时间区间,执行的是与同步时间区间对应的增量数据同步,也即对在同步时间区间内发生变化的数据进行同步。
具体的,如果根据新增删除变更信息确定存在删除字段,则首先获取与删除字段匹配的删除字段相关表;然后根据删除字段相关表更新当前ETL工程;再使用更新后的ETL工程执行与删除字段相关表对应的数据同步操作(数据删除操作)。也即,将目标数据库中与删除字段相关表中删除字段关联的数据删除。
具体的,如果根据新增删除变更信息确定存在删除表,则可以首先获取删除表,然后根据删除表更新当前ETL工程;再使用更新后的ETL工程执行与删除表对应的数据同步操作(数据删除操作)。在实际应用中,即使确定源数据库存在删除表,也不会将目标数据库中相应的表删除,将其保留以防不备之需,仅删除表中的数据。
值得指出的是,上述提到的同步时间区间是根据用户需求可自行配置的。
如果同步周期为一天,当前同步时间区间为2019-02-28 0:00至2019-03-01 0:00,但是由于某种特殊原因同步中途中断了,例如同步中断时间为2019-02-28 15:00,此时可以人工配置同步时间区间为2019-02-28 15:00至2019-03-01 0:00,进而重新开始同步时仅同步此段时间内的数据。由此,解决了同步失败后重跑历史时间窗口数据的问题,具有恢复易操作的优点。
而且,数据表同步配置表中待同步数据表也是根据用户需求可自行配置的。
在部分表同步失败后,可以将数据表同步配置表中这些表作为待同步数据表,也即将这些表的待同步配置信息设置为有效,将数据表同步配置表中其他表的待同步配置信息设置为无效,进而重新开始同步时仅同步这些表。由此,实现了部分表同步失败后,可单独重跑该表的有益效果,具有恢复易操作的优点。
本实施例未尽详细解释之处,请参见前述实施例,在此不再赘述。
实施例三
在上述实施例的基础上,本实施例针对ODS数据库同步这一具体的应用场景,以同步一个业务数据库至ODS层为例,提供了一种具体的实施方式,其中,如图3A所示,本实施例提供的数据库同步方法中表结构同步部分具体包括:
S310、根据预先建立的数据库连接配置表中的连接关联信息分别创建与业务数据库以及与ODS数据库的数据库连接,获取业务数据库和ODS数据库的表结构信息。
S320、根据业务数据库的表结构信息与ODS数据库的表结构信息确定与表结构关联的数据表或者字段的新增删除变更信息。
S330、根据业务数据库的表结构信息与ODS数据库的表结构信息以及预设的字段属性捕获规则,确定与表结构关联的字段属性变更信息。
字段属性捕获规则具体为字段属性检测配置信息和字段属性内容过滤信息。
具体的,根据业务数据库的表结构信息与ODS数据库的表结构信息确定至少一条待确认字段变更信息;如果待确认字段变更信息与字段属性捕获规则匹配,则将该待确认字段变更信息确定为与表结构关联的字段属性变更信息。
S340、分别将新增删除变更信息和字段属性变更信息添加至匹配的变更记录表中。
S350、根据变更记录表生成变更语句,并控制ODS数据库执行所述变更语句,以更新ODS数据库的表结构信息。
S360、如果确定已同步完成业务数据库到ODS数据库的表结构信息,则执行ODS数据库到STG暂存库的表结构信息同步。
其中,ODS数据库到STG暂存库的表结构信息同步方法与业务数据库到ODS数据库的表结构信息同步方法相同,在此不再赘述。
至此,完成了业务库与数据仓库的表结构同步。
如图3B所示,本实施例提供的数据库同步方法中内容同步部分,具体包括:
S301、根据预先建立的数据库连接配置表中的连接关联信息分别创建与业务数据库以及与ODS数据库的数据库连接。
S302、根据变更记录表确定本次同步是否存在新增表,若是,则执行S303,若否,则执行S304。
S303、根据新增删除变更信息的新增数据表表名更新数据表同步配置表,执行S306。
S304、根据变更记录表确定本次同步是否存在新增字段,若否,则执行S305,若是,则执行S306。
S305、使用当前ETL工程执行与数据表同步配置表中待同步数据表对应的增量数据同步。
S306、获取相应新增表和/或与新增字段匹配的新增字段相关表,根据相应新增表和/或新增字段相关表更新当前ETL工程。
S307、使用更新后的ETL工程执行与相应新增表和/或新增字段相关表对应的全量数据同步操作,以及执行与数据表同步配置表中待同步数据表对应的增量数据同步。
针对ODS层数据库的内容同步任务,使用ETL工程完成上述的数据同步操作,一个ETL工程任务中包括prepare,process,end三个子任务,prepare负责读取数据表同步配置表,然后从业务数据库拉取数据表同步配置表中待同步配置信息为有效的各个表中创建时间和修改时间在同步时间区间内的数据,即同步时间区间内发生变化的数据,插入到STG暂存库里;process负责把STG暂存库里的数据同步到ODS数据库,end负责更新同步时间为当前时间。其中,业务数据库到STG暂存库的内容同步,和STG暂存库到ODS暂存库的内容同步,均可通过执行S302-S307来实现。
至此,完成了业务库与ODS数据库的内容同步。
本实施例未尽详细解释之处,请参见前述实施例,在此不再赘述。
其中,本发明实施例提供的内容同步部分值得指出的几点设计为:
1、ETL工程采用多线程抽取的设计
具体的,ETL工程利用PDI软件提供的同步执行hop连接,可以实现多线程功能,配合连接池可以显著提高ETL抽取/插入/更新速度。
2、同步时间区间可根据用户需求自行配置的设计
具体的,同步时间区间可根据用户需求自行配置,解决了同步失败后重跑历史时间窗口数据的问题,具有恢复易操作的优点。
3、数据表同步配置表可根据用户需求自行配置的设计
具体的,数据表同步配置表可根据用户需求自行配置,实现了部分表同步失败后,可单独重跑该表的有益效果,具有恢复易操作的优点。
4、目标表数据的插入/更新设计
同一个连接下,存在local.ods_jff目标库和local.stg_ods_jff暂存库,在stg_ods_jff通过SQL脚本,跨库联表筛选出插入/更新数据,最后执行插入/更新操作。
5、ETL工程可根据模板自动生成的设计
通过python编写自动生成程序,具有参考模板生成ETL项目的功能。其中需要根据表的属性,例如是否拥有主键、是否有创建时间、修改时间等属性,来判断是否需要分类生成,例如抽取的SQL是全量还是增量语句。
本发明实施例提供的技术方案,用户可以根据需求灵活地配置要同步的表、配置同步的时间窗口、配置字段结构变更捕获触发条件、配置内容同步任务线程数量;具有独立的数据库连接配置模块(数据库连接配置表),实现与源数据库以及目标数据库的数据库连接;表结构同步部分和内容同步部分高度解耦;ETL工程可自动生成。通过配置N个任务实例,即可实现同步N个业务库到ODS层,并且每次同步信息都能落库。
实施例四
图4是本发明实施例四提供的一种数据库的同步装置的结构示意图,可适用于数据仓库ODS层数据库同步的情况,尤其是业务数据库中存在特殊的字段属性(例如业务数据库存在虚拟键、特定属性NOT NULL)容易导致数据同步失败的情况,该装置可采用软件和/或硬件的方式实现,并一般可集成计算机的处理器中。
如图4所示,该数据库的同步装置具体包括:表结构信息获取模块410、表结构变更确定模块420、表结构同步模块430和数据同步模块440,其中,
表结构信息获取模块410,用于获取源数据库和目标数据库的表结构信息;
表结构变更确定模块420,用于根据所述源数据库的表结构信息与所述目标数据库的表结构信息,以及预设的字段属性捕获规则,确定表结构变更信息;
表结构同步模块430,用于根据所述表结构变更信息生成变更语句,并控制所述目标数据库执行所述变更语句,以更新所述目标数据库的表结构信息;
数据同步模块440,用于获取所述源数据库中与所述表结构变更信息匹配的更新数据同步至所述目标数据库中。
本发明实施例的技术方案,可以快速配置多个源数据库(业务数据库)到数据仓库ODS层的同步实例,灵活且实用,不需要修改源数据库的任何配置,不需要开启binlog,也不依赖于数据库工具(例如mysqldump),而且,通过预设字段属性捕获规则,实现了库表字段多属性可选、内容可过滤的同步功能,解决了因源数据库字段属性特殊(例如源数据库存在虚拟键、特定属性NOT NULL)导致数据同步失败的问题。
其中,表结构信息获取模块410,具体用于在达到与预设的同步周期匹配的同步时间时,获取源数据库和目标数据库的表结构信息;
数据同步模块440,具体用于获取所述源数据库中与所述表结构变更信息匹配的前一同步周期内的更新数据同步至所述目标数据库中。
进一步的,表结构变更确定模块420具体包括:新增删除变更信息确定单元和字段属性变更信息确定单元,其中,
新增删除变更信息确定单元,用于根据所述源数据库的表结构信息与所述目标数据库的表结构信息确定与表结构关联的数据表或者字段的新增删除变更信息;
字段属性变更信息确定单元,用于根据所述源数据库的表结构信息与所述目标数据库的表结构信息以及预设的字段属性捕获规则,确定与表结构关联的字段属性变更信息。
具体的,所述字段属性捕获规则包括:字段属性检测配置信息和字段属性内容过滤信息。
进一步的,字段属性变更信息确定单元,具体用于根据所述源数据库的表结构信息与所述目标数据库的表结构信息确定至少一条待确认字段变更信息;如果所述待确认字段变更信息与所述字段属性捕获规则匹配,则将该所述待确认字段变更信息确定为与表结构关联的字段属性变更信息。
进一步的,该数据库的同步装置还包括:数据表同步配置表更新模块,用于,在获取所述源数据库中与所述表结构变更信息匹配的更新数据同步至所述目标数据库中之前,根据所述新增删除变更信息的新增表表名更新数据表同步配置表。
进一步的,数据同步模块440具体包括:第一数据同步单元和第二数据同步单元,其中,
第一数据同步单元,用于如果根据所述新增删除变更信息确定不存在新增表和新增字段,则使用当前ETL工程执行与所述数据表同步配置表中待同步数据表对应的增量数据同步;
第二数据同步单元,用于如果根据所述新增删除变更信息确定存在新增表和/或新增字段,则获取相应所述新增表和/或与所述新增字段匹配的新增字段相关表;根据相应所述新增表和/或所述新增字段相关表更新当前ETL工程;使用更新后的ETL工程执行与相应所述新增表和/或所述新增字段相关表对应的全量数据同步操作,以及执行与所述数据表同步配置表中待同步数据表对应的增量数据同步。
进一步的,第一数据同步单元和第二数据同步单元在用于执行与所述数据表同步配置表中待同步数据表对应的增量数据同步时,具体用于获取与增量数据同步对应的同步时间区间;根据所述同步时间区间执行与所述数据表同步配置表中待同步数据表对应的增量数据同步。
进一步的,数据同步模块440还具体包括:第三数据同步单元,用于如果根据所述新增删除变更信息确定存在删除字段,则获取与所述删除字段匹配的删除字段相关表;根据所述删除字段相关表更新当前ETL工程;使用更新后的ETL工程执行与所述删除字段相关表对应的数据同步操作。
进一步的,数据同步模块440还具体包括:第四数据同步单元,用于如果根据所述新增删除变更信息确定存在删除表,则获取所述删除表;根据所述删除表更新当前ETL工程;使用更新后的ETL工程执行与所述删除表对应的数据同步操作。
具体的,所述同步时间区间根据用户需求可自行配置,和/或,所述数据表同步配置表中待同步数据表根据用户需求可自行配置。
进一步的,该数据库的同步装置还包括:变更记录模块,用于分别将所述新增删除变更信息和字段属性变更信息添加至匹配的变更记录表中;其中,所述新增删除变更信息包括:新增表变更信息、删除表变更信息、新增字段变更信息和删除字段变更信息;所述变更记录表包括:新增表变更记录表、删除表变更记录表、新增字段变更记录表、删除字段变更记录表和字段属性变更记录表。
进一步的,该数据库的同步装置还包括:数据库连接模块,用于在获取源数据库和目标数据库的表结构信息之前,根据预先建立的数据库连接配置表中的连接关联信息分别创建与所述源数据库以及与所述目标数据库的数据库连接。
进一步的,该数据库的同步装置还包括:映射模块,用于如果确定所述源数据库和所述目标数据库为异构数据库,则将所述源数据库和所述目标数据库中的字段属性映射为同一类型的字段属性;
对应的,表结构同步模块430具体用于根据所述表结构变更信息生成与所述目标数据库匹配的变更语句。
上述数据库的同步装置可执行本发明任意实施例所提供的数据库的同步方法,具备执行数据库的同步方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种设备的硬件结构示意图,如图5所示,该设备包括:
一个或多个处理器510,图5中以一个处理器510为例;
存储器520;
所述设备还可以包括:输入装置530和输出装置540。
所述设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器520作为一种非暂态计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种数据库的同步方法对应的程序指令/模块(例如,附图4所示的表结构信息获取模块410、表结构变更确定模块420、表结构同步模块430和数据同步模块440)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例的一种数据库的同步方法。
存储器520可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非暂态性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态性固态存储器件。在一些实施例中,存储器520可选包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。
实施例六
本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据库的同步方法,该方法包括:
获取源数据库和目标数据库的表结构信息;
根据所述源数据库的表结构信息与所述目标数据库的表结构信息,以及预设的字段属性捕获规则,确定表结构变更信息;
根据所述表结构变更信息生成变更语句,并控制所述目标数据库执行所述变更语句,以更新所述目标数据库的表结构信息;
获取所述源数据库中与所述表结构变更信息匹配的更新数据同步至所述目标数据库中。
可选的,该计算机可执行指令在由计算机处理器执行时还可以用于执行本发明任意实施例所提供的一种数据库的同步方法的技术方案。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述数据库的同步装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (16)

1.一种数据库的同步方法,其特征在于,包括:
获取源数据库和目标数据库的表结构信息;
根据所述源数据库的表结构信息与所述目标数据库的表结构信息,以及预设的字段属性捕获规则,确定表结构变更信息;
根据所述表结构变更信息生成变更语句,并控制所述目标数据库执行所述变更语句,以更新所述目标数据库的表结构信息;
获取所述源数据库中与所述表结构变更信息匹配的更新数据同步至所述目标数据库中。
2.根据权利要求1所述的方法,其特征在于,获取源数据库和目标数据库的表结构信息,包括:
在达到与预设的同步周期匹配的同步时间时,获取源数据库和目标数据库的表结构信息;
获取所述源数据库中与所述表结构变更信息匹配的更新数据同步至所述目标数据库中,包括:
获取所述源数据库中与所述表结构变更信息匹配的前一同步周期内的更新数据同步至所述目标数据库中。
3.根据权利要求1所述的方法,其特征在于,根据所述源数据库的表结构信息与所述目标数据库的表结构信息,以及预设的字段属性捕获规则,确定表结构变更信息,包括:
根据所述源数据库的表结构信息与所述目标数据库的表结构信息确定与表结构关联的数据表或者字段的新增删除变更信息;
根据所述源数据库的表结构信息与所述目标数据库的表结构信息以及预设的字段属性捕获规则,确定与表结构关联的字段属性变更信息。
4.根据权利要求3所述的方法,其特征在于,所述字段属性捕获规则包括:字段属性检测配置信息和字段属性内容过滤信息。
5.根据权利要求4所述的方法,其特征在于,根据所述源数据库的表结构信息与所述目标数据库的表结构信息以及预设的字段属性捕获规则,确定与表结构关联的字段属性变更信息,包括:
根据所述源数据库的表结构信息与所述目标数据库的表结构信息确定至少一条待确认字段变更信息;
如果所述待确认字段变更信息与所述字段属性捕获规则匹配,则将所述待确认字段变更信息确定为与表结构关联的字段属性变更信息。
6.根据权利要求3所述的方法,其特征在于,在获取所述源数据库中与所述表结构变更信息匹配的更新数据同步至所述目标数据库中之前,还包括:
根据所述新增删除变更信息的新增表表名更新数据表同步配置表。
7.根据权利要求6所述的方法,其特征在于,获取所述源数据库中与所述表结构变更信息匹配的更新数据同步至所述目标数据库中,包括:
如果根据所述新增删除变更信息确定不存在新增表和新增字段,则使用当前ETL工程执行与所述数据表同步配置表中待同步数据表对应的增量数据同步;
如果根据所述新增删除变更信息确定存在新增表和/或新增字段,则获取相应所述新增表和/或与所述新增字段匹配的新增字段相关表;
根据相应所述新增表和/或所述新增字段相关表更新当前ETL工程;
使用更新后的ETL工程执行与相应所述新增表和/或所述新增字段相关表对应的全量数据同步操作,以及执行与所述数据表同步配置表中待同步数据表对应的增量数据同步。
8.根据权利要求7所述的方法,其特征在于,执行与所述数据表同步配置表中待同步数据表对应的增量数据同步,包括:
获取与增量数据同步对应的同步时间区间;
根据所述同步时间区间执行与所述数据表同步配置表中待同步数据表对应的增量数据同步。
9.根据权利要求7所述的方法,其特征在于,获取所述源数据库中与所述表结构变更信息匹配的更新数据同步至所述目标数据库中,还包括:
如果根据所述新增删除变更信息确定存在删除字段,则获取与所述删除字段匹配的删除字段相关表;
根据所述删除字段相关表更新当前ETL工程;
使用更新后的ETL工程执行与所述删除字段相关表对应的数据同步操作。
10.根据权利要求8所述的方法,其特征在于,所述同步时间区间根据用户需求可自行配置,和/或,所述数据表同步配置表中待同步数据表根据用户需求可自行配置。
11.根据权利要求3-10任一项所述的方法,其特征在于,还包括:
分别将所述新增删除变更信息和字段属性变更信息添加至匹配的变更记录表中;其中,所述新增删除变更信息包括:新增表变更信息、删除表变更信息、新增字段变更信息和删除字段变更信息;
所述变更记录表包括:新增表变更记录表、删除表变更记录表、新增字段变更记录表、删除字段变更记录表和字段属性变更记录表。
12.根据权利要求1-10任一项所述的方法,其特征在于,在获取源数据库和目标数据库的表结构信息之前,还包括:
根据预先建立的数据库连接配置表中的连接关联信息分别创建与所述源数据库以及与所述目标数据库的数据库连接。
13.根据权利要求12所述的方法,其特征在于,在根据预先建立的数据库连接配置表中的连接关联信息分别创建与所述源数据库以及与所述目标数据库的数据库连接之后,还包括:
如果确定所述源数据库和所述目标数据库为异构数据库,则将所述源数据库和所述目标数据库中的字段属性映射为同一类型的字段属性;
根据所述表结构变更信息生成变更语句,包括:
根据所述表结构变更信息生成与所述目标数据库匹配的变更语句。
14.一种数据库的同步装置,其特征在于,包括:
表结构信息获取模块,用于获取源数据库和目标数据库的表结构信息;
表结构变更确定模块,用于根据所述源数据库的表结构信息与所述目标数据库的表结构信息,以及预设的字段属性捕获规则,确定表结构变更信息;
表结构同步模块,用于根据所述表结构变更信息生成变更语句,并控制所述目标数据库执行所述变更语句,以更新所述目标数据库的表结构信息;
数据同步模块,用于获取所述源数据库中与所述表结构变更信息匹配的更新数据同步至所述目标数据库中。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-13中任一所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-13中任一所述的方法。
CN201910193374.2A 2019-03-14 2019-03-14 数据库的同步方法、装置、设备及存储介质 Active CN109885581B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910193374.2A CN109885581B (zh) 2019-03-14 2019-03-14 数据库的同步方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910193374.2A CN109885581B (zh) 2019-03-14 2019-03-14 数据库的同步方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN109885581A true CN109885581A (zh) 2019-06-14
CN109885581B CN109885581B (zh) 2021-09-17

Family

ID=66932133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910193374.2A Active CN109885581B (zh) 2019-03-14 2019-03-14 数据库的同步方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN109885581B (zh)

Cited By (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110263052A (zh) * 2019-06-25 2019-09-20 苏宁消费金融有限公司 一种基于大数据Hadoop平台ODS自动化同步技术创新方法
CN110347693A (zh) * 2019-07-11 2019-10-18 招商局金融科技有限公司 数据同步方法、装置及存储介质
CN110427426A (zh) * 2019-08-02 2019-11-08 中国工商银行股份有限公司 一种数据同步处理方法及装置
CN110489483A (zh) * 2019-07-08 2019-11-22 中国平安人寿保险股份有限公司 数据同步方法、装置、计算机设备以及存储介质
CN110543476A (zh) * 2019-07-03 2019-12-06 威富通科技有限公司 一种数据库表结构的同步方法、装置及服务器
CN110750585A (zh) * 2019-10-12 2020-02-04 南京我爱我家信息科技有限公司 一种对数据抽取方法的改进
CN110866009A (zh) * 2019-10-29 2020-03-06 广州西山居世游网络科技有限公司 一种实时并发同步服务的方法及系统
CN110941615A (zh) * 2019-11-25 2020-03-31 西安精雕软件科技有限公司 分布式分级cnc数据采集转储方法及系统
CN111125254A (zh) * 2019-12-23 2020-05-08 北京懿医云科技有限公司 数据库同步方法、装置、电子设备及计算机可读介质
CN111159020A (zh) * 2019-12-20 2020-05-15 武汉达梦数据库有限公司 一种应用于同步软件测试的方法和装置
CN111177162A (zh) * 2019-12-06 2020-05-19 华为技术有限公司 一种数据同步方法及装置
CN111259104A (zh) * 2020-01-22 2020-06-09 山东浪潮通软信息科技有限公司 一种可定义规则的报表数据同步方法及装置
CN111309747A (zh) * 2020-02-18 2020-06-19 京东数字科技控股有限公司 数据同步方法、系统和装置
CN111367924A (zh) * 2020-02-26 2020-07-03 杭州数梦工场科技有限公司 数据同步方法、装置、电子设备、存储介质
CN111431984A (zh) * 2020-03-02 2020-07-17 畅捷通信息技术股份有限公司 应用数据的同步方法、同步装置和计算机可读存储介质
CN111611244A (zh) * 2020-05-20 2020-09-01 浩云科技股份有限公司 一种将数据库的数据进行级联的方法及装置
CN111708841A (zh) * 2020-06-08 2020-09-25 中国工商银行股份有限公司 数据库数据同步方法及装置
CN111782235A (zh) * 2019-09-27 2020-10-16 北京沃东天骏信息技术有限公司 一种数据升级、查询方法和装置
CN111831755A (zh) * 2020-07-23 2020-10-27 北京思特奇信息技术股份有限公司 一种跨数据库数据同步方法、系统、介质及设备
CN111858760A (zh) * 2020-07-13 2020-10-30 中国工商银行股份有限公司 一种异构数据库的数据处理方法及装置
CN111881209A (zh) * 2020-06-29 2020-11-03 平安国际智慧城市科技股份有限公司 异构数据库的数据同步方法、装置、电子设备及介质
CN111984826A (zh) * 2020-09-02 2020-11-24 河北幸福消费金融股份有限公司 基于xml的数据自动入库方法、系统、装置和存储介质
CN112084259A (zh) * 2020-08-20 2020-12-15 中国船舶重工集团公司第七一五研究所 一种基于扩展字段特征标示的数据库实时同步方法
CN112148788A (zh) * 2020-08-25 2020-12-29 珠海市卓轩科技有限公司 异构数据源的数据同步方法及系统
CN112256794A (zh) * 2020-10-09 2021-01-22 国网江西省电力有限公司检修分公司 一种数据库同步方法
CN112287027A (zh) * 2020-10-29 2021-01-29 成都完美天智游科技有限公司 数据库同步方法、装置、设备及存储介质
CN112347189A (zh) * 2020-11-05 2021-02-09 江苏电力信息技术有限公司 基于云计算的财务数据一致性失效的发现与恢复方法
CN112434004A (zh) * 2020-10-28 2021-03-02 金蝶云科技有限公司 异构系统的数据迁移方法、装置、计算机设备和存储介质
CN112632078A (zh) * 2020-12-29 2021-04-09 竹间智能科技(上海)有限公司 表单新增字段的方法、系统、设备及可读存储介质
CN112711599A (zh) * 2020-12-29 2021-04-27 食亨(上海)科技服务有限公司 数据增量更新方法
CN112749227A (zh) * 2019-10-30 2021-05-04 北京国双科技有限公司 数据同步方法及装置
CN112818051A (zh) * 2021-02-02 2021-05-18 上海达梦数据库有限公司 一种异构库通信方法、终端设备及存储介质
CN112860793A (zh) * 2021-02-03 2021-05-28 浪潮云信息技术股份公司 一种异源数据库间实现元数据同步的方法
CN112905691A (zh) * 2019-11-19 2021-06-04 中盈优创资讯科技有限公司 信息同步方法及装置
CN112925835A (zh) * 2019-12-05 2021-06-08 北京金山云网络技术有限公司 数据同步方法、装置和服务器
CN112925849A (zh) * 2021-02-25 2021-06-08 北京金风慧能技术有限公司 数据库同步的方法、装置、电子设备及计算机存储介质
CN112948338A (zh) * 2021-03-05 2021-06-11 浪潮云信息技术股份公司 在国产化数据库运行政务数据共享交换平台的方法及工具
CN113204558A (zh) * 2021-05-25 2021-08-03 城云科技(中国)有限公司 数据表结构自动更新方法和装置
CN113297330A (zh) * 2021-06-24 2021-08-24 维沃移动通信有限公司 数据同步检测方法和装置
CN113377789A (zh) * 2021-05-31 2021-09-10 上海数禾信息科技有限公司 数据库变更数据的处理方法、装置、计算机设备和介质
CN113420026A (zh) * 2021-06-22 2021-09-21 康键信息技术(深圳)有限公司 数据库表结构变更方法、装置、设备及存储介质
CN113469801A (zh) * 2021-06-30 2021-10-01 建信金融科技有限责任公司 审核结果的确定方法和装置
CN113590643A (zh) * 2021-09-28 2021-11-02 太平金融科技服务(上海)有限公司深圳分公司 基于双轨数据库的数据同步方法、装置、设备和存储介质
CN113672639A (zh) * 2021-08-27 2021-11-19 成都长城开发科技有限公司 多类型数据库表结构对比方法、系统、设备及存储介质
CN113672626A (zh) * 2021-09-06 2021-11-19 中国银行股份有限公司 一种数据结构变更方法、装置及电子设备
CN113742420A (zh) * 2021-08-09 2021-12-03 广州市易工品科技有限公司 数据同步方法和装置
CN113806364A (zh) * 2021-08-28 2021-12-17 特斯联科技集团有限公司 一种大数据存储系统及方法
CN113886404A (zh) * 2020-07-03 2022-01-04 北京达佳互联信息技术有限公司 更新数据的方法、装置、电子设备和存储介质
CN114741401A (zh) * 2022-04-02 2022-07-12 浪潮卓数大数据产业发展有限公司 一种基于更新时间及主键的数据同步方法、设备及介质
CN114780641A (zh) * 2022-05-07 2022-07-22 湖南长银五八消费金融股份有限公司 多库多表同步方法、装置、计算机设备和存储介质
CN115114284A (zh) * 2022-05-27 2022-09-27 中银金融科技有限公司 一种表变更处理方法及系统
CN115309751A (zh) * 2022-09-29 2022-11-08 深圳市都市交通规划设计研究院有限公司 数据资源中心构建方法及系统
CN115391459A (zh) * 2022-08-24 2022-11-25 南京领行科技股份有限公司 数据同步方法、装置、电子设备及计算机可读存储介质
CN115481932A (zh) * 2022-10-20 2022-12-16 广州市扬海数码科技有限公司 Erp系统数据库触发器生成方法、存储介质及电子装置
CN116361391A (zh) * 2023-03-30 2023-06-30 中电云数智科技有限公司 一种数据同步表结构异常检测及修复方法和装置
WO2023164998A1 (zh) * 2022-03-04 2023-09-07 长鑫存储技术有限公司 数据同步方法、装置、存储介质和电子设备
CN117171262A (zh) * 2023-08-09 2023-12-05 飞算数智科技(深圳)有限公司 数据同步的方法、装置、存储介质及电子设备
CN117874133A (zh) * 2023-12-19 2024-04-12 广州极点三维信息科技有限公司 一种海量数据存储处理方法、系统、电子设备及存储介质
CN118069743A (zh) * 2024-02-23 2024-05-24 成都虚谷伟业科技有限公司 一种不同数据库数据和结构实时同步的方法、设备及介质
US12072909B2 (en) 2022-03-04 2024-08-27 Changxin Memory Technologies, Inc. Method and device for data synchronization, storage medium and electronic device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136443A1 (en) * 2004-12-16 2006-06-22 International Business Machines Corporation Method and apparatus for initializing data propagation execution for large database replication
CN102752372A (zh) * 2012-06-18 2012-10-24 天津神舟通用数据技术有限公司 一种基于文件的数据库同步方法
US8306947B2 (en) * 2008-10-30 2012-11-06 Hewlett-Packard Development Company, L.P. Replication of operations on objects distributed in a storage system
CN103823797A (zh) * 2012-11-16 2014-05-28 镇江诺尼基智能技术有限公司 基于ftp协议的行业数据库数据实时同步系统
CN104317843A (zh) * 2014-10-11 2015-01-28 上海瀚之友信息技术服务有限公司 一种数据同步etl系统
CN106326376A (zh) * 2016-08-15 2017-01-11 东软集团股份有限公司 用于表结构变更后的信息复制方法和装置
CN108572996A (zh) * 2017-03-14 2018-09-25 北京京东尚科信息技术有限公司 数据库表结构的同步方法、装置、电子设备和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136443A1 (en) * 2004-12-16 2006-06-22 International Business Machines Corporation Method and apparatus for initializing data propagation execution for large database replication
US8306947B2 (en) * 2008-10-30 2012-11-06 Hewlett-Packard Development Company, L.P. Replication of operations on objects distributed in a storage system
CN102752372A (zh) * 2012-06-18 2012-10-24 天津神舟通用数据技术有限公司 一种基于文件的数据库同步方法
CN103823797A (zh) * 2012-11-16 2014-05-28 镇江诺尼基智能技术有限公司 基于ftp协议的行业数据库数据实时同步系统
CN104317843A (zh) * 2014-10-11 2015-01-28 上海瀚之友信息技术服务有限公司 一种数据同步etl系统
CN106326376A (zh) * 2016-08-15 2017-01-11 东软集团股份有限公司 用于表结构变更后的信息复制方法和装置
CN108572996A (zh) * 2017-03-14 2018-09-25 北京京东尚科信息技术有限公司 数据库表结构的同步方法、装置、电子设备和存储介质

Cited By (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110263052A (zh) * 2019-06-25 2019-09-20 苏宁消费金融有限公司 一种基于大数据Hadoop平台ODS自动化同步技术创新方法
CN110263052B (zh) * 2019-06-25 2021-07-20 苏宁消费金融有限公司 一种基于大数据Hadoop平台ODS自动化同步技术创新方法
CN110543476A (zh) * 2019-07-03 2019-12-06 威富通科技有限公司 一种数据库表结构的同步方法、装置及服务器
CN110489483A (zh) * 2019-07-08 2019-11-22 中国平安人寿保险股份有限公司 数据同步方法、装置、计算机设备以及存储介质
CN110489483B (zh) * 2019-07-08 2024-02-06 中国平安人寿保险股份有限公司 数据同步方法、装置、计算机设备以及存储介质
CN110347693A (zh) * 2019-07-11 2019-10-18 招商局金融科技有限公司 数据同步方法、装置及存储介质
CN110427426A (zh) * 2019-08-02 2019-11-08 中国工商银行股份有限公司 一种数据同步处理方法及装置
CN111782235A (zh) * 2019-09-27 2020-10-16 北京沃东天骏信息技术有限公司 一种数据升级、查询方法和装置
CN110750585A (zh) * 2019-10-12 2020-02-04 南京我爱我家信息科技有限公司 一种对数据抽取方法的改进
CN110866009A (zh) * 2019-10-29 2020-03-06 广州西山居世游网络科技有限公司 一种实时并发同步服务的方法及系统
CN112749227A (zh) * 2019-10-30 2021-05-04 北京国双科技有限公司 数据同步方法及装置
CN112905691B (zh) * 2019-11-19 2024-05-14 中盈优创资讯科技有限公司 信息同步方法及装置
CN112905691A (zh) * 2019-11-19 2021-06-04 中盈优创资讯科技有限公司 信息同步方法及装置
CN110941615A (zh) * 2019-11-25 2020-03-31 西安精雕软件科技有限公司 分布式分级cnc数据采集转储方法及系统
CN112925835A (zh) * 2019-12-05 2021-06-08 北京金山云网络技术有限公司 数据同步方法、装置和服务器
CN111177162A (zh) * 2019-12-06 2020-05-19 华为技术有限公司 一种数据同步方法及装置
CN111159020A (zh) * 2019-12-20 2020-05-15 武汉达梦数据库有限公司 一种应用于同步软件测试的方法和装置
CN111159020B (zh) * 2019-12-20 2021-11-05 武汉达梦数据库股份有限公司 一种应用于同步软件测试的方法和装置
CN111125254A (zh) * 2019-12-23 2020-05-08 北京懿医云科技有限公司 数据库同步方法、装置、电子设备及计算机可读介质
CN111259104A (zh) * 2020-01-22 2020-06-09 山东浪潮通软信息科技有限公司 一种可定义规则的报表数据同步方法及装置
CN111309747A (zh) * 2020-02-18 2020-06-19 京东数字科技控股有限公司 数据同步方法、系统和装置
CN111367924B (zh) * 2020-02-26 2024-01-02 杭州数梦工场科技有限公司 数据同步方法、装置、电子设备、存储介质
CN111367924A (zh) * 2020-02-26 2020-07-03 杭州数梦工场科技有限公司 数据同步方法、装置、电子设备、存储介质
CN111431984B (zh) * 2020-03-02 2023-04-07 畅捷通信息技术股份有限公司 应用数据的同步方法、同步装置和计算机可读存储介质
CN111431984A (zh) * 2020-03-02 2020-07-17 畅捷通信息技术股份有限公司 应用数据的同步方法、同步装置和计算机可读存储介质
CN111611244A (zh) * 2020-05-20 2020-09-01 浩云科技股份有限公司 一种将数据库的数据进行级联的方法及装置
CN111708841B (zh) * 2020-06-08 2024-01-23 中国工商银行股份有限公司 数据库数据同步方法及装置
CN111708841A (zh) * 2020-06-08 2020-09-25 中国工商银行股份有限公司 数据库数据同步方法及装置
CN111881209A (zh) * 2020-06-29 2020-11-03 平安国际智慧城市科技股份有限公司 异构数据库的数据同步方法、装置、电子设备及介质
CN113886404A (zh) * 2020-07-03 2022-01-04 北京达佳互联信息技术有限公司 更新数据的方法、装置、电子设备和存储介质
CN111858760A (zh) * 2020-07-13 2020-10-30 中国工商银行股份有限公司 一种异构数据库的数据处理方法及装置
CN111858760B (zh) * 2020-07-13 2024-03-22 中国工商银行股份有限公司 一种异构数据库的数据处理方法及装置
CN111831755B (zh) * 2020-07-23 2024-01-16 北京思特奇信息技术股份有限公司 一种跨数据库数据同步方法、系统、介质及设备
CN111831755A (zh) * 2020-07-23 2020-10-27 北京思特奇信息技术股份有限公司 一种跨数据库数据同步方法、系统、介质及设备
CN112084259A (zh) * 2020-08-20 2020-12-15 中国船舶重工集团公司第七一五研究所 一种基于扩展字段特征标示的数据库实时同步方法
CN112148788A (zh) * 2020-08-25 2020-12-29 珠海市卓轩科技有限公司 异构数据源的数据同步方法及系统
CN111984826B (zh) * 2020-09-02 2023-11-10 河北幸福消费金融股份有限公司 基于xml的数据自动入库方法、系统、装置和存储介质
CN111984826A (zh) * 2020-09-02 2020-11-24 河北幸福消费金融股份有限公司 基于xml的数据自动入库方法、系统、装置和存储介质
CN112256794A (zh) * 2020-10-09 2021-01-22 国网江西省电力有限公司检修分公司 一种数据库同步方法
CN112434004A (zh) * 2020-10-28 2021-03-02 金蝶云科技有限公司 异构系统的数据迁移方法、装置、计算机设备和存储介质
CN112287027A (zh) * 2020-10-29 2021-01-29 成都完美天智游科技有限公司 数据库同步方法、装置、设备及存储介质
CN112287027B (zh) * 2020-10-29 2024-04-23 成都完美天智游科技有限公司 数据库同步方法、装置、设备及存储介质
CN112347189A (zh) * 2020-11-05 2021-02-09 江苏电力信息技术有限公司 基于云计算的财务数据一致性失效的发现与恢复方法
CN112711599A (zh) * 2020-12-29 2021-04-27 食亨(上海)科技服务有限公司 数据增量更新方法
CN112632078A (zh) * 2020-12-29 2021-04-09 竹间智能科技(上海)有限公司 表单新增字段的方法、系统、设备及可读存储介质
CN112632078B (zh) * 2020-12-29 2023-06-30 竹间智能科技(上海)有限公司 表单新增字段的方法、系统、设备及可读存储介质
CN112818051A (zh) * 2021-02-02 2021-05-18 上海达梦数据库有限公司 一种异构库通信方法、终端设备及存储介质
CN112860793A (zh) * 2021-02-03 2021-05-28 浪潮云信息技术股份公司 一种异源数据库间实现元数据同步的方法
CN112925849A (zh) * 2021-02-25 2021-06-08 北京金风慧能技术有限公司 数据库同步的方法、装置、电子设备及计算机存储介质
CN112948338A (zh) * 2021-03-05 2021-06-11 浪潮云信息技术股份公司 在国产化数据库运行政务数据共享交换平台的方法及工具
CN112948338B (zh) * 2021-03-05 2023-04-14 浪潮云信息技术股份公司 在国产化数据库运行政务数据共享交换平台的方法及工具
CN113204558A (zh) * 2021-05-25 2021-08-03 城云科技(中国)有限公司 数据表结构自动更新方法和装置
CN113377789A (zh) * 2021-05-31 2021-09-10 上海数禾信息科技有限公司 数据库变更数据的处理方法、装置、计算机设备和介质
CN113420026A (zh) * 2021-06-22 2021-09-21 康键信息技术(深圳)有限公司 数据库表结构变更方法、装置、设备及存储介质
CN113420026B (zh) * 2021-06-22 2023-10-31 康键信息技术(深圳)有限公司 数据库表结构变更方法、装置、设备及存储介质
CN113297330A (zh) * 2021-06-24 2021-08-24 维沃移动通信有限公司 数据同步检测方法和装置
CN113469801A (zh) * 2021-06-30 2021-10-01 建信金融科技有限责任公司 审核结果的确定方法和装置
CN113742420A (zh) * 2021-08-09 2021-12-03 广州市易工品科技有限公司 数据同步方法和装置
CN113742420B (zh) * 2021-08-09 2024-02-02 广州市易工品科技有限公司 数据同步方法和装置
CN113672639B (zh) * 2021-08-27 2024-04-26 成都长城开发科技股份有限公司 多类型数据库表结构对比方法、系统、设备及存储介质
CN113672639A (zh) * 2021-08-27 2021-11-19 成都长城开发科技有限公司 多类型数据库表结构对比方法、系统、设备及存储介质
CN113806364B (zh) * 2021-08-28 2023-12-22 深圳特斯联智能科技有限公司 一种大数据存储系统及方法
CN113806364A (zh) * 2021-08-28 2021-12-17 特斯联科技集团有限公司 一种大数据存储系统及方法
CN113672626B (zh) * 2021-09-06 2024-02-13 中国银行股份有限公司 一种数据结构变更方法、装置及电子设备
CN113672626A (zh) * 2021-09-06 2021-11-19 中国银行股份有限公司 一种数据结构变更方法、装置及电子设备
CN113590643A (zh) * 2021-09-28 2021-11-02 太平金融科技服务(上海)有限公司深圳分公司 基于双轨数据库的数据同步方法、装置、设备和存储介质
WO2023164998A1 (zh) * 2022-03-04 2023-09-07 长鑫存储技术有限公司 数据同步方法、装置、存储介质和电子设备
US12072909B2 (en) 2022-03-04 2024-08-27 Changxin Memory Technologies, Inc. Method and device for data synchronization, storage medium and electronic device
CN114741401B (zh) * 2022-04-02 2024-04-26 浪潮卓数大数据产业发展有限公司 一种基于更新时间及主键的数据同步方法、设备及介质
CN114741401A (zh) * 2022-04-02 2022-07-12 浪潮卓数大数据产业发展有限公司 一种基于更新时间及主键的数据同步方法、设备及介质
CN114780641A (zh) * 2022-05-07 2022-07-22 湖南长银五八消费金融股份有限公司 多库多表同步方法、装置、计算机设备和存储介质
CN115114284A (zh) * 2022-05-27 2022-09-27 中银金融科技有限公司 一种表变更处理方法及系统
CN115391459A (zh) * 2022-08-24 2022-11-25 南京领行科技股份有限公司 数据同步方法、装置、电子设备及计算机可读存储介质
CN115309751A (zh) * 2022-09-29 2022-11-08 深圳市都市交通规划设计研究院有限公司 数据资源中心构建方法及系统
CN115481932A (zh) * 2022-10-20 2022-12-16 广州市扬海数码科技有限公司 Erp系统数据库触发器生成方法、存储介质及电子装置
CN116361391A (zh) * 2023-03-30 2023-06-30 中电云数智科技有限公司 一种数据同步表结构异常检测及修复方法和装置
CN116361391B (zh) * 2023-03-30 2024-05-07 中电云计算技术有限公司 一种数据同步表结构异常检测及修复方法和装置
CN117171262A (zh) * 2023-08-09 2023-12-05 飞算数智科技(深圳)有限公司 数据同步的方法、装置、存储介质及电子设备
CN117874133A (zh) * 2023-12-19 2024-04-12 广州极点三维信息科技有限公司 一种海量数据存储处理方法、系统、电子设备及存储介质
CN118069743A (zh) * 2024-02-23 2024-05-24 成都虚谷伟业科技有限公司 一种不同数据库数据和结构实时同步的方法、设备及介质

Also Published As

Publication number Publication date
CN109885581B (zh) 2021-09-17

Similar Documents

Publication Publication Date Title
CN109885581A (zh) 数据库的同步方法、装置、设备及存储介质
CN103617176B (zh) 一种实现多源异构数据资源自动同步的方法
CN109241175A (zh) 数据同步方法、装置、存储介质及电子设备
EP3513314B1 (en) System for analysing data relationships to support query execution
WO2018051096A1 (en) System for importing data into a data repository
CN103514295B (zh) 历史数据归档方法及历史数据归档装置
CN106874281B (zh) 实现数据库读写分离的方法和装置
CN105912628A (zh) 主从数据库的同步方法及装置
CN105279285B (zh) 一种关系型数据库与非关系型数据库的同步系统及方法
CN105224527B (zh) 适用于多种目的表更新方式的通用etl方法
CN110334326B (zh) 一种识别配方文件并转化为xml文件的方法及系统
CN102110102A (zh) 数据处理方法及装置、文件识别方法及工具
CN115712623B (zh) 一种基于捕获元数据变更的批量数据容错采集方法
CN106294769B (zh) 同步工程数据的方法、系统和装置
CN114780138B (zh) 流场模拟软件代码版本管理方法、装置和存储介质
CN115757626A (zh) 一种数据质量检测方法、装置、电子设备及存储介质
CN109800069B (zh) 一种实现数据治理的方法及装置
CN108959391B (zh) 展现数据库集群架构图的设备、系统、方法、存储介质
CN107168822B (zh) Oracle streams的异常修复系统及方法
CN106649756A (zh) 日志同步方法及装置
CN115562993A (zh) 测试脚本录制方法和装置、电子设备及存储介质
CN108664499B (zh) 数据存储的方法、装置及设备
CN111737348B (zh) 基于数据库表的时效同步方法及装置
CN115167884A (zh) 一种kubernetes部署方法及系统
CN112579706A (zh) 一种数据仓库模型及其应用

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant