一种SDN网络多控制器的负载均衡方法及系统技术方案

技术编号:17841835 阅读:21 留言:0更新日期:2018-05-03 21:56
本发明专利技术提供一种SDN网络多控制器的负载均衡方法及系统,所述方法包括:S1、获取SDN网络的数据平面发送的待处理数据集以及所述SDN网络的控制平面发送的各个控制器负载反馈信息;S2、基于预设的服务质量QoS学习模块,对所述各个控制器负载反馈信息进行预设次数的学习,以得到所述各个控制器的负载分配方式;S3、将所述待处理数据集中各个数据,按照所述各个控制器的负载分配方式进行负载分配。本发明专利技术提供的SDN网络多控制器的负载均衡方法及系统,通过在SDN网络的控制平面和数据平面之间设置有控制器大脑CM,所述CM能够基于QoS进行自主学习,从而自主的进行负载分配,避免了频繁的数据交换所产生的时延。

Load balancing method and system for multiple controllers in SDN network

The present invention provides a load balancing method and system for a SDN network multi controller. The method includes: S1, an awaiting processing data set to get the data plane sent from the SDN network and the controller load feedback information sent by the control plane of the SDN network; S2, the pre established quality of service quality QoS learning module, and The respective controller load feedback information is learned by the preset number of times to obtain the load allocation method of the respective controllers; S3, the data of the data to be processed, and the load allocation is carried out according to the load allocation method of the respective controllers. The load balancing method and system of the SDN network multi controller provided by the invention is provided by the controller brain CM between the control plane and the data plane of the SDN network, and the CM can learn autonomously based on QoS, thereby independently carrying out the load distribution and avoiding the time delay produced by the frequent data exchange.

【技术实现步骤摘要】
一种SDN网络多控制器的负载均衡方法及系统
本专利技术涉及网络信息
,更具体地,涉及一种SDN网络多控制器的负载均衡方法及系统。
技术介绍
传统网络在TCP/IP协议体系下,当前网络得到了前所未有的发展,但是随着信息通信技术(InformationCommunicationsTechnology,ICT)的发展,对网络的需求更趋向于灵活性和可扩展性。为了适应用户的需求,未来网络技术应运而生,其中软件定义网络(SoftwareDefinedNetworking,SDN)被当成其中最具影响力的未来网络架构之一。SDN解耦了网络的控制平面和数据平面;将网络的底层硬件加以抽象,抽象成为可以由控制平面进行统一调度的物理资源;向网络增加了可编程能力,可以通过简单的软件方式对网络进行管理和操作等等。但是SDN作为新兴的未来网络架构仍处于最初的发展阶段,一些关键问题还没有得到妥善的解决,其中之一就包括控制平面的可扩展性问题,单一控制器已经成为SDN进一步发展的瓶颈。当一个全新的数据包到达交换机时,由于交换机缺少路由和选路能力,因此需要通过Packet-In消息向控制器上传这一数据包,由控制器下发流表从而实现对该数据包的转发,但是一旦网络规模增大,交换机上传的Packet-In消息的个数也急剧增加,那么单一控制器将会产生巨大的处理问题。许多研究就解决这一问题达成了广泛的共识,那就是采用多控制器的方式实现逻辑上集中、物理上分布的多控制器控制模式。但是,现有技术的SDN网络多控制器的负载均衡采用的是先得到当前状态下控制器的负载情况之后,再对负载方案进行调整从而达到负载均衡的目的,这种负载均衡方法需要在多个控制器之间进行频繁的信令交换,但频繁的信令交换会引入大量的额外时延,从而影响应用的服务质量(QualityofService,QoS)。
技术实现思路
本专利技术提供一种克服上述问题或者至少部分地解决上述问题的一种SDN网络多控制器的负载均衡方法,包括:S1、获取SDN网络的数据平面发送的待处理数据集以及所述SDN网络的控制平面发送的各个控制器负载反馈信息;S2、基于预设的服务质量QoS学习模块,对所述各个控制器负载反馈信息进行预设次数的学习,以得到所述各个控制器的负载分配方式;S3、将所述待处理数据集中各个数据,按照所述各个控制器的负载分配方式进行负载分配。其中,步骤S3之前所述方法还包括:对所述待处理数据集中各个数据进行优先级标记;基于所述优先级标记,对所述待处理数据集中各个数据进行排序。其中,步骤S3之后所述方法还包括:基于预设的服务质量QoS学习模块,对负载分配后所述SDN网络的控制平面发送的各个控制器负载反馈信息再次学习。其中,步骤S2之前所述方法还包括:获取所述各个控制器负载反馈信息的QoS消息的等待时间和普通消息的丢包率;基于所述QoS消息的等待时间和普通消息的丢包率,建立所述QoS学习模块。其中,所述QoS学习模块包括学习主体,所述学习主体为:subjecttoi=1,2,...N1,其中,表示QoS消息i在t时刻的等待时间,分别表示普通消息k和QoS消息i在t时刻的丢包率,T表示系统的运行时间,N1和N2分别表示QoS消息和普通消息的总个数,k1和k2表示加权因子并且k1+k2=1。其中,所述QoS学习模块还包括状态空间、动作空间和奖励函数,步骤S2具体包括:基于所述各个控制器负载反馈信息,更新所述状态空间;将所述状态空间和所述奖励函数输入所述学习主体中,并设置所述学习主体的学习次数,以更新所述动作空间;基于更新后的动作空间,确定所述各个控制器的负载分配方式。其中,所述将所述状态空间和所述奖励函数输入所述学习主体中,并设置所述学习主体的学习次数,以更新所述动作空间包括:将所述状态空间和所述奖励函数输入所述学习主体;基于预设的Q-learning算法对所述学习主体进行学习,当所述各个控制器负载反馈信息中QoS丢包率为零时学习结束,以更新所述动作空间。根据本专利技术的第二方面,提供一种SDN网络多控制器的负载均衡系统,在SDN网络的控制平面和数据平面之间设置有控制器大脑CM,所述CM包括信息数据库模块和学习模块;所述信息数据库模块获取所述SDN网络的数据平面发送的待处理数据集以及所述SDN网络的控制平面发送的各个控制器负载反馈信息;所述信息数据库模块将所述负载反馈信息发送至所述CM的学习模块,以使所述CM的学习模块进行学习;基于所述学习模块的学习结果,所述信息数据库模块将所述待处理数据集中各个数据分配至所述SDN网络的控制平面中各个控制器,以使所述各个控制器之间负载均衡。根据本专利技术的第三方面,提供一种计算机程序产品,包括程序代码,所述程序代码用于执行上述一种SDN网络多控制器的负载均衡方法。根据本专利技术的第四方面,提供一种非暂态计算机可读存储介质,用于存储如前所述的计算机程序。本专利技术提供的SDN网络多控制器的负载均衡方法及系统,通过在SDN网络的控制平面和数据平面之间设置有控制器大脑CM,所述CM能够基于QoS进行自主学习,从而自主的进行负载分配,避免了频繁的数据交换所产生的时延。附图说明图1是本专利技术实施例提供的一种SDN网络多控制器的负载均衡方法流程图;图2是本专利技术实施例提供的一种SDN网络示意图;图3是本专利技术实施例提供的不同消息到达速率的情况下,与其他方案在负载抖动方面的性能差异示意图;图4是本专利技术实施例提供的不同消息到达速率的情况下,与其他传统方案在Qos消息等待时间方面的性能差异示意图;图5是本专利技术实施例提供的SDN网络多控制器的负载均衡系统结构图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。图1是本专利技术实施例提供的一种SDN网络多控制器的负载均衡方法流程图,如图1所示,所述方法包括:S1、获取SDN网络的数据平面发送的待处理数据集以及所述SDN网络的控制平面发送的各个控制器负载反馈信息;S2、基于预设的服务质量QoS学习模块,对所述各个控制器负载反馈信息进行预设次数的学习,以得到所述各个控制器的负载分配方式;S3、将所述待处理数据集中各个数据,按照所述各个控制器的负载分配方式进行负载分配。现有技术中,对于多控制器负载均衡的研究几乎都需要与控制器进行频繁的信令交换,得到当前状态下控制器的负载情况之后,再对负载方案进行调整从而达到负载均衡的目的。但是,通过实时的信令交换来获得控制器的当前负载,虽然可以大大提高负载均衡的可靠性,但是信令的频繁交换会引入大量的额外时延,这对于要求QoS的应用来说是不可容忍的,并且使用传统的负载均衡方法,在额外时延和负载均衡效果方面存在此消彼长的权衡问题。具体的,当算法频繁的进行了信令的交互,这就直接导致了较好的负载均衡效果,但是也因为引入了较高的额外时延,反之亦然。针对上述现有技术的问题,本专利技术实施例通过在SDN网络的控制平面和数据平面之间设置有控制器大脑(controllermind,CM),所述CM能够基于QoS进行自主学习,从而自主的进行负载分配,避免了频繁的数据交换所产生的时延。可以理解的是,传统的SDN网络为三层网络结构,分别为数据平面、控制平面以及应用平面,所述数据平面主要生成S本文档来自技高网
...
一种SDN网络多控制器的负载均衡方法及系统

【技术保护点】
一种SDN网络多控制器的负载均衡方法,其特征在于,包括:S1、获取SDN网络的数据平面发送的待处理数据集以及所述SDN网络的控制平面发送的各个控制器负载反馈信息;S2、基于预设的服务质量QoS学习模块,对所述各个控制器负载反馈信息进行预设次数的学习,以得到所述各个控制器的负载分配方式;S3、将所述待处理数据集中各个数据,按照所述各个控制器的负载分配方式进行负载分配。

【技术特征摘要】
1.一种SDN网络多控制器的负载均衡方法,其特征在于,包括:S1、获取SDN网络的数据平面发送的待处理数据集以及所述SDN网络的控制平面发送的各个控制器负载反馈信息;S2、基于预设的服务质量QoS学习模块,对所述各个控制器负载反馈信息进行预设次数的学习,以得到所述各个控制器的负载分配方式;S3、将所述待处理数据集中各个数据,按照所述各个控制器的负载分配方式进行负载分配。2.根据权利要求1所述的方法,其特征在于,步骤S3之前所述方法还包括:对所述待处理数据集中各个数据进行优先级标记;基于所述优先级标记,对所述待处理数据集中各个数据进行排序。3.根据权利要求1所述的方法,其特征在于,步骤S3之后所述方法还包括:基于预设的服务质量QoS学习模块,对负载分配后所述SDN网络的控制平面发送的各个控制器负载反馈信息再次学习。4.根据权利要求1所述的方法,其特征在于,步骤S2之前所述方法还包括:获取所述各个控制器负载反馈信息的QoS消息的等待时间和普通消息的丢包率;基于所述QoS消息的等待时间和普通消息的丢包率,建立所述QoS学习模块。5.根据权利要求4所述的方法,其特征在于,所述QoS学习模块包括学习主体,所述学习主体为:subjectto其中,表示QoS消息i在t时刻的等待时间,分别表示普通消息k和QoS消息i在t时刻的丢包率,T表示系统的运行时间,N1和N2分别表示QoS消息和普通消息的总个数,k1和k2表示加权因子并且k1+...

【专利技术属性】
技术研发人员:许方敏仇超赵成林李斌
申请(专利权)人:北京邮电大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1