混沌实验方法、装置、存储介质和设备与流程

allin2023-03-20  56



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.图1a为本技术实施例提供的一种混沌实验方法的流程示意图;
46.图1b为本技术实施例提供的一种混沌实验方法的流程示意图;
47.图2为本技术实施例提供的另一种混沌实验方法的流程示意图;
48.图3为本技术实施例提供的一种混沌实验装置的架构示意图。
具体实施方式
49.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
50.如图1a和图1b所示,为本技术实施例提供的一种混沌实验方法的流程示意图,包括如下步骤:
51.s101:预先配置混沌工程所需的故障模型以及监控模型。
52.其中,故障模型包括对服务器进行模拟破坏,以使服务器发生故障的逻辑。不同类型的故障模型用于破坏服务器的不同类型资源,以使服务器发生不同类型的故障。具体的,利用故障模型破坏服务器的内存资源,以使服务器的内存故障,利用故障模型破坏服务器的cpu资源,以使服务器宕机等。
53.在本技术实施例中,监控模型包括监控服务器受故障影响下的运行状况的逻辑。具体的,服务器受故障影响下的运行状况包括但不限于为:故障对服务器的影响时长、服务器受故障影响下的业务处理水平。
54.s102:对故障模型进行解析,得到与故障模型对应的故障类型。
55.s103:对监控模型进行解析,得到与监控模型对应的故障类型。
56.s104:基于故障类型、与故障类型对应的故障模型以及监控模型,构建知识库。
57.s105:在接收到用户的实验指令后,对实验指令进行解析,得到待测故障类型、被
测系统的环境信息和根权限。
58.其中,环境信息用于指示被测系统中需要进行模拟破坏的服务器节点,根权限用于指示服务器节点的控制权限。
59.需要说明的是,被测系统通常具有多个服务器节点,用户可以根据实际情况,选择合适的服务器节点进行模拟破坏。
60.s106:从知识库中获取与待测故障类型对应的故障模型以及监控模型。
61.s107:基于与待测故障类型对应的故障模型以及监控模型,生成应用程序包。
62.s108:在与服务器节点建立连接后,将应用程序包发送至服务器节点。
63.s109:基于根权限所示的控制权限,控制服务器节点运行应用程序包中所示的逻辑,得到服务器节点受故障影响下的运行状况。
64.s110:基于服务器节点受故障影响下的运行状况,生成混沌实验报告。
65.s111:将混沌实验报告输入至预先构建的分析模型中,得到分析模型输出的分析结果。
66.其中,分析结果包括被测系统的健康度。一般来讲,被测系统的健康度越高,则代表被测系统的可靠性越高。
67.可选的,分析模型基于样本混沌实验报告作为输入,并以人为预先针对样本系统所标识的健康度作为训练目标,预先训练得到。在本技术实施例中,分析模型包括但不限于为机器学习模型。
68.s112:通过预设前端界面向用户展示被测系统的健康度。
69.综上所述,基于本实施例所示方案,用户无需手工编排混沌实验,只需确定待测故障类型以及被测系统的环境信息,便可以得到被测系统的健康度,完成对被测系统的混沌实验,有效降低了混沌实验的操作门槛,有利于混沌实验的推广。
70.需要说明的是,上述实施例提及的s101,为本技术所述混沌实验方法的一种可选的实现方式。此外,上述实施例提及的s112,也为本技术所述混沌实验方法的一种可选的实现方式。为此,上述实施例提及的流程,可以概括为图2所述的方法。
71.如图2所示,为本技术实施例提供的另一种混沌实验方法的流程示意图,包括如下步骤:
72.s201:在接收到用户的实验指令后,对实验指令进行解析,得到待测故障类型、被测系统的环境信息和根权限。
73.其中,环境信息用于指示被测系统中需要进行模拟破坏的服务器节点;根权限用于指示服务器节点的控制权限。
74.s202:从预先构建的知识库中获取与待测故障类型对应的故障模型以及监控模型。
75.其中,故障模型包括对服务器节点进行模拟破坏,以使服务器节点发生故障的逻辑;监控模型包括用于监控服务器节点受故障影响下的运行状况的逻辑。
76.s203:基于根权限所示的控制权限,控制服务器节点运行故障模型和监控模型,得到服务器节点受故障影响下的运行状况。
77.s204:基于服务器节点受故障影响下的运行状况,生成混沌实验报告。
78.s205:将混沌实验报告输入至预先训练得到的分析模型中,得到分析模型输出的
分析结果。
79.其中,分析结果包括被测系统的健康度。
80.综上所述,基于本实施例所示方案,用户无需手工编排混沌实验,只需确定待测故障类型以及被测系统的环境信息,便可以得到被测系统的健康度,完成对被测系统的混沌实验,有效降低了混沌实验的操作门槛,有利于混沌实验的推广。
81.需要说明的是,本发明提供的混沌实验方法可用于人工智能领域、区块链领域、分布式领域、云计算领域、大数据领域、物联网领域、移动互联领域、网络安全领域、芯片领域、虚拟现实领域、增强现实领域、全息技术领域、量子计算领域、量子通信领域、量子测量领域、数字孪生领域或金融领域。上述仅为示例,并不对本发明提供的混沌实验方法的应用领域进行限定。
82.本发明提供的混沌实验方法可用于金融领域或其他领域,例如,可用于金融领域中的交易应用场景。其他领域为除金融领域之外的任意领域,例如,电力领域。上述仅为示例,并不对本发明提供的混沌实验方法的应用领域进行限定。
83.与上述本技术实施例提供的混沌实验方法相对应,本技术实施例还提供了一种混沌实验装置。
84.如图3所示,为本技术实施例提供的一种混沌实验装置的架构示意图,包括:
85.解析单元100,用于在接收到用户的实验指令后,对实验指令进行解析,得到待测故障类型、被测系统的环境信息和根权限;环境信息用于指示被测系统中需要进行模拟破坏的服务器节点;根权限用于指示服务器节点的控制权限。
86.获取单元200,用于从预先构建的知识库中获取与待测故障类型对应的故障模型以及监控模型;故障模型包括对服务器节点进行模拟破坏,以使服务器节点发生故障的逻辑;监控模型包括用于监控服务器节点受故障影响下的运行状况的逻辑。
87.可选的,获取单元200具体用于:预先配置混沌工程所需的故障模型以及监控模型;对故障模型进行解析,得到与故障模型对应的故障类型;对监控模型进行解析,得到与监控模型对应的故障类型;基于故障类型、与故障类型对应的故障模型以及监控模型,构建知识库。
88.控制单元300,用于基于根权限所示的控制权限,控制服务器节点运行故障模型和监控模型,得到服务器节点受故障影响下的运行状况。
89.可选的,控制单元300具体用于:基于与待测故障类型对应的故障模型以及监控模型,生成应用程序包;在与服务器节点建立连接后,将应用程序包发送至服务器节点;基于根权限所示的控制权限,控制服务器节点运行应用程序包中所示的逻辑,得到服务器节点受故障影响下的运行状况。
90.生成单元400,用于基于服务器节点受故障影响下的运行状况,生成混沌实验报告。
91.分析单元500,用于将混沌实验报告输入至预先训练得到的分析模型中,得到分析模型输出的分析结果;分析结果包括被测系统的健康度。
92.可选的,分析单元500具体用于:基于样本混沌实验报告作为输入,并以人为预先针对样本系统所标识的健康度作为训练目标,预先训练得到分析模型。
93.综上所述,基于本实施例所示方案,用户无需手工编排混沌实验,只需确定待测故
障类型以及被测系统的环境信息,便可以得到被测系统的健康度,完成对被测系统的混沌实验,有效降低了混沌实验的操作门槛,有利于混沌实验的推广。
94.本技术还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,程序执行上述本技术提供的混沌实验方法。
95.本技术还提供了一种混沌实验设备,包括:处理器、存储器和总线。处理器与存储器通过总线连接,存储器用于存储程序,处理器用于运行程序,其中,程序运行时执行上述本技术提供的混沌实验方法,包括如下步骤:
96.在接收到用户的实验指令后,对所述实验指令进行解析,得到待测故障类型、被测系统的环境信息和根权限;所述环境信息用于指示所述被测系统中需要进行模拟破坏的服务器节点;所述根权限用于指示所述服务器节点的控制权限;
97.从预先构建的知识库中获取与所述待测故障类型对应的故障模型以及监控模型;所述故障模型包括对所述服务器节点进行模拟破坏,以使所述服务器节点发生故障的逻辑;所述监控模型包括用于监控所述服务器节点受所述故障影响下的运行状况的逻辑;
98.基于所述根权限所示的控制权限,控制所述服务器节点运行所述故障模型和所述监控模型,得到所述服务器节点受所述故障影响下的运行状况;
99.基于所述服务器节点受所述故障影响下的运行状况,生成混沌实验报告;
100.将所述混沌实验报告输入至预先训练得到的分析模型中,得到所述分析模型输出的分析结果;所述分析结果包括所述被测系统的健康度。
101.具体的,在上述实施例的基础上,所述知识库的构建过程包括:
102.预先配置混沌工程所需的故障模型以及监控模型;
103.对所述故障模型进行解析,得到与所述故障模型对应的故障类型;
104.对所述监控模型进行解析,得到与所述监控模型对应的故障类型;
105.基于故障类型、与所述故障类型对应的故障模型以及监控模型,构建所述知识库。
106.具体的,在上述实施例的基础上,所述基于所述根权限所示的控制权限,控制所述服务器节点运行所述故障模型和所述监控模型,得到所述服务器节点受所述故障影响下的运行状况,包括:
107.基于与所述待测故障类型对应的故障模型以及监控模型,生成应用程序包;
108.在与所述服务器节点建立连接后,将所述应用程序包发送至所述服务器节点;
109.基于所述根权限所示的控制权限,控制所述服务器节点运行所述应用程序包中所示的逻辑,得到所述服务器节点受所述故障影响下的运行状况。
110.具体的,在上述实施例的基础上,所述分析模型的训练过程包括:
111.基于样本混沌实验报告作为输入,并以人为预先针对样本系统所标识的健康度作为训练目标,预先训练得到所述分析模型。
112.本技术实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本技术实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光
盘等各种可以存储程序代码的介质。
113.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
114.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种混沌实验方法,其特征在于,包括:在接收到用户的实验指令后,对所述实验指令进行解析,得到待测故障类型、被测系统的环境信息和根权限;所述环境信息用于指示所述被测系统中需要进行模拟破坏的服务器节点;所述根权限用于指示所述服务器节点的控制权限;从预先构建的知识库中获取与所述待测故障类型对应的故障模型以及监控模型;所述故障模型包括对所述服务器节点进行模拟破坏,以使所述服务器节点发生故障的逻辑;所述监控模型包括用于监控所述服务器节点受所述故障影响下的运行状况的逻辑;基于所述根权限所示的控制权限,控制所述服务器节点运行所述故障模型和所述监控模型,得到所述服务器节点受所述故障影响下的运行状况;基于所述服务器节点受所述故障影响下的运行状况,生成混沌实验报告;将所述混沌实验报告输入至预先训练得到的分析模型中,得到所述分析模型输出的分析结果;所述分析结果包括所述被测系统的健康度。2.根据权利要求1所述的方法,其特征在于,所述知识库的构建过程包括:预先配置混沌工程所需的故障模型以及监控模型;对所述故障模型进行解析,得到与所述故障模型对应的故障类型;对所述监控模型进行解析,得到与所述监控模型对应的故障类型;基于故障类型、与所述故障类型对应的故障模型以及监控模型,构建所述知识库。3.根据权利要求1所述的方法,其特征在于,所述基于所述根权限所示的控制权限,控制所述服务器节点运行所述故障模型和所述监控模型,得到所述服务器节点受所述故障影响下的运行状况,包括:基于与所述待测故障类型对应的故障模型以及监控模型,生成应用程序包;在与所述服务器节点建立连接后,将所述应用程序包发送至所述服务器节点;基于所述根权限所示的控制权限,控制所述服务器节点运行所述应用程序包中所示的逻辑,得到所述服务器节点受所述故障影响下的运行状况。4.根据权利要求1所述的方法,其特征在于,所述分析模型的训练过程包括:基于样本混沌实验报告作为输入,并以人为预先针对样本系统所标识的健康度作为训练目标,预先训练得到所述分析模型。5.一种混沌实验装置,其特征在于,包括:解析单元,用于在接收到用户的实验指令后,对所述实验指令进行解析,得到待测故障类型、被测系统的环境信息和根权限;所述环境信息用于指示所述被测系统中需要进行模拟破坏的服务器节点;所述根权限用于指示所述服务器节点的控制权限;获取单元,用于从预先构建的知识库中获取与所述待测故障类型对应的故障模型以及监控模型;所述故障模型包括对所述服务器节点进行模拟破坏,以使所述服务器节点发生故障的逻辑;所述监控模型包括用于监控所述服务器节点受所述故障影响下的运行状况的逻辑;控制单元,用于基于所述根权限所示的控制权限,控制所述服务器节点运行所述故障模型和所述监控模型,得到所述服务器节点受所述故障影响下的运行状况;生成单元,用于基于所述服务器节点受所述故障影响下的运行状况,生成混沌实验报告;
分析单元,用于将所述混沌实验报告输入至预先训练得到的分析模型中,得到所述分析模型输出的分析结果;所述分析结果包括所述被测系统的健康度。6.根据权利要求5所述的装置,其特征在于,所述获取单元具体用于:预先配置混沌工程所需的故障模型以及监控模型;对所述故障模型进行解析,得到与所述故障模型对应的故障类型;对所述监控模型进行解析,得到与所述监控模型对应的故障类型;基于故障类型、与所述故障类型对应的故障模型以及监控模型,构建所述知识库。7.根据权利要求5所述的装置,其特征在于,所述控制单元具体用于:基于与所述待测故障类型对应的故障模型以及监控模型,生成应用程序包;在与所述服务器节点建立连接后,将所述应用程序包发送至所述服务器节点;基于所述根权限所示的控制权限,控制所述服务器节点运行所述应用程序包中所示的逻辑,得到所述服务器节点受所述故障影响下的运行状况。8.根据权利要求5所述的装置,其特征在于,所述分析单元具体用于:基于样本混沌实验报告作为输入,并以人为预先针对样本系统所标识的健康度作为训练目标,预先训练得到所述分析模型。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,所述程序执行权利要求1-4任一所述的混沌实验方法。10.一种混沌实验设备,其特征在于,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1-4任一所述的混沌实验方法。

技术总结
本申请公开了一种混沌实验方法、装置、存储介质和设备,可应用于分布式领域,该方法为:在接收到用户的实验指令后,对实验指令进行解析,得到待测故障类型、被测系统的环境信息和根权限;从知识库中获取与待测故障类型对应的故障模型以及监控模型;基于控制权限,控制服务器节点运行故障模型和监控模型,得到服务器节点受故障影响下的运行状况;基于服务器节点受故障影响下的运行状况,生成混沌实验报告;将混沌实验报告输入至分析模型中,得到分析模型输出的分析结果。利用该方法,用户无需手工编排混沌实验,只需确定待测故障类型以及被测系统的环境信息,便可以得到被测系统的混沌实验,有效降低混沌实验的操作门槛,有利混沌实验的推广。验的推广。验的推广。


技术研发人员:黄石林 曾庆谦 沈晶晶 胡光辉
受保护的技术使用者:中国银行股份有限公司
技术研发日:2022.03.30
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-6810.html

最新回复(0)