环形组网下的网络功能虚拟化业务链映射的方法及装置与流程

文档序号:17429002发布日期:2019-04-17 03:14阅读:242来源:国知局
环形组网下的网络功能虚拟化业务链映射的方法及装置与流程

本公开实施例涉及但不限于网络通信技术领域,尤指一种环形组网下的网络功能虚拟化业务链映射的方法及装置。



背景技术:

网络功能虚拟化(networkfunctionsvirtualizationinfrastructure,简称nfv)技术是为了解决现有的通信设备通用性不足而提出的在x86服务器通用平台上通过虚拟化方式实现网络功能的技术。以往,通信行业为了追求通信设备的高性能和高可靠性,往往使用软硬件结合的专有设备来构建网络。这样的模式存在以下问题:网元是软硬件一体化的封闭式架构,其业务开发的周期过长、技术创新的难度偏大、可扩展性低、管理复杂。一旦部署了之后,后续的升级和改造将受制于设备的制造商。所以,如果能够打开软硬件一体化的封闭架构,使用通用工业化标准的硬件和专用软件来重构网络设备,就可以极大地减少capex(资本支出),并且缓解增量不增收的情况。为此,网络功能虚拟化技术应用而生。

网络功能虚拟化技术基于通用的x86架构服务器,并通过软件化的形式提供各类的网络功能,尤其是针对业务链,可以灵活地变化网络中网元的功能,以虚拟化网络功能(vnf)的形式按需组合,可以快速形成各类网络业务强大的处理引擎。

网络功能虚拟化业务链为一个有序的集合体,按照规定的策略依次通过多个既定的vnf,用户流量会遵循指定的策略来依次通过vnf,以便实现各种网络业务的按需处理。由于业务链当中的vnf是运行在vm(virtualmachine,虚拟机)当中的,这需要较复杂的资源调度机制。

在城域网或一些偏远地区布网过程中,会选择环形组网模式。这种连接方式结构简单,服务器和服务器之间可以不通过交换机直接相连,节约了交换机的端口。在这种情况下,各服务器之间的链路带宽极有可能成为限制网络容量的因素之一。

现有的网络功能虚拟化业务链映射方法一般是先通过历史数据或者经验得到客户对每个vnf需求的百分比,按百分比从大到小依次随机部署在不同的服务器上。接下来每当用户流量来临的时候,检查是否存在能使业务链不折返的虚拟机;如果存在,则选择该路径;如果不存在,则通过开启虚拟机的方式来纠正业务链路径。虚拟机开启的原则基于尽最大可能的原则。已有的方法综合看来均存在以下问题:当某个服务器上的资源被使用完毕,这时候,新开启的vm到现有的运行本vnf的vm的距离将比较大,这时候,就产生了业务链的折返。



技术实现要素:

本公开要解决的技术问题是提供一种环形组网下的网络功能虚拟化业务链映射的方法及装置,以实现业务链数据流量无折返流动。

一种环形组网下的网络功能虚拟化业务链映射的方法,包括:

对业务链的虚拟网络功能进行服务器群组区域预划分;

将网络功能虚拟化中参与资源分配的服务器分配到对应的所述服务器群组区域;

对用户流量进行部署时,选择所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域上对应的虚拟网络功能进行部署。

可选地,所述选择所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域上对应的网络功能进行部署的过程中,包括:

当确定所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域的空闲资源不足时,对所述服务器群组区域重划分,对在重划分后的对应的服务器群组区域上对应的虚拟网络功能进行部署。

可选地,所述对所述服务器群组区域重划分,包括:

确定当前资源剩余最多的服务器群组区域;

从所述当前资源剩余最多的服务器群组区域开始按标号顺序至所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域,依次从每个服务器群组区域划分出指定资源给下一个服务器群组区域,直至将所述指定资源划分给所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域为止。

可选地,所述依次从每个服务器群组区域划分出指定资源给下一个服务器群组区域,包括:

如所述当前资源剩余最多的服务器群组区域比所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域更靠近流量始发处,则依次从每个服务器群组区域中标号最大的服务器中划分出指定资源给下一个服务器群组区域,如所述标号最大的服务器不存在空闲资源,则在该服务器群组区域中其它服务器上开启一个正在所述标号最大的服务器中运行的虚拟网络功能,将所述标号最大的服务器的所述虚拟网络功能及其上的流量迁移至所述开启的虚拟网络功能上,再从标号最大的服务器中划分出指定资源给下一个服务器群组区域;

如所述当前资源剩余最多的服务器群组区域比所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域远离流量始发处,则依次从每个服务器群组区域中标号最小的服务器中划分出指定资源给下一个服务器群组区域,如所述标号最小的服务器不存在空闲资源,则在该服务器群组区域中其它服务器上开启一个正在所述标号最小的服务器中运行的虚拟网络功能,将所述标号最小的服务器的所述虚拟网络功能及其上的流量迁移至所述开启的虚拟网络功能上,再从所述标号最小的服务器中划分出指定资源给下一个服务器群组区域。

可选地,所述对业务链的虚拟网络功能进行服务器群区域预划分,包括:

统计出环形组网中的网络功能虚拟化业务链的最大长度α,将服务器群组划分成α个服务器群组区域;

按照业务链长度由长到短的顺序,遍历所有的映射方式,依次将各业务链上的虚拟网络功能和所述服务器群组区域进行映射;

比较所有映射方式下各服务器群组区域中的虚拟网络功能种类数的总和,选择所述总和最小的映射方式下各业务链的虚拟网络功能和所述服务器群组区域的映射关系。

可选地,所述将网络功能虚拟化中参与资源分配的服务器分配到对应的所述服务器群组区域,包括:

估算所述业务链各虚拟网络功能所需的资源及每个所述服务器群组区域所需的资源;

根据所述估算的资源按照服务器的标号顺序,依次将服务器分配到对应的所述服务器群组区域。

可选地,所述估算所述业务链各虚拟网络功能所需的资源及每个所述服务器群组区域所需的资源,包括:

根据以往客户对各业务链的需求量,以及用户请求业务链服务时,该业务链上各虚拟网络功能所需要占用资源的大小,估算出所述业务链各虚拟网络功能所需的资源大小;

根据所述业务链各虚拟网络功能所需的资源大小估算出每个所述服务器群组区域所需要的服务器的数量。

一种环形组网下的网络功能虚拟化业务链映射的装置,其中,包括:

划分模块,用于对业务链的虚拟网络功能进行服务器群组区域预划分;

分配模块,用于将网络功能虚拟化中参与资源分配的服务器分配到对应的所述服务器群组区域;

部署模块,用于对用户流量进行部署时,选择所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域上对应的虚拟网络功能进行部署。

可选地,所述部署模块,选择所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域上对应的网络功能进行部署的过程中,包括:当确定所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域的空闲资源不足时,对所述服务器群组区域重划分,对在重划分后的对应的服务器群组区域上对应的虚拟网络功能进行部署。

可选地,所述部署模块,对所述服务器群组区域重划分包括:确定当前资源剩余最多的服务器群组区域;从所述当前资源剩余最多的服务器群组区域开始按标号顺序至所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域,依次从每个服务器群组区域划分出指定资源给下一个服务器群组区域,直至将所述指定资源划分给所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域为止。

可选地,所述部署模块,依次从每个服务器群组区域划分出指定资源给下一个服务器群组区域包括:如所述当前资源剩余最多的服务器群组区域比所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域更靠近流量始发处,则依次从每个服务器群组区域中标号最大的服务器中划分出指定资源给下一个服务器群组区域,如所述标号最大的服务器不存在空闲资源,则在该服务器群组区域中其它服务器上开启一个正在所述标号最大的服务器中运行的虚拟网络功能,将所述标号最大的服务器的所述虚拟网络功能及其上的流量迁移至所述开启的虚拟网络功能上,再从标号最大的服务器中划分出指定资源给下一个服务器群组区域;

如所述当前资源剩余最多的服务器群组区域比所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域远离流量始发处,则依次从每个服务器群组区域中标号最小的服务器中划分出指定资源给下一个服务器群组区域,如所述标号最小的服务器不存在空闲资源,则在该服务器群组区域中其它服务器上开启一个正在所述标号最小的服务器中运行的虚拟网络功能,将所述标号最小的服务器的所述虚拟网络功能及其上的流量迁移至所述开启的虚拟网络功能上,再从所述标号最小的服务器中划分出指定资源给下一个服务器群组区域。

可选地,所述划分模块包括:

划分单元,用于统计出环形组网中的网络功能虚拟化业务链的最大长度α,将服务器群组划分成α个服务器群组区域;

映射单元,用于按照业务链长度由长到短的顺序,遍历所有的映射方式,依次将各业务链上的虚拟网络功能和所述服务器群组区域进行映射;

选择单元,用于比较所有映射方式下各服务器群组区域中的虚拟网络功能种类数的总和,选择所述总和最小的映射方式下各业务链的虚拟网络功能和所述服务器群组区域的映射关系。

可选地,所述分配模块包括:

估算单元,用于估算所述业务链各虚拟网络功能所需的资源及每个所述服务器群组区域所需的资源;

分配单元,用于根据所述估算的资源按照服务器的标号顺序,依次将服务器分配到对应的所述服务器群组区域。

可选地,所述估算单元,具体用于根据以往客户对各业务链的需求量,以及用户请求业务链服务时,该业务链上各虚拟网络功能所需要占用资源的大小,估算出所述业务链各虚拟网络功能所需的资源大小;根据所述业务链各虚拟网络功能所需的资源大小估算出每个所述服务器群组区域所需要的服务器的数量。

一种环形组网下的网络功能虚拟化业务链映射的装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现以下步骤:

对业务链的虚拟网络功能进行服务器群组区域预划分;

将网络功能虚拟化中参与资源分配的服务器分配到对应的所述服务器群组区域;

对用户流量进行部署时,选择所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域上对应的网络功能进行部署。

本公开公开了一种环形组网下的网络功能虚拟化业务链映射的方法及装置,首先进行业务链vnf区域预划分,再将网络功能虚拟化中参与资源分配的服务器划分区域,将业务链的各vnf和已划分的区域建立映射关系;建立了映射关系之后,每个vnf将优先使用其对应区域的网络资源和空闲资源;之后如果某区域的空闲资源不足,则实施服务器区域重划分,最终实现业务链数据流量无折返流动。本公开合理考虑了环形组网模式下的各服务器的cpu、内存和带宽的资源能力,实现高效的网络功能虚拟化业务链资源映射。

附图说明

图1为本公开实施例的一种环形组网下的网络功能虚拟化业务链映射的方法的流程图;

图2为本公开实施例的环形组网模式的示意图;

图3为本公开实施例的对业务链的虚拟网络功能进行服务器群区域预划分阶段的流程图;

图4为本公开实施例的vnf区域预划分的示例图;

图5为本公开实施例的分配服务器阶段流程图;

图6为本公开实施例的服务器区域重划分流程图;

图7为本公开实施例的一种环形组网下的网络功能虚拟化业务链映射的装置的示意图。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚明白,下文中将结合附图对本公开的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图1为本公开实施例的一种环形组网下的网络功能虚拟化业务链映射的方法的流程图,如图1所示,本实施例的方法包括:

步骤11、对业务链的虚拟网络功能进行服务器群组区域预划分;

步骤12、将网络功能虚拟化中参与资源分配的服务器分配到对应的所述服务器群组区域;

步骤13、对用户流量进行部署时,选择所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域上对应的网络功能进行部署。

在一实施例中,步骤13中,选择所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域上对应的网络功能进行部署的过程中,包括:

当确定所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域的空闲资源不足时,对所述服务器群组区域重划分,选择在重划分后的对应的服务器群组区域上对应的虚拟网络功能进行部署。

在一实施例中,对所述服务器群组区域重划分,包括:

确定当前资源剩余最多的服务器群组区域;

从所述当前资源剩余最多的服务器群组区域开始按标号顺序至所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域,依次从每个服务器群组区域划分出指定资源给下一个服务器群组区域,直至将所述指定资源划分给所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域为止。

本实施例的方法可以提高环形组网模式下网络功能虚拟化资源映射的效率,减少网络流量的折返,综合考虑了cpu、内存资源的前提下有效提高网络功能虚拟化带宽资源利用率。

下面结合附图对本公开的实施方式进行说明。

如图2所示,在环形组网下网络功能虚拟化资源分配过程中,存在多个x86架构的服务器来承载vnf功能。数据流量从环形组网的起点始发,形成的虚拟网络业务链流量在环形网络中流动,每个服务器上有vm,而虚拟网络功能就工作在vm之上,这就是环形组网模式下网络功能虚拟化资源分配的应用场景。

本公开实施例的环形组网下网络功能虚拟化业务链映射的方法包括:业务链vnf区域预划分、分配服务器、业务链用户流量部署、检查整个服务器群组上是否存在空闲资源,对服务器进行区域重划分4个部分。

本实施例采用的符号表示如下:

numxi为业务链x第i种部署方式的标识符,用于判断每条业务链对区域的映射方式,其初始值为零。最长的业务链上包涵有α个vnf,服务器群组也被划分成α个区域,域的编号记为1,2,…,α。业务链上各vnf的编号按其业务链顺序标记,如果有某种vnf被映射到区域k上去,则称区域k上存在此种vnf。

mapij表示第i条业务链的第j个vnf被映射在的区域。

indij表示第i条业务链上第j个vnf大致需要的vm个数。

pi表示根据历史经验,用户对第i条业务链的需求。

capj表示单个vm能容纳第j种vnf的客户数量。

xk表示第k个区域上需要开启的vm数量。

靠近流量始发处的服务器编号为服务器1,剩下的依次编号为2、3、4……t。

n表示服务器群组上能开启的vm总个数。

vmnumij表示第i条业务链中的第j个vnf需要的vm个数。

业务链的映射方式即为vnf映射的集合,所以某条业务链的某种映射方式即为vnf映射的各排列组合中的一种。并且,空闲的网络资源指的是已开启的vm上运行的vnf还能继续容纳客户流量的资源;而空闲资源指的是已开启vm而未加载vnf的资源,即未加载vnf的cpu和内存资源。

如图3所示,对业务链的虚拟网络功能进行服务器群区域预划分阶段,把各业务链按长到短的顺序依次把其上的各vnf映射到环形组网上的各区域,让相同的vnf被映射到同一个区域去,具体包括以下步骤:

步骤101:统计出环形网络中的网络功能虚拟化业务链的最大长度α,先将服务器群组划分成α个区域,并从长度最长的业务链开始进行顺序映射。

步骤102:按照业务链长度由长到短的顺序依次映射其余业务链,在不违反业务链次序的前提下,遍历所有的映射方式,依次将各业务链上的虚拟网络功能和所述服务器群组区域进行映射;

步骤103:比较所有映射方式下各服务器群组区域中的虚拟网络功能种类数的总和,选择所述总和最小的映射方式下各业务链的虚拟网络功能和所述服务器群组区域的映射关系。方式如下:

当遍历到第i种映射方式时,检查第i种映射方式中所有vnf的映射;当被映射的区域已存在此种vnf时,则将统计值numxi加1;在完成所有遍历之后,选取numxi最大的映射方式作为将要使用的映射方法;同时,记某区域i上vnf种类数为ni,选取ni总和最小的方式作为将要使用的映射方法,尽可能实现让相同的vnf被映射在同一个区域上去。

例如,假设用户所需求的vnf种类共有以下两种:其一,dpi-fw-nat,其二为fw-nat,映射实例如图4所示:

本实施例中,将服务器群组划分为3个区域,映射业务链dpi-fw-nat。该业务链有且只有一种映射方式,即该业务链上dpi将被映射在区域1上,fw将被映射在区域2上,nat将被映射在区域3上。

映射业务链fw-nat,该业务链在满足映射策略的前提下,一共有3种映射方式,分别为:

1)、fw映射在区域1上,nat映射在区域2上;

2)、fw映射在区域1上,nat映射在区域3上;

3)、fw映射在区域2上,nat映射在区域3上。

接下来,分别计算三种映射方式中,各区域存在的vnf数量以及总和:

1)、区域1上存在2种vnf,区域2上存在2种vnf,区域3上存在1种vnf,共计5种。

2)、区域1上存在2种vnf,区域2上存在1种vnf,区域3上存在1种vnf,共计4种。

3)、区域1上存在1种vnf,区域2上存在1种vnf,区域3上存在1种vnf,共计3种。

经过比较上述3种映射方式各区域vnf种类数的总和,本实施例将选择vnf种类数的总和最小的第3种映射方式作为将要使用的映射方法。

如图5所示,在分配服务器阶段,将根据以往客户对各业务链的需求量,以及当用户请求业务链服务时,该业务链上各vnf所需要占用资源的大小,首先估算出业务链各vnf所需要的资源大小,接下来根据上述步骤得出的业务链对区域的映射关系,进一步估算出每个服务器群组区域所需要的资源大小,完整步骤如下:

步骤201:计算每条业务链中的每个vnf需要的虚拟机的个数indij,如果第i条业务链上不存在第j种vnf,则indij=0;否则,根据用户对第i条业务链的需求pi,结合单个vm能容纳第j种vnf的客户数量capj,计算出indij=pi/capj,并取整;

本实施例中,首先,设dpi(deeplypacketinspection,深度包检测)的标号为1,fw(firewall,防火墙)的标号为2,nat(networkaddresstranslation,网络地址转换)的标号为3;记业务链dpi-fw-nat为业务链1,业务链fw-nat为业务链2。

然后,首先计算ind11,再依次计算ind12,ind13,ind21,ind22,ind23。其中,ind23的值为0,即业务链上2不存在第3种vnf。

步骤202:根据indij和服务器群组上能开启的vm总个数n,则可以计算出第i条业务链中的第j个vnf需要的vm个数vmnumij:并取整;

本实施例中,计算出第1条业务链中的第1个vnf需要的vm个数vmnum11:

其中,表示所有indij的总和。

上式的意思为,单个vnf所需要的vm数量比上服务器上vm的总数量是等于该vnf的标识符的值比上所有标识符的值的总和,即每个业务链的各vnf所需要的资源大小与标识符的值成正比。

步骤203:定义第i条业务链的第j个vnf将被映射到区域值为mapij,根据vnf所需的资源大小vmnumij和vnf对区域的映射关系mapij,计算出第k个区域上需要开启的vm数量xk,具体方法是首先令xk=0,接着遍历mapij,在遍历过程中如果mapij=k,那么xk=xk+vmnumij;

本实施例中,计算出第1个区域上需要开启的vm数量xk,首先令xk=0,接着遍历mapij,因为仅有map11=1,所以xk的最终值为2。

步骤204:确定区域k对应的服务器群组,按照顺序规则放置,标号小的区域优先放置在标号小的服务器上。

本实施例中,将服务器1分配到区域1;将服务器2和服务器3分配到区域2上;将将服务器4和服务器5分配到区域3上。

例如,假设现在单个vm上加载的vnf能承载的用户数量均相同,每个vm上能承载500个用户流量;假设用户对两种业务链的需求相同;假设该场景下总共存在5台服务器,每台服务器上能开启2个vm。根据经验,很容易计算出所有业务链上的每个vnf均需要2个vm大小的资源。根据业务链vnf区域预划分阶段的结果,区域1所需vm的数量为2,区域2所需vm的数量为4,区域3所需vm的数量为4。

在服务器分配完成后,每当有用户流量来临的时候,则需要对用户流量进行部署,用户流量的部署按照vnf使用其映射区域的资源这一原则进行,具体步骤如下:

1)检查业务链上每个vnf所对应的区域,假设当前业务链编号为i,遍历标号为j∈[1……α]的vnf,α是编号为i的业务链的长度;

2)如果mapij为0,则进行下一次遍历,否则,检查区域mapij中第j种vnf的网络资源是否充足,如果不充足,则跳转至步骤3)。如果资源充足,进行下一次遍历。

3)检查mapij区域中,是否还存在空闲资源(即是否还有vm上未加载vnf)。如果不存在空闲资源,则准备服务器区域重划分;如果存在,则加载相应的vnf,并且如果j小于α,则j=j+1,并跳转至步骤2)。

4)部署用户流量:经过上述的遍历,每个vnf所对应的区域均存在充足的网络资源,用户流量将选择其需求的业务链上各vnf所映射的服务器作为流量将要经过的路线。

如图6所示,如果某区域的空闲资源不足,则实施服务器区域重划分,其步骤包括:

步骤301:确定当前资源剩余最多的服务器群组区域;

判断当前资源剩余最多的服务器群组区域,并将其记为xfree;判断xfree和缺乏资源的服务器群组区域xshort的相对位置,设靠近用户流量始发处的区域为前:如果xfree在xshort之前,则执行步骤302,否则,执行步骤303。

从所述当前资源剩余最多的服务器群组区域开始按标号顺序至所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域,依次从每个服务器群组区域划分出指定资源给下一个服务器群组区域,直至将所述指定资源划分给所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域为止,如步骤302和步骤303。

步骤302:最靠近流量始发处的服务器编号为服务器1,剩下的依次编号为2、3、4……t。首先将xfree中标号最大的服务器,划分出能开启一个vm的资源给xfree+1。如果服务器标号最大的区域中,不存在空闲的资源,则在该服务器群组区域的别的服务器上开启一个正在标号最大的服务器上运行的vnf,将标号最大的服务器上的vnf及其上面的流量迁移过去。这样,标号最大服务器中,即可存在空闲资源。然后,再划分出能开启一个vm的资源给xfree+1。

对xfree+1和xfree+2域也执行同样的操作,一直至xshort。此时,就相当于将xfree的资源划分给了xshort,并且保证了区域连续性。

步骤303:最靠近流量始发处的服务器编号为服务器1,剩下的依次编号为2、3、4……t;首先,将xfree中标号最小的服务器,划分出能开启一个vm的资源给xfree-1。如果服务器标号最小的区域中,不存在空闲的资源,那么则在该区域的别的服务器上开启一个正在标号最小的服务器上运行的vnf,将标号最小的服务器上的vnf及其上面的流量迁移过去。这样,标号最小服务器中,即可存在空闲资源;对xfree-1和xfree-2执行同样的操作,一直至xshort。此时,就相当于将xfree的资源划分给了xshort,并且保证了区域连续性。

例如,假设区域1上存在空闲资源,而区域3上缺乏空闲资源,可以将区域1上的空闲资源重划分给区域3上:

a)将区域1记为xfree;判断xfree和缺乏资源的区域xshort的相对位置,因为xfree即区域1在xshort区域3之前,执行步骤b)。

b)因为区域1中标号最大的服务器即服务器2上不存在空闲资源。所以,需要在服务器1上加载fw,并把服务器2上fw所承载的用户流量迁移到服务器1的fw上,然后关闭服务器2的fw。接下来,即可把服务器2上的空闲vm划分给区域2。再接下来,因为区域2中标号最大的服务器上存在空闲资源,直接将此vm划分给区域3即可。

完成上述步骤之后,重新需要对业务链的用户流量进行二次部署,实际实现业务链的具体vnf的映射。具体步骤包括:

遍历整个服务器群组上所有还存在网络资源的vnf,将其排列组合生成当前流量的部署方案,选择满足总流量最小的部署方案作为我们将要使用的部署方案。

本公开提出的一种环形组网下网络功能虚拟化业务链映射方法,通过对区域进行划分和相同vnf在同一区域内映射,加以区域重划分方法,解决了环形组网中业务链流量会产生折返这一问题,提高了网络功能虚拟化资源分配过程中带宽资源的利用率和总体效率。

图7为本公开实施例的一种环形组网下的网络功能虚拟化业务链映射的装置的示意图,如图7所示,本实施例的装置包括:

划分模块,用于对业务链的虚拟网络功能进行服务器群组区域预划分;

分配模块,用于将网络功能虚拟化中参与资源分配的服务器分配到对应的所述服务器群组区域;

部署模块,用于对用户流量进行部署时,选择所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域上对应的虚拟网络功能进行部署。

在一实施例中,所述部署模块,选择所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域上对应的网络功能进行部署的过程中,包括:当确定所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域的空闲资源不足时,对所述服务器群组区域重划分,选择在重划分后的对应的服务器群组区域上对应的虚拟网络功能进行部署。

在一实施例中,所述部署模块,对所述服务器群组区域重划分包括:确定当前资源剩余最多的服务器群组区域;从所述当前资源剩余最多的服务器群组区域开始按标号顺序至所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域,依次从每个服务器群组区域划分出指定资源给下一个服务器群组区域,直至将所述指定资源划分给所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域为止。

在一实施例中,所述部署模块,依次从每个服务器群组区域划分出指定资源给下一个服务器群组区域包括:如所述当前资源剩余最多的服务器群组区域比所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域更靠近流量始发处,则依次从每个服务器群组区域中标号最大的服务器中划分出指定资源给下一个服务器群组区域,如所述标号最大的服务器不存在空闲资源,则在该服务器群组区域中其它服务器上开启一个正在所述标号最大的服务器中运行的虚拟网络功能,将所述标号最大的服务器的所述虚拟网络功能及其上的流量迁移至所述开启的虚拟网络功能上,再从标号最大的服务器中划分出指定资源给下一个服务器群组区域;

如所述当前资源剩余最多的服务器群组区域比所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域远离流量始发处,则依次从每个服务器群组区域中标号最小的服务器中划分出指定资源给下一个服务器群组区域,如所述标号最小的服务器不存在空闲资源,则在该服务器群组区域中其它服务器上开启一个正在所述标号最小的服务器中运行的虚拟网络功能,将所述标号最小的服务器的所述虚拟网络功能及其上的流量迁移至所述开启的虚拟网络功能上,再从所述标号最小的服务器中划分出指定资源给下一个服务器群组区域。

在一实施例中,所述划分模块包括:

划分单元,用于统计出环形组网中的网络功能虚拟化业务链的最大长度α,将服务器群组划分成α个服务器群组区域;

映射单元,用于按照业务链长度由长到短的顺序,遍历所有的映射方式,依次将各业务链上的虚拟网络功能和所述服务器群组区域进行映射;

选择单元,用于比较所有映射方式下各服务器群组区域中的虚拟网络功能种类数的总和,选择所述总和最小的映射方式下各业务链的虚拟网络功能和所述服务器群组区域的映射关系。

在一实施例中,所述分配模块包括:

估算单元,用于估算所述业务链各虚拟网络功能所需的资源及每个所述服务器群组区域所需的资源;

分配单元,用于根据所述估算的资源按照服务器的标号顺序,依次将服务器分配到对应的所述服务器群组区域。

在一实施例中,所述估算单元,具体用于根据以往客户对各业务链的需求量,以及用户请求业务链服务时,该业务链上各虚拟网络功能所需要占用资源的大小,估算出所述业务链各虚拟网络功能所需的资源大小;根据所述业务链各虚拟网络功能所需的资源大小估算出每个所述服务器群组区域所需要的服务器的数量。

本公开实施例还提供一种环形组网下的网络功能虚拟化业务链映射的装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现以下步骤:

对业务链的虚拟网络功能进行服务器群组区域预划分;

将网络功能虚拟化中参与资源分配的服务器分配到对应的所述服务器群组区域;

对用户流量进行部署时,选择所述用户流量所需求的业务链上的各虚拟网络功能对应的服务器群组区域上对应的网络功能进行部署。

本发明实施例还提供了一种计算机可读存储介质,其存储有计算机可执行指令,所述计算机可执行指令被执行时实现所述页面处理方法。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本公开不限制于任何特定形式的硬件和软件的结合。

以上仅为本公开的优选实施例,当然,本公开还可有其他多种实施例,在不背离本公开精神及其实质的情况下,熟悉本领域的技术人员当可根据本公开作出各种相应的改变和变形,但这些相应的改变和变形都应属于本公开所附的权利要求的保护范围。

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