容器可用性验证方法、装置、计算机设备和存储介质与流程

文档序号:30928970发布日期:2022-07-30 00:10阅读:63来源:国知局
容器可用性验证方法、装置、计算机设备和存储介质与流程

1.本技术涉及金融科技领域或其他相关领域,特别是涉及一种容器可用性验证方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.目前,生产环境容器大多运行在虚机上,也有少部分运行在物理机上,由于容器运行的宿主机内存都存在一定概率的不可用情况。在内存条出现故障或者内存响应缓慢时,可能会造成运行在其上的容器性能下降甚至不可用,对业务交易造成影响。由于底层内存条故障,内存响应缓慢这些故障随机性非常强,因此,较难在测试环境复现内存的各类故障以验证容器的可用性。


技术实现要素:

3.基于此,有必要针对传统方法无法复现物理内存故障进行容器可用性验证的技术问题,提供一种容器可用性验证方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
4.第一方面,本技术提供了一种容器可用性验证方法。所述方法包括:
5.获取用于模拟内存故障的故障模拟信息;所述故障模拟信息包括故障内存条信息和故障类型;
6.根据所述故障内存条信息,从运行容器的宿主机所使用的内存条中确定出对应的目标内存条;
7.根据所述故障类型,调节所述目标内存条的延迟时间参数,得到所述容器在注入故障后的宿主机上的模拟运行信息;所述延迟时间参数表征内存条接收到指令后的响应速度;
8.基于所述模拟运行信息对所述容器的可用性进行验证。
9.在其中一个实施例中,所述根据所述故障内存条信息,从运行容器的宿主机所使用的内存条中确定出对应的目标内存条,包括:
10.获取运行所述容器的宿主机所使用的内存条的内存条信息;
11.将所述宿主机所使用的内存条中,内存条信息与所述故障内存条信息相匹配的内存条,确定为目标内存条。
12.在其中一个实施例中,所述根据所述故障类型,调节所述目标内存条的延迟时间参数,包括:
13.根据所述故障类型,确定对所述目标内存条的延迟时间参数进行调节的调节幅度;
14.按照所述调节幅度,调节所述目标内存条的延迟时间参数。
15.在其中一个实施例中,所述根据所述故障类型,确定对所述目标内存条的延迟时间参数进行调节的调节幅度,包括:
16.确定所述故障类型所表征的目标内存条的故障程度;
17.基于调节幅度与故障程度成正相关的调节关系,确定对所述目标内存条的延迟时间参数进行调节的调节幅度。
18.在其中一个实施例中,在根据所述故障类型,调节所述目标内存条的延迟时间参数,得到所述容器在注入故障后的宿主机上的模拟运行信息之后,还包括:
19.基于所述模拟运行信息,确定所述容器的故障结果;
20.在所述故障结果未达到预期结果的情况下,再次调节所述目标内存条的延迟时间参数,直至所述容器的故障结果达到所述预期结果。
21.在其中一个实施例中,在得到所述容器在注入故障后的宿主机上的模拟运行信息之后,还包括:
22.对所述模拟运行信息进行分析,得到所述容器的异常运行信息;
23.在确定所述异常运行信息与所述故障类型不匹配的情况下,发送提示信息至终端,所述提示信息用于提醒用户注入所述宿主机的故障与故障类型不匹配。
24.在其中一个实施例中,所述确定所述异常运行信息与所述故障类型不匹配,包括:
25.获取所述容器在所述故障模拟信息下的历史运行信息;
26.基于所述历史运行信息,确定所述容器在注入故障后的宿主机上的预测运行信息;
27.在所述预测运行信息与所述异常运行信息不匹配的情况下,确定所述异常运行信息与所述故障类型不匹配。
28.第二方面,本技术还提供了一种容器可用性验证装置。所述装置包括:
29.获取模块,用于获取用于模拟内存故障的故障模拟信息;所述故障模拟信息包括故障内存条信息和故障类型;
30.确定模块,用于根据所述故障内存条信息,从运行容器的宿主机所使用的内存条中确定出对应的目标内存条;
31.调节模块,用于根据所述故障类型,调节所述目标内存条的延迟时间参数,得到所述容器在注入故障后的宿主机上的模拟运行信息;所述延迟时间参数表征内存条接收到指令后的响应速度;
32.分析模块,用于基于所述模拟运行信息对所述容器的可用性进行验证。
33.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
34.获取用于模拟内存故障的故障模拟信息;所述故障模拟信息包括故障内存条信息和故障类型;
35.根据所述故障内存条信息,从运行容器的宿主机所使用的内存条中确定出对应的目标内存条;
36.根据所述故障类型,调节所述目标内存条的延迟时间参数,得到所述容器在注入故障后的宿主机上的模拟运行信息;所述延迟时间参数表征内存条接收到指令后的响应速度;
37.基于所述模拟运行信息对所述容器的可用性进行验证。
38.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,
其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
39.获取用于模拟内存故障的故障模拟信息;所述故障模拟信息包括故障内存条信息和故障类型;
40.根据所述故障内存条信息,从运行容器的宿主机所使用的内存条中确定出对应的目标内存条;
41.根据所述故障类型,调节所述目标内存条的延迟时间参数,得到所述容器在注入故障后的宿主机上的模拟运行信息;所述延迟时间参数表征内存条接收到指令后的响应速度;
42.基于所述模拟运行信息对所述容器的可用性进行验证。
43.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
44.获取用于模拟内存故障的故障模拟信息;所述故障模拟信息包括故障内存条信息和故障类型;
45.根据所述故障内存条信息,从运行容器的宿主机所使用的内存条中确定出对应的目标内存条;
46.根据所述故障类型,调节所述目标内存条的延迟时间参数,得到所述容器在注入故障后的宿主机上的模拟运行信息;所述延迟时间参数表征内存条接收到指令后的响应速度;
47.基于所述模拟运行信息对所述容器的可用性进行验证。
48.上述容器可用性验证方法、装置、计算机设备、存储介质和计算机程序产品,在获取用于模拟内存故障的故障模拟信息后,根据故障模拟信息中的故障内存条信息,从运行容器的宿主机所使用的内存条中确定出对应的目标内存条;然后根据故障模拟信息中的故障类型,调节目标内存条的延迟时间参数,得到容器在注入故障后的宿主机上的模拟运行信息,进一步基于模拟运行信息对容器的可用性进行验证。该方法通过调节容器运行的宿主机的内存的延迟时间参数以模拟内存故障,从而对容器的可用性进行验证,采用软件层面的故障注入,实现了对物理内存故障的模拟,克服了传统测试中,无法通过模拟物理内存故障以对容器进行可用性验证的缺陷。
附图说明
49.图1为一个实施例中容器可用性验证方法的应用环境图;
50.图2为一个实施例中基于模拟内存故障的容器可用性验证方法的流程示意图;
51.图3为一个实施例中基于模拟内存故障的容器可用性验证系统的结构示意图;
52.图4为一个实施例中内存故障预定义装置2的内部结构示意图;
53.图5为一个实施例中内存故障注入装置3的内部结构示意图;
54.图6为一个实施例中内存故障分析装置4的内部结构示意图;
55.图7为一个实施例中验证结果分析装置5的内部结构示意图;
56.图8为一个实施例中容器可用性验证装置的结构框图;
57.图9为一个实施例中计算机设备的内部结构图。
具体实施方式
58.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
59.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
60.目前业界生产环境容器大多运行在虚拟机上,也有少部分运行在物理机上,由于容器运行的宿主机内存都存在一定概率的不可用情况。在内存条出现故障或者内存响应缓慢时,可能会造成运行在其上的容器性能下降甚至不可用,对业务交易造成影响。由于底层内存条故障,内存响应缓慢这些故障随机性非常强,所以较难在测试环境复现内存的各类故障以验证容器的可用性。
61.基于此,本技术为了克服传统测试中无法复现物理内存故障的进行容器可用性验证的缺陷,提出一种基于模拟内存故障的容器可用性验证方法,通过对宿主机内存条的cas latency(cl值,表示内存存取数据所需的延迟时间,即内存接到cpu的指令后的反应速度)进行动态调整,来模拟内存故障和内存响应缓慢等内存故障情况。该方法可以通过统一的内存故障注入模式,模拟现实生产环境各类内存故障导致的效果。相对于使用其他方法模拟特定类型的内存故障,本方案更加的通用,且内存故障的注入和撤销效率更加高。当内存故障注入够,可观察运行在该宿主机之上的容器是否会出现运行故障,以及容器在内存故障之后的运行状态是否符合预期效果。
62.参考图1,为一示例性实施例示出的容器可用性验证方法的流程示意图,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
63.步骤s110,获取用于模拟内存故障的故障模拟信息;故障模拟信息包括故障内存条信息和故障类型。
64.其中,本技术中所验证的容器表示生产环境容器,容器运行在虚拟机或物理机上。
65.其中,故障内存条信息表示用于进行故障模拟的内存条的相关信息,具体可以为表征内存条唯一性的标识信息,例如,故障内存条信息可以为内存条的编号。
66.其中,故障类型可用于表征内存的故障程度。
67.其中,故障模拟信息除故障内存条信息和故障类型外,还可包括故障执行时间、是否到点自动恢复内存故障等。
68.具体实现中,在进行容器可用性验证前,需要先配置本次内存故障注入相关的故障模拟信息,具体地,当模拟内存随机故障,或者内存部分故障(并非完全不可用)时,可以从运行容器的宿主机所使用的物理内存条中随机选择其中一个或者几个内存条,作为故障内存条,确定故障内存条信息;当模拟内存整体不可用时,故障内存条将不是其中一个,而是运行容器的宿主机所使用的所有物理内存条都需要进行故障注入,具体配置对哪个内存条,注入什么类型的故障,可以根据需求进行确定。
69.本步骤中,故障模拟信息可以根据需求进行配置,模拟现实生产环境各类内存故
障导致的效果,相对于使用其他方法模拟特定类型的内存故障,具有更好的通用性。
70.步骤s120,根据故障内存条信息,从运行容器的宿主机所使用的内存条中确定出对应的目标内存条。
71.具体实现中,确定目标内存条前,需要先获取运行容器的宿主机所使用的内存条的内存条信息,然后将该宿主机使用的内存条的内存条信息与故障内存条信息进行比对,从该宿主机所使用的内存条中,确定出与故障内存条信息相匹配的内存条,作为进行故障模拟的目标内存条。
72.更具体地,如何确定对哪个内存条注入故障,可通过在容器中运行一个介质(即下文中的内存故障运行配置模块),该介质可以通过运行“dmidecode-t 17|less”命令获取运行当前容器的宿主机所使用的物理内存条信息,通过解析该宿主机使用的物理内存条信息,然后比对用户输入的故障内存条信息,最终确定要实施故障注入的目标内存条。
73.步骤s130,根据故障类型,调节目标内存条的延迟时间参数,得到容器在注入故障后的宿主机上的模拟运行信息;延迟时间参数表征内存条接收到指令后的响应速度。
74.其中,延迟时间参数,即cas latency(cl值),表示内存存取数据所需的延迟时间,即内存接到cpu的指令后的响应速度。
75.其中,延迟时间参数与故障程度成正相关关系,延迟时间越大,内存的响应速度越慢,则内存的故障程度越高,反之,延迟时间越小,内存的响应速度越快,表明内存运行良好,没有故障或轻微故障。
76.具体实现中,故障类型可以基于故障程度进行划分,例如,故障类型可以为按照故障程度从高到低划分为内存不可用、内存响应缓慢、内存读写速度不稳定等,进而在得到故障类型后,可按照故障类型对应的故障程度,调节目标内存条的延迟时间参数。更具体地,例如,在故障类型为内存不可用时,表明故障程度较高,可大幅度地增大目标内存条的延迟时间参数,在故障类型为内存读写速度不稳定时,表明内存可使用,但是不稳定,故障程度较弱,则可小幅度地增大目标内存条的延迟时间参数。进一步地,在完成对目标内存条的故障注入后,启动容器在注入故障后的宿主机上运行,观察运行在该宿主机之上的容器是否会出现运行故障,同时得到容器在注入故障后的宿主机上的模拟运行信息。
77.步骤s140,基于模拟运行信息对容器的可用性进行验证。
78.具体实现中,在得到容器在注入故障后的宿主机上的模拟运行信息后,可基于该模拟运行信息验证容器在内存故障之后的运行状态是否符合预期效果。
79.上述容器可用性验证方法中,在获取用于模拟内存故障的故障模拟信息后,根据故障模拟信息中的故障内存条信息,从运行容器的宿主机所使用的内存条中确定出对应的目标内存条;然后根据故障模拟信息中的故障类型,调节目标内存条的延迟时间参数,得到容器在注入故障后的宿主机上的模拟运行信息,进一步基于模拟运行信息对容器的可用性进行验证。该方法通过调节容器运行的宿主机的内存的延迟时间参数以模拟内存故障,从而对容器的可用性进行验证,采用软件层面的故障注入,实现了对物理内存故障的模拟,克服了传统测试中,无法通过模拟物理内存故障以对容器进行可用性验证的缺陷。
80.在一示例性实施例中,上述步骤s120中,根据故障内存条信息,从运行容器的宿主机所使用的内存条中确定出对应的目标内存条,具体可通过以下步骤实现:
81.步骤s1201,获取运行容器的宿主机所使用的内存条的内存条信息;
82.步骤s1202,将宿主机所使用的内存条中,内存条信息与故障内存条信息相匹配的内存条,确定为目标内存条。
83.具体实现中,以内存条信息为内存条的编号为例,获取运行当前容器的宿主机所使用的每个内存条的内存条编号,将故障内存条的编号与该宿主机使用的每个内存条编号进行比对,将宿主机所使用的内存条中,内存条编号与故障内存条的编号相同的内存条,确定为进行故障模拟的目标内存条。
84.本实施例中,通过故障内存条信息与运行容器的宿主机所使用的内存条的内存条信息进行匹配,从而确定出与故障内存条信息相匹配的目标内存条,以便于进一步对目标内存条进行故障注入,模拟容器在注入故障后的宿主机上的运行情况。
85.在一示例性实施例中,上述步骤s130中,根据故障类型,调节目标内存条的延迟时间参数,具体可通过以下步骤实现:
86.步骤s1301,根据故障类型,确定对目标内存条的延迟时间参数进行调节的调节幅度;
87.步骤s1302,按照调节幅度,调节目标内存条的延迟时间参数。
88.具体实现中,不同的故障类型对内存的影响不同,对应的内存的故障程度也不同,因此,在调节目标内存条的延迟时间参数前,需要先根据故障类型,确定对目标内存条的延迟时间参数进行调节的调节幅度,进一步按照该调节幅度,调节目标内存条的延迟时间参数,以保证调节后目标内存条的故障情况可与输入的故障类型相匹配。
89.进一步地,在一示例性实施例中,上述步骤s1301中,根据故障类型,确定对目标内存条的延迟时间参数进行调节的调节幅度,具体可通过以下步骤实现:
90.步骤s1301a,确定故障类型所表征的目标内存条的故障程度;
91.步骤s1301b,基于调节幅度与故障程度成正相关的调节关系,确定对目标内存条的延迟时间参数进行调节的调节幅度。
92.具体实现中,由于不同的故障类型会造成内存不同程度的故障,而延迟时间参数与故障程度成正相关关系,因此,可先根据故障类型,确定目标内存条的故障程度,进一步基于调节幅度与故障程度成正相关的调节关系,确定对目标内存条的延迟时间参数进行调节的调节幅度。
93.更具体地,若基于故障类型确定的故障程度越高,则对应的对延迟时间参数的调节幅度越大,延迟时间越长;若基于故障类型确定的故障程度越低,则对应的对延迟时间参数的调节幅度越小,延迟时间越短。
94.在一种实施方式中,可以预先设定多个故障程度区间,每个故障程度区间对应一个调节幅度,然后确定故障类型对应的目标故障程度区间,将目标故障程度区间对应的调节幅度,确定为该故障类型对应的调节幅度。
95.本实施例提供的调节目标内存条的延迟时间参数的方法,通过调节幅度与故障程度成正相关的调节关系,确定调节幅度以对目标内存条的延迟时间参数进行调节,操作简单,对操作人员的要求较低,具有较高的易用性、通用性和可靠性。
96.在一示例性实施例中,在上述步骤s130根据故障类型,调节目标内存条的延迟时间参数,得到容器在注入故障后的宿主机上的模拟运行信息之后,还包括:基于模拟运行信息,确定容器的故障结果;在故障结果未达到预期结果的情况下,再次调节目标内存条的延
迟时间参数,直至容器的故障结果达到预期结果。
97.具体实现中,在完成对内存的故障注入后,还可校验容器的运行结果是否达到预期的内存故障效果。具体地,可基于容器在注入故障后的宿主机上的模拟运行信息,确定容器的故障结果,将故障结果与预期结果进行比对,如果容器的故障结果未达到预期效果或者内存故障输入失败,则再次调节目标内存条的延迟时间参数,实施内存故障注入,直至容器的故障结果达到预期结果。
98.本实施例中,通过将容器的故障结果与预期结果进行比对,从而可验证导致预期结果的故障属于哪种故障类型,便于后续进行故障处理。
99.在一示例性实施例中,在上述步骤s130之后,还包括:
100.步骤s131,对模拟运行信息进行分析,得到容器的异常运行信息;
101.步骤s132,在确定异常运行信息与故障类型不匹配的情况下,发送提示信息至终端,提示信息用于提醒用户注入宿主机的故障与故障类型不匹配。
102.具体实现中,在完成对内存的故障注入后,还可通过容器在注入故障后的宿主机上的模拟运行信息,验证容器的运行情况与注入宿主机内存的故障类型是否匹配,从而及时发送提示信息给终端用户,使用户进行修正。具体地,可在得到容器在注入故障后的宿主机上的模拟运行信息后,对该模拟运行信息进行分析,从中识别出容器的异常运行信息,将异常运行信息与故障类型进行比对,确定容器的运行情况与注入宿主机内存的故障类型是否匹配。
103.进一步地,在一示例性实施例中,上述步骤s132中,确定异常运行信息与故障类型不匹配的步骤包括:
104.步骤s132a,获取容器在故障模拟信息下的历史运行信息;
105.步骤s132b,基于历史运行信息,确定容器在注入故障后的宿主机上的预测运行信息;
106.步骤s132c,在预测运行信息与异常运行信息不匹配的情况下,确定异常运行信息与故障类型不匹配。
107.具体实现中,根据容器运行时输入的故障模拟信息,结合容器的历史运行信息,分析在内存故障注入后容器可能的运行情况,得到预测运行信息,在内存故障注入后,根据容器实际的运行心跳信息和异常运行信息进行结果分析,判断是否符合预期结论,若不符合,则确定异常运行信息与故障类型不匹配。
108.本实施例中,通过对容器的运行结果的预期验证和实际验证,可以为后续容器的可用性分析提供参考,便于后续进行故障定位。
109.在一个实施例中,为了便于本领域技术人员理解本技术实施例,以下将结合附图的具体示例进行说明。
110.参考图2,为一一示例性实施例示出的基于模拟内存故障的容器可用性验证方法的流程示意图,包括以下步骤:
111.(1)通过容器启动装置启动测试容器。
112.(2)通过容器运行监测装置监测容器的运行情况。
113.(3)判断容器的运行是否正常。
114.(3a)若否,则通过容器启动装置重新启动测试容器。
115.(3b)若是,则通过内存故障注入装置向运行该容器的宿主机内存注入故障,再次监测容器的运行情况。
116.(4)再次判断容器的运行是否正常。
117.(4a)若容器在注入故障后的宿主机上运行正常,则通过验证结果分析装置对容器运行产生影响进行结果分析。
118.(4b)若容器在注入故障后的宿主机上运行异常,则通过异常收集装置收集容器的异常运行信息后,再通过验证结果分析装置对容器运行产生影响进行结果分析。
119.参考图3,为一示例性实施例示出的基于模拟内存故障的容器可用性验证系统的结构示意图,包括容器启动装置1、内存故障预定义装置2、内存故障注入装置3、内存故障分析装置4和验证结果分析装置5,其中:
120.容器启动装置1:用于启动测试容器。
121.内存故障预定义装置2:用于预定义需要进行输入的内存故障相关要素,包括对哪块内存,注入什么类型的故障。具体如何确定对哪个内存注入故障,是通过在容器中运行一个介质(即下文中的内存故障运行配置模块),该介质可以通过运行“dmidecode-t 17|less”命令获取当前容器所使用的物理内存条信息,通过解析该容器使用的物理内存条信息,然后比对用户输入的内存条信息,最终确定要实施故障注入的内存条。
122.内存故障注入装置3:用于向容器运行的宿主机内存注入内存故障。
123.内存故障分析装置4:当内存故障注入成功后,对内存故障导致的异常信息进行收集和分析。
124.验证结果分析装置5:内存异常注入后,对容器运行产生影响进行结果分析。
125.参考图4,为一示例性实施例示出的内存故障预定义装置2的内部结构示意图,如图4所示,所述内存故障预定义装置2包括内存故障类型定义单元21、内存故障运行配置单元22,其中,
126.内存故障类型定义单元21:用于定义本次内存故障输入的类型,比如注入内存不可用、内存响应缓慢、内存读写速度不稳定等类型。
127.内存故障运行配置单元22:配置本次内存故障注入相关运行信息,如执行故障注入的内存条信息,执行时间,是否到点自动恢复内存故障等。
128.参考图5,为一示例性实施例示出的内存故障注入装置3的内部结构示意图,如图5所示,所述内存故障注入装置3包括内存信息识别单元31、内存故障注入单元32、内存故障验证单元33,其中:
129.内存信息识别单元31:用于根据容器所运行的宿主机内存硬件信息,识别要注入的内存故障的内存条。
130.内存故障注入单元32:当确认要对哪块内存条注入故障后,内存故障注入单元会对相应的内存注入故障,如加大该内存的cl值(cl值增大会降低内存接收到cpu指令后的反应速度,当cl值设置很大时,可模拟内存条损坏不可用)。
131.内存故障验证单元33:完成对内存故障注入后,内存故障验证单元33会校验是否达到预期的内存故障效果。如果未达到预期效果或者内存故障输入失败,则会再次调用内存故障注入单元32实施内存故障注入,直至达到预期效果。
132.参考图6,为一示例性实施例示出的内存故障分析装置4的内部结构示意图,如图6
所示,所述内存故障分析装置4包括异常内存故障捕获单元41、内存故障解析单元42。其中:
133.内存故障捕获单元41:负责捕获由于注入了内存故障,容器在运行时抛出的异常信息,并将异常信息传递给内存故障解析单元42。
134.内存故障解析单元42:负责接收内存故障捕获单元41捕获的异常信息,并根据内存故障预定义装置2预定义的内存故障类型,对异常信息进行分析。如果异常信息与故障类型不匹配,则将结果返回给用户,并提升注入的内存故障可能与目标故障类型并未完全匹配。
135.参考图7,为一示例性实施例示出的验证结果分析装置5的内部结构示意图,如图7所示,所述验证结果分析装置5包括预期验证结果分析单元51、实际验证结果分析单元52,其中:
136.预期验证结果分析单元51:根据容器运行时输入的内存故障信息,结合历史容器运行信息,分析在内存故障注入后容器可能的运行情况。
137.实际验证结果分析单元52:容器运行过程中在内存故障注入后,根据容器实际的运行心跳信息和异常信息进行结果分析,判断是否符合预期结论。
138.本技术提供的基于模拟内存故障的容器可用性验证方法,具有以下有益效果:
139.1.填补了传统测试中,无法通过模拟物理内存故障以对容器进行可用性验证的不足。
140.2.申请模拟内存故障采用的是软件层面的故障注入,不会对内存物理硬件本身产生任何损坏。
141.3.本技术在故障模拟过程中灵活性较高,可以随时注入故障,也可以随时撤销故障,有利于验证容器在不同场景中的运行状态。
142.4.本技术通过统一的模式对内存注入故障,内存故障注入和回收方便高效,相对于其他各类内存故障的模拟方式,本技术更加简单高效,且可以模拟实际生产环境中各类不同的内存故障。
143.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
144.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的容器可用性验证方法的容器可用性验证装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个容器可用性验证装置实施例中的具体限定可以参见上文中对于容器可用性验证方法的限定,在此不再赘述。
145.在一个实施例中,如图8所示,提供了一种容器可用性验证装置,包括:获取模块810、确定模块820、调节模块830和分析模块840,其中:
146.获取模块810,用于获取用于模拟内存故障的故障模拟信息;故障模拟信息包括故障内存条信息和故障类型;
147.确定模块820,用于根据故障内存条信息,从运行容器的宿主机所使用的内存条中确定出对应的目标内存条;
148.调节模块830,用于根据故障类型,调节目标内存条的延迟时间参数,得到容器在注入故障后的宿主机上的模拟运行信息;延迟时间参数表征内存条接收到指令后的响应速度;
149.分析模块840,用于基于模拟运行信息对容器的可用性进行验证。
150.在一个实施例中,上述确定模块820,具体用于获取运行容器的宿主机所使用的内存条的内存条信息;将宿主机所使用的内存条中,内存条信息与故障内存条信息相匹配的内存条,确定为目标内存条。
151.在一个实施例中,上述调节模块830,具体用于根据故障类型,确定对目标内存条的延迟时间参数进行调节的调节幅度;按照调节幅度,调节目标内存条的延迟时间参数。
152.在一个实施例中,上述调节模块830,还用于确定故障类型所表征的目标内存条的故障程度;基于调节幅度与故障程度成正相关的调节关系,确定对目标内存条的延迟时间参数进行调节的调节幅度。
153.在一个实施例中,上述装置还包括结果对比模块,用于基于模拟运行信息,确定容器的故障结果;在故障结果未达到预期结果的情况下,再次调节目标内存条的延迟时间参数,直至容器的故障结果达到预期结果。
154.在一个实施例中,上述装置还包括:
155.异常分析模块,用于对模拟运行信息进行分析,得到容器的异常运行信息;
156.信息发送模块,用于在确定异常运行信息与故障类型不匹配的情况下,发送提示信息至终端,提示信息用于提醒用户注入宿主机的故障与故障类型不匹配。
157.在一个实施例中,上述装置还包括匹配模块,用于获取容器在故障模拟信息下的历史运行信息;基于历史运行信息,确定容器在注入故障后的宿主机上的预测运行信息;在预测运行信息与异常运行信息不匹配的情况下,确定异常运行信息与故障类型不匹配。
158.上述容器可用性验证装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
159.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种容器可用性验证方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
160.本领域技术人员可以理解,图9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备
可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
161.在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
162.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
163.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
164.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
165.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
166.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1