大数据ETL任务调度方法及装置制造方法及图纸

技术编号:16456467 阅读:99 留言:0更新日期:2017-10-25 20:51
本发明专利技术公开了一种大数据ETL任务调度方法及装置。该方法包括:配置至少两个ETL任务流中每个ETL任务流对应的调度方案;根据每个ETL任务流对应的调度方案,对所述每个ETL任务流进行调度,以保证每个ETL任务流在同一时间只执行同一轮次。本发明专利技术避免了不同轮次的相同ETL任务流同时执行导致的数据混乱,避免了数据结果出错,提高了数据结果的准确性,节省了系统资源。

Large data ETL task scheduling method and device

The invention discloses a big data ETL task scheduling method and device. The method includes: scheduling scheme at least two ETL tasks in each stream ETL task scheduling scheme based on the corresponding flow; each ETL task flow corresponding to the scheduling of each of the ETL task flow, to ensure that only the same time at the same time to perform each task flow ETL. The invention also avoids the confusion of data execution leads to different cycles of the same ETL task flow, avoid data error, improve the accuracy of data, saving the system resources.

【技术实现步骤摘要】
大数据ETL任务调度方法及装置
本专利技术实施例涉及大数据处理技术,尤其涉及一种大数据ETL任务调度方法及装置。
技术介绍
大数据技术是当前各行各业争相推动和依赖的
尤其是在互联网、电子商务、消费金融等行业,日常需要运行数以万记的大数据ETL(Extraction-Transformation-Loading,数据抽取、转换、装载的过程)任务作为数据分析、业务决策的重要支撑。ETL任务需要按照业务情况配置对应的任务流,一个任务流可以看做一个具有根节点的有向无环图,任务之间有严格的先后顺序。常用的调度方案(如crontab等定时调度器),到指定时间即刻触发任务流运行,不考虑上一轮次调度流程是否完成,每个新轮次的任务流都是独立的一个过程。如图1所示,同个任务,不同轮次有可能会重叠运行,造成数据结果出错,管理混乱;不同轮次的多个任务同时运行,会造成系统资源耗尽,服务器崩溃。
技术实现思路
有鉴于此,本专利技术实施例提供一种大数据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是本专利技术实施例二提供的一种大数据ETL任务调度方法的流程图;图4是本专利技术实施例提供的大数据ETL任务调度方法中的第一调度方案的流程图;图5是本专利技术实施例提供的大数据ETL任务调度方法中的第一调度方案的调度效果示意图;图6是本专利技术实施例提供的大数据ETL任务调度方法中的第二调度方案的流程图;图7是本专利技术实施例三提供的一种大数据ETL任务调度装置的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部内容。实施例一图2是本专利技术实施例一提供的一种大数据ETL任务调度方法的流程图,本实施例可适用于对大数据ETL任务进行调度的情况,该方法可以由大数据ETL任务调度装置来执行,该装置可以由软件和/或硬件来实现,一般可集成于服务器中,该方法具体包括如下步骤:步骤110,配置至少两个ETL任务流中每个ETL任务流对应的调度方案。大数据ETL任务需要按照业务情况配置对应的ETL任务流,因此会包括多个ETL任务流,即至少两个ETL任务流。在调度ETL任务流时,需要配置每个ETL任务流的调度方案,具体配置时,可以接收管理人员配置的每个ETL任务流的调度方案,也可以根据管理人员预先配置的ETL任务流的重要程度,自动配置每个ETL任务流对应的调度方案。配置的每个ETL任务流对应的调度方案,需要保证该ETL任务流在同一时间只执行一次,保证不重复执行。步骤120,根据每个ETL任务流对应的调度方案,对所述每个ETL任务流进行调度,以保证每个ETL任务流在同一时间只执行同一轮次。具体对每个ETL任务流进行调度时,可以由调度器进行调度,调度器需要接收每个ETL任务流对应的调度方案的配置信息,识别每个ETL任务流对应的调度方案的配置信息,根据该配置信息,调度每个ETL任务流的执行。每个ETL任务流对应的调度方案,保证了该ETL任务流在同一时间只执行一次,即在同一时间只执行相同ETL任务流中的一个任务,避免重复执行。本实施例的技术方案,通过配置至少两个ETL任务流中每个ETL任务流对应的调度方案,根据每个ETL任务流对应的调度方案,对每个ETL任务流进行调度,以保证每个ETL任务流在同一时间只执行同一轮次,避免了不同轮次的相同ETL任务流同时执行导致的数据混乱,避免了数据结果出错,提高了数据结果的准确性,节省了系统资源。实施例二图3是本专利技术实施例二提供的一种大数据ETL任务调度方法的流程图,本实施例在上述实施例的基础上进行了优化,给出了两种具体的调度方案,该方法具体包括如下步骤:步骤210,配置至少两个ETL任务流中每个ETL任务流对应的调度方案。步骤220,如果一个ETL任务流对应的调度方案为第一调度方案,则在该ETL任务流前一轮次的任务完成后,执行当前轮次的任务;和/或如果一个ETL任务流对应的调度方案为第二调度方案,则在到达该ETL任务流的周期调度时间时,清理掉前一轮次的任务后,执行当前轮次的任务。对应每个ETL任务流配置单独的调度方案,在进行配置时,可以根据每个ETL任务流中的任务的情况以及时间段来进行配置,配置的调度方案有两种,即第一调度方案和第二调度方案,不同时间段中同一ETL任务流可以配置不同的调度方案。如果配置的一个ETL任务流的调度方案为第一调度方案,那么在调度该ETL任务流时,需要在该ETL任务流的前一轮次的所有任务全部执行完毕后,再执行当前轮次的任务,保证了同一时间只执行一个ETL任务流的同一轮次。如果配置的一个ETL任务流的调度方案为第二调度方案,那么在调度该ETL任务流时,根据每个轮次的周期调度时间进行调度,在到达该ETL任务流的周期调度时间时,对于前一轮次的任务没有执行完毕时则清理掉前一轮次的任务,并执行当前轮次的任务,保证了同一时间只执行一个ETL任务流的同一轮次。ETL任务流中的每个任务具有具体的先后执行时间顺序。本实施例的技术方案,在上述实施例的基础上,给出了具体的两种调度方案,即第一调度方案和第二调度方案,第一调度方案是在前一轮次的任务执行完毕后再执行当前轮次的任务,可以保证每一轮次ETL任务流中所有的任务均执行完毕,第二调度方案是在到达周期调度时间时,清理掉前一轮次的任务后再执行当前轮次的任务,第一调度方案和第二调度方案均保证了同一时间只执行一个ETL任务流的同一轮次,避免了任务重叠执行的情况,提高了数据结果的准确性,节省了系统资源,避免了服务器过载,提升了调度系统的稳定性。在上述技术方案的基础上,图4是本专利技术实施例提供的大数据ETL任务调度方法中的第一调度方案的流程图,如图4所示,在该ETL任务流前一轮次的任务完成后,执行当前轮次的任务,可选包括:步骤2211,通过第一定时器轮询是否到达该ETL任务流的调度时间;步骤2212,如果到达,则判断该ETL任务流的前一轮次的任务是否本文档来自技高网...
大数据ETL任务调度方法及装置

【技术保护点】
一种大数据ETL任务调度方法,其特征在于,所述方法包括:配置至少两个ETL任务流中每个ETL任务流对应的调度方案;根据每个ETL任务流对应的调度方案,对所述每个ETL任务流进行调度,以保证每个ETL任务流在同一时间只执行同一轮次。

【技术特征摘要】
1.一种大数据ETL任务调度方法,其特征在于,所述方法包括:配置至少两个ETL任务流中每个ETL任务流对应的调度方案;根据每个ETL任务流对应的调度方案,对所述每个ETL任务流进行调度,以保证每个ETL任务流在同一时间只执行同一轮次。2.根据权利要求1所述的方法,其特征在于,根据每个ETL任务流对应的调度方案,对所述每个ETL任务流进行调度,包括:如果一个ETL任务流对应的调度方案为第一调度方案,则在该ETL任务流前一轮次的任务完成后,执行当前轮次的任务;和/或如果一个ETL任务流对应的调度方案为第二调度方案,则在到达该ETL任务流的周期调度时间时,清理掉前一轮次的任务后,执行当前轮次的任务。3.根据权利要求2所述的方法,其特征在于,在该ETL任务流前一轮次的任务完成后,执行当前轮次的任务,包括:S1、通过第一定时器轮询是否到达该ETL任务流的调度时间;S2、如果到达,则判断该ETL任务流的前一轮次的任务是否执行完毕;S3、如果没有执行完毕,则继续执行前一轮次的任务设定延迟时间,返回执行S1;S4、如果执行完毕,则执行当前轮次的任务,并根据前一轮次的任务流的执行时间确定当前轮次的任务流的周期调度时间。4.根据权利要求3所述的方法,其特征在于,根据前一轮次的任务的执行时间确定当前轮次的任务流的周期调度时间,包括:如果前一轮次的任务流的执行时间大于预设周期调度时间,则将前一轮次的任务流的执行时间确定为当前轮次的任务流的周期调度时间;如果前一轮次的任务流的执行时间不大于预设周期调度时间,则将所述预设周期调度时间确定为当前轮次的任务流的周期调度时间。5.根据权利要求2所述的方法,其特征在于,在到达该ETL任务流的周期调度时间时,清理掉前一轮次的任务后,执行当前轮次的任务,包括:通过第二定时器轮询是否到达该ETL任务流的周期调度时间;如果到达,则判断该ETL任务流的前一轮次的任务是否执行完毕;如果没有执行完毕,则杀掉前一轮次的所有任务,或者是取消前一轮次中未执行的任务并继续执行正在执行的任务,并执行当前轮次的任务;如果执行完毕,则执行当前轮次的任务。6.一种大数据ETL任务调度装置,其...

【专利技术属性】
技术研发人员:王雨春
申请(专利权)人:深圳乐信软件技术有限公司
类型:发明
国别省市:广东,44

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

1