一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于集中式控制的卫星网络路由弹性恢复方法及系统

2022-09-01 07:43:00 来源:中国专利 TAG:


1.本发明涉及卫星网络技术领域,尤其涉及一种基于集中式控制的卫星网络路由弹性恢复方法及系统。


背景技术:

2.卫星网络具有覆盖范围广、网络容量大、组网建站灵活快速等优越性,逐渐成为国内外学术界和产业界的热点研究。然而,传统的地面分布式网络存在计算复杂度高、收敛慢且管控困难等缺点,难以直接应用于节点处理能力较弱的卫星网络。sdn(software defined network,软件定义网络)的提出为卫星路由的设计提供了新思路,其核心是将控制功能从网络节点中分离出来,进而减少节点的处理负担并大幅加强网络的管控能力。然而,基于集中式控制的卫星网络需要稳定的控制链路作为支撑,考虑到卫星网络拓扑存在大量环路且具有高动态性的特点,现有针对地面网络而设计的相关组网方案无法适用。此外,针对卫星网络特点而提出的集中式链路恢复方法大多作用于数据链路,即假设当前已经存在至少一条稳定的控制链路可以用来信令交互。为此,本发明提出一种基于集中式控制的卫星网络路由弹性恢复方法及系统,以维护控制链路的稳定并收集网络当前运行状态,并实现控制链路与数据链路的有效恢复。


技术实现要素:

3.本发明的实施例提供了一种基于集中式控制的卫星网络路由弹性恢复方法及系统,实现地控中心对卫星网络运行状态的有效感知与路由异常恢复。
4.为了实现上述目的,本发明采取了如下技术方案。
5.根据本发明的一个方面,提供了一种基于集中式控制的卫星网络路由弹性恢复方法,包括:
6.步骤s1.地控中心根据卫星运行轨迹与建链规则生成一系列由静态拓扑构成的有序快照集合,为每个拓扑快照构建一个以地控中心为根、其它所有转发节点为枝的树型控制链路;
7.步骤s2.地控中心根据当前时间从数据库中获取对应拓扑快照下的树型控制链路;
8.步骤s3.地控中心根据当前时间所对应的树型控制链路向网络各节点依次发送探测包,通过节点的回复报文收集节点与链路的运行状态;若无异常节点与链路,则获取全网运行状态信息,等待下一周期检测的开始;若当前存在异常节点与链路,则与所对应拓扑快照进行对比,去掉所探测的可达节点后获得当前失效链路与节点;
9.步骤s4.地控中心进行路由恢复,删除当前失效链路后,根据网络异常出现的位置选择恢复方式。
10.优选地,所述的方法还包括:
11.步骤s5.地控中心为将要恢复的节点重新计算路由,获得该节点到地控中心的新
路径;
12.步骤s6.地控中心为新路径上的节点下发新的转发规则;
13.步骤s7.地控中心确认下发的转发规则是否生效,并做出进一步处理。
14.优选地,所述的步骤s1包括:
15.s1.1.地控中心根据卫星运行轨迹与建链规则生成一系列由静态拓扑构成的有序快照集合;
16.s1.2.针对每一个拓扑快照,为每个中、低轨卫星轨道寻找一个能够连接地面站或高轨卫星的节点作为连接地控中心的中继点;若某个卫星轨道存在多个可选中继点时,地控中心以某种度量为目标计算这些可选中继节点到其的最小路径开销,并将具有最低路径开销的可选中继点作为主中继点;若某个卫星轨道未找到连接地面站或高轨卫星的节点,则寻找连接该轨道的层内异轨节点作为该轨道的可选中继点;
17.s1.3.根据中继点距离地控中心的远近以及轨内节点距离中继点的远近构建节点间层级关系,进而根据节点间的连接关系构建树型控制链路,一个节点的上级节点称为其父节点,一个节点的下级称为其子节点;
18.s1.4.将一个周期下的每一个拓扑快照所对应的树型控制链路映射关系存于数据库中。
19.优选地,所述的步骤s2包括:
20.根据当前时间层次遍历数据库中的所有树型控制链路,获得有序全网节点集合a、父节点与子节点映射关系、以及树型控制链路的全部枝干集合,地控中心到一个叶子节点的路径称为一个枝干,有序全网节点集合a用于判断网络是否存在异常并用于寻找异常位置,父节点与子节点映射关系用于后续查找某一节点的子节点、子孙节点以及为失效节点计算新路径,全部树枝枝干集合用于网络异常的有序检测;
21.优选地,所述的步骤s3包括:
22.s3.1.地控中心周期性地按照树枝枝干所指明节点层级关系,按顺序向各节点发送探测包,检测枝干上每个节点的有效性,检测时,依次记录每个枝干上的节点,若本树枝上的某一节点未曾出现在前面枝干,则主动给该节点发送探测包,记录当前时间,并设置超时阈值;若前面树枝枝干已包含该节点,则跳过不做处理;
23.s3.2.地控中心监听每个节点对于检测请求的响应,分为以下两种情况:
24.③
地控中心收到来自某个节点对于检测请求的响应,则解析响应信息中的节点与其邻居的通断情况、平均时延、平均吞吐量和平均丢包率信息,并将其响应信息加入相关状态信息集合,该节点加入有效节点集合v,检测该树枝上的下一个节点;
25.④
若地控中心在规定时间内没有收到对于某一节点的响应,则将该节点视为失效节点,暂时不对该节点进行处理,其子孙节点亦暂时不做处理;
26.s3.3.检测完树型控制链路之后,依据检测结果做出进一步判决,分为两种情况:
27.③
有效节点集合v与有序全网节点集合a相等,即网络正常,则进行下一轮检测与状态信息收集;
28.④
有效节点集合v与有序全网节点集合a不等,则网络出现异常,选取有序全网节点集合a和有效节点集合v的差集获得失效节点集合f,根据此检测结果进行路由弹性恢复。
29.优选地,所述的步骤s4中的根据网络异常出现的位置选择恢复方式,包括:
30.1)对于链路异常:
31.③
若同轨轨内链路出现异常,优先通过同轨轨内链路恢复方式对失效节点处理,获得有序恢复节点集合m;
32.④
若层间链路或层内轨间链路出现异常,通过层间或层内异轨链路恢复方式对失效节点处理,获得有序恢复节点集合m;
33.2)对于节点异常:
34.③
若某轨道非中继点出现异常,优先通过同轨轨内链路恢复方式对失效节点进行处理,获得有序恢复节点集合m;
35.④
若某轨道的中继点出现异常,通过层间或层内异轨链路恢复方式对失效节点进行处理,获得有序恢复节点集合m。
36.优选地,所述的步骤s4包括:
37.地控中心在树型控制链路中层次遍历寻找到第一个失效节点的位置,确定当前异常位置,将第一个失效节点与其父节点相连的链路视为当前失效链路,并根据链路类型做出以下不同处理;
38.更具体地,在处理当前失效链路时:
39.s4.1.在有序全网节点集合a中查找距离根节点最近的失效节点作为第一失效节点,根据父节点与子节点的映射关系找到第一失效节点的全部子孙节点,即有序首要恢复节点集合p,将失效节点中除有序首要恢复节点集合p之外的失效节点记为剩余失效节点集合r,以便恢复完有序首要恢复节点集合p中的节点后,无需检测与状态信息收集,直接进入s4,将剩余失效节点集合r作为失效节点集合f处理;
40.s4.2.在所对应的拓扑快照中删除当前失效链路,剩余部分即为潜在可用拓扑;
41.s4.3.根据当前失效链路两端节点分析异常位置,划分失效类型:若同轨轨内链路或某轨道非中继点出现异常,优先通过同轨轨内链路恢复方式对失效节点进行处理,获得有序恢复节点集合m;若层间链路、层内异轨链路或某轨道的中继点出现异常,通过层间或层内异轨链路恢复方式对失效节点处理,获得有序恢复节点集合m;
42.更具体地,在失效处理时:
43.s4.3.1.若采用同轨轨内链路恢复方式:由于同轨节点之间相对静止,同轨轨内链路相对稳定,所以同轨轨内链路恢复使用轨内有效节点作为有序首要恢复节点集合p的祖先节点;
44.s4.3.1.1.查找有序首要恢复节点集合p中最后一个节点的同轨有效邻居节点,查找结果分为以下两种情况:
45.③
可以找到同轨有效邻居节点,则将有序首要恢复节点集合p按照树型控制链路从下游到上游排序,存于有序恢复节点集合m以及有序尚需路由更新节点集合n,此时调整树型控制链路级联关系,即将有序首要恢复节点集合p所在枝干异常处的下游枝干截取下来,将其倒序排列之后,连接于同轨所在的另一个枝干叶子节点下方,并更新树型控制链路的映射关系,进入步骤s5;
46.④
无法找到同轨有效邻居节点,进入s4.3.2,即采用层间或层内异轨链路恢复;
47.s4.3.2.若选择层间或层内异轨链路恢复:
48.s4.3.2.1.按照有序首要恢复节点集合p所处的轨道,将有序首要恢复节点集合p
分为同轨失效节点集合s与异轨失效节点集合h;
49.s4.3.2.2.按照树型控制链路将同轨失效节点集合s处理,依据异常位置的不同分为以下两种情况:
50.③
若层间链路、层内异轨链路或某轨道的中继点出现异常,同轨失效节点集合s在树型控制链路上分为左枝和右枝;
51.④
对于同轨轨内链路或某轨道非中继点出现异常,即s4.3.1中采用层间或层内异轨链路恢复的情况,此时将同轨失效节点集合s作为左枝处理,按照树型控制链路从上游到下游排序;
52.s4.3.2.3.将第一失效节点存放于有序恢复节点集合m以及有序尚需路由更新节点集合n,根据潜在可用拓扑依次查找第一失效节点的层间或层内异轨邻居节点,并根据所收集的状态信息查找邻居节点中的有效节点,查找结果分为以下两种情况:
53.③
第一失效节点存在层间或层内异轨有效邻居节点,则将第一失效节点作为第一恢复节点,调整树型控制链路级联关系,即将有效邻居节点作为第一失效节点的父节点,将左枝、右枝依次加入有序恢复节点集合m,此时有序恢复节点集合m={第一失效节点,左枝,右枝},进入s5;
54.④
第一失效节点不存在层间或层内异轨有效邻居节点:
55.c.先在左枝上寻找第一恢复节点,则将左枝上的第一个节点插入有序恢复节点集合m的首位以及有序尚需路由更新节点集合n的首位,即有序恢复节点集合m={左枝上的第一个节点,第一失效节点},n={左枝上的第一个节点,第一失效节点},此时调整有序恢复节点集合m中前两节点的父子映射关系,即前者为父节点、后者为子节点;之后,查找左枝上的第一个节点的有效邻居节点,存在以下两种情况:
56.i)若左枝上第一节点存在有效邻居节点,则将左枝上第一节点作为第一恢复节点,调整树型控制链路层级关系,即将其有效邻居节点作为左枝第一节点的父节点,然后将第一恢复节点的子孙节点、右枝依次加入有序恢复节点集合m={第一恢复节点,第一失效节点,第一恢复节点的子孙节点,右枝},进入s5;
57.ii)若左枝上第一个节点不存在有效邻居节点,则按照从上游至下游的顺序依次查找左枝节点,直至找到第一恢复节点,即在左枝能找到第一恢复节点的情况下,将左枝上第一恢复节点的所有祖先节点按其到第一恢复节点距离由近到远依次插入有序恢复节点集合m的首位以及有序尚需路由更新节点集合n的首位,将第一恢复节点的子孙节点以及右枝失效节点依次加入有序恢复节点集合m,此时m={第一恢复节点,左枝上第一恢复节点的所有祖先节点,第一失效节点,第一恢复节点的子孙节点,右枝},n={第一恢复节点,左枝上第一恢复节点的所有祖先节点,第一失效节点},进入s5;
58.d.若在左枝的全部节点未找到第一恢复节点,则还原原有左枝节点的父子映射关系,然后按照上述处理左枝的方式处理右枝,若能找到第一恢复节点,此时,m={第一恢复节点,右枝上第一恢复节点的所有祖先节点,第一失效节点,第一恢复节点的子孙节点,左枝},n={第一恢复节点,右枝上第一恢复节点的所有祖先节点,第一失效节点},则进入s5;若右枝依旧不能找到第一恢复节点,则此轨道与其他轨道之间不存在链路,无法恢复,此时跳过对此轨道的恢复,若剩余失效节点集合r不为空,则将剩余失效节点集合r作为失效节点集合f,进入s4;若剩余失效节点集合r为空,则进入s3;
59.s4.3.2.4.当异轨失效节点集合h不为空时,按照树型控制链路的父子映射关系,查找异轨中继点与其父节点,然后查看其父节点是否是异常节点,分为下面两种情况:
60.③
若其父节点不是异常节点,将树型控制链路上异轨失效节点按照前序遍历排序,存于有序恢复节点集合m,进入s5;
61.④
若其父节点是异常节点,则将异轨失效节点集合h当做有序首要恢复节点集合p,进入s4.3.2。
62.优选地,所述的步骤s5具体包括:
63.地控中心利用更新的树型控制链路映射关系依次为有序恢复节点集合m中的将要恢复的节点重计算新转发规则,获得该节点到地控中心的新路径;
64.更具体地,路由重计算时:
65.s5.1.遍历有序恢复节点集合m,并判断恢复节点属于第一失效节点、左枝或右枝;
66.s5.2.根据有序恢复节点集合m中的节点顺序对每个恢复节点进行恢复,对集合m中当前首个恢复节点,根据其与其父节点的映射关系,逐步跳转到地控中心;该恢复节点到地控中心的所有链路即为新路径,利用更新的树型控制链路映射关系依次为有序恢复节点集合m中的恢复节点重计算新转发规则。
67.优选地,所述的步骤s6具体包括:
68.地控中心为新路径上的节点下发新的转发规则,在下发转发规则时,依据恢复节点是否属于有序尚需路由更新节点集合n分为以下两种情况:
69.③
若当前恢复节点属于有序尚需路由更新节点集合n,从地控中心到恢复节点沿途所涉及的所有节点都需要更新转发规则,将新路径上的节点加入有序下发节点集合i;遍历有序下发节点集合i,依次为有序下发节点集合i中节点下发相关转发规则,通过地控中心依次为恢复节点之外的沿途节点下发正向转发规则,并进入s7判断转发规则是否生效;为恢复节点下发反向转发规则,并进入步骤s7,判断转发规则是否生效;
70.④
若恢复节点不属于有序尚需路由更新节点集合n,则从地控中心到恢复节点沿途所涉及的部分节点需要更新转发规则,判断新路径上节点是否需要更新转发规则,具体如下:
71.c.若除第一恢复节点之外,若地控中心到当前恢复节点的新路径上存在节点属于有序尚需路由更新节点集合n,则需要为地控中心到第一失效节点之间的所有节点下发转发规则,将这些节点依次加入有序下发节点集合i,剩余节点无需下发转发规则,所以不做处理,最后将恢复节点加入有序下发节点集合i;
72.d.若上述新路径上的所有节点只有第一恢复节点属于有序尚需路由更新节点集合n,则将新路径上地控中心到第一恢复节点之间的所有节点依次加入有序下发节点集合i,剩余节点无需下发转发规则,不做处理,最后将恢复节点加入有序下发节点集合i;
73.遍历有序下发节点集合i,依次为有序下发节点集合i中节点下发转发规则,通过地控中心依次为恢复节点之外的沿途节点下发正向转发规则,下发一条转发规则则进入s7判断转发规则是否生效,而为恢复节点下发探测包,然后进入s7判断能否收到恢复节点的响应。
74.优选地,所述的步骤s7包括:
75.地控中心根据卫星的响应进行下一步处理,若能收到来自节点的响应,启用上述
步骤s3、s4、s5或是s6,在完成上述控制链路的恢复之后,利用地控中心收集到的状态信息集合以及可用拓扑,重计算路由,更新卫星网络中的数据链路;如果转发规则未生效,删除该未生效节点与其父节点之间的失效链路,并记录此未恢复的节点以及其子孙节点为未知失效节点集合u;以下将对于未知失效节点集合u的处理简称为未知异常处理,具体步骤如下:
76.③
若之前采用同轨轨内链路恢复方式,此时仍存在未知异常,分为以下两种情况:
77.c.若未生效节点是第一失效节点,此时为节点异常,将其记为异常节点,不做处理,判断剩余失效节点集合r是否为空,不为空时,则将剩余失效节点集合r作为失效节点集合f,进入步骤s4;
78.d.若未生效节点不是第一失效节点,将第一失效节点到未生效节点的所有节点作为有序首要恢复节点集合p,采用层间或层内异轨链路恢复方式,即s4.3.2;
79.④
若之前采用层间或层内异轨链路恢复方式,此时仍存在未知异常,则采用同轨轨内链路恢复处理未知失效节点集合u,分为以下两种情况:
80.a.若未生效节点不是第一失效节点,将未生效节点作为第一失效节点:
81.i)若未知异常处于左枝,此时优先按照层间或层内异轨链路恢复处理有序首要恢复节点集合p的方式处理右枝,即将右枝节点从上游到下游排序,依次加入有序恢复节点集合m与有序尚需路由更新节点集合n,此时m=n={右枝},通过步骤s5-s7恢复完右枝节点,通过同轨轨内链路恢复方式处理未知失效节点集合u,即将左枝未知异常链路下面部分枝干截取下来,将其按照原有上下游关系倒序排列之后,连接于右枝叶子节点上,也就是将未知失效节点集合u倒序后,加入有序恢复节点集合m,进入步骤s5;
82.ii)未知异常处于右枝,此时通过s4.3.1.1的同轨轨内链路恢复方式处理未知失效节点集合u,获得有序恢复节点集合m与有序尚需路由更新节点集合n后,进入步骤s5;
83.b.若未生效节点是第一失效节点,将未生效节点记为异常节点,依据s4.3.2.3方式对第一失效节点不做处理,直接查找左枝上节点的有效邻居节点,若能找到有效邻居节点,则左枝获取有序恢复节点集合m以及有序尚需路由更新节点集合n方式同上,调整树型控制链路级联关系,即将右枝截取下来,将其按照原有上下游关系倒序排列之后,连接于同轨所在的另一个枝干叶子节点下方,并更新树型控制链路的映射关系,将倒序排列的右枝节点加入有序恢复节点集合m以及有序尚需路由更新节点集合n,进入步骤s5。
84.根据本发明的另一个方面,提供了一种基于集中式控制的卫星网络路由弹性恢复系统,应用权利要求1至9任一项所述的基于集中式控制的卫星网络路由弹性恢复方法,所述系统包括:拓扑管理模块、检测与状态收集模块、失效处理模块、路由重计算模块、转发规则管理模块和确认转发规则生效模块;
85.所述拓扑管理模块,用于通过构建和更新以控制中心为根、其它转发节点为枝所组成的树型控制链路,将树型控制链路存储于数据库中;
86.所述检测与状态收集模块,用于根据当前时间从数据库中获取对应拓扑快照下的树型控制链路,根据当前时间所对应的树型控制链路向网络各节点依次发送探测包,以探测各节点的可达情况,并通过节点的回复报文收集节点与链路的运行状态;若无异常节点与链路,则获取全网运行状态信息,之后,等待下一周期检测的开始;若当前存在异常节点与链路,则与所对应拓扑快照进行对比,去掉所探测的可达节点后获得当前失效链路与节
点;
87.所述链路失效处理模块,用于网络出现异常时,删除初始完整拓扑里的失效链路,依据异常位置的不同,将异常链路或节点恢复分为同轨轨内链路恢复和层间或层内异轨链路恢复处理,获得有序恢复节点集合,负责恢复过程中转发规则未生效时发现的未知异常处理;
88.所述路由重计算模块,用于规避失效链路,为失效节点寻找到地控中心的最佳新路径;
89.所述转发规则管理模块,用于将路由重计算模块所获得的新路径下发给新路径上需要新转发规则的卫星节点;
90.所述确认转发规则生效模块,用于确定下发的转发规则是否生效,并根据结果做出响应处理。
91.由上述本发明的实施例提供的技术方案可以看出,本发明提出一种基于集中式控制的卫星网络路由弹性恢复方法及系统。通过地控中心对网络控制链路的周期探测与有效维护,实现其对网络态势的有效感知与路由异常恢复,保障卫星网络数据转发的正常运转。
92.本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
93.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
94.图1示出本发明使用的节点之间的关系,图中虚线框表示出现网络异常时,未知失效节点集合u可能为空,(a)有序全网节点集合a与其他集合的关系;(b)有序首要恢复节点集合p与两个集合的关系;(c)有序恢复节点集合与两个集合的关系。
95.图2示出本发明构建的典型树型控制链路,(a)典型树型控制链路1,(b)典型树型控制链路2,图2中编号为轨道号-节点号,其中1和2轨道为低、中轨,轨道号5轨道为高轨,轨道号6轨道为地面节点(将地面节点视为特殊轨道以便于统一编址)。
96.图3示出本发明的处理一个恢复节点的路由重计算、下发转发规则以及确认转发生效的交互过程。
97.图4示出本发明的新路径全部节点下发转发规则过程。
98.图5示出本发明的新路径部分节点下发转发规则过程,针对一个恢复节点而言,图中虚线部分依具体情况存在或不存在。
99.图6示出本发明的转发规则生效时的处理方式。
100.图7示出本发明的基于集中式控制的卫星网络路由弹性恢复系统框架。
101.图8示出本发明的基于集中式控制的卫星网络路由弹性恢复——同轨轨内链路恢复示例。
102.图9示出本发明的基于集中式控制的卫星网络路由弹性恢复——层间或层内异轨链路恢复示例。
103.注:图中全部下发代表新路径全部节点需要下发新的转发规则方式,部分下发代表新路径中部分节点需要下发新的转发规则。
具体实施方式
104.下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
105.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
106.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
107.为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
108.本发明提出一种基于集中式控制的卫星网络路由弹性恢复方法及系统,以维护卫星网络控制链路的持续稳定、并感知各节点与链路的运行状态。其核心功能实体主要包括置于地面的逻辑集中式地控中心以及由卫星与地面节点所组成的数据转发端。
109.所述卫星网络的空间段由高、中、低轨卫星组成,地面段则由地面站与相关地基转发设备构成。简便起见,以下将高、中、低轨卫星与地面站、地基转发设备等统称为节点。此外,以下所述层间链路是指不同轨道类型的星间链路或任意卫星轨道与地面站之间的链路。同轨轨内链路是指同一卫星轨道内的星间链路。层内异轨链路是指同一轨道高度类型下的相邻轨道之间的星间链路。
110.地控中心首先根据卫星运行轨迹与建链规则生成一系列由静态拓扑构成的有序快照集合,然后为每个拓扑快照预置一个树型控制链路,用于检测网络异常情况和收集网络状态信息,进而依据网络异常情况以及状态信息进行必要的路由调整与转发规则下发,以动态维护树型控制链路的稳定与畅通,保障控制信令的有效交互。
111.本发明实施例的基于集中式控制的卫星网络路由弹性恢复方法的处理流程包括以下处理步骤:
112.步骤s1.地控中心首先根据卫星运行轨迹与建链规则生成一系列由静态拓扑构成的有序快照集合{ts0[t
0-t1),ts1[t
1-t2),

tsk[t
k-t
k 1
),

ts
n-1
[t
n-1-tn)},其中,假设在一个卫星网络运行周期内根据既定算法共划分出n个拓扑快照ts,tsk为第k个拓扑快照,起止时间分别为tk和t
k 1

[0113]
然后为每个拓扑快照构建一个以地控中心为根、其它所有转发节点为枝的树型控
制链路,并将树型控制链路存于数据库中;鉴于同轨轨内链路特性相对稳定,可对每个拓扑快照下的链路权重进行合理设置,以实现每个卫星尽可能地通过与其直连的地面站或本轨道内的一个中继点与地控中心进行交互。
[0114]
步骤s2.地控中心根据当前时间从数据库中获取对应拓扑快照下的树型控制链路相关信息;
[0115]
步骤s3.地控中心根据当前所对应的树型控制链路向网络各节点依次发送探测包,以探测各节点的可达情况,并通过回复报文收集节点与链路的运行状态;若无异常节点与链路,则获取全网运行状态信息,之后,等待下一周期检测的开始;若当前存在异常节点或链路,则与所对应拓扑快照进行对比,去掉所探测的可达节点后获得当前失效链路与节点。
[0116]
步骤s4.地控中心进行路由恢复,删除失效链路后,根据网络异常出现的位置选择恢复方式;
[0117]
(1)对于链路异常:
[0118]

若同轨轨内链路出现异常,优先通过同轨轨内链路恢复方式对失效节点处理,获得有序恢复节点集合m;
[0119]

若层间链路或层内异轨链路出现异常,通过层间或层内异轨链路恢复方式对失效节点处理,获得有序恢复节点集合m;
[0120]
(2)对于节点异常:
[0121]

若某轨道非中继点出现异常,优先通过同轨轨内链路恢复方式对失效节点进行处理,获得有序恢复节点集合m;
[0122]

若某轨道的中继点出现异常,通过层间或层内异轨链路恢复方式对失效节点进行处理,获得有序恢复节点集合m;
[0123]
步骤s5.地控中心为将要恢复的节点重新计算路由,获得该节点到地控中心的新路径;
[0124]
步骤s6.地控中心为新路径上的节点下发新的转发规则;
[0125]
步骤s7.地控中心确认下发的转发规则是否生效,并做出进一步处理。
[0126]
所述基于集中式控制的卫星网络路由弹性恢复过程定义了多种节点集合,如图1所示。其中,图1(a)中的有序全网节点集合a是指除地控中心以外的所有节点的集合,具体包括有效节点集合v以及失效节点集合f。进一步地,失效集合f可进一步分为有序首要恢复节点集合p和剩余失效节点r,其中有序首要恢复节点集合p可分为已知失效节点k与未知失效节点集合u。图1(b)依据有序首要恢复节点集合p中节点所属轨道,将集合p划分为同轨失效节点集合s与异轨失效节点集合h。图1(c)依据地控中心到恢复节点(不含地控中心)沿途所涉及的所有节点是否均需要更新转发规则,将有序恢复节点集合m划分为有序尚需路由更新节点集合n与无需路由更新节点集合z,其中,有序恢复节点集合m存储需重构树枝的节点,有序尚需路由更新节点集合n是更改父节点的恢复节点集合。
[0127]
链路恢复包含如下详细步骤(节点恢复可视为链路恢复的一种特殊情况,即一个节点的所有链路需要进行必要的恢复):
[0128]
s1.由于卫星的拓扑变化具有周期性和可预测性的特征,地控中心首先根据卫星运行轨迹与建链规则生成一系列由静态拓扑构成的有序快照集合,之后,地控中心基于每
一个拓扑快照构建一个以地控中心为根、其它转发节点为枝(地控中心到叶子节点方向称为从上至下)的树型控制链路,将其存于数据库中;
[0129]
更具体地,构建树型控制链路并存储:
[0130]
s1.1.地控中心首先根据卫星运行轨迹与建链规则生成一系列由静态拓扑构成的有序快照集合;
[0131]
s1.2.针对每一个拓扑快照,为每个中、低轨卫星轨道寻找一个能够连接地面站或高轨卫星的节点作为连接地控中心的中继点;若某个卫星轨道存在多个可选中继点时,地控中心以某种度量(如传输时延)为目标计算这些可选中继节点到其的最小路径开销,并将具有最低路径开销的可选中继点作为主中继点;特殊地,若某个卫星轨道未找到连接地面站或高轨卫星的节点,则寻找连接该轨道的层内异轨节点作为该轨道的可选中继点,若存在多个可选中继点,处理方式同上;
[0132]
s1.3.根据中继点距离地控中心的远近以及轨内节点距离中继点的远近构建节点间层级关系,进而根据节点间的连接关系构建树型控制链路,其中,一个节点的上级节点称为其父节点,一个节点的下级称为其子节点。
[0133]
此树型控制链路的特征在于:各个卫星轨道内的节点均通过本轨道上的中继节点连接地控中心,且一个轨道上的所有节点在树型控制链路上基于中继点进行对半或近似对半分布,即在中继点下层分为两个树枝:左枝和右枝。例如,在图2(a)中,轨道1和2的中继点1-1和2-1分别通过其层间链路连接一个地面站或高轨卫星,并通过后者连接地控中心,且轨道1和2上的节点均存在深度相同或近似相同的左枝与右枝;在图2(b)中,轨道2中并不存在与地面站或高轨卫星直连的节点,故其中继点只能通过同一轨道高度类型下的异轨节点连接地控中心,即1-1;
[0134]
s1.4.将一个周期下的每一个拓扑快照所对应的树型控制链路映射关系存于数据库中;
[0135]
s2.根据当前时间从数据库中获取对应拓扑快照下的树型控制链路相关信息,主要包括层次遍历树型控制链路获得的有序全网节点集合a、父节点与子节点映射关系、以及树型控制链路的全部枝干(地控中心到一个叶子节点的路径称为一个枝干)集合。例如,图2(a)中的树型控制链路有4个枝干,其中枝干1为{6-1,5-1,1-1,1-2,1-3},枝干2为{6-1,5-1,1-1,1-5,1-4},枝干3为{6-1,6-2,2-1,2-2,2-3},枝干4为{6-1,6-2,2-1,2-5,2-4},全部树枝枝干为{枝干1,枝干2,枝干3,枝干4}。其中,有序全网节点集合a用于判断网络是否存在异常并用于寻找异常位置,父节点与子节点映射关系用于后续查找某一节点的子节点、子孙节点以及为失效节点计算新路径,全部树枝枝干集合用于网络异常的有序检测;
[0136]
s3.地控中心周期性地按照树枝枝干所指明节点层级关系,按顺序检测枝干上每个节点的有效性,并收集全网状态信息;
[0137]
更具体地,在检测网络异常情况和收集状态信息时:
[0138]
s3.1.地控中心同时检测多个树枝枝干,检测时,依次记录每个枝干上的节点,若本树枝上的某一节点未曾出现在前面枝干,则主动给该节点发送探测包,此时记录当前时间,并设置超时阈值;若前面树枝枝干已包含该节点,则跳过不做处理。如图2
[0139]
(a)所示,由于在排序时,枝干1排列在枝干2前面,所以枝干1相对于枝干2为前面枝干,枝干2与前面枝干中存在部分相同节点,由于这部分节点通过前面枝干已经检测,枝
干2则不处理前面枝干已处理的节点以降低开销;
[0140]
s3.2.地控中心监听每个节点对于检测请求的响应,分为以下两种情况:
[0141]

地控中心收到来自某个节点对于检测请求的响应,则解析响应信息,主要包含节点与其邻居的通断情况、平均时延、平均吞吐量、平均丢包率等信息,并将其响应信息加入相关状态信息集合,该节点加入有效节点集合v,然后检测该树枝上的下一个节点;
[0142]

若地控中心在规定时间内没有收到对于某一节点的响应,则将该节点视为失效节点,暂时不对其进行处理,其子孙节点亦暂时不做处理;
[0143]
s3.3.检测完树型控制链路之后,依据检测结果做出进一步判决,分为两种情况:
[0144]

有效节点集合v与有序全网节点集合a相等,即网络正常,则进行下一轮检测与状态信息收集,即s3;
[0145]

有效节点集合v与有序全网节点集合a不等,则网络出现异常,此时,选取有序全网节点集合a和有效节点集合v的差集获得失效节点集合f,然后根据此检测结果进行以下路由弹性恢复;
[0146]
s4.地控中心在树型控制链路中层次遍历寻找到第一个失效节点的位置,从而确定当前异常位置,然后将第一个失效节点与其父节点相连的链路视为当前失效链路,并根据链路类型做出以下不同处理;
[0147]
更具体地,在处理当前失效链路时:
[0148]
s4.1.在有序全网节点集合a中查找距离根节点最近的失效节点(若多个失效节点与根节点距离相同,则取最左枝的失效节点)作为第一失效节点,根据父节点与子节点的映射关系找到第一失效节点的全部子孙节点,即有序首要恢复节点集合p,然后将失效节点中除有序首要恢复节点集合p之外的失效节点记为剩余失效节点集合r,以便恢复完有序首要恢复节点集合p中的节点后,无需检测与状态信息收集,直接进入s4,将剩余失效节点集合r作为失效节点集合f处理;
[0149]
s4.2.在所对应的拓扑快照中删除当前失效链路,剩余部分即为潜在可用拓扑;
[0150]
s4.3.根据当前失效链路两端节点分析异常位置,划分失效类型:若同轨轨内链路或某轨道非中继点出现异常,优先通过同轨轨内链路恢复方式对失效节点进行处理,获得有序恢复节点集合m;若层间链路、层内异轨链路或某轨道的中继点出现异常,通过层间或层内异轨链路恢复方式对失效节点处理,获得有序恢复节点集合m;
[0151]
更具体地,在失效处理时:
[0152]
s4.3.1.若采用同轨轨内链路恢复方式:由于同轨节点之间相对静止,同轨轨内链路相对稳定,所以同轨轨内链路恢复使用轨内有效节点作为有序首要恢复节点集合p的祖先节点;
[0153]
s4.3.1.1.查找有序首要恢复节点集合p中最后一个节点的同轨有效邻居节点,查找结果分为以下两种情况:
[0154]

可以找到同轨有效邻居节点,则将有序首要恢复节点集合p按照树型控制链路从下游到上游排序,存于有序恢复节点集合m以及有序尚需路由更新节点集合n,此时调整树型控制链路级联关系,即将有序首要恢复节点集合p所在枝干异常处的下游枝干截取下来,将其倒序排列之后,连接于同轨所在的另一个枝干叶子节点下方,并更新树型控制链路的映射关系,进入s5;
[0155]

无法找到同轨有效邻居节点,进入s4.3.2,即采用层间或层内异轨链路恢复;
[0156]
s4.3.2.若选择层间或层内异轨链路恢复:
[0157]
s4.3.2.1.按照有序首要恢复节点集合p所处的轨道,将有序首要恢复节点集合p分为同轨失效节点集合s(与第一失效节点同轨)与异轨失效节点集合h;例如在图2(b)中,若节点5-1与节点1-1之间链路出现异常,即为层间链路异常,此时同轨失效节点集合s为{1-1,1-2,1-3,1-5,1-4},异轨失效节点集合h为{2-1,2-2,2-3,2-5,2-4};
[0158]
s4.3.2.2.按照树型控制链路将同轨失效节点集合s处理,依据异常位置的不同分为以下两种情况:
[0159]

若层间链路、层内异轨链路或某轨道的中继点出现异常,同轨失效节点集合s在树型控制链路上分为左枝和右枝(均不包含第一失效节点);例如在图2(b)中,若节点5-1与节点1-1之间链路出现异常,即为层间链路异常,此时根据树型控制链路上1轨道的全部失效节点处于两个分枝,即左枝和右枝;
[0160]

对于同轨轨内链路或某轨道非中继点出现异常,即s4.3.1中采用层间或层内异轨链路恢复的情况,此时将同轨失效节点集合s作为左枝(不包含第一失效节点)处理,按照树型控制链路从上游到下游排序;例如在图2(b)中,若节点1-1与节点1-5之间链路出现异常,即为同轨轨内链路异常,此时根据树型控制链路上1轨道的失效节点都处于一个树枝,此时将其作为左枝处理;
[0161]
s4.3.2.3.将第一失效节点存放于有序恢复节点集合m以及有序尚需路由更新节点集合n,然后根据潜在可用拓扑依次查找第一失效节点的层间或层内异轨邻居节点,并根据所收集的状态信息查找邻居节点中的有效节点,查找结果分为以下两种情况:
[0162]

第一失效节点存在层间或层内异轨有效邻居节点,则将第一失效节点作为第一恢复节点,调整树型控制链路级联关系,即将有效邻居节点作为第一失效节点的父节点,然后将左枝、右枝依次加入有序恢复节点集合m,此时有序恢复节点集合m={第一失效节点,左枝,右枝},进入s5;
[0163]

第一失效节点不存在层间或层内异轨有效邻居节点:
[0164]
a.先在左枝上寻找第一恢复节点,则将左枝上的第一个节点插入有序恢复节点集合m的首位以及有序尚需路由更新节点集合n的首位,即有序恢复节点集合m={左枝上的第一个节点,第一失效节点},n={左枝上的第一个节点,第一失效节点},此时调整有序恢复节点集合m中前两节点的父子映射关系,即前者为父节点、后者为子节点;之后,查找左枝上的第一个节点的有效邻居节点,存在以下两种情况:
[0165]
i)若左枝上第一节点存在有效邻居节点,则将左枝上第一节点作为第一恢复节点,调整树型控制链路层级关系,即将其有效邻居节点作为左枝第一节点的父节点,然后将第一恢复节点的子孙节点、右枝依次加入有序恢复节点集合m={第一恢复节点,第一失效节点,第一恢复节点的子孙节点,右枝},进入s5;
[0166]
ii)若左枝上第一个节点不存在有效邻居节点,则按照从上游至下游的顺序依次查找左枝节点,直至找到第一恢复节点,即在左枝能找到第一恢复节点的情况下,将左枝上第一恢复节点的所有祖先节点按其到第一恢复节点距离由近到远依次插入有序恢复节点集合m的首位以及有序尚需路由更新节点集合n的首位,然后将第一恢复节点的子孙节点以及右枝失效节点依次加入有序恢复节点集合m,此时m={第一恢复节点,左枝上第一恢复节
点的所有祖先节点,第一失效节点,第一恢复节点的子孙节点,右枝},n={第一恢复节点,左枝上第一恢复节点的所有祖先节点,第一失效节点},进入s5;
[0167]
b.若在左枝的全部节点未找到第一恢复节点,则还原原有左枝节点的父子映射关系,然后按照上述处理左枝的方式处理右枝,若能找到第一恢复节点,此时,m={第一恢复节点,右枝上第一恢复节点的所有祖先节点,第一失效节点,第一恢复节点的子孙节点,左枝},n={第一恢复节点,右枝上第一恢复节点的所有祖先节点,第一失效节点},则进入s5;若右枝依旧不能找到第一恢复节点,则此轨道与其他轨道之间不存在链路,无法恢复,此时跳过对此轨道的恢复,若剩余失效节点集合r不为空,则将剩余失效节点集合r作为失效节点集合f,进入s4;若剩余失效节点集合r为空,则进入s3;
[0168]
s4.3.2.4.当异轨失效节点集合h不为空时,按照树型控制链路的父子映射关系,查找异轨中继点与其父节点,然后查看其父节点是否是异常节点,分为下面两种情况:
[0169]

若其父节点不是异常节点,将树型控制链路上异轨失效节点按照前序遍历排序,存于有序恢复节点集合m,进入s5;例如在图2(b)中,若节点5-1与节点1-1之间链路出现异常,排序后m={2-1,2-2,2-3,2-5,2-4};
[0170]

若其父节点是异常节点,则将异轨失效节点集合h当做有序首要恢复节点集合p,进入s4.3.2;
[0171]
s5.利用更新的树型控制链路映射关系依次为有序恢复节点集合m中的恢复节点重计算新转发规则;
[0172]
更具体地,路由重计算时:
[0173]
s5.1.遍历有序恢复节点集合m,并判断恢复节点属于第一失效节点、左枝或右枝;
[0174]
s5.2.根据有序恢复节点集合m中的节点顺序对每个恢复节点进行恢复,单个节点的恢复流程如图3所示,对集合m中当前首个恢复节点,根据其与其父节点的映射关系,逐步跳转到地控中心;该恢复节点到地控中心的所有链路即为新路径,此时进入s6(即遍历有序恢复节点集合m,每计算一条地控中心到恢复节点的新路径,即进入s6处理);
[0175]
s6.地控中心将新转发规则下发至新路径上相应节点上;具体地,在下发转发规则时,依据恢复节点是否属于有序尚需路由更新节点集合n分为以下两种情况:
[0176]

若当前恢复节点属于有序尚需路由更新节点集合n,从地控中心到恢复节点(不含地控中心)沿途所涉及的所有节点都需要更新转发规则,将新路径上的节点加入有序下发节点集合i;遍历有序下发节点集合i,依次为有序下发节点集合i中节点下发相关转发规则,转发规则内容如图4,即通过地控中心依次为恢复节点之外的沿途节点下发正向转发规则(即下发沿途节点到恢复节点的转发规则),并进入s7判断转发规则是否生效;为恢复节点下发反向转发规则(即下发恢复节点到地控中心的转发规则),并进入s7判断转发规则是否生效;
[0177]

若恢复节点不属于有序尚需路由更新节点集合n,则从地控中心到恢复节点(不含地控中心)沿途所涉及的部分节点需要更新转发规则,判断新路径上节点是否需要更新转发规则,具体如下:
[0178]
a.若除第一恢复节点之外,若地控中心到当前恢复节点的新路径上存在节点属于有序尚需路由更新节点集合n,则需要为地控中心到第一失效节点之间的所有节点下发转发规则,所以将这些节点依次加入有序下发节点集合i,剩余节点无需下发转发规则,所以
不做处理,最后将恢复节点加入有序下发节点集合i;
[0179]
b.若上述新路径上的所有节点只有第一恢复节点属于有序尚需路由更新节点集合n,则将新路径上地控中心到第一恢复节点之间的所有节点依次加入有序下发节点集合i,剩余节点无需下发转发规则,所以不做处理,最后将恢复节点加入有序下发节点集合i;
[0180]
遍历有序下发节点集合i,依次为有序下发节点集合i中节点下发转发规则,转发规则内容如图5,即通过地控中心依次为恢复节点之外的沿途节点下发正向转发规则,下发一条转发规则则进入s7判断转发规则是否生效,而为恢复节点下发探测包,然后进入s7判断能否收到恢复节点的响应;
[0181]
s7.地控中心根据卫星的响应进行下一步处理,若能收到来自节点的响应,启用上述步骤s3、s4、s5或是s6,具体流程如图6所示,需要注意的是,在完成上述控制链路的恢复之后(即重新进入检测异常之前),利用地控中心收集到的状态信息集合以及可用拓扑,重计算路由,更新卫星网络中的数据链路;如果转发规则未生效,删除该未生效节点与其父节点之间的失效链路,并记录此未恢复的节点以及其子孙节点为未知失效节点集合u;以下将对于未知失效节点集合u的处理简称为未知异常处理,具体步骤如下:
[0182]

若之前采用同轨轨内链路恢复方式,此时仍存在未知异常,分为以下两种情况:
[0183]
a.若未生效节点是第一失效节点,此时为节点异常,将其记为异常节点,不做处理,判断剩余失效节点集合r是否为空,不为空时,则将剩余失效节点集合r作为失效节点集合f,进入s4;
[0184]
b.若未生效节点不是第一失效节点,将第一失效节点到未生效节点的所有节点作为有序首要恢复节点集合p,采用层间或层内异轨链路恢复方式,即s4.3.2;
[0185]

若之前采用层间或层内异轨链路恢复方式,此时仍存在未知异常,则采用同轨轨内链路恢复处理未知失效节点集合u,分为以下两种情况:
[0186]
a.若未生效节点不是第一失效节点,将未生效节点作为第一失效节点:
[0187]
i)若未知异常处于左枝,此时优先按照层间或层内异轨链路恢复处理有序首要恢复节点集合p的方式处理右枝,即将右枝节点从上游到下游排序,依次加入有序恢复节点集合m与有序尚需路由更新节点集合n,此时m=n={右枝},通过s5-s7恢复完右枝节点,然后通过同轨轨内链路恢复方式处理未知失效节点集合u,即将左枝未知异常链路下面部分枝干截取下来,将其按照原有上下游关系倒序排列之后,连接于右枝叶子节点上,也就是将未知失效节点集合u倒序后,加入有序恢复节点集合m,进入s5;
[0188]
ii)未知异常处于右枝,此时通过同轨轨内链路恢复方式(即s4.3.1.1)处理未知失效节点集合u,获得有序恢复节点集合m与有序尚需路由更新节点集合n后,进入s5;
[0189]
b.若未生效节点是第一失效节点,将未生效节点记为异常节点,依据s4.3.2.3方式对第一失效节点不做处理,直接查找左枝上节点的有效邻居节点,若能找到有效邻居节点,则左枝获取有序恢复节点集合m以及有序尚需路由更新节点集合n方式同上,然后调整树型控制链路级联关系,即将右枝截取下来,将其按照原有上下游关系倒序排列之后,连接于同轨所在的另一个枝干叶子节点下方,并更新树型控制链路的映射关系,此时将倒序排列的右枝节点加入有序恢复节点集合m以及有序尚需路由更新节点集合n,进入s5。
[0190]
注:1、上述每一步之前都需判断拓扑快照是否切换,如果拓扑快照切换,则结束路由重构流程,重新进入检测,即s3。
[0191]
2、s5、s6与s7是交互的,并非路由重计算全部完成之后才下发转发规则,亦非全部下发之后方确认转发规则是否生效,这里采用的是边计算,边下发边确认转发规则生效的方式,这样方便及时发现未知异常,并改变恢复处理的方式。
[0192]
进一步的,本发明提供了一种基于集中式控制的卫星网络路由弹性恢复系统,如图7所示,该系统设置在地控中心,实现构建树型控制链路并存储、检测网络异常与状态信息收集、以及恢复网络异常等处理过程。包括拓扑管理模块、检测与状态收集模块、失效处理模块、路由重计算模块、转发规则管理模块以及确认转发规则生效模块。
[0193]
上述拓扑管理模块通过构建树型控制链路和更新树型控制链路两个组件构建或重构拓扑,方便后面链路检测以及弹性路由恢复时使用。构建树型控制链路主要是为了构建一个以控制中心为根、其它转发节点为枝所组成的树型控制链路,然后将其存储于数据库中。更新树型控制链路是为了对新构建的树型控制链路(即节点间的映射关系)进行实时更新。
[0194]
上述检测与状态收集模块是在数据平面出现节点或链路异常时,控制中心可以及时获得所有卫星节点的信息,主要是链路异常情况以及卫星节点的失效情况。根据当前时间从数据库中获取对应拓扑快照下的树型控制链路,然后根据此树型控制链路向网络各节点依次发送探测包,以探测各节点的可达情况,并通过节点的回复报文收集节点与链路的运行状态;若无异常节点与链路,则获取全网运行状态信息,之后,等待下一周期检测的开始;若当前存在异常节点与链路,则与所对应拓扑快照进行对比,去掉所探测的可达节点后获得当前失效链路与节点。
[0195]
上述链路失效处理模块分为三个子模块,即删除失效链路、选择恢复方式以及未知异常处理。删除失效链路主要是在网络出现异常时,删除初始完整拓扑里的失效链路,为路由重计算奠定基础。选择恢复方式主要是依据异常链路位置的不同,将其分为层间或层内异轨链路恢复和同轨轨内链路恢复。层间异常链路只能通过其他轨道的有效卫星节点进行恢复,轨内异常链路导致的失效节点优先通过轨内有效节点恢复。未知异常处理主要负责处理恢复过程中发现的未知节点或链路异常进行处理。
[0196]
上述路由重计算模块,用于规避失效链路,为失效节点寻找到地控中心的最佳新路径。
[0197]
上述转发规则管理模块是为了将路由重计算所获得的新路径下发给新路径上需要新转发规则的卫星节点。此模块依据失效节点位置,可以分为新路径部分节点下发转发规则和新路径全部节点下发转发规则。
[0198]
上述确认转发规则生效模块主要负责确定下发的转发规则是否生效,并根据结果做出响应。
[0199]
实施例1:基于集中式控制的卫星网络路由弹性恢复——同轨轨内链路恢复
[0200]
如图8所示,假设在网络中节点1-1和节点1-5之间的链路(此链路属于同轨轨内链路)出现异常,除此之外无其他异常链路。对卫星网络轨内节点或链路异常的恢复遵循以下步骤:
[0201]
步骤s1.由于卫星的拓扑变化具有周期性和可预测性的特征,地控中心首先根据卫星运行轨迹与建链规则生成一系列由静态拓扑构成的有序快照集合,之后,地控中心基于每一个拓扑快照构建一个以地控中心为根、其它转发节点为枝(地控中心到叶子节点方
向称为从上至下)的树型控制链路,将其存于数据库中;
[0202]
步骤s2.根据当前时间从数据库中获取对应拓扑快照下的树型控制链路相关信息,主要包括层次遍历树型控制链路获得的有序全网节点集合a、父节点与子节点映射关系、以及树型控制链路的全部枝干集合;
[0203]
步骤s3.地控中心周期性地按照树枝枝干所指明节点层级关系,按顺序检测枝干上每个节点的有效性,并收集全网状态信息;
[0204]
更具体地,在检测网络异常情况和收集状态信息时:
[0205]
s3.1.地控中心同时检测多个树枝枝干,检测时,依次记录每个枝干上的节点,若本树枝上的某一节点未曾出现在前面枝干,则主动给该节点发送探测包,此时记录当前时间,并设置超时阈值;若前面树枝枝干已包含该节点,则跳过不做处理;
[0206]
s3.2.地控中心监听每个节点对于检测请求的响应,分为以下两种情况:地控中心收到来自某个节点对于检测请求的响应,则解析响应信息,并将其响应信息加入相关状态信息集合,该节点加入有效节点集合v,然后检测该树枝上的下一个节点;当地控中心在检测节点1-5时,超过超时阈值后仍未收到该节点的响应,则该节点为失效节点,暂时不对其进行处理,其子孙节点亦暂时不做处理;
[0207]
s3.3.检测完树型控制链路之后,依据检测结果做出进一步判决,有效节点集合v与有序全网节点集合a不等,此时网络出现异常,选取有序全网节点集合a和有效节点集合v的差集获得失效节点集合f,f={1-5,1-4},然后根据此检测结果进行以下路由弹性恢复;
[0208]
步骤s4.地控中心在树型控制链路中层次遍历寻找到第一个失效节点的位置,从而确定当前异常位置,然后将第一个失效节点与其父节点相连的链路视为当前失效链路,并划分恢复类型,做出进一步处理;
[0209]
更具体地,在处理当前失效链路时:
[0210]
s4.1.在有序全网节点集合a中查找距离根节点最近的失效节点1-5作为第一失效节点,根据父节点与子节点的映射关系找到第一失效节点的全部子孙节点,即有序首要恢复节点集合p{1-5,1-4},剩余失效节点集合r为空;
[0211]
s4.2.在所对应的拓扑快照中删除当前失效链路,剩余部分即为潜在可用拓扑;
[0212]
s4.3.根据当前失效链路两端节点分析异常位置,即同轨轨内链路或1轨道的1-5节点出现异常,此时优先通过同轨轨内链路恢复方式对失效节点进行处理,获得有序恢复节点集合m;具体地,首先查找有序首要恢复节点集合p{1-5,1-4}中最后一个节点1-4的同轨有效邻居节点,假设可以找到同轨有效邻居节点1-3,则将有序首要恢复节点集合p按照树型控制链路从下游到上游排序,存于有序恢复节点集合m以及有序尚需路由更新节点集合n,即m=n={1-4,1-5},此时调整树型控制链路级联关系,即将有序首要恢复节点集合p所在枝干异常处的下游枝干截取下来,将其倒序排列之后,连接于同轨所在的另一个枝干叶子节点下方,并更新树型控制链路的映射关系,进入s5;
[0213]
步骤s5.利用更新的树型控制链路映射关系依次为有序恢复节点集合m中的恢复节点重计算新转发规则;
[0214]
更具体地,路由重计算时:
[0215]
s5.1.遍历有序恢复节点集合m={1-4,1-5},并判断恢复节点属于第一失效节点、左枝或右枝;
[0216]
s5.2.根据有序恢复节点集合m中的节点顺序对每个恢复节点进行恢复,对集合m中当前首个恢复节点,根据其与其父节点的映射关系,逐步跳转到地控中心;该恢复节点到地控中心的所有链路即为新路径,此时进入s6(即遍历有序恢复节点集合m,每计算一条地控中心到恢复节点的新路径,即进入s6处理);
[0217]
步骤s6.地控中心将新转发规则下发至新路径上相应节点上;具体地,在下发转发规则时,所有恢复节点均属于有序尚需路由更新节点集合n,即从地控中心到恢复节点(不含地控中心)沿途所涉及的所有节点都需要更新转发规则,此时将新路径上的节点加入有序下发节点集合i;然后遍历有序下发节点集合i,依次为有序下发节点集合i中节点下发相关转发规则,即通过地控中心依次为恢复节点之外的沿途节点下发正向转发规则(即下发沿途节点到恢复节点的转发规则),并进入s7判断转发规则是否生效;为恢复节点下发反向转发规则(即下发恢复节点到地控中心的转发规则),并进入s7判断转发规则是否生效;
[0218]
步骤s7.地控中心根据卫星的响应进行下一步处理,若能收到来自节点的响应,启用上述步骤s3、s4、s5或是s6,具体流程如图8所示,假设转发规则均生效,此时路由重构完成,然后利用地控中心收集到的状态信息集合以及可用拓扑,重计算路由,更新卫星网络中的数据链路,重新进入s3。
[0219]
实施例2:基于集中式控制的卫星网络路由弹性恢复——层间或层内异轨链路恢复
[0220]
如图9所示,假设在网络中节点5-1与节点1-1之间的链路(此链路属于层间链路)以及节点1-1与节点1-5间的链路出现异常,除此之外无其他异常链路。对卫星网络节点或层间链路异常的恢复遵循以下步骤:
[0221]
步骤s1.由于卫星的拓扑变化具有周期性和可预测性的特征,地控中心首先根据卫星运行轨迹与建链规则生成一系列由静态拓扑构成的有序快照集合,之后,地控中心基于每一个拓扑快照构建一个以地控中心为根、其它转发节点为枝(地控中心到叶子节点方向称为从上至下)的树型控制链路,将其存于数据库中;
[0222]
步骤s2.根据当前时间从数据库中获取对应拓扑快照下的树型控制链路相关信息,主要包括层次遍历树型控制链路获得的有序全网节点集合a、父节点与子节点映射关系、以及树型控制链路的全部枝干集合;
[0223]
步骤s3.地控中心周期性地按照树枝枝干所指明节点层级关系,按顺序检测枝干上每个节点的有效性,并收集全网状态信息;
[0224]
更具体地,在检测网络异常情况和收集状态信息时:
[0225]
s3.1.地控中心同时检测多个树枝枝干,检测时,依次记录每个枝干上的节点,若本树枝上的某一节点未曾出现在前面枝干,则主动给该节点发送探测包,此时记录当前时间,并设置超时阈值;若前面树枝枝干已包含该节点,则跳过不做处理;
[0226]
s3.2.地控中心监听每个节点对于检测请求的响应,分为以下两种情况:地控中心收到来自某个节点对于检测请求的响应,则解析响应信息,并将其响应信息加入相关状态信息集合,该节点加入有效节点集合v,然后检测该树枝上的下一个节点;当地控中心在检测节点1-1时,超过超时阈值后仍未收到该节点的响应,则该节点为失效节点,暂时不对其进行处理,其子孙节点亦暂时不做处理;
[0227]
s3.3.检测完树型控制链路之后,依据检测结果做出进一步判决,有效节点集合v
与有序全网节点集合a不等,此时网络出现异常,选取有序全网节点集合a和有效节点集合v的差集获得失效节点集合f,f={1-1,1-2,1-3,1-5,1-4,2-1,2-2,2-3,2-5,2-4},然后根据此检测结果进行以下路由弹性恢复;
[0228]
步骤s4.地控中心在树型控制链路中层次遍历寻找到第一个失效节点的位置,从而确定当前异常位置,然后将第一个失效节点与其父节点相连的链路视为当前失效链路,并划分恢复类型,做出进一步处理;
[0229]
更具体地,在处理当前失效链路时:
[0230]
s4.1.在有序全网节点集合a中查找距离根节点最近的失效节点1-1作为第一失效节点,根据父节点与子节点的映射关系找到第一失效节点的全部子孙节点,即有序首要恢复节点集合p={1-1,1-2,1-3,1-5,1-4,2-1,2-2,2-3,2-5,2-4},剩余失效节点集合r为空;
[0231]
s4.2.在所对应的拓扑快照中删除当前失效链路,剩余部分即为潜在可用拓扑;
[0232]
s4.3.根据当前失效链路两端节点分析异常位置,即层间链路、层内异轨链路或某轨道的中继点出现异常,此时通过层间或层内异轨链路恢复方式对失效节点处理,获得有序恢复节点集合m;
[0233]
更具体地,在失效处理时:
[0234]
s4.3.1.按照有序首要恢复节点集合p所处的轨道,将有序首要恢复节点集合p分为同轨失效节点集合s(与第一失效节点同轨)与异轨失效节点集合h,即同轨失效节点集合s={1-1,1-2,1-3,1-5,1-4},异轨失效节点集合h为{2-1,2-2,2-3,2-5,2-4})
[0235]
s4.3.2.按照树型控制链路将同轨失效节点集合s处理,此时依据层间链路、层内异轨链路或某轨道的中继点出现异常,同轨失效节点集合s在树型控制链路上分为左枝{1-2,1-3}和右枝{1-5,1-4};
[0236]
s4.3.3.将第一失效节点存放于有序恢复节点集合m以及有序尚需路由更新节点集合n,此时m=n={1-1},然后根据潜在可用拓扑依次查找第一失效节点的层间或层内异轨邻居节点,并根据所收集的状态信息查找邻居节点中的有效节点,假设第一失效节点不存在层间或层内异轨有效邻居节点,此时先在左枝上寻找第一恢复节点,则将左枝上的第一个节点插入有序恢复节点集合m的首位以及有序尚需路由更新节点集合n的首位,即有序恢复节点集合m=n={1-2,1-1},此时调整有序恢复节点集合m中前两节点的父子映射关系,即前者为父节点、后者为子节点;之后,查找左枝上的第一个节点的有效邻居节点,假设左枝上第一节点存在有效邻居节点,则将左枝上第一节点作为第一恢复节点,调整树型控制链路层级关系,即将其有效邻居节点作为左枝第一节点的父节点,然后将第一恢复节点的子孙节点、右枝依次加入有序恢复节点集合m={1-2,1-1,1-3,1-5,1-4},进入s5;
[0237]
步骤s5.利用更新的树型控制链路映射关系依次为有序恢复节点集合m中的恢复节点重计算新转发规则;
[0238]
更具体地,路由重计算时:
[0239]
s5.1.遍历有序恢复节点集合m={1-2,1-1,1-3,1-5,1-4},并判断恢复节点属于第一失效节点、左枝或右枝;
[0240]
s5.2.根据有序恢复节点集合m中的节点顺序对每个恢复节点进行恢复,对集合m中当前首个恢复节点,根据其与其父节点的映射关系,逐步跳转到地控中心;该恢复节点到地控中心的所有链路即为新路径,此时进入步骤s6(即遍历有序恢复节点集合m,每计算一
条地控中心到恢复节点的新路径,即进入步骤s6处理);
[0241]
步骤s6.地控中心将新转发规则下发至新路径上相应节点上;依据恢复节点是否属于有序尚需路由更新节点集合n分为以下两种情况:
[0242]

若恢复节点属于有序尚需路由更新节点集合n{1-2,1-1},从地控中心到恢复节点(不含地控中心)沿途所涉及的所有节点都需要更新转发规则,将新路径上的节点加入有序下发节点集合i;遍历有序下发节点集合i,依次为有序下发节点集合i中节点下发相关转发规则,即通过地控中心依次为恢复节点之外的沿途节点下发正向转发规则(即下发沿途节点到恢复节点的转发规则),并进入s7判断转发规则是否生效;为恢复节点下发反向转发规则(即下发恢复节点到地控中心的转发规则),并进入s7判断转发规则是否生效;
[0243]

若恢复节点不属于有序尚需路由更新节点集合n{1-2,1-1},则从地控中心到恢复节点(不含地控中心)沿途所涉及的部分节点需要更新转发规则,判断新路径上节点是否需要更新转发规则,具体如下:
[0244]
a.若除第一恢复节点之外,新路径上存在节点属于有序尚需路由更新节点集合n,如恢复节点为{1-5,1-4}中任意一个节点时,则需要为地控中心到第一失效节点之间的所有节点下发转发规则,所以将这些节点依次加入有序下发节点集合i,剩余节点无需下发转发规则,所以不做处理,最后将恢复节点加入有序下发节点集合i;
[0245]
b.若新路径上的所有节点只有第一恢复节点属于有序尚需路由更新节点集合n,如恢复节点为1-3时,则将新路径上地控中心到第一恢复节点之间的所有节点依次加入有序下发节点集合i,剩余节点无需下发转发规则,
[0246]
所以不做处理,最后将恢复节点加入有序下发节点集合i;
[0247]
遍历有序下发节点集合i,依次为有序下发节点集合i中节点下发转发规则,即通过地控中心依次为恢复节点之外的沿途节点下发正向转发规则,下发一条转发规则则进入s7判断转发规则是否生效,而为恢复节点下发探测包,然后进入s7判断能否收到恢复节点的响应;
[0248]
步骤s7.地控中心根据卫星的响应进行下一步处理,若能收到来自节点的响应,启用上述步骤s3、s4、s5或是s6,由于节点1-1与节点1-5之间链路存在异常,所以在恢复节点1-5时,该节点超时未响应,此时删除该未生效节点与其父节点之间的失效链路,并记录此未恢复的节点以及其子孙节点为未知失效节点集合u={1-5,1-4};以下将对于未知失效节点集合u的处理简称为未知异常处理,具体步骤如下:之前采用层间或层内异轨链路恢复方式,此时仍存在未知异常,则采用同轨轨内链路恢复处理未知失效节点集合u,这里未生效节点不是第一失效节点,将未生效节点作为第一失效节点,例中的未知异常处于右枝,此时通过同轨轨内链路恢复方式(即s4.3.1.1)处理未知失效节点集合u,获得有序恢复节点集合m与有序尚需路由更新节点集合n后,进入步骤s5;
[0249]
当完成同轨失效节点集合s的恢复后,此时异轨失效节点集合h不为空时,按照树型控制链路的父子映射关系,查找异轨中继点2-1与其父节点1-1,然后发现其父节点1-1不是异常节点,则将树型控制链路上异轨失效节点按照前序遍历排序,存于有序恢复节点集合m,即m={2-1,2-2,2-3,2-5,2-4};进入步骤s5;
[0250]
具体流程如图9所示,在完成上述控制链路的恢复之后(即重新进入检测异常之前),利用地控中心收集到的状态信息集合以及可用拓扑,重计算路由,更新卫星网络中的
数据链路。
[0251]
综上所述,本发明实施例采用控制平面与数据平面分离的机制,控制平面帮助数据平面进行管理、检测网络异常以及弹性路由恢复。基于集中式控制的卫星网络路由弹性恢复方案可提高管控效率,简化卫星负担处理。特别地,集中式路由控制的卫星网络异常恢复能够根据不同的异常情况生成不同的恢复机制,进而使恢复后的网络具有相对稳定性。
[0252]
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0253]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0254]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0255]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献