当前位置: 首页 > 专利查询>湘潭大学专利>正文

一种SDN环境下基于改进粒子群算法的多控制器部署方法技术

技术编号:32832073 阅读:17 留言:0更新日期:2022-03-26 20:46
本发明专利技术提供了一种SDN环境下基于改进粒子群算法的多控制器部署方法,该部署方法包括:将网络拓扑初始化;将网络拓扑中的所有节点划分为k个控制域;初始化粒子种群,包括学习因子、种群大小、迭代次数上限、粒子维数和惯性权重的最大值及最小值;计算个粒子的适应值,并与局部最优和全局最优进行比较,更新局部最优和全局最优值;对粒子群算法的惯性权重式进行改进,依据改进后的公式对粒子的速度和位置进行更新;判断迭代次数是否已经达到上限,未达到则返回计算粒子的适应值,达到则输出控制器部署方案。本发明专利技术基于改进后的粒子群算法,应用于SDN环境,可以有效降低SDN网络中的总平均时延并维持各控制器间的负载均衡。时延并维持各控制器间的负载均衡。时延并维持各控制器间的负载均衡。

【技术实现步骤摘要】
一种SDN环境下基于改进粒子群算法的多控制器部署方法


[0001]本专利技术涉及软件定义网络(SDN)
,特别是一种SDN环境下基于改进粒子群算法的多控制器部署方法。
技术背景
[0002]近年来,随着信息通信技术的迅猛发展与普及,产生了一系列流量需求巨大且时延敏感的新兴业务,如智能驾驶、远程医疗等。传统网络由于架构落后等问题,难以满足运营商和广大用户群体的需求。因此,SDN(software defined networking,软件定义网络)应运而生,为解决这类问题提供了新思路。
[0003]SDN是一种逻辑集中控制的新网络架构,主要有以下特点:数据平面与控制平面解耦合,二者不再相互依赖;网络开放可编程,SDN为使用者提供了通用API接口,便于对网络进行管理。
[0004]早期SDN网络多为单控制器结构,但这种结构无法承担大型网络的管理任务,且存在致命的单点故障等问题。因此多控制器结构的SDN网络成为了主流。早在2012年,Heller等人指出SDN多控制器部署问题是一个NP

hard问题,并对多控制器部署问题做了一个总结:给定一个拓扑,需要部署多少个控制器以及控制器该部署在何处。2018年,Sahoo则分别评估了经典粒子群算法和经典萤火虫算法在SDN多控制器部署问题中的性能。
[0005]综上所述,本专利技术提供一种基于改进粒子群算法的多控制器部署方法,旨在降低网络中的平均时延与维持负载均衡。

技术实现思路

[0006]本专利技术的目的在于提供一种SDN环境下基于改进粒子群算法的多控制器部署方法,该方法将粒子群算法中的惯性权重式进行改进,能够降低网络中的平均时延。
[0007]假设网络拓扑中有n个节点,需要部署k个控制器,所有节点均代表一台交换机,且都可能被部署一个控制器。每一个粒子代表一种部署方案。
[0008]一种SDN环境下基于改进粒子群算法的多控制器部署方法,包括以下步骤:
[0009]步骤S1:网络拓扑初始化。获取SDN网络拓扑,计算网络中各节点间的最短距离,得到各节点间的时延。
[0010]步骤S2:社区检测划分控制域。采取社区检测方法,利用S1中得到的各节点间的最短距离,将网络划分为k个不同的控制域。
[0011]步骤S3:初始化粒子种群。利用S2中划分好的控制域,将控制器的数量与控制域的数量设为相同,即k。在每一个控制域内随机取一个节点作为控制器部署的初始位置,并将其设为局部最优pbest和全局最优gbset。
[0012]步骤S4:计算粒子群中的各粒子的适应值,并更新局部最优pbest和全局最优gbset。
[0013]步骤S5:根据公式对粒子的速度v和位置x进行更新。
[0014]步骤S6:设置迭代结束条件,判断是否迭代结束,结束则进入S7,否则进入S4。
[0015]步骤S7:输出控制器部署方案及其适应值。
[0016]进一步,所述步骤S1具体包括:
[0017]S1.1:对网络拓扑中的所有节点进行编号,即(1,2,3,

,n)。
[0018]S1.2:根据现有网络拓扑的具体条件,得出各相邻节点间的距离。
[0019]S1.3:应用图论中的Dijkstra算法可以求得各节点间的最短路径。
[0020]S1.4:将各节点间最短路径对应的最短距离除以三分之二倍光速,即可得出各节点间的时延。
[0021]所述步骤S2是将所有节点划分为k个社区,社区检测已有成熟算法,如Louvain算法等。为了尽量保持网络的负载均衡,设定节点最多的社区与节点最少的社区的节点数之差为2,即不同控制域内交换机的的最大差值为2。
[0022]所述步骤S3具体包括:
[0023]S3.1:设定粒子群的种群大小,迭代最大次数,学习因子c1,c2,设定粒子的维数为k,惯性权重的最大值ω
max
,惯性权重的最小值ω
min

[0024]S3.2:在k个控制域内分别随机取一个节点作为初始位置。
[0025]S3.3:将初始位置设为局部最优pbest和全局最优gbset。
[0026]所述步骤S4具体包括:
[0027]S4.1:计算粒子适应值,粒子的适应度函数可由为步骤1中所得的时延平均值得出,本专利技术采用控制器

交换机平均时延与控制器

控制器平均时延之和作为适应值函数,总平均时延T
total

ave
的计算公式如下:
[0028]T
total

ave
=T
D

ave
+T
C

ave
[0029]其中T
D

ave
为交换机与控制器的平均时延,T
C

ave
为控制器与控制器间的平均时延。
[0030]S4.2:判断本次迭代适应值与pbest的大小关系,若本次适应值较小,则将本次适应值设为pbest,并设为局部最优位置。再与全局最优gbset比较,若本次适应值较小,则将本次适应值设为gbset,并设为全局最优位置。若计算所得适应值相比原pbest较大,则本次迭代没有增益,不需更新pbest和gbset。
[0031]所述步骤S5具体包括:
[0032]S5.1:对粒子的速度进行更新,经典粒子群算法中,对于粒子P
i
的第j维分量,其(m+1)次更新可由下式得出:
[0033][0034]经典粒子群算法通常采用的惯性权重式:
[0035][0036]改进粒子群算法需要设定一个新的惯性权重,定义ρ为反馈因子:
[0037][0038]fitness
t
‑1为上一次迭代的适应度,fitness
t
为本次迭代的适应度值。同时,随着迭代次数t的增加,所有粒子的适应度都接近全局最优值,为防止陷入局部最优解,必须添
加递减因子e

αt
,该因子可以根据α调整ρ的衰减速度,可以根据需要将其设定为固定值。因此本专利技术使用的惯性权重式为:
[0039]ω
fit
=(1+e

αt
ρ)*ω
[0040]S5.2:对粒子的位置进行更新,经典粒子群算法中,对于粒子P
i
的第j维分量,其(m+1)次更新可由下式得出:
[0041][0042]所述步骤S6,检测迭代是否结束,设定迭代最大次数为60次,当检测到迭代次数t为60时,进入步骤S7。否则返回至步骤S4。
[0043]所述步骤S7,此时迭代已经结束,输出当前全局粒子最佳位置gbset及其适应值,即多控制器部署方案。
[0044]与现有技术相比,本专利技术的有益效果本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SDN环境下基于改进粒子群算法的多控制器部署方法,其特征在于,包括以下步骤:步骤S1:网络拓扑初始化。获取SDN网络拓扑,计算网络中各节点间的最短距离,得到各节点间的时延。步骤S2:社区检测划分控制域。采取社区检测方法,利用S1中得到的各节点间的最短距离,将网络划分为k个不同的控制域。步骤S3:初始化粒子种群。利用S2中划分好的控制域,将控制器的数量与控制域的数量设为相同,即k。在每一个控制域内随机取一个节点作为控制器部署的初始位置,并将其设为局部最优pbest和全局最优gbset。步骤S4:计算粒子群中的各粒子的适应值,并更新局部最优pbest和全局最优gbset。步骤S5:根据公式对粒子的速度v和位置x进行更新。步骤S6:设置迭代结束条件,判断是否迭代结束,结束则进入S7,否则进入S4。步骤S7:输出控制器部署方案及其适应值。2.如权利要求1所述的一种SDN环境下基于改进粒子群算法的多控制器放置方法,其特征在S2中,设控制域内交换机的数量为控制器的负载值,为保证控制平面的负载均衡性,设定负载最大的控制域与负载最小的控制域之间最大负载差值为2。3.如权利要求1所述的一种SDN环境下基于改进粒子群算法的多控制器放置方法,其特征在S4中,适应值函数设为总平均时延,总平均时延T
total

ave
的计算公式如下:T
tot...

【专利技术属性】
技术研发人员:王灵矫汤泽皓郭华李文
申请(专利权)人:湘潭大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1