CN114880157B - 一种故障注入方法及装置 - Google Patents

一种故障注入方法及装置 Download PDF

Info

Publication number
CN114880157B
CN114880157B CN202210796979.2A CN202210796979A CN114880157B CN 114880157 B CN114880157 B CN 114880157B CN 202210796979 A CN202210796979 A CN 202210796979A CN 114880157 B CN114880157 B CN 114880157B
Authority
CN
China
Prior art keywords
fault
event
experimental
experiment
index
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
CN202210796979.2A
Other languages
English (en)
Other versions
CN114880157A (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.)
Zhongdian Jinxin Software Co Ltd
Original Assignee
Zhongdian Jinxin Software 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 Zhongdian Jinxin Software Co Ltd filed Critical Zhongdian Jinxin Software Co Ltd
Priority to CN202210796979.2A priority Critical patent/CN114880157B/zh
Publication of CN114880157A publication Critical patent/CN114880157A/zh
Application granted granted Critical
Publication of CN114880157B publication Critical patent/CN114880157B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/08Computing arrangements based on specific mathematical models using chaos models or non-linear system models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Nonlinear Science (AREA)
  • Algebra (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供了一种故障注入方法及装置,涉及故障注入技术领域,其中,故障注入方法包括:响应于实验触发事件,根据最高优先级对应的推荐机制,从预先创建的多个实验事件中确定推荐实验事件,推荐实验事件包括至少一个故障标识以及与各故障标识对应的实验参数;针对每个故障标识,按照该故障标识对应的实验参数配置与该故障标识对应的故障事件;将配置完成的至少一个故障事件添加到推荐实验事件;运行加载后推荐实验事件的故障注入对象,并存储运行结果。本申请通过引入具备优先级的推荐机制,在自动化完成故障注入的同时,有针对性的选择实验事件,提高实验效率。

Description

一种故障注入方法及装置
技术领域
本申请涉及故障注入技术领域,尤其涉及一种故障注入方法及装置。
背景技术
混沌工程,是一种提高技术架构弹性能力的复杂技术手段,混沌工程经过实验可以确保系统的可用性,混沌工程旨在将故障扼杀在襁褓之中,也就是在故障造成中断之前将它们识别出来,通过主动制造故障,测试系统在各种压力下的行为,识别并修复故障问题,避免造成严重后果。
现阶段混沌工程实验的实施方法为:通过实验人员指定的方式开启某项实验事件,该种方式依赖于实验人员的主观选择,人为开展实验事件,无法有针对性的执行与系统薄弱点有关的相关实验事件,造成不必要的资源浪费,实验结果不理想。
发明内容
有鉴于此,本申请的目的在于至少提供一种故障注入方法及装置,本申请通过引入具备优先级的推荐机制,在自动化完成故障注入的同时,有针对性的选择实验事件,提高实验效率。
本申请主要包括以下几个方面:
第一方面,本申请实施例提供一种故障注入方法,故障注入方法包括:响应于实验触发事件,根据最高优先级对应的推荐机制,从预先创建的多个实验事件中确定推荐实验事件,推荐实验事件包括至少一个故障标识以及与各故障标识对应的实验参数;针对每个故障标识,按照该故障标识对应的实验参数配置与该故障标识对应的故障事件;将配置完成的至少一个故障事件添加到推荐实验事件;运行加载推荐实验事件的故障注入对象,并存储运行结果。
在一种可能的实施方式中,还包括:预先设置多个推荐机制以及各推荐机制对应的优先级,其中,通过以下方式调整各推荐机制对应的优先级:获取所存储的推荐实验事件的运行结果,运行结果包括针对所加载的至少一个故障事件的实验响应结果和故障处理结果;根据推荐实验事件对应的实验响应结果和故障处理结果,调整各推荐机制对应的优先级。
在一种可能的实施方式中,实验参数包括故障注入对象、故障扰动程度以及故障扰动所针对的目标服务,其中,故障注入对象中运行有至少一个服务,其中,针对每个故障标识,按照该故障标识对应的实验参数配置与该故障标识对应的故障事件的步骤包括:针对每个故障标识,根据多个故障标识与多个故障配置模板之间的映射关系,确定该故障标识对应的故障配置模板;针对每个故障标识,将该故障标识所指示的故障注入对象、故障扰动程度以及故障扰动所针对的目标服务添加到故障配置模板中,以生成与该故障标识对应的故障事件。
在一种可能的实施方式中,推荐机制包括以下项中的至少一项:基于实验事件的执行状态的第一推荐机制、基于与前一次实验事件中的故障事件类型和实验参数的相似度进行推荐的第二推荐机制、基于历史实验事件的错误率的第三推荐机制、随机推荐机制。
在一种可能的实施方式中,实验响应结果包括针对故障事件的实验响应指数,实验响应指数用于反映故障注入对象自身对故障事件的处理能力,故障处理结果包括针对故障事件的故障处理指数,故障处理指数用于反映外部干预对故障事件的处理能力,其中,通过以下方式调整第二推荐机制对应的优先级:根据最近一次历史实验事件中的每个故障事件对应的实验响应指数和故障处理指数,确定最近一次历史实验事件中的每个故障事件对应的故障事件指数;根据最近一次历史实验事件中的每个故障事件对应的故障事件指数,确定最近一次历史实验事件的总事件指数;判断最近一次历史实验事件的总事件指数是否小于第一预设阈值;若最近一次历史实验事件的总事件指数小于第一预设阈值,则对第二推荐机制的优先级进行升序;若最近一次历史实验事件的总事件指数不小于第一预设阈值、且不大于第二预设阈值,则不对第二推荐机制的优先级进行调整;若最近一次历史实验事件的总事件指数大于第二预设阈值,则对第二推荐机制的优先级进行降序。
在一种可能的实施方式中,通过以下方式调整第三推荐机制对应的优先级:针对每个历史实验事件,根据该历史实验事件中的每个故障事件对应的实验响应指数和故障处理指数,确定该历史实验事件中的每个故障事件对应的故障事件指数;针对每个故障事件类型,根据所有历史实验事件中属于该故障事件类型的各故障事件对应的故障事件指数,确定该故障事件类型对应的故障类型指数;针对任一故障事件类型,判断任一故障事件类型对应的故障类型指数是否大于第三预设阈值,若故障类型指数大于第三预设阈值,则对第三推荐机制对应的优先级进行降序,若故障类型指数不大于第三预设阈值且不小于第四预设阈值,则不对第三推荐机制对应的优先级进行调整,若故障类型指数小于第四预设阈值,则对第三推荐机制对应的优先级进行升序。
在一种可能的实施方式中,通过以下方式来根据第二推荐机制从预先创建的多个实验事件中确定推荐实验事件:通过自然语言处理的方式,从预先创建的每个实验事件中提取各实验事件的故障事件类型以及实验参数中的关键词,以分别形成各实验事件对应的关键词信息;提取前一次实验事件的故障事件类型以及实验参数中的关键词,以形成前一次实验事件对应的关键词信息;通过相似度分析算法,依次获取预先创建的各实验事件对应的关键词信息与前一次实验事件的关键词信息之间的相似度;将最大相似度对应的预先创建的实验事件确定为推荐实验事件。
在一种可能的实施方式中,通过以下方式来根据第三推荐机制从预先创建的多个实验事件中确定推荐实验事件:针对每个历史实验事件,根据该历史实验事件中的每个故障事件对应的实验响应指数和故障处理指数,确定该历史实验事件中的每个故障事件对应的故障事件指数;针对每个故障事件类型,根据所有历史实验事件中属于该故障事件类型的各故障事件对应的故障事件指数,确定该故障事件类型对应的故障类型指数;确定最低故障类型指数对应的目标故障事件类型;从预先创建的多个实验事件中,随机选择一个包含目标故障事件类型所指示的故障标识的实验事件确定为推荐实验事件。
第二方面,本申请实施例还提供一种故障注入装置,故障注入装置包括:确定模块,用于响应于实验触发事件,根据最高优先级对应的推荐机制,从预先创建的多个实验事件中确定推荐实验事件,推荐实验事件包括至少一个故障标识以及与各故障标识对应的实验参数;配置模块,针对每个故障标识,按照该故障标识对应的实验参数配置与该故障标识对应的故障事件;添加模块,用于将配置完成的至少一个故障事件添加到推荐实验事件;运行模块,用于运行加载推荐实验事件的故障注入对象,并存储运行结果。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中所述的故障注入方法的步骤。
本申请实施例提供的一种故障注入方法及装置,其中,故障注入方法包括:响应于实验触发事件,根据最高优先级对应的推荐机制,从预先创建的多个实验事件中确定推荐实验事件,推荐实验事件包括至少一个故障标识以及与各故障标识对应的实验参数;针对每个故障标识,按照该故障标识对应的实验参数配置与该故障标识对应的故障事件;将配置完成的至少一个故障事件加载到推荐实验事件;运行加载推荐实验事件的故障注入对象,并存储运行结果。本申请通过引入具备优先级的推荐机制,在自动化完成故障注入的同时,有针对性的选择实验事件,提高实验效率。
本申请有益之处在于:
本申请通过引入具备优先级的推荐机制,能够有针对性的执行与系统薄弱点有关的相关实验事件,造成不必要的资源浪费的同时,提高实验效率,且可根据实验人员自身需要对推荐机制的优先级进行调整,满足了不同用户的不同需求。 根据我方业务应用场景,创造性地提出了相关优先级的备选库以及优先推荐机制。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种故障注入方法的流程图;
图2示出了本申请实施例所提供的一种故障注入装置的结构示意图;
图3示出了本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中的附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应当理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的全部其他实施例,都属于本申请保护的范围。
在现有技术中,现阶段混沌工程实验的实施方法为:由实验人员预先创建混沌工程实验事件,在开始一次实验之前,需要在混沌工程平台中人为指定开启某项实验事件,但是人为指定实验事件并进行实验,降低了实验效率,且基于现有的混沌工程实验,人为开展实验事件,无法有针对性的执行与系统薄弱点有关的相关实验事件,造成不必要的资源浪费,实验结果不理想。
基于此,本申请实施例提供了一种故障注入方法,本申请通过引入推荐机制,自动化的完成故障注入,提高实验效率,具体如下:
请参阅图1,图1示出了本申请实施例所提供的一种故障注入方法的流程图。如图1所示,本申请实施例提供的故障注入方法,包括以下步骤:
S100、响应于实验触发事件,根据最高优先级对应的推荐机制,从预先创建的多个实验事件中确定推荐实验事件。
推荐实验事件包括至少一个故障标识以及与各故障标识对应的实验参数。
在具体实施中,本申请实施例提供的故障注入方法可以应用于混沌工程平台,混沌工程平台用于实验人员进行各项混沌工程实验,混沌工程平台提供有混沌工程实验界面,实验人员可以通过指定身份账号登录混沌工程平台进行相关实验操作,具体的,混沌工程实验界面提供有用于发起实验事件的虚拟控件,实验触发事件可以为对该虚拟控件执行的选择操作,选择操作包括但不限于单击、双击。
一示例中,实验人员在登录混沌工程平台后,可以根据自身需求,预先创建的多个实验事件,每个实验事件用于进行不同的混沌工程实验,具体的,每个实验事件包括至少一个故障标识以及与各故障标识对应的实验参数,其中,故障标识指示了所要注入的故障事件类型,故障事件类型包括但不限于以下项中的至少一项:网络延迟、宿主机宕机、CPU内存使用率过高、服务进程异常,实验参数包括故障标识所指示的故障事件类型对应的故障注入对象、故障扰动程度以及故障扰动所针对的目标服务,其中,故障注入对象中运行有多个服务,具体的,故障注入对象可以为服务器。
在一优选实施例中,实验人员在创建完成多个实验事件后,还可以创建针对多个实验事件的多个推荐机制以及各推荐机制对应的优先级,可以根据最高优先级对应的推荐机制,从预先创建的多个实验事件中确定推荐实验事件。
S200、针对每个故障标识,按照该故障标识对应的实验参数配置与该故障标识对应的故障事件。
在具体实施中,针对每个故障标识,按照该故障标识对应的实验参数配置与该故障标识对应的故障事件的步骤包括:
针对每个故障标识,根据多个故障标识与多个故障配置模板之间的映射关系,确定该故障标识对应的故障配置模板;针对每个故障标识,将该故障标识所指示的故障注入对象、故障扰动程度以及故障扰动所针对的目标服务添加到故障配置模板中,以生成与该故障标识对应的故障事件。
在一具体实施例中,可以通过混沌工程平台提供的混沌工具对每个故障标识对应的故障事件进行配置,具体的,混沌工具中预先设置有与故障事件类型对应的故障配置模板,可以通过推荐实验事件中每个故障标识,确定与该故障标识对应的故障配置模板,混沌工具会将获取到的该故障标识对应的实验参数添加到故障配置模板中,从而成与该故障标识对应的故障事件。
S300、将配置完成的至少一个故障事件添加到推荐实验事件。
在一优选实施例中,在按照推荐实验事件中的各故障标识依次配置好与每个故障标识对应的故障配置模板并生成对应的故障事件后,可以将各故障事件封装好后载添加到推荐实验事件。
S400、运行加载推荐实验事件的故障注入对象,并存储运行结果。
在一优选实施例中,具体的,需要将推荐实验事件加载到故障注入对象,即通过混沌工程平台提供的故障注入探针,依次将加载后的推荐实验事件中的至少一个故障事件注入到各故障事件对应的故障注入对象。
运行结果包括针对故障注入对象所加载的至少一个故障事件的实验响应结果和故障处理结果,实验响应结果包括针对故障事件的实验响应指数,其中,实验响应指数用于反映故障注入对象自身对故障事件的处理能力,故障处理结果包括针对故障事件的故障处理指数,故障处理指数用于反映外部干预对故障事件的处理能力,具体的,外部干预可以为实验人员对故障事件执行的干预处理,在加载后的推荐实验事件开始运行后,推荐实验事件中每个故障事件对应的故障注入对象会给出针对该故障事件的响应,同时,实验人员可以对故障事件进行处理,这里,可以根据预先设置的规则获取故障注入对象自身对故障事件的处理能力,即实验响应指数,以及在实验人员对故障事件处理完成后,根据预先设置的规则确定实验人员对故障事件的处理能力,即故障处理指数。
在步骤S100中,推荐机制包括以下项中的至少一项:基于实验事件的执行状态的第一推荐机制、基于与前一次实验事件中的故障事件类型和实验参数的相似度进行推荐的第二推荐机制、基于历史实验事件的错误率的第三推荐机制、随机推荐机制。
其中,实验事件的执行状态包括已执行和未执行,在一具体实施例中,通过以下方式来根据第二推荐机制从预先创建的多个实验事件中确定推荐实验事件:
通过自然语言处理的方式,从预先创建的每个实验事件中提取各实验事件的故障事件类型以及实验参数的关键词,以分别形成各实验事件对应的关键词信息;提取前一次实验事件的故障事件类型以及实验参数中的关键词,以形成前一次实验事件对应的关键词信息;通过相似度分析算法,依次获取预先创建的各实验事件对应的关键词信息与前一次实验事件的关键词信息之间的相似度;将最大相似度对应的预先创建的实验事件确定为推荐实验事件。
在具体实施中,第二推荐机制是针对于实验人员所执行的前一次实验事件的运行结果并不理想的情况下,从多个未曾进行的实验事件中,优先将与实验人员所执行的前一次实验事件相似度最高的实验事件确定为推荐实验事件。
在另一具体实施例中,通过以下方式来根据第三推荐机制从预先创建的多个实验事件中确定推荐实验事件:
针对每个历史实验事件,根据该历史实验事件中的每个故障事件对应的实验响应指数和故障处理指数,确定该历史实验事件中的每个故障事件对应的故障事件指数。
具体的,针对每个实验人员,在该实验人员登录混沌工程平台后,可以根据该实验人员的登录信息自动获取该实验人员已经完成的历史实验事件,优选地,可以根据预先设置的实验响应指数和故障处理指数对应的权重系数,计算每个故障事件对应的故障事件指数,这里对故障事件指数具体的确定方式不做具体限制。
针对每个故障事件类型,根据所有历史实验事件中属于该故障事件类型的各故障事件对应的故障事件指数,确定该故障事件类型对应的故障类型指数,确定最低故障类型指数对应的目标故障事件类型,从预先创建的多个实验事件中,随机选择一个包含目标故障事件类型所指示的故障标识的实验事件确定为推荐实验事件。
在一具体实施例中,在步骤S400之后,可以根据实验人员当前的实验情况,对各推荐机制对应的优先级进行调整,以适应实验人员的需求。
优选地,可以根据实验的完成情况,对各推荐机制对应的优先级进行自动调整,具体的,通过以下方式调整各推荐机制对应的优先级:
获取所存储的推荐实验事件的运行结果;根据推荐实验事件对应的实验响应结果和故障处理结果,调整各推荐机制对应的优先级。
其中,通过以下方式调整第二推荐机制对应的优先级:
根据最近一次历史实验事件中的每个故障事件对应的实验响应指数和故障处理指数,确定最近一次历史实验事件中的每个故障事件对应的故障事件指数;根据最近一次历史实验事件中的每个故障事件对应的故障事件指数,确定最近一次历史实验事件的总事件指数;判断最近一次历史实验事件的总事件指数是否小于第一预设阈值;若最近一次历史实验事件的总事件指数小于第一预设阈值,则对第二推荐机制的优先级进行升序;若最近一次历史实验事件的总事件指数不小于第一预设阈值、且不大于第二预设阈值,则不对第二推荐机制的优先级进行调整;若最近一次历史实验事件的总事件指数大于第二预设阈值,则对第二推荐机制的优先级进行降序。
在一具体实施例中,最近一次历史实验事件的总事件指数反映了最近一次历史实验事件的完成情况,具体的,总事件指数越高,说明最近一次历史实验事件的完成情况越好,总事件指数越低,说明最近一次历史实验事件的完成情况越差,其中,第二预设阈值大于第一预设阈值。
在最近一次历史实验事件的总事件指数小于第一预设阈值的情况下,说明最近一次历史实验事件的完成情况较差,需要第二推荐机制的优先级进行升序,以便于自动向实验人员推荐与最近一次历史实验事件相似的实验事件,继续进行相关实验事件,在最近一次历史实验事件的总事件指数大于第二预设阈值的情况下,说明最近一次历史实验事件的完成情况较好,可以对第二推荐机制的优先级进行降序,以提高其它推荐机制的优先级,具体的,针对每次调整,可以每次升一级,或者,也可以直接调整到最高优先级,具体的,可以根据总事件指数,来确定具体使用哪种升级方式。
在一种可能的实施方式中,通过以下方式调整第三推荐机制对应的优先级:
针对每个历史实验事件,根据该历史实验事件中的每个故障事件对应的实验响应指数和故障处理指数,确定该历史实验事件中的每个故障事件对应的故障事件指数;针对每个故障事件类型,根据所有历史实验事件中属于该故障事件类型的各故障事件对应的故障事件指数,确定该故障事件类型对应的故障类型指数;针对任一故障事件类型,判断任一故障事件类型对应的故障类型指数是否大于第三预设阈值,若故障类型指数大于第三预设阈值,则对第三推荐机制对应的优先级进行降序,若故障类型指数不大于第三预设阈值且不小于第四预设阈值,则不对第三推荐机制对应的优先级进行调整,若故障类型指数小于第四预设阈值,则对第三推荐机制对应的优先级进行升序。
故障类型指数每种故障事件类型的历史实验事件的完成情况,具体的,针对每个故障事件类型,故障类型指数越高,说明该故障事件类型的历史实验事件的完成情况越好,故障类型指数越低,说明该故障事件类型的历史实验事件的完成情况越差,其中,第三预设阈值大于第四预设阈值。
在一具体实施例中,针对任一故障事件类型,在该故障事件类型的故障类型指数大于第三预设阈值的情况下,说明该故障事件类型的历史实验事件的完成情况较好,需要对第三推荐机制的优先级进行降序,以避免实验人员重复执行该故障事件类型的实验事件,在该故障事件类型的故障类型指数小于第四预设阈值的情况下,说明该故障事件类型的历史实验事件的完成情况较差,可以对第三推荐机制的优先级进行升序,以使实验人员能够执行该故障事件类型的实验事件,具体的,针对每次调整,可以每次升一级,或者,也可以直接调整到最高优先级,具体的,可以根据总事件指数,来确定具体使用哪种升级方式。
基于同一申请构思,本申请实施例中还提供了与上述实施例提供的故障注入方法对应的故障注入装置,由于本申请实施例中的装置解决问题的原理与本申请上述实施例的故障注入方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图2,图2示出了本申请实施例提供的一种故障注入装置的结构示意图,如图2所示,故障注入装置包括:
确定模块510,用于响应于实验触发事件,根据最高优先级对应的推荐机制,从预先创建的多个实验事件中确定推荐实验事件,推荐实验事件包括至少一个故障标识以及与各故障标识对应的实验参数;配置模块520,针对每个故障标识,按照该故障标识对应的实验参数配置与该故障标识对应的故障事件;添加模块530,用于将配置完成的至少一个故障事件添加到推荐实验事件;运行模块540,用于运行加载推荐实验事件的故障注入对象,并存储运行结果。
可选地,还包括:预先设置多个推荐机制以及各推荐机制对应的优先级,其中,故障注入装置还包括调整模块(图中未示出),用于获取所存储的推荐实验事件的运行结果,运行结果包括针对所加载的至少一个故障事件的实验响应结果和故障处理结果;根据推荐实验事件对应的实验响应结果和故障处理结果,调整各推荐机制对应的优先级。
可选地,实验参数包括故障注入对象、故障扰动程度以及故障扰动所针对的目标服务,其中,故障注入对象中运行有至少一个服务,其中,配置模块520还用于针对每个故障标识,根据多个故障标识与多个故障配置模板之间的映射关系,确定该故障标识对应的故障配置模板;针对每个故障标识,将该故障标识所指示的故障注入对象、故障扰动程度以及故障扰动所针对的目标服务添加到故障配置模板中,以生成与该故障标识对应的故障事件。
可选地,推荐机制包括以下项中的至少一项:基于实验事件的执行状态的第一推荐机制、基于与前一次实验事件中的故障事件类型和实验参数的相似度进行推荐的第二推荐机制、基于历史实验事件的错误率的第三推荐机制、随机推荐机制。
可选地,实验响应结果包括针对故障事件的实验响应指数,实验响应指数用于反映故障注入对象自身对故障事件的处理能力,故障处理结果包括针对故障事件的故障处理指数,故障处理指数用于反映外部干预对故障事件的处理能力,其中,调整模块还用于:根据最近一次历史实验事件中的每个故障事件对应的实验响应指数和故障处理指数,确定最近一次历史实验事件中的每个故障事件对应的故障事件指数;根据最近一次历史实验事件中的每个故障事件对应的故障事件指数,确定最近一次历史实验事件的总事件指数;判断最近一次历史实验事件的总事件指数是否小于第一预设阈值;若最近一次历史实验事件的总事件指数小于第一预设阈值,则对第二推荐机制的优先级进行升序;若最近一次历史实验事件的总事件指数不小于第一预设阈值、且不大于第二预设阈值,则不对第二推荐机制的优先级进行调整;若最近一次历史实验事件的总事件指数大于第二预设阈值,则对第二推荐机制的优先级进行降序。
可选地,调整模块还用于针对每个历史实验事件,根据该历史实验事件中的每个故障事件对应的实验响应指数和故障处理指数,确定该历史实验事件中的每个故障事件对应的故障事件指数;针对每个故障事件类型,根据所有历史实验事件中属于该故障事件类型的各故障事件对应的故障事件指数,确定该故障事件类型对应的故障类型指数;针对任一故障事件类型,判断所述任一故障事件类型对应的故障类型指数是否大于第三预设阈值,若故障类型指数大于第三预设阈值,则对第三推荐机制对应的优先级进行降序,若故障类型指数不大于第三预设阈值且不小于第四预设阈值,则不对第三推荐机制对应的优先级进行调整,若故障类型指数小于第四预设阈值,则对第三推荐机制对应的优先级进行升序。
可选地,确定模块510还用于通过自然语言处理的方式,从预先创建的每个实验事件中提取各实验事件的故障事件类型以及实验参数的关键词,以分别形成各实验事件对应的关键词信息;提取前一次实验事件的故障事件类型以及实验参数中的关键词,以形成前一次实验事件对应的关键词信息;通过相似度分析算法,依次获取预先创建的各实验事件对应的关键词信息与前一次实验事件的关键词信息之间的相似度;将最大相似度对应的预先创建的实验事件确定为推荐实验。
可选地,确定模块510还用于针对每个历史实验事件,根据该历史实验事件中的每个故障事件对应的实验响应指数和故障处理指数,确定该历史实验事件中的每个故障事件对应的故障事件指数;针对每个故障事件类型,根据所有历史实验事件中属于该故障事件类型的各故障事件对应的故障事件指数,确定该故障事件类型对应的故障事件指数;确定最低故障事件指数对应的目标故障事件类型;从预先创建的多个实验事件中,随机选择一个包含目标故障事件类型所指示的故障标识的实验事件确定为推荐实验事件。
基于同一申请构思,请参阅图3,图3示出了本申请实施例提供的一种电子设备600的结构示意图,包括:处理器610、存储器620和总线630,所述存储器620存储有所述处理器610可执行的机器可读指令,当电子设备600运行时,所述处理器610与所述存储器620之间通过所述总线630进行通信,所述机器可读指令被所述处理器610运行时执行如上述实施例中任一所述的故障注入方法的步骤。
基于同一申请构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述实施例提供的故障注入方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种故障注入方法,其特征在于,所述故障注入方法包括多个推荐机制:
响应于实验触发事件,根据最高优先级对应的推荐机制,从预先创建的多个实验事件中确定推荐实验事件,所述推荐实验事件包括至少一个故障标识以及与各故障标识对应的实验参数,所述推荐机制包括基于与前一次实验事件中的故障事件类型和实验参数的相似度进行推荐的第二推荐机制;
针对每个故障标识,按照该故障标识对应的实验参数,配置与该故障标识对应的故障事件;
将配置完成的至少一故障事件添加到所述推荐实验事件;
运行加载推荐实验事件的故障注入对象,并存储运行结果;
其中,若最高优先级对应的推荐机制为第二推荐机制,则通过以下方式确定推荐实验事件:
利用前一次实验事件的关键词,从多个未曾进行的多个实验事件中,将与前一次实验事件存在最大相似度的实验事件,确定为推荐实验事件。
2.根据权利要求1所述的故障注入方法,其特征在于,还包括:预先设置多个推荐机制以及各推荐机制对应的优先级,
其中,通过以下方式调整各推荐机制对应的优先级:
获取所存储的推荐实验事件的运行结果,所述运行结果包括针对所加载的至少一个故障事件的实验响应结果和故障处理结果;
根据所述推荐实验事件对应的实验响应结果和故障处理结果,调整各推荐机制对应的优先级。
3.根据权利要求1所述的故障注入方法,其特征在于,所述实验参数包括故障注入对象、故障扰动程度以及故障扰动所针对的目标服务,其中,故障注入对象中运行有至少一个服务,
其中,针对每个故障标识,按照该故障标识对应的实验参数配置与该故障标识对应的故障事件的步骤包括:
针对每个故障标识,根据多个故障标识与多个故障配置模板之间的映射关系,确定该故障标识对应的故障配置模板;
针对每个故障标识,将该故障标识所指示的故障注入对象、故障扰动程度以及故障扰动所针对的目标服务添加到所述故障配置模板中,以生成与该故障标识对应的故障事件。
4.根据权利要求2所述的故障注入方法,其特征在于,所述推荐机制包括以下项中的至少一项:基于实验事件的执行状态的第一推荐机制、基于历史实验事件的错误率的第三推荐机制、随机推荐机制。
5.根据权利要求4所述的故障注入方法,其特征在于,所述实验响应结果包括针对故障事件的实验响应指数,所述实验响应指数用于反映故障注入对象自身对故障事件的处理能力,所述故障处理结果包括针对故障事件的故障处理指数,所述故障处理指数用于反映外部干预对故障事件的处理能力,
其中,通过以下方式调整第二推荐机制对应的优先级:
根据最近一次历史实验事件中的每个故障事件对应的实验响应指数和故障处理指数,确定最近一次历史实验事件中的每个故障事件对应的故障事件指数;
根据最近一次历史实验事件中的每个故障事件对应的故障事件指数,确定最近一次历史实验事件的总事件指数;
判断最近一次历史实验事件的总事件指数是否小于第一预设阈值;
若最近一次历史实验事件的总事件指数小于第一预设阈值,则对第二推荐机制的优先级进行升序;
若最近一次历史实验事件的总事件指数不小于第一预设阈值、且不大于第二预设阈值,则不对第二推荐机制的优先级进行调整;
若最近一次历史实验事件的总事件指数大于第二预设阈值,则对第二推荐机制的优先级进行降序。
6.根据权利要求5所述的故障注入方法,其特征在于,通过以下方式调整第三推荐机制对应的优先级:
针对每个历史实验事件,根据该历史实验事件中的每个故障事件对应的实验响应指数和故障处理指数,确定该历史实验事件中的每个故障事件对应的故障事件指数;
针对每个故障事件类型,根据所有历史实验事件中属于该故障事件类型的各故障事件对应的故障事件指数,确定该故障事件类型对应的故障类型指数;
针对任一故障事件类型,判断所述任一故障事件类型对应的故障类型指数是否大于第三预设阈值,若故障类型指数大于第三预设阈值,则对第三推荐机制对应的优先级进行降序,若故障类型指数不大于第三预设阈值且不小于第四预设阈值,则不对第三推荐机制对应的优先级进行调整,若故障类型指数小于第四预设阈值,则对第三推荐机制对应的优先级进行升序。
7.根据权利要求4所述的故障注入方法,其特征在于,通过以下方式来根据第二推荐机制从预先创建的多个实验事件中确定推荐实验事件:
通过自然语言处理的方式,从预先创建的每个实验事件中提取各实验事件的故障事件类型以及实验参数的关键词,以分别形成各实验事件对应的关键词信息;
提取前一次实验事件的故障事件类型以及实验参数中的关键词,以形成前一次实验事件对应的关键词信息;
通过相似度分析算法,依次获取预先创建的各实验事件对应的关键词信息与前一次实验事件的关键词信息之间的相似度;
将最大相似度对应的预先创建的实验事件确定为推荐实验事件。
8.根据权利要求4所述的故障注入方法,其特征在于,通过以下方式来根据第三推荐机制从预先创建的多个实验事件中确定推荐实验事件:
针对每个历史实验事件,根据该历史实验事件中的每个故障事件对应的实验响应指数和故障处理指数,确定该历史实验事件中的每个故障事件对应的故障事件指数;
针对每个故障事件类型,根据所有历史实验事件中属于该故障事件类型的各故障事件对应的故障事件指数,确定该故障事件类型对应的故障类型指数;
确定最低故障类型指数对应的目标故障事件类型;
从预先创建的多个实验事件中,随机选择一个包含目标故障事件类型所指示的故障标识的实验事件确定为推荐实验事件。
9.一种故障注入装置,其特征在于,所述故障注入装置包括:
确定模块,用于响应于实验触发事件,根据最高优先级对应的推荐机制,从预先创建的多个实验事件中确定推荐实验事件,所述推荐实验事件包括至少一个故障标识以及与各故障标识对应的实验参数,所述推荐机制包括基于与前一次实验事件中的故障事件类型和实验参数的相似度进行推荐的第二推荐机制;
配置模块,针对每个故障标识,按照该故障标识对应的实验参数配置与该故障标识对应的故障事件;
添加模块,用于将配置完成的至少一个故障事件添加到所述推荐实验事件;
运行模块,用于运行加载后推荐实验事件的故障注入对象,并存储运行结果;
其中,若最高优先级对应的推荐机制为第二推荐机制,则确定模块还用于:
利用前一次实验事件的关键词,从多个未曾进行的多个实验事件中,将与前一次实验事件存在最大相似度的实验事件,确定为推荐实验事件。
10.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求1至8任一所述的故障注入方法的步骤。
CN202210796979.2A 2022-07-08 2022-07-08 一种故障注入方法及装置 Active CN114880157B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210796979.2A CN114880157B (zh) 2022-07-08 2022-07-08 一种故障注入方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210796979.2A CN114880157B (zh) 2022-07-08 2022-07-08 一种故障注入方法及装置

Publications (2)

Publication Number Publication Date
CN114880157A CN114880157A (zh) 2022-08-09
CN114880157B true CN114880157B (zh) 2022-10-14

Family

ID=82682788

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210796979.2A Active CN114880157B (zh) 2022-07-08 2022-07-08 一种故障注入方法及装置

Country Status (1)

Country Link
CN (1) CN114880157B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115729724B (zh) * 2022-11-30 2024-05-10 中电金信软件有限公司 故障注入方法、故障测试系统、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110910201A (zh) * 2019-10-18 2020-03-24 中国平安人寿保险股份有限公司 信息推荐的控制方法、装置、计算机设备及存储介质
CN111448553A (zh) * 2017-12-08 2020-07-24 华为技术有限公司 故障注入系统和故障注入方法
CN112527635A (zh) * 2020-11-30 2021-03-19 北京百度网讯科技有限公司 一种故障注入方法、装置、电子设备以及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111448553A (zh) * 2017-12-08 2020-07-24 华为技术有限公司 故障注入系统和故障注入方法
CN110910201A (zh) * 2019-10-18 2020-03-24 中国平安人寿保险股份有限公司 信息推荐的控制方法、装置、计算机设备及存储介质
CN112527635A (zh) * 2020-11-30 2021-03-19 北京百度网讯科技有限公司 一种故障注入方法、装置、电子设备以及存储介质

Also Published As

Publication number Publication date
CN114880157A (zh) 2022-08-09

Similar Documents

Publication Publication Date Title
CN109271331B (zh) 日志的生成方法、装置、计算机设备及存储介质
US20220182406A1 (en) Analysis apparatus, analysis system, analysis method, and non-transitory computer readable medium storing program
US20120317259A1 (en) Operation managing device and operation management method
CN113312072A (zh) 配置文件更新方法及装置、电子设备和介质
JP6282217B2 (ja) 不正プログラム対策システムおよび不正プログラム対策方法
CN114880157B (zh) 一种故障注入方法及装置
CN112702225B (zh) 云平台性能测试装置、方法、计算机终端和可读存储介质
CN111679968A (zh) 接口调用异常的检测方法、装置、计算机设备及存储介质
US9521136B2 (en) Role-based access tool
US11399071B2 (en) Program operation system and program operation method
EP3861433B1 (en) Upgrades based on analytics from multiple sources
CN110134546B (zh) 批量重启windows系统方法、电子装置及存储介质
CN116643906A (zh) 云平台故障的处理方法、装置、电子设备及存储介质
US10255128B2 (en) Root cause candidate determination in multiple process systems
CN113032033B (zh) 一种大数据处理平台配置的自动优化方法
CN112732367A (zh) 事件流程的处理方法、装置、设备及可读存储介质
CN113656378A (zh) 一种服务器管理方法、装置、介质
US10389593B2 (en) Refining of applicability rules of management activities according to missing fulfilments thereof
JPWO2020065778A1 (ja) 情報処理装置、制御方法、及びプログラム
CN115065597B (zh) 一种容器资源配置方法、装置、介质和设备
CN112463725B (zh) 一种云化架构日志文件批量处理方法、装置及存储介质
JP5299433B2 (ja) 監視抑止エラーメッセージ選択方法及びプログラム
JP2022186542A (ja) テストケース生成装置、テストケース生成方法
CN116028946A (zh) 服务器基线的加固方法、装置及设备
CN116467383A (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