CN109905275A - 一种基于sdn分层架构的控制平面故障检测与处理方法 - Google Patents
一种基于sdn分层架构的控制平面故障检测与处理方法 Download PDFInfo
- Publication number
- CN109905275A CN109905275A CN201910078733.XA CN201910078733A CN109905275A CN 109905275 A CN109905275 A CN 109905275A CN 201910078733 A CN201910078733 A CN 201910078733A CN 109905275 A CN109905275 A CN 109905275A
- Authority
- CN
- China
- Prior art keywords
- controller
- domain
- detection
- information
- main detection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于SDN分层架构的控制平面故障检测与处理方法,具体过程为:检测平面及控制平面中的控制器定期将自身重要数据上传到云端进行存储保护,通过定期检测判断是否存在控制器故障;若主检测控制器故障,则辅助检测控制器代替主检测控制器进行检测工作;若域控制器故障,则主检测控制器收集其它域控制器的信息,选举出最佳的控制器作为目标控制器,进行交换机的迁移,同时通过同步使得切换前后的控制器保持信息一致性;当控制器修复成功后,自动从云端获取数据进行数据的恢复。本发明通过控制器健康状态检测方法及云端数据备份,可以提早发现存在异常的控制器,避免因SDN网络中控制器故障而造成的网络瘫痪及数据丢失问题。
Description
技术领域
本发明涉及网络技术领域,尤其是指一种基于SDN分层架构的控制平面故障检测与处理方法。
背景技术
随着网络技术的快速发展,互联网应用呈爆发式增长,全球信息量每年以指数级的速度增加,而目前的网络结构中各种传统网络设备的控制平面和数据转发平面耦合在一起,难以满足网络虚拟化、云计算等业务对数据快速传输、资源灵活配置等方面的需求,网络需要一种新型的架构来提高网络的可靠性和灵活性。
软件定义网络(SDN,Software Defined Network)作为一种新型的网络架构,通过OpenFlow协议将控制平面和转发平面分离,通过集中化的控制平面和分布式的数据平面实现对网络资源的统一管理,对网络资源进行合理分配;同时提供开放的可编程接口,为网络提供一定的编程能力,使网络的配置和管理更加灵活。SDN使得整个网络更加的开放,更能够适应不同业务和应用的需求。
然而,在SDN中,控制器承担着整个网络的所有业务逻辑,存在着单点故障、处理性能低等问题。若控制器发生故障而没有得到及时的处理,整个网络将会瘫痪,所有的业务将不能继续进行;同时,控制器故障也可能会造成数据丢失等问题,严重影响整个网络的性能。
针对上述的问题,目前已经提出了不少SDN控制平面故障的解决方案,然而,目前的方案仍存在以下问题:现有方案基本都是采用单个外部故障检测器对多个控制器进行故障检测,如果检测点发生了故障则无法继续进行检测作业;同时,采用控制器之间互发报文的方式进行故障检测,在控制器发生故障后才进行控制器切换,而从感知故障的发生到切换控制器之间需要一定的时间,在该时间内故障控制器下的网络将会瘫痪;当故障发生后,只是通过存活控制器的负载或时延,选择一个负载或时延最低的存活控制器接管故障控制器下的交换机,单纯依靠负载或时延进行控制器的选择并不能全面衡量该控制器的性能及交换机的迁移代价;此外,控制器在运行的过程中,往往只是采用本地备份,当故障发生时容易出现数据丢失等问题。
SDN网络中控制器是整个网络的核心,对整个网络的正常运行起着重要的作用,因此,如何避免因控制平面故障造成的网络瘫痪和数据丢失是保证网络正常运行的首要解决问题。
发明内容
本发明的目的在于克服现有技术的不足,提出了一种基于SDN分层架构的控制平面故障检测与处理方法,采用多点故障检测,通过辅助检测控制器提高检测的可靠性;此外,通过健康状态检测,及时发现控制器可能存在的异常,提早进行控制器切换;当有异常或故障发生时,综合评价存活控制器的多个指标,选择一个最佳的控制器进行切换;同时,通过云端备份及信息同步,使得切换前后的控制器之间能够保持信息一致性,并且保证控制器在故障修复后其数据能够及时进行恢复,提高数据的可靠性和安全性。
为实现上述目的,本发明所提供的技术方案为:一种基于SDN分层架构的控制平面故障检测与处理方法,所述SDN分层架构为分层的多控制器架构,由上至下包括检测平面、控制平面及数据平面;检测平面包括主检测控制器及辅助检测控制器;控制平面包含多个域控制器,每个域控制器以MASTER角色作为主控制器对自身域内的交换机进行管理,同时以SLAVE角色连接其它相邻域内的交换机;数据平面由各个域内的交换机共同组成;每个控制器连接到云端服务器,定期上传自身重要数据;
所述方法包括以下步骤:
1)检测平面和控制平面中的控制器定期将自身的重要数据实时上传到云端进行存储保护;
2)检测平面中,主检测控制器和辅助检测控制器之间通过双向心跳检测来检测主检测控制器是否有故障发生;控制平面中,每个域控制器和主检测控制器之间通过健康状态检测来检测域控制器是否有故障或异常发生;
3)若是检测平面中的主检测控制器发生故障,则辅助检测控制器启动故障应急程序,代替主检测控制器继续进行故障检测工作,同时,进行故障预警,将故障报告给网络管理员;若是控制平面中的域控制器发生故障或存在异常,则主检测控制器启动故障应急程序,收集其它相邻的域控制器信息,根据控制器选举算法,选举出一个最佳的域控制器作为目标控制器,通过交换机迁移,目标控制器将会接管故障控制器下的交换机,同时,进行故障预警,将故障或异常报告给网络管理员;
4)检测平面中的主检测控制器和控制平面中的域控制器故障修复后,自动从云端获取备份数据,若存在数据丢失,则进行数据恢复。
在步骤1)中,检测平面中的控制器的重要数据包括配置信息、安全策略信息、所管理的域控制器信息及历史故障记录信息;控制平面中的域控制器的重要数据包括配置信息、安全策略信息、底层交换机信息及所管理的主机信息;两者定期将重要数据上传到云端,同步、更新云端的数据,在进行数据同步时采用增量处理。
在步骤2)中,主检测控制器和辅助检测控制器之间的双向心跳检测包括以下步骤:
2.1.1)主检测控制器以设定的时间间隔T1向辅助检测控制器发送心跳报告,表明自身的存活状态;
2.1.2)若辅助检测控制器连续两次在规定的时间间隔内没有收到主检测控制器的心跳报告,则主检测控制器可能发生故障,为了排除偶然性,向主检测控制器发送心跳查询信息进行确认;
2.1.3)主检测控制器若正常运行,接收到心跳查询信息后应立即向辅助检测控制器发送心跳报告信息表明自身的存活状态;若辅助检测控制器在发送心跳查询信息后仍然没有收到主检测控制器的心跳报告信息,则判断主检测控制器发生故障。
在步骤2)中,主检测控制器和控制平面中的域控制器之间的健康状态检测包括以下步骤:
2.2.1)控制平面中的每个域控制器定期运行检测程序,对自身的CPU、温度、磁盘传输速率、磁盘剩余容量和网络连接状态进行检测,并根据检测的结果得出一个当前健康状态分数H_Score;
2.2.2)主检测控制器以设定的时间间隔T3向每个域控制器发送健康状态查询信息,域控制器收到信息后,将自身的健康状态分数H_Score报告给主检测控制器;
2.2.3)若主检测控制器没有收到某个域控制器的健康状态报告分数,则再次向该域控制器发送健康状态查询信息,若仍然没有收到健康状态报告分数,则说明该域控制器已经发生故障;
2.2.4)若主检测控制器正常接收到各个域控制器的健康状态报告分数,则进行健康情况判断;当Min_Score≤H_Scorei≤Max_Score时,说明该域控制器正常运行;当H_Scorei<Min_Score时,说明该控制器存在异常;其中,i表示域控制器的编号,H_Scorei表示第i个域控制器的健康状态报告分数,Min_Score和Max_Score表示健康状态报告分数正常的区间范围;若连续在3个检查周期内,某个域控制器的健康状态报告分数都为异常,则判断该控制器存在异常,需提前进行故障处理。
在步骤3)中,辅助检测控制器启动故障应急程序后,从云端获取主检测控制器中的信息,包括所管理的域控制器信息、历史故障记录信息,进行控制器之间信息的同步,保证两者之间信息的一致性;辅助检测控制器进行信息同步后,和控制平面中的域控制器建立连接,成为主检测控制器,进行域控制器的故障检测工作。
在步骤3)中,主检测控制器收集的控制器信息包括控制平面中其它相邻域控制器的CPU利用率信息、内存使用率信息和带宽使用率信息。
在步骤3)中,所述的控制器选举算法具体如下:
3.1)主检测控制器根据收集到的信息,计算出每个域控制器的归一化负载值L[i],L[i]=w1*C[i]+w2*M[i]+w3*B[i],若L[i]≥Th,该域控制器为过载控制器;若L[i]<Th,该域控制器为不过载控制器;其中,i表示域控制器编号,C[i]表示第i个域控制器的CPU利用率,M[i]表示第i个域控制器的内存使用率,B[i]表示第i个域控制器的带宽使用率,w1、w2、w3分别表示域控制器的CPU利用率、内存利用率和带宽使用率对应的权重,且w1+w2+w3=1,Th表示过载阈值;
3.2)主检测控制器根据历史故障记录信息,计算出每个域控制器的故障发生频率Q[i],Q[i]为:
其中,i表示域控制器编号,Controller_Faili表示第i个域控制器发生故障的总次数,表示控制平面中所有域控制器发生故障的总次数,n表示域控制器的数量;
3.3)主检测控制器选取控制平面中不过载的域控制器,根据这些域控制器的负载值、故障发生频率及其到发生故障控制器的距离为每个域控制器赋予一个评分Score[i],Score[i]为:
其中,L[i]表示第i个域控制器的负载值,Q[i]表示第i个域控制器的故障发生频率,D[i]表示第i个域控制器到发生故障控制器的距离,α、β、κ分别表示域控制器的负载值、故障发生频率和该域控制器到发生故障控制器的距离对应的权重,且α+β+κ=1;
3.4)主检测控制器选择Score[i]最大的域控制器作为目标控制器,接管故障控制器下的交换机。
在步骤3)中,所述的交换机迁移具体过程为:主检测控制器向选取的目标控制器发送故障应急消息,目标控制器接收到信息后,向故障控制器下的交换机发送OFPT_ROLE_REQUEST消息请求改变自身的角色,同时,目标控制器从云端获取故障控制器的相关消息,包括底层交换机信息及其所管理的主机信息,进行控制器之间的信息同步,使得两者之间的信息保持一致性,保证业务的不中断、不冲突,至此,目标控制器以MASTER模式作为主控制器来处理故障控制器下交换机的请求。
在步骤4)中,主检测控制器和控制平面中的控制器故障修复重启后,从云端获取其备份的数据,将本地的数据完整性与云端的数据完整性进行对比检测,若存在数据丢失,则进行数据恢复;数据恢复完成后,主检测控制器向辅助检测控制器发送心跳报告表明自身的存活状态;控制平面中的域控制器向主检测控制器发送健康状态报告信息表明自身的存活状态。
本发明与现有技术相比,具有如下优点与有益效果:
1、本发明采用多点检测,通过辅助检测控制器,提高了检测的可靠性;同时,通过健康状态检测,及时发现控制器运行过程中存在的异常,提前进行控制器切换,避免因控制器故障造成的网络瘫痪及业务中断问题。
2、本发明通过综合考虑控制平面中存活控制器的负载、故障发生频率及其到故障控制器的距离,选择一个最佳的域控制器作为目标控制器,进行交换机的迁移,提高了控制器切换的可靠性。
3、本发明通过从云端获取信息,从而进行控制器之间的信息同步,使得切换前后的控制器之间能够保持信息的一致性,保证业务的不冲突、不中断;同时通过云端备份,使得控制器修复后能够及时进行数据恢复,避免因控制器故障造成的数据丢失问题。
附图说明
图1为本发明的分层多控制器部署架构图。
图2为本发明的功能架构图。
图3为本发明的具体实施流程图。
图4为本发明的故障发生前后交换机迁移图。
具体实施方式
为了使本技术领域的人员更好的理解本发明方案,以下将结合附图和具体实施例,对本发明做进一步详细描述。
参见图1至图3所示,本实施例所提供的基于SDN分层架构的控制平面故障检测与处理方法,采用分层的多控制器架构,由上至下包括检测平面、控制平面及数据平面。检测平面包括主检测控制器及辅助检测控制器,主检测控制器主要负责域控制器的故障检测工作,辅助检测控制器辅助主检测控制器进行故障检测,并且当主检测控制器发生故障的时候,辅助检测控制器代替主检测控制器进行故障检测工作;控制平面包含多个域控制器,每个域控制器以MASTER角色作为主控制器对自身域内的交换机进行管理,同时以SLAVE角色连接其它相邻域内的交换机;数据平面由各个域内的交换机共同组成;其中,每个控制器连接到云端服务器,定期上传自身重要数据。
检测平面及控制平面中的控制器会定期将自身重要数据上传到云端中进行存储保护,为了保证数据的安全性,一般采用私有云进行数据存储及保护;同时,可在云端服务器进行相应的权限配置,使得控制器能够获取同个平面中的其它控制器的相关信息,进行控制器之间信息的同步。
检测平面中,控制器定期将自身的重要数据上传到云端进行存储保护,更新、同步云端的数据;其中,重要数据包括配置信息、安全策略信息、所管理的域控制器信息及历史故障记录信息,在进行数据同步时采用增量处理。
检测平面中,主检测控制器和辅助检测控制之间通过双向心跳检测来检测主检测控制器是否有故障发生,包括以下步骤:
(1)主检测控制器以设定的时间间隔T1向辅助检测控制器发送心跳报告。
(2)若辅助检测控制器连续两次在规定的时间间隔T2内没有收到主检测控制器的心跳报告,则主检测控制器可能发生故障,为了排除偶然性,向主检测控制器发送心跳查询信息进行确认。
(3)主检测控制器若正常运行,接收到心跳查询信息后应立即向辅助检测控制器发送心跳报告信息表明自身的存活状态;若辅助检测控制器在发送心跳查询信息后仍然没有收到主检测控制器的心跳报告信息,则判断主检测控制器发生故障。
检测平面中,当主检测控制器发生故障时,辅助检测控制器启动故障应急程序,从云端中获取主检测控制器中的相关信息,包括所管理的域控制器信息、历史故障记录信息等,进行控制器之间的信息同步;并且和控制平面中的域控制器建立连接,代替主检测控制器进行故障检测工作,成为主检测控制器;同时进行故障预警,将故障及时通知给网络管理员,进行故障的修复。主检测控制器故障修复重启后,从云端获取备份的数据,将本地的数据完整性与云端的数据完整性进行对比检测,若存在数据丢失,则进行数据恢复;恢复成功后,向辅助检测控制器发送心跳报告表明自身的存活状态。
控制平面中,每个域控制器定期将自身的重要数据上传到云端进行存储保护,更新、同步云端的数据;其中,重要数据包括配置信息、安全策略信息、底层交换机信息及所管理的主机信息,在进行数据同步时采用增量处理。
控制平面中,每个域控制器和主检测控制器之间通过健康状态检测来检测域控制器是否有故障或异常发生,包括以下步骤:
(1)控制平面中的每个域控制器定期运行检测程序,对自身的CPU、温度、磁盘传输速率、磁盘剩余容量、网络连接状态等进行检测,并根据检测的结果得出一个当前健康状态分数H_Score。
(2)主检测控制器以设定的时间间隔T3向每个域控制器发送健康状态查询信息,域控制器收到信息后,将自身的健康状态分数H_Score报告给主检测控制器。
(3)若主检测控制器没有收到某个域控制器的健康状态报告分数,则再次向该域控制器发送健康状态查询信息,若仍然没有收到健康状态报告分数,则说明该域控制器已经发生故障。
(4)若主检测控制器正常接收到各个域控制器的健康状态报告分数,则进行健康情况判断;当Min_Score≤H_Scorei≤Max_Score时,说明该域控制器正常运行;当H_Scorei<Min_Score时,说明该控制器存在异常;其中,i表示域控制器的编号,H_Scorei表示第i个域控制器的健康状态报告分数,Min_Score和Max_Score表示健康状态报告分数正常的区间范围;若连续在3个检查周期内,某个域控制器的健康状态报告分数都为异常,则判断该控制器存在异常,需提前进行故障处理。
控制平面中,当某个域控制器发生故障或异常,主检测控制器启动故障应急程序,收集控制平面中其它相邻控制器的信息,包括CPU利用率信息、内存使用率信息、带宽使用率信息,并根据控制器选举算法选举出最佳的域控制器作为目标控制器,控制器选举算法包括以下步骤:
(1)主检测控制器根据收集到的信息,计算出每个域控制器的归一化负载值L[i],L[i]=w1*C[i]+w2*M[i]+w3*B[i],若L[i]≥Th,该域控制器为过载控制器;若L[i]<Th,该域控制器为不过载控制器;其中,i表示域控制器编号,C[i]表示第i个域控制器的CPU利用率,M[i]表示第i个域控制器的内存使用率,B[i]表示第i个域控制器的带宽使用率,w1、w2、w3分别表示域控制器的CPU利用率、内存利用率和带宽使用率对应的权重,且w1+w2+w3=1,Th表示过载阈值。
(2)主检测控制器根据历史故障记录信息,计算出每个域控制器的故障发生频率Q[i],Q[i]为:
其中,i表示域控制器编号,Controller_Faili表示第i个域控制器发生故障的总次数,表示控制平面中所有域控制器发生故障的总次数,n表示域控制器的数量。
(3)主检测控制器选取控制平面中不过载的域控制器,根据这些域控制器的负载值、故障发生频率及其到发生故障控制器的距离为每个域控制器赋予一个评分Score[i],Score[i]为:
其中,L[i]表示第i个域控制器的负载值,Q[i]表示第i个域控制器的故障发生频率,D[i]表示第i个域控制器到发生故障控制器的距离,α、β、κ分别表示域控制器的负载值、故障发生频率和该域控制器到发生故障控制器的距离对应的权重,且α+β+κ=1。
(4)主检测控制器选择Score[i]最大的域控制器作为目标控制器,接管故障控制器下的交换机。
参见图4所示,主检测控制器通过控制器选举算法选取最佳的控制器作为目标控制器之后,主检测控制器向选取的目标控制器发送故障应急消息,目标控制器接收到信息后,向故障控制器下的交换机发送OFPT_ROLE_REQUEST消息请求改变自身的角色;同时,目标控制器从云端获取故障控制器的相关消息,包括底层交换机信息及其所管理的主机信息,进行控制器间信息的同步,使得两者之间的信息保持一致性,保证业务的不中断、不冲突;至此,目标控制器以MASTER模式作为主控制器来处理故障控制器下交换机的请求。
控制平面中,当某个域控制器发生故障或异常,主检测控制器进行故障预警,将故障或异常信息及时通知给网络管理员,进行控制器的检查与修复。控制平面中的控制器故障修复重启后,自动从云端获取备份的数据,将本地的数据完整性与云端备份的数据完整性进行对比检查,若存在数据丢失,则进行数据恢复;同时,向主检测控制器发送健康状态报告信息表明自身的存活状态。
以上所述实施例只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。
Claims (9)
1.一种基于SDN分层架构的控制平面故障检测与处理方法,所述SDN分层架构为分层的多控制器架构,由上至下包括检测平面、控制平面及数据平面;检测平面包括主检测控制器及辅助检测控制器;控制平面包含多个域控制器,每个域控制器以MASTER角色作为主控制器对自身域内的交换机进行管理,同时以SLAVE角色连接其它相邻域内的交换机;数据平面由各个域内的交换机共同组成;每个控制器连接到云端服务器,定期上传自身重要数据;
其特征在于,所述方法包括以下步骤:
1)检测平面和控制平面中的控制器定期将自身的重要数据实时上传到云端进行存储保护;
2)检测平面中,主检测控制器和辅助检测控制器之间通过双向心跳检测来检测主检测控制器是否有故障发生;控制平面中,每个域控制器和主检测控制器之间通过健康状态检测来检测域控制器是否有故障或异常发生;
3)若是检测平面中的主检测控制器发生故障,则辅助检测控制器启动故障应急程序,代替主检测控制器继续进行故障检测工作,同时,进行故障预警,将故障报告给网络管理员;若是控制平面中的域控制器发生故障或存在异常,则主检测控制器启动故障应急程序,收集其它相邻的域控制器信息,根据控制器选举算法,选举出一个最佳的域控制器作为目标控制器,通过交换机迁移,目标控制器将会接管故障控制器下的交换机,同时,进行故障预警,将故障或异常报告给网络管理员;
4)检测平面中的主检测控制器和控制平面中的域控制器故障修复后,自动从云端获取备份数据,若存在数据丢失,则进行数据恢复。
2.根据权利要求1中所述的一种基于SDN分层架构的控制平面故障检测与处理方法,其特征在于:在步骤1)中,检测平面中的控制器的重要数据包括配置信息、安全策略信息、所管理的域控制器信息及历史故障记录信息;控制平面中的域控制器的重要数据包括配置信息、安全策略信息、底层交换机信息及所管理的主机信息;两者定期将重要数据上传到云端,同步、更新云端的数据,在进行数据同步时采用增量处理。
3.根据权利要求1中所述的一种基于SDN分层架构的控制平面故障检测与处理方法,其特征在于,在步骤2)中,主检测控制器和辅助检测控制器之间的双向心跳检测包括以下步骤:
2.1.1)主检测控制器以设定的时间间隔T1向辅助检测控制器发送心跳报告,表明自身的存活状态;
2.1.2)若辅助检测控制器连续两次在规定的时间间隔T2内没有收到主检测控制器的心跳报告,则主检测控制器可能发生故障,为了排除偶然性,向主检测控制器发送心跳查询信息进行确认;
2.1.3)主检测控制器若正常运行,接收到心跳查询信息后应立即向辅助检测控制器发送心跳报告信息表明自身的存活状态;若辅助检测控制器在发送心跳查询信息后仍然没有收到主检测控制器的心跳报告信息,则判断主检测控制器发生故障。
4.根据权利要求1中所述的一种基于SDN分层架构的控制平面故障检测与处理方法,其特征在于,在步骤2)中,主检测控制器和控制平面中的域控制器之间的健康状态检测包括以下步骤:
2.2.1)控制平面中的每个域控制器定期运行检测程序,对自身的CPU、温度、磁盘传输速率、磁盘剩余容量和网络连接状态进行检测,并根据检测的结果得出一个当前健康状态分数H_Score;
2.2.2)主检测控制器以设定的时间间隔T3向每个域控制器发送健康状态查询信息,域控制器收到信息后,将自身的健康状态分数H_Score报告给主检测控制器;
2.2.3)若主检测控制器没有收到某个域控制器的健康状态报告分数,则再次向该域控制器发送健康状态查询信息,若仍然没有收到健康状态报告分数,则说明该域控制器已经发生故障;
2.2.4)若主检测控制器正常接收到各个域控制器的健康状态报告分数,则进行健康情况判断;当Min_Score≤H_Scorei≤Max_Score时,说明该域控制器正常运行;当H_Scorei<Min_Score时,说明该控制器存在异常;其中,i表示域控制器的编号,H_Scorei表示第i个域控制器的健康状态报告分数,Min_Score和Max_Score表示健康状态报告分数正常的区间范围;若连续在3个检查周期内,某个域控制器的健康状态报告分数都为异常,则判断该控制器存在异常,需提前进行故障处理。
5.根据权利要求1中所述的一种基于SDN分层架构的控制平面故障检测与处理方法,其特征在于:在步骤3)中,辅助检测控制器启动故障应急程序后,从云端获取主检测控制器中的信息,包括所管理的域控制器信息、历史故障记录信息,进行控制器之间信息的同步,保证两者之间信息的一致性;辅助检测控制器进行信息同步后,和控制平面中的域控制器建立连接,成为主检测控制器,进行域控制器的故障检测工作。
6.根据权利要求1中所述的一种基于SDN分层架构的控制平面故障检测与处理方法,其特征在于:在步骤3)中,主检测控制器收集的控制器信息包括控制平面中其它相邻域控制器的CPU利用率信息、内存使用率信息和带宽使用率信息。
7.根据权利要求1中所述的一种基于SDN分层架构的控制平面故障检测与处理方法,其特征在于,在步骤3)中,所述的控制器选举算法具体如下:
3.1)主检测控制器根据收集到的信息,计算出每个域控制器的归一化负载值L[i],L[i]=w1*C[i]+w2*M[i]+w3*B[i],若L[i]≥Th,该域控制器为过载控制器;若L[i]<Th,该域控制器为不过载控制器;其中,i表示域控制器编号,C[i]表示第i个域控制器的CPU利用率,M[i]表示第i个域控制器的内存使用率,B[i]表示第i个域控制器的带宽使用率,w1、w2、w3分别表示域控制器的CPU利用率、内存利用率和带宽使用率对应的权重,且w1+w2+w3=1,Th表示过载阈值;
3.2)主检测控制器根据历史故障记录信息,计算出每个域控制器的故障发生频率Q[i],Q[i]为:
其中,i表示域控制器编号,Controller_Faili表示第i个域控制器发生故障的总次数,表示控制平面中所有域控制器发生故障的总次数,n表示域控制器的数量;
3.3)主检测控制器选取控制平面中不过载的域控制器,根据这些域控制器的负载值、故障发生频率及其到发生故障控制器的距离为每个域控制器赋予一个评分Score[i],Score[i]为:
其中,L[i]表示第i个域控制器的负载值,Q[i]表示第i个域控制器的故障发生频率,D[i]表示第i个域控制器到发生故障控制器的距离,α、β、κ分别表示域控制器的负载值、故障发生频率和该域控制器到发生故障控制器的距离对应的权重,且α+β+κ=1;
3.4)主检测控制器选择Score[i]最大的域控制器作为目标控制器,接管故障控制器下的交换机。
8.根据权利要求1中所述的一种基于SDN分层架构的控制平面故障检测与处理方法,其特征在于,在步骤3)中,所述的交换机迁移具体过程为:主检测控制器向选取的目标控制器发送故障应急消息,目标控制器接收到信息后,向故障控制器下的交换机发送OFPT_ROLE_REQUEST消息请求改变自身的角色,同时,目标控制器从云端获取故障控制器的相关消息,包括底层交换机信息及其所管理的主机信息,进行控制器之间的信息同步,使得两者之间的信息保持一致性,保证业务的不中断、不冲突,至此,目标控制器以MASTER模式作为主控制器来处理故障控制器下交换机的请求。
9.根据权利要求1中所述的一种基于SDN分层架构的控制平面故障检测与处理方法,其特征在于:在步骤4)中,主检测控制器和控制平面中的控制器故障修复重启后,从云端获取其备份的数据,将本地的数据完整性与云端的数据完整性进行对比检测,若存在数据丢失,则进行数据恢复;数据恢复完成后,主检测控制器向辅助检测控制器发送心跳报告表明自身的存活状态;控制平面中的域控制器向主检测控制器发送健康状态报告信息表明自身的存活状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910078733.XA CN109905275A (zh) | 2019-01-28 | 2019-01-28 | 一种基于sdn分层架构的控制平面故障检测与处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910078733.XA CN109905275A (zh) | 2019-01-28 | 2019-01-28 | 一种基于sdn分层架构的控制平面故障检测与处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109905275A true CN109905275A (zh) | 2019-06-18 |
Family
ID=66944355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910078733.XA Pending CN109905275A (zh) | 2019-01-28 | 2019-01-28 | 一种基于sdn分层架构的控制平面故障检测与处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109905275A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110850799A (zh) * | 2019-11-19 | 2020-02-28 | 俊杰机械(深圳)有限公司 | 一种生产设备调节装置及其调节方法 |
CN111193640A (zh) * | 2019-12-26 | 2020-05-22 | 西安交通大学 | 采用策略分解和符号执行的有状态数据平面故障检测方法 |
CN111404734A (zh) * | 2020-03-06 | 2020-07-10 | 北京邮电大学 | 一种基于配置迁移的跨层网络故障恢复系统及方法 |
CN113055203A (zh) * | 2019-12-26 | 2021-06-29 | 中国移动通信集团重庆有限公司 | Sdn控制平面的异常恢复方法及装置 |
CN114500289A (zh) * | 2021-12-15 | 2022-05-13 | 深信服科技股份有限公司 | 控制平面恢复方法、装置、控制节点及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744809A (zh) * | 2013-12-23 | 2014-04-23 | 天泽信息产业股份有限公司 | 基于vrrp的车辆信息管理系统双机热备方法 |
CN106330965A (zh) * | 2016-10-19 | 2017-01-11 | 安徽大学 | 基于OpenFlow协议的多控制器协同平台的协同方法 |
CN107579857A (zh) * | 2017-09-29 | 2018-01-12 | 烽火通信科技股份有限公司 | 一种基于云的sdn控制器的冗余热备份保护的方法 |
CN107682410A (zh) * | 2017-09-14 | 2018-02-09 | 广州西麦科技股份有限公司 | 一种分布式sdn控制器集群的控制方法及装置 |
CN108075825A (zh) * | 2018-01-24 | 2018-05-25 | 大连大学 | 一种基于sdn的天基信息网络多控制器失效备援方法 |
CN108768698A (zh) * | 2018-05-02 | 2018-11-06 | 长沙学院 | 一种基于sdn的多控制器动态部署方法和系统 |
CN208239588U (zh) * | 2018-04-26 | 2018-12-14 | 中国科学院合肥物质科学研究院 | 一种便携式电机故障诊断演示箱 |
-
2019
- 2019-01-28 CN CN201910078733.XA patent/CN109905275A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744809A (zh) * | 2013-12-23 | 2014-04-23 | 天泽信息产业股份有限公司 | 基于vrrp的车辆信息管理系统双机热备方法 |
CN106330965A (zh) * | 2016-10-19 | 2017-01-11 | 安徽大学 | 基于OpenFlow协议的多控制器协同平台的协同方法 |
CN107682410A (zh) * | 2017-09-14 | 2018-02-09 | 广州西麦科技股份有限公司 | 一种分布式sdn控制器集群的控制方法及装置 |
CN107579857A (zh) * | 2017-09-29 | 2018-01-12 | 烽火通信科技股份有限公司 | 一种基于云的sdn控制器的冗余热备份保护的方法 |
CN108075825A (zh) * | 2018-01-24 | 2018-05-25 | 大连大学 | 一种基于sdn的天基信息网络多控制器失效备援方法 |
CN208239588U (zh) * | 2018-04-26 | 2018-12-14 | 中国科学院合肥物质科学研究院 | 一种便携式电机故障诊断演示箱 |
CN108768698A (zh) * | 2018-05-02 | 2018-11-06 | 长沙学院 | 一种基于sdn的多控制器动态部署方法和系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110850799A (zh) * | 2019-11-19 | 2020-02-28 | 俊杰机械(深圳)有限公司 | 一种生产设备调节装置及其调节方法 |
CN111193640A (zh) * | 2019-12-26 | 2020-05-22 | 西安交通大学 | 采用策略分解和符号执行的有状态数据平面故障检测方法 |
CN113055203A (zh) * | 2019-12-26 | 2021-06-29 | 中国移动通信集团重庆有限公司 | Sdn控制平面的异常恢复方法及装置 |
CN113055203B (zh) * | 2019-12-26 | 2023-04-18 | 中国移动通信集团重庆有限公司 | Sdn控制平面的异常恢复方法及装置 |
CN111404734A (zh) * | 2020-03-06 | 2020-07-10 | 北京邮电大学 | 一种基于配置迁移的跨层网络故障恢复系统及方法 |
US11431556B2 (en) | 2020-03-06 | 2022-08-30 | Beijing University Of Posts And Telecommunications | Cross-layer network fault recovery system and method based on configuration migration |
CN114500289A (zh) * | 2021-12-15 | 2022-05-13 | 深信服科技股份有限公司 | 控制平面恢复方法、装置、控制节点及存储介质 |
CN114500289B (zh) * | 2021-12-15 | 2023-12-29 | 深信服科技股份有限公司 | 控制平面恢复方法、装置、控制节点及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109905275A (zh) | 一种基于sdn分层架构的控制平面故障检测与处理方法 | |
CN108270669B (zh) | Sdn网络的业务恢复装置、主控制器、系统及方法 | |
CN103152414B (zh) | 一种基于云计算的高可用系统 | |
CN107544839B (zh) | 虚拟机迁移系统、方法及装置 | |
CN103532753B (zh) | 一种基于内存换页同步的双机热备方法 | |
CN109104349B (zh) | 基于CANopen协议的列车网络数据传输方法、系统及其装置 | |
CN101394306B (zh) | 一种双服务器系统的无缝切换方法 | |
CN109726046B (zh) | 机房切换方法及切换装置 | |
CN109471759B (zh) | 一种基于sas双控设备的数据库故障切换方法及设备 | |
CN102231681A (zh) | 一种高可用集群计算机系统及其故障处理方法 | |
CN103167543A (zh) | 一种基于wia网络的冗余网关 | |
CN108933692B (zh) | 物联网网关的数据传输方法、第一网关和双机热备系统 | |
CN103067209B (zh) | 一种心跳模块自检测方法 | |
CN103414739B (zh) | 采用自动漂移的云服务器自动监控系统及方法 | |
CN114500554A (zh) | 一种物联网系统管理方法 | |
CN107395771A (zh) | 全冗余负荷平衡生产过程数据采集系统 | |
CN105068763B (zh) | 一种针对存储故障的虚拟机容错系统和方法 | |
CN106294795A (zh) | 一种数据库切换方法及系统 | |
CN101854263B (zh) | 网络拓扑的分析处理方法、系统和管理服务器 | |
CN112272113B (zh) | 基于多种区块链节点的监控及自动切换的方法及系统 | |
CN102081621B (zh) | 一种确定数据库生产系统容灾切换的方法和装置 | |
CN107026762B (zh) | 一种基于分布式集群的容灾系统及方法 | |
CN113055203B (zh) | Sdn控制平面的异常恢复方法及装置 | |
CN109995554A (zh) | 多级数据中心主备切换的控制方法及云调度指挥器 | |
CN111309515B (zh) | 一种容灾控制方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190618 |
|
RJ01 | Rejection of invention patent application after publication |