首页 / 专利库 / 电脑编程 / 算法 / 一种VNF实例化方法、装置、设备及存储介质

一种VNF实例化方法、装置、设备及存储介质

阅读:461发布:2020-05-11

专利汇可以提供一种VNF实例化方法、装置、设备及存储介质专利检索,专利查询,专利分析的服务。并且本 申请 实施例 公开了一种VNF实例化方法、装置、设备及存储介质,其中,所述方法包括:根据VNFM的资源需求条件,获取VNF资源集合,其中,所述VNF资源集合中包括至少两个VNFC的状态参数;根据所述至少两个VNFC的状态参数,按照预设 算法 生成 虚拟机 预部署图;根据所述虚拟机预部署图,部署与所述VNF资源集合中至少两个VNFC对应的虚拟机,以实现所述虚拟机在被部署之后执行与所述虚拟机对应的功能。,下面是一种VNF实例化方法、装置、设备及存储介质专利的具体信息内容。

1.一种VNF实例化方法,其特征在于,所述方法包括:
根据虚拟化网络功能管理器VNFM的资源需求条件,获取虚拟化网络功能VNF资源集合,其中,所述VNF资源集合中包括至少两个虚拟化网路功能模组件VNFC的状态参数;
根据所述至少两个VNFC的状态参数,按照预设算法生成虚拟机预部署图;
根据所述虚拟机预部署图,部署与所述VNF资源集合中至少两个VNFC对应的虚拟机,以实现所述虚拟机在被部署之后执行与所述虚拟机对应的功能。
2.根据权利要求1所述的方法,其特征在于,所述根据所述至少两个VNFC的状态参数,按照预设算法生成虚拟机预部署图,包括:
根据所述至少两个VNFC的状态参数,获取虚拟机组集合;其中,所述虚拟机组集合中包括至少两个虚拟机组标识和与每一虚拟机组标识对应的虚拟机组参数;
根据所述虚拟机组参数,按照所述预设算法对所述虚拟机组集合进行处理,得到所述虚拟机预部署图。
3.根据权利要求2所述的方法,其特征在于,所述虚拟机组参数包括:服务器需求数量、虚拟机核数和亲和组号;
对应地,所述根据所述虚拟机组参数,按照所述预设算法对所述虚拟机组集合进行处理,得到所述虚拟机预部署图,包括:
根据所述服务器需求数量,按照第一预设规则对所述虚拟机组集合中的全部虚拟机组标识进行排序,得到第一虚拟机组列表;
根据所述虚拟机核数,按照第二预设规则对所述第一虚拟机组列表中的全部虚拟机组标识进行排序,得到第二虚拟机组列表;
根据所述亲和组号,按照第三预设规则对所述第二虚拟机组列表中的全部虚拟机组标识进行排序,得到第三虚拟机组列表;
根据所述第三虚拟机组列表得到所述虚拟机预部署图。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所述至少两个VNFC的状态参数,获取每一服务器可部署的虚拟机数量;
对应地,所述根据所述第三虚拟机组列表得到所述虚拟机预部署图,包括:
根据所述每一服务器可部署的虚拟机数量以及所述第三虚拟机组列表,得到所述虚拟机预部署图。
5.根据权利要求4所述的方法,其特征在于,所述根据所述每一服务器可部署的虚拟机数量以及所述第三虚拟机组列表,得到所述虚拟机预部署图,包括:
根据所述每一服务器可部署的虚拟机数量,按照所述第三虚拟机组列表中虚拟机组的顺序,依次将所述第三虚拟机组列表中全部虚拟机组对应的待部署虚拟机部署至目标服务器,得到所述虚拟机预部署图。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
如果所述待部署虚拟机与目标服务器上至少一个已部署的虚拟机具有相同的所述亲和组号,禁止将所述待部署虚拟机部署至所述目标服务器。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
如果所述待部署虚拟机被禁止部署于全部服务器上时,增加新服务器作为所述待部署虚拟机的新目标服务器。
8.一种VNF实例化装置,其特征在于,所述装置包括:
获取单元,用于根据VNFM的资源需求条件,获取VNF资源集合,其中,所述VNF资源集合中包括至少两个VNFC的状态参数;
生成单元,用于根据所述至少两个VNFC的状态参数,按照预设算法生成虚拟机预部署图;
部署单元,用于根据所述虚拟机预部署图,部署与所述VNF资源集合中至少两个VNFC对应的虚拟机,以实现所述虚拟机在被部署之后执行与所述虚拟机对应的功能。
9.一种VNF实例化设备,其特征在于,所述设备至少包括:处理器和配置为存储可执行指令的存储介质,其中:所述处理器配置为执行存储的可执行指令;
所述可执行指令配置为执行上述权利要求1至7任一项所提供的VNF实例化方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令配置为执行上述权利要求1至7任一项所提供的VNF实例化方法。

说明书全文

一种VNF实例化方法、装置、设备及存储介质

技术领域

[0001] 本申请实施例涉及虚拟技术领域,涉及但不限于一种VNF实例化方法、装置、设备及存储介质。

背景技术

[0002] 在网络功能虚拟化(Network Function Virtualization,NFV)环境中,虚拟化平台完成安装与集成后,便具备了实例化虚拟化网络功能(Virtualised  Network Function,VNF)网元的条件。
[0003] 在现有的欧洲电信标准协会NFV(European Telecommunication Standards Institute,ETSI NFV)架构中,VNF的实例化需要虚拟化网络功能管理器(Virtualised Network Function Manager,VNFM)解析虚拟化网络功能描述符(Virtualised Network Function Descriptor,VNFD)条目,获取每个虚拟化网路功能模组件(Virtualised Network Function Component,VNFC)的需求。不管是直接模式还是间接模式,VNF实例化的过程都需要VNFM获取每个VNFC的规格,然后以VNFC为单位,依次按序向虚拟化云平台发起实例化请求,虚拟化云平台根据每个VNFC启动资源的需求及本地资源视图情况,选择合适的计算节点进行单个VNFC的实例化。虚拟化基础设施管理器(Virtualised Infrastructure Manager,VIM)在完成一个VNFC的装配之后,再装配接收到的其他VNFC实例化请求,循环往复,直到组成该VNF的所有VNFC完成装配并启动,至此整个网元的实例化过程宣告完成。
[0004] 但是,现有的NFV环境中的虚拟化网元实例化过程,在装配每个VNFC时只会考虑到满足此时刻单个VNFC的要求,而将之装配到计算节点,没有统筹规划与全局视图,导致虚拟机并不均匀的分散在各个计算节点,因而会出现大量的资源碎片,资源利用率较低。发明内容
[0005] 有鉴于此,本申请实施例提供一种VNF实例化方法、装置、设备及存储介质,能够最优化利用物理资源,减少资源碎片,提升资源利用率。
[0006] 本申请实施例的技术方案是这样实现的:
[0007] 第一方面,本申请实施例提供一种VNF实例化方法,所述方法包括:
[0008] 根据VNFM的资源需求条件,获取VNF资源集合,其中,所述VNF资源集合中包括至少两个VNFC的状态参数;
[0009] 根据所述至少两个VNFC的状态参数,按照预设算法生成虚拟机预部署图;
[0010] 根据所述虚拟机预部署图,部署与所述VNF资源集合中至少两个VNFC对应的虚拟机,以实现所述虚拟机在被部署之后执行与所述虚拟机对应的功能。
[0011] 第二方面,本申请实施例提供一种VNF实例化装置,所述装置包括:
[0012] 获取单元,用于根据VNFM的资源需求条件,获取VNF资源集合,其中,所述VNF资源集合中包括至少两个VNFC的状态参数;
[0013] 生成单元,用于根据所述至少两个VNFC的状态参数,按照预设算法生成虚拟机预部署图;
[0014] 部署单元,用于根据所述虚拟机预部署图,部署与所述VNF资源集合中至少两个VNFC对应的虚拟机,以实现所述虚拟机在被部署之后执行与所述虚拟机对应的功能。
[0015] 第三方面,本申请实施例提供一种VNF实例化设备,所述设备至少包括:处理器和配置为存储可执行指令的存储介质,其中:所述处理器配置为执行存储的可执行指令;
[0016] 所述可执行指令配置为执行上述VNF实例化方法。
[0017] 第四方面,本申请实施例提供一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令配置为执行上述VNF实例化方法。
[0018] 本申请实施例提供一种VNF实例化方法、装置、设备及存储介质,其中,所述方法包括:根据VNFM的资源需求条件,获取VNF资源集合,其中,所述VNF资源集合中包括至少两个VNFC的状态参数;根据所述至少两个VNFC的状态参数,按照预设算法生成虚拟机预部署图;根据所述虚拟机预部署图,部署与所述VNF资源集合中至少两个VNFC对应的虚拟机,以实现所述虚拟机在被部署之后执行与所述虚拟机对应的功能。这样,由于获取的VNF资源集合中包括至少两个VNFC的状态参数,使得所生成的虚拟机预部署图是考虑多个VNFC之间的关联关系的预部署图,从而在部署虚拟机时能够最优化利用物理资源,减少资源碎片,提升资源利用率。
附图说明
[0019] 在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。
[0020] 图1为本申请实施例所提供的一种VNF实例化方法的实现流程示意图;
[0021] 图2为本申请实施例所提供的一种VNF实例化方法的实现流程示意图;
[0022] 图3为本申请实施例所提供的一种VNF实例化方法的实现流程示意图;
[0023] 图4为本申请实施例所提供的一种VNF实例化装置的组成结构示意图;
[0024] 图5为本申请实施例所提供的VNF实例化设备的组成结构示意图。

具体实施方式

[0025] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
[0026] 在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
[0027] 相关技术中,VNF的实例化需要VNFM解析VNFD条目,获取每个VNFC的需求。通常,VNF的实例化包括直接模式和间接模式两种模式,在直接模式下,由VNFM向虚拟化云平台预留相关资源,发起实例化请求;在间接模式下,VNFM通过NFVO向虚拟化云平台预留相关资源,发起实例化请求。
[0028] 不管是直接模式还是间接模式,VNF实例化的过程都需要VNFM首先获取每个VNFC的规格,其中,VNFC的规格包括中央处理器(Central Processing Unit,CPU)核数、内存大小、硬盘需求、虚拟网卡数目等,以及,各VNFC之间的关联关系,其中,各VNFC之间的关联关系包括亲和性、反亲和性。然后,VIM以VNFC为单位,依次按序向虚拟层发起实例化请求,虚拟层根据每个VNFC启动资源的需求及本地资源视图情况,结合自身装箱称重算法,选择合适的计算节点进行单个VNFC的实例化。VIM在完成一个VNFC的装配之后,再装配接收到的其他VNFC实例化请求,循环往复,直到组成该VNF的所有VNFC完成装配并启动,至此整个网元的实例化过程宣告完成。
[0029] 通过上述相关技术中的VNF实例化的过程可以看出,相关技术NFV环境中的虚拟化网元实例化过程由VNFM或NFVO发起,发起实例化的单位为单个VNFC,根据VNFD中定义的VNFC要求依次向VIM发起请求。这就意味着VIM侧接收到的VNFC实例化请求是队列式的,因此,VIM会逐一进行处理,在装配每个VNFC时只会考虑到满足此时刻单个VNFC的要求,而将之装配到计算节点,没有统筹规划与全局视图,导致虚拟机并不均匀的分散在各个计算节点,因而会出现大量的资源碎片,资源利用率较低。
[0030] 基于相关技术中所存在的上述问题,本实施例提供一种VNF实例化方法,所述VNF实例化方法包括针对NFV网元实例化的预装配的流程与算法,通过提前获取整体业务领域的实例化需求,例如IP多媒体子系统(IP Multimedia Subsystem,IMS)或者演进分组系统(Evolved Packet System,EPS)或者第五代移动通信网络(5th Generation,5G)系统等系统网元的实例化需求,分析构成各网元VNFC的资源需求以及各网元VNFC之间的关联信息,生成虚拟机预部署图,通过在NFVO/VNFM或VIM上将此预部署图根据相应的装箱称重算法进行部署,从而可以有效降低资源碎片的数量,提高数据中心资源利用率。
[0031] 图1为本申请实施例所提供的一种VNF实例化方法的实现流程示意图,如图1所示,所述方法包括以下步骤:
[0032] 步骤S101,根据VNFM的资源需求条件,获取VNF资源集合。
[0033] 这里,VNFM中包含有各虚拟机的状态参数以及资源需求条件和各服务器的状态参数以及资源需求条件,通过NFVO对VNFM进行访问,获知VNFM的资源需求条件,然后,根据所述VNFM的资源需求条件,获取VNF资源集合。
[0034] 所述VNF资源集合中包括至少两个VNFC的状态参数,例如,所述VNFC的状态参数可以包括以下至少之一:虚拟机数量、虚拟机规格(如CPU、内存或非一致性内存访问(Non-Uniform Memory Access,NUMA)、巨页等)、虚拟机之间的关系(如亲和性、反亲和性等)。
[0035] 本实施例中,VIM获取VNF资源集合,VIM可以通过VNFO根据VNFM的资源需求条件,获取VNF资源集合。
[0036] 在实现过程中,VNFO对VNFM进行访问,确定VNFM的资源需求条件,然后VNFO根据VNFM的资源需求条件,获取多个VNFC的状态参数,再将多个VNFC的状态参数发送给VIM,以实现VIM对待部署虚拟机的预部署。
[0037] 步骤S102,根据所述至少两个VNFC的状态参数,按照预设算法生成虚拟机预部署图。
[0038] 这里,VIM根据所述至少两个VNFC的状态参数实现对虚拟机的预部署,按照预设算法生成虚拟机预部署图。
[0039] 本实施例中,步骤S102根据所述至少两个VNFC的状态参数,按照预设算法生成虚拟机预部署图可以通过以下步骤实现:
[0040] 步骤S1021,根据所述至少两个VNFC的状态参数,获取虚拟机组集合。
[0041] 这里,所述虚拟机组集合中包括至少两个虚拟机组标识和与每一虚拟机组标识对应的虚拟机组参数。
[0042] 所述虚拟机组标识是虚拟机组的标识,所述虚拟机组中包括至少一个虚拟机,所述虚拟机组中的全部虚拟机为同一类型的虚拟机。所述与每一虚拟机组标识对应的虚拟机组参数,为所述虚拟机组标识对应的虚拟机组中的虚拟机的参数,例如,所述虚拟机组参数可以包括:单虚拟机核数量、亲和组号、每组虚拟机所需要的最少服务器数量等,当然,所述虚拟机组参数还可以包括虚拟机的其他参数,例如,虚拟机内存、虚拟机带宽等,具体可以根据实际需要进行选择,本实施例对此不做限定。
[0043] 步骤S1022,根据所述虚拟机组参数,按照所述预设算法对所述虚拟机组集合进行处理,得到所述虚拟机预部署图。
[0044] 这里,所述预设算法可以为预设排序算法或者预设排序规则,当获取到所述虚拟机组参数之后,按照预设排序算法或者预设排序规则对所述虚拟机组集合中的全部虚拟机组标识进行处理,得到处理后的虚拟机组集合为所述虚拟机预部署图。其中,所述虚拟机预部署图是考虑了多个VNFC之间的关联关系的预部署图。所述关联关系可以为多个VNFC之间的亲和性或反亲和性。
[0045] 步骤S103,根据所述虚拟机预部署图,部署与所述VNF资源集合中至少两个VNFC对应的虚拟机。
[0046] 当得到所述虚拟机预部署图之后,VIM根据所述虚拟机预部署图部署全局VNF对应的全部虚拟机。
[0047] 本实施例中,根据所述虚拟机预部署图,部署与所述VNF资源集合中至少两个VNFC对应的虚拟机,从而实现所述虚拟机在被部署之后执行与所述虚拟机对应的功能。
[0048] 本申请实施例所提供的VNF实例化方法,根据VNFM的资源需求条件,获取VNF资源集合;根据所述至少两个VNFC的状态参数,按照预设算法生成虚拟机预部署图;根据所述虚拟机预部署图部署虚拟机。这样,由于获取的VNF资源集合中包括至少两个VNFC的状态参数,使得所生成的虚拟机预部署图是考虑多个VNFC之间的关联关系的预部署图,从而在部署虚拟机时能够最优化利用物理资源,减少资源碎片,提升资源利用率。
[0049] 图2为本申请实施例所提供的一种VNF实例化方法的实现流程示意图,如图2所示,所述方法包括以下步骤:
[0050] 步骤S201,根据VNFM的资源需求条件,获取VNF资源集合。
[0051] 这里,VNFM中包含有各虚拟机的状态参数以及资源需求条件和各服务器的状态参数以及资源需求条件,通过NFVO对VNFM进行访问,获知VNFM的资源需求条件,然后,根据所述VNFM的资源需求条件,获取VNF资源集合。其中,所述VNF资源集合中包括至少两个VNFC的状态参数;所述VNFC的状态参数可以包括以下参数中的一项或者多项:虚拟机个数、每虚拟机CPU(物理核)、每虚拟机内存、云盘总容量、每虚拟机带宽、亲和属性(亲和组号)、反亲和属性(反亲和组号)和备份关系。
[0052] 步骤S202,根据所述至少两个VNFC的状态参数,获取虚拟机组集合。
[0053] 这里,所述虚拟机组集合中包括至少两个虚拟机组标识和与每一虚拟机组标识对应的虚拟机组参数。
[0054] 所述虚拟机组标识是虚拟机组的标识,所述虚拟机组中包括至少一个虚拟机,所述虚拟机组中的全部虚拟机为同一类型的虚拟机。所述虚拟机组参数包括:服务器需求数量、虚拟机核数和亲和组号。
[0055] 当获取到所述VNF资源集合之后,所述亲和组号和所述虚拟机核数可以根据所述VNF资源集合中的至少两个VNFC的状态参数直接得到;所述服务器需求数量可以根据所述VNF资源集合中的至少两个VNFC的状态参数计算而间接得到。
[0056] 步骤S203,根据所述服务器需求数量,按照第一预设规则对所述虚拟机组集合中的全部虚拟机组标识进行排序,得到第一虚拟机组列表。
[0057] 这里,所述第一预设规则为第一排序规则,所述第一排序规则为对所述虚拟机组集合中的全部虚拟机组标识,按照与每一虚拟机组标识对应的服务器需求数量从大到小的顺序进行排序;或者,所述第一排序规则为对所述虚拟机组集合中的全部虚拟机组标识,按照与每一虚拟机组标识对应的服务器需求数量从小到大的顺序进行排序。
[0058] 通过第一排序规则对所述虚拟机组集合中的全部虚拟机组标识进行排序之后,即得到所述第一虚拟机组列表,所述第一虚拟机组列表中包括:所述虚拟机组集合中的全部虚拟机组标识、与每一虚拟机组标识对应的虚拟机组参数。
[0059] 步骤S204,根据所述虚拟机核数,按照第二预设规则对所述第一虚拟机组列表中的全部虚拟机组标识进行排序,得到第二虚拟机组列表。
[0060] 这里,所述第二预设规则为第二排序规则,所述第二排序规则为对所述第一虚拟机组列表中的全部虚拟机组标识,按照与每一虚拟机组标识对应的虚拟机核数从大到小的顺序进行排序;或者,所述第二排序规则为对所述第一虚拟机组列表中的全部虚拟机组标识,按照与每一虚拟机组标识对应的虚拟机核数从小到大的顺序进行排序。
[0061] 通过第二排序规则对所述第一虚拟机组列表中的全部虚拟机组标识进行排序之后,即得到所述第二虚拟机组列表,所述第二虚拟机组列表中包括:所述第一虚拟机组列表中的全部虚拟机组标识、与每一虚拟机组标识对应的虚拟机组参数。
[0062] 步骤S205,根据所述亲和组号,按照第三预设规则对所述第二虚拟机组列表中的全部虚拟机组标识进行排序,得到第三虚拟机组列表。
[0063] 这里,所述第三预设规则为调整规则,所述调整规则为对所述第二虚拟机组列表中的全部虚拟机组标识,从所述第二虚拟机组列表的起始列表行开始,将与当前列表行中的亲和组号相同的其他列表行所包括的虚拟机组标识,调整至与当前列表行相邻。
[0064] 所述起始列表行为所述第二虚拟机组列表的第一行,所述第二虚拟机组列表中的每一列表行中包括一个虚拟机组标识、与该虚拟机组标识对应的单虚拟机核数量、与该虚拟机组标识对应的亲和组号、与该虚拟机组标识对应的服务器需求数量。
[0065] 这里,每一亲和组号对应一种亲和性,例如,当某一虚拟机组标识对应的亲和组号为1时,则该虚拟机组具有亲和组号为1时所对应的亲和性。
[0066] 所述将与当前列表行中的亲和组号相同的其他列表行所包括的虚拟机组标识,调整至与当前列表行相邻,是指对于除了当前列表行以及已调整列表行之外的其他列表行,查找与当前列表行的亲和组号相同的列表行,如果某一列表行的亲和组号与当前列表行的亲和组号相同,则将该列表行调整至当前列表行的相邻的下方。其中,所述已调整列表行为位于所述当前列表行之前的全部列表行。
[0067] 通过调整规则对所述第二虚拟机组列表中的全部虚拟机组标识进行调整之后,即得到所述第三虚拟机组列表,所述第三虚拟机组列表中包括:所述第二虚拟机组列表中的全部虚拟机组标识、与每一虚拟机组标识对应的虚拟机组参数。
[0068] 步骤S206,根据所述至少两个VNFC的状态参数,获取每一服务器可部署的虚拟机数量。
[0069] 这里,可以根据所获取的所述至少两个VNFC的状态参数中的备份关系,获取每一服务器可部署的虚拟机数量。
[0070] 举例来说,对于N+M型的备份关系,确定对应服务器可部署的虚拟机数量Y=M,其中,N为NFV资源池内承载业务的虚拟机数量,M为NFV资源池内备份用的虚拟机数量。
[0071] 步骤S207,根据所述第三虚拟机组列表得到所述虚拟机预部署图。
[0072] 本实施例中,步骤S207根据所述第三虚拟机组列表得到所述虚拟机预部署图,可以通过以下步骤实现:
[0073] 步骤S2071,根据所述每一服务器可部署的虚拟机数量以及所述第三虚拟机组列表,得到所述虚拟机预部署图。
[0074] 在其他实施例中,步骤S2071根据所述每一服务器可部署的虚拟机数量以及所述第三虚拟机组列表,得到所述虚拟机预部署图,包括:
[0075] 步骤S2072,根据所述每一服务器可部署的虚拟机数量,按照所述第三虚拟机组列表中虚拟机组的顺序,依次将所述第三虚拟机组列表中全部虚拟机组对应的待部署虚拟机部署至目标服务器,得到所述虚拟机预部署图。
[0076] 这里,由于所述第三虚拟机组列表中虚拟机组标识的顺序,是考虑了全部虚拟机组之间关联关系而排列的,因此,根据所述第三虚拟机组列表中虚拟机组的顺序所得到的所述虚拟机预部署图也将是考虑虚拟机相互之间的关联关系的预部署图。
[0077] 步骤S208,如果所述待部署虚拟机与目标服务器上至少一个已部署的虚拟机具有相同的所述亲和组号,禁止将所述待部署虚拟机部署至所述目标服务器。
[0078] 这里,所述目标服务器是所述待部署虚拟机的待部署目标服务器,所述目标服务器上可以有至少一个已部署的虚拟机,也可以没有部署任何一个虚拟机。
[0079] 如果所述目标服务器上有至少一个已部署虚拟机,则需要判断待部署虚拟机与该目标服务器上已部署的全部已部署虚拟机的亲和组号是否相同,即判断待部署虚拟机与全部已部署虚拟机是否属于同一亲和组。如果判断结果为所述待部署虚拟机与一个已部署虚拟机属于同一亲和组,则不将待部署虚拟机部署至该目标服务器。
[0080] 如果所述目标服务器上没有部署任何一个虚拟机,则直接将该待部署虚拟机部署至该目标服务器。
[0081] 步骤S209,如果所述待部署虚拟机被禁止部署于全部服务器上时,增加新服务器作为所述待部署虚拟机的新目标服务器。
[0082] 这里,所述新服务器是除当前全部服务器之外的服务器,所述新服务器上未部署任何虚拟机。如果全部服务器均不能部署该待部署虚拟机,则增加新服务器来部署该待部署虚拟机。
[0083] 步骤S210,根据所述虚拟机预部署图部署虚拟机。
[0084] 当得到所述虚拟机预部署图之后,VIM根据所述虚拟机预部署图部署全局VNF对应的全部虚拟机。
[0085] 本申请实施例所提供的VNF实例化方法,通过第一预设规则、第二预设规则、第三预设规则依次对所述虚拟机组集合中的全部虚拟机组标识进行处理,得到第三虚拟机组列表,所述第三虚拟机组列表是考虑了全部虚拟机组之间关联关系而得到的列表,那么,根据所述第三虚拟机组列表所得到的所述虚拟机预部署图,也是考虑了各个虚拟机相互之间的关联关系的预部署图。因此,按照所述虚拟机预部署图进行虚拟机的部署能够全局视图考虑,最优化利用物理资源,减少资源碎片,提升利用率。
[0086] 图3为本申请实施例所提供的一种VNF实例化方法的实现流程示意图,如图1所示,所述方法包括以下步骤:
[0087] 步骤S301,NFVO通过VNFM获取全局VNF的资源列表,并将获取的资源列表发送给VIM。
[0088] 这里,所述VNF的资源列表对应上述任一实施例中的VNF资源集合。NFVO通过VNFM获取全局VNF的资源列表,是指NFVO通过获取VNFM的资源需求,根据VNFM的资源需求获取全局VNF的资源列表。其中,VNFM包含有各虚拟机的状态参数以及需求参数、各服务器的状态参数以及需求参数,因此,当NFVO需要获取资源列表时,可以首先询问VNFM,确定VNFM的资源需求,然后,根据VNFM的资源需求获取全局VNF的资源列表。
[0089] 本实施例中,全局VNF的资源列表为NFV环境中全部VNF网元的资源需求所形成的列表,所述全局VNF的资源列表中包括全部VNF网元的资源需求,以及多个VNFC的状态参数。例如,所述全局VNF的资源列表中可以包括:虚拟机数量、虚拟机规格(如CPU、NUMA、巨页等)、虚拟机之间的关系(如亲和性、反亲和性等)。
[0090] 如下表1所示,为NFVO通过VNFM获取某领域的VNF的资源列表。当然,表1只是示例性的,实际获取的资源列表中还可以包括除了移动性管理实体(Mobility Management Entity,MME)以及服务网关(Serving GateWay,S-GW)之外的其他网元类型。
[0091] 从表1可以看出,当前NFVO通过VNFM获取了MME网元和S-GW网元的参数,其中,MME网元包括开放式多处理(Open Multi-Processing,OMP)和对称多处理(Symmetrical Multi-Processing,SMP)两种虚拟机类型,并且,在表1中,还包括每一虚拟机类型对应的虚拟机个数、每虚拟机CPU(物理核)、每虚拟机内存、云盘总容量、每虚拟机带宽、亲和属性(亲和组号)、反亲和属性(反亲和组号)和备份关系。
[0092] 表1 VNF的资源列表
[0093]
[0094] NFVO通过VNFM获取到全局VNF的资源列表之后,将获取的资源列表发送给VIM。
[0095] 步骤S302,VIM实现预部署,按照预设装配算法生成虚拟机预部署图。
[0096] 这里,VIM实现预部署是指VIM根据预设装配算法生成全部虚拟机的虚拟机预部署图,所述虚拟机预部署图是根据所述全局VNF的资源列表按照所述预设装配算法得到的。
[0097] 本实施例中,步骤S302按照预设装配算法生成虚拟机预部署图可以通过以下步骤实现:
[0098] 步骤S3021,计算每服务器可部署的最大虚拟机数量和每组虚拟机的最少服务器数量。
[0099] 这里,对于VNF的资源列表中每一行的虚拟机,计算每服务器可部署的最大虚拟机数量Y,其中,每一行对应一个虚拟机组,即每一个虚拟机类型对应一个虚拟机组,每个虚拟机组的虚拟机个数为X;并根据备份关系计算出每组虚拟机所需要的最少服务器数量Z。其计算方式为:根据VNF资源列表中的备份关系N+M,确定每服务器可部署的最大虚拟机数量Y=M,最少服务器数Z=X/M,且Z取最大整数,其中,N为NFV资源池内承载业务的虚拟机数量,M为NFV资源池内备份用的虚拟机数量。
[0100] 举例来说,对于上表1中的OMP虚拟机类型,其对应的备份关系为1+1、虚拟机个数为2,那么也就是说,N=1、M=1、X=2,因此,根据上述计算方式可以得出:每服务器可部署的最大虚拟机数量Y=1,最少服务器数量Z=2。
[0101] 再例如,对于上表1中的SMP虚拟机类型,其对应的备份关系为5+3、虚拟机个数为8,那么也就是说,N=5、M=3、X=8,因此,根据上述计算方式可以得出:每服务器可部署的最大虚拟机数量Y=3,最少服务器数量Z=8/3,取最大整数,则Z=3。
[0102] 步骤S3022,遍历VNF资源列表中的所有虚拟机,对VNF资源列表中的所有虚拟机组按最少服务器数从大到小排序。
[0103] 这里,每个虚拟机组中包括至少一个虚拟机,每个虚拟机组由一个虚拟机类型的虚拟机组成。例如,上述表1中,OMP虚拟机类型的虚拟机组,其虚拟机个数为2;SMP虚拟机类型的虚拟机组,其虚拟机个数为8。
[0104] 在获取到VNF资源列表,并计算出每组虚拟机的最少服务器数量之后,会以虚拟机组为单元形成虚拟机组资源列表,其中,所述虚拟机组资源列表中包括:虚拟机组名、单虚拟机核数量(对应上述的虚拟机核数)、亲和组号和最少服务器数量(对应上述的服务器需求数量)。
[0105] 本实施例中,遍历VNF资源列表中的所有虚拟机,对VNF资源列表中的所有虚拟机组按最少服务器数从大到小排序,是指对VNF资源列表中的全部虚拟机所形成的所述虚拟机组资源列表,根据所述虚拟机组资源列表中的全部虚拟机组的最少服务器数量,采用从大到小的顺序进行排序,得到一次排序后的虚拟机组资源列表。
[0106] 如表2所示,为对VNF资源列表中的所有虚拟机组按最少服务器数从大到小排序之后,所得到的所述一次排序后的虚拟机组资源列表。
[0107] 表2一次排序后的虚拟机组资源列表
[0108]虚拟机组名 单虚拟机核数量 亲和组号 最少服务器数量
G 4 0 20
B 8 1 10
F 12 2 6
E 4 2 4
C 16 0 4
A 10 1 3
D 9 0 2
[0109] 需要说明的是,在其他实施例中,也可以对VNF资源列表中的所有虚拟机组按照从小到大的排序方式进行排序,可以根据实际需要进行排序方式的选择,本实施例对此不做限定。
[0110] 步骤S3023,对所述一次排序后的虚拟机组资源列表中最少服务器数量相同的虚拟机组,按单虚拟机核数量从大到小排序。
[0111] 这里,对于从步骤S3022中所得到的所述一次排序后的虚拟机组资源列表,查找最少服务器数量相同的虚拟机组,确定最少服务器数量相同的虚拟机组是否是按照单虚拟机核数量从大到小的顺序排列,若是,则跳过步骤S3023,若否,则执行步骤S3023。
[0112] 通过执行步骤S3023,对所述一次排序后的虚拟机组资源列表进行二次排序,得到二次排序后的虚拟机组资源列表。
[0113] 如表3所示,为对上述表2中的一次排序后的虚拟机组资源列表中最少服务器数量相同的虚拟机组,按单虚拟机核数量从大到小排序之后,所得到的所述二次排序后的虚拟机组资源列表。
[0114] 表3二次排序后的虚拟机组资源列表
[0115]虚拟机组名 单虚拟机核数量 亲和组号 最少服务器数量
G 4 0 20
B 8 1 10
F 12 2 6
C 16 0 4
E 4 2 4
A 10 1 3
D 9 0 2
[0116] 需要说明的是,在其他实施例中,也可以对一次排序后的虚拟机组资源列表中最少服务器数量相同的虚拟机组,按单虚拟机核数量从小到大的排序方式进行排序,可以根据实际需要进行排序方式的选择,本实施例对此不做限定。
[0117] 步骤S3024,遍历二次排序后的虚拟机组资源列表,从第一行虚拟机组开始,将相同亲和组号的虚拟机组插入到当前虚拟机组之后。
[0118] 这里,通过执行步骤S3024,对所述二次排序后的虚拟机组资源列表进行三次排序,得到三次排序后的虚拟机组资源列表。
[0119] 本实施例中,将相同亲和组号的虚拟机组插入到当前虚拟机组之后,其目的是为了将具有相同亲和性的虚拟机组连续排列。通过从第一行虚拟机组开始,将相同亲和组号的虚拟机组插入到当前虚拟机组之后,这样,可以使得所得到的所述三次排序后的虚拟机组资源列表中,具有相同亲和性的虚拟机组均连续排列。
[0120] 如表4所示,为对上述表3中的二次排序后的虚拟机组资源列表,将相同亲和组号的虚拟机组插入到当前虚拟机组之后,所得到的所述三次排序后的虚拟机组资源列表。
[0121] 表4三次排序后的虚拟机组资源列表
[0122]虚拟机组名 单虚拟机核数量 亲和组号 最少服务器数量
G 4 0 20
C 16 0 4
D 9 0 2
B 8 1 10
A 10 1 3
F 12 2 6
E 4 2 4
[0123] 步骤S3025,从三次排序后的虚拟机组资源列表的第一行虚拟机组开始部署虚拟机。
[0124] 这里,在从第一行虚拟机组开始部署虚拟机时,由于每个服务器上最多部署Y个虚拟机,且每个虚拟机组中包括的虚拟机个数为X,因此,根据每个服务器上最多部署虚拟机的数量Y以及每个虚拟机组中包括的虚拟机个数X,向每个服务器部署虚拟机,直到部署完本组所有虚机。
[0125] 步骤S3026,从三次排序后的虚拟机组资源列表的第二行开始,检查其反亲和属性。
[0126] 这里,当第一行虚拟机组的全部虚拟机均部署完成时,从第二行开始,在部署虚拟机之前,首先检查第二行虚拟机组的亲和组号,如果第二行虚拟机组的亲和组号与当前服务器上的任意一个或多个虚拟机的亲和组号相同,则表明当前待部署虚拟机与当前服务器位于同一反亲和组,则跳过当前服务器,禁止给当前服务器部署该待部署虚拟机,尝试在下一服务器上部署;反之,如果第二行虚拟机组的亲和组号与当前服务器上的全部虚拟机的亲和组号均不同,则表明当前待部署虚拟机与当前服务器不位于同一反亲和组,因此在当前服务器上部署该待部署虚拟机。
[0127] 步骤S3027,如果在当前全部服务器上都无法部署所述待部署虚拟机,则增加新服务器。
[0128] 这里,如果待部署虚拟机与当前全部服务器均位于同一反亲和组,则不能将待部署虚拟机部署至当前全部服务器上,因此,增加新服务器作为待部署虚拟机的目标服务器以部署所述待部署虚拟机。
[0129] 步骤S3028,直到部署完最后一行虚机,最后统计服务器的总数量。
[0130] 这里,当完成全部虚拟机的部署后,统计服务器的总数量,需要说明的是,最终统计的服务器的总数量大于或等于原始服务器的数量。
[0131] 通过上述步骤S3021至步骤S3028,即可实现对全部虚拟机的预部署,根据步骤S3021至步骤S3028所形成的最终部署结果,生成所述虚拟机预部署图。
[0132] 步骤S303,根据所述虚拟机预部署图部署虚拟机。
[0133] 这里,VIM根据所述虚拟机预部署图部署全局VNF对应的全部虚拟机。
[0134] 本申请实施例提供的VNF实例化方法,通过预设装配算法生成所有虚拟机的虚拟机预部署图,在VIM上进行预装配时,统筹全局VNF的资源列表,根据全部虚拟机之间的关联关系进行全局视图,进而最优化利用物理资源,减少资源碎片,提升资源利用率。
[0135] 基于前述的实施例,本申请实施例提供一种VNF实例化装置,该装置包括所包括的各单元、以及各单元所包括的各模块,可以通过VNF实例化设备中的处理器来实现,例如,所述VNF实例化设备可以为终端或计算机设备等;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程阵列(FPGA)等。
[0136] 图4为本申请实施例所提供的一种VNF实例化装置的组成结构示意图,如图4所示,该VNF实例化装置400包括:
[0137] 获取单元401,用于根据VNFM的资源需求条件,获取VNF资源集合,其中,所述VNF资源集合中包括至少两个VNFC的状态参数;
[0138] 生成单元402,用于根据所述至少两个VNFC的状态参数,按照预设算法生成虚拟机预部署图;
[0139] 部署单元403,用于根据所述虚拟机预部署图部署虚拟机。
[0140] 在其他实施例中,所述生成单元包括:
[0141] 第一获取模块,用于根据所述至少两个VNFC的状态参数,获取虚拟机组集合;其中,所述虚拟机组集合中包括至少两个虚拟机组标识和与每一虚拟机组标识对应的虚拟机组参数;
[0142] 处理模块,用于根据所述虚拟机组参数,按照所述预设算法对所述虚拟机组集合进行处理,得到所述虚拟机预部署图。
[0143] 在其他实施例中,所述虚拟机组参数包括:服务器需求数量、虚拟机核数和亲和组号;
[0144] 对应地,所述处理模块包括:
[0145] 第一排序模块,用于根据所述服务器需求数量,按照第一预设规则对所述虚拟机组集合中的全部虚拟机组标识进行排序,得到第一虚拟机组列表;
[0146] 根据所述虚拟机核数,按照第二预设规则对所述第一虚拟机组列表中的全部虚拟机组标识进行排序,得到第二虚拟机组列表;
[0147] 第二排序模块,用于根据所述亲和组号,按照第三预设规则对所述第二虚拟机组列表中的全部虚拟机组标识进行排序,得到第三虚拟机组列表;
[0148] 第二获取模块,用于根据所述第三虚拟机组列表得到所述虚拟机预部署图。
[0149] 在其他实施例中,所述装置还包括:
[0150] 第二获取单元,用于根据所述至少两个VNFC的状态参数,获取每一服务器可部署的虚拟机数量;
[0151] 对应地,所述第二获取模块包括:
[0152] 第三获取模块,用于根据所述每一服务器可部署的虚拟机数量以及所述第三虚拟机组列表,得到所述虚拟机预部署图。
[0153] 在其他实施例中,所述第三获取模块包括:
[0154] 第四获取模块,用于根据所述每一服务器可部署的虚拟机数量,按照所述第三虚拟机组列表中虚拟机组的顺序,依次将所述第三虚拟机组列表中全部虚拟机组对应的待部署虚拟机部署至目标服务器,得到所述虚拟机预部署图。
[0155] 在其他实施例中,所述装置还包括:
[0156] 禁止部署单元,用于如果所述待部署虚拟机与目标服务器上至少一个已部署的虚拟机具有相同的所述亲和组号,禁止将所述待部署虚拟机部署至所述目标服务器。
[0157] 在其他实施例中,所述装置还包括:
[0158] 增加单元,用于如果所述待部署虚拟机被禁止部署于全部服务器上时,增加新服务器作为所述待部署虚拟机的新目标服务器。
[0159] 以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
[0160] 需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的VNF实例化方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
[0161] 对应的,本申请实施例提供一种VNF实例化设备,图5为本申请实施例所提供的VNF实例化设备的组成结构示意图,如图5所示,所述VNF实例化设备500至少包括:处理器501、通信接口502和配置为存储可执行指令的存储介质503,其中:
[0162] 处理器501通常控制所述VNF实例化设备500的总体操作。
[0163] 通信接口502可以使VNF实例化设备通过网络与其他终端或服务器通信。
[0164] 存储介质503配置为存储由处理器501可执行的指令和应用,还可以缓存待处理器501以及VNF实例化设备500中各模块待处理或已经处理的数据,可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
[0165] 应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0166] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0167] 在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0168] 上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0169] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
[0170] 以上所述,仅为本发明的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈