CN110806918A - 基于深度学习神经网络的虚拟机运行方法和装置 - Google Patents

基于深度学习神经网络的虚拟机运行方法和装置 Download PDF

Info

Publication number
CN110806918A
CN110806918A CN201910906845.XA CN201910906845A CN110806918A CN 110806918 A CN110806918 A CN 110806918A CN 201910906845 A CN201910906845 A CN 201910906845A CN 110806918 A CN110806918 A CN 110806918A
Authority
CN
China
Prior art keywords
virtual machine
resource utilization
physical host
target
service
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
Application number
CN201910906845.XA
Other languages
English (en)
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201910906845.XA priority Critical patent/CN110806918A/zh
Publication of CN110806918A publication Critical patent/CN110806918A/zh
Pending legal-status Critical Current

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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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
    • G06F2009/45591Monitoring or debugging support

Abstract

本发明公开了一种基于深度学习神经网络的虚拟机运行方法和装置,涉及互联网技术领域,可以根据业务的资源利用特征,对虚拟机负载量进行预测,进而根据预测结果确定当前时间的是否需要将虚拟机进行迁移,从而实现根据实际负载情况进行整合,避免占用过多的物理主机,节省了大量的资源,减少了云数据中心的开销。所述方法包括:当检测到虚拟机运行时,生成业务的资源利用特征;将业务的资源利用特征进行整合,生成对虚拟机的预测结果;如果预测结果指示虚拟机负载量在第一目标时间点小于迁移阈值,则当检测到当前时间点等于第一目标时间点时,确定目标物理主机;将虚拟机由当前物理主机迁移至目标物理主机,并基于目标物理主机运行虚拟机。

Description

基于深度学习神经网络的虚拟机运行方法和装置
技术领域
本发明涉及互联网技术领域,特别是涉及一种基于深度学习神经网络的虚拟机运行方法和装置。
背景技术
随着互联网技术的不断发展,云数据中心应运而生。云数据中心是一种基于付费使用模型的按需分配计算资源的高吞吐量计算范式,它通过服务器集群向云用户提供云服务。云数据中心为开发者和企业等云用户提供了极大的便利,将云用户从设置服务器硬件和管理系统软件等低级任务中解放出来,云用户只需要按需支付给云数据中心费用,无需购买固定硬件设备,极大地降低了云用户的计算成本,提高了开发效率。云数据中心基于虚拟化作为基础技术,通过在同一个主机上多路复用虚拟机的方式来共享昂贵的硬件资源,也即通过运行搭载有业务的虚拟机,从而实现为云用户提供服务。
相关技术中,云数据中心中运行有多个物理主机,每个物理主机中均搭载有多个虚拟机。当云数据中心接收到多个云用户提交的业务时,将业务分配到不同的虚拟机中,通过运行虚拟机来实现业务的运行。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
为了保持虚拟机的正常运行,云数据中心通常对全部的物理主机进行100%的加电运行,但是虚拟机的运行通常存在峰值时段和非峰时段,虚拟机在非峰时段的利用率并不高,而云数据中心还会继续对利用率不高的虚拟机进行100%的加电,导致浪费了大量的资源,增加了云数据中心的开销。
发明内容
有鉴于此,本发明提供了一种基于深度学习神经网络的虚拟机运行方法和装置,主要目的在于解决目前浪费了大量的资源,增加了云数据中心的开销的问题。
依据本发明第一方面,提供了一种基于深度学习神经网络的虚拟机运行方法,该方法包括:
当检测到虚拟机运行时,根据所述虚拟机中的业务的运行过程,生成所述业务的资源利用特征,所述资源利用特征记录了所述业务在运行过程中利用的资源量的变化过程;
按照时间变化,将所述业务的资源利用特征进行整合,生成对所述虚拟机在运行过程中的虚拟机负载量随时间变化的预测结果;
如果所述预测结果指示所述虚拟机负载量在第一目标时间点小于迁移阈值,则当检测到当前时间点等于第一目标时间点时,基于所述目标负载量,在多个物理主机中确定目标物理主机,所述目标物理主机的闲置负载量大于所述目标负载量;
将所述虚拟机由当前物理主机迁移至所述目标物理主机,并基于所述目标物理主机运行所述虚拟机。
在另一个实施例中,所述当检测到虚拟机运行时,根据所述虚拟机中的业务的运行过程,生成所述业务的资源利用特征,包括:
当检测到所述虚拟机运行时,提取所述虚拟机中搭载的业务;
获取检测周期,对所述业务中的每个业务在所述检测周期中的运行进行检测,得到所述每个业务随着时间变化的资源利用特征,所述资源利用特征至少包括计算资源利用率、网络资源利用率、存储资源利用率和功耗资源利用率。
在另一个实施例中,所述按照时间变化,将所述业务的资源利用特征进行整合,生成对所述虚拟机在运行过程中的虚拟机负载量随时间变化的预测结果之后,所述方法还包括:
如果所述预测结果指示所述虚拟机负载量在第二目标时间点大于等于迁移阈值,则当检测到当前时间点等于第二目标时间点时,检测全部物理主机的工作状态;
当检测到所述全部物理主机中不包括工作状态为非运行状态的物理主机时,保持当前的运行状态;
当检测到所述全部物理主机中包括工作状态为非运行状态的物理主机时,将非运行状态的物理主机唤醒。
在另一个实施例中,所述基于所述目标负载量,在多个物理主机中确定目标物理主机,包括:
对于所述多个物理主机中的每个物理主机,统计所述物理主机的当前负载量,计算所述物理主机的额定负载量与所述当前负载量的差值,将所述差值作为所述物理主机的闲置负载量;
将所述多个物理主机的闲置负载量与所述虚拟机负载量进行比对,在所述多个物理主机中提取闲置负载量大于所述虚拟机负载量的物理主机作为所述目标物理主机。
在另一个实施例中,所述将所述虚拟机由当前物理主机迁移至所述目标物理主机,并基于所述目标物理主机运行所述虚拟机之后,所述方法还包括:
当检测到所述当前物理主机中不包括任一虚拟机时,将所述当前物理主机的状态更改为睡眠状态。
在另一个实施例中,所述方法还包括:
当检测到所述业务中某一个业务停止时,获取空间阈值,在所述虚拟机中预留大小等于所述空间阈值的预留空间,将所述预留空间分配给所述业务。
依据本发明第二方面,提供了一种基于深度学习神经网络的虚拟机运行装置,该装置包括:
生成模块,用于当检测到虚拟机运行时,根据所述虚拟机中的业务的运行过程,生成所述业务的资源利用特征,所述资源利用特征记录了所述业务在运行过程中利用的资源量的变化过程;
整合模块,用于按照时间变化,将所述业务的资源利用特征进行整合,生成对所述虚拟机在运行过程中的虚拟机负载量随时间变化的预测结果;
确定模块,用于如果所述预测结果指示所述虚拟机负载量在第一目标时间点小于迁移阈值,则当检测到当前时间点等于第一目标时间点时,基于所述目标负载量,在多个物理主机中确定目标物理主机,所述目标物理主机的闲置负载量大于所述目标负载量;
迁移模块,用于将所述虚拟机由当前物理主机迁移至所述目标物理主机,并基于所述目标物理主机运行所述虚拟机。
在另一个实施例中,所述生成模块,包括:
提取单元,用于当检测到所述虚拟机运行时,提取所述虚拟机中搭载的业务;
检测单元,用于获取检测周期,对所述业务中的每个业务在所述检测周期中的运行进行检测,得到所述每个业务随着时间变化的资源利用特征,所述资源利用特征至少包括计算资源利用率、网络资源利用率、存储资源利用率和功耗资源利用率。
在另一个实施例中,所述装置还包括:
检测模块,用于如果所述预测结果指示所述虚拟机负载量在第二目标时间点大于等于迁移阈值,则当检测到当前时间点等于第二目标时间点时,检测全部物理主机的工作状态;
运行模块,用于当检测到所述全部物理主机中不包括工作状态为非运行状态的物理主机时,保持当前的运行状态;
唤醒模块,用于当检测到所述全部物理主机中包括工作状态为非运行状态的物理主机时,将非运行状态的物理主机唤醒。
在另一个实施例中,所述第二确定模块,包括:
计算单元,用于对于所述多个物理主机中的每个物理主机,统计所述物理主机的当前负载量,计算所述物理主机的额定负载量与所述当前负载量的差值,将所述差值作为所述物理主机的闲置负载量;
提取单元,用于将所述多个物理主机的闲置负载量与所述虚拟机负载量进行比对,在所述多个物理主机中提取闲置负载量大于所述虚拟机负载量的物理主机作为所述目标物理主机。
在另一个实施例中,所述装置还包括:
更改模块,用于当检测到所述当前物理主机中不包括任一虚拟机时,将所述当前物理主机的状态更改为睡眠状态。
在另一个实施例中,所述装置还包括:
预留模块,用于当检测到所述业务中某一个业务停止时,获取空间阈值,在所述虚拟机中预留大小等于所述空间阈值的预留空间,将所述预留空间分配给所述业务。
依据本发明第三方面,提供了一种设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述方法的步骤。
依据本发明第四方面,提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法的步骤。
借由上述技术方案,本发明提供的一种基于深度学习神经网络的虚拟机运行方法和装置,与目前对利用率不高的虚拟机进行100%的加电的方式相比,本发明根据虚拟机中运行的业务的资源利用特征,对虚拟机在运行过程中的虚拟机负载量进行预测,进而根据预测结果确定当前时间的是否需要将虚拟机进行迁移,从而实现根据虚拟机的实际负载情况对虚拟机的整合,避免占用过多的物理主机,节省了大量的资源,减少了云数据中心的开销。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种基于深度学习神经网络的虚拟机运行方法流程示意图;
图2A示出了本发明实施例提供的一种基于深度学习神经网络的虚拟机运行方法流程示意图;
图2B示出了本发明实施例提供的一种基于深度学习神经网络的虚拟机运行方法的示意图;
图2C示出了本发明实施例提供的一种基于深度学习神经网络的虚拟机运行方法的示意图;
图3A示出了本发明实施例提供的一种基于深度学习神经网络的虚拟机运行装置的结构示意图;
图3B示出了本发明实施例提供的一种基于深度学习神经网络的虚拟机运行装置的结构示意图;
图3C示出了本发明实施例提供的一种基于深度学习神经网络的虚拟机运行装置的结构示意图;
图3D示出了本发明实施例提供的一种基于深度学习神经网络的虚拟机运行装置的结构示意图;
图3E示出了本发明实施例提供的一种基于深度学习神经网络的虚拟机运行装置的结构示意图;
图3F示出了本发明实施例提供的一种基于深度学习神经网络的虚拟机运行装置的结构示意图;
图4示出了本发明实施例提供的一种设备的装置结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种基于深度学习神经网络的虚拟机运行方法,可以根据虚拟机中运行的业务的资源利用特征,对虚拟机在运行过程中的虚拟机负载量进行预测,进而根据预测结果确定当前时间的是否需要将虚拟机进行迁移,从而实现根据虚拟机的实际负载情况对虚拟机的整合,达到了避免占用过多的物理主机,节省了大量的资源,减少了云数据中心的开销的目的,如图1所示,该方法包括:
101、当检测到虚拟机运行时,根据虚拟机中的业务的运行过程,生成业务的资源利用特征,资源利用特征记录了业务在运行过程中利用的资源量的变化过程。
102、按照时间变化,将业务的资源利用特征进行整合,生成对虚拟机在运行过程中的虚拟机负载量随时间变化的预测结果。
103、如果预测结果指示虚拟机负载量在第一目标时间点小于迁移阈值,则当检测到当前时间点等于第一目标时间点时,基于目标负载量,在多个物理主机中确定目标物理主机,目标物理主机的闲置负载量大于目标负载量。
104、将虚拟机由当前物理主机迁移至目标物理主机,并基于目标物理主机运行虚拟机。
本发明实施例提供的方法,可以根据虚拟机中运行的业务的资源利用特征,对虚拟机在运行过程中的虚拟机负载量进行预测,进而根据预测结果确定当前时间的是否需要将虚拟机进行迁移,从而实现根据虚拟机的实际负载情况对虚拟机的整合,避免占用过多的物理主机,节省了大量的资源,减少了云数据中心的开销。
本发明实施例提供了一种基于深度学习神经网络的虚拟机运行方法,可以根据虚拟机中运行的业务的资源利用特征,对虚拟机在运行过程中的虚拟机负载量进行预测,进而根据预测结果确定当前时间的是否需要将虚拟机进行迁移,从而实现根据虚拟机的实际负载情况对虚拟机的整合,达到了避免占用过多的物理主机,节省了大量的资源,减少了云数据中心的开销的目的,如图2A所示,该方法包括:
201、当检测到虚拟机运行时,根据所述虚拟机中的业务的运行过程,生成所述业务的资源利用特征。
发明人认识到,每个业务的运行过程都是存在一定的规律的,也即对于某一个业务来说,该业务每天在各个时间消耗的资源量通常都是相似的,为了根据业务的实际消耗能力来支配虚拟机的运行,从而实现对资源的节约,当虚拟机被分配了多个业务后,可以根据虚拟机中实际搭载的业务,获取到该虚拟机中每个业务的资源利用特征,以便在后续根据每个业务的资源利用特征,预测虚拟机在运行过程中的虚拟机负载量随着时间变化的预测结果。
其中,在获取每个业务的资源利用特征时,资源利用特征通常是周期性变化的,因此,设置一个检测周期,通过虚拟机的接口,对接入虚拟机中的业务中的每个业务在检测周期中的运行进行检测,从而得到每个业务在检测周期中随着时间变化的资源利用特征。检测周期的粒度可以有多种,且可以进行调整,例如,可为分钟级,也即设置的检测周期以分钟为单位;或者还可为小时级,也即设置的检测周期以小时为单位。另外,虚拟机的接口按照虚拟机搭载的平台不同也可为不同类型的接口,通常来说,该接口为搭载虚拟机的平台的API(Application Program Interface,应用程序接口)接口。
由于业务对资源的消耗表现在多种方面,例如,对计算资源的消耗、对网络资源的消耗、对存储资源的消耗等,因此,在获取每个业务的资源利用特征时,可以获取每个业务的计算资源利用率、网络资源利用率、存储资源利用率和功耗资源利用率,并将上述提及的多个资源利用率作为该业务的资源利用特征。具体地,计算资源利用率可为CPU(CentralProcessing Unit/Processor,中央处理器)利用率、内存利用率等;网络资源利用率可为网络流出/流入字节数;存储资源利用率可为磁盘存储空间大小等;功耗资源利用率可为功耗大小等。而在实际应用的过程中,考虑到某一个业务需要的资源较多,因此会占据多个虚拟机,这样,还可以将业务的业务类型信息也作为该业务的资源利用特征,例如,业务类型信息可为业务A包括20个虚拟机,业务B包括10个虚拟机等。本发明实施例对获取到的资源利用特征具体包括哪些内容不进行限定。
202、按照时间变化,将业务的资源利用特征进行整合,生成对虚拟机在运行过程中的虚拟机负载量随时间变化的预测结果。
在本发明实施例中,由于虚拟机中的每个业务对资源的利用不管是在时间还是用量上都是不同的,因此,为了综合考虑虚拟机中全部的业务,从而为虚拟机生成与实际相符的负载变化趋势,需要按照时间的变化,将业务的资源利用特征进行整合,并生成虚拟机的负载与时间的对应关系。其中,在将业务的资源利用特征进行整合时,可以基于诸如LSTM(Long Short-Term Memory,长短期记忆网络)、RNN(Recurrent Neural Network,循坏神经网络)等人工智能深度学习神经网络进行整合,从而将虚拟机的虚拟机负载量随着时间的变化预测出来,得到预测结果。
在实际应用的过程中,人工智能深度学习神经网络在对业务的资源利用特征进行整合生成预测结果时,可以生成一个如图2B所示的整合结果,进而采用坐标系的方式表现得到的预测结果。其中,图2B中的纵轴表示资源利用特征,横轴表示时间,时间的刻度是可变的,坐标系中的三条曲线分别表示三个不同的业务,曲线上方的阴影部分即为服务器集群的绿色节电区域。需要说明的是,虚拟机在任一时间的虚拟机负载量等于业务在时间的资源利用特征的总和,例如,在图2B中,虚拟机在08:00时三个业务的资源利用特征分别为10,10,15,因此,虚拟机在08:00时的虚拟机负载量即为10+10+15=35。本发明实施例采用曲线图展示了各个业务的资源利用特征与时间之间的关系,从而进一步表示了虚拟机的虚拟机负载量与时间之间的关系。而在实际应用的过程中,还可以采用条形图、折线图等表示,本发明实施例对采用哪种方式表示负载与时间之间的关系不进行具体限定。另外,为了更加清晰的表示负载与时间之间的对应关系,可以分别计算各个时间全部业务的资源利用特征的总和,从而生成仅包括一条负载曲线的坐标系。
由于每个业务的资源利用特征都是持续变化的,且存在一定的变化规律,最大的资源利用特征是会随着时间逐渐的降低,并不是断崖式的变化,因此,根据全部业务的资源利用特征的变化,可以对后续每一个业务的资源利用特征进行预测,实现对虚拟机的虚拟机负载量进行预测的目的,进而生成对虚拟机负载量的预测结果,使得后续可以根据预测结果来指导是否对虚拟机进行迁移。为了设定一个指导虚拟机进行迁移的标准,可以设置一个用于评价是否迁移虚拟机的迁移阈值。例如,继续以图2B所示的虚拟机负载量与时间的对应关系为例进行说明,由于图2B是分别将每个业务的资源利用特征表示出来,因此,设置的负载界限可以为将每个业务的资源利用特征均大于等于30作为迁移阈值,也即当虚拟机负载量大于等于30时,可以将虚拟机进行迁移;当虚拟机负载量小于30时无需对虚拟机进行迁移。
需要说明的是,通过上述步骤201至步骤202中所示的过程便可以为每一个虚拟机生成与其自身运行的业务相关的预测结果。而在实际应用的过程中,可以在虚拟机首次运行业务时,直接为虚拟机生成该预测结果,也可以设置一个固定的时间,并在该固定的时间统一为全部的虚拟机生成与其对应的预测结果,还可以由工作人员下发指令,并当接收到该指令时为指定的虚拟机生成预测结果。本发明实施例对虚拟机生成预测结果的时机不进行具体限定。
另外,云数据中心中可以设置数据采集器,并基于数据采集器完成上述步骤201至步骤202中为虚拟机生成预测结果的过程,并由数据采集器将生成的预测结果上传给云数据中心的中央数据库,以便中央数据库对大量的预测结果进行整理。
203、确定当前时间点,如果预测结果指示虚拟机负载量在第一目标时间点小于迁移阈值,则当检测到当前时间点等于第一目标时间点时,执行下述步骤204至206;如果预测结果指示虚拟机负载量在第二目标时间点大于等于迁移阈值,则当检测到当前时间点等于第二目标时间点时,执行下述步骤207至步骤208。
在本发明实施例中,当获取到该虚拟机的预测结果后,便可以根据该预测结果对后续虚拟机的虚拟机负载量进行预测。其中,预测结果中是会指示虚拟机的虚拟机负载在何时会达到峰值,何时不会达到峰值,在不会达到峰值的时间点是可以对虚拟机进行迁移,从而节省资源的,因此,确定当前时间点,如果预测结果指示虚拟机负载量在第二目标时间点大于等于迁移阈值,表示此时为虚拟机运行的峰值时间点,则当检测到当前时间点等于第二目标时间点时,虚拟机正处于全力运行的状态,需要保持对虚拟机的运行,以及唤醒更多的虚拟机投入运行来保证对业务的支持,也即执行下述步骤204至步骤206;如果预测结果指示虚拟机负载量在第一目标时间点小于迁移阈值,表示此时虚拟机并没有完全投入运行,则当检测到当前时间点等于第一目标时间点时,可以将该虚拟机迁移到其他的物理主机,从而使当前所处的物理主机空闲出来,达到节省资源的目的,也即执行下述步骤207至步骤208。其中,迁移阈值是根据业务在历史的运行过程中非峰时段确定的,不同的业务可以设置不同的迁移阈值,本发明对迁移阈值的取值不进行具体限定。
204、如果预测结果指示虚拟机负载量在第二目标时间点大于等于迁移阈值,则当检测到当前时间点等于第二目标时间点时,检测全部物理主机的工作状态,当检测到全部物理主机的工作状态为运行状态时,执行下述步骤205;当检测到全部物理主机的工作状态并非运行状态时,执行下述步骤206。
在本发明实施例中,如果预测结果指示虚拟机负载量在第二目标时间点大于等于迁移阈值,则当检测到当前时间点等于第二目标时间点时,表示此时虚拟机正处于全力运行的状态,需要保持对虚拟机的运行,以及唤醒更多的虚拟机投入运行来保证对业务的支持,因此,需要检测全部物理主机的工作状态,以便保证全部的物理主机都可以投入到工作中,满足当前的负载需求。当检测到全部物理主机的工作状态为运行状态时,表示全部的物理主机都已经投入至工作中,保证当前的工作状态即可,也即执行下述步骤205;当检测到全部物理主机的工作状态并非运行状态时,表示尚有一些物理主机没有进入工作,因此,将没有运行的物理主机唤醒,以便保证全部的物理主机都进入工作状态,也即执行下述步骤206。
205、当全部物理主机中不存在的工作状态为非运行状态的物理主机时,保持当前的运行状态。
在本发明实施例中,当检测到全部物理主机的工作状态为运行状态时,表示全部的物理主机都已经投入至工作中,保证当前的工作状态即可。
206、当全部物理主机中存在的工作状态为非运行状态的物理主机时,将非运行状态的物理主机唤醒。
在本发明实施例中,当全部物理主机中存在的工作状态为非运行状态的物理主机时,表示尚有一些物理主机没有进入工作,因此,确定没有进行工作状态的物理主机,也即工作状态为非运行状态的物理主机,将非运行状态的物理主机唤醒,以便保证全部的物理主机都进入工作状态。
207、如果预测结果指示虚拟机负载量在第一目标时间点小于迁移阈值,则当检测到当前时间点等于第一目标时间点时,基于目标负载量,在多个物理主机中确定目标物理主机。
在本发明实施例中,如果预测结果指示虚拟机负载量在第一目标时间点小于迁移阈值,则当检测到当前时间点等于第一目标时间点时,表示此时虚拟机并没有完全投入运行,可以将该虚拟机迁移到其他的物理主机,从而使当前所处的物理主机空闲出来,达到节省资源的目的。为了实现对虚拟机进行迁移,需要选择一个可以满足虚拟机当前运行的目标物理主机进行迁移,因此,统计虚拟机中业务在当前时间对虚拟机造成的目标负载量,从而根据目标负载量为虚拟机选取目标物理主机。
在对虚拟机进行迁移时,需要保证虚拟机即将迁移到的目标物理主机的闲置负载量是可以承载该虚拟机当前的目标负载量的,因此,需要确定多个物理主机的闲置负载量,并通过将目标负载量与闲置负载量进行比对,来确定目标物理主机。具体地,对于多个物理主机中的每个物理主机,首先,统计物理主机的当前负载量,计算物理主机的额定负载量与当前负载量的差值,将差值作为物理主机的闲置负载量;随后,将多个物理主机的闲置负载量与目标负载量进行比对,在多个物理主机中提取闲置负载量大于目标负载量的物理主机作为目标物理主机。
需要说明的是,考虑到可能存在多个物理主机的闲置负载量均大于目标负载量的情况,这时,可以随机在多个物理主机中选择任意物理主机作为目标物理主机,还可以选择多个物理主机中闲置负载量最小的物理主机作为目标物理主机,本发明实施例对选取目标物理主机的方式不进行具体限定。
208、将虚拟机由当前物理主机迁移至目标物理主机,并基于目标物理主机运行虚拟机。
在本发明实施例中,当确定了目标物理主机后,便可以将虚拟机由当前物理主机迁移至目标物理主机,并基于目标物理主机运行虚拟机。
需要说明的是,为了完成上述步骤207至步骤208中所示的虚拟机迁移过程,云数据中心中可以设置全局管理器,并由全局管理器执行目标物理主机的选择以及将虚拟机迁移至目标物理主机的过程。
209、当检测到当前物理主机中不包括任一虚拟机时,将当前物理主机的状态更改为睡眠状态。
在本发明实施例中,由于某一个物理主机中可能仅运行有一个虚拟机,如果当前运行的虚拟机已经迁移出去了,则该物理主机中就没有正在运行的虚拟机,该物理主机便可以休息不再运行,因此,在完成了虚拟机的迁移后,需要对之前虚拟机运行的物理主机进行检测,检测该物理主机上是否还包括其他的虚拟机,并当检测到当前物理主机中不包括任一虚拟机时,将当前物理主机的状态更改为睡眠状态,从而无需再继续对该物理主机进行供电。需要说明的是,将当前物理主机的状态更改为睡眠状态而并非关机状态,以便应对突发的业务流量,使得该物理主机可以及时的唤醒。例如,参见图2C,阴影的物理主机即为处于睡眠状态的物理主机,白色的物理主机即为处于正常工作状态的物理主机。
在实际应用的过程中,业务可能会存在运行完毕停止的情况,为了防止业务突然的运行带来的运行任务,当检测到业务中某一个业务停止时,需要获取空间阈值,在虚拟机中预留大小等于空间阈值的预留空间,将预留空间分配给业务,以便应对突发情况,保证任务突然重启也可以正常运行。通常来说,空间阈值可为20%,本发明实施例对空间阈值的具体数值不进行限定。
本发明实施例提供的方法,可以根据虚拟机中运行的业务的资源利用特征,对虚拟机在运行过程中的虚拟机负载量进行预测,进而根据预测结果确定当前时间的是否需要将虚拟机进行迁移,从而实现根据虚拟机的实际负载情况对虚拟机的整合,避免占用过多的物理主机,节省了大量的资源,减少了云数据中心的开销。
进一步地,作为图1所述方法的具体实现,本发明实施例提供了一种基于深度学习神经网络的虚拟机运行装置,如图3A所示,所述装置包括:生成模块301,整合模块302,确定模块303和迁移模块304。
该生成模块301,用于当检测到虚拟机运行时,根据所述虚拟机中的业务的运行过程,生成所述业务的资源利用特征,所述资源利用特征记录了所述业务在运行过程中利用的资源量的变化过程;
该整合模块302,用于按照时间变化,将所述业务的资源利用特征进行整合,生成对所述虚拟机在运行过程中的虚拟机负载量随时间变化的预测结果;
该确定模块303,用于如果所述预测结果指示所述虚拟机负载量在第一目标时间点小于迁移阈值,则当检测到当前时间点等于第一目标时间点时,基于所述目标负载量,在多个物理主机中确定目标物理主机,所述目标物理主机的闲置负载量大于所述目标负载量;
该迁移模块304,用于将所述虚拟机由当前物理主机迁移至所述目标物理主机,并基于所述目标物理主机运行所述虚拟机。
在具体的应用场景中,如图3B所示,生成模块301,具体包括:提取单元3011和检测单元3012。
该提取单元3011,用于当检测到所述虚拟机运行时,提取所述虚拟机中搭载的业务;
该检测单元3012,用于获取检测周期,对所述业务中的每个业务在所述检测周期中的运行进行检测,得到所述每个业务随着时间变化的资源利用特征,所述资源利用特征至少包括计算资源利用率、网络资源利用率、存储资源利用率和功耗资源利用率。
在具体的应用场景中,如图3C所示,该装置还包括:检测模块305,运行模块306和唤醒模块307。
该检测模块305,用于如果所述预测结果指示所述虚拟机负载量在第二目标时间点大于等于迁移阈值,则当检测到当前时间点等于第二目标时间点时,检测全部物理主机的工作状态;
该运行模块306,用于当检测到所述全部物理主机中不包括工作状态为非运行状态的物理主机时,保持当前的运行状态;
该唤醒模块307,用于当检测到所述全部物理主机中包括工作状态为非运行状态的物理主机时,将非运行状态的物理主机唤醒。
在具体的应用场景中,如图3D所示,该确定模块303,包括:计算单元3031和提取单元3032。
该计算单元3041,用于对于所述多个物理主机中的每个物理主机,统计所述物理主机的当前负载量,计算所述物理主机的额定负载量与所述当前负载量的差值,将所述差值作为所述物理主机的闲置负载量;
该提取单元3042,用于将所述多个物理主机的闲置负载量与所述虚拟机负载量进行比对,在所述多个物理主机中提取闲置负载量大于所述虚拟机负载量的物理主机作为所述目标物理主机。
在具体的应用场景中,如图3E所示,该装置还包括:更改模块308。
该更改模块308,用于当检测到所述当前物理主机中不包括任一虚拟机时,将所述当前物理主机的状态更改为睡眠状态。
在具体的应用场景中,如图3F所示,该装置还包括:预留模块309。
该预留模块309,用于当检测到所述业务中某一个业务停止时,获取空间阈值,在所述虚拟机中预留大小等于所述空间阈值的预留空间,将所述预留空间分配给所述业务。
本发明实施例提供的装置,可以根据虚拟机中运行的业务的资源利用特征,对虚拟机在运行过程中的虚拟机负载量进行预测,进而根据预测结果确定当前时间的是否需要将虚拟机进行迁移,从而实现根据虚拟机的实际负载情况对虚拟机的整合,避免占用过多的物理主机,节省了大量的资源,减少了云数据中心的开销。
需要说明的是,本发明实施例提供的一种虚拟机运行装置所涉及各功能单元的其他相应描述,可以参考图1和图2A中的对应描述,在此不再赘述。
在示例性实施例中,参见图4,还提供了一种设备,该设备400包括通信总线、处理器、存储器和通信接口,还可以包括、输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的基于深度学习神经网络的虚拟机运行方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于深度学习神经网络的虚拟机运行方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

Claims (10)

1.一种基于深度学习神经网络的虚拟机运行方法,其特征在于,包括:
当检测到虚拟机运行时,根据所述虚拟机中的业务的运行过程,生成所述业务的资源利用特征,所述资源利用特征记录了所述业务在运行过程中利用的资源量的变化过程;
按照时间变化,将所述业务的资源利用特征进行整合,生成对所述虚拟机在运行过程中的虚拟机负载量随时间变化的预测结果;
如果所述预测结果指示所述虚拟机负载量在第一目标时间点小于迁移阈值,则当检测到当前时间点等于第一目标时间点时,基于所述目标负载量,在多个物理主机中确定目标物理主机,所述目标物理主机的闲置负载量大于所述目标负载量;
将所述虚拟机由当前物理主机迁移至所述目标物理主机,并基于所述目标物理主机运行所述虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述当检测到虚拟机运行时,根据所述虚拟机中的业务的运行过程,生成所述业务的资源利用特征,包括:
当检测到所述虚拟机运行时,提取所述虚拟机中搭载的业务;
获取检测周期,对所述业务中的每个业务在所述检测周期中的运行进行检测,得到所述每个业务随着时间变化的资源利用特征,所述资源利用特征至少包括计算资源利用率、网络资源利用率、存储资源利用率和功耗资源利用率。
3.根据权利要求1所述的方法,其特征在于,所述按照时间变化,将所述业务的资源利用特征进行整合,生成对所述虚拟机在运行过程中的虚拟机负载量随时间变化的预测结果之后,所述方法还包括:
如果所述预测结果指示所述虚拟机负载量在第二目标时间点大于等于迁移阈值,则当检测到当前时间点等于第二目标时间点时,检测全部物理主机的工作状态;
当检测到所述全部物理主机中不包括工作状态为非运行状态的物理主机时,保持当前的运行状态;
当检测到所述全部物理主机中包括工作状态为非运行状态的物理主机时,将非运行状态的物理主机唤醒。
4.根据权利要求1所述的方法,其特征在于,所述基于所述目标负载量,在多个物理主机中确定目标物理主机,包括:
对于所述多个物理主机中的每个物理主机,统计所述物理主机的当前负载量,计算所述物理主机的额定负载量与所述当前负载量的差值,将所述差值作为所述物理主机的闲置负载量;
将所述多个物理主机的闲置负载量与所述虚拟机负载量进行比对,在所述多个物理主机中提取闲置负载量大于所述虚拟机负载量的物理主机作为所述目标物理主机。
5.根据权利要求1所述的方法,其特征在于,所述将所述虚拟机由当前物理主机迁移至所述目标物理主机,并基于所述目标物理主机运行所述虚拟机之后,所述方法还包括:
当检测到所述当前物理主机中不包括任一虚拟机时,将所述当前物理主机的状态更改为睡眠状态。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当检测到所述业务中某一个业务停止时,获取空间阈值,在所述虚拟机中预留大小等于所述空间阈值的预留空间,将所述预留空间分配给所述业务。
7.一种基于深度学习神经网络的虚拟机运行装置,其特征在于,包括:
生成模块,用于当检测到虚拟机运行时,根据所述虚拟机中的业务的运行过程,生成所述业务的资源利用特征,所述资源利用特征记录了所述业务在运行过程中利用的资源量的变化过程;
整合模块,用于按照时间变化,将所述业务的资源利用特征进行整合,生成对所述虚拟机在运行过程中的虚拟机负载量随时间变化的预测结果;
确定模块,用于如果所述预测结果指示所述虚拟机负载量在第一目标时间点小于迁移阈值,则当检测到当前时间点等于第一目标时间点时,基于所述目标负载量,在多个物理主机中确定目标物理主机,所述目标物理主机的闲置负载量大于所述目标负载量;
迁移模块,用于将所述虚拟机由当前物理主机迁移至所述目标物理主机,并基于所述目标物理主机运行所述虚拟机。
8.根据权利要求7所述的装置,其特征在于,所述生成模块,包括:
提取单元,用于当检测到所述虚拟机运行时,提取所述虚拟机中搭载的业务;
检测单元,用于获取检测周期,对所述业务中的每个业务在所述检测周期中的运行进行检测,得到所述每个业务随着时间变化的资源利用特征,所述资源利用特征至少包括计算资源利用率、网络资源利用率、存储资源利用率和功耗资源利用率。
9.一种设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN201910906845.XA 2019-09-24 2019-09-24 基于深度学习神经网络的虚拟机运行方法和装置 Pending CN110806918A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910906845.XA CN110806918A (zh) 2019-09-24 2019-09-24 基于深度学习神经网络的虚拟机运行方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910906845.XA CN110806918A (zh) 2019-09-24 2019-09-24 基于深度学习神经网络的虚拟机运行方法和装置

Publications (1)

Publication Number Publication Date
CN110806918A true CN110806918A (zh) 2020-02-18

Family

ID=69487838

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910906845.XA Pending CN110806918A (zh) 2019-09-24 2019-09-24 基于深度学习神经网络的虚拟机运行方法和装置

Country Status (1)

Country Link
CN (1) CN110806918A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111611055A (zh) * 2020-05-27 2020-09-01 上海有孚智数云创数字科技有限公司 一种虚拟设备最优空闲时间迁移法、装置及可读存储介质
WO2023082692A1 (zh) * 2021-11-09 2023-05-19 云南电网有限责任公司 一种基于业务感知的转接设备低功耗控制方法及转接设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096461A (zh) * 2011-01-13 2011-06-15 浙江大学 基于虚拟机迁移和负载感知整合的云数据中心节能方法
CN106899660A (zh) * 2017-01-26 2017-06-27 华南理工大学 基于滚动灰色预测模型的云数据中心节能调度实现方法
CN107562512A (zh) * 2016-07-01 2018-01-09 华为技术有限公司 一种迁移虚拟机的方法、装置及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096461A (zh) * 2011-01-13 2011-06-15 浙江大学 基于虚拟机迁移和负载感知整合的云数据中心节能方法
CN107562512A (zh) * 2016-07-01 2018-01-09 华为技术有限公司 一种迁移虚拟机的方法、装置及系统
CN106899660A (zh) * 2017-01-26 2017-06-27 华南理工大学 基于滚动灰色预测模型的云数据中心节能调度实现方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111611055A (zh) * 2020-05-27 2020-09-01 上海有孚智数云创数字科技有限公司 一种虚拟设备最优空闲时间迁移法、装置及可读存储介质
CN111611055B (zh) * 2020-05-27 2020-12-18 上海有孚智数云创数字科技有限公司 一种虚拟设备最优空闲时间迁移法、装置及可读存储介质
WO2023082692A1 (zh) * 2021-11-09 2023-05-19 云南电网有限责任公司 一种基于业务感知的转接设备低功耗控制方法及转接设备

Similar Documents

Publication Publication Date Title
JP6509895B2 (ja) デバイス固有又はユーザー固有のリソース使用プロファイルに基づくリソース管理
CN102103516B (zh) 基于虚拟cpu的频率和电压调节
EP4068090A1 (en) Container scheduling method and apparatus, and non-volatile computer-readable storage medium
CN104516475A (zh) 用于管理多核片上系统上的全局芯片功率的方法和装置
US20100318827A1 (en) Energy use profiling for workload transfer
CN105868004B (zh) 一种基于云计算的业务系统的调度方法及调度装置
WO2011088261A2 (en) Methods and apparatus for coordinated energy management in virtualized data centers
CN111966449B (zh) 一种虚拟机备份管理方法、系统、终端及存储介质
Fernández-Cerero et al. Energy policies for data-center monolithic schedulers
CN113515382A (zh) 云资源的分配方法、装置、电子设备及程序产品
CN112801331A (zh) 利用虚拟容量和优选位置实时调度进行计算负载的整形
CN110806918A (zh) 基于深度学习神经网络的虚拟机运行方法和装置
CN103488538A (zh) 云计算系统中的应用扩展装置和应用扩展方法
CN110795323A (zh) 负载统计方法、装置、存储介质及电子设备
CN107203256A (zh) 一种网络功能虚拟化场景下的节能分配方法与装置
CN110825212B (zh) 节能调度方法及装置、计算机可存储介质
CN113626145B (zh) 业务虚拟机数量动态扩容方法及系统
WO2022062937A1 (zh) 任务调度方法、装置以及计算机系统
EP3982258A1 (en) Method and apparatus for reducing power consumption of virtual machine cluster
Tsai et al. Prevent vm migration in virtualized clusters via deadline driven placement policy
CN114253663A (zh) 一种虚拟机资源的调度方法和装置
CN110955644A (zh) 一种存储系统的io控制方法、装置、设备及存储介质
CN110908783A (zh) 一种云数据中心虚拟机的管控方法、系统及设备
CN117850566A (zh) 一种IaaS云平台中宿主机电源动态管理算法
WO2022083471A1 (zh) 一种功耗管理方法、装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200218