一种混沌工程参数调整方法、装置、电子设备及程序产品与流程
本申请涉及计算机,特别涉及一种混沌工程参数调整方法、装置、电子设备及程序产品。
背景技术:
1、在分布式系统混沌工程测试领域,故障注入参数自适应调控是保障分布式系统稳定性测试效果的关键技术之一。传统故障注入方案多采用人工固定参数或静态阈值配置策略,并依赖运维人员结合业务经验手动调整故障强度、注入间隔等参数,难以适配不同业务负载、系统运行指标波动以及多类型故障场景动态变化的复杂测试需求。
2、因此,亟需一种能够实现故障注入参数自适应调整,并保障分布式系统安全运行的混沌工程参数调整方法。
技术实现思路
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、要理解的是,前面的一般描述和下面的详细描述两者都是示例性的,并且意图在于提供要求保护的技术的进一步说明。
1.一种混沌工程参数调整方法,其特征在于,包括:
2.根据权利要求1所述的混沌工程参数调整方法,其特征在于,预设的所述约束规则包括针对不同故障类型分别设定的节点影响比例上限和连续注入间隔下限。
3.根据权利要求2所述的混沌工程参数调整方法,其特征在于,判断所述故障注入参数指令中的所述故障参数是否超出预设的所述约束规则所限定的范围,包括:
4.根据权利要求1所述的混沌工程参数调整方法,其特征在于,在执行故障注入操作的过程中,监控所述分布式系统的运行指标;
5.根据权利要求1所述的混沌工程参数调整方法,其特征在于,根据所述故障注入执行结果计算当前所述故障注入参数指令对应的所述奖励值,包括:
6.根据权利要求5所述的混沌工程参数调整方法,其特征在于,所述实时负载状态包括所述分布式系统的中央处理器利用率和内存占用率;所述故障覆盖率指标根据已注入故障类型的数量与预设的可注入故障类型的总数量的比值进行计算;
7.根据权利要求1所述的混沌工程参数调整方法,其特征在于,基于所述奖励值更新所述强化学习智能体的所述策略网络参数,包括:
8.一种混沌工程参数调整装置,其特征在于,包括:
9.根据权利要求8所述的混沌工程参数调整装置,其特征在于,所述奖励计算模块包括:
10.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的混沌工程参数调整方法。
11.一种计算机程序产品,包括计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的混沌工程参数调整方法。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com