一种嵌入式设备文件检测修复方法和装置的制作方法

文档序号:6576547阅读:318来源:国知局
专利名称:一种嵌入式设备文件检测修复方法和装置的制作方法
技术领域
本发明涉及嵌入式设备中的文件系统技术,尤其涉及一种非日志文件系统的出错
检测修复技术。
背景技术
在某些嵌入式设备中,需要使用外部存储介质(硬盘或者闪存)来进行数据的存 取。一般根据实际需要不同,会选择不同种类的文件系统来进行存储介质数据的管理。当需 要存储的数据极为重要,必须保证正确性,可靠性及可恢复性的时候,会选用带有日志或者 事务功能的文件系统,比如XFS, EXT3、ReiserFS和JFS等文件系统;当数据的重要性不是那 么高,少量数据偶尔的丢失对系统影响不大的时候,比如媒体文件的存储,可以选择FAT32 或者其他性能较好的文件系统,这些系统可以不具有日志事务功能。例如在全球眼的终端 设备中,摄像头录制的录像一般存储在硬盘中,录像文件一般较大,如果录像文件视频数据 有一两帧的损坏,只要视频还能够正常播放,对设备的监控作用来说,不会产生较大影响, 那么就没有必要使用日志文件系统消耗额外的性能。使用FAT32这样的文件系统,如果当 设备正在向存储设备写入数据时,系统突然掉电,就有可能出现系统缓存中的数据没有及 时刷新到存储介质中去,从而导致部分数据丢失。如果损坏的是文件系统关键数据,比如文 件节点信息,文件块簇记录信息等,系统重启时就有可能不能正常识别该文件系统,导致整 个存储介质不能正常读取。这种情况就必须要考虑对文件系统数据的进行检测修复。现有 技术中一般文件系统修复都是采用全盘扫描文件系统信息,进行出错修改的办法,在存储 介质容量较大,存储文件较多或者设备本身的处理能力有限的情况下,很可能就需要消耗 大量的时间,有时是不能忍受的,比如在设备启动时进行文件系统检测修复,会带给用户较 差的使用体验。

发明内容
本发明主要解决的技术问题是,提供一种快速有效的嵌入式设备文件检测修复方
法和装置,减少嵌入式设备文件系统的检测修复时间,提供较好的用户体验。 为解决上述技术问题,本发明提供了一种嵌入式设备文件检测修复方法,包括以
下处理过程 设备运行中对文件数据进行操作时,将当前操作文件的基本信息存储在设备的日 志或者事务功能文件系统分区中; 对当前操作文件中的数据进行修改时,更新上述存储的当前操作文件的信息; 利用上述存储的操作文件的信息进行文件数据的检测和修复。
进一步的,对文件数据检测和修复后还包括将修复文件的相关信息上报。 进一步的,所述更新当前操作文件的信息处理中,还包括以下处理过程如果当前
操作文件正常关闭,则清空存储的当前操作文件的信息。 优选的,所述设备的日志或者事务功能文件系统分区设置在设备的小容量可擦写设备中,所述的操作文件数据设置在大容量外部存储介质中。
本发明还提供了一种嵌入式设备文件检测修复装置,包括 操作文件信息存储单元,设置在设备的日志或者事务功能文件系统分区中,用于 在设备运行中对文件数据进行操作时,存储将当前操作文件的基本信息;
操作文件信息更新单元,用于在当前操作文件中的数据进行修改时,更新所述操 作文件信息存储单元中存储的当前操作文件的信息; 检测和修复单元,用于利用所述操作文件信息存储单元中记录的信息进行文件数 据检测和修复。 进一步的,还包括信息上报单元,用于上报修复文件的相关信息。 进一步的,还包括信息清空处理单元,用于在当前操作文件正常关闭时,清空所述
操作文件信息存储单元中存储的当前操作文件的信息。 优选的,所述设备的日志或者事务功能文件系统分区设置在设备的小容量可擦写 存储设备中,所述的操作文件数据设置在大容量外部存储介质中。 本发明的有益效果是系统不需要扫描文件系统的所有数据信息,只需要对上次 运行中,最后没有正常关闭可能出错的文件,进行检测,大大加快了检测时间。同时,也能够 保证文件系统的正常启动。本发明特别适合系统单独运行在小容量可擦写存储设备中,并 使用大容量外部存储介质来记录较多较大文件,并且不会频繁进行修改的嵌入式设备中。


图1是本发明实施例一嵌入式设备文件检测修复方法处理流程图;
图2是本发明实施例二嵌入式设备文件检测修复装置实施例原理图。
具体实施例方式
下面通过具体实施方式
结合附图对本发明作进一步详细说明。
实施例一 参考附图1,以一种全球眼终端设备为例。在该全球眼终端设备中,设置了一块小 容量可擦写存储单元,例如一块64MFLASH存储操作系统及应用程序,并使用日志或者事 务功能文件系统,如XFS日志文件系统;同时,使用大容量存储介质,例如用一块320G的 硬盘存储摄像头录制的视频文件,使用FAT32文件系统管理硬盘数据。设备运行时,同时会 有几个录像进程向硬盘写入录像数据。
该实施方式主要包括以下步骤 步骤11 :在全球眼的FLASH中,将需要检测的文件信息存储在该FLASH的XFS日 志文件系统中。可以采用文件形式存放上述信息,即创建一个文件信息记录文件,用来存储 需要检测的文件信息。在XFS日志文件系统中增加一个文件信息记录区域,将文件信息记 录文件存放在该记录区域中。该文件记录录像文件的以下参数中的至少一种文件名,文件 路径,文件属性,文件大小,文件起始簇,文件结束簇,文件进行读写的起始簇等信息。
步骤12 :在全球眼设备启动以后,先初始化该记录文件,该记录文件动态存储当 前操作文件的相关信息。在准备进行录像录制时,会在硬盘上打开或创建视频文件,这时, 首先在记录文件中,记录该文件的文件名,文件路径信息,打开文件以后,再调用接口 ,获取该文件的起始簇,结束簇,当前操作的簇位置,记录在记录文件中。然后,开始进行录像录 制,写视频文件。为了节约存储空间,可以在设备运行过程中,判断所写的视频文件是否能 够及时的关闭,并在关闭前调用刷新数据到磁盘的接口,对于正常关闭的视频文件,可以把 FLASH中记录文件对应的文件信息删除掉,表示该文件已经正常处理了。 步骤13 :当需要进行检测修复时,例如异常断电后的设备重启;文件系统出现错 误,读写文件失败时;挂载文件系统或者其他文件系统相关接口出现错误时等等情况下, 可以利用上述记录文件进行检测修复。以异常断电设备重启为例,设备重启时,加载硬盘 FAT32文件系统数据之前,要进行文件系统检测。应用程序打开记录在FLASH上的文件信息 记录文件,读取记录中所有上次运行时操作过的文件信息,加载到内存中。首先,读取文件 系统超级块信息,获取文件系统整体信息,读取FAT1和FAT2两个FAT表,使用其中正确的 一个,逐一检测FAT表项记录的簇链值,如果超出文件系统的正常范围,则该修正该FAT表 项值。然后,从文件系统根目录开始,对目录下文件或文件夹进行逐个扫描,并与待检测文 件的目录层次名和文件名进行比较,找到对应的文件位置,对该文件层次上的所有文件夹 和该文件进行检测。对文件或文件夹进行检测时,读取文件节点的所有基本信息,并对每个 簇进行检测。对文件记录的属性,大小,偏移,簇链等信息,发现不匹配的情况,将其修改一 致。比如,文件大小比文件实际的簇链大小要大,那么修改文件大小为簇链大小。或者发现 簇链内容异常,则丢弃出错的簇,释放空间,并修改文件的FAT表项等信息,使文件系统信 息一致。 步骤14 :文件系统检测完毕以后,把修改的文件信息上报给应用程序,包括出错 的文件名,文件大小,出错位置等,再加载FAT32文件系统,初始化文件记录区,重新进入步 骤12。 以上的检测修复处理机制也可以应用在其它设备中。例如在机顶盒广告机设备 中,使用FLASH存储操作系统及应用程序,使用可拆卸的硬盘存储广告等媒体信息,在广告 机安装新的媒体硬盘,进行媒体下载或者断电重启的情况下,文件系统的文件可能出现损 坏的情况,也可以使用上述方法进行检测修复。
实施例二 参考附图2,本发明的嵌入式设备文件检测修复装置,装置包括 操作文件信息存储单元21,设置在设备的日志或者事务功能文件系统分区中,用
于在设备运行中对文件数据进行操作时,存储将当前操作文件的基本信息;其中操作文件
信息存储单元21中存储的当前操作文件的信息包括至少一种以下参数文件名、文件属
性、文件起始簇、结束簇、当前操作的簇位置、文件路径、文件大小。 操作文件信息更新单元22,用于在当前操作文件中的数据进行修改时,更新所述 操作文件信息存储单元中记录的当前操作文件的信息; 信息清空处理单元23,用于在当前操作文件正常关闭时,清空所述操作文件信息 存储单元中记录的当前操作文件的信息; 检测和修复单元24,用于在设备重启时,通过读取所述操作文件信息存储单元中 记录的信息进行文件数据检测和修复。 信息上报单元25,用于上报修复文件的相关信息。 本实施例中可以将设备的日志或者事务功能文件系统分区设置在设备的小容量可擦写存储设备中,操作文件数据设置在大容量外部存储介质。 以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发
明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱 离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
权利要求
一种嵌入式设备文件检测修复方法,其特征在于,所述方法包括以下处理过程设备运行中对文件数据进行操作时,将当前操作文件的基本信息存储在设备的日志或者事务功能文件系统分区中;对当前操作文件中的数据进行修改时,更新上述存储的当前操作文件的信息;利用上述存储的操作文件的信息进行文件数据的检测和修复。
2. 根据权利要求1所述的嵌入式设备文件检测修复方法,其特征在于,对文件数据检 测和修复后还包括将修复文件的相关信息上报。
3. 根据权利要求1所述的嵌入式设备文件检测修复方法,其特征在于,所述更新当前操作文件的信息处理中,还包括以下处理过程如果当前操作文件正常关闭,则清空存储的 当前操作文件的信息。
4. 根据权利要求1-3任一项所述的嵌入式设备文件检测修复方法,其特征在于,所述记录的当前操作文件的信息包括至少一种以下参数文件名、文件属性、文件起始簇、结束 簇、当前操作的簇位置、文件路径、文件大小。
5. 根据权利要求4所述的嵌入式设备文件检测修复方法,其特征在于,所述将当前操作文件的基本信息存储在设备的日志或者事务功能文件系统分区中具体为 在设备的日志或者事务功能文件系统分区中增加文件信息记录区域; 将记录的当前操作文件的信息以文件形式存放在所述文件信息记录区域中。
6. 根据权利要求5所述的嵌入式设备文件检测修复方法,其特征在于,所述设备的日 志或者事务功能文件系统分区设置在设备的小容量可擦写设备中,所述的操作文件数据设 置在大容量外部存储介质中。
7. 根据权利要求1-3任一项所述的嵌入式设备文件检测修复方法,其特征在于,当设 备重启时,所述利用上述存储的操作文件的信息进行文件数据的检测和修复,具体为读 取上次所述存储的信息,对上次运行中,最后没有正常关闭可能出错的文件,进行检测和修 复。
8. —种嵌入式设备文件检测修复装置,其特征在于,所述装置包括操作文件信息存储单元,设置在设备的日志或者事务功能文件系统分区中,用于在设 备运行中对文件数据进行操作时,存储将当前操作文件的基本信息;操作文件信息更新单元,用于在当前操作文件中的数据进行修改时,更新所述操作文 件信息存储单元中存储的当前操作文件的信息;检测和修复单元,用于利用所述操作文件信息存储单元中记录的信息进行文件数据检 测和修复。
9. 根据权利要求8所述的嵌入式设备文件检测修复装置,其特征在于,还包括信息上 报单元,用于上报修复文件的相关信息。
10. 根据权利要求8所述的嵌入式设备文件检测修复装置,其特征在于,还包括信息清 空处理单元,用于在当前操作文件正常关闭时,清空所述操作文件信息存储单元中存储的 当前操作文件的信息。
11. 根据权利要求8-10任一项所述的嵌入式设备文件检测修复装置,其特征在于,所述操作文件信息存储单元中存储的当前操作文件的信息包括至少一种以下参数文件名、 文件属性、文件起始簇、结束簇、当前操作的簇位置、文件路径、文件大小。
12.根据权利要求11所述的嵌入式设备文件检测修复装置,其特征在于,所述设备的 日志或者事务功能文件系统分区设置在设备的小容量可擦写存储设备中,所述的操作文件 数据设置在大容量外部存储介质中。
全文摘要
本发明公开了一种嵌入式设备文件检测修复方法和装置,通过将当前操作文件的基本信息存储在设备的日志或者事务功能文件系统分区中;当前操作文件中的数据进行修改了,记录的信息也将被更新;检测修复时,系统不需要扫描文件系统的所有数据信息,只需要对上次运行中,最后没有正常关闭可能出错的文件,进行检测,大大加快了检测时间。同时,也能够保证文件系统的正常启动。本发明特别适合系统单独运行在小容量可擦写存储设备,并使用大容量外部存储介质来记录较多较大文件,并且不会频繁进行修改的嵌入式设备中。
文档编号G06F11/14GK101706783SQ200910109629
公开日2010年5月12日 申请日期2009年11月16日 优先权日2009年11月16日
发明者陈尚松 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1