WO2016090946A1 - 一种虚拟数据中心资源映射方法和设备 - Google Patents

一种虚拟数据中心资源映射方法和设备 Download PDF

Info

Publication number
WO2016090946A1
WO2016090946A1 PCT/CN2015/087386 CN2015087386W WO2016090946A1 WO 2016090946 A1 WO2016090946 A1 WO 2016090946A1 CN 2015087386 W CN2015087386 W CN 2015087386W WO 2016090946 A1 WO2016090946 A1 WO 2016090946A1
Authority
WO
WIPO (PCT)
Prior art keywords
partition
virtual machine
virtual
virtual machines
mapping
Prior art date
Application number
PCT/CN2015/087386
Other languages
English (en)
French (fr)
Inventor
王蛟
左成
虞红芳
Original Assignee
华为技术有限公司
电子科技大学
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 华为技术有限公司, 电子科技大学 filed Critical 华为技术有限公司
Priority to EP15866989.5A priority Critical patent/EP3223491B1/en
Publication of WO2016090946A1 publication Critical patent/WO2016090946A1/zh
Priority to US15/619,178 priority patent/US10331491B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

本发明实施例提供了一种虚拟数据中心映射方法和设备,可以使服务器管理系统对资源进行合理分配,达到可靠性、资源利用率和系统能耗开销的最佳平衡点。该方法包括:S202,接收VDC资源请求,所述VDC资源请求中携带虚拟机分布标识,用于指示单个物理服务器最多承载的请求中需要进行资源映射的虚拟机的个数K;S204,从VDC资源请求中未被映射的虚拟机集合Q中选取M个虚拟机组成分区P;M的初始值为大于1小于等于K的自然数;S206,选取满足分区P所需物理资源的目标物理服务器,将分区P映射到目标物理服务器上;S208,在集合Q中减去已进行资源映射的M个虚拟机,重复执行步骤204、206、208,直至集合Q中不存在尚未进行资源映射的虚拟机。

Description

一种虚拟数据中心资源映射方法和设备 技术领域
本发明实施例涉及云计算领域,尤其涉及一种虚拟数据中心VDC资源映射方法和设备。
背景技术
在云计算时代,随着社会对计算需求的不断扩大,数据中心的规模也在迅速变大。但是,在庞大的数据中心背后,其资源的平均利用率却相对较低,大部分设备空闲,给数据中心增加巨大的能耗负担。如何降低数据中心的能耗,是当前数据中心面临一个非常严峻的挑战。目前,数据中心中使用虚拟化技术,可以有效降低数据中心能耗,提高数据中心资源利用率。虚拟数据中心是一种在云计算服务的基础之上形成的一种提供快速部署、实时响应、即时租用、按需分配和动态资源扩展的弹性自助式服务的业务类型。在这种新趋势下,每个租户的资源请求可抽象为一组虚拟机(Virtual Machine,简称VM)构成的虚拟数据中心(Virtual Data Center,简称VDC),每个VM对应一定的资源(包括CPU、内存以及硬盘等);同时为了传递数据和中间文件,VM之间也需要建立具有带宽保障的通信链路,以满足VM之间通信的需求。由于VM放置与VM间通信带宽的路由的紧耦合,使得把VDC映射到底层物理网络的这个过程变得非常复杂。VDC映射问题是指在把VDC映射到物理网络时,如何充分利用物理网络资源的问题。
在VDC映射过程中,需要考虑的主要因素包括可靠性、带宽消耗以及物理设施的能耗。当前VDC映射可以分为如下两种情况:第一种情况,将VDC中所有的VM均匀分配到各个物理服务器上,从而达到VM之间的影响最低,并实现底层物理设施的负载均衡;第二种情况,在某个物理服务器上最大可能的部署该VDC中的多个VM,使VM之间的链路消耗最小化。在进行VDC映射时,从能耗和带宽消耗的角度来看,VDC中所有的VM要尽可能整合,占用尽可能少的物理服务器,这样节省了服务器间的带宽消耗,且其他不用的物理服务器就可以关闭从而到达节能的目标。但VM整合在一起将会导致VDC的可靠性较低,一个物理服务器的失效导致VDC很大程度的失效,从可靠性角度看,VDC中VM要分散放置。显然,节能和可靠性是两个相互矛盾的指标。现有的映射算法均不能很好解决VDC映射问题。
发明内容
有鉴于此,本发明实施例提供了一种虚拟数据中心VDC资源映射方法和设备,以实现最小化基础架构的能耗开销以及满足可靠性的情况下,对资源进行合理分配的功能,提供一种可靠性、资源利用率和系统能耗开销的最佳平衡点。
第一方面,本发明实施例提供了一种虚拟数据中心VDC资源映射的方法,包括:
步骤202,接收VDC资源请求,所述VDC资源请求中携带请求的虚拟机数量以及虚拟机分布标识,所述请求的虚拟机数量用于指示请求进行资源映射的虚拟机的总数A,所述虚拟机分布标识用于指示单个物理服务器最多承载的所述VDC资源请求中需要进行资源映射的虚拟机的个数K;
其中,所述VDC资源请求包括虚拟机请求,虚拟机与物理机的混合请求;
步骤204,从所述VDC资源请求中未被映射的虚拟机集合Q中选取M个虚拟机组成分区P;
其中,所述未被映射的虚拟机集合Q为所述请求进行资源映射的A个虚拟机中尚未进行资源映射的虚拟机的集合,所述M的初始值为大于1小于等于K的自然数;
步骤206,选取满足所述分区P所需物理资源的目标物理服务器,将所述分区P映射到所述目标物理服务器上;
其中,所述物理资源包括以下至少一种:服务器可承载的虚拟机剩余容量,CPU、磁盘、内存、网络、操作系统、物理链路等;
步骤208,在所述未被映射的虚拟机集合Q中减去已进行资源映射的所述M个虚拟机,重复执行步骤204、206、208,直至所述未被映射的虚拟机集合Q中不存在尚未进行资源映射的虚拟机。
结合第一方面,在第一种可能的实现方式中,所述从所述VDC资源请求中未被映射的虚拟机集合Q中选取M个虚拟机组成分区P包括:在所述未被映射的虚拟机集合Q中,选取使所述分区P的带宽需求最小的M个虚拟机组成分区P,所述带宽需求是指所述分区P内部各虚拟机连接到所述分区P外部的所有虚拟链路的带宽之和。
结合第一方面或第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述选取满足所述分区P所需物理资源的目标物理服务器,将所述分区P映射到所述目标物理服务器上包括:
步骤i:从物理服务器集合CS中,选取物理链路资源剩余容量最小的物理服务器作为目标物理服务器,将所述分区P映射到所述目标服务器上,如果映射失败,执行步骤ii,所述集合CS为处于开启状态、物理链路资源剩余容量满足所述分区P的带宽需求, 且未被所述VDC资源请求中请求的虚拟机进行过资源映射的物理服务器的集合;
可选的,还可以选取CPU性能、内存、磁盘、网络或可映射虚拟机数目剩余容量最小的物理服务器作为所述第一目标物理服务器;
步骤ii:若所述集合CS内物理服务器数目大于1,则从集合CS中去除选取的所述目标物理服务器,返回步骤i;若集合CS内物理服务器数目为1,将M递减1,返回步骤204。
结合第一方面或以上第一方面任一种可能的实现方式,在第三种可能的实现方式中,所述将所述分区P映射到所述目标物理服务器上包括:
映射所述分区P中的各个虚拟机的计算资源、存储资源到所述目标物理服务器;
映射所述分区P内各个虚拟机之间,以及所述分区P内各个虚拟机与所述VDC资源请求中需要进行资源映射的虚拟机中已被映射的其他虚拟机之间的虚拟链路。
结合第一方面或以上第一方面任一种可能的实现方式,在第四种可能的实现方式中,所述虚拟机分布标识包括用户服务级别,所述服务级别用于指示单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K。
结合第一方面或以上第一方面任一种可能的实现方式,在第五种可能的实现方式中,所述虚拟机分布标识包括VM分布指标需求,所述单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K为所述请求的虚拟机数量与所述VM分布指标需求的乘积的整数部分。
第二方面,本发明实施例提供了一种虚拟数据中心VDC资源映射的计算设备,用于执行第一方面或第一方面任一种可能的实现方式的方法,包括:处理器、存储器、总线和通信接口;
所述存储器用于存储计算设备执行指令,所述处理器与所述存储器通过所述总线连接,当所述计算设备运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述计算设备执行第一方面或第一方面任一种可能的实现方式的方法。
第三方面,本发明实施例提供了一种虚拟数据中心VDC资源映射的设备,包括:
接收单元602,用于接收VDC资源请求,所述VDC资源请求中携带请求的虚拟机数量以及虚拟机分布标识,所述请求的虚拟机数量用于指示请求进行资源映射的虚拟机的总数A,所述虚拟机分布标识用于指示单个物理服务器最多承载的所述VDC资源请求中需要进行资源映射的虚拟机的个数K;
其中,所述VDC资源请求包括虚拟机请求,虚拟机与物理机的混合请求;
选取单元604,用于执行以下操作:
操作612:从所述VDC资源请求中未被映射的虚拟机集合Q中选取M个虚拟机组成分区P,其中,所述未被映射的虚拟机集合Q为所述请求进行资源映射的A个虚拟机中尚未进行资源映射的虚拟机的集合,所述M的初始值为大于1小于等于K的自然数;
操作614:选取满足所述分区P所需物理资源的目标物理服务器:
其中,所述物理资源包括以下至少一种:服务器可承载的虚拟机剩余容量,CPU、磁盘、内存、网络、操作系统、物理链路等;
映射单元606,用于将所述分区P映射到所述目标物理服务器上;
验证单元608,用于在所述未被映射的虚拟机集合Q中减去已被映射单元606进行资源映射的所述M个虚拟机,并在确定所述未被映射的虚拟机集合Q中存在尚未进行资源映射的虚拟机时,通知所述选取单元604执行操作612。
结合第三方面,在第一种可能的实现方式中,所述选取单元604用于执行操作612,包括:
所述选取单元604用于:在所述未被映射的虚拟机集合Q中,选取使所述分区P的带宽需求最小的M个虚拟机组成分区P,所述带宽需求是指所述分区P内部各虚拟机连接到所述分区P外部的所有虚拟链路的带宽之和。
结合第三方面或第三方面第一种可能的实现方式,在第二种可能的实现方式中,所述选取单元604用于执行操作614,包括:所述选取单元604用于执行以下操作:
操作i:从物理服务器集合CS中,选取物理链路资源剩余容量最小的物理服务器作为目标物理服务器,将所述分区P映射到所述目标服务器上,如果映射失败,执行操作ii,所述集合CS为处于开启状态、物理链路资源剩余容量满足所述分区P的带宽需求,且未被所述VDC资源请求中请求的虚拟机进行过资源映射的物理服务器的集合;
可选的,处理单元还可以选取CPU性能、内存、磁盘、网络或可映射虚拟机数目剩余容量最小的物理服务器作为所述第一目标物理服务器;
操作ii:若所述集合CS内物理服务器数目大于1,则从集合CS中去除选取的所述目标物理服务器,返回执行操作i;若集合CS内物理服务器数目为1,将M递减1,返回执行操作612。
结合第三方面或以上第三方面任一种可能的实现方式,在第三种可能的实现方式中,所述映射单元606具体用于:
映射所述分区P中的各个虚拟机的计算资源、存储资源到所述目标物理服务器,映射所述分区P内各个虚拟机之间,以及所述分区P内各个虚拟机与所述VDC资源请求中需要进行资源映射的虚拟机中已被映射的其他虚拟机之间的虚拟链路。
结合第三方面或以上第三方面任一种可能的实现方式,在第四种可能的实现方式中,所述虚拟机分布标识包括用户服务级别,所述服务级别用于指示单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K。
结合第三方面或以上第三方面任一种可能的实现方式,在第五种可能的实现方式中所述虚拟机分布标识包括VM分布指标需求,所述单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K为所述请求的虚拟机数量与所述VM分布指标需求的乘积的整数部分。根据本发明提供的技术方案,可以实现最小化基础架构的能耗开销以及满足可靠性的情况下,对资源进行合理分配的功能,提供一种可靠性、资源利用率和系统能耗开销的最佳平衡点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个虚拟数据中心资源映射方法应用场景的系统逻辑结构示意图;
图2为依据本发明一实施例的虚拟数据中心资源映射方法的示范性流程图;
图3为依据本发明一实施例的虚拟数据中心资源映射方法的示范性流程图;
图4为依据本发明一实施例的虚拟数据中心逻辑结构示意图;
图5为依据本发明一实施例的虚拟数据中心的映射虚拟机分区P选取流程示意图;
图6为依据本发明一实施例的虚拟数据中心资源映射设备的逻辑结构示意图;
图7为依据本发明一实施例的虚拟数据中心资源映射系统结构示意图;
图8为依据本发明一实施例的虚拟数据中心资源映射系统硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一个虚拟数据中心资源映射方法应用场景的系统逻辑结构示意图。如图1所示,所述系统包括服务平台,云管理系统和服务器群。
用户通过服务平台,例如基于网页的Web-based服务平台,向云管理系统提交虚拟数据中心VDC资源请求,所述VDC资源请求中可以包含该虚拟数据中心VDC所需的虚拟机VM的信息,例如,类型、数量。
虚拟数据中心VDC是一种资源集合的抽象,它是一个包括计算资源、存储资源和链路资源的集合,并能够提供与传统资源误差别的功能。虚拟数据中心可以提供一种新型的业务模式,与传统的虚拟化架构不同,虚拟数据中心的系统架构是在现有的云计算平台之上通过管理层将虚拟化的资源进行整合与统一化的管理,让服务器虚拟化、存储虚拟化与网络虚拟化协同应用,然后由服务平台来提供完整、灵活、一体化的服务。
物理服务器是指真实的、可以支持虚拟化功能的物理服务器。物理服务器可被用于计算资源或存储资源。物理服务器在添加到云计算环境后,能够被云计算运营管理平台发现,并将其分配给虚拟计算资源池管理,成为可被管理和调度的虚拟计算资源。
云管理系统可以实时的监测每个物理服务器节点的运行情况,获取每个物理服务器节点的系统信息,其中,该系统信息中可以包括物理服务器节点中器件的使用状态信息,如,CPU使用情况、磁盘使用情况、内存使用情况等,也可以包括物理服务器节点的物理链路资源剩余容量,服务器映射的虚拟机数目及其他负载状态。具体地,云管理系统可以通过直接查询或解析物理服务器节点的操作系统中的系统文件来获取物理服务器节点的系统信息。例如,物理节点操作系统为Linux系统时,Linux系统下proc文件系统中的特定文件可以记录物理服务器节点的系统信息。云管理系统可以直接查询该proc文件系统中的特定文件,获取物理服务器节点的系统信息。在proc文件系统中可以获取每个物理节点上的进程信息、CPU使用情况、磁盘的输入输出I/O情况、内存使用情况等,进一步地,从proc文件系统中可以获取部署在物理节点上的虚拟机的负载情况,也可以从proc文件系统读取内核的执行情况,也可以从proc/stat文件中获取CPU空闲时间、CPU系统时间、CPU用户时间等信息。Linux系统下的proc文件系统中这些记录物理节点的系统信息的特定文件夹可以存储在磁盘中,也可以存储在内存中的虚拟文件系统中。云管理系统在Linux操作系统下获取物理服务器节点的系统信息的方法仅是作为示例来进行说明,本发明不仅限于此。
图2为依据本发明一实施例的虚拟数据中心资源映射方法200的示范性流程图,应用将虚拟数据中心VDC内部的虚拟机映射到物理服务器上。在具体实现过程中,虚拟数据中心资源映射方法200可以由例如但不限于云管理系统执行。
S202,接收VDC资源请求,所述VDC资源请求中携带请求的虚拟机数量以及虚拟机分布标识,所述请求的虚拟机数量用于指示请求进行资源映射的虚拟机的总数A,所述虚 拟机分布标识用于指示单个物理服务器最多承载的所述VDC资源请求中需要进行资源映射的虚拟机的个数K。
可选的,所述VDC资源请求包括虚拟机请求,虚拟机与物理机的混合请求;
S204,从所述VDC资源请求中未被映射的虚拟机集合Q中选取M个虚拟机组成分区P;
其中,所述未被映射的虚拟机集合Q为所述请求进行资源映射的A个虚拟机中尚未进行资源映射的虚拟机的集合,所述M的初始值为大于1小于等于K的自然数。
S206,选取满足所述分区P所需物理资源的目标物理服务器,将所述分区P映射到所述目标物理服务器上。
可选的,所述物理资源包括以下至少一种:服务器可承载的虚拟机剩余容量,CPU、磁盘、内存、网络、操作系统、物理链路等。
S208,在所述未被映射的虚拟机集合Q中减去已进行资源映射的所述M个虚拟机,重复执行步骤S204、S206、S208,直至所述未被映射的虚拟机集合Q中不存在尚未进行资源映射的虚拟机。
可选的,所述的VDC资源请求还包含该虚拟数据中心VDC所需的虚拟机VM类型。
可选的,所述虚拟机分布标识可以直接是单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K,也可以间接指示单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K。该虚拟机分布标识可以用VM分布指标需求R来表示,该VM分布指标需求R与传统意义上的可靠性相类似,可以由用户在VDC资源请求提交时指定。其中VM分布指标需求的参数模型为:
Figure PCTCN2015087386-appb-000001
            (式1)
其中,R(i)表示第i个VDC的VM分布指标需求,Si表示第i个VDC中VM的总数目。μi,j是一个二元变量,值为1时表示第i个VDC在服务器j上部署了VM,值为0时表示第i个VDC在服务器j上没有部署VM。Si,j表示第i个VDC在服务器j上部署的VM数目。
由(式1)可以得到单个物理服务器最多承载的第i个VDC资源请求中VM的数目为:
Figure PCTCN2015087386-appb-000002
         (式2)
其中符号
Figure PCTCN2015087386-appb-000003
表示向下取整。
可选的,该虚拟机分布标识还可以由用户服务级别表示,用户服务级别由用户在签署服务级别协议(Service Level Agreemen,简称SLA)时确定,也可以在用户提交VDC资源请求时由用户选定,用户服务级别可以直接决定单个服务器最多承载的VDC资源请 求中VM的数目,也可以与VM分布指标需求R对应,其对映关系由数据中心运营商预先定义。即,所述虚拟机分布标识可以为例如但不限于:VM分布指标需求R、用户服务级别或指示用户服务级别的信息,例如用户标识等。其中用户服务级别可以直接决定单个服务器最多承载的VDC资源请求中VM的数目,也可以与VM分布指标需求R对应,其对映关系由数据中心运营商预先定义。
可选的,所述从所述VDC资源请求中未被映射的虚拟机集合Q中选取M个虚拟机组成分区P包括:在所述未被映射的虚拟机集合Q中,选取使所述分区P的带宽需求最小的M个虚拟机组成分区P,所述带宽需求是指所述分区P内部各虚拟机连接到所述分区P外部的所有虚拟链路的带宽之和。
可选的,所述选取满足所述分区P所需物理资源的目标物理服务器,将所述分区P映射到所述目标物理服务器上包括:
步骤i:从物理服务器集合CS中,选取物理链路资源剩余容量最小的物理服务器作为目标物理服务器,将所述分区P映射到所述目标服务器上,如果映射失败,执行步骤ii,所述集合CS为处于开启状态、物理链路资源剩余容量满足所述分区P的带宽需求,且未被所述VDC资源请求中请求的虚拟机进行过资源映射的物理服务器的集合;物理链路资源剩余容量是指物理服务器中尚未被分配出去的物理链路可提供的带宽容量。
可选的,还可以选取CPU性能、内存、磁盘、网络或可映射虚拟机数目剩余容量最小的物理服务器作为所述第一目标物理服务器;
步骤ii:若所述集合CS内物理服务器数目大于1,则从集合CS中去除选取的所述目标物理服务器,返回步骤i;若集合CS内物理服务器数目为1,将M递减1,返回步骤S204。
可选的,所述将所述分区P映射到所述目标物理服务器上包括:
映射所述分区P中的各个虚拟机的计算资源、存储资源到所述目标物理服务器;
映射所述分区P内各个虚拟机之间,以及所述分区P内各个虚拟机与所述VDC资源请求中需要进行资源映射的虚拟机中已被映射的其他虚拟机之间的虚拟链路。
可选的,所述虚拟机分布标识包括用户服务级别,所述服务级别用于指示单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K。
可选的,所述虚拟机分布标识包括VM分布指标需求,所述单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K为所述请求的虚拟机数量与所述VM分布指标需求的乘积的整数部分。
图3为依据本发明一实施例的虚拟数据中心资源映射方法300的示范性流程图。如 图3所示,该方法具体为:
S302:接收VDC资源请求,所述VDC资源请求中携带请求的虚拟机数量以及虚拟机分布标识,所述请求的虚拟机数量用于指示请求进行资源映射的虚拟机的总数A,所述虚拟机分布标识用于指示单个物理服务器最多承载的所述VDC资源请求中需要进行资源映射的虚拟机的个数K。
可选的,所述VDC资源请求包括虚拟机请求,虚拟机与物理机的混合请求。
可选的,所述的VDC资源请求还包含该虚拟数据中心VDC所需的虚拟机VM类型。所述虚拟机分布标识可以直接是单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K,也可以间接指示单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K。所述虚拟机分布标识可以为例如但不限于:VM分布指标需求R、用户服务级别或指示用户服务级别的信息,例如用户标识等。其中用户服务级别可以直接决定单个服务器最多承载的VDC资源请求中VM的数目,也可以与VM分布指标需求R对应,其对映关系由数据中心运营商预先定义。
作为一个可选的具体实施例,用户在Web-based界面提交了一个VDC资源请求,该VDC资源请求的逻辑结构示意图如图3所示,其中每一个节点表示一个虚拟机,节点之间的连线表示虚拟机之间的虚拟链路,连线上的数值为用于表征虚拟链路需要消耗的带宽,数值越大表示虚拟链路需要的带宽消耗越大。如图3所示,该VDC资源请求中虚拟机总数为S=9个。
可选的,用户在提交VDC资源请求的时候,选定的用户服务级别为普通Normal,云管理系统后台指定的Normal用户服务级别的VM分布指标需求R为67%,因为虚拟机总数S=9个,由此可知单个物理服务器最多承载的虚拟机个数K=(1-R)S=3个。
S304:从所述VDC资源请求中未被映射的虚拟机集合Q中选取M个虚拟机组成分区P;其中,所述未被映射的虚拟机集合Q为所述请求进行资源映射的A个虚拟机中尚未进行资源映射的虚拟机的集合,所述M的初始值为大于1小于等于K的自然数;
其中,所述M的初始值为大于1小于等于K的自然数。
可选的,M的初始值可以定为K,也可以定为小于K的数值,其中,M的数值会随着后续步骤而发生变化。在本实施例中,作为一个优选的方案,将M的初始值定为K。
若方法执行过程中,M的数值大于了集合Q中虚拟机的数目,则将M重新赋值为集合Q中虚拟机的数目。
可选的,分区P的好坏程度可以用符号OB表示,其中,分区好坏程度OB可以用式3表示为:
Figure PCTCN2015087386-appb-000004
         (式3)
其中,P表示分区P,N表示已经映射成功的虚拟机集合,Q为去除分区P和集合N后,剩余的没有被映射的虚拟机集合。BW(u,v)表示虚拟机u与邻接虚拟机v之间的虚拟链路的带宽需求。OB的物理意义表示P中的所有VM连接到N和Q中VM的所有虚拟链路的带宽需求之和。OB越小,表示分区P内的VM出分区的带宽需求越小,这些VM合并部署能尽量减少服务器之间的带宽需求,降低交换机能耗,所以分区P更好;同理,OB越大,表示该分区更差。
可选的,寻找分区P的方法可以采用遍历尚未被映射的虚拟机集合Q中的虚拟机VMu,同时运用贪婪图生长法(Greedy Graph Growing Partitioning,简称GGGP)计算从VMu出发的的备选分区Pu,然后从计算的所有备选分区Pu里面,寻找OB最小的分区作为最终分区P,其具体实施过程如图5所示,其中,分区N表示已经映射成功的虚拟机集合,分区Pu表示利用GGGP算法计算得到的分区。
如图5所示,S502,S504,S506三个步骤描述了计算一个备选分区Pu的过程,由图5可知,尚未被映射的虚拟机集合Q={3,5,6,7,8,9}。如S502所示,
S502:本次算法从节点9开始,此时备选分区Pu={9}。
S504:与节点9相邻的备选节点包括6,7,8,其中节点7的增益最大,将节点7加入备选分区Pu,此时备选分区Pu={7,9},节点的增益是表示当节点从其所在分区移动到另一个分区时,出分区的带宽需求的减少量。
S506:此时新增与节点7相邻的节点包括3和4,其中节点4是已经被映射的节点,因此只考虑节点3,从与分区Pu相邻的可选节点3,6,8中,选择增益最大的节点,此处,选择节点6,将节点6加入备选分区Pu,此时备选分区Pu={6,7,9},由于分区节点数目已经达到单个物理服务器最多承载的虚拟机数目K,所以本轮分区算法结束。
S508:遍历集合Q中的虚拟机,采用GGGP算法,按照步骤S502,S504,S506描述的步骤计算出所有的备选分区Pu,从所有的备选分区Pu中选择OB值最小的分区作为最终分区P,此处,P={5,6,8}。
利用GGGP算法寻找分区P仅仅是作为示例来进行说明,本发明不仅限于此。
S306:从物理服务器集合CS中,选取物理链路剩余容量最小的物理服务器S作为目标物理服务器,所述集合CS为处于开启状态、物理链路资源满足所述分区P的带宽需求,且未被所述VDC资源请求中请求的虚拟机进行过资源映射的物理服务器的集合。
在本发明的实施例中,在每一个服务器上最多只能映射一个分区,无论这个分区的 大小如何。如果一个服务器上已经部署了一个分区,则称该服务器在当前VDC的映射过程中已被使用,在之后的映射过程中不会再考虑该服务器。
可选的,首先得到当前VDC映射过程中开启未使用的服务器集合US,利用分区的OB,对服务器i∈US进行检查,检查从服务器i到其连接的数据中心TOR交换机之间的剩余物理链路资源pl是否能满足OB的需求,如果能,则把i加入到候选服务器集合CS中,然后对得到的CS内部的服务器按照物理链路的剩余带宽容量进行排列,选择物理链路的剩余容量最小的服务器S作为分区P的映射服务器。采用物理链路的剩余容量进行集合CS的确定和集合CS内部服务器排序的方法仅是作为示例来进行说明,本发明不仅限于此。
可选的,除了服务器剩余的物理链路,还可以采用服务器的其他剩余物理资源来确定服务器集合CS,物理资源包括以下至少一种:服务器可承载的虚拟机剩余容量,CPU、磁盘、内存、网络、操作系统、物理链路等。同理,上述对CS排序的过程也可以采用不同的方式,例如但不限于:当前虚拟机承载的虚拟机个数,CPU使用情况、磁盘使用情况、内存使用情况、网络使用情况等。
需要指出的一点是,因为服务器集合CS的确定仅仅是从部分的服务器剩余物理资源满足映射的角度进行确定的,所以服务器集合CS仅仅是一个初步的筛选结果,并不代表服务器集合CS内的服务器都能被分区P映射成功,如果在后续的映射过程中,CS内部的服务器映射分区P失败,则表示该服务器不满足映射条件,应将其从集合CS中去除。
S308:将分区P映射到目标服务器S上,如果映射成功,则执行步骤S310,否则执行步骤S312。
可选的,将分区P映射到目标物理服务器S上包括:映射分区P中的各个虚拟机的计算资源、存储资源到目标物理服务器S。
可选的,将分区P成功映射到服务器S上之后,进一步映射所述分区P内各个虚拟机之间,以及所述分区P内各个虚拟机与所述VDC资源请求中需要进行资源映射的虚拟机中已被映射的其他虚拟机之间的虚拟链路,并预留所述分区P内各个虚拟机与尚未被映射的虚拟机集合Q中虚拟机之间虚拟链路需要的物理资源。
S310:在未被映射的虚拟机集合Q中减去已进行资源映射的M个虚拟机,判断尚未被映射的虚拟机集合Q是否为空,如果Q为空,则表示VDC请求的所有虚拟机映射成功,映射结束,如果Q不为空,则返回步骤304。
S312:判断服务器集合CS内部的虚拟机数目是否大于1,如果大于1,则执行步骤S314,否则执行步骤S318。
S314:将服务器S从服务器集合CS中去除,返回步骤S306。
因为分区P映射服务器S失败,说明服务器S不满足分区P的映射条件,而服务器集合CS表示的是满足映射条件的虚拟机集合,所以应将服务器S从集合CS中去除,原集合CS中物理链路的剩余容量次小的服务器成为新的CS集合中物理链路的剩余容量最小的服务器S(本实施例采用物理链路的剩余容量进行集合CS的确定和集合CS内部服务器的排序)。
S316:将M递减1,返回步骤304。
因为服务器集合CS内部的虚拟机数目不大于1,说明映射分区P失败的服务器S是集合CS内部唯一的服务器,而当前分区P是尚未被映射的虚拟机集合Q中,包含M个虚拟机的分区中OB最小的分区。分区P映射失败,说明包含M个虚拟机的分区都可能失败,因此递减M,返回步骤304,重新确定分区P。
可选的,在映射过程中,如果将M递减到1后,仍然没有映射成功,则根据集合Q中剩余的虚拟机数目,开启一个或多个新的物理服务器作为目标物理服务器。可以直接将集合Q中的虚拟机映射到新开启的服务器上,或者将M重新赋值为K,返回步骤S304,直至将集合Q中的虚拟机全部映射到新开启的目标物理服务器上。如果开启新服务器失败,即数据中心中的所有服务器已开启,则认为该VDC映射失败。
根据本实施例提供的技术方案,可以在最小化基础架构的能耗开销的情况下,对资源进行合理分配,提供一种资源利用率和系统能耗开销的最佳平衡点。
图6为依据本发明一实施例的虚拟数据中心资源映射设备600的逻辑结构示意图。如图6所示,设备600包括接收单元602、选取单元604、映射单元606和验证单元608。
接收单元602,用于接收VDC资源请求,所述VDC资源请求中携带请求的虚拟机数量以及虚拟机分布标识,所述请求的虚拟机数量用于指示请求进行资源映射的虚拟机的总数A,所述虚拟机分布标识用于指示单个物理服务器最多承载的所述VDC资源请求中需要进行资源映射的虚拟机的个数K;
可选的,VDC资源请求包括虚拟机请求,虚拟机与物理机的混合请求。
可选的,VDC资源请求还包含该虚拟数据中心VDC所需的虚拟机VM类型。虚拟机分布标识可以直接是单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K,也可以间接指示单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K。所述虚拟机分布标识可以为例如但不限于:VM分布指标需求R、用户服务级别或指示用户服务级别的信息,例如用户标识等。其中用户服务级别可以直接决定单个服务器最多承载的VDC资源请求中VM的数目,也可以与VM分布指标需求R对应,其对映关系由数据中心运 营商预先定义。
选取单元604,用于执行以下操作:
操作612:从所述VDC资源请求中未被映射的虚拟机集合Q中选取M个虚拟机组成分区P,其中,所述未被映射的虚拟机集合Q为所述请求进行资源映射的A个虚拟机中尚未进行资源映射的虚拟机的集合,所述M的初始值为大于1小于等于K的自然数;
操作614:选取满足所述分区P所需物理资源的目标物理服务器:
可选的,所述物理资源包括以下至少一种:服务器可承载的虚拟机剩余容量,CPU、磁盘、内存、网络、操作系统、物理链路等。
映射单元606,用于将所述分区P映射到所述目标物理服务器上;
验证单元608,用于在所述未被映射的虚拟机集合Q中减去已被映射单元606进行资源映射的所述M个虚拟机,并在确定所述未被映射的虚拟机集合Q中存在尚未进行资源映射的虚拟机时,通知所述选取单元604执行操作612。
可选的,所述选取单元604用于执行操作612,包括:所述选取单元604用于:在所述未被映射的虚拟机集合Q中,选取使所述分区P的带宽需求最小的M个虚拟机组成分区P,所述带宽需求是指所述分区P内部各虚拟机连接到所述分区P外部的所有虚拟链路的带宽之和。
可选的,所述选取单元604用于执行操作614,包括:所述选取单元604用于执行以下操作:
操作i:从物理服务器集合CS中,选取物理链路资源剩余容量最小的物理服务器作为目标物理服务器,将所述分区P映射到所述目标服务器上,如果映射失败,执行操作ii,所述集合CS为处于开启状态、物理链路资源剩余容量满足所述分区P的带宽需求,且未被所述VDC资源请求中请求的虚拟机进行过资源映射的物理服务器的集合;
操作ii:若所述集合CS内物理服务器数目大于1,则从集合CS中去除选取的所述目标物理服务器,返回执行操作i;若集合CS内物理服务器数目为1,将M递减1,返回执行操作612。
可选的,所述映射单元606具体用于映射所述分区P中的各个虚拟机的计算资源、存储资源到所述目标物理服务器,映射所述分区P内各个虚拟机之间,以及所述分区P内各个虚拟机与所述VDC资源请求中需要进行资源映射的虚拟机中已被映射的其他虚拟机之间的虚拟链路。
可选的,所述虚拟机分布标识包括用户服务级别,所述服务级别用于指示单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K。
可选的,所述虚拟机分布标识包括VM分布指标需求,所述单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K为所述请求的虚拟机数量与所述VM分布指标需求的乘积的整数部分。
图7为依据本发明一实施例的虚拟数据中心资源映射系统700结构示意图。如图7所示,系统700包括VDC资源请求单元702,VDC资源请求处理单元704和服务器群706。
VDC资源请求单元702,用于发送虚拟数据中心VDC资源请求,所述VDC资源请求,VDC资源请求携带虚拟机分布标识,所述虚拟机分布标识用于指示单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K。
可选的,所述VDC资源请求包括虚拟机请求,虚拟机与物理机的混合请求。
可选的,所述的VDC资源请求还包含该虚拟数据中心VDC所需的虚拟机VM类型以及数量。所述虚拟机分布标识可以直接是单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K,也可以间接指示单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K。所述虚拟机分布标识可以为例如但不限于:VM分布指标需求R、用户服务级别或指示用户服务级别的信息,例如用户标识等。其中用户服务级别可以直接决定单个服务器最多承载的VDC资源请求中VM的数目,也可以与VM分布指标需求R对应,其对映关系由数据中心运营商预先定义。
VDC资源请求处理单元704,用于执行以下操作:
操作712,接收所述VDC资源请求;
操作714,从所述VDC资源请求中未被映射的虚拟机集合Q中选取M个虚拟机组成分区P;
其中,所述未被映射的虚拟机集合Q为所述请求进行资源映射的A个虚拟机中尚未进行资源映射的虚拟机的集合,所述M的初始值为大于1小于等于K的自然数;
操作716,选取满足所述分区P所需物理资源的目标物理服务器,将所述分区P映射到所述目标物理服务器上;
可选的,物理资源包括以下至少一种:服务器可承载的虚拟机剩余容量,CPU、磁盘、内存、网络、操作系统、物理链路等;
操作718,用于在所述未被映射的虚拟机集合Q中减去已被映射单元606进行资源映射的所述M个虚拟机,并在确定所述未被映射的虚拟机集合Q中存在尚未进行资源映射的虚拟机时,通知所述选取单元604执行操作714。
服务器群706,包括至少一台物理服务器,所述物理服务器用于映射所述VDC资源请求中的虚拟机。
可选的,所述VDC资源请求处理单元704执行操作714时具体用于:在所述未被映射的虚拟机集合Q中,选取使所述分区P的带宽需求最小的M个虚拟机组成分区P,所述带宽需求是指所述分区P内部各虚拟机连接到所述分区P外部的所有虚拟链路的带宽之和。
可选的,所述VDC资源请求处理单元704执行操作716时具体用于执行以下操作:操作i:从物理服务器集合CS中,选取物理链路资源剩余容量最小的物理服务器作为目标物理服务器,将所述分区P映射到所述目标服务器上,如果映射失败,执行操作ii,所述集合CS为处于开启状态、物理链路资源剩余容量满足所述分区P的带宽需求,且未被所述VDC资源请求中请求的虚拟机进行过资源映射的物理服务器的集合;
操作ii:若所述集合CS内物理服务器数目大于1,则从集合CS中去除选取的所述目标物理服务器,返回执行操作i;若集合CS内物理服务器数目为1,将M递减1,返回执行操作714。
可选的,所述VDC资源请求处理单元704还用于:映射所述分区P中的各个虚拟机的计算资源、存储资源到所述目标物理服务器,映射所述分区P内各个虚拟机之间,以及所述分区P内各个虚拟机与所述VDC资源请求中需要进行资源映射的虚拟机中已被映射的其他虚拟机之间的虚拟链路。
可选的,所述虚拟机分布标识包括用户服务级别,所述服务级别用于指示单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K。
可选的,所述虚拟机分布标识包括VM分布指标需求,所述单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K为所述请求的虚拟机数量与所述VM分布指标需求的乘积的整数部分。
图8是依据本发明一实施例的计算设备设备800的硬件结构示意图。如图8所示,计算设备800包括处理器802、存储器804、输入/输出接口806、通信接口808和总线810。其中,处理器802、存储器804、输入/输出接口806和通信接口808通过总线810实现彼此之间的通信连接。
处理器802可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。
存储器804可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器804可以存储操作系统和其他应用程序。在通过软件或者固件来实现本发明实施例提供的技术方案时,用 于实现本发明实施例提供的技术方案的程序代码保存在存储器804中,并由处理器802来执行。
输入/输出接口806用于接收输入的数据和信息,输出操作结果等数据。
通信接口808使用例如但不限于收发器一类的收发装置,来实现计算设备800与其他设备或通信网络之间的通信。
总线810可包括一通路,在计算设备800各个部件(例如处理器802、存储器804、输入/输出接口806和通信接口808)之间传送信息。
应注意,尽管图8所示的计计算设备800仅仅示出了处理器802、存储器804、输入/输出接口806、通信接口808以及总线810,但是在具体实现过程中,本领域的技术人员应当明白,计算设备800还包含实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当明白,计算设备800还可包含实现其他附加功能的硬件器件。此外,本领域的技术人员应当明白,计算设备800也可仅仅包含实现本发明实施例所必须的器件,而不必包含图8中所示的全部器件。
图8所示的硬件结构以及上述描述适用于本发明实施例所提供的各种虚拟数据中心资源映射设备及系统,适用于执行本发明实施例所提供的各种虚拟数据中心方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法 的部分步骤。而前述的存储介质包括:移动硬盘、只读存储器(英文:Read-Only Memory,简称ROM)、随机存取存储器(英文:Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。

Claims (13)

  1. 一种虚拟数据中心VDC资源映射方法,其特征在于,包括:
    步骤202,接收VDC资源请求,所述VDC资源请求中携带请求的虚拟机数量以及虚拟机分布标识,所述请求的虚拟机数量用于指示请求进行资源映射的虚拟机的总数A,所述虚拟机分布标识用于指示单个物理服务器最多承载的所述VDC资源请求中需要进行资源映射的虚拟机的个数K;
    步骤204,从所述VDC资源请求中未被映射的虚拟机集合Q中选取M个虚拟机组成分区P;
    其中,所述未被映射的虚拟机集合Q为所述请求进行资源映射的A个虚拟机中尚未进行资源映射的虚拟机的集合,所述M的初始值为大于1小于等于K的自然数;
    步骤206,选取满足所述分区P所需物理资源的目标物理服务器,将所述分区P映射到所述目标物理服务器上;
    步骤208,在所述未被映射的虚拟机集合Q中减去已进行资源映射的所述M个虚拟机,重复执行步骤204、206、208,直至所述未被映射的虚拟机集合Q中不存在尚未进行资源映射的虚拟机。
  2. 根据权利要求1所述的方法,其特征在于,所述从所述VDC资源请求中未被映射的虚拟机集合Q中选取M个虚拟机组成分区P包括:在所述未被映射的虚拟机集合Q中,选取使所述分区P的带宽需求最小的M个虚拟机组成分区P,所述带宽需求是指所述分区P内部各虚拟机连接到所述分区P外部的所有虚拟链路的带宽之和。
  3. 根据权利要求2所述的方法,其特征在于,所述选取满足所述分区P所需物理资源的目标物理服务器,将所述分区P映射到所述目标物理服务器上包括:
    步骤i:从物理服务器集合CS中,选取物理链路资源剩余容量最小的物理服务器作为目标物理服务器,将所述分区P映射到所述目标服务器上,如果映射失败,执行步骤ii,所述集合CS为处于开启状态、物理链路资源剩余容量满足所述分区P的带宽需求,且未被所述VDC资源请求中请求的虚拟机进行过资源映射的物理服务器的集合;
    步骤ii:若所述集合CS内物理服务器数目大于1,则从集合CS中去除选取的所述目标物理服务器,返回步骤i;若集合CS内物理服务器数目为1,将M递减1,返回步骤204。
  4. 根据权利要求1所述的方法,其特征在于,所述将所述分区P映射到所述目标物理服务器上包括:
    映射所述分区P中的各个虚拟机的计算资源、存储资源到所述目标物理服务器;
    映射所述分区P内各个虚拟机之间,以及所述分区P内各个虚拟机与所述VDC资源请求中需要进行资源映射的虚拟机中已被映射的其他虚拟机之间的虚拟链路。
  5. 根据权利要求1-4任一项所述的方法,其特征在于,所述虚拟机分布标识包括用户服务级别,所述服务级别用于指示单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K。
  6. 根据权利要求1-4任一项所述的方法,其特征在于,所述虚拟机分布标识包括VM分布指标需求,所述单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K为所述请求的虚拟机数量与所述VM分布指标需求的乘积的整数部分。
  7. 一种计算设备,其特征在于,包括:包括:处理器、存储器、总线和通信接口;
    所述存储器用于存储计算设备执行指令,所述处理器与所述存储器通过所述总线连接,当所述计算设备运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述计算设备执行权利要求1-6任一项所述的方法。
  8. 一种虚拟数据中心VDC资源映射设备,其特征在于,包括:
    接收单元602,用于接收VDC资源请求,所述VDC资源请求中携带请求的虚拟机数量以及虚拟机分布标识,所述请求的虚拟机数量用于指示请求进行资源映射的虚拟机的总数A,所述虚拟机分布标识用于指示单个物理服务器最多承载的所述VDC资源请求中需要进行资源映射的虚拟机的个数K;
    选取单元604,用于执行以下操作:
    操作612:从所述VDC资源请求中未被映射的虚拟机集合Q中选取M个虚拟机组成分区P,其中,所述未被映射的虚拟机集合Q为所述请求进行资源映射的A个虚拟机中尚未进行资源映射的虚拟机的集合,所述M的初始值为大于1小于等于K的自然数;
    操作614:选取满足所述分区P所需物理资源的目标物理服务器:
    映射单元606,用于将所述分区P映射到所述目标物理服务器上;
    验证单元608,用于在所述未被映射的虚拟机集合Q中减去已被映射单元606进行资源映射的所述M个虚拟机,并在确定所述未被映射的虚拟机集合Q中存在尚未进行资源映射的虚拟机时,通知所述选取单元604执行操作612。
  9. 根据权利要求8所述的资源映射设备,其特征在于,所述选取单元604用于执行操作612,包括:所述选取单元604用于:
    在所述未被映射的虚拟机集合Q中,选取使所述分区P的带宽需求最小的M个虚拟机组成分区P,所述带宽需求是指所述分区P内部各虚拟机连接到所述分区P外部的所 有虚拟链路的带宽之和。
  10. 根据权利要求9所述的资源映射设备,其特征在于,所述选取单元604用于执行操作614,包括:所述选取单元604用于执行以下操作:
    操作i:从物理服务器集合CS中,选取物理链路资源剩余容量最小的物理服务器作为目标物理服务器,将所述分区P映射到所述目标服务器上,如果映射失败,执行操作ii,所述集合CS为处于开启状态、物理链路资源剩余容量满足所述分区P的带宽需求,且未被所述VDC资源请求中请求的虚拟机进行过资源映射的物理服务器的集合;
    操作ii:若所述集合CS内物理服务器数目大于1,则从集合CS中去除选取的所述目标物理服务器,返回执行操作i;若集合CS内物理服务器数目为1,将M递减1,返回执行操作612。
  11. 根据权利要求8所述的资源映射设备,其特征在于,所述映射单元606具体用于:
    映射所述分区P中的各个虚拟机的计算资源、存储资源到所述目标物理服务器,映射所述分区P内各个虚拟机之间,以及所述分区P内各个虚拟机与所述VDC资源请求中需要进行资源映射的虚拟机中已被映射的其他虚拟机之间的虚拟链路。
  12. 根据权利要求8-11任一项所述的资源映射设备,其特征在于,所述虚拟机分布标识包括用户服务级别,所述服务级别用于指示单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K。
  13. 根据权利要求8-11任一项所述的资源映射设备,其特征在于,所述虚拟机分布标识包括VM分布指标需求,所述单个物理服务器最多承载的所述VDC资源请求中虚拟机的个数K为所述请求的虚拟机数量与所述VM分布指标需求的乘积的整数部分。
PCT/CN2015/087386 2014-12-12 2015-08-18 一种虚拟数据中心资源映射方法和设备 WO2016090946A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP15866989.5A EP3223491B1 (en) 2014-12-12 2015-08-18 Method and device for mapping virtual data centre resources
US15/619,178 US10331491B2 (en) 2014-12-12 2017-06-09 Virtual data center resource mapping method and device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410767633.5 2014-12-12
CN201410767633.5A CN104468803B (zh) 2014-12-12 2014-12-12 一种虚拟数据中心资源映射方法和设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/619,178 Continuation US10331491B2 (en) 2014-12-12 2017-06-09 Virtual data center resource mapping method and device

Publications (1)

Publication Number Publication Date
WO2016090946A1 true WO2016090946A1 (zh) 2016-06-16

Family

ID=52914155

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/087386 WO2016090946A1 (zh) 2014-12-12 2015-08-18 一种虚拟数据中心资源映射方法和设备

Country Status (4)

Country Link
US (1) US10331491B2 (zh)
EP (1) EP3223491B1 (zh)
CN (1) CN104468803B (zh)
WO (1) WO2016090946A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110958192A (zh) * 2019-12-04 2020-04-03 西南大学 一种基于虚拟交换机的虚拟数据中心资源分配系统及方法
CN114490096A (zh) * 2022-04-19 2022-05-13 深圳支点电子智能科技有限公司 基于移动互联网突发云任务处理的方法及系统

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468803B (zh) 2014-12-12 2018-02-09 华为技术有限公司 一种虚拟数据中心资源映射方法和设备
US11005710B2 (en) 2015-08-18 2021-05-11 Microsoft Technology Licensing, Llc Data center resource tracking
US10628192B2 (en) * 2015-12-24 2020-04-21 Intel Corporation Scalable techniques for data transfer between virtual machines
CN105786619B (zh) * 2016-02-24 2019-08-06 中国联合网络通信集团有限公司 虚拟机分配方法及装置
CN106254115B (zh) * 2016-08-05 2019-03-15 东莞电子科技大学电子信息工程研究院 一种虚拟数据中心的跨域映射方法
CN108633105A (zh) * 2017-03-23 2018-10-09 索尼公司 用于无线通信的电子设备和方法
CN107133083B (zh) * 2017-04-13 2020-01-17 大连理工大学 一种基于虚拟化技术的虚拟数据中心资源提供方法
CN108574718B (zh) * 2017-04-19 2021-03-26 北京金山云网络技术有限公司 一种云主机创建方法及装置
CN108574719B (zh) * 2017-04-19 2021-04-20 北京金山云网络技术有限公司 一种云主机创建方法及装置
CN110086840B (zh) * 2018-01-26 2022-03-11 浙江宇视科技有限公司 图像数据存储方法、装置及计算机可读存储介质
CN110196750B (zh) * 2018-02-26 2023-02-24 华为技术有限公司 一种设备的分配方法及其相关设备
CN110389812B (zh) * 2018-04-20 2023-05-12 伊姆西Ip控股有限责任公司 用于管理虚拟机的方法、设备和计算机可读存储介质
CN108400898A (zh) * 2018-05-30 2018-08-14 郑州云海信息技术有限公司 云数据管理平台中资源的管理方法和装置
CN109739615B (zh) * 2018-12-04 2020-07-24 联想(北京)有限公司 一种虚拟硬盘的映射方法、设备和云计算平台
CN111371681B (zh) * 2020-03-12 2021-11-19 郑州轻工业大学 一种资源和能耗感知的网络服务功能链映射方法
CN112346861A (zh) * 2020-10-27 2021-02-09 北京天融信网络安全技术有限公司 资源分配方法、装置、设备和超融合系统
CN112269664A (zh) * 2020-11-16 2021-01-26 网易(杭州)网络有限公司 云服务器资源管理方法、装置及系统
CN114614899A (zh) * 2022-03-29 2022-06-10 中天宽带技术有限公司 数据中心虚拟光网络映射方法、装置和电子设备
CN115412401B (zh) * 2022-08-26 2024-04-19 京东科技信息技术有限公司 训练虚拟网络嵌入模型及虚拟网络嵌入的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609295A (zh) * 2011-10-18 2012-07-25 华中科技大学 虚拟机作业动态调度系统
US20120296585A1 (en) * 2011-04-29 2012-11-22 International Business Machines Corporation Method and apparatus for estimating virtual machine energy consumption
CN104468803A (zh) * 2014-12-12 2015-03-25 华为技术有限公司 一种虚拟数据中心资源映射方法和设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620953B1 (en) * 2004-10-05 2009-11-17 Azul Systems, Inc. System and method for allocating resources of a core space among a plurality of core virtual machines
US8555274B1 (en) * 2006-03-31 2013-10-08 Vmware, Inc. Virtualized desktop allocation system using virtual infrastructure
US9218195B2 (en) * 2011-05-17 2015-12-22 International Business Machines Corporation Vendor-independent resource configuration interface for self-virtualizing input/output device
US9116181B2 (en) * 2011-12-29 2015-08-25 Huawei Technologies Co., Ltd. Method, apparatus, and system for virtual cluster integration
US9251103B2 (en) * 2012-08-08 2016-02-02 Vmware, Inc. Memory-access-resource management
CN102929687B (zh) * 2012-10-12 2016-05-25 山东省计算中心(国家超级计算济南中心) 一种节能的云计算数据中心虚拟机放置方法
CN103823541B (zh) 2012-11-16 2016-12-21 北京航空航天大学 虚拟数据中心节能调度方法和设备
US9329888B2 (en) * 2013-01-28 2016-05-03 International Business Machines Corporation Computing optimized virtual machine allocations using equivalence combinations
CN103560967B (zh) * 2013-10-17 2016-06-01 电子科技大学 一种业务需求感知的虚拟数据中心映射方法
US9389894B1 (en) * 2014-10-15 2016-07-12 Google Inc. Flexible processor association for virtual machines

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120296585A1 (en) * 2011-04-29 2012-11-22 International Business Machines Corporation Method and apparatus for estimating virtual machine energy consumption
CN102609295A (zh) * 2011-10-18 2012-07-25 华中科技大学 虚拟机作业动态调度系统
CN104468803A (zh) * 2014-12-12 2015-03-25 华为技术有限公司 一种虚拟数据中心资源映射方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3223491A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110958192A (zh) * 2019-12-04 2020-04-03 西南大学 一种基于虚拟交换机的虚拟数据中心资源分配系统及方法
CN110958192B (zh) * 2019-12-04 2023-08-01 西南大学 一种基于虚拟交换机的虚拟数据中心资源分配系统及方法
CN114490096A (zh) * 2022-04-19 2022-05-13 深圳支点电子智能科技有限公司 基于移动互联网突发云任务处理的方法及系统

Also Published As

Publication number Publication date
EP3223491A4 (en) 2017-12-13
CN104468803A (zh) 2015-03-25
EP3223491A1 (en) 2017-09-27
CN104468803B (zh) 2018-02-09
EP3223491B1 (en) 2019-03-06
US10331491B2 (en) 2019-06-25
US20170277575A1 (en) 2017-09-28

Similar Documents

Publication Publication Date Title
WO2016090946A1 (zh) 一种虚拟数据中心资源映射方法和设备
CN112153700B (zh) 一种网络切片资源管理方法及设备
CN107548549B (zh) 分布式计算环境中的资源平衡
US9135041B2 (en) Selecting provisioning targets for new virtual machine instances
Cohen et al. Almost optimal virtual machine placement for traffic intense data centers
US8875153B2 (en) Routing workloads based on relative queue lengths of dispatchers
US7698529B2 (en) Method for trading resources between partitions of a data processing system
US20150178117A1 (en) Selecting cloud computing resource based on fault tolerance and network efficiency
US20140025822A1 (en) Domain-agnostic resource allocation framework
US10027596B1 (en) Hierarchical mapping of applications, services and resources for enhanced orchestration in converged infrastructure
CN108132827B (zh) 一种网络切片资源映射方法、相关设备及系统
CN111182037B (zh) 一种虚拟网络的映射方法和装置
CN109976907B (zh) 任务分配方法和系统、电子设备、计算机可读介质
CN109417488A (zh) 虚拟网络功能资源管理的方法和设备
US20160062929A1 (en) Master device, slave device and computing methods thereof for a cluster computing system
WO2020134133A1 (zh) 一种资源配置方法、变电站及计算机可读存储介质
CN110990154A (zh) 一种大数据应用优化方法、装置及存储介质
US9442750B2 (en) Systems and methods for colocating virtual machines on one or more physical infrastructure
US10031777B2 (en) Method and system for scheduling virtual machines in integrated virtual machine clusters
US20230082903A1 (en) Autonomic application service framework
US11334390B2 (en) Hyper-converged infrastructure (HCI) resource reservation system
JP2018181123A (ja) リソース割当制御システム、リソース割当制御方法、及びプログラム
CN109040214B (zh) 一种云环境下可靠性增强的服务部署方法
US20230283570A1 (en) Resource allocation apparatus and allocating resource method
Zhang et al. Task assignment optimization in geographically distributed data centers

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15866989

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2015866989

Country of ref document: EP