基于温度预测的虚拟机迁移规划调度方法及其系统与介质技术方案

技术编号:25521164 阅读:25 留言:0更新日期:2020-09-04 17:11
本发明专利技术提供了一种基于温度预测的虚拟机迁移规划调度方法及其系统与介质,其以云服务器历史数据训练得到云服务器温度初始预测模型,并在调度过程中实时获取新增训练数据,实时更新温度预测模型,实时预测云服务器温度;根据当前实时预测的云服务器温度、云服务器负载确定需迁出虚拟机的云服务器;综合考虑虚拟机的客户属性及虚拟机迁移工作量代价确定需迁移虚拟机;将虚拟机迁移到预测温度最低的满足负荷要求的运行状态云服务器,最小化运行状态云服务器温度及运行状态云服务器数量,从而达成云数据中心节能的效果。

【技术实现步骤摘要】
基于温度预测的虚拟机迁移规划调度方法及其系统与介质
本专利技术涉及基础架构即服务(IaaS)云数据中心节能领域,具体地,涉及基于温度预测的虚拟机迁移规划调度方法及其系统与介质。尤其是同时考虑到最小化运行状态云服务器温度与数量的节能技术方案。
技术介绍
随着信息产业及社会经济的不断发展,IaaS云计算作为一种新兴的资源使用和交付服务模式规模呈快速增长的趋势。作为IaaS云计算服务的承载体,IaaS云数据中心的能耗已成为影响IaaS云计算服务成本的瓶颈。在传统的分布式计算系统中,计算任务的计算量和/或计算时长往往预先已知,计算系统可根据多个计算任务的计算量预先规划计算任务在服务器的分配以达到服务器总能耗最低的节能目标;但是对于IaaS云数据中心而言,用户的计算任务是未知的,因此仅能通过监控IaaS云数据中心云服务器的实际使用情况实时规划虚拟机的迁移路径以实现IaaS云数据中心节能。但是,现有技术中的虚拟机迁移调度方案通常依据当前云服务器的负载信息实施调度规划,而非考虑云服务器的热负载(即温度),无法将虚拟机迁移调度策略与数据中心节能目标直接挂钩。或者是,现有技术在实施虚拟机迁移调度时,仅依赖于对云服务器当前温度的感知,而非利用对云服务器未来温度的预测实施规划,往往导致调度迟滞于负荷变化,无法做到及时有效转移云服务器负荷。因此,需要设计一种全新的虚拟机迁移调度规划方法,以对云服务器未来温度的预测作为依据,将虚拟机迁移到预测温度低的云服务器,最小化处于工作状态云服务器温度及数量,从而降低IaaS云数据中心云服务器总能耗,最终达到IaaS云数据中心节能的目的。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种基于温度预测的虚拟机迁移规划调度方法及其系统与介质。根据本专利技术提供的一种基于温度预测的虚拟机迁移规划调度方法,包括:步骤S1:获取云数据中心云服务器列表,获取基于贝叶斯线性回归的温度预测模型对所述云数据中心云服务器列表中的每个云服务器温度的预测值,得到云服务器的预测温度;步骤S2:将运行状态云服务器列表中负荷监控指标满足低负荷条件的运行状态云服务器,定义为低负荷云服务器,构建低负荷云服务器列表;步骤S3:遍历所述低负荷云服务器列表,获取每台低负荷云服务器中的虚拟机,并列入待迁移虚拟机列表;步骤S4:根据宿主云服务器列表中各个宿主云服务器的所述预测温度及剩余负荷容量确定所述待迁移虚拟机列表中每个虚拟机的目标宿主云服务器,并完成虚拟机迁移;其中,所述宿主云服务器包括正常运行状态云服务器、休眠状态云服务器列表中的云服务器;目标宿主云服务器的选择顺序为优先选择正常运行状态云服务器,无符合匹配条件正常运行状态云服务器时,选择休眠状态云服务器;正常运行状态云服务器定义为运行状态云服务器列表中未列入低负荷云服务器列表且未列入告警云服务器列表的云服务器;步骤S5:将虚拟机已经全部迁移出的低负荷云服务器设置为休眠状态,列出运行状态云服务器列表,并列入休眠状态云服务器列表;步骤S6:将所述运行状态云服务器列表中监控指标满足告警条件的运行状态云服务器,定义为告警云服务器,将全部告警云服务器列入告警云服务器列表;步骤S7:遍历所述告警云服务器列表,得到每台告警云服务器中的最高迁移优先级的虚拟机,并列入待迁移虚拟机列表;步骤S8:根据宿主云服务器列表中各个宿主云服务器的所述预测温度及剩余负荷容量确定所述待迁移虚拟机列表中每个虚拟机的目标宿主云服务器,并完成虚拟机迁移;步骤S9:将虚拟机已经全部迁移出的告警云服务器设置为休眠状态,列出运行状态云服务器列表,并列入休眠状态云服务器列表;步骤S10:判断流程是否结束;若是,则结束流程;若否,则跳转到所述步骤S1继续执行。优选地,所述步骤S1中的所述温度预测模型,是通过如下步骤得到的:步骤S101:利用历史上采样数据构建初始训练数据集,对贝叶斯线性回归模型进行初始训练,得到初始的温度预测模型;步骤S102:在云数据中心日常运行过程中,实时采集新增训练数据集,以增量的方式对当前的云服务器温度预测模型进行在线的增量训练,更新温度预测模型并使用温度预测模型对云服务器未来温度实施预测,获得云服务器未来温度预测值;其中:所述步骤S101包括如下步骤:步骤S10101:定义每两个相邻采样时刻间的时段为一个采样周期,在每一个采样周期上定义一个预测周期,预测周期的长度为温度预测模型的预测深度,预测周期初始时刻为同一采样周期初始时刻;其中,将预测周期初始时刻时云服务器的指标数据作为模型输入数据指标,将同一预测周期结束时刻时的实测的云服务器温度作为模型输出数据指标,来构建初始训练数据集;其中,所述实测的云服务器温度定义为实测的云服务器不同部位和/或组件温度的算术平均值;步骤S10102:对初始训练数据集进行预处理;步骤S10103:利用预处理后的初始训练数据集,对贝叶斯线性回归模型进行训练,获取初始的贝叶斯线性回归模型的参数后验分布函数;步骤S10104:输出初始的贝叶斯线性回归模型的参数后验分布函数;所述步骤S102包括如下步骤:步骤S10201:输入当前的贝叶斯线性回归模型的参数后验分布函数;步骤S10202:获取新增训练数据集;其中,所述新增训练数据集包括:云服务器在当前采样周期初始时刻结束的预测周期初始时刻时的指标数据作为输入数据指标、云服务器在当前采样周期初始时刻结束的预测周期结束时刻时的实测的云服务器温度作为输出数据指标;其中,所述实测的云服务器温度定义为实测的云服务器不同部位和/或组件温度的算术平均值;步骤S10203:对新增训练数据集进行预处理;步骤S10204:利用预处理后的新增训练数据集对当前的贝叶斯线性回归模型进行增量训练,更新当前贝叶斯线性回归模型的参数后验分布函数;步骤S10205:获取当前贝叶斯线性回归模型的参数贝叶斯最优估计;步骤S10206:基于当前的贝叶斯线性回归模型的参数贝叶斯最优估计预测当前预测周期结束时刻时云服务器的温度;步骤S10207:输出云服务器的预测温度;步骤S10208:判断云服务器预测温度流程是否结束;若是,则结束流程;若否,则跳转到步骤S10202继续执行。优选地,所述步骤S10101和步骤S10202中,云服务器温度预测模型训练数据指标包括输入数据指标、输出数据指标;输入数据指标包括如下任一种或任多种数据:云服务器CPU核数;云服务器使用CPU核数;云服务器CPU利用率;云服务器内存量;云服务器内存使用率;云服务器CPU的当前频率;云服务器输入网络流量;云服务器输出网络流量;云服务器每个风扇转速;云服务器节点部署虚拟机数量;输出数据指标包括如下任一种数据或任多种数据的算数平均值:实测的云服务器进风温度;实测的本文档来自技高网
...

【技术保护点】
1.一种基于温度预测的虚拟机迁移规划调度方法,其特征在于,包括:/n步骤S1:获取云数据中心云服务器列表,获取基于贝叶斯线性回归的温度预测模型对所述云数据中心云服务器列表中的每个云服务器温度的预测值,得到云服务器的预测温度;/n步骤S2:将运行状态云服务器列表中负荷监控指标满足低负荷条件的运行状态云服务器,定义为低负荷云服务器,构建低负荷云服务器列表;/n步骤S3:遍历所述低负荷云服务器列表,获取每台低负荷云服务器中的虚拟机,并列入待迁移虚拟机列表;/n步骤S4:根据宿主云服务器列表中各个宿主云服务器的所述预测温度及剩余负荷容量确定所述待迁移虚拟机列表中每个虚拟机的目标宿主云服务器,并完成虚拟机迁移;其中,所述宿主云服务器包括正常运行状态云服务器、休眠状态云服务器列表中的云服务器;目标宿主云服务器的选择顺序为优先选择正常运行状态云服务器,无符合匹配条件正常运行状态云服务器时,选择休眠状态云服务器;正常运行状态云服务器定义为运行状态云服务器列表中未列入低负荷云服务器列表且未列入告警云服务器列表的云服务器;/n步骤S5:将虚拟机已经全部迁移出的低负荷云服务器设置为休眠状态,列出运行状态云服务器列表,并列入休眠状态云服务器列表;/n步骤S6:将所述运行状态云服务器列表中监控指标满足告警条件的运行状态云服务器,定义为告警云服务器,将全部告警云服务器列入告警云服务器列表;/n步骤S7:遍历所述告警云服务器列表,得到每台告警云服务器中的最高迁移优先级的虚拟机,并列入待迁移虚拟机列表;/n步骤S8:根据宿主云服务器列表中各个宿主云服务器的所述预测温度及剩余负荷容量确定所述待迁移虚拟机列表中每个虚拟机的目标宿主云服务器,并完成虚拟机迁移;/n步骤S9:将虚拟机已经全部迁移出的告警云服务器设置为休眠状态,列出运行状态云服务器列表,并列入休眠状态云服务器列表;/n步骤S10:判断流程是否结束;若是,则结束流程;若否,则跳转到所述步骤S1继续执行。/n...

【技术特征摘要】
1.一种基于温度预测的虚拟机迁移规划调度方法,其特征在于,包括:
步骤S1:获取云数据中心云服务器列表,获取基于贝叶斯线性回归的温度预测模型对所述云数据中心云服务器列表中的每个云服务器温度的预测值,得到云服务器的预测温度;
步骤S2:将运行状态云服务器列表中负荷监控指标满足低负荷条件的运行状态云服务器,定义为低负荷云服务器,构建低负荷云服务器列表;
步骤S3:遍历所述低负荷云服务器列表,获取每台低负荷云服务器中的虚拟机,并列入待迁移虚拟机列表;
步骤S4:根据宿主云服务器列表中各个宿主云服务器的所述预测温度及剩余负荷容量确定所述待迁移虚拟机列表中每个虚拟机的目标宿主云服务器,并完成虚拟机迁移;其中,所述宿主云服务器包括正常运行状态云服务器、休眠状态云服务器列表中的云服务器;目标宿主云服务器的选择顺序为优先选择正常运行状态云服务器,无符合匹配条件正常运行状态云服务器时,选择休眠状态云服务器;正常运行状态云服务器定义为运行状态云服务器列表中未列入低负荷云服务器列表且未列入告警云服务器列表的云服务器;
步骤S5:将虚拟机已经全部迁移出的低负荷云服务器设置为休眠状态,列出运行状态云服务器列表,并列入休眠状态云服务器列表;
步骤S6:将所述运行状态云服务器列表中监控指标满足告警条件的运行状态云服务器,定义为告警云服务器,将全部告警云服务器列入告警云服务器列表;
步骤S7:遍历所述告警云服务器列表,得到每台告警云服务器中的最高迁移优先级的虚拟机,并列入待迁移虚拟机列表;
步骤S8:根据宿主云服务器列表中各个宿主云服务器的所述预测温度及剩余负荷容量确定所述待迁移虚拟机列表中每个虚拟机的目标宿主云服务器,并完成虚拟机迁移;
步骤S9:将虚拟机已经全部迁移出的告警云服务器设置为休眠状态,列出运行状态云服务器列表,并列入休眠状态云服务器列表;
步骤S10:判断流程是否结束;若是,则结束流程;若否,则跳转到所述步骤S1继续执行。


2.根据权利要求1所述的基于温度预测的虚拟机迁移规划调度方法,其特征在于,所述步骤S1中的所述温度预测模型,是通过如下步骤得到的:
步骤S101:利用历史上采样数据构建初始训练数据集,对贝叶斯线性回归模型进行初始训练,得到初始的温度预测模型;
步骤S102:在云数据中心日常运行过程中,实时采集新增训练数据集,以增量的方式对当前的云服务器温度预测模型进行在线的增量训练,更新温度预测模型并使用温度预测模型对云服务器未来温度实施预测,获得云服务器未来温度预测值;
其中:
所述步骤S101包括如下步骤:
步骤S10101:定义每两个相邻采样时刻间的时段为一个采样周期,在每一个采样周期上定义一个预测周期,预测周期的长度为温度预测模型的预测深度,预测周期初始时刻为同一采样周期初始时刻;其中,将预测周期初始时刻时云服务器的指标数据作为模型输入数据指标,将同一预测周期结束时刻时的实测的云服务器温度作为模型输出数据指标,来构建初始训练数据集;其中,所述实测的云服务器温度定义为实测的云服务器不同部位和/或组件温度的算术平均值;
步骤S10102:对初始训练数据集进行预处理;
步骤S10103:利用预处理后的初始训练数据集,对贝叶斯线性回归模型进行训练,获取初始的贝叶斯线性回归模型的参数后验分布函数;
步骤S10104:输出初始的贝叶斯线性回归模型的参数后验分布函数;
所述步骤S102包括如下步骤:
步骤S10201:输入当前的贝叶斯线性回归模型的参数后验分布函数;
步骤S10202:获取新增训练数据集;其中,所述新增训练数据集包括:云服务器在当前采样周期初始时刻结束的预测周期初始时刻时的指标数据作为输入数据指标、云服务器在当前采样周期初始时刻结束的预测周期结束时刻时的实测的云服务器温度作为输出数据指标;其中,所述实测的云服务器温度定义为实测的云服务器不同部位和/或组件温度的算术平均值;
步骤S10203:对新增训练数据集进行预处理;
步骤S10204:利用预处理后的新增训练数据集对当前的贝叶斯线性回归模型进行增量训练,更新当前贝叶斯线性回归模型的参数后验分布函数;
步骤S10205:获取当前贝叶斯线性回归模型的参数贝叶斯最优估计;
步骤S10206:基于当前的贝叶斯线性回归模型的参数贝叶斯最优估计预测当前预测周期结束时刻时云服务器的温度;
步骤S10207:输出云服务器的预测温度;
步骤S10208:判断云服务器预测温度流程是否结束;若是,则结束流程;若否,则跳转到步骤S10202继续执行。


3.根据权利要求2所述的基于温度预测的虚拟机迁移规划调度方法,其特征在于,所述步骤S10101和步骤S10202中云服务器温度预测模型训练数据指标包括输入数据指标、输出数据指标;
输入数据指标包括如下任一种或任多种数据:
云服务器CPU核数;
云服务器使用CPU核数;
云服务器CPU利用率;
云服务器内存量;
云服务器内存使用率;
云服务器CPU的当前频率;
云服务器输入网络流量;
云服务器输出网络流量;
云服务器每个风扇转速;
云服务器节点部署虚拟机数量;
输出数据指标包括如下任一种数据或任多种数据的算数平均值:
实测的云服务器进风温度;
实测的云服务器出风温度;
实测的云服务器CPU温度;
实测的云服务器GPU温度。


4.根据权利要求2所述的基于温度预测的虚拟机迁移规划调度方法,其特征在于,所述步骤S10102和步骤S10203中的预处理包括如下步骤:
数据清洗步骤:如果在采样时刻获得的采样输入数据项的值为空缺值,使用该数据项的历史平均值填充空缺值;
归一化步骤:对于每一个输入数据项,将所述步骤S10102中定义的初始训练数据集中数据项的最小值、最大值分别记为、,将输入数据项的原始值映射成近似在区间[0,1]中的新值,其公式为:



将训练样本中每一输入数据项经预处理后获得的数据项的值合并为预处理后训练样本输入数据作为步骤S10103中贝叶斯线性回归初始训练和步骤S10204中贝叶斯线性回归增量训练的输入。


5.根据权利要求2所述的基于温度预测的虚拟机迁移规划调度方法,其特征在于,
所述步骤S10103包括:在贝叶斯线性回归初始训练阶段,选择模型参数先验分布服从给定初始超参数为,,的高斯-反GAMMA概率分布,贝叶斯线性回归模型在完成初始训练后,模型参数后验分布服从超参数为,,的高斯-反GAMMA概率分布,其中n表示初始训练数据集中的最后一个采样周期;超参数,,均为,,及初始训练样本集的简单函数,有解析解;
所述步骤S10204包括:在贝叶斯线性回归增量训练阶段,当前采样周期t之前的模型参数服从超参数为,,的高斯-反GAMMA概率分布,在当前采样周期t通过增添采样周期t的采样训练样本,更新当前采样周期t的模型参数为服从超参数,,的高斯-反GAMMA概率分布;超参数,,均为,,及增量训练样本的简单函数,有解析解。


6.根据权利要求1所述的基于温度预测的虚拟机迁移规划调度方法,其特征在于,低负荷条件是指:运行状态云服务器CPU使用率低于设定的第一阈值;
满足告警条件是指满足如下任一个条件:
第一条件,云服务器CPU使用率高于设定的第二阈值,其中,第二阈值大于第一阈值;
第二条件,云服务器当前的预测温度高于服务器警报温度。


7.根据权利要求1所述的基于温度预测的虚拟机迁移规划调度方法,其特征在于,在所述步骤S8中,根据如下步骤计算虚拟机迁移优先级V:
步骤S801:根据用户的月消费金额或年消费金额,以得到用户级别;根据所述用户级别,以得到用户优先级权重系数;所述用户优先级权重系数包括0~1之间的数值;
步骤S802:获取虚拟机内存大小;计算运行状态云服务器中所有虚拟机内存大小的平均值;根据所述虚拟机内存大小,以及所有运行状态云服务器中所有虚拟机内存大小的平均值,计算虚拟机常量迁移负荷权重系数,;
步骤S803:获取虚拟机单位时间内存变化率;计算所有运行状态云服务器中所有虚拟机单位时间内存变化率的平均值;根据所述虚拟机单位时间内存变化率,以及运行状态云服务器中所有虚拟机单位时间内存变化率的平均值,计算虚拟机增量迁移负荷权重系数,;
步骤S804:根据所述用户优先级权重系数、虚拟机常量迁移负荷权重系数以及虚拟机增量迁移负荷权重系数,计算虚拟机的迁移优先级:
根据迁移优先级计算公式:,其中,,,则虚拟机迁移优先级



其中,表示用户优先级权重系数,表示虚拟机常量迁移负荷权重系数,表示虚拟机增量迁移负荷权重系数,表示虚拟机的内存大小,表示所有运行状态云服务器中全部虚拟机的平均内存大小,表示虚拟机的单位时间内存变化率,表示所有运行状态云服务器中全部虚拟机的平均的单位时间内存变化率,为经验参数,取值范围(0,1]。


8.根据权利要求1所述的基于温度预测的虚拟机迁移规划调度方法,其特征在于,在所述步骤S4和步骤S8中,根据宿主云服务器列表中各个宿主云服务器的所述预测温度及剩余负荷容量确定所述待迁移虚拟机列表中每个虚拟机的目标宿主云服务器的步骤,均采用最小温度服务器分配原则算法,具体包括如下步骤:
步骤A:遍历所述待迁移虚拟机列表中的待迁移虚拟机,对于每个待迁移虚拟机执行第一循环步骤,其中,所述第一循环步骤包括如下步骤:
步骤a:遍历所有正常运行状态云服务器,获取每个正常运行状态云服务器当前的预测温度;
步骤b:将正常运行云服务器按照预测温度从低到高排序,得到排序后的待选择云服务器列表;
步骤c:遍历排序后的待选择云服务器列表,执行第二循环步骤,其中,所述第二循环步骤包括如下步骤:
步骤c1:对于当前待选择云服务器,判断当前待选择云服务器是否满足如下条件:
预测温度小于服务器警报温度阈值;
剩余CPU核数大于待迁移虚拟机的CPU核数需求;
剩余未分配内存量大于待迁移虚拟机的内存需求;
若是,则分配待迁移虚机给当前待选择云服务器,得到目标宿主云服务器;退出第二循环步骤;
若否,则进入步骤c2继续执行;
步骤c2:判断待选择云服务器列表是否存在下一个待选择云服务器;若是,则进入步骤c3继续执行;若否,则跳转到步骤c4继续执行;
步骤c3:将下一个待选择云服务器作为当前待选择云服务器,跳转到步骤c1继续执行;
步骤c4:从休眠状态云服务器列表中列出一云服务器,将这一云服务器列入正常运行状态云服务器列表,将这一云服务器作为当前待选择云服务器,跳转到步骤c1继续执行;
步骤B:判断是否存在下一个待迁移虚拟机;若否,则进入步骤C继续执行;若是,则进入步骤A继续执行第一循环步骤;
步骤C:得到待迁移虚拟机与目标宿主云服务器的匹配关系。


9.一种基于温度预测的虚拟机迁移规划调度系统,其特征在于,包括:
温度预测模型训练预测模块(100):训练基于贝叶斯线性回归的温度预测模型,利用温度预测模型进行温度预测,获得云服务器的预测温度;

【专利技术属性】
技术研发人员:李继文臧云峰安柯徐蓉
申请(专利权)人:上海有孚智数云创数字科技有限公司上海有孚网络股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1