CN117792992B - 数据传输路径控制方法、装置、介质及设备 - Google Patents
数据传输路径控制方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN117792992B CN117792992B CN202410217656.2A CN202410217656A CN117792992B CN 117792992 B CN117792992 B CN 117792992B CN 202410217656 A CN202410217656 A CN 202410217656A CN 117792992 B CN117792992 B CN 117792992B
- Authority
- CN
- China
- Prior art keywords
- switch
- flow identifier
- target
- divisor
- determining
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 216
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000006870 function Effects 0.000 claims description 33
- 238000013507 mapping Methods 0.000 claims description 29
- 230000015654 memory Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 16
- 239000010410 layer Substances 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 6
- 125000004122 cyclic group Chemical group 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 239000012792 core layer Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000010287 polarization Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开一种数据传输路径控制方法、装置、介质及设备。其中方法包括:在预设流标识符集合中确定出流标识符;在预设除数集合中确定出第一交换机的第一除数,根据每个流标识符和第一除数确定出每个流标识符对应的第一模;根据第一模和第一交换机的下一跳交换机的数量,在第一交换机的下一跳交换机中确定出每个流标识符对应的第二交换机;根据每个流标识符和预设除数集合,在后续需要多路径选择的交换机的下一跳交换机中,确定出每个流标识符对应的目标交换机;将每个流标识符对应的第一交换机、第二交换机、目标交换机以及目标传输交换机之间对应的网络路径确定为数据传输路径。利用多个路径传输数据以实现流量负载均衡。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种数据传输路径控制方法、装置、介质及设备。
背景技术
在数据中心网络中有多条网络路径,在数据中心网络中,针对于不同的数据流可以选择多条网络路径来实现数据传输。但是,当多条网络路径中一些网络路径出现了拥堵或者网络路径中断,则会影响数据流的传输。
相关技术中,通过将数据流映射到不同的网络路径上,以实现对数据流的传输。但是在实际应用时,会存在数据流映射不均匀的现象,比如多个数据流可能映射到一个相同的网络路径上,导致该网络路径的流量负载较大,最终影响数据流传输。
因此,在相关技术中,数据中心网络的存在负载不均衡的问题。
发明内容
本申请实施例提供一种数据传输路径控制方法、装置、介质及设备,能够对数据中心网络的多个网络路径实现流量负载均衡。
第一方面,本申请实施例提供了一种数据传输路径控制方法,包括:
在预设流标识符集合中确定出流标识符;
在预设除数集合中确定出第一交换机的第一除数,并根据每个流标识符和第一除数确定出每个流标识符对应的第一模;
根据第一模和第一交换机的下一跳交换机的数量,在第一交换机的下一跳交换机中确定出每个流标识符对应的第二交换机,第一交换机的下一跳交换机的数量为多个;
根据每个流标识符和预设除数集合,在第二交换机之后、每个流标识符对应的目标传输交换机之前需要多路径选择的交换机的下一跳交换机中,确定出每个流标识符对应的目标交换机;
将每个流标识符对应的第一交换机、第二交换机、目标交换机以及目标传输交换机之间对应的网络路径,确定为每个流标识符对应的数据传输路径。
第二方面,本申请实施例提供了一种数据传输路径控制装置,包括:
第一确定模块,用于在预设流标识符集合中确定出流标识符;
第二确定模块,用于在预设除数集合中确定出第一交换机的第一除数,并根据每个流标识符和第一除数确定出每个流标识符对应的第一模;
第三确定模块,用于根据第一模和第一交换机的下一跳交换机的数量,在第一交换机的下一跳交换机中确定出每个流标识符对应的第二交换机,第一交换机的下一跳交换机的数量为多个;
第四确定模块,用于根据每个流标识符和预设除数集合,在第二交换机之后、每个流标识符对应的目标传输交换机之前需要多路径选择的交换机的下一跳交换机中,确定出每个流标识符对应的目标交换机;
路径确定模块,用于将每个流标识符对应的第一交换机、第二交换机、目标交换机以及目标传输交换机之间对应的网络路径,确定为每个流标识符对应的数据传输路径。
在一些实施方式中,第二确定模块,用于:
确定出目标哈希函数对应的种子值;
将种子值、每个流标识符和第一除数输入到目标哈希函数中,得到每个流标识符对应的第一模。
在一些实施方式中,第三确定模块,用于:
将第一交换机的下一跳交换机的数量确定为目标除数;
根据第一模和目标除数确定出每个流标识符对应的第一余数;
根据第一余数在第一交换机的下一跳交换机中确定出每个流标识符对应的第二交换机。
在一些实施方式中,第四确定模块,用于:
在预设除数集合中确定出第二交换机之后、目标传输交换机之前需要进行多路径选择的第一目标交换机对应的相关除数;
根据每个流标识符和相关除数确定出每个流标识符对应的相关模;
根据相关模和第一目标交换机的下一跳交换机的数量,确定出第一目标交换机的下一跳交换机中每个流标识符对应的第二目标交换机;
当第一目标交换机的下一跳交换机中存在第二目标交换机之外的未被分配流标识符的交换机时,则在预设除数集合中重新选择出第一相关除数,根据第一相关除数重新确定出每个流标识符在第一目标交换机的下一跳交换机中的第二目标交换机,直至第一目标交换机的下一跳交换机中的每个交换机被分配至少一个流标识符。
在一些实施方式中,第四确定模块,用于:
在预设除数集合中重新选择出第一相关除数之后,当第一目标交换机无法通过第一相关除数确定出第一目标交换机的下一跳交换机中的每个交换机被分配至少一个流标识符时,则根据预设除数集合重新选择第一目标交换机的上一跳交换机中对应的第三目标交换机的上层相关除数,以及第一目标交换机对应的第二相关除数;
根据重新选择的上层相关除数和第二相关除数重新确定出每个流标识符在第一目标交换机的下一跳交换机中的第二目标交换机,直至第一目标交换机的下一跳交换机中的每个交换机被分配至少一个流标识符。
在一些实施方式中,数据传输路径控制装置还包括流标识符集合模块,用于:
在预设流标识符集合中确定出流标识符之前,获取多个预设数据包,并确定每个预设数据包对应的源网际协议地址、源端口、目的网际协议地址、目的端口和传输协议类型;
根据源网际协议地址、源端口、目的网际协议地址、目的端口和传输协议类型中的至少一个生成每个预设数据包对应的流标识符;
根据每个预设数据包对应的流标识符生成预设流标识符集合。
在一些实施方式中,数据传输路径控制装置还包括数据传输模块,用于:
在将每个流标识符对应的第一交换机、第二交换机、目标交换机以及目标传输交换机之间对应的网络路径,确定为每个流标识符对应的数据传输路径之后, 根据每个流标识符的数据传输路径和每个流标识符之间的映射关系建立网络路径映射表;
当数据中心网络需要进行数据流传输时,根据数据中心网络中的网络拥堵状况以及数据流的目标传输地址在网络路径映射表中确定出数据流对应的目标流标识符;
根据目标流标识符对应的目标数据传输路径传输数据流。
第三方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行本申请实施例提供的数据传输路径控制方法。
第四方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并可以在处理器上运行的计算机程序,处理器执行计算机程序时实现本申请实施例提供的数据传输路径控制方法。
本申请实施例中,在预设流标识符集合中确定出流标识符;在预设除数集合中确定出第一交换机的第一除数,并根据每个流标识符和第一除数确定出每个流标识符对应的第一模;根据第一模和第一交换机的下一跳交换机的数量,在第一交换机的下一跳交换机中确定出每个流标识符对应的第二交换机,第一交换机的下一跳交换机的数量为多个;根据每个流标识符和预设除数集合,在第二交换机之后、每个流标识符对应的目标传输交换机之前需要多路径选择的交换机的下一跳交换机中,确定出每个流标识符对应的目标交换机;将每个流标识符对应的第一交换机、第二交换机、目标交换机以及目标传输交换机之间对应的网络路径,确定为每个流标识符对应的数据传输路径。本申请实施例中,通过预设流标识符集合和预设除数集合为需要进行多路径选择的交换机设置合适的除数,从而使得下一跳交换机中每一交换机都对应分配一个流标识符,以此类推,针对数据中心网络中的一些需要进行多路径选择的交换机的下一跳的每个交换机都设置至少一个对应的流标识符,这样就使得流标识符分配给不同的交换机,从而形成数据传输路径,每一个数据传输路径都对应有至少一个流标识符,后续可以根据网络拥堵情况来选择流标识符,然后根据流标识符来选择出对应的数据传输路径来传输数据,从而在数据传输时实现流量负载均衡。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的数据中心网络的示意图;
图2是本申请实施例提供的数据传输路径控制方法的总体流程示意图;
图3是本申请实施例提供的数据中心网络的另一示意图;
图4是本申请实施例提供的网络路径映射表的示意图;
图5是本申请实施例提供的数据中心网络的场景示意图;
图6是本申请实施例提供的网络路径映射表的另一示意图;
图7是本申请实施例提供的数据中心网络的另一场景示意图;
图8是本申请实施例提供的数据传输路径控制方法的另一流程示意图;
图9是本申请实施例提供的数据传输路径控制装置的结构示意图;
图10是本申请实施例提供的服务器的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请的方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在说明书、权利要求书和上述附图所描述的一些流程中,包含了按照特定顺序出现的多个步骤,但应该清楚了解,这些步骤可以不按照其在本文中出现的顺序来执行或并行执行,步骤序号仅仅是用于区分开各个不同的步骤,序号本身不代表任何的执行顺序。此外,本文中的“第一”、“第二”或者“目标”等描述,是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
对本公开实施例进行进一步详细说明之前,对本公开实施例中涉及的名词和术语进行说明,本公开实施例中涉及的名词和术语适用于如下的解释:
等价多路径路由(Equal-Cost Multi-Path,ECMP):是一个在next-hop封包传送到一个单一目的所产生在多个最佳路径并列时的首要路由权重计算路由策略。
数据中心网络(Data Communication Network,DCN):数据中心网络是物理和基于网络的设备的集成,以帮助存储和处理应用程序和数据。它涉及网络设备(如路由器、交换机和接口)的布置,这些设备将数据中心资源池中的各种计算和存储设备互连起来。
交换机(Switch):是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。
在数据中心网络中有多条网络路径,在数据中心网络中,针对于不同的数据流可以选择多条网络路径来实现数据传输。但是,当多条网络路径中一些网络路径出现了拥堵或者网络路径中断,则会影响数据流的传输。
相关技术中,通过将数据流映射到不同的网络路径上,以实现对数据流的传输。但是在实际应用时,会存在数据流映射不均匀的现象,比如多个数据流可能映射到一个相同的网络路径上,导致该网络路径的流量负载较大,最终影响数据流传输。因此,在相关技术中,数据中心网络的存在负载不均衡的问题。
本申请实施例为了解决上述问题,提出一种数据传输路径控制方法,通过预设流标识符集合和预设除数集合为需要进行多路径选择的交换机设置合适的除数,从而使得下一跳交换机中每一交换机都对应分配一个流标识符,以此类推,针对数据中心网络中的一些需要进行多路径选择的交换机都设置至少一个对应的流标识符,这样就使得流标识符分配给不同的交换机,从而形成数据传输路径,每一个数据传输路径都对应有至少一个流标识符,后续可以根据流标识符来选择出对应的数据传输路径来传输数据,从而在数据传输时实现流量负载均衡。
本申请实施例提供一种数据传输路径控制方法、装置、介质及设备。以下分别进行详细说明。
请参阅图1,图1是本申请实施例提供的数据中心网络的示意图。
其中,数据中心网络是云计算的网络基础设施,通常采用叶脊拓扑网络结构(Spine-Leaf)或胖树拓扑结构(Fat-Tree)等网络拓扑连接成千上万服务器,为数据中心网络的服务器之间的网络通信提供多条等价路由路径。
数据中心网络包括多个交换机,比如数据中心网络包括包含了多个交换机,如图1所示,在数据传输的过程中,其中上一跳交换机中有交换机1.1、交换机1.2……交换机1.N,而下一跳交换机中包含了交换机2.1、交换机2.2……交换机2.L。
上一跳交换机中的交换机可以在下一跳交换机中确定出一个目标交换机,然后上一跳交换机将数据转发至下一跳的目标交换机,从而实现数据的传输。通过该方式,在数据中心网络中会形成一个数据传输路径。
可以理解的是,数据中心网络中存在多个数据传输路径,如果将数据流分摊在不同的数据传输路径上,这样就可以减少单个数据传输路径的流量负载压力,从而实现了对流量的负载均衡。
但是,相关技术中,虽然有一些数据中心网络的负载均衡的处理方式,但是会存在一些流量极化的问题,比如将不同的数据流对应的数据传输路径确定在同一路径上,这样就导致了该数据传输路径存在流量负载大的问题,可能会导致网络拥堵、数据传输效率低等问题,因此,相关技术中存在无法实现数据中心网络流量负载均衡的问题。
本申请实施例中,通过预设流标识符集合和预设除数集合为需要进行多路径选择的交换机设置合适的除数,从而使得下一跳交换机中每一交换机都对应分配一个流标识符,以此类推,针对数据中心网络中的一些需要进行多路径选择交换机的下一跳中每个交换机都设置至少一个对应的流标识符,这样就使得流标识符分配给不同的交换机,从而形成数据传输路径,每一个数据传输路径都对应有至少一个流标识符,后续可以根据流标识符来选择出对应的数据传输路径来传输数据,从而在数据传输时实现流量负载均衡。
为了更加详细的了解本申请实施例所提供的数据传输路径控制方法,请继续参阅图2,图2是本申请实施例提供的数据传输路径控制方法的流程示意图。该数据传输路径控制方法的执行主体可以是终端,也可以是服务器。该数据传输路径控制方法可以包括如下步骤:
步骤101、在预设流标识符集合中确定出流标识符;
步骤102、在预设除数集合中确定出第一交换机的第一除数,并根据每个流标识符和第一除数确定出每个流标识符对应的第一模;
步骤103、根据第一模和第一交换机的下一跳交换机的数量,在第一交换机的下一跳交换机中确定出每个流标识符对应的第二交换机,第一交换机的下一跳交换机的数量为多个;
步骤104、根据每个流标识符和预设除数集合,在第二交换机之后、每个流标识符对应的目标传输交换机之前需要多路径选择的交换机的下一跳交换机中,确定出每个流标识符对应的目标交换机;
步骤105、将每个流标识符对应的第一交换机、第二交换机、目标交换机以及目标传输交换机之间对应的网络路径,确定为每个流标识符对应的数据传输路径。
以下将对步骤101至步骤105进行详细描述。
在步骤101中,在预设流标识符集合中确定出流标识符。
其中,可以先确定出一个预设流标识符集合,该预设流标识符集合中包含了多个流标识符,每个流标识符可以认为是后续确定的数据传输路径对应的标识,一个流标识符可以至少对应有一条数据网络传输路径。
在一些实施方式中,在预设流标识符集合中确定出流标识符之前,包括:
(1.1)获取多个预设数据包,并确定每个预设数据包对应的源网际协议地址、源端口、目的网际协议地址、目的端口和传输协议类型;
(1.2)根据源网际协议地址、源端口、目的网际协议地址、目的端口和传输协议类型中的至少一个生成每个预设数据包对应的流标识符;
(1.3)根据每个预设数据包对应的流标识符生成预设流标识符集合。
其中,预设数据包的数据包信息中包含了源网际协议地址、源端口、目的网际协议地址、目的端口和传输协议类型,可以对该预设数据包进行解析,从而获取到源网际协议地址、源端口、目的网际协议地址、目的端口和传输协议类型这些数据包信息。
其中,源网际协议地址:指发送数据包的计算机的网际协议地址,用于识别数据包的来源。
目的网际协议地址:指接收数据包的计算机的网际协议地址,用于确定数据包的目的地。
源端口:指发送数据包的计算机使用的端口号,用于标识数据包是从哪个应用程序发送的。
目的端口:指接收数据包的计算机使用的端口号,用于标识数据包应该交给哪个应用程序进行处理。
传输协议类型:指发送数据包时所使用的协议类型,例如TCP协议类型、UDP类型等。
然后,可以根据源网际协议地址、源端口、目的网际协议地址、目的端口和传输协议类型中的至少一个生成流标识符。比如,可以将源网际协议地址、源端口、目的网际协议地址、目的端口和传输协议类型分别对应数值进行排序组合,从而得到流标识符。或者,可以采用对应的算法来计算出源网际协议地址、源端口、目的网际协议地址、目的端口和传输协议类型对应的流标识符,比如采用哈希算法,来确定出源网际协议地址、源端口、目的网际协议地址、目的端口和传输协议类型对应的哈希值,然后将该哈希值确定为流标识符。生成流标识符的方式在此不作限制。
最后,可以根据每个预设数据包对应的流标识符生成预设流标识符集合。
在步骤102中,在预设除数集合中确定出第一交换机的第一除数,并根据每个流标识符和第一除数确定出每个流标识符对应的第一模。
其中,第一交换机可以是一个需要进行多路径选择的交换机,第一交换机也可以是整个数据中心网络中的边缘交换机,可以用于接收外部的数据流,并通过第一交换机进行数据传输。
在一些实施方式中,可以预先设置一个除数集合,在该预设除数集合中包含了多个不同数值的除数,比如一个预设除数集合中有14、25、36、18、47、89、78这些除数。
然后在该预设除数集合中确定随机选择出一个除数为第一交换机的第一除数,第一交换机可以是接收该数据包的交换机,或者是第一交换机为数据中心网络中在接入层中的多个交换机中随机确定出的一个交换机。然后根据每个流标识符和第一除数确定出每个流标识符对应的第一模。
在一些实施方式中,根据每个流标识符和第一除数确定出每个流标识符对应的第一模,包括:
(1.1)确定出目标哈希函数对应的种子值;
(1.2)将种子值、每个流标识符和第一除数输入到目标哈希函数中,得到每个流标识符对应的第一模。
在确定第一除数对应的第一模的过程中,需要采用到目标哈希函数,比如该目标哈希函数可以是循环冗余校验(Cyclic Redundancy Check,CRC)哈希函数,因此可以先确定出目标哈希函数的种子值,该种子值可以是在多个预设的种子值种随机确定出的一个值。
然后将种子值、每个流标识符和第一除数输入到目标哈希函数中,得到每个流标识符对应的第一模。具体地,可以通过目标哈希函数对应的公式来计算出每个流标识符对应的第一模,计算公式如下:
Egress_Port= CRC_Hash(Flow_ID, Seed) % Divisor
其中,Egress_Port对应为端口值,也可以理解为每个流标识符对应的模,CRC_Hash为目标哈希函数,Flow_ID为流标识符,seed为种子值,%是取模操作,Divisor是除数。
当该计算公式应用在第一交换机时,则Egress_Port对应为每个流标识符对应的第一模。
在步骤103中,根据第一模和第一交换机的下一跳交换机的数量,在第一交换机的下一跳交换机中确定出每个流标识符对应的第二交换机,第一交换机的下一跳交换机的数量为多个。
其中,第一交换机为需要进行多路径选择的交换机,在第一交换机的下一跳中有多个交换机,然后在下一跳交换机中确定出每个流标识符对应的第二交换机。
具体地,可以通过第一模和第一交换机下一跳交换机的数量来进行计算,从而得到一个计算出的数值,将该数值确定为在第一交换机的下一跳交换机中确定出第二交换机。
在一些实施方式中,根据第一模和第一交换机的下一跳交换机的数量,在第一交换机的下一跳交换机中确定出每个流标识符对应的第二交换机,包括:
(1.1)将第一交换机的下一跳交换机的数量确定为目标除数;
(1.2)根据第一模和目标除数确定出第一余数;
(1.3)根据第一余数在第一交换机的下一跳交换机中确定出第二交换机。
其中,可以将第一交换机的下一跳交换机的数量确定为目标除数,然后利用目标除数对第一模进行取余操作,从而得到第一余数,然后根据第一余数在第一交换机的下一跳交换机中确定出第二交换机。
例如,其中第一余数为3,而第一交换机的下一跳交换机中有交换机0、交换机1、交换机2、交换机3,那么根据第一余数3能够确定出对应第二交换机为交换机3。若第一余数为0,则确定出对应第二交换机为交换机0。
可以理解的是,在实际应用场景中,循环冗余校验哈希函数存在不均匀映射问题,即多个不同数据流对应的哈希映射到同一条数据传输路径,导致一些数据传输路径负载过重,而另一些数据传输路径负载过轻,导致网络负载不均衡,从而存在流量极化问题。
为了解决该技术问题,本申请实施例中通过对每一需要多路径选择的交换机设置对应的除数,然后根据流标识符和除数得到对应的模,最后根据对应的模和下一跳交换机的数量来确定出下一跳交换机中的第二交换机。
这样,就克服了循环冗余校验哈希函数存在不均匀映射问题,使得不同的数据流对应的哈希能够映射到不同的数据传输路径上,从而避免了一个数据传输路径需要承担较多的数据流的传输,从而避免了数据中心网络出现负载不均衡的现象。提升了数据中心网络的负载均衡能力。
在一些实施方式中,如果确定出的第二交换机也是需要进行多路径选择的交换机,则可以根据预设除数集合确定出第二交换机对应的第二除数;根据第二除数确定出每个流标识符对应的第二模;根据第二模和第二交换机的下一跳交换机的数量,确定出每个流标识符在第二交换机的下一跳交换机中对应的目标交换机。
其中,需要对第二交换机的下一跳交换机中的每个交换机都设置至少一个流标识符。
当第二交换机的下一跳交换机中有未被分配流标识符的交换机时,则根据预设除数集合重新设置第一交换机的第一除数和第二交换机的第二除数,直至第二交换机的下一跳交换机中的每一交换机均被分配流标识符。
可以理解的是,在本申请实施例中是为了让数据中心网络中各个网络路径中的交换机至少对应有一个流标识符,这样,在后续传输数据流时,可以选择对应的流标识符,从而在数据中心网络中确定出一条数据传输路径,不同的数据流通过不同的数据传输路径来进行数据传输,实现数据中心网络的负载均衡。
例如,在预设除数集合中随机确定出一个除数为第二交换机的第二除数。然后根据第二除数确定出每一流标识符对应的第二模,例如,将每一流标识符和第二除数输入到目标哈希函数对应的计算公式中,从而计算出每一流标识符对应的第二模。
再根据第二模和第二交换机的下一跳交换机的数量,确定出每一流标识符在第二交换机的下一跳交换机中对应的目标交换机。比如,将第二交换机的下一跳交换机的数量确定为一个除数,然后利用每一流标识符对应的第二模对该除数进行取余处理,从而得到每一流标识符对应的相关余数,最后根据相关余数在第二交换机的下一跳交换机中确定出每一流标识符对应的目标交换机。
需要说明的是,如果第二交换机的下一跳交换机的数量和流标识符的数量相同,那么至少要保证每个第二交换机的下一跳交换机都对应有一个流标识符,这样才能实现后续数据流传输的均衡负载。
如果当第二交换机的下一跳交换机中有未被分配流标识符的交换机时,则说明此时需要在预设除数集合重新确定出第一交换机的第一除数和第二交换机的第二除数,然后再通过上述计算方式来计算,直至第二交换机的下一跳交换机中的每一交换机均被分配流标识符。
由上述可知,通过对数据中心网络中的每一交换机分配有至少一个流标识符,这样,在后续数据流传输的过程中,可以选择对应的流标识符实现数据中心网络的负载均衡。
在步骤104中,根据每个流标识符和预设除数集合,在第二交换机之后、每个流标识符对应的目标传输交换机之前需要多路径选择的交换机的下一跳交换机中,确定出每个流标识符对应的目标交换机。
可以理解的是,在数据中心网络中,在数据的传输起点和传输终点中,会涉及到多个交换机,其中,第一交换机为传输起点对应的交换机,可以根据每个流标识符对应的目的网际协议地址确定出目标传输交换机,目标传输交换机为每个流标识符对应的传输终点。
在第二交换机之后、目标传输交换机之前,要确定出多路径选择的交换机的下一跳交换机中每个流标识符对应的目标交换机。同时,在第二交换机之后、目标传输交换机之前这个过程中的无需多路径选择的交换机,在其下一跳交换机中只有固定选择传输的交换机,因此可以将该固定选择传输的交换机确定为该无需多路径选择的交换机的下一跳传输对象。
在一些实施方式中,根据每个流标识符和预设除数集合,在第二交换机之后、每个流标识符对应的目标传输交换机之前需要多路径选择的交换机的下一跳交换机中,确定出每个流标识符对应的目标交换机,包括:
(1.1)在预设除数集合中确定出第二交换机之后、目标传输交换机之前需要进行多路径选择的第一目标交换机对应的相关除数;
(1.2)根据每个流标识符和相关除数确定出每个流标识符对应的相关模;
(1.3)根据相关模和第一目标交换机的下一跳交换机的数量,确定出第一目标交换机的下一跳交换机中每个流标识符对应的第二目标交换机;
(1.4)当第一目标交换机的下一跳交换机中存在第二目标交换机之外的未被分配流标识符的交换机时,则在预设除数集合中重新选择出第一相关除数,根据第一相关除数重新确定出每个流标识符在第一目标交换机的下一跳交换机中的第二目标交换机,直至第一目标交换机的下一跳交换机中的每个交换机被分配至少一个流标识符。
其中,可以在第二交换机之后、目标传输交换机之前需要进行多路径选择的第一目标交换机,然后在预设除数集合中确定出第一目标交换机的相关除数,比如在预设除数集合中随机选择出一个除数为第一目标交换机的相关除数。
然后每个流标识符和相关除数输入到目标哈希函数对应的公式中,从而计算出每个流标识符对应的相关模,该目标哈希函数对应的公式在上文中已经描述,在此不再赘述。
然后将第一目标交换机的下一跳交换机的数量确定为每个流标识符对应的相关模的除数,然后对每个流标识符对应的相关模进行取余操作,从而得到每个流标识符在第一目标交换机的下一跳交换机中的第二目标交换机。
如果在第一目标交换机的下一跳交换机中每个交换机都对应分配有至少一个流标识符,那么说明此时第一目标交换机的相关除数设置是合理的。
如果第一目标交换机的下一跳交换机中存在第二目标交换机之外的未被分配流标识符的交换机,说明并不是每个交换机都能分配到流标识符,那么就代表没有实现对第一目标交换机的下一跳交换机实现数据传输的均匀映射、
此时,在预设除数集合中重新选择出第一相关除数,根据第一相关除数重新确定出每个流标识符在第一目标交换机的下一跳交换机中的第二目标交换机,直至第一目标交换机的下一跳交换机中的每个交换机被分配至少一个流标识符。
可以理解的是,在本申请实施例中是为了让数据中心网络中各个网络路径中的交换机至少对应有一个流标识符,这样,在后续传输数据流时,可以选择对应的流标识符,从而在数据中心网络中确定出一条数据传输路径,不同的数据流通过不同的数据传输路径来进行数据传输,实现数据中心网络的负载均衡。
在一些实施方式中,在预设除数集合中重新选择出第一相关除数之后,还包括:
(2.1)当第一目标交换机无法通过第一相关除数确定出第一目标交换机的下一跳交换机中的每个交换机被分配至少一个流标识符时,则根据预设除数集合重新选择第一目标交换机的上一跳交换机中对应的第三目标交换机的上层相关除数,以及第一目标交换机对应的第二相关除数;
(2.2)根据重新选择的上层相关除数和第二相关除数重新确定出每个流标识符在第一目标交换机的下一跳交换机中的第二目标交换机,直至第一目标交换机的下一跳交换机中的每个交换机被分配至少一个流标识符。
可以理解的是,当第一目标交换机无法通过第一相关除数确定出第一目标交换机的下一跳交换机中的每个交换机被分配至少一个流标识符时,说明并不是每个交换机都能分配到流标识符,那么就代表没有实现对第一目标交换机的下一跳交换机实现数据传输的均匀映射。
此时,在预设除数集合中已经穷尽了所有除数,无法找到第一目标交换机合适的第一相关除数。那么只能返回到第一目标交换机的上一跳交换机中对应的第三目标交换机中,重新根据预设除数集合确定出第三目标交换机的上层相关除数,然后根据上层相关除数来确定出每个流标识符在第三目标交换机下一跳交换机中的目标交换机。
也就是说,通过该方式重新对第一目标交换机分配了流标识符,此时,再通过该预设除数集合确定出第一目标交换机的第二相关除数。然后将第一目标交换机分配的流标识符通过第二相关除数分配到下一跳的多个交换机中,从而得到第一目标交换机的下一跳交换机中的第二目标交换机,直至第一目标交换机的下一跳交换机中的每个交换机被分配至少一个流标识符。
这样,实现了对第一目标交换机对应的流标识符分配给下一跳交换机中的每个交换机。其中,每个流标识符在后续可以对应一个数据流,那么就实现数据流的均衡分配。在整个数据中心网络中,每个需要多路径选择的交换机都对应将流标识符均衡分配给下一跳的每个交换机中,这样就有利于数据中心网络实现负载均衡。
在步骤105中,将每个流标识符对应的第一交换机、第二交换机、目标交换机以及目标传输交换机之间对应的网络路径,确定为每个流标识符对应的数据传输路径。
可以理解是,每个流标识符对应的第一交换机、第二交换机目标交换机、目标传输交换机,以及中途无需进行多路径选择的交换机之间会形成一个网络路径,每个流标识符对应有一个至少一个网络路径,可以将这些网络路径确定为每个流标识符对应的数据传输路径。
请一并参阅图3,图3是本申请实施例提供的数据中心网络的另一示意图。
其中,数据中心网络包括多个网络层,例如数据中心网络的拓扑结构可以是胖树拓扑结构。数据中心网络包括接入层、汇聚层和核心层。数据中心网络还可以是其他网络拓扑结构。
如图3所示,其中最高网络层为核心层,可以通过流标识符和预设除数集合确定出接入层的第一交换机,确定出汇聚层得到第二交换机,以及核心层的第三交换机。第一交换机、第二交换机、第三交换机之间形成的网络路径就是第一数据传输路径。
如果第一交换机为E0,第二交换机为A0,第三交换机为C0,流标识符对应的目标传输交换机为E3,而其中第三交换机C0之后到目标传输交换机E3的传输路径都是单一路径,那么就构成了数据传输路径为E0-A0- C0-A2-E3。同时该数据传输路径和对应的流标识符之间有映射关系。
后续需要进行数据流传输时,可以选择到该流标识符,从而确定出该流标识符的数据传输路径,最后根据该数据传输路径来传输数据。
在一些实施方式中,在将每个流标识符对应的第一交换机、第二交换机、目标交换机以及目标传输交换机之间对应的网络路径,确定为每个流标识符对应的数据传输路径之后,还包括:
(1.1)根据每个流标识符的数据传输路径和每个流标识符之间的映射关系建立网络路径映射表;
(1.2)当数据中心网络需要进行数据流传输时,根据数据中心网络中的网络拥堵状况以及数据流的目标传输地址在网络路径映射表中确定出数据流对应的目标流标识符;
(1.3)根据目标流标识符对应的目标数据传输路径传输数据流。
其中,可以根据每个流标识符的数据传输路径和每个流标识符之间的映射关系建立网络路径映射表。请一并参阅图4,图4是本申请实施例提供的网络路径映射表的示意图。
由图4可知,其中在图3对应的数据中心网络中,每一个上行路径对应有至少一个流标识符,比如在E0-A0-C0这个上行网络路径中,对应的流标识符为1和12。而E0-A0-C1这个上行网络路径中,对应的流标识符为34。
当数据中心网络需要进行数据流传输时,可以先确定出需要传输的数据流对应的目标传输地址,然后根据目标传输地址确定出目标传输交换机,然后目标传输交换机在网络路径映射表中确定出多个相关流标识符,然后确定出每个相关流标识符对应的数据传输路径对应的网络拥堵情况,找出网络最通畅的目标数据传输路径,并将该目标数据传输路径的相关流标识符确定为目标流标识符。
最后根据目标流标识符对应的目标数据传输路径传输数据流。结合图3和图4,在流标识符为1的情况下,可以选择上行网络路径为E0-A0-C0,而到达交换机E3的目标数据传输路径为E0-A0- C0-A2-E3。那么,就可以通过E0-A0- C0-A2-E3这个目标数据传输路径来传输数据流。
这样,在数据中心网络需要进行多个数据流传输时,可以灵活的选择出每个数据流对应的目标流标识符,从而找到最合适的目数据传输路径来进行数据流传输,从而实现了数据中心网络的负载均衡。
由上述内容可知,本申请实施例中,在预设流标识符集合中确定出流标识符;在预设除数集合中确定出第一交换机的第一除数,并根据每个流标识符和第一除数确定出每个流标识符对应的第一模;根据第一模和第一交换机的下一跳交换机的数量,在第一交换机的下一跳交换机中确定出每个流标识符对应的第二交换机,第一交换机的下一跳交换机的数量为多个;根据每个流标识符和预设除数集合,在第二交换机之后、每个流标识符对应的目标传输交换机之前需要多路径选择的交换机的下一跳交换机中,确定出每个流标识符对应的目标交换机;将每个流标识符对应的第一交换机、第二交换机、目标交换机以及目标传输交换机之间对应的网络路径,确定为每个流标识符对应的数据传输路径。本申请实施例中,通过预设流标识符集合和预设除数集合为需要进行多路径选择的交换机设置合适的除数,从而使得下一跳交换机中每一交换机都对应分配一个流标识符,以此类推,针对数据中心网络中的一些需要进行多路径选择的交换机的下一跳的每个交换机都设置至少一个对应的流标识符,这样就使得流标识符分配给不同的交换机,从而形成数据传输路径,每一个数据传输路径都对应有至少一个流标识符,后续可以根据网络拥堵情况来选择流标识符,然后根据流标识符来选择出对应的数据传输路径来传输数据,从而在数据传输时实现流量负载均衡。
为了更加详细的了解本申请实施提供的数据传输路径控制方法,请参阅图5,图5是本申请实施例提供的数据中心网络的场景示意图。
其中,图4中的网络路径映射表和图5相关。图5中所示的场景是接入层的多个交换机独享流标识符的场景。
可以看出,交换机E0对应的流标识符为1、13、22、34、40。而交换机E1对应的流标识符为3、9、12、29、36。
可以先为接入层的多个交换机设置流标识符,比如交换机E2的初始除数为17,交换机A2的初始除数为23。然后从接入层自底向上穷举搜索每一个交换机的合适除数。
交换机E2和交换机E3选择好其目标哈希函数中取模操作的合适除数后,为交换机A2和交换机A3分配来源于交换机E2和交换机E3的流标识符。交换机A2和A3穷举搜索合适除数。以交换机A2为例,交换机A2的初始除数23无法保证来源于交换机E0的每一条路径上至少有一个流标识符的要求,则为交换机A2穷举除数集合选择一个合适除数,穷举整个除数集合也无法找到一个合适除数,则回退到上一网络层,为交换机E2和交换机E3重新选择合适除数,直至满足来源于不同交换机的每个数据传输路径满足至少包含一个流标识符的要求。依此类推为每个交换机选择其目标哈希函数中取模操作的合适除数,最终构建如图4所示的网络路径映射表。
在进行数据流传输时,如图5所示,当一个数据流从交换机E2转发到交换机E3,假设从交换机C0到交换机A2这段网络路径非常拥塞,则可以选择流标识符13对应的数据传输路径E0-A1-C2-A3-E3来进行数据包的转发,从而达到避免网络拥塞。其中,当交换机E0选择流标识符为13,则该流的上行网络路径为E0-A1-C2;由于数据流对应的目的交换机为E3,则其下行路径为C2-A3-E3,因此,该数据流的数据传输路径为E0-A1-C2-A3-E3。
请参阅图6和图7,其中图6是本申请实施例提供的网络路径映射表的另一示意图,图7是本申请实施例提供的数据中心网络的另一场景示意图。
其中,图7对应的数据传输场景为接入层交换机共享流标识符的场景。
给定边缘交换机E0-E7的共享流标识符集合{1, 13, 22, 34, 40}。首先为每个交换机随机设定初始除数(例如,交换机E0的初始除数为11,交换机A0的初始除数为17),然后从接入层自底向上穷举搜索合适除数。
交换机E0和交换机E1选择好其目标哈希函数中取模操作的合适除数后,为交换机A0和交换机A1分配来源于交换机E0和交换机E1的流标识符。交换机A0和交换机A1穷举搜索合适除数。以交换机A0为例,交换机A0的初始除数无法保证来源于交换机E0的每一条路径上至少有一个流标识符的要求,则为交换机A0穷举除数集合去选择一个合适除数,由于交换机A0中来源于交换机E0的流标识符只有1个,而交换机A0的转发端口有2个,即交换机C0和交换机C1,必然穷举整个除数集合也无法找到一个合适除数,则回退到上一网络层,为交换机E0和交换机E1重新选择合适除数,直至满足来源于不同交换机的每个数据传输路径满足至少包含一个流标识符的要求。依此类推为每个交换机选择其目标哈希函数中取模操作的合适除数,最终构建如图6的网络路径映射表。
当一个数据流从交换机E0转发到交换机E7,假设从交换机A6到交换机E7这段路径非常拥塞,则选择流标识符13来进行数据包的转发,从而达到避免网络拥塞。其中,当交换机E0选择流标识符为13,则该数据流的上行路径为E0-A1-C2,由于数据流对应的目的交换机为E7,结合图7,则其下行路径为C2-A7-E7。因此,该数据流的数据传输路径为E0-A1-C2-A7-E7。
由上述内容可知,在本申请实施例中,通过对数据中心网络中的每一需要进行多路径选择的交换机设置合适的除数,能够确定出每一流标识符对应的数据传输路径,同时每一数据传输路径至少对应一个流标识符,这样,在数据传输时,可以通过选择不同的流标识符,从而使得数据流能够从不同的数据传输路径来进行传输,实现数据中心网络的负载均衡。
需要说明的是,在本申请实施例中,采用了以胖树拓扑网络来进行描述,还可以采用其他拓扑结构的数据中心网络来应用本申请中的数据传输路径控制方法,在此不做限制。
请继续参阅图9,图9是本申请实施例提供的数据传输路径控制方法的另一流程示意图。数据传输路径控制方法具体可以包括如下步骤:
步骤201、当数据中心网络接收到数据包时,确定出数据包对应的源网际协议地址、源端口、目的网际协议地址、目的端口和传输协议类型;
步骤202、根据源网际协议地址、源端口、目的网际协议地址、目的端口和传输协议类型中的至少一个生成流标识符;
步骤203、在预设除数集合中确定出第一交换机的第一除数;
步骤204、确定出目标哈希函数对应的种子值,将种子值、流标识符和第一除数输入到目标哈希函数中,得到第一除数对应的第一模;
步骤205、将第一交换机的下一跳交换机的数量确定为目标除数;
步骤206、根据第一模和目标除数确定出第一余数;
步骤207、根据第一余数在第一交换机的下一跳交换机中确定出第二交换机;
步骤208、根据流标识符和预设除数集合继续确定出第二交换机之后每一跳对应的目标交换机;
步骤209、将第一交换机、第二交换机以及每一跳对应的目标交换机之间形成的网络路径确定为第一数据传输路径。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对数据传输路径控制方法的详细描述,此处不再赘述。
请参阅图9,图9是本申请实施例提供的数据传输路径控制装置的结构示意图。本申请实施例中,术语“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。
一种数据传输路径控制装置300,包括:
第一确定模块310,用于在预设流标识符集合中确定出流标识符;
第二确定模块320,用于在预设除数集合中确定出第一交换机的第一除数,并根据每个流标识符和第一除数确定出每个流标识符对应的第一模;
第三确定模块330,用于根据第一模和第一交换机的下一跳交换机的数量,在第一交换机的下一跳交换机中确定出每个流标识符对应的第二交换机,第一交换机的下一跳交换机的数量为多个;
第四确定模块340,用于根据每个流标识符和预设除数集合,在第二交换机之后、每个流标识符对应的目标传输交换机之前需要多路径选择的交换机的下一跳交换机中,确定出每个流标识符对应的目标交换机;
路径确定模块350,用于将每个流标识符对应的第一交换机、第二交换机、目标交换机以及目标传输交换机之间对应的网络路径,确定为每个流标识符对应的数据传输路径。
在一些实施方式中,第二确定模块320,用于:
确定出目标哈希函数对应的种子值;
将种子值、每个流标识符和第一除数输入到目标哈希函数中,得到每个流标识符对应的第一模。
在一些实施方式中,第三确定模块330,用于:
将第一交换机的下一跳交换机的数量确定为目标除数;
根据第一模和目标除数确定出每个流标识符对应的第一余数;
根据第一余数在第一交换机的下一跳交换机中确定出每个流标识符对应的第二交换机。
在一些实施方式中,第四确定模块340,用于:
在预设除数集合中确定出第二交换机之后、目标传输交换机之前需要进行多路径选择的第一目标交换机对应的相关除数;
根据每个流标识符和相关除数确定出每个流标识符对应的相关模;
根据相关模和第一目标交换机的下一跳交换机的数量,确定出第一目标交换机的下一跳交换机中每个流标识符对应的第二目标交换机;
当第一目标交换机的下一跳交换机中存在第二目标交换机之外的未被分配流标识符的交换机时,则在预设除数集合中重新选择出第一相关除数,根据第一相关除数重新确定出每个流标识符在第一目标交换机的下一跳交换机中的第二目标交换机,直至第一目标交换机的下一跳交换机中的每个交换机被分配至少一个流标识符。
在一些实施方式中,第四确定模块340,用于:
在预设除数集合中重新选择出第一相关除数之后,当第一目标交换机无法通过第一相关除数确定出第一目标交换机的下一跳交换机中的每个交换机被分配至少一个流标识符时,则根据预设除数集合重新选择第一目标交换机的上一跳交换机中对应的第三目标交换机的上层相关除数,以及第一目标交换机对应的第二相关除数;
根据重新选择的上层相关除数和第二相关除数重新确定出每个流标识符在第一目标交换机的下一跳交换机中的第二目标交换机,直至第一目标交换机的下一跳交换机中的每个交换机被分配至少一个流标识符。
在一些实施方式中,数据传输路径控制装置还包括流标识符集合模块,用于:
在预设流标识符集合中确定出流标识符之前,获取多个预设数据包,并确定每个预设数据包对应的源网际协议地址、源端口、目的网际协议地址、目的端口和传输协议类型;
根据源网际协议地址、源端口、目的网际协议地址、目的端口和传输协议类型中的至少一个生成每个预设数据包对应的流标识符;
根据每个预设数据包对应的流标识符生成预设流标识符集合。
在一些实施方式中,数据传输路径控制装置还包括数据传输模块,用于:
在将每个流标识符对应的第一交换机、第二交换机、目标交换机以及目标传输交换机之间对应的网络路径,确定为每个流标识符对应的数据传输路径之后, 根据每个流标识符的数据传输路径和每个流标识符之间的映射关系建立网络路径映射表;
当数据中心网络需要进行数据流传输时,根据数据中心网络中的网络拥堵状况以及数据流的目标传输地址在网络路径映射表中确定出数据流对应的目标流标识符;
根据目标流标识符对应的目标数据传输路径传输数据流。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对数据传输路径控制方法的详细描述,此处不再赘述。
本申请实施例中,在预设流标识符集合中确定出流标识符;在预设除数集合中确定出第一交换机的第一除数,并根据每个流标识符和第一除数确定出每个流标识符对应的第一模;根据第一模和第一交换机的下一跳交换机的数量,在第一交换机的下一跳交换机中确定出每个流标识符对应的第二交换机,第一交换机的下一跳交换机的数量为多个;根据每个流标识符和预设除数集合,在第二交换机之后、每个流标识符对应的目标传输交换机之前需要多路径选择的交换机的下一跳交换机中,确定出每个流标识符对应的目标交换机;将每个流标识符对应的第一交换机、第二交换机、目标交换机以及目标传输交换机之间对应的网络路径,确定为每个流标识符对应的数据传输路径。本申请实施例中,通过预设流标识符集合和预设除数集合为需要进行多路径选择的交换机设置合适的除数,从而使得下一跳交换机中每一交换机都对应分配一个流标识符,以此类推,针对数据中心网络中的一些需要进行多路径选择的交换机的下一跳的每个交换机都设置至少一个对应的流标识符,这样就使得流标识符分配给不同的交换机,从而形成数据传输路径,每一个数据传输路径都对应有至少一个流标识符,后续可以根据网络拥堵情况来选择流标识符,然后根据流标识符来选择出对应的数据传输路径来传输数据,从而在数据传输时实现流量负载均衡。
本申请实施例还提供一种服务器,如图10所示,其示出了本申请实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图10中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体控制。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
计算机设备还包括给各个部件供电的电源403,可选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
计算机设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现前述实施例提供的各种方法步骤,如下:
在预设流标识符集合中确定出流标识符;
在预设除数集合中确定出第一交换机的第一除数,并根据每个流标识符和第一除数确定出每个流标识符对应的第一模;
根据第一模和第一交换机的下一跳交换机的数量,在第一交换机的下一跳交换机中确定出每个流标识符对应的第二交换机,第一交换机的下一跳交换机的数量为多个;
根据每个流标识符和预设除数集合,在第二交换机之后、每个流标识符对应的目标传输交换机之前需要多路径选择的交换机的下一跳交换机中,确定出每个流标识符对应的目标交换机;
将每个流标识符对应的第一交换机、第二交换机、目标交换机以及目标传输交换机之间对应的网络路径,确定为每个流标识符对应的数据传输路径。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对数据传输路径控制方法的详细描述,此处不再赘述。
本申请实施例中,在预设流标识符集合中确定出流标识符;在预设除数集合中确定出第一交换机的第一除数,并根据每个流标识符和第一除数确定出每个流标识符对应的第一模;根据第一模和第一交换机的下一跳交换机的数量,在第一交换机的下一跳交换机中确定出每个流标识符对应的第二交换机,第一交换机的下一跳交换机的数量为多个;根据每个流标识符和预设除数集合,在第二交换机之后、每个流标识符对应的目标传输交换机之前需要多路径选择的交换机的下一跳交换机中,确定出每个流标识符对应的目标交换机;将每个流标识符对应的第一交换机、第二交换机、目标交换机以及目标传输交换机之间对应的网络路径,确定为每个流标识符对应的数据传输路径。本申请实施例中,通过预设流标识符集合和预设除数集合为需要进行多路径选择的交换机设置合适的除数,从而使得下一跳交换机中每一交换机都对应分配一个流标识符,以此类推,针对数据中心网络中的一些需要进行多路径选择的交换机的下一跳的每个交换机都设置至少一个对应的流标识符,这样就使得流标识符分配给不同的交换机,从而形成数据传输路径,每一个数据传输路径都对应有至少一个流标识符,后续可以根据网络拥堵情况来选择流标识符,然后根据流标识符来选择出对应的数据传输路径来传输数据,从而在数据传输时实现流量负载均衡。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种数据传输路径控制方法中的步骤。例如,该指令可以执行如下步骤:
在预设流标识符集合中确定出流标识符;
在预设除数集合中确定出第一交换机的第一除数,并根据每个流标识符和第一除数确定出每个流标识符对应的第一模;
根据第一模和第一交换机的下一跳交换机的数量,在第一交换机的下一跳交换机中确定出每个流标识符对应的第二交换机,第一交换机的下一跳交换机的数量为多个;
根据每个流标识符和预设除数集合,在第二交换机之后、每个流标识符对应的目标传输交换机之前需要多路径选择的交换机的下一跳交换机中,确定出每个流标识符对应的目标交换机;
将每个流标识符对应的第一交换机、第二交换机、目标交换机以及目标传输交换机之间对应的网络路径,确定为每个流标识符对应的数据传输路径。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种数据传输路径控制方法中的步骤,因此,可以实现本申请实施例所提供的任一种数据传输路径控制方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种数据传输路径控制方法、装置、介质及设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种数据传输路径控制方法,其特征在于,应用于数据中心网络,所述数据中心网络包括多个交换机,所述方法包括:
在预设流标识符集合中确定出流标识符;
在预设除数集合中确定出第一交换机的第一除数,并根据每个所述流标识符和所述第一除数确定出每个所述流标识符对应的第一模;
根据所述第一模和所述第一交换机的下一跳交换机的数量,在所述第一交换机的下一跳交换机中确定出每个所述流标识符对应的第二交换机,所述第一交换机的下一跳交换机的数量为多个;
根据每个所述流标识符和所述预设除数集合,在所述第二交换机之后、每个所述流标识符对应的目标传输交换机之前需要多路径选择的交换机的下一跳交换机中,确定出每个所述流标识符对应的目标交换机;
将每个所述流标识符对应的所述第一交换机、第二交换机、所述目标交换机以及所述目标传输交换机之间对应的网络路径,确定为每个所述流标识符对应的数据传输路径;
其中,所述根据每个所述流标识符和所述第一除数确定出每个所述流标识符对应的第一模,包括:
确定出目标哈希函数对应的种子值;
将所述种子值、每个所述流标识符和所述第一除数输入到所述目标哈希函数中,得到每个所述流标识符对应的第一模;
所述根据所述第一模和所述第一交换机的下一跳交换机的数量,在所述第一交换机的下一跳交换机中确定出每个所述流标识符对应的第二交换机,包括:
将所述第一交换机的下一跳交换机的数量确定为目标除数;
根据所述第一模和所述目标除数确定出每个所述流标识符对应的第一余数;
根据所述第一余数在所述第一交换机的下一跳交换机中确定出每个所述流标识符对应的第二交换机。
2.根据权利要求1所述的数据传输路径控制方法,其特征在于,所述根据每个所述流标识符和所述预设除数集合,在所述第二交换机之后、每个所述流标识符对应的目标传输交换机之前需要多路径选择的交换机的下一跳交换机中,确定出每个所述流标识符对应的目标交换机,包括:
在所述预设除数集合中确定出所述第二交换机之后、所述目标传输交换机之前需要进行多路径选择的第一目标交换机对应的相关除数;
根据每个所述流标识符和所述相关除数确定出每个所述流标识符对应的相关模;
根据所述相关模和所述第一目标交换机的下一跳交换机的数量,确定出所述第一目标交换机的下一跳交换机中每个所述流标识符对应的第二目标交换机;
当所述第一目标交换机的下一跳交换机中存在所述第二目标交换机之外的未被分配所述流标识符的交换机时,则在所述预设除数集合中重新选择出第一相关除数,根据所述第一相关除数重新确定出每个所述流标识符在所述第一目标交换机的下一跳交换机中的第二目标交换机,直至所述第一目标交换机的下一跳交换机中的每个交换机被分配至少一个所述流标识符。
3.根据权利要求2所述的数据传输路径控制方法,其特征在于,在所述预设除数集合中重新选择出第一相关除数之后,还包括:
当所述第一目标交换机无法通过所述第一相关除数确定出所述第一目标交换机的下一跳交换机中的每个交换机被分配至少一个所述流标识符时,则根据所述预设除数集合重新选择所述第一目标交换机的上一跳交换机中对应的第三目标交换机的上层相关除数,以及所述第一目标交换机对应的第二相关除数;
根据重新选择的所述上层相关除数和所述第二相关除数重新确定出每个所述流标识符在所述第一目标交换机的下一跳交换机中的第二目标交换机,直至所述第一目标交换机的下一跳交换机中的每个交换机被分配至少一个所述流标识符。
4.根据权利要求1至3任一项所述的数据传输路径控制方法,其特征在于,在所述在预设流标识符集合中确定出流标识符之前,还包括:
获取多个预设数据包,并确定每个所述预设数据包对应的源网际协议地址、源端口、目的网际协议地址、目的端口和传输协议类型;
根据所述源网际协议地址、所述源端口、所述目的网际协议地址、所述目的端口和所述传输协议类型中的至少一个生成每个所述预设数据包对应的流标识符;
根据每个所述预设数据包对应的流标识符生成预设流标识符集合。
5.根据权利要求1至3任一项所述的数据传输路径控制方法,其特征在于,在所述将每个所述流标识符对应的所述第一交换机、第二交换机、所述目标交换机以及所述目标传输交换机之间对应的网络路径,确定为每个所述流标识符对应的数据传输路径之后,还包括:
根据每个所述流标识符的数据传输路径和每个所述流标识符之间的映射关系建立网络路径映射表;
当所述数据中心网络需要进行数据流传输时,根据数据中心网络中的网络拥堵状况以及所述数据流的目标传输地址在所述网络路径映射表中确定出所述数据流对应的目标流标识符;
根据所述目标流标识符对应的目标数据传输路径传输所述数据流。
6.一种数据传输路径控制装置,所述装置用于实现权利要求1至5任一项所述的数据传输路径控制方法,其特征在于,应用于数据中心网络,所述数据中心网络包括多个交换机,所述装置包括:
第一确定模块,用于在预设流标识符集合中确定出流标识符;
第二确定模块,用于在预设除数集合中确定出第一交换机的第一除数,并根据每个所述流标识符和所述第一除数确定出每个所述流标识符对应的第一模;
第三确定模块,用于根据所述第一模和所述第一交换机的下一跳交换机的数量,在所述第一交换机的下一跳交换机中确定出每个所述流标识符对应的第二交换机,所述第一交换机的下一跳交换机的数量为多个;
第四确定模块,用于根据每个所述流标识符和所述预设除数集合,在所述第二交换机之后、每个所述流标识符对应的目标传输交换机之前需要多路径选择的交换机的下一跳交换机中,确定出每个所述流标识符对应的目标交换机;
路径确定模块,用于将每个所述流标识符对应的所述第一交换机、第二交换机、所述目标交换机以及所述目标传输交换机之间对应的网络路径,确定为每个所述流标识符对应的数据传输路径。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至5任一项所述的数据传输路径控制方法。
8.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可以在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一项所述的数据传输路径控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410217656.2A CN117792992B (zh) | 2024-02-28 | 2024-02-28 | 数据传输路径控制方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410217656.2A CN117792992B (zh) | 2024-02-28 | 2024-02-28 | 数据传输路径控制方法、装置、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117792992A CN117792992A (zh) | 2024-03-29 |
CN117792992B true CN117792992B (zh) | 2024-05-07 |
Family
ID=90383726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410217656.2A Active CN117792992B (zh) | 2024-02-28 | 2024-02-28 | 数据传输路径控制方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117792992B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103430494A (zh) * | 2011-02-17 | 2013-12-04 | 岩星社团美国有限公司 | 用于等价多路径分组交换网络的下一跳计算函数 |
CN105227485A (zh) * | 2011-03-09 | 2016-01-06 | 瞻博网络公司 | 基于流持续时间的用于网络中路径选择的方法和装置 |
CN115065650A (zh) * | 2022-05-31 | 2022-09-16 | 苏州浪潮智能科技有限公司 | 一种交换机测试方法、装置、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10803196B2 (en) * | 2018-03-30 | 2020-10-13 | Microsoft Technology Licensing, Llc | On-demand de-identification of data in computer storage systems |
-
2024
- 2024-02-28 CN CN202410217656.2A patent/CN117792992B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103430494A (zh) * | 2011-02-17 | 2013-12-04 | 岩星社团美国有限公司 | 用于等价多路径分组交换网络的下一跳计算函数 |
CN105227485A (zh) * | 2011-03-09 | 2016-01-06 | 瞻博网络公司 | 基于流持续时间的用于网络中路径选择的方法和装置 |
CN115065650A (zh) * | 2022-05-31 | 2022-09-16 | 苏州浪潮智能科技有限公司 | 一种交换机测试方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117792992A (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10917351B2 (en) | Reliable load-balancer using segment routing and real-time application monitoring | |
US10924409B2 (en) | Method for implementing load balancing, apparatus, and network system | |
CN107995123B (zh) | 一种基于交换机的负载均衡系统及方法 | |
Gandhi et al. | Duet: Cloud scale load balancing with hardware and software | |
US8553562B2 (en) | Automated traffic engineering for multi-protocol label switching (MPLS) with link utilization as feedback into the tie-breaking mechanism | |
EP2587750B1 (en) | Addressing the large flow problem for equal cost multi-path in the datacenter | |
US20220141129A1 (en) | Packet processing method and system, and device | |
US9736066B2 (en) | Method, apparatus and system for establishing optical bypass | |
US11032198B2 (en) | Method and apparatus for generating ACL table | |
US11805047B2 (en) | Method and apparatus for controlling network traffic path | |
CN107846364A (zh) | 一种报文的处理方法和装置 | |
CN110225137A (zh) | 业务请求处理方法、系统、服务器及存储介质 | |
US20220255831A1 (en) | Method and apparatus for detecting link status | |
CN114298431A (zh) | 一种网络路径选择方法、装置、设备及存储介质 | |
CN117792992B (zh) | 数据传输路径控制方法、装置、介质及设备 | |
US20230224241A1 (en) | Path Identity Allocation Method, System, and Apparatus, Device, and Storage Medium | |
CN106209634B (zh) | 地址映射关系的学习方法及装置 | |
CN114827015B (zh) | 一种数据转发方法和虚拟化云网络架构 | |
US11570083B2 (en) | Selecting and deduplicating forwarding equivalence classes | |
US11876680B2 (en) | Method and apparatus for determining link for forwarding service flow | |
CN113630319B (zh) | 一种数据分流方法、装置及相关设备 | |
CN114640682B (zh) | 一种基于改进无状态哈希的负载均衡方法和系统 | |
CN107547385B (zh) | Bfd协议报文的传输方法和装置 | |
CN118612145A (zh) | 一种链路异常处理方法、装置及相关设备 | |
CN118368230A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |