一种性能感知的服务功能链智能部署方法及装置

文档序号:27974424发布日期:2021-12-14 23:30阅读:140来源:国知局
一种性能感知的服务功能链智能部署方法及装置

1.本发明属于通信技术领域,更具体地,涉及一种性能感知的服务功能链智能部署方法及装置。


背景技术:

2.如今网络已成为人们学习、生活与工作不可或缺的重要部分。传统网络由于软硬件紧耦合已无法满足日益增加的服务需求,而导致电信运营商服务增量但不增收。为此,业界提出网络功能虚拟化(nfv)技术,将网络功能与专用硬件设备解耦,以软件化形式将网络功能部署在通用服务器上。运营商可以将不同的虚拟网络功能(vnf)部署在通用服务器上,vnf间可以共享物理服务器资源,从而提高资源利用率。根据不同的服务需求,nfv技术将多种虚拟网络功能按特定顺序形成服务功能链(sfc)对外提供不同的服务。通过动态调整sfc的部署,能够灵活地满足多样化的用户需求,但同时也面临着诸多的挑战。由于vnf间存在过度资源竞争,与采用传统专用设备实现网络功能服务相比,nfv网络服务性能得不到根本性保证。
3.现有的服务功能链部署方法主要关注如何提高资源利用率或降低能耗的问题,但忽视了共享物理资源的vnf间会过度竞争底层硬件资源,造成服务性能下降。


技术实现要素:

4.针对现有技术的以上缺陷,本发明提供了一种性能感知的服务功能链智能部署方法及装置,其目的在于解决现有服务功能链部署方法因为过度资源竞争导致服务性能下降的技术问题。
5.为实现上述目的,第一方面,本发明提供了一种性能感知的服务功能链智能部署方法,包括以下步骤:
6.s1,计算服务功能链中所有vnf的性能影响因子总和;其中,每个vnf的性能影响因子为所述每个vnf所需的虚拟资源与对应物理服务器剩余的物理资源的比值;
7.s2,以所述总和最小为优化目标,利用深度强化学习算法得到最佳节点映射方案;
8.s3,基于所述最佳节点映射方案,完成所有vnf的映射;
9.s4,基于多路径的链路部署方法,完成服务功能链中不同vnf之间的链路映射。
10.进一步地,所述步骤s1中,
11.映射到服务器n
s
上的虚拟网络功能n
v
的性能影响因子为:
[0012][0013]
其中,n
v
∈n
v
,n
s
∈n
s
,n
v
和n
s
分别表示vnf集合和物理服务器集合;与分别表示虚拟网络功能n
v
所需的虚拟计算资源、虚拟缓存资源和虚拟带宽资源;与分别表示还未在物理服务器n
s
上部署虚拟网络功能n
v
时,物理服务
器n
s
上剩余的物理计算资源、物理缓存资源和物理带宽资源;为权重系数,且
[0014]
进一步地,所述步骤s2包括:
[0015]
采用深度强化学习算法中的dqn算法,通过最大化累计奖励得到最佳节点映射方案。
[0016]
进一步,所述采用深度强化学习算法中的dqn算法,通过最大化累计奖励得到最佳节点映射方案,包括:
[0017]
s21,设置深度强化学习算法的模型参数,包括状态集、动作集和奖励值;
[0018]
其中,t时刻的状态集s
t
={s
v
,s
p
};
[0019]
式中,s
v
为服务功能链中所有虚拟节点的状态集合,包括已映射虚拟节点与物理服务器的对应部署结果和剩余的未映射虚拟节点的状态;s
p
为底层物理服务器的状态集合,包括物理服务器已被vnf占用的资源和剩余资源的状态;
[0020]
t时刻的动作集a
t
={a
n
,a
r
};
[0021]
式中,a
n
为节点映射的动作集合,a
r
为资源分配的动作集合;
[0022]
t时刻的奖励值r
t
表示为:
[0023][0024]
式中,l为一个正数;
[0025]
s22,初始化经验回放池,随机初始化主网络,并将主网络的参数ω复制给目标网络;
[0026]
s23,初始化状态集s
t
={s
v
,s
p
},且令t=0,得到状态s
t

[0027]
s24,确定可选动作集a
t
,以ε的概率随机选择一个动作,以1

ε的概率依据主网络的估值选取最优动作;
[0028]
s25,执行s24最终选取的动作a
t
,得到奖励值r
t
,到达下一状态s
t+1
,将向量[s
t
,a
t
,r
t
,s
t+1
]放入经验回放池;若经验回放池满,则进入步骤s26;若经验回放池未满,但所有vnf已完成部署,则进入步骤s23;若经验回放池未满,且存在vnf未完成部署,则t=t+1,并进入步骤s24;
[0029]
s26,从经验回放池中随机抽取一批向量,并从所述一批向量中逐个取出向量分别输入主网络、目标网络以计算得到损失函数,使用梯度下降法更新所述参数ω;
[0030]
s27,重复步骤s26,并每隔时间长度t将所述参数ω复制给目标网络,直至网络收敛或达到预设迭代次数。
[0031]
进一步地,所述步骤s2中,
[0032]
所述目标的求解需满足以下约束条件:物理服务器上剩余的物理计算资源、物理缓存资源和物理带宽资源分别不小于vnf所需的虚拟计算资源、虚拟缓存资源和虚拟带宽资源。
[0033]
进一步地,步骤s4具体包括:
[0034]
根据服务功能链上各个vnf间的顺序约束得到vnf间的部署顺序,在满足链路资源
约束的条件下,利用多路径的链路部署方式,将虚拟链路映射到多个并行物理链路上。
[0035]
第二方面,本发明提供了一种性能感知的服务功能链智能部署装置,包括:计算模块,用于计算服务功能链中所有vnf的性能影响因子总和;其中,每个vnf的性能影响因子为所述每个vnf所需的虚拟资源与对应物理服务器剩余的物理资源的比值;寻优模块,用于以所述总和最小为优化目标,利用深度强化学习算法得到最佳节点映射方案;部署模块,用于基于所述最佳节点映射方案,完成所有vnf的映射;以及基于多路径的链路部署方法,完成服务功能链中不同vnf之间的链路映射。
[0036]
第三方面,本发明提供了一种电子设备,包括存储器和处理器;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过总线连接;当所述性能感知的服务功能链智能部署装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述性能感知的服务功能链智能部署装置执行第一方面提供的性能感知的服务功能链智能部署方法。
[0037]
第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质包括计算机执行指令,当所述计算机执行指令在计算机上运行时,使得所述计算机执行第一方面提供的性能感知的服务功能链智能部署方法。
[0038]
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
[0039]
(1)本发明将深度强化学习算法与服务功能链部署相结合,求解能使服务功能链中所有vnf的性能影响因子总和最小化的最佳节点映射方案,并以此完成所有vnf的映射。相较于现有的服务功能链部署方法,本发明提出的这种性能感知的智能化服务功能链部署方法能有效提高服务功能链的总服务性能,降低了服务功能链部署中因过度竞争底层物理资源带来的服务性能影响。
[0040]
(2)本发明采用多路径的链路部署方式,有效避免了单一路径失效对性能可能的影响,增强了服务功能链的安全性能。
附图说明
[0041]
图1为本发明实施例提供的服务功能链部署的映射模型图;
[0042]
图2为本发明实施例提供的性能感知的服务功能链智能部署方法的流程图之一;
[0043]
图3为本发明实施例提供的性能感知的服务功能链智能部署方法的流程图之二;
[0044]
图4为本发明实施例提供的性能感知的服务功能链智能部署装置的框图。
具体实施方式
[0045]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0046]
在本发明中,本发明及附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0047]
图1为本发明实施例提供的服务功能链部署的映射模型图。当用户发出请求时,服务提供商将生成由多个vnf组成的端到端服务功能链(例如sfc1和sfc2)。为了满足不同的
服务需求,不同服务功能链所需的vnf、它们之间的数量和链接顺序可能也不同。基础设施层中的服务器提供多种类型的网络资源,包括计算资源、缓存资源和带宽资源等。根据不同的需求,虚拟化层将虚拟节点映射到不同的服务器上。使用本发明提出的性能感知的服务功能链智能部署方法,能实现最佳性能的服务功能链部署。
[0048]
参阅图2,结合图3,本发明提供了一种性能感知的服务功能链智能部署方法的流程图,该部署方法包括操作s1

操作s4。
[0049]
操作s1,计算服务功能链中所有vnf的性能影响因子总和;其中,每个vnf的性能影响因子为所述每个vnf所需的虚拟资源与对应物理服务器剩余的物理资源的比值。具体地:
[0050]
为了量化的描述vnf的性能影响程度,本发明提出一种性能影响因子的概念,将其定义为vnf所需的虚拟资源与服务器剩余的物理资源的比值。假设一个物理服务器n
s
上部署了n个vnf,可将其中一个虚拟网络功能n
v
的性能影响因子定义为:
[0051][0052]
其中,n
v
∈n
v
,n
s
∈n
s
,n
v
和n
s
分别表示vnf集合和物理服务器集合;与分别表示虚拟网络功能n
v
所需的虚拟计算资源、虚拟缓存资源和虚拟带宽资源;与分别表示还未在物理服务器n
s
上部署虚拟网络功能n
v
时,物理服务器n
s
上剩余的物理计算资源、物理缓存资源和物理带宽资源。
[0053]
的定义如下:
[0054][0055]
φ
c
(n
s
)表示物理服务器n
s
自身可提供的所有计算资源总和,∑
j≠i
r
c
(j)表示未在物理服务器n
s
上部署虚拟网络功能n
v
(即第i个vnf)时,所有已部署vnf占用的计算资源总和;与的定义同理可得。
[0056]
由于不同类型的vnf对各类资源的需求也不一样,可以使用三个系数对权重进行灵活调整,且权重系数间应满足
[0057]
操作s2,以所述总和最小为优化目标,利用深度强化学习算法得到最佳节点映射方案。具体地:
[0058]
在服务功能链中,n
v
和n
s
分别表示vnf集合和物理服务器集合。在部署服务功能链的过程中,当服务功能链上的虚拟网络功能n
v
∈n
v
映射到服务器n
s
∈n
s
上时,根据性能影响因子的定义,通过选择能使vnf的性能影响因子最小的物理服务器,可以最小化vnf的性能影响程度。所以可把优化目标定为使服务功能链中所有vnf的性能影响因子总和最小化:
[0059][0060]
上述目标的求解需满足以下约束条件:确保物理服务器上剩余的计算资源、缓存资源和带宽资源不小于vnf所需的相应虚拟资源。此外,还需满足网络流量守恒定律和数据
传输时延限制。
[0061]
此外,本发明采用深度q网络(dqn)的框架,将深度学习的神经网络与强化学习的q

learning相结合,通过最大化累计奖励的方式寻找最佳策略。该方法需要确定基本的三元组:状态、动作和奖励,具体定义如下:
[0062]
状态:t时刻的状态s
t
是所有虚拟节点配置和服务器资源的状态集合:
[0063]
s
t
={s
v
,s
p
}
[0064]
s
v
为服务功能链中所有虚拟节点的状态集合,包括已映射虚拟节点与物理服务器的对应部署结果和剩余的未映射虚拟节点的状态,能够反映vnf部署情况;s
p
为底层物理服务器的状态集合,包括物理服务器已被vnf占用的资源和剩余资源的状态,能够反映基层环境中物理服务器的资源使用情况。
[0065]
动作:t时刻的动作a
t
是节点映射和资源分配的动作集合:
[0066]
a
t
={a
n
,a
r
}
[0067]
a
n
为节点映射的动作集合,将虚拟节点映射到基层服务器上;a
r
为资源分配的动作集合,根据vnf的需求分配相应的物理资源。通过不断的训练神经网络可以增大选中有效动作的概率,最终得到能够最小化所有vnf的性能影响因子总和的部署策略。
[0068]
奖励:奖励r
t
取决于状态s
t
和动作a
t
,应与前面的优化目标相关。优化目标为最小化所有vnf的性能影响因子总和,而dqn算法是通过最大化累计奖励的方式来寻找最佳策略,所以可将t时刻的奖励r
t
定义为t时刻映射到服务器n
s
上的虚拟网络功能n
v
的性能影响因子的倒数:
[0069][0070]
式中,l为一个正数。
[0071]
该奖励保证了在满足vnf所需的资源的基础上,最小化性能影响因子,即尽量降低vnf的性能影响程度;若选择了无效的动作,如服务器资源不满足vnf需求等,该动作奖励可设为

100,即l=100。
[0072]
dqn算法由两个相似的卷积神经网络和一个经验回放池组成,其原理是用神经网络的估值q(s
t
,a
t
,ω)去近似最优动作价值函数q
*
(s
t
,a
t
)。根据当前的环境,智能体通过不断尝试各种动作获得奖励,从而使环境变化为下一状态,收集多组[s
t
,a
t
,r
t
,s
t+1
]向量放入经验回放池。相比于直接获取连续的训练数据组,从经验回放池中随机抽取一批向量样本组能降低数据组间的相关性。用随机抽取的向量组训练卷积神经网络,通过训练不断更新神经网络的参数,来逐渐提高拟合精确度。当训练达到一定次数时,神经网络能较好的拟合最优动作价值函数,从而得到最优部署策略。
[0073]
当有服务请求到达时,首先对基层环境和虚拟层环境进行探寻得到相应状态,假设t时刻的状态为s
t
,使用ε贪婪策略:以ε的概率随机选择一个动作a
t
,以1

ε的概率将s
t
输入主神经网络,根据动作价值函数的估值选择动作a
t
。执行a
t
,得到相应奖励r
t
,并使环境变为下一状态s
t+1
,得到一组向量[s
t
,a
t
,r
t
,s
t+1
]存入经验池中。然后从状态s
t+1
开始继续探寻,执行下一个动作a
t+1
。直到整条服务功能链部署完成,即一个部署周期结束,然后下一个
部署周期再从头开始,重复这个过程来丰富经验回放池。
[0074]
当经验回放池中已有足够数量的向量后,可从经验回放池中随机抽取一批向量。以其中一组向量[s
t
,a
t
,r
t
,s
t+1
]为例,将s
t
和a
t
输入主神经网络,得到q估计值q(s
t
,a
t
,ω),ω表示主神经网络的权重。将s
t+1
输入目标q网络,再加上r
t
得到目标q值:
[0075][0076]
ω

表示目标q网络的权重,将主网络q值与目标网络q值相减得到损失函数:
[0077][0078]
使用损失函数loss通过梯度下降法更新主网络权重ω。目标q网络的权重ω

的更新依赖主网络的训练结果。为了减小数据波动对模型稳定性的影响,每隔时间长度t,将主网络的权重ω拷贝给目标网络的权重ω

,使目标网络在一段时间内固定不变,可以减轻模型波动性。该过程循环执行,不断迭代,直到损失函数收敛到足够小的范围。此时,主神经网络已趋于收敛,根据q估值执行部署能得到最优策略。
[0079]
如图3所示,整个方法总结得到步骤如下:
[0080]
1.初始化经验回放池,随机初始化主q网络,并将参数复制给目标q网络,即ω

=ω。
[0081]
2.初始化状态集合s
t
={s
v
,s
p
},且t=0。
[0082]
3.确定可选动作集a
t
,以ε的概率随机选择一个动作a
t
,以1

ε的概率依据主神经网络q的估值选取最优动作a
t
=argmax
a
q(s
t
,a
t
,ω)。
[0083]
4.执行动作a
t
,得到奖励r
t
,到达下一状态s
t+1
,将向量[s
t
,a
t
,r
t
,s
t+1
]放入经验回放池。若经验回放池满,则进入步骤5;若经验回放池未满,但所有vnf已完成部署,则进入步骤2;若经验回放池未满,且存在vnf未完成部署,则t=t+1,并进入步骤3。
[0084]
5.从经验回放池中随机抽取一小批向量集。
[0085]
6.从中逐个取出向量[s
t
,a
t
,r
t
,s
t+1
],将其分别输入主网络、目标网络并计算得到损失函数:
[0086][0087]
使用损失函数通过梯度下降法更新参数ω。
[0088]
7.重复步骤5

6并每隔时间长度t将主网络权重复制给目标网络ω

=ω,直到网络收敛。
[0089]
8.通过主网络得到服务功能链上每个vnf的最优部署策略,若该策略q(s
t
,a
t
,ω)为负则拒绝该请求。
[0090]
执行s3,基于所述最佳节点映射方案,完成所有vnf的映射。
[0091]
执行s4,基于多路径的链路部署方法,完成服务功能链中不同vnf之间的链路映射。具体地:
[0092]
在服务功能链上的所有vnf完成了到物理服务器的节点映射后,不同vnf间的链路映射用基于多路径的链路部署方式完成。根据服务功能链上的各个vnf间的顺序约束得到vnf间的部署顺序,在满足链路资源约束的条件下,利用多路径的链路部署方式,将虚拟链路映射到多个并行物理链路上,以避免单一路径失效对性能可能的影响,增强了服务功能
链的安全性能。
[0093]
图4为本发明实施例提供的一种性能感知的服务功能链智能部署装置的框图。参阅图4,该性能感知的服务功能链智能部署装置400包括计算模块410、寻优模块420、部署模块430。
[0094]
计算模块410例如执行操作s1,用于计算服务功能链中所有vnf的性能影响因子总和;其中,每个vnf的性能影响因子为所述每个vnf所需的虚拟资源与对应物理服务器剩余的物理资源的比值;
[0095]
寻优模块420例如执行操作s2,用于以所述总和最小为优化目标,利用深度强化学习算法得到最佳节点映射方案;
[0096]
部署模块430例如执行操作s3与s4,用于基于所述最佳节点映射方案,完成所有vnf的映射;以及基于多路径的链路部署方法,完成服务功能链中不同vnf之间的链路映射。
[0097]
性能感知的服务功能链智能部署装置400用于执行上述图2所示实施例中的性能感知的服务功能链智能部署方法。本实施例未尽之细节,请参阅前述图2所示实施例中的性能感知的服务功能链智能部署方法,此处不再赘述。
[0098]
进一步地,本发明提供了一种电子设备,包括存储器和处理器;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过总线连接;当所述性能感知的服务功能链智能部署装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述性能感知的服务功能链智能部署装置执行图2所示实施例中的性能感知的服务功能链智能部署方法。
[0099]
进一步地,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质包括计算机执行指令,当所述计算机执行指令在计算机上运行时,使得所述计算机执行图2所示实施例中的性能感知的服务功能链智能部署方法。
[0100]
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1