一种存储设备自动检测及修复的方法和系统的制作方法

文档序号:6483976阅读:127来源:国知局
专利名称:一种存储设备自动检测及修复的方法和系统的制作方法
技术领域
本发明涉及计算机数据的信息安全技术领域,更具体地说,涉及一种存储设备自 动检测及修复的方法和系统。
背景技术
嵌入式系统是一种专用计算机系统,以应用为中心,以计算机技术为基础,并且软 硬件可裁剪,并且对系统功能、可靠性、成本、体积、功耗有严格要求。在诸多的嵌入式设备 中,内部存储系统是一个极为关键的部分,如果存储系统出现故障或者资源不足,则会导致 整个嵌入式设备死机,甚至再也无法使用。目前大多数的嵌入式设备中,广泛使用了高性能和大容量的存储设备,诸如Flash Memory (闪存)、EEPROM(Electrically Erasable Programmable ReadOnly Memory,电可 擦写可编程只读存储器)、硬盘、磁盘等,这些存储设备都有一定的容量可以存储程序、数据 等,并且在断电后存在其中的程序和数据不会丢失,在下一次开启设备的时候可以再次使用。现有的嵌入式设备多是使用硬盘作为主要存储设备,许多用户面临的一个重要问 题是由于硬盘操作带来的计算机数据的丢失。在嵌入式设备应用过程中对硬盘的操作除了 电力操作之外还有机械操作。可以理解的是,由于这些操作中的自然因素或人为因素,硬盘 在运行时可能会发生故障,这大大增加了发生数据错误(包括数据丢失、数据损坏)的概 率。由于容易发生数据错误,很多嵌入式系统使用只读文件系统,这样虽然安全,但丧失了 系统的灵活性。目前已存在多种用于存储设备进行存储保护的方法,例如利用硬盘存储区的镜像进行备份的方法这种方法可以快速备份和恢复存储器中 的数据,并且能够保证数据不会被破坏,但是这种方法是在固定时间范围内进行的保护,如 果在某一个不可预知的时间段内系统出现错误,而此时又未到备份镜像的固定时间,则系 统中的错误不能够被修复。利用硬件机制进行保护的方法这种方法从硬件的层面上对硬盘中的数据进行保 护和恢复,可以恢复各种有意或无意导致的数据丢失,尤其是在突然断开硬件连接或是硬 件工作不正常的时候。但是,这种方法仍缺少对于数据传输过程中的突发事件的保护,在系 统随机出现错误的情况下同样会导致不可预知的错误。利用开机遍历扫描存储设备进行保护这种方法在PC机上使用较为普遍,可以有 效地保证PC每一次开机后系统会正常启用。但是,由于PC机比嵌入式环境更为宽松,同时 PC机并不支持当系统出现错误后的立刻检查,也就是说只有PC机每次开机的时候,才会发 现错误,因此这是一种被动等待的方式,不适合于嵌入式系统保护关键数据。可见,当前嵌入式设备的存储系统在运行中仍然存在很多缺点,特别是如果存储 设备在某一个不可预知的时间段内出现错误,尤其是数据传输过程中的突发事件,还没有 任何机制可以保证能够彻底发现错误并进行相应的修复和恢复。

发明内容
有鉴于此,本发明实施例提供一种存储设备自动检测及修复的方法和系统,能够 随时监测存储设备中出现的数据错误,对于存储区域内的数据进行高效的实时保护。本发明实施例是这样实现的实时监测存储设备的读写操作,备份与存储设备的读写操作相应的数据;判断所述存储设备的读写操作是否造成数据错误;如果发生数据错误,则通过相应的备份数据覆盖发生错误的数据进行数据的修复 和恢复;如果未发生数据错误,则继续监测存储设备的读写操作是否造成数据错误。优选的,所述监测存储设备的读写操作可以通过以下方式触发当所述存储设备的读写操作被触发时,所述监测自动被触发;或者,由用户的输入 控制选择触发所述监测。优选的,所述监测存储设备的读写操作包括按照预设的时间间隔,定时扫描所述存储设备读写操作相应的数据,或者,当所述 存储设备的读写操作被触发时,自动对存储设备读写操作相应的数据进行扫描。进一步,所述备份与存储设备的读写操作相应的数据包括按照预设的时间间隔,定时进行数据备份,或者,当所述存储设备的读写操作被触 发时,自动进行数据备份。优选的,所述扫描通过用户的输入控制进行触发。优选的,所述数据备份通过用户的输入控制进行触发。本发明中,所述数据错误包括数据丢失和/或数据损坏。根据本发明的实施例,还公开了一种存储设备自动检测及修复的系统,用于对嵌 入式设备中的存储设备进行自动检测及修复,包括运行控制单元,用于控制对所述存储设备的读写操作进行监测,根据监测结果控 制数据备份和/或修复;实时监测单元,用于实时监测存储设备的读写操作,判断所述存储设备的读写操 作是否造成数据错误,并将监测结果反馈至运行控制单元;数据备份单元,用于接收所述运行控制单元的备份指令,备份与存储设备的读写 操作相应的数据;数据修复单元,用于接收所述运行控制单元的修复指令,通过所述数据备份单元 中相应的备份数据覆盖发生错误的数据进行数据的修复和恢复。进一步,所述系统还包括用户输入单元,用于人为输入控制选择触发实时监测单元,并将用户输入指令发 送至运行控制单元。优选的,所述实时监测单元包括第一实时监测单元,用于按照预设的时间间隔,定时扫描与所述存储设备读写操 作相应的数据;第二实时监测单元,用于当所述存储设备的读写操作被触发时,自动对存储设备 读写操作相应的数据进行扫描。
优选的,所述数据备份单元包括第一数据备份单元,用于按照预设的时间间隔,定时进行数据备份;第二数据备份单元,用于当所述存储设备的读写操作被触发时,自动进行数据备 份。对现有技术相比, 本发明实施例提供的技术方案具有以下优点和特点首先,本发明实施例针对存储设备的读写操作过程进行实时监测,通过对读写操 作相应的数据的备份,进行数据的自动保护,当监测到发生存储数据错误时,立刻做出响 应,自动触发相应数据的修复,避免出现由于数据丢失或损坏造成的数据错误;并且,本发明实施例还提供了用户人为激活存储设备实时监测的功能,可以通过 简单的终端即可实现该功能的激活,技术实现简单,无技术障碍。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图 获得其他的附图。图1为本发明一种存储设备自动检测及修复的方法实施例的步骤流程图;图2是一个媒体播放器进行自动检测及修复的方法步骤流程图;图3是利用相应图2的媒体播放器的用户输入控制功能,进行自动检测及修复的 步骤流程图;图4是本发明的一种存储设备自动检测及修复的系统实施例的结构框图;图5是说明本发明实施例的UML序列图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述。本发明的核心构思在于,针对嵌入式设备中的存储系统的读写操作过程进行实时 监测,并对读写操作过程中的相应数据进行自动保护,当发生存储数据错误时,立即触发数 据的修复。本发明可以通过对存储系统进行监测的同时,及时备份关键的数据,并在修复过 程中优先利用备份文件恢复关键的数据。参考图1,示出了本发明一种存储设备自动检测及修复的方法实施例的步骤流程 图,具体可以包括以下步骤步骤101、实时监测存储设备的读写操作,备份与存储设备的读写操作相应的数 据;步骤102、判断所述存储设备的读写操作是否造成数据错误,如果是,则执行步骤 103;如果否,则执行步骤104;步骤103、如果发生数据错误,则通过相应的备份数据覆盖发生错误的数据进行数 据的修复和恢复;步骤104、如果未发生数据错误,则继续监测存储设备的读写操作是否造成数据错误。硬盘故障可以造成灾难性的后果,对于用户来说,特别是商业用户而言,数据才是系统中最昂贵的部分,他们需要的是能够对可能出现的由于故障产生的数据错误进行实时 监测。通常我们面对的硬盘故障可以分为两大类不可预测故障和可预测故障。硬盘故障可以导致与硬盘读写操作相关的数据发生错误,包括数据的丢失或是损坏。不可预测故障,此处指的是在硬盘运行过程中,由于外围电路突然掉电,很容易造成硬盘数据的丢失或是损坏。可预测故障具有在硬盘完全不能工作前,其相应的参数会随时间发生变化的特 点。此类故障中包括软件故障和硬件故障。许多机械故障都被看作是典型的可预测故障。 根据这一特点,可以通过实时监测技术监测硬盘的属性来进行故障预测、分析和提供建议, 从而加以防范。在实时监测过程中,由硬盘的监测电路和主机上的监测软件对硬盘的运行 情况与历史记录及预设的安全值进行分析、比较,当出现安全值范围以外的情况时,会自动 向用户发出警告,而更先进的技术还可以提醒网络管理员的注意。所述步骤102中判断所述存储装置的读写操作是否造成数据错误,通常可以借助 于循环校验码(CRC码)进行判断。CRC码是数据通信领域中最常用的一种差错校验码,实 际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据 重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通讯出现错误。关于 应用CRC码进行数据错误判断的具体过程,属于本领域专业技术人员所熟知的技术,本发 明在此不再进行赘述。本发明提供的存储设备自动检测及修复机制,可以随时监测存储设备中可能出现 的数据错误,同时对读写操作过程中的相应数据进行自动备份保护,自动降低硬盘的运行 速度,把重要数据文件转存到其它安全扇区,甚至把文件备份到其它硬盘或存储设备。当发 生存储数据错误时,立即触发数据的修复。可见,本发明能够兼顾上述不可预测故障和可预 测故障造成的数据错误,从而对于存储区域内的数据进行高效、便捷的实时保护。为了增加对于硬盘故障实时监测的可操作性,可以增加用户操作的介入,通过用 户的输入控制对于硬盘的扫描监测,以及在故障发生之前,发出提醒用户备份数据的通知, 用户手动控制备份关键文件,进行数据保护。对于安全性要求较高的系统来说,实时监测系统随时可能出现的错误就显得格外 重要。因此,可以通过设置当存储设备的读写操作被触发时,自动对存储设备读写操作的相 应数据进行扫描,以及自动进行相应数据的备份,对存储设备进行实时的监测和保护,提高 系统的安全性及稳定性。对于安全性要求较低的系统来说,则可以选择定时扫描存储设备读写操作相应的 数据,对随时可能出现的数据错误进行监测。扫描的频率间隔可以按照实际的操作需要进 行预先设置,在固定的时间间隔,系统会自动对存储设备的以及存储设备的读写操作过程 进行扫描。同时,在固定的时间内,设置存储设备进行相应数据的备份。为了使本领域的技术人员更好地理解本发明,以下以一个简单而典型的媒体播放 器为例,详细说明所述存储设备自动监测及修复的方法。参照图2,示出了一个媒体播放器进行自动监测及修复的方法步骤流程图,具体可以包括以下步骤步骤201、当媒体播放器上电启动、控制系统循环执行后,启动实时监测功能,对媒 体播放器的任何读写操作进行监测;步骤202、扫描存储区内与读写操作相应的数据部分,该扫描过程可以分为定时 扫描及触发式扫描,也就是说在固定时间间隔或触发读写操作的时候,系统会自动扫描存 储区中与读写操作相应的部分数据;步骤203、备份与读写操作相应的数据或是按照用户的定义备份关键数据,该备份 的过程也可以分为定时备份及触发式备份,也就是说在固定间隔或触发读写操作的时候, 系统会自动备份相应读写数据区或关键数据区数据,为了进一步提高数据的安全性,可以 将备份数据存于另一块非易失性存储设备上;图中所示K200、K201分别表示定时监测控制的存储区及备份文件所处的另一个 存储区;步骤204、判断媒体播放器的存储区内是否发生数据错误问题,如果是,则执行步 骤205 ;如果否,则返回步骤202,继续定时监测媒体播放器的存储区;步骤205、发现存储区出现数据错误问题,则向用户发出提示信息提示用户该媒 体播放器的存储区内发生数据错误,需进行数据修复;步骤206、从备份区K201获取相应数据,并优先由该获取数据覆盖发生错误的数 据部分,完成数据的修复;步骤207、发生错误的数据经过恢复之后,则自动返回步骤201,重新引导系统继 续对媒体播放器的存储区内数据进行实时监测,开始新一轮的错误数据的自动监测及修复 操作。上述的媒体播放器进行自动监测及修复过程,是在该媒体播放器进行读写操作的 同时或在预设时间内自动触发进行的。实际应用中,媒体播放器可以单独具备该自动监测 及修复的功能,也可以同时为该媒体播放器设置由用户输入控制触发媒体播放器实时监测 及修复的可选择功能,使得媒体播放器开启后,用户可以随时根据需要对媒体播放器存储 区内的数据进行实时监测,并及时修复发生错误的数据。图3给出了利用该媒体播放器的 用户输入控制功能,进行数据错误扫描及数据备份的步骤流程图步骤301、当媒体播放器上电启动、控制系统循环执行后,用户通过外部输入控制, 激活该媒体播放器的实时监测功能,对媒体播放器的任何读写操作进行监测,在这个时刻, 用户的任何输入也会加入到监测范畴内;步骤302、根据用户的输入控制扫描存储区的文件;实际应用过程中,可以按照用户的指定读取路径,对于需要扫描的存储区内的文 件进行选择,例如指定具体的文件夹。步骤303、根据用户的输入控制进行关键文件的备份操作,将备份数据存于另一块 非易失性存储器上;图中所示K300、K301分别表示根据用户输入监测控制的存储区及备份文件所处 的另一个存储区;步骤304、判断媒体播放器的存储区内是否发生数据错误问题,如果是,则执行步 骤305 ;如果否,则返回步骤302,继续监测媒体播放器的存储区;
步骤305、发现存储区出现数据问题,则向用户发出发现错误数据的提示信息,并 提示用户准备进行数据修复;步骤306、从备份区K301获取相应数据,并优先由该数据覆盖发生错误的数据部 分,完成数据的修复;步骤307、发生错误的数据经过恢复之后,则自动返回步骤201,重新引导系统继 续对媒体播放器的存储区内数据进行实时监测,开始新一轮的错误数据的自动监测及修复 操作。
同样,这种由用户输入控制触发实时监测及修复的可选择功能也可以单独存在于 媒体播放器中。这样,用户可以人为地在任何时间激活媒体播放器的监测功能,用户的外部 输入控制可以采用类似遥控器、外置按钮、开关之类的简单终端,不必使用操作复杂的键盘 等设备,达到了简单易行的效果。参考图4,示出了本发明一种存储设备自动监测及修复的系统实施例的结构框图, 具体可以包括以下单元运行控制单元401,用于控制对所述存储设备的读写操作的监测,根据监测结果控 制数据备份和/或修复;该单元是存储设备的中心,它是嵌入式系统的核心部件。该单元控 制系统的引导流程、参数的传递并控制其它各个单元进行协同工作。同时,在系统的运行过 程中,所有的控制命令、消息传递和任务调度都是由该单元进行;实时监测单元402,该单元实时监测系统的运行,一旦发现运行控制单元发出对存 储器的读写等操作(这些操作造成了存储设备的错误),该单元立刻对做出修改的部分进 行错误扫描,同时告知运行控制单元401本次扫描的结果反馈;数据备份单元403,该单元主要用于数据的备份,备份与存储设备的读写操作相应 的数据;也可只进行对预先设置的关键数据的备份。当实时监测单元402发现系统对关键 数据进行操作的时候,通知到运行控制单元401,然后运行控制单元401会命令数据备份单 元403执行关键数据备份流程;—般,系统会在内存和另一块存储区中各保留一份备份的关键数据作为冗余,进 一步增加系统的可靠性;数据修复单元404,该单元直接和数据备份单元403进行交互,当运行控制单元 401发出命令需要进行存储区的修复工作时,该单元立即进行存储区内容的修复及恢复, 如果发现数据备份单元403中有备份的数据,则优先使用备份数据来进行数据的修复及恢
Μ. ο优选的是,按照系统的需要,本系统实施例中,还可以包括用户输入单元,用户可以通过该单元对存储区内数据的监测和修复进行人为地干 预,用户的选择输入的结果直接送至运行控制单元,然后由运行控制单元来决定下一步监 测以及必要时的修复处理。需要说明的是,当用户对存储区的监测和修复进行人为地干预的情况下,实时监 测单元同时对用户的任何输入进行监测,判断是否由于这些操作造成存储区内数据的错误。具体而言,所述实时监测单元进一步包括第一实时监测单元,用于按照预设的时间间隔,定时扫描与所述存储设备读写操作相应的数据;第二实时监测单元,用于当所述存储设备的读写操作被触发时,自动对存储设备 读写操作相应的数据进行扫描。并且,优选地,所述数据备份单元进一步包括
第一数据备份单元,用于按照预设的时间间隔,定时进行数据备份;第二数据备份单元,用于当所述存储设备的读写操作被触发时,自动进行数据备 份。UML(Unified Modeling Language,统一建模语言)序列图是一种常见的图示方 法,其主要目的是定义事件序列,产生一些希望的输出。大多数序列图会表示一个系统的对 象之间传递的什么消息,以及它们发生的顺序。序列图按照水平和垂直的维度传递信息垂 直维度从上而下表示消息/调用发生的时间序列,而且水平维度从左到右表示消息发送到 的对象实例。利用上述的存储设备自动监测及修复的系统,下面用UML的序列图来进一步说明 本系统实施例的实现流程,如图5所示,可以得知包括以下步骤步骤501 (a)、运行控制单元发送启动消息给实时监测单元,将实时监测单元启 动;步骤501(b)、运行控制单元发送消息给用户输入单元,将用户输入单元启动,用户 可以通过外部输入控制,选择是否监测随后用户产生的读写操作;步骤502、实时监测单元发送消息给存储主体区域,实时监测硬盘上存储主体区域 内的数据文件;或者,用户输入单元发送消息给存储主体区域,根据用户的输入控制,对存储主体 区域内指定的文件进行触发扫描;步骤503、运行控制单元发送消息给数据备份单元,在固定时间间隔或是任何读写 操作触发时,启动数据备份单元;或者,运行控制单元发送消息给数据备份单元,如果用户需要进行备份操作,则按 照用户的输入控制,则启动数据备份单元;步骤504、数据备份单元发送消息给存储主体区域,在存储主体区域内,由数据备 份单元获取相应备份数据;步骤505、数据备份单元发送消息给数据备份区域,数据备份单元将获取的相应数 据存储到数据备份区域,进行备份;步骤506、实时监测单元的监测结果反映,存储主体区域内数据出现错误;步骤507、实时监测单元发送监测结果反馈给运行控制单元,告知运行控制单元存 储区发生数据错误;步骤508、运行控制单元发送消息给数据备份区域,获取相应备份数据的信息;步骤509、运行控制单元发送消息给数据恢复单元,将数据恢复单元启动;步骤510、数据恢复单元发送回应给运行控制单元,优先由数据恢复单元内获取的 相应备份数据覆盖发生错误的数据部分,进行错误数据的恢复,并在恢复完毕后通知运行 控制单元本轮监测、修复过程结束。对于系统实施例而言,由于其基本相应于方法实施例,所以描述的比较简单,相应之处参见方法实施例的部分说明即可,本发明在此不再进行赘述。 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的 一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明 将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一 致的最宽的范围。
权利要求
一种存储设备自动检测及修复的方法,用于对嵌入式设备中的存储设备进行自动检测及修复,其特征在于,所述方法包括实时监测存储设备的读写操作,备份与存储设备的读写操作相应的数据;判断所述存储设备的读写操作是否造成数据错误;如果发生数据错误,则通过相应的备份数据覆盖发生错误的数据进行数据的修复和恢复;如果未发生数据错误,则继续监测存储设备的读写操作是否造成数据错误。
2.根据权利要求1所述的方法,其特征在于,所述监测存储设备的读写操作可以通过 以下方式触发当所述存储设备的读写操作被触发时,所述监测自动被触发; 或者,由用户的输入控制选择触发所述监测。
3.根据权利要求1所述的方法,其特征在于,所述监测存储设备的读写操作包括 按照预设的时间间隔,定时扫描所述存储设备读写操作相应的数据,或者,当所述存储设备的读写操作被触发时,自动对存储设备读写操作相应的数据进行扫描。
4.根据权利要求1所述的方法,其特征在于,所述备份与存储设备的读写操作相应的 数据包括按照预设的时间间隔,定时进行数据备份,或者, 当所述存储设备的读写操作被触发时,自动进行数据备份。
5.根据权利要求3所述的方法,其特征在于,所述扫描通过用户的输入控制进行触发。
6.根据权利要求4所述的方法,其特征在于,所述数据备份通过用户的输入控制进行 触发。
7.根据权利要求1所述的方法,其特征在于,所述数据错误包括数据丢失和/或数据 损坏。
8.一种存储设备自动检测及修复的系统,用于对嵌入式设备中的存储设备进行自动检 测及修复,其特征在于,包括运行控制单元,用于控制对所述存储设备的读写操作进行监测,根据监测结果控制数 据备份和/或修复;实时监测单元,用于实时监测存储设备的读写操作,判断所述存储设备的读写操作是 否造成数据错误,并将监测结果反馈至运行控制单元;数据备份单元,用于接收所述运行控制单元的备份指令,备份与存储设备的读写操作 相应的数据;数据修复单元,用于接收所述运行控制单元的修复指令,通过所述数据备份单元中相 应的备份数据覆盖发生错误的数据进行数据的修复和恢复。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括用户输入单元,用于人为输入控制选择触发实时监测单元,并将用户输入指令发送至 运行控制单元。
10.根据权利要求8所述的系统,其特征在于,所述实时监测单元包括第一实时监测单元,用于按照预设的时间间隔,定时扫描与所述存储设备读写操作相应的数据;第二实时监测单元,用于当所述存储设备的读写操作被触发时,自动对存储设备读写 操作相应的数据进行扫描。
11.根据权利要求8所述的系统,其特征在于,所述数据备份单元包括第一数据备份单元,用于按照预设的时间间隔,定时进行数据备份;第二数据备份单元,用于当所述存储设备的读写操作被触发时,自动进行数据备份。
全文摘要
本发明公开了一种存储设备自动检测及修复的方法,用于对嵌入式设备中的存储设备进行自动检测及修复,所述方法包括实时监测存储设备的读写操作,备份与存储设备的读写操作相应的数据;判断所述存储设备的读写操作是否造成数据错误;如果发生数据错误,则通过相应的备份数据覆盖发生错误的数据进行数据的修复和恢复;如果未发生数据错误,则继续监测存储设备的读写操作是否造成数据错误。相应地,本发明还公开了一种存储设备自动检测及修复的系统。通过本发明,能够随时监测存储设备中出现的数据错误,对于存储区域内的数据进行高效的实时保护。
文档编号G06F11/14GK101826040SQ20091007914
公开日2010年9月8日 申请日期2009年3月3日 优先权日2009年3月3日
发明者魏治宇 申请人:闪联信息技术工程中心有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1