一种雾节点间协作的计算迁移方法与流程

文档序号:23624678发布日期:2021-01-12 10:36阅读:188来源:国知局
一种雾节点间协作的计算迁移方法与流程

本发明涉及边缘计算领域,更具体地说,它涉及一种雾节点间协作的计算迁移方法。



背景技术:

随着物联网终端的爆炸时增长,网络边缘产生了海量的计算任务,这些计算任务往往要求超低的响应延迟,例如,自动驾驶、工业自动化等应用产生的计算任务往往仅容忍10毫秒以内的响应延迟。传统的云计算范式需要将计算任务从网络边缘传输到远程的云计算中心进行处理,然而计算任务从网络边缘传输到云计算中心,往往需要经历几百毫秒的网络传输延迟,无法满足低延迟物联网应用的服务质量要求。因此,近年来,边缘计算的概念被提出。在边缘计算范式中,将在网络边缘部署具有计算能力的雾节点,因此,物联网终端产生的计算任务可以迁移到网络边缘的雾节点进行处理,从而减少网络传输延迟。

现有的面向边缘计算的计算迁移方法大多在雾节点和云计算中心之间进行计算迁移决策,即,任务不是在产生计算任务的第一雾节点处理,就是迁移到云计算中心处理,忽略了同一边缘网络下雾节点间的协作迁移。此外,大多计算迁移方法是对单个任务进行决策。事实上,物联网应用的迸发性、计算需求的多样性往往会使得用户应用程序向雾节点发送一批任务。然而,由于边缘节点的服务能力有限性,当该批任务数量较大时,雾节点并不能同时处理该批任务。如果将这批任务都迁移到边缘计算系统内其他雾节点处理,则可能在边缘网络里很难找到一个能同时处理该批任务的雾节点,如果都迁移到云计算中心处理,则这批任务都经历较长的网络传输延迟。因此,如何处理雾节点产生的批量任务是边缘计算亟待解决的一个问题。



技术实现要素:

为解决上述技术问题,本发明提供提供一种雾节点间协作的计算迁移方法,将雾节点的各批次的任务进行分割,通过分配本地、边缘计算系统内其他雾节点以及云计算中心的任务比例来缩短计算任务的响应延迟,提高边缘计算系统的资源效用,使边缘计算能满足计算任务的服务质量要求。

本发明的目的是解决在边缘计算环境中在多个雾节点和云计算中心之间分配计算任务这个关键问题,提供一种雾节点间协作的计算迁移方法,缩短计算任务的响应延迟,提高边缘计算系统的资源效用,使边缘计算能满足计算任务的服务质量要求。

为了达到上述目的,本发明公开一种雾节点间协作的计算迁移方法,边缘计算系统包括一个及以上雾节点和边缘控制器,所述边缘计算系统与云计算中心通过通信网络互连。雾节点接收到来自用户应用程序的一批计算任务,触发所述雾节点的任务分配过程。边缘控制器接收到来自一个及以上雾节点的任务迁移请求,触发所述边缘控制器的协作迁移任务分配过程。雾节点获得每个任务的分配结果后,执行任务调度过程。在所述雾节点的任务分配过程,所述雾节点判断该批任务的数量是否小于等于所述雾节点当前时刻的服务速率,是,则将所述批次的任务全部设置为本地计算,并将所述雾节点剩余服务速率报告给边缘控制器;否,则将与本地服务速率相同数量的任务设置为本地计算,剩余的任务作为迁移任务,向边缘控制器发送任务迁移请求。在所述的边缘控制器的协作迁移任务分配过程,所述边缘控制器将将接收到的雾节点的剩余服务速率按剩余服务速率的大小降序排列,得到一个服务速率队列,并将接收到的迁移请求按每个雾节点请求的迁移任务数量大小降序排列,得到一个请求队列,然后逐个处理请求队列中的迁移任务请求,直到请求队列为空或者服务速率队列为空,当服务速率队列为空,而请求队列不为空时,将请求队列中的所有任务标记为迁移到云计算中心处理,最后将协作迁移的任务分配结果发送给对应的雾节点。在所述雾节点的任务调度过程,对所述雾节点接收到的所述批次的每一个任务,按任务的分配结果执行任务调度。

本发明的上述技术目的是通过以下技术方案得以实现的:

一种雾节点间协作的计算迁移方法,包括边缘计算系统,边缘计算系统包括一个及以上雾节点和边缘控制器,所述边缘计算系统与云计算中心通过通信网络互连;

雾节点接收到来自用户应用程序的计算任务,该批任务的数量至少为一个,触发所述雾节点的任务分配过程;

边缘控制器接收到来自一个及以上雾节点的任务迁移请求,触发所述边缘控制器的协作迁移任务分配过程;

雾节点获得每个任务的分配结果后,执行任务调度过程;

所述雾节点的任务分配过程具体包括如下步骤:

步骤s101:判断该批任务的数量是否小于等于所述雾节点当前时刻的服务速率:是,则前往步骤s102;否,则前往步骤s104;

步骤s102:将所述批次的任务全部设置为本地计算,前往步骤s103;

步骤s103:将所述雾节点的当前剩余服务速率报告给边缘控制器,前往步骤s106;

步骤s104:将该批任务的与所述雾节点当前服务速率相同数量的任务设置为本地计算,前往步骤s105;

步骤s105:将剩余的任务标记为迁移任务,向边缘控制器发起任务迁移请求,所述请求包括所述迁移任务的数量,前往步骤s106;

步骤s106:本任务分配过程结束;

所述边缘控制器的协作迁移任务分配过程具体包括如下步骤:

步骤s201:将接收到的雾节点的当前剩余服务速率按剩余服务速率大小降序排列,得到一个服务速率队列,所述队列头部是最大的剩余服务速率,所述队列尾部是最小的剩余服务速率;

步骤s202:将接收到的迁移请求按所请求的雾节点进行标记,一个雾节点对应一批迁移任务,将接收到的所有批次的迁移任务按各批次的迁移任务数量降序排列,得到一个请求队列,所述队列头部是迁移任务数量最大的一个批次,所述队列尾部是迁移任务数量最小的一个批次;

步骤s203:将迁移策略数组初始化为空;

步骤s204:请求队列头部的迁移任务数量是否小于等于服务速率队列头部的剩余服务速率:是,前往步骤s205;否,则前往步骤s206;

步骤s205:将请求队列头部的这批迁移任务出队,并将该批任务标记为迁移到服务速率队列头部的剩余服务速率所对应的雾节点处理,将所述标记信息放入迁移策略数组,更新剩余服务速率队,前往步骤s207;

步骤s206:将请求队列头部的这批任务中的与服务速率队列头部的服务速率大小相等的任务出队,并将出队的任务标记为迁移到服务速率队列头部的剩余服务速率所对应的雾节点处理,将所述标记信息放入迁移策略数组,更新剩余服务速率队,前往步骤s207;

步骤s207:判断请求队列和服务速率队列的长度是否都大于零;是,返回步骤s204;否,则前往步骤s208;

步骤s208:判断请求队列是否为空:是,则前往步骤s210;否,则前往步骤s209;

步骤s209:将请求队列中所有的任务标记为迁移到云计算中心处理,将所述标记信息放入迁移策略数组,并清空请求队列,前往步骤s210;

步骤s210:将迁移策略数组的信息发送给对应的雾节点,本任务分配过程结束。

所述雾节点的任务调度过程具体为:对所述雾节点接收到的所述批次任务中的每一个任务,判断该任务的分配结果是否为本地计算:是,则将任务放到本地调度器进行计算处理;否,则将任务迁移到分配结果中指定的雾节点进行计算处理。

进一步的,步骤s101中的服务速率以任务数量为基本单位,一个单位的服务速率表示所述节点可以处理一个任务。

进一步的,步骤s103中的所述雾节点的剩余服务速率是所述雾节点当前时刻的服务速率与所述批次任务的数量的差。

进一步的,步骤s205中的更新剩余服务速率队列的方法具体为:将服务队列头部的剩余服务速率更新为当前的剩余服务速率减去出队的任务的数量。

进一步的,步骤s206中的更新剩余服务速率队列的方法具体为:将当前服务队列头部的剩余服务速率置零并出队。

综上所述,本发明具有以下有益效果:

1、本发明公开的雾节点间协作的计算迁移方法采用分布式-集中式混合计算迁移决策的方式来在雾节点、相邻雾节点和云计算中心之间分配计算任务,雾节点首先根据自己的服务能力将能力范围内的任务放在本地计算,这种方式一方面可以有效减少本地计算任务的网络传输延迟,另一方面也高效利用了雾节点的计算资源。雾节点将超出能力范围的任务报告给边缘控制器,边缘控制器通过集中控制的方式来配置雾节点间的迁移任务,可以充分利用边缘计算系统内的雾节点的空闲资源来处理迁移的计算任务,降低迁移任务的迁移复杂度和减少迁移任务的网络传输延迟。

2、本发明公开的雾节点间协作的计算迁移方法采用按服务速率的大小和迁移任务数量的大小降序逐批分配的方式,可以使得同一个雾节点的迁移任务迁移到相同邻居节点的概率非常高,能有效降低任务迁移的复杂度,也使得来自相同雾节点的迁移任务获得相似的服务质量,同时该方式也能高效利用边缘计算系统的计算资源,提高系统的资源效用。

附图说明

图1为本发明实施例中雾节点间协作的计算迁移方法总流程图;

图2为本发明实施例中边缘计算系统的结构示意图;

图3为本发明实施例中雾节点的任务分配过程的一个实施例的流程图;

图4为本发明实施例中边缘控制器的协作迁移任务分配的一个实施例的流程图。

具体实施方式

本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包括”为一开放式用语,故应解释成“包括但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。

本说明书及权利要求的上下左右等方位名词,是结合附图以便于进一步说明,使得本申请更加方便理解,并不对本申请做出限定,在不同的场景中,上下、左右、里外均是相对而言。

以下结合附图对本发明作进一步详细说明。

实施例1:

如图1所示,一种雾节点间协作的计算迁移方法,包括雾节点的任务分配过程,边缘控制器的协作迁移任务分配过程和雾节点的任务调度过程。雾节点接收到来自用户应用程序的一批计算任务,触发所述雾节点的任务分配过程;边缘控制器接收到来自一个及以上雾节点的任务迁移请求,触发所述边缘控制器的协作迁移任务分配过程;雾节点获得每个任务的分配结果后,执行任务调度过程。

如图2所示,边缘计算系统由位于接入网中心的边缘控制器和分布在接入网范围内的雾节点构成,边缘计算系统通过通信网络与云计算中心互连;在所述雾节点的任务分配过程,边缘计算系统的任意一个雾节点接收到来自用户应用程序的一批计算任务,判断该批任务是否不大于所述雾节点的当前服务速率,如果是,则将该批任务全部设置为本地计算,并将剩余的服务速率报告给边缘控制器;若否,则将与本地服务速率大小相等的任务设置为本地计算,剩余的任务做为迁移任务,向边缘控制器发送任务迁移请求;边缘控制器将收到的所述边缘计算系统的雾节点的剩余服务速率按速率大小降序排列,得到服务速率队列,将任务迁移请求按所请求的雾节点进行标记,并对迁移任务数量按降序排列,得到请求队列,然后依次从队列头部开始分配迁移任务,直到请求队列为空或者服务速率队列为空。若服务速率队列为空而请求队列非空,则将请求队列当前所有的任务设置为云计算中心处理;边缘控制器向相关的雾节点返回迁移任务分配结果后,雾节点得到每个任务的计算迁移策略,按所述策略对任务进行调度处理。

实施例2:

如图3所示,雾节点接收到来自用户应用程序的一批计算任务,设该批任务的大小为ai,这里i表示所述雾节点在边缘计算系统的标识,触发所述雾节点的任务分配过程,包括如下步骤:

s101:判断该批任务的数量是否小于等于所述雾节点当前时刻的服务速率。令si表示所述雾节点当前时刻的服务速率,则判断是否满足ai≤si;是,则前往步骤s102;否,前往步骤s104。

s102:将所述批次的任务全部设置为本地计算,即:将ai个任务全部设置为本地计算,前往步骤s103。

s103:将所述雾节点的当前剩余服务速率报告给边缘控制器,即将si-ai的值报告给边缘控制器,前往步骤s106。

s104:将该批任务的与所述雾节点当前服务速率相同数量的任务设置为本地计算,即将si个任务设置为本地计算,前往步骤s105。

s105:将剩余的任务标记为迁移任务,即将ai-si个任务标记为迁移任务,将向边缘控制器发起任务迁移请求,所述请求包括所述迁移任务的数量,即包括ai-si的值。

s106:本任务分配过程结束。

如图4所示,边缘控制器接收到来自一个及以上雾节点的任务迁移请求,触发所述边缘控制器的协作迁移任务分配过程,包括如下步骤:

s201:将接收到的雾节点的当前剩余服务速率按剩余服务速率大小降序排列,得到一个服务速率队列,所述队列头部是最大的剩余服务速率,所述队列尾部是最小的剩余服务速率,设所述边缘控制器接收到ns个雾节点的剩余服务速率报告,令表示所述服务速率队列,则,表示队列头部的剩余服务速率,表示第n(1≤n≤ns)个雾节点的剩余服务速率,表示队列尾部的剩余速率,且满足

s202:将接收到的迁移请求按所请求的雾节点进行标记,一个雾节点对应一批迁移任务,将接收到的所有批次的迁移任务按各批次的迁移任务数量降序排列,得到一个请求队列,所述队列头部是迁移任务数量最大的一个批次,所述队列尾部是迁移任务数量最小的一个批次,设所述边缘控制器接收到nr个雾节点的迁移任务请求,令表示所述请求队列,则,表示队列头部的请求,表示第k(1≤k≤nr)个雾节点的请求,表示队列尾部的请求,且满足

s203:将迁移策略数组初始化为空,令π表示迁移策略数组,则π={}。

s204:判断请求队列头部的迁移任务数量是否小于等于服务速率队列头部的剩余服务速率,即判断是否成立:是,前往步骤s205;否,则前往步骤s206。

s205:将请求队列头部的这批迁移任务出队,即,将移出,使得和nr=nr-1,并将该批任务标记为迁移到服务速率队列头部的剩余服务速率所对应的雾节点处理,即,将标记为迁移到所对应的雾节点处理,将所述标记信息放入迁移策略数组,即,迁移策略数组为其中,表示所对应的雾节点,表示所对应的雾节点,更新剩余服务速率队列,即,令且令前往步骤s207。

s206:将请求队列头部的这批任务中的与服务速率队列头部的服务速率大小相等的任务出队,即,将个任务从中移出,使得并将出队的任务标记为迁移到服务速率队列头部的剩余服务速率所对应的雾节点处理,即,将这个任务标记为迁移到所对应的雾节点处理,将所述标记信息放入迁移策略数组,即,迁移策略数组为更新剩余服务速率队列,即,令前往步骤s207。

s207:判断请求队列和服务速率队列的长度是否都大于零。即,令la=length(a)表示请求队列的长度,令ls=length(s)表示服务速率队列的长度,判断la>0且ls>0是否成立;是,返回步骤s204;否,则前往步骤s208。

s208:判断请求队列是否为空,即,令la=length(a)表示请求队列的长度,判断la是否等于零:是,前往步骤s210;否,则前往步骤s209。

s209:将请求队列中所有的任务标记为迁移到云计算中心处理,即,将队列中的所有任务标记为迁移到云计算中心处理,将所述标记信息放入迁移策略数组,即,令π=π∪{(a,fa,fc)},其中,fa表示请求队列里的任务所对应的雾节点,fc表示云计算中心,并清空请求队列,即,令a={},前往步骤s210。

s210:将迁移策略数组的信息发送给对应的雾节点,即,将发送给对应的雾节点,令a,fa,fs表示迁移策略数组的一个策略,其中,a表示任务数量,fa表示任务所在的雾节点,fs表示任务将迁移到的雾节点,则将该策略发送给雾节点fa和fs,本任务分配过程结束。

本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1