CN110928947A - 基于kettle的数据同步方法、装置及相关设备 - Google Patents
基于kettle的数据同步方法、装置及相关设备 Download PDFInfo
- Publication number
- CN110928947A CN110928947A CN201910981996.1A CN201910981996A CN110928947A CN 110928947 A CN110928947 A CN 110928947A CN 201910981996 A CN201910981996 A CN 201910981996A CN 110928947 A CN110928947 A CN 110928947A
- Authority
- CN
- China
- Prior art keywords
- data
- source
- synchronized
- database
- processed
- 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 57
- 230000001360 synchronised effect Effects 0.000 claims abstract description 89
- 239000000126 substance Substances 0.000 claims description 2
- 238000003754 machining Methods 0.000 description 14
- 238000013500 data storage Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000002699 waste material Substances 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
- G06F16/275—Synchronous replication
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及大数据领域,具体涉及一种基于kettle的数据同步方法、装置及计算机设备、存储介质,所述方法包括:获取源数据库的源数据;判断所述源数据是否加工完成,若所述源数据加工完成,则判断是否有需要同步的数据;若有需要同步的数据,则通过kettle同步所述需要同步的数据到目标数据库;若所述源数据未加工完成,则循环等待所述源数据加工完成。本发明提供的基于kettle的数据同步方案直接从源数据将数据按条件同步到目标库,能够解决不能判断数据是否已加工的问题;通过判断是否有需要同步的数据,能够避免直接同步浪费资源的情况。
Description
技术领域
本发明涉及大数据领域,尤其涉及一种基于kettle的数据同步方法、装置及计算机设备、存储介质。
背景技术
目前,各大金融公司为满足财务数据的统计处理都会搭建一个平台,进而将日报、月报、预测等功能整合。这些功能的实现基于底层指标数据的加工,指标数据有的存在不同的数据库中,这时需要将其按规则同步到同一个数据库上,主要是基于kettle同步数据实现,常见的方案是直接从数据源将数据按条件同步到目标数据库,但在实际的项目中,现有的实现方式无法有效保证数据同步的正确性。
发明内容
本发明实施例提供一种基于kettle的数据同步方法、装置及计算机设备、存储介质,以解决现有技术中不能有效保证数据同步的正确性的问题。
第一方面,本发明实施例提供一种基于kettle的数据同步方法,包括:
获取源数据库的源数据;
判断所述源数据是否加工完成,若所述源数据加工完成,则判断是否有需要同步的数据;
若有需要同步的数据,则通过kettle同步所述需要同步的数据到目标数据库;
若所述源数据未加工完成,则循环等待所述源数据加工完成。
作为本发明可实施的方式,所述获取源数据库的源数据包括:
通过源数据库提供的数据接口从所述源数据库中获取所述源数据。
作为本发明可实施的方式,所述判断所述源数据是否加工完成包括:
获取加工日志表;
从所述加工日志表中读取所述源数据的加工状态;
根据所述加工状态判断所述源数据是否加工完成。
作为本发明可实施的方式,所述若所述源数据加工完成,则判断是否有需要同步的数据包括:
获取数据同步标识;
根据所述数据同步标识判断是否有需要同步的数据;
若所述数据同步标识显示有需要同步的数据,则确定需要同步的数据。
作为本发明可实施的方式,所述若有需要同步的数据,则通过kettle同步所述需要同步的数据到目标数据库包括:
若有需要同步的数据,则增量同步所述需要同步的数据到目标数据库。
作为本发明可实施的方式,在同步数据到目标数据库之前,所述方法包括:
获取待同步的数据库中的数据;
将所述数据转换为键值对;
将所述键值对输入目标数据库,确定完成按目标数据库的数据格式将待同步的数据进行转换。
作为本发明可实施的方式,所述方法还包括:
若循环等待数据加工超过预先设定的等待时间阈值,则结束等待。
第二方面,本发明实施例提供一种基于kettle的数据同步装置,包括:
获取模块,用于获取源数据库的源数据;
判断模块,用于判断所述源数据是否加工完成,若所述源数据加工完成,则判断是否有需要同步的数据;
同步模块,用于若有需要同步的数据,则通过kettle同步所述需要同步的数据到目标数据库;
循环等待模块,用于若所述源数据未加工完成,则循环等待所述源数据加工完成。
第三方面,本发明实施例提供一种计算机设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机可读指令,所述计算机可读指令被所述至少一个处理器执行时,使得所述至少一个处理器执行上述的基于kettle的数据同步方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被至少一个处理器执行时实现如上所述的基于kettle的数据同步方法。
根据本发明实施例提供的基于kettle的数据同步方法、装置及计算机设备、存储介质,通过获取源数据库的源数据;判断所述源数据是否加工完成,若所述源数据加工完成,则判断是否有需要同步的数据;若有需要同步的数据,则通过kettle同步所述需要同步的数据到目标数据库;若所述源数据未加工完成,则循环等待所述源数据加工完成。本发明提供的基于kettle的数据同步方法从源数据将数据按条件同步到目标数据库,能够解决不能判断数据是否已加工的问题;通过判断是否有需要同步的数据,能够避免直接同步浪费资源的情况。
附图说明
为了更清楚地说明本发明的方案,下面将对实施例描述中所需要使用的附图做一个简单介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于kettle的数据同步方法的流程图;
图2为本发明实施例提供的基于kettle的数据同步装置的示意图;
图3本发明实施例提供的计算机设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
在说明书中的各个位置出现的“实施例”该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明实施例提供一种基于kettle的数据同步方法,用于将数据从源数据按条件同步到目标数据库,通过判断是否有需要同步的数据,避免直接同步浪费资源。如图1所示,所述基于kettle的数据同步方法包括:
S1、获取源数据库的源数据。
本实施例中,源数据库是相对于目标数据库而言的,这两个(或多个)数据库可以在同一台计算机或服务器上,也可以不在同一台计算机或服务器上,通过网络连通组成分布式的数据库系统。源数据库中的源数据加工后可以同步到目标数据库进行备份或供其他业务使用。
进一步的,上述源数据库和目标数据库可以是同构的,也可以是异构的,即可以是同一种数据库,如关系型数据库ORACLE、MYSQL等,还可以是非关系型数据库Hbase。
可选地,获取源数据库的源数据包括:
通过源数据库提供的数据接口从所述源数据库中获取所述源数据。
首先需要连接接口连接上源数据库,所述连接接口可以由kettle可视化界面提供,然后通过查询、读取的接口来获取源数据。所述源数据库提供的数据接口包括:连接源数据库的接口以及参数,如Connection name连接名称、Connection type需要连接的数据库、Method of access连接类型、Server host name数据库服务器的ip地址、Databasename数据库名、Port number端口号、Username用户名、Password密码等;数据查询接口、读取接口则是连上数据库后操作数据库的sql语句,例如基于oracle数据库的sql查询语句,select*from表A where条件限制。
S2、判断所述源数据是否加工完成,若所述源数据加工完成,则判断是否有需要同步的数据。
其中,所述判断所述源数据是否加工完成包括:
获取加工日志表;
从所述加工日志表中读取所述源数据的加工状态;
根据所述加工状态判断所述源数据是否加工完成。
具体的,所述加工日志表中的源数据的加工状态可以包括加工完成以及未加工完成状态。
可选地,获取加工完成的源数据包括:
获取加工日志表;
选中加工状态为完成的数据;
将所述加工状态为完成的数据确定为加工完成的源数据。
源数据库中设计一张加工日志表用以记录源数据的加工日志,然后通过查询接口,查询所述加工日志表中当前加工状态为完成的数据,该数据对应的源数据即为加工完成的数据。
上述源数据的加工日志表的结构可以包括如下字段:1、任务名称;2、开始时间;3、完成时间;4、加工完成状态或未加工完成状态,编写sql查询语句从已建立连接的源数据库查询上述加工日志表中当前的加工状态为加工完成的数据,选择该数据对应的源数据即为加工完成的数据。
可选地,所述若所述源数据加工完成,则判断是否有需要同步的数据包括:
获取同步标识;
根据所述同步标识判断是否有需要同步的数据;
若所述同步标识显示有需要同步的数据,则确定需要同步的数据。
上述同步标识是加工状态为完成的数据在源数据库中创建的或更新的时间标识,该创建或更新时间标识可以从源数据库的日志表中通过查询接口获取,从而可以判断哪些数据是新增的或更新过的,并以此时间标识作为同步的基点,根据上述同步标识将新增或修改的源数据库中的源数据进行复制或替换到目标数据库。
S3、若有需要同步的数据,则通过kettle同步所述需要同步的数据到目标数据库。
如果根据上述同步标识确定有需要同步的数据,则通过数据接口将源数据库中需要同步的数据读取出来根据全量同步或增量同步到方式同步到目标数据库。
可选的,所述若有需要同步的数据,则通过kettle同步所述需要同步的数据到目标数据库包括:
若有需要同步的数据,则增量同步所述需要同步的数据到目标数据库。
如果根据上述同步标识确定源数据库中有数据新增或修改,则需要将新增或修改后的数据同步到目标库,可以通过数据接口将源数据库中需要同步的数据读取出来,然后根据增量同步的方式将数据同步到目标数据库,即只需将新增或修改的源数据库中的源数据进行复制或替换到目标数据库,而不是将源数据库中的所有数据全部复制到清空后的目标数据库。
进一步地,在同步数据到目标数据库之前,所述方法包括:
获取待同步的数据库中的数据;
将所述数据转换为键值对;
将所述键值对输入目标数据库,确定完成按目标数据库的数据格式将待同步的数据进行转换。
目标数据库可以是关系型的(如MYSQL)还可以是非关系型的(如Redis、Hbase)。关系型数据库的数据存储结构是二维表,包括行和列,一行是一条数据记录(包括字段和值),通过建立索引来获取。非关系型数据库的数据存储方式,如Redis为键值对;Hbase为列式存储,将同一列数据存在一起,通过列索引来存取数据。因此在同步源数据到目标数据库之前,需要按目标数据库的数据格式将待同步的源数据转换为符合目标数据库的数据格式。例如从MYSQL源数据库同步到Redis目标数据库,先将源数据(主要是字段和对应的值)从表从抽取出来,再转换为键值对(key-value),即将源数据的字段转换为key字符串,然后将值作为value,最后写入到目标数据库Redis。
S4、若所述源数据未加工完成,则循环等待所述源数据加工完成。
如果源数据未加工好,则还不能同步源数据到目标数据库,可以通过kettel设置一等待时间阈值,所述等待时间阈值可以为1分钟,在该等待时间阈值内通过查询数据的接口(即编写的sql查询语句)循环检查源数据库中源数据的加工状态,即可以配置循环检查的时间间隔参数,如在上述等待时间阈值内5秒检查一次源数据加工的情况,当未满足条件(即源数据加工未完成)的时候,就等待到下个循环检查时间再检查判断是否满足源数据加工完成的状态。这样就可以循环等待直到源数据加工完成后同步数据。
可选的,若循环等待数据加工超过预先设定的等待时间阈值,则结束等待。
如果源数据未加工好,可以在上述等待时间阈值内循环查询源数据的准备情况,直到源数据加工完成。如果等待超时,则结束等待并继续往下处理,而不是一直等待着并循环查询,占用计算资源;进一步的还可以通过kettel设置"超时成功",使得程序继续执行而不是结束。
本发明实施例提供的基于kettle的数据同步方法,通过获取源数据库的源数据;判断所述源数据是否加工完成,若所述源数据加工完成,则判断是否有需要同步的数据;若有需要同步的数据,则通过kettle同步所述需要同步的数据到目标数据库;若所述源数据未加工完成,则循环等待所述源数据加工完成。本发明提供的基于kettle的数据同步方法从源数据将数据按条件同步到目标数据库,能够解决不能判断数据是否已加工的问题;通过判断是否有需要同步的数据,能够避免直接同步浪费资源的情况。
本发明实施例提供一种基于kettle的数据同步装置,可执行上述实施例提供的基于kettle的数据同步方法。如图2所示,所述基于kettle的数据同步装置包括获取模块210、判断模块220、同步模块230和循环等待模块240;本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。所述在一些实施例中,关于各模块的功能将在后续的实施例中详述。
获取模块210用于获取源数据库的源数据。
本实施例中,源数据库是相对于目标数据库而言的,所述源数据库以及目标数据库可以在同一台计算机或服务器上,也可以不在同一台计算机或服务器上,通过网络连通组成分布式的数据库系统。源数据库中的源数据加工后可以同步到目标数据进行备份或供其他业务使用。
进一步的,上述源数据库和目标数据库可以是同构的,也可以是异构的,即可以是同一种数据库,如关系型数据库ORACLE、MYSQL等,还可以是非关系型数据库Hbase。
可选地,所述获取模块获取源数据库的源数据包括:
通过源数据库提供的数据接口从所述源数据库中获取所述源数据。
首先需要连接接口连接上源数据库,所述连接接口可以由kettle可视化界面提供,然后通过查询、读取的接口来获取源数据。所述源数据库提供的数据接口包括:连接源数据库的接口以及参数,如Connection name连接名称、Connection type需要连接的数据库、Method of access连接类型、Server host name数据库服务器的ip地址、Databasename数据库名、Port number端口号、Username用户名、Password密码等;数据查询接口、读取接口则是连上数据库后操作数据库的sql语句,例如基于oracle数据库的sql查询语句,select*from表A where条件限制。
判断模块220用于判断所述源数据是否加工完成,若所述源数据加工完成,则判断是否有需要同步的数据。
其中,所述判断模块判断所述源数据是否加工完成包括:
获取加工日志表;
从所述加工日志表中读取所述源数据的加工状态;
根据所述加工状态判断所述源数据是否加工完成。
具体的,所述加工日志表中的源数据的加工状态可以包括加工完成以及未加工完成。
可选地,获取加工完成的源数据包括:
获取加工日志表;
选中加工状态为完成的数据;
将所述加工状态为完成的数据确定为加工完成的源数据。
源数据库中设计一张加工日志表用以记录源数据的加工日志,然后通过查询接口,查询所述加工日志表中当前加工状态为完成的数据,该数据对应的源数据即为加工完成的数据。
上述源数据的加工日志表的结构可以包括如下字段:1、任务名称;2、开始时间;3、完成时间;4、加工完成状态或未加工完成状态,编写sql查询语句从已建立连接的源数据库查询上述加工日志表中当前的加工状态为加工完成的数据,选择该数据对应的源数据即为加工完成的数据。
可选地,所述若所述源数据加工完成,则判断是否有需要同步的数据包括:
获取同步标识;
根据所述同步标识判断是否有需要同步的数据;
若所述同步标识显示有需要同步的数据,则确定需要同步的数据。
上述同步标识是加工状态为完成的数据在源数据库中创建的或更新的时间标识,该创建或更新时间标识可以从源数据库的日志表中通过查询接口获取,从而可以判断哪些数据是新增的或更新过的,并以此时间标识作为同步的基点,根据上述同步标识将新增或修改的源数据库中的源数据进行复制或替换到目标数据库。
同步模块230用于若有需要同步的数据,则通过kettle同步所述需要同步的数据到目标数据库。
如果根据上述同步标识确定有需要同步的数据,则通过数据接口将源数据库中需要同步的数据读取出来根据全量同步或增量同步到方式同步到目标数据库。
可选的,所述若有需要同步的数据,则通过kettle同步所述需要同步的数据到目标数据库包括:
若有需要同步的数据,则增量同步所述需要同步的数据到目标数据库。
如果根据上述同步标识确定源数据库中有数据新增或修改,则需要将新增或修改后的数据同步到目标库,可以通过数据接口将源数据库中需要同步的数据读取出来,然后根据增量同步的方式将数据同步到目标数据库,即只需将新增或修改的源数据库中的源数据进行复制或替换到目标数据库,而不是将源数据库中的所有数据全部复制到清空后的目标数据库。
进一步地,在同步数据到目标数据库之前,所述方法包括:
获取待同步的数据库中的数据;
将所述数据转换为键值对;
将所述键值对输入目标数据库,确定完成按目标数据库的数据格式将待同步的数据进行转换。
目标数据库可以是关系型的(如MYSQL)还可以是非关系型的(如Redis、Hbase)。关系型数据库的数据存储结构是二维表,包括行和列,一行是一条数据记录(包括字段和值),通过建立索引来获取。非关系型数据库的数据存储方式,如Redis为键值对;Hbase为列式存储,将同一列数据存在一起,通过列索引来存取数据。因此在同步源数据到目标数据库之前,需要按目标数据库的数据格式将待同步的源数据转换为符合目标数据库的数据格式。例如从MYSQL源数据库同步到Redis目标数据库,先将源数据(主要是字段和对应的值)从表从抽取出来,再转换为键值对(key-value),即将源数据的字段转换为key字符串,然后将值作为value,最后写入到目标数据库Redis。
循环等待模块240用于若所述源数据未加工完成,则循环等待所述源数据加工完成。
如果源数据未加工好,则还不能同步源数据到目标数据库,可以通过kettel设置一等待时间阈值,所述等待时间阈值可以为1分钟,在该等待时间阈值内通过查询数据的接口(即编写的sql查询语句)循环检查源数据库中源数据的加工状态,即可以配置循环检查的时间间隔参数,如在上述等待时间阈值内5秒检查一次源数据加工的情况,当未满足条件(即源数据加工未完成)的时候,就等待到下个循环检查时间再检查判断是否满足源数据加工完成的状态。这样就可以循环等待直到源数据加工完成后同步数据。
可选的,若循环等待数据加工超过预先设定的等待时间阈值,则结束等待。如果源数据未加工好,可以在上述等待时间阈值内循环查询源数据的准备情况,直到源数据加工完成。如果等待超时,则结束等待并继续往下处理,而不是一直等待着并循环查询,占用计算资源;进一步的还可以通过kettel设置"超时成功",使得程序继续执行而不是结束。
本发明实施例上述获取模块210、判断模块220、同步模块230和循环等待模块240所实现的功能的细节还可参阅上述方法实施例中的相关技术内容,在此不作展开。
根据本发明实施例提供的基于kettle的数据同步装置,通过获取源数据库的源数据;判断所述源数据是否加工完成,若所述源数据加工完成,则判断是否有需要同步的数据;若有需要同步的数据,则通过kettle同步所述需要同步的数据到目标数据库;若所述源数据未加工完成,则循环等待所述源数据加工完成。本发明提供的基于kettle的数据同步方法从源数据将数据按条件同步到目标数据库,能够解决不能判断数据是否已加工的问题;通过判断是否有需要同步的数据,能够避免直接同步浪费资源的情况。
本发明实施例还提供一种计算机设备,如图3所示,所述计算机设备包括至少一个处理器31,以及与所述至少一个处理器31通信连接的存储器32,图3中示出一个处理器31,所述存储器32存储有可被所述至少一个处理器31执行的计算机可读指令,所述计算机可读指令被所述至少一个处理器31执行,以使所述至少一个处理器31能够执行如上所述的基于kettle的数据同步方法。
具体的,本发明实施例中的存储器32为非易失性计算机可读存储介质,可用于存储计算机可读指令、非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请上述实施例中的基于kettle的数据同步方法对应的程序指令/模块;所述处理器31通过运行存储在存储器32中的非易失性软件程序、计算机可读指令以及模块,从而执行各种功能应用以及进行数据处理,即实现上述方法实施例中所述的基于kettle的数据同步方法。
在一些实施例中,所述存储器32可以包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需要的应用程序;数据存储区可存储基于kettle的数据同步方法的处理过程中所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件;
在一些实施例中,存储器32可选包括相对于处理器31远程设置的远程存储器,这些远程存储器可以通过网络连接至执行域名过滤处理的计算机设备,前述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
在本发明实施例中,执行基于kettle的数据同步方法的计算机设备还可以包括输入装置33和输出装置34;其中,输入装置33可获取用户在计算机设备上的操作信息,输出装置34可包括显示屏等显示设备。在本发明实施例中,所述处理器31、存储器32、输入装置33和输出装置34可以通过总线或者其他方式连接,图3中以通过总线连接为例。
根据本发明实施例提供的计算机设备,通过处理器31执行存储器32中的代码时能够执行上述实施例中基于kettle的数据同步方法的步骤,且具有上述方法实施例的技术效果,未在本实施例中详尽描述的技术细节,可参见本申请方法实施例中所提供的技术内容。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被至少一个处理器执行时,能够实现如上所述的基于kettle的数据同步方法的步骤,当执行所述方法的步骤时,具有上述方法实施例的技术效果,未在本实施例中详尽描述的技术细节,可参见本申请方法实施例中所提供的技术内容。
本发明实施例还提供一种计算机程序产品,所述产品可执行本申请方法实施例中所提供的基于kettle的数据同步方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请方法实施例中所提供的技术内容。
需要说明的是,在本发明上述实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干计算机可读指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或智能终端设备或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明所提供的上述实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,至少两个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
显然,以上所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,附图中给出了本发明的较佳实施例,但并不限制本发明的专利范围。本发明可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本发明说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本发明专利保护范围之内。
Claims (10)
1.一种基于kettle的数据同步方法,其特征在于,所述方法包括:
获取源数据库的源数据;
判断所述源数据是否加工完成,若所述源数据加工完成,则判断是否有需要同步的数据;
若有需要同步的数据,则通过kettle同步所述需要同步的数据到目标数据库;
若所述源数据未加工完成,则循环等待所述源数据加工完成。
2.根据权利要求1所述的基于kettle的数据同步方法,其特征在于,所述获取源数据库的源数据包括:
通过源数据库提供的数据接口从所述源数据库中获取所述源数据。
3.根据权利要求1所述的基于kettle的数据同步方法,其特征在于,所述判断所述源数据是否加工完成包括:所述方法包括:
获取加工日志表;
从所述加工日志表中读取所述源数据的加工状态;
根据所述加工状态判断所述源数据是否加工完成。
4.根据权利要求3所述的基于kettle的数据同步方法,其特征在于,所述若所述源数据加工完成,则判断是否有需要同步的数据包括:
获取数据同步标识;
根据所述数据同步标识判断是否有需要同步的数据;
若所述数据同步标识显示有需要同步的数据,则确定需要同步的数据。
5.根据权利要求1所述的基于kettle的数据同步方法,其特征在于,所述若有需要同步的数据,则通过kettle同步所述需要同步的数据到目标数据库包括:
若有需要同步的数据,则增量同步所述需要同步的数据到目标数据库。
6.根据权利要求5所述的基于kettle的数据同步方法,其特征在于,在同步数据到目标数据库之前,所述方法包括:
获取待同步的数据库中的数据;
将所述数据转换为键值对;
将所述键值对输入目标数据库,按目标数据库的数据格式将待同步的数据进行转换。
7.根据权利要求1所述的基于kettle的数据同步方法,其特征在于,所述方法还包括:
若循环等待数据加工超过预先设定的等待时间阈值,则结束等待。
8.一种基于kettle的数据同步装置,其特征在于,包括:
获取模块,用于获取源数据库的源数据;
判断模块,用于判断所述源数据是否加工完成,若所述源数据加工完成,则判断是否有需要同步的数据;
同步模块,用于若有需要同步的数据,则通过kettle同步所述需要同步的数据到目标数据库;
循环等待模块,用于若所述源数据未加工完成,则循环等待所述源数据加工完成。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机可读指令,所述计算机可读指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1至7中任一项所述的基于kettle的数据同步方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被至少一个处理器执行时实现如权利要求1至7中任一项权利要求所述的基于kettle的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910981996.1A CN110928947A (zh) | 2019-10-16 | 2019-10-16 | 基于kettle的数据同步方法、装置及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910981996.1A CN110928947A (zh) | 2019-10-16 | 2019-10-16 | 基于kettle的数据同步方法、装置及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110928947A true CN110928947A (zh) | 2020-03-27 |
Family
ID=69849010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910981996.1A Pending CN110928947A (zh) | 2019-10-16 | 2019-10-16 | 基于kettle的数据同步方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928947A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000649A (zh) * | 2020-07-07 | 2020-11-27 | 武汉达梦数据库有限公司 | 一种基于map reduce的增量数据同步的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001090933A1 (en) * | 2000-05-24 | 2001-11-29 | Openwave Systems Inc. | Synchronisation of databases |
CN105554114A (zh) * | 2015-12-17 | 2016-05-04 | 深圳市从晶科技有限公司 | 一种数据同步方法及数据同步固件平台 |
CN106980636A (zh) * | 2016-07-22 | 2017-07-25 | 平安科技(深圳)有限公司 | 保单数据处理方法和装置 |
CN109086295A (zh) * | 2018-06-13 | 2018-12-25 | 中国平安人寿保险股份有限公司 | 数据同步方法、装置、计算机设备及存储介质 |
-
2019
- 2019-10-16 CN CN201910981996.1A patent/CN110928947A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001090933A1 (en) * | 2000-05-24 | 2001-11-29 | Openwave Systems Inc. | Synchronisation of databases |
CN105554114A (zh) * | 2015-12-17 | 2016-05-04 | 深圳市从晶科技有限公司 | 一种数据同步方法及数据同步固件平台 |
CN106980636A (zh) * | 2016-07-22 | 2017-07-25 | 平安科技(深圳)有限公司 | 保单数据处理方法和装置 |
CN109086295A (zh) * | 2018-06-13 | 2018-12-25 | 中国平安人寿保险股份有限公司 | 数据同步方法、装置、计算机设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000649A (zh) * | 2020-07-07 | 2020-11-27 | 武汉达梦数据库有限公司 | 一种基于map reduce的增量数据同步的方法和装置 |
CN112000649B (zh) * | 2020-07-07 | 2023-06-27 | 武汉达梦数据库股份有限公司 | 一种基于map reduce的增量数据同步的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107220142B (zh) | 执行数据恢复操作的方法及装置 | |
US9177035B2 (en) | Replicating data to a database | |
CN108536752B (zh) | 一种数据同步方法、装置和设备 | |
CN107609217B (zh) | 碰撞校核数据的处理方法及装置 | |
CN110737594B (zh) | 自动生成测试用例的数据库标准符合性测试方法及装置 | |
CN111324610A (zh) | 一种数据同步的方法及装置 | |
US10866866B2 (en) | Query fault processing method and processing apparatus | |
CN108205560B (zh) | 一种数据同步方法以及装置 | |
CN103810224A (zh) | 信息持久化和查询方法及装置 | |
CN113420026B (zh) | 数据库表结构变更方法、装置、设备及存储介质 | |
CN110109981B (zh) | 工作队列的信息展示方法、装置、计算机设备和存储介质 | |
CN108121774B (zh) | 一种数据表备份方法及终端设备 | |
CN109800069B (zh) | 一种实现数据治理的方法及装置 | |
CN103678396A (zh) | 一种基于数据模型的数据备份方法和装置 | |
CN110928947A (zh) | 基于kettle的数据同步方法、装置及相关设备 | |
CN114443015A (zh) | 一种基于数据库元数据的增删改查服务接口生成方法 | |
CN114372102A (zh) | 数据的分析方法、装置、存储介质及电子设备 | |
CN112579604A (zh) | 测试系统的造数方法、装置、设备及存储介质 | |
CN110058995B (zh) | 一种可避免数据库类型的干扰的数据库测试方法以及系统 | |
CN114722045A (zh) | 时间序列数据的存储方法及装置 | |
CN105740131B (zh) | 软件用户行为回退处理方法及装置 | |
WO2014088396A2 (en) | Automatic transformation of non-relational database into relational database | |
CN108073584B (zh) | 一种数据处理方法及服务器 | |
CN109284278B (zh) | 基于数据分析技术的计算逻辑迁移方法及终端设备 | |
CN110688387A (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: 20200327 |