一种基于深度强化学习算法的服务功能链部署方法及系统

未命名 07-14 阅读:126 评论:0


1.本发明属于虚拟网络技术领域。具体涉及一种基于深度强化学习算法的服务功能链部署方法及系统。


背景技术:

2.一次网络服务需要多个传统网络设备(防火墙、nat、缓存器、负载均衡器)提供服务。服务功能链(sfc)是将网络设备抽象成为虚拟网络功能(虚拟网络功能节点)组成的有序集合。通过部署服务功能链,可根据由网络数据传输服务需求,在物理节点中灵活部署虚拟网络功能节点,减少网络中间设备对网络数据传输性能影响。
3.为提高服务功能链部署成功率,近年来学者们提出了传统算法、自适应算法两类算法。
4.以路由算法、启发式或贪婪式算法为代表的传统算法存在基于大规模迭代和计算、计算成本高,时间效率低下的问题,当网络状态急剧变化的时候不能适应不同网络的qos约束。针对这一问题,部分学者提出了基于强化学习和深度强化学习为代表的自适应算法来优化时变环境下服务功能链部署的成本和效率问题。
5.深度强化学习算法虽然提供了自适应部署的思路,但是因实际网络环境节点链路众多,各节点链路状态各异。网络状态空间为高维连续状态时已有强化学习算法不能有效在高维连续状态空间中提取状态空间特征,导致以网络状态为预测输入的算法训练稳定性差、训练结果与优化目标产生较大偏差。
6.已有深度强化学习算法多采用多层感知机mlp结构作为神经网络结构,该结构由多个全连接层组成,并按照全连接层种类分为mlp输入层、隐藏层、mlp输出层,当mlp输入层数和mlp输出层数较少时可以较为准确的预测输出。但是当mlp输入层较多时,需要增加隐藏层层数构建深层神经网络以增加神经网络预测准确性。随着神经网络层数的加深,优化函数更容易陷入局部最优,且偏离真正的全局最优,此时预测性能较浅层网络更差。
7.此外,由于mpl基于前向传播、后向传播、梯度更新方法更新模型权值参数,权值参数越多则用于更新模型参数的时空开销越大。mlp采用多个全连接网络形式,结构中的连接带来了数量级的权值参数,容易导致过拟合、梯度消失及梯度爆炸现象,使得神经网络预测方向偏离算法模型优化方向。所以单独使用mlp结构作为深度神经网络结构无法准确符合深度强化学习算法部署sfc的优化目标,由高维连续状态集高效准确得出最佳sfc部署策略。且mlp无法对时间序列上的环境建模,提取时间序列上的信息。


技术实现要素:

8.本发明的目的在于提供一种基于深度强化学习算法的服务功能链部署方法及系统,解决了现有算法存在的计算成本和时间效率低、算法训练稳定性差导致的服务功能链部署接受率低的问题。
9.实现本发明目的的技术方案如下:
10.本发明一方面提供了一种基于深度强化学习算法的服务功能链部署方法,包括以下步骤:
11.步骤s110、将实际网络抽象成数学无向有环图,将服务功能链部署请求表示为无环有向图;
12.步骤s120、根据所述无向有环图和所述无环有向图将网络性能数据数学化,其中,所述网络性能数据包括时延数据、带宽数据和网络资源数据;
13.步骤s130、基于数学化后的网络性能数据构建马尔可夫决策过程模型,马尔可夫决策过程模型是在环境中模拟智能体的随机性策略与回报的数学模型,该数学模型包含奖励集,动作集,状态集;
14.步骤s140、所述状态集、所述动作集和所述奖励集使用actor-critic算法搭建actor网络和critic网络,并基于bilstm神经网络提取网络环境状态空间状态的隐藏状态向量特征,将隐藏状态向量特征作为深度神经网络的输入进行特征学习,深度神经网络输出策略动作集合;
15.步骤s150、从策略动作集合中选取发生概率最大的策略动作作用于网络环境。
16.基于一方面,在一种可能的实现方式中,所述步骤s110中无向有环图表示为g=(v,e),其中g代表网络,v代表网络节点,e代表网络之间的链路;
17.所述步骤s110中无环有向图表示为gr=(vr,er),其中vr代表用户的服务功能链请求放置的虚拟网络功能节点,er表示两相邻虚拟网络功能节点功能节点之间的链路集合。
18.基于一方面,在一种可能的实现方式中,所述步骤s120的时延数据,链路传输总计时延要小于服务功能链时延的传输阈值
19.所述步骤s120的带宽数据,放置在相邻网络节点u,v∈v的服务功能链中虚拟网络功能节点的请求带宽需求之和不能超过其某一条相邻网络节点链路的带宽b
uv

20.所述步骤s120的网络资源数据,放置在网络节点v∈v上的虚拟网络功能节点的资源需求之和小于该网络节点拥有的物理资源之和av。
21.基于一方面,在一种可能的实现方式中,所述步骤s130中,为深度强化学习算法建立马尔科夫决策过程模型,马尔科夫决策过程模型是深度强化学习智能体的一部分。
22.基于一方面,在一种可能的实现方式中,所述步骤s130中状态集为其中,
23.其中,表示每个网络节点剩余的资源,表示每个网络节点剩余的输出带宽,i表示sfc部署请求中的虚拟网络功能节点的部署需求;
24.所述步骤s130中动作集为a={0,1,2,3...,|v|},每次执行的动作a∈a;在每个t时刻的状态s
t

25.所述步骤s130中奖励集是基于深度强化学习动作建立的,深度强化学习动作表示虚拟网络功能节点的动作,该动作通过深度强化学习算法智能体执行部署,每次动作执行一个sfc部署请求的一个虚拟网络功能节点的部署。
26.基于一方面,在一种可能的实现方式中,基于深度强化学习动作建立奖励集,当每个时刻虚拟网络功能节点部署成功即奖励,每次部署失败则惩罚;
27.深度强化学习算法通过最大化长期奖励优化目标。
28.基于一方面,在一种可能的实现方式中,所述步骤s140以隐藏状态特征向量为mlp神经网络输入,mlp神经网络进行特征学习,mlp神经网络输出策略动作集合并预测深度强化学习智能体采取动作的概率。
29.基于一方面,在一种可能的实现方式中,所述步骤s140中,actor网络负责输出策略动作a∈a与网络环境交互,网络环境在接受actor网络动作后得到该动作作用于网络环境得到奖励函数r和下一时刻的状态s
t+1

30.状态s
t+1
和奖励函数r输入critic网络,critic网络输出值函数近似值
31.和状态行动值函数近似值
32.使用td方法计算优势函数:
[0033][0034]
用于评价上一时刻的actor网络的动作的好坏,若上一时刻的动作好则增加该动作出现的概率,鼓励该动作继续执行;若上一时刻的动作不好则降低该动作出现的概率,避免再次出现该动作;
[0035]
actor网络在接受critic网络的评价和本时刻状态集合s
t+1
后通过深度神经网络输出策略动作再次作用于网络环境。
[0036]
基于一方面,在一种可能的实现方式中,深度强化学习智能体在所述步骤s140的策略动作集合中选取发生概率最大的动作在网络环境中放置虚拟网络功能节点;
[0037]
基于mpls协议为每个目标流量分配mpls包头,在每个放置虚拟网络功能节点的网络节点中设置mpls转发表引导流量进行定向转发,使得流量按照放置虚拟网络功能节点的网络节点定向流动。
[0038]
本发明另一方面提供了一种基于深度强化学习算法的服务功能链部署系统,包括:
[0039]
网络建模单元,所述网络建模单元将服务功能链部署请求建模成无环有向图,将实际网络抽象成为数学无向有环图,其中,有环无向图表示网络环境的分布状况,无环有向图表示网络环境的服务功能链;
[0040]
性能优化单元,所述性能优化单元根据所述无向有环图和所述无环有向图建立时延、带宽、资源三方面的约束,得到时延数据、带宽数据和网络资源数据,并基于优化目标建立时延数据、带宽数据和网络资源数据的优化方程;
[0041]
深度强化学习智能体单元,所述深度强化学习智能体单元包括:为深度强化学习算法建立的马尔科夫决策过程模型、以及actor-critic算法;基于深度强化学习算法和时延数据、带宽数据和网络资源数据分别建立状态集、动作集、奖励集;基于actor-critic算法搭建actor网络和critic网络,并基于bilstm神经网络提取网络环境状态空间状态的隐藏状态向量特征,将隐藏状态向量特征作为深度神经网络的输入进行特征学习,深度神经网络输出策略动作集合;
[0042]
部署单元,所述部署单元从策略动作集合中选取发生概率最大的策略动作作用于网络环境。
[0043]
与现有技术相比,本发明的有益效果是:
[0044]
本发明基于深度强化学习算法的服务功能链部署技术,设计了一种自适应方法部
署服务功能链,能够有效的适应用户的需求,显著提高服务功能链在时变网络环境下的部署成功率。本发明在广域网及无线(lte)链路上均可取得较好性能表现,本发明适用于多种网络环境。
附图说明
[0045]
图1为本发明提供的一种基于深度强化学习算法的服务功能链部署方法流程图;
[0046]
图2为本发明采用的服务功能链部署模块结构示意图;
[0047]
图3为本发明采用的bilstm神经网络结构示意图;
[0048]
图4为本发明中基于mpls协议部署服务功能链的仿真示意图。
具体实施方式
[0049]
为了进一步阐述本发明为达成预定发明的目的所采取的技术手段及功效,以下结合附图及具体实施方式,对依据本发明所提出的一种基于深度强化学习算法的服务功能链部署方法及系统进行详细说明。
[0050]
有关本发明的前述及其他技术内容、特点及功效,在以下配合附图的具体实施方式详细说明中即可清楚地呈现。通过具体实施方式的说明,可对本发明为达成预定目的所采取的技术手段及功效进行更加深入且具体地了解,然而所附图仅是提供参考与说明之用,并非用来对本发明的技术方案加以限制。
[0051]
为了解决现有算法存在的计算成本和时间效率低、算法训练稳定性差导致的服务功能链部署接受率低的问题,本发明实施例提供了一种基于深度强化学习算法的服务功能链部署算法。
[0052]
请参阅图1,本发明实施例一方面提供了一种基于深度强化学习算法的服务功能链部署方法及系统,包括以下步骤:
[0053]
步骤s110、将实际网络抽象成为数学无向有环图,将服务功能链部署请求表示为无环有向图。
[0054]
上述无向有环图表示为g=(v,e),其中g代表网络,v代表网络节点,e代表网络之间的链路;上述无环有向图表示为gr=(vr,er),其中vr代表用户的服务功能链请求放置的虚拟网络功能节点,er表示两相邻虚拟网络功能节点功能节点之间的链路集合。
[0055]
本发明实施例对网络环境建模,将网络环境建模成为无向有环图,对服务功能链建模成为无环有向图。即将网络环境模型表示g=(v,e),其中g代表网络,v代表网络节点,e代表网络之间的链路。将用户的数据定向转发请求即服务功能链部署请求表示为无环有向图即gr=(vr,er),其中vr代表服务功能链请求放置的虚拟网络功能节点,er表示两相邻虚拟网络功能节点之间的链路集合。
[0056]
使用r表示服务功能链的请求集合r=(ri,1≤i≤|r|)。ri表示第i条服务功能链的请求放置功能节点集合请求放置功能节点集合表示第i条服务功能链需要的功能节点表示第i条服务功能链需要的功能节点表示部署的服务功能链的时延限制;表示部署的服务功能链的带宽限制;表示部署的服务功能链的时延限制。
[0057]
为描述网络节点的资源数量,使用v∈v表示网络节点的总
计资源数量。表示网络节点v的cpu计算性能;衡量网络节点的存储能力,表示网络节点的内存使用情况;表示服务功能链构建中需要网络节点满足的其余处理能力指标。表示部署服务功能链中的虚拟网络功能节点需要的资源量。其中表示服务功能链中放置的虚拟网络功能节点节点对于cpu的需求;表示虚拟网络功能节点节点对于内存的需求;表示虚拟网络功能节点节点对于网络节点其余处理能力的需求。
[0058]
为了描述第i条服务功能链的部署请求ri上的第j个虚拟网络功能节点节点是否正确部署到了网络节点v上,定义了布尔变量若虚拟网络功能节点成功放置在网络节点v上则值为1,否则为0。定义了布尔变量表示第i条服务功能链的部署请求ri上相邻的的第j和第k个虚拟网络功能节点是否正确放置在网络节点u,v上,其中1≤j,k≤|ri|,uv∈e。若相邻虚拟网络功能节点正确放置且虚拟链路正确放置在网络链路之中为1,否则为0。考虑网络节点间的链路及带宽特性,定义l
u,v
为网络节点u,v之间的时延,b
u,v
为网络节点u,v之间的带宽,其中u,v∈v,uv∈e。
[0059]
步骤s120、根据无向有环图和无环有向图将网络性能数据数学化,其中,网络性能数据包括时延数据、带宽数据和网络资源数据。
[0060]
上述时延数据,链路传输总计时延要小于服务功能链时延的传输阈值上述带宽数据,放置在相邻网络节点u,v∈v的服务功能链中虚拟网络功能节点的请求带宽需求之和不能超过其某一条相邻网络节点链路的带宽b
uv
;上述网络资源数据,放置在网络节点v∈v上的虚拟网络功能节点的资源需求之和小于该网络节点拥有的物理资源之和av。
[0061]
本发明实施例根据网络情况建立时延、带宽、资源三方面的约束,并基于优化目标建立优化方程。具体包括对资源方面的限制,考虑到一个虚拟网络功能节点的多个服务实例可以部署到一个网络节点上以承担多条服务功能链请求,放置在网络节点v∈v上的虚拟网络功能节点的资源需求之和小于该网络节点拥有的物理资源之和av。链路传输总计时延要小于服务功能链时延的传输阈值放置在相邻网络节点u,v∈v的服务功能链中虚拟网络功能节点的请求带宽需求之和不能超过其某一条相邻网络节点链路的带宽b
uv

[0062]
步骤s130、基于数学化后的网络性能数据构建马尔可夫决策过程模型,马尔可夫决策过程模型是在环境中模拟智能体的随机性策略与回报的数学模型,该数学模型包含奖励集,动作集,状态集。
[0063]
为深度强化学习算法建立马尔科夫决策过程模型,马尔可夫决策过程是在环境中模拟智能体的随机性策略(policy)与回报的数学模型。马尔可夫决策过程模型包含奖励集,动作集,状态集。状态集为其中,其中,表示每个网络节点剩余的资源,表示每个网络节点剩余的输出带宽,i表示sfc部署请求中的虚拟网络功能节点的部署需求;动作集为a={0,1,2,3...,|v|},每次执行的动作a∈a;在每个t时刻的状态s
t
;奖励集是基于深度强化学习动作建立的,深度强化学习动作表示虚拟网
络功能节点的动作,该动作通过深度强化学习算法智能体执行部署,每次动作执行一个sfc部署请求的一个虚拟网络功能节点的部署。
[0064]
本发明实施例为深度强化学习算法建立马尔科夫决策过程模型,即基于深度强化学习过程分别建立状态集、动作集、奖励集。
[0065]
将状态集合表示成为其中其中表示每个网络节点剩余的资源表示每个网络节点剩余的输出带宽;表示第ri个sfc部署请求的第j个虚拟网络功能节点的部署需求有其中表示第ri个服务功能链部署请求的带宽需求;表示第ri个sfc部署请求的时延约束;表示第ri个sfc部署请求的第j个虚拟网络功能节点的资源需求;表示第ri个服务功能链部署请求的生存时间。
[0066]
定义动作集合a={0,1,2,3...,|v|},每次执行的动作a∈a。在每个t时刻的状态s
t
,深度强化学习算法智能体执行部署虚拟网络功能节点的动作,每次动作执行一个sfc部署请求的一个虚拟网络功能节点的部署。当a=0时表示该状态下第ri个sfc部署请求中的第j个虚拟网络功能节点未部署成功在第k个网络节点之上,当a=k时候表示该第ri个sfc部署请求中的第j个虚拟网络功能节点部署在第k个网络节点之上。则深度强化学习算法的动作集合为:
[0067][0068]
同时每个状态下部署虚拟网络功能节点时,需要检查该虚拟网络功能节点网络资源含量是否满足部署虚拟网络功能需求;已经部署的虚拟网络功能节点消耗的网络节点部署时延和链路传输时延是否小于该sfc部署请求的时延限制;相邻已部署的虚拟网络功能节点之间的传输带宽需求不能超过任意一条相邻网络节点链路的带宽b
uv
。当每次满足虚拟网络功能节点对于网络节点资源的需求和sfc对时延和带宽资源的需求则部署成功。如果在t时刻的状态s
t
,虚拟网络功能节点不满足节点资源的部署需求,首先需要检查是否满足sfc的时延和带宽资源的需求,若满足时延带宽需求,智能体回退到上一个状态,并在下一个时刻状态继续寻找可用节点部署该时刻的虚拟网络功能节点,直至虚拟网络功能节点部署成功。若找不到任一一个网络节点放置虚拟网络功能节点或者不满足sfc对于时延带宽的要求则中止放置,并拒绝sfc的请求。
[0069]
由于sfc为有序的虚拟网络功能节点组成的集合,一条sfc的部署成功的前提是建立在一条sfc的所有虚拟网络功能节点部署成功的基础上。且深度强化学习算法的优化目标是最大化累计奖励函数,即奖励函数增长最快的方向代表着深度强化学习算法任一时刻的最佳策略优化方向,即反映了系统模型制定的优化方向。设计奖励函数当每个时刻虚拟网络功能节点部署成功即奖励其中为每次第ri条sfc部署请求中的第j个虚拟网络功能节点成功后获得的资源。奖励表示f鼓励虚拟网络功能节点占据
资源,鼓励虚拟网络功能节点的放置,即符合sfc系统模型中最小化网络节点维护的资源成本的优化目标,使得网络节点可以充分接收虚拟网络功能节点的部署请求。表示第ri条sfc部署请求中的第j个虚拟网络功能节点部署时消耗的网络节点部署时延和链路传输时延,项作为惩罚系数即符合sfc系统模型中最小化链路时延,提升网络吞吐量的优化目标。表示第ri条sfc部署请求中的第j个虚拟网络功能节点部署时消耗的网络节点带宽,作为惩罚系数即符合sfc系统模型中最小化部署每条sfc使用的带宽,提升链路的带宽利用率的优化目标。
[0070]
步骤s140、状态集、动作集和奖励集使用actor-critic算法搭建actor网络和critic网络,并基于bilstm神经网络提取网络环境状态空间状态的隐藏状态向量特征,将隐藏状态向量特征作为深度神经网络的输入进行特征学习,深度神经网络输出策略动作集合。
[0071]
基于深度强化学习动作建立奖励集,当每个时刻虚拟网络功能节点部署成功即奖励,每次部署失败则惩罚;深度强化学习算法通过最大化长期奖励优化目标。
[0072]
上述以隐藏状态特征向量为mlp神经网络输入,mlp神经网络进行特征学习,mlp神经网络输出策略动作集合并预测深度强化学习智能体采取动作的概率。
[0073]
上述actor网络负责输出策略动作a∈a与网络环境交互,网络环境在接受actor网络动作后得到该动作作用于网络环境得到奖励函数r和下一时刻的状态s
t+1
;状态s
t+1
和奖励函数r输入critic网络,critic网络输出值函数近似值和状态行动值函数近似值使用td方法计算优势函数:
[0074][0075]
用于评价上一时刻的actor网络的动作的好坏,若上一时刻的动作好则增加该动作出现的概率,鼓励该动作继续执行;若上一时刻的动作不好则降低该动作出现的概率,避免再次出现该动作;actor网络在接受critic网络的评价和本时刻状态集合s
t+1
后通过深度神经网络输出策略动作再次作用于网络环境。
[0076]
步骤s150、从策略动作集合中选取发生概率最大的策略动作作用于网络环境。
[0077]
深度强化学习智能体在步骤s140的策略动作集合中选取发生概率最大的动作在网络环境中放置虚拟网络功能节点;基于mpls协议为每个目标流量分配mpls包头,在每个放置虚拟网络功能节点的网络节点中设置mpls转发表引导流量进行定向转发,使得流量按照放置虚拟网络功能节点的网络节点定向流动。
[0078]
本发明实施例基于actor-critic算法结构搭建actor网络和critic网络,并基于bilstm神经网络提取状态空间状态隐藏状态向量特征、以隐藏状态特征向量为dnn神经网络输入,预测出深度强化学习智能体采取动作的概率。本发明实施例智能体根据选取发生概率最大的动作,基于sdn结构和mpls协议在网络中部署服务功能链。
[0079]
本发明实施例还提供了一种基于深度强化学习算法的服务功能链部署系统,包括网络建模单元、性能优化单元和深度强化学习智能体单元,网络建模单元将网络环境建模成无向有环图和无环有向图,其中,有环无向图表示网络环境的分布状况,无环有向图表示
网络环境的服务功能链;性能优化单元根据无向有环图和无环有向图建立时延、带宽、资源三方面的约束,得到时延数据、带宽数据和网络资源数据,并基于优化目标建立时延数据、带宽数据和网络资源数据的优化方程;深度强化学习智能体单元包括:为深度强化学习算法建立的马尔科夫决策过程模型、以及actor-critic算法;基于深度强化学习算法和时延数据、带宽数据和网络资源数据分别建立状态集、动作集、奖励集;基于actor-critic算法搭建actor网络和critic网络,并基于bilstm神经网络提取网络环境状态空间状态的隐藏状态向量特征,将隐藏状态向量特征作为深度神经网络的输入进行特征学习,深度神经网络输出策略动作集合;部署单元从策略动作集合中选取发生概率最大的策略动作作用于网络环境。
[0080]
图2是本发明实施例的服务功能链部署平台示意图。首先搭建linux系统,在linux系统中部署支持多层数据转发的高质量虚拟交换机(open vswitch,ovs),ovs的网络链接选择vxlan隧道模式,ovs支持在虚拟化网络环境中远程管理的协议openflow。部署支持openflow协议的软件定义网络控制器ryu控制器,部署网络仿真编排系统mininet。虚拟交换机ovs可仿真为实际网络中的具有路由功能的虚拟网络功能节点,网络仿真编排系统mininet可将ovs和ryu控制器模拟成目标网络流量需要依次经过的虚拟网络功能节点逻辑序列拓扑,即服务功能链。mininet构建此拓扑可通过运行python脚本实现,用户端可以按照需求利用算法定制服务功能链,在保证用户需求的前提下,使得物理资源消耗最小的安全,快速,稳定的传送目标网络流量。同时mininet系统本身提供可视化拓扑构建模块miniedit,为用户提供了更为直观的方式对拓扑进行编排。这种动态的编排方式也使得计算和网络资源可以动态分配,不仅满足不同用户应用需求进行构建,部署,实现了服务能力的弹性扩展,与以往采用诸多硬件设备进行仿真相比,成本也大大降低。搭建linux系统并在系统中部署好软件定义网络控制器后,按照软件定义网络转发平面与控制平面分离的思想,软件定义网络控制器既需要通过北向接口接收用户通过服务功能链构建平台下发的服务功能链,接收其指令解析成流表的格式,又需要通过南向接口下发流表控制采用网络功能虚拟化技术即nfv,将实际设备功能虚拟成虚拟网络功能节点即虚拟网络功能节点。同时需要构建sqllite数据库一方面为服务功能链构建平台提供储存虚拟网络功能节点虚拟网络功能节点的注册信息,另一方面为软件定义网络控制器提供空间以存储服务功能链构建平台通过北向接口下发的还未及解析的服务功能链,以及来自用户端通过北向接口下发的目标网络流量。容器是操作系统级的一种虚拟化形式,它将应用程序依赖关系、所需的库和配置封装在同一操作系统的其他容器隔离的包中。在搭建好的linux系统中,需要部署当前主流的容器技术docker,可以大幅度提升平台所支持网络仿真的规模性。容器能让应用程序以独立的方式运行,并且可以轻松迁移。网络功能虚拟化技术nfv中的虚拟化层(在此我们采用容器管理系统docker),管理虚拟网络功能节点虚拟网络功能节点的物理计算、存储和网络组件以及控制虚拟网络功能节点的资源分配。用户将构建的服务功能链通过软件定义网络的北向接口下发给软件定义网络控制器中,并由软件网络控制器将服务功能链解析成流表的形式,通过软件定义网络控制器南向接口,控制使用网络虚拟化技术将实际路由功能组件虚拟成的虚拟网络功能节点虚拟网络功能节点组成的逻辑链路,使得用户流量按照所期望的虚拟网络功能节点逻辑顺序通过。实现整体技术路线的调试,并针对细节进行完善。空,天,地协同网络中的网络节点间的无线通信链路在仿真平台中表现为虚拟网络功
能节点间的虚拟网络链路。需要搭建测试平台将网络中网络链路的各项物理层传输特性(如:传输衰减,传输时延,天线增益,误码率,噪音干扰等参数)结合特定的链路层接入协议,通过网络信道模型转化为虚拟网络功能节点间的虚拟网络链路的性能指标(主要指网络层的传输速率,时延,丢包率)进行定量分析。linux操作系统提供了一套非常丰富的工具来管理和操纵数据包的传输来实现网络流量控制,其中最为广泛使用的则是linux tc(traffic control)。通过linux tc控制仿真节点虚拟网络链路,从而保证仿真的准确性,真实性。
[0081]
图3是本发明实施例中的深度神经网络模块示意图。首先将向量矩阵输入到bilstm得到隐藏状态矩阵h。根据不同节点此刻出现可能性为隐藏状态分配权重:
[0082]
e=softmax(w
s2
tanh(w
s1ht
))
[0083]
得新的网络节点压缩隐藏状态矩阵:m=eh,对隐藏状态矩阵的每一列均值得到新的4维节点资源状态向量sv',对于此时刻部署的sfc的n个虚拟网络功能节点输入的n
×
6维sfc部署请求状态向量,经bilstm神经网络后得到6维状态向量将sv'经过两层全连接网络后输出动作策略,获得部署的动作。
[0084]
图4是本发明实施例中基于mpls协议部署服务功能链的仿真示意图。由图可知在服务功能链部署前,数据包未按照放置虚拟网络功能节点的网络节点顺序流动,在部署虚拟网络功能节点后,数据包按照放置虚拟网络功能节点的网络节点顺序流动。
[0085]
本发明实施例基于深度强化学习算法的服务功能链部署技术,设计了一种自适应方法部署服务功能链,能够有效的适应用户的需求,显著提高服务功能链在时变网络环境下的部署成功率。本发明实施例在广域网及无线(lte)链路上均可取得较好性能表现,即本发明实施例适用于多种网络环境。
[0086]
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

技术特征:
1.一种基于深度强化学习算法的服务功能链部署方法,其特征在于,包括以下步骤:步骤s110、将实际网络抽象成数学无向有环图,将服务功能链部署请求表示为无环有向图;步骤s120、根据所述无向有环图和所述无环有向图将网络性能数据数学化,其中,所述网络性能数据包括时延数据、带宽数据和网络资源数据;步骤s130、基于数学化后的网络性能数据构建马尔可夫决策过程模型,马尔可夫决策过程模型是在环境中模拟智能体的随机性策略与回报的数学模型,该数学模型包含奖励集,动作集,状态集;步骤s140、所述状态集、所述动作集和所述奖励集使用actor-critic算法搭建actor网络和critic网络,并基于bilstm神经网络提取网络环境状态空间状态的隐藏状态向量特征,将隐藏状态向量特征作为深度神经网络的输入进行特征学习,深度神经网络输出策略动作集合;步骤s150、从策略动作集合中选取发生概率最大的策略动作作用于网络环境。2.根据权利要求1所述的一种基于深度强化学习算法的服务功能链部署方法,其特征在于,所述步骤s110中无向有环图表示为g=(v,e),其中g代表网络,v代表网络节点,e代表网络之间的链路;所述步骤s110中无环有向图表示为g
r
=(v
r
,e
r
),其中v
r
代表用户的服务功能链请求放置的虚拟网络功能节点,e
r
表示两相邻虚拟网络功能节点功能节点之间的链路集合。3.根据权利要求1所述的一种基于深度强化学习算法的服务功能链部署方法,其特征在于,所述步骤s120的时延数据,链路传输总计时延要小于服务功能链时延的传输阈值所述步骤s120的带宽数据,放置在相邻网络节点u,v∈v的服务功能链中虚拟网络功能节点的请求带宽需求之和不能超过其某一条相邻网络节点链路的带宽b
uv
;所述步骤s120的网络资源数据,放置在网络节点v∈v上的虚拟网络功能节点的资源需求之和小于该网络节点拥有的物理资源之和a
v
。4.根据权利要求1所述的一种基于深度强化学习算法的服务功能链部署方法,其特征在于,所述步骤s130中,为深度强化学习算法建立马尔科夫决策过程模型,马尔科夫决策过程模型是深度强化学习智能体的一部分。5.根据权利要求1或4所述的一种基于深度强化学习算法的服务功能链部署方法,其特征在于,所述步骤s130中状态集为其中,其中,表示每个网络节点剩余的资源,表示每个网络节点剩余的输出带宽,i表示sfc部署请求中的虚拟网络功能节点的部署需求;所述步骤s130中动作集为a={0,1,2,3...,|v|},每次执行的动作a∈a;在每个t时刻的状态s
t
;所述步骤s130中奖励集是基于深度强化学习动作建立的,深度强化学习动作表示虚拟网络功能节点的动作,该动作通过深度强化学习算法智能体执行部署,每次动作执行一个sfc部署请求的一个虚拟网络功能节点的部署。
6.根据权利要求5所述的一种基于深度强化学习算法的服务功能链部署方法,其特征在于,基于深度强化学习动作建立奖励集,当每个时刻虚拟网络功能节点部署成功即奖励,每次部署失败则惩罚;深度强化学习算法通过最大化长期奖励优化目标。7.根据权利要求1所述的一种基于深度强化学习算法的服务功能链部署方法,其特征在于,所述步骤s140以隐藏状态特征向量为mlp神经网络输入,mlp神经网络进行特征学习,mlp神经网络输出策略动作集合并预测深度强化学习智能体采取动作的概率。8.根据权利要求1或7所述的一种基于深度强化学习算法的服务功能链部署方法,其特征在于,所述步骤s140中,actor网络负责输出策略动作a∈a与网络环境交互,网络环境在接受actor网络动作后得到该动作作用于网络环境得到奖励函数r和下一时刻的状态s
t+1
;状态s
t+1
和奖励函数r输入critic网络,critic网络输出值函数近似值和状态行动值函数近似值使用td方法计算优势函数:用于评价上一时刻的actor网络的动作的好坏,若上一时刻的动作好则增加该动作出现的概率,鼓励该动作继续执行;若上一时刻的动作不好则降低该动作出现的概率,避免再次出现该动作;actor网络在接受critic网络的评价和本时刻状态集合s
t+1
后通过深度神经网络输出策略动作再次作用于网络环境。9.根据权利要求1所述的一种基于深度强化学习算法的服务功能链部署方法,其特征在于,深度强化学习智能体在所述步骤s140的策略动作集合中选取发生概率最大的动作在网络环境中放置虚拟网络功能节点;基于mpls协议为每个目标流量分配mpls包头,在每个放置虚拟网络功能节点的网络节点中设置mpls转发表引导流量进行定向转发,使得流量按照放置虚拟网络功能节点的网络节点定向流动。10.一种基于深度强化学习算法的服务功能链部署系统,其特征在于,包括:网络建模单元,所述网络建模单元将服务功能链部署请求建模成无环有向图,将实际网络抽象成为数学无向有环图,其中,有环无向图表示网络环境的分布状况,无环有向图表示网络环境的服务功能链;性能优化单元,所述性能优化单元根据所述无向有环图和所述无环有向图建立时延、带宽、资源三方面的约束,得到时延数据、带宽数据和网络资源数据,并基于优化目标建立时延数据、带宽数据和网络资源数据的优化方程;深度强化学习智能体单元,所述深度强化学习智能体单元包括:为深度强化学习算法建立的马尔科夫决策过程模型、以及actor-critic算法;基于深度强化学习算法和时延数据、带宽数据和网络资源数据分别建立状态集、动作集、奖励集;基于actor-critic算法搭建actor网络和critic网络,并基于bilstm神经网络提取网络环境状态空间状态的隐藏状态向量特征,将隐藏状态向量特征作为深度神经网络的输入进行特征学习,深度神经网络输出策略动作集合;
部署单元,所述部署单元从策略动作集合中选取发生概率最大的策略动作作用于网络环境。

技术总结
本发明提供了一种基于深度强化学习算法的服务功能链部署方法,包括以下步骤:S1:将实际网络抽象成数学无向有环图,将服务功能链部署请求表示为无环有向图;S2:根据无向有环图和无环有向图将网络性能数据数学化;S3:基于数学化后的网络性能数据构建马尔可夫决策过程模型,包含奖励集,动作集,状态集;S4:使用Actor-Critic算法搭建Actor网络和Critic网络,并基于BILSTM神经网络提取隐藏状态向量特征,将其作为深度神经网络的输入进行特征学习,深度神经网络输出策略动作集合;S5:从策略动作集合中选取发生概率最大的策略动作作用于网络环境。本发明的自适应方法部署服务功能链,能够有效的适应用户的需求,显著提高服务功能链在时变网络环境下的部署成功率。功能链在时变网络环境下的部署成功率。功能链在时变网络环境下的部署成功率。


技术研发人员:任鹏 刘飞达 李毅 许宝毅 相征
受保护的技术使用者:西安电子科技大学
技术研发日:2023.03.07
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐