掌桥专利:专业的专利平台
掌桥专利
首页

基于服务链的流量迁移方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 19:58:53


基于服务链的流量迁移方法、装置、电子设备及存储介质

技术领域

本申请属于网络功能虚拟化技术领域,尤其涉及一种基于服务链的流量迁移方法、装置、电子设备及存储介质。

背景技术

通常,网络中的用户流量是动态变化的,为保证网络性能,在实际应用中,需对网络中的用户流量进行流量迁移。

然而,在相关技术中,在进行流量迁移操作时,通常忽略流量迁移操作所产生的成本,从而导致执行流量迁移操作后,网络性能提升所产生的收益低于流量迁移操作所产生的开销,即相关技术中无法实现流量迁移成本与流量迁移效果的均衡。

发明内容

本申请实施例提供一种基于服务链的流量迁移方法、装置、电子设备及存储介质,能够在保证流量迁移效果的同时,减少流量迁移成本,实现了流量迁移成本与网络性能的均衡。

第一方面,本申请实施例提供一种基于服务链的流量迁移方法,该方法包括:获取流经目标虚拟网络功能VNF实例的多个用户流量,其中,目标VNF实例为部署在虚拟网络中需进行流量迁移的实例;根据每个用户流量对应的流量迁移成本以及流量路由成本,从多个用户流量中确定待迁移的目标用户流量,以及目标用户流量所对应的目标服务链,其中,流量路由成本用于表征流量迁移后的虚拟网络的网络性能,目标服务链为目标用户流量所流经的多个VNF实例组成的链序集合;将目标用户流量迁移至目标服务链中。

第二方面,本申请实施例提供了一种基于服务链的流量迁移装置,该装置包括:流量获取模块,用于获取流经目标虚拟网络功能VNF实例的多个用户流量,其中,目标VNF实例为部署在虚拟网络中需进行流量迁移的实例;链路确定模块,用于根据每个用户流量对应的流量迁移成本以及流量路由成本,从多个用户流量中确定待迁移的目标用户流量,以及目标用户流量所对应的目标服务链,其中,流量路由成本用于表征流量迁移后的虚拟网络的网络性能,目标服务链为目标用户流量所流经的多个VNF实例组成的链序集合;流量迁移模块,用于将目标用户流量迁移至目标服务链中。

第三方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现如第一方面所述的基于服务链的流量迁移方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面所述的基于服务链的流量迁移方法。

第五方面,本申请实施例提供了一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行如第一方面所述的基于服务链的流量迁移方法。

由上述内容可知,在本申请中,通过流经目标VNF实例的每个用户流量的流量迁移成本及流量路由成本来确定是否对该用户流量进行迁移,以及迁移后所对应的服务链。由于流量路由成本可表征流量迁移后的虚拟网络的网络性能,因此,在本申请中,在对流经目标VNF实例的用户流量进行迁移的过程中,综合考虑了流量迁移成本与流量迁移效果,从而可以有效避免相关技术中,流量迁移之后网络性能提升所产生的收益低于流量迁移操作所产生的开销的不合理现象的产生,在保证流量迁移效果的同时,减少了流量迁移成本,实现了流量迁移成本与网络性能的均衡。

附图说明

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

图1是本申请一个实施例提供的基于服务链的流量迁移方法的流程示意图;

图2是本申请一个实施例提供的虚拟网络的示意图;

图3是本申请一个实施例提供的流量迁移方法所对应的原理框图;

图4是本申请一个实施例提供的归一化后的用户流量的示意图;

图5是本申请一个实施例提供的在Uunet拓扑中,不同流量迁移算法下的流量迁移成本的示意图;

图6是本申请一个实施例提供的在Uunet拓扑中,不同流量迁移算法下的SLA违背成本的示意图;

图7是本申请一个实施例提供的在Cernet拓扑中,不同流量迁移算法下的流量迁移成本的示意图;

图8是本申请一个实施例提供的在Cernet拓扑中,不同流量迁移算法下的SLA违背成本的示意图;

图9是本申请一个实施例提供的在Uunet拓扑中,不同流量迁移算法下的流量迁移成本的示意图;

图10是本申请一个实施例提供的在Uunet拓扑中,不同流量迁移算法下的SLA违背成本的示意图;

图11是本申请一个实施例提供的在Cernet拓扑中,不同流量迁移算法下的流量迁移成本的示意图;

图12是本申请一个实施例提供的在Cernet拓扑中,不同流量迁移算法下的SLA违背成本的示意图;

图13是本申请一个实施例提供的在Uunet拓扑中,不同流量迁移算法下的最大VNF实例负载比率的示意图;

图14是本申请一个实施例提供的在Uunet拓扑中,不同流量迁移算法下的流量迁移成本的示意图;

图15是本申请一个实施例提供的在Uunet拓扑中,不同流量迁移算法下的SLA违背成本的示意图;

图16是本申请一个实施例提供的在Cernet拓扑中,不同流量迁移算法下的最大VNF实例负载比率的示意图;

图17是本申请一个实施例提供的在Cernet拓扑中,不同流量迁移算法下的流量迁移成本的示意图;

图18是本申请一个实施例提供的在Cernet拓扑中,不同流量迁移算法下的SLA违背成本的示意图;

图19是本申请一个实施例提供的在Uunet拓扑中,不同流量迁移算法下的缓存使用量对比图;

图20是本申请一个实施例提供的在Cernet拓扑中,不同流量迁移算法下的缓存使用量对比图;

图21是本申请一个实施例提供的在Uunet拓扑中,不同流量迁移算法下的最大VNF实例负载比率的对比图;

图22是本申请一个实施例提供的在Uunet拓扑中,不同流量迁移算法下的流量迁移成本的对比图;

图23是本申请一个实施例提供的在Uunet拓扑中,不同流量迁移算法下的SLA违背成本的对比图;

图24是本申请一个实施例提供的在Cernet拓扑中,不同流量迁移算法下的最大VNF实例负载比率的概率分布图;

图25是本申请一个实施例提供的在Cernet拓扑中,不同流量迁移算法下的流量迁移成本的概率分布图;

图26是本申请一个实施例提供的在Cernet拓扑中,不同流量迁移算法下的SLA违背成本的概率分布图;

图27是本申请另一个实施例提供的基于服务链的流量迁移装置的结构示意图;

图28是本申请又一个实施例提供的电子设备的结构示意图。

具体实施方式

下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

为便于理解,在对本申请所提供的方案进行解释说明之前,首先对本申请所提供方案的背景进行解释说明。

本申请所提供的方案可应用于网络功能虚拟化(Network FunctionVirtualization,NFV)的相关技术领域中。其中,网络服务提供商可使用NFV技术以软件化的方式来实现网络功能,并以此来替代基于专用硬件设备实现的网络功能。以下对网络功能虚拟化技术领域中的相关术语进行解释说明。

(1)VNF(Virtual Network Function,虚拟网络功能),为基于NFV技术实现的网络功能,其中,以软件形式实现的虚拟网络功能可运行在通用的x86架构设备上。

(2)VNFI(Virtual Network Function Instance,虚拟网络功能实例),为用于承载VNF的容器。通常,VNF运行于物理设备的不同容器(例如,虚拟机或docker容器)中以避免同一设备上的不同VNF互相干扰。

(3)SFC(Service Function Chain,服务链),为VNF的链序集合。随着NFV技术的广泛应用,网络服务的供应也变得更加灵活,且网络服务的部署及运行成本也大量降低。网络服务通常由若干种不同的VNF组成,用户流量需要按指定顺序经过构成网络服务的VNF才能取得特定的服务,而这些VNF的链序集合即为服务链。

(4)SDN(Software Defined Network,软件定义网络),是一种网络运维人员可灵活管理网络中用户流量的路由方式。通过向网络中路由转发设备下发指定的路由规则,即可实现特定的路由目标,进而优化整体网络性能(例如,减少流量传输时延、避免网络拥塞等)。

在对本申请所提供的方案进行解释说明之前,首先对本申请所提供方案的应用背景进行解释说明。

考虑到网络中流量的动态变化,为了在支持NFV技术的网络中维持网络性能及网络服务质量,通常对网络中的用户流量进行流量迁移。其中,流量迁移操作主要是将经过VNF实例的用户流量重新路由到其他VNF实例上,以对VNF实例的负载进行调整,进而实现对VNF实例的服务质量的改善。

需要说明的是,在对支持NFV技术的网络中进行流量迁移的过程中,通常还需迁移VNF状态、缓存用户流量以及流量重定向。

通常,流量迁移操作包括以下四类,即扩容迁移操作、缩容迁移操作、负载均衡迁移操作、VNF实例故障/升级迁移操作。然而,在流量迁移过程中,需考虑流量迁移成本的优化、流量迁移后网络性能的优化以及流量迁移成本与网络性能间的均衡。

对于流量迁移过程中,流量迁移成本的优化,在进行流量迁移的过程中,用户流量所需的网络服务处于服务暂停状态,流量迁移操作的持续时间较长,则网络服务的暂停时间也会较长,从而影响网络服务的质量,因此,需降低流量迁移成本。另外,部署在网络中的云节点也需提供一定的缓存能力,从而为流量迁移过程中处于存活状态的用户流量提供缓存服务,避免数据丢包现象的产生。此外,若被迁移的用户流量选择的不合适,则云节点上用于缓存用户流量的内存会溢出,从而导致数据丢包或降低网络服务质量。然而,相关技术中,通常仅关注单个VNF的流量迁移成本,而忽略服务链中的VNF间的流量路由,从而无法保障迁移后服务链中各个VNF减的流量路由性能。因此,在流量迁移前,需对流量迁移成本进行优化。

对于流量迁移后网络性能的优化,需要从多个维度对其进行评估,例如,最大VNF实例负载、迁移后的流量路由成本。其中,VNF实例的最大负载为评估流量迁移后网络性能的重要指标,最小化最大VNF实例负载可以在一定程度上保证网络资源的利用率。另外,网络中的流量需要时延敏感型网络服务(可容忍几百毫秒时延的网络服务)和时延容忍型网络服务(可容忍几分钟、几小时时延的网络服务)的支持,如果云节点处于资源受限状态,则优先让时延敏感型服务的流量使用能提供更低传输时延的云节点上的计算资源。由此可见,在流量迁移前,需对网络性能进行优化。

对于流量迁移成本与网络性能间的均衡,在制定流量迁移决策时,具有低迁移成本的迁移方案可能无法保证迁移后的网络性能;类似的,具有良好的网络性能的迁移方案,其可能具有较高的迁移成本。因此,需要对每条用户流量所产生的迁移成本和迁移后的网络性能进行综合评估并进行取舍,以便确定能够均衡迁移成本和网络性能的迁移方案。

为实现上述目标,本申请实施例提供了一种基于服务链的流量迁移方法、装置、电子设备及存储介质,其中,本申请所提供的方案可应用于跨地域云网络环境中。下面首先对本申请实施例所提供的基于服务链的流量迁移方法进行介绍。

图1示出了本申请一个实施例提供的基于服务链的流量迁移方法的流程示意图。如图1所示,该方法包括如下步骤:

步骤S101,获取流经目标VNF实例的多个用户流量。

在步骤S101中,目标VNF实例为部署在虚拟网络中需进行流量迁移的实例,其中,虚拟网络中部署有多个VNF实例,例如,在图2所示的虚拟网络中,部署了A1、A2、B1、C1、C2、D1、D2七个VNF实例,同时,还部署了S1-S9九个交换节点以及N1-N7七个云节点。作为一个示例,从源点(例如,客户端)发出的用户流量经过图2中的某条路由路径,即可得到终点(例如,服务器)所提供的网络服务。

在一个示例中,可采用固定阈值法来从多个VNF实例中确定需进行流量迁移的目标VNF实例。例如,可设置每个VNF实例的负载阈值范围,然后检测每个VNF实例的实际负载是否在负载阈值范围内,如果某个VNF实例的实际负载不在该负载阈值范围内,则确定该VNF实例为目标VNF实例,并对该VNF实例进行流量迁移,否则,不对该VNF实例进行流量迁移。进一步的,在确定了目标VNF实例之后,即可获取流经该目标VNF实例的用户流量。

步骤S102,根据每个用户流量对应的流量迁移成本以及流量路由成本,从多个用户流量中确定待迁移的目标用户流量,以及目标用户流量所对应的目标服务链。

在步骤S102中,用户流量的流量迁移成本包括如下至少之一:对目标VNF实例进行流量迁移所产生的时间成本、用户流量的缓存成本、流量重定向的时间成本以及路由规则更新所对应的时间成本;流量路由成本用于表征流量迁移后的虚拟网络的网络性能,其中,流量路由成本越低,其对应的网络性能越好。

值得注意的是,由于流量路由成本可表征流量迁移后的虚拟网络的网络性能,因此,在本申请中,在对流经目标VNF实例的用户流量进行迁移的过程中,综合考虑了流量迁移成本与流量迁移效果,从而可以有效避免相关技术中,流量迁移之后网络性能提升所产生的收益低于流量迁移操作所产生的开销的不合理现象的产生。

另外,在步骤S102中,目标服务链由目标用户流量所流经的多个VNF实例组成的链序集合,其表征了目标用户流量在虚拟网络中的路由路径。

在一个示例中,获取流经目标VNF实例的每个用户流量所对应的所有服务链,并计算每个用户流量迁移至每个服务链所对应的流量迁移成本和流量路由成本,从而得到每个用户流量迁移至对应的服务链的目标迁移成本,并确定目标迁移成本最小的服务链作为该用户流量所要迁移的服务链。然后,再根据将每个用户流量迁移到对应的服务链后虚拟网络的网络状态、目标VNF实例的负载状态等信息来确定是否对该用户流量进行流量迁移。如果检测到需要对该用户流量进行流量迁移,则可确定该用户流量为目标用户流量,该用户流量所要迁移的服务链即为目标服务链。

步骤S103,将目标用户流量迁移至目标服务链中。

在步骤S103中,在确定了目标用户流量以及目标服务链之后,即可将目标用户流量迁移至目标服务链,从而实现了对虚拟网络中的用流量的合理迁移。

基于上述步骤S101至步骤S103所限定的方案,可以获知,在本申请中,通过流经目标VNF实例的每个用户流量的流量迁移成本及流量路由成本来确定是否对该用户流量进行迁移,以及迁移后所对应的服务链。由于流量路由成本可表征流量迁移后的虚拟网络的网络性能,因此,在本申请中,在对流经目标VNF实例的用户流量进行迁移的过程中,综合考虑了流量迁移成本与流量迁移效果,从而可以有效避免相关技术中,流量迁移之后网络性能提升所产生的收益低于流量迁移操作所产生的开销的不合理现象的产生,在保证流量迁移效果的同时,减少了流量迁移成本,实现了流量迁移成本与网络性能的均衡。

在一个示例中,图3示出了流量迁移方法所对应的原理框图,由图3可知,本申请所提供方法的算法架构主要由数据层和控制层组成,其中,数据层部署有物理网络和虚拟网络,对物理网络进行虚拟化处理即可得到虚拟网络;虚拟网络中部署有多个VNF实例(如图3中的VNF1、VNF2、VNF3)以及客户端和服务器。控制层中部署有多个模块,其可实现对虚拟网络中的VNF实例的用户流量的采集以及流量迁移,其中,多个模块至少包括状态监控模块、事件检测模块、成本评估模块、迁移优化模块、流量迁移算法模块、迁移控制模块、VNF实例供应模块以及SDN控制器。

作为一个示例,状态监控模块实时监控虚拟网络中的VNF实例的负载状态及流量状态,事件检测模块根据状态监控模块所采集到的VNF实例的负载状态以及流量状态,检测是否对当前所监控的VNF实例触发流量迁移操作,并在确定触发流量迁移操作时,继续判断对该VNF实例进行流量迁移的迁移类型(例如,扩容迁移类型、缩容迁移类型、负载均衡迁移类型、异常迁移类型、升级迁移类型)。

在确定对当前所监控的VNF实例进行流量迁移操作以及迁移类型之后,成本评估模块对流量迁移过程中产生的时间成本、迁移后的流量路由成本以及迁移后的VNF实例负载状态进行评估,同时,迁移优化模块在对应的优化目标和相关约束条件的指导下,为制定具体的流量迁移方案提供参考。之后,流量迁移算法模块根据成本评估模块所输出的评估结果以及流量迁移需求在迁移优化模块所确定的优化目标和约束条件下,确定对该VNF实例进行流量迁移的流量迁移方案,其中,流量迁移方案可以包括但不限于扩容迁移侧策略、缩容迁移策略和负载均衡迁移策略等。

进一步的,在流量迁移算法模块确定流量迁移方案之后,通过迁移控制模块(例如,OpenNF)、VNF实例供应模块(例如,Kubernetes)以及SDN控制器(例如,RYU操作系统)协作来实现流量迁移方案的执行。其中,迁移控制模块实现VNF实例的状态迁移,VNF实例供应模块可在缩容迁移策略下提供VNF实例,SDN控制器下发路由规则,并对路由规则进行更新。

需要说明的是,考虑到流量迁移成本和迁移后的流量路由成本的计算主要依靠于迁移后的流量路由路径,因此,为便于计算,在本申请中,设定布尔值变量

S8→D1(N6)→S8→S9,而在迁移后的路由路径p为:S1→S2→A2(N2)→S2→S4→B1(N3)→S4→S5→C2(N5)→S5→S7→

D2(N7)→S7→S9。此时,

由上述内容可知,通过

此外,在本申请中,还可通过比较迁移前后的流量路由路径来判断VNF实例上是否发生流量迁移,其中,布尔值变量

在设定了布尔变量

以下结合图3对本申请所提供的方案进行详细的解释说明。

首先,在对用户流量进行迁移之前,需从部署在虚拟网络中的多个VNF实例中确定需要进行流量迁移的目标VNF实例,以及对目标VNF实例进行流量迁移操作的迁移类型。

具体的,首先获取第一VNF实例的负载状态信息和运行状态信息,其中,第一VNF实例为部署在虚拟网络中的多个VNF实例中的任意一个实例,负载状态信息至少包括第一VNF实例的第一实际负载以及第一VNF实例对应的实际负载方差,运行状态信息至少包括第一VNF实例的异常运行状态和升级运行状态,第一VNF实例对应的实际负载方差为包含第一VNF实例的VNF实例组所对应的负载方差,VNF实例组为包含相同VNF实例类型的VNF实例组合。作为一个示例,VNF实例组中所包含VNF实例可以为整个虚拟网络中具有相同VNF实例类型的VNF实例组合。

在确定了第一VNF实例的负载状态信息以及运行状态信息之后,即可根据第一VNF实例的负载状态信息和/或运行状态信息来确定是否对第一VNF实例进行流量迁移以及流量迁移的迁移类型。其中,本申请可采用固定阈值法来确定是否对第一VNF实例进行流量迁移。采用固定阈值法需设定负载上限阈值Ψ

若第一VNF实例的第一实际负载大于或等于负载上限阈值,确定第一VNF实例为目标VNF实例,并确定目标VNF实例对应的流量迁移类型为扩容迁移类型,即若Ψ

若第一VNF实例的第一实际负载小于或等于负载下限阈值,确定第一VNF实例为目标VNF实例,并确定目标VNF实例对应的流量迁移类型为缩容迁移类型,即Ψ

需要说明的是,执行缩容迁移操作之前,考虑到关闭第一VNF实例可能会产生大量的流量迁移成本,设置流量迁移成本高于关闭第一VNF实例所节省的经济成本,因此,此时还需考虑关闭第一VNF实例所带来的收益是否超出流量迁移成本,如果关闭第一VNF实例所带来的收益超出流量迁移成本,则确定对第一VNF实例进行缩容迁移操作。

此外,还需要说明的是,即使第一VNF实例的实际负载处于正常的阈值范围内,即第一VNF实例的实际负载大于负载下限阈值,并小于负载上限阈值时,也需考虑包含第一VNF实例的VNF实例组是否负载均衡。其中,负载不均衡的第一VNF实例易导致第一VNF实例的过载和轻载,而且负载不均衡也意味着虚拟网络中的计算资源没有得到充分利用。因此,需考虑执行负载均衡迁移操作来为经过第一VNF实例的流量重新分配路由路径,以实现VNF实例间的负载均衡。

即若第一VNF实例对应的实际负载方差大于或等于负载方差阈值,确定第一VNF实例为目标VNF实例,并确定目标VNF实例对应的流量迁移类型为负载均衡迁移类型。

需要说明的是,虚拟网络中的VNF实例的负载方差超过一定阈值(即负载方差阈值)可以作为负载均衡迁移操作的触发条件,即当var(ψ

此外,还可根据第一VNF实例的运行状态来确定目标VNF以及对应的迁移操作类型。其中,若第一VNF实例处于异常运行状态,确定第一VNF实例为目标VNF实例,并确定目标VNF实例对应的流量迁移类型为异常迁移类型;若第一VNF实例处于升级运行状态,确定第一VNF实例为目标VNF实例,并确定目标VNF实例对应的流量迁移类型为升级迁移类型。

由上述内容可知,本申请对目标VNF进行流量迁移操作的流量迁移类型包括如下五种:扩容迁移类型、缩容迁移类型、负载均衡迁移类型、异常迁移类型及升级迁移类型。其中,当服务链中的至少部分VNF实例存在过载现象时,执行扩容迁移操作;当服务链中的至少部分VNF实例存在轻载现象时,执行缩容迁移操作;当服务链中的各个VNF实例存在负载不均衡现象时,执行负载均衡迁移操作;当服务链中的至少部分VNF实例发生故障时,执行异常迁移操作;当服务链中的至少部分VNF实例需要升级时,执行升级迁移操作。

对于扩容迁移操作,其需要选择合适的用户流量,将其从过载的VNF实例上迁出到其他VNF实例上。在扩容迁移过程中,需启动部分非活跃的VNF实例来容纳现有的活跃VNF实例所无法承载的流量,而迁出的流量数量需能够将过载VNF实例的负载降到Ψ

具体的,在流量迁移类型为扩容迁移类型的情况下,首先,获取第一用户流量所对应的多条候选服务链,然后,计算每条候选服务链的流量迁移成本与流量路由成本之和,得到第一目标迁移成本;并从多条候选服务链中确定第一目标迁移成本最小的候选服务链,得到第一用户流量对应的第一服务链,其中,第一用户流量为多个用户流量中的任意一个。即第一目标迁移成本可通过如下公式来确定:

在公式(1)中,M

需要说明的是,相关技术中,通常仅对用户流量的端到端的时延进行优化,而忽略了用户流量对期望服务完成时间的需求。当虚拟网络中云节点的计算资源受限时,根据用户流量对期望服务完成时间的需求能够更加合理的为其分配路由路径,该方式可以保证需时延敏感型网络服务处理的用户流量可以优先使用能提供更低传输时延的云节点资源,从而避免需要时延容忍型网络服务处理的用户流量与需要时延敏感型网络服务处理的流量在资源受限的云节点上出现不合理的资源竞争现象。而SLA违背成本主要指由用户流量的实际端到端时延超出流量期望服务完成时间而产生的惩罚成本。因此,在扩容迁移场景下,流量迁移成本优化问题的目标为最小化流量迁移成本和迁移后流量的SLA违背成本,由此,在本申请中,使用SLA违背成本作为评估迁移后流量路由成本的方式。

进一步的,在确定了第一用户流量所要迁移的服务链(即第一服务链)之后,还需对流量迁移后目标VNF实例的负载状态进行进一步检查,以确定是否对第一用户流量进行迁移。

具体的,计算第一用户流量迁移至第一服务链后,目标VNF实例的负载状态,并在目标VNF实例的负载状态满足预设条件的情况下,确定第一用户流量为目标用户流量,并确定第一服务链为目标服务链。

作为一个示例,上述的预设条件可以包括如下至少之一:第一用户流量的流量状态以及虚拟网络的网络状态是否满足第一约束条件,目标VNF实例的实际负载是否在负载阈值范围内。

具体的,首先,检测在将第一用户流量迁移至第一服务链之后,第一用户流量的流量状态以及虚拟网络的网络状态是否满足第一约束条件。其中,第一约束条件包括如下至少之一:限定第一用户流量的服务暂停时间小于暂停时间阈值的约束条件;限定虚拟网络所包含的云节点的最大数据包缓存数量的约束条件;限定目标VNF实例的负载状态的约束条件;限定第一服务链的资源容量信息的约束条件;限定第一用户流量所对应的服务链的数量的约束条件。

限定第一用户流量的服务暂停时间小于暂停时间阈值的约束条件可通过下式表示:

在公式(2)中,M

限定虚拟网络所包含的云节点的最大数据包缓存数量的约束条件可通过下式表示:

在公式(3)中,Q

限定目标VNF实例的负载状态的约束条件可通过下式表示:

在公式(4)中,

限定第一服务链的资源容量信息的约束条件可通过下式表示:

在公式(5)中,

限定第一用户流量所对应的服务链的数量的约束条件可通过下式表示:

在公式(6)中,

此外,在实际应用中,还可通过下式对

/>

其中,公式(7)限定了

进一步的,在第一用户流量及虚拟网络的网络状态满足第一约束条件的情况下,获取在第一服务链中目标VNF实例的第二实际负载,并在第二实际负载大于负载下限阈值,并小于负载上限阈值的情况下,确定第一用户流量为目标用户流量,第一服务链为目标服务链。

上述扩容迁移操作的算法流程可通过如下伪代码来实现:

输入:K,P

输出:待迁移流量集合:K

由上述伪代码可知,在扩容迁移操作的算法中,首先需要对所有的过载VNF实例进行遍历,以获取经过过载VNF实例的流量集合。对于每一条用户流量,需从P

由上述对伪代码的解释说明可知,在执行扩容迁移操作的过程中,优先对具备较低流量迁移成本与迁移后的流量路由成本之和,以及较高流速率的用户流量进行迁移,以避免迁移处过多较低速率的流量来满足VNF实例的负载需求导致累积迁移成本较高的问题。

此外,通过执行上述启发式算法流程,可在满足过载VNF实例的负载需求的基础上,尽可能最小化所有迁出流量的总流量迁移成本以及迁移后的流量路由成本。

对于缩容迁移操作,其可采取与扩容迁移操作的算法类似的贪心思路来设计缩容场景下的流量迁移算法。

具体的,在流量迁移类型为缩容迁移类型的情况下,首先获取第二用户流量所对应的多条候选服务链,然后,计算每条候选服务链的流量迁移成本与流量路由成本之和,得到第二目标迁移成本;从多条候选服务链中确定第二目标迁移成本最小的候选服务链,得到第二用户流量对应的第二服务链,其中,第二用户流量为多个用户流量中的任意一个。也即第二目标迁移成本可通过公式(1)来确定。

进一步的,与扩容迁移操作类似,在确定了第二用户流量所要迁移的服务链(即第二服务链)之后,还需对流量迁移后目标VNF实例的负载状态进行进一步检查,以确定是否对第二用户流量进行迁移。

具体的,检测在将第二用户流量迁移至第二服务链之后,第二用户流量的流量状态以及虚拟网络的网络状态是否满足第二约束条件;在第二用户流量及虚拟网络的网络状态满足第二约束条件的情况下,确定第二用户流量为目标用户流量,第二服务链为目标服务链。

作为一个示例,第二约束条件包括如下至少之一:限定第二用户流量的服务暂停时间小于暂停时间阈值的约束条件(如公式2);限定虚拟网络所包含的云节点的最大数据包缓存数量的约束条件(如公式3);限定目标VNF实例的负载状态的约束条件(如公式4);限定第二服务链的资源容量信息的约束条件(如公式5);限定第二用户流量所对应的服务链的数量的约束条件(如公式6);限定禁止用户流量经过处于关闭状态的VNF实例的约束条件。

其中,限定禁止用户流量经过处于关闭状态的VNF实例的约束条件可通过下式表示:

公式(8)保证了不再有用户流量经过已经决定被关闭的VNF实例,其中,G

此外,在缩容迁移场景中,也需对

上述缩容迁移操作的算法流程可通过如下伪代码来实现:

输入:K,P

输出:待迁移流量集合:K

由上述伪代码可知,在缩容迁移操作的算法中,首先需要对所有的过载VNF实例进行遍历,以获取经过过载VNF实例的流量集合。与扩容迁移操作的算法类似,缩容迁移算法同样需要对每一条流量,从P

由上述对伪代码的解释说明可知,在执行缩容迁移操作的过程中,在决定好被关闭的VNF实例后,所有经过这些VNF实例的用户流量均需被迁出,在此过程中只需要对流量迁移成本和迁移后的流量路由成本进行联合优化即可。所有被迁出的用户流量被重新分布到虚拟网络中其他的活跃VNF实例上,在迁移过程中,需避免VNF实例过载、链路带宽约束被违背以及缓存迁移流量导致的内存溢出等情况的发生。

此外,对于异常迁移操作和升级迁移操作,也可以使用缩容迁移操作对应的启发式算法来实现流量迁移成本和迁移后流量路由成本的优化。只需将发生故障和待升级的VNF实例视为缩容迁移算法中待关闭的VNF实例即可,其他算法流程基本不变。也即,在流量迁移类型为缩容迁移类型、异常迁移类型及升级迁移类型中的任意之一的情况下,均可采用上述缩容迁移操作的算法流量来实现。

对于负载均衡迁移操作,其需将合适的用户流量从高负载VNF实例迁移到低负载VNF实例上以解决VNF实例间负载不均衡的问题。当用户流量的传输速率固定时,增加VNF实例的利用率与最小化最大VNF实例的负载比率等价。因此,负载均衡迁移操作的优化目标之一为最小化网络中所有VNF实例的最大负载比率Ψ,而Ψ=max(ψ

即在流量迁移类型为负载均衡迁移类型的情况下,获取第三用户流量所对应的多条候选服务链,计算每条候选服务链的流量迁移成本与流量路由成本之和,得到第三目标迁移成本;同时,获取每条候选服务链所对应的最大VNF实例负载比率;并计算第三目标迁移成本与最大VNF实例负载比率之和,得到目标结果;然后,从多条候选服务链中确定目标结果最小的候选服务链,得到第三用户流量对应的第三服务链,其中,第三用户流量为多个用户流量中的任意一个。即目标结果可通过如下公式来确定:

在公式(9)中,M

进一步的,在确定了第三用户流量所要迁移的服务链(即第三服务链)之后,还需确定第三服务链对应的目标标识,并在目标标识为预设标识的情况下,确定第三用户流量为目标用户流量,第三服务链为目标服务链,其中,目标标识表征第三用户流量是否迁移至第三服务链,上述的目标标识即为

作为一个示例,在第三约束条件下,可基于预设的线性规划算法计算第三服务链对应的初始标识,并对初始标识进行多阶段的取整计算,得到目标标识。其中,第三约束条件包括如下至少之一:限定第三用户流量的服务暂停时间小于暂停时间阈值的约束条件(如公式2);限定虚拟网络所包含的云节点的最大数据包缓存数量的约束条件(如公式3);限定最小化迁移后的VNF实例负载比率的约束条件;限定第三服务链的资源容量信息的约束条件(如公式5);限定第三用户流量所对应的服务链的数量的约束条件(如公式6)。

其中,限定最小化迁移后的VNF实例负载比率的约束条件可通过下式表示:

在公式(10)中,

需要说明的是,由第三约束条件可知,在负载均衡迁移场景下的约束条件与扩容迁移场景下的约束条件类似,不同之处为负载均衡场景下的VNF实例的负载上限阈值不再为固定值,而是取决于VNF实例负载比率的优化结果。

另外,对于负载均衡迁移场景,考虑到公式9中不同优化目标间的取舍,很难设计出一套启发式算法来获取近似最优的流量迁移方案。因此,为了同时保障迁移方案的最优性和求解效率,本申请采用近似算法来获取负载均衡迁移场景下的流量迁移方案。该近似算法首先将公式9中原始的ILP(Integer Linear Programming,整数线性规划)问题松弛成LP(Linear Programming,线性规划)问题以获取实数解(即一条用户流量可能被迁移到多条路径上),然后使用多阶段的取整算法(例如,两阶段取整算法)来获取最终的整数流量迁移方案(即一条流量只能被迁移到一条路径上)。其对应的算法伪代码如下:

输入:K,P

输出:

求解松弛后的公式(9)中定义的ILP问题以获取实数解

/>

由上述伪代码可知,在负载均衡迁移操作的算法中,将公式9中定义的负载均衡优化问题中

该算法可以采用现有的线性规划求解器在多项式时间内完成对线性松弛后的优化问题的求解,其求解结果为

在第一阶段的迭代过程中,需要考虑以下线性系统:

在公式(12)和公式(13)中,Am=b表示线性系统。

由于该线性系统是规范

m+α·r和m-β·r中的所有项都处于[0,1]之间;

每个m+α·r和m-β·r中的至少一项属于{0,1}。

在确定非零矢量r、正数α和β后,以

在迭代过程进入第二阶段后,可使用二分非独立取整算法来完成剩下的取整流程。首先构建二分图G=(K′,P

之后再执行以下随机取整步骤,这些步骤可以保证每次迭代过程中至少有一个变量被取整:

以概率

以概率

至此,完成了对不同的流量迁移算法的描述。

以下通过预先设定的数据集对本申请所提供的方法进行实验说明:

在进行验证实验之前,首先对用于实验数据集进行设置,该数据集的设置包括拓扑设置、VNF与SFC的设置以及流量数据的设置。

对于拓扑设置,本实验使用Cernet(包含41个节点和59条链路)和Uunet(包含49个节点和84条链路)两个拓扑进行实验。在每个拓扑中,随机选择若干个节点作为云节点,并将其他节点视为普通的交换节点。云节点的数量在[5,10]内随机选取,且云节点被分为资源充足型节点和资源受限型节点两类。其中,资源充足型节点允许向部署的VNF实例分配更多的计算资源,而资源受限型节点只能分配少量的计算资源给VNF实例。

需要说明的是,上述两种类型的云节点所分配计算资源的差异会影响运行在不同类型云节点上的VNF实例所能处理流量的流量处理容量。而拓扑中链路的转发时延从[3,70]毫秒范围内随机选择并设置,链路带宽容量则从[1,10]GB/s范围内随机选择并设置。

对于VNF与SFC的设置,本实验设置10种不同类型的VNF。对于每一种VNF,根据现有工作的测量结果,单条流量的VNF状态迁移时延将被随机设置在[1,50]毫秒范围内。而在设置VNF实例的流量处理容量时,如果VNF实例部署在资源充足型云节点上,则将其流量处理容量随机设置在[0.9,1.2]Gb/s范围内;如果VNF实例部署在资源受限型云节点上,其流量处理容量将被随机设置在[0.4,0.8]GB/s范围内。VNF的处理时延为一个常数,且其可随机设置在[1,5]毫秒范围内。在本实验中,每个云节点上均为每种类型的VNF分配随机数量的VNF实例,其数量范围为[1,5]。其中,大部分VNF实例将被设置为活跃状态,以便其能够随时处理流量;而剩余的非活跃VNF实例将在现有的活跃VNF实例无法容纳网络中的全部流量时被启动,以补充网络中VNF实例的处理容量。

需要说明的是,在本实验中,部署在网络中的任意2~5个不同的VNF可构成一个SFC,且此次实验中共考虑5种不同类型的SFC。为区分时延敏感型和时延容忍性SFC,在本实验中,为SFC设置不同的期望服务完成时间。对于时延敏感型SFC,其期望服务完成时间可在[80,200]毫秒范围内波动;而对于时延容忍型SFC,其期望服务完成时间可在[300,500]毫秒范围内波动。每条流量的平均数据包重定向时延将被设置为φ=0.5毫秒,同时交换节点上单条流表的部署时间将被设置为Γ=5毫秒。

对于流量数据的设置,本验证实验将使用两种流量模式来对不同算法的表现进行评估,即单组流量模式和连续流量模式,其中,单组流量模式使用多个独立的流量集合,以公平地评估不同算法在处理不同流量迁移事件时的流量迁移优化效果;而连续流量模式则使用一组随时间变化的流量集合,此模式主要用于评估不同算法在真实网络环境下的优化效果表现。

在单组流量模式中,流量的源-目的节点对和所需的SFC全部随机设置。流量的载荷长度服从80/20定律,即20%的具有较大载荷长度的流量可能占据全部流量的载荷总规模的80%以上,且流量的平均载荷长度为20KB;小流的流量载荷长度的变化范围将不超过10KB,而大流的载荷长度的变化范围为10KB到1MB。在进行对比实验前,可基于流量所需的SFC和原始网络拓扑构造出层次化拓扑,并应用Dijkstra算法在此层次化拓扑中寻找最短路径作为流量的初始路径。同时,此次实验将从增加流量载荷长度和减少流量载荷长度两个方面对流量的载荷大小进行调整。其中,在增加流量载荷长度时,扩容迁移事件将有可能被触发;而当流量的载荷长度减少时,缩容迁移事件将有可能被触发。而如果两种调整方式同时被使用,则可能会导致网络中的VNF实例发生负载不均衡,并由此触发负载均衡迁移事件。此次实验可生成若干组固定流量数量的流量集合,集合中的流量数量分别为[1×10

在连续流量模式中,本实验基于真实的校园网流量数据对流量参数进行设置。原始的流量数据从校园网中以NetFlow的格式进行采集,且流量数据的时间跨度为一天。具备相同源-目的IP对的流量数据视为一条流量,并统计每个单位时间内新到达网络的流量数量(一个单位时间为10分钟),归一化后的用户流量到达情况如图4所示。在图4中,X轴表示单位时间,Y轴表示归一化后的流量数量。在实验期间,归一化后的流量数量被等比放大200倍以模拟实际的流量到达数量。流量的源-目的节点、所需的SFC和流量的载荷长度的设置与单组流量模式的设置方式相同。但在连续流量模式中,每个流量均有自己的生存周期,生存周期的长度为随机设置。在流量的生存周期结束后,可认为该流量已经离开网络,而流量的到达和离开会触发流量迁移事件。由于本申请所提供的方法可处理三种不同的流量迁移事件,而其它现有的算法仅能处理一类调度事件。因此,在实验过程中,对三种现有的算法进行集合,由HFM算法负责处理扩容迁移事件,MSHOR算法负责处理缩容迁移事件,GRSS算法负责处理负载均衡迁移事件,结合后的算法被标识为CMP,用于与本申请所提供的方法(记为CFM)进行比对。

在完成对实验数据集的设置之后,还需设置比对算法,针对不同的流量迁移事件(即流量迁移操作),本实验选取不同的算法来进行性能对比评估。

对于扩容迁移场景,本实验选择HFM算法与CFM算法进行对比,在减少最大节点负载和路由重配置成本间进行取舍。在制定流量迁移决策时,HFM选择一组使用相同SFC服务的流量,将其从过载NFV节点迁移到新的目标NFV节点,直到原过载NFV节点的负载降低到期望负载之下。为使HFM算法能够在本实验环境中与CFM算法进行有效对比,并实现扩容迁移操作的目标,原HFM算法中的NFV节点视为仿真实验环境中的VNF实例,并且对于已经决定要迁移的SFC,只需从使用该SFC的流量集合中,选择能够保证将迁移后VNF实例的负载降到期望负载之下数量的流量进行迁移。最终,根据ψ

对于缩容迁移场景,由于目前无法找到专注于实现针对SFC缩容流量迁移进行优化的现有算法以进行对比,因此,本实验将一个最近的针对单个VNF实例流量迁移成本进行优化的算法扩展为针对SFC流量迁移的优化算法。此算法的原始优化目标为最小化对迁移流量路由时延和最大网络负载的影响,而在此扩展算法中,该工作中出故障物理设备将被视为缩容迁移操作中待关闭的VNF实例,当为待迁移流量选择路由路径时,其主要依据为最小化迁移前后流量路由时延和VNF实例负载的波动。该扩展算法在对比实验中标识为MSHOR。

对于负载均衡迁移场景,本实验选择两种算法在该场景中进行对比,其中,第一种算法是一个最近的代表性算法,其主要针对SFC中VNF实例间的负载均衡需求进行流量迁移优化,该算法在对比实验中标识为GRSS。在GRSS中,其主要优化目标为最小化最大VNF实例负载,同时其也会保证流量迁移的总完成时间不会超过固定阈值T,且迁移后的流量路由时延是可接受的。在本实验中,按照设置好的算法流程来对流量迁移进行优化,且流量迁移完成时间的约束阈值T将被设置为不超过7秒。第二种算法基于遗传算法设计完成,该算法首先使用启发式算法寻找一组流量迁移方案作为遗传算法的初始种群,之后对遗传算法进行多轮迭代来对种群进行杂交和变异操作,以提升种群的健康值,其中,可通过公式9来评估健康值。种群中具有最高健康值的个体将在最后一轮迭代结束后输出,作为最终的流量迁移方案。此算法在本实验中标识为GA。

在确定了比对算法之后,在进行实验之前,还需设置性能评价标准。其中,性能评价标准主要包括VNF实例负载比率、流量迁移成本、迁移后的流量路由成本和云节点中数据包缓存使用情况。

对于每一个VNF实例i,需通过统计经过该VNF实例的用户流量的流速率之和来计算该VNF实例的负载l

在确定了实验数据集、比对算法,并设置性能评价标准之后,即可进行实验。本实验主要从单组流量模式和连续流量模式两个模式下进行实验,并展示实验结果。

对于单组流量模式实验结果,在扩容迁移场景中,可以从图5至图8中观察到不同拓扑中流量迁移成本与迁移后流量路由成本(即SLA违背成本)的优化效果,其中,图5为在Uunet拓扑中,不同流量迁移算法下的流量迁移成本的示意图;图6为在Uunet拓扑中,不同流量迁移算法下的SLA违背成本的示意图;图7为在Cernet拓扑中,不同流量迁移算法下的流量迁移成本的示意图;图8为在Cernet拓扑中,不同流量迁移算法下的SLA违背成本的示意图。由图5至图8所示的实验结果可知,由于HFM没有根据流量的期望服务完成时间需求,对迁移后的流量路由成本进行优化,因此,CFM在Uunet拓扑中相比于HFM最多可以减少53.5%(平均可减少38.6%)的SLA违背成本,而在Cernet拓扑中相比于HFM最多可以减少43.2%(平均可减少29.8%)的SLA违背成本。而对于流量迁移成本,CFM与HFM可以实现类似的优化效果,两者各有自己的长处和短处。由于HFM更倾向于在流量重路由时最小化流量的VNF状态迁移成本以及额外的虚拟链路使用数量(可减少路由策略更新时延),因此,HFM算法可以在一定程度上减少流量的迁移时延,从而当网络中流量数量较少时,例如,在图5和图7中流量数量≤3×10

但由于HFM中流量迁移前后的路由路径差别不大,从而导致迁移后流量路由成本的优化效果并不理想。相比之下,CFM由于需要在流量迁移成本和迁移后路由成本间做取舍,而导致CFM无法实现更好的流量迁移成本优化效果。而当网络中流量数量增加后,需要考虑迁移更多的流量来减少过载VNF实例的负载。此时,由于HFM在确定流量迁移方案时并没有考虑流量的载荷长度,而导致HFM可能会迁出更多低载荷长度流量来减少VNF实例的负载,从而产生了更高的流量迁移成本。例如,在图5和图6中流量数量≥3×10

另一方面,相比于ILP获取的理论最优解,在Uunet拓扑中,CFM最多增加21.6%(平均增加14.3%)的流量迁移成本,同时最多增加13.9%(平均增加6.8%)的SLA违背成本。而在Cernet拓扑中,CFM最多增加32%(平均增加23.2%)的流量迁移成本,同时最多增加1.7%(平均增加1.1%)的SLA违背成本。但考虑到CFM中的启发式算法在实际环境中相比于ILP可以更快地获取流量迁移方案,因此,CFM与ILP间的优化效果差距处于可接受的范围内。

在缩容迁移场景中,可以从图9至图12中观察到不同拓扑中流量迁移成本与迁移后流量路由成本(即SLA违背成本)的优化效果,其中,图9为在Uunet拓扑中,不同流量迁移算法下的流量迁移成本的示意图;图10为在Uunet拓扑中,不同流量迁移算法下的SLA违背成本的示意图;图11为在Cernet拓扑中,不同流量迁移算法下的流量迁移成本的示意图;图12为在Cernet拓扑中,不同流量迁移算法下的SLA违背成本的示意图。由图9至图12所示的实验结果可知,与扩容迁移场景中的原因类似,MSHOR专注于最小化迁移前后流量路由时延的波动,而未考虑流量的服务完成时间需求,因此,CFM在两种拓扑中均可以实现比MSHOR更低的SLA违背成本。在该场景中,如果迁移前MSHOR中某条流量的实际路由时延远高于该流量的服务期望完成时间,则在迁移后由于流量路由时延的波动较小,因此,该流量的SLA违背成本没有得到有效地优化。由图9至图12所示的实验结果可以看出,CFM在Uunet拓扑中相比于MSHOR算法最多可以减少62.3%(平均可减少53.1%)的SLA违背成本,而在Cernet拓扑中则最多可减少64.2%(平均可减少51.6%)的SLA违背成本。而对于流量迁移成本,由于MSHOR专注于最小化迁移前后的流量路由时延波动,因此MSHOR中流量迁移前后的路由路径差别较小,从而导致较低的路由策略更新成本。因此,MSHOR在某些情况下可以实现比CFM更低的迁移成本(最多可减少10.4%),但在部分情况下两者实现的流量迁移成本相当。CFM与MSHOR间的平均流量迁移成本差距为-3.9%~0%,其中,负值意味着MSHOR实现了更低的迁移成本。在分析CFM与ILP的差距时,实验结果展示了两者在Uunet拓扑中的流量迁移成本间的差距最多为6.7%(平均为2%),而SLA违背成本间的差距最多为5.4%(平均为1%)。而在Cernet拓扑中,CFM与ILP在流量迁移成本和迁移后SLA违背成本的优化效果方面几乎不存在差距。

在负载均衡迁移场景中,主要是分析不同算法在最大VNF实例负载比率、流量迁移成本和迁移后SLA违背成本方面的优化效果。其中,图13至图18展示了在负载均衡迁移场景中的实验结果,图13为在Uunet拓扑中,不同流量迁移算法下的最大VNF实例负载比率的示意图;图14为在Uunet拓扑中,不同流量迁移算法下的流量迁移成本的示意图;图15为在Uunet拓扑中,不同流量迁移算法下的SLA违背成本的示意图;图16为在Cernet拓扑中,不同流量迁移算法下的最大VNF实例负载比率的示意图;图17为在Cernet拓扑中,不同流量迁移算法下的流量迁移成本的示意图;图18为在Cernet拓扑中,不同流量迁移算法下的SLA违背成本的示意图。根据图13至图18中展示的结果,可以发现GRSS能够实现最优的VNF实例负载比率优化。GRSS所实现的最大VNF实例负载比率在Uunet拓扑中相比于CFM最多可降低1.7%(平均可降低0.6%),而在Cernet拓扑中则最多可降低28.7%(平均可降低19.4%)。尽管GRSS能够比较好地对VNF实例负载进行优化,但它在流量迁移成本和SLA违背成本方面的优化效果则与CFM存在较大的差距。CFM在Uunet拓扑中相比于GRSS最多可以降低75%(平均可降低65.5%)的流量迁移成本,而在Cernet拓扑中最多可降低77.8%(平均可降低70.3%)的流量迁移成本。对于迁移后的SLA违背成本,CFM相比GRSS在Uunet拓扑中最多可降低50.5%(平均可降低43.2%),而在Cernet拓扑中最多可降低79.4%(平均可降低69.4%)。

需要说明的是,由于CFM对VNF实例负载、流量迁移成本和SLA违背成本进行联合优化,而且,根据图13至图18所展示的结果可以获知,CFM通过牺牲一定的VNF实例负载的优化效果来尽可能地减少迁移成本和SLA违背成本。相比之下,由于GRSS只专注于优化VNF实例的负载,从而导致网络中更多的流量被迁移,进而产生更多的迁移成本,且GRSS并未考虑结合流量对期望服务完成时间的需求对迁移后的流量路由时延进行优化。

由图13至图18所展示的实验结果可知,GA具有最高的VNF实例负载比率,其与CFM间的差距为10.2%~17.7%。而对于流量迁移成本和SLA违背成本,GA能够实现比GRSS更好的优化效果,但其优化效果低于CFM。相比于CFM实现的流量迁移成本,GA与CFM的差距为13%~46.1%,而对于SLA违背成本,GA与CFM的差距为0.9%~17.2%。GA算法很难在有限轮数的迭代过程后输出一个理想的流量迁移方案,尤其是在可探索的迁移方案种类过多的情况下,GA算法的优化效果会更糟糕。虽然可通过增加迭代轮数的方式来提升GA的优化效果,但增加迭代轮数后GA的运行时间在实际应用中也是不可接受的。

另外,由于在CFM中采取了两阶段近似取整算法,可以发现CFM的优化效果与ILP所产生的理论最优解间的差距是十分有限的。由图13至图18所展示的实验结果可知,CFM与ILP间在最大VNF实例负载、流量迁移成本和SLA违背成本方面的优化效果的差距大约为1%,处于理论范围之内。除以上三种评价标准,本实验同样可评估数据包缓存容量的使用情况。

此外,图19为在Uunet拓扑中,不同流量迁移算法下的缓存使用量对比图,图20为在Cernet拓扑中,不同流量迁移算法下的缓存使用量对比图。由于CFM考虑了缓存容量限制,而GRSS未限制缓存的使用,因此,在GRSS为了实现更好VNF实例负载优化效果而迁移大量流量的前提下,GRSS的数据包缓存容量也占用的特别多。由图19和图20中展示的实验结果可知,CFM可实现最低的缓存使用量。在实际环境中,过多的数据包缓存量也易导致更高的数据包重定向时延,从而影响流量的迁移效率以及网络服务质量。

对于连续流量模式实验结果,本实验主要评估了在一个时间周期内最大VNF实例负载、流量迁移成本和SLA违背成本的变化情况,以及各种成本的概率分布情况。图21至图23展示了各种成本的具体值,而图24至图26则展示了成本的CDF(CumulativeDistribution Function,累积分布函数),其中,图21为在Uunet拓扑中,不同流量迁移算法下的最大VNF实例负载比率的对比图;图22为在Uunet拓扑中,不同流量迁移算法下的流量迁移成本的对比图;图23为在Uunet拓扑中,不同流量迁移算法下的SLA违背成本的对比图;图24为在Cernet拓扑中,不同流量迁移算法下的最大VNF实例负载比率的概率分布图;图25为在Cernet拓扑中,不同流量迁移算法下的流量迁移成本的概率分布图;图26为在Cernet拓扑中,不同流量迁移算法下的SLA违背成本的概率分布图。

由图21至图26所展示的实验结果可知,CFM相比于CMP可以实现更低的SLA违背成本,尤其是在网络中流量数量较多时(例如图23中的50~80时刻)。CFM在大部分情况下相比于CMP同样可以实现更低的流量迁移成本,而且,CFM与ILP在各项评价标准下几乎不存在明显的优化效果差距,CDF图同样表明了在整个时间周期内CFM和ILP针对各项指标的优化效果的概率分布基本是一致的。

基于上述实验结果分析可知,由于CFM可在迁移过程中对流量迁移成本、迁移后流量路由成本和VNF实例负载进行联合优化,而且CFM可根据流量对期望服务完成时间的需求,对迁移后的流量路由成本进行针对性的优化,因此,CFM可实现与现有工作类似的流量迁移成本和最大VNF实例负载优化效果,但可降低迁移后的流量路由成本(即SLA违背成本)。

本申请实施例还提供一种基于服务链的流量迁移装置,如图27所示,该装置270包括:流量获取模块2701、链路确定模块2702以及流量迁移模块2703。

其中,流量获取模块2701,用于获取流经目标VNF实例的多个用户流量,其中,目标VNF实例为部署在虚拟网络中需进行流量迁移的实例;

链路确定模块2702,用于根据每个用户流量对应的流量迁移成本以及流量路由成本,从多个用户流量中确定待迁移的目标用户流量,以及目标用户流量所对应的目标服务链,其中,流量路由成本用于表征流量迁移后的虚拟网络的网络性能,目标服务链为目标用户流量所流经的多个VNF实例组成的链序集合;

流量迁移模块2703,用于将目标用户流量迁移至目标服务链中。

作为一个示例,基于服务链的流量迁移装置还包括:

信息获取模块,用于获取第一VNF实例的负载状态信息和运行状态信息,其中,负载状态信息至少包括第一VNF实例的第一实际负载以及第一VNF实例对应的实际负载方差,运行状态信息至少包括第一VNF实例的异常运行状态和升级运行状态,第一VNF实例为部署在虚拟网络中的多个VNF实例中的任意一个实例,第一VNF实例对应的实际负载方差为包含第一VNF实例的VNF实例组所对应的负载方差,VNF实例组为包含相同VNF实例类型的VNF实例组合;

第一确定模块,用于若第一VNF实例的第一实际负载大于或等于负载上限阈值,确定第一VNF实例为目标VNF实例,并确定目标VNF实例对应的流量迁移类型为扩容迁移类型;

第二确定模块,用于若第一VNF实例的第一实际负载小于或等于负载下限阈值,确定第一VNF实例为目标VNF实例,并确定目标VNF实例对应的流量迁移类型为缩容迁移类型;

第三确定模块,用于若第一VNF实例对应的实际负载方差大于或等于负载方差阈值,确定第一VNF实例为目标VNF实例,并确定目标VNF实例对应的流量迁移类型为负载均衡迁移类型;

第四确定模块,用于若第一VNF实例处于异常运行状态,确定第一VNF实例为目标VNF实例,并确定目标VNF实例对应的流量迁移类型为异常迁移类型;

第五确定模块,用于若第一VNF实例处于升级运行状态,确定第一VNF实例为目标VNF实例,并确定目标VNF实例对应的流量迁移类型为升级迁移类型。

作为一个示例,在流量迁移类型为扩容迁移类型的情况下,链路确定模块具体用于获取第一用户流量所对应的多条候选服务链,其中,第一用户流量为多个用户流量中的任意一个;计算每条候选服务链的流量迁移成本与流量路由成本之和,得到第一目标迁移成本;从多条候选服务链中确定第一目标迁移成本最小的候选服务链,得到第一用户流量对应的第一服务链;计算第一用户流量迁移至第一服务链后,目标VNF实例的负载状态;在目标VNF实例的负载状态满足预设条件的情况下,确定第一用户流量为目标用户流量,并确定第一服务链为目标服务链。

作为一个示例,链路确定模块还用于检测在将第一用户流量迁移至第一服务链之后,第一用户流量的流量状态以及虚拟网络的网络状态是否满足第一约束条件;在第一用户流量及虚拟网络的网络状态满足第一约束条件的情况下,获取在第一服务链中目标VNF实例的第二实际负载;在第二实际负载大于负载下限阈值,并小于负载上限阈值的情况下,确定第一用户流量为目标用户流量,第一服务链为目标服务链。

作为一个示例,第一约束条件包括如下至少之一:限定第一用户流量的服务暂停时间小于暂停时间阈值的约束条件;限定虚拟网络所包含的云节点的最大数据包缓存数量的约束条件;限定目标VNF实例的负载状态的约束条件;限定第一服务链的资源容量信息的约束条件;限定第一用户流量所对应的服务链的数量的约束条件。

作为一个示例,在流量迁移类型为缩容迁移类型、异常迁移类型及升级迁移类型中的任意之一的情况下,链路确定模块具体用于获取第二用户流量所对应的多条候选服务链,其中,第二用户流量为多个用户流量中的任意一个;计算每条候选服务链的流量迁移成本与流量路由成本之和,得到第二目标迁移成本;从多条候选服务链中确定第二目标迁移成本最小的候选服务链,得到第二用户流量对应的第二服务链;检测在将第二用户流量迁移至第二服务链之后,第二用户流量的流量状态以及虚拟网络的网络状态是否满足第二约束条件;在第二用户流量及虚拟网络的网络状态满足第二约束条件的情况下,确定第二用户流量为目标用户流量,第二服务链为目标服务链。

作为一个示例,第二约束条件包括如下至少之一:限定第二用户流量的服务暂停时间小于暂停时间阈值的约束条件;限定虚拟网络所包含的云节点的最大数据包缓存数量的约束条件;限定目标VNF实例的负载状态的约束条件;限定第二服务链的资源容量信息的约束条件;限定第二用户流量所对应的服务链的数量的约束条件;限定禁止用户流量经过处于关闭状态的VNF实例的约束条件。

作为一个示例,在流量迁移类型为负载均衡迁移类型的情况下,链路确定模块具体用于获取第三用户流量所对应的多条候选服务链,其中,第三用户流量为多个用户流量中的任意一个;计算每条候选服务链的流量迁移成本与流量路由成本之和,得到第三目标迁移成本;获取每条候选服务链所对应的最大VNF实例负载比率;计算第三目标迁移成本与最大VNF实例负载比率之和,得到目标结果;从多条候选服务链中确定目标结果最小的候选服务链,得到第三用户流量对应的第三服务链;确定第三服务链对应的目标标识,其中,目标标识表征第三用户流量是否迁移至第三服务链;在目标标识为预设标识的情况下,确定第三用户流量为目标用户流量,第三服务链为目标服务链。

作为一个示例,链路确定模块还用于在第三约束条件下,基于预设的线性规划算法计算第三服务链对应的初始标识;对初始标识进行多阶段的取整计算,得到目标标识。

作为一个示例,第三约束条件包括如下至少之一:限定第三用户流量的服务暂停时间小于暂停时间阈值的约束条件;限定虚拟网络所包含的云节点的最大数据包缓存数量的约束条件;限定最小化迁移后的VNF实例负载比率的约束条件;限定第三服务链的资源容量信息的约束条件;限定第三用户流量所对应的服务链的数量的约束条件。

本申请实施例提供的基于服务链的流量迁移装置能够实现前述方法实施例实现的各个过程,为避免重复,这里不再赘述。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

图28示出了本申请实施例提供的电子设备的硬件结构示意图。

电子设备可以包括处理器2801以及存储有计算机程序指令的存储器2802。

具体地,上述处理器2801可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。

存储器2802可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器2802可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器2802可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器2802可在综合网关容灾设备的内部或外部。在特定实施例中,存储器2802是非易失性固态存储器。

存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。

处理器2801通过读取并执行存储器2802中存储的计算机程序指令,以实现上述实施例中的任意一种基于服务链的流量迁移方法。

在一个示例中,电子设备还可包括通信接口2803和总线2810。其中,如图28所示,处理器2801、存储器2802、通信接口2803通过总线2810连接并完成相互间的通信。

通信接口2803,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。

总线2810包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线2810可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。

另外,结合上述实施例中的基于服务链的流量迁移方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种基于服务链的流量迁移方法。

另外,结合上述实施例中的基于服务链的流量迁移方法,本申请实施例可提供一种计算机程序产品来实现。该计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行实现如上述实施例中任意一种基于服务链的流量迁移方法。

需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上所述的结构框图中所示的功能模块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

上面参考根据本公开的实施例的基于服务链的流量迁移方法、装置、电子设备及存储介质的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。

以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。

相关技术
  • 基于区块链的交易验证方法、装置、存储介质及电子设备
  • 基于区块链的贷款审批方法、装置、存储介质及电子设备
  • 无人机迁移轨迹生成方法、装置、电子设备和存储介质
  • 一种容量迁移方法、装置、电子设备及存储介质
  • 加密恶意流量检测方法、装置、电子设备及存储介质
  • 一种服务链流量迁移方法、装置、终端设备及存储介质
  • 一种服务链流量迁移方法、装置、终端设备及存储介质
技术分类

06120116512620