基于组件化分布式系统的故障注入仿真测试方法及系统技术方案

技术编号:29053726 阅读:28 留言:0更新日期:2021-06-26 06:21
本发明专利技术涉及基于组件化分布式系统的故障注入仿真测试方法及系统,按照以下步骤实现:步骤S1、故障规格分析,步骤S2、对目标系统可能出现的潜在故障情况建立失效情景;步骤S3、根据提交的失效情景审查和故障注入点反馈,完成失效情景的故障注入方案;步骤S4、针对故障规格中定义的故障特征、故障关系,结合测试的需要进一步抽取出故障仿真规格,由此产生指导故障注入的故障仿真模型;步骤S5、运行实验,借助工具取值执行本次试验或者写脚本执行测试;步骤S6、分析结果。使用该方法可以在整个系统中在随机位置引发故障,并且会随机终止在仿真生产环境中运行的虚拟机实例和容器,避免了在生产环境中进行实验可能给客户造成不必要的影响。响。响。

【技术实现步骤摘要】
基于组件化分布式系统的故障注入仿真测试方法及系统


[0001]本专利技术涉及仿真测试
,特别是基于组件化分布式系统的故障注入仿真测试方法。

技术介绍

[0002]组件化就是基于可重用的目的,将一个大的软件系统按照分离关注点的形式,拆分成多个独立的组件,主要目的就是减少耦合,把系统拆分成多个组件,分离组件边界和责任,便于独立升级和维护。分布式就是一群独立计算机集合共同对外提供服务,但是对于系统的用户来说,就像是一台计算机在提供服务一样。分布式意味着可以采用更多的普通计算机组成分布式集群对外提供服务。计算机越多,CPU、内存、存储资源等也就越多,能够处理的并发访问量也就越大。汇总起来就是将一个大的软件系统按照分离关注点的形式,拆分成多个独立的组件,然后我们把不同的组件部署到不同的机器上,各个组件之间通过远程服务调用等方式进行通信。以一个分布式的系统对外提供服务。分布式系统天生有着各种相互依赖,可以出错的地方数不胜数,处理不好就会导致业务受损,或者是其他各种无法预期的异常行为。混沌工程领域目前这些工具的使用方式千差万别,有些工具上手难度大,学习成本高,实验能力单一。混沌工程原则强烈建议用户在生产环境上进行混沌工程实验,因为实验越接近生产环境,从结果中学到的越多,但是有可能导致故障影响不可控,此时就需要引入故障注入仿真测试。

技术实现思路

[0003]为解决上述问题,本专利技术的目的是提供基于组件化分布式系统的故障注入仿真测试方法及系统。
[0004]本专利技术实施例中采用以下方案实现:提供基于组件化分布式系统的故障注入仿真测试方法,避免了在生产环境中进行实验可能造成不良的影响,按照以下步骤实现:步骤S1、故障规格分析,对被测系统可能出现的故障模式集合进行定义,对故障模式的基本属性、故障模式之间的内部关系以及故障模式与系统功能、结构、测试的外部关系进行分析,作为测试中的故障抽样、故障仿真、故障注入和故障评估的依据;步骤S2、失效情景建立,应对目标系统可能出现的潜在故障情况建立失效情景;步骤S3、故障注入方案确定,考虑外部总线消息通信、信号传输情况,提交的每个失效情景确定故障注入的相关接口FIP,即将每种故障映射到具体特定硬件通道、软件组件或代码位置,根据提交的失效情景审查和故障注入点反馈,完成失效情景的故障注入方案;步骤S4、仿真模型建模,在故障规格分析与定义的基础上,针对故障规格中定义的故障特征、故障关系,结合测试的需要进一步抽取出故障仿真规格,由此产生指导故障注入的故障仿真模型;步骤S5、运行实验,借助工具取值执行本次试验或者写脚本执行测试;步骤S6、分析结果,测试完成后,将稳态指标与干扰注入系统后收集的指标进行比
较;若与测量结果存在差异,则故障注入仿真测试测试已经成功,可以继续加固系统,避免现实世界中的类似事件不会导致大问题;或者稳定状态可以保持,则没有问题。
[0005]本专利技术一实施例中,所述步骤S2进一步具体为:了解系统问题历史和软件设计规格,综合考虑故障注入对象、类型、时间和故障类型,描述系统中可能导致系统失效的故障、触发事件和系统相关状态因素,建立失效情景。
[0006]本专利技术一实施例中,所述步骤S3进一步具体为:对于给定的每个失效情景,开发团队采用SFMEA方法,对每种失效情景中的故障模式与影响进行分析;根据对目标系统功能、结构特性分析,确定可能导致该失效情景的FIP信息用于故障注入,并建立FIP位置的功能、结构映射关系;明确目标系统处理该故障所采用的检测/恢复动作。
[0007]本专利技术一实施例中,所述步骤S4进一步具体为,故障仿真模型是在交联环境特性分析基础上,根据被测软件以及交联环境的需求信息而创建的仿真模型,模拟现实多样化真实世界的事件,建立测试计划。
[0008]本专利技术一实施例中,所述步骤S5进一步具体为:所述工具为Netflix

SimianArmy、chaosblade、Chaos Mesh。
[0009]本专利技术还提供基于组件化分布式系统的故障注入仿真测试系统,用于仿真测试,所述系统包括故障规格分析模块、失效情景建立模块、故障注入方案确定模块、仿真模型建模模块、实验运行模块和结果分析模块;所述故障规格分析模块,用于对被测系统可能出现的故障模式集合进行定义,对故障模式的基本属性、故障模式之间的内部关系以及故障模式与系统功能、结构、测试的外部关系进行分析,作为测试中的故障抽样、故障仿真、故障注入和故障评估的依据;所述失效情景建立模块,用于应对目标系统可能出现的潜在故障情况建立失效情景;所述故障注入方案确定模块,用于考虑外部总线消息通信、信号传输情况,提交的每个失效情景确定故障注入的相关接口FIP,即将每种故障映射到具体特定硬件通道、软件组件或代码位置,根据提交的失效情景审查和故障注入点反馈,完成失效情景的故障注入方案;所述仿真模型建模模块,用于在故障规格分析与定义的基础上,针对故障规格中定义的故障特征、故障关系,结合测试的需要进一步抽取出故障仿真规格,由此产生指导故障注入的故障仿真模型;所述实验运行模块,用于借助工具取值执行本次试验或者写脚本执行测试;所述结果分析模块,用于测试完成后,将稳态指标与干扰注入系统后收集的指标进行比较;若与测量结果存在差异,则故障注入仿真测试测试已经成功,可以继续加固系统,避免现实世界中的类似事件不会导致大问题;或者稳定状态可以保持,则没有问题。
[0010]本专利技术一实施例中,所述失效情景建立模块进一步具体为:了解系统问题历史和软件设计规格,综合考虑故障注入对象、类型、时间和故障类型,描述系统中可能导致系统失效的故障、触发事件和系统相关状态因素,建立失效情景。
[0011]本专利技术一实施例中,所述故障注入方案确定模块进一步具体为:对于给定的每个失效情景,开发团队采用SFMEA方法,对每种失效情景中的故障模式与影响进行分析;根据对目标系统功能、结构特性分析,确定可能导致该失效情景的FIP信息用于故障注入,并建
立FIP位置的功能、结构映射关系;明确目标系统处理该故障所采用的检测/恢复动作。
[0012]本专利技术一实施例中,仿真模型建模模块进一步具体为:故障仿真模型是在交联环境特性分析,根据被测软件以及交联环境的需求信息而创建的仿真模型,模拟现实多样化真实世界的事件,建立测试计划。
[0013]本专利技术一实施例中,所述实验运行模块进一步具体为:所述工具为Netflix

SimianArmy,或chaosblade,或Chaos Mesh。
[0014]本专利技术的有益效果:本专利技术提供基于组件化分布式系统的故障注入仿真测试方法,1、在复杂的分布式系统中,无法阻止这些故障的发生,应该致力于在这些异常行为被触发之前,尽可能多地识别风险,让分布式系统更加健壮。针对性地对这些故障进行加固,防范,从而避免故障发生时所带来的严重后果。
[0015]2、这种通过实验的验证方法可以为我们打造更具弹性的系统,同时让我们更透彻的掌握系统运行时的各种行为规律。我们能够在不断打造更具本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于组件化分布式系统的故障注入仿真测试方法,其特征在于:按照以下步骤实现:步骤S1、故障规格分析,对被测系统可能出现的故障模式集合进行定义,对故障模式的基本属性、故障模式之间的内部关系以及故障模式与系统功能、结构、测试的外部关系进行分析,作为测试中的故障抽样、故障仿真、故障注入和故障评估的依据;步骤S2、失效情景建立,对目标系统可能出现的潜在故障情况建立失效情景;步骤S3、故障注入方案确定,考虑外部总线消息通信、信号传输情况,提交的每个失效情景确定故障注入的相关接口FIP,即将每种故障映射到具体特定硬件通道、软件组件或代码位置,根据提交的失效情景审查和故障注入点反馈,完成失效情景的故障注入方案;步骤S4、仿真模型建模,在故障规格分析与定义的基础上,针对故障规格中定义的故障特征、故障关系,结合测试的需要进一步抽取出故障仿真规格,由此产生指导故障注入的故障仿真模型;步骤S5、运行实验,借助工具取值执行本次试验或者写脚本执行测试;步骤S6、分析结果,测试完成后,将稳态指标与干扰注入系统后收集的指标进行比较;若与测量结果存在差异,则故障注入仿真测试测试已经成功,可以继续加固系统,避免现实世界中的类似事件不会导致大问题;或者稳定状态可以保持,则没有问题。2.根据权利要求1所述的基于组件化分布式系统的故障注入仿真测试方法,其特征在于:所述步骤S2进一步具体为:了解系统问题历史和软件设计规格,综合考虑故障注入对象、类型、时间和故障类型,描述系统中可能导致系统失效的故障、触发事件和系统相关状态因素,建立失效情景。3.根据权利要求1所述的基于组件化分布式系统的故障注入仿真测试方法,其特征在于:所述步骤S3进一步具体为:对于给定的每个失效情景,开发团队采用SFMEA方法,对每种失效情景中的故障模式与影响进行分析;根据对目标系统功能、结构特性分析,确定可能导致该失效情景的FIP信息用于故障注入,并建立FIP位置的功能、结构映射关系;明确目标系统处理该故障所采用的检测/恢复动作。4.根据权利要求1所述的基于组件化分布式系统的故障注入仿真测试方法,其特征在于:所述步骤S4进一步具体为:故障仿真模型是在交联环境特性分析基础上,根据被测软件以及交联环境的需求信息而创建的仿真模型,模拟现实多样化真实世界的事件,建立测试计划。5.根据权利要求1所述的基于组件化分布式系统的故障注入仿真测试方法,其特征在于:所述步骤S5进一步具体为:所述工具为Netflix

SimianArmy、chaosblade、Chaos Mesh。6.基于组件化分布式系统的故障注入仿真测试系统,其特征在于:所述系统包括故障规格分析...

【专利技术属性】
技术研发人员:刘德建范剑敏吴林旭林剑锋陈萍钟开华林琛
申请(专利权)人:福建天泉教育科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1