CN104899210A - 文件分块方法、系统及文件处理系统 - Google Patents
文件分块方法、系统及文件处理系统 Download PDFInfo
- Publication number
- CN104899210A CN104899210A CN201410079209.1A CN201410079209A CN104899210A CN 104899210 A CN104899210 A CN 104899210A CN 201410079209 A CN201410079209 A CN 201410079209A CN 104899210 A CN104899210 A CN 104899210A
- Authority
- CN
- China
- Prior art keywords
- piecemeal
- elongated
- length
- file
- block
- 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.)
- Pending
Links
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/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
- G06F16/1752—De-duplication implemented within the file system, e.g. based on file segments based on file chunks
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
技术领域
本发明涉及通信领域,具体而言,涉及一种文件分块方法、文件分块系统及文件处理系统。
背景技术
随着计算机信息化程度的提高,人类已经进入信息时代。计算机以及互联网已经深入各行各业,这也使得信息数据量呈几个级数增长。而在这海量的数据中,存在大量的冗余数据。由于需要保证数据的安全,因此会不断对数据进行备份,而各个备份中存在大量的冗余数据。
目前已经有不少针对冗余数据进行处理的被称为重复数据删除的技术,以及相关的产品。在重复数据删除技术中,对于处理的目标(粒度),目前最为普遍的是采用次文件级的块作为数据重删的处理粒度。而在对一个文件进行分块时存在固定长度分块(定长分块)和变长分块两大类。
固定长度分块处理方便,分块计算消耗的性能开销非常的小,并且对数据管理开销小。且大部分文件系统的与数据分块都是固定长度的(至少在同一个文件中,分块的长度是固定的),因此使用固定长度分块的方法不需要对文件系统有额外的要求。但是固定长度的分块方式对于一个文件在插入数据和删除数据方面非常敏感,可能导致所有分块的位置发生变化,这时两个有大量重复数据的文件可能由于分块问题,而没有重复的数据块,从而无法进行重删处理。因此固定长度分块的方法,虽然实现简单,计算效率高,且对文件系统没有特别的要求,但是其能达到的重删率不够理想;特别是在备份系统中,存在大量文件是被经过增加或删操作一些数据修改得来的情况下,重删率更低。
变长的分块处理可以解决固定长度分块对于插入删除敏感的问题,可以带来更高的重删率。常用的变长分块算法有内容定义块(Content-Defined Chunking,简称为CDC)算法、滑块算法等。但这些算法都需要一定的计算资源,并且由于每个块的实际数据长度不同,需要文件系统具有对于不同长度的块的处理能力,且其长度变化的粒度为字节级。
市面上已经有不少成熟的定长分块的重复数据删除产品,也已有不少用户部署了这些定长分块的产品。但很多情况下,这些用户对于变长分块的数据重删方式是有需求的,这时就必须要更换整个重删产品,并且其存储系统可能还无法提供变长重复数据删除技术所需要的支持。重复数据删除在对数据的处理时机上,有嵌入(inline)方式的嵌入在整个输入/输出(I/O)流程中的实时重复数据删除,以及根据执行策略对已经写入存储系统中的数据进行重删的后处理式。后处理式可以根据策略在空闲时间对系统中的数据进行消重,不影响正常存储业务,因此应用广泛。对于定长分块的后处理重删,在重删过程中,由于数据块已经在磁盘中,在执行重删时,可以不用再次读写实际数据块(例如仅仅只修改数据块的引用指针)。但如果使用变长的分块方式使用后处理重删,由于需要对存储设备上的文件数据重新分块,需要将实际数据读出来,重新分块,再写入存储设备。
针对相关技术中的定长分块的存储系统无法支持变长分块的重复数据删除,从而导致定长分块重删系统扩展为变长分块的重删系统需要更换文件存储系统、扩展成本高的问题,目前尚未提出有效的解决方案。
发明内容
本发明提供了一种文件分块方法、系统及文件处理系统,以至少解决相关技术中的定长分块的存储系统无法支持变长分块的重复数据删除,从而导致定长分块重删系统扩展为变长分块的重删系统需要更换文件存储系统、扩展成本高的问题。
根据本发明的一个方面,提供了一种文件分块方法,包括:通过变长分块算法,将文件分块为一个或多个变长分块;将所述一个或多个变长分块中的每个变长分块分别映射为预定分块长度或预定分块长度的整数倍的定长分块。
优选地,将所述一个或多个变长分块中的每个变长分块分别映射为所述定长分块包括:在待映射变长分块的长度小于所述预定分块长度的情况下,填充所述待映射变长分块为所述预定分块长度的所述定长分块;在所述待映射变长分块的长度大于所述预定分块长度的情况下,填充所述待映射变长分块为所述预定分块长度的整数倍的所述定长分块。
优选地,在将所述一个或多个变长分块中的每个变长分块分别映射为所述定长分块之后,所述方法还包括:保存所述文件的分块信息,其中,所述分块信息包括:所述文件的所述定长分块的位置信息,和所述文件的所述定长分块对应的变长分块的长度。
优选地,在保存所述文件的所述分块信息之后,所述方法还包括:将所述定长分块发送至文件存储系统。
优选地,在将所述定长分块存储至所述文件存储系统之后,所述方法还包括:对所述文件存储系统中存储的定长分块进行重复数据删除操作。
优选地,在将所述一个或多个变长分块中的每个变长分块分别映射为所述定长分块之后,所述方法还包括:对所述定长分块和文件存储系统中存储的定长分块进行重复数据删除操作。
根据本发明的另一个方面,还提供了一种文件分块系统,包括:分块模块,用于通过变长分块算法,将文件分块为一个或多个变长分块;映射模块,用于将所述一个或多个变长分块中的每个变长分块分别映射为预定分块长度或预定分块长度的整数倍的定长分块。
优选地,所述映射模块包括:第一填充单元,用于在待映射变长分块的长度小于所述预定分块长度的情况下,填充所述待映射变长分块为所述预定分块长度的所述定长分块;第二填充单元,用于在所述待映射变长分块的长度大于所述预定分块长度的情况下,填充所述待映射变长分块为所述预定分块长度的整数倍的所述定长分块。
优选地,所述系统还包括:保存模块,用于保存所述文件的分块信息,其中,所述分块信息包括:所述文件的所述定长分块的位置信息,和所述文件的所述定长分块对应的变长分块的长度。
优选地,所述系统还包括:发送模块,用于将所述定长分块发送至文件存储系统。
根据本发明的另一个方面,还提供了一种文件处理系统,包括:文件应用系统、文件分块系统和文件存储系统,其中,所述文件应用系统,用于通过文件分块系统向所述文件存储系统写入或读取文件;所述文件分块系统,与所述文件应用系统连接,用于通过变长分块算法将所述文件分块为一个或多个变长分块,并将所述一个或多个变长分块中的每个变长分块分别映射为预定分块长度或预定分块长度的整数倍的定长分块;所述文件存储系统,与所述文件分块系统连接,用于存储所述定长分块。
优选地,所述系统还包括:后处理重删系统,与所述文件存储系统连接,用于对所述文件存储系统中存储的定长分块进行重复数据删除操作;和/或实时重删系统,与所述文件存储系统和所述文件分块系统连接,用于对所述定长分块和所述文件存储系统中存储的定长分块进行重复数据删除操作。
通过本发明,通过变长分块算法,将文件分块为一个或多个变长分块;将该一个或多个变长分块中的每个变长分块分别映射为预定分块长度或预定分块长度的整数倍的定长分块的方式,解决了相关技术中的定长分块的存储系统无法支持变长分块的重复数据删除,从而导致定长分块重删系统扩展为变长分块的重删系统需要更换文件存储系统、扩展成本高的问题,减少了定长分块重删系统到变长分块重删系统的扩展成本。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的文件分块方法的流程示意图;
图2是根据本发明实施例的文件分块系统的结构示意图;
图3是根据本发明实施例的文件分块系统的优选结构示意图一;
图4是根据本发明实施例的文件分块系统的优选结构示意图二;
图5是根据本发明实施例的文件分块系统的优选结构示意图三;
图6是根据本发明实施例的文件处理系统的结构示意图;
图7是根据本发明实施例的文件处理系统的优选结构示意图;
图8是根据本发明优选实施例的包括变长重复数据删除系统的文件处理系统的结构示意图;
图9是根据本发明优选实施例的将变长分块填充为定长分块的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
并且,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例提供了一种文件分块方法,图1是根据本发明实施例的文件分块方法的流程示意图,如图1所示,该流程包括如下步骤:
步骤S102,通过变长分块算法,将文件分块为一个或多个变长分块;
步骤S104,将该一个或多个变长分块中的每个变长分块分别映射为预定分块长度或预定分块长度的整数倍的定长分块。
通过上述步骤,将文件采用变长分块算法分为变长分块后映射为预定分块长度或预定分块长度的整数倍的定长分块,从而使得变长分块可以通过定长分块的文件存储系统存储。采用该方式,提供了可以一种将变长分块的文件存储在定长分块的文件存储系统中的扩展方案或系统架构,解决了传统的定长分块的存储系统无法支持变长分块的重复数据删除,从而导致定长分块重删系统扩展为变长分块的重删系统需要更换文件存储系统、扩展成本高的问题,减少了定长分块重删系统到变长分块重删系统的扩展成本。
优选地,本实施例中的变长分块算法包括内容定义块算法、滑块算法等可以将文件分为变长分块的分块算法。
优选地,本实施例中的预定分块长度可以根据定长分块的文件存储系统支持的分块长度确定。
优选地,将一个或多个变长分块中的每个变长分块分别映射为定长分块可以通过相应的映射算法来实现,也可以通过比特填充的方式实现,其中,在采用比特填充的方式时,填充的比特为无效比特,即用于填充但不作为真实数据的比特。填充比特可以根据预先的定义为全“0”或者全“1”,或者其他的预定形式。并且,比特填充的位置可以在变长分块之前、变长分块之后,或者插入到变长分块的预定位置。
优选地,在采用比特填充的方式时,在待映射变长分块的长度小于预定分块长度的情况下,填充待映射变长分块为预定分块长度的定长分块;在待映射变长分块的长度大于预定分块长度的情况下,填充待映射变长分块为预定分块长度的整数倍的定长分块。通过该方式将各种不同长度的变长分块填充为预定分块长度或者预定分块长度的整数倍,从而使得存储在文件系统中时可以与定长分块的边界对其,而兼容了定长分块的存储结构。
优选地,在将一个或多个变长分块中的每个变长分块分别映射为定长分块之后,还可以保存文件的分块信息,其中,分块信息包括:文件的定长分块的位置信息,和文件的定长分块对应的变长分块的长度。在写入或者读取该文件的分块时,根据分块信息查找分块的偏移位置,从而正确写入或者读出文件的各个分块。其中,对于多个文件而言,分别存储其分块信息。
优选地,在保存文件的分块信息之后,将定长分块发送至文件存储系统进行存储。
优选地,在将定长分块存储至文件存储系统之后,对文件存储系统中存储的定长分块进行重复数据删除操作。其中,在进行文件存储系统中存储的定长分块的重复数据删除操作时,可以在系统空闲的情况下,将相同的定长分块进行消重。通过该方式提供了后处理的重复数据删除操作。
优选地,本实施例中还提供了一种在线式重复数据删除操作方式,例如,在将一个或多个变长分块中的每个变长分块分别映射为定长分块之后,对文件的变长分块映射得到的定长分块和文件存储系统中存储的定长分块进行重复数据删除操作。
本实施例还提供了一种文件分块系统,用于实现上述文件分块方法。该装置中涉及的模块和单元的功能可以结合上述文件分块方法对应的功能实现进行结合描述和说明,在本实施例中将不再赘述。
图2是根据本发明实施例的文件分块系统的结构示意图,如图2所示,该文件分块系统包括:分块模块22和映射模块24,其中,分块模块22耦合至映射模块24,用于通过变长分块算法,将文件分块为一个或多个变长分块;映射模块24,用于将一个或多个变长分块中的每个变长分块分别映射为预定分块长度或预定分块长度的整数倍的定长分块。
本实施例中所涉及到的模块、单元可以通过软件的方式实现,也可以通过硬件的方式来实现。本实施例中所描述的模块、单元也可以设置在处理器中,例如,可以描述为:一种处理器包括分块模块22和映射模块24。其中,这些模块的名称在某些情况下并不构成对该模块本身的限定,例如,分块模块22还可以被描述为“用于通过变长分块算法将文件分块为一个或多个变长分块的模块”。
图3是根据本发明实施例的文件分块系统的优选结构示意图一,如图3所示,优选地,映射模块24包括:第一填充单元242,用于在待映射变长分块的长度小于预定分块长度的情况下,填充待映射变长分块为预定分块长度的定长分块;第二填充单元244,用于在待映射变长分块的长度大于预定分块长度的情况下,填充待映射变长分块为预定分块长度的整数倍的定长分块。
图4是根据本发明实施例的文件分块系统的优选结构示意图二,如图4所示,优选地,该系统还包括:保存模块26耦合至映射模块24,用于保存文件的分块信息,其中,分块信息包括:文件的定长分块的位置信息,和文件的定长分块对应的变长分块的长度。
图5是根据本发明实施例的文件分块系统的优选结构示意图三,如图5所示,优选地,该系统还包括:发送模块28耦合至映射模块24,用于将定长分块发送至文件存储系统。
本实施例还提供了一种文件处理系统,图6是根据本发明实施例的文件系统的结构示意图,如图6所示,该文件系统包括:文件应用系统62、文件分块系统64和文件存储系统66,其中,文件应用系统62,用于通过文件分块系统64向文件存储系统66写入或读取文件;文件分块系统64,与文件应用系统62连接,用于通过变长分块算法将文件分块为一个或多个变长分块,并将一个或多个变长分块中的每个变长分块分别映射为预定分块长度或预定分块长度的整数倍的定长分块;文件存储系统66,与文件分块系统64连接,用于存储定长分块。
图7是根据本发明实施例的文件处理系统的优选结构示意图,如图7所示,优选地,该系统还包括:后处理重删系统68,与文件存储系统66连接,用于对文件存储系统66中存储的定长分块进行重复数据删除操作;和/或实时重删系统69,与文件存储系统66和文件分块系统64连接,用于对映射得到的定长分块和文件存储系统66中存储的定长分块进行重复数据删除操作。
下面结合优选实施例进行描述和说明。
本优选实施例提供了一种在定长分块数据重删系统上支持变长分块的方法,涉及数据存储领域技术,特别涉及存储系统中冗余数据处理、重复数据删除技术,以及变长文件分块算法。
通过本优选实施例,在I/O处理流程中加入一层专门用作数据分块的模块(即上述文件分块系统),将变长分块映射为定长的分块,来使定长的重复数据删除系统直接扩展为变长分块的重复数据删除系统。
图8是根据本发明优选实施例的包括变长重复数据删除系统的文件处理系统的结构示意图,如图8所示,该变长重复数据删除系统包括:文件系统66(用于实现上述的文件存储系统66)、实时重删系统69和后处理重删系统68。此外,该文件处理系统还包括:变长文件分块系统64(相当于上述文件分块系统64)和应用系统62(用于实现上述的文件应用系统62)。
如图8所示的文件分块系统64采用变长分块算法对文件进行分块,对得到的不定长块按照下层系统(即文件存储系统66)的分块长度填充无效字节(在本优选实施例中统一在变长分块后填充0),使得其分块的边界与下层的固定长度的分块边界重合。
图9是根据本发明优选实施例的将变长分块填充为定长分块的示意图,如图9所示,采用CDC算法将原始数据流分为变长分块:块1、块2和块3后,对于分块长度为5的块1“abcde”填充到存储定长分块长度为8的文件存储系统66中时,块1被填充为“abcde000”,即在分块后填充无效比特“0”,使得边界与文件存储系统66的分块边界重合。对于分块长度为13的块2,被填充为固定分块长度8的两倍,即填充为长度16,;在块2存储在文件存储系统66中时占用两个固定长度的定长分块存储空间。对于分块长度为8的块3,则填充了零个无效比特(即不做填充处理),可以直接存储在文件存储系统66中,并占用一个定长分块的存储空间。
通过上述的方式使得变长分块能够存储在定长分块的存储系统中,而对于文件应用系统62而言,文件的分块在逻辑上仍然是采用变长分块的方式。
优选地,上述的文件分块系统64像其他文件系统一样,也有自己的元数据。分块文件系统维护的是记录了分块信息的分块元数据。这些数据被用来计算文件经过分块文件系统处理后前后的文件偏移的映射关系。
下面结合图8对上述的变长重复数据删除系统的工作流程进行描述和说明。
文件分块存储过程
步骤11,应用程序62(即文件应用系统62)写文件,首先会经过“变长文件分块系统”将要写入的文件,采用变长分块算法对文件进行分块,得到一系列的块的集合{a0,a1,a2,a3,…,an},以及每个块的长度为{l0,l1,l2,l3,…,ln},然后根据文件系统66的块或者定长的在线式重删所处理的固定的块大小L,在每个块开头标记其实际长度,再按L长度对其,空闲部分用0填充。以此完成变长分块到定长的映射。并记录块实际长度的映射表,用于计算文件偏移。
在启用在线式重复数据删除时执行步骤12,否则执行步骤14。
步骤12,启用在线式重复数据删除,将经过分块处理过的文件,重新作为流数据交给在线式数据重删系统69(即实时重删系统69)处理。在线式数据重删系统69按固定的L大小分块,进行重删处理。
步骤13,经在线式数据重删后,数据写入文件系66。
步骤14,将分块处理好的数据直接存入文件系统66,之后可以通过后处理的重复数据删除,来对存入的数据进行消重。
文件分块读取过程
步骤21,将重删过的数据从文件系统66读出,如果文件系统66无法自己正确读出被重删过的数据(例如重删的方法不是修改文件系统66的数据块引用指针而是使用的是查表映射地址,或者存根方式),那么读取出来的数据需要经过重删系统处理,读出真正的数据块,则需要经过此读取流程,否则不需要此流程。
步骤22,在步骤21中读取的数据,经过重删系统还原成重删前的数据后,交由变长文件分块系统64(即上述文件分块系统64),将其中填充的无效数据去掉,重新组织,还原成应用系统62需要的真实的数据。
步骤23,将未经重删的数据读出给文件分块系统64。如果文件系统66本身能够正确读出被重删过的数据,那么所有的读取都经过此流程,将读取的数据交由文件分块系统64还原为经分块处理前的、应用系统62所需要的、真实的数据。
步骤24,将还原好的数据,返回给应用程序62。
文件分块的后处理重删
步骤31,对系统中得冗余数据进行后处理的重删操作。后处理重删操作使用定长分块方式,可以不用再写一次实际数据,而重删所处理固定长度的数据是逻辑上的变长块数据。
在上述优选实施例中,由于变长分块系统必须要知道它所处理过的文件的分块信息,因为在读写文件时,需要处理某个文件的偏移位置,在经过分块填充后所表现出来的偏移位置,以及文件实际的长度。那么就可以在变长分块系统中记录每个文件的分块信息,以便做位置映射。同时还可以保存文件真实长度等其他的因块大小变化导致文件系统中保存的一些属性,以及与真实数据不同的情况所需要的信息。
基于此,既然有了文件的分块信息,也就知道了某个块,对于某一个文件来说,它的实际有效数据的长度。因此可以不需要再在每个块中去记录它自己的有效长度信息。假设系统中原本就存在定长的分块数据,甚至还经过重删处理过了,而一个变长的分块数据再经过填充后,跟这个数据块完全一样,那么对于下层的重删系统来说,他并不知道分块是定长还是变长(也不需要知道),照样可以去进行重删。但是这种重删对系统没有影响,因为没有经过变长分块的文件,在变长分块系统(即上述的文件分块系统)中找不到对应的记录信息,那么只需要将它读到的数据原原本本返回给上层就行了,而这确实就是他的实际数据;而对于经过变长分块系统处理过的文件,在系统中会有其对应的分块信息记录,这个时候只要根据这些记录来计算出这个块的有效数据长度就行了。也就是说,同一个块,对于不同的文件,其表现出来的实际意义可能是不同的,但对他们各自来说又都是正确的。
综上所述,通过本发明的上述实施例或优选实施例,对已有定长重删产品,或者其存储设备无法支持传统的变长的重复数据删除产品的部署,例如网络附属存储(Network AttachedStorage,简称为NAS)设备的文件系统无法提供对于变长块的支持,的情况下,能够在定长重复数据删除系统上直接扩展为支持变长的重复数据删除,同时也是一种变长重复数据删除系统的架构方式。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种文件分块方法,其特征在于,包括:
通过变长分块算法,将文件分块为一个或多个变长分块;
将所述一个或多个变长分块中的每个变长分块分别映射为预定分块长度或预定分块长度的整数倍的定长分块。
2.根据权利要求1所述的方法,其特征在于,将所述一个或多个变长分块中的每个变长分块分别映射为所述定长分块包括:
在待映射变长分块的长度小于所述预定分块长度的情况下,填充所述待映射变长分块为所述预定分块长度的所述定长分块;
在所述待映射变长分块的长度大于所述预定分块长度的情况下,填充所述待映射变长分块为所述预定分块长度的整数倍的所述定长分块。
3.根据权利要求1所述的方法,其特征在于,在将所述一个或多个变长分块中的每个变长分块分别映射为所述定长分块之后,所述方法还包括:
保存所述文件的分块信息,其中,所述分块信息包括:所述文件的所述定长分块的位置信息,和所述文件的所述定长分块对应的变长分块的长度。
4.根据权利要求3所述的方法,其特征在于,在保存所述文件的所述分块信息之后,所述方法还包括:
将所述定长分块发送至文件存储系统。
5.根据权利要求4所述的方法,其特征在于,在将所述定长分块存储至所述文件存储系统之后,所述方法还包括:
对所述文件存储系统中存储的定长分块进行重复数据删除操作。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在将所述一个或多个变长分块中的每个变长分块分别映射为所述定长分块之后,所述方法还包括:
对所述定长分块和文件存储系统中存储的定长分块进行重复数据删除操作。
7.一种文件分块系统,其特征在于,包括:
分块模块,用于通过变长分块算法,将文件分块为一个或多个变长分块;
映射模块,用于将所述一个或多个变长分块中的每个变长分块分别映射为预定分块长度或预定分块长度的整数倍的定长分块。
8.根据权利要求7所述的系统,其特征在于,所述映射模块包括:
第一填充单元,用于在待映射变长分块的长度小于所述预定分块长度的情况下,填充所述待映射变长分块为所述预定分块长度的所述定长分块;
第二填充单元,用于在所述待映射变长分块的长度大于所述预定分块长度的情况下,填充所述待映射变长分块为所述预定分块长度的整数倍的所述定长分块。
9.根据权利要求7所述的系统,其特征在于,所述系统还包括:
保存模块,用于保存所述文件的分块信息,其中,所述分块信息包括:所述文件的所述定长分块的位置信息,和所述文件的所述定长分块对应的变长分块的长度。
10.根据权利要求9所述的系统,其特征在于,所述系统还包括:
发送模块,用于将所述定长分块发送至文件存储系统。
11.一种文件处理系统,其特征在于,包括:文件应用系统、文件分块系统和文件存储系统,其中,
所述文件应用系统,用于通过文件分块系统向所述文件存储系统写入或读取文件;
所述文件分块系统,与所述文件应用系统连接,用于通过变长分块算法将所述文件分块为一个或多个变长分块,并将所述一个或多个变长分块中的每个变长分块分别映射为预定分块长度或预定分块长度的整数倍的定长分块;
所述文件存储系统,与所述文件分块系统连接,用于存储所述定长分块。
12.根据权利要求11所述的系统,其特征在于,所述系统还包括:
后处理重删系统,与所述文件存储系统连接,用于对所述文件存储系统中存储的定长分块进行重复数据删除操作;和/或
实时重删系统,与所述文件存储系统和所述文件分块系统连接,用于对所述定长分块和所述文件存储系统中存储的定长分块进行重复数据删除操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410079209.1A CN104899210A (zh) | 2014-03-05 | 2014-03-05 | 文件分块方法、系统及文件处理系统 |
PCT/CN2014/084166 WO2015131492A1 (zh) | 2014-03-05 | 2014-08-12 | 文件分块方法、系统及文件处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410079209.1A CN104899210A (zh) | 2014-03-05 | 2014-03-05 | 文件分块方法、系统及文件处理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104899210A true CN104899210A (zh) | 2015-09-09 |
Family
ID=54031878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410079209.1A Pending CN104899210A (zh) | 2014-03-05 | 2014-03-05 | 文件分块方法、系统及文件处理系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104899210A (zh) |
WO (1) | WO2015131492A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116457762A (zh) * | 2020-12-04 | 2023-07-18 | 华为技术有限公司 | 连续数据保护系统和在其中存储数据的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1455557A (zh) * | 2002-03-25 | 2003-11-12 | 联合特里西斯株式会社 | 可变长度/固定长度数据转换方法和装置 |
CN103207866A (zh) * | 2012-01-16 | 2013-07-17 | 中国科学院声学研究所 | 一种基于分块策略的文件存储方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908073B (zh) * | 2010-08-13 | 2012-07-11 | 清华大学 | 一种文件系统中实时删除重复数据的方法 |
CN102082575A (zh) * | 2010-12-14 | 2011-06-01 | 江苏格物信息科技有限公司 | 基于预分块及滑动窗口的重复数据消除方法 |
CN102810108A (zh) * | 2011-06-02 | 2012-12-05 | 英业达股份有限公司 | 重复数据的处理方法 |
-
2014
- 2014-03-05 CN CN201410079209.1A patent/CN104899210A/zh active Pending
- 2014-08-12 WO PCT/CN2014/084166 patent/WO2015131492A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1455557A (zh) * | 2002-03-25 | 2003-11-12 | 联合特里西斯株式会社 | 可变长度/固定长度数据转换方法和装置 |
CN103207866A (zh) * | 2012-01-16 | 2013-07-17 | 中国科学院声学研究所 | 一种基于分块策略的文件存储方法及系统 |
Non-Patent Citations (1)
Title |
---|
李彩霞 等: "《数据库技术应用教程》", 30 April 2011 * |
Also Published As
Publication number | Publication date |
---|---|
WO2015131492A1 (zh) | 2015-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10175894B1 (en) | Method for populating a cache index on a deduplicated storage system | |
CN103152395B (zh) | 一种分布式文件系统的存储方法及装置 | |
CN102662992B (zh) | 一种海量小文件的存储、访问方法及装置 | |
CN107728937B (zh) | 一种使用非易失性内存介质的键值对持久存储方法及系统 | |
EP3037988A1 (en) | Configuration method and device for hash database | |
CN105183839A (zh) | 一种基于Hadoop的小文件分级索引的存储优化方法 | |
US10310904B2 (en) | Distributed technique for allocating long-lived jobs among worker processes | |
TW201329714A (zh) | 用於元資料持久性的方法 | |
CN102301349A (zh) | 数据库操作意识条带化技术 | |
CN103617097B (zh) | 文件恢复方法及装置 | |
CN101916290B (zh) | 内存数据库的管理方法和装置 | |
WO2019001521A1 (zh) | 数据存储方法、存储设备、客户端及系统 | |
CN104679442A (zh) | 一种提高磁盘阵列性能的方法及装置 | |
CN103473314A (zh) | 一种基于共享内存的键值对存储方法及装置 | |
CN102915340A (zh) | 一种扩展的基于b+树对象文件系统 | |
US20220413741A1 (en) | Method and system for dynamic topology-aware space allocation in a distributed system | |
CN104519103A (zh) | 网络数据的同步处理方法、服务器及相关系统 | |
CN105677252B (zh) | 读数据的方法、数据处理方法及相关存储设备 | |
CN104750432A (zh) | 一种数据存储方法及装置 | |
CN104268097B (zh) | 一种元数据处理方法及系统 | |
CN103150268A (zh) | 一种cdp中的块级数据捕获方法 | |
US10740189B2 (en) | Distributed storage system | |
CN106547484A (zh) | 一种基于raid5的实现内存数据可靠性方法及系统 | |
CN103645995B (zh) | 写数据的方法及装置 | |
CN104050251A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150909 |