一种文件存储方法和装置制造方法及图纸

技术编号:7809471 阅读:215 留言:0更新日期:2012-09-27 08:38
本发明专利技术实施例公开了一种文件存储方法和装置。该方法包括:识别出可编辑格式的文件,对可编辑格式的文件进行连续存储,并为该可编辑格式的文件预留存储空间。应用本发明专利技术能够在一定程度上防止文件碎片的产生。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种数据存储方法和装置,特别涉及一种文件存储方法和装置
技术介绍
在计算机中,磁盘上的每个磁道被分为若干个弧段,一个弧段就是磁盘的一个扇区。操作系统会将用户的磁盘空间分为若干个磁盘分卷来进行管理,例如,常见的C盘就是一个磁盘分卷。每个磁盘分卷上的空间进一步被划分为若干个簇。物理簇号(LogicalCluster Number, LCN)是磁盘分卷上的簇按照其在磁盘分卷上的物理位置顺序得到的编号,用于表示其是该磁盘分卷上第几个簇。簇是磁盘文件存储和管理的最小单位,每一簇所包含的扇区可能会因为文件系统的不同而不同。在实际应用中,随着计算机使用的时间变长,磁盘上会产生许多文件碎片,即文件的不同部分存储在磁盘分卷上LCN不连续的多个簇上,例如图I所示。图I是磁盘上的文件存储示意图。图I模拟了磁盘中的文件存储情况,其中每一单元格代表一个簇,由图I可见,A、B、C三个文件中,只有文件C是连续存储的,文件A和文件B均包括文件碎片,即存储文件A的簇的LCN不连续,存储文件B的簇的LCN也不连续。磁盘上不连续的文件碎片无形中增加了磁盘的寻道时间,降低了磁盘的IO性能。现有技术中,通过磁盘碎片整理将这些零散的文件碎片重新排布到一起,使得同一个文件的所有内容在物理磁盘上的存储位置连续,从而优化磁盘的IO性能。进一步地,在将零散的文件碎片重新排布到一起时,还可以对重新排布的文件进行压缩,实现紧凑排布。可见,目前的磁盘碎片整理方案,仅仅是将同一个文件的文件碎片进行整合,使其连续存储在磁盘上。然而,随着时间的推移,很多已经整理过的文件,还会随着内容的增加而再次产生文件碎片,导致需要反复进行磁盘碎片整理。
技术实现思路
有鉴于此,本专利技术提供了一种文件存储方法和装置,能够在一定程度上防止文件碎片的产生。本专利技术的技术方案具体是这样实现的一种文件存储方法,该方法包括识别出可编辑格式的文件;对可编辑格式的文件进行连续存储,并为该可编辑格式的文件预留存储空间。一种文件存储装置,该装置包括识别模块和整理模块;所述识别模块,用于识别出可编辑格式的文件;所述整理模块,用于对可编辑格式的文件进行连续存储,并为该可编辑格式的文件预留存储空间。由上述技术方案可见,本专利技术通过识别出可编辑格式的文件,不仅对可编辑格式的文件进行连续存储,而且,还为可编辑格式的文件预留存储空间,这样,可编辑格式的文件新增加的内容可以存储在该预留的存储空间中,因此能够一定程度上避免由于内容的增加而产生文件碎片。总之,本专利技术通过识别出可编辑格式的文件,对可编辑格式的文件进行特殊处理,即在存储时为该可编辑格式的文件预留存储空间,因此能够一定程度上防止文件碎片的产生。附图说明图I是磁盘上的文件存储示意图; 图2是本专利技术提供的文件存储方法第一流程图;图3是本专利技术提供的文件存储方法第二流程图;图4是本专利技术提供的对文件进行磁盘碎片整理的详细流程图。图5是本专利技术提供的可编辑格式文件的识别流程图;图6是B文件和A文件的初始分布模拟示意图;图7是为B文件和A文件预留了存储空间、且将B文件和A文件存储在高物理簇号的存储位置时的分布模拟示意图;图8是本专利技术提供的文件存储装置第一结构图;图9是本专利技术提供的文件存储装置第二结构图。具体实施例方式图2是本专利技术提供的文件存储方法第一流程图。如图2所示,该流程包括步骤201,识别出可编辑格式的文件。步骤202,对可编辑格式的文件进行连续存储,并为该可编辑格式的文件预留存储空间。可见,图2所示方法通过识别出可编辑格式的文件,对可编辑格式的文件进行特殊处理,即在存储时为该可编辑格式的文件预留存储空间,因此能够一定程度上防止文件碎片的产生图3是本专利技术提供的文件存储方法第二流程图。如图3所示,该方法包括步骤301,识别出可编辑格式的文件;步骤302,计算该文件占用的存储空间的变化率;步骤303,根据该变化率确定需要为该文件预留的存储空间大小;步骤304,对该文件进行连续存储,并根据所述需要为该文件预留的存储空间大小,在该文件的尾部预留存储空间。可见,图3所示方法在图2所示方法基础上,一方面,通过获取可编辑格式文件的存储空间变化率、根据该变化率确定需要为可编辑格式文件预留的存储空间大小,使得可编辑格式文件预留的存储空间大小能够适应可编辑格式文件占用的存储空间变化情况,并提高了存储空间的利用率;另一方面,通过在可编辑格式文件的尾部预留存储空间,使得可编辑格式文件新增加的内容可以直接存储在尾部预留的存储空间中,从而完全避免了文件碎片的产生。其中,本专利技术所述可编辑格式,是指能够被用户或者程序修改内容的文件格式,例如,以“ log”、“.d0CX”、“. wps”或“ db”为后缀名的文件就是可编辑格式的文件。相对于可编辑格式,不可编辑格式是指一般不能被用户或者程序修改内容的文件格式,例如以“.dll”为后缀名的二进制可执行文件、以“.roF”为后缀名的文件等都是不可编辑格式的文件。 图I和图2提供的文件存储方法,典型地,可以应用在磁盘碎片整理流程中。其中,对于不可编辑格式的文件的碎片整理方式可以不做限定,例如,可以对其进行连续存储以及紧凑排布。下面以对不可编辑格式的文件进行紧凑排布式的碎片整理为例,示例性介绍对文件进行磁盘碎片整理的详细流程,具体请参见图4。图4是本专利技术提供的对文件进行磁盘碎片整理的详细流程图。如图4所示,该流程包括步骤401,判断文件是否为可编辑格式,如果是,执行步骤402,否则,执行步骤405。步骤402,获取该文件占用的存储空间的变化率。步骤403,根据该变化率确定需要为该文件预留的存储空间大小。步骤404,对该文件进行连续存储,并根据所述需要为该文件预留的存储空间大小,在该文件的尾部预留存储空间,结束本流程。步骤405,对该文件进行紧凑排布,结束本流程。在图2-图4中,均涉及如何识别文件是否为可编辑格式,在实际应用中,可以根据文件的后缀名和/或文件内容确定文件是否是可编辑格式,例如可以根据文件的后缀名判断该文件是否是可编辑格式;或者,可以识别文件的起始字符串,根据文件的起始字符串判断该文件是否是可编辑格式;或者,可以识别出文件内容中的可打印字符,确定可打印字符在文件内容中的出现频率,在所述出现频率高于预定阈值时,确定该文件是可编辑格式,反之该文件不是可编辑格式。其中,所述可打印字符,是指能够通过键盘等输入设备输入到电脑中并进行显示的字符,与可打印字符相反的,无法通过键盘等输入设备输入到电脑中的字符是不可打印字符,例如,有时电脑中显示的乱码字符,就是不可打印字符。上述用于识别文件是否是可编辑格式的各种方法可以单独使用,也可以组合使用,例如,可以先根据文件的后缀名判断文件是否是可编辑格式,如果文件没有后缀名,则可以进一步根据文件的起始字符串或者文件内容中的可打印字符的出现频率判断文件是否是可编辑格式。下面结合图5对可编辑格式文件的识别流程进行示例性介绍,具体请参见图5。图5是本专利技术提供的可编辑格式文件的识别流程图。如图5所示,该流程包括步骤501,判断文件是否具有可识别的后缀名,如果是,执行步骤502,否则,执行步骤503。本步骤中,可以先判断文件是否具有后缀名,如果具有不具有后缀名,则直接执行步骤50本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件存储方法,其特征在于,该方法包括识别出可编辑格式的文件;对可编辑格式的文件进行连续存储,并为该可编辑格式的文件预留存储空间。2.根据权利要求I所述的方法,其特征在于,所述预留存储空间包括在该可编辑格式的文件的尾部预留存储空间。3.根据权利要求I或2所述的方法,其特征在于,所述预留存储空间包括通过编程接口,将可编辑格式的文件的大小设置为该可编辑格式的文件的当前实际大小和需要为该可编辑格式的文件预留的存储空间大小之和,根据为该可编辑格式的文件设置的文件大小存储该可编辑格式的文件。4.根据权利要求I或2所述的方法,其特征在于,所述对可编辑格式的文件进行连续存储包括将可编辑格式的文件存储在预先从物理簇号LCN高于预定阈值的磁盘空间划分出的存储区域中。5.根据权利要求I或2所述的方法,其特征在于,该方法还包括计算可编辑格式的文件占用的存储空间的变化率,根据该变化率确定需要为该可编辑格式的文件预留的存储空间大小;所述预留存储空间包括根据所述需要为该可编辑格式的文件预留的存储空间大小, 为该可编辑格式的文件预留存储空间。6.根据权利要求5所述的方法,其特征在于,所述根据该变化率确定需要为该可编辑格式的文件预留的存储空间大小包括在该变化率为负数或O时,不为该文件预留存储空间,在该变化率为正数时,为该文件预留的存储空间不小于为变化率小于该文件的变化率的其他文件预留的存储空间。7.根据权利要求I所述的方法,其特征在于,所述识别出可编辑格式的文件包括根据文件的后缀名判断该文件是否是可编辑格式;和/或,识别文件的起始字符串,根据文件的起始字符串判断该文件是否是可编辑格式;和/或,识别出文件内容中的可打印字符,确定可打印字符在文件内容中的出现频率, 在所述出现频率高于预定阈值时,确定该文件是可编辑格式,反之该文件不是可编辑格式。8.一种文件存储...

【专利技术属性】
技术研发人员:林道正
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1