一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种边缘环境中基于层共享的微服务部署方法及装置

2022-06-11 12:12:27 来源:中国专利 TAG:


1.本发明涉及边缘计算领域,具体涉及边缘环境下基于层共享的微服务部署方法及装 置。


背景技术:

2.随着微服务架构的广泛应用和边缘计算的兴起,为了应对飞速增长的服务和用户需 求,将微服务以容器化的形式部署于边缘环境中成为了更好的选择。与繁重的虚拟机不 同,容器与底层主机共享操作系统内核,可以实现快速部署和低性能开销。容器的另一 个优势是基于容器的微服务具有与虚拟机完全不同的结构。容器镜像是分层结构的,它 将运行时工具、系统工具、库和系统依赖等所需的项目打包在不同的独立层中。因此, 微服务镜像以层的形式存储,不同的镜像可能共享几个共同的基础层。通过这种方式, 只需要在边缘服务器上放置一份共享层,这特别适合资源有限的边缘环境。
3.基于以上优点将微服务以容器的方式部署在边缘服务器上是更好的选择。但是当前 容器的层共享的特点并未得到充分利用,现有工作集中在如何降低边缘服务器的系统存 储资源而忽略了用户请求时延的问题,并且并未考虑到计算资源的分配对用户时延的影 响。不合理的计算资源分配可能会导致高访问量的微服务分配较少的计算资源造成时延 的增加。


技术实现要素:

4.发明目的:针对现有技术的问题,本发明提出一种边缘环境中基于层共享的微服务 部署方法及装置,降低用户请求时延。
5.技术方案:为了实现以上发明目的,本发明的技术方案如下:
6.一种边缘环境中基于层共享的微服务部署方法,包括以下步骤:
7.(1)收集过去t时间段内的用户请求,记录各请求所需访问的微服务信息和边缘 服务器信息;
8.(2)根据采集的信息,计算出使用户请求平均访问时延最小且分配的计算资源最 少的部署决策、请求路由决策和边缘服务器计算资源分配决策,将此三个决策作为结果 输出;
9.(3)根据微服务部署策略、请求调度策略及计算资源分配策略将相应的微服务部 署在边缘服务器上,并为边缘服务器分配计算资源,使得边缘服务器在后续t时间段内 以该微服务部署方式运行。
10.具体地,所述步骤(1)包括:
11.(1.1)采集t时间段内微服务层信息,每台边缘服务器只服务于本地用户请求;
12.(1.2)记录每台边缘服务器上微服务的用户请求访问速率;
13.(1.3)将t时间段的请求信息、微服务信息和边缘服务器信息作为步骤(2)的输 入。
14.进一步地,所述步骤(2)包括:
15.a)根据步骤(1)输入的请求信息、微服务信息和边缘服务器信息初始化微服务部 署决策、请求调度决策和计算资源分配决策;
16.b)迭代微服务集合,每一次迭代从微服务集合中选择一个使时延收益最大且分配 的计算资源最小的微服务,用计算出的结果更新微服务部署决策、请求调度决策和计算 资源分配决策,并将该微服务从微服务集合中删除,其中微服务m的时延收益和分配的 计算资源通过如下方法计算:计算(t1-t2)/fm的最大值,其中t1表示未部署微服务m 的时延,t2表示部署微服务m后的时延,fm表示分配给微服务m的计算资源,记录时 延收益(t1-t2)和分配的计算资源fm并通过分配的计算资源计算出可服务的请求速率;
17.c)重复执行b),直至微服务集合为空时停止迭代,将得到的微服务部署策略、请 求调度策略及计算资源分配策略作为输出。
18.其中,所述步骤b)中未部署该微服务的时延t1=dλm,d为云数据中心处理一个请 求的时延,λm表示边缘服务器接收到的关于所有用户给微服务m发送的请求速率之和。
19.其中,所述步骤b)中部署该微服务后的时延fm表示完成微服务m的请求所需 的计算资源。
20.其中,所述步骤b)中通过分配的计算资源计算出可服务的请求速率算式如下:fm表示完成微服务m的请求所需的计算资源。
21.一种边缘环境中基于层共享的微服务部署装置,包括:
22.信息采集模块,收集过去t时间段内的用户请求,记录各请求所需访问的微服务信 息和边缘服务器信息;
23.部署决策计算模块,根据采集的信息,计算出使用户请求平均访问时延最小且分配 的计算资源最少的部署决策、请求路由决策和边缘服务器计算资源分配决策,将此三个 决策作为结果输出;
24.部署决策执行模块,根据微服务部署策略、请求调度策略及计算资源分配策略将相 应的微服务部署在边缘服务器上,并为边缘服务器分配计算资源,使得边缘服务器在后 续t时间段内以该微服务部署方式运行。
25.一种计算机设备,其特征在于,包括:
26.存储器,存储有一个或多个计算机程序,所述一个或多个计算机程序被一个或多个 处理器执行时,致使所述一个或多个处理器执行如上所述的边缘环境中基于层共享的微 服务部署方法的步骤。
27.有益效果:在基于容器的微服务部署中,镜像的层共享的特点并未得到有效利用, 本发明将基于容器的微服务镜像的层共享的特点应用到边缘环境下的微服务部署中,并 根据用户请求和微服务等信息进行计算资源分配和请求调度,在充分利用边缘服务器的 存储资源和计算资源的同时,最小化用户请求平均访问时延。
附图说明
28.图1是根据本发明的微服务部署场景图;
29.图2是根据本发明的微服务部署时机图;
30.图3是根据本发明的微服务部署方法流程图;
31.图4是根据本发明的层感知迭代贪婪算法流程图。
具体实施方式
32.下面结合附图对本发明的技术方案作进一步说明。
33.基于容器的微服务在运行时,以容器镜像形式封装的微服务可能会在本地存储方面 产生巨大的开销。鉴于边缘设备存储资源和计算资源有限的问题,为了提高微服务的服 务质量,尽量减少这种开销是至关重要的。在基于容器的微服务中,有一个明显特征是, 微服务镜像是分层结构的,相同的层可以在微服务间共享。本发明通过利用容器的层共 享的特点,并根据用户请求和微服务等信息进行计算资源分配和请求调度,在充分利用 边缘服务器的存储资源和计算资源的同时,最小化用户请求平均访问时延。本发明设计 了一种启发式的层感知迭代贪婪算法,以寻求近似最优解。
34.图1为本发明的微服务部署场景,该场景由三部分组成,云数据中心、边缘服务器 和用户,其中云数据中心运行了所有的微服务。为了缓解云数据中心的负载和降低用户 访问的时延,在边缘服务器的能力范围内,将云数据中心的微服务下放到边缘服务器上, 用户可以通过连接到边缘服务器与微服务交互。本发明中每个边缘服务器互相独立,只 服务本地的用户请求,当边缘服务器覆盖区域内的用户给一个微服务发送服务请求时, 首先连接到本地服务器,若该微服务存在于本地服务器上,则由该服务器处理,若该服 务器上没有用户所要访问的微服务,则由本地服务器将请求转发云数据中心,由云处理, 同时相应的访问延迟会大幅提高。
35.图2表示了何时进行微服务部署策略的更替。考虑到随着时间变化,用户请求所访 问的微服务以及用户接入的边缘服务器都会随之变化,之前的部署策略在现在可能并不 适用,因此需要对微服务的部署策略进行调整。本发明将时间划分为多个大小相同的时 段t,在每个时段t的开始做出微服务部署决策、请求调度决策和计算资源分配决策, 本发明考虑一台边缘服务器的部署,其中微服务部署决策为选择哪一个微服务放置在本 地边缘服务器上,请求调度决策为边缘服务器可处理的关于微服务m的请求率,超出的 请求率由云数据中心处理,计算资源分配决策为边缘服务器分配给微服务m的计算资源。 在该时段t内边缘服务器将以该决策运行。决策的制定是由上一时段的用户请求等信息 所计算得到,因此在每一个时段都会记录用户的请求信息,用作下一次策略的制定。
36.本发明的目标是最小化用户请求平均访问时延,并同时进行边缘服务器的计算资源 的分配和用户请求调度,其中用户请求平均时延由请求排队时延、计算时延和云上处理 时延组成,如下式(1)所示:
[0037][0038]
其中λm表示边缘服务器接收到的关于所有用户给微服务m发送的请求速率之和, λm表示边缘服务器实际可处理的关于微服务m的请求速率,fm表示分配给微服务m的 计算资
源,fm表示一个微服务m的请求在一秒内完成所需的计算资源,d为云数据中 心处理一个请求的时延,m表示待部署的微服务集合。
[0039]
假设一个微服务m已经放置在服务器上,令:
[0040][0041]
表示当分配的计算资源为fm,由服务器处理的关于微服务m的请求速率为λm时的 关于微服务m的请求的总时延。
[0042]
首先假设微服务的计算资源fm已经分配好,通过求解公式(2)的最小值即可获得 使用户请求时延最小的请求率λm,如下公式(3)所示:
[0043][0044]
将其代入公式(2)便可得到关于微服务m的请求的最小总时延:
[0045][0046]
此时只需要求解对应的分配的计算资源fm。同时该微服务部署问题可被转换成一个 多维背包问题,存储资源视为权重,计算资源视为体积,收益为不部署该微服务的时延 和部署该微服务的时延的差。为了在最大化收益的同时最小化分配的计算资源,定义一 个评价指标,如下式(5)所示:
[0047][0048]
通过求解该函数的最大值获得使收益最大的最少分配的计算资源fm,将该计算资源 fm代入公式(3)中求得可服务的请求率λm。
[0049]
图3示出了根据本发明的微服务部署方法流程图,包括以下步骤:
[0050]
(1)收集过去t时间段内的用户请求,记录各请求所需访问的微服务信息和边缘 服务器信息;
[0051]
(2)根据采集的信息,计算出使用户请求平均访问时延最小且分配的计算资源最 少的部署决策、请求路由决策和边缘服务器计算资源分配决策,将此三个决策作为结果 输出;
[0052]
(3)根据微服务部署策略、请求调度策略及计算资源分配策略将相应的微服务部 署在边缘服务器上,并为边缘服务器分配计算资源,使得边缘服务器在后续t时间段内 以该微服务部署方式运行。
[0053]
在步骤(1)中,具体按照以下步骤来实施:
[0054]
(1.1)采集t时间段内微服务信息,微服务信息包含用户请求所访问的微服务、 该
微服务的一个请求在一秒内完成最少需要的计算资源、微服务由哪些层组成以及每一 层的大小,每台边缘服务器只服务于本地用户请求;
[0055]
(1.2)记录每台边缘服务器上微服务的用户请求访问速率;
[0056]
(1.3)将t时间段的请求信息、微服务信息和边缘服务器信息作为步骤(2)的输 入。其中请求信息为服务器在什么时候接收到了哪个用户发来的请求哪个微服务服务的 请求,微服务信息为用户所访问的微服务、微服务由哪些层组成、每一层的大小以及处 理该微服务的一个请求在一秒内完成所需要的计算资源,边缘服务器信息为边缘服务器 拥有的存储资源和计算资源。
[0057]
在步骤(2)中,本发明提出了一种启发式迭代贪婪算法,以尽量接近最优解。图4 为本发明制定的算法流程图,算法伪代码如下:
[0058][0059]
该算法流程为:
[0060]
1)根据输入的请求信息、微服务信息和边缘服务器信息初始化微服务部署决策、 请求调度决策和计算资源分配决策,将这些决策置为0;
[0061]
2)迭代微服务集合,每一次迭代从微服务集合中选择一个使时延收益最大且分配 的计算资源最小的微服务,在选择一个微服务时首先要判断服务器的剩余存储 资源是否充足,由于考虑了层共享,不同微服务间的一些相同层可以共享,微 服务占用的存储空间为尚未放置的相关层的大小之和。如果本轮迭代未找到一 个可用的微服务则将微服务集合置为空集,否则用计算出的结果更新微服务部 署决策、请求调度决策和计算资源分配决策,并将该微服务从微服务集合中删 除。
[0062]
3)重复执行步骤2),直至微服务集合为空集时停止迭代,并将得到的微服务部署 策略、请求调度策略及计算资源分配策略作为输出。
[0063]
最后通过输出的微服务部署策略、请求调度策略及计算资源分配策略在边缘服务器 上放置微服务。在之后的t时间段内将以此策略运行,请求到达时,首先由本地边缘服 务器处理,若本地边缘服务器上没有该微服务或请求速率超过该微服务所能满足的请求 速率则将该请求转发到云数据中心处理。并在每个时间段记录每一个微服务的用户访问 请求,用作下一次部署策略的计算。
[0064]
根据本发明的另一实施例,提供一种边缘环境中基于层共享的微服务部署装置,包 括:
[0065]
信息采集模块,收集过去t时间段内的用户请求,记录各请求所需访问的微服务信 息和边缘服务器信息;
[0066]
部署决策计算模块,根据采集的信息,计算出使用户请求平均访问时延最小且分配 的计算资源最少的部署决策、请求路由决策和边缘服务器计算资源分配决策,将此三个 决策作为结果输出;
[0067]
部署决策执行模块,根据微服务部署策略、请求调度策略及计算资源分配策略将相 应的微服务部署在边缘服务器上,并为边缘服务器分配计算资源,使得边缘服务器在后 续t时间段内以该微服务部署方式运行。
[0068]
应理解,本发明实施例中所提及的微服务部署装置可以实现上述方法实施例中的全 部的技术方案,其各个功能模块的功能能够根据上述方法实施例中的方法具体实现,其 具体实现过程可参照上述实施例中的相关描述,此处不再赘述。
[0069]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序 产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面 的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的 计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的 计算机程序产品的形式。
[0070]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一 流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机 程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理 器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产 生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功 能的装置。
[0071]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定 方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。
[0072]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算 机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框
图 一个方框或多个方框中指定的功能的步骤。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献