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

专利2022-06-29  52


本申请涉及计算机技术领域,尤其涉及一种微服务处理方法、装置、设备及存储介质。



背景技术:

图1为云应用场景的示意图,如图1所示,一个应用(application,app)由多个互相通信的微服务(microservice,ms)实现。其中,一个应用的功能通常是通过多个事务的执行实现的,一次事务(transaction)执行通常包括一个或多个微服务的调用。如图1所示,事务1的执行包括:ms1、ms6、ms7和ms3的调用,事务2的执行包括:ms1、ms2、ms3、ms4和ms5的调用。应理解,应用的性能受到其事务性能的影响,而事务的性能又受到其微服务执行状况的影响。因此,要改善应用的用户体验,归根结底在于找到影响用户体验的瓶颈微服务,即影响应用执行的关键服务。

相关技术中,通过应用性能指标(applicationperformanceindex,apdex)值来评价应用中的微服务。其中,apdex是目前业界用于评估云计算应用、事务和微服务性能的工业标准。该标准根据应用、事务和微服务对用户请求的响应时间,将其性能量化为范围是0-1的用户满意度评价值,即apdex值,apdex值越低,代表用户体验越差。但考虑到应用执行过程中的不同事务,对于应用业务的意义不同,因此对于用户体验的重要性不同。例如,同样apdex值的微服务节点,其属于关键事务和边缘事务对于用户体验的影响力是不同的。其次,不同微服务节点在调用链拓扑中所处的位置不同,发生故障后的影响力也是不同的。例如,处于调用链拓扑中枢纽位置的微服务节点被调用的总次数,会比处于调用链拓扑中非枢纽位置的微服务节点被调用的总次数大,因此,处于枢纽位置的微服务节点发生故障后的影响力,会大于处于非枢纽位置的微服务点发生故障后的影响力。

可见,相关技术中根据微服务的apdex值来评价应用中的微服务有一定局限性,从而导致用户根据微服务的apdex值执行的相应服务(例如展示服务等)结果所选择的关键微服务不准确。



技术实现要素:

本申请实施例提供一种微服务处理方法、装置、设备及存储介质,解决了相关技术中用户根据微服务的apdex值执行的相应服务结果所选择的关键微服务不准确的技术问题。

第一方面,本申请实施例提供一种微服务处理方法,包括:

获取应用的每个微服务的服务重要性指数;

根据每个该微服务的服务重要性指数执行相应的服务。

本申请实施例中,通过获取应用的每个微服务的服务重要性指数,然后根据该应用的每个微服务的服务重要性指数执行相应的服务。由于应用的任意微服务的服务重要性指数用于指示该微服务对于上述应用执行的重要程度,从而根据上述应用的每个微服务的服务重要性指数所执行的相应服务结果,以便于用户根据服务结果可以准确地识别出对于上述应用重要程度较高的关键微服务。

在一种可能的实现方式中,上述获取应用的每个微服务的服务重要性指数,包括:

针对该应用的每个微服务,获取该微服务在该应用中的以下至少一项信息:该微服务所属的至少一个事务的事务类型、该至少一个事务各自在该应用中的关键度、该至少一个事务各自在该应用中被调用的次数权重、该微服务分别在该至少一个事务中的性能贡献度;

根据该微服务在该应用中的该至少一项信息,确定该微服务在该应用中的服务重要性指数。

本实现方式中,根据上述应用的每个微服务所属事务的特性(例如上述事务类型、事务的关键度和/或事务被调用的次数权重等),和/或每个微服务在所属事务中的性能贡献度,来确定该应用的每个微服务的服务重要性指数,其中,每个微服务的服务重要性指数用于指示该微服务对于上述应用执行的重要程度。

在一种可能的实现方式中,上述根据该微服务在该应用中的该至少一项信息,确定该微服务在该应用中的服务重要性指数,包括:

该确定该微服务在该应用中的服务重要性指数,其中,该服务重要性指数满足以下公式:

其中,s代表该服务重要性指数,ci代表该微服务所属的第i个事务在该应用中的关键度,qi代表该微服务所属的第i个事务在该应用中被调用的次数权重,pi代表该微服务在该第i个事务中的性能贡献度,m代表该微服务所属的该至少一个事务的事务类型的总数量。

在一种可能的实现方式中,获取该微服务分别在该至少一个事务中的性能贡献度,包括:

针对每个该事务,获取该微服务在该事务中的服务指标向量与预设服务指标理想向量之间的第一距离,以及该微服务在该事务中的服务指标向量与预设服务指标反理想向量之间的第二距离;其中,该服务指标向量中包括:至少两个归一化的服务指标参数,该预设服务指标理想向量中的各维度均取预设最差阈值,用于表示服务性能达到预设最差服务性能阈值;该预设服务指标反理想向量中的各维度均取预设最优阈值,用于表示服务性能达到预设最优服务性能阈值;

根据该第一距离和该第二距离,确定该微服务在该事务中的性能贡献度。

本实现方式中,针对每个事务,根据获取到的上述微服务在上述事务中的服务指标向量与预设服务指标理想向量之间的第一距离,以及上述微服务在上述事务中的服务指标向量与预设服务指标反理想向量之间的第二距离,确定上述微服务在上述事务中的性能贡献度,以便于根据应用中每个微服务在所属事务中的性能贡献度,可以确定出上述应用的每个微服务的服务重要性指数,从而根据该应用的每个微服务的服务重要性指数执行相应的服务。

在一种可能的实现方式中,上述根据该第一距离和该第二距离,确定该微服务在该事务中的性能贡献度,包括:

该确定该微服务在该事务中的性能贡献度,其中,该性能贡献度满足以下公式:

其中,p代表该微服务在该事务中的性能贡献度,d 代表该第一距离,d-代表该第二距离。

在一种可能的实现方式中,上述获取该微服务在该事务中的服务指标向量与预设服务指标理想向量之间的第一距离,以及该微服务在该事务中的服务指标向量与预设服务指标反理想向量之间的第二距离,包括:

获取该微服务在该事务中的服务指标向量;

根据该微服务的至少两个服务指标权重参数、该服务指标向量以及该预设服务指标理想向量,确定该第一距离;其中,该至少两个服务指标权重参数的总和等于1;

根据该至少两个服务指标权重参数、该服务指标向量以及该预设服务指标反理想向量,确定该第二距离。

在一种可能的实现方式中,上述获取该微服务在该事务中的服务指标向量,包括:

根据该微服务在该事务中的至少两个服务指标参数,以及该事务中除该微服务之外的其它微服务所对应的至少两个服务指标参数,确定该至少两个服务指标参数所对应的归一化的服务指标参数;

根据该至少两个服务指标参数所对应的归一化的服务指标参数,确定该服务指标向量。

在一种可能的实现方式中,该方法还包括:

接收终端发送的该至少两个服务指标权重参数;或者,

根据默认方式确定该至少两个服务指标权重参数。

在一种可能的实现方式中,获取该至少一个事务各自在该应用中被调用的次数权重,包括:

针对每个该事务,获取预设统计时间段内该事务在该应用中被调用的次数;

根据调用次数阈值和该被调用的次数,确定该事务在该应用中被调用的次数权重。

在一种可能的实现方式中,上述根据调用次数阈值和该被调用的次数,确定该事务在该应用中被调用的次数权重,包括:

确定该事务在该应用中被调用的次数权重,其中,该被调用的次数权重满足以下公式:

其中,q代表该被调用的次数权重,sigmoid()代表sigmoid函数,d代表该被调用的次数,d0代表该调用次数阈值,该c1代表第一预设常数,该c2代表第二预设常数,该c3代表第三预设常数。

本实现方式中,针对每个事务,根据获取的预设统计时间段内上述事务在上述应用中被调用的次数和调用次数阈值,确定上述事务在上述应用中被调用的次数权重,以便于根据应用中每个微服务所属事务的特性(例如上述事务类型、事务的关键度和/或事务被调用的次数权重等),可以确定出上述应用的每个微服务的服务重要性指数,从而根据该应用的每个微服务的服务重要性指数执行相应的服务。

在一种可能的实现方式中,获取该至少一个事务各自在该应用中的关键度,包括:

接收终端发送的该至少一个事务各自在该应用中的关键度。

在一种可能的实现方式中,上述获取该至少一个事务各自在该应用中的关键度,包括:

针对每个该事务,获取预设统计时间段内该事务在该应用中被调用的次数,以及该至少一个事务在该应用中被调用的总次数;

根据该被调用的次数和该被调用的总次数,确定该事务在该应用中的关键度。

在一种可能的实现方式中,上述获取应用的每个微服务的服务重要性指数,包括:

接收终端发送的该应用的每个微服务的服务重要性指数。

在一种可能的实现方式中,该根据每个该微服务的服务重要性指数执行相应的服务,包括:

根据每个该微服务的服务重要性指数,展示至少一个该微服务。

在一种可能的实现方式中,上述根据每个该微服务的服务重要性指数,展示至少一个该微服务,包括:

根据每个该微服务的服务重要性指数,展示该应用的服务拓扑图;其中,该服务拓扑图中包括该应用的至少一个该微服务的节点,且每个该微服务的节点大小与该微服务的服务重要性指数成正向关系,即该微服务的服务重要性指数越大,则该微服务在上述服务拓扑图中的节点更大,以便于用户通过上述服务拓扑图可以直观地查看到上述应用的关键微服务。

在一种可能的实现方式中,上述根据每个该微服务的服务重要性指数,展示该应用的服务拓扑图之前,该方法还包括:

接收查看请求;其中,该查看请求用于请求查看该应用的至少一个微服务;

其中,若该查看请求用于请求查看该应用的每个微服务,则该服务拓扑图中包括该应用的每个微服务的节点;或者,

若该查看请求用于请求查看该应用中按照服务重要性参数由大到小顺序的前n个微服务,则该服务拓扑图中包括该应用的该前n个微服务,其中,该n为大于0的整数。

在一种可能的实现方式中,上述根据每个该微服务的服务重要性指数执行相应的服务,还包括:

根据每个该微服务的服务重要性指数,展示至少一个该微服务的增值服务,以便于用户查看微服务的更多信息。

在一种可能的实现方式中,该增值服务包括以下至少一项:调用链查看、服务指标参数查看、故障预警、告警分级。

第二方面,本申请实施例提供一种微服务处理方法,包括:

向应用性能管理设备发送查看请求;其中,该查看请求中用于请求查看应用的至少一个微服务;

接收该应用性能管理设备根据每个该微服务的服务重要性指数所展示的该应用的服务拓扑图;

其中,该服务拓扑图中包括该应用的至少一个该微服务的节点,且每个该微服务的节点大小与该微服务的服务重要性指数成正向关系;每个该微服务的服务重要性指数与该微服务在该应用中的以下至少一项信息相关联:该微服务所属的至少一个事务的事务类型、该至少一个事务各自在该应用中的关键度、该至少一个事务各自在该应用中被调用的次数权重、该微服务分别在该至少一个事务中的性能贡献度。

本申请实施例中,通过向应用性能管理apm设备发送查看请求,然后接收上述应用性能管理apm设备根据应用的每个微服务的服务重要性指数所展示的上述应用的服务拓扑图,其中,应用的任意微服务的服务重要性指数用于指示该微服务对于上述应用执行的重要程度,上述服务拓扑图中包括上述应用的至少一个微服务的节点,且每个微服务的节点大小与该微服务的服务重要性指数成正向关系,以便于上述终端的用户通过上述服务拓扑图可以直观且准确地识别出对于上述应用重要程度较高的关键微服务。

在一种可能的实现方式中,若该查看请求用于请求查看该应用的每个微服务,则该服务拓扑图中包括该应用的每个微服务的节点;或者,

若该查看请求用于请求查看该应用中按照服务重要性参数由大到小顺序的前n个微服务,则该服务拓扑图中包括该应用的该前n个微服务,其中,该n为大于0的整数。

在一种可能的实现方式中,上述接收该应用性能管理设备根据每个该微服务的服务重要性指数所展示的该应用的服务拓扑图之后,该方法还包括:

接收该应用性能管理设备根据每个该微服务的服务重要性指数所展示的至少一个该微服务的增值服务,以便于用户查看微服务的更多信息。

在一种可能的实现方式中,该增值服务包括以下至少一项:调用链查看、服务指标参数查看、故障预警、告警分级。

第三方面,本申请实施例提供一种微服务处理装置,包括:

获取模块,用于获取应用的每个微服务的服务重要性指数;

执行模块,用于根据每个该微服务的服务重要性参数执行相应的服务。

在一种可能的实现方式中,该获取模块,包括:

获取单元,用于针对该应用的每个微服务,获取该微服务在该应用中的以下至少一项信息:该微服务所属的至少一个事务的事务类型、该至少一个事务各自在该应用中的关键度、该至少一个事务各自在该应用中被调用的次数权重、该微服务分别在该至少一个事务中的性能贡献度;

确定单元,用于根据该微服务在该应用中的该至少一项信息,确定该微服务在该应用中的服务重要性指数。

在一种可能的实现方式中,该确定单元具体用于:

该确定该微服务在该应用中的服务重要性指数,其中,该服务重要性指数满足以下公式:

其中,s代表该服务重要性指数,ci代表该微服务所属的第i个事务在该应用中的关键度,qi代表该微服务所属的第i个事务在该应用中被调用的次数权重,pi代表该微服务在该第i个事务中的性能贡献度,m代表该微服务所属的该至少一个事务的事务类型的总数量。

在一种可能的实现方式中,该获取单元包括:

第一获取子单元,用于针对每个该事务,获取该微服务在该事务中的服务指标向量与预设服务指标理想向量之间的第一距离,以及该微服务在该事务中的服务指标向量与预设服务指标反理想向量之间的第二距离;其中,该服务指标向量中包括:至少两个归一化的服务指标参数,该预设服务指标理想向量中的各维度均取预设最差阈值,用于表示服务性能达到预设最差服务性能阈值;该预设服务指标反理想向量中的各维度均取预设最优阈值,用于表示服务性能达到预设最优服务性能阈值;

第一确定子单元,用于根据该第一距离和该第二距离,确定该微服务在该事务中的性能贡献度。

在一种可能的实现方式中,该第一确定子单元具体用于:

该确定该微服务在该事务中的性能贡献度,其中,该性能贡献度满足以下公式:

其中,p代表该微服务在该事务中的性能贡献度,d 代表该第一距离,d-代表该第二距离。

在一种可能的实现方式中,该第一获取子单元具体用于:

获取该微服务在该事务中的服务指标向量;

根据该微服务的至少两个服务指标权重参数、该服务指标向量以及该预设服务指标理想向量,确定该第一距离;其中,该至少两个服务指标权重参数的总和等于1;

根据该至少两个服务指标权重参数、该服务指标向量以及该预设服务指标反理想向量,确定该第二距离。

在一种可能的实现方式中,该第一获取子单元具体用于:

根据该微服务在该事务中的至少两个服务指标参数,以及该事务中除该微服务之外的其它微服务所对应的至少两个服务指标参数,确定该至少两个服务指标参数所对应的归一化的服务指标参数;

根据该至少两个服务指标参数所对应的归一化的服务指标参数,确定该服务指标向量。

在一种可能的实现方式中,该第一获取子单元还用于:

接收终端发送的该至少两个服务指标权重参数;或者,

根据默认方式确定该至少两个服务指标权重参数。

在一种可能的实现方式中,该获取单元包括:

第二获取子单元,用于针对每个该事务,获取预设统计时间段内该事务在该应用中被调用的次数;

第二确定子单元,用于根据调用次数阈值和该被调用的次数,确定该事务在该应用中被调用的次数权重。

在一种可能的实现方式中,该第二确定子单元具体用于:

确定该事务在该应用中被调用的次数权重,其中,该被调用的次数权重满足以下公式:

其中,q代表该被调用的次数权重,sigmoid()代表sigmoid函数,d代表该被调用的次数,d0代表该调用次数阈值,该c1代表第一预设常数,该c2代表第二预设常数,该c3代表第三预设常数。

在一种可能的实现方式中,该获取单元具体用于:

接收终端发送的该至少一个事务各自在该应用中的关键度。

在一种可能的实现方式中,该获取单元具体用于:

针对每个该事务,获取预设统计时间段内该事务在该应用中被调用的次数,以及该至少一个事务在该应用中被调用的总次数;

根据该被调用的次数和该被调用的总次数,确定该事务在该应用中的关键度。

在一种可能的实现方式中,该获取模块具体用于:

接收终端发送的该应用的每个微服务的服务重要性指数。

在一种可能的实现方式中,该执行模块包括:

第一展示单元,用于根据每个该微服务的服务重要性指数,展示至少一个该微服务。

在一种可能的实现方式中,该第一展示单元具体用于:

根据每个该微服务的服务重要性指数,展示该应用的服务拓扑图;其中,该服务拓扑图中包括该应用的至少一个该微服务的节点,且每个该微服务的节点大小与该微服务的服务重要性指数成正向关系。

在一种可能的实现方式中,该执行模块还包括:

接收单元,用于接收查看请求;其中,该查看请求用于请求查看该应用的至少一个微服务;

其中,若该查看请求用于请求查看该应用的每个微服务,则该服务拓扑图中包括该应用的每个微服务的节点;或者,

若该查看请求用于请求查看该应用中按照服务重要性参数由大到小顺序的前n个微服务,则该服务拓扑图中包括该应用的该前n个微服务,其中,该n为大于0的整数。

在一种可能的实现方式中,该执行模块还包括:

第二展示单元,用于根据每个该微服务的服务重要性指数,展示至少一个该微服务的增值服务。

在一种可能的实现方式中,该增值服务包括以下至少一项:调用链查看、服务指标参数查看、故障预警、告警分级。

第四方面,本申请实施例提供一种微服务处理装置,包括:

发送模块,用于向应用性能管理设备发送查看请求;其中,该查看请求中用于请求查看应用的至少一个微服务;

接收模块,用于接收该应用性能管理设备根据每个该微服务的服务重要性指数所展示的该应用的服务拓扑图;

其中,该服务拓扑图中包括该应用的至少一个该微服务的节点,且每个该微服务的节点大小与该微服务的服务重要性指数成正向关系;每个该微服务的服务重要性指数与该微服务在该应用中的以下至少一项信息相关联:该微服务所属的至少一个事务的事务类型、该至少一个事务各自在该应用中的关键度、该至少一个事务各自在该应用中被调用的次数权重、该微服务分别在该至少一个事务中的性能贡献度。

在一种可能的实现方式中,若该查看请求用于请求查看该应用的每个微服务,则该服务拓扑图中包括该应用的每个微服务的节点;或者,

若该查看请求用于请求查看该应用中按照服务重要性参数由大到小顺序的前n个微服务,则该服务拓扑图中包括该应用的该前n个微服务,其中,该n为大于0的整数。

在一种可能的实现方式中,该接收模块还用于:

接收该应用性能管理设备根据每个该微服务的服务重要性指数所展示的至少一个该微服务的增值服务。

在一种可能的实现方式中,该增值服务包括以下至少一项:调用链查看、服务指标参数查看、故障预警、告警分级。

第五方面,本申请实施例提供一种应用性能管理设备,包括:处理器和存储器;

其中,该存储器,用于存储程序指令;

该处理器,用于调用并执行该存储器中存储的程序指令,当该处理器执行该存储器存储的程序指令时,该应用性能管理设备用于执行如上述第一方面或第一方面的任意可能的实现方式所述的方法。

第六方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得该计算机执行如上述第一方面或第一方面的任意可能的实现方式所述的方法。

第七方面,本申请实施例提供一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现上述第一方面或第一方面的任意可能的实现方式所述的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。

第八方面,本申请实施例提供一种程序,该程序在被处理器执行时用于执行上述第一方面或第一方面的任意可能的实现方式所述的方法。

第九方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意可能的实现方式所述的方法。

第十方面,本申请实施例提供一种终端,包括:处理器和存储器;

其中,所述存储器,用于存储程序指令;

该处理器,用于调用并执行该存储器中存储的程序指令,当该处理器执行该存储器存储的程序指令时,该终端用于执行如上述第二方面或第二方面的任意可能的实现方式所述的方法。

第十一方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得该计算机执行如上述第二方面或第二方面的任意可能的实现方式所述的方法。

第十二方面,本申请实施例提供一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现上述第二方面或第二方面的任意可能的实现方式所述的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。

第十三方面,本申请实施例提供一种程序,该程序在被处理器执行时用于执行上述第二方面或第二方面的任意可能的实现方式所述的方法。

第十四方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面或第二方面的任意可能的实现方式所述的方法。

附图说明

图1为云应用场景的示意图;

图2为本申请实施例提供的应用场景的结构示意图;

图3为相关技术提供的单次用户体验与响应时间之间的关系示意图;

图4为相关技术提供的用户总体体验与apdex值之间的关系示意图;

图5为相关技术提供的支付微服务调用的示意图;

图6为本申请实施例提供的web购物应用的处理流程示意图;

图7为本申请实施例提供的调用链拓扑的结构示意图;

图8为本申请一实施例提供的微服务处理方法的流程示意图;

图9为本申请实施例提供的web购物应用的调用链拓扑的结构示意图;

图10为本申请实施例提供的web购物应用的不同事务关键度的示意图;

图11为本申请实施例提供的web购物应用的不同事务中的不同微服务的相关信息的示意图;

图12为本申请实施例提供的web购物应用的不同微服务在不同事务中的相关信息的示意图;

图13为相关技术提供的应用调用链拓扑示意图;

图14为本申请实施例提供的应用的服务拓扑示意图;

图15为本申请另一实施例提供的微服务处理方法的流程示意图;

图16为本申请实施例提供的web购物应用中各事务对应的各微服务的服务指标参数的示意图;

图17为本申请实施例提供的web购物应用中的各微服务在各事务中的归一化的服务指标参数示意图;

图18为本申请实施例提供的服务指标权重参数的示意图;

图19为本申请实施例提供的服务指标向量的空间示意图;

图20为本申请实施例提供的支付管理事务中的各微服务归一化的服务指标参数和性能贡献度的示意图;

图21为本申请另一实施例提供的微服务处理方法的流程示意图;

图22为本申请实施例提供的sigmoid函数的示意图;

图23为本申请实施例提供的变式后的sigmoid函数的示意图;

图24为本申请实施例提供的调用链拓扑的部分示意图;

图25为本申请另一实施例提供的微服务处理方法的流程示意图;

图26为本申请另一实施例提供的微服务处理方法的流程示意图;

图27为本申请一实施例提供的微服务处理装置的结构示意图;

图28为本申请另一实施例提供的微服务处理装置的结构示意图;

图29为本申请实施例提供的应用性能管理设备的结构示意图;

图30为本申请实施例提供的终端的结构示意图。

具体实施方式

首先,对本申请实施例所涉及的应用场景和部分词汇进行解释说明。

图2为本申请实施例提供的应用场景的结构示意图。如图2所示,本申请实施例提供的应用场景中可以包括但不限于:终端01、应用性能管理(applicationperformancemanagement,apm)设备02以及数据库03;其中,数据库03中存储有至少一个应用的监控数据。示例性地,上述apm设备02可以包括但不限于以下任一项:单独的服务器,或者服务器集群。

一种可能的实现方式中,上述apm设备可以对上述数据库03中的任意待监测应用的监控数据进行微服务处理,确定出该应用的每个微服务的服务重要性指数,然后根据该应用的每个微服务的服务重要性指数执行相应的服务,例如展示该应用的至少一个微服务,和/或该至少一个微服务的增值服务等,以便于用户可以根据服务结果准确地识别出与该应用的业务特性相吻合的关键微服务。

示例性地,上述数据库03中的任意应用的监控数据可以包括但不限于:上述应用的多个微服务的运行参数,例如每个微服务在上述应用中所属事务的事务类型、每个事务在上述应用的执行过程中被调用的次数等运行参数。

应理解,上述数据库03中的任意应用的监控数据可以为上述数据库03所属的设备从用于运行上述应用的多个微服务的服务器中所获取的,或者可以为上述服务器存储到上述数据库03中的。例如,上述数据库03中的任意应用的监控数据可以为上述数据库03所属的设备通过埋点的方式从上述服务器中获取的。当然,上述数据库03中的任意应用的监控数据还可以为通过其它方式或者从其它设备处获取的,本申请实施例中对此并不作限定。

示例性地,上述增值服务可以包括但不限于以下至少一项:调用链查看、服务指标参数查看、故障预警、告警分级。

另一种可能的实现方式中,上述apm设备可以接收用户输入的任意待监测应用的每个微服务的服务重要性指数,然后根据该应用的每个微服务的服务重要性指数执行相应的服务,例如展示该应用的至少一个微服务,和/或该至少一个微服务的增值服务等,以便于用户可以根据服务结果准确地识别出与该应用的业务特性相吻合的关键微服务。

应理解,上述apm设备可以向上述终端展示该应用的至少一个微服务,和/或该至少一个微服务的增值服务等,上述apm设备也可以给自己展示该应用的至少一个微服务,和/或该至少一个微服务的增值服务等。

本申请实施例中,执行apm设备侧方法的执行主体可以是apm设备,也可以是apm设备中的微服务处理装置(需要说明的是,在本申请提供的实施例中以apm设备为例进行描述的)。示例性地,上述apm设备中的微服务处理装置可以通过软件和/或硬件实现,本申请不作限制。

本申请实施例中,执行终端侧方法的执行主体可以是终端,也可以是终端中的微服务处理装置(需要说明的是,在本申请提供的实施例中以终端为例进行描述的)。示例性地,终端中的微服务处理装置可以通过软件和/或硬件实现,本申请不作限制。

本申请涉及的终端可以包括但不限于:笔记本电脑、台式电脑、平板电脑,或者智能手机。

本申请所涉及的终端可以包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。该硬件层包括中央处理器(dentralprocessingunit,cpu)、内存管理单元(memorymanagementunit,mmu)和内存(也称为主存)等硬件。该操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,linux操作系统、unix操作系统、android操作系统、ios操作系统或windows操作系统等。该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用。

本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。

相关技术中,通过apdex值来评价应用中的微服务。其中,apdex是目前业界用于评估云计算应用、事务和微服务性能的工业标准。该标准根据应用、事务和微服务对用户请求的响应时间,将其性能量化为范围是0-1的用户满意度评价值,即apdex值,apdex值越低,代表用户体验越差。通常用户体验包括三个等级:当任务高效执行,即执行过程不被打断时,则用户体验为满意;当任务的执行过程有所减慢,即执行效率受损时,则用户体验为可容忍;当任务的执行过于缓慢引起情绪,即用户将停止任务执行时,则用户体验为沮丧。

为了便于理解apdex,下述部分会对apdex的定义进行介绍:

1)术语

用户可设置应用、事务或微服务的响应时间最优门槛为t。图3为相关技术提供的单次用户体验与响应时间之间的关系示意图,当用户请求响应成功时,根据应用、事务或微服务对用户请求的实际响应时间和预设门槛阈值t(例如用户设置的应用、事务或微服务对用户请求的响应时间最优门槛值),可以将用户对该应用、事务或微服务的用户体验分为如图3所示的三种不同的用户体验的等级:

①满意(satisfied):当应用、事务或微服务的实际响应时间低于或等于上述门槛阈值t时,用户对该应用、事务或微服务的用户体验的等级为满意。

②可容忍(tolerating):当应用、事务或服务的实际响应时间大于上述门槛阈值t,且小于4t时,则用户对该应用、事务或微服务的用户体验的等级为可容忍。

③沮丧(frustrated):当应用、事务或服务的实际响应时间大于4t时,则用户对该应用、事务或微服务的用户体验的等级为沮丧。

2)计算公式

当用户使用一段时间的应用时,通过统计这段时间内用户体验的等级分布,可以得到不同等级的发生总次数。

apdex取值的计算公式可以如下:

apdex=(用户体验的等级为满意的总次数 用户体验的等级为可容忍的总次数*0.5)/总次数

其中,总次数包括执行成功的用户请求总数和执行错误的用户请求总数。

图4为相关技术提供的用户总体体验与apdex值之间的关系示意图,如图4所示,当apdex值小于0.3时,认为这段时间内的用户总体体验较差;当apdex值大于0.3,且小于0.75时,认为这段时间内的用户总体体验一般;当apdex值大于0.75,且小于1时,认为这段时间内的用户总体体验为满意。

图5为相关技术提供的支付微服务调用的示意图,如图5所示,在观测时间段t0内,假设用户发生200次支付微服务调用,用户设置支付微服务响应时间的预设门槛阈值t为1.5s,通过统计可知:支付微服务执行成功180次,执行错误20次,其中执行成功各次的用户体验等级分布如下:支付微服务的实际响应时间<1.5s,用户体验的等级为满意,共发生50次;1.5s<支付微服务的实际响应时间<6s,用户体验的等级为可容忍,共发生100次;支付微服务的实际响应时间>6s,用户体验的等级为沮丧,共发生30次。因此,apdex=(50 100*0.5)/200=0.5,即apdex值大于0.3,且小于0.75,则认为这段时间内用户对于支付微服务的用户总体体验一般。

相关技术中认为apdex值低的微服务是影响应用的关键微服务,但考虑到应用执行过程中的不同事务,对于应用业务的意义不同,因此对于用户体验的重要性不同。

图6为本申请实施例提供的全球广域网(worldwideweb,web)购物应用的处理流程示意图,如图6所示,web购物应用的事务类型包括两类:关键事务(与应用业务基础功能的执行密切相关,出错会对用户体验的影响较大的事务)和边缘事务(是应用业务的附加功能,出错会对用户体验的影响较小的事务)。其中,关键事务可以包括但不限于:登录管理事务、查询商品事务、浏览商品信息事务、订单管理事务、物流管理事务和支付管理事务。边缘事务可以包括但不限于:商品推荐事务、评价管理事务和红包管理事务。

例如,对于支付管理事务,当用户进行一系列操作到达支付操作时,如果支付时延过长,如支付管理事务对用户支付请求的实际响应时间过长,则用户将放弃支付操作,会对应用业务造成损失。因此,支付管理事务对于用户体验较为关键,属于关键事务上的微服务对用户体验的影响力也较大,更易于成为用户体验的瓶颈服务点。反之,对于商品推荐事务、评价管理事务和红包管理事务等这些边缘事务,如果出错对于用户体验没有显著的影响,属于边缘事务上的微服务对用户体验的影响力也较小。

可见,同样apdex值的微服务节点,其属于关键事务和边缘事务对于用户体验的影响力是不同的。

其次,不同微服务节点在调用链拓扑中所处的位置不同,发生故障后的影响力也是不同的。通常情况下,处于调用链拓扑中枢纽位置的微服务节点被调用的总次数,会比处于调用链拓扑中非枢纽位置的微服务节点被调用的总次数大,因此,处于枢纽位置的微服务节点发生故障后的影响力,会大于处于非枢纽位置的微服务点发生故障后的影响力。

图7为本申请实施例提供的调用链拓扑的结构示意图,如图7所示,微服务ms3的apdex值与微服务ms4的apdex值相同,但是微服务ms3处于链拓扑中枢纽位置,被事务1和事务2同时调用;而微服务ms4处于调用链拓扑中非枢纽位置,只被事务2调用。可见,虽然这两个微服务的apdex值相同,但微服务ms3性能优劣会同时影响事务1和事务2的执行;而微服务ms4性能优劣只会影响事务1,因此,微服务ms3对于用户体验的影响力要大于微服务ms4对于用户体验的影响力。

综上所述,相关技术中根据微服务的apdex值来评价应用中的微服务有一定局限性,从而导致用户根据微服务的apdex值执行的相应服务(例如展示服务等)结果所选择的关键微服务不准确。

本申请实施例中,上述apm设备可以根据应用的每个微服务的服务重要性指数执行相应的服务,例如展示该应用的至少一个微服务,和/或该至少一个微服务的增值服务等。由于应用的任意微服务的服务重要性指数可以指示该微服务对于上述应用执行的重要程度,从而根据上述应用的每个微服务的服务重要性指数所执行的相应服务结果,有利于用户可以根据服务结果准确地识别出与该应用的业务特性相吻合的关键微服务。

示例性地,上述apm设备会根据应用的每个微服务所属事务的特性(例如上述事务类型、事务的关键度和/或事务被调用的次数权重等),和/或每个微服务在所属事务中的性能贡献度,来确定该应用的每个微服务的服务重要性指数,其中,每个微服务的服务重要性指数用于指示该微服务对于上述应用执行的重要程度。若该微服务在上述应用中的服务重要性指数越大,则表示该微服务对于上述应用执行的重要程度越高;或者,若该微服务在上述应用中的服务重要性指数越小,则表示该微服务对于上述应用执行的重要程度越低。

本申请实施例中涉及的任意事务在应用中被调用的次数是指该事务在上述应用的执行过程中被上述服务器调用的次数。

下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。

图8为本申请一实施例提供的微服务处理方法的流程示意图。本申请实施例中以执行主体为上述apm设备为例对微服务处理方法的可实现方式进行介绍。如图8所示,本申请实施例的方法可以包括:

步骤s801、获取应用的每个微服务的服务重要性指数。

本申请实施例中涉及的任意微服务在应用中的服务重要性指数用于指示该微服务对于上述应用执行的重要程度。若该微服务在上述应用中的服务重要性指数越大,则表示该微服务对于上述应用执行的重要程度越高;或者,若该微服务在上述应用中的服务重要性指数越小,则表示该微服务对于上述应用执行的重要程度越低。

示例性地,任意应用的任意微服务的服务重要性指数可以通过服务重要性指数(serviceimportanceindex,sidex)来指示,其中,sidex越大表示服务重要性指数越大;sidex越小表示服务重要性指数越小。

一种可能的实现方式中,上述apm设备可以接收用户输入的上述应用的每个微服务的服务重要性指数。

示例性地,上述apm设备可以接收该apm设备的用户所输入的上述应用的每个微服务的服务重要性指数,或者可以接收上述终端的用户通过该终端所发送的上述应用的每个微服务的服务重要性指数。需要说明的是,上述应用的任意微服务的服务重要性指数可以是用户根据该微服务对于该应用执行的重要程度来设置的,例如,服务重要性指数可以包括但不限于以下5个等级:1、0.8、0.6、0.4和0.2。

另一种可能的实现方式中,针对上述应用的每个微服务,获取该微服务在该应用中的以下至少一项信息:该微服务所属的至少一个事务的事务类型、上述至少一个事务各自在该应用中的关键度、上述至少一个事务各自在该应用中被调用的次数权重、该微服务分别在上述至少一个事务中的性能贡献度;进一步地,根据该微服务在该应用中的上述至少一项信息,确定该微服务在该应用中的服务重要性指数。

本申请实施例中,一个应用的功能通常是通过多个事务的执行实现的,一次事务执行通常包括一个或多个微服务的调用,即可以理解为一个应用由多个互相通信的微服务实现。

本实现方式中,针对任意应用的每个微服务,上述apm设备可以获取该微服务在该应用中的以下至少一项信息:该微服务在该应用中所属的至少一个事务的事务类型、上述至少一个事务各自在该应用中的关键度、上述至少一个事务各自在该应用中被调用的次数权重、该微服务分别在上述至少一个事务中的性能贡献度。

应理解,上述微服务在上述应用中所属的任意事务是指:在上述应用的执行过程中,上述服务器调用了该事务,且上述服务器在执行该事务过程中调用了上述微服务,则上述事务便为上述微服务器在上述应用中所属的一个事务。

图9为本申请实施例提供的web购物应用的调用链拓扑的结构示意图,如图9所示,上述服务器在执行web购物应用的支付管理事务过程中调用了负载均衡微服务、订单微服务、支付微服务和数据库,上述服务器在执行web购物应用的登录管理事务过程中调用了负载均衡微服务、登录微服务、缓存和数据库,上述服务器在执行web购物应用的物流管理事务过程中调用了负载均衡微服务、订单微服务、物流微服务和数据库,上述服务器在执行web购物应用的评价管理事务过程中调用了负载均衡微服务、评价微服务和数据库。其中,上述数据库可以包括但不限于:mysql数据库,和/或,上述缓存可以包括但不限于:数据管理系统(datamanagementsystem,dms)缓存。例如,上述负载均衡微服务在上述web购物应用中所属的事务至少包括:上述支付管理事务、上述登录管理事务、上述物流管理事务和上述评价管理事务。

本申请实施例中涉及的任意事务在上述应用中的关键度用于指示该事务对于上述应用执行的相对重要程度。若该事务在上述应用中的关键度越大,则表示该事务对于上述应用执行的相对重要程度越高;或者,若该事务在上述应用中的关键度越小,则表示该事务对于上述应用执行的相对重要程度越低。

本申请实施例中涉及的任意事务在上述应用中被调用的次数权重是指该事务在上述应用的执行过程中被上述服务器调用的次数权重,用于指示该事务对于上述应用执行的影响力。若上述事务在上述应用中被调用的次数权重越大,则表示上述事务对于上述应用执行的影响力越大;或者,若上述事务在上述应用中被调用的次数权重越小,则表示上述事务对于上述应用执行的影响力越小。

本申请实施例中涉及的任意事务在上述应用中被调用的次数是指该事务在上述应用的执行过程中被上述服务器调用的次数。

本申请实施例中涉及的上述微服务在任意事务中的性能贡献度用于指示上述微服务对该事务的性能影响程度。若上述微服务在该事务中的性能贡献度越大,则表示上述微服务对该事务的性能影响程度越大;或者,若上述微服务在该事务中的性能贡献度越小,则表示上述微服务对该事务的性能影响程度越小。

示例性地,上述微服务在任意事务中的性能贡献度可以通过性能贡献指数(performancecontributionindex,pcdex)来指示,其中,pcdex越大表示性能贡献度越大;pcdex越小表示性能贡献度越小。

可选地,上述apm设备可以从上述数据库获取到上述应用中的至少一个微服务的运行参数,例如每个微服务在上述应用中所属的至少一个事务的事务类型、每个事务在上述应用的执行过程中被调用的次数等运行参数。当然,上述apm设备还可以通过其它方式获取到上述应用中的至少一个微服务的运行参数。

可选地,本申请实施例的下述部分对上述apm设备如何获取上述至少一个事务各自在该应用中的关键度的可实现方式进行介绍:

一种可能的实现方式中,接收上述终端发送的上述至少一个事务各自在该应用中的关键度。

本实现方式中,上述apm设备可以接收上述终端的用户通过该终端所发送的上述至少一个事务各自在该应用中的关键度。示例性地,上述至少一个事务各自在该应用中的关键度可以携带在上述终端向上述apm设备所发送的配置请求中;当然还可以携带在其它消息中,本申请实施例中对此并不作限定。

例如,如图9所示的web购物应用的调用链拓扑,web购物应用主要包括4个事务:支付管理事务、登录管理事务、物流管理事务和评价管理事务。其中,每个事务对于上述web购物应用的意义不同,因此,每个事务在上述应用中的关键度不同。假设事务的关键度取值可以包括以下5个等级:1,0.8,0.6,0.4,0.2,其中,事务的关键度取值越大表示该事务对于应用执行的相对重要程度越高,对于用户体验的影响力越大。图10为本申请实施例提供的web购物应用的不同事务关键度的示意图,如图10所示,上述用户可以根据上述web购物应用的业务特性自定义地设置每个事务的关键度,其中,支付管理事务对于web购物应用最为重要,对web购物应用的用户体验影响最大,其关键度可以设置为1;评价管理事务对web购物应用的用户体验影响最小,其关键度可以设置为0.2;登录管理事务和物流管理事务对web购物应用的用户体验影响一般,其关键度居中可以设置为0.4。

另一种可能的实现方式中,针对每个上述事务,获取预设统计时间段内该事务在该应用中被调用的次数,以及上述至少一个事务在该应用中被调用的总次数,然后根据上述被调用的次数和上述被调用的总次数,确定该事务在该应用中的关键度。

本实现方式中,上述apm设备可以从上述数据库获取预设统计时间段内上述至少一个事务中的每个事务在该应用中被调用的次数,以及上述至少一个事务在该应用中被调用的总次数。然后,针对上述至少一个事务中的每个事务,上述apm设备可以按照默认方式根据该事务在该应用中被调用的次数与上述至少一个事务在该应用中被调用的总次数的商,确定该事务在该应用中的关键度。例如,该事务在该应用中的关键度可以满足以下公式:该事务在该应用中被调用的次数/上述至少一个事务在该应用中被调用的总次数;当然,该事务在该应用中的关键度还可以满足该公式的其它变形公式或者等效公式。

应理解,上述apm设备还可以通过其它方式获取到上述预设统计时间段内每个事务在该应用中被调用的次数,以及上述至少一个事务在该应用中被调用的总次数。

当然,上述apm设备还可以通过其它方式获取上述至少一个事务各自在该应用中的关键度,例如,上述apm设备还可以接收上述apm设备的用户输入的上述至少一个事务各自在该应用中的关键度等。

本申请的下述实施例会对上述apm设备如何获取上述至少一个事务各自在该应用中被调用的次数权重以及该微服务分别在上述至少一个事务中的性能贡献度的可实现方式进行介绍,具体内容可以详见下述实施例中的相应内容。

进一步地,针对上述应用的每个微服务,上述apm设备可以根据该微服务在该应用中的上述至少一项信息,确定该微服务在该应用中的服务重要性指数。

示例性地,上述apm设备确定上述微服务在上述应用中的服务重要性指数,其中,上述服务重要性指数可以满足以下服务重要性指数公式:

其中,s代表上述服务重要性指数,ci代表上述微服务所属的第i个事务在上述应用中的关键度,qi代表上述微服务所属的第i个事务在上述应用中被调用的次数权重,pi代表上述微服务在上述第i个事务中的性能贡献度(或者称之为性能贡献指数pcdex),m代表上述微服务所属的上述至少一个事务的事务类型的总数量,m可以为大于0的整数。

需要说明的是,ci与qi的乘积可以代表上述微服务所属的第i个事务在上述应用中的权重。

当然,上述服务重要性指数还可以满足上述服务重要性指数公式的其它变形公式或者等效公式。

应理解,上述服务重要性指数公式中的部分参数(例如ci或qi)也可以省略,即上述apm设备可以根据上述微服务在上述应用中所属的至少一个事务的事务类型、上述至少一个事务各自在该应用中的关键度、上述至少一个事务各自在该应用中被调用的次数权重和上述微服务分别在上述至少一个事务中的性能贡献度中的部分信息,便可确定上述微服务在上述应用中的服务重要性指数。

可见,上述apm设备可以根据上述应用的每个微服务所属事务的特性(例如上述事务类型、事务的关键度和/或事务被调用的次数权重等),和/或每个微服务在所属事务中的性能贡献度,来确定该应用的每个微服务的服务重要性指数,其中,每个微服务的服务重要性指数用于指示该微服务对于上述应用执行的重要程度。

图11为本申请实施例提供的web购物应用的不同事务中的不同微服务的相关信息的示意图,图12为本申请实施例提供的web购物应用的不同微服务在不同事务中的相关信息的示意图,结合图11、图12所示的信息以及上述公式,便可以确定出不同微服务在web购物应用中的服务重要性指数(或者称之为服务重要性指数sidex),如图12中的最后一列。

例如,如图12所示,上述apm设备根据每个微服务在上述web购物应用中的服务重要性指数sidex,可以确定出服务重要性指数sidex较高的支付微服务、订单微服务和登录微服务作为上述web购物应用的关键微服务。

结合图11和图12所示,根据预设统计时间段各微服务的相关指标信息可以看出:1)支付微服务在预设统计时间段内的错误率较高,同时支付微服务被关键度最大的支付管理事务调用,因此,支付微服务在上述web购物应用中的服务重要性指数sidex最大。2)订单微服务在预设统计时间段内的服务时延贡献度较大,同时被关键度最大的支付管理事务调用,因此,订单微服务在上述web购物应用中的服务重要性指数sidex也较大。但因为错误率的指标重要性低于服务时延贡献度,因此,订单微服务的sidex低于支付微服务的sidex。3)登录微服务在预设统计时间段内的服务时延贡献度和错误率均较高,但由于登录微服务参与的登录管理事务的关键度一般,因此,登录微服务的sidex低于支付微服务和订单微服务。4)评价微服务的服务时延贡献度和错误率也较高,但由于评价微服务参与的评价管理事务的业务重要性较低,因此,评价微服务对上述web购物应用的业务影响力较小,在上述web购物应用中的重要程度较小。可见,根据服务重要性指数sidex可以有利于用户准确地识别出对于应用重要程度较高的微服务,即应用的关键服务。

当然,上述apm设备还可以通过其它方式,获取上述应用的每个微服务的服务重要性指数,本申请实施例中对此并不作限定。

步骤s802、根据每个上述微服务的服务重要性参数执行相应的服务。

本步骤中,上述apm设备可以根据上述应用的每个微服务的服务重要性参数来执行相应的服务,例如展示该应用的至少一个微服务,和/或该至少一个微服务的增值服务等,以便于用户可以根据服务结果准确地识别出与该应用的业务特性相吻合的关键微服务。

示例性地,上述apm设备可以向上述终端展示该应用的至少一个微服务,和/或该至少一个微服务的增值服务等,以便于上述终端的用户可以根据服务结果准确地识别出与该应用的业务特性相吻合的关键微服务。又一示例性地,上述apm设备可以给自己展示该应用的至少一个微服务,和/或该至少一个微服务的增值服务等,以便于上述apm设备的用户可以根据服务结果准确地识别出与该应用的业务特性相吻合的关键微服务。

一种可能的实现方式中,根据上述应用的每个微服务的服务重要性指数,展示该应用的至少一个微服务。

示例性地,上述apm设备可以根据上述应用的每个微服务的服务重要性指数,展示该应用的服务拓扑图;其中,该服务拓扑图中包括该应用的至少一个微服务的节点,且每个微服务的节点大小与该微服务的服务重要性指数成正向关系,即该微服务的服务重要性指数越大,则该微服务在上述服务拓扑图中的节点更大,以便于用户通过上述服务拓扑图可以直观地查看到上述应用的关键微服务。

需要说明的是,上述apm设备还可以在上述服务拓扑图中采用不同的节点颜色来表示微服务节点的实时运行性能。例如,若任意微服务的实时运行性能很差,则该微服务在上述服务拓扑图中的节点颜色可以为红色;若任意微服务的实时运行性能一般,则该微服务在上述服务拓扑图中的节点颜色可以为黄色;若任意微服务的实时运行性能很好,则该微服务在上述服务拓扑图中的节点颜色可以为绿色。

可选地,上述apm设备可以在接收到用于请求查看上述应用的至少一个微服务的查看请求后,根据上述应用的每个微服务的服务重要性指数,展示该应用的服务拓扑图。示例性地,上述查看请求中可以携带上述应用的标识,还可以携带所请求查看的微服务的数量;当然还可以携带其它信息,本申请实施例中对此并不作限定。

应理解,若上述查看请求用于请求查看上述应用的每个微服务,例如,上述查看请求中没有携带所请求查看的微服务的数量,即可以默认请求查看上述应用的每个微服务,则上述服务拓扑图中包括上述应用的每个微服务的节点。或者,若上述查看请求用于请求查看上述应用中按照服务重要性参数由大到小顺序的前n个微服务,例如,上述查看请求中携带上述n,则上述服务拓扑图中包括上述应用的上述前n个微服务,其中,该n为大于0的整数。

需要说明的是,上述查看请求可以为上述终端的用户通过上述终端向上述apm设备所发送的,或者,上述查看请求可以为上述apm设备的用户向上述apm设备所输入的。

图13为相关技术提供的应用调用链拓扑示意图,如图13所示,每个圆圈代表一个微服务,应用调用链拓扑示意图中的微服务数量较多,且通过apdex值来反映微服务的实时运行状况,可见,用户比较难以直观地识别出影响用户体验的瓶颈微服务,或者关键微服务。

图14为本申请实施例提供的应用的服务拓扑示意图,如图14所示,上述应用的服务拓扑图中每个微服务的节点大小可以直观地表示该微服务的服务重要性指数,即可以直观地表示该微服务对于上述应用执行的重要程度。其中,任意微服务的重要程度越高,则该微服务在上述服务拓扑图中的节点更大;反之,任意微服务的重要程度越低,则该微服务在上述服务拓扑图中的节点越小。

图14中的评价微服务的apdex值较低,表明评价微服务实时性能较差;其余微服务的apdex取值较高,表明这些微服务实时性能较高;若用户按照相关技术中的根据apdex值的展示结果来选择应用的关键微服务,则会认为影响用户体验的瓶颈微服务为评价微服务。但是对于web购物应用根据其业务特性可知:评价管理事务为边缘事务,其调用链上的评价微服务性能优劣对于用户体验的影响力较低。因此,简单的使用apdex判断影响用户体验的瓶颈微服务忽略了应用的业务特性,所选择的瓶颈微服务没有实际意义。

相比之下,根据本申请实施例提供的按照应用的每个微服务的服务重要性指数的展示结果所选择的关键微服务,从图14中可以看出支付微服务、订单微服务和登录微服务的节点直径相对较大,用户可以直观地看出这些微服务重要程度较高,并且这些微服务与web购物应用的业务特性是吻合的。可见,本申请实施例提供的服务拓扑图能够考虑应用的业务特性,根据应用中当前的微服务实时性能(例如应用中的每个微服务所属事务的特性,和/或,每个微服务在所属事务中的性能贡献度等),从而有利于用户通过上述服务拓扑图可以直观且准确地识别出与应用的业务特性相吻合的关键微服务。

又一示例性地,上述apm设备可以根据上述应用的每个微服务的服务重要性指数,展示该应用的服务拓扑表;其中,服务拓扑表中按照服务重要性指数由大到小的顺序排列每个微服务的服务重要性指数,以便于用户通过上述服务拓扑表可以直观地查看到上述应用的关键微服务。

当然,上述apm设备根据上述应用的每个微服务的服务重要性指数,还可以通过其它方式展示该应用的至少一个微服务,本申请实施例中对此并不作限定。

另一种可能的实现方式中,根据上述应用的每个微服务的服务重要性指数,展示该应用的至少一个微服务的增值服务。

为了便于用户查看微服务的更多信息,本实现方式中,上述apm设备可以根据上述应用的每个微服务的服务重要性指数,展示该应用的至少一个微服务的增值服务。示例性地,上述apm设备可以根据上述应用的每个微服务的服务重要性指数,展示该应用的目标微服务的增值服务,其中,目标微服务可以为该应用中服务重要性指数最大的微服务,或者可以为该应用中按照服务重要性指数由大到小顺序的前预设数量个微服务,或者还可以为该应用中的任意微服务。

示例性地,上述增值服务可以包括但不限于以下至少一项:调用链查看、服务指标参数查看、故障预警、告警分级。其中,调用链查看是指查看对应微服务的调用链,服务指标参数查看是指查看对应微服务的服务指标参数,故障预警是指在检测到对应微服务出故障或者预测会出故障时发出告警指示,告警分级是指对应微服务的告警指示所属的告警等级。应理解,任意微服务的告警分级可以与该微服务的服务重要性指数的大小相关,例如,任意微服务的服务重要性指数越大,则该微服务的告警分级越高。

应理解,关于上述根据每个上述微服务的服务重要性参数执行相应的服务的多种可实现方式可以相互结合使用。

例如,如图14所示,上述apm设备所展示的上述应用的服务拓扑图中还可以包括但不限于以下至少一项:应用选择项、所展示的微服务的数量选择项,如图14中的top10(即n=10)、top20(即n=20)和top50(即n=50)。另外,当检测到用户选择上述应用的服务拓扑图中的任意微服务节点时,上述apm设备所展示的上述应用的服务拓扑图中还可以包括该微服务的增值服务,例如,调用链查看、服务指标参数(例如服务时延贡献度和错误率等)查看、秒级监控、故障预测、告警分级等。

需要说明的是,上述apm设备根据上述应用的每个微服务的服务重要性指数还可以执行除上述展示服务之外的其它服务,本申请实施例中对此并不作限定。

综上所述,本申请实施例中,上述apm设备通过获取应用的每个微服务的服务重要性指数,然后根据该应用的每个微服务的服务重要性指数执行相应的服务。由于应用的任意微服务的服务重要性指数用于指示该微服务对于上述应用执行的重要程度,从而根据上述应用的每个微服务的服务重要性指数所执行的相应服务结果,以便于用户根据服务结果可以准确地识别出对于上述应用重要程度较高的关键微服务。

图15为本申请另一实施例提供的微服务处理方法的流程示意图,在上述实施例的基础上,本申请实施例中,对如何获取上述微服务分别在上述至少一个事务中的性能贡献度的可实现方式进行介绍。如图15所示,本申请实施例的方法可以包括:

步骤s1501、针对每个事务,获取上述微服务在上述事务中的服务指标向量与预设服务指标理想向量之间的第一距离,以及上述微服务在上述事务中的服务指标向量与预设服务指标反理想向量之间的第二距离。

本申请实施例中涉及的上述微服务在上述事务中的服务指标向量中包括:上述微服务在上述事务中的至少两个归一化的服务指标参数,即上述微服务在上述事务中的至少两个服务指标参数所对应的归一化的服务指标参数。示例性地,上述微服务在上述事务中的至少两个服务指标参数可以包括但不限于:服务时延贡献度和错误率;其中,上述微服务在上述事务中的服务时延贡献度用于指示上述微服务的服务处理时延对于上述事务处理时延的影响程度,例如,上述微服务在上述事务中的服务时延贡献度=上述微服务的服务处理时延/上述事务处理时延,上述微服务在上述事务中的错误率=上述微服务的错误次数/上述微服务在上述事务中被调用的总次数。

本申请实施例中涉及的上述预设服务指标理想向量中的各维度均取预设最差阈值(例如1),用于表示服务性能达到预设最差服务性能阈值,即对应用的性能影响最大。应理解,上述预设服务指标理想向量中的维度总数等于上述服务指标向量中归一化的服务指标参数的总个数。例如,假设上述服务指标向量中归一化的服务指标参数包括:归一化的服务时延贡献度和归一化的错误率,则上述预设服务指标理想向量可以为(1,1)。

本申请实施例中涉及的上述预设服务指标反理想向量中的各维度均取预设最优阈值(例如0),用于表示服务性能达到预设最优服务性能阈值,即对应用的性能影响最小。应理解,上述预设服务指标反理想向量中的维度总数等于上述服务指标向量中归一化的服务指标参数的总个数。例如,假设上述服务指标向量中归一化的服务指标参数包括:归一化的服务时延贡献度和归一化的错误率,则上述预设服务指标反理想向量可以为(0,0)。

可选地,上述apm设备先获取上述微服务在上述事务中的服务指标向量。示例性地,上述apm设备可以根上述微服务在上述事务中的至少两个服务指标参数,以及上述事务中除上述微服务之外的其它微服务所对应的至少两个服务指标参数,确定上述至少两个服务指标参数所对应的归一化的服务指标参数,并根据上述至少两个服务指标参数所对应的归一化的服务指标参数,确定上述服务指标向量,其中,上述服务指标向量的维度总算等于上述至少两个服务指标参数所对应的归一化的服务指标参数的总数。

示例性地,针对上述微服务在上述事务中的每个服务指标参数,上述apm设备确定上述服务指标参数所对应的归一化的服务指标参数,其中,上述服务指标参数所对应的归一化的服务指标参数可以满足以下归一化公式:

其中,x0代表上述服务指标参数所对应的归一化的服务指标参数,x代表上述服务指标参数,xmin代表上述事务中的所有微服务的上述服务指标参数中的最小值,xmax代表代表上述事务中的所有微服务的上述服务指标参数中的最大值。

当然,上述服务指标参数所对应的归一化的服务指标参数还可以满足上述归一化公式的其它变形公式或者等效公式。

为了便于理解,本申请实施例的下述部分以上述web购物应用中的每个微服务在任意事务中的至少两个服务指标参数可以包括:服务时延贡献度和错误率为例,对如何获取微服务在事务中的服务指标向量的过程进行介绍。

首先,针对上述web购物应用,上述apm设备可以根据如图9所示的web购物应用的调用链拓扑以事务为单位进行微服务分组,得到如图16所示的参与每个事务的各微服务,其中,图16为本申请实施例提供的web购物应用中各事务对应的各微服务的服务指标参数的示意图。需要说明的是,图16中以服务指标参数包括服务时延贡献度和错误率为例示出的。

其次,为了得到各事务中服务性能的相对优劣,上述apm设备可以以事务为单位,采用上述归一化公式对参与各事务的各微服务的服务指标参数进行归一化操作,得到对应的归一化的服务指标参数,从而可以去除服务指标单位量纲,得到各服务指标的相对优劣。例如,图17为本申请实施例提供的web购物应用中的各微服务在各事务中的归一化的服务指标参数示意图,如图17所示,对于web购物应用中的支付管理事务,订单微服务的服务时延贡献度最大,支付微服务的错误率最大。另外,上述订单微服务在上述支付管理事务中的服务指标向量可以为(1,0.25),上述支付微服务在上述支付管理事务中的服务指标向量可以为(0.33,1)。

进一步地,上述apm设备可以根据上述微服务的至少两个服务指标权重参数、上述服务指标向量以及上述预设服务指标理想向量,确定上述第一距离。

本申请实施例中涉及的任意微服务的至少两个服务指标权重参数与该微服务在上述事务中的至少两个归一化的服务指标参数是对应的,且至少两个服务指标权重参数的总和等于1。例如,若该微服务在上述事务中的至少两个归一化的服务指标参数可以包括:归一化的服务时延贡献度和归一化的错误率,则该微服务的至少两个服务指标权重参数包括:服务时延贡献度权重参数和错误率权重参数。

一种可能的实现方式中,上述apm设备可以接收上述终端发送的上述至少两个服务指标权重参数,或者上述apm设备可以接收上述apm设备的用户输入的上述至少两个服务指标权重参数。示例性地,上述终端的用户可以根据应用的业务特性自定义地设置上述至少两个服务指标权重参数,然后通过上述终端将上述至少两个服务指标权重参数携带在配置请求中发送给上述apm设备,其中,各服务指标权重参数的取值范围为[0,1],且上述至少两个服务指标权重参数的总和等于1。又一示例性地,上述apm设备的用户可以根据应用的业务特性自定义地设置上述至少两个服务指标权重参数,然后向上述apm设备输入上述至少两个服务指标权重参数,其中,各服务指标权重参数的取值范围为[0,1],且上述至少两个服务指标权重参数的总和等于1。

例如,图18为本申请实施例提供的服务指标权重参数的示意图,如图18所示,在用户自定义模式下,服务时延贡献度权重参数可以为0.4,错误率权重参数可以为0.6,其中,若服务时延贡献度权重参数越大,则表示服务时延贡献度对用户体验影响越大;若错误率权重参数越大,则表示错误率对用户体验影响越大。

另一种可能的实现方式中,上述apm设备可以根据默认方式确定上述至少两个服务指标权重参数。示例性地,上述apm设备可以根据默认方式确定上述至少两个服务指标权重参数中的每个服务指标权重参数均相同,即各服务指标参数对用户体验影响同等重要。如图18所示,在默认模式下,服务时延贡献度权重参数和错误率权重参数可以均为1/2。

应理解,上述apm设备还可以通过其它方式获取上述微服务的至少两个服务指标权重参数。

可选地,上述apm设备可以根据上述微服务的至少两个服务指标权重参数、上述服务指标向量以及上述预设服务指标理想向量,确定上述服务指标向量与上述预设服务指标理想向量之间的欧式距离作为上述第一距离,应理解,还可以确定上述服务指标向量与上述预设服务指标理想向量之间的其它距离作为上述第一距离。

示例性地,上述apm设备确定上述服务指标向量与上述预设服务指标理想向量之间的欧式距离作为上述第一距离,其中,上述第一距离可以满足以下第一距离公式:

其中,d 代表上述第一距离,qj代表上述微服务的第j个服务指标权重参数,xj代表上述服务指标向量中的第j个归一化的服务指标参数,代表上述预设服务指标理想向量z 中的第j个向量元素,k代表上述服务指标向量中所包含的归一化的服务指标参数的总个数,或者上述预设服务指标理想向量z 中的向量元素的总个数,k可以为大于1的整数。

应理解,上述第j个服务指标权重参数、上述服务指标向量中的第j个归一化的服务指标参数,以及上述预设服务指标理想向量z 中的第j个向量元素是对应的。例如,若上述服务指标向量中的第j个归一化的服务指标参数是归一化的服务时延贡献度,则上述第j个服务指标权重参数相应的是服务时延贡献度权重参数,以及上述预设服务指标理想向量z 中的第j个向量元素是与上述归一化的服务时延贡献度对应的向量元素。又例如,若上述服务指标向量中的第j个归一化的服务指标参数是归一化的错误率,则上述第j个服务指标权重参数相应的是错误率权重参数,以及上述预设服务指标理想向量z 中的第j个向量元素是与上述归一化的错误率对应的向量元素。

当然,上述第一距离还可以满足上述第一距离公式的其它变形公式或者等效公式。

进一步地,上述apm设备可以根据上述微服务的至少两个服务指标权重参数、上述服务指标向量以及上述预设服务指标反理想向量,确定上述第二距离。

可选的,上述apm设备可以根据上述微服务的至少两个服务指标权重参数、上述服务指标向量以及上述预设服务指标反理想向量,确定上述服务指标向量与上述预设服务指标反理想向量之间的欧式距离作为上述第二距离,应理解,还可以确定上述服务指标向量与上述预设服务指标反理想向量之间的其它距离作为上述第二距离。

示例性地,上述apm设备确定上述服务指标向量与上述预设服务指标反理想向量之间的欧式距离作为上述第二距离,其中,上述第二距离可以满足以下第二距离公式:

其中,d-代表上述第二距离,代表上述预设服务指标反理想向量z-中的第j个向量元素,k代表上述服务指标向量中所包含的归一化的服务指标参数的总个数,或者上述预设服务指标反理想向量z-中的向量元素的总个数。

应理解,上述第j个服务指标权重参数、上述服务指标向量中的第j个归一化的服务指标参数,以及上述预设服务指标反理想向量z-中的第j个向量元素是对应的。例如,若上述服务指标向量中的第j个归一化的服务指标参数是归一化的服务时延贡献度,则上述第j个服务指标权重参数相应的是服务时延贡献度权重参数,以及上述预设服务指标反理想向量z-中的第j个向量元素是与上述归一化的服务时延贡献度对应的向量元素。又例如,若上述服务指标向量中的第j个归一化的服务指标参数是归一化的错误率,则上述第j个服务指标权重参数相应的是错误率权重参数,以及上述预设服务指标反理想向量z-中的第j个向量元素是与上述归一化的错误率对应的向量元素。

当然,上述第二距离还可以满足上述第二距离公式的其它变形公式或者等效公式。

为了便于理解,本申请实施例的下述部分以上述服务指标向量中包括归一化的服务时延贡献度和归一化的错误率为例,对上述第一距离d 和上述第二距离d-进行介绍。

图19为本申请实施例提供的服务指标向量的空间示意图,如图19所示的服务指标向量的空间示意图中的每一个圆点表示一个服务性能对应的指标向量。其中,当归一化的服务时延贡献度和归一化的错误率均取预设最差阈值时可得到预设服务指标理想向量(1,1),表示服务性能最差的情况;当归一化的服务时延贡献度和归一化的错误率均取预设最优阈值时可得到预设服务指标反理想向量(0,0),表示服务性能最好的情况。任意微服务在事务中的服务指标向量与上述预设服务指标反理想向量(0,0)的相对距离越远,则表示服务性能越差,该微服务对该事务性能的贡献度越大。

步骤s1502、根据上述第一距离和上述第二距离,确定上述微服务在上述事务中的性能贡献度。

本步骤中,上述apm设备可以根据上述步骤s1501中所确定的上述第一距离和上述第二距离,确定上述微服务在上述事务中的性能贡献度。

示例性地,上述apm设备确定上述微服务在上述事务中的性能贡献度,其中,上述性能贡献度可以满足以下性能贡献度公式:

其中,p代表上述微服务在上述事务中的性能贡献度(或者称之为性能贡献指数pcdex),d 代表上述第一距离,d-代表上述第二距离。

当然,上述性能贡献度还可以满足上述性能贡献度公式的其它变形公式或者等效公式。

为了便于理解,本申请实施例的下述部分以上述服务指标向量中包括归一化的服务时延贡献度和归一化的错误率为例,对上述第一距离d 、上述第二距离d-和上述性能贡献度的计算方式进行介绍。

图20为本申请实施例提供的支付管理事务中的各微服务归一化的服务指标参数和性能贡献度的示意图,如图20所示,负载均衡微服务在上述支付管理事务中的服务指标向量为(0,0)、订单微服务在上述支付管理事务中的服务指标向量为(1,0.25)以及支付微服务在上述支付管理事务中的服务指标向量为(0.33,1)。对应地,上述预设服务指标反理想向量z-可以为(0,0),上述预设服务指标理想向量z 可以为(1,1),服务时延贡献度权重参数可以我0.4和错误率权重参数可以为0.6。

示例性地,上述apm设备可以根据上述第一距离公式确定上述支付管理事务中的各微服务的服务指标向量与上述预设服务指标理想向量z 之间的第一距离、根据上述第二距离公式确定上述支付管理事务中的各微服务的服务指标向量与上述预设服务指标反理想向量z-之间的第二距离,以及根据上述性能贡献度公式确定上述支付管理事务中的各微服务的性能贡献度,如图20所示。

1)负载均衡微服务

上述负载均衡微服务在上述支付管理事务中的服务指标向量与上述预设服务指标理想向量z 之间的第一距离d =(0.4*(0-1)2 0.6*(0-1)2)0.5=0.77;

上述负载均衡微服务在上述支付管理事务中的服务指标向量与上述预设服务指标反理想向量z-之间的第二距离d-=(0.4*(0-0)2 0.6*(0-0)2)0.5=0;

上述负载均衡微服务在上述

2)订单微服务

上述订单微服务在上述支付管理事务中的服务指标向量与上述预设服务指标理想向量z 之间的第一距离d =(0.4*(1-1)2 0.6*(0.25-1)2)0.5=0.42;

上述订单微服务在上述支付管理事务中的服务指标向量与上述预设服务指标反理想向量z-之间的第二距离d-=(0.4*(1-0)2 0.6*(0.25-0)2)0.5=0.85;

上述订单微服务在上述

3)支付微服务

上述支付微服务在上述支付管理事务中的服务指标向量与上述预设服务指标理想向量z 之间的第一距离d =(0.4*(0.33-1)2 0.6*(1-1)2)0.5=0.42;

上述支付微服务在上述支付管理事务中的服务指标向量与上述预设服务指标反理想向量z-之间的第二距离d-=(0.4*(0.33-0)2 0.6*(1-0)2)0.5=0.88;

上述支付微服务在上述

如图20所示,针对上述支付管理事务,支付微服务的pcdex取值最高,表明支付微服务在支付管理事务中性能贡献度最大;负载均衡微服务的pcdex取值最低,表明负载均衡微服务在支付管理事务中的性能贡献度最小。

综上所述,本申请实施例中,针对每个事务,上述apm设备可以根据获取到的上述微服务在上述事务中的服务指标向量与预设服务指标理想向量之间的第一距离,以及上述微服务在上述事务中的服务指标向量与预设服务指标反理想向量之间的第二距离,确定上述微服务在上述事务中的性能贡献度,以便于上述apm设备根据应用中每个微服务在所属事务中的性能贡献度,可以确定出上述应用的每个微服务的服务重要性指数,从而根据该应用的每个微服务的服务重要性指数执行相应的服务。

图21为本申请另一实施例提供的微服务处理方法的流程示意图,在上述实施例的基础上,本申请实施例中,对如何获取上述至少一个事务各自在上述应用中被调用的次数权重的可实现方式进行介绍。如图21所示,本申请实施例的方法可以包括:

步骤s2101、针对每个事务,获取预设统计时间段内上述事务在上述应用中被调用的次数。

本步骤中,上述apm设备可以从上述数据库获取预设统计时间段内上述应用的每个事务在上述应用中被调用的次数;当然,上述apm设备还可以通过其它方式获取到上述预设统计时间段内上述应用的每个事务在上述应用中被调用的次数。

步骤s2102、根据调用次数阈值和上述被调用的次数,确定上述事务在上述应用中被调用的次数权重。

本申请实施例中涉及的调用次数阈值是指上述应用中的各事务在预设统计时间段内被调用的最大次数。示例性地,上述apm设备可以根据上述应用中的各事务在预设统计时间段内被调用的次数,确定出上述调用次数阈值。例如,针对上述web购物应用,登录管理事务在预设统计时间段内被调用1000次、支付管理事务在预设统计时间段内被调用300次、物流管理事务在预设统计时间段内被调用200次和评价管理事务在预设统计时间段内被调用150次,则上述apm设备可以确定出上述web购物应用的调用次数阈值为1000次。

考虑到任意事务在上述应用的执行过程中被上述服务器调用的次数越多,说明该事务在上述应用中被用户的使用次数越多,则该事务如果出错会对用户体验的影响力越大。因此,需要将任意事务被调用的次数转换为对应的被调用的次数权重,即影响力权重。

对于云应用来说,其事务被调用的次数主要有两个特点。首先,不同事务被调用的次数差别很大,但事务被调用的次数的分布呈长尾效应,即通常云应用90%的业务活动会由25%数量的事务来实现。例如:对于web购物应用,用户常用的事务有登录管理事务、查询商品事务和浏览商品信息事务等,这些关键事务被调用的次数占web购物应用所有事务被调用的总次数的90%;而用户使用红包管理事务和评价管理事务等这些边缘事务的次数较少,这些边缘事务被调用的次数与关键事务被调用的次数有显著的差异。

其次,当事务被调用的次数增长到一定数量级时,其带来的相对影响力不会因被调用的次数数量的增长而发生显著的变化。

例如:案例一:支付管理事务被调用300次,登录管理事务被调用1000次;案例二:支付管理事务被调用300次,登录管理事务被调用2000次。对于这两个案例中的登录管理事务,其权重不会因被调用的次数从1000增长到2000而发生显著变化;而支付管理事务和登录管理事务相比,支付管理事务被调用的次数从300变化到1000,则其权重会发生显著的变化。即,事务被调用的次数增长到一定的数量级,其带来的影响力增长缓慢。

因此,需要找到合适的函数来拟合云应用中事务被调用的次数权重会单调递增,且增长率递减的特点。

图22为本申请实施例提供的sigmoid函数的示意图,如图22所示,由于sigmoid函数具有单调递增,同时随着自变量x的增大,其增长率逐渐变小的特点,与事务被调用的次数权重的变化特点吻合,因此,通过对sigmoid函数做相应的变式,使用变式后的sigmoid函数作为事务被调用的次数权重计算函数。

图23为本申请实施例提供的变式后的sigmoid函数的示意图,如图23所示,变式后的sigmoid函数的主要增长区间为[0,5],因此,需要将事务被调用的次数的变化主范围放缩至[0,5]区间。

示例性地,上述apm设备确定上述事务在上述应用中被调用的次数权重,其中,上述被调用的次数权重可以满足以下权重公式:

其中,q代表上述被调用的次数权重,sigmoid()代表sigmoid函数,d代表上述预设统计时间段内上述事务在上述应用中被调用的次数,d0代表上述调用次数阈值,c1代表第一预设常数(例如2),c2代表第二预设常数(例如5),c3代表第三预设常数(例如0.5)。需要说明的是,上述的取值范围可以为[0,5]。

当然,上述被调用的次数权重还可以满足上述权重公式的其它变形公式或者等效公式。

例如,针对上述web购物应用,登录管理事务的关键度为0.4且其被调用1000次、支付管理事务的关键度为1且其被调用300次、物流管理事务的关键度为0.4且其被调用200次和评价管理事务的关键度为0.2且其被调用150次,由此可知,上述web购物应用的调用次数阈值为1000次。

上述apm可以根据上述权重公式确定出上述web购物应用中的各事务被调用的次数权重:

1)上述登录管理事务在上述web购物应用中被调用的次数权重=2*(sigmoid(1000/(1000/5))-0.5)=0.98;

2)上述支付管理事务在上述web购物应用中被调用的次数权重=2*(sigmoid(300/(1000/5))-0.5)=0.64;

3)上述物流管理事务在上述web购物应用中被调用的次数权重=2*(sigmoid(200/(1000/5))-0.5)=0.46;

4)上述评价管理事务在上述web购物应用中被调用的次数权重=2*(sigmoid(150/(1000/5))-0.5)=0.36。

考虑到应用的性能受到其事务性能的影响,而事务的性能又受到其微服务性能的影响。事务的关键度不同,其调用链上的微服务对于用户体验的影响力也不同。

图24为本申请实施例提供的调用链拓扑的部分示意图,如图24所示,针对web购物应用,支付管理事务和物流管理事务会同时调用订单微服务,订单微服务在支付管理事务中的性能贡献度为0.66,支付管理事务总共被用户调用300次,支付管理事务的关键度为1;而订单微服务在物流管理事务中的性能贡献度为1,物流管理事务总共被用户调用200次,物流管理事务的关键度为0.4。显然,虽然订单微服务在支付管理事务中的性能贡献度小于其在物流管理事务中的性能贡献度,但支付管理事务对于web购物应用的业务更为重要,其调用链上的微服务一旦出现性能问题对用户体验影响力更大;而物流管理事务对于web购物应用的业务重要性较低,其调用链上的微服务性能对于用户体验影响力也较小。因此,根据本申请实施例提供的微服务处理方法确定关键微服务时,不仅会考虑事务的关键度,还会考虑事务被调用的次数或者被调用的次数权重。

进一步地,上述apm设备可以根据事务在应用中的关键度和事务在应用中被调用的次数权重,确定出事务在应用中的权重,其中,事务权重受事务被调用的次数和事务的关键度共同影响。例如,事务的关键度越高,被调用的次数越多,事务在应用中越重要,则事务的权重也越大。

示例性地,事务的权重可以满足以下计算公式:事务权重=事务的关键度*事务被调用的次数权重;当然,事务的权重还可以满足上述技术公式的其它变形公式或者等效公式。

对应地,上述apm可以根据上述公式确定出上述web购物应用中的各事务的权重:

1)上述登录管理事务在上述web购物应用中的权重=0.4*0.98=0.392;

2)上述支付管理事务在上述web购物应用中的权重=1*0.64=0.64;

3)上述物流管理事务在上述web购物应用中的权重=0.4*0.46=0.184;

4)上述评价管理事务在上述web购物应用中的权重=0.2*0.36=0.072。

综上所述,本申请实施例中,针对每个事务,上述apm设备可以根据获取的预设统计时间段内上述事务在上述应用中被调用的次数和调用次数阈值,确定上述事务在上述应用中被调用的次数权重,以便于上述apm设备根据应用中每个微服务所属事务的特性(例如上述事务类型、事务的关键度和/或事务被调用的次数权重等),可以确定出上述应用的每个微服务的服务重要性指数,从而根据该应用的每个微服务的服务重要性指数执行相应的服务。

图25为本申请另一实施例提供的微服务处理方法的流程示意图。在上述实施例的基础上,本申请实施例中对上述apm设备执行上述微服务处理方法的整体可实现方式进行介绍。如图25所示,本申请实施例的方法可以包括:

步骤s2501、判断是否设置有每个微服务在上述应用中的服务重要性指数。

示例性地,上述apm设备可以通过判断是否接收到上述终端发送的每个微服务在上述应用中的服务重要性参数,或者上述apm设备可以通过判断是否接收到上述apm设备的用户输入的每个微服务在上述应用中的服务重要性参数。若接收到上述终端发送的每个微服务在上述应用中的服务重要性参数,或者接收到上述apm设备的用户输入的每个微服务在上述应用中的服务重要性参数,则上述apm设备可以确定设置有每个微服务在上述应用中的服务重要性指数。应理解,上述apm设备还可以通过其它方式判断是否设置有每个微服务在上述应用中的服务重要性指数。

若确定设置有每个微服务在上述应用中的服务重要性指数,则执行步骤s2509;若确定未设置有每个微服务在上述应用中的服务重要性指数,则执行步骤s2502。

步骤s2502、判断是否设置有每个事务在上述应用中的关键度。

示例性地,上述apm设备可以通过判断是否接收到上述终端发送的每个事务在上述应用中的关键度,或者上述apm设备可以通过判断是否接收到上述apm设备的用户输入的每个事务在上述应用中的关键度。若接收到上述终端发送的每个事务在上述应用中的关键度,或者接收到上述apm设备的用户输入的每个事务在上述应用中的关键度,则上述apm设备可以确定设置有每个事务在上述应用中的关键度。应理解,上述apm设备还可以通过其它方式判断是否设置有每个事务在上述应用中的关键度。

若确定设置有每个事务在上述应用中的关键度,则执行步骤s2504;若确定未设置有每个事务在上述应用中的关键度,则执行步骤s2503。

步骤s2503、按照默认方式确定每个事务在上述应用中的关键度。

示例性地,针对每个事务,上述apm设备可以获取预设统计时间段内该事务在该应用中被调用的次数,以及上述至少一个事务在该应用中被调用的总次数,然后根据上述被调用的次数和上述被调用的总次数,确定该事务在该应用中的关键度。具体的方式可以参考本申请上述图8所示实施例中的相关内容,此处不再赘述。

步骤s2504、判断是否设置有服务指标权重参数。

示例性地,上述apm设备可以通过判断是否接收到上述终端发送的服务指标权重参数,或者上述apm设备可以通过判断是否接收到上述apm设备的用户输入的服务指标权重参数。若接收到上述终端发送的服务指标权重参数,或者接收到上述apm设备的用户输入的服务指标权重参数,则上述apm设备可以确定设置有服务指标权重参数。应理解,上述apm设备还可以通过其它方式判断是否设置有服务指标权重参数。

若确定设置有服务指标权重参数,则执行步骤s2506;若确定未设置有服务指标权重参数,则执行步骤s2505。

步骤s2505、按照默认方式确定服务指标权重参数。

示例性地,上述apm设备可以根据默认方式确定每个服务指标权重参数均相同。

步骤s2506、确定每个微服务在不同事务中的性能贡献度。

步骤s2507、确定每个事务在上述应用中被调用的次数权重。

步骤s2508、确定每个微服务在上述应用中的服务重要性指数。

步骤s2509、根据每个微服务在上述应用中的服务重要性指数,执行相应的服务。

示例性地,上述apm设备可以根据每个微服务在上述应用中的服务重要性指数,展示该应用的至少一个微服务,和/或该至少一个微服务的增值服务等。由于应用的任意微服务的服务重要性指数用于指示该微服务对于上述应用执行的重要程度,从而有利于用户根据每个微服务在上述应用中的服务重要性指数的展示服务结果可以准确地识别出对于上述应用重要程度较高或者说与上述应用的业务特性相吻合的关键微服务。

本申请实施例中各步骤的实现方式,可以参考本申请上述实施例中的相关内容,此处不再赘述。

应理解,上述步骤s2502-步骤s2507的执行顺序并不限于上述描述的顺序,还可以按照其它的执行顺序,例如,先判断是否设置有服务指标权重参数,然后判断是否设置有每个事务在上述应用职工的关键度等。

图26为本申请另一实施例提供的微服务处理方法的流程示意图。在上述实施例的基础上,本申请实施例中以执行主体为上述终端为例对微服务处理方法的可实现方式进行介绍。如图26所示,本申请实施例的方法可以包括:

步骤s2601、向应用性能管理设备发送查看请求。

本申请实施例中,上述终端的用户可以通过上述终端向应用性能管理apm设备发送查看请求,其中,上述查看请求中用于请求查看上述应用的至少一个微服务。示例性地,上述查看请求中可以携带上述应用的标识,还可以携带所请求查看的微服务的数量;当然,上述查看请求中还可以携带其它信息,本申请实施例中对此并不作限定。

步骤s2602、接收上述应用性能管理设备根据每个微服务的服务重要性指数所展示的上述应用的服务拓扑图。

本步骤中,上述终端可以接收上述应用性能管理apm设备根据每个微服务的服务重要性指数所展示的上述应用的服务拓扑图;其中,该服务拓扑图中包括该应用的至少一个微服务的节点,且每个微服务的节点大小与该微服务的服务重要性指数成正向关系,即该微服务的服务重要性指数越大,则该微服务在上述服务拓扑图中的节点更大,以便于上述终端的用户通过上述服务拓扑图可以直观地查看到上述应用的关键微服务。

应理解,上述终端在接收到上述应用的服务拓扑图后,会向上述终端的用户显示上述应用的服务拓扑图,以便于上述终端的用户查看上述拓扑图,从而通过上述服务拓扑图可以直观地查看到上述应用的关键微服务。

其中,每个微服务的服务重要性指数与该微服务在该应用中的以下至少一项信息相关联:该微服务所属的至少一个事务的事务类型、上述至少一个事务各自在上述应用中的关键度、上述至少一个事务各自在上述应用中被调用的次数权重、该微服务分别在上述至少一个事务中的性能贡献度。

需要说明的是,上述应用的每个微服务的服务重要性指数为上述apm设备按照上述图8所示实施例的方法获取的,具体的获取方式可以参考本申请上述图8所示实施例的相关内容,此处不再赘述。

示例性地,若上述查看请求用于请求查看上述应用的每个微服务,例如,上述查看请求中没有携带所请求查看的微服务的数量,即可以默认请求查看上述应用的每个微服务,则上述服务拓扑图中包括上述应用的每个微服务的节点。或者,若上述查看请求用于请求查看上述应用中按照服务重要性参数由大到小顺序的前n个微服务,例如,上述查看请求中携带上述n,则上述服务拓扑图中包括上述应用的上述前n个微服务,其中,n为大于0的整数。

如图14所示,上述应用的服务拓扑图中每个微服务的节点大小可以直观地表示该微服务的服务重要性指数,即可以直观地表示该微服务对于上述应用执行的重要程度。其中,任意微服务的重要程度越高,则该微服务在上述服务拓扑图中的节点更大;反之,任意微服务的重要程度越低,则该微服务在上述服务拓扑图中的节点越小。

应理解,上述终端也可以接收上述应用性能管理apm设备根据每个微服务的服务重要性指数所展示的上述应用的服务拓扑表;其中,上述服务拓扑表中按照服务重要性指数由大到小的顺序排列每个微服务的服务重要性指数,以便于用户通过上述服务拓扑表可以直观地查看到上述应用的关键微服务。

需要说明的是,上述终端接收的上述apm设备根据每个微服务的服务重要性指数所展示的上述应用的服务拓扑图还可以通过其它形式存在,并不仅限于图形方式或者表格方式存在。

进一步的,为了便于用户查看微服务的更多信息,上述终端在接收上述apm设备根据每个微服务的服务重要性指数所展示的上述应用的服务拓扑图之后,还可以接收上述apm设备根据每个微服务的服务重要性指数所展示的上述应用的至少一个微服务的增值服务。示例性地,上述终端可以接收上述apm设备根据上述应用的每个微服务的服务重要性指数所展示的该应用的目标微服务的增值服务,其中,目标微服务可以为该应用中服务重要性指数最大的微服务,或者可以为该应用中按照服务重要性指数由大到小顺序的前预设数量个微服务,或者还可以为该应用中的任意微服务。

示例性地,上述增值服务可以包括但不限于以下至少一项:调用链查看、服务指标参数查看、故障预警、告警分级。

如图14所示,上述终端接收的上述应用性能管理apm设备所展示的上述应用的服务拓扑图中还可以包括但不限于以下至少一项:应用选择项、所展示的关键微服务的数量选择项,如图14中的top10(即n=10)、top20(即n=20)和top50(即n=50)。另外,当上述终端的用户通过上述终端点击上述应用的服务拓扑图中的任意微服务节点时,上述终端接收的上述应用性能管理apm设备所展示的上述应用的服务拓扑图中还可以包括该微服务的增值服务,例如,调用链查看、服务指标参数(例如服务时延贡献度和错误率等)查看、秒级监控、故障预测、告警分级等。

需要说明的是,上述终端还可以接收上述apm设备根据上述应用的每个微服务的服务重要性指数所执行的其它服务,本申请实施例中对此并不作限定。

综上所述,本申请实施例中,上述终端通过向应用性能管理apm设备发送查看请求,然后接收上述应用性能管理apm设备根据应用的每个微服务的服务重要性指数所展示的上述应用的服务拓扑图,其中,应用的任意微服务的服务重要性指数用于指示该微服务对于上述应用执行的重要程度,上述服务拓扑图中包括上述应用的至少一个微服务的节点,且每个微服务的节点大小与该微服务的服务重要性指数成正向关系,以便于上述终端的用户通过上述服务拓扑图可以直观且准确地识别出对于上述应用重要程度较高的关键微服务。

需要说明的是,上述终端在上述步骤s2601之前,还可以向上述apm设备发送配置请求,其中,上述配置请求中可以包括但不限于:上述至少两个服务指标权重参数,和/或,上述至少一个事务各自在上述应用中的关键度。

图27为本申请一实施例提供的微服务处理装置的结构示意图。可选地,本申请实施例提供的微服务处理装置可以为上述应用性能管理设备中的装置。如图27所示,本申请实施例的微服务处理装置270可以包括:获取模块2701和执行模块2702。

其中,该获取模块2701,用于获取应用的每个微服务的服务重要性指数;

该执行模块2702,用于根据每个该微服务的服务重要性参数执行相应的服务。

在一种可能的实现方式中,该获取模块2701,包括:

获取单元,用于针对该应用的每个微服务,获取该微服务在该应用中的以下至少一项信息:该微服务所属的至少一个事务的事务类型、该至少一个事务各自在该应用中的关键度、该至少一个事务各自在该应用中被调用的次数权重、该微服务分别在该至少一个事务中的性能贡献度;

确定单元,用于根据该微服务在该应用中的该至少一项信息,确定该微服务在该应用中的服务重要性指数。

在一种可能的实现方式中,该确定单元具体用于:

该确定该微服务在该应用中的服务重要性指数,其中,该服务重要性指数满足以下公式:

其中,s代表该服务重要性指数,ci代表该微服务所属的第i个事务在该应用中的关键度,qi代表该微服务所属的第i个事务在该应用中被调用的次数权重,pi代表该微服务在该第i个事务中的性能贡献度,m代表该微服务所属的该至少一个事务的事务类型的总数量。

在一种可能的实现方式中,该获取单元包括:

第一获取子单元,用于针对每个该事务,获取该微服务在该事务中的服务指标向量与预设服务指标理想向量之间的第一距离,以及该微服务在该事务中的服务指标向量与预设服务指标反理想向量之间的第二距离;其中,该服务指标向量中包括:至少两个归一化的服务指标参数,该预设服务指标理想向量中的各维度均取预设最差阈值,用于表示服务性能达到预设最差服务性能阈值;该预设服务指标反理想向量中的各维度均取预设最优阈值,用于表示服务性能达到预设最优服务性能阈值;

第一确定子单元,用于根据该第一距离和该第二距离,确定该微服务在该事务中的性能贡献度。

在一种可能的实现方式中,该第一确定子单元具体用于:

该确定该微服务在该事务中的性能贡献度,其中,该性能贡献度满足以下公式:

其中,p代表该微服务在该事务中的性能贡献度,d 代表该第一距离,d-代表该第二距离。

在一种可能的实现方式中,该第一获取子单元具体用于:

获取该微服务在该事务中的服务指标向量;

根据该微服务的至少两个服务指标权重参数、该服务指标向量以及该预设服务指标理想向量,确定该第一距离;其中,该至少两个服务指标权重参数的总和等于1;

根据该至少两个服务指标权重参数、该服务指标向量以及该预设服务指标反理想向量,确定该第二距离。

在一种可能的实现方式中,该第一获取子单元具体用于:

根据该微服务在该事务中的至少两个服务指标参数,以及该事务中除该微服务之外的其它微服务所对应的至少两个服务指标参数,确定该至少两个服务指标参数所对应的归一化的服务指标参数;

根据该至少两个服务指标参数所对应的归一化的服务指标参数,确定该服务指标向量。

在一种可能的实现方式中,该第一获取子单元还用于:

接收终端发送的该至少两个服务指标权重参数;或者,

根据默认方式确定该至少两个服务指标权重参数。

在一种可能的实现方式中,该获取单元包括:

第二获取子单元,用于针对每个该事务,获取预设统计时间段内该事务在该应用中被调用的次数;

第二确定子单元,用于根据调用次数阈值和该被调用的次数,确定该事务在该应用中被调用的次数权重。

在一种可能的实现方式中,该第二确定子单元具体用于:

确定该事务在该应用中被调用的次数权重,其中,该被调用的次数权重满足以下公式:

其中,q代表该被调用的次数权重,sigmoid()代表sigmoid函数,d代表该被调用的次数,d0代表该调用次数阈值,该c1代表第一预设常数,该c2代表第二预设常数,该c3代表第三预设常数。

在一种可能的实现方式中,该获取单元具体用于:

接收终端发送的该至少一个事务各自在该应用中的关键度。

在一种可能的实现方式中,该获取单元具体用于:

针对每个该事务,获取预设统计时间段内该事务在该应用中被调用的次数,以及该至少一个事务在该应用中被调用的总次数;

根据该被调用的次数和该被调用的总次数,确定该事务在该应用中的关键度。

在一种可能的实现方式中,该获取模块2701具体用于:

接收终端发送的该应用的每个微服务的服务重要性指数。

在一种可能的实现方式中,该执行模块2702包括:

第一展示单元,用于根据每个该微服务的服务重要性指数,展示至少一个该微服务。

在一种可能的实现方式中,该第一展示单元具体用于:

根据每个该微服务的服务重要性指数,展示该应用的服务拓扑图;其中,该服务拓扑图中包括该应用的至少一个该微服务的节点,且每个该微服务的节点大小与该微服务的服务重要性指数成正向关系。

在一种可能的实现方式中,该执行模块2702还包括:

接收单元,用于接收查看请求;其中,该查看请求用于请求查看该应用的至少一个微服务;

其中,若该查看请求用于请求查看该应用的每个微服务,则该服务拓扑图中包括该应用的每个微服务的节点;或者,

若该查看请求用于请求查看该应用中按照服务重要性参数由大到小顺序的前n个微服务,则该服务拓扑图中包括该应用的该前n个微服务,其中,该n为大于0的整数。

在一种可能的实现方式中,该执行模块2702还包括:

第二展示单元,用于根据每个该微服务的服务重要性指数,展示至少一个该微服务的增值服务。

在一种可能的实现方式中,该增值服务包括以下至少一项:调用链查看、服务指标参数查看、故障预警、告警分级。

本申请实施例提供的微服务处理装置270,可以用于执行本申请上述微服务处理方法实施例中关于上述apm设备的技术方案,其实现原理和技术效果类似,此处不再赘述。

图28为本申请另一实施例提供的微服务处理装置的结构示意图。可选地,本申请实施例提供的微服务处理装置可以为上述终端中的装置。如图28所示,本申请实施例的微服务处理装置280可以包括:发送模块2801和接收模块2802。

其中,该发送模块2801,用于向应用性能管理设备发送查看请求;其中,该查看请求中用于请求查看应用的至少一个微服务;

该接收模块2802,用于接收该应用性能管理设备根据每个该微服务的服务重要性指数所展示的该应用的服务拓扑图;

其中,该服务拓扑图中包括该应用的至少一个该微服务的节点,且每个该微服务的节点大小与该微服务的服务重要性指数成正向关系;每个该微服务的服务重要性指数与该微服务在该应用中的以下至少一项信息相关联:该微服务所属的至少一个事务的事务类型、该至少一个事务各自在该应用中的关键度、该至少一个事务各自在该应用中被调用的次数权重、该微服务分别在该至少一个事务中的性能贡献度。

在一种可能的实现方式中,若该查看请求用于请求查看该应用的每个微服务,则该服务拓扑图中包括该应用的每个微服务的节点;或者,

若该查看请求用于请求查看该应用中按照服务重要性参数由大到小顺序的前n个微服务,则该服务拓扑图中包括该应用的该前n个微服务,其中,该n为大于0的整数。

在一种可能的实现方式中,该接收模块2802还用于:

接收该应用性能管理设备根据每个该微服务的服务重要性指数所展示的至少一个该微服务的增值服务。

在一种可能的实现方式中,该增值服务包括以下至少一项:调用链查看、服务指标参数查看、故障预警、告警分级。

本申请实施例提供的微服务处理装置280,可以用于执行本申请上述微服务处理方法实施例中关于上述终端的技术方案,其实现原理和技术效果类似,此处不再赘述。

图29为本申请实施例提供的应用性能管理设备的结构示意图。如图29所示,本实施例的应用性能管理设备290可以包括:处理器2901和存储器2902。可选地,该应用性能管理设备290还可以包括用于与其它设备(例如终端)通信的通信接口2903。

其中,该存储器2902,用于存储程序指令。该处理器2901,用于调用并执行该存储器2902中存储的程序指令,当该处理器2901执行该存储器2902存储的程序指令时,该应用性能管理设备290用于执行本申请上述微服务处理方法实施例中关于上述apm设备的技术方案,其实现原理和技术效果类似,此处不再赘述。

应理解,上述应用性能管理设备290还可以包括显示器,用于向上述应用性能管理设备290的用户显示上述服务拓扑图和/或增值服务等信息。

图30为本申请实施例提供的终端的结构示意图。如图30所示,本实施例的终端300可以包括:处理器3001和存储器3002。可选地,该终端300还可以包括用于与其它设备(例如应用性能管理设备)通信的通信接口3003。

其中,该存储器3002,用于存储程序指令。该处理器3001,用于调用并执行该存储器3001中存储的程序指令,当该处理器3001执行该存储器3002存储的程序指令时,该终端300用于执行本申请上述微服务处理方法实施例中关于上述终端的技术方案,其实现原理和技术效果类似,此处不再赘述。

应理解,上述终端300还可以包括显示器,用于向上述终端300的用户显示上述apm设备所展示的服务拓扑图和/或增值服务等信息。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得该计算机执行本申请上述微服务处理方法实施例中关于上述apm设备的技术方案,其实现原理和技术效果类似,此处不再赘述。

本申请实施例还提供一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现本申请上述微服务处理方法实施例中关于上述apm设备的技术方案,其实现原理和技术效果类似,此处不再赘述。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。

本申请实施例还提供一种程序,该程序在被处理器执行时用于执行本申请上述微服务处理方法实施例中关于上述apm设备的技术方案,其实现原理和技术效果类似,此处不再赘述。

本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本申请上述微服务处理方法实施例中关于上述apm设备的技术方案,其实现原理和技术效果类似,此处不再赘述。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得该计算机执行本申请上述微服务处理方法实施例中关于上述终端的技术方案,其实现原理和技术效果类似,此处不再赘述。

本申请实施例还提供一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现本申请上述微服务处理方法实施例中关于上述终端的技术方案,其实现原理和技术效果类似,此处不再赘述。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。

本申请实施例还提供一种程序,该程序在被处理器执行时用于执行本申请上述微服务处理方法实施例中关于上述终端的技术方案,其实现原理和技术效果类似,此处不再赘述。

本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本申请上述微服务处理方法实施例中关于上述终端的技术方案,其实现原理和技术效果类似,此处不再赘述。

本申请实施例中涉及的处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

本申请实施例中涉及的存储器可以是非易失性存储器,比如硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd)等,还可以是易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,ram)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

在上述各实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。


技术特征:

1.一种微服务处理方法,其特征在于,包括:

获取应用的每个微服务的服务重要性指数;

根据每个所述微服务的服务重要性指数执行相应的服务。

2.根据权利要求1所述的方法,其特征在于,所述获取应用的每个微服务的服务重要性指数,包括:

针对所述应用的每个微服务,获取所述微服务在所述应用中的以下至少一项信息:所述微服务所属的至少一个事务的事务类型、所述至少一个事务各自在所述应用中的关键度、所述至少一个事务各自在所述应用中被调用的次数权重、所述微服务分别在所述至少一个事务中的性能贡献度;

根据所述微服务在所述应用中的所述至少一项信息,确定所述微服务在所述应用中的服务重要性指数。

3.根据权利要求2所述的方法,其特征在于,所述根据所述微服务在所述应用中的所述至少一项信息,确定所述微服务在所述应用中的服务重要性指数,包括:

所述确定所述微服务在所述应用中的服务重要性指数,其中,所述服务重要性指数满足以下公式:

其中,s代表所述服务重要性指数,ci代表所述微服务所属的第i个事务在所述应用中的关键度,qi代表所述微服务所属的第i个事务在所述应用中被调用的次数权重,pi代表所述微服务在所述第i个事务中的性能贡献度,m代表所述微服务所属的所述至少一个事务的事务类型的总数量。

4.根据权利要求2或3所述的方法,其特征在于,获取所述微服务分别在所述至少一个事务中的性能贡献度,包括:

针对每个所述事务,获取所述微服务在所述事务中的服务指标向量与预设服务指标理想向量之间的第一距离,以及所述微服务在所述事务中的服务指标向量与预设服务指标反理想向量之间的第二距离;其中,所述服务指标向量中包括:至少两个归一化的服务指标参数,所述预设服务指标理想向量中的各维度均取预设最差阈值,用于表示服务性能达到预设最差服务性能阈值;所述预设服务指标反理想向量中的各维度均取预设最优阈值,用于表示服务性能达到预设最优服务性能阈值;

根据所述第一距离和所述第二距离,确定所述微服务在所述事务中的性能贡献度。

5.根据权利要求4所述的方法,其特征在于,所述根据所述第一距离和所述第二距离,确定所述微服务在所述事务中的性能贡献度,包括:

所述确定所述微服务在所述事务中的性能贡献度,其中,所述性能贡献度满足以下公式:

其中,p代表所述微服务在所述事务中的性能贡献度,d 代表所述第一距离,d-代表所述第二距离。

6.根据权利要求4或5所述的方法,其特征在于,所述获取所述微服务在所述事务中的服务指标向量与预设服务指标理想向量之间的第一距离,以及所述微服务在所述事务中的服务指标向量与预设服务指标反理想向量之间的第二距离,包括:

获取所述微服务在所述事务中的服务指标向量;

根据所述微服务的至少两个服务指标权重参数、所述服务指标向量以及所述预设服务指标理想向量,确定所述第一距离;其中,所述至少两个服务指标权重参数的总和等于1;

根据所述至少两个服务指标权重参数、所述服务指标向量以及所述预设服务指标反理想向量,确定所述第二距离。

7.根据权利要求6所述的方法,其特征在于,所述获取所述微服务在所述事务中的服务指标向量,包括:

根据所述微服务在所述事务中的至少两个服务指标参数,以及所述事务中除所述微服务之外的其它微服务所对应的至少两个服务指标参数,确定所述至少两个服务指标参数所对应的归一化的服务指标参数;

根据所述至少两个服务指标参数所对应的归一化的服务指标参数,确定所述服务指标向量。

8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:

接收终端发送的所述至少两个服务指标权重参数;或者,

根据默认方式确定所述至少两个服务指标权重参数。

9.根据权利要求2-8中任一项所述的方法,其特征在于,获取所述至少一个事务各自在所述应用中被调用的次数权重,包括:

针对每个所述事务,获取预设统计时间段内所述事务在所述应用中被调用的次数;

根据调用次数阈值和所述被调用的次数,确定所述事务在所述应用中被调用的次数权重。

10.根据权利要求9所述的方法,其特征在于,所述根据调用次数阈值和所述被调用的次数,确定所述事务在所述应用中被调用的次数权重,包括:

确定所述事务在所述应用中被调用的次数权重,其中,所述被调用的次数权重满足以下公式:

其中,q代表所述被调用的次数权重,sigmoid()代表sigmoid函数,d代表所述被调用的次数,d0代表所述调用次数阈值,所述c1代表第一预设常数,所述c2代表第二预设常数,所述c3代表第三预设常数。

11.根据权利要求2-10中任一项所述的方法,其特征在于,获取所述至少一个事务各自在所述应用中的关键度,包括:

接收终端发送的所述至少一个事务各自在所述应用中的关键度。

12.根据权利要求2-10中任一项所述的方法,其特征在于,所述获取所述至少一个事务各自在所述应用中的关键度,包括:

针对每个所述事务,获取预设统计时间段内所述事务在所述应用中被调用的次数,以及所述至少一个事务在所述应用中被调用的总次数;

根据所述被调用的次数和所述被调用的总次数,确定所述事务在所述应用中的关键度。

13.根据权利要求1所述的方法,其特征在于,所述获取应用的每个微服务的服务重要性指数,包括:

接收终端发送的所述应用的每个微服务的服务重要性指数。

14.根据权利要求1-13中任一项所述的方法,其特征在于,所述根据每个所述微服务的服务重要性指数执行相应的服务,包括:

根据每个所述微服务的服务重要性指数,展示至少一个所述微服务。

15.根据权利要求14所述的方法,其特征在于,所述根据每个所述微服务的服务重要性指数,展示至少一个所述微服务,包括:

根据每个所述微服务的服务重要性指数,展示所述应用的服务拓扑图;其中,所述服务拓扑图中包括所述应用的至少一个所述微服务的节点,且每个所述微服务的节点大小与所述微服务的服务重要性指数成正向关系。

16.根据权利要求15所述的方法,其特征在于,所述根据每个所述微服务的服务重要性指数,展示所述应用的服务拓扑图之前,所述方法还包括:

接收查看请求;其中,所述查看请求用于请求查看所述应用的至少一个微服务;

其中,若所述查看请求用于请求查看所述应用的每个微服务,则所述服务拓扑图中包括所述应用的每个微服务的节点;或者,

若所述查看请求用于请求查看所述应用中按照服务重要性参数由大到小顺序的前n个微服务,则所述服务拓扑图中包括所述应用的所述前n个微服务,其中,所述n为大于0的整数。

17.根据权利要求14-16中任一项所述的方法,其特征在于,所述根据每个所述微服务的服务重要性指数执行相应的服务,还包括:

根据每个所述微服务的服务重要性指数,展示至少一个所述微服务的增值服务。

18.根据权利要求17所述的方法,其特征在于,所述增值服务包括以下至少一项:调用链查看、服务指标参数查看、故障预警、告警分级。

19.一种微服务处理方法,其特征在于,包括:

向应用性能管理设备发送查看请求;其中,所述查看请求中用于请求查看应用的至少一个微服务;

接收所述应用性能管理设备根据每个所述微服务的服务重要性指数所展示的所述应用的服务拓扑图;

其中,所述服务拓扑图中包括所述应用的至少一个所述微服务的节点,且每个所述微服务的节点大小与所述微服务的服务重要性指数成正向关系;每个所述微服务的服务重要性指数与所述微服务在所述应用中的以下至少一项信息相关联:所述微服务所属的至少一个事务的事务类型、所述至少一个事务各自在所述应用中的关键度、所述至少一个事务各自在所述应用中被调用的次数权重、所述微服务分别在所述至少一个事务中的性能贡献度。

20.根据权利要求19所述的方法,其特征在于,若所述查看请求用于请求查看所述应用的每个微服务,则所述服务拓扑图中包括所述应用的每个微服务的节点;或者,

若所述查看请求用于请求查看所述应用中按照服务重要性参数由大到小顺序的前n个微服务,则所述服务拓扑图中包括所述应用的所述前n个微服务,其中,所述n为大于0的整数。

21.根据权利要求19或20所述的方法,其特征在于,所述接收所述应用性能管理设备根据每个所述微服务的服务重要性指数所展示的所述应用的服务拓扑图之后,所述方法还包括:

接收所述应用性能管理设备根据每个所述微服务的服务重要性指数所展示的至少一个所述微服务的增值服务。

22.根据权利要求21所述的方法,其特征在于,所述增值服务包括以下至少一项:调用链查看、服务指标参数查看、故障预警、告警分级。

23.一种微服务处理装置,其特征在于,包括:

获取模块,用于获取应用的每个微服务的服务重要性指数;

执行模块,用于根据每个所述微服务的服务重要性参数执行相应的服务。

24.一种微服务处理装置,其特征在于,包括:

发送模块,用于向应用性能管理设备发送查看请求;其中,所述查看请求中用于请求查看应用的至少一个微服务;

接收模块,用于接收所述应用性能管理设备根据每个所述微服务的服务重要性指数所展示的所述应用的服务拓扑图;

其中,所述服务拓扑图中包括所述应用的至少一个所述微服务的节点,且每个所述微服务的节点大小与所述微服务的服务重要性指数成正向关系;每个所述微服务的服务重要性指数与所述微服务在所述应用中的以下至少一项信息相关联:所述微服务所属的至少一个事务的事务类型、所述至少一个事务各自在所述应用中的关键度、所述至少一个事务各自在所述应用中被调用的次数权重、所述微服务分别在所述至少一个事务中的性能贡献度。

25.一种应用性能管理设备,其特征在于,包括:处理器和存储器;

其中,所述存储器,用于存储程序指令;

所述处理器,用于调用并执行所述存储器中存储的程序指令,当所述处理器执行所述存储器存储的程序指令时,所述应用性能管理设备用于执行如权利要求1至18中任一项所述的方法。

26.一种终端,其特征在于,包括:处理器和存储器;

其中,所述存储器,用于存储程序指令;

所述处理器,用于调用并执行所述存储器中存储的程序指令,当所述处理器执行所述存储器存储的程序指令时,所述终端用于执行如权利要求19至22中任一项所述的方法。

27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1至22中任一项所述的方法。

技术总结
本申请实施例提供一种微服务处理方法、装置、设备及存储介质,该方法包括:获取应用的每个微服务的服务重要性指数,然后根据该应用的每个微服务的服务重要性指数执行相应的服务。由于应用的任意微服务的服务重要性指数用于指示该微服务对于上述应用执行的重要程度,从而根据上述应用的每个微服务的服务重要性指数所执行的相应服务结果,以便于用户根据服务结果可以准确地识别出对于上述应用重要程度较高的关键微服务。

技术研发人员:仝梦菲;王琛
受保护的技术使用者:华为技术有限公司
技术研发日:2019.12.31
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-51808.html

最新回复(0)