CN111443985A - 实例化虚拟网络功能的方法及设备 - Google Patents
实例化虚拟网络功能的方法及设备 Download PDFInfo
- Publication number
- CN111443985A CN111443985A CN201910047927.3A CN201910047927A CN111443985A CN 111443985 A CN111443985 A CN 111443985A CN 201910047927 A CN201910047927 A CN 201910047927A CN 111443985 A CN111443985 A CN 111443985A
- Authority
- CN
- China
- Prior art keywords
- hardware
- information
- virtual machine
- virtual
- network element
- 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
- 238000000034 method Methods 0.000 title claims abstract description 101
- 238000013507 mapping Methods 0.000 claims abstract description 90
- 230000006870 function Effects 0.000 claims description 88
- 238000004891 communication Methods 0.000 claims description 32
- 230000008569 process Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 16
- 230000004044 response Effects 0.000 description 14
- 230000001133 acceleration Effects 0.000 description 12
- 230000003993 interaction Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 238000007726 management method Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 6
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 5
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/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/45537—Provision of facilities of other operating environments, e.g. WINE
-
- 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/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- 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
- 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/45595—Network integration; Enabling network access in virtual machine instances
Abstract
本申请实施例提供了实例化VNF的方法以及设备,该方法包括:第一网元接收用于指示实例化VNF的第一信息;第一网元获取用于指示网络功能虚拟化基础设施的可用资源的硬件资源信息;可用资源包括至少一个硬件的资源,硬件表示用于承载虚拟机的最小物理资源集合;第一网元根据第一信息和硬件资源信息,确定VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系;第一网元根据映射关系,确定在至少一个硬件上实例化至少一个虚拟机。实施本申请实施例能够实现提高硬件资源利用率,提升VM部署效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及实例化虚拟网络功能的方法及设备。
背景技术
网络功能虚拟化(Network Function Virtualization,NFV)旨在利用标准的IT虚拟化技术将不同的网络设备整合到标准的大容量通用商业(Commercial-Off-The-Shelf,COTS)服务器、交换机、云平台上(云平台是指将物理硬件虚拟化所形成的虚拟机平台)和存储中,从而实现软硬件解耦合。这些标准的设备可以部署在数据中心、网络节点或是用户家里。
如图1所示,当前通用的NFV的系统架构主要包括网络功能虚拟化基础设施(Network Function Virtualization Infrastructure,NFVI)、管理和编排系统(Management and Orchestration,MANO)和虚拟网络功能(Virtualized NetworkFunction,VNF)。其中,NFVI主要负责将计算、存储以及网络的硬件资源全面虚拟化,并映射成虚拟资源。VNF则是利用软件来实现各种传统的物理网络功能,VNF运行在NFVI之上,使用的是经过NFVI虚拟化后的虚拟资源。MANO负责对NFVI的软硬件资源的生命周期管理和编排,以及对VNF的生命周期管理和编排。
进一步地,MANO包括虚拟化基础设施管理器(Virtualized InfrastructureManagers,VIM)、虚拟网络功能管理器(Virtualized Network Function Managers,VNFM)以及网络功能虚拟化编排器(Network Function Virtualization Orchestrator,NFVO)。其中,VIM负责对物理硬件虚拟化资源进行统一管理、监控和优化;VNFM负责VNF的生命周期管理;而NFVO负责基础资源和上层软件资源的编排和管理,实现网络服务(networkservice,NS),NFVO可对网络服务提供商的管理功能提供接口,所述管理功能例如运营支撑系统(Operations Support Systems,OSS)、业务支撑系统(Business Support System,BSS)。
其中,VNF可以理解为被虚拟化出来的一个个网元,例如通信网络中的MME/SGW/PGW这些网元,每种网元各自承担了通信网络中的某个网络功能(Network Function)。通过虚拟化技术将这些网元虚拟化后,就成了一个个的VNF。VNF以软件方式实现,并能在一系列的工业标准服务器硬件上运行,可以根据需要进行迁移、实例化、部署在网络的不同位置,而不需要安装新设备。因此,与专用网络设备相比,不同供应商提供的COTS硬件设备更易于集成,能够显著降低不同供应商设备的集成成本,同时可以有效避免供应商锁定。
VNF往往由多个VNFC(VNF Component)组成,而不同的VNFC在NFVI中由不同类型的虚拟机(Virtual Machine,VM)承载,如图2所示。由于VNFC之间的相互依赖关系,在VNF实例化过程中往往会定义其所在VM的优先级,使得VM按照优先级顺序依次在VIM自主确定的单板上实例化(部署),保证网络功能业务顺利上线。
现有技术中,通过NFVO与VIM交互实现VNF所需的所有VM的部署。在现有架构下,VNF实例化过程中NFVO负责根据VM优先级排列VM实例化顺序,而真正的实例化操作和VM具体部署位置由VIM负责完成。在这种分工下,NFVO和VIM在部署过程中仅获取各自部分片面信息,NFVO每次仅下发当前优先级VM实例化请求,VIM无法获知低优先级VM的所需硬件资源,因此会出现高优先级VM抢占低优先级VM的硬件资源,造成硬件资源浪费甚至VM部署失败。
发明内容
本发明实施例提供了实例化虚拟网络功能的方法及设备,能够实现提高硬件资源利用率,提升VM部署效率。
第一方面,本发明实施例提供了一种实例化VNF的方法,该方法包括:第一网元接收用于指示实例化VNF的第一信息;所述第一网元获取用于指示网络功能虚拟化基础设施的可用资源的硬件资源信息;所述可用资源包括至少一个硬件的资源,所述硬件表示用于承载虚拟机的最小物理资源集合;所述第一网元根据所述第一信息和所述硬件资源信息,确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系;所述第一网元根据所述映射关系,确定在所述至少一个硬件上实例化所述至少一个虚拟机。其中,所述第一网元可为MANO系统中的网元。
可以看到,本发明实施例提供的MANO系统中的第一网元能够根据第一信息、硬件资源信息等,针对VNF对应的多个VM的资源预先进行编排,确定各个VM与硬件资源之间的映射关系。然后,根据该映射关系确定在各个指定的硬件上分别实例化该硬件所映射的VM。所以,实施本发明实施例能够实现针对VM的精确部署,提高硬件资源利用率,提升VM部署效率。
基于第一方面,在可能的实施方式中,VNF对应的虚拟机的数量有多个;所述方法还包括:所述第一网元根据所述第一信息和所述硬件资源信息,确定所述多个虚拟机的实例化顺序;相应的,所述第一网元可根据VNF对应的多个虚拟机与多个硬件之间的映射关系和所述多个虚拟机的实例化顺序,确定在所述多个硬件上实例化所述多个虚拟机。
可以看到,本发明实施例提供的第一网元能够根据第一信息、硬件资源信息等,针对VNF对应的多个VM的资源预先进行编排,制定各个VM与硬件资源之间的一一映射关系以及所有VM的实例化顺序。然后,根据该映射关系和实例化顺序,确定在各个指定的硬件上分别实例化该硬件所映射的VM。所以,实施本发明实施例能够避免现有技术中根据VM优先级进行VM部署所带来的高优先级VM抢占低优先级VM的硬件资源的问题,实现针对VM的精确部署,提高硬件资源利用率,提升VM部署效率。
在一些实施例中,所述第一网元为本发明实施例提供的新增于现有的NFV架构基础上的虚拟资源编排与部署器(Virtualized Resource Orchestrator&Allocator,VROA)。这种情况下,所述第一网元接收NFVO发送的第一信息,所述第一信息包括至少一个虚拟机类型、所述至少一个虚拟机类型的所需资源的指示信号、所述各种虚拟机类型的实例化优先级、实例化所述VNF所需的各种虚拟机类型的虚拟机数量、或所述至少一个虚拟机类型的约束信息中的至少一个。在一些具体应用场景中,所述第一信息具体为用于请求实例化VNF的第一请求。
在一些实施例中,所述第一网元为将NFVO的功能和本发明提供的VROA的功能整合在一起实施而形成的网元,比如可以将VROA作为NFVO的一个功能子模块,这样的NFVO即为所述第一网元。这种情况下,在一些实施例中,所述第一信息具体可为VNF的描述文件(VNFD)。
在一些实施例中,所述第一网元为将VIM的功能和本发明提供的VROA的功能整合在一起实施而形成的网元,比如可以将VROA作为VIM的一个功能子模块,这样的VIM即为所述第一网元。在一些具体应用场景中,所述第一信息具体为用于请求实例化VNF的第一请求。
基于第一方面,在可能的实施方式中,当所述第一网元为本发明实施例提供的VROA,或者,所述第一网元为将NFVO的功能和本发明提供的VROA的功能整合在一起实施而形成的网元,这些情况下,所述第一网元根据所述映射关系,确定在所述至少一个硬件上实例化所述至少一个虚拟机具体包括:第一网元根据所述映射关系,指示VIM在所述至少一个硬件上实例化所述至少一个虚拟机。
进一步地,所述第一网元可根据所述映射关系和所述实例化顺序,指示虚拟基础设施管理器在所述至少一个硬件上实例化所述至少一个虚拟机。
举例来说,在一些应用场景中,所述第一网元可根据所述至少一个虚拟机的实例化顺序,依次指示所述虚拟基础设施管理器在当次对应硬件上实例化与所述当次对应硬件相映射的虚拟机。具体的,VROA可按所述多个VM的实例化顺序,依次向VIM发送第二请求,每次发送的第二请求包括所述当次需实例化的VM的标识(ID)、所述当次需实例化的VM的ID所映射的硬件的ID、以及所述当次需实例化的VM所需资源的指示信号,且该指示信号中不包含VM实例化优先级、VM数量信息。然后,VIM可在NFVI上的当次指定硬件中实例化该硬件所映射的VM。完成当次的VM部署后,VROA根据实例化顺序,针对下一个VM继续执行与上述描述类似的过程,直至将所有VM成功实例化。这种方案的优点是,每次VROA只需要向VIM发送当次VM的相关信息,减少当次的数据发送量。在VIM反馈ACK的情况下,VROA才继续执行下一次的发送。
举例来说,在又一些应用场景中,所述第一网元将所述映射关系和所述实例化顺序发送至所述虚拟基础设施管理器,以使所述虚拟基础设施管理器根据所述映射关系和所述实例化顺序在所述至少一个硬件上实例化所述至少一个虚拟机。具体的,VROA也可以将所有VM的相关信息一次下发,即VROA向VIM发送的第二请求中包括:实例化所述VNF所需的多个VM的ID、多个VM的ID与多个硬件的ID之间的一一映射关系、所述多个VM的实例化顺序、以及所述多个VM所需资源的指示信号,且该指示信号中不包含VM实例化优先级、VM数量信息。这样,VIM可在本地根据VM实例化顺序,依次实例化VMs,从而减少与VROA的往复交互,提高VM部署效率。
基于第一方面,在可能的实施方式中,所述方法还包括:所述第一网元获取实例化策略信息;所述实例化策略信息表示对所述至少一个虚拟机实例化所采用的策略;所述策略例如为内存优先策略、资源利用率优先策略、主机均衡度优先策略等等,以便于根据VNF特点动态调整VM实例化策略,从而更好地满足用户需求。相应的,所述第一网元可根据所述第一信息、所述硬件资源信息和所述实例化策略信息,确定所述VNF对应的虚拟机与硬件之间的映射关系以及VM实例化顺序。所以实施本发明实施例,有利于在多VNF共部署场景下,根据VNF特点动态调整实例化策略。
基于第一方面,在可能的实施方式中,所述第一网元根据所述第一信息和所述硬件资源信息,确定所述VNF对应的方案信息(方案信息包括VNF所需的虚拟机与硬件之间的映射关系以及VM实例化顺序),具体可包括:
所述第一网元根据所述至少一个硬件的资源、所述至少一个虚拟机类型所需资源的指示信号、所述多种虚拟机类型的约束信息,确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系;以及,所述第一网元根据所述至少一个虚拟机类型的实例化优先级和实例化所述VNF所需的各种虚拟机类型的虚拟机数量,确定所述至少一个虚拟机的实例化顺序。
其中,所述多种虚拟机类型的约束信息具体包括:所述相同虚拟机类型的亲和/反亲和性、所述不同虚拟机类型的亲和/反亲和性以及虚拟机实例化的物理地点约束中的至少一个。
基于第一方面,在可能的实施方式中,所述第一网元获取用于指示网络功能虚拟化基础设施的可用资源的硬件资源信息,包括以下实施场景:
在一些实施例中,当所述第一网元为本发明实施例提供的VROA时,所述第一网元可向VIM查询获得所述硬件资源信息。
在一些实施例中,所述第一网元为将NFVO的功能和本发明提供的VROA的功能整合在一起实施而形成的网元时,所述第一网元可向VIM查询获得所述硬件资源信息。
在一些实施例中,所述第一网元为将VIM的功能和本发明提供的VROA的功能整合在一起实施而形成的网元时,所述第一网元可直接检测NFVI获得所述NFVI的硬件资源信息。
基于第一方面,在可能的实施方式中,在存在多个VROA场景下,在实例化不同VNF的过程中对底层硬件资源的竞争不可避免。为了避免资源抢占带来的一系列问题,本发明实施例进一步提供了避免资源抢占的一些方式。
在一种避免资源抢占的方式中,在存在多个第一网元(例如多个VROA)场景下,可为VIM设计两种工作状态:预留(reserve)状态和自由(free)状态,reserve状态表示VIM的使用状态为被占用状态,这种情况下,VIM只为当前的第一网元提供VM实例化服务,而不对其他第一网元服务。free状态表示VIM处于空闲状态,此时VIM可对任意第一网元提供服务。VIM可通过与第一网元交互,在这两种状态之间进行切换。
那么,在这样的场景中,当前第一网元(如VROA,VROA与NFVO的功能组合)在向VIM查询获得所述硬件资源信息的过程中,所述第一网元将用于查询硬件资源信息的请求发送至所述VIM;然后,VIM将自身状态从free状态更新为reserve状态,即仅为当前的第一网元服务,并生成所述VIM的第一使用状态信息;所述第一使用状态信息表示所述虚拟基础设施管理器的使用状态已从空闲状态变为被占用状态。然后VIM将硬件资源信息和所述VIM的第一使用状态信息发送至所述第一网元。
在上述场景中,VIM将自己状态从free状态修改为reserve状态后,也可以不生成第一使用状态信息,在这种情况下,VIM只需向VROA反馈硬件资源信息。
在又一种避免资源抢占的方式中,除了VIM有两种工作状态(reserve状态和free状态)外,VIM管理的各个硬件(如单板/主机等)的工作状态也同样可分为预留(reserve)状态和自由(free)状态,各个硬件的状态变化可由VIM操作记录和存储。可以理解的,某个硬件的状态为reserve状态即表示该硬件的使用状态为被占用状态;某个硬件的状态为free状态即表示该硬件处于空闲状态。VIM可通过与VROA交互,一方面可将自身的状态进行更改,另一方面将VIM所存储的关于硬件的状态信息进行修改。在存在多个第一网元(例如多个VROA)场景下,一些指定的硬件只为当前的第一网元提供部署服务,而不对其他VROA服务。
那么,在这样的场景中,一方面,当前第一网元(如VROA,VROA与NFVO的功能组合)在向VIM查询获得所述硬件资源信息的过程中,指示VIM将VIM的使用状态从free状态更新为reserve状态;另一方面,在当前第一网元确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系之后,当前第一网元发送用于请求占用硬件资源的请求至所述VIM;所述用于请求占用硬件资源的请求包括与所述至少一个虚拟机相映射的所述至少一个硬件的标识。VIM根据硬件IDs将对应的各个硬件的状态从free状态更新为reserve状态,此时这些硬件IDs对应的硬件将不响应其他VROA的VM部署要求;并且,VIM将VIM状态从reserve状态更新为free状态,此时VIM可响应其他VROA的资源查询请求或资源占用请求。另外,VIM还可在本地存储该reservation ID下的所有硬件IDs信息。
此外,在可能的实施例中,VIM还可以生成第二使用状态信息,所述第二使用状态信息表示所述VIM的使用状态已从reserve状态变为free状态,且VNF所需部署的各个硬件的使用状态已从free状态变为reserve状态。在一具体实现中,所述第二使用状态信息可以为随机生成的一组数字;在又一具体实现中,所述第二使用状态信息还可以是ACK信息。
可以看到,实施本发明实施例,在VIM实例化VNF过程中,VIM仅仅锁死该VNF需使用的硬件资源,其他硬件资源仍可以被其他VROA请求,大大提升了资源利用效率,避免了硬件资源的浪费。
基于第一方面,在可能的实施方式中,所述方法还包括:所述第一网元获取VIM的能力信息(简称VIM能力信息),通过VIM能力信息来验证VIM是否适合执行本发明实施例的相关方案。所述VIM能力信息用于指示所述VIM是否具有在所述第一网元指定的硬件中实例化虚拟机的能力;相应的,在所述VIM能力信息指示了所述虚拟基础设施管理器具有在所述第一网元指定的硬件中实例化虚拟机的能力的情况下,所述第一网元才执行获取用于指示NFVI的可用资源的硬件资源信息。
在一可能的实现中,所述VIM能力信息可以携带标识位“0”或“1”来表征,“0”可代表该VIM不支持根据VROA指示的硬件ID进行VM实例化,“1”可代表VIM支持根据VROA指示的硬件ID进行VM实例化;
在又一可能的实现中,所述VIM能力信息可以携带特定的指示消息(如Support/Non-support)来表征VIM是否具有根据VROA指示的硬件ID进行VM实例化的能力。
第二方面,本发明实施例提供了一种用于实例化VNF的网元设备,该设备包括:通信单元、资源编排单元和部署单元,其中:
通信单元,用于接收指示实例化VNF的第一信息;
所述通信单元还用于,获取用于指示网络功能虚拟化基础设施的可用资源的硬件资源信息;所述可用资源包括至少一个硬件的资源,所述硬件表示用于承载虚拟机的最小物理资源集合;
资源编排单元,用于根据所述第一信息和所述硬件资源信息,确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系;
部署单元,用于根据所述映射关系,确定在所述至少一个硬件上实例化所述至少一个虚拟机。
该网元设备的各个功能单元具体用于实现第一方面所描述的方法。
第三方面,本发明实施例提供了又一种用于实例化VNF的网元设备,该设备包括:存储器以及与存储器耦合的一个或多个处理器,所述存储器用于存储程序指令,所述一个或多个处理器用于调用所述程序指令,具体执行如第一方面所描述的方法。
第四方面,本发明实施例提供了一种系统,该系统包括:网络功能虚拟化编排器、虚拟资源编排与部署器和虚拟基础设施管理器,其中:
网络功能虚拟化编排器,用于向虚拟资源编排与部署器发送用于指示实例化VNF的第一信息;
虚拟资源编排与部署器,用于获取用于指示网络功能虚拟化基础设施的可用资源的硬件资源信息;所述可用资源包括至少一个硬件的资源,所述硬件表示用于承载虚拟机的最小物理资源集合;根据所述第一信息和所述硬件资源信息,确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系;根据映射关系,向虚拟基础设施管理器发送用于请求实例化所述VNF所需的虚拟机的请求;
虚拟基础设施管理器,用于根据所述请求,实现在所述至少一个硬件上实例化所述至少一个虚拟机;
其中,所述虚拟资源编排与部署器为上述第二方面所描述的网元设备,或者,所述虚拟资源编排与部署器为上述第三方面所描述的网元设备。
第五方面,本发明实施例提供了一种系统,该系统包括:网络功能虚拟化编排器和虚拟基础设施管理器,其中:
网络功能虚拟化编排器,用于接收用于指示实例化VNF的第一信息;获取用于指示网络功能虚拟化基础设施的可用资源的硬件资源信息;所述可用资源包括至少一个硬件的资源,所述硬件表示用于承载虚拟机的最小物理资源集合;根据所述第一信息和所述硬件资源信息,确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系;根据映射关系,向虚拟基础设施管理器发送用于请求实例化所述VNF所需的虚拟机的请求;
虚拟基础设施管理器,用于根据所述请求,实现在所述至少一个硬件上实例化所述至少一个虚拟机;
其中,所述网络功能虚拟化编排器为上述第二方面所描述的网元设备,或者,所述网络功能虚拟化编排器为上述第三方面所描述的网元设备。
第六方面,本发明实施例提供了一种系统,该系统包括:网络功能虚拟化编排器和虚拟基础设施管理器,其中:
网络功能虚拟化编排器,用于向虚拟基础设施管理器发送用于指示实例化VNF的第一信息;
虚拟基础设施管理器,用于获取用于指示网络功能虚拟化基础设施的可用资源的硬件资源信息;所述可用资源包括至少一个硬件的资源,所述硬件表示用于承载虚拟机的最小物理资源集合;根据所述第一信息和所述硬件资源信息,确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系;根据映射关系,实现在所述至少一个硬件上实例化所述至少一个虚拟机。
其中,所述虚拟基础设施管理器为上述第二方面所描述的网元设备,或者,所述虚拟基础设施管理器为上述第三方面所描述的网元设备。
第七方面,本发明实施例提供了一种非易失性计算机可读存储介质;所述计算机可读存储介质用于存储第一方面所述方法的实现代码。所述程序代码被网元设备执行时,所述网元设备用于第一方面所述方法。
第八方面,本发明实施例提供了一种计算机程序产品;该计算机程序产品包括程序指令,当该计算机程序产品被网元设备执行时,该网元设备的处理器执行前述第一方面所述方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面的任一种可能的设计提供的方法的情况下,可以下载该计算机程序产品并在网元设备的处理器上执行该计算机程序产品,以实现第一方面所述方法。
可以看到,本发明实施例提供的第一网元能够根据第一信息、硬件资源信息等,针对VNF对应的多个VM的资源预先进行编排,制定各个VM与硬件资源之间的一一映射关系以及所有VM的实例化顺序。然后,根据该映射关系和实例化顺序,确定在各个指定的硬件上分别实例化该硬件所映射的VM。所以,实施本发明实施例能够实现针对VM的精确部署,提高硬件资源利用率,提升VM部署效率。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1是现有技术采用的NFV系统架构的结构示意图;
图2是现有技术的一种实例化VNF过程的逻辑示意图;
图3是本发明实施例提供的一种系统架构的结构示意图;
图4是本发明实施例提供的一种实例化VNF的流程示意图;
图5是本发明实施例提供的VROA指导VIM进行VNF实例化的一种流程示意图;
图6是本发明实施例提供的VROA指导VIM进行VNF实例化的又一种流程示意图;
图7是本发明实施例提供的一种实例化VNF过程的逻辑示意图;
图8是本发明实施例提供的又一种实例化VNF的流程示意图;
图9是本发明实施例提供的又一种实例化VNF的流程示意图;
图10是本发明实施例提供的又一种实例化VNF的流程示意图;
图11是本发明实施例提供的又一种实例化VNF的流程示意图;
图12是本发明实施例提供的又一种实例化VNF的流程示意图;
图13是本发明实施例提供的又一种实例化VNF的流程示意图;
图14是本发明实施例提供的一种实例化VNF的流程示意图;
图15是本发明实施例提供的一种设备的结构示意图;
图16是本发明实施例提供的一种设备的结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。本发明的实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
为了解决现有技术的缺陷,本发明实施例对现有的NFV架构进行改进。参见图3,图3是本发明实施例提供的一种系统架构的示例图。该系统架构在现有的NFV架构基础上新增虚拟资源编排与部署器(Virtualized Resource Orchestrator&Allocator,VROA),主要负责VNF实例化过程中的VM编排和预部署功能,VROA分别与NFVO和VIM连接,以实现与NFVO和VIM的通信交互。相关网元描述如下:
虚拟网络功能VNF:VNF运行在NFVI之上,VNF可用于实现各个电信网络的业务功能,将物理网元映射为虚拟网元,将VNF所需资源分解为虚拟的计算、存储和网络资源。VNF作为一种软件功能,可部署在一个或多个虚拟机(Virtual Machine,VM)上,并由NFVI中的硬件(例如单板/主机)来承载。本发明一些实施例中,在需要进行VNF部署时,VNF的描述文件(Virtualized Network Function Descriptor,VNFD)可直接上传给NFVO。在又一些实施例中,VNFD可以分为配置文件和规格文件,其中配置文件可上传给NFVO,规格文件可上传给VROA。
网络功能虚拟化编排器NFVO:NFVO可用于对VNF及其对应的NFVI进行部署、操作、管理功能;NFVO可更改VROA使用的编排策略。因此,在多VNF共部署场景下,可根据VNF特点动态调整实例化策略。由于VROA的存在,每次VNF实例化时,NFVO可将实例化策略要求信息随着实例化请求一同下发。因此,在实例化不同VNF时,VROA可采用不同的实例化策略。在可能的实施例中,NFVO可通过接收上传或主动查询的方式获取VIM能力。NFVO的相关功能实现可参考后文方法实施例中NFVO的相关描述。
虚拟网络功能管理器VNFM:VNFM可用于实现对VNF生命周期管理,执行如检查、验证、修改等。本发明实施例中,VNFM例如可用于验证VNF实例化请求有效性,验证实例化VM所需参数的合法性,修改/完善输入的VNFD数据和检查VNF生命周期管理中的特殊需求等等。VNFM的相关功能实现可参考后文方法实施例中VNFM的相关描述。
虚拟资源编排和部署模块VROA:本发明实施例中,VROA负责VNF实例化过程中的VM编排和预部署功能。在可能的实施例中,VROA可通过接收上传或主动查询的方式获取VIM能力信息。在接收到NFVO的VM实例化请求后,VROA可通过与VIM交互获取准确的NFVI的硬件资源信息,并在本地生成所有与VNF相关的VM编排和预部署的方案信息,然后直接向VIM下发VM具体所需部署的硬件位置,以实现指导VIM精确部署VM。在VIM实例化VM之前对VNF中所有VM进行了编排和预部署。在一些实施例中,VROA还可以指示VIM对自身或硬件的使用状态进行更新,以避免多个VROA对VIM或硬件资源抢占冲突。在一个系统架构中,VROA的数量可以是一个或多个,所述一个或多个VROA可对应于同一个NFVO。VROA的相关功能实现可参考后文方法实施例中VROA的相关描述。
虚拟基础设施管理器VIM:VIM负责对NFVI资源的管理,控制VNF与计算、存储和网络资源的交互及虚拟机化的功能集。本发明一些实施例中,VIM可根据VROA指示的VM实例化顺序(而不是优先级),实现在VROA指定的NFVI硬件(如单板/主机)中部署VM。本发明一些实施例中,VIM可将自身的能力信息发送至VROA或NFVO;本发明一些实施例中,VIM可将NFVI的硬件资源信息发送至VROA。在一个系统架构中,所述VIM的数量可以是一个或多个,其中,每个VIM可与一个或多个VROA建立通信连接。例如,在一些场景中,NFVO和VROA均只有一个。一个VROA可以与多个VIM交互,但VIM之间无交互,的相关功能实现可参考后文方法实施例中VIM的相关描述。
网络功能虚拟化基础设施NFVI:NFVI提供了支持执行VNF所需的虚拟/硬件资源,包括计算资源、存储资源和网络资源、必要的加速器组件、软件层、其他用于虚拟化的底层硬件等。
需要说明的是,上述图3所示的系统架构只是本发明实施例的一种实现方式,基于本发明的技术思想,还可以对上述系统架构进行变形。举例来说,可以将NFVO的功能和本发明提供的VROA的功能整合在一起实施,比如可以将VROA作为NFVO的一个功能子模块予以实现。又举例来说,可以将VIM的功能和本发明提供的VROA的功能整合在一起实施,比如可以将VROA作为VIM的一个功能子模块予以实现。又举例来说,可将VROA模块独立于原有的MANO模块进行设计,等等。这些具体变形的系统架构皆可依据本发明的技术思想予以实施,故皆应视为本发明的保护范围。后文将主要以图3所示的系统架构为例进行技术方案的描述,而其他相关变形的系统架构的具体实现过程即可参考图3实施例以及后文的各个方法实施例进行类似实施,本文将不再一一阐述。
请参见图14,图14是本发明实施例提供的一种实例化VNF的方法,该方法包括但不限于如下步骤:
步骤10:第一网元接收用于指示实例化VNF的第一信息。其中,所述第一网元为MANO系统中的网元。
在一些实施例中,所述第一网元为本发明实施例提供的VROA。这种情况下,所述第一网元接收NFVO发送的第一信息,所述第一信息包括至少一个虚拟机类型、所述至少一个虚拟机类型的所需资源的指示信号、所述各种虚拟机类型的实例化优先级、实例化所述VNF所需的各种虚拟机类型的虚拟机数量、或所述至少一个虚拟机类型的约束信息中的至少一个。在一些具体应用场景中,所述第一信息具体为用于请求实例化VNF的第一请求,所述第一请求的相关描述可参考后文图4-图13实施例的相关描述,为了说明书的简洁,这里不再赘述。
在一些实施例中,所述第一网元为将NFVO的功能和本发明提供的VROA的功能整合在一起实施而形成的网元,比如可以将VROA作为NFVO的一个功能子模块,这样的NFVO即为所述第一网元。这种情况下,在一些实施例中,所述第一信息具体可为VNF的描述文件(VNFD),所述VNFD描述了一个VNF的部署与操作行为的配置模板。所述第一网元接收并相应解析所述VNFD。所述VNFD的相关信息还可参考后文图4-图9实施例的相关描述,为了说明书的简洁,这里不再赘述。在又一些实施例中,VNFD被拆分成配置信息和VM规格信息,所述第一信息包括所述配置信息。配置信息和VM规格信息的相关信息还可参考后文图4-图9实施例的相关描述,为了说明书的简洁,这里不再赘述。
在一些实施例中,所述第一网元为将VIM的功能和本发明提供的VROA的功能整合在一起实施而形成的网元,比如可以将VROA作为VIM的一个功能子模块,这样的VIM即为所述第一网元。在一些具体应用场景中,所述第一信息具体为用于请求实例化VNF的第一请求,所述第一请求的相关描述可参考后文图4-图13实施例的相关描述,为了说明书的简洁,这里不再赘述。
步骤20:第一网元获取用于指示NFVI的可用资源的硬件资源信息;所述可用资源包括至少一个硬件(如主机/单板)的资源,所述硬件表示用于承载虚拟机的最小物理资源集合。
在一些实施例中,当所述第一网元为本发明实施例提供的VROA时,所述第一网元可向VIM查询获得所述硬件资源信息。
在一些实施例中,所述第一网元为将NFVO的功能和本发明提供的VROA的功能整合在一起实施而形成的网元时,所述第一网元可向VIM查询获得所述硬件资源信息。
在一些实施例中,所述第一网元为将VIM的功能和本发明提供的VROA的功能整合在一起实施而形成的网元时,所述第一网元可直接检测NFVI获得所述NFVI的硬件资源信息。
其中,硬件资源信息可包括硬件ID(如单板/主机的ID)、计算资源,存储资源和网络资源等等的剩余资源、加速能力等。所述硬件即表示用于承载VM的最小物理资源集合。特别地,剩余资源中计算资源可包括NUMA ID以及各NUMA上的剩余核数和剩余内存;加速能力包括NUMA capability,可取值为N/A,FPGA,GPU,TPU等。另外,当VIM的数量有多个(Multi-VIM场景)时,该硬件资源信息还可包括VIM ID,以及各个VIM ID所对应管辖的一个或多个硬件ID。
步骤30:第一网元根据所述第一信息和所述硬件资源信息,确定所述VNF对应的至少一个VM与至少一个硬件之间的一一映射关系(例如VMIDs与硬件IDs的对照表)。当所述VNF对应的VM的数量有多个时,第一网元还进一步确定所述多个虚拟机的实例化顺序。所述实例化顺序即用于表示所述多个VM进行实例化的先后顺序。
在可能的实施例中,所述第一网元还可获取实例化策略信息和/或VIM能力信息,所述实例化策略信息表示对所述至少一个虚拟机实例化所采用的策略;所述策略例如为内存优先策略、资源利用率优先策略、主机均衡度优先策略等等,以便于根据VNF特点动态调整VM实例化策略,从而更好地满足用户需求。所述VIM能力信息用于指示VIM是否具有根据VROA指示的硬件ID进行VM实例化的能力,以便于第一网元在确定VIM具有根据VROA指示的硬件ID进行VM实例化的能力的情况下进行VNF的部署。
在这种情况下,所述第一网元具体根据所述第一信息、所述硬件资源信息、所述实例化策略信息和/或VIM能力信息,确定所述VNF对应的各个VM与硬件之间的映射关系以及VM的实例化顺序。
步骤40:第一网元根据所述映射关系和所述实例化顺序,确定在所述至少一个硬件上实例化所述至少一个虚拟机。
在一些实施例中,当所述第一网元为本发明实施例提供的VROA时,所述第一网元可根据所述映射关系和所述实例化顺序,请求VIM在各个指定的硬件上进行VM的精确部署,从而使得网络功能业务顺利上线。具体实现过程还可参考后文图5、图6实施例的相关描述,这里不再赘述。
在一些实施例中,所述第一网元为将NFVO的功能和本发明提供的VROA的功能整合在一起实施而形成的网元时,所述第一网元可根据所述映射关系和所述实例化顺序,请求VIM在各个指定的硬件上进行VM的精确部署,从而使得网络功能业务顺利上线。
在一些实施例中,所述第一网元为将VIM的功能和本发明提供的VROA的功能整合在一起实施而形成的网元时,所述第一网元可根据所述映射关系和所述实例化顺序,在NFVI的各个指定的硬件上进行VM的精确部署,从而使得网络功能业务顺利上线。
需要说明的是,图14方法实施例的各个步骤的详细实施细节可参考后文各个方法实施例予以实现,为了说明书的简洁,这里不再赘述。
可以看到,本发明实施例提供的第一网元能够根据第一信息、硬件资源信息等,针对VNF对应的多个VM的资源预先进行编排,制定各个VM与硬件资源之间的一一映射关系以及所有VM的实例化顺序。然后,根据该映射关系和实例化顺序,确定在各个指定的硬件上分别实例化该硬件所映射的VM。所以,实施本发明实施例能够实现针对VM的精确部署,提高硬件资源利用率,提升VM部署效率。
下面,基于图3所示的系统架构,即以第一网元为VROA的情况为例,对本发明实施例提供的一些实例化VNF的方法进行详细描述。
请参见图4,图4是本发明实施例提供的一种实例化VNF的方法,具体VNF实例化流程包括但不限于如下步骤:
步骤101:在系统初始建立时或VIM的VIM能力发生改变时,VIM可将其自身能力信息上报给NFVO。
其中,所述VIM能力信息用于指示VIM是否具有根据VROA指示的硬件ID进行VM实例化的能力。在一可能的实现中,所述VIM能力信息可以携带标识位“0”或“1”来表征,“0”可代表该VIM不支持根据VROA指示的硬件ID进行VM实例化,“1”可代表VIM支持根据VROA指示的硬件ID进行VM实例化;在又一可能的实现中,所述VIM能力信息可以携带特定的指示消息(如Support/Non-support)来表征VIM是否具有根据VROA指示的硬件ID进行VM实例化的能力。
步骤102:NFVO获得上传的VNF的描述文件(VNFD)。
可能实施例中,需要进行VNF部署时,NFVO获得管理员上传的VNFD(或接收来自OSS/BSS的VNFD),所述VNFD描述了一个VNF的部署与操作行为的配置模板。
步骤103:在解析上传的VNFD文件后,NFVO向VNFM发送VNF实例化请求。具体的,该VNF实例化请求中包括实例化VM所需的全部数据;可选的,如果在步骤103之前NFVO已经完成可行性检查,则该VNF实例化请求还可包括VIM资源预留信息。
步骤104:VNFM在收到NFVO发送的VNF实例化请求之后,根据VNF实例化请求进行相关处理,所述相关处理例如包括验证VNF实例化请求有效性,验证实例化VM所需参数的合法性,修改/完善输入的VNFD数据和检查VNF生命周期管理中的特殊需求(例如license检查),等等。
步骤105:VNFM向NFVO发送资源部署请求。
步骤106:NFVO在本地进行相关处理,这里的相关处理可包括对VNFD中VM部署资源数据的验证,部署地理位置选择和相关性检查,等等。
需要说明的是,上述步骤103-步骤106的详细实施过程可参考现有NFV的标准流程的相关描述(例如ETSI NFV-MAN 001中B.3.1.5部分的相关描述),鉴于本领域技术人员已熟悉上述实现细节,为了说明书的简洁,这里不再赘述。
步骤107:NFVO向VROA发送请求实例化VNF的第一请求。
其中,所述第一请求包括多种VM类型、多种VM类型中的各种VM类型所需资源的指示信号、所述各种VM类型的实例化优先级、实例化所述VNF所需的各种VM类型的VM数量、以及所述多种VM类型的约束信息中的至少一种;其中,所述多种VM类型的约束信息包括:所述相同VM类型的亲和/反亲和性、所述不同VM类型的亲和/反亲和性以及VM实例化的物理地点约束中的至少一种。
具体实现中,所述第一请求可包括所有VM的资源列表(Resource lists)。其中,Resource lists中包括了VM类型、各种VM类型所需资源的指示信号(如VM resourcerequired list)、元数据(meta-data)、各种VM类型的实例化优先级和实例化所述VNF所需的各种VM类型的VM数量等信息。这些信息可通过NFVO解析VNFD文件获取。其中:
VM类型所需资源的指示信号(如VM resource required list)中定义了实例化该类型VM需要消耗的资源,包括计算资源、存储资源和网络资源等;
元数据(meta-data)定义了实例化VM时所需的特殊要求,如不可跨NUMA部署、不可跨IO-NUMA部署等,不可跨NUMA部署表示VM可使用同一块NUMA上的CPU和内存资源;不可跨IO-NUMA部署表示VM只可使用与其所在NUMA绑定的网络资源。
VM实例化优先级表示各种VM类型对应的优先级。通常情况下,同种类型的VM具有相同的实例化优先级。VM实例化优先级可用数值表示,数值越小优先级越高,即可优先部署;
除了上述信息外,在一些实施例中,当NFVO获得VIM上报的VIM能力信息时,所述第一请求还可进一步包括所述VIM能力信息。
可选的,在一些实施例中,当NFVO指定了对所述VNF实例化所采用的策略,并相应生成了VM实例化策略信息。比如,VM实例化策略信息定义了用户在请求实例化VNF时希望采用的实例化策略类型。实例化策略类型例如可为list形式,list中可由多个关键字组成,关键字可包括策略(如内存优先策略,资源利用率优先策略,单板均衡度优先策略等)和厂商(如Huawei,ZTE,Nokia,Ericsson,Others等)等信息。值得注意的是,作为可选项,如用户不指定该策略要求,则该部分取值为N/A。在这种情况下,所述第一请求还可进一步包括所述VM实例化策略信息。
步骤108:VROA判断VIM是否具有根据VROA指定硬件ID部署VM的能力。
若VROA根据VIM能力信息,确定所述VIM支持指定硬件ID部署VM,则VROA可进一步执行后续流程109。
若VROA根据VIM能力信息,确定所述VIM不支持指定硬件ID部署VM,则可执行现有技术VNF实例化流程中的其他标准步骤直至流程结束,这个场景的具体实现本文中不展开描述。
步骤109:VROA向VIM查询NFVI的硬件资源信息。
具体的,当所述VIM支持指定硬件ID部署VM,则VROA通过用于请求查询NFVI的硬件资源信息的第三请求(如query resources information operation)向VIM查询底层硬件的状态信息。VIM向VROA反馈携带有NFVI的硬件资源信息的响应消息。该响应消息例如为PMresources list,该PM resources list中可包括硬件ID(如单板/主机的ID)、计算资源,存储资源和网络资源等等的剩余资源、加速能力等。所述硬件即表示用于承载VM的最小物理资源集合。特别地,剩余资源中计算资源可包括NUMA ID以及各NUMA上的剩余核数和剩余内存;加速能力包括NUMA capability,可取值为N/A,FPGA,GPU,TPU等。另外,当VIM的数量有多个(Multi-VIM场景)时,该PM resources list还可包括VIM ID,以及各个VIM ID所对应管辖的一个或多个硬件ID。
步骤110:可选的,VROA根据NFVO指定的策略确定算法。
VROA根据第一请求中的VM实例化策略信息,确定实例化策略对应的实例化算法,每个算法存在一个/多个公共标签(例如内存优先、资源利用率优先、Huawei、Nokia等等)。NFVO下发VM实例化策略信息(包括公共标签list),通过公共标签list筛选选择想使用的实例化算法。在可能实施例中,如果根据实例化策略要求筛选出多个算法,则随机使用其中一个算法。如果筛选后无任何算法满足要求,则VROA可反馈算法选择失败消息给NFVO,流程结束。
步骤111:VROA生成实例化所述VNF的方案信息。
本发明实施例中,VROA可根据所述第一请求和NFVI的硬件资源信息,生成实例化所述VNF的方案信息;所述方案信息包括实例化所述VNF所需的多个VM的ID、所述多个VM的ID与所述多个硬件ID之间的一一映射关系(例如VMIDs与硬件IDs的对照表)、以及所述多个VM的实例化顺序,等等。
具体的,所述VROA可根据所述各种VM类型所需资源的指示信号、NFVI的硬件资源信息、以及所述多种VM类型的约束信息,可选的,还根据实例化策略对应的算法,确定实例化所述VNF所需的多个VM的IDs、以及所述多个VM的IDs与硬件IDs之间的一一映射关系;根据所述各种VM类型的实例化优先级和实例化所述VNF所需的各种VM类型的VM数量,确定所述多个VM的实例化顺序。
需要说明的是,在可能的应用场景中,若VROA无法生成方案信息,如由于硬件资源不足、VM间反亲和性无法满足等原因导致无法生成方案信息,那么VROA可向NFVO发送方案生成失败消息,流程结束。
步骤112:VROA根据所述方案信息,向VIM发送第二请求,所述第二请求用于请求实例化所述VNF对应的多个VM。
步骤113:VIM根据VROA的请求,实现在硬件上实例化该硬件对应的VM。
可选的,在本发明实施例后续步骤中,在VNF对应的所有VM均实例化成功后,VROA可向NFVO反馈ACK消息。
对于上述步骤112和113,本发明具体实施例可以有多种具体的实现方式。
举例来说,在一种实现方式中,参见图5,在步骤112A,VROA根据生成的方案信息,按所述多个VM的实例化顺序,依次向VIM发送第二请求,每次发送的第二请求包括所述当次需实例化的VM的标识(ID)、所述当次需实例化的VM的ID所映射的硬件的ID、以及所述当次需实例化的VM所需资源的指示信号(如Resource lists)。值得注意的是,本步骤中Resource lists和步骤107中NFVO向VROA下发消息中Resource lists有差异:当前第二请求中的Resource lists中不包含VM实例化优先级、VM数量等信息。在步骤113A-1:VIM根据VROA的第二请求,通过南向接口在NFVI上的当次指定硬件中实例化该硬件所映射的VM。步骤113A-2:完成当次的VM部署后,VIM可向VROA反馈部署ACK信息。可以理解的,后续通过步骤113A-3:VROA根据实例化顺序,针对下一个VM继续执行与上述步骤112A、步骤113A-1、113A-2类似的过程,直至将所有VM成功实例化。这种方案的优点是,每次VROA只需要向VIM发送当次VM的相关信息,减少当次的数据发送量。在VIM反馈ACK的情况下,VROA才继续执行下一次的发送。如果在这个过程中VIM对当前VM部署失败,则可反馈NACK,那么VROA可取消后续的VM的相关信息的发送,流程结束。
又举例来说,相对于上述方案循环发送VM实例化请求,VROA也可以将所有VM的相关信息一次下发,这样,VIM可在本地根据VM实例化顺序,依次实例化VMs,从而减少与VROA的往复交互,提高VM部署效率。在一种实现方式中,参见图6,在步骤112B:VROA向VIM发送第二请求,与图5方案所不同的是,该第二请求中包括:实例化所述VNF所需的多个VM的ID、多个VM的ID与多个硬件的ID之间的一一映射关系、所述多个VM的实例化顺序、以及所述多个VM所需资源的指示信号(如Resource lists)。值得注意的是,本步骤中Resource lists同样和步骤107中NFVO向VROA下发消息中Resource lists有差异:当前第二请求中的Resource lists中不包含VM实例化优先级、VM数量等信息。在步骤113B:VIM根据VM实例化顺序,依次通过南向接口在NFVI上的各个指定硬件中实例化所述各个硬件所映射的各个VM。
下面基于上文的方法简述VNF实例化的一种具体实现过程。参见图7,VNF中的各个VNFC在NFVI中由不同类型的VM(如图示中不同的VM)承载,本发明实施例提供的VROA可根据NFVO的请求和VIM提供的NFVI硬件资源信息,针对各个VM进行资源编排和预部署,然后,VIM可根据VROA的指示在各个指定的硬件中(如图示中各个指定的单板)进行VM的精确部署,最终使得网络功能业务顺利上线。
可以看到,本申请实施例提供的VROA能够根据NFVO和VIM提供的信息,针对VNF对应的多个VM的资源预先进行编排,制定各个VM与硬件资源之间的一一映射关系以及所有VM的实例化顺序。然后,根据该映射关系和实例化顺序,指导VIM完成在各个指定的硬件上分别实例化该硬件所映射的VM。所以,实施本发明实施例能够实现针对VM的精确部署,提高硬件资源利用率,提升VM部署效率。还可以看到,本发明实施例还可根据VNF特点动态调整VM实例化策略,从而更好地满足用户需求。
请参见图8,图8是本发明实施例提供的又一种实例化VNF方法,该方法与图4实施例所描述的方法主要区别在于,在系统初始建立时或VIM能力发生改变时,VIM主动将其自身能力信息直接上报给VROA。该方法具体包括但不限于以下步骤:
步骤201:在系统初始建立时或VIM能力发生改变时,VIM将其自身能力信息直接上报给VROA。
其中,所述VIM能力信息用于指示VIM是否具有根据VROA指示的硬件ID进行VM实例化的能力。在一可能的实现中,所述VIM能力信息可以携带标识位“0”或“1”来表征,“0”可代表该VIM不支持根据VROA指示的硬件ID进行VM实例化,“1”可代表VIM支持根据VROA指示的硬件ID进行VM实例化;在又一可能的实现中,所述VIM能力信息可以携带特定的指示消息(如Support/Non-support)来表征VIM是否具有根据VROA指示的硬件ID进行VM实例化的能力。
步骤202:NFVO获得上传的VNFD。具体实施可参考图4实施例步骤102的描述,这里不再赘述。
在步骤203:在解析上传的VNFD文件后,NFVO向VNFM发送VNF实例化请求。在步骤204:VNFM在收到NFVO发送的实例化请求之后对发送消息进行相关处理。在步骤205:VNFM向NFVO发送资源部署请求。在步骤206:NFVO在本地进行相关处理。
同样,上述步骤203-步骤206的详细实施过程可参考图4实施例步骤103-步骤106以及现有NFV的标准流程的相关描述(例如ETSI NFV-MAN 001中B.3.1.5部分的相关描述),鉴于本领域技术人员已熟悉上述实现细节,为了说明书的简洁,这里不再赘述。
步骤207:NFVO向VROA发送请求实例化VNF的第一请求。
其中,所述第一请求包括多种VM类型、多种VM类型中的各种VM类型所需资源的指示信号、所述各种VM类型的实例化优先级、实例化所述VNF所需的各种VM类型的VM数量、以及所述多种VM类型的约束信息中的至少一种;其中,所述多种VM类型的约束信息包括:所述相同VM类型的亲和/反亲和性、所述不同VM类型的亲和/反亲和性以及VM实例化的物理地点约束中的至少一种。
具体实现中,所述第一请求可包括所有VM的资源列表(Resource lists)。其中,Resource lists中包括了VM类型、各种VM类型所需资源的指示信号(如VM resourcerequired list)、元数据(meta-data)、各种VM类型的实例化优先级和实例化所述VNF所需的各种VM类型的VM数量等信息。这些信息可通过NFVO解析VNFD文件获取。
可选的,在一些实施例中,当NFVO指定了对所述VNF实例化所采用的策略,并相应生成了VM实例化策略信息。比如,VM实例化策略信息定义了用户在请求实例化VNF时希望采用的实例化策略类型。实例化策略类型例如可为list形式,list中可由多个关键字组成,关键字可包括策略(如内存优先策略,资源利用率优先策略,单板均衡度优先策略等)和厂商(如Huawei,ZTE,Nokia,Ericsson,Others等)等信息。值得注意的是,作为可选项,如用户不指定该策略要求,则该部分取值为N/A。在这种情况下,所述第一请求还可进一步包括所述VM实例化策略信息。
需要说明的是,与图4实施例步骤107所不同的是,这里的第一请求不包括VIM能力信息。
步骤208:VROA判断VIM是否具有根据指定硬件ID部署VM的能力。
步骤209:若VIM具有在指定硬件ID部署VM的能力,则VROA向VIM查询NFVI的硬件资源信息。
步骤210:可选的,VROA根据NFVO指定的策略确定算法。
步骤211:VROA生成实例化所述VNF的方案信息。
步骤212:VROA根据所述方案信息,向虚拟基础设施管理器发送第二请求,所述第二请求用于请求实例化所述VNF所需的虚拟机。
步骤213:VIM根据VROA的请求,实现在硬件上部署该硬件对应的VM。
同样,上述步骤208-步骤213的详细实现可参考图4实施例步骤108-步骤113的详细描述,为了说明书的简洁,这里不再赘述。
可选的,在VNF所有VM均实例化成功后,VROA向NFVO反馈ACK消息。
可以看到,本发明实施例中,VIM能力发生改变后直接将VIM能力信息上报给VROA,而NFVO向VROA下发的第一请求中无需携带该信息,减少NFVO与VROA之间信令交互数据量。同样,VROA能够根据NFVO和VIM提供的信息,针对VNF对应的多个VM的资源预先进行编排,制定各个VM与硬件资源之间的一一映射关系以及所有VM的实例化顺序。然后,根据该映射关系和实例化顺序,指导VIM完成在各个指定的硬件上分别实例化该硬件所映射的VM。所以,实施本发明实施例能够实现针对VM的精确部署,提高硬件资源利用率,提升VM部署效率。还可以看到,本发明实施例还可根据VNF特点动态调整VM实例化策略,从而更好地满足用户需求。
请参见图9,图9是本发明实施例提供的又一种实例化VNF方法,该方法与图4实施例所描述的方法主要区别在于,VROA在接收到NFVO的第一请求之后主动查询VIM能力信息,无需NFVO下发VIM能力信息。该方法具体包括但不限于以下步骤:
步骤301:NFVO获得上传的VNFD。具体实施可参考图4实施例步骤102的描述,这里不再赘述。
在步骤302:在解析上传的VNFD文件后,NFVO向VNFM发送VNF实例化请求。在步骤303:VNFM在收到NFVO发送的实例化请求之后对发送消息进行相关处理。在步骤304:VNFM向NFVO发送资源部署请求。在步骤305:NFVO在本地进行相关处理。
同样,上述步骤302-步骤305的详细实施过程可参考图4实施例步骤103-步骤106以及现有NFV的标准流程的相关描述(例如ETSI NFV-MAN 001中B.3.1.5部分的相关描述),鉴于本领域技术人员已熟悉上述实现细节,为了说明书的简洁,这里不再赘述。
步骤306:NFVO向VROA发送请求实例化VNF的第一请求。
其中,所述第一请求包括多种VM类型、多种VM类型中的各种VM类型所需资源的指示信号、所述各种VM类型的实例化优先级、实例化所述VNF所需的各种VM类型的VM数量、以及所述多种VM类型的约束信息中的至少一种;其中,所述多种VM类型的约束信息包括:所述相同VM类型的亲和/反亲和性、所述不同VM类型的亲和/反亲和性以及VM实例化的物理地点约束中的至少一种。
具体实现中,所述第一请求可包括所有VM的资源列表(Resource lists)。其中,Resource lists中包括了VM类型、各种VM类型所需资源的指示信号(如VM resourcerequired list)、元数据(meta-data)、各种VM类型的实例化优先级和实例化所述VNF所需的各种VM类型的VM数量等信息。这些信息可通过NFVO解析VNFD文件获取。
可选的,在一些实施例中,当NFVO指定了对所述VNF实例化所采用的策略,并相应生成了VM实例化策略信息。比如,VM实例化策略信息定义了用户在请求实例化VNF时希望采用的实例化策略类型。实例化策略类型例如可为list形式,list中可由多个关键字组成,关键字可包括策略(如内存优先策略,资源利用率优先策略,单板均衡度优先策略等)和厂商(如Huawei,ZTE,Nokia,Ericsson,Others等)等信息。值得注意的是,作为可选项,如用户不指定该策略要求,则该部分取值为N/A。在这种情况下,所述第一请求还可进一步包括所述VM实例化策略信息。
需要说明的是,与图4实施例步骤107所不同的是,这里的第一请求不包括VIM能力信息。
步骤307:VROA向VIM查询VIM的能力信息。
在接收到NFVO发送的请求实例化VNF的第一请求后,VROA向VIM发送状态查询请求。VIM向VROA反馈自身能力信息。同理,所述VIM能力信息用于指示VIM是否具有根据VROA指示的硬件ID进行VM实例化的能力。在一可能的实现中,所述VIM能力信息可以携带标识位“0”或“1”来表征,“0”可代表该VIM不支持根据VROA指示的硬件ID进行VM实例化,“1”可代表VIM支持根据VROA指示的硬件ID进行VM实例化;在又一可能的实现中,所述VIM能力信息可以携带特定的指示消息(如Support/Non-support)来表征VIM是否具有根据VROA指示的硬件ID进行VM实例化的能力。
步骤308:VROA判断VIM是否具有根据指定硬件ID部署VM的能力。
步骤309:若VIM具有在指定硬件ID部署VM的能力,则VROA向VIM查询NFVI的硬件资源信息。
步骤310:可选的,VROA根据NFVO指定的策略确定算法。
步骤311:VROA生成实例化所述VNF的方案信息。
步骤312:VROA根据所述方案信息,向虚拟基础设施管理器发送第二请求,所述第二请求用于请求实例化所述虚拟网络功能所需的虚拟机。
步骤313:VIM根据VROA的请求,实现在硬件上部署该硬件对应的VM。
同样,上述步骤308-步骤313的详细实现可参考图4实施例步骤108-步骤113的详细描述,为了说明书的简洁,这里不再赘述。
可选的,在VNF所有VM均实例化成功后,VROA向NFVO反馈ACK消息。
可以看到,本发明实施例中,VROA在收到NFVO的实例化VNF的第一请求后,主动请求VIM能力信息,而NFVO向VROA下发的第一请求中无需携带该信息,减少NFVO与VROA之间信令交互数据量。同样,VROA能够根据NFVO和VIM提供的信息,针对VNF对应的多个VM的资源预先进行编排,制定各个VM与硬件资源之间的一一映射关系以及所有VM的实例化顺序。然后,根据该映射关系和实例化顺序,指导VIM完成在各个指定的硬件上分别实例化该硬件所映射的VM。所以,实施本发明实施例能够实现针对VM的精确部署,提高硬件资源利用率,提升VM部署效率。还可以看到,本发明实施例还可根据VNF特点动态调整VM实例化策略,从而更好地满足用户需求。
请参见图10,图10是本发明实施例提供的又一种实例化VNF方法。在图4实施例、图8实施例和图9实施例所描述的方法中,VNFD通过NFVO解析。NFVO在下发请求实例化VNF的第一请求时,该第一请求中附带有VM实例化所需资源的指示信号和元数据(meta-data),而这部分数据量占了第一请求消息中的绝大部分。图10实施例中,VNFD被拆分为配置信息和规格信息,并由NFVO和VROA独立解析的方法,进一步减少NFVO和VROA之间信令交互数据量。该方法包括但不限于以下步骤:
步骤401:在系统初始建立时或VIM的VIM能力发生改变时,VIM可将其自身能力信息上报给VROA。具体可参考图8实施例步骤201的描述,这里不再赘述。
在步骤402A:NFVO获得VNFD文件中的配置信息;在步骤402B:VROA获得VNFD文件中的VM规格信息。
也即是说,原VNFD被拆分为两部分:配置信息和VM规格信息。配置信息和VM规格信息分别被上传至NFVO和VROA,由NFVO和VROA独立解析。
在一些实施例中,所述VM规格信息包括:所有与VIM实例化VM所需相关信息,如所有VM的资源列表(Resource lists)、多种VM类型的约束信息等等;其中,Resource lists中包括了VM类型、各种VM类型所需资源的指示信号(如VM resource required list)、元数据(meta-data)、各种VM类型的实例化优先级和实例化所述VNF所需的各种VM类型的VM数量等信息。所述多种VM类型的约束信息包括:所述相同VM类型的亲和/反亲和性、所述不同VM类型的亲和/反亲和性以及VM实例化的物理地点约束中的至少一种。
相应的,所述配置信息包括原VNFD中除所述VM规格信息外的其他信息,例如VNF的类型、版本号和所需要的软件包等信息。
在步骤403:NFVO在解析上传的配置信息后,NFVO向VNFM发送VNF实例化请求。在步骤404:VNFM在收到NFVO发送的实例化请求之后对发送消息进行相关处理。在步骤405:VNFM向NFVO发送资源部署请求。在步骤406:NFVO在本地进行相关处理。
同样,上述步骤403-步骤406的详细实施过程可参考图4实施例步骤103-步骤106以及现有NFV的标准流程的相关描述(例如ETSI NFV-MAN 001中B.3.1.5部分的相关描述),鉴于本领域技术人员已熟悉上述实现细节,为了说明书的简洁,这里不再赘述。
步骤407:NFVO向VROA发送请求实例化VNF的第一请求。
与图4实施例步骤207不同的是,该第一请求中包括VNF的标识信息(如VNF Name),而不包括VIM能力信息和VM规格信息(如所有VM的资源列表、多种VM类型的约束信息等)。其中:VNF Name指定当前需部署VNF的名称。值得注意的是,这里的VNF Name需要与VNFD中VM规格信息部分中定义的VNF Name一致。这样,有利于后续VROA根据所述VNF Name确定VNF所对应的VM规格信息。
可选的,在一些实施例中,当NFVO指定了对所述VNF实例化所采用的策略,并相应生成了VM实例化策略信息。在这种情况下,所述第一请求还可进一步包括所述VM实例化策略信息。
步骤408:VROA判断VIM是否具有根据指定硬件ID部署VM的能力。
步骤409:若VIM具有在指定硬件ID部署VM的能力,则VROA向VIM查询NFVI的硬件资源信息。
步骤410:可选的,VROA根据NFVO指定的策略确定算法。
步骤411:VROA生成实例化所述VNF的方案信息。
步骤412:VROA根据所述方案信息,向虚拟基础设施管理器发送第二请求,所述第二请求用于请求实例化所述虚拟网络功能所需的虚拟机。
步骤413:VIM根据VROA的请求,实现在硬件上部署该硬件对应的VM。
同样,上述步骤408-步骤413的详细实现可参考图4实施例步骤108-步骤113的详细描述,为了说明书的简洁,这里不再赘述。
可选的,在VNF所有VM均实例化成功后,VROA向NFVO反馈ACK消息。
可以看到,本发明实施例中,VNFD被拆分成配置信息和VM规格信息分别上传,并分别由NFVO和VROA独立解析,大幅度减少了VNF实例化过程中NFVO与VROA的信令交互数据量。同样,VROA能够根据NFVO和VIM提供的信息,针对VNF对应的多个VM的资源预先进行编排,制定各个VM与硬件资源之间的一一映射关系以及所有VM的实例化顺序。然后,根据该映射关系和实例化顺序,指导VIM完成在各个指定的硬件上分别实例化该硬件所映射的VM。所以,实施本发明实施例能够实现针对VM的精确部署,提高硬件资源利用率,提升VM部署效率。还可以看到,本发明实施例还可根据VNF特点动态调整VM实例化策略,从而更好地满足用户需求。
请参见图11,图11是本发明实施例提供的又一种实例化VNF方法,该方法与图10实施例所描述的方法主要区别在于,VROA在接收到NFVO的第一请求之后主动查询VIM能力信息,而无需VIM提前上报VIM能力信息。该方法具体包括但不限于以下步骤:
步骤501A:NFVO获得VNFD文件中的配置信息;步骤501B:VROA获得VNFD文件中的规格信息。
上述步骤501A和步骤501B的详细实现过程可参考图10实施例步骤402A和步骤402B的详细描述,这里不再赘述。
在步骤502:在解析上传的配置信息后,NFVO向VNFM发送VNF实例化请求。在步骤503:VNFM在收到NFVO发送的实例化请求之后对发送消息进行相关处理。在步骤504:VNFM请求NFVO发送资源部署请求。在步骤505:NFVO在本地进行相关处理。
同样,上述步骤502-步骤505的详细实施过程可参考图4实施例步骤103-步骤106以及现有NFV的标准流程的相关描述(例如ETSI NFV-MAN 001中B.3.1.5部分的相关描述),鉴于本领域技术人员已熟悉上述实现细节,为了说明书的简洁,这里不再赘述。
步骤506:NFVO向VROA发送请求实例化VNF的第一请求。具体实现可参考图10实施例步骤407的描述,这里不再赘述。
步骤507:VROA向VIM查询VIM的能力信息。
在接收到NFVO发送的请求实例化VNF的第一请求后,VROA向VIM发送状态查询请求。VIM向VROA反馈自身能力信息。同理,所述VIM能力信息用于指示VIM是否具有根据VROA指示的硬件ID进行VM实例化的能力。在一可能的实现中,所述VIM能力信息可以携带标识位“0”或“1”来表征,“0”可代表该VIM不支持根据VROA指示的硬件ID进行VM实例化,“1”可代表VIM支持根据VROA指示的硬件ID进行VM实例化;在又一可能的实现中,所述VIM能力信息可以携带特定的指示消息(如Support/Non-support)来表征VIM是否具有根据VROA指示的硬件ID进行VM实例化的能力。
步骤508:VROA判断VIM是否具有根据指定硬件ID部署VM的能力。
步骤509:若VIM具有在指定硬件ID部署VM的能力,则VROA向VIM查询NFVI的硬件资源信息。
步骤510:可选的,VROA根据NFVO指定的策略确定算法。
步骤511:VROA生成实例化所述VNF的方案信息。
步骤512:VROA根据所述方案信息,向虚拟基础设施管理器发送第二请求,所述第二请求用于请求实例化所述虚拟网络功能所需的虚拟机。
步骤513:VIM根据VROA的请求,实现在硬件上部署该硬件对应的VM。
同样,上述步骤508-步骤513的详细实现可参考图4实施例步骤108-步骤113的详细描述,为了说明书的简洁,这里不再赘述。
可选的,在VNF所有VM均实例化成功后,VROA向NFVO反馈ACK消息。
可以看到,本发明实施例中,VNFD被拆分成配置信息和VM规格信息分别上传,并分别由NFVO和VROA独立解析,大幅度减少了VNF实例化过程中NFVO与VROA的信令交互数据量。VROA在接收到NFVO实例化请求之后,主动查询VIM能力信息,无需VIM预先主动上报该信息。同样,VROA能够根据NFVO和VIM提供的信息,针对VNF对应的多个VM的资源预先进行编排,制定各个VM与硬件资源之间的一一映射关系以及所有VM的实例化顺序。然后,根据该映射关系和实例化顺序,指导VIM完成在各个指定的硬件上分别实例化该硬件所映射的VM。所以,实施本发明实施例能够实现针对VM的精确部署,提高硬件资源利用率,提升VM部署效率。还可以看到,本发明实施例还可根据VNF特点动态调整VM实例化策略,从而更好地满足用户需求。
上述一些方法实施例可适用于只有一个NFVO和VROA的场景。然而,在存在多个VROA场景下,在实例化不同VNF的过程中对底层硬件资源的竞争不可避免。为了避免资源抢占带来的一系列问题,本发明实施例进一步提供了避免资源抢占的一些方法。
请参见图12,图12是本发明实施例提供的又一种实例化VNF方法,该方法与上述一些方法实施例的主要区别在于,在多个VROA场景下,VIM可包括两种工作状态:预留(reserve)状态和自由(free)状态,reserve状态表示VIM的使用状态为被占用状态,这种情况下,VIM只为当前的VROA提供VM实例化服务,而不对其他VROA服务。free状态表示VIM处于空闲状态,此时VIM可对任意VROA提供服务。VIM可通过与VROA交互,在这两种状态之间进行切换。为了更好说明本方案,默认在实例化VNF之前,VIM处于free状态。该方法可包括但不限于以下步骤:
步骤601:在一些实施例中,本步骤601的实施过程可参考前述图4实施例步骤101-步骤108的描述以实现;在一些实施例中,本步骤601的实施过程可参考图8实施例步骤201-步骤208的描述以实现;在一些实施例中,本步骤601的实施过程可参考图9实施例步骤301-步骤308的描述以实现;在一些实施例中,本步骤601的实施过程可参考图10实施例步骤401-步骤408的描述以实现;在一些实施例中,本步骤601的实施过程可参考图11实施例步骤501A、步骤501B-步骤508的描述以实现。为了说明书的简洁,这里不再一一展开详述。
步骤602:VROA向VIM发送请求查询硬件资源信息的第三请求。
在VIM具有根据指定硬件ID部署VM的能力的情况下,VROA向VIM发送请求查询硬件资源信息的第三请求,比如通过query resources information operation向VIM查询底层硬件资源信息。具体的,该第三请求中包含预留指示(reservation indicator)信息,该信息作为发送消息的VROA的独立标识。在一些可能的实现中,可直接使用VROA ID作为该预留指示信息。在又一些可能的实现中,可将随机生成的随机数作为该预留指示信息。
步骤603:VIM获取NFVI的硬件资源信息。
具体的,所述硬件资源信息(如PM resources list)可包括硬件ID(如单板/主机的ID)、计算资源,存储资源和网络资源等等的剩余资源、加速能力等。所述硬件即表示用于承载VM的最小物理资源集合。特别地,剩余资源中计算资源可包括NUMA ID以及各NUMA上的剩余核数和剩余内存;加速能力包括NUMA capability,可取值为N/A,FPGA,GPU,TPU等。另外,当VIM的数量有多个(Multi-VIM场景)时,该PM resources list还可包括VIM ID,以及各个VIM ID所对应管辖的一个或多个硬件ID。
步骤604:VIM将VIM的使用状态更新为reserve状态。
具体的,如果VIM当前状态为free状态,则VIM修改自己状态为reserve状态,并生成对应的第一使用状态信息,所述第一使用状态信息表示所述VIM的使用状态已从free状态变为reserve状态。在一具体实现中,所述第一使用状态信息例如为预留标识(Reservation ID),Reservation ID可以为随机生成的一组数字。在又一具体实现中,所述第一使用状态信息还可以是ACK信息。
需要说明的是,在可能的应用场景中,如果VIM当前状态已经是reserve状态,说明此时该VIM正服务于其他VROA,无法为当前VROA提供服务,此时VIM将不执行上述步骤604,且VIM直接向VROA反馈NACK信息。后续,VROA在接收到NACK或请求反馈超时后,可随机后退一段时间再进行重试。随机后退时间通常需大于VNF实例化时间,可由使用者设置,这里不进行展开详述。
步骤605:VIM向VROA反馈第一响应。
VIM根据VROA的第三请求,向VROA反馈第一响应信息。基于步骤604中所生成的所述第一使用状态信息,相应的,在一些可能实施例中,所述第一响应信息可包括硬件资源信息(如PM resources list)和Reservation ID;在一些可能实施例中,所述第一响应信息可包括硬件资源信息(如PM resources list)和ACK信息。该PM resources list中可包括硬件ID(如单板/主机的ID)、计算资源,存储资源和网络资源等等的剩余资源、加速能力等。所述硬件即表示用于承载VM的最小物理资源集合。特别地,剩余资源中计算资源可包括NUMAID以及各NUMA上的剩余核数和剩余内存;加速能力包括NUMA capability,可取值为N/A,FPGA,GPU,TPU等。另外,当VIM的数量有多个(Multi-VIM场景)时,该PM resources list还可包括VIM ID,以及各个VIM ID所对应管辖的一个或多个硬件ID。
需要说明的是,在可能的应用场景中,在上述步骤604,VIM将自己状态从free状态修改为reserve状态后,也可以不生成第一使用状态信息,在这种情况下,VIM向VROA反馈的第一响应相应地不包括第一使用状态信息,只需包括硬件资源信息。
步骤606:可选的,VROA根据NFVO指定的策略确定算法。
步骤607:VROA生成实例化所述VNF的方案信息。
步骤608:VROA根据所述方案信息,向虚拟基础设施管理器发送第二请求,所述第二请求用于请求实例化所述虚拟网络功能所需的虚拟机。
步骤609:VIM根据VROA的请求,实现在硬件上部署该硬件对应的VM。
同样,上述步骤606-步骤609的详细实现可参考图4实施例步骤108-步骤113的详细描述,为了说明书的简洁,这里不再赘述。
步骤610:在VNF所有VM均实例化成功后,VROA向NFVO反馈ACK消息。
步骤611:可选的,VROA向VIM通知解除占用。具体的,VROA向VIM发送资源预留解除消息,该消息中可附带步骤605中VIM返回的reservation ID。
步骤612:VIM收到解除占用的通知后,将自己的状态从reserve状态修改为free状态。这样,后续该VIM将可响应其他VROA相关的查询硬件资源信息的请求,为其他VROA提供服务。
可以看出,本发明实施例中,在VROA需要查询硬件资源信息时,VROA与VIM之间可通过预留标识(Reservation ID)确认身份,VIM对自身状态进行更新、存储。VROA能够根据NFVO和VIM提供的信息,针对VNF对应的多个VM的资源预先进行编排,制定各个VM与硬件资源之间的一一映射关系以及所有VM的实例化顺序。然后,根据该映射关系和实例化顺序,指导VIM完成在各个指定的硬件上分别实例化该硬件所映射的VM。所以,实施本发明实施例能够实现针对VM的精确部署,提高硬件资源利用率,提升VM部署效率。
在VNF部署完毕之后,VROA与VIM交互解除VIM的被占用状态,所以实施本发明实施例能够实现单个VIM在同一时间只能服务于一个VROA,避免了多VROA场景下的资源抢占,保证了VNF部署的顺利进行。
请参见图13,图13是本发明实施例提供的又一种实例化VNF方法,该方法实施例与图12实施例的区别主要在于,在多个VROA场景下,在图12实施例中,VROA向VIM发送第三请求后,VIM直接将自己状态更新为reserve状态。这也意味着,在当前实例化阶段内,VIM管理的所有硬件资源均无法被其他VROA使用。而在图13实施例中,除了VIM有两种工作状态(reserve状态和free状态)外,VIM管理的各个硬件(如单板/主机等)的工作状态也同样可分为预留(reserve)状态和自由(free)状态,各个硬件的状态变化可由VIM操作记录。可以理解的,某个硬件的状态为reserve状态即表示该硬件的使用状态为被占用状态;这种情况下,该硬件只为当前的VROA提供部署服务,而不对其他VROA服务。某个硬件的状态为free状态即表示该硬件处于空闲状态,此时该硬件可对任意VROA提供服务。VIM可通过与VROA交互,一方面可将自身的状态进行更改,另一方面将VIM所存储的关于硬件的状态信息进行修改。为了更好说明本方案,默认在实例化VNF之前,VIM处于free状态,存在部分Host处于free状态。该方法可包括但不限于以下步骤:
步骤701:在一些实施例中,本步骤701的实施过程可参考前述图4实施例步骤101-步骤108的描述以实现;在一些实施例中,本步骤701的实施过程可参考图8实施例步骤201-步骤208的描述以实现;在一些实施例中,本步骤701的实施过程可参考图9实施例步骤301-步骤308的描述以实现;在一些实施例中,本步骤701的实施过程可参考图10实施例步骤401-步骤408的描述以实现;在一些实施例中,本步骤701的实施过程可参考图11实施例步骤501A、步骤501B-步骤508的描述以实现。为了说明书的简洁,这里不再一一展开详述。
需要说明是,在本步骤701实现过程中,由于硬件状态已被标定为reserve状态的硬件不对外提供服务,故VIM向VROA反馈的硬件资源信息(剩余资源)中不包括硬件状态为reserve状态的硬件的相关信息。
步骤702:VROA向VIM发送请求查询硬件资源信息的第三请求。
在VIM具有根据指定硬件ID部署VM的能力的情况下,VROA向VIM发送请求查询硬件资源信息的第三请求,比如通过query resources information operation向VIM查询底层硬件资源信息。具体的,该第三请求中包含预留指示(reservation indicator)信息,该信息作为发送消息的VROA的独立标识。在一些可能的实现中,可直接使用VROA ID作为该预留指示信息。在又一些可能的实现中,可将随机生成的随机数作为该预留指示信息。
步骤703:VIM获取NFVI的硬件资源信息。
具体的,所述硬件资源信息(如PM resources list)可包括硬件ID(如单板/主机的ID)、计算资源,存储资源和网络资源等等的剩余资源、加速能力等。所述硬件即表示用于承载VM的最小物理资源集合。特别地,剩余资源中计算资源可包括NUMA ID以及各NUMA上的剩余核数和剩余内存;加速能力包括NUMA capability,可取值为N/A,FPGA,GPU,TPU等。另外,当VIM的数量有多个(Multi-VIM场景)时,该PM resources list还可包括VIM ID,以及各个VIM ID所对应管辖的一个或多个硬件ID。
步骤704:VIM将VIM的使用状态更新为reserve状态。
具体的,如果VIM当前状态为free状态,则VIM修改自己状态为reserve状态,并生成对应的第一使用状态信息,所述第一使用状态信息表示所述VIM的使用状态已从free状态变为reserve状态。在一具体实现中,所述第一使用状态信息例如为预留标识(Reservation ID),Reservation ID可以为随机生成的一组数字。在又一具体实现中,所述第一使用状态信息还可以是ACK信息。
需要说明的是,在可能的应用场景中,如果VIM当前状态已经是reserve状态,说明此时该VIM正服务于其他VROA,无法为当前VROA提供服务,此时VIM将不执行上述步骤604,且VIM直接向VROA反馈NACK信息。后续,VROA在接收到NACK或请求反馈超时后,可随机后退一段时间再进行重试。随机后退时间通常需大于VNF实例化时间,可由使用者设置,这里不进行展开详述。
步骤705:VIM向VROA反馈第一响应。
VIM根据VROA的第三请求,向VROA反馈第一响应信息。基于上述步骤704中所生成的第一使用状态信息,相应的,在一些实施例中,所述第一响应信息可包括硬件资源信息(如PM resources list)和Reservation ID;在一些实施例中,所述第一响应信息可包括硬件资源信息(如PM resources list)和ACK信息。该PM resources list中可包括硬件ID(如单板/主机的ID)、计算资源,存储资源和网络资源等等的剩余资源、加速能力等。所述硬件即表示用于承载VM的最小物理资源集合。特别地,剩余资源中计算资源可包括NUMA ID以及各NUMA上的剩余核数和剩余内存;加速能力包括NUMA capability,可取值为N/A,FPGA,GPU,TPU等。另外,当VIM的数量有多个(Multi-VIM场景)时,该PM resources list还可包括VIM ID,以及各个VIM ID所对应管辖的一个或多个硬件ID。
需要说明的是,在可能的应用场景中,在上述步骤704,VIM将自己状态从free状态修改为reserve状态后,也可以不生成第一使用状态信息,在这种情况下,VIM向VROA反馈的第一响应相应地不包括第一使用状态信息,只需包括硬件资源信息。
步骤706:可选的,VROA根据NFVO指定的策略确定算法。具体可参考图4实施例步骤110的详细描述,这里不再赘述。
步骤707:VROA生成实例化所述VNF的方案信息。具体可参考图4实施例步骤111的详细描述,这里不再赘述。
步骤708:VROA向VIM发送请求占用资源的第四请求。
具体的,VROA根据生成的方案信息统计实例化该VNF需使用到的硬件的ID。然后,VROA向VIM发送请求占用这些硬件资源的第四请求,该第四请求中携带reservation ID和这些硬件的ID(或称硬件IDs)。
步骤709:VIM将需要进行VM部署的各个硬件的使用状态更新为reserve状态;将VIM的使用状态更新为free状态。
具体的,VIM在接收到VROA的第四请求后,通过校验reservation ID来验证VROA身份。VIM根据硬件IDs将对应的各个硬件的状态从free状态更新为reserve状态,此时这些硬件IDs对应的硬件将不响应其他VROA的VM部署要求;并且,VIM将VIM状态从reserve状态更新为free状态,此时VIM可响应其他VROA的资源查询请求或资源占用请求。另外,VIM还可在本地存储该reservation ID下的所有硬件IDs信息。
在可能的实施例中,VIM还可以生成第二使用状态信息,所述第二使用状态信息表示所述VIM的使用状态已从reserve状态变为free状态,且VNF所需部署的各个硬件的使用状态已从free状态变为reserve状态。在一具体实现中,所述第二使用状态信息可以为随机生成的一组数字;在又一具体实现中,所述第二使用状态信息还可以是ACK信息。
步骤710:可选的,VIM向VROA反馈第二响应,所述第二响应包括所述第二使用状态信息。
步骤711:VROA根据所述方案信息,向VIM发送第二请求,所述第二请求用于请求实例化所述虚拟网络功能所需的虚拟机。具体可参考图4实施例步骤112的详细描述,这里不再赘述。
步骤712:VIM根据VROA的请求,实现在硬件上部署该硬件对应的VM。具体可参考图4实施例步骤113的详细描述,这里不再赘述。
步骤713:在VNF所有VM均实例化成功后,VROA向NFVO反馈ACK消息。
步骤714:VROA向VIM通知解除硬件占用。
具体的,VROA向VIM发送硬件预留解除消息。在可能的实施例中,该消息中可附带reservation ID或硬件IDs。
步骤715:VIM收到解除硬件占用的通知后,VIM将硬件IDs对应硬件的状态从reserve状态更新为free状态。这样,后续硬件IDs对应的硬件将可响应其他VROA的VM部署要求。
可以看出,本发明实施例中,在VROA需要查询硬件资源信息时,VROA与VIM之间可通过预留标识(Reservation ID)确认身份,VIM对自身状态进行更新、存储。并且,在VIM实例化VNF过程中,VIM仅仅锁死该VNF需使用的硬件资源,其他硬件资源仍可以被其他VROA请求,大大提升了资源利用效率。在VNF部署完毕之后,VROA与VIM交互解除这些硬件的被占用状态,所以实施本发明实施例能够实现指定的硬件在同一时间只能服务于一个VROA,避免了多VROA场景下的资源抢占,保证了VNF部署的顺利进行。
上文详细阐述了本发明实施例相关的系统架构和方法实施例,下面提供了本发明实施例的相关装置。
请参见图15,图15是本发明实施例提供的一种用于实例化VNF的设备1000的结构示意图,该设备1000包括处理器1030、存储器1010和通信接口1020,所述处理器1030、存储器1010和通信接口1020通过总线1040相互连接。
存储器1010包括但不限于是随机存储记忆体(英文:Random Access Memory,简称:RAM)、只读存储器(英文:Read-Only Memory,简称:ROM)、可擦除可编程只读存储器(英文:Erasable Programmable Read Only Memory,简称:EPROM)、或便携式只读存储器(英文:Compact Disc Read-Only Memory,简称:CD-ROM),该存储器1010用于相关程序指令及数据(例如各种资源数据、指示信息、资源编排与部署的方案信息等等)。
通信接口1020用于接收数据(例如各种请求、资源数据、指示信息等等),或向外部发送数据(例如各种请求、资源数据、指示信息等等)。
处理器1030可以是一个或多个中央处理器(英文:Central Processing Unit,简称:CPU),在处理器1030是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
该设备1000中的处理器1030用于读取所述存储器1010中存储的程序代码,执行以下操作:
通过通信接口1020接收用于指示实例化VNF的第一信息;
通过通信接口1020获取用于指示网络功能虚拟化基础设施的可用资源的硬件资源信息;所述可用资源包括至少一个硬件的资源,所述硬件表示用于承载虚拟机的最小物理资源集合;
根据所述第一信息和所述硬件资源信息,确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系;
根据所述映射关系,确定在所述至少一个硬件上实例化所述至少一个虚拟机。
需要说明的,图15仅仅是本发明实施例的一种实现方式,实际应用中,网元设备1000还可以包括更多或更少的部件,这里不作限制。
还需要说明的是,上述处理器1030、通信接口1020和存储器1010的相关功能单元的具体实现可参考上文图4-图13实施例中的VROA的相关描述,或可参考上文图14实施例中的第一网元的相关描述。为了说明书的简洁,这里不再赘述。
参见图16,基于相同的发明构思,本发明实施例提供了又一种网元设备2000,网元设备2000包括通信单元2010、资源编排单元2020和部署单元2030,其中:
通信单元2010,用于接收指示实例化VNF的第一信息;
通信单元2010还用于,获取用于指示网络功能虚拟化基础设施的可用资源的硬件资源信息;所述可用资源包括至少一个硬件的资源,所述硬件表示用于承载虚拟机的最小物理资源集合;
资源编排单元2020,用于根据所述第一信息和所述硬件资源信息,确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系;
部署单元2030,用于根据所述映射关系,确定在所述至少一个硬件上实例化所述至少一个虚拟机。
在一些可能的实施例中,资源编排单元2020具体用于:根据所述映射关系,指示虚拟基础设施管理器在所述至少一个硬件上实例化所述至少一个虚拟机。
在一些可能的实施例中,资源编排单元2020还用于:根据所述第一信息和所述硬件资源信息,确定所述至少一个虚拟机的实例化顺序;所述部署单元2030具体用于,根据所述映射关系和所述实例化顺序,指示虚拟基础设施管理器在所述至少一个硬件上实例化所述至少一个虚拟机。
在一些可能的实施例中,所述部署单元2030具体用于:根据所述至少一个虚拟机的实例化顺序,依次指示所述虚拟基础设施管理器在当次对应硬件上实例化与所述当次对应硬件相映射的虚拟机。
在一些可能的实施例中,部署单元2030具体用于:将所述映射关系和所述实例化顺序发送至所述虚拟基础设施管理器,以使所述虚拟基础设施管理器根据所述映射关系和所述实例化顺序在所述至少一个硬件上实例化所述至少一个虚拟机。
在一些可能的实施例中,所述通信单元2010具体用于:从网络功能虚拟化编排器接收所述第一信息。
在一些可能的实施例中,所述通信单元2010还用于:获取实例化策略信息;所述实例化策略信息表示对所述至少一个虚拟机实例化所采用的策略;所述资源编排单元2020具体用于:根据所述第一信息、所述硬件资源信息和所述实例化策略信息,确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系。
在一些可能的实施例中,所述策略包括:内存优先策略、资源利用率优先策略或主机均衡度优先策略中的至少一个。
在一些可能的实施例中,所述第一信息包括至少一个虚拟机类型、所述至少一个虚拟机类型的所需资源的指示信号、所述各种虚拟机类型的实例化优先级、实例化所述VNF所需的各种虚拟机类型的虚拟机数量、或所述至少一个虚拟机类型的约束信息中的至少一个。
在一些可能的实施例中,资源编排单元2020具体用于:根据所述至少一个硬件的资源、所述至少一个虚拟机类型所需资源的指示信号、所述多种虚拟机类型的约束信息,确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系;根据所述至少一个虚拟机类型的实例化优先级和实例化所述VNF所需的各种虚拟机类型的虚拟机数量,确定所述至少一个虚拟机的实例化顺序。
在一些可能的实施例中,所述多种虚拟机类型的约束信息包括:所述相同虚拟机类型的亲和/反亲和性、所述不同虚拟机类型的亲和/反亲和性以及虚拟机实例化的物理地点约束中的至少一个。
在一些可能的实施例中,通信单元2010具体用于:向所述虚拟基础设施管理器查询获得所述硬件资源信息。
在一些可能的实施例中,通信单元2010具体用于:将用于查询硬件资源信息的请求发送至所述虚拟基础设施管理器;接收所述虚拟基础设施管理器返回的所述硬件资源信息和所述虚拟基础设施管理器的第一使用状态信息;其中,所述第一使用状态信息表示所述虚拟基础设施管理器的使用状态已从空闲状态变为被占用状态。
在一些可能的实施例中,通信单元2010还用于:在资源编排单元2020确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系之后,发送用于请求占用硬件资源的请求至所述虚拟基础设施管理器;所述用于请求占用硬件资源的请求包括与所述至少一个虚拟机相映射的所述至少一个硬件的标识。
在一些可能的实施例中,通信单元2010还用于:获取所述虚拟基础设施管理器的能力信息,所述虚拟基础设施管理器的能力信息用于指示所述虚拟基础设施管理器是否具有在所述网元设备2000指定的硬件中实例化虚拟机的能力;通信单元2010具体用于,在所述虚拟基础设施管理器的能力信息指示了所述虚拟基础设施管理器具有在所述网元设备2000指定的硬件中实例化虚拟机的能力的情况下,获取用于指示网络功能虚拟化基础设施的可用资源的硬件资源信息。
需要说明的是,上述网元设备2000的相关功能单元可由硬件、软件或硬件与软件的组合来实施。所属领域的技术人员应理解,图16中所描述的功能块可经组合或分离为若干子块以实施本发明方案。这些功能单元的功能实现可参考上文图4-图13实施例中的VROA的相关描述,或可参考上文图14实施例中的第一网元的相关描述。为了说明书的简洁,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者任意组合来实现。当使用软件实现时,可以全部或者部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网络站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、微波等)方式向另一个网络站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,也可以是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD等)、或者半导体介质(例如固态硬盘)等等。
在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
Claims (32)
1.一种实例化虚拟网络功能VNF的方法,其特征在于,所述方法包括:
第一网元接收用于指示实例化VNF的第一信息;
所述第一网元获取用于指示网络功能虚拟化基础设施的可用资源的硬件资源信息;所述可用资源包括至少一个硬件的资源,所述硬件表示用于承载虚拟机的最小物理资源集合;
所述第一网元根据所述第一信息和所述硬件资源信息,确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系;
所述第一网元根据所述映射关系,确定在所述至少一个硬件上实例化所述至少一个虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述第一网元根据所述映射关系,确定在所述至少一个硬件上实例化所述至少一个虚拟机,包括:
所述第一网元根据所述映射关系,指示虚拟基础设施管理器在所述至少一个硬件上实例化所述至少一个虚拟机。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:所述第一网元根据所述第一信息和所述硬件资源信息,确定所述至少一个虚拟机的实例化顺序;
所述第一网元根据所述映射关系,指示虚拟基础设施管理器在所述至少一个硬件上实例化所述至少一个虚拟机,包括:所述第一网元根据所述映射关系和所述实例化顺序,指示虚拟基础设施管理器在所述至少一个硬件上实例化所述至少一个虚拟机。
4.根据权利要求3所述的方法,其特征在于,所述第一网元根据所述映射关系和所述实例化顺序,指示虚拟基础设施管理器在所述至少一个硬件上实例化所述至少一个虚拟机,包括:
所述第一网元根据所述至少一个虚拟机的实例化顺序,依次指示所述虚拟基础设施管理器在当次对应硬件上实例化与所述当次对应硬件相映射的虚拟机。
5.根据权利要求3所述的方法,其特征在于,所述第一网元根据所述映射关系和所述实例化顺序,指示虚拟基础设施管理器在所述至少一个硬件上实例化所述至少一个虚拟机,包括:
所述第一网元将所述映射关系和所述实例化顺序发送至所述虚拟基础设施管理器,以使所述虚拟基础设施管理器根据所述映射关系和所述实例化顺序在所述至少一个硬件上实例化所述至少一个虚拟机。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述第一网元接收用于指示实例化VNF的第一信息,包括:
所述第一网元从网络功能虚拟化编排器接收所述第一信息。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
所述第一网元获取实例化策略信息;所述实例化策略信息表示对所述至少一个虚拟机实例化所采用的策略;
相应的,所述第一网元根据所述第一信息和所述硬件资源信息,确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系,包括:
所述第一网元根据所述第一信息、所述硬件资源信息和所述实例化策略信息,确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系。
8.根据权利要求7所述的方法,其特征在于,所述策略包括:
内存优先策略、资源利用率优先策略或主机均衡度优先策略中的至少一个。
9.根据权利要求3所述的方法,其特征在于,所述第一信息包括至少一个虚拟机类型、所述至少一个虚拟机类型的所需资源的指示信号、所述各种虚拟机类型的实例化优先级、实例化所述VNF所需的各种虚拟机类型的虚拟机数量、或所述至少一个虚拟机类型的约束信息中的至少一个。
10.根据权利要求9所述的方法,其特征在于,
所述第一网元根据所述第一信息和所述硬件资源信息,确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系,包括:所述第一网元根据所述至少一个硬件的资源、所述至少一个虚拟机类型所需资源的指示信号、所述多种虚拟机类型的约束信息,确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系;
所述第一网元根据所述第一信息和所述硬件资源信息,确定所述至少一个虚拟机的实例化顺序,包括:所述第一网元根据所述至少一个虚拟机类型的实例化优先级和实例化所述VNF所需的各种虚拟机类型的虚拟机数量,确定所述至少一个虚拟机的实例化顺序。
11.根据权利要求9或10所述的方法,其特征在于,
所述多种虚拟机类型的约束信息包括:所述相同虚拟机类型的亲和/反亲和性、所述不同虚拟机类型的亲和/反亲和性以及虚拟机实例化的物理地点约束中的至少一个。
12.根据权利要求1-11任一项所述的方法,其特征在于,所述第一网元获取用于指示网络功能虚拟化基础设施的可用资源的硬件资源信息,包括:
所述第一网元向所述虚拟基础设施管理器查询获得所述硬件资源信息。
13.根据权利要求12所述的方法,其特征在于,所述第一网元向所述虚拟基础设施管理器查询获得所述硬件资源信息,包括:
所述第一网元将用于查询硬件资源信息的请求发送至所述虚拟基础设施管理器;
所述第一网元接收所述虚拟基础设施管理器返回的所述硬件资源信息和所述虚拟基础设施管理器的第一使用状态信息;其中,所述第一使用状态信息表示所述虚拟基础设施管理器的使用状态已从空闲状态变为被占用状态。
14.根据权利要求13所述的方法,其特征在于,所述确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系之后,所述方法还包括:
所述第一网元发送用于请求占用硬件资源的请求至所述虚拟基础设施管理器;所述用于请求占用硬件资源的请求包括与所述至少一个虚拟机相映射的所述至少一个硬件的标识。
15.根据权利要求1-14任一项所述的方法,其特征在于,所述方法还包括:
所述第一网元获取所述虚拟基础设施管理器的能力信息,所述虚拟基础设施管理器的能力信息用于指示所述虚拟基础设施管理器是否具有在所述第一网元指定的硬件中实例化虚拟机的能力;
相应的,所述第一网元获取用于指示网络功能虚拟化基础设施的可用资源的硬件资源信息具体为:
在所述虚拟基础设施管理器的能力信息指示了所述虚拟基础设施管理器具有在所述第一网元指定的硬件中实例化虚拟机的能力的情况下,所述第一网元获取用于指示网络功能虚拟化基础设施的可用资源的硬件资源信息。
16.一种用于实例化虚拟网络功能VNF的网元设备,其特征在于,所述设备包括:
通信单元,用于接收指示实例化VNF的第一信息;
所述通信单元还用于,获取用于指示网络功能虚拟化基础设施的可用资源的硬件资源信息;所述可用资源包括至少一个硬件的资源,所述硬件表示用于承载虚拟机的最小物理资源集合;
资源编排单元,用于根据所述第一信息和所述硬件资源信息,确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系;
部署单元,用于根据所述映射关系,确定在所述至少一个硬件上实例化所述至少一个虚拟机。
17.根据权利要求16所述的设备,其特征在于,所述资源编排单元具体用于:
根据所述映射关系,指示虚拟基础设施管理器在所述至少一个硬件上实例化所述至少一个虚拟机。
18.根据权利要求17所述的设备,其特征在于,所述资源编排单元还用于:根据所述第一信息和所述硬件资源信息,确定所述至少一个虚拟机的实例化顺序;
所述部署单元具体用于,根据所述映射关系和所述实例化顺序,指示虚拟基础设施管理器在所述至少一个硬件上实例化所述至少一个虚拟机。
19.根据权利要求18所述的设备,其特征在于,所述部署单元具体用于:
根据所述至少一个虚拟机的实例化顺序,依次指示所述虚拟基础设施管理器在当次对应硬件上实例化与所述当次对应硬件相映射的虚拟机。
20.根据权利要求18所述的设备,其特征在于,所述部署单元具体用于:
将所述映射关系和所述实例化顺序发送至所述虚拟基础设施管理器,以使所述虚拟基础设施管理器根据所述映射关系和所述实例化顺序在所述至少一个硬件上实例化所述至少一个虚拟机。
21.根据权利要求16-20任一项所述的设备,其特征在于,
所述通信单元具体用于:从网络功能虚拟化编排器接收所述第一信息。
22.根据权利要求16-21任一项所述的设备,其特征在于,
所述通信单元还用于:获取实例化策略信息;所述实例化策略信息表示对所述至少一个虚拟机实例化所采用的策略;
所述资源编排单元具体用于:根据所述第一信息、所述硬件资源信息和所述实例化策略信息,确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系。
23.根据权利要求22所述的设备,其特征在于,所述策略包括:
内存优先策略、资源利用率优先策略或主机均衡度优先策略中的至少一个。
24.根据权利要求18所述的设备,其特征在于,所述第一信息包括至少一个虚拟机类型、所述至少一个虚拟机类型的所需资源的指示信号、所述各种虚拟机类型的实例化优先级、实例化所述VNF所需的各种虚拟机类型的虚拟机数量、或所述至少一个虚拟机类型的约束信息中的至少一个。
25.根据权利要求24所述的设备,其特征在于,所述资源编排单元具体用于:
根据所述至少一个硬件的资源、所述至少一个虚拟机类型所需资源的指示信号、所述多种虚拟机类型的约束信息,确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系;
根据所述至少一个虚拟机类型的实例化优先级和实例化所述VNF所需的各种虚拟机类型的虚拟机数量,确定所述至少一个虚拟机的实例化顺序。
26.根据权利要求24或25所述的设备,其特征在于,
所述多种虚拟机类型的约束信息包括:所述相同虚拟机类型的亲和/反亲和性、所述不同虚拟机类型的亲和/反亲和性以及虚拟机实例化的物理地点约束中的至少一个。
27.根据权利要求16-26任一项所述的设备,其特征在于,所述通信单元具体用于:
向所述虚拟基础设施管理器查询获得所述硬件资源信息。
28.根据权利要求27所述的设备,其特征在于,所述通信单元具体用于:
将用于查询硬件资源信息的请求发送至所述虚拟基础设施管理器;
接收所述虚拟基础设施管理器返回的所述硬件资源信息和所述虚拟基础设施管理器的第一使用状态信息;其中,所述第一使用状态信息表示所述虚拟基础设施管理器的使用状态已从空闲状态变为被占用状态。
29.根据权利要求28所述的设备,其特征在于,所述通信单元还用于:
在所述资源编排单元确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系之后,发送用于请求占用硬件资源的请求至所述虚拟基础设施管理器;所述用于请求占用硬件资源的请求包括与所述至少一个虚拟机相映射的所述至少一个硬件的标识。
30.根据权利要求16-29任一项所述的设备,其特征在于,
所述通信单元还用于:获取所述虚拟基础设施管理器的能力信息,所述虚拟基础设施管理器的能力信息用于指示所述虚拟基础设施管理器是否具有在所述网元设备指定的硬件中实例化虚拟机的能力;
所述通信单元具体用于,在所述虚拟基础设施管理器的能力信息指示了所述虚拟基础设施管理器具有在所述网元设备指定的硬件中实例化虚拟机的能力的情况下,获取用于指示网络功能虚拟化基础设施的可用资源的硬件资源信息。
31.一种用于实例化虚拟网络功能VNF的网元设备,其特征在于,所述网元设备包括存储器以及与存储器耦合的一个或多个处理器,所述存储器用于存储程序指令,所述一个或多个处理器用于调用所述程序指令,具体执行如权利要求1-15任一项所描述的方法。
32.一种系统,其特征在于,所述系统包括:
网络功能虚拟化编排器,用于向虚拟资源编排与部署器发送用于指示实例化VNF的第一信息;
所述虚拟资源编排与部署器,用于获取用于指示网络功能虚拟化基础设施的可用资源的硬件资源信息;所述可用资源包括至少一个硬件的资源,所述硬件表示用于承载虚拟机的最小物理资源集合;根据所述第一信息和所述硬件资源信息,确定所述VNF对应的至少一个虚拟机与至少一个硬件之间的一一映射关系;根据映射关系,向虚拟基础设施管理器发送用于请求实例化所述VNF所需的虚拟机的请求;
虚拟基础设施管理器,用于根据所述请求,实现在所述至少一个硬件上实例化所述至少一个虚拟机;
其中,所述虚拟资源编排与部署器为权利要求16-30任一项所描述的网元设备,或者,所述虚拟资源编排与部署器为权利要求31所描述的网元设备。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910047927.3A CN111443985A (zh) | 2019-01-17 | 2019-01-17 | 实例化虚拟网络功能的方法及设备 |
EP19909756.9A EP3901770A4 (en) | 2019-01-17 | 2019-12-30 | METHOD AND DEVICE FOR INSTANCING A VIRTUALIZED NETWORK FUNCTION |
PCT/CN2019/130223 WO2020147573A1 (zh) | 2019-01-17 | 2019-12-30 | 实例化虚拟网络功能的方法及设备 |
US17/374,139 US20210342178A1 (en) | 2019-01-17 | 2021-07-13 | Method and device for instantiating virtualized network function |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910047927.3A CN111443985A (zh) | 2019-01-17 | 2019-01-17 | 实例化虚拟网络功能的方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111443985A true CN111443985A (zh) | 2020-07-24 |
Family
ID=71614319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910047927.3A Pending CN111443985A (zh) | 2019-01-17 | 2019-01-17 | 实例化虚拟网络功能的方法及设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210342178A1 (zh) |
EP (1) | EP3901770A4 (zh) |
CN (1) | CN111443985A (zh) |
WO (1) | WO2020147573A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296884A (zh) * | 2021-02-26 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 虚拟化方法、装置、电子设备、介质及资源虚拟化系统 |
WO2023061199A1 (zh) * | 2021-10-13 | 2023-04-20 | 中兴通讯股份有限公司 | Vnf实例生成方法、vnf蓝图生成方法、nfvo及存储介质 |
WO2023066224A1 (zh) * | 2021-10-21 | 2023-04-27 | 华为技术有限公司 | 一种部署容器服务的方法及装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112583625B (zh) * | 2019-09-30 | 2023-12-08 | 中兴通讯股份有限公司 | 网络资源管理方法、系统、网络设备和可读存储介质 |
US20230214274A1 (en) * | 2021-12-30 | 2023-07-06 | Microsoft Technology Licensing, Llc | Management and orchestration in a hybrid applications environment |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099789A (zh) * | 2015-09-02 | 2015-11-25 | 华为技术有限公司 | 一种网元升级方法及设备 |
CN105765947A (zh) * | 2014-11-07 | 2016-07-13 | 华为技术有限公司 | 硬件资源管理方法、硬件资源位置查询方法及相关装置 |
CN106598733A (zh) * | 2016-12-08 | 2017-04-26 | 南京航空航天大学 | 一种云计算能耗关键的三维度虚拟资源调度方法 |
US20170272437A1 (en) * | 2016-03-16 | 2017-09-21 | Sprint Communications Company L.P. | Software defined network (sdn) application integrity |
US20170324612A1 (en) * | 2014-06-25 | 2017-11-09 | Hewlett Packard Enterprise Development Lp | Network function virtualization |
US20180165167A1 (en) * | 2014-10-13 | 2018-06-14 | At&T Intellectual Property I, L.P. | Network Virtualization Policy Management System |
CN108268301A (zh) * | 2016-12-30 | 2018-07-10 | 中国移动通信集团上海有限公司 | 虚拟网络功能的虚拟机部署方法及装置 |
US20180329735A1 (en) * | 2017-05-12 | 2018-11-15 | At&T Intellectual Property I, L.P. | Systems and methods for management of virtual machine resources in a network environment |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8145760B2 (en) * | 2006-07-24 | 2012-03-27 | Northwestern University | Methods and systems for automatic inference and adaptation of virtualized computing environments |
CN103346981B (zh) * | 2013-06-28 | 2016-08-10 | 华为技术有限公司 | 虚拟交换方法、相关装置和计算机系统 |
CN104579732B (zh) * | 2013-10-21 | 2018-06-26 | 华为技术有限公司 | 虚拟化网络功能网元的管理方法、装置和系统 |
CN111628885A (zh) * | 2014-01-17 | 2020-09-04 | 诺基亚通信有限责任两合公司 | 控制包括虚拟化网络功能的通信网络 |
EP3107246B1 (en) * | 2014-03-26 | 2019-05-22 | Huawei Technologies Co., Ltd. | Network function virtualization-based certificate configuration |
CN106489260B (zh) * | 2014-05-12 | 2019-10-18 | 诺基亚通信有限责任两合公司 | 包括虚拟化网络功能的通信网络的控制方法及装置 |
EP3142309B1 (en) * | 2014-06-05 | 2019-11-27 | Huawei Technologies Co., Ltd. | Method and apparatus for allocating reliability resource |
CN110221918B (zh) * | 2015-01-19 | 2023-10-10 | 华为技术有限公司 | 一种ns与vnf的关联方法、装置及系统 |
WO2017029097A1 (en) * | 2015-08-14 | 2017-02-23 | Nokia Solutions And Networks Oy | Method and apparatus for virtualized network function scaling that is initiated by network management and/or element management |
US20170068555A1 (en) * | 2015-09-04 | 2017-03-09 | International Business Machines Corporation | Operation-specific virtual machine placement constraints |
EP3402131B1 (en) * | 2016-03-02 | 2021-05-26 | Huawei Technologies Co., Ltd. | Resource configuration method, virtualized network function manager and network element management system |
CN109560955B (zh) * | 2017-09-27 | 2021-10-01 | 华为技术有限公司 | 网络的部署信息确定方法及设备 |
US11361027B2 (en) * | 2019-11-05 | 2022-06-14 | At&T Intellectual Property I, L.P. | Historical state management in databases |
-
2019
- 2019-01-17 CN CN201910047927.3A patent/CN111443985A/zh active Pending
- 2019-12-30 EP EP19909756.9A patent/EP3901770A4/en not_active Withdrawn
- 2019-12-30 WO PCT/CN2019/130223 patent/WO2020147573A1/zh unknown
-
2021
- 2021-07-13 US US17/374,139 patent/US20210342178A1/en not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170324612A1 (en) * | 2014-06-25 | 2017-11-09 | Hewlett Packard Enterprise Development Lp | Network function virtualization |
US20180165167A1 (en) * | 2014-10-13 | 2018-06-14 | At&T Intellectual Property I, L.P. | Network Virtualization Policy Management System |
CN105765947A (zh) * | 2014-11-07 | 2016-07-13 | 华为技术有限公司 | 硬件资源管理方法、硬件资源位置查询方法及相关装置 |
CN105099789A (zh) * | 2015-09-02 | 2015-11-25 | 华为技术有限公司 | 一种网元升级方法及设备 |
US20170272437A1 (en) * | 2016-03-16 | 2017-09-21 | Sprint Communications Company L.P. | Software defined network (sdn) application integrity |
CN106598733A (zh) * | 2016-12-08 | 2017-04-26 | 南京航空航天大学 | 一种云计算能耗关键的三维度虚拟资源调度方法 |
CN108268301A (zh) * | 2016-12-30 | 2018-07-10 | 中国移动通信集团上海有限公司 | 虚拟网络功能的虚拟机部署方法及装置 |
US20180329735A1 (en) * | 2017-05-12 | 2018-11-15 | At&T Intellectual Property I, L.P. | Systems and methods for management of virtual machine resources in a network environment |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296884A (zh) * | 2021-02-26 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 虚拟化方法、装置、电子设备、介质及资源虚拟化系统 |
CN113296884B (zh) * | 2021-02-26 | 2022-04-22 | 阿里巴巴集团控股有限公司 | 虚拟化方法、装置、电子设备、介质及资源虚拟化系统 |
WO2023061199A1 (zh) * | 2021-10-13 | 2023-04-20 | 中兴通讯股份有限公司 | Vnf实例生成方法、vnf蓝图生成方法、nfvo及存储介质 |
WO2023066224A1 (zh) * | 2021-10-21 | 2023-04-27 | 华为技术有限公司 | 一种部署容器服务的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3901770A1 (en) | 2021-10-27 |
EP3901770A4 (en) | 2022-03-02 |
WO2020147573A1 (zh) | 2020-07-23 |
US20210342178A1 (en) | 2021-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11456930B2 (en) | Network resource management method, apparatus, and system | |
US11960915B2 (en) | Method and apparatus for creating virtual machine based on parameter information of a virtual network interface card | |
US10700947B2 (en) | Life cycle management method and device for network service | |
US20210342178A1 (en) | Method and device for instantiating virtualized network function | |
EP3055770B1 (en) | Methods and apparatus to manage virtual machines | |
CN110611926B (zh) | 一种告警的方法及装置 | |
US11544100B2 (en) | Hardware acceleration method and related device | |
US11303526B2 (en) | Network slice deployment method and apparatus | |
US10848366B2 (en) | Network function management method, management unit, and system | |
WO2019174000A1 (zh) | 用于业务管理的方法和装置 | |
US11403149B2 (en) | Management of a virtual network function | |
WO2023045467A1 (zh) | 容器cpu资源调度与隔离方法和装置、存储介质及电子设备 | |
CN109218259B (zh) | 许可管理方法及装置、applm功能实体及计算机可读存储介质 | |
CN113918268A (zh) | 一种多租户管理方法及装置 | |
CN112015515A (zh) | 一种虚拟网络功能的实例化方法及装置 | |
CN112306625A (zh) | 一种部署虚拟机的方法及相关装置 | |
CN113098705B (zh) | 网络业务的生命周期管理的授权方法及装置 | |
US11442756B2 (en) | Common service resource application method, related device, and system | |
CN114911539A (zh) | 一种运行系统的启动方法及计算设备 | |
CN116723105A (zh) | 虚拟网络功能的部署方法和部署装置 | |
CN116346643A (zh) | 信息处理方法、装置、设备及存储介质 | |
CN117336256A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200724 |