资源调整方法和装置与流程

文档序号:12801773阅读:337来源:国知局
资源调整方法和装置与流程

本发明实施例涉及云计算技术,尤其涉及一种资源调整方法和装置。



背景技术:

随着信息技术(informationtechnology,简称it)的快速发展,可通过互联网来提供动态易扩展的资源的云计算逐渐成熟,并成为业界发展的主流。云计算的核心思想是,通过网络将计算资源建立一个资源池,对计算资源池进行统一管理和调度,根据用户的需要对资源进行按需分配。云计算将大量的计算机分布式部署在数据中心,通过统一资源调度为不同的业务动态分配资源。开发者通过云计算系统部署应用,不同的应用可以承载不同的业务,从而利用云计算系统能够根据业务访问量自动扩展计算资源。

云计算主要有以下特点:计算超大规模、虚拟化、按需服务、高可靠性以及动态弹性伸缩。其中,动态弹性伸缩是云计算的重要特性。弹性伸缩可为应用提供动态弹性扩展方式,自动化提供资源分配,增加业务弹性伸展或收缩,从而提高了资源利用率和用户满意度,较好地解决了资源利用率和应用系统之间的矛盾。实现弹性伸缩的具体实现方式为,根据弹性伸缩策略和应用资源使用情况,判断是否进行弹性伸展或收缩,当满足条件后,对资源进行伸展或收缩。

在实现弹性伸缩过程中,根据弹性伸缩需求对应用的资源进行调整,然而应用的资源可能会来自不同的物理设备,物理设备之间会存在计算能力的差异,这种差异会造成资源调整无法满足调整需求。



技术实现要素:

本发明实施例提供一种资源调整方法和装置,以满足资源调整需求。

本发明实施例中的弹性伸缩包括弹性伸展和弹性收缩。

第一方面,本发明实施例提供一种资源调整方法,包括:

根据应用的伸展需求量向云资源管理器申请至少一个虚拟机;

接收所述云资源管理器返回的预分配的虚拟机资源;

根据预设的设备评估系数集合和所述预分配的虚拟机资源所在物理设备的设备型号,获取所述预分配的虚拟机资源对应的设备评估系数值;

确定所述预分配的虚拟机资源对应的设备评估系数值之和与所述伸展需求量的差值的绝对值是否小于资源偏差系数值,调整所述预分配的虚拟机资源获取调整后的虚拟机资源,并在调整后的虚拟机资源上部署所述应用;

其中,所述预设的设备评估系数集合包括多个物理设备的设备型号,和所述设备型号对应的设备评估系数值。

本实现方式,可以实现在弹性伸展过程中,使得伸展的虚拟机资源的偏差在可以控制的范围内,有效完成应用的资源的定量扩容,满足资源调整需求。

结合第一方面,在第一方面的第一种可能的实现方式中,所述方法还包括:

所述调整所述预分配的虚拟机资源获取调整后的虚拟机资源,包括:

若所述预分配的虚拟机资源对应的设备评估系数值之和小于所述伸展需求量,则继续向所述云资源管理器申请至少一个虚拟机;

接收所述云资源管理器返回的再分配的虚拟机资源;

获取调整后的虚拟机资源,所述调整后的虚拟机资源包括所述预分配的虚拟机资源和所述再分配的虚拟机资源;

其中,所述调整后的虚拟机资源对应的设备评估系数值之和与所述伸展需求量的差值小于资源偏差系数值。

本实现方式,在预分配的虚拟机资源对应的设备评估系数值之和不能满足所述伸展需求量时,可以继续向云资源管理器申请虚拟机,直至申请的虚拟机对应的设备评估系数值之和能够满足所述伸展需求量,进而在该虚拟机资源上部署应用,从而实现在伸展过程中,满足资源调整需求。

结合第一方面,在第一方面的第二种可能的实现方式中,所述调整所述预分配的虚拟机资源获取调整后的虚拟机资源,包括:

若所述预分配的虚拟机资源对应的设备评估系数值之和大于所述伸展需求量,则在所述预分配的虚拟机资源中获取调整后的虚拟机资源和预释放的 虚拟机资源,其中,所述调整后的虚拟机资源对应的设备评估系数值之和与所述伸展需求量的差值小于资源偏差系数值;

向所述云资源管理器申请释放所述预释放的虚拟机资源。

结合第一方面的上述任意一种可能的实现方式,在第一方面的第三种可能的实现方式中,若所述预分配的虚拟机资源对应的设备评估系数值之和与所述伸展需求量的差值的绝对值小于资源偏差系数值,则在所述预分配的虚拟机资源上部署所述应用。

结合第一方面的上述任意一种可能的实现方式,在第一方面的第四种可能的实现方式中,根据伸展需求量向云资源管理器申请至少一个虚拟机,之前,所述方法还包括:采集所述应用的资源使用信息,所述应用的资源使用信息包括中央处理器cpu使用率、内存使用率和存储空间使用率中至少一项;根据所述应用的资源使用信息和弹性伸展策略判断是否进行弹性伸展;若是,则执行所述根据应用的伸展需求量向云资源管理器申请至少一个虚拟机的步骤。

第二方面,本发明实施例提供一种资源调整方法,包括:

获取应用的虚拟机资源;

根据预设的设备评估系数集合和所述虚拟机资源所在物理设备的设备型号获取所述虚拟机资源对应的设备评估系数值;

在所述虚拟机资源中选取待收缩的虚拟机资源,所述待收缩的虚拟机资源对应的设备评估系数值之和与收缩需求量的差值的绝对值小于资源偏差系数值;

向云资源管理器申请释放所述待收缩的虚拟机资源。

结合第二方面,在第二方面的第一种可能的实现方式中,所述根据预设的设备评估系数集合和所述虚拟机资源所在物理设备的设备型号获取所述虚拟机资源对应的设备评估系数值,之前,所述方法还包括:

采集所述应用的资源使用信息,所述应用的资源使用信息包括中央处理器cpu使用率、内存使用率和存储空间使用率中至少一项;

根据所述应用的资源使用信息和弹性收缩策略判断是否进行弹性伸展;

若是,则执行所述根据预设的设备评估系数集合和所述虚拟机资源所在物理设备的设备型号获取所述虚拟机资源对应的设备评估系数值的步骤。

结合上述任一方面、以及任一方面的任一种可能的实现方式,所述根据预设的设备评估系数集合和所述虚拟机资源所在物理设备的设备型号获取所述虚拟机资源对应的设备评估系数值,之前,所述方法还包括:

获取参照物理设备的评估值和各待评估物理设备的评估值;

分别将各待评估物理设备的评估值与所述参照物理设备的评估值的比值作为所述待评估物理设备的设备型号对应的设备评估系数值;

建立所述预设的设备评估系数集合,所述预设的设备评估系数集合中的多个物理设备的设备型号包括所述参照物理设备的设备型号和各待评估物理设备的设备型号;所述预设的设备评估系数集合中的设备型号对应的设备评估系数值包括所述参照物理设备的设备型号对应的设备评估系数值和所述待评估物理设备的设备型号对应的设备评估系数值;

其中,所述参照物理设备的设备型号对应的设备评估系数值为1。

利用本实现方式的方法可以建立上述预设的设备评估系数集合,利用该预设的设备评估系数集合参与资源的弹性伸缩处理,从而实现在弹性伸展或收缩过程中,使得收缩或伸展的资源的偏差在可以控制的范围内,有效实现定量扩容或缩容。

第三方面,本发明实施例提供一种控制装置,包括:

资源管理模块,用于根据应用的伸展需求量向云资源管理器申请至少一个虚拟机;

资源管理模块,还用于接收所述云资源管理器返回的预分配的虚拟机资源;

资源评估模块,用于根据预设的设备评估系数集合和所述预分配的虚拟机资源所在物理设备的设备型号获取所述预分配的虚拟机资源对应的设备评估系数值;

所述资源管理模块,还用于确定所述预分配的虚拟机资源对应的设备评估系数值之和与所述伸展需求量的差值的绝对值小于资源偏差系数值时,调整所述预分配的虚拟机资源获取调整后的虚拟机资源;

资源部署模块,用于在调整后的虚拟机资源上部署所述应用;

其中,所述预设的设备评估系数集合包括多个物理设备的设备型号,和所述设备型号对应的设备评估系数值。

结合第三方面,在第三方面的第一种可能的实现方式中,所述资源管理模块用于调整所述预分配的虚拟机资源获取调整后的虚拟机资源,包括:

若所述预分配的虚拟机资源对应的设备评估系数值之和小于所述伸展需求量,则继续向所述云资源管理器申请至少一个虚拟机;

接收所述云资源管理器返回的再分配的虚拟机资源;

获取调整后的虚拟机资源,所述调整后的虚拟机资源包括所述预分配的虚拟机资源和所述再分配的虚拟机资源;

其中,所述调整后的虚拟机资源对应的设备评估系数值之和与所述伸展需求量的差值小于资源偏差系数值。

结合第三方面,在第三方面的第二种可能的实现方式中,所述资源管理模块用于调整所述预分配的虚拟机资源获取调整后的虚拟机资源,包括:

若所述预分配的虚拟机资源对应的设备评估系数值之和大于所述伸展需求量,则在所述预分配的虚拟机资源中获取调整后的虚拟机资源和预释放的虚拟机资源,其中,所述调整后的虚拟机资源对应的设备评估系数值之和与所述伸展需求量的差值小于资源偏差系数值;

向所述云资源管理器申请释放所述预释放的虚拟机资源。

结合第三方面的上述任意一种可能的实现方式,在第三方面的第三种可能的实现方式中,所述资源评估模块还用于:

获取参照物理设备的评估值和各待评估物理设备的评估值;

分别将各待评估物理设备的评估值与所述参照物理设备的评估值的比值作为所述待评估物理设备的设备型号对应的设备评估系数值;

建立所述预设的设备评估系数集合,所述预设的设备评估系数集合中的多个物理设备的设备型号包括所述参照物理设备的设备型号和各待评估物理设备的设备型号;所述预设的设备评估系数集合中的设备型号对应的设备评估系数值包括所述参照物理设备的设备型号对应的设备评估系数值和所述待评估物理设备的设备型号对应的设备评估系数值;

其中,所述参照物理设备的设备型号对应的设备评估系数值为1。

结合第三方面,在第三方面的第四种可能的实现方式中,所述资源管理模块还用于:当所述预分配的虚拟机资源对应的设备评估系数值之和与所述伸展需求量的差值的绝对值小于资源偏差系数值时,通过所述资源部署模块 在所述预分配的虚拟机资源上部署所述应用。

第四方面,本发明实施例提供一种控制装置,包括:

资源评估模块,用于获取应用的虚拟机资源;

所述资源评估模块,还用于根据预设的设备评估系数集合和所述虚拟机资源所在物理设备的设备型号获取所述虚拟机资源对应的设备评估系数值;

所述资源评估模块,还用于在所述虚拟机资源中选取待收缩的虚拟机资源,所述待收缩的虚拟机资源对应的设备评估系数值之和与收缩需求量的差值的绝对值小于资源偏差系数值;

资源管理模块,用于向云资源管理器申请释放所述待收缩的虚拟机资源。

结合第四方面,在第四方面的第一种可能的实现方式中,所述资源评估模块还用于:

获取参照物理设备的评估值和各待评估物理设备的评估值;

分别将各待评估物理设备的评估值与所述参照物理设备的评估值的比值作为所述待评估物理设备的设备型号对应的设备评估系数值;

建立所述预设的设备评估系数集合,所述预设的设备评估系数集合中的多个物理设备的设备型号包括所述参照物理设备的设备型号和各待评估物理设备的设备型号;所述预设的设备评估系数集合中的设备型号对应的设备评估系数值包括所述参照物理设备的设备型号对应的设备评估系数值和所述待评估物理设备的设备型号对应的设备评估系数值;

其中,所述参照物理设备的设备型号对应的设备评估系数值为1。

第五方面,本发明实施例提供一种控制装置,所述控制装置包括存储器、总线系统和至少一个处理器,所述存储器和至少一个处理器通过所述总线系统相连;

所述存储器中存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述控制装置执行时使所述控制装置执行如第一方面、第一方面的任意一种可能的实现方式或第二方面、第二方面的任意一种可能的实现方式的资源调整方法。

第六方面,本发明实施例提供一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当被控制装置执行时使所述控制装置执行如第一方面、第一方面的任意一种可能的实现方式或第二方 面、第二方面的任意一种可能的实现方式的资源调整方法。

本发明实施例资源调整方法和装置,通过根据预设的设备评估系数集合和云资源管理器预分配的虚拟机资源所在物理设备的设备型号获取预分配的虚拟机资源对应的设备评估系数值,进而判断预分配的虚拟机资源对应的设备评估系数之和与伸展需求量的差值的绝对值是否小于资源偏差系数值,若不小于,则调整预分配的虚拟机资源获取调整后的虚拟机资源,并在调整后的虚拟机资源上部署应用,从而实现在弹性伸展过程中,使得伸展的虚拟机资源的偏差在可以控制的范围内,有效完成应用的资源的定量扩容。

附图说明

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

图1为本发明资源调整方法的实施场景示意图;

图2为本发明弹性伸缩处理过程示意图;

图3为本发明实施例一种资源调整方法的流程图;

图4为本发明实施例另一种资源调整方法的流程图;

图5为本发明实施例又一种资源调整方法的流程图;

图6为本发明实施例资源调整方法中预设的设备评估系数集合获取方法的流程图;

图7为本发明实施例一种控制装置的结构示意图;

图8为本发明实施例一种控制装置的结构示意图;

图9为本发明实施例一种控制装置的结构示意图;

图10为本发明实施例一种控制装置的结构示意图。

具体实施方式

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

图1为本发明资源调整方法的实施场景示意图,图2为本发明弹性伸缩处理过程示意图。如图1所示,本发明资源调整方法适用于云计算系统,云计算系统的用户是应用的开发者,开发者将开发的应用部署到云计算系统,云计算系统为应用提供运行环境和资源,例如实例、内存等,并且支持应用的多实例部署,以支持高并发的外部用户访问。本发明资源调整方法的实施场景中具体可以包括应用101、控制器102、云资源管理器103以及硬件资源层104中的物理设备,物理设备包括计算设备1041、网络设备1042以及存储设备1043等,其中,控制器102属于云计算系统中的平台即服务层(platformasaservice,简称paas),云资源管理器103和硬件资源层104中的物理设备属于云计算系统中的基础设施即服务层(infrastructureasaservice,简称iaas)。该实施场景中可以有多个应用101,每个应用用于承载一种业务,以实现相应的业务功能,iaas是利用硬件资源层中的物理设备为应用101提供所有计算基础设施的一种服务,该计算基础设施具体可以包括cpu、内存、存储、网络、操作系统和其他基本的计算资源等。具体的,控制器102可以采集应用101的资源使用情况,根据应用101的资源使用情况和弹性伸缩策略判断是否满足伸缩条件,若满足伸展条件,则控制器102可以向云资源管理器103申请资源,该资源可以是计算资源、存储资源或网络资源,并在新申请的资源上部署该应用101的实例,并启动该实例,而若满足收缩条件,则控制器102对应用101的实例进行收缩,具体的,选取收缩的实例,卸载该实例,并释放该实例的资源。具体的,资源伸缩示意图可以参见图2,如图2所示,弹性伸缩策略具体可以是,收缩策略:cpu使用率小于20%,伸展策略:cpu使用率大于80%。具体的,当控制器102采集获取到应用1的cpu使用率<20%时,则对应用1执行收缩操作,即选择需要收缩的实例,这里以实例4做举例说明,即卸载实例4,并释放实例4的资源。当控制器102采集获取到应用2的cpu使用率>80%时,则对应用2执行伸展操作,即控制器102可以向paas申请资源,并在新申请的资源上部署该应用的实例4,并启动该实例4。本发明资源调整方法的具体实现方式将在下述实施例中进行详细解释说明。

图3为本发明实施例一种资源调整方法的流程图,本实施例的方法涉及图1中的控制器102和云资源管理器103,如图3所示,本实施例的方法可以包括:

步骤101、控制器根据伸展需求量向云资源管理器申请至少一个虚拟机。

其中,伸展需求量可以是一个预设定值s,s可以是任意自然数,具体设置的大小可以根据需求进行灵活设置。

步骤102、云资源管理器向控制器返回预分配的虚拟机资源。

具体的,云资源管理器根据步骤101中控制器的虚拟机需求,从硬件资源层104中选择可用的物理设备分配给控制器作为预分配的虚拟机资源。

步骤103、控制器根据预设的设备评估系数集合和所述预分配的虚拟机资源所在物理设备的设备型号获取所述预分配的虚拟机资源对应的设备评估系数值。

其中,虚拟机资源对应的设备评估系数值用于反映虚拟机在不同物理设备上的计算能力的差异。相同规格(cpu核数、内存大小、存储大小以及网络配置等)的虚拟机在不同的物理设备上(宿主机),其计算能力是存在差异的,而虚拟机资源对应的设备评估系数值即用于反应该差异。

步骤104、控制器判断所述预分配的虚拟机资源对应的设备评估系数值之和与所述伸展需求量的差值的绝对值是否小于资源偏差系数值。

其中,资源偏差系数值可以根据需求进行灵活设置。相应的,若虚拟机资源对应的设备评估系数值为λn,伸展需求量为s,资源偏差系数值为δt,那么步骤104即为判断|s-∑λk|与δt的大小,其中∑λk即为s个虚拟机资源中各个虚拟机资源对应的设备评估系数值之和。其中,δt的大小可以根据精度需求进行灵活设置,例如可以设置δt为0.5。

步骤105、若所述预分配的虚拟机资源对应的设备评估系数值之和与所述伸展需求量的差值的绝对值大于资源偏差系数值,则控制器调整所述预分配的虚拟机资源获取调整后的虚拟机资源,并在调整后的虚拟机资源上部署所述应用。

其中,一个虚拟机资源上可以部署应用的一个实例,一个应用可以有多个实例,即通过多个实例来完成一种业务功能,一个物理设备可以有多个虚拟机,虚拟机资源即指在一种物理设备上的一种规格的一个虚拟机。

其中,所述预设的设备评估系数集合包括多个物理设备的设备型号,和与其对应的设备评估系数值。

可选的,步骤105中的所述调整所述预分配的虚拟机资源获取调整后的虚拟机资源,具体可以为:若所述预分配的虚拟机资源对应的设备评估系数值之和小于所述伸展需求量,则控制器继续向所述云资源管理器申请至少一个虚拟机;云资源管理器向控制器返回的再分配的虚拟机资源;控制器获取调整后的虚拟机资源,所述调整后的虚拟机资源包括所述预分配的虚拟机资源和所述再分配的虚拟机资源;其中,所述调整后的虚拟机资源对应的设备评估系数值之和与所述伸展需求量的差值小于资源偏差系数值。

可选的,步骤105中的所述调整所述预分配的虚拟机资源获取调整后的虚拟机资源,具体可以为:若所述预分配的虚拟机资源对应的设备评估系数值之和大于所述伸展需求量,则控制器在所述预分配的虚拟机资源中获取调整后的虚拟机资源和预释放的虚拟机资源,其中,所述调整后的虚拟机资源对应的设备评估系数值之和与所述伸展需求量的差值小于资源偏差系数值;控制器向所述云资源管理器申请释放所述预释放的虚拟机资源。

可选的,控制器可以建立预设的设备评估系数集合,具体的,控制器可以获取参照物理设备的评估值和各待评估物理设备的评估值;分别将各待评估物理设备的评估值与所述参照物理设备的评估值的比值作为所述待评估物理设备的设备型号对应的设备评估系数值;建立所述预设的设备评估系数集合,所述预设的设备评估系数集合中的多个物理设备的设备型号包括所述参照物理设备的设备型号和各待评估物理设备的设备型号;所述预设的设备评估系数集合中的设备型号对应的设备评估系数值包括所述参照物理设备的设备型号对应的设备评估系数值和所述待评估物理设备的设备型号对应的设备评估系数值;其中,所述参照物理设备的设备型号对应的设备评估系数值为1。

在步骤104之后,另一种可实现的方式,若所述预分配的虚拟机资源对应的设备评估系数值之和与所述伸展需求量的差值的绝对值小于资源偏差系数值,则控制器在所述预分配的虚拟机资源上部署所述应用。

可选的,在步骤101之前,本实施的方法还可以包括:控制器采集所述应用的资源使用信息,所述应用的资源使用信息包括中央处理器(central processingunit,简称cpu)使用率、内存使用率和存储空间使用率中至少一项;控制器根据所述应用的资源使用信息和弹性伸展策略判断是否进行弹性伸展;若是,则执行步骤101至步骤104。

本实施例,通过根据预设的设备评估系数集合和云资源管理器预分配的虚拟机资源所在物理设备的设备型号获取预分配的虚拟机资源对应的设备评估系数值,进而判断预分配的虚拟机资源对应的设备评估系数之和与伸展需求量的差值的绝对值是否小于资源偏差系数值,若不小于,则调整预分配的虚拟机资源获取调整后的虚拟机资源,并在调整后的虚拟机资源上部署应用,从而实现在弹性伸展过程中,使得伸展的虚拟机资源的偏差在可以控制的范围内,有效完成应用的资源的定量扩容。

图4为本发明实施例另一种资源调整方法的流程图,本实施例的方法涉及图1中的控制器102、云资源管理器103以及应用101,如图4所示,本实施例的方法可以包括:

步骤201、控制器采集应用的资源使用信息。

其中,应用的资源使用信息包括cpu使用率、内存使用率和存储空间使用率中至少一项。

步骤202、控制器根据应用的资源使用信息和弹性伸展策略判断是否进行弹性伸展。

具体的,弹性伸展策略具体可以是cpu使用率>80%,那么如果当前应用的cpu使用率为82%,即满足弹性伸展条件。当通过步骤202确定需要进行弹性伸展时,则执行步骤203,否则返回步骤201。

步骤203、控制器根据伸展需求量向云资源管理器申请至少一个虚拟机。

具体的,在需要进行弹性伸展时,控制器可以根据伸展需求量向云资源管理器申请一批新的虚拟机。

需要说明是,对于伸展需求量,具体如何设置可以根据需求进行灵活设置。即控制器在确定需要进行弹性伸展时,可以获取该伸展需求量,该伸展需求量可以设置为一个定值,只要需要进行弹性伸展,都按照该伸展需求量向云资源管理器申请虚拟机,申请的虚拟机的个数可以为该伸展需求量,当然,也可以灵活设置不同的伸展需求量,此处不一一举例说明。

步骤204、云资源管理器向控制器返回预分配的虚拟机资源。

具体的,云资源管理器可以从硬件资源层中选取可用的物理设备作为控制器申请的虚拟机的宿主机,预分配的虚拟机资源具体可以是宿主机a上的虚拟机1和虚拟机2,宿主机b上的虚拟机3等,虚拟机1、虚拟机2和虚拟机3可以是相同规格的虚拟机,宿主机a和宿主机b可以是相同型号的物理设备,当然也可以是不同型号的物理设备,其中,预分配的虚拟机资源的个数可以与伸展需求量相同个数。

在获取到云资源管理器初次预分配的虚拟机资源后,控制器可以利用本发明实施例的下述步骤对上述预分配的虚拟机资源进行评估,从而可以有效控制伸展过程中以伸展需求量进行伸展,有效达到伸展目标。

步骤205、控制器根据预设的设备评估系数集合和预分配的虚拟机资源所在物理设备的设备型号获取预分配的虚拟机资源对应的设备评估系数值。

步骤206、控制器判断预分配的虚拟机资源对应的设备评估系数值之和与伸展需求量的差值的绝对值是否小于资源偏差系数值。若否,则执行步骤207,若是,则执行步骤208。

步骤207、控制器调整预分配的虚拟机资源获取调整后的虚拟机资源,并在调整后的虚拟机资源上部署所述应用。

具体的,在步骤204中的预分配的虚拟机资源不能满足伸展需求量时,控制器可以再向控制器申请虚拟机,直至云资源管理器给控制器分配的虚拟机资源满足该伸展需求量,或者,在步骤204中的预分配的虚拟机资源超出了伸展需求量,则控制器可以向云资源管理器请求释放部分虚拟机资源。

步骤208、在虚拟机资源上部署应用。

具体的,如果执行步骤206后直接执行步骤208,则在预分配的虚拟机资源上部署应用,并启动该应用的实例,而如果执行步骤207后执行步骤208,则在调整后的虚拟机资源上部署应用,并启动该应用的实例。

本实施例,通过控制器采集应用的资源使用信息,根据应用的资源使用信息触发向云资源管理器申请虚拟机,控制器根据预设的设备评估系数集合和云资源管理器预分配的虚拟机资源所在物理设备的设备型号获取预分配的虚拟机资源对应的设备评估系数值,进而判断预分配的虚拟机资源对应的设备评估系数之和与伸展需求量的差值的绝对值是否小于资源偏差系数值,若不小于,则调整预分配的虚拟机资源获取调整后的虚拟机资源,并在调整后 的虚拟机资源上部署应用,否则之间在预分配的虚拟机资源上部署应用,从而实现在弹性伸展过程中,使得伸展的虚拟机资源的偏差在可以控制的范围内,减少因资源配置不均对应用的计算能力的影响。

需要解释说明的是,利用本发明上述方法进行伸展处理时,由于新增加的虚拟机对于应用的计算能力相当,所以利用本发明上述方法进行伸展处理,可以保证按照预期的伸展需求量进行资源扩展。综上,即利用本发明实施例的上述方法可以有效完成应用的资源的定量扩容。

图5为本发明实施例又一种资源调整方法的流程图,本实施例的方法涉及图1中的控制器102和云资源管理器103,如图5所示,本实施例的方法可以包括:

步骤301、控制器获取应用的虚拟机资源。

步骤302、控制器根据预设的设备评估系数集合和所述虚拟机资源所在物理设备的设备型号获取所述虚拟机资源对应的设备评估系数值。

步骤303、控制器在所述虚拟机资源中选取待收缩的虚拟机资源,所述待收缩的虚拟机资源对应的设备评估系数值之和与收缩需求量的差值的绝对值小于资源偏差系数值。

步骤304、控制器向云资源管理器申请释放所述待收缩的虚拟机资源。

可选的,所述根据预设的设备评估系数集合和所述虚拟机资源所在物理设备的设备型号获取所述虚拟机资源对应的设备评估系数值,之前,所述方法还可以包括:获取参照物理设备的评估值和各待评估物理设备的评估值;分别将各待评估物理设备的评估值与所述参照物理设备的评估值的比值作为所述待评估物理设备的设备型号对应的设备评估系数值;建立所述预设的设备评估系数集合,所述预设的设备评估系数集合中的多个物理设备的设备型号包括所述参照物理设备的设备型号和各待评估物理设备的设备型号;所述预设的设备评估系数集合中的设备型号对应的设备评估系数值包括所述参照物理设备的设备型号对应的设备评估系数值和所述待评估物理设备的设备型号对应的设备评估系数值;其中,所述参照物理设备的设备型号对应的设备评估系数值为1。

可选的,所述根据预设的设备评估系数集合和所述虚拟机资源所在物理设备的设备型号获取所述虚拟机资源对应的设备评估系数值,之前,所述方 法还可以包括:采集所述应用的资源使用信息,所述应用的资源使用信息包括中央处理器cpu使用率、内存使用率和存储空间使用率中至少一项;根据所述应用的资源使用信息和弹性收缩策略判断是否进行弹性伸展;若是,则执行所述根据预设的设备评估系数集合和所述虚拟机资源所在物理设备的设备型号获取所述虚拟机资源对应的设备评估系数值的步骤。

本实施例,进行应用的资源弹性收缩过程中,通过根据预设的设备评估系数集合和虚拟机资源所在物理设备的设备型号获取虚拟机资源对应的设备评估系数值,进而在虚拟机资源中选取待收缩的虚拟机资源,待收缩的虚拟机资源对应的设备评估系数值之和与收缩需求量的差值的绝对值小于资源偏差系数值,向云资源管理器申请释放所述待收缩的虚拟机资源,从而实现在弹性收缩过程中,使得收缩的虚拟机资源的偏差在可以控制的范围内,可以按照预期收缩需求量进行收缩处理,有效完成应用的资源的定量缩容。

下面以一个具体的实施例对预设的设备评估系数集合的建立进行具体说明,该预设的设备评估系数集合可以适用于上述任意一个实施例。

图6为本发明实施例资源调整方法中预设的设备评估系数集合获取方法的流程图,如图6所示,本实施例的方法可以包括:

s401:应用选择一个通用物理设备,作为参照物理设备。

s402:应用获取一个的资源评估用例。

s403:控制器在参照物理设备上创建标准规格的虚拟机,并部署应用。

s404:应用利用参照物理设备上的虚拟机执行资源评估用例,获取所述参照物理设备的评估值d0,并将所述参照物理设备的评估值d0发送给控制器。

s405:控制器在硬件资源层中的其他设备型号的待评估物理设备上创建标准规格的虚拟机,并部署应用。

s406:应用分别利用各待评估物理设备上虚拟机执行资源评估用例,获取各待评估物理设备的评估值dn,将各待评估物理设备的评估值dn发送给控制器。

s407:控制器使用各待评估物理设备的评估值与参照物理设备的评估值求比值获取各待评估物理设备的设备型号对应的设备评估系数值。

具体的,该设备评估系数值可以表示为λn=dn/d0。

s408:控制器根据物理设备的设备型号和各物理设备的设备型号对应的设备评估系数值建立预设的设备评估系数集合。

本实施例,通过控制器在参照物理设备和其他待评估物理设备上分别创建标准规格的虚拟机,并在该虚拟机上部署应用以及通过应用执行资源评估用例,从而获取各种设备型号的待评估物理设备的评估值,将各待评估物理设备的评估值与参照物理设备的评估值进行比值运算获取待评估物理设备的设备评估系数值,由此,建立设备评估系数集合,设备评估系数值可以有效反映待评估物理设备与参照物理设备的差异。利用本发明实施例的方法建立的设备评估系数集合可以应用于上述图2至图4任意一个实施例中,以实现在弹性伸展或收缩过程中,使得伸展或收缩的资源的偏差在可以控制的范围内,有效完成应用的资源的定量扩容或缩容。

图7为本发明实施例一种控制装置的结构示意图,如图7所示,本实施例的装置可以包括:资源管理模块11、资源评估模块12和资源部署模块13,其中,资源管理模块11用于根据应用的伸展需求量向云资源管理器申请至少一个虚拟机,资源管理模块11,还用于接收所述云资源管理器返回的预分配的虚拟机资源,资源评估模块12用于根据预设的设备评估系数集合和所述预分配的虚拟机资源所在物理设备的设备型号获取所述预分配的虚拟机资源对应的设备评估系数值,所述资源评估模块12还用于判断所述预分配的虚拟机资源对应的设备评估系数值之和与所述伸展需求量的差值的绝对值是否小于资源偏差系数值,所述资源管理模块11,还用于当所述预分配的虚拟机资源对应的设备评估系数值之和与所述伸展需求量的差值的绝对值大于资源偏差系数值时,调整所述预分配的虚拟机资源获取调整后的虚拟机资源,资源部署模块13用于,在调整后的虚拟机资源上部署所述应用,其中,所述预设的设备评估系数集合包括多个物理设备的设备型号,和所述设备型号对应的设备评估系数值。

可选的,所述资源管理模块11用于调整所述预分配的虚拟机资源获取调整后的虚拟机资源,包括:若所述预分配的虚拟机资源对应的设备评估系数值之和小于所述伸展需求量,则继续向所述云资源管理器申请至少一个虚拟机;接收所述云资源管理器返回的再分配的虚拟机资源;获取调整后的虚拟机资源,所述调整后的虚拟机资源包括所述预分配的虚拟机资源和所述再分 配的虚拟机资源;其中,所述调整后的虚拟机资源对应的设备评估系数值之和与所述伸展需求量的差值小于资源偏差系数值。

可选的,所述资源管理模块11用于调整所述预分配的虚拟机资源获取调整后的虚拟机资源,包括:若所述预分配的虚拟机资源对应的设备评估系数值之和大于所述伸展需求量,则在所述预分配的虚拟机资源中获取调整后的虚拟机资源和预释放的虚拟机资源,其中,所述调整后的虚拟机资源对应的设备评估系数值之和与所述伸展需求量的差值小于资源偏差系数值;向所述云资源管理器申请释放所述预释放的虚拟机资源。

可选的,所述资源评估模块12还用于:获取参照物理设备的评估值和各待评估物理设备的评估值;分别将各待评估物理设备的评估值与所述参照物理设备的评估值的比值作为所述待评估物理设备的设备型号对应的设备评估系数值;建立所述预设的设备评估系数集合,所述预设的设备评估系数集合中的多个物理设备的设备型号包括所述参照物理设备的设备型号和各待评估物理设备的设备型号;所述预设的设备评估系数集合中的设备型号对应的设备评估系数值包括所述参照物理设备的设备型号对应的设备评估系数值和所述待评估物理设备的设备型号对应的设备评估系数值;其中,所述参照物理设备的设备型号对应的设备评估系数值为1。

可选的,所述资源管理模块11还用于:当所述预分配的虚拟机资源对应的设备评估系数值之和与所述伸展需求量的差值的绝对值小于资源偏差系数值时,通过所述资源部署模块在所述预分配的虚拟机资源上部署所述应用。

可选的,所述控制装置还包括资源采集模块14,所述资源采集模块14用于采集所述应用的资源使用信息,所述应用的资源使用信息包括中央处理器cpu使用率、内存使用率和存储空间使用率中至少一项;根据所述应用的资源使用信息和弹性伸展策略判断是否进行弹性伸展;若是,则通过资源评估模块执行所述根据应用的伸展需求量向云资源管理器申请至少一个虚拟机的步骤。

本实施例的装置,可以用于执行图3和图4所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图8为本发明实施例一种控制装置的结构示意图,如图8所示,本实施例的装置可以包括:资源管理模块21、资源评估模块22,其中,资源评估模 块22,用于获取应用的虚拟机资源;所述资源评估模块22,还用于根据预设的设备评估系数集合和所述虚拟机资源所在物理设备的设备型号获取所述虚拟机资源对应的设备评估系数值;所述资源评估模块22,还用于在所述虚拟机资源中选取待收缩的虚拟机资源,所述待收缩的虚拟机资源对应的设备评估系数值之和与收缩需求量的差值的绝对值小于资源偏差系数值;资源管理模块21,用于向云资源管理器申请释放所述待收缩的虚拟机资源。

可选的,所述资源评估模块22还用于:获取参照物理设备的评估值和各待评估物理设备的评估值;分别将各待评估物理设备的评估值与所述参照物理设备的评估值的比值作为所述待评估物理设备的设备型号对应的设备评估系数值;建立所述预设的设备评估系数集合,所述预设的设备评估系数集合中的多个物理设备的设备型号包括所述参照物理设备的设备型号和各待评估物理设备的设备型号;所述预设的设备评估系数集合中的设备型号对应的设备评估系数值包括所述参照物理设备的设备型号对应的设备评估系数值和所述待评估物理设备的设备型号对应的设备评估系数值;其中,所述参照物理设备的设备型号对应的设备评估系数值为1。

可选的,所述装置还包括资源采集模块23,用于:采集所述应用的资源使用信息,所述应用的资源使用信息包括中央处理器cpu使用率、内存使用率和存储空间使用率中至少一项;根据所述应用的资源使用信息和弹性收缩策略判断是否进行弹性伸展;若是,则通过资源评估模块执行所述根据预设的设备评估系数集合和所述虚拟机资源所在物理设备的设备型号获取所述虚拟机资源对应的设备评估系数值的步骤。

本实施例的装置,可以用于执行图5所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图9为本发明实施例一种控制装置的结构示意图,如图9所示,本实施例的控制装置可以包括:总线系统701,以及连接到总线系统701的至少一个处理器702和存储器703。其中,总线系统701用于实现各装置之间的连接通信。处理器702可以是一个中央处理器(centralprocessingunit,cpu),或者是特定集成电路(applicationspecificintegratedcircuit,asic),或者完成实施本发明实施例的一个或多个集成电路,或者是一个片上系统(systemonchip,简称,soc)。存储器703中存储一个或多个程序,所述一个或多个程 序包括指令,所述指令当被控制装置执行时所述控制装置执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。可选的,本实施例的控制装置还可以包括收发器704,处理器702可以调用存储器703的指令代码,控制本发明实施例中的收发器704与其他设备进行信息交互。

作为一种实现方式资源管理模块11、资源评估模块12和资源部署模块13可以与控制装置的处理器702对应。

作为一种实现方式,本发明实施例中的资源采集模块14可以理解为检测器。

图10为本发明实施例一种控制装置的结构示意图,如图10所示,本实施例的控制装置可以包括:总线系统801,以及连接到总线系统801的至少一个处理器802和存储器803。其中,总线系统801用于实现各装置之间的连接通信。处理器802可以是一个中央处理器(centralprocessingunit,cpu),或者是特定集成电路(applicationspecificintegratedcircuit,asic),或者完成实施本发明实施例的一个或多个集成电路,或者是一个片上系统(systemonchip,简称,soc)。存储器803中存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被控制装置执行时所述控制装置执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。可选的,本实施例的控制装置还可以包括收发器804,处理器802可以调用存储器803的指令代码,控制本发明实施例中的收发器804与其他设备进行信息交互。

作为一种实现方式资源管理模块21、资源评估模块22可以与控制装置的处理器802对应。

作为一种实现方式,本发明实施例中的资源采集模块23可以理解为检测器。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通 技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1