一种虚拟机资源的调度方法及装置与流程

文档序号:14923594发布日期:2018-07-13 08:10

本申请涉及通信领域,尤其涉及一种虚拟机资源的调度方法及装置。



背景技术:

云计算为一种新型的计算模式,数据中心可以向用户提供按需和弹性的云计算服务,随着对数据中心的可用性、灾难恢复能力的要求越来越高,各运营商相继建立了多数据中心,可以通过多个数据中心组成的大规模云平台为用户提供云计算服务。

在单数据中心的场景下,为了向用户提供云计算服务,统一管理平台可在数据中心中选择合适的物理机放置虚拟机,目前选择物理机的方法为根据数据中心中各物理机的剩余可用内存大小来选择物理机,然而在大规模云平台中,用户的需求不仅仅和内存大小相关,所以仅根据物理机的剩余可用内存大小来选择物理机不适用于多个数据中心组成的大规模云平台中,在大规模云平台场景下如何为虚拟机选择合适的物理机成为亟待解决的问题。



技术实现要素:

本申请提供一种虚拟机资源的调度方法及装置,可以在大规模云平台场景下为虚拟机选择合适的物理机。

为达到上述目的,本申请采用如下技术方案:

第一方面,本申请提供一种虚拟机资源的调度方法,包括:

确定用户选择的报价对应的数据中心级别,每级数据中心包括至少一个数据中心,每级数据中心的服务质量不同;

从用户选择的报价对应级别的数据中心中选择目标数据中心;

在所述目标数据中心中选择目标物理机,所述目标物理机为用于承载目标虚拟机的物理机,所述目标虚拟机为用于为所述用户提供云计算服务的虚拟机。

第二方面,本申请提供一种虚拟机资源的调度装置,其特征在于,包括:中心控制节点中的确定单元和第一选择单元,以及目标数据中心中的第二选择单元;

所述确定单元,用于确定用户选择的报价对应的数据中心级别,每级数据中心包括至少一个数据中心,每级数据中心的服务质量不同;

所述第一选择单元,用于从用户选择的报价对应级别的数据中心中选择目标数据中心;

所述第二选择单元,用于在所述目标数据中心中选择目标物理机,所述目标物理机为用于承载目标虚拟机的物理机,所述目标虚拟机为用于为所述用户提供云计算服务的虚拟机。

第三方面,本申请提供一种中心控制节点,该中心控制节点包括:处理器、收发器和存储器。其中,存储器用于存储计算机执行指令,当该中心控制节点运行时,处理器执行该存储器存储的该计算机执行指令,以使该中心控制节点执行第一方面中的方法。

第四方面,本申请提供一种目标数据中心,该目标数据中心包括:处理器、收发器和存储器。其中,存储器用于存储计算机执行指令,当该目标数据中心运行时,处理器执行该存储器存储的该计算机执行指令,以使该目标数据中心执行第二方面中的方法。

第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有一个或多个程序,一个或多个程序包括计算机执行指令,当中心控制节点的处理器执行该计算机执行指令时,该中心控制节点执行上述第一方面所述的方法。

第六方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有一个或多个程序,一个或多个程序包括计算机执行指令,当目标数据中心的处理器执行该计算机执行指令时,该目标数据中心执行上述第一方面所述的方法。

第七方面,本申请提供一种通信系统,该通信系统包括第三方面所述的中心控制节点、第四方面所述的目标数据中心以及中心控制节点管理的至少两级数据中心。

本申请的实施例提供的虚拟机资源的调度方法及装置,中心控制节点可以确定用户选择的报价对应的数据中心级别,然后从用户选择的报价对应级别的数据中心中选择目标数据中心,进而目标数据中心选择目标物理机,由于不同报价对应级别的数据中心的服务标准不同,通过用户选择的报价选择相应级别的数据中心来设置虚拟机,可以满足不同用户对服务质量的需求,实现了在大规模云平台场景下为虚拟机选择合适的物理机。

附图说明

图1为本申请实施例提供的一种大规模云平台的结构示意图;

图2为本申请实施例提供的一种虚拟机资源的调度方法的流程图;

图3为本申请实施例提供的一种数据中心的定价的示例性示意图;

图4为本申请实施例提供的一种虚拟机资源的调度装置的结构示意图;

图5为本申请实施例提供的一种中心控制节点的结构示意图;

图6为本申请实施例提供的一种目标数据中心的结构示意图。

具体实施方式

下面结合附图对本申请实施例提供的技术方案进行详细地描述。

本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

本申请的实施例应用于如图1所示的大规模云平台中,该大规模云平台中包括统一管理平台(也可称为中心控制节点)和至少两级数据中心,每级数据中心中包括至少一个数据中心,图1中示例性地示出了两级数据中心,分别为一级数据中心和二级数据中心,示例性地,一级数据中心中包括数据中心0,二级数据中心中包括数据中心1和数据中心2。

其中,中心控制节点中包括web界面,web后台和中心控制模块。管理者可通过web界面实现对租户和数据中心的管理,web后台用于处理从web界面接收到的指令,中心控制模块用于对各级数据中心进行管理。

数据中心中包括数据中心后台模块、opens tack(开源的云计算管理平台)中心代理(central agent)模块,至少一个机房,每个机房中包括监控代理模块(monitor server)、计算代理模块(compute agent),以及至少一个物理主机,每个物理主机中可设置至少一个虚拟机。其中,各数据中心的结构基本相同,图1中实例性地示出了其中一个数据中心的结构。

需要说明的是,图1中的各个设备和模块的数量均为示例性的,大规模云平台中的设备和模块数量不限于此。

结合图1所示的大规模云平台,本申请实施例提供一种虚拟机资源的调度方法,如图2所示,该方法包括:

步骤201、确定用户选择的报价对应的数据中心级别。

其中,每级数据中心包括至少一个数据中心,每级数据中心的服务质量不同。服务质量越好的数据中心的报价越高。

作为一个例子,大规模云平台中包括一级数据中心和二级数据中心,一级数据中心比二级数据中心的服务等级协议(SLA,Service Level Agreement)违背率指标要求更高。例如,一级数据中心通过高性能的软硬件保障更高的服务可用性(例如服务可用性为99%),保障更高的数据持久性(例如数据持久性为99%),且可提供更好的网络接入性能以及更细致的服务。二级数据中心的服务可用性可以为90%,数据持久性可以为90%,从而为服务质量要求较低,对价格更敏感的用户提供云计算服务。

需要说明的是,中心控制节点中可存储各级数据中心对应的报价,用户可通过中心控制节点中的web界面选择报价,进而中心控制节点接收到用户选择的报价后,可确定报价对应的数据中心级别。

步骤202、从用户选择的报价对应级别的数据中心中选择目标数据中心。

可选地,中心控制节点在确定用户选择的报价对应的数据中心级别后,可从该级别的数据中心中,根据各数据中心的资源剩余情况,在负载均衡的约束下,就近选择数据中心。其中,数据中心的资源剩余情况可以为数据中心的CPU使用率,内存占用率等。

步骤203、在目标数据中心中选择目标物理机。

其中,目标物理机为用于承载目标虚拟机的物理机,目标虚拟机为用于为用户提供云计算服务的虚拟机。

可选地,目标数据中心可根据目标数据中心中各物理机的服务等级协议违背率、电源能耗参数以及资源平衡参数选择目标物理机。

其中,服务等级协议违背率为其中,UCPU为物理机的CPU利用率。0.85为CPU利用率的阈值,当CPU利用率在0至0.85之间时,服务等级协议违背率fSLA随CPU利用率UCPU的增加而缓慢增加,当UCPU大于0.85时,fSLA的值快速增加。其中,CPU利用率的阈值不限制于0.85,其取值可根据实际情况设置。

电源能耗参数为其中Pidle为物理机处于运行状态时,CPU利用率为0%的情况下的电源能耗,Pbusy为物理机在CPU利用率为100%时的电源能耗。电源能耗为影响数据中心运行成本的重要因素。数据中心的电源能耗包括服务器、网络设备和存储设备的电源能耗,数据中心的电源能耗主要受服务器的CPU利用率影响。

可以理解的是,当物理机中不运行任何虚拟机时,CPU利用率为0%,相应的电源能耗也为0。若物理机中存在虚拟机,CPU利用率大于0%。

资源平衡参数为:

其中,

Umem为物理机的内存利用率,Ubw为物理机的带宽利用率。

需要说明的是,在确定目标物理机时考虑资源平衡参数,可以避免CPU利用率、内存利用率和带宽利用率之间出现木桶效应。

目标数据中心可以分别确定自身包括的每个物理机的服务等级协议违背率、电源能耗参数以及资源平衡参数,进而根据多目标蚁群算法确定目标物理机。

目标物理机为目标数据中心中使得min(f)的值最小的物理机,其中,min(f)=KSLAfSLA+Kpowerfpower+Kunblancefunblance。

其中,KSLA、Kpower和Kunbalnce分别为服务等级协议违背率、电源能耗参数以及资源平衡参数的加权参数,其取值根据服务等级协议违背率、电源能耗参数以及资源平衡参数的重要性确定。KSLA、Kpower和Kunbalnce的取值可根据数据中心服务能力的偏好来确定,比如目标数据中心认为SLA、power、unbalance的重要性依次降低,那么其KSLA、Kpower和Kunbalnce的取值可以分别为0.5、0.3和0.2。

需要说明的是,若用户申请的多个虚拟机需要被设置在不同的数据中心,可以通过多次申请实现,本申请默认用户一次申请的虚拟机设置在同一数据中心中。

本申请的实施例提供的虚拟机资源的调度方法,中心控制节点可以确定用户选择的报价对应的数据中心级别,然后从用户选择的报价对应级别的数据中心中选择目标数据中心,进而目标数据中心选择目标物理机,由于不同报价对应级别的数据中心的服务标准不同,通过用户选择的报价选择相应级别的数据中心来设置虚拟机,可以满足不同用户对服务质量的需求,实现了在大规模云平台场景下为虚拟机选择合适的物理机。

在执行图2所示的方法流程之前,可以分别确定各级数据中心的报价,具体的方法为:先确定各级数据中心的单位定价,然后根据各级数据中心的单位定价确定各级数据中心的报价。

第x级数据中心的单位定价为使得取最大值时的ρx值,Kx为第x级数据中心的数量,Q(ρx,ni)为对数据中心i的服务需求量,ni为数据中心i中服务器的数量,ui为各级数据中心的服务能力,ei为数据中心i的单位服务能力的成本消耗价格。如图3所示,用户对云服务的服务质量需求受价格影响,面积A+B为在根据云服务提供商的定价为用户提供云服务的总收入,面积B为总成本,面积A为总利润,定价越高,总利润越高,使总利润(面积A)最大化的定价为云服务提供商的定价。

根据上述公式可计算出各级数据中心的单位定价ρx,然后可分别确定各级数据中心的报价Px。其中,Px为第x级数据中心的报价,m为用户申请的虚拟机数量,CPUi为申请的虚拟机i的CPU需求量。

上述主要从中心控制节点和目标数据中心的角度对本申请实施例提供的方案进行了介绍。可以理解的是,中心控制节点和目标数据中心为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例可以根据上述方法示例对中心控制节点和数据中心进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本申请实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

如图4所示,本申请的实施例提供一种虚拟机资源的调度装置,该装置包括中心控制节点中的确定单元401和第一选择单元402,目标数据中心中的第二选择单元403。

其中,确定单元401,用于确定用户选择的报价对应的数据中心级别,每级数据中心包括至少一个数据中心,每级数据中心的服务质量不同;

第一选择单元402,用于从用户选择的报价对应级别的数据中心中选择目标数据中心;

第二选择单元403,用于在目标数据中心中选择目标物理机,目标物理机为用于承载目标虚拟机的物理机,目标虚拟机为用于为用户提供云计算服务的虚拟机。

在本申请的实施例的一种可能的实现方式中,确定单元401,还用于分别确定各级数据中心的报价。

可选地,确定单元401,还用于确定各级数据中心的单位定价,其中,第x级数据中心的单位定价为使得取最大值时的ρx值,Kx为第x级数据中心的数量,Q(ρx,ni)为对数据中心i的服务需求量,ni为数据中心i中服务器的数量,ui为各级数据中心的服务能力,ei为数据中心i的单位服务能力的成本消耗价格;分别根据各级数据中心的单位定价确定各级数据中心的报价,其中,Px为第x级数据中心的报价,m为用户申请的虚拟机数量,CPUi为申请的虚拟机i的CPU需求量。

在本申请的实施例的一种可能的实现方式中,第二选择单元403,还用于根据目标数据中心中各物理机的服务等级协议违背率、电源能耗参数以及资源平衡参数选择目标物理机。

其中,服务等级协议违背率为其中,UCPU为物理机的CPU利用率;

电源能耗参数为其中Pidle为物理机处于运行状态时,CPU利用率为0%的情况下的电源能耗,Pbusy为物理机在CPU利用率为100%时的电源能耗;

资源平衡参数为:

其中,

Umem为物理机的内存利用率,Ubw为物理机的带宽利用率;

目标物理机为目标数据中心中使得min(f)的值最小的物理机,其中,min(f)=KSLAfSLA+Kpowerfpower+Kunblancefunblance。

本申请的实施例还提供一种中心控制节点,如图5所示,该中心控制节点包括存储器501,处理器502,收发器503和总线504。

其中,处理器502可以实现上述确定单元401和第一选择单元402的功能,处理器502可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器502可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器502也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。

存储器501,存储器可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。

总线504可以是扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。总线504可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

本申请的实施例还提供一种目标数据中心,如图6所示,该目标数据中心包括存储器501,处理器502,收发器503和总线504。

其中,处理器602可以实现上述第二选择单元403的功能,处理器602可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器602可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器602也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。

存储器601,存储器可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。

总线604可以是扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。总线604可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有一个或多个程序,一个或多个程序包括指令,当上述中心控制节点的处理器执行该指令时,该中心控制节点执行上述方法实施例所示的方法流程中中心控制节点执行的各个步骤。

本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有一个或多个程序,一个或多个程序包括指令,当上述目标数据中心的处理器执行该指令时,该目标数据中心执行上述方法实施例所示的方法流程中目标数据中心执行的各个步骤。

其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

结合本申请公开内容所描述的方法或者算法的步骤可以由硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM、闪存、ROM、可擦除可编程只读存储器(easable programmable ROM,EPROM)、电可擦可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1