CN110581807B - 节点设备、路由方法及互联系统 - Google Patents

节点设备、路由方法及互联系统 Download PDF

Info

Publication number
CN110581807B
CN110581807B CN201811088203.5A CN201811088203A CN110581807B CN 110581807 B CN110581807 B CN 110581807B CN 201811088203 A CN201811088203 A CN 201811088203A CN 110581807 B CN110581807 B CN 110581807B
Authority
CN
China
Prior art keywords
node device
target
sent
message
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
Application number
CN201811088203.5A
Other languages
English (en)
Other versions
CN110581807A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201811088203.5A priority Critical patent/CN110581807B/zh
Priority to CN202110474616.2A priority patent/CN113328951B/zh
Publication of CN110581807A publication Critical patent/CN110581807A/zh
Application granted granted Critical
Publication of CN110581807B publication Critical patent/CN110581807B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery

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为本申请一示例性实施例提供的一种路由方法的流程示意图;
图5为本申请一示例性实施例提供的另一种路由方法的流程示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有网络拓扑结构在拓展性和网络性能方面存在的不足,本申请实施例提供一种新型的局部互联网络架构,其基本思路是:将交换模块引入节点设备内部,一方面通过交换模块可实现节点设备内部各资源模块间的数据交换,另一方面节点设备通过交换模块可以输出很多链路与外部其它节点设备互连,从而形成一种新的局部互联网络架构,该网络架构的互联扩展性较好,而且可以突破传统采用树形总线互连的网络架构在进行数据转发时存在的瓶颈,具有较高的网络性能。
以下结合附图,详细说明本申请各实施例提供的技术方案。
应注意到:相同的标号在下面的附图以及实施例中表示同一物体,因此,一旦某一物体在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1为本申请一示例性实施例提供的一种互联系统的结构示意图。如图 1所示,该系统包括:至少两个设备组101;每个设备组101包括至少一台节点设备102,每台节点设备102包括资源模块102a和交换模块102b。其中,每台节点设备102中的资源模块102a与交换模块102b连接,且每台节点设备102通过其交换模块102b与其所属设备组之外的其它节点设备互联。
在本实施例中,节点设备102中的交换模块102b可以实施为网络交换机或交换芯片,也可为具有网络交互功能的其他设备或模块,但不限于此。
在本实施例中,资源模块102a可以包括节点设备102中除交换模块102b 之外的其它模块,例如可以包括计算模块、存储模块、网络模块等。
可选地,每台节点设备102除了可以通过其交换模块102b实现设备内部和设备组之间的互联之外,还可以通过其交换模块102b与互联系统10之外的其它设备互联,从而将互联系统10接入互联网或更大规模的网络系统中。
在实施例中,将交换模块引入节点设备内部,一方面通过交换模块可实现节点设备内部各资源模块间的数据交换,另一方面节点设备通过交换模块可以输出很多链路与外部其它节点设备互连,从而形成一种新的局部互联网络架构,该网络架构的互联扩展性较好,而且可以突破传统采用树形总线互连的网络架构在进行数据转发时存在的瓶颈,具有较高的网络性能。另外,本实施例的互连系统,充分利用节点设备内已经存在的交换模块,不需要增加额外的交换机实现节点设备之间的互联,既可以节约交换机资源,又可以在每台节点设备有大量链路对外互联的情况下避免可能出现的交换机端口数目不足的问题。
值得说明的是,在本实施例的互联系统中,同一设备组101内部的节点设备102之间可以通过其它设备组中的节点设备102形成间接互联关系,彼此之间并不直接互联。当然,根据应用需求,同一设备组101内部的节点设备102 之间也可以直接互联,而且对于同一设备组101内部哪些节点设备之间直接互联,本实施例并不对此进行限定。在本申请实施例中,重点关注同一设备组101 内部的节点设备102之间并不直接互联的情况。
需要说明的是,在图1中所示出的互联系统中的设备组的数量、每个设备组中节点设备的数量、节点设备的实现形式以及互联系统的网络规模,本申请实施例均不做限定。针对不同的互联网应用场景,设备组和节点设备的数量和实现形式不同。
例如,本申请实施例提供的互联系统可以应用于集群级别的网络环境中。其中,每个集群包括多个机房,每个机房中设置有至少一台机柜,而每个机柜中设置有至少一台服务器。在集群级别的网络环境中,可以将一个机房划分为一个设备组,并将该机房中每个机柜中的服务器视为对应设备组内的节点设备,则机房之间可采用如图1所示的互联系统进行互联。
又例如,本申请实施例提供的互联系统还可以应用于机房级别的网络环境中。其中,每个机房设置有至少一台机柜,每台机柜中设置有至少一台服务器。在机房级别的网络环境中,可以将若干台机柜划分为一个设备组,并将这些机柜中的服务器视为对应设备组内的节点设备,则机柜之间可以采用如图1所示的互联系统进行互联。例如,机柜A包括3台服务器,机柜B包括5台服务器,机柜C包括4台服务器,则可以将机柜A和机柜B划分为一个设备组,将机柜 C划分为另一设备组,且机柜A、机柜B以及机柜C中的服务器可以采用如图 1所示互联方式进行互联。
又例如,本申请实施例提供的互联系统还可以应用于机柜级别的网络环境中,即可以将一个机柜中的服务器划分为不同的设备组,其中每个设备组包含至少一台服务器。在同一个机柜中,隶属于不同设备组的服务器之间可以采用如图1所示的互联方式进行互联。
下面以互联系统包含两个设备组为例对本申请技术方案进行示例性说明。为了便于描述和区分,将两个设备组分别将其定义为第一设备组和第二设备组,并结合如图2所示的互联系统对节点设备间的互联方式进行示例性说明。
如图2所示,互联系统20包括第一设备组201和第二设备组202。其中,第一设备组201包括N1台节点设备201a,第二设备组202包括N2台节点设备202a。第一设备组201中的每台节点设备通过其交换模块分别与第二设备组202中的N2台节点设备202a互联;N1、N2是正整数。
需要说明的是,在本实施中,对于第一设备组201中节点设备的数量N1和第二设备组202中节点设备的数量N2不做限定,可根据应用场景的需求进行灵活设备。其中,N1和N2可以相等,也可以不相等。优选地,第一设备,201中节点设备的数量N1和第二设备组202中节点设备的数量N2相等,这样,互联系统的结构更加简单,网络更加平衡,便于管理,也可以简化路由策略。
可选地,如图2所示,对于第一设备组201和第二设备组202中的节点设备来说,一般包括:资源模块102a和交换模块102b。其中,对于不同的节点设备来说,资源模块102a可以是计算模块102a1,或者是存储模块102a2,或者同时包含计算模块102a1和存储模块102a2。
其中,存储模块102a2,用于存储其所在节点设备的网络数据、相关的计算机程序等,但不限于此。存储模块102a2可以包括易失性的,例如 RAM,也可以包括非易失性的,例如只读存储器(Read-Only Memory,ROM)、闪存等,或者也可以同时包括两种类型的。存储器内通常存储有操作系统(Operating System,OS)、一个或多个应用软件,也可以存储有程序数据等。
其中,计算模块102a1是其所在节点设备的执行单元,例如可以包括CPU、 GPU、MCU、基于CPLD或FPGA实现的各种功能模块等中的一个或任意组合。若计算模块102a1为CPU或GPU,则可执行存储模块102a2所存储的计算机程序,以实现或完成相应计算、控制等逻辑。
进一步,如图2所示,每一个节点设备的交换模块102b包括至少一个物理端口。对于不同的节点设备,其交换模块102b包含的物理端口的数量可能相等,也可能不等,可根据其实现形式和应用场景进行灵活设置。在本实施例中,对每个设备组中的节点设备来说,其交换模块102b通过其物理端口与计算模块 102a1和存储模块102a2连接,并通过其交换模块102b上的物理端口与其它设备组中的节点设备互联。例如,第一设备组201中的节点设备分别通过其交换模块102b上的物理端口与第二设备组202中的节点设备的交换模块102b上的物理端口互联。为了便于区分和描述,将第一设备组201和第二设备组202中互联的两台节点设备所通过的物理端口的个数定义为K个,其中,K为正整数。即第一设备组201和第二设备组202中互联的两台节点设备通过K个物理端口实现互联,其中K的取值在本实施例中不做限定,其可根据节点设备具体的应用场景进行灵活设置。在本实施例中,对于第一设备组201和第二设备组202 中互联的两台节点设备的K个物理端口所形成的链路在逻辑上视为一条逻辑链路,因此,在图2中仅以一条连线示出。
图3为本申请实施例提供的一种节点设备的结构示意图。该节点设备30 隶属于互联系统中的一个设备组,其中,节点设备30包括交换模块301和资源模块302。交换模块301与资源模块302连接,且交换模块301还与互联系统中除节点设备所属设备组之外的其它节点设备连接。其中,对于节点设备和设备组的实现形式的具体描述可参见上述系统实施例中的相关描述,在此不做赘述。
在本实施例中,节点设备30可以是任何可以接入互联系统的网络设备,例如可以为服务器、存储设备、计算节点等,但不限于此。
在本实施例中,节点设备30中的交换模块301可以为网络交换机或交换芯片,也可为具有网络交互功能的其他设备或模块,但不限于此。
可选地,节点设备30还可通过其交换模块301与互联系统之外的其它设备互联,从而将互联系统10接入互联网或更大规模的网络系统中。其中,节点设备30通过其交换模块301与互联系统之外的其它设备进行互联的方式可采用本实施所提供的不同设备组中节点设备之间的互联方式进行互联,也可采用现有的互联方式进行互联,在本申请实施例中不做限定。
可选地,如图3所示,节点设备30一般包括:资源模块302和交换模块301。其中,对于不同的节点设备来说,资源模块302可以是计算模块302a,或者是存储模块302b,或者同时包括计算模块302a和存储模块302b,但不限于此。
其中,存储模块302a,用于存储其所在节点设备的网络数据、相关的计算机程序等,但不限于此。其中,存储模块302a可以包括易失性的,例如 RAM,也可以包括非易失性的,例如ROM、闪存等,或者也可以同时包括两种类型的。存储器内通常存储有OS、一个或多个应用软件,也可以存储有程序数据等。
其中,计算模块302b,是其所在节点设备的执行单元,例如可以包括CPU、 GPU、MCU、基于CPLD或FPGA实现的各种功能模块等中的一个或任意组合。若计算模块302b为CPU或GPU,则可执行存储模块302b所存储的计算机程序,以实现或完成相应计算、控制等逻辑。
进一步,如图3所示,节点设备30的交换模块301包括至少一个物理端口 (图3中未示出)。对于不同的节点设备,其交换模块301所包含的物理端口的数量可能相等,也可能不等,可根据其实现形式和应用场景进行灵活设置。在本实施例中,节点设备30通过其交换模块301上的物理端口与除其所属设备组之外的其它节点设备的物理端口互联。为了便于区分和描述,将两个设备组中互联的两台节点设备进行互联所需的物理端口的个数定义为K,其中,K为正整数。换句话说,节点设备30通过其交换模块301上的K个物理端口与除节点设备30所属设备组之外的其它节点设备的交换模块的K个物理端口互联,其中K的取值在本实施例中不做限定,其可根据节点设备具体的应用场景进行灵活设置。
进一步,节点设备30还包括:电源组件等其它组件(图3中未示出)。图3 中仅示意性给出部分组件,并不意味着节点设备只包括图3所示组件。其中,电源组件为节点设备30的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
在本实施例中,将交换模块引入节点设备内部,一方面通过交换模块可实现节点设备内部各资源模块间的数据交换,另一方面节点设备通过交换模块可以输出很多链路与外部其它节点设备互连,从而形成一种新的局部互联网络架构,该网络架构的互联扩展性较好,有助于突破传统采用树形总线互连的网络架构在进行数据转发时存在的瓶颈,具有较高的网络性能。
除上述提供的节点设备和互联系统之外,本申请一些实施例还提供一种路由方法,适用于图1和图2所示的互联系统中的任一节点设备。下面为了便于描述和区分,将从第一节点设备的角度,对本申请所提供的路由方法进行说明。其中,第一节点设备为图1和图2所示的互联系统中的任一节点设备。
图4为本申请实施例提供的一种路由方法的流程示意图。如图4所示,该方法包括:
S401、获取待发送消息。
S402、根据待发送消息中的目的地址,确定待发送消息需要到达的目标资源模块以及目标资源模块所属的目标节点设备。
S403、基于第一节点设备和目标节点设备之间存在的互联关系,将待发送消息发送至目标资源模块。
在本实施例中,第一节点设备隶属于图1或图2所示的互联网中的一个设备组。其中,该第一节点设备的结构可参见上述图1-图3所示实施例中的相关描述,在此不再赘述。
在步骤S401中,第一节点设备获取待发送消息的方式可以是:第一节点设备内部资源模块中的计算模块计算产生待发送消息,也可以为是从第一计算节点内部资源模块中的存储模块中读取待发送消息,或者为接收其它设备组中另一节点设备发送的待发送消息。其中,待发送消息携带有目的地址。当然,除了目的地址之外,待发送消息也可以携带源地址等信息。目的地址指向待发送消息的目的接收端,是某一节点设备中的某一资源模块(例如计算模块或存储模块),可简称为目标资源模块。这样,当进入步骤S402时,第一节点设备便可根据待发送消息中的目的地址,确定出待发送消息需要到达的目标资源模块以及目标资源模块所属的目标节点设备。之后,进入步骤 S403,基于第一节点设备和目标节点设备之间存在的互联关系,将待发送消息发送至目标资源模块。
其中,互联系统中的各节点设备会存储有路由表,该路由表的建立过程与现有路由表的建立过程相同,在此不再赘述。每台节点设备上的路由表中存储有该节点设备与互联系统中其它节点设备之间的以及该节点设备内部的互联关系。基于此,第一节点设备可以根据待发送消息中的目的地址查询其路由表,从而确定出待发送消息需要到达的目标资源模块以及目标资源模块所属的目标节点设备。
在本实施例中,第一节点设备可根据待发送消息中的目的地址,确定待发送消息需要到达的目标资源模块以及目标资源模块所属的目标节点设,进而基于第一节点设备和目标节点设备之间存在的互联关系,将待发送消息发送至目标资源模块,解决了上述互联系统中的路由问题,为上述互联系统实现内部通信提供了基础,为上述互联系统发挥扩展性和网络性能提供了条件。
可选地,在步骤402中,目标资源模块可能位于第一节点设备上,也可能位于与第一节点设备属于同一设备组的另一节点设备上,或者位于与第一节点设备隶属不同的设备组的其他节点设备上。当目标资源模块所属的节点设备不同时,第一节点设备和目标资源模块所属的目标节点设备的互联关系也就不同。
基于目标资源模块与第一节点设备的互联关系,步骤403存在以下三种可选实施方式:
实施方式1:若目标节点设备与第一节点设备是同一节点设备,则在步骤403中,可基于第一节点设备内部的互联关系,将待发送消息发送至目标资源模块。
实施方式2:若目标节点设备与第一节点设备隶属于不同设备组,则在步骤403中,可基于第一节点设备与目标节点设备所属设备组之间存在的互联关系,将待发送消息发送至目标节点设备,以供目标节点设备基于内部互联关系将待发送消息转发至目标资源模块。
实施方式3:若目标节点设备是第一节点设备所属设备组中的另一节点设备,由于同一设备组之间的节点设备之间不存在互联关系,则需将待发送消息先转发至其他设备组,再通过其他设备组的节点设备将待发送消息转发至目标节点设备。基于此,若目标节点设备是第一节点设备所属设备组中的另一节点设备,则在步骤403中,可基于第一节点设备与另一设备组之间存在的互联关系,通过另一设备组中的节点设备将待发送消息发送至目标节点设备,进而,目标节点设备基于内部互联关系将待发送消息转发至目标资源模块。
下面以图2所示的互联系统为例,对实施方式2和3进行示例性说明。
假设第一节点设备为图2中所示的第一设备组的节点设备1,目标节点设备为第二设备组的节点设备m+1,则节点设备1可基于其与第二设备组中节点设备m+1之间的互联关系,将待发送消息发送至节点设备m+1。假设第一节点设备为图2中所示的第一设备组的节点设备1,目标节点设备是第一设备组的节点设备3,则节点设备1基于其与第二设备组中任一节点设备(例如节点设备m+1)存在的互联关系,通过第二设备组中的节点设备m+1将待发送消息转发至节点设备3,之后节点设备3基于其内部的互联关系将待发送消息发送至目标资源模块。
进一步,考虑到对于目标节点设备与第一节点设备不是同一节点设备的情况,第一节点设备与目标节点设备之间的链路可能存在链路堵塞,例如,二者互联的所有物理端口都出现故障;又例如,二者之间的链路带宽被占满等,进而造成二者之间的互联链路不可达。
基于上述分析,在上述步骤403中,对于目标节点设备与第一节点设备隶属于不同设备组的情况,即上述实施方式2所描述的情况,可先判断第一节点设备与目标节点设备之间的互联链路是否可达,如二者之间的互联链路可达,则可通过第一节点设备与目标节点设备之间的互联链路将待发送消息发送至目标节点设备。如二者之间的互联链路不可达,则可从目标节点设备所属设备组中选择第二节点设备,并通过第一节点设备与第二节点设备之间的互联链路将待发送消息发送至所述第二节点设备,以供第二节点设备通过另一设备组中的节点设备将待发送消息转发给目标节点设备。
下面以图2中所示的互联结构为例,对上述第一节点设备和目标节点设备之间的互联链路是否可达,将待发送消息发送至目标节点设备的实施方式进行示例性说明。
假设第一节点设备为图2中所示的第一设备组的节点设备1,目标节点设备为第二设备组的节点设备m+1,若节点设备1和节点设备m+1之间的互联链路A可达,则节点设备1可以通过二者之间的互联链路A将待发送消息发送至节点设备m+1;若二者之间的互联链路A不可达,则从第二设备组中选择除节点设备m+1外的另一节点设备作为第二节点设备,例如节点设备m+3,之后节点设备1通过其与节点设备m+3之间的互联链路B将待发送消息发送至节点设备m+3,之后节点设备m+3将该待发送消息转发至第一设备组的除节点设备1 外的另一节点设备,例如节点设备3,并通过节点设备3与节点设备m+1之间的互联链路C将待发送消息转发给节点设备m+1。
进一步,在上述从目标节点设备所属设备组中选择第二节点设备时,可从目标节点设备所属设备组中,确定与第一节点设备之间的互联链路可达的至少一个候选节点设备;并随机从至少一个候选节点设备中选择第二节点设备。
或者,从目标节点设备所属设备组中,确定与第一节点设备之间的互联链路可达的至少一个候选节点设备;并根据至少一个候选节点设备与第一节点设备之间的互联链路上的负载情况,从至少一个候选节点设备中选择所述第二节点设备。例如,根据至少一个候选节点设备与第一节点设备之间的互联链路的负载情况,选择互联链路负载最少的链路所连接的节点设备作为第二节点设备,以提高待发送消息转发速率。
或者,从所述目标节点设备所属设备组中,确定与第一节点设备之间的互联链路可达的至少一个候选节点设备,根据所述至少一个候选节点设备的负载情况,从至少一个候选节点设备中选择第二节点设备。例如,根据至少一个候选节点设备的负载情况,选择负载最少的节点设备作为第二节点设备,以提高待发送消息转发速率。
同样以图2中所示的互联结构为例,对上述确定第二节点设备的实施方式进行说明。假设第一节点设备为图2中所示的第一设备组的节点设备1,目标节点设备为第二设备组的节点设备m+1,若确定出与节点设备1之间的互联链路可达的候选节点设备为节点设备m+2、节点设备m+3和节点设备m+4,则可从节点设备m+2、节点设备m+3和节点设备m+4任取一个作为第二节点设备;或者,根据节点设备1分布与节点设备m+2、节点设备m+3和节点设备m+4之间的链路负载情况,从三者中选择一个作为第二节点设备;或者,根据节点设备 m+2、节点设备m+3和节点设备m+4的负载情况,从三者中选择一个作为第二节点设备。
进一步,可选地,在上述步骤403中,对于目标节点设备是第一节点设备所属设备组中另一节点设备的情况,即上述实施方式3所描述的情况,需要通过另一设备组中的节点设备将待发送消息发送至目标节点设备。基于此,上述基于第一节点设备与另一设备组之间存在的互联关系,通过另一设备组中的节点设备将待发送消息发送至目标节点设备的一种可选实施方式为:从与第二节点设备和目标节点设备所属设备组不同的另一设备组中选择第三节点设备,并通过第一节点设备与第三节点设备之间的互联链路将待发送消息发送至第三节点设备,以供第三节点设备通过其与目标节点设备之间的互联链路将待发送消息转发给目标节点设备。其中,另一设备组可以为第一节点设备所属的设备组,第三节点设备为其设备组中与第一节点设备不同的其他节点设备,且与目标节点设置之间的互联链路可达。或者,另一设备组也可为与第一节点设备和第二节点设备所属设备组都不同的其他设备组,且该设备组中的第三节点设备与目标节点设备的互联链路可达。
值得说明的是,对于上述第一节点设备与目标节点设备隶属于不同设备组的情况,因两者之间的互联链路不可达在确定出第二节点设备后,由于第二节点设备与目标节点设备属于同一设备组,二者不能直接进行消息转发,因此,还需借助与目标节点设备所示设备组之外的并与之互联的其他设备组中的节点设备进行消息转发,该消息转发过程与上述通过第三节点设备进行消息转发的过程类似,区别仅在于发出消息的设备和接收消息的设备不同而已,故此不再赘述。
进一步,在上述过程中,考虑到需要通过第三节点设备转发待发送消息,如果第三节点设备选择不好,可能会引入消息的绕回传输,引入新的死锁风险,为解决该问题,第一节点设备可以向第三节点设备发送通道变更指示,以供第三节点设备将待发送消息切换至另一通道等待发送,该另一通道是指与待发送消息在第一节点设备上所在的通道不同的通道。
可选地,可通过更改待发送消息中携带的传输优先级,并通过第一节点设备与第三节点设备之间的互联链路将更改传输优先级后的待发送消息发送给所述第三节点设备。其中,消息中的传输优先级与节点设备中的通道具有对应关系,不同传输优先级对应不同的通道。当待发送消息在不同节点设备上通过不同通道发出时,一般不会出现绕回传输,有利于解决死锁风险。进一步,可选地,可将待发送消息中的携带的传输优先级更改为较高的优先级,这样第三节点设备在接收到待发送消息后可以将其尽快转发给目标节点设备,有利于提高通信效率。
为了更清楚地说明上述第一节点设备将待发送消息转发至目标节点设备的过程,下面以图2所示的互联系统为例对其转发过程进行示例性说明。如图2所示,该互联系统包括第一设备组和第二设备组,假设第一节点设备位于第一设备组,则其进行消息转发的过程如图5所示,包括:
S501、待发送消息到达第一节点设备内的交换模块。
S502、判断目的资源模块是否在该第一节点设备内,若是,则跳转至步骤S509;若否,则跳转至步骤S503。
S503、判断目的资源模块所属目的节点设备是否在第二设备组,若是,则跳转至步骤S504;若否,则跳转至步骤S507。
S504、判断第一节点设备与目的资源模块所属目的节点设备之间的互联链路是否可达,若是,则执行步骤S508;若否,则执行步骤S505。
S505、从第二设备组中选择与目标节点设备不同的节点设备作为第二节点设备,且第二节点设备与第一节点设备的互联链路可达,并将待发送消息发送至第二节点设备,以供第二节点设备将待发送消息切换到与第一节点设备内不同的通道进行转发,进入S506。
S506、从第一设备组中选择与第一节点设备不同的节点设备作为第三节点设备,且第三节点设备与第二节点设备以及目标节点设备之间的链路均可达,以供第二节点设备将待发送消息转发至第三节点设备,并供第三节点设备将待发送消息切换到与第一节点设备内不同的通道进行转发至目标节点设备,进入S 507。
S507、从第二设备组中选择与第一节点设备以及目标节点设备之间的链路均可达的节点设备作为第四节点设备,并将待发送消息转发至第四节点设备,以供第四节点设备将待发送消息切换到与第一节点设备内不同的通道进行转发至目标节点设备,进入S 508。
S508、待发送消息转发至目标节点设备,进入S 509。
S509、目的节点设备基于其内部的互联方式,将待发送消息转发至目标资源模块。
需要说明的是,图5仅以第一节点设备属于第一设备组进行示例性描述,同样,第一节点设备也可位于第二设备组,其进行待发送消息转发的过程与图5 中所示流程相同,只是将其中的第一设备组和第二设备组的描述进行互换即可,在此不再赘述。
由上述实施例描述的路由方法可知,在本实施例提供的互联系统内部,路由跳数相对较少,例如在同一节点设备内部的通信可以通过内部一跳完成,在两个设备组之间的通信可以通过一跳或者三跳完成,在同一设备组不同节点设备之间的通信可以通过两跳完成,具有较低的通信时延和较高的通信效率。
需要说明的是,上述实施例所提供方法的各步骤的执行主体可以是同一设备,或者,该方法也可由不同设备作为执行主体。比如,步骤S401至步骤S403 的执行主体可以为设备A;又比如,步骤S401和S402的执行主体可以为设备 A,步骤S403的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如S401、S402等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、 CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/ 或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (16)

1.一种互联系统,其特征在于,包括:至少两个设备组;每个设备组包括至少一台节点设备,每台节点设备包括交换模块和资源模块;
其中,每台节点设备中的资源模块与交换模块连接,且每台节点设备通过其交换模块与其所属设备组之外的其它节点设备互联;
其中,第一节点设备还用于:获取待发送消息;根据所述待发送消息中的目的地址,确定所述待发送消息需要到达的目标资源模块以及所述目标资源模块所属的目标节点设备;基于所述第一节点设备和所述目标节点设备之间存在的互联关系,将所述待发送消息发送至所述目标资源模块;
其中,基于所述第一节点设备和所述目标节点设备之间存在的互联关系,将所述待发送消息发送至所述目标资源模块,包括:
若所述目标节点设备与所述第一节点设备是同一节点设备,则基于所述第一节点设备内部的互联关系,将所述待发送消息发送至所述目标资源模块;
若所述目标节点设备与所述第一节点设备隶属于不同设备组,则基于所述第一节点设备与所述目标节点设备所属设备组之间存在的互联关系,将所述待发送消息发送至所述目标节点设备,以供所述目标节点设备基于内部互联关系将所述待发送消息转发至所述目标资源模块;
若所述目标节点设备是所述第一节点设备所属设备组中的另一节点设备,则基于所述第一节点设备与另一设备组之间存在的互联关系,通过所述另一设备组中的节点设备将所述待发送消息发送至所述目标节点设备,以供所述目标节点设备基于内部互联关系将所述待发送消息转发至所述目标资源模块,所述第一节点设备是所述互联系统中的任一节点设备。
2.根据权利要求1所述的互联系统,其特征在于,所述至少两个设备组包括第一设备组和第二设备组,所述第一设备组包括N1台节点设备,所述第二设备组包括N2台节点设备;
所述第一设备组中的每台节点设备通过其交换模块分别与所述第二设备组中的N2台节点设备互联;N1、N2是正整数。
3.根据权利要求2所述的互联系统,其特征在于,N1与N2相等。
4.根据权利要求2所述的互联系统,其特征在于,所述第一设备组和所述第二设备组中互联的两台节点设备通过K个物理端口实现互联,K是正整数。
5.根据权利要求1-4任一项所述的互联系统,其特征在于,每台节点设备还通过其交换模块与所述互联系统之外的其它设备互联。
6.根据权利要求1-4任一项所述的互联系统,其特征在于,所述节点设备为服务器。
7.根据权利要求1-4任一项所述的互联系统,其特征在于,每台节点设备中的资源模块包括计算模块和存储模块中的至少一种。
8.一种节点设备,其特征在于,所述节点设备隶属于互联系统中的一个设备组,所述节点设备包括交换模块和资源模块;所述交换模块与所述资源模块连接,且所述交换模块还与所述互联系统中除所述节点设备所属设备组之外的其它节点设备连接;
其中,所述节点设备用于:获取待发送消息;根据所述待发送消息中的目的地址,确定所述待发送消息需要到达的目标资源模块以及所述目标资源模块所属的目标节点设备;基于所述节点设备和所述目标节点设备之间存在的互联关系,将所述待发送消息发送至所述目标资源模块;
其中,基于所述节点设备和所述目标节点设备之间存在的互联关系,将所述待发送消息发送至所述目标资源模块,包括:
若所述目标节点设备与所述节点设备是同一节点设备,则基于所述节点设备内部的互联关系,将所述待发送消息发送至所述目标资源模块;
若所述目标节点设备与所述节点设备隶属于不同设备组,则基于所述节点设备与所述目标节点设备所属设备组之间存在的互联关系,将所述待发送消息发送至所述目标节点设备,以供所述目标节点设备基于内部互联关系将所述待发送消息转发至所述目标资源模块;
若所述目标节点设备是所述节点设备所属设备组中的另一节点设备,则基于所述节点设备与另一设备组之间存在的互联关系,通过所述另一设备组中的节点设备将所述待发送消息发送至所述目标节点设备,以供所述目标节点设备基于内部互联关系将所述待发送消息转发至所述目标资源模块。
9.根据权利要求8所述的节点设备,其特征在于,所述交换模块通过K个物理端口与所述其它节点设备中的每台节点设备互联,K是正整数。
10.根据权利要求8或9所述的节点设备,其特征在于,所述交换模块,还用于与所述互联系统之外的其它设备连接。
11.一种路由方法,适用于权利要求1-7任一项所述互联系统中的第一节点设备,其特征在于,所述方法包括:
获取待发送消息;
根据所述待发送消息中的目的地址,确定所述待发送消息需要到达的目标资源模块以及所述目标资源模块所属的目标节点设备;
基于所述第一节点设备和所述目标节点设备之间存在的互联关系,将所述待发送消息发送至所述目标资源模块;其中,基于所述第一节点设备和所述目标节点设备之间存在的互联关系,将所述待发送消息发送至所述目标资源模块,包括:
若所述目标节点设备与所述第一节点设备是同一节点设备,则基于所述第一节点设备内部的互联关系,将所述待发送消息发送至所述目标资源模块;
若所述目标节点设备与所述第一节点设备隶属于不同设备组,则基于所述第一节点设备与所述目标节点设备所属设备组之间存在的互联关系,将所述待发送消息发送至所述目标节点设备,以供所述目标节点设备基于内部互联关系将所述待发送消息转发至所述目标资源模块;
若所述目标节点设备是所述第一节点设备所属设备组中的另一节点设备,则基于所述第一节点设备与另一设备组之间存在的互联关系,通过所述另一设备组中的节点设备将所述待发送消息发送至所述目标节点设备,以供所述目标节点设备基于内部互联关系将所述待发送消息转发至所述目标资源模块。
12.根据权利要求11所述的方法,其特征在于,基于所述第一节点设备与所述目标节点设备所属设备组之间存在的互联关系,将所述待发送消息发送至所述目标节点设备,包括:
若所述第一节点设备与所述目标节点设备之间的互联链路可达,则通过所述第一节点设备与所述目标节点设备之间的互联链路将所述待发送消息发送至所述目标节点设备;
若所述第一节点设备与所述目标节点设备之间的互联链路不可达,则从所述目标节点设备所属设备组中选择第二节点设备,并通过所述第一节点设备与所述第二节点设备之间的互联链路将所述待发送消息发送至所述第二节点设备,以供所述第二节点设备通过另一设备组中的节点设备将所述待发送消息转发给所述目标节点设备。
13.根据权利要求12所述的方法,其特征在于,从所述目标节点设备所属设备组中选择第二节点设备,包括:
从所述目标节点设备所属设备组中,确定与所述第一节点设备之间的互联链路可达的至少一个候选节点设备;随机从所述至少一个候选节点设备中选择所述第二节点设备;或者
从所述目标节点设备所属设备组中,确定与所述第一节点设备之间的互联链路可达的至少一个候选节点设备;根据所述至少一个候选节点设备与所述第一节点设备之间的互联链路上的负载情况,从所述至少一个候选节点设备中选择所述第二节点设备;或者
从所述目标节点设备所属设备组中,确定与所述第一节点设备之间的互联链路可达的至少一个候选节点设备,根据所述至少一个候选节点设备的负载情况,从所述至少一个候选节点设备中选择所述第二节点设备。
14.根据权利要求11所述的方法,其特征在于,基于所述第一节点设备与另一设备组之间存在的互联关系,通过所述另一设备组中的节点设备将所述待发送消息发送至所述目标节点设备,包括:
从所述另一设备组中选择第三节点设备,并通过所述第一节点设备与所述第三节点设备之间的互联链路将所述待发送消息发送至所述第三节点设备,以供所述第三节点设备通过其与所述目标节点设备之间的互联链路将所述待发送消息转发给所述目标节点设备。
15.根据权利要求14所述的方法,其特征在于,还包括:
向所述第三节点设备发送通道变更指示,以供所述第三节点设备将所述待发送消息切换至另一通道等待发送,所述另一通道是指与所述待发送消息在所述第一节点设备上所在的通道不同的通道。
16.根据权利要求15所述的方法,其特征在于,向所述第三节点设备发送通道变更指示,包括:
更改所述待发送消息中携带的传输优先级,并通过所述第一节点设备与所述第三节点设备之间的互联链路将更改传输优先级后的待发送消息发送给所述第三节点设备。
CN201811088203.5A 2018-09-18 2018-09-18 节点设备、路由方法及互联系统 Active CN110581807B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811088203.5A CN110581807B (zh) 2018-09-18 2018-09-18 节点设备、路由方法及互联系统
CN202110474616.2A CN113328951B (zh) 2018-09-18 2018-09-18 节点设备、路由方法及互联系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811088203.5A CN110581807B (zh) 2018-09-18 2018-09-18 节点设备、路由方法及互联系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110474616.2A Division CN113328951B (zh) 2018-09-18 2018-09-18 节点设备、路由方法及互联系统

Publications (2)

Publication Number Publication Date
CN110581807A CN110581807A (zh) 2019-12-17
CN110581807B true CN110581807B (zh) 2021-05-18

Family

ID=68810360

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201811088203.5A Active CN110581807B (zh) 2018-09-18 2018-09-18 节点设备、路由方法及互联系统
CN202110474616.2A Active CN113328951B (zh) 2018-09-18 2018-09-18 节点设备、路由方法及互联系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110474616.2A Active CN113328951B (zh) 2018-09-18 2018-09-18 节点设备、路由方法及互联系统

Country Status (1)

Country Link
CN (2) CN110581807B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103188157A (zh) * 2011-12-28 2013-07-03 迈普通信技术股份有限公司 一种路由器设备
CN105100234A (zh) * 2015-07-14 2015-11-25 浪潮(北京)电子信息产业有限公司 一种云服务器互联系统
CN106502841A (zh) * 2016-10-27 2017-03-15 杭州迪普科技股份有限公司 数据备份方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005019970A2 (en) * 2003-07-03 2005-03-03 Ubi Systems, Inc. Communication system and method for an optical local area network
CN101094125A (zh) * 2006-06-23 2007-12-26 华为技术有限公司 在atca/atca300扩展交换带宽的交换结构
CN101924682B (zh) * 2009-06-11 2012-07-04 华为技术有限公司 一种高级电信计算架构交换系统、方法及通信设备
US8369296B2 (en) * 2010-04-26 2013-02-05 International Business Machines Corporation Distributed link aggregation
CN105812288B (zh) * 2014-12-29 2020-04-10 中兴通讯股份有限公司 一种数据交换方法、多框互联系统及其框设备
CN105072155A (zh) * 2015-07-13 2015-11-18 浪潮电子信息产业股份有限公司 一种网络压力卸载的整机柜服务器架构及设计方法
CN106789679B (zh) * 2015-11-24 2020-02-21 新华三技术有限公司 一种线卡框、多框集群路由器、选路及报文处理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103188157A (zh) * 2011-12-28 2013-07-03 迈普通信技术股份有限公司 一种路由器设备
CN105100234A (zh) * 2015-07-14 2015-11-25 浪潮(北京)电子信息产业有限公司 一种云服务器互联系统
CN106502841A (zh) * 2016-10-27 2017-03-15 杭州迪普科技股份有限公司 数据备份方法及装置

Also Published As

Publication number Publication date
CN110581807A (zh) 2019-12-17
CN113328951B (zh) 2022-10-28
CN113328951A (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
US10296392B2 (en) Implementing a multi-component service using plural hardware acceleration components
US10606651B2 (en) Free form expression accelerator with thread length-based thread assignment to clustered soft processor cores that share a functional circuit
US9007920B2 (en) QoS in heterogeneous NoC by assigning weights to NoC node channels and using weighted arbitration at NoC nodes
CN104468401A (zh) 一种报文处理方法和装置
CN110313163A (zh) 分布式计算系统中的负载平衡
EP2549388A1 (en) Computer system
CN109451540B (zh) 一种网络切片的资源分配方法和设备
US20180227146A1 (en) Network-on-chip, data transmission method, and first switching node
JP2006101525A (ja) データ・フロー・アプリケーションのためのネットワーク・オン・チップ半自動通信アーキテクチャ
CN109194578B (zh) 一种专线业务的开通方法及装置
US11121940B2 (en) Techniques to meet quality of service requirements for a fabric point to point connection
US11726938B2 (en) Communications for field programmable gate array device
EP3285173A1 (en) Cpu interconnecting apparatus, system and control method, control apparatus therefor
Biswas et al. A novel leader election algorithm based on resources for ring networks
WO2015043679A1 (en) Moving stateful applications
KR101800320B1 (ko) 버스 프로토콜 기반의 네트워크 온 칩 시스템, 그 설계 방법 및 그 설계 방법에 관한 프로그램이 기록된 컴퓨터 판독가능 기록매체
CN110581807B (zh) 节点设备、路由方法及互联系统
CN116886496A (zh) 基于dpu的数据处理方法、装置、设备及可读存储介质
US11595471B1 (en) Method and system for electing a master in a cloud based distributed system using a serverless framework
Jabbarifar et al. A scalable network-aware framework for cloud monitoring orchestration
CN112104566B (zh) 一种负载均衡的处理方法和装置
US7694064B2 (en) Multiple cell computer systems and methods
CN115361332A (zh) 容错路由的处理方法及装置、处理器和电子设备
CN112751768B (zh) 业务报文转发方法、装置及计算机存储介质
US10148518B2 (en) Method and apparatus for managing computer system

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