CN114443212A - 热迁移管理方法、装置、设备及存储介质 - Google Patents
热迁移管理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114443212A CN114443212A CN202111578526.4A CN202111578526A CN114443212A CN 114443212 A CN114443212 A CN 114443212A CN 202111578526 A CN202111578526 A CN 202111578526A CN 114443212 A CN114443212 A CN 114443212A
- Authority
- CN
- China
- Prior art keywords
- migration
- virtual machine
- thermal
- initiating
- random forest
- 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.)
- Pending
Links
Images
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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- 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
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种热迁移管理方法、装置、设备及存储介质,该方法包括:接收虚拟机热迁移请求;根据所述虚拟机热迁移请求获取用于预估热迁移的虚拟机测试数据;将所述虚拟机测试数据输入基于随机森林的热迁移预估模型,得到热迁移预估结果;其中,所述基于随机森林的热迁移预估模型用于预估当前环境条件是否适合发起虚拟机热迁移;若确定所述热迁移预估结果为适合发起虚拟机热迁移,则发起虚拟机热迁移。因此,本发明提高了虚拟机热迁移的成功率,降低了迁移成本,避免了资源浪费。
Description
技术领域
本发明涉及虚拟机技术领域,具体涉及一种热迁移管理方法、装置、设备及存储介质。
背景技术
随着云计算发展越来越成熟,越来越多的用户将核心业务搭建在云平台的虚拟机上,当需要对云平台中的节点软硬件进行升级或者节点负载过高时,需要将宿主机上的虚拟机迁移至其他节点上运行。
目前,虚拟机热迁移开始后,通常会在目的节点启动相同的虚拟机并置于暂停状态,源节点虚拟机仍在运行。与此同时,热迁移将源节点虚拟机的内存拷贝发送到目的节点中。
但是,当迁移的虚拟机业务繁忙或者迁移网络传输速率较低时,往往经过多次迭代拷贝后仍无法收敛,会导致迁移持续时间过长,并且对脏页数据的拷贝会长期占用网络资源,影响其他业务的正常运行。
发明内容
有鉴于此,本发明实施例提供了一种虚拟机热迁移方法、设备及存储介质,以解决当迁移的虚拟机业务繁忙或者迁移网络传输速率较低时,往往经过多次迭代拷贝后仍无法收敛,会导致迁移持续时间过长,并且对脏页数据的拷贝会长期占用网络资源,影响其他业务的正常运行的问题。
根据第一方面,本发明实施例提供了热迁移管理方法,包括:
接收虚拟机热迁移请求;
根据所述虚拟机热迁移请求获取用于预估热迁移的虚拟机测试数据;
将所述虚拟机测试数据输入基于随机森林的热迁移预估模型,得到热迁移预估结果;其中,所述基于随机森林的热迁移预估模型用于预估当前环境条件是否适合发起虚拟机热迁移;
若确定所述热迁移预估结果为适合发起虚拟机热迁移,则发起虚拟机热迁移。
本申请实施方式中,在接收虚拟机热迁移请求后,不是直接发起虚拟机热迁移,而是先获取用于预估热迁移的虚拟机测试数据,再通过基于随机森林的热迁移预估模型进行评估,得到的热迁移预估结果为适合发起虚拟机热迁移,才可以发起虚拟机热迁移,从而提高了虚拟机热迁移的成功率,降低了迁移成本,避免了资源浪费。
结合第一方面,在第一方面第一实施方式中,所述若确定所述热迁移预估结果为适合发起虚拟机热迁移,则发起虚拟机热迁移,包括:
若所述虚拟机测试数据包括连续获取的多组测试数据,且所述多组测试数据中的每组测试数据对应的热迁移预估结果均为适合发起虚拟机热迁移,则发起虚拟机热迁移。
本申请实施方式中,通过连续获取的多组测试数据,均输入基于随机森林的热迁移预估模型,得到的所有热迁移预估结果均为适合发起虚拟机热迁移时,才可以发起虚拟机热迁移,从而提高了热迁移预估的可靠性。
结合第一方面,在第一方面第二实施方式中,所述虚拟机测试数据包括直观影响虚拟机热迁移过程的第一测量数据、和/或间接影响虚拟机热迁移过程的第二测量数据。
本申请实施方式中,通过获取直观影响迁移过程的第一测试数据和/或间接影响迁移过程的第二测试数据,从而保证了热迁移预估的准确性。
结合第一方面或在第一方面第一实施方式或在第一方面第二实施方式,在第一方面第三实施方式中,还包括:
构建所述基于随机森林的热迁移预估模型;
其中,所述构建所述基于随机森林的热迁移预估模型,包括:
采集用于构建所述基于随机森林的热迁移预估模型的第一样本数据;
根据设定的中止门限为所述第一样本数据添加标签,得到第二样本数据,所述中止门限为用于判断是否适合发起虚拟机热迁移的门限;
将所述第二样本数据输入随机森林分类模型进行训练学习,得到所述基于随机森林的热迁移预估模型。
本申请实施方式中,通过采集样本数据,添加标签,输入随机森林分类模型进行训练学习,训练好后最终得到基于随机森林的热迁移预估模型,这样便于后续使用这个热迁移预估模型进行热迁移预估,从而提高了热迁移管理的效率。
结合第一方面第三实施方式,在第四实施方式中,所述第一样本数据的样本特征包括CPU利用率、脏页速率、迁移速率、预估时间、内存大小、是否自动收敛、内存使用率、磁盘使用率和最大停机时间中的一项或多项。
本申请实施方式中,可以通过机器学习来构建热迁移预估模型,综合直观以及潜在影响因素,这样可以达到更加准确的效果。
结合第一方面第三实施方式,在第五实施方式中,还包括:
利用时间预估算法计算虚拟机在设定条件下的总迁移时间,所述总迁移时间为所述中止门限。
本申请实施方式中,可以利用时间预估算法计算虚拟机在设定条件下的总迁移时间,该总迁移时间为中止门限,这样提高了构建热迁移预估模型的效率。
结合第一方面第三实施方式,在第六实施方式中,所述将所述第二样本数据输入随机森林分类模型进行训练学习,得到所述基于随机森林的热迁移预估模型,包括:
根据所述第二样本数据构造多棵决策树;
针对所述多棵决策树中的每棵决策树,根据所述第二样本数据中的设定数量个样本特征进行训练学习,以及通过分类回归树CART算法进行分类,得到分类结果;
从所述分类结果中选取分类结果最多的类别,所述分类结果最多的类别为基于随机森林的分类结果。
本申请实施方式中,通过构造多棵决策树,针对每棵决策树根据第二样本数据中的设定数量个样本特征进行训练学习,以及通过CART算法进行分类,得到分类结果,以及从分类结果中选取分类结果最多的类别,作为为整个随机森林的分类结果,从而进一步提高了构建热迁移预估模型的准确性。
根据第二方面,本发明实施例提供了一种热迁移管理装置,包括:
接收模块,用于接收虚拟机热迁移请求;
获取模块,用于根据所述热迁移请求获取用于预估热迁移的虚拟机测试数据;
评估模块,用于将所述虚拟机测试数据输入基于随机森林的热迁移预估模型,得到热迁移预估结果;其中,所述基于随机森林的热迁移预估模型用于预估当前环境条件是否适合发起虚拟机热迁移;
热迁移模块用于若确定所述热迁移预估结果为适合发起虚拟机热迁移,则发起虚拟机热迁移。
结合第二方面,在第二方面第一实施方式中,所述热迁移模块具体用于:
若所述虚拟机测试数据包括连续获取的多组测试数据,且所述多组测试数据中的每组测试数据对应的热迁移预估结果均为适合发起虚拟机热迁移,则发起虚拟机热迁移。
结合第二方面,在第二方面第二实施方式中,所所述虚拟机测试数据包括直观影响虚拟机热迁移过程的第一测量数据、和/或间接影响虚拟机热迁移过程的第二测量数据。
结合第二方面或在第二方面第一实施方式或在第二方面第二实施方式,在第二方面第三实施方式中,该热迁移管理装置还可以包括:
构建模块,用于构建所述基于随机森林的热迁移预估模型;
其中,所述构建模块可以包括:
采集子模块,用于采集用于构建所述基于随机森林的热迁移预估模型的第一样本数据;
添加标签子模块,用于根据设定的中止门限为所述第一样本数据添加标签,得到第二样本数据,所述中止门限为用于判断是否适合发起虚拟机热迁移的门限;
训练学习子模块,用于将所述第二样本数据输入随机森林分类模型进行训练学习,得到所述基于随机森林的热迁移预估模型。
结合第二方面第三实施方式,在第四实施方式中,所述第一样本数据的样本特征包括CPU利用率、脏页速率、迁移速率、预估时间、内存大小、是否自动收敛、内存使用率、磁盘使用率和最大停机时间中的一项或多项。
结合第二方面第三实施方式,在第五实施方式中,所述构建模块还可以包括:
计算子模块,用于利用时间预估算法计算虚拟机在设定条件下的总迁移时间,所述总迁移时间为所述中止门限。
结合第二方面第三实施方式,在第六实施方式中,所述训练学习子模块具体用于:
根据所述第二样本数据构造多棵决策树;
针对所述多棵决策树中的每棵决策树,根据所述第二样本数据中的设定数量个样本特征进行训练学习,以及通过分类回归树CART算法进行分类,得到分类结果;
从所述分类结果中选取分类结果最多的类别,所述分类结果最多的类别为基于随机森林的分类结果。
根据第三方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中所述的热迁移管理方法。
根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面或者第一方面的任意一种实施方式中所述的热迁移管理方法。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了一种热迁移管理方法的方法流程图。
图2示出了一种热迁移管理方法的应用场景示意图。
图3示出了一种随机森林分类模型的示意图。
图4示出了一种热迁移管理装置的结构示意图。
图5示出了一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了一种热迁移管理方法的方法流程图,该热迁移管理方法可以用于热迁移管理的电子设备上,该电子设备可以位于虚拟机热迁移中的源物理机。如图1所示,该热迁移管理方法可以包括:
步骤101、接收虚拟机(Kernel-based Virtual Machine,KVM)热迁移请求。
具体地,虚拟机的迁移分为冷迁移与热迁移,冷迁移一般适用服务可用性要求不高的场景。而热迁移由于停机时间很短,适合对服务可用性要求较高的场景,如负载均衡、节点升级等,热迁移可以极大的降低用户业务的中断时间。
步骤102、根据虚拟机热迁移请求获取用于预估热迁移的虚拟机测试数据。
具体地,接收到虚拟机热迁移请求后,不是直接发起虚拟机热迁移,而是先进行热迁移预估,即预估当前环境条件是否适合发起虚拟机热迁移。
其中,虚拟机测试数据用于预估当前环境条件是否适合发起虚拟机热迁移,这样可以在合适的环境条件下(避开业务高峰以及网络传输低谷)发起热迁移,避免***资源浪费以及影响用户实际业务。
步骤103、将虚拟机测试数据输入基于随机森林的热迁移预估模型,得到热迁移预估结果。其中,基于随机森林的热迁移预估模型用于预估当前环境条件是否适合发起虚拟机热迁移。
具体地,基于随机森林的热迁移预估模型可以是预先训练好的,用于预估当前环境条件是否适合发起虚拟机热迁移的模型。
其中,热迁移预估结果可能是适合发起虚拟机热迁移,也可能是不适合发起虚拟机热迁移。
步骤104、若确定热迁移预估结果为适合发起虚拟机热迁移,则发起虚拟机热迁移。
具体地,只有在热迁移预估结果为适合发起虚拟机热迁移,才发起虚拟机热迁移,这样可以提高虚拟机热迁移的成功率。
本申请实施例中,在接收虚拟机热迁移请求后,不是直接发起虚拟机热迁移,而是先获取用于预估热迁移的虚拟机测试数据,再通过基于随机森林的热迁移预估模型进行评估,得到的热迁移预估结果为适合发起虚拟机热迁移,才可以发起虚拟机热迁移,从而提高了虚拟机热迁移的成功率,降低了迁移成本,避免了资源浪费。
在一个可选的实施例中,在执行步骤104,可以采用不限于以下实现方式:
若虚拟机测试数据包括连续获取的多组测试数据,且多组测试数据中的每组测试数据对应的热迁移预估结果均为适合发起虚拟机热迁移,则发起虚拟机热迁移。
具体地,为了提高了热迁移预估的可靠性,可以连续获取的多组测试数据,均输入基于随机森林的热迁移预估模型,得到的所有热迁移预估结果均为适合发起虚拟机热迁移时,才可以发起虚拟机热迁移。
比如:连续获取的5组测试数据,均输入基于随机森林的热迁移预估模型,得到的5个热迁移预估结果均为适合发起虚拟机热迁移时,才可以发起虚拟机热迁移。
本申请实施例中,通过连续获取的多组测试数据,均输入基于随机森林的热迁移预估模型,得到的所有热迁移预估结果均为适合发起虚拟机热迁移时,才可以发起虚拟机热迁移,从而提高了热迁移预估的可靠性。
在一个可选的实施例中,上述步骤102中的虚拟机测试数据可以包括直观影响虚拟机热迁移过程的第一测量数据、和/或间接影响虚拟机热迁移过程的第二测量数据。
具体地,直观影响虚拟机热迁移过程的因素可以包括:迁移速率、虚机内存、脏页速率、最大停机时间等;间接影响虚拟机热迁移过程的因素可以包括:CPU利用率、内存利用率、磁盘利用率等。
本申请实施例中,通过获取直观影响迁移过程的第一测试数据和/或间接影响迁移过程的第二测试数据,从而保证了热迁移预估的准确性。
在一个可选的实施例中,该热迁移管理方法还可以包括:
步骤105、构建基于随机森林的热迁移预估模型;其中,构建基于随机森林的热迁移预估模型,包括:
1-1、采集用于构建基于随机森林的热迁移预估模型的第一样本数据;
1-2、根据设定的中止(abort)门限为第一样本数据添加标签,得到第二样本数据,中止(abort)门限为用于判断是否适合发起虚拟机热迁移的门限;
1-3、将第二样本数据输入随机森林分类模型进行训练学习,得到基于随机森林的热迁移预估模型。
具体地,标签可以指的是中止(abort)标记。若已触发中止(abort)标记,则为不适合发起虚拟机热迁移;若未触发中止(abort)标记,则为适合发起虚拟机热迁移。
中止门限可以是用于判断是否适合发起虚拟机热迁移的门限。即当实际迁移时间超过中止门限时,代表虚拟机处于网络传输能力低或者业务比较繁忙的状态,不适合发起虚拟机热迁移(即不适合进行迁移行为)。
本申请实施例中,通过采集样本数据,添加标签,输入随机森林分类模型进行训练学习,训练好后最终得到基于随机森林的热迁移预估模型,这样便于后续使用这个热迁移预估模型进行热迁移预估,从而提高了热迁移管理的效率。
在一个可选的实施例中,上述1-1中的第一样本数据的样本特征可以包括CPU利用率、脏页速率、迁移速率、预估时间、内存大小、是否自动收敛、内存使用率、磁盘使用率和最大停机时间中的一项或多项。
具体地,CPU利用率、脏页速率、迁移速率、预估时间、内存大小、是否自动收敛(auto-converge)、内存使用率、磁盘使用率和最大停机时间,这些样本特征对训练模型产生直接的或间接的影响。
比如:CPU利用率对训练模型产生的影响占比为:14.20%;
脏页速率对训练模型产生的影响占比为:27.10%;
迁移速率对训练模型产生的影响占比为:19.20%;
预估时间对训练模型产生的影响占比为:18.20%;
内存大小对训练模型产生的影响占比为:4.80%;
是否自动收敛(auto-converge)对训练模型产生的影响占比为:6.80%;
内存使用率对训练模型产生的影响占比为:3.70%;
磁盘使用率对训练模型产生的影响占比为:1.40%;
最大停机时间对训练模型产生的影响占比为:4.60%。
本申请实施例中,可以通过机器学习来构建热迁移预估模型,综合直观以及潜在影响因素,这样可以达到更加准确的效果。
在一个可选的实施例中,上述1-2还可以包括:
利用时间预估算法计算虚拟机在设定条件下的总迁移时间,该总迁移时间为中止(abort)门限。
具体地,设定条件可以指的是极端条件,即迁移速率为网卡带宽的50%、脏页速率与迁移速率的比值为0.95。
根据虚机内存、网卡配置、利用时间预估算法估计极端条件下的总迁移时间,以此作为判断是否适合发起虚拟机热迁移的门限(即是否适合进行迁移行为的门限)。
本申请实施例中,可以利用时间预估算法计算虚拟机在设定条件下的总迁移时间,该总迁移时间为中止门限,这样提高了构建热迁移预估模型的效率。
在一个可选的实施例中,上述1-3可以采用不限于以下实现方式:
根据第二样本数据构造多棵决策树;
针对多棵决策树中的每棵决策树,根据第二样本数据中的设定数量个样本特征进行训练学习,以及通过分类回归树(Classification And Regression Tree,CART)算法进行分类,得到分类结果;
从分类结果中选取分类结果最多的类别,分类结果最多的类别为基于随机森林的分类结果。
具体地,设定数量可以是k,且M为第二样本数据中的样本特征总数。比如:若M为9,则k为3。其中,第二样本数据中的样本特征总数和第一样本数据中的样本特征总数相同,其样本特征具体为:CPU利用率、脏页速率、迁移速率、预估时间、内存大小、是否自动收敛、内存使用率、磁盘使用率和最大停机时间中的一项或多项。
比如:构造45棵决策树,每棵决策树随机选择3样本个特征进行训练学习。
本申请实施例中,通过构造多棵决策树,针对每棵决策树根据第二样本数据中的设定数量个样本特征进行训练学习,以及通过CART算法进行分类,得到分类结果,以及从分类结果中选取分类结果最多的类别,作为为整个随机森林的分类结果,从而进一步提高了构建热迁移预估模型的准确性。
下面通过一个具体示例来说明上述虚拟机热迁移的实现过程。
如图2所示,用于热迁移管理的装置可以包括样本采集器、样本标记器、随机森林分类模型三个部分。
1、样本采集器
样本采集器主要用于在迁移发生前采集样本数据(即第一样本数据),以供后续模型训练使用。样本特征分别为:CPU利用率、脏页速率、迁移速率、预估时间、内存大小、是否自动收敛(auto-converge)、内存使用率、磁盘使用率、最大停机时间。
2、样本标记器
样本标记器利用迁移时间预估算法为自动abort程序提供门限,为机器学习模型样本数据打标签,具体步骤如下:
(1)对于未开启自动收敛(auto-converge)的情况:
a、根据虚机内存、网卡配置、利用时间预估算法估计极端条件下(迁移速率为网卡带宽的50%、脏页速率与迁移速率的比值为0.95)的总迁移时间,以此作为判断是否需要停止迁移行为的门限。即当实际迁移时间超过门限时,代表虚拟机处于网络传输能力低或者业务比较繁忙的状态,不适合进行迁移行为。
其中,迁移总时间ttotal由下述公式(1)、(2)联合求解得到。
其中,tdowntime为配置文件中设置的最大停机时间,M为虚拟机内存、R为迁移速率、C为挂起以及恢复虚机的时间,固定值、ρ为脏页速率/迁移速率;n为迭代轮次,ts为停机时间。
b、发起迁移,自动中止(abort)程序根据中止(abort)门限判断是否中断迁移行为,并为迁移前提取的样本数据打上标签,未触发abort标记为适合迁移情况,反之则是不适合迁移情况。
(2)对于开启自动收敛(auto-converge)的情况:
a、若未达到脏页速率与传输速率的比值未达到降频门限(默认50%),按照上述情况执行。
b、发起迁移,若迁移过程中达到降频门限,为了尽量保证迁移行为不影响实际业务,判断是否执行中止(abort)的条件为CPU降频程度,门限为50%,即当CPU降频超过50%仍然无法完成迁移行为时,终止迁移。最后为迁移前提取的样本数据打上标签,未触发中止(abort)标记为适合迁移情况,反之则是不适合迁移情况。
3、随机森林分类模型
样本准备完毕后,输入随机森林分类模型进行训练学习,以此作为判断当前情况是否适合发起热迁移的判断模型。其中,随机森林分类模型如图3所示,步骤如下:
a、利用引导聚集算法(即Bagging算法)随机生成训练集,从给定的包含N个样本的原始数据集中有放回地随机采样N次,得到一个含有N个样本的训练集,该训练集用于训练得到基决策树,按照以上过程重复N次,构造T棵决策树。
c、决策树采用CART算法进行分类,样本输入后经过若干节点的特征划分,得到最终的分类结果,其中CART划分特征分为两步:
步骤一:计算样本的基尼(Gini)系数,即:
其中,D为训练样本,y为样本分类,pk为第k类样本占总样本的比例。
步骤二:计算划分的基尼(Gini)系数,假设划分为D1以及D2:
其中,D为训练样本、D1以及D2是由D划分成的两个样本。
d、决策树通过投票输出分类结果,少数服从多数,取单棵树分类结果最多的那个类别作为整个随机森林的分类结果。
e、模型训练完毕后,用户发起迁移请求,模型获取数据得出结果,判断是否适合发起热迁移,模型需要连续获取多组数据得到多个判定结果,若判定结果都一致,则输出最终的结论,是否发起热迁移。
由上述实施例可见,本发明能够实现的技术效果可以包括:
(1)提高热迁移成功率:本发明通过对热迁移相关特征的捕捉,建立基于随机森林的热迁移预估模型,在热迁移发生前判断当前环境条件下是否适合发起热迁移行为,阻止恶劣条件下的热迁移行为,从而提高了热迁移的成功率。
(2)降低迁移成本:在虚拟机承担的业务处于高峰的情况下,脏页速率较高,而迁移传输速率受制于网络带宽,热迁移耗时过长。在迁移期间,带宽、CPU、内存等***资源一直被占用,导致迁移成本加剧。而本专利提出的热迁移管理装置优化方法,可以预判迁移可能带来的成本,选择成本小的时候发起迁移。
(3)减小热迁移负面影响:在迁移期间,长时间的***资源占用会增大虚拟机负荷,从而影响用户本身的业务。此外,云平台通过CPU降频的方式加速热迁移完成也同样会降低虚拟机性能,给用户业务带来负面影响。本专利提供的方法则可以有效规避这些负面场景,减小热迁移给实际业务带来的负面影响。
图4示出了一种热迁移管理装置的结构示意图。该热迁移管理装置可以位于虚拟机热迁移中的源物理机。如图4所示,该热迁移管理装置可以包括:
接收模块11,用于接收虚拟机热迁移请求;
获取模块12,用于根据所述热迁移请求获取用于预估热迁移的虚拟机测试数据;
评估模块13,用于将所述虚拟机测试数据输入基于随机森林的热迁移预估模型,得到热迁移预估结果;其中,所述基于随机森林的热迁移预估模型用于预估当前环境条件是否适合发起虚拟机热迁移;
热迁移模块14,用于若确定所述热迁移预估结果为适合发起虚拟机热迁移,则发起虚拟机热迁移。
在一种可能的实现方式中,所述热迁移模块14具体用于:
若所述虚拟机测试数据包括连续获取的多组测试数据,且所述多组测试数据中的每组测试数据对应的热迁移预估结果均为适合发起虚拟机热迁移,则发起虚拟机热迁移。
在一种可能的实现方式中,所述虚拟机测试数据包括直观影响虚拟机热迁移过程的第一测量数据、和/或间接影响虚拟机热迁移过程的第二测量数据。
在一种可能的实现方式中,该电子设备还可以包括:
构建模块,用于构建所述基于随机森林的热迁移预估模型;
其中,所述构建模块可以包括:
采集子模块,用于采集用于构建所述基于随机森林的热迁移预估模型的第一样本数据;
添加标签子模块,用于根据设定的中止门限为所述第一样本数据添加标签,得到第二样本数据,所述中止门限为用于判断是否适合发起虚拟机热迁移的门限;
训练学习子模块,用于将所述第二样本数据输入随机森林分类模型进行训练学习,得到所述基于随机森林的热迁移预估模型。
在一种可能的实现方式中,所述第一样本数据的样本特征包括CPU利用率、脏页速率、迁移速率、预估时间、内存大小、是否自动收敛、内存使用率、磁盘使用率和最大停机时间中的一项或多项。
在一种可能的实现方式中,所述构建模块还可以包括:
计算子模块,用于利用时间预估算法计算虚拟机在设定条件下的总迁移时间,所述总迁移时间为所述中止门限。
在一种可能的实现方式中,所述训练学习子模块具体用于:
根据所述第二样本数据构造多棵决策树;
针对所述多棵决策树中的每棵决策树,根据所述第二样本数据中的设定数量个样本特征进行训练学习,以及通过分类回归树CART算法进行分类,得到分类结果;
从所述分类结果中选取分类结果最多的类别,所述分类结果最多的类别为基于随机森林的分类结果。
在此需要说明的是,本申请实施例提供的热迁移管理装置,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
图5示出了一种电子设备的结构示意图。如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行热迁移管理方法,该方法包括:
接收虚拟机热迁移请求;
根据所述虚拟机热迁移请求获取用于预估热迁移的虚拟机测试数据;
将所述虚拟机测试数据输入基于随机森林的热迁移预估模型,得到热迁移预估结果;其中,所述基于随机森林的热迁移预估模型用于预估当前环境条件是否适合发起虚拟机热迁移;
若确定所述热迁移预估结果为适合发起虚拟机热迁移,则发起虚拟机热迁移。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的热迁移管理方法,该方法包括:
接收虚拟机热迁移请求;
根据所述虚拟机热迁移请求获取用于预估热迁移的虚拟机测试数据;
将所述虚拟机测试数据输入基于随机森林的热迁移预估模型,得到热迁移预估结果;其中,所述基于随机森林的热迁移预估模型用于预估当前环境条件是否适合发起虚拟机热迁移;
若确定所述热迁移预估结果为适合发起虚拟机热迁移,则发起虚拟机热迁移。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的热迁移管理方法,该方法包括:
接收虚拟机热迁移请求;
根据所述虚拟机热迁移请求获取用于预估热迁移的虚拟机测试数据;
将所述虚拟机测试数据输入基于随机森林的热迁移预估模型,得到热迁移预估结果;其中,所述基于随机森林的热迁移预估模型用于预估当前环境条件是否适合发起虚拟机热迁移;
若确定所述热迁移预估结果为适合发起虚拟机热迁移,则发起虚拟机热迁移。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种热迁移管理方法,其特征在于,包括:
接收虚拟机热迁移请求;
根据所述虚拟机热迁移请求获取用于预估热迁移的虚拟机测试数据;
将所述虚拟机测试数据输入基于随机森林的热迁移预估模型,得到热迁移预估结果;其中,所述基于随机森林的热迁移预估模型用于预估当前环境条件是否适合发起虚拟机热迁移;
若确定所述热迁移预估结果为适合发起虚拟机热迁移,则发起虚拟机热迁移。
2.根据权利要求1所述的方法,其特征在于,所述若确定所述热迁移预估结果为适合发起虚拟机热迁移,则发起虚拟机热迁移,包括:
若所述虚拟机测试数据包括连续获取的多组测试数据,且所述多组测试数据中的每组测试数据对应的热迁移预估结果均为适合发起虚拟机热迁移,则发起虚拟机热迁移。
3.根据权利要求1所述的方法,其特征在于,所述虚拟机测试数据包括直观影响虚拟机热迁移过程的第一测量数据、和/或间接影响虚拟机热迁移过程的第二测量数据。
4.根据权利要求1至3任一项所述的方法,其特征在于,还包括:
构建所述基于随机森林的热迁移预估模型;
其中,所述构建所述基于随机森林的热迁移预估模型,包括:
采集用于构建所述基于随机森林的热迁移预估模型的第一样本数据;
根据设定的中止门限为所述第一样本数据添加标签,得到第二样本数据,所述中止门限为用于判断是否适合发起虚拟机热迁移的门限;
将所述第二样本数据输入随机森林分类模型进行训练学习,得到所述基于随机森林的热迁移预估模型。
5.根据权利要求4所述的方法,其特征在于,所述第一样本数据的样本特征包括CPU利用率、脏页速率、迁移速率、预估时间、内存大小、是否自动收敛、内存使用率、磁盘使用率和最大停机时间中的一项或多项。
6.根据权利要求4所述的方法,其特征在于,还包括:
利用时间预估算法计算虚拟机在设定条件下的总迁移时间,所述总迁移时间为所述中止门限。
7.根据权利要求4所述的方法,其特征在于,所述将所述第二样本数据输入随机森林分类模型进行训练学习,得到所述基于随机森林的热迁移预估模型,包括:
根据所述第二样本数据构造多棵决策树;
针对所述多棵决策树中的每棵决策树,根据所述第二样本数据中的设定数量个样本特征进行训练学习,以及通过分类回归树CART算法进行分类,得到分类结果;
从所述分类结果中选取分类结果最多的类别,所述分类结果最多的类别为基于随机森林的分类结果。
8.一种热迁移管理装置,其特征在于,包括:
接收模块,用于接收虚拟机热迁移请求;
获取模块,用于根据所述热迁移请求获取用于预估热迁移的虚拟机测试数据;
评估模块,用于将所述虚拟机测试数据输入基于随机森林的热迁移预估模型,得到热迁移预估结果;其中,所述基于随机森林的热迁移预估模型用于预估当前环境条件是否适合发起虚拟机热迁移;
热迁移模块,用于若确定所述热迁移预估结果为适合发起虚拟机热迁移,则发起虚拟机热迁移。
9.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-7中任一项所述的热迁移管理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的热迁移管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111578526.4A CN114443212A (zh) | 2021-12-22 | 2021-12-22 | 热迁移管理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111578526.4A CN114443212A (zh) | 2021-12-22 | 2021-12-22 | 热迁移管理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114443212A true CN114443212A (zh) | 2022-05-06 |
Family
ID=81363356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111578526.4A Pending CN114443212A (zh) | 2021-12-22 | 2021-12-22 | 热迁移管理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114443212A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116560802A (zh) * | 2023-07-05 | 2023-08-08 | 麒麟软件有限公司 | 一种基于虚拟机负载的虚拟机自适应热迁移方法及*** |
WO2023232053A1 (zh) * | 2022-06-01 | 2023-12-07 | 阿里巴巴(中国)有限公司 | 热迁移结果预测方法、热迁移方法、电子设备及存储介质 |
-
2021
- 2021-12-22 CN CN202111578526.4A patent/CN114443212A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023232053A1 (zh) * | 2022-06-01 | 2023-12-07 | 阿里巴巴(中国)有限公司 | 热迁移结果预测方法、热迁移方法、电子设备及存储介质 |
CN116560802A (zh) * | 2023-07-05 | 2023-08-08 | 麒麟软件有限公司 | 一种基于虚拟机负载的虚拟机自适应热迁移方法及*** |
CN116560802B (zh) * | 2023-07-05 | 2023-09-26 | 麒麟软件有限公司 | 一种基于虚拟机负载的虚拟机自适应热迁移方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110837410B (zh) | 任务调度方法、装置、电子设备及计算机可读存储介质 | |
CN114443212A (zh) | 热迁移管理方法、装置、设备及存储介质 | |
CN109586952B (zh) | 服务器扩容方法、装置 | |
CN106682906B (zh) | 一种风险识别、业务处理方法和设备 | |
WO2022001918A1 (zh) | 构建预测模型的方法、装置、计算设备和存储介质 | |
CN114356558B (zh) | 一种基于集群的缩容处理方法及装置 | |
CN108985954A (zh) | 一种建立各标识的关联关系的方法以及相关设备 | |
CN105721629A (zh) | 用户标识匹配方法和装置 | |
CN107995032B (zh) | 一种基于云数据中心搭建网络实验平台的方法及装置 | |
CN112433812A (zh) | 一种虚拟机跨集群迁移方法、***、设备及计算机介质 | |
CN114443211A (zh) | 虚拟机热迁移方法、设备及存储介质 | |
CN107357649B (zh) | ***资源部署策略的确定方法、装置及电子设备 | |
CN116089477B (zh) | 分布式训练方法及*** | |
CN107688582B (zh) | 资源推荐模型的获取方法及装置 | |
CN111290928B (zh) | 一种原子业务重要性确定方法、装置、介质和设备 | |
CN115454574A (zh) | 容器的部署方法、装置及电子设备 | |
CN112783843A (zh) | 数据读取方法、装置及电子设备 | |
CN108509560B (zh) | 用户相似度获得方法和装置、设备、存储介质 | |
CN112783673A (zh) | 一种调用链的确定方法、装置、计算机设备及存储介质 | |
CN107465743B (zh) | 一种处理请求的方法和装置 | |
CN111722977A (zh) | ***巡检方法、装置及电子设备 | |
CN104506663B (zh) | 一种智能云计算运行管理*** | |
CN113313196B (zh) | 标注数据处理方法、相关装置及计算机程序产品 | |
CN113783677B (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
CN108063733A (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 |