故障注入系统、方法和装置制造方法及图纸

技术编号:30414042 阅读:20 留言:0更新日期:2021-10-24 16:16
本发明专利技术实施例涉及计算机技术领域,公开了一种故障注入系统、方法和装置,包括:调度单元:用于向代理服务单元发送故障注入指令;容器单元:包括容器镜像挂载目录,容器镜像挂载目录用于接收代理服务单元发出的故障注入程序;代理服务单元:包括故障场景配置模块、故障注入引擎模块和结果监控模块;故障场景配置模块:用于根据预设的故障注入场景配置相应的故障注入程序;故障注入引擎模块:用于接收调度单元发送的故障注入指令,并根据故障注入指令从故障场景配置模块中获取相应的故障注入程序,将故障注入程序注入到容器单元的容器镜像挂载目录中;结果监控模块对故障注入结果进行监控。通过上述方式,本发明专利技术实施例提高了故障注入的效率。注入的效率。注入的效率。

【技术实现步骤摘要】
故障注入系统、方法和装置


[0001]本专利技术实施例涉及计算机
,具体涉及一种故障注入系统、方法和装置。

技术介绍

[0002]随着云化、容器化的逐渐成熟和普及,大量传统型、竖井型应用被逐渐改造或直接迁移和部署到虚拟化、容器化环境当中。而容器化大规模的应用伴随而来来的是维护难度几何式的增长,容器状态在云化架构下的影响被弱化,但容器上承载的应用自身运行情况以及各个应用之间的调用关系等,仍然是决定业务稳定性的最关键因素。
[0003]在这种情况下,通过直接在生产环境对Docker容器内的应用进行故障注入,来观测应用异常带来的业务影响,是一种较有效的储备运维经验的方法。而目前针对Docker容器的故障注入存在操作繁琐以及覆盖场景有限等问题。

技术实现思路

[0004]鉴于上述问题,本专利技术实施例提供了一种故障注入系统、方法和装置,用于解决现有技术中存在的上述问题。
[0005]本专利技术实施例提出了一种故障注入系统,包括:调度单元、代理服务单元和容器单元;
[0006]所述调度单元:用于向代理服务单元发送故障注入指令;
[0007]所述容器单元:包括容器镜像挂载目录,所述容器镜像挂载目录用于接收所述代理服务单元发出的故障注入程序;
[0008]所述代理服务单元:包括故障场景配置模块、故障注入引擎模块和结果监控模块;
[0009]所述故障场景配置模块:用于根据预设的故障注入场景配置相应的故障注入程序;
[0010]所述故障注入引擎模块:用于接收所述调度单元发送的故障注入指令,并根据所述故障注入指令从所述故障场景配置模块中获取相应的故障注入程序,将所述故障注入程序注入到所述容器单元的容器镜像挂载目录中;
[0011]所述结果监控模块:用于接收所述容器单元根据所述故障注入程序运行的结果信息,并根据所述运行结果信息对所述故障注入程序进行监控,将监控结果上报至所述调度单元。
[0012]进一步的,所述故障注入指令包括故障场景信息;
[0013]所述故障注入引擎模块用于根据所述故障场景信息从所述故障场景配置模块中获取故障注入程序。
[0014]进一步的,所述故障场景配置模块包括:进程外场景配置模块和进程内场景配置模块;
[0015]所述进程外场景配置模块用于通过操作系统命令对设置所述故障注入指令;
[0016]所述进程内场景配置模块用于通过JDK接口和字节码设置所述故障注入指令。
[0017]进一步的,所述进程内场景配置模块还用于对所述容器内的运行函数按入口、函数体和出口进行划分;
[0018]所述进程内场景配置模块分别对所述函数的入口、函数体和出口的响应值、处理速度和处理逻辑设置故障注入指令。
[0019]进一步的,所述故障注入引擎模块还包括环境检查模块;
[0020]所述环境检查模块用于根据所述故障注入指令对所述容器单元的环境信息进行检查,如果符合所述环境信息符合所述故障注入指令的运行要求,则执行故障注入,否则向所述调度单元返回故障注入失败信息。
[0021]进一步的,所述故障场景配置模块还用于根据故障注入程序配置相应的故障注入有效性检查脚本;
[0022]所述故障注入引擎模块还用于在完成注入所述故障注入程序后,运行对应的所述故障注入有效性检查脚本,以便确定所述故障注入程序是否运行成功。
[0023]进一步的,所述代理服务单元还包括:故障恢复模块;
[0024]所述故障恢复模块用于在所述故障注入程序执行完成后,清除所述故障注入程序,并将所述容器单元恢复到所述故障注入程序运行前的状态。
[0025]进一步的,所述代理服务单元还包括:突发事件处理模块;
[0026]所述突发事件处理模块用于根据所述调度单元发送的控制指令执行暂停、中止或重执行所述故障注入程序的操作;
[0027]所述突发事件处理模块还用于根据调度单元发送的控制指令执行一键还原所述容器单元的操作。
[0028]本专利技术实施例还提出了一种故障注入装置,包括:代理服务单元和容器单元;
[0029]所述容器单元:包括容器镜像挂载目录,所述容器镜像挂载目录用于接收所述代理服务单元发出的故障注入程序;
[0030]所述代理服务单元:包括故障场景配置模块、故障注入引擎模块和结果监控模块;
[0031]所述故障场景配置模块:用于根据预设的故障注入场景配置相应的故障注入程序;
[0032]所述故障注入引擎模块:用于接收故障注入指令,并根据所述故障注入指令从所述故障场景配置模块中获取相应的故障注入程序,将所述故障注入程序注入到所述容器单元的容器镜像挂载目录中;
[0033]所述结果监控模块:用于接收所述容器单元根据所述故障注入程序运行的结果信息,并根据所述运行结果信息对所述故障注入程序进行监控,将监控结果上报至所述调度单元。
[0034]本专利技术实施例还提出了一种上述故障注入系统进行故障注入的方法。
[0035]通过本专利技术实施例提供的故障注入系统,一方面通过在所述代理服务单元上设置故障场景配置模块,可以针对不同的故障场景进行不同的故障注入程序的配置,能够适应多种故障场景的需要,进行多种故障的注入;另一方面,通过在容器单元上设置容器镜像挂载目录,方便的实现了故障的注入,可以将所有注入程序、监控程序以及代理程序全部上传到容器对应的挂载目录中,方便的实现了故障的注入,解决了此前需要一一进入容器内部擦偶作的弊端,实现了各容器注入程序的共享。
[0036]上述说明仅是本专利技术实施例技术方案的概述,为了能够更清楚了解本专利技术实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
附图说明
[0037]附图仅用于示出实施方式,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0038]图1示出了本专利技术实施例提供的故障注入系统示意图;
[0039]图2示出了本专利技术实施例提供的故障注入系统交互图;
[0040]图3示出了本专利技术实施例提供的故障场景配置模块示意图;
[0041]图4示出了本专利技术实施例提供的进程内故障配置示意图;
[0042]图5示出了本专利技术实施例提供的故障注入系统内外进程交互图;
[0043]图6示出了本专利技术实施例提供的故障注入引擎模块示意图;
[0044]图7示出了本专利技术实施例提供的故障注入方法流程图;
[0045]图8示出了本专利技术实施例提供的故障注入装置结构图;
[0046]图9示出了本专利技术实施例提供的服务器设备结构图。
具体实施方式
[0047]下面将参照附图更详细地描述本专利技术的示例性实施例。虽然附图中显示了本专利技术的示例性实施例,然而应当理解,可以以各种形式实现本专利技术而不应被这里阐述的实施例所限制。
[0048]目本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种故障注入系统,其特征在于,包括:调度单元、代理服务单元和容器单元;所述调度单元:用于向代理服务单元发送故障注入指令;所述容器单元:包括容器镜像挂载目录,所述容器镜像挂载目录用于接收所述代理服务单元发出的故障注入程序;所述代理服务单元:包括故障场景配置模块、故障注入引擎模块和结果监控模块;所述故障场景配置模块:用于根据预设的故障注入场景配置相应的故障注入程序;所述故障注入引擎模块:用于接收所述调度单元发送的故障注入指令,并根据所述故障注入指令从所述故障场景配置模块中获取相应的故障注入程序,将所述故障注入程序注入到所述容器单元的容器镜像挂载目录中;所述结果监控模块:用于接收所述容器单元根据所述故障注入程序运行的结果信息,并根据所述运行结果信息对所述故障注入程序进行监控,将监控结果上报至所述调度单元。2.如权利要求1所述的故障注入系统,其特征在于,所述故障注入指令包括故障场景信息;所述故障注入引擎模块用于根据所述故障场景信息从所述故障场景配置模块中获取故障注入程序。3.如权利要求2所述的故障注入系统,其特征在于,所述故障场景配置模块包括:进程外场景配置模块和进程内场景配置模块;所述进程外场景配置模块用于通过操作系统命令对设置所述故障注入指令;所述进程内场景配置模块用于通过JDK接口和字节码设置所述故障注入指令。4.如权利要求3所述的故障注入系统,其特征在于,所述进程内场景配置模块还用于对所述容器内的运行函数按入口、函数体和出口进行划分;所述进程内场景配置模块分别对所述函数的入口、函数体和出口的响应值、处理速度和处理逻辑设置故障注入指令。5.如权利要求1所述的故障注入系统,其特征在于,所述故障注入引擎模块还包括环境检查模块;所述环境检查模块用于根据所述故障注入指令对所述容器单元的环境信息进行检查,如果符合所述环境信息符合所述故障...

【专利技术属性】
技术研发人员:王璇史军艇竺士杰余建利
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1