一种虚拟化资源的调度方法及装置的制造方法_2

文档序号:9843973阅读:来源:国知局
该方法包括:获取所有虚拟机对应的虚拟化资源实际使用参数以及虚拟化资源分配参数;根据所述实际使用参数、所述分配参数以及预测算法,确定运行的虚拟机在下一个周期的虚拟化资源使用参数;根据获取到的所述虚拟化资源使用参数,生成调度指令,其中,所述调度指令用于调度虚拟机在下一个周期需要使用的虚拟化资源;根据所述虚拟化资源分配参数以及所述调度指令,确定所述下一个周期各个虚拟机的虚拟化资源分配量。也就是说,通过本发明实施例所提供的方法可以实时的按需的位虚拟机分配对应的虚拟化资源,从而提升了虚拟化资源的利用率,进而提升了虚拟化的进一步发展。
[0041]下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解,本发明实施例以及实施例中的具体技术特征只是对本发明技术方案的说明,而不是限定,在不冲突的情况下,本发明实施例以及实施例中的具体技术特征可以相互组合。
[0042]如图1所示为本发明实施例中一种虚拟化资源的调度方法的流程图,该方法包括:
[0043]SlOl,获取所有虚拟机对应的虚拟化资源实际使用参数以及虚拟化资源分配参数;
[0044]S102,根据实际使用参数、分配参数以及预测算法,确定运行的虚拟机在下一个周期的虚拟化资源使用参数;
[0045]S103,根据获取到的虚拟化资源使用参数,生成调度指令;
[0046]S104,根据虚拟化资源分配参数以及调度指令,确定下一个周期各个虚拟机的虚拟化资源分配量。
[0047]具体来讲,本发明实施例所提供的方法应用到一虚拟机监控器中,如图2所示为虚拟机监控器与虚拟化资源池之间的关系示意图,该虚拟机监控器包括了资源监控模块、数据分析模块、资源调度模块。
[0048]资源监控模块,记录所有虚拟机(包括已被删除的虚拟机)在不同时刻的虚拟化资源分配参数和虚拟化资源实际使用参数,拟化资源分配参数指虚拟机监控器在特定周期内为特定虚拟机分配的内存、CPU、磁盘和网络量;虚拟化资源实际使用参数指特定周期内特定虚拟机的内存、CPU、磁盘和网络的实际使用量;
[0049]进一步,资源监控模块记录所述虚拟化资源使用情况,所述虚拟化资源使用情况记录的虚拟机内存、CPU、磁盘和网络的实际使用量,是特定周期内通过抽取某一时刻的虚拟机内存、CPU、磁盘和网络的使用量作为样本直接获取,或通过抽取若干时刻的虚拟机内存、CPU、磁盘和网络的使用量作为样本通过简单代数平均计算获取。
[0050]数据分析模块,根据实际使用参数、分配参数以及预测算法,确定运行的虚拟机在下一个周期的虚拟化资源使用参数,根据预测算法计算得到虚拟化资源使用参数,生成调度指令。
[0051]具体来讲,数据分析模块根据虚拟化资源实际使用参数,通过特定的预测算法进行预测;所述预测算法,首先采用非监督式的聚类算法对特定资源的所述虚拟化资源使用情况进行分类,接着将分类后的特定资源的虚拟化资源使用情况和当前运行中的虚拟机的特定资源的虚拟化资源使用情况进行匹配,最后通过神经网络的方法预测当前运行中的虚拟机在下一个周期的特定资源使用情况;
[0052]进一步来讲,如图3所示,预测算法首先从虚拟化资源使用参数选取时间长度相同的内存、CPU、磁盘和网络使用量的时间序列,通过聚类算法进行聚类分析,将时间序列进行分类。聚类算法以时间序列的曼哈顿距离、欧氏距离、相关系数等作为距离度量,采用模糊聚类分析方法,如常见的Fuzzy C-Means聚类算法,进行时间序列的模糊聚类。根据聚类结果,构建神经网络并使用聚类得到的各个子簇对神经网络进行训练,然后将当前运行中的虚拟机的特定资源的虚拟化资源使用参数作为输入,即可输出当前运行中的虚拟机在下一个周期的特定资源使用参数,完成下一个周期的虚拟化资源使用参数的有效预测。
[0053]根据所述预测算法得到的运行中的虚拟机在下一个周期的内存、CPU、磁盘和网络使用参数,以及所述虚拟化资源分配参数,数据分析模块生成虚拟机调度指令,整合成对应的虚拟化资源调度命令,指导下一周期的虚拟化资源分配,如果预测出的虚拟化资源使用参数和当前虚拟化资源使用参数差异较小,则忽略该变化;
[0054]此后,数据分析模块根据虚拟化资源使用情况预测,整合出虚拟化资源调度命令,并将该命令传输至资源调度模块,同时资源监控模块将虚拟化资源分配情况传输至资源调度模块。
[0055]资源调度模块根据所述调度指令,读取各个物理机的虚拟化资源剩余量;将所述虚拟化资源分配参数以及虚拟化资源剩余量带入设定调度算法,计算得到下一个周期各个虚拟机的所述虚拟化资源分配量。
[0056]具体来讲,资源调度模块结合虚拟化资源调度指令、虚拟化资源分配参数和从虚拟机监控器获取的资源现状,通过调度算法对虚拟化资源进行调度,调度算法的主要流程如图4所示。
[0057]调度算法是一个优化问题,出于高效率的考虑,特定虚拟机的内存、CPU、磁盘和网络资源应当来源于同一物理机,而来源于同一物理机的虚拟机的内存、CPU、磁盘和网络资源的总和应当小于该物理机的内存、CPU、磁盘和网络资源也就是部分内存、CPU、磁盘和网络资源应当留作运行虚拟机监控器等。而优化问题的优化目标则是达成负载均衡和调度量小,以便于实现更高效稳定的虚拟化环节。在此基础上,通过常见的优化算法,如贪心算法、蚁群算法、遗传算法,首先建立初始调度方案,进而迭代进行对应的信息素寻径、种群繁殖等步骤,直至找到最优解,即作为虚拟化资源的资源调度方法。
[0058]也就是说,根据虚拟机的虚拟化资源的限制条件,对确定出的虚拟化资源分配量进行重新分配,得到虚拟化资源重新分配量,根据虚拟化资源重新分配量对虚拟机进行虚拟化资源分配。
[0059]通过上述的实施例,虚拟化资源监控器可以实时的按需的位虚拟机分配对应的虚拟化资源,从而提升了虚拟化资源的利用率,进而提升了虚拟化的进一步发展。
[0060]对应本发明实施例中的一种虚拟化资源的调度方法,本发明实施例还提供了一种虚拟化资源的调度装置,如图5所示为本发明实施例中一种虚拟化资源的调度装置的结构示意图,该装置包括:
[0061]资源监控模块501,用于获取所有虚拟机对应的虚拟化资源实际使用参数以及虚拟化资源分配参数;
[0062]数据分析模块502,用于根据所述实际使用参数、所述分配参数以及预测算法,确定运行的虚拟机在下一个周期的虚拟化资源使用参数;根据获取到的所述虚拟化资源使用参数,生成调度指令,其中,所述调度指令用于调度虚拟机在下一个周期需要使用的虚拟化资源;
[0063]资源调度模块503,用于根据所述虚拟化资源分配参数以及所述调度指令,确定所述下一个周期各个虚拟机的虚拟化资源分配量。
[0064]进一步,在本发明实施例中,所述资源监控模块501,具体用于获取某一个时刻的所有所有虚拟机的虚拟机内存、CPU、磁盘和网络的使用量,并将所述使用量作为所述虚拟化资源实际使用参数;或者获取若干个时刻的所有虚拟机
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1