CN112464497B - 基于分布式系统的故障演练方法、装置、设备及介质 - Google Patents

基于分布式系统的故障演练方法、装置、设备及介质 Download PDF

Info

Publication number
CN112464497B
CN112464497B CN202011490571.XA CN202011490571A CN112464497B CN 112464497 B CN112464497 B CN 112464497B CN 202011490571 A CN202011490571 A CN 202011490571A CN 112464497 B CN112464497 B CN 112464497B
Authority
CN
China
Prior art keywords
fault
fault drilling
drilling
execution
level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011490571.XA
Other languages
English (en)
Other versions
CN112464497A (zh
Inventor
崔进
章多亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Yunmanman Information Technology Co.,Ltd.
Original Assignee
Jiangsu Manyun Logistics Information Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangsu Manyun Logistics Information Co ltd filed Critical Jiangsu Manyun Logistics Information Co ltd
Priority to CN202011490571.XA priority Critical patent/CN112464497B/zh
Publication of CN112464497A publication Critical patent/CN112464497A/zh
Application granted granted Critical
Publication of CN112464497B publication Critical patent/CN112464497B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Abstract

本发明实施例公开了一种基于分布式系统的故障演练方法、装置、设备及介质。所述方法包括:配置不同故障演练层下的故障演练执行逻辑,其中故障演练层级的取值包括业务层、服务层、容器层或者物理层;这样就能在各自故障演练层级下按照各自故障演练层级的故障演练执行逻辑模拟执行至少一个故障生效操作产生故障,实现不同故障演练层级间的故障演练操作隔离执行。采用本申请方案,可以对业务层、服务层、容器层以及物理层等故障演练层级的故障演练执行逻辑进行独立配置,实现层与层之间的隔离,明确了在分布式系统中的故障植入位置,合理、清晰的评估出故障所影响的范围,即能够合理控制了爆炸半径,保证混沌工程故障演练的有效性与准确性。

Description

基于分布式系统的故障演练方法、装置、设备及介质
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种基于分布式系统的故障演练方法、装置、设备及介质。
背景技术
随着微服务和分布式架构服务的普及,在保证了高性能、高可用、可扩展的同时也增加了系统复杂度,提高了出现问题的概率。混沌工程应运而生,通过“有意识地搞破坏”来提升系统的弹性。混沌工程在分布式系统上进行受控实验,通过对基础设施的扰动,观察系统行为并发现系统弱点,提供系统的容错性和可恢复性,建立系统抵御生产环境中不可预知问题的能力。但是,目前混沌演练的最佳实践较少,对爆炸半径的控制往往依据经验去评估,更多的是依据“本土环境”特定场景,导致无法进行准确地故障演练。
发明内容
本发明实施例中提供了一种基于分布式系统的故障演练方法、装置、设备及介质,以实现通过对爆炸半径进行准确控制来执行故障演练。
第一方面,本发明实施例中提供了一种基于分布式系统的故障演练方法,所述方法包括:
配置不同故障演练层级下的故障演练执行逻辑;其中所述故障演练层级的取值包括业务层、服务层、容器层或者物理层;
按照故障演练执行逻辑,在对应故障演练层级下模拟执行至少一个故障生效操作产生故障,以隔离执行不同故障演练层级间的故障演练操作。
第二方面,本发明实施例中还提供了一种基于分布式系统的故障演练装置,所述装置包括:
故障演练配置模块,用于配置不同故障演练层级下的故障演练执行逻辑;其中所述故障演练层级的取值包括业务层、服务层、容器层或者物理层;
故障演练执行模块,用于按照故障演练执行逻辑,在对应故障演练层级下模拟执行至少一个故障生效操作产生故障,以隔离执行不同故障演练层级间的故障演练操作。
第三方面,本发明实施例中还提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例中提供的基于分布式系统的故障演练方法。
第四方面,本发明实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例中提供的基于分布式系统的故障演练方法。
本发明实施例中提供了一种基于分布式系统的故障演练方法,在对分布式系统进行故障演练时,可分别配置不同故障演练层下的故障演练执行逻辑,其中故障演练层级的取值包括业务层、服务层、容器层或者物理层;这样就能在各自故障演练层级下按照各自故障演练层级的故障演练执行逻辑模拟执行至少一个故障生效操作产生故障,实现不同故障演练层级间的故障演练操作隔离执行。采用本申请方案,可以对业务层、服务层、容器层以及物理层等故障演练层级的故障演练执行逻辑进行独立配置,实现层与层之间的隔离,明确了在分布式系统中的故障植入位置,合理、清晰的评估出故障所影响的范围,即能够合理控制了爆炸半径,保证混沌工程故障演练的有效性与准确性。
上述发明内容仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例中提供的一种基于分布式系统的故障演练方法的流程图;
图2是本发明实施例中提供的一种故障演练的分层演练示意图;
图3是本发明实施例中提供的另一种基于分布式系统的故障演练方法的流程图;
图4是本发明实施例中提供的一种故障演练计划创建页面的示意图;
图5是本发明实施例中提供的一种故障演练计划的演练执行示意图;
图6是本发明实施例中提供的一种基于分布式系统的故障演练装置的结构框图;
图7是本发明实施例中提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1是本发明实施例中提供的一种基于分布式系统的故障演练方法的流程图,该方法可适用于在混沌工程中进行故障演练的情况,尤其是对故障演练过程中对爆炸半径进行合理控制的情形。该方法可由基于分布式系统的故障演练装置来执行,该装置可由软件和/或硬件实现,并集成在任何具有网络通信功能的电子设备上。如图1所示,本申请实施例中提供的基于分布式系统的故障演练方法,可包括以下步骤:
S110、配置不同故障演练层级下的故障演练执行逻辑;其中故障演练层级的取值包括业务层、服务层、容器层或者物理层。
在本实施例中,在对分布式系统实施混沌工程时,通常遵守如下原则:建立一个围绕稳定状态行为的假说、多样化真实世界的事件、在生产环境中运行实验、持续自动化实验以及最小化爆炸半径。而,相关实践中通常需要依据经验去评估并控制爆炸半径的,这就容易造成不是爆炸半径太小达不到故障演练的效果,或是爆炸半径过大导致故障演练不必要的资损。由此可见,在实施混沌工程对分布式系统进行故障演练时,对爆炸半径的控制起到非常重要的作用。
在本实施例中,图2是本发明实施例中提供的一种故障演练的分层演练示意图。参见图2,为了在实施混沌工程时更好地控制爆炸半径,分层的故障演练模型应运而生,分层的故障演练模型可将基于分布式系统的故障演练抽象划分业务层、服务层、容器层以及物理层。其中,混沌工程中爆炸半径的大小自下而上缩减,自上而下逐渐增大。这样,就可以针对不同故障演练层级,分别配置不同故障演练层级下所需要的故障演练执行逻辑。
在本实施例中,参见图2,物理层可用于实现对物理资源的故障演练,例如物理层的故障演练对象包括:IO端口、带宽、磁盘、CPU以及内存等物理资源。容器层可用于实现物理资源对应的虚拟资源的故障演练,例如容器层的故障演练对象可包括:k8s、docker等类比物理层中物理资源的虚拟资源。服务所在的层级,包含通常所说的服务、应用、app等。同样,对于业务层的故障演练对象,可以针对服务的调用链路进行细分,通过从网关入口的打上业务标识,以对业务层的各个业务节点进行故障演练。
S120、按照故障演练执行逻辑,在对应故障演练层级下模拟执行至少一个故障生效操作产生故障,以隔离执行不同故障演练层级间的故障演练操作。
在本实施例中,在传统的故障演练方案中,通常是提前预设一个个的功能点部署在各个应用中,符合功能点才会产生故障效果,这就造成了实际上的故障孤岛,无法很好体现上下游连锁反应,无法准确控制爆炸半径。基于上述情况,本申请方案会控制各个故障演练层级按照各自层级对应的故障演练执行逻辑模拟执行故障生效操作产生故障,实现不同故障演练层级间的故障演练操作是隔离执行,互不干扰。通过分层的故障演练模型实现了层与层之间故障演练的隔离,明确了故障织入的位置,合理、清晰的评估出故障所影响的范围。
根据本发明实施例中提供的基于分布式系统的故障演练方法,可以对业务层、服务层、容器层以及物理层等故障演练层级的故障演练执行逻辑进行独立配置,实现层与层之间的隔离,明确了在分布式系统中的故障植入位置,合理、清晰的评估出故障所影响的范围,即能够合理控制了爆炸半径,保证混沌工程故障演练的有效性与准确性。
图3是本发明实施例中提供的另一种基于分布式系统的故障演练方法的流程图,本发明实施例在上述实施例的基础上对前述实施例进行进一步优化,本实施例可以与上述一个或者多个实施例中各个可选方案结合。如图3所示,本实施例中提供的基于分布式系统的故障演练方法,可包括以下步骤:
S310、针对不同的故障演练层级,创建一故障演练层级下的故障演练计划;其中故障演练层级的取值包括业务层、服务层、容器层或者物理层。
在本实施例中,参见图2,在故障演练时,分层的故障演练模型可将基于分布式系统的故障演练抽象划分业务层、服务层、容器层以及物理层,为了实现不同故障演练层级之间隔层进行故障演练,可以针对每一个故障演练层级设置其层级对应的故障演练计划,实现每一个故障演练层级配置有其匹配的至少一个故障演练计划。
在本实施例的一种可选方案中,可以与上述一个或者多个实施例中各个可选方案结合。其中,创建一故障演练层级下的故障演练计划,可包括步骤A1-A2:
步骤A1、显示用于配置故障演练层级和故障演练项目的故障演练计划创建页面。
步骤A2、依据用户在故障演练计划创建页面触发的故障演练层级取值和对应层级下的故障演练项目取值,构建一故障演练层级下的至少一个故障演练执行逻辑。
在本实施例中,图4是本发明实施例中提供的一种故障演练计划创建页面的示意图。参见图4,在用户触发故障演练计划创建页面时,可显示包括故障演练层级和故障演练项目的故障演练计划创建页面。用户可以在故障演练计划创建页面的故障演练层级字段和故障演练项目字段选择合适的故障演练层级取值和对应层级下的故障演练项目取值,例如用户可以在故障演练层级字段选择业务层作为取值以及在对应层级下的故障演练项目选择货源中心故障演练作为取值。进而,可依据在故障演练计划创建页面触发的故障演练层级取值和对应层级下的故障演练项目取值,构建一故障演练层级下的至少一个故障演练执行逻辑,以实现配置不同故障演练层级下对应的故障演练执行逻辑。
S320、基于已创建故障演练计划所需的故障演练执行节点,构建在该故障演练层级下的故障演练执行逻辑,以对不同的故障演练层级进行配置。
在本实施例中,参见图2,分层的故障演练模型可将基于分布式系统的故障演练抽象划分业务层、服务层、容器层以及物理层,在不同层均可包括一个或者多个节点作为在各个故障演练层级下的故障演练执行节点。例如,在业务层有一个或多个业务节点作为业务层下的故障演练执行节点;在服务层有一个或多个服务节点作为服务层下的故障演练执行节点;在容器层有一个或多个容器节点作为容器层下的故障演练执行节点;在物理层有一个或多个物理节点作为物理层下的故障演练执行节点。在确定每一层级下已创建故障演练计划所需的故障演练执行节点,就可以根据这些故障演练执行节点来创建配置在对应故障演练层级下的故障演练执行逻辑。
在本实施例的一种可选方案中,可以与上述一个或者多个实施例中各个可选方案结合。其中,基于已创建故障演练计划所需的故障演练执行节点,构建在该故障演练层级下的故障演练执行逻辑,可包括步骤B1-B2:
步骤B1、若已创建故障演练计划所属故障演练层级的取值为业务层,则向故障演练计划配置绑定业务拓扑;其中业务拓扑指示业务层下至少两个故障演练执行节点以及故障演练执行节点之间的链接关系。
步骤B2、依据配置绑定业务拓扑中各个故障演练执行节点的链接关系,构建在该故障演练层级下的故障演练执行逻辑,并绑定该故障执行逻辑在执行故障演练过程中所使用的故障插件。
在本实施例中,针对服务层的调用链路上的细分,通过从网关入口的打上业务标识,在调用链路中由头到尾进行透传,不断积累最终描绘出完成在业务层的业务拓扑。通过业务拓扑就可以做到准确的故障点植入,只会影响包含该业务标识的请求,是最细粒度的爆炸半径控制。其中,业务层的业务拓扑可以是预先设置并进行存储,也可以是在构建业务层的故障演练执行逻辑时根据实际的业务需求实时配置。
在本实施例中,一旦需要创建故障演练层级的取值为业务层下的故障演练计划,就可获取已创建故障演练计划下的业务拓扑并进行配置绑定。业务的本质是由一群“应用”提供“不同服务”所支撑的,一个业务场景就是在把一个个应用的“服务点”,连城了一条“业务线”,进而固化为我们的“业务拓扑”。有了一张张业务拓扑,就方便在这些“业务拓扑”上做故障演练,准确的控制爆炸半径。因此,业务拓扑指示业务层下至少两个故障演练执行节点以及故障演练执行节点之间的链接关系,此时故障演练执行节点属于业务层的业务节点。
在本实施例中,可按照配置绑定业务拓扑中各个故障演练执行节点的链接关系,依次将各个故障演练执行节点拖拽到对应的绘制页面,经过多次拖拽操作,可以获取拖拽到绘制页面中的至少两个故障演练执行节点。同时,在获取拖拽到绘制页面的故障演练执行节点时,还会确定各个故障演练执行节点之间所使用的逻辑,只要将各个故障演练执行节点进行有逻辑的连接,即可创建一个可视化的节点连接图形式的该故障演练层级下的故障演练执行逻辑。
在本实施例中,在构建一故障演练层级下的故障演练执行逻辑后,可绑定该故障执行逻辑在执行故障演练过程中所使用的故障插件。其中,故障插件可以是随着服务脚本的执行,通过字节码技术在agent启动时拉取并加载的方式,植入预先定义的各种层级下用于生成故障的插件。例如物理层插件可包括如下类型:cpu、disk、mem、network等类型;容器层插件可包括如下类型:cpu、disk、mem、network、process、io等类型;服务层插件可包括如下类型:pigeon、mysql、redis、elasticsearch等类型;业务层插件可包括如下类型:pigeon、mysql、redis、elasticsearch。
采用上述方案,正因为采用业务拓扑方式,就不需要“用户标识”,可以是全部的真实线上流量。“用户标识”只是是一个点而本申请的“业务拓扑”就是面,以点盖面,相比而言本申请方案涵盖了比较广的场景。
在本实施例的另一种可选方案中,可以与上述一个或者多个实施例中各个可选方案结合。其中,基于已创建故障演练计划所需的故障演练执行节点,构建在该故障演练层级下的故障演练执行逻辑,可包括步骤C1-C2:
步骤C1、若已创建故障演练计划所属故障演练层级的取值为服务层、容器层或者物理层,则向故障演练计划配置绑定服务层、容器层或者物理层下的至少一个故障演练执行节点。
步骤C2、依据配置绑定的各个故障演练执行节点,构建在服务层、容器层或者物理层下的故障演练执行逻辑,并绑定故障执行逻辑中所使用的故障插件。
在本实施例中,在物理层和容器层更多的是单节点故障,两者均是基础资源上的控制,影响范围较大。服务层所在的层级,可以以单个服务的角度植入故障,进而对所有依赖于此服务层上下游造成影响,影响范围适中。对于服务层、容器层或者物理层下的故障演练执行节点,可对各个故障演练执行节点进行单节点植入故障,而不需要像业务层类似形成一条业务拓扑,依次植入故障。
S330、按照故障演练执行逻辑,在对应故障演练层级下模拟执行至少一个故障生效操作产生故障,以隔离执行不同故障演练层级间的故障演练操作。
在本实施例的另一种可选方案中,可以与上述一个或者多个实施例中各个可选方案结合。其中,按照故障演练执行逻辑,在对应故障演练层级下模拟执行至少一个故障生效操作产生故障,可包括步骤D1-D2:
步骤D1、在执行一故障演练层级下的故障演练计划时,实时获取故障演练执行逻辑中各个故障演练执行节点的节点运行数据,并根据获取的各个节点运行数据创建故障演练执行逻辑关联的执行快照。
步骤D2、按照创建的故障演练执行逻辑关联的执行快照,通过故障演练执行逻辑绑定的故障插件在各个故障演练执行节点有序或者单独模拟执行至少一个故障生效操作,来产生故障效果。
在本实施例中,图5是本发明实施例中提供的一种故障演练计划的演练执行示意图。参见图5,在执行指定的故障演练计划,实时获取故障演练执行逻辑中各个故障演练执行节点的节点运行数据,绘制执行快照,按照当前的执行快照有序运行,当运行到指定故障演练执行节点时,会通知对应的故障演练执行节点生效故障,产生故障效果。
根据本发明实施例中提供的基于分布式系统的故障演练方法,可以对业务层、服务层、容器层以及物理层等故障演练层级的故障演练执行逻辑进行独立配置,实现层与层之间的隔离,明确了在分布式系统中的故障植入位置,合理、清晰的评估出故障所影响的范围,即能够合理控制了爆炸半径,保证混沌工程故障演练的有效性与准确性。
图6是本发明实施例中提供的一种基于分布式系统的故障演练装置的结构框图,该方法可适用于在混沌工程中进行故障演练的情况,尤其是对故障演练过程中对爆炸半径进行合理控制的情形。该装置可由软件和/或硬件实现,并集成在任何具有网络通信功能的电子设备上。如图6所示,本申请实施例中提供的基于分布式系统的故障演练装置,可包括以下:故障演练配置模块610和故障演练执行模块620。其中:
故障演练配置模块610,用于配置不同故障演练层级下的故障演练执行逻辑;其中所述故障演练层级的取值包括业务层、服务层、容器层或者物理层;
故障演练执行模块620,用于按照故障演练执行逻辑,在对应故障演练层级下模拟执行至少一个故障生效操作产生故障,以隔离执行不同故障演练层级间的故障演练操作。
在上述实施例的基础上,可选地,故障演练配置模块610包括:
针对不同的故障演练层级,创建一故障演练层级下的故障演练计划;
基于已创建故障演练计划所需的故障演练执行节点,构建在该故障演练层级下的故障演练执行逻辑,以对不同的故障演练层级进行配置。
在上述实施例的基础上,可选地,故障演练配置模块610中创建一故障演练层级下的故障演练计划,包括:
显示用于配置故障演练层级和故障演练项目的故障演练计划创建页面;
依据用户在所述故障演练计划创建页面触发的故障演练层级取值和对应层级下的故障演练项目取值,构建一故障演练层级下的至少一个故障演练执行逻辑。
在上述实施例的基础上,可选地,故障演练配置模块610中基于已创建故障演练计划所需的故障演练执行节点,构建在该故障演练层级下的故障演练执行逻辑,包括:
若已创建故障演练计划所属故障演练层级的取值为业务层,则向所述故障演练计划配置绑定业务拓扑;其中所述业务拓扑指示业务层下至少两个故障演练执行节点以及故障演练执行节点之间的链接关系;
依据所述配置绑定业务拓扑中各个故障演练执行节点的链接关系,构建在该故障演练层级下的故障演练执行逻辑,并绑定该故障执行逻辑在执行故障演练过程中所使用的故障插件。
在上述实施例的基础上,可选地,故障演练配置模块610中基于已创建故障演练计划所需的故障演练执行节点,构建在该故障演练层级下的故障演练执行逻辑,包括:
若已创建故障演练计划所属故障演练层级的取值为服务层、容器层或者物理层,则向所述故障演练计划配置绑定服务层、容器层或者物理层下的至少一个故障演练执行节点;
依据配置绑定的各个故障演练执行节点,构建在服务层、容器层或者物理层下的故障演练执行逻辑,并绑定故障执行逻辑中所使用的故障插件。
在上述实施例的基础上,可选地,故障演练执行模块620包括:
在执行一故障演练层级下的故障演练计划时,实时获取故障演练执行逻辑中各个故障演练执行节点的节点运行数据,并根据获取的各个节点运行数据创建故障演练执行逻辑关联的执行快照;
按照创建的故障演练执行逻辑关联的执行快照,通过故障演练执行逻辑绑定的故障插件在各个故障演练执行节点有序或者单独模拟执行至少一个故障生效操作,来产生故障效果。
本发明实施例中所提供的基于分布式系统的故障演练装置可执行上述本发明任意实施例中所提供的基于分布式系统的故障演练方法,具备执行该基于分布式系统的故障演练方法相应的功能和有益效果,详细过程参见前述实施例中的基于分布式系统的故障演练方法的相关操作。
图7是本发明实施例中提供的一种电子设备的结构示意图。如图7所示结构,本发明实施例中提供的电子设备包括:一个或多个处理器710和存储装置720;该电子设备中的处理器710可以是一个或多个,图7中以一个处理器710为例;存储装置720用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器710执行,使得所述一个或多个处理器710实现如本发明实施例中任一项所述的基于分布式系统的故障演练方法。
该电子设备还可以包括:输入装置730和输出装置740。
该电子设备中的处理器710、存储装置720、输入装置730和输出装置740可以通过总线或其他方式连接,图7中以通过总线连接为例。
该电子设备中的存储装置720作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中所提供的基于分布式系统的故障演练方法对应的程序指令/模块。处理器710通过运行存储在存储装置720中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例中的基于分布式系统的故障演练方法。
存储装置720可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储装置720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置720可进一步包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置730可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置740可包括显示屏等显示设备。
并且,当上述电子设备所包括一个或者多个程序被所述一个或者多个处理器710执行时,程序进行如下操作:
配置不同故障演练层级下的故障演练执行逻辑;其中所述故障演练层级的取值包括业务层、服务层、容器层或者物理层;
按照故障演练执行逻辑,在对应故障演练层级下模拟执行至少一个故障生效操作产生故障,以隔离执行不同故障演练层级间的故障演练操作。
当然,本领域技术人员可以理解,当上述电子设备所包括一个或者多个程序被所述一个或者多个处理器710执行时,程序还可以进行本发明任意实施例中所提供的基于分布式系统的故障演练方法中的相关操作。
本发明实施例中提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时用于执行基于分布式系统的故障演练方法,该方法包括:
配置不同故障演练层级下的故障演练执行逻辑;其中所述故障演练层级的取值包括业务层、服务层、容器层或者物理层;
按照故障演练执行逻辑,在对应故障演练层级下模拟执行至少一个故障生效操作产生故障,以隔离执行不同故障演练层级间的故障演练操作。
可选的,该程序被处理器执行时还可以用于执行本发明任意实施例中所提供的基于分布式系统的故障演练方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、闪存、光纤、便携式CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、无线电频率(RadioFrequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (5)

1.一种基于分布式系统的故障演练方法,其特征在于,包括:
针对不同的故障演练层级,创建一故障演练层级下的故障演练计划;
基于已创建故障演练计划所需的故障演练执行节点,构建在该故障演练层级下的故障演练执行逻辑,以对不同的故障演练层级进行配置;其中所述故障演练层级的取值包括业务层、服务层、容器层或者物理层;
按照故障演练执行逻辑,在对应故障演练层级下模拟执行至少一个故障生效操作产生故障,以隔离执行不同故障演练层级间的故障演练操作;
其中,基于已创建故障演练计划所需的故障演练执行节点,构建在该故障演练层级下的故障演练执行逻辑,包括:若已创建故障演练计划所属故障演练层级的取值为业务层,则向所述故障演练计划配置绑定业务拓扑;其中所述业务拓扑指示业务层下至少两个故障演练执行节点以及故障演练执行节点之间的链接关系;依据所述配置绑定业务拓扑中各个故障演练执行节点的链接关系,构建在该故障演练层级下的故障演练执行逻辑,并绑定该故障执行逻辑在执行故障演练过程中所使用的故障插件;
其中,基于已创建故障演练计划所需的故障演练执行节点,构建在该故障演练层级下的故障演练执行逻辑,包括:若已创建故障演练计划所属故障演练层级的取值为服务层、容器层或者物理层,则向所述故障演练计划配置绑定服务层、容器层或者物理层下的至少一个故障演练执行节点;依据配置绑定的各个故障演练执行节点,构建在服务层、容器层或者物理层下的故障演练执行逻辑,并绑定故障执行逻辑中所使用的故障插件;
其中,按照故障演练执行逻辑,在对应故障演练层级下模拟执行至少一个故障生效操作产生故障,包括:在执行一故障演练层级下的故障演练计划时,实时获取故障演练执行逻辑中各个故障演练执行节点的节点运行数据,并根据获取的各个节点运行数据创建故障演练执行逻辑关联的执行快照;按照创建的故障演练执行逻辑关联的执行快照,通过故障演练执行逻辑绑定的故障插件在各个故障演练执行节点有序或者单独模拟执行至少一个故障生效操作,来产生故障效果。
2.根据权利要求1所述的方法,其特征在于,创建一故障演练层级下的故障演练计划,包括:
显示用于配置故障演练层级和故障演练项目的故障演练计划创建页面;
依据用户在所述故障演练计划创建页面触发的故障演练层级取值和对应层级下的故障演练项目取值,构建一故障演练层级下的至少一个故障演练执行逻辑。
3.一种基于分布式系统的故障演练装置,其特征在于,包括:
故障演练配置模块,用于配置不同故障演练层级下的故障演练执行逻辑;其中所述故障演练层级的取值包括业务层、服务层、容器层或者物理层;故障演练配置模块包括:针对不同的故障演练层级,创建一故障演练层级下的故障演练计划;基于已创建故障演练计划所需的故障演练执行节点,构建在该故障演练层级下的故障演练执行逻辑,以对不同的故障演练层级进行配置;
故障演练执行模块,用于按照故障演练执行逻辑,在对应故障演练层级下模拟执行至少一个故障生效操作产生故障,以隔离执行不同故障演练层级间的故障演练操作;
其中,基于已创建故障演练计划所需的故障演练执行节点,构建在该故障演练层级下的故障演练执行逻辑,包括:若已创建故障演练计划所属故障演练层级的取值为业务层,则向所述故障演练计划配置绑定业务拓扑;其中所述业务拓扑指示业务层下至少两个故障演练执行节点以及故障演练执行节点之间的链接关系;依据所述配置绑定业务拓扑中各个故障演练执行节点的链接关系,构建在该故障演练层级下的故障演练执行逻辑,并绑定该故障执行逻辑在执行故障演练过程中所使用的故障插件;
其中,基于已创建故障演练计划所需的故障演练执行节点,构建在该故障演练层级下的故障演练执行逻辑,包括:若已创建故障演练计划所属故障演练层级的取值为服务层、容器层或者物理层,则向所述故障演练计划配置绑定服务层、容器层或者物理层下的至少一个故障演练执行节点;依据配置绑定的各个故障演练执行节点,构建在服务层、容器层或者物理层下的故障演练执行逻辑,并绑定故障执行逻辑中所使用的故障插件;
其中,按照故障演练执行逻辑,在对应故障演练层级下模拟执行至少一个故障生效操作产生故障,包括:在执行一故障演练层级下的故障演练计划时,实时获取故障演练执行逻辑中各个故障演练执行节点的节点运行数据,并根据获取的各个节点运行数据创建故障演练执行逻辑关联的执行快照;按照创建的故障演练执行逻辑关联的执行快照,通过故障演练执行逻辑绑定的故障插件在各个故障演练执行节点有序或者单独模拟执行至少一个故障生效操作,来产生故障效果。
4.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现权利要求1-2中任一所述的基于分布式系统的故障演练方法。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-2中任一所述的基于分布式系统的故障演练方法。
CN202011490571.XA 2020-12-16 2020-12-16 基于分布式系统的故障演练方法、装置、设备及介质 Active CN112464497B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011490571.XA CN112464497B (zh) 2020-12-16 2020-12-16 基于分布式系统的故障演练方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011490571.XA CN112464497B (zh) 2020-12-16 2020-12-16 基于分布式系统的故障演练方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN112464497A CN112464497A (zh) 2021-03-09
CN112464497B true CN112464497B (zh) 2022-07-19

Family

ID=74803016

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011490571.XA Active CN112464497B (zh) 2020-12-16 2020-12-16 基于分布式系统的故障演练方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN112464497B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113935178B (zh) * 2021-10-21 2022-09-16 北京同创永益科技发展有限公司 一种云原生混沌工程实验的爆炸半径控制系统及方法
CN115438518B (zh) * 2022-11-08 2023-04-07 恒丰银行股份有限公司 一种基于混沌理念的故障模拟应用系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110308969A (zh) * 2019-06-26 2019-10-08 深圳前海微众银行股份有限公司 故障演练方法、装置、设备及计算机存储介质
CN111309432A (zh) * 2018-12-12 2020-06-19 阿里巴巴集团控股有限公司 一种故障演练方法、装置及系统
CN111786823A (zh) * 2020-06-19 2020-10-16 中国工商银行股份有限公司 基于分布式服务的故障模拟方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309432A (zh) * 2018-12-12 2020-06-19 阿里巴巴集团控股有限公司 一种故障演练方法、装置及系统
CN110308969A (zh) * 2019-06-26 2019-10-08 深圳前海微众银行股份有限公司 故障演练方法、装置、设备及计算机存储介质
CN111786823A (zh) * 2020-06-19 2020-10-16 中国工商银行股份有限公司 基于分布式服务的故障模拟方法及装置

Also Published As

Publication number Publication date
CN112464497A (zh) 2021-03-09

Similar Documents

Publication Publication Date Title
CN109802852B (zh) 应用于网络靶场的网络仿真拓扑的构建方法及系统
US10943191B2 (en) Designer tool for managing cloud computing services
CN104750063B (zh) 用于配置工业安全继电器的系统和工业安全系统配置方法
CN106302008A (zh) 数据更新方法和装置
CN109032691A (zh) 一种小程序运行方法、装置及存储介质
CN104749993B (zh) 用于配置工业安全继电器的系统和方法
CN112464497B (zh) 基于分布式系统的故障演练方法、装置、设备及介质
CN103327080B (zh) 创建物联网控制系统的方法及装置
CN109634561A (zh) 一种在线可视化编程方法及装置
CN109189758B (zh) 运维流程设计方法、装置和设备、运行方法、装置和主机
CN111552550A (zh) 一种基于图形处理器gpu资源的任务调度方法、设备及介质
US8990058B2 (en) Generating and evaluating expert networks
CN108255585A (zh) Sdk异常控制及应用程序运行方法、装置及其设备
US9380000B2 (en) Deploying and modifying a service-oriented architecture deployment environment model
CN109598427A (zh) 机器人的管理方法、装置及电子设备
CN109542432A (zh) 风控规则编辑方法及终端设备
US20140310070A1 (en) Coordinated business rules management and mixed integer programming
Zinkin et al. Synthesis of the Functional Architecture of Agent-based Computing Systems when Using Conceptual Models of Artificial Intelligence
CN116361153A (zh) 固件代码的测试方法、装置、电子设备、存储介质
CN113656268B (zh) 业务服务的性能测试方法、装置、电子设备和存储介质
EP2951667A1 (en) Defining a design plan
CN114978933B (zh) 一种用于三维拓扑的展示元素的展示方法及装置
CN114461184B (zh) Ai应用生成方法、电子设备和存储介质
CN117971240A (zh) 一种组件自定义发布方法及系统、电子设备
CN115454396A (zh) 状态机控制方法、装置和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 210012 4th floor, building 5, no.170-1, software Avenue, Yuhuatai District, Nanjing City, Jiangsu Province

Patentee after: Jiangsu Yunmanman Information Technology Co.,Ltd.

Address before: 210012 4th floor, building 5, no.170-1, software Avenue, Yuhuatai District, Nanjing City, Jiangsu Province

Patentee before: Jiangsu manyun Logistics Information Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20210309

Assignee: Nanjing Manyun Cold Chain Technology Co.,Ltd.

Assignor: Jiangsu Yunmanman Information Technology Co.,Ltd.

Contract record no.: X2023980040393

Denomination of invention: Fault drill methods, devices, equipment, and media based on distributed systems

Granted publication date: 20220719

License type: Common License

Record date: 20230824

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 210012 3rd floor, building a, Wanbo Science Park, 66 Huashen Avenue, Yuhuatai District, Nanjing City, Jiangsu Province

Patentee after: Jiangsu Yunmanman Information Technology Co.,Ltd.

Address before: 210012 4th floor, building 5, no.170-1, software Avenue, Yuhuatai District, Nanjing City, Jiangsu Province

Patentee before: Jiangsu Yunmanman Information Technology Co.,Ltd.