掌桥专利:专业的专利平台
掌桥专利
首页

集群资源调度方法、装置、计算机设备及存储介质

文献发布时间:2024-01-17 01:26:37


集群资源调度方法、装置、计算机设备及存储介质

技术领域

本申请涉及资源调度技术领域,具体涉及一种集群资源调度方法、装置、计算机设备及存储介质。

背景技术

随着科技的迅速发展,越来越多的数据产生,基于Hadoop集群等框架的各种大数据产品越来越受到用户的青睐。如何调度可用的集群资源节省成本、提高计算效率已经成为各大数据平台的重要研究方向。现有技术中,在对集群中的各队列进行资源分配时,是根据用户预先设定好的资源策略为各队列分配空闲资源,这种集群资源固定分配方式会导致资源分配不均。

发明内容

本申请实施例提供一种集群资源调度方法、装置、计算机设备及存储介质,根据集群的历史任务执行信息和队列的实时资源需求信息为各队列动态分配集群资源,提高了集群资源的利用率,能够以尽量少的资源数提高任务执行的效率,减少任务执行的时间。

一方面,本申请提供一种集群资源调度方法,所述集群资源调度方法包括:

获取集群的历史任务执行信息,所述集群中包括用于执行任务的多个队列;

根据所述历史任务执行信息确定所述集群中各队列的初始资源需求信息,所述初始资源需求信息包括所述各队列在预设第一时间段内每一时刻的初始资源值;

获取所述各队列的实时资源需求信息,根据所述实时资源需求信息和所述初始资源需求信息确定所述各队列在下一时刻的资源修正值;

根据所述初始资源需求信息和所述资源修正值,对所述各队列进行资源分配。

在本申请一些实施方案中,所述根据所述历史任务执行信息确定所述集群中各队列的初始资源需求信息,包括:

根据所述历史任务执行信息,确定所述集群中各队列在预设第一时间段内每一时刻的历史资源需求值;

根据所述历史资源需求值,确定所述集群中各队列的初始资源需求信息。

在本申请一些实施方案中,所述根据所述历史任务执行信息,确定所述集群中各队列在预设第一时间段内每一时刻的历史资源需求值,包括:

根据所述历史任务执行信息,确定所述集群中各队列的任务时间序列及所述各队列中的任务在执行时间内的平均资源需求值;

根据所述任务时间序列及所述平均资源需求值,确定所述集群中各队列在预设第一时间段内每一时刻的历史资源需求值。

在本申请一些实施方案中,所述根据所述历史资源需求值,确定所述集群中各队列的初始资源需求信息,包括:

根据所述历史资源需求值,确定所述各队列在所述第一时间段内每一时刻的初始资源值;

根据所述各队列在所述第一时间段内每一时刻的初始资源值,确定所述集群中各队列的初始资源需求信息。

在本申请一些实施方案中,所述根据所述实时资源需求信息和所述初始资源需求信息确定所述各队列在下一时刻的资源修正值,包括:

根据所述实时资源需求信息和所述初始资源需求信息,分别确定所述各队列在预设第二时间段内每一时刻的实时资源需求值和初始资源值,所述第二时间段包含于所述第一时间段内;

根据所述各队列在所述第二时间段内每一时刻的实时资源需求值和初始资源值,确定所述各队列在下一时刻的资源修正值。

在本申请一些实施方案中,所述根据所述各队列在所述第二时间段内每一时刻的实时资源需求值和初始资源值,确定所述各队列在下一时刻的资源修正值,包括:

根据所述各队列在所述第二时间段内每一时刻的实时资源需求值和初始资源值,确定所述各队列在所述第二时间段内每一时刻的资源差值;

根据所述资源差值,确定所述各队列在下一时刻的资源修正值。

在本申请一些实施方案中,所述根据所述初始资源需求信息和所述资源修正值,对所述各队列进行资源分配,包括:

根据所述初始资源需求信息和所述资源修正值,确定所述各队列在下一时刻的目标资源需求值;

根据所述目标资源需求值,对所述各队列进行资源分配。

在本申请一些实施方案中,所述根据所述初始资源需求信息和所述资源修正值,确定所述各队列在下一时刻的目标资源需求值,包括:

根据所述初始资源需求信息,确定所述各队列在所述下一时刻的初始资源值;

根据所述各队列在所述下一时刻的初始资源值和所述资源修正值,确定所述各队列在下一时刻的目标资源需求值。

另一方面,本申请提供一种集群资源调度装置,所述集群资源调度装置包括:

信息获取单元,用于获取集群的历史任务执行信息,所述集群中包括用于执行任务的多个队列;

信息确定单元,用于根据所述历史任务执行信息确定所述集群中各队列的初始资源需求信息,所述初始资源需求信息包括所述各队列在预设第一时间段内每一时刻的初始资源值;

修正值确定单元,用于获取所述各队列的实时资源需求信息,根据所述实时资源需求信息和所述初始资源需求信息确定所述各队列在下一时刻的资源修正值;

资源调度单元,用于根据所述初始资源需求信息和所述资源修正值,对所述各队列进行资源分配。

在本申请一些实施方案中,所述信息确定单元具体用于:

根据所述历史任务执行信息,确定所述集群中各队列在预设第一时间段内每一时刻的历史资源需求值;

根据所述历史资源需求值,确定所述集群中各队列的初始资源需求信息。

在本申请一些实施方案中,所述信息确定单元具体还用于:

根据所述历史任务执行信息,确定所述集群中各队列的任务时间序列及所述各队列中的任务在执行时间内的平均资源需求值;

根据所述任务时间序列及所述平均资源需求值,确定所述集群中各队列在预设第一时间段内每一时刻的历史资源需求值。

在本申请一些实施方案中,所述信息确定单元具体还用于:

根据所述历史资源需求值,确定所述各队列在所述第一时间段内每一时刻的初始资源值;

根据所述各队列在所述第一时间段内每一时刻的初始资源值,确定所述集群中各队列的初始资源需求信息。

在本申请一些实施方案中,所述修正值确定单元具体用于:

根据所述实时资源需求信息和所述初始资源需求信息,分别确定所述各队列在预设第二时间段内每一时刻的实时资源需求值和初始资源值,所述第二时间段包含于所述第一时间段内;

根据所述各队列在所述第二时间段内每一时刻的实时资源需求值和初始资源值,确定所述各队列在下一时刻的资源修正值。

在本申请一些实施方案中,所述修正值确定单元具体还用于:

根据所述各队列在所述第二时间段内每一时刻的实时资源需求值和初始资源值,确定所述各队列在所述第二时间段内每一时刻的资源差值;

根据所述资源差值,确定所述各队列在下一时刻的资源修正值。

在本申请一些实施方案中,所述资源调度单元具体用于:

根据所述初始资源需求信息和所述资源修正值,确定所述各队列在下一时刻的目标资源需求值;

根据所述目标资源需求值,对所述各队列进行资源分配。

在本申请一些实施方案中,所述资源调度单元具体还用于:

根据所述初始资源需求信息,确定所述各队列在所述下一时刻的初始资源值;

根据所述各队列在所述下一时刻的初始资源值和所述资源修正值,确定所述各队列在下一时刻的目标资源需求值。

另一方面,本申请还提供一种计算机设备,所述计算机设备包括:

一个或多个处理器;

存储器;以及

一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现第一方面中任一项所述的集群资源调度方法。

第四方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行第一方面任一项所述的集群资源调度方法中的步骤。

本申请根据集群的历史任务执行信息确定各队列的初始资源需求信息,根据各队列的初始资源需求信息和各队列的实时资源需求信息确定各队列在下一时刻的资源修正值,并根据初始资源需求信息和资源修正值对各队列进行资源分配,能够以尽量少的资源数提高任务执行的效率,提高了集群资源的利用率,减少了任务执行的时间。

附图说明

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

图1是本申请实施例提供的集群资源调度系统的场景示意图;

图2是本申请实施例中提供的集群资源调度方法的一个实施例流程示意图;

图3是本申请实施例中提供的集群资源调度方法的具体实施例流程示意图;

图4是本申请实施例中提供的集群资源调度装置的一个实施例结构示意图;

图5是本申请实施例中提供的计算机设备的一个实施例结构示意图。

具体实施方式

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

在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。

需要说明的是,本申请实施例方法由于是在计算机设备中执行,各计算机设备的处理对象均以数据或信息的形式存在,例如时间,实质为时间信息,可以理解的是,后续实施例中若提及尺寸、数量、位置等,均为对应的数据存在,以便计算机设备进行处理,具体此处不作赘述。

本申请实施例提供一种集群资源调度方法、装置、计算机设备及存储介质,以下分别进行详细说明。

请参阅图1,图1为本申请实施例所提供的集群资源调度系统的场景示意图,该集群资源调度系统可以包括计算机设备100,计算机设备100中集成有集群资源调度装置,如图1中的计算机设备。

本申请实施例中计算机设备100主要用于获取集群的历史任务执行信息,所述集群中包括用于执行任务的多个队列;根据所述历史任务执行信息确定所述集群中各队列的初始资源需求信息,所述初始资源需求信息包括所述各队列在预设第一时间段内每一时刻的初始资源值;获取所述各队列的实时资源需求信息,根据所述实时资源需求信息和所述初始资源需求信息确定所述各队列在下一时刻的资源修正值;根据所述初始资源需求信息和所述资源修正值,对所述各队列进行资源分配,计算机设备100根据集群的历史任务执行信息和集群中各队列的实时资源需求信息为各队列动态分配集群资源,提高了集群资源的利用率,能够以尽量少的资源数提高任务执行的效率,减少任务执行的时间。

本申请实施例中,该计算机设备100可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本申请实施例中所描述的计算机设备100,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(Cloud Computing)的大量计算机或网络服务器构成。

可以理解的是,本申请实施例中所使用的计算机设备100可以是既包括接收和发射硬件的设备,即具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备。具体的计算机设备100具体可以是台式终端或移动终端,计算机设备100具体还可以是手机、平板电脑、笔记本电脑等中的一种。

本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案一种应用场景,并不构成对本申请方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的计算机设备,例如图1中仅示出1个计算机设备,可以理解的,该集群资源调度系统还可以包括一个或多个其他服务,具体此处不作限定。

另外,如图1所示,该集群资源调度系统还可以包括存储器200,用于存储数据,如集群的历史任务执行信息,例如YARN集群中执行的任务ID,任务开始运行时间,任务结束运行时间,任务执行所需CPU等,如集群中各队列的初始资源需求信息,具体的,如集群中队列A的初始资源需求信息,队列B的初始资源需求信息,队列C的初始资源需求信息等。

需要说明的是,图1所示的集群资源调度系统的场景示意图仅仅是一个示例,本申请实施例描述的集群资源调度系统以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着集群资源调度系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

首先,本申请实施例中提供一种集群资源调度方法,该集群资源调度方法的执行主体为集群资源调度装置,该集群资源调度装置应用于计算机设备,该集群资源调度方法包括:获取集群的历史任务执行信息,所述集群中包括用于执行任务的多个队列;根据所述历史任务执行信息确定所述集群中各队列的初始资源需求信息,所述初始资源需求信息包括所述各队列在预设第一时间段内每一时刻的初始资源值;获取所述各队列的实时资源需求信息,根据所述实时资源需求信息和所述初始资源需求信息确定所述各队列在下一时刻的资源修正值;根据所述初始资源需求信息和所述资源修正值,对所述各队列进行资源分配。

如图2所示,为本申请实施例中集群资源调度方法的一个实施例流程示意图,该集群资源调度方法可以包括如下步骤301~304,具体如下:

301、获取集群的历史任务执行信息,所述集群中包括用于执行任务的多个队列。

集群的历史任务执行信息是指在过去的一段时间内在集群上执行的任务信息,通常情况下,集群包括用于执行任务的多个队列,如队列1、队列2、队列3等,每个队列包含一定量的集群资源,进入集群的任务会被分配到一个队列中进行处理。历史任务执行信息包括任务ID、任务开始运行时间、任务结束运行时间、执行任务所需CPU(单位:cu/min)、任务等级以及任务所属队列。集群的历史任务执行信息在集群的历史日志中,需要进行集群资源调度时,可以请求集群后台获取集群历史日志,然后从集群历史日志中获取集群的历史任务执行信息,例如,当集群为YARN集群时,可以请求YARN集群后台获取集群历史日志中历史任务执行信息。

302、根据所述历史任务执行信息确定所述集群中各队列的初始资源需求信息,所述初始资源需求信息包括所述各队列在预设第一时间段内每一时刻的初始资源值。

初始资源需求信息包括集群中各队列在预设第一时间段内每一时刻的初始资源值,初始资源值是根据历史任务执行信息确定的集群中各队列在预设第一时间段内每一时刻所需的资源预测值,预设第一时间段可以根据用户需要进行设置,可以为一天中的0时到24时,也可以为一天中的其它任意时间段,如早上8时到晚上8时。本实施例在获取集群的历史任务执行信息后,根据历史任务执行信息确定集群中各队列的初始资源需求信息,以便后续步骤中根据初始资源需求信息对集群资源进行动态调度。

在一具体实施方式中,如图3所示,步骤302中所述根据所述历史任务执行信息确定所述集群中各队列的初始资源需求信息,可以包括如下步骤401~402,具体如下:

401、根据所述历史任务执行信息,确定所述集群中各队列在预设第一时间段内每一时刻的历史资源需求值;

402、根据所述历史资源需求值,确定所述集群中各队列的初始资源需求信息。

各队列在每一时刻的历史资源需求值为各队列在每一时刻的运行中的任务的资源需求和,例如,队列1在t时刻运行任务A和任务B,任务A运行中每分钟所需资源为5cu/min,任务B运行中每分钟所需资源为6cu/min,则队列1在t时刻的历史资源需求值为11cu/min。前述步骤中提到历史任务执行信息包括任务ID、任务开始运行时间、任务结束运行时间、执行任务所需CPU(单位:cu/min)、任务等级以及任务所属队列,在获取集群的历史任务执行信息后,即可根据历史任务执行信息确定各队列在预设第一时间段内每一时刻执行的任务以及每一时刻执行的任务的资源需求和,进而可以确定各队列在预设第一时间段内每一时刻的历史资源需求值,然后根据各队列在预设第一时间段内每一时刻的历史资源需求值,确定集群中各队列的初始资源需求信息。

在一具体实施方式中,步骤401中所述根据所述历史任务执行信息,确定所述集群中各队列在预设第一时间段内每一时刻的历史资源需求值,可以包括如下步骤501~502,具体如下:

501、根据所述历史任务执行信息,确定所述集群中各队列的任务时间序列及所述各队列中的任务在执行时间内的平均资源需求值;

502、根据所述任务时间序列及所述平均资源需求值,确定所述集群中各队列在预设第一时间段内每一时刻的历史资源需求值。

各队列的任务时间序列是指各队列在各时间段内执行的任务序列,根据各队列的任务时间序列可以确定各队列在每时刻执行的任务,例如,如表1所示,队列1在0-5min内执行任务A,在1-5min内执行任务B,在5-15min内执行任务C,根据队列1的任务时间序列可以确定队列1在0-1min内执行任务A,在1-5min内执行任务A和任务B,在5-15min内执行任务C。任务在执行时间内的平均资源需求量指任务在执行时间内每一分钟平均所需的资源量,其值为任务所需资源量除以任务的运行时间,例如,如表1所示,任务A的运行时间为5min,任务A所需的资源量为30(cu/min),则任务A在执行时间内的平均资源需求值为30/5=6(cu/min)。

表1任务数据表

历史任务执行信息包括任务ID、任务开始运行时间、任务结束运行时间、执行任务所需CPU(单位:cu/min)、任务等级以及任务所属队列,本实施例在确定集群中各队列在每一时刻的历史资源需求值时,可以首先根据历史任务执行信息中任务ID、任务开始运行时间、任务结束运行时间、任务等级以及任务所属队列确定集群中各队列的任务时间序列,以及根据历史任务执行信息中的任务开始运行时间、任务结束运行时间以及执行任务所需CPU确定所述各队列的任务在执行时间内的平均资源需求值,然后遍历各队列的任务时间序列,并根据各队列中的任务在执行时间内的平均资源需求值确定集群中各队列在预设第一时间段内每一时刻的历史资源需求值。例如,表1中,0-1分钟执行任务A,在1-5分钟执行任务A和任务B,在5-15分钟执行任务C,任务A的平均资源需求值为6(cu/min),任务B的平均资源需求值为5(cu/min),任务C的平均资源需求值为5(cu/min),则在0-1分钟的历史资源需求值为6(cu/min),1-5分钟的历史资源需求值为11(cu/min),5-15分钟的历史资源需求值为5(cu/min)。

在一具体实施方式中,如图3所示,步骤402中所述根据所述历史资源需求值,确定所述集群中各队列的初始资源需求信息,可以包括如下步骤503~504,具体如下:

503、根据所述历史资源需求值,确定所述各队列在所述第一时间段内每一时刻的初始资源值;

504、根据所述各队列在所述第一时间段内每一时刻的初始资源值,确定所述集群中各队列的初始资源需求信息。

本实施例中可以实时对各队列进行资源分配,也可以间隔预设时间对各队列进行资源分配。当实时对各队列进行资源分配时,各队列在第一时间段内每一时刻的初始资源值可以为各队列在第一时间段内每一时刻的历史资源需求值,则确定各队列在第一时间段内每一时刻的历史资源需求值后,可以直接将各队列在第一时间段内每一时刻的历史资源需求值作为各队列在第一时间段内每一时刻的初始资源值,并根据各队列在第一时间段内每一时刻的初始资源值,确定集群中各队列的初始资源需求信息。

当间隔预设时间对各队列进行资源分配时,为了满足预设时间内的任务资源需求,本实施例中将预设第一时间段按照预设间隔进行切分,将第一时间段切分为若干个时间窗口,并将时间窗口内的历史资源需求值中的最大值作为该时间窗口内每一时刻的初始资源值。例如,第一时间段为0时到24时,按照每15分钟一个间隔对第一时间段进行切分,假设0-15分钟的时间窗口内执行的任务如表1所示,则0-15分钟内每一时刻的初始资源值为y

当每一时刻的初始资源值为该时刻所属的时间窗口内的历史资源需求值中的最大值时,可以根据各队列在预设第一时间段内每一时刻的历史资源需求值,确定第一时间段内每一时刻所属的时间窗口内的历史资源需求值中的最大值,然后根据第一时间段内每一时刻所属的时间窗口内的历史资源需求值中的最大值,确定各队列在第一时间段内每一时刻的初始资源值,再根据各队列在第一时间段内每一时刻的初始资源值,确定集群中各队列的初始资源需求信息。

303、获取所述各队列的实时资源需求信息,根据所述实时资源需求信息和所述初始资源需求信息确定所述各队列在下一时刻的资源修正值。

实时资源需求信息为各队列实时所需的资源值,初始资源需求信息为历史任务执行信息确定的各队列的资源需求预测值,资源修正值是根据实时资源需求信息和初始资源需求信息确定的,用于表征资源需求预测值与各队列的实时资源需求值之间偏差的偏差值。本实施例获取各队列的实时资源需求信息后,根据实时资源需求信息和初始资源需求信息确定各队列在下一时刻的资源修正值,以便后续步骤中根据资源修正值对各队列进行资源分配。

在一具体实施方式中,继续参照图3所示,步骤303中所述根据所述实时资源需求信息和所述初始资源需求信息确定所述各队列在下一时刻的资源修正值,可以包括如下步骤403~404,具体如下:

403、根据所述实时资源需求信息和所述初始资源需求信息,分别确定所述各队列在预设第二时间段内每一时刻的实时资源需求值和初始资源值,所述第二时间段包含于所述第一时间段内;

404、根据所述各队列在所述第二时间段内每一时刻的实时资源需求值和初始资源值,确定所述各队列在下一时刻的资源修正值。

预设第二时间段包含于预设第一时间段内,也就是说第二时间段是第一时间段中的一部分时间段,例如第一时间段为0时至24时,第二时间段为1时至2时,为了更精确的确定各队列在下一时刻的资源修正值,预设第二时间段为包括当前时刻的时间段,例如,下一时刻为t+1时刻,第二时间段为t-n时刻至t时刻。本实施例在确定各队列在下一时刻的资源修正值时,可以根据实时资源需求信息确定在预设第二时间段内每一时刻的实时资源需求值,以及根据初始资源需求信息确定各队列在预设第二时间段内每一时刻的初始资源值,然后根据各队列在预设第二时间段内每一时刻的实时资源需求值和初始资源值,确定各队列在下一时刻的资源修正值。

在一具体实施方式中,步骤404中所述根据所述各队列在所述第二时间段内每一时刻的实时资源需求值和初始资源值,确定所述各队列在下一时刻的资源修正值,可以包括如下步骤505~506,具体如下:

505、根据所述各队列在所述第二时间段内每一时刻的实时资源需求值和初始资源值,确定所述各队列在所述第二时间段内每一时刻的资源差值;

506、根据所述资源差值,确定所述各队列在下一时刻的资源修正值。

各队列在第二时间段内每一时刻的资源差值为各队列在第二时间段内每一时刻的实时资源需求值与初始资源值之间的差值,在确定各队列在第二时间段内每一时刻的资源差值时,可以对各队列在第二时间段内每一时刻的实时资源需求值和初始资源需求值进行差值运行。例如,当第二时间段为T

得到各队列在第二时间段内每一时刻的资源差值后,对各队列在第二时间段内每一时刻的资源差值分别进行求和后再求均值,得到各队列在下一时刻的资源修正值。例如,当第二时间段为T

304、根据所述初始资源需求信息和所述资源修正值,对所述各队列进行资源分配。

初始资源需求信息包括各队列在预设第一时间段内每一时刻的初始资源值,而初始资源值是根据历史任务执行信息确定的资源需求预测值,其与实时资源需求值之间通常会存在一定的偏差,本实施例中得到各队列在下一时刻的资源修正值,根据资源修正值对初始资源需求信息中的初始资源值进行修正,再根据修正后的初始资源值对各队列进行资源分配,使得各队列分配到的集群资源更加均匀合理,能够以尽量少的资源数提高任务执行的效率,提高了集群资源的利用率,减少任务执行的时间。

在一具体实施方式中,继续参照图3所示,步骤304中所述根据所述初始资源需求信息和所述资源修正值,对所述各队列进行资源分配,可以包括如下步骤405~406,具体如下:

405、根据所述初始资源需求信息和所述资源修正值,确定所述各队列在下一时刻的目标资源需求值;

406、根据所述目标资源需求值,对所述各队列进行资源分配。

目标资源需求值为根据初始资源需求信息和资源修正值确定的各队列在下一时刻所需的资源值,本实施例确定各队列在下一时刻的资源修正值后,根据所述初始资源需求信息和所述资源修正值确定各队列在下一时刻的目标资源需求值,再根据各队列在下一时刻的目标资源需求值以及各队列的优先级为各队列分配资源,使得可以为各队列动态分配集群资源,提高了集群资源的利用率,能够以尽量少的资源数提高任务执行的效率,减少任务执行的时间。例如,确定队列1的目标资源需求值为y

在一具体实施方式中,步骤405中所述根据所述初始资源需求信息和所述资源修正值,确定所述各队列在下一时刻的目标资源需求值,可以包括如下步骤507~508,具体如下:

507、根据所述初始资源需求信息,确定所述各队列在所述下一时刻的初始资源值;

508、根据所述各队列在所述下一时刻的初始资源值和所述资源修正值,确定所述各队列在下一时刻的目标资源需求值。

各队列在下一时刻的初始资源值为根据历史任务执行信息确定的各队列在下一时刻的预测资源需求值,初始资源需求信息中包括各队列在下一时刻的初始资源值。本实施例中确定各队列在下一时刻的目标资源需求值时,首先根据初始资源需求信息,确定各队列在下一时刻的初始资源值,然后根据资源修正值对各队列在下一时刻的初始资源值进行修正,得到各队列在下一时刻的目标资源需求值。例如,各队列在下一时刻的资源需求值为y

为了更好实现本申请实施例中集群资源调度方法,在集群资源调度方法基础之上,本申请实施例中还提供一种集群资源调度装置,如图4所示,所述集群资源调度装置600包括:

信息获取单元601,用于获取集群的历史任务执行信息,所述集群中包括用于执行任务的多个队列;

信息确定单元602,用于根据所述历史任务执行信息确定所述集群中各队列的初始资源需求信息,所述初始资源需求信息包括所述各队列在预设第一时间段内每一时刻的初始资源值;

修正值确定单元603,用于获取所述各队列的实时资源需求信息,根据所述实时资源需求信息和所述初始资源需求信息确定所述各队列在下一时刻的资源修正值;

资源调度单元604,用于根据所述初始资源需求信息和所述资源修正值,对所述各队列进行资源分配。

本申请实施例中,根据集群的历史任务执行信息确定各队列的初始资源需求信息,根据各队列的初始资源需求信息和各队列的实时资源需求信息确定各队列在下一时刻的资源修正值,并根据初始资源需求信息和资源修正值对各队列进行资源分配,能够以尽量少的资源数提高任务执行的效率,提高了集群资源的利用率,减少了任务执行的时间。

在本申请一些实施例中,所述信息确定单元602具体用于:

根据所述历史任务执行信息,确定所述集群中各队列在预设第一时间段内每一时刻的历史资源需求值;

根据所述历史资源需求值,确定所述集群中各队列的初始资源需求信息。

在本申请一些实施例中,所述信息确定单元602具体还用于:

根据所述历史任务执行信息,确定所述集群中各队列的任务时间序列及所述各队列中的任务在执行时间内的平均资源需求值;

根据所述任务时间序列及所述平均资源需求值,确定所述集群中各队列在预设第一时间段内每一时刻的历史资源需求值。

在本申请一些实施例中,所述信息确定单元602具体还用于:

根据所述历史资源需求值,确定所述各队列在所述第一时间段内每一时刻的初始资源值;

根据所述各队列在所述第一时间段内每一时刻的初始资源值,确定所述集群中各队列的初始资源需求信息。

在本申请一些实施例中,所述修正值确定单元603具体用于:

根据所述实时资源需求信息和所述初始资源需求信息,分别确定所述各队列在预设第二时间段内每一时刻的实时资源需求值和初始资源值,所述第二时间段包含于所述第一时间段内;

根据所述各队列在所述第二时间段内每一时刻的实时资源需求值和初始资源值,确定所述各队列在下一时刻的资源修正值。

在本申请一些实施例中,所述修正值确定单元603具体还用于:

根据所述各队列在所述第二时间段内每一时刻的实时资源需求值和初始资源值,确定所述各队列在所述第二时间段内每一时刻的资源差值;

根据所述资源差值,确定所述各队列在下一时刻的资源修正值。

在本申请一些实施例中,所述资源调度单元604具体用于:

根据所述初始资源需求信息和所述资源修正值,确定所述各队列在下一时刻的目标资源需求值;

根据所述目标资源需求值,对所述各队列进行资源分配。

在本申请一些实施例中,所述资源调度单元604具体还用于:

根据所述初始资源需求信息,确定所述各队列在所述下一时刻的初始资源值;

根据所述各队列在所述下一时刻的初始资源值和所述资源修正值,确定所述各队列在下一时刻的目标资源需求值。

本申请实施例还提供一种计算机设备,其集成了本申请实施例所提供的任一种集群资源调度装置,所述计算机设备包括:

一个或多个处理器;

存储器;以及

一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述集群资源调度方法实施例中任一实施例中所述的集群资源调度方法中的步骤。

本申请实施例还提供一种计算机设备,其集成了本申请实施例所提供的任一种集群资源调度装置。如图5所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:

该计算机设备可以包括一个或者一个以上处理核心的处理器701、一个或一个以上计算机可读存储介质的存储器702、电源703和输入单元704等部件。本领域技术人员可以理解,图5中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器701是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器701可包括一个或多个处理核心;优选的,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。

存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器702还可以包括存储器控制器,以提供处理器701对存储器702的访问。

计算机设备还包括给各个部件供电的电源703,优选的,电源703可以通过电源管理系统与处理器701逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源703还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该计算机设备还可包括输入单元704,该输入单元704可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现各种功能,如下:

获取集群的历史任务执行信息,所述集群中包括用于执行任务的多个队列;

根据所述历史任务执行信息确定所述集群中各队列的初始资源需求信息,所述初始资源需求信息包括所述各队列在预设第一时间段内每一时刻的初始资源值;

获取所述各队列的实时资源需求信息,根据所述实时资源需求信息和所述初始资源需求信息确定所述各队列在下一时刻的资源修正值;

根据所述初始资源需求信息和所述资源修正值,对所述各队列进行资源分配。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本申请实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行本申请实施例所提供的任一种集群资源调度方法中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:

获取集群的历史任务执行信息,所述集群中包括用于执行任务的多个队列;

根据所述历史任务执行信息确定所述集群中各队列的初始资源需求信息,所述初始资源需求信息包括所述各队列在预设第一时间段内每一时刻的初始资源值;

获取所述各队列的实时资源需求信息,根据所述实时资源需求信息和所述初始资源需求信息确定所述各队列在下一时刻的资源修正值;

根据所述初始资源需求信息和所述资源修正值,对所述各队列进行资源分配。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。

具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

以上对本申请实施例所提供的一种集群资源调度方法、装置、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 云计算集群资源调度方法、介质、装置和计算设备
  • 一种存储集群告警方法、装置和计算机可读存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 一种元数据存储方法、装置、设备及计算机可读存储介质
  • 存储设备的数据删除方法、装置及计算机可读存储介质
  • 资源调度方法、装置、容器集群、计算机设备和存储介质
  • 一种集群资源调度方法、装置、计算机设备及存储介质
技术分类

06120116219540