CN113190417A - 微服务状态检测方法、模型的训练方法、设备及存储介质 - Google Patents
微服务状态检测方法、模型的训练方法、设备及存储介质 Download PDFInfo
- Publication number
- CN113190417A CN113190417A CN202110607452.6A CN202110607452A CN113190417A CN 113190417 A CN113190417 A CN 113190417A CN 202110607452 A CN202110607452 A CN 202110607452A CN 113190417 A CN113190417 A CN 113190417A
- Authority
- CN
- China
- Prior art keywords
- micro
- service
- sample set
- state detection
- sample
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 157
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012549 training Methods 0.000 title claims abstract description 40
- 230000036541 health Effects 0.000 claims abstract description 40
- 230000002159 abnormal effect Effects 0.000 claims abstract description 33
- 238000003062 neural network model Methods 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 41
- 210000002569 neuron Anatomy 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 29
- 238000002372 labelling Methods 0.000 claims description 19
- 230000009467 reduction Effects 0.000 claims description 17
- 230000003862 health status Effects 0.000 claims description 16
- 238000000513 principal component analysis Methods 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 150000001875 compounds Chemical class 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 claims description 5
- 238000011478 gradient descent method Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000004913 activation Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 239000012190 activator Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2135—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种微服务状态检测方法、模型的训练方法、设备及存储介质,针对微服务架构下的每个微服务,获取微服务的多个指标参数,将多个指标参数输入至微服务状态检测模型,得到用于指示微服务是否存在异常的检测结果,其中微服务状态检测模型是采用反向传播神经网络模型训练得到的。本实施例的微服务状态检测模型用于预测当前微服务的健康状态,通过对当前微服务的多项指标参数的分析,实现微服务健康状态的预测功能,从而提前对存在异常的微服务进行隔离,确保整个应用或服务的稳定性与连续性,有效提升系统的服务质量。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种微服务状态检测方法、模型的训练方法、设备及存储介质。
背景技术
随着移动互联网、物联网、云计算和大数据等新型技术的发展,数据呈爆炸式增长,传统的架构模式已经无法满足应用需求,微服务架构作为一种轻量级云服务解决方案,可以有效降低业务模块之间的耦合,提高系统研发的灵活性,已获得越来越广泛的应用。
微服务架构是将一个大型的复杂应用或服务划分成许多松散耦合且可独立部署的较小组件或服务,可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议SLA。随着服务数量的日益增多,服务之间的交互也随之频繁,多个服务部署运行中如何检测每个服务的健康状态,以及时摘除异常节点,保证服务正常运行,已经成为现在微服务架构体系应用过程中亟待解决的问题。
目前的微服务健康状态检测方案,包括因特网包探测器(Packet InternetGroper,PING)健康检测、传输控制协议(Transmission Control Protocol,TCP)健康检测以及超文本传输协议(Hypertext Transfer Protocol,HTTP)健康检测。上述方案都是在微服务出现异常时才能够捕捉到,微服务系统运行稳定性不高。
发明内容
本申请实施例提供一种微服务状态检测方法、模型的训练方法、设备及存储介质,实现对微服务异常状态的预测,提高微服务系统的稳定性。
本申请实施例的第一方面提供一种微服务状态检测方法,包括:
针对微服务架构下的每个微服务,获取所述微服务的多个指标参数;
将所述多个指标参数输入至微服务状态检测模型,得到所述微服务的检测结果,所述检测结果用于指示所述微服务是否存在异常;所述微服务状态检测模型是采用反向传播神经网络模型训练得到的。
在本申请的一个可选实施例中,所述微服务状态检测模型包括:
输入层、隐藏层以及输出层,其中,所述输入层包括q个神经元,所述输出层包括m个神经元,所述隐藏层的神经元个数是根据所述输入层的神经元个数以及所述输出层的神经元个数确定的,其中,q为大于或等于2的正整数,m为大于或等于1的正整数。
在本申请的一个可选实施例中,所述微服务状态检测模型的模型参数包括所述多个指标参数的权重值以及第一阈值,所述检测结果是根据所述多个指标参数,所述多个指标参数的权重值以及所述第一阈值确定的。
可选的,所述微服务状态检测模型由下述函数表示:
式中,y表示所述微服务的健康状态值,f表示激活函数,q表示所述微服务状态检测模型的输入层神经元个数,xi表示所述处理后的指标参数集合中第i个指标参数,wi表示所述第i个指标参数的权重值,θ表示第一阈值。
在本申请的一个可选实施例中,所述检测结果包括所述微服务的健康状态值,所述健康状态值用于指示微服务是否存在异常;所述方法还包括:
通过比较所述健康状态值与预设阈值的大小关系,确定是否发送提示消息,所述提示消息用于通知运营人员对所述微服务的健康状态进行确认。
本申请实施例的第二方面提供一种微服务状态检测模型的训练方法,包括:
获取微服务的样本集合,以及所述样本集合中每个样本的标注结果,每个样本包括多个指标参数,每个样本对应的标注结果用于指示所述微服务是否存在异常;
对所述样本集合中多个样本的指标参数进行降维处理,得到处理后的样本集合;
将所述处理后的样本集合输入初始的微服务状态检测模型,得到多个检测结果;
根据所述多个检测结果以及所述样本集合中每个样本的标注结果,确定损失函数,在所述损失函数收敛时,得到训练好的微服务状态检测模型。
在本申请的一个可选实施例中,所述对所述样本集合中多个样本的指标参数进行降维处理,得到处理后的样本集合,包括:
采用主成分分析PCA算法对所述样本集合中多个样本的指标参数进行降维处理,得到处理后的样本集合。
在本申请的一个可选实施例中,所述损失函数表示为:
在本申请的一个可选实施例中,若所述损失函数不满足收敛条件,所述方法还包括:采用梯度下降法更新所述微服务状态检测模型中的如下参数的至少一项:
每个指标参数的权重值;
第一阈值。
本申请实施例的第三方面提供一种微服务状态检测装置,包括:
针对微服务架构下的每个微服务,获取模块,用于获取微服务的多个指标参数;
处理模块,用于将所述多个指标参数输入至微服务状态检测模型,得到所述微服务的检测结果,所述检测结果用于指示所述微服务是否存在异常;所述微服务状态检测模型是采用反向传播神经网络模型训练得到的。
在本申请的一个可选实施例中,所述微服务状态检测模型包括:
输入层、隐藏层以及输出层,其中,所述输入层包括q个神经元,所述输出层包括m个神经元,所述隐藏层的神经元个数是根据所述输入层的神经元个数以及所述输出层的神经元个数确定的,其中,q为大于或等于2的正整数,m为大于或等于1的正整数。
在本申请的一个可选实施例中,所述微服务状态检测模型的模型参数包括所述多个指标参数的权重值以及第一阈值,所述检测结果是根据所述多个指标参数,所述多个指标参数的权重值以及所述第一阈值确定的。
可选的,所述微服务状态检测模型由下述函数表示:
式中,y表示所述微服务的健康状态值,f表示激活函数,q表示所述微服务状态检测模型的输入层神经元个数,xi表示所述处理后的指标参数集合中第i个指标参数,wi表示所述第i个指标参数的权重值,θ表示第一阈值。
在本申请的一个可选实施例中,所述检测结果包括所述微服务的健康状态值,所述健康状态值用于指示微服务是否存在异常;所述处理模块,还用于:
通过比较所述健康状态值与预设阈值的大小关系,确定是否发送提示消息,所述提示消息用于通知运营人员对所述微服务的健康状态进行确认。
本申请实施例的第四方面提供一种微服务状态检测模型的训练装置,包括:
获取模块,用于获取微服务的样本集合,以及所述样本集合中每个样本的标注结果,每个样本包括多个指标参数,每个样本对应的标注结果用于指示所述微服务是否存在异常;
处理模块,用于对所述样本集合中多个样本的指标参数进行降维处理,得到处理后的样本集合;
将所述处理后的样本集合输入初始的微服务状态检测模型,得到多个检测结果;
根据所述多个检测结果以及所述样本集合中每个样本的标注结果,确定损失函数,在所述损失函数收敛时,得到训练好的微服务状态检测模型。
在本申请的一个可选实施例中,所述处理模块,具体用于:
采用主成分分析PCA算法对所述样本集合中多个样本的指标参数进行降维处理,得到处理后的样本集合。
在本申请的一个可选实施例中,所述损失函数表示为:
在本申请的一个可选实施例中,若所述损失函数不满足收敛条件,训练装置还包括:更新模块;
更新模块,用于采用梯度下降法更新所述微服务状态检测模型中的如下参数的至少一项:
每个指标参数的权重值;
第一阈值。
本申请实施例的第五方面提供一种电子设备,包括:
存储器,处理器以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面中任一项所述的方法。
本申请实施例的第六方面提供一种电子设备,包括:
存储器,处理器以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第二方面中任一项所述的方法。
本申请实施例的第七方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面中任一项所述的方法。
本申请实施例的第八方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如第二方面中任一项所述的方法。
本申请实施例的第九方面提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。
本申请实施例的第十方面提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。
本申请实施例提供一种微服务状态检测方法、模型的训练方法、设备及存储介质,针对微服务架构下的每个微服务,获取微服务的多个指标参数,将多个指标参数输入至微服务状态检测模型,得到用于指示微服务是否存在异常的检测结果,其中微服务状态检测模型是采用反向传播神经网络模型训练得到的。本实施例的微服务状态检测模型用于预测当前微服务的健康状态,通过对当前微服务的多项指标参数的分析,实现微服务健康状态的预测功能,从而提前对存在异常的微服务进行隔离,确保整个应用或服务的稳定性与连续性,有效提升系统的服务质量。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的微服务架构的示意图;
图2为本申请实施例提供的微服务状态检测方法的流程示意图;
图3为本申请实施例提供的微服务状态检测模型的训练示意图;
图4为本申请实施例提供的微服务状态检测装置的结构示意图;
图5为本申请实施例提供的微服务状态检测模型的训练装置的结构示意图;
图6为本申请实施例提供的电子设备的硬件结构图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例的说明书、权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述之外的顺序实施。
应当理解,本文中使用的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请实施例的描述中,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。
本申请实施例提供的技术方案,可用于对微服务架构下的每个微服务的健康状态的检测。微服务架构旨在通过将功能分解到各个离散的服务中以实现解决方案的解耦,即把一个大型的单个应用程序和服务拆分为数个甚至数十个的微服务,可扩展单个组件而不是整个应用程序堆栈,从而满足服务等级协议。微服务的应用不一定是分散在多个服务器上,也可以在同一服务器上,通过接口实现微服务之间的数据交互。
图1为本申请实施例提供的微服务架构的示意图,以电商平台系统为例,电商平台系统可采用微服务架构。如图1所示,本实施例的微服务架构包括多个微服务(可简称服务),例如用户服务、商品服务、订单服务、促销服务、数据分析服务等。其中,每个微服务可对应一个数据库,例如关系型数据可MySQL。
为了提高微服务系统的实时性,还可以加入了消息队列(Message Queue,MQ),MQ是基于数据结构中“先进先出”的一种数据结构,用来解决应用解耦、异步消息、流量削峰等问题,实现高性能、高可用、可伸缩和最终一致性架构。
在实际应用中,用户可通过移动终端上的应用程序APP、小程序或浏览器,访问微服务架构的各个微服务,实现信息查询、修改、删除等数据操作。
目前可通过如下几种微服务状态检测方法确定微服务是否存在异常:
第一,PING健康检测方法,检测服务定时发送PING报文到服务所在的IP地址上,检测IP地址的网络可达性,如果出现超时,则自动屏蔽IP地址;如果出现连续多次超时,则标记为异常。
第二,TCP健康检测方法,对服务提供者所在的服务器定时发送telnet报文(telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式,为用户提供在本地计算机上完成远程主机工作的能力),检测网络可达性及端口可用性,如果telnet连续多次失败,则标记为异常。
第三,HTTP健康检测方法,服务提供者需要配置一个用于健康检测的请求接口,例如使用spring-actuator组件提供了/health接口,检测服务定时发送HTTP请求到该服务,根据接口响应码、响应时间及连续异常次数来确定服务是否可用。
上述几种检测方法都存在一个问题,无法预测服务的健康状态,均是服务出现异常后才被捕捉到,再做出相应的处理。在即将异常和发现异常之间,可能出现异常的服务并没有被标记,服务消费者还会持续调用该服务,这将会导致服务出现异常,系统运行不稳定。
针对上述问题,本申请实施例提供一种微服务状态检测方法,可实现对微服务状态的预测。主要的发明思路如下:利用神经网络模型,例如反向传播(back propagation,BP)神经网络模型,建立微服务健康状态分析模型,通过获取样本数据以及样本数据的标注结果,对模型进行训练。模型的输入为微服务的各项指标参数,模型的输出可指示微服务的健康状态。在实际应用中,还可以基于微服务的实时数据对模型进行持续优化,实现对微服务健康状态的预测功能,提前对异常服务进行隔离,保证整个应用或服务的稳定性与连续性,有效提升系统的服务质量,保障了系统服务等级协议SLA,解决了现有方案获取服务健康状态滞后的问题。
下面通过具体实施例对本申请实施例提供的技术方案进行详细说明。需要说明的是,本申请实施例提供的技术方案可以包括以下内容中的部分或全部,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本申请实施例提供的微服务状态检测方法的流程示意图,该方法的执行主体可以是任意采用微服务架构的服务平台或装置,对此本实施例不作任何限制。
针对微服务架构下的每个微服务,如图2所示,本实施例的微服务状态检测方法包括如下步骤:
步骤101、获取微服务的多个指标参数。
具体的,微服务的多个指标参数可包括以下三个维度的指标参数:
物理维度的指标参数包括:中央处理器CPU数量,CPU使用率(%),当前进程CPU使用率(%),平均负荷load average,内存利用率(%),磁盘输入输出IO,网络IO。
JVM维度的指标参数包括:JVM最大内存(M),JVM可用内存(M),JVM已用内存(M),JVM缓冲区已用内存(M),JVM守护线程数,JVM当前活跃线程数,JVM守护线程数,JVM当前活跃线程数,JVM峰值线程数,加载类数,未加载类数,年轻代分配的内存空间,老年代分配的内存空间,老年代的最大内存空间,FullGC时老年代的内存空间,GC耗时。
其中,JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
服务维度的指标参数包括:已创建会话session数,活跃session数,拒绝的session个数,错误总数,全局request请求次数,全局request请求时间,当前线程数,配置的线程最大数,请求成功率(%)。
可选的,在一些实施例中,可以获取微服务在上述任意一个维度的多个指标参数,也可以同时获取微服务在上述多个维度的多个指标参数,只要获取的指标参数与模型训练过程使用的指标参数一致即可,对此本实施例不作任何限制。
步骤102、将多个指标参数输入至微服务状态检测模型,得到微服务的检测结果。
其中,检测结果用于指示微服务是否存在异常。
可选的,检测结果包括微服务的健康状态值,健康状态值用于指示微服务是否存在异常。健康状态值可以看作是一个概率值,数值范围在[0,1]数值范围内,示例性的,0表示微服务异常,1表示微服务正常。
在本申请的一个可选实施例中,微服务状态检测模型是采用反向传播神经网络模型训练得到的,模型训练过程参见后文实施例。
微服务状态检测模型包括:输入层、隐藏层以及输出层,其中,输入层包括q个神经元,输出层包括m个神经元,隐藏层的神经元个数是根据所述输入层的神经元个数以及所述输出层的神经元个数确定的。其中,q为大于或等于2的正整数,m为大于或等于1的正整数
需要说明的是,本实施例的微服务状态检测模型的输出层m可取1,输出层对应检测结果,即上述健康状态值。
在本申请的一个可选实施例中,微服务状态检测模型的模型参数包括多个指标参数的权重值以及第一阈值。微服务状态检测模型输出的检测结果,即上述健康状态值,是根据多个指标参数,多个指标参数的权重值以及第一阈值确定的。
可选的,微服务状态检测模型可由下述函数表示:
式中,y表示微服务的健康状态值,f表示激活函数,q表示微服务状态检测模型的输入层神经元个数,xi表示处理后的指标参数集合中第i个指标参数,wi表示第i个指标参数的权重值,θ表示第一阈值,θ初始值可在(-1,1)之间随机选取。
需要说明的是,可根据模型训练过程的检测结果,不断优化微服务状态检测模型的隐藏层神经元个数a,选择检测性能最好对应的隐藏层神经元个数作为模型隐藏层神经元节点数。
可选的,在一些实施例中,在得到微服务的检测结果之后,还包括:
根据检测结果执行相应的处理。具体的,可通过比较微服务状态检测模型输出的健康状态值与预设阈值的大小关系,确定是否发送提示消息。其中,提示消息用于通知运营人员对微服务的健康状态进行再确认。
从上文可知,健康状态值在0至1数值范围内,因此可根据实际需求设置预设阈值,例如预设阈值可以取0.7。
在本实施例的一种实施方式中,若模型输出的健康状态值大于或等于预设阈值,表示微服务状态异常,确定发送提示消息,通知运营人员对微服务健康状态进行再确认。
一种可能的情况,若运营人员发现模型的检测结果错误,可提交第一反馈信息,第一反馈信息用于指示微服务状态正常,检测结果有误。服务平台根据运营人员上报的第一反馈信息,将检测结果错误的微服务的多个指标参数以及实际检测结果存储,用于对模型进行更新/优化。
一种可能的情况,若运营人员发现模型的检测结果正确,可提交第二反馈信息,第二反馈信息用于指示微服务状态异常,检测结果正确。服务平台根据运营人员上报的第二反馈信息,断开服务节点,待服务节点修复后再重新发布,可避免用户持续调用存在异常的微服务。
在本实施例的一种实施方式中,若模型输出的健康状态值小于预设阈值,表示微服务状态正常,无需发送任何消息。
本实施例提供的微服务状态检测方法,针对微服务架构下的每个微服务,获取微服务的多个指标参数,将多个指标参数输入至微服务状态检测模型,得到用于指示微服务是否存在异常的检测结果,其中微服务状态检测模型是采用反向传播神经网络模型训练得到的。本实施例的微服务状态检测模型用于预测当前微服务的健康状态,通过对当前微服务的多项指标参数的分析,实现微服务健康状态的预测功能,从而提前对存在异常的微服务进行隔离,确保整个应用或服务的稳定性与连续性,有效提升系统的服务质量。
图3为本申请实施例提供的微服务状态检测模型的训练示意图,如图3所示,本实施例提供的模型训练方法包括如下步骤:
步骤201、获取微服务的样本集合,以及样本集合中每个样本的标注结果。
本实施例中,每个样本包括多个指标参数,每个样本对应的标注结果用于指示微服务是否存在异常。示例性的,标注结果为1表示微服务的健康状态为异常状态,标注结果为0表示微服务的健康状态为正常状态。
可选的,每个样本除了包括上述标注结果之外,还可以包括每个样本数据的获取时间。
步骤202、对样本集合中多个样本的指标参数进行降维处理,得到处理后的样本集合。
在本申请的一个可选实施例中,可采用主成分分析PCA算法对多个指标参数进行降维处理,得到处理后的指标参数集合。
示例性的,假设获取n个指标参数,n个指标参数可以是上述三个维度中任意一个维度的n个指标参数。例如,n取5,获取物理维度的5个指标参数:CPU数量,CPU使用率,当前进程CPU使用率,平均负荷,内存利用率,首先对这5个指标参数进行降维处理。
具体的,利用主成分分析PCA,对n个指标参数进行降维处理,得到新的数据集,包括如下步骤:
步骤2、通过计算X′的协方差矩阵,记为D(X′),确定D(X′)的特征值和特征向量。
步骤3、根据D(X′)的特征值和特征向量,确定新的矩阵Z(即新的数据值)。
具体的,可通过如下公式计算X′的协方差矩阵:
根据奇异值分解的算法计算D(X′)的特征值和特征向量,其中特征向量可根据特征值大小由大到小进行排序。特征向量组成的矩阵记为U,U的维度为n*n,U也被称为降维矩阵。利用U可以将样本进行降维,默认的U包含协方差矩阵D(X′)的所有特征向量,如果想要将样本降维到k维,其中k<n,那么可选取U的前k列特征向量,记为Uk,Uk的维度为n*k。
再通过Z=X′Uk,确定新的矩阵Z。
其中,k应满足如下公式:
步骤203、将处理后的样本集合输入初始的微服务状态检测模型,得到多个检测结果。
步骤204、根据多个检测结果以及样本集合中每个样本的标注结果,确定损失函数,在损失函数收敛时,得到训练好的微服务状态检测模型。
本实施例中,检测结果即微服务状态检测模型的预测结果,标注结果为样本的真实值,通过比较每个样本的检测结果与标注结果,可确定预测的误差值,如果误差过大,需要重新调整模型参数,例如wi和θ,重复执行步骤203、204,直至样本收敛,结束模型训练。
在本申请的一个可选实施例中,微服务状态检测模型的损失函数可以表示为:
若损失函数不满足收敛条件,方法还包括:采用梯度下降法更新微服务状态检测模型中的如下参数的至少一项:
每个指标参数的权重值wi;第一阈值θ。
可选的,通过如下公式重新选取wi:
可选的,通过如下公式重新选取:
式中,μ为学习速率,Ek为误差,N为样本个数。
本实施例提供的微服务状态检测模型的训练方法,通过获取微服务的样本集合,以及样本集合中每个样本的标注结果,首先对样本集合中多个样本的指标参数进行降维处理,得到处理后的样本集合,然后将处理后的样本集合中的每个样本的指标参数作为模型的输入,将每个样本对应的标注结果作为模型的输出,对初始的微服务状态检测模型进行训练。最后根据多个检测结果以及样本集合中每个样本的标注结果,确定损失函数,若损失函数收敛,完成模型训练过程。通过上述训练方法构建具有一定预测能力的微服务状态检测模型,可提前监测到存在异常的微服务,避免异常微服务被持续调用,可有效提升系统的服务质量。
基于上述模型训练过程,可选的,若在实际应用中,模型的预测结果存在错误,即预测结果与真实结果不一致,可以将微服务当前的指标参数以及对应的真实结果作为新的训练样本数据,用于对模型的优化训练,不断提升模型的预测能力。
本申请实施例可以根据上述方法实施例,对微服务状态测试装置和微服务状态检测模型的训练装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以使用硬件的形式实现,也可以使用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以使用对应各个功能划分各个功能模块为例进行说明。
图4为本申请实施例提供的微服务状态检测装置的结构示意图。如图4所示,本实施例提供的微服务状态检测装置300,包括:获取模块301以及处理模块302。
针对微服务架构下的每个微服务,获取模块301,用于获取所述微服务的多个指标参数;
处理模块302,用于将所述多个指标参数输入至微服务状态检测模型,得到所述微服务的检测结果,所述检测结果用于指示所述微服务是否存在异常;所述微服务状态检测模型是采用反向传播神经网络模型训练得到的。
在本申请的一个可选实施例中,所述微服务状态检测模型包括:
输入层、隐藏层以及输出层,其中,所述输入层包括q个神经元,所述输出层包括m个神经元,所述隐藏层的神经元个数是根据所述输入层的神经元个数以及所述输出层的神经元个数确定的,其中,q为大于或等于2的正整数,m为大于或等于1的正整数。
在本申请的一个可选实施例中,的模型参数包括所述多个指标参数的权重值以及第一阈值,所述检测结果是根据所述多个指标参数,所述多个指标参数的权重值以及所述第一阈值确定的。
可选的,所述微服务状态检测模型由下述函数表示:
式中,y表示所述微服务的健康状态值,f表示激活函数,q表示所述微服务状态检测模型的输入层神经元个数,xi表示所述处理后的指标参数集合中第i个指标参数,wi表示所述第i个指标参数的权重值,θ表示第一阈值。
在本申请的一个可选实施例中,所述检测结果包括所述微服务的健康状态值,所述健康状态值用于指示微服务是否存在异常。
在本申请的一个可选实施例中,处理模块302,还用于:
通过比较所述健康状态值与预设阈值的大小关系,确定是否发送提示消息,所述提示消息用于通知运营人员对所述微服务的健康状态进行确认。
本实施例提供的微服务状态检测装置,可以执行上述图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图5为本申请实施例提供的微服务状态检测模型的训练装置的结构示意图。如图5所示,本实施例提供的训练装置400,包括:获取模块401以及处理模块402。
获取模块401,用于获取微服务的样本集合,以及所述样本集合中每个样本的标注结果,每个样本包括多个指标参数,每个样本对应的标注结果用于指示所述微服务是否存在异常;
处理模块402,用于对所述样本集合中多个样本的指标参数进行降维处理,得到处理后的样本集合;
将所述处理后的样本集合输入初始的微服务状态检测模型,得到多个检测结果;
根据所述多个检测结果以及所述样本集合中每个样本的标注结果,确定损失函数,在所述损失函数收敛时,得到训练好的微服务状态检测模型。
在本申请的一个可选实施例中,所述处理模块402,具体用于:
采用主成分分析PCA算法对所述样本集合中多个样本的指标参数进行降维处理,得到处理后的样本集合。
在本申请的一个可选实施例中,所述损失函数表示为:
可选的,在一些实施例中,训练装置还包括:更新模块403;
若所述损失函数不满足收敛条件,更新模块403,用于采用梯度下降法更新所述微服务状态检测模型中的如下参数的至少一项:
针对每个指标参数的权重值;
第一阈值。
本实施例提供的微服务状态检测模型的训练装置,可以执行上述图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本申请实施例提供的电子设备的硬件结构图,如图6所示,本实施例提供的电子设备500,包括:
存储器501;
处理器502;以及
计算机程序;
其中,计算机程序存储在存储器501中,并被配置为由处理器502执行以实现图2或图3所示方法
实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
可选的,存储器501既可以是独立的,也可以跟处理器502集成在一起。当存储器501是独立于处理器502之外的器件时,电子设备500还包括:总线503,用于连接存储器501和处理器502。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器502执行以实现如图2所示方法实施例中的技术方案。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器502执行以实现如图3所示方法实施例中的技术方案。
本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如图2所示方法实施例中的技术方案。
本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如图3所示方法实施例中的技术方案。
本申请实施例还提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行前述图2或图3所示方法实施例中的技术方案。
进一步地,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行前述图2或图3所示方法实施例中的技术方案。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备中。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。
Claims (14)
1.一种微服务状态检测方法,其特征在于,包括:
针对微服务架构下的每个微服务,获取所述微服务的多个指标参数;
将所述多个指标参数输入至微服务状态检测模型,得到所述微服务的检测结果,所述检测结果用于指示所述微服务是否存在异常;所述微服务状态检测模型是采用反向传播神经网络模型训练得到的。
2.根据权利要求1所述的方法,其特征在于,所述微服务状态检测模型包括:输入层、隐藏层以及输出层,其中,所述输入层包括q个神经元,所述输出层包括m个神经元,所述隐藏层的神经元个数是根据所述输入层的神经元个数以及所述输出层的神经元个数确定的,其中,q为大于或等于2的正整数,m为大于或等于1的正整数。
3.根据权利要求1所述的方法,其特征在于,所述微服务状态检测模型的模型参数包括所述多个指标参数的权重值以及第一阈值,所述检测结果是根据所述多个指标参数,所述多个指标参数的权重值以及所述第一阈值确定的。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述检测结果包括所述微服务的健康状态值,所述健康状态值用于指示微服务是否存在异常;所述方法还包括:
通过比较所述健康状态值与预设阈值的大小关系,确定是否发送提示消息,所述提示消息用于通知运营人员对所述微服务的健康状态进行确认。
5.一种微服务状态检测模型的训练方法,其特征在于,包括:
获取微服务的样本集合,以及所述样本集合中每个样本的标注结果,每个样本包括多个指标参数,每个样本对应的标注结果用于指示所述微服务是否存在异常;
对所述样本集合中多个样本的指标参数进行降维处理,得到处理后的样本集合;
将所述处理后的样本集合输入初始的微服务状态检测模型,得到多个检测结果;
根据所述多个检测结果以及所述样本集合中每个样本的标注结果,确定损失函数,在所述损失函数收敛时,得到训练好的微服务状态检测模型。
6.根据权利要求5所述的方法,其特征在于,所述对所述样本集合中多个样本的指标参数进行降维处理,得到处理后的样本集合,包括:
采用主成分分析PCA算法对所述样本集合中多个样本的指标参数进行降维处理,得到处理后的样本集合。
8.根据权利要求5-7任一项所述的方法,其特征在于,若所述损失函数不满足收敛条件,所述方法还包括:采用梯度下降法更新所述微服务状态检测模型中的如下参数的至少一项:
每个指标参数的权重值;
第一阈值。
9.一种微服务状态检测装置,其特征在于,包括:
针对微服务架构下的每个微服务,获取模块,用于获取微服务的多个指标参数;
处理模块,将所述多个指标参数输入至微服务状态检测模型,得到所述微服务的检测结果,所述检测结果用于指示所述微服务是否存在异常;所述微服务状态检测模型是采用反向传播神经网络模型训练得到的。
10.一种微服务状态检测模型的训练装置,其特征在于,包括:
获取模块,用于获取微服务的样本集合,以及所述样本集合中每个样本的标注结果,每个样本包括多个指标参数,每个样本对应的标注结果用于指示所述微服务是否存在异常;
处理模块,用于对每个样本的多个指标参数进行降维处理,得到处理后的样本集合;
将所述处理后的样本集合输入初始的微服务状态检测模型,得到多个检测结果;
根据所述多个检测结果以及所述样本集合中每个样本的标注结果,确定损失函数,在所述损失函数收敛时,得到训练好的微服务状态检测模型。
11.一种电子设备,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-5中任一项所述的方法。
12.一种电子设备,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求6-8中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-5中任一项所述的方法,或者,如权利要求6-8中任一项所述的方法。
14.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述的方法,或者,权利要求6-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110607452.6A CN113190417A (zh) | 2021-06-01 | 2021-06-01 | 微服务状态检测方法、模型的训练方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110607452.6A CN113190417A (zh) | 2021-06-01 | 2021-06-01 | 微服务状态检测方法、模型的训练方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113190417A true CN113190417A (zh) | 2021-07-30 |
Family
ID=76986113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110607452.6A Pending CN113190417A (zh) | 2021-06-01 | 2021-06-01 | 微服务状态检测方法、模型的训练方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113190417A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835973A (zh) * | 2021-11-26 | 2021-12-24 | 腾讯科技(深圳)有限公司 | 一种模型训练方法及相关装置 |
CN114978968A (zh) * | 2022-05-10 | 2022-08-30 | 中国平安财产保险股份有限公司 | 微服务的异常检测方法、装置、计算机设备和存储介质 |
CN115396449A (zh) * | 2022-08-23 | 2022-11-25 | 浪潮通用软件有限公司 | 一种微服务的部署方法、装置、设备及介质 |
WO2023155587A1 (zh) * | 2022-02-16 | 2023-08-24 | 苏州浪潮智能科技有限公司 | 一种信息更新方法、微服务系统及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110362494A (zh) * | 2019-07-18 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 微服务状态信息展示的方法、模型训练方法以及相关装置 |
CN111897705A (zh) * | 2020-07-06 | 2020-11-06 | 上海泛微网络科技股份有限公司 | 服务状态处理、模型训练方法、装置、设备和存储介质 |
-
2021
- 2021-06-01 CN CN202110607452.6A patent/CN113190417A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110362494A (zh) * | 2019-07-18 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 微服务状态信息展示的方法、模型训练方法以及相关装置 |
CN111897705A (zh) * | 2020-07-06 | 2020-11-06 | 上海泛微网络科技股份有限公司 | 服务状态处理、模型训练方法、装置、设备和存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835973A (zh) * | 2021-11-26 | 2021-12-24 | 腾讯科技(深圳)有限公司 | 一种模型训练方法及相关装置 |
CN113835973B (zh) * | 2021-11-26 | 2022-03-01 | 腾讯科技(深圳)有限公司 | 一种模型训练方法及相关装置 |
WO2023093431A1 (zh) * | 2021-11-26 | 2023-06-01 | 腾讯科技(深圳)有限公司 | 一种模型训练方法、装置、设备、存储介质和程序产品 |
WO2023155587A1 (zh) * | 2022-02-16 | 2023-08-24 | 苏州浪潮智能科技有限公司 | 一种信息更新方法、微服务系统及计算机可读存储介质 |
CN114978968A (zh) * | 2022-05-10 | 2022-08-30 | 中国平安财产保险股份有限公司 | 微服务的异常检测方法、装置、计算机设备和存储介质 |
CN114978968B (zh) * | 2022-05-10 | 2023-08-29 | 中国平安财产保险股份有限公司 | 微服务的异常检测方法、装置、计算机设备和存储介质 |
CN115396449A (zh) * | 2022-08-23 | 2022-11-25 | 浪潮通用软件有限公司 | 一种微服务的部署方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113190417A (zh) | 微服务状态检测方法、模型的训练方法、设备及存储介质 | |
US10318366B2 (en) | System and method for relationship based root cause recommendation | |
US7840517B2 (en) | Performance evaluating apparatus, method, and computer-readable medium | |
US10747592B2 (en) | Router management by an event stream processing cluster manager | |
EP3857381B1 (en) | Collecting samples hierarchically in a datacenter | |
CN107992398A (zh) | 一种业务系统的监控方法和监控系统 | |
US10909018B2 (en) | System and method for end-to-end application root cause recommendation | |
US10834183B2 (en) | Managing idle and active servers in cloud data centers | |
US11546380B2 (en) | System and method for creation and implementation of data processing workflows using a distributed computational graph | |
US20150199226A1 (en) | Recommending a Suspicious Component in Problem Diagnosis for a Cloud Application | |
CN111143286B (zh) | 一种云平台日志管理方法及系统 | |
CN112051771B (zh) | 多云数据采集方法、装置、计算机设备和存储介质 | |
CN112905399A (zh) | 数据处理方法、异常情况预测方法及相关产品 | |
CN114095567A (zh) | 数据访问请求的处理方法、装置、计算机设备及介质 | |
CN110543462A (zh) | 微服务可靠性预测方法、预测装置、电子设备及存储介质 | |
CN110674008B (zh) | Ssd的问题盘日志信息收集方法、装置、设备及介质 | |
JP2005128866A (ja) | 計算機装置及び計算機装置の制御方法 | |
Girish et al. | Quantifying sensitivity and performance degradation of virtual machines using machine learning | |
WO2016085443A1 (en) | Application management based on data correlations | |
US10616081B2 (en) | Application aware cluster monitoring | |
CN115361295B (zh) | 基于topsis的资源备份方法、装置、设备及介质 | |
CN112631577B (zh) | 一种模型的调度方法、模型调度器以及模型安全测试平台 | |
CN114385398A (zh) | 一种请求响应状态确定方法、装置、设备和存储介质 | |
CN118696305A (zh) | 用于微服务系统的方法和系统跟踪控制器 | |
CN115396319A (zh) | 数据流分片方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |