CN117135059A - 一种网络拓扑结构、构造方法、路由算法、设备及介质 - Google Patents
一种网络拓扑结构、构造方法、路由算法、设备及介质 Download PDFInfo
- Publication number
- CN117135059A CN117135059A CN202311390961.3A CN202311390961A CN117135059A CN 117135059 A CN117135059 A CN 117135059A CN 202311390961 A CN202311390961 A CN 202311390961A CN 117135059 A CN117135059 A CN 117135059A
- Authority
- CN
- China
- Prior art keywords
- routing
- node
- nodes
- path
- ordinals
- 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
- 238000004422 calculation algorithm Methods 0.000 title abstract description 14
- 238000010276 construction Methods 0.000 title abstract description 4
- 238000000034 method Methods 0.000 claims abstract description 39
- 230000005540 biological transmission Effects 0.000 claims abstract description 29
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 230000000903 blocking effect Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于计算机领域,具体涉及一种网络拓扑结构、构造方法、路由方法、设备及介质。其中网络拓扑结构包括:若干终端节点和多个路由节点,多个路由节点的数量与终端节点的个数成比例,每个路由节点与基于其自身的编号序数按照按位取反的方式得到的多个编号序数所对应的其他路由节点连接;控制单元,控制单元配置用于基于来自路由节点和/或终端节点的路由请求确定多组候选路径,并基于候选路径给出路由路径;其中,所述终端节点分为多组,每组所述终端节点与其中一个路由节点连接。本发明的方案中,路由算法简单、路由路经的路由节点少,网络直径减少一倍,传输的延时少,且对于部分路由阻塞概率低。
Description
技术领域
本发明属于计算机领域,具体涉及一种网络拓扑结构、构造方法、路由方法、设备及介质。
背景技术
随着互联网的快速普及与发展以及卫星互联网星座计划的不断部署、更多的用户终端接入网络,衍生出包含人们生产和生活各个领域的互联网应用,互联网中的流量已呈现爆炸式增长的趋势。光纤技术与星间激光通信技术的发展与应用使得信息传输网络的瓶颈已转移至互联网中交换结点的交换设备,如交换机与路由器等。这些交换设备的核心技术是交换技术,而交换技术又包括交换网络和调度算法两方面。为了提升信息交换网络性能,满足现今不断涌现的新型应用与业务需求,需要对更大容量、更好性能的交换网络和与之适配的高性能调度算法。
因此,亟需一种有效方法来解决上述问题。
发明内容
为解决上述问题,本发明提出一种网络拓扑结构,包括:
若干终端节点;和
多个路由节点,每个所述路由节点与若干个其他路由节点相连;
控制单元,所述控制单元配置用于基于来自路由节点和/或终端节点的路由请求确定多组候选路径,并基于所述候选路径给出路由路径;
其中,所述终端节点分为多组,每组所述终端节点与其中一个路由节点连接。
在本发明的一些实施方式中,控制单元进一步配置用于:
基于路由路径将所述终端节点发起的路由请求发送到目标路由节点并进一步通过目标路由节点转发到目标终端节点。
在本发明的一些实施方式中,控制单元包括第一控制单元以及位于每个所述路由节点上的第二控制单元,其中:
所述第二控制单元配置用于确定路由请求所通过的源路由节点和目标路由节点;将所述源路由节点和目标路由节点的编号序数进行异或得到路径序数;基于所述路径序数中序数不为预定值的位置对所述源路由节点的编号序数中相同位置上的序数进行多次按位取反,得到多组候选路径。
在本发明的一些实施方式中,第一控制单元配置用于从所述第二控制单元接收所述多组候选路径并从中选择用时最短的候选路径作为路由路径,并将所述路由路径发送到对应的所述路由节点。
在本发明的一些实施方式中,路由节点与根据其自身的编号序数按照逐位取反的方式得到的多个编号序数所对应的其他路由节点连接。
在本发明的一些实施方式中,述路由节点与根据其自身的编号序数按照多位取反的方式得到的多个编号序数所对应的其他路由节点连接。
在本发明的一些实施方式中,控制单元独立于所述路由节点,配置用于:
接收路由节点和/或终端节点的路由请求;
确定路由请求所通过的源路由节点和目标路由节点;
将所述源路由节点和目标路由节点的编号序数进行异或得到路径序数;
基于所述路径序数中序数不为预定值的位置对所述源路由节点的编号序数中相同位置上的序数进行多次按位取反,得到多组候选路径;
从所述多组候选路径中选择用时最短的候选路径作为路由路径并将所述路由路径发送到对应的所述路由节点和/或终端节点。
在本发明的一些实施方式中,控制单元进一步配置用于:
将所述路由请求中的源终端节点的所连接的路由节点作为源路由节点;
将所述路由请求中的目标终端节点所连接的路由节点作为目标路由节点。
在本发明的一些实施方式中,控制单元进一步配置用于:
将所述源路由节点和目标路由节点的编号序数转换成二进制形式;
将二进制形式的源路由节点和目标路由节点的编号序数进行按位异或计算,并将所述异或计算的结果作为路径序数。
在本发明的一些实施方式中,控制单元进一步配置用于:
判断所述路径序数中的预定区域的所有数据位的值是否全为预定值;
响应于所述判断的结果全为预定值,将所述源路由节点作为目标路由节点;
响应于所述判断的结果不全为预定值,确定不为预定值的数据位的位置集合;
基于所述位置集合中的数据位的个数按照排列组合的方式得到多个有序的数据位选择顺序列表;
对每个有序的数据位选择顺序列表,遍历所述数据位选择顺序列表的数据位;
基于所述数据位选择顺序列表的数据位在路径序数中的位置将相同位置的所述源路由节点对应的编号序数的值进行翻转得到对应的多个路径编号序数;
根据所述多个路径编号序数的生成顺序,将所述多个路径编号序数所对应的路由节点作为一个候选路径;
遍历所有的数据位选择顺序列表,重复上述过程得到多个候选路径。
在本发明的一些实施方式中,控制单元进一步配置用于:
获取所有路由节点的节点信息,计算所述候选路径经过的路由节点所对应的节点信息中的路由任务数量的总数;
将所述路由任务数量的总数最小的候选路径作为路由路径执行所述路由请求。
在本发明的一些实施方式中,控制单元进一步配置用于:
获取所有路由节点的节点信息,基于所述节点信息确定每个候选路径所经过的路由节点上的待传输的路由请求数量及其每个路由请求对应的数据量;
基于所述路由请求的数量及路由请求对应的数据量计算每个候选路径完成当前路由任务的消耗时间,将消耗时间最少的候选路径作为路由路径执行所述路由请求。
在本发明的一些实施方式中,控制单元进一步配置用于:
计算每个路由节点上所有路由请求的数据总量,通过所述数据总量除以所述路由节点单位时间内的数据传输量得到每个路由节点的消耗时间;
将每个候选路径上的所有路由节点的消耗时间的总和作为每个候选路径完成当前路由任务的消耗时间,将消耗时间最少的候选路径作为路由路径执行所述路由请求。
在本发明的一些实施方式中,控制单元进一步配置用于:
基于路由节点之间的链路位宽和每个路由请求对应的数据量确定所述路由请求在链路上的传输次数,并基于所述传输次数及链路频率计算每个路由请求所消耗的时间;
将每个候选路径上每个路由节点上所有路由请求所消耗的时间的总和作为每个候选路径完成当前路由任务的消耗时间,将消耗时间最少的候选路径作为路由路径执行所述路由请求。
在本发明的一些实施方式中,控制单元进一步配置用于:
基于每个候选路径所经过的路由节点上的待完成的路由请求数量和请求所对应的请求数据量计算每个路由节点的路由请求的数据的平均值;
将每个候选路径的路由请求的数据的平均值和所有候选路径的所有路由请求的数据的总数的比值作为每个候选路径的系数,并将所述系数乘以所述每个候选路径上的所有路由节点的消耗时间的总和的结果作为每个候选路径的消耗时间。
本发明的另一方面还提出一种路由方法,包括:
确定路由请求所通过的源路由节点和目标路由节点;
将所述源路由节点和目标路由节点的编号序数进行异或得到路径序数;
基于所述路径序数中序数不为预定值的位置对所述源路由节点的编号序数中相同位置上的序数进行多次按位取反得到多组候选路径;
从所述多组候选路径中选择用时最短的候选路径作为路由路径执行所述路由请求。
在本发明的一些实施方式中,确定路由请求所通过的源路由节点和目标路由节点的步骤包括:
将所述路由请求中的源终端节点的所连接的路由节点作为源路由节点;
将所述路由请求中的目标终端节点所连接的路由节点作为目标路由节点。
在本发明的一些实施方式中,将所述源路由节点和目标路由节点的编号序数进行异或得到路径序数的步骤包括:
将所述源路由节点和目标路由节点的编号序数转换成二进制形式;
将二进制形式的源路由节点和目标路由节点的编号序数进行按位异或计算,并将所述异或计算的结果作为路径序数。
在本发明的一些实施方式中,基于所述路径序数中序数不为预定值的位置对所述源路由节点的编号序数中相同位置上的序数进行多次按位取反得到多组候选路径的步骤包括:
判断所述路径序数中的预定区域的所有数据位的值是否全为预定值;
响应于所述判断的结果全为预定值,将所述源路由节点作为目标路由节点;
响应于所述判断的结果不全为预定值,确定不为预定值的数据位的位置集合;
基于所述位置集合中的数据位的个数按照排列组合的方式得到多个有序的数据位选择顺序列表;
对每个有序的数据位选择顺序列表,遍历所述数据位选择顺序列表的数据位;
基于所述数据位选择顺序列表的数据位在路径序数中的位置将相同位置的所述源路由节点对应的编号序数的值进行翻转得到对应的多个路径编号序数;
根据所述多个路径编号序数的生成顺序,将所述多个路径编号序数所对应的路由节点作为一个候选路径;
遍历所有的数据位选择顺序列表,重复上述过程得到多个候选路径。
在本发明的一些实施方式中,从所述多组候选路径中选择用时最短的候选路径作为路由路径执行所述路由请求的步骤包括:
获取所有路由节点的节点信息,计算所述候选路径经过的路由节点所对应的节点信息中的路由任务数量的总数;
将所述路由任务数量的总数最小的候选路径作为路由路径执行所述路由请求。
在本发明的一些实施方式中,从所述多组候选路径中选择用时最短的候选路径作为路由路径执行所述路由请求的步骤包括:
获取所有路由节点的节点信息,基于所述节点信息确定每个候选路径所经过的路由节点上的待传输的路由请求数量及其每个路由请求对应的数据量;
基于所述路由请求的数量及路由请求对应的数据量计算每个候选路径完成当前路由任务的消耗时间,将消耗时间最少的候选路径作为路由路径执行所述路由请求。
在本发明的一些实施方式中,基于所述路由请求的数量及路由请求对应的数据量计算每个候选路径完成当前路由任务的消耗时间的步骤包括:
计算每个路由节点上所有路由请求的数据总量,通过所述数据总量除以所述路由节点单位时间内的数据传输量得到每个路由节点的消耗时间;
将每个候选路径上的所有路由节点的消耗时间的总和作为每个候选路径完成当前路由任务的消耗时间。
在本发明的一些实施方式中,基于所述路由请求的数量及路由请求对应的数据量计算每个候选路径完成当前路由任务的消耗时间的步骤包括:
基于路由节点之间的链路位宽和每个路由请求对应的数据量确定所述路由请求在链路上的传输次数,并基于所述传输次数及链路频率计算每个路由请求所消耗的时间;
将每个候选路径上每个路由节点上所有路由请求所消耗的时间的总和作为每个候选路径完成当前路由任务的消耗时间。
在本发明的一些实施方式中,基于所述路由请求的数量及路由请求对应的数据量计算每个候选路径完成当前路由任务的消耗时间的步骤包括:
基于每个候选路径所经过的路由节点上的待完成的路由请求数量和请求所对应的请求数据量计算每个路由节点的路由请求的数据的平均值;
将每个候选路径的路由请求的数据的平均值和所有候选路径的所有路由请求的数据的总数的比值作为每个候选路径的系数,并将所述系数乘以所述每个候选路径上的所有路由节点的消耗时间的总和的结果作为每个候选路径的消耗时间。
本发明的再一方面还提出一种构造上述网络拓扑结构的方法,包括:
确定组建网络拓扑的终端节点个数,并基于所述终端节点个数确定服务所述终端节点的路由节点个数;
根据所述路由节点个数对每个路由节点分配编号序数,并将每个路由节点的编号转换成二进制形式;
对于每个路由节点,将其自身的二进制形式的编号序数按照一位或多位取反的方式得到多个目标编号序数;
确定多个目标编号序数所对应的多个目标路由节点,将所述路由节点与所述多个目标路由节点建立链路连接。
在本发明的一些实施方式中,方法还包括:
将所述终端节点与路由节点按照预设比例建立链路连接。
本发明的又一方面还提出一种通信设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现上述实施方式中任意一项所述方法的步骤。
本发明的再一方面还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
通过本发明提出的一种基于网络拓扑结构与传统胖树结构相比, “拍平”的“胖树”网络拓扑结构与传统胖树结构的链路数量一样,但是整个拓扑结构的路由节点大大减少,路由算法简单、路由路经的路由节点少,网络直径减少一倍,传输的延时少。且对于部分路由阻塞概率低。并给出了“拍平”的“胖树”网络拓扑结构的路由算法,比胖树的路由算法简单且更易于硬件实现。更适合片上网络等芯片领域用于各种计算单元的数据通信,有效降低片上网络的电路难度。
进一步,根据源路由节点和目标路由节点的编号序数得到多个最短的路由路径作为候选路径,并根据多个候选路径中用时的长短选择最优的候选路径作为路由强求的路由路径,有效降低了路由请求在网络拓扑接口中的传输延迟。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为传统的四层Butterfly网络拓扑结构示意图;
图2为传统的四层的胖树网络拓扑结构示意图;
图3为传统的改进的五层的胖树网络拓扑结构示意图;
图4为本发明实施例提供的一种网络拓扑结构示意图;
图5为本发明实施例提供的控制单元的结构示意图;
图6为本发明实施例提供的控制单元与网络拓扑结构关系示意图;
图7为本发明实施例提供的一种路由方法的流程示意图;
图8为本发明实施例提供的一种构造上述网络拓扑结构的方法的流程示意图;
图9为本发明实施例提供的一种通信设备的结构示意图;
图10为本发明实施例提供的一种计算机可读存储介质的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
本发明旨在解决传统的互连网络拓扑结构中需要消耗大量的路由节点来支撑互连网络拓扑结构,在终端节点增加的同时需要大量的增加大龄的路由节点才能实现互连网络拓扑结构向下一层拓展,因此无论是在宏观的互联网络中还是在片上网络中均需要大量的设备或电路设计才能实现该网络的高效能的问题。
如上所述,互连网络并不仅仅局限于应用在互联网里,互联网络中的一个终端节点可以是具有通信需求的任何系统或一组单元,它可以是一个处理器,处理器与存储器,图形处理单元,存储控制器,I/O接口等。传统互连网络大多数都是直接互连网络,如k元n立方体结构就是直接互连网络的典型代表,网络中每个终端节点上包含一个路由器,用来实现节点之间消息传递。间接互连网络将终端节点和路由器分离,路由器可以被用来作为一个独立的通信装置,如果以Butterfly网络拓扑结构作为互连网络,在Butterfly网络拓扑结构中每个路由器都与其邻居通过双向链路或者两个单向链路(每个负责一个方向)相连,这些链路称为通道。需要特别指出的是,随着互连的节点数的增多,整个系统的聚合带宽也将随之增大。互连拓扑结构通常有以下四个主要属性定义:
(1)节点度数:将一个节点与其邻居节点连接起来的通道的数量,或者说节点中路由器的端口数。
(2)网络直径:网络中两个节点之间最短距离的最大值。
(3)链路数:整个网络的链路数量,因为拓扑结构是确定的则链路数也是随之确定的。
(4)二分带宽:将网络中所有节点分成两个等分的子网,其最小割集对应的链路带宽就是二分带宽。二分带宽越高,网络通信能力越强。
如图1是含有16个终端节点的四层的蝴蝶网络拓扑,在该网络拓扑中的圆圈代表路由节点,每个路由节点含有两进两出共四个链路端口,路由节点自己不产生网络流量,而是负责终端节点所生成流量的传输、路由和中继;拓扑中的方框代表终端节点,每个终端节点都有发出和接受流量的需求。由于蝴蝶网络良好的性能结构和简单的路由算法,可以承载多个资源节点,故可以充分发挥高度数路由的优势,在降低网络时延和开销等方面表现不错。但由于它不具有路径多样性,在对抗性网络或者高负载网络中的拥塞情况比较严重。因此在蝴蝶网络的基础上出现了胖树结构。
图2是含有16个终端节点的胖树结构,圆圈和方框的含义与蝴蝶网络相同。与四层的蝴蝶网络相比,只有第一层路由节点与终端节点相连,第四层路由节点的数量是前几层路由节点数量的一半。每个路由节点有四个链路端口,每个链路端口都是双向的。胖树网络拓扑可以说是双向的蝴蝶网络,相对蝴蝶网络拓扑,解决了蝴蝶网络拓扑路径多样性少的问题,胖树结构最大优势在于其二分带宽随网络规模增长等规模增加,可以获得较优的网络性能。但是在路由节点一样的前提下,其链路数量是蝴蝶网络的两倍,网络直径从5直接变成10,导致流量传输延时是蝴蝶网络的两倍。
图3是进一步改进后的胖树结构,与图2相比,最后一层的路由节点与前几层相同。除最后一层的路由节点,每个路由节点有四个链路端口,每个链路端口都是双向的。最后一层的路由节点有两个链路端口,每个链路端口都是双向的。
如图4所示,为解决上述问题,本发明提出一种网络拓扑结构,包括:
若干终端节点;和
多个路由节点,每个所述路由节点与若干个其他路由节点相连;
控制单元,所述控制单元配置用于基于来自路由节点和/或终端节点的路由请求确定多组候选路径,并基于所述候选路径给出路由路径;
其中,所述终端节点分为多组,每组所述终端节点与其中一个路由节点连接。
在本发明的一些实施例中,从图3可以看到,传统的改进方式实现的胖树结构每层的路由节点数量都是一样的,以此来提升网络的整体性能,但会造成路由节点的大大增加,导致构建网络成本的成本增加。因此在此基础上提出了拍平的胖树结构,将图3的五层路由节点中、每一层编号相同的路由节点整合为一个路由节点,图3拍平之后的胖树结构如图4所示,一共16个路由节点,每个路由节点都链接两个终端节点。拍平之后的五个路由节点间的流量传输在节点内部直接完成。路由节点间的流量传输使用合并后的数据链路传输。图4路由节点与终端节点之间的链路端口都是双向的 ,路由节点与路由节点之间的链路端口都是双向双路的。
具体地,如图4所示,本发明提出的一种网络拓扑结构中包括若干终端节点和多个路由节点,路由节点的数量根据终端节点的个数而定,且满足2的指数幂次的关系,即如果是32个终端节点,则需要16个路由节点,如果是31个终端节点同样需要16个路由节点,每两个终端节点挂载到一个路由节点之上,并且路由节点之间建立的是双向双路的数据连接通道,。
如图4所示,在根据终端节点个数确定路由节点个数之后,为每个路由节点分配一个编号序数,如图中的0~15分配给16个路由节点,路由节点之间的连接关系则根据其分配的编号序数有关,即每个路由节点1需要根据其二进制形式的自身编号序数逐一按位取反得到多个编号序数所表示的路由节点相连。例如图4中编号序数为0的路由节点按照所有路由节点的个数,表示该路由节点的二进制形式为0000,则对0000进行逐位取反可分别得到0001,0010,0100,1000,0001的编号序数代表第2个路由节点,即图中编号为1(编号序数从0开始,下文描述时将编号序数来描述)的路由节点,如图4所示,编好序数为0的路由节点与编号序数为1的序数节点进行连接,同样地,0010代表编号序数为2的路由节点,0100代表编号序数为4的路由节点,1000代表编号序数为8的路由节点,进一步,从图4中可以看出路由节点0分别与路由节点1、2、4和8建立连接。
进一步,图4所示,还包括控制单元303,控制单元303用来接对终端节点发出的路由请求,并根据路由请求发出时所在的路由节点和目标终端节点所对应路由节点给出在如图4所述的网络拓扑结构中的路由路径。
在本发明的一些实施方式中,路由节点进一步配置用于:
基于路由路径将所述终端节点发起的路由请求发送到目标路由节点并进一步通过目标路由节点转发到目标终端节点。
在本发明的实施例中,路由节点用于将相应的路由请求根据路由路径中对应的路由节点,将终端节点发出的路由请求发送到目标路由节点,藉由目标路由节点将路由请求发送到目标终端节点。
在本发明的一些实施方式中,控制单元包括第一控制单元以及位于每个所述路由节点上的第二控制单元,其中:
所述第二控制单元3032配置用于确定路由请求所通过的源路由节点和目标路由节点;将所述源路由节点和目标路由节点的编号序数进行异或得到路径序数;基于所述路径序数中序数不为预定值的位置对所述源路由节点的编号序数中相同位置上的序数进行多次按位取反,得到多组候选路径。
如图5所示,控制单元包括第一控制单元3031和第二控制单元3032,第二控制单元3032可以位于路由节点上,可以直接接收终端节点的路由请求。根据路由请求中的源终端节点和目标终端节点确定源路由节点和目标路由节点。将所述源路由节点和目标路由节点的编号序数进行异或得到路径序数是指将二进制形式的源路由节点和目标路由节点的编号序数进行异或计算,异或计算的结果是与偏好序数相同位数的路径序数(其值仍然是一个编号序数)。
进一步,根据路径序数,将路径序数中不为0的数据位的位置,将源路由节点的编号序数进行逐位取反得到多个编号序数,并基于编号序数按照编号序数的取反次序进行排列组合得到多个候选路径,具体过程如下:
参考图4,对于图4一共有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(如前所述,终端节点的编号序数的前4个bit表示与之相连的路由节点,因此源终端节点和目标终端节点的异或等同于源路由节点和目标路由节点的异或);
第二步:查看I的前4个bit,如果前4个bit都是0,则证明源终端节点S和目标终端节点D在同一个路由节点,直接在路由节点内部进行路由即可。举例说明,假设源终端节点S为00110(6)、目标终端节点D为00111(7),按位异或之后I为00001,前4个bit都是0,这两个终端节点在一个路由节点上(路由节点7),那么直接在内部进行路由即可。
如果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为1110_,前4个bit含有3个1,需要经过3个路由节点。I中前3个bit为1,按照随机的方式,依次改变第1个路由节点0001_前3个bit的信息(前3个bit本来是0则变为1,本来是1则变为0),路由节点每个bit信息的改变,I中对应bit中的1也变为0,直到I中所有bit都是0的时候路由结束。
按照随机的方式,路由方式可能有如下候选路径:
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:1110_)->1111_(I:0000_);
0001_(I:1110_)->0101_(I:1010_)->1101_(I:1110_)->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_)。
在本发明的一些实施方式中,第一控制单元3031配置用于从所述第二控制单元3032接收所述多组候选路径并从中选择用时最短的候选路径作为路由路径,并将所述路由路径发送到对应的所述路由节点。
在本发明的一些实施例中,进一步,从上述得到的候选路径中选择其中一个用时最短的候选路径作为对应路由请求的请求路由路径即可。
在本发明的一些实施方式中,路由节点与根据其自身的编号序数按照逐位取反的方式得到的多个编号序数所对应的其他路由节点连接。
在本发明的一些实施方式中,述路由节点与根据其自身的编号序数按照多位取反的方式得到的多个编号序数所对应的其他路由节点连接。
在本发明的一些实施例中,上述对路由节点的编号序数的按位取反的操作可以是同时多位取反,例如两位或三位,采用不同的位数可得到不同的编号序数,即对应的路由节点也会变化,但对于每一个路由节点来说,采用相同的取反位数其连接关系在一个体系内是相同的,只是路径序数的编号所对应的路由节点不同。例如上述实施例中是按照逐位取反的方式得到四个编号序数,分别代表四个路由节点,如果按照逐三位取反,并每取反一次,直接对连续位进行取反,并在取反之后将取反窗口向右移动一位对下一组三个bit进行取反,以此取反四次,同样可得到四个编号序数,即如果是对0000按照三位同时取反的情况,其结果为:1110、0111、1011、1101(数不足时将数据位的头部补充),同样按照相同的规律对其他路由节点的编号序数同样能得到对应的多个编号序数,便可根据多个编号序数确定多个其他路由节点。
在本发明的一些实施方式中,控制单元303独立于所述路由节点,配置用于:
接收路由节点和/或终端节点的路由请求;
确定路由请求所通过的源路由节点和目标路由节点;
将所述源路由节点和目标路由节点的编号序数进行异或得到路径序数;
基于所述路径序数中序数不为预定值的位置对所述源路由节点的编号序数中相同位置上的序数进行多次按位取反,得到多组候选路径;
从所述多组候选路径中选择用时最短的候选路径作为路由路径并将所述路由路径发送到对应的所述路由节点和/或终端节点。
在本发明的一些实施例中,控制单元可独立与路由节点单独设置,来独立实现对路由请求对应的路由路径的确认。
具体地,如图6所示,所有路由节点将其输入端口和输出端口的信息(包括各个端口是否空闲以及各个端口路由请求的排队信息)实时的反馈给控制单元,控制单元维护一个全局的信息矩阵;
第二步:当源终端节点发出路由请求时,会向控制单元发出请求,控制单元根据路由请求和上述路由算法计算出候选路径;假设还是上述例子,候选路径如下;
0001_(1)->0011_(3)->0111_(7)->1111_(15);
0001_(1)->0011_(3)->1011_(11)->1111_(15);
0001_(1)->0101_(5)->0111_(7)->1111_(15);
0001_(1)->0101_(5)->1101_(13)->1111_(15);
0001_(1)->1001_(9)->1011_(11)->1111_(15);
0001_(1)->1001_(9)->1101_(13)->1111_(15);
其中括号中内容表示编号序数的十进制表示。
第三步:集中式调度,查看各个候选路径中所涉及的输入端口和输出端口,如果都空闲,表示该路由路径空闲,则直接选用该候选路径。例如路径0001_(1)->0011_(3)->0111_(7)->1111_(15)中所涉及的输入端口和输出端口都空闲,则控制单元会将这条路径锁住,并将该路由路径发给源节点,源节点直接按照该路由路径进行路由即可;如果不存在空闲路径,进入第四步;
第四步:候选路径中不存在空闲路径,统计各个候选路径中各个输出端口的排队情况,将每个路径中排队最长的队列数作为该路径的阻塞数;选取阻塞数最少的候选路径作为路由路径进行路由;
第五步:控制单元将该路由路径发给源节点,源节点按照路由路径开始发送数据,遇到非空闲的输出端口就在此输出端口排队。
在本发明的一些实施方式中,控制单元303进一步配置用于:
将所述路由请求中的源终端节点的所连接的路由节点作为源路由节点;
将所述路由请求中的目标终端节点所连接的路由节点作为目标路由节点。
在本发明的一些实施方式中,控制单元303进一步配置用于:
将所述源路由节点和目标路由节点的编号序数转换成二进制形式;
将二进制形式的源路由节点和目标路由节点的编号序数进行按位异或计算,并将所述异或计算的结果作为路径序数。
在本发明的一些实施方式中,控制单元303进一步配置用于:
判断所述路径序数中的预定区域的所有数据位的值是否全为预定值;
响应于所述判断的结果不全为预定值,确定不为预定值的数据位的位置集合;
基于所述位置集合中的数据位的个数按照排列组合的方式得到多个有序的数据位选择顺序列表;
对每个有序的数据位选择顺序列表,遍历所述数据位选择顺序列表的数据位;
基于所述选择顺序列表的数据位在路径序数中的位置将相同位置的所述源路由节点对应的编号序数的值进行翻转得到对应的多路径编号序数;
根据所述多个路径编号序数的生成顺序,将所述多个路径编号序数所对应的路由节点作为一个候选路径;
遍历所有的数据位选择顺序列表,重复上述过程得到多个候选路径。
控制单元303进一步配置用于:响应于所述判断的结果全为预定值,将所述源路由节点作为目标路由节点。
在本实施例中,位置集合中保存的是路径序数中不为0的数据位的位置信息,例如上述实施方式中I为1110时,保存的是{1,2,3}其分别表示路径序数或者编号序数的第一位、第二位、第三位。因此第一次从中取出数据共有三种情况,第二次取出时有两种情况,最后一次取出时只有一种情况,以上述实施例中为例,源路由节点S为0001时,结果为:
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:1110_)->1111_(I:0000_);
0001_(I:1110_)->0101_(I:1010_)->1101_(I:1110_)->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_)。
上述式中每一行代表一条从路由节点0001到路由节点1111的路径,即共有6条。
在本发明的一些实施方式中,控制单元303进一步配置用于:
获取所有路由节点的节点信息,计算所述候选路径经过的路由节点所对应的节点信息中的路由任务数量的总数;
将所述路由任务数量的总数最小的候选路径作为路由路径执行所述路由请求。
在本发明的一些实施方式中,控制单元303进一步配置用于:
获取所有路由节点的节点信息,基于所述节点信息确定每个候选路径所经过的路由节点上的待传输的路由请求数量及其每个路由请求对应的数据量;
基于所述路由请求的数量及路由请求对应的数据量计算每个候选路径完成当前路由任务的消耗时间,将消耗时间最少的候选路径作为路由路径执行所述路由请求。
在本发明的一些实施方式中,控制单元303进一步配置用于:
计算每个路由节点上所有路由请求的数据总量,通过所述数据总量除以所述路由节点单位时间内的数据传输量得到每个路由节点的消耗时间;
将每个候选路径上的所有路由节点的消耗时间的总和作为每个候选路径完成当前路由任务的消耗时间,将消耗时间最少的候选路径作为路由路径执行所述路由请求。
在本实施例中,单位时间内的数据传输量是指在过往的一段时间内且该时间内路由请求缓存队列不空闲的情况下,每个路由节点在该时间内传输的数据量,具体计算时只计算每个节点在队列不空闲时的数据吞吐速度。例如,某路由节点的缓存队列连续十秒不空闲,则将这十秒内该路由节点的数据传输总量除以10秒得到单位时间内的数据传输量。进一步可将队列中路由请求的数据总量除以该路由节点的单位时间内的数据传输量得到每个路由节点完成所有队列中的路由请求的时间。
因此,从上述可知每个路由节点定然会因某些原因导致单位时间内的数据传输量在动态变化。
在本发明的一些实施方式中,控制单元303进一步配置用于:
基于路由节点之间的链路位宽和每个路由请求对应的数据量确定所述路由请求在链路上的传输次数,并基于所述传输次数及链路频率计算每个路由请求所消耗的时间;
将每个候选路径上每个路由节点上所有路由请求所消耗的时间的总和作为每个候选路径完成当前路由任务的消耗时间,将消耗时间最少的候选路径作为路由路径执行所述路由请求。
在本发明的一些实施方式中,控制单元303进一步配置用于:
基于每个候选路径所经过的路由节点上的待完成的路由请求数量和请求所对应的请求数据量计算每个路由节点的路由请求的数据的平均值;
将每个候选路径的路由请求的数据的平均值和所有候选路径的所有路由请求的数据的总数的比值作为每个候选路径的系数,并将所述系数乘以所述每个候选路径上的所有路由节点的消耗时间的总和的结果作为每个候选路径的消耗时间。
如图7所示,本发明的另一方面还提出一种路由方法,包括:
步骤S1、确定路由请求所通过的源路由节点和目标路由节点;
步骤S2、将所述源路由节点和目标路由节点的编号序数进行异或得到路径序数;
步骤S3、基于所述路径序数中序数不为预定值的位置对所述源路由节点的编号序数中相同位置上的序数进行多次按位取反得到多组候选路径;
步骤S4、从所述多组候选路径中选择用时最短的候选路径作为路由路径执行所述路由请求。
在本发明的一些实施方式中,确定路由请求所通过的源路由节点和目标路由节点的步骤包括:
将所述路由请求中的源终端节点的所连接的路由节点作为源路由节点;
将所述路由请求中的目标终端节点所连接的路由节点作为目标路由节点。
在本发明的一些实施方式中,将所述源路由节点和目标路由节点的编号序数进行异或得到路径序数的步骤包括:
将所述源路由节点和目标路由节点的编号序数转换成二进制形式;
将二进制形式的源路由节点和目标路由节点的编号序数进行按位异或计算,并将所述异或计算的结果作为路径序数。
在本发明的一些实施方式中,基于所述路径序数中序数不为预定值的位置对所述源路由节点的编号序数中相同位置上的序数进行多次按位取反得到多组候选路径的步骤包括:
判断所述路径序数中的预定区域的所有数据位的值是否全为预定值;
响应于所述判断的结果不全为预定值,确定不为预定值的数据位的位置集合;
基于所述位置集合中的数据位的个数按照排列组合的方式得到多个有序的数据位选择顺序列表;
对每个有序的数据位选择顺序列表,遍历所述数据位选择顺序列表的数据位;
基于所述选择顺序列表的数据位在路径序数中的位置将相同位置的所述源路由节点对应的编号序数的值进行翻转得到对应的多路径编号序数;
根据所述多个路径编号序数的生成顺序,将所述多个路径编号序数所对应的路由节点作为一个候选路径;
遍历所有的数据位选择顺序列表,重复上述过程得到多个候选路径;
基于所述路径序数中序数不为预定值的位置对所述源路由节点的编号序数中相同位置上的序数进行多次按位取反得到多组候选路径的步骤进一步包括:响应于所述判断的结果全为预定值,将所述源路由节点作为目标路由节点。
在本发明的一些实施方式中,从所述多组候选路径中选择用时最短的候选路径作为路由路径执行所述路由请求的步骤包括:
获取所有路由节点的节点信息,计算所述候选路径经过的路由节点所对应的节点信息中的路由任务数量的总数;
将所述路由任务数量的总数最小的候选路径作为路由路径执行所述路由请求。
在本发明的一些实施方式中,从所述多组候选路径中选择用时最短的候选路径作为路由路径执行所述路由请求的步骤包括:
获取所有路由节点的节点信息,基于所述节点信息确定每个候选路径所经过的路由节点上的待传输的路由请求及其每个路由请求对应的数据量;
基于所述路由请求的数量及路由请求对应的数据量计算每个候选路径完成当前路由任务的消耗时间,将消耗时间最少的候选路径作为路由路径执行所述路由请求。
在本发明的一些实施方式中,基于所述路由请求的数量及路由请求对应的数据量计算每个候选路径完成当前路由任务的消耗时间的步骤包括:
计算每个路由节点上所有路由请求的数据总量,通过所述数据总量除以所述路由节点单位时间内的数据传输量得到每个路由节点的消耗时间;
将每个候选路径上的所有路由节点的消耗时间的总和作为每个候选路径完成当前路由任务的消耗时间。
在本发明的一些实施方式中,基于所述路由请求的数量及路由请求对应的数据量计算每个候选路径完成当前路由任务的消耗时间的步骤包括:
基于路由节点之间的链路位宽和每个路由请求对应的数据确定所述路由请求在链路上的传输次数,并基于所述传输次数及链路频率计算每个路由请求所消耗的时间;
将每个候选路径上每个路由节点上所有路由请求所消耗的时间的总和作为每个候选路径完成当前路由任务的消耗时间。
在本发明的一些实施方式中,基于所述路由请求的数量及路由请求对应的数据量计算每个候选路径完成当前路由任务的消耗时间的步骤包括:
基于每个候选路径所经过的路由节点上的待完成的路由请求数量和请求所对应的请求数据计算每个路由节点的路由请求的数据的平均值;
将每个候选路径的请求的数据的平均值和所有候选路径的所有请求的数据的总数的比值作为每个候选路径的系数乘以所述每个候选路径上的所有路由节点的消耗时间的总和的结果作为每个候选路径的消耗时间。
如图8所示,本发明的再一方面还提出一种构造上述网络拓扑结构的方法,包括:
步骤S21、确定组建网络拓扑的终端节点个数,并基于所述终端节点个数确定服务所述终端节点的路由节点个数;
步骤S22、根据所述路由节点个数对每个路由节点分配编号序数,并将每个路由节点的编号转换成二进制形式;
步骤S23、对于每个路由节点,将其自身的二进制形式的编号序数按照一位或多位取反的方式得到多个目标编号序数;
步骤S24、确定多个目标编号序数所对应的多个目标路由节点,将所述路由节点与所述多个目标路由节点建立链路连接。
在本发明的一些实施例中,在构建上述网络拓扑结构时,先根据终端节点的个数按照终端节点和路由节点2:1的比例确定路由节点的个数,进一步,则为每个路由节点分配编号序数,编号序数可以用十进制表示同时也可以采用二进制表示。在根据编号序数确定路由节点的目标路由节点时,是以二进制的编号序数进行按位翻转得到的对应多个编号序数,并与该多个编号序数相对的路由节点进行连接。
在本发明的一些实施例中,在确定编号序数为0000的路由节点所要连接的其他路由节点时,可采用对该编号序数进行多位取反的方式,例如同时取反3位,即第一次对前三位取反得到1110、第二次将取反的“窗口”向右滑动得到0111,第三次取反则将取反的“窗口”再向右滑动,不足的将编号序数按序补位,即得到1011,如此,则第四次取反则得到1101。如此方式也可以得到四个连接的路由节点的编号,即分别为1110、01111、1011和1101。
在本发明的一些实施方式中,对编号序数取反并不局限于对应的连续取反,同样也可以进行隔位取反,或者按照相同规律进行的一位或多位进行取反得到对应的路由节点的编号序数。
在本发明的一些实施方式中,方法还包括:
将所述终端节点与路由节点按照预设比例建立链路连接。
在一些实施例中终端节点和路由节点的比例可以为2:1。
通过本发明提出的一种基于网络拓扑结构与胖树结构相比,本发明提出的“拍平”的“胖树”网络拓扑结构与传统胖树结构的链路数量一样,但是整个拓扑结构的路由节点大大减少,路由算法简单、路由路经的路由节点少,网络直径减少一倍,传输的延时少。且对于部分路由阻塞概率低。并给出了“拍平”的“胖树”网络拓扑结构的路由算法,比胖树的路由算法简单且更易于硬件实现。更适合片上网络等芯片领域用于各种计算单元的数据通信,有效降低片上网络的电路难度。
如图9所示,本发明的又一方面还提出一种通信设备,包括:
至少一个处理器2001;以及
存储器2002,所述存储器2002存储有可在所述处理器2001上运行的计算机指令2003,所述指令2003由所述处理器2001执行时实现上述实施方式中任意一项所述方法的步骤。
如图10所示,本发明的再一方面还提出一种计算机可读存储介质401,所述计算机可读存储介质401存储有计算机程序402,所述计算机程序402被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (20)
1. 一种网络拓扑结构,其特征在于,包括:
若干终端节点;和
多个路由节点,每个所述路由节点与若干个其他路由节点相连;
控制单元,所述控制单元配置用于基于来自路由节点和/或终端节点的路由请求确定多组候选路径,并基于所述候选路径给出路由路径;
其中,所述终端节点分为多组,每组所述终端节点与其中一个路由节点连接。
2.根据权利要求1所述的网络拓扑结构,其特征在于,所述控制单元进一步配置用于:
基于路由路径将所述终端节点发起的路由请求发送到目标路由节点并进一步通过目标路由节点转发到目标终端节点。
3.根据权利要求1所述的网络拓扑结构,其特征在于,所述控制单元包括第一控制单元以及位于每个所述路由节点上的第二控制单元,其中:
所述第二控制单元配置用于确定路由请求所通过的源路由节点和目标路由节点;将所述源路由节点和目标路由节点的编号序数进行异或得到路径序数;基于所述路径序数中序数不为预定值的位置对所述源路由节点的编号序数中相同位置上的序数进行多次按位取反,得到多组候选路径。
4.根据权利要求3所述的网络拓扑结构,其特征在于,所述第一控制单元配置用于从所述第二控制单元接收所述多组候选路径并从中选择用时最短的候选路径作为路由路径,并将所述路由路径发送到对应的所述路由节点。
5.根据权利要求1所述的网络拓扑结构,其特征在于,所述路由节点与根据其自身的编号序数按照逐位取反的方式得到的多个编号序数所对应的其他路由节点连接。
6.根据权利要求1所述的网络拓扑结构,其特征在于,所述路由节点与根据其自身的编号序数按照多位取反的方式得到的多个编号序数所对应的其他路由节点连接。
7.一种构造如权利要求1所述的网络拓扑结构的方法,其特征在于,包括:
确定组建网络拓扑的终端节点个数,并基于所述终端节点个数确定服务所述终端节点的路由节点个数;
根据所述路由节点个数对每个路由节点分配编号序数,并将每个路由节点的编号转换成二进制形式;
对于每个路由节点,将其自身的二进制形式的编号序数按照一位或多位的取反方式得到多个目标编号序数;
确定多个目标编号序数所对应的多个目标路由节点,将所述路由节点与所述多个目标路由节点建立链路连接。
8.根据权利要求7所述的方法,其特征在于,还包括:
将所述终端节点与路由节点按照预设比例建立链路连接。
9.一种路由方法,其特征在于,包括:
确定路由请求所通过的源路由节点和目标路由节点;
将所述源路由节点和目标路由节点的编号序数进行异或得到路径序数;
基于所述路径序数中序数不为预定值的位置对所述源路由节点的编号序数中相同位置上的序数进行多次按位取反得到多组候选路径;
从所述多组候选路径中选择用时最短的候选路径作为路由路径执行所述路由请求。
10.根据权利要求9所述的方法,其特征在于,所述确定路由请求所通过的源路由节点和目标路由节点的步骤包括:
将所述路由请求中的源终端节点的所连接的路由节点作为源路由节点;
将所述路由请求中的目标终端节点所连接的路由节点作为目标路由节点。
11.根据权利要求9所述的方法,其特征在于,所述将所述源路由节点和目标路由节点的编号序数进行异或得到路径序数的步骤包括:
将所述源路由节点和目标路由节点的编号序数转换成二进制形式;
将二进制形式的源路由节点和目标路由节点的编号序数进行按位异或计算,并将所述异或计算的结果作为路径序数。
12.根据权利要求9所述的方法,其特征在于,所述基于所述路径序数中序数不为预定值的位置对所述源路由节点的编号序数中相同位置上的序数进行多次按位取反得到多组候选路径的步骤包括:
判断所述路径序数中的预定区域的所有数据位的值是否全为预定值;
响应于所述判断的结果不全为预定值,确定不为预定值的数据位的位置集合;
基于所述位置集合中的数据位的个数按照排列组合的方式得到多个有序的数据位选择顺序列表;
对每个有序的数据位选择顺序列表,遍历所述数据位选择顺序列表的数据位;
基于所述数据位选择顺序列表的数据位在路径序数中的位置将相同位置的所述源路由节点对应的编号序数的值进行翻转得到对应的多个路径编号序数;
根据所述多个路径编号序数的生成顺序,将所述多个路径编号序数所对应的路由节点作为一个候选路径;
遍历所有的数据位选择顺序列表,重复上述过程得到多个候选路径。
13.根据权利要求12所述的方法,其特征在于,所述基于所述路径序数中序数不为预定值的位置对所述源路由节点的编号序数中相同位置上的序数进行多次按位取反得到多组候选路径的步骤包括:
响应于所述判断的结果全为预定值,将所述源路由节点作为目标路由节点。
14.根据权利要求9所述的方法,其特征在于,所述从所述多组候选路径中选择用时最短的候选路径作为路由路径执行所述路由请求的步骤包括:
获取所有路由节点的节点信息,计算所述候选路径经过的路由节点所对应的节点信息中的路由任务数量的总数;
将所述路由任务数量的总数最小的候选路径作为路由路径执行所述路由请求。
15.根据权利要求9所述的方法,其特征在于,所述从所述多组候选路径中选择用时最短的候选路径作为路由路径执行所述路由请求的步骤包括:
获取所有路由节点的节点信息,基于所述节点信息确定每个候选路径所经过的路由节点上的待传输的路由请求数量及其每个路由请求对应的数据量;
基于所述路由请求的数量及路由请求对应的数据量计算每个候选路径完成当前路由任务的消耗时间,将消耗时间最少的候选路径作为路由路径执行所述路由请求。
16.根据权利要求15所述的方法,其特征在于,所述基于所述路由请求的数量及路由请求对应的数据量计算每个候选路径完成当前路由任务的消耗时间的步骤包括:
计算每个路由节点上所有路由请求的数据总量,通过所述数据总量除以所述路由节点单位时间内的数据传输量得到每个路由节点的消耗时间;
将每个候选路径上的所有路由节点的消耗时间的总和作为每个候选路径完成当前路由任务的消耗时间。
17.根据权利要求15所述的方法,其特征在于,所述基于所述路由请求的数量及路由请求对应的数据量计算每个候选路径完成当前路由任务的消耗时间的步骤包括:
基于路由节点之间的链路位宽和每个路由请求对应的数据量确定所述路由请求在链路上的传输次数,并基于所述传输次数及链路频率计算每个路由请求所消耗的时间;
将每个候选路径上每个路由节点上所有路由请求所消耗的时间的总和作为每个候选路径完成当前路由任务的消耗时间。
18.根据权利要求16所述的方法,其特征在于,所述基于所述路由请求的数量及路由请求对应的数据量计算每个候选路径完成当前路由任务的消耗时间的步骤包括:
基于每个候选路径所经过的路由节点上的待完成的路由请求数量和所述请求所对应的请求数据量计算每个路由节点的路由请求的数据的平均值;
将每个候选路径的路由请求的数据的平均值和所有候选路径的所有请求的数据的总数的比值作为每个候选路径的系数,并将所述系数乘以所述每个候选路径上的所有路由节点的消耗时间的总和的结果作为每个候选路径的消耗时间。
19. 一种通信设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求7-16任意一项所述方法的步骤。
20.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求7-16任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311390961.3A CN117135059B (zh) | 2023-10-25 | 2023-10-25 | 一种网络拓扑结构、构造方法、路由算法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311390961.3A CN117135059B (zh) | 2023-10-25 | 2023-10-25 | 一种网络拓扑结构、构造方法、路由算法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117135059A true CN117135059A (zh) | 2023-11-28 |
CN117135059B CN117135059B (zh) | 2024-02-09 |
Family
ID=88856718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311390961.3A Active CN117135059B (zh) | 2023-10-25 | 2023-10-25 | 一种网络拓扑结构、构造方法、路由算法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117135059B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117354230A (zh) * | 2023-11-30 | 2024-01-05 | 苏州元脑智能科技有限公司 | 双向拓扑网络的路由路径确定方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101151847A (zh) * | 2005-03-22 | 2008-03-26 | 思科技术公司 | 用于识别网络路径性能的系统和方法 |
EP2106073A1 (en) * | 2008-03-28 | 2009-09-30 | NTT DoCoMo, Inc. | Method and apparatus for increasing throughput in a communication network |
CN103026668A (zh) * | 2010-08-16 | 2013-04-03 | 瑞典爱立信有限公司 | 用于胖树网络的自动化业务工程 |
CN103595495A (zh) * | 2013-10-27 | 2014-02-19 | 西安电子科技大学 | 弹性光网络中静态业务流选路和频谱资源分配方法 |
CN116074204A (zh) * | 2021-11-04 | 2023-05-05 | 中兴通讯股份有限公司 | 算路方法、路由计算设备、电子设备和计算机存储介质 |
-
2023
- 2023-10-25 CN CN202311390961.3A patent/CN117135059B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101151847A (zh) * | 2005-03-22 | 2008-03-26 | 思科技术公司 | 用于识别网络路径性能的系统和方法 |
EP2106073A1 (en) * | 2008-03-28 | 2009-09-30 | NTT DoCoMo, Inc. | Method and apparatus for increasing throughput in a communication network |
CN103026668A (zh) * | 2010-08-16 | 2013-04-03 | 瑞典爱立信有限公司 | 用于胖树网络的自动化业务工程 |
CN103595495A (zh) * | 2013-10-27 | 2014-02-19 | 西安电子科技大学 | 弹性光网络中静态业务流选路和频谱资源分配方法 |
CN116074204A (zh) * | 2021-11-04 | 2023-05-05 | 中兴通讯股份有限公司 | 算路方法、路由计算设备、电子设备和计算机存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117354230A (zh) * | 2023-11-30 | 2024-01-05 | 苏州元脑智能科技有限公司 | 双向拓扑网络的路由路径确定方法、装置、设备及介质 |
CN117354230B (zh) * | 2023-11-30 | 2024-02-27 | 苏州元脑智能科技有限公司 | 双向拓扑网络的路由路径确定方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117135059B (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6093867B2 (ja) | インターコネクトにおける不均一なチャネル容量 | |
JP6216454B2 (ja) | ネットワークオンチップアーキテクチャにおけるシステムレベルシミュレーション | |
JP5860670B2 (ja) | Dragonflyプロセッサ相互接続ネットワークにおけるテーブル駆動型ルーティング | |
JP5276220B2 (ja) | バス制御装置およびバス制御装置に指示を出力する制御装置 | |
US8279753B2 (en) | Efficient determination of fast routes when voluminous data is to be sent from a single node to many destination nodes via other intermediate nodes | |
Liu | Intelligent routing based on deep reinforcement learning in software-defined data-center networks | |
JP2015165716A (ja) | Dragonflyプロセッサ相互接続ネットワークにおける革新的な適応型ルーティング | |
CN117135059B (zh) | 一种网络拓扑结构、构造方法、路由算法、设备及介质 | |
CN108259387B (zh) | 一种通过交换机构建的交换系统及其路由方法 | |
CN109614215A (zh) | 基于深度强化学习的流调度方法、装置、设备及介质 | |
KR101942194B1 (ko) | 토폴로지 및 라우팅 테이블을 위한 네트워크 토폴로지 시스템 및 생성 방법 | |
WO2023019604A1 (zh) | 基于流量疏导的最小网络能耗优化方法及系统 | |
Zhao et al. | Flow aggregation through dynamic routing overlaps in software defined networks | |
Chang et al. | ACO-based cascaded adaptive routing for traffic balancing in NoC systems | |
Montana et al. | Adaptive reconfiguration of data networks using genetic algorithms | |
CN110324249B (zh) | 一种蜻蜓网络架构及其组播路由方法 | |
CN114884818A (zh) | 确定性网络中基于时隙细粒度的三层软切片系统与方法 | |
CN110784406B (zh) | 功率感知的动态自适应片上网络阈值路由方法 | |
Hu et al. | SurfaceNet: Fault-Tolerant Quantum Networks with Surface Codes | |
CN117135107B (zh) | 一种网络通信拓扑系统、路由方法、设备及介质 | |
CN109842553B (zh) | 一种面向链路资源的自适应互连与路由控制方法和系统 | |
Najaf-abadi et al. | The effect of adaptivity on the performance of the OTIS-hypercube under different traffic patterns | |
CN117221212B (zh) | 片上光网络低拥塞路由方法及相关设备 | |
Qiao et al. | Network planning and tuning in switch-based lans | |
Zhou et al. | A CNN-Based Routing Scheme for Minimizing TCP Flow Completion Time in SD-DCNs |
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 |