微服务流程的处理方法、装置、电子设备及存储介质与流程

文档序号:29231800发布日期:2022-03-12 13:47阅读:144来源:国知局
微服务流程的处理方法、装置、电子设备及存储介质与流程

1.本公开涉及互联网技术领域,尤其涉及一种微服务流程的处理方法、装置、电子设备、 计算机可读存储介质、计算机程序产品。


背景技术:

2.随着云计算的发展,越来越多的业务环节被信息化、数据化以及智能化,形成不同功 能适合各个领域的微服务。为了快速地进行业务接入,可以按照微服务的功能对微服务进 行工作领域的边界划分,并基于此快速地对微服务进行编排形成新的应用。
3.相关技术中,在进行微服务编排时,通常预先定义好微服务的工作流程,采用大量的 粘合语言按照上述工程流程将各个微服务进行结合。当需要调整微服务调用顺序时往往需 要上线等操作,存在对微服务的调用流程进行调整较为繁琐的问题。


技术实现要素:

4.本公开提供一种微服务流程的处理方法、装置、电子设备、计算机可读存储介质、计 算机程序产品,以至少解决相关技术中对微服务的调用流程进行调整较为繁琐的问题。本 公开的技术方案如下:
5.根据本公开实施例的第一方面,提供一种微服务流程的处理方法,包括:
6.获取系统应用中的各个微服务节点的历史运行参数,所述系统应用包括多个微服务节 点,所述历史运行参数是按照初始调用流程调用各个所述微服务节点处理历史业务数据所 产生;
7.根据各个所述微服务节点的历史运行参数,得到各个所述微服务节点在未来时间的目 标运行参数,所述未来时间为晚于当前时刻的时间;
8.根据各个所述微服务节点的目标运行参数,对多个所述微服务节点的调用顺序进行调 整,得到目标调用流程。
9.在其中一个实施例中,所述历史运行参数包括从多个维度采集到的运行参数;
10.所述根据各个所述微服务节点的历史运行参数,得到各个所述微服务节点在未来时间 的目标运行参数,包括:
11.将每个所述维度下的所述历史运行参数输入至深度学习网络,得到未来时间下每个所 述维度对应的目标运行参数。
12.在其中一个实施例中,每个所述维度下的历史运行参数为在预设时长内采集的时间序 列数据;所述深度学习网络包括依次串联的多个门控循环单元;
13.所述将每个所述维度下的所述历史运行参数输入至深度学习网络,得到未来时间下每 个所述维度对应的目标运行参数,包括:
14.将每个所述维度下的所述历史运行参数输入至所述深度学习网络,通过多个所述门控 循环单元对每个所述维度下的所述历史运行参数进行处理,得到每个所述维度下的目标运 行参数,所述目标运行参数为在未来的所述预设时长内的时间序列数据。
15.在其中一个实施例中,所述根据各个所述微服务节点的目标运行参数,对多个所述微 服务节点的调用顺序进行调整,得到目标调用流程,包括:
16.根据各个所述微服务节点的目标运行参数的数值大小,对多个所述微服务节点的调用 顺序进行调整,得到所述目标调用流程;
17.所述目标运行参数包括目标通过率和目标运行时长,所述目标通过率和/或所述目标 运行时长的数值越小,所述微服务节点的调用顺序越靠前。
18.在其中一个实施例中,所述方法还包括:
19.获取多个所述微服务节点之间的依赖关系;
20.所述根据各个所述微服务节点的目标运行参数,对各个所述微服务节点的调用顺序进 行调整,得到目标调用流程,包括:
21.根据所述依赖关系,以及各个所述微服务节点的目标运行参数,对多个所述微服务节 点的调用顺序进行调整,得到目标调用流程。
22.在其中一个实施例中,所述获取系统应用中的各个微服务节点处理历史业务数据所产 生的历史运行参数,包括:
23.当确定当前时刻满足流程处理条件时,获取所述系统应用中的各个所述微服务节点的 所述历史运行参数;
24.所述流程处理条件包括以下情况中的任一种:
25.所述历史运行参数的变化量大于预设量;
26.当前时刻满足预先定义的时间条件。
27.在其中一个实施例中,在所述获取系统应用中的各个微服务节点的历史运行参数之 前,还包括:
28.在所述系统应用处理所述历史业务数据的过程中,采集各个所述微服务节点处理所述 历史业务数据所产生的原始运行参数;
29.通过线程池异步的将各个所述微服务节点的所述原始运行参数写入至分布式服务集 群,并在各个所述微服务节点生成参数处理任务,将所述参数处理任务发送至任务消息队 列;
30.执行所述任务消息队列中的所述参数处理任务,对所述分布式服务集群中所述参数处 理任务对应的原始运行参数进行处理,生成所述参数处理任务对应的微服务节点的所述历 史运行参数并存储。
31.在其中一个实施例中,在所述得到目标调用流程之后,还包括:
32.继续按照所述初始调用流程调用多个所述微服务节点处理当前的业务数据;
33.当接收新的业务数据时,按照所述目标调用流程调用多个所述微服务节点处理所述新 的业务数据。
34.根据本公开实施例的第二方面,提供一种微服务流程的处理装置,包括:
35.参数获取模块,被配置为执行获取系统应用中的各个微服务节点的历史运行参数,所 述系统应用包括多个微服务节点,所述历史运行参数是按照初始调用流程调用各个所述微 服务节点处理历史业务数据所产生;
36.参数生成模块,被配置为执行根据各个所述微服务节点的历史运行参数,得到各个所 述微服务节点在未来时间的目标运行参数,所述未来时间为晚于当前时刻的时间;
37.流程调整模块,被配置为执行根据各个所述微服务节点的目标运行参数,对多个所述 微服务节点的调用顺序进行调整,得到目标调用流程。
38.在其中一个实施例中,所述历史运行参数包括从多个维度采集到的运行参数;
39.所述参数生成模块,被配置为执行将每个所述维度下的所述历史运行参数输入至深度 学习网络,得到未来时间下每个所述维度对应的目标运行参数。
40.在其中一个实施例中,每个所述维度下的历史运行参数为在预设时长内采集的时间序 列数据;所述深度学习网络包括依次串联的多个门控循环单元;
41.所述参数生成模块,被配置为执行将每个所述维度下的所述历史运行参数输入至所述 深度学习网络,通过多个所述门控循环单元对每个所述维度下的所述历史运行参数进行处 理,得到每个所述维度下的目标运行参数,所述目标运行参数为在未来的所述预设时长内 的时间序列数据。
42.在其中一个实施例中,所述流程调整模块,被配置为执行根据各个所述微服务节点的 目标运行参数的数值大小,对多个所述微服务节点的调用顺序进行调整,得到所述目标调 用流程;
43.所述目标运行参数包括目标通过率和目标运行时长,所述目标通过率和/或所述目标 运行时长的数值越小,所述微服务节点的调用顺序越靠前。
44.在其中一个实施例中,所述装置还包括:
45.关系获取模块,被配置为执行获取多个所述微服务节点之间的依赖关系;
46.所述流程调整模块,被配置为执行根据所述依赖关系,以及各个所述微服务节点的目 标运行参数,对多个所述微服务节点的调用顺序进行调整,得到目标调用流程。
47.在其中一个实施例中,所述参数获取模块,被配置为执行当确定当前时刻满足流程处 理条件时,获取所述系统应用中的各个所述微服务节点的所述历史运行参数;
48.所述流程处理条件包括以下情况中的任一种:
49.所述历史运行参数的变化量大于预设量;
50.当前时刻满足预先定义的时间条件。
51.在其中一个实施例中,所述装置还包括:
52.参数采集模块,被配置为执行在所述系统应用处理所述历史业务数据的过程中,采集 各个所述微服务节点处理所述历史业务数据所产生的原始运行参数;
53.参数写入模块,被配置为执行通过线程池异步的将各个所述微服务节点的所述原始运 行参数写入至分布式服务集群,并在各个所述微服务节点生成参数处理任务,将所述参数 处理任务发送至任务消息队列;
54.任务处理模块,被配置为执行执行所述任务消息队列中的所述参数处理任务,对所述 分布式服务集群中所述参数处理任务对应的原始运行参数进行处理,生成所述参数处理任 务对应的微服务节点的所述历史运行参数并存储。
55.在其中一个实施例中,所述装置还包括:
56.第一数据处理模块,被配置为执行继续按照所述初始调用流程调用多个所述微服务 节点处理当前的业务数据;
57.第二数据处理模块,被配置为执行当接收新的业务数据时,按照所述目标调用流程调 用多个所述微服务节点处理所述新的业务数据。
58.根据本公开实施例的第三方面,提供一种电子设备,包括:
59.处理器;
60.用于存储所述处理器可执行指令的存储器;
61.其中,所述处理器被配置为执行所述指令,以实现如上述第一方面任一项实施例所述 的微服务流程的处理方法。
62.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存 储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如上述第一方面 任一项实施例所述的微服务流程的处理方法。
63.根据本公开实施例的第五方面,所述计算机程序产品中包括指令,所述指令被电子设 备的处理器执行时,使得所述电子设备能够执行如上述第一方面任一项实施例所述的微服 务流程的处理方法。
64.本公开的实施例提供的技术方案至少带来以下有益效果:
65.获取系统应用中的各个微服务节点处理历史业务数据所产生的历史运行参数,根据各 个所述微服务节点的历史运行参数,得到各个所述微服务节点在未来时间的目标运行参 数。根据各个所述微服务节点的目标运行参数,对多个所述微服务节点的调用顺序进行自 动调整。基于已有的历史运行参数预测未来的目标运行参数,并自动地根据目标运行参数 对微服务流程进行调整,可以微服务流程的全自动更新与微服务节点的调用顺序的自动调 整,从而极大地简化了微服务流程的调整过程。通过根据未来时间的目标运行参数提前对 微服务流程进行处理,可以使系统在最优的微服务流程下运行,从而极大地提升了系统的 运行效率,还有助于减轻系统的运行压力。
66.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限 制本公开。
附图说明
67.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例, 并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
68.图1是根据一示例性实施例示出的一种微服务流程的处理方法的流程图。
69.图2是根据一示例性实施例示出的一种门控循环单元的相关示意图。
70.图3是根据一示例性实施例示出的一种调整前的微服务流程示意图。
71.图4是根据一示例性实施例示出的一种另调整前的微服务流程示意图。
72.图5是根据一示例性实施例示出的一种调整后的微服务流程示意图。
73.图6是根据一示例性实施例示出的另一种调整后的微服务流程示意图。
74.图7是根据一示例性实施例示出的一种生成历史运行参数的流程示意图。
75.图8是根据一示例性实施例示出的一种采集原始运行参数的示意图。
76.图9是根据一示例性实施例示出的一种生成历史运行参数的示意图。
77.图10是根据一示例性实施例示出的一种微服务流程的处理方法的流程图。
78.图11是根据一示例性实施例示出的一种微服务流程的处理装置的框图。
79.图12是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
80.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实 施例中的技术方案进行清楚、完整地描述。
81.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二
”ꢀ
等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的 数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或 描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相 一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方 面相一致的装置和方法的例子。
82.还需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人 信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者 经过各方充分授权的信息和数据。
83.本公开所提供的微服务流程的处理方法,可以应用于服务器中。服务器中部署有基于 微服务架构运行的系统应用。系统应用包括多个微服务节点,多个微服务节点按照初始调 用流程进行工作。当服务器判断当前满足流程处理条件时,获取系统应用中的各个微服务 节点处理历史业务数据产生的历史运行参数;根据各个微服务节点的历史运行参数生成各 个微服务节点在未来时间的目标运行参数。进而根据目标运行参数对多个微服务节点的初 始调用流程进行调整。其中,服务器可以用独立的服务器或者是多个服务器组成的服务器 集群来实现。
84.图1是根据一示例性实施例示出的一种微服务流程的处理方法的流程图,如图1所示, 微服务流程的处理方法用于服务器中,包括以下步骤。
85.在步骤s110中,获取系统应用中的各个微服务节点的历史运行参数,系统应用包括 多个微服务节点,历史运行参数是按照初始调用流程调用各个微服务节点处理历史业务数 据所产生。
86.其中,历史运行参数可以但不限于包括处理历史业务数据所需的运行时长、业务数据 的通过率等。服务器中可以预先生成与每个微服务节点对应的节点标识,基于节点标识建 立微服务节点和运行参数之间的对应关系。
87.初始调用流程可以是指当前正在使用的微服务流程,其定义了多个微服务节点的调用 顺序,例如,可以为按顺序串行调用、并行调用。一示例中,初始调用流程可以是通过用 户编排并部署。另一个流程中,服务器可以循环性地对微服务流程进行处理,那么初始调 用流程也可以是服务器上一次自动调整得到的流程。
88.具体地,在历史时间内,服务器在系统应用处理每条历史业务数据的过程中,根据初 始调用流程调用各个微服务节点,采集各个微服务节点的历史运行参数,生成历史运行参 数与节点标识之间的映射关系。在服务器需要对微服务流程进行调整时,获取各个微服务 节点的历史运行参数。
89.在步骤s120中,根据各个微服务节点的历史运行参数,得到各个微服务节点在未来 时间的目标运行参数。其中,未来时间为晚于当前时刻的时间。
90.具体地,服务器中部署参数预测逻辑。该参数预测逻辑可以基于回归分析、机器学习 等技术实现。服务器在获取各个微服务节点的历史运行参数后,通过参数预测逻辑对各
个 微服务节点的历史运行参数进行处理,生成各个微服务节点的在未来时间的目标运行参 数。例如,获取各个微服务节点在一定时间段内的历史运行参数的平均值,根据平均值预 测各个微服务节点的目标运行参数。
91.在步骤s130中,根据各个微服务节点的目标运行参数,对多个微服务节点的调用顺 序进行调整,得到目标调用流程。
92.具体地,服务器中预先配置有目标运行参数的数值大小与流程排序之间的关联关系。 例如,目标运行参数为运行时长,配置运行时长越小的微服务节点,在调用流程模板中的 排序越靠前,从而使系统能够优先调用该微服务节点。服务器基于该关联关系,根据各个 微服务节点的目标运行参数的数值大小对多个为微服务流程进行调整,生成目标调用流 程。进而按照目标调用流程定义的调用顺序调用各个微服务节点处理业务数据。
93.进一步地,服务器可以继续采集各个微服务节点在目标调用流程下的运行参数。重复 上述内容对目标调用流程进行持续的优化,从而可以使微服务流程长期维持最优的状态。
94.上述微服务流程的处理方法中,获取系统应用中的各个微服务节点处理历史业务数据 所产生的历史运行参数,根据各个所述微服务节点的历史运行参数,得到各个所述微服务 节点在未来时间的目标运行参数。根据各个所述微服务节点的目标运行参数,对多个所述 微服务节点的调用顺序进行自动调整。基于已有的历史运行参数预测未来的目标运行参 数,并自动地根据目标运行参数对微服务流程进行调整,可以微服务流程的全自动更新与 微服务节点的调用顺序的自动调整,从而极大地简化了微服务流程的调整过程。通过根据 未来时间的目标运行参数提前对微服务流程进行处理,可以使系统在最优的微服务流程下 运行,从而极大地提升了系统的运行效率,还有助于减轻系统的运行压力。
95.在一示例性实施例中,服务器可以采用热更新的方式从初始调用模板切换至目标调 用模板。在步骤s130,得到目标调用流程之后,还包括:继续按照初始调用流程调用多 个微服务节点处理当前的业务数据;当接收新的业务数据时,按照目标调用流程调用多个 微服务节点处理新的业务数据。
96.具体地,在生成目标调用流程之后,针对当前处理中的业务数据,继续通过初始调 用模板对这些当前的业务数据进行处理。在处理完毕后,可以将初始调用模板删除或者归 档。针对生成目标调用流程之后接收的新的业务数据,则按照目标调用流程对新的业务数 据进行处理,直至产生新的调用流程。通过采用热更新的方式进行新旧调用流程的切换, 可以提升流程更新效率和更新成功率。
97.在一示例性实施例中,可以通过深度学习网络对各个微服务节点的历史运行参数进行 处理,得到各个微服务节点的目标运行参数。深度学习网络可以采用卷积神经网络、循环 神经网络等中任一种可预测数据的网络。具体实现中,服务器在获取各个微服务节点对应 的历史运行参数后,将各个微服务节点的历史运行参数输入至预训练的深度学习网络,得 到未来时间的各个微服务节点的目标运行参数。
98.一个实施例中,深度学习网络可以基于lstm(long short-term memory,长短期记 忆人工神经网络)、gru(gate recurrent unit,门控循环单元)等时间序列模型实现, 为了避免传统的lstm复杂导致的参数过多问题,本实施例的深度学习网络包括依次串联 的多个gru。每个gru输出预设长度(例如512)向量。gru是循环神经网络的一种,是 为了解决长
期记忆和反向传播中的梯度等问题而提出来的。在这种情况下,历史运行参数 为在预设时长内采集的时间序列数据。
99.具体地,图2中(a)示出了单个gru的结构示意图。图2中(a)中h为记忆单元。 gru前向过程按照时序展开后的信号传导如图2中(b)所示。参照图2,gru包含2个门结 构:输入门和重置门。输入门和重置门接收相同的输入:当前时刻输入信号和上一时刻的 上下文。这两个门结构的输入分别由以下公式(1)和公式(2)定义。
100.z
t
=σ(wzx
t
+u
zht-1
)
ꢀꢀꢀ
(1)
101.r
t
=σ(wrx
t
+u
rht-1
)
ꢀꢀꢀ
(2)
102.其中,x
t
为当前时刻输入信号,h
t-1
为上一时刻上下文。
103.gru单元的隐藏层激活状态由以下公式(3)定义。
[0104][0105]
其中,

为按位相乘操作,u和w为固定参数。
[0106]
gru的最终输出由上一时刻上下文,隐藏层激活情况,w及重置口激活情况共同决定, 如以下公式(4)。该输出作为当前时刻的上下文被保存到记忆单元h中。
[0107][0108]
本实施例中,通过深度学习网络先验知识的基础上预测未来的运行参数,可以确保所 得到的目标运行参数的准确性。通过利用深度学习网络的强大的处理能力,可以确保运行 参数的处理效率。
[0109]
在一示例性实施例中,历史运行参数包括从多个维度采集到的运行参数。在这种情况 下,可以将每个维度下的历史运行参数输入至深度学习网络,得到未来时间下每个维度对 应的目标运行参数。若深度学习网络包括依次串联的多个gru,则将每个维度下的历史运 行参数输入至深度学习网络,通过多个gru对每个维度下的历史运行参数进行处理,得到 每个维度下的目标运行参数,目标运行参数为在未来的预设时长内的时间序列数据。
[0110]
其中,服务器可以从时间维度、通过率维度采集得到各个微服务节点的历史运行参数。 例如,在一个历史业务数据经过某个微服务节点时,采集该个微服务节点处理历史业务数 据所需的运行时长,以及,采集表征历史业务数据是否通过该微服务节点进入下一个节点 的通过率。
[0111]
具体地,当存在多个维度的历史运行参数时,可以根据各个微服务节点的多个维度下 目标运行参数的数值大小,对多个微服务节点的调用顺序进行调整,得到目标调用流程。 以目标运行参数包括目标通过率和目标运行时长为例,目标通过率和目标运行时长越小的 微服务节点,在流程模板中的排序越靠前。其中,通过率用于表征业务数据流入至下一个 节点的概率,将通过率小的目标节点靠前部署,可以加快处理结果的返回效率以及对集群 计算资源的释放效率。
[0112]
一个实施例中,可以预先配置每个维度对应的优先级。根据每个维度的优先级,以及 各个微服务节点对应的多个维度的目标运行参数的数值大小生成目标调用流程。继续以目 标运行参数包括目标通过率和目标运行时长为例,时间维度优先级高于通过率维度优先 级。微服务节点1的运行时长为a1,通过率为b1;微服务节点2的运行时长为a2,通过 率为b2。若a1<a2,b1>b2,则确定微服务节点1的调用顺序靠前。
[0113]
另一个实施例中,可以预先配置与每个维度对应的权重系数。根据每个维度对应的权 重系数以及目标运行参数确定各个微服务节点的节点评价值(例如,计算多个维度下权重 系数和目标运行参数的加权和)。进而基于将节点评价值越小的微服务节点设置更为靠前 的调用顺序。
[0114]
本实施例中,通过从多个维度采集得到历史运行参数,从多个维度考量微服务节点的 性能,从而可以更加灵活地按需对微服务节点进行排序,提升微服务流程的调整灵活性。
[0115]
在一示例性实施例中,所述方法还包括:获取多个微服务节点之间的依赖关系;步骤 s130,根据各个微服务节点的目标运行参数,对各个微服务节点的调用顺序进行调整,得 到目标调用流程,包括:根据依赖关系,以及各个微服务节点的目标运行参数,对多个微 服务节点的调用顺序进行调整,得到目标调用流程。
[0116]
具体地,服务器从多个微服务节点中确定出存在依赖关系的微服务节点。在上述基于 目标运行参数的数值大小确定目标调用流程的基础上,将被依赖的微服务节点的调用顺序 调整至需依赖的微服务节点之前,从而可以确保微服务节点按照符合依赖关系的走向进行 数据传递,使数据能够在最短路径且最短时间下得到处理。
[0117]
图3~图6示出了一种微服务流程的处理示意图。如图3或者图4所示,初始调用流 程可以是一种串行结构或者并行结构,共有微服务节点1、微服务节点2、微服务节点3
…ꢀ
微服务节点8,8个微服务节点,其中,微服务节点5依赖微服务节点1,微服务节点8 依赖微服务节点5。每个微服务节点为一个具有职责边界的微服务,并且每个微服务节点 验证的结果不通过时将直接结束业务数据处理。服务器根据各个微服务节点的目标运行参 数确定微服务节点1~4的排序相同且最靠前,微服务节点5~6的排序相同,且晚于微服务 节点1~4;微服务节点7和8的排序相同,且最靠后,则可以生成图5所示的目标调用流 程示意图。
[0118]
进一步地,在图5所示的调用流程的运行过程中,还可以根据图5对应的运行参数继 续对图5的调用流程进行调整,例如,微服务节点6的通过率和运行时长低于微服务节点 5/7/8,则可将微服务节点6前置,得到图6所示的调用流程。
[0119]
本实施例中,由于微服务流程的总运行时长通常取决于最慢的微服务节点,通过将通 过率最低和运行时间相对较短的微服务节点前移,在节省计算资源的同时,还加快了微服 务流程的处理速度。
[0120]
在一示例性实施例中,获取系统应用中的各个微服务节点处理历史业务数据所产生的 历史运行参数,包括:当确定当前时刻满足流程处理条件时,获取系统应用中的各个微服 务节点的历史运行参数;流程处理条件包括以下情况中的任一种:历史运行参数的变化量 大于预设量;当前时刻满足预先定义的时间条件。通过设置流程处理条件,可以使服务器 能够自主触发处理微服务流程,从而实现微服务流程的动态化调整。
[0121]
在一示例性实施例中,对历史运行参数的生成方式进行说明。如图7所示,在步骤 s110,获取系统应用中的各个微服务节点的历史运行参数之前,还包括:
[0122]
步骤s710,在系统应用处理历史业务数据的过程中,采集各个微服务节点处理历史 业务数据所产生的原始运行参数。
[0123]
步骤s720,通过线程池异步的将各个微服务节点的原始运行参数写入至分布式服务 集群,并在各个微服务节点生成参数处理任务,将参数处理任务发送至任务消息队列。
[0124]
步骤s730,执行任务消息队列中的参数处理任务,对分布式服务集群中参数处理任 务对应的原始运行参数进行处理,生成参数处理任务对应的微服务节点的历史运行参数并 存储。
[0125]
具体地,在系统应用处理每条历史业务数据的过程中,采集各个微服务节点处理每条 历史业务数据产生的原始运行参数。通过线程池将各个微服务节点的原始运行数据以key (键)-value(值)的形式异步写入redis集群(分布式服务集群)。同时在各个微服务 节点生成参数处理任务,将参数处理任务发送至任务消息队列(message queue,mq)任 务,从而使服务器异步地执行任务消息队列中的参数处理任务,对分布式服务集群中参数 处理任务对应的原始运行参数进行处理,例如,按照维度对原始分布参数进行分解,生成 结构化的历史运行参数,并将所得到的参数处理任务对应的微服务节点的历史运行参数存 储至数据库或者非关系型数据库(例如,nosql、elasticsearch)。通过实时采集微服务 节点的运行参数,使用线程池对原始运行参数进行异步处理,可以提升系统的运行效率, 减少系统的运行开支。
[0126]
图8是根据一示例性实施例示出的一种微服务流程的处理方法的流程图,在本实施例 中,微服务流程的处理方法通过部署在服务器中的微服务流程处理引擎实现。如图9所示, 微服务流程处理引擎包括前置组件、唯一id生成器、数据采集系统、智能预测模块。如 图8所示,微服务流程的处理方法包括以下步骤。
[0127]
1、对历史业务数据的处理阶段:
[0128]
在步骤s802中,在历史业务数据经过前置组件后,通过唯一id生成器生成与业务数 据对应的数据标识,从而便于跟踪、查找、处理与该业务数据对应的运行参数。参照图 10,在系统应用处理历史业务数据的过程中,数据采集系统采集各个微服务节点处理历史 业务数据所产生的原始运行参数。原始运行参数包括原始运行时长和原始通过率。
[0129]
在步骤s804中,数据采集系统通过线程池异步的将各个微服务节点的原始运行参数 写入至分布式服务集群,并在各个微服务节点生成参数处理任务,将参数处理任务发送至 任务消息队列。
[0130]
在步骤s806中,数据采集系统执行任务消息队列中的参数处理任务,根据数据标识 从分布式服务集群中查找得到参数处理任务相对应的各个微服务节点的原始运行参数,生 成参数处理任务对应的各个微服务节点的历史运行参数并存储至数据库。
[0131]
在步骤s808中,在满足流程处理条件时,智能预测模块从数据库中获取各个微服务 节点的历史运行时长和历史通过率,采用深度学习网络分别对各个微服务节点的历史运行 时长和历史通过率进行处理,得到各个微服务节点的目标运行时长和目标通过率。其中, 深度学习网络的网络结构和处理方式可以参照上述实施例,在此不做具体阐述。
[0132]
在步骤s810,若根据各个微服务节点的目标运行时长和目标通过率,判断需要对初 始调用流程进行调整,则生成目标调用流程,并使用目标调用流程处理新的业务数据,使 用初始调用流程继续处理当前已存在的业务数据。若判断不需要进行调整,则继续使用初 始流程模板。
[0133]
重复上述步骤s802~s810,对微服务流程进行动态调整。
[0134]
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些 步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的
务消息队列;任务处理模块,被配置为执行执行任务消息队列中的参数处理任务,对分布 式服务集群中参数处理任务对应的原始运行参数进行处理,生成参数处理任务对应的微服 务节点的历史运行参数并存储。
[0144]
在一示例性实施例中,装置1100还包括:第一数据处理模块,被配置为执行继续按 照初始调用流程调用多个微服务节点处理当前的业务数据;第二数据处理模块,被配置为 执行当接收新的业务数据时,按照目标调用流程调用多个微服务节点处理新的业务数据。
[0145]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实 施例中进行了详细描述,此处将不做详细阐述说明。
[0146]
图12是根据一示例性实施例示出的一种用于对微服务流程进行处理的电子设备s00 的框图。例如,电子设备s00可以为服务器。参照图12,电子设备s00包括处理组件s20, 其进一步包括一个或多个处理器,以及由存储器s22所代表的存储器资源,用于存储可由 处理组件s20的执行的指令,例如应用程序。存储器s22中存储的应用程序可以包括一个 或一个以上的每一个对应于一组指令的模块。此外,处理组件s20被配置为执行指令,以 执行上述方法。
[0147]
电子设备s00还可以包括:电源组件s24被配置为执行电子设备s00的电源管理,有 线或无线网络接口s26被配置为将电子设备s00连接到网络,和输入输出(i/o)接口s28。 电子设备s00可以操作基于存储在存储器s22的操作系统,例如windows server,mac osx,unix,linux,freebsd或类似。
[0148]
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的 存储器s22,上述指令可由电子设备s00的处理器执行以完成上述方法。存储介质可以是 计算机可读存储介质,例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、 cd-rom、磁带、软盘和光数据存储设备等。
[0149]
在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品中包括指令, 上述指令可由电子设备s00的处理器执行以完成上述方法。
[0150]
需要说明的,上述的装置、电子设备、计算机可读存储介质、计算机程序产品等根据 方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例 的描述,在此不作一一赘述。
[0151]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实 施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者 适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或 惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求 指出。
[0152]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可 以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1