虚拟机管理方法及装置、存储介质与流程

文档序号:11582349阅读:146来源:国知局
虚拟机管理方法及装置、存储介质与流程
本发明涉及计算技术,尤其涉及一种虚拟机管理方法及装置、存储介质。
背景技术
:计算机技术的不断发展,奠定了各行各业通过创建虚拟机实现行业需求的技术基础。例如,根据实际需求,在物理机(如服务器)中创建诸如云计算、数据库和内容分发等各种功能的虚拟机。鉴于虚拟机的运行仍然依赖于物理机的资源,相关技术中在选择创建虚拟机的物理机作为虚拟机的宿主机时,通常是在满足虚拟机的资源需求的物理机中选择资源最多的物理机作为宿主机。这种创建虚拟机的方式,虽然能够保证虚拟机拥有足够的资源以正常运行,但是宿主机的剩余资源无法得到充分利用。假设虚拟机需要2核中央处理器(cpu)和存储空间为2吉(g)字节的内存,虚拟机2需要4核心cpu和8g内存;候选的物理机1的a的资源是2核cpu、8g内存,物理机b的资源是4核cpu和4g内存;如果按照首先满足cpu需求然后满足内存需求的排序,根据相关技术提供的贪心算法会优先选择资源最多的物理机来运行虚拟机,也就是优先选择物理机a作为虚拟机的宿主机,然而,物理机b同样能够满足虚拟机的资源需求,如果选择物理机a作为宿主机,会导致后续还需要在物理机a创建虚拟机时出现资源不足以创建新的虚拟机的情况,导致物理机a资源的浪费。综上所述,如何将虚拟机创建在合适的物理机上,使虚拟机拥有足够运行的资源,并提升物理机的资源利用效率尚无有效解决方案。技术实现要素:本发明实施例提供一种虚拟机管理方法及装置、存储介质;能够使虚拟机拥有足以完成任务的资源,并提升物理机的资源利用效率。本发明实施例的技术方案是这样实现的:第一方面,本发明实施例提供一种虚拟机管理方法,包括:获取物理机的各维度的资源因子,以及获取所述物理机各维度的资源因子与虚拟机在相应维度的资源需求的匹配程度;以所述物理机的资源因子为样本特征、并以所述物理机的匹配程度为目标变量,构造对应所述物理机的样本;基于包括多个所述样本的训练集训练线性回归模型;将待创建目标虚拟机的各维度的资源需求与候选物理机相应维度的资源比较;筛除在任一维度不满足所述目标虚拟机的资源需求的所述候选物理机;以候选物理机的各维度的资源因子为输入变量输入所述线性回归模型,预测得到所述候选物理机的匹配程度;根据各所述候选物理机的匹配程度的降序,在所述候选物理机中选择创建所述目标虚拟机的宿主机。第二方面,本发明实施例提供一种虚拟机管理装置,包括:样本单元,用于获取物理机的各维度的资源因子,以及获取所述物理机各维度的资源因子与虚拟机在相应维度的资源需求的匹配程度;所述样本单元,具体用于以所述物理机的资源因子为样本特征、并以所述物理机的匹配程度为目标变量,构造对应所述物理机的样本;训练单元,用于基于包括多个所述样本的训练集训练线性回归模型;过滤单元,用于将待创建目标虚拟机的各维度的资源需求与候选物理机相应维度的资源比较,筛除在任一维度不满足所述目标虚拟机的资源需求的所述候选物理机;预测单元,以候选物理机的各维度的资源因子为输入变量输入所述线性回归模型,预测得到所述候选物理机的匹配程度;创建单元,用于根据各所述候选物理机的匹配程度的降序,在所述候选物理机中选择创建所述目标虚拟机的宿主机。第三方面,本发明实施例提供一种虚拟机管理装置,包括:存储器,用于存储可执行程序;处理器,用于通过执行所述存储器中存储的可执行程序时实现以下步骤:获取物理机的各维度的资源因子,以及获取所述物理机各维度的资源因子与虚拟机在相应维度的资源需求的匹配程度;以所述物理机的资源因子为样本特征、并以所述物理机的匹配程度为目标变量,构造对应所述物理机的样本;基于包括多个所述样本的训练集训练线性回归模型;将待创建目标虚拟机的各维度的资源需求与候选物理机相应维度的资源比较;筛除在任一维度不满足所述目标虚拟机的资源需求的所述候选物理机;以候选物理机的各维度的资源因子为输入变量输入所述线性回归模型,预测得到所述候选物理机的匹配程度;根据各所述候选物理机的匹配程度的降序,在所述候选物理机中选择创建所述目标虚拟机的宿主机。第四方面,本发明实施例提供一种计算机可读存储介质,存储有可执行程序,所述可执行程序被处理器执行时实现以下步骤:获取物理机的各维度的资源因子,以及获取所述物理机各维度的资源因子与虚拟机在相应维度的资源需求的匹配程度;以所述物理机的资源因子为样本特征、并以所述物理机的匹配程度为目标变量,构造对应所述物理机的样本;基于包括多个所述样本的训练集训练线性回归模型;将待创建目标虚拟机的各维度的资源需求与候选物理机相应维度的资源比较;筛除在任一维度不满足所述目标虚拟机的资源需求的所述候选物理机;以候选物理机的各维度的资源因子为输入变量输入所述线性回归模型,预测得到所述候选物理机的匹配程度;根据各所述候选物理机的匹配程度的降序,在所述候选物理机中选择创建所述目标虚拟机的宿主机。本发明实施例具有以下有益效果:1)通过机器学习的方式得到线性回归模型,来衡量物理机的整体权重并根据整体权重选择宿主机,一方面可以提升物理机的资源利用率,另一方面,当线性回归模型用于预测物理机的资源与虚拟机的资源需求的匹配程度时,根据匹配程度的降序选取宿主机,可以使得物理机的资源和负载均衡化。2)使用线性回归模型计算各物理机的匹配程度,并根据匹配程度的排序选定创建虚拟机的宿主机的方案,与相关技术采用贪心算法在实现上效率更高。附图说明图1-1是本发明实施例提供的虚拟机管理平台100向云平台200资源池中的物理机创建虚拟机,以支持云平台提供各种云服务的一个可选的架构示意图;图1-2是本发明实施例提供的虚拟机管理平台100在宿主机创建虚拟机的一个可选的架构示意图;图2是本发明实施例提供的虚拟机管理平台100的一个可选的软/硬件结构示意图;图3是本发明实施例提供的虚拟机管理方法的一个可选的流程示意图;图4是本发明实施例提供的训练线性回归模型的一个可选的示意图;图5-1是本发明实施例提供的虚拟机管理方法的一个可选的处理示意图;图5-2是本发明实施例提供的虚拟机管理方法的一个可选的流程示意图。具体实施方式以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。对本发明进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。1)机器学习(machinelearning),从训练集的物理机样本(简称为样本)对线性回归模型进行训练,使训练后的线性回归模型具有根据训练集外样本的样本特征对目标取值进行预测的性能。2)虚拟机(virtualmachine),通过软件模拟的具有完整硬件系统功能的、运行在物理机的一个完全隔离环境中的完整计算机系统。虚拟机是一种严密隔离的软件容器,它可以运行自己的操作系统和应用程序,就好像一台物理计算机。虚拟机的运行完全类似于一台物理计算机,它包含自己虚拟(即基于软件实现的)的各种硬件,包括cpu、内存、硬盘和网络接口等,虚拟机中运行的操作系统无法分辨虚拟机与物理机之间的差异,应用程序和网络中的其他计算机也无法分辨。3)宿主机,指要运行虚拟机(软件)的物理机(物理主机),如服务器、个人电脑等各种计算设备,物理机中可以运行一个或多个虚拟机。4)装箱问题,是指虚拟机创建到合适的物理机的组合优化问题,即对于需要完成的虚拟机而言,在候选的物理机中选择合适的物理机以运行的问题。5)贪心算法,对于解决装箱问题而言,以虚拟机为虚拟机为例,是指在需要运行一个虚拟机时,在能够满足虚拟机运行的资源需求的候选物理机中,选择资源最多的物理机运行虚拟机,而非选择能够满足虚拟机的资源需求且资源最少的物理机。6)资源因子,物理机提供的用于运行虚拟机的各个维度的资源的量化表示,主要量化表示计算资源、通信资源和存储资源等;举例来说:6.1)计算资源相关的资源因子包括:处理器:主频、核心数量、线程数量、外频、一级缓存、二级缓存、三级缓存;是否支持超线程;是否具有核心显卡;内存:内存容量;工作频率;显卡:类型:如独立显卡、核心显卡;显存容量;显存频率;显存位宽;6.2)通信资源相关的资源因子包括:网络接入类型,如光纤接入,电缆接入等;网络带宽,如30兆位每秒(mbps,millionbitspersecond)。6.3)存储资源相关的资源因子包括:存储器的容量;存储介质的类型,如机械硬盘、固态硬盘等。7)资源需求,创建虚拟机需要使用物理机的一个或多个维度的资源,使用相应维度的资源因子来表示。本发明实施例中根据线性回归模型计算每个候选物理机(能够用于创建虚拟机的物理机)虚拟机的匹配程度,匹配程度用于表示虚拟机的资源需求与候选物理机,根据各个候选物理机的匹配程度的降序,优先选取匹配程度最大的物理机用于创建虚拟机,对于匹配程度最大的物理机来说,其与虚拟机的资源需求的匹配程度要高于其他匹配程度次高的物理机。本发明实施例中从物理机的各维度的资源因子与待创建的虚拟机的相应维度的资源的匹配程度的角度选取物理机,与根据贪心算法选取最大剩余资源的物理机相比,一方面选择的宿主机拥有足以运行的资源,另一方面并且避免了宿主机剩余过多资源的问题,提升物理机的资源利用效率本发明实施例提供虚拟机管理方法、以及用于实施上述虚拟机管理方法的虚拟机管理装置,以虚拟机管理装置在云计算业务场景中实施为虚拟机管理平台(也简称为管理平台)为例;参见图1-1,图1-1是本发明实施例提供的虚拟机管理平台100向云平台200资源池中的物理机创建虚拟机,以支持云平台提供各种云服务的一个可选的架构示意图。虚拟机管理平台100作为云平台200的前端,支持以各种有线方式或无线方式向用户提供访问,例如,提供图形化的配置界面,以接收用户提交的任务,即针对云服务的配置,包括:1)云服务的类型,如云计算、内容分发、数据库和云存储等;2)云服务的资源需求,包括针对计算资源、通信资源和存储资源的需求的配置;当然,上述资源对于所有云服务而言并非都是必要的,例如当用户需要使用云存储时可以只配置需求的存储空间的容量、以及上传/下载的带宽;当用户需要使用云计算服务时,可以配置需求的处理器的数量、处理器主频、内存容量等。3)任务描述,用于供云平台200完成任务的必要信息。任务描述根据云服务的类型而存在区别,以下示例性说明:例如,对于虚拟机,任务描述可以是使用任意计算语言描述的虚拟机,能够被虚拟机中的应用程序解释并执行,例如3d建模任务、以及任意类型的数学虚拟机等;再例如,对于云存储,任务描述可以是待存储数据的来源位置,待下载数据的目标位置等;再例如,对于数据库,任务描述可以是待查询数据的关键字。虚拟机管理平台100根据用户提交的任务的资源需求,在资源池中选择合适的物理机作为宿主机,在宿主机上创建虚拟机,包括配置虚拟机的虚拟硬件(与宿主机的硬件具有无关性)、操作系统、以及用于实现云服务的必要的应用程序(对于数据库而言,配置必要的数据库软件)。参见图1-2,图1-2是本发明实施例提供的虚拟机管理平台100在宿主机创建虚拟机的一个可选的架构示意图。在图1-2中,在宿主机中创建虚拟机之前,宿主机的软件必须与硬件相结合,每个宿主机上只能运行一个操作系统镜像,在操作系统中创建有支持上层应用与底层硬件通信的中间件;而在宿主机创建虚拟机之后,每个虚拟机的硬件以及操作系统、中间件和应用程序是可配置化的,实现了软件(虚拟机)相对于宿主机的硬件独立,即硬件无关性。对于一个宿主机来说,根据需求可以创建一个或者多个虚拟机,同一宿主机上创建的虚拟机之间相互隔离(当然,不排除虚拟机之间能够实现通信的情况);对于在一个宿主机上创建的虚拟机来说,以文件的形式在宿主机中存储,因此能够轻易地复制或者移动至其他的宿主机,由于独立于宿主机的硬件,因此无需修改即可在其他的宿主机上运行。现在将参考附图描述实现本发明实施例的管理平台,管理平台可以以各种形式来实施。就虚拟机管理平台100实施为虚拟机管理平台100时的软/硬件结构来说,参见图2,图2是本发明实施例提供的虚拟机管理平台100的一个可选的软/硬件结构示意图,包括:硬件层、驱动层、操作系统层和应用层。然而,本领域的技术人员应当理解,图2示出的虚拟机管理平台100的结构仅为示例,并不构成对虚拟机管理平台100结构的限定。例如,虚拟机管理平台100可以根据实施需要设置较图2更多的组件,或者根据实施需要省略设置部分组件。虚拟机管理平台100的硬件层包括处理器110、输入/输出接口120,存储器130以及网络接口140,组件可以经系统总线连接通信。处理器110可以采用cpu、微处理器(mcu,microcontrollerunit)、专用集成电路(asic,applicationspecificintegratedcircuit)或逻辑可编程门阵列(fpga,field-programmablegatearray)实现。输入/输出接口120可以采用如显示屏、触摸屏、扬声器等输入/输出器件实现。存储器130可以采用闪存、硬盘、光盘等非易失性存储介质实现,也可以采用双倍率(ddr,doubledatarate)动态缓存等易失性存储介质实现,其中存储有用以执行上述虚拟机管理方法的可执行指令。网络接口140向处理器110提供外部数据如异地设置的存储器130的基于网络传输协议(tcp,transfercontrolprotocol)/用户数据协议(udp,userdatagramprotocol)的访问能力。驱动层包括用于供操作系统160识别硬件层并与硬件层各组件通信的中间件,例如可以为针对硬件层的各组件的驱动程序的集合。操作系统160用于提供面向用户的图形界面,操作系统160支持用户经由图形界面对设备的控制本发明实施例对上述设备的软件环境如操作系统类型、版本不做限定,例如可以是linux操作系统和unix操作系统等。应用层包括虚拟机平台100的相关功能如虚拟机管理功能,根据线性回归模型计算每个候选物理机(能够用于创建虚拟机的物理机)虚拟机的匹配程度,匹配程度用于表示虚拟机的资源需求与候选物理机,根据各个候选物理机的匹配程度的降序,优先选取匹配程度最大的物理机用于创建虚拟机,对于匹配程度最大的物理机来说,其与虚拟机的资源需求的匹配程度要高于其他匹配程度次高的物理机。至此,已经按照其功能描述了本发明实施例中涉及的虚拟机管理平台,基于图1-1、图1-2示出的虚拟机管理平台的应用架构、以及图2示出的虚拟机管理平台的软/硬件结构,继续对本发明实施例提供的虚拟机管理的方案进行说明。本发明实施例提供虚拟机管理平台根据任务的资源需求在资源池的物理机中选择适配虚拟机的资源需求的物理机作为宿主机,并在宿主机创建虚拟机的方案,就虚拟机管理平台的相关处理来说,参见图3,图3是本发明实施例提供的虚拟机管理方法的一个可选的流程示意图,包括步骤101至步骤106,其中步骤101至步骤102涉及构造用于训练线性回归模型的训练集的处理,步骤103涉及根据训练集训练线性回归模型,使得线性回归模型具有根据待创建虚拟机的资源需求计算各个物理机的匹配程度的性能;步骤104至步骤106涉及根据待创建的虚拟机的资源需求计算各个物理机的匹配程度,并根据匹配程度的降序选取物理机作为宿主机的处理;下面结合各个步骤分别进行说明。步骤101,获取物理机的各维度的资源因子,以及获取物理机各维度的资源因子与虚拟机在相应维度的资源需求的匹配程度。对于虚拟机的资源需求以及物理机的各维度的资源因子来说,可以通过如下方式获得:1)收集实际的资源需求以及资源因子的数据在一个实施例中,虚拟机管理平台收集云平台中不同物理机的实际的各维度的资源因子,以及云平台中不同虚拟机实际的资源需求形成资源需求的集合,形成多个物理机的资源因子的集合,以及多个虚拟机的资源需求的集合。对于收集的资源因子的数据来说,虚拟机管理平台通过向各物理机下发资源配置检测程序的方式,获得各物理机上报的在不同维度的资源因子,虚拟机管理平台获取的资源因子表示物理机在相应维度具有的全部资源的数量,或者,可以表示在相应维度未使用的资源(剩余资源)的数量。例如,物理机上报的各维度的资源因子的一个示例为:<全部资源:4核cpu,4g内存,windows,30兆带宽>;表示物理机运行windows系统并具有4核cpu和4g内存。再例如,该物理机上报的资源因子的另一个示例可以为:<剩余资源:2核cpu,2g内存,windows,15兆带宽>表示物理机运行windows系统并具有2核cpu和2g内存还未使用。对于收集虚拟机的实际的资源需求来说,虚拟机管理平台根据云平台用户提交的任务描述进行分析,例如从任务的复杂程度、完成任务所需的时间、涉及使用的资源等方面进行需求计算,确定需要创建的虚拟机的数量,以及各虚拟机的资源需求。例如,虚拟机的资源需求的一个示例为:<2核cpu,2g内存>;表示虚拟机在创建时需要占用物理机的2核cpu和2g内存。2)构造资源需求以及资源因子的数据对于构造资源需求的数据来说,以最小资源需求、最大资源需求(可以为经验值,或者,为云平台中虚拟机的最大资源需求和最小资源需求)为边界值,构造由一系列的资源需求构成的集合。例如,假设云平台中虚拟机的最大资源需求为:<16核cpu,16g内存>;虚拟机的最小资源需求为<2核cpu,2g内存>;那么,构建以<2核cpu,2g内存<为公差,构造资源需求的如下序列:<2核cpu,2g内存>,<4核cpu,4g内存>,……<16核cpu,16g内存>。对于构造不同物理机的资源因子的数据来说,以各维度的最小资源因子、最大资源因子(可以为经验值,或者,为云平台中虚拟机的最大资源因子和最小资源因子)为边界值,构造由一系列的资源需求构成的集合。例如,假设云平台中物理机的最大资源因子为:<20核cpu,20g内存>;物理机的最小资源因子为<4核cpu,4g内存>;那么,以<2核cpu,2g内存<为公差,构造资源因子的如下序列:<4核cpu,4g内存>,<6核cpu,6g内存>,……<20核cpu,20g内存>。在一个实施例中,虚拟机管理平台将物理机的各维度的资源因子,以及获取物理机各维度的资源因子与虚拟机在相应维度的资源需求计算差值,由于差值表示了虚拟机的资源需求与物理机的资源的差异程度,因此差值越大则匹配程度越小,差值越小则匹配程度越大;通过这样分配匹配程度的方式,使得匹配程度能够反映物理机在配置虚拟机时的资源利用情况,匹配程度越高,说明对物理机的资源利用率越高(二者是正相关的关系)。例如,虚拟机的资源需求为:<2核cpu,2g内存>;物理机1的资源为<4核cpu,4g内存>,物理机2的资源为<6核cpu,6g内存>,那么根据差值1即<2核cpu,2g内存>各个维度的加权和(2*a+2*b)的倒数(当然,还可对倒数进行其他形式的变化,例如映射到一个特定的取值空间)作为虚拟机的资源需求与物理机1的资源的匹配程度,将差值1即<2核cpu,2g内存>各个维度的加权和的倒数作为匹配程度;根据差值2即<4核cpu,4g内存>各个维度的加权和(4*a+4*b)的倒数作为虚拟机的资源需求与物理机2的资源的匹配程度。对于加权和使用的加权系数来说,根据各维度的资源因子虚拟机性能的影响程度对应分配,也就是说一个维度的加权系数与该维度的资源因子对虚拟机性能的影响程度正相关。一般地,cpu对虚拟机性能的影响程度大于内存对虚拟机性能的影响程度,因此在计算差值的各维度的加权和时cpu的加权系数a(令a=0.6)大于内存的加权系数b(令b=0.4),可以计算得到虚拟机的资源需求与物理机1的资源的匹配程度为1/2,虚拟机的资源需求与物理机2的资源的匹配程度为1/4,可以看出,通过这样设置匹配程度的方式,达到使得与虚拟机的资源需求最接近的物理机具有的匹配程度最大的效果。另外,在物理机的各个维度的资源因子大于待创建的虚拟机在相应维度的资源需求时,鉴于物理机可能用于创建多个虚拟机的情况,差值还可以是通过这样的方式得到:物理机的各维度的资源与相应维度的资源需求一次或多次作差,直至差值小于相应维度的资源需求,也就是相当于将物理机的各维度的资源因子与虚拟机相应维度的资源需求整除后得到的余数;这种情况下计算得到的差值表示物理机的资源与创建多个虚拟机的资源需求的匹配程度:差值越大则匹配程度越小,差值越小则匹配程度越大。例如,虚拟机的资源需求为:<3核cpu,3g内存>;物理机3的资源为<4核cpu,4g内存>,物理机4的资源为<12核cpu,12g内存>,那么根据<12核cpu,12g内存>对<3核cpu,3g内存>进行整除余数为<1核cpu,1g内存>,匹配程度表示为各个维度的加权和(1*a+1*b+c)的倒数,其中,c为设定的正整数避免余数为0的情况,假设取值为5,令a=0.6,b=0.4,则虚拟机的资源需求与物理机3的资源的匹配程度表示为:根据<12核cpu,12g内存>对<3核cpu,3g内存>进行整除余数为0,各个维度的加权和(0*a+0*b+c)的倒数作为虚拟机的资源需求与物理机4的资源的匹配程度表示为:在一个实施例中,针对物理机中往往会配置多个相同的虚拟机的情况,虚拟机管理平台将物理机的各维度的资源因子,以及获取物理机各维度的资源因子与虚拟机在相应维度的资源需求计算比值,比值是整数时,说明物理机能够创建整数个相同的虚拟机而不会造成虚拟机的资源的浪费,为物理机分配预先设定的匹配程度(第一匹配程度);对于比值不是整数的情况说明物理机创建虚拟机后会剩余资源,与比值是整数的情况相比,剩余资源往往因为较小而无法继续创建虚拟机,因此为物理机分配一个较比值为整数时分配的匹配程序小的匹配程度(也称为第二匹配程度)。例如,虚拟机的资源需求为:<3核cpu,3g内存>;物理机3的资源为<4核cpu,4g内存>,物理机4的资源为<12核cpu,12g内存>,那么根据<12核cpu,12g内存>对<3核cpu,3g内存>进行整除余数为<1核cpu,1g内存>,各个维度的加权和(1*a+1*b+c)的倒数即(c为设定的正整数避免余数为0的情况)作为虚拟机的资源需求与物理机3的资源的匹配程度;根据<12核cpu,12g内存>对<3核cpu,3g内存>进行整除余数为0,各个维度的加权和(0*a+0*b+c)的倒数作为虚拟机的资源需求与物理机4的资源的匹配程度。步骤102,以物理机的资源因子为样本特征、并以物理机的匹配程度为目标变量,构造对应物理机的样本。对于物理机的一个样本以<样本特征,目标变量>这样的形式记录,对于样本特征来说,由于可能涉及多个维度的资源因子,因此样本特征可以采用多元化的数据结构。举例来说,步骤102构造的样本用于形成训练集对线性回归模型进行训练,训练集的一个示例如下表1所示:cpu内存匹配程度(得分)物理机12核8g1/2物理机26核6g1/4物理机34核4g1/7物理机412核12g1/5表1另外,对于训练集中各样本的资源因子以及匹配程度而言,可以对样本的资源因子进行归一化,并对样本的匹配程度进行归一化,加速后续基于样本训练时满足收敛条件的速度。对于资源因子的归一化来说,由于资源因子涉及多个维度,实际应用中,可以针对每个维度分别进行归一化,或者,可以对全部维度的资源因子统一进行归一化。以针对cpu这一维度的资源因子单独进行归一化为例,对于物理机2的cpu的维度,假设最大值为12核cpu,最小值为2核cpu,则物理机2在cpu维度的归一化后的资源因子为:步骤103,基于包括多个样本的训练集训练线性回归模型。基于训练集训练线性回归模型的目标是使线性回归模型具有以下性能:根据云平台中的物理机的各个维度的资源因子,预测各候选物理机与待创建虚拟机的资源需求的匹配程度。可见,对于使用线性回归模型预测候选物理机与待创建的虚拟机的资源需求的匹配程度而言,仅仅需要获知候选物理机的各个维度的资源因子,不需要获知虚拟机的资源需求,这样不需要涉及提取分析虚拟机的资源需求即可对候选物理机的匹配程度进行预测,最大程度简化了创建虚拟机的计算过程,有利于虚拟机的快速创建。在一个实施例中,训练线性回归模型的过程包括如下步骤:步骤1031,构建以训练集中样本的各维度的资源因子为自变量、以及以样本的匹配程度为因变量的线性回归模型。参见图4,图4是本发明实施例提供的训练线性回归模型的一个可选的示意图,线性回归模型假设物理机的各维度的资源因子(样本特征)作为自变量和匹配程度作为因变量之间满足线性关系,线性回归模型的一个可选的示例为:其中,xi为样本i的资源因子,θi为与资源因子xi对应的权重,hθ(x)表示对于训练集中物理机样本的资源因子与虚拟机的资源需求的匹配程度的预测值;θ0为线性回归模型随机初始化的常数。令x0=1,上述线性回归模型可以进一步表示成:其中,参数θ是训练集中的m个样本的n个为资源因子的权重构成的n维向量,表示为:θ=(θ1,...θn);x为训练集中m个样本的资源因子构成的n维的向量,表示为:x=(x1,...xn)。训练线性回归模型的过程,就是不断调整参数θ以得到一个合适的θ使得线性回归模型能够将训练集的样本特征和目标变量拟合的过程。步骤1032,以训练集中样本的各维度的资源因子的权重为参数,初始化基于参数的损失函数。对于前述的参数θ由m个样本的资源因子的权重构成的n维向量组成,初始化一个基于参数θ的损失函数如下:其中,x(i)表示训练集中的第i个样本的资源因子向量(x(i)为n维向量,包括样本的n个维度的资源因子);y(i)表示训练集中m个样本的匹配程度向量y(为m为向量,包括m个样本的匹配程度)中的第i个样本的匹配程度;损失函数用于表示利用x(i)预测得到的匹配程度与训练集中匹配程度的真实值y(i)之间的接近程度。步骤1033,基于训练集调整参数θ的取值,获得使损失函数取得最小值时的参数θ的值。步骤1033中,将调整参数θ以得到一个合适的θ使得线性回归模型能够将训练集的样本特征和目标变量拟合的过程,也就是使得预测到的物理机的匹配程度的预测值hθ(x)最大程度接近训练集中对应的真实值y的过程,转换为获得使损失函数j(θ)取得最小值时的参数θ的值的问题。在一个实施例中,为了调整参数θ使得j(θ)取得最小值,对θ随机初始化一个值θ0,如下的迭代:其中,θj表示第j次迭代后θ,α为学习率(learningrate),用于控制每次迭代θ的值下降的幅度,为梯度下降的方向,梯度方向由j(θ)对θ的偏导数决定,由于需要j(θ)租的最小值,因此对偏导数取负值得到梯度下降方向,将j(θ)代入上述迭代公式得到:在执行一次迭代后,如果θ沿梯度方向下降的值小于预定值则判定满足收敛条件,迭代结束,将此时得到的θ的值代入初始化的线性回归模型,得到训练后的线性回归模型。在另一个实施例中,提供一种不需要进行迭代而直接计算得到使j(θ)取值最小时θ的方式。假设函数f()是将m*n维矩阵映射为一个实数的运算,即functionf:并且定义对于矩阵a,映射f(a)对a的梯度为:因此该梯度为m*n的矩阵。另外,对于矩阵的梯度运算,有如下运算规则:根据上述分析,基于训练集中所有样本的样本特征构建样本特征向量,以及基于训练集中所有样本的目标变量构建目标变量矩阵,也就是将测试集中样本的各维度的资源因子和对应的目标变量表示成矩阵或者向量的形式,有:根据上述结论,对于线性回归模型有即于是可以得到:代入j(θ)的表达式可以构建以样本特征和目标变量矩阵表示的损失函数:从而,将损失函数j(θ)表示为了矩阵的形式,得到:为了计算损失函数沿最大梯度下降时参数θ的取值,令上述梯度为0,得到等式:于是得到j(θ)最小时参数θ的值表示为:将上述θ的值代入初始化的线性回归模型可以得到训练后的线性回归模型。步骤104,需要创建虚拟机时,将待创建目标虚拟机的各维度的资源需求与候选物理机相应维度的资源比较,筛除在任一维度不满足所述目标虚拟机的资源需求的所述候选物理机。通过筛除不满足待创建虚拟机的资源需求的候选物理机,能够保证最终选定的物理机必然符合待创建虚拟机的资源需求。以待创建虚拟机的资源需求为<4核cpu,4g内存,30兆带宽>为例,如果物理机的剩余资源中,如果cpu资源低于4核,则该物理机被筛除,同理,对于剩余内存资源低于4g的物理机、以及剩余带宽资源低于30兆的物理机予以筛除。步骤105,以候选物理机的各维度的资源因子为输入变量输入线性回归模型,预测得到候选物理机的匹配程度。对于候选物理机的各个维度的资源因子代入训练后的线性回归模型,可以得到每个候选物理机与待创建虚拟机的资源需求的匹配程度,由于是通过各个维度的资源因子与训练得到的权重乘积后累加得到,本文中也将匹配程度成为候选物理机的整体权重。步骤106,根据各候选物理机的匹配程度的降序,在候选物理机中选择创建目标虚拟机的宿主机。由于通过训练集训练线性回归模型已经得到线性回归模型中各资源因子的权重,因此,需要创建虚拟机时,将候选物理机各维度的资源因子代入线性回归模型:其中,θi为第i个维度的资源因子的权重;计算候选物理机的各维度的资源因子与相应权重的乘积,将各个维度的乘积加和后,得到候选物理机与待创建虚拟机的资源需求的匹配程度,优先选取匹配程度最大的物理机作为待创建虚拟机的宿主机。接续基于前述针对图3的说明,可以理解地,就图2示出的虚拟机管理功能170举例来说,虚拟机管理功能170可以包括如下功能单元:样本单元171、训练单元172、过滤单元173、预测单元174和创建单元175,下面对各单元的功能进行说明。样本单元171获取物理机的各维度的资源因子,以及获取所述物理机各维度的资源因子与虚拟机在相应维度的资源需求的匹配程度;以所述物理机的资源因子为样本特征、并以所述物理机与虚拟机在相应维度的资源需求的匹配程度为目标变量,构造对应所述物理机的样本。对于虚拟机的资源需求以及物理机的各维度的资源因子来说,可以通过如下方式获得:1)收集实际的资源需求以及资源因子的数据;2)构造资源需求以及资源因子的数据。作为计算匹配程度的一个示例,样本单元171计算所述物理机各维度的资源因子与虚拟机在相应维度的资源需求的差值;根据所述差值与所述匹配程度的负相关关系,为所述物理机分配相应的匹配程度。作为计算匹配程度的一个示例,所述样本单元171计算所述物理机各维度的资源因子与虚拟机在相应维度的资源需求的比值;当所述比值为整数时为所述物理机分配第一匹配程度,当所述比值为非整数时为所述物理机分配第二匹配程度,所述第一匹配程度大于所述第二匹配程度。训练单元172基于包括多个所述样本的训练集训练线性回归模型。就训练线性回归模型举例来说,所述训练单元172构建以所述训练集中样本的各维度的资源因子为自变量、以及以所述样本的匹配程度为因变量的线性回归模型;训练线性回归模型也就是获得线性回归模型中全部自变量的权重构成的参数的过程,通过这样的方式确定参数的最优取值:1)以所述训练集中样本的各维度的资源因子的权重为参数,初始化基于所述参数的损失函数;2)调整所述参数的取值使得线性回归模型拟合训练数据,获得使所述损失函数取得最小值时的所述参数的值。对于步骤2)来说,有如下几种可选的方式:2.1)随机初始化所述参数;将所述参数按照所述损失函数的梯度方向迭代更新,在每次迭代更新后得到更新的所述参数的值,直至满足收敛条件。2.2)基于所述训练集中所有样本的样本特征构建样本特征向量,以及基于所述训练集中所有样本的目标变量构建目标变量矩阵;以所述样本特征和所述目标变量矩阵表示所述损失函数,由于损失函数沿最大梯度下降时所述目标变量矩阵的梯度为零,因此直接计算目标变量矩阵的梯度为零时参数的值。过滤单元173在创建单元175需要创建目标虚拟机时,将待创建目标虚拟机的各维度的资源需求与候选物理机相应维度的资源比较,筛除在任一维度不满足所述目标虚拟机的资源需求的所述候选物理机。对于进行筛除处理后得到的候选物理机,预测单元174以候选物理机的各维度的资源因子为输入变量输入所述线性回归模型,预测得到候选物理机的匹配程度。创建单元175根据各所述候选物理机的匹配程度的降序,在候选物理机中选择创建目标虚拟机的宿主机,并在选定的宿主机中创建目标虚拟机。需要指出地,上述关于应用层的虚拟机管理功能170功能结构的划分仅仅是示例性地,可以对部分功能单元进行拆分,或者对部分功能单元进行合并,在实施本发明实施例记载的虚拟机管理方法的基础上,本发明实施例中不排除使用其他的功能结构。下面结合一个创建虚拟机具体的示例,对本发明实施例提供的根据线性回归模型确定候选物理机的整体权重,并根据整体权重选定宿主机进行创建的方案进行说明。本发明实施例是通过机器学习的方式形成线性回归模型,使得线性回归模具有根据物理机的各维度的资源因子预测物理机的整体权重的性能,也就是求解宿主机的整体权重,解决现有技术选择的宿主机选取宿主机(此时选定的宿主机仅仅是满足资源需求的局部最优解)导致的物理机资源难以有效利用的问题。图5-1是本发明实施例提供的虚拟机管理方法的一个可选的处理示意图,图5-2是本发明实施例提供的虚拟机管理方法的一个可选的流程示意图,从虚拟机的装箱(创建)流程来看,主要涉及以下几个步骤:步骤201,客户端向虚拟机管理平台100提交任务。任务包括云服务的类型以及在各个维度的资源需求,以提交的任务为云计算为例,资源需求的一个示例为:<4核cpu,4g内存,30兆带宽>。步骤202,虚拟机管理平台100根据客户端提交的任务,将物理机的各维度的资源因子与待创建虚拟机的相应维度的资源需求(本文中也称为虚拟机的生产需求,或生产虚拟机的需求)比较,筛除与待创建虚拟机的资源需求不符的物理机。仍以待创建虚拟机的资源需求为<4核cpu,4g内存,30兆带宽>为例,假设云平台200中当前物理机1至物理机3的剩余资源以资源因子表示为<3核cpu,4g内存,30兆带宽>,<8核cpu,8g内存,60兆带宽>,<10核cpu,10g内存,100兆带宽>。由于物理机1的cpu(3核cpu)不满足创建虚拟机的资源需求(4核cpu),因此筛除物理机1,保留物理机2和物理机3以选定宿主机。上述过滤物理机的说明的进行示例,实际应用中,根据客户端提交的业务而创建虚拟机的资源需求存在差异,例如可以涉及以下几个方面:磁盘类型、网卡速率以及可用计算、内存资源等条件。步骤203,虚拟机管理平台100根据线性回归模型计算物理机与待创建虚拟机的资源需求的匹配程度,也就是选择一台最适合的物理机作为宿主机(即整体最优解)。评估一台物理机是否适合,是从多个维度去判断,如:根据物理机的负载情况计算出的物理机的剩余的(可用的)计算资源(cpu)、内存资源情况等。在线性回归模型中,把物理机的每个维度的资源抽象成资源因子,根据每个资源因子以及相应的权重乘积的加和,最终得出物理机与虚拟机的匹配程度。很显然,匹配程度跟物理机的各个维度的资源因子是正相关的线性关系,因此可以通过线性回归模型计算匹配程度,线性回归模型的示例如下:物理机的不同的资源因子取值的范围会不一致,可以根据离差标准化原则,对资源因子数据进行线性变换,使资源因子的值映射到特定区间如[0-1]之间,这样能够加速利用训练集训练线性回归模型(也就是确定θi和θ0的取值),线性变化的转换函数如下:xi*为训练集中第i个样本的归一化的资源因子,xi*为训练集中第i个样本的原始的资源因子,xmax为训练集中样本的资源因子的最大值,xmin为训练集中样本的资源因子的最小值。样本的资源因子进行归一化后,训练集的一个可选的示例如表2所示:x1x2x3y0.50.70.40.80.60.650.380.75…………表2如前所述,θi可以利用机器学习的方式利用训练集训练线性回归模型得到,构造如下的损失函数:y表示训练集中样本的真实的匹配程度,hθ(x)表示根据线性回归模型预测得到的匹配程度,y-hθ(x)表示的是残差,也就是线性回归模型预测的误差,通过损失函数结合梯度下降的方式求得使得损失函数取得最小值时对应的θi和θ0的值,代入线性回归模型中作为机器学习的结果。对于训练后的线性回归模型而言,具有预测物理机资源与待创建虚拟机资源需求的匹配程度的性能,对于满足以下两种情况的物理机会预测得到较未满足以下情况的虚拟机更高的匹配程度:1)物理机的各维度的资源因子与待创建虚拟机在相应维度的资源因子最接近;2)物理机的各维度的资源因子与待创建虚拟机在相应维度的需求的比值为整数。例如,就预测物理机2、物理机3分别与待创建虚拟机的匹配程度而言,根据上述情况1),物理机2的各维度的资源因子与待创建虚拟机在相应维度的资源需求最为接近,因此分别将物理机2和物理机3的资源因子输入线性回归模型后,针对物理机2预测测到的匹配程度会高于针对物理机3预测得到的匹配程度;这样,确保选择了与待创建虚拟机的资源需求最接近、且满足资源需求的物理机作为宿主机,对宿主机的资源实现最大程度利用的效果。再例如,假设资源需求为<4核cpu,4g内存,30兆带宽>为例,物理机4、物理机5的剩余资源以资源因子表示为<7核cpu,7g内存,30兆带宽>,<8核cpu,8g内存,60兆带宽>,虽然物理机4各维度的资源因子与待创建虚拟机的资源需求更接近,但是物理机5各维度的资源因子是资源需求的2倍,能够在连续创建2个虚拟机的情况下实现最大化利用资源,鉴于虚拟机管理平台100根据客户端提交的任务往往会创建多个相同资源需求的虚拟机,因此针对物理机5预测得到的匹配程度会大于针对虚拟机4预测得到的匹配程度,这样使用物理机5来创建多个虚拟机会实现对物理机5的资源的最大化利用。步骤204,虚拟机管理平台100选择匹配程度最大的物理机作为宿主机。根据各物理机与待创建虚拟机的资源需求的匹配程度,选择匹配程度最大的物理机作为虚拟机。步骤205,虚拟机管理平台100向宿主机创建虚拟机。本发明实施例提供批量化创建的方案,例如,由虚拟机管理平台100根据待创建虚拟机的资源需求生成用于指示宿主机创建相应虚拟机的自动化脚本,向宿主机下发,由宿主机执行自动化脚本而创建虚拟硬件、操作系统以及实现任务的相关应用程序。另外,根据任务的逻辑,虚拟机管理平台100会将虚拟机的执行任务的结果返回客户端,例如当客户端提交计算任务时返回计算结果。本发明实施例的技术方案所产生的有益效果通过机器学习的方式得到线性回归模型,来衡量物理机的整体权重并根据整体权重选择宿主机,一方面可以提升物理机的资源利用率,另一方面,当线性回归模型用于预测物理机的资源与虚拟机的资源需求的匹配程度时,根据匹配程度的降序选取宿主机,可以使得物理机的资源和负载均衡化。使用线性回归模型计算各物理机的整体权重以及排序即可确定虚拟机的创建方案,与相关技术采用贪心算法相比选定宿主机的效率更高,有利于宿主机的快速创建。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1