CN104933202A - 一种数据抽取、转换、加载etl的方法和设备 - Google Patents
一种数据抽取、转换、加载etl的方法和设备 Download PDFInfo
- Publication number
- CN104933202A CN104933202A CN201510415806.1A CN201510415806A CN104933202A CN 104933202 A CN104933202 A CN 104933202A CN 201510415806 A CN201510415806 A CN 201510415806A CN 104933202 A CN104933202 A CN 104933202A
- Authority
- CN
- China
- Prior art keywords
- task
- etl
- execution
- effective
- described effective
- 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
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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Abstract
本发明公开了一种数据抽取、转换、加载ETL的方法,该方法包括:服务器确定有效数据抽取、转换、加载ETL任务,并判断所述有效ETL任务是否满足执行条件;如果满足执行条件,发送携带所述有效ETL任务的任务标识的执行请求报文给客户端,使得所述客户端根据所述有效ETL任务的任务标识确定匹配的ETL任务脚本语言文件并执行;接收所述客户端返回的携带所述有效ETL任务的执行结果及所述任务标识的执行应答报文。
Description
技术领域
本发明涉及数据处理领域,特别是一种数据抽取、转换、加载ETL的方法和设备。
背景技术
ETL(Extract-Transform-Load,抽取-转换-加载)技术用来将数据从来源端经过抽取、转换、加载至目的端,为企业实现数据向信息的转换,使得企业最大化地利用已存在的数据资源,节省更多的时间和资金,抓住制定关键商业决策的最佳契机。
ETL进行数据处理的过程为:
先读取配置数据库中的基本对象配置,按照各模板的配置依次从源数据中抽取数据。抽取模板配置对象相关的数据后,包括时间段,对象状态等信息,将其存储到临时数据库中;
将抽取数据存储到临时数据库后,再根据一定的转换规则,对抽取的数据进行转换。数据转换完成后再对其进行一些必要的处理,清除那些不正确的,不完整的数据,再对数据的格式等进行加工,最后加载到第三方数据库中;
当数据加载到第三方数据库完毕后,在一定时间内再将临时数据库中相关用表删除掉,减少数据占用率。
发明内容
有鉴于此,本发明提供了一种数据抽取、转换、加载ETL的方法和设备,解决了传统ETL工具不支持多数据源、复杂的数据逻辑、综合成本大等问题。本发明提出的技术方案是:
一种数据抽取、转换、加载ETL的方法,该方法包括:
服务器确定有效数据抽取、转换、加载ETL任务,并判断所述有效ETL任务是否满足执行条件;
如果满足执行条件,发送携带所述有效ETL任务的任务标识的执行请求报文给客户端,使得所述客户端根据所述有效ETL任务的任务标识确定匹配的ETL任务脚本语言文件并执行,所述匹配的ETL任务脚本语言文件嵌套有包含具体业务逻辑的数据库命令;
接收所述客户端返回的携带所述有效ETL任务的执行结果的执行应答报文。
一种数据抽取、转换、加载ETL的方法,该方法包括:
客户端接收并保存服务器发送的携带任务标识的数据抽取、转换、加载ETL任务脚本语言文件;
客户端接收服务器发送的携带任务标识的执行请求报文,根据所述执行请求报文携带的任务标识确定匹配的ETL任务脚本语言文件,并执行所述匹配的ETL任务脚本语言文件,所述匹配的ETL任务脚本语言文件嵌套有包含具体业务逻辑的数据库命令;
所述匹配的ETL任务脚本语言文件执行结束后,发送携带执行结果的执行应答报文给所述服务器。
一种服务器设备,该服务器设备用于数据抽取、转换、加载ETL,该设备包括:
处理模块,用于确定有效数据抽取、转换、加载ETL任务,并判断所述有效ETL任务是否满足执行条件;
发送模块,用于,如果所述处理模块判断所述有效ETL任务满足执行条件,发送携带所述有效ETL任务的任务标识的执行请求报文给客户端,使得所述客户端根据所述有效ETL任务的任务标识确定匹配的ETL任务脚本语言文件并执行,所述匹配的ETL任务脚本语言文件嵌套有包含具体业务逻辑的数据库命令;
接收模块,用于接收所述客户端返回的携带所述有效ETL任务的执行结果的执行应答报文。
一种客户端设备,该客户端设备用于数据抽取、转换、加载ETL,该设备包括:
接收模块,用于接收并保存服务器发送的携带任务标识的数据抽取、转换、加载ETL任务脚本语言文件;
还用于接收服务器发送的携带任务标识的执行请求报文;
处理模块,用于根据所述执行请求报文携带的任务标识确定匹配的ETL任务脚本语言文件,并执行所述匹配的ETL任务脚本语言文件,所述匹配的ETL任务脚本语言文件嵌套有包含具体业务逻辑的数据库命令;
发送模块,用于所述匹配的ETL任务脚本语言文件执行结束后,发送携带执行结果的执行应答报文给所述服务器。
综上所述,本发明提出的技术方案中,服务器进行任务调度,客户端执行ETL任务,并将执行结果反馈给服务器,客户端执行ETL任务时采用脚本语言代替ETL工具对数据进行抽取、转换、加载,实现了消耗非常小的资源来完成大数据量的处理加工,使得ETL任务执行起来更加容易实现,并能支持复杂的数据逻辑处理,且降低了ETL数据处理的成本,提高了ETL数据处理的性能。
附图说明
图1为本发明技术方案的组网结构图;
图2为本发明技术方案的流程图;
图3为本发明实施例的流程图;
图4为本发明实施例中的服务器设备结果图;
图5为本发明实施例中的客户端设备结构图。。
具体实施方式
现有技术中,ETL的实现有两种方式:一种是借助ETL工具实现,一种是通过SQL(Structured Query Language,结构化查询语言)方式实现。然而,本发明的发明人在发掘本发明的过程中发现,借助ETL工具缺少灵活性,不支持复杂的数据处理逻辑,通过SQL方式实现ETL时编码复杂,对技术要求高,不易实现。
为解决上述问题,本发明提出一种数据抽取、转换、加载ETL方法,本发明实施例的技术方案是:
图1为本发明技术方案的组网结构图,如图1所示,服务器进行任务调度,客户端1、客户端2实现ETL任务的执行。图2为本发明技术方案的流程图,如图2所示,该方法包括:
步骤201:服务器确定有效数据抽取、转换、加载ETL任务,并判断所述有效ETL任务是否满足执行条件。
本步骤中,服务器端保存有多个ETL任务,当ETL任务未被禁用时,服务器视作该ETL任务为有效ETL任务,否则为无效ETL任务。
只有满足执行条件的有效ETL任务才会被服务器制定客户端去执行,其中,服务器判断有效ETL任务是否满足执行条件的方法为:
如果服务器判断有效ETL任务的下次执行时间小于或等于当前时间,和/或,有效ETL任务的执行触发条件已成立,则判断该有效ETL任务满足执行条件。
即,每个有效ETL任务的执行条件为下述三种情况中的任一种:(1)有效ETL任务的下次执行时间小于或等于当前时间;(2)有效ETL任务的执行触发条件已成立;(3)有效ETL任务的下次执行时间小于或等于当前时间,并且该有效ETL任务的执行触发条件已成立。
服务器记录每个有效ETL任务的下次执行时间,并周期性判断该有效ETL任务是否到达下次执行时间,如果有效ETL任务的下次执行时间小于或等于当前时间,说明该有效ETL任务的下次执行时间已到达甚至已超时,则该有效ETL任务再执行时间上满足了执行条件;当某个有效ETL任务是一组串行ETL任务中的非首任务时,该有效ETL任务的执行需要依赖该串行ETL任务中另一个有效ETL任务执行结束才能执行,例如,有效ETL任务1、有效ETL任务2组成一组串行ETL任务,且有效ETL任务1执行成功后才能执行有效ETL任务2,则有效ETL任务2的执行条件包括执行触发条件,当有效ETL任务1执行成功后,服务器根据有效ETL任务1的执行结果将有效ETL任务2的执行触发条件配置为已成立,有效ETL任务2才满足执行触发条件这个执行条件。
步骤202:如果满足执行条件,服务器发送携带有效ETL任务的任务标识的执行请求报文给客户端,使得客户端根据该有效ETL任务的任务标识确定匹配的ETL任务脚本语言文件并执行,该匹配的ETL任务脚本语言文件嵌套有包含具体业务逻辑的数据库命令。
本步骤中,服务器将满足执行条件的有效ETL任务的任务标识携带于执行请求报文中发送给对应的客户端,本步骤之前,服务器已将该有效ETL任务的具体内容用脚本语言文件发送给某个客户端进行保存,当该客户端后续接收到服务器发送的执行请求报文后,根据该执行请求报文携带的有效ETL任务标识确定匹配的ETL任务脚本语言文件,并执行该文件,进行相应的数据抽取、转换和加载。
步骤203:服务器接收客户端返回的携带有效ETL任务的执行结果及该有效ETL任务的任务标识的执行应答报文。
本步骤中,服务器接收客户端返回的执行应答报文携带的有效ETL任务的执行结果为任务执行成功或失败,该应答报文中的任务标识用于服务器判断其携带的执行结果所属的ETL任务。
更进一步地,服务器判断该有效ETL任务是否存在下一级串行ETL任务,如果是,根据该有效ETL任务的执行结果将相应下一级串行ETL任务的执行触发条件配置为已成立,具体地:
如果该有效ETL任务执行成功,则将依赖该有效ETL任务执行成功后执行的下一级串行ETL任务的执行触发条件配置为已成立;
如果该有效ETL任务执行失败,则将依赖该有效ETL任务执行失败后执行的下一级串行ETL任务的执行触发条件配置为已成立。
当上述下一级串行ETL任务为终级串行任务时,即该下一级串行ETL任务没有下下级串行ETL任务,当该终级串行ETL任务执行成功后,服务器将该终级串行ETL任务的执行触发条件由已成立配置为未成立,便于下次执行时能够顺利进行。
为使本发明的目的、技术方案和优点表达的更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
本实施例采用图1所示的组网图,以抽取十个仓库数据库的数据,并将抽取的数据汇总到HADOOP平台上进行数据处理为例对本发明技术方案作进一步说明。图3为本实施例的流程图,如图3所示,包括以下步骤:
步骤301:服务器将ETL任务的脚本语言文件以及该ETL任务的任务标识发送给对应的客户端。
本步骤中,假设完成抽取十个仓库数据库的订单数据并将其汇总到HADOOP平台进行数据处理需要三个串行任务实现,分别为任务1、任务2、任务3,其中:
任务1的脚本语言文件通过DOS语言实现,并调用SQL Server的bcp命令将十个仓库的订单数据抽取为数据文件,并将抽取到的数据文件保存到Windows系统中;任务2的脚本语言文件通过Python语言实现,并调用FTP命令将任务1保存在Windows系统中的数据文件复制到Linux系统中;任务3的脚本语言文件通过JAVA语言实现,并调用HIVE命令将复制在Linux系统中的数据文件推送到HADOOP平台的HADOOP表中,并对HADOOP表中的数据文件执行HIVE运算,将数据文件中的订单数据进行汇总,执行数据汇总后,通过sqoop命令将汇总后的订单数据推送到第三方数据库中。
上述任务1每天21点执行一次,假设下次执行时间为2014年6月2日21点,任务2的执行触发条件为任务1执行成功,任务3的执行触发条件为任务2执行成功。
其中,DOS语言、Python语言、JAVA语言等均为脚本语言,本步骤中通过各种脚本语言实现每个ETL任务,因此,无论ETL任务包括多复杂的数据逻辑处理,本步骤都可以通过某种合适的脚本语言实现;当用脚本语言编写ETL任务时,涉及到比较常见的数据处理,可以通过调用各种数据库中自带的命令语句实现,例如mysql数据库中的mysqldump数据导出命令。Oracle数据库中的exp数据导出命令等,调用数据库自带的命令可以在短时间内消耗非常小的资源实现相应的数据处理。上述这种脚本语言与数据库自身命令相结合的ETL任务实现方式,实现了消耗非常小的资源来完成大数据量的处理加工,使得ETL任务执行起来更加容易实现,并能支持复杂的数据逻辑处理,且降低了ETL数据处理的成本,提高了ETL数据处理的性能。
本步骤中,假设服务器将ETL任务1的脚本语言文件以及ETL任务1的任务标识1发送给客户端1,将ETL任务2的脚本语言文件以及ETL任务2的任务标识2发送给客户端2,将ETL任务3的脚本语言文件以及ETL任务3的任务标识3发送给客户端3,使得客户端1保存ETL任务1的脚本语言文件及其任务标识1,客户端2保存ETL任务2的脚本语言文件及其标识2,客户端3保存ETL任务3的脚本语言文件及其标识3。
步骤302:服务器确定有效ETL任务。本步骤中,未被禁用的ETL任务均为有效ETL任务,且任务1、任务2、任务3未被禁用,因此服务器确定出的有效ETL任务包括任务1、任务2、任务3。
当不需要抽取这十个仓库中的订单数据时,服务器将任务1、任务2、任务3设置为禁用状态,则任务1、任务2、任务3不再是有效任务。
步骤303:服务器判断有效ETL任务是否满足执行条件。
本实施例中,任务1的执行条件仅涉及下次执行时间,且任务1的下次执行时间为2014年6月2日21点;任务2与任务3的执行条件均仅涉及执行触发条件,任务2的执行触发条件为任务1执行成功,任务3的执行触发条件为任务2执行成功。
假设当前时间是2014年6月2日21点10分,服务器判断任务1的下次执行时间小于当前时间,则任务1满足执行条件;任务2的执行触发条件为未成立(当日任务1尚未执行成功),则任务2不满足执行条件,任务3的执行触发条件为未成立(当日任务2尚未执行成功),则任务3不满足执行条件。
步骤304:服务器将满足执行条件的任务1的任务标识1携带于执行请求报文中发送给客户端1。
步骤305:客户端1接收到携带任务标识1的执行请求报文后,根据任务标识1确定任务1的ETL任务脚本语言文件,并执行确定出的ETL任务脚本语言文件。
本步骤中,客服端1预先保存有任务1的脚本语言文件以及对应的任务标识1,当客户端1接收到服务器发送的执行请求报文后,根据执行请求报文携带的任务标识1确定匹配的ETL任务脚本语言文件,即任务1的脚本语言文件,并执行任务1的脚本语言文件,实现将十个仓库的订单数据抽取为数据文件,并保存在Windows系统中。
步骤306:客户端1成功执行任务1,将执行成功信息携带于执行应答报文中发送给服务器,且该执行应答报文携带任务标识1。
本步骤中,客户端1成功执行任务1后,将任务标识1与执行成功信息的执行结果携带于执行应答报文中发送给服务器,通知服务器任务1已成功执行。步骤307:服务器接收客户端1发送的执行应答报文,根据该执行应答报文携带的任务标识1与执行成功信息,确定任务1已执行成功,将任务2的执行触发条件由未成立配置为已成立,并将任务1的下次执行时间更新为2014年6月3日21点。
步骤308:服务器判断任务2已满足执行条件,则发送携带任务标识2的执行请求报文给客户端2。
步骤309:客户端2接收到携带任务标识2的执行请求报文后,根据任务标识2确定任务2的ETL任务脚本语言文件,并执行确定出的ETL任务脚本语言文件。
本步骤中,客服端2预先保存有任务2的脚本语言文件以及对应的任务标识2,当客户端2接收到服务器发送的执行请求报文后,根据执行请求报文携带的任务标识2确定匹配的ETL任务脚本语言文件,即任务2的脚本语言文件,并执行任务2的脚本语言文件,实现将保存在Windows系统中的订单数据文件复制到Linnux系统中。
步骤310:客户端2成功执行任务2后,将执行成功信息携带于执行应答报文中发送给服务器,且该执行应答报文携带任务标识2。
步骤311:服务器接收客户端2发送的执行应答报文,根据该执行应答报文携带的执行成功信息与任务标识2,确定任务2已执行成功,将任务3的执行触发条件由未成立配置为已成立,同时将任务2的执行触发条件由已成立配置为未成立。
由于串行任务任务1、任务2、任务3为每日执行一次的任务,因此,当日任务2执行成功后,服务器将任务3的执行触发条件由未成立配置为已成立,并将任务2的执行触发条件由已成立配置为未成立,保证第二日任务2能正常执行。步骤312:服务器判断任务3已满足执行条件,则发送携带任务标识3的执行请求报文给客户端3。
步骤313:客户端3接收到携带任务标识3的执行请求报文后,根据任务标识3确定任务3的ETL任务脚本语言文件,并执行确定出的ETL任务脚本语言文件。
本步骤中,客服端3预先保存有任务3的脚本语言文件以及对应的任务标识3,当客户端3接收到服务器发送的执行请求报文后,根据执行请求报文携带的任务标识3确定匹配的ETL任务脚本语言文件,即任务3的脚本语言文件,并执行任务3的脚本语言文件,实现将Linnux系统中的订单数据文件推送到HADOOP平台的HADOOP表中,并对HADOOP表中的数据文件进行汇总,将汇总后的订单数据推送到第三方数据库中。
步骤314:客户端3成功执行任务3后,将执行成功信息携带于执行应答报文中发送给服务器,且该执行应答报文携带任务标识3。
步骤315:服务器接收客户端3发送的执行应答报文,根据该执行应答报文携带的执行成功信息与任务标识3,确定任务3已执行成功,将任务3的执行触发条件由已成立配置为未成立。
本实施例通过脚本语言实现数据的抽取、转换、加载等步骤,摆脱了ETL工具的限制,能够通过脚本语言实现各种复杂的数据处理逻辑,并且由服务器进行任务调度,客户端执行任务,有效实现了ETL任务的串行操作,形成一套完整的ETL数据处理过程,有效提高了数据抽取、转换、加载的效率,并易于实现。
以上对本发明实施例提出的数据抽取、转换、加载ETL的方法进行了说明。下面结合附图对本发明实施例提供的服务器设备及客户端设备进行说明。
图4为本发明实施例提供的一种服务器设备结构图,该服务器设备用于数据抽取、转换、加载ETL,如图4所示,该服务器设备包括:
处理模块401,用于确定有效数据抽取、转换、加载ETL任务,并判断所述有效ETL任务是否满足执行条件;
发送模块402,用于,如果所述处理模块判断所述有效ETL任务满足执行条件,发送携带所述有效ETL任务的任务标识的执行请求报文给客户端,使得所述客户端根据所述有效ETL任务的任务标识确定匹配的ETL任务脚本语言文件并执行,所述匹配的ETL任务脚本语言文件嵌套有包含具体业务逻辑的数据库命令;
接收模块403,用于接收所述客户端返回的携带所述有效ETL任务的执行结果的执行应答报文。
处理模块401判断所述有效ETL任务是否满足执行条件时,进一步用于:
如果处理模块401判断所述有效ETL任务的下次执行时间小于或等于当前时间,和/或,所述有效ETL任务的执行触发条件已成立,则判断所述有效ETL任务满足执行条件。
接收模块403接收所述客户端返回的携带所述有效ETL任务的执行结果的执行应答报文后,处理模块401进一步用于:
判断有效ETL任务是否存在下一级串行ETL任务,如果是,根据所述有效ETL任务的执行结果将相应下一级串行ETL任务的执行触发条件配置为已成立;
更新所述有效ETL任务的下次执行时间,和/或将所述有效ETL任务的执行触发条件由已成立更新为未成立。
处理模块401根据所述有效ETL任务的执行结果将相应下一级串行ETL任务的执行触发条件配置为已成立时,
如果所述有效ETL任务执行成功,处理模块401则将依赖所述有效ETL任务执行成功后执行的下一级串行ETL任务的执行触发条件配置为已成立;
如果所述有效ETL任务执行失败,所述处理模块401则将依赖所述有效ETL任务执行失败后执行的下一级串行ETL任务的执行触发条件配置为已成立。
所述ETL任务通过脚本语言文件实现,所述脚本语言文件嵌套有包含具体业务逻辑的数据库命令。
图5为本发明实施例提供的一种客户端设备结构图,该客户端设备用于数据抽取、转换、加载ETL,如图5所示,该客户端设备包括:
接收模块501,用于接收并保存服务器发送的携带任务标识的数据抽取、转换、加载ETL任务脚本语言文件;
还用于接收服务器发送的携带任务标识的执行请求报文;
处理模块502,用于根据所述执行请求报文携带的任务标识确定匹配的ETL任务脚本语言文件,并执行所述匹配的ETL任务脚本语言文件,所述匹配的ETL任务脚本语言文件嵌套有包含具体业务逻辑的数据库命令;
发送模块503,用于所述匹配的ETL任务脚本语言文件执行结束后,发送携带执行结果的执行应答报文给所述服务器。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (12)
1.一种数据抽取、转换、加载ETL的方法,其特征在于,该方法包括:
服务器确定有效数据抽取、转换、加载ETL任务,并判断所述有效ETL任务是否满足执行条件;
如果满足执行条件,发送携带所述有效ETL任务的任务标识的执行请求报文给客户端,使得所述客户端根据所述有效ETL任务的任务标识确定匹配的ETL任务脚本语言文件并执行,所述匹配的ETL任务脚本语言文件嵌套有包含具体业务逻辑的数据库命令;
接收所述客户端返回的携带所述有效ETL任务的执行结果及所述任务标识的执行应答报文。
2.根据权利要求1所述的方法,其特征在于,所述判断所述有效ETL任务是否满足执行条件进一步包括:
如果所述服务器判断所述有效ETL任务的下次执行时间小于或等于当前时间,和/或,所述有效ETL任务的执行触发条件已成立,则判断所述有效ETL任务满足执行条件。
3.根据权利要求1所述的方法,其特征在于,所述接收所述客户端返回的携带所述有效ETL任务的执行结果的执行应答报文后,该方法进一步包括:
所述服务器判断所述有效ETL任务是否存在下一级串行ETL任务,如果是,根据所述有效ETL任务的执行结果将相应下一级串行ETL任务的执行触发条件配置为已成立;
更新所述有效ETL任务的下次执行时间,和/或将所述有效ETL任务的执行触发条件由已成立更新为未成立。
4.根据权利要求3所述的方法,其特征在于,所述根据所述有效ETL任务的执行结果将相应下一级串行ETL任务的执行触发条件配置为已成立,包括:
如果所述有效ETL任务执行成功,则将依赖所述有效ETL任务执行成功后执行的下一级串行ETL任务的执行触发条件配置为已成立;
如果所述有效ETL任务执行失败,则将依赖所述有效ETL任务执行失败后执行的下一级串行ETL任务的执行触发条件配置为已成立。
5.根据权利要求4所述的方法,其特征在于,所述下一级串行ETL任务为终级串行任务时,所述下一级串行任务成功执行后,所述服务器将所述下一级ETL任务的执行触发条件由已成立配置为未成立。
6.一种数据抽取、转换、加载ETL的方法,其特征在于,该方法包括:
客户端接收并保存服务器发送的携带任务标识的数据抽取、转换、加载ETL任务脚本语言文件;
客户端接收服务器发送的携带任务标识的执行请求报文,根据所述执行请求报文携带的任务标识确定匹配的ETL任务脚本语言文件,并执行所述匹配的ETL任务脚本语言文件,所述匹配的ETL任务脚本语言文件嵌套有包含具体业务逻辑的数据库命令;
所述匹配的ETL任务脚本语言文件执行结束后,发送携带执行结果的执行应答报文给所述服务器。
7.一种服务器设备,其特征在于,该服务器用于数据抽取、转换、加载ETL,该设备包括:
处理模块,用于确定有效数据抽取、转换、加载ETL任务,并判断所述有效ETL任务是否满足执行条件;
发送模块,用于,如果所述处理模块判断所述有效ETL任务满足执行条件,发送携带所述有效ETL任务的任务标识的执行请求报文给客户端,使得所述客户端根据所述有效ETL任务的任务标识确定匹配的ETL任务脚本语言文件并执行,所述匹配的ETL任务脚本语言文件嵌套有包含具体业务逻辑的数据库命令;
接收模块,用于接收所述客户端返回的携带所述有效ETL任务的执行结果的执行应答报文。
8.根据权利要求7所述的设备,其特征在于,所述处理模块判断所述有效ETL任务是否满足执行条件时,进一步用于:
如果所述处理模块判断所述有效ETL任务的下次执行时间小于或等于当前时间,和/或,所述有效ETL任务的执行触发条件已成立,则判断所述有效ETL任务满足执行条件。
9.根据权利要求7所述的设备,其特征在于,所述接收模块接收所述客户端返回的携带所述有效ETL任务的执行结果的执行应答报文后,所述处理模块进一步用于:
判断所述有效ETL任务是否存在下一级串行ETL任务,如果是,根据所述有效ETL任务的执行结果将相应下一级串行ETL任务的执行触发条件配置为已成立;
更新所述有效ETL任务的下次执行时间,和/或将所述有效ETL任务的执行触发条件由已成立更新为未成立。
10.根据权利要求9所述的设备,其特征在于,所述处理模块根据所述有效ETL任务的执行结果将相应下一级串行ETL任务的执行触发条件配置为已成立时,
如果所述有效ETL任务执行成功,所述处理模块则将依赖所述有效ETL任务执行成功后执行的下一级串行ETL任务的执行触发条件配置为已成立;
如果所述有效ETL任务执行失败,所述处理模块则将依赖所述有效ETL任务执行失败后执行的下一级串行ETL任务的执行触发条件配置为已成立。
11.根据权利要求10所述的设备,其特征在于,所述下一级串行ETL任务为终级串行任务时,所述下一级串行任务成功执行后,所述处理模块将所述下一级ETL任务的执行触发条件由已成立配置为未成立。
12.一种客户端设备,其特征用于,该客户端设备用于数据抽取、转换、加载ETL,该设备包括:
接收模块,用于接收并保存服务器发送的携带任务标识的数据抽取、转换、加载ETL任务脚本语言文件;
还用于接收服务器发送的携带任务标识的执行请求报文;
处理模块,用于根据所述执行请求报文携带的任务标识确定匹配的ETL任务脚本语言文件,并执行所述匹配的ETL任务脚本语言文件,所述匹配的ETL任务脚本语言文件嵌套有包含具体业务逻辑的数据库命令;
发送模块,用于所述匹配的ETL任务脚本语言文件执行结束后,发送携带执行结果的执行应答报文给所述服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510415806.1A CN104933202A (zh) | 2015-07-15 | 2015-07-15 | 一种数据抽取、转换、加载etl的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510415806.1A CN104933202A (zh) | 2015-07-15 | 2015-07-15 | 一种数据抽取、转换、加载etl的方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104933202A true CN104933202A (zh) | 2015-09-23 |
Family
ID=54120369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510415806.1A Pending CN104933202A (zh) | 2015-07-15 | 2015-07-15 | 一种数据抽取、转换、加载etl的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104933202A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105787122A (zh) * | 2016-03-28 | 2016-07-20 | 北京科东电力控制系统有限责任公司 | 一种数据抽取、转换及装载的方法 |
CN106777180A (zh) * | 2016-12-22 | 2017-05-31 | 北京京东金融科技控股有限公司 | 高性能分布式数据转换的方法、装置及系统 |
CN107436883A (zh) * | 2016-05-26 | 2017-12-05 | 北京京东尚科信息技术有限公司 | 基于求余的数据抽取的方法、装置及系统 |
CN110661851A (zh) * | 2017-03-02 | 2020-01-07 | 杭州数梦工场科技有限公司 | 数据交换方法和装置 |
CN112597220A (zh) * | 2020-12-16 | 2021-04-02 | 北京锐安科技有限公司 | 数据文件读取方法、装置、电子设备和介质 |
CN113949601A (zh) * | 2021-11-12 | 2022-01-18 | 杭州和利时自动化有限公司 | 一种控制器站间通信方法、装置及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040181522A1 (en) * | 2003-01-16 | 2004-09-16 | Jardin Cary A. | Shared memory router system and method for node communication in a distributed system |
CN101533417A (zh) * | 2009-04-28 | 2009-09-16 | 阿里巴巴集团控股有限公司 | 一种实现etl调度的方法及系统 |
CN101882161A (zh) * | 2010-06-23 | 2010-11-10 | 中国工商银行股份有限公司 | 应用级异步任务调度系统和方法 |
CN102270235A (zh) * | 2011-08-01 | 2011-12-07 | 中国民生银行股份有限公司 | 数据仓库的查询处理方法及装置 |
-
2015
- 2015-07-15 CN CN201510415806.1A patent/CN104933202A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040181522A1 (en) * | 2003-01-16 | 2004-09-16 | Jardin Cary A. | Shared memory router system and method for node communication in a distributed system |
CN101533417A (zh) * | 2009-04-28 | 2009-09-16 | 阿里巴巴集团控股有限公司 | 一种实现etl调度的方法及系统 |
CN101882161A (zh) * | 2010-06-23 | 2010-11-10 | 中国工商银行股份有限公司 | 应用级异步任务调度系统和方法 |
CN102270235A (zh) * | 2011-08-01 | 2011-12-07 | 中国民生银行股份有限公司 | 数据仓库的查询处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
潘华,等: "《数据仓库与数据挖掘原理、工具及应用》", 31 December 2007 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105787122A (zh) * | 2016-03-28 | 2016-07-20 | 北京科东电力控制系统有限责任公司 | 一种数据抽取、转换及装载的方法 |
CN107436883A (zh) * | 2016-05-26 | 2017-12-05 | 北京京东尚科信息技术有限公司 | 基于求余的数据抽取的方法、装置及系统 |
CN107436883B (zh) * | 2016-05-26 | 2020-06-30 | 北京京东尚科信息技术有限公司 | 基于求余的数据抽取的方法、装置及系统 |
CN106777180A (zh) * | 2016-12-22 | 2017-05-31 | 北京京东金融科技控股有限公司 | 高性能分布式数据转换的方法、装置及系统 |
CN110661851A (zh) * | 2017-03-02 | 2020-01-07 | 杭州数梦工场科技有限公司 | 数据交换方法和装置 |
CN112597220A (zh) * | 2020-12-16 | 2021-04-02 | 北京锐安科技有限公司 | 数据文件读取方法、装置、电子设备和介质 |
CN112597220B (zh) * | 2020-12-16 | 2023-10-17 | 北京锐安科技有限公司 | 数据文件读取方法、装置、电子设备和介质 |
CN113949601A (zh) * | 2021-11-12 | 2022-01-18 | 杭州和利时自动化有限公司 | 一种控制器站间通信方法、装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104933202A (zh) | 一种数据抽取、转换、加载etl的方法和设备 | |
US10133797B1 (en) | Distributed heterogeneous system for data warehouse management | |
WO2020140614A1 (zh) | 离线消息分发方法、服务器及存储介质 | |
CN102915336A (zh) | 一种基于时间戳和日志的增量数据捕获和抽取方法 | |
CN103780679A (zh) | 基于http协议的长延时远程调用方法 | |
CN108023908A (zh) | 数据更新方法、装置及系统 | |
CN111491037B (zh) | 通过sftp数据流与对象存储服务器的通信方法 | |
CN111125013B (zh) | 一种数据入库方法、装置、设备及介质 | |
CN111277639A (zh) | 一种保持数据一致性的方法和装置 | |
CN102508919A (zh) | 数据处理方法及系统 | |
CN110851248A (zh) | 异步任务数据处理方法、装置及计算机可读存储介质 | |
CN106034113A (zh) | 数据处理方法及装置 | |
CN112150203A (zh) | 房地产客户到访识别方法、装置、电子设备及存储介质 | |
CN104504010A (zh) | 一种多对多的数据采集系统及其采集方法 | |
US20170004152A1 (en) | System and method for dynamic data archival and purging | |
CN101667139A (zh) | 基于集合类型对象的服务程序调用方法、装置及系统 | |
CN107346270B (zh) | 基于实时计算的基数估计的方法和系统 | |
CN107870982A (zh) | 数据处理方法、系统和计算机可读存储介质 | |
CN110502562A (zh) | 数据导入方法及装置、可读存储介质 | |
CN107451211A (zh) | 一种基于RabbitMQ和MongoDB的下载系统 | |
CN105162837A (zh) | 海量数据存储环境下提升i/o吞吐率的方法及系统 | |
CN111842167B (zh) | 物品分拣的方法和装置 | |
CN111402044A (zh) | 数据配置系统及其数据配置方法 | |
CN113360558A (zh) | 数据处理方法、数据处理装置、电子设备及存储介质 | |
CN112306695A (zh) | 数据的处理方法、装置、电子设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into 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: 20150923 |