动态网络下的路径更新及等价路径规划方法及相关装置制造方法及图纸

技术编号:38097049 阅读:9 留言:0更新日期:2023-07-06 09:12
动态网络下的路径更新及等价路径规划方法及相关装置,包括以下步骤:基于Dijkstra算法获取n棵最短路径树T

【技术实现步骤摘要】
动态网络下的路径更新及等价路径规划方法及相关装置


[0001]本专利技术属于局部搜索方法求解最短路径
,特别涉及动态网络下的路径更新及等价路径规划方法及相关装置。

技术介绍

[0002]在典型的链路状态路由协议如开放式最短路径优先(Open Shortest Path First,OSPF),和中间系统到中间系统(Intermediate System

to

Intermediate System,IS

IS)中,常用经典的Dijkstra算法为每个路由器构造一棵以自身为源点的最短路径树(Shortest Path Tree,SPT)。然而,在网络拓扑结构微小改变的情况下,该方法需要重新重头计算多个SPT,这种方式不仅浪费了大量先验知识,而且在大规模网络中所耗时间过长,无法保证网络服务质量(Quality of Service,QoS)。此外,对于每个路由器网络中可能存在多个最短路径,这些等价路径在网络拥挤时发挥着重要作用,但Dijkstra算法只能计算出一条最优路径,无法获取所有的等价路径。目前面临的问题有:
[0003](1)经典算法的输入大多为邻接矩阵,但在算法实现中,循环遍历邻接矩阵的时间复杂度非常高,很难有效的网络信息存储结构;
[0004](2)在网络拓扑结构改变的情况下无法快速有效的确定受影响的区域,尤其是边删除操作影响的站点;
[0005](3)更新受影响节点的过程中,冗余计算较多。

技术实现思路

>[0006]本专利技术的目的在于提供动态网络下的路径更新及等价路径规划方法及系统,以解决循环遍历邻接矩阵的时间复杂度非常高、无法快速有效的确定受影响的区域和冗余计算较多的问题。
[0007]为实现上述目的,本专利技术采用以下技术方案:
[0008]动态网络下的路径更新及等价路径规划方法,包括以下步骤:
[0009]基于Dijkstra算法获取n棵最短路径树T
sk
的存储结构、边权以及改变边集合ΔE
k+1
更新k+1时刻任两点间的最短路径,获取k+1时刻的网络图信息和边操作集合;
[0010]改进Dijkstra算法计算多个等价父节点,使其能够计算k+1时刻任意两点间的所有最优路径,并改进Single

Change更新算法计算等价父节点,减少计算等价路径的时间;
[0011]上述改进Dijkstra算法只计算出了所有等价父节点,不利于等价路径的计算,因此涉及改进improveDijkstra算法计算全对最短路径,使其能够借用之前求出的源点到其他节点的信息,从而降低计算段对最短路径的时间;
[0012]G
k
(V
k
,E
k
)是k时刻的有向带权图,T
sk
是k时刻通过Dijkstra算法求得的以s为源点的最短路径树,其中,s∈V
k
,ΔE
k+1
表示从k时刻到k+1时刻边改变的集合,该集合包含六个子集,插入边集合AddE
k+1
和删除边集合DelE
k+1
,增加节点集合AddN
k+1
和删除节点集合DelN
k+1
,以及增加权重集合IncE
k+1
,减小权重集合DecE
k+1

[0013]进一步的,获取k+1时刻的网络图信息和边操作集合具体包括:
[0014]网络图的邻接矩阵存储为两个字典形式,包括图的出度信息和入度信息;对路由网络中可能发生的6中边操作:边权减小、插入边、插入顶点、边权增加、删除边、删除顶点,定义边操作集合detaEs;该集合包括三种形式:
[0015]1)[node1,node2,w,True]表示node1到node2间的权重减小至w或增加链路node1

node2并赋予权重w;若node1是新插入的站点,则[node1,node2,w,True]表示插入站点node1并增加权重为w的链路node1

node2,将该新站点加入nameSet并在outGraph和inGraph中加入新站点信息;
[0016]2)[node1,node2,w,False]表示node1到node2间的权重增加至w或删除链路node1

node2(此时w=inf);
[0017]3)[node,

1]表示删除站点node,具体实现为删除与该站点相连的所有链路。
[0018]进一步的,获取网络的出度矩阵outGraph和入度矩阵inGraph:
[0019]Step 1:读取数据:从excel表格中读取数据,循环遍历源站点和宿站点,将所有不同的站点按读取顺序存入列表nameSet,该列表中存放了网络图中所有的站点名称;
[0020]Step 2:输出矩阵:循环遍历nameSet中的站点名称,分别令数据中的源点、宿点等于该站点,寻找所有以该站点为尾节点的点和以该站点为头节点的点,按nameSet中的顺序将每个站点的邻居节点按{node:weight}的形式记录到字典outGraph和字典inGraph中,若没有相应连接,权重记为INF。
[0021]进一步的,改进Single

Change更新算法具体包括:
[0022]该算法每次处理一个边操作,包括边插入/删除,边权增加/减少,顶点增加/删除,其中插入边等价于减小权重,即将无穷大的边权减小到固定数值;删除边等价于增加权重,即将有固定数值的边权增加到无穷大;插入顶点等价于插入与该顶点连接的边,删除顶点等价于删除与该顶点相连接的所有边,归结为:插入边操作和删除边操作。
[0023]进一步的,插入边e(x,y)情形:判断dist(y)与dist(x)+W(x,y)的大小关系,确定节点y是否受影响;若dist(y)≤dist(x)+W(x,y),则节点y不受插入边影响,不用进行更新;若dist(y)>dist(x)+W(x,y),则节点y目前的距离不是最优距离,进行更新;此时以y为根节点的子树均受影响,定义优先队列并将y入队,应用基于优先队列的Dijkstra算法更新该子树;
[0024]删除边e(x,y)情形:首先判断节点y的父节点是否为x,分两种情况讨论:若原始len(path(y))等于1,说明节点y在该SPT中为孤立点,删除边对SPT树没有影响,不需要更新;若原始len(path(y))大于1但节点y的父节点即path(y)[

2]不是节点x,同样删除边对该SPT没有影响,不需要更新;若以上两种情况不成立,则删除的边e(x,y)在该SPT中,以节点y为根的子树中所有节点均会受到影响,此时按照判断准则y in path(n)遍历网络中所有节点,将受影响的点放入优先队列;之后用本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.动态网络下的路径更新及等价路径规划方法,其特征在于,包括以下步骤:基于Dijkstra算法获取n棵最短路径树T
sk
的存储结构、边权以及改变边集合ΔE
k+1
更新k+1时刻任两点间的最短路径,获取k+1时刻的网络图信息和边操作集合;T
sk
是k时刻通过Dijkstra算法求得的以s为源点的最短路径树,其中,s∈V
k
,ΔE
k+1
表示从k时刻到k+1时刻边改变的集合;基于上述获得的网络图信息和边操作集合,改进Dijkstra算法直接计算多个等价父节点,使其能够计算k+1时刻任意两点间的所有最优路径,此外改进Single

Change更新算法直接计算等价父节点,减少计算等价路径的时间;改进Dijkstra算法基础上设计改进improveDijkstra算法计算全对最短路径,使其能够借用之前求出的源点到其他节点的信息,降低计算段对最短路径的时间。2.根据权利要求1所述的动态网络下的路径更新及等价路径规划方法,其特征在于,获取k+1时刻的网络图信息和边操作集合具体包括:网络图的邻接矩阵存储为两个字典形式,包括图的出度信息和入度信息;对路由网络中可能发生的6中边操作:边权减小、插入边、插入顶点、边权增加、删除边、删除顶点,定义边操作集合detaEs;该集合包括三种形式:1)[node1,node2,w,True]表示node1到node2间的权重减小至w或增加链路node1

node2并赋予权重w;若node1是新插入的站点,则[node1,node2,w,True]表示插入站点node1并增加权重为w的链路node1

node2,将该新站点加入nameSet并在outGraph和inGraph中加入新站点信息;2)[node1,node2,w,False]表示node1到node2间的权重增加至w或删除链路node1

node2(此时w=inf);3)[node,

1]表示删除站点node,具体实现为删除与该站点相连的所有链路;获取网络的出度矩阵outGraph和入度矩阵inGraph:Step1:读取数据:从excel表格中读取数据,循环遍历源站点和宿站点,将所有不同的站点按读取顺序存入列表nameSet,该列表中存放了网络图中所有的站点名称;Step2:输出矩阵:循环遍历nameSet中的站点名称,分别令数据中的源点、宿点等于该站点,寻找所有以该站点为尾节点的点和以该站点为头节点的点,按nameSet中的顺序将每个站点的邻居节点按{node:weight}的形式记录到字典outGraph和字典inGraph中,若没有相应连接,权重记为INF。3.根据权利要求1所述的动态网络下的路径更新及等价路径规划方法,其特征在于,改进Single

Change更新算法具体包括:该算法每次处理一个边操作,包括边插入/删除,边权增加/减少,顶点增加/删除,其中插入边等价于减小权重,即将无穷大的边权减小到固定数值;删除边等价于增加权重,即将有固定数值的边权增加到无穷大;插入顶点等价于插入与该顶点连接的边,删除顶点等价于删除与该顶点相连接的所有边,归结为:插入边操作和删除边操作。4.根据权利要求3所述的动态网络下的路径更新及等价路径规划方法,其特征在于,插入边e(x,y)情形:判断dist(y)与dist(x)+W(x,y)的大小关系,确定节点y是否受影响;若dist(y)≤dist(x)+W(x,y),则节点y不受插入边影响,不用进行更新;若dist(y)>dist(x)+W(x,y),则节点y目前的距离不是最优距离,进行更新;此时以y为根节点的子树均受影响,
定义优先队列并将y入队,应用基于优先队列的Dijkstra算法更新该子树;删除边e(x,y)情形:首先判断节点y的父节点是否为x,分两种情况讨论:若原始len(path(y))等于1,说明节点y在该SPT中为孤立点,删除边对SPT树没有影响,不需要更新;若原始len(path(y))大于1但节点y的父节点即path(y)[

2]不是节点x,同样删除边对该SPT没有影响,不需要更新;若以上两种情况不成立,则删除的边e(x,y)在该SPT中,以节点y为根的子树中所有节点均会受到影响,此时按照判断准则y in path(n)遍历网络中所有节点,将受影响的点放入优先队列;之后用入度矩阵inGr...

【专利技术属性】
技术研发人员:孙建永石微怡严慧慧薛江
申请(专利权)人:杭州津露医疗科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1