公开/公告号CN113221096A
专利类型发明专利
公开/公告日2021-08-06
原文格式PDF
申请/专利权人 北银金融科技有限责任公司;
申请/专利号CN202110627325.2
申请日2021-06-04
分类号G06F21/52(20130101);G06N7/08(20060101);
代理机构11368 北京世誉鑫诚专利代理有限公司;
代理人孙国栋
地址 100080 北京市海淀区复兴路33号中塔9层
入库时间 2023-06-19 12:07:15
技术领域
本发明涉及系统运维的技术领域,特别是涉及一种在混沌工程中随机事件相关性分析方法及系统。
背景技术
在传统软件系统中,系统组件较少且组件之间的耦合度较高,一般通过高可用和故障演练机制来保证系统的稳定性和可靠性。随着云计算的发展,通过微服务拆分实现系统组件解耦;不断增长的数据和用户规模促使基础设施向大规模分布式方向演进。分布式系统天生有着各种相互依赖,可以出错的地方数不胜数,处理不好就会导致业务受损,或者是其他各种无法预期的异常行为。在复杂的分布式系统中,无法阻止这些故障的发生,应该致力于在这些异常行为被触发之前,尽可能多地识别风险。然后,针对性地进行加固,防范,从而避免故障发生时所带来的严重后果。
混沌工程通过在生产分布式系统上进行实验,主动找出系统中的脆弱环节的方法学。这种通过实证的验证方法显然可以为我们打造更具弹性的系统,同时让我们更透彻的掌握系统运维时的各种行为规律。我们能够在不断打造更具弹性(弹性:系统应对故障、从故障中恢复的能力)系统的同时,树立运行高可用分布式系统的信心。
在混沌工程中,当实验模拟的随机故障触发了系统稳定状态的变化(如服务异常、性能衰减等),则需要分析如何优化系统架构、配置或者逻辑等来提高系统面对实验所含故障场景的应对能力。如何判断系统故障是否由实验直接或间接引起,即故障与系统服务指标的相关性问题,是提升混沌工程实验的有效性和系统优化效率的重要因素;
目前,在混沌工程的实践过程中,最早由Netflix开源了其混沌工程项目ChaosMonkey,以及阿里巴巴的ChaosBlade等,这些工程主要通过周期性地故障注入来验证系统的稳定性,故障场景和系统服务指标之间的相关性主要由经验丰富的工程师来识别和分析,同时也带来了以下问题:
1.效率低,分析人员需要识别无效或间接相关的故障场景。
2.准确性低,分析人员容易在分析过程中因个别现象出现误判或者遗漏。
发明内容
为解决上述技术问题,本发明提供一种通过收集混沌实验过程中的历史数据,从中提取有效数据进行相关性分析,计算出故障和系统指标的相关性系数。通过相关性系数,优化人员可以针对强相关的关系对进行针对性优化,提高混沌实验的有效性和系统优化效率的在混沌工程中随机事件相关性分析方法及系统。
本发明的一种在混沌工程中随机事件相关性分析方法,包括以下步骤:
S1、选择系统服务指标,所述服务指标为可量化的数值类指标,所述服务指标用于直观衡量系统的服务运行情况;
S2、配置系统服务指标期望值,所述期望值为系统设计中系统正常运行的指标值;
S3、实施混沌工程,进行随机故障注入实验,记录每次实验的启动时间;
S4、持续采集系统指标运行状态,指标统计分为两类,包括:累计值:为上一采集周期到当前采集周期的增量值;瞬时值:为直接获取系统当前指标状态值;
S5、按采集间隔计算每个采集点与上一次故障注入时间的时间间隔,计算公式为:
时间间隔=采集时间-上一次故障注入时间;
S6、按采集间隔计算每个采集点的指标变化率,计算公式:
变化率=|当前值-期望值|/期望值*100%;
S7、计算系统指标与故障相关性系数:
S8、根据S7中计算得出的相关性系数定义相关性系数级别;
S9、根据相关性系数分析结果,筛选出强相关组合,作为续系统优化依据。
本发明的一种在混沌工程中随机事件相关性分析方法,所述S7中将时间差和指标变化率作为阶梯数组,采用Spearman等级相关系数计算公式计算得出相关性系数,所述Spearman等级相关系数计算公式为:
本发明的一种在混沌工程中随机事件相关性分析方法,所述S8中相关性系数等级参考梯度为:
ρ位于0.8-1.0之间,相关等级为:极强相关;
ρ位于0.6-0.8之间,相关等级为:强相关;
ρ位于0.4-0.6之间,相关等级为:中等程度相关;
ρ位于0.2-0.4之间,相关等级为:弱相关;
ρ位于0.0-0.2之间,相关等级为:极弱相关或无相关。
本发明的一种在混沌工程中随机事件相关性分析系统,包括:
调度模块,用于系统定时任务的调度和控制,包括发起故障注入实验和周期性数据采集;
采集模块,用于通过系统接口和数据源采集系统服务指标数据;
分析模块,用于计算数据采集点系统指标变化率和采集点与上一个故障注入点的时间间隔;
展示模块,用于展示故障注入时间间隔和系统指标变化率的散列关系和滑动窗口曲线图。
与现有技术相比本发明的有益效果为:通过收集混沌实验过程中的历史数据,从中提取有效数据进行相关性分析,计算出故障和系统指标的相关性系数;通过相关性系数,优化人员可以针对强相关的关系对进行针对性优化,提高混沌实验的有效性和系统优化效率;通过系统指标变化率和实际间隔进行相关性分析,有效筛选无效或间接故障因素,提升系统优化效率。
附图说明
图1是在混沌工程中随机事件相关性分析系统的流程图;
图2是相关性系数散列关系图;
图3是相关性系数滑动窗口曲线图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
实施例一:
1.启动混沌实验,模拟服务进程异常退出故障,记录每次故障模拟触发时间。
2.采集服务可用性状态数据并存入文本中:service_available.log。
3.计算每个采集点与上一个故障模拟点的时间间隔,计算结果存入文本中:service_available.csv,部分内容如下:
times_delay,available_rate
18.635961832483133,18.918898455096535
24.22867155757581,25.018793856051484
23.06889817707555,24.04433275708009
20.39912668852203,20.622725369224906
17.329176286844326,17.639748930886626
14.48293214764584,14.675301739083658。
4.计算相关性系数;绘制散列关系和滑动窗口曲线图,如图2和3所示。
5.相关性分析;对照相关性系数等级,示例中故障与服务可用指标相关性性系数为1,等级为极强相关。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。
机译: RFID驱动的全球物流流程中风险相关性的分析方法和系统
机译: 一种系统和程序,用于预测基于数据增强扩展的人工智能的微生物组群群落与疾病之间的相关性
机译: 下面一种或多种油井特性的分析方法,钻井过程中用于收集和分析一种或多种力测量值的计算机程序和测量系统