掌桥专利:专业的专利平台
掌桥专利
首页

融合推荐系统的边缘计算任务分配方法

文献发布时间:2023-06-19 10:51:07


融合推荐系统的边缘计算任务分配方法

技术领域

本发明涉及计算机任务分配技术领域,特别涉及一种融合推荐系统的边缘计算任务分配方法。

背景技术

根据Cisco的报告,移动数据流量将在未来的5年中增长7倍,到2021年将达到每月49艾字节(exabyte,EB)(1EB-106TB),同时全球IoT设备数量将从目前的80亿增长到120亿。这将使其接入网络获取移动边缘服务器的计算资源变得困难。

此外,5G网络时代,大规模的任务处理需求也开始呈现,例如多媒体特效任务、大数据处理任务等。在这些任务场景下,最常见的用户需求就是实时性需求,也即要求任务能够被快速响应、快速执行、且执行结果能够快速回传给用户。为了应对移动互联网及物联网的高速发展,5G需满足超低时延、超低功耗、超高可靠、超高密度连接的新型业务需求。因此,最小化任务完成时间是任务卸载问题中最常见的目标。

当前移动边缘计算中的卸载问题主要包括:页面卸载,即边缘缓存,页面提供者将常用页面缓存于边缘云上,以降低用户请求页面时的延时和能耗。相关研究中已有考虑页面分布和用户移动性的缓存策略。任务卸载,该问题即是决定何时、何地、多少任务应从移动设备卸载至边缘上执行,以降低计算延时和节省能耗。该类研究中主要集中于考虑多用户环境和多服务器环境下的卸载决策问题。页面卸载主要关心边缘云的存储能力,不同步考虑计算能力。而在任务卸载的相关研究中,是以边缘云具有足够的软硬件资源支持任务计算为常态假设的,这与边缘云资源受限以及无法支持所有类型的任务是相违背的。

针对MEC的任务卸载问题,许多学者做了相关研究。在考虑前程和回程链路容量约束以及用户的最大时延约束条件下,通过最小化网络总能耗提出了一种有效卸载方案。在权衡能耗和时延下,提出了一种能量感知的计算卸载方案,并将智能设备电池的剩余能量引入能量消耗和延迟的加权因子的定义中,有效地降低了系统的总消耗。考虑到任务卸载的等待时间和可靠性之间的折中,研究了将用户设备的任务分割成子任务并依次卸载到附近边缘节点。但是以上文献并没有对有限的无线和计算资源进行合理的分配。在多用户的MEC系统下,以最小化用户和MEC服务器的平均能量消耗为目标,提出了一种在线的任务卸载算法。考虑系统的总能耗最小化,研究了卸载决定、无线资源和计算资源分配的联合优化问题。尽管如此,已有的任务调度算法都仅仅是通过优化能耗和延迟进行任务卸载和分配,却从未从任务本身出发选择边缘服务器处理任务。

发明内容

本发明提供了一种融合推荐系统的边缘计算任务分配方法,其目的是为了解决传统的任务分配方法未从任务本身出发选择边缘服务器处理任务的问题。

为了达到上述目的,本发明的实施例提供了一种融合推荐系统的边缘计算任务分配方法,包括:

步骤1,将云端模块、边缘服务器模块和移动端相互建立连接构建云-边-端融合推荐系统;

步骤2,任务发送者向云-边-端融合推荐系统发送任务请求;

步骤3,云-边-端融合推荐系统接受到任务发送者发送的任务请求,边缘服务器模块根据部署在路侧设施上的多个根据需求进行启动执行任务的边缘服务器的位置信息、计算能力构建边缘服务器数据库;

步骤4,云-边-端融合推荐系统从边缘服务器数据库中筛选出能够处理当前任务的边缘服务器信息;

步骤5,根据当前任务发送者的位置信息通过过滤算法对筛选出的边缘服务器信息进行过滤;

步骤6,对过滤出的边缘服务器信息根据边缘服务器的计算能力进行聚类,得到能够执行任务请求的边缘服务器的位置信息和计算能力信息并启动能够执行任务请求的边缘服务器;

步骤7,根据能够完成任务执行的边缘服务器的位置信息和计算能力信息在边缘服务器模块建立的边缘服务器表,边缘服务器模块将边缘服务器表推荐到云端模块;

步骤8,云-边-端融合推荐系统将边缘服务器模块推荐到云端模块的边缘服务器表与在云端模块缓存但未参加上一阶段任务执行的边缘服务器结合;

步骤9,云-边-端融合推荐系统将既为边缘服务器模块推荐到云端模块的边缘服务器又为云端模块缓存的边缘服务器筛选出,根据筛选出的边缘服务器构建最终推荐边缘服务器信息表;

步骤10,云-边-端融合推荐系统对任务请求的任务特征进行分析,将最终推荐边缘服务器信息表中能够执行当前任务请求的边缘服务器选择出,并推荐给任务发送者,当任务发送者接收到云-边-端融合推荐系统推荐的边缘服务器时,边缘服务器执行任务发送者的当前任务请求;

步骤11,通过设计推荐优化算法对云-边-端融合推荐系统向任务发送者的推荐命中率进行优化,得到最优推荐命中率。

其中,所述步骤3具体包括:

步骤31,提取和归纳各个边缘服务器的部署位置,筛选该边缘服务器部署位置信息;

步骤32,归纳边缘服务器部署区域,确定边缘服务器部署位置;

步骤33,提取任务发送者位置,筛选满足任务发送者通信范围内的边缘服务器部署位置,得到任务发送者通信范围内的边缘服务器部署位置集合;

步骤34,根据边缘服务器部署位置集合对每个的边缘服务器的计算能力进行分析;

步骤35,对在任务发送者通信范围内的各个边缘服务器的位置信息进行排序和归纳,确定各个边缘服务器部署位置,建立边缘服务器的部署位置数据库;

步骤36,对在任务发送者通信范围内的各个边缘服务器的计算能力进行归纳,建立参与任务处理的边缘服务器数据库。

其中,所述步骤5具体包括:

步骤51,根据边缘服务器模块传来的当前任务发送者的位置信息,通过过滤算法将当前任务发送者的一定通信范围内的边缘服务器信息进行过滤。

其中,所述步骤6具体包括:

步骤61,将二次过滤后的边缘服务器信息中需要推荐的边缘服务器信息分离出;

步骤62,当分离出的边缘服务器信息过多时,将计算能力充足的边缘服务器进行聚类,得到计算能力充足的边缘服务器的位置信息并启动。

其中,所述步骤7具体包括:

步骤71,根据得到的计算能力充足的边缘服务器的边缘服务器的位置信息建立边缘服务器表;

步骤72,边缘服务器模块将边缘服务器表推荐到云端模块。

其中,所述步骤8具体包括:

步骤81,云-边-端融合推荐系统将边缘服务器模块推荐云端模块的边缘服务器表进行记录;

步骤82,将边缘服务器模块推荐的边缘服务器与云端模块缓存的边缘服务器结合。

其中,所述步骤9和所述步骤10具体包括:

将既在云端模块缓存又为边缘服务器模块推荐的边缘服务器筛选出构建最终推荐边缘服务器信息表,云-边-端融合推荐系统运用广度优先搜索将最终推荐边缘服务器信息表中能够处理当前任务请求的边缘服务器添加至边缘服务器表的末尾,云-边-端融合推荐系统向任务发送者推荐m个能够完成当前任务请求的边缘服务器。

其中,所述步骤11具体包括:

由于任务发送者处于移动状态,边缘服务器处于灵活状态,任务发送者与边缘服务器之间所需要处理的任务随时间而变化,被选定为处理任务请求的边缘服务器在当前网络状态下处于任务发送者的通信范围内:

q

其中,q

其中,所述步骤11还包括:

当任务发送者的任务请求推荐命中时,将任务请求的推荐命中率表示为整数变量的函数,如下所示:

其中,n表示任务请求,n∈K,

其中,所述步骤11还包括:

将优化推荐策略的问题表示为:

其中,N表示任务发送者,p

本发明的上述方案有如下的有益效果:

本发明的上述实施例所述的融合推荐系统的边缘计算任务分配方法,采用云-边-端融合推荐系统通过对任务发送者的任务请求进行任务特征分析并选择合适的边缘服务器,进而将任务分配到合适的边缘服务器执行;将缓存的边缘服务器与推荐的边缘服务器相结合,推荐命中率高,并证明了推荐命中率问题是一个单调子模函数的NP-hard问题,提高了计算机资源利用率,降低了时间消耗。

附图说明

图1为本发明的流程图;

图2为本发明的结构示意图;

图3为本发明的推荐流程示意图;

图4为本发明在不同BFS参数下的推荐率示意图;

图5为本发明在优化后的不同推荐模式下的推荐率示意图;

图6为本发明在不同车辆下的时间消耗示意图;

图7为本发明在不同任务大小下的时间消耗示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

本发明针对现有的任务分配方法未从任务本身出发选择边缘服务器处理任务的问题,提供了一种融合推荐系统的边缘计算任务分配方法。

如图1至图7所示,本发明的实施例提供了一种融合推荐系统的边缘计算任务分配方法,包括:步骤1,将云端模块、边缘服务器模块和移动端相互建立连接构建云-边-端融合推荐系统;步骤2,任务发送者向云-边-端融合推荐系统发送任务请求;步骤3,云-边-端融合推荐系统接受到任务发送者发送的任务请求,边缘服务器模块根据部署在路侧设施上的多个根据需求进行启动执行任务的边缘服务器的位置信息、计算能力构建边缘服务器数据库;步骤4,云-边-端融合推荐系统从边缘服务器数据库中筛选出能够处理当前任务的边缘服务器信息;步骤5,根据当前任务发送者的位置信息通过过滤算法对筛选出的边缘服务器信息进行过滤;步骤6,对过滤出的边缘服务器信息根据边缘服务器的计算能力进行聚类,得到能够执行任务请求的边缘服务器的位置信息和计算能力信息并启动能够执行任务请求的边缘服务器;步骤7,根据能够完成任务执行的边缘服务器的位置信息和计算能力信息在边缘服务器模块建立的边缘服务器表,边缘服务器模块将边缘服务器表推荐到云端模块;步骤8,云-边-端融合推荐系统将边缘服务器模块推荐到云端模块的边缘服务器表与在云端模块缓存但未参加上一阶段任务执行的边缘服务器结合;步骤9,云-边-端融合推荐系统将既为边缘服务器模块推荐到云端模块的边缘服务器又为云端模块缓存的边缘服务器筛选出,根据筛选出的边缘服务器构建最终推荐边缘服务器信息表;步骤10,云-边-端融合推荐系统对任务请求的任务特征进行分析,将最终推荐边缘服务器信息表中能够执行当前任务请求的边缘服务器选择出,并推荐给任务发送者,当任务发送者接收到云-边-端融合推荐系统推荐的边缘服务器时,边缘服务器执行任务发送者的当前任务请求;步骤11,通过设计推荐优化算法对云-边-端融合推荐系统向任务发送者的推荐命中率进行优化,得到最优推荐命中率。

本发明的上述实施例所述的融合推荐系统的边缘计算任务分配方法,假设将边缘服务器信息记录看作是一系列的数据点,则每一个边缘服务器ID-计算能力-位置数据点为:S=(id,computing power,position);所有的边缘服务器信息可以记为:Q=(S

其中,所述步骤3具体包括:步骤31,提取和归纳各个边缘服务器的部署位置,筛选该边缘服务器部署位置信息;步骤32,归纳边缘服务器部署区域,确定边缘服务器部署位置;步骤33,提取任务发送者位置,筛选满足任务发送者通信范围内的边缘服务器部署位置,得到任务发送者通信范围内的边缘服务器部署位置集合;步骤34,根据边缘服务器部署位置集合对每个的边缘服务器的计算能力进行分析;步骤35,对在任务发送者通信范围内的各个边缘服务器的位置信息进行排序和归纳,确定各个边缘服务器部署位置,建立边缘服务器的部署位置数据库;步骤36,对在任务发送者通信范围内的各个边缘服务器的计算能力进行归纳,建立参与任务处理的边缘服务器数据库。

其中,所述步骤5具体包括:步骤51,根据边缘服务器模块传来的当前任务发送者的位置信息,通过过滤算法将当前任务发送者的一定通信范围内的边缘服务器信息进行过滤。

其中,所述步骤6具体包括:步骤61,将二次过滤后的边缘服务器信息中需要推荐的边缘服务器信息分离出;步骤62,当分离出的边缘服务器信息过多时,将计算能力充足的边缘服务器进行聚类,得到计算能力充足的边缘服务器的位置信息并启动。

其中,所述步骤7具体包括:步骤71,根据得到的计算能力充足的边缘服务器的边缘服务器的位置信息建立边缘服务器表;步骤72,边缘服务器模块将边缘服务器表推荐到云端模块。

其中,所述步骤8具体包括:步骤81,云-边-端融合推荐系统将边缘服务器模块推荐云端模块的边缘服务器表进行记录;步骤82,将边缘服务器模块推荐的边缘服务器与云端模块缓存的边缘服务器结合。

其中,所述步骤9和所述步骤10具体包括:将既在云端模块缓存又为边缘服务器模块推荐的边缘服务器筛选出构建最终推荐边缘服务器信息表,云-边-端融合推荐系统运用广度优先搜索将最终推荐边缘服务器信息表中能够处理当前任务请求的边缘服务器添加至边缘服务器表的末尾,云-边-端融合推荐系统向任务发送者推荐m个能够完成当前任务请求的边缘服务器。

本发明的上述实施例所述的融合推荐系统的边缘计算任务分配方法,边缘服务器信息表包含推荐的边缘服务器信息还包含云端已缓存的边缘服务器信息,云-边-端融合推荐系统基于任务请求的内容关系从边缘服务器信息表中选择出适合的边缘服务器并推荐给任务发送者。

其中,所述步骤11具体包括:由于任务发送者处于移动状态,边缘服务器处于灵活状态,任务发送者与边缘服务器之间所需要处理的任务随时间而变化,被选定为处理任务请求的边缘服务器在当前网络状态下处于任务发送者的通信范围内:

q

其中,q

其中,所述步骤11还包括:当任务发送者的任务请求推荐命中时,将任务请求的推荐命中率表示为整数变量的函数,如下所示:

其中,n表示任务请求,n∈K,

其中,所述步骤11还包括:将优化推荐策略的问题表示为:

其中,N表示任务发送者,p

本发明的上述实施例所述的融合推荐系统的边缘计算任务分配方法,任务发送者向云-边-端融合推荐系统发送任务请求,按以下的BFS方式搜索能够完成任务的边缘服务器信息,首先,向云-边-端融合推荐系统请求与任务内容相关的边缘服务器信息,并将请求到的边缘服务器信息从云-边-端融合推荐系统返回的顺序添加到列表M中。对于列表M中的边缘服务器信息进一步推荐与之相关的并且能够进行任务处理的边缘服务器信息,并将它们添加到列表M的末尾。以此类推添加其他相关边缘服务器信息,直到达到检索深度,通过TORS算法在列表M中搜索同时包含在云端缓存中的边缘服务器信息,并将其添加到输出列表G中,直到浏览完列表M中的所有边缘服务器信息并且输出列表G中包含N个边缘服务器信息,以先到为准(line 5-10)。当进行完上述步骤后,输出列表G中的边缘服务器数目少于N,则将N-|G|个边缘服务器信息添加到输出列表G(line 11-16)中。

本发明的上述实施例所述的融合推荐系统的边缘计算任务分配方法,对公式(3)的优化问题,证明如下:

优化问题的目标函数为NP-hard问题,用

其中,t表示不同于边缘服务器j的用于处理当前任务k的边缘服务器,M表示边缘服务器数;

边缘服务器子集表示为

其中,

上述就相当于加权元素的最大覆盖问题,其中元素对应于边缘服务器,权重对应于概率值,并且所选子集数量必须小于处理任务所需的边缘服务器最大数目,并且被覆盖元素并集为S'。这是一个已知的NP-hard问题。因此,在每个任务覆盖的范围内有很多被推荐的边缘服务器问题也是一个NP-hard问题。

目标函数为单调子模函数,并且受基数约束:目标函数

其中,p

一个集合函数被刻画为子模集合函数当且仅当对于每个

[f(A∪{ε})-f(A)]-[f(E∪{ε})-f(E)]≥0 (7)

其中,A和E表示集合,对所有A和E集合满足

依据公式

其中,l,ε表示不属于A的元素,p

式(9)的值总是大于0,即证明了子模块性;

由于式(10)总是非负状态,因而证明了单调性;

为了证明约束是一个拟阵,考虑集合ν=K×M(即,所有可能的元组{任务,边缘服务器})和其子集的集合不违反处理任务所需的边缘服务器的最大数目,如下所示:

其中,S表示边缘服务器子集,2

首先,对于所有的集合A和集合E,

对于任意的单调子模函数f,认为有:

F(x)≥(1-1/e)f*(x) (12)

其中,f

为了最大化受拟阵约束的单调子模函数,Khuller S提出了一种给出(1-1/e)逼近的随机算法,该算法分为两部分。在第一部分中,将组合问题替换为连续问题,并找到了连续问题的近似解。在第二部分中,使用称为Pipage rounding的技术对连续问题的分数解进行四舍五入。尽管该算法提供了更好的性能保证,但当问题中的边缘服务器推荐集合大小等于K×M时,其计算量太大,难以实现。当然,最小化算法复杂度或最佳逼近算法已经超出需要处理的范围。通过一种快速有效的贪心算法Greedy来处理云边协同场景中,大任务高效处理方法。

本发明的上述实施例所述的融合推荐系统的边缘计算任务分配方法,图4中显示了通过直接推荐和推荐+缓存两种情况,随着参数B和D的增加,推荐+缓存的推荐率比直接推荐的要高。图5中显示了不同BFS参数下的TORS算法的推荐率、贪心算法Greedy和Top推荐算法的推荐率性能。对于相同的情况,贪心算法Greedy总是优于TORS算法,Top推荐算法的推荐率性能比贪心算法Greedy高出2倍,图5清楚地显示了结合推荐和缓存的好处。

本发明的上述实施例所述的融合推荐系统的边缘计算任务分配方法,图6和图7中展示了当边节点数量增加时系统的时间总成本。一般来说,三种方法的总代价随着边节点数量的增加而减少。在图6中,最优的是Top推荐算法,贪心算法Greedy的差很小,TORS算法和贪心算法Greedy都比较稳定。同时,Top推荐算法最优推荐曲线比贪心算法Greedy最优推荐曲线要高,且对单边节点贪婪。但当边缘节点越多,其下降速度就越快。这是因为随着边节点数量的增加,执行时间会减少。图7显示了卸载任务数据大小对系统的总成本影响,其中将边缘节点数量设置为4,随着卸载任务数据大小的增加,三种方法的总代价也随之增加。这是因为数据量越大,卸载的时间和能量消耗就越大。与其他方法相比,TORS算法增长趋势较慢,效果更好。随着数据量的增加,Top推荐算法曲线的增长速度远远快于TORS算法和贪心算法Greedy,说明卸载所需的数据量越大,卸载计算的延迟和能耗也越大。

本发明的上述实施例所述的融合推荐系统的边缘计算任务分配方法,采用云-边-端融合推荐系统通过对任务发送者的任务请求进行任务特征分析并选择合适的边缘服务器,进而将任务分配到合适的边缘服务器执行。云-边-端融合推荐系统主要包括三个模块:云端模块、边缘服务器模块和移动端(任务发送者)。边缘服务器模块主要推荐处于灵活状态(非缓存)的边缘服务器,根据边缘服务器是否和处于任务发送者通信范围和计算能力足够推荐满足该条件的边缘服务器到云端模块。云端模块将从边缘服务器模块获取到的边缘服务器信息与云端缓存的边缘服务器结合,推荐给任务发送者。云-边-端融合推荐系统是将缓存的边缘服务器与推荐的边缘服务器相结合设计的,具有较高的推荐命中率,并证明了推荐命中率问题是一个单调子模函数和NP-hard问题,提高整个系统的计算机资源利用率、降低时间消耗。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • 融合推荐系统的边缘计算任务分配方法
  • 边缘计算中高能效的计算结点选择和计算任务分配方法
技术分类

06120112707739