1.一种车联网中边缘计算任务卸载方法,其特征在于,包括如下步骤:S1.结合小区用户附近基站、行驶的车辆和带有奖励机制的停车场建立一个新型场景;
车辆行驶道路和停车场位于小区附近,当小区内用户有计算任务产生时发送给基站进行处理,基站根据当前的目标函数最大化进行三种方案的决策,一是基站进行本地计算,给基站设置能量等级,计算能力随着剩余能量情况而改变,计算完成后返回给用户结果;二是将任务卸载到道路行驶中的车辆,车辆也会根据剩余能量的多少改变它的传输功率,此时会在基站的覆盖范围内选择车辆进行卸载,随着车辆的移动,若在覆盖范围内车辆未能完成此任务计算,则会在车辆行驶超出范围之前,根据应用程序迁移的方式,将剩余任务打包发送给后面的车辆进行处理,计算完成后通过基站返回给用户;三是将任务卸载到停车场内车辆,此时的车辆相当于一个小型的基站,计算完成后通过基站返回给用户,并且停车场内车辆的奖励机制吸引车主将车辆停到此处,从而扩大小区的计算资源;
每种决策方案都设置依赖关系,若此种方案剩余能量不足或者此任务已经处理过,将会返回错误信息进行重新决策;
对于任务的产生,使用networkx随机生成任务的依赖图,设置每次发送任务的数量和强度;
对于停车场的奖励机制,当车辆被用作处理任务时,设置一个单价,根据计算任务的大小给予车主回报;
S2.通过当前的状态对建立的新型场景进行数学建模;具体过程为:S201.计算基站到道路车辆的任务传输速率:(1)定义道路车辆v中第k个车辆和第i个任务之间的频谱效率为:(1)
其中Pi为传输功率,假设所含能量少于满能量的一半时,传输功率也降为原先的一半,gi,k为第i个任务到道路车辆中第k个车辆的无线传播的信道增益, 为车辆之间的相互干v扰,σ为道路车辆的噪声功率;
(2)定义ηi,k ∈[0,1]表示道路车辆中第k个车辆分配给第i个任务的频谱百分比,得出道路车辆v中第k个车辆与第i个任务之间的传输速率为: (2)
其中B为任务所属的用户到道路车辆的带宽;
S202.计算基站到停车场车辆的任务传输速率:(1)定义停车场车辆p中第n个车辆和第i个任务之间的频谱效率为: (3)
其中Pi为传输功率,同上,传输功率会随着剩余能量而改变, 为第i个任务到停车场车辆p中第n个车辆的无线传播的信道增益, 为车辆之间的相互干扰, 为停车场车辆的噪声功率;
(2)定义 ∈[0,1]表示停车场车辆中第n个车辆分配给第i个任务的频谱百分比,得出停车场车辆p中第n个车辆与第i个任务之间的传输速率为: (4)
其中,B0为用户到停车场车辆的带宽;
S203. 计算本地基站完成任务时间:
定义第i个任务为Si={Hi, Zi},其中Hi表示任务数据的大小,Zi表示完成任务所需要的计算资源数量,则本地基站完成任务的时间 为: (5)
其中Ci,local为处理第i个任务时本地基站的计算能力,计算能力会随着所剩余能量的等级进行变化,假设当所剩余能量不足一半的时候,它的计算能力降为原先的1/5,此处由于本地计算不需要传输任务的通信时间,所以只需要统计计算时间;
S204. 计算道路车辆完成任务时间:
道路车辆需要经过基站传输计算任务,所以它的总时间包括任务的传输时间和任务的计算时间;其中,通信时间为:
(6)
计算时间为:
(7)
其中,Ci,k为处理第i个任务时道路车辆v中第k个车辆的计算能力;
由通信时间加计算时间得出经过道路上车辆完成此次计算任务所需要的总的时间为: (8)
S205. 计算停车场车辆完成任务时间:停车场车辆计算任务同样需要基站先传输任务,然后再由车辆计算,它的时间也包括通信时间和计算时间两部分;其中,通信时间为:
(9)
计算时间为:
(10)
其中,Ci,n为处理第i个任务时停车场车辆p中第n个车辆的计算能力;
则停车场中的车辆完成此次任务所需要的总的时间如下: (11);
S3.结合车辆边缘网络效用和任务处理时延建立目标函数;具体过程为:S301.车辆边缘网络需要向用户与道路车辆和停车场内车辆传输任务进行收费,假设单价为αi,车辆边缘网络中道路车辆和停车场车辆通信都需要从无线网络中租赁,频谱单价分别为βi,k,βi,n,因此总的通信效用为: (12)
其中, 和 分别为停车场车辆和道路车辆的卸载决策;
S302.基站向用户收取计算任务Si的单价为bi,同时车辆边缘网络中道路车辆和停车场车辆向无线网络租用的资源的单价分别为εi,k,εi,n;停车场车辆给予车主回报,回报的单价为ri,n;则计算能效的公式为: (13)
S303.第i个任务的网络效用公式为:
(14)
S304.目标函数采用车辆边缘网络产生的网络效用与时延之差的形式,如下所示: (15)
其中Fu(i)为第i个任务的传输和计算产生的网络效用,Ti为计算此任务所需的时延,调整网络效用和时延的权重增加侧重点,此处设置权重都为1;
S305.目标函数用于均衡网络效用和用户上网的体验,目标函数的越大,效用减去时延的差值越大,则网络效用越大而时延越小,即为目标函数的最佳状态,所以取F(i)的最大值作为目标函数的最终取值,具体为: (16)v v
其中,R i,k表示道路车辆v中第k个车辆与第i个任务之间的传输速率,R k表示道路车辆p与用户通信总的传输速率,R i,n表示停车场车辆p中第n个车辆与第i个任务之间的传输速p率,R n表示停车场车辆和用户通信的总的传输速率;I为一次发送的任务数,目标是完成一次发送任务的目标函数的最大化;
C1和C2保证了每个任务只能选择三种方式中的一种进行计算,其中di∈{0,1}表示是否将任务进行卸载,当di=0时表示不进行卸载,基站进行本地计算,当di=1时,表示进行卸载;
pi∈{0,1}、vi∈{0,1},当pi=1时表示将任务卸载到停车场内的车辆,此外pi=0;vi=1时表示将任务卸载到道路上的车辆,此外vi=0;
C3和C4保证了道路车辆和停车场车辆用于卸载的频谱不能超过它的总频谱;
S4.采用DQN对目标函数进行最优化处理,得出最终的卸载方案;具体过程为:基于DQN的计算卸载方法中,状态States、动作Actions和奖励值Rewards如下所示:States有三个元素,包括t时刻已完成的任务数CTaks,目前所剩余的能量值Enery和任务的强度大小Intensity;
(21)
Actions包括卸载决策di,pi,vi,每个动作又有两个不同的能量等级,每个任务的动作空间长度为6;
(22)
Rewards为系统的目标函数,表示整个系统的网络效用减去所需时间的值,即在行为动作中获得的奖励,当任务不符合依赖关系或者剩余能量不足时,给予负的奖励,如下所示: (23)
DQN网络中选取目标函数的值作为奖励,得出动作值之后直接选取奖励最大的动作,作为本次任务卸载的最终决策;
采用深度强化学习中的DQN对目标函数进行最优化,包括以下步骤:(1)设置训练次数、任务数、数据大小和强度初始值;
(2)将状态s输入到评估网络,得到动作、奖励和下一步的状态s_并存储;
(3)从存储的值中随机抽取一部分每隔若干步进行训练更新;
(4)每隔若干步将评估模型的参数添加到目标模型。