CN111158862B - 一种虚拟机调度方法及装置 - Google Patents
一种虚拟机调度方法及装置 Download PDFInfo
- Publication number
- CN111158862B CN111158862B CN201911410813.7A CN201911410813A CN111158862B CN 111158862 B CN111158862 B CN 111158862B CN 201911410813 A CN201911410813 A CN 201911410813A CN 111158862 B CN111158862 B CN 111158862B
- Authority
- CN
- China
- Prior art keywords
- load
- physical machine
- machine
- historical
- monitoring
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012544 monitoring process Methods 0.000 claims abstract description 56
- 230000005012 migration Effects 0.000 claims abstract description 23
- 238000013508 migration Methods 0.000 claims abstract description 23
- 239000002245 particle Substances 0.000 claims description 67
- 238000004891 communication Methods 0.000 claims description 18
- 238000005315 distribution function Methods 0.000 claims description 13
- 230000007704 transition Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
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
技术领域
本发明涉及计算机技术领域,特别是涉及一种虚拟机调度方法及装置。
背景技术
虚拟机是指在物理机内通过软件模拟的具有完整硬件系统功能、且运行在一个完全隔离环境中的完整计算机系统。在一台物理机上可以同时运行多个虚拟机,从而提高物理机的工作效率。
虚拟机的调度是指将在负载高于一定数值的物理机内运行的虚拟机迁出。通过虚拟机的调度,使得物理机的负载维持在一定范围之内,从而保障物理机的工作效率。
可见,如何有效的进行虚拟机的调度,是保障物理机工作效率的主要方法之一。
发明内容
本发明实施例的目的在于提供一种虚拟机调度方法及装置,以保障物理机工作效率。具体技术方案如下:
本发明实施的一方面,提供了一种虚拟机调度方法,所述方法包括:
监测物理机的负载,作为第一负载;
在所述第一负载高于第一预设数值的时长大于第一预设时长的情况下,获取所述物理机的历史负载;
根据所述第一负载和物理机的历史负载预测所述物理机的负载,作为第二负载;
在所述第二负载高于第二预设数值的情况下,迁出所述物理机内运行的虚拟机。
可选的,所述方法还包括:
在所述第一负载小于第三预设数值的时长大于第二预设时长的情况下,迁出所述物理机内运行的虚拟机,并关闭所述物理机。
可选的,所述监测物理机的负载的步骤,包含:
在所述第一负载不小于第四预设数值的情况下,采用第一监测频率监测物理机的负载;
在所述第一负载小于第四预设数值的情况下,采用第二监测频率监测物理机的负载,其中,监测频率表示单位时间内监测物理机负载的次数。
可选的,在所述根据所述第一负载和物理机的历史负载预测所述物理机的负载,作为第二负载的步骤之前,还包括:
利用以下表达式计算所述物理机负载的波动率:
其中,αload表示物理机负载的波动率,n表示时刻,loadi表示第i时刻物理机的负载,loadavg表示物理机历史负载的平均值;
相应地,所述根据所述第一负载和物理机的历史负载预测所述物理机的负载,作为第二负载的步骤包括:
在所述物理机负载的波动率小于第五预设阈值的情况下,根据所述第一负载和物理机的历史负载预测所述物理机的负载,作为第二负载。
可选的,所述根据所述第一负载和物理机的历史负载预测所述物理机的负载,作为第二负载的步骤,包括:
在所述第一负载和物理机的历史负载中选取N个负载,得到N个粒子;
利用状态转移方程得到每一粒子的预测粒子;
依据每一预测粒子与该粒子对应的实际负载之间的差值越小权重越大的分配原则,为每一预测粒子分配权重;
按照权重由大到小的顺序选取第一数量的预测粒子,并按照权重由小到大的顺序选取第二数量的预测粒子;
根据所选取的第一数量的预测粒子和第二数量的预测粒子的分布规律得到所述物理机负载的预测概率分布函数;
根据所述预测概率分布函数预测所述物理机的负载,作为第二负载。
可选的,所述迁出所述物理机内运行的虚拟机的步骤,包括:
获取所述物理机内运行的各个虚拟机的历史负载;
利用以下表达式分别计算所述物理机内运行的各个虚拟机负载的波动率:
其中,vmαload表示虚拟机负载的波动率,n表示时刻,vmloadi表示第i个时刻虚拟机的负载,vmloadavg表示虚拟机历史负载的平均值;
按照各个虚拟机负载的波动率由小到大的顺序选择M个虚拟机,作为目标虚拟机,其中,所述M个虚拟机的负载之和小于第六预设阈值;
迁出所述目标虚拟机。
本发明实施的又一方面,还提供了一种虚拟机调度装置,该装置包括:
监测模块,用于监测物理机的负载,作为第一负载;
获取模块,用于在所述第一负载高于第一预设数值的时长高于第一预设时长的情况下,获取所述物理机的历史负载;
预测模块,用于根据所述第一负载和物理机的历史负载预测所述物理机的负载,作为第二负载;
迁出模块,用于在所述第二负载高于第二预设数值的情况下,迁出所述物理机内运行的虚拟机。
可选的,所述迁出模块,还用于在所述第一负载小于第三预设数值的时长高于第二预设时长的情况下,迁出所述物理机内运行的虚拟机,并关闭所述物理机。
可选的,所述监测模块,用于
在所述第一负载不小于第四预设数值的情况下,采用第一监测频率监测物理机的负载;
在所述第一负载小于第四预设数值的情况下,采用第二监测频率监测物理机的负载,其中,监测频率表示单位时间内监测物理机负载的次数。
可选的,所述装置还包括:计算模块,用于
利用以下表达式计算所述物理机负载的波动率:
其中,αload表示物理机负载的波动率,n表示时刻,loadi表示第i时刻物理机的负载,loadavg表示物理机历史负载的平均值;
在所述物理机负载的波动率小于第五预设阈值的情况下,触发所述预测模块220。
可选的,所述预测模块220,用于
在所述第一负载和物理机的历史负载中选取N个负载,得到N个粒子;
利用状态转移方程得到每一粒子的预测粒子;
依据每一预测粒子与该粒子对应的实际负载之间的差值越小权重越大的分配原则,为每一预测粒子分配权重;
按照权重由大到小的顺序选取第一数量的预测粒子,并按照权重由小到大的顺序选取第二数量的预测粒子;
根据所选取的第一数量的预测粒子和第二数量的预测粒子的分布规律得到所述物理机负载的预测概率分布函数;
根据所述预测概率分布函数预测所述物理机的负载,作为第二负载。
可选的,所述迁出模块230,用于
获取所述物理机内运行的各个虚拟机的历史负载;
利用以下表达式分别计算所述物理机内运行的各个虚拟机负载的波动率:
其中,vmαload表示虚拟机负载的波动率,n表示时刻,vmloadi表示第i个时刻虚拟机的负载,vmloadavg表示虚拟机历史负载的平均值;
按照各个虚拟机负载的波动率由小到大的顺序选择M个虚拟机,作为目标虚拟机,其中,所述M个虚拟机的负载之和小于第六预设阈值;
迁出所述目标虚拟机。
本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一项所述的虚拟机调度方法。
本发明实施例提供的虚拟机调度方法及装置,可以实时监测物理机的负载,并在物理机的负载高于第一预设数值的时长大于第一预设时长的情况下,获取物理机的历史负载,根据物理机的历史负载和当前负载来预测物理机未来一段时间的负载,并在所预测的负载高于第二预设数值的情况下,迁出物理机内运行的虚拟机。应用本发明实施例提供的方案,依据物理机历史负载和当前负载来预测物理机未来一段时间的负载,进而根据预测值来触发是否进行物理机内虚拟机的迁移,从而能够有效避免物理机的瞬时负载峰值引发的不必要的虚拟机迁移,保障物理机的工作效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种虚拟机调度方法的流程示意图;
图2为本发明实施例提供的一种虚拟机调度装置的结构示意图;
图3为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,为本发明实施例提供的一种虚拟机调度方法的流程示意图,该方法包括:
S100,监测物理机的负载,作为第一负载。
在实施中,对物理机负载的检测不可避免地会带来一定的性能开销,较高频率的检测能及早发现物理机的过载状态,但是,较高频率的负载监测会导致物理机的性能损失较大;而较低频率的监测物理机的性能损失小,但不利于及时发现物理机的过载状态。基于此,本发明实施例一种实现方式中,可以使用双频次物理机负载检测方法,来监测物理机的负载。
具体的,可以在第一负载不小于第四预设数值的情况下,采用第一监测频率监测物理机的负载;在第一负载小于第四预设数值的情况下,采用第二监测频率监测物理机的负载,其中,监测频率表示单位时间内监测物理机负载的次数,比如,每分钟监测物理机负载的次数为10,相应地监测频率则为10次/分钟。
比如,在物理机的负载不小于75%的情况下,采用高监测频率来监测物理机的负载;在物理机的负载小于75%的情况下,采用低监测频率来监测物理机的负载。
S110,在第一负载高于第一预设数值的时长大于第一预设时长的情况下,获取物理机的历史负载。
在实施中,物理机可以周期性的采集自身的负载,并将负载添加时间戳后按照时序保存,相应地,在需要获取历史负载时,可以提取保存的负载;并且,可以按照时间戳的时序关系,提取特定时间段内的负载。
在实施中,第一预设数值可以为80%、85%等;第一预设时长可以为5分钟、10分钟等。
一种实现方式中,当第一负载小于第三预设数值的时长大于第二预设时长的情况下,迁出物理机内运行的虚拟机,并关闭所述物理机。当物理机的负载偏低时,也就是物理机的有效能耗低,此时则可以将物理机内运行的虚拟机全部迁出,并关闭物理机。
在实施中,第三预设数值可以为20%、25%等;第二预设时长可以为5分钟、10分钟等。
S120,根据第一负载和物理机的历史负载预测物理机的负载,作为第二负载。
在实施中,除了物理机的当前负载和未来负载对虚拟机迁移有重要的参考价值外,物理机负载的稳定性对于决定是否要迁移出虚拟机也有重要的参考意义。基于此,本发明实施例一种实现方式中,可以计算物理机负载的波动率来决定是否迁出物理机内的虚拟机。
具体的,可以利用以下表达式计算物理机负载的波动率:
其中,αload表示物理机负载的波动率,n表示时刻,loadi表示第i时刻物理机的负载,loadavg表示物理机历史负载的平均值;
只有在物理机负载的波动率小于第五预设阈值的情况下,才会确定需要迁出物理机内的虚拟机,进而会根据第一负载和物理机的历史负载预测物理机的负载,作为第二负载。
在实施中,第五预设阈值可以为30%、20%等。
一种实现方式中,可以基于粒子滤波算法来根据第一负载和物理机的历史负载预测物理机的负载。具体的,可以包括以下步骤A1-A6:
步骤A1,在第一负载和物理机的历史负载中选取N个负载,得到N个粒子。
步骤A2,利用状态转移方程得到每一粒子的预测粒子。
在实施中,物理机负载的状态空间描述为:
其中,f(xk-1),h(xk)分别为状态转移方程和观测方程,xk为物理机负载状态,yk为物理机负载的观测值,uk为过程噪声,vk为观测噪声。状态方程的状态转移概率密度为p(xk|xk-1),观测方程的观测概率密度为p(yk|xk)。
具体的,可以将选取的N个粒子分别输入值状态转移方程来得到每一粒子的预测粒子。
步骤A3,依据每一预测粒子与该粒子对应的实际负载之间的差值越小权重越大的分配原则,为每一预测粒子分配权重。
具体的,可以按公式计算每一预测粒子的权值,其中,i=1,2,···,N。
步骤A4,按照权重由大到小的顺序选取第一数量的预测粒子,并按照权重由小到大的顺序选取第二数量的预测粒子。
在实施中,第一数量和第二数量可以根据预测准确性来决定,第一数量和第二数量越大最终预测得到的结果越准确。
步骤A5,根据所选取的第一数量的预测粒子和第二数量的预测粒子的分布规律得到物理机负载的预测概率分布函数。
具体的,可以直接将所选取的第一数量的预测粒子和第二数量的预测粒子代入状态转移方程,从而得到预测概率分布函数。
步骤A6,根据预测概率分布函数预测物理机的负载,作为第二负载。
S130,在第二负载高于第二预设数值的情况下,迁出物理机内运行的虚拟机。
在实施中,第二预设数值可以为85%、90%等。
在实施中,为了保证虚拟机迁出的稳定性,以及降低虚拟机迁出和迁入对物理机带来过大的性能波动,本发明一种实现方式中,可以计算物理机内运行的各个虚拟机负载的波动率,依据各个虚拟机负载的波动率来选择需要迁出的虚拟机。
具体的,可以获取物理机内运行的各个虚拟机的历史负载;
利用以下表达式分别计算物理机内运行的各个虚拟机负载的波动率:
其中,vmαload表示虚拟机负载的波动率,n表示时刻,vmloadi表示第i个时刻虚拟机的负载,vmloadavg表示虚拟机历史负载的平均值;
按照各个虚拟机负载的波动率由小到大的顺序选择M个虚拟机,作为目标虚拟机,其中,M个虚拟机的负载之和小于第六预设阈值;
迁出目标虚拟机。
在实施中,第六预设阈值可以为80%、85%等。
在虚拟机迁移过程中,需要将正在运行的虚拟机内存进行镜像保存,通过云平台内部网络迁移到虚拟机将要迁移到目标物理机上。
虚拟机迁移过程中会有短暂的停机过程,负载平稳的虚拟机难以在迁移过程中遇到瞬时负载峰值的现象,这样迁出负载稳定的虚拟机不会对物理机整体性能的稳定性造成过多的负面影响;并且迁出的虚拟机负载平稳,根据负载的趋势性,虚拟机迁出到目标物理机上时,目标物理机的负载也不会造成其较大的性能波动,能有效地降低目标物理机过载的概率。
参见图2,为本发明实施例提供的一种虚拟机调度装置的结构示意图,该装置包括:
监测模块200,用于监测物理机的负载,作为第一负载;
获取模块210,用于在所述第一负载高于第一预设数值的时长高于第一预设时长的情况下,获取所述物理机的历史负载;
预测模块220,用于根据所述第一负载和物理机的历史负载预测所述物理机的负载,作为第二负载;
迁出模块230,用于在所述第二负载高于第二预设数值的情况下,迁出所述物理机内运行的虚拟机。
一种实现方式中,所述迁出模块,还用于在所述第一负载小于第三预设数值的时长高于第二预设时长的情况下,迁出所述物理机内运行的虚拟机,并关闭所述物理机。
一种实现方式中,所述监测模块,用于
在所述第一负载不小于第四预设数值的情况下,采用第一监测频率监测物理机的负载;
在所述第一负载小于第四预设数值的情况下,采用第二监测频率监测物理机的负载,其中,监测频率表示单位时间内监测物理机负载的次数。
一种实现方式中,所述装置还包括:计算模块,用于
利用以下表达式计算所述物理机负载的波动率:
其中,αload表示物理机负载的波动率,n表示时刻,loadi表示第i时刻物理机的负载,loadavg表示物理机历史负载的平均值;
在所述物理机负载的波动率小于第五预设阈值的情况下,触发所述预测模块220。
一种实现方式中,所述预测模块220,用于
在所述第一负载和物理机的历史负载中选取N个负载,得到N个粒子;
利用状态转移方程得到每一粒子的预测粒子;
依据每一预测粒子与该粒子对应的实际负载之间的差值越小权重越大的分配原则,为每一预测粒子分配权重;
按照权重由大到小的顺序选取第一数量的预测粒子,并按照权重由小到大的顺序选取第二数量的预测粒子;
根据所选取的第一数量的预测粒子和第二数量的预测粒子的分布规律得到所述物理机负载的预测概率分布函数;
根据所述预测概率分布函数预测所述物理机的负载,作为第二负载。
一种实现方式中,所述迁出模块230,用于
获取所述物理机内运行的各个虚拟机的历史负载;
利用以下表达式分别计算所述物理机内运行的各个虚拟机负载的波动率:
其中,vmαload表示虚拟机负载的波动率,n表示时刻,vmloadi表示第i个时刻虚拟机的负载,vmloadavg表示虚拟机历史负载的平均值;
按照各个虚拟机负载的波动率由小到大的顺序选择M个虚拟机,作为目标虚拟机,其中,所述M个虚拟机的负载之和小于第六预设阈值;
迁出所述目标虚拟机。
应用本发明实施例提供的方案,依据物理机历史负载和当前负载来预测物理机未来一段时间的负载,进而根据预测值来触发是否进行物理机内虚拟机的迁移,从而能够有效避免物理机的瞬时负载峰值引发的不必要的虚拟机迁移,保障物理机的工作效率。
本发明实施例还提供了一种电子设备,如图3所示,包括处理器001、通信接口002、存储器003和通信总线004,其中,处理器001,通信接口002,存储器003通过通信总线004完成相互间的通信,
存储器003,用于存放计算机程序;
处理器001,用于执行存储器003上所存放的程序时,上述任一所述的虚拟机调度方法,该方法包括:
监测物理机的负载,作为第一负载;
在所述第一负载高于第一预设数值的时长大于第一预设时长的情况下,获取所述物理机的历史负载;
根据所述第一负载和物理机的历史负载预测所述物理机的负载,作为第二负载;
在所述第二负载高于第二预设数值的情况下,迁出所述物理机内运行的虚拟机。
应用本发明实施例提供的方案,依据物理机历史负载和当前负载来预测物理机未来一段时间的负载,进而根据预测值来触发是否进行物理机内虚拟机的迁移,从而能够有效避免物理机的瞬时负载峰值引发的不必要的虚拟机迁移,保障物理机的工作效率。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (6)
1.一种虚拟机调度方法,其特征在于,所述方法包括:
监测物理机的负载,作为第一负载;
在所述第一负载高于第一预设数值的时长大于第一预设时长的情况下,获取所述物理机的历史负载;
根据所述第一负载和物理机的历史负载预测所述物理机的负载,作为第二负载;
在所述第二负载高于第二预设数值的情况下,迁出所述物理机内运行的虚拟机;
所述监测物理机的负载的步骤,包含:
在所述第一负载不小于第四预设数值的情况下,采用第一监测频率监测物理机的负载;
在所述第一负载小于第四预设数值的情况下,采用第二监测频率监测物理机的负载,其中,监测频率表示单位时间内监测物理机负载的次数;
所述根据所述第一负载和物理机的历史负载预测所述物理机的负载,作为第二负载的步骤,包括:
在所述第一负载和物理机的历史负载中选取N个负载,得到N个粒子;
利用状态转移方程得到每一粒子的预测粒子;
依据每一预测粒子与该粒子对应的实际负载之间的差值越小权重越大的分配原则,为每一预测粒子分配权重;
按照权重由大到小的顺序选取第一数量的预测粒子,并按照权重由小到大的顺序选取第二数量的预测粒子;
根据所选取的第一数量的预测粒子和第二数量的预测粒子的分布规律得到所述物理机负载的预测概率分布函数;
根据所述预测概率分布函数预测所述物理机的负载,作为第二负载;
所述迁出所述物理机内运行的虚拟机的步骤,包括:
获取所述物理机内运行的各个虚拟机的历史负载;
利用以下表达式分别计算所述物理机内运行的各个虚拟机负载的波动率:
其中,vmaload表示虚拟机负载的波动率,n表示时刻,vmloadi表示第i个时刻虚拟机的负载,vmloadavg表示虚拟机历史负载的平均值;
按照各个虚拟机负载的波动率由小到大的顺序选择M个虚拟机,作为目标虚拟机,其中,所述M个虚拟机的负载之和小于第六预设阈值;
迁出所述目标虚拟机。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一负载小于第三预设数值的时长大于第二预设时长的情况下,迁出所述物理机内运行的虚拟机,并关闭所述物理机。
3.如权利要求1所述的方法,其特征在于,在所述根据所述第一负载和物理机的历史负载预测所述物理机的负载,作为第二负载的步骤之前,还包括:
利用以下表达式计算所述物理机负载的波动率:
其中,αload表示物理机负载的波动率,n表示时刻,loadi表示第i时刻物理机的负载,loadavg表示物理机历史负载的平均值;
相应地,所述根据所述第一负载和物理机的历史负载预测所述物理机的负载,作为第二负载的步骤包括:
在所述物理机负载的波动率小于第五预设阈值的情况下,根据所述第一负载和物理机的历史负载预测所述物理机的负载,作为第二负载。
4.一种虚拟机调度装置,其特征在于,所述装置包括:
监测模块,用于监测物理机的负载,作为第一负载;
获取模块,用于在所述第一负载高于第一预设数值的时长高于第一预设时长的情况下,获取所述物理机的历史负载;
预测模块,用于根据所述第一负载和物理机的历史负载预测所述物理机的负载,作为第二负载;
迁出模块,用于在所述第二负载高于第二预设数值的情况下,迁出所述物理机内运行的虚拟机;
所述监测模块,用于
在所述第一负载不小于第四预设数值的情况下,采用第一监测频率监测物理机的负载;
在所述第一负载小于第四预设数值的情况下,采用第二监测频率监测物理机的负载,其中,监测频率表示单位时间内监测物理机负载的次数;
所述预测模块,用于在所述第一负载和物理机的历史负载中选取N个负载,得到N个粒子;
利用状态转移方程得到每一粒子的预测粒子;
依据每一预测粒子与该粒子对应的实际负载之间的差值越小权重越大的分配原则,为每一预测粒子分配权重;
按照权重由大到小的顺序选取第一数量的预测粒子,并按照权重由小到大的顺序选取第二数量的预测粒子;
根据所选取的第一数量的预测粒子和第二数量的预测粒子的分布规律得到所述物理机负载的预测概率分布函数;
根据所述预测概率分布函数预测所述物理机的负载,作为第二负载;
所述迁出模块,用于获取所述物理机内运行的各个虚拟机的历史负载;
利用以下表达式分别计算所述物理机内运行的各个虚拟机负载的波动率:
其中,vmaload表示虚拟机负载的波动率,n表示时刻,vmloadi表示第i个时刻虚拟机的负载,vmloadavg表示虚拟机历史负载的平均值;
按照各个虚拟机负载的波动率由小到大的顺序选择M个虚拟机,作为目标虚拟机,其中,所述M个虚拟机的负载之和小于第六预设阈值;
迁出所述目标虚拟机。
5.如权利要求4所述的装置,其特征在于,
所述迁出模块,还用于在所述第一负载小于第三预设数值的时长高于第二预设时长的情况下,迁出所述物理机内运行的虚拟机,并关闭所述物理机。
6.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911410813.7A CN111158862B (zh) | 2019-12-31 | 2019-12-31 | 一种虚拟机调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911410813.7A CN111158862B (zh) | 2019-12-31 | 2019-12-31 | 一种虚拟机调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111158862A CN111158862A (zh) | 2020-05-15 |
CN111158862B true CN111158862B (zh) | 2024-03-05 |
Family
ID=70560022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911410813.7A Active CN111158862B (zh) | 2019-12-31 | 2019-12-31 | 一种虚拟机调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111158862B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593133A (zh) * | 2009-06-29 | 2009-12-02 | 北京航空航天大学 | 虚拟机资源负载均衡方法及装置 |
CN102123087A (zh) * | 2011-02-18 | 2011-07-13 | 天津博宇铭基信息科技有限公司 | 快速定标多级转发负载均衡方法及多级转发网络系统 |
CN104702680A (zh) * | 2015-02-13 | 2015-06-10 | 安科智慧城市技术(中国)有限公司 | 一种资源监测方法及系统 |
CN106970831A (zh) * | 2017-05-15 | 2017-07-21 | 金航数码科技有限责任公司 | 一种面向云平台的虚拟机资源动态调度系统及方法 |
CN108804198A (zh) * | 2017-04-26 | 2018-11-13 | 北京邮电大学 | 一种基于利用率变化趋势预测的虚拟机迁移时机确定方法 |
CN110389813A (zh) * | 2019-06-17 | 2019-10-29 | 东南大学 | 一种面向网络靶场的虚拟机动态迁移方法 |
-
2019
- 2019-12-31 CN CN201911410813.7A patent/CN111158862B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593133A (zh) * | 2009-06-29 | 2009-12-02 | 北京航空航天大学 | 虚拟机资源负载均衡方法及装置 |
CN102123087A (zh) * | 2011-02-18 | 2011-07-13 | 天津博宇铭基信息科技有限公司 | 快速定标多级转发负载均衡方法及多级转发网络系统 |
CN104702680A (zh) * | 2015-02-13 | 2015-06-10 | 安科智慧城市技术(中国)有限公司 | 一种资源监测方法及系统 |
CN108804198A (zh) * | 2017-04-26 | 2018-11-13 | 北京邮电大学 | 一种基于利用率变化趋势预测的虚拟机迁移时机确定方法 |
CN106970831A (zh) * | 2017-05-15 | 2017-07-21 | 金航数码科技有限责任公司 | 一种面向云平台的虚拟机资源动态调度系统及方法 |
CN110389813A (zh) * | 2019-06-17 | 2019-10-29 | 东南大学 | 一种面向网络靶场的虚拟机动态迁移方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111158862A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108009016B (zh) | 一种资源负载均衡控制方法及集群调度器 | |
US10558544B2 (en) | Multiple modeling paradigm for predictive analytics | |
CN108038040B (zh) | 计算机集群性能指标检测方法、电子设备及存储介质 | |
US10523580B2 (en) | Automatic cloud provisioning based on related internet news and social network trends | |
US10528378B2 (en) | System and method for load estimation of virtual machines in a cloud environment and serving node | |
CN106776288B (zh) | 一种基于Hadoop的分布式系统的健康度量方法 | |
CN110753112A (zh) | 云服务的弹性伸缩方法和装置 | |
CN111198808A (zh) | 预测性能指标的方法、装置、存储介质及电子设备 | |
CN112882889A (zh) | 异常监控方法、系统、电子设备和存储介质 | |
CN104616173B (zh) | 预测用户流失的方法以及设备 | |
CN114500339B (zh) | 一种节点带宽监测方法、装置、电子设备及存储介质 | |
CN109413694B (zh) | 一种基于内容流行度预测的小小区缓存方法及装置 | |
CN112506619A (zh) | 作业处理方法、装置、电子设备、存储介质和程序产品 | |
CN111431996A (zh) | 用于资源配置的方法、装置、设备和介质 | |
WO2021061090A1 (en) | Time-series anomaly detection using an inverted index | |
CN111400045B (zh) | 一种负载均衡方法及装置 | |
CN111835536B (zh) | 一种流量预测方法和装置 | |
CN111800807A (zh) | 一种基站用户数量告警的方法及装置 | |
JP6068296B2 (ja) | 制御装置、計算資源管理方法及び計算資源管理プログラム | |
CN111158862B (zh) | 一种虚拟机调度方法及装置 | |
CN117834626A (zh) | 一种边缘物联设备任务负载分配方法、装置、系统及存储介质 | |
CN110377533B (zh) | 一种用于云计算及边缘计算的缓存置换方法及装置 | |
CN110955587A (zh) | 一种待更换设备确定方法及装置 | |
US10409704B1 (en) | Systems and methods for resource utilization reporting and analysis | |
CN113127187B (zh) | 用于集群扩缩容的方法和装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |