基于动态路由的微服务资源管理方法、系统和电子设备

文档序号:1952354 发布日期:2021-12-10 浏览:14次 >En<

阅读说明:本技术 基于动态路由的微服务资源管理方法、系统和电子设备 (Micro-service resource management method and system based on dynamic routing and electronic equipment ) 是由 张雪涛 于 2021-09-15 设计创作,主要内容包括:本申请涉及服务资源管理领域,其具体地公开了一种基于动态路由的微服务资源管理方法、系统和电子设备,其基于深度学习的神经网络模型来基于微服务资源的服务属性和请求属性对微服务资源进行合理分组,通过这样的方式,使得控制接口能够精确请求到期望的服务器上,来降低整体运维操作复杂度和降低运维成本。(The application relates to the field of service resource management, and particularly discloses a micro-service resource management method, a system and electronic equipment based on dynamic routing, wherein the micro-service resources are reasonably grouped based on service attributes and request attributes of the micro-service resources based on a deep learning neural network model, and through the mode, a control interface can accurately request an expected server to reduce the complexity of overall operation and maintenance operation and reduce the operation and maintenance cost.)

基于动态路由的微服务资源管理方法、系统和电子设备

技术领域

本发明涉及运动监控领域,且更为具体地,涉及一种基于动态路由的微服务资源管理方法、基于动态路由的微服务资源管理系统和电子设备。

背景技术

Motan是用于高性能分布式服务快速开发的RPC框架,其偏重于简单实用的服务治理功能和优秀的RPC协议扩展能力,既可以提供高效的RPC远程调用,又能提供服务发现、服务高可用、负载均衡、管理等服务治理功能。现行的一种技术方案是基于动态路由来配置和管理Motan微服务资源,以解决网关高并发量、API动态路由、数据包加密、请求鉴权、请求黑白名单、灰度发布、网关缓存等问题。

但是,现有的基于动态路由的微服务资源管理系统无法高效管理微服务资源,且存在不能通过类似金丝雀发布方式进行微服务发布等问题,尤其是其不能控制接口精准请求到期望的服务器上。并且,由于其无法控制接口精准请求到期望的服务器上,会导致无法做到灰度发布服务并且可能存在服务发布期间服务版本不一致导致的异常问题。

因此,期待一种优化的微服务资源管理方案。

目前,深度学习以及神经网络已经广泛应用于计算机视觉、自然语言处理、文本信号处理等领域。此外,深度学习以及神经网络在图像分类、物体检测、语义分割、文本翻译等领域,也展现出了接近甚至超越人类的水平。

近年来,深度学习以及神经网络的发展,为微服务资源的管理提供了解决思路和方案。

发明内容

为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种基于动态路由的微服务资源管理方法、基于动态路由的微服务资源管理系统和电子设备,其基于深度学习的神经网络模型来基于微服务资源的服务属性和请求属性对微服务资源进行合理分组,通过这样的方式,使得控制接口能够精确请求到期望的服务器上,来降低整体运维操作复杂度和降低运维成本。

根据本申请的一个方面,提供了一种基于动态路由的微服务资源管理方法,其包括:获取微服务资源的服务属性的描述文本;对所述描述文本进行分词处理后通过语义理解模型以获得文本特征向量序列;获取与所述微服务资源对应的所有请求的请求属性数据;将所述所有所述请求的请求属性数据中每个请求的请求属性数据中的各个数据项分别通过隐马尔可夫模型进行向量编码以获得多个嵌入式向量;将所述多个嵌入式向量排列为矩阵后通过第一卷积神经网络以获得第一特征图;将所述文本特征向量序列中的每个文本特征向量作为第一分类向量以获得多个第一分类向量;对所述第一特征图进行沿通道维度的全局池化处理以获得第二特征矩阵并沿着数据项维度对所述第二特征矩阵进行划分以获得多个第二分类向量;计算所述多个第一分类向量中的各个第一分类特征向量与所述多个第二分类向量中各个第二分类特征向量之间的转移矩阵,以获得多个转移矩阵,所述转移矩阵的数量为所述第一分类向量的数目与所述第二分类向量的数目之间的乘积;将所述多个转移矩阵输入第二卷积神经网络以获得第二特征图;将所述第二特征图通过分类器以获得所述微服务资源归属于每个分组的概率;以及基于所述微服务资源归属于每个分组的概率,确定所述微服务资源所属的分组。

在根据本申请的基于动态路由的微服务资源管理方法中,对所述描述文本进行分词处理后通过语义理解模型以获得文本特征向量序列,包括:对所述描述文本进行基于知识图谱的分词处理以获得多个词;使用词嵌入模型将所述多个词中的每个词转化为词向量以获得由多个词向量组成的词向量序列;以及,将所述词向量序列输入所述语义理解模型以获得所述文本特征向量序列。

在根据本申请的基于动态路由的微服务资源管理方法中,将所述词向量序列输入所述语义理解模型以获得所述文本特征向量序列,包括:使用所述语义理解模型的Bert模型将所述词向量序列中的各个词向量转化为词特征向量,以获得由多个词特征向量组成的词特征向量序列;以及,使用所述语义理解模型的双向LSTM模型对所述词特征向量序列进行基于描述文本的上下文编码以获得所述文本特征向量序列。

在根据本申请的基于动态路由的微服务资源管理方法中,对所述第一特征图进行沿通道维度的全局池化处理以获得第二特征矩阵并沿着数据项维度对所述第二特征矩阵进行划分以获得多个第二分类向量,包括:对所述第一特征图进行沿通道维度的全局平均值池化或者全局最大值池化处理以获得所述第二特征矩阵。

在根据本申请的基于动态路由的微服务资源管理方法中,计算所述多个第一分类向量中的各个第一分类特征向量与所述多个第二分类向量中各个第二分类特征向量之间的转移矩阵,包括:以如下公式计算所述多个第一分类向量中的各个第一分类特征向量与所述多个第二分类向量中各个第二分类特征向量之间的转移矩阵;所述公式为:yj=Mi,j*xi,其中,xi表示所述多个第一分类向量中的各个第一分类向量,yj表示所述多个第二分类向量中的各个第二分类向量,Mi,j表示所述转移矩阵。

在根据本申请的基于动态路由的微服务资源管理方法中,将所述第二特征图通过分类器以获得所述微服务资源归属于每个分组的概率,包括:使用所述分类器的一个或多个全连接层对所述第二特征图进行全连接编码以获得分类特征向量;以及,计算所述分类特征向量分别归属于各个分组的Softmax分类函数值作为所述分类特征向量分别归属于各个分组的概率。

在根据本申请的基于动态路由的微服务资源管理方法中,基于所述微服务资源归属于每个分组的概率,确定所述微服务资源所属的分组,包括:将所述分类特征向量分别归属于各个分组的概率中的最大者对应的分组,确定为所述微服务资源所属的分组。

根据本申请的另一方面,还提供了一种基于动态路由的微服务资源管理系统,其包括:服务属性单元,用于获取微服务资源的服务属性的描述文本;

语义理解单元,用于对所述描述文本进行分词处理后通过语义理解模型以获得文本特征向量序列;请求属性单元,用于获取与所述微服务资源对应的所有请求的请求属性数据;向量构造单元,用于将所述所有所述请求的请求属性数据中每个请求的请求属性数据中的各个数据项分别通过隐马尔可夫模型进行向量编码以获得多个嵌入式向量;第一神经网络单元,用于将所述多个嵌入式向量排列为矩阵后通过第一卷积神经网络以获得第一特征图;第一分类向量指定单元,用于将所述文本特征向量序列中的每个文本特征向量作为第一分类向量以获得多个第一分类向量;全局池化单元,用于对所述第一特征图进行沿通道维度的全局池化处理以获得第二特征矩阵并沿着数据项维度对所述第二特征矩阵进行划分以获得多个第二分类向量;转移矩阵计算单元,用于计算所述多个第一分类向量中的各个第一分类特征向量与所述多个第二分类向量中各个第二分类特征向量之间的转移矩阵,以获得多个转移矩阵,所述转移矩阵的数量为所述第一分类向量的数目与所述第二分类向量的数目之间的乘积;第二神经网络单元,用于将所述多个转移矩阵输入第二卷积神经网络以获得第二特征图;分类单元,用于将所述第二特征图通过分类器以获得所述微服务资源归属于每个分组的概率;以及分组单元,用于基于所述微服务资源归属于每个分组的概率,确定所述微服务资源所属的分组。

在根据本申请的基于动态路由的微服务资源管理系统中,所述语义理解单元,包括:分词子单元,用于对所述描述文本进行基于知识图谱的分词处理以获得多个词;词向量转化子单元,用于使用词嵌入模型将所述多个词中的每个词转化为词向量以获得由多个词向量组成的词向量序列;以及,语义特征提取子单元,用于将所述词向量序列输入所述语义理解模型以获得所述文本特征向量序列。

根据本申请的又一方面,提供了一种电子设备,包括:处理器;以及,存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行如上所述的基于动态路由的微服务资源管理方法。

与现有技术相比,本申请提供的基于动态路由的微服务资源管理方法、基于动态路由的微服务资源管理系统和电子设备,其基于深度学习的神经网络模型来基于微服务资源的服务属性和请求属性对微服务资源进行合理分组,通过这样的方式,使得控制接口能够精确请求到期望的服务器上,来降低整体运维操作复杂度和降低运维成本。

附图说明

通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1图示了根据本申请实施例的对微服务资源进行分组管理的示意图。

图2为根据本申请实施例的基于动态路由的微服务资源管理方法的流程图;

图3为根据本申请实施例的基于动态路由的微服务资源管理方法的系统架构示意图;

图4为根据本申请实施例的基于动态路由的微服务资源管理方法中,对所述描述文本进行分词处理后通过语义理解模型以获得文本特征向量序列的流程图。

图5为根据本申请实施例的基于动态路由的微服务资源管理系统的框图。

图6为根据本申请实施例的基于动态路由的微服务资源管理系统中语义理解单元的框图。

图7为根据本申请实施例的电子设备的框图。

具体实施方式

下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。

场景概述

如前所述,现有的基于动态路由的微服务资源管理系统无法高效管理微服务资源,且存在不能通过类似金丝雀发布方式进行微服务发布等问题,尤其是其不能控制接口精准请求到期望的服务器上。并且,由于其无法控制接口精准请求到期望的服务器上,会导致无法做到灰度发布服务并且可能存在服务发布期间服务版本不一致导致的异常问题。因此,期待一种优化的微服务资源管理方案。

相应地,本申请发明人尝试对Motan微服务资源进行分组式管理,如图1所示。应可以理解,对Motan微服务资源进行分组式管理,方便对分组资源整体做路由控制等操作使得控制接口能够精确请求到期望的服务器上,以降低整体运维操作复杂度和运维成本。但是,关键点在于如何对Motan微服务资源进行分组管理,以使得网关的运行和管理都非常高效。也就是,为了对Motan服务资源进行管理,需要对多个服务以分组方式进行管理,因此,如何对不同服务进行分组,便成为需要考虑的问题。

本申请发明人考虑到在分组过程中,除服务本身的属性之外,还需要考虑Motan微服务控制的灰度访问,也就是,需要考虑请求到灰度分组的分配。

因此,在本申请的技术方案中,为了同时基于服务属性和请求属性进行适当的分组,需要对于服务属性和请求属性中的隐藏信息进行有效地提取和表达,因此本申请的申请人考虑使用基于深度学习的神经网络模型来作为分类问题实现。

具体地,首先在利用服务属性时,获取服务的描述文本,并将其通过语义理解模型转换为特征向量序列。这里,为了充分利用服务的描述文本的上下文信息,语义理解模型实现为Bert模型+双向LSTM模型,从而针对描述文本的每个词得到一个特征向量,组成为所述特征向量序列。然后,针对请求属性,获取与该服务对应的所有请求的请求属性数据,包括指定API版本号、指定用户、指定区域、指定IP、随机比例、权重等数据,并将每项数据以向量表示,例如,可以使用隐马尔科夫模型进行向量编码,以获得每项数据的嵌入式向量。此外,由于这些数据之间的语义信息并不丰富,因此为了挖掘出数据之间的隐含关联信息,将多个嵌入式向量排列为矩阵后输入第一卷积神经网络,以得到第一特征图。

然后,为了实现服务属性和请求属性的关联融合,首先将特征向量序列中的每个特征向量作为第一分类向量以得到多个第一分类向量,例如记为xm,并对第一特征图进行沿通道的全局池化以获得第二特征矩阵,再沿着数据项维度进行划分以获得多个第二分类向量,例如记为yn。然后,计算xm中的每个向量xi与yn中的每个向量yj的转移矩阵Mi,j,以使得yj=Mi,j*xi,也就是,转移矩阵Mi,j可以表示相应的一组向量xi和yj之间的关联信息,这样,共得到m*n个转移矩阵Mi,j

之后,进一步将m*n个转移矩阵Mi,j作为第二卷积神经网络的输入,以得到第二特征图,在将第二特征图通过分类器,就可以获得该服务归属于每个分组的概率,从而实现了服务的灰度分组。

基于此,本申请提出了一种基于动态路由的微服务资源管理方法,其包括:获取微服务资源的服务属性的描述文本;对所述描述文本进行分词处理后通过语义理解模型以获得文本特征向量序列;获取与所述微服务资源对应的所有请求的请求属性数据;将所述所有所述请求的请求属性数据中每个请求的请求属性数据中的各个数据项分别通过隐马尔可夫模型进行向量编码以获得多个嵌入式向量;将所述多个嵌入式向量排列为矩阵后通过第一卷积神经网络以获得第一特征图;将所述文本特征向量序列中的每个文本特征向量作为第一分类向量以获得多个第一分类向量;对所述第一特征图进行沿通道维度的全局池化处理以获得第二特征矩阵并沿着数据项维度对所述第二特征矩阵进行划分以获得多个第二分类向量;计算所述多个第一分类向量中的各个第一分类特征向量与所述多个第二分类向量中各个第二分类特征向量之间的转移矩阵,以获得多个转移矩阵,所述转移矩阵的数量为所述第一分类向量的数目与所述第二分类向量的数目之间的乘积;将所述多个转移矩阵输入第二卷积神经网络以获得第二特征图;将所述第二特征图通过分类器以获得所述微服务资源归属于每个分组的概率;以及,基于所述微服务资源归属于每个分组的概率,确定所述微服务资源所属的分组。

在介绍了本申请的基本原理之后,下面将参考附图来具体介绍本申请的各种非限制性实施例。

示例性方法

图2图示了基于动态路由的微服务资源管理方法的流程图。如图2所示,根据本申请实施例的基于动态路由的微服务资源管理方法,包括:S110,获取微服务资源的服务属性的描述文本;S120,对所述描述文本进行分词处理后通过语义理解模型以获得文本特征向量序列;S130,获取与所述微服务资源对应的所有请求的请求属性数据;S140,将所述所有所述请求的请求属性数据中每个请求的请求属性数据中的各个数据项分别通过隐马尔可夫模型进行向量编码以获得多个嵌入式向量;S150,将所述多个嵌入式向量排列为矩阵后通过第一卷积神经网络以获得第一特征图;S160,将所述文本特征向量序列中的每个文本特征向量作为第一分类向量以获得多个第一分类向量;S170,对所述第一特征图进行沿通道维度的全局池化处理以获得第二特征矩阵并沿着数据项维度对所述第二特征矩阵进行划分以获得多个第二分类向量;S180,计算所述多个第一分类向量中的各个第一分类特征向量与所述多个第二分类向量中各个第二分类特征向量之间的转移矩阵,以获得多个转移矩阵,所述转移矩阵的数量为所述第一分类向量的数目与所述第二分类向量的数目之间的乘积;S190,将所述多个转移矩阵输入第二卷积神经网络以获得第二特征图;S200,将所述第二特征图通过分类器以获得所述微服务资源归属于每个分组的概率;以及,S210,基于所述微服务资源归属于每个分组的概率,确定所述微服务资源所属的分组。

图3图示了根据本申请实施例的基于动态路由的微服务资源管理方法的架构示意图。如图3所示,在所述基于动态路由的微服务资源管理方法的网络架构中,首先,将获取的微服务资源的服务属性的描述文本(例如,如图3中所示意的T)在进行分词处理后通过语义理解模型(例如,如图3中所示意的SUM)以获得文本特征向量序列(例如,如图3中所示意的Ts)。

然后,将获取的与所述微服务资源对应的所有请求的请求数据(例如,如图3中所示意的R1至Rn)的每个请求属性数据中的各个数据项分别通过隐马尔可夫模型(例如,如图3中所示意的HMM)进行向量编码以获得多个嵌入式向量(例如,如图3中所示意的Ev1至Evn)。接着,将所述多个嵌入式向量排列为矩阵(例如,如图3中所示意的M)后通过第一卷积神经网络(例如,如图3中所示意的CNN1)以获得第一特征图(例如,如图3中所示意的F1)。

接着,如图3所示,对所述第一特征图进行沿通道维度的全局池化处理以获得第二特征矩阵(例如,如图3中所示意的Mf)并沿着数据项维度对所述第二特征矩阵进行划分以获得多个第二分类向量(例如,如图3中所示意的Vc2),且将所述文本特征向量序列中的每个文本特征向量作为第一分类向量以获得多个第一分类向量。然后,计算所述多个第一分类向量中的各个第一分类特征向量与所述多个第二分类向量中各个第二分类特征向量之间的转移矩阵以获得多个转移矩阵(例如,如图3中所示意的Mt)。

进而,如图3所示,将所述多个转移矩阵输入第二卷积神经网络(例如,如图3中所示意的CNN2)以获得第二特征图(例如,如图3中所示意的F2)。然后,将所述第二特征图通过分类器以获得所述微服务资源归属于每个分组的概率,并基于所述微服务资源归属于每个分组的概率,确定所述微服务资源所属的分组。

在步骤S110中,获取微服务资源的服务属性的描述文本。如前所述,为了对Motan服务资源进行管理,需要对多个服务以分组方式进行管理,因此,如何对不同服务进行分组,便成为需要考虑的问题。本申请发明人考虑到在分组过程中,除服务本身的属性之外,还需要考虑Motan微服务控制的灰度访问,也就是,需要考虑请求到灰度分组的分配。因此,在本申请的技术方案中,同时基于服务属性和请求属性进行适当的分组。相应地,在步骤S110中,首先获得微服务资源的服务属性的描述文本。

这里,在本申请实施例中,所述微服务资源为Motan微服务资源,其服务属性的描述文本包括RPC框架描述、注册中心、配置中心、治理中心、调度中心等。

在步骤S120中,对所述描述文本进行分词处理后通过语义理解模型以获得文本特征向量序列。为了同时基于服务属性和请求属性进行适当的分组,需要对于服务属性和请求属性中的隐藏信息进行有效地提取和表达,因此本申请的申请人考虑使用基于深度学习的神经网络模型来作为分类问题实现。

具体地,在本申请实施例中,对所述描述文本进行分词处理后通过语义理解模型以获得文本特征向量序列的过程包括:首先对所述服务属性的描述文本进行基于知识图谱的分词处理以将所述描述文本拆分为多个词,也就是,基于以专业知识为内核的知识图谱对所述服务属性的描述文本进行分词处理。应可以理解,在本申请的一些示例中,在对所述服务属性的描述文本进行分词处理后还可以对所获得多个词进行整理,例如,去除多余的词,去除重复的词等,以减低数据处理的难度,对比,并不为本申请所局限。

接着,使用对所述多个词进行词向量转化,也就是,将所述多个词映射到词向量空间以通过向量形式来表示各个词。在具体实施中,可采用词袋模型、词嵌入模型来实现词向量转化。本领域普通技术人员应知晓,词向量转化的本质目的在于将原本为非结构性数据表示的词,转化为结构性数据表示的词向量,以利于计算机进行数据处理。

为了充分利用服务的描述文本的上下文信息,语义理解模型实现为Bert模型+双向LSTM模型,从而针对描述文本的每个词得到一个特征向量,组成为所述特征向量序列。具体地,在本申请实施例中,所述语义理解模型包括Bert模型和双向LSTM模型,其中,所述所述语义理解模型的Bert模型将所述词向量序列中的各个词向量转化为词特征向量,以获得由多个词特征向量组成的词特征向量序列;而所述双向LSTM模型用于对所述词特征向量序列进行基于描述文本的上下文编码以获得所述文本特征向量序列。

本领域普通技术人员应知晓,Bert模型利用Masked model实现了语言模型的双向性,证明了双向性对语言表示预训练的重要性,即,Bert模型是真正意义上的双向语言模型,每个词可以同时利用该词的上下文信息。而双向LSTM模型是在LSTM模型的基础上衍生出来的,LSTM是针对RNN神经网络在序列过长时出现梯度消失问题,且很难学到长期依赖的特征的缺点提出的,LSTM单元通过输入门、遗忘门和输出门来控制信息的传递。而单向的LSTM只能捕获序列的历史信息,在做身份识别时是需要考虑人名的上下文的,所以这里用到了双向的LSTM用来捕获序列的上下文信息。

图4为根据本申请实施例的基于动态路由的微服务资源管理方法中,对所述描述文本进行分词处理后通过语义理解模型以获得文本特征向量序列的流程图。如图4所示,在本申请实施例中,对所述描述文本进行分词处理后通过语义理解模型以获得文本特征向量序列,包括步骤:S310,对所述描述文本进行基于知识图谱的分词处理以获得多个词;S320,使用词嵌入模型将所述多个词中的每个词转化为词向量以获得由多个词向量组成的词向量序列;S330,使用所述语义理解模型的Bert模型将所述词向量序列中的各个词向量转化为词特征向量,以获得由多个词特征向量组成的词特征向量序列;以及,S340,使用所述语义理解模型的双向LSTM模型对所述词特征向量序列进行基于描述文本的上下文编码以获得所述文本特征向量序列。

在步骤S130中,获取与所述微服务资源对应的所有请求的请求属性数据。这里,在本申请实施例中,所述请求的请求属性数据包括:指定API版本号、指定用户、指定区域、指定IP、随机比例、权重等数据项。

在步骤S140中,将所述所有所述请求的请求属性数据中每个请求的请求属性数据中的各个数据项分别通过隐马尔可夫模型进行向量编码以获得多个嵌入式向量。也就是,将每个请求的请求属性数据通过隐马尔可夫模型以向量的形式进行表示。

本领域普通技术人员应知晓,隐马尔可夫模型是个统计学模型,需要一系列大量的和识别相关的数据进行训练。基于统计模型的特点,隐马尔可夫模型被分为两种:离散的隐马尔可夫模型(DHMM):该类型模型的统计概率是基于离散数据的,以及,连续的隐马尔可夫模型(CHMM):该类型模型的统计概率是基于连续数据的。相应地,本申请所采用的是离散的隐马尔可夫模型(DHMM)。

在步骤S150中,将所述多个嵌入式向量排列为矩阵后通过第一卷积神经网络以获得第一特征图。应可以理解,虽然以隐马尔可夫模型将所述请求属性中的数据项以向量的形式进行表示,但由于这些数据之间的语义信息并不丰富,因此为了挖掘出数据之间的隐含关联信息,将多个嵌入式向量排列为矩阵后输入第一卷积神经网络,以得到第一特征图。

本领域普通技术人员应知晓,卷积神经网络在提取局部特征方面具有优异的表现,因此,将所述多个嵌入式向量排列为矩阵后,所述第一卷积神经网络能够提取出所述矩阵中的局部特征的高维隐含表示,应可以理解,所述嵌入式向量表示一个数据项,因此,所述矩阵的局部特征表示各个数据项之间的关联的高维隐含特征。

在步骤S160中,将所述文本特征向量序列中的每个文本特征向量作为第一分类向量以获得多个第一分类向量。在步骤S170中,对所述第一特征图进行沿通道维度的全局池化处理以获得第二特征矩阵并沿着数据项维度对所述第二特征矩阵进行划分以获得多个第二分类向量。在步骤S180中,计算所述多个第一分类向量中的各个第一分类特征向量与所述多个第二分类向量中各个第二分类特征向量之间的转移矩阵,以获得多个转移矩阵,所述转移矩阵的数量为所述第一分类向量的数目与所述第二分类向量的数目之间的乘积。

也就是,在本申请实施例中,为了实现服务属性和请求属性的关联融合,首先将特征向量序列中的每个特征向量作为第一分类向量以得到多个第一分类向量,例如记为xm,并对第一特征图进行沿通道的全局池化以获得第二特征矩阵,再沿着数据项维度进行划分以获得多个第二分类向量,例如记为yn。然后,计算xm中的每个向量xi与yn中的每个向量yj的转移矩阵Mi,j,以使得yj=Mi,j*xi,也就是,转移矩阵Mi,j可以表示相应的一组向量xi和yj之间的关联信息,这样,共得到m*n个转移矩阵Mi,j

也就是,在本申请实施例中,计算所述多个第一分类向量中的各个第一分类特征向量与所述多个第二分类向量中各个第二分类特征向量之间的转移矩阵,包括:以如下公式计算所述多个第一分类向量中的各个第一分类特征向量与所述多个第二分类向量中各个第二分类特征向量之间的转移矩阵;其中,所述公式为:yj=Mi,j*xi,其中,xi表示所述多个第一分类向量中的各个第一分类向量,yj表示所述多个第二分类向量中的各个第二分类向量,Mi,j表示所述转移矩阵。

在本申请一个具体的示例中,可以对所述第一特征图进行沿通道维度的全局平均值池化或者全局最大值池化处理以获得所述第二特征矩阵。应可以理解,全局平均值池化使得所述第二特征矩阵中各个位置的特征值更聚焦于各个通道维度上的向量的平均特征,而平均最大值池化使得所述第二特征矩阵中各个位置的特征值更聚焦于各个通道维度上的向量的信息量最大的特征,两者各有优劣可基于实际应用场景和性能表现做出选择。

值得一提的是,在本申请实施例中,所述第一分类向量和所述第二分类向量之间的转移矩阵用于表示所述第一分类向量和所述第二分类向量之间的关联,即,所述微服务资源的服务属性和请求属性之间的关联。

在步骤S2190中,将所述多个转移矩阵输入第二卷积神经网络以获得第二特征图。也就是,以卷积神经网络作为特征提取器提取出所述多个转移矩阵中的高维隐含特征,即,所述微服务资源的服务属性和请求属性之间的关联的高维隐含特征,以有利于提高微服务资源的分组精度。

在步骤S200中,将所述第二特征图通过分类器以获得所述微服务资源归属于每个分组的概率。具体地,在本申请实施例中,将所述第二特征图通过分类器以获得所述微服务资源归属于每个分组的概率的过程,包括:首先,使用所述分类器的一个或多个全连接层对所述第二特征图进行全连接编码以获得分类特征向量。应可以理解,通过全连接层能够充分地利用所述第二特征图中各个位置的信息,以利于提高分组精度。

接着,计算所述分类特征向量分别归属于各个分组的Softmax分类函数值作为所述分类特征向量分别归属于各个分组的概率。也就是,以各个分组作为分类标签计算所述分类特征向量分别归属于各个分类标签的概率值。

在步骤S210中,基于所述微服务资源归属于每个分组的概率,确定所述微服务资源所属的分组。具体地,将概率最大者对应的分组标签作为所述微服务资源所述的分组,通过这样的方式,实现了服务的灰度分组。

综上,本申请实施例的基于动态路由的微服务资源管理方法被阐明,其基于深度学习的神经网络模型来基于微服务资源的服务属性和请求属性对微服务资源进行合理分组,通过这样的方式,使得控制接口能够精确请求到期望的服务器上,来降低整体运维操作复杂度和降低运维成本。

示例性系统

图5图示了根据本申请实施例的基于动态路由的微服务资源管理系统的框图。如图5所示,根据本申请实施例的基于动态路由的微服务资源管理系统 500,包括:服务属性单元 510,用于获取微服务资源的服务属性的描述文本;语义理解单元 520,用于对所述描述文本进行分词处理后通过语义理解模型以获得文本特征向量序列;请求属性单元 530,用于获取与所述微服务资源对应的所有请求的请求属性数据;向量构造单元 540,用于将所述所有所述请求的请求属性数据中每个请求的请求属性数据中的各个数据项分别通过隐马尔可夫模型进行向量编码以获得多个嵌入式向量;第一神经网络单元 550,用于将所述多个嵌入式向量排列为矩阵后通过第一卷积神经网络以获得第一特征图;第一分类向量指定单元 560,用于将所述文本特征向量序列中的每个文本特征向量作为第一分类向量以获得多个第一分类向量;全局池化单元 570,用于对所述第一特征图进行沿通道维度的全局池化处理以获得第二特征矩阵并沿着数据项维度对所述第二特征矩阵进行划分以获得多个第二分类向量;转移矩阵计算单元 580,用于计算所述多个第一分类向量中的各个第一分类特征向量与所述多个第二分类向量中各个第二分类特征向量之间的转移矩阵,以获得多个转移矩阵,所述转移矩阵的数量为所述第一分类向量的数目与所述第二分类向量的数目之间的乘积;第二神经网络单元 590,用于将所述多个转移矩阵输入第二卷积神经网络以获得第二特征图;分类单元 600,用于将所述第二特征图通过分类器以获得所述微服务资源归属于每个分组的概率;以及,分组单元 610,用于基于所述微服务资源归属于每个分组的概率,确定所述微服务资源所属的分组。

在一个示例中,在上述基于动态路由的微服务资源管理系统 500中,如图6所示,其中,所述语义理解单元 520,包括:分词子单元 521,用于对所述描述文本进行基于知识图谱的分词处理以获得多个词;词向量转化子单元 522,用于使用词嵌入模型将所述多个词中的每个词转化为词向量以获得由多个词向量组成的词向量序列;以及,语义特征提取子单元 523,用于将所述词向量序列输入所述语义理解模型以获得所述文本特征向量序列。

在一个示例中,在上述基于动态路由的微服务资源管理系统 500中,所述语义特征提取子单元,进一步用于使用所述语义理解模型的Bert模型将所述词向量序列中的各个词向量转化为词特征向量,以获得由多个词特征向量组成的词特征向量序列;以及,使用所述语义理解模型的双向LSTM模型对所述词特征向量序列进行基于描述文本的上下文编码以获得所述文本特征向量序列。

在一个示例中,在上述基于动态路由的微服务资源管理系统 500中,所述全局池化单元 570,进一步用于对所述第一特征图进行沿通道维度的全局平均值池化或者全局最大值池化处理以获得所述第二特征矩阵。

在一个示例中,在上述基于动态路由的微服务资源管理系统 500中,所述转移矩阵计算单元 580,进一步用于以如下公式计算所述多个第一分类向量中的各个第一分类特征向量与所述多个第二分类向量中各个第二分类特征向量之间的转移矩阵,其中,所述公式为:yj=Mi,j*xi,其中,xi表示所述多个第一分类向量中的各个第一分类向量,yj表示所述多个第二分类向量中的各个第二分类向量,Mi,j表示所述转移矩阵。

在一个示例中,在上述基于动态路由的微服务资源管理系统 500中,所述分类单元 600,进一步用于:使用所述分类器的一个或多个全连接层对所述第二特征图进行全连接编码以获得分类特征向量;以及,计算所述分类特征向量分别归属于各个分组的Softmax分类函数值作为所述分类特征向量分别归属于各个分组的概率。

在一个示例中,在上述基于动态路由的微服务资源管理系统 500中,所述分组单元 610,进一步用于将所述分类特征向量分别归属于各个分组的概率中的最大者对应的分组,确定为所述微服务资源所属的分组。

这里,本领域技术人员可以理解,上述基于动态路由的微服务资源管理系统 500中的各个单元和模块的具体功能和操作已经在上面参考图1到图4的基于动态路由的微服务资源管理方法的描述中得到了详细介绍,并因此,将省略其重复描述。

如上所述,根据本申请实施例的基于动态路由的微服务资源管理系统 500可以实现在各种终端设备中,例如基于动态路由的微服务资源管理算法的服务器等。在一个示例中,根据本申请实施例的基于动态路由的微服务资源管理系统 500可以作为一个软件模块和/或硬件模块而集成到终端设备中。例如,该基于动态路由的微服务资源管理系统 500可以是该终端设备的操作系统中的一个软件模块,或者可以是针对于该终端设备所开发的一个应用程序;当然,该基于动态路由的微服务资源管理系统 500同样可以是该终端设备的众多硬件模块之一。

替换地,在另一示例中,该基于动态路由的微服务资源管理系统 500与该终端设备也可以是分立的设备,并且该基于动态路由的微服务资源管理系统 500可以通过有线和/或无线网络连接到该终端设备,并且按照约定的数据格式来传输交互信息。

示例性电子设备

下面,参考图7来描述根据本申请实施例的电子设备。如图7所示,电子设备包括10包括一个或多个处理器11和存储器12。所述处理器11可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备10中的其他组件以执行期望的功能。

存储器12可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器11可以运行所述程序指令,以实现上文所述的本申请的各个实施例的基于动态路由的微服务资源管理方法的功能以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如服务属性的描述文本,请求属性的各个数据项、分组结果等各种内容。

在一个示例中,电子设备10还可以包括:输入系统13和输出系统14,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。

该输入系统13可以包括例如键盘、鼠标等等。

该输出系统14可以向外部输出各种信息,包括分组结果等。该输出系统14可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图7中仅示出了该电子设备10中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备10还可以包括任何其他适当的组件。

以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。

本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种页面导航方法、设备及可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!