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

一种基于方向约束的路由方法、装置及电子设备

2022-11-19 07:56:52 来源:中国专利 TAG:


1.本发明属于卫星通信技术领域,特别涉及一种基于方向约束的路由方法、装置及电子设备。


背景技术:

2.近年来,地面网络基础设施迅速发展,但仍存在一些部署限制。首先,考虑到投资收益率,地面网络基础设施更倾向于部署在人口稠密的地区。然而,超过70%的地球表面被水覆盖。即使在陆地上,大多数人生活在拥挤的城市,在偏远地区部署地面网络基础设施似乎成本效益较低。与高轨和中轨卫星网络相比,低轨卫星网络具有全球覆盖和超低延迟的优点,被认为是地面网络的理想补充。例如,低轨卫星网络自1997年以来一直在地球表明提供语音和数据覆盖。星链计划发射40000颗低成本、宽带的低轨卫星,以承载回程和互联网流量。提供低延迟和可靠服务质量的低轨卫星网络正变得越来越重要。
3.低轨卫星网络面临的一个挑战是如何设计一种高效的路由算法。在典型的网格状的低轨卫星星座中,由于天线跟踪系统的限制,低轨卫星网络的拓扑结构在星座运动过程中会发生周期性的变化。因此,现有的大多数工作利用了拓扑快照时间片的方法,将星座运动的完整时间段被划分为多个时间片。在每个时间片中,星座拓扑保持不变,并且应用经典的最短路径树生成的算法来导出该时间片的瞬时路由表快照。然而,直接应用以dijkstra(迪杰斯特拉)算法为主的最短路径树生成算法,其计算效率较低,一方面,这将耗尽有限的的卫星间链路带宽资源;另一方面,当网络拓扑因故障而发生变化时,路由计算耗时较长,收敛时间延长,导致数据流失效。基于以上的讨论,迫切需要一个高效的低轨卫星网络路由方案。


技术实现要素:

4.本说明书实施例的目的是提供一种基于方向约束的路由方法、装置及电子设备。
5.为解决上述技术问题,本技术实施例通过以下方式实现的:
6.第一方面,本技术提供一种基于方向约束的路由方法,该方法包括:
7.初始化低轨卫星网络的运行周期、时间片及时间片对应的星间链路度量值变化函数;低轨卫星网络包括若干卫星,每颗卫星对应一个卫星节点;
8.判断每个时间片内的星间链路度量值是否随时间不断变化,若不随时间不断变化,则以固定的常数值作为星间链路度量值,若随时间不断变化,则根据星间链路度量值变化函数,确定当前时间片对应的链路度量值;
9.基于低轨卫星网络的拓扑特征,确定当前卫星节点到目的卫星节点之间的最少跳数方向,所有最少跳数方向形成最少跳数路径矩阵;最少跳数方向包括垂直方向的跳数和水平方向的跳数;
10.在最少跳数路径矩阵范围内,基于当前时间片对应的链路度量值,生成路由表,直至时间片达到时间片总数及运行周期达到运行周期总数为止。
11.在其中一个实施例中,低轨卫星网络包括n=p
×
s颗卫星,其中,p是轨道的数量,s是每个轨道上的卫星的数量;根据低轨卫星网络的拓扑的初始情况定义每颗卫星对应的卫星虚拟节点的编号为(p,s),其中,(p,s)表示为第p个轨道上的第s颗卫星,其中p∈[0,p-1],s∈[0,s-1];每颗卫星在同一轨道上有两颗邻居卫星,由两条同轨星间链路相连,每颗卫星在相邻轨道上有两个邻居卫星,由两条轨间星间链路相连。
[0012]
在其中一个实施例中,低轨卫星网络的运行周期数为m,低轨卫星网络的运行周期内分为n个时间片,每个时间片内的低轨卫星网络的拓扑是固定的。
[0013]
在其中一个实施例中,根据星间链路度量值的变化函数,确定当前时间片对应的链路度量值,包括:
[0014]
根据当前时间片及对应的星间链路度量值的变化函数,计算当前时间片内每条链路度量值的数学期望;
[0015]
将数学期望作为当前时间片对应的链路度量值。
[0016]
在其中一个实施例中,时间片ti内的星间链路度量值的变化函数ci(t),满足:
[0017]
x≤ci(t)≤y,ny≤(n 2)x,其中y与x分别是变化函数的上下限;
[0018]
或,满足:
[0019]
其中n=p s-2,p与s分别为低轨卫星网络的轨道的数量及每个轨道上的卫星的数量,为任意两卫星节点之间的最少跳数路径pm的平均链路度量值的数学期望,为任意两卫星节点之间的不是最少跳数路径po的平均链路度量值的数学期望。
[0020]
在其中一个实施例中,基于低轨卫星网络的拓扑特征,确定当前卫星节点到目的卫星节点之间的最少跳数方向,包括:
[0021]
判断当前卫星节点(pc,sc)与目的卫星节点(pd,sd)是否在同一半球,若当前卫星节点与目的卫星节点在同一半球,则最少垂直方向跳数nv=s
c-sd,最少水平方向跳数为nh=p
c-pd;若当前卫星节点与目的卫星节点不在同一半球,则最少垂直方向跳数nv=s
d-sc,最少水平方向跳数为nh=p
c-pc;
[0022]
判断nv是否大于0,若nv>0,则当前卫星节点到目的卫星节点的垂直搜索方向为北且跳数为|nv|,若nv≤0,则当前卫星节点到目的卫星节点的垂直搜索方向为南且跳数为|nv|;
[0023]
判断nh是否大于0,若nh>0,则当前卫星节点到目的卫星节点的水平搜索方向为东且跳数为|nh|,若nh≤0,则当前卫星节点到目的卫星节点的水平搜索方向为西且跳数为|nh|。
[0024]
在其中一个实施例中,在最少跳数路径矩阵范围内,基于当前时间片对应的链路度量值,生成路由表,包括:
[0025]
当前卫星节点在最少跳数路径矩阵范围内,基于当前时间片对应的链路度量值变化函数以及当前卫星节点到其他目的卫星节点的最小累计链路度量值的递归方程,并行计算东北、东南、西北和西南四个方向域中当前卫星节点到其他目的卫星节点的最短路径,再合并四个方向域的结果,生成路由表。
[0026]
在其中一个实施例中,当前卫星节点到其他目的卫星节点的最小累计链路度量值
的递归方程,包括:
[0027]
f(v,h)=min{f(v,h-1) weight(v,h-1,1),f(v-1,h) weight(v-1,h,0)}
[0028]
其中,v,h分别表示为当前卫星节点(p
c,
sc)到目的卫星节点(p
d,
sd)的垂直距离和水平距离;根据网格状的卫星拓扑特征,设当前卫星节点(p
c,
sc)坐标为(0,0),目的卫星节点(p
d,
sd)坐标为(v,h);设f(v,h)表示为从当前卫星节点出发,移动至目的卫星节点的链路累计度量值最小值;weight(v,h,0)表示为目的卫星节点水平方向的链路度量值;weight(v,h,1)表示为目的卫星节点垂直方向的链路度量值。
[0029]
第二方面,本技术提供一种基于方向约束的路由装置,该装置包括:
[0030]
初始化模块,用于初始化低轨卫星网络的运行周期、时间片及时间片对应的星间链路度量值变化函数;低轨卫星网络包括若干卫星,每颗卫星对应一个卫星节点;
[0031]
处理模块,用于判断每个时间片内的星间链路度量值是否随时间不断变化,若不随时间不断变化,则以固定的常数值作为星间链路度量值,若随时间不断变化,则根据星间链路度量值变化函数,确定当前时间片对应的链路度量值;
[0032]
确定模块,用于基于低轨卫星网络的拓扑特征,确定当前卫星节点到目的卫星节点之间的最少跳数方向,所有最少跳数方向形成最少跳数路径矩阵;最少跳数方向包括垂直方向的跳数和水平方向的跳数;
[0033]
生成模块,用于在最少跳数路径矩阵范围内,基于当前时间片对应的链路度量值,生成路由表,直至时间片达到时间片总数及运行周期达到运行周期总数为止。
[0034]
第三方面,本技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如第一方面的基于方向约束的路由方法。
[0035]
由以上本说明书实施例提供的技术方案可见,该方案:
[0036]
可用于计算一个时间片的链路度量值固定不变和随时间不断变化的两种场景。若当前时间片的链路度量值随时间不断变化,则以其数学期望作为链路度量值,否则以其固定的常数值作为链路度量值,可靠性高,适应性强。
[0037]
利用网格状的低轨卫星网络的拓扑特征,在给定每条星间链路度量值时,根据到达目的卫星节点与源卫星节点(即当前卫星节点)的位置相对性,限定垂直和水平搜索方向及其跳数;该方法能够压缩最优路径的搜索空间,从而缩短生成最优路径的时间。该算法的时间复杂度只与当前源节点到目的卫星节点的最少垂直与水平方向跳数有关,与dijkstra算法相比,其计算复杂度可以显著降低。
[0038]
可以在星间链路发生故障导致网络拓扑变化的场景下快速计算最优路径,保障网络的可靠性,可快速收敛,恢复受影响的数据流。
[0039]
是分布式的,允许每颗卫星独立地计算到其他卫星的最短路径树而互不影响。
[0040]
可进一步用于可并行快速路由方法计算由当前卫星节点到其他所有节点的最短路径树。具体地,从当前卫星节点出发,可从东北、东南、西北、西南四个方向并行计算到达四个方向域中的节点的最短路径,再将四个方向的结果进行合并即可得到最终结果,无额外合并开销。
附图说明
[0041]
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0042]
图1为本技术提供的基于方向约束的路由方法的流程示意图;
[0043]
图2为本技术提供的低轨卫星网络的建模示意图;
[0044]
图3为本技术提供的低轨卫星网络的应用示例图;
[0045]
图4为本技术提供的星间链路度量值随时间变化的变化函数曲线示意图;
[0046]
图5为本技术提供的结果评估图;
[0047]
图6为本技术提供的基于方向约束的路由装置的结构示意图;
[0048]
图7为本技术提供的电子设备的结构示意图。
具体实施方式
[0049]
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0050]
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
[0051]
在不背离本技术的范围或精神的情况下,可对本技术说明书的具体实施方式做多种改进和变化,这对本领域技术人员而言是显而易见的。由本技术的说明书得到的其他实施方式对技术人员而言是显而易见得的。本技术说明书和实施例仅是示例性的。
[0052]
关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
[0053]
本技术中的“份”如无特别说明,均按质量份计。
[0054]
下面结合附图和实施例对本发明进一步详细说明。
[0055]
参照图1,其示出了适用于本技术实施例提供的基于方向约束的路由方法的流程示意图。
[0056]
如图1所示,基于方向约束的路由方法,可以包括:
[0057]
s110、初始化低轨卫星网络的运行周期、时间片及时间片对应的星间链路度量值变化函数;低轨卫星网络包括若干卫星,每颗卫星对应一个卫星节点。
[0058]
其中,低轨卫星网络可以为沃克型的网格状的网络,该网络中每颗卫星虚拟节点根据当前所处的经纬度给定编号。
[0059]
一个实施例中,如图2所示,网格状的低轨卫星网络可以包括n=p
×
s颗卫星,其中,p是轨道的数量,s是每个轨道上的卫星的数量;根据低轨卫星网络的拓扑的初始情况定
义每颗卫星对应的卫星虚拟节点的编号为(p,s)其中,(p,s)表示为第p个轨道上的第s颗卫星,其中p∈[0,p-1],s∈[0,s-1];每颗卫星在同一轨道上有两颗邻居卫星,由两条同轨星间链路相连,每颗卫星在相邻轨道上有两个邻居卫星,由两条轨间星间链路相连。
[0060]
示例性的,轨道高度设定为780km,轨道倾角设定为45
°

[0061]
一个实施例中,低轨卫星网络的运行周期数为m,低轨卫星网络的运行周期内分为n个时间片,每个时间片内的低轨卫星网络的拓扑是固定的。
[0062]
地面基站利用低轨卫星网络的周期性运动的可预测特性,计算低轨卫星网络在一个周期内的虚拟拓扑快照集并发送给卫星节点。
[0063]
给定低轨卫星网络在一个运行周期内的拓扑快照变化时间集t={t1,t2,

,tn},n为一个周期内的拓扑快照总个数,即一个运行周期划分为n个时间片;每个时间片ti(其中,i∈[1,n])内的拓扑可以用一个快照来表示,即每个时间片内的低轨卫星网络的拓扑是固定的,而链路的连接或断开仅在时间片分割点发生。
[0064]
任意一个时间片ti内的星间链路度量值(或简称为链路度量值)是固定的常量或者是动态变化的,其随着时间t变化的星间链路度量值变化函数为ci(t),低轨卫星网络在一个运行周期内的链路度量值变化时间集为c(t)={c1(t),c2(t),

,cn(t)}。
[0065]
初始化低轨卫星网络的运行周期j=1,其中,j∈[1,m],时间片t=t1以及时间片对应的星间链路度量值变化函数c(t)=c1(t)。
[0066]
s120、判断每个时间片内的星间链路度量值是否随时间不断变化,若不随时间不断变化,则以固定的常数值作为星间链路度量值,若随时间不断变化,则根据星间链路度量值变化函数,确定当前时间片对应的链路度量值。
[0067]
一个实施例中,根据星间链路度量值的变化函数,确定当前时间片对应的链路度量值,包括:
[0068]
根据当前时间片及对应的星间链路度量值的变化函数,计算当前时间片内每条链路度量值的数学期望;
[0069]
将数学期望作为当前时间片对应的链路度量值。
[0070]
具体的,每个时间片内的星间链路度量可以是固定的常数值,也可以是随时间不断变化的。判断当前时间片的链路度量值是否随时间不断变化,若否,则取其固定的常数值作为其链路度量值,若是,则根据当前时间片ti及对应的链路度量值变化函数ci(t),计算该时间片内每条链路度量值的数学期望,并以该数学期望作为该链路在该时间片内的链路度量值。
[0071]
可选的,时间片ti内的星间链路度量值的变化函数ci(t),满足:
[0072]
x≤ci(t)≤y,ny≤(n 2)x,其中y与x分别是变化函数的上下限;
[0073]
或,满足:
[0074]
其中n=p s-2,p与s分别为低轨卫星网络的轨道的数量及每个轨道上的卫星的数量,为任意两卫星节点之间的最少跳数路径pm的平均链路度量值的数学期望,为任意两卫星节点之间的不是最少跳数路径po的平均链路度量值的数学期望。
[0075]
可以理解的,该变化函数可以包括但不限于:非周期函数比如随机函数以及周期
函数比如三角函数,或者类似的非周期与周期函数等。
[0076]
s130、基于低轨卫星网络的拓扑特征,确定当前卫星节点到目的卫星节点之间的最少跳数方向,所有最少跳数方向形成最少跳数路径矩阵;最少跳数方向包括垂直方向的跳数和水平方向的跳数。
[0077]
其中,基于低轨卫星网络的拓扑特征,确定当前卫星节点到目的卫星节点之间的最少跳数方向,可以包括:
[0078]
判断当前卫星节点(pc,sc)与目的卫星节点(pd,sd)是否在同一半球,若当前卫星节点与目的卫星节点在同一半球,则最少垂直方向跳数nv=s
c-sd,最少水平方向跳数为nh=p
c-pd;若当前卫星节点与目的卫星节点不在同一半球,则最少垂直方向跳数nv=s
d-sc,最少水平方向跳数为nh=p
c-pc;
[0079]
判断nv是否大于0,若nv>0,则当前卫星节点到目的卫星节点的垂直搜索方向为北且跳数为|nv|,若nv≤0,则当前卫星节点到目的卫星节点的垂直搜索方向为南且跳数为|nv|;
[0080]
判断nh是否大于0,若nh>0,则当前卫星节点到目的卫星节点的水平搜索方向为东且跳数为|nh|,若nh≤0,则当前卫星节点到目的卫星节点的水平搜索方向为西且跳数为|nh|。
[0081]
具体的,该步骤是计算当前卫星节点(pc,sc)到目的卫星节点(pd,sd)最优路径。利用网格状的低轨卫星网络的拓扑特征,当前卫星根据与目的卫星节点的位置相对性,限定垂直和水平搜索方向及其最少跳数nv和nh。
[0082]
当前卫星节点首先判断与目的卫星节点是否在同一半球:如果pc≤s/2,pd≤s/2,或pc》s/2,pd》s/2,则称当前卫星节点和目的卫星节点在同一半球,反之,则称当前卫星节点和目的卫星节点不在同一半球;若当前卫星节点和目的卫星节点在同一半球,则最少垂直方向跳数nv=s
c-sd,最少水平方向跳数为nh=p
c-pd,反之,则最少垂直方向跳数nv=s
d-sc,最少水平方向跳数为nh=p
c-pc;判断nv是否大于0,若是,则当前卫星节点到目的卫星节点的垂直搜索方向为北且跳数为|nv|,反之,则当前卫星节点到目的卫星节点的垂直搜索方向为南且跳数为|nv|;判断nh是否大于0,若是,则当前卫星节点到目的卫星节点的水平搜索方向为东且跳数为|nh|,反之,则当前卫星节点到目的卫星节点的水平搜索方向为西且跳数为|nh|。
[0083]
s140、在最少跳数路径矩阵范围内,基于当前时间片对应的链路度量值,生成路由表,直至时间片达到时间片总数及运行周期达到运行周期总数为止。
[0084]
其中,在最少跳数路径矩阵范围内,基于当前时间片对应的链路度量值,生成路由表,包括:
[0085]
当前卫星节点在最少跳数路径矩阵范围内,基于当前时间片对应的链路度量值变化函数以及当前卫星节点到其他目的卫星节点的最小累计链路度量值的递归方程,并行计算东北、东南、西北和西南四个方向域中当前卫星节点到其他目的卫星节点的最短路径,再合并四个方向域的结果,生成路由表。
[0086]
其中,当前卫星节点到其他目的卫星节点的最小累计链路度量值的递归方程,包括:
[0087]
f(v,h)=min{f(v,h-1) weight(v,h-1,1),f(v-1,h) weight(v-1,h,0)}
[0088]
其中,v,h分别表示为当前卫星节点(p
c,
sc)到目的卫星节点(p
d,
sd)的垂直距离和水平距离;根据网格状的卫星拓扑特征,可设当前卫星节点(p
c,
sc)坐标为(0,0),目的卫星节点(p
d,
sd)坐标为(v,h);设f(v,h)表示为从当前卫星节点出发,移动至目的卫星节点的链路累计度量值最小值;weight(v,h,0)表示为目的卫星节点(坐标为(v,h))水平方向的链路度量值;weight(v,h,1)表示为目的卫星节点(坐标为(v,h))垂直方向的链路度量值。
[0089]
具体的,该步骤利用网格状的低轨卫星网络的拓扑特征,在给定每条星间链路度量值情况下,根据所要到达的目的卫星节点与源卫星节点(即当前卫星节点)的位置相对性,限定垂直和水平搜索方向及其最少跳数,从当前卫星节点出发,可从东北、东南、西北、西南四个方向递归式地并行计算到达四个方向域中的节点的最短路径,再将四个方向的结果进行合并即可得到最终结果,无额外合并开销。
[0090]
其中,设f(v,h)表示为从当前卫星节点出发,移动至目的卫星节点的链路累计度量值最小值,weight(v,h,0)和weight(v,h,1)分别表示为目的卫星节点(坐标为(v,h))水平方向和垂直方向的链路度量值。该方法不仅能够压缩最优路径的搜索空间而且可以并行计算,从而缩短生成最优路径的时间。该算法的时间复杂度只与当前源节点(即当前卫星节点)到目的节点(即目的卫星节点)的最少垂直与水平方向跳数有关,与dijkstra算法相比,其计算复杂度可以显著降低。
[0091]
判断时间片ti是否等于tn,若否,则ti=t
i 1
,返回步骤s120,反之,则判断运行周期j是否等于运行周期总数m,若否,ti=t
i 1
,j=j 1,返回步骤s120,反之,结束。
[0092]
本实施例中,从当前卫星节点出发,可从东北、东南、西北、西南四个方向并行计算到达四个方向域中的目的卫星节点的最短路径,再将四个方向的结果进行合并即可得到最终结果,无额外合并开销。
[0093]
如图3所示,低轨卫星网络模型设定为具有n=70
×
70=4900颗的网格状的低轨卫星网络,其中,每一个时间片内所有星间链路度量值随时间t动态变化的变化函数c(t),如图4所示。继续参照图3,图中当前卫星节点为(3,3),首先计算每一个时间片内的每条链路度量值的数学期望,并将其作为该链路在该时间片内的链路度量值,其次再利用网格状的低轨卫星网络的拓扑特征并根据所要到达的目的卫星节点的位置相对性,划定到达其他所有节点的东北、东南、西北和西南四个方向域,从而压缩最优路径的搜索空间,并采用并行迭代的快速路由方式计算到四个方向域中的节点的最短路径,最后将四个方向域进行合并即可得到最终结果,无额外合并开销。
[0094]
参照图5,本技术技术的效果展示图,分为以下三个步骤。
[0095]
(1)网络初始化:基于卫星工具包(satellite tool kit,stk)构成了一个网格状的n=70
×
70=4900颗卫星的低轨卫星网络,该卫星网络由70个轨道组成,每个轨道上有70颗卫星;卫星绕地球的周期大约需要6900秒,极地区域边界被设为
±
70
°
,高度为780km,倾角为45
°
;星间链路的度量值随时间变化函数参照图4。
[0096]
通过和使用二叉堆数据结构的dijkstra算法进行对比,展现本技术算法在最短路径数生成时间上的优势。
[0097]
(2)最短路径树生成时间的比较
[0098]
本技术提出的算法是分布式的,允许每个卫星节点独立地计算到其他卫星的最短路径树而互不影响。因此,本技术可并行快速计算任意两节点间的最短路径。如图5所示(图
5中本算法即为本技术),其显示了本技术与使用二叉堆数据结构的dijkstra算法在并行与非并行两种情况下的最短路径树的平均生成时间对比。在非并行的情况下,dijkstra算法在最短路径树的平均生成时间为12.40ms,而本技术仅为0.40ms,所用的生成时间仅为dijkstra算法的1/31;在并行的情况下,dijkstra算法在最短路径树的平均生成时间为13.60ms,而本技术仅为0.20ms,所用的生成时间仅为dijkstra算法的1/68。因此,本技术的最短路径树的生成时间要大大优于dijkstra算法,尤其在使用了并行模式后,效果更加明显。
[0099]
(3)时间复杂度分析
[0100]
本技术的时间复杂度为o(ps):本技术需要遍历整个低轨卫星网络,需要使用o(ps)时间,p,s分别为低轨卫星网络的轨道数以及每个轨道上的卫星数;而在使用二叉堆的情况下,dijkstra算法的时间复杂度为o((v e)log(v)),其中v为低轨卫星网络的节点数,即v=p
×
s;e为低轨卫星网络的星间链路的数目,即e=(p-1)
×
s p
×
(s-1)。
[0101]
本技术实施例提供的基于方向约束的路由方法,可用于计算一个时间片的链路度量值固定不变和随时间不断变化的两种场景。若当前时间片的链路度量值随时间不断变化,则以其数学期望作为链路度量值,否则以其固定的常数值作为链路度量值,可靠性高,适应性强。
[0102]
本技术实施例提供的基于方向约束的路由方法,该方法利用网格状的低轨卫星网络的拓扑特征,在给定每条星间链路度量值时,根据到达目的卫星节点与源卫星节点(即当前卫星节点)的位置相对性,限定垂直和水平搜索方向及其跳数;该方法能够压缩最优路径的搜索空间,从而缩短生成最优路径的时间。该算法的时间复杂度只与当前源节点到目的卫星节点的最少垂直与水平方向跳数有关,与dijkstra算法相比,其计算复杂度可以显著降低。
[0103]
本技术实施例提供的基于方向约束的路由方法,可以在星间链路发生故障导致网络拓扑变化的场景下快速计算最优路径,保障网络的可靠性,可快速收敛,恢复受影响的数据流。
[0104]
本技术实施例提供的基于方向约束的路由方法是分布式的,允许每颗卫星独立地计算到其他卫星的最短路径树而互不影响。
[0105]
本技术实施例提供的基于方向约束的路由方法,可进一步用于可并行快速路由方法计算由当前卫星节点到其他所有节点的最短路径树。具体地,从当前卫星节点出发,可从东北、东南、西北、西南四个方向并行计算到达四个方向域中的节点的最短路径,再将四个方向的结果进行合并即可得到最终结果,无额外合并开销。
[0106]
参照图6,其示出了根据本技术一个实施例描述的基于方向约束的路由装置的结构示意图。
[0107]
如图6所示,基于方向约束的路由装置600,可以包括:
[0108]
初始化模块610,用于初始化低轨卫星网络的运行周期、时间片及时间片对应的星间链路度量值变化函数;低轨卫星网络包括若干卫星,每颗卫星对应一个卫星节点;
[0109]
处理模块620,用于判断每个时间片内的星间链路度量值是否随时间不断变化,若不随时间不断变化,则以固定的常数值作为星间链路度量值,若随时间不断变化,则根据星间链路度量值变化函数,确定当前时间片对应的链路度量值;
[0110]
确定模块630,用于基于低轨卫星网络的拓扑特征,确定当前卫星节点到目的卫星节点之间的最少跳数方向,所有最少跳数方向形成最少跳数路径矩阵;最少跳数方向包括垂直方向的跳数和水平方向的跳数;
[0111]
生成模块640,用于在最少跳数路径矩阵范围内,基于当前时间片对应的链路度量值,生成路由表,直至时间片达到时间片总数及运行周期达到运行周期总数为止。
[0112]
可选的,低轨卫星网络包括n=p
×
s颗卫星,其中,p是轨道的数量,s是每个轨道上的卫星的数量;根据低轨卫星网络的拓扑的初始情况定义每颗卫星对应的卫星虚拟节点的编号为(p,s),其中,(p,s)表示为第p个轨道上的第s颗卫星,其中p∈[0,p-1],s∈[0,s-1];每颗卫星在同一轨道上有两颗邻居卫星,由两条同轨星间链路相连,每颗卫星在相邻轨道上有两个邻居卫星,由两条轨间星间链路相连。
[0113]
可选的,低轨卫星网络的运行周期数为m,低轨卫星网络的运行周期内分为n个时间片,每个时间片内的低轨卫星网络的拓扑是固定的。
[0114]
可选的,处理模块620还用于:
[0115]
根据当前时间片及对应的星间链路度量值的变化函数,计算当前时间片内每条链路度量值的数学期望;
[0116]
将数学期望作为当前时间片对应的链路度量值。
[0117]
可选的,时间片ti内的星间链路度量值的变化函数ci(t),满足:
[0118]
x≤ci(t)≤y,ny≤(n 2)x,其中y与x分别是变化函数的上下限;
[0119]
或,满足:
[0120]
其中n=p s-2,p与s分别为低轨卫星网络的轨道的数量及每个轨道上的卫星的数量,为任意两卫星节点之间的最少跳数路径pm的平均链路度量值的数学期望,为任意两卫星节点之间的不是最少跳数路径po的平均链路度量值的数学期望。
[0121]
可选的,确定模块630还用于:
[0122]
判断当前卫星节点(pc,sc)与目的卫星节点(pd,sd)是否在同一半球,若当前卫星节点与目的卫星节点在同一半球,则最少垂直方向跳数nv=s
c-sd,最少水平方向跳数为nh=p
c-pd;若当前卫星节点与目的卫星节点不在同一半球,则最少垂直方向跳数nv=s
d-sc,最少水平方向跳数为nh=p
c-pc;
[0123]
判断nv是否大于0,若nv>0,则当前卫星节点到目的卫星节点的垂直搜索方向为北且跳数为|nv|,若nv≤0,则当前卫星节点到目的卫星节点的垂直搜索方向为南且跳数为|nv|;
[0124]
判断nh是否大于0,若nh>0,则当前卫星节点到目的卫星节点的水平搜索方向为东且跳数为|nh|,若nh≤0,则当前卫星节点到目的卫星节点的水平搜索方向为西且跳数为|nh|。
[0125]
可选的,生成模块640还用于:
[0126]
所述当前卫星节点在所述最少跳数路径矩阵范围内,基于当前时间片对应的链路度量值变化函数以及所述当前卫星节点到其他目的卫星节点的最小累计链路度量值的递归方程,并行计算东北、东南、西北和西南四个方向域中所述当前卫星节点到其他目的卫星
节点的最短路径,再合并四个方向域的结果,生成所述路由表。
[0127]
可选的,当前卫星节点到其他目的卫星节点的最小累计链路度量值的递归方程,包括:
[0128]
f(v,h)=min{f(v,h-1) weight(v,h-1,1),f(v-1,h) weight(v-1,h,0)}
[0129]
其中,v,h分别表示为当前卫星节点(p
c,
sc)到目的卫星节点(p
d,
sd)的垂直距离和水平距离;根据网格状的卫星拓扑特征,设当前卫星节点(p
c,
sc)坐标为(0,0),目的卫星节点(p
d,
sd)坐标为(v,h);设f(v,h)表示为从当前卫星节点出发,移动至目的卫星节点的链路累计度量值最小值;weight(v,h,0)表示为目的卫星节点水平方向的链路度量值;weight(v,h,1)表示为目的卫星节点垂直方向的链路度量值。
[0130]
本实施例提供的一种基于方向约束的路由装置,可以执行上述方法的实施例,其实现原理和技术效果类似,在此不再赘述。
[0131]
图7为本发明实施例提供的一种电子设备的结构示意图。如图7所示,示出了适于用来实现本技术实施例的电子设备700的结构示意图。
[0132]
如图7所示,电子设备700包括中央处理单元(cpu)701,其可以根据存储在只读存储器(rom)702中的程序或者从存储部分708加载到随机访问存储器(ram)703中的程序而执行各种适当的动作和处理。在ram 703中,还存储有设备700操作所需的各种程序和数据。cpu 701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
[0133]
以下部件连接至i/o接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至i/o接口706。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
[0134]
特别地,根据本公开的实施例,上文参考图1描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行上述基于方向约束的路由方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
[0135]
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0136]
描述于本技术实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以
通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中。这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
[0137]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、笔记本电脑、行动电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0138]
作为另一方面,本技术还提供了一种存储介质,该存储介质可以是上述实施例中前述装置中所包含的存储介质;也可以是单独存在,未装配入设备中的存储介质。存储介质存储有一个或者一个以上程序,前述程序被一个或者一个以上的处理器用来执行描述于本技术的基于方向约束的路由方法。
[0139]
存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0140]
需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0141]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献