CN105812293A - 一种确定控制器及其控制域的方法及装置 - Google Patents

一种确定控制器及其控制域的方法及装置 Download PDF

Info

Publication number
CN105812293A
CN105812293A CN201410848494.9A CN201410848494A CN105812293A CN 105812293 A CN105812293 A CN 105812293A CN 201410848494 A CN201410848494 A CN 201410848494A CN 105812293 A CN105812293 A CN 105812293A
Authority
CN
China
Prior art keywords
node
controller
nodes
network
controller set
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.)
Granted
Application number
CN201410848494.9A
Other languages
English (en)
Other versions
CN105812293B (zh
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.)
China Mobile Communications Group Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
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 China Mobile Communications Group Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201410848494.9A priority Critical patent/CN105812293B/zh
Publication of CN105812293A publication Critical patent/CN105812293A/zh
Application granted granted Critical
Publication of CN105812293B publication Critical patent/CN105812293B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种确定控制器及其控制域的方法及装置,该方法包括:a、获取第一控制器集合;b、遍历网络中不包含在第一控制器集合中的节点,将所述各节点分配到所述第一控制器集合中各控制器对应的控制域;c、遍历所述各控制域,重新确定每个控制域对应的控制器,生成第二控制器集合;第二控制器集合与第一控制器集合不同,或者,第二网络可靠性参数值与第一网络可靠性参数值不同时,将所述第二控制器集合作为新的第一控制器集合,继续迭代,直到第二控制器集合与第一控制器集合相同,或者,所述第二网络可靠性参数值与所述第一网络可靠性参数值相同。

Description

一种确定控制器及其控制域的方法及装置
技术领域
本发明涉及软件定义网络(SoftwareDefinedNetwork,SDN)领域,尤其涉及一种确定控制器及其控制域的方法及装置。
背景技术
由于SDN控制与转发相分离的本质,使得其对数据的转发更加简单、网络的控制更加灵活,并降低了网络的管理成本,受到学术界和产业界的热捧并成为其研究的热点。然而,随着SDN的普及与推广,其应用的网络规模逐渐增大,数据平面上的转发设备不断增多,对控制器的处理能力要求越来越高,单个控制器受到性能和容量的限制,难以满足网络和应用规模的需求。而且单个控制器容易出现单点瓶颈和故障问题,所以需要研究控制平面的可扩展性解决方案,即多控制器解决方案。
分布式的多控制器部署方案,即通过分布式的方式部署多个控制器,并对这些控制器进行区域划分,形成不同的控制域,每个控制器在各自的控制域内进行管控,是解决控制平面可扩展性的一种有效途径。目前国内外已有关于分布式多控制器部署的架构方案,例如HyperFlow、Onix等,但是它们并未涉及具体的控制器及其控制域确定策略,即对于给定的网络拓扑,控制器应该放在哪些节点处,控制域应该如何划分,每个控制器应该管控哪些交换机等。
目前国外已经有学者以最小化控制器和其控制域内交换机之间平均时延为目的,建立模型进行了控制器及其控制域的研究。然而在考虑控制器及其控制域的确定决策时,控制器与交换机之间通信的可靠性也是一个重要性能参数。当交换机到其控制器路径上的某条链路或某中间交换机发生故障时,流表的下发会受到影响,使交换机接收不到控制器发出的指令,从而破坏正常的数据转发功能。所以研究优化网络可靠性的控制器及其控制域确定问题,具有重要的实际意义。
发明内容
有鉴于此,为解决现有存在的技术问题,本发明实施例提供:
一种确定控制器及其控制域的方法,其特征在于,该方法包括:
a、获取第一控制器集合;
b、遍历网络中不包含在第一控制器集合中的节点,将所述各节点分配到所述第一控制器集合中各控制器对应的控制域;
c、遍历所述各控制域,重新确定每个控制域对应的控制器,生成第二控制器集合;
d、判断所述第二控制器集合是否与所述第一控制器集合相同,或者,基于第二控制器集合及相应控制域的第二网络平均可靠性参数值是否与基于第一控制器集合及相应控制域的第一网络平均可靠性参数值相同,如果所述第二控制器集合与所述第一控制器集合不同,或者,所述第二网络可靠性参数值与所述第一网络可靠性参数值不同,则将所述第二控制器集合作为新的第一控制器集合,返回步骤a;如果第二控制器集合与第一控制器集合相同,或者,所述第二网络可靠性参数值与所述第一网络可靠性参数值相同,则停止迭代。
一具体实施例中,初始状态下,所述获取第一控制器集合,包括:
计算节点u与网络中其他节点之间的可靠性参数之和rfall,u,其中, rf all , u = &Sigma; v , u &NotEqual; v n rf u , v , 节点u与节点v之间的可靠性参数 rf u , v = n u , v len &OverBar; u , v * dep u , v * ( 1 - rev u , v ) , nu,v为网络中的路径个数,节点u和节点v之间路径的平均长度节点u和节点v之间所有路径的长度的差异程度节点u和节点v之间所有路径的平均相关性0<depu,v<=1,nu,v,l节点u和节点v之间所有路径使用链路的个数,节点u、节点v表示网络中任意两个节点,u、v取值为不大于n的自然数,n为网络节点数;
获取t个网络节点,组成控制器的候选节点集合,所述候选节点集合中节点的rfall,u值不小于非候选节点集合中节点的rfall,u值,所述t不小于m,所述m为第一控制器集合中控制器的个数;
从所述t个控制器的候选节点中随机选择m个节点组成第一控制器集合。
一具体实施例中,所述遍历网络中不包含在第一控制器集合中的节点,将所述各节点分配到所述第一控制器集合中各控制器对应的控制域,包括:
遍历不包含在第一控制器集合中的节点v,分别计算所述节点v和第一控制器集合中各控制器coi之间的可靠性参数值所述i为小于m的整数;
根据所述计算的将所述节点v分配到最大的对应的控制域中。
一具体实施例中,所述重新确定控制域对应的控制器,包括:
遍历当前控制域clui内所有节点u,计算所述节点u与当前控制域内其他节点之间的可靠性参数之和
选择当前控制域clui内最大对应的节点作为clui新的控制器。
一具体实施例中,所述第一网络平均可靠性参数初始值为0,该方法还包括:
根据计算基于第二控制器集合及相应控制域的第二网络平均可靠性参数值rfnew
一具体实施例中,该方法还包括:
遍历节点个数小于r的控制域clui,对于节点个数不小于r的控制域cluj,计算其中u为cluj中的节点;
选择最小rflost,u对应的节点u添加到控制域clui中;
重复上述步骤,直到所有控制域中的交换机个数不小于r,所述r=int(n/m)-1。
本发明实施例还提供一种确定控制器及其控制域的装置,包括:第一获取模块、第一处理模块、第二获取模块、判断模块和第二处理模块;其中,
所述第一获取模块,用于获取第一控制器集合;
所述第一处理模块,用于遍历网络中不包含在第一控制器集合中的节点,将所述各节点分配到所述第一控制器集合中各控制器对应的控制域;
所述第二获取模块,用于遍历所述各控制域,重新确定每个控制域对应的控制器,生成第二控制器集合;
所述判断模块,用于判断所述第二控制器集合是否与所述第一控制器集合相同,或者,判断基于第二控制器集合及相应控制域的第二网络平均可靠性参数值是否与基于第一控制器集合及相应控制域的第一网络平均可靠性参数值相同;
所述第二处理模块,用于在判断模块确定所述第二控制器集合与所述第一控制器集合不同,或者,所述第二网络可靠性参数值与所述第一网络可靠性参数值不同时,将所述第二控制器集合作为新的第一控制器集合,之后通知第一获取模块进行处理;在判断模块确定第二控制器集合与第一控制器集合相同,或者,所述第二网络可靠性参数值与所述第一网络可靠性参数值相同时,停止迭代。
一具体实施例中,所述第一获取模块,用于在初始状态下:
计算节点u与网络中其他节点之间的可靠性参数之和rfall,u,其中, rf all , u = &Sigma; v , u &NotEqual; v n rf u , v , 节点u与节点v之间的可靠性参数 rf u , v = n u , v len &OverBar; u , v * dep u , v * ( 1 - rev u , v ) , nu,v为网络中的路径个数,节点u和节点v之间路径的平均长度节点u和节点v之间所有路径的长度的差异程度节点u和节点v之间所有路径的平均相关性0<depu,v<=1,nu,v,l节点u和节点v之间所有路径使用链路的个数,节点u、节点v表示网络中任意两个节点,u、v取值为不大于n的自然数,n为网络节点数;
获取t个网络节点,组成控制器的候选节点集合,所述候选节点集合中节点的rfall,u值不小于非候选节点集合中节点的rfall,u值,所述t不小于m,所述m为第一控制器集合中控制器的个数;
从所述t个控制器的候选节点中随机选择m个节点组成第一控制器集合。
一具体实施例中,所述第一处理模块,用于遍历不包含在第一控制器集合中的节点v,分别计算所述节点v和第一控制器集合中各控制器coi之间的可靠性参数值所述i为小于m的整数;根据所述计算的将所述节点v分配到最大的对应的控制域中。
一具体实施例中,所述第二获取模块,用于遍历当前控制域clui内所有节点u,计算所述节点u与当前控制域内其他节点之间的可靠性参数之和选择当前控制域clui内最大对应的节点作为clui新的控制器。
一具体实施例中,所述判断模块,还用于根据计算基于第二控制器集合及相应控制域的第二网络平均可靠性参数值rfnew
一具体实施例中,该装置还包括第三处理模块,
所述第三处理模块,用于遍历节点个数小于r的控制域clui,对于节点个数不小于r的控制域cluj,计算其中u为cluj中的节点;选择最小rflost,u对应的节点u添加到控制域clui中;重复上述步骤,直到所有控制域中的交换机个数不小于r,所述r=int(n/m)-1。
本发明实施例所述的确定控制器及其控制域的方法及装置,该方法包括:a、获取第一控制器集合;b、遍历网络中不包含在第一控制器集合中的节点,将所述各节点分配到所述第一控制器集合中各控制器对应的控制域;c、遍历所述各控制域,重新确定每个控制域对应的控制器,生成第二控制器集合;第二控制器集合与第一控制器集合不同,或者,第二网络可靠性参数值与第一网络可靠性参数值不同时,将所述第二控制器集合作为新的第一控制器集合,继续迭代,直到第二控制器集合与第一控制器集合相同,或者,所述第二网络可靠性参数值与所述第一网络可靠性参数值相同。本发明实施例所述确定控制器及其控制域的方案,能够优化网络可靠性,且算法简单,处理速度较快。
附图说明
图1为本发明实施例的系统模型示意图;
图2为本发明实施例一种确定控制器及其控制域的方法流程示意图;
图3为本发明实施例一种确定控制器及其控制域的装置结构示意图;
图4为本发明实施例另一种确定控制器及其控制域的装置结构示意图。
具体实施方式
本发明实施例所要研究的确定控制器及其控制域的问题可以类比为聚类分析的问题。比较典型的一种聚类算法为k-means,它的优化目标为某种准则函数(例如平均时延),通过不停的迭代把数据集划分为k个不同的类,使得某个准则函数达到最优。本发明实施例基于传统的k-means方法进行修改,评价聚类性能的准则函数为网络整体平均可靠性,每个聚类为一个控制域,其代表为域内的控制器(假设每个控制器域内只有一个控制器),并要求每个聚类中的节点数目尽量相等。并且为了尽量消除初始点选择对聚类结果的影响,加快聚类算法收敛速度,本发明实施例先选出一个控制器的候选节点集合M。
而且由于实际网络中节点度数会比较高,两节点间可能存在数十条甚至上百条路径,其可靠性的计算非常复杂。所以为了简化算法的运算量和时间,使算法更适用于实际部署场景,本发明实施例提出一个可靠性影响因子(RF)的概念,在改进的聚类算法中用RF近似代表两点间实际的可靠性,来进行迭代选择,从而更快的确定控制器。
故通过本发明实施例可以以较少的运算量和复杂度,解决多控制器场景下确定控制器的问题,并实现对网络整体可靠性的全局优化效果。
本技术方案的系统模型如图1所示。
输入:已知图G(V,E),节点的集合为V,边(双向)的集合为E,网络拓扑中节点个数为n=|V|,所需部署的控制器个数为m。代表图G中点u和点v之间的所有路径的集合,nu,v为路径个数。代表这些路径的长度。Ru,v表示用不交化的布尔矩阵代数方法来计算两点之间多路径下的可靠性。
输出:选出的控制器集合C={c1,c2,...,ci,...,cm},以及控制器ci的控制域内的交换机集合Si={si1,si2,...}。
可靠性优化问题描述:
Minimum 1 - &Sigma; i = 1 m &Sigma; s ij &Element; S i R c i , s ij ( n - m ) - - - ( 1 )
Subjectto0<m<=n(2)
r=int(n/m)-1(3)
X l , p u , v , i = { 0 , 1 } - - - ( 4 )
len &OverBar; u , v = &Sigma; i = 1 n u , v len u , v , i / n u , v - - - ( 5 )
rev u , v = &Sigma; i = 1 n u , v ( ( leu u , v , i - len u , v &OverBar; ) / len &OverBar; u , v ) 2 / n u , v - - - ( 6 )
dep u , v = &Sigma; l &Element; E &Sigma; i = 1 n u , v X l , p u , v , i n u , v , l / n u , v , 0 < dep u , v < = 1 - - - ( 7 )
rf u , v = n u , v len &OverBar; u , v * dep u , v * ( 1 - rev u , v ) - - - ( 8 )
其中(1)式表示对SDN网络中所有控制器与交换机之间通信的平均可靠性进行优化,n-m为控制器与交换机之间的控制路径数量,但是,在网络节点较多的场景下,采用(1)式评估控制器与交换机之间通信的平均可靠性计算量较大、处理速度较慢;(2)式表示在节点集合N中选择m个节点用于确定控制器;(3)式表示假设控制器和交换机部署在不同节点处,首先给每个控制器分配r个相同数量的交换机,剩下的交换机再根据可靠性优化目标被分配到某个控制器中;(4)表示链路l是否在pu,v,i上,若是则为1,否则为0;(5)式表示点u和点v之间的所有可达路径的平均长度;(6)式表示点u和点v之间的所有可达路径长度的差异程度;(7)式表示点u和点v之间的所有可达路径之间的平均相关性,即对路径中所含链路的平均重复占用率,其中nu,v,l表示点u和点v之间的所有路径所使用的链路个数;(8)式表示本发明实施例所提的可靠性影响因子RF,它可近似代表两点之间的可靠性,即两点之间路径数量越多,平均路径长度越短,并且路径之间平均相关性越小,路径长度的差异程度越高,则这两点之间连通的可靠度越高。
确定控制器的问题可以类比为聚类分析的问题,在上面的模型中,评价聚类性能的准则函数为网络整体平均失效率,每个聚类为一个控制域,其代表为域内的控制器(假设每个控制器域内只有一个控制器),并要求每个聚类中的节点数目尽量相等。为了尽量消除初始点选择对聚类结果的影响,并加快算法收敛速度,本发明实施例先选出一个控制器的候选节点集合M。聚类完成后,检查并调整各控制域中的交换机数量,直到所有域中交换机数量都不小于r。
基于上述内容,本发明实施例提供一种优化网络可靠性的控制器及其控制域确定方案,算法简单,且处理速度较快。
图2为本发明实施例一种确定控制器及其控制域的方法流程示意图,如图2所示,该方法包括:
a、获取第一控制器集合;
b、遍历网络中不包含在第一控制器集合中的节点,将所述各节点分配到所述第一控制器集合中各控制器对应的控制域;
c、遍历所述各控制域,重新确定每个控制域对应的控制器,生成第二控制器集合;
d、判断所述第二控制器集合是否与所述第一控制器集合相同,或者,基于第二控制器集合及相应控制域的第二网络平均可靠性参数值是否与基于第一控制器集合及相应控制域的第一网络平均可靠性参数值相同,如果所述第二控制器集合与所述第一控制器集合不同,或者,所述第二网络可靠性参数值与所述第一网络可靠性参数值不同,则将所述第二控制器集合作为新的第一控制器集合,返回步骤a;如果第二控制器集合与第一控制器集合相同,或者,所述第二网络可靠性参数值与所述第一网络可靠性参数值相同,则停止迭代。
一具体实施例中,初始状态下,所述获取第一控制器集合,包括:
计算节点u与网络中其他节点之间的可靠性参数之和rfall,u,其中, rf all , u = &Sigma; v , u &NotEqual; v n rf u , v , 节点u与节点v之间的可靠性参数 rf u , v = n u , v len &OverBar; u , v * dep u , v * ( 1 - rev u , v ) , nu,v为网络中的路径个数,节点u和节点v之间路径的平均长度节点u和节点v之间所有路径的长度的差异程度节点u和节点v之间所有路径的平均相关性0<depu,v<=1,nu,v,l节点u和节点v之间所有路径使用链路的个数,节点u、节点v表示网络中任意两个节点,u、v取值为不大于n的自然数,n为网络节点数;
获取t个网络节点,组成控制器的候选节点集合,所述候选节点集合中节点的rfall,u值不小于非候选节点集合中节点的rfall,u值,所述t不小于m,所述m为第一控制器集合中控制器的个数;
从所述t个控制器的候选节点中随机选择m个节点组成第一控制器集合。
一具体实施例中,所述遍历网络中不包含在第一控制器集合中的节点,将所述各节点分配到所述第一控制器集合中各控制器对应的控制域,包括:
遍历不包含在第一控制器集合中的节点v,分别计算所述节点v和第一控制器集合中各控制器coi之间的可靠性参数值所述i为小于m的整数;
根据所述计算的将所述节点v分配到最大的对应的控制域中。
一具体实施例中,所述重新确定控制域对应的控制器,包括:
遍历当前控制域clui内所有节点u,计算所述节点u与当前控制域内其他节点之间的可靠性参数之和
选择当前控制域clui内最大对应的节点作为clui新的控制器。
一具体实施例中,所述第一网络平均可靠性参数初始值为0,该方法还包括:
根据计算基于第二控制器集合及相应控制域的第二网络平均可靠性参数值rfnew
一具体实施例中,该方法还包括:
遍历节点个数小于r的控制域clui,对于节点个数不小于r的控制域cluj,计算其中u为cluj中的节点;
选择最小rflost,u对应的节点u添加到控制域clui中;
重复上述步骤,直到所有控制域中的交换机个数不小于r,所述r=int(n/m)-1。
本发明实施例还相应地提出了一种确定控制器及其控制域的装置,如图3所示,该装置包括:第一获取模块31、第一处理模块32、第二获取模块33、判断模块34和第二处理模块35;其中,
所述第一获取模块31,用于获取第一控制器集合;
所述第一处理模块32,用于遍历网络中不包含在第一控制器集合中的节点,将所述各节点分配到所述第一控制器集合中各控制器对应的控制域;
所述第二获取模块33,用于遍历所述各控制域,重新确定每个控制域对应的控制器,生成第二控制器集合;
所述判断模块34,用于判断所述第二控制器集合是否与所述第一控制器集合相同,或者,判断基于第二控制器集合及相应控制域的第二网络平均可靠性参数值是否与基于第一控制器集合及相应控制域的第一网络平均可靠性参数值相同;
所述第二处理模块35,用于在判断模块34确定所述第二控制器集合与所述第一控制器集合不同,或者,所述第二网络可靠性参数值与所述第一网络可靠性参数值不同时,将所述第二控制器集合作为新的第一控制器集合,之后通知第一获取模块进行处理;在判断模块34确定第二控制器集合与第一控制器集合相同,或者,所述第二网络可靠性参数值与所述第一网络可靠性参数值相同时,停止迭代。
一具体实施例中,所述第一获取模块31,用于在初始状态下:
计算节点u与网络中其他节点之间的可靠性参数之和rfall,u,其中, rf all , u = &Sigma; v , u &NotEqual; v n rf u , v , 节点u与节点v之间的可靠性参数 rf u , v = n u , v len &OverBar; u , v * dep u , v * ( 1 - rev u , v ) , nu,v为网络中的路径个数,节点u和节点v之间路径的平均长度节点u和节点v之间所有路径的长度的差异程度节点u和节点v之间所有路径的平均相关性0<depu,v<=1,nu,v,l节点u和节点v之间所有路径使用链路的个数,节点u、节点v表示网络中任意两个节点,u、v取值为不大于n的自然数,n为网络节点数;
获取t个网络节点,组成控制器的候选节点集合,所述候选节点集合中节点的rfall,u值不小于非候选节点集合中节点的rfall,u值,所述t不小于m,所述m为第一控制器集合中控制器的个数;
从所述t个控制器的候选节点中随机选择m个节点组成第一控制器集合。
一具体实施例中,所述第一处理模块32,用于遍历不包含在第一控制器集合中的节点v,分别计算所述节点v和第一控制器集合中各控制器coi之间的可靠性参数值所述i为小于m的整数;根据所述计算的将所述节点v分配到最大的对应的控制域中。
一具体实施例中,所述第二获取模块33,用于遍历当前控制域clui内所有节点u,计算所述节点u与当前控制域内其他节点之间的可靠性参数之和选择当前控制域clui内最大对应的节点作为clui新的控制器。
一具体实施例中,所述判断模块34,还用于根据计算基于第二控制器集合及相应控制域的第二网络平均可靠性参数值rfnew
一具体实施例中,如图4所示,该装置还包括第三处理模块36,
所述第三处理模块36,用于遍历节点个数小于r的控制域clui,对于节点个数不小于r的控制域cluj,计算其中u为cluj中的节点;选择最小rflost,u对应的节点u添加到控制域clui中;重复上述步骤,直到所有控制域中的交换机个数不小于r,所述r=int(n/m)-1。
本发明实施例可以解决分布式多控制器部署场景下的确定控制器的问题,能在一个给定的网络拓扑图中及给定控制器数量的前提下,选择出具体的控制器,并实现控制域的划分(即交换机到控制器的映射)。并且,本发明实施例对传统的k聚类算法进行改进,提出控制器和交换机之间可靠性影响因子的概念,从而能降低算法的运算量和复杂度,进而提出一种能最大化控制器和其所在控制域内各交换机之间连通可靠性的控制器确定策略,可以保证网络可靠性达到全局最优。
下面通过具体实施例对本发明的技术方案作进一步详细说明。
实施例1
本实施例提出一种适用于控制器数量一定的分布式多控制器部署场景下,能实现网络可靠性全局优化的控制器确定算法。
本实施例确定控制器及其控制域的主要思路包括:
1、从控制器的候选集合M中随机选择m个点作为初始控制器集合C;
2、遍历剩下的n-m个点,根据最大rfu,v原则,分配给C中的控制器,生成控制域集合(clusters);
3、遍历clusters中的每个控制域,根据每个域内与其他节点可靠性之和最大原则求出每个域内的新控制器,生成新控制器集合C;
4、用可靠性影响因子估算此时网络的平均可靠性rfG
5、不断重复步骤2-4,直到C或rfG不再变化,得到控制域集合clusters和控制器集合C;
6、遍历交换机个数小于r的控制域,根据最小可靠性损失原则,从交换机个数大于r的控制域中选择交换机添加到自己的域中,直到所有控制域中的交换机个数不小于r。
本实施例中,确定控制器及其控制域的算法流程如下:
输入:G=(V,E)
1、从V中选择前2m个较大的节点,作为控制器的候选集合M
2、从M中随机选择m个点作为本次迭代的初始控制器集合Cold={co1,co2,...,com}
3、初始化整体网络的可靠性rfold=0
4、对于数据集合V但不属于集合Cold的节点v
5、计算v和Cold中所有节点cOi
6、把节点v分配到有最大的聚类内
7、生成聚类clusters={clu1,clu2,...,clum}
8、对于聚类clui,若u∈clui,则执行以下步骤
9、计算u和clui中其它节点的可靠性之和
10、选择具有最大的节点u作为聚类clui当前的新的控制器cni
11、生成新的控制器集合Cnew={cn1,cn2,...,cnm}
12、计算此时整体网络的可靠性
13、Cold=Cnew不成立或rfold=rfnew不成立时,Cold←Cnew,rfold←rfnew
14、不断重复步骤4-13直到Cold=Cnew成立或rfold=rfnew成立
15、计算此时各个聚类内的交换机个数nsi
16、当nsi<r,对于聚类cluj且u∈cluj,计算
17选择有最小rflost,u的集群cluj中的u,添加到集群clui
18、重复步骤15-17,直到所有的nsi都大于等于r。
根据上述描述可以看出,本发明实施例提出点u,v之间可靠性因子ru,v的定义,用来在算法迭代计算中代替实际可靠性,从而在简化算法复杂度的同时,确保算法的效果;并且,在算法初始时,本发明实施例先选出一个控制器候选节点集合M,它由2m个跟所有其它节点评价可靠性最佳的节点组成,从而尽量消除初始点选择对聚类结果的影响,加快聚类算法收敛速度,使其更适用于实际应用中;并且,为了使每个控制器负载尽可能均等,本算法在聚类完成后,检查并调整各控制域中的交换机数量,直到所有域中交换机数量都尽可能相等。
上述各单元可以由电子设备中的中央处理器(CentralProcessingUnit,CPU)、数字信号处理器(DigitalSignalProcessor,DSP)或可编程逻辑阵列(Field-ProgrammableGateArray,FPGA)实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (12)

1.一种确定控制器及其控制域的方法,其特征在于,该方法包括:
a、获取第一控制器集合;
b、遍历网络中不包含在第一控制器集合中的节点,将所述各节点分配到所述第一控制器集合中各控制器对应的控制域;
c、遍历所述各控制域,重新确定每个控制域对应的控制器,生成第二控制器集合;
d、判断所述第二控制器集合是否与所述第一控制器集合相同,或者,基于第二控制器集合及相应控制域的第二网络平均可靠性参数值是否与基于第一控制器集合及相应控制域的第一网络平均可靠性参数值相同,如果所述第二控制器集合与所述第一控制器集合不同,或者,所述第二网络可靠性参数值与所述第一网络可靠性参数值不同,则将所述第二控制器集合作为新的第一控制器集合,返回步骤a;如果第二控制器集合与第一控制器集合相同,或者,所述第二网络可靠性参数值与所述第一网络可靠性参数值相同,则停止迭代。
2.根据权利要求1所述的方法,其特征在于,初始状态下,所述获取第一控制器集合,包括:
计算节点u与网络中其他节点之间的可靠性参数之和rfall,u,其中,节点u与节点v之间的可靠性参数nu,v为网络中的路径个数,节点u和节点v之间路径的平均长度节点u和节点v之间所有路径的长度的差异程度节点u和节点v之间所有路径的平均相关性0<depu,v<=1,nu,v,l节点u和节点v之间所有路径使用链路的个数,节点u、节点v表示网络中任意两个节点,u、v取值为不大于n的自然数,n为网络节点数;
获取t个网络节点,组成控制器的候选节点集合,所述候选节点集合中节点的rfall,u值不小于非候选节点集合中节点的rfall,u值,所述t不小于m,所述m为第一控制器集合中控制器的个数;
从所述t个控制器的候选节点中随机选择m个节点组成第一控制器集合。
3.根据权利要求2所述的方法,其特征在于,所述遍历网络中不包含在第一控制器集合中的节点,将所述各节点分配到所述第一控制器集合中各控制器对应的控制域,包括:
遍历不包含在第一控制器集合中的节点v,分别计算所述节点v和第一控制器集合中各控制器coi之间的可靠性参数值所述i为小于m的整数;
根据所述计算的将所述节点v分配到最大的对应的控制域中。
4.根据权利要求2所述的方法,其特征在于,所述重新确定控制域对应的控制器,包括:
遍历当前控制域clui内所有节点u,计算所述节点u与当前控制域内其他节点之间的可靠性参数之和
选择当前控制域clui内最大对应的节点作为clui新的控制器。
5.根据权利要求2所述的方法,其特征在于,所述第一网络平均可靠性参数初始值为0,该方法还包括:
根据计算基于第二控制器集合及相应控制域的第二网络平均可靠性参数值rfnew
6.根据权利要求2至5任一项所述的方法,其特征在于,该方法还包括:
遍历节点个数小于r的控制域clui,对于节点个数不小于r的控制域cluj,计算其中u为cluj中的节点;
选择最小rflost,u对应的节点u添加到控制域clui中;
重复上述步骤,直到所有控制域中的交换机个数不小于r,所述r=int(n/m)-1。
7.一种确定控制器及其控制域的装置,其特征在于,该装置包括:第一获取模块、第一处理模块、第二获取模块、判断模块和第二处理模块;其中,
所述第一获取模块,用于获取第一控制器集合;
所述第一处理模块,用于遍历网络中不包含在第一控制器集合中的节点,将所述各节点分配到所述第一控制器集合中各控制器对应的控制域;
所述第二获取模块,用于遍历所述各控制域,重新确定每个控制域对应的控制器,生成第二控制器集合;
所述判断模块,用于判断所述第二控制器集合是否与所述第一控制器集合相同,或者,判断基于第二控制器集合及相应控制域的第二网络平均可靠性参数值是否与基于第一控制器集合及相应控制域的第一网络平均可靠性参数值相同;
所述第二处理模块,用于在判断模块确定所述第二控制器集合与所述第一控制器集合不同,或者,所述第二网络可靠性参数值与所述第一网络可靠性参数值不同时,将所述第二控制器集合作为新的第一控制器集合,之后通知第一获取模块进行处理;在判断模块确定第二控制器集合与第一控制器集合相同,或者,所述第二网络可靠性参数值与所述第一网络可靠性参数值相同时,停止迭代。
8.根据权利要求7所述的装置,其特征在于,所述第一获取模块,用于在初始状态下:
计算节点u与网络中其他节点之间的可靠性参数之和rfall,u,其中,节点u与节点v之间的可靠性参数nu,v为网络中的路径个数,节点u和节点v之间路径的平均长度节点u和节点v之间所有路径的长度的差异程度节点u和节点v之间所有路径的平均相关性0<depu,v<=1,nu,v,l节点u和节点v之间所有路径使用链路的个数,节点u、节点v表示网络中任意两个节点,u、v取值为不大于n的自然数,n为网络节点数;
获取t个网络节点,组成控制器的候选节点集合,所述候选节点集合中节点的rfall,u值不小于非候选节点集合中节点的rfall,u值,所述t不小于m,所述m为第一控制器集合中控制器的个数;
从所述t个控制器的候选节点中随机选择m个节点组成第一控制器集合。
9.根据权利要求8所述的装置,其特征在于,
所述第一处理模块,用于遍历不包含在第一控制器集合中的节点v,分别计算所述节点v和第一控制器集合中各控制器coi之间的可靠性参数值所述i为小于m的整数;根据所述计算的将所述节点v分配到最大的对应的控制域中。
10.根据权利要求8所述的装置,其特征在于,
所述第二获取模块,用于遍历当前控制域clui内所有节点u,计算所述节点u与当前控制域内其他节点之间的可靠性参数之和选择当前控制域clui内最大对应的节点作为clui新的控制器。
11.根据权利要求8所述的装置,其特征在于,
所述判断模块,还用于根据计算基于第二控制器集合及相应控制域的第二网络平均可靠性参数值rfnew
12.根据权利要求8至11任一项所述的装置,其特征在于,该装置还包括第三处理模块,
所述第三处理模块,用于遍历节点个数小于r的控制域clui,对于节点个数不小于r的控制域cluj,计算其中u为cluj中的节点;选择最小rflost,u对应的节点u添加到控制域clui中;重复上述步骤,直到所有控制域中的交换机个数不小于r,所述r=int(n/m)-1。
CN201410848494.9A 2014-12-29 2014-12-29 一种确定控制器及其控制域的方法及装置 Active CN105812293B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410848494.9A CN105812293B (zh) 2014-12-29 2014-12-29 一种确定控制器及其控制域的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410848494.9A CN105812293B (zh) 2014-12-29 2014-12-29 一种确定控制器及其控制域的方法及装置

Publications (2)

Publication Number Publication Date
CN105812293A true CN105812293A (zh) 2016-07-27
CN105812293B CN105812293B (zh) 2020-05-01

Family

ID=56420309

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410848494.9A Active CN105812293B (zh) 2014-12-29 2014-12-29 一种确定控制器及其控制域的方法及装置

Country Status (1)

Country Link
CN (1) CN105812293B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713177A (zh) * 2016-11-21 2017-05-24 华南理工大学 一种多控制器的wmSDN组网方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013097900A1 (en) * 2011-12-29 2013-07-04 Nokia Siemens Networks Oy Conveying traffic in a communications network system
CN103401794A (zh) * 2013-07-17 2013-11-20 国家电网公司 一种面向大规模应用的软件定义网络控制优化方法
CN103825825A (zh) * 2014-01-18 2014-05-28 浙江大学 一种灵活可扩展且安全的域间拓扑发现方法
US20140313898A1 (en) * 2013-04-18 2014-10-23 Electronics And Telecommunications Research Institute Method for delivering emergency traffic in software defined networking networks and apparatus for performing the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013097900A1 (en) * 2011-12-29 2013-07-04 Nokia Siemens Networks Oy Conveying traffic in a communications network system
US20140363163A1 (en) * 2011-12-29 2014-12-11 Nokia Solutions And Networks Oy Conveying Traffic in a Communications Network System
US20140313898A1 (en) * 2013-04-18 2014-10-23 Electronics And Telecommunications Research Institute Method for delivering emergency traffic in software defined networking networks and apparatus for performing the same
CN103401794A (zh) * 2013-07-17 2013-11-20 国家电网公司 一种面向大规模应用的软件定义网络控制优化方法
CN103825825A (zh) * 2014-01-18 2014-05-28 浙江大学 一种灵活可扩展且安全的域间拓扑发现方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘娟,黄韬,魏亮: "SDN中基于可靠性优化的控制器放置算法研究", 《中国科技论文在线》 *
刘娟: "SDN中基于可靠性优化的控制器放置策略研究", 《中国知网硕博论文》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713177A (zh) * 2016-11-21 2017-05-24 华南理工大学 一种多控制器的wmSDN组网方法
CN106713177B (zh) * 2016-11-21 2019-11-15 华南理工大学 一种多控制器的wmSDN组网方法

Also Published As

Publication number Publication date
CN105812293B (zh) 2020-05-01

Similar Documents

Publication Publication Date Title
Shi et al. Optimal buffer allocation in production lines
EP2954644B1 (en) Dynamically determining node locations to apply learning machine based network performance improvement
CN108122027A (zh) 一种神经网络模型的训练方法、装置及芯片
US20140222996A1 (en) Dynamically adjusting a set of monitored network properties using distributed learning machine feeback
WO2015096761A1 (en) Traffic behavior driven dynamic zoning for distributed traffic engineering in sdn
KR20200113744A (ko) 심층 신경망 분할 방법 및 장치
CN105656771B (zh) 一种业务路径确定方法、装置和系统
CN111106999A (zh) 一种ip-光网络通信业务联合分配方法及装置
CN113361680A (zh) 一种神经网络架构搜索方法、装置、设备及介质
CN108075974B (zh) 一种流量转发控制方法、装置及sdn架构系统
CN114650249A (zh) 算法模型及路径的确定方法、电子设备、sdn控制器和介质
CN103955410A (zh) 基于多中断源优先级排序的中断控制方法
JPWO2019012627A1 (ja) ネットワーク制御システム、方法およびプログラム
CN111340192B (zh) 网络路径分配模型训练方法、路径分配方法、以及装置
KR20220098949A (ko) 딥러닝 모델 분산 학습 시스템 및 방법
Shamsi et al. A channel state prediction for multi-secondary users in a cognitive radio based on neural network
CN105677447A (zh) 分布式云中基于聚类的时延带宽极小化虚拟机部署方法
CN105430049A (zh) 一种基于dcn的虚拟流媒体集群协同迁移方法
CN105812293B (zh) 一种确定控制器及其控制域的方法及装置
CN115048179B (zh) 迁移优化方法、源端设备和虚拟机迁移管理系统
CN104504441A (zh) 基于敏感性的madaline神经网络构建方法及其装置
EP3318934A1 (en) System control method and device, controller and control system
CA2947578A1 (en) Method and system for generating an embedding pattern used for solving a quadratic binary optimization problem
CN108737130B (zh) 基于神经网络的网络流量预测装置及方法
Carreno-Alvarado et al. A comparison of machine learning classifiers for leak detection and isolation in urban networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant