CN111209344A - 数据同步方法及装置 - Google Patents
数据同步方法及装置 Download PDFInfo
- Publication number
- CN111209344A CN111209344A CN202010082149.4A CN202010082149A CN111209344A CN 111209344 A CN111209344 A CN 111209344A CN 202010082149 A CN202010082149 A CN 202010082149A CN 111209344 A CN111209344 A CN 111209344A
- Authority
- CN
- China
- Prior art keywords
- operation log
- data
- relational database
- target
- configuring
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000013500 data storage Methods 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 description 10
- 238000012217 deletion Methods 0.000 description 8
- 230000037430 deletion Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 7
- 239000002184 metal Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了数据同步方法及装置,该方法包括以下步骤:对一个关系型数据库进行配置,以能够获取关系型数据库的操作日志;获取关系型数据库的操作日志,并对操作日志进行解析,获得增量数据,其中,增量数据为关系型数据库中增加、删除以及更新的数据;根据目标数据库的目标数据存储格式,将增量数据转换成符合目标数据存储格式的目标增量数据;将目标增量数据存储至目标数据库。本方案可以完整地实现数据同步。
Description
技术领域
本发明涉及计算机技术领域,特别涉及数据同步方法及装置。
背景技术
随着大数据时代的到来,数据库由小型化向大型化发展,由集中式向分布式发展,海量数据的出现和数据结构的改变,给各行各业在管理和分析处理中带来了巨大的挑战,从而使得数据库的数据同步成为一个重要的研究方向。
现有的数据同步方式一般是全量同步后,通过建立自增列或时间戳进行增量数据的同步,然后将增量数据同步至目标源中。
通过上述描述可见,现有技术基于自增列或时间戳进行增量数据的同步,只能根据自增列识别增加的数据,根据时间戳识别更新的数据,无法识别数据库中已删除的数据,从而导致不能完整地实现数据同步。
发明内容
本发明实施例提供了数据同步方法及装置,可以完整地实现数据同步。
第一方面,本发明提供了数据同步方法,包括:
对一个关系型数据库进行配置,以能够获取所述关系型数据库的操作日志;
获取所述关系型数据库的所述操作日志,并对所述操作日志进行解析,获得增量数据,其中,所述增量数据为所述关系型数据库中增加、删除以及更新的数据;
根据所述目标数据库的目标数据存储格式,将所述增量数据转换成符合所述目标数据存储格式的目标增量数据;
将所述目标增量数据存储至所述目标数据库。
优选地,
所述对一个关系型数据库进行配置,包括:
配置用于开启所述操作日志的开启参数,并设置所述操作日志的存储路径和所述操作日志的前缀;
配置所述操作日志的标识符号,其中,所述标识符号用于在集群环境下对所述操作日志进行区分;
配置所述操作日志的模式为Row模式、Statement模式和Mixed模式中的任意一个,其中,所述Row模式用于记录所述操作日志中每一行数据被修改的情况;所述Statement模式用于表示每一条会修改数据的sql都会记录到master的操作日志中;所述Mixed模式用于表示所述关系型数据库会根据执行的每一条具体的sql语句来区分对待记录的所述操作日志的形式。
优选地,
在所述配置所述操作日志的模式为Row模式、Statement模式和Mixed模式中的任意一个之后,进一步包括:
配置所述操作日志的文件大小和保存时间的参数。
优选地,
所述获取所述关系型数据库的所述操作日志,并对所述操作日志进行解析,获得增量数据,包括:
配置需要解析的所述关系型数据库的主机信息、驱动类、驱动路径、用户名以及密码,以能够解析所述关系型数据库中的所述操作日志。
第二方面,本发明提供了数据同步装置,包括:
配置模块,用于对一个关系型数据库进行配置,以能够获取所述关系型数据库的操作日志;
处理模块,用于获取所述配置模块配置好的所述关系型数据库的所述操作日志,并对所述操作日志进行解析,获得增量数据,其中,所述增量数据为所述关系型数据库中增加、删除以及更新的数据;
转换模块,用于根据所述目标数据库的目标数据存储格式,将所述处理模块处理得到的所述增量数据转换成符合所述目标数据存储格式的目标增量数据;
存储模块,用于将所述转换模块转换得到的所述目标增量数据存储至所述目标数据库。
优选地,
所述配置模块,包括:
第一配置单元,用于配置开启所述操作日志的开启参数,并设置所述操作日志的存储路径和所述操作日志的前缀;
第二配置单元,用于配置所述操作日志的标识符号,其中,所述标识符号用于在集群环境下对所述操作日志进行区分;
第三配置单元,用于配置所述操作日志的模式为Row模式、Statement模式和Mixed模式中的任意一个,其中,所述Row模式用于记录所述操作日志中每一行数据被修改的情况;所述Statement模式用于表示每一条会修改数据的sql都会记录到master的操作日志中;所述Mixed模式用于表示所述关系型数据库会根据执行的每一条具体的sql语句来区分对待记录的所述操作日志的形式。
优选地,
在所述第三配置单元之后,进一步包括:
第四配置单元,用于配置所述操作日志的文件大小和保存时间的参数。
优选地,
所述处理模块,还用于配置需要解析的所述关系型数据库的主机信息、驱动类、驱动路径、用户名以及密码,以能够解析所述关系型数据库中的所述操作日志。
第三方面,本发明提供了数据同步装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行第一方面任一所述的方法。
第四方面,本发明提供了计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面任一所述的方法。
本发明实施例提供了数据同步方法及装置,操作日志是二进制格式的日志文件,可以用来记录关系型数据库内部对数据库的改动,包括增加、删除以及更新的数据,基于关系型数据库本身开源、免费以及易用的特性,本方案通过获取关系型数据库中的操作日志,进而实现对关系型数据库中增加、删除以及更新的数据同步,即实现增量数据的同步。由于关系型数据库本身并不适合于大数据时代下的业务需求,故需要将数据同步到大数据存储中,即目标数据库中。获取到的关系型数据库中的操作日志,需要对其进行解析,以便获取到增量数据,并将增量数据转换成符合目标数据存储格式的目标增量数据,以实现格式的匹配,从而将增量数据同步至目标数据库中。由于自增列或者时间戳进行增量数据的同步时,无法识别数据库中删除的数据,本方案可以通过关系型数据库中的操作日志实现增量数据同步,从而可以完整地实现数据同步。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种数据同步方法的流程图;
图2是本发明一实施例提供的另一种数据同步方法的流程图;
图3是本发明一实施例提供的一种数据同步装置的示意图;
图4是本发明一实施例提供的另一种数据同步装置的示意图;
图5是本发明一实施例提供的又一种数据同步装置的示意图;
图6是本发明一实施例提供的读取操作日志的示意图;
图7是本发明一实施例提供的解析操作日志的示意图;
图8是本发明一实施例提供的增量数据写入hbase中的配置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了数据同步方法,该方法可以包括以下步骤:
步骤101:对一个关系型数据库进行配置,以能够获取关系型数据库的操作日志;
步骤102:获取关系型数据库的操作日志,并对操作日志进行解析,获得增量数据,其中,增量数据为关系型数据库中增加、删除以及更新的数据;
步骤103:根据目标数据库的目标数据存储格式,将增量数据转换成符合目标数据存储格式的目标增量数据;
步骤104:将目标增量数据存储至目标数据库。
在本发明实施例中,操作日志是二进制格式的日志文件,可以用来记录关系型数据库内部对数据库的改动,包括增加、删除以及更新的数据,基于关系型数据库本身开源、免费以及易用的特性,本方案通过获取关系型数据库中的操作日志,进而实现对关系型数据库中增加、删除以及更新的数据同步,即实现增量数据的同步。由于关系型数据库本身并不适合于大数据时代下的业务需求,故需要将数据同步到大数据存储中,即目标数据库中。获取到的关系型数据库中的操作日志,需要对其进行解析,以便获取到增量数据,并将增量数据转换成符合目标数据存储格式的目标增量数据,以实现格式的匹配,从而将增量数据同步至目标数据库中。由于自增列或者时间戳进行增量数据的同步时,无法识别数据库中删除的数据,本方案可以通过关系型数据库中的操作日志实现增量数据同步,从而可以完整地实现数据同步。
为了配置关系型数据库以开启操作日志,在本发明一实施例中,上述实施例中对一个关系型数据库进行配置,具体可以通过如下方式实现:
配置用于开启操作日志的开启参数,并设置操作日志的存储路径和操作日志的前缀;
配置操作日志的标识符号,其中,标识符号用于在集群环境下对操作日志进行区分;
配置操作日志的模式为Row模式、Statement模式和Mixed模式中的任意一个,其中,Row模式用于记录操作日志中每一行数据被修改的情况;Statement模式用于表示每一条会修改数据的sql都会记录到master的操作日志中;Mixed模式用于表示关系型数据库会根据执行的每一条具体的sql语句来区分对待记录的操作日志的形式。
在本发明实施例中,由于关系型数据库默认不开启操作日志,故需要对关系型数据库进行配置并重启关系型数据库,以使得关系型数据库中的操作日志能够开启。而配置过程包括三个参数的配置,首先配置用于开启操作日志的开启参数,并设置操作日志的存储路径和操作日志的前缀;其次,配置操作日志的标识符号,以用于在集群环境下对操作日志进行区分;最后,配置操作日志的模式为Row模式、Statement模式和Mixed模式中的任意一个,可以选择操作日志记录关系型数据库中数据变化的模式,以方便实现增量数据的同步。
为了方便对操作日志进行管理,在本发明一实施例中,上述实施例中在配置操作日志的模式为Row模式、Statement模式和Mixed模式中的任意一个之后,进一步包括:
配置操作日志的文件大小和保存时间的参数。
在本发明实施例中,可以对操作日志的文件大小和保存时间的参数做进一步的配置,以便更好地管理操作日志。
为了获取增量数据进而实现数据同步,在本发明一实施例中,上述实施例中获取关系型数据库的操作日志,并对操作日志进行解析,获得增量数据,具体可以通过如下方式实现:
配置需要解析的所述关系型数据库的主机信息、驱动类、驱动路径、用户名以及密码,以能够解析关系型数据库中的操作日志。
在本发明实施例中,需要对要解析的关系型数据库的主机信息、驱动类、驱动路径、用户名以及密码进行配置,以便解析关系型数据库中的操作日志,并获取到操作日志中的增量数据。
本发明提供了通过关系型数据库中的操作日志实现增量数据同步方法,该方法包括:解析关系型数据库中操作日志的增量数据的组件,对此进行改造,获取关系型数据库数据表中变化的数据。同时,将数据进行转换、格式化后存储到目标数据库中。
本发明实施例中的关系型数据库为Mysql数据库,Mysql数据库具有开源、免费、易用等特性,在软件行业中广泛被应用。现有技术中,大多都是将Mysql数据库全量同步后,通过自增列或时间戳进行增量数据的同步,而少有将Mysql数据库中的实时数据变动同步到大数据组件中的方案。之前同步方案无法识别删除的数据,而随着科技的不断发展,对数据的准确性要求也越来越严格。通过解析Mysql数据库的操作日志的增量数据的组件,从而进行数据同步的方案成为一个重要的研究方向,将操作日志数据及时、准确、完整地同步到大数据平台是很多开发人员面临的难题,而本方案可以解决上述问题。该方法技术简单,配置简单,开发工作少,易于使用,性能快速稳定,同时可以满足业务人员的需要。
如图2所示,为了更加清楚地说明本发明的技术方案及优点,下面对本发明提供了数据同步方法进行详细说明,具体可以包括以下步骤:
步骤201:配置用于开启操作日志的开启参数,并设置操作日志的存储路径和操作日志的前缀。
步骤202:配置所述操作日志的标识符号,其中,标识符号用于在集群环境下对操作日志进行区分。
步骤203:配置操作日志的模式为Row模式、Statement模式和Mixed模式中的任意一个,其中,Row模式用于记录操作日志中每一行数据被修改的情况;Statement模式用于表示每一条会修改数据的sql都会记录到master的操作日志中;Mixed模式用于表示Mysql数据库会根据执行的每一条具体的sql语句来区分对待记录的操作日志的形式。
举例来说,可配置第一个参数log_bin是打开操作日志binlog,并设置路径与前缀;第二个参数server-id设置唯一的标识符号,以在集群环境下使用;第三个参数binlog_format设置操作日志binlog的模式。
Row模式表示日志中会记录每一行数据被修改的情况,然后在slave端对相同的数据进行修改;Statement表示每一条被修改数据的sql都会记录到master的bin-log中,在复制的时候sql进程会解析成和原来master端执行过的相同的sql再次执行;Mixed结合了Rowlevel和Statement level的优点,用于表示Mysql数据库会根据执行的每一条具体的sql语句来区分对待记录的操作日志的形式。
针对Row模式,该模式可记录每条数据的变化情况,可通过操作日志取出行变化数据的全部列数据,使得数据比较准确,而另外两种模式只记录执行的sql,对数据的提取分析比较困难。
步骤204:配置操作日志的文件大小和保存时间的参数,以能够获取关系型数据库的操作日志;
举例来说,假设设置每个操作日志文件的大小为100m,则参数为max_binlog_size=100m,假设设置保存时间为7天,则参数expire_logs_days=7。
具体地,如图6所示,设置完重启Mysql数据库后,可通过插入一条数据进行测试,以检测操作日志是否打开。
步骤205:获取关系型数据库的操作日志,配置需要解析的关系型数据库的主机信息、驱动类、驱动路径、用户名以及密码,以能够解析关系型数据库中的操作日志,获得增量数据,其中,增量数据为关系型数据库中增加、删除以及更新的数据;
具体地,如图6所示,可看出记录数据变化的数据库与数据表(Table_map),操作类型(Write_rows、Delete_rows、Update_rows)与数据变化。
如图7所示,可以基于NiFi中CaptureChangeMySQL组件,解析Mysql数据库的操作日志。配置要解析的操作日志的主机信息、驱动类、驱动路径、用户名以及密码信息,同时可支持过滤数据库、数据表及提取操作日志的起始文件与位置。启动后,该组件会将Mysql数据库中新增、删除和更改等变化的数据转换成json,json中含有数据库、数据表、操作类型标识和变更前后的数据。
步骤206:根据目标数据库的目标数据存储格式,将增量数据转换成符合目标数据存储格式的目标增量数据;
具体地,如图7所示,对于得到的原始的json数据,可以对json数据进一步的修整,比如日期进行格式化、空值的处理、数值的修正等,可以进一步的进行转换,也可以将json数据转换成其他的格式的数据,比如Avro等。根据不同的存储端,可以转换成不同的协议。BinlogJSONToAvro可将Json转换为Avro格式的数据。
步骤207:将目标增量数据存储至目标数据库。
举例来说,图8为将Avro中的数据写入HBase完成持久化存储。在大数据平台中,可通过NiFi直接将Avro中的数据写入HDFS、HBase等完成持久化存储,写入Hive用于统计分析,写入Kafka用于流式计算,写入Elasticsearch用于检索等,如果需要对数据进行删除,则根据属性中的operationFlag判断对应的操作类型,依次进行批量操作。
通过上述步骤,可以实现将Mysql数据库中的增量数据同步到Elasticsearch的操作。
如图3所示,本发明实施例提供了数据同步装置,包括:
配置模块301,用于对一个关系型数据库进行配置,以能够获取关系型数据库的操作日志;
处理模块302,用于获取配置模块301配置好的关系型数据库的操作日志,并对操作日志进行解析,获得增量数据,其中,增量数据为关系型数据库中增加、删除以及更新的数据;
转换模块303,用于根据目标数据库的目标数据存储格式,将处理模块302处理得到的增量数据转换成符合目标数据存储格式的目标增量数据;
存储模块304,用于将转换模块303转换得到的目标增量数据存储至目标数据库。
在本发明实施例中,操作日志是二进制格式的日志文件,可以用来记录关系型数据库内部对数据库的改动,包括增加、删除以及更新的数据,基于关系型数据库本身开源、免费以及易用的特性,本方案通过配置模块对一个关系型数据库进行配置,以获取关系型数据库中的操作日志,进而实现对关系型数据库中增加、删除以及更新的数据同步,即实现增量数据的同步。由于关系型数据库本身并不适合于大数据时代下的业务需求,故需要将数据同步到大数据存储中,即目标数据库中。获取到的关系型数据库中的操作日志,需要通过处理模块对其进行解析,以便获取到增量数据,并通过转换模块将增量数据转换成符合目标数据存储格式的目标增量数据,以实现格式的匹配,从而将增量数据通过存储模块存储至目标数据库中。由于自增列或者时间戳进行增量数据的同步时,无法识别数据库中删除的数据,本方案可以通过关系型数据库中的操作日志实现增量数据同步,从而可以完整地实现数据同步。
如图4所示,在本发明一实施例中,配置模块301,包括:
第一配置单元3011,用于配置开启操作日志的开启参数,并设置操作日志的存储路径和操作日志的前缀;
第二配置单元3012,用于配置操作日志的标识符号,其中,标识符号用于在集群环境下对操作日志进行区分;
第三配置单元3013,用于配置操作日志的模式为Row模式、Statement模式和Mixed模式中的任意一个,其中,Row模式用于记录操作日志中每一行数据被修改的情况;Statement模式用于表示每一条会修改数据的sql都会记录到master的操作日志中;Mixed模式用于表示关系型数据库会根据执行的每一条具体的sql语句来区分对待记录的操作日志的形式。
基于图4所示的数据同步装置,如图5所示,在本发明一实施例中,在第三配置单元3013之后,进一步包括:
第四配置单元3014,用于配置操作日志的文件大小和保存时间的参数。
在本发明一实施例中,处理模块302,还用于配置需要解析的关系型数据库的主机信息、驱动类、驱动路径、用户名以及密码,以能够解析关系型数据库中的操作日志。
可以理解的是,本发明实施例示意的结构并不构成对数据同步装置的具体限定。在本发明的另一些实施例中,数据同步装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了数据同步装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行本发明任一实施例中的数据同步方法。
本发明实施例还提供了一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行本发明任一实施例中的数据同步方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
本发明各个实施例至少具有如下有益效果:
1、在本发明一实施例中,操作日志是二进制格式的日志文件,可以用来记录关系型数据库内部对数据库的改动,包括增加、删除以及更新的数据,基于关系型数据库本身开源、免费以及易用的特性,本方案通过获取关系型数据库中的操作日志,进而实现对关系型数据库中增加、删除以及更新的数据同步,即实现增量数据的同步。由于关系型数据库本身并不适合于大数据时代下的业务需求,故需要将数据同步到大数据存储中,即目标数据库中。获取到的关系型数据库中的操作日志,需要对其进行解析,以便获取到增量数据,并将增量数据转换成符合目标数据存储格式的目标增量数据,以实现格式的匹配,从而将增量数据同步至目标数据库中。由于自增列或者时间戳进行增量数据的同步时,无法识别数据库中删除的数据,本方案可以通过关系型数据库中的操作日志实现增量数据同步,从而可以完整地实现数据同步。
2、在本发明一实施例中,由于关系型数据库默认不开启操作日志,故需要对关系型数据库进行配置并重启关系型数据库,以使得关系型数据库中的操作日志能够开启。而配置过程包括三个参数的配置,首先配置用于开启操作日志的开启参数,并设置操作日志的存储路径和操作日志的前缀;其次,配置操作日志的标识符号,以用于在集群环境下对操作日志进行区分;最后,配置操作日志的模式为Row模式、Statement模式和Mixed模式中的任意一个,可以选择操作日志记录关系型数据库中数据变化的模式,以方便实现增量数据的同步。
3、在本发明实施例中,可以对操作日志的文件大小和保存时间的参数做进一步的配置,以便更好地管理操作日志。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。
Claims (10)
1.数据同步方法,其特征在于,包括:
对一个关系型数据库进行配置,以能够获取所述关系型数据库的操作日志;
获取所述关系型数据库的所述操作日志,并对所述操作日志进行解析,获得增量数据,其中,所述增量数据为所述关系型数据库中增加、删除以及更新的数据;
根据所述目标数据库的目标数据存储格式,将所述增量数据转换成符合所述目标数据存储格式的目标增量数据;
将所述目标增量数据存储至所述目标数据库。
2.根据权利要求1所述的方法,其特征在于,
所述对一个关系型数据库进行配置,包括:
配置用于开启所述操作日志的开启参数,并设置所述操作日志的存储路径和所述操作日志的前缀;
配置所述操作日志的标识符号,其中,所述标识符号用于在集群环境下对所述操作日志进行区分;
配置所述操作日志的模式为Row模式、Statement模式和Mixed模式中的任意一个,其中,所述Row模式用于记录所述操作日志中每一行数据被修改的情况;所述Statement模式用于表示每一条会修改数据的sql都会记录到master的操作日志中;所述Mixed模式用于表示所述关系型数据库会根据执行的每一条具体的sql语句来区分对待记录的所述操作日志的形式。
3.根据权利要求2所述的方法,其特征在于,
在所述配置所述操作日志的模式为Row模式、Statement模式和Mixed模式中的任意一个之后,进一步包括:
配置所述操作日志的文件大小和保存时间的参数。
4.根据权利要求1所述的方法,其特征在于,
所述获取所述关系型数据库的所述操作日志,并对所述操作日志进行解析,获得增量数据,包括:
配置需要解析的所述关系型数据库的主机信息、驱动类、驱动路径、用户名以及密码,以能够解析所述关系型数据库中的所述操作日志。
5.数据同步装置,其特征在于,包括:
配置模块,用于对一个关系型数据库进行配置,以能够获取所述关系型数据库的操作日志;
处理模块,用于获取所述配置模块配置好的所述关系型数据库的所述操作日志,并对所述操作日志进行解析,获得增量数据,其中,所述增量数据为所述关系型数据库中增加、删除以及更新的数据;
转换模块,用于根据所述目标数据库的目标数据存储格式,将所述处理模块处理得到的所述增量数据转换成符合所述目标数据存储格式的目标增量数据;
存储模块,用于将所述转换模块转换得到的所述目标增量数据存储至所述目标数据库。
6.根据权利要求5所述的装置,其特征在于,
所述配置模块,包括:
第一配置单元,用于配置开启所述操作日志的开启参数,并设置所述操作日志的存储路径和所述操作日志的前缀;
第二配置单元,用于配置所述操作日志的标识符号,其中,所述标识符号用于在集群环境下对所述操作日志进行区分;
第三配置单元,用于配置所述操作日志的模式为Row模式、Statement模式和Mixed模式中的任意一个,其中,所述Row模式用于记录所述操作日志中每一行数据被修改的情况;所述Statement模式用于表示每一条会修改数据的sql都会记录到master的操作日志中;所述Mixed模式用于表示所述关系型数据库会根据执行的每一条具体的sql语句来区分对待记录的所述操作日志的形式。
7.根据权利要求6所述的装置,其特征在于,
在所述第三配置单元之后,进一步包括:
第四配置单元,用于配置所述操作日志的文件大小和保存时间的参数。
8.根据权利要求5所述的装置,其特征在于,
所述处理模块,还用于配置需要解析的所述关系型数据库的主机信息、驱动类、驱动路径、用户名以及密码,以能够解析所述关系型数据库中的所述操作日志。
9.数据同步装置,其特征在于,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至4中任一所述的方法。
10.计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至4任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010082149.4A CN111209344A (zh) | 2020-02-07 | 2020-02-07 | 数据同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010082149.4A CN111209344A (zh) | 2020-02-07 | 2020-02-07 | 数据同步方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111209344A true CN111209344A (zh) | 2020-05-29 |
Family
ID=70785796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010082149.4A Pending CN111209344A (zh) | 2020-02-07 | 2020-02-07 | 数据同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111209344A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625605A (zh) * | 2020-06-02 | 2020-09-04 | 北京金堤科技有限公司 | 信息同步方法和装置、以及存储介质和电子设备 |
CN111858632A (zh) * | 2020-07-22 | 2020-10-30 | 浪潮云信息技术股份公司 | 一种基于NiFi的关系型数据库增量数据的入库方法 |
CN111881091A (zh) * | 2020-06-08 | 2020-11-03 | 微梦创科网络科技(中国)有限公司 | 数据存储方法、装置、电子设备及存储介质 |
CN112131237A (zh) * | 2020-09-28 | 2020-12-25 | 京东数字科技控股股份有限公司 | 数据同步方法、装置、设备及计算机可读介质 |
CN112269823A (zh) * | 2020-10-30 | 2021-01-26 | 浪潮云信息技术股份公司 | 一种实现PostgreSQL增量数据同步的方法及系统 |
CN112416885A (zh) * | 2020-12-09 | 2021-02-26 | 成都傲梅科技有限公司 | 一种文件的实时同步方法 |
CN112445863A (zh) * | 2020-11-30 | 2021-03-05 | 永辉云金科技有限公司 | 一种数据实时同步方法及系统 |
CN112685426A (zh) * | 2021-01-21 | 2021-04-20 | 浪潮云信息技术股份公司 | 一种基于NiFi的Kafka消费NewSQL CDC流数据转换方法 |
CN112732662A (zh) * | 2021-01-04 | 2021-04-30 | 浪潮云信息技术股份公司 | 一种NiFi同步数据量统计方法 |
CN113032344A (zh) * | 2020-08-25 | 2021-06-25 | 广州锦行网络科技有限公司 | 一种远程登录日志记录的清理方法 |
CN113449043A (zh) * | 2021-07-21 | 2021-09-28 | 中国人民解放军61932部队 | 数据同步方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107180116A (zh) * | 2017-06-28 | 2017-09-19 | 努比亚技术有限公司 | 一种数据同步处理方法、移动终端以及计算机可读存储介质 |
CN108363791A (zh) * | 2018-02-13 | 2018-08-03 | 沈阳东软医疗系统有限公司 | 一种数据库的数据同步方法和装置 |
CN110597891A (zh) * | 2018-06-12 | 2019-12-20 | 武汉斗鱼网络科技有限公司 | MySQL聚合为PostgreSQL数据库的设备、系统、方法、存储介质 |
-
2020
- 2020-02-07 CN CN202010082149.4A patent/CN111209344A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107180116A (zh) * | 2017-06-28 | 2017-09-19 | 努比亚技术有限公司 | 一种数据同步处理方法、移动终端以及计算机可读存储介质 |
CN108363791A (zh) * | 2018-02-13 | 2018-08-03 | 沈阳东软医疗系统有限公司 | 一种数据库的数据同步方法和装置 |
CN110597891A (zh) * | 2018-06-12 | 2019-12-20 | 武汉斗鱼网络科技有限公司 | MySQL聚合为PostgreSQL数据库的设备、系统、方法、存储介质 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625605A (zh) * | 2020-06-02 | 2020-09-04 | 北京金堤科技有限公司 | 信息同步方法和装置、以及存储介质和电子设备 |
CN111625605B (zh) * | 2020-06-02 | 2024-05-10 | 北京金堤科技有限公司 | 信息同步方法和装置、以及存储介质和电子设备 |
CN111881091A (zh) * | 2020-06-08 | 2020-11-03 | 微梦创科网络科技(中国)有限公司 | 数据存储方法、装置、电子设备及存储介质 |
CN111858632A (zh) * | 2020-07-22 | 2020-10-30 | 浪潮云信息技术股份公司 | 一种基于NiFi的关系型数据库增量数据的入库方法 |
CN111858632B (zh) * | 2020-07-22 | 2024-02-20 | 浪潮云信息技术股份公司 | 一种基于NiFi的关系型数据库增量数据的入库方法 |
CN113032344A (zh) * | 2020-08-25 | 2021-06-25 | 广州锦行网络科技有限公司 | 一种远程登录日志记录的清理方法 |
CN112131237A (zh) * | 2020-09-28 | 2020-12-25 | 京东数字科技控股股份有限公司 | 数据同步方法、装置、设备及计算机可读介质 |
WO2022063284A1 (zh) * | 2020-09-28 | 2022-03-31 | 京东科技控股股份有限公司 | 数据同步方法、装置、设备及计算机可读介质 |
CN112269823A (zh) * | 2020-10-30 | 2021-01-26 | 浪潮云信息技术股份公司 | 一种实现PostgreSQL增量数据同步的方法及系统 |
CN112445863A (zh) * | 2020-11-30 | 2021-03-05 | 永辉云金科技有限公司 | 一种数据实时同步方法及系统 |
CN112416885A (zh) * | 2020-12-09 | 2021-02-26 | 成都傲梅科技有限公司 | 一种文件的实时同步方法 |
CN112732662A (zh) * | 2021-01-04 | 2021-04-30 | 浪潮云信息技术股份公司 | 一种NiFi同步数据量统计方法 |
CN112732662B (zh) * | 2021-01-04 | 2023-03-28 | 浪潮云信息技术股份公司 | 一种NiFi同步数据量统计方法 |
CN112685426A (zh) * | 2021-01-21 | 2021-04-20 | 浪潮云信息技术股份公司 | 一种基于NiFi的Kafka消费NewSQL CDC流数据转换方法 |
CN113449043A (zh) * | 2021-07-21 | 2021-09-28 | 中国人民解放军61932部队 | 数据同步方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111209344A (zh) | 数据同步方法及装置 | |
CN110321387B (zh) | 数据同步方法、设备及终端设备 | |
CN107391744B (zh) | 数据存储、读取方法、装置及其设备 | |
US9619512B2 (en) | Memory searching system and method, real-time searching system and method, and computer storage medium | |
CN109241175A (zh) | 数据同步方法、装置、存储介质及电子设备 | |
CN112949276A (zh) | 报表生成方法、装置、电子设备及存储介质 | |
CN106874281B (zh) | 实现数据库读写分离的方法和装置 | |
CN111008246B (zh) | 数据库日志同步方法、装置、计算机设备及可读存储介质 | |
CN111104445A (zh) | 数据同步方法、装置及设备 | |
CN114691704A (zh) | 一种基于MySQL binlog的元数据同步方法 | |
CN109902070B (zh) | 一种面向WiFi日志数据的解析存储搜索方法 | |
CN112199935A (zh) | 数据的比对方法、装置、电子设备及计算机可读存储介质 | |
CN106682210B (zh) | 日志文件查询方法及装置 | |
CN109255161B (zh) | 一种net网表文件生成nod网表文件的方法 | |
CN112783927A (zh) | 一种数据库查询方法及系统 | |
CN109117173B (zh) | 一种基于项目版本开发的配制文件管理方法 | |
CN116204509A (zh) | 数据接入脚本生成方法、装置、电子设备及存储介质 | |
CN115827777A (zh) | 一种多数据源的自适应同步与差异识别方法、装置及设备 | |
CN105607957B (zh) | 一种基于opc da的数据采集与监控系统 | |
CN116150236A (zh) | 数据同步方法及装置、电子设备、计算机可读存储介质 | |
CN111563123B (zh) | 一种hive仓库元数据实时同步方法 | |
CN114816247A (zh) | 一种逻辑数据获取方法及装置 | |
CN114490606A (zh) | 多源数据比对和一致性处理方法、系统、装置及介质 | |
CN113220785A (zh) | 一种基于主键比对的数据库变更记录同步方法及装置 | |
CN117908930B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200529 |