一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于深度学习算法的ETL调度方法及装置与流程

2022-08-24 02:50:49 来源:中国专利 TAG:
基于深度学习算法的etl调度方法及装置
技术领域
1.在本发明涉及计算机技术领域,尤其涉及一种基于深度学习算法的etl调度方法及装置。


背景技术:

2.etl(extract-transform-load,数据抽取加载和转换)作业通常由一个集中的调度平台控制他们的运行,决定执行顺序,进行错误捕捉和处理。较为原始的etl系统在进行etl任务调度时,就是做定时控制,定时调起相应的程序或者存储过程。但是这种方式过于原始,只能进行简单的调起动作,无法实现流程依赖行为,同时执行的流程控制能力也弱,错误处理能力几乎没有,只适合于极其简单的情况。对于较为完善的etl系统,往往需要具有以下几个能力:1、流程步骤控制能力:调度平台必须能够控制整个etl流程,进行集中化管理,不能有流程或执行设备游离于系统外部。
3.2、系统的划分和前后流程的依赖:由于整个etl系统里面可能跨越数十个业务系统,开发人员有数十拨人,必须支持按照业务系统对etl流程进行划分管理的能力,同时必须具有根据流程依赖进行调度的能力,使得适当的流程能在适当的时间调起。
4.3、合理的调度算法:同一时间调起过多流程可能造成对源数据库和etl服务器还有目标数据库形成较大负载压力,故必须有较为合理的调度算法。
5.在这几个需要的能力当中,最为复杂的则是:合理的调度算法。常用的基本调度算法有:顺序调度、定时调度、手动调度。但是这些常用的调度算法,在大规模的分布式集群etl中,很难满足系统的需求,容易造成分布式系统资源的浪费,负载不均衡等情况,这严重制约了etl的大规模应用。


技术实现要素:

6.在本发明所要解决的技术问题在于,提供一种基于深度学习算法的etl调度方法及装置,可以有效提高etl任务调度的效率,降低调度成本。
7.为了解决上述技术问题,本发明第一方面公开了一种基于深度学习算法的etl调度方法,所述方法包括:获取包括有多个待调度etl任务的待调度任务组;确定每一所述待调度etl任务的任务执行参数;将所有所述待调度etl任务的所述任务执行参数输入至训练好的调度预测模型中,以预测得到所述待调度任务组的任务调度参数;所述调度预测模型根据包括有多个历史任务的任务执行参数和对应的任务调度参数的训练数据集训练得到;根据所述任务调度参数,对所述待调度任务组中的所述多个待调度etl任务进行调度执行。
8.作为一个可选的实施方式,在本发明第一方面中,所述任务执行参数包括任务类
型、任务执行时的处理器占用率、任务执行时的储存器占用率、任务执行时的接口占用率和任务的预计运行时长中的至少一种。
9.作为一个可选的实施方式,在本发明第一方面中,所述任务调度参数包括调度任务类型和调度任务线程数量的至少一种。
10.作为一个可选的实施方式,在本发明第一方面中,在所述将所有所述待调度etl任务的所述任务执行参数输入至训练好的调度预测模型中,以预测得到所述待调度任务组的任务调度参数之前,所述方法还包括:根据小波变换算法,对所述任务执行参数进行数据去噪处理;和/或,对所述任务执行参数进行归一化数据处理;以及,所述历史任务的任务执行参数用于训练所述调度预测模型之前进行了所述数据去噪处理和/或所述归一化数据处理。
11.作为一个可选的实施方式,在本发明第一方面中,所述调度预测模型为ltsm网络算法模型,以及所述调度预测模型根据以下步骤训练得到:收集整理得到包括有多个历史任务执行参数和对应的历史任务调度参数的训练数据集;对所述训练数据集中的所述历史任务执行参数进行所述数据去噪处理和所述归一化数据处理;构建一个包括256个神经元的lstm网络算法模型,将优化函数设为adam函数,梯度值设为1,初始学习率为0.005,并根据所述训练数据集进行100个轮的训练,之后再通过乘以因子0.2来降低学习率;在训练中对所述lstm网络算法模型的调节参数进行调节;所述调节参数包括批量大小、窗口大小、节点数量、学习率和训练步长中的至少一种;根据均方根误差,在训练中对所述lstm网络算法模型进行模型评估,直至评估结果显示所述lstm网络算法模型达到收敛,得到训练好的所述调度预测模型。
12.作为一个可选的实施方式,在本发明第一方面中,所述根据所述任务调度参数,对所述待调度任务组中的所述多个待调度etl任务进行调度执行,包括:将所述任务调度参数输入至动态规划模型中,以测算得到所述待调度任务组对应的任务具体调度策略;所述任务具体调度策略用于指示符合所述任务调度参数的所述多个待调度etl任务中的每一etl任务的执行次序;根据所述任务具体调度策略,对所述待调度任务组中的所述多个待调度etl任务进行调度执行。
13.作为一个可选的实施方式,在本发明第一方面中,所述动态规划模型为蚁群算法、人工免疫算法或粒子群算法;所述将所述任务调度参数输入至动态规划模型中,以测算得到所述待调度任务组对应的任务具体调度策略,包括:根据所述任务调度参数,从所述多个待调度etl任务确定出符合所述任务调度参数的多个候选etl任务;确定不同类型的所述候选etl任务对应的任务执行设备、任务资源成本和任务时间成本;
确定目标函数为任务执行方案的执行成本达到最小;所述执行成本为所述任务执行方案执行时的总资源成本和总时间成本之和;所述任务执行方案为所述多个候选etl任务依照一定的执行次序所形成的执行方案;确定约束条件为所述任务执行方案中的多个候选etl任务的执行次序能够满足所有对应的所述任务执行设备的启动顺序条件;所述启动顺序条件用于限定任一所述任务执行设备能否在任一其他所述任务执行设备之前或之后启动;根据所述目标函数和所述约束条件,基于所述动态规划模型,演算出所述多个候选etl任务对应的最优任务执行方案;将所述最优任务执行方案确定为所述待调度任务组对应的任务具体调度策略。
14.作为一个可选的实施方式,在本发明第一方面中,在所述根据所述任务具体调度策略,对所述待调度任务组中的所述多个待调度etl任务进行调度执行之后,所述方法还包括:实时收集对所述待调度任务组中的所述多个待调度etl任务进行调度执行时的任务执行参数,得到策略执行时的任务执行参数;根据所述策略执行时的任务执行参数和所述任务具体调度策略,对所述调度预测模型进行进一步的训练优化。
15.本发明第二方面公开了一种基于深度学习算法的etl调度装置,所述装置包括:任务获取模块,用于获取包括有多个待调度etl任务的待调度任务组;参数确定模块,用于确定每一所述待调度etl任务的任务执行参数;调度预测模块,用于将所有所述待调度etl任务的所述任务执行参数输入至训练好的调度预测模型中,以预测得到所述待调度任务组的任务调度参数;所述调度预测模型根据包括有多个历史任务的任务执行参数和对应的任务调度参数的训练数据集训练得到;调度执行模块,用于根据所述任务调度参数,对所述待调度任务组中的所述多个待调度etl任务进行调度执行。
16.作为一个可选的实施方式,在本发明第二方面中,所述任务执行参数包括任务类型、任务执行时的处理器占用率、任务执行时的储存器占用率、任务执行时的接口占用率和任务的预计运行时长中的至少一种。
17.作为一个可选的实施方式,在本发明第二方面中,所述任务调度参数包括调度任务类型和调度任务线程数量的至少一种。
18.作为一个可选的实施方式,在本发明第二方面中,所述装置还包括数据预处理模块,用于在所述调度预测模块将所有所述待调度etl任务的所述任务执行参数输入至训练好的调度预测模型中,以预测得到所述待调度任务组的任务调度参数之前,执行以下步骤:根据小波变换算法,对所述任务执行参数进行数据去噪处理;和/或,对所述任务执行参数进行归一化数据处理;以及,所述历史任务的任务执行参数用于训练所述调度预测模型之前进行了所述数据去噪处理和/或所述归一化数据处理。
19.作为一个可选的实施方式,在本发明第二方面中,所述调度预测模型为ltsm网络算法模型,以及所述装置还包括训练模块,用于执行以下步骤以训练得到所述调度预测模
型:收集整理得到包括有多个历史任务执行参数和对应的历史任务调度参数的训练数据集;对所述训练数据集中的所述历史任务执行参数进行所述数据去噪处理和所述归一化数据处理;构建一个包括256个神经元的lstm网络算法模型,将优化函数设为adam函数,梯度值设为1,初始学习率为0.005,并根据所述训练数据集进行100个轮的训练,之后再通过乘以因子0.2来降低学习率;在训练中对所述lstm网络算法模型的调节参数进行调节;所述调节参数包括批量大小、窗口大小、节点数量、学习率和训练步长中的至少一种;根据均方根误差,在训练中对所述lstm网络算法模型进行模型评估,直至评估结果显示所述lstm网络算法模型达到收敛,得到训练好的所述调度预测模型。
20.作为一个可选的实施方式,在本发明第二方面中,所述调度执行模块根据所述任务调度参数,对所述待调度任务组中的所述多个待调度etl任务进行调度执行的具体方式,包括:将所述任务调度参数输入至动态规划模型中,以测算得到所述待调度任务组对应的任务具体调度策略;所述任务具体调度策略用于指示符合所述任务调度参数的所述多个待调度etl任务中的每一etl任务的执行次序;根据所述任务具体调度策略,对所述待调度任务组中的所述多个待调度etl任务进行调度执行。
21.作为一个可选的实施方式,在本发明第二方面中,所述动态规划模型为蚁群算法、人工免疫算法或粒子群算法;所述调度执行模块将所述任务调度参数输入至动态规划模型中,以测算得到所述待调度任务组对应的任务具体调度策略的具体方式,包括:根据所述任务调度参数,从所述多个待调度etl任务确定出符合所述任务调度参数的多个候选etl任务;确定不同类型的所述候选etl任务对应的任务执行设备、任务资源成本和任务时间成本;确定目标函数为任务执行方案的执行成本达到最小;所述执行成本为所述任务执行方案执行时的总资源成本和总时间成本之和;所述任务执行方案为所述多个候选etl任务依照一定的执行次序所形成的执行方案;确定约束条件为所述任务执行方案中的多个候选etl任务的执行次序能够满足所有对应的所述任务执行设备的启动顺序条件;所述启动顺序条件用于限定任一所述任务执行设备能否在任一其他所述任务执行设备之前或之后启动;根据所述目标函数和所述约束条件,基于所述动态规划模型,演算出所述多个候选etl任务对应的最优任务执行方案;将所述最优任务执行方案确定为所述待调度任务组对应的任务具体调度策略。
22.作为一个可选的实施方式,在本发明第二方面中,所述装置还包括重优化模块,用于在所述调度执行模块根据所述任务具体调度策略,对所述待调度任务组中的所述多个待调度etl任务进行调度执行之后,执行以下步骤:
实时收集对所述待调度任务组中的所述多个待调度etl任务进行调度执行时的任务执行参数,得到策略执行时的任务执行参数;根据所述策略执行时的任务执行参数和所述任务具体调度策略,对所述调度预测模型进行进一步的训练优化。
23.本发明第三方面公开了另一种基于深度学习算法的etl调度装置,所述装置包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的基于深度学习算法的etl调度方法中的部分或全部步骤。
24.本发明第四方面公开了一种用于海关分货的便携式终端,包括图形码扫描装置和数据处理装置,其中,所述数据处理装置用于执行本发明第一方面公开的基于深度学习算法的etl调度方法中的部分或全部步骤。
25.与现有技术相比,本发明实施例具有以下有益效果:本发明实施例中,公开了一种基于深度学习算法的etl调度方法及装置,该方法包括:获取包括有多个待调度etl任务的待调度任务组;确定每一所述待调度etl任务的任务执行参数;将所有所述待调度etl任务的所述任务执行参数输入至训练好的调度预测模型中,以预测得到所述待调度任务组的任务调度参数;所述调度预测模型根据包括有多个历史任务的任务执行参数和对应的任务调度参数的训练数据集训练得到;根据所述任务调度参数,对所述待调度任务组中的所述多个待调度etl任务进行调度执行。可见,本发明实施例利用了训练好的预测模型来预测调度参数,能够实现无需人工干涉的智能调度,可以确定出合理的调度参数,从而有效提高etl任务调度的效率,降低调度成本。
附图说明
26.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
27.图1是本发明实施例公开的一种基于深度学习算法的etl调度方法的流程示意图。
28.图2是本发明实施例公开的一种基于深度学习算法的etl调度装置的结构示意图。
29.图3是本发明实施例公开的另一种基于深度学习算法的etl调度装置的结构示意图。
具体实施方式
30.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
31.本发明的说明书和权利要求书及上述附图中的术语“第二”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图
在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
32.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
33.本发明公开了一种基于深度学习算法的etl调度方法及装置,利用了训练好的预测模型来预测调度参数,能够实现无需人工干涉的智能调度,可以确定出合理的调度参数,从而有效提高etl任务调度的效率,降低调度成本。以下分别进行详细说明。
34.实施例一请参阅图1,图1是本发明实施例公开的一种基于深度学习算法的etl调度方法的流程示意图。其中,图1所描述的基于深度学习算法的etl调度方法应用于数据处理芯片、处理终端或处理服务器(其中,该处理服务器可以为本地服务器或云服务器)中。如图1所示,该基于深度学习算法的etl调度方法可以包括以下操作:101、获取包括有多个待调度etl任务的待调度任务组。
35.本发明中所述的etl任务可以为不同类型的任务,此处的类型可以用于指示任务对应的具体的数据操作的类型,例如是抽取操作、转换操作还是载入操作,也可以用于指示任务对应的数据的类型,例如是交通业务数据还是物流业务数据,还可以用于指示任务对应的数据源或数据仓库的类型,例如是哪一个特定的数据源或将被载入哪一个特定的数据仓库,本发明不做限定。
36.可选的,不同类型的任务可能由同一设备执行,例如同一处理器的不同线程执行,或是直接由不同设备执行,本发明不做限定。
37.102、确定每一待调度etl任务的任务执行参数。
38.可选的,任务执行参数可以包括任务类型、任务执行时的处理器占用率、任务执行时的储存器占用率、任务执行时的接口占用率和任务的预计运行时长中的至少一种。
39.可选的,任务执行参数可以为待调度etl任务在最近的历史时间段执行时的执行参数,或是预计的执行参数。
40.103、将所有待调度etl任务的任务执行参数输入至训练好的调度预测模型中,以预测得到待调度任务组的任务调度参数。
41.具体的,调度预测模型为神经网络模型,其根据包括有多个历史任务的任务执行参数和对应的任务调度参数的训练数据集训练得到。
42.可选的,任务调度参数包括调度任务类型和调度任务线程数量的至少一种。可选的,任务调度参数用于指示整个待调度任务组在调度时的总的调度参数,例如一共包括有几种调度任务类型,一共可以同时调度几个任务线程数量等。
43.104、根据任务调度参数,对待调度任务组中的多个待调度etl任务进行调度执行。
44.可见,上述发明实施例利用了训练好的预测模型来预测调度参数,能够实现无需人工干涉的智能调度,可以确定出合理的调度参数,从而有效提高etl任务调度的效率,降低调度成本。
45.作为一个可选的实施方式,在上述步骤中的,将所有待调度etl任务的任务执行参数输入至训练好的调度预测模型中,以预测得到待调度任务组的任务调度参数之前,该方法还包括:根据小波变换算法,对任务执行参数进行数据去噪处理。
46.因为本发明的方案需要基于历史数据处理,针对具有时间序列的数据处理问题,小波分析在处理多尺度空间和时间上的数据特征和趋势具有很强的泛化能力。小波变换算法具有处理非平稳的历史作业调度数据的能力,因此用小波变换进行数据去噪。小波变换的关键特性是可以同时分析特定时间序列的频率分量,小波在处理高度不规则的历史数据时很有用。基本原理思想是利用尺度函数表示原始信号,随着尺度级的下降,尺度越来越大,对原始信号的表示也越来越粗糙模糊,和原始信号的差异越来越大时引入小波函数来对尺度函数表示部分和原始信号之间的差异进行表示,最终尺度函数 小波函数可以精确地表示原信号;施加在尺度函数和小波函数上的系数就是小波变换的结果,用这些系数,可以复原出原信号;可以理解为尺度函数大致粗糙地表示了原始信号中,而小波函数则精确的描述了两者之间的差异;原始信号可以看作是最高(精细)的尺度,随着尺度级逐渐下降,尺度函数从最精细的表示逐渐变得粗糙,在这过程中,小波函数不断地表示两者之间的差异部分,小波函数自身也不断地变得粗糙;这样做的优势是能对时间(空间)频率的局部化分析,通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分。小波变换公式如下:。
47.从上述公式可以看出,小波变换得到的数据有两个变量:尺度和平移量,尺度控制小波函数的伸缩,平移量控制小波函数的平移,尺度就对应于频率(反比),平移量就对应于时间。
48.进一步的,历史任务的任务执行参数在用于训练该调度预测模型之前同样进行了上述数据去噪处理,也即利用了小波变换算法进行了数据去噪,以使得模型的训练效果更佳。
49.可见,通过该可选的实施方式,可以根据小波变换算法,对任务执行参数进行数据去噪处理,以使得任务执行参数中的时间特性数据被有效地去噪,则在后续进行预测时,可以有效确定出合理的调度参数,从而有效提高etl任务调度的效率,降低调度成本。
50.作为一个可选的实施方式,在上述步骤中的,将所有待调度etl任务的任务执行参数输入至训练好的调度预测模型中,以预测得到待调度任务组的任务调度参数之前,该方法还包括:对任务执行参数进行归一化数据处理。
51.以及,历史任务的任务执行参数用于训练调度预测模型之前进行了归一化数据处理。
52.可见,通过该可选的实施方式,可以对任务执行参数进行归一化数据处理,以消除数据的量级误差,可以提高数据质量及预测精度,则在后续进行预测时,可以有效确定出合理的调度参数,从而有效提高etl任务调度的效率,降低调度成本。
53.作为一个可选的实施方式,调度预测模型为ltsm网络算法模型。
54.具体的,ltsm (long short

term memory, 长短期记忆)网络是一种可以处理序列数据的循环神经网络,lstm是rnn的一个变种,在处理时间序列数据方面具有很大的优势,在不需要改变算法的情况下可以延长模型的记忆时间,提高模型的预测精度,可以在不同时刻改变设计连接间的权重系数,lstm的特点是通过增加输入门限、输出门限和遗忘门限使自循环参数的权重不断发生变化,在很大程度上避免梯度消失和梯度膨胀问题。
55.作为一个可选的实施方式,调度预测模型根据以下步骤训练得到:收集整理得到包括有多个历史任务执行参数和对应的历史任务调度参数的训练数据集;对训练数据集中的历史任务执行参数进行数据去噪处理和归一化数据处理;构建一个包括256个神经元的lstm网络算法模型,将优化函数设为adam函数,梯度值设为1,初始学习率为0.005,并根据训练数据集进行100个轮的训练,之后再通过乘以因子0.2来降低学习率;在训练中对lstm网络算法模型的调节参数进行调节;调节参数包括批量大小、窗口大小、节点数量、学习率和训练步长中的至少一种;根据均方根误差,在训练中对lstm网络算法模型进行模型评估,直至评估结果显示lstm网络算法模型达到收敛,得到训练好的调度预测模型。
56.具体的,lstm神经网络对预测时间序列数据具有较强的优势,但对于复杂度和变化频率较高的数据,单一lstm预测方法很难获取数据的变化规律,使得模拟和预测结果欠佳。而小波分解能将原始数据中不同频段的信息进行分解,极大地降低数据复杂度,再分别对这些数据进行预测从而提高预测精度。所以,结合小波变换与长短期记忆网络建立系统资源情况与作业线程量与其有关影响因素之间的深度网络模型,然后通过对各影响因素未来值的预测推算出作业线程量的预测值。
57.具体的,可以对训练数据集进行样本划分,把原始数据的90%划分为训练集,剩下的10%划分为测试集,为了获得较好的拟合并防止训练发散,将训练数据标准化为具有零均值和单位方差。具体的,对要预测的值,将响应指定为下一个时间的训练序列,在输入序列的每一步,网络都学习预测下一个时间序列的值,预测变量是没有最终时间步的训练序列的。
58.具体的,预测模型评估使用均方根误差 (root mean squared error, rmse):;其中,n表示总数据量,yt表示真实值,
ӯ
t表示预测值。
59.具体的,lstm模型的调节参数包括batch_size(批量大小),window_size(窗口大小),num_units(节点数量),learning_rate(学习率),steps(训练步长),在保证网络快速收敛的同时又具有较高的预测精度,经过多次实验测试与参数调整,模型可以达到最优结果。
60.可见,通过该可选的实施方式,可以根据历史数据训练得到有效的调度预测模型,则在后续进行预测时,可以有效确定出合理的调度参数,从而有效提高etl任务调度的效率,降低调度成本。
61.作为一个可选的实施方式,上述步骤104中的,根据任务调度参数,对待调度任务
组中的多个待调度etl任务进行调度执行,包括:将任务调度参数输入至动态规划模型中,以测算得到待调度任务组对应的任务具体调度策略;其中,任务具体调度策略用于指示符合任务调度参数的多个待调度etl任务中的每一etl任务的执行次序;根据任务具体调度策略,对待调度任务组中的多个待调度etl任务进行调度执行。
62.可选的,动态规划模型为蚁群算法、人工免疫算法或粒子群算法。
63.可见,通过该可选的实施方式,可以进一步地利用动态规划模型模型根据调度预测模型预测出的调度参数,测算出任务的具体调度策略,从而进一步提高etl任务调度的效率,降低调度成本。
64.作为一个可选的实施方式,上述步骤中的,将任务调度参数输入至动态规划模型中,以测算得到待调度任务组对应的任务具体调度策略,包括:根据任务调度参数,从多个待调度etl任务确定出符合任务调度参数的多个候选etl任务;确定不同类型的候选etl任务对应的任务执行设备、任务资源成本和任务时间成本;确定目标函数为任务执行方案的执行成本达到最小;执行成本为任务执行方案执行时的总资源成本和总时间成本之和;任务执行方案为多个候选etl任务依照一定的执行次序所形成的执行方案;确定约束条件为任务执行方案中的多个候选etl任务的执行次序能够满足所有对应的任务执行设备的启动顺序条件;启动顺序条件用于限定任一任务执行设备能否在任一其他任务执行设备之前或之后启动;根据目标函数和约束条件,基于动态规划模型,演算出多个候选etl任务对应的最优任务执行方案;将最优任务执行方案确定为待调度任务组对应的任务具体调度策略。
65.可见,通过该可选的实施方式,可以根据目标函数和约束条件,基于动态规划模型,演算出多个候选etl任务对应的最优任务执行方案,从而进一步提高etl任务调度的效率,降低调度成本。
66.作为一个可选的实施方式,在上述步骤中的,根据任务具体调度策略,对待调度任务组中的多个待调度etl任务进行调度执行之后,该方法还包括:实时收集对待调度任务组中的多个待调度etl任务进行调度执行时的任务执行参数,得到策略执行时的任务执行参数;根据策略执行时的任务执行参数和任务具体调度策略,对调度预测模型进行进一步的训练优化。
67.可选的,对调度预测模型进行进一步的训练优化的具体步骤,可以参照上述实施例中对调度预测模型进行训练的步骤,其不同之处在于此时将输入的训练数据集换成了策略执行时的任务执行参数和任务具体调度策略对应的任务调度参数,从而可以结合动态规划模型的测算结果再进一步优化调度预测模型。
68.可见,通过该可选的实施方式,可以根据策略执行时的任务执行参数和任务具体调度策略,对调度预测模型进行进一步的训练优化,以训练得到更加优秀和精确的调度预
测模型,从而进一步提高etl任务调度的效率,降低调度成本。
69.实施例二请参阅图2,图2是本发明实施例公开的一种基于深度学习算法的etl调度装置的结构示意图。其中,图2所描述的基于深度学习算法的etl调度装置应用于数据处理芯片、处理终端或处理服务器(其中,该处理服务器可以为本地服务器或云服务器)中。如图2所示,该基于深度学习算法的etl调度装置可以包括:任务获取模块201,用于获取包括有多个待调度etl任务的待调度任务组。
70.本发明中所述的etl任务可以为不同类型的任务,此处的类型可以用于指示任务对应的具体的数据操作的类型,例如是抽取操作、转换操作还是载入操作,也可以用于指示任务对应的数据的类型,例如是交通业务数据还是物流业务数据,还可以用于指示任务对应的数据源或数据仓库的类型,例如是哪一个特定的数据源或将被载入哪一个特定的数据仓库,本发明不做限定。
71.可选的,不同类型的任务可能由同一设备执行,例如同一处理器的不同线程执行,或是直接由不同设备执行,本发明不做限定。
72.参数确定模块202,用于确定每一待调度etl任务的任务执行参数。
73.可选的,任务执行参数可以包括任务类型、任务执行时的处理器占用率、任务执行时的储存器占用率、任务执行时的接口占用率和任务的预计运行时长中的至少一种。
74.可选的,任务执行参数可以为待调度etl任务在最近的历史时间段执行时的执行参数,或是预计的执行参数。
75.调度预测模块203,用于将所有待调度etl任务的任务执行参数输入至训练好的调度预测模型中,以预测得到待调度任务组的任务调度参数。
76.具体的,调度预测模型为神经网络模型,其根据包括有多个历史任务的任务执行参数和对应的任务调度参数的训练数据集训练得到。
77.可选的,任务调度参数包括调度任务类型和调度任务线程数量的至少一种。可选的,任务调度参数用于指示整个待调度任务组在调度时的总的调度参数,例如一共包括有几种调度任务类型,一共可以同时调度几个任务线程数量等。
78.调度执行模块204,用于根据任务调度参数,对待调度任务组中的多个待调度etl任务进行调度执行。
79.可见,上述发明实施例利用了训练好的预测模型来预测调度参数,能够实现无需人工干涉的智能调度,可以确定出合理的调度参数,从而有效提高etl任务调度的效率,降低调度成本。
80.作为一个可选的实施方式,该装置还包括数据预处理模块,用于在调度预测模块203将所有待调度etl任务的任务执行参数输入至训练好的调度预测模型中,以预测得到待调度任务组的任务调度参数之前,执行以下步骤:根据小波变换算法,对任务执行参数进行数据去噪处理。
81.因为本发明的方案需要基于历史数据处理,针对具有时间序列的数据处理问题,小波分析在处理多尺度空间和时间上的数据特征和趋势具有很强的泛化能力。小波变换算法具有处理非平稳的历史作业调度数据的能力,因此用小波变换进行数据去噪。小波变换的关键特性是可以同时分析特定时间序列的频率分量,小波在处理高度不规则的历史数据
时很有用。基本原理思想是利用尺度函数表示原始信号,随着尺度级的下降,尺度越来越大,对原始信号的表示也越来越粗糙模糊,和原始信号的差异越来越大时引入小波函数来对尺度函数表示部分和原始信号之间的差异进行表示,最终尺度函数 小波函数可以精确地表示原信号;施加在尺度函数和小波函数上的系数就是小波变换的结果,用这些系数,可以复原出原信号;可以理解为尺度函数大致粗糙地表示了原始信号中,而小波函数则精确的描述了两者之间的差异;原始信号可以看作是最高(精细)的尺度,随着尺度级逐渐下降,尺度函数从最精细的表示逐渐变得粗糙,在这过程中,小波函数不断地表示两者之间的差异部分,小波函数自身也不断地变得粗糙;这样做的优势是能对时间(空间)频率的局部化分析,通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分。小波变换公式如下:。
82.从上述公式可以看出,小波变换得到的数据有两个变量:尺度和平移量,尺度控制小波函数的伸缩,平移量控制小波函数的平移,尺度就对应于频率(反比),平移量就对应于时间。
83.进一步的,历史任务的任务执行参数在用于训练该调度预测模型之前同样进行了上述数据去噪处理,也即利用了小波变换算法进行了数据去噪,以使得模型的训练效果更佳。
84.可见,通过该可选的实施方式,可以根据小波变换算法,对任务执行参数进行数据去噪处理,以使得任务执行参数中的时间特性数据被有效地去噪,则在后续进行预测时,可以有效确定出合理的调度参数,从而有效提高etl任务调度的效率,降低调度成本。
85.作为一个可选的实施方式,数据预处理模块还用于在调度预测模块203将所有待调度etl任务的任务执行参数输入至训练好的调度预测模型中,以预测得到待调度任务组的任务调度参数之前,执行以下步骤:对任务执行参数进行归一化数据处理。
86.以及,历史任务的任务执行参数用于训练调度预测模型之前进行了归一化数据处理。
87.可见,通过该可选的实施方式,可以对任务执行参数进行归一化数据处理,以消除数据的量级误差,可以提高数据质量及预测精度,则在后续进行预测时,可以有效确定出合理的调度参数,从而有效提高etl任务调度的效率,降低调度成本。
88.作为一个可选的实施方式,调度预测模型为ltsm网络算法模型。
89.具体的,ltsm (long short

term memory, 长短期记忆)网络是一种可以处理序列数据的循环神经网络,lstm是rnn的一个变种,在处理时间序列数据方面具有很大的优势,在不需要改变算法的情况下可以延长模型的记忆时间,提高模型的预测精度,可以在不同时刻改变设计连接间的权重系数,lstm的特点是通过增加输入门限、输出门限和遗忘门限使自循环参数的权重不断发生变化,在很大程度上避免梯度消失和梯度膨胀问题。
90.作为一个可选的实施方式,该装置还包括训练模块,用于执行以下步骤以训练得到调度预测模型:收集整理得到包括有多个历史任务执行参数和对应的历史任务调度参数的训练
数据集;对训练数据集中的历史任务执行参数进行数据去噪处理和归一化数据处理;构建一个包括256个神经元的lstm网络算法模型,将优化函数设为adam函数,梯度值设为1,初始学习率为0.005,并根据训练数据集进行100个轮的训练,之后再通过乘以因子0.2来降低学习率;在训练中对lstm网络算法模型的调节参数进行调节;调节参数包括批量大小、窗口大小、节点数量、学习率和训练步长中的至少一种;根据均方根误差,在训练中对lstm网络算法模型进行模型评估,直至评估结果显示lstm网络算法模型达到收敛,得到训练好的调度预测模型。
91.具体的,lstm神经网络对预测时间序列数据具有较强的优势,但对于复杂度和变化频率较高的数据,单一lstm预测方法很难获取数据的变化规律,使得模拟和预测结果欠佳。而小波分解能将原始数据中不同频段的信息进行分解,极大地降低数据复杂度,再分别对这些数据进行预测从而提高预测精度。所以,结合小波变换与长短期记忆网络建立系统资源情况与作业线程量与其有关影响因素之间的深度网络模型,然后通过对各影响因素未来值的预测推算出作业线程量的预测值。
92.具体的,可以对训练数据集进行样本划分,把原始数据的90%划分为训练集,剩下的10%划分为测试集,为了获得较好的拟合并防止训练发散,将训练数据标准化为具有零均值和单位方差。具体的,对要预测的值,将响应指定为下一个时间的训练序列,在输入序列的每一步,网络都学习预测下一个时间序列的值,预测变量是没有最终时间步的训练序列的。
93.具体的,预测模型评估使用均方根误差 (root mean squared error, rmse):;其中,n表示总数据量,yt表示真实值,
ӯ
t表示预测值。
94.具体的,lstm模型的调节参数包括batch_size(批量大小),window_size(窗口大小),num_units(节点数量),learning_rate(学习率),steps(训练步长),在保证网络快速收敛的同时又具有较高的预测精度,经过多次实验测试与参数调整,模型可以达到最优结果。
95.可见,通过该可选的实施方式,可以根据历史数据训练得到有效的调度预测模型,则在后续进行预测时,可以有效确定出合理的调度参数,从而有效提高etl任务调度的效率,降低调度成本。
96.作为一个可选的实施方式,调度执行模块204根据任务调度参数,对待调度任务组中的多个待调度etl任务进行调度执行的具体方式,包括:将任务调度参数输入至动态规划模型中,以测算得到待调度任务组对应的任务具体调度策略;任务具体调度策略用于指示符合任务调度参数的多个待调度etl任务中的每一etl任务的执行次序;根据任务具体调度策略,对待调度任务组中的多个待调度etl任务进行调度执行。
97.可选的,动态规划模型为蚁群算法、人工免疫算法或粒子群算法。
98.可见,通过该可选的实施方式,可以进一步地利用动态规划模型模型根据调度预
测模型预测出的调度参数,测算出任务的具体调度策略,从而进一步提高etl任务调度的效率,降低调度成本。
99.作为一个可选的实施方式,调度执行模块204将任务调度参数输入至动态规划模型中,以测算得到待调度任务组对应的任务具体调度策略的具体方式,包括:根据任务调度参数,从多个待调度etl任务确定出符合任务调度参数的多个候选etl任务;确定不同类型的候选etl任务对应的任务执行设备、任务资源成本和任务时间成本;确定目标函数为任务执行方案的执行成本达到最小;执行成本为任务执行方案执行时的总资源成本和总时间成本之和;任务执行方案为多个候选etl任务依照一定的执行次序所形成的执行方案;确定约束条件为任务执行方案中的多个候选etl任务的执行次序能够满足所有对应的任务执行设备的启动顺序条件;启动顺序条件用于限定任一任务执行设备能否在任一其他任务执行设备之前或之后启动;根据目标函数和约束条件,基于动态规划模型,演算出多个候选etl任务对应的最优任务执行方案;将最优任务执行方案确定为待调度任务组对应的任务具体调度策略。
100.可见,通过该可选的实施方式,可以根据目标函数和约束条件,基于动态规划模型,演算出多个候选etl任务对应的最优任务执行方案,从而进一步提高etl任务调度的效率,降低调度成本。
101.作为一个可选的实施方式,该装置还包括重优化模块,用于在调度执行模块204根据任务具体调度策略,对待调度任务组中的多个待调度etl任务进行调度执行之后,执行以下步骤:实时收集对待调度任务组中的多个待调度etl任务进行调度执行时的任务执行参数,得到策略执行时的任务执行参数;根据策略执行时的任务执行参数和任务具体调度策略,对调度预测模型进行进一步的训练优化。
102.可选的,对调度预测模型进行进一步的训练优化的具体步骤,可以参照上述实施例中对调度预测模型进行训练的步骤,其不同之处在于此时将输入的训练数据集换成了策略执行时的任务执行参数和任务具体调度策略对应的任务调度参数,从而可以结合动态规划模型的测算结果再进一步优化调度预测模型。
103.可见,通过该可选的实施方式,可以根据策略执行时的任务执行参数和任务具体调度策略,对调度预测模型进行进一步的训练优化,以训练得到更加优秀和精确的调度预测模型,从而进一步提高etl任务调度的效率,降低调度成本。
104.实施例三请参阅图3,图3是本发明实施例公开的又一种基于深度学习算法的etl调度装置。图3所描述的基于深度学习算法的etl调度装置应用于数据处理芯片、处理终端或处理服务器(其中,该处理服务器可以为本地服务器或云服务器)中。如图3所示,该基于深度学习算法的etl调度装置可以包括:
language)、hdcal、jhdl (java hardware description language)、lava、lola、myhdl、palasm、rhdl (rubyhardware description language)等,目前最普遍使用的是vhdl (very-high-speedintegrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
111.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
112.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
113.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
114.本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
115.本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
116.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
117.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
118.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
119.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
120.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
121.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
122.本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
123.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
124.最后应说明的是:本发明实施例公开的一种基于深度学习算法的etl调度方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献