一种空间信息网络空间层控制器选举算法的制作方法

文档序号:12491567阅读:228来源:国知局
一种空间信息网络空间层控制器选举算法的制作方法与工艺
本发明属于卫星通信
技术领域
,涉及一种空间信息网络空间层控制器选举算法。
背景技术
:空间信息网相对于传统的地面信息网是一个规模庞大,结构复杂的网络。空间信息网的拓扑结构是周期性变化的,空间信息网中的网络节点是由各种飞行器组成的,其空间位置不固定,网内各节点之间的信息链路也不固定。航天器类型的飞行器运行稳定,具有自己的轨道,相互的链路也是可预测的,但是临近空间飞行器确是不稳定的,会出现不可预测的中断。同时,空间信息网中包含不同的通信协议。ATM(异步传输模式)的面向连接的空间信息网络使宽带卫星网络能够无缝传输Internet业务,因而这种方式的网络能在一定程度上满足人们对数据传输的需求。基于改进TCP/IP协议的组网方式,主要使用基于Ku或Ka波段的静止轨道卫星GEO和中轨卫星MEO。无连接的IP空间信息网络指使用改进的IP路由算法,实现空、天节点之间的互联与数据传输。传统基于IP的无连接的网络只能提供“尽最大努力交付“的服务,为能满足多媒体业务数据传送的QoS需求。SDN是一种新型网络创新架构,通过将网络设备控制面与数据面的分离,从而实现了网络流量的灵活控制。与软交换技术相比,SDN增加了网络的灵活性和可扩充性,将网络控制与物理网络拓扑分离,从而摆脱硬件对网络架构的限制。针对于异构网络,使用SDN技术可以进行网络流量的有效集成和聚合,以一定的承载网络来对接不同的应用QoS要求,控制网络流量分配。SDN使用控制器(一般指位于大型服务器上网络流量控制操作系统或软件)来控制网络中的数据包的转发路由,通过网络功能虚拟化的方法,实现端到端的数据通信,而不关心底层数据具体的传输方式。在面对空间信息网网络拓扑不断变化与内部涉及协议体系的不同的问题上,研究如何结合SDN技术的统一控制思想来提高整体网络的通信效率是十分具有意义的。技术实现要素:本发明的目的是提供一种空间信息网络空间层控制器选举算法。采用分层分区域策略简化复杂的空间信息网络,并利用SDN技术的集中控制思想将空间层分为六个区域,并在每个区域中选取适当的卫星作为控制器节点,同时考虑到卫星拓扑的周期性变化,控制器节点也会随着周期的变化而变化。为达到上述目的,本发明提出的技术方案为一种空间信息网络空间层控制器选举算法,包含以下步骤:步骤1:在卫星节点收到选取开始信息后,各卫星节点检查自身状态,所有检测未发生故障的节点都参与选举,发生故障的卫星不参与此次选举;步骤2:所有参与选取的卫星节点发布其负载程度值与其他卫星发生的跳数信息;步骤3:综合考虑负载程度与跳数,选取出负载程度轻且一跳,二跳尽可能多的节点,u为选举卫星的最终权值,L0为预设负载值,Li为i卫星当前负载程度值,t1为网络中一跳节点的数目,t2为网络中二跳节点的数目,tall为该区域内跳数的总和,当负载程度小于预设值是,数值则会为正,为总体加分,当发生一跳,二跳次数多时,则会加分更多,选取权值最多的卫星节点做为控制器;步骤4:发布各个区域控制器卫星的信息,通知到各个控制器节点卫星当中去;步骤5:本次周期结束,进入下一个周期;步骤6:将上个周期中的控制器节点卫星编号放入若干个缓存区域,;步骤7:将与控制器节点卫星直接相连的卫星加入该控制器卫星所属的缓存区域;步骤8:若缓存区域内存在着相同的卫星节点,则通过判断其虚拟参数,比较虚拟参数的大小,将该相同的卫星节点归属到虚拟参数大的缓存区域。步骤9:第二次向缓存区域加入与区域内卫星节点相邻的卫星节点,该次加完之后所有的卫星节点都已经加入缓存区域。如果缓存区域存在相同卫星节点转步骤8;当所有区域内没有相同的卫星节点转步骤10;步骤10:将缓存区域内卫星节点数目大于特定值的进行处理。判断虚拟参数依次将虚拟参数小的卫星节点链路退出该虚拟区域,并保存到一个新的区域,直到缓存区域内的卫星节点数目等于该特定值;步骤11:将缓存区域内卫星节点数目小于上述特定值的进行处理。判断虚拟参数依次将虚拟参数大的卫星节点加入到新的虚拟区域,直到六个虚拟区域内的网络节点都为上述特定值;步骤12:在新划分的网络区域内重新进行控制器节点选举,跳转步骤1。进一步,步骤2中跳数信息包括一跳和二跳。进一步,步骤6中,缓存区域数量为6,六个区域分别编号为R1,R2,R3,R4,R5,R6。步骤8中,对于虚拟参数越大越好的使用其中,Rmax网络提供的该虚拟参数最大值,Rmin为控制平面可以忍受该虚拟参数最小,ri为当前网络时刻下的虚拟参数值;对于虚拟参数越小越好的使用其中,Tmax为控制平面能够容忍的该虚拟参数的最大值;Tmin为该网络该虚拟参数最小值;ti为当前网络时刻下的虚拟参数值。步骤10、11中所述特定值为11。本发明的有益效果在于:1,传统的空间信息网涉及范围广阔,卫星拓扑具有变化周期性的特点以及整体网络涉及异构网络。分层的不明确使得传输中往往会存在时间的过度浪费。同时,异构网络融合策略的不足也使得整体网络的传输效率有待提高。过去的发明致力于从局部解决这些问题,对局部进行改善,虽然已经对空间信息网有了长足的改善,但是却不能从整个网络角度出发,对整体空间信息网进行改善。2,本发明运用最新的SDN技术,将SDN数据平面与控制平面相分离从而实现统一控制的思想加入到空间信息网中,提出一种基于SDN技术的空间信息网架构。基于整体空间信息网层次较为复杂的原因,将整体空间信息网划分为空间层,临近空间层与地面层,保证控制器在层与层之间的传输尽量减少。同时针对空间层卫星拓扑随周期不断变化提出分区域控制器选举算法。附图说明图1是分层空间信息网架构示意图;图2是铱星系统示意图;图3是同层同区域通信示意图;图4是同层不同区域通信示意图;图5是不同层不同区域通信示意图;图6是分区域选举算法流程图。具体实施方式现结合附图对本发明做进一步详细的说明。1.空间信息网分层架构空间信息网共分为三层,由上至下为空间层,临近空间层,地面层。其中空间层为铱星系统的单层LEO卫星星座,其特点是网络拓扑随时间的变化而变化且变化呈现一定的周期性。因此,在本层控制器节点要结合周期的变化来进行选取。临近空间层为高空热气球,飞艇等设备,其特点是网络拓扑同样随时间的变化而变化,但是其又不确定性,各种气象会对其造成位置的影响,其控制器节点需要监视普通的节点,而该层的所有通信节点也要被空间层的控制器监视,以确保其位置。地面层是原高空层与地面层的融合,原有高空层为无人机队列,无人机队列相对于卫星与飞艇的计算能力相对较弱,将使无人机负载变大。其次,多出一层也会使控制器节点进行层与层通信变得复杂。因此,将原有高空层与地面层进行融合,由地面层的网络控制管理中心进行统一控制。而现地面层的特点是存在异构网络,异构网络间的切换必定会引起整个空间信息网络通信效率低下,SDN技术则可以通过按需控制来为不同的通信选择最优的通信路径,从而加强整个网络的通信效率。空间信息网的组网策略和拓扑变化与传统地面网络有显著不同。在以分好的三层空间信息网架构下,空间层可以完全覆盖下层的临近空间层与地面层,临近空间层也可以覆盖地面层。对于拓扑的变化,各层之间也存在着不同。在空间层卫星的运动速度快且拓扑变化呈现周期性。临近空间层通过动力设备使得高空热气球在特定的区域锚定。地面层的设备运动可以忽略不计,可以将地面层的拓扑视为固定不变的。因此,在控制器的放置上空间层的控制器需要随着拓扑的变化而变化,临近空间层的控制器选取后,只要其不发生故障,控制器节点则不会发生改变,地面层则直接选取数控中心作为控制器,对本区域内的用户与无人机进行控制。在空间信息网分层架构选取控制器后,整体网络就会有三种类型的传输,即同层同区域内传输,同层不同区域内传输,不同层不同区域内传输。(1)同层同区域传输如图3所示:A区域内有a1,a2,a3,a4四个同层同区域的节点,a1为控制器节点,a2,a3,a4为普通节点。当a2要与a3建立连接时,a2会向控制器节点a1发出请求,a1收到请求后会查找其控制的全网拓扑,当发现a3后则会通知a2。由于a1知晓本区域的全部信息,便可为a2,a3之间通信建立a2→a3与a2→a4→a3两条路径。(2)同层不同区域传输如图4所示:A区域内有a1,a2,a3,a4四个同层同区域的节点,a1为控制器节点,B区域内有b1,b2,b3,b4四个同层同区域的节点,b1为控制器节点,A,B区域为同层区域。若a2与b3之间进行通信,首先a2需要知道b3的信息,a2先向控制器a1发出请求,a1在本区域内寻找b3信息,b3不在a1的区域内,则a1将请求发送给与其相连的控制器b1,b1在区域内寻找b3信息,找到b3,则按寻找路径反向发送回去。此时,a2,b3就互相知道对方的信息,并通过控制器为其连接建立路径。(3)不同层不同区域传输如图5所示:A区域内有a1,a2,a3,a4四个同层同区域的节点,a1为控制器节点,B区域内有b1,b2,b3,b4四个同层同区域的节点,b1为控制器节点,C区域内有c1,c2,c3,c4四个同层同区域的节点,c1为控制器节点。A,B区域为同层区域,C与A,B为不同层。a2想与c3建立连接,在同层区域内间的寻找过程与同层不同区域相同,而同层间没有发现c3信息,b1则会向不同层去发送请求,当在C区域找到c3信息,则通过c1→b1→a1将c3信息返回。此时,控制器只需要为其分配路径即可。2.空间层分区域控制器选取空天层范围广阔,仅用单控制器去对整体网络进行统一控制,不但会加大控制器节点卫星的负载,同时,一旦该控制器卫星出现故障,空天层甚至是整个空间信息网都会处于瘫痪状态。因此,将铱星网络星座划分成多个局部的区域,在每个区域中选举出一个卫星节点做为控制器节点卫星,对该区域进行统一的控制。其思想是使用多个独立控制器代替一个全能控制器去管理整个空间信息网。分区域控制器选举算法将集中控制的负载分散到多个卫星节点上去,同时,控制器卫星仅拥有本区域内的全局网络信息,可以最大程度的保障信息的安全,当本区域内控制器卫星出现故障时,其他区域内的通信依然可以正常进行,仅需要在本区域内进行控制器节点的重新选举,就可以实现全网的恢复。选举出的控制器卫星节点在整个空间信息网中担当着最重要的角色,它拥有最高的权限与最全面的网络信息。因此,作为控制器节点的卫星要具备一些性能的保障。(1)主控制器卫星需要有足够大的内存容量以保障主控制器卫星可以运行足够的功能。(2)主控制器卫星需要有足够的计算能力以对全网拓扑进行全局的控制。(3)主控制器卫星负载程度要尽可能小。本发明将铱星系统作为空间层卫星星座,因为LEO卫星具有足够大的内存与足够的计算能力,所以在卫星选举的过程中要着重考虑作为控制器节点卫星的负载程度。其次,选举出的卫星当前负载很小,但是它与本区域内的其他卫星的距离都远,则会影响其向区域内卫星下发信息的速率,因为铱星系统内卫星间距离变化不大,所以我们将距离转化为跳数,通过控制转接节点个数,防止控制器多跳,影响整体性能。因此,在本区域内的控制器卫星选举需要综合考虑负载程度与控制器节点跳数。铱星系统参数如下表1所示。表1铱星系统参数卫星总数66轨道平面数6海拔780km卫星间间隔2800英里在铱星系统中将66颗卫星分为6组,每组11颗卫星,在每组中进行控制器选举算法选举控制器卫星,权值最高者当选控制器卫星,权值公式如下所示:u为选举卫星的最终权值,L0为预设负载值,Li为i卫星当前负载程度值,t1为网络中一跳节点的数目,t2为网络中二跳节点的数目,tall为该区域内跳数的总和。当负载程度小于预设值是,数值则会为正,为总体加分。当发生一跳,二跳次数多时,则会加分更多。选取最优的卫星节点做为控制器。由于卫星拓扑是不断变化的,下个周期内原区域内的卫星发生了变化。同时,各个卫星的负载程度也发生了变化。因此,区域要重新进行划分且要对控制器卫星进行重新选举。SDN技术的集中控制思想在重新划分区域的过程中可以将卫星间的距离转换成为一个虚拟参数。这里的距离可以是时延,可靠性等属性,用集合P定义,P={p1,p2,p3...pn},P为所需要的属性。相应属性的权值用集合Q定义,Q={q1,q2,q3...qn}。虚拟参数如下:选取好所需要的属性后,使用上个周期的控制器卫星作为中心,重新划分一个包含11个卫星节点的区域,使周期内时延最小或者是可靠性最高。区域重新划分后,取消原控制器控制功能,在区域内重新选取出新的控制器卫星。3.归一化处理在虚拟长度中提到的误码率,时延,用户吞吐量,网络负载,可靠性等属性在网络中的作用各有不同,有的越大则性能越好;有的则是越小,网络性能则更优。如本发明选定的五个属性中误码率,时延,网络负载时是越小越好;用户吞吐量,可靠性则是越高越好。因此,要对各个属性进行归一化处理。对于越小性能越好的属性如:误码率,时延:其中对于误码率,Rmax为控制平面能够容忍的最大误码率;Rmin为该网络可以提供的最小误码率;ri为当前网络时刻下的误码率。对于时延,Rmax为控制平面能够容忍的最大时延;Rmin为该网络可以提供的最小时延;ri为当前网络时刻下的时延。从数值上可以看到,当前网络的ri越小,分数也将会更高。对于越大性能越好的属性如:吞吐量,可靠性:其中对于吞吐量,Tmax网络提供的最大吞吐量;Tmin为控制平面可以忍受最小吞吐量;ti为当前网络时刻下的吞吐量。对于可靠性,Tmax为网络提供的最大可靠性;Tmin为控制平面可以忍受的最小时延;ti为当前网络时刻下的时延。从数值上看,当前网络ti越大,分数也将会更高。网络负载:对于网络负载,其的评分方式有别于以上四种属性。因为以上四种属性即使与控制平面所需求的有所不同,但是该网络依然可以做为候选网络。然而当网络负载过大甚至是无资源可用的时候,即使该网络的其他属性很优秀,控制平面也不愿意选择此网络进行通信。因此,对于网络负载本发明采用分段函数表示:其中Ss为该网络剩余的网络资源;Si为该次通信所需要的网络资源;Sall为该网络总网络资源。当F的数值为0时,则表示网络无资源可用。针对空间信息网覆盖范围广以及异构网络的存在,运用SDN技术统一控制思想将空间信息网分为空间层,临近空间层以及地面层。采用铱星系统做为空间层卫星星座,针对空间层网络拓扑周期性变化的特点,提出空间层分区域控制器选举算法并通过SDN控制器对异构网络进行打分,选取异构网络中最适合的网络做为下一个传输的网络,以实现异构网络的融合。本发明提出的算法都是以加入SDN控制器的新型空间信息网为基础的,网络的构架如图1所示。将铱星系统下的空间层网络划分为六个区域并在每个区域选取出一个卫星节点作为控制器节点。铱星系统如图2所示,铱星系统参数如表1所示。其次,空间层网络拓扑变化具有周期性,假定一个周期内卫星拓扑固定不变。而下一个周期会有新的卫星进入该区域,同时各个卫星的负载程度也会发生变化,所以需要重新选取控制器节点卫星。如图6所示,分区域选举算法按照以下流程:步骤1:在卫星节点收到选取开始信息后,各卫星节点检查自身状态,所有检测未发生故障的节点都参与选举。发生故障的卫星不参与此次选举。步骤2:所有参与选取的卫星节点发布其负载程度值与其他卫星发生的跳数信息(如一跳数量,二跳数量)。步骤3:综合考虑负载程度与跳数,选取出负载程度轻且一跳,二跳尽可能多的节点。步骤4:发布各个区域控制器卫星的信息,通知到各个控制器节点卫星当中去。步骤5:本次周期结束,进入下一个周期。步骤6:将上个周期中的控制器节点卫星编号放入六个不同的缓存区域,六个区域分别编号为R1,R2,R3,R4,R5,R6。步骤7:将与控制器节点卫星直接相连的卫星加入该控制器卫星所属的缓存区域。步骤8:若缓存区域内存在着相同的卫星节点,则通过判断其虚拟参数,如:时延,可靠性等。通过比较虚拟参数的大小,将该相同的卫星节点归属到虚拟参数大的缓存区域。步骤9:第二次向缓存区域加入与区域内卫星节点相邻的卫星节点,该次加完之后所有的卫星节点都已经加入缓存区域。如果缓存区域存在相同卫星节点转步骤8;当所有区域内没有相同的卫星节点转步骤10。步骤10:将缓存区域内卫星节点数目大于11的进行处理。判断虚拟参数依次将虚拟参数小的卫星节点链路退出该虚拟区域,并保存到一个新的区域,直到缓存区域内的卫星节点数目等于11。步骤11:将缓存区域内卫星节点数目小于11的进行处理。判断虚拟参数依次将虚拟参数大的卫星节点加入到新的虚拟区域,直到六个虚拟区域内的网络节点都为11。步骤12:在新划分的网络区域内重新进行控制器节点选举,跳转步骤1。在基于SDN的空间信息网架构下,多次运用到将控制功能集中到控制平面后,整个网络的决策与资源分配可以根据控制平面的需求进行改变。如空间层使用的虚拟参数,虚拟参数可以是时延,安全性等属性。同样在异构网络融合中,也可以根据需求的不同选取不同的属性,本发明选取的是误码率,时延,用户吞吐量,网络负载,可靠性五个属性。根据控制平面的需求也可以选择加入其它的属性,如用户偏好等。由于属性优劣的判断标准不统一,有的属性是值越大越好而有的属性则是值越小越好。因此,本发明首先对各个属性进行归一化处理。误码率,时延等数值越小越好的属性:其中对于误码率,Rmax为控制平面能够容忍的最大误码率;Rmin为该网络可以提供的最小误码率;ri为当前网络时刻下的误码率。对于时延,Rmax为控制平面能够容忍的最大时延;Rmin为该网络可以提供的最小时延;ri为当前网络时刻下的时延。从数值上可以看到,当前网络的ri越小,分数也将会更高。吞吐量,可靠性等数值越大越好的属性:其中对于吞吐量,Tmax网络提供的最大吞吐量;Tmin为控制平面可以忍受最小吞吐量;ti为当前网络时刻下的吞吐量。对于可靠性,Tmax为网络提供的最大可靠性;Tmin为控制平面可以忍受的最小时延;ti为当前网络时刻下的时延。从数值上看,当前网络ti越大,分数也将会更高。在本发明提出的基于SDN的三层空间信息网架构中,空间层使用铱星系统,将66颗卫星分为六个区域,每个区域分配11个初始卫星。初始卫星区域通过负载程度与跳数选举出控制器节点卫星;在下个周期,卫星的拓扑发生改变,初始区域内卫星位置以及卫星的繁忙程度也发生了改变。通过虚拟参数重新为卫星分区并在重新分配的区域内再次使用选举算法,获得新的控制器节点卫星。具体流程如下:步骤1:在卫星节点收到选取开始信息后,各卫星节点检查自身状态,所有检测未发生故障的节点都参与选举。发生故障的卫星不参与此次选举。步骤2:所有参与选取的卫星节点发布其负载程度值与其他卫星发生的跳数信息(如一跳数量,二跳数量)。步骤3:综合考虑负载程度与跳数,选取出负载程度轻且一跳,二跳尽可能多的节点。u为选举卫星的最终权值,L0为预设负载值,Li为i卫星当前负载程度值,t1为网络中一跳节点的数目,t2为网络中二跳节点的数目,tall为该区域内跳数的总和。当负载程度小于预设值是,数值则会为正,为总体加分。当发生一跳,二跳次数多时,则会加分更多。选取权值最多的卫星节点做为控制器。步骤4:发布各个区域控制器卫星的信息,通知到各个控制器节点卫星当中去。步骤5:本次周期结束,进入下一个周期。步骤6:将上个周期中的控制器节点卫星编号放入六个不同的缓存区域,六个区域分别编号为R1,R2,R3,R4,R5,R6。步骤7:将与控制器节点卫星直接相连的卫星加入该控制器卫星所属的缓存区域。步骤8:若缓存区域内存在着相同的卫星节点,则通过判断其虚拟参数,如:时延,可靠性等。通过比较虚拟参数的大小,将该相同的卫星节点归属到虚拟参数大的缓存区域。对于虚拟参数越大越好的使用其中,Rmax网络提供的该虚拟参数最大值;Rmin为控制平面可以忍受该虚拟参数最小;ri为当前网络时刻下的虚拟参数值。对于虚拟参数越小越好的使用其中,Tmax为控制平面能够容忍的该虚拟参数的最大值;Tmin为该网络该虚拟参数最小值;ti为当前网络时刻下的虚拟参数值。步骤9:第二次向缓存区域加入与区域内卫星节点相邻的卫星节点,该次加完之后所有的卫星节点都已经加入缓存区域。如果缓存区域存在相同卫星节点转步骤8;当所有区域内没有相同的卫星节点转步骤10。步骤10:将缓存区域内卫星节点数目大于11的进行处理。判断虚拟参数依次将虚拟参数小的卫星节点链路退出该虚拟区域,并保存到一个新的区域,直到缓存区域内的卫星节点数目等于11。步骤11:将缓存区域内卫星节点数目小于11的进行处理。判断虚拟参数依次将虚拟参数大的卫星节点加入到新的虚拟区域,直到六个虚拟区域内的网络节点都为11。步骤12:在新划分的网络区域内重新进行控制器节点选举,跳转步骤1。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1