本发明涉及通信技术领域,尤其涉及一种vnf(virtualizednetworkfunction,虚拟网络功能)的扩缩容方法、装置及设备。
背景技术:
核心网网元组pool(池)可以具备负载均衡、网元容灾等作用。其架构一般是pool内的nnsf(nasnodeselectionfunction,非接入层节点选择功能)(一般为无线接入网元如enodeb、bsc(basestationcontroller,基站控制器)、rnc(radionetworkcontroller,无线网络控制器)等)与核心网网元全连接,核心网网元根据容量配置了网络资源标识nri(networkresourceidentifier,网络资源标识)(一个nri支持一定的用户量),每个nnsf配置了核心网网元的分配比例(根据nri得到权重比例)。
现有nnsf获知pool中网元的权重比例的方式与各个应用系统有关。例如,在epc域的mme(mobilitymanagemententity,移动性管理实体)pool中,作为nnsf的enodeb有两种方式直接从mme获知mme权重,从而自动可以计算出pool中的mme分配比例。在ims(ipmultimediasubsystem,ip多媒体子系统)域的cscf(callsessioncontrolfunction,呼叫会话控制功能)pool中,需要通过手工配置的方式将pool中cscf的分配比例配置到dns(domainnamesystem,域名系统)中。在cs(circuitswitched,电路交换)域的msc(mobileswitchingcenter,移动交换中心)pool中,需要通过手工配置的方式将pool中msc的分配比例配置到bsc/rnc中。
这样,根据现有技术的方案,当vnfpool中的某个vnf触发动态扩缩容时,pool中的vnf权重比例(实际承载能力比例)发生了变化,将会出现nnsf的分配比例与vnf实际承载能力比例不一致的问题。
技术实现要素:
有鉴于此,本发明提供一种vnf的扩缩容方法、装置及设备,用以解决当vnfpool中的某个vnf触发动态扩缩容时,nnsf的分配比例与vnf实际承载能力比例不一致的问题。
为解决上述技术问题,第一方面,本发明实施例提供一种虚拟网络功能vnf的扩缩容方法,应用于vnfm(networkfunctionsvirtualisationmanager,网络功能虚拟化管理器),包括:
在第一vnf进行实例化时,接收ems(elementmanagementsystem,网元管理系统)发送的第一vnf所属的vnf池的池标识以及nri的数量;
根据所述vnf池的池标识以及nri的数量,确定vnf池内各vnf之间的nri的分配比例。
其中,所述方法还包括:
当所述vnf池内的第二vnf触发扩缩容时,获取所述第二vnf的虚拟机vm需求数量;
根据所述vnf池内的vnf的数量和所述vm需求数量,确定所述vnf池内每个vnf扩缩容的vm数量,以获得每个vnf调整后的vm数量;
根据第二vnf调整后的vm数量,对所述第二vnf进行扩缩容处理;
其中,所述nri的数量与所述vnf池内的所有vnf的vm支持的用户总数相同。
其中,所述根据所述vnf池内的vnf的数量和所述vm需求数量,确定所述vnf池内每个vnf扩缩容的vm数量,以获得每个vnf调整后的vm数量,包括:
计算所述vm需求数量与所述vnf池内的vnf的数量的模值;
若所述模值为0,则所述vnf池内每个vnf扩缩容的vm数量rvnf为:所述vm需求数量与所述vnf池内的vnf的数量的比值;
若所述模值不为0,则所述vnf池内每个vnf扩缩容的vm数量rvnf为:rvnf=[rpool+(npool-d)]/npool;其中,rpool为所述vm需求数量;npool为所述vnf池内的vnf的数量;d为所述模值。
其中,所述根据第二vnf调整后的vm数量,对所述第二vnf进行扩缩容处理,包括:
根据第二vnf调整后的vm数量,请求网络功能虚拟化编排器nfvo+进行资源授权,并携带所述第二vnf的所在的虚拟化的基础设施管理器vim的标识;
若接收到所述nfvo+的根据vim的标识确定的表示vim资源充足的响应,向ems发送所述第二vnf的扩缩容事件通知,在所述通知中包括所述第二vnf调整后的vm数量,以通知所述ems对所述第二vnf进行扩缩容;
与所述nfvo+、vim交互,完成对所述第二vnf的扩缩容处理。
其中,所述方法还包括:
向所述ems发送所述第二vnf的扩缩容成功通知,以使所述ems更新所述第二vnf的nri数量。
第二方面,本发明实施例提供一种虚拟网络功能vnf的扩缩容方法,应用于ems,包括:
在第一vnf进行实例化时,向vnfv发送第一vnf所属的vnf池的池标识以及网络资源标识nri的数量,以使所述vnfm根据所述vnf池的池标识以及nri的数量,确定vnf池内各vnf之间的nri的分配比例。
其中,所述方法还包括:
当所述vnfv对所述vnf池内的第二vnf进行扩缩容时,接收所述vnfm发送的所述第二vnf的扩缩容事件通知,在所述通知中包括所述第二vnf调整后的vm数量;
根据所述通知完成进行网元准备;
接收所述vnfm发送的第二vnf的扩缩容成功通知,根据所述通知更新所述第二vnf的nri数量。
其中,所述方法还包括:
向所述vnfm发送所述第二vnf所属的vnf池的池标识以及nri的数量。
第三方面,本发明实施例提供一种vnf的扩缩容装置,包括:处理器和收发器;
所述收发器,用于在第一vnf进行实例化时,接收网元管理系统ems发送的第一vnf所属的vnf池的池标识以及网络资源标识nri的数量;
所述处理器,用于根据所述vnf池的池标识以及nri的数量,确定vnf池内各vnf之间的nri的分配比例。
其中,所述处理器,还用于:
当所述vnf池内的第二vnf触发扩缩容时,获取所述第二vnf的虚拟机vm需求数量;
根据所述vnf池内的vnf的数量和所述vm需求数量,确定所述vnf池内每个vnf扩缩容的vm数量,以获得每个vnf调整后的vm数量;
根据第二vnf调整后的vm数量,对所述第二vnf进行扩缩容处理;
其中,所述nri的数量与所述vnf池内的所有vnf的vm支持的用户总数相同。
其中,所述处理器,还用于:
计算所述vm需求数量与所述vnf池内的vnf的数量的模值;
若所述模值为0,则所述vnf池内每个vnf扩缩容的vm数量rvnf为:所述vm需求数量与所述vnf池内的vnf的数量的比值;
若所述模值不为0,则所述vnf池内每个vnf扩缩容的vm数量rvnf为:rvnf=[rpool+(npool-d)]/npool;其中,rpool为所述vm需求数量;npool为所述vnf池内的vnf的数量;d为所述模值。
其中,所述收发器,还用于根据第二vnf调整后的vm数量,请求网络功能虚拟化编排器nfvo+进行资源授权,并携带所述第二vnf的所在的虚拟化的基础设施管理器vim的标识;若接收到所述nfvo+的根据vim的标识确定的表示vim资源充足的响应,向ems发送所述第二vnf的扩缩容事件通知,在所述通知中包括所述第二vnf调整后的vm数量,以通知所述ems对所述第二vnf进行扩缩容;
所述处理器,还用于与所述nfvo+、vim交互,完成对所述第二vnf的扩缩容处理。
其中,所述收发器,还用于向所述ems发送所述第二vnf的扩缩容成功通知,以使所述ems更新所述第二vnf的nri数量。
第五方面,本发明实施例提供一种vnf的扩缩容装置,包括:处理器和收发器;
所述处理器,用于通过所述收发器在第一vnf进行实例化时,向vnfv发送第一vnf所属的vnf池的池标识以及网络资源标识nri的数量,以使所述vnfm根据所述vnf池的池标识以及nri的数量,确定vnf池内各vnf之间的nri的分配比例。
其中,所述收发器,还用于当所述vnfv对所述vnf池内的第二vnf进行扩缩容时,接收所述vnfm发送的所述第二vnf的扩缩容事件通知,在所述通知中包括所述第二vnf调整后的vm数量;
所述处理器,还用于根据所述通知完成进行网元准备;
所述收发器,还用于接收所述vnfm发送的第二vnf的扩缩容成功通知,根据所述通知更新所述第二vnf的nri数量。
其中,所述收发器,还用于向所述vnfm发送所述第二vnf所属的vnf池的池标识以及nri的数量。
第五方面,本发明实施例提供一种通信设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述计算机程序被处理器执行时实现如第一方面所述的方法中的步骤;或者所述计算机程序被处理器执行时实现如第二方面所述的方法中的步骤。
第六方面,本发明实施例提供一种计算机可读存储介质,用于存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法中的步骤;或者所述计算机程序被处理器执行时实现如第二方面所述的方法中的步骤。
本发明的上述技术方案的有益效果如下:
在本发明实施例中,当第一vnf实例化时,根据ems发送的第一vnf所属的vnf池的池标识以及nri的数量,确定vnf池内各vnf之间的nri的分配比例。从而,利用本发明实施例,可在不更改nnsf分配比例的前提下,通过重新规划vnf扩容的方式,解决了vnf动态扩缩容时nnsf分配比例与vnf实际承载能力比例保持动态不一致的问题。
附图说明
图1为本发明实施例的vnf的扩缩容方法的流程图;
图2为本发明实施例的vnf的扩缩容方法的流程图;
图3为本发明实施例的vnf的扩缩容方法的流程图;
图4为本发明实施例的vnf实例化的流程图;
图5为本发明实施例的vnf扩缩容过程示意图;
图6(a)和图6(b)分别为扩缩容前后的各个vnf的分配比例和实际承载能力的示意图;
图7为本发明实施例的vnf的扩缩容装置的示意图;
图8为本发明实施例的vnf的扩缩容装置的示意图;
图9为本发明实施例的通信设备的示意图;
图10为本发明实施例的通信设备的示意图。
具体实施方式
下面将结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,本发明实施例的vnf的扩缩容方法,应用于vnfm,包括:
步骤101、在第一vnf进行实例化时,接收ems发送的第一vnf所属的vnf池的池标识以及nri的数量。
步骤102、根据所述vnf池的池标识以及nri的数量,确定vnf池内各vnf之间的nri的分配比例。
其中,所属第一vnf可以是任意vnf。
在实际应用中,nnsf可确定好各vnf之间的nri的分配比例。那么,在本发明实施例中,当第一vnf实例化时,根据ems发送的第一vnf所属的vnf池的池标识以及nri的数量,确定vnf池内各vnf之间的nri的分配比例。从而,利用本发明实施例,可在不更改nnsf分配比例的前提下,通过重新规划vnf扩容的方式,解决了vnf动态扩缩容时nnsf分配比例与vnf实际承载能力比例保持动态不一致的问题。
如图2所示,本发明实施例的vnf的扩缩容方法,应用于ems,包括:
步骤201、在第一vnf进行实例化时,向vnfv发送第一vnf所属的vnf池的池标识以及网络资源标识nri的数量,以使所述vnfm根据所述vnf池的池标识以及nri的数量,确定vnf池内各vnf之间的nri的分配比例。
那么,在本发明实施例中,当第一vnf实例化时,vnf根据ems发送的第一vnf所属的vnf池的池标识以及nri的数量,确定vnf池内各vnf之间的nri的分配比例。从而,利用本发明实施例,可在不更改nnsf分配比例的前提下,通过重新规划vnf扩容的方式,解决了vnf动态扩缩容时nnsf分配比例与vnf实际承载能力比例保持动态不一致的问题。
如背景技术中所描述,现有nnsf获知pool中网元的权重比例的方式与各个应用系统有关,如:
在epc域的mmepool中,作为nnsf的enodeb有两种方式直接从mme获知mme权重,从而自动可以计算出pool中的mme分配比例:
(1)mme在s1setupresponse消息中将权重信息写在relativemmecapacity字段下发给enodeb,此时relativemmecapacity字段为必选(m)。
在这种情况下,s1setupresponse是mme对enodeb发起的s1setuprequest消息的回复,而enodeb无法动态了解mme容量的变化,因此无法在mme容量变化时实时发起s1setuprequest。
(2)mme在mmeconfigurationupdate消息中将权重信息写在relativemmecapacity字段下发给enodeb,此时relativemmecapacity字段为可选(o)。
在这种情况下,mme权重一般是提前配置好的,当mme为虚拟化网元并发生了动态扩缩容时,无法确保mme一定能够实现根据权重变化动态发送mmeconfigurationupdate消息,并将最新的权重更新到relativemmecapacity字段。
在ims域的cscfpool中,dns无法从cscf直接获知权重信息,需要通过手工配置的方式将pool中cscf的分配比例配置到dns中。
在cs域的mscpool中,bsc或rnc无法从msc直接获知权重信息,需要通过手工配置的方式将pool中msc的分配比例配置到bsc/rnc中。
而在其他pool中,并未发现其他类型pool具有动态更新分配比例的方法。
因此,本发明提出了一种通用的方法,以在vnf动态扩缩容时使nnsf分配比例与vnf实际权重比例实时保持一致。在本发明实施例中,不改变nnsf上位分配比例,而是在vnf动态扩缩容时对pool内的vnf扩缩容进行重新规划,将vnf扩缩容按照现有分配比例分摊到pool内所有vnf上,从而确保扩容后vnf实际承载能力的比例仍与扩容前保持一致(即与nnsf分配比例保持一致)。
需要说明的是,本发明实施例与vnf所属业务系统的扩缩容策略、nri支持的用户数、vm(virtualmachine,虚拟机)支持的用户数都有关。假设,在本发明实施例中,扩缩容策略采用vnf级别,nri与vm支持的用户数基本一致。
如图3所示,本发明实施例的vnf的扩缩容方法,包括:
步骤301、vnf获取vnf池的相关信息。
具体的,当某个vnf实例化时,ems将该vnf所属的poolid(池标识)及nri数量告知vnfm。当pool内的vnf全部实例化后,vnfm即可获知该vnfpool内有哪些vnf,以及可根据各vnf的nri数量获知业务分配比例。为保存上述信息,vnfm需新增poolid及nri数量两个字段,分别保存poolid及vnf对应的nri数量。
参见图4,vnf的实例化过程包括:
步骤401、操作员在nfvo(networkfunctionsvirtualisationorchestrator,网络功能虚拟化编排器)+界面实例化一个vnf。
步骤402、实例化时需要选择vnf包(必须包含vnfd(virtualisednetworkfunctiondescriptor,虚拟化的网络功能模块描述符))和vnfm。
步骤403、nfvo+调用c6:queryvnfdreq接口,接口中含vnfdid,到vnfm查询vnfd信息。
步骤404、vnfm查询本地保存的vnfd信息。
步骤405、vnfm返回c6:queryvnfdresponse,包含vnfd的详细信息和可调整的参数(inputs)。
步骤406、nfvo+在实例化页面展示vnfd信息,以及输入实例化时可调整的参数值(包括允许操作员选择/上载vnf专有扩展参数文件)。调用c6:instantiatevnf接口,请求vnfm实例化vnf。接口中携带vnf名称、vnfd标识vnfdid、可变参数inputs、extention。
步骤407、vnfm创建实例化任务,生成jobid和vnf标识,返回给nfvo+。nfvo+可以通过调用c6:getjobstatus接口来获取实例化的任务状态。
步骤408、vnfm解析vnf包中的vnfd及可变参数,分析vnf实例化所需要的虚拟资源,主要包括虚机规格和虚机数量。
步骤409、vnfm调用c6:grantlifecycle接口,请求nfvo+进行资源授权,接口中携带所需要的资源vmlist。
步骤410、nfvo+根据定义的策略(例如vim选择策略),为此次实例化选择vim,将vimid和tenantid返回给vnfm。nfvo+可以通过调用c6:grantlifecycle接口。
步骤411、vnfm向nfvo+发送创建虚拟资源的请求。
步骤412、nfvo+向指定vim中创建所需要的虚拟资源。在间接模式中,vnfm发送原生openstack接口请求到nfvo+,nfvo+转发接口到vim,并对接口进行解析和记录。
其中,步骤411和步骤412中可能涉及多个步骤的操作,包括虚拟机、虚拟存储、虚拟网卡、虚拟网络的创建,将虚拟存储、虚拟网卡挂载到虚拟机,将虚拟网卡连接到虚拟网络,以及不同虚拟机之间的亲和性和反亲和性等操作。其处理过程和现有的相同。
步骤413、vim检测到虚机资源变化,向nfvo+发送c7:pushvmchanges请求,告知vim中资源的变化情况。
步骤414、nfvo+向vim返回响应。
步骤415、资源创建成功后,vnfm到vnf配置和部署相关的参数。
步骤416、vnf实例化成功后,vnfm向nfvo+发送c6:vnflifecyclechangenotification接口,告知vnf所包含的虚拟资源。
步骤417、nfvo+向vnfm返回响应。
步骤418、vnf实例化成功后,vnfm通知ems有一个新实例化的vnf,包括vnf的管理地址和管理账户等。
步骤419、ems将新实例化的vnf添加到管理对象。
步骤420、ems对vnf进行应用参数的配置。
步骤421、操作员可以在nfvo+界面看到实例化进展。
步骤422、ems将vnf所属的poolid及nri数量告知vnfm。之后,vnfm针对每个vnf保存其所属poolid及nri数量,并形成pool整体vnf权重比例信息。
步骤302、当某个vnf进行扩缩容时,触发vnf扩缩容,vnfm重新规划vnf扩缩容,并执行扩缩容过程。
vnfm中已经存在vnf的扩缩容策略并且已经激活,vnfm监测vnf性能,并和扩缩容策略进行匹配,如果匹配到扩缩容条件,vnfm触发vnf的扩缩容。在扩缩容的过程中,vnfm重新规划vnf扩缩容。之后,vnfm按照重新规划的资源进行后续扩缩容,并通知ems根据重新规划的扩缩容完成网元准备工作(如业务迁移和扩缩nri的计算);扩缩容完成时ems更新vnf的nri,并将最新的pool及nri情况告知vnfm。
假设,vnfm中已经存在待扩缩容的vnf(在此称为第二vnf)的扩缩容策略并且已经激活。具体的,当所述vnf池内的第二vnf触发扩缩容时,获取所述第二vnf的虚拟机vm需求数量。根据所述vnf池内的vnf的数量和所述vm需求数量,确定所述vnf池内每个vnf扩缩容的vm数量,以获得每个vnf调整后的vm数量。根据第二vnf调整后的vm数量,对所述第二vnf进行扩缩容处理。
在对第二vnf进行扩缩容处理时,vnfm根据第二vnf调整后的vm数量,请求网络功能虚拟化编排器nfvo+进行资源授权,并携带所述第二vnf的所在的虚拟化的基础设施管理器vim的标识。若接收到所述nfvo+的根据vim的标识确定的表示vim资源充足的响应,vnfm向ems发送所述第二vnf的扩缩容事件通知,在所述通知中包括所述第二vnf调整后的vm数量,以通知所述ems对所述第二vnf进行扩缩容;vnfm与所述nfvo+、vim交互,完成对所述第二vnf的扩缩容处理。此外,vnfm还可向所述ems发送所述第二vnf的扩缩容成功通知,以使所述ems更新所述第二vnf的nri数量。
具体的,如图5所示,vnf的扩缩容过程包括:
步骤501、vnfm/ems监测第二vnf的性能,并和扩缩容策略进行匹配。
步骤502、如果匹配到扩缩容条件,vnfm/ems触发第二vnf的扩缩容。
步骤503、vnfm重新规划扩缩容。
具体的,vnfm提取第二vnf的扩缩容策略,解析第二vnf的vm资源需求(设为rpool),设vnfpool内vnf数量为npool。
在此,计算所述vm需求数量与所述vnf池内的vnf的数量的模值:d=rpoolmodnpool。
若所述模值为0,则所述vnf池内每个vnf扩缩容的vm数量rvnf为:所述vm需求数量与所述vnf池内的vnf的数量的比值。即:若d=rpoolmodnpool为0,则vnfm将扩缩容重规划为pool内每个vnf进行扩缩容,每个vnf扩缩容的vm数量rvnf=rpool/npool。
若所述模值不为0,则所述vnf池内每个vnf扩缩容的vm数量rvnf为:rvnf=[rpool+(npool-d)]/npool。
步骤504、vnfm发送c6:vnfmeventnotification接口,告知nfvo+要对第二vnf进行扩缩容,接口中包括jobid。nfvo+可以通过调用c6:getjobstatus接口来获取扩缩容的任务状态。
步骤505、nfvo+返回响应。
步骤506、vnfm调用c6:grantlifecycle接口,请求nfvo+进行资源授权授权,请求里携带第二vnf所在的vim(virtualisedinfrastructuremanage,基础设施管理器)id。
步骤507、nfvo+检查该vim里是否有足够资源,如果资源充足,则返回相同的vimid。如果资源不足,则拒绝授权。
步骤508、vnfm向ems发送vnf扩缩容事件通知,告知ems要对第二vnf进行扩缩容。
步骤509、ems根据重新规划的扩缩容完成网元准备工作。
步骤510、vnfm向nfvo+发送创建/删除虚拟资源的请求。
步骤511、nfvo+向vim发送创建/删除虚拟资源的请求。在间接模式中,vnfm发送原生openstack接口请求到nfvo+,nfvo+转发接口到vim,并对接口进行解析和记录。
步骤512、vim检测到资源变化,向nfvo+发送c7:pushvmchanges请求,通知vim中资源的变化情况。
步骤513、nfvo+向vim返回响应。
步骤514、vnfm到vnf配置部署参数。此步骤可选,是否需要配置取决于vnf的架构。
步骤515、vnfm监测vnf,确定是否扩缩容成功。
步骤516、vnfm向nfvo+发送c6:vnflifecyclechangenotification接口,通知vnf资源的变化。
步骤517、nfvo+向vnfm返回响应。
步骤518、vnfm向ems发送vnf扩缩容成功通知。
步骤519、ems更新管理对象。同时,ems更新第二vnf的nri情况。
步骤520、ems到vnf配置应用参数。此步骤可选,是否需要配置取决于vnf的架构。
步骤521、ems将第二vnf所属的poolid及nri数量通告给vnfm。vnfm更新vnf的poolid及nri数量,并更新pool整体vnf权重比例信息。
扩容完成后,pool内vnf实际承载业务能力的比例未变,nnsf仍按照原先业务分配比例进行pool内业务分发。如图6(a)和6(b)所示,分别示出了扩缩容前后的各个vnf的业务分配比例。通过对比可以看出,采用本发明实施例的方法后,各个vnf的分配比例与实际承载能力保持一致。
对于vpnpool内的其他vpn,如果要执行扩缩容处理,其处理方式可参照第二vpn的处理方式。
由上可以看出,本发明实施例提出了一种与应用系统无关的通用方法,采用不更改nnsf分配比例而是重新规划vnf扩容的方法,来解决vnf动态扩缩容时nnsf分配比例与vnf实际承载能力比例保持动态不一致的问题。同时,利用本发明实施例的方案,可在核心网网元与无线接入侧网元异厂家的情况下,在不调整网管流程(oss-ems以及ems-ems等)的前提下,主要通过vnfm来完成vnf动态扩缩容时nnsf分配比例与vnf实际承载能力比例保持一致。
如图7所示,本发明实施例的vnf的扩缩容装置,包括:处理器601和收发器602;
所述收发器602,用于在第一vnf进行实例化时,接收网元管理系统ems发送的第一vnf所属的vnf池的池标识以及网络资源标识nri的数量;
所述处理器601,用于根据所述vnf池的池标识以及nri的数量,确定vnf池内各vnf之间的nri的分配比例。
其中,所述处理器601,还用于:
当所述vnf池内的第二vnf触发扩缩容时,获取所述第二vnf的虚拟机vm需求数量;
根据所述vnf池内的vnf的数量和所述vm需求数量,确定所述vnf池内每个vnf扩缩容的vm数量,以获得每个vnf调整后的vm数量;
根据第二vnf调整后的vm数量,对所述第二vnf进行扩缩容处理;
其中,所述nri的数量与所述vnf池内的所有vnf的vm支持的用户总数相同。
其中,所述处理器601,还用于:
计算所述vm需求数量与所述vnf池内的vnf的数量的模值;
若所述模值为0,则所述vnf池内每个vnf扩缩容的vm数量rvnf为:所述vm需求数量与所述vnf池内的vnf的数量的比值;
若所述模值不为0,则所述vnf池内每个vnf扩缩容的vm数量rvnf为:rvnf=[rpool+(npool-d)]/npool;其中,rpool为所述vm需求数量;npool为所述vnf池内的vnf的数量;d为所述模值。
其中,所述收发器602,还用于根据第二vnf调整后的vm数量,请求网络功能虚拟化编排器nfvo+进行资源授权,并携带所述第二vnf的所在的虚拟化的基础设施管理器vim的标识;若接收到所述nfvo+的根据vim的标识确定的表示vim资源充足的响应,向ems发送所述第二vnf的扩缩容事件通知,在所述通知中包括所述第二vnf调整后的vm数量,以通知所述ems对所述第二vnf进行扩缩容;所述处理器601,还用于与所述nfvo+、vim交互,完成对所述第二vnf的扩缩容处理。
其中,所述收发器602,还用于向所述ems发送所述第二vnf的扩缩容成功通知,以使所述ems更新所述第二vnf的nri数量。
本发明所述装置的工作原理可参照前述方法实施例的描述。
在本发明实施例中,当第一vnf实例化时,根据ems发送的第一vnf所属的vnf池的池标识以及nri的数量,确定vnf池内各vnf之间的nri的分配比例。从而,利用本发明实施例,可在不更改nnsf分配比例的前提下,通过重新规划vnf扩容的方式,解决了vnf动态扩缩容时nnsf分配比例与vnf实际承载能力比例保持动态不一致的问题。
如图8所示,本发明实施例的vnf的扩缩容装置,包括:处理器701和收发器702;
所述处理器701,用于通过所述收发器702在第一vnf进行实例化时,向vnfv发送第一vnf所属的vnf池的池标识以及网络资源标识nri的数量,以使所述vnfm根据所述vnf池的池标识以及nri的数量,确定vnf池内各vnf之间的nri的分配比例。
其中,所述收发器702,还用于当所述vnfv对所述vnf池内的第二vnf进行扩缩容时,接收所述vnfm发送的所述第二vnf的扩缩容事件通知,在所述通知中包括所述第二vnf调整后的vm数量;
所述处理器701,还用于根据所述通知完成进行网元准备;
所述收发器702,还用于接收所述vnfm发送的第二vnf的扩缩容成功通知,根据所述通知更新所述第二vnf的nri数量。
其中,所述收发器702,还用于向所述vnfm发送所述第二vnf所属的vnf池的池标识以及nri的数量。
本发明所述装置的工作原理可参照前述方法实施例的描述。
在本发明实施例中,当第一vnf实例化时,根据ems发送的第一vnf所属的vnf池的池标识以及nri的数量,确定vnf池内各vnf之间的nri的分配比例。从而,利用本发明实施例,可在不更改nnsf分配比例的前提下,通过重新规划vnf扩容的方式,解决了vnf动态扩缩容时nnsf分配比例与vnf实际承载能力比例保持动态不一致的问题。
如图9所示,本发明实施例的通信设备,包括:
处理器800,用于读取存储器820中的程序,执行下列过程:通过收发机810在第一vnf进行实例化时,接收网元管理系统ems发送的第一vnf所属的vnf池的池标识以及网络资源标识nri的数量;根据所述vnf池的池标识以及nri的数量,确定vnf池内各vnf之间的nri的分配比例。
收发机810,用于在处理器800的控制下接收和发送数据。
其中,在图9中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器800代表的一个或多个处理器和存储器820代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机810可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器800负责管理总线架构和通常的处理,存储器820可以存储处理器800在执行操作时所使用的数据。
处理器800负责管理总线架构和通常的处理,存储器820可以存储处理器800在执行操作时所使用的数据。
处理器800还用于读取所述计算机程序,执行如下步骤:
当所述vnf池内的第二vnf触发扩缩容时,获取所述第二vnf的虚拟机vm需求数量;
根据所述vnf池内的vnf的数量和所述vm需求数量,确定所述vnf池内每个vnf扩缩容的vm数量,以获得每个vnf调整后的vm数量;
根据第二vnf调整后的vm数量,对所述第二vnf进行扩缩容处理;
其中,所述nri的数量与所述vnf池内的所有vnf的vm支持的用户总数相同。
处理器800还用于读取所述计算机程序,执行如下步骤:
计算所述vm需求数量与所述vnf池内的vnf的数量的模值;
若所述模值为0,则所述vnf池内每个vnf扩缩容的vm数量rvnf为:所述vm需求数量与所述vnf池内的vnf的数量的比值;
若所述模值不为0,则所述vnf池内每个vnf扩缩容的vm数量rvnf为:rvnf=[rpool+(npool-d)]/npool;其中,rpool为所述vm需求数量;npool为所述vnf池内的vnf的数量;d为所述模值。
处理器800还用于读取所述计算机程序,执行如下步骤:
根据第二vnf调整后的vm数量,请求网络功能虚拟化编排器nfvo+进行资源授权,并携带所述第二vnf的所在的虚拟化的基础设施管理器vim的标识;
若接收到所述nfvo+的根据vim的标识确定的表示vim资源充足的响应,向ems发送所述第二vnf的扩缩容事件通知,在所述通知中包括所述第二vnf调整后的vm数量,以通知所述ems对所述第二vnf进行扩缩容;
与所述nfvo+、vim交互,完成对所述第二vnf的扩缩容处理。
处理器800还用于读取所述计算机程序,执行如下步骤:
向所述ems发送所述第二vnf的扩缩容成功通知,以使所述ems更新所述第二vnf的nri数量。
如图10所示,本发明实施例的通信设备,包括:
处理器900,用于读取存储器920中的程序,执行下列过程:通过收发机910在第一vnf进行实例化时,向vnfv发送第一vnf所属的vnf池的池标识以及网络资源标识nri的数量,以使所述vnfm根据所述vnf池的池标识以及nri的数量,确定vnf池内各vnf之间的nri的分配比例。
收发机910,用于在处理器900的控制下接收和发送数据。
其中,在图10中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器900代表的一个或多个处理器和存储器920代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机910可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器900负责管理总线架构和通常的处理,存储器920可以存储处理器900在执行操作时所使用的数据。
处理器900负责管理总线架构和通常的处理,存储器920可以存储处理器900在执行操作时所使用的数据。
处理器900还用于读取所述计算机程序,执行如下步骤:
当所述vnfv对所述vnf池内的第二vnf进行扩缩容时,接收所述vnfm发送的所述第二vnf的扩缩容事件通知,在所述通知中包括所述第二vnf调整后的vm数量;
根据所述通知完成进行网元准备;
接收所述vnfm发送的第二vnf的扩缩容成功通知,根据所述通知更新所述第二vnf的nri数量。
处理器900还用于读取所述计算机程序,执行如下步骤:
向所述vnfm发送所述第二vnf所属的vnf池的池标识以及nri的数量。
此外,本发明实施例的计算机可读存储介质,用于存储计算机程序,所述计算机程序可被处理器执行实现以下步骤:
在第一vnf进行实例化时,接收网元管理系统ems发送的第一vnf所属的vnf池的池标识以及网络资源标识nri的数量;
根据所述vnf池的池标识以及nri的数量,确定vnf池内各vnf之间的nri的分配比例。
其中,所述方法还包括:
当所述vnf池内的第二vnf触发扩缩容时,获取所述第二vnf的虚拟机vm需求数量;
根据所述vnf池内的vnf的数量和所述vm需求数量,确定所述vnf池内每个vnf扩缩容的vm数量,以获得每个vnf调整后的vm数量;
根据第二vnf调整后的vm数量,对所述第二vnf进行扩缩容处理;
其中,所述nri的数量与所述vnf池内的所有vnf的vm支持的用户总数相同。
其中,所述根据所述vnf池内的vnf的数量和所述vm需求数量,确定所述vnf池内每个vnf扩缩容的vm数量,以获得每个vnf调整后的vm数量,包括:
计算所述vm需求数量与所述vnf池内的vnf的数量的模值;
若所述模值为0,则所述vnf池内每个vnf扩缩容的vm数量rvnf为:所述vm需求数量与所述vnf池内的vnf的数量的比值;
若所述模值不为0,则所述vnf池内每个vnf扩缩容的vm数量rvnf为:rvnf=[rpool+(npool-d)]/npool;其中,rpool为所述vm需求数量;npool为所述vnf池内的vnf的数量;d为所述模值。
其中,所述根据第二vnf调整后的vm数量,对所述第二vnf进行扩缩容处理,包括:
根据第二vnf调整后的vm数量,请求网络功能虚拟化编排器nfvo+进行资源授权,并携带所述第二vnf的所在的虚拟化的基础设施管理器vim的标识;
若接收到所述nfvo+的根据vim的标识确定的表示vim资源充足的响应,向ems发送所述第二vnf的扩缩容事件通知,在所述通知中包括所述第二vnf调整后的vm数量,以通知所述ems对所述第二vnf进行扩缩容;
与所述nfvo+、vim交互,完成对所述第二vnf的扩缩容处理。
其中,所述方法还包括:
向所述ems发送所述第二vnf的扩缩容成功通知,以使所述ems更新所述第二vnf的nri数量。
此外,本发明实施例的计算机可读存储介质,用于存储计算机程序,所述计算机程序可被处理器执行实现以下步骤:
在第一vnf进行实例化时,向vnfv发送第一vnf所属的vnf池的池标识以及网络资源标识nri的数量,以使所述vnfm根据所述vnf池的池标识以及nri的数量,确定vnf池内各vnf之间的nri的分配比例。
其中,所述方法还包括:
当所述vnfv对所述vnf池内的第二vnf进行扩缩容时,接收所述vnfm发送的所述第二vnf的扩缩容事件通知,在所述通知中包括所述第二vnf调整后的vm数量;
根据所述通知完成进行网元准备;
接收所述vnfm发送的第二vnf的扩缩容成功通知,根据所述通知更新所述第二vnf的nri数量。
其中,所述方法还包括:
向所述vnfm发送所述第二vnf所属的vnf池的池标识以及nri的数量。
在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述收发方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。