一种在无服务器边缘网络中的高可用大数据流处理请求放置方法

文档序号:37581981发布日期:2024-04-18 12:05阅读:8来源:国知局
一种在无服务器边缘网络中的高可用大数据流处理请求放置方法

本发明涉及网络服务,尤其涉及一种在无服务器边缘网络中的高可用大数据流处理请求放置方法。


背景技术:

1、在物联网(iot)服务的广泛采用以及对人工智能服务日益依赖的推动下,流处理应用程序在各个领域获得了突出地位,包括金融、电信、医疗保健和物流。这些应用程序需要极低的延迟,以保证及时处理和响应连续流数据,从而做出有效的决策。例如,在金融领域,市场数据流的实时分析对于做出瞬间投资决策至关重要。同时,移动边缘计算(mec)使计算资源更接近网络边缘的数据源,减少数据处理延迟。然而,由于mec网络中的资源高度分布且每个边缘节点的资源有限,传统的mec技术可能无法确保弹性数据流处理以满足用户的高可用性需求。此外,当前的mec平台在虚拟机或容器中执行处理数据流的应用程序,而没有考虑每个应用程序内部功能之间的复杂交互。一旦单个功能出现故障,整个应用程序就会出现故障,从而违反了可用性要求。无服务器边缘计算(sec)集成了边缘计算和无服务器计算,正在成为高可用性和弹性数据流处理的关键推动者。基于功能即服务(faas),无服务器边缘计算抽象了基础设施管理的复杂性,并允许在代码级功能中提供应用程序,从而实现高度可用和弹性的数据流处理。然而,在无服务器边缘计算网络中实现高可用性大数据流处理面临着几个基本挑战:(1)数据流处理应用中的函数之间存在复杂的依赖关系,其中一个函数需要其他函数处理的输入数据来保证其自身数据的正确处理。这种复杂的代码级函数依赖关系,如果处理不当,可能会增加流数据处理的延迟。因此,共同考虑函数的依赖性并通过细致的函数布局来优化数据处理的延迟是具有挑战性的。(2)可靠性是保证数据流处理应用的高可用性和弹性需求的关键因素。例如,在心脏病或呼吸系统疾病的医疗保健应用中,流数据处理的任何失败或延迟都将导致严重后果。无服务器边缘计算网络的高度分布式和资源约束性质需要可用但具有挑战性的功能级方法来保证故障的弹性恢复。(3)用户请求的输入数据速率可能是不可预测的,并且可能随着时间的推移而波动。适应这种动态和不确定性并确保对延迟和弹性需求的影响最小是具有挑战性的。为了应对这些挑战,我们考虑在无服务器边缘计算网络中进行高可用的大流数据处理,在保证可靠性要求的同时最大限度地减少延迟,同时还考虑输入数据速率的不确定性对延迟造成的影响。


技术实现思路

1、为了有效解决在无服务器边缘网络中可用的放置大数据流处理请求的问题,本发明提出了heu算法,可以在满足请求可靠性要求前提下,最小化请求的平均延迟。并提出了一种动态在线算法adj,动态调整已放置的请求实例,以减少未来不确定的输入数据速率对请求延迟的影响。该方法通过在移动边缘云中的5g基站部署微云,将网络服务提供商提供的服务从远程云迁移到用户附近的网络边缘,以减少网络服务的响应延迟,同时使用无服务器函数来提高大数据流处理的可用性和弹性。研究了在无服务器边缘网络中高可用的大数据流处理请求放置的新问题,引入了主-备故障切换机制和机器学习算法来满足用户可靠性要求的同时最小化处理延迟。基于真实数据集的实验表明,有效的解决了高可用大数据流处理在边缘无服务器网络中的放置问题。

2、本发明的技术方案:一种在无服务器边缘网络中的高可用大数据流处理请求放置方法,包括无服务器边缘网络子系统、高可用大数据流处理请求建模子系统、请求放置子系统、在线调整子系统、性能评估子系统和高可用大数据流处理应用子系统;首先使用无服务器边缘网络子系统来构建无服务器边缘计算网络;通过高可用大数据流处理请求建模子系统对用户请求进行建模并满足用户的可靠性要求;高可用大数据流处理请求建模子系统包括大数据流处理请求建模子系统、用户高可用性和弹性需求建模子系统和延迟建模子系统;将构建好的无服务器边缘计算网络和建模好的用户请求传入请求放置子系统,请求放置子系统将用户请求放置在无服务器边缘计算网络中并且满足延迟最低的要求;放置用户请求后,在线调整子系统预测用户请求的输入数据速率,并调整备用算子实例;性能评估子系统负责对本发明提出的算法和目前主流方法进行比较,从请求平均处理延迟、请求可靠性和算法运行时间三个指标进行评估。高可用大数据流处理应用子系统将本发明提出的算法进行整合,可以接受用户的流处理请求,并降低用户请求的平均延迟,同时可以很容易地扩展到移动边缘网络中更复杂的场景。

3、所述无服务器边缘计算网络g=(v,e),由云原生服务提供商提供;无服务器边缘计算网络包括一组为移动用户提供服务的微云v和一组连接微云的链路e;clj表示v中的一个微云,每个微云设有定量的资源c(clj)。

4、所述大数据流处理请求建模子系统中,rm表示用户请求,用户请求rm通过有向无环图dag进行表示,g′m=(v′m,e′m);v′m是用户请求rm的一组算子,e′m表示rm中无服务器函数之间的数据流;每个用户请求均处理连续的数据流,数据流的源头用sm表示,数据流的汇聚点用tm表示;fl表示v′m中的一个算子,用于处理g′m中前置算子传递过来的数据流;设定时间被平均分为若干个相等的时隙,将用户请求rm的数据速率ρm,τ定义为在时隙τ中每单位时间内到达的数据量;设定执行用户请求rm所需的内存资源与其数据速率成正比,rm=γ·ρm,τ,其中γ为处理单位数据速率而分配的内存资源。

5、所述用户高可用性和弹性需求建模子系统采用主-备用故障切换机制;在主-备用故障切换机制中,用户请求rm的算子的一个主实例被放置在一个微云中,该算子的备用实例放置到其他微云中;每个算子在处理数据时产生一些状态数据,当发生故障时,状态数据从主实例传输到备用实例;

6、每个用户请求rm为其有向无环图dag g′m中的每个算子提供nm+1个实例,包括一个主实例和nm个备用实例,nm+1≤|v|;设定pr(fl)是至少有一个fl实例可用的概率,pl是算子fl的故障概率;δm表示用户的可靠性要求,得到,

7、

8、所述请求延迟建模子系统,对每个用户请求rm在时隙τ的请求延迟dm,τ进行建模,包括数据传输延迟和发生故障时从主实例切换到备用实例的恢复延迟具体表示为:

9、

10、所述数据传输延迟具体为:

11、在用户请求rm的有向无环图dag g′m中,存在从源算子sm到汇算子tm的多条执行路径;设p′是g′m中从源算子sm到汇算子tm的执行路径,p′是其中之一执行路径;设p为无服务器边缘计算网络中的一条路径,g′m中的执行路径p′映射到该路径上,并用p表示该路径的集合;设zp′,p,τ为指标变量,表示在时隙τ中,p′∈p′是否映射到p∈p上;用户请求rm在时隙τ中的处理延迟和传输延迟之和为数据传输延迟表示为:

12、

13、其中|p′|是gf的执行路径p′中的算子数,ps是p的其中一段路径,δ(ps)是路径ps的起点,ψ(ps)是ps的终点,用户请求rm中的算子fl在时隙τ中的处理延迟表示;

14、所述处理延迟具体为:

15、用户请求rm算子的处理延迟取决于其输入数据速率和微云分配给算子的内存资源;执行每个算子都需要实例化一个无服务器函数,当没有空闲的无服务器函数时,实例化用户请求rm的算子;处理延迟包括无服务器函数处理数据的时间和冷启动延迟,给定常数表示在clj中实例化算子fl所产生的冷启动延迟,xm,l,j,τ表示用户请求rm的新实例化算子fl在微云clj中是否存在,x′m,l,j,τ表示用户请求rm的算子fl是否在时隙τ中分配给clj现有的无服务器函数;用户请求rm中的算子fl在时隙τ中的处理延迟表示为:

16、

17、其中,αj是一个影响因素,表示微云clj的内存分配对处理延迟的影响,mj是微云clj为处理单位数据速率而分配的内存量;每个算子fl既能够分配给无服务器边缘计算网络中一个微云的现有无服务器函数,又能够分配给一个新创建的无服务器函数,xm,l,j,τ+x′m,l,j,τ≤1;

18、所述恢复延迟具体为:

19、当主算子实例发生故障时,需要切换到备用算子实例,这一过程中的延迟为恢复延迟;设定p′l是有向无环图dag g′m中涉及算子fl的路径;当算子fl切换到备用实例,p′l中的所有执行路径进行改变;在给定路径p′∈p′l的情况下,路径p′中fl的前置算子将处理过的数据流转发到fl备用实例的新微云上;将生成的状态数据转发到备用实例所在的微云上用于以后使用;设定每个无服务器函数为每个算子生成的状态维护一个状态缓冲区;αm为用户请求rm中每个算子的状态缓冲区大小,为在时隙τ中算子切换到不同微云中的备用实例时的恢复延迟,恢复延迟为:

20、

21、其中,yl,τ表示fl是否在时隙τ中切换到新微云中的备用实例,pl,τ是指从时隙τ-1到时隙τ的切换路径;当xm,l,j,τ-1+x′m,l,j,τ-1=1时,则δ(pl,τ)=clj;当xm,l,j,τ+x′m,l,j,τ=1时,则ψ(pl,τ)=clj′。

22、所述请求放置子系统中,通过选择算子备用实例的数量,在每个用户请求的可用性和延迟之间找到平衡;采用二分查找寻找合适值,从而满足可靠性要求,并使用户请求延迟最小化;将备用实例数量用nm表示,并将nm的最小值和最大值分别设为1和k;考虑到在每个时隙τ中,本高可用大数据流处理应用子系统中都有一些已经被放置的请求,跟踪已经被放置的请求在时隙τ-1中的备用实例数量和所经历的延迟;将nm的每个值与拥有nm个备用实例的用户请求所经历的平均延迟相关联,成为<n,d>关联元组;二分查找过程如下,nmin和nmax分别为当前搜索回合的最小值和最大值;nm的值设为首先检查请求的可靠性要求是否满足,不满足时,将nmin设为并执行下一轮搜索;否则,通过以下两种情况检查n在其对应元组中的延迟:情况一,当目前为止没有请求采用该值时,则其延迟d设为nil;调用下一小节的heu算法,对用户请求rm进行预放置获得的延迟会更新到元组中,下一轮搜索继续,nmin=n;情况二,直接从元组中获得平均延迟,当平均延迟小于上一轮获得的延迟,则设置nmin=n,继续下一轮搜索;否则,设置nmax=n,继续下一轮搜索;上述过程一直持续到nmax≤nmin为止,并且将nm设置为n的当前值;

23、设计heu算法,将无服务器边缘计算网络、一组用户请求r、每个用户请求的算子备份实例数作为输入,输出每个请求的算子实例放置情况。

24、所述heu算法分为三个阶段:第一阶段通过对用户请求rm的dag g′m进行拓扑排序,将dag g′m划分为多个分区,每个分区用pq表示;所有分区形成一个序列链,表示分区中算子的执行顺序,称为分区序列,sm;每个分区包括多个算子,并且分区具有dag g′m的不相交算子集;第二阶段将用户请求rm的主算子放入sec网络。对于每个分区pq,我们首先修改sec网络g,对于没有足够计算资源执行pq中算子的微云,用cl′j表示。对于有足够计算资源的其余微云,创建三个虚拟微云,分别用和表示。从到有一条边,这条边的延迟设为还有一条从到的边,其延迟为边表示使用现有的无服务器函数执行pq中的算子;而表示使用新创建的无服务器函数执行。此外,如果g中有一条从clj到clj′的边,那么在辅助图中就有两条边和以及和两条边,这些边的传输延迟与就是sec网络中clj和clj′之间的通信延迟。然后,将修改后网络的节点和边添加到辅助图g″m中。g″m中总共有|sm|层,继续连接辅助图的不同层。总的原则是,从pq分区的虚拟微云和到pq+1分区的微云之间有一条有向边,这条边的传输延迟设为零。然后,在构建的辅助图中添加源节点和汇聚节点。源节点表示数据流的源头,将源节点与第一层的全部虚拟微云相连,其延迟设为用户请求的数据流源头到微云clj的传输延迟。同样,汇聚节点表示处理后的数据流将要进行下一步处理或存储的位置。从最后一层的每个虚拟微云或到汇聚节点之间有一条边,这条边的延迟设为微云clj到请求rm的汇聚节点的传输延迟。通过构造辅助图g″m,寻找从源节点到汇聚节点的最短路径,将每个用户请求rm的分区序列放置到sec网络,其中放置的分区序列中的算子作为主算子;第三阶段放置用户请求rm的备用算子,给定已放置的主算子,为每个主算子放置nm个备用算子;设定分区pq被放入微云clj中,并且其连续分区pq+1位于微云cl′j中;pq的备用分区应该在地理位置上靠近clj和cl′j,防止主算子失败启用备用算子,而备用算子距离较远造成的传输延迟变大;根据微云计算资源情况,修改辅助图g″m中节点的连接情况以及权重,从g″m中找到nm条不相交最短路径;每个路径中的微云为分区pq中的每个算子放置一个备用实例。

25、所述在线调整子系统中,设计adj算法;所述adj算法分为两个阶段:第一阶段为对于每个用户请求rm,使用多时间尺度的长短期记忆网络对其下一时隙的数据速率进行预测,将长短期记忆网络进行分组,每个组选择激活或者不激活,由一个函数进行调控;将长短期记忆网络划分为gm组,每组在给定的时间尺度长度上被激活;每个用户请求rm有多个时间尺度,在每个时间尺度内,其数据速率均发生变化;通过每个时间尺度的平均数据传输率估算所需的组数,其中每个组对应一个时间尺度的长度;将所得组根据最慢到最快进行分类,最慢的分组对应最长的时间尺度;设为用户请求rm目前为止的平均数据传输率;预测用户请求rm数据速率的最大组数为对多时间尺度的长短期记忆网络进行训练,以预测每个用户请求在下一个时隙的数据传输率;用户请求rm的多时间尺度的长短期记忆网络的每个输入都包括其最后个时隙的数据传输率;成为用户请求rm在下一个时隙τ+1中的预测数据传输率,确定后续调整备用算子实例数量的调整率第二阶段为重新放置每个请求的备用实例,并在主实例和备用实例之间切换;在获得和ξm的值后,通过调用算法heu的第三阶段,以的数据传输率,对每个算子的个备用实例进行重新定位并重新分配资源,从主算子切换到其中一个备用实例,之前的主算子当作备用实例,下次更新时会被重新定位、分配,来吸收数据速率变化对处理延迟的影响。

26、本发明的有益效果:本发明研究了在无服务器边缘计算网络中可用的放置大数据流处理请求的问题。分析了大数据流处理请求在无服务器边缘计算网络中的延迟问题和可靠性问题,并提出了高效算法,以在满足用户可靠性要求的同时最小化每个请求所经历的平均延迟。还考虑了请求输入数据速率的不确定性对请求延迟的影响,并设计了在线算法来预测数据速率,同时动态调整备用实例来吸收不确定数据速率带来的延迟影响。实验结果表明,每个用户请求的平均延迟至少比同类研究高出11.6%。

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