一种数据处理与控制逻辑分离的ETL调度方法和装置制造方法及图纸

技术编号:18426327 阅读:20 留言:0更新日期:2018-07-12 01:59
本发明专利技术实施例公开了一种数据处理与控制逻辑分离的ETL调度方法和装置,所述方法包括:在全部已发布的抽取转换装载ETL任务中查找当前ETL任务;当在全部已发布的ETL任务中没有查找到所述当前ETL任务时,获取所述当前ETL任务对应的当前控制流;其中,所述当前控制流中至少包括:所述当前ETL任务对应的当前数据流;根据所述当前控制流对所述当前ETL任务进行调度。不仅能够简化ETL任务的调度流程,而且还可以提高ETL任务的调度效率。

ETL scheduling method and device for separating data processing and control logic

An embodiment of the present invention discloses a ETL scheduling method and device for separation of data processing and control logic, which includes: finding the current ETL task in all published decimation and conversion loading ETL tasks; obtaining the current ETL task when the current ETL task is not found in all published ETL tasks. The corresponding current control flow; in which the current control stream includes at least the current data stream corresponding to the current ETL task; scheduling the current ETL task according to the current control flow. It not only simplifies the scheduling process of ETL tasks, but also improves the scheduling efficiency of ETL tasks.

【技术实现步骤摘要】
一种数据处理与控制逻辑分离的ETL调度方法和装置
本专利技术涉及数据处理技术,尤其涉及一种数据处理与控制逻辑分离的ETL调度方法和装置。
技术介绍
随着大数据技术发展,分布式的数据存储系统越来越多,大数据应用一般需要集成多个不同的数据存储系统来构建不同应用的数据仓库。传统的数据抽取转换装载ETL是指在构建数据仓库的过程中对数据源中的数据经过抽取(Extract)、转换(Transform)、装载(Load)到数据仓库的过程。图1为现有技术中ETL任务的组成结构示意图。如图1所示,ETL任务的数据处理过程为:先读取配置数据库中的基本对象配置,按照各模板的配置依次从源数据库中抽取数据,将其存储到临时数据库中;然后将抽取数据存储到临时数据库后,再根据一定的转换规则,对抽取的数据进行转换;数据转换完成后再对其进行一些必要的处理,清除那些不正确的,不完整的数据,再对数据的格式等进行加工,最后装载到目标数据库中。也就是说,在ETL的调度过程中,主要包括数据处理和逻辑控制两个方面。其中,数据处理包括:抽取、转换和装载;逻辑控制包括:依赖、等待、定时和调度。在现有ETL任务的调度方法中,通常将当前ETL任务的数据处理和控制逻辑作为一个整体的调度单元进行调度。例如,假设当前ETL任务中包括三个子任务,分别为:任务A、任务B和任务C;任务C依赖于任务A和任务B。采用现有ETL任务的调度方法,先在预先保存的全部ETL任务中查找当前ETL任务;当在预先保存的全部ETL中没有查找到当前ETL时,需要先创建当前ETL任务的各个子任务,然后再根据各个子任务创建当前ETL任务。即:先创建任务A、任务B和任务C;然后根据任务A、任务B和任务C创建当前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任务时,可以通过获取当前ETL任务对应的当前控制流实现对当前ETL任务进行调度。而在现有技术中,先在预先保存的全部ETL任务中查找当前ETL任务;当在预先保存的全部ETL任务中没有查找到当前ETL任务时,需要先创建当前ETL任务的各个子任务,然后再根据各个子任务创建当前ETL任务。因此,和现有技术相比,本专利技术实施例提供的数据处理与控制逻辑分离的ETL调度方法和装置,不仅能够简化ETL任务的调度流程,而且还可以提高ETL任务的调度效率;并且,本专利技术实施例的技术方案实现简单方便、便于普及,适用范围更广。附图说明图1为现有技术中ETL任务的组成结构示意图;图2为本专利技术实施例中数据处理与控制逻辑分离的ETL调度方法的实现流程示意图;图3为本专利技术实施例中获取当前控制流的实现方法流程示意图;图4为本专利技术实施例中数据流和控制流的组成结构示意图;图5为本专利技术实施例中创建当前控制流的组成结构示意图;图6为本专利技术实施例中调度当前ETL任务的实现方法示意图;图7为本专利技术实施例中数据处理与控制逻辑分离的ETL调度装置的第一组成结构示意图;图8为本专利技术实施例数据处理与控制逻辑分离的ETL调度装置的第二组成结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。在本专利技术的具体实施例中,图2为本专利技术实施例中数据处理与控制逻辑分离的ETL调度方法的实现流程示意图。如图2所示,数据处理与控制逻辑分离的ETL调度方法可以包括本文档来自技高网
...

【技术保护点】
1.一种数据处理与控制逻辑分离的ETL调度方法,其特征在于,所述方法包括:在全部已发布的ETL任务中查找当前ETL任务;当在全部已发布的ETL任务中没有查找到所述当前ETL任务时,获取所述当前ETL任务对应的当前控制流;其中,所述当前控制流中至少包括:所述当前ETL任务对应的当前数据流;根据所述当前控制流对所述当前ETL任务进行调度。

【技术特征摘要】
1.一种数据处理与控制逻辑分离的ETL调度方法,其特征在于,所述方法包括:在全部已发布的ETL任务中查找当前ETL任务;当在全部已发布的ETL任务中没有查找到所述当前ETL任务时,获取所述当前ETL任务对应的当前控制流;其中,所述当前控制流中至少包括:所述当前ETL任务对应的当前数据流;根据所述当前控制流对所述当前ETL任务进行调度。2.根据权利要求1所述的方法,其特征在于,所述获取所述当前ETL任务对应的当前控制流,包括:通过预先设置的控制流组件在全部已发布的控制流中查找所述当前控制流;当在全部已发布的控制流中查找到所述当前控制流时,在全部已发布的控制流中获取所述当前控制流。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:当在全部已发布的控制流中没有查找到所述当前控制流时,通过所述控制流组件中的调用数据流组件在全部已发布的数据流中查找所述当前ETL任务对应的当前数据流;当在全部已发布的数据流中查找到所述当前数据流时,在全部已发布的数据流中获取所述当前数据流;根据所述当前数据流创建所述当前控制流。4.根据权利要求2或3所述的方法,其特征在于,所述控制流组件至少包括以下其中之一:调用数据流组件、声明依赖组件、引用依赖组件、数据等待组件以及定时器组件。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:监控所述当前ETL任务是否调度成功;当所述当前ETL任务调度失败时,对所述当前控制流对应的各个控制流组件进行检测;当所述当前控制流对应的全部控制流组件调度成功时,对所述当前控制流对应的配置参数进行检测。6.一种数据处理与控制逻辑分离的ETL调度装置,其特征在于,所述装置包括:查找单元、获取单元和调度单元;其中,...

【专利技术属性】
技术研发人员:胡国靖王国飞李光瑞汪远航罗志成
申请(专利权)人:中移苏州软件技术有限公司中国移动通信集团公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1