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

微服务的动态编排优化方法

2022-06-01 05:35:20 来源:中国专利 TAG:


1.本技术涉及微服务架构技术领域,尤其是涉及到一种微服务的动态编排优化方法及装置、存储介质、计算机设备。


背景技术:

2.微服务是一种新兴的软件开发架构,可以为智能工厂的边缘侧数据集成提供更好的技术支持。通过对现实生产过程建立opc-ua信息模型,企业的上层系统如mes系统等可以获取不同的数据服务,例如获取设备的状态信息、产品的质量信息、生产的实时进度等,从而完成相应的业务请求。然而,在生产制造的过程中,每种上层应用可能需要以一定的流程访问多种不同的数据服务,且不同应用需要的服务可能并不相同,因此将opc-ua信息模型对外提供的服务拆分为不同的微服务成为了一种灵活且高效的手段。微服务独立地部署在边缘节点中,不同的微服务以一定的拓扑结构相互组合形成相应的数据服务应用。每个数据服务应用中的微服务执行完成后可以直接调用其后继微服务,应用在运行结束后将整合的数据返回上层系统。
3.不同于单体式架构,微服务将一个应用程序拆分成多个不同的小服务单元,每个单元负责一个业务功能。并且,微服务架构的内部结构更为复杂,不同微服务间能够相互协调、相互影响。微服务架构解决了单体式架构扩展性和维护性差的问题,但是与单体式架构相比,微服务的通信时延会受到较大的影响。因此通过对微服务的编排进行优化可以有效地降低时延,提升服务质量与制造系统的运行效率。目前的相关技术研究大多没有对运行时延这一工业制造系统中的重要指标进行考虑。因此,本专利针对智能工厂边缘侧,以最小化多种应用的单次运行时延加权和为目标,在多种资源约束下探究微服务在边缘服务器的最优部署策略。


技术实现要素:

4.有鉴于此,本技术提供了一种微服务的动态编排优化方法及装置、存储介质、计算机设备,
5.根据本技术的一个方面,提供了一种微服务的动态编排优化方法,所述方法包括:
6.步骤1,确定微服务构成的第一集合i,并获取所述微服务的微服务基本信息;
7.步骤2,确定边缘服务器构成的第二集合j,并获取所述边缘服务器的服务器基本信息;
8.步骤3,确定应用构成的第三集合l,并获取所述应用的应用基本信息,其中,所述应用由不同的所述微服务相互组合而成;
9.步骤4,设置决策变量,并建立微服务部署模型;
10.步骤5,通过变邻域搜索算法,根据所述第一集合i、所述微服务基本信息、所述第二集合j、所述服务器基本信息、所述第三集合l、所述应用基本信息和所述决策变量,对所述微服务部署模型求解,确定微服务部署决策。
11.可选地,所述微服务基本信息包括微服务i的计算速度ci和所述微服务i的内存资源zi,其中,i∈i。
12.可选地,所述服务器基本信息包括所述第二集合j中的边缘服务器j的核心数nj、所述边缘服务器j的总体内存资源rj、所述边缘服务器j的核心的计算速度fj和所述边缘服务器j与边缘服务器k之间的数据传输速率b
jk
,其中,k≠j且k、j∈j。
13.可选地,所述应用基本信息包括应用l的拓扑结构g
l
,其中,g
l
=(v
l
,a
l
)为有向无环图且l∈l;v
l
为顶点集且其表示所述应用l单次运行需要用到的所述微服务的集合,在v
l
中每个所述微服务均为所述有向无环图中的一个顶点;a
l
为弧集,其表示所述应用l单次运行需要用到的所述微服务之间的依赖关系的集合,(m,n)∈a
l
表示顶点n对应的所述微服务只能在顶点m对应的所述微服务完成后运行,其中m、n∈v
l

14.所述应用基本信息还包括所述应用l单次运行的过程中所述顶点m对应的所述微服务的计算量d
lm

15.所述应用基本信息还包括所述应用l单次运行的过程中所述顶点m对应的所述微服务执行完成后传向顶点n对应的所述微服务的数据量w
lmn

16.所述应用基本信息还包括所述应用l的请求的平均到达率λ
l

17.可选地,所述决策变量的具体含义为:
[0018][0019]
其中i∈i且j∈j;;
[0020]
所述微服务部署模型的目标函数为
[0021][0022]
其中,t
l
为所述应用l的单次运行时延;λh为应用h的请求的平均到达率,其中h、l∈l;
[0023]
所述微服务部署模型的约束条件如下:
[0024][0025][0026][0027][0028][0029]
可选地,所述t
l
的具体计算过程为:
[0030]
定义τ
ln
为从所述应用l开始运行到所述顶点n对应的所述微服务执行完成所需的
时间,所述τ
ln
的具体含义为:
[0031][0032]
其中,s
l
为g
l
中入度为零的所述顶点构成的集合;为所述顶点n对应的所述微服务的运行时延;为所述顶点m到所述顶点n的数据传输时延;为从所述应用l开始运行至所述顶点n对应的所述微服务的所有前驱微服务将数据传输至所述顶点n对应的所述微服务所需的时间;d
ln
为所述应用l单次运行的过程中所述顶点n对应的所述微服务的计算量;
[0033]
对所述g
l
中的所有所述顶点进行拓扑排序,并按照排序后的顺序依次计算每个所述顶点的完成时间τ
ln
,所述应用l的单次运行时延为
[0034][0035]
其中d
l
为所述g
l
中出度为零的所述顶点构成的集合。根据本技术的另一方面,提供了一种微服务的动态编排优化装置,其特征在于,所述装置包括:
[0036]
微服务模块,用于确定微服务构成的第一集合i,并获取所述微服务的微服务基本信息;
[0037]
边缘服务器模块,用于确定边缘服务器构成的第二集合j,并获取所述边缘服务器的服务器基本信息;
[0038]
应用模块,用于确定应用构成的第三集合l,并获取所述应用的应用基本信息,其中,所述应用由不同的所述微服务相互组合而成;
[0039]
模型构建模块,用于设置决策变量,并建立微服务部署模型;
[0040]
决策模块,用于通过变邻域搜索算法,根据所述第一集合i、所述微服务基本信息、所述第二集合j、所述服务器基本信息、所述第三集合l、所述应用基本信息和所述决策变量,对所述微服务部署模型求解,确定微服务部署决策。
[0041]
根据本技术的再一方面,提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述微服务的动态编排优化方法。
[0042]
根据本技术又一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述微服务的动态编排优化方法。
[0043]
借由上述技术方案,本技术提供的一种微服务的动态编排优化方法及装置、存储介质、计算机设备,本技术考虑了微服务之间复杂的调用关系,可以在存在多种拓扑结构的情况下得到微服务的最优部署决策,还考虑了不同应用请求的到达率,以优化应用的运行时延加权和为目标建立了多种资源约束下的微服务部署模型,可以降低边缘侧数据集成系
统的响应时间,另外本发明还通过设计高效的变邻域搜索算法求解微服务部署模型,从而可以在较短时间内求解得到高质量的部署决策。
[0044]
上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
[0045]
此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
[0046]
图1示出了本技术实施例提供的一种微服务的动态编排优化方法的流程示意图;
[0047]
图2示出了本技术实施例中微服务在边缘服务器中的部署方案的示意图;
[0048]
图3示出了本技术实施例中应用拓扑结构的示意图;
[0049]
图4示出了本技术实施例中变邻域搜索算法的流程图;
[0050]
图5示出了本技术实施例中小规模算例应用拓扑结构的示意图;
[0051]
图6示出了本技术实施例中大规模算例应用拓扑结构的示意图;
[0052]
图7示出了本技术实施例提供的一种微服务的动态编排优化装置的结构示意图。
具体实施方式
[0053]
下文中将参考附图并结合实施例来详细说明本技术。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
[0054]
在本实施例中提供了一种微服务的动态编排优化方法,如图1所示,该方法包括:
[0055]
步骤1,确定微服务构成的第一集合i,并获取所述微服务的微服务基本信息;
[0056]
步骤2,确定边缘服务器构成的第二集合j,并获取所述边缘服务器的服务器基本信息;
[0057]
步骤3,确定应用构成的第三集合l,并获取所述应用的应用基本信息,其中,所述应用由不同的所述微服务相互组合而成;
[0058]
步骤4,设置决策变量,并建立微服务部署模型;
[0059]
步骤5,通过变邻域搜索算法,根据所述第一集合i、所述微服务基本信息、所述第二集合j、所述服务器基本信息、所述第三集合l、所述应用基本信息和所述决策变量,对所述微服务部署模型求解,确定微服务部署决策。
[0060]
在该实施例中,微服务由一个实际生产过程中的opc-ua信息模型划分而成,每个微服务代表一种具体的数据服务。每个微服务在一个进程中运行,可以分别独立地部署在docker容器内。不同的微服务通过轻量级的通信协议相互组织与协调,共同完成复杂的业务逻辑。确定需要部署的微服务构成的第一集合i,并获取这些微服务的微服务基本信息。
[0061]
可选地,步骤1具体还包括:所述微服务基本信息包括微服务i的计算速度ci和所述微服务i的内存资源zi,其中,i∈i。
[0062]
在该实施例中,进一步的,确定可用的边缘服务器构成的第二集合j,并获取服务器基本信息。为每个需要部署的微服务分配一个边缘服务器的核心,则一个边缘服务器上最多可以部署微服务的数量等于边缘服务器的核心数。此外,每个微服务只部署在一个边
缘服务器上且只部署一个实例。在该实施例中,微服务在边缘服务器中的部署方案示例如图2所示。
[0063]
可选地,步骤2具体还包括:所述服务器基本信息包括所述第二集合j中的边缘服务器j的核心数nj、所述边缘服务器j的总体内存资源rj、所述边缘服务器j的核心的计算速度fj和所述边缘服务器j与边缘服务器k之间的数据传输速率b
jk
,其中,k≠j且k、j∈j。
[0064]
在该实施例中,进一步的,确定应用构成的集合以及每个应用的应用基本信息。每个应用由不同微服务相互组合而成,每个应用可以提供一种与单个微服务相比更为粗粒度的服务,以供制造企业的上层系统访问。此外,所有应用的请求按照先到先执行的规则依次执行。本实施例中,应用的拓扑结构示例如图3所示。
[0065]
可选地,步骤3具体还包括:所述应用基本信息包括应用l的拓扑结构g
l
,其中,g
l
=(v
l
,a
l
),g
l
为有向无环图且l∈l;v
l
为顶点集且其表示所述应用l单次运行需要用到的所述微服务的集合,在v
l
中每个所述微服务均为所述有向无环图中的一个顶点;a
l
为弧集,其表示所述应用l单次运行需要用到的所述微服务之间的依赖关系的集合,(m,n)∈a
l
表示顶点n对应的所述微服务只能在顶点m对应的所述微服务完成后运行,其中m、n∈v
l

[0066]
所述应用基本信息还包括所述应用l单次运行的过程中所述顶点m对应的所述微服务的计算量d
lm

[0067]
所述应用基本信息还包括所述应用l单次运行的过程中所述顶点m对应的所述微服务执行完成后传向所述顶点n对应的所述微服务的数据量w
lmn

[0068]
所述应用基本信息还包括所述应用l的请求的平均到达率λ
l

[0069]
在该实施例中,进一步的,设置决策变量并建立微服务部署0-1整数规划模型。
[0070]
可选地,所述决策变量的具体含义为:
[0071][0072]
其中i∈i且j∈j;
[0073]
所述微服务部署模型的目标函数为
[0074][0075]
其中,t
l
为所述应用l的单次运行时延;λh为应用h的请求的平均到达率,其中h、l∈l。
[0076]
所述微服务部署模型的约束条件如下:
[0077][0078][0079]
[0080][0081][0082]
其中,约束(1)表示任一微服务i需求的计算速度不超过其对应部署的边缘服务器的计算速度,约束(2)表示任一边缘服务器j的内存资源不低于部署在其上的微服务需求的内存资源之和,约束(3)表示部署在任一边缘服务器j上的微服务数量不超过其最大可部署的微服务数量,约束(4)表示每个微服务只部署在一个边缘服务器上,约束(5)表示决策变量的取值范围。
[0083]
此外,同一边缘服务器上的微服务之间的通信时间不计。
[0084]
可选地,步骤4具体还包括所述t
l
的具体计算过程:
[0085]
定义τ
ln
为从所述应用l开始运行到所述顶点n对应的所述微服务执行完成所需的时间,所述τ
ln
的具体含义为:
[0086][0087]
其中,s
l
为g
l
中入度为零的所述顶点构成的集合;为所述顶点n对应的所述微服务的运行时延;为所述顶点m到所述顶点n的数据传输时延;为从所述应用l开始运行至所述顶点n对应的所述微服务的所有前驱微服务将数据传输至所述顶点n对应的所述微服务所需的时间;d
ln
为所述应用l单次运行的过程中所述顶点n对应的所述微服务的计算量;
[0088][0089][0090][0091]
对所述g
l
中的所有所述顶点进行拓扑排序,并按照排序后的顺序依次计算每个所述顶点的完成时间τ
ln
,所述应用l的单次运行时延为
[0092][0093]
其中d
l
为所述g
l
中出度为零的所述顶点构成的集合。
[0094]
在该实施例中,进一步的,由于上述微服务部署0-1整数规划模型难以使用优化软
件精确求解,通过设计变邻域搜索算法对该模型进行求解。变邻域搜索算法使用swap邻域结构和move邻域结构。在变邻域搜索算法的每次迭代中,首先基于swap邻域结构对当前解的部分邻域进行搜索,若未得到更好的解则换用move邻域结构对当前解的部分邻域进行搜索,重复此搜索策略直到算法达到最大迭代次数。
[0095]
变邻域搜索算法如图4所示,其具体流程如下:
[0096]
s1:使用自然数编码的方式对所有微服务的部署进行编码。编码长度为微服务的个数,每个位置代表一个微服务,每个位置上的元素代表对应微服务部署到的边缘服务器序号。
[0097]
在该实施例中,具体的编码示例如下:
[0098]
当有5个微服务和4个边缘服务器时,微服务的部署情况可以编码为:
[0099]
x=(1,2,1,3,4)
[0100]
x=(1,2,1,3,4)的含义为:微服务1和3部署在边缘服务器1上,微服务2部署在边缘服务器2上,微服务4部署在边缘服务器3上,微服务5部署在边缘服务器4上。
[0101]
s2:生成微服务部署0-1整数规划模型的初始解并将其记为当前解。已知微服务的集合为i,边缘服务器的集合为j,初始解生成过程如下:
[0102]
s2.1:将i中对计算速度要求最高的微服务分配给可用的边缘服务器中计算速度最大的边缘服务器,并对i与j进行更新。
[0103]
s2.2:若集合i为空,则初始解生成算法结束;否则,执行s2.1。
[0104]
s3:定义解的邻域结构。共考虑两种邻域结构:
[0105]
swap:任选两个部署在不同的边缘服务器上的微服务,并交换这两个微服务的部署位置;
[0106]
move:任选一个微服务并将其移动到任意一个其他的边缘服务器上。
[0107]
例如,对于x=(1,2,1,3,4)而言,其swap邻域结构其中的一个解可以编码为(2,1,1,3,4),表示交换微服务1和微服务2的部署位置;其move邻域结构中的一个解可以编码为(1,1,1,3,4),表示将微服务2从边缘服务器2移动到了边缘服务器1上。
[0108]
s4:定义每个邻域结构的邻域解生成规则。
[0109]
swap邻域结构的邻域解生成规则为:随机选择两个微服务,若它们在当前解中的部署位置不同则交换它们的位置得到一个邻域解,重复上述步骤直至生成h个解。
[0110]
move邻域结构的邻域解生成规则为:选择一个边缘服务器,将当前解中每个未部署在此边缘服务器上的微服务分别移动其上生成一组邻域解。其中,边缘服务器的选择方式为:若当前解未使用过move邻域进行搜索,则选择计算速度最高的边缘服务器;否则,在计算速度非最高的边缘服务器中随机选择。
[0111]
s5:令当前迭代次数κ与当前使用的邻域结构索引y取值为1。
[0112]
s6:邻域解生成。若y=1,则使用swap邻域结构与其邻域解生成规则生成当前解的多个邻域解;若y=2,则使用move邻域结构与其邻域解生成规则生成当前解的多个邻域解。
[0113]
s7:若生成的邻域解中目标值最低的可行解优于当前解,则用其替换当前解;否则,令y=y 1。
[0114]
s8:若y大于s3所述的邻域结构数量,令κ=κ 1,执行s9;否则,执行s6。
[0115]
s9:若κ大于最大迭代次数n
iter
,算法求解结束,对当前解进行解码,输出每个微服
务的部署位置;若否,令y=1,执行s6。
[0116]
在本实施例中提供了一种微服务的动态编排优化装置,如图7所示,所述装置包括:
[0117]
微服务模块,用于确定微服务构成的第一集合i,并获取所述微服务的微服务基本信息;
[0118]
边缘服务器模块,用于确定边缘服务器构成的第二集合j,并获取所述边缘服务器的服务器基本信息;
[0119]
应用模块,用于确定应用构成的第三集合l,并获取所述应用的应用基本信息,其中,所述应用由不同的所述微服务相互组合而成;
[0120]
模型构建模块,用于设置决策变量,并建立微服务部署模型;
[0121]
决策模块,用于通过变邻域搜索算法,根据所述第一集合i、所述微服务基本信息、所述第二集合j、所述服务器基本信息、所述第三集合l、所述应用基本信息和所述决策变量,对所述微服务部署模型求解,确定微服务部署决策。
[0122]
在本技术实施例中,可选地,微服务模块还用于获取所述微服务基本信息,包括微服务i的计算速度ci和所述微服务i的内存资源zi,其中,i∈i。
[0123]
在本技术实施例中,可选地,边缘服务器模块还用于获取所述服务器基本信息,包括所述第二集合j中的边缘服务器j的核心数nj、所述边缘服务器j的总体内存资源rj、所述边缘服务器j的核心的计算速度fj和所述边缘服务器j与边缘服务器k之间的数据传输速率b
jk
,其中,k≠j且k、j∈j。
[0124]
在本技术实施例中,可选地,应用模块还用于获取所述应用基本信息,包括应用l的拓扑结构g
l
,其中,g
l
=(v
l
,a
l
),g
l
为有向无环图且l∈l;v
l
为顶点集且其表示所述应用l单次运行需要用到的所述微服务的集合,在v
l
中每个所述微服务均为所述有向无环图中的一个顶点;a
l
为弧集,其表示所述应用l单次运行需要用到的所述微服务之间的依赖关系的集合,(m,n)∈a
l
表示顶点n对应的所述微服务只能在顶点m对应的所述微服务完成后运行,其中m、n∈v
l

[0125]
所述应用基本信息还包括所述应用l单次运行的过程中所述顶点m对应的所述微服务的计算量d
lm

[0126]
所述应用基本信息还包括所述应用l单次运行的过程中所述顶点m对应的所述微服务执行完成后传向所述顶点n对应的所述微服务的数据量w
lmn

[0127]
所述应用基本信息还包括所述应用l的请求的平均到达率λ
l

[0128]
在本技术实施例中,可选地,模型构建模块还包含所述决策变量的具体含义:
[0129][0130]
其中i∈i且j∈j;
[0131]
所述微服务部署模型的目标函数为
[0132][0133]
其中,t
l
为所述应用l的单次运行时延;λh为应用h的请求的平均到达率,其中h、l∈
l;
[0134]
所述微服务部署模型的约束条件如下:
[0135][0136][0137][0138][0139][0140]
在本技术实施例中,可选地,决策模块还包含所述t
l
的具体计算过程:
[0141]
定义τ
ln
为从所述应用l开始运行到所述顶点n对应的所述微服务执行完成所需的时间,所述τ
ln
的具体含义为:
[0142][0143]
其中,s
l
为g
l
中入度为零的所述顶点构成的集合;为所述顶点n对应的所述微服务的运行时延;为所述顶点m到所述顶点n的数据传输时延;为从所述应用l开始运行至所述顶点n对应的所述微服务的所有前驱微服务将数据传输至所述顶点n对应的所述微服务所需的时间;d
ln
为所述应用l单次运行的过程中所述顶点n对应的所述微服务的计算量;
[0144]
对所述g
l
中的所有所述顶点进行拓扑排序,并按照排序后的顺序依次计算每个所述顶点的完成时间τ
ln
,所述应用l的单次运行时延为
[0145][0146]
其中d
l
为所述g
l
中出度为零的所述顶点构成的集合。
[0147]
基于上述如图1所示方法,相应的,本技术实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1所示的微服务的动态编排优化。
[0148]
基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个
实施场景所述的方法。
[0149]
基于上述如图1所示的方法,为了实现上述目的,本技术实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1所示的微服务的动态编排优化方法。
[0150]
可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(radio frequency,rf)电路,传感器、音频电路、wi-fi模块等等。用户接口可以包括显示屏(display)、输入单元比如键盘(keyboard)等,可选用户接口还可以包括usb接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、wi-fi接口)等。
[0151]
以一条生产线为例设计小规模算例对该实施例进行说明。生产线各生产流程由一个机械臂进行衔接,对生产线建立opc-ua信息模型并将其划分为多个不同的微服务,各个微服务的信息如表1所示。边缘服务器的数量为5,边缘服务器的计算速度、存储容量及核心数如表2所示,任意两个边缘服务器间的数据传输速率如表3所示。
[0152]
考虑图5所示的三种应用,其中(a)-(c)的平均到达率分别设为1、2、1。每种应用的拓扑结构中任意弧上的通信量在5kb-50kb间随机生成,任意微服务的计算量用单次运行需求的百万指令数表示,在0.01-0.1间随机生成。
[0153]
设置n
iter
为2000,h为2。算法独立运行五次得到的微服务部署结果如表4所示。
[0154]
表1小规模算例中的微服务基本信息
[0155][0156]
表2小规模算例中的服务器信息
[0157]
边缘服务器编号计算速度(mips)存储容量(mb)核心数
1300102442200128235002562470128151505122
[0158]
表3小规模算例中边缘服务器间的数据传输速率(kb/s)
[0159][0160][0161]
表4小规模算例的微服务部署结果
[0162]
微服务编号边缘服务器编号a1b3c1d3e5f5g1
[0163]
从求解结果可以看出,构成图5(a)所示应用的四个微服务中有三个都部署在了边缘服务器1上,构成图5(b)所示应用的微服务都部署在了边缘服务器3上,构成图5(c)所示应用的微服务都部署在了边缘服务器5上,这说明构成同一应用的微服务大部分部署在了相同的边缘服务器上,这可以减小微服务间的通信时延。此外,计算速度较高的边缘服务器1和边缘服务器3得到了较为充分的应用,这可以减小微服务的计算时延。
[0164]
进一步的,以一条生产线为例设计大规模算例对该实施例进行说明。考虑15个微服务,每个微服务需求的计算速度与存储容量如表5所示。边缘服务器的数量为10,边缘服务器的计算速度、存储资源以及核心数如表6所示。任意两个不同的边缘服务器间的数据传输速率在128kb/s、256kb/s、512kb/s几个量中随机生成。
[0165]
考虑图6所示的三种拓扑结构。其中(a)-(c)的平均到达率分别设为1、2、1。每种应用的拓扑结构中任意弧上的通信量在5kb-50kb间随机生成,任意微服务的计算量用单次运行需求的百万指令数表示,在0.01-0.1间随机生成。
[0166]
设置n
iter
为7500,h为12。算法独立运行五次得到的微服务部署结果如表7所示。
[0167]
表5大规模算例中的微服务信息
[0168]
微服务编号需求的计算速度(mips)需求的存储容量(mb)a16070b60110
c140180d150170e160200f180150g21050h170180i140100j20090k140150l50100m80100n180150o12080
[0169]
表6大规模算例中的边缘服务器信息
[0170][0171]
表7大规模算例的微服务部署结果
[0172]
[0173][0174]
从求解结果可以看出,构成同一应用的微服务大部分都部署在了同一个边缘服务器上。此外,还可看出计算速度较高的边缘服务器6、7和9都得到了较为充分的使用。
[0175]
本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0176]
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
[0177]
上述本技术序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本技术的几个具体实施场景,但是,本技术并非局限于此,任何本领域的技术人员能思之的变化都应落入本技术的保护范围。
再多了解一些

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

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

相关文献