Traitement en cours

Veuillez attendre...

Paramétrages

Paramétrages

Aller à Demande

1. WO2020108443 - PROCÉDÉ ET DISPOSITIF DE GESTION DE VIRTUALISATION

Document

说明书

发明名称 0001   0002   0003   0004   0005   0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131  

权利要求书

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15  

附图

1   2   3   4   5   6  

说明书

发明名称 : 一种虚拟化管理方法及装置

技术领域

[0001]
本申请涉及虚拟化网络领域,尤其涉及一种支持多平台的虚拟化管理方法及装置。

背景技术

[0002]
网络功能虚拟化(network function virtualization,NFV)是通过使用通用的硬件设备及虚拟化技术,来承载传统网络中专用设备的功能的技术。该技术可以降低因为部署专用设备带来的昂贵成本。通过软硬件之间的解耦,使得网络设备功能不再依赖于专用的硬件。利用了云计算的特点,使得资源可以灵活的共享,以实现新业务的快速开发和部署。同时,还可基于实际业务需求进行自动部署、弹性伸缩、故障隔离和自愈等。在NFV中,发起虚拟化请求的一方一般称为业务请求方;而能够接收虚拟化请求,并根据请求对相应业务进行虚拟化处理的一方,一般称为虚拟化业务的提供方。
[0003]
业务请求方首先需要向业务提供方提交该业务的描述信息,比如一个虚拟网络功能的描述符(virtual network function descriptor,VNFD)。其中包含部署该虚拟网络功能(virtual network function,VNF)需要的虚拟资源信息,例如包括计算,存储,网络等信息。
[0004]
NFV采用云应用程序的拓扑和编排规范(topology and orchestration specification for cloud applications,TOSCA)语言定义VNFD模板。TOSCA是结构化信息标准促进组织(organization for the advancement of structured information standards,OASIS)制定的描述云计算应用的拓扑和运维流程的模板语言。其中,业务部署包至少包含一个业务部署描述文件,以及文件中还会包含一些会用到的元素的定义。例如包含ServiceTemplate文件,以及ServiceTemplate里会包含例如NodeType,RelationshipType,Policies的定义等。
[0005]
但是目前虚拟基础设施管理器(virtualised infrastructure manager,VIM)有很多种,比如基于开源的云计算管理平台OpenStack,亚马逊的亚马逊WEB服务AWS,微软的云计算平台Azure等。这些VIM平台都提供有原生的部署模板,不同VIM提供的部署模板在语法和资源定义上也不相同。例如Openstack提供的HOT模板语言,AWS提供的EC2模板语言,Azure提供的ARM模板语言,还有基于容器管理的平台kubernates提供基于YAML语言的部署模板等。
[0006]
目前NFV定义的基于TOSCA的VNFD部署模板只在基于Openstack的VIM平台上有较好的支持,主要因为TOSCA模板语言和OpenStack的HOT模板语言都采用YAML,而且语法比较类似,在资源定义上也很相似。OpenStack也提供有开源的TOSCA-heat translator项目可以方便的将TOSCA模板语言转换成HOT模板语言。但是当VIM采用其他平台,比如Azure,AWS,或是需要将VNF部署在容器中使用kubernates平台的时候,采用NFV定义的TOSCA VNFD模板就不能满足要求的,无 法将VNF部署在这些VIM平台上了。
[0007]
发明内容
[0008]
本申请实施例提供了一种虚拟化管理方法及装置,可以有效解决应用的跨平台部署,采用跨平台的业务部署放在同一个部署模板里,可以根据不同平台的要求用统一的模板对业务做出正确的部署,实现对多个资源平台的支持。
[0009]
第一方面,提供了一种虚拟化管理方法,方法包括:虚拟网络功能管理器VNFM接收服务协调器SO或网络功能虚拟化编排器NFVO发送的虚拟化网络功能VNF的第一实例化请求消息,第一实例化请求消息包括VNF标识和虚拟基础设施管理器VIM信息,VIM信息包括VIM类型以及支持的模板语言;VNFM根据VNF标识获取VNF数据包;当确定VIM信息支持的模板语言为第一模板语言时,VNFM从模板信息中获取与VIM类型和第一模板语言一致的第一VNF子信息,第一VNF子信息用于部署VNF;其中,模板信息包括在VNF数据包的描述符文件VNFD中;VNFM向多云平台发送第一VNF子信息,用于多云平台在VIM类型对应的VIM上部署VNF。
[0010]
在一个可能的实施方式中,方法还包括:当确定VIM信息支持的模板语言为第二模板语言时,VNFM解析VNF数据包的VNFD,并根据解析结果生成资源请求,资源请求包括第二VNF子信息,第二VNF子信息用于部署VNF;VNFM向多云平台发送资源请求,用于多云平台在VIM类型对应的VIM上部署VNF。
[0011]
在一个可能的实施方式中,VNF数据包包括第二模板语言的元数据文件,元数据文件包括指示参数;VNFM解析VNF数据包的VNFD,包括:VNFM解析指示参数指示的第一业务模板,第一业务模板包含于VNF数据包的VNFD中。
[0012]
在一个可能的实施方式中,第一业务模板包括第一标识;VNFM解析指示参数指示的第一业务模板,包括:VNFM解析第一业务模板与第一标识指示的第二业务模板。
[0013]
在一个可能的实施方式中,VNFD包括至少一个节点模板,每个节点模板包括模板信息。
[0014]
第二方面,提供了一种虚拟化管理方法,方法包括:接收虚拟化网络功能VNF的第二实例化请求消息,第二实例化请求包括VNF标识;确定虚拟基础设施管理器VIM类型;向VNFM发送VNF的第一实例化请求消息,第一实例化请求消息包括VNF标识和VIM信息,VIM信息包括VIM类型以及支持的模板语言,第一实例化请求消息用于VNFM执行VNF的部署。
[0015]
第三方面,提供了一种虚拟网络功能管理器,包括:接收模块,用于接收服务协调器SO或网络功能虚拟化编排器NFVO发送的虚拟化网络功能VNF的第一实例化请求消息,第一实例化请求消息包括VNF标识和虚拟基础设施管理器VIM信息,VIM信息包括VIM类型以及支持的模板语言;获取模块,用于根据VNF标识获取VNF数据包;确定模块,用于当确定VIM信息支持的模板语言为第一模板语言时,VNFM从模板信息中获取与VIM类型和第一模板语言一致的第一VNF子信息,第一VNF子信息用于部署VNF;其中,模板信息包括在VNF数据包的描述符文件VNFD中;发送模块,用于向多云平台发送第一VNF子信息,用于多云平台在VIM类型对应的VIM上部署VNF。
[0016]
在一个可能的实施方式中,确定模块还用于:当确定VIM信息支持的模板语言为第二模板语言时,解析VNF数据包的VNFD,并根据解析结果生成资源请求,资源请求包括第二VNF子信息,第二VNF子信息用于部署VNF;发送模块,还用于向多云平台发送资源请求,用于多云平台在VIM类型对应的VIM上部署VNF。
[0017]
在一个可能的实施方式中,VNF数据包包括第二模板语言的元数据文件,元数据文件包括指示参数;确定模块解析VNF数据包的VNFD,包括:确定模块解析指示参数指示的第一业务模板,第一业务模板包含于VNF数据包的VNFD中。
[0018]
在一个可能的实施方式中,第一业务模板包括第一标识;确定模块解析指示参数指示的第一业务模板,包括:确定模块解析第一业务模板与第一标识指示的第二业务模板。
[0019]
在一个可能的实施方式中,VNFD包括至少一个节点模板,每个节点模板包括模板信息。
[0020]
第四方面,提供了一种虚拟化管理装置,所述装置为服务协调器SO或网络功能虚拟化编排器NFVO,包括:接收模块,用于接收虚拟化网络功能VNF的第二实例化请求消息,第二实例化请求包括VNF标识;确定模块,用于确定虚拟基础设施管理器VIM类型;发送模块,用于向虚拟网络功能管理器VNFM发送VNF的第一实例化请求消息,第一实例化请求消息包括VNF标识和VIM信息,VIM信息包括VIM类型以及支持的模板语言,第一实例化请求消息用于VNFM执行VNF的部署。
[0021]
第五方面,提供了一种系统,系统包括第三方面的虚拟网络功能管理器和第四方面的服务协调器。
[0022]
第六方面,提供了一种存储程序的计算机可读存储介质,其特征在于,程序包括指令,指令当被终端执行时,使终端执行第一方面和第二方面的方法。
[0023]
第七方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面和第二方面的方法。
[0024]
本申请公开了一种虚拟化管理方法及装置,通过在VNFD中增加针对不同VIM平台的模板信息,其中模板信息包含有针对在不同VIM平台上部署VNF的多个不同VNF子信息。从而针对跨平台的业务部署,可以将其部署信息放在一个VNFD中,实现对多个资源平台的支持,从而有效解决应用的跨平台部署。

附图说明

[0025]
图1为本申请实施例提供的一种NFV系统架构示意图;
[0026]
图2为本申请实施例提供的一种虚拟化管理方法流程图;
[0027]
图3为本申请实施例提供的另一种虚拟化管理方法流程图;
[0028]
图4为本申请实施例提供的再一种虚拟化管理方法流程图;
[0029]
图5为本申请实施例提供的一种虚拟化管理装置示意图;
[0030]
图6为本申请实施例提供的另一种虚拟化管理装置示意图。

具体实施方式

[0031]
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
[0032]
本申请应用在网络功能虚拟化系统中,如图1所示,图1为本申请实施例提供的一种NFV系统架构示意图。
[0033]
在NFV系统架构100中,包括运营支持系统和业务支持系统(operations support system and business support system,OSS/BSS)110、网络功能虚拟化编排器(network functions virtualization orchestrator,NFVO)120、虚拟网络功能管理器(virtual network function manager,VNFM)130、虚拟基础设施管理器VIM 140、设备管理系统(equipment management,EM)150、虚拟化网络功能VNF 160和网络功能虚拟化基础设施(network functions virtualization infrastructure,NFVI)170。
[0034]
其中,OSS/BSS110支持各种端到端的电信业务。运营支持系统OSS支持的管理功能包括:网络配置,业务提供,故障管理等。业务支持系统BSS处理订单,付费,收入等,支持产品管理,订单管理,收益管理及客户管理。
[0035]
NFVO120主要负责处理虚拟化业务的生命周期管理,以及虚拟基础设施及NFVI中虚拟资源的分配和调度等。NFVO120可以与一个或多个VNFM130通信,以执行资源相关请求。NFVO120发送配置信息给VNFM130,从而收集VNF160的状态信息。另外,NFVO120也可与VIM 106进行通信,用于执行资源分配、和/或预留、交换虚拟化硬件资源配置和状态信息。
[0036]
VNFM 130负责一个或多个VNF 160的生命周期管理,比如实例化(instantiating)、更新(updating)、查询、弹性伸缩(scaling)和终止(terminating)VNF160。VNFM130可以与VNF160通信,从而完成VNF生命周期管理及交换配置和状态信息。在NFV 100的架构中,VNFM 130可以有多个,负责对不同类型的VNF 160进行生命周期管理。
[0037]
VIM 140用于控制和管理VNF160与计算硬件、存储硬件、网络硬件、虚拟计算(virtual computing)、虚拟存储和虚拟网络的交互。例如VIM 140执行资源管理功能,包括管理基础设施资源、分配及运行功能。其中,分配例如增加资源给虚拟容器等,运行功能例如收集NFVI故障信息等。VNFM 130及VIM140可以相互通信,进行请求资源分配、交换虚拟化硬件资源配置和状态信息等。
[0038]
EM150是传统电信系统中用于对设备进行配置、管理的系统。在NFV 100的架构中,EM150也可以用于对VNF 160进行配置和管理,以及向VNFM 130发起新的VNF的实例化等生命周期管理操作。其中,EM 150中可以包括多个EM,例如:设备管理系统1、设备管理系统2等。
[0039]
VNF 160即虚拟网络功能,可以有多个不同类型的VNF,如虚拟网络功能1、虚拟网络功能2等。
[0040]
NFVI 170即NFV的基础设施层,包含了硬件部件、软件部件或两者组合,以建立可以部署、管理及实现VNF160的虚拟化环境。硬件资源和虚拟化层用于为VNF160提供虚拟化资源,例如虚拟机和其他形式的虚拟容器。硬件资源包括计算(computing)硬件、存储硬件和网络硬件等。作为一种实施方式,计算硬件和存储硬件的资源可以集中在一起。NFVI 170中的虚拟化层可以抽象硬件资源,解耦VNF160与底层的物理网络层。
[0041]
针对当前NFV定义的基于TOSCA的VNFD部署模板,存在着这样的一种基于TOSCA语言的云应用部署平台,例如云应用部署平台cloudify。cloudify通过提供一 些不同的插件(plugin),从而使其能和不同的VIM平台对接,实现在不同VIM平台上进行部署应用。目前cloudify提供的插件有Aria plugin、Azure plugin、Openstack plugin、Vsphere plugin和AWS plugin等等。如果将cloudify部署在VNFM或NFVO上,理论上可以为NFV提供对多种VIM的支持,例如包括Openstack、Aria、Azure、Vsphere和AWS等平台。
[0042]
在cloudify平台架构中,针对不同的VIM平台,定义了不同的TOSCA类型对虚拟资源进行建模。也就是对于同一个应用来说,对于不同的VIM平台需要设计多个VNFD模板来支持该应用的部署。
[0043]
比如对于一个待部署应用如果采用Cloudify的方案,其VNF数据包中包括了对于不同平台的VNFD文件。例如openstack-blueprint.yaml是用于openstack平台的VNFD文件;azure-blueprint.yaml是用于Azure平台的VNFD文件;aws-blueprint.yaml是用于AWS平台的VNFD文件。
[0044]
当不采用cloudify时,当用户需要在指定在VIM平台上部署应用,通常的做法是采用指定的VIM平台支持的部署模板语言进行应用模板设计。例如OpenStack平台采用HOT模板进行设计,AWS采用EC2模板进行设计,Azure采用ARM模板进行设计等。然后再将预先设计好的部署模板发送至相应的VIM平台,并在发送请求中携带需要的部署参数,从而完成应用的部署。
[0045]
而当采用cloudify时,用户如果希望在指定的VIM平台的部署应用,则需要采用cloudify定义的TOSCA模型设计应用,而对于不同的VIM平台,cloudify提供不同的TOSCA模板。例如VIM采用OpenStack平台,cloudify提供的TOSCA模型为:
[0046]
cloudify.openstack.nodes.Server(代表虚拟机资源)
[0047]
cloudify.openstack.nodes.Subnet(代表虚拟子网资源)
[0048]
cloudify.openstack.nodes.SecurityGroup(代表安全组资源)
[0049]
cloudify.openstack.nodes.Router(代表虚拟路由器资源)
[0050]
cloudify.openstack.nodes.Network(代表虚拟网络资源)
[0051]
cloudify.openstack.nodes.Volume(代表虚拟存储资源)
[0052]
cloudify.openstack.nova_net.nodes.FloatingIP(代表浮动IP资源)等等。具体定义可以参看https://raw.githubusercontent.com/cloudify-cosmo/cloudify-openstack-plugin/2.6.0/plugin.yaml。
[0053]
当采用该模型设计的应用模板发送到cloudify平台后,cloudify会根据相应的定义对模板进行解析,并将解析的结果转换成Openstack平台的资源申请请求。
[0054]
在其他平台的步骤类似,例如在AWS上部署,则需要采用cloudify定义的AWS的TOSCA模型设计应用,例如:
[0055]
cloudify.aws.nodes.Instance(代表虚拟机资源)
[0056]
cloudify.aws.nodes.SecurityGroup(代表虚拟安全组资源)
[0057]
cloudify.aws.nodes.Volume(代表虚拟存储资源)
[0058]
cloudify.aws.nodes.VPC(代表虚拟网络资源)
[0059]
cloudify.aws.nodes.Subnet(代表虚拟子网资源)
[0060]
cloudify.aws.nodes.Interface(代表虚拟端口资源)等等,具体定义可以参看 https://github.com/cloudify-cosmo/cloudify-aws-plugin/releases/download/1.5.1.2/plugin.yaml。
[0061]
对于不同的VIM平台定义的TOSCA模型差异是很大的,主要是因为不同VIM对资源的定义本身存在差异。从以上模型可以看出,cloudify平台并没有有效减少用户的设计工作量,反而需要再学习cloudify定义的指定VIM的TOSCA模型,针对VIM原生模型则无法使用。
[0062]
TOSCA作为目前更加广泛使用的业务部署模板,在行业内也有较大的使用比例。欧洲电信标准化协会对NFV规范所定义的VNFD模型也是采用的TOSCA模板语言。cloudify虽然提供了基于plugin插件的方式来支持在多种不同的VIM平台上部署应用,但是需要针对不同的VIM平台设计出不同的TOSCA模型。整个过程使得使用者的学习成本过高,需要掌握多个TOSCA模型进行使用。而且上述TOSCA模型只能依靠cloudify平台进行解析。由于该模型与VIM是强相关的,和ETSI NFV定义的模型差异较大,对当前的VNFM或者NFVO改造工作会很大。此外由于对应的VIM平台还不能直接解析该TOSCA模板,所以在部署时cloudify平台需要将该TOSCA模型转换成对应VIM平台的资源调用API,或者转换成对应的VIM平台上的原生部署模板,才能最终实现部署应用。
[0063]
上述问题明显增加了部署VNF的使用成本,同时造成了无法部署跨越不同VIM平台的VNF。为此本申请实施例提供了一种虚拟化管理方法。
[0064]
本申请实施例通过在VNFD中增加针对不同VIM平台的模板信息,从而使得在部署跨平台的VNF时,使用统一模板的VNFD即可完成针对不同VIM平台的部署。并且不需要针对不同的VIM平台设计出不同的TOSCA模型,从而降低了使用者的学习成本。
[0065]
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
[0066]
图2为本申请实施例提供的一种虚拟化管理方法流程图。
[0067]
如图2所示,提供了一种虚拟化管理方法,包括以下步骤:
[0068]
步骤210,服务协调器SO或虚拟网络功能管理器NFVO向VNFM发送的虚拟化网络功能VNF的第一实例化请求消息,第一实例化请求消息包括VNF标识和虚拟基础设施管理器VIM信息,VIM信息包括VIM类型以及支持的模板语言。
[0069]
服务协调器(service orchestrator,SO)或虚拟网络功能管理器NFVO向VNFM发送的第一实例化请求,该实例化请求中包括了需要部署的VNF标识以及VIM信息。其中,VNF标识可以是VNF package ID。VIM信息中包含有需要部署的VIM类型以及该VIM类型所支持的部署模板语言。
[0070]
步骤220,VNFM根据VNF标识获取VNF数据包。
[0071]
VNFM接收SO或NFVO发送的第一实例化请求消息,根据VNF package ID获取到VNF数据包package。VNFM根据请求中的VNF package ID向数据库获取VNFpackage。在一个例子中,上述数据库可以是自动化管理与编排开源平台(open network automation platform,ONAP)中的业务设计模块(service design and creation,SDC)。首先解析VNF package中TOSCA-Metadata文件夹目录下的TOSCA.meta文件。该文件中包括Entry-Definitions等参数。其中,Entry-Definitions参数所指示这最先需要解 析的业务模板VNFD TOSCA service template文件的地址以及文件名。在另一个例子中VNFD可以由多个TOSCA service template组成。下面给出一个更为具体的示例,VNFD TOSCA service template具体的可以是:
[0072]
[0073]
如上述代码所示,其中在service template中node_templates下的SunshineDB,描述了这个VNF的一些基本信息。例如该VNF的描述地址descriptor_id、应用提供方provider、应用名称product_name等等信息。
[0074]
步骤230,当确定VIM信息支持的模板语言为第一模板语言时,VNFM从模板信息中获取与VIM类型和第一模板语言一致的第一VNF子信息,第一VNF子信息用于部署VNF。其中,模板信息包括在VNF数据包的描述符文件VNFD中。
[0075]
在一个例子中,第一语言可以是除TOSCA之外的任何其他模板语言,例如ARM、EC2等。当确定VIM信息中所支持的模板语言不是TOSCA,即ARM或EC2等模板语言时,VNFM从是上述VNFD TOSCA service template中的模板信息中获取获取与 VIM类型和第一模板语言一致的第一VNF子信息。其中,模板语言可以是上述VNFD TOSCA service template示例中的artifacts。在artifacts中,可以根据需求提前设计好需要用到的其他模板语言的VIM模板信息。在一个例子中,artifacts中包含多个不同的VNF子信息。例如vim_specific_template_1和vim_specific_template_2。在该实施例中,采用其他格式的命名也是可以允许的。其中vim_specific_template_1的类型type()为tosca.artifacts.nfv.Azure,即表明该artifacts是用于Azure类型的模板,文件(file)是该artifacts在VNF package中的存放位置。其中后缀.arm即表明该artifacts的模板语言是arm的。同理,vim_specific_template_2的type为tosca.artifacts.nfv.AWS,即表明该artifacts是用于AWS类型的模板,file是该artifacts在VNF package中的存放位置,其中后缀.arm表明了该artifacts的模板语言是EC2的。
[0076]
在一个例子中,VIM信息包括VIM类型,例如VIM:Azure;以及支持的模板语言,例如Format:arm。
[0077]
根据上述VIM信息找到上述VNFD TOSCA service template中对应的artifacts,以及artifacts中对应的第一VNF子信息,例如VNF_package/vnfd_for_Azure.arm中对应的vnfd_for_Azure.arm文件。
[0078]
通过在该实施例中增加artifacts的描述,可以解决在一个VNFD中可以适用于多个不同VIM平台的部署,解决了应用的跨平台部署,实现对多个资源平台的支持。
[0079]
步骤240,VNFM向多云平台发送第一VNF子信息,用于多云平台在VIM类型对应的VIM上部署VNF。
[0080]
在一个例子中,第一VNF子信息是上述vnfd_for_Azure.arm文件,当VNFM确定了后,VNFM将vnfd_for_Azure.arm文件直接发送给多云平台,用于多云平台在Azure类型的VIM平台上进行部署VNF。
[0081]
在一个实施例中,VNFD包括至少一个节点模板,每个节点模板包括模板信息。在一个例子中,针对VNF package中的VNFD TOSCA service template给出了另一种改进。对于TOSCA.meta文件中Entry-Definitions指示的VNFD TOSCA service template保持不变,即对top-level TOSCA service template保持不变。对部署喜好deployment flavour相关的service template进行修改,即在lower-level service template中进行修改。下面给出一个更为具体的示例,lower level TOSCA service template具体的可以是:
[0082]
[0083]
[0084]
[0085]
在上述示例中,在每个节点模板node template中都增加artifacts的描述,用于指示每个节点的特定VIM的模板信息。在本实施例中,根据步骤210~步骤230中一样,根据第一实例化请求中的VIM信息,找出对应的每个节点的VIM的模板信息。当确定该节点的VIM信息支持的模板语言为第一模板语言时,则从该节点的模板信息artifacts中获取与VIM类型和第一模板语言一致的第一VNF子信息。在一个例子中,例如请求中该节点的VIM信息是:
[0086]
VIM:Azure
[0087]
Format:arm
[0088]
则根据上述VIM信息找到lower lever service template中每个node template对应的artifact。即compute节点对应的VNF子信息是VNF_package/compute_for_Azure.arm地址指示的compute_for_Azure.arm文件;storage节点对应的VNF子信息是VNF_package/storage_for_Azure.arm地址指示的storage_for_Azure.arm文件;CP节点对应的VNF子信息是VNF_package/cp_for_Azure.arm地址指示的cp_for_Azure.arm文件。然后通过步骤240将这些子信息发给多云平台multi-cloud,并由multi-cloud发送将上述各个节点的VNF子信息发送给对应的VIM平台上部署该VNF,即在Azure平台上部署该VNF。
[0089]
通过本申请提供的虚拟化管理方法可以有效解决应用的跨平台部署,采用统一的部署模板,在上层管理平台统一的情况下,实现对多个资源平台的支持。
[0090]
图3为本申请实施例提供的另一种虚拟化管理方法流程图。
[0091]
如图3所示,提供了另一种虚拟化管理方法,包括以下步骤:
[0092]
步骤210,服务协调器SO或虚拟网络功能管理器NFVO向VNFM发送的虚拟化网络功能VNF的第一实例化请求消息,第一实例化请求消息包括VNF标识和虚拟基础设施管理器VIM信息,VIM信息包括VIM类型以及支持的模板语言。
[0093]
步骤220,VNFM根据VNF标识获取VNF数据包。
[0094]
本领域技术人员应当注意,上述步骤210和步骤220与图2中步骤210和步骤220一致,为方便描述,在此不再赘述。
[0095]
步骤250,当确定VIM信息支持的模板语言为第二模板语言时,VNFM解析VNF数据包的VNFD,并根据解析结果生成资源请求,资源请求包括第二VNF子信息,第二VNF子信息用于部署VNF。
[0096]
在一个实施例中,VNF数据包包括第二模板语言的元数据文件,所述元数据文件包括指示参数;解析VNF数据包的VNFD,包括:解析指示参数指示的第一业务模板,第一业务模板包含于VNF数据包的VNFD中。
[0097]
在一个实例中,第二模板语言可以的TOSCA模板语言。例如第一实例化请求中的VIM信息可以是:
[0098]
VIM:Openstack
[0099]
Format:TOSCA
[0100]
当确定VIM信息支持的模板语言是TOSCA模板语言时,解析VNF数据包中的指示参数Entry-Definitions指示的业务模板。本领域人员应当注意,第一业务模板指代的是指示参数指示的业务模板,例如可用是Entry-Definitions指示的top-level TOSCA service template也可以是其他指示参数指示的其他业务模板。在本实例中,例如可以是VNFD TOSCA service template。在上述图2步骤220的VNFD TOSCA service template示例中,VNFM直接解析除artifacts的其余部分。因为在其余部分中node_templates下的SunshineDB,描述了这个VNF的一些基本信息。例如该VNF的描述地址descriptor_id、应用提供方provider、应用名称product_name等等信息。然后将VNFD中所包含的信息转换成对应的资源请求,该资源请求中包括第二VNF子信息。其中第二VNF子信息包括了上述解析出的部署该VNF的所有资源信息以及调用请求,用于后续对VNF进行部署。在一个例子中可以包括对计算,存储,网络等资源 的调用。
[0101]
在另一个实例中,第一业务模板还可以包括第一标识;解析指示参数指示的第一业务模板,包括:解析第一业务模板与第一标识指示的第二业务模板。例如,第一标识可以是图2步骤220的VNFD TOSCA service template示例中的部署喜好标识flavour_id,该部署喜好标识用另一个TOSCA service template描述。本领域人员应当注意,一个VNFD中可以有多个部署喜好,每个部署喜好用一个单独的TOSCA service template来进行描述。然后针对每个业务模板进行解析得相应的第二VNF子信息。
[0102]
步骤260,向多云平台发送所述资源请求,用于多云平台在VIM类型对应的VIM上部署VNF。
[0103]
在一个示例中,VNFM将步骤250解析得到的地儿VNF子信息发送至多云平台,用于多云平台在对应的Openstack平台上部署VNF。
[0104]
在另一个示例中,例如图2步骤220中对于lower-level service template的修改。例如接收的第一实例化请求中的VIM信息可以是:
[0105]
VIM:Openstack
[0106]
Format:TOSCA
[0107]
则忽略每个节点模板中的artifacts,直接根据节点模板中的其余描述将VNFD中所包含的信息转换成Openstack平台对应的资源请求。该资源请求中包括各个节点对应的第二VNF子信息。其中第二VNF子信息包括了上述解析出的部署该VNF的所有资源信息以及调用请求,用于后续对VNF进行部署。在一个例子中可以包括对计算,存储,网络等资源的调用。
[0108]
在图2和图3的步骤210之前,该方法还包括以下步骤,如图4所示,
[0109]
步骤410,接收虚拟化网络功能VNF的第二实例化请求消息,第二实例化请求包括VNF标识。
[0110]
在一个实施例中,SO或NFVO接收了VNF的第二实例化请求,该第二实例化请求中包含有部署该VNF的VNF package ID。
[0111]
步骤420,确定虚拟基础设施管理器VIM类型。
[0112]
在一个实施例中,可以根据ONAP的部署策略,选择在那种类型的数据中心上部署该VNF。其中,不同类型的数据中心对应着不同类型的VIM。在一个示例中,ONAP的部署策略可以是当前VIM的资源利用情况。
[0113]
在一个示例中,步骤420确定的VIM类型以及该VIM类型所支持的模板语言可以是:
[0114]
VIM:Openstack
[0115]
Format:TOSCA
[0116]
或者是
[0117]
VIM:Azure
[0118]
Format:ARM
[0119]
本领域人员应当注意,上述提供的仅仅是确定的VIM类型以及该VIM类型所支持的模板语言的几种可能的形式,但并不限于此,任何可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。
[0120]
图5为本申请实施例提供的一种虚拟化管理装置示意图。
[0121]
如图5所示,提供了一种虚拟网络功能管理器500,包括:接收模块510、获取模块520、确定模块530以及发送模块540。接收模块510,用于接收服务协调器SO或虚拟网络功能管理器NFVO发送的虚拟化网络功能VNF的第一实例化请求消息,第一实例化请求消息包括VNF标识和虚拟基础设施管理器VIM信息,VIM信息包括VIM类型以及支持的模板语言。获取模块520,用于根据VNF标识获取VNF数据包。确定模块530,用于当确定VIM信息支持的模板语言为第一模板语言时,VNFM从模板信息中获取与VIM类型和第一模板语言一致的第一VNF子信息,第一VNF子信息用于部署VNF;其中,模板信息包括在VNF数据包的描述符文件VNFD中。发送模块540,用于向多云平台发送第一VNF子信息,用于多云平台在VIM类型对应的VIM上部署VNF。
[0122]
在一个可能的实施方式中,确定模块530还用于:当确定VIM信息支持的模板语言为第二模板语言时,解析VNF数据包的VNFD,并根据解析结果生成资源请求,资源请求包括第二VNF子信息,第二VNF子信息用于部署VNF。发送模块540还用于向多云平台发送资源请求,用于多云平台在VIM类型对应的VIM上部署VNF。
[0123]
在一个可能的实施方式中,VNF数据包包括第二模板语言的元数据文件,元数据文件包括指示参数;确定模块530解析VNF数据包的VNFD,包括:确定模块530解析指示参数指示的第一业务模板,第一业务模板包含于VNF数据包的VNFD中。
[0124]
在一个可能的实施方式中,第一业务模板包括第一标识;确定模块530解析指示参数指示的第一业务模板,包括:确定模块530解析第一业务模板与第一标识指示的第二业务模板。
[0125]
在一个可能的实施方式中,VNFD包括至少一个节点模板,每个节点模板包括模板信息。
[0126]
图6为本申请实施例提供的另一种虚拟化管理装置示意图。
[0127]
如图6所示,提供了一种虚拟化管理装置600,该装置可以是SO,也可以是NFVO。该装置包括:接收模块610、确定模块620以及发送模块630。接收模块610,用于接收虚拟化网络功能VNF的第二实例化请求消息,第二实例化请求包括VNF标识。确定模块620,用于确定虚拟基础设施管理器VIM类型。发送模块630,用于向虚拟网络功能管理器VNFM发送VNF的第一实例化请求消息,第一实例化请求消息包括VNF标识和VIM信息,VIM信息包括VIM类型以及支持的模板语言,第一实例化请求消息用于VNFM执行VNF的部署。
[0128]
本申请通过在VNFD中增加针对不同VIM平台的模板信息,其中模板信息包含有针对在不同VIM平台上部署VNF的多个不同VNF子信息。从而对跨平台的业务部署,可以将其部署信息放在一个VNFD中,实现对多个资源平台的支持,从而有效解决应用的跨平台部署。
[0129]
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的 特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0130]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetic tape),软盘(英文:floppy disk),光盘(英文:optical disc)及其任意组合。
[0131]
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

权利要求书

[权利要求 1]
一种虚拟化管理方法,其特征在于,所述方法包括: 虚拟网络功能管理器VNFM接收服务协调器SO或网络功能虚拟化编排器NFVO发送的虚拟化网络功能VNF的第一实例化请求消息,所述第一实例化请求消息包括VNF标识和虚拟基础设施管理器VIM信息,所述VIM信息包括VIM类型以及支持的模板语言; 所述VNFM根据所述VNF标识获取VNF数据包; 当确定所述VIM信息支持的模板语言为第一模板语言时,所述VNFM从模板信息中获取与所述VIM类型和所述第一模板语言一致的第一VNF子信息,所述第一VNF子信息用于部署VNF;其中,所述模板信息包括在所述VNF数据包的描述符文件VNFD中; 所述VNFM向多云平台发送所述第一VNF子信息,用于所述多云平台在所述VIM类型对应的VIM上部署VNF。
[权利要求 2]
如权利要求1所述的方法,其特征在于,所述方法还包括: 当确定所述VIM信息支持的模板语言为第二模板语言时,所述VNFM解析所述VNF数据包的VNFD,并根据解析结果生成资源请求,所述资源请求包括第二VNF子信息,所述第二VNF子信息用于部署VNF; 所述VNFM向多云平台发送所述资源请求,用于所述多云平台在所述VIM类型对应的VIM上部署VNF。
[权利要求 3]
如权利要求2所述的方法,其特征在于,所述VNF数据包包括第二模板语言的元数据文件,所述元数据文件包括指示参数;所述VNFM解析所述VNF数据包的VNFD,包括: 所述VNFM解析所述指示参数指示的第一业务模板,所述第一业务模板包含于所述VNF数据包的VNFD中。
[权利要求 4]
如权利要求2所述的方法,其特征在于,所述第一业务模板包括第一标识;所述VNFM解析所述指示参数指示的第一业务模板,包括: 所述VNFM解析所述第一业务模板与所述第一标识指示的第二业务模板。
[权利要求 5]
如权利要求1所述的方法,其特征在于,所述VNFD包括至少一个节点模板,每个所述节点模板包括所述模板信息。
[权利要求 6]
一种虚拟化管理方法,其特征在于,所述方法包括: 接收虚拟化网络功能VNF的第二实例化请求消息,所述第二实例化请求包括VNF标识; 确定虚拟基础设施管理器VIM类型; 向VNFM发送VNF的第一实例化请求消息,所述第一实例化请求消息包括VNF标识和VIM信息,所述VIM信息包括VIM类型以及支持的模板语言,所述第一实例化请求消息用于所述VNFM执行VNF的部署。
[权利要求 7]
一种虚拟网络功能管理器,其特征在于,包括: 接收模块,用于接收服务协调器SO或网络功能虚拟化编排器NFVO发送的虚拟化网络功能VNF的第一实例化请求消息,所述第一实例化请求消息包括VNF标识和虚拟基础设施管理器VIM信息,所述VIM信息包括VIM类型以及支持的模板语言; 获取模块,用于根据所述VNF标识获取VNF数据包; 确定模块,用于当确定所述VIM信息支持的模板语言为第一模板语言时,所述VNFM从模板信息中获取与所述VIM类型和所述第一模板语言一致的第一VNF子信息,所述第一VNF子信息用于部署VNF;其中,所述模板信息包括在所述VNF数据包的描述符文件VNFD中; 发送模块,用于向多云平台发送所述第一VNF子信息,用于所述多云平台在所述VIM类型对应的VIM上部署VNF。
[权利要求 8]
如权利要求7所述的虚拟网络功能管理器,其特征在于,所述确定模块还用于: 当确定所述VIM信息支持的模板语言为第二模板语言时,解析所述VNF数据包的VNFD,并根据解析结果生成资源请求,所述资源请求包括第二VNF子信息,所述第二VNF子信息用于部署VNF; 所述发送模块,还用于向多云平台发送所述资源请求,用于所述多云平台在所述VIM类型对应的VIM上部署VNF。
[权利要求 9]
如权利要求8所述的虚拟网络功能管理器,其特征在于,所述VNF数据包包括第二模板语言的元数据文件,所述元数据文件包括指示参数;所述确定模块解析所述VNF数据包的VNFD,包括: 所述确定模块解析确定模块所述指示参数指示的第一业务模板,所述第一业务模板包含于所述VNF数据包的VNFD中。
[权利要求 10]
如权利要求8所述的虚拟网络功能管理器,其特征在于,所述第一业务模板包括第一标识;所述确定模块解析所述指示参数指示的第一业务模板,包括: 所述确定模块解析所述第一业务模板与所述第一标识指示的第二业务模板。
[权利要求 11]
如权利要求7所述的虚拟网络功能管理器,其特征在于,所述VNFD包括至少一个节点模板,每个所述节点模板包括所述模板信息。
[权利要求 12]
一种虚拟化管理装置,其特征在于,包括: 接收模块,用于接收虚拟化网络功能VNF的第二实例化请求消息,所述第二实例化请求包括VNF标识; 确定模块,用于确定虚拟基础设施管理器VIM类型; 发送模块,用于向虚拟网络功能管理器VNFM发送VNF的第一实例化请求消息,所述第一实例化请求消息包括VNF标识和VIM信息,所述VIM信息包括VIM类型以及支持的模板语言,所述第一实例化请求消息用于所述VNFM执行VNF的部署。
[权利要求 13]
一种系统,其特征在于,所述系统包括权利要求7至11任一项所述的虚拟网络功能管理器和权利要求12所述的服务协调器。
[权利要求 14]
一种存储程序的计算机可读存储介质,其特征在于,所述程序包括指令,所 述指令当被终端执行时,使所述终端执行根据权利要求1-6任一所述的方法。
[权利要求 15]
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如权利要求1-6任一所述的方法。

附图

[ 图 1]  
[ 图 2]  
[ 图 3]  
[ 图 4]  
[ 图 5]  
[ 图 6]