一种基于移动IP的雾节点自组织协作的方法与流程

文档序号:21042071发布日期:2020-06-09 20:43阅读:256来源:国知局
一种基于移动IP的雾节点自组织协作的方法与流程

本发明涉及通信技术领域,尤其涉及一种基于移动ip的雾节点自组织协作的方法。



背景技术:

近年来,随着物联网的快速发展,智慧城市、智慧家居等新兴服务模式正在逐渐走入人们的生活。随着智能传感设备和智能终端的广泛的应用,其产生的数据量和移动计算需求呈现指数增长。因此,将云计算的部分任务分流至近用户终端进行处理,在满足任务时间需求的同时,减少整体运行成本的雾计算正逐渐成为一种流行的解决方案。雾计算能够将云计算范式扩展到网络边缘,在物联网服务中拥有广泛的应用前景。雾计算能够有效提升系统数据处理能力,减轻云数据中心任务负载,为终端提供存储、计算和通信服务。在现有雾计算架构下,计算任务如果超过雾节点处理能力将会发往云数据中心进行计算。但是,云计算大数据分析过程有时延性高、周期性长、网络耗能大等缺陷。在面对密集型移动计算任务时,如果将其直接交付云服务器进行处理,受网络连接情况和带宽限制,势必增大通信开销,延长任务的交付时间。如果能够实现雾节点自组网,由计算资源尚有余裕的临近节点构成分布式计算系统的工作域,则可以在一定程度上应对此类计算任务,有效降低系统开销。此外,在wi-fi覆盖的移动计算的应用场景中,终端设备随着用户的移动从一个子网进入到另一个子网的覆盖范围时,因网关发生变化,需要断开原有网络连接,重新获取新子网的ip地址后才能继续通信,对移动计算任务的交付造成一定影响。在移动计算的场景下,尚需解决在构成工作域后由于终端移动造成的跨域交付问题。



技术实现要素:

本发明的实施例提供了一种基于移动ip的雾节点自组织协作的方法,用于解决实现多个空闲的雾节点之间协作,构成具有更强计算能力的分布式系统,以应对移动计算场景下计算密集型任务,为终端移动用户提供实时、节能的网络服务的技术问题。

为了实现上述目的,本发明采取了如下技术方案。

一种基于移动ip的雾节点自组织协作的方法,包括:

管理雾节点接收工作雾节点发送的用于更新路由表的节点信息帧;

管理雾节点接收移动终端发送的任务请求并基于路由表对该任务请求的所需计算资源进行评估,获得评估结果;

管理雾节点基于该评估结果判断是否接受任务请求;若管理雾节点接受任务请求,管理雾节点向移动终端分配工作域临时ip,从移动终端接收任务数据,并向工作雾节点发送占用请求;

管理雾节点接收工作雾节点的确认信息,开始任务处理;

管理雾节点完成任务处理,解除工作雾节点占用。

优选地,管理雾节点接收移动终端发送的任务请求并基于路由表对该任务请求的所需计算资源进行评估,获得评估结果包括:

通过公式获得任务处理的总耗时

(2);式中,ri为每个管理雾节点和工作雾节点的计算能力,为每个子任务qi的运算耗时,qtask为管理雾节点的总计算量,d(ei,j)为管理雾节点和/或工作雾节点gi与gj间的通信时延,ci,j表示管理雾节点和/或工作雾节点gi与gj在任务计算期间是否存在通信关系,若不存在通信关系,则有ci,j=0;

基于公式(2)进行转换,获得问题q1

基于问题q1,将公式(2)转换为公式

基于公式(3)将问题q1转换为问题q2

求解该问题q1和问题q2,获得:参与任务处理的管理雾节点和/或工作雾节点集合c,任务分配相量q,参与任务处理的管理雾节点和/或工作雾节点最优集合c*,任务处理最短处理时间tmin。

优选地,管理雾节点基于该评估结果判断是否接受任务请求;若管理雾节点接受任务请求,管理雾节点向移动终端分配工作域临时ip,从移动终端接收任务数据,并向工作雾节点发送占用请求包括:

通过公式(4)获得分流决策d;

当分流决策d=0时,管理雾节点拒绝任务请求,并将该任务请求发送至云计算中心;

当分流决策d=1时,管理雾节点接收任务请求;

公式(4)中,τmax表示任务处理过程中可容忍的最大时延。

优选地,管理雾节点接收工作雾节点发送的用于更新路由表的节点信息帧的步骤中,节点信息帧包括帧标识、空闲标识、节点id、节点算力、链路代价和保留位,路由表用于记录与该管路雾节点相连接的工作雾节点的ip地址、占用情况、链路代价和该管理雾节点的计算能力。

优选地,管理雾节点接收工作雾节点的确认信息,开始任务处理包括:

管理雾节点接收工作雾节点发送的确认信息;

管理雾节点广播该任务处理所需算法和计算引擎;

管理雾节点开始任务处理。

优选地,还包括:

当移动终端的位置发生改变,管理雾节点监测该移动终端是否跨出通信范围;

当移动终端跨出通信范围,管理雾节点向外部代理发送代理请求信息,管理雾节点接收到外部代理发送的地址,管理雾节点向外部代理发送任务请求。

由上述本发明的实施例提供的技术方案可以看出,本发明提供一种基于移动ip的雾节点自组织协作的方法,是针对雾节点间协作通信的协议,采用移动ip解决移动终端在计算过程中的跨域问题;工作雾节点在开始、结束工作或每隔一定周期t向管理雾节点发送节点信息帧,进行路由表更新;管理雾节点根据任务情况进行任务分流决策,接受任务后根据需要,联合多个工作雾节点构建工作域;管理雾节点(本地代理)构建工作域后监测移动终端位置,移动终端离开子网后,向新进入子网的管理雾节点(外地代理)请求转交地址并向本地代理注册。计算任务结束后,本地代理解除工作雾节点占用,释放工作域并收回为移动终端分配的ip。本发明提供的方法,使参与雾计算的节点之间能够实时组成分布式计算平台,及时适应工作负载的变化,减少计算时延;实现拓扑动态可变的雾节点工作域群组,为终端提供可扩展的计算资源。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种基于移动ip的雾节点自组织协作的方法的处理流程图;

图2为本发明提供的一种基于移动ip的雾节点自组织协作的方法的系统框架图;

图3为本发明提供的一种基于移动ip的雾节点自组织协作的方法的的节点信息帧格式的示意图;

图4为本发明提供的一种基于移动ip的雾节点自组织协作的方法的雾计算网络拓扑图;

图5为本发明提供的一种基于移动ip的雾节点自组织协作的方法的另一种实施例的流程图。

具体实施方式

下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。

为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。

参见图1,本发明提供的一种基于移动ip的雾节点自组织协作的方法,对网段内空闲雾节点进行可用计算资源和链路代价的实时评估,及时对剩余可用计算资源进行统计;根据接收到任务计算复杂度和数据量,分配合适数量的雾节点构成工作域;本方法主要包括节点情况反馈和工作域构建两个部分,包括:

管理雾节点接收工作雾节点发送的用于更新路由表的节点信息帧;

管理雾节点接收移动终端发送的任务请求并基于路由表对该任务请求的所需计算资源进行评估,获得评估结果;

管理雾节点基于该评估结果判断是否接受任务请求;若管理雾节点接受任务请求,管理雾节点向移动终端分配工作域临时ip,从移动终端接收任务数据,并向工作雾节点发送占用请求;

管理雾节点接收工作雾节点的确认信息,开始任务处理;

管理雾节点完成任务处理,解除工作雾节点占用。

在本发明提供的实施例中,雾节点的类型包括:

工作雾节点(wn):提供计算资源并实施计算任务的节点,与管理雾节点相连接,可作为移动终端的网络接入点。具备一定的计算能力、数据收发能力、数据存储能力以及网络通信能力,与管理雾节点通信,报告本节点可用计算资源以及通信链路情况。工作雾节点既可以是具有计算能力的空闲节点,也可以是移动终端接入网络的通信节点;

管理雾节点(mn):用以组织和协调工作雾节点构成工作域,监控一定范围内雾节点的工作状态和连通情况。管理雾节点综合评估接收到任务计算量的大小、工作雾节点的负载情况以及节点间通信情况,决定任务由本地计算或发往云计算中心。

如图2所示,在本雾节点自组织协作框架中,一个管理雾节点与多个工作雾节点组成一个工作域,即子网;如图所示在整个框架中包括了多个子网,每个子网分别与云平台相通信连接,其管理雾节点相互连接;工作雾节点定时向管理雾节点报告当前计算资源剩余情况以及与管理雾节点之间的通信时延。移动终端(me)发送任务请求而构成工作域时,工作域将会为该终端配置临时ip,避免因终端移动而导致通信中断的情况发生;每个子网都是由具有计算资源和算法池的雾节点集群构成,移动终端(me)发送任务请求至本子网内的管理雾节点,在临时构成的工作域中,工作雾节点负责提供计算资源并承担计算工作。子网通过路由器接入互联网并可与商用与计算平台连接。

在本发明提供的实施例中,节点信息帧负责向管理雾节点发送此节点可用计算资源以及动态更新路由,因不包含其他数据信息,单个包数据量很少,以此减少更新节点信息所需占用带宽;

如图3所示,信息帧大小为2个字节(byte),除去4个bit用作保留位,其余位含义如下:

帧标识(f):用于标识当前帧的类型,用作信息帧和其他类型帧的区分。协议中取1bit,即1为信标帧,0为其他帧。

空闲标识(v):代表当前节点是否已被占用,1bit,其中0表示节点空闲,1表示节点占用。

节点id(nodeid):作为自己的地址。该位可根据网络中节点数量做动态调整,本方法中设定节点id为6bit,即最多支持64个节点;

节点算力(c):代表当前节点相对管理雾节点计算能力,4bit,首位表示与管理雾节点相对计算能力,0表示节点算力弱于管理雾节点,1表示算力强于管理雾节点。若首位为0,则后三位表示二进制小数,即最小可表示节点计算能力为管理雾节点1/8,首位为1,后三位表示二进制整数,及最大可表示节点计算能力为管理雾节点7倍;

链路代价(expectedtransmissionexpense,etx):记录发送节点与汇聚节点之间的数据传输代价大小,因构成工作域的工作雾节点与管理雾节点为直连或限制在一定跳数以内,故工作雾节点与管理间丢包率可忽略不计,以时延作为链路代价,设定为16bit。

在本发明提供的实施例中,每个管理雾节点维持一张路由表,记录与其相连工作雾节点的ip地址、占用情况、相应的链路代价以及对应节点的计算能力。其中代价指的是管理雾节点与传输节点之间的传输代价。路由表中节点id和对应的etx值初始化值分别为-1和inf;

路由表按照可用节点链路代价由低到高排序,即传输代价最小的节点为首选节点,其余为候选节点。构成工作域节点的顺序和数量可根据实际需要进行调整,若计算任务要求时延较小且任务需求计算量不高,可根据链路代价选取节点;若计算密集型任务要求时延较为充裕,可综合考虑链路代价和节点算力进行工作域构建。

进一步的,本发明的雾节点协作架构如图3所示,网络中的工作雾节点需要定时向管理雾节点报告当前计算资源剩余情况以及与管理雾节点之间的通信时延。移动终端(me)发送任务请求而构成工作域时,工作域将会为该终端配置临时ip,避免因终端移动而导致通信中断的情况发生;每个子网都是由具有计算资源和算法池的雾节点集群构成,雾节点有两种类型:管理雾节点(mn)、工作雾节点(wn)。移动终端(me)发送任务请求至本子网内的管理雾节点,在临时构成的工作域中,工作雾节点负责提供计算资源并承担计算工作。子网通过路由器接入互联网并可与商用与计算平台连接。

上述的管理雾节点接收移动终端发送的任务请求并基于路由表对该任务请求的所需计算资源进行评估,获得评估结果的步骤包括如下过程:

在移动计算任务的场景下,考虑由k个雾节点(g1,…,gk)组成的雾计算网络,因计算结果需由管理雾节点向移动终端发送,故将其作为簇中心记为g1。将雾节点抽象为带权无向图g=(v,e),其中v={g1,…,gk}为顶点集,e={e1,2,…,ek-1,k}为边集,边ek-1,k表示顶点gk-1与gk之间的通信链路,边的权重代表节点之间的通信时延;图4表示抽象出的无向图(拓扑图);

具体的子步骤为,设每个雾节点的计算能力为ri;

在接收任务后,管理节点根据任务所需计算量配置构成工作域的工作雾节点;

潜在工作域构成后,管理节点将计算量为qtask的目标任务划分为满足分布式计算的若干子任务qi,有并将其分配给工作域内各个节点进行计算;

基于此,整个工作域在处理任务e的耗时可以表示为

(2),其中表示子任务qi的运算耗时,d(ei,j)表示节点gi与gj间的通信时延,ci,j表示节点gi与gj在任务计算期间是否存在通信关系,若两节点间不存在通信关系,则有ci,j=0;根据分布式计算特点可知,任务的计算时延为所有子任务中最大的计算时延,因此该问题转化为问题q1:求一组最优节点集合,使得任务完成时延最小;

由k个雾节点应处理的计算子任务构成k维向量q=[q1,q2,…,qk]t,因子网内的雾节点并非都参与组成工作域,故存在部分节点分配的子任务为0的情况,也即其中θ表示实际参与工作域构成的雾节点;可将任务在雾计算网络中的处理时间t表示为

原问题转化为q2,即求解参与计算的节点集合c以及任务分配向量q;

使用离散粒子群算法对上述问题求解,可得到一组最优的参与任务节点集合c*以及最佳任务分配向量q*,并由此得到计算该任务最短处理时间tmin,即评估结果。

更进一步的,上述的管理雾节点基于该评估结果判断是否接受任务请求;若管理雾节点接受任务请求,管理雾节点向移动终端分配工作域临时ip,从移动终端接收任务数据,并向工作雾节点发送占用请求包括如下过程:

在获得最优的参与任务节点集合以及最佳任务分配向量后,管理雾节点由下式得出任务分流决策d以判断是否接受此计算任务;

其中,τmax表示任务可容忍的最大时延,分流决策d=0表示无法满足任务需求,将该任务转发至云计算中心处理,分流决策d=1表示可以满足任务需求,随即构成工作域,根据c*占用工作雾节点,根据q*对任务进行拆分处理。

进一步的,在一些优选实施例中,上述的管理雾节点接收工作雾节点的确认信息,开始任务处理包括:

管理雾节点接收工作雾节点发送的确认信息;

管理雾节点广播该任务处理所需算法和计算引擎;

管理雾节点开始任务处理;

更进一步的,还包括如下后续过程:

当移动终端的位置发生改变,管理雾节点监测该移动终端是否跨出通信范围;

当移动终端跨出通信范围,管理雾节点向外部代理发送代理请求信息,管理雾节点接收到外部代理发送的地址,管理雾节点向外部代理发送任务请求。

本发明还提供一个实施例,用于示例性地显示本发明提供的自组织协作流程,本发明提供的方法以满足任务计算需求为前提,以减少交付时延、高效为基本要求;由管理雾节点发起占用申请,备选工作雾节点随后根据管理雾节点需求构建分布式计算的工作域;每个工作域包括:

管理雾节点,在整个工作域构建过程中,管理雾节点首先需要对接收到的任务进行评估,管理雾节点评估完成该任务所需的计算资源,并根据其路由表中工作雾节点能够提供的资源接受或拒绝该任务的请求。如果接受此任务,则根据可用的计算资源和网络条件向工作雾节点发送占用请求,同时在工作域内广播任务算法、选择计算引擎;控制节点可以与其他控制节点间通信,以掌握移动终端的位置并发送任务结果。如果拒绝此任务,则将其发送至云计算中心进行处理;

工作雾节点,工作雾节点在接收到工作域构建请求以后,将节点信息帧中空闲标识(v)置1表示已占用,防止节点同时参与多个工作域。工作雾节点为虚拟机分配核心算力以及内存资源并运行spark平台,根据任务所需从本地算法池中调用相应算法;

如图5所示,其流程如下:

每隔周期t,工作雾节点向管理雾节点发送节点信息帧告知自己的信息,发起一轮路由更新过程,管理雾节点在收到其他节点发送的节点信息帧后更新路由表;

节点在收到移动终端的任务请求后转发至管理雾节点,由管理雾节点对任务所需计算资源进行评估,拒绝则发送至云计算中心,接受则向移动终端分配工作域固定ip、接收任务数据并向工作雾节点发送占用请求;

工作雾节点收到占用请求后,将节点信息帧中空闲标识(v)置1表示已被占用,并向管理雾节点发送确认信息;

管理雾节点确认所需工作雾节点就位后在构成分布式计算系统的工作域内广播任务所需算法和计算引擎,开始任务处理;

在计算过程中一旦移动终端位置发生改变,则管理雾节点监测其是否跨出子网范围,并及时更新其通信链路。若移动终端跨出子网范围,则向外地代理发出“代理请求”,获得转交地址后向家乡代理发送“注册请求”并等待“应答报文”;

家乡代理收到移动终端的“注册请求”后更新路由表并返回“应答请求”;

计算结束后,家乡代理通过隧道将结果按照转交地址发送给移动终端,隧道输出端将收到的数据分组拆包后转交给移动终端;

传输完成后,管理雾节点作为家乡代理,释放隧道并释放工作域,解除工作雾节点占用。

在本实施例中,在多个移动传感器或移动终端数据的场景下,与一般的网络数据传输协议相同。即在管理雾节点缓存中维持一个队列,所有任务请求进入队列排队以先进先出的顺序进行处理。若队列溢出,则抛弃新到的任务。在接受任务后返回ack信息,以分配固定ip。此外,为避免信道拥塞,数据传输过程支持csma/ca协议。

综上所述,本发明提供的一种基于移动ip的雾节点自组织协作的方法,用于解决单个雾节点能够提供的计算资源有限,在计算任务加重时,单个工作的雾节点难以达到任务的时延需求,以及在现有的雾计算架构中,如果单个雾节点难以满足计算需求,则会将任务分流至云计算数据中心执行的技术问题;本发明提供的方法是针对雾节点间协作通信的协议,采用移动ip解决移动终端在计算过程中的跨域问题;工作雾节点在开始、结束工作或每隔一定周期t向管理雾节点发送节点信息帧,进行路由表更新;管理雾节点根据任务情况进行任务分流决策,接受任务后根据需要,联合多个工作雾节点构建工作域;管理雾节点(本地代理)构建工作域后监测移动终端位置,移动终端离开子网后,向新进入子网的管理雾节点(外地代理)请求转交地址并向本地代理注册。计算任务结束后,本地代理解除工作雾节点占用,释放工作域并收回为移动终端分配的ip。本发明提供的方法,使参与雾计算的节点之间能够实时组成分布式计算平台,及时适应工作负载的变化,减少计算时延;实现拓扑动态可变的雾节点工作域群组,为终端提供可扩展的计算资源。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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