负载均衡的方法及装置的制造方法

文档序号:9814289阅读:308来源:国知局
负载均衡的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及通信领域,具体而言,涉及一种负载均衡的方法及装置。
【背景技术】
[000引软件定义网络(Software Defined Networks,简称为SDN)技术最初是由美国斯坦 福大学clean slate研究组提出的一种新型网络创新架构。其核必技术化enflow(简称为 0巧协议通过将网络设备控制面与数据面分离开来的方式,实现了网络流量的灵活控制,为 核必网络及应用的创新提供了良好的平台。
[0003] SDN网络由H部分组成;包括SDN控制器、安全通道和SDN交换机。SDN控制器是 根据化enFlow协议设计的网络控制软件,用于管理数据流、配置网络设备、制定流表(Flow T油Ie)、承担网络业务与网络设备间的通讯。一个域中可W有多个控制器,但一般只有一 个控制器处在控制、管理状态。SDN交换机由SDN控制器管控,保存有控制器制定的流表, 并通过查询流表表项来决定对报文的处理方式,包括转发、缓存、提交控制器或丢弃等。 化enFlow协议下的安全通道用来连接交换机和控制器,W供二者进行通信。
[0004] 随着SDN技术的发展,SDN控制器集群技术也得到了越来越多的应用。在SDN网 络多控制器架构下,各个控制器控制一定数量的交换机,如果某个控制器管控的交换机上 报的packet-in报文过多或者下发的流表数量及与交换机的OF交互信息量过大,将会导致 该控制器在某时刻产生较大的控制流,送种情况将会使得该控制器成为整个控制器集群处 理网络流量的瓶颈,影响整个控制器集群的性能。
[0005] 在网络流量波动较大时,某个控制器下的交换机会上报大量的packet-in报文 (OpenFlow协议的一种专用报文,专口用来将未能匹配上的流量,或者指定匹配的流量,发 送给控制器)或者其它OF的penFlow)消息,控制器也可能会下发大量流表,而其他的控制 器只接收到少量的packet-in报文和其它OF消息,此时该控制器下发的流表数量也不多, 送就可能导致某些控制器控制过载,而某些控制器远远未达到控制负载饱和状态。为了缓 解送种情况的发生,需要时刻对各个控制器管控的交换机进行调整,时刻实现控制器的负 载均衡,提高整个控制器集群的控制性能。
[0006] 相关技术仅仅提出了在多个控制器间增加共享存储区域来实现控制器间通信,并 未实现控制器负载均衡,然而当网络流量波动较大时,出现控制器负载不均的问题尚未得 到解决。
[0007] 针对相关技术中集群SDN控制器负载不均的问题,目前尚未提出有效的解决方 案。

【发明内容】

[0008] 本发明提供了一种负载均衡的方法及装置,W至少解决相关技术中集群SDN控制 器负载不均的问题。
[0009] 根据本发明的一个实施例,提供了一种负载均衡的方法,包括:收集集群软件定义 网络SDN控制器的每个SDN控制器中管控的多个交换机的表征参数的数据;根据所述多个 交换机的表征参数的数据,预估所述多个交换机的所述表征参数在下一时刻的数据;根据 预估的所述多个交换机的所述表征参数在下一时刻的数据,对所述集群SDN控制器的各个 SDN控制器进行负载均衡。
[0010] 本实施例中,所述表征参数包括W下至少之一;packet-in报文、流表数和其他OF 消息。
[0011] 本实施例中,预估所述多个交换机的所述表征参数在下一时刻的数据包括:使用 最小二乘法预估所述多个交换机的所述表征参数在下一时刻的数据。
[0012] 本实施例中,使用最小二乘法预估所述多个交换机的所述表征参数在下一时刻的 数据包括:对每个交换机,使用如下最小二乘法数学模型计算得出所述每个交换机的所述 表征参数在下一时刻的数据;y = a +目*X,其中X为所述表征参数在当前时刻的数据,y为 所述表征参数在下一时刻的数据;参数a和目值按照如下公式计算:
[0014] 其中n为当前统计周期中的时刻个数,X为时刻对应的时间戳,Y为每个交换机的 所述表征参数的值。
[0015] 本实施例中,所述表征参数的数据包括表征参数的样本历史数据W及所述表征参 数在当前统计周期中各个时刻的数据;根据所述多个交换机的表征参数的数据,预估所述 多个交换机的所述表征参数在下一时刻的数据包括:根据所述多个交换机的表征参数的样 本历史数据W及所述表征参数在当前统计周期中各个时刻的数据,预估所述多个交换机的 所述表征参数在下一时刻的数据。
[0016] 本实施例中,预估所述多个交换机的所述表征参数在下一时刻的数据包括:根据 所述表征参数在当前统计周期中各个时刻的数据,预估所述多个交换机的所述表征参数在 下一时刻的数据;将所述表征参数的样本历史数据与预估的所述表征参数在下一时刻的数 据求和取平均。
[0017] 本实施例中,根据预估的所述多个交换机的所述表征参数在下一时刻的数据,对 所述集群SDN控制器的各个SDN控制器进行负载均衡包括;根据预估的所述多个交换机的 所述表征参数在下一时刻的数据,计算每个控制器对于所述表征参数的预估值与其对应的 历史最大值的比值P? :计算整个控制器集群对于所述表征参数的总预估值与总最大值的 比值Pyh,:将Pyhi与P?,进行比较,并根据比较的结果调整控制器管控的交换机。
[001引本实施例中,Pyhi通过W下公式计算:
其中n为各个控制器管控的交换机个数,为控制器管理 的各个交换机对于所述表征参数的预估值,Hiym。、为控制器管理的各个交换机对于所述表征 参数的历史最大值;和/或,PYHy通过W下公式计算:
其中m表示控制器个数,n表示各个控制器管控的交换机个数, Ym。、,为控制器管理的各个交换机对于所述表征参数的预估值,Hum。、为管理的各个交换机控 制器对于所述表征参数的历史最大值。
[0021] 本实施例中,将P?与P?、进行比较,并根据比较的结果调整控制器管控的交换机 包括:对多个不同的表征参数设置比例系数,其中,所述比例系数用于表示各个表征参数在 比较过程中所占的比重。
[0022] 本实施例中,将P?与P?、进行比较,并根据比较的结果调整控制器管控的交换机 包括;对于各个控制器,当其Pyhi大于PYHy时,计算应调出的交换机,并根据计算结果调出交 换机;和/或,对于各个控制器,当其P?小于P?,时,计算应调入的交换机,并根据计算结 果调入交换机。
[0023] 本实施例中,计算应调出的交换机,并根据计算结果调出交换机包括:对于控制器 计算;皿,设为ByMu。,并根据之前设置的比例系数得到Bmiw,其中所述比例 1 系数用于表示多个表征参数在比较过程中所占的比重;根据对每个交换机的预估数据得出 Bmeyt = Ym。、,;根据町。。、1的值对该控制器管控的交换机升序排列,获得交换机队列;从所述 交换机队列中自上而下选择交换机,并累计计算要移出交换机的总和,若不大于Bmu。 则继续选择交换机;将选择的待调动的交换机加入到待调动交换机池,其中所述待调动交 换机池用于存储待调动的交换机信息。
[0024] 本实施例中,计算应入的交换机,并根据计算结果调入交换机包括;对于控制器计 算Myma* * PyH、'…IW,设为Byuu。,并根据之前设置的比例系数得到Buu。,其中所述比例 1 系数用于表示多个表征参数在比较过程中所占的比重;根据Buu。的值对控制器做降序排 列,然后依次根据控制器负载调入交换机。
[00巧]本实施例中,依次根据控制器负载调入交换机包括;根据待调动交换机池中各个 待调动交换机的BmMt的值对交换机做降序排列,获得交换机队列,其中所述待调动交换机 池用于存储待调动的交换机信息;针对每一个控制器,从上述队列中自上而下选择交换机, 分别将与Buu。进行比较,若则选择下一个交换机,若则将待调 动交换机池中与送个交换机对应的元素的转入控制器编号设为本控制器编号,同时Buu。= Bisi,然后检查下一个交换机,直至最后一个交换机。
[0026] 根据本发明的另一实施例,提供了一种负载均衡的装置,包括:收集模块,用于收 集集群软件定义网络SDN控制器的每个SDN控制器中管控的多个交换机的表征参数的数 据;预估模块,用于根据所述多个交换机的表征参数的数据,预估所述多个交换机的所述表 征参数在下一时刻的数据;负载均衡模块,用于根据预估的所述多个交换机的所述表征参 数在下一时刻的数据,对所述集群SDN控制器的各个SDN控制器进行负载均衡。
[0027] 通过本发明,采用收集集群软件定义网络SDN控制器的每个SDN控制器中管控的 多个交换机的表征参数的数据;根据所述多个交换机的表征参数的数据,预估所述多个交 换机的所述表征参数在下一时刻的数据;根据预估的所述多个交换机的所述表征参数在下 一时刻的数据,对所述集群SDN控制器的各个SDN控制器进行负载均衡的方式,解决了相关 技术中集群SDN控制器负载不均的问题,通过预估的数据进行负载均衡,该方式可实现性 强,提升了集群SDN控制器的资源使用效率。
【附图说明】
[0028] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0029] 图1是根据本发明实施例的负载均衡的方法的流程图;
[0030] 图2是根据本发明实施例的负载均衡的装置的结构款图;
[0031] 图3是根据本发明优选实施例的SDN控制器的结构框图;
[0032] 图4是根据本发明优选实施例的将交换机调入控制器的流程图;
[0033] 图5是根据本发明优选实施例的集群控制器负载均衡调度流程图;
[0034] 图6是根据本发明优选实施例1的域内控制器及交换机分配示意图;
[0035] 图7是根据本发明优选实施例3的域内层叠控制器及交换机分配示意图。
【具体实施方式】
[0036] 下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可W相互组合。
[0037] 相关技术仅仅提出了在多个控制器间增加共享存储区域来实现控制器间通信,并 未实现控制器负载均衡,然而当网络流量波动较大时,出现控制器负载不均的问题尚未得 到解决,本实施例通过网络流量预测和调度各个控制器管控交换机的方法解决了该问题。
[0038] 在本实施例中,提供了一种负载均衡的方法,图1是根据本发明实施例的负载均 衡的方法的流程图,如图1所示,该方法包括如下步骤:
[003引步骤S102,收集集群软件定义网络(SDN)控制器的每个SDN控制器中管控的多个 交换机的表征参数的数据;
[0040] 步骤S104,根据所述多个交换机的表征参数的数据,预估所述多个交换机的所述 表征参数在下一时刻的数据;
[0041] 步骤S106,根据预估的所述多个交换机的所述表征参数在下一时刻的数据,对所 述集群SDN控制器的各个SDN控制器进行负载均衡。
[0042] 本实施例通过上述步骤,对每个SDN控制器中管控的多个交换机的表征参数的数 据进行收集,并根据收集的数据对下一时刻的数据进行预估,然后根据预估的表征参数下 一时刻的数据对各个SDN控制器进行负载均衡,从而实现了集群SDN控制器的负载均衡,解 决了相关技术中集群SDN控制器负载不均的问题,通过预估的数据进行负载均衡,该方式 可实现性强,提升了集群SDN控制器的资源使用效率。
[0043] 本实施例中,所述表征参数包括W下至少之一;packet-in报文、流表数和其他OF 消息。
[0044] 本实施例中,预估所述多个交换机的所述表征参数在下一时刻的数据包括:使用 最小二乘法预估所述多个交换机的所述表征参数在下一时刻的数据。
[0045] 本实施例中,使用最小二乘法预估所述多个交换机的所述表征参数在下一时刻的 数据包括:对每个交换机,使用如下最小二乘法数学模型计算得出所述每个交换机的所述 表征参数在下一时刻的数据;y = a +目*X,其中X为所述表征参数在当前时刻的数据,y为 所述表征参数在下一时刻的数据;参数a和目值按照如下公式计算:
[0047] 其中n为当前统计周期中的时刻个数,X为时刻对应的时间戳,Y为每个交换机的 所述表征参数的值。
[0048] 本实施例中,所述表征参数的数据包括表征参数的样本历史数据W及所述表征参 数在当前统计周期中各个时刻的数据;根据所述多个交换机的表征参数的数据,预估所述 多个交换机的所述表征参数在下一时刻的数据包括:根据所述多个交换机的表征参数的样 本历史数据W及所述表征参数在当前统计周期中各个时刻的数据,预
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1