CN110162379B - 虚拟机迁移方法、装置和计算机设备 - Google Patents

虚拟机迁移方法、装置和计算机设备 Download PDF

Info

Publication number
CN110162379B
CN110162379B CN201810373152.4A CN201810373152A CN110162379B CN 110162379 B CN110162379 B CN 110162379B CN 201810373152 A CN201810373152 A CN 201810373152A CN 110162379 B CN110162379 B CN 110162379B
Authority
CN
China
Prior art keywords
classification model
training
model
sample
state parameter
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
Application number
CN201810373152.4A
Other languages
English (en)
Other versions
CN110162379A (zh
Inventor
成一鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd, Tencent Cloud Computing Beijing Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810373152.4A priority Critical patent/CN110162379B/zh
Publication of CN110162379A publication Critical patent/CN110162379A/zh
Application granted granted Critical
Publication of CN110162379B publication Critical patent/CN110162379B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种虚拟机迁移方法、装置和计算机设备,该方法包括:获取虚拟机的第一状态参数;获取所述虚拟机所对应的目标物理机的第二状态参数;将第一状态参数和第二状态参数输入混合预测模型,通过所述混合预测模型按第一状态参数和第二状态参数对所述虚拟机进行热迁移结果预测处理;当所述混合预测模型输出的预测结果为热迁移成功时,则将所述虚拟机热迁移至所述目标物理机。本申请方案提高了虚拟机热迁移成功率。

Description

虚拟机迁移方法、装置和计算机设备
技术领域
本发明涉及计算机技术领域,特别是涉及一种虚拟机迁移方法、装置和计算机设备。
背景技术
随着科学技术的飞速发展,虚拟机(Virtual Machine)技术越来越完善,虚拟机可以适用于越来越多的场景中,因此也受到越来越多用户的青睐。在虚拟机的使用过程中,会涉及到虚拟机迁移处理。
热迁移是比较重要的一种虚拟机迁移方式。因为热迁移的过程中,虚拟机仍旧平滑运行,用户并不会察觉到任何差异,从而避免了在迁移过程中终止用户使用虚拟机的情况。传统方法中,在对虚拟机进行热迁移处理时,是由人工按照以往经验来判断是否适合进行热迁移处理。然而由于人工的专业水平参差不齐等原因,所以传统方法会造成虚拟机热迁移成功率较低。
发明内容
基于此,有必要针对传统方法通常会造成虚拟机热迁移成功率较低的问题,提供一种虚拟机迁移方法、装置、计算机设备和存储介质。
一种虚拟机迁移方法,所述方法包括:
获取虚拟机的第一状态参数;
获取所述虚拟机所对应的目标物理机的第二状态参数;
将第一状态参数和第二状态参数输入混合预测模型,通过所述混合预测模型按第一状态参数和第二状态参数对所述虚拟机进行热迁移结果预测处理;
当所述混合预测模型输出的预测结果为热迁移成功时,则将所述虚拟机热迁移至所述目标物理机。
一种虚拟机迁移装置,所述装置包括:
状态参数获取模块,用于获取虚拟机的第一状态参数;获取所述虚拟机所对应的目标物理机的第二状态参数;
预测模块,用于将第一状态参数和第二状态参数输入混合预测模型,通过所述混合预测模型按第一状态参数和第二状态参数对所述虚拟机进行热迁移结果预测处理;
热迁移模块,用于当所述混合预测模型输出的预测结果为热迁移成功时,则将所述虚拟机热迁移至所述目标物理机。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
获取虚拟机的第一状态参数;
获取所述虚拟机所对应的目标物理机的第二状态参数;
将第一状态参数和第二状态参数输入混合预测模型,通过所述混合预测模型按第一状态参数和第二状态参数对所述虚拟机进行热迁移结果预测处理;
当所述混合预测模型输出的预测结果为热迁移成功时,则将所述虚拟机热迁移至所述目标物理机。
一种存储有计算机程序的存储介质,所述计算机程序被处理器执行时,使得处理器执行如下步骤:
获取虚拟机的第一状态参数;
获取所述虚拟机所对应的目标物理机的第二状态参数;
将第一状态参数和第二状态参数输入混合预测模型,通过所述混合预测模型按第一状态参数和第二状态参数对所述虚拟机进行热迁移结果预测处理;
当所述混合预测模型输出的预测结果为热迁移成功时,则将所述虚拟机热迁移至所述目标物理机。
上述虚拟机迁移方法、装置、计算机设备和存储介质,预先建立了对虚拟机进行热迁移结果预测处理的混合预测模型,然后将虚拟机和目标物理机的第一状态参数和第二状态参数输入混合预测模型中,来对热迁移结果预测,当预测结果为热迁移成功时,再将虚拟机热迁移至目标物理机。通过混合预测模型得到的预测结果相较于人工经验主观判断而言,更具有参考性,从而提高了虚拟机热迁移时的成功率。
附图说明
图1为一个实施例中虚拟机迁移方法的应用场景图;
图2为一个实施例中虚拟机迁移方法的流程示意图;
图3为一个实施例中额外资源分配步骤的流程示意图;
图4为一个实施例中关键状态参数确定步骤的流程示意图;
图5为一个实施例中状态参数的热迁移结果影响力度示意图;
图6为一个实施例中虚拟机迁移方法的部署架构示意图;
图7为一个实施例中虚拟机迁移装置的框图;
图8为一个实施例中虚拟机迁移装置的框图;
图9为一个实施例中虚拟机迁移装置的框图;
图10为一个实施例中计算机设备的内部结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中虚拟机迁移方法的应用场景图。参照图1,该应用场景中包括虚拟机110、源物理机120、服务器130和目标物理机140。服务器130分别和虚拟机110、源物理机120以及目标物理机140进行网络通信。需要说明的是,物理机为虚拟机的运行提供硬件条件。源物理机120是虚拟机当前所运行于的物理机。目标物理机140,是虚拟机将要迁移至的物理机。服务器130,用于实现迁移过程中各种处理。可以理解,迁移过程中所涉及的各种处理,包括迁移前的热迁移超时预测处理和将虚拟机迁移到目标物理机的迁移处理。
可以理解,服务器130的功能可以由一个服务器或多个服务器集群来实现。当服务器130的功能由多个服务器集群来共同实现时,不同的服务器可以用于实现服务器130中不同的功能,比如,可以将迁移前的热迁移超时预测处理和将虚拟机迁移到目标物理机的迁移处理分别通过不同的服务器来实现。本申请实施例仅为了从原理上说明虚拟机迁移方法,故以服务器130进行统一表述。
服务器130获取虚拟机110的第一状态参数,并获取虚拟机110所对应的目标物理机140的第二状态参数。服务器130将第一状态参数和第二状态参数输入混合预测模型,通过混合预测模型按第一状态参数和第二状态参数对虚拟机110进行热迁移结果预测处理。当混合预测模型输出的预测结果为热迁移成功时,服务器130则将虚拟机110从源物理机120热迁移至目标物理机140。
需要说明的是,本申请各实施例中的“第一”和“第二”仅用作区分,而并不用于大小、先后、从属等方面的限定。
图2为一个实施例中虚拟机迁移方法的流程示意图。本实施例主要以该虚拟机迁移方法应用于计算机设备来举例说明,该计算机设备可以为图1中的服务器130。参照图2,该方法具体包括如下步骤:
S202,获取虚拟机的第一状态参数。
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
可以理解,第一状态参数,是描述虚拟机的状态的相关参数。在一个实施例中,第一状态参数包括虚拟机的初始空间状态参数、空间占用状态参数和网络通信状态参数中的至少一种。
其中,初始空间状态参数,是描述虚拟机的初始空间状态的参数。初始空间状态,是为虚拟机分配的初始的空间的状态。空间占用状态参数,是描述虚拟机当前所占用的空间状态的参数。网络通信状态参数,是描述虚拟机的当前网络通信状态的参数。
在一个实施例中,初始空间状态参数包括CPU(Central Processing Unit,中央处理器)初始大小、内存初始大小、磁盘初始大小、初始网络带宽等中的至少一种。
在一个实施例中,空间占用状态参数包括:当前CPU使用率、当前内存使用率、当前磁盘使用率、当前磁盘单位时间读/写操作次数、当前磁盘单位时间写流量、系统进程总数量等中的至少一种。
在一个实施例中,网络通信状态参数包括:网卡进/出流量、内网出/入包量、内网出/入流量、网络连接数量等中的至少一种。在一个实施例中,网络连接包括TCP(Transmission Control Protocol传输控制协议)连接。可以理解,网络连接还可以包括基于其他通信协议所建立的连接,而并不限定于TCP连接。
具体地,计算机设备可以直接获取已采集的虚拟机的第一状态参数。计算机设备也可以向虚拟机发送状态参数查询请求,接收虚拟机响应于该状态参数查询请求所返回的第一状态参数。计算机设备还可以向状态监控系统发送针对虚拟机的状态参数查询请求,接收状态监控系统响应于该状态参数查询请求所返回的虚拟机的第一状态参数。其中,状态监控系统,用于监控虚拟机和物理机的状态。
在一个实施例中,在步骤S202之前,该方法还包括:
S204,获取虚拟机所对应的目标物理机的第二状态参数。
需要说明的是,虚拟机所对应的目标物理机,是指虚拟机所要迁移至的目标物理机。
可以理解,第二状态参数,是描述目标物理机的状态的相关参数。
在一个实施例中,第二状态参数包括目标物理机的初始空间状态参数、空间占用状态参数和网络通信状态参数中的至少一种。
其中,初始空间状态参数,是描述目标物理机的初始空间状态的参数。初始空间状态,是为目标物理机分配的初始的空间的状态。空间占用状态参数,是描述目标物理机当前所占用的空间状态的参数。网络通信状态参数,是描述目标物理机的当前网络通信状态的参数。
在一个实施例中,初始空间状态参数包括CPU(Central Processing Unit,中央处理器)初始大小、内存初始大小、磁盘初始大小、初始网络带宽等中的至少一种。
在一个实施例中,空间占用状态参数包括:当前CPU使用率、当前内存使用率、当前磁盘使用率、当前磁盘单位时间读/写操作次数、当前磁盘单位时间写流量、系统进程总数量等中的至少一种。
在一个实施例中,网络通信状态参数包括:网卡进/出流量、内网出/入包量、内网出/入流量、网络连接数量等中的至少一种。在一个实施例中,网络连接包括TCP(Transmission Control Protocol传输控制协议)连接。可以理解,网络连接还可以包括基于其他通信协议所建立的连接,而并不限定于TCP连接。
可以理解,计算机设备可以直接获取已采集的目标物理机的第二状态参数。计算机设备也可以向目标物理机发送状态参数查询请求,接收目标物理机响应于该状态参数查询请求所返回的第二状态参数。计算机设备还可以向状态监控系统发送针对目标物理机的状态参数查询请求,接收状态监控系统响应于该状态参数查询请求所返回的目标物理机的第二状态参数。
S206,将第一状态参数和第二状态参数输入混合预测模型,通过混合预测模型按第一状态参数和第二状态参数对虚拟机进行热迁移结果预测处理。
其中,混合预测模型,是用于热迁移超时预测的、且由至少两个机器学习模型聚合得到的模型。即混合预测模型是一种由多机器学习模型聚合集成的混合模型,混合预测模型能够预测虚拟机在进行热迁移时是否会发生超时的情况。
热迁移(Live Migration),又叫动态迁移,是指在保持虚拟机正常工作的情况下,将虚拟机从源物理机移到另外一台目标物理机的迁移方式。
在一个实施例中,至少两个机器学习模型可以是机器学习分类模型。其中,机器学习分类模型是用于实现分类处理的机器学习模型。
需要说明的是,机器学习分类模型由包括样本虚拟机的状态参数和样本目标物理机的状态参数的训练样本进行机器学习分类训练得到。其中,样本虚拟机的状态参数,是作为训练样本的虚拟机的状态参数。样本目标物理机的状态参数,是作为训练样本的目标物理机的状态参数。可以理解,样本目标物理机,是与样本虚拟机相应的目标物理机,即是样本虚拟机所要热迁移至的目标物理机。
可以理解,混合预测模型可以是由计算机设备自身根据训练样本进行机器学习训练得到。混合预测模型也可以是由模型训练设备预先训练得到,然后由模型训练设备发布至计算机设备。其中,模型训练设备是完成机器学习训练的设备。
在一个实施例中,计算机设备可以预先从数据库获取预设数量的虚拟机的状态参数,以及获取与所获取的虚拟机相应目标物理机的状态参数,并将所获取的虚拟机的状态参数和相应目标物理机的状态参数分别作为样本虚拟机的状态参数和样本目标物理机的状态参数。
在一个实施例中,计算机设备可以根据训练样本中的样本虚拟机的状态参数和样本目标物理机的状态参数按照不同的机器学习分类算法,进行机器学习分类训练,得到至少两个的机器学习分类模型,然后将至少两个的机器学习分类模型聚合,以构建混合预测模型。
在一个实施例中,计算机设备可以将第一状态参数和第二状态参数输入混合预测模型,分别通过混合预测模型中各机器学习模型按第一状态参数和第二状态参数对虚拟机进行热迁移结果预测处理,得到每个机器学习模型的预测结果,然后将多个预测结果进行整合得到混合预测模型最终的预测结果。
在一个实施例中,混合预测模型由至少两个机器学习分类模型通过投票算法进行聚合得到。投票算法,是一种将各个不同的机器学习分类模型整合起来的方式。投票算法可以是相对多数投票算法或加权投票算法。
相对多数投票算法,是按多个机器学习分类模型的预测结果遵循少数服从多数原则的规则,将多个机器学习分类模型聚合得到混合预测模型的方式。预测结果遵循少数服从多数原则,是指将多个机器学习分类模型的预测结果中数量最多的预测结果作为该混合预测模型的最终预测结果。比如,机器学习分类模型1的预测结果为“热迁移失败”,机器学习分类模型2的预测结果为“热迁移失败”,机器学习分类模型3的预测结果为“热迁移成功”,显然,“热迁移失败”的预测结果数量大于“热迁移成功”的预测结果数量,那么基于少数服从多数原则,混合预测模型的最终预测结果可以为“热迁移失败”。
加权投票算法,是为每个机器学习分类模型分配相应的权重,并将每个机器学习分类模型按相应的权重进行聚合得到混合预测模型的方式。比如,机器学习分类模型1对应权重W1,机器学习分类模型2对应权重2,机器学习分类模型3对应权重3,则可以将机器学习分类模型1按照权重W1、机器学习分类模型2按照权重2以及机器学习分类模型3按照权重3进行聚合,以构建得到混合预测模型。
S208,当混合预测模型输出的预测结果为热迁移成功时,则将虚拟机热迁移至目标物理机。
其中,预测结果,是对虚拟机进行热迁移结果预测处理得到的结果。预测结果包括热迁移失败和热迁移成功中的任意一种。
在一个实施例中,热迁移失败包括热迁移超时失败。热迁移超时失败是指因热迁移过程超时导致热迁移失败。比如,当预测在预设时长内无法完成热迁移处理,即说明预测热迁移会超时,则预测结果就为热迁移超时失败。
可以理解,计算机设备还可以对其他能够导致热迁移失败的原因进行预测,并不限定于预测热迁移处理是否会超时。
具体地,当混合预测模型输出的预测结果为热迁移成功时,计算机设备则将虚拟机从源物理机按热迁移方式迁移至目标物理机。
在一个实施例中,计算机设备可以获取虚拟机的整个运行状态数据,然后将虚拟机的整个运行状态数据从源物理机迁移至目标物理机,在迁移过程中,保持虚拟机正常工作以不影响用户使用。
在一个实施例中,当有多个虚拟机需要进行热迁移处理时,则可以通过步骤S202~206分别对各虚拟机进行热迁移结果预测处理,获取各虚拟机所对应的热迁移成功概率。当各虚拟机所对应的热迁移成功概率都表征热迁移成功的预测结果时,计算机设备可以按热迁移成功概率由高到低的顺序依次对各虚拟机进行热迁移处理。
上述虚拟机迁移方法,预先建立了对虚拟机进行热迁移结果预测处理的混合预测模型,然后将虚拟机和目标物理机的第一状态参数和第二状态参数输入混合预测模型中,来对热迁移结果进行预测,当预测结果为热迁移成功时,再将虚拟机热迁移至目标物理机。通过混合预测模型得到的预测结果相较于人工经验主观判断而言,更具有参考性,从而提高了虚拟机热迁移时的成功率。
在一个实施例中,机器学习分类模型包括随机森林分类模型、自适应提升分类模型以及梯度提升分类模型。混合预测模型的建立步骤包括:分别获取建立的随机森林分类模型、自适应提升分类模型以及梯度提升分类模型;随机森林分类模型、自适应提升分类模型以及提升分类模型分别由样本虚拟机的状态参数和样本目标物理机的状态参数作为训练样本进行机器学习分类训练得到;确定随机森林分类模型的第一权重、自适应提升分类模型的第二权重以及梯度提升分类模型的第三权重;将随机森林分类模型按第一权重、将自适应提升分类模型按第二权重、以及将梯度提升分类模型按第三权重进行聚合,构建得到混合预测模型。
其中,随机森林分类模型(Random forest)由多棵决策树构成。对于每棵决策树所使用的训练样本集是从总的训练样本集中有放回采样得到的。这意味着,总的训练样本集中的有些训练样本可能多次出现在一棵决策树的训练样本集中,也可能从未出现在一棵决策树的训练样本集中。决策树,是通过监督学习进行机器学习训练得到的树形结构的分类模型。监督学习,是指利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程。
自适应提升分类模型(Adaptive Boosting)由多棵基决策树聚合构造的一个更强的机器学习分类模型。其中,总的训练样本集中每个样本都具有相应的选取权重,一棵基决策树训练结束后,会在总的训练样本集中提高该基决策树分类失败的训练样本的选取权重,降低该基决策树分类成功的训练样本的选取权重,然后从选取权重调整后的总的训练样本集选取下一棵基决策树的训练样本集。可以理解,提高选取权重的训练样本在下一棵基决策树的训练样本集的选取过程中,更容易被选择。
梯度提升分类模型可以是普通梯度提升分类模型(Gradient Boosting)或极端梯度提升分类模型(eXtreme Gradient Boosting)。梯度提升分类模型由多棵回归树聚合构成。其中,一棵回归树训练完毕后,会用该回归树输出的当前训练样本对应的预测值与当前训练样本中的实际值间的残差替代当前训练样本中相应的实际值,得到新的训练样本,并根据新的训练样本训练下一棵回归树。回归树与决策树树的思路类似,但与决策树不同的是,回归树输出的是分类概率,决策树输出的是分类类别。
极端梯度提升分类模型(eXtreme Gradient Boosting)是对Gradient Boosting(普通梯度提升分类模型)进行改进的机器学习分类模型。
可以理解,计算机设备预先根据样本虚拟机的状态参数和样本目标物理机的状态参数作为训练样本按照不同的机器学习算法进行机器学习分类训练,分别得到随机森林分类模型、自适应提升分类模型以及梯度提升分类模型。
计算机设备会分别确定随机森林分类模型的第一权重、自适应提升分类模型的第二权重以及梯度提升分类模型的第三权重。在一个实施例中,计算机设备可以通过测试样本集对训练得到的随机森林分类模型、自适应提升分类模型以及梯度提升分类模型进行分类正确率校验,根据对各分类模型校验得到的分类正确率来确定该分类模型的权重。其中,分类模型的权重与对各分类模型校验得到的分类正确率高低正相关。即对分类模型校验得到的分类正确率越高,该分类模型的权重越大,反之,对分类模型校验得到的分类正确率越高,该分类模型的权重越小。
比如,对随机森林分类模型校验得到的分类正确率为56%,对自适应提升分类模型校验得到的分类正确率为46%,对梯度提升分类模型校验得到的分类正确率为60%,那么梯度提升分类模型的权重大于随机森林分类模型的权重,而随机森林分类模型的权重大于自适应提升分类模型的权重。
在一个实施例中,随机森林分类模型的第一权重、自适应提升分类模型的第二权重以及梯度提升分类模型的第三权重满足归一化原则,即第一权重、第二权重以及第三权重之和为一。
计算机设备会将随机森林分类模型按第一权重、将自适应提升分类模型按第二权重、以及将梯度提升分类模型按第三权重进行聚合,构建得到混合预测模型。
为了更直观地理解混合预测模型的构建形式,现使用以下公式来表示:
voting_clf=VotingClassifier(estimators=[('ada_clf',ada),('rf_clf',rf),('xgb_clf',xgbc)],voting='soft',n_jobs=-1)
其中,voting_clf表示混合预测模型;Ada_clf表示自适应提升分类模型;Rf_clf表示随机森林分类模型;Xgb_clf表示极端梯度提升分类模型;estimators=[('ada_clf',ada),('rf_clf',rf),('xgb_clf',xgbc)]指的是将已训练的自适应提升分类模型、随机森林分类模型和极端梯度提升分类模型作为一个输入清单;voting='soft'表示以软投票算法构建方式,n_jobs=-1表示按照默认全部性能构建混合预测模型。可以理解,软投票算法是指根据各分类模型的重要性的不同,为各分类模型分配不同的权重进行投票的投票算法。可以理解,软投票算法不是默认各个分类模型的重要性相同。软投票使得混合预测模型的预测准确率更高。
上述实施例中,通过随机森林分类模型、自适应提升分类模型以及梯度提升分类模型按照相应的权重共同构建混合预测模型,而这三个分类模型相互之间可以互补,可以理解,随机森林分类模型比较稳定但对数据不够灵敏;自适应提升分类模型对数据比较灵敏,能够排除一些不必要的训练样本而主要在关键的训练样本上面进行训练,从而分类准确性比较高,但是正是由于对数据比较灵敏,而导致稳定性较弱。梯度提升分类模型训练过程中考虑了已经训练的回归树的特征,又考虑了样本间的关联性,既具有一定的准确性又具有一定的稳定性。因此,由这三种分类模型按相应权重构建的混合预测模型对虚拟机热迁移的预测准确率更高,进而提高热迁移成功率。
在一个实施例中,机器学习分类模型包括随机森林分类模型、自适应提升分类模型以及梯度提升分类模型;步骤S206包括:将第一状态参数和第二状态参数分别输入混合预测模型中的随机森林分类模型、自适应提升分类模型和梯度提升分类模型进行热迁移结果预测处理,得到随机森林分类模型输出的第一热迁移成功概率、自适应提升分类模型输出的第二热迁移成功概率和梯度提升分类模型输出的第三热迁移成功概率;将第一热迁移成功概率、第二热迁移成功概率和第三热迁移成功概率进行加权求和,得到最终热迁移成功概率;当最终热迁移成功概率大于或等于成功概率阈值时,则预测结果为热迁移成功,当最终热迁移成功概率小于成功概率阈值时,则预测结果为热迁移失败。
具体地,计算机设备可以将第一状态参数和第二状态参数分别输入混合预测模型中的随机森林分类模型、将第一状态参数和第二状态参数分别输入混合预测模型中的自适应提升分类模型,以及将第一状态参数和第二状态参数分别输入混合预测模型中的梯度提升分类模型,分别通过随机森林分类模型、自适应提升分类模型和梯度提升分类模型对热迁移结果进行预测,每个分类模型在对热迁移结果进行预测时,都会输出热迁移成功概率,所以计算机设备可以获取到随机森林分类模型输出的第一热迁移成功概率、自适应提升分类模型输出的第二热迁移成功概率和梯度提升分类模型输出的第三热迁移成功概率。
计算机设备可以将第一热迁移成功概率、第二热迁移成功概率和第三热迁移成功概率进行加权求和,得到最终热迁移成功概率。计算机设备可以将最终热迁移成功概率与成功概率阈值进行比对,当最终热迁移成功概率大于或等于成功概率阈值时,则输出热迁移成功的预测结果,当最终热迁移成功概率小于成功概率阈值时,则输出热迁移失败的预测结果。
可以理解,计算机设备可以将第一热迁移成功概率、第二热迁移成功概率和第三热迁移成功概率分别按相应分类模型的相应权重进行加权求和。即计算机设备可以将第一热迁移成功概率按与随机森林分类模型相应的第一权重、将第二热迁移成功概率按与自适应提升分类模型相应的第二权重,以及将第三热迁移成功概率按与梯度提升分类模型相应的第三权重进行加权求和,得到最终热迁移成功概率。
上述实施例中,通过混合预测模型来综合随机森林分类模型、自适应提升分类模型、以及梯度提升分类模型分别输出的迁移成功概率,得到最终热迁移成功概率,使得最终热迁移成功概率更加的准确,进而提高了热迁移成功率。
在一个实施例中,随机森林分类模型的建立步骤包括:获取构建的决策树数量的第一参数空间和最大分类树深的第二参数空间;将第一参数空间中的各决策树数量和第二参数空间中的各最大分类树深进行随机组合,得到包括决策树数量和最大分类树深的各组合;根据样本虚拟机的状态参数和样本目标物理机的状态参数的训练样本,分别按各组合中的决策树数量和最大分类树深进行机器学习分类训练,得到多个随机森林分类模型;通过测试样本验证各随机森林分类模型的分类准确率;从多个随机森林分类模型中选择分类准确率最高的随机森林分类模型。
其中,参数空间用于体现参数值的集合。决策树数量的第一参数空间包括决策树数量的集合。最大分类树深的第二参数空间包括最大分类树深的集合。可以理解,决策树数量的第一参数空间和最大分类树深的第二参数空间可以预先构建。最大分类树深是指一棵决策树的最大层级数量。
计算机设备可以将第一参数空间中的各决策树数量和第二参数空间中的各最大分类树深进行随机组合,得到包括决策树数量和最大分类树深的各组合。比如,决策树数量:[5,10,15,30,50,100];最大分类树深:[5,7,10,15,30];那么,计算机设备可以将6种数值的决策树数量和5种数值的最大分类树深进行随机组合,得到30种组合,每种组合中都包括一个决策树数量数值和一个最大分类树深数值,比如,决策树数量为5,最大分类树深为5则为一种组合。
计算机设备可以根据样本虚拟机的状态参数和样本目标物理机的状态参数的训练样本,分别按各组合中的决策树数量和最大分类树深进行机器学习分类训练,得到多个随机森林分类模型。即有多少种组合就会训练出多少个随机森林分类模型。每个训练得到的随机森林分类模型中的决策树数量和最大分类树深与相应组合中包括的决策树数量和最大分类树深匹配。比如,按决策树数量为5,最大分类树深为5的组合进行机器学习分类训练,得到的随机森林分类模型中所包括的决策树就有5棵,每棵决策树的最大分类树深为5。
计算机设备可以将相同测试样本分别代入每个训练得到的随机森林分类模型中进行分类准确率的校验,得到每个随机森林分类模型的分类准确率。计算机设备可以从多个随机森林分类模型中选择分类准确率最高的随机森林分类模型,作为最终用于聚合构建混合预测模型的随机森林分类模型。
上述实施例中,分别按多个组合中的决策树数量和最大分类树深进行机器学习分类训练,得到多个随机森林分类模型;通过测试样本验证各随机森林分类模型的分类准确率;从多个随机森林分类模型中选择分类准确率最高的随机森林分类模型。使得最终确定的随机森林最优化,进而提高了混合预测模型的预测准确率以及热迁移成功率。
在一个实施例中,机器学习分类模型包括自适应提升分类模型。自适应提升分类模型的建立步骤包括:在当次机器学习分类训练过程中,确定各训练样本的当前选取权重,按训练样本的当前选取权重从训练样本中选取当前训练样本;根据当前训练样本进行当次机器学习分类训练,得到当前基决策树;提高当次机器学习分类训练过程中分类失败的训练样本的选取权重,并将下一次机器学习分类训练作为当次机器学习分类训练以继续执行,直至达到训练结束条件;根据训练得到的基决策树的分类错误率确定基决策树的组合权重;将各基决策树按相应的组合权重进行组合,得到自适应提升分类模型。
其中,当前选取权重,是指当前从总的训练样本中被选取为当前训练样本的权重。基决策树,是基础的决策树,多个基决策树组合起来构建一个分类功能更强的自适应提升分类模型。
可以理解,在建立自适应提升分类模型的首次机器学习分类训练时,各训练样本的当前选取权重皆相等。除首次以外的机器学习分类训练中,各训练样本的当前选取权重则为上一次机器学习分类训练过程中根据分类正误调整后的选取权重。
具体地,计算机设备可以在当次机器学习分类训练过程中,获取各训练样本的当前选取权重,按训练样本的当前选取权重从训练样本中选取当前训练样本。可以理解,训练样本被选取的概率大小与当前选取权重高低正相关,当前选取权重越高,训练样本被选取的概率越大,反之,当前选取权重越低,训练样本被选取的概率越小。计算机设备可以根据当前训练样本按建立决策树的算法进行当次机器学习分类训练,得到当前基决策树。
在一个实施例中,计算机设备可以确定被当前基决策树分类失败的训练样本和分类错误的训练样本,将分类失败的训练样本的选取权重进行提高,将分类正确的训练样本的选取权重进行降低,以对训练样本的选取权重进行调整。计算机设备可以迭代地将下一次机器学习分类训练作为当次机器学习分类训练以继续执行,直至达到训练结束条件,以训练得到多棵基决策树。
其中,训练结束条件,是停止继续训练下一棵基决策树的条件。在一个实施例中,训练结束条件包括训练的基决策树数量达到预设基决策树数量。
计算机设备可以确定各基决策树的分类错误率,按照基决策树的分类错误率确定基决策树的组合权重。其中,基决策树的组合权重大小与基决策树的分类错误率的大小负相关;基决策树的分类错误率越大,基决策树的组合权重越小,反之,基决策树的分类错误率越小,基决策树的组合权重越大。组合权重,是基决策树在相互组合构成自适应提升分类模型时所占的权重。计算机设备可以将各基决策树按相应的组合权重进行组合,得到自适应提升分类模型。
比如,基决策树1的分类错误率为0.3,基决策树2的分类错误率为0.25,基决策树3的分类错误率为0.35,那么,基决策树2的组合权重大于基决策树1的组合权重,基决策树1的组合权重大于基决策树3的组合权重。
上述实施例中,自适应提升分类模型通过提高预测失败的样本的选取权重,能够排除一些不必要的训练样本而主要在关键的训练样本上面进行训练,从而通过了分类准确性。进而,提高了虚拟机热迁移的成功率。
在一个实施例中,机器学习分类模型包括极端梯度提升分类模型。极端梯度提升分类模型的建立步骤包括:根据当前训练样本训练当前回归树模型;当前回归树模型由历史回归树模型和优化函数组合得到,优化函数为使与当前回归树模型对应的目标函数下降最大梯度时的函数;获取当前回归树模型输出的与当前训练样本对应的预测值;确定预测值与当前训练样本中的实际值间的残差;用残差替代当前训练样本中相应的实际值,得到新的训练样本,并将新的训练样本作为当前训练样本返回根据当前训练样本训练当前回归树模型以继续执行,直至满足训练结束条件;确定所训练得到的各回归树模型的权重;将各回归树模型按相应的权重进行组合,得到极端梯度提升分类模型。
其中,当前训练样本是指当前选取的用于进行回归树模型训练的训练样本。当前回归树模型,是当前训练得到的回归树模型。历史回归树模型,是极端梯度提升分类模型建立过程中,在当前回归树模型之前训练得到的回归树模型。
当前回归树模型对应的目标函数,是指用于体现当前回归树模型的优劣的函数。可以理解,在训练当前回归树模型过程中,计算机设备可以求取一个使当前回归树模型对应的目标函数下降最大梯度的函数,即求取得到优化函数,计算机设备可以将历史回归树模型和优化函数的组合,生成当前回归树模型。
计算机设备可以获取当前回归树模型输出的与当前训练样本对应的预测值;确定预测值与当前训练样本中的实际值间的残差;用残差替代当前训练样本中相应的实际值,得到新的训练样本,然后将新的训练样本作为当前训练样本,返回根据当前训练样本训练当前回归树模型的步骤以继续训练下一个当前回归树模型,直至满足训练停止条件。其中,训练停止条件,是停止训练下一个回归树模型的条件。
计算机设备可以确定所训练得到的各回归树模型的权重;将各回归树模型按相应的权重进行组合,得到梯度提升分类模型。
在一个实施例中,计算机设备可以将测试样本分别输入各回归树模型中进行分类准确率校验,根据各回归树模型的分类准确率为各回归树模型分配相应的权重,各回归树模型的权重与分类准确率正相关。计算机设备可以将各回归树模型按相应的权重进行组合,得到极端梯度提升分类模型。
上述实施例中,梯度提升分类模型训练过程中考虑了已经训练的历史回归树的特征,又考虑了样本间的关联性,因此,既具有一定的准确性又具有一定的稳定性。进而提高了虚拟机热迁移成功率。
在一个实施例中,该方法还包括针对训练样本的预处理步骤,具体包括以下步骤:根据训练样本中样本虚拟机的状态参数和样本目标物理机的状态参数,确定对应于同一状态项下的状态参数间的数量级差值;确定数量级差值大于或等于预设差异阈值的状态项;将确定的该状态项下的各状态参数进行归一化处理;用归一化处理后的状态参数替代相应归一化前的状态参数作为训练样本。
具体地,计算机设备可以确定训练样本中对应于同一状态项下的状态参数间的数量级差值。比如,对于网卡进流量这一状态项下的状态参数,有些可能是几千字节,有些可能就是几百兆,所以有些状态项下的状态参数间存在很大的数量级差异。计算机设备可以分别确定每一状态项下状态参数间的数量级差值,并将数量级差值与预设差异阈值进行比对,从而确定数量级差值大于或等于预设差异阈值的状态项。
计算机设备可以将确定的该状态项下的各状态参数进行归一化处理;用归一化处理后的状态参数替代相应归一化前的状态参数作为训练样本。即计算机设备将归一化处理后的状态参数更新至初始的训练样本中,最终使用更新后的训练样本训练混合预测模型。
在一个实施例中,计算机设备可以用求平方根或求对数的方式对确定的该状态项下的各状态参数进行缩放,以减小相互间的数量级差异,实现归一化处理。
可以理解,同一状态项下的状态参数间的数量级差异较大,会影响模型训练的准确性,对数量级差异较大的状态项下各状态参数进行归一化处理,能够提高混合预测模型的准确性。
在一个实施例中,该方法还包括:当训练样本不满足均衡条件时,在小类训练样本中选取当前参考样本;根据数据空间中的距离关系,从小类训练样本中随机选取当前参考样本的预设数量的邻近样本;在当前参考样本中各状态参数的取值和邻近样本中相应状态参数的取值构成的取值范围中随机取值,生成新的属于小类的样本;将生成的新的样本添加至训练样本中。
其中,均衡条件,是指训练样本中的正负样本的比例均衡。小类训练样本,是指训练样本中数量比较小的样本。可以理解,通常情况下小类样本可以为负样本。当前参考样本,是当前选取的用于做参考的训练样本。数据空间,是数据所映射到的空间维度。可以理解,数据空间中数据可以用点表示,点与点之间的距离,体现数据与数据间的相似程度。邻近样本,是数据空间中距离比较近的样本。
具体地,计算机设备可以在数据空间分别确定小类训练样本中各训练样本到当前参考样本的距离,根据各训练样本到当前参考样本的距离,从小类训练样本中随机选取当前参考样本的预设数量的邻近样本。
计算机设备可以根据当前参考样本中各状态参数的取值和邻近样本中相应状态参数的取值构成取值范围,然后在取值范围中随机取值,生成新的属于该小类的样本,将生成的新的样本添加至训练样本中。可以理解,计算机设备可以迭代地选取不同的当前参考样本以继续执行根据数据空间中的距离关系,从小类训练样本中随机选取当前参考样本的预设数量的邻近样本的步骤,直至满足训练样本均衡条件。
可以理解,当训练样本不满足均衡条件时,通过相似性原则合成新的小类样本,从而使得训练样本满足均衡条件,而使用满足均衡条件的训练样本能够提高训练混合预测模型的预测准确率。进而提高热迁移成功率。
如图3所示,在一个实施例中,该方法还包括额外资源分配步骤,具体包括以下步骤:
S302,当混合预测模型输出的预测结果为热迁移失败时,则确定第一状态参数和第二状态参数中的关键状态参数。
其中,关键状态参数为对热迁移结果产生实质性影响的状态参数。
S304,按关键状态参数为虚拟机分配相应的额外资源。
可以理解,额外资源是指相较于虚拟机在当前状态下的可使用资源而言,又获得的额外的可使用资源。
具体地,计算机设备可以为虚拟机分配与关键状态参数相应的额外资源。
在一个实施例中,计算机设备可以通过新增资源的方式为虚拟机分配与关键状态参数相应的额外资源。
比如,计算机设备可以通过增大虚拟机的CPU大小或者增大虚拟机的磁盘空间等新增资源的方式来为虚拟机分配额外资源。
在另一个实施例中,计算机设备也可以通过减少虚拟机分自身当前资源损耗的方式为虚拟机分配与关键状态参数相应的额外资源。
比如,关键状态参数为CPU使用率,那么,计算机设备可以通过清除运行进程等处理,来减少虚拟机的CPU使用率。又比如,关键状态参数为磁盘使用率,那么,计算机设备可以通过清扫磁盘中的部分数据,以减少磁盘的虚拟机的使用率。
在一个实施例中,该方法还包括:根据分配的额外资源更新虚拟机的第一状态参数,并返回获取虚拟机所对应的目标物理机的第二状态参数以继续执行;或将分配额外资源后的虚拟机热迁移至目标物理机。
在一个实施例中,计算机设备可以根据分配的额外资源更新虚拟机的第一状态参数,返回获取虚拟机所对应的目标物理机的第二状态参数,并将虚拟机更新后的第一状态参数和目标物理机的第二状态参数输入混合预测模型,以再次对虚拟机进行热迁移结果预测处理。
在另一个实施例中,计算机设备可以直接将分配额外资源后的虚拟机热迁移至目标物理机。可以理解,分配额外资源后,虚拟机就可以为热迁移提供更多的对迁移成功与否具有影响力的可用资源,从而提高了虚拟机的热迁移成功率。
上述实施例中,当混合预测模型输出的预测结果为热迁移失败时,则按第一状态参数和第二状态参数中的关键状态参数为虚拟机分配相应的额外资源。这样一来不管后续对虚拟机重新进行热迁移结果预测还是直接进行热迁移,都能够使得后续的处理有更加充足的可使用资源,从而可以间接或直接地提高虚拟机的热迁移成功率。
如图4所示,在一个实施例中,混合预测模型由包括样本虚拟机的状态参数和样本目标物理机的状态参数的训练样本进行机器学习分类训练得到。确定第一状态参数和第二状态参数中的关键状态参数(简称关键状态参数确定步骤)包括以下步骤:
S402,获取样本虚拟机的状态参数的重要度和样本目标物理机的状态参数的重要度;各状态参数的重要度在混合预测模型的训练过程中确定。
其中,状态参数的重要度,是状态参数在混合预测模型的分类训练过程中所起到的重要程度。可以理解,状态参数的重要度包括样本虚拟机的状态参数的重要度和样本目标物理机的状态参数的重要度。
可以理解,状态参数的重要度,可以根据在混合预测模型的训练过程中,状态参数作为分类特征进行分类后数据复杂度的减少程度来进行度量。数据复杂度减少程度与状态参数的重要度正相关。数据复杂度减少越多,状态参数的重要度就越大,反之,数据复杂度减少越少,状态参数的重要度就越小。
在一个实施例中,针对一个需要确定其重要性的状态参数,计算机设备可以确定以该状态参数为分类特征的母节点的数据复杂度,然后确定以该状态参数为分类特征得到的该母节点的子节点的数据复杂度,计算机设备可以确定该子节点的数据复杂度相对于母节点的数据复杂度的减少程度,根据该减少程度确定该状态参数的重要度。
在一个实施例中,计算机设备可以对每个子节点相较于该母节点的数据复杂度的减少程度求均值,得到最终的数据复杂度的减少程度。其中,求均值可以是求算数平均值或加权平均值。
在另一个实施例中,计算机设备也可以选取各子节点相较于该母节点的数据复杂度的最小减少程度。
比如,状态参数1的母节点为A,以状态参数1为分类特征进行分类得到母节点A的子节点B和C,母节点A的数据复杂度为a1,子节点B和C的数据复杂度分别为a2和a3,那么,计算机设备可以分别确定子节点B和C的数据复杂度相较于母节点A的数据复杂度的减少程度,分别为a2-a1和a3-a1。计算机设备可以对a2-a1和a3-a1求平均值得到最终的减少程度。计算机设备也可以选取a2-a1和a3-a1中的最小值作为最终的减少程度。
在一个实施例中,状态参数的数据复杂度可以是将该状态参数作为分类特征时的信息熵。信息熵是度量数据集合纯度的一种指标。信息熵的大小与数据集合纯度负相关。数据集合纯度越高,信息熵越小,反之,数据集合纯度越低,信息熵越大。可以理解,数据纯度越高,数据复杂度就越低。
S404,根据重要度确定各状态参数的热迁移结果影响力度。
其中,热迁移结果影响力度,是状态参数对热迁移结果产生实质影响的度量。
需要说明的是,状态参数的热迁移结果影响力度与该状态参数的重要度正相关。
具体地,计算机设备可以根据预设的映射函数,将状态参数的重要度输入映射函数中,得到状态参数的热迁移结果影响力度。
可以理解,在其他实施例中,计算机设备也可以预先设置重要度区间和热迁移结果影响力度的对应关系,计算机设备可以查找状态参数的重要度所对应的重要度区间,然后根据该对应关系,确定与查找到的重要度区间所对应的热迁移结果影响力度。
S406,从各状态参数中筛选出热迁移结果影响力度大小降序排名在前预设名次的状态参数,确定为关键状态参数。
具体地,计算机设备可以按热迁移结果影响力度由大到小的顺序,对状态参数进行降序排名,筛选降序排名在前预设名次的状态参数,得到关键状态参数。
S408,按确定出的关键状态参数,识别出第一状态参数和第二状态参数中所包括的关键状态参数。
具体地,计算机设备可以将第一状态参数和第二状态参数与筛选出的关键状态参数进行比对,以识别出第一状态参数和第二状态参数中所包括的关键状态参数。
图5为一个实施例中状态参数的热迁移结果影响力度示意图。为了简单示意,图5仅以样本虚拟机的状态参数的热迁移结果影响力度进行举例说明,需要说明的是,柱形图中每个数字的单位为%,为了图示简洁故未在图中示出%。比如,虚拟机的状态参数S1所对应的数字为21,那么,说明虚拟机的状态参数S1对热迁移成功与否的影响力度(即热迁移结果影响力度)为21%。参见图5可知,虚拟机的状态参数S1对热迁移成功与否的影响力度(即热迁移结果影响力度)显著高于其他状态参数的影响力,虚拟机的状态参数S2~S4的热迁移成功与否的影响力度也比较高,分别为9.9%、9.2%和8.4%,其余的状态参数的影响力度就会相对较低。假设S1~S4为关键状态参数、S5~Sn为非关键状态参数,那么我们就可以根据该分析结果,为虚拟机分配与关键状态参数S1~S4相应的额外资源,以提高热迁移成功率。
现以具体例子进行进一步地说明。状态参数S1为CPU使用率,说明CPU使用率对热迁移成功与否的影响力非常大,则可以通过增大虚拟机的CPU大小或清除占用CPU的无关进程等处理来降低虚拟机的CPU使用率。状态参数S2和S3分别是进/出包量流量,则进/出包量流量的影响力分别为9.9%和9.2%,状态参数S4是内存使用率(影响力度为8.3%)。根据本领域技术人员的直观经验,通常以为进/出包流量的影响力比较低,而该分析证明进/出包流量的影响力比直观经验所认为的高,所以,通常确定出的关键状态参数是根据我们的直观经验是无法获得的,这样一来,相较于按人工经验来进行判断而言,能够提高热迁移成功率。
上述实施例中,通过状态参数的重要度在所述混合预测模型的训练过程中确定出的状态参数的重要度来确定各状态参数的热迁移结果影响力度,根据热迁移结果影响力度筛选出关键状态参数,使得筛选出的关键状态参数更加准确。
图6为一个实施例中虚拟机迁移方法的部署架构示意图。参照图6,调度系统负责发起热迁移任务。当调度系统需要发起热迁移任务时,轮询的查询可迁移虚拟机,然后针对每个可迁移虚拟机,会过滤硬性指标。可以理解,过滤硬性指标是硬性规定的需过滤的数据,通常这些数据是对热迁移预测没有用的或起干扰作用的数据。接着调度系统可以访问参数采集系统来采集需迁移的虚拟机和目标物理机的状态参数,然后访问进行预测服务(即预测服务器)的接口,输入采集的状态参数。预测服务可以根据输入的状态参数进行热迁移结果预测处理,当预测发起热迁移会成功时,则可以针对该虚拟机发起热迁移,当预测发起热迁移会失败时,则可以轮询下一个可迁移虚拟机,针对下一个虚拟机重新执行上述步骤。
参见图6可知,预测服务会从云数据仓库中采集样本进行离线模型训练,将离线训练的混合预测模型发布至服务框架中,由算法库对其进行编程处理得到能够正常运行的混合预测模型。该混合预测模型由多个分类模型(分类模型1~3)聚合构建而成。输入的状态参数可以依次经过负载均衡系统和Web服务器(即网页服务器)传递至混合预测模型,混合预测模型进行预测输出后,再经Web服务器(即网页服务器)将预测结果传递至负载均衡系统,并由负载均衡系统将预测结果进行再次传递。
在一个实施例中,Web服务器可以是由Flask-Uwsgi-Nginx构建的均衡服务框架。其中,Flask是一个使用Python编写的轻量级Web应用框架。uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx是一款轻量级的Web服务器。
在一个实施例中,分类模型1~3可以分别为随机森林分类模型、自适应提升分类模型以及极端梯度提升分类模型。
在一个实施例中,算法库包括TensorFlow算法库、SKlearn算法库和Keras算法库中的至少一种。其中,TensorFlow算法库是一个采用数据流图用于数值计算的算法库。sklearn算法库是一个Python(Python是一种面向对象的解释型计算机程序设计语言)的机器学习算法库。Keras算法库是基于Theano的一个深度学习算法库。其中,Theano是一个Python库。
在一个实施例中,负载均衡系统可以是TGW(Tencent Gateway)负载均衡系统。TGW负载均衡系统是一套实现多网统一接入,支持自动负责均衡的系统。
如图7所示,在一个实施例中,提供了一种虚拟机迁移装置700,该装置700包括:状态参数获取模块702、预测模块704以及热迁移模块706,其中:
状态参数获取模块702,用于获取虚拟机的第一状态参数;获取虚拟机所对应的目标物理机的第二状态参数。
预测模块704,用于将第一状态参数和第二状态参数输入混合预测模型,通过混合预测模型按第一状态参数和第二状态参数对虚拟机进行热迁移结果预测处理。
热迁移模块706,用于当混合预测模型输出的预测结果为热迁移成功时,则将虚拟机热迁移至目标物理机。
在一个实施例中,第一状态参数包括虚拟机的初始空间状态参数、空间占用状态参数和网络通信状态参数中的至少一种;第二状态参数包括目标物理机的初始空间状态参数、空间占用状态参数和网络通信状态参数中的至少一种。
在一个实施例中,混合预测模型由至少两个机器学习分类模型聚合得到;机器学习分类模型由包括样本虚拟机的状态参数和样本目标物理机的状态参数的训练样本进行机器学习分类训练得到。
在一个实施例中,机器学习分类模型包括随机森林分类模型、自适应提升分类模型以及梯度提升分类模型。该装置700还包括:
模型建立模块701a,用于分别获取建立的随机森林分类模型、自适应提升分类模型以及梯度提升分类模型;随机森林分类模型、自适应提升分类模型以及提升分类模型分别由样本虚拟机的状态参数和样本目标物理机的状态参数作为训练样本进行机器学习分类训练得到;确定随机森林分类模型的第一权重、自适应提升分类模型的第二权重以及梯度提升分类模型的第三权重;将随机森林分类模型按第一权重、将自适应提升分类模型按第二权重、以及将梯度提升分类模型按第三权重进行聚合,构建得到混合预测模型。
在一个实施例中,机器学习分类模型包括随机森林分类模型、自适应提升分类模型以及梯度提升分类模型。预测模块704还用于将第一状态参数和第二状态参数分别输入混合预测模型中的随机森林分类模型、自适应提升分类模型和梯度提升分类模型进行热迁移结果预测处理,得到随机森林分类模型输出的第一热迁移成功概率、自适应提升分类模型输出的第二热迁移成功概率和梯度提升分类模型输出的第三热迁移成功概率;将第一热迁移成功概率、第二热迁移成功概率和第三热迁移成功概率进行加权求和,得到最终热迁移成功概率;当最终热迁移成功概率大于或等于成功概率阈值时,则预测结果为热迁移成功,当最终热迁移成功概率小于成功概率阈值时,则预测结果为热迁移失败。
在一个实施例中,机器学习分类模型包括随机森林分类模型。模型建立模块701a还用于获取构建的决策树数量的第一参数空间和最大分类树深的第二参数空间;将第一参数空间中的各决策树数量和第二参数空间中的各最大分类树深进行随机组合,得到包括决策树数量和最大分类树深的各组合;根据样本虚拟机的状态参数和样本目标物理机的状态参数的训练样本,分别按各组合中的决策树数量和最大分类树深进行机器学习分类训练,得到多个随机森林分类模型;通过测试样本验证各随机森林分类模型的分类准确率;从多个随机森林分类模型中选择分类准确率最高的随机森林分类模型。
在一个实施例中,机器学习分类模型包括自适应提升分类模型。模型建立模块701a还用于在当次机器学习分类训练过程中,确定各训练样本的当前选取权重,按训练样本的当前选取权重从训练样本中选取当前训练样本;根据当前训练样本进行当次机器学习分类训练,得到当前基决策树;提高当次机器学习分类训练过程中分类失败的训练样本的选取权重,并将下一次机器学习分类训练作为当次机器学习分类训练以继续执行,直至达到训练结束条件;根据训练得到的基决策树的分类错误率确定基决策树的组合权重;将各基决策树按相应的组合权重进行组合,得到自适应提升分类模型。
在一个实施例中,机器学习分类模型包括极端梯度提升分类模型。模型建立模块701a还用于根据当前训练样本训练当前回归树模型;当前回归树模型由历史回归树模型和优化函数组合得到,优化函数为使与当前回归树模型对应的目标函数下降最大梯度时的函数;获取当前回归树模型输出的与当前训练样本对应的预测值;确定预测值与当前训练样本中的实际值间的残差;用残差替代当前训练样本中相应的实际值,得到新的训练样本,并将新的训练样本作为当前训练样本返回根据当前训练样本训练当前回归树模型以继续执行,直至满足训练停止条件;确定所训练得到的各回归树模型的权重;将各回归树模型按相应的权重进行组合,得到极端梯度提升分类模型。
如图8所示,在一个实施例中,该装置700还包括:模型建立模块701a和训练样本处理模块701b;其中:
训练样本处理模块701b,用于根据训练样本中样本虚拟机的状态参数和样本目标物理机的状态参数,确定对应于同一状态项下的状态参数间的数量级差值;确定数量级差值大于或等于预设差异阈值的状态项;将确定的该状态项下的各状态参数进行归一化处理;用归一化处理后的状态参数替代相应归一化前的状态参数作为训练样本。
在一个实施例中,训练样本处理模块701b还用于当训练样本不满足均衡条件时,在小类训练样本中选取当前参考样本;根据数据空间中的距离关系,从小类训练样本中随机选取当前参考样本的预设数量的邻近样本;在当前参考样本中各状态参数的取值和邻近样本中相应状态参数的取值构成的取值范围中随机取值,生成新的属于小类的样本;将生成的新的样本添加至训练样本中。
如图9所示,在一个实施例中,该装置700还包括:
资源分配模块708,用于当混合预测模型输出的预测结果为热迁移失败时,则确定第一状态参数和第二状态参数中的关键状态参数;关键状态参数为对热迁移结果产生实质性影响的状态参数;按关键状态参数为虚拟机分配相应的额外资源。
在一个实施例中,状态参数获取模块702还用于根据分配的额外资源更新虚拟机的第一状态参数,并返回获取虚拟机所对应的目标物理机的第二状态参数以继续执行。
在一个实施例中,热迁移模块706还用于将分配额外资源后的虚拟机热迁移至目标物理机。
在一个实施例中,混合预测模型由包括样本虚拟机的状态参数和样本目标物理机的状态参数的训练样本进行机器学习分类训练得到。资源分配模块708还用于获取样本虚拟机的状态参数的重要度和样本目标物理机的状态参数的重要度;各状态参数的重要度在混合预测模型的训练过程中确定;根据重要度确定各状态参数的热迁移结果影响力度;从各状态参数中筛选出热迁移结果影响力度大小降序排名在前预设名次的状态参数,确定为关键状态参数;按确定出的关键状态参数,识别出第一状态参数和第二状态参数中所包括的关键状态参数。
图10为一个实施例中计算机设备的内部结构示意图。参照图10,该计算机设备可以是图1中所示的服务器130,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质可存储操作系统和计算机程序。该计算机程序被执行时,可使得处理器执行一种虚拟机迁移方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种虚拟机迁移方法。计算机设备的网络接口用于进行网络通信。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的虚拟机迁移装置可以实现为一种计算机程序的形式,计算机程序可在如图10所示的计算机设备上运行,计算机设备的非易失性存储介质可存储组成该虚拟机迁移装置的各个程序模块,比如,图7所示的状态参数获取模块702、预测模块704以及热迁移模块706。各个程序模块所组成的计算机程序用于使该计算机设备执行本说明书中描述的本申请各个实施例的虚拟机迁移方法中的步骤,例如,计算机设备可以通过如图7所示的虚拟机迁移装置700中的状态参数获取模块702获取虚拟机的第一状态参数;获取虚拟机所对应的目标物理机的第二状态参数。计算机设备可以通过预测模块704将第一状态参数和第二状态参数输入混合预测模型,通过混合预测模型按第一状态参数和第二状态参数对虚拟机进行热迁移结果预测处理。计算机设备可以通过热迁移模块706当混合预测模型输出的预测结果为热迁移成功时,将虚拟机热迁移至目标物理机。
一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如下步骤:获取虚拟机的第一状态参数;获取虚拟机所对应的目标物理机的第二状态参数;将第一状态参数和第二状态参数输入混合预测模型,通过混合预测模型按第一状态参数和第二状态参数对虚拟机进行热迁移结果预测处理;当混合预测模型输出的预测结果为热迁移成功时,则将虚拟机热迁移至目标物理机。
在一个实施例中,第一状态参数包括虚拟机的初始空间状态参数、空间占用状态参数和网络通信状态参数中的至少一种;第二状态参数包括目标物理机的初始空间状态参数、空间占用状态参数和网络通信状态参数中的至少一种。
在一个实施例中,混合预测模型由至少两个机器学习分类模型聚合得到;机器学习分类模型由包括样本虚拟机的状态参数和样本目标物理机的状态参数的训练样本进行机器学习分类训练得到。
在一个实施例中,机器学习分类模型包括随机森林分类模型、自适应提升分类模型以及梯度提升分类模型;计算机程序还使得处理器执行如下步骤:分别获取建立的随机森林分类模型、自适应提升分类模型以及梯度提升分类模型;随机森林分类模型、自适应提升分类模型以及提升分类模型分别由样本虚拟机的状态参数和样本目标物理机的状态参数作为训练样本进行机器学习分类训练得到;确定随机森林分类模型的第一权重、自适应提升分类模型的第二权重以及梯度提升分类模型的第三权重;将随机森林分类模型按第一权重、将自适应提升分类模型按第二权重、以及将梯度提升分类模型按第三权重进行聚合,构建得到混合预测模型。
在一个实施例中,机器学习分类模型包括随机森林分类模型、自适应提升分类模型以及梯度提升分类模型;通过混合预测模型按第一状态参数和第二状态参数对虚拟机进行热迁移结果预测处理包括:将第一状态参数和第二状态参数分别输入混合预测模型中的随机森林分类模型、自适应提升分类模型和梯度提升分类模型进行热迁移结果预测处理,得到随机森林分类模型输出的第一热迁移成功概率、自适应提升分类模型输出的第二热迁移成功概率和梯度提升分类模型输出的第三热迁移成功概率;将第一热迁移成功概率、第二热迁移成功概率和第三热迁移成功概率进行加权求和,得到最终热迁移成功概率;当最终热迁移成功概率大于或等于成功概率阈值时,则预测结果为热迁移成功,当最终热迁移成功概率小于成功概率阈值时,则预测结果为热迁移失败。
在一个实施例中,机器学习分类模型包括随机森林分类模型;计算机程序还使得处理器执行如下步骤:获取构建的决策树数量的第一参数空间和最大分类树深的第二参数空间;将第一参数空间中的各决策树数量和第二参数空间中的各最大分类树深进行随机组合,得到包括决策树数量和最大分类树深的各组合;根据样本虚拟机的状态参数和样本目标物理机的状态参数的训练样本,分别按各组合中的决策树数量和最大分类树深进行机器学习分类训练,得到多个随机森林分类模型;通过测试样本验证各随机森林分类模型的分类准确率;从多个随机森林分类模型中选择分类准确率最高的随机森林分类模型。
在一个实施例中,机器学习分类模型包括自适应提升分类模型;计算机程序还使得处理器执行如下步骤:在当次机器学习分类训练过程中,确定各训练样本的当前选取权重,按训练样本的当前选取权重从训练样本中选取当前训练样本;根据当前训练样本进行当次机器学习分类训练,得到当前基决策树;提高当次机器学习分类训练过程中分类失败的训练样本的选取权重,并将下一次机器学习分类训练作为当次机器学习分类训练以继续执行,直至达到训练结束条件;根据训练得到的基决策树的分类错误率确定基决策树的组合权重;将各基决策树按相应的组合权重进行组合,得到自适应提升分类模型。
在一个实施例中,机器学习分类模型包括极端梯度提升分类模型;计算机程序还使得处理器执行如下步骤:根据当前训练样本训练当前回归树模型;当前回归树模型由历史回归树模型和优化函数组合得到,优化函数为使与当前回归树模型对应的目标函数下降最大梯度时的函数;获取当前回归树模型输出的与当前训练样本对应的预测值;确定预测值与当前训练样本中的实际值间的残差;用残差替代当前训练样本中相应的实际值,得到新的训练样本,并将新的训练样本作为当前训练样本返回根据当前训练样本训练当前回归树模型以继续执行,直至满足训练停止条件;确定所训练得到的各回归树模型的权重;将各回归树模型按相应的权重进行组合,得到极端梯度提升分类模型。
在一个实施例中,计算机程序还使得处理器执行如下步骤:根据训练样本中样本虚拟机的状态参数和样本目标物理机的状态参数,确定对应于同一状态项下的状态参数间的数量级差值;确定数量级差值大于或等于预设差异阈值的状态项;将确定的该状态项下的各状态参数进行归一化处理;用归一化处理后的状态参数替代相应归一化前的状态参数作为训练样本。
在一个实施例中,计算机程序还使得处理器执行如下步骤:当训练样本不满足均衡条件时,在小类训练样本中选取当前参考样本;根据数据空间中的距离关系,从小类训练样本中随机选取当前参考样本的预设数量的邻近样本;在当前参考样本中各状态参数的取值和邻近样本中相应状态参数的取值构成的取值范围中随机取值,生成新的属于小类的样本;将生成的新的样本添加至训练样本中。
在一个实施例中,计算机程序还使得处理器执行如下步骤:当混合预测模型输出的预测结果为热迁移失败时,则确定第一状态参数和第二状态参数中的关键状态参数;关键状态参数为对热迁移结果产生实质性影响的状态参数;按关键状态参数为虚拟机分配相应的额外资源。
在一个实施例中,计算机程序还使得处理器执行如下步骤:根据分配的额外资源更新虚拟机的第一状态参数,并返回获取虚拟机所对应的目标物理机的第二状态参数以继续执行;或将分配额外资源后的虚拟机热迁移至目标物理机。
在一个实施例中,混合预测模型由包括样本虚拟机的状态参数和样本目标物理机的状态参数的训练样本进行机器学习分类训练得到;确定第一状态参数和第二状态参数中的关键状态参数包括:获取样本虚拟机的状态参数的重要度和样本目标物理机的状态参数的重要度;各状态参数的重要度在混合预测模型的训练过程中确定;根据重要度确定各状态参数的热迁移结果影响力度;从各状态参数中筛选出热迁移结果影响力度大小降序排名在前预设名次的状态参数,确定为关键状态参数;按确定出的关键状态参数,识别出第一状态参数和第二状态参数中所包括的关键状态参数。
一种存储有计算机程序的存储介质,所述计算机程序被处理器执行时,使得处理器执行如下步骤:获取虚拟机的第一状态参数;获取虚拟机所对应的目标物理机的第二状态参数;将第一状态参数和第二状态参数输入混合预测模型,通过混合预测模型按第一状态参数和第二状态参数对虚拟机进行热迁移结果预测处理;当混合预测模型输出的预测结果为热迁移成功时,则将虚拟机热迁移至目标物理机。
在一个实施例中,第一状态参数包括虚拟机的初始空间状态参数、空间占用状态参数和网络通信状态参数中的至少一种;第二状态参数包括目标物理机的初始空间状态参数、空间占用状态参数和网络通信状态参数中的至少一种。
在一个实施例中,混合预测模型由至少两个机器学习分类模型聚合得到;机器学习分类模型由包括样本虚拟机的状态参数和样本目标物理机的状态参数的训练样本进行机器学习分类训练得到。
在一个实施例中,机器学习分类模型包括随机森林分类模型、自适应提升分类模型以及梯度提升分类模型;计算机程序还使得处理器执行如下步骤:分别获取建立的随机森林分类模型、自适应提升分类模型以及梯度提升分类模型;随机森林分类模型、自适应提升分类模型以及提升分类模型分别由样本虚拟机的状态参数和样本目标物理机的状态参数作为训练样本进行机器学习分类训练得到;确定随机森林分类模型的第一权重、自适应提升分类模型的第二权重以及梯度提升分类模型的第三权重;将随机森林分类模型按第一权重、将自适应提升分类模型按第二权重、以及将梯度提升分类模型按第三权重进行聚合,构建得到混合预测模型。
在一个实施例中,机器学习分类模型包括随机森林分类模型、自适应提升分类模型以及梯度提升分类模型;通过混合预测模型按第一状态参数和第二状态参数对虚拟机进行热迁移结果预测处理包括:将第一状态参数和第二状态参数分别输入混合预测模型中的随机森林分类模型、自适应提升分类模型和梯度提升分类模型进行热迁移结果预测处理,得到随机森林分类模型输出的第一热迁移成功概率、自适应提升分类模型输出的第二热迁移成功概率和梯度提升分类模型输出的第三热迁移成功概率;将第一热迁移成功概率、第二热迁移成功概率和第三热迁移成功概率进行加权求和,得到最终热迁移成功概率;当最终热迁移成功概率大于或等于成功概率阈值时,则预测结果为热迁移成功,当最终热迁移成功概率小于成功概率阈值时,则预测结果为热迁移失败。
在一个实施例中,机器学习分类模型包括随机森林分类模型;计算机程序还使得处理器执行如下步骤:获取构建的决策树数量的第一参数空间和最大分类树深的第二参数空间;将第一参数空间中的各决策树数量和第二参数空间中的各最大分类树深进行随机组合,得到包括决策树数量和最大分类树深的各组合;根据样本虚拟机的状态参数和样本目标物理机的状态参数的训练样本,分别按各组合中的决策树数量和最大分类树深进行机器学习分类训练,得到多个随机森林分类模型;通过测试样本验证各随机森林分类模型的分类准确率;从多个随机森林分类模型中选择分类准确率最高的随机森林分类模型。
在一个实施例中,机器学习分类模型包括自适应提升分类模型;计算机程序还使得处理器执行如下步骤:在当次机器学习分类训练过程中,确定各训练样本的当前选取权重,按训练样本的当前选取权重从训练样本中选取当前训练样本;根据当前训练样本进行当次机器学习分类训练,得到当前基决策树;提高当次机器学习分类训练过程中分类失败的训练样本的选取权重,并将下一次机器学习分类训练作为当次机器学习分类训练以继续执行,直至达到训练结束条件;根据训练得到的基决策树的分类错误率确定基决策树的组合权重;将各基决策树按相应的组合权重进行组合,得到自适应提升分类模型。
在一个实施例中,机器学习分类模型包括极端梯度提升分类模型;计算机程序还使得处理器执行如下步骤:根据当前训练样本训练当前回归树模型;当前回归树模型由历史回归树模型和优化函数组合得到,优化函数为使与当前回归树模型对应的目标函数下降最大梯度时的函数;获取当前回归树模型输出的与当前训练样本对应的预测值;确定预测值与当前训练样本中的实际值间的残差;用残差替代当前训练样本中相应的实际值,得到新的训练样本,并将新的训练样本作为当前训练样本返回根据当前训练样本训练当前回归树模型以继续执行,直至满足训练停止条件;确定所训练得到的各回归树模型的权重;将各回归树模型按相应的权重进行组合,得到极端梯度提升分类模型。
在一个实施例中,计算机程序还使得处理器执行如下步骤:根据训练样本中样本虚拟机的状态参数和样本目标物理机的状态参数,确定对应于同一状态项下的状态参数间的数量级差值;确定数量级差值大于或等于预设差异阈值的状态项;将确定的该状态项下的各状态参数进行归一化处理;用归一化处理后的状态参数替代相应归一化前的状态参数作为训练样本。
在一个实施例中,计算机程序还使得处理器执行如下步骤:当训练样本不满足均衡条件时,在小类训练样本中选取当前参考样本;根据数据空间中的距离关系,从小类训练样本中随机选取当前参考样本的预设数量的邻近样本;在当前参考样本中各状态参数的取值和邻近样本中相应状态参数的取值构成的取值范围中随机取值,生成新的属于小类的样本;将生成的新的样本添加至训练样本中。
在一个实施例中,计算机程序还使得处理器执行如下步骤:当混合预测模型输出的预测结果为热迁移失败时,则确定第一状态参数和第二状态参数中的关键状态参数;关键状态参数为对热迁移结果产生实质性影响的状态参数;按关键状态参数为虚拟机分配相应的额外资源。
在一个实施例中,计算机程序还使得处理器执行如下步骤:根据分配的额外资源更新虚拟机的第一状态参数,并返回获取虚拟机所对应的目标物理机的第二状态参数以继续执行;或将分配额外资源后的虚拟机热迁移至目标物理机。
在一个实施例中,混合预测模型由包括样本虚拟机的状态参数和样本目标物理机的状态参数的训练样本进行机器学习分类训练得到;确定第一状态参数和第二状态参数中的关键状态参数包括:获取样本虚拟机的状态参数的重要度和样本目标物理机的状态参数的重要度;各状态参数的重要度在混合预测模型的训练过程中确定;根据重要度确定各状态参数的热迁移结果影响力度;从各状态参数中筛选出热迁移结果影响力度大小降序排名在前预设名次的状态参数,确定为关键状态参数;按确定出的关键状态参数,识别出第一状态参数和第二状态参数中所包括的关键状态参数。
应该理解的是,虽然本申请各实施例中的各个步骤并不是必然按照步骤标号指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (27)

1.一种虚拟机迁移方法,所述方法包括:
获取虚拟机的第一状态参数;
获取所述虚拟机所对应的目标物理机的第二状态参数;
将第一状态参数和第二状态参数输入混合预测模型,通过所述混合预测模型按第一状态参数和第二状态参数对所述虚拟机进行热迁移结果预测处理;
当所述混合预测模型输出的预测结果为热迁移成功时,则将所述虚拟机热迁移至所述目标物理机;
当所述混合预测模型输出的预测结果为热迁移失败时,则确定所述第一状态参数和所述第二状态参数中的关键状态参数;按所述关键状态参数为所述虚拟机分配相应的额外资源;所述关键状态参数为对热迁移结果产生实质性影响的状态参数。
2.根据权利要求1所述的方法,其特征在于,所述第一状态参数包括所述虚拟机的初始空间状态参数、空间占用状态参数和网络通信状态参数中的至少一种;所述第二状态参数包括所述目标物理机的初始空间状态参数、空间占用状态参数和网络通信状态参数中的至少一种。
3.根据权利要求1所述的方法,其特征在于,所述混合预测模型由至少两个机器学习分类模型聚合得到;所述机器学习分类模型由包括样本虚拟机的状态参数和样本目标物理机的状态参数的训练样本进行机器学习分类训练得到。
4.根据权利要求3所述的方法,其特征在于,所述机器学习分类模型包括随机森林分类模型、自适应提升分类模型以及梯度提升分类模型;
所述混合预测模型的建立步骤包括:
分别获取建立的随机森林分类模型、自适应提升分类模型以及梯度提升分类模型;所述随机森林分类模型、自适应提升分类模型以及提升分类模型分别由样本虚拟机的状态参数和样本目标物理机的状态参数作为训练样本进行机器学习分类训练得到;
确定所述随机森林分类模型的第一权重、所述自适应提升分类模型的第二权重以及所述梯度提升分类模型的第三权重;
将随机森林分类模型按第一权重、将自适应提升分类模型按第二权重、以及将梯度提升分类模型按第三权重进行聚合,构建得到混合预测模型。
5.根据权利要求3所述的方法,其特征在于,所述机器学习分类模型包括随机森林分类模型、自适应提升分类模型以及梯度提升分类模型;
所述通过所述混合预测模型按第一状态参数和第二状态参数对所述虚拟机进行热迁移结果预测处理包括:
将所述第一状态参数和第二状态参数分别输入混合预测模型中的随机森林分类模型、自适应提升分类模型和梯度提升分类模型进行热迁移结果预测处理,得到随机森林分类模型输出的第一热迁移成功概率、自适应提升分类模型输出的第二热迁移成功概率和梯度提升分类模型输出的第三热迁移成功概率;
将所述第一热迁移成功概率、所述第二热迁移成功概率和所述第三热迁移成功概率进行加权求和,得到最终热迁移成功概率;
当最终热迁移成功概率大于或等于成功概率阈值时,则预测结果为热迁移成功,当最终热迁移成功概率小于成功概率阈值时,则预测结果为热迁移失败。
6.根据权利要求3所述的方法,其特征在于,所述机器学习分类模型包括随机森林分类模型;所述随机森林分类模型的建立步骤包括:
获取构建的决策树数量的第一参数空间和最大分类树深的第二参数空间;
将所述第一参数空间中的各决策树数量和所述第二参数空间中的各最大分类树深进行随机组合,得到包括决策树数量和最大分类树深的各组合;
根据所述样本虚拟机的状态参数和样本目标物理机的状态参数的训练样本,分别按各组合中的决策树数量和最大分类树深进行机器学习分类训练,得到多个随机森林分类模型;
通过测试样本验证各随机森林分类模型的分类准确率;
从多个随机森林分类模型中选择分类准确率最高的随机森林分类模型。
7.根据权利要求3所述的方法,其特征在于,所述机器学习分类模型包括自适应提升分类模型;所述自适应提升分类模型的建立步骤包括:
在当次机器学习分类训练过程中,确定各所述训练样本的当前选取权重,按所述训练样本的当前选取权重从所述训练样本中选取当前训练样本;
根据所述当前训练样本进行当次机器学习分类训练,得到当前基决策树;
提高当次机器学习分类训练过程中分类失败的训练样本的选取权重,并将下一次机器学习分类训练作为当次机器学习分类训练以继续执行,直至达到训练结束条件;
根据训练得到的基决策树的分类错误率确定所述基决策树的组合权重;
将各基决策树按相应的组合权重进行组合,得到自适应提升分类模型。
8.根据权利要求3所述的方法,其特征在于,所述机器学习分类模型包括极端梯度提升分类模型;所述极端梯度提升分类模型的建立步骤包括:
根据当前训练样本训练当前回归树模型;所述当前回归树模型由历史回归树模型和优化函数组合得到,所述优化函数为使与所述当前回归树模型对应的目标函数下降最大梯度时的函数;
获取所述当前回归树模型输出的与所述当前训练样本对应的预测值;
确定所述预测值与所述当前训练样本中的实际值间的残差;
用所述残差替代所述当前训练样本中相应的实际值,得到新的训练样本,并将新的训练样本作为当前训练样本返回所述根据当前训练样本训练当前回归树模型以继续执行,直至满足训练停止条件;
确定所训练得到的各回归树模型的权重;
将各所述回归树模型按相应的权重进行组合,得到极端梯度提升分类模型。
9.根据权利要求3所述的方法,其特征在于,还包括:
根据所述训练样本中所述样本虚拟机的状态参数和样本目标物理机的状态参数,确定对应于同一状态项下的状态参数间的数量级差值;
确定数量级差值大于或等于预设差异阈值的状态项;
将确定的该状态项下的各状态参数进行归一化处理;
用归一化处理后的状态参数替代相应归一化前的状态参数作为训练样本。
10.根据权利要求3所述的方法,其特征在于,还包括:
当所述训练样本不满足均衡条件时,在小类训练样本中选取当前参考样本;
根据数据空间中的距离关系,从所述小类训练样本中随机选取所述当前参考样本的预设数量的邻近样本;
在所述当前参考样本中各状态参数的取值和邻近样本中相应状态参数的取值构成的取值范围中随机取值,生成新的属于所述小类的样本;
将生成的新的样本添加至所述训练样本中。
11.根据权利要求1所述的方法,其特征在于,还包括:
根据分配的额外资源更新所述虚拟机的第一状态参数,并返回所述获取所述虚拟机所对应的目标物理机的第二状态参数以继续执行;或
将分配额外资源后的虚拟机热迁移至所述目标物理机。
12.根据权利要求1所述的方法,其特征在于,所述混合预测模型由包括样本虚拟机的状态参数和样本目标物理机的状态参数的训练样本进行机器学习分类训练得到;
所述确定所述第一状态参数和所述第二状态参数中的关键状态参数包括:
获取样本虚拟机的状态参数的重要度和样本目标物理机的状态参数的重要度;各所述状态参数的重要度在所述混合预测模型的训练过程中确定;
根据所述重要度确定各所述状态参数的热迁移结果影响力度;
从各所述状态参数中筛选出热迁移结果影响力度大小降序排名在前预设名次的状态参数,确定为关键状态参数;
按确定出的关键状态参数,识别出第一状态参数和第二状态参数中所包括的关键状态参数。
13.一种虚拟机迁移装置,其特征在于,所述装置包括:
状态参数获取模块,用于获取虚拟机的第一状态参数;获取所述虚拟机所对应的目标物理机的第二状态参数;
预测模块,用于将第一状态参数和第二状态参数输入混合预测模型,通过所述混合预测模型按第一状态参数和第二状态参数对所述虚拟机进行热迁移结果预测处理;
热迁移模块,用于当所述混合预测模型输出的预测结果为热迁移成功时,则将所述虚拟机热迁移至所述目标物理机;
资源分配模块,用于当所述混合预测模型输出的预测结果为热迁移失败时,则确定所述第一状态参数和所述第二状态参数中的关键状态参数;按所述关键状态参数为所述虚拟机分配相应的额外资源;所述关键状态参数为对热迁移结果产生实质性影响的状态参数。
14.根据权利要求13所述的装置,其特征在于,所述第一状态参数包括所述虚拟机的初始空间状态参数、空间占用状态参数和网络通信状态参数中的至少一种;所述第二状态参数包括所述目标物理机的初始空间状态参数、空间占用状态参数和网络通信状态参数中的至少一种。
15.根据权利要求13所述的装置,其特征在于,所述混合预测模型由至少两个机器学习分类模型聚合得到;所述机器学习分类模型由包括样本虚拟机的状态参数和样本目标物理机的状态参数的训练样本进行机器学习分类训练得到。
16.根据权利要求15所述的装置,其特征在于,所述机器学习分类模型包括随机森林分类模型、自适应提升分类模型以及梯度提升分类模型;
所述装置还包括:
模型建立模块,用于分别获取建立的随机森林分类模型、自适应提升分类模型以及梯度提升分类模型;所述随机森林分类模型、自适应提升分类模型以及提升分类模型分别由样本虚拟机的状态参数和样本目标物理机的状态参数作为训练样本进行机器学习分类训练得到;确定所述随机森林分类模型的第一权重、所述自适应提升分类模型的第二权重以及所述梯度提升分类模型的第三权重;将随机森林分类模型按第一权重、将自适应提升分类模型按第二权重、以及将梯度提升分类模型按第三权重进行聚合,构建得到混合预测模型。
17.根据权利要求15所述的装置,其特征在于,所述机器学习分类模型包括随机森林分类模型、自适应提升分类模型以及梯度提升分类模型;
所述预测模块还用于将所述第一状态参数和第二状态参数分别输入混合预测模型中的随机森林分类模型、自适应提升分类模型和梯度提升分类模型进行热迁移结果预测处理,得到随机森林分类模型输出的第一热迁移成功概率、自适应提升分类模型输出的第二热迁移成功概率和梯度提升分类模型输出的第三热迁移成功概率;将所述第一热迁移成功概率、所述第二热迁移成功概率和所述第三热迁移成功概率进行加权求和,得到最终热迁移成功概率;当最终热迁移成功概率大于或等于成功概率阈值时,则预测结果为热迁移成功,当最终热迁移成功概率小于成功概率阈值时,则预测结果为热迁移失败。
18.根据权利要求15所述的装置,其特征在于,所述机器学习分类模型包括随机森林分类模型;所述模型建立模块还用于获取构建的决策树数量的第一参数空间和最大分类树深的第二参数空间;将所述第一参数空间中的各决策树数量和所述第二参数空间中的各最大分类树深进行随机组合,得到包括决策树数量和最大分类树深的各组合;根据所述样本虚拟机的状态参数和样本目标物理机的状态参数的训练样本,分别按各组合中的决策树数量和最大分类树深进行机器学习分类训练,得到多个随机森林分类模型;通过测试样本验证各随机森林分类模型的分类准确率;从多个随机森林分类模型中选择分类准确率最高的随机森林分类模型。
19.根据权利要求15所述的装置,其特征在于,所述机器学习分类模型包括自适应提升分类模型;所述模型建立模块还用于在当次机器学习分类训练过程中,确定各所述训练样本的当前选取权重,按所述训练样本的当前选取权重从所述训练样本中选取当前训练样本;根据所述当前训练样本进行当次机器学习分类训练,得到当前基决策树;提高当次机器学习分类训练过程中分类失败的训练样本的选取权重,并将下一次机器学习分类训练作为当次机器学习分类训练以继续执行,直至达到训练结束条件;根据训练得到的基决策树的分类错误率确定所述基决策树的组合权重;将各基决策树按相应的组合权重进行组合,得到自适应提升分类模型。
20.根据权利要求15所述的装置,其特征在于,所述机器学习分类模型包括极端梯度提升分类模型;所述模型建立模块还用于根据当前训练样本训练当前回归树模型;所述当前回归树模型由历史回归树模型和优化函数组合得到,所述优化函数为使与所述当前回归树模型对应的目标函数下降最大梯度时的函数;获取所述当前回归树模型输出的与所述当前训练样本对应的预测值;确定所述预测值与所述当前训练样本中的实际值间的残差;用所述残差替代所述当前训练样本中相应的实际值,得到新的训练样本,并将新的训练样本作为当前训练样本返回所述根据当前训练样本训练当前回归树模型以继续执行,直至满足训练停止条件;确定所训练得到的各回归树模型的权重;将各所述回归树模型按相应的权重进行组合,得到极端梯度提升分类模型。
21.根据权利要求15所述的装置,其特征在于,所述装置还包括:
训练样本处理模块,用于根据所述训练样本中所述样本虚拟机的状态参数和样本目标物理机的状态参数,确定对应于同一状态项下的状态参数间的数量级差值;确定数量级差值大于或等于预设差异阈值的状态项;将确定的该状态项下的各状态参数进行归一化处理;用归一化处理后的状态参数替代相应归一化前的状态参数作为训练样本。
22.根据权利要求15所述的装置,其特征在于,所述训练样本处理模块还用于当所述训练样本不满足均衡条件时,在小类训练样本中选取当前参考样本;根据数据空间中的距离关系,从所述小类训练样本中随机选取所述当前参考样本的预设数量的邻近样本;在所述当前参考样本中各状态参数的取值和邻近样本中相应状态参数的取值构成的取值范围中随机取值,生成新的属于所述小类的样本;将生成的新的样本添加至所述训练样本中。
23.根据权利要求13所述的装置,其特征在于,所述状态参数获取模块还用于根据分配的额外资源更新所述虚拟机的第一状态参数,并返回所述获取所述虚拟机所对应的目标物理机的第二状态参数以继续执行。
24.根据权利要求13所述的装置,其特征在于,所述热迁移模块还用于将分配额外资源后的虚拟机热迁移至所述目标物理机。
25.根据权利要求13所述的装置,其特征在于,所述混合预测模型由包括样本虚拟机的状态参数和样本目标物理机的状态参数的训练样本进行机器学习分类训练得到;所述资源分配模块还用于获取样本虚拟机的状态参数的重要度和样本目标物理机的状态参数的重要度;各所述状态参数的重要度在所述混合预测模型的训练过程中确定;根据所述重要度确定各所述状态参数的热迁移结果影响力度;从各所述状态参数中筛选出热迁移结果影响力度大小降序排名在前预设名次的状态参数,确定为关键状态参数;按确定出的关键状态参数,识别出第一状态参数和第二状态参数中所包括的关键状态参数。
26.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
27.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至12中任一项所述方法的步骤。
CN201810373152.4A 2018-04-24 2018-04-24 虚拟机迁移方法、装置和计算机设备 Active CN110162379B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810373152.4A CN110162379B (zh) 2018-04-24 2018-04-24 虚拟机迁移方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810373152.4A CN110162379B (zh) 2018-04-24 2018-04-24 虚拟机迁移方法、装置和计算机设备

Publications (2)

Publication Number Publication Date
CN110162379A CN110162379A (zh) 2019-08-23
CN110162379B true CN110162379B (zh) 2023-04-21

Family

ID=67644797

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810373152.4A Active CN110162379B (zh) 2018-04-24 2018-04-24 虚拟机迁移方法、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN110162379B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11411969B2 (en) 2019-11-25 2022-08-09 Red Hat, Inc. Live process migration in conjunction with electronic security attacks
US11354207B2 (en) 2020-03-18 2022-06-07 Red Hat, Inc. Live process migration in response to real-time performance-based metrics
CN112783605B (zh) * 2021-01-27 2024-02-23 深信服科技股份有限公司 虚拟机的热迁移方法、装置、设备及存储介质
CN115016891A (zh) * 2022-06-01 2022-09-06 阿里巴巴(中国)有限公司 热迁移结果预测方法、热迁移方法、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933650A (zh) * 2017-03-03 2017-07-07 北方工业大学 云应用系统的负载管理方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102821158B (zh) * 2012-08-20 2015-09-30 广州杰赛科技股份有限公司 一种实现虚拟机迁移的方法和云系统
CN106133693B (zh) * 2015-02-28 2019-10-25 华为技术有限公司 虚拟机的迁移方法、装置及设备
CN104935628B (zh) * 2015-04-20 2018-01-12 电子科技大学 一种在多个数据中心之间迁移多个关联虚拟机的方法
CN106126896B (zh) * 2016-06-20 2019-03-22 中国地质大学(武汉) 基于经验模态分解和深度学习的混合模型风速预测方法及系统
CN107292348A (zh) * 2017-07-10 2017-10-24 天津理工大学 一种Bagging_BSJ短文本分类方法
CN107610464B (zh) * 2017-08-11 2019-02-12 河海大学 一种基于高斯混合时间序列模型的轨迹预测方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933650A (zh) * 2017-03-03 2017-07-07 北方工业大学 云应用系统的负载管理方法及系统

Also Published As

Publication number Publication date
CN110162379A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
CN110162379B (zh) 虚拟机迁移方法、装置和计算机设备
CN112153700B (zh) 一种网络切片资源管理方法及设备
WO2018076791A1 (zh) 一种资源负载均衡控制方法及集群调度器
US11652720B2 (en) Allocating cloud resources in accordance with predicted deployment growth
CN109586954B (zh) 一种网络流量预测方法、装置及电子设备
KR102456900B1 (ko) 에지 컴퓨팅 기반 데이터 분석 시스템 및 그 방법
CN113282409B (zh) 边缘计算任务的处理方法、装置和计算机设备
CN112286659A (zh) 云计算任务跟踪处理方法及云计算系统
CN106471473A (zh) 用于控制数据中心中的服务器过高分配的机制
CN112333261A (zh) 云计算任务调度方法、云计算系统及服务器
US10248462B2 (en) Management server which constructs a request load model for an object system, load estimation method thereof and storage medium for storing program
US20230145025A1 (en) Modeling cloud inefficiencies using domain-specific templates
US11245545B2 (en) Implementation of internet of things-enabled connectivity devices for processing operation information of devices lacking network connectivity
CN115391048A (zh) 基于趋势预测的微服务实例动态水平扩展收缩方法及系统
da Silva et al. Horizontal auto-scaling in edge computing environment using online machine learning
CN113158435B (zh) 基于集成学习的复杂系统仿真运行时间预测方法与设备
CN116866440B (zh) 一种集群节点选择调度方法、装置、电子设备和存储介质
US20230216737A1 (en) Network performance assessment
CN113448747B (zh) 数据传输方法、装置、计算机设备和存储介质
Vilà et al. Impact analysis of training in deep reinforcement learning-based radio access network slicing
EP3891930A1 (en) Method and technician allocating system for allocating a field technician
US11201801B2 (en) Machine learning-based determinations of lifespan information for devices in an internet of things environment
US20230123841A1 (en) Automated application tiering among core and edge computing sites
CN115237610B (zh) 一种基于Kubernetes容器云平台的弹性伸缩方法、装置及应用
CN117175664B (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