一种卫星网络SDN多控制器部署方法及系统

文档序号:31943968发布日期:2022-10-26 03:49阅读:381来源:国知局
一种卫星网络SDN多控制器部署方法及系统
一种卫星网络sdn多控制器部署方法及系统
技术领域
1.本发明涉及卫星网络技术领域,具体涉及一种卫星网络sdn多控制器部署方法及系统。


背景技术:

2.软件定义网络(software define network,sdn)由数据平面、控制平面和应用平面构成,典型的sdn体系结构如图1所示,区别于传统的网络架构,sdn最大的特征就是将数据平面与控制平面进行分离,拥有逻辑集中的控制平面,并通过统一而开放的南向接口来实现对网络的控制;sdn的应用平面实现了对应的网络功能应用,通过北向接口与sdn控制层进行交互;北向接口是sdn控制平面与应用平面之间的开放接口,它为sdn应用提供通用的开放编程接口;控制平面由多个控制器组成,是整个架构的核心部分,不仅要通过北向接口给上层应用层提供不同层次的可编程能力,还要通过南向接口实现对下层数据平面的统一的控制与管理;数据平面由简化的交换机等硬件设备组成,数据平面设备通过南向接口接收来自上层控制平面的指令,并根据控制平面下发的流表进行相应的数据转发与处理,并将当前的链路状态、统计信息等数据提供南向接口进行转发。
3.软件定义网络的出现为当代网络开辟了新的发展空间,其集中控制的思想改变了传统网络分布式控制的思路,数据平面、控制平面分离的思想打破了传统网络一体化的束缚;sdn拥有软件可编程的灵活性、集中管理控制的敏捷性、数据平面与控制平面解耦的便利性;软件定义网络颠覆了传统网络的架构,为未来的网络发展提供了一个新思路。
4.用户数据的爆炸式增长和网络需求的激增在无时无刻的冲击着卫星网络,虽然卫星网络具有覆盖范围大、跨度距离远的优势特征,但由于网络拓扑时变、链路稳定性较弱、用户分布不均衡、协议更新困难等制约因素,容易造成卫星网络传输延迟高、网络拥塞等情况;卫星网络的资源和网络配置的约束,限制了异构网络之间的资源动态共享,导致资源利用率下降,网络服务供应不足;鉴于上述sdn可编程和可重构的思想,引入sdn来驱动卫星网络的发展,以实现卫星网络数据层、控制层的分离,并通过sdn控制器实现卫星网络的集中控制;将sdn应用于卫星网络,有效实现空间网络资源的灵活分配、增强卫星网络的控制能力,能够促使传统卫星网络的管理便利化、网络控制灵活化、网络配置简单化;由于leo卫星数量相对较多,网络拓扑复杂,因此目前主要研究leo卫星控制平面的控制器节点部署问题,即通过构建目标优化模型,基于优化算法求得合适的控制器部署方案。
5.优化算法中的非支配排序遗传算法
‑ⅲ
(non-dominated sorting genetic algorithmⅲ,nsga
‑ⅲ
)是由deb等人提出的一种解决高维优化问题的算法(目标数大于或等于3),如图2所示,nsga
‑ⅲ
算法的思路主要有:首先设置参考点;随后,初始化种群,并根据初始化的种群进行交叉变异以生成新的子代种群;然后,对子代种群和初始化的父代种群进行合并,进行快速非支配排序;最后,根据种群数量n选择各个层级的个体,若无法基于非支配等级的选择个体时,可通过基于参考点的机制选择分布稀疏的个体进入新的种群,直至达到种群数量为止;多目标优化的解通常为一组最优解集,nsga
‑ⅲ
算法的解的集合称
为pareto最优解集;区别于nsga
‑ⅱ
算法,该算法采用基于参考点的方式从pareto解(非支配解)集中选择个体,具有有利于解决多目标问题,使得种群具有良好的分布性的优势;但其对种群个体的搜索能力尚存缺陷,易存在陷入局部最优的可能性,需进一步增强算法的寻优能力。


技术实现要素:

6.针对上述问题,本发明的一个目的是提供一种卫星网络sdn多控制器部署方法,该方法主要以leo卫星网络为研究对象,分析leo卫星控制平面的控制器节点部署问题,以降低leo卫星网络控制链路时延、提升星间链路的可靠性、维持leo卫星网络的负载均衡为研究目标构建多目标优化模型,使用改进的nsga
‑ⅲ
算法对多目标优化模型进行求解,确定控制器与交换机的管控关系,实现leo卫星网络常态任务下控制器节点的有效部署。
7.本发明的第二个目的是提供一种卫星网络sdn多控制器部署系统。
8.本发明所采用的第一个技术方案是:一种卫星网络sdn多控制器部署方法,包括以下步骤:
9.s100:架设基于sdn的卫星网络架构;
10.s200:基于卫星网络构建多目标优化模型;
11.s300:基于改进的nsga
‑ⅲ
算法对所述多目标优化模型进行求解,从而获得最优sdn多控制器部署方案;
12.s400:基于所述最优sdn多控制器部署方案对卫星网络进行部署;
13.其中,所述步骤s300包括以下子步骤:
14.s310:对leo卫星控制器节点和leo卫星交换机节点同时进行编码,种群初始化以生成初始化种群;
15.s320:计算所述初始化种群中每个个体的适应度值,基于所述每个个体的适应度值进行快速非支配排序以将初始化种群分成不同的层级;所述每个个体的适应度值为控制器部署方案的星间链路的可靠性的目标函数值、leo卫星网络负载均衡的目标函数值和leo卫星网络控制链路时延的目标函数值;
16.s330:在快速非支配排序后的种群中选择精英个体;
17.s340:从所述精英个体中选择参与交叉的个体,通过多点混合交叉的方式对所述参与交叉的个体进行交叉操作;随机生成一个随机数,当随机数小于自适应变异概率时,则对交叉操作后的个体执行变异操作;当随机数大于或等于自适应变异概率时,则不对交叉操作后的个体执行变异操作;对交叉或变异操作后的子代种群进行约束修复;
18.s350:基于精英选择策略进行精英选择,以获得精英选择后的个体;
19.s360:将精英选择后的个体与当前精英个体逐一进行支配判断,若精英选择后的个体能够支配当前精英个体,则进一步更新当前精英个体,否则不进行更新;
20.s370:重复所述步骤s340~s360以对种群进行不断寻优更新,输出非支配最优解集并解码,从而获得最优sdn多控制器部署方案。
21.优选地,步骤s200中所述构建多目标优化模型包括:
22.构建星间链路的可靠性模型、leo卫星网络负载均衡模型和leo卫星网络控制链路时延模型。
23.优选地,星间链路的可靠性模型通过以下公式表示:
[0024][0025]
式中,fap为leo卫星网络的平均失效概率;n为leo卫星交换机节点数量;i为leo卫星控制器节点ci的编号;j为leo卫星交换机节点sj的编号;c为leo卫星网络中的leo卫星控制器节点集合;s为leo卫星网络中的所有leo卫星交换机节点集合;ap
ij
为leo卫星控制器节点ci与交换机节点sj间正常通信的概率;h
ij
为矩阵元素,leo卫星控制器节点与leo卫星交换机节点间的关系用m
×
n维的矩阵h=[h
ij
]m×n表示。
[0026]
优选地,leo卫星网络负载均衡模型通过以下公式表示:
[0027][0028]
式中,ba为leo卫星网络的负载均衡系数;m为leo卫星控制器节点数量;i为leo卫星控制器节点ci的编号;c为leo卫星网络中的leo卫星控制器节点集合;μi为leo卫星控制器节点ci的负载;为leo卫星控制器节点的平均负载。
[0029]
优选地,leo卫星网络控制链路时延模型通过以下公式表示:
[0030][0031]
式中,t为leo卫星网络控制链路时延;i为leo卫星控制器节点ci的编号;c为leo卫星网络中的leo卫星控制器节点集合;tcli为leo卫星控制器节点的处理时延;tcbi为leo卫星交换机节点与leo卫星控制器节点间的传播时延;j为leo卫星交换机节点sj的编号;s为leo卫星网络中的所有leo卫星交换机节点集合;d
ij
为leo卫星控制器节点ci与交换机节点sj间链路的最短距离;vc为自由空间中光速;λj为leo卫星交换机数据流的请求速率;fi为leo卫星控制器节点ci的最大处理能力;h
ij
为矩阵元素,leo卫星控制器节点与leo卫星交换机节点间的关系用m
×
n维的矩阵h=[h
ij
]m×n表示。
[0032]
优选地,步骤s340中的所述自适应变异概率通过以下公式计算得到:
[0033][0034]
式中,apm为自适应变异概率;gen为当前迭代次数;maxgen为最大迭代次数。
[0035]
优选地,所述步骤s340中采用插入变异的方法执行变异操作。
[0036]
优选地,步骤s350中所述精英选择策略包括:
[0037]
计算交叉或变异操作后的子代种群中每个个体的适应度值,将子代种群与初始化种群进行种群合并;将重复个体从合并的种群中删除;基于适应度值对合并的种群进行快速非支配排序,按照非支配层级和种群规模的限制进行选择,从而获得精英选择后的个体。
[0038]
本发明所采用的第二个技术方案是:一种卫星网络sdn多控制器部署系统,包括卫星网络架设模块、多目标优化模型构建模块、计算模块和部署模块;
[0039]
所述卫星网络架设模块用于架设基于sdn的卫星网络架构;
[0040]
所述多目标优化模型构建模块用于基于卫星网络构建多目标优化模型;
[0041]
所述计算模块用于基于改进的nsga
‑ⅲ
算法对所述多目标优化模型进行求解,从而获得最优sdn多控制器部署方案;
[0042]
所述部署模块用于基于所述最优sdn多控制器部署方案对卫星网络进行部署;
[0043]
其中,所述计算模块执行以下操作:
[0044]
s310:对leo卫星控制器节点和leo卫星交换机节点同时进行编码,种群初始化以生成初始化种群;
[0045]
s320:计算所述初始化种群中每个个体的适应度值,基于所述每个个体的适应度值进行快速非支配排序以将初始化种群分成不同的层级;所述每个个体的适应度值为控制器部署方案的星间链路的可靠性的目标函数值、leo卫星网络负载均衡的目标函数值和leo卫星网络控制链路时延的目标函数值;
[0046]
s330:在快速非支配排序后的种群中选择精英个体;
[0047]
s340:从所述精英个体中选择参与交叉的个体,通过多点混合交叉的方式对所述参与交叉的个体进行交叉操作;随机生成一个随机数,当随机数小于自适应变异概率时,则对交叉操作后的个体执行变异操作;当随机数大于或等于自适应变异概率时,则不对交叉操作后的个体执行变异操作;对交叉或变异操作后的子代种群进行约束修复;
[0048]
s350:基于精英选择策略进行精英选择,以获得精英选择后的个体;
[0049]
s360:将精英选择后的个体与当前精英个体逐一进行支配判断,若精英选择后的个体能够支配当前精英个体,则进一步更新当前精英个体,否则不进行更新;
[0050]
s370:重复所述步骤s340~s360以对种群进行不断寻优更新,输出非支配最优解集并解码,从而获得最优sdn多控制器部署方案。
[0051]
上述技术方案的有益效果:
[0052]
(1)本发明公开的一种卫星网络sdn多控制器部署方法包括架设基于sdn的卫星网络架构;基于卫星网络构建多目标优化模型(星间链路的可靠性模型、leo卫星网络负载均衡模型和leo卫星网络控制链路时延模型);基于改进的nsga
‑ⅲ
算法对上述多目标优化模型进行求解,求解出pareto最优解集,根据最优解集获得空间网络常态任务下的最优sdn多控制器部署方案;基于最优sdn多控制器部署方案对卫星网络进行部署;该方法主要以leo卫星网络为研究对象,分析leo卫星控制平面的控制器节点部署问题,以降低leo卫星网络控制链路时延、提升星间链路的可靠性、维持leo卫星网络的负载均衡为研究目标构建多目标优化模型,使用改进的nsga
‑ⅲ
算法对多目标优化模型进行求解,确定控制器与交换机的管控关系,实现卫星网络常态任务下控制器节点的有效部署。
[0053]
(2)本发明的目的在于解决空间常态任务下卫星网络多控制器可靠性部署问题,提出一种基于改进nsga
‑ⅲ
算法的卫星网络sdn多控制器部署方法;本发明通过分析leo卫星网络多控制器部署问题的性能特征,综合leo卫星网络控制链路时延、星间链路的可靠性、leo卫星网络负载均衡多个目标,建立了卫星网络sdn控制器部署的多目标优化模型,是一个典型的多目标优化问题,由于多个目标存在一定的制约关系,优化一个目标的同时可能会影响其他目标的优化性能,从而难以实现多个目标同时达到最优;而由于nsga
‑ⅲ
算法适用于求解两个以上目标的问题,且能够通过分布均衡的参考点丰富种群的多样性,因此本发明考虑使用该算法并进行优化改进,提出了改进的nsga
‑ⅲ
算法的多控制器部署方法,以适用于sdn控制器的部署问题,确定控制器与交换机的管控关系,实现卫星网络常态任务
下控制器节点的有效部署。
[0054]
(3)本发明公开的一种卫星网络sdn多控制器部署方法是在基于sdn的卫星网络架构,构建星间链路的可靠性模型、leo卫星网络负载均衡模型、leo卫星网络控制链路时延模型的基础上,对nsga
‑ⅲ
算法进行离散化改进,以使改进的nsga
‑ⅲ
算法避免陷入局部最优。
[0055]
(4)本发明对nsga
‑ⅲ
算法进行离散化改进,在交叉算子的改进方面引入了精英个体并采用三点混合交叉的方式,为进一步优化变异算子加入了自适应变异概率和插入变异方法;仿真结果有效验证了无论是单个目标优化性能方面,还是整体性能优化方面,insga
‑ⅲ
算法(改进的nsga
‑ⅲ
算法)相比于传统的nsga
‑ⅲ
、insga
‑ⅱ
算法在多控制器部署方法寻优方面均体现出优越性。
附图说明
[0056]
图1为典型的sdn体系结构示意图;
[0057]
图2为nsga
‑ⅲ
算法的流程示意图;
[0058]
图3为本发明的一个实施例提供的一种卫星网络sdn多控制器部署方法的流程示意图;
[0059]
图4为本发明的一个实施例提供的基于sdn的卫星网络架构图;
[0060]
图5为本发明的一个实施例提供的多控制器部署方案的编码序列的示意图;
[0061]
图6为本发明的一个实施例提供的多控制器部署方案的分配处理序列的示意图;
[0062]
图7为本发明的一个实施例提供的随机初始化种群y的示意图;
[0063]
图8为本发明的一个实施例提供的选择精英个体示意图;
[0064]
图9为本发明的一个实施例提供的三点混合交叉过程示意图;
[0065]
图10为本发明的一个实施例提供的自适应变异概率随迭代次数变化的示意图;
[0066]
图11为本发明的一个实施例提供的插入变异操作过程示意图;
[0067]
图12为本发明仿真实验中控制器数量为10的三种多目标遗传算法的pareto前沿图;
[0068]
图13为本发明仿真实验中的时延与负载均衡分析图;
[0069]
图14为本发明仿真实验中的负载均衡与可靠性系数分析图;
[0070]
图15为本发明仿真实验中的可靠性系数与时延分析图
[0071]
图16为本发明仿真实验中控制器数量为12的pareto前沿图;
[0072]
图17为本发明仿真实验中控制器数量为8的pareto前沿图;
[0073]
图18为本发明的一个实施例提供的一种卫星网络sdn多控制器部署系统的结构示意图。
具体实施方式
[0074]
下面结合附图和实施例对本发明的实施方式作进一步详细描述。以下实施例的详细描述和附图用于示例性地说明本发明的原理,但不能用来限制本发明的范围,即本发明不限于所描述的优选实施例,本发明的范围由权利要求书限定。
[0075]
在本发明的描述中,需要说明的是,除非另有说明,“多个”的含义是两个或两个以上;术语“第一”“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性;对于本领
域的普通技术人员而言,可视具体情况理解上述术语在本发明中的具体含义。
[0076]
非支配解:问题中的任意两个解q1与q2,若q1的所有目标均优于q2,则称q1支配q2;若q1不被其他解所支配,则q1称为非支配解(即pareto解)。
[0077]
pareto前沿:空间中所有pareto解组成的平面。
[0078]
实施例一
[0079]
图3为本发明的一个实施例提供的一种卫星网络sdn多控制器部署方法,包括以下步骤:
[0080]
s100:架设基于sdn的卫星网络架构;
[0081]
如图4所示的基于sdn的卫星网络架构,其控制平面作为卫星网络的核心部分,由geo卫星、leo卫星和地面站组成层次型的控制架构;其中,主控制器设置在地面站,并以全网视角动态管理整个卫星网络,将geo卫星置为区域控制器,leo卫星拥有低链路损耗、低通信时延,因而将部分leo卫星置为从控制器,剩余的leo卫星置为交换机;从控制器可收集各自控制域内交换机的状态信息,当从控制器无法处理域内交换机业务请求时,从控制器可向区域控制器发送请求,区域控制器可与主控制器建立通信,随后主控制器做出决策,经由区域控制器分发至从控制器。
[0082]
本发明参考iridium星座数据构建leo卫星网络环境,并通过stk获取卫星轨道相关信息,相关iridium星座的卫星轨道数据如下:leo卫星的轨道高度为780km,leo卫星数量为66颗,轨道数11条,每颗leo卫星的轨内链路数和轨道间链路数均为2,轨道倾角86.4
°
,轨道周期6061.1s;本发明主要将leo卫星网络的运行周期分割成一组时间片,单一时间片内的不考虑网络拓扑和数据流量的变化,在此状态下研究sdn控制器的部署问题,根据iridium星座特征,将66颗leo卫星均置为leo卫星交换机节点,通过带内方式从leo卫星交换机节点中选取合适的节点部署leo卫星控制器节点,因此可能有个别节点同时担负交换机和控制器的角色,此时认为两点间产生的传播时延为0,此外数据链路和控制链路相互独立,互不干扰。
[0083]
s200:基于卫星网络构建多目标优化模型,多目标优化模型包括星间链路的可靠性模型、leo卫星网络负载均衡模型和leo卫星网络控制链路时延模型;
[0084]
(1)参数定义;
[0085]
用无向图g=(s,e,c)表示当前leo卫星网络拓扑,其中,s={s1,s2,...,sn}为leo卫星网络中的所有leo卫星交换机节点集合,e={e1,e2,...,e
l
}为leo卫星交换机节点之间链路的集合,c={c1,c2,...,cm}为leo卫星网络中的leo卫星控制器节点集合;由于本发明参考iridium星座,将66颗leo卫星均置为leo卫星交换机节点,因此leo卫星交换机节点数量为n=66,leo卫星控制器节点数量为m;λj为leo卫星交换机数据流的请求速率,fi为leo卫星控制器节点ci的最大处理能力;leo卫星控制器节点与leo卫星交换机节点间的关系用m
×
n维的矩阵h=[h
ij
]m×n表示,其中矩阵元素h
ij
为二进制变量,若控制器部署方案中,leo卫星交换机节点在leo卫星控制器节点的控制域内时,此时元素h
ij
的值为1,否则为0。
[0086]
(2)约束关系;
[0087]
为形成有效的leo卫星控制器部署方案,需结合leo卫星网络现状和sdn原理,综合分析控制器部署问题存在的约束关系,主要存在的约束关系包括:leo卫星交换机节点与leo卫星控制器节点之间的管理约束、leo卫星控制器节点的处理能力约束。
[0088]
1)leo卫星交换机节点与leo卫星控制器节点之间的管理约束主要约束了每个leo卫星交换机节点只可关联唯一的leo卫星控制器节点,而一个leo卫星控制器节点可同时关联多个leo卫星交换机节点,其约束关系通过以下公式表示:
[0089][0090][0091]
式中,s为leo卫星网络中的所有leo卫星交换机节点集合;c为leo卫星网络中的leo卫星控制器节点集合;n为leo卫星交换机节点数量;h
ij
为矩阵元素,leo卫星控制器节点与leo卫星交换机节点间的关系用m
×
n维的矩阵h=[h
ij
]m×n表示,其中矩阵元素h
ij
为二进制变量;i为leo卫星控制器节点ci的编号;j为leo卫星交换机节点sj的编号。
[0092]
2)leo卫星控制器节点的处理能力约束主要约束了必须在leo卫星控制器节点的能力范围内进行控制器部署,其约束关系通过以下公式表示:
[0093][0094]
式中,μi为leo卫星控制器节点ci的负载,即为leo卫星控制器节点ci管控的所有leo卫星交换机的流请求速率之和;i为leo卫星控制器节点ci的编号;j为leo卫星交换机节点sj的编号;h
ij
为矩阵元素,leo卫星控制器节点与leo卫星交换机节点间的关系用m
×
n维的矩阵h=[h
ij
]m×n表示,其中矩阵元素h
ij
为二进制变量;s为leo卫星网络中的所有leo卫星交换机节点集合;c为leo卫星网络中的leo卫星控制器节点集合;λj为leo卫星交换机数据流的请求速率;fi为leo卫星控制器节点ci的最大处理能力。
[0095]
(3)构建多目标优化模型,即构建星间链路的可靠性模型、leo卫星网络负载均衡模型和leo卫星网络控制链路时延模型;
[0096]
1)构建星间链路的可靠性模型;
[0097]
在卫星网络中,星间链路的可靠性即卫星网络中控制链路能够正常连通的概率;由于leo卫星间多条连接链路的存在,若单以时延或负载均衡为要素确定leo卫星交换机节点与leo卫星控制器节点的连接关系,而忽略星间链路失效故障情况的影响,会导致部分的leo卫星控制器节点出现数据传输速率低下的问题;同时,受极地区域的影响,轨道间的星间链路需要关闭,仅可由轨道内的星间链路进行通信,此时同轨道内的星间链路失效率相比于轨道间的星间链路失效率要低一些;星间链路故障的发生,会使得控制平面和数据平面的连接断开,leo卫星交换机节点无法传达消息请求至leo卫星控制器节点,同时无法接受来自leo卫星控制器节点的指令,会存在数据包丢失、网络性能严重下降等问题;因此,本发明主要从控制链路的物理失效情况和星间链路的拥塞情况这两方面考虑卫星网络星间链路可靠性的影响。
[0098]

控制链路的物理失效情况;
[0099]
控制链路发生失效的概率主要与控制链路的长度有关,leo卫星控制器节点ci至交换机节点sj间控制链路不发生失效的概率p
ij
通过以下公式计算得到:
[0100]
[0101]
式中,p
ij
为leo卫星控制器节点ci至交换机节点sj间控制链路不发生失效的概率;pb为单位长度下控制链路的失效率;d
ij
为leo卫星控制器节点ci与交换机节点sj间链路的最短距离;i为leo卫星控制器节点ci的编号;j为leo卫星交换机节点sj的编号。
[0102]

星间链路的拥塞情况;
[0103]
星间链路发生拥塞的概率与链路中的流量大小有关,在链路流量阈值范围内,网络拥塞的情况可忽略,当超过链路阈值范围时,流量越大,星间链路发生拥塞的概率就越大;leo卫星控制器节点ci与交换机节点sj的星间链路的拥塞概率p
con
通过以下公式计算得到:
[0104][0105]
式中,p
con
为leo卫星控制器节点ci与交换机节点sj的星间链路的拥塞概率;λj为leo卫星交换机数据流的请求速率;r为链路发生拥塞情况的阈值;h
ij
为矩阵元素;w
ij
为leo卫星控制器节点ci与交换机节点sj间的链路带宽;i为leo卫星控制器节点ci的编号;j为leo卫星交换机节点sj的编号。
[0106]
结合leo卫星控制器节点ci至交换机节点sj间控制链路不发生失效的概率p
ij
和星间链路的拥塞概率p
con
,得出leo卫星控制器节点ci与交换机节点sj间正常通信的概率ap
ij
通过以下公式表示:
[0107]
ap
ij
=(1-p
con
)p
ij
[0108]
式中,ap
ij
为leo卫星控制器节点ci与交换机节点sj间正常通信的概率;p
con
为leo卫星控制器节点ci与交换机节点sj的星间链路的拥塞概率;p
ij
为leo卫星控制器节点ci至交换机节点sj间控制链路不发生失效的概率;i为leo卫星控制器节点ci的编号;j为leo卫星交换机节点sj的编号。
[0109]
本发明通过leo卫星网络的平均失效概率fap代表可靠性系数来评估leo卫星网络星间链路的可靠性,fap的数值越低,星间链路的可靠性则越高,则整个卫星网络的可靠性越高,leo卫星网络的平均失效概率fap(即星间链路的可靠性模型)通过以下公式表示:
[0110][0111]
式中,fap为leo卫星网络的平均失效概率;n为leo卫星交换机节点数量;i为leo卫星控制器节点ci的编号;j为leo卫星交换机节点sj的编号;c为leo卫星网络中的leo卫星控制器节点集合;s为leo卫星网络中的所有leo卫星交换机节点集合;ap
ij
为leo卫星控制器节点ci与交换机节点sj间正常通信的概率;h
ij
为矩阵元素,leo卫星控制器节点与leo卫星交换机节点间的关系用m
×
n维的矩阵h=[h
ij
]m×n表示,其中矩阵元素h
ij
为二进制变量。
[0112]
2)构建leo卫星网络负载均衡模型;
[0113]
leo卫星网络的负载均衡系数可评价leo卫星网络各控制器节点的负载差异程度;通过方差法计算各leo卫星控制器节点的负载(即leo卫星控制器节点管控的所有leo卫星交换机的流请求速率之和)与整个leo卫星网络控制器节点的平均负载的差异度,其结果越
接近于0,表明各leo卫星控制器节点负载越均衡;leo卫星控制器节点的平均负载通过以下公式表示:
[0114][0115]
则leo卫星网络的负载均衡系数ba(即leo卫星网络负载均衡模型)通过以下公式表示:
[0116][0117]
式中,ba为leo卫星网络的负载均衡系数;m为leo卫星控制器节点数量;i为leo卫星控制器节点ci的编号;c为leo卫星网络中的leo卫星控制器节点集合;μi为leo卫星控制器节点ci的负载,即为leo卫星控制器节点ci管控的所有leo卫星交换机的流请求速率之和;为leo卫星控制器节点的平均负载。
[0118]
3)构建leo卫星网络控制链路时延模型;
[0119]
leo卫星网络控制链路时延主要包括leo卫星控制器节点的处理时延及leo卫星交换机节点与leo卫星控制器节点间的传播时延两个方面,leo卫星网络控制链路时延通过以下公式表示:
[0120][0121]
式中,t为leo卫星网络控制链路时延;i为leo卫星控制器节点ci的编号;c为leo卫星网络中的leo卫星控制器节点集合;tcli为leo卫星控制器节点的处理时延;tcbi为leo卫星交换机节点与leo卫星控制器节点间的传播时延;j为leo卫星交换机节点sj的编号;s为leo卫星网络中的所有leo卫星交换机节点集合;d
ij
为leo卫星控制器节点ci与交换机节点sj间链路的最短距离;vc为自由空间中光速;λj为leo卫星交换机数据流的请求速率;fi为leo卫星控制器节点ci的最大处理能力;h
ij
为矩阵元素,leo卫星控制器节点与leo卫星交换机节点间的关系用m
×
n维的矩阵h=[h
ij
]m×n表示,其中矩阵元素h
ij
为二进制变量。
[0122]
为保障空间常态任务的正常通信,提供实时、可靠、安全的服务,能够高效率、高标准完成空间任务,本发明以提高星间链路的可靠性、均衡leo卫星网络的负载、降低leo卫星网络控制链路时延为优化目标,构建多目标优化模型,多目标优化模型(目标函数)通过以下公式表示:
[0123]
目标函数=min[fap,t,ba]
[0124]
式中,fap为leo卫星网络的平均失效概率;t为leo卫星网络控制链路时延;ba为leo卫星网络的负载均衡系数。
[0125]
s300:基于改进的nsga
‑ⅲ
算法对上述多目标优化模型(星间链路的可靠性模型、leo卫星网络负载均衡模型和leo卫星网络控制链路时延模型)进行求解,以输出pareto最优解集,基于最优解集解码获得一组多目标最优的sdn多控制器部署方案。
[0126]
s310:对leo卫星网络中的leo卫星控制器节点和leo卫星交换机节点同时进行编码,种群初始化以生成初始化种群;
[0127]
(1)对leo卫星网络中的leo卫星控制器节点和leo卫星交换机节点进行编码;
[0128]
sdn控制器部署方法主要解决的是如何分布控制器以处理不同交换机发送的packet-in消息,不同的分布策略可形成不同的控制器部署方案,一个方案即可直观地反应控制器与交换机的管控关系;由于控制器节点在处理交换机发送的packet-in消息时,可根据交换机发送消息的先后顺序进行处理,发送消息较晚的交换机节点会存在一个排队等待的过程,因此本发明采用双层编码的方式形成一个部署方案,将leo卫星控制器节点和leo卫星交换机节点同时进行编码,随后根据编码序列将交换机分配给控制器。
[0129]
将n个交换机分配至m个控制器的方案即可形成一个控制器编码序列xc=[c1,c3,c4...cm...c2]和一个交换机编码序列xs=[s5,s2,s1...sn...s3],编码方式如图5所示,编码长度均为n;s5代表编号为5的leo卫星交换机节点,根据铱星星座卫星数量为66,则n的取值为66;c1代表控制器编号为1的leo卫星控制器节点。
[0130]
(2)根据编码方式进行种群初始化,以生成初始化种群y,即多个控制器部署方案;
[0131]
对应上述的双编码序列(控制器编码序列、交换机编码序列),进行leo卫星控制器节点部署分配,leo卫星控制器节点部署分配是将leo卫星交换机节点分配给leo卫星控制器节点,分配结果如图6所示,图6中leo卫星控制器节点c1根据部署方案逐一处理leo卫星交换机节点s5,s4等,leo卫星控制器节点c3根据部署方案逐一处理leo卫星交换机节点s2等,按此顺序,逐一分配交换机节点。
[0132]
采用随机初始化构造种群,由于种群中一个个体对应一个部署方案,一个部署方案由交换机编码序列和控制器编码序列同时决定,根据种群的数量pop,可形成满足约束条件的pop组控制器与交换机的编码序列,随后组成随机初始化种群y,随机初始化种群y如图7所示。
[0133]
s320:计算初始化种群中每个个体的适应度值,基于每个个体的适应度值进行快速非支配排序以将初始化种群分成不同的层级;
[0134]
计算初始化种群中每个个体的适应度值,每个个体的适应度值由三个目标函数数值组成,分别为控制器部署方案的星间链路的可靠性、leo卫星网络负载均衡和leo卫星网络控制链路时延这三个目标函数的值;
[0135]
随后根据每个个体的适应度值进行快速非支配排序,具体包括:
[0136]
根据初始化种群y中每个个体的适应度值,逐一与其他个体的适应度值进行支配判断,需要计算初始化种群y每个个体y的两个参数ny和gy,ny代表初始化种群y中支配个体y的个体数量,gy为初始化种群y中被个体y支配的个体的集合,依次将初始化种群y中的每个个体的两个参数都记录下来;按照每个个体的ny进行非支配分层:(1)找到种群y中所有ny=0的个体,并保存在当前非支配层级的第一层即集合f1中;(2)对于当前集合f1中的每个个体z,其所支配的个体集合为gz,遍历gz中的每个个体h,执行简易操作n
′h=n
h-1,如果n
′h=0则将个体h保存在集合h中,n
′h为简易操作后集合f1中支配个体h的个体数量;nh为简易操作前集合f1中支配个体h的个体数量;(3)记f1得到的个体为第一个非支配层级的个体,并以h作为当前集合,重复上述(2)、(3)操作,依次类推,进行分层,直至整个初始化种群y被分成如图8所示的若干个层级集合f1、集合f2、集合f3等。
[0137]
s330:在快速非支配排序后的种群y中选择精英个体;
[0138]
如图8所示,从快速非支配排序后的种群y的集合f1(第一层非支配层级)中,通过
任意生成一个整数k(整数k的范围在1-a之间,a为集合f1中的总个体数),根据整数k选择集合f1中的第k个个体作为1号精英个体;采用同样的方式从快速非支配排序后的种群y的集合f2(第二层非支配层级)中,任意生成一个整数u(整数u的范围在1-b之间,b为集合f2中的总个体数),根据整数u选择集合f2中的第u个个体作为2号精英个体;此处认为1号精英个体、2号精英个体这两个个体是当前较优的两种不同的部署方案;记1号精英个体为e1,e1的三个目标函数值分别为e
1_
a(即1号精英个体星间链路的可靠性的目标函数值)、e
1_
b(即1号精英个体leo卫星网络的负载均衡目标函数值)、e
1_
c(即1号精英个体leo卫星网络控制链路时延目标函数值);记2号精英个体为e2,e2的三个目标函数值分别为e
2_
a(即2号精英个体星间链路的可靠性的目标函数值)、e
2_
b(即2号精英个体leo卫星网络的负载均衡目标函数值)、e
2_
c(即2号精英个体leo卫星网络控制链路时延目标函数值)。
[0139]
s340:从精英个体中选择参与交叉的个体,通过多点混合交叉的方式对参与交叉的个体进行交叉操作;随机生成一个数,当随机数小于自适应变异概率时,对交叉操作后的个体执行变异操作;当随机数大于或等于自适应变异概率时,不对交叉操作后的个体执行变异操作;对交叉或变异操作后的子代种群进行约束修复;
[0140]
(1)从精英个体中选择参与交叉的个体;
[0141]
通过比值的方式从1号精英个体和2号精英个体中选择参与交叉的个体,并记为w;
[0142]
逐一从初始种群y中读取种群个体x,记个体x的三个目标函数值为x
_
a、x
_
b、x
_
c,将个体x的目标函数值与1号精英个体的三个目标函数值e
1_
a、e
1_
b、e
1_
c逐一进行相除,得到a、b和c三个比值,若a、b和c这三个比值中有两个以上的值小于或等于1,说明种群x中的三个目标函数值中,有两个以上(含两个)的目标函数值优于或等于过去的1号精英个体,则选择1号精英个体为个体w(即参与交叉的个体);若a、b和c这三个比值中有两个以上的值大于1,则选择2号精英个体为个体w;其中,a、b和c三个比值分别通过以下公式表示:
[0143][0144][0145][0146]
式中,a、b和c均为比值;x
_
a、x
_
b和x
_
c分别为个体x的星间链路的可靠性的目标函数值、leo卫星网络的负载均衡目标函数值和leo卫星网络控制链路时延目标函数值;e
1_
a、e
1_
b、e
1_
c分别为1号精英个体e1的星间链路的可靠性的目标函数值、leo卫星网络的负载均衡目标函数值和leo卫星网络控制链路时延目标函数值。
[0147]
(2)在参与交叉的个体w的控制器编码序列xc中设置三个交叉点,通过多点混合交叉的方式对参与交叉的个体进行交叉操作;
[0148]
本发明采用的交叉算子为:随机选择一个整数q,其取值范围为3~64,在参与交叉的个体w的控制器编码序列xc中设置三个交叉点,分别为xc的第(q-2)个位置,第q个位置和第(q+2)个位置,通过多点混合交叉的方式,将个体w的xc中第(q-2)个元素交叉至个体x的xc中第q个元素,将个体w的xc中第q个元素交叉至个体x的xc中第(q+2)个元素,将个体w的xc中第(q+2)个元素交叉至个体x的xc中第(q-2)个元素,其交叉过程如图9所示,图9中,当q为4
时,三个交叉点位置分别为第2,4,6个位置,由于xc进行了三点混合交叉,形成了新的多控制器部署方案的分配处理序列,破坏了原有个体的约束限制,因此本发明对交叉操作后的个体进行约束修复,约束修复是指随机生成一组新的满足约束限制的多控制器部署策略。
[0149]
(3)随机生成一个数,当随机数小于自适应变异概率时,则对上述交叉操作后的个体执行变异操作;当随机数大于或等于自适应变异概率时,则不对上述交叉操作后的个体执行变异操作;
[0150]
随机生成一个数,即产生一个随机数,随机数的取值范围在0~1,当随机数小于自适应变异概率apm时,则对上述交叉操作后的个体执行变异操作,当随机数大于或等于自适应变异概率时,则不对上述交叉操作后的个体执行变异操作;如图10所示,apm的取值范围在0.1-0.5之间,算法搜索前期注重全局搜索,apm取值较小,变化幅度也较为缓慢,随着迭代次数的增加,算法后期搜索过程中apm快速提升,在优良个体中进行局部搜索,以提高搜索精度,apm通过以下公式计算得到:
[0151][0152]
式中,apm为自适应变异概率;gen为当前迭代次数;maxgen为最大迭代次数,本发明中maxgen取值为200。
[0153]
传统的nsga
‑ⅲ
算法的变异概率一直是稳定不变的,然而在进行控制器部署策略搜索时,考虑到搜索后期会产生大量的优良种群,需注重局部搜索,优化种群质量,因此本发明引入了自适应变异概率apm。
[0154]
变异操作包括:
[0155]
传统nsga
‑ⅲ
算法的变异随机性较强,因此本发明改变传统的变异策略,采用插入变异的方法,如图11所示,从交叉操作后的个体x的交换机编码序列xs中随机生成两个插入变异点位置p与k,将交叉操作后的个体x的xs中的p位置上的元素插入至k位置,将该数组片段中(p+1)至k片段的元素数组向p方向移动。
[0156]
例如图11中的插入变异点位置p=3,k=6,将交叉操作后的个体x的交换机编码序列xs进行插入变异操作,形成一个新的编码序列;经由一系列交叉、变异操作后的子代种群,打破了初始种群个体的约束限制,需对交叉、变异操作后的子代种群进行进一步约束修复(约束修复是指随机生成一组新的满足约束限制的多控制器部署策略),为下一步精英选择策略提供便利。
[0157]
本发明通过改进传统nsga
‑ⅲ
算法的变异、交叉算子,以增强算法的探索能力。
[0158]
s350:基于精英选择策略进行精英选择,以获得精英选择后的个体;
[0159]
精英选择策略包括:
[0160]
将上述交叉、变异操作后的子代种群记为y

,种群数量为pop,计算子代种群中每个个体的适应度值,并将子代种群与父代种群(即初始化种群y)进行种群合并;为避免重复个体对最终非支配解集的影响,需对合并的种群进行去重操作,将重复个体从合并的种群中删除;随后,基于每个个体的适应度值对合并的种群进行快速非支配排序,按照非支配层级和种群规模的限制进行选择,并保留个体(精英选择后的个体)至y

中;当筛选完某一层级时,已保存的个体数量超过了种群规模,此时需采用基于参考点的方法筛选出该层级的分布稀疏的个体并保留至y

中,直至满足种群数量pop,最后通过精英选择后的个体y

更新
y。
[0161]
s360:基于精英选择后的个体更新精英个体;
[0162]
精英选择后的个体与当前的1号精英个体和2号精英个体逐一进行支配判断,若精英选择后的个体能够支配1号精英个体或2号精英个体,则进一步更新1号精英个体和2号精英个体,否则不进行更新。
[0163]
s370:输出非支配(pareto)最优解集并解码,获得最优sdn多控制器部署方案;
[0164]
重复上述步骤s340~s360对种群进行不断寻优更新,直到达到最大迭代次数maxgen,对更新完的种群的pareto最优解集进行解码,最后输出多目标优化的最优sdn多控制器部署方案。
[0165]
s400:基于最优sdn多控制器部署方案对卫星网络进行部署。
[0166]
下面结合仿真实验说明本发明技术方案的有益效果:
[0167]
本发明是以降低leo卫星网络控制链路时延、提升星间链路的可靠性、维持leo卫星网络的负载均衡为研究目标构建多目标优化模型,基于改进nsga
‑ⅲ
算法(insga
‑ⅲ
)提出了一种卫星网络sdn多控制器部署方法,通过对传统的nsga
‑ⅲ
算法进行改进,使其适用于常态任务下求解卫星网络sdn多控制器部署问题;并与改进的nsga
‑ⅱ
算法(insga
‑ⅱ
)、传统的nsga
‑ⅲ
算法进行实验对比;该仿真实验中,各算法的迭代次数maxgen为200,种群数pop为100,交叉概率pc为0.5,变异概率为pm为0.5。
[0168]
当设置的控制器数量为10时,三种多目标遗传算法各自的pareto最优解集而形成的pareto前沿如图12所示;图12中,insga
‑ⅲ
算法的pareto最优解集对应目标函数值形成的超曲面在其他多目标遗传算法的最前方,为详细解析仿真实验结果,将图12的三维坐标图转换成如图13~图15所示二维坐标图;其中,图13为时延与负载均衡分析图,图14为负载均衡与可靠性系数分析图,图15为可靠性系数与时延分析图;由图12~图15可知,insga-iii算法在寻优方面,其方案无论在负载均衡、可靠性还是时延方面均优于其他算法,充分证实了该算法的有效性。
[0169]
为评估算法的整体寻优性能,将三个目标赋予不同的权重后加权求和,建立整体性能目标函数,整体性能目标函数通过以下公式表示:
[0170]
w=α
×
fap+β
×
t+δ
×
ba[0171]
式中,w为整体性能目标函数;fap为leo卫星网络的平均失效概率;t为leo卫星网络控制链路时延;ba为leo卫星网络的负载均衡系数;α、β和δ分别为leo卫星网络的平均失效概率、leo卫星网络控制链路时延和leo卫星网络的负载均衡系数的权重,且满足α、β、δ∈(0,1),α+β+δ=1,权重可根据问题的实际情况进行调整。
[0172]
本发明的仿真实验将各个单目标的权重设置为α=β=δ=1/3,各算法pareto最优解集的整体性能分析表如表1所示,表1中运行次数代表每个算法各运行五次,每次运行结果中各算法各种部署方案的三个目标值中若存在单个目标的最佳情况,则将单个目标的最佳情况记录下来,将三个目标值转换成整体性能目标函数值作为表1中的数值;由表1中的数据可知,insga
‑ⅲ
算法相比于insga
‑ⅱ
算法和nsga
‑ⅲ
算法不但在局部单目标方面寻优性能较好,而且从全局整体性能目标函数值的结果分析方面来看,也比其他算法的寻优能力强。
[0173]
表1各算法pareto最优解集的整体性能分析表
[0174][0175]
通过设置不同数量的控制器,更进一步分析insga
‑ⅲ
算法;图16为控制器数量为12时的各算法pareto前沿图,图17为控制器数量为8时的各算法pareto前沿图;综合图16和图17可以看出,在不同的控制器数量下,insga
‑ⅲ
算法(改进的nsga
‑ⅲ
算法)在寻优策略上仍优于insga
‑ⅱ
、nsga
‑ⅲ
,充分说明了该多控制器部署方法的鲁棒性强。
[0176]
实施例二
[0177]
图18为本发明的一个实施例提供的一种卫星网络sdn多控制器部署系统,包括卫星网络架设模块、多目标优化模型构建模块、计算模块和部署模块;
[0178]
所述卫星网络架设模块用于架设基于sdn的卫星网络架构;
[0179]
所述多目标优化模型构建模块用于基于卫星网络构建多目标优化模型;
[0180]
所述计算模块用于基于改进的nsga
‑ⅲ
算法对所述多目标优化模型进行求解,从而获得最优sdn多控制器部署方案;
[0181]
所述部署模块用于基于所述最优sdn多控制器部署方案对卫星网络进行部署。
[0182]
所述计算模块执行以下操作:
[0183]
s310:对leo卫星控制器节点和leo卫星交换机节点同时进行编码,种群初始化以生成初始化种群;
[0184]
s320:计算所述初始化种群中每个个体的适应度值,基于所述每个个体的适应度值进行快速非支配排序以将初始化种群分成不同的层级;所述每个个体的适应度值为控制器部署方案的星间链路的可靠性的目标函数值、leo卫星网络负载均衡的目标函数值和leo卫星网络控制链路时延的目标函数值;
[0185]
s330:在快速非支配排序后的种群中选择精英个体;
[0186]
s340:从所述精英个体中选择参与交叉的个体,通过多点混合交叉的方式对所述参与交叉的个体进行交叉操作;随机生成一个随机数,当随机数小于自适应变异概率时,则对交叉操作后的个体执行变异操作;当随机数大于或等于自适应变异概率时,则不对交叉操作后的个体执行变异操作;对交叉或变异操作后的子代种群进行约束修复;
[0187]
s350:基于精英选择策略进行精英选择,以获得精英选择后的个体;
[0188]
s360:将精英选择后的个体与当前精英个体逐一进行支配判断,若精英选择后的个体能够支配当前精英个体,则进一步更新当前精英个体,否则不进行更新;
[0189]
s370:重复所述步骤s340~s360以对种群进行不断寻优更新,输出非支配最优解集并解码,从而获得最优sdn多控制器部署方案。
[0190]
在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0191]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0192]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0193]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0194]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1