一种分布式星群网络临时组网场景下的路由方法_2

文档序号:8447258阅读:来源:国知局
的簇头节点找到所在分簇的出口卫星节点,并将数据包转发给该出口卫星 节点,最终由该出口卫星节点将其转发给目的分簇的簇头节点。
【附图说明】
[0009] 图1为分簇间簇头选举流程图。
[0010] 图2为寻找中转簇头及路由表生成流程图。
[0011] 图3分簇内数据报文转发示意图。
【具体实施方式】
[0012] 本发明的目的是将针对临时组网形成的分布式星群网络,设计与之相对应的路由 机制,从而使得该些卫星所组成的临时网络能够正常运行,成功应对紧急的任务需求。分 布式星群网络中的卫星节点可能隶属于不同的星座系统(即节点存在广泛的异构性),由 于某些临时的原因共同组成一个临时的网络W共同完成同一监测和数据传输任务。对于一 个S层的LE0/ME0/GE0层卫星网络系统,假定网络中的节点来自k个不同的星座,星座系统 的集合用a|i= 1,2,...,k}来表示,假设每个星座为了维护自身正常的业务需求,仅会 贡献出部分卫星参与到紧急事件的临时组网中。该样,定义星座系统i中用来临时组网的 卫星有 *纖frilwfe= {^4,15 2, -化'-2''…^片-、'心G/'i.G峨G,.化'}。其中,又主.,,、也 和分别是星座i中贡献出的LEO层卫星、ME0层卫星和GE0层卫星的数量。临时构建的 分布式星群网络中的所有卫星节点具有双重身份,一方面需要继续完全原有星座中的数据 传输任务;而另一方面需要执行临时网络中的额外任务。由于临时组网一般是为了应对紧 急事件,所W临时网络中的数据传输及监测任务应享有比卫星隶属星座任务更高的优先级 (良P;pri〇rity(〇dginaltask)priority(temporary task)),W保证任务能被顺利、高效地执行。
[0013] 本发明提出的针对临时组网络形成的分布式星群网络的路由机制,包含W下步 骤:
[0014](1)分簇生成及网络初始化:假设参与临时组网的不同星座系统分属不同的组织 机构。当有紧急事件发生需要临时组网时,参与该紧急事件的组织首先推选出一个管理者 (manager),然后每个组织将自己所管理的星座系统中参与临时组网的卫星信息发送给该 管理者。该管理者在收到所有其他组织发送来的参与临时组网的卫星信息之后,将属于同 一组织者的卫星看作是一个分簇。为了使不同星座间的卫星也可W相互通信,推选出的管 理者所绑定的地面网关将根据参与临时组网的卫星的运行轨迹为每个分簇选出簇头,分簇 之间的信息传输由簇头来完成。由于一个簇头并不一定适合与所有的分簇进行通信,所w管理者是为每对分簇选出一对相互通信的簇头,同一分簇内与不同分簇进行通信的簇头可 能并不相同。
[0015] ①簇头选举(两个分簇之间只能进行直接通信);(参照图1)首先假定临时网络 中的分簇一共有k个,输入临时分簇中的k个分簇,初步设定为两个分簇之间只能进行直接 通信;
[0016]S101步骤,遍历整个分簇集合(遍历到当前分簇时记为i);
[0017]S102步骤,对于S101中的每一个分簇i,再一次遍历整个分簇(遍历到当前分簇 时记为j),使得分簇之间两两进行运算;
[0018]S103步骤,初始化两卫星存在直接链路的时间长度Tm"= 0,两卫星等待相遇的时 间为Tdelay=°° ;
[0019]S104步骤,首先对于分簇i,从GEO层节点到LEO层节点的顺序开始遍历,记为Si, iS
[0020] S105步骤,对于分簇i中的每一个节点Si, 1,遍历分簇j中的每一个节点,记为Sj,
[0021]S106步骤,如果Si, 1和SJ, 1之间存在直接链路的且链路时间长度大于当前的T 就执行S107,否则,执行S108;
[00过 S107步骤,将Si,1和SW之间的直接链路存在的时间长度赋值给Tmax;将S1,1记为 分簇i对分簇j通信的簇头,将Sy记为分簇j对分簇i通信的簇头;
[002引 S108步骤,如果Si,i和Sj,之间不存在直接链路,且它们相遇的等待时间小于当前 的Tddw;则执行S109,否则,不执行赋值;
[0024] Sl〇9步骤,将当前时刻开始Si, 1和Sj.J之间相遇的等待时间赋值给Tdelay;将S1 记为分簇i对分簇j通信的簇头,将Sj,i记为分簇j对分簇i通信的簇头;
[0025] 简而言之;遍历整个分簇集合,分簇之间两两进行运算,首先从CEO层节点开始遍 化分别在两个分簇中找到一个节点,使的它们的直接链路的时间长度最大;如果两个分簇 之间任意一对节点之间都不存在直接链路,则找到两个节点,使他们从当前时刻开始到相 遇有直接链路的时间最短;该两个节点便分别是该两个分簇相对于对方的簇头。因为分簇 之间没两两之间都会有一对簇头,所W-个分簇可能有多个簇头。
[0026] ②路由表生成(考虑两个分簇的簇头之间没有直接链路);(参照图2)仍然假定 临时网络中的分簇一共有k个,输入临时分簇中的k个分簇;但不在限制两个分簇之间只能 进行直接通信;
[0027]S201步骤,遍历整个分簇集合(遍历到当前分簇时记为i);
[0028]S202步骤,对于S201中的每一个分簇i,再一次遍历整个分簇(遍历到当前分簇 时记为j),使得分簇之间两两进行运算;
[002引 S203步骤,如果簇头Cy和CW直接存在直接链路,则执行S204 ;否则,执行S205 ;
[0030]S2〇4步骤,Cw和CW直接通信;
[0031]S205步骤,遍历整个分簇集(遍历到当前分簇时记为1);,
[0032]S206步骤,对于分簇1,如果簇头。,1和C1,1,Cj,1和C1, J之间存在直接链路,则执 行S207;否则,继续遍历分簇集;
[0033] S207步骤,删除簇头Cw和Cy;由星座1簇头进行数据中转,并生成路由表;继续 遍历。
[0034] 简而言之;如果两个分簇的簇头之间不存在直接链路则遍历所有其他分簇,查看 是否存在一个分簇与该两个分簇之间存在直接链路,如果存在该样的分簇,则生成路由表。 在计算出每个分簇的簇头和路由表之后,管理者将该些信息分发给各个星座的地面网关。 非管理者的地面网关在收到该些信息之后,在管理者选出的簇头中再选出一个用于分簇内 通信的簇头节点,将其称之为总簇头节点。然后,总簇头节点将计算分簇内所有卫星到各个 簇头、W及各个簇头到所有卫星之间的最优传输路径。最优传输路径的计算方式可W采用 迪杰斯特拉算法(最短传输路径)计算得到。
[00巧](2)数据包传输过程:
[0036] ①分簇内的数据包传输:当地面控制中屯、有报文需要发送给一颗或多颗卫星节点 时,首先判断是否可W跟所述卫星直接通信。若存在直接链路,则将报文直接发送给所述卫 星;否则,任意找到一颗当前与自身存在直接链路的卫星作为入口卫星,将报文发送给该入 口卫星。入口卫星的选择也是尽可能地选择簇头节点或高轨卫星,W减少分簇内路由的跳 数。入口卫星收到报文之后,将其转发给与自身跳数最少的一个簇头节点,然后该簇头节点 查找路由表,将报文转发给分簇内的目的节点。在监测类的任务中,卫星节点会定期地将监 测到的信息发送给地面控制中屯、。该个过程一般被称为信息收集过程。当需要收集卫星节 点监测到的信息时,分簇内的各个卫星首先将自身收集的信息发送到所在分簇的总簇头节 点,然后总簇头节点将收到的数据包进行信息融合,W减少总数据包的大小。最后,总簇头 节点将融合后的信息生成一个新的数据包发送给地面控制中屯、。
[0037] ②分簇间的数据包传输;当分簇a的地面控制中屯、需要跟分簇b的地面控制中屯、 进行通信时,首先分簇a的地
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1