CN106407226A - 一种数据处理方法、备份服务器及存储*** - Google Patents
一种数据处理方法、备份服务器及存储*** Download PDFInfo
- Publication number
- CN106407226A CN106407226A CN201510468057.9A CN201510468057A CN106407226A CN 106407226 A CN106407226 A CN 106407226A CN 201510468057 A CN201510468057 A CN 201510468057A CN 106407226 A CN106407226 A CN 106407226A
- Authority
- CN
- China
- Prior art keywords
- fingerprint
- index
- stored
- probability
- data 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.)
- Granted
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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Collating Specific Patterns (AREA)
- Measuring And Recording Apparatus For Diagnosis (AREA)
Abstract
本发明公开了一种数据处理方法、备份服务器及存储***,用于解决因指纹比对消耗大量I/O资源导致数据存储的效率较低的问题。该数据处理方法包括:根据指纹索引表中的索引指纹以及待存储数据块的指纹确定第一指纹集合;根据所述第一索引指纹获得第一指纹表中包含有与所述待存储数据块的指纹相同的指纹的第一概率,并根据所述第二索引指纹获得所述第二指纹表中包含有与所述待存储数据块的指纹相同的指纹的第二概率;根据所述第一概率和第二概率确定第二指纹集合;获得所述第一索引指纹所代表的多个指纹与所述待存储数据块的指纹的匹配结果。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种数据处理方法、备份服务器及存储***。
背景技术
在数据存储领域,重复数据删除技术是一种节约数据存储空间的关键技术,它可以检测并消除数据冗余,对相同的数据只留下一个副本,不仅可以较大地节约磁盘空间,而且能够提升数据的写入性能,以及节约网络带宽,被广泛应用于文件备份、在线存储服务、电子邮件服务等领域。
现有技术中,存储***中存储有指纹表,指纹表中保存有已存储在存储***中的数据的指纹。在接收到数据存储请求时,存储***将待存储数据块的指纹与指纹表中的指纹进行比对,以确定待存储数据块是否为重复数据,进而确定对待存储数据块的存储方式。
但是,将待存储数据块的指纹与指纹表中的指纹进行比对时,需要将指纹表中的指纹读取到备份服务器的内存中,由于指纹表中保存有海量的指纹,因此,在全部指纹表中进行指纹比对将产生大量的数据搬运,需要消耗大量的输入输出(英文:input/output;简称:I/O)资源,花费大量的时间,导致存储***存储数据的效率低下。
发明内容
本发明实施例提供一种数据处理方法、备份服务器及存储***,用于解决因指纹比对消耗大量I/O资源导致数据存储的效率较低的问题。
第一方面,本发明实施例提供一种数据处理方法,所述方法由存储***中的备份服务器执行,所述存储***中包括所述备份服务器以及多个存储器,所述存储***中存储有多个指纹表,所述多个指纹表中记录有已存储于所述多个存储器中的数据块的指纹,所述方法包括:
根据指纹索引表中的索引指纹以及待存储数据块的指纹确定第一指纹集合,其中,所述第一指纹集合中包含有第一索引指纹、第二索引指纹,所述第一索引指纹用于代表第一指纹表中的多个指纹,所述第二索引指纹用于代表第二指纹表中的多个指纹,所述待存储数据块的指纹属于所述第一索引指纹所代表的多个指纹以及所述第二索引指纹所代表的多个指纹的指纹范围;
根据所述第一索引指纹获得第一指纹表中包含有与所述待存储数据块的指纹相同的指纹的第一概率,并根据所述第二索引指纹获得所述第二指纹表中包含有与所述待存储数据块的指纹相同的指纹的第二概率,其中,所述第一概率是根据所述第一索引指纹代表的多个指纹确定的,所述第二概率是根据所述第二索引指纹代表的多个指纹确定的;
根据所述第一概率和第二概率确定第二指纹集合,其中,所述第二指纹集合中至少包含有所述第一索引指纹,根据所述第一索引指纹确定的第一概率不小于预设阈值;
获得所述第一索引指纹所代表的多个指纹与所述待存储数据块的指纹的匹配结果。
结合第一方面,在第一方面的第一种可能的实现方式中,所述第一指纹表存储在所述多个存储器中的第一存储器中,所述第二指纹表存储在所述多个存储器中的第二存储器中;所述根据所述第一索引指纹获得第一指纹表中包含有与所述待存储数据块的指纹相同的指纹的第一概率,包括:
将所述待存储数据块的指纹以及所述第一索引指纹发送至所述第一存储器;
接收所述第一存储器返回的所述第一概率,所述第一概率用于表示在所述第一索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的概率;
所述根据所述第二索引指纹获得所述第二指纹表中包含有与所述待存储数据块的指纹相同的指纹的第二概率,包括:
将所述待存储数据块的指纹以及所述第二索引指纹发送至所述第二存储器;
接收所述第二存储器返回的所述第一概率,所述第一概率用于表示在所述第二索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的概率。
结合第一方面,在第一方面的第二种可能的实现方式中,所述备份服务器包括辅助存储器,所述第一指纹表以及所述第二指纹表存储在所述辅助存储器中;
所述根据所述第一索引指纹获得第一指纹表中包含有与所述待存储数据块的指纹相同的指纹的第一概率,并根据所述第二索引指纹获得所述第二指纹表中包含有与所述待存储数据块的指纹相同的指纹的第二概率,包括:
将所述待存储数据块的指纹以及所述第一索引指纹、所述第二索引指纹发送至所述辅助存储器;
接收所述辅助存储器返回的在所述第一索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的所述第一概率,以及在所述第二索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的所述第二概率。
结合第一方面、第一方面的第一种可能的实现方式以及第一方面的第二种可能的实现方式中的任一项,在第一方面的第三种可能的实现方式中,所述第一指纹表中的每个指纹包含M位,每个M位指纹包含N个区间,所述N个区间中的每个区间包括M位中连续的S位,所述N个区间中任意两个区间不重叠,所述N个区间的位数之和为M,N为大于或者等于2的自然数,S为自然数;
所述存储***中存储有第一统计表,所述第一统计表包含有所述第一索引指纹所代表的多个指纹在所述N个区间的数值的统计信息,所述第一概率的确定方式包括:
根据所述第一统计表确定ai在所述第一索引指纹所代表的多个指纹的所述第i区间的数值中的出现频次ti,其中,ai为待存储数据块的指纹的第i个区间的数值,i的取值范围为1至N;
根据获得的t1至tN中的最小值确定所述第一概率。
结合第一方面、第一方面的第一种可能的实现方式以及第一方面的第二种可能的实现方式中的任一项,在第一方面的第四种可能的实现方式中,所述存储***中存储有第一统计表,所述第一统计表包含所述第一索引指纹所代表的多个指纹的第一区间的数值的统计信息,以及所述第一索引指纹所代表的多个指纹的第二区间的数值的统计信息,所述第一区间为各指纹的第h位至第i位的区间,所述第二区间为各指纹的第j位至第k位的区间,其中,h、i、j、k均为自然数,h的值不大于i的值,j的值不大于k的值,所述第一区间和所述第二区间不重叠;所述第一概率的确定方式包括:
根据所述第一统计表确定a在所述第一索引指纹所代表的多个指纹的所述第一区间的数值中的出现频次t1以及b在所述第一索引指纹所代表的多个指纹的所述第二区间的数值中出现的频次t2,其中,a为待存储数据块的指纹的第h位至第i位的数值,b为待存储数据块的指纹的第j位至第k位的数值;
根据所述t1和t2中的最小值确定所述第一概率。
第二方面,本发明实施例提供一种备份服务器,所述备份服务器应用于存储***中,所述存储***包括所述备份服务器以及多个存储器,所述存储***中存储有多个指纹表,所述多个指纹表中记录有已存储于所述多个存储器中的数据块的指纹,所述备份服务器包括:
确定模块,用于根据指纹索引表中的索引指纹以及待存储数据块的指纹确定第一指纹集合,其中,所述第一指纹集合中包含有第一索引指纹、第二索引指纹,所述第一索引指纹用于代表第一指纹表中的多个指纹,所述第二索引指纹用于代表第二指纹表中的多个指纹,所述待存储数据块的指纹属于所述第一索引指纹所代表的多个指纹以及所述第二索引指纹所代表的多个指纹的指纹范围;
获得模块,用于根据所述第一索引指纹获得第一指纹表中包含有与所述待存储数据块的指纹相同的指纹的第一概率,并根据所述第二索引指纹获得所述第二指纹表中包含有与所述待存储数据块的指纹相同的指纹的第二概率,其中,所述第一概率是根据所述第一索引指纹代表的多个指纹确定的,所述第二概率是根据所述第二索引指纹代表的多个指纹确定的;
所述确定模块,还用于根据所述第一概率和第二概率确定第二指纹集合,其中,所述第二指纹集合中至少包含有所述第一索引指纹,根据所述第一索引指纹确定的第一概率不小于预设阈值;
处理模块,用于获得所述第一索引指纹所代表的多个指纹与所述待存储数据块的指纹的匹配结果。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第一指纹表存储在所述多个存储器中的第一存储器中,所述第二指纹表存储在所述多个存储器中的第二存储器中;
所述获得模块具体用于:将所述待存储数据块的指纹以及所述第一索引指纹发送至所述第一存储器;并接收所述第一存储器返回的所述第一概率,所述第一概率用于表示在所述第一索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的概率;以及
将所述待存储数据块的指纹以及所述第二索引指纹发送至所述第二存储器;并接收所述第二存储器返回的所述第二概率,所述第二概率用于表示在所述第二索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的概率。
结合第二方面,在第二方面的第二种可能的实现方式中,所述备份服务器还包括:
辅助存储器,用于存储第一指纹表以及所述第二指纹表;
所述获得模块具体用于:将所述待存储数据块的指纹以及所述第一索引指纹、所述第二索引指纹发送至所述辅助存储器;接收所述辅助存储器返回的在所述第一索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的所述第一概率,以及在所述第二索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的所述第二概率。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第一指纹表中的每个指纹包含M位,每个M位指纹包含N个区间,所述N个区间中的每个区间包括M位中连续的S位,所述N个区间中任意两个区间不重叠,所述N个区间的位数之和为M,N为大于或者等于2的自然数,S为自然数;所述辅助存储器中还用于存储第一统计表,所述第一统计表包含所述第一索引指纹所代表的多个指纹的所述N个区间的数值的统计信息;
所述辅助存储器还用于:根据所述第一统计表确定ai在所述第一索引指纹所代表的多个指纹的所述第i区间的数值中的出现频次ti,其中,ai为待存储数据块的指纹的第i区间的数值,i的取值范围为1至N,并根据所t1至tN中的最小值确定所述第一概率。
结合第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,所述辅助存储器还用于存储第一统计表,所述第一统计表包含所述第一索引指纹所代表的多个指纹的第一区间的数值的统计信息,以及所述第一索引指纹所代表的多个指纹的第二区间的数值的统计信息,所述第一区间为各指纹的第h位至第i位的区间,所述第二区间为各指纹的第j位至第k位的区间,其中,h、i、j、k均为自然数,h的值不大于i的值,j的值不大于k的值,所述第一区间和所述第二区间不重叠;
所述辅助存储器还用于:根据所述第一统计表确定a在所述第一索引指纹所代表的多个指纹的所述第一区间的数值中的出现频次t1以及b在所述第一索引指纹所代表的多个指纹的所述第二区间的数值中出现的频次t2,其中,a为待存储数据块的指纹的第h位至第i位的数值,b为待存储数据块的指纹的第j位至第k位的数值;并根据所述t1和t2中的最小值确定所述第一概率。
第三方面,本发明实施例提供一种存储***,包括备份服务器以及多个存储器,所述存储***中存储有多个指纹表,所述多个指纹表中记录有已存储于所述多个存储器中的数据块的指纹;
所述备份服务器用于:
根据指纹索引表中的索引指纹以及待存储数据块的指纹确定第一指纹集合,其中,所述第一指纹集合中包含有第一索引指纹、第二索引指纹,所述第一索引指纹用于代表第一指纹表中的多个指纹,所述第二索引指纹用于代表第二指纹表中的多个指纹,所述待存储数据块的指纹属于所述第一索引指纹所代表的多个指纹以及所述第二索引指纹所代表的多个指纹的指纹范围;
根据所述第一索引指纹获得第一指纹表中包含有与所述待存储数据块的指纹相同的指纹的第一概率,并根据所述第二索引指纹获得所述第二指纹表中包含有与所述待存储数据块的指纹相同的指纹的第二概率,其中,所述第一概率是根据所述第一索引指纹代表的多个指纹确定的,所述第二概率是根据所述第二索引指纹代表的多个指纹确定的;
根据所述第一概率和第二概率确定第二指纹集合,其中,所述第二指纹集合中至少包含有所述第一索引指纹,根据所述第一索引指纹确定的第一概率不小于预设阈值;
获得所述第一索引指纹所代表的多个指纹与所述待存储数据块的指纹的匹配结果。
结合第三方面,在第三方面的第一种可能的实现方式中,所述第一指纹表存储在所述多个存储器中的第一存储器中,所述第二指纹表存储在所述多个存储器中的第二存储器中;所述备份服务器具体用于:
将所述待存储数据块的指纹以及所述第一索引指纹发送至所述第一存储器;以及接收所述第一存储器返回的所述第一概率,所述第一概率用于表示在所述第一索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的概率;
将所述待存储数据块的指纹以及所述第二索引指纹发送至所述第二存储器;以及接收所述第二存储器返回的所述第一概率,所述第一概率用于表示在所述第二索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的概率;
所述第一存储器具体用于:接收所述备份服务器发送的第一索引指纹以及所述待存储数据块的指纹,并确定在所述第一索引指纹代表的多个指纹中包含与所述待存储数据块的指纹相同的指纹的第一概率,并将所述第一概率发送至所述备份服务器;
所述第二存储器具体用于:接收所述备份服务器发送的第二索引指纹以及所述待存储数据块的指纹,并确定在所述第二索引指纹代表的多个指纹中包含与所述待存储数据块的指纹相同的指纹的第二概率,并将所述第二概率发送至所述备份服务器。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述第一指纹表中的每个指纹包含M位,每个M位指纹包含N个区间,所述N个区间中的每个区间包括M位中连续的S位,所述N个区间中任意两个区间不重叠,所述N个区间的位数之和为M,N为大于或者等于2的自然数,S为自然数;所述第一存储器上存储有第一统计表,所述第一统计表包含所述第一索引指纹所代表的多个指纹的所述N个区间的数值的统计信息;
所述第一存储器具体用于:根据所述第一统计表确定ai在所述第一索引指纹所代表的多个指纹的所述第i区间的数值中的出现频次ti,其中,ai为待存储数据块的指纹的第i区间的数值,i的取值范围为1至N;
根据所t1至tN中的最小值确定所述第一概率。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第三种可能的实现方式中,所述第一存储器上存储有第一统计表,所述第一统计表包含所述第一索引指纹所代表的多个指纹的第一区间的数值的统计信息,以及所述第一索引指纹所代表的多个指纹的第二区间的数值的统计信息,所述第一区间为各指纹的第h位至第i位的区间,所述第二区间为各指纹的第j位至第k位的区间,其中,h、i、j、k均为自然数,h的值不大于i的值,j的值不大于k的值,所述第一区间和所述第二区间不重叠;
所述第一存储器具体用于:
根据所述第一统计表确定a在所述第一索引指纹所代表的多个指纹的所述第一区间的数值中的出现频次t1以及b在所述第一索引指纹所代表的多个指纹的所述第二区间的数值中出现的频次t2,其中,a为待存储数据块的指纹的第h位至第i位的数值,b为待存储数据块的指纹的第j位至第k位的数值;
根据所述t1和t2中的最小值确定所述第一概率。
本发明实施例中,备份服务器首先根据指纹索引表中的索引指纹以及待存储数据块的指纹确定出可能包含有待存储数据块的指纹的第一指纹集合。然后,备份服务器根据所述第一指纹集合中的第一索引指纹获得第一指纹表中包含有与所述待存储数据块的指纹相同的指纹的第一概率,并根据所述第一指纹集合中的第二索引指纹获得第二指纹表中包含有与所述待存储数据块的指纹相同的指纹的第二概率。再根据获得的第一概率和第二概率中大于预设阈值的概率确定第二指纹集合,并将所述第二指纹集合中的索引指纹所代表的多个指纹与所述待存储数据块的指纹进行匹配,以获得匹配结果。通过本发明实施例提供的数据处理方法,在指纹匹配过程中,可以只将待存储数据块的指纹与获得的第二指纹集合中的索引指纹所代表的多个指纹进行匹配,而无需将待存储数据块的指纹与指纹库中的所有数据的指纹进行匹配,减少了指纹比对过程中数据的搬运量,提高了数据处理的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例的附图。
图1为本发明实施例提供的一种存储***的结构示意图;
图2为本发明实施例提供的一种指纹表的示意图;
图3为本发明实施例提供的一种数据处理方法的流程示意图;
图4为本发明实施例提供的一种存储***的结构示意框图;
图5为本发明实施例提供的一种指纹索引表的示意图;
图6为本发明实施例提供的一种指纹表的索引指纹的示意图;
图7为本发明实施例提供的又一种存储***的结构示意框图;
图8为本发明实施例提供的一种统计表的实现方式的示意图;
图9为本发明实施例提供的又一种统计表的实现方式的示意图;
图10为本发明实施例提供的一种备份服务器的结构示意框图。
具体实施方式
针对存储***在进行指纹比对时消耗大量I/O资源,导致数据存储的效率较低的问题,本发明实施例提供一种数据处理方法、备份服务器及存储***。下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
为了便于理解本发明实施例提供的技术方案,下面首先介绍本发明实施例的一种应用场景。如图1所示,图1为本发明实施例提供的一种存储***的结构示意图。存储***10包括备份服务器11和多个存储器12,其中,存储器12用于存储数据,备份服务器11用于确定待存储数据块是否为重复数据,以及调度存储器12对待存储数据块进行存储。存储***10中存储有指纹(英文:Fingerprint;简称:FP)表,图2为指纹表的示意图,指纹表中保存有存储在存储器12的数据的指纹以及该数据的的存储位置。
存储***10在接收到存储数据的请求后,备份服务器11将待存储数据块的指纹与指纹表中的指纹进行比对,如果在指纹表中检索到与待存储数据块的指纹相同的指纹,则表明待存储数据块为重复数据,存储***不用再存储该数据块,只需更新其引用关系;反之,如果在指纹表中没有检索到与待存储数据块的指纹相同的指纹,则表明待存储数据块为新数据,存储***将分配存储空间存储该数据块。
下面结合附图重点介绍本发明实施例提供的用于指纹比对的技术方案。
图3为本发明实施例提供的数据处理方法的流程示意图,该方法可以包括:
步骤101:根据指纹索引表中的索引指纹以及待存储数据块的指纹确定第一指纹集合,其中,第一指纹集合中包含有第一索引指纹、第二索引指纹,第一索引指纹用于代表第一指纹表中的多个指纹,第二索引指纹用于代表第二指纹表中的多个指纹,待存储数据块的指纹属于第一索引指纹所代表的多个指纹以及第二索引指纹所代表的多个指纹的指纹范围;
步骤102:根据第一索引指纹获得第一指纹表中包含有与待存储数据块的指纹相同的指纹的第一概率,并根据第二索引指纹获得第二指纹表中包含有与待存储数据块的指纹相同的指纹的第二概率,其中,第一概率是根据第一索引指纹代表的多个指纹确定的,第二概率是根据第二索引指纹代表的多个指纹确定的;
步骤103:根据第一概率和第二概率确定第二指纹集合,其中,第二指纹集合中至少包含有第一索引指纹,根据第一索引指纹确定的第一概率不小于预设阈值;
步骤104:获得第一索引指纹所代表的多个指纹与待存储数据块的指纹的匹配结果。
本发明实施例中,步骤101~步骤104对应的数据处理方法可以有至少两种实施方式,下面分别予以介绍。
实施方式1
图4为实施方式1对应的存储***20的结构示意图,存储***20包括:备份服务器21以及多个存储器22。在实施方式1中,步骤101~步骤104由备份服务器21来执行。
其中,备份服务器21包括:处理器211、内存212、以及辅助存储器213,辅助存储器213包括处理单元214,因此,辅助存储器213具有运算能力。存储***中的指纹表存储在辅助存储器213中,实际情况中,辅助存储器213的数量可以为1个,也可以为2个或以上。备份服务器21中存储有指纹索引表,指纹索引表具体可以存放在内存212之中,也可以存放在辅助存储器213之中,或者是备份服务器21的其它存储单元之中。
图5为指纹索引表的示意图,指纹索引表中保存有每个指纹表的至少两个索引指纹,每个索引指纹代表一个指纹表中的多个指纹,每个指纹表的所有索引指纹所代表的指纹之和即为该指纹表所包含的所有指纹。图5中的Ti表示第i指纹表,Li表示指纹表的第i索引指纹,例如,FP14为第1指纹表的第2索引指纹,其代表第1指纹表中中的FP14至FP17间(不包括FP17)的指纹,具体为FP14、FP15、FP16。
实际情况中,每个指纹表中指纹可以根据指纹大小进行排列,图6为指纹表1对应的索引指纹的示意图,图6中的指纹FP1至FP9依次增大,可以将指纹表1的指纹分为FP1~FP3、FP4~FP6、FP7~FP9这3个部分,以FP1、FP4、FP7作为该指纹表的3个索引指纹,索引指纹表中的FP1代表指纹表中的FP1~FP3,索引指纹表中的FP4代表指纹表中的FP4~FP6,索引指纹表中的FP7代表指纹表中的FP7~FP9。由于FP1至FP9的指纹大小依次增大,所以索引指纹表中的FP1、FP4、FP7各自代表的多个指纹的指纹范围不重叠。
本发明实施例中,从索引指纹表中可以确定出每个索引指纹所代表的多个指纹的指纹范围,其实现方式可以为:其一,以指纹表中连续的多个指纹中的第一个指纹作为这部分指纹的索引指纹,可以根据指纹表对应的索引指纹中相邻的两个索引指纹确定出在前索引指纹代表的多个指纹的指纹范围,沿用图6的指纹表1,根据相连的索引指纹的FP1、FP4可以确定FP1代表的多个指纹的指纹范围为[FP1,FP4)。其二,索引指纹表中包含指纹范围属性,针对每个索引指纹保存其所代表的多个指纹的指纹范围。
步骤101中,备份服务器21的处理器211根据待存储数据块的指纹的大小,从指纹索引表确定出所代表的多个指纹的指纹范围包括待存储数据块的指纹的索引指纹,确定出的索引指纹的集合为第一指纹集合。
为了便于描述,本发明实施例中以第一指纹表、第二指纹表为例进行说明,但不能以此限定本发明实施例中存储***中只包含有第一指纹表和第二指纹表,也不能限定本发明实施例中仅对指纹索引表中第一指纹表和第二指纹表对应的索引指纹进行步骤101的操作。实际情况中,针对每个指纹表对应的索引指纹均进行步骤101操作,由于每个指纹表的多个索引指纹各自对应的指纹范围不重叠,所以,针对每个指纹表,从其对应的多个索引指纹中至多可以确定出一个索引指纹。
然后,执行步骤102,备份服务器21确定出每个指纹表中包含与待存储数据块相同指纹的概率,由于步骤101中已经从每个指纹表中确定出对应的指纹范围包括待存储数据块的索引指纹,则该指纹表的其它索引指纹所代表的指纹中一定不包含待存储数据块的指纹,因此,第一指纹表中包含与待存储数据块相同指纹的概率,实质为步骤101中确定出的第一索引指纹代表的多个指纹中包含与待存储数据块相同指纹的概率,同理,第二指纹表中包含与待存储数据块相同指纹的概率,实质为步骤101中确定出的第二索引指纹代表的多个指纹中包含与待存储数据块相同指纹的概率。
具体实施时,处理器211将待存储数据块的指纹以及第一指纹集合中的索引指纹发送至辅助存储器213,由辅助存储器213通过其处理单元214确定从第一指纹集合中的每个索引指纹所代表的多个指纹中检索到待存储数据块的指纹的概率,然后,辅助存储器213将确定出的概率值返回给处理器211。其中,辅助存储器213具体可以根据接收的索引指纹所代表的多个指纹的统计信息(如指纹在待存储数据块的指纹的数值附近的分布信息、指纹的值在各指纹维度下的频次统计信息,等等)来确定在索引指纹所代表的多个指纹中包含与待存储数据块的指纹相同的指纹的概率。
在备份服务器21包括两个或以上的辅助存储器213时,处理器可以只向辅助存储器213发送第一指纹集合中与该辅助存储器保存的指纹表相关的索引指纹。例如,备份服务器21包括第一辅助存储器和第二辅助存储器,其中,第一辅助存储器保存有第一指纹表,第二辅助存储器保存有第二指纹表,处理器211将待存储数据块的指纹以及第一索引指纹发送至第一辅助存储器,将待存储数据块的指纹以及第二索引指纹发送至第二辅助存储器。第一辅助存储器通过其处理单元确定出第一概率,并返回给处理器211;第二辅助存储器通过其处理单元确定出第二概率,并返回给处理器211。
然后,执行步骤103,备份服务器21根据接收到的从每个指纹表中检索到待存储数据块的指纹的概率,确定出第二指纹集合,第二指纹集合中包含第一指纹集合中满足预设条件的索引指纹,该预设条件为:在索引指纹代表的多个指纹中检索到待存储数据块的指纹的概率(即:步骤102中确定出的,存储该索引指纹代表的多个指纹的指纹表中包括与待存储数据块的指纹的指纹相同的指纹的概率)大于预设阈值。其中,预设阈值的值可以为0,即从第一指纹集合中剔除一部分索引指纹形成第二指纹集合,被剔除的索引指纹为在其代表的多个指纹中检索到待存储数据块的概率为0的这部分索引指纹。
例如,不妨设辅助存储器213返回给处理器211的在第二索引指纹代表的多个指纹中检索到待存储数据块的指纹的第二概率小于预设阈值,而在第一索引指纹代表的多个指纹中检索到待存储数据块的指纹的第一概率大于预设阈值,则第一索引指纹包含在第二指纹集合之中,而第二索引指纹没有包含在第二指纹集合之中。
然后,执行步骤104,备份服务器21在第二指纹集合中的索引指纹代表的多个指纹中进行指纹比对,获得指纹比对结果,以此确定待存储数据块是否为重复数据。具体实施时,包括两种实现方式:其一,处理器211将辅助存储器213中保存的指纹表中的第二指纹集合中的索引指纹所代表的多个指纹读取到内存212中,然后在内存212中进行指纹的比对。其二,由辅助存储器213通过自身包含的处理单元214完成指纹的比对,即辅助存储器213通过自身的处理单元214将自身存储的指纹表中的、第二指纹集合中的索引指纹所代表的多个指纹读取到辅助存储器213的缓冲器中,进行指纹比对。其中,辅助存储器213的缓冲器可以是随机存储器(英语:Random Access Memory;简称:RAM),也可以为高速缓存(Cache)。由于通过辅助存储器213进行指纹比对时,无需进行数据的外部搬运,能够减少因数据搬运而产生的耗时。
实际情况中,步骤103中的预设阈值也可以为大于0的概率值,备份服务器21首先在根据大于0的预设阈值确定出的第二指纹集合中的索引指纹所代表的多个指纹中进行指纹比对,如果比对结果无法确认待存储数据块是否为重复数据,则备份服务器21在对应的概率值在(0,预设阈值)之间的索引指纹所代表的多个指纹中进行指纹比对。即,备份服务器先在概率较大的索引指纹代表的多个指纹中进行指纹比对,在比对结果无法确认待存储数据块的重复性时,再在概率较小的索引指纹代表的多个指纹中进行指纹比对,能够有效减少指纹比对的耗时。
指纹比对的另一种实现方式为:步骤103中预设阈值的值为0,确定对应的概率值大于0的索引指纹为第二指纹集合的元素,然后,备份服务器21可以对第二指纹集合中的索引指纹按其对应的概率值进行排序,处理器211在将第二指纹集合中的索引指纹代表的多个指纹读取到内存进行指纹检索时,根据索引指纹的概率值排序确定指纹读取的顺序。即,首先读取对应的概率值最大的索引指纹所代表的多个指纹,在无法根据这部分指纹确定待存储指纹是否为重复数据后,再将概率值排在第二位的索引指纹代表的多个指纹读取到内存进行指纹比对。以此类推,直至检索到与待存储数据块的指纹相同的指纹;或者,确定在所有的概率值大于0的索引指纹所代表的多个指纹中均没有包含与待存储数据块的指纹相同的指纹。前一种情况表明待存储数据块为重复数据,后一种情况表明待存储数据块为新数据。
上述技术方案中,备份服务器21通过指纹索引表在每个指纹表中确定出一个索引指纹代表的多个指纹,该索引指纹代表的多个指纹的指纹范围包括待存储数据块的指纹的多个指纹,然后基于从每个指纹表中确定出的多个指纹进行下一步的指纹比对操作,减少了指纹搬运的工作量。不仅如此,针对每个指纹表计算在其(确定出的多个指纹)中检索到待存储数据块的指纹的概率,然后在概率不小于预设阈值的指纹表的确定出的多个指纹中进行指纹比对,减少指纹比对时指纹的搬运量,减少指纹比对的耗时,提高存储数据的效率。
实施方式2
图7为实施方式2对应的存储***30的结构示意图,存储***30包括:备份服务器31以及多个存储器32。在实施方式2中,步骤101~步骤104由备份服务器31来执行。
其中,存储器32用于存储数据块以及指纹表,指纹表的形式可以参照图5,存储器32存储的指纹表可以由存储在该存储器上的数据块对应的指纹信息所形成,存储器32存储的指纹表也可以与存储器32自身存储的数据块无关的其他数据块的指纹信息。备份服务器31包括处理器311以及内存312。备份服务器31中存储有指纹索引表,指纹索引表具体可以存放在内存312之中,也可以存放在备份服务器31的其它存储单元之中。
步骤101中,处理器311确定第一指纹集合的方式与前述处理器211确定第一指纹集合的方式相同,本发明实施例不予重复。
然后,备份服务器31执行步骤102,获得在每个指纹表(对应的属于第一指纹集合的索引指纹代表的多个指纹)中检索到待存储数据块的指纹的概率。具体实现方式包括:其一,存储有指纹表的存储器32包含处理单元321,与备份服务器21获得概率值类似,备份服务器31可以将待存储数据块的指纹以及第一指纹集合中的索引指纹发送至存储器32,存储器32通过自身的处理单元321以及自身保存的指纹统计信息确定出上述概率值,然后将该概率值发送至备份服务器31。其二,处理器311将存储在存储器32上的指纹的统计信息读取到内存312中,处理器311自己根据存入内存312的统计信息确定上述概率值。
然后,备份服务器31执行步骤103,其实现方式与前述备份服务器21执行步骤103一致。
然后,备份服务器31执行步骤104,获得在第二指纹集合的索引指纹代表的多个指纹中对待存储数据块的指纹进行比对的结果。与前述备份服务器21执行步骤104类似,备份服务器31可以通过处理器311将存储在存储器32上的第二指纹集合中的索引指纹代表的多个指纹读取到内存中进行指纹比对,即指纹比对的工作由备份服务器31自己完成。此外,备份服务器31获得指纹比对结果的另一种方式为:备份服务器31将第二指纹集合中的索引指纹以及待存储数据块的指纹发送给存储器32,由存储器32通过自身的处理单元321在存储器32本地进行指纹比对,这种方式能够减少数据的搬运,而且多个存储器32之间能够以并行的方式进行指纹比对,能够提高指纹比对的效率。
根据步骤103~步骤104进行指纹比对的一种实现方式为:步骤103中预设阈值的值为0,确定对应的概率值大于0的索引指纹为第二指纹集合的元素,然后,备份服务器31可以对第二指纹集合中的索引指纹按其对应的概率值进行排序,处理器311在将第二指纹集合中的索引指纹代表的多个指纹读取到内存进行指纹检索时,根据索引指纹的概率值排序确定指纹读取的顺序。即,首先读取对应的概率值最大的索引指纹所代表的多个指纹,在无法根据这部分指纹确定待存储指纹是否为重复数据后,再将概率值排在第二位的索引指纹代表的多个指纹读取到内存进行指纹比对。以此类推,直至检索到与待存储数据块的指纹相同的指纹;或者,确定在所有的概率值大于0的索引指纹所代表的多个指纹中均没有包含与待存储数据块的指纹相同的指纹。前一种情况表明待存储数据块为重复数据,后一种情况表明待存储数据块为新数据。
上述步骤101~步骤104的两种实现方式中,在指纹匹配过程中,可以只将待存储数据块的指纹与获得的第二指纹集合中的索引指纹所代表的多个指纹进行匹配,而无需将待存储数据块的指纹与指纹库中的所有数据的指纹进行匹配,减少了指纹比对过程中数据的搬运量,提高了数据处理的效率。
可选的,在存储***20中的备份服务器21包含2个或以上的辅助存储器213时,指纹索引表中还可以包含第一索引指纹所属的第一指纹表的位置信息,即第一指纹表保存在哪个辅助存储器中的信息,备份服务器21执行步骤102时,处理器211只需根据第一索引指纹对应的位置信息定位出存储第一指纹表的辅助存储器,对应将第一索引指纹和待存储数据块的指纹发送至该辅助存储器,以使该辅助存储器确定在第一指纹表中包括待存储数据块的指纹相同的指纹的概率。
可选的,在存储***30中,指纹索引表中还可以包含第一索引指纹所属的第一指纹表的位置信息,即保存有第一指纹表的第一存储器的标识,备份服务器31执行步骤102时,处理器311只需根据第一索引指纹对应的位置信息定位出第一存储器,对应将第一索引指纹和待存储数据块的指纹发送至第一存储器,以使第一存储器确定在第一指纹表中包括待存储数据块的指纹相同的指纹的概率。
在一种情况下,第一指纹表存储在多个存储器中的第一存储器中,第二指纹表存储在多个存储器中的第二存储器中。
步骤102中,根据第一索引指纹获得第一指纹表中包含有与待存储数据块的指纹相同的指纹的第一概率,实施时包括如下步骤:
将待存储数据块的指纹以及第一索引指纹发送至第一存储器;
接收第一存储器返回的第一概率,第一概率用于表示在第一索引指纹所代表的多个指纹中包含有与待存储数据块的指纹相同的指纹的概率。
在步骤102中,根据第二索引指纹获得第二指纹表中包含有与待存储数据块的指纹相同的指纹的第二概率,实施时包括如下步骤:将待存储数据块的指纹以及第二索引指纹发送至第二存储器;接收第二存储器返回的第二概率,第二概率用于表示在第二索引指纹所代表的多个指纹中包含有与待存储数据块的指纹相同的指纹的概率。
具体的,上述方式对应前述实施方式2中备份服务器31执行步骤102的情形,第一存储器以及第二存储器为两个存储器32,能够根据自身包含的处理单元321进行指纹比对。其具体实施方式在实施方式2中已经有详细描述,在此不再重复。
在另一种情况下,备份服务器包括辅助存储器,第一指纹表以及第二指纹表存储在辅助存储器中。
在步骤102中:根据第一索引指纹获得第一指纹表中包含有与待存储数据块的指纹相同的指纹的第一概率,并根据第二索引指纹获得第二指纹表中包含有与待存储数据块的指纹相同的指纹的第二概率,实施时包括如下步骤:
将待存储数据块的指纹以及第一索引指纹、第二索引指纹发送至辅助存储器;接收辅助存储器返回的在第一索引指纹所代表的多个指纹中包含有与待存储数据块的指纹相同的指纹的第一概率,以及在第二索引指纹所代表的多个指纹中包含有与待存储数据块的指纹相同的指纹的第二概率。
具体的,上述方式对应前述实施方式1中备份服务器21执行步骤102的情形,本实施例中的辅助存储器即为实施方式1中的辅助存储器213,能够根据自身包含的处理单元214进行指纹比对。其具体实施方式在实施方式1中已经有详细描述,在此不再重复。
可选的,本发明实施例中,第一指纹表中的每个指纹包含M位,每个M位指纹包含N个区间,N个区间中的每个区间包括M位中连续的S位,N个区间中任意两个区间不重叠,N个区间的位数之和为M,N为大于或者等于2的自然数,S为自然数。通过上述设定,可以将指纹表中的每个指纹划分为N个区间,每个区间相当于一个指纹维度。例如,64比特(bit)的指纹可以划分为4维16bit的数值组成,即1bit~16bit为第一维,17bit~32bit为第二维,33bit~48bit为第三维,49bit~64bit为第四维。实际情况中,不限定每一维数值所占的比特数,也不限定所有维度所占的比特数均相同。
存储***中存储有第一统计表,第一统计表包含有第一索引指纹所代表的多个指纹在N个区间的数值的统计信息。图8为一种第一统计表的示意图,不妨设第一索引指纹所代表的3个指纹分别为01020504H、01030504H、02030102H,每个指纹划分为4维,以01025004H为例,其四个指纹维度的值分别为1、2、5、4。第一统计表记录了每个维度中可能的数值在第一索引指纹所代表的多个指纹中相应维度中的出现频次,例如,数值“1”在第一维中出现的频次2,数值“2”在第一维中出现的频次1,数值“3”、“4”、“5”在第一维中出现的频次均为0。
第一概率的确定方式包括:根据第一统计表确定ai在第一索引指纹所代表的多个指纹的第i区间的数值中的出现频次ti,其中,ai为待存储数据块的指纹的第i个区间的数值,i的取值范围为1至N;根据获得的t1至tN中的最小值确定第一概率。
具体的,在前述存储***20中,第一统计表可以存储在保存第一指纹表的辅助存储器213上,第一概率由该辅助存储器213通过自身的处理单元214所确定。例如,不妨设待存储数据块的指纹为01020404H,该指纹在四个指纹维度中的数值分别为1、2、4、4。计算在图5所示的表块中检索到该待检索指纹的概率指标的方式为:在表中第一维度中查找数值1的频次为2,在第二维度查找数值2的频次为1,在第三维度查找数值4的频次为0,在第四维度中查找数值4的频次为2,则概率指标为频次中的最小值0。
在前述存储***30中,第一统计表可以存储在保存第一指纹表的存储器32中,第一概率由该存储器通过其处理单元321所确定,具体确定方法与上述处理单元214根据第一统计表确定第一概率的方式相同。
实际情况中,第二概率也可以采用上述方式,利用指纹的统计表来进行确定,本发明实施例在此不再重复。
上述技术方案中,通过第一统计表来确定在第一索引指纹代表的多个指纹中检索到待存储数据块的指纹的第一概率,其实现方式简单,运算量小,耗时较少,且结果准确。
可选的,作为另一实施例,存储***中存储有第一统计表,图9为另一种第一统计表的示意图,第一统计表包含第一索引指纹所代表的多个指纹的第一区间的数值的统计信息,以及第一索引指纹所代表的多个指纹的第二区间的数值的统计信息,第一区间为各指纹的第h位至第i位的区间,第二区间为各指纹的第j位至第k位的区间,其中,h、i、j、k均为自然数,h的值不大于i的值,j的值不大于k的值,第一区间和第二区间不重叠。
第一概率的确定方式包括:根据第一统计表确定a在第一索引指纹所代表的多个指纹的第一区间的数值中的出现频次t1以及b在第一索引指纹所代表的多个指纹的第二区间的数值中出现的频次t2,其中,a为待存储数据块的指纹的第h位至第i位的数值,b为待存储数据块的指纹的第j位至第k位的数值;根据t1和t2中的最小值确定第一概率。
实际情况中,确定第一概率的作用主要为从第一指纹集合中排除一部分索引指纹,这些被排除的索引指纹代表的多个指纹中包含与待存储数据块的指纹相同的指纹的概率为0。本发明实施例中,参照图9,第一统计表中只包含指纹的部分维度的统计信息,沿用第一索引指纹代表01020504H、01030504H、02030102H这3个指纹的例子,第一统计表中可以只保存第一维以及第三维的统计信息,不妨设待存储数据块的指纹为01020404H,其第三维为“4”,根据图9的第一统计表可以确定在第三维出现“4”的频次为0,表明在第一索引指纹代表的多个指纹中不包含待存储数据块的指纹。同理,本实施例中的第一统计表可以保存在存储***20的辅助存储器213之中,则第一概率由辅助存储器213根据其自身的处理单元214所确定。第一统计表也可以保存在存储***30中的存储器32之中,则第一概率由存储器32自身的处理单元321所确定。
上述技术方案中,通过指纹的部分维度的统计信息来确定在第一索引指纹代表的多个指纹中检索到待存储数据块的指纹的第一概率,以从第一指纹集合中剔除部分对应的概率值为0的索引指纹,减少指纹比对时的数据搬运量,而且其实现方式简单,运算量小,耗时较少。
可选的,作为另一实施例,在第一指纹集合为空集合时,备份服务器21或备份服务器31确定待存储数据块为新数据。
可选的,作为另一实施例,在预设阈值为0时,在第二指纹集合为空集合时,备份服务器21或备份服务器31确定待存储数据块为新数据。
可选的,作为另一实施例,备份服务器在执行步骤101之前,还包括如下步骤:对待存储数据块的指纹进行指纹过滤,并确定通过指纹过滤无法判断待存储数据块的指纹是否为重复指纹。
具体的,备份服务器在从指纹表中检索待存储数据块的指纹之前,可以根据指纹过滤技术对待检索指纹进行预判,预判的结果包括三种,其一,确定指纹表中存在待存储数据块的指纹,待存储数据块为重复数据;其二,确定指纹表中不包含待存储数据块的指纹,待存储数据块为新数据;其三,无法断言指纹表中是否包含待存储数据块的指纹,只有在这种情况下,备份服务器才执行步骤101~步骤104。
具体实施时,可以采用布隆过滤器(Bloom Filter),或者局部性保持(英文:Locality Preserved Caching;简称:LPC)技术等指纹过滤技术,也可以采用两种或以上的指纹过滤技术的结合,例如,先采用布隆过滤器对指纹进行过滤,如果布隆过滤器无法判断待存储数据块的指纹是否为重复指纹,则进一步采用LPC技术进行过滤。指纹过滤技术的具体实现方式请参照现有技术,本发明实施例不予详述。
上述技术方案中备份服务器先通过指纹过滤技术对待存储数据块的指纹进行预判,只有在不能预判待检索指纹的情况下,才执行步骤101~步骤104。通过指纹过滤技术能够大幅缩短部分指纹的比对耗时,提高备份服务器的性能。
可选的,在存储***20中,指纹表的维护方式可以为:在内存212中实时创建新的指纹表,当确定出当前存储的指纹表中不包含待存储数据块的指纹时,确定待存储数据块为新数据,并将其指纹添加到内存实施创建的指纹表中,当内存中的指纹表的指纹数达到设定值后,将该指纹表存到辅助存储器213上。另外,将该指纹表对应的每个索引指纹添加到索引指纹表之中。再者,将该指纹表对应的每个索引指纹对应的多个指纹的维度值的统计表存到辅助存储器213上。
在采用上述方式维护指纹表时,备份服务器在进行指纹比对时,首先在内存中在创建的指纹表中进行比对,比对结果不能确定待存储数据块是否为重复指纹时,才执行步骤101~步骤104,在存储在内存之外的指纹表中进行指纹比对。
可选的,在存储***30中,指纹表的维护方式可以为:在确定待存储数据块为新数据时,在保存该数据块的存储器32的指纹表中添加该数据块的指纹,然后,更新该指纹表的统计表。
需要说明的是,以上处理器211、处理器311、处理单元214以及处理单元321,可以是一个独立的处理器,也可以是多个处理元件的统称。例如,处理器211、处理器311、处理单元214以及处理单元321可以是中央处理器(英文:Central Processing Unit;简称:CPU),也可以是特定集成电路(英文:Application Specific Intergrated Circuit;简称:ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个微处理器(英文:digitalsingnal processor;简称:DSP),或,一个或者多个现场可编程门阵列(英文:Field Programmable Gate Array;简称:FPGA)。
基于相同的发明构思,本发明实施例提供一种备份服务器40,应用于存储***中,该存储***包括备份服务器以及多个存储器,存储***中存储有多个指纹表,多个指纹表中记录有已存储于多个存储器中的数据块的指纹。图10为备份服务器40的结构示意框图,备份服务器40包括:
确定模块41,用于根据指纹索引表中的索引指纹以及待存储数据块的指纹确定第一指纹集合,其中,第一指纹集合中包含有第一索引指纹、第二索引指纹,第一索引指纹用于代表第一指纹表中的多个指纹,第二索引指纹用于代表第二指纹表中的多个指纹,待存储数据块的指纹属于第一索引指纹所代表的多个指纹以及第二索引指纹所代表的多个指纹的指纹范围;
获得模块42,用于根据第一索引指纹获得第一指纹表中包含有与待存储数据块的指纹相同的指纹的第一概率,并根据第二索引指纹获得第二指纹表中包含有与待存储数据块的指纹相同的指纹的第二概率,其中,第一概率是根据第一索引指纹代表的多个指纹确定的,第二概率是根据第二索引指纹代表的多个指纹确定的;
确定模块41,还用于根据第一概率和第二概率确定第二指纹集合,其中,第二指纹集合中至少包含有第一索引指纹,根据第一索引指纹确定的第一概率不小于预设阈值;
处理模块43,用于获得第一索引指纹所代表的多个指纹与待存储数据块的指纹的匹配结果。
可选的,本发明实施例中,第一指纹表存储在多个存储器中的第一存储器中,第二指纹表存储在多个存储器中的第二存储器中;
获得模块42具体用于:将待存储数据块的指纹以及第一索引指纹发送至第一存储器;并接收第一存储器返回的第一概率,第一概率用于表示在第一索引指纹所代表的多个指纹中包含有与待存储数据块的指纹相同的指纹的概率;以及
将待存储数据块的指纹以及第二索引指纹发送至第二存储器;并接收第二存储器返回的第二概率,第二概率用于表示在第二索引指纹所代表的多个指纹中包含有与待存储数据块的指纹相同的指纹的概率。
可选的,本发明实施例中,备份服务器40还包括:
辅助存储器,用于存储第一指纹表以及第二指纹表;
获得模块42具体用于:将待存储数据块的指纹以及第一索引指纹、第二索引指纹发送至辅助存储器;接收辅助存储器返回的在第一索引指纹所代表的多个指纹中包含有与待存储数据块的指纹相同的指纹的第一概率,以及在第二索引指纹所代表的多个指纹中包含有与待存储数据块的指纹相同的指纹的第二概率。
可选的,本发明实施例中,辅助存储器还用于存储第一统计表,第一统计表包含第一索引指纹所代表的多个指纹的第一区间的数值的统计信息,以及第一索引指纹所代表的多个指纹的第二区间的数值的统计信息,第一区间为各指纹的第h位至第i位的区间,第二区间为各指纹的第j位至第k位的区间,其中,h、i、j、k均为自然数,h的值不大于i的值,j的值不大于k的值,第一区间和第二区间不重叠;
辅助存储器还用于:根据第一统计表确定a在第一索引指纹所代表的多个指纹的第一区间的数值中的出现频次t1以及b在第一索引指纹所代表的多个指纹的第二区间的数值中出现的频次t2,其中,a为待存储数据块的指纹的第h位至第i位的数值,b为待存储数据块的指纹的第j位至第k位的数值;并根据t1和t2中的最小值确定第一概率。
可选的,本发明实施例中,第一指纹表中的每个指纹包含M位,每个M位指纹包含N个区间,N个区间中的每个区间包括M位中连续的S位,N个区间中任意两个区间不重叠,N个区间的位数之和为M,N为大于或者等于2的自然数,S为自然数;辅助存储器中还用于存储第一统计表,第一统计表包含第一索引指纹所代表的多个指纹的N个区间的数值的统计信息;
辅助存储器还用于:根据第一统计表确定ai在第一索引指纹所代表的多个指纹的第i区间的数值中的出现频次ti,其中,ai为待存储数据块的指纹的第i区间的数值,i的取值范围为1至N,并根据所t1至tN中的最小值确定第一概率。
本实施例中的备份服务器40与图3对应的数据处理方法是基于同一发明构思下的两个方面,在前面已经对方法的实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施例中的备份服务器的40结构及实施过程,为了说明书的简洁,在此就不再赘述了。
基于相同的发明构思,本发明实施例中提供一种存储***,包括备份服务器以及多个存储器,存储***中存储有多个指纹表,多个指纹表中记录有已存储于多个存储器中的数据块的指纹。
该备份服务器用于:
根据指纹索引表中的索引指纹以及待存储数据块的指纹确定第一指纹集合,其中,第一指纹集合中包含有第一索引指纹、第二索引指纹,第一索引指纹用于代表第一指纹表中的多个指纹,第二索引指纹用于代表第二指纹表中的多个指纹,待存储数据块的指纹属于第一索引指纹所代表的多个指纹以及第二索引指纹所代表的多个指纹的指纹范围;
根据第一索引指纹获得第一指纹表中包含有与待存储数据块的指纹相同的指纹的第一概率,并根据第二索引指纹获得第二指纹表中包含有与待存储数据块的指纹相同的指纹的第二概率,其中,第一概率是根据第一索引指纹代表的多个指纹确定的,第二概率是根据第二索引指纹代表的多个指纹确定的;
根据第一概率和第二概率确定第二指纹集合,其中,第二指纹集合中至少包含有第一索引指纹,根据第一索引指纹确定的第一概率不小于预设阈值;
获得第一索引指纹所代表的多个指纹与待存储数据块的指纹的匹配结果。
可选的,本发明实施例中,第一指纹表存储在多个存储器中的第一存储器中,第二指纹表存储在多个存储器中的第二存储器中;备份服务器具体用于:
将待存储数据块的指纹以及第一索引指纹发送至第一存储器;以及接收第一存储器返回的第一概率,第一概率用于表示在第一索引指纹所代表的多个指纹中包含有与待存储数据块的指纹相同的指纹的概率;
将待存储数据块的指纹以及第二索引指纹发送至第二存储器;以及接收第二存储器返回的第一概率,第一概率用于表示在第二索引指纹所代表的多个指纹中包含有与待存储数据块的指纹相同的指纹的概率;
第一存储器具体用于:接收备份服务器发送的第一索引指纹以及待存储数据块的指纹,并确定在第一索引指纹代表的多个指纹中包含与待存储数据块的指纹相同的指纹的第一概率,并将第一概率发送至备份服务器;
第二存储器具体用于:接收备份服务器发送的第二索引指纹以及待存储数据块的指纹,并确定在第二索引指纹代表的多个指纹中包含与待存储数据块的指纹相同的指纹的第二概率,并将第二概率发送至备份服务器。
可选的,本发明实施例中,第一存储器上存储有第一统计表,第一统计表包含第一索引指纹所代表的多个指纹的第一区间的数值的统计信息,以及第一索引指纹所代表的多个指纹的第二区间的数值的统计信息,第一区间为各指纹的第h位至第i位的区间,第二区间为各指纹的第j位至第k位的区间,其中,h、i、j、k均为自然数,h的值不大于i的值,j的值不大于k的值,第一区间和第二区间不重叠;
第一存储器具体用于:
根据第一统计表确定a在第一索引指纹所代表的多个指纹的第一区间的数值中的出现频次t1以及b在第一索引指纹所代表的多个指纹的第二区间的数值中出现的频次t2,其中,a为待存储数据块的指纹的第h位至第i位的数值,b为待存储数据块的指纹的第j位至第k位的数值;
根据t1和t2中的最小值确定第一概率。
可选的,本发明实施例中,第一指纹表中的每个指纹包含M位,每个M位指纹包含N个区间,N个区间中的每个区间包括M位中连续的S位,N个区间中任意两个区间不重叠,N个区间的位数之和为M,N为大于或者等于2的自然数,S为自然数;第一存储器上存储有第一统计表,第一统计表包含第一索引指纹所代表的多个指纹的N个区间的数值的统计信息;
第一存储器具体用于:根据第一统计表确定ai在第一索引指纹所代表的多个指纹的第i区间的数值中的出现频次ti,其中,ai为待存储数据块的指纹的第i区间的数值,i的取值范围为1至N;
根据所t1至tN中的最小值确定第一概率。
本实施例中的存储***与图3对应的数据处理方法是基于同一发明构思下的两个方面,在前面已经对方法的实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施例中的存储***的结构及实施过程,为了说明书的简洁,在此就不再赘述了。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
上述技术方案中,备份服务器通过指纹索引表在每个指纹表中确定出一个索引指纹代表的多个指纹,该索引指纹代表的多个指纹的指纹范围包括待存储数据块的指纹,然后基于从每个指纹表中确定出的多个指纹进行下一步的指纹比对操作,减少了指纹搬运的工作量。不仅如此,针对每个指纹表计算在其(确定出的多个指纹)中检索到待存储数据块的指纹的概率,然后在概率不小于预设阈值的指纹表的确定出的多个指纹中进行指纹比对,减少指纹比对时指纹的搬运量,减少指纹比对的耗时,亦即减少确定待存储数据块是否为重复数据块的时间,提高存储数据的效率。
本领域内的技术人员应明白,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例还提供一种数据处理的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令用于执行前述任意一个方法实施例所述的方法流程。本领域普通技术人员可以理解,前述的存储介质包括:U盘、移动硬盘、磁碟、光盘、随机存储器(Random-Access Memory,RAM)、固态硬盘(Solid State Disk,SSD)或者非易失性存储器(non-volatile memory)等各种可以存储程序代码的非短暂性的(non-transitory)机器可读介质。
需要说明的是,本申请所提供的实施例仅仅是示意性的。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本发明实施例、权利要求以及附图中揭示的特征可以独立存在也可以组合存在。在本发明实施例中以硬件形式描述的特征可以通过软件来执行,反之亦然。在此不做限定。
Claims (14)
1.一种数据处理方法,其特征在于,所述方法由存储***中的备份服务器执行,所述存储***中包括所述备份服务器以及多个存储器,所述存储***中存储有多个指纹表,所述多个指纹表中记录有已存储于所述多个存储器中的数据块的指纹,所述方法包括:
根据指纹索引表中的索引指纹以及待存储数据块的指纹确定第一指纹集合,其中,所述第一指纹集合中包含有第一索引指纹、第二索引指纹,所述第一索引指纹用于代表第一指纹表中的多个指纹,所述第二索引指纹用于代表第二指纹表中的多个指纹,所述待存储数据块的指纹属于所述第一索引指纹所代表的多个指纹以及所述第二索引指纹所代表的多个指纹的指纹范围;
根据所述第一索引指纹获得第一指纹表中包含有与所述待存储数据块的指纹相同的指纹的第一概率,并根据所述第二索引指纹获得所述第二指纹表中包含有与所述待存储数据块的指纹相同的指纹的第二概率,其中,所述第一概率是根据所述第一索引指纹代表的多个指纹确定的,所述第二概率是根据所述第二索引指纹代表的多个指纹确定的;
根据所述第一概率和第二概率确定第二指纹集合,其中,所述第二指纹集合中至少包含有所述第一索引指纹,根据所述第一索引指纹确定的第一概率不小于预设阈值;
获得所述第一索引指纹所代表的多个指纹与所述待存储数据块的指纹的匹配结果。
2.如权利要求1所述的方法,其特征在于,所述第一指纹表存储在所述多个存储器中的第一存储器中,所述第二指纹表存储在所述多个存储器中的第二存储器中;所述根据所述第一索引指纹获得第一指纹表中包含有与所述待存储数据块的指纹相同的指纹的第一概率,包括:
将所述待存储数据块的指纹以及所述第一索引指纹发送至所述第一存储器;
接收所述第一存储器返回的所述第一概率,所述第一概率用于表示在所述第一索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的概率;
所述根据所述第二索引指纹获得所述第二指纹表中包含有与所述待存储数据块的指纹相同的指纹的第二概率,包括:
将所述待存储数据块的指纹以及所述第二索引指纹发送至所述第二存储器;
接收所述第二存储器返回的所述第一概率,所述第一概率用于表示在所述第二索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的概率。
3.如权利要求1所述的方法,其特征在于,所述备份服务器包括辅助存储器,所述第一指纹表以及所述第二指纹表存储在所述辅助存储器中;
所述根据所述第一索引指纹获得第一指纹表中包含有与所述待存储数据块的指纹相同的指纹的第一概率,并根据所述第二索引指纹获得所述第二指纹表中包含有与所述待存储数据块的指纹相同的指纹的第二概率,包括:
将所述待存储数据块的指纹以及所述第一索引指纹、所述第二索引指纹发送至所述辅助存储器;
接收所述辅助存储器返回的在所述第一索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的所述第一概率,以及在所述第二索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的所述第二概率。
4.如权利要求1至3任一项所述的方法,其特征在于,所述第一指纹表中的每个指纹包含M位,每个M位指纹包含N个区间,所述N个区间中的每个区间包括M位中连续的S位,所述N个区间中任意两个区间不重叠,所述N个区间的位数之和为M,N为大于或者等于2的自然数,S为自然数;
所述存储***中存储有第一统计表,所述第一统计表包含有所述第一索引指纹所代表的多个指纹在所述N个区间的数值的统计信息,所述第一概率的确定方式包括:
根据所述第一统计表确定ai在所述第一索引指纹所代表的多个指纹的所述第i区间的数值中的出现频次ti,其中,ai为待存储数据块的指纹的第i个区间的数值,i的取值范围为1至N;
根据获得的t1至tN中的最小值确定所述第一概率。
5.如权利要求1至3任一项所述的方法,其特征在于,所述存储***中存储有第一统计表,所述第一统计表包含所述第一索引指纹所代表的多个指纹的第一区间的数值的统计信息,以及所述第一索引指纹所代表的多个指纹的第二区间的数值的统计信息,所述第一区间为各指纹的第h位至第i位的区间,所述第二区间为各指纹的第j位至第k位的区间,其中,h、i、j、k均为自然数,h的值不大于i的值,j的值不大于k的值,所述第一区间和所述第二区间不重叠;所述第一概率的确定方式包括:
根据所述第一统计表确定a在所述第一索引指纹所代表的多个指纹的所述第一区间的数值中的出现频次t1以及b在所述第一索引指纹所代表的多个指纹的所述第二区间的数值中出现的频次t2,其中,a为待存储数据块的指纹的第h位至第i位的数值,b为待存储数据块的指纹的第j位至第k位的数值;
根据所述t1和t2中的最小值确定所述第一概率。
6.一种备份服务器,其特征在于,所述备份服务器应用于存储***中,所述存储***包括所述备份服务器以及多个存储器,所述存储***中存储有多个指纹表,所述多个指纹表中记录有已存储于所述多个存储器中的数据块的指纹,所述备份服务器包括:
确定模块,用于根据指纹索引表中的索引指纹以及待存储数据块的指纹确定第一指纹集合,其中,所述第一指纹集合中包含有第一索引指纹、第二索引指纹,所述第一索引指纹用于代表第一指纹表中的多个指纹,所述第二索引指纹用于代表第二指纹表中的多个指纹,所述待存储数据块的指纹属于所述第一索引指纹所代表的多个指纹以及所述第二索引指纹所代表的多个指纹的指纹范围;
获得模块,用于根据所述第一索引指纹获得第一指纹表中包含有与所述待存储数据块的指纹相同的指纹的第一概率,并根据所述第二索引指纹获得所述第二指纹表中包含有与所述待存储数据块的指纹相同的指纹的第二概率,其中,所述第一概率是根据所述第一索引指纹代表的多个指纹确定的,所述第二概率是根据所述第二索引指纹代表的多个指纹确定的;
所述确定模块,还用于根据所述第一概率和第二概率确定第二指纹集合,其中,所述第二指纹集合中至少包含有所述第一索引指纹,根据所述第一索引指纹确定的第一概率不小于预设阈值;
处理模块,用于获得所述第一索引指纹所代表的多个指纹与所述待存储数据块的指纹的匹配结果。
7.如权利要求6所述的备份服务器,其特征在于,所述第一指纹表存储在所述多个存储器中的第一存储器中,所述第二指纹表存储在所述多个存储器中的第二存储器中;
所述获得模块具体用于:将所述待存储数据块的指纹以及所述第一索引指纹发送至所述第一存储器;并接收所述第一存储器返回的所述第一概率,所述第一概率用于表示在所述第一索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的概率;以及
将所述待存储数据块的指纹以及所述第二索引指纹发送至所述第二存储器;并接收所述第二存储器返回的所述第二概率,所述第二概率用于表示在所述第二索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的概率。
8.如权利要求6所述的备份服务器,其特征在于,所述备份服务器还包括:
辅助存储器,用于存储第一指纹表以及所述第二指纹表;
所述获得模块具体用于:将所述待存储数据块的指纹以及所述第一索引指纹、所述第二索引指纹发送至所述辅助存储器;接收所述辅助存储器返回的在所述第一索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的所述第一概率,以及在所述第二索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的所述第二概率。
9.如权利要求8所述的备份服务器,其特征在于:
所述第一指纹表中的每个指纹包含M位,每个M位指纹包含N个区间,所述N个区间中的每个区间包括M位中连续的S位,所述N个区间中任意两个区间不重叠,所述N个区间的位数之和为M,N为大于或者等于2的自然数,S为自然数;所述辅助存储器中还用于存储第一统计表,所述第一统计表包含所述第一索引指纹所代表的多个指纹的所述N个区间的数值的统计信息;
所述辅助存储器还用于:根据所述第一统计表确定ai在所述第一索引指纹所代表的多个指纹的所述第i区间的数值中的出现频次ti,其中,ai为待存储数据块的指纹的第i区间的数值,i的取值范围为1至N,并根据所t1至tN中的最小值确定所述第一概率。
10.如权利要求8所述的备份服务器,其特征在于,所述辅助存储器还用于存储第一统计表,所述第一统计表包含所述第一索引指纹所代表的多个指纹的第一区间的数值的统计信息,以及所述第一索引指纹所代表的多个指纹的第二区间的数值的统计信息,所述第一区间为各指纹的第h位至第i位的区间,所述第二区间为各指纹的第j位至第k位的区间,其中,h、i、j、k均为自然数,h的值不大于i的值,j的值不大于k的值,所述第一区间和所述第二区间不重叠;
所述辅助存储器还用于:根据所述第一统计表确定a在所述第一索引指纹所代表的多个指纹的所述第一区间的数值中的出现频次t1以及b在所述第一索引指纹所代表的多个指纹的所述第二区间的数值中出现的频次t2,其中,a为待存储数据块的指纹的第h位至第i位的数值,b为待存储数据块的指纹的第j位至第k位的数值;并根据所述t1和t2中的最小值确定所述第一概率。
11.一种存储***,其特征在于,包括备份服务器以及多个存储器,所述存储***中存储有多个指纹表,所述多个指纹表中记录有已存储于所述多个存储器中的数据块的指纹;
所述备份服务器用于:
根据指纹索引表中的索引指纹以及待存储数据块的指纹确定第一指纹集合,其中,所述第一指纹集合中包含有第一索引指纹、第二索引指纹,所述第一索引指纹用于代表第一指纹表中的多个指纹,所述第二索引指纹用于代表第二指纹表中的多个指纹,所述待存储数据块的指纹属于所述第一索引指纹所代表的多个指纹以及所述第二索引指纹所代表的多个指纹的指纹范围;
根据所述第一索引指纹获得第一指纹表中包含有与所述待存储数据块的指纹相同的指纹的第一概率,并根据所述第二索引指纹获得所述第二指纹表中包含有与所述待存储数据块的指纹相同的指纹的第二概率,其中,所述第一概率是根据所述第一索引指纹代表的多个指纹确定的,所述第二概率是根据所述第二索引指纹代表的多个指纹确定的;
根据所述第一概率和第二概率确定第二指纹集合,其中,所述第二指纹集合中至少包含有所述第一索引指纹,根据所述第一索引指纹确定的第一概率不小于预设阈值;
获得所述第一索引指纹所代表的多个指纹与所述待存储数据块的指纹的匹配结果。
12.如权利要求11所述的存储***,其特征在于,所述第一指纹表存储在所述多个存储器中的第一存储器中,所述第二指纹表存储在所述多个存储器中的第二存储器中;所述备份服务器具体用于:
将所述待存储数据块的指纹以及所述第一索引指纹发送至所述第一存储器;以及接收所述第一存储器返回的所述第一概率,所述第一概率用于表示在所述第一索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的概率;
将所述待存储数据块的指纹以及所述第二索引指纹发送至所述第二存储器;以及接收所述第二存储器返回的所述第一概率,所述第一概率用于表示在所述第二索引指纹所代表的多个指纹中包含有与所述待存储数据块的指纹相同的指纹的概率;
所述第一存储器具体用于:接收所述备份服务器发送的第一索引指纹以及所述待存储数据块的指纹,并确定在所述第一索引指纹代表的多个指纹中包含与所述待存储数据块的指纹相同的指纹的第一概率,并将所述第一概率发送至所述备份服务器;
所述第二存储器具体用于:接收所述备份服务器发送的第二索引指纹以及所述待存储数据块的指纹,并确定在所述第二索引指纹代表的多个指纹中包含与所述待存储数据块的指纹相同的指纹的第二概率,并将所述第二概率发送至所述备份服务器。
13.如权利要求11或12所述的存储***,其特征在于,所述第一指纹表中的每个指纹包含M位,每个M位指纹包含N个区间,所述N个区间中的每个区间包括M位中连续的S位,所述N个区间中任意两个区间不重叠,所述N个区间的位数之和为M,N为大于或者等于2的自然数,S为自然数;所述第一存储器上存储有第一统计表,所述第一统计表包含所述第一索引指纹所代表的多个指纹的所述N个区间的数值的统计信息;
所述第一存储器具体用于:根据所述第一统计表确定ai在所述第一索引指纹所代表的多个指纹的所述第i区间的数值中的出现频次ti,其中,ai为待存储数据块的指纹的第i区间的数值,i的取值范围为1至N;
根据所t1至tN中的最小值确定所述第一概率。
14.如权利要求11或12所述的存储***,其特征在于:所述第一存储器上存储有第一统计表,所述第一统计表包含所述第一索引指纹所代表的多个指纹的第一区间的数值的统计信息,以及所述第一索引指纹所代表的多个指纹的第二区间的数值的统计信息,所述第一区间为各指纹的第h位至第i位的区间,所述第二区间为各指纹的第j位至第k位的区间,其中,h、i、j、k均为自然数,h的值不大于i的值,j的值不大于k的值,所述第一区间和所述第二区间不重叠;
所述第一存储器具体用于:
根据所述第一统计表确定a在所述第一索引指纹所代表的多个指纹的所述第一区间的数值中的出现频次t1以及b在所述第一索引指纹所代表的多个指纹的所述第二区间的数值中出现的频次t2,其中,a为待存储数据块的指纹的第h位至第i位的数值,b为待存储数据块的指纹的第j位至第k位的数值;
根据所述t1和t2中的最小值确定所述第一概率。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510468057.9A CN106407226B (zh) | 2015-07-31 | 2015-07-31 | 一种数据处理方法、备份服务器及存储*** |
PCT/CN2016/091054 WO2017020735A1 (zh) | 2015-07-31 | 2016-07-22 | 一种数据处理方法、备份服务器及存储*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510468057.9A CN106407226B (zh) | 2015-07-31 | 2015-07-31 | 一种数据处理方法、备份服务器及存储*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106407226A true CN106407226A (zh) | 2017-02-15 |
CN106407226B CN106407226B (zh) | 2019-09-13 |
Family
ID=57942441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510468057.9A Active CN106407226B (zh) | 2015-07-31 | 2015-07-31 | 一种数据处理方法、备份服务器及存储*** |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106407226B (zh) |
WO (1) | WO2017020735A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107317723A (zh) * | 2017-05-27 | 2017-11-03 | 北京金山安全软件有限公司 | 一种数据处理方法及服务器 |
CN110582091A (zh) * | 2018-06-11 | 2019-12-17 | ***通信集团浙江有限公司 | 定位无线质量问题的方法和装置 |
CN111427871A (zh) * | 2019-01-09 | 2020-07-17 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、设备 |
TWI700905B (zh) * | 2018-01-18 | 2020-08-01 | 香港商阿里巴巴集團服務有限公司 | 資料的處理方法、裝置及設備 |
CN115988002A (zh) * | 2023-02-16 | 2023-04-18 | 荣耀终端有限公司 | 一种数据传输方法和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019887A (zh) * | 2012-12-12 | 2013-04-03 | 华为技术有限公司 | 数据备份方法及装置 |
CN103514250A (zh) * | 2013-06-20 | 2014-01-15 | 易乐天 | 一种全局重复数据删除的方法和***及存储装置 |
CN103678293A (zh) * | 2012-08-29 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 一种数据存储方法及装置 |
US20150088899A1 (en) * | 2013-09-23 | 2015-03-26 | Spotify Ab | System and method for identifying a segment of a file that includes target content |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007519986A (ja) * | 2003-11-18 | 2007-07-19 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 導出されたフィンガープリントのマッチングによるデータオブジェクトのマッチング |
CN101477523B (zh) * | 2008-11-24 | 2011-07-20 | 北京邮电大学 | 超大型指纹库的索引结构和检索方法 |
CN103235791B (zh) * | 2013-03-29 | 2019-03-26 | 厦门雅迅网络股份有限公司 | 一种基于秩次的指纹匹配优化定位方法 |
-
2015
- 2015-07-31 CN CN201510468057.9A patent/CN106407226B/zh active Active
-
2016
- 2016-07-22 WO PCT/CN2016/091054 patent/WO2017020735A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678293A (zh) * | 2012-08-29 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 一种数据存储方法及装置 |
CN103019887A (zh) * | 2012-12-12 | 2013-04-03 | 华为技术有限公司 | 数据备份方法及装置 |
CN103514250A (zh) * | 2013-06-20 | 2014-01-15 | 易乐天 | 一种全局重复数据删除的方法和***及存储装置 |
US20150088899A1 (en) * | 2013-09-23 | 2015-03-26 | Spotify Ab | System and method for identifying a segment of a file that includes target content |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107317723A (zh) * | 2017-05-27 | 2017-11-03 | 北京金山安全软件有限公司 | 一种数据处理方法及服务器 |
TWI700905B (zh) * | 2018-01-18 | 2020-08-01 | 香港商阿里巴巴集團服務有限公司 | 資料的處理方法、裝置及設備 |
CN110582091A (zh) * | 2018-06-11 | 2019-12-17 | ***通信集团浙江有限公司 | 定位无线质量问题的方法和装置 |
CN111427871A (zh) * | 2019-01-09 | 2020-07-17 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、设备 |
CN111427871B (zh) * | 2019-01-09 | 2024-03-29 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、设备 |
CN115988002A (zh) * | 2023-02-16 | 2023-04-18 | 荣耀终端有限公司 | 一种数据传输方法和电子设备 |
CN115988002B (zh) * | 2023-02-16 | 2023-08-15 | 荣耀终端有限公司 | 一种数据传输方法和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106407226B (zh) | 2019-09-13 |
WO2017020735A1 (zh) | 2017-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106407226A (zh) | 一种数据处理方法、备份服务器及存储*** | |
CN104461390B (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
CN102222085B (zh) | 一种基于相似性与局部性结合的重复数据删除方法 | |
CN107209714A (zh) | 分布式存储***及分布式存储***的控制方法 | |
CN104346458B (zh) | 数据存储方法和存储设备 | |
CN101673192B (zh) | 时序化的数据处理方法、装置及*** | |
CN101963982A (zh) | 基于位置敏感哈希的删冗存储***元数据管理方法 | |
CN110471900A (zh) | 数据处理方法及终端设备 | |
CN104102549B (zh) | 一种实现多线程互斥操作的方法、装置和芯片 | |
CN106407224A (zh) | 一种键值存储***中文件压实的方法和装置 | |
CN104298736A (zh) | 数据集合连接方法、装置及数据库*** | |
CN102508872A (zh) | 一种基于内存的联机处理***的数据处理方法及*** | |
CN110008246A (zh) | 元数据管理方法及装置 | |
CN104615684A (zh) | 一种海量数据通信并发处理方法及*** | |
CN107122354A (zh) | 事务执行方法、装置及*** | |
CN107346342A (zh) | 一种基于存储计算的文件调用方法与*** | |
CN106201918B (zh) | 一种基于大数据量和大规模缓存快速释放的方法和*** | |
CN201804331U (zh) | 一种基于协处理器的重复数据删除*** | |
CN104050189B (zh) | 页面共享处理方法及装置 | |
CN104298614B (zh) | 数据块在存储设备中存储方法和存储设备 | |
CN108664322A (zh) | 数据处理方法及*** | |
CN104598171B (zh) | 基于元数据的阵列重建方法及装置 | |
CN106775450B (zh) | 一种混合存储***中的数据分布方法 | |
CN104077282B (zh) | 处理数据的方法和装置 | |
CN115907949A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |