一种确定路由的方法、装置及通信设备与流程

文档序号:13808163阅读:172来源:国知局
一种确定路由的方法、装置及通信设备与流程
本发明涉及通信
技术领域
,尤其涉及一种确定路由的方法、装置及通信设备。
背景技术
:随着网络技术的发展,数据中心已经成为提供因特网络服务、分布式并行计算等的基础架构。为数据中心设计可扩展的网络架构和高效的路由算法是当前学术界的研究热点。现阶段研究人员基于不同规则提出不少用于构建数据中心网络的拓扑结构,其中一种胖树(fat-tree)拓扑结构,已被广泛应用于数据中心。胖树网络构建拓扑规则如下:一个n元,即n层的胖树拓扑中,在n为3时,整个拓扑网络分为三个层次,由下而上分别为边缘层(edge)、汇聚层(aggregate)及核心层(core)。其中汇聚层交换机与边缘层交换机构成一个性能优化数据中心(英文:performanceoptimizationdatacenter,简称:pod)。整个拓扑网络包含的pod数目为2n,每一个pod连接的主机(host或server)数目为n2,每一个pod内的边缘层交换机及汇聚层交换机的数量均为n,核心层交换机的数量为n2。每一个交换机的端口数目为2n。网络所能支持的主机总数为(2n)3/4。粗略来说,现有技术中,基于胖树网络的路由方案有两种,一种是基于传统的多重等价路由(英文:equal-costmulti-pathrouting,简称:ecmp),即每两个边缘层交换机或主机之间有多条等价的路径,然后分析数据包头的信息,应用杂凑函数的结果选择其中一条路径,从而实现多路径负载均衡。另一种是基于网络流量调节的动态路由,例如根据网络的当前状况和数据流量的估计进行动态的路径选择。然而这两种路由方案都不能完全避免网络内部由于路径重叠导致的排队时延,因为链路的带宽有限,每次只能处理一定的数据量,如果数据流都要经过同一条链路,就会导致一部分数据流必须排队,造成传输时间上的延迟。ecmp或者动态路由,在选路的原则上没有考虑绝对避免路径重叠,例如ecmp可以近似认为是随机地选一条路径,那么两条被选中的路径有重叠的概率大于零。技术实现要素:本发明实施例提供一种确定路由的方法、装置及通信设备,用以解决现有技术中数据中心网络由于路径重叠导致排队时延较长的技术问题。第一方面,本发明实施例提供了一种确定路由的方法,包括:获取需求路径的起点信息以及终点信息;所述起点信息包括起点pod的序号以及起点边缘交换机的序号,所述终点信息包括终点pod的序号以及终点边缘交换机的序号;在n维拉丁方阵中确定出行为所述起点边缘交换机的序号、列为所述终点边缘交换机的序号的元素;其中,n为每个pod中边缘交换机的数量,所述n维拉丁方阵中的元素与每个pod中的汇聚交换机对应;n为大于2的整数;若起点pod的序号与终点pod的序号相同,确定所述需求路径为起点边缘交换机、所述pod内的所述元素对应的汇聚交换机、所述终点边缘交换机。本发明实施例中的方法将数据流均匀分布在每条路径上,所以实现了负载均衡,避免了现有技术中由于路径重叠导致配对时延较长的问题。结合第一方面,在第一方面的第一种可能的实现方式中,所述方法还包括:若起点pod的序号与终点pod的序号不相同,确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机;同一pod内的不同起点边缘交换机对应的核心交换机不同;确定所述需求路径为起点边缘交换机、所述pod内所述元素对应的汇聚交换机、与所述汇聚交换机相连的其中一个核心交换机、与所述核心交换机相连的所述终点pod内的汇聚交换机、所述终点边缘交换机。结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机,包括:在n维排列向量中确定出与所述起点边缘交换机的序号相同排序的元素;所述相同排序的元素对应的核心交换机即为所述其中一个核心交换机;所述n维排列向量中的元素互不相同,且分别表示与所述汇聚交换机相连的核心组中的一个核心交换机。结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,若数据流从所述起点边缘交换机至所述终点交换机,所述方法还包括:在2n维对角线元素相同的拉丁方阵中确定出行为所述起点pod的序号、列为所述终点pod的序号的波长元素;所述2n维对角线元素相同的拉丁方阵中的元素与2n个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。通过该方法,可以采用最小的光载波数即可实现为每两个边缘交换机之间分配一个光载波的目的。结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,若数据流从与所述起点边缘交换机连接的起点主机至与所述终点边缘交换机连接的终点主机,所述方法还包括:在2n3维对角线元素相同的拉丁方阵中确定出行为所述起点pod的序号、列为所述终点pod的序号的波长元素;所述2n3维对角线元素相同的拉丁方阵中的元素与2n3-1个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。通过该方法,可以采用最小的光载波数即可实现为每两个主机之间分配一个光载波的目的。第二方面,本发明实施例提供一种通信设备,包括:端口,用于收发数据包;处理器,用于获取需求路径的起点信息以及终点信息;所述起点信息包括起点pod的序号以及起点边缘交换机的序号,所述终点信息包括终点pod的序号以及终点边缘交换机的序号;在n维拉丁方阵中确定出行为所述起点边缘交换机的序号、列为所述终点边缘交换机的序号的元素;其中,n为每个pod中边缘交换机的数量,所述n维拉丁方阵中的元素与每个pod中的汇聚交换机对应;n为大于2的整数;若起点pod的序号与终点pod的序号相同,确定所述需求路径为起点边缘交换机、所述pod内的所述元素对应的汇聚交换机、所述终点边缘交换机。结合第二方面,在第二方面的第一种可能的实现方式中,所述处理器还用于:若起点pod的序号与终点pod的序号不相同,确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机;同一pod内的不同起点边缘交换机对应的核心交换机不同;确定所述需求路径为起点边缘交换机、所述pod内所述元素对应的汇聚交换机、与所述汇聚交换机相连的其中一个核心交换机、与所述核心交换机相连的所述终点pod内的汇聚交换机、所述终点边缘交换机。结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述处理器用于:在n维排列向量中确定出与所述起点边缘交换机的序号相同排序的元素;所述相同排序的元素对应的核心交换机即为所述其中一个核心交换机;所述n维排列向量中的元素互不相同,且分别表示与所述汇聚交换机相连的核心组中的一个核心交换机。结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式中,在第二方面的第三种可能的实现方式中,所述处理器还用于:若数据流从所述起点边缘交换机至所述终点交换机,在2n维对角线元素相同的拉丁方阵中确定出行为所述起点pod的序号、列为所述终点pod的序号的波长元素;所述2n维对角线元素相同的拉丁方阵中的元素与2n个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式中,在第二方面的第四种可能的实现方式中,所述处理器还用于:若数据流从与所述起点边缘交换机连接的起点主机至与所述终点边缘交换机连接的终点主机,在2n3维对角线元素相同的拉丁方阵中确定出行为所述起点pod的序号、列为所述终点pod的序号的波长元素;所述2n3维对角线元素相同的拉丁方阵中的元素与2n3-1个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。第三方面,本发明实施例提供一种通信设备,包括:处理器,用于获取需求路径的起点信息以及终点信息;所述起点信息包括起点pod的序号以及起点边缘交换机的序号,所述终点信息包括终点pod的序号以及终点边缘交换机的序号;在n维拉丁方阵中确定出行为所述起点边缘交换机的序号、列为所述终点边缘交换机的序号的元素;其中,n为每个pod中边缘交换机的数量,所述n维拉丁方阵中的元素与每个pod中的汇聚交换机对应;n为大于2的整数;若起点pod的序号与终点pod的序号相同,确定所述需求路径为起点边缘交换机、所述pod内的所述元素对应的汇聚交换机、所述终点边缘交换机;发送器,用于将所述需求路径发送给数据中心网络的每层的交换机。结合第三方面,在第三方面的第一种可能的实现方式中,所述处理器还用于:若起点pod的序号与终点pod的序号不相同,确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机;同一pod内的不同起点边缘交换机对应的核心交换机不同;确定所述需求路径为起点边缘交换机、所述pod内所述元素对应的汇聚交换机、与所述汇聚交换机相连的其中一个核心交换机、与所述核心交换机相连的所述终点pod内的汇聚交换机、所述终点边缘交换机。结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述处理器用于:在n维排列向量中确定出与所述起点边缘交换机的序号相同排序的元素;所述相同排序的元素对应的核心交换机即为所述其中一个核心交换机;所述n维排列向量中的元素互不相同,且分别表示与所述汇聚交换机相连的核心组中的一个核心交换机。结合第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述处理器还用于:若数据流从所述起点边缘交换机至所述终点交换机,在2n维对角线元素相同的拉丁方阵中确定出行为所述起点pod的序号、列为所述终点pod的序号的波长元素;所述2n维对角线元素相同的拉丁方阵中的元素与2n个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。结合第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述处理器还用于:若数据流从与所述起点边缘交换机连接的起点主机至与所述终点边缘交换机连接的终点主机,在2n3维对角线元素相同的拉丁方阵中确定出行为所述起点pod的序号、列为所述终点pod的序号的波长元素;所述2n3维对角线元素相同的拉丁方阵中的元素与2n3-1个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。第四方面,本发明实施例提供一种确定路由的装置,所述装置包括用于实现第一方面所述的方法的功能模块。第五方面,本发明实施例还提供一种计算机存储介质,所述计算机存储介质上存储有程序代码,所述程序代码包括用于实现所述第一方面的方法的任意可能的实现方式的指令。附图说明图1为本发明实施例提供的一种数据中心网络的结构图;图2为本发明实施例提供的一种通信设备的结构图;图3为本发明实施例提供的一种确定路由的方法的流程图;图4a-图4b为本发明实施例提供的一种路径示意图;图5为本发明实施例提供的一种确定路由的装置的功能框图。具体实施方式本发明实施例提供一种确定路由的方法、装置及通信设备,用以解决现有技术中数据中心网络由于路径重叠导致排队时延较长的技术问题。以下将详细描述本发明实施例中方案的实施过程、目的。本发明实施例提供的一种确定路由的方法,该方法可以应用于数据中心网络中。请参考图1所示,为本发明实施例提供的一种基于3元胖树拓扑的数据中心的网络结构图。如图1所示,该网络由上至下分为三层,即n为3。由上至下的三层分别为核心层、汇聚层、边缘层。核心层的交换机称为核心交换机,汇聚层的交换机称为汇聚交换机,边缘层的交换机称为边缘交换机。主机与边缘交换机直接相连。在实际运用中,分布在三个层的设备可以是其它用于进行数据转发的设备,例如路由器,为便于描述,本文中统称为交换机。n元的胖树网络,包括2n个pod,每个交换机有2n个端口。因此,在本实施例中,n为3的数据中心网络包括6个pod,每一个pod内的边缘交换机及汇聚交换机的数量均为3,核心交换机有3个核心组,分别为核心组0至核心组2。每个核心组有3个核心交换机。每一个主机连接的主机数目为n2,即9,网络所能支持的主机总数为(2n)3/4,即54。每个交换机有6个端口。每个pod内的1个汇聚交换机的6个端口连接1个核心组内的3个核心交换机,并且连接相同pod内的3个边缘交换机,每个汇聚交换机连接的核心组不相同。每个边缘交换机的6个端口分别连接相同pod内的3个汇聚交换机以及3个主机。举例来说,如图1所示,pod0内的汇聚交换机0分别连接至核心组0的三个核心交换机,并且与pod0内的3个边缘交换机相连。pod0内汇聚交换机1连接至核心组1的3个核心交换机,并且与pod0内的3个边缘交换机相连。pod0内汇聚交换机2连接至核心组2的3个核心交换机,并且与pod0内的3个边缘交换机相连。其它pod内的交换机的连接情况类似,在此不再赘述。在图1中,pod0至pod6表示pod的编号,在实际运用中,也可以通过其它标识来标识不同的pod。核心层的交换机的编号0至2用来唯一标识同一核心组内的核心交换机,类似的,汇聚层的交换机的编号0至2用来唯一标识同一pod内的汇聚交换机,边缘层的交换机的编号0至2用来唯一标识同一pod内的边缘交换机,在实际运用中,也可以通过其它标识来标识同一pod内的汇聚交换机或边缘交换机。可选的,数据中心网络还可以包括一个控制器(未图示),控制器可以用于进行路径确定。可选的,路径确定也可以是由起点边缘交换机实施。另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。本文中的一些技术术语以现有的数据中心网络中的术语为例对本发明实施例进行的描述,其可能随着网络的演进发生变化,具体演进可以参考相应标准中的描述。接下来请参考图2,图2为本发明实施例提供的通信设备的可能的结构图。该通信设备例如为上述交换机及主机或者控制器。如图2所示,该通信设备包括:处理器10、发送器20、接收器30、存储器40和端口50。存储器40、发送器20和接收器30和处理器10可以通过总线进行连接。当然,在实际运用中,存储器40、发送器20和接收器30和处理器10之间可以不是总线结构,而可以是其它结构,例如星型结构,本申请不作具体限定。可选的,处理器10具体可以是通用的中央处理器或特定应用集成电路(英文:applicationspecificintegratedcircuit,简称:asic),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(英文:fieldprogrammablegatearray,简称:fpga)开发的硬件电路,可以是基带处理器。可选的,处理器10可以包括至少一个处理核心。可选的,存储器40可以包括只读存储器(英文:readonlymemory,简称:rom)、随机存取存储器(英文:randomaccessmemory,简称:ram)和磁盘存储器中的一种或多种。存储器40用于存储处理器10运行时所需的数据和/或指令。存储器40的数量可以为一个或多个。可选的,发送器20和接收器30在物理上可以相互独立也可以集成在一起。发送器20可以通过端口50进行数据发送。接收器30可以通过端口50进行数据接收。可选的,若通信设备为交换机,则端口50的数量为2n;若通信设备为主机,则端口50的数量为n。接下来请参考图3所示,为本发明实施例中确定路由的方法的流程图。请同时参考图1及图3所示,该方法包括:步骤101:获取需求路径的起点信息以及终点信息;所述起点信息包括起点pod的序号以及起点边缘交换机的序号,所述终点信息包括终点pod的序号以及终点边缘交换机的序号;步骤102:在n维拉丁方阵中确定出行为起点边缘交换机的序号、列为终点边缘交换机的序号的元素;其中,n为每个pod中边缘交换机的数量,n维拉丁方阵中的元素与每个pod中的汇聚交换机对应;n为大于2的整数;步骤103:判断起点pod的序号与终点pod的序号是否相同;步骤104:若起点pod的序号与终点pod的序号不相同,确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机;同一pod内的不同起点边缘交换机对应的核心交换机不同;步骤105:确定所述需求路径为起点边缘交换机、所述pod内所述元素对应的汇聚交换机、与所述汇聚交换机相连的其中一个核心交换机、与所述核心交换机相连的所述终点pod内的汇聚交换机、终点边缘交换机;步骤106:若起点pod的序号与终点pod的序号相同,确定所述需求路径为起点边缘交换机、所述pod内的所述元素对应的汇聚交换机、所述终点边缘交换机。可选的,步骤101可以是由某个边缘交换机接收到数据包时,通过解析数据包的包头信息,获得该数据包的起点信息和终点信息。起点信息和终点信息之间的路径即为需求路径。可选的,起点信息包括起点pod的序号以及起点边缘交换机的序号,所述终点信息包括终点pod的序号以及终点边缘交换机的序号。举例来说,p(t,i)(t’,i’)表示一条需求路径,起点是第t个pod的第i个边缘交换机,终点是第t’个pod的第i’个边缘交换机。如图1所示,t例如为1,i为1,即起点pod的标识,例如编号为0,起点边缘交换机的标识,例如编号为0,换言之,需求路径的起点是pod0中的边缘交换机0。n维拉丁方阵是一种n×n的方阵,方阵中恰有n种不同的元素,每种元素恰有n个,并且每种元素在一行和一列中恰好出现一次。unipotent拉丁方阵是一种特殊的拉丁方阵,要求对角线上的元素一致。对角线空缺方阵,其中对角线上不放置元素,每一行和每一列的元素不重复出现。以n为4为例,请参考表a至表d所示,分别为普通的拉丁方阵、unipotent拉丁方阵以及对角线空缺方阵。0213132020313102表a0123301223011230表b123312231123表c表d在图1所示的数据中心网络中,为3元的胖树结构,即n为3,所以本发明实施例中的拉丁方阵为3维拉丁方阵,也即n为每个pod中边缘交换机或汇聚交换机的数量。进一步,在本发明实施例的拉丁方阵中,拉丁方阵的元素与每个pod中的汇聚交换机对应,可选的,每个元素与每个pod中的编号对应。可选的,拉丁方阵中的元素可以为每个pod中的汇聚交换机的编号,例如在图1中,pod0中的汇聚交换机的编号为0、1、2,那么拉丁方阵可以如表e和表f所示。102110表e012120201表f可选的,拉丁方阵中的元素可以与每个pod中的汇聚交换机的编号不同,但是二者对应,例如拉丁方阵中的元素可以是3、4、5,分别表征汇聚交换机0、汇聚交换机1和汇聚交换机2。本发明实施例通过n维拉丁方阵来确定汇聚交换机,具体的,在n维拉丁方阵中确定出行为起点边缘交换机的序号、列为终点边缘交换机的序号的元素。举例来说,起点边缘交换机的序号为i,终点边缘交换机的序号为i’,那么在n维拉丁方阵中,确定行为起点边缘交换机的序号i、列为终点边缘交换机的序号i’的元素dii’。例如起点边缘交换机的序号为1,终点边缘交换机的序号为2,那么在表f所示的拉丁方阵中,确定出行为1、列为2的元素为1,那么元素1即表征确定出的汇聚交换机为podt中的汇聚交换机1。因为边缘交换机到边缘交换机的路径选择中,会出现起点边缘交换机和终点边缘交换机在同一pod内的情况,在这种情况下,只要确定汇聚交换机即可,而不需要再确定核心交换机。若起点边缘交换机和终点交换机在不同的pod内,则除了要确定汇聚交换机之外,还需要确定核心交换机,所以在步骤101之后,还执行步骤103,即判断起点pod的序号与终点pod的序号是否相同,以确定起点边缘交换机和终点边缘交换机是否位于同一pod。举例来说,t为1,t’也为1,则说明起点边缘交换机和终点边缘交换机位于同一pod,例如pod0。再例如,t为1,而t’为2,则说明起点边缘交换机和终点边缘交换机位于不同的pod内。需要说明的是,步骤103和步骤102之间不限定先后的执行顺序,即既可以先执行步骤102,也可以先执行步骤103,当然也可以同时执行。另外,不管是步骤102先执行,还是步骤103先执行,步骤102中采用的n维拉丁方阵可以如表a、表b所示的拉丁方阵。若步骤103先执行,则步骤102中采用的拉丁方阵根据步骤103的确定结果不同,则可以采用不同类型的拉丁方阵,例如如果起点边缘交换机和终点边缘交换机位于同一pod内,则可以采用对角线空缺的拉丁方阵,因为在同一pod内,起点边缘交换机和终点边缘交换机不会相同,dii’不会位于对角线上,所以对角线上有没有元素都不会影响确定汇聚交换机的结果。若起点边缘交换机和终点边缘交换机位于不同的pod内,则起点边缘交换机的序号和终点边缘交换机的序号可能会相同,例如起点边缘交换机为pod0中的边缘交换机1,而终点边缘交换机为pod1中的边缘交换机1,dii’可能会位于对角线上,所以此时采用的拉丁方阵就需要是如表a和表b所示的对角线不空缺的拉丁方阵。若起点pod的序号与终点pod的序号相同时,执行步骤106,即确定所述需求路径为起点边缘交换机、所述pod内的所述元素对应的汇聚交换机、所述终点边缘交换机。举例来说,请参考图4a所示,若起点边缘交换机用et,i来表示,终点边缘交换机用et,i’来表示,at,dii’表示步骤102中确定出的汇聚交换机,则需求路径在图4a中,实线表示由起点边缘交换机i至终点边缘交换机i’的路径,虚线表示由终点边缘交换机i’至起点边缘交换机i的路径。不同的是,在实线表示的路径中,汇聚交换机由dii’指定,而在虚线表示的路径中,汇聚交换机由di’i指定。结合图1所示,举例来说,例如起点边缘交换机的序号为1,终点边缘交换机的序号为2,而且起点边缘交换机和终点边缘交换机均位于pod0中,那么在表e所示的拉丁方阵中,确定出行为1、列为2的元素为1,那么元素1即表征确定出的汇聚交换机为pod0中的汇聚交换机1。因此,需求路径为pod0的边缘交换机0、pod0中的汇聚交换机1、pod0中的边缘交换机1。若起点pod的序号与终点pod的序号不相同,则执行步骤104和步骤105,即确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机,确定所述需求路径为起点边缘交换机、所述pod内所述元素对应的汇聚交换机、与所述汇聚交换机相连的任意一个核心交换机、与所述核心交换机相连的所述终端pod内的汇聚交换机、终点边缘交换机。同一pod内的不同起点边缘交换机对应的核心交换机不同。举例来说,请参考图1所示,假设pod0内的起点边缘交换机的序号为0,在步骤102中确定出的汇聚交换机为序号1所代表的汇聚交换机,那么在步骤104中可以选择与汇聚交换机1相连的核心组1中的三个核心交换机的其中一个,例如核心组1中的核心交换机0,那么若起点边缘交换机的序号为1时,在步骤104中可以选择与汇聚交换机1相连的核心组1中的核心交换机1,若起点边缘交换机的序号为2时,在步骤104中可以选择与汇聚交换机1相连的核心组1中的核心交换机2。当然,也可以是起点边缘交换机的序号为0时,在步骤104中可以选择与汇聚交换机1相连的核心组1中的核心交换机1,若起点边缘交换机的序号为1时,在步骤104中可以选择与汇聚交换机1相连的核心组1中的核心交换机2,若起点边缘交换机的序号为2时,在步骤104中可以选择与汇聚交换机1相连的核心组1中的核心交换机0。因此,为了便于确定核心交换机,可以在步骤104中通过一个排列向量确定核心交换机,该排列向量中的元素互不相同,每个元素分别表示一个核心组中的一个核心交换机。举例来说,排列向量可以表示为π=(π1,π2,...,πn),那么在步骤104中,在排列向量中确定出第i个元素πi,第i个元素πi对应的核心交换机即为确定出的核心交换机。在图1所示的例子中,n为3,π=(0,1,2),假设起点边缘交换机为pod0内的边缘交换机0,在步骤102中确定出的汇聚交换机为pod0内的汇聚交换机1,所以在步骤104中,确定出排列向量中第1个元素0,那么元素0对应的核心交换机0则为本次确定出的核心交换机。举例来说,请参考图4b所示,若起点边缘交换机用et,i来表示,终点边缘交换机用et’,i’来表示,at,lii’表示步骤102中确定出的汇聚交换机,这里用lii’表示从拉丁方阵中确定出的元素,是特别说明这里使用的是普通拉丁方阵,而前述dii’表示是从对角线空缺的拉丁方阵中确定出的元素,clii’,πi表示核心组clii’中标识πi对应的核心交换机,at,’lii’表示第t’个pod内元素lii’对应的汇聚交换机,则需求路径在图4b中,实线表示由起点边缘交换机i至终点边缘交换机i’的路径,虚线表示由终点边缘交换机i’至起点边缘交换机i的路径。不同的是,在实线表示的路径中,汇聚交换机和核心组由lii’指定,核心交换机由πi指定,而在虚线表示的路径中,汇聚交换机和核心组由li’i指定,核心交换机由πi’指定。结合图1所示,举例来说,例如起点边缘交换机的序号为1,终点边缘交换机的序号为2,而且起点边缘交换机位于pod0中,终点边缘交换机均位于pod1中,那么在表f所示的拉丁方阵中,确定出行为1、列为2的元素为1,那么元素1即表征确定出的汇聚交换机为pod0中的汇聚交换机1。然后确定出核心组1中的核心交换机0,进而再确定出与核心交换机0相连的pod1内的汇聚交换机1。因此,需求路径为pod0的边缘交换机0、pod0中的汇聚交换机1、核心组1中的核心交换机0、pod1中的汇聚交换机、pod1中的边缘交换机1。由以上描述可以看出,通过本发明实施例中的方法确定出的路径,使得每两层交换机之间的所有链路的使用频率相当,所以数据流均匀分布在网络的所有链路上,所以实现了负载均衡。因此,避免了现有技术中的方法所带来的路径重叠导致的排队时延较长的技术问题。可选的,可以是事先由控制设备按照本发明实施例中的方法进行路由确定,最终形成路由表,那么各个交换机可以通过查询路由表进行数据包转发。可选的,也可以是在起点边缘交换机出按照本发明实施例中的方法进行路由确定,确定之后由起点边缘交换机将路由信息与数据包一起转发给确定出的汇聚交换机,汇聚交换机再根据路由信息进行数据转发,并将路由信息再转发给下一个要转发的交换机,如此往复,直至数据包到达终点边缘交换机。进一步,若数据中心网络采用密集型光波复用(英文:densewavelengthdivisionmultiplexing;简称:dwdm)技术,那么任何两个边缘交换机(或主机)之间都需要分配一个光载波,以下将说明如何分配光载波,使得光载波数最小。可选的,若数据流是从边缘交换机至边缘交换机,因为有2n个pod,所以在2n维对角线元素相同的拉丁方阵k中确定元素ktt’,即行为t、列为t’的元素,那么起点边缘交换机i至终点边缘交换机i’所采用的光载波的波长为元素ktt’对应的波长。因此,整个网络需要的光载波的数量为2n。其中,2n维对角线元素相同的拉丁方阵中的元素与2n个光波长不相同的光载波对应。若不考虑相同pod之间的数据流,则只需要2n-1个不同波长的光载波。可选的,若数据流是从主机至主机,因为主机连接的边缘交换机是固定的,所以在路径确定的过程中,只需要再确定与起点主机连接的起点边缘交换机至于终点主机连接的终点边缘交换机的路径即可,而起点边缘交换机至终点边缘交换机的路径确定与前述描述的相同,所以在此不再赘述。可选的,若数据流是从主机至主机,那么在2n3维对角线元素相同的拉丁方阵q中确定元素qtt’,即行为t、列为t’的元素,那么起点边缘交换机i连接的起点主机至终点边缘交换机i’连接的终点主机所采用的光载波的波长为元素qtt’对应的波长。因为主机并没有数据流至自己,所以,整个网络需要的光载波的数量为2n3-1。其中,2n3维对角线元素相同的拉丁方阵中的元素与2n3-1个光波长不相同的光载波对应。可选的,若数据中心网络采用时分复用(英文:timedivisionmultiplexing,简称:tdm)技术,那么任何两个边缘交换机(或主机)之间都需要分配一个时间槽,以下将说明如何分配时间槽。可选的,若数据流是从边缘交换机至边缘交换机,因为有2n个pod,所以在2n维对角线元素相同的拉丁方阵k中确定元素ktt’,即行为t、列为t’的元素,那么起点边缘交换机i至终点边缘交换机i’所采用的时间槽为元素ktt’对应的时间槽。因此,整个网络需要的时间槽的数量为2n。其中,2n维对角线元素相同的拉丁方阵中的元素与2n个不同的时间槽对应。可选的,若数据流是从主机至主机,那么在2n3维对角线元素相同的拉丁方阵q中确定元素qtt’,即行为t、列为t’的元素,那么起点边缘交换机i连接的起点主机至终点边缘交换机i’连接的终点主机所采用的时间槽为元素qtt’对应的时间槽。因为主机并没有数据流至自己,所以,整个网络需要的时间槽的数量为2n3-1。其中,2n3维对角线元素相同的拉丁方阵中的元素与2n3-1个不同的时间槽对应。基于同一发明构思,本发明实施例还提供一种通信设备(如图2所示),该通信设备用于实现前述方法中的任意一种方法。当该通信设备为控制器,处理器10,用于获取需求路径的起点信息以及终点信息;所述起点信息包括起点pod的序号以及起点边缘交换机的序号,所述终点信息包括终点pod的序号以及终点边缘交换机的序号;在n维拉丁方阵中确定出行为所述起点边缘交换机的序号、列为所述终点边缘交换机的序号的元素;其中,n为每个pod中边缘交换机的数量,所述n维拉丁方阵中的元素与每个pod中的汇聚交换机对应;n为大于2的整数;若起点pod的序号与终点pod的序号相同,确定所述需求路径为起点边缘交换机、所述pod内的所述元素对应的汇聚交换机、所述终点边缘交换机;发送器20,用于将所述需求路径发送给数据中心网络的每层的交换机。可选的,处理器10还用于:若起点pod的序号与终点pod的序号不相同,确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机;同一pod内的不同起点边缘交换机对应的核心交换机不同;确定所述需求路径为起点边缘交换机、所述pod内所述元素对应的汇聚交换机、与所述汇聚交换机相连的其中一个核心交换机、与所述核心交换机相连的所述终点pod内的汇聚交换机、所述终点边缘交换机。可选的,处理器10用于:在n维排列向量中确定出与所述起点边缘交换机的序号相同排序的元素;所述相同排序的元素对应的核心交换机即为所述其中一个核心交换机;所述n维排列向量中的元素互不相同,且分别表示与所述汇聚交换机相连的核心组中的一个核心交换机。可选的,处理器10还用于:若数据流从所述起点边缘交换机至所述终点交换机,在2n维对角线元素相同的拉丁方阵中确定出行为所述起点pod的序号、列为所述终点pod的序号的波长元素;所述2n维对角线元素相同的拉丁方阵中的元素与2n个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。可选的,处理器10还用于:若数据流从与所述起点边缘交换机连接的起点主机至与所述终点边缘交换机连接的终点主机,在2n3维对角线元素相同的拉丁方阵中确定出行为所述起点pod的序号、列为所述终点pod的序号的波长元素;所述2n3维对角线元素相同的拉丁方阵中的元素与2n3-1个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。当该通信设备为边缘交换机时,端口50,用于收发数据包;处理器10,用于获取需求路径的起点信息以及终点信息;所述起点信息包括起点pod的序号以及起点边缘交换机的序号,所述终点信息包括终点pod的序号以及终点边缘交换机的序号;在n维拉丁方阵中确定出行为所述起点边缘交换机的序号、列为所述终点边缘交换机的序号的元素;其中,n为每个pod中边缘交换机的数量,所述n维拉丁方阵中的元素与每个pod中的汇聚交换机对应;n为大于2的整数;若起点pod的序号与终点pod的序号相同,确定所述需求路径为起点边缘交换机、所述pod内的所述元素对应的汇聚交换机、所述终点边缘交换机。可选的,处理器10还用于:若起点pod的序号与终点pod的序号不相同,确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机;同一pod内的不同起点边缘交换机对应的核心交换机不同;确定所述需求路径为起点边缘交换机、所述pod内所述元素对应的汇聚交换机、与所述汇聚交换机相连的其中一个核心交换机、与所述核心交换机相连的所述终点pod内的汇聚交换机、所述终点边缘交换机。可选的,处理器10用于:在n维排列向量中确定出与所述起点边缘交换机的序号相同排序的元素;所述相同排序的元素对应的核心交换机即为所述其中一个核心交换机;所述n维排列向量中的元素互不相同,且分别表示与所述汇聚交换机相连的核心组中的一个核心交换机。可选的,处理器10还用于:若数据流从所述起点边缘交换机至所述终点交换机,在2n维对角线元素相同的拉丁方阵中确定出行为所述起点pod的序号、列为所述终点pod的序号的波长元素;所述2n维对角线元素相同的拉丁方阵中的元素与2n个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。可选的,处理器10还用于:若数据流从与所述起点边缘交换机连接的起点主机至与所述终点边缘交换机连接的终点主机,在2n3维对角线元素相同的拉丁方阵中确定出行为所述起点pod的序号、列为所述终点pod的序号的波长元素;所述2n3维对角线元素相同的拉丁方阵中的元素与2n3-1个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。基于同一发明构思,本发明实施例还提供一种确定路由的装置,该装置包括用于执行前述方法步骤的功能模块。作为一个例子,如图5所示,该装置包括:获取单元201、处理器单元202。在实际运用中,还可以根据实际需求配置其它单元模块。具体的,获取单元201,用于获取需求路径的起点信息以及终点信息;所述起点信息包括起点pod的序号以及起点边缘交换机的序号,所述终点信息包括终点pod的序号以及终点边缘交换机的序号;处理单元202,用于在n维拉丁方阵中确定出行为所述起点边缘交换机的序号、列为所述终点边缘交换机的序号的元素;其中,n为每个pod中边缘交换机的数量,所述n维拉丁方阵中的元素与每个pod中的汇聚交换机对应;n为大于2的整数;若起点pod的序号与终点pod的序号相同,确定所述需求路径为起点边缘交换机、所述pod内的所述元素对应的汇聚交换机、所述终点边缘交换机。可选的,处理单元202还用于:若起点pod的序号与终点pod的序号不相同,确定出与所述元素对应的汇聚交换机相连的其中一个核心交换机;同一pod内的不同起点边缘交换机对应的核心交换机不同;确定所述需求路径为起点边缘交换机、所述pod内所述元素对应的汇聚交换机、与所述汇聚交换机相连的其中一个核心交换机、与所述核心交换机相连的所述终点pod内的汇聚交换机、所述终点边缘交换机。可选的,处理单元202用于:在n维排列向量中确定出与所述起点边缘交换机的序号相同排序的元素;所述相同排序的元素对应的核心交换机即为所述其中一个核心交换机;所述n维排列向量中的元素互不相同,且分别表示与所述汇聚交换机相连的核心组中的一个核心交换机。可选的,处理单元202还用于:若数据流从所述起点边缘交换机至所述终点交换机,在2n维对角线元素相同的拉丁方阵中确定出行为所述起点pod的序号、列为所述终点pod的序号的波长元素;所述2n维对角线元素相同的拉丁方阵中的元素与2n个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。可选的,处理单元202还用于:若数据流从与所述起点边缘交换机连接的起点主机至与所述终点边缘交换机连接的终点主机,在2n3维对角线元素相同的拉丁方阵中确定出行为所述起点pod的序号、列为所述终点pod的序号的波长元素;所述2n3维对角线元素相同的拉丁方阵中的元素与2n3-1个光波长不相同的光载波对应;确定所述波长元素对应的光载波为所述所需路径所采用的光载波。前述实施例中的确定路由的方法中的各种变化方式和具体实例同样适用于本实施例的装置以及图2中的通信设备,通过前述对确定路由的方法的详细描述,本领域技术人员可以清楚的知道本实施例中装置以及图2中的通信设备的实施方法,所以为了说明书的简洁,在此不再详述。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1