时延敏感的服务功能链并行路由优化方法、装置及介质与流程

未命名 08-13 阅读:92 评论:0


1.本发明涉及边缘计算技术领域,尤其是涉及一种时延敏感的服务功能链并行路由优化方法、装置及介质。


背景技术:

2.近年来,随着5g和人工智能技术的快速发展,网络中出现了大量的时延敏感和计算密集型应用,而传统的云计算模式已经无法有效地满足这些应用的需求。因此,边缘计算的概念被提出。边缘计算可以充分地利用资源受限的边缘设备,在靠近终端用户的边缘侧提供计算、存储和通信等服务,从而显著降低网络延迟并缓解数据中心网络的压力。随着边缘计算应用的兴起,网络边缘放置了大量提供网络服务的网络功能元件。因此,如何灵活高效地管理这些网络功能,使网络功能可以被动态地创建、删除和迁移,从而在网络边缘资源有限的情况下,满足用户的不同服务需求,成为边缘计算发展过程中迫切需要解决的问题。
3.传统意义上,网络功能是由专用的网络设备来实现,这种方式成本高且缺乏可扩展性。网络功能虚拟化(nfv)作为一种新兴的解决方案被提出。与传统的方式不同,nfv在通用的服务器上以虚拟化技术来实现网络功能。通过nfv的编排和调度机制,边缘计算中的服务请求可以通过服务功能链(sfc),即一组有序的虚拟网络功能(vnf)来实现,从而解决边缘计算中的网络功能管理问题,降低服务时延和运营费用。
4.然而,使用sfc的一个关键问题是,sfc中的每个vnf需要被放置在物理节点上,并且流经sfc的流量必须由每个vnf按顺序处理,这可能导致较高的时延,从而无法满足边缘计算网络中时延敏感型应用的需求。通过并行的sfc处理服务请求成为了解决该问题的方法。为了实现这种方法,每个流量需要被分割为多条子流,并且需要在不同的服务器节点上重复实例化相同功能的vnf。通过这种方式,每种vnf的重复实例可以并行处理分割后的子流,以分担处理负载,从而降低服务的处理时延。此外,流量分割和重复实例化vnf会消耗一定的资源,由于边缘计算网络中的资源有限性,考虑资源消耗对于确保网络运营商的成本效益是至关重要的。
5.目前,已经有一些关于sfc并行路由问题的研究。由于该类问题是np难以进行求解,研究者通常会提出启发式或近似算法来解决这个问题。但是,这些研究大都假设网络流量是已知的,并根据这些假设进行sfc并行路由,忽略了网络状态的动态变化。强化学习(rl)可以在复杂和不确定的环境中,根据历史经验和环境反馈自动调整策略,做出最优决策。因此,一些研究已经使用rl算法在动态的网络环境中进行sfc并行路由。然而,当网络规模较大时,传统的rl算法难以准确地描述复杂的网络状态变化,从而变得效率低下。深度强化学习(drl)将深度学习和rl结合,使用深度神经网络(dnn)处理大规模网络的复杂状态变化,成为了解决在线sfc并行路由问题的新兴技术。但是,大多数使用drl方法的研究都是在数据中心网络进行的,没有考虑到具有低时延需求的服务。基于此,可以考虑在动态的边缘计算网络中使用drl方法进行sfc的并行路由,但仍有一些问题需要解决。一方面,sfc并行路由过程涉及到离散型动作(如vnf放置)和连续型动作(如流量分割),现有的基于drl的
sfc路由算法不能有效地同时处理这两种类型的动作。另一方面,边缘计算网络中服务器节点的位置分布可能比较分散,这会影响sfc路由的效率。


技术实现要素:

6.本发明的目的是为了提供一种时延敏感的服务功能链并行路由优化方法、装置及介质,满足时延和资源约束的前提下最小化服务器和链路的资源消耗,并解决sfc的在线路由问题、离散型和连续型的动作问题,并提高sfc并行路由的效率。
7.本发明的目的可以通过以下技术方案来实现:
8.一种时延敏感的服务功能链并行路由优化方法,包括以下步骤:
9.构建基于网络功能虚拟化的边缘计算网络中的服务功能链并行路由问题,考虑实时网络状态变化,用马尔可夫决策过程对服务功能链并行路由问题进行建模,得到mdp模型;
10.基于自注意力机制的增强深度确定性策略梯度算法求解mdp模型,所述求解过程包括离线训练和在线运行两个部分,其中,离线训练部分得到一个训练完成的sa-eddpg模型,在线运行部分通过运行训练完成的sa-eddpg模型确定最优路由方案,进行服务功能链并行路由。
11.所述边缘计算网络的网络模型为:
12.将底层的物理网络表示为连通图g=(n,l),其中n为服务器节点的集合,集合中包括网络边缘具有计算能力的各种设备,l为连接两个服务器节点的物理链路集合,对于每一个服务器节点n∈n,用cn表示其资源容量,对于每条链路l∈l,用b
l
和d
l
分别表示其可用带宽容量和通信时延;
13.每个服务功能链请求都被定义为一系列有序的虚拟网络功能vnfs,网络流量需要依次经过服务功能链中的每个vnf进行路由;对于经过服务功能链路由的流量,假设其可分割,并且被分割为i条子流,每一条子流用i进行表示;用r表示实时到达的服务功能链请求的集合,对于每个服务功能链请求r(f,εr,dr)∈r,f表示该服务功能链请求所需要的vnfs的集合,εr表示经过该服务功能链路由流量的流速,dr代表该服务功能链请求的时延限制;对于服务功能链请求的每条子流i,将子流i所需的vnfs集合表示为fi={f1,f2,

,fm,

,f
|i|
},其中fm是子流i所需要的第m个vnf,|i|表示的是子流i所包含的vnf数量;每一个vnf的服务实例fm∈fi有一个资源需求,用进行表示。
14.所述用马尔可夫决策过程对服务功能链并行路由问题进行建模包括以下步骤:
15.s1:确定约束条件;
16.s11:确定节点容量约束,所述节点容量约束确保请求所需的vnfs消耗的总资源不超过待部署服务器节点n的资源限制,表示为:
[0017][0018]
其中,是一个0-1变量,如果请求r的子流i所需要的第m个vnf fm被放置在物理节点n上,则该变量的值为1,否则其值为0;
[0019]
s12:确定链路容量约束,所述链路容量约束确保通过链路l∈l的所有请求所需的
总带宽不超过链路的带宽容量b
l
,表示为:
[0020][0021]
其中,是一个0-1变量,如果一个链路l被用于传递请求r的子流i,则该变量的值为1,否则其值为0;是一个连续变量,表示请求r的子流i所分割的流量比例,即流量分割比,其取值范围为
[0022]
s13:确定时延约束:对于一个请求r,它的时延总共包含了两个部分,分别是服务器节点上的处理时延和链路传输流量时的通信时延,即,请求r的总时延d
total
表示为:
[0023][0024]
其中,表示服务器节点n∈n上fm∈i的处理时延,用所有子流i中的最大时延作为请求r的总时延;
[0025]
对于每个请求r,如果它能够被成功接收,则请求r的总时延d
total
不能够超过其时延限制dr:
[0026][0027]
s14:确定放置约束,所述放置约束保证只选择一个物理服务器来放置请求r的子流i所需要的第m个vnf,并保证请求r的子流i中的所有vnfs都能得到服务,表示为:
[0028][0029][0030]
s2:确定服务功能链并行路由问题的优化目标为最小化联合资源消耗,即最小化服务器的资源消耗和链路的带宽消耗,其中,
[0031]
所有服务器的资源消耗un表示为:
[0032][0033]
所有链路的带宽消耗u
l
表示为:
[0034][0035]
则,联合资源消耗的优化目标表示为:
[0036][0037]
其中η1和η2分别是服务器资源消耗和链路带宽消耗的权重,满足η1,η2∈(0,1)且η1+η2=1。
[0038]
所述mdp模型被定义为一个五元组其中和分别为状态空间和动作空间,是状态转移概率分布,是奖励函数,γ∈[0,1]是未来奖励的折扣因子,具体定义如下:
[0039]
状态空间:将时刻t的状态定义为一个向量g
t
=(c
t
,b
t
,d
t
),g
t
用来表示底层物理网络在t时刻的特征,其中表示所有服务器节点的当前可用资源,
代表所有物理链路的当前可用带宽,表示所有物理链路的时延;
[0040]
动作空间:智能体的动作空间是一个集合其中每个动作a∈a代表了vnf放置和流量路由,t时刻动作a定义为其中,是一个离散型的动作,表示在t时刻,请求r的子流i的第m个vnf是否被放置在服务器节点n上;是一个离散型的动作,用来表示t时刻请求r的子流i是否通过物理链路l进行路由;是一个连续型的动作,用来表示t时刻请求r的流量分割比;
[0041]
状态转移:状态转移被表示为(s
t
,a
t
,r
t
,s
t+1
),其中s
t
是当前时刻t的网络状态,a
t
是用来处理请求r的子流i中的vnf放置和流量路由的动作,r
t
和s
t+1
分别是执行动作a
t
后获得的即时奖励和下一时刻t+1的网络状态,对于每个状态状态转移概率p(s
t+1
∣s
t
,a
t
)表示的是智能体在网络状态s
t
下执行动作a
t
后,网络状态转换到s
t+1
的概率;
[0042]
奖励函数:基于服务功能链并行路由问题的优化目标,将奖励函数定义为服务器和链路的总资源消耗的负值:
[0043][0044]
所述离线训练过程包括以下步骤:
[0045]
步骤1)智能体和环境进行交互生成训练数据,其中,环境指的是基于网络功能虚拟化的边缘计算网络,智能体首先观察到当前的网络状态s
t
,并通过自注意力机制将网络状态s
t
转换为基于邻居节点信息的状态s

t
,智能体基于其当前的策略执行动作a
t
,环境根据当前的状态s

t
和接收到的动作a
t
,更新状态为s
t+1
,并反馈给智能体一个奖励信号r
t
,智能体根据接收到的r
t
更新自己的策略,以便在下一时刻t+1做出更优的决策,通过上述过程的循环进行生成训练数据(s
t
,a
t
,r
t
,s
t+1
);
[0046]
步骤2)将训练数据(s
t
,a
t
,r
t
,s
t+1
)存储在经验回放池中;
[0047]
步骤3)当状态转移样本积累到预设的数量时,从经验回放池中随机选取一批样本,并输入到sa-eddpg模型中;
[0048]
步骤4)训练sa-eddpg模型,其中,sa-eddpg模型的输入为底层物理网络g和服务请求的集合r,输出为vnffm的放置位置和流量的路由路径,采用双演员-评论家的网络结构,总共包含四个神经网络,分别为主演员网络μ(s|θ
μ
)、主评论家网络q(s,a|θq)、目标演员网络μ

(s|θ
μ

)和目标评论家网络q

(s,a|θq′
),其中θ
μ
、θq、θ
μ

和θq′
是神经网络中的参数,演员网络负责在给定的网络状态下产生vnf放置和流量路由的动作,评论家网络负责对演员网络生成的动作进行评价,在训练的过程中,主演员网络通过策略梯度的方法来更新参数θ
μ
,主评论家网络通过基于时序差分误差的梯度下降方法来更新参数θq,目标演员网络和目标评论家网络采用软更新的方式更新参数θ
μ

和θq′

[0049]
所述在线运行过程包括以下步骤:
[0050]
步骤5)选择离线训练过程中训练完成的sa-eddpg模型进行服务功能链的在线路由;
[0051]
步骤6)将网络状态s
t
输入到训练完成的sa-eddpg模型中,利用模型评估每个动作a
t
的性能以获得相应的奖励,同时,将数据(s
t
,a
t
,r
t
,s
t+1
)存储到经验回放池中,用于更新
sa-eddpg模型;
[0052]
步骤7)在底层物理网络执行能获得最高奖励的vnf放置和流量路由的动作。
[0053]
所述sa-eddpg模型中,
[0054]
演员网络有五层,依次分别是输入层、一个注意力层、两个隐藏层和输出层,主演员网络μ(s|θ
μ
)和目标演员网络μ

(s|θ
μ

)具有相同的神经网络结构,其中,输入层为网络状态向量s
t
;注意力层将每个节点的状态向量s
t
转化为一个考虑所有节点信息的向量s
t

;两个全连接的隐藏层都包含了256个神经元,用来处理状态信息;输出层的输出为动作a
t
,其中,输出层被划分为两部分,分别用于获取离散型和连续型的动作决策,具体的,定义fc1输出层来获取离散的vnf和链路放置决策,即和定义fc2输出层来获取连续的流量分割比,即fc1输出层通过sigmoid激活函数来得到相应的动作值,即0或1,fc2输出层则直接输出原始的连续动作值并加入噪声或限幅,得到动作值
[0055]
评论家网络利用dnn来逼近动作价值函数q(s,a),共五层,依次分别是输入层、一个注意力层、两个隐藏层和输出层,主评论家网络q(s,a|θq)和目标评论家网络q

(s,a|θq′
)具有相同的神经网络结构,其中,输入层为当前的网络状态s
t
和演员网络输出的动作a
t
;注意力层将网络状态向量s
t
转换为s

t
;两个隐藏层包含256个神经元,用来处理状态和动作信息;输出层用来输出动作价值函数q(s,a)的值;评论家网络使用激活函数relu来引入非线性特征。
[0056]
所述sa-eddpg模型的训练过程包括四个神经网络的参数更新,具体为:
[0057]
对于主评论家网络q(s,a|θq),利用dqn算法中的td error更新参数θq,主评论家网络的损失函数计算公式如下:
[0058][0059]
其中,m是取样的批量大小,yi是目标值,yi的计算公式如下:
[0060]
yi=ri+γq

(s
i+1


(s
i+1

μ

)|θq′
)
[0061]
对于主演员网络μ(s|θ
μ
),利用采样策略梯度更新参数θ
μ
,主演员网络的更新公式如下:
[0062][0063]
对于目标评论家网络q

(s,a|θq′
)和目标演员网络μ

(s|θ
μ

),采用软更新的方式更新其各自参数,公式如下:
[0064]
θq′

τθq+(1-τ)θq′
[0065]
θ
μ


τθ
μ
+(1-τ)θ
μ

[0066]
其中,参数τ<<1。
[0067]
所述sa-eddpg模型的训练过程具体包括以下步骤:
[0068]
步骤4-1)初始化主评论家网络q(s,a|θq)、主演员网络μ(s|θ
μ
)、目标评论家网络q

(s,a|θq′
)和目标演员网络μ

(s|θ
μ

)的网络权重参数,初始化经验回放池
[0069]
步骤4-2)在每个训练回合中,执行以下步骤:
[0070]
步骤4-2-1)重置网络环境,智能体根据重置的环境获取初始的网络状态;
[0071]
步骤4-2-2)初始化随机过程,给每个输出动作添加随机噪声;
[0072]
步骤4-2-3)对于本轮训练回合中的每个时隙t,执行以下迭代:
[0073]
步骤4-2-3-1)基于自注意力机制将输入的网络状态s
t
基于邻居节点的信息转变为s
t


[0074]
步骤4-2-3-2)基于s
t

的信息,智能体根据公式选择动作a
t
并执行,其中为随机噪声,执行动作a
t
后得到奖励r
t
,同时,网络状态从s
t
转变到s
t+1

[0075]
步骤4-2-3-3)将智能体与环境交互得到的状态转移数据(s
t
,a
t
,r
t
,s
t+1
)存入到经验回放池中;
[0076]
步骤4-2-3-4)从经验回放池中随机选取m个样本训练sa-eddpg模型;
[0077]
步骤4-2-3-5)更新主网络和目标网络:计算目标值yi,利用主评论家网络的损失函数更新主评论家网络的参数θq,使用主演员网络的更新公式更新主演员网络的参数θ
μ
,基于软更新公式更新目标评论家网络和目标演员网络的参数;
[0078]
步骤4-3)当达到预设的训练回合轮次后,完成训练。
[0079]
一种时延敏感的服务功能链并行路由优化装置,基于如上述所述的方法实现,包括:
[0080]
并行路由问题构建模块,用于构建基于网络功能虚拟化的边缘计算网络中的服务功能链并行路由问题,考虑实时网络状态变化,用马尔可夫决策过程对服务功能链并行路由问题进行建模,得到mdp模型;
[0081]
sa-eddpg算法求解模块,用于基于自注意力机制的增强深度确定性策略梯度算法求解mdp模型,所述求解过程包括离线训练和在线运行两个部分,其中,离线训练部分得到一个训练完成的sa-eddpg模型,在线运行部分通过运行训练完成的sa-eddpg模型确定最优路由方案,进行服务功能链并行路由。
[0082]
一种时延敏感的服务功能链并行路由优化装置,包括存储器、处理器,以及存储于所述存储器中的程序,所述处理器执行所述程序时实现如上述所述的方法。
[0083]
一种存储介质,其上存储有程序,所述程序被执行时实现如上述所述的方法。
[0084]
与现有技术相比,本发明具有以下有益效果:
[0085]
(1)本发明提出了增强深度确定性策略梯度(enhanced deep deterministic policy gradient,eddpg)算法,通过改进ddpg算法中dnn的结构,可以有效地同时处理离散型和连续型的动作。
[0086]
(2)本发明在eddpg算法中引入了自注意力机制,通过计算边缘网络中服务器节点之间的注意力值,自注意力机制使drl中的智能体在执行动作时将其注意力放在更有价值的服务器节点上,可以减少对无关服务器节点的关注,从而减少了智能体不必要的探索,有助于解决在过于分散的边缘服务器节点上进行sfc并行路由的问题,加快了dnn的训练和收敛时间,提高了sfc并行路由的效率。
[0087]
(3)本发明的方法能够在满足时延和资源约束的前提下最小化服务器和链路的资源消耗,相比于其他算法具有更低的时延和更小的资源消耗。
[0088]
(4)本发明考虑了实时的网络状态变化,用马尔可夫决策过程(mdp)对sfc并行路由问题进行建模。
附图说明
[0089]
图1为本发明的方法流程图;
[0090]
图2为基于自注意力机制的增强深度确定性策略梯度算法的求解过程示意图;
[0091]
图3为一种实施例中的训练过程中不同算法的奖励对比图;
[0092]
图4为一种实施例中不同请求数量下不同算法的接受率对比图;
[0093]
图5为一种实施例中不同请求数量下不同算法的总资源消耗对比图;
[0094]
图6为一种实施例中不同请求数量下不同算法的平均时延对比图;
[0095]
图7为一种实施例中不同节点数量下不同算法的平均时延对比图。
具体实施方式
[0096]
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0097]
本实施例提供一种时延敏感的服务功能链并行路由优化方法,如图1所示,包括以下步骤:
[0098]
s1:构建基于网络功能虚拟化的边缘计算网络中的服务功能链并行路由问题,考虑实时的网络状态变化,用马尔可夫决策过程对服务功能链并行路由问题进行建模,得到mdp模型。
[0099]
s11:构建基于nfv的边缘计算网络中的sfc并行路由问题,目的是在满足时延和资源约束的前提下最小化服务器和链路的资源消耗。
[0100]
首先,为方便阅读,本实施例提供如表1所示的参数解释总表,该解释在本实施例中通用。
[0101]
表1参数解释
[0102]
[0103][0104]
将底层的物理网络表示为连通图g=(n,l),其中n为服务器节点的集合(包括网络边缘具有计算能力的各种设备),l为连接两个服务器节点的物理链路集合,对于每一个服务器节点n∈n,用cn表示其资源容量,即可用的计算和存储等资源。同样地,对于每条链路l∈l,用b
l
和d
l
分别表示其可用带宽容量和通信时延。
[0105]
每个sfc请求都被定义为一系列有序的vnfs,网络流量需要依次经过sfc中的vnf进行路由。对于经过sfc路由的流量,假设它是可分割的,并且其可以被分割为i条子流,每一条子流用i进行表示。r用来表示实时到达的sfc请求的集合。对于每个sfc请求r(f,εr,dr)∈r,用f表示该sfc请求所需要的vnfs的集合,εr则用来表示经过该sfc路由流量的流速,dr代表该sfc请求的时延限制。此外,对于sfc请求的每条子流i,将子流i所需的vnfs集合表示为fi={f1,f2,...,fm,...,f
|i|
},其中fm是子流i所需要的第m个vnf,|i|表示的是子流i所包含的vnf数量。每一个vnf的服务实例fm∈fi有一个资源需求,用ci
fm
进行表示。
[0106]
首先,确定sfc并行路由问题中所考虑的约束条件。
[0107]

节点容量约束。节点容量约束可以确保请求所需的vnfs消耗的总资源不超过待部署服务器节点n的资源限制,其数学形式如公式(1)所示:
[0108][0109]
其中,是一个0-1变量。它具体的含义是,如果请求r的子流i所需要的第m个vnffm被放置在物理节点n上,则该变量的值为1,否则其值为0。
[0110]

链路容量约束。链路容量约束确保通过链路l∈l的所有请求所需的总带宽不超过链路的带宽容量b
l
,具体表述如下:
[0111][0112]
公式(2)中的是一个0-1变量。它具体的含义是,如果一个链路l被用于传递请求r的子流i,则该变量的值为1,否则其值为0。公式(2)中的是一个连续变量,它表示的是请求r的子流i所分割的流量比例(以下简称为流量分割比),其取值范围是[0,1],即
[0113]

时延约束。对于一个请求r,它的时延总共包含了两个部分,分别是服务器节点上的处理时延和链路传输流量时的通信时延。因此,请求r的总时延d
total
被表示为如下的公式:
[0114][0115]
其中,表示服务器节点n∈n上fm∈i的处理时延。请求r共包含i条子流,每一条子流i的时延可能不一样,因此,用所有子流i中的最大时延作为请求r的总时延。
[0116]
对于每个请求r,如果它能够被成功接收,那么请求r的总时延d
total
不能够超过其时延限制dr,具体的表述如公式(4)所示:
[0117][0118]

放置约束。放置约束保证只选择一个物理服务器来放置请求r的子流i所需要的第m个vnf。此外,放置约束还保证了请求r的子流i中的所有vnfs都能得到服务。具体的约束条件被表示为以下的公式:
[0119][0120][0121]
sfc并行路由问题的目标是联合最小化服务器的资源消耗和链路的带宽消耗。
[0122]
对于所有服务器的资源消耗un,可以用公式(7)进行表示:
[0123][0124]
对于所有链路的资源消耗u
l
,可以用公式(8)进行表示:
[0125][0126]
那么,联合资源消耗的优化问题最终被表示为以下的形式:
[0127][0128][0129]
其中η1和η2分别是服务器资源消耗和链路带宽消耗的权重。它们满足η1,η2∈(0,1)且η1+η2=1。
[0130]
s12:考虑实时的网络状态变化,用马尔可夫决策过程(mdp)对sfc并行路由问题进行建模。
[0131]
有了上述sfc并行路由问题的建模,本实施例继续描述如何将其转换为mdp模型。
一般情况下,mdp模型被定义为一个五元组其中和分别为状态空间和动作空间,是状态转移概率分布,是奖励函数,γ∈[0,1]是未来奖励的折扣因子。为了解决服务请求的随机到达和离开导致的实时网络状态变化,本实施例引入一个离散的时间段t。sfc并行路由问题相关的五元组的定义具体如下:
[0132]
状态空间:将时刻t的状态定义为一个向量g
t
=(c
t
,b
t
,d
t
)。具体来说,g
t
是用来表示底层物理网络在t时刻的特征,其中表示所有服务器节点的当前可用资源,代表所有物理链路的当前可用带宽,表示所有物理链路的时延。
[0133]
动作空间:智能体的动作空间是一个集合其中每个动作a∈a代表了vnf放置和流量路由。具体来说,把t时刻动作a定义为其中,是一个离散型的动作,它的具体含义是,在t时刻,请求r的子流i的第m个vnf是否被放置在服务器节点n上。也是一个离散型的动作,用来表示t时刻请求r的子流i是否通过物理链路l进行路由。是一个连续型的动作,用来表示t时刻请求r的流量分割比。
[0134]
状态转移:mdp的状态转移被表示为(s
t
,a
t
,r
t
,s
t+1
),其中s
t
是当前时刻t的网络状态,a
t
是用来处理请求r的子流i中的vnf放置和流量路由的动作,r
t
和s
t+1
分别是执行动作a
t
后获得的即时奖励和下一时刻t+1的网络状态。对于每个状态状态转移概率p(s
t+1
∣s
t
,a
t
)表示的是智能体在网络状态s
t
下执行动作a
t
后,网络状态转换到s
t+1
的概率。
[0135]
奖励函数:通常情况下,强化学习的目的是最大化回报,即最大化累积折扣奖励。在本实施例中,设定的sfc路由问题的优化目标是最小化服务器的资源消耗和链路的带宽消耗。因此,奖励函数应该被定义为服务器和链路的总资源消耗的负值,如公式(10)所示:
[0136][0137]
s2:基于自注意力机制的增强深度确定性策略梯度(self-attention mechanism based eddpg,sa-eddpg)算法求解mdp模型,解决sfc的在线路由问题同时解决离散型和连续型的动作,并且,在dnn结构中引入了自注意力机制,减少对无关服务器节点的关注,从而减少智能体不必要的探索,加快dnn的训练和收敛时间,提高sfc并行路由的效率。
[0138]
图2是本发明提出的sa-eddpg算法的架构,它包含了两个主要过程:离线训练过程(步骤1-步骤4)和在线运行过程(步骤5-步骤7)。
[0139]

训练过程。该架构的离线训练过程主要包括图2当中的步骤1-4。训练过程的目标是生成一个sa-eddpg模型。
[0140]
步骤1:智能体和环境进行交互生成训练数据。在此过程中,环境指的是基于nfv的边缘计算网络。智能体首先观察到当前的网络状态s
t
,然后通过自注意力机制将网络状态s
t
转换为基于邻居节点信息的状态s

t
。接下来,智能体基于其当前的策略执行动作a
t
。环境根据当前的状态s

t
和接收到的动作a
t
,更新状态为s
t+1
,并反馈给智能体一个奖励信号r
t
。接着,智能体根据接收到的r
t
更新自己的策略,以便在下一时刻t+1做出更优的决策。整个过程如此循环进行,大量的训练数据(s
t
,a
t
,r
t
,s
t+1
)被生成。为了打破强化学习算法中相邻样
本之间的相关性,以提高训练样本的利用效率,本实施例引入了经验回放技术。
[0141]
步骤2:将训练数据(s
t
,a
t
,r
t
,s
t+1
)存储在经验回放池中。
[0142]
步骤3:当状态转移样本积累到一定数量时(取决于经验回放池的大小),从经验回放池中随机选取一小批样本,并把它们传送到sa-eddpg模型中。
[0143]
步骤4:训练sa-eddpg模型。sa-eddpg采用的是双演员-评论家(ac)的网络结构,所以它总共包含了四个神经网络,分别为主演员网络μ(s|θ
μ
)、主评论家网络q(s,a|θq)、目标演员网络μ

(s|θ
μ

)和目标评论家网络q

(s,a|θq′
),其中θ
μ
、θq、θ
μ

和θq′
是神经网络中的参数。演员网络负责在给定的网络状态下产生vnf放置和流量路由的动作,评论家网络负责对演员网络生成的动作进行评价。在训练的过程中,主演员网络通过策略梯度的方法来更新参数θ
μ
,主评论家网络通过基于时序差分误差(td error)的梯度下降方法来更新参数θq,而目标演员网络和目标评论家网络则采用软更新的方式更新参数θ
μ

和θq′

[0144]

运行过程。该架构的在线运行过程包含图2中的步骤5-7。
[0145]
步骤5:选择在训练过程中已经训练好的sa-eddpg模型来进行sfc的在线路由。
[0146]
步骤6:将网络状态s
t
输入到训练好的sa-eddpg模型中,然后,利用该模型来评估每个动作a
t
的性能以获得相应的奖励。为了进一步更新sa-eddpg模型,本实施例将数据(s
t
,a
t
,r
t
,s
t+1
)存储到经验回放池中。
[0147]
步骤7:在底层物理网络执行能获得最高奖励的vnf放置和流量路由的动作。此外,一旦训练好的模型的准确性大幅度降低,就需要对模型进行重新训练。具体而言,通过复制之前训练好的sa-eddpg模型,并使用新获得的训练数据对其进行训练。然后,在完成训练程序后,用新的sa-eddpg模型替换旧的模型,以提高模型的性能。
[0148]
本发明提出的sa-eddpg算法采用了演员-评论家的网络结构,并且演员网络和评论家网络都包含主网络和目标网络,所以sa-eddpg算法共包含了四个神经网络,以下对这些神经网络的结构进行详细地介绍。
[0149]
演员网络是一种基于策略的深度强化学习方法,它利用dnn学习一个确定性的策略,并直接利用该策略生成确定的动作,不需要从随机策略中采样。演员网络的输入层为网络状态向量s
t
。为了获取邻居节点的信息,本实施例还在演员网络的dnn结构中引入了一个注意力层。通过注意力层,每个节点的状态向量s
t
可以被转化为一个考虑所有节点信息的向量s

t
。注意力层之后是两个全连接的隐藏层,这两个隐藏层都包含了256个神经元,用来处理状态信息。演员网络的输出层为动作a
t

[0150]
与传统演员网络中的输出层不同,本实施例将演员网络的最后一层划分为两部分,分别用于获取离散型和连续型的动作决策。具体而言,定义fc1输出层来获取离散的vnf和链路放置决策(即和),定义fc2输出层来获取连续的流量分割比(即)。fc1输出层通过sigmoid激活函数来得到相应的动作值(即0或1)。fc2输出层则直接输出原始的连续动作值然后再加入噪声或限幅,得到动作值因此,演员网络的神经网络结构有五层,分别是输入层、一个注意力层、两个隐藏层和输出层,并且主演员网络μ(s|θ
μ
)和目标演员网络μ

(s|θ
μ

)具有相同的神经网络结构。
[0151]
评论家网络是一种基于价值函数的深度强化学习方法,它利用dnn来逼近动作价值函数q(s,a)。评论家网络的输入为当前的网络状态s
t
和演员网络输出的动作a
t
。同样地,
评论家网络的dnn中也引入了注意力层,从而将网络状态向量s
t
转换为s
t

。注意力层之后也是包含了256个神经元的两个隐藏层,用来处理状态和动作信息。评论家网络的输出层则是用来输出动作价值函数q(s,a)的值。此外,评论家网络使用激活函数relu来引入非线性特征,从而增强dnn的处理能力。因此,评论家网络的神经网络结构也包含了五层,并且主评论家网络q(s,a|θq)和目标评论家网络q

(s,a|θq′
)也具有相同的神经网络结构。
[0152]
如前文所述,sa-eddpg算法共包含四个神经网络,在sa-eddpg算法的运行过程中涉及到这四个神经网络的参数更新,以下进行说明。
[0153]
对于主评论家网络q(s,a|θq),其参数θq的更新利用了dqn算法中的td error。因此,主评论家网络的损失函数计算公式如下:
[0154][0155]
其中m是取样的批量大小,yi是目标值。yi的计算公式如下:
[0156][0157]
对于主演员网络μ(s|θ
μ
),其参数θ
μ
的更新利用了采样策略梯度的方法。主演员网络的更新公式表述如下:
[0158][0159]
目标评论家网络q

(s,a|θq′
)和目标演员网络μ

(s|θ
μ

)则采用软更新的方式更新它们的参数,具体的公式如下:
[0160][0161]
其中,参数τ<<1,这使得目标网络的参数更新变得缓慢且平稳,提高了学习的稳定性。
[0162]
表2描述了基于sa-eddpg的sfc并行路由方法的训练流程。具体来说,该模型的输入是底层物理网络g和服务请求的集合r,而输出是vnffm的放置位置和流量的路由路径。首先,初始化主评论家网络q(s,a|θq)、主演员网络μ(s|θ
μ
)、目标评论家网络q

(s,a|θq′
)和目标演员网络μ

(s|θ
μ

)的网络权重参数(第1-2行),然后初始化经验回放池(第3行)。在每个训练回合中,网络环境应该在训练开始之前被重置,并且智能体根据重置的环境获取到初始的网络状态(第5行)。为了平衡智能体的探索和利用,本实施例在sa-eddpg算法的训练过程中引入了随机过程它可以通过给每个输出动作添加随机噪声(第6行)。对于每个时隙t,首先引入自注意力机制,将网络状态s
t
基于邻居节点的信息转变为s
t

(第8行)。然后基于s

t
的信息,智能体根据公式选择动作a
t
,其中为随机噪声,它可以使智能体更好地探索潜在的最优动作(第9行)。在执行了动作a
t
后,得到奖励r
t
。同时,网络状态从s
t
转变到s
t+1
。然后,将智能体与环境交互得到的状态转移数据(s
t
,a
t
,r
t
,s
t+1
)存入到经验回放池中(第10-11行)。之后,从中随机选取m个样本来训练sa-eddpg模型(第12行)。
[0163]
接下来,更新主网络和目标网络。首先,根据公式(12)计算目标值yi(第13行)。随后,利用公式(11)来更新主评论家网络的参数θq(第14行)。具体来说,更新的过程是使用梯
度下降的方法最小化目标值和主评论家网络q值之间的均方误差。然后,使用公式(13)更新主演员网络的参数θ
μ
(第15行)。对于目标评论家网络和目标演员网络,根据公式(14)分别更新它们的参数θq′
和(第16行)。从公式(14)可以看出,不同于dqn算法周期性地从主网络复制参数来更新目标网络的方式,sa-eddpg算法采用了软更新的方式,这使得目标网络的更新变得更加稳定。
[0164]
表2基于sa-eddpg的sfc路由算法
[0165][0166][0167]
在本实施例中,通过仿真实验评估了sa-eddpg算法的性能。首先,设置了仿真实验的相关参数。然后,通过多种指标将sa-eddpg与其他现有算法进行比较,并对实验结果进行分析。
[0168]
(一)实验设置
[0169]
本实施例根据networkx工具生成具有50个节点的物理网络,并且每对节点之间都存在一条链路。此外,根据以前的一些相关研究生成网络中的其他参数。网络中的每个节点容量是从[30,100]单位中随机选取的。物理网络中每条链路的带宽随机分配为[100,1000]
mbps,而其时延则随机取值为[1,10]ms。每个sfc包含2~8个不同数量的vnf。vnf请求的资源数量服从[1,5]单位的均匀分布。sfc的带宽需求服从[10,50]mbps的均匀分布。
[0170]
所有的仿真实验都在一台配备intel(r)core(tm)i7-11700 cpu@2.50ghz和nvidia geforce rtx 3050gpu的计算机上进行。此外,本实施例用python 3.7和pytorch 1.8完成所有的实验。如前文所述,深度神经网络结构由输入层、一个注意力层、两个隐藏层和输出层组成,每个隐藏层的神经元数量为256个。为了同时处理离散型和连续型的动作,在演员网络中使用了两种不同的输出层,其激活函数为sigmoid。演员网络的其它层和评论家网络则使用relu作为激活函数。其他实验参数设置如表3所示。
[0171]
表3实验参数
[0172][0173][0174]
(二)性能分析
[0175]
为了评估sa-eddpg算法的性能,本实施例引入了以下两种算法进行比较。
[0176]
sfc-dop:sfc-dop是一种基于ddpg的sfc在线编排算法。它包括vnf放置和流量路由模块,能够在复杂和动态的网络中实现sfc的动态编排。此外,它可以有效地解决sfc编排问题中的连续型动作。但是,它在放置vnf时没有考虑其他服务器节点的信息。
[0177]
a-ddpg:a-ddpg采用了基于ddpg的drl算法来解决动态的vnf放置和流量路由问题。不同于sfc-dop,a-ddpg算法引入了注意力机制,在放置vnf时考虑了邻居节点的状态对放置决策的影响,这能够加速算法的训练和收敛时间。但是,与本发明的sa-eddpg算法相比,它不能同时解决离散型和连续型的动作。
[0178]
图3展示了训练过程中所有算法的奖励值。从图中可以看出,随着回合数的增加,每一种算法的奖励值都逐渐收敛。特别地,可以观察到sa-eddpg算法始终可以获得最高的奖励,并且比其他两种算法收敛得更快。具体来说,sfc-dop使用ddpg算法来获得最优策略,但是,sfc-dop没有考虑其他服务器节点的信息对vnf放置的影响,所以它的奖励最低,收敛速度最慢。相比之下,a-ddpg在奖励值和收敛速度方面明显优于sfc-dop。由于引入了注意力机制,a-ddpg在选择动作时考虑了邻居节点的额外状态信息,这使得智能体在决策时能够集中在更有价值的节点上,在训练中更快地获得正向奖励,从而加快了训练和收敛的时间。然而,a-ddpg算法的性能比sa-eddpg差,因为它没有同时考虑离散型和连续型的决策动作。如前文所述,本发明提出的sa-eddpg算法对神经网络的结构进行改进,可以同时处理离散的vnf放置决策和连续的流量分割决策。因此,在动态的基于nfv的边缘计算网络中,sa-eddpg的智能体更加智能。
[0179]
图4显示了不同请求数量下所有算法的请求接受率。可以观察到,随着请求数量的增加,三种算法的请求接受率均呈现出下降的趋势。这是因为随着服务请求数量的增加,底
层物理网络资源逐渐被占用,从而导致后续请求被拒绝。更具体地说,sfc-dop的请求接受率明显低于其他两种算法,因为其奖励函数中没有考虑底层服务器资源和链路资源对sfc路由策略的影响。相比之下,a-ddpg和本发明提出的sa-eddpg算法考虑了底层资源对sfc路由的影响。此外,由于引入了自注意力机制,a-ddpg和sa-eddpg算法可以获得其他服务器节点的信息,这使得智能体能够更好地捕捉底层物理网络资源状态的动态变化,从而获得更高的请求接受率。然而,sa-eddpg算法的请求接受率仍然高于a-ddpg算法,因为它能够同时处理sfc路由问题中的离散型和连续型动作,从而更高效地利用底层网络的资源来接受请求。与其他两种算法相比,sa-eddpg算法的请求接受率分别提高了15%和7%。
[0180]
图5为三种算法在不同请求数量下的总资源消耗情况,其中包括服务器资源消耗和链路带宽消耗。从图中可以观察到,随着请求数量的增加,三种算法的总资源消耗也呈现出增加的趋势。与其他算法相比,sa-eddpg算法的总资源消耗最少。具体而言,它比sfc-dop算法和a-ddpg算法分别少了38%和20%。这是因为在sa-eddpg算法的奖励函数中加入了资源优化激励机制,这可以激励智能体选择资源消耗较少的动作,从而减少了总资源消耗。相比之下,a-ddpg算法比sa-eddpg消耗更多的总资源,因为它无法有效地处理sfc路由问题中的离散型决策动作,从而造成了资源的浪费。而sfc-dop消耗的总资源最多,一方面是因为它在进行sfc路由时没有考虑资源优化,另一方面是因为与其他两种算法相比,sfc-dop没有充分利用来自其他服务器节点的信息,这使得智能体不能有效地适应基于nfv的边缘计算网络环境。
[0181]
图6展示了所有算法在不同请求数量下的平均时延。随着请求数量的增加,三种算法的平均时延也都有一定程度的增加。然而,如图4所示,请求接受率随着请求数量的增加而下降,这导致接受的请求数减少。因此,所有算法的平均时延的增长率都减缓了。具体而言,sfc-dop算法的平均时延明显高于a-ddpg算法和sa-eddpg算法。这是由于sfc-dop算法没有考虑邻居节点的状态信息,增加了智能体不必要的探索,从而导致了较高的时延。通过引入注意力机制,a-ddpg算法能够充分利用其他服务器节点的信息,减少智能体的低效探索,从而降低平均时延。相较于其他两种算法,本发明提出的sa-eddpg算法具有最低的平均时延,分别比sfc-dop和a-ddpg算法低了40%和24%。这是因为sa-eddpg算法采用了并行的路由策略,能够有效降低服务请求的时延。
[0182]
图7展示了不同物理节点数量下所有算法的平均时延。随着节点数量的增加,三种算法的平均时延都呈下降的趋势。这是因为随着物理节点数量的增加,网络中有足够的资源和适用的路径来容纳服务请求。与其他两种算法相比,sfc-dop算法的平均时延最高。因为随着节点数量的增加,网络拓扑变得更加复杂,而sfc-dop算法忽略了其他物理节点的状态信息,导致智能体耗费更多的时间进行探索,从而产生较高的时延。相比之下,a-ddpg算法和sa-eddpg算法的平均时延都低于sfc-dop算法,因为它们都在算法中加入了注意力机制,可以使智能体在执行动作时将其注意力放在更有价值的节点上。此外,sa-eddpg算法通过流量分割和重复实例化vnf的方式进行sfc的并行路由,并通过改进神经网络结构来同时处理离散型和连续型的动作,因此具有最低的平均时延。同时,实验结果也说明了sa-eddpg算法可以在消耗较少资源的情况下实现较低的时延。
[0183]
本实施例主要讨论了基于nfv的边缘计算网络中的sfc并行路由问题。为了满足边缘计算网络中时延敏感型应用的需求,本发明提出了通过流量分割和重复实例化vnf来实
现sfc并行路由的优化方法。具体而言,首先构建了sfc并行路由问题的模型,考虑到边缘计算网络中的资源受限的情况,该问题的目标是在满足延迟和资源约束的情况下,最小化服务器和链路的资源消耗。针对网络状态的动态变化和分散的边缘服务器节点,提出了一种基于drl的sa-eddpg算法来解决该问题。该算法通过改进神经网络的结构和使用自注意力机制,能够同时处理sfc并行路由问题中的离散型和连续型动作,减少智能体不必要的探索,从而提高了sfc并行路由的效率。最后,本实施例进行了大量的仿真实验,从请求接受率、总资源消耗和时延等方面评估了sa-eddpg算法的性能。实验结果表明,相较于现有的算法,本发明提出的sa-eddpg算法能够有效地提高服务请求的接受率,并降低服务请求的时延和总资源消耗。
[0184]
上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0185]
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依据本发明的构思在现有技术的基础上通过逻辑分析、推理、或者有限的实验可以得到的技术方案,皆应在权利要求书所确定的保护范围内。

技术特征:
1.一种时延敏感的服务功能链并行路由优化方法,其特征在于,包括以下步骤:构建基于网络功能虚拟化的边缘计算网络中的服务功能链并行路由问题,考虑实时网络状态变化,用马尔可夫决策过程对服务功能链并行路由问题进行建模,得到mdp模型;基于自注意力机制的增强深度确定性策略梯度算法求解mdp模型,所述求解过程包括离线训练和在线运行两个部分,其中,离线训练部分得到一个训练完成的sa-eddpg模型,在线运行部分通过运行训练完成的sa-eddpg模型确定最优路由方案,进行服务功能链并行路由。2.根据权利要求1所述的一种时延敏感的服务功能链并行路由优化方法,其特征在于,所述边缘计算网络的网络模型为:将底层的物理网络表示为连通图g=(n,l),其中n为服务器节点的集合,集合中包括网络边缘具有计算能力的各种设备,l为连接两个服务器节点的物理链路集合,对于每一个服务器节点n∈n,用c
n
表示其资源容量,对于每条链路l∈l,用b
l
和d
l
分别表示其可用带宽容量和通信时延;每个服务功能链请求都被定义为一系列有序的虚拟网络功能vnfs,网络流量需要依次经过服务功能链中的每个vnf进行路由;对于经过服务功能链路由的流量,假设其可分割,并且被分割为i条子流,每一条子流用i进行表示;用r表示实时到达的服务功能链请求的集合,对于每个服务功能链请求r(f,ε
r
,d
r
)∈r,f表示该服务功能链请求所需要的vnfs的集合,ε
r
表示经过该服务功能链路由流量的流速,d
r
代表该服务功能链请求的时延限制;对于服务功能链请求的每条子流i,将子流i所需的vnfs集合表示为f
i
={f1,f2,...,f
m
,...,f
|i|
},其中f
m
是子流i所需要的第m个vnf,|i|表示的是子流i所包含的vnf数量;每一个vnf的服务实例f
m
∈f
i
有一个资源需求,用进行表示。3.根据权利要求2所述的一种时延敏感的服务功能链并行路由优化方法,其特征在于,所述用马尔可夫决策过程对服务功能链并行路由问题进行建模包括以下步骤:s1:确定约束条件;s11:确定节点容量约束,所述节点容量约束确保请求所需的vnfs消耗的总资源不超过待部署服务器节点n的资源限制,表示为:其中,是一个0-1变量,如果请求r的子流i所需要的第m个vnf f
m
被放置在物理节点n上,则该变量的值为1,否则其值为0;s12:确定链路容量约束,所述链路容量约束确保通过链路l∈l的所有请求所需的总带宽不超过链路的带宽容量b
l
,表示为:其中,是一个0-1变量,如果一个链路l被用于传递请求r的子流i,则该变量的值为1,否则其值为0;是一个连续变量,表示请求r的子流i所分割的流量比例,即流量分割比,其取值范围为
s13:确定时延约束:对于一个请求r,它的时延总共包含了两个部分,分别是服务器节点上的处理时延和链路传输流量时的通信时延,即,请求r的总时延d
total
表示为:其中,表示服务器节点n∈n上f
m
∈i的处理时延,用所有子流i中的最大时延作为请求r的总时延;对于每个请求r,如果它能够被成功接收,则请求r的总时延d
total
不能够超过其时延限制d
r
:s14:确定放置约束,所述放置约束保证只选择一个物理服务器来放置请求r的子流i所需要的第m个vnf,并保证请求r的子流i中的所有vnfs都能得到服务,表示为:需要的第m个vnf,并保证请求r的子流i中的所有vnfs都能得到服务,表示为:s2:确定服务功能链并行路由问题的优化目标为最小化联合资源消耗,即最小化服务器的资源消耗和链路的带宽消耗,其中,所有服务器的资源消耗u
n
表示为:所有链路的带宽消耗u
l
表示为:则,联合资源消耗的优化目标表示为:其中η1和η2分别是服务器资源消耗和链路带宽消耗的权重,满足η1,η2∈(0,1)且η1+η2=1。4.根据权利要求3所述的一种时延敏感的服务功能链并行路由优化方法,其特征在于,所述mdp模型被定义为一个五元组其中和分别为状态空间和动作空间,是状态转移概率分布,r是奖励函数,γ∈[0,1]是未来奖励的折扣因子,具体定义如下:状态空间:将时刻t的状态定义为一个向量g
t
=(c
t
,b
t
,d
t
),g
t
用来表示底层物理网络在t时刻的特征,其中表示所有服务器节点的当前可用资源,代表所有物理链路的当前可用带宽,表示所有物理链路的时延;动作空间:智能体的动作空间是一个集合其中每个动作a∈a代表了vnf放置和流量路由,t时刻动作a定义为其中,是一个离散型的动作,表示
在t时刻,请求r的子流i的第m个vnf是否被放置在服务器节点n上;是一个离散型的动作,用来表示t时刻请求r的子流i是否通过物理链路l进行路由;是一个连续型的动作,用来表示t时刻请求r的流量分割比;状态转移:状态转移被表示为(s
t
,a
t
,r
t
,s
t+1
),其中s
t
是当前时刻t的网络状态,a
t
是用来处理请求r的子流i中的vnf放置和流量路由的动作,r
t
和s
t+1
分别是执行动作a
t
后获得的即时奖励和下一时刻t+1的网络状态,对于每个状态状态转移概率p(s
t+1
∣s
t
,a
t
)表示的是智能体在网络状态s
t
下执行动作a
t
后,网络状态转换到s
t+1
的概率;奖励函数:基于服务功能链并行路由问题的优化目标,将奖励函数定义为服务器和链路的总资源消耗的负值:5.根据权利要求4所述的一种时延敏感的服务功能链并行路由优化方法,其特征在于,所述离线训练过程包括以下步骤:步骤1)智能体和环境进行交互生成训练数据,其中,环境指的是基于网络功能虚拟化的边缘计算网络,智能体首先观察到当前的网络状态s
t
,并通过自注意力机制将网络状态s
t
转换为基于邻居节点信息的状态s

t
,智能体基于其当前的策略执行动作a
t
,环境根据当前的状态s

t
和接收到的动作a
t
,更新状态为s
t+1
,并反馈给智能体一个奖励信号r
t
,智能体根据接收到的r
t
更新自己的策略,以便在下一时刻t+1做出更优的决策,通过上述过程的循环进行生成训练数据(s
t
,a
t
,r
t
,s
t+1
);步骤2)将训练数据(s
t
,a
t
,r
t
,s
t+1
)存储在经验回放池中;步骤3)当状态转移样本积累到预设的数量时,从经验回放池中随机选取一批样本,并输入到sa-eddpg模型中;步骤4)训练sa-eddpg模型,其中,sa-eddpg模型的输入为底层物理网络g和服务请求的集合r,输出为vnff
m
的放置位置和流量的路由路径,采用双演员-评论家的网络结构,总共包含四个神经网络,分别为主演员网络μ(s|θ
μ
)、主评论家网络q(s,a|θ
q
)、目标演员网络μ

(s|θ
μ

)和目标评论家网络q

(s,a|θ
q

),其中θ
μ
、θ
q
、θ
μ

和θ
q

是神经网络中的参数,演员网络负责在给定的网络状态下产生vnf放置和流量路由的动作,评论家网络负责对演员网络生成的动作进行评价,在训练的过程中,主演员网络通过策略梯度的方法来更新参数θ
μ
,主评论家网络通过基于时序差分误差的梯度下降方法来更新参数θ
q
,目标演员网络和目标评论家网络采用软更新的方式更新参数θ
μ

和θ
q

;所述在线运行过程包括以下步骤:步骤5)选择离线训练过程中训练完成的sa-eddpg模型进行服务功能链的在线路由;步骤6)将网络状态s
t
输入到训练完成的sa-eddpg模型中,利用模型评估每个动作a
t
的性能以获得相应的奖励,同时,将数据(s
t
,a
t
,r
t
,s
t+1
)存储到经验回放池中,用于更新sa-eddpg模型;步骤7)在底层物理网络执行能获得最高奖励的vnf放置和流量路由的动作。6.根据权利要求5所述的一种时延敏感的服务功能链并行路由优化方法,其特征在于,所述sa-eddpg模型中,演员网络有五层,依次分别是输入层、一个注意力层、两个隐藏层和输出层,主演员网
络μ(s|θ
μ
)和目标演员网络μ

(s|θ
μ

)具有相同的神经网络结构,其中,输入层为网络状态向量s
t
;注意力层将每个节点的状态向量s
t
转化为一个考虑所有节点信息的向量s

t
;两个全连接的隐藏层都包含了256个神经元,用来处理状态信息;输出层的输出为动作a
t
,其中,输出层被划分为两部分,分别用于获取离散型和连续型的动作决策,具体的,定义fc1输出层来获取离散的vnf和链路放置决策,即和定义fc2输出层来获取连续的流量分割比,即fc1输出层通过sigmoid激活函数来得到相应的动作值,即0或1,fc2输出层则直接输出原始的连续动作值并加入噪声或限幅,得到动作值评论家网络利用dnn来逼近动作价值函数q(s,a),共五层,依次分别是输入层、一个注意力层、两个隐藏层和输出层,主评论家网络q(s,a|θ
q
)和目标评论家网络q

(s,a|θ
q

)具有相同的神经网络结构,其中,输入层为当前的网络状态s
t
和演员网络输出的动作a
t
;注意力层将网络状态向量s
t
转换为s

t
;两个隐藏层包含256个神经元,用来处理状态和动作信息;输出层用来输出动作价值函数q(s,a)的值;评论家网络使用激活函数relu来引入非线性特征。7.根据权利要求1所述的一种时延敏感的服务功能链并行路由优化方法,其特征在于,所述sa-eddpg模型的训练过程包括四个神经网络的参数更新,具体为:对于主评论家网络q(s,a|θ
q
),利用dqn算法中的td error更新参数θ
q
,主评论家网络的损失函数计算公式如下:其中,m是取样的批量大小,y
i
是目标值,y
i
的计算公式如下:y
i
=r
i
+γq

(s
i+1


(s
i+1

μ

)|θ
q

)对于主演员网络μ(s|θ
μ
),利用采样策略梯度更新参数θ
μ
,主演员网络的更新公式如下:对于目标评论家网络q

(s,a|θ
q

)和目标演员网络μ

(s|θ
μ

),采用软更新的方式更新其各自参数,公式如下:θ
q


τθ
q
+(1-τ)θ
q

θ
μ


τθ
μ
+(1-τ)θ
μ

其中,参数τ<<1。8.根据权利要求1所述的一种时延敏感的服务功能链并行路由优化方法,其特征在于,所述sa-eddpg模型的训练过程具体包括以下步骤:步骤4-1)初始化主评论家网络q(s,a|θ
q
)、主演员网络μ(s|θ
μ
)、目标评论家网络q

(s,a|θ
q

)和目标演员网络μ

(s|θ
μ

)的网络权重参数,初始化经验回放池步骤4-2)在每个训练回合中,执行以下步骤:步骤4-2-1)重置网络环境,智能体根据重置的环境获取初始的网络状态;步骤4-2-2)初始化随机过程,给每个输出动作添加随机噪声;步骤4-2-3)对于本轮训练回合中的每个时隙t,执行以下迭代:步骤4-2-3-1)基于自注意力机制将输入的网络状态s
t
基于邻居节点的信息转变为s
t


步骤4-2-3-2)基于s
t

的信息,智能体根据公式选择动作a
t
并执行,其中为随机噪声,执行动作a
t
后得到奖励r
t
,同时,网络状态从s
t
转变到s
t+1
;步骤4-2-3-3)将智能体与环境交互得到的状态转移数据(s
t
,a
t
,r
t
,s
t+1
)存入到经验回放池中;步骤4-2-3-4)从经验回放池中随机选取m个样本训练sa-eddpg模型;步骤4-2-3-5)更新主网络和目标网络:计算目标值y
i
,利用主评论家网络的损失函数更新主评论家网络的参数θ
q
,使用主演员网络的更新公式更新主演员网络的参数θ
μ
,基于软更新公式更新目标评论家网络和目标演员网络的参数;步骤4-3)当达到预设的训练回合轮次后,完成训练。9.一种时延敏感的服务功能链并行路由优化装置,基于如权利要求1-8中任一所述的方法实现,其特征在于,包括:并行路由问题构建模块,用于构建基于网络功能虚拟化的边缘计算网络中的服务功能链并行路由问题,考虑实时网络状态变化,用马尔可夫决策过程对服务功能链并行路由问题进行建模,得到mdp模型;sa-eddpg算法求解模块,用于基于自注意力机制的增强深度确定性策略梯度算法求解mdp模型,所述求解过程包括离线训练和在线运行两个部分,其中,离线训练部分得到一个训练完成的sa-eddpg模型,在线运行部分通过运行训练完成的sa-eddpg模型确定最优路由方案,进行服务功能链并行路由。10.一种时延敏感的服务功能链并行路由优化装置,包括存储器、处理器,以及存储于所述存储器中的程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-8中任一所述的方法。11.一种存储介质,其上存储有程序,其特征在于,所述程序被执行时实现如权利要求1-8中任一所述的方法。

技术总结
本发明涉及一种时延敏感的服务功能链并行路由优化方法、装置及介质,属于边缘计算技术领域,其中方法包括以下步骤:构建基于网络功能虚拟化的边缘计算网络中的服务功能链并行路由问题,考虑实时的网络状态变化,用马尔可夫决策过程对服务功能链并行路由问题进行建模,得到MDP模型;基于自注意力机制的增强深度确定性策略梯度算法求解MDP模型,求解过程包括离线训练和在线运行两个部分,其中,离线训练部分得到一个训练完成的SA-EDDPG模型,在线运行部分通过运行训练完成的SA-EDDPG模型确定最优路由方案,进行服务功能链并行路由。与现有技术相比,本发明具有考虑了实时网络变化、时延低、资源消耗少等优点。资源消耗少等优点。资源消耗少等优点。


技术研发人员:郭松涛 朱永东 王紫恒 刘贵燕 曲鑫
受保护的技术使用者:之江实验室
技术研发日:2023.05.10
技术公布日:2023/8/9
版权声明

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

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

分享:

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

相关推荐