服务稳定性的评估方法、装置、存储介质及电子装置与流程

文档序号:32337669发布日期:2022-11-26 08:37阅读:59来源:国知局
服务稳定性的评估方法、装置、存储介质及电子装置与流程

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.图1是根据本发明其中一实施例的一种服务稳定性的评估方法的流程图;
34.图2是根据本发明其中一实施例的一种服务稳定性的评估装置的结构框图。
具体实施方式
35.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
36.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
37.相关技术中针对服务稳定性的评估方法主要是对其进行系统级别的评估,包括评估保障系统平稳运行的能力,即在系统发生故障时,排查故障并恢复系统的运行。然而没有针对低层级微服务的稳定性进行量化评估,因此相关技术的评估层级过高,从而导致评估结果无法直接指导各个微服务的负责团队进行相关的稳定性风险的规避。此外,相关技术中针对服务稳定性的评估通常需要相关评估机构进行现场评估,评估耗时较长,因此相关技术无法实现对服务进行天级或实时的评估,从而导致评估频率低。并且,线上服务不断地更新,其稳定性也在不断地变化,因此在两次评估的间隔时间内,依据上一次的评估结果并
不能有效地指导服务稳定性的建设。
38.由此可知,相关技术存在服务稳定性的评估层级高、评估频率低等问题。因此,本技术提出了一种服务稳定性的评估方法来解决上述技术问题。
39.根据本发明实施例,提供了一种服务稳定性的评估方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
40.该方法实施例可以在包含存储器和处理器的电子装置或者类似的运算装置中执行。以运行在计算机终端上为例,计算机终端可以包括一个或多个处理器(处理器可以包括但不限于中央处理器(cpu)、图形处理器(gpu)、数字信号处理(dsp)芯片、微处理器(mcu)、可编程逻辑器件(fpga)、神经网络处理器(npu)、张量处理器(tpu)、人工智能(ai)类型处理器等的处理装置)和用于存储数据的存储器。可选地,上述计算机终端还可以包括用于通信功能的传输设备、输入输出设备以及显示设备。本领域普通技术人员可以理解,上述结构描述仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比上述结构描述更多或者更少的组件,或者具有与上述结构描述不同的配置。
41.存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的服务稳定性的评估方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的服务稳定性的评估方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
42.传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
43.显示设备可以例如触摸屏式的液晶显示器(lcd)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(gui),用户可以通过触摸触敏表面上的手指接触和/或手势来与gui进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
44.在本实施例中提供了一种运行于上述计算机终端的服务稳定性的评估方法,图1是根据本发明其中一实施例的一种服务稳定性的评估方法的流程图,如图1所示,该流程包括如下步骤:
45.步骤s12,检测目标微服务在运行过程中的目标变化信息,其中,目标变化信息用于表示目标微服务的稳定性变化情况;
46.步骤s14,对目标变化信息进行识别,得到目标识别结果,其中,目标识别结果用于表示目标变化信息对应的分类信息;
47.步骤s16,确定目标识别结果对应的至少一个目标观测指标;
48.步骤s18,基于至少一个目标观测指标对目标微服务进行量化评估,得到目标微服务对应的稳定性评估结果。
49.具体的,目标变化信息对应的分类信息表示稳定性变化的分类,可以包括变化大类、变化子类以及稳定性恶化原因。目标观测指标可以分为两大类,分别为人为变化类观测指标和被动变化类观测指标,目标观测指标可以为观测指标与评分标准的对应关系,并且不同观测指标对应的分数不同,分数越高表示稳定性越差。其中,人为变化类观测指标可以包括最新上线单状态、工程可用性和业务可用性等,被动变化类观测指标可以包括与变化子类关联的至少一个参数指标。
50.检测目标微服务在运行过程中的稳定性变化情况,并识别其对应的变化大类、变化子类以及稳定性恶化原因,进而根据识别结果确定对应的目标观测指标,并根据观测指标与评分标准的对应表对单个微服务的稳定性进行评分,最后可将所有目标观测指标对应的分数进行累加,从而得到目标微服务对应的稳定性的评估结果,评估结果的分数越高,则说明目标微服务的稳定性越差。
51.基于上述步骤s12至s18,通过检测目标微服务在运行过程中的目标变化信息,对目标变化信息进行识别,得到目标识别结果,进而确定目标识别结果对应的至少一个目标观测指标,并基于至少一个目标观测指标对目标微服务进行量化评估,从而得到目标微服务对应的稳定性评估结果,达到了降低评估层级、提高评估频率的目的,从而实现了对单个微服务的稳定性进行量化评估的技术效果,进而解决了相关技术中导致的服务稳定性评估层级高、评估频率低的技术问题。
52.可选地,在步骤s14中,对目标变化信息进行识别,得到目标识别结果包括:
53.步骤s141,获取目标分类规则;
54.步骤s142,利用目标分类规则对目标变化信息进行识别,得到目标识别结果。
55.具体的,目标分类规则用于表示微服务稳定性变化分类及原因的对应关系,可以利用表1所示的微服务稳定性变化分类及原因对应表进行解释。如表1所示,影响微服务稳定性的变化大类包括两类,分别为人为变化和被动变化。其中,人为变化表示由于用户的预先设置而导致的稳定性变化,例如,人为停止服务上线、操作违反规范等;被动变化表示由于系统故障而导致的稳定性变化,例如,机器硬件故障等。
56.如表1所示,人为变化大类中包括三个变化子类,分别为服务上线与代码变更、配置变更以及实例扩容/缩容。其中,服务上线与代码变更子类中包括三个稳定性恶化原因,分别为代码逻辑错误、异常处理不合理以及未遵守开发规范;配置变更子类中包括一个稳定性恶化原因为配置错误或不合理;实例扩容/缩容子类中包括一个稳定性恶化原因为非预期的实例承接流量。
57.被动变化大类中包括四个变化子类,分别为流量变化、服务容量变化、其他服务故障以及机器变化。其中,流量变化子类中包括五个稳定性恶化原因,分别为流量降低-外网服务外网通路故障、流量降低-内网服务内网通路故障、流量升高-攻击流量、流量升高-活动运营或高峰期以及流量升高-内网服务上游异常调用。服务容量变化子类中包括三个稳
定性恶化原因,分别为服务平响升高、服务套餐内中央处理器(central processing unit,cpu)使用率升高以及服务套餐内内存使用率升高。其他服务故障子类中包括四个稳定性恶化原因,分别为数据库问题-慢结构化查询语言(structured query language,sql)、大事务、连接打满;缓存中间件问题-大键值标识(key)、缓存穿透、缓存击穿、缓存雪崩;消息队列中间件问题-消息丢失、重复消费;下游或第三方服务故障。机器变化子类中包括两个稳定性恶化原因,分别为基础环境升级/降级和机器硬件故障。
58.具体的,可以利用微服务稳定性变化分类及原因对应表对单个微服务的目标变化信息进行识别,得到目标识别结果,包括目标变化信息对应的变化大类、变化子类以及稳定性恶化原因。例如,利用微服务稳定性变化分类及原因对应表对单个微服务1的目标变化信息进行识别,得到目标识别结果,包括目标变化信息对应的变化大类为人为变化、变化子类为服务上线与代码变更、稳定性恶化原因为代码逻辑错误和异常处理不合理。再例如,利用微服务稳定性变化分类及原因对应表对单个微服务2的目标变化信息进行识别,得到目标识别结果,包括目标变化信息对应的变化大类为被动变化、变化子类为服务容量变化、稳定性恶化原因为服务套餐内cpu使用率高和服务套餐内内存使用率升高。
59.基于上述步骤s141至s142,通过获取目标分类规则,并利用目标分类规则对目标变化信息进行识别,得到目标识别结果,可以实现确定目标变化信息对应的具体大类、子类及恶化原因,以便针对此目标识别结果对单个微服务的稳定性进行评估。
60.表1微服务稳定性变化分类及原因对应表
[0061][0062]
可选地,在步骤s142中,利用目标分类规则对目标变化信息进行识别,得到目标识别结果包括:
[0063]
步骤s1421,在第一分类范围中对目标变化信息进行识别,确定第一识别结果,其中,第一识别结果用于表示目标变化信息对应的变化大类;
[0064]
步骤s1422,根据第一识别结果确定第二分类范围,其中,第二分类范围包括第一识别结果对应的多个变化子类;
[0065]
步骤s1423,在第二分类范围中对目标变化信息进行识别,确定第二识别结果,其中,第二识别结果用于表示目标变化信息对应的变化子类和变化原因。
[0066]
具体的,第一分类范围表示影响微服务稳定性的变化大类,包括人为变化和被动变化。可以在变化大类中对目标变化信息进行识别,确定目标变化信息对应的变化大类。
[0067]
根据第一识别结果得知目标变化信息对应的变化大类,从而可以确定目标变化信息对应的变化子类范围。例如,根据第一识别结果得知目标变化信息对应的变化大类为人
为变化,从而可以确定目标变化信息对应的变化子类范围为服务上线与代码变更、配置变更以及实例扩容/缩容,即目标变化信息对应的变化子类为服务上线与代码变更、配置变更以及实例扩容/缩容中的至少一个。
[0068]
在确定目标变化信息对应的变化子类范围后,可以对目标变化信息进行识别,从而确定目标变化信息对应的变化子类和变化原因。例如,在确定目标变化信息对应的变化子类范围为服务上线与代码变更、配置变更以及实例扩容/缩容时,可以对目标变化信息进行识别,从而确定目标变化信息对应的变化子类为服务上线与代码变更,变化原因为代码逻辑错误。
[0069]
基于上述步骤s1421至s1423,通过在第一分类范围中对目标变化信息进行识别,确定第一识别结果,并根据第一识别结果确定第二分类范围,进而在第二分类范围中对目标变化信息进行识别,确定第二识别结果,可以得到目标变化信息对应的变化大类、变化子类及变化原因,以便针对变化大类、变化子类及变化原因对单个微服务的稳定性进行详细的评估。
[0070]
可选地,在步骤s16中,第一分类范围中包括第一变化,确定目标识别结果对应的至少一个目标观测指标包括:
[0071]
步骤s161,响应第二识别结果为包含于第一变化中的变化子类,确定至少一个目标观测指标包括以下至少之一:最新上线单状态、工程可用性和业务可用性,其中,第一变化用于表示由于用户的预先设置而导致的稳定性变化。
[0072]
具体的,第一变化表示人为变化。当由于用户的预先设置导致微服务稳定性变化时,可以在最新上线单状态、工程可用性和业务可用性中确定至少一个指标作为评估微服务稳定性的目标观测指标。例如,当微服务上线时,由于人工手动终止上线使微服务新老版本并存,而导致的微服务稳定性变化时,可以在最新上线单状态、工程可用性和业务可用性中确定最新上线单状态作为评估微服务稳定性的目标观测指标。
[0073]
基于上述步骤s161,通过响应第二识别结果为包含于第一变化中的变化子类,确定至少一个目标观测指标,可以实现确定对受用户的预先设置影响的微服务稳定性进行评估的目标观测指标,以便利用人为变化中的变化子类对应的目标观测指标对单个微服务进行细致的评估。
[0074]
可选地,在步骤s16中,第一分类范围中包括第二变化,确定目标识别结果对应的至少一个目标观测指标包括:
[0075]
步骤s162,响应第二识别结果为包含于第二变化中的变化子类,将与变化子类关联的至少一个参数指标确定为目标观测指标,其中,第二变化用于表示由于系统异常而导致的稳定性变化。
[0076]
具体的,第二变化表示被动变化。与被动变化中的变化子类关联的参数指标可以包括丢包率、往返时延(round-trip time,rtt)、带宽使用率、外网接入点非健康数、域名被劫持数等。
[0077]
当第二识别结果是包含于被动变化大类的变化子类时,可以将与变化子类关联的至少一个参数指标确定为评估微服务稳定性的目标观测指标。例如,当第二识别结果是包含于被动变化大类的流量变化子类时,可以将与流量变化子类关联的丢包率、rtt确定为评估微服务稳定性的目标观测指标。
[0078]
基于上述步骤s162,通过响应第二识别结果为包含于第二变化中的变化子类,将与变化子类关联的至少一个参数指标确定为目标观测指标,可以实现确定对受系统异常影响的微服务稳定性进行评估的目标观测指标,以便利用被动变化中的变化子类对应的目标观测指标对单个微服务进行细致的评估。
[0079]
可选地,在步骤s18中,基于至少一个目标观测指标对目标微服务进行量化评估,得到稳定性评估结果包括:
[0080]
s181,获取目标评估规则,其中,目标评估规则用于记录至少一个目标观测指标与评价标准之间的映射关系;
[0081]
s182,计算目标微服务对应的评价数值,其中,评价数值用于表示在目标微服务的运行过程中至少一个目标观测指标对应的量化值;
[0082]
s183,基于评价数值确定稳定性评估结果。
[0083]
具体的,目标评估规则用于表示至少一个目标观测指标与评价标准之间的映射关系,不同的变化子类具有不同的观测指标与评分标准的对应关系。基于目标观测指标与评价标准之间的映射关系,可以计算目标微服务对应的评价数值,得到目标观测指标对应的量化值,进而根据评价数值得到稳定性评估结果,从而实现对目标微服务稳定性的量化评估。
[0084]
基于上述步骤s181至s183,通过获取目标评估规则,并计算目标微服务对应的评价数值,进而根据评价数值得到稳定性评估结果,可以实现对目标微服务稳定性的量化评估。
[0085]
目标观测指标与评价标准之间的映射关系可以利用目标观测指标与评价标准对应表来表示,不同变化子类对应不同的目标观测指标与评价标准对应表。
[0086]
对于服务上线和代码变更的结果,有对应的上线单进行记录。一个上线单有终态和非终态两种状态,其中,终态表示上线完成、非终态表示上线未完成。上线单的终态又分为成功和终止,其中,成功表示全部实例都成功部署、终止表示由于人工手动介入而停止上线。
[0087]
通常情况下,微服务上线不能在短时间内完成,一般需要灰度发布和分级发布等过程,以便逐步观察微服务的上线是否符合预期,但一次上线通常不会超过3天。因此,当一个服务有长时间非终态的上线单,会导致新老版本并存,引入不确定性,会对微服务的稳定性造成影响。另外,当最后一个上线单的终态状态为终止,说明最近一次上线过程中存在人工手动介入终止上线,并且服务没有回滚至上次的版本或者没有更新为新版本,同样也存在新老版本并存的风险,会对微服务的稳定性造成影响。
[0088]
因此,对服务上线与代码变更的结果可以利用服务最新上线单状态进行评估。
[0089]
另外,对服务上线的影响可以利用服务可用性指标进行评估,其中,服务可用性可以分为两种,分别为服务工程可用性和服务业务可用性。工程可用性利用服务返回的http状态码判断和分析服务器的运行状态,定义超文本传输协议(hyper text transfer protocol,http)状态码大于等于499时,请求失败;定义失败请求数为pvlost、总请求数为pv,服务工程可用性(engineering availability)的计算公式如式(1)所示:
[0090]
[0091]
然而,在http正常返回的情况下,还会存在由于错误的代码逻辑造成错误的业务返回的情况,针对这种情况可以利用服务业务可用性进行评估。定义业务错误请求数为bpvlost、业务总请求数为pv,服务工程可用性(business availability)的计算公式如式(2)所示:
[0092][0093]
因此,针对服务上线与代码变更子类的变化可以利用服务最新上线单状态、服务工程可用性和服务业务可用性进行评估,具体的观测指标与评价标准如表2所示。表2是人为变化大类中的服务上线与代码变更子类观测指标与评价标准对应表。
[0094]
表2服务上线和代码变更子类观测指标和评分标准对应表
[0095][0096]
如表2所示,观测指标包括服务最新上线单状态、服务工程可用性以及服务业务可用性。其中,服务最新上线单状态对应的评分标准可以包括以下几种评分等级:当最新上线单为终态且上线单为终止时,记5分;当最新上线单为非终态且上线单超过3天未结单,记5分。服务工程可用性对应的评分标准可以包括以下几种评分等级:当服务天级工程可用性在99.91%-99.95%之间时,记5分;当服务天级工程可用性在99.51%-99.9%之间时,记10分;当服务天级工程可用性小于99.5%时,记15分。服务业务可用性对应的评分标准可以包括以下几种评分等级:当服务天级业务可用性在99.91%-99.95%之间时,记5分;当服务天级业务可用性在99.51%-99.9%之间时,记10分;当服务天级业务可用性小于99.5%时,记15分。
[0097]
利用表2可以对受服务上线与代码变更子类变化影响的服务稳定性进行细致的评估,同时可将评估做到天级以上。例如,当最新上线单为终态且上线单为终止时,记5分。再例如,当一天中失败请求数pvlost为6、总请求数pv为1000时,根据公式(1)可以计算得到服务天级工程可用性为99.4%,进而根据表2可得评价数值为15分。
[0098]
此外,由于配置变更子类的变化对服务稳定性的影响和服务上线类似,因此受配置变更子类变化影响的微服务稳定性也可以用表2进行评估。由于实例的扩容和缩容是根据非预期的实例承接流量对服务的稳定性造成影响,因此受实例的扩容和缩容子类变化影响的微服务稳定性也可以用表2进行评估。
[0099]
通过获取服务上线和代码变更子类观测指标和评分标准对应表,可以计算受服务上线和代码变更影响的目标微服务对应的评价数值,进而根据评价数值得到稳定性评估结果,从而实现对目标微服务稳定性进行天级的量化评估。
[0100]
除了受人为变化影响的微服务稳定性可以利用表2进行评估之外,受被动变化影响的微服务稳定性也可以利用其他观测指标和评分标准对应表进行评估。其中,针对流量变化子类,其观测指标与评分标准的对应关系如表3所示。
[0101]
如表3所示,流量变化子类的观测指标包括微服务实例互联网协议(internet protocol,ip)的丢包率、微服务实例ip的往返时延(round-trip time,rtt)、外网服务外网接入点带宽使用率、外网服务外网接入点非健康数以及域名访问服务域名劫持数。
[0102]
微服务实例ip的丢包率对应的评分标准可以包括以下几种评分等级:当同机房天级丢包率在0.069%-0.347%之间时,记5分;当同机房天级丢包率在0.348%-0.69%之间时,记10分;当同机房天级丢包率大于0.691%时,记15分。当同地域跨机房天级丢包率在0.069%-0.347%之间时,记5分;当同地域跨机房天级丢包率在0.348%-0.69%之间时,记10分;当同地域跨机房天级丢包率大于0.691%时,记15分。当跨地域跨机房天级丢包率在0.069%-0.347%之间时,记5分;当跨地域跨机房天级丢包率在0.348%-0.69%之间时,记10分;当跨地域跨机房天级丢包率大于0.691%时,记15分。
[0103]
微服务实例ip的rtt对应的评分标准可以包括以下几种评分等级:当同机房天级rtt均值在0.3毫秒(ms)-0.6ms之间时,记10分;当同机房天级rtt均值大于0.61ms时,记20分。当同地域跨机房天级rtt均值在4ms-5ms之间时,记5分;当同地域跨机房天级rtt均值大于5.1ms时,记10分。当跨地域跨机房天级rtt均值在40ms-50ms之间时,记2分;当跨地域跨机房天级rtt均值大于51ms时,记5分。
[0104]
外网服务外网接入点带宽使用率对应的评分标准可以包括天级带宽使用率峰值大于50%时,记10分。
[0105]
外网服务外网接入点非健康数对应的评分标准可以包括外网接入点非健康数大于等于1时,记10分。
[0106]
域名访问服务域名劫持数对应的评分标准可以包括域名被劫持数大于等于1时,记10分。
[0107]
表3流量变化子类观测指标与评分标准的对应关系表
[0108][0109]
利用表3可以对受流量变化子类变化影响的服务稳定性进行细致的评估,同时可将评估做到天级以上。例如,同地域跨机房天级丢包率为0.1%,记5分;并且跨地域跨机房天级丢包率为0.35%,记10分;将各个评分进行累加得到服务的评价数值为15分。再例如,同机房天级rtt均值为0.45ms,记10分;天级带宽使用率峰值为60%,记10分;外网接入点非健康数等于1,记10分;将各个评分进行累加得到服务的评价数值为30分。
[0110]
通过获取流量变化子类观测指标与评分标准的对应关系表,可以计算受流量变化影响的目标微服务对应的评价数值,进而根据评价数值得到稳定性评估结果,可以实现对目标微服务稳定性进行天级的量化评估。
[0111]
对于服务容量变化子类,通常由系统对业务承载的能力来进行评估。与容器容纳液体的容量类似,服务容量定义为系统对业务承载能力的量化。对于一般业务,容量模型是基于业务(drivers)、可用性、服务质量(quality of service,qos)和资源(resources)之间的关联关系进行建模的。drivers的增长会带来resources的消耗和qos的退化。对于cpu密集型的服务,定义服务容量水位公式如式(3)所示,其中,cpu使用量用于表示资源的使用
情况;qps是每秒的请求数,用于表示业务情况;平响是服务处理所有请求的平均响应时间,用于表示可用性和服务质量。
[0112][0113]
如果微服务承接的流量超出服务可承受的范围,则会引起容量水位的升高。一般的同地域双机房架构中,微服务每个机房的容量均要能承受另一机房停止服务而带来的流量,即在任何时刻,单机房的水位要保证在50%以下。
[0114]
对于服务容量变化子类的观测指标与评分标准对应关系如表4所示。服务容量变化子类观测指标包括微服务容量水位,评分标准包括当单机房任意时刻水位超过50%时,记20分。
[0115]
表4服务容量变化子类观测指标与评分标准的对应关系表
[0116]
观测指标评分标准微服务容量水位单机房任意时刻水位超过50%:记20分
[0117]
通过获取服务容量变化子类观测指标与评分标准的对应关系表,可以计算受服务容量变化影响的目标微服务对应的评价数值,进而根据评价数值得到稳定性评估结果,可以实现对目标微服务稳定性进行量化评估。
[0118]
对于被动变化大类中的其他服务故障子类中的故障可以分为两类,一类是由于不合理的使用导致的下游问题,比如数据库慢查和连接数打满等,另一类是下游服务自身故障。对于其他服务故障子类的观测指标与评分标准对应关系如表5所示。
[0119]
如表5所示,其他服务故障子类的观测指标可以包括数据库慢结构化查询语言(structured query language,sql)数、数据库大事务数、数据库当前连接数占总链接数百分比、数据库最大cpu使用率、数据库最大内存使用率;缓存中间件大键值标识(key)数、缓存中间件慢查数、缓存中间件缓存命中率、缓存中间件最大cpu使用率、缓存中间件最大内存使用率;消息队列中间件单主题滞后(topic lag)、消息队列中间件最大cpu使用率、消息队列中间件最大内存使用率、消息队列中间件各个磁盘分区输入/输出(i/o)使用率、消息队列中间件各个磁盘分区使用率。
[0120]
其他服务故障子类评分标准可以包括每出现一条慢sql时,记2分;每出现一个大事务时,记5分;当数据库当前连接数占总链接数百分比在40%-79%之间时,记10分;当数据库当前连接数占总链接数百分比大于80%时,记20分;当数据库最大cpu使用率在40%-79%之间时,记10分;当数据库最大cpu使用率大于80%时,记20分;当数据库最大内存使用率在40%-79%之间时,记10分;当数据库最大内存使用率大于80%时,记20分;每出现一个大key时,记2分;每出现一条慢查时,记2分;当缓存中间件缓存命中率在40%-60%之间时,记10分;当缓存中间件缓存命中率小于39%时,记20分;当缓存中间件最大cpu使用率在40%-79%之间时,记10分;当缓存中间件最大cpu使用率大于80%时,记20分;当缓存中间件最大内存使用率在40%-79%之间时,记10分;当缓存中间件最大内存使用率大于80%时,记20分;当30分钟单topic lag增长时,记5分;当消息队列中间件最大cpu使用率在40%-79%之间时,记10分;当消息队列中间件最大cpu使用率大于80%时,记20分;当消息队列中间件最大内存使用率在40%-79%之间时,记10分;当消息队列中间件最大cpu使用率大于80%时,记20分;当消息队列中间件各个磁盘分区i/o使用率在40%-79%之间时,记
10分;当消息队列中间件各个磁盘分区i/o使用率大于80%时,记20分;当消息队列中间件各个磁盘分区使用率在40%-79%之间时,记10分;当消息队列中间件各个磁盘分区使用率大于80%时,记20分。
[0121]
表5其他服务故障子类观测指标与评分标准的对应关系表
[0122][0123][0124]
利用表5可以对受其他服务故障类变化影响的服务稳定性进行细致的评估。例如,
数据库出现五条慢sql,记10分;数据库最大cpu使用率为82%,记20分;缓存中间件最大cpu使用率为83%,记20分;由此可将各个评分进行累加得到服务的评价数值为50分。
[0125]
通过获取其他服务故障子类观测指标与评分标准的对应关系表,可以计算受其他服务故障影响的目标微服务对应的评价数值,进而根据评价数值得到稳定性评估结果,可以实现对目标微服务稳定性进行量化评估。
[0126]
对于机器变化子类的观测指标与评分标准的对应关系如表6所示。机器是系统的最底层,内核参数的变化以及硬件的故障都会对服务的稳定性造成严重的影响。其中,硬件故障可以根据服务所在机器的系统日志(syslog)和带外日志进行评价。整机cpu使用率、整机内存使用率、磁盘使用率、磁盘i/o使用率和网卡带宽使用率也是用于评价机器性能的重要指标。
[0127]
如果机器宕机或者数据无法恢复,就需要判断是否有容灾和备份。如果有应用系统产生的重要数据(或者原有的重要数据信息)的备份数据,则在备份数据恢复后,服务可以继续正常工作。对于一般的微服务,需要保证天级的数据备份。
[0128]
如表6所示,机器变化子类观测指标可以包括服务所在机器硬件故障数;服务所在机器最大cpu使用率、服务所在机器最大内存使用率、服务所在机器各个磁盘分区i/o使用率、服务所在机器各个磁盘分区使用率、服务所在机器网卡最大带宽使用率;天级服务数据备份数。
[0129]
机器变化子类评分标准可以包括每条机器硬件故障报警,记10分;当机器最大cpu使用率在40%-79%之间时,记10分;当机器最大cpu使用率大于80%时,记20分;当机器最大内存使用率在40%-79%之间时,记10分;当机器最大内存使用率大于80%时,记20分;当机器各个磁盘分区i/o使用率在40%-79%之间时,记10分;当机器各个磁盘分区i/o使用率大于80%时,记20分;当机器各个磁盘分区使用率在40%-79%之间时,记10分;当机器各个磁盘分区使用率大于80%时,记20分;当机器网卡最大带宽使用率在40%-79%之间时,记10分;当机器网卡最大带宽使用率大于80%时,记20分;当天级服务数据备份数小于1时,记10分。
[0130]
表6机器变化子类观测指标与评分标准的对应关系表
[0131][0132]
利用表6所示的观测标准及评分标准可以对机器变化子类进行细致的评估。例如,出现3条机器硬件故障报警,记30分;机器最大cpu使用率为50%,记10分;机器最大内存使用率为49%,记10分;由此可将各个评分进行累加得到微服务的评价数值为50分。
[0133]
通过获取机器变化子类观测指标与评分标准的对应关系表,可以计算受机器变化影响的目标微服务对应的评价数值,进而根据评价数值得到稳定性评估结果,从而实现对目标微服务稳定性进行天级的量化评估。
[0134]
根据获取的目标评估规则,计算目标微服务对应的评价数值,并给予评价数值可以得出微服务稳定性的评估结果。评价数值越高表示微服务的稳定性越差,同时由于对单个微服务可以做到天级的量化评估,评估耗时较短,因此可以以一段时间内的评价数值的波动表示微服务的稳定性。
[0135]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0136]
在本实施例中还提供了一种服务稳定性的评估装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0137]
图2是根据本发明其中一实施例的一种服务稳定性的评估装置的结构框图,如图2
所示,该服务稳定性的评估装置包括:
[0138]
检测模块201,用于检测目标微服务在运行过程中的目标变化信息,其中,目标变化信息用于表示目标微服务的稳定性变化情况;
[0139]
识别模块202,用于对目标变化信息进行识别,得到目标识别结果,其中,目标识别结果用于表示目标变化信息对应的分类信息;
[0140]
确定模块203,用于确定目标识别结果对应的至少一个目标观测指标;
[0141]
评估模块204,用于基于至少一个目标观测指标对目标微服务进行量化评估,得到目标微服务对应的稳定性评估结果。
[0142]
可选地,服务稳定性的评估装置还包括:获取模块205,用于获取目标分类规则;识别模块202还用于:利用目标分类规则对目标变化信息进行识别,得到目标识别结果。
[0143]
可选地,识别模块202还用于:在第一分类范围中对目标变化信息进行识别,确定第一识别结果,其中,第一识别结果用于表示目标变化信息对应的变化大类;根据第一识别结果确定第二分类范围,其中,第二分类范围包括第一识别结果对应的多个变化子类;在第二分类范围中对目标变化信息进行识别,确定第二识别结果,其中,第二识别结果用于表示目标变化信息对应的变化子类和变化原因。
[0144]
可选地,确定模块203还用于:响应第二识别结果为包含于第一变化中的变换子类,确定至少一个目标观测指标包括以下至少之一:最新上线单状态、工程可用性和业务可用性,其中,第一变化用于表示由于用户的预先设置而导致的稳定性变化。
[0145]
可选地,确定模块203还用于:响应第二识别结果是包含于第二变化中的变换子类,将与变化子类关联的至少一个参数指标确定为目标观测指标,其中,第二变化用于表示由于系统异常而导致的稳定性变化。
[0146]
可选地,获取模块205还用于:获取目标评估规则,其中,目标评估规则用于记录至少一个目标观测指标与评价标准之间的映射关系。
[0147]
可选地,服务稳定性的评估装置还包括计算模块206,用于计算目标微服务对应的评价数值,其中,评价数值用于表示在目标微服务的运行过程中至少一个目标观测指标对应的量化值。
[0148]
可选地,确定模块203还用于:基于评价数值确定稳定性评估结果。
[0149]
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
[0150]
本发明的实施例还提供了一种非易失性存储介质,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
[0151]
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
[0152]
步骤s1,检测目标微服务在运行过程中的目标变化信息,其中,目标变化信息用于表示目标微服务的稳定性变化情况;
[0153]
步骤s2,对目标变化信息进行识别,得到目标识别结果,其中,目标识别结果用于表示目标变化信息对应的分类信息;
[0154]
步骤s3,确定目标识别结果对应的至少一个目标观测指标;
[0155]
步骤s4,基于至少一个目标观测指标对目标微服务进行量化评估,得到目标微服务对应的稳定性评估结果。
[0156]
可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
[0157]
本发明的实施例还提供了一种处理器,处理器用于运行程序,其中,程序被设置为运行时执行上述任一项方法实施例中的步骤。
[0158]
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
[0159]
步骤s1,检测目标微服务在运行过程中的目标变化信息,其中,目标变化信息用于表示目标微服务的稳定性变化情况;
[0160]
步骤s2,对目标变化信息进行识别,得到目标识别结果,其中,目标识别结果用于表示目标变化信息对应的分类信息;
[0161]
步骤s3,确定目标识别结果对应的至少一个目标观测指标;
[0162]
步骤s4,基于至少一个目标观测指标对目标微服务进行量化评估,得到目标微服务对应的稳定性评估结果。
[0163]
本发明的实施例还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
[0164]
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
[0165]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0166]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0167]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0168]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0169]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0170]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步
骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0171]
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1