CN114615146A - 软件定义网络sdn控制器部署方法、装置、设备及存储介质 - Google Patents

软件定义网络sdn控制器部署方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114615146A
CN114615146A CN202011421014.2A CN202011421014A CN114615146A CN 114615146 A CN114615146 A CN 114615146A CN 202011421014 A CN202011421014 A CN 202011421014A CN 114615146 A CN114615146 A CN 114615146A
Authority
CN
China
Prior art keywords
controller
node
network
sdn
nodes
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
CN202011421014.2A
Other languages
English (en)
Other versions
CN114615146B (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
China Mobile Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Information Technology 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, China Mobile Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202011421014.2A priority Critical patent/CN114615146B/zh
Publication of CN114615146A publication Critical patent/CN114615146A/zh
Application granted granted Critical
Publication of CN114615146B publication Critical patent/CN114615146B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0889Techniques to speed-up the configuration process

Abstract

本申请实施例提供了一种软件定义网络SDN控制器部署方法、装置、设备及存储介质。该方法包括:将SDN网络区域划分为多个SDN子网络区域;针对每个SDN子网络区域,分别执行以下步骤:确定SDN子网络区域中的总节点数量n以及用于部署控制器的控制器节点数量q;根据总节点数量n和控制器节点数量q构建Q学习矩阵;对Q学习矩阵进行强化学习,直至Q学习矩阵收敛,得到目标Q学习矩阵;将目标Q学习矩阵中最大奖励值的部署策略,确定为SDN子网络区域的控制器部署策略。根据本申请实施例技术方案,能够大大减少计算时间,保证网络的可靠性,还可以解决通信时延的问题。

Description

软件定义网络SDN控制器部署方法、装置、设备及存储介质
技术领域
本申请属于SDN控制器部署技术领域,尤其涉及一种软件定义网络SDN控制器部署方法、装置、设备及存储介质。
背景技术
随着当今社会互联网的快速发展,数据中心网络变得越来越复杂,对数据中心网络的管理也变得愈加困难。传统的数据中心网络架构已经很难适应庞大的网络规模和复杂多变的业务需求。为了解决上述问题,SDN(Software Defined Network,软件定义网络)应运而生。
SDN可以通过控制器对网络资源进行灵活集中管理,但由于单个控制器的处理能力和容量有限,需要在SDN数据中心网络中部署多个控制器。目前已经有很多关于SDN控制器部署的研究,例如,以建设成本为目标的基于数学模型求解的部署算法,以优化平均时延和最坏时延为目标的部署方案,以优化可靠性为目标的基于聚类和基于贪婪算法的控制器部署方法。
上述方案中,以建设成本为目标的基于数学模型求解的部署算法,用于大规模的数据中心网络时计算时间太长;以优化平均时延和最坏时延为目标的部署方案没有考虑到网络的可靠性;以优化可靠性为目标的基于聚类和基于贪婪算法的控制器部署方法很难消除通信时延带来的影响。
发明内容
本申请实施例提供一种软件定义网络SDN控制器部署方法、装置、设备及存储介质,能够大大减少计算时间,保证网络的可靠性,还可以解决通信时延的问题。
第一方面,本申请实施例提供了一种软件定义网络SDN控制器部署方法,方法包括:
将SDN网络区域划分为多个SDN子网络区域;
针对每个SDN子网络区域,分别执行以下步骤:
确定SDN子网络区域中的总节点数量n以及用于部署控制器的控制器节点数量q;n,q均为正整数,且q<n;
根据总节点数量n和控制器节点数量q构建Q学习矩阵,Q学习矩阵为n行q列矩阵,Q学习矩阵中的元素为每个控制器的部署策略对应的奖励值;奖励值与每个控制器的部署策略对应的链路代价反相关,链路代价为从交换机节点到控制器节点之间的链路代价;交换机节点为总节点中去除控制器节点后剩余的节点;
对Q学习矩阵进行强化学习,直至Q学习矩阵收敛,得到目标Q学习矩阵;
将目标Q学习矩阵中最大奖励值的部署策略,确定为SDN子网络区域的控制器部署策略。
在一种可选的实施方式中,对Q学习矩阵进行强化学习,直至Q学习矩阵收敛,得到目标Q学习矩阵,具体包括:
获取SDN子网络区域的网络视图,网络视图包括SDN子网络区域的n个节点及节点间的拓扑结构;
迭代执行以下第一操作,直至一次控制器部署学习过程中的q个控制器节点均被确定出;
在每次控制器部署学习过程中的q个控制器节点均被确定出之后,恢复网络视图中的n个节点,返回执行:迭代执行以下第一操作,直至一次控制器部署学习过程中的q个控制器节点均被确定出;直到以n个节点中的每个节点为起始控制器节点的所有控制器部署策略均被部署完毕,起始控制器节点为每次控制器部署学习过程中第一个被选取的控制器节点;
根据每次控制器部署学习对应的Q学习矩阵,选取奖励值之和最大的部署策略构建目标Q学习矩阵;
其中,第一操作包括:
从网络视图中选取第一节点作为第一控制器节点,并从剩余节点中确定第一控制器节点对应的m个第一交换机节点;剩余节点为全部节点中去除第一控制器节点后的节点;
根据SDN子网络区域中的链路带宽、链路负载、链路时延,确定m个第一交换机节点中的每个第一交换机节点到第一控制器节点的链路代价;m为正整数;
根据m个链路代价,确定第一控制器节点的奖励值;
根据奖励值,更新Q学习矩阵;
从全部节点中删除第一控制器节点和第一交换机节点,以得到更新后的网络视图。
在一种可选的实施方式中,根据SDN子网络区域中的链路带宽、链路负载、链路时延,确定m个第一交换机节点中的每个第一交换机节点到第一控制器节点的链路代价,具体包括:
根据以下公式确定m个第一交换机节点中的每个第一交换机节点到第一控制器节点的链路代价:
pricei=αBi+βLi+γDi
其中,pricei为m个第一交换机节点中的第i台交换机节点到第一控制器节点的链路代价,Bi为子网络区域中第i台交换机节点到第一控制器节点的链路带宽,Li为子网络区域中第i台交换机节点到第一控制器节点的链路负载,Di为子网络区域中第i台交换机节点到第一控制器节点的链路时延,α为链路带宽对链路代价影响的权重,β为链路负载对链路代价影响的权重,γ为链路时延对链路代价影响的权重。
在一种可选的实施方式中,根据m个链路代价,确定第一控制器节点的奖励值,包括:
计算m个链路代价之和,并确定链路代价之和的倒数为第一控制器节点的奖励值。
在一种可选的实施方式中,第一控制器节点的奖励值根据以下公式确定:
Figure BDA0002822367120000041
其中,r为第一控制器节点的奖励值。
在一种可选的实施方式中,m根据以下公式确定:
Figure BDA0002822367120000042
在一种可选的实施方式中,奖励值之和最大的部署策略为每次确定出的q个控制器节点对应的q个奖励值之和最大的部署策略。
第二方面,本申请实施例提供了一种软件定义网络SDN控制器部署装置,装置包括:
划分模块,用于将SDN网络区域划分为多个SDN子网络区域;
第一确定模块,用于针对每个SDN子网络区域,确定SDN子网络区域中的总节点数量n以及用于部署控制器的控制器节点数量q;n,q均为正整数,且q<n;
构建模块,用于针对每个SDN子网络区域,根据总节点数量n和控制器节点数量q构建Q学习矩阵,Q学习矩阵为n行q列矩阵,Q学习矩阵中的元素为每个控制器的部署策略对应的奖励值;奖励值与每个控制器的部署策略对应的链路代价反相关,链路代价为从交换机节点到控制器节点之间的链路代价;交换机节点为总节点中去除控制器节点后剩余的节点;
学习模块,用于针对每个SDN子网络区域,对Q学习矩阵进行强化学习,直至Q学习矩阵收敛,得到目标Q学习矩阵;
第二确定模块,用于针对每个SDN子网络区域,将目标Q学习矩阵中最大奖励值的部署策略,确定为SDN子网络区域的控制器部署策略。
第三方面,本申请实施例提供了一种软件定义网络SDN控制器部署设备,设备包括:处理器,以及存储有计算机程序指令的存储器;处理器读取并执行计算机程序指令,以实现第一方面及第一方面中任一可选实施方式提供的一种软件定义网络SDN控制器部署方法。
第四方面,本申请实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面及第一方面中任一可选实施方式提供的一种软件定义网络SDN控制器部署方法。
本申请的实施例提供的技术方案至少带来以下有益效果:
本申请实施例先将SDN网络区域划分为多个SDN子网络区域,然后分别对每个SDN子网络区域进行控制器的部署,由于SDN子网络区域需要部署的控制器数量比SDN网络区域需要部署的控制器数量少,因此,需要的计算时间也大大减少,同时,保证了网络的可靠性;以对每个SDN子网络区域分别进行强化学习的方式得到最优部署策略,解决了通信时延的问题。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种软件定义网络SDN控制器部署方法的流程示意图;
图2本申请实施例提供的另一种软件定义网络SDN控制器部署方法的流程示意图;
图3是本申请实施例提供的一种软件定义网络SDN控制器部署装置的结构示意图;
图4是本申请实施例提供的一种软件定义网络SDN控制器部署设备的结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
随着当今社会互联网的快速发展,数据中心网络变得越来越复杂,对数据中心网络的管理也变得愈加困难。传统的数据中心网络架构已经很难适应庞大的网络规模和复杂多变的业务需求。为了解决上述问题,SDN(Software Defined Network,软件定义网络)应运而生。
SDN可以通过控制器对网络资源进行灵活集中管理,但由于单个控制器的处理能力和容量有限,需要在SDN数据中心网络中部署多个控制器。目前已经有很多关于SDN控制器部署的研究,例如,以建设成本为目标的基于数学模型求解的部署算法,以优化平均时延和最坏时延为目标的部署方案,以优化可靠性为目标的基于聚类和基于贪婪算法的控制器部署方法。
上述方案中,以建设成本为目标的基于数学模型求解的部署算法,用于大规模的数据中心网络时计算时间太长;以优化平均时延和最坏时延为目标的部署方案没有考虑到网络的可靠性;以优化可靠性为目标的基于聚类和基于贪婪算法的控制器部署方法很难消除通信时延带来的影响。
为了解决上述问题,本申请实施例提供了一种软件定义网络SDN控制器部署方法、装置、设备及计算机存储介质,先将SDN网络区域划分为多个SDN子网络区域,然后分别对每个SDN子网络区域进行控制器的部署,由于SDN子网络区域需要部署的控制器数量比SDN网络区域需要部署的控制器数量少,因此,需要的计算时间也大大减少,同时,保证了网络的可靠性;以对每个SDN子网络区域分别进行强化学习的方式得到最优部署策略,解决了通信时延的问题。
下面首先对本申请实施例所提供的一种软件定义网络SDN控制器部署方法进行介绍。
图1是本申请实施例提供的一种软件定义网络SDN控制器部署方法的流程示意图。
如图1所示,该软件定义网络SDN控制器部署方法可以包括以下步骤:
S101,将SDN网络区域划分为多个SDN子网络区域。
具体地,SDN网络区域可以是整个数据中心网络区域,SDN子网络区域可以是将整个数据中心网络进行划分后得到的每个子网络区域。将SDN网络区域划分为多个SDN子网络区域可以方便之后分别对每个SDN子网络区域进行学习和部署。
在一个实施例中,由于SDN网络规模很大,需要部署的控制器也很多,对整个SDN网络区域进行控制器部署时,节点太多,计算时间很长。可以采用高渗透(HyperFlow)解决方案中的划分子网逻辑区域的概念,将SDN网络区域划分为多个SDN子网络区域,然后分别对每个SDN子网络区域进行部署,以减少单次部署的节点数量,缩短计算时间。
针对每个SDN子网络区域,分别执行以下步骤S102至S105:
S102,针对每个SDN子网络区域,确定SDN子网络区域中的总节点数量n以及用于部署控制器的控制器节点数量q,n,q均为正整数,且q<n。
具体地,总节点可以是对SDN网络区域进行划分后得到的多个SDN子网络区域中的一个SDN子网络区域内的所有节点,控制器节点可以是对SDN网络区域进行划分后得到的多个SDN子网络区域中的一个SDN子网络区域内的所有节点中用于部署控制器的节点。确定每个SDN子网络区域的总结点数量n以及用于部署控制器的控制器节点数量q,由于n为总结点数量,q为控制器节点数量,所以n,q均为正整数,由于总节点包含控制器节点和交换机节点,所以q<n。
在一个实施例中,在将SDN网络区域划分为多个SDN子网络区域之后,需要确定每个SDN子网络区域中的总节点数量n和用于部署控制器的控制器节点数量q,以便构建每个SDN子网络区域的Q学习矩阵,对每个SDN子网络区域进行Q学习。
S103,针对每个SDN子网络区域,根据总节点数量n和控制器节点数量q构建Q学习矩阵。
具体地,Q学习矩阵可以是一个n行q列的矩阵,行可以代表SDN子网络区域的各个节点,列可以表示控制器部署的动作,Q学习矩阵中的元素可以是每个控制器的部署策略对应的奖励值,奖励值与每个控制器的部署策略对应的链路代价反相关,链路代价可以是从交换机节点到控制器节点之间的链路代价,交换机节点可以是总节点中去除控制器节点后剩余的节点。
在一个实施例中,可以根据每个SDN子网络区域的总节点数量n和控制器节点数量q构建一个n行q列的Q学习矩阵,初始的Q学习矩阵为全零矩阵,在之后进行强化学习时根据得到的每个控制器的部署策略对应的奖励值对Q学习矩阵进行更新。
S104,针对每个SDN子网络区域,对Q学习矩阵进行强化学习,直至Q学习矩阵收敛,得到目标Q学习矩阵。
具体地,目标Q学习矩阵可以包含以每个节点作为起始控制器部署节点的奖励值最大的部署策略。强化学习具体可以包括:先获取SDN子网络区域的网络视图,从该网络视图中选取一个节点作为控制器节点,再从剩余的节点中确定被上述控制器控制的交换机节点,然后计算出该控制器节点的链路代价和奖励值,更新Q学习矩阵,并从网络视图中移除该控制器节点和交换机节点,重复上述步骤,直到此次控制器部署学习过程中的q个控制器节点均被确定出,再判断以n个节点中的每个节点为起始控制器节点的所有控制器部署策略是否均被部署完毕,若否,则重复上述步骤,若是,则停止执行,输出收敛后的Q学习矩阵,得到目标Q学习矩阵。
在一个实施例中,为了得到包括每次部署q台控制器的最优部署策略,对Q学习矩阵进行强化学习,先获取SDN子网络区域的网络视图,确定总结点数量n,控制器节点数量q,据此得出交换机节点数量为n-q,从该网络视图中随机选取一个节点作为控制器节点,从剩余节点中确定被该控制器控制的交换机节点,然后计算每个交换机节点到其对应的控制器节点的链路代价,据此再计算出该控制器节点的奖励值,以该奖励值作为元素更新Q学习矩阵,重复上述过程,直到q个交换机节点全部被确定,再判断以n个节点中的每个节点为起始控制器节点的所有控制器部署策略是否全部被部署完毕,如果全部被部署完毕,停止执行,输出收敛后的Q学习矩阵,即目标Q学习矩阵,否则,重复执行上述过程。
S105,针对每个SDN子网络区域,将目标Q学习矩阵中最大奖励值的部署策略,确定为SDN子网络区域的控制器部署策略。
具体地,最大奖励值的部署策略可以是目标Q学习矩阵中以每个节点作为起始控制器部署节点的奖励值最大的部署策略中奖励值最大的一个。
在一个实施例中,每个SDN子网络区域对应的Q学习矩阵完成强化学习之后,都会得到一个收敛的Q学习矩阵,即目标Q学习矩阵,该目标Q学习矩阵中包括n个部署策略,从中选取一个奖励值最大的作为该SDN子网络区域的控制器部署策略。
本申请实施例先将SDN网络区域划分为多个SDN子网络区域,然后分别对每个SDN子网络区域进行控制器的部署,由于SDN子网络区域需要部署的控制器数量比SDN网络区域需要部署的控制器数量少,因此,需要的计算时间也大大减少,同时,保证了网络的可靠性;以对每个SDN子网络区域分别进行强化学习的方式得到最优部署策略,解决了通信时延的问题。
图2是本申请实施例提供的另一种软件定义网络SDN控制器部署方法的流程示意图。
如图2所示,该软件定义网络SDN控制器部署方法可以包括以下步骤:
S201,确定SDN子网络区域中的总节点数量n以及用于部署控制器的控制器节点数量q。
具体地,总节点可以是SDN子网络区域中的所有节点,控制器节点可以是SDN子网络区域中的所有节点中用于部署控制器的节点。
在一个实施例中,将SDN网络区域划分为多个SDN子网络区域,确定SDN子网络区域中的总节点数量n以及用于部署控制器的控制器节点数量q,以便构建Q学习矩阵以及得到交换机节点数量。
S202,获取SDN子网络区域的网络视图。
具体地,网络视图可以包括SDN子网络区域的n个节点及节点间的拓扑结构。
在一个实施例中,为了方便对SDN子网络区域进行强化学习,可以获取SDN子网络区域的网络视图,得到包含n个节点及节点间的拓扑结构的网络视图,在网络视图上进行相关操作。
S203,从网络视图中选取第一节点作为第一控制器节点,并从剩余节点中确定第一控制器节点对应的m个第一交换机节点。
具体地,剩余节点可以是全部节点中去除第一控制器节点后的节点,m可以是平均每台控制器控制的交换机数量,根据以下公式确定:
Figure BDA0002822367120000111
其中,n为SDN子网络区域中的总节点数量,q为控制器节点数量。
在一个实施例中,从网络视图中随机选取一个节点作为控制器节点,然后计算剩余每个节点到该控制器节点的代价,从中选取代价最小的m个节点作为被该控制器控制的交换机节点。
S204,根据SDN子网络区域中的链路带宽、链路负载、链路时延,确定m个第一交换机节点中的每个第一交换机节点到第一控制器节点的链路代价。
具体地,链路代价可以根据以下公式确定:
pricei=αBi+βLi+γDi
其中,pricei为m个第一交换机节点中的第i台交换机节点到第一控制器节点的链路代价,Bi为子网络区域中第i台交换机节点到第一控制器节点的链路带宽,Li为子网络区域中第i台交换机节点到第一控制器节点的链路负载,Di为子网络区域中第i台交换机节点到第一控制器节点的链路时延,α为链路带宽对链路代价影响的权重,β为链路负载对链路代价影响的权重,γ为链路时延对链路代价影响的权重。
在一个实施例中,不同的控制器部署方案会有不同的链路代价,代价越大,对网络性能的影响越大,根据SDN子网络区域中的链路带宽、链路负载、链路时延,计算出m个交换机节点中的每个交换机节点到对应控制器节点的链路代价,之后根据链路代价可以计算出该控制器节点的奖励值,以便确定最优控制器部署战略。
S205,根据m个链路代价,确定第一控制器节点的奖励值。
具体地,第一控制器节点的奖励值根据以下公式确定:
Figure BDA0002822367120000121
其中,r为第一控制器节点的奖励值。。
在一个实施例中,对Q学习矩阵进行强化学习时,需要设置一个奖励规则,可以将链路代价取倒数作为奖励值,表示链路代价越高奖励值越低,计算出m个交换机节点到对应的控制器节点的m个链路代价,取m个链路代价之和的倒数作为该控制器节点的奖励值。
S206,根据奖励值,更新Q学习矩阵。
具体地,奖励值可以是m个交换机节点到对应的控制器节点的m个链路代价之和的倒数,Q学习矩阵可以是元素为各控制器节点奖励值的n行q列矩阵。
在一个实施例中,每得到一个控制器节点的奖励值,就对Q学习矩阵进行一次更新,将得到的控制器节点的奖励值添加到Q学习矩阵中的对应位置,经过不断地学习,不断地更新,最终会得到收敛的Q学习矩阵。
S207,从全部节点中删除第一控制器节点和第一交换机节点,以得到更新后的网络视图。
具体地,更新后的网络视图可以是去除已经确定的控制器节点和交换机节点的网络视图。
在一个实施例中,一次部署方案的确定过程中,已被确定为控制器节点或交换机节点的节点不能再次被选择,所以需要从网络视图中将其移除,对网络视图进行更新,以便进行下一节点的确定。
S208,此次控制器部署学习中的q个控制器节点是否均被确定出。
具体地,判断此次控制器部署学习中的q个控制器节点是否均被确定出,若已经全部被确定,则进行下一步,判断以n个节点中的每个节点为起始控制器节点的所有控制器部署策略是否均被部署完毕,若未全部被确定,则返回S203,重复执行上述步骤,直至此次控制器部署学习中的q个控制器节点全部被确定。
在一个实施例中,每确定完一个控制器节点及其控制的交换机节点,对网络视图进行更新之后,都需要判断此次控制器部署学习中的q个控制器节点是否全部被确定,如果已经全部被确定,就代表此次控制器部署已经完成,需要进行下一步的判断,否则,就需要返回S203,从网络视图中随机选取节点进行下一个控制器节点的确定,直到此次控制器部署学习中的q个控制器节点全部被确定。
S209,以n个节点中的每个节点为起始控制器节点的所有控制器部署策略是否均被部署完毕。
具体地,判断以n个节点中的每个节点为起始控制器节点的所有控制器部署策略是否均被部署完毕,若全部被部署完毕,则执行S210,若未全部被部署完毕,则返回S203,重复执行上述步骤,直至以n个节点中的每个节点为起始控制器节点的所有控制器部署策略全部被部署完毕。
在一个实施例中,每确定完一次部署策略,都需要判断以n个节点中的每个节点为起始控制器节点的所有控制器部署策略是否均被部署完毕。如果全部被部署完毕,则执行S210,否则,就需要返回S203,确定下一个控制器部署策略,直到以n个节点中的每个节点为起始控制器节点的所有控制器部署策略全部被部署完毕。
S210,每次控制器部署学习对应的Q学习矩阵,选取奖励值之和最大的部署策略构建目标Q学习矩阵。
具体地,奖励值之和最大的部署策略可以是每次确定出的q个控制器节点对应的q个奖励值之和最大的部署策略,目标Q学习矩阵可以包含n个控制器部署策略。
在一个实施例中,每一次确定以一个节点为起始控制器部署节点的全控制器部署方案,都可以得到一个Q学习矩阵,因此,最终会得到n个Q学习矩阵,选取每个学习矩阵中奖励值之和最大的控制器部署策略构建目标Q学习矩阵。从该目标Q学习矩阵中选取奖励值最大的控制器部署策略作为该SDN子网络区域的控制器部署策略。
图3是本申请实施例提供的一种软件定义网络SDN控制器部署装置的结构示意图。
如图3所示,该装置可以包括:划分模块301、第一确定模块302、构建模块303、学习模块304、第二确定模块305。
其中,划分模块301,用于将SDN网络区域划分为多个SDN子网络区域;第一确定模块302,用于针对每个SDN子网络区域,确定SDN子网络区域中的总节点数量n以及用于部署控制器的控制器节点数量q;n,q均为正整数,且q<n;构建模块303,用于针对每个SDN子网络区域,根据总节点数量n和控制器节点数量q构建Q学习矩阵,Q学习矩阵为n行q列矩阵,Q学习矩阵中的元素为每个控制器的部署策略对应的奖励值;奖励值与每个控制器的部署策略对应的链路代价反相关,链路代价为从交换机节点到控制器节点之间的链路代价;交换机节点为总节点中去除控制器节点后剩余的节点;学习模块304,用于针对每个SDN子网络区域,对Q学习矩阵进行强化学习,直至Q学习矩阵收敛,得到目标Q学习矩阵;第二确定模块305,用于针对每个SDN子网络区域,将目标Q学习矩阵中最大奖励值的部署策略,确定为SDN子网络区域的控制器部署策略。
本申请实施例基于一种软件定义网络SDN控制器部署装置,先将SDN网络区域划分为多个SDN子网络区域,然后分别对每个SDN子网络区域进行控制器的部署,由于SDN子网络区域需要部署的控制器数量比SDN网络区域需要部署的控制器数量少,因此,需要的计算时间也大大减少,同时,保证了网络的可靠性;以对每个SDN子网络区域分别进行强化学习的方式得到最优部署策略,解决了通信时延的问题。
图4是本申请实施例提供的一种软件定义网络SDN控制器部署设备的结构示意图。
如图4所示,该设备400可以包括:处理器401以及存储有计算机程序指令的存储器402。
具体地,上述处理器401可以包括中央处理器(Central Processing Unit,CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在一个实例中,存储器402可以包括可移除或不可移除(或固定)的介质,或者存储器402是非易失性固态存储器。存储器402可在软件定义网络SDN控制器部署设备的内部或外部。
处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现图1或图2所示实施例中的方法,并达到相应技术效果,为简洁描述在此不再赘述。
在一个实施例中,软件定义网络SDN控制器部署设备还可包括通信接口403和总线410。其中,如图4所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。
通信接口403,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线410包括硬件、软件或两者,将软件定义网络SDN控制器部署设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,EISA)总线、前端总线(Front Side Bus,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(Industry Standard Architecture,ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该软件定义网络SDN控制器部署设备可以基于本申请实施例中的一种软件定义网络SDN控制器部署方法,从而实现结合图1、图2和图3描述的一种软件定义网络SDN控制器部署方法和装置。
另外,结合上述实施例中的一种软件定义网络SDN控制器部署方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种软件定义网络SDN控制器部署方法。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RadioFrequency,RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本申请的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。

Claims (10)

1.一种软件定义网络SDN控制器部署方法,其特征在于,包括:
将SDN网络区域划分为多个SDN子网络区域;
针对每个SDN子网络区域,分别执行以下步骤:
确定所述SDN子网络区域中的总节点数量n以及用于部署控制器的控制器节点数量q;n,q均为正整数,且q<n;
根据总节点数量n和控制器节点数量q构建Q学习矩阵,所述Q学习矩阵为n行q列矩阵,所述Q学习矩阵中的元素为每个控制器的部署策略对应的奖励值;所述奖励值与每个控制器的部署策略对应的链路代价反相关,所述链路代价为从交换机节点到所述控制器节点之间的链路代价;所述交换机节点为总节点中去除控制器节点后剩余的节点;
对所述Q学习矩阵进行强化学习,直至所述Q学习矩阵收敛,得到目标Q学习矩阵;
将所述目标Q学习矩阵中最大奖励值的部署策略,确定为所述SDN子网络区域的控制器部署策略。
2.根据权利要求1所述的方法,其特征在于,所述对所述Q学习矩阵进行强化学习,直至所述Q学习矩阵收敛,得到目标Q学习矩阵,具体包括:
获取所述SDN子网络区域的网络视图,所述网络视图包括所述SDN子网络区域的n个节点及所述节点间的拓扑结构;
迭代执行以下第一操作,直至一次控制器部署学习过程中的q个控制器节点均被确定出;
在每次控制器部署学习过程中的q个控制器节点均被确定出之后,恢复所述网络视图中的n个节点,返回执行:所述迭代执行以下第一操作,直至一次控制器部署学习过程中的q个控制器节点均被确定出;直到以所述n个节点中的每个节点为起始控制器节点的所有控制器部署策略均被部署完毕,所述起始控制器节点为每次控制器部署学习过程中第一个被选取的控制器节点;
根据每次控制器部署学习对应的Q学习矩阵,选取奖励值之和最大的部署策略构建所述目标Q学习矩阵;
其中,所述第一操作包括:
从所述网络视图中选取第一节点作为第一控制器节点,并从剩余节点中确定所述第一控制器节点对应的m个第一交换机节点;所述剩余节点为所述全部节点中去除所述第一控制器节点后的节点;
根据SDN子网络区域中的链路带宽、链路负载、链路时延,确定所述m个第一交换机节点中的每个第一交换机节点到所述第一控制器节点的链路代价;m为正整数;
根据m个所述链路代价,确定所述第一控制器节点的奖励值;
根据所述奖励值,更新所述Q学习矩阵;
从所述全部节点中删除所述第一控制器节点和所述第一交换机节点,以得到更新后的网络视图。
3.根据权利要求2所述的方法,其特征在于,所述根据SDN子网络区域中的链路带宽、链路负载、链路时延,确定所述m个第一交换机节点中的每个第一交换机节点到所述第一控制器节点的链路代价,具体包括:
根据以下公式确定所述m个第一交换机节点中的每个第一交换机节点到所述第一控制器节点的链路代价:
pricei=αBi+βLi+γDi
其中,pricei为所述m个第一交换机节点中的第i台交换机节点到所述第一控制器节点的链路代价,Bi为所述子网络区域中所述第i台交换机节点到所述第一控制器节点的链路带宽,Li为所述子网络区域中所述第i台交换机节点到所述第一控制器节点的链路负载,Di为所述子网络区域中所述第i台交换机节点到所述第一控制器节点的链路时延,α为所述链路带宽对所述链路代价影响的权重,β为所述链路负载对所述链路代价影响的权重,γ为所述链路时延对所述链路代价影响的权重。
4.根据权利要求2所述的方法,其特征在于,所述根据m个所述链路代价,确定所述第一控制器节点的奖励值,包括:
计算m个所述链路代价之和,并确定所述链路代价之和的倒数为所述第一控制器节点的奖励值。
5.根据权利要求3或4所述的方法,其特征在于,所述第一控制器节点的奖励值根据以下公式确定:
Figure FDA0002822367110000031
其中,r为所述第一控制器节点的奖励值。
6.根据权利要求2所述的方法,其特征在于,所述m根据以下公式确定:
Figure FDA0002822367110000032
7.根据权利要求2所述的方法,其特征在于,所述奖励值之和最大的部署策略为每次确定出的q个控制器节点对应的q个奖励值之和最大的部署策略。
8.一种软件定义网络SDN控制器部署装置,其特征在于,包括:
划分模块,用于将SDN网络区域划分为多个SDN子网络区域;
第一确定模块,用于针对每个SDN子网络区域,确定所述SDN子网络区域中的总节点数量n以及用于部署控制器的控制器节点数量q;n,q均为正整数,且q<n;
构建模块,用于针对每个SDN子网络区域,根据总节点数量n和控制器节点数量q构建Q学习矩阵,所述Q学习矩阵为n行q列矩阵,所述Q学习矩阵中的元素为每个控制器的部署策略对应的奖励值;所述奖励值与每个控制器的部署策略对应的链路代价反相关,所述链路代价为从交换机节点到所述控制器节点之间的链路代价;所述交换机节点为总节点中去除控制器节点后剩余的节点;
学习模块,用于针对每个SDN子网络区域,对所述Q学习矩阵进行强化学习,直至所述Q学习矩阵收敛,得到目标Q学习矩阵;
第二确定模块,用于针对每个SDN子网络区域,将所述目标Q学习矩阵中最大奖励值的部署策略,确定为所述SDN子网络区域的控制器部署策略。
9.一种软件定义网络SDN控制器部署设备,其特征在于,所述设备包括:处理器,以及存储有计算机程序指令的存储器;所述处理器读取并执行所述计算机程序指令,以实现如权利要求1-7任意一项所述的软件定义网络SDN控制器部署方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任意一项所述的软件定义网络SDN控制器部署方法。
CN202011421014.2A 2020-12-08 2020-12-08 软件定义网络sdn控制器部署方法、装置、设备及存储介质 Active CN114615146B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011421014.2A CN114615146B (zh) 2020-12-08 2020-12-08 软件定义网络sdn控制器部署方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011421014.2A CN114615146B (zh) 2020-12-08 2020-12-08 软件定义网络sdn控制器部署方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114615146A true CN114615146A (zh) 2022-06-10
CN114615146B CN114615146B (zh) 2024-04-09

Family

ID=81855838

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011421014.2A Active CN114615146B (zh) 2020-12-08 2020-12-08 软件定义网络sdn控制器部署方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114615146B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180006928A1 (en) * 2016-06-30 2018-01-04 Futurewei Technologies, Inc. Multi-controller control traffic balancing in software defined networks
CN108400890A (zh) * 2018-01-30 2018-08-14 天津城建大学 一种软件定义网络多控制器部署方法
CN110177011A (zh) * 2019-05-08 2019-08-27 武汉理工大学 一种适应动态网络结构的网络控制器部署方法
CN111770515A (zh) * 2020-06-28 2020-10-13 重庆邮电大学 一种基于网络成本优化的sdn控制器部署方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180006928A1 (en) * 2016-06-30 2018-01-04 Futurewei Technologies, Inc. Multi-controller control traffic balancing in software defined networks
CN108400890A (zh) * 2018-01-30 2018-08-14 天津城建大学 一种软件定义网络多控制器部署方法
CN110177011A (zh) * 2019-05-08 2019-08-27 武汉理工大学 一种适应动态网络结构的网络控制器部署方法
CN111770515A (zh) * 2020-06-28 2020-10-13 重庆邮电大学 一种基于网络成本优化的sdn控制器部署方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YIWEN WU, SIPEI ZHOU, YUNKAI WEI, SUPENG LENG: "《Deep Reinforcement Learning for Controller Placement in Software Defined Network》", 《IEEE INFOCOM 2020-IEEE CONFERENCE ON COMPUTER COMMUNICATIONS WORKSHOPS》, 9 July 2020 (2020-07-09) *
赵季红,张彬,王力,曲桦,郑浪: "《SDN中基于Q-learning的动态交换机迁移算法》", 《电视技术》, 30 June 2016 (2016-06-30) *

Also Published As

Publication number Publication date
CN114615146B (zh) 2024-04-09

Similar Documents

Publication Publication Date Title
US20170331694A1 (en) Optimizing a network topology to satisfy predicted growth
JP2021519461A (ja) 2つのノード間の到達可能なパスを決定するための方法、装置及びシステム
CN113239639B (zh) 策略信息生成方法、装置、电子装置和存储介质
CN110908799A (zh) 一种分布式训练中的通信方法、装置、设备、介质
CN108805174A (zh) 聚类方法及装置
CN113297127A (zh) 一种大规模分布式训练集群的参数更新方法、平台系统
CN109510681B (zh) 一种通信网络时间同步级数最小的基准节点选择方法
CN107995047B (zh) 一种数据中心的拓扑组网方法及装置
CN107357649B (zh) 系统资源部署策略的确定方法、装置及电子设备
CN114615146B (zh) 软件定义网络sdn控制器部署方法、装置、设备及存储介质
CN114173421B (zh) 基于深度强化学习的LoRa逻辑信道及功率分配方法
CN116938323A (zh) 一种基于强化学习的卫星转发器资源分配方法
CN113992520B (zh) 一种虚拟网络资源的部署方法和系统
CN113656046A (zh) 一种应用部署方法和装置
CN109492759B (zh) 神经网络模型预测方法、装置和终端
CN113010813A (zh) 一种基于随机游走的标签传播重叠社区发现方法及系统
CN115965070B (zh) 计算图处理方法、装置、设备、存储介质以及程序产品
CN113315656B (zh) 基于图传播的节点重要性评估方法、系统及可读存储介质
CN114401106B (zh) 一种加权无标度网络修复方法、装置、设备及存储介质
CN117009061A (zh) 任务处理方法、装置、设备及计算机可读存储介质
CN115499305B (zh) 一种分布式集群存储设备的部署方法、装置及电子设备
CN113590263B (zh) 虚拟机调度方案获得方法、装置、终端设备以及存储介质
CN117294641A (zh) 一种基于概率代价的全局信号路由方法
CN117201383A (zh) 面向电力物联系统的路由和边缘计算设备选择方法及装置
CN118012218A (zh) 一种光伏逆变器的最大功率跟踪方法、装置及电子设备

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
GR01 Patent grant
GR01 Patent grant