[发明专利]故障模拟方法及其装置有效
申请号: | 201710888636.8 | 申请日: | 2017-09-27 |
公开(公告)号: | CN109559583B | 公开(公告)日: | 2022-04-05 |
发明(设计)人: | 蔡俊杰;童春杰;王朝金 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G09B9/00 | 分类号: | G09B9/00 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 故障 模拟 方法 及其 装置 | ||
本申请实施例提供一种故障模拟方法及其装置,其中方法包括如下步骤:从处于运行状态的分布式系统提供的服务中获取服务统计数据;分析所述服务统计数据,并根据分析结果生成故障逻辑,所述故障逻辑用于模拟故障;将所述故障逻辑分发至模拟节点,由所述模拟节点根据所述故障逻辑模拟故障。本申请实施例可以提高故障模拟的效率,并使得故障模拟结果更贴合实际场景。
技术领域
本申请实施例涉及分布式系统技术领域,具体涉及一种故障模拟方法及其装置。
背景技术
分布式系统是由多个互相连接的处理资源组成的计算机系统,它们在整个系统的控制下协同执行同一个任务,最少依赖于集中的程序、数据或硬件。大型分布式系统,软硬件发生故障是必然的。
随着全云化环境中微服务架构的深化应用,系统复杂度进一步攀升,例如,100个微服务间互相调用的故障发生空间大小是2的100次方,也就是说即使每个微服务的可靠性是99.9%,一个依赖于100个微服务的功能可靠性只有90.5%。故障注入是一种可靠性验证技术,通过受控实验向系统中刻意引入故障,并观察系统中存在故障时的行为,换言之,故障注入是一种模拟故障的方式。故障注入是检验大型分布式云化系统高可用性的重要手段。注入的故障类型通常包括资源类故障和服务类故障,其中重点是服务类故障,因为某一个节点的资源类故障最终表现形式还是该节点所提供的服务发生故障。因此,模拟服务类故障可以更加有效的发现大型分布式系统可能存在的问题,而如何高效地注入故障是当前业界面临的共同课题。
目前,业界的故障注入方法以线性驱动的故障注入(lineage-driven faultinjection,LDFI)方法为主。LDFI方法通过分布式系统正常运行时的各个服务之间的调用关系,来反向推断可能的故障注入点,通过在这些故障注入点注入故障可能会导致系统异常,从而发现可能的故障注入点。但是,LDFI方法仅通过分布式系统所包括的各服务间的调用关系来分析可能的故障注入点,导致故障模拟的效率低下。
发明内容
本申请实施例所要解决的技术问题在于,提供一种故障模拟方法及其装置,可以提高故障模拟的效率,并使得故障模拟结果更贴合实际场景。
本申请实施例第一方面提供一种故障模拟方法,包括:
步骤1:从处于运行状态的分布式系统提供的服务中获取服务统计数据;
步骤2:分析服务统计数据,并根据分析结果生成故障逻辑,故障逻辑用于模拟故障;
步骤3:将故障逻辑分发至模拟节点,由模拟节点根据故障逻辑模拟故障。
本申请实施例第二方面提供一种故障模拟装置,包括处理单元和收发单元,
处理单元,用于从处于运行状态的分布式系统提供的服务中获取服务统计数据;
处理单元,还用于分析服务统计数据,并根据分析结果生成故障逻辑,故障逻辑用于模拟故障;
收发单元,用于将故障逻辑分发至模拟节点,由模拟节点根据故障逻辑模拟故障。
本申请实施例第三方面提供一种故障模拟装置,包括至少一个处理元件和至少一个存储元件,其中至少一个存储元件用于存储程序和数据,至少一个处理元件用于执行本申请实施例第一方面提供的方法。
本申请实施例第四方面提供一种故障模拟装置,包括用于执行以上第一方面的方法的至少一个处理元件(或芯片)。
本申请实施例第五方面提供一种程序,该程序在被处理器执行时用于执行以上第一方面的方法。
本申请实施例第六方面提供一种程序产品,例如计算机可读存储介质,包括第五方面的程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710888636.8/2.html,转载请声明来源钻瓜专利网。