一种应用在聚合文件上的碎片整理方法技术

技术编号:15329892 阅读:39 留言:0更新日期:2017-05-16 13:28
本发明专利技术公开了一种应用在聚合文件上的碎片整理方法,包括预先获取聚合文件并将聚合文件分为多个数据块,将各数据块分为两个部分,第一部分用于添加各文件碎片在数据块中的位图索引信息,第二部分用于存储各文件碎片;当有文件碎片存入数据块或从数据块中删除时,在数据块中记录数据块的位图索引信息;通过位图索引信息确定聚合文件的当前使用率;当聚合文件的当前使用率达到预定使用率时,启动碎片整理。由此可见,通过本方法可以通过每个数据块的位图索引信息可以快速确定数据块的存储情况,进而确定聚合文件的存储情况,不需要对每个数据块中的存储空间全部扫描,这样不仅提高了扫描查看的效率,而且节约时间。

A defragmentation method applied to aggregated files

The invention discloses a fragment used in polymerization document finishing method, including pre polymerization and polymerization to obtain the file file is divided into a plurality of blocks of data, each data block is divided into two parts, the first part of the bitmap index information is used to add the file fragments in the data block, the second part is used to store the file debris; when there are files stored in the data block or remove debris from a block of data, records the bitmap index information of the data blocks in the data block; the bitmap index information to determine the current file using polymerization rate; when the aggregate files the current usage rate reaches a predetermined rate, restart defragmentation. Thus, the method can through the bitmap index information of each data block can quickly determine the stored data block, and then determine the storage polymerization file, does not require full scan of the storage space in each data block, so that it not only improves the efficiency of scanning check, and save time.

【技术实现步骤摘要】
一种应用在聚合文件上的碎片整理方法
本专利技术涉及碎片整理
,特别是涉及一种应用在聚合文件上的碎片整理方法。
技术介绍
分布式文件系统中,有大量的文件碎片,为了防止碎片过多,通常会将多个文件碎片合并后写入一个大文件,称为聚合文件,实现碎片整理。碎片整理分为两大部分,一部分是前期将文件碎片存入聚合文件,另一部分是后期对聚合文件剩余的文件碎片重新整理。本专利技术所要解决的问题是后者。在使用聚合文件存储文件时,每次聚合文件的IO都可以写入或读取多个文件碎片,以获取更好的性能。但是随着系统的运行,聚合文件中的部分文件碎片可能会被删除,当聚合文件中的文件碎片被删除后,这个聚合文件的空间就没有这个文件碎片,但是其它文件也不能被存入,这样导致聚合文件的存储效率降低,读取性能降低等问题。为了解决这个问题,传统的做法是将聚合文件全部扫描一遍,从而获取聚合文件中剩余的文件碎片,然后再将这些文件碎片再重新存入一个新的聚合文件。由此可见,在进行聚合文件的扫描过程中,需要对聚合文件的每个空间都要查看一遍,导致在碎片整理过程中,扫描查看效率较低,浪费时间。另外,这样的碎片整理方法也不容易得知当前聚合文件的存储情况。如何克服上述文件是本领域技术人员亟待解决的问题。
技术实现思路
本专利技术的目的是提供一种应用在聚合文件上的碎片整理方法,用于在碎片整理过程中,提高扫描查看的效率,节约时间。为解决上述技术问题,本专利技术提供一种应用在聚合文件上的碎片整理方法,包括:预先获取聚合文件并将所述聚合文件分为多个数据块,将各所述数据块分为两个部分,第一部分用于添加各文件碎片在所述数据块中的位图索引信息,第二部分用于存储各文件碎片;当有文件碎片存入所述数据块或从所述数据块中删除时,在所述数据块中记录所述数据块的位图索引信息;通过所述位图索引信息确定所述聚合文件的当前使用率;当所述聚合文件的当前使用率达到预定使用率时,启动碎片整理。优选地,还包括:当有文件碎片存入所述数据块时,在所述第一部分中添加所述文件碎片的文件号。优选地,还包括:当有文件碎片从所述数据块删除时,删除对应的文件号。优选地,当接收到查看请求时,通过所述文件号查找所述查看请求对应的目标文件碎片。优选地,所述将各所述数据块分为两个部分,第一部分用于添加各文件碎片在所述数据块中的位图索引信息,第二部分用于存储各文件碎片具体为:将所述数据块分为数据头部和数据体,所述数据头部作为所述第一部分,用于添加各文件碎片在所述数据块中的位图索引信息,所述数据体作为所述第二部分,用于存储各文件碎片。优选地,所述数据头部的存储空间为12KB,其中前8KB用于存储所述文件号,后4KB用于存储所述位图索引信息。优选地,所述位图索引信息具体采用0和1表示,其中,0表示当前位置的文件碎片已删除或未占用,1表示当前位置的文件碎片仍保留。优选地,所述通过所述位图索引信息确定所述聚合文件的当前使用率具体包括:通过扫描全部所述位图索引信息计算所述聚合文件的已使用空间;通过计算所述已使用空间与所述聚合文件的总空间的比值得到所述当前使用率。优选地,所述通过所述位图索引信息确定所述聚合文件的当前使用率具体为通过所述位图索引信息周期性地确定所述聚合文件的当前使用率。优选地,所述启动碎片整理具体为通过各所述数据块的中的位图索引信息查找到所述聚合文件中仍保留的文件碎片,并将所述文件碎片转移至新的聚合文件。本专利技术所提供的应用在聚合文件上的碎片整理方法,包括预先获取聚合文件并将聚合文件分为多个数据块,将各数据块分为两个部分,第一部分用于添加各文件碎片在数据块中的位图索引信息,第二部分用于存储各文件碎片;当有文件碎片存入数据块或从数据块中删除时,在数据块中记录数据块的位图索引信息;通过位图索引信息确定聚合文件的当前使用率;当聚合文件的当前使用率达到预定使用率时,启动碎片整理。由此可见,通过本方法可以通过每个数据块的位图索引信息可以快速确定数据块的存储情况,进而确定聚合文件的存储情况,不需要对每个数据块中的存储空间全部扫描,这样不仅提高了扫描查看的效率,而且节约时间。附图说明为了更清楚地说明本专利技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的一种应用在聚合文件上的碎片整理方法的流程图;图2为本专利技术是实施例提供的一种聚合文件的内部数据结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本专利技术保护范围。本专利技术的核心是提供一种应用在聚合文件上的碎片整理方法,用于在碎片整理过程中,提高扫描查看的效率,节约时间。为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。图1为本专利技术提供的一种应用在聚合文件上的碎片整理方法的流程图。如图1所示,应用在聚合文件上的碎片整理方法,包括:S10:预先获取聚合文件并将聚合文件分为多个数据块,将各数据块分为两个部分,第一部分用于添加各文件碎片在数据块中的位图索引信息,第二部分用于存储各文件碎片;S11:当有文件碎片存入数据块或从数据块中删除时,在数据块中记录数据块的位图索引信息;S12:通过位图索引信息确定聚合文件的当前使用率;S13:当聚合文件的当前使用率达到预定使用率时,启动碎片整理。在具体实施中,对于一个同一个聚合文件来说,步骤S10只需要执行一次即可,而步骤S11-S13需要根据实际需求而定,例如步骤S11每存入文件碎片或删除碎片文件都需要执行。可以根据聚合文件的大小确定数据块的个数。需要说明的是,一个数据块在聚合文件中是连续的,不能拆分,但是数据块的存储空间可以全部相同,也可以不同。本文以相同为例说明,例如将聚合文件分为16个数据块,每个数据块的存储空间都是4MB。对于一个数据块的结构进行说明,其它数据块类似。数据块分为两部分,一部分用于添加这个数据块中存储的各文件碎片的委托索引信息,另一部分存放文件碎片本身,即数据。在具体实施中,可以将数据块的存储空间分为更小的存储单位,将文件碎片以存储单位存储,如果一个存储单位不够存储,则可以用多个,例如一个文件碎片可以占用10个存储单位。更具体的,一个存储单位可以为4KB,通过一个位图索引信息bit表示,则每一个bit标识4KB数据。如果位图索引信息采用0和1表示,其中,0表示当前位置的文件碎片已删除或未占用,1表示当前位置的文件碎片仍保留。通过位图索引信息就可以确定当前位置的4KB数据是否存在,进而能够确定文件碎片是否存在。在查看聚合文件时,现有技术需要对聚合文件中的每个存储空间都要扫描,而本实施例中,可以通过位图索引信息就可以确定聚合文件的存储情况。为了提高聚合文件的使用率,需要在聚合文件的使用率达到预定使用率时,启动碎片整理,很显然,通过上述存储结构,可以快速的确定聚合文件的当前使用率,如果当前使用率达到预定使用率,则启动碎片整理。另外,预本文档来自技高网
...
一种应用在聚合文件上的碎片整理方法

【技术保护点】
一种应用在聚合文件上的碎片整理方法,其特征在于,包括:预先获取聚合文件并将所述聚合文件分为多个数据块,将各所述数据块分为两个部分,第一部分用于添加各文件碎片在所述数据块中的位图索引信息,第二部分用于存储各文件碎片;当有文件碎片存入所述数据块或从所述数据块中删除时,在所述数据块中记录所述数据块的位图索引信息;通过所述位图索引信息确定所述聚合文件的当前使用率;当所述聚合文件的当前使用率达到预定使用率时,启动碎片整理。

【技术特征摘要】
1.一种应用在聚合文件上的碎片整理方法,其特征在于,包括:预先获取聚合文件并将所述聚合文件分为多个数据块,将各所述数据块分为两个部分,第一部分用于添加各文件碎片在所述数据块中的位图索引信息,第二部分用于存储各文件碎片;当有文件碎片存入所述数据块或从所述数据块中删除时,在所述数据块中记录所述数据块的位图索引信息;通过所述位图索引信息确定所述聚合文件的当前使用率;当所述聚合文件的当前使用率达到预定使用率时,启动碎片整理。2.根据权利要求1所述的应用在聚合文件上的碎片整理方法,其特征在于,还包括:当有文件碎片存入所述数据块时,在所述第一部分中添加所述文件碎片的文件号。3.根据权利要求2所述的应用在聚合文件上的碎片整理方法,其特征在于,还包括:当有文件碎片从所述数据块删除时,删除对应的文件号。4.根据权利要求2所述的应用在聚合文件上的碎片整理方法,其特征在于,当接收到查看请求时,通过所述文件号查找所述查看请求对应的目标文件碎片。5.根据权利要求2所述的应用在聚合文件上的碎片整理方法,其特征在于,所述将各所述数据块分为两个部分,第一部分用于添加各文件碎片在所述数据块中的位图索引信息,第二部分用于存储各文件碎片具体为:将所述数据块分为数据头部和数据体,所述数据头部作为所述第一部分,用于添...

【专利技术属性】
技术研发人员:张子奇
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1