一种边缘计算下的复杂事件处理系统部署方法与流程

文档序号:16401431发布日期:2018-12-25 20:08阅读:233来源:国知局
一种边缘计算下的复杂事件处理系统部署方法与流程

本发明涉及一种边缘环境下基于响应时间预测的复杂事件处理部署方法,对代表多个用户的多个处理结构operatorgraph,通过其响应时间预测,部署在一个资源受限的边缘网络中,以获得这些operatorgraph平均响应时间最低的效果。

背景技术

复杂事件处理技术通过处理大量实时数据流来发掘数据中潜在的语义,快速地将用户感兴趣的事件反馈给用户。边缘计算通过将云服务从远程云数据中心推向网络边缘,通过网络边缘的小型基站来提供服务,非常适合复杂事件处理这样的实时数据处理技术。

现有的复杂事件处理框架中,一种用户感兴趣的事件对应着一个被称为operatorgraph的软件核心。每个operatorgraph又由若干个称为operator的处理节点以及其之间的数据流构成。每个operator负责检测用户感兴趣事件的一部分,处理前序operator发送来的事件,产生的结果传输给后续的operator进行处理。要将复杂事件处理部署在资源受限的边缘节点网络中,实质上是在求多个operatorgraph的有向无环图与边缘网络拓扑图的一个映射,使得多个operatorgraph的平均响应时间最小。

在现有的边缘计算部署方案中,通常考虑将应用部署在最近的边缘节点中运行,以达到尽可能小的传输时延以及尽可能小的网络传输量。但是当数据量大幅度增加时,最近的边缘节点可能发生拥塞,无法满足响应时间需求。现有技术中仍然需要解决的问题。一方面,系统无法判断一种部署方式是否会发生拥塞。另一方面,系统无法判断如何部署是最合适的。若集中部署于最近的节点,当数据量增加时,会导致拥塞。若为了避免拥塞,分散地部署又会增加传输时延以及网络传输量,造成系统性能下降。



技术实现要素:

发明目的:为了解决上述问题,本发明提出了一种边缘计算环境下的复杂事件处理部署方法来降低复杂事件处理的operatorgraph的平均响应时间。

本发明监控附近的边缘节点之间的传输速率,边缘节点处理事件的吞吐率,以及各个operatorgraph的事件输入率,作为响应时间计算的参数,来进行多个operatorgraph响应时间预测公式的计算。根据预测的响应时间,选出operatorgraph中的关键路径中未部署的operator。为该operator选出响应时间最小的边缘节点。如此重复直至所有operator均被部署。

技术方案:一种边缘计算下的复杂事件处理部署方法,其步骤包括:

步骤1、多个operatorgraph响应时间预测:通过监控附近的边缘节点之间的传输速率,边缘节点处理事件的吞吐率,以及各个operatorgraph的事件输入率,作为响应时间计算的参数,来进行多个operatorgraph响应时间预测公式的计算;

步骤2、根据步骤1的结果,在一个响应时间最高的operatorgraph,选择从数据源到数据消费者的预测响应时间最高的路径。在此基础上,选择该路径上未被部署的下一个operator;

步骤3、在边缘节点资源受限下的部署方法:监控数据源附近(定义网络h以内的节点称为附近的边缘节点)的满足资源条件的边缘节点作为候选节点。在这些候选节点中,选择作为operator的部署节点的条件是:operator部署在该节点后,其实际响应时间最小;

步骤4、重复步骤1,2、3,直至所有operator都被部署。

进一步的,步骤1中监控方法为:在h跳(通常为2跳)以内的边缘网络环境下,对于一个边缘节点vedge,会定期收集边缘节点之间的传输速率w,边缘节点处理事件的吞吐率λ,以及各个operatorgraph的事件输入率r。其中,对于一个operator的事件输入率,避免由于抖动导致变化过大,采用最近t时间内的平均值。各个operator最近t时间内每秒tk的数据输入量为n(tk)。从而计算出平均事件输入速率

步骤1中响应时间计算方法包括以下步骤:

步骤1.1,计算任意一条从数据源到数据消费者的路径path的网络传输时延d(path)。

若已经决定operatorωi和ωi+1部署在边缘节点vl和vl+1上,则数据在operatorωi和ωi+1之间的传输时延公式为:

公式参数解释:w(vl,vl+1)为节点vl和vl+1之间网络传输速率。

若operatorωi和ωi+1处于待部署状态,则数据在operatorωi和ωi+1之间的传输时延公式为:

公式参数解释:sz表示一个事件包的大小。表示候选边缘节点之间的平均带宽。

对于一条路径上的数据传输时延,可由以下公式预测:

公式参数解释:pn表示在路径path中的从数据源到数据消费者的operator数量。公式中,operator的排序顺序j为从数据源至数据消费者方向。

步骤1.2,计算事件在一条路径中各个operator中的执行时间te(path)。

若已经决定operatorωi部署在边缘节点vl上,则事件在operatorωi中的执行时间可以由以下公式预测:

若operatorωi处于待部署状态,则事件在operatorωi中的执行时间可以由以下公式预测:

公式参数解释:λ(vi)表示边缘节点vl的平均吞吐率。表示候选边缘节点的平均吞吐率。

一条路径中各个operator中的执行时间总和te(path)可由以下公式预测:

步骤1.3,计算事件在一条路径中各个operator中的队列延迟时间tq(path)。由erlang’sc公式,我们可以得知,对于一个边缘节点,其发送拥塞的概率为:

其中,n表示处理单元的数量,u表示事件到达的速率与处理速率的比。

而对于复杂事件处理,处理的瓶颈在于传输速度远远慢于处理速度。导致大量事件在传输队列中等待,而没有被处理。由此可知,一个operatorωi若被部署在边缘节点vl上,队列拥塞概率预测公式为:

其中r(vl,v)为边缘节点vl到边缘节点v的事件产生速率。w(vl,v)为节点vl和v之间网络传输速率。

若operatorωi处于未部署状态,则其队列拥塞概率预测公式为:

公式参数解释:其中n(vi,v)表示边缘节点vi与传输源的边缘节点v之间的通道数量。表示候选边缘节点之间的平均通道数量。为处理单元operatorωi的平均事件输入速率。为边缘网络的平均传输速率。

时间t内的operatorωi的队列时延的预测公式为:

一条路径中各个operator中的队列等待时间总和tq(path)由以下公式预测:

步骤1.4,一条路径上的响应时间总和由以下公式计算:

t(path)=d(path)+te(path)+tq(path)

该公式忽略了传播时延,传播时延的计算公式为:

其中,distance为传输距离,speed为电磁波在通讯线路上的速度。由于在边缘计算条件下,传输距离比较近,而电磁波在通讯线路上的速度接近光速,故在边缘计算环境下,该时延可以忽略。

步骤1.5,一个operatorgraph的响应时间预测公式为各条路径中,响应时间最长那一条。公式为:

其中gcep表示上述operatorgraph。表示该operatorgraph以operator为节点,以数据流为连线的有向无环图结构中,从数据源到数据消费者的所有路径。t(path)表示从数据源到数据消费者响应时间最大的路径。

进一步的,步骤2包括以下步骤:

步骤2.1,选择步骤1的结果,选择响应时间最高的operatorgraph。

步骤2.2,在步骤2.1选择的operatorgraph中,根据计算的各条路径的响应时间,选择响应时间最长的那条路径path。

步骤2.3,在步骤2.2中所选路径中,选择未部署的下一个operator。

进一步,步骤3包括以下步骤:

步骤3.1,监控数据源附近的满足资源条件的边缘节点作为候选节点。换而言之,候选边缘节点的剩余计算资源满足operator运行条件。

步骤3.2,在这些候选节点中,选择作为operator的部署节点的条件是:

operator部署在该节点后,其实际响应时间最小。

有益效果:本发明根据复杂事件处理在边缘计算环境下的特性,来预测响应时间。并根据复杂事件处理响应响应时间的特性,针对限制了operatorgraph整体响应时间的operator进行优先部署,来降低operatorgraph整体响应时间。

附图说明

图1是本发明实施例的场景示意图;

图2、3是本发明实施例的边缘计算下的复杂事件处理部署方法步骤示例图。

具体实施方式

下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

步骤1、多个operatorgraph响应时间预测:通过监控附近的边缘节点之间的传输速率,边缘节点处理事件的吞吐率,以及各个operatorgraph的事件输入率,作为响应时间计算的参数,来进行多个operatorgraph响应时间预测公式的计算;步骤1中监控方法为:在h跳(通常为2跳)以内的小型边缘网络环境下,对于一个边缘节点vedge,会定期收集边缘节点之间的传输速率w,边缘节点处理事件的吞吐率λ,以及各个operatorgraph的事件输入率r。其中,对于一个operator的事件输入率,避免由于抖动导致变化过大,采用最近t时间内的平均值。各个operator最近t时间内每秒tk的数据输入量为n(tk)。从而计算出平均事件输入速率

步骤1中响应时间计算方法包括以下步骤:

步骤1.1,计算任意一条从数据源到数据消费者的路径path的网络传输时延d(path)。

若已经决定operatorωi和ωi+1部署在边缘节点vl和vl+1上,则数据在operatorωi和ωi+1之间的传输时延公式为:

其中,w(vi,vi+1)为节点vi和vi+1之间网络传输速率。

若operatorωi和ωi+1处于待部署状态,则数据在operatorωi和ωi+1之间的传输时延公式为:

公式参数解释:sz表示一个事件包的大小。表示候选边缘节点之间的平均带宽。

对于一条路径上的数据传输时延,可由以下公式预测:

公式参数解释:pn表示在路径path中的从数据源到数据消费者的operator数量。公式中,operator的排序顺序j为从数据源至数据消费者方向。

步骤1.2,计算事件在一条路径中各个operator中的执行时间te(path)。

若已经决定operatorωi部署在边缘节点vl上,则事件在operatorωi中的执行时间可以由以下公式预测:

若operatorωi处于待部署状态,则事件在operatorωi中的执行时间可以由以下公式预测:

公式参数解释:λ(vi)表示边缘节点vi的平均吞吐率。表示候选边缘节点的平均吞吐率。

一条路径中各个operator中的执行时间总和te(path)可由以下公式预测:

步骤1.3,计算事件在一条路径中各个operator中的队列延迟时间tq(path)。由erlang’sc公式,我们可以得知,对于一个边缘节点,其发送拥塞的概率为:

其中,n表示处理单元的数量,u表示事件到达的速率与处理速率的比。

而对于复杂事件处理,处理的瓶颈在于传输速度远远慢于处理速度。导致大量事件在传输队列中等待,而没有被处理。由此可知,一个operatorωi若被部署在边缘节点vl上,队列拥塞概率预测公式为:

参数解释:其中r(vl,v)为边缘节点vl到边缘节点v的事件产生速率。w(vl,v)为节点vl和v之间网络传输速率。

若operatorωi处于未部署状态,则其队列拥塞概率预测公式为:

公式参数解释:其中n(vl,v)表示边缘节点vl与传输源的边缘节点v之间的通道数量。表示候选边缘节点之间的平均通道数量。为处理单元operatorωi的平均事件输入速率。为边缘网络的平均传输速率。

时间t内的operatorωi的队列时延的预测公式为:

一条路径中各个operator中的队列等待时间总和tq(path)由以下公式预测:

步骤1.4,一条路径上的响应时间总和由以下公式计算:

t(path)=d(path)+te(path)+tq(path)

该公式忽略了传播时延,传播时延的计算公式为:

其中,distance为传输距离,speed为电磁波在通讯线路上的速度。由于在边缘计算条件下,传输距离比较近,而电磁波在通讯线路上的速度接近光速,故在边缘计算环境下,该时延可以忽略。

步骤1.5,一个operatorgraph的响应时间预测公式为各条路径中,响应时间最长那一条。公式为:

其中gcep表示上述operatorgraph。表示该operatorgraph以operator为节点,以数据流为连线的有向无环图结构中,从数据源到数据消费者的所有路径。t(path)表示从数据源到数据消费者响应时间最大的路径。

步骤2、根据步骤1的结果,在一个响应时间最高的operatorgraph,选择从数据源到数据消费者的预测响应时间最高的路径。在此基础上,选择该路径上未被部署的下一个operator;

步骤3、在边缘节点资源受限下的部署方法:监控数据源附近(定义网络h跳以内的节点为附近的边缘节点)的满足资源条件的边缘节点作为候选节点。在这些候选节点中,选择作为operator的部署节点的条件是:operator部署在该节点后,其实际响应时间最小;

步骤4、重复步骤1,2、3,直至所有operator都被部署。

如图1所示,以两个operatorgraph部署在4个节点的边缘网络为例说明本发明的使用方法。本例中一共有7个operator,具体如图1中operatorgraphg1和g2所示。

算法具体步骤如图2,图3所示。

图2中,第一轮,由步骤1,预测出各条路径的响应时间,得知operatorgraphg1的响应时间为180ms,operatorgraphg2的响应时间为280ms(由路径中响应时间最高的决定,也即第一条路径)。

由步骤2,operatorgraphg2是响应时间最高的operatorgraph。g2的第一条路径是响应时间最长(280ms)的路径。该路径上第一个operator是未部署的第一个operator。

由步骤3,预测实际部署在各个节点后,边缘节点v0,v1,v2,v3预测的实际响应时间分别为220ms,300ms,270ms,330ms。边缘节点v0是预测实际部署后响应时间最低的边缘节点。故将该operator部署在v0上。

由于operator并未全部部署完。进入第二轮。

由步骤1,重新对operatorgraphg1和g2进行响应时间预测,分别得到响应时间180ms和220ms。

由步骤2,选择了operatorgraphg2(响应时间最长operatorgraph)中的第一条路径(响应时间最长的路径)中,第二个operator(未部署的下一个operator)。

由步骤3,边缘节点v0是预测实际部署后,响应时间最低的边缘节点。将该operator部署在v0后,v0的可用资源全部被占用。

由于operator并未全部部署完,进入第三轮。

由步骤1,重新对operatorgraphg1和g2进行响应时间预测,分别得到响应时间180ms和200ms。

由步骤2,选择了operatorgraphg2(响应时间最长的operatorgraph)中的第二条路径(响应时间最长的路径)中,第一个operator(未部署的下一个operator)。

由步骤3,边缘节点v2是预测实际部署后,除了v0以外,响应时间最低的边缘节点。将该operator部署在v2上。

由于operator并未全部部署完,进入第四轮。

由步骤1,重新对operatorgraphg1和g2进行响应时间预测,分别得到响应时间180ms和175ms。

由步骤2,选择了operatorgraphg1(响应时间最长的operatorgraph)中的第一条路径(响应时间最长的路径)中,第一个operator(未部署的下一个operator)。

由步骤3,边缘节点v1是预测实际部署后,响应时间最低的边缘节点。

由于operator并未全部部署完,进入第五轮。

由图3,进入第五轮,由步骤1,重新对operatorgraphg1和g2进行响应时间预测,分别得到响应时间180ms和175ms。

由步骤2,选择了operatorgraphg1(响应时间最长的operatorgraph)中的第二条路径(响应时间最长的路径)中,第一个operator(未部署的下一个operator)。

由步骤3,边缘节点v1是预测实际部署后,响应时间最低的边缘节点。

由于operator并未全部部署完,进入第六轮。

由步骤1,重新对operatorgraphg1和g2进行响应时间预测,分别得到响应时间170ms和175ms。

由步骤2,选择了operatorgraphg2(响应时间最长的operatorgraph)中的第二条路径(响应时间最长的路径)中,第二个operator(未部署的下一个operator)。

由步骤3,边缘节点v2是预测实际部署后,响应时间最低的边缘节点。

由于operator并未全部部署完,进入第七轮。

由步骤1,重新对operatorgraphg1进行响应时间预测,得到170ms。(g2中的operator已经全部部署完成)

由步骤2,选择了operatorgraphg1中的第二条路径(响应时间最长的路径)中,第二个operator(未部署的下一个operator)。

由步骤3,边缘节点v3是预测实际部署后,响应时间最低的边缘节点。

operator已经全部部署完成,结束算法。

本发明通过当前网络信息,复杂事件处理的信息,基于边缘计算的特点,来对复杂事件处理的响应时间进行预测。利用预测的响应时间,将降低复杂事件处理响应时间的关键operator,优先部署在预测响应时间最低的边缘计算节点中。从而合理地分配边缘节点中的资源,降低了复杂事件处理的响应时间。

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