近年来,随着云计算、大数据、虚拟化技术的发展,数据中心的数据流量越来越多,这增加了网络链路出现拥塞的概率,容易导致吞吐量降低、延迟时间变长以及网络性能下降。软件定义网络(Software Defined Network,SDN)架构的出现为解决数据中心的流量工程问题提供一个新的解决方案,它解耦了控制平面与数据平面,有一个集中控制网络的外部控制器,通过控制器网络应用可以进行流量控制。网络负载均衡方案可以提前预测网络链路的负载不均衡情况,通过重新动态调度拥塞链路流的路径,可以降低链路出现拥塞的概率。然而,现有的基于SDN的负载均衡算法依赖不同的数据中心网络拓扑结构,并且在流量调度时也没有很好地区别对带宽敏感的大象流以及对延迟敏感的老鼠流。为此本文提出了一个具有网络拓扑通用性的负载均衡算法(PLB),并且在流量调度时对大象流和老鼠流分别进行处理。基于SDN的优势,控制器为数据中心内部所有流制定路由策略,并在数据包传输期间,监控流量大小并区分出大象流,然后根据网络链路负载均衡情况,动态改变大象流的传输路径,从而降低网络链路发生拥塞的概率以及解决因链路拥塞而导致的数据包延迟问题。此外,本文还提出了一个基于优先级的流表更新策略,在动态改变流传输路径时,数据流在新路径途径的流表被全部添加之后立即被调度到新路径上,这样可以避免因路径改变导致数据流传输中断以及丢包问题。仿真实验结果表明,在hot-spot数据流量模式下,本文提出的PLB算法相比DFS worst-Fit算法和LABERIO算法在无阻碍全相连拓扑和胖树拓扑中有更好的平均流吞吐量与平均带宽利用率。此外,在无阻碍全相连拓扑中,当数据中心网络流量负载从0.1开始增长到0.9时,本文提出的PLB算法相比DFS worst-Fit算法和LABERIO算法有更好的平均流吞吐量。这表明了本文提出的PLB算法在数据中心网络中具有可扩展性。