一种混沌实验的确定方法、装置、电子设备和存储介质

文档序号:68056 发布日期:2021-10-01 浏览:23次 >En<

阅读说明:本技术 一种混沌实验的确定方法、装置、电子设备和存储介质 (Method and device for determining chaos experiment, electronic equipment and storage medium ) 是由 贾金莉 于 2021-06-30 设计创作,主要内容包括:本公开提供了一种混沌实验的确定方法、装置、电子设备和存储介质,涉及计算机技术领域,尤其涉及人工智能技术领域。具体实现方案为:确定目标微服务的目标业务特征;根据所述目标业务特征,及候选混沌实验在历史微服务中的历史实验数据,从所述候选混沌实验中为目标微服务选择目标混沌实验。本公开实施例能够减少微服务的混沌实验数量,并降低混沌实验成本,提高混沌实验的有效性。(The disclosure provides a determination method and device for a chaos experiment, electronic equipment and a storage medium, and relates to the technical field of computers, in particular to the technical field of artificial intelligence. The specific implementation scheme is as follows: determining target business characteristics of the target micro service; and selecting a target chaotic experiment for the target micro service from the candidate chaotic experiments according to the target service characteristics and historical experiment data of the candidate chaotic experiments in the historical micro service. The chaotic experiment method and device can reduce the number of chaotic experiments of micro services, reduce the chaotic experiment cost and improve the effectiveness of the chaotic experiments.)

一种混沌实验的确定方法、装置、电子设备和存储介质

技术领域

本公开涉及计算机

技术领域

,尤其涉及人工智能

技术领域

,具体涉及一种混沌实验的确定方法、装置、电子设备和存储介质。

背景技术

混沌实验是一种主动发现线上稳定性风险问题的有效手段,是一套在生产环境下对系统进行实验,主动找出系统脆弱环节的方法学。混沌实验以实验驱动稳定性建设,依靠各种可控的破坏性实验,提前暴露系统问题,提前避免故障发生时所带来的严重后果。

随着软件的数量、用户并发量、业务复杂度等增长,微服务架构越来越普及。分布式微服务拆分的微服务数量庞大。导致在微服务架构下进行混沌实验面临混沌实验场景爆炸问题。

发明内容

本公开提供了一种混沌实验的确定方法、装置、电子设备和存储介质。

根据本公开的一方面,提供了一种混沌实验的确定方法,包括:

确定目标微服务的目标业务特征;

根据所述目标业务特征,及候选混沌实验在历史微服务中的历史实验数据,从所述候选混沌实验中为目标微服务选择目标混沌实验。

根据本公开的又一方面,提供了一种混沌实验的确定装置,包括:

目标业务特征确定模块,用于确定目标微服务的目标业务特征;

目标混沌实验选择模块,用于根据所述目标业务特征,及候选混沌实验在历史微服务中的历史实验数据,从所述候选混沌实验中为目标微服务选择目标混沌实验。

根据本公开的又一方面,提供了一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开任意实施例所提供的混沌实验的确定方法。

根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开任意实施例所提供的混沌实验的确定方法。

根据本公开的又一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开任意实施例所提供的混沌实验的确定方法。

根据本公开的技术,能够提高混沌实验的有效性,同时减少了在微服务执行混沌实验的数量,降低了混沌实验的成本。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1是根据本公开实施例提供的一种混沌实验的确定方法的示意图;

图2是根据本公开实施例提供的另一种混沌实验的确定方法的示意图;

图3是根据本公开实施例提供的又一种混沌实验的确定方法的示意图;

图4是根据本公开实施例提供的又一种混沌实验的确定方法的示意图;

图5是根据本公开实施例提供的又一种混沌实验的确定方法的示意图;

图6根据本公开实施例提供的一种混沌实验的确定装置的示意图;

图7是用来实现本公开实施例的混沌实验的确定方法的电子设备的框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

随着数据量、用户并发量、业务复杂度的增加,在定义开发软件系统时,考虑到软件系统的承载能力可以采用微服务架构,根据业务功能将一个产品拆解为若干如几百个微服务。混沌实验作为一种能够主动发现线上稳定性风险问题的手段,能够依靠各种可控的破坏性实验,主动找出系统脆弱环节。利用混沌实验驱动微服务架构的稳定性建设,可以提前暴露系统问题,避免故障发生。

而在微服务架构下进行有效的混沌实验面临以下问题:若混沌实验执行的微服务数量不够,则混沌实验不能充分挖掘到微服务潜在的稳定性问题;相应的,微服务数量众多,若每个微服务都定期把所有混沌实验执行一遍,在微服务架构下进行的混沌实验的数量将是巨大的,会出现混沌实验场景爆炸问题。为了在微服务架构下可以进行有效的混沌实验,避免混沌实验场景爆炸问题的出现,本申请实施例提供了一种混沌实验的确定方法,可以针对具体的微服务确定有效的混沌实验。

以下结合附图,对本公开实施例提供的该方案进行详细说明。

图1是根据本公开实施例提供的一种混沌实验的确定方法的示意图,本公开实施例可适用于利用混沌实验对微服务进行稳定性问题挖掘,可能发生混沌实验场景爆炸的情况。该方法可由一种混沌实验的确定装置来执行,该装置可采用硬件和/或软件的方式来实现,可配置于电子设备中。参考图1,该方法具体包括如下:

S110、确定目标微服务的目标业务特征。

其中,微服务架构中的服务是根据业务功能划分的,能够提供一定范围内完整的业务价值;服务之间通过松耦合的方式集成,服务可以单独部署和运维,各服务有自己独立的生命周期。目标微服务是指存在稳定性问题挖掘需求的微服务,微服务的业务特征用于表征微服务在硬件环境、架构特征以及代码实现等方面特点的数据。

在一个可选的实施例中,微服务的业务特征包括:架构设计、代码实现和硬件环境三种类型,其中,架构实现类包括:超时设置、重试设置、跨机房请求、缓存使用和强弱依赖合理性中的至少一项;代码实现类包括:参数升级、返回值兼容、传参校验、异常处理、类型转换合理性、长短链接处理和线程安全中的至少一项;硬件实现类包括:单点部署、资源容量、权限和软硬限设置中的至少一项。

确定目标微服务的目标业务特征,具体的,提取目标微服务在架构设计、代码实现和硬件环境等方面的特征数据。

S120、根据所述目标业务特征,及候选混沌实验在历史微服务中的历史实验数据,从所述候选混沌实验中为目标微服务选择目标混沌实验。

其中,历史微服务相对目标微服务而言,历史微服务是指执行过混沌实验的微服务。候选混沌实验是指历史微服务执行过且可供目标微服务执行的混沌实验。每个历史微服务可以执行多个混沌实验,可选的,将历史微服务执行过的全部混沌实验均作为候选混沌实验。

历史实验数据即为历史微服务执行混沌实验得到的实验数据。可选的,实验数据包括历史微服务的业务特征、所进行的混沌实验以及混沌实验所挖掘出的潜在稳定性问题。

根据所述目标业务特征,及候选混沌实验在历史微服务中的历史实验数据,从所述候选混沌实验中为目标微服务选择目标混沌实验。具体的,在历史微服务的全部历史实验数据中选择与目标业务特征一致的历史微服务,根据历史实验数据中关于混沌实验所挖掘出的潜在稳定性问题的价值,在全部候选混沌实验中,确定该历史微服务执行过且价值较高的混沌实验确定为目标混沌实验。其中,混沌实验的价值体现在混沌实验所挖掘出微服务潜在稳定性问题的影响范围和严重程度。

本公开实施例的技术方案,通过确定目标微服务的目标业务特征,根据目标业务特征,及候选混沌实验在历史微服务中的历史实验数据,从候选混沌实验中为目标微服务选择目标混沌实验,为目标微服务确定有针对性的混沌实验,本公开实施例考虑了目标微服务的业务特征,并将微服务执行混沌实验的历史数据作为指导,为微服务进行混沌实验的精准推荐,提高混沌实验的有效性,同时减少了在微服务执行混沌实验的数量,降低了混沌实验的成本。

图2是根据本公开实施例提供的另一种混沌实验的确定方法的示意图。本实施例是在上述实施例的基础上提出的一种可选方案。参见图2,本实施例提供的混沌实验的确定方法包括:

S210、确定目标微服务的目标业务特征。

S220、确定历史微服务的历史业务特征,作为候选业务特征。

其中,历史业务特征与历史微服务相对应,每个历史微服务均存在与之对应的一组业务特征,历史业务特征作为候选业务特征,用于与目标业务特征进行特征比对。

S230、根据候选混沌实验在历史微服务中的历史实验数据,确定所述候选混沌实验的候选故障特征,并确定所述候选故障特征与所述候选业务特征之间的关联关系。

其中,候选故障特征是指历史微服务在执行混沌实验过程中,混沌实验所挖掘出的潜在稳定性问题的特征数据。

历史实验数据中包括历史微服务执行混沌实验的过程中,混沌实验挖掘到的潜在稳定性问题。在历史实验数据中提取稳定性问题的特征作为候选故障特征。候选故障特征与历史微服务以及历史微服务执行的混沌实验之间存在对应关系,而候选业务特征为历史微服务的历史业务特征。在已知候选业务特征的前提下,根据候选业务特征确定与之对应的历史微服务,再根据历史微服务确定该历史微服务执行的候选混沌实验,进而得到候选混沌实验的候选故障特征。由此,可以确定候选故障特征与候选业务特征之间的关联关系。

根据候选混沌实验在历史微服务中的历史实验数据,确定候选混沌实验的候选故障特征,具体的,可以利用FMECA(Failure Mode Effects and Criticality Analysis,故障模式、影响及危害性分析)分析法根据历史实验数据提取候选混沌实验的故障特征,FMECA包括故障模式及影响分析(FMEA)和危害性分析(CA),FMECA是针对产品所有可能的故障,根据对故障模式的分析,确定每种故障模式对产品工作的影响,找出单点故障,并按故障模式的严重度及其发生概率确定其危害性。所谓单点故障指的是引起产品故障的,且没有冗余或替代的工作程序作为补救的局部故障。

在一个可选的实施例中,所述故障特征包括故障详情、故障影响面、严重程度、引发因素、故障发生概率、故障可检测程度或改进措施中的至少一项。

其中,故障详情是指混沌实验挖掘出的,微服务潜在的具体故障。可选的,微服务潜在的故障可以分为架构设计、硬件环境和代码实现三种类型的故障,示例性的,架构设计类型的故障包括但不限于:进程保活、业务进程夯住、进程反复重启、流量突增、下游访问超时和下游拒绝请求等故障;硬件环境类型的故障包括但不限于:内存缺失、CPU负载高、磁盘目录满、网络抖动和时钟偏移等故障;代码实现类型的故障包括但不限于:非法请求、非预期返回、参数篡改、并发请求和业务配置异常等故障。故障影响面是指故障的影响范围,示例性的,故障影响面可是包括:上游报错或者服务失效;严重程度对故障发生时对整个微服务的影响程度的量化,严重程度与故障影响面成正相关,故障影响越大则严重程度的数值越大;引发因素是指引发故障的因素,示例性的,引发因素包括:下游自身故障或者上线以及其他的因素;故障发生概率是指故障发生可能性的量化。故障可检测程度是指对故障被混沌实验挖掘出难度的量化;改进措施是指针对混沌实验挖掘出的具体故障,对微服务进行的改进。示例性的,在故障详情为返回非法的情况下,改进措施为异常处理,在故障详情为进程包活的情况下,改进措施为增加保活。

在从故障详情、故障影响面、严重程度、引发因素、故障发生概率、故障可检测程度或改进措施的角度确定混沌实验的故障特征,可以多角度、全方面地直观反映微服务执行混沌实验的收益,也就是混沌实验对微服务的有效性。

S240、根据所述目标业务特征和所述关联关系,从所述候选混沌实验中为所述目标微服务选择目标混沌实验。

其中,目标混沌实验是指在候选混沌实验中为目标微服务确定的有效的混沌实验。通过执行目标混沌实验可以挖掘出目标微服务中潜在的稳定性问题。

其中,关联关系是指候选业务特征和候选故障特征之间的对应关系,根据候选业务特征和候选故障特征之间的关联关系,确定与目标业务特征对应的故障特征,再根据故障特征为目标微服务选择适合的混沌实验。

本公开实施例的技术方案,根据候选混沌实验在历史微服务中的历史实验数据,确定候选混沌实验的候选故障特征,并确定候选故障特征与候选业务特征之间的关联关系,再根据目标业务特征和关联关系在候选混沌候选实验中为目标微服务确定目标混沌实验,根据目标业务特征为目标微服务确定有针对性,更有效的混沌实验,优化了目标微服务所要执行的混沌实验的数量和质量,降低混沌实验成本,提高混沌实验的有效性。

图3是根据本公开实施例提供的又一种混沌实验的确定方法的示意图。本实施例是在上述实施例的基础上提出的一种可选方案。参见图3,本实施例提供的混沌实验的确定方法包括:

S310、确定目标微服务的目标业务特征。

S320、确定历史微服务的历史业务特征,作为候选业务特征。

S330、根据候选混沌实验在历史微服务中的历史实验数据,确定所述候选混沌实验的候选故障特征,并确定所述候选故障特征与所述候选业务特征之间的关联关系。

S340、将所述目标业务特征与所述关联关系进行匹配,得到与所述目标业务特征关联的目标故障特征,以及与所述目标故障特征所属的目标混沌实验。

其中,关联关系是指候选故障特征和候选业务特征之间的对应关系,在已知目标业务特征的前提下,将目标业务特征与关联关系中的候选业务特征进行特征匹配,若候选业务特征存在与目标业务特征一致的候选业务特征。将目标业务特征作为索引,根据关联关系确定与该目标业务特征对应的候选故障特征作为目标故障特征,将目标故障特征所属的混沌实验确定为目标混沌实验。

S350、根据所述目标故障特征对所述目标混沌实验进行筛选,并根据筛选结果得到为所述目标微服务选择的目标混沌实验。

微服务可以执行多个混沌实验,但并非该微服务执行的全部混沌实验都可以挖掘出有价值的潜在稳定性故障。目标故障特征中的各个数据项从不同角度反映微服务所执行混沌实验的收益,一定程度上反映的该混沌实验对该微服务的价值。

根据目标故障特征对目标混沌实验进行进一步的筛选,从目标混沌实验中为目标微服务选择出价值更高,更加有效的混沌实验。根据目标故障特征对目标混沌实验进行筛选,具体的,根据目标故障特征中的各数据项以及业务需求对目标混沌实验进行筛选。示例性的,可以根据故障详情,影响面和引发因素或者改进措施对目标混沌实验先进行筛选,得到筛选结果,再根据严重程度、故障发生概率和可检测程度等可量化的数据项对目标混沌实验进行排序,具体的,可以根据微服务对严重程度、故障发生概率和可检测程度的关注度,分别对严重程度、故障发生概率和可检测程度赋予不同的权重参数,基于权重参数计算三者的乘积。根据乘积对混沌实验进行排序,选择排名在一定范围内混沌实验作为最终的目标混沌实验。值得注意的,根据故障详情,影响面和引发因素或改进措施对目标混沌实验的筛选过程与根据严重程度、故障发生概率和可检测程度过程之间并不具备特定的先后逻辑关系,二者可以同时进行。也可根据业务需求择一进行,这里不作限定,具体根据实际情况确定。

本公开实施例的技术方案,通过将目标业务特征与关联关系进行匹配,得到与目标业务特征关联的目标故障特征,以及与目标故障特征所属的目标混沌实验;再根据目标故障特征对目标混沌实验进行筛选,并根据筛选结果得到为目标微服务选择的目标混沌实验。本公开实施例根据目标微服务的业务特征为目标微服务确定有针对性的混沌实验,并考虑了混沌实验的有效性,根据目标故障特征对混沌实验进行进一步筛选,优化了目标微服务所要执行的混沌实验的数量和质量,降低混沌实验成本,提高混沌实验的有效性。

图4是根据本公开实施例提供的又一种混沌实验的确定方法的示意图。本实施例是在上述实施例的基础上提出的一种可选方案。参见图4,本实施例提供的混沌实验的确定方法包括:

S410、确定目标微服务的目标业务特征。

S420、确定历史微服务的历史业务特征,作为候选业务特征。

S430、根据候选混沌实验在历史微服务中的历史实验数据,确定所述候选混沌实验的候选故障特征,并确定所述候选故障特征与所述候选业务特征之间的关联关系。

S440、将所述目标业务特征与所述关联关系进行匹配,得到与所述目标业务特征关联的目标故障特征,以及与所述目标故障特征所属的目标混沌实验。

S450、根据目标微服务的服务信息,确定所述目标故障特征的故障因子。

其中,目标微服务的服务信息是指目标微服务相关工作团队如开发团队、测试团队和运维团队的一段时间内的工作质量信息。其中,故障因子为目标故障特征的加权系数,用于动态调整目标故障特征各数据项的取值。通过故障因子调整目标故障特征,可以为目标微服务选择出更加有效的混沌实验。

一般来说,对于固定的工业场景,某一个故障对应的严重程度和发生概率是相对固定的。但是对于软件程序来说,特别是大规模微服务的架构下的软件程序,不同时间段内的微服务变更频率和工作团队质量等人工因素都会导致故障发生情况产生很大变化,为了进一步提高混沌实验对微服务的有效性。在一个可选的实施例中,所述根据目标微服务的服务信息,确定所述目标故障特征的故障因子,包括:获取目标微服务的工作人员所引发的问题数量和损失额度;根据所述问题数量和损失额度,确定所述目标故障特征的故障因子。

其中,损失额度可以包括流量损失、用户体验损失和收入损失等方面的额度。根据问题数量和损失额度确定目标故障特征的故障因子,故障因子与问题数量和损失额度均成正相关,问题数量越多,损失额度也大则故障因子也越大。

可选的,根据目标微服务的工作人员所属团队确定故障因子。一般而言,运维团队主要负责硬件环境、开发团队以及测试团队为架构设计和代码实现负责。若一段时间内,开发团队以及测试团队的工作人员所引发的问题数量和损失额度呈上升态势,运维团队的工作人员所引发的问题数量和损失额度呈下降态势,则可以推断微服务存在架构设计类型和代码实现类型潜在故障的可能性变大,相应的,存在硬件环境类型潜在故障的可能性变小。从而可以根据故障详情判断故障所属类型,若故障属于架构设计类型,则将故障因子确定为较大数值。利用故障因子调整故障特征中的数据项。故障因子为大于等于1的数,其具体的数值范围在这里不作限定,具体依据实际情况确定,示例性的,故障因子的取值范围设置为1到10之间。同等条件下,目标故障特征的故障因子越大,与目标故障特征关联的候选混沌实验被选择为目标混沌实验的概率越高。将工作人员所引发的问题数量和损失额度的

S460、根据所述目标故障特征和所述故障因子,对所述目标混沌实验进行筛选,并根据筛选结果得到为所述目标微服务选择的目标混沌实验。

利用故障因子调整目标故障特征中的数据项,并根据调整后的故障特征对目标混沌实验进行筛选,从目标混沌实验中筛选出更适合更有效的混沌实验。

考虑到微服务测试资源是有限的,为了提高资源的利用率,利用有限的测试资源执行更多有效的混沌实验,在一个可选的实施例中,所述根据所述目标故障特征和所述故障因子,对所述目标混沌实验进行筛选,包括:根据目标微服务的测试资源,确定目标混沌实验的实验数量;根据所述目标故障特征、所述故障因子和所述实验数量,对所述目标混沌实验进行筛选。

其中,测试资源是指目标微服务可用于进行稳定性测试的资源,示例性的,测试资源包括计算资源和内存资源等。测试资源决定了目标微服务可以执行的混沌实验的数量。根据目标微服务可执行混沌实验的数量确定目标混沌实验的数量。

根据目标故障特征和故障因子对目标混沌实验进行筛选,从目标混沌实验中筛选出设定数量的混沌实验。

本公开实施例的技术方案,通过根据目标微服务的服务信息,确定目标故障特征的故障因子;根据目标故障特征和故障因子,对目标混沌实验进行筛选。本公开将微服务的服务信息纳入目标混沌实验的筛选指标中,全面考虑了影响混沌实验有效性的因素,使得为目标微服务选择的混沌实验的有效性更高,目标微服务所要执行的混沌实验的数量和质量,降低混沌实验成本。

图5是根据本公开实施例提供的又一种混沌实验的确定方法的示意图。本实施例是在上述实施例的基础上提出的一种可选方案。参见图5,本实施例提供的混沌实验的确定方法包括:

S510、确定目标微服务的目标业务特征。

S520、确定历史微服务的历史业务特征,作为候选业务特征。

S530、根据候选混沌实验在历史微服务中的历史实验数据,确定历史微服务选择候选混沌实验的标注概率。

其中,历史微服务选择候选混沌实验的标注概率,是指在历史微服务确定的情况下,历史微服务选择执行各候选混沌实验的概率。

受到计算资源和存储资源等测试资源的限制,一个微服务可执行的混沌实验的数量是有限的,一般而言,就某一具体的微服务是不会将全部的候选混沌实验全部执行会选择执行部分候选混沌实验。不同的候选混沌实验也有其适用的场景。例如,混沌实验a为适用于挖掘业务特征类型为硬件环境的微服务中潜在故障的混沌实验;混沌实验b为适用于挖掘业务特征类型为架构设计的微服务中潜在故障的混沌实验。业务特征类型为架构设计的微服务B执行混沌实验b比执行混沌实验a更能挖掘到有价值的潜在故障。历史微服务B选择混沌实验b的概率将高于选择混沌实验a的概率。则历史微服务选择选择混沌实验b的标注概率高于选择混沌实验a的标注概率。值得注意的是,各候选混沌实验的标注概率和为1。

根据候选混沌实验在历史微服务中的历史实验数据,确定历史微服务选择候选混沌实验的标注概率,具体的,根据历史微服务的业务特征对历史实验数据进行统计汇总。具体的,利用多分类器分别统计架构设计、代码实现和硬件环境类型业务特征的历史微服务所执行的各候选混沌实验的概率,作为标注概率。

S540、根据候选混沌实验在历史微服务中的历史实验数据,确定所述候选混沌实验的候选故障特征。

根据混沌实验的候选故障特征,可以确定历史微服务执行候选混沌实验的收益,也就是候选混沌实验挖掘出的故障的有效性。根据混沌实验的候选故障特征可以作为历史微服务选择混沌实验的参考。

S550、将所述候选业务特征作为输入,将所述候选混沌实验的标注概率作为输出进行模型训练,得到混沌实验推荐模型,作为所述候选故障特征与所述候选业务特征之间的关联关系。

其中,混沌实验推荐模型是用于确定目标混沌实验选择不同候选混沌实验的概率模型,混沌实验推荐模型是相关技术人员根据实际情况预先构建的。可选的,混沌实验推荐模型可以是多分类器。混沌实验推荐模型是将候选业务特征作为训练样本,将混沌实验的标注概率作为训练样本的标签数据训练得到的。

混沌实验推荐模型训练完成以后,可以根据业务特征输出目标混沌实验选择不同候选混沌实验的概率。

S560、根据所述目标业务特征和所述关联关系,从所述候选混沌实验中为所述目标微服务选择目标混沌实验。

其中,关联关系为训练好的混沌实验推荐模型。将目标业务特征作为混沌实验模型的输入,混沌实验推荐模型即可根据目标业务特征输出混沌实验的推荐度,根据混沌实验的推荐度在候选混沌实验中为目标微服务选择目标混沌实验。本公开实施例的技术方案,通过将候选业务特征作为输入,将候选混沌实验的标注概率作为输出进行模型训练,得到混沌实验推荐模型,并根据目标业务特征和混沌实验推荐模型系,从候选混沌实验中为目标微服务选择目标混沌实验,本公开技术方案针对目标微服务实现了混沌实验的智能推荐,优化了目标微服务所要执行的混沌实验的数量和质量,降低混沌实验成本,提高混沌实验的有效性。

图6根据本公开实施例提供的一种混沌实验的确定装置的示意图,本实施例可适用于利用混沌实验对微服务进行稳定性问题挖掘,可能发生混沌实验场景爆炸的情况,该装置配置于电子设备中,可实现本公开任意实施例所述的混沌实验的确定方法。参考图6,该混沌实验的确定装置600具体包括如下:

目标业务特征确定模块601,用于确定目标微服务的目标业务特征;

目标混沌实验选择模块602,用于根据所述目标业务特征,及候选混沌实验在历史微服务中的历史实验数据,从所述候选混沌实验中为目标微服务选择目标混沌实验。

在一种可选实施方式中,所述目标混沌实验选择模块602,包括:

候选业务特征确定子模块,用于确定历史微服务的历史业务特征,作为候选业务特征;

候选故障特征和候选业务特征关联关系确定子模块,用于根据候选混沌实验在历史微服务中的历史实验数据,确定所述候选混沌实验的候选故障特征,并确定所述候选故障特征与所述候选业务特征之间的关联关系;

目标混沌实验选择子模块,用于根据所述目标业务特征和所述关联关系,从所述候选混沌实验中为所述目标微服务选择目标混沌实验。

在一种可选实施方式中,所述目标混沌实验选择子模块,包括:

目标业务特征与关联关系匹配单元,用于将所述目标业务特征与所述关联关系进行匹配,得到与所述目标业务特征关联的目标故障特征,以及与所述目标故障特征所属的目标混沌实验;

目标混沌实验筛选单元,用于根据所述目标故障特征对所述目标混沌实验进行筛选,并根据筛选结果得到为所述目标微服务选择的目标混沌实验。

在一种可选实施方式中,目标混沌实验筛选单元包括:目标混沌实验筛选子单元和目标混沌实验选择子单元,其中,目标混沌实验筛选子单元,具体用于根据所述目标故障特征对所述目标混沌实验进行筛选;目标混沌实验选择子单元,具体用于根据筛选结果得到为所述目标微服务选择的目标混沌实验;

目标混沌实验筛选子单元,包括:故障因子确定子单元,用于根据目标微服务的服务信息,确定所述目标故障特征的故障因子;

目标混沌实验筛选第一子单元,根据所述目标故障特征和所述故障因子,对所述目标混沌实验进行筛选。

在一种可选实施方式中,故障因子确定子单元,包括:

问题数量和损失额度获取子单元,用于获取目标微服务的工作人员所引发的问题数量和损失额度;

故障因子确定第一子单元,根据所述问题数量和损失额度,确定所述目标故障特征的故障因子。

在一种可选实施方式中,所述目标混沌实验筛选第一子单元,包括:

实验数量确定子单元,根据目标微服务的测试资源,确定目标混沌实验的实验数量;

目标混沌实验筛选子单元,用于根据所述目标故障特征、所述故障因子和所述实验数量,对所述目标混沌实验进行筛选。

在一种可选实施方式中,所述候选故障特征和候选业务特征关联关系确定子模块,包括:

标注概率确定单元,用于根据候选混沌实验在历史微服务中的历史实验数据,确定历史微服务选择候选混沌实验的标注概率;

候选故障特征确定单元,用于根据候选混沌实验在历史微服务中的历史实验数据,确定所述候选混沌实验的候选故障特征;

混沌实验推荐模型确定单元,用于将所述候选业务特征和所述候选故障特征作为输入,将所述候选混沌实验的标注概率作为输出进行模型训练,得到混沌实验推荐模型,作为所述候选故障特征与所述候选业务特征之间的关联关系。

在一种可选实施方式中,所述故障特征包括故障详情、故障影响面、严重程度、引发因素、故障发生概率、故障可检测程度或改进措施中的至少一项。

本公开实施例的技术方案,通过确定目标微服务的目标业务特征,根据目标业务特征,及候选混沌实验在历史微服务中的历史实验数据,从候选混沌实验中为目标微服务选择目标混沌实验,为目标微服务确定有针对性的混沌实验,本公开实施例考虑了目标微服务的业务特征,并将微服务执行混沌实验的历史数据作为指导,为微服务进行混沌实验的精准推荐,提高混沌实验的有效性,同时减少了在微服务执行混沌实验的数量,降低了混沌实验的成本。

本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。

设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种执行机器学习模型算法的计算单元、数字信息处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如混沌实验的确定方法。例如,在一些实施例中,混沌实验的确定方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的混沌实验的确定方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行混沌实验的确定方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上执行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:动态挡板测试方法及装置

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!