CN103019861A - 虚拟机分配方法及装置 - Google Patents
虚拟机分配方法及装置 Download PDFInfo
- Publication number
- CN103019861A CN103019861A CN2012105320717A CN201210532071A CN103019861A CN 103019861 A CN103019861 A CN 103019861A CN 2012105320717 A CN2012105320717 A CN 2012105320717A CN 201210532071 A CN201210532071 A CN 201210532071A CN 103019861 A CN103019861 A CN 103019861A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- priority
- application software
- machine type
- configuration information
- 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
-
- 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
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
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)
Abstract
本发明实施例提供一种虚拟机分配方法及装置。该方法包括获取应用软件的配置信息,所述配置信息包括应用软件可使用的多个虚拟机类型以及各虚拟机类型的优先级;根据所述配置信息中虚拟机类型的优先级,为所述应用软件优先分配优先级高的虚拟机类型对应的虚拟机,以便所述应用软件在所述虚拟机中运行。本发明实施例技术方案可基于应用软件的配置信息中应用软件可使用的虚拟机类型的优先级,优先为应用软件分配优先级高的虚拟机类型对应的虚拟机,可提高应用软件的运行效果。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种虚拟机分配方法及装置。
背景技术
随着计算机技术的发展,云计算***等虚拟化***的应用越来越广泛,其中,在虚拟化***中,通常包括多种硬件,且每种硬件可提供不同类型的虚拟机,以便应用软件可利用各硬件提供的虚拟机来运行。
目前,基于虚拟化***运行的应用软件,在部署前,会为应用软件定义其可以使用的虚拟机类型,这样,在应用软件使用时,虚拟机***会根据该应用软件可以使用的虚拟机类型,为应用软件分配满足其要求的一个虚拟机,以便应用软件可在该虚拟机运行。其中,虚拟化***在为应用软件分配虚拟机时,是随机分配或者按照当前硬件资源使用情况按照统一的规则为应用软件分配一个虚拟机,以供应用软件使用。
但是,现有由虚拟化***为应用软件分配虚拟机时,可能导致分配给应用软件的虚拟机无法满足应用软件的需要,导致应用软件在***分配的虚拟机下运行效果较差。
发明内容
本发明实施例提供一种虚拟机分配方法及装置,可克服现有由虚拟化***为应用软件分配虚拟机所存在的问题。
第一方面,本发明实施例提供一种虚拟机分配方法,包括:
获取应用软件的配置信息,所述配置信息包括应用软件可使用的多个虚拟机类型以及各虚拟机类型的优先级;
根据所述配置信息中虚拟机类型的优先级,为所述应用软件优先分配优先级高的虚拟机类型对应的虚拟机,以便所述应用软件在所述虚拟机中运行。
结合第一方面,在第一种可能实现方式中,所述虚拟机类型的优先级包括高优先级和低优先级。
结合第一方面,在第二种可能实现方式中,所述虚拟机类型的优先级包括多个优先级级别的优先级。
结合第一方面或者第一方面的第一或二种可能实现方式,在第三种可能实现方式中,所述根据所述配置信息中虚拟机类型的优先级,为所述应用软件优先分配优先级高的虚拟机类型对应的虚拟机包括:
判断所述配置信息中优先级高的虚拟机类型对应的虚拟机是否可以分配得到;
在所述优先级高的虚拟机类型对应的虚拟机可以分配得到时,为所述应用软件分配所述优先级高的虚拟机类型对应的虚拟机;
在所述优先级高的虚拟机类型对应的虚拟机无法分配得到时,在优先级低于所述优先级高的虚拟机类型中按优先级高低为所述应用软件分配虚拟机。
结合第一方面或者第一方面的第一或二种可能实现方式,在第四种可能实现方式中,所述配置信息具体包括多个配置子信息,各配置子信息均包括应用软件可使用的多个虚拟机类型以及各虚拟机类型的优先级;
所述根据所述配置信息中虚拟机类型的优先级,为所述应用软件优先分配优先级高的虚拟机类型所对应的虚拟机包括:
根据配置子信息中虚拟机类型的优先级,为所述应用软件优先分配各配置子信息中优先级高的虚拟机类型对应的虚拟机。
第二方面,本发明实施例提供一种虚拟机分配装置,包括:
配置信息获取模块,用于获取应用软件的配置信息,所述配置信息包括应用软件可使用的多个虚拟机类型以及各虚拟机类型的优先级;
虚拟机分配模块,用于根据所述配置信息中虚拟机类型的优先级,为所述应用软件优先分配优先级高的虚拟机类型对应的虚拟机,以便所述应用软件在所述虚拟机中运行。
结合第二方面,在第一种可能实现方式中,所述虚拟机类型的优先级包括高优先级和低优先级。
结合第二方面,在第二种可能实现方式中,所述虚拟机类型的优先级包括多个优先级级别的优先级。
结合第二方面或第二方面的第一或二种可能实现方式中,在第三种可能实现方式中,所述虚拟机分配模块包括:
判断单元,用于判断所述配置信息中优先级高的虚拟机类型对应的虚拟机是否可以分配得到;
第一分配单元,用于在所述优先级高的虚拟机类型对应的虚拟机可以分配得到时,为所述应用软件分配所述优先级高的虚拟机类型对应的虚拟机;
第二分配单元,用于在所述优先级高的虚拟机类型对应的虚拟机无法分配得到时,在优先级低于所述优先级高的虚拟机类型中按优先级高低为所述应用软件分配虚拟机。
结合第二方面或第二方面的第一或二种可能实现方式中,在第四种可能实现方式中,所述配置信息具体包括多个配置子信息,各配置子信息均包括应用软件可使用的多个虚拟机类型以及各虚拟机类型的优先级;
所述虚拟机分配模块,具体用于根据配置子信息中虚拟机类型的优先级,为所述应用软件优先分配各配置子信息中优先级高的虚拟机类型对应的虚拟机。
本发明实施例可根据应用软件配置信息中的应用软件可使用的虚拟机类型的优先级,按照优先级高低为应用软件优先分配优先级高的虚拟机类型对应的虚拟机,从而可根据应用软件的需求来为应用软件分配虚拟机,使得应用软件在分配的虚拟机中具有更好的运行效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的虚拟机分配方法的流程示意图;
图2为本发明实施例二提供的虚拟机分配方法的流程示意图;
图3为本发明实施例三提供的虚拟机分配方法的流程示意图;
图4为本发明实施例四所应用的虚拟化***的配置结构示意图;
图5为本发明实施例五提供的虚拟机分配装置的结构示意图;
图6为本发明实施例六提供的虚拟机分配装置的结构示意图;
图7为本发明实施例七提供的虚拟机分配模块的结构示意图。
具体实施方式
图1为本发明实施例一提供的虚拟机分配方法的流程示意图。本实施例可应用于虚拟化***中,为部署在虚拟化***中的应用软件分配虚拟机,具体地,如图1所示,本实施例方法可包括如下步骤:
步骤101、获取应用软件的配置信息,该配置信息包括应用软件可使用的多个虚拟机类型以及各虚拟机类型的优先级;
步骤102、根据配置信息中虚拟机类型的优先级,为应用软件优先分配优先级高的虚拟机类型对应的虚拟机,以便应用软件在虚拟机中运行。
本实施例中,虚拟化***具有多种硬件资源,每种硬件资源可支持不同的虚拟机,其中,所述的虚拟机类型就是指一种硬件资源,或者一种虚拟机,具体地,该虚拟机类型可以是指硬件资源配置信息,或者也可以是指虚拟机。虚拟化***根据该虚拟机类型,就可以确定相应的硬件资源,并在该硬件资源上部署相应的虚拟机,以便应用软件可在该虚拟机中运行。
本领域技术人员可以理解,所述的配置信息是由用户为应用软件预先设置的信息,且该配置信息可根据需要由用户来进行修改。实际应用中,配置信息可通过配置文件保存,也可以存储在特定的数据库中,且在需要部署应用软件时,可将该配置信息上传到虚拟化***,一般由虚拟化***根据上述步骤来分配虚拟机给应用软件使用。
本实施例中,所述的分配信息中的应用软件可使用的虚拟机类型的优先级,具体是指根据应用软件的偏好为应用软件设置的可使用的虚拟机类型的优先级,例如,对于高CPU消耗型的应用软件,可设置优先使用CPU处理能力较强、内存和硬盘配置相对较少的虚拟机类型,即在该应用软件的配置信息中,将CPU处理能力较强、内存和硬盘配置相对较少的虚拟机类型设置有高优先级;对于高内存消耗型的应用软件,可设置优先使用内存配置较大、CPU处理能力和硬盘配置相对较小的虚拟机类型,即在该应用软件的配置信息中,将内存配置较大、CPU处理能力和硬盘配置相对较小的虚拟机类型的优先级设置有高优先级。本领域技术人员可以理解,应用软件在优先级高的虚拟机类型对应的虚拟机中运行时,可具有更好的运行效果。
本实施例提供的虚拟机分配方法,可根据应用软件配置信息中的应用软件的虚拟机类型的优先级,按照优先级高低为应用软件优先分配优先级高的虚拟机类型对应的虚拟机,从而可根据应用软件的需求来为应用软件分配虚拟机,使得应用软件在分配的虚拟机中具有更好的运行效果。
图2为本发明实施例二提供的虚拟机分配方法的流程示意图。如图2所示,本实施例方法可包括如下步骤:
步骤201、获取应用软件的配置信息,该配置信息包括应用软件可使用的多个虚拟机类型以及各虚拟机类型的优先级;
步骤202、判断配置信息中优先级高的虚拟机类型对应的虚拟机是否可以分配得到,是则执行步骤203,否则执行步骤204;
步骤203、为应用软件分配优先级高的虚拟机类型对应的虚拟机;
步骤204、在优先级低于优先级高的虚拟机类型中按优先级高低为应用软件分配虚拟机。
本实施例中,所述的虚拟机类型的优先级具体可以包括两个优先级级别,可分为高优先级和低优先级;或者,虚拟机类型的优先级也可是指具有多个优先级级别的优先级,可以用数字表示,例如用0-6表示优先级高低,0表示优先级最低,6表示优先级最高等。
上述步骤202中,当应用软件的配置信息中高优先级的虚拟机类型对应虚拟机无法分配得到,即虚拟化***中该虚拟机对应的硬件资源不足时,可在低优先级的虚拟机类型中,为应用软件分配相应的虚拟机。本领域技术人员可以理解,当为应用软件分配虚拟机时,处于同一优先级的虚拟机类型有多个时,且需要在该优先级下为应用软件分配虚拟机时,可采用传统虚拟机分配方式,例如随机或者根据虚拟化***的硬件资源使用情况按照统一规则为应用软件分配虚拟机。
图3为本发明实施例三提供的虚拟机分配方法的流程示意图。本实施例中,上述的配置信息可包括多个配置子信息,各配置子信息均包括应用软件可使用的多个虚拟机类型以及各虚拟机类型的优先级,这样,虚拟化***就可以根据配置子信息中虚拟机类型的优先级,为所述应用软件优先分配各配置子信息中优先级高的虚拟机类型对应的虚拟机,具体地,如图3所示,本实施例方法可包括如下步骤:
步骤301、获取应用软件的配置信息;
步骤302、获取配置信息中配置子信息的个数n,即应用软件所需要使用的虚拟机的个数;
步骤303、在配置信息中选择一个配置子信息;
步骤304、根据配置子信息中虚拟机类型的优先级,为应用软件优先分配该配置子信息中优先级高的虚拟机类型对应的虚拟机,将n-1,并将该配置子信息设置为已完成配置;
步骤305、判断n-1是否为0,是则结束,否则,在配置信息中选择另外一个没有完成配置的配置子信息,继续执行步骤304。
本实施例中,应用软件需要同时运行在多个虚拟机中,因此,在配置信息中可设置有多个配置子信息,以表示该应用软件需要虚拟化***为其分配多个虚拟机,这样,虚拟化***在为应用软件分配虚拟机时,就可以基于各配置子信息中的虚拟机类型,为应用软件分配虚拟机。
本实施例可应用于需要运行在多个虚拟机的应用软件的虚拟机分配中,且配置信息也可包括应用软件所需要使用的虚拟机的个数。
为便于对本发明实施例技术方案有更好的了解,下面将以具体应用场景为例进行说明。
图4为本发明实施例四提供的虚拟机分配方法所应用的虚拟化***的配置结构原理示意图。如图4所示,虚拟化***包括HT1、HT2和HT3三种硬件资源,其中HT1可以提供虚拟机VT1,HT2可以提供虚拟机VT2,HT3可以提供虚拟机VT3,且VT1、VT2、VT3均配置有所要求的硬件资源例如CPU、内存以及硬盘容量等,例如VT1的硬件资源配置可为CPU=1.5GHz,内存为8G,硬盘容量为100GB,每类虚拟机的硬件资源是相同的,且每个硬件资源上可运行一个或多个同一类型的虚拟机。本实施例中,应用软件APP1部署在虚拟化***时,可为APP1设置一个配置信息文件,具体地,该配置信息文件可为开放的虚拟化格式(Open Virtualization Format,OVF)文件,其中该OVF文件是一种描述应用软件可使用的虚拟机相关信息的文件,例如可以描述应用软件所需的虚拟机规格、数量、部署方式等信息,该OVF文件可由用户上传到虚拟化***中。
具体地,可在OVF文件中的虚拟机***(VirtualSystem)中定义APP1可以使用的虚拟机类型,同时,在该VirtualSystem中增加APP1可以使用的各虚拟机类型的优先级,例如可在VirtualSystem中增加一个默认参数Default,当Default为真,即Default=True时,表示定义的虚拟机类型为高优先级,当Default为假,即Default=false时,或者无Default参数时,则表示定义的虚拟机类型为低优先级。其中,VirtualSystem是OVF文件中用于定义应用软件可使用的虚拟机类型的函数,并通过其中的虚拟机类型定义函数(VirtualHardwareSection)来定义应用软件使用的虚拟机类型,每个VirtualHardwareSection可定义一个虚拟机类型,每个VirtualSystem中通常包括多个VirtualHardwareSection,且参数Default也是设置在VirtualHardwareSection中。假设用户为APP1设置的OVF文件中,利用虚拟机类型定义函数为APP1分配的虚拟机分别为VT1、VT2和VT3,且VT1的优先级为高优先级,VT2和VT3为低优先级,那么,虚拟化***获取到该APP1的OVF文件时,首先通过解析该OVF文件,可得到APP1可以使用的虚拟机类型为VT1、VT2和VT3,然后,查看虚拟化***中是否有空闲的VT1供APP1使用,若有,则为APP1优先分配该VT1,否则,则根据VT2和VT3的资源占用情况,在VT2和VT3中为APP1分配VT2或VT3。
实际应用中,若APP1需要多个虚拟机来运行时,其可以通过OVF文件中的虚拟机集合(VirtualSystemCollection)函数,来定义APP1所使用的虚拟机个数,以及利用VirtualSystem来定义APP1可使用的虚拟机类型,且VirtualSystem数量与虚拟机个数的数量相同,其中,所述的VirtualSystemCollection是OVF文件中用来定义使用多个虚拟机的虚拟机函数,其可以包括多个VirtualSystem。例如,假设APP1需要使用两个虚拟机,则在OVF文件中通过两个VirtualSystem来定义APP1可使用的虚拟机类型,并在一个VirtualSystem中定义APP1可以使用的虚拟机为VT1、VT2和VT3,VT1为高优先级,在另一个VirtualSystem中定义APP1可以使用的虚拟机为VT1、VT2和VT3,VT2为高优先级,这样,虚拟化***获取到APP1的OVF文件时,就可以优先为APP1分配VT1和VT2。
本领域技术人员可以理解,实际应用中,也可在OVF文件中设置参数Priority来表示虚拟机类型的优先级,该参数Priority为大于等于0的整数,例如可以为0-6,其中Priority为0时,表示对应的虚拟机类型的优先级最低,Priority为6时,表示对应的虚拟机类型的优先级最高。这样,虚拟化***同样可以根据参数Priority来确定APP1可以使用的虚拟机类型的优先级,并按照优先级高低,为APP1优先分配优先级高的虚拟机类型对应的虚拟机。
图5为本发明实施例五提供的虚拟机分配装置的结构示意图。如图5所示,本实施例装置可包括配置信息获取模块11和虚拟机分配模块12,其中:
配置信息获取模块11,用于获取应用软件的配置信息,该配置信息包括应用软件可使用的多个虚拟机类型以及各虚拟机类型的优先级;
虚拟机分配模块12,用于根据配置信息中虚拟机类型的优先级,为应用软件优先分配优先级高的虚拟机类型对应的虚拟机,以便应用软件在虚拟机中运行。
本实施例装置可应用于虚拟化***中,用于为应用软件分配虚拟机,其具体实现可参见上述本发明方法实施例的说明,在此不再赘述。
图6为本发明实施例六提供的虚拟机分配装置的结构示意图。在上述图5所示技术方案基础上,如图6所示,上述的虚拟机分配模块12具体可包括判断单元121、第一分配单元122和第二分配单元123,其中:
判断单元121,用于判断配置信息中优先级高的虚拟机类型对应的虚拟机是否可以分配得到;
第一分配单元122,用于在优先级高的虚拟机类型对应的虚拟机可以分配到时,为应用软件分配优先级高的虚拟机类型对应的虚拟机;
第二分配单元123,用于在优先级高的虚拟机类型对应的虚拟机无法分配到,在优先级低于优先级的高虚拟机类型中按优先级高低为应用软件分配虚拟机。
本实施例中,所述的虚拟机类型的优先级具体可包括高优先级和低优先级。或者,所述的虚拟机类型的优先级也可包括多个优先级级别的优先级。
上述图5所示实施例中,所述的配置信息具体可包括多个配置子信息,各配置子信息均包括应用软件可使用的多个虚拟机类型以及各虚拟机类型的优先级,上述的虚拟机分配模块12具体可用于根据配置子信息中虚拟机类型的优先级,为应用软件优先分配各配置子信息中优先级高的虚拟机类型对应的虚拟机。可应用于需要多个虚拟机的应用软件的虚拟机分配中,其具体实现可参见上述本发明方法实施例三或四的说明。
图7为本发明实施例七提供的虚拟机分配模块的结构示意图。如图7所示,本实施例虚拟机分配模块包括处理器10和存储器20,处理器10可通过总线与存储器20连接,其中,存储器20可用于存储指令,处理器10用于执行该指令用于执行相关操作。具体地,处理器10可执行存储器20存储的指令用于获取应用软件的配置信息,该配置信息包括应用软件可使用的多个虚拟机类型以及各虚拟机类型的优先级;以及用于根据配置信息中虚拟机类型的优先级,为应用软件优先分配优先级高的虚拟机类型对应的虚拟机,以便应用软件在虚拟机中运行,其中,该应用软件的配置信息可存储在存储器20中。所述虚拟机类型的优先级包括高优先级和低优先级。或者,所述虚拟机类型的优先级也可包括多个优先级级别的优先级。
本实施例中,处理器10具体可用于判断配置信息中优先级高的虚拟机类型对应的虚拟机是否可以分配得到;以及用于在优先级高的虚拟机类型对应的虚拟机可以分配得到时,为应用软件分配所述优先级高的虚拟机类型对应的虚拟机;以及用于在优先级高的虚拟机类型对应的虚拟机无法分配得到时,在优先级低于优先级高的虚拟机类型中按优先级高低为所述应用软件分配虚拟机。
本实施例中,上述的配置信息具体可包括多个配置子信息,各配置子信息均包括应用软件可使用的多个虚拟机类型以及各虚拟机类型的优先级;上述的处理器10具体可用于根据配置子信息中虚拟机类型的优先级,为应用软件优先分配各配置子信息中优先级高的虚拟机类型对应的虚拟机。
本实施例提供的虚拟机分配模块,处理器10通过执行存储器20存储的指令,可实现上述图5或图6所示各功能模块的功能,其具体实现可参见上述本发明方法实施例的说明,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种虚拟机分配方法,其特征在于,包括:
获取应用软件的配置信息,所述配置信息包括应用软件可使用的多个虚拟机类型以及各虚拟机类型的优先级;
根据所述配置信息中虚拟机类型的优先级,为所述应用软件优先分配优先级高的虚拟机类型对应的虚拟机,以便所述应用软件在所述虚拟机中运行。
2.根据权利要求1所述的虚拟机分配方法,其特征在于,所述虚拟机类型的优先级包括高优先级和低优先级。
3.根据权利要求1所述的虚拟机分配方法,其特征在于,所述虚拟机类型的优先级包括多个优先级级别的优先级。
4.根据权利要求1-3任一所述的虚拟机分配方法,其特征在于,所述根据所述配置信息中虚拟机类型的优先级,为所述应用软件优先分配优先级高的虚拟机类型对应的虚拟机包括:
判断所述配置信息中优先级高的虚拟机类型对应的虚拟机是否可以分配得到;
在所述优先级高的虚拟机类型对应的虚拟机可以分配得到时,为所述应用软件分配所述优先级高的虚拟机类型对应的虚拟机;
在所述优先级高的虚拟机类型对应的虚拟机无法分配得到时,在优先级低于所述优先级高的虚拟机类型中按优先级高低为所述应用软件分配虚拟机。
5.根据权利要求1-3任一所述的虚拟机分配方法,其特征在于,所述配置信息具体包括多个配置子信息,各配置子信息均包括应用软件可使用的多个虚拟机类型以及各虚拟机类型的优先级;
所述根据所述配置信息中虚拟机类型的优先级,为所述应用软件优先分配优先级高的虚拟机类型所对应的虚拟机包括:
根据配置子信息中虚拟机类型的优先级,为所述应用软件优先分配各配置子信息中优先级高的虚拟机类型对应的虚拟机。
6.一种虚拟机分配装置,其特征在于,包括:
配置信息获取模块,用于获取应用软件的配置信息,所述配置信息包括应用软件可使用的多个虚拟机类型以及各虚拟机类型的优先级;
虚拟机分配模块,用于根据所述配置信息中虚拟机类型的优先级,为所述应用软件优先分配优先级高的虚拟机类型对应的虚拟机,以便所述应用软件在所述虚拟机中运行。
7.根据权利要求6所述的虚拟机分配装置,其特征在于,所述虚拟机类型的优先级包括高优先级和低优先级。
8.根据权利要求6所述的虚拟机分配装置,其特征在于,所述虚拟机类型的优先级包括多个优先级级别的优先级。
9.根据权利要求6-8任一所述的虚拟机分配装置,其特征在于,所述虚拟机分配模块包括:
判断单元,用于判断所述配置信息中优先级高的虚拟机类型对应的虚拟机是否可以分配得到;
第一分配单元,用于在所述优先级高的虚拟机类型对应的虚拟机可以分配得到时,为所述应用软件分配所述优先级高的虚拟机类型对应的虚拟机;
第二分配单元,用于在所述优先级高的虚拟机类型对应的虚拟机无法分配得到时,在优先级低于所述优先级高的虚拟机类型中按优先级高低为所述应用软件分配虚拟机。
10.根据权利要求6-8任一所述的虚拟机分配装置,其特征在于,所述配置信息具体包括多个配置子信息,各配置子信息均包括应用软件可使用的多个虚拟机类型以及各虚拟机类型的优先级;
所述虚拟机分配模块,具体用于根据配置子信息中虚拟机类型的优先级,为所述应用软件优先分配各配置子信息中优先级高的虚拟机类型对应的虚拟机。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105320717A CN103019861A (zh) | 2012-12-11 | 2012-12-11 | 虚拟机分配方法及装置 |
PCT/CN2013/080373 WO2014089976A1 (zh) | 2012-12-11 | 2013-07-30 | 虚拟机分配方法及装置 |
JP2015546812A JP2015537318A (ja) | 2012-12-11 | 2013-07-30 | 仮想マシンを割り当てるための方法および装置 |
EP13862937.3A EP2921954A4 (en) | 2012-12-11 | 2013-07-30 | METHOD AND APPARATUS FOR ASSIGNING VIRTUAL MACHINE |
US14/735,632 US20150277944A1 (en) | 2012-12-11 | 2015-06-10 | Method and Apparatus for Allocating a Virtual Machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105320717A CN103019861A (zh) | 2012-12-11 | 2012-12-11 | 虚拟机分配方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103019861A true CN103019861A (zh) | 2013-04-03 |
Family
ID=47968491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012105320717A Pending CN103019861A (zh) | 2012-12-11 | 2012-12-11 | 虚拟机分配方法及装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20150277944A1 (zh) |
EP (1) | EP2921954A4 (zh) |
JP (1) | JP2015537318A (zh) |
CN (1) | CN103019861A (zh) |
WO (1) | WO2014089976A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014089976A1 (zh) * | 2012-12-11 | 2014-06-19 | 华为技术有限公司 | 虚拟机分配方法及装置 |
CN104407912A (zh) * | 2014-12-25 | 2015-03-11 | 无锡清华信息科学与技术国家实验室物联网技术中心 | 一种虚拟机配置方法及装置 |
CN104484220A (zh) * | 2014-11-28 | 2015-04-01 | 杭州华为数字技术有限公司 | 虚拟化集群的动态资源调度的方法及装置 |
CN106201661A (zh) * | 2016-07-20 | 2016-12-07 | 北京百度网讯科技有限公司 | 用于弹性伸缩虚拟机集群的方法和装置 |
CN106227605A (zh) * | 2016-07-26 | 2016-12-14 | 北京北森云计算股份有限公司 | 一种多语言云编译的动态微服务扩容方法及装置 |
CN108182104A (zh) * | 2016-12-08 | 2018-06-19 | ***通信有限公司研究院 | 一种分配虚拟处理器的方法、设备及*** |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9401946B2 (en) | 2014-03-27 | 2016-07-26 | International Business Machines Corporation | Deploying a portion of a streaming application to one or more virtual machines according to hardware type |
JP6478219B2 (ja) * | 2015-02-13 | 2019-03-06 | Kddi株式会社 | 統合制御サーバ、仮想アプリケーション構築システムおよびプログラム |
US10491667B1 (en) * | 2015-03-16 | 2019-11-26 | Amazon Technologies, Inc. | Customized memory modules in multi-tenant service provider systems |
US10216547B2 (en) * | 2016-11-22 | 2019-02-26 | International Business Machines Corporation | Hyper-threaded processor allocation to nodes in multi-tenant distributed software systems |
CN110287017B (zh) * | 2019-07-01 | 2022-06-10 | 北京首都在线科技股份有限公司 | 一种任务调度方法及任务调度装置 |
US11593234B2 (en) | 2020-01-16 | 2023-02-28 | Vmware, Inc. | Cloud restart for VM failover and capacity management |
US11347521B2 (en) * | 2020-01-16 | 2022-05-31 | Vmware, Inc. | Cloud restart for non-critical performance virtual machines |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1645815A (zh) * | 2004-01-20 | 2005-07-27 | 国际商业机器公司 | 将多个资源分配给多个应用的方法和装置 |
CN1894667A (zh) * | 2003-12-18 | 2007-01-10 | 康泰克创新公司 | 分配服务器资源的***和方法 |
CN102236554A (zh) * | 2011-07-18 | 2011-11-09 | 国家电网公司 | 在线应用软件的构建平台、***和方法 |
CN102378962A (zh) * | 2009-03-31 | 2012-03-14 | 微软公司 | 基于优先级的***负载水平管理 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2437165A1 (en) * | 2010-09-13 | 2012-04-04 | British Telecommunications Public Limited Company | Distributing software applications to virtual machines using genetic algorithms with already optimized initial values |
US9075661B2 (en) * | 2010-10-20 | 2015-07-07 | Microsoft Technology Licensing, Llc | Placing objects on hosts using hard and soft constraints |
WO2012165937A1 (en) * | 2011-05-27 | 2012-12-06 | Mimos Berhad | System and method for optimizing physical resources of virtual machines |
WO2012106892A1 (zh) * | 2011-07-14 | 2012-08-16 | 华为技术有限公司 | 一种业务流处理的方法、装置及*** |
CN102609295A (zh) * | 2011-10-18 | 2012-07-25 | 华中科技大学 | 虚拟机作业动态调度*** |
CN102662745B (zh) * | 2012-04-18 | 2015-01-21 | 国家电网公司 | 一种虚拟机管理***与方法 |
CN103019861A (zh) * | 2012-12-11 | 2013-04-03 | 华为技术有限公司 | 虚拟机分配方法及装置 |
-
2012
- 2012-12-11 CN CN2012105320717A patent/CN103019861A/zh active Pending
-
2013
- 2013-07-30 JP JP2015546812A patent/JP2015537318A/ja not_active Withdrawn
- 2013-07-30 EP EP13862937.3A patent/EP2921954A4/en not_active Withdrawn
- 2013-07-30 WO PCT/CN2013/080373 patent/WO2014089976A1/zh active Application Filing
-
2015
- 2015-06-10 US US14/735,632 patent/US20150277944A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1894667A (zh) * | 2003-12-18 | 2007-01-10 | 康泰克创新公司 | 分配服务器资源的***和方法 |
CN1645815A (zh) * | 2004-01-20 | 2005-07-27 | 国际商业机器公司 | 将多个资源分配给多个应用的方法和装置 |
CN102378962A (zh) * | 2009-03-31 | 2012-03-14 | 微软公司 | 基于优先级的***负载水平管理 |
CN102236554A (zh) * | 2011-07-18 | 2011-11-09 | 国家电网公司 | 在线应用软件的构建平台、***和方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014089976A1 (zh) * | 2012-12-11 | 2014-06-19 | 华为技术有限公司 | 虚拟机分配方法及装置 |
CN104484220A (zh) * | 2014-11-28 | 2015-04-01 | 杭州华为数字技术有限公司 | 虚拟化集群的动态资源调度的方法及装置 |
CN104484220B (zh) * | 2014-11-28 | 2017-12-22 | 杭州华为数字技术有限公司 | 虚拟化集群的动态资源调度的方法及装置 |
CN104407912A (zh) * | 2014-12-25 | 2015-03-11 | 无锡清华信息科学与技术国家实验室物联网技术中心 | 一种虚拟机配置方法及装置 |
CN104407912B (zh) * | 2014-12-25 | 2018-08-17 | 无锡清华信息科学与技术国家实验室物联网技术中心 | 一种虚拟机配置方法及装置 |
CN106201661A (zh) * | 2016-07-20 | 2016-12-07 | 北京百度网讯科技有限公司 | 用于弹性伸缩虚拟机集群的方法和装置 |
CN106201661B (zh) * | 2016-07-20 | 2018-09-14 | 北京百度网讯科技有限公司 | 用于弹性伸缩虚拟机集群的方法和装置 |
CN106227605A (zh) * | 2016-07-26 | 2016-12-14 | 北京北森云计算股份有限公司 | 一种多语言云编译的动态微服务扩容方法及装置 |
CN106227605B (zh) * | 2016-07-26 | 2019-10-18 | 北京北森云计算股份有限公司 | 一种多语言云编译的动态微服务扩容方法及装置 |
CN108182104A (zh) * | 2016-12-08 | 2018-06-19 | ***通信有限公司研究院 | 一种分配虚拟处理器的方法、设备及*** |
CN108182104B (zh) * | 2016-12-08 | 2021-07-09 | ***通信有限公司研究院 | 一种分配虚拟处理器的方法、设备及*** |
Also Published As
Publication number | Publication date |
---|---|
JP2015537318A (ja) | 2015-12-24 |
EP2921954A1 (en) | 2015-09-23 |
WO2014089976A1 (zh) | 2014-06-19 |
US20150277944A1 (en) | 2015-10-01 |
EP2921954A4 (en) | 2015-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103019861A (zh) | 虚拟机分配方法及装置 | |
US8813073B2 (en) | Compiling apparatus and method of a multicore device | |
CN104111897A (zh) | 一种数据处理方法、装置及计算机*** | |
CN107968810B (zh) | 一种服务器集群的资源调度方法、装置和*** | |
CN102891896B (zh) | 用于物联网海量存储的云计算基础架构*** | |
US8868622B2 (en) | Method and apparatus for allocating resources in a computer system | |
CN105653204A (zh) | 一种基于磁盘的分布式图计算方法 | |
CN103729480A (zh) | 一种多核实时操作***多个就绪任务快速查找及调度方法 | |
CN107291539B (zh) | 基于资源重要程度的集群程序调度方法 | |
CN104461735A (zh) | 一种虚拟化场景下分配cpu资源的方法和装置 | |
TW202134870A (zh) | 任務調度方法和裝置 | |
CN104254839A (zh) | 用于分割单链表以供分配存储器元素的***和方法 | |
CN105988875B (zh) | 一种运行进程的方法及装置 | |
Ma et al. | Dependency-aware data locality for MapReduce | |
CN111083189B (zh) | 用于在运行时处理数据倾斜的***和方法 | |
CN104537003A (zh) | 一种Hbase数据库的通用高性能数据写入方法 | |
CN115421924A (zh) | 一种内存分配方法、装置及设备 | |
CN108932112B (zh) | 一种固态颗粒的数据读写方法、装置、设备及介质 | |
CN113391914A (zh) | 任务调度方法和装置 | |
CN104516929A (zh) | 用于文件***的方法和装置 | |
Rosen et al. | Fine-grained micro-tasks for mapreduce skew-handling | |
CN109788013B (zh) | 分布式***中作业资源分配方法、装置及设备 | |
US10996865B2 (en) | Application-specific memory scaling in multi-device systems | |
CN102521155B (zh) | 实现表项在物理存储器上动态分配的方法和装置 | |
CN104657216A (zh) | 一种资源池的资源分配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20170329 |
|
AD01 | Patent right deemed abandoned |