发明内容
为了解决上述现有技术中基于多基站的边缘缓存方法忽略了边缘服务器的动态变化的缺陷,本发明提出了一种考虑动态拓扑的多边缘服务缓存调度方法,在缓存调度中考虑到边缘网络的动态变化,提高了缓存调度的服务稳定性。
本发明提出的一种考虑动态拓扑的多边缘服务缓存调度方法,包括以下步骤:
S1、建立Markov模型,以边缘网络中的基站作为智能体,设置Markov模型的状态、动作及奖励函数;
所述Markov模型的状态S(t)定义为:
S(t)={G(t),S(1,t),S(2,t),…,S(b,t),…,S(B,t)};其中,G(t)表示用于描述时隙t时的边缘网络拓扑状态的邻接矩阵,S(b,t)表示时隙t时基站b的状态;
S(b,t)={R(b,t),$(b,t)}
R(b,t)={r(b,1,t),r(b,2,t),…,r(b,u,t),…,r(b,u(max),t)}
R(b,t)表示基站b在时隙t内接受并处理的内容请求序列,r(b,u,t)表示基站b覆盖范围内终端u在时隙t时向基站b请求的内容,1≤r(b,u,t)≤C,1≤b≤B,C为内容总数量,B表示边缘网络中的基站总数量;令基站b覆盖范围内的所有终端的集合记作U(b),U(b)={1,2,…,u,…u(max)},u∈U(b),u(max)表示基站b覆盖范围内终端总数量;
$(b,t)为时隙t时基站b的已缓存内容序列,即已缓存的内容的集合;
所述Markov模型的动作A(t)定义为:
A(t)={A(1,t),A(2,t),…,A(b,t),…,A(B,t)}
A(b,t)={π(a(b,u,t))} u∈U(b)
a(b,u,t)={y(b,u,t),s(b,u,t),b(b,u,t)}
A(b,t)表示基站b在时隙t时的策略分布,a(b,u,t)表示基站b在时隙t时根据终端u的内容请求生成的动作,π(a(b,u,t))表示基站b执行动作a(b,u,t)的概率;
y(b,u,t)为表示决策是否缓存的二值数,s(b,u,t)表示时隙t时基站b对应终端u的缓存替换策略,b(b,u,t)表示时隙t时基站b分配给终端u的带宽;
如果终端u在时隙t时向基站b请求的内容已经缓存在基站b中,则y(b,u,t)=0,s (b,u,t)为空集;如果终端u在时隙t时向基站b请求的内容没有缓存在基站b中,则y(b,u,t)=1,s(b,u,t)={r(b,u,t),ř(b,u,t)},表示基站b将清除已存储的内容ř(b,u,t),并缓存内容r(b,u,t);
所述Markov模型的奖励函数根据优化目标设置,所述优化目标设置为:
utility(b,t)表示效用函数,utility(b,t)=T(b,t)/H(b,t);T(b,t)表示基站b在时隙t时的内容交付总延迟;H(b,t)表示基站b在时隙t时的缓存命中率,即时隙t内基站b命中的缓存内容数量与基站b覆盖范围内的所有终端请求的内容总数的比值,基站命中的缓存内容为基站已缓存且被其覆盖范围内的终端请求的内容;
x(b,u,t)为时隙t时基站b分配给覆盖范围内的终端u的带宽百分比,即终端u占用带宽与基站b占用带宽的比值;
S2、基于优化目标对基于神经网络模型的缓存调度模型进行求解,以获取各基站对应的缓存调度模型,所述缓存调度模型的输入为时隙t时边缘网络的状态S(t),所述缓存调度模型的输出为对应的基站在时隙t时的策略分布;
S3、获取边缘网络的状态S(t),将状态S(t)输入缓存调度模型以获取基站策略分布,并从基站的策略分布中选取对应概率最大的动作作为基站的决策动作。
优选的,S2中缓存调度模型的获取包括以下步骤:
S21、构建由预处理模块、GCN网络、Actor_Old网络、Actor_New网络和Critic网络组成的初始模型,GCN网络、Actor_Old网络、Actor_New网络和Critic网络均为神经网络;
预处理模块的输入为时隙t时边缘网络的状态S(t),预处理模块用于结合状态S(t)中各基站的已缓存内容序列$(b,t)构建用于表述边缘网络存储状态的特征矩阵X,X=[a bc ]1≤b≤B,1≤c≤C ,a bc 表示特征矩阵X第b行第c列的元素,当基站b中存储有内容c,则a bc =1;反之,a bc =0;
GCN网络的输入为边缘网络的当前的状态S(t)和特征矩阵X,GCN网络用于对邻接矩阵G(t)和特征矩阵X进行卷积处理,获得聚合邻居特征的矩阵H l ,H l ∈R B×d ,即H l 为B行d列的矩阵,d为GCN网络的节点数量;GCN网络的输出为聚合状态s’(t)=H l ||R(t),||表示矩阵拼接,R(t)表示时隙t时边缘网络的内容请求状态,R(t)=[R(1,t),R(2,t),…,R(b,t),…,R (B,t)] T ;T表示矩阵转置;
Actor_Old网络的输入和Actor_New网络的输入均为s’(t),Actor_Old网络的输出和Actor_New网络的输出均为对应的智能体的策略分布,即智能体可选择的所有动作以及各个动作的概率;
Critic网络用于计算状态价值,Critic网络的输入为s’(t),其输出为s’(t)对应的状态价值;
S22、构建经验池样本;将时隙t时的边缘网络的状态S(t)输入预处理模块和GCN网络,获得对应的聚合状态s’(t);将聚合状态s’(t)输入Actor_New网络,从Actor_New网络输出的策略分布中选择一个动作作为时隙t时的决策动作a(t);根据奖励函数计算决策动作a (t)对应的奖励r(t);获取初始模型对应的智能体执行决策动作a(t)后边缘网络的状态记作下一个状态S(t+1),获取S(t+1)对应的聚合状态记作下一个聚合状态s’(t+1);构建经验池样本{s’(t),a(t),r(t),s’(t+1)}存储到经验池中;再将s’(t+1)输入Actor_New网络,循环本步骤,直至循环N次,获得N个经验池样本;最后一组经验池样本记作{s’(t+N-1),a(t+ N-1),r(t+N-1),s’(t+N)};
S23、将各经验池样本中的聚合状态分别输入Critic网络得到对应的状态价值,聚合状态s’(t)对应的状态价值记作v(s’(t));
根据s’(t+N)对应的状态价值v(s’(t+N))和折扣奖励公式得到对应的折扣奖励D(t)、D(t+1)、…、D(t+n)、…、D(t+N-1);0≦n≦N-1,t+0=t;n为序数;
折扣奖励公式为:
其中,γ表示设定的折扣系数;
S24、根据设定的Critic网络的损失函数critic_loss更新Critic网络;
S25、将各经验池样本的聚合状态s’(t)输入Actor_Old网络,以获得Actor_Old网络输出的每一个聚合状态s’(t)对应的策略分布,将Actor_Old网络针对s’(t+n)输出的策略分布记作Nor1(s’(t+n));
S26、将各经验池样本的聚合状态s’(t)输入Actor_New网络,以获得Actor_New网络输出的每一个聚合状态s’(t)对应的策略分布,将Actor_New网络针对s’(t+n)输出的策略分布记作Nor2(s’(t+n));0≦n≦N-1;
S27、获取各经验池样本中的动作a(t+n)在Nor1(s’(t+n))和Nor2(s’(t+n))中的概率,分别记作por1(a(t+n))和por2(a(t+n)),计算动作a(t+n)对应的重要性采样值ratio t+n ;结合重要性采样值ratio t+n 计算Actor_New网络的损失函数actor_loss,根据actor_loss对Actor_New网络进行参数更新;
S28、循环步骤S26到S27,直至Actor_New网络的更新次数达到设定次数k1时,更新Actor_Old网络,使Actor_Old网络与Actor_New网络一致;
S29、循环步骤S22到S28,直至循环次数达到设定次数k2时固化Actor_New网络,并组合预处理模块、GCN网络和参数固化的固化Actor_New网络作为智能体对应的缓存调度模型。
优选的,S24中,Critic网络的损失函数critic_loss为:
Â
t+n
=D(t+n)-v(s’(t+n))
其中, t+n 为过渡参数,n为序数。
优选的,S27中,Actor_New网络的损失函数actor_loss为:
Ψ(t+n)=min{ratio t+n × t+n ,clip(ratio t+n ,1-є,1+є)× t+n }
其中,clip表示函数,є表示设定的限幅参数。
优选的,奖励函数为:
其中,r(b,t)表示基站b在时隙t时的奖励,w t 和w h 分别表示内容交付延迟和缓存命中率的权重,两者均为设定值,且w t +w h =1;c(t)表示在基站b覆盖范围内的所有终端请求的内容从云服务器到终端的总延迟,T(b,t)表示基站b在时隙t时的内容交付总延迟,H(b,t)表示基站b在时隙t时的缓存命中率;T cs 表示云服务器将内容传输到终端的延迟;F表示内容大小;W s 表示基站的带宽;u(max)表示基站b覆盖范围内的终端个数;δ(b,u,t)表示基站b在时隙t时向终端u发送内容的下行信噪比。
优选的,邻接矩阵G(t)为:
G(t)=[g m’m ]1≤m’≤M,1≤m≤M
其中,M表示边缘网络覆盖范围内所有基站数量;g m’m 表示特征矩阵G(t)第m’行第m列的元素,如果基站m’和基站m之间存在有效的通信线路,则g m’m =1;反之,g m’m =0。
本发明还提出了一种考虑动态拓扑的多边缘服务缓存调度系统,包括存储器,存储器中存储有计算机程序,所述计算机程序被执行时用于实现所述的考虑动态拓扑的多边缘服务缓存调度方法。
优选的,还包括处理器,处理器与存储器连接,处理器用于执行所述计算机程序,以实现所述的考虑动态拓扑的多边缘服务缓存调度方法。
优选的,处理器与边缘网络的中央控制器通信连接,中央控制器用于实时监测边缘网络的拓扑状态,处理器用于结合中央控制器监测到的拓扑状态生成邻接矩阵G(t)。
本发明的优点在于:
(1)本发明提出的一种考虑动态拓扑的多边缘服务缓存调度方法,在多边缘服务缓存问题中引入图卷积神经网络(GCN网络)和深度强化学习。图卷积神经网络可实现对动态拓扑的实时信息捕捉,将经过特征提取后的信息传输到深度强化学习网络中进行学习,结合深度强化学习强大的决策能力,可以很好地实现缓存决策并提高服务稳定性。
(2)本发明通过邻接矩阵的引入,实现了在传统的多边缘服务缓存模型中考虑动态拓扑,并以协作式的方式提高边缘服务缓存的效率。本发明不仅可以应对拓扑变化带来的服务质量下降的影响,同时也能够对拓扑结构进行特征聚合提升请求内容服务缓存的效率,给出更佳缓存策略。
(3)本发明提出的一种考虑动态拓扑的多边缘服务缓存调度方法,针对多边缘基站场景下的服务缓存调度问题,综合考虑了边缘网络模型、内容模型、服务请求模型以及通信模型等约束条件,建模出在带宽资源有限的条件下最小化请求服务内容的时延和最大化服务缓存命中率,并将此多边缘服务缓存调度系统模型建模为马尔科夫决策模型,设计基于深度强化学习PPO的邻居协作式缓存算法对其进行求解。本发明获得的缓存调度模型能够实时地捕捉并定位动态拓扑的信息,并能够对其拓扑信息进行特征提取,从一定程度上提升了应对紧急事务的处理能力,同时提高了多边缘服务缓存调度的性能。
(4)本发明提出的考虑动态拓扑的多边缘服务缓存调度方法可以在实际使用过程中不断学习和积累经验,从而提高准确率。
(5)本发明中结合折扣奖励和状态价值构建Critic网络的损失函数critic_loss,结合重要性采样值构建Actor_New网络的损失函数actor_loss,保证了缓存调度模型训练的可靠性,从而提高了收敛速度和模型精确度。
(6)本发明中首先定义了边缘网络的效用函数,然后结合效用函数定义了奖励函数,使得奖励函数的定义可以更加清晰明确的评估模型性能,进一步提高了结合奖励函数定义损失函数的可靠性。
(7)本发明提供了一种考虑动态拓扑的多边缘服务缓存调度系统,用于实现上述考虑动态拓扑的多边缘服务缓存调度方法,有利于该方法的推广应用。同时,本发明中通过边缘网络的中央控制器获取邻接矩阵,保证了对边缘网络的拓扑状态的实时追踪,进一步保证了边缘网络服务缓存调度的时效。
具体实施方式
边缘网络
边缘网络包括:云服务器、多个基站和多个终端,每一个基站均配备有一个边缘缓存服务器;每一个基站覆盖有多个终端,且各基站的覆盖范围不重叠;终端u处于基站b覆盖范围内,基站b覆盖范围内的所有终端的集合记作U(b),1≤b≤B,u∈U(b),U(b)={1,2,…, u,…u(max)};B表示边缘网络中的基站总数量,u(max)表示基站b覆盖范围内终端总数量。如果基站b和基站b’之间存在有效的通信线路,则基站b和基站b’互为邻居节点。
云服务器中存储有所有内容,内容大小固定为F。M b 表示第b个基站的最大缓存容量,由于基站的存储空间有限,故而各基站中存储有部分内容。如此,当终端u请求的内容缓存在其关联的基站b中,则由基站b从本地直接传输该内容给终端u;如果该内容未缓存在基站b中,但是基站b的某一个邻居节点基站b’缓存有该内容,则基站b从基站b’中获取该内容并发送给终端u;如果该内容未缓存基站b中,也没有缓存在基站b的任一个邻居节点中,则基站b从云服务器获取该内容并发送给终端u。
令T(b,u,t,loc)表示基站b向终端u发送内容的传输时延,T(b’,u,t,nbr)表示基站b’向终端u发送内容的传输时延,T(u,t,cs)表示云服务器向终端u发送内容的传输时延;则:
T(b,u,t,loc)=F/D(b,u,t)
T(b’,u,t,nbr)=T(b,u,t,loc)+T
bs
T(u,t,cs)=T(b,u,t,loc)+T
cs
D(b,u,t)=x(b,u,t)×W
s
×log
2
(1+δ(b,u,t))
D(b,u,t)表示下行传输速率,x(b,u,t)为时隙t时基站b分配给覆盖范围内的终端u的带宽百分比,即终端u占用带宽与基站b占用带宽的比值;δ(b,u,t)表示基站b在时隙t时向终端u发送内容的下行信噪比;W s 表示基站的带宽;T cs 表示云服务器将内容传输到终端的延迟;T bs 表示邻居节点之间的传输延迟。
H(b,u,t) 表示时隙t时基站b与终端u的信道增益,H(b’’,u,t) 表示时隙t时基站b’’与终端u的信道增益,B\{b}表示基站b以外的所有基站的集合;
P s 表示单个基站的发射功率,σ2表示背景噪声功率;
将基站b覆盖范围内终端u在时隙t时向基站b请求的内容记作r(b,u,t);基站b在时隙t内接受并处理的内容请求序列表示为:
R(b,t)={r(b,1,t),r(b,2,t),…,r(b,u,t),…,r(b,u(max),t)}
1≤r(b,u,t)≤C,C为内容总数量。
Markov模型
本实施方式中,Markov模型用于描述基于边缘网络的动态拓扑定义与强化学习之间的映射关系问题。本实施方式中,以边缘网络中的基站作为智能体,设置Markov模型的状态、动作及奖励函数。
所述Markov模型的状态S(t)定义为:
S(t)={G(t),S(1,t),S(2,t),…,S(b,t),…,S(B,t)};其中,G(t)表示用于描述时隙t时的边缘网络拓扑状态的邻接矩阵,S(b,t)表示时隙t时基站b的状态。
即,G(t)=[g m’m ]1≤m’≤M,1≤m≤M ,M表示边缘网络覆盖范围内所有基站数量;g m’m 表示特征矩阵G(t)第m’行第m列的元素,如果基站m’和基站m之间存在有效的通信线路,则g m’m =1;反之,如果出现以下(q1)(q2)中任一种情形,则g m’m =0;
(q1)基站m’和基站m中至少一个处于故障或者停电状态;
(q2)基站m’和基站m之间的通信线路处于故障或者停电状态。
S(b,t)={R(b,t),$(b,t)}
R(b,t)表示基站b在时隙t内接受并处理的内容请求序列;$(b,t)为时隙t时基站b的已缓存内容序列,即已缓存的内容的集合。
所述Markov模型的动作A(t)定义为:
A(t)={A(1,t),A(2,t),…,A(b,t),…,A(B,t)}
A(b,t)={π(a(b,u,t))} u∈U(b)
a(b,u,t)={y(b,u,t),s(b,u,t),b(b,u,t)}
A(b,t)表示基站b在时隙t时的策略分布,a(b,u,t)表示基站b在时隙t时根据终端u的内容请求生成的动作,π(a(b,u,t))表示基站b执行动作a(b,u,t)的概率;
y(b,u,t)为表示决策是否缓存的二值数,s(b,u,t)表示时隙t时基站b对应终端u的缓存替换策略,b(b,u,t)表示时隙t时基站b分配给终端u的带宽;
如果终端u在时隙t时向基站b请求的内容已经缓存在基站b中,则y(b,u,t)=0,s (b,u,t)为空集;如果终端u在时隙t时向基站b请求的内容没有缓存在基站b中,则y(b,u,t)=1,s(b,u,t)={r(b,u,t),ř(b,u,t)},表示基站b将清除已存储的内容ř(b,u,t),并缓存内容r(b,u,t)。
所述Markov模型的奖励函数根据优化目标设置,所述优化目标设置为:
utility(b,t)表示效用函数,utility(b,t)=T(b,t)/H(b,t);
T(b,t)表示基站b在时隙t时的内容交付总延迟;
T(b,t)=T(1,t)+T(2,t)+T(3,t)+……+T(u,t)+……+T(u(max),t)
T(u,t)表示终端u请求的内容的交付延迟;
如果终端u请求的内容缓存在基站b中,则:T(u,t)=T(b,u,t,loc);
如果终端u请求的内容缓存在基站b的邻居节点基站b’中,则:T(u,t)=T(b’,u,t, nbr);
如果终端u请求的内容仅缓存在云服务器中,则:T(u,t)=T(u,t,cs);
T(b,u,t,loc)表示基站b向终端u发送内容的传输时延,T(b’,u,t,nbr)表示基站b’向终端u发送内容的传输时延,T(u,t,cs)表示云服务器向终端u发送内容的传输时延。
H(b,t)表示基站b在时隙t时的缓存命中率,即时隙t内基站b命中的缓存内容数量与基站b覆盖范围内的所有终端请求的内容总数的比值,基站命中的缓存内容为基站已缓存且被其覆盖范围内的终端请求的内容;
x(b,u,t)为时隙t时基站b分配给覆盖范围内的终端u的带宽百分比,即终端u占用带宽与基站b占用带宽的比值。
具体的,本实施方式中,Markov模型的奖励函数为:
其中,r(b,t)表示基站b在时隙t时的奖励,w t 和w h 分别表示内容交付延迟和缓存命中率的权重,两者均为设定值,且w t +w h =1;c(t)表示在基站b覆盖范围内的所有终端请求的内容从云服务器到终端的总延迟;
T(b,t)表示基站b在时隙t时的内容交付总延迟,H(b,t)表示基站b在时隙t时的缓存命中率;T cs 表示云服务器将内容传输到终端的延迟;F表示内容大小;W s 表示基站的带宽;u(max)表示基站b覆盖范围内的终端个数;δ(b,u,t)表示基站b在时隙t时向终端u发送内容的下行信噪比。
缓存调度模型
本实施方式中,缓存调度模型与边缘网络中的基站一一对应,各缓存调度模型用于根据输入的边缘网络的拓扑状态获取对应的基站的动作。
参照图1,本实施方式中,缓存调度模型基于神经网络模型构建,其训练过程包括以下步骤,训练过程中以基站作为智能体。
S21、构建由预处理模块、GCN网络、Actor_Old网络、Actor_New网络和Critic网络组成的初始模型,GCN网络、Actor_Old网络、Actor_New网络和Critic网络均为神经网络;
预处理模块的输入为时隙t时边缘网络的状态S(t),预处理模块用于结合状态S(t)中各基站的已缓存内容序列$(b,t)构建用于表述边缘网络存储状态的特征矩阵X;
即,X为B行C列矩阵,X=[a bc ]1≤b≤B,1≤c≤C ,a bc 表示特征矩阵X第b行第c列的元素,当基站b中存储有内容c,则a bc =1;反之,a bc =0;
GCN网络的输入为边缘网络的当前的状态S(t)和特征矩阵X,GCN网络用于对邻接矩阵G(t)和特征矩阵X进行卷积处理,获得聚合邻居特征的矩阵H l ,H l ∈R B×d ,即H l 为B行d列的矩阵,d为GCN网络的节点数量;GCN网络的输出为聚合状态s’(t)=H l ||R(t),||表示矩阵拼接,R(t)表示时隙t时边缘网络的内容请求状态,R(t)=[R(1,t),R(2,t),…,R(b,t),…,R (B,t)] T ;T表示矩阵转置;
Actor_Old网络的输入和Actor_New网络的输入均为s’(t),Actor_Old网络的输出和Actor_New网络的输出均为对应的智能体的策略分布,即智能体可选择的所有动作以及各个动作的概率;
Critic网络用于计算状态价值,Critic网络的输入为s’(t),其输出为s’(t)对应的状态价值;
S22、构建经验池样本;将时隙t时的边缘网络的状态S(t)输入初始模型的预处理模块和GCN网络,获得对应的聚合状态s’(t);将聚合状态s’(t)输入Actor_New网络,从Actor_New网络输出的策略分布中选择一个动作作为时隙t时的决策动作a(t);根据奖励函数计算决策动作a(t)对应的奖励r(t);令边缘网络中各智能体执行对应的决策动作以获取边缘网络的下一个状态S(t+1),获取S(t+1)对应的聚合状态记作下一个聚合状态s’(t+1);构建经验池样本{s’(t),a(t),r(t),s’(t+1)}存储到经验池中;再将s’(t+1)输入Actor_New网络,循环本步骤,直至循环N次,使得各智能体均关联有N个经验池样本;最后一组经验池样本记作{s’(t+N-1),a(t+N-1),r(t+N-1),s’(t+N)}。
令0≦ñ≦N,t+0=t,时隙t+ñ时边缘网络的状态S(t+ñ)确定,各智能体对应的经验池样本{s’(t+ñ),a(t+ñ),r(t+ñ),s’(t+ñ+1)}中的聚合状态s’(t+ñ)为对应的初始模型对状态S(t+ñ)的处理结果,如果不同初始模型的预处理模块和GCN网络相同,则不同智能体的同一时隙上的经验池样本的聚合状态相同。
值得注意的是,经验池样本中决策动作a(t)指的是对应的智能体的决策动作,决策动作可以是从智能体对应的Actor_New网络输出的策略分布中随机选择的一个动作,也可以是从策略分布中选择的对应的概率值最大的动作。经验池样本中的奖励r(t+ñ)为智能体对应的奖励。
根据以下步骤S23-S28对各初始模型的Actor_Old网络、Actor_New网络和Critic网络进行更新;
S23、将各经验池样本中的聚合状态分别输入Critic网络得到对应的状态价值,聚合状态s’(t)对应的状态价值记作v(s’(t));
根据s’(t+N)对应的状态价值v(s’(t+N))和折扣奖励公式得到对应的折扣奖励D(t)、D(t+1)、…、D(t+n)、…、D(t+N-1);0≦n≦N-1,t+0=t;n为序数;
折扣奖励公式为:
其中,γ表示设定的折扣系数,一般可设置为0.9;
S24、根据设定的Critic网络的损失函数critic_loss更新Critic网络;
Â
t+n
=D(t+n)-v(s’(t+n))
其中, t+n 为过渡参数,n为序数。
S25、将各经验池样本的聚合状态s’(t)输入Actor_Old网络,以获得Actor_Old网络输出的每一个聚合状态s’(t)对应的策略分布,将Actor_Old网络针对s’(t+n)输出的策略分布记作Nor1(s’(t+n));
S26、将各经验池样本的聚合状态输入Actor_New网络,以获得Actor_New网络输出的每一个聚合状态对应的策略分布,将Actor_New网络针对s’(t+n)输出的策略分布记作Nor2(s’(t+n));0≦n≦N-1;
S27、获取各经验池样本中的动作a(t+n)在Nor1(s’(t+n))和Nor2(s’(t+n))中的概率,分别记作por1(a(t+n))和por2(a(t+n)),计算动作a(t+n)对应的重要性采样值ratio t+n ;结合重要性采样值ratio t+n 计算Actor_New网络的损失函数actor_loss,根据actor_loss对Actor_New网络进行参数更新;
Ψ(t+n)=min{ratio t+n × t+n ,clip(ratio t+n ,1-є,1+є)× t+n }
其中,clip表示函数,є表示设定的限幅参数;
当1-є≤ratio t+n ≤1+є,则clip(ratio t+n ,1-є,1+є)=ratio t+n ;
当ratio t+n >1+є,则clip(ratio t+n ,1-є,1+є)=1+є;
当ratio t+n <1-є,则clip(ratio t+n ,1-є,1+є)=1-є。
S28、循环步骤S26到S27,直至Actor_New网络的更新次数达到设定次数k1时,更新Actor_Old网络,使Actor_Old网络与Actor_New网络一致;即每执行完步骤S27,则判断Actor_New网络的更新次数是否达到k1;未达到,则返回步骤S26;达到,则更新Actor_Old网络,使Actor_Old网络与Actor_New网络一致;
S29、循环步骤S22到S28,直至循环次数达到设定次数k2时固化各处室模型的GCN网络和Actor_New网络,并组合预处理模块以及参数固化的GCN网络和Actor_New网络作为智能体对应的缓存调度模型。即每更新一次Actor_Old网络,则判断Actor_Old网络更新次数是否达到k2;未达到,则返回步骤S22;达到,则组合预处理模块以及参数固化的GCN网络和Actor_New网络作为智能体对应的缓存调度模型。
值得注意的是,GCN网络可以直接采用固定网络,也可在训练过程中对GCN网络进行更新,如果对GCN网络进行更新,每次需要在S22到S28新循环开始进行更新,GCN网络可随机更新,也可根据损失函数critic_loss更新Critic网络和GCN网络。
实施例
本实施例中以包含5个基站和1个云服务器的边缘网络为例,边缘网络的拓扑图如图3所示,其中,Cloud Server表示云服务器,SBSp表示第p个基站,p=1、2、3、4、5;各个基站的覆盖范围如图中灰色填充区域所示。本实施例中通过中央控制器实时监控边缘网络的拓扑状态,以便在每个时隙上根据当前的拓扑状态构建对应邻接矩阵G(t)。
本实施例中首先采用图1所示训练流程训练缓存调度模型,折扣系数γ设置为0.9,训练过程中的奖励值收敛情况如图4所示,结合图4可知,当训练轮次即Actor_Old网络更新达到200次左右时初始模型收敛,从而可得到缓存调度模型。可见本实施例中只需要训练不到200次便可得到缓存调度模型,收敛速度极快。
为了验证本实施例中缓存调度模型的可靠性,以下分别采用三种现有边缘网络缓存调度方法作为对比例和本实施例中的缓存调度模型进行对比,对比结果如下表1和图5所示,图5横坐标为边缘网络中单个基站的缓存空间。
表1:对比例统计表
本发明中为了保证表1中不同算法对比的可靠性,均采用本发明提供的效用函数utility(b,t)进行计算和对比。结合图5可知,表1中任一算法在缓存容量增大的时候,对应的效用函数越小,且DTPPO在任何缓存大小设置下,其效用均均优于3个对比例,可见本实施例提供的缓存调度模型的具有更好的决策能力,能够大幅度优化边缘网络的缓存能力。
以上仅为本发明创造的较佳实施例而已,并不用以限制本发明创造,凡在本发明创造的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明创造的保护范围之内。