CN114268557B - 一种故障检测方法、装置、设备和存储介质 - Google Patents
一种故障检测方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN114268557B CN114268557B CN202111551983.4A CN202111551983A CN114268557B CN 114268557 B CN114268557 B CN 114268557B CN 202111551983 A CN202111551983 A CN 202111551983A CN 114268557 B CN114268557 B CN 114268557B
- Authority
- CN
- China
- Prior art keywords
- water tank
- micro
- determining
- simulated water
- micro service
- 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.)
- Active
Links
Landscapes
- Testing And Monitoring For Control Systems (AREA)
Abstract
本申请实施例公开了一种故障检测方法、装置、设备和存储介质。其中,获取分布式系统中至少三个微服务的压力测试参数;根据各微服务的压力测试参数,构建三容水箱模型;其中,三容水箱模型中的各模拟水箱对应有至少一个相邻微服务;根据三容水箱模型,确定各模拟水箱的阶跃响应曲线;根据阶跃响应曲线,确定相应模拟水箱对应微服务的故障情况。本申请实施例利用压力测试参数类比的建立三容水箱模型,将微服务的处理转化成了对三容水箱模型的阶跃响应曲线的处理,使微服务的处理情况变得直观。根据阶跃响应曲线确定故障情况,提高了故障检测的效率,同时由于每个模拟水箱对应一条曲线,因此故障的定位可以更加的准确,提高了故障定位的精度。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种故障检测方法、装置、设备和存储介质。
背景技术
微服务是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。微服务可以将应用拆分为多个核心功能,各自单独构建和部署,在出现故障时可以单独对链路中的某个组件进行修复。因此,对微服务中的链路故障进行检测是非常重要的。
当前,技术人员通过获取微服务的性能指标参数,检测微服务异常区间数据,确定链路故障状态,将链路数据可视化,通过人工定位并分析故障情况。但是这种方法检测效率低,故障定位精度差。
发明内容
本申请实施例提供一种故障检测方法、装置、设备和存储介质,以提高微服务的故障检测效率和精度。
第一方面,本申请实施例提供了一种故障检测方法,包括:
获取分布式系统中至少三个微服务的压力测试参数;
根据各所述微服务的所述压力测试参数,构建三容水箱模型;其中,所述三容水箱模型中的各模拟水箱对应有至少一个相邻微服务;
根据所述三容水箱模型,确定各所述模拟水箱的阶跃响应曲线;
根据所述阶跃响应曲线,确定相应模拟水箱对应微服务的故障情况。
第二方面,本申请实施例还提供了一种故障检测装置,包括:
参数获取模块,用于获取分布式系统中至少三个微服务的压力测试参数;
模型构建模块,用于根据各所述微服务的所述压力测试参数,构建三容水箱模型;其中,所述三容水箱模型中的各模拟水箱对应有至少一个相邻微服务;
曲线确定模块,用于根据所述三容水箱模型,确定各所述模拟水箱的阶跃响应曲线;
故障检测模块,用于根据所述阶跃响应曲线,确定相应模拟水箱对应微服务的故障情况。
第三方面,本申请实施例还提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本申请第一方面实施例所述的任意一种故障检测方法。
第四方面,本申请实施例还提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请第一方面实施例所述的任意一种故障检测方法。
本申请实施例的技术方案,利用微服务的压力测试参数类比的建立三容水箱模型,将分布式系统中微服务的处理转化成了对三容水箱模型的阶跃响应曲线的处理,使微服务对于服务和/或请求的处理情况变得更加直观。根据阶跃响应曲线对故障情况进行确定,提高了故障检测的效率,同时由于每个模拟水箱对应一个阶跃响应曲线,因此故障情况的定位可以更加的准确,提高了故障定位的精度。
附图说明
图1是本申请实施例一提供的一种故障检测方法的流程图;
图2A是本申请实施例二提供的一种故障检测方法的流程图;
图2B是本申请实施例提供的一种微服务组和模拟水箱对应关系的示意图;
图3是本申请实施例四提供的一种故障检测装置的结构图;
图4是本申请实施例五提供的一种电子设备的结构图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
实施例一
图1是本申请实施例一提供的一种故障检测方法的流程图。本申请实施例可适用于微服务故障的确定情况,该方法可以由一种故障检测装置来执行,该装置可以采用软件和/或硬件实现,并具体配置于电子设备中。
参考图1所示的一种故障检测方法,具体包括如下步骤:
S110、获取分布式系统中至少三个微服务的压力测试参数。
其中,压力测试也称强度测试、负载测试,通过模拟实际应用的软硬件环境及用户使用过程的系统负荷,用以测试被测系统的性能、可靠性、稳定性等。压力测试参数是在对微服务进行压力测试时可以用到的参数,例如可以是请求调用量(包括调用量和被调用量)、服务容量、服务部署节点数等。
具体的,获取由至少三个微服务构成的分布式系统中,各微服务的压力测试参数,获取的方式可以是根据实际测试数据直接提取,也可以通过不同测试点的曲线拟合,从而获取压力测试参数的变化曲线,本申请实施例对此不作限定。
S120、根据各微服务的压力测试参数,构建三容水箱模型;其中,三容水箱模型中的各模拟水箱对应有至少一个相邻微服务。
其中,三容水箱模型是典型的非线性、时延对象,在过程控制领域中可以将被控对象的整体或局部,抽象为三容水箱的数据模型。三容水箱模型可以很好的反映被控对象在时域下的响应情况,并可以根据被控对象的响应情况调整参数,以使被控对象快速稳定。具体的,可以根据各微服务的压力测试参数转换为构建三容水箱模型的参数,建立一个基于微服务的三容水箱模型。
需要说明的是,三容水箱模型中每个模拟水箱都可以包括至少一个微服务。例如,可以将一个微服务即类比为一个水箱,三个相邻的微服务即可组成三容水箱模型。当然,每个模拟水箱可以包括不只一个微服务,例如将相邻的三个微服务作为一个整体看待,类比为一个模拟水箱,那么九个相邻的微服务可以组成一个三容水箱模型,每个对应的模拟水箱中都包括有三个相邻的微服务。可以理解的是,同一个三容水箱模型中的不同模拟水箱,可以包括相同或不同数量的相邻微服务。
S130、根据三容水箱模型,确定各模拟水箱的阶跃响应曲线。
其中,阶跃响应是三容水箱模型的输出在输入从0变为1时的体现。阶跃响应曲线即是阶跃响应的输出随着时间变化的曲线。该曲线在响应初期会产生超调和波动,并随着时间逐渐向稳定值逼近,直至达到稳定状态(即稳态)。
具体的,根据前述步骤中确定的三容水箱模型,确定每个模拟水箱对应的阶跃响应曲线。
在一种可选实施方式中,所述根据三容水箱模型,确定各模拟水箱的阶跃响应曲线,可以包括:确定三容水箱模型中各模拟水箱的传递函数;根据传递函数,确定相应模拟水箱的阶跃响应曲线。
其中,传递函数可以用来表示对应模拟水箱的输入与输出之间的关系。因此可以根据传递函数推导模拟水箱的输出跟时间的函数关系,从而绘制模拟水箱的阶跃响应曲线。
上述实施方式的技术方案,通过确定各模拟水箱的传递函数进而确定对应的阶跃响应曲线,保证了阶跃响应曲线的可靠性。
S140、根据阶跃响应曲线,确定相应模拟水箱对应微服务的故障情况。
其中,微服务的故障情况可以包括但不限于故障位置(即发生故障的微服务定位)和故障程度(故障的严重与否)等。
可以理解的是,各模拟水箱对应的阶跃响应曲线反映了该模拟水箱的输出随着输入从0至1的变化情况,最终可以达到稳态。可以理解的是,这条曲线是理想状态下三容水箱模型中对应模拟水箱工作的理想状态的体现,如果实际检测出的模拟水箱的工作状态与该理想状态具有偏差,则可以确定该模拟水箱发生了故障,并且根据模拟水箱的故障定位对应故障的微服务。
在一种可选实施方式中,所述根据阶跃响应曲线,确定相应模拟水箱对应微服务的故障情况,可以包括:根据阶跃响应曲线,确定相应模拟水箱的响应稳态值;将模拟水箱对应各微服务的请求响应量与各响应稳态值进行对比,得到对比结果;根据对比结果,确定微服务的故障情况。
响应稳态值可以是模拟水箱每秒钟请求响应量达到稳态时的数值。请求响应量可以是模拟水箱每秒钟响应的服务和/或请求的数量。
具体的,根据模拟水箱的阶跃响应曲线,可以确定该模拟水箱的响应稳态值,即对应输出量的稳态值;将实时监测的模拟水箱的请求响应量与响应稳态值进行对比;如果对比结果具有偏差,则可以确定该模拟水箱发生了故障。
可选的,可以为交易稳态量设置检测阈值对请求响应量进行判定。将响应稳态值扩展为稳态区间,若请求响应量处于稳态区间之内,则确定对应的模拟水箱正稳定工作;若请求响应量处于稳态区间之外,则确定对应的模拟水箱发生故障。例如,假设当前某模拟水箱的响应稳态值为每秒处理10个服务和/或请求,为其设置稳态区间为每秒处理9-11个服务和/或请求,若该模拟水箱当前每秒钟只能处理5个服务和/或请求,则判定该模拟水箱故障。
上述实施方式的技术方案,将阶跃响应曲线的响应稳态值与实际的请求响应量进行对比确定故障情况,通过理论值和实际值进行对比确定故障的方法简单有效,提高了故障检测的效率。
在一种可选实施方式中,所述将模拟水箱对应各微服务的请求响应量与各响应稳态值进行对比,得到对比结果之前,还可以包括:根据阶跃响应曲线到达响应稳态值的时间长度,调整相应模拟水箱的模型参数;根据调整后的模型,更新阶跃响应曲线。
其中,阶跃响应曲线具有超调和/或震荡等情况出现,在经过了超调和/或震荡之后慢慢归于稳态,不同的模型参数会导致不同的到达响应稳态值的时间不同,为了尽快达到稳态值,便于进行比较,可以在请求响应量与响应稳态值进行对比之前先调整模型参数,使该阶跃响应曲线可以较快(例如最快)的到达响应稳态值。具体的,可以在调整参数过程中观察到达响应稳态值的时间长度,进而依据时间长短进行调参。
上述实施方式的技术方案,根据阶跃响应曲线到达响应稳态值的时间长度,调整参数使得阶跃响应曲线能够更快的到达响应稳态值,更快的达到响应稳态值就可以更快的将请求响应量与响应稳态值进行对比,因此提高了故障检测的效率。
此外,还可以将模拟水箱对应各微服务的请求响应量与各响应稳态值进行对比,得到对比结果;根据对比结果,调整该模拟水箱的模型参数。
具体的,可以逐步增加模拟水箱的输入量(对应微服务的被调用量),随着输入量的增加响应稳态值升高,待再次到达稳态后,可以将新的响应稳态值与此时的请求响应量进行对比,若新的响应稳态值超过了此时的请求响应量,则说明该模拟水箱理论上可以达到更高的响应交易,因此可以通过调整模型参数来提高该模拟水箱处理服务和/或请求的能力。
本申请实施例的技术方案,利用微服务的压力测试参数类比的建立三容水箱模型,将分布式系统中微服务的处理转化成了对三容水箱模型的阶跃响应曲线的处理,使微服务对于服务和/或请求的处理情况变得更加直观。根据阶跃响应曲线对故障情况进行确定,提高了故障检测的效率,同时由于每个模拟水箱对应一个阶跃响应曲线,因此故障情况的定位可以更加的准确,提高了故障定位的精度。
实施例二
图2A为本申请实施例二提供的一种故障检测方法的流程图。本申请实施例是在前述实施例各技术方案的基础上,对三容水箱的构建操作进行了细化,以提高微服务故障检测的效率与故障定位精度。
参考图2A所示的一种故障检测方法,具体包括如下步骤:
S210、获取分布式系统中至少三个微服务的压力测试参数;
S220、按照各微服务的数据处理顺序,对分布式系统中至少三个微服务进行划分,得到三个微服务组;其中,各微服务组对应一个模拟水箱。
微服务在构建模拟水箱时可以按照数据处理的顺序进行构建,例如,微服务A的调用量是微服务B的被调用量,即微服务A的输出量是微服务B的输入量;微服务B的调用量是微服务C的被调用量,即微服务B的输出量是微服务C的输入量,因此微服务A、B和C是按照数据处理顺序排列的。将至少两个微服务进行划分,可以得到三个微服务组,每个微服务组对应一个模拟水箱,则每个模拟水箱包括至少一个微服务。
S230、根据微服务组中组内微服务的压力测试参数,确定相应模拟水箱的模型参数。
具体的,可以将微服务组中的微服务的压力测试参数类比为三容水箱模型中各项模型参数。
在一种可选实施方式中,所述压力测试参数包括请求调用量、请求并发数、服务容量和服务部署节点数中的至少一种;
相应的,所述根据微服务组中组内微服务的压力测试参数,确定相应模拟水箱的模型参数,可以包括:根据微服务组中组内微服务的请求调用量,确定相应模拟水箱的流入流出量;根据微服务组中组内微服务的服务容量,确定相应模拟水箱的水位高度;根据微服务组中组内微服务的请求调用量和请求并发数,确定相应模拟水箱的液阻;根据微服务组中组内微服务的服务部署节点数,确定相应模拟水箱的水箱截面积;生成包括流入流出量、水位高度、液阻和水箱截面积中至少一种的模型参数。
其中,请求调用量可以包括微服务的调用量和被调用量,请求调用量相当于模拟水箱的流入流出量。流入流出量包括流入量和流出量,被调用量相当于流入量,调用量相当于流出量。服务容量可以是微服务组组内当前正在处理的服务和/或请求的数量,服务容量相当于模拟水箱中的水位高度。请求并发数可以是同时处理的服务和/或请求的数量,通过请求并发数和请求调用量可以计算模拟水箱中的液阻。服务部署节点数可以是微服务中用于处理服务和/或请求的节点的数量,服务部署节点数相当于模拟水箱中的水箱截面积。
上述实施方式的技术方案,将微服务组的压力测试参数类比为模拟水箱的模型参数,使微服务组中的各项数据在模拟水箱中均有相关参数与之对应,提供了丰富的模型参数,提高了模拟水箱与微服务组运行情况的契合度,为构建三容水箱模型提供了有效的依据。
在一种可选实施方式中,所述根据微服务组中组内微服务的请求调用量和请求并发数,确定相应模拟水箱的液阻,包括:根据微服务组中组内微服务的请求调用量和请求并发数,确定微服务组的运行复杂度;根据微服务组的运行复杂度,确定相应模拟水箱的液阻。
其中,运行复杂度可以是服务和/或请求的处理逻辑步骤的复杂程度,例如可以是代码的复杂程度(如代码行数)。微服务组的运行复杂程度可以类比为模拟水箱的液阻。模拟水箱的液阻导致模拟水箱的流出量和水位高度成非线性关系,通过线性化将液阻计算为常数,即将请求调用量和请求并发数之间的非线性关系进行线性化,得到一个数值为常数的运行复杂度。
上述实施方式的技术方案,根据请求调用量和请求并发数计算微服务组的运行复杂度,以类比为模拟水箱的液阻,为后续构建三容水箱提供了参数基础。
S240、根据各模拟水箱的模型参数,构建三容水箱模型。
图2B是本申请实施例提供的一种微服务组和模拟水箱对应关系的示意图。模拟水箱和微服务组的对应关系如图2B所示,以模拟水箱201和微服务组202的对应关系为例,模拟水箱201的流入量q0对应微服务组202的被调用量q′0;流出量q1对应调用量q′1;水位高度h1对应服务容量h′1;水箱截面积S1对应服务部署节点数S′1;液阻R1对应运行复杂度R′1。
具体的,根据各压力测试参数对应的各模拟水箱的模型参数,对三容水箱模型进行构建。构建的方法可以是利用现有技术中的三容水箱模型构建方法对微服务组进行模拟,例如:
首先构建三容水箱模型中各模拟水箱的物料平衡公式,即微服务组的请求处理平衡公式:
其中,q0是第一个模拟水箱的流入量,q1、q2和q3分别是三个模拟水箱的流出量。h1、h2和h3分别为三个模拟水箱的水位高度,S1、S2和S3分别为三个模拟水箱的水箱截面积。
且各模拟水箱中流出量、水位高度和液阻的关系为:
其中,R1、R2和R3分别对应三个模拟水箱的液阻。
根据上面两个公式,确定一个三阶微分方程:
将前述步骤中通过线性化方法计算得到的各模拟水箱的液阻带入上式,再进行拉普拉斯变换,即可建立三容水箱模型,并得到三容水箱模型的传递函数。
S250、根据三容水箱模型,确定各模拟水箱的阶跃响应曲线。
S260、根据阶跃响应曲线,确定相应模拟水箱对应微服务的故障情况。
本申请实施例的技术方案,将微服务按照数据处理顺序进行分组,有利于对不同分分组的微服务进行定位,有助于故障检测时快速找到故障源头。每个微服务组对应一个模拟水箱,将各微服务组的压力测试参数对应转化为模拟水箱的模型参数,由此建立三容水箱模型,提高了模型建立的可靠性,有助于提高故障检测的准确性。
实施例三
图3是本申请实施例三提供的一种故障检测装置的结构图,本申请实施例可适用于微服务故障的确定情况,该装置可以由软件和/或硬件的方式来实现,可配置于电子设备中。如图3所示,该故障检测装置300可以包括:参数获取模块310、模型构建模块320、曲线确定模块330和故障检测模块340,其中,
参数获取模块310,用于获取分布式系统中至少三个微服务的压力测试参数;
模型构建模块320,用于根据各微服务的压力测试参数,构建三容水箱模型;其中,三容水箱模型中的各模拟水箱对应有至少一个相邻微服务;
曲线确定模块330,用于根据三容水箱模型,确定各模拟水箱的阶跃响应曲线;
故障检测模块340,用于根据阶跃响应曲线,确定相应模拟水箱对应微服务的故障情况。
本申请实施例的技术方案,利用微服务的压力测试参数类比的建立三容水箱模型,将分布式系统中微服务的处理转化成了对三容水箱模型的阶跃响应曲线的处理,使微服务对于服务和/或请求的处理情况变得更加直观。根据阶跃响应曲线对故障情况进行确定,提高了故障检测的效率,同时由于每个模拟水箱对应一个阶跃响应曲线,因此故障情况的定位可以更加的准确,提高了故障定位的精度。
在一种可选实施方式中,所述模型构建模块320,可以包括:
微服务划分单元,用于按照各微服务的数据处理顺序,对分布式系统中至少三个微服务进行划分,得到三个微服务组;其中,各微服务组对应一个模拟水箱;
模型参数确定单元,用于根据微服务组中组内微服务的压力测试参数,确定相应模拟水箱的模型参数;
水箱模型构建单元,用于根据各模拟水箱的模型参数,构建三容水箱模型。
在一种可选实施方式中,所述压力测试参数包括请求调用量、请求并发数、服务容量和服务部署节点数中的至少一种;
相应的,所述模型参数确定单元,可以包括:
流入流出量确定子单元,用于根据微服务组中组内微服务的请求调用量,确定相应模拟水箱的流入流出量;
水位高度确定子单元,用于根据微服务组中组内微服务的服务容量,确定相应模拟水箱的水位高度;
液阻确定子单元,用于根据微服务组中组内微服务的请求调用量和请求并发数,确定相应模拟水箱的液阻;
水箱截面积确定子单元,用于根据微服务组中组内微服务的服务部署节点数,确定相应模拟水箱的水箱截面积;
模型参数生成子单元,用于生成包括流入流出量、水位高度、液阻和水箱截面积中至少一种的模型参数。
在一种可选实施方式中,所述液阻确定子单元,可以包括:
运行复杂度确定从单元,用于根据微服务组中组内微服务的请求调用量和请求并发数,确定微服务组的运行复杂度;
液阻确定从单元,用于根据微服务组的运行复杂度,确定相应模拟水箱的液阻。
在一种可选实施方式中,所述曲线确定模块330,可以包括:
传递函数确定单元,用于确定三容水箱模型中各模拟水箱的传递函数;
曲线确定单元,用于根据传递函数,确定相应模拟水箱的阶跃响应曲线。
在一种可选实施方式中,所述故障检测模块340,可以包括:
响应稳态值确定单元,用于根据阶跃响应曲线,确定相应模拟水箱的响应稳态值;
对比结果获取单元,用于将模拟水箱对应各微服务的请求响应量与各响应稳态值进行对比,得到对比结果;
故障情况确定单元,用于根据对比结果,确定微服务的故障情况。
在一种可选实施方式中,所述故障检测装置,还可以包括:
模型参数调整模块,用于根据阶跃响应曲线到达响应稳态值的时间长度,调整相应模拟水箱的模型参数;
曲线更新模块,用于根据调整后的模型,更新阶跃响应曲线。
本申请实施例所提供的一种故障检测装置可执行本申请任意实施例所提供的一种故障检测方法,具备执行各故障检测方法相应的功能模块和有益效果。
实施例四
图4是本申请实施例四提供的一种电子设备的结构图。图4示出了适于用来实现本申请实施方式的示例性电子设备412的框图。图4展示的电子设备412仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图4所示,电子设备412以通用计算设备的形式表现。电子设备412的组件可以包括但不限于:一个或者多个处理器或者处理单元416,系统存储器428,连接不同系统组件(包括系统存储器428和处理单元416)的总线418。
总线418表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备412典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器428可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)430和/或高速缓存存储器432。电子设备412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统434可以用于读写不可移动的、非易失性磁介质(图4未展示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。存储器428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块442的程序/实用工具440,可以存储在例如存储器428中,这样的程序模块442包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块442通常执行本申请所描述的实施例中的功能和/或方法。
电子设备412也可以与一个或多个外部设备414(例如键盘、指向设备、展示器424等)通信,还可与一个或者多个使得用户能与该电子设备412交互的设备通信,和/或与使得该电子设备412能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,电子设备412还可以通过网络适配器420与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器420通过总线418与电子设备412的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备412使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元416通过运行存储在系统存储器428中的多个程序中其他程序的至少一个,从而执行各种功能应用以及数据处理,例如实现本申请实施例所提供的一种故障检测方法。
实施例五
本申请实施例五还提供一种计算机可读存储介质,其上存储有计算机程序(或称为计算机可执行指令),该程序被处理器执行时用于执行本申请实施例所提供的一种故障检测方法:获取分布式系统中至少三个微服务的压力测试参数;根据各微服务的压力测试参数,构建三容水箱模型;其中,三容水箱模型中的各模拟水箱对应有至少一个相邻微服务;根据三容水箱模型,确定各模拟水箱的阶跃响应曲线;根据阶跃响应曲线,确定相应模拟水箱对应微服务的故障情况。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (10)
1.一种故障检测方法,其特征在于,包括:
获取分布式系统中至少三个微服务的压力测试参数;
根据各所述微服务的所述压力测试参数,构建三容水箱模型;其中,所述三容水箱模型中的各模拟水箱对应有至少一个相邻微服务;
根据所述三容水箱模型,确定各所述模拟水箱的阶跃响应曲线;
根据所述阶跃响应曲线,确定相应模拟水箱对应微服务的故障情况。
2.根据权利要求1所述的方法,其特征在于,所述根据各所述微服务的所述压力测试参数,构建三容水箱模型,包括:
按照各所述微服务的数据处理顺序,对所述分布式系统中至少三个所述微服务进行划分,得到三个微服务组;其中,各所述微服务组对应一个所述模拟水箱;
根据所述微服务组中组内微服务的压力测试参数,确定相应模拟水箱的模型参数;
根据各所述模拟水箱的模型参数,构建所述三容水箱模型。
3.根据权利要求2所述的方法,其特征在于,所述压力测试参数包括请求调用量、请求并发数、服务容量和服务部署节点数中的至少一种;
相应的,所述根据所述微服务组中组内微服务的压力测试参数,确定相应模拟水箱的模型参数,包括:
根据所述微服务组中组内微服务的请求调用量,确定相应模拟水箱的流入流出量;
根据所述微服务组中组内微服务的服务容量,确定相应模拟水箱的水位高度;
根据所述微服务组中组内微服务的请求调用量和请求并发数,确定相应模拟水箱的液阻;
根据所述微服务组中组内微服务的服务部署节点数,确定相应模拟水箱的水箱截面积;
生成包括所述流入流出量、所述水位高度、所述液阻和所述水箱截面积中至少一种的模型参数。
4.根据权利要求3所述的方法,其特征在于,所述根据所述微服务组中组内微服务的请求调用量和请求并发数,确定相应模拟水箱的液阻,包括:
根据所述微服务组中组内微服务的请求调用量和请求并发数,确定所述微服务组的运行复杂度;
根据所述微服务组的运行复杂度,确定相应模拟水箱的液阻。
5.根据权利要求1所述的方法,其特征在于,所述根据所述三容水箱模型,确定各所述模拟水箱的阶跃响应曲线,包括:
确定所述三容水箱模型中各所述模拟水箱的传递函数;
根据所述传递函数,确定相应模拟水箱的所述阶跃响应曲线。
6.根据权利要求1所述的方法,其特征在于,所述根据所述阶跃响应曲线,确定相应模拟水箱对应微服务的故障情况,包括:
根据所述阶跃响应曲线,确定相应模拟水箱的响应稳态值;
将所述模拟水箱对应各微服务的请求响应量与各所述响应稳态值进行对比,得到对比结果;
根据所述对比结果,确定微服务的故障情况。
7.根据权利要求6所述的方法,其特征在于,在所述将所述模拟水箱对应各微服务的请求响应量与各所述响应稳态值进行对比,得到对比结果之前,还包括:
根据所述阶跃响应曲线到达所述响应稳态值的时间长度,调整相应模拟水箱的模型参数;
根据调整后的模型,更新所述阶跃响应曲线。
8.一种故障检测装置,其特征在于,包括:
参数获取模块,用于获取分布式系统中至少三个微服务的压力测试参数;
模型构建模块,用于根据各所述微服务的所述压力测试参数,构建三容水箱模型;其中,所述三容水箱模型中的各模拟水箱对应有至少一个相邻微服务;
曲线确定模块,用于根据所述三容水箱模型,确定各所述模拟水箱的阶跃响应曲线;
故障检测模块,用于根据所述阶跃响应曲线,确定相应模拟水箱对应微服务的故障情况。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一项所述的一种故障检测方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任一项所述的一种故障检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111551983.4A CN114268557B (zh) | 2021-12-17 | 2021-12-17 | 一种故障检测方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111551983.4A CN114268557B (zh) | 2021-12-17 | 2021-12-17 | 一种故障检测方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114268557A CN114268557A (zh) | 2022-04-01 |
CN114268557B true CN114268557B (zh) | 2023-10-03 |
Family
ID=80827817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111551983.4A Active CN114268557B (zh) | 2021-12-17 | 2021-12-17 | 一种故障检测方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114268557B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102253663A (zh) * | 2011-03-25 | 2011-11-23 | 清华大学 | 一种网络化三容水箱系统的泄漏故障诊断方法及系统 |
CN103246247A (zh) * | 2012-02-02 | 2013-08-14 | 爱默生过程管理电力和水解决方案公司 | 分布式工业过程仿真系统中实时求解压强流动参数的方法 |
CN110221593A (zh) * | 2019-07-19 | 2019-09-10 | 长春理工大学 | 一种三容水箱控制系统的故障模式诊断方法及系统 |
-
2021
- 2021-12-17 CN CN202111551983.4A patent/CN114268557B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102253663A (zh) * | 2011-03-25 | 2011-11-23 | 清华大学 | 一种网络化三容水箱系统的泄漏故障诊断方法及系统 |
CN103246247A (zh) * | 2012-02-02 | 2013-08-14 | 爱默生过程管理电力和水解决方案公司 | 分布式工业过程仿真系统中实时求解压强流动参数的方法 |
CN110221593A (zh) * | 2019-07-19 | 2019-09-10 | 长春理工大学 | 一种三容水箱控制系统的故障模式诊断方法及系统 |
Non-Patent Citations (4)
Title |
---|
S.Nagarajan.Neural Network based Intelligent Sensor Fault Detection in a Three Tanks Interacting Level Process .《International Conference on Electrical, Electronics, and Optimization Techniques (ICEEOT) - 2016 》.2016,2429-2433. * |
傅宗宁.基于网络的计算机控制技术实验系统的研发.《中国优秀硕士学位论文全文数据库 信息科技辑》.2015,(第2015年第10期期),I140-172. * |
董小亮 ; 帕孜来・马合木提 ; .混杂系统传感器微小故障的检测与隔离方法.自动化与仪表.2015,(第11期),全文. * |
霍卫强 ; 张福义 ; .基于三容水箱实验装置的网络实验系统的设计与实现.实验技术与管理.2009,(02),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN114268557A (zh) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105511957A (zh) | 用于生成作业告警的方法和系统 | |
CN113515462B (zh) | 用于测试的方法、装置、设备以及存储介质 | |
CN117318052B (zh) | 发电机组进相试验无功功率预测方法、装置和计算机设备 | |
CN114268557B (zh) | 一种故障检测方法、装置、设备和存储介质 | |
CN111367813B (zh) | 决策引擎自动化测试方法、装置、服务器及存储介质 | |
WO2024021369A1 (zh) | 一种基于载荷谱的测试方法、装置、设备及介质 | |
WO2023213094A1 (zh) | 应用于集成电路器件的数据区域动态选取方法、系统、设备和计算机可读存储介质 | |
CN116521480A (zh) | 功耗读取精度测试系统、方法、装置、设备和存储介质 | |
CN117150942A (zh) | 一种模块化发动机系统瞬态特性建模方法、装置及电子设备 | |
CN114266170A (zh) | 一种燃气输配管网中气源供应范围识别方法和装置 | |
CN114490405A (zh) | 资源需求量确定方法、装置、设备及存储介质 | |
CN114638030B (zh) | 基于专家知识库的热工水力模型修正方法及装置 | |
CN117290205B (zh) | 一种通用核电热工水力软件测试方法及装置 | |
CN115509909B (zh) | 测试方法、装置、电子设备和存储介质 | |
CN115420418B (zh) | 气压测量方法、装置、电子设备及可读存储介质 | |
CN116389786B (zh) | 基于节点扩容的视频云存储方法、装置和电子设备 | |
CN118095126A (zh) | 一种仿真数据验证方法、装置、设备和存储介质 | |
TWI833172B (zh) | 測試記憶體裝置的系統與方法及非暫態電腦可讀取記錄媒體 | |
CN114629801B (zh) | 用于核电厂流体网络模型的高度闭合检测方法及装置 | |
CN112148285B (zh) | 一种界面设计方法、装置、电子设备及存储介质 | |
JP7095483B2 (ja) | 流量計管理装置、流量計管理方法、プログラムおよび記録媒体 | |
CN116991693B (zh) | 一种测试方法、装置、设备及存储介质 | |
CN112612707B (zh) | 测试脚本的运行方法及装置、设备、计算机可读存储介质 | |
CN116186990A (zh) | 一种热电联合仿真方法及装置 | |
CN118010316A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |