针对广域网中软件定义网络(software defined network, SDN)在运行过程中控制器发生不可恢复的故障的情况,提出一种考虑控制器节点故障的部署方法。首先将网络划分成多个子网络,进而提出采用改进的粒子群优化算法对SDN控制器进行部署,以达到较高的可靠性和较低的时间延迟以及负载较为均衡的目的;在网络运行的过程中,当控制器发生不可恢复的故障时,采用熵权多目标决策法确定由发生故障区域的目标slave控制器,将其升级为master控制器,从而保证网络的正常运行。实验结果表明,相对于采取K-means或贪心算法,使用本方法进行控制器部署,在SDN网络的负载均衡率、链路时间延迟等网络关键指标方面均有所提升,且能以较低的代价降低控制器故障节点对网络正常运行的影响。