专利名称:文件存储方法、装置及系统的制作方法
技术领域:
本发明涉及存储技术,特别涉及一种文件存储方法、装置及系统。
背景技术:
在嵌入式系统中,通常使用闪存(Flash)作为非易失性存储器。Flash数 据读写不是以单个的字节为单位而是以固定的区块为单位。Flash的写入操作 必须在空白区块进行,如果目标区块已经有数据,必须先擦除后写入,我们 后面将这个过程称为擦写。
每个区块的擦写操作是有次数限制的,超过这个限制,该区块就永久性 的不可使用了。目前使用的Flash,典型的擦除次数限制大概是10万次左右。 在使用Flash进行存储时,如果釆用和硬盘一样的文件系统,则会出现各个区 块擦写次数各不相同的情况,甚至悬殊很大。这样有些区块过早地到达了次 数限制,从而使整个Flash提前报废。为此,Flash上的文件系统一般都引入 了区块檫写均衡技术,对每次写入请求,都合理安排写入的区块,使每个区 块的擦写次数同步增长。不过该技术仅仅是解决了各个区块读写的不均衡性, 没有减少整个Flash的擦写次数。为了控制Flash的写入次数,目前一般采用 各个应用程序自己缓冲的方式。即应用程序自己开立缓冲区,将需要写入Flash 的内容先放入缓冲区,等缓冲区满了,或者隔一段周期将缓冲区中的内容写 入Flash中。在实现本发明过程中,发明人发现现有技术中至少存在如下问题
采用各个应用程序自己缓冲的方式对系统中的应用程序要求比较高,需 要自己处理Flash文件的缓冲,也为各个程序的移植带来麻烦,也不容易提高 Flash的利用率和数据安全性。发明内容本发明实施例的目的在于提供一种文件存储方法、装置及系统,以节约 闪存的空间,提高闪存的使用寿命及安全性。为了实现上述目的,本发明提供一种文件存储方法,所述方法包括建 立内存盘;将非易失性存储器中存储的文件系统压縮包解压为文件系统,并 将所述文件系统存储在所述内存盘中。为了实现上述目的,本发明还提供一种文件存储装置,所述装置包括 内存盘建立单元,用于建立内存盘;文件系统存储单元,用于将非易失性存 储器中存储的文件系统压縮包解压为文件系统,并将所述文件系统存储在所 述内存盘中。为了实现上述目的,本发明还提供一种文件存储系统,所述文件存储系 统包括文件系统处理单元、内存盘及非易失性存储器,所述非易失性存储 器中包含文件系统压縮包,其中,所述文件系统处理单元用于将非易失性存 储器中存储的文件系统压縮包解压为文件系统,将所述文件系统发送到所述 内存盘中,压縮所述内存盘中存储的文件系统,获得文件系统压縮包,并将 文件系统压缩包发送到所述非易失性存储器;所述内存盘用于存储所述文件 系统;所述非易失性存储器用于接收所述文件系统处理单元发送的所述文件 系统压縮包,以替换所述非易失性存储器中存储的所述文件系统压縮包。本发明实施例的有益效果:对文件釆取压縮后保存的方式,可以节约Flash 空间,提高Flash中的数据的安全性;按照--定的周期向Flash中存储一次压 縮包,控制了读写次数,提高了 Flash的使用寿命;应用程序不需要自己处理 这个压縮过程。
图1为本发明实施例文件存储方法的流程图一; 图2为本发明实施例文件存储方法的流程图二;图3为本发明实施例内存盘中文件系统图一;
图4为本发明实施例内存盘中文件系统图二;
图5为本发明实施例文件存储装置的结构示意图一;
图6为本发明实施例文件存储装置的结构示意图二;
图7为本发明实施例压缩包替换单元的结构示意图8为本发明实施文件存储系统的结构图9为本发明实施例实现文件存储的流程图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种文件存储方法、装置及系统,该方法将非易失性 存储器中的文件系统压缩包解压成文件系统,存储到内存盘中,该内存盘可 以位于内存中,应用程序在文件系统中添加待存储文件,守候程序定期压缩 添加了待存储文件的文件系统,将压缩后生成的文件系统压縮包发送到非易 失性存储器中替换原来的文件系统压縮包。
图1为本发明实施例文件存储方法的流程图一,如图1所示,所述方法 包括
S101:建立内存盘。
S102:将非易失性存储器中存储的文件系统压縮包解压为文件系统,并 将所述文件系统存储在所述内存盘中。其中,文件系统中存在文件结构,文 件结构的目录下用于存储文件。
所述非易失性存储器可以为闪存、磁盘等,下面以磁盘为例说明文件存 储的过程。启动嵌入式系统后,在内存中建立内存盘,守候程序将磁盘中的文件系统压缩包解压为文件系统,将文件系统存储到内存中。如图2所示,本发明实施例文件存储方法还可以包括下面步骤-S201:建立内存盘。S202:将非易失性存储器中存储的文件系统压縮包解压为文件系统,并将所述文件系统存储在所述内存盘中。S203:接收应用程序发送的文件访问指令,对所述文件系统中的文件进行读写操作,修改或删除所述文件系统中的文件,或将待存储的文件添加到 所述文件系统。S204:压縮所述内存盘中存储的文件系统,获得文件系统压縮包,并将文件系统压縮包发送到所述非易失性存储器,以替换所述非易失性存储器中存储的文件系统压縮包。具体是指根据设定的周期压縮所述内存盘中存储 的文件系统,获得文件系统压縮包;将文件系统压缩包发送到所述非易失性 存储器中替换所述非易失性存储器中存储的文件系统压縮包。以嵌入式系统为例,Flash中的文件系统以压縮包的形式保存,并且该压 縮包被加密。嵌入式系统上电时,首先需要在内存中创建内存盘(RAMDISK), 然后利用守候程序,根据解压密码将Flash中的压縮包解压为文件系统,存储 在到RAMDISK中。第一次启动嵌入式系统后,守候程序是第一次对Flash中 的压縮包进行解压,Flash中的压縮包解压后的文件系统的目录下不存在任何 文件。嵌入式系统再次启动后,守候程序还要对Flash中的文件系统压縮包进 行解压,但是解压后的文件系统中存在嵌入式系统上次启动后运行过程中保 存的文件。如图3所示,在解压到RAMDISK中的文件系统中,文件结构的根目录 下共有4个文件(file),其中根目录下有filel和file2和子目录(dir),子目 录下包括file3和file4。应用程序可以依据系统设置操作文件系统中的任何文 件,包括删除或修改所述文件系统的目录下的文件,以及将待存储的文件添 加到所述文件系统的目录下。假设待存储文件为file5与file6,待删除的文件为file3, file5需要存储在子目录下,file6需要存储在根目录下。应用程序将 file5与file6添加到文件系统中的图4所示的位置,并且将file3删除。嵌入式系统有一个守候程序,为了防止出现断电或其它异常情况时文件 系统中的文件系统丢失,守候程序可以设定一个周期,按照设定的周期将 RAMDISK中的文件系统加密压缩一次,这个周期可以根据嵌入式系统的情况 进行调整,也可以对不同的文件设定不同的压缩周期。守候程序将RAMDISK中的文件系统加密压縮为新的压缩包之后,将新 的文件系统压縮包发送到Flash中,并替换掉Flash中原来的文件系统压縮包, 使得Flash中只存在一个文件系统压縮包。这样,就完成了对文件的保存。本发明实施例的有益效果:对文件采取压縮后保存的方式,可以节约Flash 空间,提高Flash中的数据的安全性;按照一定的周期向Flash中存储一次压 縮包,控制了读写次数,提高了 Flash的使用寿命;应用程序不需要自己处理 这个压縮过程。图5为本发明实施例文件存储装置的结构示意图一,如图5所示,所述 文件存储装置500包括内存盘建立单元501,用于建立内存盘;文件系统存 储单元502,用于将非易失性存储器中存储的文件系统压縮包解压为文件系 统,并将所述文件系统存储在所述内存盘中。所述非易失性存储器可以为闪存、磁盘等,下面以磁盘为例说明文件存 储的过程。启动嵌入式系统后,利用内存盘建立单元501在内存中建立内存 盘,文件系统存储单元502根据守候程序将磁盘中的文件系统压缩包解压为 文件系统,将文件系统存储到内存中。图6为本发明实施例文件存储装置的结构示意图二,如图6所示,所述 文件存储装置500还可以包括文件读写单元601,用于接收应用程序发送的 文件访问指令,对所述文件系统中的文件进行读写操作,具体用于修改或删 除所述文件系统中的文件或将待存储的文件添加所述文件系统。所述文件存 储装置500还可以包括压縮包替换单元602,用于在所述的文件读写单元对所述文件系统中的文件进行读写操作之后,压缩所述内存盘中存储的文件系 统,获得文件系统压縮包,并将文件系统压縮包发送到所述非易失性存储器, 以替换所述非易失性存储器中存储的文件系统压缩包。如图7所示,在一可选实施例中,压縮包替换单元602包括文件系统 压缩模块701,用于根据设定的周期压縮所述内存盘中存储的文件系统,获得 文件系统压缩包;压縮包替换模块702,用于将文件系统压縮包发送到所述非 易失性存储器中替换所述非易失性存储器中存储的文件系统压缩包。嵌入式系统上电启动吋,利用内存盘建立单元501在内存中建立 RAMDISK,然后通过文件系统存储单元502,利用守候程序,根据解压密码 将Flash中的文件系统压缩包解压为文件系统,存储在RAMDISK中。第一次启动嵌入式系统后,守候程序是第一次对Flash中的压縮包进行解 压,Flash中的压缩包解压后的文件系统的目录下不存在任何文件。嵌入式系 统再次启动后,守候程序还要对Flash中的文件系统压縮包进行解压,但是解 压后的文件系统中存在嵌入式系统上次启动后运行过程中保存的文件。如图3所示,在解压到RAMDISK中的文件系统中,根目录下共有4个 文件(file),其中根目录下有filel和file2和子目录,子目录下包括file3和 file4。应用程序可以操作文件系统中的任何文件,删除或修改所述文件系统的 目录下的文件,以及将待存储的文件添加到所述文件系统的目录下。假设待 存储文件为file5与file6,要删除的文件为file3,文件读写单元601利用应用 程序将file5与flle6添加到文件系统中的图4所示的位置,并且将file3删除。文件系统压縮模块701利用守候程序将RAMDISK中的文件系统加密压 縮为新的文件系统压缩包,压縮包替换模块702将新的文件系统压缩包发送 到Flash中,并替换掉Flash中原来的文件系统压縮包,使得Flash中只存在 一个文件系统压縮包。这样,就完成了对文件的保存。本发明实施例的有益效果:对文件采取压縮后保存的方式,可以节约Flash 空间,提高Flash中的数据的安全性;按照一定的周期向Flash中存储一次压縮包,控制了读写次数,提高了 Flash的使用寿命;应用程序不需要自己处理 这个压缩过程。
图8为本发明实施文件存储系统的结构图。如图8所示,所述文件存储 系统包括文件系统处理单元801、内存盘802及非易失性存储器803,所述 非易失性存储器803中包含文件系统压缩包,其中,所述文件系统处理单元 801用于将非易失性存储器803中存储的文件系统压缩包解压为文件系统,将 所述文件系统发送到所述内存盘中,压縮所述内存盘中存储的文件系统,获 得文件系统压缩包,并将文件系统压縮包发送到所述非易失性存储器;所述 内存盘802用于存储所述文件系统;所述非易失性存储器803用于接收所述 文件系统处理单元发送的所述文件系统压縮包,以替换所述非易失性存储器 中存储的所述文件系统压縮包。
非易失性存储器可以是Fash、磁盘等。下面以非易失性存储器是闪存 Flash为例说明本发明的实施例。
图9为本发明实施例实现文件存储的流程图。如图9所示,所述文件存 储的流程包括
步骤S卯h在嵌入式系统的内存中建立内存盘802。
所述文件系统存在于嵌入式系统的内存中,每次嵌入式系统上电时,应 用程序在就在嵌入式系统中建立内存盘。
步骤S902:文件系统处理单元801根据密码将Flash中文件系统压缩包 解压为文件系统。
每次嵌入式系统上电时,文件系统处理单元801都要将Flash中的文件系 统压縮包进行解压为文件系统。
步骤S903:文件系统处理单元801将文件系统存储到内存盘802中。
步骤S904:应用程序操作内存盘中的文件系统,删除或修改文件系统中 的文件,并将待存储的文件添加到文件系统相应的目录下。
步骤S905:文件系统处理单元801根据密码按照一定的周期压縮应用程序更改的文件系统,生成新的文件系统压縮包。这个周期可以根据嵌入式系 统的情况进行调整,也可以对不同的文件设定不同的压縮周期。步骤S906:文件系统处理单元801将新的文件压縮包发送到Flash中, 替换Flash原来的文件系统压縮包。这样,就实现了在Flash中对文件的存储。本发明实施例的有益效果:对文件采取压缩后保存的方式,可以节约Flash 空间,提高Flash中的数据的安全性;按照一定的周期向Flash中存储一次压 縮包,控制了读写次数,提高了 Flash的使用寿命;应用程序不需要自己处理 这个压缩过程。通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本 发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件, 但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案 本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来, 该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光 盘等,包括若干指令用以使得一台设备执行本发明各个实施例所述的方法。以上所述仅为本发明的具体实施方式
而已,并不用于限定本发明的保护 范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。
权利要求
1.一种文件存储方法,其特征在于,所述方法包括建立内存盘;将非易失性存储器中存储的文件系统压缩包解压为文件系统,并将所述文件系统存储在所述内存盘中。
2. 如权利要求1所述的方法,其特征在于,所述方法还包括 接收应用程序发送的文件访问指令,对所述文件系统中的文件进行读写操作。
3. 如权利要求2所述的方法,其特征在于,对所述文件系统中的文件进 行读写操作,是指修改或删除所述文件系统中的文件,或将待存储的文件 添加到所述文件系统。
4. 如权利要求2所述的方法,其特征在于,对所述文件系统中的文件进 行读写操作之后,所述方法还包括压縮所述内存盘中存储的文件系统,获得文件系统压縮包,并将文件系 统压縮包发送到所述非易失性存储器,以替换所述非易失性存储器中存储的 文件系统压縮包。
5. 如权利要求4所述的方法,其特征在于,压縮所述内存盘中存储的文件系统,获得文件系统压縮包,并将文件系统压縮包发送到所述非易失性存储器,以替换所述非易失性存储器中存储的文件系统压缩包,是指根据设定的周期压縮所述内存盘中存储的文件系统,获得文件系统压縮包; 将文件系统压缩包发送到所述非易失性存储器中替换所述非易失性存储器中存储的文件系统压縮包。
6. —种文件存储装置,其特征在于,所述装置包括 内存盘建立单元,用于建立内存盘;文件系统存储单元,用于将非易失性存储器中存储的文件系统压縮包解压为文件系统,并将所述文件系统存储在所述内存盘中。
7. 如权利要求6所述的装置,其特征在于,所述装置还包括 文件读写单元,用于接收应用程序发送的文件访问指令,对所述文件系统中的文件进行读写操作。
8. 如权利要求7所述的装置,其特征在于,所述文件读写单元,具体用于修改或删除所述文件系统中的文件,或将 待存储的文件添加所述文件系统。
9. 如权利要求7所述的装置,其特征在于,所述装置还包括-压縮包替换单元,用于在所述的文件读写单元对所述文件系统中的文件 进行读写操作之后,压縮所述内存盘中存储的文件系统,获得文件系统压缩 包,并将文件系统压縮包发送到所述非易失性存储器,以替换所述非易失性 存储器中存储的文件系统压縮包。
10. 如权利要求9所述的装置,其特征在于,所述压縮包替换单元包括文件系统压縮模块,用于根据设定的周期压縮所述内存盘中存储的文件系统,获得文件系统压縮包;压縮包替换模块,用于将压縮后的所述文件系统压縮包发送到所述非易 失性存储器中替换所述非易失性存储器中存储的文件系统压縮包。
11. 一种文件存储系统,所述文件存储系统包括文件系统处理单元、内存盘及非易失性存储器,所述非易失性存储器中包含文件系统压縮包,其特 征在于,所述文件系统处理单元,用于将非易失性存储器中存储的文件系统压缩 包解压为文件系统,将所述文件系统发送到所述内存盘中,压縮所述内存盘 中存储的文件系统,获得文件系统压缩包,并将文件系统压縮包发送到所述非易失性存储器;所述内存盘,用于存储所述文件系统;所述非易失性存储器,用于接收所述文件系统处理单元发送的所述文件 系统压縮包,以替换所述非易失性存储器中存储的所述文件系统压缩包。
全文摘要
本发明提供一种文件存储方法、装置及系统,所述方法包括建立内存盘;将非易失性存储器中存储的文件系统压缩包解压为文件系统,并将所述文件系统存储在所述内存盘中。本发明对文件采取压缩后保存的方式,可以节约非易失性存储器的空间,提高非易失性存储器中的数据的安全性;按照一定的周期向非易失性存储器中存储一次压缩包,控制了读写次数,提高了非易失性存储器的使用寿命;应用程序不需要自己处理这个压缩过程。
文档编号G06F3/06GK101577143SQ200910147269
公开日2009年11月11日 申请日期2009年6月19日 优先权日2009年6月19日
发明者刘春华 申请人:华为技术有限公司