linux 故障注入_一种磁盘的故障注入方法、系统及故障管理系统与流程

6175da8ba71e10f2175b84ad6b5f3625.gif

本发明涉及磁盘故障技术领域,特别是涉及一种磁盘的故障注入方法、系统及故障管理系统。

背景技术:

随着科技的发展,计算机已经进入到千家万户。计算机中的数据是存储在内存和磁盘中,内存的数据是随着计算机的关机而消失,磁盘中的数据是永久的保存的,很多应用程序会使用存储在磁盘中的数据。但如果磁盘遇到无法读写的情况,应用程序会无法执行,请求响应不了,会造成很多困扰。因此,对于磁盘可能出现的故障进行研究具有重要的意义。

技术实现要素:

本发明的目的是提供一种磁盘的故障注入方法,为方便用户知道磁盘故障对计算机的影响及寻找磁盘的故障处理解决方案提供了基础;本发明的另一目的是提供一种故障注入系统及故障管理系统。

为解决上述技术问题,本发明提供了一种磁盘的故障注入方法,包括:

disk注入信息获取模块获取预设的disk的故障注入信息;

将所述预设的disk的故障注入信息放入finj结构体中的disk联合体中;

消息队列建立模块建立消息队列;

disk设备注入模块调用发送函数将所述disk联合体中的故障注入信息发送至所述消息队列,进而实现disk的故障注入过程。

优选地,所述获取预设的disk的故障注入信息的过程具体为:

根据命令行接口选择disk故障类型;

确定与所述disk故障类型对应的预设的disk故障注入文件;

对所述预设的disk故障注入文件进行解析,得到所述预设的磁盘的故障注入信息。

优选地,所述发送函数为mq_send函数。

为解决上述技术问题,本发明提供了一种磁盘的故障注入系统,包括:

disk注入信息获取模块,用于获取预设的disk的故障注入信息;将所述预设的disk的故障注入信息放入finj结构体中的disk联合体中;

消息队列建立模块,用于建立消息队列;

disk设备注入模块,用于调用发送函数将所述disk联合体中的故障注入信息发送至所述消息队列,进而实现disk的故障注入过程。

优选地,所述获取预设的disk的故障注入信息的过程具体为:

根据命令行接口选择disk故障类型;

确定与所述disk故障类型对应的预设的disk故障注入文件;

对所述预设的disk故障注入文件进行解析,得到所述预设的磁盘的故障注入信息。

优选地,所述发送函数为mq_send函数。

为解决上述技术问题,本发明提供了一种故障管理系统,包括如上述所述的磁盘的故障注入系统。

优选地,还包括:

检测模块,用于检测所述磁盘的故障参数信息;

诊断模块,用于依据所述磁盘的故障参数信息进行故障诊断,得到诊断结果。

优选地,还包括:

执行模块,用于依据所述诊断结果执行与所述诊断结果对应的预设的故障策略,以消除磁盘故障。

本发明提供了一种磁盘的故障注入方法、系统及故障管理系统,包括disk注入信息获取模块获取预设的disk的故障注入信息;将预设的disk的故障注入信息放入finj结构体中的disk联合体中;消息队列建立模块建立消息队列;disk设备注入模块调用发送函数将disk联合体中的故障注入信息发送至消息队列,进而实现disk的故障注入过程。可见,本发明能够实现将预设的磁盘的故障注入信息注入磁盘,以便得到磁盘的故障响应,为方便用户知道磁盘故障对计算机的影响及寻找磁盘的故障处理解决方案提供了基础。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种磁盘的故障注入方法的过程的流程图;

图2为本发明提供的一种磁盘的故障注入系统的结构示意图;

图3为本发明提供的一种故障管理系统的结构示意图。

具体实施方式

本发明的核心是提供一种磁盘的故障注入方法,为方便用户知道磁盘故障对计算机的影响及寻找磁盘的故障处理解决方案提供了基础;本发明的另一核心是提供一种故障注入系统及故障管理系统。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参照图1,图1为本发明提供的一种磁盘的故障注入方法的过程的流程图,该方法包括:

步骤S11:disk注入信息获取模块获取预设的disk的故障注入信息;

具体地,为了得到disk的各个影响因素,可以预先的设置一些已知的故障注入信息,注入到disk,得到disk的故障响应,再根据disk的故障响应,寻找相应的故障解决方案。

本申请中,在用户态中预设一些disk的故障注入信息,在进行故障注入时disk注入信息获取模块会首先去获取预设的disk的故障注入信息。

作为优选地,获取预设的disk的故障注入信息的过程具体为:

根据命令行接口选择disk故障类型;

确定与disk故障类型对应的预设的disk故障注入文件;

对预设的disk故障注入文件进行解析,得到预设的磁盘的故障注入信息。

在用户态阶段,通过对注入参数类型disk进行对比,指定磁盘的注入处理流程。具体地,在命令行接口中选择disk故障类型,每个故障类型都相应地对应一个故障注入文件,因此根据disk故障类型确定与disk故障类型对应的预设的disk故障注入文件,并对预设的disk故障注入文件进行解析,提取得到预设的disk的故障注入信息。

步骤S12:将预设的disk的故障注入信息放入finj结构体中的disk联合体中;

步骤S13:消息队列建立模块建立消息队列;

可以理解的是,当该故障注入系统在故障注入后,故障管理系统要检测故障参数以进行故障诊断时,这里的消息队列建立故障管理系统的消息队列。

步骤S14:disk设备注入模块调用发送函数将disk联合体中的故障注入信息发送至消息队列,进而实现disk的故障注入过程。

作为优选地,发送函数为mq_send函数。

在提取disk的故障注入信息放入finj结构体中的disk联合体中,然后建立故障管理系统的消息队列,将故障注入信息放入缓存中,最终将故障注入信息使用mq_send函数发送到消息队列中,完成disk的故障注入过程。

下面结合实现本发明的代码框架作介绍:

其中,通过finj结构体存储故障注入数据,finj结构体:type指组件的类型,根据type类型可以判定哪个组件进行注入信息。finj_parse结构体:根据type类型进行选定哪个组件进行故障注入,然后通过parse解析函数对注入文件解析,同时使用submit函数进行故障注入执行。

另外,需要说明的是,本发明提供的disk的故障注入方法是基于linux系统。

本发明提供了一种磁盘的故障注入方法,包括disk注入信息获取模块获取预设的disk的故障注入信息;将预设的disk的故障注入信息放入finj结构体中的disk联合体中;消息队列建立模块建立消息队列;disk设备注入模块调用发送函数将disk联合体中的故障注入信息发送至消息队列,进而实现disk的故障注入过程。可见,本发明能够实现将预设的磁盘的故障注入信息注入磁盘,以便得到磁盘的故障响应,为方便用户知道磁盘故障对计算机的影响及寻找磁盘的故障处理解决方案提供了基础。

与上述方法实施例相适应地,本发明提供了一种磁盘的故障注入系统,请参照图2,图2为本发明提供的一种磁盘的故障注入系统的结构示意图,该系统包括:

disk注入信息获取模块11,用于获取预设的disk的故障注入信息;将预设的disk的故障注入信息放入finj结构体中的disk联合体中;

消息队列建立模块12,用于建立消息队列;

disk设备注入模块13,用于调用发送函数将disk联合体中的故障注入信息发送至消息队列,进而实现disk的故障注入过程。

作为优选地,获取预设的disk的故障注入信息的过程具体为:

根据命令行接口选择disk故障类型;

确定与disk故障类型对应的预设的disk故障注入文件;

对预设的disk故障注入文件进行解析,得到预设的磁盘的故障注入信息。

作为优选地,发送函数为mq_send函数。

对于本发明提供的一种磁盘的故障注入系统的介绍请参照上述方法实施例,本发明在此不再赘述。

本发明提供了一种磁盘的故障注入系统,包括disk注入信息获取模块,用于获取预设的disk的故障注入信息;将预设的disk的故障注入信息放入finj结构体中的disk联合体中;消息队列建立模块,用于建立消息队列;disk设备注入模块,用于调用发送函数将disk联合体中的故障注入信息发送至消息队列,进而实现disk的故障注入过程。可见,本发明能够实现将预设的磁盘的故障注入信息注入磁盘,以便得到磁盘的故障响应,为方便用户知道磁盘故障对计算机的影响及寻找磁盘的故障处理解决方案提供了基础。

与上述方法及系统实施例相适应地,本发明还提供了一种故障管理系统,请参照图3,图3为本发明提供的一种故障管理系统的结构示意图,该系统包括如上述的磁盘的故障注入系统1。

作为优选地,还包括:

检测模块2,用于检测磁盘的故障参数信息;

诊断模块3,用于依据磁盘的故障参数信息进行故障诊断,得到诊断结果。

作为优选地,还包括:

执行模块4,用于依据诊断结果执行与诊断结果对应的预设的故障策略,以消除磁盘故障。

具体地,故障注入系统1对disk进行故障注入后,检测模块2检测得到disk的故障参数信息,诊断模块3对这些故障参数信息进行分析,并进行故障诊断,得到诊断结果,如果故障管理系统中已经预先设置有相应的故障策略,则执行模块4执行与诊断结果对应的预设的故障策略,以消除disk故障,如果没有,则用户可以依据这些故障参数信息或者诊断结果去寻找相应的disk的故障处理解决方案。

需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值