一种边缘计算环境下多个移动审计设备协同处理计算任务的方法

文档序号:30583335发布日期:2022-06-29 13:42阅读:86来源:国知局
一种边缘计算环境下多个移动审计设备协同处理计算任务的方法

1.本发明涉及一种边缘计算环境下多个移动审计设备协同处理计算任务的方法,属于移动边缘计算领域。
技术背景
2.随着移动智能设备普及率的逐步提高和万物互联时代的到来,移动智能设备也已广泛应用于审计领域。移动审计设备(包括智能手机、笔记本、软硬一体化定制终端等,下文简称为设备)的使用极大的提高了审计工作的效率。然而,设备的电池储能与内存空间有限,成为了制约设备及时处理审计时产生的大量计算任务(包括审计数据关联比对、审计模型运行、审计疑点发现等,下文简称为任务)的重要因素。边缘计算就是在用户附近的无线网(为wifi、4g或5g网络)接入处(如移动审计车)部署边缘服务器,边缘计算服务器具有强大的运算能力且可以为设备提供计算服务。用户通过将设备上部分计算量繁琐的任务卸载到边缘服务器上执行,保留部分轻量级计算任务在设备上执行,不仅节约设备上的能耗、减少了因任务计算量庞大导致的时延,而且通过在设备和边缘服务器上并行处理任务,可进一步缩短时延。显然,将移动审计设备审计时产生的计算任务卸载至边缘服务器上执行能够极大缩短审计工作的时长,有效提高审计效率。
3.移动边缘计算卸载技术中系统延迟和能耗的最小化需要移动设备和移动边缘计算服务器之间的通信和计算资源的联合分配。研究者们提出了一些关于任务卸载调度的方法,宁等人致力于通过实现部分卸载来使延迟敏感的应用程序能够在物联网移动设备上运行,设计了一种元启发式mec资源分配算法来动态地做出卸载决策,但是该研究没有考虑任务的卸载调度,例如文献“a cooperative partial computation offloading scheme for mobile edge computing enabled internet of things”。由于大多数移动边缘计算的调度和分配问题是np难问题,为了有效地实现近似最优解,已经出现了大量的基于ai的智能优化算法。张等人研究了在混合云的预算约束下调度任务包应用程序,以最大限度地减少完工时间的问题,并提出了一种改进的萤火虫算法对此进行求解,例如文献“novel firefly algorithm for scheduling bag-of-tasks applications under budget constraints on hybrid clouds”。然而,目前还没有考虑多个移动审计设备协同处理计算任务的方法。


技术实现要素:

4.为解决上述问题,本发明提出了一种边缘计算环境下多个移动审计设备协同处理计算任务的方法,任务卸载调度时,在系统能耗有限的情况下,尽可能地减少系统时延。本发明所要解决的技术问题在于考虑多设备、任务部分卸载和资源分配的复杂场景,采用人工蜂群算法求解移动边缘计算调度,并且克服原有算法的不足,在更广的范围中进行搜索,挖掘出因为算法参数设置导致搜索不到的最佳解。
5.一种边缘计算环境下多个移动审计设备协同处理计算任务的方法,针对多设备上任务进行调度,获得满足能耗约束情况下能使得系统时延最优的任务调度方案。本发明所述方法的主要步骤包括:
6.步骤s1,读取设备信息(包括但不限于设备中的任务数)和设备中的任务信息(包括但不限于任务的数据量);
7.步骤s2,将读取的设备信息和任务信息输入至一种人工蜂群算法获得任务的卸载方案,所述人工蜂群算法至少包含一个为各任务分配发射功率的策略、一个为各任务分配服务器资源的策略;
8.步骤s3,设备根据卸载方案将一部分任务卸载至边缘服务器执行,一部分任务留在设备端执行。
9.优选的,步骤s1中,在边缘移动计算环境中假设有k个单天线用户设备,每个设备都包含一组需要调度的计算任务。假设每个设备di分别有ni个独立的计算任务需要处理,表示为设备di上的计算任务t
ij
可以选择卸载至移动边缘服务器上处理,也可以选择保留在移动设备端处理。每个任务t
ij
都具有三个属性,分别为t
ij
的数据大小d
ij
(单位为mbit)、t
ij
中1bit数据所需要的cpu周期数c
ij
(单位为cycles/bit)以及t
ij
在边缘服务器端并行比例α。
10.优选的:步骤s2中,主要步骤包括:
11.步骤ss1,初始化人工蜂群算法(包括但不限于蜜源种群和更新限度limit);
12.步骤ss2,使用蜜源位置更新方法更新蜜源个体的位置,并根据贪婪的各任务分配发射功率的策略和各任务分配服务器资源的策略来计算蜜源个体的适应度值,如果适应度值更优,则更新蜜源个体,否则保留原蜜源个体;
13.步骤ss3,计算蜜源会被选中的概率,根据该概率选择蜜源进行更新,并采用贪婪的功率和资源分配方法计算蜜源个体的适应度值,如果适应度值更优,则更新蜜源个体,否则保留原蜜源个体;
14.步骤ss4,如蜜源个体limit代未更新,则重新生成新的蜜源个体;
15.步骤ss5,记录最优蜜源;
16.步骤ss6,判断是否达到迭代次数,若达到则输出最优解,否则重复步骤ss2至步骤ss5。
17.优选的,步骤s3中,输出的最优解的调度方案,调度方案中包括任务的是否上传、上传顺序,上传时天线的功率,边缘服务器上的资源数、开始执行时间和执行时长等信息。
18.优选的,步骤ss1中,使用最短任务优先规则将所有设备中的任务按照任务量升序排序,得到序列π
stf
作为初始解π
*
,并计算初始解的系统时延和能耗;初始化蜜源种群。设置种群数量为sn,蜜源i的坐标信息用一个n维数组表示,使用生成随机数的方法生成sn组蜜源的位置信息。具体来说,对当前最优解对应的任务序列进行n次选择,每次根据均匀分布生成一个[0,1]之间的随机数θ,如果则将对应的任务放入πi,否则将没有被选中的任务随机插入到一个空集π
temp
,然后随机插入到πi的空余位置上,这一步可以借助洗牌函数来完成。
[0019]
优选的,步骤ss2中,蜜蜂采蜜的搜索范围不是一个对称区域[-n,n],而是在区间
[0,n]中。当搜索空间[-n,n]不包含最优解x
*
的位置时,人工蜂群算法将由于最优解x
*
的位置和算法的更新公式而陷入边界陷阱造成早熟。根据贪婪的功率和资源分配方法计算蜜源的适应度值,如果适应度值更优,则更新蜜源个体,否则保留原蜜源个体;
[0020]
优选的,步骤ss2和ss3中,对于给定的任务t
ij
,需要考虑是否需要从设备端卸载到服务器端。由于系统延迟是多个设备与边缘服务器之中的最大值,因此,只有降低延迟最大的设备的任务执行时间才能够减少总的延迟。所以在卸载任务时,都选择本地延迟最大的设备上的任务来进行卸载。
[0021]
优选的,步骤ss4中,生成方式跟权利要求5中所述初始化蜜源个体一致。
[0022]
优选的,步骤ss2中,每只蜜源的边界值定义为[x
min
,x
max
],如果蜜源位置超出边界值x
max
,则定义蜜源位置为x
max
;同样的,如果蜜源位置超出边界值x
min
,则定义蜜源位置为x
min
。如果最优解位置不在搜索空间中,即时,分为两种情况,第一种是x
*
《x
min
时,根据蜜源的更新公式可知,当时,后面迭代的蜜源位置值会变小,则所以陷入边界陷阱;第二种是x
*
》x
max
时,根据蜜源的更新公式可知,当时,后面迭代的蜜源位置值会变大,则所以陷入边界陷阱。由此可知,当搜索空间[x
min
,x
max
]不包含最优解位置时,abc算法将由于最优解x
*
的位置和参数τ而陷入边界陷阱。因此,在考虑算法的搜索边界时,我们应尽力确保最佳解决方案在搜索空间中,因此设置参数值xa和xb使得第一次迭代的蜜源位置等于两个边界值可知设置搜索范围为[0,n]时不陷入边界陷阱。
[0023]
优选的,步骤ss2和ss3中,由贪婪功率分配策略为任务序列中的每个任务决策传输功率,如果将任务t
ij
卸载到服务器端执行,则该任务的时延包括任务的传输时延和在服务器端的计算时延。为了使任务完成时间最小,应选择更大的传输功率来减小传输时延,则假定所有任务的传输功率最大,计算任务的传输能耗,如果满足系统能耗约束,则以该传输能耗卸载,否则降低传输功率。
[0024]
优选的,步骤ss2和ss3中,由资源分配策略为任务序列中的每个任务决策服务器资源,为了使任务完成时间最小,应选择更多的服务器资源来减小服务器端计算时延,则假定所有任务获得的计算资源最多,计算任务的服务器端计算能耗,如果满足系统能耗约束,则以该传输能耗执行任务,否则减少计算资源,如果分配给任务的服务器资源最少时都不能满足能耗约束,则任务在设备端计算,并选择该设备上的前一个任务进行卸载试验。
[0025]
优选的,步骤ss2和ss3中,当边缘服务器的延迟比每个设备的本地延迟都大的时候,证明边缘服务器已经处于饱和状态,此时,已经无法继续改进,因此应当停止继续卸载。如果本地延迟最大的设备上的任务都进行过卸载尝试,但是依旧无法在满足能耗约束的条件下卸载任务时,证明已经无法再继续改进,应当停止卸载。最后计算分配后的任务序列的适应度值。
[0026]
与现有技术相比,本发明的有益效果体现在:
[0027]
1)本发明有利于负载均衡,系统通过任务卸载的方式,充分利用系统中mec服务器的空闲资源,提高任务的执行效率。
[0028]
2)本发明有利于合理分配资源,减少能耗并最小化时延,不仅满足了用户的qos需
求,也提高系统的任务处理能力。
[0029]
3)本发明能有效地避免陷入局部最优,获得的结果接近任务卸载的实际最优解。
附图说明
[0030]
图1是本发明所述方法的整体流程图
[0031]
图2是本发明所述方法的细致流程图
具体实施方式
[0032]
下面结合附图对本发明的技术方案进行详细说明:
[0033]
图1显示了多设备任务卸载和资源分配方法的调度过程,其具体步骤如下:
[0034]
步骤s1,读取设备信息(包括但不限于设备中的任务数)和设备中的任务信息(包括但不限于任务的数据量);
[0035]
步骤s2,将读取的设备信息和任务信息输入至一种人工蜂群算法获得任务的卸载方案,所述人工蜂群算法至少包含一个为各任务分配发射功率的策略、一个为各任务分配服务器资源的策略;
[0036]
步骤s3,设备根据卸载方案将一部分任务卸载至边缘服务器执行,一部分任务留在设备端执行。
[0037]
实施例
[0038]
下面结合图2详细阐述实施例。本实施例中用户的移动设备数为2,需要处理5个任务,要求以下任务卸载到mec服务器上执行最小完成时间的最优解决方案。设备和任务的参数如下:
[0039][0040]
步骤s1,获取设备序列以及设备需要处理的计算任务,包括任务编号、任务的数据量、每位数据量需要的cpu周期数、任务所属设备编号和设备计算功率。定义设备集合为d={d0,d1}任务集合为π={π0,π1,π2,π3,π4},建立相关调度模型;
[0041]
步骤s2,将读取的设备信息和任务信息输入至一种人工蜂群算法获得任务的卸载方案,具体的:
[0042]
步骤ss1,假设所有任务在设备端运行,计算出初始解的系统时延latency和能耗e。初始解的td表示设备端时延。使用最短任务优先规则将所有设备中的任务按照任务量升序排序,其中π0,π1,π2,π3,π4的数据
量分别为168702,38629500,175656,10296和1547950(cycle),得到序列π
stf
={π3,π0,π2,π4,π1}作为初始最优解。初始化蜜源种群,定义蜜源种群数为10,蜜源的位置信息如下表:
[0043][0044][0045]
由蜜源位置信息将蜜源个体映射为对应的任务序列,蜜源i的坐标信息用一个5维数组表示,对当前最优解对应的任务序列进行5次选择,每次根据均匀分布生成一个[0,1]之间的随机数θ,如果则将对应的任务放入σi,否则将没有被选中的任务随机插入到一个空集σ
temp
,然后随机插入到σi的空余位置上。对于第0个蜜源的第0个任务π0被继承的概率为然后,获得一个0到1之间的随机数θ为0.6162,因为θ》ρ,所以将该任务插入到一个空集σ
temp
中,否则插入到σ0的对应位置上,循此往复,得到σ
temp
=(π3,π4,π5),将σ
temp
中的任务随机打乱后,插入σ0中,实验得到σ0=(π4,π5,π2,π3,π1)。
[0046]
步骤ss2,根据如下算法的更新公式更新蜜源的位置信息。计算新蜜源适应度值与原蜜源进行比较,如果新蜜源更好,则保留,否则不更新蜜源信息。
[0047]w′
ij
=w
ij
+τ(w
ij-w
kj
)
[0048]
其中,τ表示0到1之间的随机数。w
kj
表示随机选择第k个蜜源的第j个任务的位置信息。w

ij
如果小于0,则设置为0,如果大于n,则设置为n,本发明设置n=4。例如第0个蜜源σ0=(π4,π5,π2,π3,π1),当j=1,k=2时,取τ=0.8,则w

01
=3.8088+0.8
×
(3.8088-1.8657)=5.36328》4,所以w

01
=4。
[0049]
确定拟卸载的任务。假设当前最优解为π
*
=(t
10
,t
01
,t
11
,t
00
,t
02
),则t0={t
01
,t
00
,t
02
},t1={t
10
,t
11
}。设备d0的时延大于设备d1的时延则选择d0上的最后一个任务t
02
,算本地执行时间传输时间和边缘云服务器计算时间
[0050]
根据功率分配策略和资源分配策略为该任务分配传输功率和服务器资源。设备本地时延如果max(tc,td)减小并且满足能耗约束,则将任务卸载到服务器端,并更新各时延和传输时隙;否则将该任务在本地运行,并计算设备d0的下一个任务t
00
的卸载是否能够减少系统时延。
[0051]
计算分配后的任务序列的适应度值。分配完成后,再次计算任务的完成时间,取其中的最小值即为目标值。判断该目标值是否满足终止条件,若满足,则结束;若不满足,则跳回ss2,继续执行。
[0052]
步骤ss3,计算蜜源会被选中的概率。根据蜜源种群的适应度值f(σi),使用轮盘赌的方式计算蜜源会被选中的概率,公式如下:
[0053][0054]
根据步骤该概率更新蜜源,并进入计算蜜源的适应度值,如果适应度值减小,则更新蜜源个体,否则保留原蜜源个体;
[0055]
步骤ss4,如limit代未更新,则重新生成新的蜜源;
[0056]
步骤ss5,记录最优蜜源并将其映射到解空间;
[0057]
步骤ss6,判断是否达到迭代次数,若达到则输出最优解,否则重复步骤ss2至步骤ss5。
[0058]
步骤s3,根据输出的最优解的调度方案,各设备根据调度方案将需要上传至边缘服务器的任务上传至边缘服务器执行,否在在本地执行任务。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1