基于纳什议价的SDN负载均衡方法、系统、设备及存储介质与流程

文档序号:23426231发布日期:2020-12-25 11:56阅读:197来源:国知局
基于纳什议价的SDN负载均衡方法、系统、设备及存储介质与流程

本发明涉及计算机网络领域,具体涉及一种基于纳什议价的sdn负载均衡方法、系统、设备及存储介质。



背景技术:

软件定义网络(softwaredefinednetworking,sdn)作为一种创新型网络体系架构,其核心技术openflow将网络控制与承载相分离,实现了对分布式转发设备的灵活集中管控,为核心网络及应用的创建提供了良好的平台。随着网络需求的日益增加,大量的数据流量从交换机等转发设备发送到控制平面,传统的单控制器架构受到自身性能和容量的约束,在网络安全性、可靠性、健壮性等方面面临极大挑战。因此,业界提出在原有单控制器架构的基础上建立逻辑集中物理分布的多控制器架构。这种架构需要在控制平面部署多个控制器,并为每个控制器划分合适的子域,各控制器负责集中管理其域内的交换机,多个控制器之间相互协作,实现高效的网络管理。然而多控制器部署是一种静态的网络架构,交换机与控制器节点形成固定的网络拓扑,无法适应网络中流量的动态变化。若域内交换机的流量在某个时段骤增或骤减,引起控制器间的负载差异悬殊,就会使多控制器网络架构负载不均衡,造成高丢包率、高延迟、低吞吐量等网络性能下降的问题。

负载失衡问题严重影响整个网络的性能。因此,近年来,sdn多控制器负载均衡问题成为研究热点。目前的研究主要有两个方面:一是从过载控制器上选择一个合适的交换机迁移到轻载控制器实现负载均衡。虽然该方法减少了迁移次数,但容易造成负载振荡。二是多目标优化,但是无法公平权衡相互矛盾的目标和多目标智能优化算法无法得到最优解的缺点。



技术实现要素:

有鉴于此,本申请实施例致力于提供一种基于纳什议价的sdn负载均衡方法、系统、设备及存储介质,首先将交换机迁移问题转变为网络映射关系重构问题,然后建立纳什议价博弈模型公平优化迁移代价和负载均衡度两个相互矛盾的目标,最后用改进的萤火虫算法对模型进行求解,得到最优的网络重构状态。

本发明一方面的实施例提供一种基于纳什议价的sdn负载均衡方法,包括:获取原始的网络拓扑结构,建立连通性约束,生成交换机与控制器的重构网络映射矩阵;以重构网络映射矩阵作为策略空间,对纳什议价博弈模型中建立的目标函数进行求解;所述目标函数包括负载均衡度收益函数与迁移代价收益函数复合后形成的评价函数和多个约束条件;所述目标函数表示各个博弈方在策略空间内不断议价协商,其中,负载均衡度为一个博弈方;迁移代价为另一个博弈方;

对目标函数进行求解时采用改进后的萤火虫优化算法进行求解;计算帕累托最优解,得到纳什均衡解。

优选的,连通性约束,在设立时,包括以下参数中的任意一种或多种:待迁移交换机与目标控制器之间的最小跳数、数据传输速率、控制器容量、最大迭代次数。

在上述任意一项实施例中优选的,在构建的所述纳什议价博弈模型中,两个博弈方的收益函数复合形成的评价函数为max(lbd-albd)(cost-acost)其中,lbd为负载均衡度作为博弈方的收益函数,cost为迁移代价作为博弈方的收益函数;albd和acost分别为负载均衡度和迁移代价的议价破裂点。

在上述任意一项实施例的基础上优选的,

所述负载均衡度的收益函数为:

其中,为控制器的平均负载,σ为标准差lbd表示负载均衡度;

所述迁移代价的收益函数为:

其中,为交换机迁移代价,mk表示交换机sk是否发生迁移,且满足

在上述任意一项实施例中优选的,还包括在所述纳什议价博弈模型中建立公平议价协议,所述公平议价协议包括制定初始议价破裂点约束条件和议价破裂点的更新约束条件。

在上述任意一项实施例中优选的,所述初始议价破裂点约束条件为不低于负载均衡度和迁移代价的最低门限值;

所述议价破裂点的更新约束条件为:

其中,为上一次负载均衡度议价破裂点,lbdk-1为当前负载均衡度收益;为上一次迁移代价的议价破裂点,costk-1为当前迁移代价的收益。

在上述任意一项实施例中优选的,采用改进的萤火虫算法进行求解时,包括以下步骤:

s1、在满足约束的前提下,初始化萤火虫位置、初始化议价破裂点albd和acost、初始化萤火虫种群数以及最大迭代次数iiter;

s2、根据博弈模型目标函数确定对应的萤火虫亮度,保存亮度最大的个体celite;

s3、根据混沌理论和萤火虫位置式,更新萤火虫位置;

s4、计算位置更新后各萤火虫的亮度,用亮度最大的个体celite替换亮度最差的个体;

s5、判断亮度最大和最差个体的差值是否小于常数ζ,若是,则按议价破裂点更新约束条件式,更新当前议价破裂点,否则循环执行步骤2-4;

s6、终止条件判断,若达到最大迭代次数iiter,则结束循环,输出最优萤火虫位置,否则继续执行步骤2-4。

本发明还提供一种基于纳什议价的sdn负载均衡均衡系统,用于实施上述方法,包括网络映射重构模块、纳什议价博弈模型和优化求解模块;

所述网络映射重构模块,用于获取原始的网络拓扑结构,建立连通性约束,生成交换机与控制器的重构网络映射矩阵;并将生成的重构网络映射矩阵发送至纳什议价博弈模型;

所述纳什议价博弈模型以重构网络映射矩阵作为策略空间,对纳什议价博弈模型中建立的目标函数进行求解;所述目标函数包括负载均衡度收益函数与迁移代价收益函数复合后形成的评价函数和多个约束条件;所述目标函数表示各个博弈方在策略空间内不断议价协商,其中,负载均衡度为一个博弈方;迁移代价为另一个博弈方;

所述优化求解模块对目标函数求解时采用改进后的萤火虫优化算法进行求解;计算帕累托最优解,得到纳什均衡解。

本发明提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述基于纳什议价的sdn负载均衡方法。

本发明提供一种电子设备,所述电子设备包括:处理器以及用于存储所述处理器可执行指令的存储器;所述处理器,用于执行上述基于纳什议价的sdn负载均衡方法。

本申请实施例提供的一种基于纳什议价的sdn负载均衡方法、系统、设备及存储介质,相比于现有技术至少具有以下优点:

首先,将交换机迁移问题等价为网络重构问题,基于纳什议价博弈模型对负载均衡度和迁移代价两个矛盾指标进行建模,并结合网络设备间的连通性构建策略集,避免了理想化的重构状态。然后,提出了改进的萤火虫算法对模型进行求解。最后基于仿真场景进行实验研究,并与其他优化算法进行对比,实验结果表明,本算法可以公平权衡负载均衡度和迁移代价,并可快速得到帕累托最优解,验证了本策略的有效性。

附图说明

图1所示为本申请一实施例提供的一种基于纳什议价的sdn负载均衡方法的流程图;

图2所示为本申请一实施例提供的一种基于纳什议价的sdn负载均衡方法中多控制器拓扑结构;

图3所示为本申请一实施例提供的一种萤火虫优化算法流程图;

图4所示为本申请另一实施例提供的一种基于纳什议价的sdn负载均衡系统结构图;

图5所示为本申请提供的基于纳什议价的sdn负载均衡系统中os3e网络中负载均衡度对比图;

图6所示为本申请提供的基于纳什议价的sdn负载均衡系统中columbus网络中负载均衡度对比图;

图7所示为本申请提供的基于纳什议价的sdn负载均衡系统中os3e网络中控制器平均响应时间图;

图8所示为本申请提供的基于纳什议价的sdn负载均衡系统中columbus网络中控制器平均响应时间;

图9所示为本申请提供的基于纳什议价的sdn负载均衡系统中os3e网络中网络迁移代价对比图;

图10所示为本申请提供的基于纳什议价的sdn负载均衡系统中columbus网络中网络迁移代价对比图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

此外,在示例性实施例中,因为相同的参考标记表示具有相同结构的相同部件或相同方法的相同步骤,如果示例性地描述了一实施例,则在其他示例性实施例中仅描述与已描述实施例不同的结构或方法。

在整个说明书及权利要求书中,当一个部件描述为“连接”到另一部件,该一个部件可以“直接连接”到另一部件,或者通过第三部件“电连接”到另一部件。此外,除非明确地进行相反的描述,术语“包括”及其相应术语应仅理解为包括所述部件,而不应该理解为排除任何其他部件。

如图1所示,本发明提供一种基于纳什议价的sdn负载均衡方法,包括:

获取原始的网络拓扑结构,建立连通性约束,生成交换机与控制器的重构网络映射矩阵;

以重构网络映射矩阵作为策略空间,对纳什议价博弈模型中建立的目标函数进行求解;所述目标函数包括负载均衡度收益函数与迁移代价收益函数复合后形成的评价函数和多个约束条件;所述目标函数表示各个博弈方在策略空间内不断议价协商,其中,负载均衡度为一个博弈方;迁移代价为另一个博弈方;对目标函数进行求解时采用改进后的萤火虫优化算法进行求解;得到帕累托最优解,实现sdn负载均衡。

在本申请的一个实施例中,所述连通性约束,在设立时,包括以下参数中的任意一种或多种:待迁移交换机与目标控制器之间的最小跳数、数据传输速率、控制器容量、最大迭代次数。

实施例1

首先对交换机迁移过程进行分析,通过研究发现节点连通性是交换机迁移不可忽视的一个影响因素。然后在网络节点连通性的基础上,对网络重构后的负载均衡度和迁移代价进行分析、建模,并给出了参数定义以及相关计算。

openflow定义了控制器具有master,equal和slave三种不同的角色,一旦master控制器故障或过载,其管理的交换机便可迁移到slave控制器,避免控制器宕机。

如在多控制器拓扑结构图2中,控制域2中的交换机流量激增,使得控制器c2过载,基于交换机迁移的思想,可将控制域2中的交换机s1迁移到slave控制器c1,c3,c4,然而s1与控制域4中的所有域内交换机均无连通。实际上,s1迁移到c4只是一种理想状况,在现实网络中是无法实现迁移的。因此考虑实际网络拓扑节点之间的连通性,交换机s1只能迁移到slave控制器c1或c3。

如何在节点连通性的基础上,选择最优的网络重构状态,便是本专利着重解决的问题。假设根据本专利算法,优化负载均衡度和迁移代价两个性能指标,过载控制器c2选择将s1迁移到控制器c1,来缓解自身的负载压力。则控制器c2首先向s1安装流规则,然后s1通过s2向控制器c1转发迁移请求,最后,c1接受迁移请求,将slave角色修改为master,s1的主控制器由c2转换为c1,完成迁移操作。

下面将以具体实施例说明纳什议价博弈模型的建立过程。

1、进行网络参数定义。多控制器网络一般采用带内通信模式,即交换机与控制器被部署在同一节点,且控制流与数据流使用相同的信道进行传送。根据图论的相关知识,将sdn建模成一个无向图g={v,e}。在网络g中,v表示控制器和交换机节点集。e表示节点间的链路集。假设网络中控制器有m个,控制器集合表示为c={c1,c2,...,cm},容量为ωi。交换机有n个,交换机集合表示为s={s1,s2,...,sn}。每个控制器及其管理的交换机组成一个子域,不同域之间的控制器相互通信,共享同一个网络视图,且网络中每个交换机只有一个master控制器和任意n个slave控制器。主要参数的详细说明如表1所示:

表1网络参数及说明

为了详细阐述交换机的迁移过程,对网络中的相关参数进行如下定义。

定义1映射矩阵。控制器与域内交换机之间的连接关系定义为映射矩阵x=[xki]m×n,其中xki=1表示交换机sk由控制器ci管理,xki=0表示不由ci管理,且一个交换机只能被一个控制器管理,即满足

定义2节点连通性。两个节点之间的连通关系表示为λ=[aij]m×n,其中aij=1,则表示节点si与sj之间具有连接关系,若aij=0则表示两个节点不具有连接关系。

交换机迁移的目的是要有效均衡控制平面负载,然而交换机迁移也会造成过高的迁移代价问题,因此本申请着重考虑网络重构后的负载均衡度和迁移代价问题,并对两个性能指标进行了详细描述。

2、负载均衡度计算

当未知流进入交换机时,需要向控制器发送packet-in数据包,询问转发策略,控制器响应交换机请求,下发流表项,向交换机安装新的路由规则。控制器负载主要由维护管理域信息、流表安装和域间控制器同步开销三部分组成。

维护管理域信息:sdn网络架构中,分布式控制器对交换机进行集中管理,为了维护全局网络信息,控制器需要与交换机进行周期性通信,收集其管理域内交换机的流量,跳数等信息。如(式1)所示,维护管理域所需流量与轮询交换机速率、交换机与控制器间连接关系和设备间跳数有关。其中,表示控制器ci维护管理域所需流量,υ表示控制域内控制器轮询交换机的平均速率,xki表示交换机sk与控制器ci之间的连接关系,dki表示设备k与i之间的跳数。

流表安装开销:当有新流到达交换机时,交换机向控制器发送流请求,控制器制定流表规则,下发到相应交换机产生的流表安装开销如式(2)所示。其中,表示控制器ci产生的流表安装开销,λk表示交换机sk的流请求速率。

域间控制器同步开销:数据流流经不同的控制域时,控制器之间需要进行状态同步,以维护sdn全局网络视图的一致性。此过程产生的域间控制器同步开销如式(式3)所示。其中,表示控制器ci的域间控制器同步开销,τ表示轮询控制器的平均速率,因控制器不会同步交换机的全部信息,所以τ<υ。

控制器ci的负载为以上三部分的线性加合,如式(式4)所示:

控制器的平均负载如式(式5)所示:

统计学中,通常用变异系数刻画数据之间离散程度,表示为数据标准差与平均值的比值,是概率分布离散程度的归一化度量。因此在sdn中借助其来衡量控制器的负载均衡程度,如式(7)所示。其中,σ表示标准差,lbd表示负载均衡度,lbd值越大,负载越均衡。

3、迁移代价计算

交换机迁移虽然能有效均衡负载,但不可避免地带来额外的迁移代价。过载控制器向域内交换机发出迁移命令,并将迁移规则安装到待迁移交换机,待迁移交换机通过其他管理域的设备将此规则转发给目标控制器,发出迁移请求。交换机迁移代价主要由交换机通信代价和迁移请求代价组成。

通信代价:交换机通信代价主要是指待迁移交换机传输的数据经过不同域内的设备,到达目标控制器所产生的正常通信代价。如(式8)所示。其中,θ表示交换机通信的平均传输速率,dki表示待迁移交换机sk与过载控制器ci之间的跳数,dkj表示待迁移交换机sk与目标控制器cj之间的跳数。

迁移请求代价:交换机通过最短路径向目标控制器发送迁移请求所产生的代价,主要与待迁移交换机与目标控制器之间的最小跳数和数据传输速率有关,如式(9)所示。其中,mindkj表示待迁移交换机sk与目标控制器之间的最小跳数。

交换机迁移代价为交换机通信代价和迁移请求代价的线性加和,如式(10)所示。

sdn控制平面所产生的迁移代价,可能由多个交换机的迁移代价组成,表示为交换机与控制器之间的映射状态转变为更优的网络拓扑状态所产生的代价。若调整后的网络映射关系为x=[xki]m×n,则网络从状态x'=[x'ki]m×n到x=[xki]m×n产生的总代价如式(11)所示。其中,mk表示交换机sk是否发生迁移,且满足

通过交换机迁移改变网络映射关系,提高控制平面可扩展性,需要优化两方面性能:一方面是提高控制器负载均衡度;另一方面是降低交换机迁移代价。由于这是两个相互矛盾的目标,优化其中的一个目标必然会损害另一个目标的性能。基于此,建立多目标模型如式(12)所示。

lj≤δjωj;1≤j≤m(式13)

xkj∈{0,1};1≤k≤n,1≤j≤m(式14)

δj表示控制器cj的阈值因子,约束条件(13)表示交换机迁移后,各控制器的负载不得超过阈值;约束条件(14)表示迁移后的映射关系;约束条件(15)表示一个交换机只能有一个master控制器。

4、构建纳什议价模型

常用的求解多目标优化问题的方法有两种:第一种是为各个子目标设置权值,以一定的数学方法转换成聚合函数,将多目标转化成单目标问题进行求解。然而,各个目标之间的量纲和数量级可能并不相同,很难根据经验为各个目标设置合理权重,即无法实现两个矛盾目标的公平折衷。第二种是利用智能优化算法进行寻优,该类方法得到的是近似最优的非劣解集,无法得到精确的最优解。故而,引入纳什议价博弈方法。纳什议价博弈属于经典的合作博弈,它不再需要为各目标设定权重,各个目标具有同等重要程度,侧重于集体理性和公平性,并能得到帕累托最优值,是研究具有竞争或冲突问题的有效数学工具,为多目标优化问题提供了新的解决思路。

纳什提出采用纳什议价模型来解决合作博弈问题,首先将不同的目标视为不同的博弈方,设置初始策略和收益函数,各个博弈方在策略空间内不断议价协商,最后得到纳什均衡解。该解具有帕累托有效性、等价收益不变性和无关选择独立性。纳什采用纳什积代表全局收益,并证明了纳什积的最大解即为纳什均衡解,该解落在帕累托前沿,可实现多个目标的公平性以及全局最优性。用g表示一个博弈,假设g有m个博弈参与者p1,p2,...,pm,每个博弈参与者在策略空间内所有可选择的策略称为策略集,s1,s2,...,sm,博弈参与者根据所选择的策略获得的收益函数表示为u1,u2,...,um,则博弈g可表示为g={p1,p2,...,pm;s1,s2,...,sm;u1,u2,...,um}。

交换机迁移可等价看成网络中交换机与控制器连接关系的重新映射问题。实际网络中,交换机并非与所有的控制器都能形成映射关系。如果不考虑节点设备间的连通性,得到的新映射关系只能是一种理想状态。基于上述考虑,交换机的重新映射即策略集需要满足连通性约束。如式(16)所示。其中,x′kj为交换机sk与控制器cj的原始映射关系,xkj为网络重构后的映射关系,如果控制器ci域内的交换机sk与控制器cj域内的任一交换机ss具有连通性,则交换机sk可以与控制器cj形成新的连接关系即xkj=1也可以保持原来的映射关系即xkj=0。如果不具备连通性,则无法实现交换机迁移,即xkj只能取值为0。

本申请将负载均衡度和迁移代价视为两个博弈方,lbd和cost分别是两个博弈方的收益函数,交换机与控制器之间可能的映射关系作为博弈双方的策略空间,建立纳什议价博弈模型如式(17)所示。其中,albd和acost分别为负载均衡度和迁移代价的议价破裂点,即博弈双方可能得到的最差收益。博弈的目标是至少在此破裂点上达成博弈一致。

max(lbd-albd)(cost-acost)(式17)

因此综上所述该复合函数的约束条件至少包括一下几点:

lj≤δωj;1≤j≤m(式13)

albd≤lbd(式18)

acost≤cost(式19)

在博弈过程中,每个博弈参与者会倾向于改变自己的破裂点来提高自身收益。如果对这种自私行为不做限制,每个参与者都会不断改变破裂点值,导致议价失败。为避免议价失败需要为博弈参与者制定议价协议,使博弈公平有序进行。博弈参与者在遵循协议的前提下,经过多次博弈找到最优的谈价破裂点,进而得到博弈双方的最大收益,即负载均衡度和迁移代价的最优值。

在构建的所述纳什议价博弈模型中,两个博弈方的收益函数复合形成的评价函数为max(lbd-albd)(cost-acost)(式17)其中,lbd为负载均衡度作为博弈方的收益函数,cost为迁移代价作为博弈方的收益函数;albd和acost分别为负载均衡度和迁移代价的议价破裂点。

所述负载均衡度的收益函数为:

其中,为控制器的平均负载,σ为标准差lbd表示负载均衡度;

所述迁移代价的收益函数为:

其中,psk为交换机迁移代价,mk表示交换机sk是否发生迁移,且满足

在所述纳什议价博弈模型中建立公平议价协议,所述公平议价协议包括制定初始议价破裂点约束条件和议价破裂点的更新约束条件。

在上述任意一项实施例中优选的,所述初始议价破裂点约束条件为不低于负载均衡度和迁移代价的最低门限值;

所述议价破裂点的更新约束条件为:

其中,为上一次负载均衡度议价破裂点,lbdk-1为当前负载均衡度收益;为上一次迁移代价的议价破裂点,costk-1为当前迁移代价的收益。

下面将以具体实施例对公平议价协议进行描述:

实施例3,公平议价协议主要是对初始议价破裂点和议价破裂点的更新制定规则性约束。

(1)初始议价破裂点

在博弈开始时,需要为博弈参与者设置初始议价破裂点,也可以将该破裂点看做负载均衡度和迁移代价的最低性能门限。根据式(4)很容易得到最优和最差负载均衡度(lbdbest,lbdworst),根据式(10)得到最优和最差迁移代价(costbest,costworst)。因此,将负载均衡度和迁移代价的最差目标作为议价破裂点(lbdworst,costworst),在该最低性能门限的基础上进行讨价还价博弈。

(2)更新议价破裂点

为了避免博弈参与者无限制地改变自已的议价破裂点,以获得最大收益的自私行为,设置了每个博弈参与者必须遵守的更新协议。即,当博弈参与者更新自己的议价破裂点时,议价破裂点的变化量最多为当前收益与上一次议价破裂点的差值的一半。如式(23)和(24)所示。其中,分别为第k次迭代过程中负载均衡度和迁移代价的谈价破裂点。

模型求解

如图3所示,采用改进的萤火虫算法进行求解时,包括以下步骤:

s1、在满足约束的前提下,初始化萤火虫位置、初始化议价破裂点albd和acost、初始化萤火虫种群数以及最大迭代次数iiter;

s2、根据博弈模型目标函数确定对应的萤火虫亮度,保存亮度最大的个体celite;

s3、根据混沌理论和萤火虫位置式,更新萤火虫位置;

s4、计算位置更新后各萤火虫的亮度,用亮度最大的个体celite替换亮度最差的个体;

s5、判断亮度最大和最差个体的差值是否小于常数ζ,若是,则按议价破裂点更新约束条件式,更新当前议价破裂点,否则循环执行步骤2-4;

s6、终止条件判断,若达到最大迭代次数iiter,则结束循环,输出最优萤火虫位置,否则继续执行步骤2-4。

采用改进后的萤火虫算法对模型进行求解。

首先,常用的萤火虫算法是一种随机非线性全局搜索算法,结构简单、参数少、易实现,具有较快的搜索速度和较高的寻优精度,适合用于求解本专利模型。

a)基本萤火虫优化算法

萤火虫算法是一种仿生优化算法,原理是:用搜索空间中的点模拟萤火虫个体,每个个体具备亮度和吸引度,由于萤火虫的趋光特性,萤火虫会向亮度大的个体移动。其核心是通过不断更新萤火虫的位置,使其靠近亮度更大的个体。

结合sdn负载均衡问题,将策略空间中的策略集,即交换机与控制器之间的映射关系视为萤火虫所在的位置,以式(16)纳什议价博弈的目标函数视为萤火虫亮度,亮度小的个体会向亮度大的个体移动,萤火虫不断移动过程即为目标寻优过程。各萤火虫的亮度如下:i(xi)=(lbd-albd)(cost-acost),i(xi)为第i个萤火虫的亮度,xi为第i个萤火虫的位置,d为问题维数。

若萤火虫i的亮度大于萤火虫j的亮度,则萤火虫j受到i的吸引。i对j的吸引力αij计算式为:

式中αmax为最大吸引力,r为光吸收系数,rij为萤火虫i与萤火虫j之间的笛卡尔距离,即

萤火虫j受到i的吸引,会向i移动,其位置更新式为:

式中为萤火虫j在第k次迭代过程中的位置,为随机扰动项,为常数,εj是由均匀分布得到的随机数。

b)改进算法

虽然萤火虫算法在全局寻优方面表现出了较好的性能优势,但也存在早熟,易陷入局部最优等缺陷。本专利引入混沌理论和精英保留策略,对传统萤火虫算法进行改进。

(1)混沌理论

混沌是自然界中一种非线性现象,具有随机、非周期等特性,logistic映射是研究混沌系统的一个经典模型,它能在一定范围内不加重复的遍历所有状态,将混沌理论中的logistic映射引入萤火虫优化算法,对随机扰动参数εj进行优化,可改善早熟现象,提高全局寻优能力。logistic迭代过程的数学表达形式为:

xk=uxk-1(1-xk-1)(式27)

对εj的改进为:

设置混沌参数u=4,εj∈[0,1]。在每次迭代过程中logistic映射都会产生随机函数,实现了对参数的动态控制,可提高萤火虫算法的全局搜索能力。

(2)精英策略

为防止获得的帕累托最优解丢失,借鉴遗传算法中的精英保留策略,在每次迭代过程中,保留最优解,然后利用该最优解替换掉下一次迭代中的萤火虫个体,确保最优解不会丢失,加快收敛速度。具体步骤如下:

(1)初始化各参数值;

(2)在满足约束的前提下,初始化萤火虫位置;

(3)根据目标函数,初始化对应的亮度i;

(4)保存使亮度最大的最优解celite;

(5)更新萤火虫位置,迭代次数加1;

(6)用celite替代具有最差解的个体;

(7)根据目标函数,计算对应的亮度i;

(8)检验是否达到最大迭代次数,是则结束搜索,否则转到步骤(4)。

b)sdn网络重构算法

通过交换机迁移来均衡控制平面负载,必然会重构交换机与控制器之间的映射关系。为了优化网络性能,需要找到一种新的映射关系使负载均衡度和迁移代价都得到优化。依据这一思想建立纳什议价模型,结合纳什议价博弈过程和萤火虫算法的寻优机制,求解博弈参与者的最优策略,得到帕累托最优解。具体的优化过程如下表所示。

表2:sdn网络重构算法

如图4所示,本发明还提供一种基于纳什议价的sdn负载均衡均衡系统,用于实施上述方法,包括网络映射重构模块、纳什议价博弈模型和优化求解模块;

所述网络映射重构模块,用于获取原始的网络拓扑结构,建立连通性约束,生成交换机与控制器的重构网络映射矩阵;并将生成的重构网络映射矩阵发送至纳什议价博弈模型;

所述纳什议价博弈模型以重构网络映射矩阵作为策略空间,对纳什议价博弈模型中建立的目标函数进行求解;

所述优化求解模块求解时采用改进后的萤火虫优化算法进行求解;得到帕累托最优解,实现sdn负载均衡。

在一个实施例中,网络映射重构模块包括初始网络映射获取单元,连通性约束单元,重构网络映射矩阵单元,其中,初始网络映射获取单元用于获取原始的网络拓扑结构,连通性约束单元中对网络参数进行定义,并对实际的网络的连通进行规范化约束,连通性约束,在设立时,包括以下参数中的任意一种或多种:待迁移交换机与目标控制器之间的最小跳数、数据传输速率、控制器容量、最大迭代次数。

重构网络映射矩阵单元根据连通性约束后的网络结构,重新生成网络映射矩阵。

所述纳什议价博弈模型包括目标函数单元和公平议价协议单元在一个实施例中纳什议价博弈模型包括建立目标函数为max(lbd-albd)(cost-acost);以及目标函数的约束条件,即上述式18-式22。

公平议价协议单元包括制定初始议价破裂点约束条件和议价破裂点的更新约束条件。

在本发明的一个具体实施例中,为了验证本方法对不同规模网络的适应性,本专利实验分别采用北美internet2os3e和columbus网络拓扑,在硬件配置为intelcorei7cpu3.4ghz,ram8gb的pc机上完成,其中os3e具有34个节点和42条链路,columbus具有70个节点和85条链路。实验采用opendaylight作为控制器,在mininet上进行仿真实验,另外使用cbench工具测量控制器处理流请求的最大速率。

参数设置

根据流量特征,使用流量生成器模拟真实的网络流量,设置平均流产生速率为250kb/s,轮询交换机的速率υ为25kb/s,交换机间平均通信速率θ为20kb/s,轮询控制器的速率τ为10kb/s,阈值因子δj设为0.8。

仿真分析

为了验证本专利基于纳什议价的负载均衡方案(lbsnb)的有效性,与资源利用率最低迁移策略(under-utilizationmigrationstrategy,ums)和基于多目标优化的软件定义网络负载均衡方案(multi-objectiveoptimizationscheme,mos)在负载均衡度、控制器响应时间和迁移代价方面进行对比分析。其中ums是将过载控制器管理的交换机迁移到资源利用率最低的轻载控制器上,mos是用遗传算法优化负载均衡度和迁移代价,得到较优的映射关系。

(1)负载均衡度

在两个网络拓扑中分别运行mos、ums和本专利算法,对其负载状况进行对比分析。由公式(7)得到负载均衡度对比结果如图5和图6所示。

从两个网络中控制器的负载均衡度都比结果中,可以看到,当交换机请求速率较低时,三种算法的负载均衡度大体一致,说明网络中控制器并未出现过载现象。当请求速率持续增加时(300kb/s-800kb/s),三种算法的负载均衡度均呈现下降趋势,说明网络中控制器开始过载。可以看到,ums性能最差,mos次之,本专利算法最优。因为ums未对迁移的交换机进行量化,容易导致目标控制器负载过高,mos基于遗传算法求解,得到了近似最优解,本专利算法基于纳什议价模型可得到公平的帕累托最优解。当交换机请求速率达到最大时,负载均衡度达到最低,说明所有控制器均过载,此时三种算法均失效,需要增加控制器来缓解负载压力。

(2)控制器响应时间

控制器响应时间是衡量网络性能的重要因素,因此实验重复30次,分别对三种策略的控制器平均响应时间进行对比,结果如图7和图8所示。

从图7和图8可以看到,ums的平均响应时间最大且分布并不均匀,是因为将交换机迁移到资源利用率最低的控制器并不能很好地均衡控制平面负载,如果对迁入的负载不加限制,目标控制器可能出现再次过载,导致控制器响应时间延长。mos和ums的响应时间大体保持一致,是因为两种策略均能有效均衡控制器负载,均衡后的网络不会出现控制器过载现象。

(3)迁移代价

对交换机迁移代价进行对比,结果如图9和图10所示。最大资源利用率策略ums的迁移代价高于mos和本专利策略,是因为其在选择目标控制器时仅仅考虑了资源利用率作为单一影响因素,未考虑迁移代价问题。mos和本专利策略均能保持较小的迁移时间和迁移代价,实验结果可以看出,本专利策略在迁移时间方面略优于mos,说明本专利策略中萤火虫算法在寻优时间上优于mos的遗传算法,本专利策略在多目标优化方面性能更佳。

本发明提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述基于纳什议价的sdn负载均衡方法。

本发明提供一种电子设备,所述电子设备包括:处理器以及用于存储所述处理器可执行指令的存储器;

所述处理器,用于执行上述基于纳什议价的sdn负载均衡方法。

除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例方法中的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。

本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

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