本发明专利技术公开了一种云边端协同应用卸载算法,包括以下步骤:步骤a、终端收集云端和边缘网关的计算资源;步骤b、终端构造出整个应用程序中所有可卸载方法组件间的依赖关系图;步骤c、终端根据获得的计算资源信息构建组件费用模型;步骤d、终端拓扑排序无相互依赖关系的应用程序方法组件;步骤e、终端根据贪婪算法确定应用程序方法组件的调用顺序。本发明专利技术提供的一种云边端协同应用卸载算法,利用多目的地并行执行应用程序组件原理,充分分析组件间相互依赖关系,对应用程序组件进行周期性拓扑排序,并结合贪婪算法确定组件卸载位置,能够充分考虑多节点并行的优势和最大化应用程序完成时间收益,缩短应用程序完成时间。
An unloading algorithm for cloud edge collaborative application
【技术实现步骤摘要】
一种云边端协同应用卸载算法
本专利技术涉及一种云边端协同应用卸载算法,属于边缘计算、云计算和物联网
技术介绍
随着物联网技术、人工智能、大数据的快速发展,云计算与边缘计算的弊端也逐渐显露出来。云端作为云计算中心,有着极强的计算能力,但是云端提供的服务不适用于传输数据大、时延要求高的应用;边缘侧有着独特的地理位置优势,可以不用考虑终端数据传输问题,但是其缺点在于作为终端接入层,其计算能力一般来说较低。云边端协同计算体系的提出为结合云计算、边缘计算的优势,弥补它们的不足提供了一种新的设计思路。自从云计算提出以来,就有不断的学者为提高终端应用程序完成时间或缩短应用程序能耗,提出了一系列任务卸载算法,这些算法大部分都是针对单一卸载目的地的静态分区卸载算法,还有少部分的多目的地分区卸载算法,这些多目的地分区卸载算法均是为分布式应用程序所设计的,没有充分考虑多节点并行的优势,且无法最大化应用程序完成时间收益。多目的地分区卸载算法主要利用空间换取时间的原理,将多任务分配到多节点并行执行处理以最大化时间收益,如何最优的解决这种任务分区卸载问题是多目的地分区卸载算法的核心问题。
技术实现思路
本专利技术要解决的技术问题是,克服现有技术中的缺陷,提供一种能够充分考虑多节点并行的优势和最大化应用程序完成时间收益,缩短应用程序完成时间的云边端协同应用卸载算法。为解决上述技术问题,本专利技术采用的技术方案为:一种云边端协同应用卸载算法,包括以下步骤:步骤a、终端收集云端和边缘网关的计算资源;步骤b、终端构造出整个应用程序中所有可卸载方法组件间的依赖关系图;步骤c、终端根据获得的计算资源信息构建组件费用模型;步骤d、终端拓扑排序无相互依赖关系的应用程序方法组件;步骤e、终端根据贪婪算法确定应用程序方法组件的调用顺序。步骤a具体包括以下步骤:步骤a1、云端启动远程调用服务与自身资源信息服务监听;步骤a2、边缘网关开启远程调用服务与自身资源信息服务监听,并额外开启终端接入服务监听;步骤a3、终端接入到边缘网关中接入点网关后,向边缘网关发送资源请求报文以请求卸载资源;步骤a4、接入点网关向其它网关广播资源请求报文,并额外发送一条资源请求报文到云端以请求云端资源信息;步骤a5、接入点网关将边缘处与云端的资源信息回传到终端。步骤c中,单个应用程序组件在各个节点的计算费用与数据传输费用如下:W(vi)=Ivwl(vi)+(1-Iv)(wrn(vi)+w(e(vi,l)))(1)其中wl(vi)表示应用程序组件vi在本地l(local)执行的时间费用,r1,r2,…,rn分别表示其它边缘网关节点或云端,当组件在本地执行的时候Iv为1,否则为0;w(e(vi,l))表示组件vi在远程节点上调用时产生的数据传输费用。w(e(vi,l))与网络的带宽和边缘节点之间传输数据量的大小有关,具体公式如下所示:式中inil和outil分别代指组件i和终端之间传输的数据大小,其中in指代调用远程方法所需传递的参数数据大小,out表示返回计算结果的数据大小;Bup和Bdown代指远程节点与终端节点间的网络上行和下行速率:其中表示组件vi的卸载位置节点与终端节点之间的链路带宽。步骤d具体为:不断将所有出度为0的组件放入一个集合ai中,然后删除组件依赖关系图中这些组件节点,一直循环,直到图中所有组件节点为0,即可获得多个集合,集合内的方法组件可在多个设备上并行执行。步骤e具体为:将组件集合根据费用模型及贪婪算法计算出一个集合内所有组件总的最小完成时间,最后累加所有周期内的应用程序组件完成时间,即可得到总的应用程序执行费用,总费用公式如下:其中Wall表示终端总的应用程序完成费用,Wmin(a)表示集合a中应用程序在多个节点并行处理的最小完成时间,C表示整个拓扑排序完成后应用程序组件集合。本专利技术的有益效果:本专利技术公开的一种云边端协同应用卸载算法,该算法充分结合云计算中心的计算资源充足、终端到网络边缘低时延等特性,利用多目的地并行执行应用程序组件原理,充分分析组件间相互依赖关系,对应用程序组件进行周期性拓扑排序,并结合贪婪算法确定组件卸载位置,以缩短应用程序完成时间。此外,本算法能够较为简便的扩展到物联网场景中,无需增添硬件设施,具有较好的适用性。附图说明图1为本专利技术所提出的云边端协同计算架构图;图2为本专利技术所提出的应用程序组件费用模型图;图3为本专利技术所提出的应用程序组件拓扑排序算法流程图;图4为本专利技术所提出的应用程序组件分区卸载位置算法流程图;图5为本专利技术中终端收集云端和边缘网关的计算资源流程图。具体实施方式下面结合附图对本专利技术作进一步描述,以下实施例仅用于更加清楚地说明本专利技术的技术方案,而不能以此来限制本专利技术的保护范围。如图1所示,本专利技术提供一种云边端协同应用卸载算法,该算法应用于云边端协同计算体系中,该体系的主要由终端、边缘网关与云端三部分组成:终端一般代指拥有操作系统的智能设备,这类设备带受限的计算、存储能力;边缘网关一般代指传统物联网中的网关,地理位置接近终端,并为终端提供网络接入功能,是终端最易获取计算等资源的节点;云端一般即指云计算中心,拥有强大的计算能力与存储资源,距离终端地理位置较远,端到端往返时延较大。该协同计算体系中,终端作为整个协同计算任务的发起点,通过卸载算法将方法级的应用程序组件分配到网络边缘侧的多个网关或者云计算中心,利用多节点并行处理机制最小化应用程序完成时间,而边缘网关与云端作为组件执行节点,负责完成卸载组件的计算任务。为了充分缩短终端应用程序完成时间,需要使用方法级别的应用程序卸载粒度。终端使用云边端协同应用卸载算法来确定自身方法组件卸载卸载位置,卸载到云端的方法组件以传输时间为代价换取较高的计算收益,而卸载到边缘网关处的方法组件则能够收获较快的响应时间。本专利技术提供的一种云边端协同应用卸载算法,该算法是一种方法级卸载粒度、动态分区以及多卸载目的地的应用卸载算法,它适用于云边端协同计算场景,结合云、边多节点不同的计算能力和网络带宽,周期性并行处理无相互依赖关系的应用程序组件以最小化程序完成时间,具体包括以下步骤:步骤一、终端收集云端和边缘网关的计算资源,边缘网关与云端均作为终端可扩展的计算资源,帮助终端完成应用程序。终端获取云边资源信息以构建组件费用模型:组件费用模型作为云边端协同卸载算法的输入,为其精确的计算出分区卸载结果提供了保障。终端需要获取的云边资源信息如下:资源节点的IP和端口号、可用远程对象信息、CPU、内存、网络上下行带宽,获取到上述信息后,用于后续终端粗略估算出单个组件在各个节点的计算费用与数据传输费用,并通过组件间依赖关系构建费用模型图。如图5所示,步骤一具体包括以下步骤:步骤a1、云端启动远程调用服务与自身资源信息服务监听本文档来自技高网...
【技术保护点】
1.一种云边端协同应用卸载算法,其特征在于:包括以下步骤:/n步骤a、终端收集云端和边缘网关的计算资源;/n步骤b、终端构造出整个应用程序中所有可卸载方法组件间的依赖关系图;/n步骤c、终端根据获得的计算资源信息构建组件费用模型;/n步骤d、终端拓扑排序无相互依赖关系的应用程序方法组件;/n步骤e、终端根据贪婪算法确定应用程序方法组件的调用顺序。/n
【技术特征摘要】
1.一种云边端协同应用卸载算法,其特征在于:包括以下步骤:
步骤a、终端收集云端和边缘网关的计算资源;
步骤b、终端构造出整个应用程序中所有可卸载方法组件间的依赖关系图;
步骤c、终端根据获得的计算资源信息构建组件费用模型;
步骤d、终端拓扑排序无相互依赖关系的应用程序方法组件;
步骤e、终端根据贪婪算法确定应用程序方法组件的调用顺序。
2.根据权利要求1所述的一种云边端协同应用卸载算法,其特征在于:步骤a具体包括以下步骤:
步骤a1、云端启动远程调用服务与自身资源信息服务监听;
步骤a2、边缘网关开启远程调用服务与自身资源信息服务监听,并额外开启终端接入服务监听;
步骤a3、终端接入到边缘网关中接入点网关后,向边缘网关发送资源请求报文以请求卸载资源;
步骤a4、接入点网关向其它网关广播资源请求报文,并额外发送一条资源请求报文到云端以请求云端资源信息;
步骤a5、接入点网关将边缘处与云端的资源信息回传到终端。
3.根据权利要求1所述的一种云边端协同应用卸载算法,其特征在于:步骤c中,单个应用程序方法组件在各个节点的计算费用与数据传输费用如下:W(vi)=Ivwl(vi)+(1-Iv)(wrn(vi)+w(e(vi,l)))(1)
其中wl(vi)表示应用程序组件vi在本地l执行的时间费用,r1,r2,…,rn分别表示其它边缘网关节点或云端,wrn(vi)代表应用程序方法组件在边缘侧节点或云端执行的计算时...
【专利技术属性】
技术研发人员:江凌云,吴正坤,陈轶林,董唱,王珂,
申请(专利权)人:南京邮电大学,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。