一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于退火方法的树形数据中心链路层负载均衡路由方法与流程

2021-10-24 04:22:00 来源:中国专利 TAG:提出了 路由 数据中心 方法 负载均衡


1.本发明提出了一种路由方法,尤其是提出了一种用于树形数据中心链路层的路由方法,以达到数据中心负载均衡的目的。


背景技术:

2.随之大数据时代的到来,人工智能、高清视频、物联网、云计算等新兴业务导致数据中心处理的网络服务量急速增加,传统的数据中文网络架构无法负担和满足现有的业务需求。软件定义网络(sdn)作为一种新型的网络架构,实现数控分离,数据转发平面在链路层实现,交换机基于路由方法方案在各层路由器间转跳;逻辑控制集中处理且对外可编程化,基于外部编写方法计算得实时路由方案。
3.目前已有一些数据中心网络负载均衡方案,但大多数无法同时达到高性能与低计算复杂度。传统负载均衡方法如ecmp能够快速做出路由选择,但无法根据实时网络链路状态和数据流的带宽需求完成路径选择,只能保证低计算复杂度但无法保证高性能。基于sdn的负载均衡方法如laberio,性能较好但计算复杂度高。


技术实现要素:

4.为了解决背景技术中存在的问题,本发明提出了一种基于退火方法的树形数据中心链路层负载均衡路由方法,该方法基于模拟退火方法,是低计算复杂度、高性能、高可靠性的方法。解决传统数据中心路由方法负载不均衡,链路层数据拥塞的技术问题,保证数据中心链路层的高吞吐量、低时延、低丢包率和负载均衡。
5.为了实现上述目的,本发明采用以下技术方案:
6.方法搭建主要由边缘层、汇聚层和核心层三层组成的树形数据中心作为链路层,边缘层、汇聚层和核心层均包括多个交换机;
7.边缘层、汇聚层和核心层中的所有交换机均无线连接到确定性网络sdn,由确定性网络sdn实时监测交换机的数据,根据传输所需带宽w和树形数据中心的拓扑结构,计算得所有链路的上行链路的负载带宽loadu
p
和下行链路的负载带宽loadd
p
,p为链路的编号;
8.本发明中,链路带宽是指链路所能承受的最大带宽;负载带宽是指该链路当前所承受的带宽。
9.所述的确定性网络sdn具体采用无线连接与树形数据中心的交换机相连,实时监控交换机与链路的状态,从而能够高效率部署树形数据中心。
10.方法步骤如下:
11.步骤1:初始化所有交换机的状态,初始化设置路由方案,并对应获得初始解initial;
12.步骤2:设置当前迭代状态tcur,所有链路的负载带宽中的最大值load为initial,全局最优解为min,当前最优解为partmin,并令partmin=initial,min=initial,每个迭代状态下的迭代次数为l,终止迭代状态tend以及迭代状态下降速率v;
13.本发明中所述的解为交换机的各条数据流的路由路径所对应核心交换机序号参数的集合。
14.步骤3:根据交换方案更新路由方案,并计算下更新后所有链路的负载带宽中的最大值load;
15.步骤4:判断所有链路的负载带宽中的最大值load是否小于当前最优解partmin的值,如果小于,则转步骤5,否则转步骤6;
16.每一次更新交换核心交换机地址后需要重新计算load并判断,对于loadup和loadud而言只有涉及交换两条流的路径需要重新计算,其余链路压力保持不变,因此时间复杂度只有o(k),耗时极短。
17.步骤5:令当前最优解partmin=load;
18.步骤6:根据以下公式计算接受概率p:
19.p=e

(load

min)/t
20.其中,t为当前迭代状态,random(0,1)为0~1的随机数;
21.然后将概率p进行比较判断:
22.如果p>random(0,1),令当前最优解partmin=load;
23.如果p≤random(0,1),则当前最优解partmin保持不变;
24.步骤7:判断当前最优解partmin是否小于全局最优解min,如果小于,则令min=partmin,否则全局最优解min不变;
25.步骤8:判断是否达到迭代次数l,如果达到,则对当前迭代状态tcur进行更新,再转步骤9,否则转步骤3;
26.步骤9:判断当前迭代状态tcur是否达到终止迭代状态tend,如果达到了tend,转步骤10,否则转步骤3;
27.步骤10:方法结束。
28.所述步骤1中的初始化设置路由方案,具体为:
29.所有交换机向确定性网络sdn发送自身的信息,信息包括交换机在自身所在层内的地址编号和链路带宽,在确定性网络sdn获取信息后,根据数据流的所需带宽与链路带宽之比筛选出大象流和小流:
30.当数据流的带宽需求w
ij
大于链路带宽的60%,则数据流为大象流,反之则数据流为小流;
31.优先对大象流进行处理,先对所有大象流的每条数据流按照ecmp等价多路径算法进行路由分配,随后再将小流的每条数据流根据ecmp等价多路径算法分配到树形数据中心,获得初始路由方案。
32.所述步骤3中,根据交换方案更新路由方案,具体为:
33.找到所有链路中负载带宽最大的链路作为瓶颈链路,且从经过瓶颈链路的所有数据流中找到流经瓶颈链路时候所占据最大带宽的数据流作为瓶颈数据流;然后从以下两个交换方案二选一进行交换更新处理:
34.交换方案一:随机找到另一个数据流,另一个数据流的发送端交换机和瓶颈数据流的发送端交换机在同一个区域pod中,将数据流的核心交换机进行交换;
35.交换方案二:
36.找到另一个数据流,另一个数据流中所有链路的负载带宽之和最小,另一个数据流的发送端交换机和瓶颈数据流的发送端交换机不在同一个区域pod中,将两个数据流的核心交换机进行交换。
37.所述步骤8中,对当前迭代状态tcur乘以迭代状态下降速率v进行更新,具体可表示为:tcur=v*tcur,其中迭代状态下降速率v为预设固定值。
38.所述所有链路的负载带宽中的最大值load按照以下方式获得:
39.首先按照以下公式处理获得每条链路分别沿上下行传输的负载带宽:
40.loadu
p
=loadu
p
' w
ij
41.loadd
p
=loadd
p
' w
ij
42.其中,loadu
p
表示编号为p的链路中上行传输的负载带宽,loadd
p
表示编号为p的链路中下行传输的负载带宽,w
ij
表示发送端交换机i和接收端交换机j之间所在数据流的带宽需求;loadu
p
'表示带宽需求叠加前的编号为p的链路中上行传输的负载带宽,loadd
p
'表示带宽需求叠加前的编号为p的链路中下行传输的负载带宽;
43.然后将所有条链路分别沿上下行传输的负载带宽组成集合loadu和集合loadd,进而统计获得所有链路的负载带宽中的最大值load:
44.load=max(loadu,loadd)
45.其中,loadu表示所有链路沿上行传输的负载带宽构成的集合,loadd表示所有链路沿下行传输的负载带宽构成的集合,max()表示取最大元素。
46.所述的树形数据中心的拓扑结构主要由边缘层、汇聚层和核心层组成;
47.边缘层由m个交换机组成,以边缘层的交换机作为边缘交换机,m个边缘交换机平均分属在n个区域pod中;
48.汇聚层由m个交换机组成,以汇聚层的交换机作为汇聚交换机,m个汇聚交换机平均分属在n个区域pod内;m是n的整数倍。同区域pod内,每个汇聚交换机均分别和各个边缘交换机相连,使得汇聚交换机和边缘交换机两两相连;
49.核心层由k个交换机组成,以核心层的交换机作为核心交换机,每个核心交换机与各个区域pod内的一个汇聚交换机相连,每个核心交换机与n个汇聚交换机相连接,即每个汇聚交换机与μ个核心交换机相连接;设置k=μm/n,1≦μ≦n/2,μ表示每个汇聚交换机所连接核心交换机的数量,为整数,避免汇聚层与核心层之间的上下行链路拥塞。
50.每个边缘交换机均连接终端,终端发送和接收数据,接收终端发过来数据的边缘交换机作为接收端交换机,向终端发送数据的边缘交换机作为发送端交换机;边缘层所连接的终端产生瞬时传输数据,从边缘层的发送端交换机经过路由路径传输,最后送达至边缘层的接收端交换机。所述的终端为计算机。
51.路由路径是由发送端交换机出发经链路到达一个汇聚交换机,再经链路到达一个核心交换机,由核心交换机路由经链路至另一个汇聚交换机,最后经链路到达接收端交换机的各条链路组成的路径。
52.树形数据中心的三层交换机连接是有线连接,本发明其链路层的路由方案中,每两个交换机之间都是双向联通通讯,即既可上行传输数据,也可下行发送数据。
53.每两个交换机之间通过链路均为双向通讯联通,每一条链路的链路带宽均相同。
54.以终端所发出数据所经过的上行链路和下行链路及发送端交换机地址、接收端交
换机地址和链路上的带宽构成了一条数据流。
55.本发明的创新在于找到树形结构下的数据中心路径选择与核心交换机一一对应关系,根据所选交换机求得整个树形数据中心的链路负载和负载瓶颈;另外用基于退火方法的路由方法降低负载瓶颈,求得在限定时间内性能性能较好的路由方法。
56.本发明适用于胖树、vl2等各种树形结构下,根据收发端的瞬时瞬发流量矩阵,在数据中心网络中的控制层根据改进的退火方法,实现数据中心的负载均衡。该退火方法随机搜索更优解,使得拓扑网络每条链路的最大值尽量最小化。
57.本发明的有益效益是:
58.本发明可以广泛用于多交换机的树形大型数据中心,在限定时间内得到数据中心的负载均衡的路由方法,显著提升整个数据中心路由链路的利用率,降低链路拥塞和传输流丢包的概率,能够有效使得数据中心整体的吞吐量增加,克服传统路由方法无法监控全局状态,根据实时并发量调整路由方法的不足,得到计算复杂度低、性能较好的路由方案,且具有高可靠性、低延迟等特性,在实际工程中有较高的应用价值。
59.本发明实现高效率、高可靠、低时延的路由方法,有效使得数据中心负载均衡,降低交换机端口拥塞情况发生,减少数据流路由时延,降低数据流丢包率,且具有低时间复杂度、低空间复杂度、高性能等特点。
附图说明
60.图1是本发明系统架构示意图。
61.图2是基于退火方法的负载均衡方法的流程图。
具体实施方式
62.下面结合附图和实施例对本发明作进一步说明。
63.一、建立树形数据中心
64.如图1所示,具体实施建立树形数据中心的拓扑结构主要由边缘层、汇聚层和核心层组成。
65.边缘层由m个交换机组成,以边缘层的交换机作为边缘交换机,m个边缘交换机平均分属在n个区域pod中;
66.汇聚层由m个交换机组成,以汇聚层的交换机作为汇聚交换机,m个汇聚交换机平均分属在n个区域pod内;m是n的整数倍。同区域pod内,每个汇聚交换机均分别和各个边缘交换机相连,使得汇聚交换机和边缘交换机两两相连;
67.核心层由k个交换机组成,以核心层的交换机作为核心交换机,每个核心交换机与各个区域pod内的一个汇聚交换机相连,每个核心交换机与n个汇聚交换机相连接,即每个汇聚交换机与μ个核心交换机相连接;设置k=μm/n,1≦μ≦n/2,μ表示每个汇聚交换机所连接核心交换机的数量,为整数,避免汇聚层与核心层之间的上下行链路拥塞。
68.每个边缘交换机均连接终端,终端发送和接收数据,接收终端发过来数据的边缘交换机作为接收端交换机,向终端发送数据的边缘交换机作为发送端交换机;边缘层所连接的终端产生瞬时传输数据,从边缘层的发送端交换机经过路由路径传输,最后送达至边缘层的接收端交换机。终端为计算机。
69.路由路径是由发送端交换机出发经链路到达一个汇聚交换机,再经链路到达一个核心交换机,由核心交换机路由经链路至另一个汇聚交换机,最后经链路到达接收端交换机的各条链路组成的路径。
70.树形数据中心的三层交换机连接是有线连接,本发明其链路层的路由方案中,每两个交换机之间都是双向联通通讯,即既可上行传输数据,也可下行发送数据。
71.每两个交换机之间通过链路均为双向通讯联通,每一条链路的链路带宽均相同。
72.以终端所发出数据所经过的上行链路和下行链路及发送端交换机地址、接收端交换机地址和链路上的带宽构成了一条数据流。
73.本发明中,设置树形数据中心的瞬时传输数据带宽为w,其中发送端交换机的地址编号为i,接收端交换机的地址编号为j,地址编号为交换机在自身所在层中的序号,发送端交换机i和接收端交换机j不属于同一区域pod。
74.如图1所示,树形数据中心中,边缘交换机i到核心交换机k的路径唯一确定,而边缘交换机i至不同区域pod的边缘交换机j的路由路径必须经过核心交换机。因此,发送端边缘交换机i至核心交换机k的上行路径唯一确定,核心交换机k至接收端边缘交换机j的下行路径唯一确定。由此只要确定一条数据流所经过的核心交换机的编号,即可确定整条流的路由路径。树形数据中心中的数据流的路由路径选择,转换为数据流所经过的核心交换机的选择,共有k种可供选择的路径。
75.本发明具体实施中,其中l为树形数据中心拓扑结构中的交换机层数,如图1中共有边缘层、汇聚层和核心层的三层交换机,因此l=3。
76.边缘层、汇聚层和核心层中的所有交换机均无线连接到确定性网络sdn,由确定性网络sdn实时监测交换机的数据,根据传输所需带宽w和树形数据中心的拓扑结构,计算得所有链路的上行链路的负载带宽loadu
p
和下行链路的负载带宽loadd
p
,p为链路的编号。
77.本发明中,链路带宽是指链路所能承受的最大带宽;负载带宽是指该链路当前所承受的带宽。
78.树形数据中心中,交换机和链路的编号设置:
79.每一条链路包括了上行链路和下行链路,上行链路和下行链路中链路的条数相同,均为:
80.numl=2*(n*(m/n)2 k*n)
81.其中,numl表示上行链路或者下行链路中链路的条数;
82.具体实施中,边缘交换机分别编号0至m

1,汇聚交换机分别编号0至m

1,核心交换机分别编号0至k

1,链路的编号p由链路两端的交换机决定:
[0083][0084]
其中,
p
表示所有链路下的链路的编号,d表示接收端交换机在边缘层中的编号,s表示发送端交换机在边缘层中的编号,即发送端交换机的地址编号,%表示求取余数。
[0085]
当数据流所经过的核心交换机的编号k确定,则该数据流经过的路径编号全部确定,上行链路汇聚交换机地址编号为(m/n)
×
floor(i/(m/n)),上行链路汇聚交换机地址编号为(m/n)
×
floor(j/(m/n)),其中floor()为向下取整函数。
[0086]
lu={lu
i,(m/n)
×
floor(i/(m/n))
,lu
(m/n)
×
floor(i/(m/n)),k
}
[0087]
ld={ld
k,(m/n)
×
floor(j/(m/n))
,ld
(m/n)
×
floor(j/(m/n)),j
}
[0088]
其中,lu表示上行路由路径经过的链路编号合集,ld表示下行路由路径经过的链路编号合集,i为边缘层的发送端交换机的地址编号,j为边缘层接收端交换机地址编号,k为核心交换机地址编号;lu
i,(m/n)
×
floor(i/(m/n))
表示连接边缘层交换机i和汇聚层交换机(m/n)x floor(i/(m/n)的上行链路的编号,lu
(m/n)
×
floor(i/(m/n)),k
表示连接汇聚层交换机(m/n)x floor(i/(m/n)和核心层交换机k的上行链路的编号;ld
k,(m/n)
×
floor(j/(m/n))
表示连接核心层交换机k和汇聚层交换机(m/n)x floor(j/(m/n)的下行链路的编号,ld
(m/n)
×
floor(j/(m/n)),j
表示连接汇聚层交换机(m/n)x floor(j/(m/n)和边缘层交换机j的下行链路的编号。
[0089]
二、数据中心链路层路由方案的确定
[0090]
本发明的目的为运用退火路由方法,使得数据中心链路层负载均衡,其中负载均衡的具体是以链路流量负载的最大值load最小化为目标建立能量函数e(n),即通过模拟退火方法将链路流量负载的最大值load逼近最小化值。
[0091]
计算所有链路的负载带宽中的最大值load按照以下方式获得:
[0092]
首先按照以下公式处理获得每条链路分别沿上下行传输的负载带宽:
[0093]
loadu
p
=loadu
p
' w
ij
[0094]
loadd
p
=loadd
p
' w
ij
[0095]
其中,loadu
p
表示编号为p的链路中上行传输的负载带宽,loadd
p
表示编号为p的链路中下行传输的负载带宽,w
ij
表示发送端交换机i和接收端交换机j之间所在数据流的带宽需求;loadu
p
'表示带宽需求叠加前的编号为p的链路中上行传输的负载带宽,loadd
p
'表示带宽需求叠加前的编号为p的链路中下行传输的负载带宽;
[0096]
然后将所有条链路分别沿上下行传输的负载带宽组成集合loadu和集合loadd,进而统计获得所有链路的负载带宽中的最大值load:
[0097]
load=max(loadu,loadd)
[0098]
其中,loadu表示所有链路沿上行传输的负载带宽构成的集合,loadd表示所有链路沿下行传输的负载带宽构成的集合,max()表示取最大元素。
[0099]
负载均衡旨在均匀分布网络链路上的流量,数值表达式该值表示为所有网络链路中的链路利用率都尽可能小,即应尽量减少所有链路中利用率最高的链路的利用率。因此,本发明将所有链路中最大负载带宽的那个链路视为链路压力的瓶颈,用最大负载链路描述。
[0100]
链路流量负载的最大值load是针对单条链路而言,沿上行传输和沿下行传输进行区分和分别处理。
[0101]
本发明的能量函数e(n)表示当前状态下系统的整体性能,表示为数据中心网络所有链路层上行链路和下行链路的负载压力。
[0102]
在数据中心中,链路的负载压力根据其所选的核心交换机所得,一条流的路由方案共有k个选择,即流的核心层所经过的交换机确定即该流所有路径全部确定,根据该方案可以计算出整个数据中心系统的所有链路负载loadup和loadud,p即为数据中心所有链路的个数。
[0103]
对于负载均衡而言,认为所有链路压力中最大的那个可以视为整个系统链路压力
的瓶颈,因此系统整体压力可以用最大负载链路描述。同时整个数据中心系统的性能由能量函数e(n)描述,因此表示为:
[0104]
e(n)=min load
[0105]
本发明实施的方法如图2,具体过程描述如下:
[0106]
步骤1:初始化所有交换机的状态,初始化设置路由方案,并对应获得初始解initial;
[0107]
初始化设置路由方案,具体为:
[0108]
在进行每一轮的退火遍历之前,所有交换机向确定性网络sdn发送自身的信息,信息包括交换机在自身所在层内的地址编号和链路带宽,在确定性网络sdn获取信息后,根据数据流的所需带宽与链路带宽之比筛选出大象流和小流:
[0109]
当数据流的带宽需求w
ij
大于链路带宽的60%,则数据流为大象流,反之则数据流为小流;
[0110]
树形数据中心优先对大象流进行处理,先对所有大象流的每条数据流按照ecmp等价多路径算法进行路由分配,随后再将小流的每条数据流根据ecmp方法分配到树形数据中心,获得初始路由方案。
[0111]
步骤2:设置当前迭代状态tcur,能量函数e(n)的初始解为initial,全局最优解为min,当前最优解为partmin,并令partmin=initial,min=initial,每个迭代状态下的迭代次数为l,终止迭代状态tend以及迭代状态下降速率v;
[0112]
步骤3:根据交换方案更新路由方案,并计算下更新后所有链路的负载带宽中的最大值load;
[0113]
根据交换方案更新路由方案,具体为:
[0114]
找到所有链路中负载带宽最大的链路作为瓶颈链路,且从经过瓶颈链路的所有数据流中找到流经瓶颈链路时候所占据最大带宽的数据流作为瓶颈数据流;然后从以下两个交换方案二选一进行交换更新处理:
[0115]
交换方案一:随机找到另一个数据流,另一个数据流的发送端交换机和瓶颈数据流的发送端交换机在同一个区域pod中,将数据流的核心交换机进行交换;
[0116]
交换方案二:
[0117]
找到另一个数据流,另一个数据流中所有链路的负载带宽之和最小,另一个数据流的发送端交换机和瓶颈数据流的发送端交换机不在同一个区域pod中,将两个数据流的核心交换机进行交换。
[0118]
本发明随机选用两个交换方案,两个交换方案随机选取,防止陷入局部最优解。
[0119]
具体实施中根据数据中心所有链路负载,可以找到整个树形数据中心路由压力较小的区域pod,区域pod内所有链路的平均压力视为整个区域pod内的压力。
[0120]
步骤4:判断所有链路的负载带宽中的最大值load是否小于当前最优解partmin的值,如果小于,则转步骤5,否则转步骤8;
[0121]
每一次更新交换核心交换机地址后需要重新计算load并判断,对于loadup和loadud而言只有涉及交换两条流的路径需要重新计算,其余链路压力保持不变,因此时间复杂度只有o(k),耗时极短。
[0122]
步骤5:令当前最优解partmin=load;
[0123]
步骤6:根据以下公式计算接受当前解的概率p:
[0124]
p=e

(load

min)/t
[0125]
其中,t为当前迭代状态,random(0,1)为0~1的随机数;
[0126]
然后将概率p进行比较判断:
[0127]
如果p>random(0,1),则接受当前解,令当前最优解partmin=load;
[0128]
如果p≤random(0,1),则当前最优解partmin保持不变;
[0129]
步骤7:判断当前最优解partmin是否小于全局最优解min,如果小于,则令min=partmin,否则全局最优解min不变;
[0130]
步骤8:判断是否达到迭代次数l,如果达到,则对当前迭代状态tcur进行更新,再转步骤9,否则转步骤3;
[0131]
对当前迭代状态tcur乘以迭代状态下降速率v进行更新,具体为:
[0132]
tcur’=v*tcur
[0133]
迭代状态下降速率v为固定值,此处取值为0.88。
[0134]
步骤9:判断当前迭代状态tcur是否达到终止迭代状态tend,如果达到了tend,转步骤10,否则转步骤3;
[0135]
步骤10:方法结束。
[0136]
由此可见,本发明找到树形结构下的数据中心路径选择与核心交换机一一对应关系,根据所选交换机求得整个数据中心的链路负载和负载瓶颈。并用基于退火方法的路由方法降低负载瓶颈,求得在限定时间内性能性能较好的路由方法。该方法可以广泛用于多交换机的树形大型数据中心,在限定时间内得到数据中心的负载均衡的路由方法。
[0137]
由此,本发明能够显著提升整个数据中心路由链路的利用率,降低链路拥塞和传输流丢包的概率,能够有效使得数据中心整体的吞吐量增加,克服传统路由方法无法监控全局状态,根据实时并发量调整路由方法的不足,得到计算复杂度低、性能较好的路由方案,且具有高可靠性、低延迟等特性,在实际工程中有较高的应用价值。
[0138]
上述具体实施方式用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜