CN109510765A - 一种计算节点互联拓扑构建连接方法及软件系统 - Google Patents
一种计算节点互联拓扑构建连接方法及软件系统 Download PDFInfo
- Publication number
- CN109510765A CN109510765A CN201910041355.8A CN201910041355A CN109510765A CN 109510765 A CN109510765 A CN 109510765A CN 201910041355 A CN201910041355 A CN 201910041355A CN 109510765 A CN109510765 A CN 109510765A
- Authority
- CN
- China
- Prior art keywords
- calculate node
- node
- calculate
- current
- interconnection
- 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
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/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为本发明一实施例提供的一种计算节点互联拓扑构建连接方法流程图;
图2为本发明另一实施例提供的一种计算节点互联拓扑构建连接软件系统结构示意图;
图3为本发明另一实施例提供的一种计算节点互联拓扑构建连接系统结构示意图;
图4为本发明另一实施例提供的适一种用本发明的计算节点互联拓扑架构示意图。
图中:401为矩阵生成模块、402为互联生成模块、403为路由表生成模块、404为数据分发模块,601为路由表生成器、602为通讯器、603为计算节点。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的一个实施例,提供一种计算节点互联拓扑构建连接方法,如图1所示,包括:
步骤201:读取邻接矩阵文件,根据邻接矩阵文件生成保存有每个计算节点间连接属性的邻接矩阵;
在本发明实施例中,适于多个计算节点,每个计算节点可以是安装有多网卡的服务器,还可以是对外提供多个快速互连通道的处理器。
在本发明实施例中,通过读取邻接矩阵文件,根据读取到的邻接矩阵文件生成邻接矩阵A,邻接矩阵的第i行,记录了计算节点i与其他所有计算节点的连接情况即连接属性。其中,A[i][j]的值为1表明计算节点i与计算节点j通过互联通道连接,A[i][j]的值为0表明计算节点i与计算节点j之间未连接。其中,邻接矩阵文件是预先对所有计算节点根据互联拓扑生成的。
步骤202:根据邻接矩阵生成每个计算节点的互联通道连接信息;
在本发明实施例中,每个计算节点对应若干个互联端口,互联端口为处理器的快速互联通道或者计算节点的网卡。获取所有建立连接的计算节点,对所有相互建立连接的两个计算节点,分别作为当前计算节点和目标计算节点,分别获取当前计算节点和目标计算节点对应的第一个未被占用的互联端口,并将这两个互联端口对应的互联端口属性设为已占用。将当前计算节点、当前计算节点的互联端口、当前计算节点的互联端口属性、目标计算节点、目标计算节点的互联端口、目标计算节点的互联端口属性建立映射,并保存为该计算节点的互联通道连接信息,以此生成各计算节点之间的物理连接。
步骤203:对每个计算节点,根据计算节点的所有互联通道连接信息生成该计算节点的路由规则,将该计算节点及其对应的路由规则保存至路由表;
在本发明实施例中,从所有计算节点中获取任一个计算节点作为当前计算节点,根据当前计算节点的所有互联通道连接信息,分别获取与当前计算节点建立连接的其他计算节点,即目标计算节点,计算当前计算节点与各目标计算节点之间的最短路径,根据最短路径以及当前计算节点的互联通道连接信息生成当前计算节点的路由规则。根据最短路径及互联通道连接信息。获取当前计算节点与目标计算节点的最短路径上参与连接的所有计算节点、及其互联端口,组成互联端口序列,根据互联端口序列和最短路径生成当前计算节点的路由规则,具体将当前计算节点、当前计算节点对应的互联端口和互联端口属性、目标计算节点、当前计算节点与目标节点之间的最短路径、以及互联端口序列作为当前计算节点的路由规则保存至路由表中。
进一步的,对最短路径建立对应的路由表项,路由表项包括,当前计算节点、所述当前计算节点互联端口、所述目标计算节点,以使当前计算节点接收到路由表后可以采用路由表项中保存的当前计算节点互联端口向所述目标计算节点发送消息。进而节约路由表所占用的存储空间,节约存储资源。
在本发明实施例中,具体可以采用迪杰斯特拉算法(Dijkstra算法)根据邻接矩阵计算每个计算节点对之间的最短路径,还可以采用插点算法(Floyd算法)根据邻接矩阵计算每个计算节点对之间的最短路径。
举例进行说明:
建立矩阵S和矩阵P,矩阵S中的元素S[i][j]表示计算节点i到计算节点j的距离,矩阵P中的元素P[i][j]表示从计算节点i到计算节点j的中间顶点编号不大于k时的最短路径上终点前一个结点的编号。在算法结束时,由二维数组P的值回溯,可以得到从计算节点i到计算节点j的最短路径。
步骤204:将路由表下发至计算节点中。
在本发明实施例中,计算节点为多个,计算节点可以包括:处理器和/或服务器。将路由表下发至计算节点中,使得计算节点接收并保存路由表,在发送消息时,计算节点读取并解析路由表,从中获取路由规则向目标计算节点发送消息。其中,可以通过通信通道的方式还可以以广播的方式向计算节点下发路由表。
在本发明实施例中,通过在无交换器网络中,对计算节点生成路由表,使得计算节点之间根据路由表互联,避免交换器的使用,降低互联网络系统的成本。进一步的,本发明技术方案通过对每一计算节点生成对应的路由表的方式,使得计算节点之间建立连接更为快速,同时解决了因计算节点数目的增加,导致各计算节点按照指定的拓扑进行连接变得复杂,甚至在不规则互联拓扑结构中无法自动建立连接的问题,使得本发明技术方案在进行互联网络连接时普遍适用。
在本发明第二方面,提供一种计算节点互联拓扑构建连接软件系统,如图2所示,包括:
矩阵生成模块401,用于读取邻接矩阵文件,根据邻接矩阵文件生成保存有每个计算节点间连接属性的邻接矩阵,触发互联生成模块402;
在本发明实施例中,本软件系统适于多个计算节点,每个计算节点可以是安装有多网卡的服务器,还可以是对外提供多个快速互连通道的处理器。
互联生成模块402,用于根据邻接矩阵生成每个计算节点的互联通道连接信息,触发路由表生成模块403;
在本发明实施例中,每个计算节点对应若干个互联端口,互联端口为处理器的快速互联通道或者计算节点的网卡。互联生成模块402,具体用于获取所有建立连接的计算节点,对所有相互建立连接的两个计算节点,分别作为当前计算节点和目标计算节点,分别获取当前计算节点和目标计算节点对应的第一个未被占用的互联端口,并将这两个互联端口对应的互联端口属性设为已占用。将当前计算节点、当前计算节点的互联端口、当前计算节点的互联端口属性、目标计算节点、目标计算节点的互联端口、目标计算节点的互联端口属性建立映射,并保存为该计算节点的互联通道连接信息,以此生成各计算节点之间的物理连接。
路由表生成模块403,用于对每个计算节点,根据计算节点的所有互联通道连接信息生成该计算节点的路由规则,将该计算节点及其对应的路由规则保存至路由表,触发数据分发模块404;
在本发明实施例中,路由表生成模块403,具体用于从所有计算节点中获取任一个计算节点作为当前计算节点,根据当前计算节点的所有互联通道连接信息,分别获取与当前计算节点建立连接的其他计算节点,即目标计算节点,计算当前计算节点与各目标计算节点之间的最短路径,根据最短路径以及当前计算节点的互联通道连接信息生成当前计算节点的路由规则。根据最短路径及互联通道连接信息。获取当前计算节点与目标计算节点的最短路径上参与连接的所有计算节点、及其互联端口,组成互联端口序列,根据互联端口序列和最短路径生成当前计算节点的路由规则,具体将当前计算节点、当前计算节点对应的互联端口和互联端口属性、目标计算节点、当前计算节点与目标节点之间的最短路径、以及互联端口序列作为当前计算节点的路由规则保存至路由表中。
进一步的,对最短路径建立对应的路由表项,路由表项包括,当前计算节点、所述当前计算节点互联端口、所述目标计算节点,以使当前计算节点接收到路由表后可以采用路由表项中保存的当前计算节点互联端口向所述目标计算节点发送消息。进而节约路由表所占用的存储空间,节约存储资源。
在本发明实施例中,具体可以采用迪杰斯特拉算法(Dijkstra算法)根据邻接矩阵计算每个计算节点对之间的最短路径,还可以采用插点算法(Floyd算法)根据邻接矩阵计算每个计算节点对之间的最短路径,触发所述数据分发模块404。
数据分发模块404,用于将路由表下发至计算节点中。
在本发明实施例中,数据分发模块404,具体用于将路由表通过通信通道的方式或者以广播的方式下发至计算节点中。计算节点为多个,计算节点可以包括:处理器和/或服务器。将路由表下发至计算节点中,使得计算节点接收并保存路由表,在发送消息时,计算节点读取并解析路由表,从中获取路由规则向目标计算节点发送消息。还可以以广播的方式向计算节点下发路由表。
在本发明实施例中,本发明技术方案通过对每一计算节点生成对应的路由表的方式,使得计算节点之间建立连接更为快速,同时解决了因计算节点数目的增加,导致各计算节点按照指定的拓扑进行连接变得复杂,甚至在不规则互联拓扑结构中无法自动建立连接的问题,使得本发明技术方案在进行互联网络连接时普遍适用。通过对每个计算节点生成路由表,使得计算节点之间根据路由表互联,无需在网络中设置交换器,避免交换器的使用,以此降低互联网络系统的成本。
在本发明的第三方面,提供一种计算节点互联拓扑构建连接系统,如图3所示包括:
路由表生成器601,用于读取邻接矩阵文件,根据邻接矩阵文件生成保存有每个计算节点间连接属性的邻接矩阵,根据邻接矩阵生成每个计算节点的互联通道连接信息,对每个计算节点,根据计算节点的所有互联通道连接信息生成计算节点的路由规则,将计算节点及其对应的路由规则保存至路由表;
在本发明实施例中,路由表生成器601,具体用于通过读取邻接矩阵文件,根据读取到的邻接矩阵文件生成邻接矩阵A,邻接矩阵的第i行,记录了计算节点i与其他所有计算节点的连接情况即连接属性。其中,A[i][j]的值为1表明计算节点i与计算节点j通过互联通道连接,A[i][j]的值为0表明计算节点i与计算节点j之间未连接。其中,邻接矩阵文件是预先对所有计算节点根据互联拓扑生成的。每个计算节点对应若干个互联端口,互联端口为处理器的快速互联通道或者计算节点的网卡。
路由表生成器601,具体还用于获取所有建立连接的计算节点,对所有相互建立连接的两个计算节点,分别作为当前计算节点和目标计算节点,分别获取当前计算节点和目标计算节点对应的第一个未被占用的互联端口,并将这两个互联端口对应的互联端口属性设为已占用。将当前计算节点、当前计算节点的互联端口、当前计算节点的互联端口属性、目标计算节点、目标计算节点的互联端口、目标计算节点的互联端口属性建立映射,并保存为该计算节点的互联通道连接信息,以此生成各计算节点之间的物理连接。
路由表生成器601,具体还用于从所有计算节点中获取任一个计算节点作为当前计算节点,根据当前计算节点的所有互联通道连接信息,分别获取与当前计算节点建立连接的其他计算节点,即目标计算节点,计算当前计算节点与各目标计算节点之间的最短路径,根据最短路径以及当前计算节点的互联通道连接信息生成当前计算节点的路由规则。根据最短路径及互联通道连接信息。获取当前计算节点与目标计算节点的最短路径上参与连接的所有计算节点、及其互联端口,组成互联端口序列,根据互联端口序列和最短路径生成当前计算节点的路由规则,具体将当前计算节点、当前计算节点对应的互联端口和互联端口属性、目标计算节点、当前计算节点与目标节点之间的最短路径、以及互联端口序列作为当前计算节点的路由规则保存至路由表中。
进一步的,对最短路径建立对应的路由表项,路由表项包括,当前计算节点、所述当前计算节点互联端口、所述目标计算节点,以使当前计算节点接收到路由表后可以采用路由表项中保存的当前计算节点互联端口向所述目标计算节点发送消息。进而节约路由表所占用的存储空间,节约存储资源。
在本发明实施例中,具体可以采用迪杰斯特拉算法(Dijkstra算法)根据邻接矩阵计算每个计算节点对之间的最短路径,还可以采用插点算法(Floyd算法)根据邻接矩阵计算每个计算节点对之间的最短路径。
通讯器602,分别与路由表生成器601和多个计算节点603连接,用于将路由表下发至计算节点中;
在本发明实施例中,通讯器602,具体用于数据传输,将路由表下发至各计算节点中,下发的方式可以是通信信道传输,还可以是数据广播。
多个计算节点603,用于接收路由表,并根据路由表与各计算节点建立通信。
在本发明实施例中,计算节点603,具体用于接收路由表,在需要发送消息的情形下读取路由表,从中获取路由规则,根据路由规则将消息从对应的端口向目标计算节点发出。
在本发明的第四方面,提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,当指令被处理器执行时可以实现如上所述的计算节点互联拓扑构建连接方法。
本发明提供另一实施例进行举例说明,提供一种本发明适用的计算节点互联拓扑架构,如图4所示,在无交换器网络中包含多个计算节点,此处以16个计算节点进行举例说明,节点编号1、2、…、16,每一个计算节点为一个处理器、一个计算机。每一个计算节点内建有一个路由表,计算节点按照路由表中规定的路由策略转发数据。
下面以16个计算节点下述(简称为节点)为例子,说明无交换器网络的自动构建方法:
通过读取邻接矩阵文件,根据读取到的邻接矩阵文件生成邻接矩阵A,邻接矩阵的第i行,记录了计算节点i与其他所有计算节点的连接情况即连接属性。其中,A[i][j]的值为1表明计算节点i与计算节点j通过互联通道连接,A[i][j]的值为0表明计算节点i与计算节点j之间未连接。其中,邻接矩阵文件是预先对所有计算节点根据互联拓扑生成的。
建立矩阵C以存储全部互联端口的使用情况,即各计算节点的互联端口属性,矩阵C为二维数组,行数为计算节点数,每行元素的数目为每个计算节点的互联端口的数目。C[i][k]=j被用来记录第i个节点的第k个端口与计算节点j相连。初始化C的所有元素为-1,以表明初始情况下,所有互联端口都没有被占用。
对计算节点i,遍历矩阵A的第i行,如果A[i][j]=1,则分别对矩阵C的第i行和第j行进行遍历,找到矩阵C第i行第一个非-1元素C[i][k],以及矩阵C第j行第一个非-1元素C[j][l],并将C[i][k]的值设为j,将C[j][l]的值设为i。以上设置表明第i个计算节点的第k个互联端口将与计算节点j连接,第j个计算节点的第l个互联端口将与计算节点i相连。依次对所有计算节点进行上述遍历,完成对矩阵C的设置。
完成对矩阵C的设置后,可以打印计算节点的各个端口的互联情况。依次遍历矩阵C的所有元素,若C[i][k]=j,则对矩阵C的第j行进行遍历,找到值为i的元素C[j][l],并输出将计算节点i的第k个互联端口与计算节点j的第l个互联端口相连,即得到计算节点i的互联通道连接信息。图4的架构经过计算后,得出的连接说明如下:
将节点0的第0个端口连接到节点1的第0个端口,将节点0的第1个端口连接到节点3的第0个端口,将节点0的第2个端口连接到节点4的第0个端口,将节点0的第3个端口连接到节点12的第0个端口,将节点1的第0个端口连接到节点2的第0个端口,将节点1的第1个端口连接到节点5的第0个端口,将节点1的第2个端口连接到节点13的第0个端口,将节点2的第1个端口连接到节点3的第0个端口,将节点2的第2个端口连接到节点6的第0个端口,将节点2的第3个端口连接到节点14的第0个端口,将节点3的第1个端口连接到节点7的第0个端口,将节点3的第2个端口连接到节点15的第0个端口,将节点4的第0个端口连接到节点5的第1个端口,将节点4的第1个端口连接到节点7的第1个端口,将节点4的第2个端口连接到节点8的第0个端口,将节点5的第2个端口连接到节点6的第1个端口,将节点5的第3个端口连接到节点9的第0个端口,将节点6的第2个端口连接到节点7的第2个端口,将节点6的第3个端口连接到节点10的第0个端口,将节点7的第3个端口连接到节点11的第0个端口,将节点8的第1个端口连接到节点9的第1个端口,将节点8的第2个端口连接到节点11的第1个端口,将节点8的第3个端口连接到节点12的第0个端口,将节点9的第2个端口连接到节点10的第1个端口,将节点9的第3个端口连接到节点13的第1个端口,将节点10的第2个端口连接到节点11的第2个端口,将节点10的第3个端口连接到节点14的第1个端口,将节点11的第3个端口连接到节点15的第1个端口,将节点12的第1个端口连接到节点13的第2个端口,将节点12的第2个端口连接到节点15的第2个端口,将节点13的第3个端口连接到节点14的第2个端口,将节点14的第3个端口连接到节点15的第3个端口。
建立计算节点间的路由表,确定任意两个计算节点之间的最短路径,包括:建立矩阵S和矩阵P,矩阵S中的元素S[i][j]表示计算节点i到计算节点j的距离,矩阵P中的元素P[i][j]表示从计算节点i到计算节点j的中间顶点编号不大于k时的最短路径上终点前一个结点的编号。在算法结束时,由二维数组P的值回溯,可以得到从计算节点i到计算节点j的最短路径。
对矩阵S进行初始化,若A[i][j]=1,将S[i][j]的值设为1;若A[i][j]=0,将S[i][j]的值设为∞;对矩阵P进行初始化,将P[i][j]的值设为i。
若无交换器网络G中顶点个数为N,则对矩阵S和矩阵P进行N次更新。第k次更新时,如果S[i][j]大于S[i][k]+S[k][j](S[i][k]+S[k][j]表示计算节点i与计算节点j之间经过第k个计算节点的距离),则更新S[i][j]的值为a[i][k]+a[k][j],并将P[i][j]的值设为P[k][j],更新N次之后操作完成。最后对矩阵P进行回溯,得到消息从计算节点i到计算节点j需要经过的所有节点。
得到任意两个节点间的最短路径后,结合矩阵C可以获得消息从计算节点i到计算节点j需依次经过的所有端口。
经过计算,在图4所示的互联拓扑图中,计算节点之间的平均路由长度为2.2,可以获得任意两个计算节点之间的消息路由规则。下述为图2中计算节点0与其余计算节点之间的路由规则:
每一行代表以弗洛伊德算法找到的两个计算节点之间的最短路径,右箭头指示了消息的流动方向。每一个计算节点右边括号里面的数字表明消息将从该计算节点的哪个互联端口流出以到达最短路径上的下一个计算节点。每一个计算节点左边括号里面的数字表明从最短路径上的上一个计算节点来到的消息将从该计算节点的哪个互联端口流入。
将计算得到的从计算节点i到其余所有计算节点的路由规则记录到计算节点i的路由表中。为了降低路由表占用的存储空间,计算节点i不必存储每一条最短路径的全部信息,对每一条最短路径,建立一个路由表项,路由表项只需记录为到达目标节点,需要将消息从当前计算节点的哪一个互联端口发出。当携带有目标地址信息的消息到达当前计算节点时,计算节点查找路由表,找到相关路由项,并按路由表项将消息从相应互联端口发送到最短路径上的下一个计算节点。下述为存储在计算节点0上的路由表:
将上述路由表下发至各计算节点中,计算节点按照路由表中规定的路由策略转发数据。
综上所述,本发明通过对每个计算节点生成路由表,使得计算节点之间根据路由表互联,无需在网络中设置交换器,避免交换器的使用,以此降低互联网络系统的成本。同时以对每一计算节点生成对应的路由表的方式,使得计算节点之间建立连接时直接依据路由表记录的路由规则,使得建立连接操作更为快速,同时本发明提供的方法使得各计算节点进行连接操作更为简单,并且在适用性更强。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (10)
1.一种计算节点互联拓扑构建连接方法,其特征在于,包括:
读取邻接矩阵文件,根据所述邻接矩阵文件生成保存有每个计算节点间连接属性的邻接矩阵;
根据所述邻接矩阵生成每个计算节点的互联通道连接信息;
对每个计算节点,根据计算节点的所有互联通道连接信息生成所述计算节点的路由规则,将所述计算节点及其对应的路由规则保存至路由表;
将所述路由表下发至所述计算节点中。
2.如权利要求1所述的方法,其特征在于,所述根据所述邻接矩阵生成每个计算节点的互联通道连接信息,包括:
获取所有建立连接的计算节点,对所有相互建立连接的两个计算节点,分别作为当前计算节点和目标计算节点,分别获取所述当前计算节点和所述目标计算节点对应的第一个未被占用的互联端口,并将所述互联端口对应的互联端口属性设为已占用,将所述当前计算节点、所述当前计算节点的互联端口、所述当前计算节点的互联端口属性、所述目标计算节点、所述目标计算节点的互联端口、所述目标计算节点的互联端口属性建立映射,并保存为所述当前计算节点的互联通道连接信息。
3.如权利要求2所述的方法,其特征在于,
所述方法还包括:所述计算节点包括若干个互联端口。
4.如权利要求1所述的方法,其特征在于,所述根据计算节点的所有互联通道连接信息生成所述计算节点的路由规则,包括:
获取一个计算节点作为当前计算节点,根据所述当前计算节点的所有互联通道连接信息,分别获取与所述当前计算节点建立连接的所有目标计算节点,计算所述当前计算节点与每一个所述目标计算节点之间的最短路径,根据所述最短路径和所述互联通道连接信息生成所述当前计算节点的路由规则。
5.如权利要求4所述的方法,其特征在于,所述根据所述最短路径和所述互联通道连接信息生成所述当前计算节点的路由规则,包括:
根据所述最短路径和所述互联通道连接信息,获取所述当前计算节点与所述目标计算节点的最短路径上参与连接的所有计算节点、及其互联端口,组成互联端口序列,根据所述互联端口序列和所述最短路径生成所述当前计算节点的路由规则。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
对所述最短路径建立对应的路由表项,所述路由表项包括,当前计算节点、所述当前计算节点互联端口、所述目标计算节点,以使所述当前计算节点采用所述路由表项中保存的当前计算节点互联端口向所述目标计算节点发送消息。
7.如权利要求1所述的方法,其特征在于,所述计算节点为多个,
所述计算节点包括:处理器和/或服务器。
8.一种计算节点互联拓扑构建连接软件系统,其特征在于,包括:
矩阵生成模块,用于读取邻接矩阵文件,根据邻接矩阵文件生成保存有每个计算节点间连接属性的邻接矩阵,触发互联生成模块;
互联生成模块,用于根据所述邻接矩阵生成每个计算节点的互联通道连接信息,触发路由表生成模块;
路由表生成模块,用于对每个计算节点,根据计算节点的所有互联通道连接信息生成所述计算节点的路由规则,将所述计算节点及其对应的路由规则保存至路由表,触发数据分发模块;
数据分发模块,用于将所述路由表下发至所述计算节点中。
9.一种计算节点互联拓扑构建连接系统,其特征在于,包括:
路由表生成器,用于读取邻接矩阵文件,根据邻接矩阵文件生成保存有每个计算节点间连接属性的邻接矩阵,根据所述邻接矩阵生成每个计算节点的互联通道连接信息,对每个计算节点,根据计算节点的所有互联通道连接信息生成所述计算节点的路由规则,将所述计算节点及其对应的路由规则保存至路由表;
通讯器,分别与路由表生成器和多个计算节点连接,用于将所述路由表下发至所述计算节点中;
多个计算节点,用于接收所述路由表,并根据所述路由表与各计算节点建立通信。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,其特征在于,当指令被处理器执行时可以实现如上权利要求1-7任一项所述的计算节点互联拓扑构建连接方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910041355.8A CN109510765A (zh) | 2019-01-16 | 2019-01-16 | 一种计算节点互联拓扑构建连接方法及软件系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910041355.8A CN109510765A (zh) | 2019-01-16 | 2019-01-16 | 一种计算节点互联拓扑构建连接方法及软件系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109510765A true CN109510765A (zh) | 2019-03-22 |
Family
ID=65757996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910041355.8A Pending CN109510765A (zh) | 2019-01-16 | 2019-01-16 | 一种计算节点互联拓扑构建连接方法及软件系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109510765A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866510A (zh) * | 2022-05-25 | 2022-08-05 | 山东省计算中心(国家超级计算济南中心) | 一种基于InfiniBand网络的跨网异地互联通信方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020156888A1 (en) * | 2001-04-23 | 2002-10-24 | Lee Man-Ho L. | Method and apparatus for detecting and reporting configuration errors in a multi-component switching fabric |
CN101039262A (zh) * | 2007-01-24 | 2007-09-19 | 中国科学院计算机网络信息中心 | 一种半覆盖自组织的动态组播路由方法 |
CN102142970A (zh) * | 2011-03-16 | 2011-08-03 | 华为技术有限公司 | 二层以太网络的组播树构建方法和网络节点设备 |
CN105138493A (zh) * | 2014-06-03 | 2015-12-09 | 黄吉川 | 适用并行运算的无交换器网络建构系统及方法 |
CN105590145A (zh) * | 2016-01-11 | 2016-05-18 | 北京交通大学 | 变电站内的一次设备之间的最短连通距离的识别方法和装置 |
CN106101262A (zh) * | 2016-07-21 | 2016-11-09 | 广州高能计算机科技有限公司 | 一种基于以太网的直连架构计算集群系统及构建方法 |
-
2019
- 2019-01-16 CN CN201910041355.8A patent/CN109510765A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020156888A1 (en) * | 2001-04-23 | 2002-10-24 | Lee Man-Ho L. | Method and apparatus for detecting and reporting configuration errors in a multi-component switching fabric |
CN101039262A (zh) * | 2007-01-24 | 2007-09-19 | 中国科学院计算机网络信息中心 | 一种半覆盖自组织的动态组播路由方法 |
CN102142970A (zh) * | 2011-03-16 | 2011-08-03 | 华为技术有限公司 | 二层以太网络的组播树构建方法和网络节点设备 |
CN105138493A (zh) * | 2014-06-03 | 2015-12-09 | 黄吉川 | 适用并行运算的无交换器网络建构系统及方法 |
CN105590145A (zh) * | 2016-01-11 | 2016-05-18 | 北京交通大学 | 变电站内的一次设备之间的最短连通距离的识别方法和装置 |
CN106101262A (zh) * | 2016-07-21 | 2016-11-09 | 广州高能计算机科技有限公司 | 一种基于以太网的直连架构计算集群系统及构建方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866510A (zh) * | 2022-05-25 | 2022-08-05 | 山东省计算中心(国家超级计算济南中心) | 一种基于InfiniBand网络的跨网异地互联通信方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104380672B (zh) | 用于802.1aq的三级折叠Clos优化 | |
US5398012A (en) | Distributed processing of route selection across networks and subnetworks | |
CN105450555B (zh) | 一种片上网络系统,及片上网络通信链路的建立方法 | |
CN104244118B (zh) | 基于阵列波导光栅的模块化互连网络的构建方法 | |
CN104348735B (zh) | 堆叠系统中的报文转发方法及装置 | |
CN105049353B (zh) | 一种为业务配置路由路径的方法及控制器 | |
CN111431803A (zh) | 一种路由选择方法及装置 | |
US7106740B1 (en) | Nexthop to a forwarding table | |
EP3229413B1 (en) | Cross-domain cooperative method, cooperative device and control device for network as a service business | |
CN103795631A (zh) | 部署了以太网虚拟连接的网络中的流量转发方法及设备 | |
CN114465943B (zh) | 拓扑信息的发布方法、网络拓扑收集方法及设备 | |
CN108111410A (zh) | 具有最少数量虚拟缓冲区的无损多维笛卡尔拓扑结构中的无死锁路由 | |
CN106101262A (zh) | 一种基于以太网的直连架构计算集群系统及构建方法 | |
CN116506348A (zh) | 通信网络系统、报文转发方法及报文转发装置 | |
CN104052663A (zh) | 一种大规模片上芯片互联方法及实现互联结构的路由算法 | |
US20140133851A1 (en) | Switching clos network universal element | |
CN102546380B (zh) | 修改的基于树的多播路由方案 | |
CN109510765A (zh) | 一种计算节点互联拓扑构建连接方法及软件系统 | |
CN107959642A (zh) | 用于测量网络路径的方法、装置和系统 | |
CN104734961B (zh) | 基于fc交换网络的路由选择方法 | |
CN101465788A (zh) | 一种域间路由互通的方法、装置和路径计算单元 | |
CN104935509A (zh) | 一种纵向堆叠系统中防止产生环路的方法和装置 | |
CN104822101B (zh) | Fabric网络同步端口诊断信息的方法及装置 | |
CN101742366B (zh) | 一种光分组网络中qos保证的参数化标签转发方法 | |
CN110139173A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190322 |