本申请涉及etl系统的,尤其涉及一种应用于etl系统的任务流动态配置方法及系统。
背景技术:
1、etl系统一般负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或者数据集市中,成为联机分析处理、数据挖掘的基础。
2、分布的、异构数据源来源于不同的数据源表,在etl系统的实际应用过程中,某些数据源表在某些时间可能为空,在这种情况下,针对这些空的数据源表的抽取数据源的任务将变的毫无意义,这个问题不仅影响到改任务本身,还会传播到任务流中所有直接或间接依赖于这些数据源表的数据处理任务,导致任务流中大量的任务在无数据的情况下无意义的执行,浪费了计算资源,创建了无用的数据连接,并对数据源表造成了不必要的负载。
技术实现思路
1、本申请提供了一种应用于etl系统的任务流动态配置方法及系统,其能够提高etl系统的效率。
2、第一方面,本申请提供了一种应用于etl系统的任务流动态配置方法。该方法包括:
3、获取etl系统的任务流信息以及数据源表的数据情况信息,所述任务流信息包括任务节点的依赖关系以及根任务节点连接的数据源表,所述数据情况信息反映数据源表为空或者有业务数据;
4、确定连接空的数据源表的根任务节点以及仅依赖于连接空的数据源表的根任务节点的任务节点为无意义节点;
5、在任务节点的依赖关系中去除无意义节点,形成任务节点的第一依赖关系,第一依赖关系的任务流供etl系统执行。
6、通过采用上述技术方案,在etl系统应用时,能够实现任务节点的依赖关系的自动配置,去除依赖关系中无意义节点,得到第一依赖关系供etl系统执行,避免了etl系统执行无意义节点造成的资源浪费,有利于提高etl系统的效率。
7、进一步地,所述第一依赖关系每隔预设的更新间隔时长更新一次。
8、进一步地,还包括:
9、获取所有数据源表的情况变动记录,所述情况变动记录为数据源表由空变为有业务数据或者由有业务数据变为空;
10、确定同一数据源表两次情况变动记录之间的时间差值;
11、判断所有时间差值中的最小值是否小于预设的更新时长阈值;
12、若是,则以更新时长阈值为所述更新间隔时长;
13、若否,则以时间差值中的最小值为所述更新间隔时长。
14、进一步地,还包括:
15、根据所述情况变动记录分析数据源表的数据情况变动趋势;
16、在识别无意义节点时,根据数据情况变动趋势判断空的数据源表的数据情况信息是否会在所述更新间隔时长内变化;
17、若是,则在空的数据源表中增加持续时间不大于更新间隔时间的标识数据,使数据源表的数据情况信息被改变为有业务数据。
18、第二方面,本申请提供了一种应用于etl系统的任务流动态配置系统,该系统包括:
19、数据获取模块,用于获取etl系统的任务流信息以及数据源表的数据情况信息,所述任务流信息包括任务节点的依赖关系以及根任务节点连接的数据源表,所述数据情况信息反映数据源表为空或者有业务数据;
20、节点识别模块,用于确定连接空的数据源表的根任务节点以及仅依赖于连接空的数据源表的根任务节点的任务节点为无意义节点;以及
21、依赖配置模块,用于在任务节点的依赖关系中去除无意义节点,形成任务节点的第一依赖关系,第一依赖关系的任务流供etl系统执行。
22、进一步地,所述第一依赖关系每隔预设的更新间隔时长更新一次。
23、进一步地,还包括时长确定模块;
24、所述时长确定模块被配置为:
25、获取所有数据源表的情况变动记录,所述情况变动记录为数据源表由空变为有业务数据或者由有业务数据变为空;
26、确定同一数据源表两次情况变动记录之间的时间差值;
27、判断所有时间差值中的最小值是否小于预设的更新时长阈值;
28、若是,则以更新时长阈值为所述更新间隔时长;
29、若否,则以时间差值中的最小值为所述更新间隔时长。
30、进一步地,还包括趋势分析模块;所述趋势分析模块用于根据所述情况变动记录分析数据源表的数据情况变动趋势;
31、所述节点识别模块被进一步配置为:在识别无意义节点时,根据数据情况变动趋势判断空的数据源表的数据情况信息是否会在所述更新间隔时长内变化;
32、若是,则在空的数据源表中增加持续时间不大于更新间隔时间的标识数据,使数据源表的数据情况信息被改变为有业务数据。
33、综上所述,本申请至少包含以下有益效果:
34、1.提供了一种应用于etl系统的任务流动态配置方法及系统,其能够自动为etl系统配置第一依赖关系,减少etl系统的资源浪费,提高etl系统的效率;
35、2.确定第一依赖关系的更新间隔时长的方式较为合理,既有利于保障第一依赖关系能够及时更新、避免错过数据源表由空变为有业务数据的时间,又能够避免第一依赖关系过于高频次的更新带来的etl系统的资源浪费;
36、3.根据数据源表的数据情况变动趋势来确定数据源表是否会在更新间隔时长内变化,将更新间隔时长内会由空变为有业务数据的数据源表增加标识数据使其为非空,有利于避免错过数据源表由空变为有业务数据的时间。
37、应当理解,
技术实现要素:
部分中所描述的内容并非旨在限定本申请的实施例的关键或重要特征,亦非用于限制本申请的范围。本申请的其它特征将通过以下的描述变得容易理解。
1.一种应用于etl系统的任务流动态配置方法,其特征在于,包括:
2.根据权利要求1所述的一种应用于etl系统的任务流动态配置方法,其特征在于,所述第一依赖关系每隔预设的更新间隔时长更新一次。
3.根据权利要求2所述的一种应用于etl系统的任务流动态配置方法,其特征在于,还包括:
4.根据权利要求3所述的一种应用于etl系统的任务流动态配置方法,其特征在于,还包括:
5.一种应用于etl系统的任务流动态配置系统,其特征在于,包括:
6.根据权利要求5所述的一种应用于etl系统的任务流动态配置系统,其特征在于,所述第一依赖关系每隔预设的更新间隔时长更新一次。
7.根据权利要求6所述的一种应用于etl系统的任务流动态配置系统,其特征在于,还包括时长确定模块(240);
8.根据权利要求7所述的一种应用于etl系统的任务流动态配置系统,其特征在于,还包括趋势分析模块(250);所述趋势分析模块(250)用于根据所述情况变动记录分析数据源表的数据情况变动趋势;