CN113806270B - RapidIO网络的路径规划方法、装置、电子设备及存储介质 - Google Patents

RapidIO网络的路径规划方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113806270B
CN113806270B CN202111116980.8A CN202111116980A CN113806270B CN 113806270 B CN113806270 B CN 113806270B CN 202111116980 A CN202111116980 A CN 202111116980A CN 113806270 B CN113806270 B CN 113806270B
Authority
CN
China
Prior art keywords
node
target
path
current
weight
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
Application number
CN202111116980.8A
Other languages
English (en)
Other versions
CN113806270A (zh
Inventor
贺伟成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Runke General Technology Co Ltd
Original Assignee
Beijing Runke General Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Runke General Technology Co Ltd filed Critical Beijing Runke General Technology Co Ltd
Priority to CN202111116980.8A priority Critical patent/CN113806270B/zh
Publication of CN113806270A publication Critical patent/CN113806270A/zh
Application granted granted Critical
Publication of CN113806270B publication Critical patent/CN113806270B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种RapidIO网络的路径规划方法、装置、电子设备及存储介质,通过理论分析与实践验证,由于最短路径并未考虑总线带宽的限制,因此最短路径并非最佳路径,对此本发明利用权值来体现有效带宽,既考虑路径重合对总线带宽的影响,又同时提高节点间通信的可靠性。本发明理论性强,且实现简单,具有较强的工程实用价值。

Description

RapidIO网络的路径规划方法、装置、电子设备及存储介质
技术领域
本发明涉及软件技术领域,更具体地说,涉及一种RapidIO网络的路径规划方法、装置、电子设备及存储介质。
背景技术
RapidIO是针对嵌入式系统交互所创立的一种高速串行总线,一直以来都以高性能、低引脚数的特点在复杂的嵌入式交互系统中得到广泛的应用。近些年来随着嵌入式系统在通信、雷达等领域的深入发展,RapidIO网络的应用也日渐复杂,原有的点对点结构不能满足需求的增长,现需要建立能联通多机箱、多板卡、多节点的RapidIO网络拓扑结构。因此节点ID从8bit扩大到16bit和使用RapidIO switch芯片就成了必然的选择。在形成网络结构之后,节点间通信依赖的路由配置也变得极为复杂。
当RapidIO网络出现节点的增减变化时,重新手动规划明显效率低,且可靠性低,而按照最短跳数的搜索方法没有考虑总线带宽限制。因此传统的路经规划方法不管是动态还是静态都很难满足要求。
发明内容
有鉴于此,为解决上述问题,本发明提供一种RapidIO网络的路径规划方法、装置、电子设备及存储介质,技术方案如下:
本发明一方面提供一种RapidIO网络的路径规划方法,所述方法包括:
构建目标RapidIO网络的有向图,所述有向图中包含所述目标RapidIO网络内的节点、节点的各端口、以及各端口间相连通道的权值,所述权值表征所属通道的带宽占用率;
获取待规划路径的起始节点、终点节点和负荷等级;
在所述有向图中搜索从所述起始节点路由到所述终点节点的最佳路径,所述最佳路径内任意相邻节点间通道的权值与所述负荷等级之和不超过对应的第一阈值、且所述最佳路径所对应所有通道的权值和最小。
优选的,所述构建目标RapidIO网络的有向图,包括:
扫描所述目标RapidIO网络的网络拓扑结构,并从扫描结果中检测有效的节点;
创建表征权值的三维数组wgtOrg[N][N][T],其中,N表示扫描结果中所检测到的有效的节点的数量,T表示任意两节点间的通道数量最大值,wgtOrg[i][j][k]表示节点i到节点j的第k条通道的权值;
基于扫描结果中节点间的通道信息为所述三维数组wgtOrg[N][N][T]赋值,其中,物理上不存在的通道被赋值为0。
优选的,所述在所述有向图中搜索从所述起始节点路由到所述终点节点的最佳路径,包括:
针对所述有向图中具有通道的任意两个节点,确定能够将由所述两个节点中的一个节点路由到另一节点的、权值最小的目标通道;
确定将所述起始节点作为当前节点;
对所述当前节点设置路由标记,并确定所述当前节点所在的当前路径;
遍历所述有向图中与所述当前节点具有通道的、且未被标记的目标节点;
获取已确定的、能够将所述当前节点路由到所述目标节点的第一目标通道的权值;
判断所获取的第一目标通道的权值与所述负荷等级之和是否大于所述第一阈值;
若大于所述第一阈值,则返回执行所述遍历所述有向图中与所述当前节点具有通道的、且未被标记的目标节点,这一步骤;
若不大于所述第一阈值,判断所述目标节点是否为所述终点节点;
若所述目标节点不为所述终点节点,则将所述目标节点作为当前节点,返回执行所述对所述当前节点设置路由标记,这一步骤;
若为所述目标节点所述终点节点,根据所述当前路径内的所有节点和所述目标节点确定从所述起始节点路由到所述终点节点的目标路径,并计算所述目标路径的权值,所述目标路径的权值为所述目标路径所对应目标通道的权值和;
在所述目标路径为多个的情况下,将权值最小的一个目标路径作为最佳路径。
优选的,所述将权值最小的一个目标路径作为所述最佳路径,包括:
当获得所述目标路径的权值时,调取当前最佳路径,所述当前最佳路径为已确定的、权值最小的目标路径;
在所述目标路径的权值小于所述当前最佳路径的情况下,将所述目标路径确定为当前最佳路径;
在所述目标路径的权值等于所述当前最佳路径的情况下,判断所述目标路径内节点的数量是否小于所述当前最佳路径内节点的数量;
若小于,则将所述目标路径确定为当前最佳路径。
优选的,所述将所述目标节点作为当前节点,包括:
在满足如下条件时,将所述目标节点作为当前节点:
获取所述当前路径的节点数,并确定所述当前路径的节点数小于预设的路由节点阈值;且
获取已确定的、能够将所述起始节点路由到所述终点节点的第二目标通道的权值、以及已确定的、能够将所述起始节点路由到所述当前节点的第三目标通道的权值,并确定所述第二目标通道的权值与所述第三目标通道的权值之差大于对应的第二阈值;且
调取当前最佳路径,分别计算所述当前最佳路径和所述当前路径的权值,并确定所述当前路径的权值小于所述当前最佳路径的权值,所述当前最佳路径为已确定的、权值最小的目标路径,所述当前最佳路径的权值为所述当前最佳路径所对应目标通道的权值和,所述当前路径的权值为所述当前路径所对应目标通道的权值和。
本发明另一方面提供一种RapidIO网络的路径规划装置,所述装置包括:
有向图构建模块,用于构建目标RapidIO网络的有向图,所述有向图中包含所述目标RapidIO网络内的节点、节点的各端口、以及各端口间相连通道的权值,所述权值表征所属通道的带宽占用率;
路径规划模块,用于获取待规划路径的起始节点、终点节点和负荷等级;在所述有向图中搜索从所述起始节点路由到所述终点节点的最佳路径,所述最佳路径内任意相邻节点间通道的权值与所述负荷等级之和不超过对应的第一阈值、且所述最佳路径所对应所有通道的权值和最小。
优选的,所述有向图构建模块,具体用于:
扫描所述目标RapidIO网络的网络拓扑结构,并从扫描结果中检测有效的节点;创建表征权值的三维数组wgtOrg[N][N][T],其中,N表示扫描结果中所检测到的有效的节点的数量,T表示任意两节点间的通道数量最大值,wgtOrg[i][j][k]表示节点i到节点j的第k条通道的权值;基于扫描结果中节点间的通道信息为所述三维数组wgtOrg[N][N][T]赋值,其中,物理上不存在的通道被赋值为0。
优选的,用于在所述有向图中搜索从所述起始节点路由到所述终点节点的最佳路径的所述路径规划模块,具体用于:
针对所述有向图中具有通道的任意两个节点,确定能够将由所述两个节点中的一个节点路由到另一节点的、权值最小的目标通道;确定将所述起始节点作为当前节点;对所述当前节点设置路由标记,并确定所述当前节点所在的当前路径;遍历所述有向图中与所述当前节点具有通道的、且未被标记的目标节点;获取已确定的、能够将所述当前节点路由到所述目标节点的第一目标通道的权值;判断所获取的第一目标通道的权值与所述负荷等级之和是否大于所述第一阈值;若大于所述第一阈值,则返回执行所述遍历所述有向图中与所述当前节点具有通道的、且未被标记的目标节点,这一步骤;若不大于所述第一阈值,判断所述目标节点是否为所述终点节点;若所述目标节点不为所述终点节点,则将所述目标节点作为当前节点,返回执行所述对所述当前节点设置路由标记,这一步骤;若所述目标节点为所述终点节点,根据所述当前路径内的所有节点和所述目标节点确定从所述起始节点路由到所述终点节点的目标路径,并计算所述目标路径的权值,所述目标路径的权值为所述目标路径所对应目标通道的权值和;在所述目标路径为多个的情况下,将权值最小的一个目标路径作为最佳路径。
本发明另一方面提供一种电子设备,所述电子设备包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现任意一项所述的RapidIO网络的路径规划方法。
本发明另一方面提供一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行任意一项所述的RapidIO网络的路径规划方法。
相较于现有技术,本发明实现的有益效果为:
本发明提供一种RapidIO网络的路径规划方法、装置、电子设备及存储介质,通过理论分析与实践验证,由于最短路径并未考虑总线带宽的限制,因此最短路径并非最佳路径,对此本发明利用权值来体现有效带宽,既考虑路径重合对总线带宽的影响,又同时提高节点间通信的可靠性。本发明理论性强,且实现简单,具有较强的工程实用价值。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的RapidIO网络的路径规划方法的方法流程图;
图2为本发明实施例提供的RapidIO网络的结构示意图;
图3为本发明实施例提供的RapidIO网络的路径规划方法的部分方法流程图;
图4为本发明实施例提供的RapidIO网络的路径规划方法的另一部分方法流程图;
图5为本发明实施例提供的RapidIO网络的路径规划装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明提供一种RapidIO网络的路径规划方法,主要用于在带有RapidIO switch芯片的RapidIO网络中,为不同节点间通信配置合适的路由提供一种指导方法,使节点间通信更加可靠、高效。本发明所提供的RapidIO网络的路径规划方法的方法流程图如图1所示,包括如下步骤:
S10,构建目标RapidIO网络的有向图,有向图中包含目标RapidIO网络内的节点、节点的各端口、以及各端口间相连通道的权值,权值表征所属通道的带宽占用率。
本发明实施例中,目标RapidIO网络即被指定的RapidIO网络。通过扫描并获取目标RapidIO网络的网络拓扑结构,能够根据该网络拓扑结构生成路径规划所需的有向图。该有向图中包含RapidIO网络内的节点、以及将某个节点路由到另一个节点的通道,比如路由节点A到节点B的通道有7个,每个通道都具有对应的带宽资源占用率(即本发明中的带宽占用率),该带宽占用率用权值来表示。需要说明的是,带宽资源占用率,即通道的通信数据量占RapidIO网络有效带宽的百分比。
另外,本发明实施例中可以设置多个带宽占用率等级,一个等级对应一个权值。以8个带宽占用率等级为例,通道的带宽占用率属于[0,12.5%)这一等级时,其权值为1;通道的带宽占用率属于[12.5%,25%)这一等级时,其权值为2;同理,通道的带宽占用率属于[25%,37.5%)这一等级时,其权值为3;……;通道的带宽占用率属于[87.5%,100%)这一等级时,其权值为8。此外,对于带宽占用率等于100%的通道,将其权值也设置为8。
参见图2,其给出一则RapidIO网络的结构示例。其中,矩形代表RapidIO Switch芯片,圆圈代表终端,其余的线条则表示通道。RapidIO Switch芯片,即本发明实施例中的节点,RapidIO Switch芯片具有多个端口、终端通常只有一个端口,连接任意两个端口的线缆被称为通道。节点分别位于几个信号处理机箱中,各机箱间通过光纤连接到RapidIO交换机箱以组成RapidIO网络。
具体实现过程中,步骤S10“构建目标RapidIO网络的有向图”可以采用如下步骤,方法流程图如图3所示:
S101,扫描目标RapidIO网络的网络拓扑结构,并从扫描结果中检测有效的节点。
本发明实施例中,对于网络拓扑结构的扫描结果,其中包含扫描到的节点和节点间的通道。对于扫描到的节点,可以通过识别其是否能够匹配总线协议来确定其是否有效,如果节点无法匹配总线协议,则该节点无法实现访问,因此其就属于无效的节点。
再者,本发明实施例中,对于所获得的有效的节点,可以给每个节点赋予唯一的编号,1~N中的一个,其中,N为扫描结果中所检测到的节点的数量,即有效的节点的数量。
S102,创建表征权值的三维数组wgtOrg[N][N][T],其中,N表示扫描结果中所检测到的有效的节点的数量,T表示任意两节点间的通道数量最大值,wgtOrg[i][j][k]表示节点i到节点j的第k条通道的权值。
S103,基于扫描结果中节点间的通道信息为三维数组wgtOrg[N][N][T]赋值,其中,物理上不存在的通道被赋值为0。
本发明实施例中,该三维数组wgtOrg[N][N][T]用于体现目标RapidIO网络整个网络中各节点间通道的权值。对于目标RapidIO网络中不存在的通道,即物理上不存在的通道,其权值即为0;而对于目标RapidIO网络网络拓扑结构中存在的通道,即物理上存在的通道,其权值根据该通道的带宽占用率所确定。由此,节点间的通道信息即包括节点间的通道数量、以及没每个通道的权值。
此外,本发明实施例中,T为目标RapidIO网络中通道数量的最大值。举例来说,假设目标RapidIO网络中有效的节点包括节点A、节点B和节点C,且路由节点A到节点B的通道有7个、路由节点B到节点C的通道有8个、路由节点A到节点C的通道有5个,此时T的取值为8。
对此,wgtOrg[i][j][k]表示节点i到节点j的第k条通道的权值,继续以节点A和节点B来说,其物理上存在的通道为1~7,因此wgtOrg[i][j][0]~wgtOrg[i][j][6]的赋值可以根据各通道的带宽占用率来确定,其中,wgtOrg[i][j][0]对应通道1、wgtOrg[i][j][1]对应通道2、……、wgtOrg[i][j][6]对应通道7。而对于其物理上不存在的通道8,wgtOrg[i][j][7]被赋值为0。
需要说明的是,通道是具有方向性的。举例来说,上述路由节点A到节点B的通道有7个,假设这7个通道中1~3通道也可以路由节点B到节点A,因此,对于1~3通道,其具有两个方向,即“由节点A指向节点B”和“由节点B指向节点A”。以通道1举例,其在两个方向下的带宽占用率也有可能不同,即wgtOrg[A][B][0]的赋值不一定与wgtOrg[B][A][0]的赋值相等。
还需要说明的是,上述举例中,节点A、B、C两两间都具有通道,继续假设,目标RapidIO网络中有效的节点还包括节点D,并且目标RapidIO网络中该节点D仅与节点A间具有通道,路由节点A到节点D的通道有6个。对此,T的取值仍为8。而由于节点D与节点B间物理上不存在通道、与节点C间物理上也不存在通道,因此wgtOrg[D][B][0]~wgtOrg[D][B][7]、wgtOrg[B][D][0]~wgtOrg[B][D][7]、wgtOrg[D][C][0]~wgtOrg[D][C][7]、wgtOrg[C][D][0]~wgtOrg[C][D][7]均被赋值为0。
因此,wgtOrg[i][j][k]一旦被赋值为0,即表示由节点i到节点j的第k条通道在物理上是不存在的。而wgtOrg[i][j][k]被赋值为非0时,即权值为非0,则表示由节点i到节点j的第k条通道在物理上是存在的、且权值越大表示带宽占用率越高。
S20,获取待规划路径的起始节点、终点节点和负荷等级。
本发明实施例中,外界可以输入待规划路径的起始节点ID、终点节点ID和负荷等级,该负荷等级是路由所需带宽资源的量化指标。
S30,在有向图中搜索从起始节点路由到终点节点的最佳路径,最佳路径内任意相邻节点间通道的权值与负荷等级之和不超过对应的第一阈值、且最佳路径所对应所有通道的权值和最小。
本发明实施例中,路径规划同时考虑权值与最短路径两个条件,得出满足RapidIO网络带宽要求的最佳路径。由此,基于步骤S10所获得的有向图,本发明采用最短路径+条件判定退出的算法,可以高效的计算出最佳路径。
具体实现过程中,步骤S30“在有向图中搜索从起始节点路由到终点节点的最佳路径”可以采用如下步骤,方法流程图如图4所示:
S301,针对有向图中具有通道的任意两个节点,确定能够将由两个节点中的一个节点路由到另一节点的、权值最小的目标通道。
本发明实施例中,在有向图中对于物理上存在通道的任意两个节点,其之间具有多个通道、且每个通道都具有相应的权值,从多个通道中选取权值最小的一个通道作为目标通道,参与后续的路径规划。这是由于权值表征所属通道的宽带占用率,权值越小、就表示对于该通道的通道数据量对于RapidIO网络有效带宽的占比越小、该通道所对应的一段“路径”就越短。
具体实现过程中,若使用三维数组wgtOrg[N][N][T]来体现目标RapidIO网络整个网络中各节点间通道的权值,则本发明中可以由该三维数组得二维数组serNum和weight,数组serNum用于存储从某一节点到另一节点的最短通道的编号、数组weight则用于储存从某一节点到另一节点的最短通道的权值,也就是说,weight[i][j]为wgtOrg[i][j][0]~wgtOrg[i][j][N-1]中的最小值、且weight[i][j]=wgtOrg[i][j][serNum[i][j]]。
S302,确定将起始节点作为当前节点。
本发明实施例中,在路径搜索开始之前,初始化各个全局变量(path,kk,bestPath,bk,mm,_chosable)。
path是长度为N的一维数组,临时储存当前经过的各个节点编号,其全部元素初始化为-1;kk储存path经过的节点数,初始化为0;bestPath是长度为N的一维数组,储存当前得出的从起点到终点的最佳路径,全部元素初始化为-1;bk储存bestPath经过的节点数,初始化为N+1;mm储存bestPath的权值,初始化为理论最大值+1;_chosable是长度为N的一维数组,用于标记当前path经过的节点,全部元素初始化为0(0表示未经过,1表示已经过);
进一步,输入起始节点的起点编号sta、终点节点的终点编号des及负荷等级wlv,以sta和des作为函数findBestPath的传入参数开始路径规划。
S303,对当前节点设置路由标记,并确定当前节点所在的当前路径。
本发明实施例中,路径从sta开始,kk增加1表示经过了一个节点。将sta作为当前节点第一次循环处理时,path[0]被赋值为sta、表示经过的节点编号为sta,_chosable[sta]标记为1表示sta已经经过,后续不可再次经过。
也就是说,本发明通过_chosable[sta]可以对当前节点设置路由标记,并且,通过对path[0]赋值为sta则可以确定sta所在的一个当前路径“sta→”。
假设,符合后续步骤S306的节点有多个,例如有mid_1和mid_2这两个节点,即sta可以被路由到mid_1、也可以被路由到mid_2,此时mid_1和mid_2分别作为当前节点继续循环处理时:sta和mid_1所在路径的path[1]被赋值为mid_1,此时sta和mid_1的当前路径为“sta→mid_1→”;sta和mid_2所在路径的path[1]被赋值为mid_2,此时sta和mid_2的当前路径为“sta→mid_2→”。
S304,遍历有向图中与当前节点具有通道的、且未被标记的目标节点。
本发明实施例中,对于有向图中的各节点i(i=0~N-1)可以循环遍历:
继续以当前节点为sta为例进行说明:如果节点i满足:weight[sta][i]≠0、_chosable[i]≠0,则说明由sta到i存在通道、且i未参与过路径规划。否则,weight[sta][i]=0表示sta到i无通道,_chosable[i]=0表示i已经参与过路径规划,可以继续遍历其他节点。
S305,获取已确定的、能够将当前节点路由到目标节点的第一目标通道的权值。
本发明实施例中,继续以当前节点为sta为例进行说明:通过调取weight[sta][i]可以获得由sta到i的通道的权值。
S306,判断所获取的第一目标通道的权值与负荷等级之和是否大于第一阈值;若是,则返回执行步骤S304;若否,则执行步骤S307。
本发明实施例中,继续以当前节点为sta为例进行说明:如果weight[sta][i]+wlv≤L(L代表通道能承受的最大负荷,即第一阈值),说明从sta到i存在通道且有通信意义,继续执行后续操作;否则,sta到i存在通道、但无通信意义,后续操作均无需执行。
S307,判断目标节点是否为终点节点;若否,则执行步骤S308;若是,则执行步骤S309。
本发明实施例中,判断i是否等于des。若i≠des,说明路径还未走到终点,以i和des作为传入参数进入下一层对函数findBestPath的递归调用。若i=des,说明路径走到了终点。
S308,将目标节点作为当前节点,返回执行步骤S303。
S309,根据当前路径内的所有节点和目标节点确定从起始节点路由到终点节点的目标路径,并计算目标路径的权值,目标路径的权值为目标路径所对应目标通道的权值和。
本发明实施例中,通过调取当前路径内的所有节点、结合终点节点组成一个从sta到des的目标路径。假设,由当前路径“sta→mid_2→”和des组成的一个目标路径为“sta→mid_2→des”,则该可以通过“sta→mid_2”对应的weight[sta][mid_2]和“mid_2→des”对应的weight[mid_2][des]来计算该目标路径的权值,也就是说,目标路径的权值等于weight[sta][mid_2]和weight[mid_2][des]之和。
S310,在目标路径为多个的情况下,将权值最小的一个目标路径作为最佳路径。
本发明实施例中,在函数findBestPath被多次递归调用产生多个目标路径的情况下,可以通过对比路径的权值来从多个目标路径中选择一个权值最小的目标路径作为最佳路径,该最佳路径的权值最小,即表示由起始节点到终点节点的这一“路径”最短,bestPath被赋值。
具体实现过程中,本发明实施例每条目标路径被确定后,即对bestPath赋值,以此确定截止到当前时刻的最佳路径。具体的,当获得目标路径的权值时,调取当前最佳路径,当前最佳路径为已确定的、权值最小的目标路径;在目标路径的权值小于当前最佳路径的情况下,将目标路径确定为当前最佳路径;在目标路径的权值等于当前最佳路径的情况下,判断目标路径内节点的数量是否小于当前最佳路径内节点的数量;若小于,则将目标路径确定为当前最佳路径。
具体实施时,将目标路径的权值赋值给temp,如果“temp<mm”或者“temp=mm且kk<bk”满足其中一个条件,则确定当前path(即目标路径)比原有bestPath更好,更新bestPath为当前path,同时更新mm为temp、更新bk为kk;否则,如果不满足“temp<mm”,也不满足“temp=mm且kk<bk”,则不更新。
在其他一些实施例中,为快速完成路径规划,及时确定是否进入函数findBestPath的下一层递归,本发明实施例提供三个判定,只有同时满足三个判定时才可以将目标节点作为当前节点。具体的,三个判定分别为:
1)如果kk≥V(V是规定的路由跳数上限),说明跳转次数即将超过上限,引起较高延时,不能进入下一层递归。也就是说,获取当前路径的节点数(即kk),并在当前路径的节点数小于预设的路由节点阈值(即V)的情况下,则执行步骤S308,否则继续执行步骤S304。
2)如果weight[sta][des]<weight[sta][i]+2,说明继续下一层递归也无法找到更好的路径,无需进入下一层递归。具体的,获取已确定的、能够将起始节点(即sta)路由到终点节点(即des)的第二目标通道的权值(即weight[sta][des])、以及已确定的、能够将起始节点(即sta)路由到当前节点(即i)的第三目标通道的权值(即weight[sta][i]);在第二目标通道的权值与第三目标通道的权值之差大于对应的第二阈值(即weight[sta][des]-weight[sta][i]≥2)的情况下,返回执行步骤308,否则继续执行步骤S304。需要说明的是,第二阈值可以根据实际场景所设置,其值小于第一阈值。
3)如果计算当前path的权值已经不小于mm,说明继续下一层递归也无法找到更好的路径,无需进入下一层递归。具体的,调取当前最佳路径,并分别计算当前最佳路径和当前路径的权值,在当前路径的权值小于当前最佳路径的权值(即前path的权值小于mm)的情况下,执行步骤308,否则继续执行步骤S304,当前最佳路径为已确定的、权值最小的目标路径,当前最佳路径的权值为当前最佳路径所对应目标通道的权值和,当前路径的权值为当前路径所对应目标通道的权值和。
最后,每一层递归的findBestPath函数在退出前,都要将_chosable[sta]、path[kk-1]和kk还原为函数开始的状态。。
还需要说明的是,用数组bestPath存储最佳路径依次经过的节点编号,用二维数组serNum存储任意两节点间最短通道的编号。从bestPath[0]开始,依序读出bestPath存储的值bestPath[i],直到读到终点编号,即为最佳路径依次经过的节点编号;从节点α=bestPath[i]到节点β=bestPath[i+1]走的通道,其序号即为即为通道serNum[α][β]的值。
为验证本发明的实现效果,继续参见图2,其中终端数量大于200、节点数量大于60、通道数据大于600,规定的路由跳数上限为11。在如此复杂的网络通信中不能出现路径配置错误及数据传输延时。通过本发明的路径规划方法,计算任意两节点间路径耗时不超过10ms,使用得出的路径完全满足总线的带宽限制,不会出现数据传输延时。
本发明实施例提供的RapidIO网络的路径规划方法,通过理论推导与项目实际应用,解决了在复杂RapidIO网络中,节点间的路径规划。基于该方法既能实现快速准确的路径计算,同时满足RapidIO总线的带宽要求,提高了传输的可靠性。
基于上述实施例提供的RapidIO网络的路径规划方法,本发明实施例则对应提供执行上述RapidIO网络的路径规划方法的装置,该装置的结构示意图如图5所示,包括:
有向图构建模块10,用于构建目标RapidIO网络的有向图,有向图中包含目标RapidIO网络内的节点、节点的各端口、以及各端口间相连通道的权值,权值表征所属通道的带宽占用率;
路径规划模块20,用于获取待规划路径的起始节点、终点节点和负荷等级;在有向图中搜索从起始节点路由到终点节点的最佳路径,最佳路径内任意相邻节点间通道的权值与负荷等级之和不超过对应的第一阈值、且最佳路径所对应所有通道的权值和最小。
可选的,有向图构建模块10,具体用于:
扫描目标RapidIO网络的网络拓扑结构,并从扫描结果中检测有效的节点;创建表征权值的三维数组wgtOrg[N][N][T],其中,N表示扫描结果中所检测到的有效的节点的数量,T表示任意两节点间的通道数量最大值,wgtOrg[i][j][k]表示节点i到节点j的第k条通道的权值;基于扫描结果中节点间的通道信息为三维数组wgtOrg[N][N][T]赋值,其中,物理上不存在的通道被赋值为0。
可选的,用于在有向图中搜索从起始节点路由到终点节点的最佳路径的路径规划模块20,具体用于:
针对有向图中具有通道的任意两个节点,确定能够将由两个节点中的一个节点路由到另一节点的、权值最小的目标通道;确定将起始节点作为当前节点;对当前节点设置路由标记,并确定当前节点所在的当前路径;遍历有向图中与当前节点具有通道的、且未被标记的目标节点;获取已确定的、能够将当前节点路由到目标节点的第一目标通道的权值;判断所获取的第一目标通道的权值与负荷等级之和是否大于第一阈值;若大于第一阈值,则返回执行遍历有向图中与当前节点具有通道的、且未被标记的目标节点,这一步骤;若不大于第一阈值判断目标节点是否为终点节点;若目标节点不为终点节点,则将目标节点作为当前节点,返回执行对当前节点设置路由标记,这一步骤;若目标节点为终点节点,根据当前路径内的所有节点和目标节点确定从起始节点路由到终点节点的目标路径,并计算目标路径的权值,目标路径的权值为目标路径所对应目标通道的权值和;在目标路径为多个的情况下,将权值最小的一个目标路径作为最佳路径。
可选的,用于将权值最小的一个目标路径作为最佳路径的路径规划模块20,具体用于:
当获得目标路径的权值时,调取当前最佳路径,当前最佳路径为已确定的、权值最小的目标路径;在目标路径的权值小于当前最佳路径的情况下,将目标路径确定为当前最佳路径;在目标路径的权值等于当前最佳路径的情况下,判断目标路径内节点的数量是否小于当前最佳路径内节点的数量;若小于,则将目标路径确定为当前最佳路径。
可选的,用于将目标节点作为当前节点的路径规划模块20,具体用于:
在满足如下条件时,将目标节点作为当前节点:
获取当前路径的节点数,并确定当前路径的节点数小于预设的路由节点阈值;且
获取已确定的、能够将起始节点路由到终点节点的第二目标通道的权值、以及已确定的、能够将起始节点路由到当前节点的第三目标通道的权值,并确定第二目标通道的权值与第三目标通道的权值之差大于对应的第二阈值;且
调取当前最佳路径,分别计算当前最佳路径和当前路径的权值,并确定当前路径的权值小于当前最佳路径的权值,当前最佳路径为已确定的、权值最小的目标路径,当前最佳路径的权值为当前最佳路径所对应目标通道的权值和,当前路径的权值为当前路径所对应目标通道的权值和。
需要说明的是,本发明实施例中各功能模块的细化功能,可以参见上述方法实施例的对应公开部分,在此不再赘述。
基于上述实施例提供的RapidIO网络的路径规划方法,本发明实施例还提供一种电子设备,该电子设备包括:至少一个存储器和至少一个处理器;存储器存储有程序,处理器调用存储器存储的程序,程序用于实现RapidIO网络的路径规划方法。
基于上述实施例提供的RapidIO网络的路径规划方法,本发明实施例还提供一种存储介质,该存储介质中存储有计算机可执行指令,计算机可执行指令用于执行RapidIO网络的路径规划方法。
以上对本发明所提供的一种RapidIO网络的路径规划方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种RapidIO网络的路径规划方法,其特征在于,所述方法包括:
构建目标RapidIO网络的有向图,所述有向图中包含所述目标RapidIO网络内的节点、节点的各端口、以及各端口间相连通道的权值,所述权值表征所属通道的带宽占用率;
获取待规划路径的起始节点、终点节点和负荷等级;
在所述有向图中搜索从所述起始节点路由到所述终点节点的最佳路径,所述最佳路径内任意相邻节点间通道的权值与所述负荷等级之和不超过对应的第一阈值、且所述最佳路径所对应所有通道的权值和最小。
2.根据权利要求1所述的方法,其特征在于,所述构建目标RapidIO网络的有向图,包括:
扫描所述目标RapidIO网络的网络拓扑结构,并从扫描结果中检测有效的节点;
创建表征权值的三维数组wgtOrg[N][N][T],其中,N表示扫描结果中所检测到的有效的节点的数量,T表示任意两节点间的通道数量最大值,wgtOrg[i][j][k]表示节点i到节点j的第k条通道的权值;
基于扫描结果中节点间的通道信息为所述三维数组wgtOrg[N][N][T]赋值,其中,物理上不存在的通道被赋值为0。
3.根据权利要求1所述的方法,其特征在于,所述在所述有向图中搜索从所述起始节点路由到所述终点节点的最佳路径,包括:
针对所述有向图中具有通道的任意两个节点,确定能够将由所述两个节点中的一个节点路由到另一节点的、权值最小的目标通道;
确定将所述起始节点作为当前节点;
对所述当前节点设置路由标记,并确定所述当前节点所在的当前路径;
遍历所述有向图中与所述当前节点具有通道的、且未被标记的目标节点;
获取已确定的、能够将所述当前节点路由到所述目标节点的第一目标通道的权值;
判断所获取的第一目标通道的权值与所述负荷等级之和是否大于所述第一阈值;
若大于所述第一阈值,则返回执行所述遍历所述有向图中与所述当前节点具有通道的、且未被标记的目标节点,这一步骤;
若不大于所述第一阈值,判断所述目标节点是否为所述终点节点;
若所述目标节点不为所述终点节点,则将所述目标节点作为当前节点,返回执行所述对所述当前节点设置路由标记,这一步骤;
若所述目标节点为所述终点节点,根据所述当前路径内的所有节点和所述目标节点确定从所述起始节点路由到所述终点节点的目标路径,并计算所述目标路径的权值,所述目标路径的权值为所述目标路径所对应目标通道的权值和;
在所述目标路径为多个的情况下,将权值最小的一个目标路径作为最佳路径。
4.根据权利要求3所述的方法,其特征在于,所述将权值最小的一个目标路径作为所述最佳路径,包括:
当获得所述目标路径的权值时,调取当前最佳路径,所述当前最佳路径为已确定的、权值最小的目标路径;
在所述目标路径的权值小于所述当前最佳路径的情况下,将所述目标路径确定为当前最佳路径;
在所述目标路径的权值等于所述当前最佳路径的情况下,判断所述目标路径内节点的数量是否小于所述当前最佳路径内节点的数量;
若小于,则将所述目标路径确定为当前最佳路径。
5.根据权利要求3所述的方法,其特征在于,所述将所述目标节点作为当前节点,包括:
在满足如下条件时,将所述目标节点作为当前节点:
获取所述当前路径的节点数,并确定所述当前路径的节点数小于预设的路由节点阈值;且
获取已确定的、能够将所述起始节点路由到所述终点节点的第二目标通道的权值、以及已确定的、能够将所述起始节点路由到所述当前节点的第三目标通道的权值,并确定所述第二目标通道的权值与所述第三目标通道的权值之差大于对应的第二阈值;且
调取当前最佳路径,分别计算所述当前最佳路径和所述当前路径的权值,并确定所述当前路径的权值小于所述当前最佳路径的权值,所述当前最佳路径为已确定的、权值最小的目标路径,所述当前最佳路径的权值为所述当前最佳路径所对应目标通道的权值和,所述当前路径的权值为所述当前路径所对应目标通道的权值和。
6.一种RapidIO网络的路径规划装置,其特征在于,所述装置包括:
有向图构建模块,用于构建目标RapidIO网络的有向图,所述有向图中包含所述目标RapidIO网络内的节点、节点的各端口、以及各端口间相连通道的权值,所述权值表征所属通道的带宽占用率;
路径规划模块,用于获取待规划路径的起始节点、终点节点和负荷等级;在所述有向图中搜索从所述起始节点路由到所述终点节点的最佳路径,所述最佳路径内任意相邻节点间通道的权值与所述负荷等级之和不超过对应的第一阈值、且所述最佳路径所对应所有通道的权值和最小。
7.根据权利要求6所述的装置,其特征在于,所述有向图构建模块,具体用于:
扫描所述目标RapidIO网络的网络拓扑结构,并从扫描结果中检测有效的节点;创建表征权值的三维数组wgtOrg[N][N][T],其中,N表示扫描结果中所检测到的有效的节点的数量,T表示任意两节点间的通道数量最大值,wgtOrg[i][j][k]表示节点i到节点j的第k条通道的权值;基于扫描结果中节点间的通道信息为所述三维数组wgtOrg[N][N][T]赋值,其中,物理上不存在的通道被赋值为0。
8.根据权利要求6所述的装置,其特征在于,用于在所述有向图中搜索从所述起始节点路由到所述终点节点的最佳路径的所述路径规划模块,具体用于:
针对所述有向图中具有通道的任意两个节点,确定能够将由所述两个节点中的一个节点路由到另一节点的、权值最小的目标通道;确定将所述起始节点作为当前节点;对所述当前节点设置路由标记,并确定所述当前节点所在的当前路径;遍历所述有向图中与所述当前节点具有通道的、且未被标记的目标节点;获取已确定的、能够将所述当前节点路由到所述目标节点的第一目标通道的权值;判断所获取的第一目标通道的权值与所述负荷等级之和是否大于所述第一阈值;若大于所述第一阈值,则返回执行所述遍历所述有向图中与所述当前节点具有通道的、且未被标记的目标节点,这一步骤;若不大于所述第一阈值,判断所述目标节点是否为所述终点节点;若所述目标节点不为所述终点节点,则将所述目标节点作为当前节点,返回执行所述对所述当前节点设置路由标记,这一步骤;若所述目标节点为所述终点节点,根据所述当前路径内的所有节点和所述目标节点确定从所述起始节点路由到所述终点节点的目标路径,并计算所述目标路径的权值,所述目标路径的权值为所述目标路径所对应目标通道的权值和;在所述目标路径为多个的情况下,将权值最小的一个目标路径作为最佳路径。
9.一种电子设备,其特征在于,所述电子设备包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现权利要求1-5任意一项所述的RapidIO网络的路径规划方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1-5任意一项所述的RapidIO网络的路径规划方法。
CN202111116980.8A 2021-09-23 2021-09-23 RapidIO网络的路径规划方法、装置、电子设备及存储介质 Active CN113806270B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111116980.8A CN113806270B (zh) 2021-09-23 2021-09-23 RapidIO网络的路径规划方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111116980.8A CN113806270B (zh) 2021-09-23 2021-09-23 RapidIO网络的路径规划方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113806270A CN113806270A (zh) 2021-12-17
CN113806270B true CN113806270B (zh) 2023-10-20

Family

ID=78896482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111116980.8A Active CN113806270B (zh) 2021-09-23 2021-09-23 RapidIO网络的路径规划方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113806270B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370119B1 (en) * 1998-02-27 2002-04-09 Cisco Technology, Inc. Computing the widest shortest path in high-speed networks
CN103746910A (zh) * 2013-11-28 2014-04-23 苏州长风航空电子有限公司 一种RapidIO网络递归枚举方法
CN104283807A (zh) * 2014-09-17 2015-01-14 杭州华三通信技术有限公司 一种te隧道建立方法和装置
CN108306783A (zh) * 2017-12-26 2018-07-20 深圳市泰信通信息技术有限公司 基于sdn的转发方法、装置及计算机可读存储介质
CN110779524A (zh) * 2018-07-31 2020-02-11 阿里巴巴集团控股有限公司 路径规划方法、装置、设备及存储介质
CN111490948A (zh) * 2020-04-14 2020-08-04 北京大地信合信息技术有限公司 用于siro交换系统的路由配置方法、装置以及介质
CN111865799A (zh) * 2020-07-14 2020-10-30 北京灵汐科技有限公司 路径规划方法、装置、路径规划设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526570B2 (en) * 2005-03-31 2009-04-28 Intel Corporation Advanced switching optimal unicast and multicast communication paths based on SLS transport protocol
US20180343191A1 (en) * 2017-05-25 2018-11-29 Fang Hao Hop constrained widest path for segment routing
US10348610B2 (en) * 2017-05-25 2019-07-09 Alcatel Lucent Method and apparatus for minimum label bandwidth guaranteed path for segment routing

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370119B1 (en) * 1998-02-27 2002-04-09 Cisco Technology, Inc. Computing the widest shortest path in high-speed networks
CN103746910A (zh) * 2013-11-28 2014-04-23 苏州长风航空电子有限公司 一种RapidIO网络递归枚举方法
CN104283807A (zh) * 2014-09-17 2015-01-14 杭州华三通信技术有限公司 一种te隧道建立方法和装置
CN108306783A (zh) * 2017-12-26 2018-07-20 深圳市泰信通信息技术有限公司 基于sdn的转发方法、装置及计算机可读存储介质
CN110779524A (zh) * 2018-07-31 2020-02-11 阿里巴巴集团控股有限公司 路径规划方法、装置、设备及存储介质
CN111490948A (zh) * 2020-04-14 2020-08-04 北京大地信合信息技术有限公司 用于siro交换系统的路由配置方法、装置以及介质
CN111865799A (zh) * 2020-07-14 2020-10-30 北京灵汐科技有限公司 路径规划方法、装置、路径规划设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种SRIO 网络负载均衡最短路径路由算法;李嘉伟 等;《计算机工程》;214-221,228 *

Also Published As

Publication number Publication date
CN113806270A (zh) 2021-12-17

Similar Documents

Publication Publication Date Title
US7020086B2 (en) Lagrange quality of service routing
JP3159927B2 (ja) 網動作方法、要求経路方法並びにルーティング及び承認制御する方法
JP2793467B2 (ja) パケット通信システムの最適経路選択装置及び方法
US11968122B2 (en) Joint optimization method and system for delay and spectrum occupation in cloud-edge collaborative network
EP2595432A1 (en) Communication network system, node apparatus, and route selection method for communication network system
JP2017216682A (ja) 無線ネットワーク構築のための方法、装置及び端末装置
KR101754618B1 (ko) 소프트웨어 정의 네트워크 기반의 가상 네트워크 동적 생성 방법 및 그 장치
CN114844812B (zh) 一种面向主动网络遥感的低时延低开销路径部署方法
RU2600104C2 (ru) Система и способ осуществления связи с высокой пропускной способностью в сети с гибридной ячеистой топологией
CN107682270B (zh) 一种网络拓扑发现方法及装置
CN107508712B (zh) 一种网络拓扑发现方法及装置
JP2006081077A (ja) 中継ノード設置ポイント選択方法/プログラム/記録媒体/装置、基地局、マルチホップネットワークシステム
CN113806270B (zh) RapidIO网络的路径规划方法、装置、电子设备及存储介质
CN112165505B (zh) 去中心化的数据处理方法、电子装置和存储介质
Sheng et al. Critical nodes detection in mobile ad hoc network
JP2013016898A (ja) 経路検索プログラム、経路探索装置及び経路探索方法
CN111062180B (zh) 一种fpga布线方法及装置
CN107995047A (zh) 一种数据中心的拓扑组网方法及装置
KR20130007063A (ko) 하이브리드 광학 네트워크-온-칩 시스템 및 그의 라우팅 방법
CN115529266A (zh) 一种路由选择方法、装置及设备
CN114500290B (zh) 云平台网关节点探测拓扑生成的方法、装置、设备及介质
CN115942511A (zh) 无人船数据传输方法、通信设备及存储介质
CN113747277A (zh) 路径确定方法及装置
CN108684064B (zh) 一种融合多种通信方式的组网方法及装置
CN111901846A (zh) 采用多个NB-IoT节点网关的自组网系统

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