[发明专利]故障存储方法和装置、故障查找方法和装置有效
申请号: | 201410373049.1 | 申请日: | 2014-07-31 |
公开(公告)号: | CN105335245B | 公开(公告)日: | 2019-02-01 |
发明(设计)人: | 崔庆明;王平;王新宇 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 翟姝红 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 故障 存储 方法 装置 查找 | ||
本发明公开了一种故障存储方法和装置、故障查找方法和装置,属于故障注入领域。故障存储方法包括:注入故障时获取待注入故障的描述符作哈希运算,从结果中提取待注入故障的特征值;将多个待注入故障的特征值中的每个特征值根据二叉搜索树插入算法确定对应的红黑树节点;存储待注入故障并获取存储地址;将每个待注入故障的特征值和存储地址组成键值对存储在红黑树节点中。故障查找方法包括:查找故障时获取待查找故障的描述符作哈希运算,从结果中提取特征值并作为索引遍历红黑树节点,判断是否存在该特征值,是则确定故障存在,返回该特征值对应的故障信息的存储地址;否则确定故障不存在。本发明有效地提高了故障注入系统中故障查找的效率。
技术领域
本发明涉及故障注入领域,特别涉及一种故障存储方法和装置、故障查找方法和装置。
背景技术
故障注入技术目前已经从单故障注入发展到了多故障注入。通常情况下,故障注入系统不支持注入两个相同的故障,因此,在注入故障之前需要先遍历系统当前已注入的所有故障,以避免重复注入。在遍历的过程中,故障查询是非常关键的步骤,将直接影响每次故障注入的响应时间和处理时间。
目前,故障注入系统中的故障普遍以链表的形式存储,由于链表本身具有一个节点指向另一个节点的特性,在进行故障查找时,只能以遍历链表的形式从链表中的第一个节点开始一个接一个地进行查找,直到找到需要的故障为止,这种方式查找速度慢,效率很低。
发明内容
有鉴于此,本发明提供了一种故障存储方法和装置、故障查找方法和装置,以提高故障注入系统中故障查找的速度。所述技术方案如下:
第一方面,本发明提供了一种故障存储方法,所述方法包括:
在注入故障时,获取待注入故障的描述符;
对所述描述符进行哈希运算,从所述哈希运算的结果中提取特征值;
将多个所述待注入故障的特征值中的每一个特征值根据二叉搜索树插入算法确定与所述每一个特征值对应的红黑树节点;
存储所述待注入故障,并获取所述待注入故障的存储地址;
将所述每一个待注入故障的特征值和存储地址按照如下针对待注入故障A的特征值和存储地址的处理方式处理:
将所述待注入故障A的特征值与所述待注入故障A的存储地址组成键值对,并将所述键值对存储在与所述待注入故障A的特征值对应的红黑树节点。
结合上述第一方面,在第一种实施方式下,所述方法还包括:
所述描述符包括:故障类别编号;或者,
所述描述符包括:故障类别编号,以及下面三种参数中的至少一种:故障发生对象、故障作用域和故障触发条件。
结合上述第一方面或第一种实施方式,在第二种实施方式下,所述对所述描述符进行哈希运算,从所述哈希运算的结果中提取所述待注入故障的特征值,包括:
对所述描述符进行消息摘要算法MD5运算,在运算结果中提取连续的N个位中的值作为所述待注入故障的特征值;
所述N是根据处理器的位数确定的,是指可由所述处理器一次性处理的位的个数。
结合上述第一方面、第一方面的第一种实施方式或第一方面的第二种实施方式,在第三种实施方式下,所述对所述描述符进行哈希运算,包括:
当所述描述符包括至少两个参数时,先用连接符将所述描述符中的各个参数连接起来,然后对所述连接后的描述符进行哈希运算。
第二方面,本发明提供了一种故障查找方法,该方法包括:在查找故障时,获取待查找故障的描述符;
对所述待查找故障的描述符进行哈希运算,从所述哈希运算的结果中提取特征值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410373049.1/2.html,转载请声明来源钻瓜专利网。