1.一种基于SDN的云数据中心负载可感知的请求路由方法,其特征在于,该方法包括如下步骤:
1)当某一个应用向云数据中心发送请求时,负载可感知的控制器获得该应用对应的所有虚拟机详细信息以及到达该虚拟机所有网络路由路径的详细信息;
2)遍历所有虚拟机,计算当前虚拟机处理该请求所需要的时间;
3)根据2)中获得该应用请求能够到达当前虚拟机的所有网络路由路径;
4)基于遗传算法获得每一条链路允许通过该应用请求的最佳应用组合;
5)在3)和4)的基础上得到该应用可以将请求送达当前虚拟机的所有路径,并计算每条路径的延迟时间,最终获得响应时间最小的虚拟机与链路组合。
2.根据权利要求1所述的一种基于SDN的云数据中心负载可感知的请求路由方法,其特征在于,实现虚拟机和网络的负载均衡,最小化每一个请求的总响应时间。
3.根据权利要求1所述的一种基于SDN的云数据中心负载可感知的请求路由方法,其特征在于,所述总响应时间由两部分构成,即网络中的延迟时间和虚拟机上的处理时间:
其中
i)是应用请求的总响应时间;
ii)是虚拟机对该应用请求的处理时间;
iii)是该应用请求在网络链路的延迟时间。
4.根据权利要求3所述的一种基于SDN的云数据中心负载可感知的请求路由方法,其特征在于,所述在网络中的延迟时间考虑链路中各种网络设备后可以计算得出,即
其中,
i)f表示当前应用;
ii)pf表示应用f请求的网络路由路径;
iii)表示表示网络路由路径pf上所有网络设备的个数;
iv)表示网络路由路径pf上第i个网络设备为应用f的请求所分配的带宽;
v)λf表示应用f的请求的到达率;
vi)sf表示应用f的每一个请求的大小。
5.根据权利要求3所述的一种基于SDN的云数据中心负载可感知的请求路由方法, 其特征在于,所述虚拟机上的处理时间可以通过虚拟机的状态信息计算得出,即
其中,
i)df表示可处理应用f请求的虚拟机;
ii)表示虚拟机df上剩余的尚未被处理请求的个数;
iii)表示虚拟机df的处理能力。
6.根据权利要求4所述的一种基于SDN的云数据中心负载可感知的请求路由方法,其特征在于,对于一条路径中的每一条链路,所有允许通过该链路的应用请求的总带宽需求不能超过该链路的带宽容量限制,即:
其中,
i)e表示路径中的当前链路;
ii)RTe表示允许通过链路e的所有应用的集合;
iii)Cape表示链路e的带宽容量限制。
7.根据权利要求4所述的一种基于SDN的云数据中心负载可感知的请求路由方法,其特征在于,每一个应用的请求的带宽需求均不能超过选定的网络路由路径上每一个网络设备为应用的请求所分配的带宽,即:
其中,
i)i是指网络路径中当前网络设备。
8.根据权利要求6所述的一种基于SDN的云数据中心负载可感知的请求路由方法,其特征在于,为了确定一个应用的请求的可达路径,首先要确定一条路径中每条链路允许通过的应用集合RTe。链路中每一个应用都有一个优先级,最终确定的应用集合要达到在保证允许通过的所有应用请求的带宽需求不超过该链路带宽容量限制的前提下最大化允许通过的所有应用请求的优先级之和,即:
其中,
i)totalPe指的是通过链路e的优先级之和;
ii)T指应用的数量;
iii)xf表示当前应用是否允许通过该链路;
iv)reqLevelf表示应用f的优先级。
9.根据权利要求8所述的一种基于SDN的云数据中心负载可感知的请求路由方法,其特征在于,允许通过链路e的所有应用的请求不能超过该链路的带宽容量限制,即:
。
10.根据权利要求8所述的一种基于SDN的云数据中心负载可感知的请求路由方法,其特征在于,求通过链路e的优先级之和前,要首先判断应用是否被允许通过当前链路e,即:
。