CN117135108B - 路由路径规划方法、路由请求处理方法、设备及介质 - Google Patents
路由路径规划方法、路由请求处理方法、设备及介质 Download PDFInfo
- Publication number
- CN117135108B CN117135108B CN202311390748.2A CN202311390748A CN117135108B CN 117135108 B CN117135108 B CN 117135108B CN 202311390748 A CN202311390748 A CN 202311390748A CN 117135108 B CN117135108 B CN 117135108B
- Authority
- CN
- China
- Prior art keywords
- routing
- code
- routing node
- path
- node
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 230000003247 decreasing effect Effects 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims description 35
- 230000008859 change Effects 0.000 claims description 27
- 230000009466 transformation Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 abstract description 12
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000004422 calculation algorithm Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/02—Topology update or discovery
-
- 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/14—Routing performance; Theoretical aspects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及通信技术领域,尤其涉及一种路由路径规划方法、路由请求处理方法、设备及介质。路由路径规划方法包括:分别获取路由请求中源终端节点和目的终端节点在包括至少一个路径环的网络拓扑中对应的第一编码和第二编码;对第一编码和第二编码除各自的最低位外的剩余位进行按位异或运算以生成第三编码;将源终端节点所在的路由节点为首个路由节点;响应于第三编码中至少一位等于一,则基于首个路由节点和第三编码寻找符合第一预设规则或第二预设规则的规划路径,第一预设规则为路由节点序号持续递增和/或先递减再递增,第二预设规则为路由节点序号持续递减和/或先递增再递减。本发明的方案能够避免死锁现象产生,提升网络的稳定性和通信效率。
Description
技术领域
本发明涉及通信领域,尤其涉及一种路由路径规划方法、路由请求处理方法、设备及介质。
背景技术
随着互联网的快速普及与发展以及卫星互联网星座计划的不断部署、更多的用户终端接入网络,衍生出包含人们生产和生活各个领域的互联网应用,互联网中的流量已呈现爆炸式增长的趋势。光纤技术与星间激光通信技术的发展与应用使得信息传输网络的瓶颈已转移至互联网中交换结点的交换设备,如交换机与路由器等。这些交换设备的核心技术是交换技术,而交换技术又包括交换网络和调度算法两方面。为了提升信息交换网络性能,满足现今不断涌现的新型应用与业务需求,需要对更大容量、更好性能的交换网络和与之适配的高性能调度算法进行研究。
伴随对交换网络性能需求的提升,网络拓扑越来来越复杂,现有的路由算法无法避免死锁情况的发生,死锁是指两个以上数据包被阻塞在中间路由节点,对网络资源的释放和请求之间出现循环等待的情况,死锁情况的发生极大的降低了通信效率,因而亟需对路由算法进行改进,以避免死锁现象的发生。
发明内容
有鉴于此,有必要针对以上技术问题,提供一种路由路径规划方法路由请求处理方法、路由路径规划装置、设备及介质。
根据本发明的第一方面,提供了一种路由路径规划方法,所述路由路径规划方法包括:
分别获取路由请求中的源终端节点和目的终端节点在网络拓扑中终端序号对应的二进制编码,以得到第一编码和第二编码,其中,所述网络拓扑包括至少一个路径环;
对所述第一编码和所述第二编码除各自的最低位外的剩余位进行按位异或运算,以生成第三编码;
获取源终端节点所在的路由节点,并作为规划路径的首个路由节点;
响应于所述第三编码中至少一位等于一,则基于所述首个路由节点和所述第三编码寻找符合第一预设规则或第二预设规则的规划路径,其中,所述第一预设规则为规划路径中路由节点数最少且规划路径上路由节点序号持续递增和/或先递减再递增。
在一些实施例中,所述基于所述首个路由节点和所述第三编码寻找符合第一预设规则的规划路径的步骤,包括:
对所述第一编码中除最低位外的剩余位中等于一的位与所述第三编码进行按位同或运算,以生成第四编码;
响应于所述第四编码中存在等于一的位,则根据所述第四编码和所述首个路由节点确定每条规划路径中的负向路由节点;
响应于负向路由节点确定完成或所述第四编码中不存在等于一的位,则对所述第二编码中除最低位外的剩余位中等于一的位与所述第三编码进行按位同或运算,以生成第五编码;
响应于所述第五编码中存在等于一的位,则根据所述第五编码、每条规划路径的最后一个负向路由节点确定每条规划路径中的正向路由节点。
在一些实施例中,所述根据所述第四编码和所述首个路由节点确定每条规划路径中的负向路由节点的步骤,包括:
每次变更一位第四编码中等于一的位,直至变更后第四编码所有位均等于零,遍历所有变更顺序组合以得到若干组带有顺序的变换后第四编码;
对每组变换后第四编码,依据变换后第四编码的顺序,将首个路由节点的二进制编码中,与每个变换后第四编码变换位的对应位由一变为零,以依次得到一条规划路径中的负向路由节点。
在一些实施例中,所述根据所述第五编码、每条规划路径的最后一个负向路由节点确定每条规划路径中的正向路由节点的步骤,包括:
每次变更一位第五编码中等一的位,直至变更后第五编码所有位均等于零,遍历所有变更顺序组合以得到若干组带有顺序的变换后第五编码;
对每组变换后第五编码,依据变换后第五编码的顺序,将每条规划路径的最后一个负向路由节点的二进制编码中,与每个变换后第五编码变换位的对应位由零变为一,以依次得到一条规划路径中的正向路由节点。
在一些实施例中,所述基于所述首个路由节点和所述第三编码寻找符合第二预设规则的规划路径的步骤,包括:
对所述第二编码中除最低位外的剩余位中等于一的位与所述第三编码进行按位同或运算,以生成第六编码;
响应于所述第六编码中存在等于一的位,则根据所述第六编码和所述首个路由节点确定每条规划路径中的正向路由节点;
响应于正向路由节点确定完成或所述第六编码中不存在等于一的位,则对所述第一编码中除最低位外的剩余位中等于一的位与所述第三编码进行按位同或运算,以生成第七编码;
响应于所述第七编码中存在等于一的位,则根据所述第七编码、每条规划路径的最后一个正向路由节点确定每条规划路径中的负向路由节点。
在一些实施例中,所述根据所述第六编码和所述首个路由节点确定每条规划路径中的正向路由节点的步骤,包括:
每次变更一位第六编码中等于一的位,直至变更后第六编码所有位均等于零,遍历所有变更顺序组合以得到若干组带有顺序的变换后第六编码;
对每组变换后第六编码,依据变换后第六编码的顺序,将首个路由节点的二进制编码中,与每个变换后第六编码变换位的对应位由零变为一,以依次得到一条规划路径中的正向路由节点。
在一些实施例中,所述根据所述第七编码、每条规划路径的最后一个正向路由节点确定每条规划路径中的负向路由节点的步骤,包括:
每次变更一位第七编码中等一的位,直至变更后第七编码所有位均等于零,遍历所有变更顺序组合以得到若干组带有顺序的变换后第七编码;
对每组变换后第七编码,依据变换后第七编码的顺序,将每条规划路径的最后一个负向路由节点的二进制编码中,与每个变换后第七编码变换位的对应位由一变为零,以依次得到一条规划路径中的负向路由节点。
在一些实施例中,所述基于所述首个路由节点和所述第三编码寻找符合第一预设规则或第二预设规则的规划路径的步骤,包括:
每次变更一位第三编码中等于一的位,直至变更后的第三编码中所有位均等于零,遍历所有变更顺序组合以得到若干组带有顺序的变换后第三编码;
根据所述首个路由节点和每组变换后第三编码,生成与每组变换后第三编码对应的一条规划路径;
计算每条规划路径相邻两个路由节点序号的差值;
响应于某条规划路径中负数差值在正数差值之后,则将所述某条规划路径移除,并将未被移除的规划路径作为符合第一预设规则的规划路径;
响应于某条规划路径中正数差值在负数差值之后,则将所述某条规划路径移除,并将未被移除的规划路径作为符合第二预设规则的规划路径。
在一些实施例中,所述根据所述首个路由节点和每组变换后第三编码,生成与每组变换后第三编码对应的一条规划路径的步骤,包括对每组变换后第三编码执行以下操作:
依据变换后第三编码的顺序,将变换后第三编码与变换前的第三编码进行异或运算;
将异或运算结果中等于一的位在所述首个路由节点的二进制编码的对应位的零变为一,以得到与每个变换后第三编码对应路由节点;
将依次得到的路由节点按顺序放到首个路由节点之后,以生成一条规划路径。
在一些实施例中,所述路由路径规划方法还包括:
响应于寻找到的符合第一预设规则的规划路径为一条,则将寻找到的符合第一预设规则的规划路径作为目标规划路径;
响应于寻找到的符合第一预设规则的规划路径为多条,则从寻找到的符合第一预设规则的规划路径中任选一条作为目标规划路径。
在一些实施例中,所述路由路径规划方法还包括:
根据第一编码的最后一位确定源终端节点到所述目标规划路径中第一个路由节点的第一路由信息;以及
根据第二编码的最后一位确定所述目标规划路径中最后一个路由节点到目的终端节点到的第二路由信息。
在一些实施例中,所述路由路径规划方法还包括:
响应于通过所述第一编码和所述第二编码确定的第三编码所有位均等于零,则确认所述源终端节点和所述目的终端节点在同一路由节点。
在一些实施例中,所述网络拓扑包括最少四个路由节点,其中,每个路由节点连接两个终端节点,连接在相同路由节点的两个终端节点序号分别等于所连接路由节点序号的二倍和所连接路由节点序号的二倍加一。
在一些实施例中,所述网络拓扑中的路径环均由四个路由节点构成。
在一些实施例中,所述网络拓扑包括路由节点序号为0至7的八个路由节点;
所述网络拓扑中路由节点的连接关系包括:
路由节点序号等于0的路由节点与路由节点序号等于1、2、4的路由节点分别双向连通;
路由节点序号等于1的路由节点与路由节点序号等于3、5的路由节点分别双向连通;
路由节点序号等于2的路由节点还与路由节点序号等于3、6的路由节点分别双向连通;
路由节点序号等于3的路由节点还与路由节点序号等于7的路由节点分别双向连通;
路由节点序号等于4的路由节点还与路由节点序号等于5、6的路由节点分别双向连通;
路由节点序号等于5和6的路由节点还分别与路由节点序号等于7的路由节点分别双向连通。
在一些实施例中,所述网络拓扑还包括路由节点序号为8至11的四个路由节点;
所述网络拓扑中路由节点的连接关系还包括:
路由节点序号等于8的路由节点与路由节点序号等于0、9、10的路由节点分别双向连通;
路由节点序号等于9的路由节点还与路由节点序号等于1、11的路由节点分别双向连通;
路由节点序号等于10的路由节点还与路由节点序号等2、11的路由节点分别双向连通;
路由节点序号等于11的路由节点还与路由节点序号等于3的路由节点分别双向连通。
在一些实施例中,所述网络拓扑还包括路由节点序号为12至15的四个路由节点;
所述网络拓扑中路由节点的连接关系还包括:
路由节点序号等于12的路由节点与路由节点序号等于4、8、13、14的路由节点分别双向连通;
路由节点序号等于13的路由节点还与路由节点序号等于5、9、15的路由节点分别双向连通;
路由节点序号等于14的路由节点还与路由节点序号6、10、15的路由节点分别双向连通;
路由节点序号等于15的路由节点还与路由节点序号等于7的路由节点分别双向连通。
根据本发明的第二方面,提供了一种由请求处理方法,所述路由请求处理方法包括:
响应于存在未执行完的第一路由请求且接收到第二路由请求,则通过以上所述的路由路径规划方法为所述第二路由请求确定规划路径。
在一些实施例中,所述路由请求处理方法还包括:
响应于并发产生多个第三路由请求,则通过以上所述的路由路径规划方法分别为每个所述第三路由请求确定规划路径。
根据本发明的第三方面,提供了一种路由路径规划装置,所述装置包括:
第一获取模块,配置用于分别获取路由请求中的源终端节点和目的终端节点在网络拓扑中终端序号对应的二进制编码,以得到第一编码和第二编码,其中,所述网络拓扑包括至少一个路径环;
运算模块,配置用于对所述第一编码和所述第二编码除各自的最低位外的剩余位进行按位异或运算,以生成第三编码;
第二获取模块,配置用于获取源终端节点所在的路由节点,并作为规划路径的首个路由节点;
寻找模块,配置用于响应于所述第三编码中至少一位等于一,则基于所述首个路由节点和所述第三编码寻找符合第一预设规则或第二预设规则的规划路径,其中,所述第一预设规则为规划路径中路由节点数最少且规划路径上路由节点序号持续递增和/或先递减再递增,第二预设规则为路由节点序号持续递减和/或先递增再递减。
根据本发明的第四方面,还提供了一种电子设备,该电子设备包括:
至少一个处理器;以及
存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的路由路径规划方法或路由请求处理方法。
根据本发明的第五方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的路由路径规划方法或路由请求处理方法。
上述一种路由路径规划方法,通过路由请求中的源路由节点和目标路由节点确定第一编码和第二编码,再利用第一编码和第二编码进行运算产生第三编码,进而通过源终端节点所在的首个路由节点和第三编码寻找符合第一预设规则或第二预设规则的规划路径,实现了为带有环形结构的网络拓扑提供可限制路由路径的路由算法,能够避免死锁现象产生,同时还能够最大程度保留路径多样性,极大的提升网络的稳定性和通信效率。
此外,本发明还提供了一种路由请求处理方法、一种路由路径规划装置、一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明一个实施例提供的一种路由路径规划方法的流程图;
图2为本发明一个实施例提供的单向32个端口的butterfly网络拓扑示意图;
图3为本发明一个实施例提供的将图3拍平的butterfly网络拓扑结构示意图;
图4为图3所示网络拓扑的等效示意图;
图5是从图4中取出的路径环示意图;
图6为四个请求顺时针产生死锁的示意图;
图7为四个请求逆时针产生死锁的示意图;
图8为使用本发明路由路径规划方法为路由节点2到7确定的符合第一预设规则的规划路径示意图;
图9为使用本发明路由路径规划方法为路由节点3到6确定的符合第一预设规则的规划路径示意图;
图10为使用本发明路由路径规划方法为路由节点7到2确定的符合第一预设规则的规划路径示意图;
图11为使用本发明路由路径规划方法为路由节点6到3确定的符合第一预设规则的规划路径示意图;
图12为本发明另一个实施例提供的一种路由路径规划装置的结构示意图;
图13为本发明另一个实施例中电子设备的内部结构图;
图14为本发明另一个实施例中计算机可读存储介质结构图。
具体实施方式
为使本发明的目标、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
在一个实施例中,请参照图1所示,本发明提供了一种路由路径规划方法100,具体来说,所述方法包括以下步骤:
步骤101,分别获取路由请求中的源终端节点和目的终端节点在网络拓扑中终端序号对应的二进制编码,以得到第一编码和第二编码,其中,所述网络拓扑包括至少一个路径环;
在本实施例中,路由请求是指两个终端节点的通信请求,比如终端节点1需要向终端节点3发送数据时,此时会产请求以规划终端节点1到终端节点3所经过的路由节点,需要说明的是路由请求是具有方向性的,发送数据包的终端节点即为源终端节点,接收数据包的终端节点即为目的终端节点,同理终端节点3也可以向终端节点1发送数据包,此时会产生请求以规划终端节点3到终端节点1所经过的路由节点。
在本具体实施过程中,网络拓扑可以是任意现有的交换网络拓扑,例如butterfly网络拓扑、胖树网络拓扑等等,网络拓扑中各个路由节点、终端节点具有各自对应的序号。路径环是指至少由三个路由节点首位依次连接所形成换环形结构,需要说明的,以上所指中路径环的数量和每个路径环所包括的路由节点数量均用于举例,在具有实施过程中可以根据需求进行设置,不应理解为对本发明方案的限制。
步骤102,对所述第一编码和所述第二编码除各自的最低位外的剩余位进行按位异或运算,以生成第三编码;
在本实施例中,第一编码和第二编码的位数等于网络拓扑中最大终端节点序号的二进制位数,例如包含32个终端节点,最大终端节点序号等于31,而31需要5个二进制位表示各个终端节点序号,不妨假设源终端节点终端序号等于2,目的终端节点序号等于31,此外第一编码表示为“00010”,第二编码表示为“11111”。
在本实施例中,最低位指的二进制编码中最右侧的一位,在进行第三编码计算时第一编码和第二编码中最右侧的一位不参与运算,继续举例来说,此时第一编码参与运算的部分表示为“0001”,第二编码参与运算的部分表位的“1111”。按位进异或运算是指,第一编码和第二编码的对应位的数值进行异或规则如:如果对应位的数值相同则生成第三编码中对应位数值记为0,如果对应位的数值不相同则生成第三编码上对应位数值记作1,遵循此计算规则对“0001”和“1111”按位异或所生成的第三编码表示为“1110”。
步骤103,获取源终端节点所在的路由节点,并作为规划路径的首个路由节点;
在本实施例中,所有规划路径都从源终端节点所在路由节点开始,比如路由请求为终端节点2到终端节点31的请求,终端节点2连接在,路由节点1上,那么所有规划路径都应当从二进制编码为“0001”的路由节点开始。
步骤104,响应于所述第三编码中至少一位等于一,则基于所述首个路由节点和所述第三编码寻找符合第一预设规则或第二预设规则的规划路径,其中,所述第一预设规则为规划路径中路由节点数最少且规划路径上路由节点序号持续递增和/或先递减再递增,所述第二预设规则为规划路径中路由节点数最少且规划路径上路由节点序号持续递减和/或先递增再递减。
在本实施例中,规划路径是由带有顺序的若干路由节点构成,比如某一个包括4个路由节点的规划路径为依次经过路由节点1、路由节点3、路由节点7和路由节点15;递减是指在规划路径上节点序号按照由大到小规律变化,递增是指在规划路径上节点序号按照由小到大规律变化。
具体来说,持续递增是指一条规划路径上路由节点序号从第一个路由节点到最后一个路由节点,后一个路由节点序号均比前一个路由节点序号大;先递减再递增是指一条规划路径上路由节点序号呈变小趋势的路由节点在路由节点序号呈变大趋势的路由节点之前,即路由节点序号开始先减小,出现路由节点序号增大后就不能再出现在路由序号减小的情况。
具体来说,持续递减是指一条规划路径上路由节点序号从第一个路由节点到最后一个路由节点,后一个路由节点序号均比前一个路由节点序号小;先递增再递增是指一条规划路径上路由节点序号呈变大趋势的路由节点在路由节点序号呈变小趋势的路由节点之前,即路由节点序号开始先增大,开始减小后就不能再出现在路由序号增大的情况。
本实施例的一种路由路径规划方法,通过路由请求中的源路由节点和目标路由节点确定第一编码和第二编码,再利用第一编码和第二编码进行运算产生第三编码,进而通过源终端节点所在的首个路由节点和第三编码寻找符合第一预设规则或第二预设规则的规划路径,实现了为带有环形结构的网络拓扑提供可限制路由路径的路由算法,能够避免死锁现象产生,同时还能够最大程度保留路径多样性,极大的提升网络的稳定性和通信效率。
在一些实施例中,前述步骤104中,基于所述首个路由节点和所述第三编码寻找符合第一预设规则的规划路径,包括:
对所述第一编码中除最低位外的剩余位中等于一的位与所述第三编码进行按位同或运算,以生成第四编码;
响应于所述第四编码中存在等于一的位,则根据所述第四编码和所述首个路由节点确定每条规划路径中的负向路由节点;
其中,所述负向路由节点是指相对于前一个路由节点序号变小的路由节点,比如前一个路由节点7,如果在规划路径上路由节点7的下一个路由节点是路由节点5,则此时该路由节点5即为负向路由节点。
响应于负向路由节点确定完成或所述第四编码中不存在等于一的位,则对所述第二编码中除最低位外的剩余位中等于一的位与所述第三编码进行按位同或运算,以生成第五编码;
响应于所述第五编码中存在等于一的位,则根据所述第五编码、每条规划路径的最后一个负向路由节点确定每条规划路径中的正向路由节点。
其中,所述正向路由节点是指相对于前一个路由节点序号变大的路由节点,比如前一个路由节点7,如果在规划路径上路由节点7的下一个路由节点是路由节点9,则此时该路由节点9即为正向路由节点。
在一些实施例中,所述根据所述第四编码和所述首个路由节点确定每条规划路径中的负向路由节点的步骤,包括:
每次变更一位第四编码中等于一的位,直至变更后第四编码所有位均等于零,遍历所有变更顺序组合以得到若干组带有顺序的变换后第四编码;
对每组变换后第四编码,依据变换后第四编码的顺序,将首个路由节点的二进制编码中,与每个变换后第四编码变换位的对应位由一变为零,以依次得到一条规划路径中的负向路由节点。
在一些实施例中,所述根据所述第五编码、每条规划路径的最后一个负向路由节点确定每条规划路径中的正向路由节点的步骤,包括:
每次变更一位第五编码中等一的位,直至变更后第五编码所有位均等于零,遍历所有变更顺序组合以得到若干组带有顺序的变换后第五编码;
对每组变换后第五编码,依据变换后第五编码的顺序,将每条规划路径的最后一个负向路由节点的二进制编码中,与每个变换后第五编码变换位的对应位由零变为一,以依次得到一条规划路径中的正向路由节点。
本实施例的一种路由路径规划方法,通过将第一编码和第二编码分别与第三编码进行同或运算得到第四编码和第五编码,进而基于特定的规则对第四编码和第五编码进行变换,从而找到持续递增以及先递减再递增的若干条规划路径,算法简单、准确,路由节点序号在同一个规划路径上交叉增减,从而避免了不同规划路径的路由节点相互占用情况的发生,实现了能最大程度保留路径的多样性。
在一些实施例中,前述步骤104中,基于所述首个路由节点和所述第三编码寻找符合第二预设规则的规划路径的步骤,包括:
对所述第二编码中除最低位外的剩余位中等于一的位与所述第三编码进行按位同或运算,以生成第六编码;
响应于所述第六编码中存在等于一的位,则根据所述第六编码和所述首个路由节点确定每条规划路径中的正向路由节点;
其中,所述正向路由节点是指相对于前一个路由节点序号变大的路由节点,比如前一个路由节点7,如果在规划路径上路由节点7的下一个路由节点是路由节点9,则此时该路由节点9即为正向路由节点。
响应于正向路由节点确定完成或所述第六编码中不存在等于一的位,则对所述第一编码中除最低位外的剩余位中等于一的位与所述第三编码进行按位同或运算,以生成第七编码;
响应于所述第七编码中存在等于一的位,则根据所述第七编码、每条规划路径的最后一个正向路由节点确定每条规划路径中的负向路由节点。
其中,所述负向路由节点是指相对于前一个路由节点序号变小的路由节点,比如前一个路由节点7,如果在规划路径上路由节点7的下一个路由节点是路由节点5,则此时该路由节点5即为负向路由节点。
在一些实施例中,所述根据所述第六编码和所述首个路由节点确定每条规划路径中的正向路由节点的步骤,包括:
每次变更一位第六编码中等于一的位,直至变更后第六编码所有位均等于零,遍历所有变更顺序组合以得到若干组带有顺序的变换后第六编码;
对每组变换后第六编码,依据变换后第六编码的顺序,将首个路由节点的二进制编码中,与每个变换后第六编码变换位的对应位由零变为一,以依次得到一条规划路径中的正向路由节点。
在一些实施例中,所述根据所述第七编码、每条规划路径的最后一个正向路由节点确定每条规划路径中的负向路由节点的步骤,包括:
每次变更一位第七编码中等一的位,直至变更后第七编码所有位均等于零,遍历所有变更顺序组合以得到若干组带有顺序的变换后第七编码;
对每组变换后第七编码,依据变换后第七编码的顺序,将每条规划路径的最后一个负向路由节点的二进制编码中,与每个变换后第七编码变换位的对应位由一变为零,以依次得到一条规划路径中的负向路由节点。
本实施例的一种路由路径规划方法,通过将第一编码和第二编码分别与第三编码进行同或运算得到第六编码和第七编码,进而基于特定的规则对第六编码和第七编码进行变换,从而找到持续递减以及先递增再递减的若干条规划路径,算法简单、准确,路由节点序号在同一个规划路径上交叉增减,从而避免了不同规划路径的路由节点相互占用情况的发生,实现了最大程度保留路径的多样性。
在一些实施例中,前述步骤104,基于所述首个路由节点和所述第三编码寻找符合第一预设规则或第二预设规则的规划路径,包括:
每次变更一位第三编码中等于一的位直至变更后的第三编码中所有位均等于零,遍历所有变更顺序组合以得到若干组带有顺序的变换后第三编码;
根据所述首个路由节点和每组变换后第三编码,生成与每组变换后第三编码对应的一条规划路径;
计算每条规划路径相邻两个路由节点序号的差值;
响应于某条规划路径中负数差值在正数差值之后,则将所述某条规划路径移除,并将未被移除的规划路径作为符合第一预设规则的规划路径;
响应于某条规划路径中正数差值在负数差值之后,则将所述某条规划路径移除,并将未被移除的规划路径作为符合第二预设规则的规划路径。
本实施例的一种路由路径规划方法,先通过变化第三编码的方式找到所有经过最短的路径,然后基于最短路径上所有相邻路由节点序号的变化情况进行筛选,从而分别找到符合第一预设规则或符合第二预设规则的规划路径,此种方式计算量少且能够最大程度保留路径的多样性。
在一些实施例中,所述根据所述首个路由节点和每组变换后第三编码,生成与每组变换后第三编码对应的一条规划路径的步骤,包括:
对每组变换后第三编码执行以下操作:
依据变换后第三编码的顺序,将变换后第三编码与变换前的第三编码进行异或运算;
将异或运算结果中等于一的位在所述首个路由节点的二进制编码的对应位的零变为一,以得到与每个变换后第三编码对应路由节点;
将依次得到的路由节点按顺序放到首个路由节点之后,以生成一条规划路径。
在一些实施例中,所述路由路径规划方法还包括:
响应于寻找到的符合第一预设规则的规划路径为一条,则将寻找到的符合第一预设规则的规划路径作为目标规划路径;
响应于寻找到的符合第一预设规则的规划路径为多条,则从寻找到的符合第一预设规则的规划路径中任选一条作为目标规划路径。
本实施例的一种路由规划方法,针对所得到的符合第一预设规则或符合第二预设规则的规格路径均能够为路由请求指定一条目标规划路径,利用该指定的目标规划路径完成源终端节点到目的终端节点直接的数据传输,有助于提升数据传输效率。
在一些实施例中,所述路由路径规划方法还包括:
根据第一编码的最后一位确定源终端节点到所述目标规划路径中第一个路由节点的第一路由信息;以及
根据第二编码的最后一位确定所述目标规划路径中最后一个路由节点到目的终端节点到的第二路由信息。
本实施例的一种路由规划方法,利用第一编码的最后一位和第二编码的最后一位分别生成源终端节点到目标规划路径、目的终端节点到目标规划路径的路径信息,从而得到了完整准确的数据转发途径,有助于提升数据转发的准确性。
在一些实施例中,所述路由路径规划方法还包括:
响应于通过所述第一编码和所述第二编码确定的第三编码所有位均等于零,则确认所述源终端节点和所述目的终端节点在同一路由节点。
在一些实施例中,所述网络拓扑包括最少四个路由节点,其中,每个路由节点连接两个终端节点,连接在相同路由节点的两个终端节点序号分别等于所连接路由节点序号的二倍和所连接路由节点序号的二倍加一。
在一些实施例中,所述网络拓扑中的路径环均由四个路由节点构成。
在一些实施例中,所述网络拓扑包括路由节点序号为0至7的八个路由节点;
所述网络拓扑中路由节点的连接关系包括:
路由节点序号等于0的路由节点与路由节点序号等于1、2、4的路由节点分别双向连通;
路由节点序号等于1的路由节点与路由节点序号等于3、5的路由节点分别双向连通;
路由节点序号等于2的路由节点还与路由节点序号等于3、6的路由节点分别双向连通;
路由节点序号等于3的路由节点还与路由节点序号等于7的路由节点分别双向连通;
路由节点序号等于4的路由节点还与路由节点序号等于5、6的路由节点分别双向连通;
路由节点序号等于5和6的路由节点还分别与路由节点序号等于7的路由节点分别双向连通。
在一些实施例中,所述网络拓扑还包括路由节点序号为8至11的四个路由节点;
所述网络拓扑中路由节点的连接关系还包括:
路由节点序号等于8的路由节点与路由节点序号等于0、9、10的路由节点分别双向连通;
路由节点序号等于9的路由节点还与路由节点序号等于1、11的路由节点分别双向连通;
路由节点序号等于10的路由节点还与路由节点序号等2、11的路由节点分别双向连通;
路由节点序号等于11的路由节点还与路由节点序号等于3的路由节点分别双向连通。
在一些实施例中,所述网络拓扑还包括路由节点序号为12至15的四个路由节点;
所述网络拓扑中路由节点的连接关系还包括:
路由节点序号等于12的路由节点与路由节点序号等于4、8、13、14的路由节点分别双向连通;
路由节点序号等于13的路由节点还与路由节点序号等于5、9、15的路由节点分别双向连通;
路由节点序号等于14的路由节点还与路由节点序号6、10、15的路由节点分别双向连通;
路由节点序号等于15的路由节点还与路由节点序号等于7的路由节点分别双向连通。
本实施例的一种路由路径规划方法,适合带有路径环的网络拓扑,尤其适合带有多个复杂且交叉路径环的网络拓扑,能够解决多个路径环因相互交叉引起多死锁的问题,具有较高的灵活性和通用性。
为便于理解本发明的方案,下面以应用于butterfly网络拓扑结构为例,详细说明本发明的路由路径规划方法,其实现原理是基于拍平butterfly网络的拓扑结构,提出了避免死锁的路由方式,具体实施过程如下:
从图2是改进的butterfly拓扑结构,每层的路由节点数量都是一样的,路径唯一性及负载不均衡是限制其发展的主要原因。路径唯一性导致其容易阻塞。
图3是拍平的butterfly网络结构200,图3终端节点记作201,路由节点记作202,将几层相同位置的路由节点进行了合并,有效降低了路由节点的数量。并且解决了butterfly路径唯一性的问题。将图3所示的网路结构图进行一定的拓扑规划,可形成如图4所示的网络拓扑图。每个路由节点202都链接两个终端节点201,为方便展示只画出了部分终端节点201。路由节点大大减少,其链路数量是蝴蝶网络的两倍,网络直径和蝴蝶网络一样。从图4可以看出拍平的butterfly虽然解决了butterfly路径唯一性的问题,但是因为其网络拓扑结构含有“环”,容易产生死锁。为了避免死锁,路由算法会对其路由路径进行限制,导致其路径唯一性的问题再次出现。
传统的路由算法:
对于图3一共有32个终端节点,我们用5bit来表示每个终端节点,如:00000表示终端节点0,00001表示终端节点1,……,11110表示终端节点30,11111表示终端节点31;图4一共16个路由节点,用5bit的前4个bit表示路由节点,如0000_表示路由节点0,0001_表示路由节点1,……, 1110_表示终端节点14,1111_表示终端节点15。
假设源终端节点为S,目的终端节点为D,下面对路由算法进行说明:
第一步:源终端节点S和目的终端节点D按位进行异或,结果记为I;
第二步:查看I的前4个bit,如果前4个bit都是0,则证明源终端节点S和目的终端节点D在同一个路由节点,直接在路由节点内部进行路由即可。举例说明,假设源终端节点S为00110(6)、目的终端节点D为00111(7),按位异或之后I为00001,前4个bit都是0,这两个终端节点在一个路由节点上(即路由节点3上),那么直接在由节点3内部进行路由即可。
如果I前4个bit不都是0,前4个bit包含k个就代表从源终端节点S到目的终端节点D需要经过k+1个节点。举例说明,假设源终端节点S为00010(2)、目的终端节点D为11111(31),按位异或之后I为11101,前4个bit含有3个1,那么从源终端节点S:00010(0)到目的终端节点D:11111(31)需要经过4个路由节点。
第三步:路由节点的确定方法。仍然以第二步的例子进行说明,源终端节点S为00010(2)在第1个路由节点0001_,目的终端节点D为11111(31)在第15个路由节点1111_。I中前3个bit为1,按照随机的方式,依次改变第1个路由节点0001_前3个bit的信息(前3个bit本来是0则变为1,本来是1则变为0),路由节点每个bit信息的改变,I中对应bit中的1也变为0,直到I中所有bit都是0的时候路由节点之间的路由结束,根据D的最后一个bit将路由信息路由到终端节点。按照随机的方式,路由方式可能有如下结果:
0001_(I:1110_)->0011_(I:1100_)->0111_(I:1000_)->1111_(I:0000_)
0001_(I:1110_)->0011_(I:1100_)->1011_(I:0100_)->1111_(I:0000_)
0001_(I:1110_)->0101_(I:1010_)->0111_(I:1000_)->1111_(I:0000_)
0001_(I:1110_)->0101_(I:1010_)->1101_(I:1000_)->1111_(I:0000_)
0001_(I:1110_)->1001_(I:0110_)->1011_(I:0100_)->1111_(I:0000_)
0001_(I:1110_)->1001_(I:0110_)->1101_(I:0010_)->1111_(I:0000_)
第三步中这种随机路由的方式实现简单,但是拍平butterfly存在环拓扑的情况,在某些极端场景下可能出现死锁现象,所以需要考虑在某种场景下解决死锁问题。
请参照图5所示,图5是从图4取出的一个环,下面将结合该环对死锁的产生进行阐述:
对于图5,是一个环形拓扑,很容易产生死锁。例如,假设同时有四个路由请求:请求1:路由节点2到路由节点7;请求2:路由节点3到路由节点6;请求3:路由节点7到路由节点2;请求4:路由节点6到路由节点3,这四个路由请求都需要经过一个路由节点且都选择顺时针路由,且都已经占用中间路由节点时,就产生了死锁,如图6。相反如果都选择逆时针路由,且都已经占用中间路由节点时,也会产生死锁,如图7。
死锁一旦产生,就会导致互联网络全面瘫痪,因此必须寻找一种避免死锁产生的路由算法。因此本发明对上述传统的路由算法进行改进,提出了一种适用于拍平butterfly的可以避免死锁的路由算法。
根据本发明的另一方面,本发明还提供了一种路由请求处理方法,所述路由请求处理方法包括:
响应于存在未执行完的第一路由请求且接收到第二路由请求,则通过以上实施例所述的路由路径规划方法为所述第二路由请求确定规划路径。
在本实施例中,第一路由请求可以采用任意现路由算法规划路径,例如随机算法,第一路由请求为执行完是指,第一路由请求使用所规划的路径在进行数据传输,所规划路径中的存在路由节点被占用的情形。
本实施例的一种路由请求处理方法,结合路由请求的执行状态,为可能引起节点冲突的路由请求采用本发明方案的路径规划方式生成路由路径,一方面可以在请求量不大或者节点不被占用的情况不对路由路径进行限制,另一方面能够避免死锁现象出现,提升通信稳定性。
在一些实施例中,所述路由请求处理方法还包括:
响应于并发产生多个第三路由请求,则通过以上实施例所述的路由路径规划方法分别为每个所述第三路由请求确定规划路径。
本实施例的一种路由请求处理方法,针对并发的路由请求,直接采用前述路由路径规划方法为每个并发路由请求生成唯一路径,能够及时应对并发的路由请求,避免死锁现象出现,进一步提升通信稳定性。
改进的路由算法如下:
死锁产生的原因是因为拓扑结构中存在“环”,且没有对路由路径进行限制,因此我们对路由路径进行限制,具体约定如下:
约定1:如果标号小的节点路由到其相邻的标号大的节点,则认为其为正路由;例如,路由节点6到路由节点7进行路由,则认为是正路由;
约定2:如果标号大的节点路由到其相邻的标号小的节点,则认为其为负路由;例如,路由节点6到路由节点2进行路由,则认为是负路由;
约定3:在一条需要经过多个路由节点的路由路径中,需要完成所有的负路由,再开始正路由,一旦开始正路由,需要一直保持正路由;
例1,路由节点2到路由节点7,本来有如下两条路径:
第一条规划路径:2->3->7(2到3是正路由,3到7是正路由,满足约定);
第二条规划路径:2->6->7(2到6是正路由,6到7是正路由,满足约定)。
可以看出两条路径都满足约定,由此得到路由节点2到路由节点7的路径如图8所示。
例2,路由节点3到路由节点6,本来有如下两条路径:
第一条规划路径:3->2->6(3到2是负路由,2到6是正路由,满足约定);
第二条规划路径:.3->7->6(3到7是正路由,7到6是负路由,不满足约定)。
可以看出第二条路径不满足约定,因此只能走第一条路径,如图9所示。
例3,路由节点7到路由节点2,本来有如下两条路径:
第一条规划路径:7->6->2(7到6是负路由,6到2是负路由,满足约定);
第二条规划路径:7->3->2(7到3是负路由,3到2是负路由,满足约定)。
可以看出两条路径都满足约定,由此得到路由节点7到路由节点2的路径如图10所示。
例4,路由节点6到路由节点3,本来有如下两条路径:
第一条规划路径:6->2->3(6到2是负路由,2到3是正路由,满足约定);
第二条规划路径:.6->7->3(6到7是正路由,7到3是负路由,不满足约定)。
因为第二条不满足先负路由再正路由的约定,因此只能走第一条路径,如图11所示。
从例1到例4可以看出,不管是顺时针还是逆时针,都有一条路径被限制,尽管拓扑结构存在环,但是路由路径不会产生环,因此不会产生死锁。且四个路由请求原来有8条路由路径,使用我们提出的避免死锁的路由算法则有6条路由路径,最大程度的保留了路径多样性。
下面以源终端节点到目的终端节点的路径规划过程为例进行详细说明:
假设源终端节点为S,目的终端节点为D,下面对路由算法进行说明:
第一步:源终端节点S和目的终端节点D按位进行异或,结果记为I;
第二步:查看I的前4个bit:
如果前4个bit都是0,则证明源终端节点S和目的终端节点D在同一个路由节点,直接在路由节点内部进行路由即可。路由结束;
如果I前4个bit不都是0,前4个bit包含k个就代表从源终端节点S到目的终端节点D需要经过k+1个节点。进入第三步;
第三步:路由节点的确定方法。按照约定,先完成负路由,再完成正路由。
(1)负路由的确定:源终端节点S的前4个bit中所有“1”的bit位,与I的前4个bit对应的位置,进行按位“同或”操作,结果记为I-。如果I-中不含有“1”,将S记为M,进入正路由的确定;如果I-中含有“1”,则按照I-中“1”的位置以随机的方式,依次将S对应的位置的“1”变为“0”,路由节点每个bit信息的改变,I-中对应bit中的1也变为0,直到I-中所有bit都是0的时候负路由结束,经过负路由之后的路由节点记为M,然后进入正路由的确定;
(2)正路由的确定:目的终端节点为D的前4个bit中所有“1”的bit位,与I的前4个bit对应的位置,进行“同或”操作,结果记为I+。如果I+中不含有“1”,进入第四步;如果I+中含有“1”,则按照I+中“1”的位置以随机的方式,将M对应的位置的“0”变为“1”,路由节点每个bit信息的改变,I+中对应bit中的1也变为0,直到I+中所有bit都是0的时候正路由结束,然后进入第四步;
第四步:根据D的最后一个bit将路由信息路由到终端节点。
举例说明,源终端节点S为11011(27)在第13个路由节点1101_,目的终端节点D为00111(7)在第3个路由节点0011_。
第一步:源终端节点S和目的终端节点D的前四个bit按位进行异或,得到I为1110_。
第二步:查看I的前4个bit,不全为0,进入第三步;
第三步:路由节点的确定方法。按照约定,先完成负路由,再完成正路由。
(1)负路由的确定:源终端节点S的前4个bit中所有“1”的bit位11_1_,与I的前4个bit对应的位置,按位进行“同或”操作,结果记为I-:
可见I-中含有“1”,则按照I-中“1”的位置以随机的方式,将S前四个bit对应的位置的“1”变为“0”:
1101_(I-:11_0_)->0101_(I-:01_0_)->0001_(I-:00_0_)
1101_(I-:11_0_)->1001_(I-:10_0_)->0001_(I-:00_0_)
负路由阶段有两条路由路径,经过负路由之后的路由节点0001_记为M,然后进入正路由的确定;
(2)正路由的确定:目的终端节点为D的前4个bit中所有“1”的bit位__11_,与I的前4个bit对应的位置,按位进行“同或”操作,结果记为I+:
可见I+中含有“1”,则按照I+中“1”的位置以随机的方式,将M前四个bit对应的位置的“0”变为“1”:
0001_(I+:__10_)->0011_(I+:__00_)
此时路由结束,到达目的路由节点0011_,进入第四步;
第四步:根据D=00111的最后一个bit将路由信息路由到终端节点。
本实施例的一种路由路径规划方法,基于拍平butterfly网络的拓扑结构,提出了避免死锁的路由算法,该路由算法对路由路径进行了限制,路由算法简单,最大程度的保持了拍平butterfly的路径多样性,避免死锁现象产生,提升网络的稳定性和通信效率。
在一些实施例中,请参照图12所示,本发明还提供了一种路由路径规划装置300,所述装置包括:
第一获取模块301,配置用于分别获取路由请求中的源终端节点和目的终端节点在网络拓扑中终端序号对应的二进制编码,以得到第一编码和第二编码,其中,所述网络拓扑包括至少一个路径环;
运算模块302,配置用于对所述第一编码和所述第二编码除各自的最低位外的剩余位进行按位异或运算,以生成第三编码;
第二获取模块303,配置用于获取源终端节点所在的路由节点,并作为规划路径的首个路由节点;
寻找模块304,配置用于响应于所述第三编码中至少一位等于一,则基于所述首个路由节点和所述第三编码寻找符合第一预设规则或第二预设规则的规划路径,其中,所述第一预设规则为规划路径中路由节点数最少且规划路径上路由节点序号持续递增和/或先递减再递增,所述第二预设规则为规划路径中路由节点数最少且规划路径上路由节点序号持续递减和/或先递增再递减。
上述一种路由路径规划装置,通过路由请求中的源路由节点和目标路由节点确定第一编码和第二编码,再利用第一编码和第二编码进行运算产生第三编码,进而通过源终端节点所在的首个路由节点和第三编码寻找符合第一预设规则或第二预设规则的规划路径,实现了为带有环形结构的网络拓扑提供可限制路由路径的路由算法,能够避免死锁现象产生,同时还能够最大程度保留路径多样性,极大的提升网络的稳定性和通信效率。
需要说明的是,关于路由路径规划装置的具体限定可以参见上文中对路由路径规划方法的限定,在此不再赘述。上述路由路径规划装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备中的处理器中,也可以以软件形式存储于电子设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
根据本发明的另一方面,提供了一种电子设备,该电子设备可以是服务器,其内部结构图请参照图13所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的数据库用于存储数据。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现以上所述的路由路径规划方法或路由请求处理方法,具体来说,所述路由路径规划方法包括以下步骤:
分别获取路由请求中的源终端节点和目的终端节点在网络拓扑中终端序号对应的二进制编码,以得到第一编码和第二编码,其中,所述网络拓扑包括至少一个路径环;
对所述第一编码和所述第二编码除各自的最低位外的剩余位进行按位异或运算,以生成第三编码;
获取源终端节点所在的路由节点,并作为规划路径的首个路由节点;
响应于所述第三编码中至少一位等于一,则基于所述首个路由节点和所述第三编码寻找符合第一预设规则或第二预设规则的规划路径,其中,所述第一预设规则为规划路径中路由节点数最少且规划路径上路由节点序号持续递增和/或先递减再递增,所述第二预设规则为规划路径中路由节点数最少且规划路径上路由节点序号持续递减和/或先递增再递减;
所述路由请求处理方法包括:
响应于存在未执行完的第一路由请求且接收到第二路由请求,则通过以上所述的路由路径规划方法为所述第二路由请求确定规划路径。
根据本发明的又一方面,提供了一种计算机可读存储介质,请参照图14所示,其上存储有计算机程序,计算机程序被处理器执行时实现以上所述的路由路径规划方法或路由请求处理方法,具体来说,所述路由路径规划方法包括以下步骤:
分别获取路由请求中的源终端节点和目的终端节点在网络拓扑中终端序号对应的二进制编码,以得到第一编码和第二编码,其中,所述网络拓扑包括至少一个路径环;
对所述第一编码和所述第二编码除各自的最低位外的剩余位进行按位异或运算,以生成第三编码;
获取源终端节点所在的路由节点,并作为规划路径的首个路由节点;
响应于所述第三编码中至少一位等于一,则基于所述首个路由节点和所述第三编码寻找符合第一预设规则或第二预设规则的规划路径,其中,所述第一预设规则为规划路径中路由节点数最少且规划路径上路由节点序号持续递增和/或先递减再递增,所述第二预设规则为规划路径中路由节点数最少且规划路径上路由节点序号持续递减和/或先递增再递减;
所述路由请求处理方法包括:
响应于存在未执行完的第一路由请求且接收到第二路由请求,则通过以上所述的路由路径规划方法为所述第二路由请求确定规划路径。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (20)
1.一种路由路径规划方法,其特征在于,所述路由路径规划方法包括:
分别获取路由请求中的源终端节点和目的终端节点在网络拓扑中终端序号对应的二进制编码,以得到第一编码和第二编码,其中,所述网络拓扑包括至少一个路径环;
对所述第一编码和所述第二编码除各自的最低位外的剩余位进行按位异或运算,以生成第三编码;
获取源终端节点所在的路由节点,并作为规划路径的首个路由节点;
响应于所述第三编码中至少一位等于一,则基于所述首个路由节点和所述第三编码寻找符合第一预设规则或第二预设规则的规划路径,其中,所述第一预设规则为规划路径中路由节点数最少且规划路径上路由节点序号持续递增和/或先递减再递增,所述第二预设规则为规划路径中路由节点数最少且规划路径上路由节点序号持续递减和/或先递增再递减;
所述基于所述首个路由节点和所述第三编码寻找符合第一预设规则的规划路径的步骤,包括:
对所述第一编码中除最低位外的剩余位中等于一的位与所述第三编码进行按位同或运算,以生成第四编码;
响应于所述第四编码中存在等于一的位,则根据所述第四编码和所述首个路由节点确定每条规划路径中的负向路由节点;
响应于负向路由节点确定完成或所述第四编码中不存在等于一的位,则对所述第二编码中除最低位外的剩余位中等于一的位与所述第三编码进行按位同或运算,以生成第五编码;
响应于所述第五编码中存在等于一的位,则根据所述第五编码、每条规划路径的最后一个负向路由节点确定每条规划路径中的正向路由节点;以及
所述基于所述首个路由节点和所述第三编码寻找符合第二预设规则的规划路径的步骤,包括:
对所述第二编码中除最低位外的剩余位中等于一的位与所述第三编码进行按位同或运算,以生成第六编码;
响应于所述第六编码中存在等于一的位,则根据所述第六编码和所述首个路由节点确定每条规划路径中的正向路由节点;
响应于正向路由节点确定完成或所述第六编码中不存在等于一的位,则对所述第一编码中除最低位外的剩余位中等于一的位与所述第三编码进行按位同或运算,以生成第七编码;
响应于所述第七编码中存在等于一的位,则根据所述第七编码、每条规划路径的最后一个正向路由节点确定每条规划路径中的负向路由节点。
2.根据权利要求1所述的路由路径规划方法,其特征在于,所述根据所述第四编码和所述首个路由节点确定每条规划路径中的负向路由节点的步骤,包括:
每次变更一位第四编码中等于一的位,直至变更后第四编码所有位均等于零,遍历所有变更顺序组合以得到若干组带有顺序的变换后第四编码;
对每组变换后第四编码,依据变换后第四编码的顺序,将首个路由节点的二进制编码中,与每个变换后第四编码变换位的对应位由一变为零,以依次得到一条规划路径中的负向路由节点。
3.根据权利要求2所述的路由路径规划方法,其特征在于,所述根据所述第五编码、每条规划路径的最后一个负向路由节点确定每条规划路径中的正向路由节点的步骤,包括:
每次变更一位第五编码中等于一的位,直至变更后第五编码所有位均等于零,遍历所有变更顺序组合以得到若干组带有顺序的变换后第五编码;
对每组变换后第五编码,依据变换后第五编码的顺序,将每条规划路径的最后一个负向路由节点的二进制编码中,与每个变换后第五编码变换位的对应位由零变为一,以依次得到一条规划路径中的正向路由节点。
4.根据权利要求1所述的路由路径规划方法,其特征在于,所述根据所述第六编码和所述首个路由节点确定每条规划路径中的正向路由节点的步骤,包括:
每次变更一位第六编码中等于一的位,直至变更后第六编码所有位均等于零,遍历所有变更顺序组合以得到若干组带有顺序的变换后第六编码;
对每组变换后第六编码,依据变换后第六编码的顺序,将首个路由节点的二进制编码中,与每个变换后第六编码变换位的对应位由零变为一,以依次得到一条规划路径中的正向路由节点。
5.根据权利要求4所述的路由路径规划方法,其特征在于,所述根据所述第七编码、每条规划路径的最后一个正向路由节点确定每条规划路径中的负向路由节点的步骤,包括:
每次变更一位第七编码中等于一的位,直至变更后第七编码所有位均等于零,遍历所有变更顺序组合以得到若干组带有顺序的变换后第七编码;
对每组变换后第七编码,依据变换后第七编码的顺序,将每条规划路径的最后一个负向路由节点的二进制编码中,与每个变换后第七编码变换位的对应位由一变为零,以依次得到一条规划路径中的负向路由节点。
6.根据权利要求1所述的路由路径规划方法,其特征在于,所述基于所述首个路由节点和所述第三编码寻找符合第一预设规则或第二预设规则的规划路径的步骤,包括:
每次变更一位第三编码中等于一的位,直至变更后的第三编码中所有位均等于零,遍历所有变更顺序组合以得到若干组带有顺序的变换后第三编码;
根据所述首个路由节点和每组变换后第三编码,生成与每组变换后第三编码对应的一条规划路径;
计算每条规划路径相邻两个路由节点序号的差值;
响应于某条规划路径中负数差值在正数差值之后,则将所述某条规划路径移除,并将未被移除的规划路径作为符合第一预设规则的规划路径;
响应于某条规划路径中正数差值在负数差值之后,则将所述某条规划路径移除,并将未被移除的规划路径作为符合第二预设规则的规划路径。
7.根据权利要求6所述的路由路径规划方法,其特征在于,所述根据所述首个路由节点和每组变换后第三编码,生成与每组变换后第三编码对应的一条规划路径的步骤,包括对每组变换后第三编码执行以下操作:
依据变换后第三编码的顺序,将变换后第三编码与变换前的第三编码进行异或运算;
将异或运算结果中等于一的位在所述首个路由节点的二进制编码的对应位的零变为一,以得到与每个变换后第三编码对应路由节点;
将依次得到的路由节点按顺序放到首个路由节点之后,以生成一条规划路径。
8.根据权利要求1所述的路由路径规划方法,其特征在于,所述路由路径规划方法还包括:
响应于寻找到的符合第一预设规则或第二预设规则的规划路径为一条,则将寻找到的符合第一预设规则或第二预设规则的规划路径作为目标规划路径;
响应于寻找到的符合第一预设规则或第二预设规则的规划路径为多条,则从寻找到的符合第一预设规则或第二预设规则的规划路径中任选一条作为目标规划路径。
9. 根据权利要求8所述的路由路径规划方法,其特征在于,所述路由路径规划方法还包括:
根据第一编码的最后一位确定源终端节点到所述目标规划路径中第一个路由节点的第一路由信息;以及
根据第二编码的最后一位确定所述目标规划路径中最后一个路由节点到目的终端节点到的第二路由信息。
10.根据权利要求1所述的路由路径规划方法,其特征在于,所述路由路径规划方法还包括:
响应于通过所述第一编码和所述第二编码确定的第三编码所有位均等于零,则确认所述源终端节点和所述目的终端节点在同一路由节点。
11.根据权利要求1所述的路由路径规划方法,其特征在于,所述网络拓扑包括最少四个路由节点,其中,每个路由节点连接两个终端节点,连接在相同路由节点的两个终端节点序号分别等于所连接路由节点序号的二倍和所连接路由节点序号的二倍加一。
12.根据权利要求11所述的路由路径规划方法,其特征在于,所述网络拓扑中的路径环均由四个路由节点构成。
13.根据权利要求12所述的路由路径规划方法,其特征在于,所述网络拓扑包括路由节点序号为0至7的八个路由节点;
所述网络拓扑中路由节点的连接关系包括:
路由节点序号等于0的路由节点与路由节点序号等于1、2、4的路由节点分别双向连通;
路由节点序号等于1的路由节点与路由节点序号等于3、5的路由节点分别双向连通;
路由节点序号等于2的路由节点还与路由节点序号等于3、6的路由节点分别双向连通;
路由节点序号等于3的路由节点还与路由节点序号等于7的路由节点分别双向连通;
路由节点序号等于4的路由节点还与路由节点序号等于5、6的路由节点分别双向连通;
路由节点序号等于5和6的路由节点还分别与路由节点序号等于7的路由节点分别双向连通。
14.根据权利要求13所述的路由路径规划方法,其特征在于,所述网络拓扑还包括路由节点序号为8至11的四个路由节点;
所述网络拓扑中路由节点的连接关系还包括:
路由节点序号等于8的路由节点与路由节点序号等于0、9、10的路由节点分别双向连通;
路由节点序号等于9的路由节点还与路由节点序号等于1、11的路由节点分别双向连通;
路由节点序号等于10的路由节点还与路由节点序号等于2、11的路由节点分别双向连通;
路由节点序号等于11的路由节点还与路由节点序号等于3的路由节点分别双向连通。
15.根据权利要求14所述的路由路径规划方法,其特征在于,所述网络拓扑还包括路由节点序号为12至15的四个路由节点;
所述网络拓扑中路由节点的连接关系还包括:
路由节点序号等于12的路由节点与路由节点序号等于4、8、13、14的路由节点分别双向连通;
路由节点序号等于13的路由节点还与路由节点序号等于5、9、15的路由节点分别双向连通;
路由节点序号等于14的路由节点还与路由节点序号等于6、10、15的路由节点分别双向连通;
路由节点序号等于15的路由节点还与路由节点序号等于7的路由节点分别双向连通。
16.一种路由请求处理方法,其特征在于,所述路由请求处理方法包括:
响应于存在未执行完的第一路由请求且接收到第二路由请求,则通过权利要求1-15任意一项所述的路由路径规划方法为所述第二路由请求确定规划路径。
17.根据权利要求16所述的路由请求处理方法,其特征在于,所述路由请求处理方法还包括:
响应于并发产生多个第三路由请求,则通过权利要求1-15任意一项所述的路由路径规划方法分别为每个所述第三路由请求确定规划路径。
18.一种路由路径规划装置,其特征在于,所述装置包括:
第一获取模块,配置用于分别获取路由请求中的源终端节点和目的终端节点在网络拓扑中终端序号对应的二进制编码,以得到第一编码和第二编码,其中,所述网络拓扑包括至少一个路径环;
运算模块,配置用于对所述第一编码和所述第二编码除各自的最低位外的剩余位进行按位异或运算,以生成第三编码;
第二获取模块,配置用于获取源终端节点所在的路由节点,并作为规划路径的首个路由节点;
寻找模块,配置用于响应于所述第三编码中至少一位等于一,则基于所述首个路由节点和所述第三编码寻找符合第一预设规则或第二预设规则的规划路径,其中,所述第一预设规则为规划路径中路由节点数最少,且规划路径上路由节点序号持续递增和/或先递减再递增,所述第二预设规则为规划路径中路由节点数最少且规划路径上路由节点序号持续递减和/或先递增再递减;
所述基于所述首个路由节点和所述第三编码寻找符合第一预设规则的规划路径的步骤,包括:
对所述第一编码中除最低位外的剩余位中等于一的位与所述第三编码进行按位同或运算,以生成第四编码;
响应于所述第四编码中存在等于一的位,则根据所述第四编码和所述首个路由节点确定每条规划路径中的负向路由节点;
响应于负向路由节点确定完成或所述第四编码中不存在等于一的位,则对所述第二编码中除最低位外的剩余位中等于一的位与所述第三编码进行按位同或运算,以生成第五编码;
响应于所述第五编码中存在等于一的位,则根据所述第五编码、每条规划路径的最后一个负向路由节点确定每条规划路径中的正向路由节点;以及
所述基于所述首个路由节点和所述第三编码寻找符合第二预设规则的规划路径的步骤,包括:
对所述第二编码中除最低位外的剩余位中等于一的位与所述第三编码进行按位同或运算,以生成第六编码;
响应于所述第六编码中存在等于一的位,则根据所述第六编码和所述首个路由节点确定每条规划路径中的正向路由节点;
响应于正向路由节点确定完成或所述第六编码中不存在等于一的位,则对所述第一编码中除最低位外的剩余位中等于一的位与所述第三编码进行按位同或运算,以生成第七编码;
响应于所述第七编码中存在等于一的位,则根据所述第七编码、每条规划路径的最后一个正向路由节点确定每条规划路径中的负向路由节点。
19. 一种电子设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器中运行的计算机程序,所述处理器执行所述程序时执行权利要求1-15任意一项所述的路由路径规划方法或权利要求16至17任意一项所述的路由请求处理方法。
20.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行权利要求1-15任意一项所述的路由路径规划方法或权利要求16至17任意一项所述的路由请求处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311390748.2A CN117135108B (zh) | 2023-10-25 | 2023-10-25 | 路由路径规划方法、路由请求处理方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311390748.2A CN117135108B (zh) | 2023-10-25 | 2023-10-25 | 路由路径规划方法、路由请求处理方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117135108A CN117135108A (zh) | 2023-11-28 |
CN117135108B true CN117135108B (zh) | 2024-02-13 |
Family
ID=88858519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311390748.2A Active CN117135108B (zh) | 2023-10-25 | 2023-10-25 | 路由路径规划方法、路由请求处理方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117135108B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117354230B (zh) * | 2023-11-30 | 2024-02-27 | 苏州元脑智能科技有限公司 | 双向拓扑网络的路由路径确定方法、装置、设备及介质 |
CN117395746B (zh) * | 2023-12-12 | 2024-03-29 | 苏州元脑智能科技有限公司 | 双路径无线网格网络的路由方法、装置、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414952A (zh) * | 2008-11-28 | 2009-04-22 | 西安邮电学院 | 一种基于超立方体的可扩展并行计算互连网络拓扑结构 |
CN107515611A (zh) * | 2017-07-28 | 2017-12-26 | 北京控制工程研究所 | 一种叠加型混合正弦机动路径规划方法 |
CN111224680A (zh) * | 2019-11-29 | 2020-06-02 | 北京航空航天大学 | 一种低延时高可靠的极化码快速译码方法和译码器 |
CN111475457A (zh) * | 2020-04-08 | 2020-07-31 | 苏州浪潮智能科技有限公司 | 一种片上网络的数据传输路径确定方法、装置及存储介质 |
CN116232985A (zh) * | 2022-12-23 | 2023-06-06 | 中国联合网络通信集团有限公司 | 一种路由规划方法、装置及存储介质 |
-
2023
- 2023-10-25 CN CN202311390748.2A patent/CN117135108B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414952A (zh) * | 2008-11-28 | 2009-04-22 | 西安邮电学院 | 一种基于超立方体的可扩展并行计算互连网络拓扑结构 |
CN107515611A (zh) * | 2017-07-28 | 2017-12-26 | 北京控制工程研究所 | 一种叠加型混合正弦机动路径规划方法 |
CN111224680A (zh) * | 2019-11-29 | 2020-06-02 | 北京航空航天大学 | 一种低延时高可靠的极化码快速译码方法和译码器 |
CN111475457A (zh) * | 2020-04-08 | 2020-07-31 | 苏州浪潮智能科技有限公司 | 一种片上网络的数据传输路径确定方法、装置及存储介质 |
CN116232985A (zh) * | 2022-12-23 | 2023-06-06 | 中国联合网络通信集团有限公司 | 一种路由规划方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117135108A (zh) | 2023-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117135108B (zh) | 路由路径规划方法、路由请求处理方法、设备及介质 | |
US7280481B2 (en) | Shortest path search method “Midway” | |
Dessmark et al. | Deterministic rendezvous in graphs | |
Itai et al. | The multi-tree approach to reliability in distributed networks | |
CN117135106B (zh) | 路由路径规划方法、路由请求处理方法、设备及介质 | |
US20210203557A1 (en) | System and method for generating and using physical roadmaps in network synthesis | |
WO2022012576A1 (zh) | 路径规划方法、装置、路径规划设备及存储介质 | |
US20030149908A1 (en) | System and method for fault tolerance in multi-node system | |
Dessmark et al. | Deterministic rendezvous in graphs | |
CN117241337B (zh) | 双路径无线网格网络的路由方法、装置、设备和存储介质 | |
Feldmann et al. | Fast hybrid network algorithms for shortest paths in sparse graphs | |
CN108429679B (zh) | 扩展型互连网络的拓扑结构及其路由方法 | |
EP1410583A1 (en) | Method for routing in telecommunications networks | |
CN101222426A (zh) | 用于网络数据传输的方法以及系统 | |
CN117176638A (zh) | 一种路由路径确定方法及相关组件 | |
KR101942194B1 (ko) | 토폴로지 및 라우팅 테이블을 위한 네트워크 토폴로지 시스템 및 생성 방법 | |
Kowalski et al. | How to meet in anonymous network | |
US9166888B1 (en) | Configuration data | |
CN114298431A (zh) | 一种网络路径选择方法、装置、设备及存储介质 | |
CN113572624B (zh) | 一种基于dran的传输接入层规划方法及装置 | |
CN114144775A (zh) | 总账可验证修剪系统 | |
CN117811993A (zh) | 三维超立方结构网络及其路由方法、装置、设备和介质 | |
CN117176644B (zh) | 一种多通道路由匹配方法、装置、设备及存储介质 | |
Tseng et al. | Building a multicasting tree in a high-speed network | |
CN117354230B (zh) | 双向拓扑网络的路由路径确定方法、装置、设备及介质 |
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 |