本发明属于车载移动边缘计算领域,是车载任务卸载时隙决策方法,适用于小型基站(small-cellbasestations)环境中,特别适合局域网内的小型基站负载均衡。
背景技术:
随着物联网技术的快速发展,移动边缘计算(mobileedgecomputing,mec)已经成为物联网技术的重要组成部分。用户可通过无线接入点如基站、路侧单元(roadsideunit,rsu)等接入移动边缘计算。mec可以为用户提供计算、存储等资源。这些特点在车辆网络中获得了广泛的应用:车辆边缘计算(vehicleedgecomputing,vec)是近年来发展起来的一种新的网络模式。
车辆网络中的应用可以让车辆出行更加便捷、安全。随着车辆应用的不断发展,如道路实时分析、自动驾驶、虚拟现实等需要强大的计算能力与大量存储空间的应用越来越多,需要传输的数据内容也越来越多。目前主流的车辆任务卸载的研究多集中在计算资源的分配方面。多数车载任务卸载时隙决策是随机选择,这并不能充分利用卸载时隙而减少卸载造成的网络传输延迟。影响任务卸载时隙的因素包括当前车辆与rsu的相对位置、当前rsu中接入的车辆的数目、当前rsu所需要接收的车载任务的数量等。
综合以上情况,需要提出一种车载任务卸载时隙决策方法,它能够应对车载任务的卸载情景并可考虑多种影响因素。
技术实现要素:
针对上述问题,本发明提出一种基于深度学习的软件定义车载任务卸载时隙决策方法,主要研究通过软件定义网络(softwaredefinednetwork,sdn)获取网络全局的状态感知数据,例如网络中rsu中接入的车辆的数目、mec服务器的负载状态、rsu网络延迟等,并在此基础上结合深度学习模型构建自适应优化决策给出局部卸载、全局卸载及最佳车载任务卸载时隙的建议,以解决车载任务卸载时造成的延时过高问题,该方法包括如下步骤:
步骤1,获取信息:车辆可接入的rsu的集合r、请求在rsu区域中的卸载的车辆任务q、rsu的网络带宽b;
步骤2,根据步骤1中的rsu的信息划分车载任务的卸载时隙;
步骤3,将车载任务卸载时隙决策方法进行建模;
步骤4,使用深度强化学习方法求解步骤3中的模型表达式;
步骤5,将算法部署至sdn控制器。
进一步,步骤1中的所述信息包括:
①将rsu区域中的卸载任务记为q={q1,…qi,…,qn},其中qi表示第i辆车的任务;
②车载任务大小记为m={m1,…,mi,…mn},其中mi表示qi的大小;
③车载任务的延时约束记为t={t1,…,ti,…,tn},其中ti即为qi的时延约束;
④可供车辆接入的rsu集合定义为r={r1,…ri,…rn};ri表示第i个rsu
⑤各个rsu已经接入的车载任务数目为ra={r1a,…,ria,…,rna};其中ria表示第i个rsu中接入车载任务的数量;
⑥rsu的带宽记为b={b1,…,bi,…,bn},其中bi表示ri的网络带宽;
进一步,步骤2中车载任务的卸载时隙划分方法为:
步骤2.1,收集rsu的链路带宽,记为w;收集rsu的平均信号功率,记为p;收集rsu的噪声功率,记为n;将rsu与车辆的链路损耗功率记为lp;
步骤2.2,车辆与rsu的传输速率ν可表示为:
其中,[lp]=32.45+20lgd+20lgf,d为车辆与rsu的距离,单位为km,f为rsu的信号频率,单位为mhz。
步骤2.3,大小为m的车载任务的传输延迟可表示为:
步骤2.4,由于网络传输延迟受车辆与rsu的相对距离影响,将每个rsu的覆盖范围划分为n个任务卸载时隙gap1,…,gapi,…gapn,其中任意时隙用g表示,g∈[gap1,…,gapi,…gapn]。为了便于计算和描述,设相同区域内传输速率相同。为方便计算,过rsu做地面垂点,g表示为卸载时隙与该垂点的距离。则
其中,high为rsu与地面的垂直高度;
进一步,步骤3中将车载任务卸载时隙决策方法进行建模的方法为:
步骤3.1,定义卸载时隙决策为l={l1,…,li,…,ln},li表示第i辆车的选择卸载任务的地点,各个车辆选择卸载任务的地点的组合即为卸载时隙决策;
步骤3.2,确定单个任务的卸载决策。某个车载任务卸载单个时隙决策li即为对卸载时隙g的选择,即对
步骤3.3,由式(1)与式(2)可知,车载任务的传输延迟由rsu的带宽b、卸载时隙决策l、车载任务的大小m决定,车载任务的传输延迟可重写为:
式(3)中的②表示rsu的链路带宽w由rsu的带宽b代替;④表示车辆与rsu的相对距离;
步骤3.4,由式(3)再次重写车载任务的传输延迟为:
其中[lp]=32.45+20lgd+20lgf;
步骤3.5,将车载任务卸载时隙决策方法转化为求解式(5),di(b,l,mi)表示第i个车载任务的传输延迟。
其中,z表示是否卸载任务,z=1表示进行任务卸载,z=0表示不进行任务的卸载;maxra表示ra的最大值;车载任务卸载时隙决策会影响ra的值,ra≤maxra表示ra不能超过最大的车载任务接入数量。
进一步,步骤4中利用深度强化学习方法求解式(5)的具体步骤为:
步骤4.1,建立马尔可夫状态空间
s={t,rv,rd,ra}
其中各个参数说明如下:
①车载任务的时延约束记为t={t1,…,ti,…,tn},其中ti为任务qi的时延约束;
②供车辆接入的rsu集合定义为r={r1,…ri,…rn},r中各个rsu的任意卸载时隙用g表示,g∈[gap1,…,gapi,…gapn],处于不同的卸载时隙中车辆任务的卸载速率各有不同,那么r中的所有卸载时隙的卸载速率集合可表示为rv={r1g1v,…,rigjv,…,rngnv},rigjv表示第i个rsu的第j个卸载时隙的传输速率;
③r中各个rsu的各个卸载时隙中车载任务的传输延迟表示为rd={r1g1d,…,rigjd,…rngnd},rigjd表示车载任务在第i个rsu的第j个卸载时隙的传输延时;
④各个rsu已经接入的车载任务数目为ra={r1a,…,ria,…,rna};
步骤4.2,建立马尔可夫动作空间
a={(a,b)|a∈{[1,n]∩n+},b∈{[1,n]∩n+}
其中各个参数说明如下:
①a表示执行卸载车载任务时车辆所接入的rsu;
②b表示执行卸载车载任务时车辆所接入的rsu的卸载时隙;
③n+表示正整数。
步骤4.3,建立马尔可夫奖励函数reward:
reward=ε(η)×base+(2ε(η)-1)×delay(rd,t)+access(ra)
其中各个参数说明如下:
①ε(η)为阶跃函数
ε(η)=1时表示车载任务卸载成功,ε(η)=0表示车载任务被成功卸载失败。
base为常数,表示基础奖励,则ε(η)×base表示当车载任务卸载成功时获取了基础奖励,失败时则不会获取基础奖励;
②delay(rd,t)表示执行车辆卸载任务所获取的奖励或者惩罚
delay(rd)=rward×(rd-t)
其中,rd表示卸载该车载任务所用的时间,t表示该车载任务的卸载时间约束。当在约束时间t内完成卸载则获取奖励,否则获取惩罚。rward为奖励值或者惩罚值;
③access(ra)用来判断当前rsu是否还可以接收更多的车载任务
maxra表示当前rsu可接入的最多的车载任务数量。当可以接入更多车载任务时,即ra≤maxra,access(ra)不会对奖励函数reward有任何影响,当ra>maxra时,则access(ra)会使reward等于0,即不会有任何奖励。
步骤4.4,根据步骤4.1-4.3中的马尔可夫模型,使用ddpg-her算法求解最优卸载时隙决策,具体求解步骤如下:
步骤4.4.1,建立actor当前网络、actor目标网络、critic当前网络、critic目标网络,这四个网络的说明如下:
①actor当前网络的参数为θ,θ也指代神经网络,负责更新网络的参数θ以及根据当前状态s产生当前动作a。动作a作用于当前状态s,当前状态s表示正在做某辆车的卸载时隙的决策、这辆车所处的位置、已经做好了哪些决策等信息的集合。生成状态s'和奖励r,奖励r由奖励函数reward获得;
②actor目标网络的参数为θ',θ'也指代神经网络,负责从经验回放池中选择动作a'以及更新θ';
③critic当前网络的参数为ω,ω也指代神经网络,负责计算当前q值,q值用来衡量选择动作的优劣。注意:这里的q值与之前表示第i车辆任务的qi不同;
④critic目标网络的参数为ω',也指代神经网络,负责计算目标q值,即q'。
步骤4.4.2,训练actor当前网络、actor目标网络、critic当前网络、critic目标网络。具体步骤如下所示:
步骤4.4.2.1,首先获得初始化状态s,actor当前网络根据状态s生成动作a;
步骤4.4.2.2,根据状态s和动作a计算奖励r,并且获取下一状态s';
步骤4.4.2.3,将{s,a,s'}存入经验回放池;
步骤4.4.2.4,将当前状态记为s';
步骤4.4.2.5,计算当前q值与目标q值;
步骤4.4.2.6,更新critic当前网络参数ω;
步骤4.4.2.7,更新actor当前网络参数θ;
步骤4.4.2.8,如果当前状态s'是终止状态,则迭代完毕,否则转到步骤4.4.2.2。
步骤4.4.3,由训练好的网络获得最优卸载时隙。
进一步,步骤5将算法部署至sdn控制器的具体方法为:
ddpg-her算法训练完成后,保存actor当前网络并将其部署至sdn控制器。当有卸载需求时,由sdn控制器根据当前网络和节点的状态信息为车载任务确定最佳的卸载时隙。
本发明的有益效果:
本发明针对现有技术的缺陷,将rsu的覆盖范围划分为若干区间,以精确选择卸载时隙,通过合理的分析和建模,并同时使用ddp-her算法计算最优卸载决策,减小由于车辆任务卸载导致的网络延时。
附图说明
图1车载任务卸载时隙决策流程图
图2ddpg-her算法流程图
具体实施方式
下面结合附图对本发明作进一步说明。
下面对本发明做进一步的说明,需要说明的是,本实例的具体实施是以本技术为前提,给出了详尽的实施过程和实施步骤,但是本发明的保护范围并不受限于本实施实例。
如图1所示,假设此时车辆i准备卸载车载任务qi,则本发明具体的实施流程如下:
(1)使用sdn控制器。各个局域网中包括rsu的集合r、请求在rsu区域中的卸载的车辆任务q、rsu的网络带宽b信息发生改变时,可被汇总到sdn控制器中。车辆i准备卸载车载任务qi,其请求信息被发送至sdn控制器;
(2)根据已经划分好的卸载时隙,车辆i准备卸载车载任务qi,则根据公式
计算车辆i在不同时隙卸载所产生的卸载延迟;
(3)sdn控制器汇总车辆i的卸载任务qi以及其他车辆的卸载任务,根据公式
将载任务卸载时隙决策方法转化为求解上面表达式的值;
(4)使用ddpg-her算法求解该上述表达式。具体如下:
1.首先获得初始化状态s,即各个rsu的状态、所有车辆任务的完成情况。actor当前网络根据状态s生成动作a,动作a即某辆车的任务所选择的卸载时隙。具体方法为:计算状态s的特征向量φ(s),动作
2.由当前状态s和动作a计算奖励r,并产生新的状态s'。当选择了某个车辆任务卸载的时隙后,各个rsu的状态、所有车辆任务的完成情况都会产生变化,其新的状态定义为s';
3.将{s,a,s'}存入经验回放池,其目的在于更好的训练神经网络。actor目标网络θ'根据经验池中的s'选择出动作a';
4.将当前状态记为s';
5.计算当前q值与目标q值
q(s,a,ω)为当前q值,q′(s′,a′,ω')为目标q值,将状态s与动作a输入critic当前网络ω计算完成;y为目标q值,其中q′(s′,a′,ω')计算原理与q(s,a,ω)相同;γ为学习率。
6.使用当前q值与目标q值更新critic当前网络ω:
ω←ω+(y-q(s,a,ω))
y代表更加准确的q值,ω+(y-q(s,a,ω))表示critic当前网络ω通过q值更新自身。
7.critic当前网络ω帮助actor当前网络θ更新:
θ←θ-td(s,a,ω)
其中td(s,a,ω)表示ω计算在状态s下选择的动作a与最优动作的误差,θ-td(s,a,ω)表示actor当前网络θ消除了误差。
如果当前状态s'是终止状态,则迭代完毕,actor当前网络会做出最优卸载时隙的决策,否则转到步骤2。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技术所创的等效方式或变更均应包含在本发明的保护范围之内。