1.一种基于负载均衡的数据中心流量调度方法,其特征在于,所述方法包括:S1:交换机接收到主机传来的数据流,根据数据流的源主机和目的主机的地址判断源主机和目的主机是否与同一边缘层交换机连接,如果是则直接转发给目的主机;
S2:根据预先设定的阈值判断流的类别,即交换判断该数据流是否属于小流量类;如果该数据流属于小流量类,则交换机直接采用等价多路径路由算法为该数据寻路;
S3:如果该数据流不属于小流量类,则交换机将数据流信息发送至控制器;
S4:控制器根据该数据流信息,利用k最短路径算法找出源主机和目的主机间的k条最短路径,形成初始的路径集;
S5:控制器在初始路径集的基础上,采用基于模拟退火的粒子群优化算法为大流量数据流计算最佳的传输路径;
S6:控制器将计算出的路径方案安装到流表,然后下发到交换机,交换机完成数据流的转发。
2.根据权利要求1所述的一种基于负载均衡的数据中心流量调度方法,其特征在于,采用等价多路径路由算法为数据寻路包括:当数据流到达交换机时,利用等价多路径路由算法对流的数据包首部关键字进行哈希计算,根据得到的不同的哈希值将流分配到对应的路径上。
3.根据权利要求1所述的一种基于负载均衡的数据中心流量调度方法,其特征在于,采用基于模拟退火的粒子群优化算法为大流量数据流计算最佳的传输路径包括:构建以最小化最大链路利用率、路径跳数以及链路带宽差为目标的优化目标函数;
确定粒子群优化算法的编码方案;
初始化粒子群优化算法的参数,包括初始化粒子的速度、位置,设置算法迭代次数、粒子群体的粒子数目,初始的退火温度,学习因子以及冷却系数;
计算粒子适应度,引入metropolis接受准则,更新粒子的最优位置和群体的最优位置;
更新粒子的速度和位置;
判断是否达到收敛条件,如果满足,则返回最优解;或者判断是否达到最大迭代次数,如果小于最大迭代次数并且没有达到收敛条件,则依据温度冷却公式降低温度,继续寻找粒子的最优解。
4.根据权利要求4所述的一种基于负载均衡的数据中心流量调度方法,其特征在于,构建以最小化最大链路利用率、路径跳数以及链路带宽差为目标的优化目标函数包括:min F=αf1+βf2+γf3;
f1=ui;
f2=q;
f3=bs-Bi;
其中,F表示总的适应度函数,min F即目标函数;f1表示链路利用率ui的适应度函数分量;f2表示数据流传输路径跳数q的适应度函数分量;f3表示数据流传输带宽bs与第i条路径可用带宽Bi的差值的适应度函数分量;α、β、γ分别是3个适应度函数的权重影响因子。
5.根据权利要求4所述的一种基于负载均衡的数据中心流量调度方法,其特征在于,确定粒子群优化算法的编码方案包括将粒子位置对应流传输路径选择的交换机,若大流量数据的条数为n,该n条大流对应的一种路径方案记为D=[d_1,d_2,…,d_n],其中第s条流量数据对应的顶层交换机编号表示为d_s,d_s∈[1,2,…,m]表示,m表示顶层交换机的编号范围,用X_s=[X_s1,X_s2,…,X_sn]表示维度为n的第s个粒子的位置,因此每一个粒子的位置对应了n条流调度的一种路径选择方案。
6.根据权利要求4所述的一种基于负载均衡的数据中心流量调度方法,其特征在于,计算粒子适应度值包括:通过总的适应度函数计算粒子群中每个粒子的适应度值;
根据metropolis接受准则计算较差适应度值的粒子的接受概率,选取记录粒子个体当前最优的位置和全局的最优位置。
7.根据权利要求6所述的一种基于负载均衡的数据中心流量调度方法,其特征在于,由metropolis接受准则计算较差适应度值粒子的接受概率包括:如果粒子当前的适应度函数值小于上一代的适应度函数值,那么以1的概率接受当前粒子位置为粒子的最优位置;
若粒子当前的适应度函数值大于上一代的适应度函数值,则计算接受概率,判断该接收概率是否大于区间[0,1]的一个随机数,若是则确定该最优位置。
8.根据权利要求7所述的一种基于负载均衡的数据中心流量调度方法,其特征在于,接受概率表示为:其中,p表示接受当前粒子位置为最优解的概率;F(Xi(n+1))表示n+1代粒子位置的适应值,F(Pi(n))表示第n代粒子最优位置的适应值,T表示当前的温度。
9.根据权利要求8所述的一种基于负载均衡的数据中心流量调度方法,其特征在于,当前温度T的更新表示为:n
T=T0×C;
其中,T0表示初始温度,Cn表示第n代的退火系数。
10.根据权利要求6所述的一种基于负载均衡的数据中心流量调度方法,其特征在于,更新粒子速度和位置方法,包括:vi(n+1)=ωvi(n)+c1(t)r1(Pi(n)-Xi(n))+c2(t)r2(Pg(n)-Xi(n)),vi∈[vmin,vmax]xi(n+1)=xi(n)+vi(n+1)其中,vi(n+1)表示n+1代中第i个粒子的速度;ω表示速度的惯性因子;c1(t)、c2(t)为粒子的学习因子,且c2(t)=1/c1(t);r1、r2为区间(0,1)内的随机数;vi∈[vmin,vmax]为粒子速度的限制范围,vmin为粒子的最小速度,vmax为粒子的最大速度;Pi(n)表示n代中第i个粒子的个体最优位置;Pg(n)表示第n代的群体最优位置。