故障模拟方法和装置制造方法及图纸

技术编号:28672910 阅读:11 留言:0更新日期:2021-06-02 02:48
本申请实施例公开了故障模拟方法和装置。该方法涉及云计算领域,该方法的一具体实施方式包括:采集可用区的可用区信息,其中,该可用区信息包括与该可用区的组件相关联的依赖关系信息和/或该可用区运行的进程间调用信息;对于各个该可用区信息,确定该可用区在运行过程中将产生的、与该可用区信息关联的故障的脚本集合;在该可用区,执行该脚本集合中的脚本,以注入该故障。本申请实施例确定出了与依赖关系信息和进程间调用信息相关联的故障的脚本集合,从而可以在故障模拟中,更加准确地模拟出实际的故障场景,提高了故障模拟的准确度。

【技术实现步骤摘要】
故障模拟方法和装置
本申请实施例涉及计算机
,具体涉及互联网
,尤其涉及故障模拟方法和装置。
技术介绍
云服务的基础环境是建立在数据中心上的。通过网络的互联互通,以及自身资源和功能服务单元等之间的协同,可以实现向服务器提供云服务。可用区可以包括至少一个数据中心(比如云计算数据中心),因此可用区具备比单个数据中心更强的可用性、容错能力以及可扩展性。为了保证可用区内云服务的用户体验,在云服务运行使用之前会对测试环境进行故障模拟测试,从而确保云服务的基础功能可用。通常,可以逐个模块地对可用区进行故障模拟。
技术实现思路
本申请实施例提出了故障模拟方法和装置。第一方面,本申请实施例提供了一种故障模拟方法,包括:采集可用区的可用区信息,其中,可用区信息包括与可用区的组件相关联的依赖关系信息和/或可用区运行的进程间调用信息;对于各个可用区信息,确定可用区在运行过程中将产生的、与该可用区信息关联的故障的脚本集合;在可用区,执行脚本集合中的脚本,以注入故障。在一些实施例中,依赖关系信息包括以下的至少一项:可用区内组件之间的依赖关系,可用区内服务对组件的依赖关系,可用区与其他可用区之间的组件之间的依赖关系,可用区与其他可用区之间的服务对组件的依赖关系;进程间调用信息包括可用区内和/或可用区与其他可用区之间的进程间调用信息。在一些实施例中,在可用区,执行脚本集合中的脚本,以注入故障之后,方法还包括:判断故障的影响信息与预设影响信息是否相同,其中,影响信息包括指示故障影响程度的信息和/或指示故障影响范围的信息;响应于判断故障的影响信息与预设影响信息不同,执行故障的预设恢复脚本集合中的脚本,以使可用区恢复到未注入脚本集合中脚本的状态。在一些实施例中,故障的脚本集合包括基于故障影响程度确定的至少两个脚本子集,不同的脚本子集的执行的优先级不同;脚本集合中任意两个脚本子集中,执行优先级较高的脚本子集中的脚本所产生的故障影响程度,小于执行优先级较低的脚本子集中的脚本所产生的故障影响程度;以及在可用区,执行脚本集合,以注入故障,包括:基于各个脚本子集的优先级,在可用区,执行各个脚本子集中的脚本。在一些实施例中,基于各个脚本子集的优先级,在可用区,执行各个脚本子集中的脚本,包括:对最后已执行的脚本子集对应的预设恢复脚本集合中的脚本进行执行,以使可用区恢复到未执行最后已执行的脚本子集中脚本的状态;以及在可用区,执行脚本集合的未执行的脚本子集中的优先级最高的脚本子集中的脚本。第二方面,本申请实施例提供了一种故障模拟装置,包括:采集单元,被配置成采集可用区的可用区信息,其中,可用区信息包括与可用区的组件相关联的依赖关系信息和/或可用区运行的进程间调用信息;确定单元,被配置成对于各个可用区信息,确定可用区在运行过程中将产生的、与该可用区信息关联的故障的脚本集合;注入单元,被配置成在可用区,执行脚本集合中的脚本,以注入故障。在一些实施例中,依赖关系信息包括以下的至少一项:可用区内组件之间的依赖关系,可用区内服务对组件的依赖关系,可用区与其他可用区之间的组件之间的依赖关系,可用区与其他可用区之间的服务对组件的依赖关系;进程间调用信息包括可用区内和/或可用区与其他可用区之间的进程间调用信息。在一些实施例中,装置还包括:判断单元,被配置成在可用区,执行脚本集合中的脚本,以注入所述故障之后,判断故障的影响信息与预设影响信息是否相同,其中,影响信息包括指示故障影响程度的信息和/或指示故障影响范围的信息;执行单元,被配置成响应于判断故障的影响信息与预设影响信息不同,执行故障的预设恢复脚本集合中的脚本,以使可用区恢复到未注入脚本集合中脚本的状态。在一些实施例中,故障的脚本集合包括基于故障影响程度确定的至少两个脚本子集,不同的脚本子集的执行的优先级不同;脚本集合中任意两个脚本子集中,执行优先级较高的脚本子集中的脚本所产生的故障影响程度,小于执行优先级较低的脚本子集中的脚本所产生的故障影响程度;以及注入单元,进一步被配置成按照如下方式执行在可用区,执行脚本集合,以注入故障:基于各个脚本子集的优先级,在可用区,执行各个脚本子集中的脚本。在一些实施例中,注入单元,进一步被配置成按照如下方式执行基于各个脚本子集的优先级,在可用区,执行各个脚本子集中的脚本:对最后已执行的脚本子集对应的预设恢复脚本集合中的脚本进行执行,以使可用区恢复到未执行最后已执行的脚本子集中脚本的状态;以及在可用区,执行脚本集合的未执行的脚本子集中的优先级最高的脚本子集中的脚本。第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如故障模拟方法中任一实施例的方法。第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如故障模拟方法中任一实施例的方法。本申请实施例提供的故障模拟方案,首先,采集可用区的可用区信息,其中,可用区信息包括与可用区的组件相关联的依赖关系信息和/或可用区运行的进程间调用信息。之后,对于各个可用区信息,确定可用区在运行过程中将产生的、与该可用区信息关联的故障的脚本集合。最后,在可用区,执行脚本集合中的脚本,以注入故障。本申请实施例能够取代现有技术中在模拟环境中的故障模拟,在实现服务的可用区内直接进行故障模拟,从而可以提高故障模拟的准确度。并且,本申请确定出了与依赖关系信息和进程间调用信息相关联的故障的脚本集合,从而可以在故障模拟中,更加准确地模拟出实际的故障场景,进一步地提高了故障模拟的准确度。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是本申请一些实施例可以应用于其中的示例性系统架构图;图2是根据本申请的故障模拟方法的一个实施例的流程图;图3是根据本申请的故障模拟方法的一个应用场景的示意图;图4是根据本申请的故障模拟方法的又一个实施例的流程图;图5是根据本申请的故障模拟装置的一个实施例的结构示意图;图6是适于用来实现本申请一些实施例的电子设备的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1示出了可以应用本申请的故障模拟方法或故障模拟装置的实施例的示例性系统架构100。如图1所示,可用区的系统架构100可以包括服务器101、102、103和网络104。也即,服务器101、102、103可以通过网络104组成集群。网络104用以在服务器101、本文档来自技高网...

【技术保护点】
1.一种故障模拟方法,所述方法包括:/n采集可用区的可用区信息,其中,所述可用区信息包括与所述可用区的组件相关联的依赖关系信息和/或所述可用区运行的进程间调用信息;/n对于各个所述可用区信息,确定所述可用区在运行过程中将产生的、与该可用区信息关联的故障的脚本集合;/n在所述可用区,执行所述脚本集合中的脚本,以注入所述故障。/n

【技术特征摘要】
1.一种故障模拟方法,所述方法包括:
采集可用区的可用区信息,其中,所述可用区信息包括与所述可用区的组件相关联的依赖关系信息和/或所述可用区运行的进程间调用信息;
对于各个所述可用区信息,确定所述可用区在运行过程中将产生的、与该可用区信息关联的故障的脚本集合;
在所述可用区,执行所述脚本集合中的脚本,以注入所述故障。


2.根据权利要求1所述的方法,其中,所述依赖关系信息包括以下的至少一项:所述可用区内组件之间的依赖关系,所述可用区内服务对组件的依赖关系,所述可用区与其他可用区之间的组件之间的依赖关系,所述可用区与其他可用区之间的服务对组件的依赖关系;
所述进程间调用信息包括所述可用区内和/或所述可用区与其他可用区之间的进程间调用信息。


3.根据权利要求1所述的方法,其中,所述在所述可用区,执行所述脚本集合中的脚本,以注入所述故障之后,所述方法还包括:
判断所述故障的影响信息与预设影响信息是否相同,其中,影响信息包括指示故障影响程度的信息和/或指示故障影响范围的信息;
响应于判断所述故障的影响信息与预设影响信息不同,执行所述故障的预设恢复脚本集合中的脚本,以使所述可用区恢复到未注入所述脚本集合中脚本的状态。


4.根据权利要求1所述的方法,其中,所述故障的脚本集合包括基于故障影响程度确定的至少两个脚本子集,不同的脚本子集的执行的优先级不同;所述脚本集合中任意两个脚本子集中,执行优先级较高的脚本子集中的脚本所产生的故障影响程度,小于执行优先级较低的脚本子集中的脚本所产生的故障影响程度;以及
所述在所述可用区,执行所述脚本集合,以注入所述故障,包括:
基于各个所述脚本子集的优先级,在所述可用区,执行各个所述脚本子集中的脚本。


5.根据权利要求4所述的方法,其中,所述基于各个所述脚本子集的优先级,在所述可用区,执行各个所述脚本子集中的脚本,包括:
对最后已执行的脚本子集对应的预设恢复脚本集合中的脚本进行执行,以使所述可用区恢复到未执行所述最后已执行的脚本子集中脚本的状态;以及
在所述可用区,执行所述脚本集合的未执行的脚本子集中的优先级最高的脚本子集中的脚本。


6.一种故障模拟装置,所述装置包括:
采集单元,被配置成采集可用区的可用区信息,其中,所述可用区信息包括与所述可用区的组件相关联的依赖关系信息和/或所述可用区运行的进程间调用信息;
确定单元,被配置成对于各个所述可用区信息,确定所述可用区在运...

【专利技术属性】
技术研发人员:冷冰炘
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1