任务自动编排方法、装置、计算机设备以及存储介质与流程

专利2022-06-29  69


本发明涉及计算机技术领域,尤其涉及一种任务自动编排方法、装置、计算机设备以及存储介质。



背景技术:

在现有的大数据系统中,任务调度系统的核心功能就是将任务提交到大数据集群中去运行,无论是用户临时提交还是定时提交的任务最终都会提交到大数据集群中去运行,但是大数据集群是有一定的资源限制的,如果对任务的提交不进行合理的安排的话,会导致大量任务争抢少量的运行资源,最终导致所有任务都运行得很慢,很难达到预期的需求。



技术实现要素:

有鉴于此,本发明实施例提供一种任务自动编排方法、装置、计算机设备以及存储介质,能够对任务进行合理的编排,保证在有限的资源情况下让任务顺利执行,提高任务执行的效率。

一方面,本发明实施例提供了一种任务自动编排方法,该方法包括:

若接收到多个任务的提交指令,获取大数据集群的当前空闲资源情况,其中,所述大数据集群的当前空闲资源情况包括组成大数据集群的所有计算机设备的当前空闲资源总和;

获取所述多个任务中的其中一个任务作为目标任务,确定执行所述目标任务的资源需求量;

判断大数据集群的当前空闲资源情况是否满足执行所述目标任务所需的资源需求量;

若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,从所述多个任务中选择另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤。

另一方面,本发明实施例提供了一种任务自动编排装置,所述装置包括:

第一获取单元,用于若接收到多个任务的提交指令,获取大数据集群的当前空闲资源情况,其中,所述大数据集群的当前空闲资源情况包括组成大数据集群的所有计算机设备的当前空闲资源总和;

确定单元,用于获取所述多个任务中的其中一个任务作为目标任务,确定执行所述目标任务的资源需求量;

判断单元,用于判断大数据集群的当前空闲资源情况是否满足执行所述目标任务所需的资源需求量;

选择单元,用于若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,从所述多个任务中选择另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤。

又一方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的任务自动编排方法。

再一方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,以实现如上所述的任务自动编排方法。

本发明实施例提供一种任务自动编排方法、装置、计算机设备以及存储介质,其中方法包括:若接收到多个任务的提交指令,获取大数据集群的当前空闲资源情况,其中,所述大数据集群的当前空闲资源情况包括组成大数据集群的所有计算机设备的当前空闲资源总和;获取所述多个任务中的其中一个任务作为目标任务,确定执行所述目标任务的资源需求量;判断大数据集群的当前空闲资源情况是否满足执行所述目标任务所需的资源需求量;若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,从所述多个任务中选择另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤。本发明能够对任务进行合理的编排,保证在有限的资源情况下让任务顺利执行,提高任务执行的效率。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本发明实施例提供的一种任务自动编排方法的应用场景示意图;

图2是本发明实施例提供的一种任务自动编排方法的示意流程图;

图3是本发明实施例提供的一种任务自动编排方法的另一示意流程图;

图4是本发明实施例提供的一种任务自动编排方法的另一示意流程图;

图5是本发明实施例提供的一种任务自动编排方法的另一示意流程图;

图6是本发明实施例提供的一种任务自动编排装置的示意性框图;

图7是本发明实施例提供的一种任务自动编排装置的另一示意性框图;

图8是本发明实施例提供的一种任务自动编排装置的另一示意性框图;

图9是本发明实施例提供的一种任务自动编排装置的另一示意性框图;

图10是本发明实施例提供的一种计算机设备的结构组成示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图1和图2,图1为本发明实施例提供的一种任务自动编排方法的应用场景示意图,图2为本发明实施例提供的一种任务自动编排方法的流程示意图。该任务自动编排方法应用于大数据集群10中,如图1所示,所述大数据集群10由多台计算机设备组成。作为一应用,如图1所示,该任务自动编排方法应用于大数据集群10中的每一台计算机设备,该大数据集群10负责从客户端20获取任务,并判断大数据集群的当前空闲资源情况是否满足执行所述任务所需的资源需求量;若大数据集群的当前空闲资源情况不能满足执行所述任务所需的资源需求量,选择大数据集群中其它待执行的多个任务中的其中一个任务进行执行,其中,大数据集群的当前空闲资源情况指的是组成大数据集群的所有计算机设备的当前空闲资源总和,客户端20可以为台式电脑、笔记本或智能手机等等。

请参阅图2,图2为本发明实施例提供的一种任务自动编排方法的示意流程图。如图2所示,该方法包括以下步骤s101~s104。

s101,若接收到多个任务的提交指令,获取大数据集群的当前空闲资源情况,其中,所述大数据集群的当前空闲资源情况包括组成大数据集群的所有计算机设备的当前空闲资源总和。

在本发明实施例中,所述任务提交指令可以是用户点击与大数据集群连接的客户端上的任务提交图标所产生。所述任务提交指令用于将用户通过客户端上传的多个任务发送至大数据集群中,并在大数据集群中排队进行执行。所述大数据集群的当前空闲资源情况指的是组成大数据集群的所有计算机设备的当前空闲资源总和,所述大数据集群的当前空闲资源情况包括大数据集群的内存空闲资源情况和cpu空闲资源情况,所述获取大数据集群的当前空闲资源情况,包括:获取大数据集群的内存空闲资源情况和cpu空闲资源情况。具体的,在本实施例中,所述当前空闲资源情况包括大数据集群的内存空闲资源情况和cpu空闲资源情况,例如,大数据集群当前被占用内存资源情况为100g,当前被占用cpu资源情况为50核,并且大数据集群的内存资源和cpu资源未使用时分别是内存资源150g,cpu资源80核,那么大数据集群当前空闲资源情况分别为内存空闲资源情况为50g,cpu空闲资源情况为30核。

s102,获取所述多个任务中的其中一个任务作为目标任务,确定执行所述目标任务的资源需求量。

在本发明实施例中,如图3所示,所述确定执行所提交的多个任务中的其中一个任务的资源需求量的步骤,具体包括以下步骤s201~s202:s201,获取需要执行的多个任务中的其中一个任务的数据量;s202,根据任务的数据量确定执行所述目标任务的资源需求量。具体的,所述目标任务的资源需求量指的是目标任务在执行时需要占用的大数据集群中的资源情况,该目标任务的需求量可以为占用大数据集群的内存资源量以及cpu资源量,更具体的,可以通过所执行的任务的数据量来确定该任务的资源需求量,例如,任务a的数据量为100g,若要对该数据量的任务进行处理,按照大数据集群的预先设定,则会对针对任务a中每128m的数据量分配固定资源(如10g内存资源和20核cpu资源)进行处理,那么大概总的资源需求量为需要占用大数据集群内存资源80g和占用cpu资源160核;需要说明的是,在大数据集群中,对于数据量超过预设阈值的任务不可能会一次性进行处理,其处理流程将会是分批次对任务进行执行,因此,对于分批次进行处理的大数量的任务也会长时间占用大数据集群的资源,导致其它任务提交进来也无法分配足够的资源去运行。

s103,判断大数据集群的当前空闲资源情况是否满足执行所述目标任务所需的资源需求量。

在本发明实施例中,所述大数据集群的当前空闲资源情况包括大数据集群的内存空闲资源情况和cpu空闲资源情况,所述执行所述任务所需的资源需求量包括执行所述任务所需的内存资源量和cpu资源量,如图4所示,所述判断大数据集群的当前空闲资源情况是否满足执行所述目标任务所需的资源需求量的步骤,具体包括以下步骤s301~s302:s301,判断大数据集群的内存空闲资源情况是否大于执行所述目标任务所需的内存资源量以及大数据集群的cpu空闲资源情况是否大于执行所述目标任务所需的cpu资源量;s302,若大数据集群的内存空闲资源情况大于执行所述目标任务所需的内存资源量且大数据集群的cpu空闲资源情况大于执行所述目标任务所需的cpu资源量,判定大数据集群的当前空闲资源情况满足执行所述目标任务所需的资源需求量,否则,判定大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量。具体的,在本实施例中,所述大数据集群的当前空闲资源情况具体指的是大数据集群的内存空闲资源情况和cpu空闲资源情况,大数据集群当前的内存空闲资源情况等于大数据集群的总内存资源减去大数据集群当前被占用的内存资源,大数据集群当前的cpu空闲资源情况等于大数据集群的总cpu资源减去大数据集群当前被占用的cpu资源,例如,大数据集群的总内存资源为1000g、总cpu资源为2000核,当前被占用的内存资源达到500g,当前被占用的cpu资源达到300核,那么大数据集群当前的内存空闲资源情况为1000g-500g=500g,大数据集群当前的cpu空闲资源情况为2000核-300核=1700核。所述执行任务所需的资源需求量具体指的是执行任务时所需的内存资源量和cpu资源量,例如,任务a的数据量为100g,若要对该数据量的任务进行处理,按照大数据集群的预先设定,则会对针对任务a中每128m的数据量分配固定资源(如10g内存资源和20核cpu资源)进行处理,那么大概总的资源需求量为需要占用大数据集群内存资源80g和占用cpu资源160核;本实施例通过判断大数据集群的内存空闲资源情况是否大于执行所述目标任务所需的内存资源量以及大数据集群的cpu空闲资源情况是否大于执行所述目标任务所需的cpu资源量;当大数据集群的内存空闲资源情况大于执行所述目标任务所需的内存资源量且大数据集群的cpu空闲资源情况大于执行所述目标任务所需的cpu资源量,则表示大数据集群的当前空闲资源情况满足执行所述目标任务所需的资源需求量,否则表示大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量。需要说明的是,当大数据集群的内存空闲资源情况大于执行所述目标任务所需的内存资源量以及大数据集群的cpu空闲资源情况小于执行所述目标任务所需的cpu资源量时,则大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,或者,当大数据集群的内存空闲资源情况小于执行所述目标任务所需的内存资源量以及大数据集群的cpu空闲资源情况大于执行所述目标任务所需的cpu资源量时,则大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,再或者,当大数据集群的内存空闲资源情况小于执行所述目标任务所需的内存资源量以及大数据集群的cpu空闲资源情况小于执行所述目标任务所需的cpu资源量时,则大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量。

s104,若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,从所述多个任务中选择另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤。

在本发明实施例中,如图5所示,所述若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,从所述多个任务中选择另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤,具体包括以下步骤s401~s402:s401,若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,计算其它各待执行的任务在执行时所需的资源需求量;s402,将所计算的其它各待执行的任务在执行时所需的资源需求量分别与大数据集群的当前空闲资源情况进行比较,根据比较结果选择执行时所需的资源需求量小于大数据集群的当前空闲资源情况的其它待执行的多个任务中的另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤。具体的,大数据集群的当前空闲资源情况下能满足执行所述任务所需的资源需求量,即指的是以下三种情况:(1)大数据集群的内存空闲资源情况大于执行所述任务所需的内存资源量以及大数据集群的cpu空闲资源情况小于执行所述任务所需的cpu资源量,(2)大数据集群的内存空闲资源情况小于执行所述任务所需的内存资源量以及大数据集群的cpu空闲资源情况大于执行所述任务所需的cpu资源量,(3)大数据集群的内存空闲资源情况小于执行所述任务所需的内存资源量以及大数据集群的cpu空闲资源情况小于执行所述任务所需的cpu资源量;当满足以上三种情况时,选择大数据集群中其它待执行的多个任务中的其中一个任务进行执行,在选择其它待执行任务的执行时,需要计算所选择的任务在执行时所需的资源需求量,再将所计算的任务在执行时所需的资源需求量分别与大数据集群的当前空闲资源情况进行比较,根据比较结果选择执行时所需的资源需求量小于大数据集群的当前空闲资源情况的其它待执行的多个任务中的其中一个任务进行执行。其中,计算所选择的任务在执行时所需的资源需求量可以通过任务提交的数据量进行估算得到,例如,任务a的数据量为100g,若要对该数据量的任务进行处理,按照大数据集群的预先设定,则会对针对任务a中每128m的数据量分配固定资源(如10g内存资源和20核cpu资源)进行处理,那么大概总的资源需求量为需要占用大数据集群内存资源80g和占用cpu资源160核。

可选的,在本实施例中,当选择大数据集群中其它待执行的多个任务中的其中一个任务进行执行之后,通过监测任务的执行状态判断任是否执行完毕,任务被提交到大数据集群中执行后,其执行状态会一直更新,当任务的执行状态显示执行完成时,大数据集群再获取资源需求量大的未执行完毕的任务继续进行执行,从而避免了所需资源少的任务因等待耗时时间长的任务执行完毕而导致任务延迟执行过长。

由以上可见,本发明实施例通过若接收到多个任务的提交指令,获取大数据集群的当前空闲资源情况;获取所述多个任务中的其中一个任务作为目标任务,确定执行所述目标任务的资源需求量;判断大数据集群的当前空闲资源情况是否满足执行所述目标任务所需的资源需求量;若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,从所述多个任务中选择另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤。本发明能够对任务进行合理的编排,保证在有限的资源情况下让任务顺利执行,提高任务执行的效率。

请参阅图6,对应上述一种任务自动编排方法,本发明实施例还提出一种任务自动编排装置,该装置100包括:第一获取单元101、确定单元102、判断单元103、选择单元104。

其中,所述第一获取单元101,用于若接收到多个任务的提交指令,获取大数据集群的当前空闲资源情况,其中,所述大数据集群的当前空闲资源情况包括组成大数据集群的所有计算机设备的当前空闲资源总和;确定单元102,用于获取所述多个任务中的其中一个任务作为目标任务,确定执行所述目标任务的资源需求量;判断单元103,用于判断大数据集群的当前空闲资源情况是否满足执行所述目标任务所需的资源需求量;选择单元104,用于若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,从所述多个任务中选择另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤。

所述大数据集群的当前空闲资源情况包括大数据集群的内存空闲资源情况和cpu空闲资源情况,所述第一获取单元101,具体用于:获取大数据集群的内存空闲资源情况和cpu空闲资源情况。

如图7所示,所述确定单元102,包括:

第二获取单元102a,用于获取需要执行的多个任务中的其中一个任务的数据量;确定子单元102b,用于根据任务的数据量确定执行所述目标任务的资源需求量。

如图8所示,所述大数据集群的当前空闲资源情况包括大数据集群的内存空闲资源情况和cpu空闲资源情况,所述执行所述任务所需的资源需求量包括执行所述任务所需的内存资源量和cpu资源量,所述判断单元103,包括:

判断子单元103a,用于判断大数据集群的内存空闲资源情况是否大于执行所述目标任务所需的内存资源量以及大数据集群的cpu空闲资源情况是否大于执行所述目标任务所需的cpu资源量;判定单元103b,用于若大数据集群的内存空闲资源情况大于执行所述目标任务所需的内存资源量且大数据集群的cpu空闲资源情况大于执行所述目标任务所需的cpu资源量,判定大数据集群的当前空闲资源情况满足执行所述目标任务所需的资源需求量,否则,判定大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量。

如图9所示,所述选择单元104,包括:

计算单元104a,用于若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,计算其它各待执行的任务在执行时所需的资源需求量;选择子单元104b,用于将所计算的其它各待执行的任务在执行时所需的资源需求量分别与大数据集群的当前空闲资源情况进行比较,根据比较结果选择执行时所需的资源需求量小于大数据集群的当前空闲资源情况的其它待执行的多个任务中的另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤。

由以上可见,本发明实施例通过若接收到多个任务的提交指令,获取大数据集群的当前空闲资源情况;获取所述多个任务中的其中一个任务作为目标任务,确定执行所述目标任务的资源需求量;判断大数据集群的当前空闲资源情况是否满足执行所述目标任务所需的资源需求量;若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,从所述多个任务中选择另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤。本发明能够对任务进行合理的编排,保证在有限的资源情况下让任务顺利执行,提高任务执行的效率。

上述任务自动编排装置与上述任务自动编排方法一一对应,其具体的原理和过程与上述实施例所述方法相同,不再赘述。

上述任务自动编排装置可以实现为一种计算机程序的形式,计算机程序可以在如图10所示的计算机设备上运行。

图10为本发明一种计算机设备的结构组成示意图。该设备可以是终端,也可以是服务器,其中,终端可以是笔记本电脑以及台式电脑等电子装置。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。参照图10,该计算机设备500包括通过系统总线501连接的处理器502、非易失性存储介质503、内存储器504和网络接口505。其中,该计算机设备500的非易失性存储介质503可存储操作系统5031和计算机程序5032,该计算机程序5032被执行时,可使得处理器502执行一种任务自动编排方法。该计算机设备500的处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序被处理器执行时,可使得处理器502执行一种任务自动编排方法。计算机设备500的网络接口505用于进行网络通信。本领域技术人员可以理解,图10中所示仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,所述处理器502执行所述计算机程序时实现如下操作:

若接收到多个任务的提交指令,获取大数据集群的当前空闲资源情况,其中,所述大数据集群的当前空闲资源情况包括组成大数据集群的所有计算机设备的当前空闲资源总和;

获取所述多个任务中的其中一个任务作为目标任务,确定执行所述目标任务的资源需求量;

判断大数据集群的当前空闲资源情况是否满足执行所述目标任务所需的资源需求量;

若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,从所述多个任务中选择另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤。

在一个实施例中,所述大数据集群的当前空闲资源情况包括大数据集群的内存空闲资源情况和cpu空闲资源情况,所述获取大数据集群的当前空闲资源情况,包括:

获取大数据集群的内存空闲资源情况和cpu空闲资源情况。

在一个实施例中,所述获取所述多个任务中的其中一个任务作为目标任务,确定执行所述目标任务的资源需求量,包括:

获取需要执行的多个任务中的其中一个任务的数据量;

根据任务的数据量确定执行所述目标任务的资源需求量。

在一个实施例中,所述大数据集群的当前空闲资源情况包括大数据集群的内存空闲资源情况和cpu空闲资源情况,所述执行所述任务所需的资源需求量包括执行所述任务所需的内存资源量和cpu资源量,所述判断大数据集群的当前空闲资源情况是否满足执行所述目标任务所需的资源需求量,包括:

判断大数据集群的内存空闲资源情况是否大于执行所述目标任务所需的内存资源量以及大数据集群的cpu空闲资源情况是否大于执行所述目标任务所需的cpu资源量;

若大数据集群的内存空闲资源情况大于执行所述目标任务所需的内存资源量且大数据集群的cpu空闲资源情况大于执行所述目标任务所需的cpu资源量,判定大数据集群的当前空闲资源情况满足执行所述目标任务所需的资源需求量,否则,判定大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量。

在一个实施例中,所述若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,从所述多个任务中选择另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤,包括:

若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,计算其它各待执行的任务在执行时所需的资源需求量;

将所计算的其它各待执行的任务在执行时所需的资源需求量分别与大数据集群的当前空闲资源情况进行比较,根据比较结果选择执行时所需的资源需求量小于大数据集群的当前空闲资源情况的其它待执行的多个任务中的另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤。

本领域技术人员可以理解,图10中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其它实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图10所示实施例一致,在此不再赘述。

本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,以实现以下步骤:

若接收到多个任务的提交指令,获取大数据集群的当前空闲资源情况,其中,所述大数据集群的当前空闲资源情况包括组成大数据集群的所有计算机设备的当前空闲资源总和;

获取所述多个任务中的其中一个任务作为目标任务,确定执行所述目标任务的资源需求量;

判断大数据集群的当前空闲资源情况是否满足执行所述目标任务所需的资源需求量;

若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,从所述多个任务中选择另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤。

在一个实施例中,所述大数据集群的当前空闲资源情况包括大数据集群的内存空闲资源情况和cpu空闲资源情况,所述获取大数据集群的当前空闲资源情况,包括:

获取大数据集群的内存空闲资源情况和cpu空闲资源情况。

在一个实施例中,所述获取所述多个任务中的其中一个任务作为目标任务,确定执行所述目标任务的资源需求量,包括:

获取需要执行的多个任务中的其中一个任务的数据量;

根据任务的数据量确定执行所述目标任务的资源需求量。

在一个实施例中,所述大数据集群的当前空闲资源情况包括大数据集群的内存空闲资源情况和cpu空闲资源情况,所述执行所述任务所需的资源需求量包括执行所述任务所需的内存资源量和cpu资源量,所述判断大数据集群的当前空闲资源情况是否满足执行所述目标任务所需的资源需求量,包括:

判断大数据集群的内存空闲资源情况是否大于执行所述目标任务所需的内存资源量以及大数据集群的cpu空闲资源情况是否大于执行所述目标任务所需的cpu资源量;

若大数据集群的内存空闲资源情况大于执行所述目标任务所需的内存资源量且大数据集群的cpu空闲资源情况大于执行所述目标任务所需的cpu资源量,判定大数据集群的当前空闲资源情况满足执行所述目标任务所需的资源需求量,否则,判定大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量。

在一个实施例中,所述若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,从所述多个任务中选择另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤,包括:

若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,计算其它各待执行的任务在执行时所需的资源需求量;

将所计算的其它各待执行的任务在执行时所需的资源需求量分别与大数据集群的当前空闲资源情况进行比较,根据比较结果选择执行时所需的资源需求量小于大数据集群的当前空闲资源情况的其它待执行的多个任务中的另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤。

本发明前述的存储介质包括:磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等各种可以存储程序代码的介质。

本发明所有实施例中的单元可以通过通用集成电路,例如cpu(centralprocessingunit,中央处理器),或通过asic(applicationspecificintegratedcircuit,专用集成电路)来实现。

本发明实施例任务自动编排方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本发明实施例任务自动编排装置中的单元可以根据实际需要进行合并、划分和删减。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。


技术特征:

1.一种任务自动编排方法,其特征在于,所述方法包括:

若接收到多个任务的提交指令,获取大数据集群的当前空闲资源情况,其中,所述大数据集群的当前空闲资源情况包括组成大数据集群的所有计算机设备的当前空闲资源总和;

获取所述多个任务中的其中一个任务作为目标任务,确定执行所述目标任务的资源需求量;

判断大数据集群的当前空闲资源情况是否满足执行所述目标任务所需的资源需求量;

若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,从所述多个任务中选择另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤。

2.如权利要求1所述的方法,其特征在于,所述大数据集群的当前空闲资源情况包括大数据集群的内存空闲资源情况和cpu空闲资源情况,所述获取大数据集群的当前空闲资源情况,包括:

获取大数据集群的内存空闲资源情况和cpu空闲资源情况。

3.如权利要求1所述的方法,其特征在于,所述获取所述多个任务中的其中一个任务作为目标任务,确定执行所述目标任务的资源需求量,包括:

获取需要执行的多个任务中的其中一个任务的数据量;

根据任务的数据量确定执行所述目标任务的资源需求量。

4.如权利要求1所述的方法,其特征在于,所述大数据集群的当前空闲资源情况包括大数据集群的内存空闲资源情况和cpu空闲资源情况,所述执行所述任务所需的资源需求量包括执行所述任务所需的内存资源量和cpu资源量,所述判断大数据集群的当前空闲资源情况是否满足执行所述目标任务所需的资源需求量,包括:

判断大数据集群的内存空闲资源情况是否大于执行所述目标任务所需的内存资源量以及大数据集群的cpu空闲资源情况是否大于执行所述目标任务所需的cpu资源量;

若大数据集群的内存空闲资源情况大于执行所述目标任务所需的内存资源量且大数据集群的cpu空闲资源情况大于执行所述目标任务所需的cpu资源量,判定大数据集群的当前空闲资源情况满足执行所述目标任务所需的资源需求量,否则,判定大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量。

5.如权利要求1所述的方法,其特征在于,所述若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,从所述多个任务中选择另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤,包括:

若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,计算其它各待执行的任务在执行时所需的资源需求量;

将所计算的其它各待执行的任务在执行时所需的资源需求量分别与大数据集群的当前空闲资源情况进行比较,根据比较结果选择执行时所需的资源需求量小于大数据集群的当前空闲资源情况的其它待执行的多个任务中的另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤。

6.一种任务自动编排装置,其特征在于,所述装置包括:

第一获取单元,用于若接收到多个任务的提交指令,获取大数据集群的当前空闲资源情况,其中,所述大数据集群的当前空闲资源情况包括组成大数据集群的所有计算机设备的当前空闲资源总和;

确定单元,用于获取所述多个任务中的其中一个任务作为目标任务,确定执行所述目标任务的资源需求量;

判断单元,用于判断大数据集群的当前空闲资源情况是否满足执行所述目标任务所需的资源需求量;

选择单元,用于若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,从所述多个任务中选择另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤。

7.如权利要求6所述的装置,其特征在于,所述大数据集群的当前空闲资源情况包括大数据集群的内存空闲资源情况和cpu空闲资源情况,所述第一获取单元,具体用于:获取大数据集群的内存空闲资源情况和cpu空闲资源情况。

8.如权利要求6所述的装置,其特征在于,所述确定单元,包括:

第二获取单元,用于获取需要执行的多个任务中的其中一个任务的数据量;

确定子单元,用于根据任务的数据量确定执行所述目标任务的资源需求量。

9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5任一项所述的任务自动编排方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,以实现如权利要求1-5任一项所述的任务自动编排方法。

技术总结
本发明实施例公开了一种任务自动编排方法、装置、计算机设备以及存储介质,所述方法包括:若接收到多个任务的提交指令,获取大数据集群的当前空闲资源情况;获取所述多个任务中的其中一个任务作为目标任务,确定执行所述目标任务的资源需求量;判断大数据集群的当前空闲资源情况是否满足执行所述目标任务所需的资源需求量;若大数据集群的当前空闲资源情况不能满足执行所述目标任务所需的资源需求量,从所述多个任务中选择另一任务作为目标任务并返回执行所述确定执行所述目标任务的资源需求量的步骤。本发明能够对任务进行合理的编排,保证在有限的资源情况下让任务顺利执行,提高任务执行的效率。

技术研发人员:孙朝和;申志彬;李如先
受保护的技术使用者:深圳前海环融联易信息科技服务有限公司
技术研发日:2020.01.10
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-27893.html

最新回复(0)