CN101576890A - 一种新型碎片整理方法和系统 - Google Patents
一种新型碎片整理方法和系统 Download PDFInfo
- Publication number
- CN101576890A CN101576890A CN 200810098518 CN200810098518A CN101576890A CN 101576890 A CN101576890 A CN 101576890A CN 200810098518 CN200810098518 CN 200810098518 CN 200810098518 A CN200810098518 A CN 200810098518A CN 101576890 A CN101576890 A CN 101576890A
- Authority
- CN
- China
- Prior art keywords
- storage medium
- file
- mirror image
- described storage
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种存储介质中的碎片整理方法,其特征在于包括以下步骤:分析存储介质中使用的文件系统,分析该存储介质上的每个文件;整理存储介质中的文件的镜像,其中,该镜像整理包括根据文件系统中的目录和文件名读出信息,并找到相应的数据区地址,和逐个读取存储介质上的文件,将文件顺序添加到位于另一存储介质上的镜像区,同时更新该镜像的用来管理数据的信息表;以及,将整理出的镜像写入存储介质。该方法能够在保证数据的完整性和稳定性的同时,实现碎片整理,减少搬迁次数,从而提高存储介质的使用寿命和性能。
Description
技术领域
本发明涉及一种存储介质,尤其是移动存储介质中的碎片整理的方法和系统。
背景技术
随着电脑技术的发展,数据存储的需求也日益增长,u盘、移动硬盘等移动存储设备在其中发挥着重要作用。经过使用,移动存储设备中会逐渐产生碎片,所谓碎片就是那些没有被写入数据的小的、零散不集中的空区域,当移动存储设备中存在很多这种小的空区域时,如果要写入文件,但没有任何碎片(即,小的空区域)可以容纳该文件,则需要重新整理碎片,以得到足够大的空区域来写入该文件。在这种情况下,碎片整理通常是在向移动存储设备写入文件的过程中进行的。碎片整理的通常做法是,直接在原来的存储区进行搬迁,将数据集中在一起,空区域也集中在一起。
在现有技术中,已有一些专门的磁盘碎片整理工具,其本质也是搬迁,将数据集中在一起,将碎片也集中在一起以形成空闲区。例如,从存储介质的前面找碎片,从后面找数据,将数据和碎片交换位置,将碎片往后移,数据往前移,由于文件系统中还存在很多信息表,所以要同时更新各信息表(如占用表、索引表等),直到前面没有碎片、后面没有文件为止。这样大量地搬迁数据,非常耗费时间和精力,尤其对于Flash存储介质来说,会大大折损其使用寿命。
众所周知,对于采用Flash存储介质和通用串行总线(USB)接口的移动存储设备来说,在保存文件信息时,是按照“串行”方式进行的,也就是说,在该设备中每删除一个文件或增加一个文件,都会导致Flash存储介质中的数据信息自动刷新一次。Flash存储介质的刷新次数是有限的,每次数据搬迁都减少Flash存储介质的使用寿命。如果使用如上所述的常规磁盘碎片整理工具对采用Flash存储介质的移动存储设备进行碎片整理,则频繁的数据搬迁会大大降低移动存储设备的使用寿命。
可是,现有技术中的磁盘碎片整理方法的问题在于,对于Flash存储介质来说,搬迁次数多,影响Flash存储介质的使用寿命。
发明内容
本发明的目的在于,提供一种存储介质的碎片整理的方法和系统,提高整理碎片的速度,提高存储介质的使用寿命,减少搬迁次数,快速地整理出空间,并且使整理后的数据文件集中在一起。对于Flash存储介质,本发明的方法效果尤其显著。
首先,本发明提供了一种存储介质的碎片整理方法,其特征在于包括以下步骤:分析存储介质使用的文件系统,分析该存储介质上的每个文件;整理存储介质中的文件的镜像,其中,该镜像整理是包括,根据所述文件系统的目录和文件名读出信息,找到相应的数据区地址,和逐个读取存储介质上的文件,将文件顺序添加到位于另一存储介质上的镜像区,同时更新该镜像的用来管理数据的信息表;以及,将整理出的镜像写入存储介质。
此外,在将整理出的镜像写入存储介质的步骤中,优选的是,从存储介质的起始地址开始,将整个镜像顺序地写入存储介质。
其中,镜像的存储位置并没有特别的限制,例如,可以在内存中,也可以在缓存介质中,或者一部分在内存中,一部分在缓存介质中。
另外,本发明提供了一种存储介质的碎片整理系统,其包括:分析模块,其分析存储介质使用的文件系统,分析该存储介质上的每个文件;镜像整理模块,其整理存储介质的镜像,根据文件系统中的目录和文件名读出信息,找到相应的数据区地址,并逐个读取存储介质上的文件,将文件顺序添加到位于另一存储介质上的镜像区,同时更新该镜像的用来管理数据的信息表;和写入模块,其将整理出的镜像写入存储介质。
使用本发明的方法和系统整理碎片时,由于存储介质里的数据文件首先被整理成一个数据文件集中的镜像,该镜像的文件组织是按顺序来存放的,然后将镜像写入存储介质,因此能够高效地提高整理碎片的速度,减少搬迁次数,从而提高Flash存储介质的使用寿命,并且使整理后的数据文件集中在一起。
附图说明
图1示出了有碎片的存储介质上的文件组织形式的示意图;
图2示出了现有技术的碎片整理处理的流程图;
图3示出了根据本发明的一个实施例的碎片整理处理的流程图;
图4示出了使用现有技术进行碎片整理后的文件组织形式的示意图;
图5示出了根据本发明的一个实施例的碎片整理后的文件组织形式的示意图;以及
图6示出了根据本发明的一个实施例的镜像整理处理的流程图。
具体实施方式
一般,Flash存储介质是集中写入的介质,其读写都是采用页的;如果将数据写在空页(未被写过的页)上,则速度很快;而如果写在已经写过的地方,则必须先把旧块上的数据全部搬迁到新块上,并擦除旧块,才能在该页上写入新的数据,这样的搬迁速度很慢,且耗时为将数据写到空页上所需时间的100倍甚至更多。而读取数据时则没有这样的搬迁。
图1示出了有碎片的存储介质的文件组织的示意图,如图1所示,在多次使用存储介质后,多次写入数据文件而形成的碎片遍布整个存储介质。这些碎片不是集中在一起的,而是零散分布的。如果要写入比碎片大的文件,只能先整理出足够大的空闲区域才能写入文件,否则就提示无法写入,这样对于存储来说都是不理想的。
图2是现有技术的碎片整理处理的流程图。如图2所示,现有的碎片整理流程是初始化操作之后,分析文件系统,整理出数据页,空闲页等信息(S1)。基于分析的结果,判断空闲页是否集中(S2)。在判断为空闲页不集中的情况下(S2:否),则在存储介质中从前往后搜索,找到一个空闲页Q(S3),从后往前搜索,找到一个数据页P(S4)。接下来,将数据页P的数据全部搬迁到空闲页Q中,并修改与该数据页有关的信息表(S5),例如,FAT表。然后,清除数据页P,作为新的空闲页,并更新占用表(S6),占用表是表征该页为空闲页的表,如FAT表。步骤S6之后,处理返回到步骤S2,如此重复S2~S6的处理,直至前面不再有碎片,后面不再有文件为止,即,当在S2中判断为空闲页集中时(S2:是),碎片整理处理完成。整理的结果是数据在前,空区域在后,如图4中的示意图所示。
使用该方法进行碎片整理很费时,每个文件的移动往往需要搬迁整个大的区域,尤其是对于采用上述的Flash存储介质的存储设备,碎片整理的速度更是非常慢,同时Flash存储介质的使用寿命也降低得很快。对于诸如普通硬盘等的磁性介质,碎片整理的速度也是一个很大的问题。为此,本发明提出了一种新型的碎片整理方法。
下面以FAT系统为例,描述本发明的一个实施例。
图3示出了根据本发明的一个实施例的碎片整理处理的流程图。如图3所示,在该方法中,首先执行初始化操作(S11),例如,读取文件系统,判断其属于哪种文件系统等一系列操作。然后,分析文件系统(S12),并根据分析的结果,整理该存储介质的镜像(S13)。这里的镜像并不是简单的克隆,而是在分析每个文件的基础上,将每个文件按照紧凑的原则,依照文件目录、文件名、簇链表等,依次对每个目录和文件的数据进行重新组织并存放在数据区。整理镜像的过程是逐个文件地按照顺序进行的,每整理完一个文件的同时,更新该镜像的用来管理数据的信息表,这样,镜像整理完成后就得到了新的信息表并整理好了所有的文件。该镜像的位置可以在内存中,也可以被写到硬盘等其他介质中。在下文中,将更加详细地描述镜像整理处理。在步骤S13之后,从存储介质的起始地址开始,将整理的整个镜像写入到存储介质中(S14)。这对Flash存储介质来说,顺序地写入数据,可以减少数据的搬迁,由于这是一个持续的、大量数据的写入,与Flash的架构相符,这就避免了少量数据分别写入时引起的数据搬迁,以至于影响使用寿命等问题,解决了特别是以Flash为存储介质的存储系统的磁盘整理问题,对硬盘等其他介质也在速度方面有很大提高,因为对于所有存储介质来说,大量数据的连续写入都比零散地分别写入的速度要快。当写入镜像完成后,碎片整理结束(S15)。
图6示出了根据本发明的一个实施例的镜像整理处理的流程图,在图3所示的步骤S13中,调用并执行图6所示的处理。镜像整理处理是根据文件系统的结构,逐个文件地进行读取,并将文件整理到镜像中,直到存储介质中的所有目录和文件被整理完为止。
镜像整理处理包括以下步骤:首先,根据信息表中的目录、文件名,读出每个文件的信息(S21)。然后,根据读取的信息,找到数据区地址(S22),并读取该文件(S23)。将读取的文件添加到镜像区,该镜像区可以在内存中也可以在存储介质中,同时更新该镜像的用来管理数据的信息表(S24)。接下来,判断是否已经对所有文件完成了读取和添加(S25),如果判断尚未对所有文件完成以上操作(S25:否),则查找下一个文件或目录(S26),然后处理返回到步骤S21,重复步骤S21~S26的处理,直到所有文件都被读取和添加完毕为止。当判断为已完成对所有文件的读取和添加时(S23:是),镜像整理处理完成(S27),处理返回到步骤S14(图3)。
根据本发明的实施例的碎片整理结果如图5所示。比较图5和图4的文件存放结构,可见,采用本发明的方法整理出来的文件系统,数据文件是按顺序存放的,当读取数据时,依次读取即可,而不必如图4的情况中那样,例如在读取文件1时,需要先读取前面的区域,再读取后面的区域,才能把文件1读取出来。所以,本发明的方法使得读取数据的速度也得到了极大的提高,因此提高了存储设备的性能。
本法明提供的方法是将存储介质中的数据文件整理成一个数据文件集中的镜像,该镜像的文件组织是按顺序来存放的,然后将镜像从头开始写入存储介质。这样,在保证数据的完整性和稳定性的同时,实现了碎片整理,也减少了搬迁次数,从而提高了存储介质的使用寿命和性能。
采用本发明的方法能高效地提高整理碎片的速度,并且整理出的空闲区能极大地提高存储设备的性能,方便后续的数据文件的写入,同时,文件是按顺序存放的,极大地提高了数据的读取速度。
应注意的是,本发明提供的是专门的碎片整理方法,与向存储介质写入数据文件时的整理不同。
现描述本发明的第二实施例。
该实施例是一种存储介质的碎片整理系统,包括:分析模块,其分析文件系统,分析该存储介质上的每个文件;镜像整理模块,其整理存储介质的镜像,在分析存储介质上的每个文件的基础上,将每个文件的数据和信息表集中整理到一起;和写入模块,其将整理出的镜像写入存储介质,该写入模块从存储介质的起始地址开始,将整个镜像顺序地写入存储介质。
采用本发明的碎片整理系统,能够将存储介质中的数据文件整理成一个数据文件集中的镜像,该镜像的文件组织是按顺序来存放的,然后将镜像从头开始写入存储介质。这样,在保证数据的完整性和稳定性的同时,实现了碎片整理,也减少了搬迁次数,从而提高了存储介质的使用寿命和性能。
采用本发明的碎片整理系统能高效地提高整理碎片的速度,并且整理出的空闲区能极大地提高存储设备的性能,方便后续的数据文件的写入,同时,文件是按顺序存放的,极大地提高了存储介质中的数据的读取速度。
本领域的技术人员清楚,本发明还可以实施为多种变形例,上述实施例仅是为了说明方便而列举的具体实例,并不对本发明的保护范围构成限制。本发明的保护范围仅由所附的权利要求定义。
Claims (7)
1.一种存储介质中的碎片整理方法,其特征在于包括以下步骤:
分析所述存储介质使用的文件系统,并分析所述存储介质上的每个文件;
整理所述存储介质中的文件的镜像到另一存储介质的镜像区上;和
将整理出的镜像写入所述存储介质。
2.如权利要求1所述的存储介质的碎片整理方法,其中,所述整理所述存储介质中的文件的镜像到另一存储介质的镜像区上的步骤包括:
根据所述文件系统中的目录和文件名读出信息,找到相应的数据区地址;和
逐个读取所述存储介质上的文件,将文件顺序添加到位于所述另一存储介质上的镜像区,同时更新该镜像的用来管理数据的信息表。
3.如权利要求1所述的存储介质的碎片整理方法,其中,在将整理出的镜像写入所述存储介质的步骤中,是从所述存储介质的起始地址开始,将整个镜像顺序地写入所述存储介质。
4.如权利要求1所述的存储介质的碎片整理方法,其中所述镜像区位于内存中,或者缓存介质中,或者一部分在内存中,一部分在缓存介质中。
5.一种存储介质的碎片整理系统,其特征在于包括:
分析模块,其分析所述存储介质使用的文件系统,分析该存储介质上的每个文件;
镜像整理模块,其整理所述存储介质的镜像,根据所述文件系统中的目录和文件名读出信息,找到相应的数据区地址,并逐个读取所述存储介质上的文件,将文件顺序添加到位于另一存储介质上的镜像区,同时更新该镜像的用来管理数据的信息表;和
写入模块,其将整理出的镜像写入所述存储介质。
6.如权利要求5所述的存储介质的碎片整理方法,其中,在所述写入模块将整理出的镜像写入所述存储介质时,是从所述存储介质的起始地址开始,将整个镜像顺序地写入所述存储介质。
7.如权利要求5所述的存储介质的碎片整理系统,其中所述镜像的存储位置是在内存中,或者缓存介质中,或者一部分在内存中,一部分在缓存介质中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810098518.8A CN101576890B (zh) | 2008-05-08 | 2008-05-08 | 一种新型碎片整理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810098518.8A CN101576890B (zh) | 2008-05-08 | 2008-05-08 | 一种新型碎片整理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101576890A true CN101576890A (zh) | 2009-11-11 |
CN101576890B CN101576890B (zh) | 2015-06-17 |
Family
ID=41271824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810098518.8A Active CN101576890B (zh) | 2008-05-08 | 2008-05-08 | 一种新型碎片整理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101576890B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760168A (zh) * | 2012-06-13 | 2012-10-31 | 腾讯科技(深圳)有限公司 | 碎片文件扫描的方法及装置 |
CN103246610A (zh) * | 2012-02-14 | 2013-08-14 | 中国科学院上海微系统与信息技术研究所 | 基于单类型存储器的嵌入式系统的动态存储管理方法 |
CN103425761A (zh) * | 2013-08-05 | 2013-12-04 | 珠海金山网络游戏科技有限公司 | 一种对打包文件进行碎片整理的方法、系统及设备 |
CN103793210B (zh) * | 2012-10-29 | 2017-03-08 | 腾讯科技(深圳)有限公司 | 磁盘整理方法、装置及系统 |
CN107506496A (zh) * | 2017-09-28 | 2017-12-22 | 北京小米移动软件有限公司 | 碎片整理方法、装置及计算机可读存储介质 |
CN107643959A (zh) * | 2016-07-19 | 2018-01-30 | 紫光华山信息技术有限公司 | 镜像文件处理方法和装置 |
CN107766370A (zh) * | 2016-08-19 | 2018-03-06 | 华为技术有限公司 | 一种文件碎片评估方法及终端 |
CN108959500A (zh) * | 2018-06-26 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种对象存储方法、装置、设备及计算机可读存储介质 |
US10417186B2 (en) | 2014-09-26 | 2019-09-17 | Huawei Technologies Co., Ltd. | File migration method and apparatus, and storage device |
CN110543432A (zh) * | 2019-09-09 | 2019-12-06 | Oppo广东移动通信有限公司 | 内存碎片整理方法、装置、终端及存储介质 |
CN115629716A (zh) * | 2022-12-07 | 2023-01-20 | 广东睿江云计算股份有限公司 | 基于磁盘镜像文件的碎片整理方法及碎片整理系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1186728C (zh) * | 2001-07-03 | 2005-01-26 | 联想(北京)有限公司 | 闪存文件的管理方法 |
CN1162782C (zh) * | 2001-08-03 | 2004-08-18 | 华为技术有限公司 | 快速存储器文件的处理方法 |
CN1225698C (zh) * | 2003-04-30 | 2005-11-02 | 华中科技大学 | 一种存储设备数据再生进化方法 |
JP4146380B2 (ja) * | 2004-03-29 | 2008-09-10 | 東芝ソリューション株式会社 | ストレージシステム、ブロック再配置制御方法及びプログラム |
CN101051289A (zh) * | 2006-04-07 | 2007-10-10 | 乐金电子(中国)研究开发中心有限公司 | 一种整理移动终端碎片的方法 |
-
2008
- 2008-05-08 CN CN200810098518.8A patent/CN101576890B/zh active Active
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246610A (zh) * | 2012-02-14 | 2013-08-14 | 中国科学院上海微系统与信息技术研究所 | 基于单类型存储器的嵌入式系统的动态存储管理方法 |
CN103246610B (zh) * | 2012-02-14 | 2016-06-15 | 中国科学院上海微系统与信息技术研究所 | 基于单类型存储器的嵌入式系统的动态存储管理方法 |
CN102760168A (zh) * | 2012-06-13 | 2012-10-31 | 腾讯科技(深圳)有限公司 | 碎片文件扫描的方法及装置 |
CN102760168B (zh) * | 2012-06-13 | 2015-01-07 | 腾讯科技(深圳)有限公司 | 碎片文件扫描的方法及装置 |
CN103793210B (zh) * | 2012-10-29 | 2017-03-08 | 腾讯科技(深圳)有限公司 | 磁盘整理方法、装置及系统 |
CN103425761A (zh) * | 2013-08-05 | 2013-12-04 | 珠海金山网络游戏科技有限公司 | 一种对打包文件进行碎片整理的方法、系统及设备 |
CN103425761B (zh) * | 2013-08-05 | 2017-02-08 | 珠海金山网络游戏科技有限公司 | 一种对打包文件进行碎片整理的方法、系统及设备 |
US10417186B2 (en) | 2014-09-26 | 2019-09-17 | Huawei Technologies Co., Ltd. | File migration method and apparatus, and storage device |
CN107643959A (zh) * | 2016-07-19 | 2018-01-30 | 紫光华山信息技术有限公司 | 镜像文件处理方法和装置 |
CN107643959B (zh) * | 2016-07-19 | 2020-08-04 | 新华三信息技术有限公司 | 镜像文件处理方法和装置 |
CN107766370A (zh) * | 2016-08-19 | 2018-03-06 | 华为技术有限公司 | 一种文件碎片评估方法及终端 |
CN107506496A (zh) * | 2017-09-28 | 2017-12-22 | 北京小米移动软件有限公司 | 碎片整理方法、装置及计算机可读存储介质 |
CN108959500A (zh) * | 2018-06-26 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种对象存储方法、装置、设备及计算机可读存储介质 |
CN110543432A (zh) * | 2019-09-09 | 2019-12-06 | Oppo广东移动通信有限公司 | 内存碎片整理方法、装置、终端及存储介质 |
CN110543432B (zh) * | 2019-09-09 | 2021-07-20 | Oppo广东移动通信有限公司 | 内存碎片整理方法、装置、终端及存储介质 |
CN115629716A (zh) * | 2022-12-07 | 2023-01-20 | 广东睿江云计算股份有限公司 | 基于磁盘镜像文件的碎片整理方法及碎片整理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101576890B (zh) | 2015-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101576890A (zh) | 一种新型碎片整理方法和系统 | |
CN100458779C (zh) | 扩展索引的方法 | |
US9213715B2 (en) | De-duplication with partitioning advice and automation | |
CN106528717B (zh) | 数据处理方法和系统 | |
CN103020255B (zh) | 分级存储方法和装置 | |
CN103164490B (zh) | 一种不固定长度数据的高效存储实现方法和装置 | |
CN102999519A (zh) | 一种数据库的读写方法及系统 | |
EP2169530B1 (en) | Method of managing memory storage space and a computer system | |
US8380663B2 (en) | Data integrity in a database environment through background synchronization | |
CN102902763B (zh) | 关联、检索信息处理数据和处理信息任务的方法及装置 | |
CN107247624B (zh) | 一种面向Key-Value系统的协同优化方法及系统 | |
CN109240607B (zh) | 一种文件读取方法和装置 | |
CN102725752A (zh) | 处理脏数据的方法及装置 | |
CN102541757A (zh) | 写缓存方法、缓存同步方法和装置 | |
CN103514212A (zh) | 数据写入方法及系统 | |
CN103514210A (zh) | 小文件处理方法及装置 | |
KR20160100211A (ko) | 대용량 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법 및 장치 | |
CN103425785A (zh) | 数据存储系统及其用户数据存储、读取方法 | |
CN101963977A (zh) | 无城市搜索方法及移动终端 | |
CN102779138A (zh) | 实时数据的硬盘存取方法 | |
CN104281717A (zh) | 一种建立海量id映射关系的方法 | |
CN104050057A (zh) | 一种历史感知的数据去重碎片消除方法与系统 | |
KR101666440B1 (ko) | 환형큐 기반의 인-메모리 데이터베이스 시스템에서의 데이터 처리방법 | |
CN102609335B (zh) | 一种实现写时复制保护元数据的装置及方法 | |
CN102841894A (zh) | 一种文件分配表的数据存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |