System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及软件定义卫星网络(software defined satellite network,sdsn)的控制器部署技术,特别是一种基于麻雀算法(sparrow search algorithm,ssa)的软件定义卫星网络控制器动态部署方法。
技术介绍
1、随着软件定义卫星网络的发展和国内外学者的广泛关注,控制器如何部署作为软件定义卫星网络中的核心问题,在提高卫星网络性能和满足用户业务需求方面发挥重要作用。迄今为止,已经有了大量相关的研究成果,但是在这些研究中仍存在被忽视的问题:一方面由于卫星网络的网络规模较大,因此在大部分sdsn的研究中都优先考虑网络时延的影响,会忽略控制器负载是否均衡、网络链路可靠性等问题。另一方面目前研究都没有考虑软件定义卫星网络中卫星间链路状态的变化对网络性能的影响。当卫星运行到两极地区时(纬度大于60度时)相邻轨道平面在高纬度地区或极区相交,相邻卫星在穿过交汇点时,其相对空间位置发生变化。因此,轨道间链路必须断开后重新建立,这种轨间链路的切换会带来网络拓扑的改变,需要在部署控制器时加以考虑。因此,要充分考虑各方面的优化来部署控制器模型非常的关键。
技术实现思路
1、为了解决现有技术存在的上述问题,本专利技术要提出一种基于麻雀算法的软件定义卫星网络控制器动态部署方法,以保证控制器间的负载均衡,降低网络时延,提高网络性能。
2、为了实现上述目的,本专利技术的技术方案如下:一种基于麻雀算法的软件定义卫星网络控制器动态部署方法,包括以下步骤:
3、a、用时间片表示软件定义卫星网络
4、所述软件定义卫星网络即sdsn由运行周期内的一系列时间片组成,每一个时间片用来刻画在该时间片内静态的卫星网络拓扑;
5、b、建立控制器部署目标函数
6、将sdsn建模为无向图g=(v,e),其中v代表sdsn中的卫星节点,e为两个卫星节点之间的链路。
7、将sdsn中控制器部署的目标函数设置为三个优化方向的加权和:minmize(ω1tσ+ω2lσ+ω3pe),ω1,ω2,ω3为三个权重因子,并且ω1+ω2+ω3=1;tσ,lσ,pe分别为卫星网络时延标准差,控制器负载标准差及卫星网络可靠性;
8、c、基于改进的麻雀算法部署控制器。
9、进一步地,所述步骤a将sdsn中卫星运行的一个周期时间t分成g个时间片,用ητ表示任意一个时间片,τ=1,2,3,...,g。
10、进一步地,所述步骤b中,设c={c1,c2,…cm}为卫星节点中控制器的集合,m为控制器的总个数,s={s1,s2,…sn}为卫星节点中交换机的集合,n为交换机的总个数。为一个二进制数,表示在ητ这一时间片内,第i个控制器ci与第j个交换机sj是否有连接,i=1,2,...m,j=1,2,...n,用公式表示如下:
11、
12、所述卫星网络时延标准差,控制器负载标准差及卫星网络可靠性的计算方法如下:
13、b1、计算卫星网络时延标准差:
14、
15、式中,m为控制器个数,表示控制器ci到交换机sj之间的最短路径,z为一个控制域内交换机的个数,c为光的传播速度。
16、b2、计算控制器负载标准差:
17、
18、式中,fj表示交换机sj在一个时间切片内发送给控制器ci的流量大小。
19、b3、计算卫星网络可靠性:
20、
21、拥塞情况由控制器ci到交换机sj之间链路带宽ωi,j和通过的流量fi,j组成。表示控制器ci到交换机sj之间链路长度引起的丢包概率,用丢包率pe表示卫星网络可靠性。
22、进一步地,所述步骤c中基于改进的麻雀算法包括以下步骤:
23、c1、初始化种群
24、将sdsn建立的无向图g=(v,e)作为麻雀算法输入,并随机挑选出m个节点作为初始控制器的位置,并且控制器位置作为聚类中心,利用k-means聚类算法计算每个卫星节点到控制器位置节点的距离,将每个卫星节点分配给距离自己最近的控制器,来划分控制器所包含的区域,得到的每一个控制器部署位置以及相应的控制域划分方案作为初始的麻雀种群。
25、c2、更新适应度函数并将麻雀种群分类
26、将sdsn建模的目标函数作为麻雀算法的适应度值,通过计算将每个麻雀的适应度值进行降序排列,选择前20%作为发现者,中间60%作为加入者,并随机抽取20%作为侦察者。
27、c3、更新发现者和加入者的麻雀位置
28、发现者、加入者分别按照公式(5)、公式(6)对麻雀位置进行更新:
29、
30、
31、式中,表示第u个麻雀在第iter次迭代中第v维中的位置信息,iter表示当前迭代次数,α是一个随机数,itermax表示最大迭代次数,q是一个服从标准正态分布的随机数,l表示全1矩阵,r2和st分别表示预警值和安全值,n为种群规模,xp是目前发现者的最优位置,xworst表示当前全局最差位置,a表示一个1×d的矩阵。
32、c4、动态调整步长参数
33、在每次迭代更新侦察者位置前,用以下公式对步长控制参数β进行动态调整,较大的控制参数有利于全局搜索,较小的控制参数有利于局部搜索:
34、
35、fxbest表示全局最佳适应度值,fxworst表示全局最差适应度值。
36、c5、更新侦察者的麻雀位置
37、侦察者按照公式(8)对麻雀位置进行更新
38、
39、式中,xbest是当前全局最优位置,k表示移动方向,fxu是当前麻雀u的适应度值。
40、通过不断迭代此过程,计算出sdsn中控制器最佳的部署位置以及控制域的划分。
41、与现有技术相比,本专利技术具有以下有益效果:
42、1、本专利技术以保证卫星网络链路可靠性、降低网络时延、平衡卫星网络控制器负载为优化目标,并对卫星网络的动态性进行充分地研究,建立控制器动态部署模型,以适应各种大型动态的卫星网络。
43、2、本专利技术对麻雀搜索算法进行k-means初始化改进以及步长参数动态调整的改进,减少算法受初始化干扰,提升了算法的精度,并且对步长参数动态调整,使算法更加灵活的在全局和局部中搜索。
44、3、综上,本专利技术基于麻雀算法的软件定义卫星网络控制器动态部署具有良好的应用前景。
本文档来自技高网...【技术保护点】
1.一种基于麻雀算法的软件定义卫星网络控制器动态部署方法,其特征在于:包括以下步骤:
2.根据权利要求1所述一种基于麻雀算法的软件定义卫星网络控制器动态部署方法,其特征在于:所述步骤A将SDSN中卫星运行的一个周期时间T分成g个时间片,用ητ表示任意一个时间片,τ=1,2,3,...,g。
3.根据权利要求1所述一种基于麻雀算法的软件定义卫星网络控制器动态部署方法,其特征在于:所述步骤B中,设C={C1,C2,…Cm}为卫星节点中控制器的集合,m为控制器的总个数,S={S1,S2,…Sn}为卫星节点中交换机的集合,n为交换机的总个数;为一个二进制数,表示在ητ这一时间片内,第i个控制器Ci与第j个交换机Sj是否有连接,i=1,2,...m,j=1,2,...n,用公式表示如下:
4.根据权利要求1所述一种基于麻雀算法的软件定义卫星网络控制器动态部署方法,其特征在于:所述步骤C中基于改进的麻雀算法包括以下步骤:
【技术特征摘要】
1.一种基于麻雀算法的软件定义卫星网络控制器动态部署方法,其特征在于:包括以下步骤:
2.根据权利要求1所述一种基于麻雀算法的软件定义卫星网络控制器动态部署方法,其特征在于:所述步骤a将sdsn中卫星运行的一个周期时间t分成g个时间片,用ητ表示任意一个时间片,τ=1,2,3,...,g。
3.根据权利要求1所述一种基于麻雀算法的软件定义卫星网络控制器动态部署方法,其特征在于:所述步骤b中,设c={c...
【专利技术属性】
技术研发人员:魏德宾,乔维维,张怡,江亲龙,许平多,
申请(专利权)人:大连大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。