1.一种为软件定义网络控制器提供备份的方法,应用于包括交换机和多个控制器的网络系统中,其特征在于,所述方法包括以下步骤:步骤一,在初始阶段,将多个控制器定义为候选主控制器,多个候选主控制器间发送具有优先级属性的第一协议报文;并根据第一协议将所述多个控制器捆绑在一起创建一虚拟控制器,为所述多个控制器和所述虚拟控制器预先配置IP 地址和优先级,所述第一协议报文为虚拟路由器冗余协议报文;
步骤二,各该候选主控制器接收所述第一协议报文,依据所述第一协议报文的优先级属性提取所述第一协议报文的优先级;
步骤三,将提取到的所述第一协议报文的优先级与各该候选主控制器自身的优先级进行比较,检测各该候选主控制器自身的优先级是否高于所述第一协议报文的优先级;
步骤四,若所述候选主控制器自身的优先级高于所述第一协议报文的优先级,则定义所述候选主控制器为主控制器,剩余候选主控制器为备份控制器;
若所述候选主控制器自身的优先级不高于所述第一协议报文的优先级,将所述候选主控制器定义为备份控制器,并将所述备份控制器置于等待接收所述第一协议报文的状态,转入步骤七;
步骤五,所述主控制器发送第二协议报文至交换机;
步骤六,所述主控制器在第一预设时间段内分别发送所述第一协议报文至各备份控制器;
步骤七,判断各该备份控制器在第二预设时间段内是否接收到所述第一协议报文;
若否,则定义所述备份控制器为主控制器,返回步骤五;
若是,提取报文优先级,判断所述备份控制器自身的优先级是否高于所述第一协议报文的优先级;
若所述备份控制器自身的优先级高于所述第一协议报文的优先级,定义所述备份控制器为主控制器,返回步骤五;
若所述备份控制器自身的优先级低于所述第一协议报文的优先级,返回步骤六。
2.根据权利要求1所述的为软件定义网络控制器提供备份的方法,其特征在于:所述为软件定义网络控制器提供备份的方法中将提取到的所述第一协议报文的优先级与各该候选主控制器自身的优先级进行比较,检测各该候选主控制器自身的优先级是否高于所述第一协议报文的优先级的步骤为判断虚拟控制器的IP地址是否与所述多个候选主控制器中的一个候选主控制器的IP地址重合;若重合,则表示与所述虚拟控制器的IP地址重合的候选主控制器具有最高优先级,具有最高优先级的所述候选主控制器为主控制器,剩余候选主控制器为备份控制器,所述主控制器在所述第一预设时间段内给所述备份控制器发送所述第一协议报文。
3.根据权利要求2所述的为软件定义网络控制器提供备份的方法,其特征在于:所述第一协议报文的优先级范围在0~255之间,最高优先级为255。
4.根据权利要求2所述的为软件定义网络控制器提供备份的方法,其特征在于:所述为软件定义网络提供备份的方法还包括:所述候选主控制器被定义为主控制器时,所述主控制器发送第二协议报文至所述交换机,所述交换机生成记录所述虚拟控制器的IP地址和接收所述第二协议报文的入端口的端口号的映射表。
5.根据权利要求4所述的为软件定义网络控制器提供备份的方法,其特征在于:当在所述第二预设时间段内多个备份控制器未接收到所述第一协议报文时,则表示所述主控制器发生故障,所述多个备份控制器宣告自己为主控制器,在多个备份控制器中重新选举产生新的主控制器;新产生的所述主控制器给所述交换机发送第二协议报文,所述交换机更新所述映射表。
6.根据权利要求1所述的为软件定义网络控制器提供备份的方法,其特征在于:所述第二协议报文为地址解析协议报文。
7.一种采用权利要求1-6任一项的方法为软件定义网络控制器提供备份的系统,其特征在于,包括:多个控制器,所述控制器包括:
发送模块,用于在初始阶段将多个控制器定义为候选主控制器时,在多个候选主控制器间发送具有优先级属性的第一协议报文;且所述发送模块还用于发送第二协议报文至交换机;
接收模块,用于接收各该候选主控制器发送的第一协议报文;
提取模块,用于在接收到所述第一协议报文后,分别依据所述第一协议报文的优先级属性提取所述第一协议报文的优先级;
比较模块,用于将提取到的所述第一协议报文的优先级与各该候选主控制器自身的优先级进行比较,检测各该候选主控制器自身的优先级是否高于所述第一协议报文的优先级;若是,则定义所述候选主控制器为主控制器,剩余候选主控制器为备份控制器,调用所述发送模块在第一预设时间段内发送第二协议报文至所述交换机,且在第一预设时间段内分别发送所述第一协议报文至各备份控制器;若否,则定义所述候选主控制器为备份控制器,将所述备份控制器置于等待接收所述第一协议报文的状态;
判断模块,用于判断各该备份控制器在第二预设时间段内是否接收到所述第一协议报文,若是,则调用所述提取模块和比较模块分别提取第一协议报文优先级,检测所述备份控制器自身的优先级是否高于所述第一协议报文的优先级,若是,则定义所述备份控制器为主控制器,并调用所述发送模块发送第二协议报文至所述交换机;若否,则调用所述发送模块在所述第一预设时间段内分别发送所述第一协议报文至各备份控制器;若否,则定义所述备份控制器为主控制器,调用所述发送模块发送第二协议报文至所述交换机。
8.根据权利要求7所述的为软件定义网络控制器提供备份的系统,其特征在于:所述为软件定义网络控制器提供备份的系统还包括虚拟模块,所述虚拟模块用于根据第一协议由所述多个控制器组成的虚拟控制器,为所述多个控制器和所述虚拟控制器预先配置IP地址和优先级。
9.根据权利要求8所述的为软件定义网络控制器提供备份的系统,其特征在于:所述比较模块还用于判断所述虚拟控制器的IP地址是否与所述多个候选主控制器中的一个候选主控制器的IP地址重合,若重合,则表示与所述虚拟控制器的IP地址重合的候选主控制器具有最高优先级,具有最高优先级的所述候选主控制器为主控制器,剩余候选主控制器为备份控制器,所述主控制器在一预设时间段内给所述备份控制器发送第一协议报文。