CN107729558B - 文件系统碎片整理的方法、系统、装置及计算机存储介质 - Google Patents
文件系统碎片整理的方法、系统、装置及计算机存储介质 Download PDFInfo
- Publication number
- CN107729558B CN107729558B CN201711092148.2A CN201711092148A CN107729558B CN 107729558 B CN107729558 B CN 107729558B CN 201711092148 A CN201711092148 A CN 201711092148A CN 107729558 B CN107729558 B CN 107729558B
- Authority
- CN
- China
- Prior art keywords
- file
- continuous
- files
- read
- write frequency
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000005012 migration Effects 0.000 claims abstract description 15
- 238000013508 migration Methods 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013467 fragmentation Methods 0.000 abstract description 11
- 238000006062 fragmentation reaction Methods 0.000 abstract description 11
- 239000002699 waste material Substances 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/119—Details of migration of file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1724—Details of de-fragmentation performed by the file system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件系统碎片整理的方法、系统、装置及计算机存储介质,包括:在接收到整理指令时,将待整理的分散在不同位置存储的不连续文件合并成连续文件,并确定文件存储区的起始位置;根据预设的读写频率规则确定待迁移的读写频率最高的连续文件,并迁移读写频率最高的连续文件至文件存储区;标记迁移的读写频率最高的连续文件为已被整理状态,直至所有连续文件都被标记为已被整理状态。本申请可以减少文件系统中文件的碎片化程度,从而减少文件系统空间的浪费,提高文件系统的性能,降低文件丢失和损坏的可能性。本申请还根据文件的读写频率安排文件的存放位置,使得经常使用的文件存放在相对集中的位置,减少了文件读写时的寻道时间。
Description
技术领域
本发明涉及存储技术领域,特别是涉及一种文件系统碎片整理的方法、系统、装置及计算机存储介质。
背景技术
随着存储技术的发展,存储的应用场景越来越广泛,其中一种就是海量小文件的应用场景。海量小文件的应用场景中,文件的数量较多,如果频繁的对文件进行读写删除操作就会使得该文件的内容分散存储在文件系统的不同位置,文件变为不连续的文件,造成大量的文件系统碎片,一方面使得文件系统中出现大量的很小不能被利用的空间造成空间的浪费,另一方面由于文件变为了分散在不同位置存储的不连续文件,文件系统在读文件的时候需要来回寻找,导致文件系统性能降低,还会增加文件丢失和损坏的可能性。
因此,如何提供一种解决上述技术问题的方案是本领域的技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种文件系统碎片整理的方法、系统、装置及计算机存储介质,可以减少文件系统中文件的碎片化程度,从而减少文件系统空间的浪费,提高文件系统的性能,降低文件丢失和损坏的可能性;还根据文件的读写频率安排文件的存放位置,使得经常使用的文件存放在相对集中的位置,减少了文件读写时的寻道时间。
为解决上述技术问题,本发明提供了一种文件系统碎片整理的方法,包括:
在接收到整理指令时,将待整理的分散在不同位置存储的不连续文件合并成连续文件,并确定文件存储区的起始位置;
根据预设的读写频率规则确定待迁移的读写频率最高的连续文件,并迁移所述读写频率最高的连续文件至所述文件存储区;
标记迁移的所述读写频率最高的连续文件为已被整理状态,直至所有所述连续文件都被标记为所述已被整理状态。
优选地,所述预设的读写频率规则为预先创建的第一链表,所述第一链表的链表元素与所述连续文件一一对应,每个所述链表元素保存对应连续文件的索引节点、访问次数以及最后一次访问时间;
则根据预设的读写频率规则确定待迁移的读写频率最高的连续文件的过程具体为:
根据所述第一链表保存的所述连续文件的访问次数以及最后一次访问时间确定待迁移的读写频率最高的连续文件。
优选地,该方法还包括:
每隔预设时间间隔判断所述第一链表中保存的所述连续文件的最后一次访问时间是否超过第一阈值;
将最后一次访问时间超过所述第一阈值的连续文件的访问次数清零。
优选地,所述标记迁移的所述读写频率最高的连续文件为已被整理状态之后,迁移除所述读写频率最高的连续文件之外的待整理的所述连续文件中的读写频率最高的连续文件至所述文件存储区之前,该方法还包括:
根据预设的关联性规则确定与所述读写频率最高的连续文件关联的连续文件,并迁移所述关联的连续文件至所述文件存储区中紧邻所述读写频率最高的连续文件的存储位置;
标记迁移的所述关联的连续文件为已被整理状态。
优选地,所述预设的关联性规则为预先创建的第二链表,所述第二链表的链表元素与所述连续文件一一对应,每个所述链表元素保存对应连续文件的索引节点、访问完所述对应连续文件之后最先访问的连续文件的索引节点以及各个所述最先访问的连续文件的访问次数;
则所述根据预设的关联性规则确定与所述读写频率最高的连续文件关联的连续文件的过程具体为:
判断与所述读写频率最高的连续文件对应的所述第二链表的链表元素保存的各个所述最先访问的连续文件的访问次数是否超过第二阈值;
确定访问次数超过所述第二阈值的最先访问的连续文件为与所述读写频率最高的连续文件关联的连续文件。
优选地,所述根据预设的关联性规则确定与所述读写频率最高的连续文件关联的连续文件之后,所述迁移所述关联的连续文件至所述文件存储区之前,该方法还包括:
判断确定的所述与所述读写频率最高的连续文件关联的连续文件是否已被标记为所述已被整理状态;
则所述迁移所述关联的连续文件至所述文件存储区的过程具体为:
迁移未被标记为所述已被整理状态的关联的连续文件至所述文件存储区。
优选地,该方法还包括:
在根据用户的操作指令对文件系统进行读写操作时,更新所述第一链表和所述第二链表。
为解决上述技术问题,本发明还提供了一种文件系统碎片整理的系统,包括:
合并模块,用于在接收到整理指令时,将待整理的分散在不同位置存储的不连续文件合并成连续文件,并确定文件存储区的起始位置;
迁移模块,用于根据预设的读写频率规则确定待迁移的读写频率最高的连续文件,并迁移所述读写频率最高的连续文件至所述文件存储区;
标记模块,用于标记迁移的所述读写频率最高的连续文件为已被整理状态,直至所有所述连续文件都被标记为所述已被整理状态。
为解决上述技术问题,本发明还提供了一种文件系统碎片整理的装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一项所述文件系统碎片整理的方法的步骤。
为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述文件系统碎片整理的方法的步骤。
本发明提供了一种文件系统碎片整理的方法,包括:在接收到整理指令时,将待整理的分散在不同位置存储的不连续文件合并成连续文件,并确定文件存储区的起始位置;根据预设的读写频率规则确定待迁移的读写频率最高的连续文件,并迁移读写频率最高的连续文件至文件存储区;标记迁移的读写频率最高的连续文件为已被整理状态,直至所有连续文件都被标记为已被整理状态。
可见,本发明将分散在不同位置存储的不连续文件合并成了连续文件,并将合并成的连续文件重新存放在文件存储区,一方面减少了文件系统中文件的碎片化程度,从而减少了文件系统空间的浪费,另一方面由于本申请中的文件连续存放在一个位置,读写时不再需要来回寻找,减少了寻道时间,提高了文件系统的性能,也降低了文件丢失和损坏的可能性。另外,本申请在迁移连续文件时按照各个连续文件的读写频率依次存放连续文件至文件存储区,使得待读取的文件的存储位置通常在前次读取的文件的附近,进一步减少了文件读写的寻道时间。
本发明还提供了一种文件系统碎片整理的系统、装置及计算机存储介质,具有如上述方法相同的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种文件系统碎片整理的方法的过程流程图;
图2为本发明提供的一种文件系统碎片整理的系统的结构示意图。
具体实施方式
本发明的核心是提供一种文件系统碎片整理的方法、系统、装置及计算机存储介质,可以减少文件系统中文件的碎片化程度,从而减少文件系统空间的浪费,提高文件系统的性能,降低文件丢失和损坏的可能性;还根据文件的读写频率安排文件的存放位置,使得经常使用的文件存放在相对集中的位置,减少了文件读写时的寻道时间。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明提供的一种文件系统碎片整理的方法的过程流程图,该方法包括:
步骤S11:在接收到整理指令时,将待整理的分散在不同位置存储的不连续文件合并成连续文件,并确定文件存储区的起始位置;
具体地,文件系统在实际使用的过程中,由于反复写入和删除文件,文件系统中的空闲空间会分散到整个空间中不连续的物理位置上,从而使文件不能存放在连续的位置,文件变为不连续文件,造成大量的文件系统碎片。这样,再次读写某一个文件时就需要从不同的位置去读取,增加了寻道时间,降低了文件系统的访问速度。另外,文件系统中还会出现大量的很小不能被使用的空闲空间,造成空间和存储资源的浪费。因此,为了解决文件存储碎片化的问题,本申请对文件系统碎片进行整理,将待整理的分散在不同位置存储的不连续文件合并成连续文件,然后将合并成的连续文件重新存放在文件存储区,从而减少了文件系统中文件的碎片化程度,一方面减少了文件读写时的寻道时间,提高了文件系统的性能,另一方面减少了文件系统空间的浪费,节省了存储资源。
具体地,本申请在接收到用户发送的整理指令时开始碎片整理进程,这里的用户发送的整理指令可以是用户实时发送的整理指令,也可以是用户预先设定好的每隔预设时间间隔自动发送的整理指令,这里的预设时间间隔可以是用户根据经验和文件系统的实际情况设置的相应时间间隔。另外,本申请还可以在检测到文件系统中文件的碎片化程度超过预设的阈值时,生成用于提示用户需要进行碎片整理的提示指令,以便用户可以及时的对文件系统进行碎片整理,提高文件系统的读写效率。更为具体地,本申请可以在文件系统的I/O(Input/Output,输入/输出)压力较小时对文件系统进行碎片整理操作,尽可能的降低文件系统碎片整理对文件系统正常工作的影响。
步骤S12:根据预设的读写频率规则确定待迁移的读写频率最高的连续文件,并迁移读写频率最高的连续文件至文件存储区;
需要说明的是,本申请的文件存储区指的是文件系统的数据区,迁移连续文件至文件存储区也就是将该连续文件的数据移动到文件存储区,相当于为该连续文件在文件存储区中重新安排存放位置。
具体地,为了进一步减少文件读写时的寻道时间,进而提高文件系统的读写性能,本申请在将合并好的连续文件重新存放到文件存储区时,并不是随意地将各个连续文件存放到文件存储区的不同位置,而是先根据预设的读写频率规则确定出各个连续文件的读写频率,然后将确定出的读写频率最高的连续文件存放到文件存储区,接着将读写频率第二高的连续文件存放到文件存储区中紧挨着读写频率最高的连续文件的位置,直至所有的连续文件重新存放完毕。可见,本申请根据各个连续文件的读写频率来安排他们的存储位置,使得读写频率较高、经常使用的连续文件相对集中的存放在文件存储区中,显然,本申请可以做到待读取的文件的存放位置在上次读取的文件的存放位置的附近,从而进一步的减少了文件读写时的寻道时间,提高了文件系统的效率。
步骤S13:标记迁移的读写频率最高的连续文件为已被整理状态,直至所有连续文件都被标记为已被整理状态。
具体地,考虑到文件系统中文件的数量较多,为了使得文件系统碎片整理的过程更加条理清晰,本申请在迁移某个连续文件至文件存储区之后,标记该连续文件为已被整理状态,则完成迁移的连续文件都会被标记为已被整理状态,这样可以避免在判断连续文件是否已经被整理时出现误判,为进行迁移时保证所有的连续文件都能被迁移到文件存储区提供了有效保障。
还需要说明的是,本申请适用于Linux操作系统的文件系统,尤其适用于本地文件系统。这里的本地文件系统是指区别于网络文件系统和分布式文件系统,只在本地进行读写的文件系统。另外,本申请适用于对文件经常读写,容易造成文件系统碎片的文件系统,因此,本申请可以应用于小文件为主的存储场景,尤其是经常进行读写的海量小文件的应用场景。
本发明提供了一种文件系统碎片整理的方法,包括:在接收到整理指令时,将待整理的分散在不同位置存储的不连续文件合并成连续文件,并确定文件存储区的起始位置;根据预设的读写频率规则确定待迁移的读写频率最高的连续文件,并迁移读写频率最高的连续文件至文件存储区;标记迁移的读写频率最高的连续文件为已被整理状态,直至所有连续文件都被标记为已被整理状态。
可见,本发明将分散在不同位置存储的不连续文件合并成了连续文件,并将合并成的连续文件重新存放在文件存储区,一方面减少了文件系统中文件的碎片化程度,从而减少了文件系统空间的浪费,另一方面由于本申请中的文件连续存放在一个位置,读写时不再需要来回寻找,减少了寻道时间,提高了文件系统的性能,也降低了文件丢失和损坏的可能性。另外,本申请在迁移连续文件时按照各个连续文件的读写频率依次存放连续文件至文件存储区,使得待读取的文件的存储位置通常在前次读取的文件的附近,进一步减少了文件读写的寻道时间。
在上述实施例的基础上:
作为一种优选地实施例,预设的读写频率规则为预先创建的第一链表,第一链表的链表元素与连续文件一一对应,每个链表元素保存对应连续文件的索引节点、访问次数以及最后一次访问时间;
则根据预设的读写频率规则确定待迁移的读写频率最高的连续文件的过程具体为:
根据第一链表保存的连续文件的访问次数以及最后一次访问时间确定待迁移的读写频率最高的连续文件。
具体地,本申请中预设的读写频率规则可以为预先创建的第一链表,每个链表元素包含对应连续文件的索引节点、访问次数以及最后一次访问时间,将这个链表保存在磁盘的一个固定位置,则进行碎片整理确定各个连续文件的读写频率时可以直接根据第一链表保存的访问次数和最后一次访问时间判断出各个连续文件读写频率的大小,保证了在判断连续文件的读写频率时的准确性,为根据连续文件的读写频率安排存放位置提供了有效保障。
作为一种优选地实施例,该方法还包括:
每隔预设时间间隔判断第一链表中保存的连续文件的最后一次访问时间是否超过第一阈值;
将最后一次访问时间超过第一阈值的连续文件的访问次数清零。
具体地,为了保持第一链表中所表现出来的各个连续文件的读写频率具有时效性,本申请每隔预设时间间隔检查第一链表中各个连续文件的最后一次访问时间,并将最后一次访问时间超过第一阈值的连续文件的访问次数清零,使得确定出的各个连续文件的读写频率是最近的读写频率,避免了得到的读写频率高的连续文件是过去一段时间以前读写频率高的连续文件,进而可以使得最近读写频率较高的连续文件存放在一个相对集中的位置。
作为一种优选地实施例,标记迁移的读写频率最高的连续文件为已被整理状态之后,迁移除读写频率最高的连续文件之外的待整理的连续文件中的读写频率最高的连续文件至文件存储区之前,该方法还包括:
根据预设的关联性规则确定与读写频率最高的连续文件关联的连续文件,并迁移关联的连续文件至文件存储区中紧邻读写频率最高的连续文件的存储位置;
标记迁移的关联的连续文件为已被整理状态。
具体地,为了进一步减少文件读写时的寻道时间,进而提高文件系统的读写性能,本申请在根据连续文件的读写频率安排存放位置的基础上,还考虑连续文件之间的关联性,根据预设的关联性规则确定出与某个读写频率高的连续文件关联的连续文件,也就是与上述读写频率高的连续文件经常一起被读到的连续文件,将这些关联的经常一起被读到的连续文件迁移至文件存储区中紧邻上述读写频率高的连续文件的存储位置。具体地,如果A文件是一个读写频率高的连续文件,确定出在读A文件以后通常紧接着会读B文件,那么就将B文件存放在文件存储区中紧挨着A文件的后边。这样将关联性高的文件集中存放,可以尽可能的做到读取一个文件以后,下一个要读取的文件的存储位置紧邻刚才读取的文件,进一步减少了文件读写的寻道时间。此外,如果没有与某个读写频率高的连续文件关联的连续文件,则跳过这一步,接着迁移下一个读写频率高的连续文件,直至所有连续文件都被迁移到文件存储区。
作为一种优选地实施例,预设的关联性规则为预先创建的第二链表,第二链表的链表元素与连续文件一一对应,每个链表元素保存对应连续文件的索引节点、访问完对应连续文件之后最先访问的连续文件的索引节点以及各个最先访问的连续文件的访问次数;
则根据预设的关联性规则确定与读写频率最高的连续文件关联的连续文件的过程具体为:
判断与读写频率最高的连续文件对应的第二链表的链表元素保存的各个最先访问的连续文件的访问次数是否超过第二阈值;
确定访问次数超过第二阈值的最先访问的连续文件为与读写频率最高的连续文件关联的连续文件。
具体地,本申请中预设的关联性规则可以为预先创建的保存在磁盘固定位置的第二链表,第二链表中的每个链表元素包含连续文件的索引节点、访问完该连续文件之后最先访问的连续文件的索引节点以及最先访问各个最先访问的连续文件的访问次数,同时设定第二阈值,则可以将各个最先访问的连续文件的访问次数与第二阈值进行比较,如果某个或者某些最先访问的连续文件的访问次数超过第二阈值,那么这个或者这些最先访问的连续文件就是与前次访问的读写频率高的连续文件关联的连续文件,如果没有访问次数超过第二阈值的最先访问的连续文件,那么就是没有与前次访问的读写频率高的连续文件关联的连续文件。具体地,如果A文件是一个读写频率高的连续文件,在读A文件以后最先读B文件的次数超过第二阈值,就认为在读取A文件之后会大概率的读取B文件,B文件是A文件的关联文件。这样可以明确的确定出待迁移的关联的连续文件,降低出错的可能性。
作为一种优选地实施例,根据预设的关联性规则确定与读写频率最高的连续文件关联的连续文件之后,迁移关联的连续文件至文件存储区之前,该方法还包括:
判断确定的与读写频率最高的连续文件关联的连续文件是否已被标记为已被整理状态;
则迁移关联的连续文件至文件存储区的过程具体为:
迁移未被标记为已被整理状态的关联的连续文件至文件存储区。
具体地,考虑到与某个读写频率高的连续文件关联的连续文件的读写频率可能比该读写频率高的连续文件的读写频率还要高,那么该关联的连续文件之前就已经迁移过了,所以为了缩短整理时间,本申请中还判断确定的与读写频率高的连续文件关联的连续文件是否已被标记为已被整理状态,也就是是否已经被整理,如果已经被整理就跳过这一个关联的连续文件继续迁移下一个关联的连续文件,节省了资源,提高了整理效率。比如,A文件是一个读写频率高的连续文件,B文件是A文件的关联文件,然而B文件的读写频率比A文件的读写频率还要高,显然整理A文件之前已经整理过B文件了,B文件已经是已被整理状态,所以可以跳过B文件,直接进入后续整理过程。
另外,本申请中迁移连续文件时在读写频率的基础上还考虑连续文件之间的关联性,迁移某一个读写频率高的连续文件之后,紧接着迁移与其关联的连续文件,由于这些关联的连续文件和该读写频率高的连续文件一起被整理了,所以再按照读写频率迁移各个连续文件时,有的连续文件可能已经迁移过了,所以本申请在确定待迁移的读写频率高的连续文件之后,还会判断该文件是否为已被整理状态,也就是判断该文件是否已经被整理,如果已经被整理就跳过这一个连续文件继续下一个待迁移的读写频率高的连续文件,避免了为各个连续文件重新安排存放位置时出现混乱。比如,A文件是一个读写频率高的连续文件,B文件和C文件是A文件的关联文件,整理完A文件之后紧接着整理B文件和C文件,然后再整理读写频率仅次于A文件的文件。如果该读写频率仅次于A文件的文件刚好是C文件,C文件其实已经被整理过了,所以可以跳过C文件,接着整理读写频率仅次于C文件的文件,提高了文件系统碎片整理的效率。
作为一种优选地实施例,该方法还包括:
在根据用户的操作指令对文件系统进行读写操作时,更新第一链表和第二链表。
具体地,文件系统实际工作时,第一链表和第二链表保存的信息需要实时的随着对文件系统进行的读写操作而更新。具体地,读写流程相似,这里以文件读流程为例来说明,比如读取A文件时更新第一链表的过程具体包括:查找第一链表,判断第一链表中是否有保存A文件对应的链表元素;如果有,则将链表元素包含的A文件的读写次数加一,并更新最后一次访问时间;如果没有,则在第一链表中新建与A文件一一对应的链表元素,并保存A文件的读写次数和最后一次访问时间至新建的A文件对应的链表元素中。读取A文件时更新第二链表的过程具体包括:根据系统记录的之前读写的文件确定读取A文件之前上次读取的文件,假设上次读取的文件为D文件,则查找第二链表,获取D文件对应的第二链表的链表元素,将A文件作为访问完D文件之后最先访问的文件保存到D文件对应的链表元素中。可见,本申请保证了第一链表和第二链表中保存的文件的读写频率和关联性与当前文件系统的实际情况是一致的,提高了文件系统碎片整理的可靠性。
请参照图2,图2为本发明提供的一种文件系统碎片整理的系统的结构示意图,该系统包括:
合并模块1,用于在接收到整理指令时,将待整理的分散在不同位置存储的不连续文件合并成连续文件,并确定文件存储区的起始位置;
迁移模块2,用于根据预设的读写频率规则确定待迁移的读写频率最高的连续文件,并迁移读写频率最高的连续文件至文件存储区;
标记模块3,用于标记迁移的读写频率最高的连续文件为已被整理状态,直至所有连续文件都被标记为已被整理状态。
对于本发明提供的系统的介绍请参照上述方法实施例,本发明在此不再赘述。
本发明还提供一种文件系统碎片整理的装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述任一项文件系统碎片整理的方法的步骤。
对于本发明提供的装置的介绍请参照上述方法实施例,本发明在此不再赘述。
本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任一项文件系统碎片整理的方法的步骤。
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统、装置及计算机存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种文件系统碎片整理的方法,其特征在于,包括:
在接收到整理指令时,将待整理的分散在不同位置存储的不连续文件合并成连续文件,并确定文件存储区的起始位置;
根据预设的读写频率规则确定待迁移的读写频率最高的连续文件,并迁移所述读写频率最高的连续文件至所述文件存储区;
标记迁移的所述读写频率最高的连续文件为已被整理状态,直至所有所述连续文件都被标记为所述已被整理状态;
所述标记迁移的所述读写频率最高的连续文件为已被整理状态之后,迁移除所述读写频率最高的连续文件之外的待整理的所述连续文件中的读写频率最高的连续文件至所述文件存储区之前,该方法还包括:
根据预设的关联性规则确定与所述读写频率最高的连续文件关联的连续文件,并迁移所述关联的连续文件至所述文件存储区中紧邻所述读写频率最高的连续文件的存储位置;
标记迁移的所述关联的连续文件为已被整理状态。
2.根据权利要求1所述的方法,其特征在于,所述预设的读写频率规则为预先创建的第一链表,所述第一链表的链表元素与所述连续文件一一对应,每个所述链表元素保存对应连续文件的索引节点、访问次数以及最后一次访问时间;
则根据预设的读写频率规则确定待迁移的读写频率最高的连续文件的过程具体为:
根据所述第一链表保存的所述连续文件的访问次数以及最后一次访问时间确定待迁移的读写频率最高的连续文件。
3.根据权利要求2所述的方法,其特征在于,该方法还包括:
每隔预设时间间隔判断所述第一链表中保存的所述连续文件的最后一次访问时间是否超过第一阈值;
将最后一次访问时间超过所述第一阈值的连续文件的访问次数清零。
4.根据权利要求1所述的方法,其特征在于,所述预设的关联性规则为预先创建的第二链表,所述第二链表的链表元素与所述连续文件一一对应,每个所述链表元素保存对应连续文件的索引节点、访问完所述对应连续文件之后最先访问的连续文件的索引节点以及各个所述最先访问的连续文件的访问次数;
则所述根据预设的关联性规则确定与所述读写频率最高的连续文件关联的连续文件的过程具体为:
判断与所述读写频率最高的连续文件对应的所述第二链表的链表元素保存的各个所述最先访问的连续文件的访问次数是否超过第二阈值;
确定访问次数超过所述第二阈值的最先访问的连续文件为与所述读写频率最高的连续文件关联的连续文件。
5.根据权利要求1所述的方法,其特征在于,所述根据预设的关联性规则确定与所述读写频率最高的连续文件关联的连续文件之后,所述迁移所述关联的连续文件至所述文件存储区之前,该方法还包括:
判断确定的所述与所述读写频率最高的连续文件关联的连续文件是否已被标记为所述已被整理状态;
则所述迁移所述关联的连续文件至所述文件存储区的过程具体为:
迁移未被标记为所述已被整理状态的关联的连续文件至所述文件存储区。
6.根据权利要求5所述的方法,其特征在于,该方法还包括:
在根据用户的操作指令对文件系统进行读写操作时,更新第一链表和第二链表。
7.一种文件系统碎片整理的系统,其特征在于,包括:
合并模块,用于在接收到整理指令时,将待整理的分散在不同位置存储的不连续文件合并成连续文件,并确定文件存储区的起始位置;
迁移模块,用于根据预设的读写频率规则确定待迁移的读写频率最高的连续文件,并迁移所述读写频率最高的连续文件至所述文件存储区;
标记模块,用于标记迁移的所述读写频率最高的连续文件为已被整理状态,直至所有所述连续文件都被标记为所述已被整理状态;
所述标记迁移的所述读写频率最高的连续文件为已被整理状态之后,迁移除所述读写频率最高的连续文件之外的待整理的所述连续文件中的读写频率最高的连续文件至所述文件存储区之前,还包括:
根据预设的关联性规则确定与所述读写频率最高的连续文件关联的连续文件,并迁移所述关联的连续文件至所述文件存储区中紧邻所述读写频率最高的连续文件的存储位置;
标记迁移的所述关联的连续文件为已被整理状态。
8.一种文件系统碎片整理的装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述文件系统碎片整理的方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述文件系统碎片整理的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711092148.2A CN107729558B (zh) | 2017-11-08 | 2017-11-08 | 文件系统碎片整理的方法、系统、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711092148.2A CN107729558B (zh) | 2017-11-08 | 2017-11-08 | 文件系统碎片整理的方法、系统、装置及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107729558A CN107729558A (zh) | 2018-02-23 |
CN107729558B true CN107729558B (zh) | 2021-06-29 |
Family
ID=61221921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711092148.2A Active CN107729558B (zh) | 2017-11-08 | 2017-11-08 | 文件系统碎片整理的方法、系统、装置及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107729558B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144958B (zh) * | 2018-07-02 | 2021-08-03 | 广东睿江云计算股份有限公司 | 一种联合文件系统文件访问频率元数据采集方法及装置 |
CN109376100A (zh) * | 2018-11-05 | 2019-02-22 | 浪潮电子信息产业股份有限公司 | 一种缓存写入方法、装置、设备及可读存储介质 |
CN110244910A (zh) * | 2019-06-19 | 2019-09-17 | 联想(北京)有限公司 | 一种数据处理方法和电子设备 |
CN110278282A (zh) * | 2019-07-01 | 2019-09-24 | 成都启英泰伦科技有限公司 | 一种语音大数据存储调用方法 |
CN111382129B (zh) * | 2020-03-09 | 2023-09-22 | Oppo(重庆)智能科技有限公司 | 文件碎片整理方法、装置、存储介质和相关设备 |
CN111444117B (zh) * | 2020-03-23 | 2022-10-21 | Oppo广东移动通信有限公司 | 存储空间碎片化实现方法、装置、存储介质及电子设备 |
CN113792023B (zh) * | 2021-09-17 | 2023-11-21 | 湖南艾科诺维科技有限公司 | 支持多通道的嵌入式文件系统及其控制方法 |
CN115543937B (zh) * | 2022-03-22 | 2023-07-11 | 荣耀终端有限公司 | 文件碎片整理方法及电子设备 |
CN114625695A (zh) * | 2022-03-29 | 2022-06-14 | 阿里巴巴(中国)有限公司 | 数据处理方法以及装置 |
CN116701298B (zh) * | 2022-11-22 | 2024-06-07 | 荣耀终端有限公司 | 一种文件系统管理方法及电子设备 |
CN116028327B (zh) * | 2023-02-20 | 2023-06-13 | 成都佰维存储科技有限公司 | 文件系统读写性能测试方法、装置、可读存储介质及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622094A (zh) * | 2004-12-24 | 2005-06-01 | 北京中星微电子有限公司 | 一种合并文件的方法 |
CN101196889A (zh) * | 2006-12-08 | 2008-06-11 | 国际商业机器公司 | 优化存储系统中的文件放置的方法及装置 |
CN101404028A (zh) * | 2008-11-07 | 2009-04-08 | 宇龙计算机通信科技(深圳)有限公司 | 一种整理文件碎片的方法和系统 |
CN102999456A (zh) * | 2011-09-14 | 2013-03-27 | 索尼公司 | 信息处理装置和信息处理方法 |
CN103886883A (zh) * | 2014-03-20 | 2014-06-25 | 公安部物证鉴定中心 | 一种对有损视频监控数据进行恢复的方法及系统 |
CN104933169A (zh) * | 2015-06-29 | 2015-09-23 | 南开大学 | 基于热点文件优先的文件系统碎片整理方法 |
CN105069048A (zh) * | 2015-07-23 | 2015-11-18 | 东方网力科技股份有限公司 | 一种小文件存储方法、查询方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7577301B1 (en) * | 2002-12-13 | 2009-08-18 | Ricoh Co., Ltd. | Multiple page descriptions for the same page |
CN102122284B (zh) * | 2010-01-08 | 2014-07-02 | 腾讯科技(深圳)有限公司 | 一种复合文档存储、读写方法和装置 |
CN102622302B (zh) * | 2011-01-26 | 2014-10-29 | 中国科学院高能物理研究所 | 碎片数据类型的识别方法 |
CN102364474B (zh) * | 2011-11-17 | 2014-08-20 | 中国科学院计算技术研究所 | 用于机群文件系统的元数据存储系统和管理方法 |
CN104102735A (zh) * | 2014-07-28 | 2014-10-15 | 三星电子(中国)研发中心 | 一种针对数据库文件的文件系统优化方法和装置 |
CN107066592A (zh) * | 2017-04-18 | 2017-08-18 | 广东浪潮大数据研究有限公司 | 一种用于文件系统的文件碎片整理方法及系统 |
-
2017
- 2017-11-08 CN CN201711092148.2A patent/CN107729558B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622094A (zh) * | 2004-12-24 | 2005-06-01 | 北京中星微电子有限公司 | 一种合并文件的方法 |
CN101196889A (zh) * | 2006-12-08 | 2008-06-11 | 国际商业机器公司 | 优化存储系统中的文件放置的方法及装置 |
CN101404028A (zh) * | 2008-11-07 | 2009-04-08 | 宇龙计算机通信科技(深圳)有限公司 | 一种整理文件碎片的方法和系统 |
CN102999456A (zh) * | 2011-09-14 | 2013-03-27 | 索尼公司 | 信息处理装置和信息处理方法 |
CN103886883A (zh) * | 2014-03-20 | 2014-06-25 | 公安部物证鉴定中心 | 一种对有损视频监控数据进行恢复的方法及系统 |
CN104933169A (zh) * | 2015-06-29 | 2015-09-23 | 南开大学 | 基于热点文件优先的文件系统碎片整理方法 |
CN105069048A (zh) * | 2015-07-23 | 2015-11-18 | 东方网力科技股份有限公司 | 一种小文件存储方法、查询方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107729558A (zh) | 2018-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107729558B (zh) | 文件系统碎片整理的方法、系统、装置及计算机存储介质 | |
CN108319654B (zh) | 计算系统、冷热数据分离方法及装置、计算机可读存储介质 | |
US11461027B2 (en) | Deduplication-aware load balancing in distributed storage systems | |
CN108647151B (zh) | 一种全闪系统元数据落盘方法、装置、设备及存储介质 | |
JP5500309B2 (ja) | ストレージ装置 | |
WO2016086819A1 (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
CN111737265B (zh) | 区块数据访问方法、区块数据存储方法及装置 | |
JP6156517B2 (ja) | 書き込み情報記憶装置、方法、及び、プログラム | |
WO2017185579A1 (zh) | 一种数据存储方法及装置 | |
CN109804359A (zh) | 用于将数据回写到存储设备的系统和方法 | |
WO2013023133A1 (en) | Shrinking virtual hard disk image | |
CN113568582B (zh) | 数据管理方法、装置和存储设备 | |
JPWO2019181949A1 (ja) | 記録装置、読取装置、記録方法、記録プログラム、読取方法、読取プログラム、及び磁気テープ | |
CN109726264B (zh) | 用于索引信息更新的方法、装置、设备和介质 | |
CN103744875B (zh) | 基于文件系统的数据快速迁移方法及系统 | |
CN105787037A (zh) | 一种重复数据的删除方法及装置 | |
CN109558456A (zh) | 一种文件迁移方法、装置、设备及可读存储介质 | |
US20190294590A1 (en) | Region-integrated data deduplication implementing a multi-lifetime duplicate finder | |
CN110352410B (zh) | 跟踪索引节点的访问模式以及预提取索引节点 | |
CN109189343B (zh) | 一种元数据落盘方法、装置、设备及计算机可读存储介质 | |
US20170329553A1 (en) | Storage control device, storage system, and computer-readable recording medium | |
CN109542860B (zh) | 基于hdfs的业务数据管理方法、终端设备 | |
CN105260266B (zh) | 一种快照卷写方法及依赖快照系统 | |
KR20080098104A (ko) | 메타 데이터 저장 방법 및 메타 데이터 저장 시스템 | |
CN105279166B (zh) | 文件管理方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |