本发明专利技术公开了一种数据抽取、转换、加载ETL的方法,该方法包括:服务器确定有效数据抽取、转换、加载ETL任务,并判断所述有效ETL任务是否满足执行条件;如果满足执行条件,发送携带所述有效ETL任务的任务标识的执行请求报文给客户端,使得所述客户端根据所述有效ETL任务的任务标识确定匹配的ETL任务脚本语言文件并执行;接收所述客户端返回的携带所述有效ETL任务的执行结果及所述任务标识的执行应答报文。
【技术实现步骤摘要】
本专利技术涉及数据处理领域,特别是一种数据抽取、转换、加载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任务满足执行条件。S卩,每个有效ETL任务的执行条件为下述三种情况中的任一种:(I)有效ETL任务的下次执行时间小于或等于当前时间;(2)有效ETL任务的执行触发条件已成立;(3)有效ETL任务的下次执行时间小于或等于当前时间,并且该有效ETL任务的执行触发条件已成立。服务器记录每个有效ETL任务的下次执行时间,并周期性判断该有效ETL任务是否到达下次执行时间,如果有效ETL任务的下次执行时间小于或等于当前时间,说明该有效ETL任务的下次执行时间已到达甚至已超时,则该有效ETL任务再执行时间上满足了执行条件;当某个有效ETL任务是一组串行ETL任务中的非首任务时,该有效ETL任务的执行需要依赖该串行ETL任务中另一个有效ETL任务执行结束才能执行,例如,有效ETL任务1、有效ETL任务2组成一组串行ETL任务,且有效ETL任务I执行成功后才能执行有效ETL任务2,则有效ETL任务2的执行条件包括执行触发条件,当有效ETL任务I执行成功后,月艮务器根据有效ETL任务I的执行结果将有效ETL任务2的执行触发条件配置为已成立,有效ETL任务2才满足执行触发条件这个执行条件。步骤202:如果满足执行条件,服务器发送携带有效ETL任务的任务标识的执行请求报文给客户端,使得客户端根据该有效ETL任务的任务标识确定匹配的ETL任务脚本语言文件并执行,该匹配的ETL任务脚本语言文件嵌套有包含具体业务逻辑的数据库命令。本步骤中,服务器将满足执行条件的有效ETL任务的任务标识携带于执行请求报文中发送给对应的客户端,本步骤之前,服务器已将该有效ETL任务的具体内容用脚本语言文件发送给某个客户端进行保存,当该客户端后续接收到服务器发送的执行请求报文后,根据该执行请求报文携带的有效ETL任务标本文档来自技高网...
【技术保护点】
一种数据抽取、转换、加载ETL的方法,其特征在于,该方法包括:服务器确定有效数据抽取、转换、加载ETL任务,并判断所述有效ETL任务是否满足执行条件;如果满足执行条件,发送携带所述有效ETL任务的任务标识的执行请求报文给客户端,使得所述客户端根据所述有效ETL任务的任务标识确定匹配的ETL任务脚本语言文件并执行,所述匹配的ETL任务脚本语言文件嵌套有包含具体业务逻辑的数据库命令;接收所述客户端返回的携带所述有效ETL任务的执行结果及所述任务标识的执行应答报文。
【技术特征摘要】
【专利技术属性】
技术研发人员:王喆,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。