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

资源调度的方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 18:58:26


资源调度的方法、装置、电子设备及存储介质

技术领域

本申请涉及数据处理技术领域,尤其涉及一种资源调度的方法、装置、电子设备及存储介质。

背景技术

采用开源的软件平台,基于虚拟机技术实现资源的统一管理和调度已经成为计算资源分配常用方式。但是基于有限的物理机产生的虚拟机资源也是有限的,如何使得有限的计算资源得到合理的分配和利用,是一个值得研究的问题。

常见的资源分配流程是基于应用部署需求方提出的资源申请量,直接在虚拟资源统一管理平台按照需求进行资源的生产和分配,但在资源运行过程中无法进行主动的资源调整,只能保持原始资源分配的情况。当应用申请资源量不符合实际应用需要,会出现应用实际使用配额占申请配额的比例较小的情况,同时由于无法进行资源调整,造成资源分配不合理,资源浪费的情况。

发明内容

有鉴于此,本申请提供了一种资源调度的方法、装置、电子设备及存储介质,以解决现有技术中当应用申请资源量不符合实际应用需要,会出现应用实际使用配额占申请配额的比例较小的情况,同时由于无法进行资源调整,造成资源分配不合理,资源浪费的情况的问题。

为实现上述目的,本申请提供如下技术方案:

本申请第一方面公开了一种资源调度的方法,包括:

接收应用部署资源申请请求;

基于所述应用部署资源申请请求,筛选出符合所述资源申请请求的物理机集合;

采集所述物理机集合中的每一台物理机的机器负载数据;

针对每一个物理机,将所述机器负载数据输入到预先构建的资源池负载模型中进行负载预测,得到所述物理机下个T时间内的平均负载,其中,T为正整数;

从所述物理机集合中筛选出所述平均负载最低的物理机进行应用的部署;

通过预先构建的应用负载模型对所述应用进行负载预测,得到所述应用的应用负载数据;

基于应用负载数据,确定是否对部署所述应用的物理机进行资源扩容或者资源缩容。

可选的,上述的方法,所述资源池负载模型的构建过程,包括:

采集各个所述物理机的历史机器负载数据;

对所述历史机器负载数据进行数据预处理,得到处理后的数据;

将所述处理后的数据作为资源池负载初始模型的输入,利用时序预测算法对所述初始模型进行训练,得到所述资源池负载模型。

可选的,上述的方法,所述应用负载模型的构建过程,包括:

采集各个应用的历史应用负载数据;

对所述历史应用负载数据进行数据预处理,得到处理后的数据;

将所述处理后的数据作为应用负载初始模型的输入,利用时序预测算法对所述初始模型进行训练,得到所述应用负载模型。

可选的,上述的方法,所述基于应用负载数据,确定是否对部署所述应用的物理机进行资源扩容或者资源缩容,包括:

获取所述应用的当前负载值;

计算得到所述应用负载数据与所述当前负载值的差值;

判断所述差值是否大于预设的阈值;

若判断出所述差值大于所述阈值,且所述应用负载数据大于所述当前负载值,则对部署所述应用的物理机进行资源扩容;

若判断出所述差值大于所述阈值,且所述应用负载数据不大于所述当前负载值,则对部署所述应用的物理机进行资源缩容。

可选的,上述的方法,所述基于应用负载数据,确定是否对部署所述应用的物理机进行资源扩容或者资源缩容之后,还包括:

当部署所述应用达到预设的时间周期时,则筛选出其他可部署所述应用的物理机进行应用迁移。

本申请第二方面公开了一种资源调度的装置,包括:

接收单元,用于接收应用部署资源申请请求;

筛选单元,用于基于所述应用部署资源申请请求,筛选出符合所述资源申请请求的物理机集合;

采集单元,用于采集所述物理机集合中的每一台物理机的机器负载数据;

第一预测单元,用于针对每一个物理机,将所述机器负载数据输入到预先构建的资源池负载模型中进行负载预测,得到所述物理机下个T时间内的平均负载,其中,T为正整数;

部署单元,用于从所述物理机集合中筛选出所述平均负载最低的物理机进行应用的部署;

第二预测单元,用于通过预先构建的应用负载模型对所述应用进行负载预测,得到所述应用的应用负载数据;

确定单元,用于基于应用负载数据,确定是否对部署所述应用的物理机进行资源扩容或者资源缩容。

可选的,上述的装置,所述第一预测单元,包括:

第一采集子单元,用于采集各个所述物理机的历史机器负载数据;

第一预处理子单元,用于对所述历史机器负载数据进行数据预处理,得到处理后的数据;

第一训练子单元,用于将所述处理后的数据作为资源池负载初始模型的输入,利用时序预测算法对所述初始模型进行训练,得到所述资源池负载模型。

可选的,上述的装置,所述第二预测单元,包括:

第二采集子单元,用于采集各个应用的历史应用负载数据;

第二预处理子单元,用于对所述历史应用负载数据进行数据预处理,得到处理后的数据;

第二训练子单元,用于将所述处理后的数据作为应用负载初始模型的输入,利用时序预测算法对所述初始模型进行训练,得到所述应用负载模型。

可选的,上述的装置,所述确定单元,包括:

获取子单元,用于获取所述应用的当前负载值;

计算子单元,用于计算得到所述应用负载数据与所述当前负载值的差值;

判断子单元,用于判断所述差值是否大于预设的阈值;

扩容子单元,用于若判断出所述差值大于所述阈值,且所述应用负载数据大于所述当前负载值,则对部署所述应用的物理机进行资源扩容;

缩容子单元,用于若判断出所述差值大于所述阈值,且所述应用负载数据不大于所述当前负载值,则对部署所述应用的物理机进行资源缩容。

可选的,上述的装置,还包括:

迁移单元,用于当部署所述应用达到预设的时间周期时,则筛选出其他可部署所述应用的物理机进行应用迁移。

本申请第三方面公开了一种电子设备,包括:

一个或多个处理器;

存储装置,其上存储有一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如本申请第一方面中任意一项所述的方法。

本申请第四方面公开了一种计算机存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如本申请第一方面中任意一项所述的方法。

从上述技术方案可以看出,本申请提供的一种资源调度的方法中,首先接收应用部署资源申请请求。然后基于所述应用部署资源申请请求,筛选出符合所述资源申请请求的物理机集合。接着采集所述物理机集合中的每一台物理机的机器负载数据。针对每一个物理机,将所述机器负载数据输入到预先构建的资源池负载模型中进行负载预测,得到所述物理机下个T时间内的平均负载,其中,T为正整数。从所述物理机集合中筛选出所述平均负载最低的物理机进行应用的部署。再通过预先构建的应用负载模型对所述应用进行负载预测,得到所述应用的应用负载数据。最后基于应用负载数据,确定是否对部署所述应用的物理机进行资源扩容或者资源缩容。由此可知,利用本申请的方法,可以预测各个物理机的资源负载数据以及预测应用负载数据,根据资源负载数据和应用负载数据选择部署的物理机,以及动态调整物理机的资源容量,合理进行资源调度。解决现有技术中当应用申请资源量不符合实际应用需要,会出现应用实际使用配额占申请配额的比例较小的情况,同时由于无法进行资源调整,造成资源分配不合理,资源浪费的情况的问题。

附图说明

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

图1为本申请实施例公开的一种资源调度的方法的流程图;

图2为本申请另一实施例公开的步骤步骤S107的一种实施方式的流程图;

图3为本申请另一实施例公开的一种资源调度的装置的示意图;

图4为本申请另一实施例公开的一种电子设备的示意图。

具体实施方式

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

在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

并且,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

由背景技术可知,常见的资源分配流程是基于应用部署需求方提出的资源申请量,直接在虚拟资源统一管理平台按照需求进行资源的生产和分配,并在资源运行过程中无法进行主动的资源调整,保持原始资源分配的情况。当应用申请资源量不符合实际应用需要,会出现应用实际使用配额占申请配额的比例较小的情况,同时由于无法进行资源调整,造成资源分配不合理,资源浪费的情况。

鉴于此,本申请提供了一种资源调度的方法、装置、电子设备及存储介质,以解决现有技术中当应用申请资源量不符合实际应用需要,会出现应用实际使用配额占申请配额的比例较小的情况,同时由于无法进行资源调整,造成资源分配不合理,资源浪费的情况的问题。

本申请实施例提供了一种资源调度的方法,具体如图1所示,具体包括:

S101、接收应用部署资源申请请求。

需要说明的是,需要部署应用时,申请方会提出应用部署资源申请请求,资源调度平台接收应用部署资源申请请求。

S102、基于应用部署资源申请请求,筛选出符合资源申请请求的物理机集合。

需要说明的是,基于应用部署资源申请请求,筛选出未分配的空闲资源大于或等于应用部署资源申请请求的物理机集合。

S103、采集物理机集合中的每一台物理机的机器负载数据。

需要说明的是,筛选出符合资源申请请求的物理机集合之后,采集该物理机集合中的每一台物理机的机器负载数据,以了解每一台物理的负载情况。

S104、针对每一个物理机,将机器负载数据输入到预先构建的资源池负载模型中进行负载预测,得到物理机下个T时间内的平均负载,其中,T为正整数。

需要说明的是,针对每一个物理机,将机器负载数据输入到预先构建的资源池负载模型中进行负载预测,得到物理机下个T时间内的平均负载,其中,T为正整数,T时间可根据实际情况进行设定,例如24小时,即预测物理机未来24小时内的平均负载。

具体的,针对每台满足资源需求的物理机通过资源池负载模型预测每台机器24小时负载情况,得到每分钟该机器m1负载并通过预制负载公式计算得到该机器的平均负载值,公式如下:

上述公式中

可选的,在申请的另一实施例中,步骤S103中资源池负载模型的构建过程的一种实施方式,可以包括:

采集各个物理机的历史机器负载数据。

对历史机器负载数据进行数据预处理,得到处理后的数据。

将处理后的数据作为资源池负载初始模型的输入,利用时序预测算法对初始模型进行训练,得到资源池负载模型。

需要说明的是,首先采集各个物理机的历史机器负载数据,然后对历史机器负载数据进行数据预处理,得到满足时序预测算法要求的时序数据格式的数据。然后将处理后的数据作为资源池负载初始模型的输入,利用时序预测算法对初始模型进行训练,得到资源池负载模型。

S105、从物理机集合中筛选出平均负载最低的物理机进行应用的部署。

需要说明的是,在预测得到每一台物理机下个T时间内的的平均负载之后,从中筛选出平均负载最低的物理机进行应用部署资源申请请求中的应用的部署操作。

S106、通过预先构建的应用负载模型对应用进行负载预测,得到应用的应用负载数据。

需要说明的是,通过预先构建的应用负载模型对应用进行负载预测,得到应用下一预设时间段内的应用负载数据,其中,预设时间段可根据实际情况进行设定,例如24小时。

可选的,在本申请的另一实施例中,步骤S106中应用负载模型的构建过程的一种实施方式,可以包括:

采集各个应用的历史应用负载数据。

对历史应用负载数据进行数据预处理,得到处理后的数据。

将处理后的数据作为应用负载初始模型的输入,利用时序预测算法对初始模型进行训练,得到应用负载模型。

需要说明的是,首先采集各个应用的历史应用负载数据,然后对历史应用负载数据进行数据预处理,得到满足时序预测算法要求的时序数据格式的数据。然后将处理后的数据作为应用负载初始模型的输入,利用时序预测算法对初始模型进行训练,得到应用负载模型。

S107、基于应用负载数据,确定是否对部署应用的物理机进行资源扩容或者资源缩容。

需要说明的是,应用通常会基于业务特性,出现负载消耗潮汐现象,计算资源需根据应用消耗负载情况进行弹性调整。因此在预测得到应用负载数据之后,根据负载情况确定是否对部署应用的物理机进行资源扩容或者资源缩容。

可选的,在本申请的另一实施例中,步骤S107的一种实施方式,如图2所示,可以包括:

S201、获取应用的当前负载值。

需要说明的是,首先获取应用的当前负载值。

S202、计算得到应用负载数据与当前负载值的差值。

S203、判断差值是否大于预设的阈值。

S204、若判断出差值大于阈值,且应用负载数据大于当前负载值,则对部署应用的物理机进行资源扩容。

需要说明的是,如果判断出差值大于阈值,且应用负载数据大于当前负载值,则说明该应用未来的负载会比现在的负载大,因此对部署应用的物理机进行资源扩容。

S205、若判断出差值大于阈值,且应用负载数据不大于当前负载值,则对部署应用的物理机进行资源缩容。

需要说明的是,如果判断出差值大于阈值,且应用负载数据不大于当前负载值,则说明该应用未来的负载会比现在的负载小,因此对部署应用的物理机进行资源缩容。

可选的,在本申请的另一实施例中,执行步骤S107之后,还可以包括:

当部署应用达到预设的时间周期时,则筛选出其他可部署应用的物理机进行应用迁移。

需要说明的是,当部署应用在物理机上达到预设的时间周期(通常采用7天)时,获取该时间周期内每个应用的负载最高峰值。然后根据该负载最高峰值,筛选出剩余可分配资源可大于该负载最高峰值的物理机,将应用迁移到筛选出的物理机上。

本申请实施例提供的一种资源调度的方法中,首先接收应用部署资源申请请求。然后基于应用部署资源申请请求,筛选出符合资源申请请求的物理机集合。接着采集物理机集合中的每一台物理机的机器负载数据。针对每一个物理机,将机器负载数据输入到预先构建的资源池负载模型中进行负载预测,得到物理机下个T时间内的平均负载,其中,T为正整数。从物理机集合中筛选出平均负载最低的物理机进行应用的部署。再通过预先构建的应用负载模型对应用进行负载预测,得到应用的应用负载数据。最后基于应用负载数据,确定是否对部署应用的物理机进行资源扩容或者资源缩容。由此可知,利用本申请的方法,可以预测各个物理机的资源负载数据以及预测应用负载数据,根据资源负载数据和应用负载数据选择部署的物理机,以及动态调整物理机的资源容量,合理进行资源调度。解决现有技术中当应用申请资源量不符合实际应用需要,会出现应用实际使用配额占申请配额的比例较小的情况,同时由于无法进行资源调整,造成资源分配不合理,资源浪费的情况的问题。

在本申请的另一实施例中公开了一种资源调度的装置,具体如图3所示,包括:

接收单元301,用于接收应用部署资源申请请求。

筛选单元302,用于基于应用部署资源申请请求,筛选出符合资源申请请求的物理机集合。

采集单元303,用于采集物理机集合中的每一台物理机的机器负载数据。

第一预测单元304,用于针对每一个物理机,将机器负载数据输入到预先构建的资源池负载模型中进行负载预测,得到物理机下个T时间内的平均负载,其中,T为正整数。

部署单元305,用于从物理机集合中筛选出平均负载最低的物理机进行应用的部署。

第二预测单元306,用于通过预先构建的应用负载模型对应用进行负载预测,得到应用的应用负载数据。

确定单元307,用于基于应用负载数据,确定是否对部署应用的物理机进行资源扩容或者资源缩容。

本实施例中,接收单元301、筛选单元302、采集单元303、第一预测单元304、部署单元305、第二预测单元306以及确定单元307的具体执行过程,可参见对应图1的方法实施例内容,此处不再赘述。

本申请实施例提供的一种资源调度的装置中,首先接收单元301接收应用部署资源申请请求。然后筛选单元302基于应用部署资源申请请求,筛选出符合资源申请请求的物理机集合。接着采集单元303采集物理机集合中的每一台物理机的机器负载数据。第一预测单元304针对每一个物理机,将机器负载数据输入到预先构建的资源池负载模型中进行负载预测,得到物理机下个T时间内的平均负载,其中,T为正整数。部署单元305从物理机集合中筛选出平均负载最低的物理机进行应用的部署。第二预测单元306再通过预先构建的应用负载模型对应用进行负载预测,得到应用的应用负载数据。最后确定单元307基于应用负载数据,确定是否对部署应用的物理机进行资源扩容或者资源缩容。由此可知,利用本申请的方法,可以预测各个物理机的资源负载数据以及预测应用负载数据,根据资源负载数据和应用负载数据选择部署的物理机,以及动态调整物理机的资源容量,合理进行资源调度。解决现有技术中当应用申请资源量不符合实际应用需要,会出现应用实际使用配额占申请配额的比例较小的情况,同时由于无法进行资源调整,造成资源分配不合理,资源浪费的情况的问题。

可选的,在本申请的另一实施例中,第一预测单元304的一种实施方式,可以包括:

第一采集子单元,用于采集各个物理机的历史机器负载数据。

第一预处理子单元,用于对历史机器负载数据进行数据预处理,得到处理后的数据。

第一训练子单元,用于将处理后的数据作为资源池负载初始模型的输入,利用时序预测算法对初始模型进行训练,得到资源池负载模型。

本实施例中,第一采集子单元、第一预处理子单元、第一训练子单元的具体执行过程,可参见上述对应方法实施例的内容,此处不再赘述。

可选的,在本申请的另一实施例中,第二预测单元306的一种实施方式,可以包括:

第二采集子单元,用于采集各个应用的历史应用负载数据。

第二预处理子单元,用于对历史应用负载数据进行数据预处理,得到处理后的数据。

第二训练子单元,用于将处理后的数据作为应用负载初始模型的输入,利用时序预测算法对初始模型进行训练,得到应用负载模型。

本实施例中,第二采集子单元、第二预处理子单元、第二训练子单元的具体执行过程,可参见上述对应方法实施例的内容,此处不再赘述。

可选的,在本申请的另一实施例中,确定单元307的一种实施方式,可以包括:

获取子单元,用于获取应用的当前负载值。

计算子单元,用于计算得到应用负载数据与当前负载值的差值。

判断子单元,用于判断差值是否大于预设的阈值。

扩容子单元,用于若判断出差值大于阈值,且应用负载数据大于当前负载值,则对部署应用的物理机进行资源扩容。

缩容子单元,用于若判断出差值大于阈值,且应用负载数据不大于当前负载值,则对部署应用的物理机进行资源缩容。

本实施例中,获取子单元、计算子单元、判断子单元、扩容子单元、缩容子单元、缩容子单元的具体执行过程,可参见对应图1的方法实施例内容,此处不再赘述。

可选的,在本申请的另一实施例中,上述资源调度的装置中,还可以包括:

迁移单元,用于当部署应用达到预设的时间周期时,则筛选出其他可部署应用的物理机进行应用迁移。

本实施例中,迁移单元的具体执行过程,可参见上述对应方法实施例的内容,此处不再赘述。

本申请另一实施例还提供了一种电子设备,如图4所示,具体包括:

一个或多个处理器401。

存储装置402,其上存储有一个或多个程序。

当一个或多个程序被一个或多个处理器401执行时,使得一个或多个处理器401实现如上述实施例中任意一项方法。

本申请另一实施例还提供了计算机存储介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现如上述实施例中任意一项方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 资源调度方法、系统及电子设备和存储介质
  • 电子设备的显示控制方法、装置、电子设备和存储介质
  • 电子设备控制方法及装置、电子设备及存储介质
  • 数据分布存储方法、装置、存储介质及电子设备
  • 存储清理方法、装置、电子设备及存储介质
  • 资源调度方法、资源调度装置、电子设备和可读存储介质
  • 资源调度方法、资源调度装置、电子设备和存储介质
技术分类

06120115758276