CN118282927A - 一种路由路径规划方法、装置、设备、介质 - Google Patents
一种路由路径规划方法、装置、设备、介质Info
- Publication number
- CN118282927A CN118282927A CN202410703203.0A CN202410703203A CN118282927A CN 118282927 A CN118282927 A CN 118282927A CN 202410703203 A CN202410703203 A CN 202410703203A CN 118282927 A CN118282927 A CN 118282927A
- Authority
- CN
- China
- Prior art keywords
- routing
- path
- node
- sequence number
- code
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004891 communication Methods 0.000 claims abstract description 14
- 230000015654 memory Effects 0.000 claims description 25
- 230000002457 bidirectional effect Effects 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 238000000354 decomposition reaction Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Abstract
本发明涉及通信技术领域,公开了一种路由路径规划方法、装置、设备、介质,该方法通过分别确定并利用第一编码、第二编码、路由序号确定路径信息与路径方向信息,从而生成源终端节点与目的终端节点之间的规划路径,这一过程中,利用第一编码与第二编码逐次确定源终端节点与目的终端节点之间需经过的路由,从而以路由序号明确路径信息,并利用路径信息中涉及的路由序号明确路径方向,从而以路径信息明确源终端节点与目的终端节点之间需通过的路由,以路径方向信息明确与路径信息对应的通道属于双向双路中的哪条通道,从而生成规划路径,使得在有效避免死锁问题发生的前提下,最大程度的保留了网络拓扑的路径多样性,进而提升网络通信效率。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种路由路径规划方法、装置、设备、介质。
背景技术
随着互联网的快速普及与发展以及卫星互联网星座计划的不断部署、更多的用户终端接入网络,衍生出包含人们生产和生活各个领域的互联网应用,互联网中的流量已呈现爆炸式增长的趋势。光纤技术与星间激光通信技术的发展与应用使得信息传输网络的瓶颈已转移至互联网中交换结点的交换设备,如交换机与路由器等。这些交换设备的核心技术是交换技术,而交换技术又包括交换网络和调度算法两方面。为了提升信息交换网络性能,满足现今不断涌现的新型应用与业务需求,需要对更大容量、更好性能的交换网络和与之适配的高性能调度算法进行研究。
随着对网络性能和规模要求的提高,互连网络包括共享介质网络、直接互连网络、间接互连网络和混合互连网络,其中,间接互连网络将终端节点和路由器分离,路由器可以被用来作为一个独立的通信装置,典型的拓扑结构代表是胖树结构,每个路由器都与其邻居通过双向链路或者两个单向链路相连,这些链路称为通道。
随着网络拓扑越来越复杂,可能会产生死锁情况的发生,在相关技术中,为避免死锁的发生通常采用将终端节点间的路由路径定义为唯一路径,即终端节点间的通信有且仅有一条路径可供选择,因此,由于通道的单一性,在该通道中某个路由节点发生故障或阻塞时,终端节点间的通信将受影响,从而降低了网络拓扑的通信效率。
发明内容
有鉴于此,本发明提供了一种路由路径规划方法、装置、设备、介质,以解决在避免死锁的前提下,在相关技术中路由算法中路径单一性的技术问题。
第一方面,本发明提供了一种路由路径规划方法,方法包括:响应于路径规划请求,分别确定源终端节点与目的终端节点在网络拓扑中与终端序号对应的二进制编码,以生成第一编码、第二编码,其中,网络拓扑包括至少一个由路由节点构成的路径环,路由节点之间的链路为双向双路,路由节点包括与路由节点相对应的路由序号;基于第一编码、第二编码,利用路由序号,确定路径信息;基于路径信息、路由序号,确定双向双路中的路径方向信息;基于路径信息、路径方向信息,生成源终端节点至目的终端节点之间的规划路径。
结合第一方面,在第一方面的一种可能的实现方式中,基于第一编码、第二编码,利用路由序号,确定路径信息,包括:基于第一编码、第二编码,通过按位异或并省略异或结果的最低位,生成第三编码;获取与源终端节点连接的路由节点的第一路由序号;基于第三编码、第一路由序号,确定路径信息。
结合第一方面,在第一方面的一种可能的实现方式中,基于第三编码、第一路由序号,确定路径信息,包括:响应于第三编码中至少一位数值为一,将第三编码进行拆分,生成至少一个有且仅有一位数值为一的第四编码;基于第一路由序号,以随机的方式逐次与每个第四编码进行按位异或,并将每次按位异或的结果作为中间路由,直至完成全部第四编码的按位异或;基于第一路由序号与中间路由,确定路径信息。
结合第一方面,在第一方面的一种可能的实现方式中,基于第一路由序号,以随机的方式逐次与每个第四编码进行按位异或,并将每次按位异或的结果作为中间路由,直至完成全部第四编码的按位异或,包括:基于第一路由序号,选取任一第四编码进行按位异或,确定第一中间路由;基于第一中间路由,选取任一剩余第四编码进行按位异或,确定第二中间路由;判断第四编码是否已全部进行按位异或;在第四编码存在未进行按位异或的编码时,以第二中间路由作为第一中间路由,重复确定第二中间路由的步骤。
结合第一方面,在第一方面的一种可能的实现方式中,在基于第一路由序号与中间路由,确定路径信息之后,方法还包括:获取目的终端节点连接的路由节点的第二路由序号;基于第二路由序号验证路径信息。
结合第一方面,在第一方面的一种可能的实现方式中,基于第三编码、第一路由序号,确定路径信息,包括:响应于第三编码中所有位均为零,则确定源终端节点与目的终端节点通过与第一路由序号对应的路由节点连接。
结合第一方面,在第一方面的一种可能的实现方式中,方法还包括:基于第三编码中位数对应数值为一的个数,确定由源终端节点到达目的终端节点的路由节点数量;基于路由节点数量,验证路径信息。
结合第一方面,在第一方面的一种可能的实现方式中,基于路径信息、路由序号,确定双向双路中的路径方向信息,包括:基于路径信息,分别确定首个路由节点的第三路由序号与末尾路由节点的第四路由序号;在第三路由序号小于第四路由序号时,以双向双路中的第一方向作为路径方向。
结合第一方面,在第一方面的一种可能的实现方式中,基于路径信息、路由序号,确定双向双路中的路径方向信息,包括:基于路径信息,分别确定首个路由节点的第三路由序号与末尾路由节点的第四路由序号;在第三路由序号大于第四路由序号时,以双向双路中的第二方向作为路径方向。
结合第一方面,在第一方面的一种可能的实现方式中,基于路径信息、路由序号,确定双向双路中的路径方向信息,包括:基于路径信息,分别确定首个路由节点与末尾路由节点;在首个路由节点与末尾路由节点为相邻节点时,以双向双路中的第一方向或第二方向作为路径方向。
结合第一方面,在第一方面的一种可能的实现方式中,每个路径环至少包括四个路由节点。
结合第一方面,在第一方面的一种可能的实现方式中,网络拓扑中每个路由节点连接两个终端节点,连接在相同路由节点的两个终端序号分别等于所连接的路由节点的路由序号的二倍与路由序号的二倍加一。
第二方面,本发明提供了一种路由路径规划装置,装置包括:编码模块,用于响应于路径规划请求,分别确定源终端节点与目的终端节点在网络拓扑中与终端序号对应的二进制编码,以生成第一编码、第二编码,其中,网络拓扑包括至少一个由路由节点构成的路径环,路由节点之间的链路为双向双路,路由节点包括与路由节点相对应的路由序号;路径信息模块,用于基于第一编码、第二编码,利用路由序号,确定路径信息;方向信息模块,用于基于路径信息、路由序号,确定双向双路中的路径方向信息;生成模块,用于基于路径信息、路径方向信息,生成源终端节点至目的终端节点之间的规划路径。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的路由路径规划方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的路由路径规划方法。
本发明技术方案,具有如下优点:
本发明提供的一种路由路径规划方法、装置、设备、介质,该方法通过分别确定源终端节点与目的终端节点的二进制编码,并利用第一编码、第二编码、路由序号确定路径信息与路径方向信息,从而生成源终端节点与目的终端节点之间的规划路径,这一过程中,利用第一编码与第二编码逐次确定源终端节点与目的终端节点之间需经过的路由,从而以路由序号明确路径信息,并利用路径信息中涉及的路由序号明确路径方向,从而以路径信息明确源终端节点与目的终端节点之间需通过的路由,以路径方向信息明确与路径信息对应的通道属于双向双路中的哪条通道,从而生成源终端节点至目的终端节点之间的规划路径,使得在有效避免死锁问题发生的前提下,最大程度的保留了网络拓扑的路径多样性,进而提升网络通信效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例提供的一种胖树网络拓扑示意图;
图2是根据本发明实施例提供的将图1拍平的胖树网络拓扑结构示意图;
图3是根据本发明实施例提供的与图2所示网络拓扑结构的等效示意图;
图4是根据本发明实施例提供的图3中的一个路径环示意图;
图5是根据本发明实施例提供的图4所示路径环产生顺时针死锁的示意图;
图6是根据本发明实施例提供的图4所示路径环产生逆时针死锁的示意图
图7是根据本发明实施例提供的一种路由路径规划方法的流程示意图;
图8是根据本发明实施例提供的图3中路由节点之间的链路示意图;
图9是根据本发明实施例提供的图4所示路径环由路由节点2到7确定的规划路径;
图10是根据本发明实施例提供的图4所示路径环由路由节点3到6确定的规划路径;
图11是根据本发明实施例提供的图4所示路径环由路由节点7到2确定的规划路径;
图12是根据本发明实施例提供的图4所示路径环由路由节点6到3确定的规划路径;
图13是根据本发明实施例的路由路径规划装置的结构框图;
图14是本发明实施例的计算机设备的硬件结构示意图;
图15是本发明实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供了一种胖树网络拓扑示意图,如图1所示,包括路由节点101、终端节点102,共五层路由节点,其中,路由节点101包括路由序号为0至15,共16个路由节点,终端节点包括终端序号为0至31,共32个终端节点,每两个终端节点公用一个路由节点,终端节点102之间通过路由节点101进行通信,从而由终端节点102与路由节点101形成的路径即为规划路径。
图2为将图1拍平后的胖树网络拓扑示意图,拍平后的五层路由节点101间的流量传输在节点内部直接完成,路由节点101间的流量传输使用合并后的数据链路传输。其中,路由节点101与终端节点102之间的链路端口为双向的,路由节点101之间的链路端口为双向双路,以路由节点0与路由节点1之间的链路为例,方向为由路由节点0通向路由节点1的通道数量为两条,方向为由路由节点1通向路由节点0的通道数量为两条。将图2所述的网络结构进行一定的拓扑规划,可形成如图3所示的网络拓扑图。其中,每个路由节点101都连接两个终端节点102,为方便展示仅示出部分终端节点102。路由节点101大大减少,其链路数量是原网络的两倍,网络直径和原网络一样,其中,网络直径是指网络中两个节点之间最短距离的最大值。
应该理解的是,路由节点101、终端节点102的数量,以及终端节点102与路由节点101的连接关系包括但不限于图1、图2、图3所示,可根据实际工况设置网络拓扑结构。
从图3所示网络拓扑接口可以看出该结构中存在路径环,并且由于在相关技术中,路由节点之间的链路端口通常仅为双向的,即以路由节点0与路由节点1之间的链路为例,方向为由路由节点0通向路由节点1的通道数量为一条,方向为由路由节点1通向路由节点0的通道数量为一条。在该种情况下,容易产生死锁,因此在相关技术中为避免死锁的产生,通常利用如“1-2-4-8”等路由算法,将终端节点间的路由路径定义为唯一路径,从而造成了路由算法中路径单一性的问题,使得网络拓扑的通信效率降低。
关于死锁问题,如图4所示,图4为图3中取出的一个路径环的示意图,对于一个环形拓扑,很容易产生死锁。例如,假设同时有四个路由请求:请求1:路由节点2到路由节点7;请求2:路由节点3到路由节点6;请求3:路由节点7到路由节点2;请求4:路由节点6到路由节点3,这四个路由请求都需要经过一个路由节点且都选择顺时针路由,且都已经占用中间路由节点时,就产生了死锁,如图5所示。相反如果都选择逆时针路由,且都已经占用中间路由节点时,也会产生死锁,如图6所示。其中,死锁是指两个以上数据包被阻塞在中间路由节点,对网络资源的释放和请求之间出现循环等待的情况。
关于路由算法将终端节点间的路由路径定义为唯一路径,例如“1-2-4-8”算法,以源终端节点的终端序号为2,目的终端节点的终端序号为31为例,如图3所示,由终端节点2到达终端节点31的路径存在多种,例如由终端节点2、路由节点1、路由节点5、路由节点13、路由节点15达终端节点31,或由终端节点2、路由节点1、路由节点6、路由节点14、路由节点15达终端节点31等等,在“1-2-4-8”算法中将终端节点2到达终端节点31的路径有且仅有的定义为:由终端节点2、路由节点1、路由节点3、路由节点11、路由节点15达终端节点31,从而在避免死锁问题发生的前提下,造成了路由算法中路径单一性的技术问题。
根据本发明实施例,提供了一种路由路径规划方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
为解决在避免死锁问题发生的前提下,在相关技术中路由算法中路径单一性的技术问题,本实施例提供了一种路由路径规划方法,如图7所示,方法包括如下步骤:
S201、响应于路径规划请求,分别确定源终端节点与目的终端节点在网络拓扑中与终端序号对应的二进制编码,以生成第一编码、第二编码,其中,网络拓扑包括至少一个由路由节点构成的路径环,路由节点之间的链路为双向双路,路由节点包括与路由节点相对应的路由序号。
具体地,响应于路径规划请求,分别确定源终端节点与目的终端节点在网络拓扑中与终端序号对应的二进制编码,以生成第一编码、第二编码是指将路由请求中的源终端节点与目的终端节点,根据在网络拓扑中的终端序号进行二进制转化,分别生成第一编码与第二编码。
具体地,根据终端节点的数量确定第一编码与第二编码的二进制编码位宽。例如,以图3所示32个终端节点为例,因此采用5bit来表示每个终端节点,如00000表示终端节点0,00001表示终端节点1,以此类推,11110表示终端节点30,11111表示终端节点31。
在一种可选实施方式中,每个路径环至少包括四个路由节点,应该理解的是,在路由节点为一个时无法形成路由节点间的数据链路传输,在路由节点为两个或三个时,任意两个路由节点均相邻,从而可以通过相邻通道进行数据链路传输。
在一种可选实施方式中,网络拓扑中每个路由节点连接两个终端节点,连接在相同路由节点的两个终端序号分别等于所连接的路由节点的路由序号的二倍与路由序号的二倍加一。具体地,如图3所示,路由节点0分别与终端节点1、终端节点2相连,路由节点1分别与终端节点2、终端节点3相连,以此类推,不再进行赘述。
具体地,路由节点之间的链路为双向双路,如图8所示,以路由节点2与路由节点3之间的链路为例,方向为由路由节点2通向路由节点3的通道数量为两条,在图中显示为由路由节点2至路由节点3的链路,且链路分别以0、1作为标注进行区分,方向为由路由节点3通向路由节点2的通道数量为两条,同理不在进行赘述,即标注为0的链路为一组双向链路、标注为1的链路为一组双向链路,从而由标注0与标注1所表示的两组链路表示路由节点之间的链路为双向双路。应该理解的是,标注同样可以是以“+”、“-”或其他符号进行区分,本实施例对此不做具体限定。
S202、基于第一编码、第二编码,利用路由序号,确定路径信息。
具体地,基于第一编码、第二编码,利用路由序号,确定路径信息是指通过将第一编码、第二编码按位异或,生成第三编码,从而通过第三编码与路由序号,确定路径信息。
S203、基于路径信息、路由序号,确定双向双路中的路径方向信息。
具体地,基于路径信息、路由序号,确定双向双路中的路径方向信息是指利用路径信息中首个路由节点的路由序号与末尾路由节点的路由序号,明确路径方向。
S204、基于路径信息、路径方向信息,生成源终端节点至目的终端节点之间的规划路径。
具体地,基于路径信息、路径方向信息,生成源终端节点至目的终端节点之间的规划路径是指以确定的路由节点与确定的链路传输方向,生成源终端节点至目的终端节点之间的规划路径,即以源终端节点开始,通过源终端节点与目的终端节点之间需通过的路由,到达目的终端节点,并沿确定的双向双路中链路进行数据链路传输。
本实施例提供的一种路由路径规划方法,通过分别确定源终端节点与目的终端节点的二进制编码,并利用第一编码、第二编码、路由序号确定路径信息与路径方向信息,从而生成源终端节点与目的终端节点之间的规划路径,这一过程中,利用第一编码与第二编码逐次确定源终端节点与目的终端节点之间需经过的路由,从而以路由序号明确路径信息,并利用路径信息中涉及的路由序号明确路径方向,从而以路径信息明确源终端节点与目的终端节点之间需通过的路由,以路径方向信息明确与路径信息对应的通道属于双向双路中的哪条通道,从而生成源终端节点至目的终端节点之间的规划路径,使得在有效避免死锁问题发生的前提下,最大程度的保留了网络拓扑的路径多样性,进而提升网络通信效率。
在一种可选实施方式中,为确定源终端节点与目的终端节点之间需通过的路由节点,基于第一编码、第二编码,利用路由序号,确定路径信息,包括:
基于第一编码、第二编码,通过按位异或并省略异或结果的最低位,生成第三编码。
具体地,基于第一编码、第二编码,通过按位异或并省略异或结果的最低位,生成第三编码是指将第一编码与第二编码,以二进制的编码进行按位异或,得到第一异或结果,并忽略第一异或结果中的最低位,从而生成第三编码。
具体地,以源终端节点为终端序号为1的终端节点,记作S,对应第一编码为:00001,目的终端节点为终端序号为24的终端节点,记作D,对应第二编码为:11000为例,S与D的按位异或结果为:11001,记作第一异或结果,省略第一异或结果的最低位,生成第三编码:1100,记作I。
获取与源终端节点连接的路由节点的第一路由序号。
具体地,在间接互连网络中终端节点与路由节点分离,如图3所示,每个终端节点均有相连的路由节点,从而获取与源终端节点对应的第一路由序号。结合图3,以S为终端序号为1的终端节点为例,对应第一路由序号为0,对应二进制编码为0000。
基于第三编码、第一路由序号,确定路径信息。
在一种可选实施方式中,基于第三编码、第一路由序号,确定路径信息,包括:
(1)响应于第三编码中至少一位数值为一,将第三编码进行拆分,生成至少一个有且仅有一位数值为一的第四编码。
具体地,响应于第三编码中至少一位数值为一,将第三编码进行拆分,生成至少一个有且仅有一位数值为一的第四编码是指根据第三编码中等于一的位的数量对第三编码进行拆分,得到至少一个有且仅有一位数值为一的第四编码。
以I为1100为例,其中,首位与第二位的数值为1,因此,将I拆分得到两个第四编码:1000、0100,分别记作I1、I2。
(2)基于第一路由序号,以随机的方式逐次与每个第四编码进行按位异或,并将每次按位异或的结果作为中间路由,直至完成全部第四编码的按位异或。
在一种可选实施方式中,基于第一路由序号,以随机的方式逐次与每个第四编码进行按位异或,并将每次按位异或的结果作为中间路由,直至完成全部第四编码的按位异或,包括:
基于第一路由序号,选取任一第四编码进行按位异或,确定第一中间路由。
基于第一中间路由,选取任一剩余第四编码进行按位异或,确定第二中间路由。
判断第四编码是否已全部进行按位异或。
在第四编码存在未进行按位异或的编码时,以第二中间路由作为第一中间路由,重复确定第二中间路由的步骤。
具体地,以S为终端序号为1的终端节点,D为终端序号为24的终端节点,对应第一路由序号为0,对应二进制编码为0000,I为1100, I1:1000、I2:0100为例,通过公式(1)(2)表示完成全部第四编码的按位异或过程:
(1)
(2)
其中,公式(1)(2)中的表示箭头左侧二进制编码与I1进行按位异或,得到箭头右侧二进制编码,表示箭头左侧二进制编码与I2进行按位异或,得到箭头右侧二进制编码。
具体地,在公式(1)(2)中第一路由序号对应的二进制编码分别与I1、I2进行按位异或的过程对应基于第一路由序号,选取任一第四编码进行按位异或,确定第一中间路由的过程,其中,公式(1)中的1000与公式(2)中的0100对应为第一中间路由的二进制编码,此时的第一中间路由对应的路由序号分别为8和4。应该理解的是若I的分解结果还包括I3、I4等,此处的还应包括与I3、I4进行按位异或的过程。
具体地,在公式(1)(2)中第一中间路由分别与I1、I2进行按位异或的过程对应基于第一中间路由,选取任一剩余第四编码进行按位异或,确定第二中间路由的过程,其中,公式(1)中的1100与公式(2)中的1100对应为第二中间路由的二进制编码,此时的第二中间路由对应的路由序号12。应该理解的是若I的分解结果还包括I3、I4等,此处的还应包括与I3、I4进行按位异或的过程。
具体地,该示例中第四编码均已完成按位异或,但若I的分解结果还包括I3、I4等,此时,将第二中间路由视为第一中间路由,再次进行按位异或,确定第二中间路由的过程,直至所有第四编码均完成按位异或。在本示例中,I的分解结果包括I1、I2,对应的结果为两个,即公式(1)(2),以此类推,若I的分解结果包括I1、I2、I3,对应的结果应为6个。
(3)基于第一路由序号与中间路由,确定路径信息。
具体地,基于第一路由序号与中间路由,确定路径信息是指通过第一中级路由序号与中间路由对应的二进制编码转换为对应路由序号,从而确定由源终端节点至目的终端节点所经过的路由节点,因此,以源终端节点、所有经过的路由节点、目的终端节点共同构成路径信息。
具体地,以上述实施例中公式(1)(2)为例,路径信息分别为:终端节点1、路由节点0、路由节点4、路由节点12、终端节点24,以及终端节点1、路由节点0、路由节点8、路由节点12、终端节点24。
在一种可选实施方式中,在基于第一路由序号与中间路由,确定路径信息之后,方法还包括:
获取目的终端节点连接的路由节点的第二路由序号。
具体地,在间接互连网络中终端节点与路由节点分离,如图3所示,每个终端节点均有相连的路由节点,从而获取与目的终端节点对应的第二路由序号。结合图3,以D为终端序号为24的终端节点为例,对应第二路由序号为12,对应二进制编码为1100。
基于第二路由序号验证路径信息。
具体地,基于第二路由序号验证路径信息是指通过判断第二路由序号与路径信息末尾的路由节点对应的路由序号是否相同,并在相同的情况下,认为路径信息正确。结合上述实施例中公式(1)(2)的结果,路径信息末尾的路由节点对应的路由序号为12,与第二路由序号相同。
在一种可选实施方式中,基于第三编码、第一路由序号,确定路径信息,包括:响应于第三编码中所有位均为零,则确定源终端节点与目的终端节点通过与第一路由序号对应的路由节点连接。
具体地,以源终端节点为终端序号为6的终端节点,对应第一编码为:00110,目的终端节点为终端序号为7的终端节点,对应第二编码为00111为例,按位异或后I为0000,表示两个终端节点在同一个路由节点上,即通过与源终端节点连接的第一路由序号对应的路由节点连接。
在一种可选实施方式中,方法还包括:将源终端节点和目的终端节点的路径信息设置为以源终端节点为起始点,第一路由序号对应的路由节点为中间路由节点,目的终端节点为终止点。
具体地,当源终端节点与目的终端节点通过同一个路由节点连接时,通过该路由节点进行内部路由进行数据链路传输。
在一种可选实施方式中,在基于第三编码、第一路由序号,确定路径信息之后,方法还包括:
基于第三编码中位数对应数值为一的个数,确定由源终端节点到达目的终端节点的路由节点数量。
基于路由节点数量,验证路径信息。
具体地,基于第三编码中位数对应数值为一的个数,确定由源终端节点到达目的终端节点的路由节点数量是指以第三编码中位数对应数值为一的个数加一,作为源终端节点到达目的终端节点的路由节点数量。以S为终端序号为1的终端节点,D为终端序号为24的终端节点,I为1100为例,I中数值为1的数量为2个,即,由S达到D需要经过3个路由节点,分别记作a、b、c,则此时路径信息可以表示为S、a、b、c、D,从而通过确定路径信息中路由节点的数量,完成对路径信息的验证。
通过实施本实施例,通过第一编码、第二编码生成第三编码,并将第三编码拆分为至少一个第四编码,从而确定中间路由,并通过第一路由序号与中间路由,确定路径信息,从而以路径信息明确源终端节点与目的终端节点之间需通过的路由,从而避免两个以上数据包阻塞在中间路由节点,避免了死锁情况的发生,为后续保留网络拓扑的路径多样性提供数据基础。
在一种可选实施方式中,为确定由路由节点之间的哪条通道进行数据链路传输,基于路径信息、路由序号,确定双向双路中的路径方向信息,包括:
基于路径信息,分别确定首个路由节点的第三路由序号与末尾路由节点的第四路由序号。
在第三路由序号小于第四路由序号时,以双向双路中的第一方向作为路径方向。
具体地,以上述实施例中公式(1)(2)为例,其中,第一方向可以是标注为“+” 的链路,第三路由序号均为0,第四路由序号均为12,在该种情况下,规划路径表示为:终端节点1、路由节点0、路由节点4、路由节点12、终端节点24,沿“+”链路传输,以及终端节点1、路由节点0、路由节点8、路由节点12、终端节点24,沿“+”链路传输。在该种情况下,无需将原有确定路径信息定义为一条路径,而是通过明确方向信息,保留原有路径,从而最大程度的保留了网络拓扑的路径多样性。
具体地,如图9所示,示例性的示出了由路由节点2传输至路由节点7的链路,以及如图10所示,示例性的示出了由路由节点3传输至路由节点6的链路。
在一种可选实施方式中,基于路径信息、路由序号,确定双向双路中的路径方向信息,包括:
基于路径信息,分别确定首个路由节点的第三路由序号与末尾路由节点的第四路由序号。
在第三路由序号大于第四路由序号时,以双向双路中的第二方向作为路径方向。
具体地,以第三路由序号均为12,第四路由序号均为0为例,第二方向可以是标注为“-” 的链路,在该种情况下,规划路径表示为:终端节点24、路由节点12、路由节点4、路由节点0、终端节点1,沿“-”链路传输,以及终端节点24、路由节点12、路由节点8、路由节点0、终端节点1,沿“-”链路传输。在该种情况下,无需将原有确定路径信息定义为一条路径,而是通过明确方向信息,保留原有路径,从而最大程度的保留了网络拓扑的路径多样性。
具体地,如图11所示,示例性的示出了由路由节点7传输至路由节点2的链路,以及如图12所示,示例性的示出了由路由节点6传输至路由节点3的链路。
应该理解的是,如图9至图12所示,不管是顺时针还是逆时针,尽管拓扑结构存在路径环,但是不会产生死锁。且四个路由请求原来有16条路由路径,使用本实施例提出的避免死锁的路由算法则有8条路由路径,最大程度的保留了路径多样性。
在一种可选实施方式中,基于路径信息、路由序号,确定双向双路中的路径方向信息,包括:
基于路径信息,分别确定首个路由节点与末尾路由节点。
在首个路由节点与末尾路由节点为相邻节点时,以双向双路中的第一方向或第二方向作为路径方向。
具体地,在首个路由节点与末尾路由节点为相邻节点时,第一方向或第二方向均可以作为路径方向,如图8所示,标注为“0”或“1”的链路均可以作为路径方向。
通过实施本实例,通过路径信息确定首个路由节点与末尾路由节点路由序号,从而通过路由序号的大小关系,确定路由节点之间的双向双路的路径方向,从而在确定路径信息后,以路径方向信息明确与路径信息对应的通道属于双向双路中的哪条通道,使得在有效避免死锁问题发生的前提下,最大程度的保留了网络拓扑的路径多样性,进而提升网络通信效率。
在本实施例中还提供了一种路由路径规划装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种路由路径规划装置,如图13所示,包括:
编码模块301,用于响应于路径规划请求,分别确定源终端节点与目的终端节点在网络拓扑中与终端序号对应的二进制编码,以生成第一编码、第二编码,其中,网络拓扑包括至少一个由路由节点构成的路径环,路由节点之间的链路为双向双路,路由节点包括与路由节点相对应的路由序号。具体过程可参见上述实施例中关于步骤S201的相关描述,在此不再赘述。
路径信息模块302,用于基于第一编码、第二编码,利用路由序号,确定路径信息。具体过程可参见上述实施例中关于步骤S202的相关描述,在此不再赘述。
方向信息模块303,用于基于路径信息、路由序号,确定双向双路中的路径方向信息。具体过程可参见上述实施例中关于步骤S203的相关描述,在此不再赘述。
生成模块304,用于基于路径信息、路径方向信息,生成源终端节点至目的终端节点之间的规划路径。具体过程可参见上述实施例中关于步骤S204的相关描述,在此不再赘述。
本实施例中的路由路径规划装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图13所示的路由路径规划装置。
请参阅图14,图14是本发明可选实施例提供的一种计算机设备的结构示意图,如图14所示,该计算机设备包括:一个或多个处理器401、存储器402,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图14中以一个处理器401为例。
处理器401可以是中央处理器,网络处理器或其组合。其中,处理器401还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器402存储有可由至少一个处理器401执行的指令,以使所述至少一个处理器401执行实现上述实施例示出的方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器402可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器402还可以包括上述种类的存储器的组合。该计算机设备还包括通信接口403,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,如图15所示,本发明的实施例还提供了一种计算机可读存储介质501,计算机可读存储介质501存储有计算机指令5011,计算机指令5011被处理器执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (15)
1.一种路由路径规划方法,其特征在于,所述方法包括:
响应于路径规划请求,分别确定源终端节点与目的终端节点在网络拓扑中与终端序号对应的二进制编码,以生成第一编码、第二编码,其中,所述网络拓扑包括至少一个由路由节点构成的路径环,所述路由节点之间的链路为双向双路,所述路由节点包括与路由节点相对应的路由序号;
基于所述第一编码、所述第二编码,利用所述路由序号,确定路径信息;
基于所述路径信息、所述路由序号,确定所述双向双路中的路径方向信息;
基于所述路径信息、所述路径方向信息,生成源终端节点至目的终端节点之间的规划路径。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一编码、所述第二编码,利用所述路由序号,确定路径信息,包括:
基于所述第一编码、所述第二编码,通过按位异或并省略异或结果的最低位,生成第三编码;
获取与源终端节点连接的路由节点的第一路由序号;
基于所述第三编码、所述第一路由序号,确定路径信息。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第三编码、所述第一路由序号,确定路径信息,包括:
响应于所述第三编码中至少一位数值为一,将所述第三编码进行拆分,生成至少一个有且仅有一位数值为一的第四编码;
基于所述第一路由序号,以随机的方式逐次与每个所述第四编码进行按位异或,并将每次按位异或的结果作为中间路由,直至完成全部第四编码的按位异或;
基于所述第一路由序号与所述中间路由,确定路径信息。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一路由序号,以随机的方式逐次与每个所述第四编码进行按位异或,并将每次按位异或的结果作为中间路由,直至完成全部第四编码的按位异或,包括:
基于所述第一路由序号,选取任一所述第四编码进行按位异或,确定第一中间路由;
基于所述第一中间路由,选取任一剩余所述第四编码进行按位异或,确定第二中间路由;
判断所述第四编码是否已全部进行按位异或;
在所述第四编码存在未进行按位异或的编码时,以第二中间路由作为第一中间路由,重复确定第二中间路由的步骤。
5.根据权利要求3所述的方法,其特征在于,在所述基于所述第一路由序号与所述中间路由,确定路径信息之后,方法还包括:
获取目的终端节点连接的路由节点的第二路由序号;
基于所述第二路由序号验证所述路径信息。
6.根据权利要求2所述的方法,其特征在于,所述基于所述第三编码、所述第一路由序号,确定路径信息,包括:响应于所述第三编码中所有位均为零,则确定所述源终端节点与所述目的终端节点通过与所述第一路由序号对应的路由节点连接。
7.根据权利要求2所述的方法,其特征在于,在所述基于所述第三编码、所述第一路由序号,确定路径信息之后,方法还包括:
基于所述第三编码中位数对应数值为一的个数,确定由所述源终端节点到达所述目的终端节点的路由节点数量;
基于所述路由节点数量,验证所述路径信息。
8.根据权利要求1所述的方法,其特征在于,所述基于所述路径信息、所述路由序号,确定所述双向双路中的路径方向信息,包括:
基于所述路径信息,分别确定首个路由节点的第三路由序号与末尾路由节点的第四路由序号;
在所述第三路由序号小于所述第四路由序号时,以所述双向双路中的第一方向作为路径方向。
9.根据权利要求1所述的方法,其特征在于,所述基于所述路径信息、所述路由序号,确定所述双向双路中的路径方向信息,包括:
基于所述路径信息,分别确定首个路由节点的第三路由序号与末尾路由节点的第四路由序号;
在所述第三路由序号大于所述第四路由序号时,以所述双向双路中的第二方向作为路径方向。
10.根据权利要求1所述的方法,其特征在于,所述基于所述路径信息、所述路由序号,确定所述双向双路中的路径方向信息,包括:
基于所述路径信息,分别确定首个路由节点与末尾路由节点;
在所述首个路由节点与所述末尾路由节点为相邻节点时,以所述双向双路中的第一方向或第二方向作为路径方向。
11.根据权利要求1所述的方法,其特征在于,每个所述路径环至少包括四个路由节点。
12.根据权利要求1所述的方法,其特征在于,所述网络拓扑中每个路由节点连接两个终端节点,连接在相同路由节点的两个终端序号分别等于所连接的路由节点的路由序号的二倍与路由序号的二倍加一。
13.一种路由路径规划装置,其特征在于,执行权利要求1至12中任一项所述的路由路径规划方法,所述装置包括:
编码模块,用于响应于路径规划请求,分别确定源终端节点与目的终端节点在网络拓扑中与终端序号对应的二进制编码,以生成第一编码、第二编码,其中,所述网络拓扑包括至少一个由路由节点构成的路径环,所述路由节点之间的链路为双向双路,所述路由节点包括与路由节点相对应的路由序号;
路径信息模块,用于基于所述第一编码、所述第二编码,利用所述路由序号,确定路径信息;
方向信息模块,用于基于所述路径信息、所述路由序号,确定所述双向双路中的路径方向信息;
生成模块,用于基于所述路径信息、所述路径方向信息,生成源终端节点至目的终端节点之间的规划路径。
14.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至12中任一项所述的路由路径规划方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至12中任一项所述的路由路径规划方法。
Publications (1)
Publication Number | Publication Date |
---|---|
CN118282927A true CN118282927A (zh) | 2024-07-02 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5651756B2 (ja) | ネットワークトポロジー要求を物理ネットワークにマッピングする方法及び通信システム | |
CN117135108B (zh) | 路由路径规划方法、路由请求处理方法、设备及介质 | |
US9600440B2 (en) | Network topology of hierarchical ring with recursive shortcuts | |
EP3868062B1 (en) | Methods and apparatus for transmitting data over multiple paths in a network | |
US9529775B2 (en) | Network topology of hierarchical ring with gray code and binary code | |
CN107040334A (zh) | 用于通信网络的丢失复原协议 | |
CN117135106B (zh) | 路由路径规划方法、路由请求处理方法、设备及介质 | |
US20030172180A1 (en) | Efficient system and method of node and link insertion for deadlock-free routing on arbitrary topologies | |
CN109889447B (zh) | 一种基于混合环组网和喷泉码的网络传输方法及系统 | |
CN117135059B (zh) | 一种网络拓扑结构、构造方法、路由算法、设备及介质 | |
CN116886591B (zh) | 计算机网络系统及路由方法 | |
CN118282927A (zh) | 一种路由路径规划方法、装置、设备、介质 | |
CN117176638A (zh) | 一种路由路径确定方法及相关组件 | |
WO2015165280A1 (zh) | 一种确定中间路由节点的方法、装置及系统 | |
JP2020046713A (ja) | 並列計算機システム、並列計算機システムの制御方法、及びプログラム | |
CN117135114A (zh) | 多路径传输方法、装置、设备、可读存储介质及程序产品 | |
JP2002141943A (ja) | 経路探索方法および装置 | |
CN117354230B (zh) | 双向拓扑网络的路由路径确定方法、装置、设备及介质 | |
CN109716716B (zh) | 联合路由建立方法及装置 | |
CN114124722B (zh) | 有向无环图生成方法、网络编码方法及网络传输方法 | |
CN117792981B (zh) | 路由方法、装置、路由设备、路由管理设备和路由网络 | |
CN114567410B (zh) | 一种信号帧的处理方法及相关设备 | |
CN117811993B (zh) | 三维超立方结构网络及其路由方法、装置、设备和介质 | |
CN117278462A (zh) | 数据路由方法、装置、路由节点、计算机网络及介质 | |
CN112134743B (zh) | 一种参数配置方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |