一种异构IoT网络中的边缘计算与缓存方法及系统

文档序号:24736348发布日期:2021-04-20 19:53阅读:249来源:国知局
一种异构IoT网络中的边缘计算与缓存方法及系统
一种异构iot网络中的边缘计算与缓存方法及系统
技术领域
1.本公开属于无线通信技术领域,具体涉及一种异构iot网络中的边缘计算与缓存方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
3.随着移动通信技术的发展,第三代合作伙伴计划(3gpp)定义的5g应用场景提供了三种计算模式:增强型移动宽带(embb),大规模机器类通信(mmtc)以及超可靠低时延通信(urllc)。同时,为了满足不断增长的物联网(iot)应用程序和设备的计算任务与内容请求,运营商采用云计算技术来弥补设备中计算资源与存储容量的局限性。但是从移动设备到远程云计算基础架构长距离的传输可能会导致较大的服务延迟和传输能耗,并且随着设备业务类型增多,iot设备的并发访问进一步加剧了高带宽需求与频谱资源不足之间的矛盾。因此,移动边缘计算(mobile edge computing,mec)作为一种有效的解决方案被提出,mec通过将计算、存储资源部署在用户设备附近来减轻云数据中心的负担。
4.在基于mec的iot网络中,iot设备可以通过无线信道将全部或部分计算任务卸载到物理上邻近的mec服务器进行处理,这可以加快任务的处理速度并为设备节省能源。相较于本地计算,mec可以克服移动设备有限的计算能力;相较于云计算,mec可以避免将计算任务卸载到远程云而产生的较大延迟。但是,计算卸载通过无线信道进行数据传输,可能导致无线信道拥塞,并且边缘服务器计算资源有限,因此,如何合理的进行计算卸载与资源分配成为一项热点问题。同时,iot设备产生的内容请求有可能会重复,协作式内容缓存可以通过在移动用户附近缓存流行内容来减轻回程压力和内容访问延迟。因此,研究协作式内容缓存策略对提高数据回传速率和资源利用率至关重要。
5.发明人发现,针对异构iot网络中的mec计算卸载、资源分配、缓存等问题,传统的优化方法需要经过一系列的复杂操作和迭代来解决此类问题。随着无线网络需求的增加,传统的优化方法面临着巨大挑战。例如,目标函数中的变量数量大幅度增长,大量的变量对基于数学方法的计算和内存空间提出了严峻的挑战,同时无线信道在时域中的动态变化,信道状态信息的不确定性以及计算的高复杂度等因素也会影响传统解决方案的性能。因此为了更好的优化异构iot网络中的mec计算卸载、资源分配与缓存策略,强化学习作为一种有效的解决方案被广泛应用。深度强化学习通过与环境的反复交互,采用函数逼近的方法,可以很好地解决复杂高维状态空间中的决策问题。


技术实现要素:

6.为了解决上述问题,本公开提出了一种异构iot网络中的边缘计算与缓存方法及系统,在考虑计算卸载与资源分配的同时,考虑内容缓存策略,利用深度确定性策略梯度算法的多智能体强化学习方法(maddpg)智能地解决联合问题,优化系统的时延与能耗,有效
降低了网络通信开销,提升了网络整体性能,实现了对异构iot网络中计算卸载、资源分配和内容缓存的联合优化。
7.为了实现上述目的,本公开采用了如下的技术方案:
8.本公开的第一方面提供了一种异构iot网络中的边缘计算与缓存方法。
9.一种异构iot网络中的边缘计算与缓存方法,包括以下步骤:
10.构建基于移动边缘计算的异构iot网络模型;
11.对异构iot网络中不同类型的用户分别建模分析,针对计算任务型用户,构建上行链路通信模型与计算模型,针对内容请求型用户,构建下行链路通信模型与缓存模型;
12.问题建模,明确系统优化目标,最小化所有用户的时延与能耗的加权和;
13.采用maddpg算法联合优化计算卸载、资源分配和内容缓存的决策。
14.本公开的第二方面提供了一种异构iot网络中的边缘计算与缓存系统,采用了本公开第一方面所述的异构iot网络中的边缘计算与缓存方法。
15.本公开第三方面提供了一种计算机可读存储介质。
16.一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如本公开第一方面所述的异构iot网络中的边缘计算与缓存方法中的步骤。
17.本公开第四方面提供了一种电子设备。
18.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本公开第一方面所述的异构iot网络中的边缘计算与缓存方法中的步骤。
19.与现有技术相比,本公开的有益效果为:
20.本公开在考虑计算卸载与资源分配的同时,考虑内容缓存,从计算卸载、资源分配和内容缓存三个方面进行联合优化,利用多智能体深度确定性策略梯度算法(maddpg)智能地解决联合问题,实现了异构iot网络中的最优资源分配,有效降低了系统的时延与能耗,减小了网络通信开销,同时提高了用户体验与网络整体性能。
附图说明
21.构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
22.图1是本公开实施例一中的异构iot网络架构的模型图;
23.图2是本公开实施例一中的异构iot网络边缘计算与缓存方法的流程图;
24.图3是本公开实施例一中的深度强化学习模型示意图;
25.图4是本公开实施例一中的maddpg算法流程图。
具体实施方式:
26.下面结合附图与实施例对本公开作进一步说明。
27.应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
28.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根
据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
29.对于本领域的相关科研或技术人员,可以根据具体情况确定上述术语在本实公开中的具体含义,不能理解为对本公开的限制。
30.在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
31.实施例一
32.本公开实施例一介绍了一种异构iot网络中的边缘计算与缓存方法。
33.如图2所示的一种异构iot网络中的边缘计算与缓存方法,包括以下步骤:
34.步骤s01:构建系统模型,详细描述异构iot架构中的基础设施与设备;
35.步骤s02:针对计算任务型用户,构建上行链路通信模型;针对内容请求型用户,构建下行链路通信模型;
36.步骤s03:针对计算任务型用户,构建任务计算模型,并计算执行时延与能耗;
37.步骤s04:针对内容请求型用户,构建内容缓存模型,并计算传输时延与能耗;
38.步骤s05:问题建模,通过共同考虑计算卸载,资源分配与内容缓存策略,明确系统优化目标;
39.步骤s06:在异构iot网络中,通过maddpg算法优化计算卸载、资源分配与内容缓存。
40.在所述步骤s01中,考虑一个包含多个iot用户、多个sbs与一个mbs的异构iot网络(如图1所示)。在网络中,mbs和每个sbs都配备一个mec服务器,可以提供丰富的计算资源与缓存资源。令k
m
,k
s
分别表示mbs和sbs的集合,k=k
m
∪k
s
={0}∪{1,2,...k}。
41.每个sbs服务一个小区,小区内随机分布多个iot用户,iot用户包括计算任务型用户和内容请求型用户,令i
o
,i
r
分别表示计算任务型用户和内容请求型用户的集合,在小区k中,iot用户集合可表示为中,iot用户集合可表示为分别表示在第k个小区覆盖范围内的第i个计算任务用户和内容请求用户。每个计算任务型iot用户具有一项计算量大且对时延敏感的任务其中表示计算任务的数据大小(bits),表示完成任务所需的cpu周期总数(cpu cycles per bit)。每个内容请求型iot用户具有一项请求内容其中表示请求内容n,的数据大小。
42.在所述步骤s02中,在iot用户和sbs之间采用正交频分多址(ofdma)进行通信。假设同一小区内的用户被分配正交频谱,并且mbs与sbs之间的频谱也是正交的。基于此,在本实施例中仅考虑sbs之间的小区间干扰。
43.在sbs k服务的小区中,计算任务型用户选择将计算任务卸载到mbs或sbs k,其中,mbs与sbs为其关联的用户均等地分配带宽,当sbs小区中的用户关联到mbs时,mbs为其关联用户均等分配带宽;当sbs小区内的用户关联到本小区基站,本小区sbs为其关联用户均等分配带宽。在sbs k服务的小区中,当计算任务型用户选择通过无线信道将计算任务卸载到sbs k配备的mec服务器时,计算任务型用户的上行链路传输速率为:
[0044][0045]
其中,表示计算任务型用户,表示计算任务型用户的发射功率,w
s
表示sbs的带宽,表示计算任务型用户到sbs k之间的信道增益,σ2表示背景噪声功率;表示小区k中选择将计算任务卸载到sbs k的用户数,具体的,在sbsk服务的小区中,表示计算任务型用户选择将计算任务卸载到sbs k。其中,1(e)代表指标函数,如果事件e为真,则1(e)=1,否则1(e)=0;
[0046]
当计算任务型用户选择将计算任务卸载到mbs配备的mec服务器时,计算任务型用户的上行链路传输速率为:
[0047][0048]
其中,w
m
表示mbs的带宽,表示计算任务型用户到mbs之间的信道增益,表示网络中选择将计算任务卸载到mbs的用户数,表示计算任务型用户选择将计算任务卸载到mbs。
[0049]
在sbs k服务的小区中,sbs k传输内容到内容请求型用户的下行链路传输速率为:
[0050][0051]
其中,p
k
表示sbs k的发射功率,表示sbs k到内容请求型用户之间的信道增益,表示sbs k服务的内容请求型用户数。
[0052]
在所述步骤s03中,定义表示计算任务型用户的卸载决策,表示卸载到mbs进行计算,表示在本地计算,表示在卸载到关联的sbs上进行计算,
[0053]
下面给出了三种针对计算任务型用户执行时延与能耗的计算方式:
[0054]
a1.本地计算:计算任务型用户在本地执行计算任务用表示计算任务型用户的计算能力,计算任务在本地计算的执行时延为相应的执行能耗为其中,ζ表示有效开关电容,具体取决于芯片的架构;表示每cpu周期的能耗;
[0055]
a2.卸载到sbs计算:计算任务型用户将其计算任务卸载到关联的sbs配备的mec服务器进行计算,用fs表示sbs的mec服务器的计算资源,用表示计算任务型用户所占用的sbs的mec服务器的计算资源比例,具体的,在sbsk服务的小区中,选择卸载到sbsk的用户所占用的资源和不能大于sbs的mec服务器的计算资源,计算任务在关联的sbs的mec服务器中的执行时延为相应的执行能耗为其中,e
s
表示sbs每cpu周期的能耗;
[0056]
a3.卸载到mbs计算:计算任务型用户将其计算任务卸载到mbs配备的mec服务器进行计算,用表示mbs的mec服务器分配给计算任务型用户的计算资源,卸载到mbs上的所有用户分配相同的计算资源;计算任务在mbs的mec服务器中的执行时延为相应的执行能耗为其中,e
m
表示mbs每cpu周期的能耗。
[0057]
由于计算结果的大小小于输入数据的大小,并且下载数据速率高于上传数据速率,因此在本实施例中忽略计算结果的下载传输时延与能耗。
[0058]
在所述步骤s04中,内容缓存是指将移动设备请求内容及其相关数据缓存在边缘缓存中,以减少用户请求内容的延迟。针对内容缓存,定义n是internet中内容的总类型,n={1,2,...n},假设内容请求的受欢迎程度被建模为zipf分布。因此,通过以下方式给出用户请求的第n个内容的流行程度:其中,α代表zipf分布的形状参数。
[0059]
定义缓存决策变量表示sbs k配备的mec服务器选择缓存内容请求型用户的请求内容n,否则的请求内容n,否则若则即,当两个或两个以上sbs配备的mec服务器缓存同一个请求内容时,将用户的请求内容缓存到mbs配备的mec服务器,sbs配备的mec服务器不再重复缓存请求内容。
[0060]
针对提出的异构iot网络,下面详细描述内容请求型用户的四种内容传输方式:
[0061]
b1.sbs

ue:若内容请求型用户所关联的sbs k缓存了用户请求内容n,则sbs直接将任务发送到请求内容的设备上,内容请求型用户请求内容n的下行链路传输时延为相应的传输能耗为
[0062]
b2.sbs
nb

sbs

ue:若内容请求用户所关联的sbs中未缓存请求内容,则sbs将请
求发送到邻居sbs,如果邻居sbs缓存了请求内容,则将内容转发到关联用户的sbs后传给用户。
[0063]
考虑到同一mbs覆盖范围内的sbs通过光纤连接且距离较近,且该范围内的内容传输时间较短,因此假设mbs覆盖范围内邻居sbs到sbs单个内容的传输时延为固定值t
sbs
,传输能耗为固定值e
sbs
,mbs到sbs单个内容的传输时延为固定值t
mbs
,传输能耗为固定值e
mbs
;若内容请求型用户所关联的sbs k未缓存用户请求内容n,邻居sbs k

已缓存,则内容传输时延为相应的传输能耗为
[0064]
b3.mbs

sbs

ue:若内容请求用户所关联的sbs与邻居sbs中均未缓存请求内容,则sbs将请求发送到mbs,若mbs已缓存请求内容,则mbs将内容传输到关联用户的sbs后传给用户。
[0065]
若内容请求型用户所关联的sbs k与邻居sbs均未缓存内容n,mbs已缓存,则内容传输时延为相应的传输能耗为
[0066]
b4.core network

mbs

sbs

ue:若内容请求用户所关联的sbs,邻居sbs和mbs中均未缓存请求内容,则sbs将请求发送到mbs,mbs配备的mec服务器从internet请求内容,之后进行内容回传。
[0067]
内容请求型用户请求内容n的回程带宽为其中,表示核心网络中的平均数据传输速率;内容请求型用户清求内容n的回程链路时延为相应能耗为内容传输时延为相应的传输能耗为
[0068]
在所述步骤s05中,问题建模,通过共同考虑计算卸载,资源分配与内容缓存策略,明确系统优化目标。
[0069]
针对计算任务用户计算任务的执行时延为
[0070][0071]
能耗为
[0072]
针对内容请求用户内容请求n的传输时延为
[0073][0074]
能耗为
[0075][0076]
对于sbs k服务的小区,小区内计算任务用户的任务执行时延和能耗分别表示为
[0077]
内容请求用户的内容传输时延和能耗分别表示为
[0078]
最小化系统中所有小区内不同业务类型用户的时延和能耗的加权和,定义ω
t
,ω
e
表示用户的时延与能耗权重参数,最小化系统效用为min
x,a,y
{u},其中,
[0079][0080]
最小化系统效用的优化公式为:
[0081]
min
x,a,y
{u}
[0082]
c1:
[0083]
c2:
[0084]
c3:
[0085]
c4:
[0086]
c5:
[0087]
c6:
[0088]
c7:
[0089]
其中,c1、c2、c3分别表示卸载决策、计算资源分配、内容缓存决策的变量。c4保证计算任务型用户只能选择一种计算方式;c5是sbs配备的mec服务器的计算资源限制;c6,c7分别是sbs与mbs配备的mec服务器的缓存资源限制,m
s
,m
m
分别表示sbs与mbs配置的mec服务器的存储容量。
[0090]
在所述步骤s06中,在异构iot网络中,通过maddpg算法优化计算卸载、资源分配与内容缓存。
[0091]
ddpg是一种行为准则和无模型算法,在高维连续动作空间中学习策略。ddpg将actor

critic方法与dqn相结合。使用actor网络来探索策略,使用critic网络来评估所提
议策略的性能。为了提高学习性能,采用了dqn的experience replay和batch normalization等技术。ddpg的最重要特征是它可以在连续的动作空间中进行决策或分配。maddpg算法是ddpg算法在多智能体系统下的自然扩展。在本实施例中,考虑使用卷积神经网络改进网络模型。
[0092]
针对时隙,定义状态空间,行动空间和奖励函数,构建如图3所示的多智能体深度强化学习算法模型:
[0093]
构建用于sbs决策计算卸载、资源分配与内容缓存的多智能体深度强化学习模型,基本流程是:在一个时隙,智能体从状态空间中观察到一个状态,然后根据策略和当前状态从动作空间中选择一个动作,即sbs选择服务用户的卸载方式与资源分配,同时决定是否缓存的用户请求内容,并获得奖励值,智能体根据获得的奖励值调整策略,逐步收敛以获得最优奖励。
[0094]
具体的状态、动作及奖励函数设置如下:
[0095]
定义sbs为智能体,sbs之间能够相互通信,共享当前sbs配备的mec服务器所缓存的内容;
[0096]
状态空间:时隙t,所有sbs的状态集合:具体的单个sbs k的状态可以描述为:其中,ca表示sbs所缓存的内容,co,ta,lo,ac分别表示当前小区内用户的请求内容,计算任务,位置,计算执行方式,计算资源分配方式等环境因素。
[0097]
行动空间:时隙t,所有sbs的动作集合:具体的单个sbs k的行动可以描述为:其中,x,a分别表示卸载决策与计算资源分配决策,y表示sbs的缓存决策。
[0098]
奖励函数:智能体通过与环境的相互作用最大化其奖励来做出决策,为了最小化系统中所有用户的时延与能耗的加权和,将奖励函数定义为其中,表示在于时隙,sbs k服务小区内的优化效用,即优化小区内所有用户时延与能耗的加权和,表示sbs k服务小区内的所有用户最大时延与能耗的加权和。
[0099]
通过离线集中训练maddpg模型,每个sbs充当学习智能体,然后在线执行阶段快速做出计算卸载、资源分配和内容缓存决策。如图4所示,maddpg算法具体的实施过程如下:
[0100]
1)初始化容量为n的经验池,用于存储训练样本;
[0101]
2)随机初始化critic网络q(s,a|θ
q
),并随机初始化权重参数θ
q

[0102]
3)随机初始化actor网络u(s|θ
u
),初始化权重参数等于θ
u

[0103]
4)for迭代e=1,2,...,e
max

[0104]
5)定义环境初始设置,智能体通过与环境的交互学习得到初始状态s1;
[0105]
6)for时隙t=1,2,...,t
max

[0106]
7)for每一个智能体sbs,通过使用当前策略θ
u
选择动作a
t
=u(s
t

u
)+δu,探索噪声δu,确定计算卸载决策和资源分配向量和内容缓存决策。
[0107]
8)在仿真环境中,执行sbs执行行动a
t
(即:sbs为计算任务用户决定卸载决策与资源分配,同时决定是否缓存内容请求用户的内容),观察到新的状态s
t+1
并得到反馈回报r
t

[0108]
9)将获得的参数(s
t
,a
t
,r
t
,s
t+1
)存储到经验池n中;
[0109]
10)for agent k=1,2,...,k
max

[0110]
11)从经验池中随机采样一小批b信息
[0111]
12)通过最小化从样本获得的损耗l
b
更新critic网络:
[0112][0113]
13)通过使用采样的策略梯度来更新actor网络:
[0114][0115]
14)更新target网络:θ
u


τθ
u
+(1

τ)θ
u

和θ
q


τθ
q
+(1

τ)θ
q

[0116]
15)end for
[0117]
16)end for
[0118]
17)end for。
[0119]
实施例二
[0120]
本公开实施例二介绍了一种异构iot网络中的边缘计算与缓存系统,系统中采用了本公开实施例一所述的异构iot网络中的边缘计算与缓存方法。
[0121]
详细步骤与实施例一提供的异构iot网络中的边缘计算与缓存方法相同,在此不再赘述。
[0122]
实施例三
[0123]
本公开实施例三提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如本公开实施例一所述的异构iot网络中的边缘计算与缓存方法中的步骤。
[0124]
详细步骤与实施例一提供的异构iot网络中的边缘计算与缓存方法相同,在此不再赘述。
[0125]
实施例四
[0126]
本公开实施例四提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本公开实施例一所述的异构iot网络中的边缘计算与缓存方法中的步骤。
[0127]
详细步骤与实施例一提供的异构iot网络中的边缘计算与缓存方法相同,在此不再赘述。
[0128]
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0129]
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0130]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0131]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0132]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read

only memory,rom)或随机存储记忆体(random accessmemory,ram)等。
[0133]
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1