一种多环境多架构混沌工程全生命周期管控方法及系统与流程

文档序号:31603365发布日期:2022-09-21 09:40阅读:126来源:国知局
一种多环境多架构混沌工程全生命周期管控方法及系统与流程

1.本发明涉及系统测试控制领域,具体涉及一种多环境多架构混沌工程全生命周期管控方法及系统。


背景技术:

2.混沌工程是一种提高技术架构弹性能力的复杂技术手段,通过实验主动制造故障,测试系统在各种压力下的行为,进而将故障在造成中断之前识别出来并修复,提高系统的可用性,避免造成严重后果。
3.目前在混沌工程实践中常出现以下问题:(1)混沌实验过程中故障注入效率不高,缺少一个标准化的流程管理,一个故障从故障注入的准备阶段到最后故障回收没有统一的标准,有的故障可以自动注入,却无法自动回收,有的故障纯靠手工操作;(2)混沌实验过程中可以支持的故障场景不足,有的市场开源工具支持linux系统环境,有的支持k8s、dokcer,而在真实的混沌实验过程中在基础设施服务(iass)、平台服务(pass)、软件服务(saas)层都有故障场景的需求,例如不但需要支持linux系统,还需要支持windows系统;(3)混沌实验过程中注入的故障是具备破坏性的,需要精准有效的控制保障的力度,以及相应的安全保护机制,而目前很多混沌工程实验的故障爆炸力度控制不够精细,甚至连安全防护措施都没有。


技术实现要素:

4.本技术提供了一种多环境多架构混沌工程全生命周期管控方法及系统,用于解决现有混沌实验中缺乏全生命周期管控,故障注入效率不高,支持的故障场景不足以及故障爆炸力度控制不精细的技术问题,达到集中化管理混沌工程实验的各类故障资源,并且根据混沌工程实验的规模有序、灵活地调度故障场景开展混沌工程实验,同时做到实验场景丰富,攘括了iass、pass、saas的各类故障场景,同时兼容了windows、linux、麒麟等系统,同时拥有docker、k8s、jvm、redis、kafka等中间件的实验场景,以及对实验的故障进行安全有效控制的技术效果。
5.鉴于上述问题,本技术提供了一种多环境多架构混沌工程全生命周期管控方法及系统。
6.第一方面,本技术实施例提供了一种多环境多架构混沌工程全生命周期管控方法,所述方法应用于一种多环境多架构混沌工程全生命周期管控系统,所述系统包括混沌实验资源模块、实验资源调度模块、混沌实验防爆模块、混沌实验管控模块,所述方法包括:基于大数据构建所述混沌实验资源模块,其中,所述混沌实验资源模块包括多个混沌实验故障;获得目标信息系统的混沌实验计划,其中,所述混沌实验计划包括计划实验对象、计划实验类型、计划实验规模;所述实验资源调度模块基于所述计划实验对象、所述计划实验
类型、所述计划实验规模,在所述多个混沌实验故障中遍历,得到匹配实验故障;所述混沌实验防爆模块基于所述匹配实验故障,对所述目标信息系统进行混沌实验,得到混沌实验实时数据;所述混沌实验管控模块对所述混沌实验实时数据进行分析,并根据分析结果进行混沌实验管控。
7.第二方面,本技术实施例提供了一种多环境多架构混沌工程全生命周期管控系统,所述系统包括:混沌实验资源模块,基于大数据构建所述混沌实验资源模块,其中,所述混沌实验资源模块包括多个混沌实验故障;混沌实验计划获取模块,所述混沌实验计划获取模块用于获得目标信息系统的混沌实验计划,其中,所述混沌实验计划包括计划实验对象、计划实验类型、计划实验规模;实验资源调度模块,所述实验资源调度模块基于所述计划实验对象、所述计划实验类型、所述计划实验规模,在所述多个混沌实验故障中遍历,得到匹配实验故障;混沌实验防爆模块,所述混沌实验防爆模块基于所述匹配实验故障,对所述目标信息系统进行混沌实验,得到混沌实验实时数据;混沌实验管控模块,所述混沌实验管控模块对所述混沌实验实时数据进行分析,并根据分析结果进行混沌实验管控。
8.本技术中提供的一个或多个技术方案,至少具有如下技术效果或优点:本技术实施例提供的一种多环境多架构混沌工程全生命周期管控方法及系统,基于大数据构建所述混沌实验资源模块,其中,所述混沌实验资源模块包括多个混沌实验故障;获得目标信息系统的混沌实验计划,其中,所述混沌实验计划包括计划实验对象、计划实验类型、计划实验规模;所述实验资源调度模块基于所述计划实验对象、所述计划实验类型、所述计划实验规模,在所述多个混沌实验故障中遍历,得到匹配实验故障;所述混沌实验防爆模块基于所述匹配实验故障,对所述目标信息系统进行混沌实验,得到混沌实验实时数据;所述混沌实验管控模块对所述混沌实验实时数据进行分析,并根据分析结果进行混沌实验管控。解决了现有混沌实验中缺乏全生命周期管控,故障注入效率不高,支持的故障场景不足以及故障爆炸力度控制不精细的技术问题,达到集中化管理混沌工程实验的各类故障资源,并且根据混沌工程实验的规模有序、灵活地调度故障场景开展混沌工程实验,同时做到实验场景丰富,攘括了iass、pass、saas的各类故障场景,同时兼容了windows、linux、麒麟等系统,同时拥有docker、k8s、jvm、redis、kafka等中间件的实验场景,以及对实验的故障进行安全有效控制的技术效果。
附图说明
9.图1为本技术提供的一种多环境多架构混沌工程全生命周期管控方法的流程示意图;图2为本技术提供的一种多环境多架构混沌工程全生命周期管控方法中基于大数据构建所述混沌实验资源模块的流程示意图;图3为本技术提供的一种多环境多架构混沌工程全生命周期管控方法中得到匹配实验故障的流程示意图;图4为本技术提供的一种多环境多架构混沌工程全生命周期管控方法中进行混沌实验管控的流程示意图;图5为本技术提供的一种多环境多架构混沌工程全生命周期管控系统结构示意图;
附图标记说明:混沌实验资源模块100,混沌实验计划获取模块200,实验资源调度模块300,混沌实验防爆模块400,混沌实验管控模块500。
具体实施方式
10.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
11.本技术通过提供一种多环境多架构混沌工程全生命周期管控方法及系统,用于解决现有混沌实验中缺乏全生命周期管控,故障注入效率不高,支持的故障场景不足以及故障爆炸力度控制不精细的技术问题,达到集中化管理混沌工程实验的各类故障资源,并且根据混沌工程实验的规模有序、灵活地调度故障场景开展混沌工程实验,同时做到实验场景丰富,攘括了iass、pass、saas的各类故障场景,同时兼容了windows、linux、麒麟等系统,同时拥有docker、k8s、jvm、redis、kafka等中间件的实验场景,以及对实验的故障进行安全有效控制的技术效果。
12.实施例一如图1所示,本技术提供了一种多环境多架构混沌工程全生命周期管控方法,所述方法应用于一种多环境多架构混沌工程全生命周期管控系统,所述系统包括混沌实验资源模块、实验资源调度模块、混沌实验防爆模块、混沌实验管控模块,所述方法包括:s100:基于大数据构建所述混沌实验资源模块,其中,所述混沌实验资源模块包括多个混沌实验故障;具体而言,混沌工程通常用于测试分布式计算系统,以确保其能够承受意外的中断;混沌工程基于随机和不可预知行为的混沌理念,混沌工程的目标是通过引入随机和不可预知行为的受控实验来识别系统中的弱点;混沌工程的最大优势是在黑客入侵之前或系统故障之前可以使用它来识别漏洞,增加系统的可靠性。
13.混沌工程试验中基础设施服务(iass)、平台服务(pass)、软件服务(saas)层都有故障场景的需求,为了做到实验场景的丰富,本技术实施例中,提供了一种多环境多架构混沌工程全生命周期管控方法,首先,根据大数据构建混沌实验资源模块,其中,所述混沌实验资源模块包括多个混沌实验故障,能够实现iass、pass、saas层的混沌实验故障场景。
14.进一步的,如图2所示,本技术实施例提供的方法中的步骤s100还包括:s110:基于大数据对基础设施服务故障进行采集,并根据采集结果组建基础设施故障资源;s120:基于大数据对平台服务故障进行采集,并根据采集结果组建平台故障资源;s130:基于大数据对软件服务故障进行采集,并根据采集结果组建软件故障资源;s140:根据所述基础设施故障资源、所述平台故障资源、所述软件故障资源,构建所述混沌实验资源模块。
15.具体而言,所述大数据中记载有以往混沌工程实验中所涉及的实验数据,例如,故障资源以及故障资源支持的场景范围等,基于大数据对基础设施服务故障进行采集,并根据采集结果组建基础设施故障资源,可以实现例如,selverlet、mysql、redis、kafka、
rabbitmq以及企业自研应用等的场景;基于大数据对平台服务故障进行采集,并根据采集结果组建平台故障资源,可以实现同时兼容windows、linux、麒麟等系统的场景;基于大数据对软件服务故障进行采集,并根据采集结果组建软件故障资源,可以实现例如memery、disk、network、files等的场景;最后,根据所述基础设施故障资源、所述平台故障资源、所述软件故障资源,构建所述混沌实验资源模块,实现基础设施服务、平台服务以及软件服务层的混沌试验场景,解决现有技术中混沌工程试验可以支持的故障场景不足的问题,达到丰富试验场景的目的。
16.s200:获得目标信息系统的混沌实验计划,其中,所述混沌实验计划包括计划实验对象、计划实验类型、计划实验规模;具体而言,在进行混沌实验之前,先获得目标信息系统的计划实验对象,计划实验类型,计划实验规模;计划实验对象、计划实验类型以及计划实验规模共同构成混沌实验计划,根据混沌实验计划来完成后续故障资源的调度,进行混沌工程实验。
17.s300:所述实验资源调度模块基于所述计划实验对象、所述计划实验类型、所述计划实验规模,在所述多个混沌实验故障中遍历,得到匹配实验故障;具体而言,实验资源调度模块主要是根据混沌工程实验的活动规模大小、实验对象不同、实验场景需求类型,快速、有效地进行故障资源的调度作业。
18.在开展混沌工程实验的过程中有时候会遇到集群化大面积注入故障和对节点注入多重故障的实验场景,此时需要一个实时且可靠的实验资源调度进行合理有效的调度,避免出现大面的故障失控现象。本技术实施例中,所述实验资源调度模块根据混沌实验计划中的计划实验对象、计划实验类型、计划实验规模在混沌实验资源模块提供的多个实验故障中进行遍历,得到与混沌实验计划相匹配的实验故障,实现试验故障的自动快速匹配,提高混沌工程试验效率。
19.进一步的,如图3所示,本技术实施例提供的方法中的步骤s300还包括:s310:获得所述实验资源调度模块的实验对象调度层;s320:通过所述实验对象调度层基于所述计划实验对象,在所述多个混沌实验故障中遍历,得到实验对象匹配结果;s330:基于大数据构建实验对象-故障类型列表;s340:根据所述计划实验类型,结合所述实验对象匹配结果和所述实验对象-故障类型列表,得到故障类型匹配结果;s350:根据所述实验对象匹配结果、所述故障类型匹配结果,得到所述匹配实验故障。
20.具体而言,为了避免大面积故障失控现象,本技术实施例中,所述实验资源调度模块会在混沌工程实验过程中,先对实验计划中的实验对象和实验故障类型进行快速识别并配对,具体的,所述实验资源调度模块中记载有实验对象以及和实验对应的实验故障类型,基于所述计划实验对象在所述多个混沌实验故障中遍历,得到实验对象匹配结果,基于大数据中记载的实验对象以及实验对象对应的故障类型,构建实验对象-故障类型列表,根据所述计划实验类型,结合所述实验对象匹配结果和所述实验对象-故障类型列表,得到故障类型匹配结果,最后,根据所述实验对象匹配结果、所述故障类型匹配结果,得到所述匹配实验故障,通过实验资源调度模块的使用,可以有效的帮助混沌实验控制器完成复杂化的
场景实验,达到实时、精准控制故障的目的。
21.进一步的,所述方法还包括:s360:根据所述计划实验规模,获得所述混沌实验计划的计划故障强度、计划故障时间、计划故障半径;s370:基于所述计划故障强度、所述计划故障时间、所述计划故障半径,对所述混沌实验防爆模块进行防爆控制处理。
22.具体而言,进一步的,为了避免故障蔓延,造成大面积的故障事件,根据获得的计划实验规模,获得所述混沌实验计划的计划故障强度、计划故障时间和计划故障半径,其中,所述计划故障强度为实验对象被注入的故障的严重程度强弱;所述计划故障时间为实验对象被注入故障后,该故障状态维持的时间长度;所述计划故障半径为实验对象对注入故障后,该故障爆炸的泄放口;基于所述计划故障强度、所述计划故障时间、所述计划故障半径,对所述混沌实验防爆模块进行防爆控制处理,达到对每个故障爆炸强度、爆炸持续时间、爆炸半径进行精确控制的目的。
23.示例性的,我们对一个物理机的网卡上的网络流量包进行流量包丢弃的故障场景实验,在此故障场景实验前,我们可以设置该网卡的网络包流量丢包率为30%,剩下的70%的网络包仍然正常接受;整个故障的持续时间为60秒;仅仅对该网上上的http端口进行了网络流量丢弃,不对其他的网络包做处理。这样在实验的过程中我们的实验防爆壳就会根据该故障场景的爆炸因子将网络包丢弃的故障场景爆炸影响范围控制在了有效范围内,避免故障失控蔓延,造成大面积的故障事件。
24.s400:所述混沌实验防爆模块基于所述匹配实验故障,对所述目标信息系统进行混沌实验,得到混沌实验实时数据;具体而言,基于所述匹配实验故障,所述混沌实验防爆模块对故障破坏中的爆炸强度,爆炸持续时间、爆炸半径进行控制,然后对所述目标信息系统进行混沌实验,得到混沌实验的实时数据。
25.s500:所述混沌实验管控模块对所述混沌实验实时数据进行分析,并根据分析结果进行混沌实验管控。
26.进一步的,如图4所示,本技术实施例提供的方法中的步骤s500还包括:s510:获得所述混沌实验计划的故障阶段集,其中,所述故障阶段集包括准备阶段、执行阶段、恢复阶段、检查阶段;s520:依次对所述准备阶段、所述执行阶段、所述恢复阶段、所述检查阶段进行分析,得到阶段分析结果;s530:根据所述阶段分析结果,构建故障阶段-数据特征列表;s540:基于所述混沌实验实时数据,结合所述故障阶段-数据特征列表得到混沌实验阶段;s550:通过所述混沌实验管控模块对所述混沌实验阶段进行混沌实验管控。
27.具体而言,所述混沌实验管控模块主要负责对混沌工程实验的全生命周期进行管控,对实验的准备、执行、恢复、检查四个大周期进行严格管控,确保实验活动的有序开展,本技术实施例中,利用所述混沌实验管控模块对所述混沌实验实时数据进行分析,所述实验实时数据包括实验的准备、执行、恢复、检查四个大周期对应的数据,并根据分析结果进
行混沌实验管控。
28.具体的,获得所述混沌实验计划的故障阶段集,所述故障阶段集包括准备阶段、执行阶段、恢复阶段和检查阶段,依次对所述准备阶段、所述执行阶段、所述恢复阶段、所述检查阶段采集的实时数据进行分析,得到阶段分析结果,根据获得的每个阶段的分析结果,构建故障阶段-数据特征列表,基于所述混沌实验实时数据,结合所述故障阶段-数据特征列表得到混沌实验阶段,通过所述混沌实验管控模块对所述混沌实验阶段进行混沌实验管控,确保实验活动的有序开展。
29.进一步的,本技术实施例提供的方法中的步骤s550还包括:s551:构建自我销毁组,其中,所述自我销毁组用于基于预设条件对所述匹配实验故障进行自我销毁;s552:将所述自我销毁组嵌入所述混沌实验管控模块。
30.具体而言,在所述实验对象被注入的故障走入生命结束周期后,减少手工操作对注入的故障的处理,构建自我销毁组,所述自我销毁组用于基于预设条件对所述匹配实验故障进行自我销毁,所述预设条件可以根据需求自己决定或者根据历史经验确定,并将所述自我销毁组嵌入到所述混沌实验管控模块中,利用混沌实验管控模块达到对混沌实验过程中各个阶段的故障生命周期的精确管控,确保实验活动的有序进行。
31.综上所述,本技术实施例所提供的一种多环境多架构混沌工程全生命周期管控方法具有如下技术效果:1.本技术实施例提供的一种多环境多架构混沌工程全生命周期管控方法,基于大数据构建所述混沌实验资源模块,其中,所述混沌实验资源模块包括多个混沌实验故障;获得目标信息系统的混沌实验计划,其中,所述混沌实验计划包括计划实验对象、计划实验类型、计划实验规模;所述实验资源调度模块基于所述计划实验对象、所述计划实验类型、所述计划实验规模,在所述多个混沌实验故障中遍历,得到匹配实验故障;所述混沌实验防爆模块基于所述匹配实验故障,对所述目标信息系统进行混沌实验,得到混沌实验实时数据;所述混沌实验管控模块对所述混沌实验实时数据进行分析,并根据分析结果进行混沌实验管控。解决了现有混沌实验中缺乏全生命周期管控,故障注入效率不高,支持的故障场景不足以及故障爆炸力度控制不精细的技术问题,达到集中化管理混沌工程实验的各类故障资源,并且根据混沌工程实验的规模有序、灵活地调度故障场景开展混沌工程实验,同时做到实验场景丰富,攘括了iass、pass、saas的各类故障场景,同时兼容了windows、linux、麒麟等系统,同时拥有docker、k8s、jvm、redis、kafka等中间件的实验场景,以及对实验的故障进行安全有效控制的技术效果。
32.2.本技术实施例中所述实验资源调度模块根据混沌实验计划中的计划实验对象、计划实验类型、计划实验规模在混沌实验资源模块提供的多个实验故障中进行遍历,得到与混沌实验计划相匹配的实验故障,实现试验故障的自动快速匹配,提高了混沌工程试验的效率。
33.3.本技术实施例中,所述实验资源调度模块会在混沌工程实验过程中,先对实验计划中的实验对象和实验故障类型进行快速识别并配对,通过实验资源调度模块可以有效的帮助混沌实验控制器完成复杂化的场景实验,达到实时、精准控制故障的目的。
34.4.本技术实施例中通过实验防爆模块对每个实验对象内的故障破坏进行爆炸控
制,主要对故障爆炸强度、爆炸持续时间、爆炸半径进行控制,避免故障失控蔓延,造成大面积的故障事件。
35.实施例二基于与前述实施例中一种多环境多架构混沌工程全生命周期管控方法相同的发明构思,如图5所示,本技术提供了一种多环境多架构混沌工程全生命周期管控系统,所述系统包括:混沌实验资源模块100,基于大数据构建所述混沌实验资源模块,其中,所述混沌实验资源模块包括多个混沌实验故障;混沌实验计划获取模块200,所述混沌实验计划获取模块用于获得目标信息系统的混沌实验计划,其中,所述混沌实验计划包括计划实验对象、计划实验类型、计划实验规模;实验资源调度模块300,所述实验资源调度模块基于所述计划实验对象、所述计划实验类型、所述计划实验规模,在所述多个混沌实验故障中遍历,得到匹配实验故障;混沌实验防爆模块400,所述混沌实验防爆模块基于所述匹配实验故障,对所述目标信息系统进行混沌实验,得到混沌实验实时数据;混沌实验管控模块500,所述混沌实验管控模块对所述混沌实验实时数据进行分析,并根据分析结果进行混沌实验管控。
36.进一步的,所述系统中的混沌实验资源模块100还用于:基于大数据对基础设施服务故障进行采集,并根据采集结果组建基础设施故障资源;基于大数据对平台服务故障进行采集,并根据采集结果组建平台故障资源;基于大数据对软件服务故障进行采集,并根据采集结果组建软件故障资源;根据所述基础设施故障资源、所述平台故障资源、所述软件故障资源,构建所述混沌实验资源模块。
37.进一步的,所述系统中的实验资源调度模块300还用于:获得所述实验资源调度模块的实验对象调度层;通过所述实验对象调度层基于所述计划实验对象,在所述多个混沌实验故障中遍历,得到实验对象匹配结果;基于大数据构建实验对象-故障类型列表;根据所述计划实验类型,结合所述实验对象匹配结果和所述实验对象-故障类型列表,得到故障类型匹配结果;根据所述实验对象匹配结果、所述故障类型匹配结果,得到所述匹配实验故障。
38.进一步的,所述系统中的混沌实验防爆模块400还用于:根据所述计划实验规模,获得所述混沌实验计划的计划故障强度、计划故障时间、计划故障半径;基于所述计划故障强度、所述计划故障时间、所述计划故障半径,对所述混沌实验防爆模块进行防爆控制处理。
39.进一步的,所述系统中的混沌实验管控模块500还用于:获得所述混沌实验计划的故障阶段集,其中,所述故障阶段集包括准备阶段、执行
阶段、恢复阶段、检查阶段;依次对所述准备阶段、所述执行阶段、所述恢复阶段、所述检查阶段进行分析,得到阶段分析结果;根据所述阶段分析结果,构建故障阶段-数据特征列表;基于所述混沌实验实时数据,结合所述故障阶段-数据特征列表得到混沌实验阶段;通过所述混沌实验管控模块对所述混沌实验阶段进行混沌实验管控。
40.进一步的,所述系统中的混沌实验管控模块500还用于:构建自我销毁组,其中,所述自我销毁组用于基于预设条件对所述匹配实验故障进行自我销毁;将所述自我销毁组嵌入所述混沌实验管控模块。
41.本技术上述实施例公开的模块的具体工作过程,可参见对应的方法实施例内容,此处不再赘述。
42.专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1