本发明涉及移动边缘,尤其涉及卫星边缘计算网络中考虑卫星移动性的计算卸载方法。
背景技术:
1、卫星网络具有许多无法比拟的优势,例如全球覆盖,接入灵活等。移动边缘计算(mobile edge computing,mec)是指将位于云中心的计算资源下沉到边缘,目的是为了降低任务处理时延和能耗。将mec部署在卫星上,就形成了卫星边缘计算网络。卫星边缘计算网络的覆盖规模更大,且计算时延更低,将卫星网络与边缘计算相结合形成卫星边缘计算网络是未来网络的发展趋势。
2、与地面基站相比,卫星受功耗、体积、重量等限制,星上资源有限,导致单颗卫星的计算能力有限。一个星座中卫星数量众多,可以充分利用卫星网络的总计算资源,为多用户服务。因此,用户是否进行计算卸载以及卸载到哪一颗卫星,是卫星边缘计算网络中的关键问题。
3、在卫星边缘计算网络中,一方面,卫星具有高机动性, 卫星在进行任务计算时会远离用户,导致通信过程中断。另一方面,卫星星座的覆盖范围大,导致卫星接入的用户数量较多。因此,在卫星边缘计算网络中进行计算卸载时,需要综合考虑在保证卫星与用户有效通信下,为大规模用户提供有效的卸载决策。
技术实现思路
1、本发明的目的是针对现有技术,提供了卫星边缘计算网络中考虑卫星移动性的计算卸载方法,针对资源有限、卫星移动、用户海量的卫星边缘计算网络,对用户卸载决策进行优化,以最小化网络时延和能耗为目标,并提出了一种admm算法来解决该优化问题。
2、为了实现以上目的,本发明采用以下技术方案:
3、卫星边缘计算网络中考虑卫星移动性的计算卸载方法,包括如下步骤:
4、步骤s1:考虑了一个以高轨道geo卫星作为云、低轨道leo卫星作为边、用户作为端的卫星边缘计算网络架构,并建立时延和能耗模型;
5、步骤s2:针对卫星的高速移动,结合卫星移动以及卫星覆盖时间、计算时间,建立考虑卫星移动的时延模型,并根据时延和能耗模型建立计算卸载的优化问题;
6、步骤s3:运用交替方向乘子法admm,将原问题分解为多个子问题,每个子问题分别在卫星上求解,得到最优的计算卸载结果。
7、进一步地,在步骤s1中,定义卫星边缘计算网络中包含三层结构:
8、geo层,由geo卫星组成,作为云中心;leo层,由部署有移动边缘计算mec服务器的leo卫星组成,leo卫星与geo卫星通过层间链路通信,相邻的leo卫星通过星间链路通信;地面层,由具备计算能力的用户组成,用户只与leo卫星通信,由leo卫星将用户任务中继给geo卫星;
9、用户集合表示为,leo卫星和geo卫星集合表示为,其中,m+1表示geo卫星;每个用户在一个时隙内都会生成一个计算任务;用表示用户对应于每颗卫星的卸载决策;表示用户的计算任务是否卸载到leo卫星,表示用户的任务是否卸载到geo卫星;如果和都为零,那么任务将在用户本地计算。
10、进一步地,在步骤s1中,用户的时延模型包括用户在本地完成计算的时延、用户在leo卫星完成计算卸载的时延以及用户在geo卫星完成计算卸载的时延三部分;
11、用户在本地完成计算的时延为:
12、
13、其中,表示该任务所需cpu周期,表示用户的本地计算能力;
14、用户在leo卫星完成计算卸载的时延为:
15、
16、其中,和分别表示用户到接入卫星a的星地传输时延以及星地传播时延,和分别代表相邻两颗leo卫星和的星间传输时延以及星间传播时延,表示接入卫星a与卫星的跳数,表示用户的任务在leo卫星上的计算时延;
17、用户在geo卫星完成计算卸载的时延为:
18、
19、其中,和分别表示接入卫星a到geo卫星m+1的层间传输时延以及层间传播时延,表示用户的任务在geo卫星m+1上的计算时延。
20、进一步地,在步骤s1中,用户的能耗模型包括用户在本地完成计算的能耗、用户在leo卫星完成计算卸载的能耗以及用户在geo卫星完成计算卸载的能耗三部分;
21、用户在本地完成计算的能耗为:
22、
23、其中,是与用户的设备cpu相关的一个常量;
24、用户在leo卫星完成计算卸载的能耗为:
25、
26、其中,和分别表示用户到接入卫星a的星地传输能耗和相邻两颗leo卫星和的星间传输能耗,表示用户的任务在leo卫星上的计算能耗;
27、用户在geo卫星完成计算卸载的能耗为:
28、
29、其中,表示接入卫星a到geo卫星m+1的层间传输能耗。
30、进一步地,在步骤s2中,针对leo卫星的移动性,根据任务计算时间与卫星覆盖时间的关系,分四种场景分析任务在leo卫星计算时的时延,得到用户的任务在leo卫星上完成计算卸载的时延;
31、忽略结果返回过程的能耗,四种场景下能耗的计算表达式相同,即;表示leo卫星m对用户的覆盖时间;根据四种场景,建立卫星的时延模型如下:
32、( a)如果,此时用户在卫星覆盖时间内完成计算卸载,不需考虑卫星移动带来的影响,用表示该场景计算卸载的时延,计算为:
33、
34、( b)如果,并且所选择卸载的leo卫星飞离用户,此时用户不能在卫星的覆盖时间内完成计算卸载,计算结果要通过中继卫星返回给用户,用表示该场景计算卸载的时延,计算为:
35、
36、其中,表示在计算过程中卫星相对用户移动的跳数;
37、( c),并且选择卸载的leo卫星飞向用户,在计算时间内不过顶,用表示该场景计算卸载的时延,计算为:
38、
39、( d),并且选择卸载的leo卫星飞向用户,且在计算时间内过顶,表示该场计算卸载的时延,计算为:
40、
41、根据、、和,建立考虑卫星移动的时延模型,用以下的分段函数表示:
42、
43、用和分别表示网络的总时延和总能耗;计算为:
44、
45、其中,表示用户在本地完成计算卸载的时延,表示用户在leo卫星上完成计算卸载的时延,表示用户在geo卫星上完成计算卸载的时延;
46、计算为:
47、
48、其中,表示用户在本地完成计算卸载的能耗,表示用户在leo卫星完成计算卸载的能耗,表示用户在geo卫星完成计算卸载的能耗。
49、进一步地,在步骤s2中,根据时延、能耗模型以及考虑卫星移动的时延模型,以卫星计算资源为约束,将计算卸载的优化问题表述为以下形式:
50、
51、其中,obj是卸载成本,卸载成本是时延和能耗的加权和,是指标权重系数;(c1-c2)保证每个卸载任务只能在本地或者一颗卫星上进行处理;(c3)表示计算资源约束,其中,表示任务所需cpu周期,表示卫星的最大计算资源。
52、进一步地,在步骤s3中,将二进制变量转换成连续变量,;转换后的问题形式如下所示:
53、
54、其中,。
55、进一步地,在步骤s3中,对于计算卸载的优化问题,采用分布式优化算法admm进行求解,即将该问题拆分成多个子问题,每个子问题分别在卫星上求解,具体步骤如下所示:
56、在上述问题中,全局变量是不可分的;为了使问题可分,以便每颗卫星独立解决问题,首先引入全局变量的局部变量;对于用户卸载的卫星,设为用户对应卫星的个分量集合,其中为的局部变量,,表示用户对应卫星的第个分量,此时每个子问题为以下形式:
57、
58、其中,;一致约束强制卫星中所有局部变量必须与对应的全局变量一致;对于每颗卫星,分别求解以上子问题;
59、为了便于描述,将以下集合定义为卫星的局部变量的可行集:
60、
61、然后,再给出局部变量的目标函数:
62、
63、根据上述两个式子,局部问题的等价描述如下:
64、
65、在上述问题中,具有可行集的目标函数关于卫星边缘计算网络中的所有卫星是可分的;并且,当每颗卫星中的局部变量等于其对应的全局变量时,能够保持问题的共识;上述约束保证所有局部变量和全局变量之间的一致性上述问题的增广拉格朗日表示为:
66、
67、其中,表示拉格朗日乘子集合,是对应于每个局部变量的拉格朗日乘子,是惩罚参数,用于调整admm的收敛速度。
68、进一步地,在步骤s3中,用admm进行求解,求解步骤如下:
69、s3-1:设置最大迭代次数为以及迭代停止阈值,;并随机选择一组初始卸载决策向量;
70、s3-2:判断迭代次数是否小于最大迭代次数;若小于,则执行步骤s3-3以及s3-4;否则,执行s3-6;
71、s3-3:每颗卫星根据以下公式循环更新局部卸载变量和全局卸载变量以及拉格朗日乘子;
72、
73、其中,表示第次迭代的拉格朗日乘子,和分别代表第次迭代时的局部变量和全局变量,为惩罚系数;
74、s3-4:更新迭代次数;
75、s3-5:根据以下公式判断原始残差和对偶残差是否小于和,若小于,则执行s3-6;否则,返回s3-3;
76、
77、s3-6:输出连续值;
78、s3-7:对任意用户,比较卫星对应用户的大小,并将最大的还原为1,将其余变量还原为0;对所有用户重复该操作,直到所有的都还原为0-1变量;
79、s3-8:返回计算卸载结果。
80、本发明的有益效果是:
81、(1)将用户任务卸载到卫星上计算,从而快速响应用户服务请求,减少资源和能量消耗;
82、(2)分析卫星移动的四种场景,建立了考虑卫星移动的时延模型,并根据时延和能耗模型建立计算卸载的优化问题,有效解决卫星移动速度快的问题;
83、(3)运用admm算法对问题进行求解,将原问题分解为多个子问题,每个子问题分别在卫星求解,在多用户场景下,有效加快算法收敛速度。