一种作业执行方法及装置
文献发布时间:2023-06-19 10:35:20
技术领域
本发明涉及计算机技术领域,特别涉及一种作业执行方法及装置。
背景技术
随着大数据技术的发展,数据总量积累到PB级,使得将数据加工过程拆分为作业任务后,作业任务数量达到十万多个,庞大的作业任务数量复杂了作业依赖关系,增加了作业选择难度,容易造成高时效要求的作业排队时间过长,数据无法在规定时间内完成。同时,由于大数据平台调度客户机资源有限,无法满足所有可执行作业同时执行,也会加剧作业排队和执行时长。
因而,目前优先执行时效要求较高的作业,即时效要求较高的作业的优先级较高,以在一定程度上减小作业排队和执行时长过长造成的损失,但是作业的优先级处于动态变化中,可能平时优先级较低的作业在特殊时点会将优先级提升至最高级别。因而仅仅依赖于作业优先级进行作业选择,可能导致处理数据量大的优先级别非最高级的作业无法在时效要求下完成。同时,随着大数据平台的不断建设,影响作业选择的影响因素可能会不断变化。
因此,能够根据动态变化的作业影响因素,快速决策出所有待执行作业的选择顺序,据此进行作业执行,从而最大化利用资源进行优先级需求高的作业加工,满足大数据加工需求,是目前大数据平台调度系统亟需研究的问题。
发明内容
有鉴于此,本发明的目的在于提供一种作业执行方法及装置,能够根据动态变化的作业影响因素,快速决策出待执行作业的选择顺序。
为实现上述目的,本发明有如下技术方案:
一种作业执行方法,包括:
收集待执行作业的信息,所述信息包括:优先级信息、作业状态信息,以及所在客户机的资源信息;
将所述待执行作业的信息输入预先训练的图神经网络模型中,获取所述待执行作业的执行分数以及所述待执行作业对应的客户机;
根据所述待执行作业的执行分数,在所述待执行作业对应的客户机上执行所述待执行作业。
可选的,所述在所述待执行作业对应的客户机上执行所述待执行作业包括:
当所述执行机对应的客户机当前的资源信息小于最大阈值时,在所述待执行作业对应的客户机上执行所述待执行作业;
还包括:
若所述待执行作业对应的客户机当前的资源信息等于所述最大阈值时,将所述待执行作业的信息重新输入所述预先训练的图神经网络模型中,重新获取对应的客户机。
可选的,所述图神经网络模型的训练过程包括:
获取图神经网络模型的训练集,所述训练集包括历史执行作业的信息、所述历史执行作业的执行分数以及所述历史执行作业对应的客户机;
所述历史执行作业的信息包括:所述历史执行作业的优先级信息、作业状态信息以及所在客户机的资源信息;所述历史执行作业的分数是根据所述历史执行作业的优先级、作业状态信息获得;
利用所述训练集确定所述图神经网络模型的模型参数。
可选的,所述将所述待执行作业的信息输入预先训练的图神经网络模型中,获取所述待执行作业的执行分数以及所述待执行作业对应的客户机包括:
对所述待执行作业的信息进行预处理,所述预处理包括:对待执行作业的信息中的缺失值进行默认填充或预测填充;
对预处理后的待执行作业的信息进行特征值提取,并将所述特征值进行规划化和离散化处理,获得训练数据;
将所述训练数据输入预先训练的图神经网络模型中,获取所述待执行作业的执行分数以及所述待执行作业对应的客户机。
可选的,所述收集待执行作业的信息,包括:
向客户机发送链接请求,当收到所述客户机发送的链接响应消息后,向所述客户机发送收集资源的请求;
当收到所述客户机发送的资源响应消息后,收集所述客户机上的待执行作业的信息。
一种作业执行装置,包括:
收集单元,用于收集待执行作业的信息,所述信息包括:优先级信息、作业状态信息,以及所在客户机的资源信息;
第一获取单元,用于将所述待执行作业的信息输入预先训练的图神经网络模型中,获取所述待执行作业的执行分数以及所述待执行作业对应的客户机;
执行单元,用于根据所述待执行作业的执行分数,在所述待执行作业对应的客户机上执行所述待执行作业。
可选的,所述执行单元具体用于当所述执行机对应的客户机当前的资源信息小于最大阈值时,在所述待执行作业对应的客户机上执行所述待执行作业;
还包括:第二获取单元,用于若所述待执行作业对应的客户机当前的资源信息等于所述最大阈值时,将所述待执行作业的信息重新输入所述预先训练的图神经网络模型中,重新获取对应的客户机。
可选的,所述第一获取单元包括:第一子获取单元以及确定单元;
所述第一子获取单元,用于获取图神经网络模型的训练集,所述训练集包括历史执行作业的信息、所述历史执行作业的执行分数以及所述历史执行作业对应的客户机;所述历史执行作业的信息包括:所述历史执行作业的优先级信息、作业状态信息以及所在客户机的资源信息;所述历史执行作业的分数是根据所述历史执行作业的优先级、作业状态信息获得;
所述确定单元,用于利用所述训练集确定所述图神经网络模型的模型参数。
可选的,所述第一获取单元包括:预处理单元、提取单元以及第二子获取单元;
所述预处理单元,用于对所述待执行作业的信息进行预处理,所述预处理包括:对待执行作业的信息中的缺失值进行默认填充或预测填充;
所述提取单元,用于对预处理后的待执行作业的信息进行特征值提取,并将所述特征值进行规划化和离散化处理,获得训练数据;
所述第二子获取单元,用于将所述训练数据输入预先训练的图神经网络模型中,获取所述待执行作业的执行分数以及所述待执行作业对应的客户机。
可选的,所述收集单元包括:发送单元;
所述发送单元用于向客户机发送链接请求,当收到所述客户机发送的链接响应消息后,向所述客户机发送收集资源的请求;以及当收到所述客户机发送的资源响应消息后,收集所述客户机上的待执行作业的信息。
本发明实施例提供的一种作业执行方法,包括:收集待执行作业的信息,信息包括:待执行作业的优先级信息、作业状态信息,以及待执行作业所在客户机的资源信息;将待执行作业的信息输入预先训练的图神经网络模型中,获取待执行作业的执行分数以及待执行作业对应的客户机;而后,根据待执行作业的执行分数,在待执行作业对应的客户机上执行该待执行作业。这样,通过将待执行作业的信息输入预先训练的图神经网络模组中后,获取待执行作业的执行分数,从而能够结合动态变化的作业影响因素,快速决策出待执行作业的选择顺序,而后根据待执行作业的选择顺序在待执行作业对应的客户机上依次执行待执行作业,进而最大化利用资源进行优先级需求高的作业加工,满足大数据加工需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了根据本发明实施例一种作业执行方法的流程示意图;
图2-5示出了根据本发明实施例一种作业执行装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
大数据由巨型数据集组成,单一数据集的大小从数太字节(TB)至数十兆亿字节(PB)。大数据在各行业的应用越来越广泛,当需要进行大数据相关的业务时,首先需要搭建大数据平台。大数据平台有数十万张表,数据积累总量达到PB级,每天加工的增量数据达到TB级。根据数据解压、清洗、加载、转换、备份清理的加工流程,将数据加工过程拆分成一个个作业任务,使得目前的作业任务数量达到了十万多个。庞大的作业任务数量进一步复杂了作业依赖关系,目前作业之间的依赖关系,不仅有作业链内的直系依赖关系,还有作业链之间的旁系依赖关系。复杂的作业依赖关系增加了作业选择难度,容易造成高时效要求的作业排队时间过长,数据无法在规定时间内完成,影响后续数据处理的问题。同时,由于大数据平台调度客户机资源有限,无法满足所有可执行作业同时执行,也会加剧作业排队和执行时长。
在满足时效的前提下,完成数据加工是大数据平台的基本要求,也是后续数据使用的基础。一般情况下,时效要求高的作业的优先级较高,但由于监管报送、特殊时点业务清算等需求,相当大一部分作业的优先级处于动态变化中,可能平时优先级较低的作业在特殊时点会将优先级提升至最高级别。而仅仅依赖于作业优先级进行作业选择,可能导致处理数据量大的优先级别非最高级的作业无法在时效要求下完成。同时,随着大数据平台的不断建设,影响作业选择的影响因素可能会不断变化。
因此,能够根据动态变化的作业影响因素,快速决策出所有待执行作业的选择顺序,据此进行作业释放分发,从而最大化利用资源进行优先级需求高的作业加工,满足大数据加工需求,是目前大数据平台调度系统亟需研究的问题。
为此,本申请实施例提供一种作业执行方法,包括:收集待执行作业的信息,信息包括:优先级信息、作业状态信息,以及所在客户机的资源信息;将待执行作业的信息输入预先训练的图神经网络模型中,获取待执行作业的执行分数以及待执行作业对应的客户机;而后,根据待执行作业的执行分数,在待执行作业对应的客户机上执行该待执行作业。这样,通过将待执行作业的信息输入预先训练的图神经网络模组中后,获取待执行作业的执行分数,从而能够结合动态变化的作业影响因素,快速决策出待执行作业的选择顺序,而后根据待执行作业的选择顺序在待执行作业对应的客户机上依次执行待执行作业,进而最大化利用资源进行优先级需求高的作业加工,满足大数据加工需求。
为了便于理解本申请的技术方案和技术效果,以下将结合附图对具体的实施例进行详细的说明。
参考图1所示,在步骤S01中,收集待执行作业的信息,所述信息包括:优先级信息、作业状态信息,以及所在客户机的资源信息。
本申请实施例中,收集每一个客户机上的待执行作业,每一个客户机上的待执行作业可以为一个或多个。客户机是连接服务器的计算机,使用服务器共享的文件、打印机和其他资源。收集的待执行作业的信息包括:待执行作业的优先级信息、待执行作业的作业状态信息,待执行作业所在客户机的资源信息。
具体的,待执行作业的优先级信息包括:作业时效要求、作业运行预估数据量以及作业紧急性,例如可以对作业时效要求、作业运行预估数据量以及作业紧急性进行加权计算,获得作业的优先级。根据优先级选择待执行作业能够避免时效性高的作业、紧急性较大的作业等由于排队等原因影响后续加工。待执行作业的作业状态信息包括:作业运行次数、作业更新时间以及作业依赖情况。根据作业状态信息能够对待执行作业的质量有所衡量,以优先执行质量较高的作业,例如作业运行次数较多时,该作业可能存在运行问题,作业更新时间较短时,可以延迟执行该作业,作业依赖性较强时,可以优先执行。待执行作业所在客户机的资源信息包括:客户机CPU、内存、IO、磁盘资源以及CPU的最大阈值、内存的最大阈值、IO的最大阈值、磁盘的最大阈值。由于一个客户机上可能存在多个待执行作业,因而不同的待执行作业所在的客户机为同一客户机,则不同的待执行作业所在客户机的资源信息可能是相同的。通过对待执行所在客户机的资源信息可以对当前时间段客户机的可用资源进行预判,最大程度利用客户机的资源,避免资源浪费。在具体的应用中,待执行作业的优先级是动态变化的,不同周期内待执行作业的优先级可能不同,例如当前周期内待执行作业的优先级大于上一周期内待执行作业的优先级,因而收集待执行作业的优先级信息可以是指当前周期的优先级信息。
本实施例中,可以先向客户机发送链接请求,当收到客户机发送的链接响应消息后,向客户机发送收集资源的请求。具体的,当客户机发送链接请求,以判断该客户机是否处于连通状态,若收到客户机发送的链接响应消息,表明该客户机处于连通状态,即该客户机可用,若未收到客户机发送的链接响应消息,表明该客户机处于停机状态,即该客户机不可用。当客户机可用时,向客户机发送收集资源的请求,当收到客户机发送的资源响应消息后,收集客户机上的待执行作业信息。在具体的应用中,可以同时向所有的客户机发送链接请求,并对收到链接响应消息的客户机发送收集资源的请求。
在步骤S02中,将所述待执行作业的信息输入预先训练的图神经网络模型中,获取所述待执行作业的执行分数以及所述待执行作业对应的客户机。
本实施例中,获取图神经网络模型的训练集,训练集包括历史执行作业的信息、历史执行作业的执行分数以及历史执行作业对应的客户机,历史执行作业的信息包括:历史执行作业的优先级信息、作业状态信息以及所在客户机的资源;历史执行作业的执行分数是根据历史执行作业的优先级信息以及作业状态信息获得的。历史执行作业的优先级信息包括:历史执行作业所在的周期内,作业时效性要求、作业运行预估数据量以及作业紧急性。历史执行作业的作业状态信息包括:历史执行作业的作业运行次数、作业更新时间、作业依赖情况。历史执行作业所在客户机的资源信息包括:历史执行作业所在的周期内,该历史执行作业所在的客户机CPU、内存、IO和磁盘资源以及CPU的最大阈值、内存的最大阈值、IO的最大阈值和磁盘资源的最大阈值。可以理解的是,历史执行作业的优先级越高,历史执行作业的执行分数越高,历史执行作业的优先级可以根据对作业时效性要求、作业运行预估数据量以及作业紧急性进行加权计算获得。历史执行作业的作业状态信息中作业运行次数越高,将降低历史执行作业的执行分数;作业更新时间越短,越降低历史执行作业的执行分数;作业依赖性越低,越降低历史执行作业的执行分数。而后,利用训练集确定图神经网络模型的模型参数,从而完成图神经网络模型的训练。因而,将待执行作业的信息输入预先训练的图神经网络模型中后,能够获取待执行作业的执行分数以及待执行作业对应的客户机。
显然,此处待执行作业对应的客户机与步骤S01中提及的收集待执行作业所在客户机的资源中的客户机不同,例如在步骤S01中,收集待执行作业所在的客户机为第一客户机,但是获取第一客户机的资源信息后,发现第一客户机的资源信息等于最大阈值,即第一客户机无法继续执行该待执行作业,因而在步骤S02中,将待执行作业的信息输入预先网络模型中后,给该待执行作业重新分配客户机,此时分配的客户机为待执行作业对应的客户机。
在具体的应用中,在收集到待执行作业的信息后,对待执行作业的信息进行预处理,预处理包括:对待执行作业的信息中的缺失值进行默认填充或预测填充,默认填充是指所有的缺失值均为固定的数值,预测填充是指根据缺失值邻近的数据对缺失值进行预测。而后,对预处理的待执行作业的信息进行特征值提取,并对特征值进行规范化和离散化处理,获得训练数据。将训练数据输入预先训练的图神经网络模型中,获取待执行作业的执行分数以及待执行作业对应的客户机。
在步骤S03中,根据所述待执行作业的执行分数,在所述待执行作业对应的客户机上执行所述待执行作业。
在获取待执行作业的执行分数以及待执行作业对应的客户机后,根据待执行作业的分数由高到低依次在待执行作业对应的客户机上执行待执行作业。例如,待执行作业为4个,记为第一待执行作业、第二待执行作业、第三待执行作业以及第四待执行作业,第一待执行作业对应的客户机为第四客户机,第二待执行作业对应的客户机为第三客户机,第三待执行作业对应的客户机为第二客户机,第四待执行作业对应的客户机为第四客户机,则在第四客户机上执行第一待执行作业,在第三客户机上执行第二待执行作业,在第二客户机上执行第三待执行作业,在第四客户机上执行第四待执行作业。
具体的,当执待执行作业对应的客户机当前的资源信息小于最大阈值时,在待执行作业对应的客户机上执行待执行作业。若待执行作业对应的客户机当前的资源信息等于最大阈值时,将该待执行作业的信息重新输入预先训练的图神经网络模型中重新获取对应的客户机。
以上对本申请实施例提供的一种作业执行方法进行了详细的描述,本申请实施例还提供一种作业执行装置,参考图2所示,包括:
收集单元201,用于收集待执行作业的信息,所述信息包括:优先级信息、作业状态信息,以及所在客户机的资源信息;
第一获取单元202,用于将所述待执行作业的信息输入预先训练的图神经网络模型中,获取所述待执行作业的执行分数以及所述待执行作业对应的客户机;
执行单元203,用于根据所述待执行作业的执行分数,在所述待执行作业对应的客户机上执行所述待执行作业。
本实施例中,执行单元203具体用于所述执行单元具体用于当所述执行机对应的客户机当前的资源信息小于最大阈值时,在所述待执行作业对应的客户机上执行所述待执行作业;还包括:第二获取单元204,参考图3所示,用于若所述待执行作业对应的客户机当前的资源信息等于所述最大阈值时,将所述待执行作业的信息重新输入所述预先训练的图神经网络模型中,重新获取对应的客户机。
本实施例中,第一获取单元202包括:第一子获取单元212以及确定单元222,参考图4所示;第一子获取单元212用于获取图神经网络模型的训练集,所述训练集包括历史执行作业的信息、所述历史执行作业的执行分数以及所述历史执行作业对应的客户机;所述历史执行作业的信息包括:所述历史执行作业的优先级信息、作业状态信息以及所在客户机的资源信息;所述历史执行作业的分数是根据所述历史执行作业的优先级、作业状态信息获得;确定单元222用于利用所述训练集确定所述图神经网络模型的模型参数。
本实施例中,第一获取单元202包括:预处理单元232、提取单元242以及第二子获取单元252,参考图5所示;预处理单元222用于对所述待执行作业的信息进行预处理,所述预处理包括:对待执行作业的信息中的缺失值进行默认填充或预测填充;提取单元242,用于对预处理后的待执行作业的信息进行特征值提取,并将所述特征值进行规划化和离散化处理,获得训练数据;第二子获取单元252,用于将所述训练数据输入预先训练的图神经网络模型中,获取所述待执行作业的执行分数以及所述待执行作业对应的客户机。
本实施例中,收集单元201包括:发送单元,发送单元用于向客户机发送链接请求,当收到所述客户机发送的链接响应消息后,向所述客户机发送收集资源的请求;以及当收到所述客户机发送的资源响应消息后,收集所述客户机上的待执行作业的信息。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅是本发明的优选实施方式,虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
- 带电作业的执行方法、装置及带电作业系统
- 一种无人机作业航线规划方法以及作业执行方法