软件定义网络架构调度方法、系统、终端设备及存储介质与流程

文档序号:26948650发布日期:2021-10-15 23:58阅读:140来源:国知局
软件定义网络架构调度方法、系统、终端设备及存储介质与流程

1.本公开涉及软件定义网络技术领域,尤其涉及一种软件定义网络架构调度方法、一种软件定义网络架构调度系统、一种终端设备以及一种计算机可读存储介质。


背景技术:

2.sdn(software defined network,软件定义网络)是一种将网络控制功能与转发功能分离、实现控制可编程的新兴网络架构,这种架构将从控制层从网络设备转移到外部计算设备,使得底层的基础设施对于应用和网络服务而言是透明的、抽象的,网络可被视为一个逻辑的或虚拟的实体。在实际应用中,随着sdn网络的规模越来越大,现有的基于整体sdn架构的负载均衡算法的计算量和计算频率逐渐增加,同时会出现大量的全局调度,反而容易导致整个网络的性能下降。


技术实现要素:

3.本公开提供了一种软件定义网络架构调度方法、系统、终端设备及计算机可读存储介质,对过载的控制器进行局部调度,实现sdn架构的负载均衡,同时避免网络性能的下降,以至少解决上述技术问题。
4.根据本公开实施例的一方面,提供一种软件定义网络架构调度方法,包括:
5.分别为网络中每台控制器设定关于交换机迁移的控制器邻居集,所述控制器邻居集包括若干第一备选控制器;
6.每隔预设时间段分别检测网络中每台控制器是否出现过载情况;
7.若检测到某台控制器出现过载情况,则从所述控制器相连的所有交换机中选择出待迁移交换机,以及从所述控制器的控制器邻居集的所述若干第一备选控制器中选择出所述待迁移交换机的目标控制器,使所述控制器将所述待迁移交换机迁移至所述目标控制器。
8.在一种实施方式中,所述每隔预设时间段分别检测网络中每台控制器是否出现过载情况,包括:
9.每隔预设时间段分别检测网络中每台控制器相连的所有交换机的网络请求流量与其链路承载量的比值之和是否大于第一预设阈值,若是,则判定所述控制器出现过载情况。
10.在一种实施方式中,在检测到某台控制器出现过载情况之后,以及在从所述控制器相连的所有交换机中选择出待迁移交换机之前,还包括:
11.建立所述控制器的临时调度组;
12.从所述控制器的控制器邻居集中选择出当前没有加入到其它控制器的临时调度组的所有第一备选控制器,作为第二备选控制器;
13.分别计算所述所有第二备选控制器各自相连的所有交换机的网络请求流量与其链路承载量的比值之和;
14.从所述所有第二备选控制器中选择出比值之和大于第二预设阈值的所有第二备选控制器,作为第三备选控制器;以及,将所有第三备选控制器加入所述控制器的临时调度组;
15.所述从所述控制器的控制器邻居集中选择出所述待迁移交换机的目标控制器,包括:
16.从所述控制器的临时调度组中选择出所述待迁移交换机的目标控制器。
17.在一种实施方式中,所述从所述控制器相连的所有交换机中选择出待迁移交换机,以及从所述控制器的控制器邻居集的所述若干第一备选控制器中选择出所述待迁移交换机的目标控制器,包括:
18.分别计算所述控制器相连的所有交换机各自与所述若干第一备选控制器之间的收益函数;以及,
19.基于所述控制器相连的所有交换机各自分别与所述若干第一备选控制器之间的收益函数从所述控制器相连的所有交换机中选择出待迁移交换机,并从所述若干第一备选控制器中选择出所述待迁移交换机的目标控制器。
20.在一种实施方式中,所述分别计算所述控制器相连的所有交换机各自与所述若干第一备选控制器之间的收益函数,包括:
21.计算出所述控制器相连的所有交换机分别迁移至所述若干第一备选控制器后,所述控制器的负载情况及所述若干第一备选控制器各自的负载情况;以及,
22.基于所述控制器的负载情况及所述若干第一备选控制器各自的负载情况分别计算所述控制器相连的所有交换机各自与所述若干第一备选控制器之间的收益函数。
23.6.根据权利要求5所述的方法,其特征在于,所述分别计算所述控制器相连的所有交换机各自与所述若干第一备选控制器之间的收益函数,根据以下公式得到:
24.s
jk
=α*l
a
+β*l
k
+γ*d
jk
25.式中,s
jk
表示所述控制器a相连的第j台交换机与第k台第一备选控制器之间的收益函数,l
a
表示第j台交换机迁移至第k台第一备选控制器后所述控制器a的负载情况,l
k
表示第j台交换机迁移至第k台第一备选控制器后第k台第一备选控制器的负载情况,d
jk
表示第j台交换机迁移到第k台第一备选控制器的延迟,α,β,γ为调整因子,且α+β+γ=1。
26.根据本公开实施例的另一方面,提供一种软件定义网络架构调度系统,包括:
27.选择模块,其设置为分别为网络中每台控制器设定关于交换机迁移的控制器邻居集,所述控制器邻居集包括若干第一备选控制器;
28.检测模块,其设置为每隔预设时间段分别检测网络中每台控制器是否出现过载情况;
29.迁移调度模块,其设置为在所述检测模块检测到某台控制器出现过载情况时,从所述控制器相连的所有交换机中选择出待迁移交换机,以及从所述控制器的控制器邻居集的所述若干第一备选控制器中选择出所述待迁移交换机的目标控制器,使所述网络控制器将所述待迁移交换机迁移至所述目标控制器。
30.在一种实施方式中,所述检测模块具体设置为,每隔预设时间段分别检测网络中每台控制器相连的所有交换机的网络请求流量与其链路承载量的比值之和是否大于第一预设阈值,若是,则判定所述控制器出现过载情况。
31.根据本公开实施例的又一方面,提供一种终端设备,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行所述的软件定义网络架构调度方法。
32.根据本公开实施例的再一方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行所述的软件定义网络架构调度方法。
33.本公开的实施例提供的技术方案可以包括以下有益效果:
34.本公开实施例提供的
35.本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
36.附图用来提供对本公开技术方案的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
37.图1为本公开实施例提供的一种软件定义网络架构调度方法的流程示意图;
38.图2为软件定义网络架构的结构示意图;
39.图3为本公开实施例提供的另一种软件定义网络架构调度方法的流程示意图;
40.图4为本公开实施例提供的又一种软件定义网络架构调度方法的流程示意图;
41.图5为本公开实施例提供的一种软件定义网络架构调度系统的结构示意图;
42.图6为本公开实施例提供一种终端设备的结构示意图。
具体实施方式
43.为使本公开实施例的目的、技术方案和优点更加清楚,以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
44.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序;并且,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互任意组合。
45.其中,在本公开实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
46.在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本公开的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
47.为解决上述技术问题,根请参照图1,图1为本公开实施例提供的一种软件定义网络架构调度方法的流程示意图,所述方法包括步骤s101

s103。
48.在步骤s101中,分别为网络中每台控制器设定关于交换机迁移的控制器邻居集,所述控制器邻居集包括若干第一备选控制器。
49.在sdn网络中,一台控制器通常连接多个交换机(switch),交换机是一种在通信系统中完成信息交换功能的设备,当控制器处理的交换数据过多时,势必出现过载的情况,本实施例以迁移交换机的方式实现网络中控制器的负载均衡,具体地,通过预先为网络中的控制器选择出用于迁移其相连交换机的控制器邻居集,在一种实施方式中,筛选条件可以为对于控制器a其他控制器管理的交换机至少有一个交换机与a管理的交换机直接相连,则该控制器为控制器a的邻居。
50.可以理解的是,sdn架构采用了集中式的控制平面和分布式的转发平面,两个平面相互分离,控制平面利用控制

转发通信接口对转发平面上的网络设备进行集中式控制,并提供灵活的可编程能力,具备以上特点的网络架构都可以被认为是一种广义的sdn。在sdn架构中,控制平面通过控制

转发通信接口对网络设备进行集中控制,这部分控制信令的流量发生在控制器与网络设备之间,独立于终端间通信产生的数据流量,网络设备通过接收控制信令生成转发表,并据此决定数据流量的处理,不再需要使用复杂的分布式网络协议来进行数据转发,如图2所示。
51.在步骤s102中,每隔预设时间段分别检测网络中每台控制器是否出现过载情况,若检测到某台控制器出现过载情况,则执行步骤s103,否则结束流程,sdn按照当前的架构继续运行,并等下个预设时段检测各控制器的过载情况,
52.其中,过载情况即控制器的负载情况超出了其能承受的最大负载,其中负载情况即为控制器所有相连交换机的网络请求和链路最大承载量的比值。
53.在一种实施方式中,所述步骤s102具体为,每隔预设时间段分别检测网络中每台控制器相连的所有交换机的网络请求流量与其链路承载量的比值是否大于第一预设阈值,若是,则判定所述控制器出现过载情况。
54.需要说明的是,每台控制器相连的所有交换机指的是所有与控制器直接相连的交换机,本领域技术人员结合现有技术及实际应用对第一预设阈值及后文的第二预设阈值进行设定,其中,第一预设阈值和第二预设阈值的取值可以相同也可以不同。
55.具体地,分别检测网络中每台控制器相连的所有交换机的网络请求流量与其链路承载量的比值之和,根据以下公式得到:
[0056][0057]
其中,l
a
表示控制器a的负载情况,g表示所有与控制器a直接相连的交换机的集合,f
ia
为第i台交换机到控制器a的网络流量大小,f
ia
为第i台交换机到控制器a的链路的最大承载能力。
[0058]
本实施例中,当某台控制器a出现过载情况l
a
>x%(x根据业务对网络性能的实际需求设定,初步可设定为80)时,则需将控制器a相连的某个或某些交换机迁移到其他的管理域,可以指示该控制器向其邻居集中的控制器发起调度请求。
[0059]
在步骤s103中,从所述控制器相连的所有交换机中选择出待迁移交换机,以及从所述控制器的控制器邻居集的所述若干第一备选控制器中选择出所述待迁移交换机的目标控制器,使所述控制器将所述待迁移交换机迁移至所述目标控制器。
[0060]
本实施例中,可以选择根据当前控制器的负载情况和邻居集中各控制器的负载情
况分别选择出待迁移交换机和目标控制器,例如选择网络请求流量最大的交换机迁移至负载情况最小的控制器中。在一些实施例中,为了实现网络中负载均衡的最优化,通过计算所述控制器的各交换机进行迁移后的收益函数,选择出待迁移的交换机以及迁移的目标控制器,具体过程在后述实施例中已作详述,此处不再赘述。
[0061]
现有技术中sdn网络的负载均衡方式,主要通过在整个sdn网络范围中根据各台控制器的负载情况,进行统一调度,定期重新调整各台控制器和交换机的管理控制关系,但是通过统一调度的方式会使原有的基于整体sdn架构的负载均衡算法的计算量和计算频率逐渐增加,反而容易导致整个网络的性能下降。
[0062]
相较于现有技术,本实施例采用局部调度的方式,通过检测网络中控制器的过载情况,并对产生过载情况的控制器进行局部调度,从而实现整个网络的负载均衡,同时降低计算量和计算频率,避免网络性能的下降。
[0063]
请参照图3,图3为本公开实施例提供另一种软件定义网络架构调度方法,上一实施例的基础上,本实施例通过建立临时调度组,并对控制器邻居集中的备选控制器进行初步筛选,以提高交换机的迁移效率,同时保证目标控制器具备足够的资源,具体地,在每隔预设时间段分别检测网络中每台控制器是否出现过载情况(步骤s102)之后,以及在从所述控制器相连的所有交换机中选择出待迁移交换机(步骤s103)之前,还包括步骤s301

s304,并将步骤s103进一步划分为步骤s103a。
[0064]
在步骤301中,若检测到某台控制器出现过载情况,则建立所述控制器的临时调度组。
[0065]
本实施例中,在控制器出现过载情况时建立临时调度组,当控制器恢复正常,即不处于过载情况时可解散该控制器的临时调度组。
[0066]
在步骤s302中,从所述控制器的控制器邻居集中选择出当前没有加入到其它控制器的临时调度组的所有第一备选控制器,作为第二备选控制器;
[0067]
在步骤s303中,分别计算所述所有第二备选控制器各自相连的所有交换机的网络请求流量与其链路承载量的比值之和;
[0068]
在步骤s304中,从所述所有第二备选控制器中选择出比值之和大于第二预设阈值的所有第二备选控制器,作为第三备选控制器;以及,将所有第三备选控制器加入所述控制器的临时调度组。
[0069]
具体地,本实施例依次统计控制器a邻居集的各台控制器的负载情况和是否处于其他临时调度组,如果控制器j满足条件l
j
<y%(y同样根据业务对网络性能的实际需求设定,但必须满足y<x的条件,初步可设定为60)且不处于其他调度组,则控制器j将加入控制器a的临时调度组。
[0070]
在一些实施例中,如果所有邻居控制器均不满足条件的话,则将范围扩大,从邻居控制器的邻居集中进行备选控制器的筛选,以此类推,直到有大于或等于一台备选控制器出现为止。
[0071]
所述从所述控制器相连的所有交换机中选择出待迁移交换机,以及从所述控制器的控制器邻居集的所述若干第一备选控制器中选择出所述待迁移交换机的目标控制器(步骤s103),具体为:
[0072]
步骤s103a,从所述控制器相连的所有交换机中选择出待迁移交换机,以及从所述
控制器的临时调度组中选择出所述待迁移交换机的目标控制器。
[0073]
请参照图4,图4为本公开实施例提供的又一种软件定义网络架构调度方法的流程示意图,在上述实施例提供的一种软件定义网络架构调度方法的基础上,本实施例通过计算计算所述控制器的各交换机进行迁移后的收益函数,选择出待迁移的交换机以及迁移的目标控制器,以实现负载均衡最优化,具体地,将步骤s103进一步划分为步骤s103b和步骤s103c。
[0074]
在步骤s103b中,分别计算所述控制器相连的所有交换机各自与所述若干第一备选控制器之间的收益函数。
[0075]
具体地,所述分别计算所述控制器相连的所有交换机各自与所述若干第一备选控制器之间的收益函数,包括以下步骤:
[0076]
计算出所述控制器相连的所有交换机分别迁移至所述若干第一备选控制器后,所述控制器的负载情况及所述若干第一备选控制器各自的负载情况;以及,
[0077]
基于所述控制器的负载情况及所述若干第一备选控制器各自的负载情况分别计算所述控制器相连的所有交换机各自与所述若干第一备选控制器之间的收益函数。
[0078]
可以理解的是,本实施例中过载情况和负载情况为不同的概念,其中负载情况表示控制器的具体负载,过载情况表示控制器负载超负荷需要进行调度。
[0079]
在步骤s103c中,基于所述控制器相连的所有交换机各自分别与所述若干第一备选控制器之间的收益函数从所述控制器相连的所有交换机中选择出待迁移交换机,并从所述若干第一备选控制器中选择出所述待迁移交换机的目标控制器。
[0080]
进一步地,所述分别计算所述控制器相连的所有交换机各自与所述若干第一备选控制器之间的收益函数,根据以下公式得到:
[0081]
s
jk
=α*l
a
+β*l
k
+γ*d
jk
[0082]
式中,s
jk
表示所述控制器a相连的第j台交换机与第k台第一备选控制之间的收益函数,l
a
表示第j台交换机迁移至第k台第一备选控制器后所述控制器a的负载情况,l
k
表示第j台交换机迁移至第k台第一备选控制器后第k台控制器的负载情况,d
jk
表示第j台交换机迁移到第k台控制器的延迟,α,β,γ为调整因子,且α+β+γ=1。
[0083]
其中,收益函数越小说明交换机迁移到目标控制器后控制器a和目标控制器的负载越均衡,通过计算获得的收益函数s
jk
最小的方案选择相应的迁移交换机和目标控制器,实现网络负载均衡最优化。
[0084]
综上,本公开实施例提出的基于局部优化的sdn架构调度方法,首先,根据针对每个控制器建立相应的邻居集,当某台控制器出现过载情况时,发起调度请求;满足条件的各邻居控制器共同建立临时调度组;通过计算各控制器的收益函数,选择要迁移的交换机以及迁移的目标控制器;然后启动交换机迁移,待迁移结束后更新相应参数,从而能够实现将调度过程控制在出现过载控制器临近的局部范围,减少调度的频率和所需的计算量。
[0085]
基于相同的技术构思,本公开实施例相应还提供一种软件定义网络架构调度系统,如图5所述,所述系统包括选择模块51、检测模块52及迁移调度模块53,其中,
[0086]
所述选择模块51,其设置为分别为网络中每台控制器设定关于交换机迁移的控制器邻居集,所述控制器邻居集包括若干第一备选控制器;
[0087]
所述检测模块52,其设置为每隔预设时间段分别检测网络中每台控制器是否出现
过载情况;
[0088]
所述迁移调度模块53,其设置为在所述检测模块检测到某台控制器出现过载情况时,从所述控制器相连的所有交换机中选择出待迁移交换机,以及从所述控制器的控制器邻居集中的所述若干第一备选控制器选择出所述待迁移交换机的目标控制器,使所述网络控制器将所述待迁移交换机迁移至所述目标控制器。
[0089]
在一种实施方式中,所述检测模块52具体设置为,每隔预设时间段分别检测网络中每台控制器相连的所有交换机的网络请求流量与其链路承载量的比值之和是否大于第一预设阈值,若是,则判定所述控制器出现过载情况。
[0090]
在一种实施方式中,所述系统还包括:
[0091]
建立模块,其设置为在检测模块检测过载情况之后以及所述调度迁移模块选择出待迁移交换机和目标控制器之前,在检测到某台控制器出现过载情况时,建立所述控制器的临时调度组;
[0092]
所述选择模块还设置为,从所述控制的控制器邻居集中选择出当前没有加入到其它控制器的临时调度组的所有第一备选控制器,作为第二备选控制器;
[0093]
计算模块,其设置为分别计算所述所有第二备选控制器各自相连的所有交换机的网络请求流量与其链路承载量的比值之和;
[0094]
所述选择模块还设置为,从所述所有第二备选控制器中选择出比值大于第二预设阈值的所有第二备选控制器,作为第三备选控制器;以及,将所有第三备选控制器加入所述控制器的临时调度组;
[0095]
所述选择模块具体设置为,从所述控制器的临时调度组中选择出所述待迁移交换机的目标控制器。
[0096]
在一种实施方式中,所述调度模块迁移53,包括:
[0097]
计算单元,其设置为分别计算所述控制器相连的所有交换机各自与所述若干第一备选控制器之间的收益函数;以及,
[0098]
选择单元,其设置为基于所述控制器相连的所有交换机各自分别与所述若干第一备选控制器之间的收益函数从所述控制器相连的所有交换机中选择出待迁移交换机,并从所述若干第一备选控制器中选择出所述待迁移交换机的目标控制器。
[0099]
在一种实施方式中,所述计算单元具体设置为,分计算出所述控制器相连的所有交换机分别迁移至所述若干第一备选控制器后,所述控制器的负载情况及所述若干第一备选控制器各自的负载情况;以及,基于所述控制器的负载情况及所述若干第一备选控制器各自的负载情况分别计算所述控制器相连的所有交换机各自与所述若干第一备选控制器之间的收益函数。
[0100]
在一种实施方式中,所述计算单元,根据以下公式得到:
[0101]
s
jk
=α*l
a
+β*l
k
+γ*d
jk
[0102]
式中,s
jk
表示所述控制器a相连的第j台交换机与第k台第一备选控制之间的收益函数,l
a
表示第j台交换机迁移至第k台第一备选控制器后所述控制器a的负载情况,l
k
表示第j台交换机迁移至第k台第一备选控制器后第k台控制器的负载情况,d
jk
表示第j台交换机迁移到第k台控制器的延迟,α,β,γ为调整因子,且α+β+γ=1。
[0103]
基于相同的技术构思,本公开实施例相应还提供一种终端设备,如图6所示,所述
终端设备包括存储器61和处理器62,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行所述的软件定义网络架构调度方法。
[0104]
基于相同的技术构思,本公开实施例相应还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行所述的软件定义网络架构调度方法。
[0105]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd

rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0106]
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1