CN108574584B - 一种网格***及在该网格***的路径确定方法和控制设备 - Google Patents

一种网格***及在该网格***的路径确定方法和控制设备 Download PDF

Info

Publication number
CN108574584B
CN108574584B CN201710134643.9A CN201710134643A CN108574584B CN 108574584 B CN108574584 B CN 108574584B CN 201710134643 A CN201710134643 A CN 201710134643A CN 108574584 B CN108574584 B CN 108574584B
Authority
CN
China
Prior art keywords
node
group
inter
path
forwarder
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
CN201710134643.9A
Other languages
English (en)
Other versions
CN108574584A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710134643.9A priority Critical patent/CN108574584B/zh
Priority to PCT/CN2018/076674 priority patent/WO2018161793A1/zh
Publication of CN108574584A publication Critical patent/CN108574584A/zh
Application granted granted Critical
Publication of CN108574584B publication Critical patent/CN108574584B/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • 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
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及计算机技术领域,尤其涉及一种网格***及在该网格***的路径确定方法和控制设备,该网格***包含N个节点组,每个节点组包含至少一个节点,每个节点组对应至少一个组间转发者,且每个节点组对应的组间转发者的数量少于节点组的满配节点数,组间转发者用于将N个节点组中的任两个节点组中的节点进行连接,组间转发者可以是位于节点组内的组间节点,也可以是位于节点组外的线卡,区别于现有技术中每个节点组内的所有节点均是组间转发者且所有节点组均预先布置好连接关系,后期不可增加或减少节点组,本申请的网格***由于并没有使用组间全连接,从而可以简化组间连接的工程部署,可按节点组逐步对网格***进行扩容,避免资源浪费。

Description

一种网格***及在该网格***的路径确定方法和控制设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种网格***及在该网格***的路径确定方法和控制设备。
背景技术
云计算时代的网络通信发生了重大改变,用户与网络流量大部分集中在数据中心内部,数据中心流量和带宽呈指数级增长,已经远超出了人们对传统网络的想象。数据中心是流量汇集地,也是设备与光纤汇集地,同时也是成本与功耗汇集地。因此,数据中心网络架构的解决方案意义非常重大。
数据中心网络的流量每年大幅增长,未来的数据中心需要Pbps的交换容量,传统克劳斯(CLOS)架构下的汇聚网络或者胖树网络在网络交换容量、布纤运维、工程部署上遇到了难以解决的瓶颈。
为解决上述问题,现有技术提出了两级网格***(mesh)数据中心网络(英文:datacenter network,简称DCN)的创新架构,其在转发效率上带来很大的优势。如图1所示,为现有技术中的两级网格***架构示意图,在一个网格***中包含多个节点组,每个节点组内包含多个节点,现有技术的两级网格***中,每个节点组内部全互连,即同一组内的任两个节点之间互连,图1中同一节点组内的每个节点均与一个波导光栅(英文:array waveguidegrating,简称:AWG)或循环阵列波导光栅(英文:cyclic array waveguide grating,简称:CAWG)连接,从而实现该节点组内的任两个节点之间互连;并且,任两个节点组之间也是全互连,具体是指一个节点组内的一个节点与其他每个节点组中的一个节点,构成一个组间平面,且一个节点组内的任一节点只能属于一个组间平面,以图1为例,1024个节点(例如可以是交换机)共分成32个节点组,每组包含32个节点,一个节点组内的32个节点通过阵列采用全部互连,共有32个组内全互联,具体地,每个节点组内的32个节点分别与一个AWG连接,AWG采用32*32规格,即32根输入光纤与32根输出光纤,每根光纤上最多可承载32个波长;组间也采用AWG全互联,具体连接方法是:各组内编号为1的节点与组间编号为1的AWG连接,构成一个组间平面,编号为2的节点与组间编号为2的AWG的连接,构成一个组间平面,以此类推,共形成32个组间AWG全互联,即形成32个组间平面,每个组间平面分别包含32个组间节点,其中,组间节点指的是一个节点组内能够与其他节点组内的节点进行连接的节点。
采用图1所示的网格***架构部署DCN时,需要将规划设计的所有节点一次性全部部署,不能满足按节点组逐步扩容的需求,造成一定的资源浪费。
发明内容
本申请提供一种网格***及在该网格***的路径确定方法和控制设备,以满足在部署DCN时按节点组逐步扩容的需求,进而避免资源浪费。
第一方面,本申请提供了一种网格***,包括N个节点组,N为大于1的整数,所述N个节点组中的每个节点组包含至少一个节点,所述每个节点组对应至少一个组间转发者,所述每个节点组对应的组间转发者的数量少于所述节点组的满配节点数;所述N个节点组中的任意两个节点组中的节点通过所述任意两个节点组分别对应的组间转发者互连。
本申请实施例提供的网格***,包含N个节点组,每个节点组包含至少一个节点,每个节点组对应至少一个组间转发者,且每个节点组对应的组间转发者的数量少于所述节点组的满配节点数,其中,组间转发者用于将所述N个节点组中的任两个节点组中的节点进行连接,组间转发者可以是位于节点组内的组间节点,也可以是位于节点组外的线卡,区别于背景技术中每个节点组内的所有节点均是组间转发者且网格***内的所有节点组均预先布置好连接关系,后期不可增加或减少节点组,本申请实施例的网格***由于并没有使用组间全连接,从而可以简化组间连接的工程部署,并且后期方便按节点组逐步对网格***进行扩容,有效避免资源浪费。
结合第一方面,在第一方面的第一种可能的实现方式中,所述每个节点组对应的至少一个组间转发者为所述节点组中的组间节点;所述N个节点组中的任意两个节点组中的节点通过所述任意两个节点组分别对应的组间转发者互连,包括:
所述N个节点组的任一节点组中的组间节点分别与其它每个节点组中对应的组间节点互连,以及,所述N个节点组的任一节点组中的非组间节点分别与该节点组中的一个组间节点互连。
上述实施例中,每个节点组包含组间转发者和非组间转发者,具体地,每个节点组对应的至少一个组间转发者是为该节点组中的组间节点,组间节点可与其它每个节点组中的一个节点连接,每个节点组内的非组间转发者为非组间节点,即未与其它节点组中的节点连接的节点。如此,可在不改变现有网格***的节点组结构的基础上,只需改变节点组中的节点之间的连接关系,就可以实现构建新的网格***,从而减小部署的难度。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述N个节点组中的每个节点组均包含组间节点和非组间节点;或者,
所述N个节点组中的M个节点组均包含组间节点和非组间节点,且其它N-M个节点组均仅包含组间节点且不包含非组间节点,M为小于N的正整数。
上述实施例中,给出了当组间转发者为节点组中的节点时的两种实现方式,第一种实现方式中,组间节点只在已部署的节点组中内实施,对于未部署的节点组,则不实施组间节点的连接,因而对于已经部署实施的节点组,既有组间节点又有非组间节点;第二种方式中,组间节点在所有节点组内实施(包含已经部署的节点组和未部署的节点组),对于未部署的节点组,只将其中用于组间连接的组间节点与其它组中的组间节点进行连接,而不对其中的非组间节点实施组内连接。第一种实现方式可减少前期部署工作量,第二种实现方式可减少后期增加节点组的工作量,具体可视实际需要进行部署。
结合第一方面,在第一方面的第三种可能的实现方式中,所述***还包括至少一个融合节点,所述至少一个融合节点中的每个融合节点包含N个线卡,所述N个线卡中的每个线卡分别连接所述N个节点组中的一个节点组,所述每个节点组对应的任一组间转发者为一个融合节点中的一个线卡;所述N个线卡通过所述融合节点的内部接口互相通信。
该实施例给出了实现网格***中节点互连的另一种具体实现方式,该实现方式改变了现有网格***的每个节点组包含的节点类型,具体地,如背景技术中提到的网格***,其每个节点组中既包含组间节点和非组间节点,而在该实施例中,每个节点组内只包含非组间转发者,而每个节点组对应的组间转发者不在节点组内,而是由融合节点中的线卡代替,即一个融合节点中的N个线卡分别作为N个节点组中的一个节点组所对应的组间转发者。该实现方式将组间转发者从节点组内独立出来,通过融合节点完成组间转发功能,因而便于安装部署,后期在做节点组扩容时,只需要将节点组连接至融合节点上对应的线卡即可,简化了部署操作。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述N个节点组的每个节点组中的所有节点均与一个阵列波导光栅AWG或循环阵列波导光栅CAWG连接;
所述N个线卡中的每个线卡分别连接所述N个节点组中的一个节点组,包括:
所述每个融合节点中的每个线卡与所述N个节点组中每个节点组所连接的AWG或CAWG对应连接。
第二方面,本申请提供一种基于上述第一方面所述的网格***的路径确定方法,所述***还包括控制设备,所述控制设备管理所述***中的所有节点,所述方法包括:
所述控制设备确定所述***中的第一节点和第二节点;所述第一节点为所述***中的任意一个节点,所述第二节点为所述***中除所述第一节点之外的任意一个节点;
当所述第一节点与所述第二节点不属于同一节点组时,所述控制设备根据与所述第一节点所在的节点组对应的组间转发者,得到所述第一节点对应的第一组间节点集,以及根据与所述第二节点所在的节点组对应的组间转发者,得到所述第二节点对应的第二组间节点集;
所述控制设备根据所述第一组间节点集与所述第二组间节点集确定所述第一节点与所述第二节点之间的组间路径集,所述组间路径集包含从所述第一组间节点集中的任一节点到所述第二组间节点集中的对应组间节点的路径;
所述控制设备根据所述第一节点所在的节点组的第一组内路径集、所述第二节点所在的节点组的第二组内路径集以及所述组间路径集,得到所述第一节点到所述第二节点的至少一条转发路径;
所述控制设备向所述第一节点发送所述至少一条转发路径。
上述实施例中,网格***还包括一个控制设备,该控制设备用于确定网格***中任两个不在同一节点组的节点之间的转发路径,并将确定的转发路径发送给网格***中的第一节点,从而使得第一节点可以根据接收到的路径,转发数据流或者报文。
结合第二方面,在第二方面的第一种可能的实现方式中,所述控制设备根据所述第一节点所在的节点组的组内路径集、所述第二节点所在的节点组的组内路径集以及所述组间路径集,得到所述第一节点到所述第二节点的至少一条转发路径,包括:
所述控制设备根据所述第一组内路径集,确定所述第一节点到所述组间路径集中的每条组间路径的第一端点的路径、以及根据所述第二组内路径集,确定所述每条组间路径的第二端点到所述第二节点的路径;
所述控制设备根据所述第一节点到所述组间路径集中的每条组间路径的第一端点的路径以及所述每条组间路径的第二端点到所述第二节点的路径,得到所述第一节点到所述第二节点的至少一条转发路径。
结合第二方面,在第二方面的第二种可能的实现方式中,所述方法还包括:
所述控制设备确定所述***中的第三节点;
当所述第一节点与所述第三节点属于同一节点组时,所述控制设备根据所述第一组内路径集,得到从所述第一节点到所述第三节点的转发路径。
上述实施例给出了当第一节点与第三节点在同一组时的路径确定方法,如此,可确定出网格***中同一节点组内的节点之间的路径。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的非组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点分别互连的非组间转发者;
从所述第一节点到所述第二节点的路径包含:所述第一节点与所述第一节点所在的节点组对应的第一组间转发者之间的子路径,所述第一组间转发者与所述第二节点所在的节点组对应的第二组间转发者之间的子路径,以及所述第二组间转发者与所述第二节点之间的子路径;或者,
所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的非组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点均没有连接的组间转发者;从所述第一节点到所述第二节点的路径包含:所述第一节点与所述第一节点所在的节点组对应的第一组间转发者之间的子路径,以及所述第一组间转发者与所述第二节点之间的子路径。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点分别互连的非组间转发者;从所述第一节点到所述第二节点的路径包含:所述第一节点与目标组间转发者之间的子路径,以及所述目标组间转发者与所述第二节点之间的子路径,所述目标组间转发者为所述第二节点所在的节点组对应的组间转发者;或者,
所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点均没有连接的组间转发者;且所述第一节点与所述第二节点互连;从所述第一节点到所述第二节点的路径为:所述第一节点与所述第二节点之间的路径;或者
所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点均没有连接的组间转发者;且所述第一节点与所述第二节点没有连接;从所述第一节点到所述第二节点的路径包含:所述第一节点与所述第一节点所在的节点组对应的第一组间转发者之间的子路径,以及所述第一组间转发者与所述第二节点之间的子路径。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第一节点为与所述第一节点所在的节点组内的每个节点均没有连接的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点分别互连的的组间转发者,且所述第一节点与所述第二节点之间没有连接;从所述第一节点到所述第二节点的路径包含:所述第一节点与目标组间转发者之间的子路径,以及所述目标组间转发者与所述第二节点之间的子路径,所述目标组间转发者为所述第二节点所在的组对应的组间转发者;或者,
所述第一节点为与所述第一节点所在的节点组内的每个节点均没有连接的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点分别互连的组间转发者,且所述第一节点与所述第二节点互连;从所述第一节点到所述第二节点的路径为:所述第一节点与所述第二节点之间的路径;或者,
所述第一节点为与所述第一节点所在的节点组内的每个节点均没有连接的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点均没有连接的组间转发者,且所述第一节点与所述第二节点互连;从所述第一节点到所述第二节点的路径为:所述第一节点与所述第二节点之间的路径。
第三方面,本申请提供一种基于上述第一方面所述的网格***的控制设备,所述***包括所述控制设备,所述控制设备管理所述***中的所有节点,所述控制设备可以执行实现上述第二方面提供的任意一种路径确定方法。
在一种可能的设计中,该控制设备包括多个功能模块,用于实现上述第二方面提供的任意一种路径确定方法,使得控制设备确定网格***中任两个不在同一节点组的节点之间的转发路径,并将确定的转发路径发送给网格***中的第一节点,从而使得第一节点可以根据接收到路径,转发数据流或者报文。
在一种可能的设计中,控制设备的结构中包括处理器和通信端口,所述处理器被配置为支持控制设备执行上述第一方面的路径确定方法中相应的功能。所述通信端口用于支持控制设备与节点之间的通信,向节点发送上述路径确定方法中所涉及的信息或者指令。控制设备中还可以包括存储器,所述存储器用于与处理器耦合,其保存控制设备必要的程序指令和数据。
第四方面,本申请实施例提供了一种计算机存储介质,用于储存为上述第三方面提供的控制设备所用的计算机软件指令,其包含为执行上述第二方面的方法所设计的程序。
第五方面,本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面所述的方法。
附图说明
图1为背景技术中的现有网格***示意图;
图2为本申请提供的一种网格***示意图;
图3为本申请提供的另一种网格***示意图;
图4为本申请提供的另一种网格***示意图;
图5为本申请提供的另一种网格***示意图;
图6为本申请提供的另一种网格***示意图;
图7为本申请提供的另一种网格***示意图;
图8为本申请提供的路径确定方法流程图;
图9为本申请提供的另一种网格***示意图;
图10为本申请提供的另一种网格***示意图;
图11为本申请提供的另一种网格***示意图;
图12为本申请提供的一种控制设备;
图13为本申请提供的另一种控制设备。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。
本申请实施例提供一种网格***,包括N个节点组,N为大于1的整数,每个节点组包含至少一个节点,网格***中还包含组间转发者,用于实现将对应该组间转发者的节点组中的节点的报文转发至其它节点组,该网格***中,每个节点组对应至少一个组间转发者,每个节点组对应的组间转发者的数量少于所述节点组的满配节点数,非组间转发者指的是一个节点组中不能将自身的报文或数据流直接转发至其它节点组的节点,一个非组间转发者是一个节点组内的节点,该节点只能将自身的报文转发至该节点所在的节点组中的其它节点。一个节点组的满配节点数是指该节点组最大支持的节点数,该节点组的满配节点数由组成该节点组的节点的端口规格确定,例如可以是16,32,48,64等。
本申请实施例中,N个节点组中的任意两个节点组中的节点通过该任意两个节点组分别对应的组间转发者互连。
本申请实施例中,非组间转发者为节点组内的节点,组间转发者可以是节点组内的节点(当组间转发者是节点组内的节点时,本申请中也将该组间转发者称为组间节点,一个节点组内的组间节点指的是直接与其它节点组内的节点通信,或者是通过该组间节点所在的节点组内的其它组间节点与其它节点组内的节点通信的节点),组间转发者还可以是节点组外的用于实现不同节点组中的节点之间报文转发的硬件实体,例如可以是线卡等。
下面结合附图2至附图4,对本申请提供的网格***做具体描述。下面根据组间转发者的类型,分两种情形分别描述。
情形一、组间转发者为节点组中的组间节点
该情形一中,每个组间转发者为对应该组间转发者的节点组中的一个组间节点,N个节点组的任一节点组中的组间节点分别与其它每个节点组中对应的组间节点互连,且该N个节点组的任一节点组中的非组间节点分别与该节点组中的一个组间节点互连。具体来说,该N个节点组的任一节点组中的组间节点通过AWG或CAWG分别与其他每个节点组中的对应的组间节点互连。
参考图2,为本申请实施例提供的一种网格***示意图,其中以网格***满配时包含16个节点组,每个节点组中包含16个节点为例进行说明。
参考图2,每个节点组中均包含两个组间节点,分别是节点2和节点3(这里仅是作为示例进行说明,并不局限于该具体示例),即每个节点组中的节点2与其它节点组中的节点2互连,每个节点组中的节点3与其它节点组中的节点3互连。
需要说明的是,一个节点组内的组间节点是与其它节点组内的组间节点对应相连的,即,一个节点组内的组间节点与且只与其它节点组内的一个组间节点连接,例如,如图2,节点组内的组间节点2一旦建立与其它节点组内的组间节点2之间的连接后,就不能还同时建立与其它节点组内的组间节点3之间的连接。
本申请实施例中,多个节点组内的相互连接的多个组间节点构成一个组间平面,如图2所示,16个组间节点2构成一个组间平面,16个组间节点3构成一个组间平面。
需要说明的是,具体实现中,如果网格***中有多个组间平面,则至少有一个组间平面内的组间节点是全连接的,所述全连接指的是组间平面内的组间节点的数量等于节点组的数量,如图2所示,16个组间节点2构成一个全连接,当网格***中有一个全连接的组间平面时,则其它的组间平面可以不是全连接的,例如,节点组1-节点组15内的节点3构成一个组间平面,即节点组1-节点组15中的节点3均为组间节点,而节点组16中的节点3不是组间节点,此时,节点组16内的非组间节点(即除组间节点2之外的其它15个节点)的报文均需要通过节点组16内的组间节点2转发至其它节点组。
基于图2所示的网格***,不同节点组内的节点需要通信时,均通过节点所在的节点组内的组间节点进行通信,例如,假设节点组1中的节点1(称为第一节点)需要将报文转发至节点组2中的节点16(称为第二节点),则第一节点首先需要将报文转发至节点组1中的组间节点2和/或组间节点3(这里,第一节点可以是直接将报文转发至节点组1中的组间节点2和/或组间节点3,也可以是先将报文转发至节点组1中的其它非组间节点,然后由其它非组间节点再将报文转发至节点组1中的组间节点2和/或组间节点3),然后由节点组1中的组间节点2和/或组间节点3将报文转发至节点组2中属于同一组平面的组间节点(即节点组1中的组间节点2将报文转发至节点组2中的组间节点2,节点组1中的组间节点3将报文转发至节点组2中的组间节点3),接着,节点组2中的组间节点2将报文转发至节点组2中的非组间节点16,和/或,节点组2中的组间节点3将报文转发至节点组2中的非组间节点16,从而完成报文或数据流的转发。
基于图2所示的网格***,相较于图1所示的现有技术网格***,由于减少了组间平面的数量,因而减小了网格***的复杂度,有利于降低后期网格***扩容(例如增加节点组)时的部署难度,并且,由于可以按节点组扩容,因而实现起来也更为灵活。
基于情形一的网格***架构,本申请进一步提出两种具体的网格***的实现方式,分别如图3和图4所示。下面分别介绍。
参考图3,为情形一下的第一种网格***架构,其中,图中规划满配时共有N个节点组(图中示例为16组),初期只部署M组(图3中示例为3组),这3个节点组(图3中为节点组1-节点组3)中既包含组间节点,也包含非组间节点,对于其它的后续可进行按节点组扩容的13个节点组(即节点组4-节点组16),初期只部署组间节点(图3中为组间节点2和组间节点3,需要建立节点组4-节点组16内的组间节点2和组间节点3与其它节点组内的组间节点之间的连接),不部署非组间节点。
在图3所示的实现方式中,实际使用的只是已经部署的节点组1-节点组3,而对于未做部署的其它13个节点组,仅仅是建立了这13个节点组内的组间节点与其它每个节点组内的组间节点之间的连接,但并没有真正使用,并且,该实现方式中,所有的组间平面均采用全连接。
这种方法,后续按节点组扩容时,只需增加节点组内的非组间节点,并进行组内连接即可,组间不需要再部署连接关系,例如,如图3所示,当后期需要增加一个节点组时,可将节点组4加入,具体地,部署节点组4内的非组间节点(即除组间节点2和组间节点3之外的节点),然后建立节点组4内的所有节点之间的连接关系,例如可以通过一个AWG或CAWG建立组内全连接(即一个节点组内的所有节点均与同一个AWG或CAWG连接,AWG或CAWG可将连接至该AWG或CAWG的任意一个节点的报文转发至连接至该AWG或CAWG的任意一个其它节点),或者是通过一个AWG或CAWG建立组内部分连接(即一个节点组内的所有节点均与同一个AWG或CAWG连接,AWG或CAWG可将连接至该AWG或CAWG的任意一个节点的报文转发至连接至该AWG或CAWG的其它部分节点)。
参考图4,为情形一下的第二种网格***架构,其中,图4所示的网格***在规划满配时共有K个节点组(图中示例为16组),初期只部署N组(图4中示例为3组),这N个节点组中既包含组间节点,也包含非组间节点。对于其它的13个节点组,不对其中的组间节点和非组间节点进行部署。即,图4与图3的主要区别是:图3对于未部署的节点组内的组间节点也建立了与其它节点组内的组间节点之间的连接关系,而图4对于未部署的节点组,未做任何节点的部署。
这种方法,后续按节点组扩容时,不仅需要增加节点组内的非组间节点,并进行组内连接,也需要做组间节点部署及连接关系的建立,例如,如图5所示,当后期需要增加一个节点组时,可加入节点组4,具体地,部署节点组4内的16个节点,然后建立节点组4内的所有节点之间的连接关系,例如可以通过一个AWG或CAWG建立组内全连接(即一个节点组内的所有节点均与同一个AWG或CAWG连接,AWG或CAWG可将连接至该AWG或CAWG的任意一个节点的报文转发至连接至该AWG或CAWG的任意一个其它节点),或者是通过一个AWG或CAWG建立组内部分连接(即一个节点组内的所有节点均与同一个AWG或CAWG连接,AWG或CAWG可将连接至该AWG或CAWG的任意一个节点的报文转发至连接至该AWG或CAWG的其它部分节点),以及建立节点组4内的组间节点2分别与其它已经部署的3个节点组内的组间节点2之间的连接关系,建立节点组4内的组间节点3分别与其它已经部署的3个节点组内的组间节点3之间的连接关系。
情形二、组间转发者为节点组外的硬件实体
该情形下,网格***还包括至少一个融合节点,每个融合节点包含N个硬件实体,具体实施中硬件实体可以是线卡等,每个硬件实体连接N个节点组中的一个节点组,每个节点组对应的任一组间转发者即为一个融合节点中的一个硬件实体,且N个硬件实体之间通过内部接口互相通信。融合节点用于实现节点组之间的通信。
参考图6,为本申请实施例提供的另一种网格***架构,将上述图2-图5所示的任一示例的各节点组中用于组间连接的一组组间转发者融合成一个融合节点,同样可以达到模块化扩容的目的,并且在路由上更有优势,算法实现上简化。具体地,以图4为例,在图4的基础上(图4中,每个节点组中的节点2和节点3是组间转发者),将各节点组中的组间节点2融合为一个融合节点1,将各组中的组间节点3融合为一个融合节点2,从而构成如图6所示的网格***架构,参考图6,每个节点组对应的组间转发者并不在该节点组中,而是位于融合节点中,且组间转发者为融合节点中的一个硬件实体,如线卡,一个融合节点包含N个组间转发者,每个组间转发者对应一个节点组,与该节点组连接,从而一个融合节点的N个组间转发者可将N个节点组互连。
参考图6,每个节点组内的所有节点,可通过一个AWG或CAWG互连,且一个融合节点中的一个组间转发者与该组间转发者对应的节点组的AWG或CAWG连接,且每个融合节点内的所有组间转发者可互相通信。
基于图6所示的网格***,假设节点组1中的节点1(称为第一节点)需要将报文转发至节点组3的节点16(称为第二节点),则第一节点首先通过节点组1中的AWG/CAWG将报文转发至融合节点1中与节点组1对应的组间转发者(称为第一组间转发者),和/或将报文转发至融合节点2中与节点组1对应的组间转发者(称为第二组间转发者),然后由融合节点1和/或融合节点2通过内部通信,由第一组间转发者将报文转发至融合节点1中与节点组3对应的组间转发者(称为第三组间转发者),和/或,第二组间转发者将报文转发至融合节点2中与节点组3对应的组间转发者(称为第四组间转发者),接着,由第三组间转发者将报文通过节点组3中的AWG/CAWG转发至节点组3中的节点16,和/或由第四组间转发者将报文通过节点组3中的AWG/CAWG转发至节点组3中的节点16。
因而,基于图6所示,每个融合节点中的每个线卡与N个节点组中每个节点组所连接的AWG或CAWG对应连接。即融合节点1中的第一个线卡与节点组1中的AWG或CAWG连接,融合节点1中的第二个线卡与节点组2中的AWG或CAWG连接,融合节点1中的第三个线卡与节点组3中的AWG或CAWG连接,如果还有其它节点组,则以此类推;同样地,对于融合节点2,其中的每个线卡也是与N个节点组中每个节点组所连接的AWG或CAWG对应连接,不再赘述。
基于图6,当后期需要按节点组扩容时,例如需要新增一个节点组4,参考图7,为本申请提供的新增节点组后的网格***,新增节点组4时,需要将节点组4内的每个节点连接至同一个AWG或CAWG,以及需要在融合节点1中新增一个线卡,在融合节点2中新增一个线卡,并将节点组4所连接的AWG或CAWG分别与融合节点1中新增的线卡及融合节点2中新增的线卡连接,完成节点组的新增。
本申请实施例,通过减少网格***中组间连接的组间平面数,一方面可减少网格***复杂度,另一方面,部署较为灵活,组间平面数量可以灵活根据部署的组数增加而增加,以及,还可以灵活增加节点组,实现按需配置节点组,可提高资源利用率,节约资源。
基于图2至图7所述的网格***架构,本申请实施例还提供一种路径确定方法,该路径确定方法用于确定所述网格***中任意两个节点(包括同一节点组内的两个节点和两个不同节点组内的节点)之间的路由路径,该路径确定方法由控制设备执行,所述控制设备可以是网格***中的一个控制单元,例如可以是中央处理器等,也可以是网格***之外的一个控制设备,所述控制设备管理网格***中的所有节点。
参考图8,所述路径确定方法具体包括以下步骤:
步骤801、控制设备确定所述***中的第一节点和第二节点;所述第一节点为所述***中的任意一个节点,所述第二节点为所述***中除所述第一节点之外的任意一个节点。
步骤802、当第一节点与第二节点不属于同一节点组时,控制设备根据与第一节点所在的节点组对应的组间转发者,得到第一节点对应的第一组间节点集,以及根据与第二节点所在的节点组对应的组间转发者,得到第二节点对应的第二组间节点集。
步骤803、控制设备根据第一组间节点集与第二组间节点集确定第一节点与第二节点之间的组间路径集,组间路径集包含从第一组间节点集中的任一节点到第二组间节点集中的对应组间节点的路径。
步骤804、控制设备根据第一节点所在的节点组的第一组内路径集、第二节点所在的节点组的第二组内路径集以及组间路径集,得到第一节点到第二节点的至少一条转发路径。
步骤805、控制设备向第一节点发送该至少一条转发路径。
通过上述步骤801-步骤805,可实现由控制设备确定网格***的任一节点(即第一节点)到任一另外一个节点(即第二节点)的转发路径,并将该转发路径发送给第一节点,由该第一节点根据转发路径转发报文或数据流。
上述步骤802中,当第一节点与第二节点不属于同一节点组时,控制设备根据与第一节点所在的节点组对应的组间转发者,得到第一节点对应的第一组间节点集,以及根据与第二节点所在的节点组对应的组间转发者,得到第二节点对应的第二组间节点集。
下面分别结合图3、图4和图6所示的示例,说明如何确定第一组间节点集和第二组间节点集。假设第一节点为节点组1中的节点1,第二节点为节点组2中的节点16。
针对图3,则确定的第一组间节点集为:节点组1中的组间节点2和组间节点3,确定的第二组间节点集为:节点2中的组间节点2和组间节点3。
针对图4,则确定的第一组间节点集为:节点组1中的组间节点2和组间节点3,确定的第二组间节点集为:节点2中的组间节点2和组间节点3。
针对图6,则确定的第一组间节点集为:融合节点1中与节点组1对应的硬件实体,融合节点2中与节点组1对应的硬件实体,确定的第二组间节点集为:融合节点1中与节点组2对应的硬件实体,融合节点2中与节点组2对应的硬件实体。
上述步骤803中,控制设备根据第一组间节点集与第二组间节点集确定第一节点与第二节点之间的组间路径集,组间路径集包含从第一组间节点集中的任一节点到第二组间节点集中的对应组间节点的路径。
以上述图3示例为例,由于确定的第一组间节点集为:节点组1中的组间节点2和组间节点3,确定的第二组间节点集为:节点组2中的组间节点2和组间节点3。则可确定组间路径集为:节点组1中的组间节点2到节点组2中的组间节点2的路径,节点组1中的组间节点3到节点组2中的组间节点3的路径。
因此,组间路径集包含从一个节点组到另外一个节点组的所有连通路径。
上述步骤804中,控制设备根据第一节点所在的节点组的第一组内路径集、第二节点所在的节点组的第二组内路径集以及组间路径集,得到第一节点到第二节点的至少一条转发路径。
其中,第一组内路径集为第一节点所在的节点组内任两个具有连接关系的节点之间的路径的集合,同样,第二组内路径集为第二节点所在的节点组内任两个具有连接关系的节点之间的路径的集合。
以图3为例,第一节点所在的节点组为节点组1,则第一组内路径集包含:节点1到节点2的路径,节点1到节点3的路径,……,节点1到节点16的路径,节点2到节点1的路径,节点2到节点3的路径,……,节点2到节点16的路径,……,节点16到节点1的路径,节点16到节点2的路径,……,节点16到节点15的路径。
第二组内路径集与上述第一组内路径集类似,不再赘述。
以图6为例,第一节点所在的节点组为节点组1,则第一组内路径集包含:节点1到节点4的路径,节点1到节点5的路径,……,节点1到节点16的路径,节点4到节点1的路径,节点4到节点5的路径,……,节点4到节点16的路径,……,节点16到节点1的路径,节点16到节点4的路径,……,节点16到节点15的路径。
第二组内路径集与上述第一组内路径集类似,不再赘述。
在得到第一节点的第一组内路径集,第二节点的第二组内路径集,以及第一节点与第二节点之间的组间路径集后,即可得到第一节点到第二节点的所有转发路径。
具体地,得到至少一条转发路径的过程如下:
步骤A、控制设备根据第一组内路径集,确定第一节点到组间路径集中的每条组间路径的第一端点的路径、以及根据第二组内路径集,确定每条组间路径的第二端点到第二节点的路径;
步骤B、控制设备根据第一节点到组间路径集中的每条组间路径的第一端点的路径以及每条组间路径的第二端点到第二节点的路径,得到第一节点到第二节点的至少一条转发路径。
通过步骤A和步骤B,控制设备通常可以得到第一节点到第二节点的多条转发路径,然后,控制器根据一定的路径选择规则,比如,最短路径优先,或者少于设定跳数等,从所说多条转发路径中确定至少一条转发路径。
当然,为了达到分流的目的,控制设备使用得到的第一节点到第二节点的所有转发路径进行报文或数据流的转发。
可选地,控制设备还确定网格***中的第三节点,当所述第一节点与所述第三节点属于同一节点组时,则控制设备根据第一组内路径集,得到第一节点到第三节点的转发路径。即对于属于同一节点组的两个节点,可直接根据该节点组对应的组内路径集确定转发路径。
上述步骤805中,控制设备向第一节点发送至少一条转发路径。
在得到至少一条转发路径后,控制设备将该至少一条转发路径发送至第一节点,由第一节点将报文通过该转发路径,将报文转发至第二节点。
下面以图3所示的网格***架构为例,分多种情形说明第一节点到第二节点的转发路径。其中,第一节点与第二节点不在同一节点组。
情形1、第一节点为与所述第一节点所在的节点组内的每个节点分别互连的非组间转发者
该情形下,第一节点与第一节点所在的节点组内的每个节点分别互连,且第一节点为非组间转发者,即图3中,以第一节点为节点组1中的一个节点为例,则第一节点可以是组间节点2和组间节点3之外的任一节点。
下面针对第二节点,分以下情形做进一步说明。
情形1.1、第二节点为与所述第二节点所在的节点组内的每个节点分别互连的非组间转发者
该情形下,第二节点与第一节点的类型相同,即第二节点也与第二节点所在的节点组内的每个节点分别互连,且第二节点为非组间转发者,即图3中,以第一节点为节点组2中的一个节点为例,则第二节点可以是组间节点2和组间节点3之外的任一节点。
该情形1.1下,则从第一节点到第二节点的路径包含:第一节点与第一节点所在的节点组对应的第一组间转发者之间的子路径,第一组间转发者与第二节点所在的节点组对应的第二组间转发者之间的子路径,以及第二组间转发者与第二节点之间的子路径。
为方便说明,下面结合图9对情形1.1进行具体说明,图9为图3所示的一种简化网格***示意图,其中包含3个节点组,每个节点组包含3个节点,且其中的节点2和节点3为组间节点。具体地,节点组1包含非组间节点S11,组间节点S12,组间节点S13,节点组2包含非组间节点S21,组间节点S22,组间节点S23,节点组3包含非组间节点S31,组间节点S32,组间节点S33,且节点组1内的任两个节点通过AWG/CAWG互连,节点组2内的任两个节点通过AWG/CAWG互连,节点组3内的任两个节点通过AWG/CAWG互连。
假设,第一节点为S11,第二节点为S21,则S11与S21之间的转发路径为:S11->S12->S22->S21,S11->S12->S22->S23->S21,S11->S13->S23->S21,S11->S13->S23->S22->S21。
情形1.2、第二节点为与所述第二节点所在的节点组内的每个节点均没有连接的组间转发者
该情形下,第二节点与第二节点所在的节点组内的每个节点分别互连,且第二节点为非组间转发者,该情形下,则从所述第一节点到所述第二节点的路径包含:所述第一节点与所述第一节点所在的节点组对应的第一组间转发者之间的子路径,以及所述第一组间转发者与所述第二节点之间的子路径。
为方便说明,下面结合图10对情形1.2进行具体说明,图10为图3所示的一种简化网格***示意图,其中包含3个节点组,每个节点组包含3个节点,且其中的节点2和节点3为组间节点。具体地,节点组1包含非组间节点S11,组间节点S12,组间节点S13,节点组2包含非组间节点S21,组间节点S22,组间节点S23,节点组3包含非组间节点S31,组间节点S32,组间节点S33,且节点组1内的任两个节点通过AWG/CAWG互连,节点组2内的S21与S23通过AWG/CAWG互连,但组间节点S22没有与任何节点互连,节点组3内的任两个节点通过AWG/CAWG互连。
假设,第一节点为S11,第二节点为S22,则S11与S22之间的转发路径为:S11->S12->S22,S11->S13->S12->S22。
情形2、第一节点为与第一节点所在的节点组内的每个节点分别互连的组间转发者
该情形下,第一节点所在的节点组内的任两个节点之间互连,且第一节点是组间转发者。
下面根据第二节点的类型分情形说明。
情形2.1、第二节点为与所述第二节点所在的节点组内的每个节点分别互连的非组间转发者
该情形下,第二节点与第二节点所在的节点组内的每个节点分别互连,且第二节点为非组间转发者,该情形2.1下,则从所述第一节点到所述第二节点的路径包含:从所述第一节点到所述第二节点的路径包含:所述第一节点与目标组间转发者之间的子路径,以及所述目标组间转发者与所述第二节点之间的子路径,所述目标组间转发者为所述第二节点所在的节点组对应的组间转发者。
为方便说明,下面结合图9对情形2.1进行具体说明,假设,第一节点为S12,第二节点为S21,则S12与S21之间的转发路径为:S12->S22->S21,S12->S22->S23->S21,S12->S13->S23->S21,S12->S13->S23->S22->S21。
情形2.2、第二节点为与第二节点所在的节点组内的每个节点均没有连接的组间转发者;且第一节点与第二节点互连
该情形下,从第一节点到所述第二节点的路径为:所述第一节点与所述第二节点之间的路径。
为方便说明,下面结合图10对情形2.2进行具体说明,假设,第一节点为S12,第二节点为S22,则S12与S22之间的转发路径为:S12->S22。
情形2.3、第二节点为与所述第二节点所在的节点组内的每个节点均没有连接的组间转发者;且所述第一节点与所述第二节点没有连接
该情形下,从第一节点到第二节点的路径包含:第一节点与第一节点所在的节点组对应的第一组间转发者之间的子路径,以及第一组间转发者与第二节点之间的子路径。
为方便说明,下面结合图10对情形2.3进行具体说明,假设,第一节点为S13,第二节点为S22,则S13与S22之间的转发路径为:S13->S12->S22,S13->S11->S12->S22。
情形3、第一节点为与所述第一节点所在的节点组内的每个节点均没有连接的组间转发者
该情形下,第一节点与第一节点所在的节点组内的人一个节点之间均无连接,且第一节点是组间转发者。
下面根据第二节点的类型分情形说明。
情形3.1、第二节点为与第二节点所在的节点组内的每个节点分别互连的的组间转发者,且所述第一节点与所述第二节点之间没有连接
该情形下,从第一节点到第二节点的路径包含:第一节点与目标组间转发者之间的子路径,以及目标组间转发者与第二节点之间的子路径,所述目标组间转发者为所述第二节点所在的组对应的组间转发者。
为方便说明,下面结合图10对情形3.1进行具体说明,假设,第一节点为S22,第二节点为S13,则S22与S13之间的转发路径为:S22->S12->S13,S22->S12->S11->S13。
情形3.2、第二节点为与所述第二节点所在的节点组内的每个节点分别互连的组间转发者,且所述第一节点与所述第二节点互连
该情形下,从第一节点到第二节点的路径为:第一节点与第二节点之间的路径。
为方便说明,下面结合图10对情形3.1进行具体说明,假设,第一节点为S22,第二节点为S12,则S22与S12之间的转发路径为:S22->S12。
情形3.3、第二节点为与所述第二节点所在的节点组内的每个节点均没有连接的组间转发者,且所述第一节点与所述第二节点互连;
该情形下,从第一节点到第二节点的路径为:第一节点与第二节点之间的路径。
为方便说明,下面结合图11对情形3.3进行具体说明,图11为图3所示的一种简化网格***示意图,其中包含3个节点组,每个节点组包含3个节点,且其中的节点2和节点3为组间节点。具体地,节点组1包含非组间节点S11,组间节点S12,组间节点S13,节点组2包含非组间节点S21,组间节点S22,组间节点S23,节点组3包含非组间节点S31,组间节点S32,组间节点S33,且节点组1内的S11与S13通过AWG/CAWG互连,但组间节点S12没有与任何节点互连,节点组2内的S21与S23通过AWG/CAWG互连,但组间节点S22没有与任何节点互连,节点组3内的任两个节点通过AWG/CAWG互连。
假设,第一节点为S22,第二节点为S12,则S22与S12之间的转发路径为:S22->S12。
此外,控制设备确定网格***中的第三节点,且第三节点与第一节点是在同一组,则可根据第一节点的第一组内路径集,得到从第一节点到第三节点的转发路径,例如,参考图9,假设第一节点时S11,第二节点时S12,则S11到S12的转发路径为:S11->S12,S11->S13->S12。
当然,考虑到一个节点组内的节点之间可能没有互连,因此无法直接在组内转发,则可以通过组间节点进行转发,例如,参考图10,假设第一节点为S22,第二节点为S23,由于第二节点与组内其它节点没有连接,因此无法直接将报文从S22转发至S23,该情形下,从S22到S23的转发路径为:S22->S12->S11->S13->S23,S22->S12->S13->S23,S22->S32->S31->S33->S23,S22->S32->S33->S23。
基于相同的发明构思,本申请还提供一种控制设备,所述控制设备包含于网格***,所述控制设备管理网格***中的节点,如图12所示,所述控制设备包括:
处理单元1201,用于确定所述***中的第一节点和第二节点;所述第一节点为所述***中的任意一个节点,所述第二节点为所述***中除所述第一节点之外的任意一个节点;当所述第一节点与所述第二节点不属于同一节点组时,根据与所述第一节点所在的节点组对应的组间转发者,得到所述第一节点对应的第一组间节点集,以及根据与所述第二节点所在的节点组对应的组间转发者,得到所述第二节点对应的第二组间节点集;根据所述第一组间节点集与所述第二组间节点集确定所述第一节点与所述第二节点之间的组间路径集,所述组间路径集包含从所述第一组间节点集中的任一节点到所述第二组间节点集中的对应组间节点的路径;根据所述第一节点所在的节点组的第一组内路径集、所述第二节点所在的节点组的第二组内路径集以及所述组间路径集,得到所述第一节点到所述第二节点的至少一条转发路径;
发送单元1202,用于向所述第一节点发送所述至少一条转发路径。
可选地,所述处理单元1201,具体用于:
根据所述第一组内路径集,确定所述第一节点到所述组间路径集中的每条组间路径的第一端点的路径、以及根据所述第二组内路径集,确定所述每条组间路径的第二端点到所述第二节点的路径;
根据所述第一节点到所述组间路径集中的每条组间路径的第一端点的路径以及所述每条组间路径的第二端点到所述第二节点的路径,得到所述第一节点到所述第二节点的至少一条转发路径。
可选地,所述处理单元1201,还用于:
确定所述***中的第三节点;
当所述第一节点与所述第三节点属于同一节点组时,根据所述第一组内路径集,得到从所述第一节点到所述第三节点的转发路径。
可选地,所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的非组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点分别互连的非组间转发者;
从所述第一节点到所述第二节点的路径包含:所述第一节点与所述第一节点所在的节点组对应的第一组间转发者之间的子路径,所述第一组间转发者与所述第二节点所在的节点组对应的第二组间转发者之间的子路径,以及所述第二组间转发者与所述第二节点之间的子路径;或者,
所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的非组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点均没有连接的组间转发者;从所述第一节点到所述第二节点的路径包含:所述第一节点与所述第一节点所在的节点组对应的第一组间转发者之间的子路径,以及所述第一组间转发者与所述第二节点之间的子路径。
可选地,所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点分别互连的非组间转发者;从所述第一节点到所述第二节点的路径包含:所述第一节点与目标组间转发者之间的子路径,以及所述目标组间转发者与所述第二节点之间的子路径,所述目标组间转发者为所述第二节点所在的节点组对应的组间转发者;或者,
所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点均没有连接的组间转发者;且所述第一节点与所述第二节点互连;从所述第一节点到所述第二节点的路径为:所述第一节点与所述第二节点之间的路径;或者
所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点均没有连接的组间转发者;且所述第一节点与所述第二节点没有连接;从所述第一节点到所述第二节点的路径包含:所述第一节点与所述第一节点所在的节点组对应的第一组间转发者之间的子路径,以及所述第一组间转发者与所述第二节点之间的子路径。
可选地,所述第一节点为与所述第一节点所在的节点组内的每个节点均没有连接的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点分别互连的的组间转发者,且所述第一节点与所述第二节点之间没有连接;从所述第一节点到所述第二节点的路径包含:所述第一节点与目标组间转发者之间的子路径,以及所述目标组间转发者与所述第二节点之间的子路径,所述目标组间转发者为所述第二节点所在的组对应的组间转发者;或者,
所述第一节点为与所述第一节点所在的节点组内的每个节点均没有连接的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点分别互连的组间转发者,且所述第一节点与所述第二节点互连;从所述第一节点到所述第二节点的路径为:所述第一节点与所述第二节点之间的路径;或者,
所述第一节点为与所述第一节点所在的节点组内的每个节点均没有连接的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点均没有连接的组间转发者,且所述第一节点与所述第二节点互连;从所述第一节点到所述第二节点的路径为:所述第一节点与所述第二节点之间的路径。
基于相同的发明构思,本申请实施例还提供一种控制设备1300,该控制设备1300至少包含处理器1301和存储器1302,进一步还可以包括通信端口1303,以及还可以包括总线1304。
所述处理器1301、所述存储器1302和所述通信端口1303均通过总线1304连接;
所述存储器1302,用于存储计算机程序指令;
所述处理器1301,用于执行所述存储器1302存储的计算机程序指令;
所述处理器1301执行所述存储器1302存储的计算机程序指令,使得所述控制设备1300执行本申请实施例提供的上述路径确定方法中由控制设备1300执行的步骤,或者使得控制设备1300部署与该步骤对应的功能单元。
处理器1301可以是以下的任一种:中央处理器(英文:central processing unit,简称CPU)、ARM处理器、现场可编程门阵列(英文:field-programmable gate array,简称FPGA)、专用处理器等具有计算处理能力的器件。一种可选实施方式,所述处理器1301还可以集成为众核处理器。
存储器1302可以是以下的任一种或任一种组合:随机存取存储器(英文:randomaccess memory,简称RAM)、只读存储器(英文:read-only memory,简称ROM)、非易失性存储器(英文:non-volatile memory,简称NVM)、固态硬盘(英文:solid-state drive,简称SSD)、机械硬盘、磁盘、磁盘整列等存储介质。
处理器1301还用于通过通信端口1303实现控制设备1300与其他设备的数据交互;例如,控制设备1300可以执行图8所述的方法。该总线1304可以包括地址总线、数据总线、控制总线等,为便于表示,图13用一条粗线表示该总线。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序指令;控制设备的处理器执行该计算机程序指令,使得控制设备执行本申请实施例提供的上述方法中由控制设备执行的步骤,或者使得控制设备部署与该步骤对应的功能单元。
本申请实施例提供一种计算机程序产品,该计算机程序产品包括计算机程序指令,该计算机程序指令存储在计算机可读存储介质中。控制设备的处理器可以从计算机可读存储介质读取该计算机程序指令;处理器执行该计算机程序指令,使得控制设备执行本申请实施例提供的上述方法中由控制设备执行的步骤,或者使得控制设备部署与该步骤对应的功能单元。
本发明说明书的上述描述可以使得本领域技术任何可以利用或实现本发明的内容,任何基于所公开内容的修改都应该被认为是本领域显而易见的,本发明所描述的基本原则可以应用到其它变形中而不偏离本发明的发明本质和范围。因此,本发明所公开的内容不仅仅局限于所描述的实施例和设计,还可以扩展到与本发明原则和所公开的新特征一致的最大范围。

Claims (17)

1.一种网格***,包括N个节点组,N为大于1的整数,所述N个节点组中的每个节点组包含至少一个节点,其特征在于,所述每个节点组对应至少一个组间转发者,所述每个节点组对应的组间转发者的数量少于所述节点组的满配节点数;所述N个节点组中的任意两个节点组中的节点通过所述任意两个节点组分别对应的组间转发者互连。
2.根据权利要求1所述的***,其特征在于,所述每个节点组对应的至少一个组间转发者为所述节点组中的组间节点;
所述N个节点组中的任意两个节点组中的节点通过所述任意两个节点组分别对应的组间转发者互连,包括:
所述N个节点组的任一节点组中的组间节点分别与其它每个节点组中对应的组间节点互连,以及,所述N个节点组的任一节点组中的非组间节点分别与该节点组中的一个组间节点互连。
3.根据权利要求2所述的***,其特征在于,所述N个节点组中的每个节点组均包含组间节点和非组间节点;或者,
所述N个节点组中的M个节点组均包含组间节点和非组间节点,其它N-M个节点组均仅包含组间节点且不包含非组间节点,M为小于N的正整数。
4.根据权利要求1所述的***,其特征在于,所述***还包括至少一个融合节点,所述至少一个融合节点中的每个融合节点包含N个线卡,所述N个线卡中的每个线卡分别连接所述N个节点组中的一个节点组,所述每个节点组对应的任一组间转发者为一个融合节点中的一个线卡;所述N个线卡通过所述融合节点的内部接口互相通信。
5.根据权利要求4所述的***,其特征在于,所述N个节点组的每个节点组中的所有节点均与一个阵列波导光栅AWG或循环阵列波导光栅CAWG连接;
所述N个线卡中的每个线卡分别连接所述N个节点组中的一个节点组,包括:
所述每个融合节点中的每个线卡与所述N个节点组中每个节点组所连接的AWG或CAWG对应连接。
6.一种基于权利要求1所述的网格***的路径确定方法,其特征在于,所述***还包括控制设备,所述控制设备管理所述***中的所有节点,所述方法包括:
所述控制设备确定所述***中的第一节点和第二节点;所述第一节点为所述***中的任意一个节点,所述第二节点为所述***中除所述第一节点之外的任意一个节点;
当所述第一节点与所述第二节点不属于同一节点组时,所述控制设备根据与所述第一节点所在的节点组对应的组间转发者,得到所述第一节点对应的第一组间节点集,以及根据与所述第二节点所在的节点组对应的组间转发者,得到所述第二节点对应的第二组间节点集;
所述控制设备根据所述第一组间节点集与所述第二组间节点集确定所述第一节点与所述第二节点之间的组间路径集,所述组间路径集包含从所述第一组间节点集中的任一节点到所述第二组间节点集中的对应组间节点的路径;
所述控制设备根据所述第一节点所在的节点组的第一组内路径集、所述第二节点所在的节点组的第二组内路径集以及所述组间路径集,得到所述第一节点到所述第二节点的至少一条转发路径;
所述控制设备向所述第一节点发送所述至少一条转发路径。
7.根据权利要求6所述的方法,其特征在于,
所述控制设备根据所述第一节点所在的节点组的组内路径集、所述第二节点所在的节点组的组内路径集以及所述组间路径集,得到所述第一节点到所述第二节点的至少一条转发路径,包括:
所述控制设备根据所述第一组内路径集,确定所述第一节点到所述组间路径集中的每条组间路径的第一端点的路径、以及根据所述第二组内路径集,确定所述每条组间路径的第二端点到所述第二节点的路径;
所述控制设备根据所述第一节点到所述组间路径集中的每条组间路径的第一端点的路径以及所述每条组间路径的第二端点到所述第二节点的路径,得到所述第一节点到所述第二节点的至少一条转发路径。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述控制设备确定所述***中的第三节点;
当所述第一节点与所述第三节点属于同一节点组时,所述控制设备根据所述第一组内路径集,得到从所述第一节点到所述第三节点的转发路径。
9.根据权利要求6或7所述的方法,其特征在于,所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的非组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点分别互连的非组间转发者;
从所述第一节点到所述第二节点的路径包含:所述第一节点与所述第一节点所在的节点组对应的第一组间转发者之间的子路径,所述第一组间转发者与所述第二节点所在的节点组对应的第二组间转发者之间的子路径,以及所述第二组间转发者与所述第二节点之间的子路径;或者,
所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的非组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点均没有连接的组间转发者;从所述第一节点到所述第二节点的路径包含:所述第一节点与所述第一节点所在的节点组对应的第一组间转发者之间的子路径,以及所述第一组间转发者与所述第二节点之间的子路径。
10.根据权利要求6或7所述的方法,其特征在于,所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点分别互连的非组间转发者;从所述第一节点到所述第二节点的路径包含:所述第一节点与目标组间转发者之间的子路径,以及所述目标组间转发者与所述第二节点之间的子路径,所述目标组间转发者为所述第二节点所在的节点组对应的组间转发者;或者,
所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点均没有连接的组间转发者;且所述第一节点与所述第二节点互连;从所述第一节点到所述第二节点的路径为:所述第一节点与所述第二节点之间的路径;或者
所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点均没有连接的组间转发者;且所述第一节点与所述第二节点没有连接;从所述第一节点到所述第二节点的路径包含:所述第一节点与所述第一节点所在的节点组对应的第一组间转发者之间的子路径,以及所述第一组间转发者与所述第二节点之间的子路径。
11.根据权利要求6或7所述的方法,其特征在于,所述第一节点为与所述第一节点所在的节点组内的每个节点均没有连接的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点分别互连的组间转发者,且所述第一节点与所述第二节点之间没有连接;从所述第一节点到所述第二节点的路径包含:所述第一节点与目标组间转发者之间的子路径,以及所述目标组间转发者与所述第二节点之间的子路径,所述目标组间转发者为所述第二节点所在的组对应的组间转发者;或者,
所述第一节点为与所述第一节点所在的节点组内的每个节点均没有连接的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点分别互连的组间转发者,且所述第一节点与所述第二节点互连;从所述第一节点到所述第二节点的路径为:所述第一节点与所述第二节点之间的路径;或者,
所述第一节点为与所述第一节点所在的节点组内的每个节点均没有连接的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点均没有连接的组间转发者,且所述第一节点与所述第二节点互连;从所述第一节点到所述第二节点的路径为:所述第一节点与所述第二节点之间的路径。
12.一种基于权利要求1所述的网格***的控制设备,其特征在于,所述***还包括所述控制设备,所述控制设备管理所述***中的所有节点,所述控制设备包括处理器和通信端口:
处理器,用于确定所述***中的第一节点和第二节点;所述第一节点为所述***中的任意一个节点,所述第二节点为所述***中除所述第一节点之外的任意一个节点;当所述第一节点与所述第二节点不属于同一节点组时,根据与所述第一节点所在的节点组对应的组间转发者,得到所述第一节点对应的第一组间节点集,以及根据与所述第二节点所在的节点组对应的组间转发者,得到所述第二节点对应的第二组间节点集;根据所述第一组间节点集与所述第二组间节点集确定所述第一节点与所述第二节点之间的组间路径集,所述组间路径集包含从所述第一组间节点集中的任一节点到所述第二组间节点集中的对应组间节点的路径;根据所述第一节点所在的节点组的第一组内路径集、所述第二节点所在的节点组的第二组内路径集以及所述组间路径集,得到所述第一节点到所述第二节点的至少一条转发路径;
所述处理器,还用于通过所述通信端口向所述第一节点发送所述至少一条转发路径。
13.根据权利要求12所述的控制设备,其特征在于,
所述处理器,具体用于:
根据所述第一组内路径集,确定所述第一节点到所述组间路径集中的每条组间路径的第一端点的路径、以及根据所述第二组内路径集,确定所述每条组间路径的第二端点到所述第二节点的路径;
根据所述第一节点到所述组间路径集中的每条组间路径的第一端点的路径以及所述每条组间路径的第二端点到所述第二节点的路径,得到所述第一节点到所述第二节点的至少一条转发路径。
14.根据权利要求12所述的控制设备,其特征在于,所述处理器,还用于:
确定所述***中的第三节点;
当所述第一节点与所述第三节点属于同一节点组时,根据所述第一组内路径集,得到从所述第一节点到所述第三节点的转发路径。
15.根据权利要求12或13所述的控制设备,其特征在于,所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的非组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点分别互连的非组间转发者;
从所述第一节点到所述第二节点的路径包含:所述第一节点与所述第一节点所在的节点组对应的第一组间转发者之间的子路径,所述第一组间转发者与所述第二节点所在的节点组对应的第二组间转发者之间的子路径,以及所述第二组间转发者与所述第二节点之间的子路径;或者,
所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的非组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点均没有连接的组间转发者;从所述第一节点到所述第二节点的路径包含:所述第一节点与所述第一节点所在的节点组对应的第一组间转发者之间的子路径,以及所述第一组间转发者与所述第二节点之间的子路径。
16.根据权利要求12或13所述的控制设备,其特征在于,所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点分别互连的非组间转发者;从所述第一节点到所述第二节点的路径包含:所述第一节点与目标组间转发者之间的子路径,以及所述目标组间转发者与所述第二节点之间的子路径,所述目标组间转发者为所述第二节点所在的节点组对应的组间转发者;或者,
所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点均没有连接的组间转发者;且所述第一节点与所述第二节点互连;从所述第一节点到所述第二节点的路径为:所述第一节点与所述第二节点之间的路径;或者
所述第一节点为与所述第一节点所在的节点组内的每个节点分别互连的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点均没有连接的组间转发者;且所述第一节点与所述第二节点没有连接;从所述第一节点到所述第二节点的路径包含:所述第一节点与所述第一节点所在的节点组对应的第一组间转发者之间的子路径,以及所述第一组间转发者与所述第二节点之间的子路径。
17.根据权利要求12或13所述的控制设备,其特征在于,所述第一节点为与所述第一节点所在的节点组内的每个节点均没有连接的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点分别互连的组间转发者,且所述第一节点与所述第二节点之间没有连接;从所述第一节点到所述第二节点的路径包含:所述第一节点与目标组间转发者之间的子路径,以及所述目标组间转发者与所述第二节点之间的子路径,所述目标组间转发者为所述第二节点所在的组对应的组间转发者;或者,
所述第一节点为与所述第一节点所在的节点组内的每个节点均没有连接的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点分别互连的组间转发者,且所述第一节点与所述第二节点互连;从所述第一节点到所述第二节点的路径为:所述第一节点与所述第二节点之间的路径;或者,
所述第一节点为与所述第一节点所在的节点组内的每个节点均没有连接的组间转发者,所述第二节点为与所述第二节点所在的节点组内的每个节点均没有连接的组间转发者,且所述第一节点与所述第二节点互连;从所述第一节点到所述第二节点的路径为:所述第一节点与所述第二节点之间的路径。
CN201710134643.9A 2017-03-08 2017-03-08 一种网格***及在该网格***的路径确定方法和控制设备 Active CN108574584B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710134643.9A CN108574584B (zh) 2017-03-08 2017-03-08 一种网格***及在该网格***的路径确定方法和控制设备
PCT/CN2018/076674 WO2018161793A1 (zh) 2017-03-08 2018-02-13 一种网格***及在该网格***的路径确定方法和控制设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710134643.9A CN108574584B (zh) 2017-03-08 2017-03-08 一种网格***及在该网格***的路径确定方法和控制设备

Publications (2)

Publication Number Publication Date
CN108574584A CN108574584A (zh) 2018-09-25
CN108574584B true CN108574584B (zh) 2020-06-26

Family

ID=63447281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710134643.9A Active CN108574584B (zh) 2017-03-08 2017-03-08 一种网格***及在该网格***的路径确定方法和控制设备

Country Status (2)

Country Link
CN (1) CN108574584B (zh)
WO (1) WO2018161793A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117395186A (zh) * 2022-06-29 2024-01-12 华为云计算技术有限公司 一种分布式训练方法、***及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051972A (zh) * 2007-05-24 2007-10-10 武汉理工大学 一种网格资源路由选择方法
CN106302252A (zh) * 2015-05-15 2017-01-04 华为技术有限公司 数据交换***架构、发送数据流量的方法以及交换装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9077616B2 (en) * 2012-08-08 2015-07-07 International Business Machines Corporation T-star interconnection network topology
CN105099556B (zh) * 2014-04-24 2017-11-24 华为技术有限公司 一种数据中心网络以及部署所述数据中心网络的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051972A (zh) * 2007-05-24 2007-10-10 武汉理工大学 一种网格资源路由选择方法
CN106302252A (zh) * 2015-05-15 2017-01-04 华为技术有限公司 数据交换***架构、发送数据流量的方法以及交换装置

Also Published As

Publication number Publication date
WO2018161793A1 (zh) 2018-09-13
CN108574584A (zh) 2018-09-25

Similar Documents

Publication Publication Date Title
Xia et al. A tale of two topologies: Exploring convertible data center network architectures with flat-tree
Kachris et al. A survey on optical interconnects for data centers
Christodoulopoulos et al. Performance evaluation of a hybrid optical/electrical interconnect
US20150295756A1 (en) Hybrid Optical/Electrical Interconnect Network Architecture for Direct-connect Data Centers and High Performance Computers
US9258253B2 (en) System and method for flexible switching fabric
JP2015530829A (ja) ミドルウェアマシン環境における劣化ファットツリーの発見およびルーティングをサポートするためのシステムおよび方法
CN107465966B (zh) 一种用于光网络的拓扑重构控制方法
Liu et al. PSNet: Reconfigurable network topology design for accelerating parameter server architecture based distributed machine learning
Harsh et al. Spineless data centers
Samadi et al. Accelerating cast traffic delivery in data centers leveraging physical layer optics and SDN
Nooruzzaman et al. Hyperscale data center networks with Transparent HyperX architecture
Lugones et al. A reconfigurable optical/electrical interconnect architecture for large-scale clusters and datacenters
Lin et al. Delivering distributed machine learning services in all-optical datacenter networks with Torus topology
Tang et al. Effective*-flow schedule for optical circuit switching based data center networks: A comprehensive survey
CN108574584B (zh) 一种网格***及在该网格***的路径确定方法和控制设备
Zhang et al. Analysis and experimental demonstration of an optical switching enabled scalable data center network architecture
Chen et al. Enterprise visor: A Software-Defined enterprise network resource management engine
Ohsita et al. Optical data center networks: Architecture, performance, and energy efficiency
Lugones et al. A reconfigurable, regular-topology cluster/datacenter network using commodity optical switches
Yuan et al. Disaggregated optical data center in a box network using parallel OCS topologies
Yang et al. Cross-layer restoration with software defined networking based on IP over optical transport networks
Truong-Huu et al. Virtual network embedding in ring optical data centers using Markov chain probability model
Christodoulopoulos et al. Accelerating HPC workloads with dynamic adaptation of a software-defined hybrid electronic/optical interconnect
JP5651217B1 (ja) パス復旧制御装置
Rodrigues et al. Dynamic optical switching for latency sensitive applications

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