一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

资源调度方法及装置、设备、存储介质与流程

2022-02-23 00:01:20 来源:中国专利 TAG:


1.本技术实施例涉及电子技术,涉及但不限于资源调度方法及装置、设备、存储介质。


背景技术:

2.openstack是一个开源的云计算管理平台项目,作为公共及私有云的建设与管理平台,许多企业和组织都通过openstack构建自己的云平台。随着openstack平台大规模部署,平台中往往部署了成千上万的物理机,随着系统不断使用,对云平台的稳定性提出了更高的要求。动态资源调度对于平台的稳定性起着十分关键的作用,通过动态资源调度可以优化平台资源使用率。
3.已有的openstack动态资源调度的方法,主要原则是,当物理机的负载较高时,触发上限阈值,将其中的某些虚拟机进行迁移,从而避免物理机的负载过高;然而,即使物理机中的某些虚拟机被迁出,降低了该物理机的负载,但是该物理机仍然存在资源利用不均衡的问题。


技术实现要素:

4.有鉴于此,本技术实施例提供资源调度方法及装置、设备、存储介质。
5.本技术实施例的技术方案是这样实现的:
6.第一方面,本技术实施例提供一种资源调度方法,所述方法包括:从集群中确定出至少一个告警物理机;获取每一所述告警物理机的cpu总量与内存总量之间的第一数值关系;确定每一所述告警物理机中每一虚拟机的cpu使用量与内存使用量之间的第二数值关系;对于每一所述告警物理机,确定与对应第一数值关系不匹配的第二数值关系;将所述不匹配的第二数值关系对应的虚拟机,确定为待迁移的虚拟机;对每一所述待迁移的虚拟机进行迁移。
7.第二方面,本技术实施例提供一种资源调度装置,包括:确定模块,用于从集群中确定出至少一个告警物理机;获取模块,用于获取每一所述告警物理机的cpu总量与内存总量之间的第一数值关系;所述确定模块,还用于确定每一所述告警物理机中每一虚拟机的cpu使用量与内存使用量之间的第二数值关系;所述确定模块,还用于对于每一所述告警物理机,确定与对应第一数值关系不匹配的第二数值关系;将所述不匹配的第二数值关系对应的虚拟机,确定为待迁移的虚拟机;迁移模块,用于对每一所述待迁移的虚拟机进行迁移。
8.第三方面,本技术实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本技术实施例任一所述资源调度方法中的步骤。
9.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本技术实施例任一所述资源调度方法中的步骤。
10.本技术实施例中,通过获取集群中每一告警物理机的cpu总量与内存总量之间的第一数值关系,并确定每一所述告警物理机中每一虚拟机的cpu使用量与内存使用量之间的第二数值关系;然后,将所述告警物理机中与其第一数值关系不匹配的第二数值关系所对应的虚拟机迁出;如此,能够使得迁移后的告警物理机的资源利用率更加均衡。
附图说明
11.图1为本技术实施例资源调度方法的实现流程示意图;
12.图2为本技术实施例另一资源调度方法的实现流程示意图;
13.图3为本技术实施例告警队列的确定方法实现流程示意图;
14.图4为本技术实施例选择待迁移的虚拟机的方法实现流程示意图;
15.图5为本技术实施例选择目标物理服务器的方法实现流程示意图;
16.图6为本技术实施例资源调度装置的结构示意图;
17.图7为本技术实施例电子设备的一种硬件实体示意图。
具体实施方式
18.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术的具体技术方案做进一步详细描述。以下实施例用于说明本技术,但不用来限制本技术的范围。
19.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
20.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
21.需要指出,本技术实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
22.为了便于对本技术实施例的理解,以下先对本技术实施例涉及的相关技术术语进行解释。
23.集群中物理机的属性值包括标准权重、使用权重、资源偏离值、cpu利用率和内存利用率;其中,
24.标准权重可以是如下公式(1)所示的k1或者k2,即,物理机的cpu总量t
cpu
和内存总量t
mem
的比值:
25.或者,
26.使用权重可以是如下公式(2)所示的p1或者p2,即,物理机的cpu使用量u
cpu
和内存使用量u
mem
的比值:
27.或者,
28.资源偏离值可以是如下公式(3)所示的f1或者f2:
29.或者,
30.物理机的cpu利用率为如下公式(4)所示的ρ
cpu

[0031][0032]
物理机的内存利用率为如下公式(5)所示的ρ
mem

[0033][0034]
本技术实施例提供一种资源调度方法,所述方法可以应用于集群中的某一电子设备,所述电子设备可以是集群中的任一承载虚拟机的物理机,还可以是独立于承载虚拟机的物理机的其他计算设备。所述资源调度方法所实现的功能可以通过所述电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,所述电子设备至少包括处理器和存储介质。
[0035]
图1为本技术实施例资源调度方法的实现流程示意图,如图1所示,所述方法可以包括以下步骤101至步骤106:
[0036]
步骤101,从集群中确定出至少一个告警物理机。
[0037]
在一些实施例中,所述告警物理机分为两类,即第一类告警物理机和第二类告警物理机。其中,第一类告警物理机指的是集群中cpu利用率大于第一阈值的物理机或者内存利用率大于第二阈值的物理机。第二类告警物理机指的是集群中将cpu利用率与内存利用率之和大于第三阈值,且第一资源偏离值小于第四阈值或者大于第五阈值的物理机。
[0038]
步骤102,获取每一所述告警物理机的cpu总量与内存总量之间的第一数值关系。
[0039]
在本技术实施例中,第一数值关系可以是多种多样的,第一数值关系可以是比值关系或者差值关系等。例如,第一数值关系为前文所述的标准权重,即,cpu总量与内存总量的比值。
[0040]
步骤103,确定每一所述告警物理机中每一虚拟机的cpu使用量与内存使用量之间的第二数值关系。
[0041]
需要说明的是,第二数值关系与第一数值关系的计算准则是一致的。例如,第一数值关系为cpu总量除以内存总量时,相应地,第二数值关系为虚拟机的cpu使用量除以该虚拟机的内存使用量。第一数值关系为内存总量除以cpu总量,相应地,第二数值关系为虚拟机的内存使用量除以该虚拟机的cpu使用量。在所述第二数值关系为比值关系的情况下,所述第二数值关系也可以被称为负载均衡度。
[0042]
在本技术实施例中,所述虚拟机的cpu使用量和内存使用量可以是在特定时间段内的峰值或者均值。
[0043]
步骤104,对于每一所述告警物理机,确定与对应第一数值关系不匹配的第二数值
关系;
[0044]
步骤105,将所述不匹配的第二数值关系对应的虚拟机,确定为待迁移的虚拟机。
[0045]
可以理解地,根据告警物理机的第一数值关系和该告警物理机中每一虚拟机的第二数值关系,可以从该告警物理机中筛选出与其第一数值关系不匹配的第二数值关系所对应的虚拟机,将这些不匹配的虚拟机迁出,从而使得该告警物理机的资源利用率更加均衡。
[0046]
举例来说,假设某物理机的cpu总量为8核(c,core),内存总量为64gb,则该物理机的第一数值关系为如果该物理机上承载的第一虚拟机的第二数值关系(即负载均衡度)为承载的第二虚拟机的负载均衡度为那么,相比于的第二虚拟机,的第一虚拟机对于的物理机是不友好的,也就是不相匹配的。换言之,的第一虚拟机运行在的物理机上,不能够充分利用该物理机的资源,从而导致该物理机的资源利用率不够均衡。因此,如果将所述第一虚拟机从该物理机中迁出,能够使得该物理机的资源利用率更加均衡。
[0047]
步骤106,对每一所述待迁移的虚拟机进行迁移。
[0048]
在实现时,电子设备优先处理第一类告警物理机,在完成第一类告警物理机中的虚拟机的迁移之后,再对第二类告警物理机上的虚拟机进行迁移。
[0049]
电子设备可以通过如下实施例的步骤306至步骤309,实现上述步骤106。
[0050]
在本技术实施例中,电子设备获取集群中每一告警物理机的cpu总量与内存总量之间的第一数值关系,并确定每一所述告警物理机中每一虚拟机的cpu使用量与内存使用量之间的第二数值关系;然后,将所述告警物理机中与其第一数值关系不匹配的第二数值关系所对应的虚拟机迁出;如此,能够使得迁移后的告警物理机的资源利用率更加均衡。
[0051]
本技术实施例再提供一种资源调度方法,所述方法可以包括以下步骤201至步骤211:
[0052]
步骤201,确定集群中每一物理机的cpu利用率和内存利用率。
[0053]
可以理解地,cpu利用率指的是所述物理机的cpu使用量除以所述物理机的cpu总量。所述cpu使用量可以是特定时间段内的峰值或者均值等。类似地,物理机的内存利用率指的是所述物理机的内存使用量除以所述物理机的内存总量。物理机的内存使用量可以是特定时间段内的峰值或者均值等。
[0054]
步骤202,将cpu利用率大于第一阈值的物理机或者内存利用率大于第二阈值的物理机,确定为第一类告警物理机;
[0055]
步骤203,将每一所述物理机的cpu总量与内存总量的比值,确定为对应物理机的第一数值关系;
[0056]
步骤204,将每一所述物理机的cpu使用量与内存使用量的比值,确定为对应物理机的第三数值关系。
[0057]
需要说明的是,第一数值关系与第三数值关系的计算准则一致。例如,第一数值关系为cpu总量除以内存总量时,相应地,第三数值关系为cpu使用量除以内存使用量;反之,
第一数值关系为内存总量除以cpu总量时,相应地,第三数值关系为内存使用量除以cpu使用量。
[0058]
步骤205,将每一所述物理机的第一数值关系与第三数值关系的比值,确定为对应物理机的第一资源偏离值;
[0059]
步骤206,将cpu利用率与内存利用率之和大于第三阈值,且第一资源偏离值小于第四阈值或者大于第五阈值的物理机,确定为所述第二类告警物理机。
[0060]
可以理解地,当第一资源偏离值过大或者过小时,都说明对应的物理机的资源利用率不均衡。例如第一资源偏离值的计算公式为上述公式(3)所示的f1的计算公式。当f1<0.8,或者f1>1.2时,说明该物理机的资源利用率不够均衡。但是仅仅以此为条件来确定告警物理机,可能会出现误差。也就是说,当物理机的cpu使用量和内存使用量都偏小时,对应的第一资源偏离值也可能会大于第五阈值。例如,某物理机的cpu利用率为1%,换算后的cpu使用量为1%*8c,内存利用率为25%,换算后的内存使用量为25%*64gb,这样得到的第一资源偏离值是非常大的,然而该物理机的负载并不高,即使不对其中的虚拟机进行迁移,也不会影响该物理机的稳定性。
[0061]
因此,在本技术实施例中,增加“cpu利用率与内存利用率之和大于第三阈值”的限制条件,从而能够避免将负载较低且第一资源偏离值较高的物理机列入第二类告警物理机中,进而避免对负载较低且第一资源偏离值较高的物理机进行虚拟机的迁移。
[0062]
步骤207,获取每一所述告警物理机的cpu总量与内存总量之间的第一数值关系;
[0063]
步骤208,确定每一所述告警物理机中每一虚拟机的cpu使用量与内存使用量之间的第二数值关系;
[0064]
步骤209,对于每一所述告警物理机,确定与对应第一数值关系不匹配的第二数值关系;
[0065]
步骤210,将所述不匹配的第二数值关系对应的虚拟机,确定为待迁移的虚拟机;
[0066]
步骤211,对每一所述待迁移的虚拟机进行迁移。
[0067]
需要说明的是,对于第一类告警物理机和第二类告警物理机,电子设备均通过步骤207至步骤211来实现虚拟机的迁移。也就是说,电子设备对每一告警物理机的处理方式是相同的。在一些实施例中,电子设备优先对所述第一类告警物理机中的待迁移的虚拟机进行迁移。也就是说,第一类告警物理机的优先级高于第二类告警物理机。
[0068]
可以理解地,第一类告警物理机为cpu利用率大于第一阈值的物理机,或者内存利用率大于第二阈值的物理机。而第二类告警物理机为cpu利用率与内存利用率之和大于第三阈值,且第一资源偏离值小于第四阈值或者大于第五阈值的物理机;可见,相比于第二类告警物理机,第一类告警物理机的负载较大,因此,需要优先对该类物理机进行处理,以迁移出其中符合条件的虚拟机,从而保证该类物理机的运行稳定性。
[0069]
所谓稳定性,指的是物理机中的每一虚拟机能够长时间地正常运行,并且在确保物理机的运行稳定性的同时,也间接地降低了cpu的损耗。这是因为,cpu的利用率越高,对cpu的损耗越大。
[0070]
本技术实施例再提供一种资源调度方法,所述方法可以包括以下步骤301至步骤309:
[0071]
步骤301,从集群中确定出至少一个告警物理机;
[0072]
步骤302,获取每一所述告警物理机的cpu总量与内存总量之间的第一数值关系;所述第一数值关系为比值;
[0073]
步骤303,将第j个所述告警物理机中的每一所述虚拟机的cpu使用量与内存使用量的比值,确定为对应虚拟机的第二数值关系;其中,j为大于0且小于或等于所述告警物理机总数的整数;
[0074]
步骤304,当所述第二数值关系与所述第一数值关系的差值的绝对值大于第六阈值时,确定所述第二数值关系与所述第一数值关系不匹配。
[0075]
可以理解地,当第二数值关系与第一数值关系之间的差距较大时,说明该第二数值关系对应的虚拟机与当前所在的物理机是匹配的,该虚拟机运行在该物理机上时,该物理机的资源无法被充分利用。
[0076]
举例来说,假设某物理机的cpu总量为8c,内存总量为64gb,则该物理机的第一数值关系为如果该物理机上承载的第一虚拟机的第二数值关系(即负载均衡度)为承载的第二虚拟机的负载均衡度为那么,相比于的第二虚拟机,的第一虚拟机,对于的物理机是不友好的,也就是不相匹配的。换言之,的第一虚拟机运行在的物理机上时,该物理机的资源不能够被充分利用,从而导致该物理机的资源利用率不够均衡。因此,如果将所述第一虚拟机从该物理机中迁出,能够使得该物理机的资源利用率更加均衡。
[0077]
在一些实施例中,电子设备还可以将前n个最大所述绝对值对应的第二数值关系,确定为与所述第一数值关系不匹配,其中,n为大于0的整数。
[0078]
可以理解地,第二数值关系与第一数值关系之间的差值的绝对值越大,说明该第二数值关系对应的虚拟机与当前所在的物理机越不匹配。
[0079]
步骤305,将所述告警物理机中与所述第一数值关系不匹配的第二数值关系所对应的虚拟机,确定为待迁移的虚拟机;
[0080]
步骤306,确定假设在将所述待迁移的虚拟机迁移至所述集群中的至少一个其他物理机之后,对应的所述其他物理机的第二资源偏离值;其中,所述其他物理机为所述集群中除所述待迁移的虚拟机在被迁移前所在的物理机之外的非空闲物理机。
[0081]
需要说明的是,所述至少一个其他物理机可以是一个物理机,也可以是多个。是多个时,可以是所述集群中的部分或每一所述其他物理机。
[0082]
可以理解地,待迁移的虚拟机的cpu使用量和内存使用量均是已知的,且在迁入虚拟机之前,每一物理机的cpu总量、cpu使用量、内存总量和内存使用量也是已知的;因此,基于这些已知量,容易确定将待迁移的虚拟机迁入某个物理机之后,该物理机的资源偏离值。
[0083]
步骤307,将第二资源偏离值与特定值的差值的绝对值小于对应的第七阈值的所述其他物理机,确定为候选物理机。
[0084]
在一个示例中,所述特定值可以设置为1。每一第二资源偏离值对应的第七阈值可以相同,也可以不同;相同时,例如,在特定值为1的情况下,第七阈值为0.2。不同时,第七阈
值可以是第三资源偏离值与所述特定值的差值,其中第三资源偏离值指的是所述第二资源偏离值对应的物理机在迁入待迁移的虚拟机之前的资源偏离值。
[0085]
步骤308,从确定的候选物理机中确定出一个目标物理机。
[0086]
在一些实施例中,电子设备可以先获取每一候选物理机在迁入所述待迁移的虚拟机之前的第三资源偏离值;然后,选取第三资源偏离值与对应的第二资源偏离值之间的差值的绝对值最大的候选物理机,作为所述目标物理机。
[0087]
实际上,通过步骤306至步骤307,是为了寻找多个与待迁移的虚拟机比较匹配的物理机。之所以选取第三资源偏离值与对应的第二资源偏离值之间的差值的绝对值最大的候选物理机,作为所述目标物理机,是为了使得目标物理机中的资源能够被最大化利用。也即,能够使得待迁移的虚拟机在迁入所述目标物理机之后,该目标物理机的资源得到充分利用,资源利用率更高且更加均衡。
[0088]
步骤309,将所述待迁移的虚拟机迁移至所述目标物理机中。
[0089]
需要说明的是,电子设备按照上述步骤303至步骤309对每一告警物理机进行处理,以实现对每一告警物理机中存在的待迁移的虚拟机进行迁移,从而能够使得整个集群中的资源利用率更加均衡,进而增强集群中每一虚拟机的运行稳定性。
[0090]
在一些实施例中,在所述集群中不存在所述目标物理机的情况下,将所述待迁移的虚拟机迁移至空闲的物理机中。如此,可以确保整个集群中的物理机的资源利用率更加均衡。
[0091]
在相关技术中,提供一种动态资源调度方法,该方法根据整个调度区域内的物理服务器的cpu、内存、磁盘的平均值设置权重系数,然后通过该系数算出虚拟机迁移的目标节点。然而,该方法只考虑了物理服务器的cpu、内存、磁盘的消耗率,没有考虑多种资源的合理分配,从而存在一类资源占用过多,其他资源利用率较低的情况,资源调度方法考虑不全面;
[0092]
在另一相关技术中,提供了两种资源调度算法,包括热点解除算法和节能整合算法。其中,热点解除算法主要是将负载小于阈值的物理服务器上的虚拟机全部迁移出去。节能整合算法主要是将负载最高的物理服务器上虚拟机全部迁出。但是具体迁出的物理服务器的负载均衡度如何计算并没有明确给出。并且,该方法在进行资源调度时只选择负载最高或最低的物理服务器上的虚拟机进行迁移,只考虑降低负载,未对迁移后的物理服务器的cpu、内存等多维度负载进行考虑。
[0093]
资源池中各物理服务器的cpu和内存等不定相同,相关技术在进行动态资源调度时,只考虑了资源利用率,存在某一指标利用率较高,但是其他资源利用率较低,而造成的资源分布不合理。当物理服务器的内存利用率较高时,需要迁移,但是其cpu的利用率比较低,没有区分计算型虚拟机和内存型虚拟机,导致资源利用不均衡。
[0094]
换言之,相关的动态资源调度方法中,往往存在物理服务器某一指标过高的情况,并没有充分考虑cpu、内存等多维度指标,为充分利用物理服务器的资源利用率,避免单一指标过高而其他指标偏低的情况,在本技术实施例中提供了一种新型的动态资源调度方法,从而使得资源池中的cpu、内存使用率均衡分布。
[0095]
基于此,下面将说明本技术实施例在一个实际的应用场景中的示例性应用。
[0096]
openstack资源池中,虚拟机很少使用物理服务器的本地磁盘,故在本技术实施例
中,不考虑物理服务器的硬盘使用量。
[0097]
在一些实施例中,通过openstack中的信息采集模块,对资源池(即集群)内的物理服务器的相关信息进行采集,采集的数据包括物理服务器的cpu总量、cpu使用量、内存总量和内存使用量,以及其中的虚拟机的cpu使用量和内存使用量。
[0098]
在一些实施例中,根据信息采集模块采集到的第i个物理服务器的cpu总量t
cpu
、cpu使用量u
cpu
、内存总量t
mem
和内存使用量u
mem
,计算该物理服务器的多个属性值;所述多个属性值包括标准权重ki、使用权重pi和资源偏离值fi;其中,
[0099]
在一些实施例中,设置上限告警队列,当物理服务器的cpu利用率或者内存利用率超过对应的设定值时,将该物理服务器加入上限告警队列当中。上限告警队列中的物理服务器即为所述第一类告警物理机。
[0100]
在一些实施例中,设置资源均衡告警队列,当物理服务器的cpu利用率和内存利用率之和超过设置系数q,且满足fi<0.8或者fi>1.2(系数0.8和1.2可以根据情况适当调整),将该物理服务器加入资源均衡告警队列。资源均衡告警队列中的物理服务器即为所述第二类告警物理机。
[0101]
在一些实施例中,上限告警队列的优先级高于资源均衡告警队列,当上限告警队列有数据时,优先处理上限告警队列,当上限告警队列为空时,再处理资源均衡告警队列。
[0102]
在处理上,两个告警队列中的虚拟机迁移方法一致,方法如下:
[0103]
首先,计算告警队列中的物理服务器(以下称为告警物理服务器)中每一虚拟机的负载均衡度即所述第二数值关系,其中vmcpum、vmmemm分别表示物理服务器中的第m个虚拟机的cpu使用量和虚拟机的内存使用量;m为大于0且小于或等于物理服务器中虚拟机总数的整数。
[0104]
然后,从所述告警物理服务器中选取待迁移的虚拟机,其中,选取vmpm与所述告警服务器的标准权重ki之间的差值的绝对值大于第六阈值的虚拟机一个或者一个以上,作为待迁移的虚拟机,当虚拟机迁移之后,所述告警物理服务器的负载将会降低,同时所述告警物理服务器的cpu利用率和内存利用率会更加均衡,不会出现一个资源使用过多,另一个资源使用较小的情况。
[0105]
最后,分别计算将待迁移的虚拟机迁移到其他物理服务器后的资源偏离值f,选择资源偏离值f更优(f更接近于1)的物理服务器作为目标服务器,将该虚拟机迁移至所述目标服务器中;其中,确定f是否更接近于1的方法,例如确定f与1的差值的绝对值是否小于第七阈值;如果是,则确定f更接近于1。如果不存在更优的物理服务器,那么选取一个新的空闲物理服务器作为目标服务器。
[0106]
当迁移完成后,整个资源池中的物理服务器的资源利用率会更加均衡。
[0107]
在本技术实施例中,提供了一种新的动态资源调度方法,可以确保平台内的物理服务器的资源使用率更加均衡,从而能够增加平台和虚拟机的稳定性。
[0108]
本技术实施例再提供一种资源调度方法,图2为本技术实施例另一资源调度方法的实现流程示意图,如图2所示,包括以下步骤401至步骤414:
[0109]
步骤401,管理平台确定上限告警队列是否为空;如果是,执行步骤402;否则,执行
步骤409;
[0110]
步骤402,管理平台确定资源均衡告警队列是否为空;如果是,则结束;否则,执行步骤403;
[0111]
步骤403,管理平台确定资源均衡告警队列中的告警节点是否遍历完毕;如果是,则结束;否则,执行步骤404;
[0112]
步骤404,管理平台确认资源均衡告警队列中任一待处理的告警节点,即第二类告警物理机;
[0113]
步骤405,管理平台从所述待处理的告警节点中选取待迁移的虚拟机;
[0114]
步骤406,管理平台确定资源池中是否存在更优迁移节点,即目标物理机;如果是,执行步骤407;否则,执行步骤408;
[0115]
步骤407,管理平台将所述待迁移的虚拟机迁移至所述更优迁移节点;然后,返回执行步骤403;
[0116]
这里,需要说明的是,更优迁移节点的选取方法可以通过如下实施例的步骤701至步骤712实现。
[0117]
步骤408,管理平台将所述待迁移的虚拟机迁移至空闲节点;然后,返回执行步骤403;
[0118]
步骤409,管理平台确定上限告警队列是否遍历完毕;如果是,执行步骤402;否则,执行步骤410;
[0119]
步骤410,管理平台确定上限告警队列中任一待处理的告警节点,即第一类告警物理机;
[0120]
步骤411,管理平台从所述待处理的告警节点中选取待迁移的虚拟机;
[0121]
步骤412,管理平台确定资源池中是否存在更优迁移节点;如果是,执行步骤413;否则,执行步骤414;
[0122]
步骤413,管理平台将所述待迁移的虚拟机迁移至所述更优迁移节点;然后,返回执行步骤409;
[0123]
步骤414,管理平台将所述待迁移的虚拟机迁移至空闲节点;然后,返回执行步骤409。
[0124]
本技术实施例提供一种告警队列的确定方法,图3为本技术实施例告警队列的确定方法实现流程示意图,如图3所示,所述方法可以包括以下步骤501至步骤509:
[0125]
步骤501,管理平台确定是否将资源池中的所有物理节点遍历完毕;如果是,则结束;否则,执行步骤502;
[0126]
步骤502,管理平台确认运行节点;
[0127]
步骤503,管理平台获取所述运行节点的cpu总量a、内存总量b、cpu使用量x和内存使用量y;
[0128]
步骤504,管理平台确定使用量x或者使用量y是否超过对应的上限值;如果是,执行步骤505;否则,执行步骤506;
[0129]
步骤505,管理平台将所述运行节点加入上限告警队列;然后,返回执行步骤501;
[0130]
步骤506,管理平台计算k=a/b,p=x/y;
[0131]
步骤507,管理平台计算f=k/p;
[0132]
步骤508,管理平台确定f是否小于0.8或者大于1.2;如果是,执行步骤509;否则,返回执行步骤501;
[0133]
步骤509,管理平台将所述运行节点加入资源均衡告警队列;然后,返回执行步骤501。
[0134]
本技术实施例提供一种选择待迁移的虚拟机的方法,图4为本技术实施例选择待迁移的虚拟机的方法实现流程示意图,如图4所示,所述方法可以包括以下步骤601至步骤605:
[0135]
步骤601,管理平台确认运行节点;
[0136]
步骤602,管理平台获取所述运行节点的cpu总量a、内存总量b,并计算k=a/b;
[0137]
步骤603,管理平台获取所述运行节点中所有虚拟机的cpu使用量m和内存使用量n,计算p=m/n;
[0138]
步骤604,管理平台根据p与k的差值的绝对值,对虚拟机进行排序,差值大的靠前;
[0139]
步骤605,管理平台选取排列最前面一台或者多台虚拟机进行迁移。
[0140]
本技术实施例提供一种选择目标物理服务器的方法,图5为本技术实施例选择目标物理服务器的方法实现流程示意图,如图5所示,所述方法可以包括以下步骤701至步骤712:
[0141]
步骤701,管理平台确认运行节点;
[0142]
步骤702,管理平台确定待迁移的虚拟机;
[0143]
步骤703,管理平台获取每一待迁移的虚拟机的cpu使用量m和内存使用量n;
[0144]
步骤704,管理平台确定是否遍历完每一剩余节点;如果不是,执行步骤705;如果是,执行步骤710;
[0145]
所述剩余节点指的是资源池中除所述运行节点外的节点。
[0146]
步骤705,管理平台获取所述运行节点的cpu总量、内存总量、cpu使用量和内存使用量;
[0147]
步骤706,管理平台根据步骤705获取的数据,确定所述运行节点的资源偏离值f1;
[0148]
步骤707,管理平台将待迁移的虚拟机的cpu使用量和内存使用量加入所述运行节点的负载之后,确定所述运行节点的资源偏离值f2;
[0149]
步骤708,管理平台确定|f2-1|是否小于|f1-1|;如果是,执行步骤709;否则,返回执行步骤704;
[0150]
步骤709,计算|f2-f1|的值,并将该运行节点放入优化节点队列中;然后,返回执行步骤704;
[0151]
步骤710,管理平台确定优化节点队列是否为空;如果是,执行步骤711;否则,执行步骤712;
[0152]
步骤711,管理平台选取空闲节点为目标物理服务器;
[0153]
步骤712,管理平台选取优化节点队列中最大|f2-f1|对应的节点作为目标物理服务器。
[0154]
基于前述的实施例,本技术实施例提供一种资源调度装置,该装置包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(cpu)、微处理器(mpu)、
数字信号处理器(dsp)或现场可编程门阵列(fpga)等。
[0155]
图6为本技术实施例资源调度装置的结构示意图,如图6所示,所述装置600包括确定模块601、获取模块602和迁移模块603;其中,
[0156]
确定模块601,用于从集群中确定出至少一个告警物理机;
[0157]
获取模块602,用于获取每一所述告警物理机的cpu总量与内存总量之间的第一数值关系;
[0158]
确定模块601,还用于确定每一所述告警物理机中每一虚拟机的cpu使用量与内存使用量之间的第二数值关系;
[0159]
确定模块601,还用于对于每一所述告警物理机,确定与对应第一数值关系不匹配的第二数值关系;将所述不匹配的第二数值关系对应的虚拟机,确定为待迁移的虚拟机;
[0160]
迁移模块603,用于对每一所述待迁移的虚拟机进行迁移。
[0161]
在一些实施例中,所述告警物理机包括第一类告警物理机和第二类告警物理机;其中,所述第一类告警物理机的优先级高于所述第二类告警物理机,在执行虚拟机迁移时,优先对所述第一类告警物理机中的待迁移的虚拟机进行迁移;确定模块601,用于:确定集群中每一物理机的cpu利用率和内存利用率;将cpu利用率大于第一阈值的物理机或者内存利用率大于第二阈值的物理机,确定为所述第一类告警物理机。
[0162]
在一些实施例中,确定模块601,用于:将每一所述物理机的cpu总量与内存总量的比值,确定为对应物理机的第一数值关系;将每一所述物理机的cpu使用量与内存使用量的比值,确定为对应物理机的第三数值关系;将每一所述物理机的第一数值关系与第三数值关系的比值,确定为对应物理机的第一资源偏离值;将cpu利用率与内存利用率之和大于第三阈值,且第一资源偏离值小于第四阈值或者大于第五阈值的物理机,确定为所述第二类告警物理机。
[0163]
在一些实施例中,确定模块601,用于:将第j个告警物理机中的每一所述虚拟机的cpu使用量与内存使用量的比值,确定为对应虚拟机的第二数值关系;其中,j为大于0且小于或等于所述告警物理机总数的整数;相应地,确定模块601,用于:当所述第二数值关系与所述第一数值关系的差值的绝对值大于第六阈值时,确定所述第二数值关系与所述第一数值关系不匹配;或者,将前n个最大所述绝对值对应的第二数值关系,确定为与所述第一数值关系不匹配,其中,n为大于0的整数。
[0164]
在一些实施例中,迁移模块603,用于:确定假设在将所述待迁移的虚拟机迁移至所述集群中的至少一个其他物理机之后,对应的所述其他物理机的第二资源偏离值;其中,所述其他物理机为所述集群中除所述待迁移的虚拟机在被迁移前所在的物理机之外的非空闲物理机;将第二资源偏离值与特定值的差值的绝对值小于对应的第七阈值的所述其他物理机,确定为候选物理机;从确定的候选物理机中确定出一个目标物理机;将所述待迁移的虚拟机迁移至所述目标物理机中。
[0165]
在一些实施例中,确定模块601,用于:获取每一候选物理机在迁入所述待迁移的虚拟机之前的第三资源偏离值;选取第三资源偏离值与对应的第二资源偏离值之间的差值的绝对值最大的候选物理机,作为所述目标物理机。
[0166]
在一些实施例中,迁移模块603,还用于:在所述集群中不存在所述目标物理机的情况下,将所述待迁移的虚拟机迁移至空闲的物理机中。
[0167]
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0168]
需要说明的是,本技术实施例中,如果以软件功能模块的形式实现上述的资源调度方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本技术实施例不限制于任何特定的硬件和软件结合。
[0169]
对应地,本技术实施例提供一种电子设备,图7为本技术实施例电子设备的一种硬件实体示意图,如图7所示,该电子设备700的硬件实体包括:包括存储器701和处理器702,所述存储器701存储有可在处理器702上运行的计算机程序,所述处理器702执行所述程序时实现上述实施例中提供的资源调度方法中的步骤。
[0170]
存储器701配置为存储由处理器702可执行的指令和应用,还可以缓存待处理器702以及电子设备700中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(flash)或随机访问存储器(random access memory,ram)实现。
[0171]
对应地,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的资源调度方法中的步骤。
[0172]
这里需要指出的是:以上存储介质、芯片和终端设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术存储介质、芯片和终端设备实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0173]
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0174]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0175]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的触摸屏系统的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的
各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0176]
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
[0177]
另外,在本技术各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0178]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
[0179]
或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
[0180]
本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0181]
本技术所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
[0182]
本技术所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
[0183]
以上所述,仅为本技术的实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献