本发明属于计算任务卸载,具体涉及一种分层架构下的无人机网络动态任务卸载方法。
背景技术:
1、随着无人机技术的快速发展及其在多个领域的广泛应用,如监控、交通管理、农业检测和紧急响应等,对无人机网络的数据处理和通信能力提出了更高的要求。无人机通常需要在执行任务时处理和传输大量数据,例如视频、图片和传感器数据。这些数据处理任务不仅计算密集,而且通常需要在有限的时间内完成,以保证任务执行的实时性和有效性。此外,无人机的处理能力和电池续航能力有限,在处理高复杂性任务或长时间任务时,单个无人机往往难以独立完成,需依赖外部资源,这在远离地面基础设施的环境中尤为困难。
2、在面对自然灾害时,地面的蜂窝基站和其他通信基础设施往往会受到破坏,这就剥夺了无人机依赖的地面计算和存储支持。因此,如何在没有地面基础设施支持的情况下为无人机提供稳定的计算和通信服务,成为了当前研究的热点问题。随着移动边缘计算(mobile edge computing,mec)技术的发展,使用搭载边缘服务器的小型飞行器、气球和飞艇作为空中边缘网络为移动设备提供紧急的通信和计算服务,已经成为通信领域的研究热点。这些空中平台,以其覆盖范围广、通信延迟低、数据处理高效、网络鲁棒性强等优点,为那些需要快速响应以及特定场景下的需求提供了一种灵活且快速部署的通信和计算解决方案。
3、由于无人机操作环境高度动态,无人机和边缘节点(如飞艇或边缘服务器)的位置和状态频繁变化。传统的计算卸载方法,如遗传算法和粒子群算法,往往基于一系列静态规则,这些规则可能未能充分考虑到无人机的移动性和移动网络环境的动态性。这可能导致这些算法在面对应急场景下实时变化的网络状态时表现出性能不足,无法高效处理任务,或造成不必要的网络延迟和增加能耗。现有的无人机数据处理方法通常依赖于单跳卸载,即直接将数据从无人机卸载到最近的地面站或边缘服务器。这种方法在无人机密集或网络条件复杂的环境中面临许多挑战,如易受到网络拥堵和信号干扰的影响,导致数据传输和处理的延迟。同时随着物联网和移动设备的日益普及,产生了巨大的数据量,对实时处理和分析的需求不断增加。现有系统常缺乏有效应对这种快速变化的机制,无法实时优化数据卸载和处理策略。
4、为了应对这一挑战,强化学习作为一种有效的机器学习技术,被越来越多地应用于解决任务卸载问题。例如ppo算法,它主要由策略网络(actor)和价值网络(critic)两部分构成。策略网络负责输出给定状态下每个动作的概率分布,而价值网络则预测从当前状态出发按当前策略执行可能获得的总回报。ppo的独特之处在于其更新机制,采用了一个特殊的“裁剪”目标函数来限制策略更新步幅,防止在学习过程中出现破坏性的大幅波动。这种裁剪机制通过设定概率比率的界限来实施,确保了策略更新在一个安全范围内进行,从而维护了学习的稳定性。尽管传统的ppo实现并不依赖于经验回放池,但在某些变体中,如使用深度神经网络的场景中,可能会引入经验回放技术来提高样本利用效率。经验回放池存储先前的转换(状态,动作,奖励,新状态),这些转换可以被重复使用来训练网络,从而减少数据的相关性和方差,提高学习稳定性。此外,ppo利用广义优势估计(gae)来精确计算优势函数,帮助平衡了偏差和方差,并优化了策略梯度估计的效率。通过这些创新技术,ppo能够有效地处理复杂的决策环境。
5、尽管使用空中边缘网络辅助边缘计算已经得到广泛的研究和应用,但仍然存在许多挑战。随着无人机执行任务的日益复杂和多样化,所需处理的计算任务也随之变得多样,包括对数据密集度、数据量大小、以及对时间的敏感度等方面的不同需求。同时,无人机群的移动性、计算能力的差异性,加上边缘服务器有限的计算资源,这些因素共同对计算资源的协同分配提出了巨大挑战。这些问题的存在,制约着空中边缘网络的稳定性和效率,也存在一种迫切的需求,开发一种新型的无人机数据卸载和处理方法,能够在无人机网络和边缘网络组成的复杂网络中实现高效的数据卸载,根据任务特性和实时网络状况动态优化卸载决策,充分利用网络中的每个节点,平衡负载,减少拥塞,提高数据处理速度和准确性,以及增强无人机网络在动态变化环境中的适应能力和操作效率。
技术实现思路
1、为解决上述技术问题,本发明提出一种分层架构下的无人机网络动态任务卸载方法,旨在解决无人机网络中由于动态网络环境和资源限制导致的数据处理任务挑战,同时提高无人机执行计算密集型任务时的网络效率和任务响应速度。
2、本发明采用的技术方案为:一种分层架构下的无人机网络动态任务卸载方法,具体步骤如下:
3、s1、建立空中分层网络系统模型,初始化无人机的id、位置、任务大小、最小拆分单位、任务时间要求、计算能力及任务队列大小,空中边缘网络节点的id、位置、计算能力及任务队列大小;
4、s2、每个无人机节点维护一个可卸载列表,通过信息交互获取实时邻居信息,包括邻居无人机及上层网络节点的位置、速度、飞行方向以及任务处理能力,并预测节点间链路持续时间及平均链路传输速率,将获取的邻居信息更新到可卸载列表;
5、s3、将每个无人机节点作为智能体,当无人机产生任务后,对其可卸载列表中的节点状态信息进行维护,使用强化学习算法对任务卸载问题进行求解,将任务分配至可卸载列表中的有效节点;
6、s4、基于步骤s3,上层节点接收任务后,通过实时监测上层邻居网络状态及任务处理能力,维护邻居信息表,依次将任务分配到完成时间最少的上层节点进行处理,节点处理后将结果返回。
7、进一步地,所述步骤s1中,建立空中分层网络系统模型具体如下:
8、所述空中分层网络系统模型包括上下层,上层为空中边缘网络,由搭载高计算能力设施的边缘节点为无人机群提供计算资源支持,边缘节点部署位置固定在任务区域上空,节点间连接状态保持不变;下层为活动的无人机群,用于执行预先设定的任务,无人机群沿着规划好的路径飞行,并在每个时隙产生计算任务,各无人机基于移动通信模型与其他节点通信,节点通过任务队列模型处理任务。
9、设定所述系统模型中的无人机用列表u={1,...,u,...}来表示;每个无人机i的属性用三元组{θi,ai,mi}表示。
10、其中,θi表示任务处理能力信息,用列表表示为{qi,qi,fi},包括:当前任务队列大小qi,最大队列长度qi以及计算能力fi;ai表示当前时刻产生的任务信息,用列表表示为{ξi,tmax,ξmin},包括:任务大小ξi,任务时间约束tmax以及任务最小单位ξmin,则任务可拆分为份;mi表示当前无人机的移动信息,用列表表示为{pi,vi,θi},包括:无人机位置pi,飞行速度vi以及飞行方向θi。
11、边缘节点作为提供辅助计算的移动边缘服务器,其属性用两元组{θm,pm}来描述。
12、其中,θm表示边缘节点的任务处理能力信息;pm表示边缘节点的位置信息。
13、所述移动通信模型、任务队列模型,具体如下:
14、a1、移动通信模型;
15、将无人机i在时刻t的位置表示为pi(t)=(xi(t),yi(t),zi(t));无人机i以速度vi(t)和方向θi(t)匀速飞行到的新位置为pi(t+1)=(xi(t)+vi(t)cosθi(t),yi(t)+vi(t)sinθi(t),zi(t));在任意时刻t,无人机i到可卸载节点j的距离di,j(t)表达式如下:
16、di,j(t)=||pi(t)-pj(t)||
17、则无人机进行卸载的数据传输速率ri,j(t)表达式如下:
18、
19、其中,bu表示通信带宽,pu表示无人机的通信功率,β0表示参考距离为1(m)处的信道功率增益,δ2表示高斯白噪声。
20、a2、任务队列模型;
21、无人机和边缘节点的计算能力表示为fi,则节点i在一个时隙内处理的计算任务大小为:
22、
23、其中,ψ表示单位bit数据需要的计算能力。
24、每个无人机都会产生任务,设定无人机i产生的任务大小为ξi,并通过卸载决策选择将任务放在本地执行,或者卸载给其他无人机或边缘节点。
25、无人机和边缘节点各自维护一个任务队列,放入队列的任务遵循先进先出的原则进行任务的调度和执行;所述任务队列用于存储等待处理的计算任务,包括经决策后由自己计算的本地任务或其他无人机节点卸载过来的任务;队列的状态在任意t时刻表示为:
26、
27、其中,n表示选择卸载到节点j的节点数,qj(t)表示t时刻队列的长度,表示节点i卸载到节点j的任务量,表示当前时刻选择将任务卸载到无人机或者边缘节点的总任务量。
28、且由于队列长度有限,若队列长度已达其最大值,则新入队的任务将不会入队,会被直接丢弃。
29、进一步地,所述步骤s2具体如下:
30、所述可卸载列表结构为初始化每个无人机节点的可卸载列表的最大可存储节点信息数量为φ,将列表中φ条数据初始化为自身的id、f、q、q,并将flag设置为有效。
31、其中,id表示可卸载节点id,f表示可卸载节点计算能力,q表示可卸载节点的队列长度,q表示卸载节点的队列最大长度,tlt表示当前节点与可卸载节点间链路持续时间,表示平均链路传输速率,time表示最新接收可卸载节点报文时间,flag表示当前节点是否有效。
32、无人机节点通过连续两个邻居报文计算出两节点间相对移动速度及方向,然后预测二者通信链路持续时间及平均链路传输速率,同时获取邻居节点的实时资源和网络状态信息,包括节点计算能力、任务队列信息,并将信息更新到可卸载列表中。
33、其中,获取邻居信息并更新可卸载列表具体步骤如下:
34、b1、设定当前节点i是固定的,其邻居节点j是移动的,计算两节点的相对移动速度;
35、b2、无人机和边缘节点将自身节点id、计算能力fi、当前任务队列长度qi,任务队列最大长度qi、位置信息pi放于hello包中,周期进行广播;
36、b3、无人机节点i记录两个连续的邻居报文的时间间隔,并根据两次邻居的位置信息,分别计算出两者的相对距离d1、d2;
37、b4、无人机节点i根据连续两次接收信号的时间δt,并确定两次接收到的邻居位置与自己的夹角利用余弦公式计算出邻居在时间δt内的移动位移dδt;
38、b5、根据得到的时间间隔和相对位移,计算邻居的相对速度
39、b6、基于步骤b1-b5,预测节点间的链路持续时间以及平均链路传输速率;
40、由余弦公式求得dtt,预测节点间的链路持续时间再计算出平均链路传输速率
41、其中,dtt表示邻居从当前位置到信号阈值的距离;表示邻居从当前位置移动到信号强度阈值位置与节点i的夹角;d2表示节点i当前时刻与邻居的距离;dthreshold表示邻居移动到节点i接收强度阈值位置的距离;r2表示当前时刻的传输速率;rthreshold表示信号阈值处的传输速率。
42、b7、无人机节点i首先根据可卸载列表节点是否有效,对可卸载列表进行排序,将有效节点排在前面,接着计算自身产生的任务在可卸载列表中的有效节点上的完成时间,并根据完成时间从小到大对有效节点进行排序;
43、b8、无人机节点i判断是否将接收到的邻居信息添加到可卸载列表;
44、若可卸载列表中有该邻居节点信息,则将收到的邻居计算能力、任务队列信息、链路持续时间、平均链路传输速率信息以及最近接收到该节点报文的时间更新,并将flag标记为有效;若可卸载列表中没有该邻居节点信息,则计算任务在该邻居节点上的完成时间,当可卸载列表的最后一条数据的flag标识为无效,或最后一条数据为节点i自身或最后一条数据节点的完成时间大于该邻居节点,则将最后一条数据替换为该邻居节点,并将flag标记为有效。
45、进一步的,所述步骤s3具体如下:
46、s31、节点产生任务后,对可卸载列表进行维护,根据当前任务信息及可卸载节点列表,对任务完成时间作为优化目标,进行卸载;
47、节点i产生任务后,对可卸载列表进行维护,将自身任务队列信息更新到可卸载列表中节点id为自己的记录,并遍历可卸载列表中其他节点的time信息,若当前时间cur与time的差值大于tlt,说明该节点已不是邻居节点,则将该节点的flag设置为无效;
48、无人机i的任务放在本地执行的计算时间以及任务的完成时间ti,i(t)表达式分别如下:
49、
50、其中,fi(t)表示无人机i的计算能力,qi(t)表示无人机当前任务队列中的数据量。
51、无人机i在时隙t将计算任务进行卸载的传输时间表达式如下:
52、
53、无人机进行卸载的任务计算时间和完成时间ti,j(t)表达式分别如下:
54、
55、
56、对任务完成时间进行优化,则优化问题可描述为:
57、
58、其中,表示卸载决策变量。
59、s32、将每个无人机作为智能体,定义每个智能体的环境状态、动作和奖励;
60、(1)状态;
61、状态包括可卸载列表中节点的任务队列长度、计算能力、自身到目的节点的平均传输速率;则对每个无人机i,其在任意时刻的系统状态si(t)表达式如下:
62、si(t)={q0(t),f0(t),q1(t),f1(t),r0,1,...,qj(t),fj(t),r0,j,...,}
63、其中,qi(t)表示节点的队列长度,fi(t)表示节点计算能力,ri,j(t)表示节点间的传输速率;
64、(2)动作;
65、智能体根据系统当前时刻t观察到的环境状态选择动作,动作为选择卸载节点及分配任务量,则定义t时刻无人机节点的动作空间ai(t)表达式如下:
66、ai(t)={ο1(t),ο2(t)}
67、其中,ο1(t)表示选择的卸载目的节点列表,ο2(t)表示分配给卸载目的节点的任务量;
68、(3)奖励;
69、奖励为执行一个动作后的任务完成时间,奖励ri(t)设置表达式如下:
70、
71、s33、将每个无人机作为智能体,使用基于近端策略优化ppo的强化学习算法,初始化每个智能体的策略网络actor和值函数网络critic;
72、在actor网络输入端添加无效状态掩蔽层,并在输出端添加无效动作掩蔽层。通过无效状态掩蔽层,将无效节点的任务队列长度设为-1,计算能力设为0,链路速率设为0;通过无效动作掩蔽层,将具有无效节点的动作屏蔽。
73、无人机将当前环境状态si(t)输入到actor网络,得到有效动作的概率分布,再抽样确定动作ai(t),执行动作ai(t),即将任务卸载到目的节点后,更新并进入新的状态si(t+1),同时计算执行当前动作得到的奖励ri(t);
74、s34、每个无人机不断进行环境交互,将(st,at,rt)存储进各自的经验回放池;
75、s35、各无人机根据经验回放池,学习并更新策略网络和值函数网络参数;
76、基于步骤s34得到的经验回放池对actor网络和critic网络的参数进行学习并更新,具体如下:
77、c1、actor网络更新;
78、actor网络的更新依赖于策略梯度方法,首先actor网络根据当前策略θ,在输入状态st下生成各个动作的概率分布πθ(at|st);并计算在旧策略πold(at|st)和新策略πnew(at|st;θ)下选择相同动作的概率比
79、actor网络的目标函数lc采用广义优势估计gae作为估计函数,表达式如下:
80、lc(θ)=et[min(prt(θ)at,clip(prt(θ),1-ζ,1+ζ)at)]
81、其中,et表示对时间步t上的期望值的计算,at表示gae估计,表示采取某个动作时相对于平均动作的优势程度;ζ表示预先设定的一个小常数,用于限制比例prt(θ)的变化范围。
82、基于步骤s34中得到的经验回放池数据,计算目标函数lc(θ)后,使用优化器adam计算lc(θ)关于θ的梯度并更新参数θ:
83、其中,υ表示学习率,控制参数更新的步长;
84、c2、critic网络更新;
85、critic网络的更新通过最小化值函数估计的误差进行,critic网络根据当前输入的状态st,输出一个状态价值的估计vω(st)。
86、其中,ω表示critic网络的参数。
87、对于每一个状态st,利用未来得到的奖励估计真实价值,通过计算。
88、其中,表示在状态st下,按照策略行动的预期可以获得的累积回报,表示折扣因子,用来衡量未来回报相对于即时回报的重要性,l表示从当前时刻开始,未来第l个时间步。
89、使用均方误差mse损失训练critic,critic网络的目标是最小化预测的状态价值和实际回报之间的差异,则目标函数ηv表达式如下:
90、
91、其中,rt表示从时间步t到开始的实际回报。
92、基于上述目标函数ηv,计算关于critic网络参数ω的梯度,并通过对ηv求梯度更新参数ω:
93、s36、循环执行步骤s33-s35,分布式训练卸载策略,直到将经验回放池中数据训练完。
94、进一步的,所述步骤s4具体如下:
95、s41、边缘网络节点提取收到的邻居边缘网络节点hello报文,提取邻居的节点id、计算能力fj、任务队列大小qj、位置信息pj,并将信息保存到邻居信息表中;
96、所述邻居信息表结构为{id,f,q,q,r}。
97、其中,id表示邻居节点id,f表示邻居节点计算能力,q表示邻居节点的队列长度,q表示邻居节点的队列最大长度,r表示链路传输速率。
98、s42、基于位置信息,计算与邻居节点间的链路传输速率ri,j,并放于邻居表中;
99、s43、边缘节点收到无人机的任务后,记录任务的基本信息,包括接收到的任务大小任务最小单位ξmin;
100、s44、将任务分割为份,计算每份任务的完成时间;
101、节点自身处理任务的完成时间为对于边缘节点i和j,将任务ξmin从节点i到节点j传输所需的通信时间为所需的计算时间为则任务交给邻居完成的总时间为
102、s45、对每份任务,计算其在自身及邻居节点上的完成时间,将任务分配给完成时间最少的节点处理;
103、s46、当任务被分配到一个节点后,更新该节点的任务队列信息;
104、s47、重复步骤s44-s46,直到所有任务都被分配;
105、s48、节点计算完成后将结果依次返回给卸载初始节点,卸载初始节点将结果合并返回给无人机。
106、本发明的有益效果:本发明的方法通过监测节点相对位置、速度、方向及网络节点的资源状况,预测节点间链路的持续时间,并更新带有任务处理能力及通信状态的可卸载列表,再通过引入两级任务分配机制,首先基于强化学习算法,无人机节点学习并执行任务卸载决策,将任务有效分配至可卸载列表中的节点,以应对高度动态的网络环境,减少在传输过程中的数据丢失。接着,上层节点接收任务后,通过实时监测上层邻居节点的任务处理能力及通信状态,将任务交给完成时间最少的上层节点进行处理,从而增强网络的弹性和任务的处理速度。本发明的方法显著提高了无人机执行计算密集型任务时的网络效率和任务响应速度,并为复杂的空中分层网络对动态环境变化的适应能力提供了一种有效的解决方案,以优化任务分配和资源管理。
1.一种分层架构下的无人机网络动态任务卸载方法,具体步骤如下:
2.根据权利要求1所述的一种分层架构下的无人机网络动态任务卸载方法,其特征在于,所述步骤s1中,建立空中分层网络系统模型具体如下:
3.根据权利要求1所述的一种分层架构下的无人机网络动态任务卸载方法,其特征在于,所述步骤s2具体如下:
4.根据权利要求1所述的一种分层架构下的无人机网络动态任务卸载方法,其特征在于,所述步骤s3具体如下:
5.权利要求1所述的一种分层架构下的无人机网络动态任务卸载方法,其特征在于,所述步骤s4具体如下: