一种具有缓存机制的移动边缘计算任务卸载方法转让专利

申请号 : CN202311518680.1

文献号 : CN117251296B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 沈艳陈姣

申请人 : 成都信息工程大学

摘要 :

本发明公开了一种具有缓存机制的移动边缘计算任务卸载方法,属于边缘计算技术领域,为了减少任务卸载和处理的时延和能耗,进一步提高边缘计算任务卸载的效率和准确性,包括:S1:基于用户任务请求建立具有缓存机制的任务卸载总时延模型和移动设备侧的总能耗模型;S2:根据所述任务卸载总时延模型和移动设备侧的总能耗模型,以任务卸载总时延和移动设备侧的总能耗最小化为目标,建立具有约束条件的任务卸载和缓存联合优化模型;S3:将所述联合优化模型转化为粒子的适应度函数,其中,所述用户任务请求为粒子;S4:利用基于所述适应度函数的联合优化决策算法确定所述粒子的最优解,其中,粒子的最优解为用户任务请求的最优任务卸载决策。

权利要求 :

1.一种具有缓存机制的移动边缘计算任务卸载方法,其特征在于,所述具有缓存机制的移动边缘计算任务卸载方法包括:S1:基于用户任务请求建立具有缓存机制的任务卸载总时延模型和移动设备侧的总能耗模型;

S2:根据所述任务卸载总时延模型和移动设备侧的总能耗模型,以任务卸载总时延和移动设备侧的总能耗最小化为目标,建立具有约束条件的任务卸载和缓存联合优化模型;

S3:将所述联合优化模型转化为粒子的适应度函数,其中,所述用户任务请求为粒子;

S4:利用基于所述适应度函数的粒子群算法确定所述粒子的最优解,其中,所述粒子的最优解为用户任务请求的最优任务卸载决策;

所述S1中,所述缓存机制包括:

根据用户任务请求确定任务的流行度、新鲜度和大小因子;

根据所述任务的流行度、所述新鲜度和所述大小因子,得到任务的函数值;

利用任务的函数值对缓存空间进行更新;

所述流行度 为:

所述新鲜度 为:

所述大小因子 为:

表示任务 的请求概率, 表示任务 的访问时间, 表示任务 的平均请求时间间隔, 表示任务 的请求数, 表示任务 第 次请求的完成时刻,表示任务 第 次请求的请求时刻, 表示最近一次请求任务 的时刻,表示首次请求任务 的时刻, 表示有 个任务, 表示第 个任务, 表示第 次请求, 表示当前时刻, 表示任务 的生成时刻, 表示任务 的输入数据大小, 表示用户任务请求集合中最大的任务数据大小, 表示大小因子的计算函数;

所述任务卸载总时延模型为:

所述移动设备侧的总能耗模型为:

其中, 表示第 个用户执行第 个任务的总延迟, 表示第 个任务在第个用户本地的计算时延且 , 表示第 个用户执行第 个任务时移动设备的CPU计算能力,即每秒执行的CPU周期数; 表示完成第 个任务所需的计算资源数,即CPU周期总数; 表示第 个任务的数据大小, 表示第 个任务中每位数据所需的周期数, 表示第 个任务卸载和缓存的联合决策变量; 表示第 个任务的缓存命中率且缓存命中率 , 表示第个任务的请求概率, 表示第 个任务的处理结果大小, 表示服务器缓存容量大小,表 示第 个用 户 将第 个 任务 卸 载 到服务 器 时的 持 续时 延 且, 表示第 个用户将第 个输入大小为的任务卸载到服务器上的上行链路传输时延, 表示第 个用户通过无线链路连接到服务器的上行数据速率且 , 表示信道带宽, 表示为第 个用户的移动设备的传输功率, 表示第 个用户和服务器之间的信道增益,表示加性高斯白噪声功率, 表示第 个用户执行第 个任务在服务器上处理时的时延且 , 表示第 个用户将服务器资源分配给执行中任务的计算能力, 表示将第 个任务的处理结果反馈给第 个用户的时延且 ,表示第 个用户通过无线链路连接到服务器的下行数据速率且, 表示第 个用户请求已缓存的第 个任务

所需的时延且 , 表示为服务器缓存的读取速率, 表

示第 个用户执行第 个任务的总能量, 表示第 个用户执行第 个任务的本地计算能耗且 , 表示能量系数, 表示第 个用户发送第个任务到服务器过程中的能耗且 , 表示第 个用户缓存第 个任务所需的能耗且 , 表示服务器的传输功率。

2.根据权利要求1所述的具有缓存机制的移动边缘计算任务卸载方法,其特征在于,所述任务的函数值为:其中, 、 和 分别表示不同的权重参数, 表示任务 的流行度, 表示任务 的新鲜度, 表示任务 的大小因子, 表示第 个任务。

3.根据权利要求1所述的具有缓存机制的移动边缘计算任务卸载方法,其特征在于,所述利用任务的函数值对缓存空间进行更新包括:A1:将请求周期划分为若干时隙;

A2:获取每个时隙用户任务请求的请求集合中当前任务的处理结果大小和当前服务器缓存空间可用大小;

A3:判断当前服务器缓存空间可用大小是否大于当前任务的处理结果大小;若是,进入A6,否则,进入A4;

A4:判断当前任务是否已缓存,若是,更新当前任务的函数值并进入A5;否则,将当前任务的处理结果加入到缓存空间中并进入A5;

A5:对缓存空间内所有任务的函数值进行比较,将最小值标记为 ,将下一个任务作为当前任务并返回A2;

A6:计算当前任务的函数值,比较缓存空间内历史任务的函数值,将最小值标记为;

A7:若当前任务的函数值大于最小值 ,则从缓存空间中驱逐最小值所对应的任务,更新当前缓存空间可用大小,并返回;否则,不更新缓存空间,将下一个任务作为当前任务并返回A2。

4.根据权利要求1所述的具有缓存机制的移动边缘计算任务卸载方法,其特征在于,所述S2中,所述具有约束条件的任务卸载和缓存联合优化模型为:其中, 表示第 个用户执行过程中时延的权重因子, 表示第 个用户执行第个任务的卸载总时延, 表示用户执行过程中能耗的权重因子, 表示移动设备侧的总能耗, 表示任务卸载和缓存的联合决策, 表示第 个用户, 表示用户总数,表示有 个任务。

5.根据权利要求4所述的具有缓存机制的移动边缘计算任务卸载方法,其特征在于,约束条件包括:其中, 表示第 个用户执行第 个任务的总能量, 表示能耗阈值, 表示第个用户执行第 个任务的总延迟, 表示第 个用户执行过程中时延的权重因子,表示第 个用户执行过程中能耗的权重因子, 表示任务 第 次请求的完成时刻,表示任务 第 次请求的请求时刻, 表示任务 卸载和缓存的联合决策变量,表示任务 在用户本地处理, 表示任务 卸载到服务器处理, 表示任务 已缓存; 表示第 个用户用于计算卸载任务的计算资源, 表示服务器的最大计算能力, 表示任务 的处理结果大小, 表示服务器缓存容量大小, 表示第个任务。

6.根据权利要求1所述的具有缓存机制的移动边缘计算任务卸载方法,其特征在于,所述S3中,所述适应度函数为:其中, 表示适应度值, 表示第 个用户执行过程中时延的权重因子, 表示第 个用户执行过程中能耗的权重因子, 表示第 个用户执行第 个任务的总能量, 表示能耗阈值, 表示第 个用户执行第 个任务的总延迟, 表示任务第 次请求的完成时刻, 表示任务 第 次请求的请求时刻, 表示第 个任务,表示用户总数, 表示有 个任务, 表示总的请求次数。

说明书 :

一种具有缓存机制的移动边缘计算任务卸载方法

技术领域

[0001] 本发明涉及边缘计算技术领域,具体涉及一种具有缓存机制的移动边缘计算任务卸载方法。

背景技术

[0002] 随着移动设备的普及和应用的快速发展,越来越多的应用需要进行计算和存储。传统的云计算模式存在着计算延迟高、网络带宽瓶颈、能耗大的问题。为了解决这些问题,移动边缘计算(Mobile Edge Computing,MEC)应运而生。移动边缘计算能够将计算资源和存储资源放置在距离用户更近的边缘网络中,更快地响应用户的请求,降低网络带宽压力,同时还可以减少能源消耗。但是,移动边缘计算也存在着资源有限、任务多样化、用户数量庞大的问题。
[0003] 大部分文献对移动边缘计算任务卸载策略主要考虑时延和能耗。部分文献考虑缓存机制,主要是结合延迟。

发明内容

[0004] 本发明的目的在于提供一种具有缓存机制的移动边缘计算任务卸载方法,以减少任务卸载和处理的时延和能耗,进一步提高边缘计算任务卸载的效率和准确性。
[0005] 本发明解决上述技术问题的技术方案如下:
[0006] 本发明提供一种具有缓存机制的移动边缘计算任务卸载方法,所述具有缓存机制的移动边缘计算任务卸载方法包括:
[0007] S1:基于用户任务请求建立具有缓存机制的任务卸载总时延模型和移动设备侧的总能耗模型;
[0008] S2:根据所述任务卸载总时延模型和移动设备侧的总能耗模型,以任务卸载总时延和移动设备侧的总能耗最小化为目标,建立具有约束条件的任务卸载和缓存联合优化模型;
[0009] S3:将所述联合优化模型转化为粒子的适应度函数,其中,所述用户任务请求为粒子;
[0010] S4:利用基于所述适应度函数的粒子群算法确定所述粒子的最优解,其中,所述粒子的最优解为用户任务请求的最优任务卸载决策。
[0011] 可选择地,所述S1中,所述缓存机制包括:
[0012] 根据用户任务请求确定任务的流行度、新鲜度和大小因子;
[0013] 其中,所述流行度 为:
[0014]
[0015] 所述新鲜度 为:
[0016]
[0017] 所述大小因子 为:
[0018]
[0019] 表示任务 的请求概率, 表示任务 的访问时间, 表示任务 的平均请求时间间隔, 表示任务 的请求数, 表示任务 第 次请求的完成时刻,表示任务 第 次请求的请求时刻, 表示最近一次请求任务 的时刻,表示首次请求任务 的时刻, 表示有 个任务, 表示第 个任务, 表示第 次请求, 表示当前时刻, 表示任务 的生成时刻, 表示任务 的输入数据大小, 表示用户任务请求集合中最大的任务数据大小, 表示大小因子的
计算函数;
[0020] 根据所述任务的流行度、所述新鲜度和所述大小因子,得到任务的函数值;
[0021] 其中,
[0022] 其中, 、 和 分别表示不同的权重参数, 表示任务 的流行度,表示任务 的新鲜度, 表示任务 的大小因子, 表示第 个任务;
[0023] 利用任务的函数值对缓存空间进行更新。
[0024] 可选择地,所述利用任务的函数值对缓存空间进行更新包括:
[0025] A1:将请求周期划分为若干时隙;
[0026] A2:获取每个时隙用户任务请求的请求集合中当前任务的处理结果大小和当前服务器缓存空间可用大小;
[0027] A3:判断当前服务器缓存空间可用大小是否大于当前任务的处理结果大小;若是,进入A6,否则,进入A4;
[0028] A4:判断当前任务是否已缓存,若是,更新当前任务的函数值并进入A5;否则,将当前任务的处理结果加入到缓存空间中并进入A5;
[0029] A5:对缓存空间内所有任务的函数值进行比较,将最小值标记为 ,将下一个任务作为当前任务并返回A2;
[0030] A6:计算当前任务的函数值,比较缓存空间内历史任务的函数值,将最小值标记为;
[0031] A7:若当前任务的函数值大于最小值 ,则从缓存空间中驱逐最小值所对应的任务,更新当前缓存空间可用大小,并返回;否则,不更新缓存空间,将下一个任务作为当前任务并返回A2。
[0032] 可选择地,所述任务卸载总时延模型为:
[0033]
[0034] 所述移动设备侧的总能耗模型为:
[0035]
[0036] 其中, 表示第 个用户执行第 个任务的总延迟, 表示第 个任务在第 个用户本地的计算时延且 , 表示第 个用户执行第个任务时移动设备的CPU计算能力,即每秒执行的CPU周期数; 表示完成第 个任务所需的计算资源数,即CPU周期总数; 表示第 个任务的数据大小, 表示第 个任务中每位数据所需的周期数, 表示第 个任务卸载和缓存的联合决策变量; 表示第个任务的缓存命中率且缓存命中率 , 表示
第 个任务的请求概率, 表示第 个任务的处理结果大小, 表示服务器缓存容量大小, 表示第 个用户将第 个任务卸载到服务器时的持续时延且
, 表示第 个用户将第 个输入大小为
的任务卸载到服务器上的上行链路传输时延, 表示第 个用户通过无线链路连接到服务器的上行数据速率且 , 表示信道带宽, 表
示为第 个用户的移动设备的传输功率, 表示第 个用户和服务器之间的信道增益,表示加性高斯白噪声功率, 表示第 个用户执行第 个任务在服务器上处理时的时延且 , 表示第 个用户将服务器资源分配给执行中任务的计算能
力, 表示将第 个任务的处理结果反馈给第 个用户的时延且 ,
表示第 个用户通过无线链路连接到服务器的下行数据速率且
, 表示第 个用户请求已缓存的第 个任务
所需的时延且 , 表示为服务器缓存的读取速率, 表
示第 个用户执行第 个任务的总能量, 表示第 个用户执行第 个任务的本地计算能耗且 , 表示能量系数, 表示第 个用户发送第
个任务到服务器过程中的能耗且 , 表示第 个用户缓存第 个
任务所需的能耗且 , 表示服务器的传输功率。
[0037] 可选择地,所述S2中,所述具有约束条件的任务卸载和缓存联合优化模型为:
[0038]
[0039] 其中, 表示第 个用户执行过程中时延的权重因子, 表示第 个用户执行第 个任务的卸载总时延, 表示用户执行过程中能耗的权重因子, 表示移动设备侧的总能耗, 表示任务卸载和缓存的联合决策, 表示第 个用户, 表示用户总数, 表示有 个任务。
[0040] 可选择地,约束条件包括:
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047] 其中, 表示第 个用户执行第 个任务的总能量, 表示能耗阈值, 表示第 个用户执行第 个任务的总延迟, 表示第 个用户执行过程中时延的权重因子, 表示第 个用户执行过程中能耗的权重因子, 表示任务 第 次请求的完成时刻, 表示任务 第 次请求的请求时刻, 表示任务 卸载和缓存的联合决策变量, 表示任务 在用户本地处理, 表示任务 卸载到服务器处理,表示任务 已缓存; 表示第 个用户用于计算卸载任务的计算资源, 表示服务器的最大计算能力, 表示任务 的处理结果大小, 表示服务器缓存容量大小,表示第 个任务。
[0048] 可选择地,所述S3中,所述适应度函数为:
[0049]
[0050] 其中, 表示适应度值, 表示第 个用户执行过程中时延的权重因子,表示第 个用户执行过程中能耗的权重因子, 表示第 个用户执行第 个任务的总能量, 表示能耗阈值, 表示第 个用户执行第 个任务的总延迟, 表示任务第 次请求的完成时刻, 表示任务 第 次请求的请求时刻, 表示第 个任务, 表示用户总数, 表示有 个任务, 表示总的请求次数。
[0051] 本发明具有以下有益效果:
[0052] (1)本发明在用户数量越多的情况下,有效降低成本;
[0053] (2)本发明在减少时延方面是高效的,尤其是在处理较大数据大小的任务时;
[0054] (3)随着请求时隙的增加,所提出的方案可以更有效地利用缓存资源从而降低系统开销成本;
[0055] (4)本发明所提出的缓存更新策略可以更有效地利用缓存空间。

附图说明

[0056] 图1为本发明具有缓存机制的移动边缘计算任务卸载方法的流程图。

具体实施方式

[0057] 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0058] 本发明提供一种具有缓存机制的移动边缘计算任务卸载方法,参考图1所示,所述具有缓存机制的移动边缘计算任务卸载方法包括:
[0059] S1:基于用户任务请求建立具有缓存机制的任务卸载总时延模型和移动设备侧的总能耗模型;
[0060] 为了降低任务卸载过程中的时延和能耗,提高数据访问效率,可以将任务缓存在服务器中。缓存允许用户直接从缓存空间中获得处理结果,无需卸载和重新计算,从而节省了时间和资源。但是,由于缓存空间有限,并非所有任务都可以缓存。为了解决这个问题,本发明的缓存机制包括:
[0061] 根据用户任务请求确定任务的流行度、新鲜度和大小因子;
[0062] 根据所述任务的流行度、所述新鲜度和所述大小因子,得到任务的函数值;其中,任务的函数值为:
[0063] , 、 和 分别表示不同的权重参数, 表示任务 的流行度, 表示任务 的新鲜度, 表示任
务 的大小因子, 表示第 个任务。
[0064] 其中,流行度是指某些任务被普遍使用或请求的程度。对网络流量的研究表明,流行的任务会被更多的用户访问,而不流行的任务被访问的频率较低。本发明的流行度受三个主要因素的影响:请求概率、访问时间、平均请求时间间隔。
[0065] 任务的请求概率计算为任务的请求数量与特定时间段内所有任务的请求总数的比率。该值表示任务在当前用户请求中的重要性,请求概率越高表示该任务越受欢迎。因此任务 的请求概率 表示为:
[0066]
[0067] 其中, 为任务 的请求数。
[0068] 任务访问时间是服务器处理任务请求所需的持续时间,可以通过将访问任务所花费的总时间除以任务访问请求的数量来计算。访问一次任务所花费的总时间是通过任务每一次请求的完成时刻与请求时刻之间的时间差之和来计算的。任务访问时间越短,表示任务检索越快,增加了将来请求的可能性。因此任务 的访问时间 可以表示为:
[0069]
[0070] 其中, 为任务 的第 次请求的完成时刻,即处理结果返回给用户的时间,为任务 第 次请求的请求时刻。在评估任务的流行度时,考虑任务访问时间很重要,因为它会直接影响用户体验。
[0071] 任务的平均请求时间间隔表示用户对任务的连续请求之间的平均时间间隔。如果平均请求时间间隔短,则意味着任务被频繁请求,这也增加了它在缓存中的重要性。任务的平均请求时间间隔 可以表示为:
[0072]
[0073] 表示为最近一次请求任务 的时刻。 表示为首次请求任务 的时刻。
[0074] 因此,通过考虑任务的请求概率、访问时间、平均请求时间间隔等因素,可以将任务的流行度 定义为:
[0075]
[0076] 新鲜度是指缓存任务的最新程度。通过考虑任务的新鲜度,有助于确保缓存的任务结果是相对较新的。在本发明中,任务的流行度和新鲜度都被考虑在内,以确保缓存的任务既流行又相对新鲜。其中 表示当前时刻, 表示任务的生成时刻,因此新鲜度用表示为:
[0077]
[0078] 自生成任务以来所经过的时间被计算为当前时刻与任务生成时刻之间的差,他们之间的差值越小,代表任务越新鲜,逆函数确保新鲜度始终介于0和1之间。
[0079] 缓存的任务不仅受流行度和新鲜度的影响,还受与任务相关联的数据大小的影响。通过引入大小因子,系统可以更有效地根据存储资源需求对任务进行缓存。例如,如果任务具有较高的流行度值,但由于其数据大小还需要大量的处理资源,则其大小因子将低于具有相似流行度值,但数据大小较小的任务。以下给出大小因子 的表达式:
[0080]
[0081] 得到一个介于0和1之间的值, 为任务 的输入数据大小, 为请求集合中最大的任务数据大小。
[0082] 表示任务 的请求概率, 表示任务 的访问时间, 表示任务 的平均请求时间间隔, 表示任务 的请求数, 表示任务 第 次请求的完成时刻,表示任务 第 次请求的请求时刻, 表示最近一次请求任务 的时刻,表示首次请求任务 的时刻, 表示有 个任务, 表示第 个任务, 表示第 次请求, 表示当前时刻, 表示任务 的生成时刻, 表示任务 的输入数据大小, 表示用户任务请求集合中最大的任务数据大小, 表示大小因子的
计算函数。
[0083] 利用任务的函数值对缓存空间进行更新。
[0084] 可选择地,所述利用任务的函数值对缓存空间进行更新包括:
[0085] A1:将请求周期划分为若干时隙;
[0086] A2:获取每个时隙用户任务请求的请求集合中当前任务的处理结果大小和当前服务器缓存空间可用大小;
[0087] A3:判断当前服务器缓存空间可用大小是否大于当前任务的处理结果大小;若是,进入A6,否则,进入A4;
[0088] A4:判断当前任务是否已缓存,若是,更新当前任务的函数值并进入A5;否则,将当前任务的处理结果加入到缓存空间中并进入A5;
[0089] A5:对缓存空间内所有任务的函数值进行比较,将最小值标记为 ,将下一个任务作为当前任务并返回A2;
[0090] A6:计算当前任务的函数值,比较缓存空间内历史任务的函数值,将最小值标记为;
[0091] A7:若当前任务的函数值大于最小值 ,则从缓存空间中驱逐最小值所对应的任务,更新当前缓存空间可用大小,并返回;否则,不更新缓存空间,将下一个任务作为当前任务并返回A2。
[0092] S2:根据所述任务卸载总时延模型和移动设备侧的总能耗模型,以任务卸载总时延和移动设备侧的总能耗最小化为目标,建立具有约束条件的任务卸载和缓存联合优化模型;
[0093] 任务卸载总时延模型为:
[0094]
[0095] 移动设备侧的总能耗模型为:
[0096]
[0097] 其中, 表示第 个用户执行第 个任务的总延迟, 表示第 个任务在第 个用户本地的计算时延且 , 表示第 个用户执行第个任务时移动设备的CPU计算能力,即每秒执行的CPU周期数; 表示完成第 个任务所需的计算资源数,即CPU周期总数; 表示第 个任务的数据大小, 表示第 个任务中每位数据所需的周期数, 表示第 个任务卸载和缓存的联合决策变量; 表示第个任务的缓存命中率且缓存命中率 , 表示
第 个任务的请求概率, 表示第 个任务的处理结果大小, 表示服务器缓存容量大小, 表示第 个用户将第 个任务卸载到服务器时的持续时延且
, 表示第 个用户将第 个输入大小为
的任务卸载到服务器上的上行链路传输时延, 表示第 个用户通过无线链路连接到服务器的上行数据速率且 , 表示信道带宽, 表
示为第 个用户的移动设备的传输功率, 表示第 个用户和服务器之间的信道增益,表示加性高斯白噪声功率, 表示第 个用户执行第 个任务在服务器上处理时的时延且 , 表示第 个用户将服务器资源分配给执行中任务的计算能
力, 表示将第 个任务的处理结果反馈给第 个用户的时延且 ,
表示第 个用户通过无线链路连接到服务器的下行数据速率且
, 表示第 个用户请求已缓存的第 个任务
所需的时延且 , 表示为服务器缓存的读取速率, 表
示第 个用户执行第 个任务的总能量, 表示第 个用户执行第 个任务的本地计算能耗且 , 表示能量系数, 表示第 个用户发送第
个任务到服务器过程中的能耗且 , 表示第 个用户缓存第 个
任务所需的能耗且 , 表示服务器的传输功率。
[0098] 可选择地,具有约束条件的任务卸载和缓存联合优化模型为:
[0099]
[0100] 其中, 表示第 个用户执行过程中时延的权重因子, 表示第 个用户执行第 个任务的卸载总时延, 表示用户执行过程中能耗的权重因子, 表示移动设备侧的总能耗, 表示任务卸载和缓存的联合决策, 表示第 个用户, 表示用户总数, 表示有 个任务。如果粒子违反了第一个能耗约束,则向适应度函数添加违反量的1000倍的惩罚。如果违反了第二个时延约束,则将违反量的1000倍的惩罚添加到适应度函数中。
[0101] 可选择地,约束条件包括:
[0102] ,约束给定能耗阈值;
[0103] ,表示任务的执行时延不超过最大完成时间,保证每项任务要在规定的时间内完成;
[0104] ;确保用于计算卸载任务的计算资源为正,并且分配给所有用户的计算资源总和不超过服务器的最大计算能力;
[0105] ,缓存的任务结果不能超过服务器的缓存容量;
[0106] ,不同的用户可以选择不同的权重参数,这两个值表示优化问题时对能耗和时延的偏好;
[0107] ,任务卸载和缓存的联合决策变量。
[0108] 其中, 表示第 个用户执行第 个任务的总能量, 表示能耗阈值, 表示第 个用户执行第 个任务的总延迟, 表示第 个用户执行过程中时延的权重因子, 表示第 个用户执行过程中能耗的权重因子, 表示任务 第 次请求的完成时刻, 表示任务 第 次请求的请求时刻, 表示任务 卸载和缓存的联合决策变量, 表示任务 在用户本地处理, 表示任务 卸载到服务器处理,表示任务 已缓存,缓存命中率越高,从缓存中检索任务的频率就越高,从而减少了通信时延和计算时延。相反,较低的缓存命中率会增加将任务卸载到MEC服务器的频率,从而导致更高的时延; 表示第 个用户用于计算卸载任务的计算资源, 表示服务器的最大计算能力, 表示任务 的处理结果大小, 表示服务器缓存容量大小, 表示第 个任务。
[0109] S3:将所述联合优化模型转化为粒子的适应度函数,其中,所述用户任务请求为粒子;
[0110] 可选择地,适应度函数为:
[0111]
[0112] 其中, 表示适应度值, 表示第 个用户执行过程中时延的权重因子,表示第 个用户执行过程中能耗的权重因子, 表示第 个用户执行第 个任务的总能量, 表示能耗阈值, 表示第 个用户执行第 个任务的总延迟, 表示任务第 次请求的完成时刻, 表示任务 第 次请求的请求时刻, 表示第 个任务, 表示用户总数, 表示有 个任务, 表示总的请求次数。
[0113] S4:利用基于所述适应度函数的粒子群算法确定所述粒子的最优解,其中,所述粒子的最优解为用户任务请求的最优任务卸载决策。
[0114] 具体包括:
[0115] 步骤1. 在每一次时隙 中,用户随机请求任务,每个请求的决策就代表粒子的解。计算粒子的 并更新缓存空间。其中粒子总数为 。
[0116] 步骤2. 初始化粒子。每个粒子有两个属性,速度和位置,速度表示粒子下一步迭代时移动的方向和距离,位置即粒子的解。并初始化粒子最佳位置 、适应度值、全局最佳位置 和总成本 。
[0117] 步骤3.通过迭代找到最优解。在每次迭代中,粒子通过 和 来更新和 。将每个粒子的最优 加入到决策数组 中,并更新 。每个粒子 在迭代数 的位置更新方程为:
[0118]
[0119] 其中, 是粒子 在迭代 的当前位置, 是粒子 在迭代 的更新速度,并且是粒子 在迭代 的位置。
[0120] 每个粒子的速度更新方程为:
[0121]
[0122] 其中 是惯性权重,在[0.4,2]范围取值, 和 为个体学习因子和群体学习因子,当两者值较大时,搜索速度会很快,可能会错过最优解。当两个值较小时,搜索速度会较慢,可能会产生局部最优值。因此,取 和 。 和 是(0,1)中的随机数,用以增加搜索的随机性。
[0123] 步骤4. 返回最优决策解和总成本。
[0124] 本发明存在以下技术效果:
[0125] (1)为了减少重复任务卸载和处理的时延和能耗,引入了一种缓存机制。该机制考虑了任务请求概率、任务访问时间、任务平均请求时间、新鲜度和数据大小,以决定缓存哪些任务。通过考虑这些因素,缓存机制可以有效地优化用于缓存的任务的选择。
[0126] (2)为了进一步提高缓存机制的性能和准确性,基于上述缓存机制提出了一种缓存更新策略。通过监控一段时间内的缓存利用率和缓存命中率来评估该策略的有效性。
[0127] (3)本发明主要研究多用户单MEC服务器环境中任务卸载和缓存的联合优化模型,以最小化任务总时延和总能耗为目标。该模型的优化问题是一个混合整数非线性规划问题(MINLP)。为了解决该优化问题,将总时延和能耗定义为目标函数,并使用惩罚函数处理约束条件。将优化问题转化为适应度函数,并采用粒子群优化算法求得最优联合决策。
[0128] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。