文件存储和查找的方法及装置的制作方法

文档序号:6471197阅读:190来源:国知局
专利名称:文件存储和查找的方法及装置的制作方法
技术领域
本发明涉及文件管理技术,尤其涉及一种文件存储和查找的方法及装置。
技术背景在嵌入式系统中,通常是在非易失存储介质上存储数据;并且根据各系统 处理能力的不同, 一般会釆用合适的文件存储和查找的方法即文件系统。例如,在采用高端处理器(如X86、 ARM)或芯片资源较多的微控制器(如 16位、32位单片机等)中运行的嵌入式操作系统(如Linux、 Windows CE、 UC/0S 等),可以采用同PC机一样的文件系统,如FAT16、 FAT32、 EXT2、 EXT3等。在 采用低成本、芯片资源相对紧缺的8位、16位或32位的微控制器中, 一般难以 运行嵌入式操作系统,虽然这种低端嵌入式系统也可以通过软件方法支持如 FAT16、 FAT32、 EXT2、 EXT3等文件系统,但实现方法较为繁瑣。因此,在低端 嵌入式系统中可以采用自定义的文件存储和查找方法,如采用简单索引方式的 文件存储和查找方法,标识和文件长度相结合的文件存储和查找方法,以及正 向链表式的文件存储和查找方法等。下面分别对上述三种文件存储和查找方法 进行简单介绍。1、采用简单索引方式的文件存储和查找方法这种文件存储和查找方法是 通过采用索引表的方式进行文件的存储和查找。具体是先将存储介质进行分块 处理,并为每个分块设置一个索引。当向每个分块中存储文件时,在索引表中 记录保存所述文件的各分块的索引。在查找文件时,也是根据索引表来查找文 件。这种文件存储和查找方法的优点是查找文件的速度快,实现方便等。但是,由于索引表需要频繁更新, 一旦在更新索引表时出现系统掉电,那么就可能导 致所有文件都丟失,而使得这种进行文件的存储和查找方式的可靠性很低。2、 标识和文件长度相结合的文件存储和查找方法在这种方法中,不将存储介质进行分块处理,而是将存储介质看作是连续的区域,所有的文件顺序存 放。在查找文件的过程中,通过文件标识和文件的长度查找到对应文件的起始 存储位置和结束位置。这种文件存储和查找方法的优点是文件查找简单,能够节约存储空间等。 但是,由于某个文件的定位都基于之前所有文件的长度,也就是说只有获取该 文件之前所有文件的长度才能定位该文件,因此这就造成了文件查找速度慢的 问题。并且,如果某个文件的长度记录出现问题的话,将影响后续其他文件的 存储和查找,也影响了文件存储和查找的可靠性。3、 正向链表式的文件存储和查找方法在这种方法中,同样是将存储介质 进行分块,并且文件可以跨分块存储。在存储文件时,在某个分块存储文件时, 还要存储有该文件所要存储的下一个分块的索引。在查找文件时,需要在查找到当前分块的文件后,在当前分块中获得存储该文件的下一分块的索引。然后 根据该索引再去读取下一分块的文件内容。这种文件存储和查找方法的优点是文件查找简单、速度快,实现方便等。 但是,在这种方式中,如果某个保存文件的分块中的下一分块的索引出现问题, 将造成后续所有的分块不能被访问,而导致该文件较多的数据丟失。并且,在 某些存储介质上,可能存在的坏区的情况。那么由于"下一分块的索引"是事 先确定下来的,而在将文件存储到"下一分块"时,如果该"下一分块"是个 坏块,文件就必须放到其他的分块中。这样,"下一分块的索引"就必须修改。 由此将造成互相嵌套的问题,软件处理难度较大,在低端嵌入式系统中基本无法解决。因此,这种方式下的文件存储和查找的可靠性较低。 发明内容本发明的实施例提供一种文件存储和查找的方法及装置,以提高对文件管 理的可靠性。为达到上述目的,本发明的实施例文件存储方法采用如下技术方案 一种文件存储方法,包括如下步骤 获取存储有第一分块文件的第一分块存储单元的索引; 将当前分块文件存储在当前分块存储单元中; 在所述当前分块存储单元中记录所述索引。为达到上述目的,本发明的实施例文件存储装置采用如下技术方案 一种文件存储装置,包括索引获取单元,用于获取存储有第 一分块文件的第 一分块存储单元的索引; 存储单元,用于将当前分块文件存储在当前分块存储单元中; 记录单元,用于在所述当前分块存储单元中记录所述索引。 为达到上述目的,本发明的实施例文件查找方法采用如下技术方案 一种文件查找方法,包括如下步骤 查找到存储有第 一分块文件的第 一分块存储单元;查找具有存储有所述第一分块存储单元的索引的各分块存储单元,获取相 应的各分块文件。为达到上述目的,本发明的实施例文件查找装置采用如下技术方案 一种文件查找装置,包括查找单元,用于查找到存储有第一分块文件的第一分块存储单元; 分块文件获取单元,用于查找具有存储有所述第一分块存储单元的索引的各分块存储单元,获fl相应的各分块文件。利用本发明实施例所述的技术方案,通过采用反向索引的方式,即在存储 分块文件的分块存储单元中记录保存第 一分块文件的第 一分块存储单元的索 引,因此,在查找文件时,可在查找到第一分块存储单元后,查找具有存储有 所述第一分块存储单元的索引的各分块存储单元,从而获取相应的分块文件。 利用本发明实施例的技术方案,避免了现有技术的正向链表式的文件存储和查陷。因此,利用本发明实施例的技术方案能够提高对文件管理的可靠性。


图1为本发明实施例一文件存储方法的流程图; 图2为本发明实施例一文件存储方法的示意图; 图3为本发明实施例二文件查找方法的流程图; 图4为本发明实施例三文件存储装置的示意图; 图5为本发明实施例三文件存储装置的结构图; 图6为本发明实施例四文件存储装置的示意图; 图7为本发明实施例四文件存储装置的结构图; 图8为本发明实施例五中的文件存储示意图。
具体实施方式
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需 要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。如图1所示,本发明实施例一提供了一种文件存储方法,如图1所示,包括如下步骤步骤11、获取存储有第一分块文件的第一分块存储单元的索引。步骤12、将当前分块文件存储在当前分块存储单元中。在此步骤中,所述的当前分块存储单元可以为第一分块存储单元,也可以是其他的分块存储单元。步骤13、在所述当前分块存储单元中记录所述索引。此外,为方便查找,如图2所示,在所述步骤11前还可包括步骤10、为存储所述第一分块文件的第一分块存储单元设置标识。另外,为方便从各分块文件中恢复文件,对于具有顺序要求的文件,如文件内容为一段连续的文字,在所述当前分块存储单元中还可存储有所述当前分块文件的顺序号。此外,为进一步准确的恢复文件,各分块文件的顺序号可以互不相同。而对于文件组织没有顺序要求的文件,如文件内容为内容类似的多条记录 集合,则可以不存储各分块文件的顺序号。但是需要注意的是,在存储分块文 件时,需要保证一条记录内容完整保存在同一个分块内,而不能跨块存储。利用本发明实施例一的技术方案,不仅文件存储简单,所需的芯片资源少, 而且能够提高对文件管理的可靠性。如图3所示,本发明实施例二提供了一种文件查找方法,包括如下步骤步骤31、根据第一分块存储单元的标识,查找到存储有第一分块文件的第 一分块存储单元。当然,也可以通过其他方式查找所述第一分块存储单元。步骤32、查找具有存储有所述第一分块存储单元的索引的各分块存储单 元,获取相应的各分块文件。另外,为便于恢复文件,对于在存储时有顺序要求的文件,由于在存储其各分块文件的同时存储了各分块文件的顺序号,因此对于上述的文件,在获取 各分块文件的同时,还需要获取存储在所述各分块存储单元中对应的分块文件 的顺序号,然后按照各分块文件的顺序号,将各分块文件恢复成所述文件。而 对于一些对顺序没有要求的文件,则可直接将获取到的分块文件进行拼凑,然 后恢复成文件。利用本发明实施例二的技术方案,避免了现有技术的正向链表式的文件存 储和查找方法中由于某个分块存储单元损坏而造成的无法查找读取后续分块文 件的缺陷。因此,利用本发明实施例的技术方案能够提高对文件管理的可靠性。与实施例一的文件存储方法相对应,本发明实施例三提供了 一种文件存储装置,如图4所示,包括索引获取单元41,存储单元42以及记录单元43其 中,所述索引获取单元41,用于获取存储有第一分块文件的第一分块存储单元 的索引;所述存储单元42,用于将当前分块文件存储在当前分块存储单元中; 所述记录单元43,用于在所述当前分块存储单元中记录所述索?I 。为方便查找,如图5所示所述装置还包括标识设置单元44,用于为存储 所述第 一分块文件的第 一分块存储单元设置标识。与实施例一中描述的相同,对于具有顺序要求的文件,如文件内容为一段 连续的文字,为方便从各分块文件中恢复文件,所述记录单元43还用于存储所 述当前分块文件的顺序号。而对于文件组织没有顺序要求的文件,如文件内容 为内容类似的多条记录集合,则可以不存储各分块文件的顺序号。但是需要注 意的是,在存储分块文件时,需要保证一条记录内容完整保存在同一分块存储 单元内,而不能跨块存储。利用本发明实施例三的技术方案,不仅文件存储简单,所需的芯片资源少, 而且能够提高对文件管理的可靠性。与实施例二的文件存储方法相对应,本发明实施例四4是供了 一种文件查找装置,如图6所示,包括查找单元51以及分块文件获取单元52。其中所述查 找单元51用于查找到存储有第一分块文件的第一分块存储单元;所述分块文件 获取单元52,用于查找具有存储有所述第一分块存储单元的索引的各分块存储 单元,获取相应的分块文件。此外,对于在存储时有顺序要求的文件,由于在存储其各分块文件的同时 存储了各分块文件的顺序号,因此,所述分块文件获取单元52还用于在获取各以方便从各分块文件中恢复文件。如图7所示,所述装置还可包括文件恢复 单元53,用于根据所述文件获取单元52所获取的各分块文件的顺序号,将分块 文件恢复成所述文件。而对于一些对顺序没有要求的文件,则可直接由文件获 取单元52将获取到的分块文件进行拼凑,恢复成文件。利用本发明实施例四的技术方案,避免了现有技术的正向链表式的文件存 储和查找方法中由于某个分块存储单元损坏而造成的无法查找读取后续分块文 件的缺陷。因此,利用本发明实施例的技术方案能够提高对文件管理的可靠性。下面结合实施例五详细描述一下是如何利用本发明实施例所述的文件存储 和查找的方法实现对文件的管理的。在实施例五中,以广泛使用的NAND Flash作为非易失性存储介质,并将NAND Flash进行分块管理。在NAND Flash中的各存储块一般有256页,每页528字 节,存储有第一文件块的存储块的反向索引和各分块文件的顺序号保存在528 字节的后16个字节中,文件内容保存在其余的512字节中。顺序号从0x0001 往上计数,直到OxFFFF。由于NAND Flash中的块一4殳不会超过655 36个,所以 这两个字节的顺序号已经满足唯一顺序号的要求。如图8所示,当存储文件A时,先将第一文件块写入NAND Flash的第一分 块,并将第一分块用标识OxOO标为存储文件A的第一分块,假定存储文件A的 第一分块的索引为0x01。然后扫描得到NAND Flash中的空闲块,将第二文件块 写入NAND Flash的第四分块,该第四分块用索引0x01记录文件A的第一文件 块所在的第一分块,并写入顺序号0x0001。当然,如果文件A的内容是没有顺 序要求的,则可以不写入顺序号。依此类推,将其他分块文件写入第二分块、 第五分块等,直到将文件A存储完毕。如果在存储的过程中,第二文件块写入 第四分块时出错,则可以换一个分块写入,而索引和顺序号的不必改变。当查找文件时,首先扫描NAND Flash,获得标识为0x00的第一分块。然后 根据事先在所述各第一分块中为各文件添加的标识或各文件的名称,确定所需 查找的文件。在此实施例中,我们可根据扫描到的标识为OxOO的第一分块中所 存储的对应文件A的名称来确定第一分块中存储的为文件A的分块文件,假定 存储文件A第一分块文件的第一分块的索引是0x01,存储其他文件第一分块文 件的第一分块的索引可以依次类推。然后扫描NAND Flash,获得保存有"第一 分块的索引0x01及当前顺序号0x0001"的第四分块,继续扫描获得保存有"第 一分块的索引0x01及当前顺序号0x0002,,的第二分块,依此扫描获得NAND Flash 的第五分块。将第一分块、第四分块、第二分块、第五分块的分块文件进行拼 凑,即得到文件A。或者,也可以是扫描所有具有第一分块的索引0x01的块, 然后根据当前顺序号把所有文件拼凑起来,获得文件A。当然,如果文件A的内 容是没有顺序要求,则扫描所有具有第一分块的索引0x01的块,并将所有文件 拼凑起来即可。如果NAND Flash出现异常,例如导致第四分块的数据无法读取 时,文件A将只会丟失第四分块的数据,而第一分块、第二分块、第五分块的 数据仍可以找到。是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算 机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为^兹碟、光盘、只读存^f诸记忆体(Read-Only Memory, ROM)或随才几存j诸i己十乙体(Random Access Memory, RAM)等。综上所述,利用本发明实施例所述的技术方案,通过采用反向索引的方式, 即在存储分块文件的分块存储单元中记录保存第 一分块文件的第 一分块存储单 元的索引,因此,在查找文件时,可在查找到第一分块存储单元后,查找具有 存储有所述第一分块存储单元的索引的各分块存储单元,从而获取相应的分块 文件。利用本发明实施例的技术方案,避免了现有技术的正向链表式的文件存件的缺陷。因此,利用本发明实施例的技术方案能够提高对文件管理的可靠性。 以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于 此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到 变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应 所述以权利要求的保护范围为准。
权利要求
1、一种文件存储方法,其特征在于,所述方法包括如下步骤获取存储有第一分块文件的第一分块存储单元的索引;将当前分块文件存储在当前分块存储单元中;在所述当前分块存储单元中记录所述索引。
2、 根据权利要求l所述的文件存储方法,其特征在于,在将当前分块文件 存储在当前分块存储单元中的步骤前,所述方法还包括为存储所述第一分块文件的第一分块存储单元设置标识。
3、 根据权利要求1或2所述的文件存储方法,其特征在于,在所述当前分 块存储单元中还存储有所述当前分块文件的顺序号。
4、 一种文件查找方法,其特征在于,所述方法包括如下步骤 查找到存储有第 一分块文件的第 一分块存储单元;查找具有存储有所述第一分块存储单元的索引的各分块存储单元,获取相 应的各分块文件。
5、 根据权利要求4所述的文件查找方法,其特征在于,所述方法还包括 件的顺序号。
6、 根据权利要求5所述的文件查找方法,其特征在于,所述方法还包括 按照各分块文件的顺序号,将分块文件恢复成所述文件。
7、 一种文件存储装置,其特征在于,所述装置包括索引获取单元,用于获取存储有第 一分块文件的第 一分块存储单元的索引; 存储单元,用于将当前分块文件存储在当前分块存储单元中; 记录单元,用于在所述当前分块存储单元中记录所述索引。
8、 根据权利要求7所述的文件存储装置,其特征在于,所述装置还包括标识设置单元,用于为存储所述第一分块文件的第一分块存储单元设置标识。
9、 根据权利要求7或8所述的文件存储装置,其特征在于,所述记录单元 还用于存储所述当前分块文件的顺序号。
10、 一种文件查找装置,其特征在于,所述装置包括 查找单元,用于查找到存储有第一分块文件的第一分块存储单元; 分块文件获取单元,用于查找具有存储有所述第一分块存储单元的索引的各分块存储单元,获^^相应的各分块文件。
11、 根据权利要求IO所述的文件查找装置,其特征在于,所述分块文件获 取单元还用于在获取各分块文件的同时,获取存储在所述各分块存储单元中对 应的分块文件的顺序号。
12、 根据权利要求11所述的文件查找装置,其特征在于,所述装置还包括 文件恢复单元,用于按照各分块文件的顺序号,将分块文件恢复成所述文件。
全文摘要
本发明的实施例公开了一种文件存储和查找的方法及装置,涉及文件管理技术,为提高对文件管理的可靠性而发明。其中所述文件存储方法,包括获取存储有第一分块文件的第一分块存储单元的索引;将当前分块文件存储在当前分块存储单元中;在所述当前分块存储单元中记录所述索引。本发明主要应用在文件管理技术中。
文档编号G06F17/30GK101404034SQ20081022670
公开日2009年4月8日 申请日期2008年11月20日 优先权日2008年11月20日
发明者毅 李, 段起志, 陈益峰 申请人:北京握奇数据系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1