CN108282523A - 一种基于sdn的负载均衡系统 - Google Patents

一种基于sdn的负载均衡系统 Download PDF

Info

Publication number
CN108282523A
CN108282523A CN201810048611.1A CN201810048611A CN108282523A CN 108282523 A CN108282523 A CN 108282523A CN 201810048611 A CN201810048611 A CN 201810048611A CN 108282523 A CN108282523 A CN 108282523A
Authority
CN
China
Prior art keywords
information
module
controller
server
load
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
Application number
CN201810048611.1A
Other languages
English (en)
Inventor
由彬
陈雯
陈聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Donghua University
National Dong Hwa University
Original Assignee
Donghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Donghua University filed Critical Donghua University
Priority to CN201810048611.1A priority Critical patent/CN108282523A/zh
Publication of CN108282523A publication Critical patent/CN108282523A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing

Abstract

本发明涉及一种基于SDN的负载均衡系统,包括分层的网络构架,每层网络构架中设置有多个控制器,同层网络的控制器处于相同的地位,每个控制器即是超级控制器,又是普通控制器;所述控制器包括:信息采集模块,用于采集网络相关信息;信息存储模块,用于将采集到的网络相关信息进行保存,以及存储控制器和服务器的信息;信息决策模块,用于实现链路的负载均衡、服务器负载均衡和控制器负载均衡。本发明能够实现可靠地高性能的负载均衡。

Description

一种基于SDN的负载均衡系统
技术领域
本发明涉及网络技术领域,特别是涉及一种基于SDN的负载均衡系统。
背景技术
负载均衡技术是SDN(软件定义网络)领域研究的重要课题。不断更新的硬件技术,如潮水般迅猛发展的软件技术,都对现有网络的承载能力有了更高的要求。在海量信息给网络带来巨大压力的同时,人们越来越关注信息获取的速度,这就使系统对信息处理能力要求越来越高。目前SDN负载均衡技术主要分为硬件负载均衡技术和软件负载均衡技术。硬件负载均衡技术能很好地处理负载,但是其成本太高。软件负载均衡技术主要有两种解决方案:服务器负载均衡技术和链路负载均衡技术。
方案一:服务器负载均衡技术。通过实时监控网络中服务器的负载信息,从负载因子中选取N个参考值(如CPU、内存、响应时间等),将这些负载参考值作为服务器负载状况的依据,通过设定的公式计算出所有服务器的负载状况,然后将请求转发给负载小的服务器处理。但是此方案只能解决网络中服务器的负载均衡,对于整个网络效果不明显。
方案二:链路负载均衡技术。链路负载均衡是通过使用最短路径算法从网络中选取一条负载最小,时间最短的网络路径作为最优路径。但是最短路径的选择与算法的优劣有很大的关系,并且不能很好的解决整个网络的负载均衡。
发明内容
本发明所要解决的技术问题是提供一种基于SDN的负载均衡系统,实现可靠地高性能的负载均衡。
本发明解决其技术问题所采用的技术方案是:提供一种基于SDN的负载均衡系统,包括分层的网络构架,每层网络构架中设置有多个控制器,同层网络的控制器处于相同的地位,每个控制器即是超级控制器,又是普通控制器;所述控制器包括:信息采集模块,用于采集网络相关信息;信息存储模块,用于将采集到的网络相关信息进行保存,以及存储控制器和服务器的信息;信息决策模块,用于实现链路的负载均衡、服务器负载均衡和控制器负载均衡。
所述信息采集模块包括采集控制器信息模块、采集服务器信息模块、采集链路信息模块和采集网络拓扑模块;所述采集控制器信息模块用于采集同一网络层上的控制器的负载状况;所述采集服务器信息模块用于采集同层网络下的服务器的负载状况;所述采集链路信息模块用于采集同层网络下的各条网络的带宽使用信息;所述采集网络拓扑模块用于采集同层网络下的拓扑结构信息。
所述信息决策模块包括链路决策模块、服务器决策模块和控制器决策模块;所述链路决策模块根据信息存储模块中存储的信息利用最优路径算法计算出一条网络最优路径,实现链路的负载均衡;所述服务器决策模块根据信息存储模块中存储的服务器信息计算出服务器负载状况低的服务器进行信息处理,实现服务器负载均衡;所述控制器决策模块在某个控制器的负载超过了设定的阈值时,根据信息存储模块中存储的同层网络中的控制器的负载状况选择一个控制器负载低的控制器,将过载的请求信息分配给负载低的控制器,实现控制器负载均衡。
所述链路决策模块将所述信息存储模块存储的链路带宽信息与设定的带宽使用阈值比较,当带宽信息超过带宽使用阈值时通过计算出每条链路的权值,再通过Dijkstra算法找出链路的最优路径,其中,W为每条链路的权值、∑bit(e)代表单位时间内的链路上的字节数、BandWidth(e)为存储的链路带宽信息。
所述服务器决策模块根据信息存储模块中存储的服务器信息,通过C(i)=r1×P(i)+r2×M(i)+r3×T(i)获取静态负载信息,通过LS(i)=k1×LC(i)+k2×LM(i)+k3×LN(i)获取动态反馈负载信息,将静态负载信息作为静态影响因子,将动态反馈负载信息作为动态影响因子,根据L(i)=LS(i)/C(i)得到服务器的综合负载,并选择一个综合负载最低的服务器响应请求信息,其中,C(i)为第i台服务器带负载的能力,P(i)为第i台服务器含有的CPU的个数,M(i)为第i台服务器内存的大小,T(i)为第i台服务器处理单个数据请求的响应时间,LS(i)为第i台服务器的动态负载值,LC(i)表示第i台服务器的CPU使用率,LM(i)表示第i台服务器的内存使用率,LN(i)为第i台服务器的连接请求数占所有请求数目的比值,r1、r2、r3、k1、k2、k3为权值,且r1+r2+r3=1,k1+k2+k3=1。
所述控制器决策模块通过Cl(i)=w1×N(i)+w2×R(i)计算控制器的负载状况,其中,Cl(i)表示第i个控制器的负载状况,N(i)表示控制器管理的流表数量,R(i)表示控制器发送消息给交换机的信息往返时间,w1、w2为权值,且w1+w2=1。
有益效果
由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明可以将链路负载均衡,服务器负载均衡以及控制器的负载均衡结合起来,实现整个网络的负载均衡。本发明采用分层的网络结构,每层的控制器只需要管理本层的网络,不需要知道下一层的网络结构,大大降低的控制器的工作量。本发明的控制器同时具有普通控制器和超级控制器的功能,不会出现主控制器故障导致整个网络失去控制器负载均衡的功能。
附图说明
图1是本发明提出的控制器结构框图;
图2是本发明提出的多层网络拓扑示意图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明的实施方式涉及一种基于SDN的负载均衡系统,包括分层的网络构架,每层网络构架中设置有多个控制器,同层网络的控制器处于相同的地位,每个控制器即是超级控制器,又是普通控制器。
如图1所示,所述控制器包括信息采集模块、信息存储模块、信息决策模块,其中,信息采集模块、信息存储模块、信息决策模块都运行在控制器上。
所述信息采集模块包括采集同一网络层上的控制器的负载状况的采集控制器信息模块,采集同层网络下的服务器负载状况的采集服务器信息模块,采集同层网络下的各条网络的带宽使用信息的采集链路信息模块,采集本层网络下的拓扑结构信息的采集网络拓扑模块。
所述信息存储模块主要用于存储信息采集模块采集回来的四部分信息进行存储,对于大型的网络这里需要用到Mysql数据库对信息进行存储。
所述信息决策模块包括:链路决策模块,通过该部分功能利用信息存储模块中存储的信息,利用最优路径算法计算出一条网络最优路径,实现链路的负载均衡。服务器决策模块,通过该部分功能从信息存储模块中计算出服务器负载状况低的服务器进行信息处理,实现负载均衡。控制器决策模块,预先给控制器设定一个阈值,当某个控制器的负载超过了设定的阈值时,该部分功能利用信息存储模块中存储的同层网络中的控制器的负载状况,选择一个控制器负载低的控制器,将过载的请求信息分配给负载低的控制器。
所述信息采集模块在控制器运行后会定时的去调用采集控制器信息模块、采集服务器信息模块、采集链路信息模块和采集网络拓扑模块去采集信息,采集后的信息会实时的存储在信息存储模块中,同时会将信息存储模块中原有的信息刷新掉,更新成最新的信息。
所述信息存储模块会在数据库中将采集控制器信息模块、采集服务器信息模块、采集链路信息模块和采集网络拓扑模块采集的信息存储的关系型数据库Mysql中,用于信息决策模块进行处理信息。
所述信息决策模块中的服务器决策模块会定时从信息存储模块中获取采集服务器信息模块采集的信息,得到最小负载服务器,链路决策模块会从信息存储模块中获取采集链路信息模块采集的信息,得到最优路径,通过服务器决策模块和链路决策模块的结果,控制器可以实现链路负载均衡和服务器负载均衡。控制器决策模块会定时从信息存储模块中获取采集控制器信息模块采集的信息,选择最小负载控制器。
下面通过一个多层的网络拓扑图来说明整个网络系统的工作状况进行介绍。
如图2所示,在这个多层网络中,每一层交换机代表一层网络,每层的控制器只负责本层网络的拓扑。当控制器连接到网络之后,每层的控制器开始定时的采集,信息采集模块会将采集的本层网络中的链路的带宽情况进行采集,我们用e代表一条链路,用BandWidth(e)代表链路的带宽值。采集本层网络中的服务器的信息(包括CPU、内存、响应时间等)。采集本层网络中的所有控制器的负载使用情况(包括流量表条目数和消息往返时间)。采集本层网络的拓扑结构图。
信息存储模块会先清除掉数据库里存储的上一次采集的数据信息,然后将采集模块采集的信息入库。信息入库完成后,信息存储模块会立即通知信息决策模块进行信息决策。
信息决策模块获取信息存储模块存储的链路的带宽BandWidth(e)信息后,会与设定的带宽使用阈值(CT1)进行比较,当超过该阈值之后会通过公式(1)计算出每条链路的权值然后通过Dijkstra算法找出链路的最优路径。
其中,∑bit(e)代表单位时间内的链路上的字节数。
信息决策模块获取存储模块的服务器的信息(包括CPU、内存、响应时间等),通过服务器负载均衡算法获取静态负载信息和动态反馈负载信息,分别作为静态影响因子和动态影响因子。
(1)静态负载信息
由于影响服务器性能的标准主要是CPU个数,内存大小,服务器对数据的请求的响应时间。假设第i台服务器的带负载能力用C(i)来表示,其中P(i)为第i台服务器含有的CPU的个数,M(i)为第i台服务器内存的大小,T(i)为第i台服务器处理单个数据请求的响应时间,,r1、r2、r3为权值,且r1+r2+r3=1,则
C(i)=r1×P(i)+r2×M(i)+r3×T(i)
(2)动态反馈负载信息
主要是采集每台服务器的内存使用率和CPU使用率,并统计每台服务器的连接请求数。LC(i)表示第i台服务器的CPU使用率,LM(i)表示第i台的内存使用率,LN(i)为第i台服务器的连接请求数占所有请求数目的比值,LS(i)为计算得出的第i台服务器的动态负载值,k1、k2、k3为权值,且k1+k2+k3=1。
LS(i)=k1×LC(i)+k2×LM(i)+k3×LN(i)
(3)综合负载的计算
第i台服务器的综合负载L(i)的计算方法如下:
L(i)=LS(i)/C(i)
LS(i)为当前系统各项资源的占用状况,即服务器的动态反馈负载信息,C(i)为当前系统的最大处理能力,即服务器的静态负载信息。通过L(i)选择一个负载最低的服务器响应请求信息。
信息决策模块的控制器决策模块会让每个控制器会收集自己的信息(包括流量表条目数和往返时间),用N(i)表示控制器管理的流表数量,数量越大控制器的负载越大,用R(i)表示控制器发送消息给交换机的信息往返时间,时间越长说明控制器负载越大。利用公式:
Cl(i)=w1×N(i)+w2×R(i)
Cl(i)表示第i个控制器的负载状况,w1、w2为权值,且w1+w2=1。当控制器的负载超过了设定的阈值CT2时,此控制器就会转变成超级控制器,决策模块会从数据库中取出其他控制器的信息计算出负载状况,选择一个负载小的控制器,进行负载迁移,实现控制器均衡。
不难发现,本发明可以将链路负载均衡、服务器负载均衡以及控制器负载均衡结合起来,实现整个网络的负载均衡。本发明采用分层的网络结构,每层的控制器只需要管理本层的网络,不需要知道下一层的网络结构,大大降低的控制器的工作量。本发明的控制器同时具有普通控制器和超级控制器的功能,不会出现主控制器故障导致整个网络失去控制器负载均衡的功能。

Claims (6)

1.一种基于SDN的负载均衡系统,包括分层的网络构架,其特征在于,每层网络构架中设置有多个控制器,同层网络的控制器处于相同的地位,每个控制器即是超级控制器,又是普通控制器;所述控制器包括:信息采集模块,用于采集网络相关信息;信息存储模块,用于将采集到的网络相关信息进行保存,以及存储控制器和服务器的信息;信息决策模块,用于实现链路的负载均衡、服务器负载均衡和控制器负载均衡。
2.根据权利要求1所述的基于SDN的负载均衡系统,其特征在于,所述信息采集模块包括采集控制器信息模块、采集服务器信息模块、采集链路信息模块和采集网络拓扑模块;所述采集控制器信息模块用于采集同一网络层上的控制器的负载状况;所述采集服务器信息模块用于采集同层网络下的服务器的负载状况;所述采集链路信息模块用于采集同层网络下的各条网络的带宽使用信息;所述采集网络拓扑模块用于采集同层网络下的拓扑结构信息。
3.根据权利要求1所述的基于SDN的负载均衡系统,其特征在于,所述信息决策模块包括链路决策模块、服务器决策模块和控制器决策模块;所述链路决策模块根据信息存储模块中存储的信息利用最优路径算法计算出一条网络最优路径,实现链路的负载均衡;所述服务器决策模块根据信息存储模块中存储的服务器信息计算出服务器负载状况低的服务器进行信息处理,实现服务器负载均衡;所述控制器决策模块在某个控制器的负载超过了设定的阈值时,根据信息存储模块中存储的同层网络中的控制器的负载状况选择一个控制器负载低的控制器,将过载的请求信息分配给负载低的控制器,实现控制器负载均衡。
4.根据权利要求3所述的基于SDN的负载均衡系统,其特征在于,所述链路决策模块将所述信息存储模块存储的链路带宽信息与设定的带宽使用阈值比较,当带宽信息超过带宽使用阈值时通过计算出每条链路的权值,再通过Dijkstra算法找出链路的最优路径,其中,W为每条链路的权值、∑bit(e)代表单位时间内的链路上的字节数、BandWidth(e)为存储的链路带宽信息。
5.根据权利要求3所述的基于SDN的负载均衡系统,其特征在于,所述服务器决策模块根据信息存储模块中存储的服务器信息,通过C(i)=r1×P(i)+r2×M(i)+r3×T(i)获取静态负载信息,通过LS(i)=k1×LC(i)+k2×LM(i)+k3×LN(i)获取动态反馈负载信息,将静态负载信息作为静态影响因子,将动态反馈负载信息作为动态影响因子,根据L(i)=LS(i)/C(i)得到服务器的综合负载,并选择一个综合负载最低的服务器响应请求信息,其中,C(i)为第i台服务器带负载的能力,P(i)为第i台服务器含有的CPU的个数,M(i)为第i台服务器内存的大小,T(i)为第i台服务器处理单个数据请求的响应时间,LS(i)为第i台服务器的动态负载值,LC(i)表示第i台服务器的CPU使用率,LM(i)表示第i台服务器的内存使用率,LN(i)为第i台服务器的连接请求数占所有请求数目的比值,r1、r2、r3、k1、k2、k3为权值,且r1+r2+r3=1,k1+k2+k3=1。
6.根据权利要求3所述的基于SDN的负载均衡系统,其特征在于,所述控制器决策模块通过Cl(i)=w1×N(i)+w2×R(i)计算控制器的负载状况,其中,Cl(i)表示第i个控制器的负载状况,N(i)表示控制器管理的流表数量,R(i)表示控制器发送消息给交换机的信息往返时间,w1、w2为权值,且w1+w2=1。
CN201810048611.1A 2018-01-18 2018-01-18 一种基于sdn的负载均衡系统 Pending CN108282523A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810048611.1A CN108282523A (zh) 2018-01-18 2018-01-18 一种基于sdn的负载均衡系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810048611.1A CN108282523A (zh) 2018-01-18 2018-01-18 一种基于sdn的负载均衡系统

Publications (1)

Publication Number Publication Date
CN108282523A true CN108282523A (zh) 2018-07-13

Family

ID=62804075

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810048611.1A Pending CN108282523A (zh) 2018-01-18 2018-01-18 一种基于sdn的负载均衡系统

Country Status (1)

Country Link
CN (1) CN108282523A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995864A (zh) * 2018-12-18 2019-07-09 天津城建大学 一种基于模糊逻辑的sdn负载均衡方法
CN111198764A (zh) * 2019-12-31 2020-05-26 江苏省未来网络创新研究院 一种基于sdn的负载均衡实现系统及方法
CN111343290A (zh) * 2020-05-22 2020-06-26 南京江北新区科技投资集团有限公司 一种具备负载均衡功能的云平台系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105024939A (zh) * 2015-06-29 2015-11-04 南京邮电大学 一种基于OpenFlow的SDN网络环境下分布式控制器系统
CN106657416A (zh) * 2017-03-02 2017-05-10 北京邮电大学 一种控制器负载均衡方法及装置
CN107370676A (zh) * 2017-08-03 2017-11-21 中山大学 一种融合QoS及负载均衡需求的路由选择方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105024939A (zh) * 2015-06-29 2015-11-04 南京邮电大学 一种基于OpenFlow的SDN网络环境下分布式控制器系统
CN106657416A (zh) * 2017-03-02 2017-05-10 北京邮电大学 一种控制器负载均衡方法及装置
CN107370676A (zh) * 2017-08-03 2017-11-21 中山大学 一种融合QoS及负载均衡需求的路由选择方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
朱国晖: "基于SDN控制器的负载均衡策略", 《西安邮电大学学报》 *
陶守新: "基于OpenFlow/SDN的负载均衡技术的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995864A (zh) * 2018-12-18 2019-07-09 天津城建大学 一种基于模糊逻辑的sdn负载均衡方法
CN111198764A (zh) * 2019-12-31 2020-05-26 江苏省未来网络创新研究院 一种基于sdn的负载均衡实现系统及方法
CN111198764B (zh) * 2019-12-31 2024-04-26 江苏省未来网络创新研究院 一种基于sdn的负载均衡实现系统及方法
CN111343290A (zh) * 2020-05-22 2020-06-26 南京江北新区科技投资集团有限公司 一种具备负载均衡功能的云平台系统

Similar Documents

Publication Publication Date Title
CN105069025B (zh) 一种大数据的智能聚合可视化与管控系统
CN103761309B (zh) 一种运营数据处理方法及系统
CN104298550B (zh) 一种面向Hadoop的动态调度方法
CN105677836A (zh) 一种同时支持离线数据和实时在线数据的大数据处理解决系统
CN108282523A (zh) 一种基于sdn的负载均衡系统
CN106027328A (zh) 一种基于应用容器部署的集群监控的方法及系统
CN103412875A (zh) 基于ahp决策模型的cdn策略调整方法
Zhang et al. A data set accuracy weighted random forest algorithm for IoT fault detection based on edge computing and blockchain
CN103841129B (zh) 云计算的资源信息采集服务器和客户端、信息处理方法
CN106817708B (zh) 一种巡检簇构建方法及装置
CN106095921B (zh) 面向海量数据流的实时并行分类方法
CN106203956A (zh) 基于云计算的项目管理系统
CN104063560B (zh) 基于云计算平台的调度系统及调度方法
CN106131141B (zh) 一种分布式集群负载均衡并行调度系统及方法
CN107147734A (zh) 一种基于两级转发的网络流量线程级动态负载均衡方法及系统
CN108390793A (zh) 一种分析系统稳定性的方法及装置
CN106294511A (zh) 一种Hadoop分布式文件系统的存储方法及装置
CN107070744A (zh) 服务器监控方法
CN107679719A (zh) 一种复杂电网电能质量知识云监测与评价系统和方法
CN110493146A (zh) 一种边缘智能网络感知平台及控制方法
CN109347657A (zh) Sdn模式下支撑科技业务的虚拟数据域构建方法
CN108123987A (zh) 从云计算系统中确定主调度器的方法及装置
CN108574729A (zh) 一种智能变电站云系统
Yan et al. Edge server deployment for health monitoring with reinforcement learning in internet of medical things
Klement et al. Using SOM in the performance monitoring of the emergency call-taking system

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180713