虚拟机资源分配方法、装置、系统和存储介质与流程

文档序号:25212504发布日期:2021-05-28 14:08阅读:102来源:国知局
虚拟机资源分配方法、装置、系统和存储介质与流程

本发明涉及虚拟化技术领域,特别涉及一种虚拟机资源分配方法、装置、系统和存储介质。



背景技术:

5g网络功能虚拟化是电信5g网络架构重构的关键技术,并已逐步应用于现网部署。

mano(managementandnetworkorchestration,网络功能虚拟化管理和编排)系统作为运营商管理下一代nfv(networkfunctionvirtualization,网络功能虚拟化)网络的核心系统,可以实现对nfv的网元的编排和管理,主要包括nfvo(networkfunctionsvirtualisationorchestrator,网络功能虚拟化编排器)、vnfm(virtualisednetworkfunctionmanager,虚拟化的网络功能管理器)、vim(virtualisedinfrastructuremanager,虚拟化基础设施管理器)。

vnf(virtualisednetworkfunction,网络功能虚拟化)/nfv,即网络功能虚拟化,主要是采用云化的虚机实现一个网元vnf的功能。vnf主要由虚拟机组成,虚拟机资源主要包括虚拟中央处理器(cpu,centralprocessingunit)资源、内存资源、存储资源、网络资源等,对应到虚拟机启动时所需的虚拟资源。当虚拟资源不足时,无法启动虚拟机。



技术实现要素:

发明人经过分析后发现,目前在mano系统中,vnf所需的资源主要由vim一次性分配。vimapi不提供vnf虚拟资源预留的功能。从而若要保证vnf在做弹性扩缩容时候还有足够的虚机资源,则无法灵活地为vnf分配资源。

本发明实施例所要解决的一个技术问题是:如何在保证vnf在做弹性扩缩容时候还有足够的虚机资源的前提下,提高vnf资源分配的灵活性。

根据本发明一些实施例的第一个方面,提供一种虚拟机资源分配方法,包括:网络功能虚拟化编排器nfvo计算vnf所需的资源;nfvo查询虚拟化基础设施管理器vim的空闲资源;nfvo根据vim的空闲资源以及预先记录的其他vnf预留的资源,确定vnf的可预留资源;在vnf的可预留资源多于vnf所需的资源的情况下,nfvo为vnf预留与vnf所需的资源,并记录vnf与预留的资源之间的对应关系。

在一些实施例中,虚拟机资源分配方法还包括:响应于vnf准备拉起虚拟机,nfvo查询为vnf预留的资源;在为vnf预留的资源多于拉起虚拟机所需资源的情况下,允许启动虚拟机;否则,拒绝启动虚拟机。

在一些实施例中,nfvo具有资源预留接口,资源预留接口的参数包括vnf所需的虚拟机的数量以及虚拟机的配置;nfvo响应于资源预留接口被调用,根据资源预留接口的参数计算vnf所需的资源。

在一些实施例中,nfvo根据vim的空闲资源以及预先记录的其他vnf预留的资源,确定vnf的可预留资源包括:nfvo获取各个vnf的状态;nfvo从vim的空闲资源中去除为未启动的vnf预留的资源,作为vnf的可预留资源。

在一些实施例中,虚拟机资源分配方法还包括:nfvo在获取vnf发送的资源释放请求后,释放为vnf预留的资源。

根据本发明一些实施例的第二个方面,提供一种虚拟机资源分配装置,位于nfvo,包括:需求资源计算模块,被配置为计算vnf所需的资源;空闲资源查询模块,被配置为查询虚拟化基础设施管理器vim的空闲资源;可预留资源确定模块,被配置为根据vim的空闲资源以及预先记录的其他vnf预留的资源,确定vnf的可预留资源;资源预留模块,被配置为在vnf的可预留资源多于vnf所需的资源的情况下,为vnf预留与vnf所需的资源,并记录vnf与预留的资源之间的对应关系。

根据本发明一些实施例的第三个方面,提供一种虚拟机资源分配装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行前述任意一种虚拟机资源分配方法。

根据本发明一些实施例的第四个方面,提供一种虚拟机资源分配系统,包括:前述任意一种虚拟机资源分配装置;以及vnf,被配置为向虚拟机资源分配装置发送资源预留申请,以便虚拟机资源分配装置计算vnf所需的资源。

在一些实施例中,虚拟机资源分配系统还包括:vim,被配置为响应于虚拟机资源分配装置查询空闲资源,向虚拟机资源分配装置返回空闲资源的信息。

根据本发明一些实施例的第五个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任意一种虚拟机资源分配方法。

上述发明中的一些实施例具有如下优点或有益效果:本发明的实施例可以通过nfvo对资源进行集中的调度完成vnf虚拟资源的预留,实现了vnf动态的弹性扩容和缩容,提高了资源分配的灵活性。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1示出了根据本发明一些实施例的虚拟机资源分配方法的流程示意图。

图2示出了根据本发明一些实施例的可预留资源确定方法的流程示意图。

图3示出了根据本发明另一些实施例的虚拟机资源分配方法的流程示意图。

图4示出了根据本发明一些实施例的预留资源释放方法的流程示意图。

图5示出了根据本发明一些实施例的虚拟机资源分配装置的结构示意图。

图6示出了根据本发明一些实施例的虚拟机资源分配系统的结构示意图。

图7示出了根据本发明另一些实施例的虚拟机资源分配装置的结构示意图。

图8示出了根据本发明又一些实施例的虚拟机资源分配装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

图1示出了根据本发明一些实施例的虚拟机资源分配方法的流程示意图。如图1所示,该实施例的虚拟机资源分配方法包括步骤s102~s108。

在步骤s102中,nfvo计算vnf所需的资源。

在一些实施例中,nfvo具有资源预留接口,资源预留接口的参数包括vnf所需的虚拟机的数量以及虚拟机的配置。nfvo响应于资源预留接口被调用,根据资源预留接口的参数计算vnf所需的资源。从而,当vnfm要申请预留资源时,可以调用该新增的接口。nfvo根据接口传输的内容可以计算出vnf所需的资源。

在步骤s104中,nfvo查询vim的空闲资源。vim的空闲资源是指当前未被使用的资源。

在步骤s106中,nfvo根据vim的空闲资源以及预先记录的其他vnf预留的资源,确定vnf的可预留资源。

由于vim不提供资源预留接口,本发明的实施例不通过vim完成资源预留,而是采用nfvo统一记录预留信息,以便进行资源的管理和控制。

在步骤s108中,在vnf的可预留资源多于vnf所需的资源的情况下,nfvo为vnf预留与vnf所需的资源,并记录vnf与预留的资源之间的对应关系。

从而,当其他vnf申请预留资源时,nfvo也可以将为当前vnf预留的资源扣除。

通过上述实施例的方法,可以通过nfvo对资源进行集中的调度完成vnf虚拟资源的预留,实现了vnf动态的弹性扩容和缩容,提高了资源分配的灵活性。

在一些实施例中,nfvo可以通过获取系统中各个vnf的启动状态,更准确地确定申请预留资源的vnf的可预留资源。下面参考图2描述可预留资源确定方法的实施例。

图2示出了根据本发明一些实施例的可预留资源确定方法的流程示意图。如图2所示,该实施例的可预留资源确定方法包括步骤s202~s204。

在步骤s202中,nfvo获取各个vnf的状态。

在步骤s204中,nfvo从vim的空闲资源中去除为未启动的vnf预留的资源,作为申请预留资源的vnf的可预留资源。

例如,nfvo已为vnf1预留资源,并且当前vnf1处于启动状态。从而,vim当前的空闲资源中并不应包括为vnf1预留的资源,在计算时可以不予考虑。

通过上述实施例的方法,可以更准确地确定申请预留资源的vnf的可预留资源,从而使得资源分配更灵活、合理。

下面参考图3描述vnf需要拉起虚拟机时的资源分配方法。

图3示出了根据本发明另一些实施例的虚拟机资源分配方法的流程示意图。如图3所示,该实施例的资源分配方法包括步骤s302~s304。

在步骤s302中,响应于vnf准备拉起虚拟机,nfvo查询为vnf预留的资源。

例如,vnf在拉起虚拟机之前,可以向nfvo发送一个拉起请求,其中携带vnf的标识。

在步骤s304中,在为vnf预留的资源多于拉起虚拟机所需资源的情况下,允许启动虚拟机;否则,拒绝启动虚拟机。

通过上述实施例的方法,可以由nfvo对资源的调度进行集中管理,并根据nfvo的记录来校验是否允许启动虚拟机,提高了资源分配的灵活性。

在一些实施例中,nfvo还可以从预留资源中释放nvf不需要的资源。下面参考图4描述预留资源释放方法的实施例。

图4示出了根据本发明一些实施例的预留资源释放方法的流程示意图。如图4所示,该实施例的预留资源释放方法包括步骤s402~s404。

在步骤s402中,nfvo在获取vnf发送的资源释放请求。该请求中可以包括需要释放的资源数量,可以是之前为vnf预留的全部或部分资源。

在步骤s404中,nfvo释放为vnf预留的资源。nfvo可以对之前记录的vnf与预留的资源之间的对应关系进行修改。如果vnf不再需要任何资源,可以删除该对应关系;如果vnf对资源进行了缩减,则可以更新该对应关系。

通过上述实施例的方法,在vnf不需要部分或全部资源时,nfvo可以更新预留的信息以便及时释放预留的资源,从而提高了系统的资源利用率和资源分配的灵活性。

下面参考图5描述本发明虚拟机资源分配装置的实施例。

图5示出了根据本发明一些实施例的虚拟机资源分配装置的结构示意图。如图5所示,该实施例的虚拟机资源分配装置500包括:需求资源计算模块5100,被配置为计算vnf所需的资源;空闲资源查询模块5200,被配置为查询虚拟化基础设施管理器vim的空闲资源;可预留资源确定模块5300,被配置为根据vim的空闲资源以及预先记录的其他vnf预留的资源,确定vnf的可预留资源;资源预留模块5400,被配置为在vnf的可预留资源多于vnf所需的资源的情况下,为vnf预留与vnf所需的资源,并记录vnf与预留的资源之间的对应关系。

在一些实施例中,虚拟机资源分配装置500还包括:启动前验证模块5500,被配置为响应于vnf准备拉起虚拟机,nfvo查询为vnf预留的资源;在为vnf预留的资源多于拉起虚拟机所需资源的情况下,允许启动虚拟机;否则,拒绝启动虚拟机。

在一些实施例中,虚拟机资源分配装置500还包括:资源预留接口5600,资源预留接口的参数包括vnf所需的虚拟机的数量以及虚拟机的配置;需求资源计算模块5100进一步被配置为响应于资源预留接口5600被调用,根据资源预留接口5600的参数计算vnf所需的资源。

在一些实施例中,可预留资源确定模块5300进一步被配置为获取各个vnf的状态;从vim的空闲资源中去除为未启动的vnf预留的资源,作为vnf的可预留资源。

在一些实施例中,虚拟机资源分配装置500还包括:预留资源释放模块5700,被配置为nfvo在获取vnf发送的资源释放请求后,释放为vnf预留的资源。

图6示出了根据本发明一些实施例的虚拟机资源分配系统的结构示意图。如图6所示,该实施例的虚拟机资源分配系统60包括:虚拟机资源分配装置610,位于nfvo620;以及vnf630,被配置为向虚拟机资源分配装置610发送资源预留申请,以便虚拟机资源分配装置610计算vnf630所需的资源。vnf630的数量可以有多个,图6中仅示例性地示出了一个。

在一些实施例中,虚拟机资源分配系统60还包括:vim640,被配置为响应于虚拟机资源分配装置610查询空闲资源,向虚拟机资源分配装置610返回空闲资源的信息。

图7示出了根据本发明另一些实施例的虚拟机资源分配装置的结构示意图。如图7所示,该实施例的虚拟机资源分配装置70包括:存储器710以及耦接至该存储器710的处理器720,处理器720被配置为基于存储在存储器710中的指令,执行前述任意一个实施例中的虚拟机资源分配方法。

其中,存储器710例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)以及其他程序等。

图8示出了根据本发明又一些实施例的虚拟机资源分配装置的结构示意图。如图8所示,该实施例的虚拟机资源分配装置80包括:存储器810以及处理器820,还可以包括输入输出接口830、网络接口840、存储接口850等。这些接口830,840,850以及存储器810和处理器820之间例如可以通过总线860连接。其中,输入输出接口830为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口840为各种联网设备提供连接接口。存储接口850为sd卡、u盘等外置存储设备提供连接接口。

本发明的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述任意一种虚拟机资源分配方法。

本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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