基于最小连通支配集的卫星网络多播路由方法及系统与流程

文档序号:12967376阅读:327来源:国知局
基于最小连通支配集的卫星网络多播路由方法及系统与流程

本发明涉及卫星多播路由技术领域,尤其涉及一种基于最小连通支配集的卫星网络多播路由方法及系统。



背景技术:

近年来,研究人员对连通支配集进行了深入研究,并取得了很大进展,同时提出了许多经典的连通支配集算法。有关最小连通支配集(minimumconnecteddominatingset,简称mcds)的构造算法,目前主要分为两大类:集中式算法和分布式算法。

集中式算法的主要思想是把最大度的节点作为根节点开始构建一棵树,树包含图中所有节点,选择树的非叶子节点作为支配点。要求将整个网络的拓扑信息集中到某个中心节点,而这将需要花费极大的通信代价,也会出现局部节点通信量过大的问题,因而并不适用于拓扑变化迅速的网络,可扩展性差,但获得的连通支配集的规模通常比分布式的要小。

分布式算法只需要知道当前节点的局部信息,各个节点独立地计算自己的连接情况,具有较强的自组织能力。根据构造连通支配集的方式又可以分为三大类:(1)基于邻居节点信息、(2)基于自裁剪,(3)基于极大独立集。基于邻居节点信息的算法是利用节点周围n跳(通常是2-3跳)内的连通拓扑情况启发式地构造连通支配集;基于自裁剪的算法是首先将网络中所有节点加入连通支配集,然后裁剪连通支配集中冗余的支配点,最后剩余的节点为近似最小连通支配集;而基于极大独立集(maximumindependentset,简称mis)的算法是先构建一个极大独立集,然后添加一些网关节点将独立集连通,进而构造连通支配集的算法。基于相邻节点信息的分布式算法思想是:节点根据判断规则,利用距离其2跳的节点信息来确定自身状态,最终得到连通支配集。另外也有提出区别于上述三大类的分布式算法,算法思想是如果有一个节点被定义为支配集,则它必须满足其两个邻居点不相邻。该方法虽然实现起来简单,但缺点也很明显,该算法运行结束后会产生较多的冗余支配点,而且在应对动态变化的网络时需要付出较大代价。

对于卫星拓扑控制策略,由于卫星严格的轨道运动,卫星网络的动态拓扑呈现周期性与可预测性,这是区别于其他动态网络,如自组织网络、传感器网络的主要特征。基于这一特点,卫星网络的路由技术一般采用拓扑控制策略来屏蔽拓扑的动态性,然后,针对静态的拓扑序列进行路由优化计算。目前,卫星网络的拓扑控制策略主要包括虚拟拓扑策略、虚拟节点策略和覆盖域划分方法.虚拟拓扑策略将卫星网络的动态拓扑进行离散化,一个系统周期t可划分为若干个时间片[t0,t1],[t1,t2],[t2,t3],…,[tn-1,tn],星间链路的变化仅在时间点t1,t2,…,tn发生,且每个时间片[ti,ti+1]内卫星网络假定拓扑不变.其中,以快照概念为典型代表,其形式化描述由fischer等人完成.在快照概念中,一旦任意星间链路临时断开或重新连接,一个不同于先前的快照就形成了,每个快照内卫星拓扑固定不变.快照序列路由算法利用星座地周期性,按时间段从实时变化的星座中提取出n个拓扑,每个时隙内的网络拓扑配看做静止不变,从而可以离线分段计算路由,卫星在时隙边界切换路由表。快照序列路由算法通过消除卫星节点之间的拓扑信息交换降低星上处理负担,减少信令开销。

对于卫星多播路由,随着卫星技术的发展以及对于高效多播业务的需求,越来越多的卫星多播路由方案被提出。目前大多数应用于leo层卫星网络的路由算法被提出,主要包括基于dra(datagramroutingalgorithm,dar)的多播路由算法和基于矩形斯坦树(rectilinearsteinertrees,rst)的多播路由算法。在dra路由算法中,源节点和其他节点之间利用数据报路由算法来确定当前目的节点的下一跳路由方向,主要是降低实时卫星通信过程中的端到端时延。但是此算法为实现相关性能的提升占据了卫星传输中许多必要的资源,代价较高;rst算法采用一种整数线性规划方法来求解最小rst数,主要是降低总的带宽,适用于很多非实时多播应用,但是算法复杂度高。

在多播路由中,单个源节点或者多个源节点要将信息传送给多个目的节点,若对每一个节点单独发送数据包,则将大大浪费网络资源,增加节点的处理负担,这在卫星这种资源极其有限的网络中是很不利的。另外,现有的大多数研究针对的是单层卫星的多播路由情况,主要是leo层卫星。这些算法并不能很好地适用于多层卫星网络,另外针对leo/meo/geo三层卫星设计的多播路由算法较少。



技术实现要素:

本发明提供一种基于最小连通支配集的卫星网络多播路由方法及系统,以降低整个路由代价,并在路由跳数和路由代价之间取得一平衡。

为实现上述目的,本发明提供的一种基于最小连通支配集的卫星网络多播路由方法,包括以下步骤:

获取三层卫星网络的具体参数,并在stk软件中模拟卫星的运行情况来获取卫星节点在一整个周期内的通断情况表;

基于所述通断情况表,通过时隙划分的策略构造时空图模型,获知卫星网络的时间链路和空间链路信息;

根据获知的卫星网络的时间链路和空间链路信息,应用预设的基于最小连通支配集的mcds路由算法进行多播路由业务。

其中,所述通过时隙划分的策略构造时空图模型,获知卫星网络的时间链路和空间链路信息的步骤包括:

在设定好卫星网络场景后,根据卫星拓扑控制策略将动态的卫星网络划分为一系列等长离散的时间片,并构造基于最小连通支配集的骨干网,包含时间维度和空间维度信息的时空图模型,获知卫星网络的时间链路和空间链路信息。

其中,所述预设的基于最小连通支配集的mcds路由算法由分布式的连通支配集生成算法获得。

其中,所述根据获知的卫星网络的时间链路和空间链路信息,应用预设的基于最小连通支配集的mcds路由算法进行多播路由业务的步骤中包括:

定义多时隙情况下的端到端路由跳数和路由代价;

基于所述时空图模型,构造一子图使得任意卫星节点在一特定时段内保持连通,并在路由成本和跳数之间取得一平衡。

其中,基于分布式的连通支配集生成算法获得mcds路由算法的步骤包括:

采用warshall-floyd最短路径算法来计算任意节点经过骨干网的最短路径,并且计算出单节点到多节点的路由代价和端到端路由跳数,以及多节点到多节点的路由代价和端到端路由跳数。

其中,所述方法还包括:

对所述基于最小连通支配集的mcds路由算法进行性能分析。

其中,所述对所述基于最小连通支配集的mcds路由算法进行性能分析的步骤包括:

在单时隙中分别应用所述mcds路由算法和经典的mst路由算法,对两种路由算法所产生的路由代价进行比较分析。

本发明还提出一种基于最小连通支配集的卫星网络多播路由系统,包括存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时实现如上所述的方法的步骤。

本发明的有益效果为:

本发明建立leo/meo/geo三层卫星网络体系,并创新性地将最小连通支配集算法应用于卫星网络来构造一骨干网络,并以此来建立多播路由策略。和经典的多播树算法相比,本发明所提出的算法大大降低了路由成本,并在路由跳数和路由代价之间取得一平衡。

相比现有技术,本发明设计了一种基于最小连通支配集的多播路由算法算法,应用于leo/meo/geo三层卫星网络中。给出了具体的卫星网络参数以及分布式的连通支配集生成算法及多播路由方案,并且定义了多时隙情况下的端到端路由跳数和路由代价,为卫星网络的多播应用遍历提供了一种实际可行的方案。本发明的多播路由算法相比于其他多播算法,采用了连通支配集的方式来构造骨干网,使得任意节点都能通过骨干网来进行通信,信息在骨干网中进行传输,降低了资源的浪费以及避免了广播风暴,不仅降低了单时隙情况下随着节点数的增多所带来的路由代价,另外,更重要的是在时隙数增多的情况下,也有效降低了路由代价。所以,应用本发明设计的多播算法可以有效降低路由代价,相较于mst算法,并在路由代价和端到端跳数这两个性能指标之间取得一平衡,另外,算法实现起来复杂度低。

附图说明

图1是本发明的系统框图;

图2a和图2b分别是时变拓扑极其相关的时变图;

图3a和图3b是本发明算法生成实例;

图4是标注骨干节点的三层卫星星座模型示意图;

图5是在改变节点数目的情况下,本发明所提出的mcds算法和mst算法的单节点对多节点的路由代价的对比图;

图6是在改变节点数目的情况下,本发明所提出的mcds算法和mst算法的多节点对多节点的路由代价的对比图;

图7是本发明所提出的mcds算法和mst算法的多时隙路由代价对比图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明主要研究的是卫星网络的多播路由问题,在多播路由中,单个源节点或者多个源节点要将信息传送给多个目的节点,若对每一个节点单独发送数据包,则将大大浪费网络资源,增加节点的处理负担,这在卫星这种资源极其有限的网络中是很不利的。所以要将信息的转发尽可能地限制在一较小的子网中。故本发明采用了连通支配集的方式来构造骨干网,使得任意节点都能通过骨干网来进行通信,信息在骨干网中进行传输,降低了资源的浪费以及避免了广播风暴。另外,现有的大多数研究针对的是单层卫星的多播路由情况,主要是leo层卫星。这些算法并不能很好地适用于多层卫星网络,另外针对leo/meo/geo三层卫星设计的多播路由算法较少。

在综合考虑上述问题的基础上,本发明在设定好卫星网络场景后,根据卫星拓扑控制策略将动态的卫星网络划分为一系列等长离散的时间片,并构造基于最小连通支配集的骨干网,据此来设计多播路由算法。

具体地,本发明提出一种基于最小连通支配集的卫星网络多播路由方法,包括:

步骤s1,获取三层卫星网络的具体参数,并在stk软件中模拟卫星的运行情况来获取卫星节点在一整个周期内的通断情况表;

步骤s2,基于所述通断情况表,通过时隙划分的策略构造时空图模型,获知卫星网络的时间链路和空间链路信息;

其中,在设定好卫星网络场景后,根据卫星拓扑控制策略将动态的卫星网络划分为一系列等长离散的时间片,并构造基于最小连通支配集的骨干网,包含时间维度和空间维度信息的时空图模型,获知卫星网络的时间链路和空间链路信息。

步骤s3,根据获知的卫星网络的时间链路和空间链路信息,应用预设的基于最小连通支配集的mcds路由算法进行多播路由业务。

其中,所述预设的基于最小连通支配集的mcds路由算法由分布式的连通支配集生成算法获得。具体采用warshall-floyd最短路径算法来计算任意节点经过骨干网的最短路径,并且计算出单节点到多节点的路由代价和端到端路由跳数,以及多节点到多节点的路由代价和端到端路由跳数。

首先,定义多时隙情况下的端到端路由跳数和路由代价;

基于所述时空图模型,构造一子图使得任意卫星节点在一特定时段内保持连通,并在路由成本和跳数之间取得一平衡。

进一步地,本发明所述方法还包括:

步骤s4,对所述基于最小连通支配集的mcds路由算法进行性能分析。

主要在单时隙中分别应用所述mcds路由算法和经典的mst路由算法,对两种路由算法所产生的路由代价进行比较分析。

本发明的多播路由算法相比于其他多播算法,采用了连通支配集的方式来构造骨干网,使得任意节点都能通过骨干网来进行通信,信息在骨干网中进行传输,降低了资源的浪费以及避免了广播风暴,不仅降低了单时隙情况下随着节点数的增多所带来的路由代价,另外,更重要的是在时隙数增多的情况下,也有效降低了路由代价。

以下对本发明方案进行详细阐述:

本发明提出一种基于最小连通支配集的多播路由算法来降低整个路由代价,并在路由跳数和路由代价之间取得一平衡。在实际中,连通支配集则经常用于无线传感器网络或者移动adhoc网络中来创建骨干子网以此避免广播、多播等服务所带来的广播风暴。在本方案中,将连通支配集算法应用到卫星网络中,通过尽可能地缩减骨干网的大小来实现总体成本的降低。具体来讲,既要提升支配节点的邻居节点数,又要保证非支配节点可以通过支配节点进行信息的交互。如图所示,在图1中,给出了本方案的系统框图。

首先,需要给出三层卫星网络的具体参数,并在stk软件中模拟卫星的运行情况来获取卫星节点在一整个周期内的通断情况表;其次,通过时隙划分的策略构造时变图(space-timegraph),获知卫星网络的时间链路和空间链路信息,并据此在单时隙中分别应用本发明提出的mcds路由算法和经典的mst路由算法;最后对两种路由算法所产生的路由代价进行比较分析,从而得出本发明所提出的算法性能优于mst算法。

1、时空图构造

卫星网络是一个随着时间演化的动态网络,对于网络中运动规律可预测的节点来说,在某一个时间片可将卫星网络看作一个静态网络,相当于进行时隙的划分,得到一系列卫星网络的静态拓扑图,如图2(a)所示,网络的动态拓扑就可以用一系列的拓扑结构快照来表示。但是依据此类拓扑进行路由存在的问题是,每个时间片内的静态拓扑模型是相互独立的,为了改善这种状况,用一个同时包含时间维度和空间维度信息的拓扑图——时空图模型(如图2(b)所示)来反映卫星网络节点随时间演化的动态变化过程,该模型是由一系列静态拓扑图按照一定规则转化而来的,是一种动态拓扑模型。

在时空图gt=(vt,et)中,t=0,1,2,3,…,t,定义t+1层节点,其中t代表时间片的个数,每层有n个节点,代表卫星网络骨干网中的所有节点。节点集合用表示,即代表第t个时隙的第i个节点。在拓扑图中节点集合表示如下:

而链路集合则用et表示,包含了两种类型:时间链路(time)和空间链路(space),即et=(time,space)。其中时间链路用表示,代表了第i个节点在第t个时隙、的信息存储能力。空间链路则用表示,代表节点vi在第t个时隙与节点vj的通信能力。这里,以5个节点在5个时隙内的连接情况为例进行说明,具体如图2a和图2b所示。

2、算法设计

在对卫星网络进行时变图建模后,本发明尝试构造一子图使得任意卫星节点在一特定时段内保持连通,并且尽可能降低总的路由成本,另外在路由成本和跳数之间取得一平衡。首先在对本发明算法详细说明之前,给出本发明中的算法性能的定义。总的路由成本p_cost,指的是在给定的时隙内本发明所构造的骨干网的所包含的节点跳数的总和,如公式(2.1)所示;这里t指的是时隙个数,nbn指的是这些时隙内的骨干节点数;另一方面,端到端的路由跳数p_hop定义为一时隙内多节点到多节点的路由跳数之和,如公式(2.2)所示。

2.1dis_mcds算法

在这一章节之前,首先给出几个相关定义。

定义1:支配集(dominatingset,ds):给定图g=(v,e),节点集是一个支配集,当且仅当v'满足以下条件:或u与v'中的某一节点v相邻。v'中的节点称为支配点。

定义2:连通支配集(connecteddominatingset,cds):给定图g=(v,e),节点集是一个支配集,当且仅当c满足以下条件:(1)c是支配集,(2)由c导出的子图为连通图。

定义3:节点度d(u):对于一任意节点u,其邻居节点个数之和即为其度数,简称为d(u)。

为最大化的缩小骨干网的大小,本发明提出一种分布式的最小连通支配集的构造算法。首先对图中的每一条边赋权值,边的权值等于该边连接的两个相邻节点的度之和;其次,从任意一节点开始选取权值最大的边,求解出对应的最大生成树;最后,删除树中度为1的节点,剩下的节点即构成所求的连通支配集。为了更形象地说明本部分的算法,以一个单时隙内的算法生成实例来进行说明。如图3a和图3b所示,图3a和图3b是本发明算法生成实例,其中,图3a是30个随机节点的连接图;图3b是对应的骨干子图在此选择30个节点来生成其对应的连通支配集。具体的算法伪代码见算法1。

算法1dis_mcds算法

2.2基于mcds路由算法

在生成对应的mcds后,本发明则要设计一基于mcds的路由算法确保卫星网络中任意节点可以通信。这里,在设计路由时,采用warshall-floyd最短路径算法来计算任意节点经过骨干网的最短路径,并且计算出单节点到多节点的路由代价和端到端路由跳数pi_hop,pi_cost,以及多节点到多节点的路由代价和端到端路由跳数pall_hop,pall_cost。具体的算法伪代码见算法2。

算法2:基于mcds的路由算法

3、性能分析

3.1三层卫星模型搭建

在本发明中,选择三层卫星模型来搭建场景模型。如图4所示是一三层卫星星座的示意图,在图中假设标红的卫星即为所选择的骨干节点。而卫星星座的具体参数见表1。

表1geo/meo/leo卫星星座参数表

3.2性能比较

在给出三层卫星网络的具体参数后,可以通过stk软件进行卫星运行场景的仿真并得到卫星节点的连通表。将卫星网络的周期划分为一系列离散等长(t=1min)的时间片后,则可构造单时隙或者多时隙内的多播路由算法。

图5是在改变节点数目的情况下,本发明所提出的mcds算法和mst算法的单节点对多节点的路由代价的对比图。从图中可以看出,mcds路由的代价相比于mst的有所降低,但降低的幅度不大,算法性能提升的不明显。而图6则是在改变节点数目的情况下,本发明所提出的mcds算法和mst算法的多节点对多节点的路由代价的对比图。从图中可以看出,mcds路由的代价相比于mst的降幅明显,算法性能得到显著的提升。但是这是在牺牲一部分端到端路由跳数的情况下得到的路由代价的减少(见表2),换句话说,和mst算法相比,本发明所提出的的算法在路由代价和端到端跳数之间取得一平衡。

表2端到端路由跳数对比表

当然,本发明也考虑了多时隙情况的路由代价对比情况。从图7中可以明显看出多时隙情况下本发明算法的总路由代价要明显低于mst算法。另外之所以出现时隙3到时隙5之间的路由代价维持一固定值,主要是因为在这些时隙内卫星的连通状态未发生改变。

本发明设计了一种基于最小连通支配集的多播路由算法算法,应用于leo/meo/geo三层卫星网络中。给出了具体的卫星网络参数以及分布式的连通支配集生成算法及多播路由方案,并且定义了多时隙情况下的端到端路由跳数和路由代价,为卫星网络的多播应用遍历提供了一种实际可行的方案。通过一个具体的算法生成实例,验证了本发明提出的算法是有效的。本发明的多播路由算法相比于其他多播算法,不仅降低了单时隙情况下随着节点数的增多所带来的路由代价,另外,更重要的是在时隙数增多的情况下,也有效降低了路由代价。所以,应用本发明设计的多播算法可以有效降低路由代价,相较于mst算法,并在路由代价和端到端跳数之间取得一平衡。

现有的大多数研究针对的是单层卫星的多播路由情况,主要是leo层卫星。针对leo/meo/geo三层卫星设计的多播路由算法较少;本发明所采用的算法屏蔽了卫星所在轨道类型的限制,有一定的普适性;其次,在性能方面,主要对以下几个进行研究:端到端路由跳数,多播树代价,端到端平均时延,总体带宽以及多播失败概率等等。本发明关注的是端到端路由跳数和路由代价这两个性能指标,在研究上述两个指标的文献中,大都值关注一种性能的提升,而未对其综合考虑。故本发明提出的一种基于最小连通支配集的多播路由算法,在保证总的路由代价降低的情况下,同时也在端到端路由跳数和路由代价这两个性能指标之间取得一平衡。另外,算法实现起来复杂度低。

此外,本发明还提出一种基于最小连通支配集的卫星网络多播路由系统,包括存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时实现如上所述的方法的步骤,在此不再赘述。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1