一种面向批量计算任务的物联网终端协作方法

文档序号:190122 发布日期:2021-11-02 浏览:35次 >En<

阅读说明:本技术 一种面向批量计算任务的物联网终端协作方法 (Internet of things terminal cooperation method for batch computing tasks ) 是由 毛玉星 陈学硕 李剑 李丹阳 徐宜航 熊雄 李思谋 李晋森 于 2021-08-16 设计创作,主要内容包括:本发明涉及物联网技术领域,公开了一种面向批量计算任务的物联网终端协作方法,根据计算任务类型对终端的服务类型进行分类;定义终端属性并建立终端资源模型;终端属性包括算力、服务类型以及终端间通信速率;定义计算任务属性并创建任务集合;以完成任务集合中所有任务的总耗费时间最短为目标,采用多目标优化算法迭代求解终端资源模型中终端之间进行任务卸载的优化方案;各个终端根据所述优化方案卸载计算任务,执行计算任务并回传任务计算结果。本发明量化物联网终端产生的计算任务和终端本身的属性,应用多目标优化算法,实现终端之间任务的高效分配和卸载,减少服务器的计算负载和通信负载,提升物联网终端资源利用率与实时性。(The invention relates to the technical field of Internet of things, and discloses a batch computation task-oriented Internet of things terminal cooperation method, which classifies the service types of terminals according to the computation task types; defining terminal attributes and establishing a terminal resource model; the terminal attributes comprise calculation power, service types and communication rates among terminals; defining the attribute of a calculation task and creating a task set; with the shortest total time consumption for completing all tasks in the task set as an objective, an optimization scheme for task unloading between terminals in a terminal resource model is iteratively solved by adopting a multi-objective optimization algorithm; and each terminal unloads the calculation task according to the optimization scheme, executes the calculation task and returns a task calculation result. According to the method, the calculation tasks generated by the terminals of the Internet of things and the attributes of the terminals are quantized, a multi-objective optimization algorithm is applied, efficient distribution and unloading of the tasks among the terminals are achieved, the calculation load and the communication load of a server are reduced, and the resource utilization rate and the real-time performance of the terminals of the Internet of things are improved.)

一种面向批量计算任务的物联网终端协作方法

技术领域

本发明涉及物联网技术领域,尤其涉及物联网的协作方法。

背景技术

随着物联网的快速发展,网络实时数据量在不断增长,若使用传统的云计算策略管理这些数据,会因为网络带宽、通信距离等因素的限制变得十分困难。海量的数据同时向云端汇集不仅会导致通信阻塞,还会使传统集中处理模式下的云端处理器负载过大。边缘计算通过将服务器部署在网络边缘,把计算和分析任务转移到数据的源头进行处理,实现云计算模型的延伸,从而提供低时延、近距离的服务,因此可以高效地处理智慧城市等场景中每个时刻产生的海量数据。

当前物联网边缘计算相关设备的部署方式通常为基于端-云或端-边-云模式的结构,且大多关注的仅仅是云端和边缘之间的资源分配和任务卸载或直接将终端的任务卸载到边缘或云端,而对具有感知信息能力的终端设备的处理能力缺乏应有的重视。实际应用中,一方面部分高级终端具有较强的处理能力,并且在运行过程中有很多时间段处在资源富余的状态;另一方面,一些需及时响应的应用场景,其计算任务更适合在端上处理,或通过多个终端进行协同处理。因此,本发明对终端边缘计算技术进行研究,面向具有高实时性数据处理需求的计算批量应用场景,建立适应性较强的任务属性-终端属性模型,设计多目标优化算法提升物联网终端对实时信息的协同处理能力。

发明内容

针对上述技术的不足,本发明提供了一种面向批量计算任务的物联网终端协作方法,解决云服务和边缘服务器面向批量计算任务时负载过重的技术问题。

为解决上述技术问题,本发明提供一种面向批量计算任务的物联网终端协作方法,包括以下步骤:

根据计算任务类型对终端的服务类型进行分类:每个终端只为一种类型的计算任务提供服务,终端的服务类型与计算任务类型一一对应;

定义终端属性并建立终端资源模型:终端属性包括算力、服务类型以及终端间通信速率;获取物联网中能够互相通信的终端的终端属性,从而建立终端资源模型;

定义计算任务属性并创建任务集合:计算任务属性包括任务卸载时的传输数据量、回传任务计算结果的数据量、任务计算量与任务产生终端;获取当前时段每种计算任务中每个计算任务的计算任务属性,从而创建任务集合;

以完成任务集合中所有任务的总耗费时间最短为目标,采用多目标优化算法迭代求解终端资源模型中终端之间进行任务卸载的优化方案;单个终端的工作时间包括传输数据时间与执行计算任务时间,所述传输数据时间包括任务卸载时间、任务接收时间、任务计算结果回传时间与任务计算结果接收时间;

各个终端根据所述优化方案卸载计算任务,执行计算任务并回传任务计算结果。

进一步的,所有终端并行工作,以工作时间最长的终端的工作时间作为完成任务集合中所有任务的总耗费时间。

进一步的,单个终端的数据传输过程与计算任务执行过程并行,单个终端的工作时间为传输数据时间与执行计算任务时间中的最长时间。

与现有技术相比,本发明具有的有益效果包括:

1、本发明量化物联网终端产生的计算任务和终端本身的属性,应用多目标优化算法,实现终端之间任务的高效分配和卸载,减少服务器的计算负载和通信负载,将相对简单的计算服务下沉至终端层,提升物联网终端资源利用率。

2、本发明中各终端并行工作,提高处理批量任务的实时性;再加上,单个终端的数据传输过程与计算任务执行过程并行,不仅提高了实时性,而且大大简化了完成所有任务的总耗费时间的计算模型,使得迭代求解过程更加简便。

附图说明

图1为任务卸载前的终端系统的初始状态图;

图2为按服务类型分类后的任务分配示意图;

图3为多目标优化算法的流程图;

图4为蚁群算法的流程图;

图5为算法迭代情况图。

具体实施方式

一)、原理概述

本发明的基本思想是:参考图1所示,对一个系统中的终端属性和任务属性建模,用终端处理器主频衡量终端处理能力、用终端两两间实际通信速率衡量终端通信能力,用任务数据量、任务处理消耗处理器周期、任务处理结果数据、产生任务的终端序号来描述每个任务的属性。通过上述基础模型,应用多目标优化算法(如蚁群算法)计算出能在最短时间内完成所有任务的方案。

(1)应用场景设计

本发明所述终端为资源受限的终端,即一个确定区域内,有若干个异构终端,每个终端上仅能提供一种服务,但能产生多种任务。提供服务指该终端服务相关类型任务的处理,每个终端同时只能处理一个任务。假设系统中一共三种服务(α、β、γ),因此终端和任务也均为三种。上述条件下,总共N个可以互相通信的终端需处理产生于这些终端的M个任务,参考图2所示。

(2)建立终端资源模型

本具体实施方式对于一个终端定义了三种属性,包括算力、服务类型以及终端间通信速率。

表示带序号的终端集合。其中,N′、N″、N″′分别表示服务α、β、γ类计算任务的终端的个数;第1~N′个元素是服务α类计算任务的终端;第(N′+1)~(N′+N″)个元素是服务β类计算任务的终端;第(N′+N″+1)~N个元素是服务γ类计算任务的终端,且N′+N″+N″′=N;采用终端主频来表示算力,其中第k个终端对应主频为fk,k∈{1,2,...N};

终端间通信速率矩阵V,且假设其中速度数值经过可靠的实地测试而得,与系统实际运行时速度的误差忽略不计。

其中,第1~N′行/列包含了所有服务α类计算任务的终端,第(N′+1)~(N′+N″)行/列包含了所有服务β类计算任务的终端,第(N′+N″+1)~N行/列包含了所有服务γ类计算任务的终端;其中vj,k表示终端j和终端k之间的传输速率;当j=k时,vj,k=inf,inf表示无穷大,vj,k=vk,j。该方法旨在直接使用实测通信速率,从而无需每次计算通信时间时考虑其他通信相关的复杂参数。

(3)创建任务集合S

表示带序号的任务集合。M′、M″、M″′分别表示α、β、γ类计算任务的个数,因此集合S被划分为三块:第1~M′个元素是α类计算任务;第(M′+1)~(M′+M″)个元素是β类计算任务;第(M′+M″+1)~M个元素是γ类计算任务,且M′+M″+M″′=M;任务属性用表示,其中,代表当前时段x类计算任务的第i个任务,x={α,β,γ};是任务卸载时的传输数据量,ri x是回传任务计算结果的数据量,是任务计算量,代表计算任务产生于第个终端,

(4)优化目标

首先根据上述服务类型和任务类型定义以下几个区间:

Γα:[1,M']

Γβ:[M'+1,M'+M”]

Γγ:[M'+M”+1,M]

Φα:[1,N']

Φβ:[N'+1,N'+N”]

Φγ:[N'+N”+1,N]

参考图3所示,最终实现的是将所有任务分配给对应的终端,故采用三维矩阵Q表示每个任务的初始产生终端和被最终卸载到的终端,Q矩阵中的元素用qi,j,k表示,qi,j,k取值只有1或0。qi,j,k为1表示产生于第j个终端的第i个任务卸载到第k个终端,qi,j,k为0则表示不卸载到第k个终端。Γx表示需x类型服务服务的任务序号区间,Φx表示服务x类型服务的终端序号区间。

因此每个终端有两个工作流程,①接受其他终端的待处理任务-处理任务-回传任务结果;②发送自身产生的任务给其他终端处理-接收任务结果。同时,每个从A终端卸载到B终端的任务经历3个时间段:①任务卸载到目标终端的传输时间,包括发送时间和接收任务的时间,且两者相同:②任务被处理花费的时间;③任务结果从回传到的时间,包括发送该结果的时间和接收该结果的时间,且两者相同。所有终端被设置为处理完任务后优先发送任务处理结果至任务来源终端,以保证任务来源终端不会长时间等待任务处理结果。因此终端上传输数据花费的总时间分为:

逐个发送所有本地任务到其他终端的时间之和

②其他终端返回任务处理结果到的时间之和

逐个接收其他终端卸载任务到的时间之和

逐个发送处理后的任务至任务产生终端的时间之和

在第j个终端上,传输数据花费的总时间为对于x类型服务,第j个终端上处理任务花费的总时间为其中k表示第i个服务卸载到第k个终端。在服务x服务的第j个终端上传输数据和处理任务所需最长时间

因为最终目标是在最短的时间内完成所有任务的卸载,且将任务处理结果回传至任务产生节点,故需要优化公式该公式首先找出所有终端中工作时间最长,即花费最长时间处理完其他终端传来的任务并回传数据且发送完需其他终端处理的任务并接收到任务结果数据的终端。而优化目标就是让上述时间最短,即可达到全局处理任务时间最短的目的,最大程度避免部分终端在不处理任务的状态下等待其他终端处理的情况(与负载均衡策略相似),达到提升终端资源利用率的效果。

(3)多目标优化算法设计

采用多目标优化算法求解上述公式,流程如图3。

(4)任务卸载方案生成

根据设计算法,对优化问题设计求解方案。引入各种参数及约束条件,应用MATLAB等工具软件编程,计算出qi,j,k,得出任务卸载方案以及方案对应的系统时间消耗用于衡量算法的效果。

二)、应用实例

按照技术方案所述建模方式,确定以下初始参数:N'=5,N”=7,N”'=8,M'=50,M”=70,M”'=80,终端间通信速率矩阵V如下:

任务返回数据任务计算所需处理器周期

蚂蚁在行走过程中会释放一种称为“信息素”的物质,用来标识自己的行走路径。在寻找食物的过程中,根据信息素的浓度选择行走的方向,并最终到达食物所在的地方。而信息素会随着时间的推移而逐渐挥发。一开始,由于地面上没有信息素,因此蚂蚁们的行走路径是随机的。蚂蚁们在行走的过程中会不断释放信息素,标识自己的行走路径。随着时间的推移,有若干只蚂蚁找到了食物,此时便存在若干条从洞穴到食物的路径。由于蚂蚁的行为轨迹是随机分布的,因此在单位时间内,短路径上的蚂蚁数量比长路径上的蚂蚁数量要多,从而蚂蚁留下的信息素浓度也就越高。这为后面的蚂蚁们提供了强有力的方向指引,越来越多的蚂蚁聚集到最短的路径上去。

在本专利中,“路径”指所选方案对应处理完所有任务并回传数据的总耗费时间。因此设计算法时,较优秀的方案的信息素会不断提升,而较差方案的信息素会不断减少,部分蚂蚁根据信息素浓度选择路径,部分蚂蚁完全随机的选择路径,从而加强算法的搜索能力,一定程度上避免算法在局部最优处收敛。

蚁群算法求解目标公式流程如图4,本实施例在MATLAB中仿真,最大迭代次数为50,每轮迭代的蚂蚁数目为50。

算法在接近20次迭代后收敛,得出最优任务卸载方案如下:[3,2,4,4,4,4,3,4,2,5,3,2,2,5,1,4,1,1,4,1,3,4,1,1,4,4,4,1,2,3,3,2,3,4,2,1,5,3,2,3,2,3,2,2,2,3,1,2,4,5,9,11,12,8,6,7,7,8,9,10,12,10,12,10,8,12,11,10,12,8,11,12,6,7,11,10,9,7,7,9,8,12,9,10,12,9,6,9,12,9,8,6,9,8,11,8,9,8,6,9,11,6,7,8,8,7,7,12,11,12,12,12,11,9,8,6,7,9,12,9,13,13,17,15,15,19,19,17,19,18,14,17,18,16,18,19,20,15,18,20,20,20,14,17,15,20,13,13,15,16,20,14,19,20,18,19,18,19,18,20,13,13,13,19,15,17,19,16,13,15,20,13,16,15,14,13,14,19,17,19,13,20,19,20,18,19,19,13,13,18,18,19,16,18,16,14,14,20,19,14]和,数组每个元素代表对应序号的任务被卸载到的终端的序号。任务完成所需最短时间值为5.909s,迭代情况如图5。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:媒体流数据分发方法、数据分发装置、存储介质、平台

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!