Etl调度方法、装置及系统的制作方法

文档序号:6341413阅读:173来源:国知局
专利名称:Etl调度方法、装置及系统的制作方法
技术领域
本发明涉及通信领域中业务支撑,特别涉及数据仓库技术领域,具体地,涉及一种 ETL调度方法、装置及系统。
背景技术
传统的ETL指在构建数据仓库过程中对数据源中数据的抽取(Extract),经过数据转换(Transform)后加载(Load)到数据仓库的过程。目前的ETL负责系统运行程序的调度控制和资源的分配,一般情况下,一个ETL过程是针对一个数据仓库进行的。
在涉及到多个数据仓库(即多个应用系统)的情况下,使用以下方式
一、部署中心数据仓库,在中心数据仓库进行ETL集中调度。外围应用系统(数据仓库)从中心数据仓库中抽取数据,通过FTP方式传输数据,以满足应用系统数据的需要。
二、部署多套ETL程序,每个应用系统相对独立,各自完成自己的数据抽取清理加载和过程调度,各个系统间相互独立。也有方法设置独立的接口抽取模块,通过FTP传递到本机上进行ETL过程。
在实现本发明过程中,发明人发现现有技术中多系统下的ETL调度方式存在如下缺陷
方法一,采用中心数据仓库生成数据,外围系统从中心数据仓库导出数据,中心数据仓库负担巨大。在外围系统数量多的情况下,中心数据仓库成为整个系统的瓶颈。同时, 外围应用系统效率低下,资源浪费较多。
方法二,采用多套ETL过程独立运行,各个应用系统间数据复用程度低,接口抽取,清理和过程调度等在多个应用系统运行,资源浪费严重。设置独立的接口抽取模块情况下,各应用系统均包含接口文件,存储资源浪费,且各个应用系统间调度相对独立,缺乏统一的管理。发明内容
本发明的第一目的是提出一种ETL调度方法,实现在多应用系统环境情况下的高效调度。
本发明的第二目的是提出一种ETL调度装置,实现在多应用系统环境情况下的高效调度。
本发明的第三目的是提出一种ETL调度系统,以实现高效调度。
为实现上述第一目的,根据本发明的一个方面,提供了一种ETL调度装置,包括
接口抽取单元,用于从数据源系统抽取数据;
接口处理单元,用于对接口抽取单元抽取的数据进行格式处理,生成统一的接口数据;
主控调度单元,用于对所述接口处理单元处理后的接口数据进行对应应用系统的加载调度和运行调度分离,控制应用系统的数据加载和运行调度;
数据加载单元,用于根据所述主控调度单元的调度信息,将所述接口数据向对应应用系统进行数据加载;
接口消息单元,用于接收应用系统的运行调度反馈信息,并返回所述主控调度单兀。
为实现上述第二目的,根据本发明的另一个方面,提供了一种ETL调度系统,包括上述第一目的的调度装置,还包括一至多个用于提供接口数据源的数据源系统,以及一至多个用于根据所述ETL调度装置提供的数据源,运行对应的应用的应用系统。
为实现上述第三目的,根据本发明的另一个方面,提供了一种ETL调度方法,包括对从数据源系统抽取的数据进行格式处理,生成统一的接口数据;对接口数据分别进行应用系统的加载调度和运行调度分离,分别控制应用系统的数据加载和运行调度。
本发明各实施例的ETL调度方法、装置及系统,通过将ETL处理任务分为集中的 ETL调度装置块和各应用系统的子系统单元,承担不同的任务,将原来ETL的加载调度控制和应用运行处理剥离,从而实现一种在多应用系统环境下的ETL调度,在提高多应用系统下的ETL处理调度效率的同时,能更好处理多系统环境下数据共享、系统间调度依赖控制、 接口数据源共享、多应用系统接口数据加载资源分配等问题。
本发明在设置了中央的ETL调度装置,对每个应用系统的调度能够进行控制和调度,并能对应用系统间调度依赖进行协调,并不只是为一个独立系统的调度服务。本发明还可以同步管理多个应用系统的加载权重和加载过程的管理,可以控制加载数据的先后和并发数,可以同时对多个系统进行加载和调度,对于每个系统可设置其并发数以控制资源消耗。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中
图1为根据本发明ETL调度装置及系统实施例示意图2为根据本发明ETL调度装置中主控调度单元实施例示意图3为根据本发明ETL调度方法实施例一流程图4为根据本发明ETL调度方法实施例二流程图5为根据本发明ETL调度方法实施例三的示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为根据本发明ETL调度装置及系统实施例示意图,图1示出了多系统情况下的ETL处理装置示意图,主要涉及ETL调度装置和各应用系统(以下也称子系统)内的配3/10 页合单元,其中ETL调度装置包含接口抽取单元2、接口处理单元4、主控调度单元6、接口消息单元10、数据加载单元8,应用系统内包含子系统接口消息单元和子系统处理单元。
下面结合图1及图2对本发明的系统各组成以及本发明ETL装置的各单元进行具体说明
一、数据源系统
提供接口数据源的系统,可以是数据仓库,也可以是文件系统。各应用系统也可以作为数据源系统为其他应用系统提供数据服务,达到应用系统间调度的作用。
二、应用系统(子系统)
使用接口数据源的接口文件,运行部署在其系统上的相关应用。应用系统间可以相互独立,也可以有一定的依赖关系。
三、ETL调度装置,可以位于经分系统中的ETL服务器中,或者新增的位于经分系统中,提供多系统的调度,其内部包括如下单元
①接口抽取单元2
按照预先设定的接口抽取配置表,按照设定的接口抽取周期和规则,从数据源系统抽取相关接口数据。其中,抽取配置中的接口抽取周期和抽取规则可以按日、月或者小时,也可以按照应用系统消息接口层(即图1中子系统的接口消息单元)的数据抽取需求实时抽取,下表1为抽取配置表举例。
表1接口抽取配置表
数据源(系统)接口位置接口类型接口代码抽取周期抽取类型211. 135. 11. 22/EXP0RT/XAS. C文本文件31103曰全量CDRDBCDR. SMS—YY丽数据库表10002小时增量211. 137. 132. 1/EXPORT/FFS. d二进制文件13142曰全量
其中,表1中数据源表示要抽取的数据来源,如数据源系统的地址,接口位置为指定抽取的数据源系统上存储数据的数据位置,如存放目录。接口类型表示抽取的数据源的数据类型。接口代码为ETL调度装置抽取数据后存放的数据标识码,通过该接口代码可以知晓存储的数据类型、来源等。抽取类型表示全量抽取还是增量抽取,增量抽取表示只抽取变化的数据。
通过配置表抽取后的接口数据可以按照文本文件格式固定存放。为保证各个应用系统数据库加载字段的不同需要,接口抽取的数据字段需要和数据源系统保持一致。
②接口处理单元4
接口数据单元用于对接口数据进行校验、接口清理、接口转换等。其中接口数据校验是根据配置表对抽取的数据进行数据判断,如抽取时根据控制命令字段中的字段个数判断抽取的数据是否符合,如果不符合,则抽取的数据有误等,以保障抽取的接口数据和源系统抽取的数据无误;接口清理和接口转换对接口中的垃圾数据进行清理,其中,接口校验、6接口清理和接口转换均可以利用现有技术中对ETL的处理实现,在此不做详述。
接口处理单元对抽取的数据中部分字段进行格式转换,生成统一的接口数据文件,如下表2所示
表2接口处理单元生成的统一接口数据
权利要求
1.一种ETL调度装置,其特征在于,包括 接口抽取单元,用于从数据源系统抽取数据;接口处理单元,用于对接口抽取单元抽取的数据进行格式处理,生成统一的接口数据;主控调度单元,用于对所述接口处理单元处理后的接口数据进行对应应用系统的加载调度和运行调度分离,控制应用系统的数据加载和运行调度;数据加载单元,用于根据所述主控调度单元的调度信息,将所述接口数据向对应应用系统进行数据加载;接口消息单元,用于接收应用系统的运行调度反馈信息,并返回所述主控调度单元。
2.根据权利要求1所述的ETL调度装置,其特征在于,所述主控调度单元包括 加载调度模块,用于根据应用系统的加载配置对应用系统进行并发加载控制;运行调度模块,用于根据接口消息单元的反馈信息获得应用系统运行状态信息,根据应用系统的运行配置以及应用系统运行状态信息对应用系统进行运行控制。
3.根据权利要求2所述的ETL调度装置,其特征在于,所述加载调度模块包括加载配置子模块,用于存储应用系统的加载配置信息,所述加载配置信息包括以下任意组合加载的接口数据名称、加载数据的资源消耗权值、资源优先级、系统优先级;加载控制子模块,用于根据应用系统的加载配置信息进行并发加载控制,所述加载控制包括以下信息任意组合总加载并发数目、单一加载并发数目、资源消耗门限。
4.根据权利要求2所述的ETL调度装置,其特征在于,所述运行调度模块包括运行调度配置子模块,用于存储应用系统的运行配置信息,包括以下任意组合包括应用系统内和/或应用系统间的运行触发条件、运行优先级、运行资源消耗权值;运行调度控制子模块,用于根据接口消息单元的反馈信息获得应用系统运行状态信息,根据应用系统的运行配置信息以及应用系统运行状态信息对应用系统进行运行调度控制。
5.一种ETL调度系统,其特征在于,包括上述权利要求1-4任一项所述的调度装置,还包括一至多个数据源系统,用于提供接口数据源;一至多个应用系统,用于根据所述ETL调度装置提供的数据源,运行对应的应用。
6.根据权利要求5所述的ETL调度系统,其特征在于,所述数据源系统包括数据仓库、 文件系统、和/或为其余应用系统提供数据服务的应用系统。
7.根据权利要求5或6所述的ETL调度系统,其特征在于,所述应用系包括子系统接口消息单元,用于与所述ETL调度装置进行信息交互,其中,所述信息包括运行调度交互信息、数据加载交互信息、数据抽取/反馈信息;子系统处理单元,用于系统内部的应用处理及与所述ETL调度装置的信息同步。
8.根据权利要求7所述的ETL调度系统,其特征在于,所述子系统处理单元包括 子系统消息处理模块,用于进行和所述ETL装置的信息同步;子系统应用配置模块,用存储运行应用和应用调度的对应关系; 子系统运行处理模块,用于接收所述子系统消息处理单元的交互信息,根据所述应用系统应用配置模块运行对应应用。
9.一种ETL调度方法,其特征在于,包括对从数据源系统抽取的数据进行格式处理,生成统一的接口数据;对接口数据分别进行应用系统的加载调度和运行调度分离,分别控制应用系统的数据加载和运行调度。
10.根据权利要求9所述的ETL调度方法,其特征在于,对接口数据分别进行应用系统的加载调度和运行调度分离包括根据应用系统的加载配置信息对应用系统进行并发加载控制;在加载完成后,根据应用系统的运行配置信息以及应用系统运行状态对应用系统进行运行调度控制。
11.根据权利要求10所述的ETL调度方法,其特征在于,所述加载配置信息包括以下任意组合加载的接口数据名称、加载数据的资源消耗权值、资源优先级、应用系统优先级;所述加载控制包括以下信息任意组合总加载并发数目、单一加载并发数目、资源消耗门限;所述应用系统的运行配置信息,包括以下任意组合包括系统内和/或系统间的运行触发条件、运行优先级、运行资源消耗权值。
12.根据权利要求10或11所述的ETL调度方法,其特征在于,根据应用系统的运行配置信息以及应用系统运行状态对应用系统进行运行调度控制包括接收应用系统运行状态情况,生成应用系统运行调度信息;根据应用系统运行调度信息以及所述运行配置信息,对满足运行触发条件的应用系统应用发送运行请求;接收应用系统对所述应用的运行反馈,更新所述应用系统的运行调度信息。
13.根据权利要求10或11所述的ETL调度方法,其特征在于,根据应用系统的加载配置信息对应用系统进行并发加载控制;在加载完成后,根据应用系统的运行配置信息以及应用系统运行状态对应用系统进行运行调度控制包括接收应用系统运行状态情况,生成应用系统运行调度信息;当应用系统的配置信息中的运行触发条件需要调用其他应用系统时,对所述应用系统和所述需要调用的应用系统并行加载接口数据;在加载完成后,并行对所述应用系统和需要调用的应用系统进行运行调度;向所述需要调用的应用系统发送运行结果请求,接收所述需要调用的应用系统的运行结果;将所述需要调用的应用系统的运行结果加载至所述应用系统,并接收所述应用系统根据所述需要调用的应用系统的运行结果的运行返回结果。
全文摘要
本发明公开了一种ETL调度方法、装置及系统,其中,该装置包括接口抽取单元,用于从数据源系统抽取数据;接口处理单元,用于数据进行格式处理,生成统一的接口数据;主控调度单元,用于对接口数据进行对应应用系统的加载调度和运行调度分离,控制应用系统的数据加载和运行调度;数据加载单元,用于将接口数据向对应应用系统进行数据加载;接口消息单元,用于接收应用系统的运行调度反馈信息,并返回主控调度单元。本发明可以实现多应用系统环境下的ETL高效调度,解决现有中央调度性能瓶颈效率低以及多套ETL调度独立的资源浪费等问题。
文档编号G06F17/30GK102541959SQ201010624228
公开日2012年7月4日 申请日期2010年12月31日 优先权日2010年12月31日
发明者包叶男 申请人:中国移动通信集团安徽有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1