The present invention provides a method of data synchronization based on Kettle and system, wherein, the method comprises the following steps: configure data source client information and parameter information, and the data source configuration information and configuration information stored in the database; editing includes data flow logic Kettle file through the client Kettle graphical interface; the the Kettle file upload to Kettle execution engine; dynamic analysis of the Kettle file; and according to the data flow logic and the corresponding parameter configuration information, according to the data source configuration information, the corresponding number of source data source according to flow to the target data source. The system includes a client and data acquisition platform for client information configuration, edit and upload the Kettle file; data acquisition platform for receiving, dynamic analysis of the Kettle file, according to the data source configuration information, the corresponding data source data transfer to the target data source. The invention can arbitrarily specify the data flow between the plurality of data sources, is fast and convenient, and has low coupling between the systems.
【技术实现步骤摘要】
基于Kettle的数据同步方法和系统
本专利技术涉及数据处理
,具体地说,涉及一种基于Kettle的数据同步方法和系统。
技术介绍
目前,在大部分企业中,随着企业业务的不断扩大,企业系统在不断的增加、迭代更新,系统之间也会有很多的关联,就像蜘蛛网一样,错综复杂。当已有系统已经不能满足公司业务需求时,不得不重新对系统进行设计开发。然而这必然会面临一个非常艰难的事情:如何做到新老数据的一致性。通常的方案是:在进行新系统的设计时,会兼容老系统的设计,做成Worker定时将老系统数据同步到新系统。这种方案当然可行,但是同步数据消耗的时间非常多。如果公司有成千上万个系统,每升级一个新系统,都要重新同步数据。将花费太多的时间。因此,除了在设计新系统时考虑与老系统的兼容性的同时,还需要寻找完成系统之间的数据同步的方案。目前,使用较多的方案有采用Sql语句数据同步、应用程序之间的定时同步、通过系统间RPC调用,例如:WebService、RMI、或者企业内部的RPC框架,还有采用一些Etl工具在本地做数据转换。在错综复杂的企业系统中,进行数据采集,然后采用Sql语句导入,工作量比较大。如果采用应用程序之间的定时同步,会限制企业内部中各应用之间的扩展。如果采用远程的RPC调用,必然会因为远程调用而对相应的应用服务器带来很大的压力,并且集成相对较复杂。采用Etl工具做数据转换,由于是对线上数据库直接操作,必然会有权限限制和安全问题,并且这种做法通常也不符合企业流程的规范。在Etl工具中,有一种名为Kettle的开源的Etl工具,由纯Java编写,在数据抽取上具有高效、稳 ...
【技术保护点】
一种基于Kettle的数据同步方法,其中,包括:通过客户端配置数据源及相关参数,并将数据源配置信息及参数配置信息存储在数据库中;通过客户端Kettle图形化界面编辑包括数据流转逻辑的Kettle文件;将所述Kettle文件上传给Kettle执行引擎;动态解析所述Kettle文件;和按照数据流转逻辑及相应的参数配置信息,根据数据源配置信息,将源数据源的相应数据流转到目标数据源。
【技术特征摘要】
1.一种基于Kettle的数据同步方法,其中,包括:通过客户端配置数据源及相关参数,并将数据源配置信息及参数配置信息存储在数据库中;通过客户端Kettle图形化界面编辑包括数据流转逻辑的Kettle文件;将所述Kettle文件上传给Kettle执行引擎;动态解析所述Kettle文件;和按照数据流转逻辑及相应的参数配置信息,根据数据源配置信息,将源数据源的相应数据流转到目标数据源。2.如权利要求1所述的基于Kettle的数据同步方法,其中,所述数据源配置信息包括数据源标识、数据源类型、数据源的IP或URL链接地址;和/或,所述参数包括数据流转时所需的动态参数。3.如权利要求2所述的基于Kettle的数据同步方法,其中,所述动态解析所述Kettle文件的步骤包括:动态加载所述Kettle文件,生成相应的转换对象;根据所述数据源配置信息和参数配置信息,对所述转换对象进行数据源和参数的赋值。4.如权利要求3所述的基于Kettle的数据同步方法,其中,所述转换对象包括数据源属性信息和参数属性信息;所述对所述转换对象进行数据源赋值的步骤包括:根据所述数据源属性信息中的数据源标识,在所述数据源配置信息中获取对应的源数据源信息和目标数据源信息;根据所述源数据源信息和目标数据源信息修改所述数据源属性信息;所述对所述转换对象进行参数赋值的步骤包括:根据所述参数属性信息中需要赋值的参数查找所述参数配置信息,根据查找到的具体参数,修改所述参数属性信息。5.如权利要求3或4所述的基于Kettle的数据同步方法,其中,所述数据源配置信息记录在数据源配置表中;和/或,所述参数配置信息记录在参数表中。6.如权利要求2所述的基于Kettle的数据同步方法,其中,所述数据源类型包括Oralce、MySql、SQLServer、WebService或SAP中的一种或任意几种类型的组合。7.如权利要求1所述的基于Kettle的数据同步方法,其中,在将所述Kettle文件上传...
【专利技术属性】
技术研发人员:李飞,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。