CN103617260A - 重复数据删除的索引生成方法及装置 - Google Patents
重复数据删除的索引生成方法及装置 Download PDFInfo
- Publication number
- CN103617260A CN103617260A CN201310632612.8A CN201310632612A CN103617260A CN 103617260 A CN103617260 A CN 103617260A CN 201310632612 A CN201310632612 A CN 201310632612A CN 103617260 A CN103617260 A CN 103617260A
- Authority
- CN
- China
- Prior art keywords
- data slice
- data
- adjacent
- slice
- index information
- 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
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
Abstract
本发明公开了一种重复数据删除的索引生成方法及装置,方法包括:接收多个数据片组成的数据流,每个所述数据片对应有指纹和编号,编号顺序和该多个数据片在所述数据流中的顺序相同;当两个以上的所述数据片的编号相邻,且该编号相邻的两个以上的数据片的指纹,在单实例库中对应的数据片的数据片ID也相邻,则根据所述编号相邻的两个以上的数据片生成一个合并索引信息。本发明实施例中,根据所述编号相邻的两个以上的数据片生成一个合并索引信息,从而缩少了索引信息数量,节省了存储空间,进而在恢复数据流时减小了读写压力。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种重复数据删除的索引生成方法及装置。
背景技术
目前,随着全球化信息化的发展,企业数据呈爆炸式增长,对数据进行备份已成为企业保证数据不被丢失的重要手段。重复数据删除技术是一种数据缩减技术,用于减少冗余数据在存储系统中使用的存储空间。
现有技术提供的重复数据删除的索引生成方法,包括:
步骤一:接收多个数据片组成的数据流,每个数据片对应有指纹;
步骤二:根据该数据流的每个数据片的指纹在单实例库中进行查找,将在单实例库中未查找到的该数据流的数据片保存到所述单实例库中;
步骤三:为所述数据流的每个数据片分别建立索引信息。
然而,现有技术的缺点为:由于每个数据片均对应一个索引信息,当数据越大,则索引信息的数据量也越大,从单实例库中恢复数据流时,需要读取全部索引信息,因此加大了读写压力。
发明内容
本发明实施例提供重复数据删除的索引生成方法及装置,以解决现有技术中索引信息量过多的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
第一方面,本发明提供了一种重复数据删除的索引生成方法,包括:
接收多个数据片组成的数据流,每个所述数据片对应有指纹,每个所述数据片对应有编号,编号顺序和该多个数据片在所述数据流中的顺序相同;
当两个以上的所述数据片的编号相邻,且该编号相邻的两个以上的数据片的指纹,在单实例库中对应的数据片的数据片ID也相邻,则根据所述编号相邻的两个以上的数据片生成一个合并索引信息;
所述单实例库包括多个数据单元,每个所述数据单元中存储有数据片以及存储的数据片的指纹,且存储位置相邻的数据单元的数据片ID相邻。
在第一方面的第一种可能的实现方式中,所述合并索引信息包括:所述编号相邻的两个以上的数据片中顺序最前的一个数据片在数据流中的起始位置、所述编号相邻的两个以上的数据片中所有数据片的大小之和,以及所述编号相邻的两个以上的数据片中顺序最前的一个数据片的指纹在单实例库中对应的数据片的数据片ID和所述编号相邻的两个以上的数据片中顺序最后的一个数据片的指纹在单实例库中对应的数据片的数据片ID。
在第一方面的第二种可能的实现方式中,所述方法进一步包括:将所述数据流中各个数据片的指纹在单实例库中分别对应的各个数据片的位置顺序,调整为与数据流中各个数据片的位置顺序相同;
所述根据所述编号相邻的两个以上的数据片生成一个合并索引信息包括:根据所述数据流中所有数据片生成一个合并索引信息。
在第一方面的第三种可能的实现方式中,所述将所述数据流中各个数据片的指纹在单实例库中分别对应的各个数据片的位置顺序,调整为与数据流中各个数据片的位置顺序相同进一步包括:
若所述数据流中包括相同的多个数据片,则按照该多个数据片中顺序最前的一个数据片在数据流中的位置顺序调整单实例库中该多个数据片的指纹分别对应的数据片在单实例库中的位置顺序。
结合第一方面或第一方面的第一种可能的实现方式或第二种可能的实现方式或第三种可能的实现方式,在第一方面的第四种可能的实现方式中,在所述根据所述编号相邻的两个以上的数据片生成一个合并索引信息之前,所述方法进一步包括:
为所述数据流的每个数据片分别建立索引信息,读取单实例库中所述数据流的每个数据片对应的所有索引信息,并获取两个以上的相邻索引信息对应的数据片在所述数据流中相邻的索引信息。
第二方面,本发明提供了一种重复数据删除的索引生成装置,包括:
接收模块,用于接收多个数据片组成的数据流,每个所述数据片对应有指纹,每个所述数据片对应有编号,编号顺序和该多个数据片在所述数据流中的顺序相同,并将接收到的该多个数据片组成的数据流传输给生成模块;
所述生成模块,用于当两个以上的所述数据片的编号相邻,且该编号相邻的两个以上的数据片的指纹,在单实例库中对应的数据片的数据片ID也相邻,则根据所述编号相邻的两个以上的数据片生成一个合并索引信息;所述单实例库包括多个数据单元,每个所述数据单元中存储有数据片以及存储的数据片的指纹,且存储位置相邻的数据单元的数据片ID相邻。
在第一方面的第一种可能的实现方式中,所述合并索引信息包括:所述编号相邻的两个以上的数据片中顺序最前的一个数据片在数据流中的起始位置、所述编号相邻的两个以上的数据片中所有数据片的大小之和,以及所述编号相邻的两个以上的数据片中顺序最前的一个数据片的指纹在单实例库中对应的数据片的数据片ID和所述编号相邻的两个以上的数据片中顺序最后的一个数据片的指纹在单实例库中对应的数据片的数据片ID。
在第一方面的第二种可能的实现方式中,所述装置还包括:
调整模块,用于将所述数据流中各个数据片的指纹在单实例库中分别对应的各个数据片的位置顺序,调整为与数据流中各个数据片的位置顺序相同;
所述生成模块,用于当所述调整模块调整结束后,根据所述数据流中所有数据片生成一个合并索引信息。
在第一方面的第三种可能的实现方式中,所述调整模块,还用于当所述数据流中包括相同的多个数据片,则按照该多个数据片中第一个数据片在数据流中的位置顺序调整单实例库中该多个数据片的指纹分别对应的数据片在单实例库中的位置顺序。
结合第二方面或第二方面的第一种可能的实现方式或第二种可能的实现方式或第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述装置还包括:
建立模块,用于为所述数据流的每个数据片分别建立索引信息,并将建立的索引信息传输给读取模块;
所述读取模块,用于读取单实例库中所述数据流的每个数据片对应的所有索引信息,并将读取的所有索引信息传输给获取模块;
所述获取模块,用于获取两个以上的相邻索引信息对应的数据片在所述数据流中相邻的索引信息。
本发明实施例中,通过提供重复数据删除的索引生成方法及装置,通过接收到的多个数据片组成的数据流中,当所述数据流中两个以上的数据片的编号相邻,且该编号相邻的两个以上的数据片的指纹,在单实例库中对应的数据片的数据片ID也相邻,将根据所述编号相邻的两个以上的数据片的生成一个合并索引信息,从而缩少了索引信息数量,节省了存储空间,进而在恢复数据流时减小了读写压力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的方法流程图;
图2是本发明实施例二提供的方法流程图;
图3是本发明实施例三提供的方法流程图;
图4是本发明实施例四提供的装置结构示意图;
图5是本发明实施例五提供的处理器结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
实施例1
本发明第一个实施例提供了一种重复数据删除的索引生成方法,该方法流程图如图1所示,该方法包括:
步骤101:接收多个数据片组成的数据流,每个所述数据片对应有指纹,每个所述数据片对应有编号,编号顺序和该多个数据片在所述数据流中的顺序相同;
步骤102:当两个以上的所述数据片的编号相邻,且该编号相邻的两个以上的数据片的指纹,在单实例库中对应的数据片的数据片ID也相邻,则根据所述编号相邻的两个以上的数据片生成一个合并索引信息;
所述单实例库包括多个数据单元,每个所述数据单元中存储有数据片以及存储的数据片的指纹,且存储位置相邻的数据单元的数据片ID相邻。
本发明实施例通过接收到的多个数据片组成的数据流中,当所述数据流中两个以上的数据片的编号相邻,且该编号相邻的两个以上的数据片的指纹,在单实例库中对应的数据片的数据片ID也相邻,根据所述编号相邻的两个以上的数据片生成一个合并索引信息,从而缩少了索引信息数量,节省了存储空间,进而在恢复数据流时减小了读写压力。
由于根据编号相邻的两个以上的数据片生成一个合并索引信息,因此,该合并索引信息所包括的内容与现有的每个数据片对应一个索引信息的内容不同,因此在本发明实施例中,该合并索引信息包括:所述编号相邻的两个以上的数据片中顺序最前的一个数据片在数据流中的起始位置、所述编号相邻的两个以上的数据片中所有数据片的大小之和,以及所述编号相邻的两个以上的数据片中顺序最前的一个数据片的指纹在单实例库中对应的数据片的数据片ID和所述编号相邻的两个以上的数据片中顺序最后的一个数据片的指纹在单实例库中对应的数据片的数据片ID,从而减少了索引信息的数量。
为了进一步减小索引信息量,进而缩少索引信息所占用的空间,本发明实施例的方法当索引的数据流对应的单实例库中的数据片没有被其他数据流索引时,进一步包括以下内容:将所述数据流中各个数据片的指纹在单实例库中分别对应的各个数据片的位置顺序,调整为与数据流中各个数据片的位置顺序相同;所述根据所述编号相邻的两个以上的数据片生成一个合并索引信息合包括:根据所述数据流中所有数据片生成一个合并索引信息。
且当所述数据流中包括相同的多个数据片,则按照该多个数据片中第一个数据片在数据流中的位置顺序调整单实例库中该多个数据片的指纹分别对应的数据片在单实例库中的位置顺序。
当为数据流的每个数据片分别建立索引信息时,该方法还包括:
为所述数据流的每个数据片分别建立索引信息,读取单实例库中所述数据流的每个数据片对应的所有索引信息,并获取两个以上的相邻索引信息对应的数据片在所述数据流中相邻的索引信息,并将根据该两个以上的相邻数据片生成一个合并索引信息,进一步的缩小了索引信息量,减小了索引信息的空间占用率,从而减小了恢复数据流时的读写压力。
进一步的,本发明实施例提供的方法还可以应用到存储空间的索引管理或者文件元数据索引等方面。
实施例2
为了进一步完善第一个实施例中提供的方法,以及对第一个实施例进行补充,针对索引信息量过多问题,本发明第二个实施例提供了一种重复数据删除的索引生成方法,该方法的流程图如图2所示,该方法包括:
步骤201:接收多个数据片组成的数据流,其中,每个数据片对应有指纹,每个所述数据片对应有编号;
例如,一个约50KB大小的数据流F,包括6份平均长度约为8K的不等长数据片,每个数据片对应有编号1、2、3、4、5、6,该编号顺序和该多个数据片在所述数据流中的顺序相同,即分别为数据片1(7K)、数据片2(9K)、数据片3(12K)、数据片4(4K)、数据片5(10K)和数据片6(8K),每个数据片的指纹用于对数据片进行标识,数据流、数据流中的各个数据片以及各个数据片的指纹如表1所示:
表1:
在本发明实施例中,组成数据流的各个数据片可以等长也可以不等长。
步骤202:根据所述数据流的每个数据片的指纹在单实例库中进行查找,将在单实例库中未查找到的指纹对应的所述数据流的数据片以及该数据片的指纹保存到所述单实例库中;
在本发明实施例中,单实例库包括多个数据单元,每个所述数据单元中存储有数据片以及存储的数据片的指纹,且存储位置相邻的数据单元的数据片ID相邻。
在本发明实施例中,单实例库内容如表2所示:
表2:
根据表1和表2可知,在单实例库中查找到了与数据流F中的数据片1、数据片2、数据片4、数据片5和数据片6相同指纹的数据片,而未查找到与数据片3相同指纹的数据片,因此说明,单实例库中包含与数据片1、数据片2、数据片4、数据片5和数据片6相同的数据片,不包含与数据片3相同的数据片,因此将数据片3保存到单实例库中,对应数据g,存储位置对应数据片ID为0x007,如表3所示:
表3:
步骤203:当所两个以上的数据片的编号相邻,且该编号相邻的两个以上的数据片的指纹,在单实例库中对应的数据片的数据片ID也相邻,则根据所述编号相邻的两个以上的数据片生成一个合并索引信息;
根据表1和表3可以得出,数据流F中数据片1和数据片2为相邻数据片,且该数据片1和数据片2对应的单实例库中的数据片c和数据片d也相邻(是否相邻根据对应于的数据片ID获得),则根据该数据片1和数据片2生成一个合并索引信息;同理,根据数据流F中的数据片4、数据片5和数据片6生成一个合并索引信息。数据流F生成的索引信息见下表4:
表4:
其中,其中,Offset表示为数据片在数据流内的起始位置;Size表示数据片大小;Addr表示数据片在单实例库中的位置。
该合并索引信息包括:所述编号相邻的两个以上的数据片中顺序最前的一个数据片在数据流中的起始位置、所述编号相邻的两个以上的数据片中所有数据片的大小之和,以及所述编号相邻的两个以上的数据片中顺序最前的一个数据片的指纹在单实例库中对应的数据片的数据片ID和所述编号相邻的两个以上的数据片中顺序最后的一个数据片的指纹在单实例库中对应的数据片的数据片ID;
其中,数据片ID可以是一般的ID号、磁盘扇区号或者文件偏移地址等等。
根据形成的数据流F的6个数据片的索引信息可以得出,本发明实施例通过接收到的多个数据片组成的数据流中,当所述数据流中两个以上的数据片的编号相邻,且该编号相邻的两个以上的数据片的指纹,在单实例库中对应的数据片的数据片ID也相邻,根据所述编号相邻的两个以上的数据片生成一个合并索引信息,从而缩少了索引信息数量,节省了存储空间,进而在恢复数据流时减小了读写压力。
在对数据流中的各个数据片建立索引信息时,是利用本发明实施例的步骤203所述的方法进行建立的,若当在建立索引信息时未按照本发明实施例的步骤203所述的方法建立索引信息,而是直接对数据流的每个数据片分别建立了索引信息,则利用下述方法对索引信息量进行优化:
读取单实例库中所述数据流的每个数据片对应的所有索引信息,并获取两个以上的相邻索引信息对应的数据片在所述数据流中相邻的索引信息。根据获取的两个以上的相邻索引信息对应的数据片在所述数据流中相邻的索引信息,进而将该两个以上的相邻数据片的索引信息合并为一个。
通过对索引信息进行优化,从而减少了索引信息数量,节省了存储空间,进而在恢复数据流时减小了读写压力。
实施例3
根据实施例1或实施例2提供的方法,当数据流的每个数据片对应的单实例库中的数据片,没有被任何其他的数据流建立索引信息时索引过,以及为了进一步减少索引信息量,本发明第三个实施例又提供了一种重复数据删除的索引生成方法,该方法流程图如图3所示,该方法包括:
步骤301:接收多个数据片组成的数据流,其中,每个数据片对应有指纹,每个所述数据片对应有编号;
该步骤301与第二个实施例的步骤201相同或类似,在此不再赘述。
步骤302:根据所述数据流的每个数据片的指纹在单实例库中进行查找,将在单实例库中未查找到的指纹对应的所述数据流的数据片以及该数据片携带的指纹保存到所述单实例库中;
该步骤302与第二个实施例的步骤202相同或类似,在此不再赘述。
步骤303:根据所述数据流的每个数据片的指纹,获取到单实例库中与所述数据流的每个数据片相对应的数据片;
其中,根据表1和表3可以获取到单实例库中与数据流F的6个数据片相对应的数据片分别是:数据片c、数据片d、数据片3、数据片c、数据片d和数据片e。
步骤304:判断所述数据流中是否包括相同的多个数据片,若是,则将所述数据流中各个数据片的指纹在单实例库中分别对应的各个数据片的位置顺序,调整为与数据流中各个数据片的位置顺序相同;若不是,则按照该多个数据片中顺序最前的一个数据片在数据流中的位置顺序调整单实例库中该多个数据片的指纹分别对应的数据片在单实例库中的位置顺序;
其中,判断表1中数据流F包括相同的多个数据片,即数据片1和数据片4均对应单实例库中的数据片c,数据片2和数据片5均对应单实例库中的数据片d,因此对于单实例库进行调整时,将单实例库中对应数据流的6个数据片的数据片调整为位置顺序与该6个数据片的位置顺序相同,且数据片2对应的单实例库中的数据片d与数据片3对应的单实例库中的数据3的数据片序号ID相连续或不连续。调整前的单实例库为表3,调整后的单实例库见表5:
表5:
其中,该表5中相对于表3调整了数据片g、数据片e和数据片f的序号。
步骤305:当所述数据流的编号相邻的两个以上的数据片的指纹在单实例库中对应的数据片的数据片ID相邻,将根据编号相邻的两个以上的数据片生成一个合并索引信息。
根据本发明第一个实施例所提供的重复数据删除的索引生成方法,根据表1和表5生成数据流的索引信息,如表6:
表6:
本发明实施例将所述数据流中各个数据片的指纹在单实例库中对应的的各个数据片的位置顺序进行调整,且调整为与数据流中各个数据片的位置顺序相同,可以根据数据流中所有数据片生成一个合并索引信息,从而减少了索引信息量,提高了索引检索的效率和速度。
实施例4
本发明第四个实施例还提供了一种重复数据删除的索引生成装置,如图4所示,包括:
接收模块401,用于接收多个数据片组成的数据流,每个所述数据片对应有指纹,每个所述数据片对应有编号,编号顺序和该多个数据片在所述数据流中的顺序相同,并将接收到的该多个数据片组成的数据流传输给生成模块;
所述生成模块402,用于当两个以上的所述数据片的编号相邻,且该编号相邻的两个以上的数据片的指纹,在单实例库中对应的数据片的数据片ID也相邻,则根据所述编号相邻的两个以上的数据片生成一个合并索引信息;所述单实例库包括多个数据单元,每个所述数据单元中存储有数据片以及存储的数据片的指纹,且存储位置相邻的数据单元的数据片ID相邻。
进一步的,所述合并索引信息包括:所述编号相邻的两个以上的数据片中顺序最前的一个有数据片的大小之和,以及所述编号相邻的两个以上的数据片中顺序最前的一个数据片的指纹在单实例库中对应的数据片的数据片ID和所述编号相邻的两个以上的数据片中顺序最后的一个数据片的指纹在单实例库中对应的数据片的数据片ID。
进一步的,所述装置还包括:
调整模块,用于将所述数据流中各个数据片的指纹在单实例库中分别对应的各个数据片的位置顺序,调整为与数据流中各个数据片的位置顺序相同;
所述生成模块,用于当所述调整模块调整结束后,根据所述数据流中所有数据片生成一个合并索引信息。
进一步的,所述调整模块,还用于当所述数据流中包括相同的多个数据片,则按照该多个数据片中第一个数据片在数据流中的位置顺序调整单实例库中该多个数据片的指纹分别对应的数据片在单实例库中的位置顺序。
进一步的,所述装置还包括:
建立模块,用于为所述数据流的每个数据片分别建立索引信息,并将建立的索引信息传输给读取模块;
所述读取模块,用于读取单实例库中所述数据流的每个数据片对应的所有索引信息,并将读取的所有索引信息传输给获取模块;
所述获取模块,用于获取两个以上的相邻索引信息对应的数据片在所述数据流中相邻的索引信息。
本发明实施例通过提供一种重复数据删除的索引生成装置,通过接收模块接收多个数据片组成的数据流,并利用合并模块当所述数据流中两个以上的数据片的编号相邻,且该编号相邻的两个以上的数据片的指纹,在单实例库中对应的数据片的数据片ID也相邻,则根据所述编号相邻的两个以上的数据片生成一个合并索引信息,从而缩少了索引信息数量,节省了存储空间,进而在恢复数据流时减小了读写压力。
实施例5
本发明还提供了第五个实施例,上述实施例中的重复数据删除的索引生成装置可以为如图5所示,包括至少一个处理器51(例如:CPU),至少一个网络接口52或者其他通信接口,存储器53和至少一个通信总线54,用于实现这些装置之间的连接通信。处理器51用于执行存储器53中存储的可执行模块,例如:计算机程序。存储器53可能包含高速随机存取存储器(Random AccessMemory,RAM),也可能还包括非不稳定的存储器(non-volatile memory),例如:至少一个磁盘存储器。通过至少一个网络接口52(可以是有线或者无线)实现该系统网关与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
在一些实施方式中,存储器53存储了程序,程序可以被处理器51执行,这个程序包括:接收多个数据片组成的数据流,每个所述数据片对应有指纹,每个所述数据片对应有编号,编号顺序和该多个数据片在所述数据流中的顺序相同;当两个以上的所述数据片的编号相邻,且该编号相邻的两个以上的数据片的指纹,在单实例库中对应的数据片的数据片ID也相邻,则根据所述编号相邻的两个以上的数据片生成一个合并索引信息。
本领域普通技术人员将会理解,本发明的各个方面、或各个方面的可能实现方式可以被具体实施为系统、方法或者计算机程序产品。因此,本发明的各方面、或各个方面的可能实现方式可以采用完全硬件实施例、完全软件实施例(包括固件、驻留软件等等),或者组合软件和硬件方面的实施例的形式,在这里都统称为“电路”、“模块”或者“系统”。此外,本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质包含但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或者装置,或者前述的任意适当组合,如随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者快闪存储器)、光纤、便携式只读存储器(CD-ROM)。
计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
计算机可读程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为单独的软件包、部分在用户的计算机上并且部分在远程计算机上,或者完全在远程计算机或者服务器上执行。也应该注意,在某些替代实施方案中,在流程图中各步骤、或框图中各块所注明的功能可能不按图中注明的顺序发生。例如,依赖于所涉及的功能,接连示出的两个步骤、或两个块实际上可能被大致同时执行,或者这些块有时候可能被以相反顺序执行。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种重复数据删除的索引生成方法,其特征在于,包括:
接收多个数据片组成的数据流,每个所述数据片对应有指纹,每个所述数据片对应有编号,编号顺序和该多个数据片在所述数据流中的顺序相同;
当两个以上的所述数据片的编号相邻,且该编号相邻的两个以上的数据片的指纹,在单实例库中对应的数据片的数据片ID也相邻,则根据所述编号相邻的两个以上的数据片生成一个合并索引信息;
所述单实例库包括多个数据单元,每个所述数据单元中存储有数据片以及存储的数据片的指纹,且存储位置相邻的数据单元的数据片ID相邻。
2.如权利要求1所述的方法,其特征在于,所述合并索引信息包括:所述编号相邻的两个以上的数据片中顺序最前的一个数据片在数据流中的起始位置、所述编号相邻的两个以上的数据片中所有数据片的大小之和,以及所述编号相邻的两个以上的数据片中顺序最前的一个数据片的指纹在单实例库中对应的数据片的数据片ID和所述编号相邻的两个以上的数据片中顺序最后的一个数据片的指纹在单实例库中对应的数据片的数据片ID。
3.如权利要求1所述的方法,其特征在于,所述方法进一步包括:将所述数据流中各个数据片的指纹在单实例库中分别对应的各个数据片的位置顺序,调整为与数据流中各个数据片的位置顺序相同;
所述根据所述编号相邻的两个以上的数据片生成一个合并索引信息包括:根据所述数据流中所有数据片生成一个合并索引信息。
4.如权利要求3所述的方法,其特征在于,所述将所述数据流中各个数据片的指纹在单实例库中分别对应的各个数据片的位置顺序,调整为与数据流中各个数据片的位置顺序相同进一步包括:
若所述数据流中包括相同的多个数据片,则按照该多个数据片中顺序最前的一个数据片在数据流中的位置顺序调整单实例库中该多个数据片的指纹分别对应的数据片在单实例库中的位置顺序。
5.如权利要求1~4中任一项所述的方法,其特征在于,在所述根据所述编号相邻的两个以上的数据片生成一个合并索引信息之前,所述方法进一步包括:
为所述数据流的每个数据片分别建立索引信息,读取单实例库中所述数据流的每个数据片对应的所有索引信息,并获取两个以上的相邻索引信息对应的数据片在所述数据流中相邻的索引信息。
6.一种重复数据删除的索引生成装置,其特征在于,包括:
接收模块,用于接收多个数据片组成的数据流,每个所述数据片对应有指纹,每个所述数据片对应有编号,编号顺序和该多个数据片在所述数据流中的顺序相同,并将接收到的该多个数据片组成的数据流传输给生成模块;
所述生成模块,用于当两个以上的所述数据片的编号相邻,且该编号相邻的两个以上的数据片的指纹,在单实例库中对应的数据片的数据片ID也相邻,则根据所述编号相邻的两个以上的数据片生成一个合并索引信息;所述单实例库包括多个数据单元,每个所述数据单元中存储有数据片以及存储的数据片的指纹,且存储位置相邻的数据单元的数据片ID相邻。
7.如权利要求6所述的装置,其特征在于,所述合并索引信息包括:所述编号相邻的两个以上的数据片中顺序最前的一个数据片在数据流中的起始位置、所述编号相邻的两个以上的数据片中所有数据片的大小之和,以及所述编号相邻的两个以上的数据片中顺序最前的一个数据片的指纹在单实例库中对应的数据片的数据片ID和所述编号相邻的两个以上的数据片中顺序最后的一个数据片的指纹在单实例库中对应的数据片的数据片ID。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
调整模块,用于将所述数据流中各个数据片的指纹在单实例库中分别对应的各个数据片的位置顺序,调整为与数据流中各个数据片的位置顺序相同;
所述生成模块,用于当所述调整模块调整结束后,根据所述数据流中所有数据片生成一个合并索引信息。
9.如权利要求8所述的装置,其特征在于,所述调整模块,还用于当所述数据流中包括相同的多个数据片,则按照该多个数据片中第一个数据片在数据流中的位置顺序调整单实例库中该多个数据片的指纹分别对应的数据片在单实例库中的位置顺序。
10.如权利要求6~9中任一项所述的装置,其特征在于,所述装置还包括:
建立模块,用于为所述数据流的每个数据片分别建立索引信息,并将建立的索引信息传输给读取模块;
所述读取模块,用于读取单实例库中所述数据流的每个数据片对应的所有索引信息,并将读取的所有索引信息传输给获取模块;
所述获取模块,用于获取两个以上的相邻索引信息对应的数据片在所述数据流中相邻的索引信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310632612.8A CN103617260B (zh) | 2013-11-29 | 2013-11-29 | 重复数据删除的索引生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310632612.8A CN103617260B (zh) | 2013-11-29 | 2013-11-29 | 重复数据删除的索引生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103617260A true CN103617260A (zh) | 2014-03-05 |
CN103617260B CN103617260B (zh) | 2017-01-11 |
Family
ID=50167963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310632612.8A Active CN103617260B (zh) | 2013-11-29 | 2013-11-29 | 重复数据删除的索引生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103617260B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914522A (zh) * | 2014-03-20 | 2014-07-09 | 电子科技大学 | 一种应用于云存储重复数据删除的数据块合并方法 |
CN103910591A (zh) * | 2014-04-16 | 2014-07-09 | 东北师范大学 | 一价银催化苯基、杂环硼酸的脱硼化的方法及其应用 |
CN103955530A (zh) * | 2014-05-12 | 2014-07-30 | 暨南大学 | 一种在线重复数据删除系统的数据重建优化方法 |
CN105045530A (zh) * | 2015-06-30 | 2015-11-11 | 株洲南车时代电气股份有限公司 | 一种数据记录存储方法 |
WO2019052213A1 (zh) * | 2017-09-14 | 2019-03-21 | 华为技术有限公司 | 一种数据恢复方法及装置 |
CN109508254A (zh) * | 2017-09-14 | 2019-03-22 | 华为技术有限公司 | 一种数据恢复方法及装置 |
WO2021017647A1 (zh) * | 2019-07-29 | 2021-02-04 | 华为技术有限公司 | 一种数据单元的合并方法及装置 |
CN112637616A (zh) * | 2020-12-08 | 2021-04-09 | 网宿科技股份有限公司 | 一种对象存储方法、系统及服务器 |
WO2021082928A1 (zh) * | 2019-11-01 | 2021-05-06 | 华为技术有限公司 | 数据缩减的方法、装置、计算设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080294696A1 (en) * | 2007-05-22 | 2008-11-27 | Yuval Frandzel | System and method for on-the-fly elimination of redundant data |
CN102222085A (zh) * | 2011-05-17 | 2011-10-19 | 华中科技大学 | 一种基于相似性与局部性结合的重复数据删除方法 |
CN102467523A (zh) * | 2010-11-03 | 2012-05-23 | 英业达股份有限公司 | 索引文件的建立方法与利用索引文件查询数据区块的方法 |
CN102915278A (zh) * | 2012-09-19 | 2013-02-06 | 浪潮(北京)电子信息产业有限公司 | 重复数据删除方法 |
CN103403717A (zh) * | 2013-01-09 | 2013-11-20 | 华为技术有限公司 | 一种数据处理方法及装置 |
-
2013
- 2013-11-29 CN CN201310632612.8A patent/CN103617260B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080294696A1 (en) * | 2007-05-22 | 2008-11-27 | Yuval Frandzel | System and method for on-the-fly elimination of redundant data |
CN102467523A (zh) * | 2010-11-03 | 2012-05-23 | 英业达股份有限公司 | 索引文件的建立方法与利用索引文件查询数据区块的方法 |
CN102222085A (zh) * | 2011-05-17 | 2011-10-19 | 华中科技大学 | 一种基于相似性与局部性结合的重复数据删除方法 |
CN102915278A (zh) * | 2012-09-19 | 2013-02-06 | 浪潮(北京)电子信息产业有限公司 | 重复数据删除方法 |
CN103403717A (zh) * | 2013-01-09 | 2013-11-20 | 华为技术有限公司 | 一种数据处理方法及装置 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914522A (zh) * | 2014-03-20 | 2014-07-09 | 电子科技大学 | 一种应用于云存储重复数据删除的数据块合并方法 |
CN103910591A (zh) * | 2014-04-16 | 2014-07-09 | 东北师范大学 | 一价银催化苯基、杂环硼酸的脱硼化的方法及其应用 |
CN103955530A (zh) * | 2014-05-12 | 2014-07-30 | 暨南大学 | 一种在线重复数据删除系统的数据重建优化方法 |
CN103955530B (zh) * | 2014-05-12 | 2017-02-22 | 暨南大学 | 一种在线重复数据删除系统的数据重建优化方法 |
CN105045530A (zh) * | 2015-06-30 | 2015-11-11 | 株洲南车时代电气股份有限公司 | 一种数据记录存储方法 |
CN105045530B (zh) * | 2015-06-30 | 2018-02-16 | 株洲南车时代电气股份有限公司 | 一种数据记录存储方法 |
WO2019052213A1 (zh) * | 2017-09-14 | 2019-03-21 | 华为技术有限公司 | 一种数据恢复方法及装置 |
CN109508254A (zh) * | 2017-09-14 | 2019-03-22 | 华为技术有限公司 | 一种数据恢复方法及装置 |
CN109508254B (zh) * | 2017-09-14 | 2020-09-08 | 华为技术有限公司 | 一种数据恢复方法及装置 |
US11397537B2 (en) | 2017-09-14 | 2022-07-26 | Huawei Technologies Co., Ltd. | Data restoration method and apparatus |
WO2021017647A1 (zh) * | 2019-07-29 | 2021-02-04 | 华为技术有限公司 | 一种数据单元的合并方法及装置 |
WO2021082928A1 (zh) * | 2019-11-01 | 2021-05-06 | 华为技术有限公司 | 数据缩减的方法、装置、计算设备和存储介质 |
CN112637616A (zh) * | 2020-12-08 | 2021-04-09 | 网宿科技股份有限公司 | 一种对象存储方法、系统及服务器 |
CN112637616B (zh) * | 2020-12-08 | 2024-02-23 | 网宿科技股份有限公司 | 一种对象存储方法、系统及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN103617260B (zh) | 2017-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103617260A (zh) | 重复数据删除的索引生成方法及装置 | |
US9880762B1 (en) | Compressing metadata blocks prior to writing the metadata blocks out to secondary storage | |
US9483396B2 (en) | Control apparatus, storage device, and storage control method | |
CN105069048A (zh) | 一种小文件存储方法、查询方法和装置 | |
CN103617097B (zh) | 文件恢复方法及装置 | |
CN109522154B (zh) | 数据恢复方法及相关设备与系统 | |
CN104461390A (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
US10884926B2 (en) | Method and system for distributed storage using client-side global persistent cache | |
KR20160003682A (ko) | 플레이스홀더에 의한 하이드레이션 및 디하이드레이션 기법 | |
CN109669622B (zh) | 一种文件管理方法、文件管理装置、电子设备及存储介质 | |
WO2016082156A1 (zh) | 元数据的恢复方法及装置 | |
CN110968554A (zh) | 一种基于文件链分块的区块链存储方法、存储系统及存储介质 | |
EP3336702B1 (en) | Metadata recovery method and device | |
CN109669621B (zh) | 一种文件管理方法、文件管理系统、电子设备及存储介质 | |
US20140337301A1 (en) | Big data extraction system and method | |
US10503717B1 (en) | Method for locating data on a deduplicated storage system using a SSD cache index | |
US20170083537A1 (en) | Mapping logical identifiers using multiple identifier spaces | |
CN104965835A (zh) | 一种分布式文件系统的文件读写方法及装置 | |
CN106354587A (zh) | 镜像服务器以及导出虚拟机镜像文件的方法 | |
CN104050014A (zh) | 基于虚拟化平台的高效存储管理方法 | |
CN104050057A (zh) | 一种历史感知的数据去重碎片消除方法与系统 | |
CN104035822A (zh) | 一种低开销的高效内存去冗余方法及系统 | |
CN102257498B (zh) | 配置文件的注释生成方法及配置文件生成设备 | |
US10248677B1 (en) | Scaling an SSD index on a deduplicated storage system | |
CN102760212B (zh) | 一种基于存储镜像克隆机制虚拟桌面恶意代码检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |