CN111143037B - 一种虚拟机资源分配方法、设备、系统及存储介质 - Google Patents

一种虚拟机资源分配方法、设备、系统及存储介质 Download PDF

Info

Publication number
CN111143037B
CN111143037B CN201911403895.2A CN201911403895A CN111143037B CN 111143037 B CN111143037 B CN 111143037B CN 201911403895 A CN201911403895 A CN 201911403895A CN 111143037 B CN111143037 B CN 111143037B
Authority
CN
China
Prior art keywords
virtual machine
area
configuration
task request
task
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
CN201911403895.2A
Other languages
English (en)
Other versions
CN111143037A (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201911403895.2A priority Critical patent/CN111143037B/zh
Publication of CN111143037A publication Critical patent/CN111143037A/zh
Application granted granted Critical
Publication of CN111143037B publication Critical patent/CN111143037B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/45562Creating, deleting, cloning virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种虚拟机资源分配方法、设备、系统及存储介质。其中,该虚拟机资源分配方法包括:接收到某个任务请求时,先判断是否存在与该任务请求对应的预配置虚拟机,若存在,则将预配置虚拟机从预配置区克隆到工作区得到一台虚拟机作为该任务请求的专用虚拟机,若不存在,则在工作区创建和配置一台新的虚拟机作为该任务请求的专用虚拟机,同时在预配置区为该任务请求创建一台预配置虚拟机并加载执行所请求任务所需的数据以备将来使用。如此,可以大大缩短为某一任务请求分配专用虚拟机的时间。

Description

一种虚拟机资源分配方法、设备、系统及存储介质
技术领域
本发明涉及虚拟机领域,尤其涉及一种虚拟机资源分配方法、设备、系统及存储介质。
背景技术
目前,随着边缘计算技术的广泛应用,越来越多的应用程序,特别是对计算能力要求较高、实时性强的应用程序,都会把计算任务卸载到边缘云环境中,而边缘云服务器则通常会在收到任务请求后分配专用虚拟机来处理这些应用程序的任务请求,在任务完成之后释放资源,然后等下次同样的应用程序提起相同的任务请求时再分配和配置新的专用虚拟机。因此,分配专用虚拟机并配置启动该虚拟机运行相应线程所消耗的时间将直接影响到上述应用程序在线上处理任务的响应时间。
为此,边缘云的资源分配和管理系统都力求尽可能地缩短这一时间。目前来看,大部分系统都是采用预配置的方案来缩短实时配置和启动虚拟机的方案。而现有预配置虚拟机的方法主要有:1)即时配置方法,即为应用程序创建冗余的虚拟机并将其挂起,当任务请求到达时即可很快的恢复挂起的虚拟机。这种方法在创建冗余的虚拟机时,是根据并发的线程数来创建的,可能会为同一个应用程序的某个任务请求创建多个预配置虚拟机,导致大量的资源的占用。2)预测模型方法:通过对过去请求的学习,选择每个任务请求最大并发数来预置虚拟机数量,或计算当前负载相关的阈值来缩放预配置虚拟机的数量,但在实际环境下,有很多突发的负载是不可预测的,因此该方法的应用效果也非常有限。
发明内容
针对以上问题,本发明人创造性地提供一种虚拟机资源分配方法、设备、系统及存储介质。
根据本发明实施例第一方面,一种虚拟机资源分配方法,该方法包括:接收任务请求;判断是否存在与任务请求对应的预配置虚拟机,若是,则将预配置虚拟机从预配置区克隆到工作区得到专用虚拟机,若否,则在工作区创建和配置新的虚拟机得到专用虚拟机,并在预配置区创建与任务请求对应的预配置虚拟机,其中预配置虚拟机的内存中包含有执行所请求任务所需的数据;启动专用虚拟机执行所请求的任务。
根据本发明一实施方式,其中,该方法还包括:判断工作区资源是否满足任务请求所需资源,若是,则继续下一步操作;若否,则从预配置区获取资源划归工作区使用。
根据本发明一实施方式,其中,从预配置区获取资源划归工作区使用,包括:从预配置区清除使用次数少的预配置虚拟机;将清除操作完成后得到的资源划归工作区使用。
根据本发明一实施方式,其中,在预配置区创建与任务请求对应的预配置虚拟机,包括:将任务请求发送给虚拟机预配置线程,由虚拟机预配置线程在预配置区创建预配置虚拟机,并在预配置虚拟机的内存中加载执行所请求任务所需的数据;将预配置虚拟机标记为任务请求对应的预配置虚拟机。
根据本发明一实施方式,其中,在预配置区创建与任务请求对应的预配置虚拟机之后,该方法还包括:将创建好的预配置虚拟机设置为暂停状态。
根据本发明一实施方式,其中,该方法还包括:将虚拟机资源区划分为工作区和预配置区;设置工作区和预配置区的初始配额;监控工作区和预配置区的资源使用情况;根据资源使用情况调整工作区和预配置区的配额。
根据本发明一实施方式,其中,该方法还包括:创建虚拟机资源区的权限策略,使虚拟机预配置线程只能使用预配置区的资源。
根据本发明实施例第二方面,一种虚拟机资源分配设备,该设备包括:请求接收模块,用于接收任务请求;虚拟机资源分配模块,用于判断是否存在与任务请求对应的预配置虚拟机,若是,则将预配置虚拟机从预配置区克隆到工作区得到专用虚拟机,若否,则在工作区创建和配置新的虚拟机得到专用虚拟机,并在预配置区创建与任务请求对应的预配置虚拟机,其中预配置虚拟机的内存中包含有执行所请求任务所需的数据;任务执行模块,用于启动专用虚拟机执行所请求的任务。
根据本发明一实施方式,其中,该设备还包括:工作区资源检测模块,用于判断工作区资源是否满足任务请求所需资源;资源划分模块,用于从预配置区获取资源划归工作区使用。
根据本发明一实施方式,其中,资源划分模块包括:虚拟机清除单元,用于从预配置区清除使用次数少的预配置虚拟机;资源重分配单元,用于将清除操作完成后得到的资源划归工作区使用。
根据本发明一实施方式,其中,虚拟机资源分配模块包括虚拟机预配置单元,用于在预配置区创建与任务请求对应的预配置虚拟机。虚拟机预配置单元包括:预配置虚拟机创建子单元,用于将任务请求发送给虚拟机预配置线程,由虚拟机预配置线程在预配置区创建预配置虚拟机,并在预配置虚拟机的内存中加载执行所请求任务所需的数据;预配置虚拟机标记子单元,用于将预配置虚拟机标记为任务请求对应的预配置虚拟机。
根据本发明一实施方式,其中,虚拟机预配置单元还包括状态设置子单元,用于在预配置区创建与任务请求对应的预配置虚拟机之后,将创建好的预配置虚拟机设置为暂停状态。
根据本发明一实施方式,其中,该设备还包括虚拟机资源区管理模块,用于将虚拟机资源区划分为工作区和预配置区;设置工作区和预配置区的初始配额;监控工作区和预配置区的资源使用情况;根据资源使用情况调整工作区和预配置区的配额。
根据本发明一实施方式,其中,该设备还包括权限策略管理模块用于创建虚拟机资源区的权限策略,使虚拟机预配置线程只能使用预配置区的资源。
根据本发明实施例第三方面,提供一种虚拟机资源分配系统,该系统包括处理器和存储器,其中,存储器中存储有计算机程序指令,计算机程序指令被处理器运行时用于执行上述任一项虚拟机资源分配方法。
根据本发明实施例第四方面,提供一种计算机存储介质,存储介质包括一组计算机可执行指令,当指令被执行时用于执行上述任一项虚拟机资源分配方法。
本发明实施例提供一种虚拟机资源分配方法、设备、系统及存储介质。其中,虚拟机资源分配方法通常由资源调度线程来执行,包括:接收到某个任务请求时,先判断是否存在与该任务请求对应的预配置虚拟机,若存在,则将预配置虚拟机从预配置区克隆到工作区得到一台虚拟机作为该任务请求的专用虚拟机,若不存在,则在工作区创建和配置一台新的虚拟机作为该任务请求的专用虚拟机,同时在预配置区为该任务请求创建一台预配置虚拟机并加载执行所请求任务所需的数据以备将来使用。由于将预配置虚拟机从预配置区克隆到工作区得到一台虚拟机所耗费的时间比在工作区重新创建和配置一台新的虚拟机的时间要少很多,且在预配置虚拟机的内存中包含有执行所请求任务所需的数据,而拷贝数据的操作也比重新获取数据的操作更省时,所以采用本发明实施例所提供的虚拟机资源分配方法可以大大缩短为某一任务请求分配专用虚拟机的时间。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1为本发明实施例虚拟机资源分配方法的实现流程示意图;
图2为本发明一应用虚拟机资源分配方法的具体实现流程示意图;
图3为本发明实施例虚拟机资源分配设备的组成结构示意图。
具体实施方式
为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
图1示出了本发明实施例虚拟机资源分配方法的实现流程。参考图1,该方法包括:操作110,接收任务请求;操作120,判断是否存在与任务请求对应的预配置虚拟机,若是,则将预配置虚拟机从预配置区克隆到工作区得到专用虚拟机,若否,则在工作区创建和配置新的虚拟机得到专用虚拟机,并在预配置区创建与任务请求对应的预配置虚拟机,其中预配置虚拟机的内存中包含有执行所请求任务所需的数据;操作130,启动专用虚拟机执行所请求的任务
在操作110中,这里的任务主要是一些需要较多资源的大型计算任务,需要边缘网络分配一台专用的虚拟机。在该任务请求中通常会包含执行任务的任务名称或标识、执行该任务需要使用的资源和需要指定的参数等等。这里接收任务请求的往往是一种网络服务,而请求本身则可以通过这一网络服务所接收的请求格式来发送,比如HTTP请求、Restful API、远程调用接口等。
在操作120中,判断是否存在与任务请求对应的预配置虚拟机时,也可以有很多方式。例如,在创建预配置虚拟机之初建立了一个任务请求与预配置虚拟机之间的映射表,则可以从该表中查找与任务请求对应的预配置虚拟机。此外,还可以采用在创建预配置虚拟机时新建一个包含任务请求的标签的方式将任务请求和预配置虚拟机关联起来,如果是采用这种方式,则可以通过用预配置虚拟机标签中的关键字进行查找的方式找到与任务请求对应的预配置虚拟机。
若经过查找,找到了与任务请求对应的预配置虚拟机,则可以将该预配置虚拟机从预配置区克隆到工作区得到专用虚拟机。这里的克隆可以通过执行虚拟机管理系统的克隆或拷贝命令,也可以从虚拟机管理系统的管理界面通过相应的操作按钮完成。需要说明的是这里的克隆和拷贝还包括内存中的数据,如此就能得到一个较完整的可执行环境,而无需另行在内存中加载这些数据。预配置虚拟机的内存中有预加载的、运行所请求任务所需要的数据,而将这些数据通过内存复制的方式克隆到工作区要比重新获取并加载到内存中要快很多。
若不存在与任务请求对应的预配置虚拟机,则创建新的虚拟机、进行配置并在内存中加载运行所请求任务所需要的数据。此外,在创建新的虚拟机的同时,还会启动预配置线程在预配置区创建与该任务请求对应的预配置虚拟机。在启动预配置线程的时候会将任务请求也发送给预配置虚拟机,预配置线程会根据任务请求中携带的信息在预配置区创建相应的虚拟机。预配置线程创建预配置虚拟机的方法与主线程在工作区创建、配置虚拟机的过程是一样的,包括在内存中加载所请求任务运行所需的数据,只是预配置线程是在预配置区创建预配置虚拟机的,而主线程是在工作区创建虚拟机。此外,为了尽量节约资源,原则上只为某一请求任务、或某一类型的请求创建一台预置虚拟机,这样可以处理更多的任务请求。
在操作130中,这里的专用虚拟机是工作区中刚克隆或新创建的可以执行所请求任务的虚拟机。
根据本发明一实施方式,其中,该方法还包括:判断工作区资源是否满足任务请求所需资源,若是,则继续下一步操作;若否,则从预配置区获取资源划归工作区使用。
为了优先满足对实时任务请求的处理,在工作区资源不足时,会进行自适应资源划分,从预配置区获取资源并划归工作区使用。这样可以尽可能重复利用资源,一方面能通过预配置虚拟机缩短分配时间,另一方面也不会导致预配置区过多占资源,使工作区不能及时有效地处理实时任务请求。
根据本发明一实施方式,其中,从预配置区获取资源划归工作区使用,包括:从预配置区清除使用次数少的预配置虚拟机;将清除操作完成后得到的资源划归工作区使用。
如果从预配置区获取资源划归工作区使用时,预配置区也已经没有闲置的资源,则会从预配置区清除一些预配置虚拟机来获取资源。在清除预配置虚拟机的时候,考虑到利用率,会优先清除使用次数较少的预配置虚拟机。为此,可以为每台预配置虚拟机设置一个评分机制,例如每用到该预配置虚拟机就给该预配置虚拟机进行加分。这样,用的越多的预配置虚拟机的评分就越高,相反,用的越少的预配置虚拟机的评分就越低。在需要清除预配置虚拟机回收资源时,可以先清除得分少的预配置虚拟机。每个预配置虚拟机的评分可以通过单独汇总的一个表来实现,也可以未每个虚拟机新建一个标签来记录。
根据本发明一实施方式,其中,在预配置区创建与任务请求对应的预配置虚拟机,包括:将任务请求发送给虚拟机预配置线程,由虚拟机预配置线程在预配置区创建预配置虚拟机,并在预配置虚拟机的内存中加载执行所请求任务所需的数据;将预配置虚拟机标记为任务请求对应的预配置虚拟机。
如前所述,预配置线程创建预配置虚拟机的方法与主线程在工作区创建、配置虚拟机的过程是一样的,包括在内存中加载执行任务所需的数据。在将预配置虚拟机标记为任务请求对应的预配置虚拟机时,也可以采用任何适用的方法。例如,建立一个任务请求与预配置虚拟机之间的映射表,或是在预配置虚拟机的标签中加入任务请求的名称或标识等等。
根据本发明一实施方式,其中,在预配置区创建与任务请求对应的预配置虚拟机之后,该方法还包括:将创建好的预配置虚拟机设置为暂停状态。
通常挂起虚拟机的同时会清除内存,等再度重启时会再次加载,而与挂起虚拟机不同,将预配置虚拟机设置未暂停状态时可以保留内存中的数据。因此将创建好的预配置虚拟机设置为暂停状态无需重新加载内存的数据,可以进一步节约时间。
根据本发明一实施方式,其中,该方法还包括:将虚拟机资源区划分为工作区和预配置区;设置工作区和预配置区的初始配额;监控工作区和预配置区的资源使用情况;根据资源使用情况调整工作区和预配置区的配额。
上述虚拟机资源的分配方法是建立在虚拟机资源管理方法的基础上的,而这里所提到的虚拟机资源管理方法就包括将所有可用资源分为两个区域:工作区和预配置区。在使用最初,预估预配置区所需资源,并确保为预配置区划分出来的资源不会对工作区的日常处理能力产生较大影响。这就是预配置区的初配额。这个值可以是人为指定的一个经验值,也可以是根据历史数据进行预测得到的预测值。为了更好地进行资源分配,提高资源的利用率,在进行初配额的设置之后,还会监控工作区和预配置区的资源使用情况,资源管理人员或程序在得到工作区和预配置区的资源使用情况后,可以对工作区和预配置区的配额进行适当的调整。比如,当发现工作区资源利用率较低,闲置率较高,而预配置区的资源总是不够用的时候,可以多将预配置区的配额调大,反之亦然。
根据本发明一实施方式,其中,该方法还包括:创建虚拟机资源区的权限策略,使虚拟机预配置线程只能使用预配置区的资源。
为了确保预配置线程在创建预配置虚拟机时只能使用预配置区的资源,可以通过创建一些权限策略来进行控制。例如,通过创建两个项目,一个项目代表预配置区,另一个项目代表工作区的方式,来划分边缘云环境的资源,不同的项目之间资源是隔离的,资源可以设置配额。在一个项目中可以包含多个用户,每一个用户都会根据权限的划分来使用项目中的资源。这里的用户可以是某个应用或某个程序,比如,可以定义一条全新策略限制预配置线程这一用户只可以使用预配置区这一项目的资源。
下面就结合图2,具体说明本发明一应用虚拟机资源分配方法的具体流程。如图2所示的应用场景中,由虚拟机资源调度线程来执行虚拟机本发明实施例资源分配方法,包括:
步骤2010,接收任务请求;
步骤2020,判断是否存在与该任务请求对应的预配置虚拟机,若存在,则继续步骤2030;若不存在则继续步骤2060;
步骤2030,判断工作区可用资源是否足够克隆预配置虚拟机,若是,则继续步骤2040,若否,则继续步骤2090;
步骤2040,将预配置虚拟机从预配置区克隆到工作区;
步骤2060,启动虚拟机预配置线程进行预配置;
需要说明的是,这里是另外启动的一个线程,一旦启动就自行执行预配置方法,并不影响下面的流程。
步骤2070,判断工作区可用资源是否足够创建和配置虚拟机,若是,则继续步骤2080,若否,则继续步骤2090;
步骤2080,在工作区创建和配置一台新的虚拟机;
步骤2090,进行资源自适应划分;
在工作区可用资源不足的时候,就需要进行该操作,不管是从操作2030中过来的请求,还是从操作2070过来的请求,所执行的方法都是一样的,即从预配置区域划分可用资源给工作区使用,如果预配置区也没有可用资源,则清除不常用的预配置虚拟机,并将回收得到的资源划归工作区使用,以确保工作区的资源使用。
步骤2100,判断资源划分是否成功;
并不是每次资源的自适应划分都能成功完成,有时会因为确实已经没有可用资源,例如,可能出现即使清理了所有预配置虚拟机也依然不够的情况;也可能是因为划分资源过程中出现了一些意外情况导致资源划分操作失败。
如果划分资源的结果是成功,则将成功返回给调用程序,比如执行步骤2030或执行步骤2070的程序,以便该程序进行下一步操作;
如果划分资源的结果是失败,则继续步骤2110。
步骤2110,报错并结束资源分配流程;
这种情况下,如果即使进行了资源自适应划分也无法获取足够的资源去克隆或创建虚拟机,则只能结束资源分配流程。但在结束流程之前,可以将出错的原因记录下来,并将出错原因返回给发送任务请求的应用程序。
步骤2060,使用工作区的虚拟机执行所请求的任务。
需要说明的是上述虚拟机资源分配方法可以借助已有的分布式虚拟机资源管理工具来实现,例如使用nova组件和placement组件进行资源的协同调度管理资源;使用placement接口程序和nova接口程序作为统一的资源管理接口,对资源使用情况进行管理;通过nova-scheduler虚拟机调度服务,包括其一系列过滤器和算法,来决定在哪里运行虚拟机等等;使用placement组件跟踪资源清单和使用情况,划分资源类型和标记资源特征等;使用nova-computer和hypervisor一起实现对虚拟机的管理,虚拟机的克隆、删除、启动,同时将资源的使用情况上报给placement和nova-condutor;预配置线程可以调用nova-compute在预配置区创建虚拟机并挂起,其中区域的选择通过nova-scheduler选择。同时正常的虚拟机启动线程在工作区创建相应的虚拟机并启动;当预配置资源不足时,可以调用nova-compute删除分数低的预配置虚拟机等等。
进一步地,本发明实施例还提供一种虚拟机资源分配设备。如图3所示,该设备30包括:请求接收模块301,用于接收任务请求;虚拟机资源分配模块302,用于判断是否存在与任务请求对应的预配置虚拟机,若是,则将预配置虚拟机从预配置区克隆到工作区得到专用虚拟机,若否,则在工作区创建和配置新的虚拟机得到专用虚拟机,并在预配置区创建与任务请求对应的预配置虚拟机,其中预配置虚拟机的内存中包含有执行所请求任务所需的数据;任务执行模块303,用于启动专用虚拟机执行所请求的任务。
根据本发明一实施方式,其中,该设备30还包括:工作区资源检测模块,用于判断工作区资源是否满足任务请求所需资源;资源划分模块,用于从预配置区获取资源划归工作区使用。
根据本发明一实施方式,其中,资源划分模块包括:虚拟机清除单元,用于从预配置区清除使用次数少的预配置虚拟机;资源重分配单元,用于将清除操作完成后得到的资源划归工作区使用。
根据本发明一实施方式,其中,虚拟机资源分配模块302包括虚拟机预配置单元,用于在预配置区创建与任务请求对应的预配置虚拟机。虚拟机预配置单元包括:预配置虚拟机创建子单元,用于将任务请求发送给虚拟机预配置线程,由虚拟机预配置线程在预配置区创建预配置虚拟机,并在预配置虚拟机的内存中加载执行所请求任务所需的数据;预配置虚拟机标记子单元,用于将预配置虚拟机标记为任务请求对应的预配置虚拟机。
根据本发明一实施方式,其中,虚拟机预配置单元还包括状态设置子单元,用于在预配置区创建与任务请求对应的预配置虚拟机之后,将创建好的预配置虚拟机设置为暂停状态。
根据本发明一实施方式,其中,该设备30还包括虚拟机资源区管理模块,用于将虚拟机资源区划分为工作区和预配置区;设置工作区和预配置区的初始配额;监控工作区和预配置区的资源使用情况;根据资源使用情况调整工作区和预配置区的配额。
根据本发明一实施方式,其中,该设备30还包括权限策略管理模块用于创建虚拟机资源区的权限策略,使虚拟机预配置线程只能使用预配置区的资源。
根据本发明实施例第三方面,提供一种虚拟机资源分配系统,该系统包括处理器和存储器,其中,存储器中存储有计算机程序指令,计算机程序指令被处理器运行时用于执行上述任一项虚拟机资源分配方法。
根据本发明实施例第四方面,提供一种计算机存储介质,存储介质包括一组计算机可执行指令,当指令被执行时用于执行上述任一项虚拟机资源分配方法。
这里需要指出的是:以上对针虚拟机资源分配设备实施例的描述、对针虚拟机资源分配系统实施例的描述和以上针对计算机存储介质实施例的描述,与前述方法实施例的描述是类似的,具有同前述方法实施例相似的有益效果,因此不做赘述。对于本发明对虚拟机资源分配实施例的描述、对虚拟机资源分配系统实施例的描述和对计算机存储介质实施例的描述尚未披露的技术细节,请参照本发明前述方法实施例的描述而理解,为节约篇幅,因此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个装置,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以利用硬件的形式实现,也可以利用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储介质、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例方法的全部或部分。而前述的存储介质包括:移动存储介质、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (9)

1.一种虚拟机资源分配方法,其特征在于,所述方法包括:
接收任务请求;
将虚拟机资源区划分为工作区和预配置区;
判断是否存在与所述任务请求对应的预配置虚拟机,若是,则将所述预配置虚拟机从预配置区克隆到工作区得到专用虚拟机,若否,则在工作区创建和配置新的虚拟机得到专用虚拟机,并在预配置区创建与所述任务请求对应的预配置虚拟机,其中所述预配置虚拟机的内存中包含有执行所请求任务所需的数据;
所述克隆还包括内存中的数据;
所述在预配置区创建与所述任务请求对应的预配置虚拟机,包括:
将所述任务请求发送给虚拟机预配置线程,由虚拟机预配置线程在预配置区创建预配置虚拟机,并在所述预配置虚拟机的内存中加载执行所请求任务所需的数据;将所述预配置虚拟机标记为所述任务请求对应的预配置虚拟机;
启动所述专用虚拟机执行所请求的任务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断工作区资源是否满足所述任务请求所需资源,若是,则继续下一步操作;若否,则从预配置区获取资源划归工作区使用。
3.根据权利要求2所述的方法,其特征在于,所述从预配置区获取资源划归工作区使用,包括:
从预配置区清除使用次数少的预配置虚拟机;
将所述清除操作完成后得到的资源划归工作区使用。
4.根据权利要求1所述的方法,其特征在于,在所述预配置区创建与所述任务请求对应的预配置虚拟机之后,所述方法还包括:
将创建好的预配置虚拟机设置为暂停状态;
所述暂停状态可以保留内存中的数据。
5.根据权利要求1所述的方法,其特征在于,所述将虚拟机资源区划分为工作区和预配置区之后,所述方法还包括:
设置所述工作区和所述预配置区的初始配额;
监控所述工作区和所述预配置区的资源使用情况;
根据所述资源使用情况调整所述工作区和所述预配置区的配额。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
创建所述虚拟机资源区的权限策略,使虚拟机预配置线程只能使用所述预配置区的资源。
7.一种虚拟机资源分配设备,其特征在于,所述设备包括:
请求接收模块,用于接收任务请求;
虚拟机资源分配模块,用于将虚拟机资源区划分为工作区和预配置区,以及判断是否存在与所述任务请求对应的预配置虚拟机,若是,则将所述预配置虚拟机从预配置区克隆到工作区得到专用虚拟机,若否,则在工作区创建和配置新的虚拟机得到专用虚拟机,并在预配置区创建与所述任务请求对应的预配置虚拟机,其中所述预配置虚拟机的内存中包含有执行所请求任务所需的数据;
所述克隆还包括内存中的数据;
所述在预配置区创建与所述任务请求对应的预配置虚拟机,包括:
将所述任务请求发送给虚拟机预配置线程,由虚拟机预配置线程在预配置区创建预配置虚拟机,并在所述预配置虚拟机的内存中加载执行所请求任务所需的数据;将所述预配置虚拟机标记为所述任务请求对应的预配置虚拟机;
任务执行模块,用于启动所述专用虚拟机执行所请求的任务。
8.一种虚拟机资源分配系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求1至6任一项所述的虚拟机资源分配方法。
9.一种存储介质,在所述存储介质上存储了程序指令,其中,所述程序指令在运行时用于执行如权利要求1至6任一项所述的虚拟机资源分配方法。
CN201911403895.2A 2019-12-31 2019-12-31 一种虚拟机资源分配方法、设备、系统及存储介质 Active CN111143037B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911403895.2A CN111143037B (zh) 2019-12-31 2019-12-31 一种虚拟机资源分配方法、设备、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911403895.2A CN111143037B (zh) 2019-12-31 2019-12-31 一种虚拟机资源分配方法、设备、系统及存储介质

Publications (2)

Publication Number Publication Date
CN111143037A CN111143037A (zh) 2020-05-12
CN111143037B true CN111143037B (zh) 2023-11-21

Family

ID=70522390

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911403895.2A Active CN111143037B (zh) 2019-12-31 2019-12-31 一种虚拟机资源分配方法、设备、系统及存储介质

Country Status (1)

Country Link
CN (1) CN111143037B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170679A (ja) * 2010-02-19 2011-09-01 Runcom Systems Inc 仮想計算機システムおよびその資源配分制御方法
CN102662760A (zh) * 2012-03-22 2012-09-12 北京邮电大学 一种基于虚拟机性能向量的任务调度方法
CN103377092A (zh) * 2012-04-12 2013-10-30 韩国电子通信研究院 用于动态资源管理的两级动态资源管理方法和装置
CN104065745A (zh) * 2014-07-07 2014-09-24 电子科技大学 云计算动态资源调度系统和方法
CN106775948A (zh) * 2016-12-23 2017-05-31 安徽师范大学 一种基于优先级的云任务调度方法及装置
WO2017167025A1 (zh) * 2016-03-28 2017-10-05 中兴通讯股份有限公司 一种实现任务调度的方法、装置及计算机存储介质
CN108681479A (zh) * 2018-05-17 2018-10-19 中国科学院软件研究所 一种面向数据挖掘云的资源调度方法
CN109086120A (zh) * 2018-08-03 2018-12-25 北京奇虎科技有限公司 虚拟机资源的管理方法、装置及计算设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170679A (ja) * 2010-02-19 2011-09-01 Runcom Systems Inc 仮想計算機システムおよびその資源配分制御方法
CN102662760A (zh) * 2012-03-22 2012-09-12 北京邮电大学 一种基于虚拟机性能向量的任务调度方法
CN103377092A (zh) * 2012-04-12 2013-10-30 韩国电子通信研究院 用于动态资源管理的两级动态资源管理方法和装置
CN104065745A (zh) * 2014-07-07 2014-09-24 电子科技大学 云计算动态资源调度系统和方法
WO2017167025A1 (zh) * 2016-03-28 2017-10-05 中兴通讯股份有限公司 一种实现任务调度的方法、装置及计算机存储介质
CN107239336A (zh) * 2016-03-28 2017-10-10 中兴通讯股份有限公司 一种实现任务调度的方法及装置
CN106775948A (zh) * 2016-12-23 2017-05-31 安徽师范大学 一种基于优先级的云任务调度方法及装置
CN108681479A (zh) * 2018-05-17 2018-10-19 中国科学院软件研究所 一种面向数据挖掘云的资源调度方法
CN109086120A (zh) * 2018-08-03 2018-12-25 北京奇虎科技有限公司 虚拟机资源的管理方法、装置及计算设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向IaaS的云计算自适应资源管理机制;袁文成;《中国博士学位论文全文数据库 (信息科技辑)》(第12期);I139-18 *

Also Published As

Publication number Publication date
CN111143037A (zh) 2020-05-12

Similar Documents

Publication Publication Date Title
US9405563B2 (en) Resource management method and apparatus for virtual machine system, and virtual machine system
US11226847B2 (en) Implementing an application manifest in a node-specific manner using an intent-based orchestrator
US9946577B1 (en) Systems and methods for distributed resource management
US9588789B2 (en) Management apparatus and workload distribution management method
EP3036625B1 (en) Virtual hadoop manager
JP5417287B2 (ja) 計算機システム、及び、計算機システムの制御方法
US9104498B2 (en) Maximizing server utilization within a datacenter
US9396026B2 (en) Allocating a task to a computer based on determined resources
JP5510556B2 (ja) 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム
CN104461744A (zh) 一种资源分配方法及装置
EP2725862A1 (en) Resource allocation method and resource management platform
CN112269641B (zh) 一种调度方法、装置、电子设备及存储介质
US20170017511A1 (en) Method for memory management in virtual machines, and corresponding system and computer program product
KR20130136449A (ko) 데이터-센터 서비스의 제어된 자동 힐링
US11755369B2 (en) Techniques for container scheduling in a virtual environment
US20140068613A1 (en) Non-transitory computer-readable storage medium, information processing apparatus and scheduling method
CN107851039A (zh) 用于资源管理的系统和方法
JP2014520346A5 (zh)
JP2007249674A (ja) サーバシステム
CN108111559B (zh) 一种应用软件部署系统及方法
CN111061432B (zh) 一种业务迁移方法、装置、设备及可读存储介质
CN112866314B (zh) 分布式主从系统中从节点的切换方法、主节点设备和存储介质
CN111143037B (zh) 一种虚拟机资源分配方法、设备、系统及存储介质
CN116881012A (zh) 一种容器应用垂直扩容方法、装置、设备及可读存储介质
CN114201284A (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