CN111835634A - 基于业务分配的动态多径路由方法 - Google Patents
基于业务分配的动态多径路由方法 Download PDFInfo
- Publication number
- CN111835634A CN111835634A CN202010672346.1A CN202010672346A CN111835634A CN 111835634 A CN111835634 A CN 111835634A CN 202010672346 A CN202010672346 A CN 202010672346A CN 111835634 A CN111835634 A CN 111835634A
- Authority
- CN
- China
- Prior art keywords
- node
- link
- time
- transmission
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000005540 biological transmission Effects 0.000 claims abstract description 172
- 230000002776 aggregation Effects 0.000 claims abstract description 33
- 238000004220 aggregation Methods 0.000 claims abstract description 33
- 239000012634 fragment Substances 0.000 claims description 21
- 230000009977 dual effect Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000002372 labelling Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 19
- 230000006870 function Effects 0.000 description 18
- 238000004088 simulation Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000006116 polymerization reaction Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/18578—Satellite systems for providing broadband data service to individual earth stations
- H04B7/18584—Arrangements for data networking, i.e. for data packet routing, for congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/124—Shortest path evaluation using a combination of metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/30—Routing of multiclass traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Astronomy & Astrophysics (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于业务分配的动态多径路由方法,主要解决现有单路径路由数据传输集中在最优路径上,易发生网络拥塞和数据丢失的问题。其方案是:1)构建连续时间聚合图;2)计算从源节点到其邻居节点业务完全到达时所跨的连通时间段个数,确定最优路径数目以及每条路径上的业务量分配情况:3)根据最优路径数目的不同,使用不同的传输方案找到业务经过该邻居节点发送到目的节点的多径路由及时延:4)重复2)和3),直到找到业务经过源节点的所有邻居节点发送到目的节点的多径路由及时延,其中耗费时延最小的多径路由即为所求多径路由。本发明减小了节点的传输压力,避免了网络拥塞,提高了网络资源的利用率,可用于卫星网络通信。
Description
技术领域
本发明属于通信技术领域,更进一步涉及一种多径路由方法,可用于卫星网络通信。
背景技术
近年来,网络通信技术取得了快速的发展,与此同时人们对于信息传输的需求急剧增长。如果仅仅依靠于地面通信网络,将会受限于各种极端地形以及自然灾害等多种因素,根本无法满足人们对于网络通信的高要求。所以卫星网络应运而生,卫星网络是一个由高空网络、空间以及地面构成的综合通信系统,不仅可以实现地球表面的全覆盖,还能提供高带宽保证数据的传输速率,且近乎不受地理因素以及各种自然灾害的影响。这些特征使得卫星网络成为了通信网络发展的主要趋势,其中网络路由技术是需要深入研究的关键性问题。
现有的网络路由方法主要目的是在源节点和目的节点之间维护一条最优路径,所有的业务都通过这条维护的最优路径进行传输,用这种直接运用单路径路由方法查找卫星网络中的最短时延路径会存在以下两个问题:
第一,当源节点需要发送的业务量很大时,业务的传输可能会跨多个连通时间段,导致等待链路连通的时延增加,造成不必要的路由开销。
第二,卫星网络中的节点以及链路资源有限,如果所有的业务都通过一条最优路径进行传输,无法并行的传输数据,将导致数据传输的压力集中在最优路径上,很容易发生网络拥塞,严重时甚至会造成数据丢失。
发明内容
本发明的目的在于针对上述单路径路由方法的不足,提出一种基于业务分配的动态多径路由方法,以将传输业务的压力分摊到多条链路上,减小节点的压力,充分利用了网络中的链路资源,减少网络拥塞的发生,提高卫星网络传输的可靠性。
为实现上述目的,本发明的实现步骤包括如下:
(1)通过节点和链路信息构造连续时间聚合图G=(V,L),其中V是节点集合,L是链路集和;
(2)初始化参数:给定业务量为M,定义link(s,d)表示从源节点s传输给定业务量到目的节点d的动态多径路由,初始化为空;定义Dbest(s,d)存储源节点s到目的节点d的最短时延,即按照link(s,d)中存储的动态多径路由进行传输需要花费的时延,初始化为∞,定义s的邻居节点集合P,用来存储源节点s的所有邻居节点,P={n1,n2,n3,...};
(3)判断集合P是否为空:
若为空,则表明源节点s的所有邻居节点都已经参与了计算,得到网络中固定传输起始时间下从源节点传输给定业务量到目的节点的最优多径路由link(s,d)和通过该路径传输需要耗费的时延Dbest;
否则,从集合P中提取邻居节点ni,执行(4);
(4)在源节点s到其某个邻居节点ni之间的链路上,计算给定业务量M的传输结束的时刻并统计传输时间段在链路的连通时间段序列I中所跨的连通时间段个数N,其中tstart表示传输开始时刻,表示链路的容量函数;
(5)根据N的大小,得到最优路径数目k以及业务量分配情况:
当N=1时,业务通过单路径进行传输,即有k=1,执行(6);
当N=2时,业务通过双路径进行传输,即k=2,两条路径上分配的业务量M1和M2分别为第一、二个连通时间段传输的业务量,执行(7);
当N>2时,业务通过三条路径进行传输,即有k=3,需根据业务量M在链路lsni上的分布时间段序列之间的间隔,选择间隔最大和次大的两个时间间隔将业务量M划分为M1、M2和M3三部分,分别表示这三条路径上分配的业务量,执行(8);
(6)在连续时间聚合图G中,计算从源节点s开始传输给定业务量M经过邻居节点ni后,发送到目的节点d的最短路径pathi及该路径耗费的时延Di,得到单路径路由link′=pathi和该单路径路由耗费的时延Di;
(7)计算业务通过两条路径进行传输的双路径路由link′和耗费的时延Di:
(7a)在连续时间聚合图G中,计算从源节点s开始传输第一条路径上分配的业务量M1经过邻居节点ni后,发送到目的节点d的最短路径path1i和该路径耗费的时延D1i;
(7b)将(7a)中的最短路径path1i所涉及的链路从连续时间聚合图G中删除,得到剩余连续时间聚合图G′=(V,L′),其中L′是剩余链路集合;再在剩余图G′中计算从源节点s传输第二条路径上分配的业务量M2到达目的节点d的最短路径path2i和该路径耗费的时延D2i;
(7c)根据(7a)和(7b)的结果,得到双路径路由link′={path1i,path2i}和该双路径路由耗费的时延Di=max(D1i,D2i);
(8)计算业务通过三条路径进行传输的三条路径路由link′和耗费的时延Di:
(8a)在连续时间聚合图G中,计算从源节点s开始传输第一条路径上分配的业务量M1经过邻居节点ni后,发送到目的节点d的最短路径path1i和该路径耗费的时延D1i;
(8b)将(8a)中的最短路径path1i所涉及的链路从连续时间聚合图G中删除,得到剩余连续时间聚合图G′=(V,L′),再在剩余图G′中计算从源节点s传输第二条路径上分配的业务量M2到达目的节点d的最短路径path2i和该路径耗费的时延D2i;
(8c)将(8b)中的最短路径path2i所涉及的链路从剩余连续时间聚合图G′中删除,得到二次剩余连续时间聚合图G″=(V,L″),其中L″是二次剩余链路集合;然后在二次剩余图G″中计算从源节点s传输第三条路径上分配的业务量M3到达目的节点d的最短路径path3i和该路径耗费的时延D3i;
(8d)根据(8a)、(8b)和(8c)的结果,得到三条路径路由link′={path1i,path2i,path3i}和该三条路径路由耗费的时延Di=max(D1i,D2i,D3i);
(9)将此时耗费的时延Di与当前最短时延Dbest进行比较;若Di<Dbest,则更新Dbest=Di,link=link′,再执行(11),否则,不进行更新,直接执行(11);
(10)从集合P中删除邻接节点ni,返回(3);
与现有技术相比,本发明具有以下优点:
第一,本发明将需要跨多个连通时间段传输的业务,以等待链路连通时延最小为目标,将部分业务量转移到其他路径上,减少了业务等待链路连通的时延,进而降低了网络的传输时延;
第二,本发明将传输业务的压力分摊到多条链路上,并行传输数据,减小了节点的压力,充分利用了网络中的链路资源,减少了网络拥塞的发生,进一步提高卫星网络传输的可靠性。
附图说明
图1是本发明使用的场景示例图;
图2是本发明的实现流程图;
图3是本发明中的连续时间聚合图;
图4是本发明的仿真结果图。
具体实施方式
下面结合附图对本发明的实施例和效果做进一步的描述。
参照图1,本实施例使用的场景是一个通信网络,该网络中包括两个地面站和三个中继星,即第一地面站s、第二地面站d、第一中继星a、第二中继星b和第三中继星c这五个网络节点。网络中第一地面站s、第二地面站d分别与第一中继星a、第二中继星b、第三中继星c之间各有一条通信链路,即第一地面站s与第一中继星a之间的通信链路lsa,第一地面站s与第二中继星b之间的通信链路lsb,第一地面站s与第三中继星c之间的通信链路lsc,第二地面站d与第一中继星a之间的通信链路lad,第二地面站d与第二中继星b之间的通信链路lbd,第二地面站d与第三中继星c之间的通信链路lcd。当一个业务从第一地面站s向第二地面站d发送时,需要找出耗费时延最小的动态多径路由。
参照图2,本实施例的具体步骤如下:
步骤1,生成连续时间聚合图。
1.1)用网络中的五个节点构成节点集合V={s,a,b,c,d},用五个节点之间的链路构成链路集合L={lsa,lsb,lsc,lad,lbd,lcd,};将链路上的信息用(I,c(t),d(t))表示,其中c(t)表示链路的容量函数,d(t)表示链路的传播时延函数,表示链路的连通时间段序列,链路只有在连通时间段内才是连通的状态,在其他时间段链路时断开的状态;
1.2)根据上述参数生成连续时间聚合图G=(V,L),如图3所示。
图3中,(Isa,csa(t),dsa(t))表示节点s和节点a之间的链路连通时间段序列、链路容量和链路传播时延;
(Isb,csb(t),dsb(t))表示节点s和节点b之间的链路连通时间段序列、链路容量和链路传播时延;
(Isc,csc(t),dsc(t))表示节点s和节点c之间的链路连通时间段序列、链路容量和链路传播时延;
(Iad,cad(t),dad(t))节点a和节点d之间的链路连通时间段序列、链路容量和链路传播时延;
(Ibd,cbd(t),dbd(t))表示节点b和节点d之间的链路连通时间段序列、链路容量和链路传播时延,
(Icd,ccd(t),dcd(t))表示节点c和节点d之间的链路连通时间段序列、链路容量和链路传播时延。
步骤2,初始化参数。
设业务量为M,定义link(s,d)为存储从源节点s传输给业务量到目的节点d的动态多径路由,初始化为空;定义Dbest(s,d)存储源节点s到目的节点d的最短时延,即按照link(s,d)集合中存储的动态多径路由进行传输需要花费的时延,初始化为∞。定义s的邻居节点集合P,用来存储源节点s的所有邻居节点,P={a,b,c};
步骤3,根据集合P的当前状态,选择不同的操作。
判断集合P是否为空:若为空,则表明源节点s的所有邻居节点都已经参与了计算,得到网络中固定传输起始时间下从源节点传输给定业务量到目的节点的最优多径路由link(s,d)和通过该路径传输需要耗费的时延Dbest;否则,从集合P中提取邻居节点ni,执行步骤4。
步骤4,统计连通时间段个数N,选择最优路径数目k进行业务量分配。
4.1)在源节点s到其某个邻居节点ni之间的链路上,计算给定业务量M的传输结束的时刻其中tstart表示传输开始时刻,表示链路的容量函数;再统计传输时间段在链路的连通时间段序列I中所跨的连通时间段个数N;
4.2)根据N的大小,得到最优路径数目k及业务量分配情况:
当N=2时,表示业务量M在链路的连通时间段序列中跨了两个连通时间段,此时业务通过双路径进行传输,即有k=2,其中第一部分业务量M1为第一个连通时间段传输的业务量,第二部分业务量M2为第二个连通时间段传输的业务量,执行步骤6;
当N>2时,表示业务量M在链路的连通时间段序列中跨了2个以上的连通时间段,此时业务通过三条路径进行传输,即有k=3,需根据业务量M在链路上的分布时间段序列之间的间隔,选择间隔最大和次大的两个时间间隔将业务M划分为M1、M2和M3三个部分,再执行步骤7。
步骤5,计算业务通过单路径进行传输的单路径路由link′和该路由所耗费的时延Di。
5.1)在连续时间聚合图G中,计算从源节点s开始传输给定业务量M经过邻居节点ni后,发送到目的节点d的最短路径pathi及该路径耗费的时延Di;
(5.1.1)初始化:设所有节点的业务完全到达时刻为∞,所有节点的父节点为空,创建确定最短路径节点集合Q,用来存储已经找到最短路径的节点,其初值设置为创建未知最短路径节点集合T,用来存储还没有找到最短路径的节点,其初值设置为所有节点;
(5.1.2)计算源节点s到其邻居节点ni的传输结束时刻,更新邻居节点ni的业务完全到达时刻,将邻居节点ni从未知最短路径节点集合T中删除并将其加入到确定最短路径节点集合Q中,更新邻居节点ni的父节点为源节点s,并将邻居节点ni作为当前节点;
第一种情况:当下一跳链路容量小于或等于上一跳链路容量时,`其业务传输结束时刻的传输结束时刻为:
第二种情况:当下一跳的链路容量大于上一跳链路容量且下一跳链路在业务片段传输过程中未断开时的传输结束时刻为:
其中,表示业务以最大容量传输时的传输结束时刻,表示业务在链路lij上的传输结束时刻,表示链路lij在时的传播时延,表示链路ljr第x个连通时间段的开始时刻,表示链路lij在最后一个连通时间段的传输开始时刻,表示链路lij在时的传播时延,表示链路ljr第x-1个业务片段传输结束的时刻,cjr(t)和cij(t)分别表示链路ljr和lij的容量函数,tstart表示业务传输起始时间,M表示需要传输的总业务量;
第三种情况:当下一跳的链路容量大于上一跳链路容量且下一跳链路在业务片段传输过程中断开时的传输结束时刻为:
若小于,则将节点的业务完全到达时间更新为业务传输结束时刻与传播时延之和,并将其父节点更新为当前节点,执行(5.1.5);
否则,不进行更新,直接执行(5.1.5);
(5.1.5)从未知最短路径节点集合T中删除业务完全到达时间最小的节点,并将其加入到确定最短路径节点集合Q中,再判断当前未知最短路径节点集合T是否为空,若为空,则继续进行(5.1.6),否则,将该业务完全到达时间最小的节点作为新的当前节点,返回(5.1.3);
(5.1.6)采用“倒序追踪”的方法,即依次找到目的节点d的父节点,再找到父节点的父节点,一直追溯到源节点,得到源节点到目的节点d的最短路径pathi,该路径耗费的时延Di即为节点d的业务完全到达时间与业务传输起始时刻tstart之差;
5.2)根据5.1)的结果,得到单路径路由link′=pathi和该单路径路由耗费的时延Di。
步骤6,计算业务通过两条路径进行传输的双路径路由link′和耗费的时延Di:
6.1)在连续时间聚合图G中,计算从源节点s开始传输第一条路径上分配的业务量M1经过邻居节点ni后,发送到目的节点d的最短路径path1i和该路径耗费的时延D1i;
(6.1.1)初始化:设所有节点的业务完全到达时刻为∞,所有节点的父节点为空,创建确定最短路径节点集合Q,用来存储已经找到最短路径的节点,其初值设置为创建未知最短路径节点集合T,用来存储还没有找到最短路径的节点,其初值设置为所有节点;
(6.1.2)计算源节点s到其邻居节点ni的传输结束时刻,更新邻居节点ni的业务完全到达时刻,将邻居节点ni从未知最短路径节点集合T中删除并将其加入到确定最短路径节点集合Q中,更新邻居节点ni的父节点为源节点s,并将邻居节点ni作为当前节点;
第一种情况:当下一跳链路容量小于或等于上一跳链路容量时,`其业务传输结束时刻的传输结束时刻为:
第二种情况:当下一跳的链路容量大于上一跳链路容量且下一跳链路在业务片段传输过程中未断开时的传输结束时刻为:
其中,表示业务以最大容量传输时的传输结束时刻,表示业务在链路lij上的传输结束时刻,表示链路lij在时的传播时延,表示链路ljr第x个连通时间段的开始时刻,表示链路lij在最后一个连通时间段的传输开始时刻,表示链路lij在时的传播时延,表示链路ljr第x-1个业务片段传输结束的时刻,cjr(t)和cij(t)分别表示链路ljr和lij的容量函数,tstart表示业务传输起始时间,M1表示需要传输的业务量;
第三种情况:当下一跳的链路容量大于上一跳链路容量且下一跳链路在业务片段传输过程中断开时的传输结束时刻为:
若小于,则将节点的业务完全到达时间更新为业务传输结束时刻与传播时延之和,并将其父节点更新为当前节点,执行(6.1.5);
否则,不进行更新,直接执行(6.1.5);
(6.1.5)从未知最短路径节点集合T中删除业务完全到达时间最小的节点,并将其加入到确定最短路径节点集合Q中,再判断当前未知最短路径节点集合T是否为空:若为空,则继续进行(6.1.6),否则,将该业务完全到达时间最小的节点作为新的当前节点,返回(6.1.3);
(6.1.6)采用“倒序追踪”的方法,即依次找到目的节点d的父节点,再找到父节点的父节点,一直追溯到源节点,得到源节点到目的节点d的最短路径path1i,该路径耗费的时延D1i即为节点d的业务完全到达时间与业务传输起始时刻tstart之差;
6.2)计算从源节点s传输第二条路径上分配的业务量M2到达目的节点d的最短路径path2i和该路径耗费的时延D2i:
(6.2.1)将6.1)中的最短路径path1i所涉及的链路从连续时间聚合图G中删除,得到剩余连续时间聚合图G′=(V,L′),其中L′是剩余链路集合;
(6.2.2)初始化:设所有节点的业务完全到达时刻为∞,所有节点的父节点为空,创建确定最短路径节点集合Q,用来存储已经找到最短路径的节点,其初值设置为创建未知最短路径节点集合T,用来存储还没有找到最短路径的节点,其初值设置为所有节点;
(6.2.3)计算源节点s到其所有邻居节点的传输结束时刻,并更新源节点s的其所有邻居节点的父节点和业务完全到达时刻,从未知最短路径的节点集合T中删除业务完全到达时刻最小的节点j,并将其加入到确定最短路径的节点集合Q中;
第一种情况:当下一跳链路容量小于或等于上一跳链路容量时,`其业务传输结束时刻的传输结束时刻为:
第二种情况:当下一跳的链路容量大于上一跳链路容量且下一跳链路在业务片段传输过程中未断开时的传输结束时刻为:
其中,表示业务以最大容量传输时的传输结束时刻,表示业务在链路lij上的传输结束时刻,表示链路lij在时的传播时延,表示链路ljr第x个连通时间段的开始时刻,表示链路lij在最后一个连通时间段的传输开始时刻,表示链路lij在时的传播时延,表示链路ljr第x-1个业务片段传输结束的时刻,cjr(t)和cij(t)分别表示链路ljr和lij的容量函数,tstart表示业务传输起始时间,M2表示需要传输的业务量;
第三种情况:当下一跳的链路容量大于上一跳链路容量且下一跳链路在业务片段传输过程中断开时的传输结束时刻为:
若小于,则将节点的业务完全到达时间更新为业务传输结束时刻与传播时延之和,并将其父节点更新为当前节点,执行(6.2.6);
否则,不进行更新,直接执行(6.2.6);
(6.2.6)从未知最短路径节点集合T中删除业务完全到达时间最小的节点,并将其加入到确定最短路径节点集合Q中,再判断当前未知最短路径节点集合T是否为空,若为空,则继续进行(6.2.7),否则,将该业务完全到达时间最小的节点作为新的当前节点,返回(6.2.4);
(6.2.7)采用“倒序追踪”的方法,即依次找到目的节点d的父节点,再找到父节点的父节点,一直追溯到源节点,得到源节点到目的节点d的最短路径path2i,该路径耗费的时延D2i即为节点d的业务完全到达时间与业务传输起始时刻tstart之差;
6.3)根据6.1)和6.2)的结果,得到双路径路由link′={path1i,path2i}和该双路径路由耗费的时延Di=max(D1i,D2i)。
步骤7,计算业务通过三条路径进行传输的三条路径路由link′和耗费的时延Di。
7.1)在连续时间聚合图G中,计算从源节点s开始传输第一条路径上分配的业务量M1经过邻居节点ni后,发送到目的节点d的最短路径path1i和该路径耗费的时延D1i:
(7.1.1)初始化:设所有节点的业务完全到达时刻为∞,所有节点的父节点为空,创建确定最短路径节点集合Q,用来存储已经找到最短路径的节点,其初值设置为创建未知最短路径节点集合T,用来存储还没有找到最短路径的节点,其初值设置为所有节点;
(7.1.2)计算源节点s到其邻居节点ni的传输结束时刻,更新邻居节点ni的业务完全到达时刻,将邻居节点ni从未知最短路径节点集合T中删除并将其加入到确定最短路径节点集合Q中,更新邻居节点ni的父节点为源节点s,并将邻居节点ni作为当前节点;
第一种情况:当下一跳链路容量小于或等于上一跳链路容量时,`其业务传输结束时刻的传输结束时刻为:
第二种情况:当下一跳的链路容量大于上一跳链路容量且下一跳链路在业务片段传输过程中未断开时的传输结束时刻为:
其中,表示业务以最大容量传输时的传输结束时刻,表示业务在链路lij上的传输结束时刻,表示链路lij在时的传播时延,表示链路ljr第x个连通时间段的开始时刻,表示链路lij在最后一个连通时间段的传输开始时刻,表示链路lij在时的传播时延,表示链路ljr第x-1个业务片段传输结束的时刻,cjr(t)和cij(t)分别表示链路ljr和lij的容量函数,tstart表示业务传输起始时间,M1表示需要传输的业务量;
第三种情况:当下一跳的链路容量大于上一跳链路容量且下一跳链路在业务片段传输过程中断开时的传输结束时刻为:
若小于,则将节点的业务完全到达时间更新为业务传输结束时刻与传播时延之和,并将其父节点更新为当前节点,执行(7.1.5);
否则,不进行更新,直接执行(7.1.5);
(7.1.5)从未知最短路径节点集合T中删除业务完全到达时间最小的节点,并将其加入到确定最短路径节点集合Q中,再判断当前未知最短路径节点集合T是否为空,若为空,则继续进行(7.1.6),否则,将该业务完全到达时间最小的节点作为新的当前节点,返回(7.1.3);
(7.1.6)采用“倒序追踪”的方法,即依次找到目的节点d的父节点,再找到父节点的父节点,一直追溯到源节点,得到源节点到目的节点d的最短路径path1i,该路径耗费的时延D1i即为节点d的业务完全到达时间与业务传输起始时刻tstart之差;
7.2)计算从源节点s传输第二条路径上分配的业务量M2到达目的节点d的最短路径path2i和该路径耗费的时延D2i:
(7.2.1)将7.1)中的最短路径path1i所涉及的链路从连续时间聚合图G中删除,得到剩余连续时间聚合图G′=(V,L′);
(7.2.2)初始化:设所有节点的业务完全到达时刻为∞,所有节点的父节点为空,创建确定最短路径节点集合Q,用来存储已经找到最短路径的节点,其初值设置为创建未知最短路径节点集合T,用来存储还没有找到最短路径的节点,其初值设置为所有节点;
(7.2.3)计算源节点s到其所有邻居节点的传输结束时刻,并更新源节点s的其所有邻居节点的父节点和业务完全到达时刻,从未知最短路径的节点集合T中删除业务完全到达时刻最小的节点j,并将其加入到确定最短路径的节点集合Q中;
第一种情况:当下一跳链路容量小于或等于上一跳链路容量时,`其业务传输结束时刻的传输结束时刻为:
第二种情况:当下一跳的链路容量大于上一跳链路容量且下一跳链路在业务片段传输过程中未断开时的传输结束时刻为:
其中,表示业务以最大容量传输时的传输结束时刻,表示业务在链路lij上的传输结束时刻,表示链路lij在时的传播时延,表示链路ljr第x个连通时间段的开始时刻,表示链路lij在最后一个连通时间段的传输开始时刻,表示链路lij在时的传播时延,表示链路ljr第x-1个业务片段传输结束的时刻,cjr(t)和cij(t)分别表示链路ljr和lij的容量函数,tstart表示业务传输起始时间,M2表示需要传输的业务量;
第三种情况:当下一跳的链路容量大于上一跳链路容量且下一跳链路在业务片段传输过程中断开时的传输结束时刻为:
若小于,则将节点的业务完全到达时间更新为业务传输结束时刻与传播时延之和,并将其父节点更新为当前节点,执行(7.2.6);
否则,不进行更新,直接执行(7.2.6);
(7.2.6)从未知最短路径节点集合T中删除业务完全到达时间最小的节点,并将其加入到确定最短路径节点集合Q中,再判断当前未知最短路径节点集合T是否为空,若为空,则继续进行(7.2.7),否则,将该业务完全到达时间最小的节点作为新的当前节点,返回(7.2.4);
(7.2.7)采用“倒序追踪”的方法,即依次找到目的节点d的父节点,再找到父节点的父节点,一直追溯到源节点,得到源节点到目的节点d的最短路径path2i,该路径耗费的时延D2i即为节点d的业务完全到达时间与业务传输起始时刻tstart之差;
7.3)计算从源节点s传输第三条路径上分配的业务量M3到达目的节点d的最短路径path3i和该路径耗费的时延D3i:
(7.3.1)将7.2)中的最短路径path2i所涉及的链路从剩余连续时间聚合图G′中删除,得到二次剩余连续时间聚合图G″=(V,L″),其中L″是二次剩余链路集合;
(7.3.2)初始化:设所有节点的业务完全到达时刻为∞,所有节点的父节点为空,创建确定最短路径节点集合Q,用来存储已经找到最短路径的节点,其初值设置为创建未知最短路径节点集合T,用来存储还没有找到最短路径的节点,其初值设置为所有节点;
(7.3.3)计算源节点s到其所有邻居节点的传输结束时刻,并更新源节点s的其所有邻居节点的父节点和业务完全到达时刻,从未知最短路径的节点集合T中删除业务完全到达时刻最小的节点j,并将其加入到确定最短路径的节点集合Q中;
第一种情况:当下一跳链路容量小于或等于上一跳链路容量时,`其业务传输结束时刻的传输结束时刻为:
第二种情况:当下一跳的链路容量大于上一跳链路容量且下一跳链路在业务片段传输过程中未断开时的传输结束时刻为:
其中,表示业务以最大容量传输时的传输结束时刻,表示业务在链路lij上的传输结束时刻,表示链路lij在时的传播时延,表示链路ljr第x个连通时间段的开始时刻,表示链路lij在最后一个连通时间段的传输开始时刻,表示链路lij在时的传播时延,表示链路ljr第x-1个业务片段传输结束的时刻,cjr(t)和cij(t)分别表示链路ljr和lij的容量函数,tstart表示业务传输起始时间,M3表示需要传输的业务量;
第三种情况:当下一跳的链路容量大于上一跳链路容量且下一跳链路在业务片段传输过程中断开时的传输结束时刻为:
若小于,则将节点的业务完全到达时间更新为业务传输结束时刻与传播时延之和,并将其父节点更新为当前节点,执行(7.3.6);
否则,不进行更新,直接执行(7.3.6);
(7.3.6)从未知最短路径节点集合T中删除业务完全到达时间最小的节点,并将其加入到确定最短路径节点集合Q中,再判断当前未知最短路径节点集合T是否为空,若为空,则继续进行(7.3.7),否则,将该业务完全到达时间最小的节点作为新的当前节点,返回(7.3.4);
(7.3.7)采用“倒序追踪”的方法,即依次找到目的节点d的父节点,再找到父节点的父节点,一直追溯到源节点,得到源节点到目的节点d的最短路径path3i,该路径耗费的时延D3i即为节点d的业务完全到达时间与业务传输起始时刻tstart之差;
7.4)根据7.1)、7.2)和7.3)的结果,得到三条路径路由link′={path1i,path2i,path3i}和该三条路径路由耗费的时延Di=max(D1i,D2i,D3i);
步骤8,确定是否对当前最短时延Dbest和动态多径路由link进行更新。
将上述计算的耗费的时延Di与当前最短时延Dbest进行比较;
若Di<Dbest,则更新Dbest=Di,link=link′,再执行步骤9,
否则,不进行更新,直接步骤9。
步骤9,从集合P中删除邻接节点ni,返回步骤3。
下面结合仿真实验对本发明的效果做进一步的说明:
1.仿真实验条件:
本发明的仿真实验的硬件平台为:处理器为Intel Pentium CPU,主频为3.30GHz,内存8GB。
本发明的仿真实验的软件平台为:Windows7操作系统和MATLAB。
本实验搭建了一个DTN低轨卫星网络作为仿真场景,该卫星网络的节点数目为14颗,网络的运行周期固定为100分钟,且发送业务的传输起始时间是固定的。节点间链路的变化以及随机通断由时变的容量函数以及传播时延函数两个变量进行表征,当链路的容量为0或者链路的传播时延为∞时,表明链路暂时处于断开的状态。
2.仿真内容:
在上述实验条件下,用本发明仿真在不同的发送速率下,当数据从源节点发送到目的节点时,比较使用本发明方法和单路径路由方法的传输时延,由此得到在使用不同路由方法的情况下,传输时延随数据发送速率变化的曲线,结果如图4所示。
从图4可以看出,在同一种路由方法中,网络的平均端到端时延随着发送数据的速率的增加而增加。这是由于当数据的发送速率增加时,有更多的数据需要进行传输,网络中节点需要缓存处理的消息变多,导致消息的排队时间增加,消息可能因此错失预先选择好的最优链路,造成平均端到端时延增加。
从图4还可以看出,当数据的发送速率相同时,本发明的传输时延比现有技术使用单路径路由方法的传输时延要小得多。这是由于本发明是基于业务分配的动态多径路由方法,通过多条路径传输业务,可以充分利用网络链路资源,进而大大缩短了传输时延。
Claims (4)
1.一种基于业务分配的动态多径路由方法,其特征在于,包括如下:
(1)通过节点和链路信息构造连续时间聚合图G=(V,L),其中V是节点集合,L是链路集和;
(2)初始化参数:给定业务量为M,定义link(s,d)表示从源节点s传输给定业务量到目的节点d的动态多径路由,初始化为空;定义Dbest(s,d)存储源节点s到目的节点d的最短时延,即按照link(s,d)中存储的动态多径路由进行传输需要花费的时延,初始化为∞,定义s的邻居节点集合P,用来存储源节点s的所有邻居节点,P={n1,n2,n3,...};
(3)判断集合P是否为空:
若为空,则表明源节点s的所有邻居节点都已经参与了计算,得到网络中固定传输起始时间下从源节点传输给定业务量到目的节点的最优多径路由link(s,d)和通过该路径传输需要耗费的时延Dbest;
否则,从集合P中提取邻居节点ni,执行(4);
(4)在源节点s到其某个邻居节点ni之间的链路上,计算给定业务量M的传输结束的时刻并统计传输时间段在链路的连通时间段序列I中所跨的连通时间段个数N,其中tstart表示传输开始时刻,表示链路的容量函数;
(5)根据N的大小,得到最优路径数目k以及业务量分配情况:
当N=1时,业务通过单路径进行传输,即有k=1,执行(6);
当N=2时,业务通过双路径进行传输,即k=2,两条路径上分配的业务量M1和M2分别为第一、二个连通时间段传输的业务量,执行(7);
当N>2时,业务通过三条路径进行传输,即有k=3,需根据业务量M在链路上的分布时间段序列之间的间隔,选择间隔最大和次大的两个时间间隔将业务量M划分为M1、M2和M3三部分,分别表示这三条路径上分配的业务量,执行(8);
(6)在连续时间聚合图G中,计算从源节点s开始传输给定业务量M经过邻居节点ni后,发送到目的节点d的最短路径pathi及该路径耗费的时延Di,得到单路径路由link′=pathi和该单路径路由耗费的时延Di;
(7)计算业务通过两条路径进行传输的双路径路由link′和耗费的时延Di:
(7a)在连续时间聚合图G中,计算从源节点s开始传输第一条路径上分配的业务量M1经过邻居节点ni后,发送到目的节点d的最短路径path1i和该路径耗费的时延D1i;
(7b)将(7a)中的最短路径path1i所涉及的链路从连续时间聚合图G中删除,得到剩余连续时间聚合图G′=(V,L′),其中L′是剩余链路集合;再在剩余图G′中计算从源节点s传输第二条路径上分配的业务量M2到达目的节点d的最短路径path2i和该路径耗费的时延D2i;
(7c)根据(7a)和(7b)的结果,得到双路径路由link′={path1i,path2i}和该双路径路由耗费的时延Di=max(D1i,D2i);
(8)计算业务通过三条路径进行传输的三条路径路由link′和耗费的时延Di:
(8a)在连续时间聚合图G中,计算从源节点s开始传输第一条路径上分配的业务量M1经过邻居节点ni后,发送到目的节点d的最短路径path1i和该路径耗费的时延D1i;
(8b)将(8a)中的最短路径path1i所涉及的链路从连续时间聚合图G中删除,得到剩余连续时间聚合图G′=(V,L′),再在剩余图G′中计算从源节点s传输第二条路径上分配的业务量M2到达目的节点d的最短路径path2i和该路径耗费的时延D2i;
(8c)将(8b)中的最短路径path2i所涉及的链路从剩余连续时间聚合图G′中删除,得到二次剩余连续时间聚合图G″=(V,L″),其中L″是二次剩余链路集合;然后在二次剩余图G″中计算从源节点s传输第三条路径上分配的业务量M3到达目的节点d的最短路径path3i和该路径耗费的时延D3i;
(8d)根据(8a)、(8b)和(8c)的结果,得到三条路径路由link′={path1i,path2i,path3i}和该三条路径路由耗费的时延Di=max(D1i,D2i,D3i);
(9)将此时耗费的时延Di与当前最短时延Dbest进行比较;若Di<Dbest,则更新Dbest=Di,link=link′,再执行(11),否则,不进行更新,直接执行(10);
(10)从集合P中删除邻接节点ni,返回(3)。
3.根据权利要求1所述的方法,其特征在于,(6)中计算从源节点s开始传输给定业务量M经过邻居节点ni后,发送到目的节点d的最短路径pathi及该路径耗费的时延Di,实现如下:
(6a)初始化:设所有节点的业务完全到达时刻为∞,所有节点的父节点为空,创建确定最短路径节点集合Q,用来存储已经找到最短路径的节点,其初值设置为创建未知最短路径节点集合T,用来存储还没有找到最短路径的节点,其初值设置为所有节点;
(6b)计算源节点s到其邻居节点ni的传输结束时刻,更新节点ni的业务完全到达时刻,将节点ni从集合T中删除并将其加入到集合Q中,更新节点ni的父节点为节点s,并将节点ni作为当前节点;
若小于,则将节点的业务完全到达时间更新为业务传输结束时刻与传播时延之和,并将其父节点更新为当前节点,执行(6e);
否则,不进行更新,直接执行(6e);
(6e)从集合T中删除业务完全到达时间最小的节点,并将其加入到集合Q中,并判断当前集合T是否为空,若为空,则继续进行(6f),否则,将该业务完全到达时间最小的节点作为新的当前节点,返回(6c);
(6f)采用“倒序追踪”的方法,即依次找到目的节点d的父节点,再找到父节点的父节点,一直追溯到源节点,得到源节点到目的节点d的最短路径pathi,该路径耗费的时延Di即为节点d的业务完全到达时间与业务传输起始时刻tstart之差。
(6c1)当下一跳链路容量小于或等于上一跳链路容量时,`其业务传输结束时刻的传输结束时刻为:
(6c2)当下一跳的链路容量大于上一跳链路容量且下一跳链路在业务片段传输过程中未断开时的传输结束时刻为:
其中,表示业务以最大容量传输时的传输结束时刻,表示业务在链路lij上的传输结束时刻,表示链路lij在时的传播时延,表示链路ljr第x个连通时间段的开始时刻,表示链路lij在最后一个连通时间段的传输开始时刻,表示链路lij在时的传播时延,表示链路ljr第x-1个业务片段传输结束的时刻,cjr(t)和cij(t)分别表示链路ljr和lij的容量函数,tstart表示业务传输起始时间,M表示需要传输的业务量;
(6c3)当下一跳的链路容量大于上一跳链路容量且下一跳链路在业务片段传输过程中断开时的传输结束时刻为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010672346.1A CN111835634B (zh) | 2020-07-14 | 2020-07-14 | 基于业务分配的动态多径路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010672346.1A CN111835634B (zh) | 2020-07-14 | 2020-07-14 | 基于业务分配的动态多径路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111835634A true CN111835634A (zh) | 2020-10-27 |
CN111835634B CN111835634B (zh) | 2022-04-08 |
Family
ID=72922795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010672346.1A Active CN111835634B (zh) | 2020-07-14 | 2020-07-14 | 基于业务分配的动态多径路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111835634B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112702107A (zh) * | 2020-12-21 | 2021-04-23 | 北京邮电大学 | 一种基于介数中心性的卫星网络备份路由计算方法及系统 |
CN114124792A (zh) * | 2021-09-30 | 2022-03-01 | 国网湖南省电力有限公司 | 混合双模异构配电场域网多径并发传输动态决策方法及装置 |
CN114785730A (zh) * | 2022-04-13 | 2022-07-22 | 东北大学 | 一种应用层多径中继传输云服务系统的多路径生成方法 |
CN114786161A (zh) * | 2022-04-02 | 2022-07-22 | 广州杰赛科技股份有限公司 | 一种应急环境中通信节点寻找路径规划优化方法及装置 |
CN116016319A (zh) * | 2022-12-08 | 2023-04-25 | 北京奇艺世纪科技有限公司 | 数据通信方法、装置、电子设备及计算机可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102387086A (zh) * | 2011-12-09 | 2012-03-21 | 西安电子科技大学 | 具有QoS保障的深空网络路由方法 |
US8432830B1 (en) * | 2008-10-07 | 2013-04-30 | BCK Networks, Inc. | Multi-neighbor proportional forwarding in a network |
CN108964746A (zh) * | 2018-08-04 | 2018-12-07 | 西安电子科技大学 | 时变卫星网络多拓扑搜索最短路由方法 |
CN109102124A (zh) * | 2018-08-24 | 2018-12-28 | 山东师范大学 | 基于分解的动态多目标多路径诱导方法、系统及存储介质 |
US20190081884A1 (en) * | 2017-09-12 | 2019-03-14 | Adara Networks, Inc. | Dynamic link state routing protocol |
CN109547965A (zh) * | 2018-12-27 | 2019-03-29 | 国网江苏省电力有限公司南京供电分公司 | 一种基于业务优先级的无线传感器网络路径规划方法 |
CN109905281A (zh) * | 2019-03-24 | 2019-06-18 | 西安电子科技大学 | 多路径最大吞吐量的星群网络遥感业务传输方法 |
CN109951335A (zh) * | 2019-03-24 | 2019-06-28 | 西安电子科技大学 | 基于时间聚合图的卫星网络时延与速率联合保障路由方法 |
CN111343086A (zh) * | 2020-03-16 | 2020-06-26 | 中国联合网络通信集团有限公司 | 数据传输方法、系统、终端设备及存储介质 |
-
2020
- 2020-07-14 CN CN202010672346.1A patent/CN111835634B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8432830B1 (en) * | 2008-10-07 | 2013-04-30 | BCK Networks, Inc. | Multi-neighbor proportional forwarding in a network |
CN102387086A (zh) * | 2011-12-09 | 2012-03-21 | 西安电子科技大学 | 具有QoS保障的深空网络路由方法 |
US20190081884A1 (en) * | 2017-09-12 | 2019-03-14 | Adara Networks, Inc. | Dynamic link state routing protocol |
CN108964746A (zh) * | 2018-08-04 | 2018-12-07 | 西安电子科技大学 | 时变卫星网络多拓扑搜索最短路由方法 |
CN109102124A (zh) * | 2018-08-24 | 2018-12-28 | 山东师范大学 | 基于分解的动态多目标多路径诱导方法、系统及存储介质 |
CN109547965A (zh) * | 2018-12-27 | 2019-03-29 | 国网江苏省电力有限公司南京供电分公司 | 一种基于业务优先级的无线传感器网络路径规划方法 |
CN109905281A (zh) * | 2019-03-24 | 2019-06-18 | 西安电子科技大学 | 多路径最大吞吐量的星群网络遥感业务传输方法 |
CN109951335A (zh) * | 2019-03-24 | 2019-06-28 | 西安电子科技大学 | 基于时间聚合图的卫星网络时延与速率联合保障路由方法 |
CN111343086A (zh) * | 2020-03-16 | 2020-06-26 | 中国联合网络通信集团有限公司 | 数据传输方法、系统、终端设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
THOR S. PRENTOW ET AL: "Estimating Common Pedestrian Routes through Indoor Path Networks Using Position Traces", 《2014 IEEE 15TH INTERNATIONAL CONFERENCE ON MOBILE DATA MANAGEMENT》 * |
王鹏等: "基于时间聚合图的DTN网络最短时延路由算法", 《通信学报》 * |
董彦磊等: "面向动态外地代理的卫星网络移动性管理机制", 《西安电子科技大学学报》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112702107A (zh) * | 2020-12-21 | 2021-04-23 | 北京邮电大学 | 一种基于介数中心性的卫星网络备份路由计算方法及系统 |
CN114124792A (zh) * | 2021-09-30 | 2022-03-01 | 国网湖南省电力有限公司 | 混合双模异构配电场域网多径并发传输动态决策方法及装置 |
CN114786161A (zh) * | 2022-04-02 | 2022-07-22 | 广州杰赛科技股份有限公司 | 一种应急环境中通信节点寻找路径规划优化方法及装置 |
CN114786161B (zh) * | 2022-04-02 | 2024-01-09 | 广州杰赛科技股份有限公司 | 一种应急环境中通信节点寻找路径规划优化方法及装置 |
CN114785730A (zh) * | 2022-04-13 | 2022-07-22 | 东北大学 | 一种应用层多径中继传输云服务系统的多路径生成方法 |
CN114785730B (zh) * | 2022-04-13 | 2023-12-01 | 东北大学 | 一种应用层多径中继传输云服务系统的多路径生成方法 |
CN116016319A (zh) * | 2022-12-08 | 2023-04-25 | 北京奇艺世纪科技有限公司 | 数据通信方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111835634B (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111835634B (zh) | 基于业务分配的动态多径路由方法 | |
CN110986979B (zh) | 一种基于强化学习的sdn多路径路由规划方法 | |
US5654958A (en) | System and method for learning and dynamic routing of data in a mobile communication network | |
CN103210617B (zh) | 用于减少网络中的消息和计算开销的方法和系统 | |
CN110557732B (zh) | 一种车辆边缘计算网络任务卸载负载均衡系统及均衡方法 | |
CN110505153A (zh) | 一种天地一体化的混合路由方法 | |
CN102780637B (zh) | 空间容迟容断网络中数据传输的路由方法 | |
US20010034853A1 (en) | Load distribution failure recovery system and method | |
CN109586785B (zh) | 基于k最短路径算法的低轨卫星网络路由策略 | |
CN106789329B (zh) | 一种分布式的多层卫星中断容忍网络接触计划设计方法 | |
CN108183744A (zh) | 一种卫星网络负载均衡路由设计方法 | |
CN108964746B (zh) | 时变卫星网络多拓扑搜索最短路由方法 | |
CN105472484A (zh) | 一种电力骨干光传输网波道均衡路由波长分配方法 | |
CN107360093A (zh) | 无人机与卫星混合网络通信路由方法及系统 | |
CN113258982A (zh) | 卫星信息传输方法、装置、设备、介质及产品 | |
RU2636665C1 (ru) | Способ многопутевой маршрутизации с использованием расщепления потока трафика данных | |
CN110752990B (zh) | 保障弹性的时变网络最短路由方法 | |
Lent | Enabling cognitive bundle routing in NASA's high rate DTN | |
CN111835640B (zh) | 基于连续时间聚合图的最短时延路由方法 | |
Han et al. | Space edge cloud enabling service migration for on-orbit service | |
CN113395357B (zh) | 区块链系统的分片方法及装置 | |
CN114938327A (zh) | 路由方法、路由装置、控制器和计算机可读存储介质 | |
Kou et al. | Multipath routing with erasure coding in underwater delay tolerant sensor networks | |
CN113746734A (zh) | 一种流量转发方法、装置、设备及介质 | |
Li et al. | A back-tracing partition based on-path caching distribution strategy over integrated LEO satellite and terrestrial networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |