一种整理文件碎片的方法和系统的制作方法

文档序号:6470343阅读:147来源:国知局
专利名称:一种整理文件碎片的方法和系统的制作方法
技术领域
本发明涉及文件碎片整理技术,更具体地说,涉及一种整理文件碎片的方 法和系统。
背景技术
存储技术的不断进步使得存储器的容量越来越大,而体积却在不断缩小。 大容量便携式存储器备受用户青睐,在人们的工作和生活中得到了广泛的应 用。目前移动终端如智能电话、PDA (Personal Digital Assistant,个人数字助 理)中配置的存储器的容量一般均在1G以上,除了用于存储常用的音频文件 之外,越来越多的用户开始在移动终端中保存文档、表格等办公文件。此类办 公文件往往读写频繁,且数量众多,但每个文件的占用空间却很小,因此,这 些办公文件在反复读写的过程中极易产生文件碎片。所谓文件碎片,是指同一 文件的各个部分分别存储在存储器中的不同位置,即该文件所占据的存储空间 不连续。文件碎片的大量存在会P争低读写效率,导致文件的打开时间过长。因 此,有必要对移动终端中的存储器进行碎片整理,以提高整体读写速度。中国专利申请CN200610011624中公开了 一种整理移动终端文件碎片的 方法,可对移动终端中的存储器进行碎片整理。在该方法中,首先将整理区域 内的数据复制到另一存储器中;再将整理区域进行格式化;最后将复制到另一 存储器中的数据复制回格式化后的整理区域中。虽然能够对移动终端存储器进 行碎片整理,但上述方法也存在很多缺陷。首先,该方法客观上要求配置额外 的一个独立存储器来容纳整理区域内的数据,这一要求势必导致移动终端的总 成本增加。此外,该方法需要进行两次复制操作,这将给本身处理能力就十分 有限的移动终端增加沉重的处理负担。最后,上述方法将不存在碎片的文件也进行复制,这同样会增加移动终端的处理负担,致使整理效率不高。因此,需要一种文件碎片整理方案,能够克服现有技术存在的缺陷。发明内容本发明要解决的技术问题在于,针对现有移动终端文件碎片整理方法所存 在的因需要使用额外的存储器而导致成本过高的缺陷,和因复制操作过多而导 致移动终端处理负担过重的缺陷,以及因对不存在碎片的文件也一同整理而导 致整体效率不高的缺陷,提供一种整理文件碎片的方法和系统。本发明解决其技术问题所采用的技术方案是一种整理文件碎片的方法,用于对存储器中存在碎片的文件进行整理,包 括如下步骤51、 在所述存储器中分配连续的存储空间;52、 将存在碎片的文件移至分配的存储空间中。在本发明提供的整理文件碎片的方法中,所述存储器包括多个块,其中, 存储有存在碎片的文件的块为源块; 所述步骤S1进一步包括 在所述存储器中分配至少一个空块作为目标块; 所述步骤S2进一步包括对每一源块中的每一存在碎片的文件执行移动操作,以将其从其源块移至 所述目标块中。在本发明提供的整理文件碎片的方法中,在所述存储器中,每个块包括多个页,所述移动操作包括如下步骤Al、在所述目标块中分配至少一个空页作为目标页;A2、将所操作文件连续复制到所述目标页中;A3、依据所述目标页的地址对所操作文件的存储地址进行更新;A4、将所才喿作文件所在源块中用于存储该文件的页标记为无效页。在本发明提供的整理文件碎片的方法中,所述步骤S2还包括,对于每一源块,在对其中所有存在碎片的文件都执行完所述移动操作之后,在判定该源块满足擦除条件时,对该源块中有效页中的文件执行所述移动操作,然后擦除 该源块。在本发明提供的整理文件碎片的方法中,所述擦除条件为源块中无效页的 数量达到预定的门限值时。本发明还提供了一种整理文件碎片的系统,与存储器通信连接,用于对存储器中存在碎片的文件进行整理,包括空间分配模块,用于接收碎片整理命令,在所述存储器中查找连续的存储 空间;碎片整理模块,用于将存在碎片的文件移至找到的存储空间中。 在本发明提供的整理文件碎片的系统中,所述存储器包括多个块,其中, 存储有存在碎片的文件的块为源块;所述空间分配模块用于在所述存储器中查找至少一个空块作为目标块; 所述碎片整理模块包括移动模块,用于对每一源块中的每一存在碎片的文件执行移动操作, 以将其^t人其源块移至所述目标块中。在本发明提供的整理文件碎片的系统中,在所述存储器中,每个块包括多 个页;所述移动模块进一步包括复制模块,用于在所述目标块中查找至少一个空页作为目标页,将所 操作文件连续复制到所述目标页中;更新才莫块,用于依据所述目标页的地址对所操作文件的存储地址进行 更新;无效模块,用于将所操作文件所在源块中用于存储该文件的页标记为 无效页。在本发明提供的整理文件碎片的系统中, 所述碎片整理模块还包括擦除模块,用于对于每一源块,在所述移动模块对其中所有存在碎 片的文件都执行完所述移动操作之后,在判定该源块满足擦除条件时,通过移动模块对该源块中有效页中的文件执行所述移动操作,然后擦除该源 块。在本发明提供的整理文件碎片的系统中,所述擦除条件为源块中无效页的 数量达到预定的门限值时。实施本发明的技术方案,具有以下有益效果,通过使用存储器中存在的空 块来存储存在碎片的文件,使得无需为碎片整理过程添加额外的存储器,有助 于降低移动终端的总体成本。通过将存在碎片的文件的存储地址更新为复制后 其在空块中的地址,使得在整个整理过程中对每一个存在碎片的文件只需进行 一次文件复制,因此不会导致移动终端处理负担过重。由于在多数情况下只对 存在碎片的文件进行整理,因此整理效率更高。且只有在满足擦除条件时才执 行擦除操作,因此可在获得新的空块的同时,有效避免因频繁执行擦除操作而 导致系统性能下降。最后,门P艮值可根据空块的数量和系统负担情况进行调整, 从而可对碎片整理过程进行优化。


下面将结合附图及实施例对本发明作进一步说明,附固中 图1是依据本发明一较佳实施例的整理文件碎片的方法的流程图; 图2是依据本发明另一较佳实施例的整理文件碎片的方法的流程图; 图3是依据本发明一较佳实施例的整理文件碎片的系统的结构示意困。
具体实施方式
为了使本发明的目的、技术方案及优点更力口清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用于限定本发明。图1是依据本发明一较佳实施例的整理文件碎片的方法100的流程图。如 图1所示,方法100开始于步骤102,接收碎片整理命令。随后,在下一步骤104,在移动终端的存储器中分配连续的存储空间。在 具体实现过程中,分配的连续存储空间应足够大,以便能够连续存储存在碎片的文件,同时防止产生新的文件碎片。随后,在下一步骤106,将存在碎片的文件移至所分配的连续存储空间内。 在移动过程中,将同一文件中的各个文件碎片连续存储,从而保证连续存储空 间内存储的文件不再包含碎片。在具体实现过程中,可依据例如但不限于文件分配表来查找存在碎片的文 件。当同一文件被^t存储在存储器中的不同部分时,就会产生文件碎片。此如页地址)必然不连续。因此,可通过分析地址链是否连续来查找存在碎片的 文件。有关查找存在碎片的文件的具体方法已经在现有技术中做了清楚的描 述,因此本文不再赘述。最后,方法100结束于步骤108。移动设备的存储器一般可划分为多个块,每个块又可进一步划分为多个 页。下面就结合图2对应用于移动设备存储器的碎片文件整理方法进行描述。图2是依据本发明另 一较佳实施例的整理文件碎片的方法200的流程图。 如图2所示,方法200开始于步骤202,接收碎片整理命令。随后,在下一步骤204,分配至少一个空块作为目标块。空块是指其中未 存储任何文件的块。在具体实现过程中,可依据例如但不限于文件分配表来查 找并分配目标块。随后,在下一步骤206,选择一个包含存在碎片的文件的块(下文将包含 存在碎片的文件的块简称为源块),对其中的每一个存在碎片的文件执行移动 操作,以将其从其源块移至目标块中。上述移动操作具体包括如下步骤51、 在目标块中分配至少一个空页作为目标页。在具体实现过程中, 可依据例如但不限于文件分配表来查找并分配目标页;52、 将所操作的文件(即对其执行移动操作的文件)连续复制到目标 页中。应注意,在复制过程中,需要将所操作文件的各个碎片部分连续复 制到目标页中,以此来消除文件碎片;53、 依据目标页的地址对所操作文件的存储地址进行更新。在具体实 现过程中,可通过将这一 目标页的地址作为所操作文件的存储地址添加到文件分配表中来实现对所操作文件的存储地址的更新;S4、将所操作文件所在源块中用于存储该文件的页标记为无效页。在 具体实现过程中,可通过将文件分配表中记录的所操作文件在其源块中的 存储地址标记为无效来实现本步骤。随后,在下一步骤208,判断所选择的源块是否满足擦除条件,若是,则 转到步骤210,否则转到步骤214。在具体实现过程中,可将擦除条件设定为 例如但不限于源块中无效页的数量到达预定的门限值。如上文所述,若在步骤208判定满足擦除条件,则方法200转到步骤210, 对所选择源块中有效页中的文件进行移动操作。由于所选择源块中所有存在碎 片的文件均已在步骤206中通过移动操作移动到目标块中,因此有效页中存储 文件均为不存在碎片的文件。移动操作的具体过程已经在步骤206中做了清楚 的描述,因此此处不再赘述。在具体实现过程中,可依据文件分配表来查找源 块中的有效页。随后,方法200转到步骤212。随后,在下一步骤212,擦除该源块。随后,方法200转到步骤214。随后,在下一步骤214,判断是否存在未整理的源块,若是,则回到步骤 206,否则转到步骤216。最后,方法200结束于步骤216。应注意,在上文描述的移动操作的步骤S4中提到的无效页是指对应的页 可作为空页使用;将存储地址标记为无效意味着可将该地址对应的页做为空页 来使用,而并非是指上述无效页因发生物理损坏而无法使用。如上文所述,方法200中包括对满足擦除条件的源块执行擦除操作。擦除 操作可用于提供新的空块,该空块即可用于进行碎片整理操作,也可用于存储 新文件。然而,擦除操作会增加系统负担,因此必须对擦除操作的频率进行限 制。本发明采用的方法是设定无效页门限值,当源块中的无效页达到门卩艮值时, 说明该源块中存储的有效文件(即有效页中的文件)较少,大量空间都是无效 的,即该源块中的大量空间可用于存储其他文件。由于该源块中仍然存在少量 有效文件,因此直接在此源块中存储文件很容易产生文件碎片,所以先将有效 文件移至目标块中,然后对该源块进行擦除,这样便可得到一个完整的空块,用空块来存储文件不易产生文件碎片。上文所述的门限值可以是动态变化的,即在进行碎片整理的情况下,当空 块较多时,可釆用较大的门限值,以便在无效页较多时才执行擦除操作,避免 因擦除操作执行过于频繁而导致负担过重、性能下降。而在空块较少时,采用 较小的门限值,以便提供更多的空块来协助进行碎片整理。在进行文件碎片整理的过程中可实时显示整理进度,以方便用户随时了解 整理进度情况。同时,为确保文件碎片整理过程进行得更为顺畅,可在整理期 间屏蔽移动终端的其他才喿作。由方法200可以看出,通过使用存储器中存在的空块来存储存在碎片的文 件,使得无需为碎片整理过程添加额外的存储器。且通过将存在碎片的文件的 存储地址更新为复制后其在空块中的地址,使得在整个整理过程中对每一个存 在碎片的文件只需进行一次文件复制。由于在多数情况下只对存在碎片的文件 进行整理,因此整理效率更高。且只有在源块中无效页的数量超过预定门限值 时才执行擦除操作,因此可在获得新的空块的同时,有效避免因频繁执行擦除 操作而导致系统性能下降。最后,门限值可根据空块的数量和系统负担情况进 行调整,从而可对碎片整理过程进行优化。除上文描述的整理文件碎片的方法外,本发明还提供了 一种整理文件碎片 的系统,下文便结合图3对其进行描述。图3是依据本发明一较佳实施例的整理文件碎片的系统300的结构示意 图。整理文件碎片的系统300与移动终端中的存储器通信连接,该存储器可划 分为多个块,每个块又可进一步划分为多个页。如图3所示,整理文件碎片的 系统300包括空间分配模块302和碎片整理模块304。空间分配模块302用于接收碎片整理命令316,在存储器中查找连续的存 储空间,即作为目标块的至少一个空块。在具体实现过程中,空间分配模块 302可借助例如但不限于文件分配表来查找目标块。随后,空间分配模块302 向碎片整理模块304发送整理通知,其中包含目标块的地址。碎片整理模块304用于接收整理通知,将存储器中存在碎片的文件移至空 间分配模块302找到的存储空间中。在具体实现过程中,碎片整理模块304可依据例如但不限于文件分配表来查找存在碎片的文件。此外,碎片整理模块304从整理通知中提取目标块的地址,确定目标块的位置。随后,碎片整理模 块304通过其移动模块306来对每一源块中的每一存在碎片的文件执行移动操 作,以将其从其源块移至目标块中。再通过其擦除模块308来擦除满足擦除条 件的源块。如上文所述,移动模块306用于对每一源块中的每一存在碎片的文件执行 移动操作,以将其从其源块移至目标块中。在具体实现过程中,移动模块306 首先选择一个待整理的源块,然后对其中的每一个存在碎片的文件执行上述移 动操作。移动模块306通过其复制模块310、更新模块312和无效模块314来 执行上述移动操作。复制模块310用于在空间分配模块302找到的目标块中查找至少一个空页 作为目标页,将所操作文件连续复制到该目标页中。更新模块312用于依据上述目标页的地址对所操作文件的存储地址进行 更新。无效模块314用于将所操作文件所在源块中用于存储该文件的页标记为 无效页。在对所选择的源块中所有存在碎片的文件都执行完上述移动操作之后,移 动模块306发出擦除通知,其中包含该源块的地址。擦除模块308用于接收擦除通知,提取其中的地址,判断对应的源块是否 满足擦除条件,例如但不限于该源块中的无效页是否达到预定的门限值。若是, 则通知移动才莫块306对该源块中有效页中的文件执行上述移动操作,然后擦除 该源块,并通知移动^f莫块306开始处理下一个待处理源块。若判定该源块不满 足擦除条件,则擦除模块308直接通知移动模块306开始处理下一个待处理源 块。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的保护范围之内。
权利要求
1、一种整理文件碎片的方法,用于对存储器中存在碎片的文件进行整理,其特征在于,包括如下步骤S1、在所述存储器中分配连续的存储空间;S2、将存在碎片的文件移至分配的存储空间中。
2、 根据权利要求1所述的整理文件碎片的方法,其特征在于,所述存储 器包括多个块,其中,存储有存在碎片的文件的块为源块;所述步骤S1进一步包括 在所述存储器中分配至少一个空块作为目标块; 所述步骤S2进一步包括对每一源块中的每一存在碎片的文件执行移动操作,以将其从其源块移至 所述目标块中。
3、 根据权利要求2所述的整理文件碎片的方法,其特征在于,在所述存 储器中,每个块包括多个页,所述移动操作包括如下步骤Al、在所述目标块中分配至少一个空页作为目标页;A2、将所操作文件连续复制到所述目标页中;A3、依据所述目标页的地址对所操作文件的存储地址进行更新;A4 、将所操作文件所在源块中用于存储该文件的页标记为无效页。
4、 根据权利要求3所述的整理文件碎片的方法,其特征在于,所述步骤 S2还包括,对于每一源块,在对其中所有存在碎片的文件都执行完所述移动 操作之后,在判定该源块满足擦除条件时,对该源块中有效页中的文件执行所 述移动操作,然后擦除该源块。
5、 根据权利要求4所述的整理文件碎片的方法,其特征在于,所述擦除 条件为源块中无效页的数量达到预定的门限值时。
6、 一种整理文件碎片的系统,与存储器通信连接,用于对存储器中存在 碎片的文件进行整理,其特征在于,包括空间分配模块,用于接收碎片整理命令,在所述存储器中查找连续的存储空间;碎片整理模块,用于将存在碎片的文件移至找到的存储空间中。
7、 根据权利要求6所述的整理文件碎片的系统,其特征在于,所述存储 器包括多个块,其中,存储有存在碎片的文件的块为源块;所述空间分配模块用于在所述存储器中查找至少一个空块作为目标块;所述碎片整理模块包括移动模块,用于对每一源块中的每一存在碎片的文件执行移动操作, 以将其从其源块移至所述目标块中。
8、 根据权利要求7所述的整理文件碎片的系统,其特征在于,在所述存 储器中,每个块包括多个页;所述移动模块进一步包括复制模块,用于在所述目标块中查找至少一个空页作为目标页,将所 才喿作文件连续复制到所述目标页中;更新模块,用于依据所述目标页的地址对所操作文件的存储地址进行 更新;无效模块,用于将所操作文件所在源块中用于存储该文件的页标记为 无效页。
9、 根据权利要求8所述的整理文件碎片的系统,其特征在于, 所述碎片整理模块还包括擦除模块,用于对于每一源块,在所述移动模块对其中所有存在碎 片的文件都执行完所述移动操作之后,在判定该源块满足擦除条件时,通 过移动模块对该源块中有效页中的文件执行所述移动操作,然后擦除该源 块。
10、 根据权利要求9所述的整理文件碎片的系统,其特征在于,所述擦除 条件为源块中无效页的数量达到预定的门限值时。
全文摘要
本发明涉及文件碎片整理,针对现有移动终端文件碎片整理方法成本过高等缺陷,提供一种整理文件碎片的方法和系统。所述方法包括分配连续的存储空间;将存在碎片的文件移至分配的存储空间。本发明还提供了一种整理文件碎片的系统。使用空块来存储碎片文件,无需添加额外的存储器,因此可降低总成本。将碎片文件的存储地址更新为其在空块中的地址,使得对每一个存在碎片的文件只需进行一次文件复制,不会导致处理负担过重。由于只对存在碎片的文件进行整理,因此整理效率更高。另外,只有在满足擦除条件时才执行擦除操作,因此可有效避免因频繁擦除而导致性能下降。门限值可根据空块数量和系统负担情况进行调整,因此可对碎片整理过程进行优化。
文档编号G06F17/30GK101404028SQ200810217290
公开日2009年4月8日 申请日期2008年11月7日 优先权日2008年11月7日
发明者吴炽强, 亮 张, 朱先伟 申请人:宇龙计算机通信科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1