CN112433858A - 一种负载分配方法、装置、设备及可读存储介质 - Google Patents
一种负载分配方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN112433858A CN112433858A CN202011502312.4A CN202011502312A CN112433858A CN 112433858 A CN112433858 A CN 112433858A CN 202011502312 A CN202011502312 A CN 202011502312A CN 112433858 A CN112433858 A CN 112433858A
- Authority
- CN
- China
- Prior art keywords
- host
- physical host
- physical
- cloud
- load
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000013508 migration Methods 0.000 claims description 79
- 230000005012 migration Effects 0.000 claims description 79
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 6
- 239000002699 waste material Substances 0.000 abstract description 10
- 230000000694 effects Effects 0.000 abstract description 2
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种负载分配方法、装置、设备及可读存储介质。本申请在获取到云平台中每个云主机的资源利用指标值后,利用资源利用指标值计算每个物理主机的实际负载值,然后将实际负载值超过预设负载阈值的第一物理主机中的目标云主机迁移至第二物理主机,并保障第二物理主机不超载;进而将实际负载值最小、且不超过预设负载阈值的第三物理主机中的对象云主机迁移至第四物理主机,并保障第四物理主机不超载。可见,本申请能够同时实现负载均衡和负载集中,在业务负载较低时,可以释放空闲物理主机,提高物理主机的资源利用率,避免了资源的浪费。相应地,本申请提供的一种负载分配装置、设备及可读存储介质,也同样具有上述技术效果。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种负载分配方法、装置、设备及可读存储介质。
背景技术
云平台中的各个物理主机上的负载(通常以CPU和内存的使用情况来衡量)是不均衡的,有的物理主机负载非常高,有的物理主机负载非常低。一般云平台会对物理主机的负载进行监控,并根据监控结果实现云主机在物理主机上的重新分布,从而实现负载均衡。
负载均衡可以使云主机较均匀地分布到云平台中的物理主机上。但在所有物理主机的负载均不高的情况下进行负载均衡,可能出现每个物理主机上只运行几个云主机,也就是每个物理主机上都有较多的剩余资源未使用,因此容易导致资源浪费。
因此,在保障云主机正常运行的情况下,如何提高物理主机的资源利用率,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种负载分配方法、装置、设备及可读存储介质,以实现在保障云主机正常运行的情况下,提高物理主机的资源利用率。其具体方案如下:
第一方面,本申请提供了一种负载分配方法,包括:
获取云平台中每个云主机的资源利用指标值;
利用所述资源利用指标值计算每个物理主机的实际负载值;
将第一物理主机中的目标云主机迁移至第二物理主机;所述目标云主机迁移至所述第二物理主机前,所述第一物理主机的所述实际负载值超过预设负载阈值;所述目标云主机迁移至所述第二物理主机后,所述第二物理主机的所述实际负载值未超过所述预设负载阈值;
将第三物理主机中的对象云主机迁移至第四物理主机;所述对象云主机迁移至所述第四物理主机前,所述第三物理主机的所述实际负载值最小、且未超过所述预设负载阈值;所述对象云主机迁移至所述第四物理主机后,所述第四物理主机的所述实际负载值未超过所述预设负载阈值。
优选地,所述将第一物理主机中的目标云主机迁移至第二物理主机,包括:
在所述第一物理主机中选择资源利用指标值最小的目标云主机,并模拟迁移所述目标云主机至所述第二物理主机;
若模拟迁移所述目标云主机至所述第二物理主机后,所述第二物理主机的预期负载值未超过所述预设负载阈值,则将所述目标云主机添加至迁移队列,并按照所述迁移队列将所述目标云主机迁移至所述第二物理主机;
若模拟迁移所述目标云主机至所述第二物理主机后,所述第二物理主机的预期负载值超过所述预设负载阈值,则不迁移所述目标云主机。
优选地,所述将第三物理主机中的对象云主机迁移至第四物理主机,包括:
在所述第三物理主机中选择资源利用指标值最大的对象云主机,并模拟迁移所述对象云主机至所述第四物理主机;
若模拟迁移所述对象云主机至所述第四物理主机后,所述第四物理主机的预期负载值未超过所述预设负载阈值,则将所述对象云主机添加至迁移队列,并按照所述迁移队列将所述对象云主机迁移至所述第四物理主机;
若模拟迁移所述对象云主机至所述第四物理主机后,所述第四物理主机的预期负载值超过所述预设负载阈值,则不迁移所述对象云主机。
优选地,若所述迁移队列中的待迁移云主机对应多条迁移路径,则从所述多条迁移路径中选择最短迁移路径进行所述待迁移云主机的迁移。
优选地,所述资源利用指标值为CPU利用率和/或内存利用率。
优选地,所述利用所述资源利用指标值计算每个物理主机的实际负载值,包括:
按照目标公式计算每个物理主机的实际负载值,所述目标公式为:
其中,Wj为物理主机j的实际负载值,Si为物理主机j中的云主机i的资源利用指标值,ni为云主机i的资源指标量,m为物理主机j的总资源指标量,t为物理主机j中的云主机数量。
第二方面,本申请提供了一种负载分配装置,包括:
获取模块,用于获取云平台中每个云主机的资源利用指标值;
计算模块,用于利用所述资源利用指标值计算每个物理主机的实际负载值;
第一迁移模块,用于将第一物理主机中的目标云主机迁移至第二物理主机;所述目标云主机迁移至所述第二物理主机前,所述第一物理主机的所述实际负载值超过预设负载阈值;所述目标云主机迁移至所述第二物理主机后,所述第二物理主机的所述实际负载值未超过所述预设负载阈值;
第二迁移模块,用于将第三物理主机中的对象云主机迁移至第四物理主机;所述对象云主机迁移至所述第四物理主机前,所述第三物理主机的所述实际负载值最小、且未超过所述预设负载阈值;所述对象云主机迁移至所述第四物理主机后,所述第四物理主机的所述实际负载值未超过所述预设负载阈值。
第三方面,本申请提供了一种负载分配设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的负载分配方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的负载分配方法。
通过以上方案可知,本申请提供了一种负载分配方法,包括:获取云平台中每个云主机的资源利用指标值;利用所述资源利用指标值计算每个物理主机的实际负载值;将第一物理主机中的目标云主机迁移至第二物理主机;所述目标云主机迁移至所述第二物理主机前,所述第一物理主机的所述实际负载值超过预设负载阈值;所述目标云主机迁移至所述第二物理主机后,所述第二物理主机的所述实际负载值未超过所述预设负载阈值;将第三物理主机中的对象云主机迁移至第四物理主机;所述对象云主机迁移至所述第四物理主机前,所述第三物理主机的所述实际负载值最小、且未超过所述预设负载阈值;所述对象云主机迁移至所述第四物理主机后,所述第四物理主机的所述实际负载值未超过所述预设负载阈值。
可见,本申请在获取到云平台中每个云主机的资源利用指标值后,利用资源利用指标值计算每个物理主机的实际负载值,然后将实际负载值超过预设负载阈值的第一物理主机中的目标云主机迁移至第二物理主机,并在目标云主机迁移至第二物理主机后,使得第二物理主机的实际负载值不超过预设负载阈值;进而将实际负载值最小、且不超过预设负载阈值的第三物理主机中的对象云主机迁移至第四物理主机,并在对象云主机迁移至第四物理主机后,使得第四物理主机的实际负载值不超过预设负载阈值。本申请首先使得云平台中的各个物理主机的实际负载值均不超过预设负载阈值,从而保障各个物理主机上的云主机的正常运行;同时,将实际负载值最小、且不超过预设负载阈值的第三物理主机中的对象云主机迁出,并保障接收对象云主机的第四物理主机不会超载,从而实现其他物理主机分担第三物理主机的负载,理想情况下,第三物理主机上会没有云主机,从而释放第三物理主机资源,避免资源浪费,还实现了负载集中。本申请能够同时实现负载均衡和负载集中,在业务负载较低时,可以释放空闲物理主机,提高物理主机的资源利用率,避免了资源的浪费。
相应地,本申请提供的一种负载分配装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种负载分配方法流程图;
图2为本申请公开的一种负载分配方案示意图;
图3为本申请公开的一种负载集中方法流程图;
图4为本申请公开的一种负载分配装置示意图;
图5为本申请公开的一种负载分配设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,在所有物理主机的负载均不高的情况下进行负载均衡,可能出现每个物理主机上只运行几个云主机,也就是每个物理主机上都有较多的剩余资源未使用,因此容易导致资源浪费。为此,本申请提供了一种负载分配方案,能够提高物理主机的资源利用率,避免资源浪费。
参见图1所示,本申请实施例公开了一种负载分配方法,包括:
S101、获取云平台中每个云主机的资源利用指标值。
云平台中的所有云主机分布在相应物理主机上,一个物理主机上运行至少一个云主机。支撑云平台的物理主机的数量可基于实际需求进行设定。
需要说明的是,资源利用指标值可以为CPU利用率和/或内存利用率。
若资源利用指标值为CPU利用率和内存利用率,则云主机的资源利用指标值可以按照预设权重值处理CPU利用率和内存利用率得到。例如:CPU利用率和内存利用率对应的预设权重值均为0.5,那么资源利用指标值=CPU利用率×0.5+内存利用率×0.5。CPU利用率和内存利用率分别对应的预设权重值之和为1,预设权重值越大,表明其对应的指标值(CPU利用率和/或内存利用率)对资源利用指标值的影响越大。
S102、利用资源利用指标值计算每个物理主机的实际负载值。
在一种具体实施方式中,利用资源利用指标值计算每个物理主机的实际负载值,包括:按照目标公式计算每个物理主机的实际负载值,目标公式为:
其中,Wj为物理主机j的实际负载值,Si为物理主机j中的云主机i的资源利用指标值,ni为云主机i的资源指标量(如:如虚拟CPU个数或内存量),m为物理主机j的总资源指标量(如总虚拟CPU个数或总内存量),t为物理主机j中的云主机数量。
若资源利用指标值为CPU利用率和内存利用率,则物理主机的实际负载值也需要按照预设权重值处理得到。假设云主机的CPU利用率和内存利用率对应的预设权重值均为0.5,那么其资源利用指标值=CPU利用率×0.5+内存利用率×0.5。相应的物理主机的实际负载值=第一负载值×0.5+第二负载值×0.5。此过程中预设权重值应保持不变。
其中,第一负载值是云主机的资源利用指标值为CPU利用率的情况下,计算得到的物理主机负载值。第二负载值是云主机的资源利用指标值为内存利用率的情况下,计算得到的物理主机负载值。
S103、将第一物理主机中的目标云主机迁移至第二物理主机。
其中,目标云主机迁移至第二物理主机前,第一物理主机的实际负载值超过预设负载阈值;目标云主机迁移至第二物理主机后,第二物理主机的实际负载值未超过预设负载阈值,使得云平台中的各个物理主机的实际负载值均不超过预设负载阈值,从而保障各个物理主机上的云主机的正常运行。
在一种具体实施方式中,将第一物理主机中的目标云主机迁移至第二物理主机,包括:在第一物理主机中选择资源利用指标值最小的目标云主机(即:第一物理主机中占用资源最少的云主机),并模拟迁移目标云主机至第二物理主机;若模拟迁移目标云主机至第二物理主机后,第二物理主机的预期负载值未超过预设负载阈值,则将目标云主机添加至迁移队列,并按照迁移队列将目标云主机迁移至第二物理主机;若模拟迁移目标云主机至第二物理主机后,第二物理主机的预期负载值超过预设负载阈值,则不迁移目标云主机。
S104、将第三物理主机中的对象云主机迁移至第四物理主机。
其中,对象云主机迁移至第四物理主机前,第三物理主机的实际负载值最小、且未超过预设负载阈值;对象云主机迁移至第四物理主机后,第四物理主机的实际负载值未超过预设负载阈值,从而保障接收对象云主机的第四物理主机不会超载,以实现其他物理主机分担第三物理主机的负载。理想情况下,第三物理主机上可以没有云主机,从而释放第三物理主机资源,避免资源浪费,还实现了负载集中。也就是:若出现零负载的物理主机,则对其进行标记,然后释放其计算机资源。
在一种具体实施方式中,将第三物理主机中的对象云主机迁移至第四物理主机,包括:在第三物理主机中选择资源利用指标值最大的对象云主机(即:第三物理主机中占用资源最多的云主机),并模拟迁移对象云主机至第四物理主机;若模拟迁移对象云主机至第四物理主机后,第四物理主机的预期负载值未超过预设负载阈值,则将对象云主机添加至迁移队列,并按照迁移队列将对象云主机迁移至第四物理主机;若模拟迁移对象云主机至第四物理主机后,第四物理主机的预期负载值超过预设负载阈值,则不迁移对象云主机。
需要说明的是,迁移队列中的同一个待迁移云主机(对象云主机或目标云主机)可能被进行多次迁移,如:某一个云主机从物理主机A迁移到物理主机B,然后又从物理主机B迁移到物理主机C。为避免此种迁移方式浪费资源,可以直接将该云主机从物理主机A迁移到物理主机C。据此,云主机的迁移路径由A->B,B->C,修改为A->C。故在一种具体实施方式中,若迁移队列中的待迁移云主机对应多条迁移路径,则从多条迁移路径中选择最短迁移路径进行待迁移云主机的迁移。
可见,本申请实施例首先使得云平台中的各个物理主机的实际负载值均不超过预设负载阈值,从而保障各个物理主机上的云主机的正常运行;同时,将实际负载值最小、且不超过预设负载阈值的第三物理主机中的对象云主机迁出,并保障接收对象云主机的第四物理主机不会超载,从而实现其他物理主机分担第三物理主机的负载,理想情况下,第三物理主机上会没有云主机,从而释放第三物理主机资源,避免资源浪费,还实现了负载集中。本申请能够同时实现负载均衡和负载集中,在业务负载较低时,可以释放空闲物理主机,提高物理主机的资源利用率,避免了资源的浪费。
本申请实施例公开了一种负载分配方案。该方案首先对各个物理主机上的云主机进行建模,进而对云主机进行模拟迁移,并预测迁移后的负载变化,从而得到最佳的云主机迁移方案,实现负载均衡和负载集中。
参见图2所示,该方案包括以下步骤:
1)通过监控模块接口获取各云主机的CPU或内存使用情况,并建立云平台负载模型(即对各个物理主机的负载进行建模计算);
2)使用负载集中算法对云主机进行模拟迁移,以确定迁移方案,并优化迁移方案得到最佳的迁移方案;
3)根据迁移方案动态迁移云主机,以实现负载均衡和负载集中。
其中,建立云平台负载模型包括:
通常采用CPU或内存使用情况来衡量物理主机的工作负载。
1、量化各云主机的资源利用指标值。
通过监控模块接口获取各云主机最后10分钟(可配置)的资源利用指标值(如CPU或内存使用率)。
如果使用的其他指标(如内存已用量),则需要将其转换为内存使用率。如果获取的是CPU已运行时间,则需要将其转换为CPU使用率。
2、量化各物理主机的实际负载值。
各物理主机的工作负载通过总结其上所有云主机的工作负载来得到。另外,由于各物理主机的总虚拟CPU个数和总内存量可能存在差异,因此需要将云主机的CPU或内存使用率转换为物理主机的CPU或内存使用率,来计算物理主机的实际负载值。
以CPU使用情况为例,单个云主机CPU利用率,需要乘以该云主机的虚拟CPU个数与物理主机总虚拟CPU个数的比值,得到该云主机相对于物理主机的CPU利用率cpuimpact,即:cpuimpact=cpuutil*vmvcpus/hostvcpus。将某个物理主机上的所有云主机的cpuimpact叠加起来,便得到该物理主机的实际负载值。内存使用情况的计算步骤与此类似,在此不再赘述。
量化后的物理主机的CPU/内存总利用率介于0—1之间,即各物理主机的实际负载值介于0—1之间。
3、使用负载集中算法对云主机进行模拟迁移。
预先设置一个容量系数cc(capacity coefficients,容量系数),即:预设负载阈值,用来作为调整优化的阈值,该值介于0—1之间。如果cc值接近0,会导致物理主机资源低利用率;cc接近1,会导致资源超额预定。如果cc等于1,整个物理主机的资源容量可能都会被耗尽。用户应根据需要选择合适的cc参数。由于各个物理主机的配置一般相同,因此所有物理主机可共用一个容量系数。
请参见图3,负载集中算法主要包括以下几个阶段:
(1)分流阶段-处理高负载的物理主机。
该阶段使用cc来衡量物理主机是否超载。如果物理主机的CPU或内存总利用率超过cc,则该物理主机超载。从超载的物理主机中选取CPU或内存使用率最低的云主机模拟迁移到其他未超载的物理主机上。如果迁移后不会造成目的物理主机超载,则将该云主机加入到迁移队列中;如果迁移后目的物理主机也超载,则放弃本次迁移。原超载的物理主机的负载低于cc使,停止迁移。这一阶段优化的理想结果是:不存在超载的物理主机。
(2)整合阶段-处理低负载的物理主机。
该阶段也使用cc来衡量物理主机是否超载。首先,从未超载且负载最低的物理主机上选取CPU或内存使用率最高的云主机迁移到其他未超载的物理主机上。如果迁移后不会造成目的物理主机超载,则将该云主机加入到迁移队列中;如果迁移后目的物理主机超载,则放弃本次迁移。该阶段之所以先考虑迁移CPU或内存使用率最高的云主机,是因为高使用率的云主机比低使用率的云主机更难调整。这一阶段优化的理想结果是:可能会出现零负载的物理主机,即实现物理主机的资源释放。
(3)优化迁移方案。
通过消除迁移队列中不必要或者循环的迁移动作,来优化迁移方案。例如:分流阶段和整合阶段产生的方案中可能存在以下情况:云主机从物理主机A迁移到物理主机B,然后又从物理主机B迁移到物理主机C。据此,可将云主机直接从物理主机A迁移到物理主机C,从而避免无谓的迁移动作。
(4)按照优化后的迁移方案迁移云主机,并标记平台中零负载的物理主机,供后续进行资源释放。
可见,在业务负载较低时,按照本实施例可以把云主机动态集中到平台中的少部分物理主机上,然后释放空闲的物理主机,并释放多余的物理资源,避免了资源的浪费。
下面对本申请实施例提供的一种负载分配装置进行介绍,下文描述的一种负载分配装置与上文描述的一种负载分配方法可以相互参照。
参见图4所示,本申请实施例公开了一种负载分配装置,包括:
获取模块401,用于获取云平台中每个云主机的资源利用指标值;
计算模块402,用于利用资源利用指标值计算每个物理主机的实际负载值;
第一迁移模块403,用于将第一物理主机中的目标云主机迁移至第二物理主机;目标云主机迁移至第二物理主机前,第一物理主机的实际负载值超过预设负载阈值;目标云主机迁移至第二物理主机后,第二物理主机的实际负载值未超过预设负载阈值;
第二迁移模块403,用于将第三物理主机中的对象云主机迁移至第四物理主机;对象云主机迁移至第四物理主机前,第三物理主机的实际负载值最小、且未超过预设负载阈值;对象云主机迁移至第四物理主机后,第四物理主机的实际负载值未超过预设负载阈值。
在一种具体实施方式中,第一迁移模块具体用于:
在第一物理主机中选择资源利用指标值最小的目标云主机,并模拟迁移目标云主机至第二物理主机;
若模拟迁移目标云主机至第二物理主机后,第二物理主机的预期负载值未超过预设负载阈值,则将目标云主机添加至迁移队列,并按照迁移队列将目标云主机迁移至第二物理主机;
若模拟迁移目标云主机至第二物理主机后,第二物理主机的预期负载值超过预设负载阈值,则不迁移目标云主机。
在一种具体实施方式中,第二迁移模块具体用于:
在第三物理主机中选择资源利用指标值最大的对象云主机,并模拟迁移对象云主机至第四物理主机;
若模拟迁移对象云主机至第四物理主机后,第四物理主机的预期负载值未超过预设负载阈值,则将对象云主机添加至迁移队列,并按照迁移队列将对象云主机迁移至第四物理主机;
若模拟迁移对象云主机至第四物理主机后,第四物理主机的预期负载值超过预设负载阈值,则不迁移对象云主机。
在一种具体实施方式中,若迁移队列中的待迁移云主机对应多条迁移路径,则从多条迁移路径中选择最短迁移路径进行待迁移云主机的迁移。
在一种具体实施方式中,资源利用指标值为CPU利用率和/或内存利用率。
在一种具体实施方式中,计算模块具体用于:
按照目标公式计算每个物理主机的实际负载值,目标公式为:
其中,Wj为物理主机j的实际负载值,Si为物理主机j中的云主机i的资源利用指标值,ni为云主机i的资源指标量,m为物理主机j的总资源指标量,t为物理主机j中的云主机数量。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种负载分配装置,该装置能够同时实现负载均衡和负载集中,在业务负载较低时,可以释放空闲物理主机,提高物理主机的资源利用率,避免了资源的浪费。
下面对本申请实施例提供的一种负载分配设备进行介绍,下文描述的一种负载分配设备与上文描述的一种负载分配方法及装置可以相互参照。
参见图5所示,本申请实施例公开了一种负载分配设备,包括:
存储器501,用于保存计算机程序;
处理器502,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种负载分配方法、装置及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的负载分配方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种负载分配方法,其特征在于,包括:
获取云平台中每个云主机的资源利用指标值;
利用所述资源利用指标值计算每个物理主机的实际负载值;
将第一物理主机中的目标云主机迁移至第二物理主机;所述目标云主机迁移至所述第二物理主机前,所述第一物理主机的所述实际负载值超过预设负载阈值;所述目标云主机迁移至所述第二物理主机后,所述第二物理主机的所述实际负载值未超过所述预设负载阈值;
将第三物理主机中的对象云主机迁移至第四物理主机;所述对象云主机迁移至所述第四物理主机前,所述第三物理主机的所述实际负载值最小、且未超过所述预设负载阈值;所述对象云主机迁移至所述第四物理主机后,所述第四物理主机的所述实际负载值未超过所述预设负载阈值。
2.根据权利要求1所述的负载分配方法,其特征在于,所述将第一物理主机中的目标云主机迁移至第二物理主机,包括:
在所述第一物理主机中选择资源利用指标值最小的目标云主机,并模拟迁移所述目标云主机至所述第二物理主机;
若模拟迁移所述目标云主机至所述第二物理主机后,所述第二物理主机的预期负载值未超过所述预设负载阈值,则将所述目标云主机添加至迁移队列,并按照所述迁移队列将所述目标云主机迁移至所述第二物理主机;
若模拟迁移所述目标云主机至所述第二物理主机后,所述第二物理主机的预期负载值超过所述预设负载阈值,则不迁移所述目标云主机。
3.根据权利要求1所述的负载分配方法,其特征在于,所述将第三物理主机中的对象云主机迁移至第四物理主机,包括:
在所述第三物理主机中选择资源利用指标值最大的对象云主机,并模拟迁移所述对象云主机至所述第四物理主机;
若模拟迁移所述对象云主机至所述第四物理主机后,所述第四物理主机的预期负载值未超过所述预设负载阈值,则将所述对象云主机添加至迁移队列,并按照所述迁移队列将所述对象云主机迁移至所述第四物理主机;
若模拟迁移所述对象云主机至所述第四物理主机后,所述第四物理主机的预期负载值超过所述预设负载阈值,则不迁移所述对象云主机。
4.根据权利要求2或3所述的负载分配方法,其特征在于,
若所述迁移队列中的待迁移云主机对应多条迁移路径,则从所述多条迁移路径中选择最短迁移路径进行所述待迁移云主机的迁移。
5.根据权利要求1所述的负载分配方法,其特征在于,所述资源利用指标值为CPU利用率和/或内存利用率。
7.一种负载分配装置,其特征在于,包括:
获取模块,用于获取云平台中每个云主机的资源利用指标值;
计算模块,用于利用所述资源利用指标值计算每个物理主机的实际负载值;
第一迁移模块,用于将第一物理主机中的目标云主机迁移至第二物理主机;所述目标云主机迁移至所述第二物理主机前,所述第一物理主机的所述实际负载值超过预设负载阈值;所述目标云主机迁移至所述第二物理主机后,所述第二物理主机的所述实际负载值未超过所述预设负载阈值;
第二迁移模块,用于将第三物理主机中的对象云主机迁移至第四物理主机;所述对象云主机迁移至所述第四物理主机前,所述第三物理主机的所述实际负载值最小、且未超过所述预设负载阈值;所述对象云主机迁移至所述第四物理主机后,所述第四物理主机的所述实际负载值未超过所述预设负载阈值。
8.一种负载分配设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至6任一项所述的负载分配方法。
9.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的负载分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011502312.4A CN112433858A (zh) | 2020-12-17 | 2020-12-17 | 一种负载分配方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011502312.4A CN112433858A (zh) | 2020-12-17 | 2020-12-17 | 一种负载分配方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112433858A true CN112433858A (zh) | 2021-03-02 |
Family
ID=74696755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011502312.4A Pending CN112433858A (zh) | 2020-12-17 | 2020-12-17 | 一种负载分配方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112433858A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114143326A (zh) * | 2021-12-08 | 2022-03-04 | 深圳前海微众银行股份有限公司 | 负载调节方法、管理节点以及存储介质 |
CN114443281A (zh) * | 2021-12-28 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 一种网卡负载调整方法、装置、设备及可读存储介质 |
CN114466019A (zh) * | 2022-04-11 | 2022-05-10 | 阿里巴巴(中国)有限公司 | 分布式计算系统、负载均衡方法、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077082A (zh) * | 2013-01-08 | 2013-05-01 | 中国科学院深圳先进技术研究院 | 一种数据中心负载分配及虚拟机迁移节能方法及系统 |
CN104102523A (zh) * | 2013-04-03 | 2014-10-15 | 华为技术有限公司 | 迁移虚拟机的方法和资源调度平台 |
CN104239123A (zh) * | 2014-09-05 | 2014-12-24 | 北方工业大学 | 面向校园云平台的虚拟机管理调度方法和系统 |
CN105740074A (zh) * | 2016-01-26 | 2016-07-06 | 中标软件有限公司 | 一种基于云计算的虚拟机负载均衡方法 |
US20180097874A1 (en) * | 2016-10-05 | 2018-04-05 | Vmware, Inc. | Pairwise comparison for load balancing |
CN108429815A (zh) * | 2018-03-23 | 2018-08-21 | 重庆邮电大学 | 基于OpenStack的动态资源调度方法 |
CN109213595A (zh) * | 2017-07-07 | 2019-01-15 | 中兴通讯股份有限公司 | 负载均衡调度方法、装置及计算机可读存储介质 |
CN112087509A (zh) * | 2020-09-03 | 2020-12-15 | 哈尔滨工业大学 | 一种边缘计算平台中任务迁移方法 |
-
2020
- 2020-12-17 CN CN202011502312.4A patent/CN112433858A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077082A (zh) * | 2013-01-08 | 2013-05-01 | 中国科学院深圳先进技术研究院 | 一种数据中心负载分配及虚拟机迁移节能方法及系统 |
CN104102523A (zh) * | 2013-04-03 | 2014-10-15 | 华为技术有限公司 | 迁移虚拟机的方法和资源调度平台 |
CN104239123A (zh) * | 2014-09-05 | 2014-12-24 | 北方工业大学 | 面向校园云平台的虚拟机管理调度方法和系统 |
CN105740074A (zh) * | 2016-01-26 | 2016-07-06 | 中标软件有限公司 | 一种基于云计算的虚拟机负载均衡方法 |
US20180097874A1 (en) * | 2016-10-05 | 2018-04-05 | Vmware, Inc. | Pairwise comparison for load balancing |
CN109213595A (zh) * | 2017-07-07 | 2019-01-15 | 中兴通讯股份有限公司 | 负载均衡调度方法、装置及计算机可读存储介质 |
CN108429815A (zh) * | 2018-03-23 | 2018-08-21 | 重庆邮电大学 | 基于OpenStack的动态资源调度方法 |
CN112087509A (zh) * | 2020-09-03 | 2020-12-15 | 哈尔滨工业大学 | 一种边缘计算平台中任务迁移方法 |
Non-Patent Citations (1)
Title |
---|
郭力争: "《云计算资源管理与调度优化方法》", 30 November 2017 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114143326A (zh) * | 2021-12-08 | 2022-03-04 | 深圳前海微众银行股份有限公司 | 负载调节方法、管理节点以及存储介质 |
CN114443281A (zh) * | 2021-12-28 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 一种网卡负载调整方法、装置、设备及可读存储介质 |
CN114443281B (zh) * | 2021-12-28 | 2023-09-15 | 苏州浪潮智能科技有限公司 | 一种网卡负载调整方法、装置、设备及可读存储介质 |
CN114466019A (zh) * | 2022-04-11 | 2022-05-10 | 阿里巴巴(中国)有限公司 | 分布式计算系统、负载均衡方法、设备及存储介质 |
CN114466019B (zh) * | 2022-04-11 | 2022-09-16 | 阿里巴巴(中国)有限公司 | 分布式计算系统、负载均衡方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112433858A (zh) | 一种负载分配方法、装置、设备及可读存储介质 | |
EP3525096B1 (en) | Resource load balancing control method and cluster scheduler | |
US20200287961A1 (en) | Balancing resources in distributed computing environments | |
US7962916B2 (en) | Method of distributing load amongst two or more computer system resources | |
CN102185779B (zh) | 与综合配置能力成比例的数据中心资源负载均衡的方法及装置 | |
US8862744B2 (en) | Optimizing traffic load in a communications network | |
US8145456B2 (en) | Optimizing a prediction of resource usage of an application in a virtual environment | |
US8145455B2 (en) | Predicting resource usage of an application in a virtual environment | |
US7467291B1 (en) | System and method for calibrating headroom margin | |
JP7081514B2 (ja) | オートスケール型性能保証システム及びオートスケール型性能保証方法 | |
CN104375897B (zh) | 基于最小相对负载不均衡度的云计算资源调度方法 | |
TWI428767B (zh) | 最佳化配置系統參數集之方法,程式及裝置 | |
TWI755415B (zh) | 雲端環境下應用集群資源分配的方法、裝置和系統 | |
US20160156567A1 (en) | Allocation method of a computer resource and computer system | |
US20220100548A1 (en) | Network performance assurance system and network performance assurance method | |
CN112506643A (zh) | 一种分布式系统的负载均衡方法、装置及电子设备 | |
CN110928661A (zh) | 一种线程迁移方法、装置、设备及可读存储介质 | |
CN106133693A (zh) | 虚拟机的迁移方法、装置及设备 | |
CN107729514A (zh) | 一种基于hadoop的副本放置节点确定方法及装置 | |
CN111506423A (zh) | 一种资源的调度方法、装置、电子设备及存储介质 | |
US20080239983A1 (en) | Method for integrating downstream performance and resource usage statistics into load balancing weights | |
US20040243706A1 (en) | Method and system for balancing the load of a computer resource among computers | |
CN106961490A (zh) | 一种资源监控方法及系统、一种本地服务器 | |
JP2009087213A (ja) | 計算機余力算出装置、計算機余力算出方法 | |
US9461933B2 (en) | Virtual server system, management server device, and system managing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210302 |