CN102782643A - 使用布隆过滤器的索引搜索 - Google Patents
使用布隆过滤器的索引搜索 Download PDFInfo
- Publication number
- CN102782643A CN102782643A CN2011800130298A CN201180013029A CN102782643A CN 102782643 A CN102782643 A CN 102782643A CN 2011800130298 A CN2011800130298 A CN 2011800130298A CN 201180013029 A CN201180013029 A CN 201180013029A CN 102782643 A CN102782643 A CN 102782643A
- Authority
- CN
- China
- Prior art keywords
- index
- section
- stored
- storage
- clauses
- 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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/328—Management 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/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
Abstract
用于索引搜索的系统包括第一索引、第二索引、处理器和存储器。处理器配置成使用用于指纹的第二索引的布隆过滤器来确定布隆过滤器是否指示对应于段的条目以前已在第二索引中被存储。处理器还配置成如果布隆过滤器指示对应于段的条目以前已在第二索引中被存储,则检索以前已被存储的段相关联的第二索引条目。存储器耦合到处理器并配置成向处理器提供指令。
Description
背景技术
对于使用去除重复的(deduplicated)段存储信息的系统,索引用于识别段是否以前已被存储以及给定段存储在何处。然而,随着存储系统存储的段的数量增大,索引大小也增大,并且定位接收的段的条目是否在索引中变得越来越耗时。
附图说明
在下面的详细描述和附图中,公开了本发明的不同实施例。
图1是示出用于数据存储的系统的一实施例的框图。
图2是示出段存储引擎的一实施例的框图。
图3是示出输入流、段和超段数据配置的一实施例的框图。
图4是示出索引的一实施例的框图。
图5是示出L0索引的一实施例的框图。
图6是示出用于在索引中存储条目的过程的一实施例的流程图。
图7是示出用于在索引中存储条目的过程的一实施例的流程图。
图8是示出用于定位索引条目的过程的流程图。
具体实施方式
本发明能够以多种方式实现,包括作为过程、设备、系统、物质的合成、计算机可读存储媒体上实施的计算机程序产品和/或处理器,如配置成执行耦合到处理器的存储器上和/或由存储器提供的指令的处理器。在此说明书中,这些实现或本发明可采用的任何其它形式可称为技术。通常,在本发明范围内可改变公开过程的步骤顺序。除非另有说明,否则,诸如处理器和存储器等被描述为配置成执行任务的组件可实现为暂时配置成在给定时间中执行该任务的组件或制造为执行该任务的特定组件。在本文中使用时,术语“处理器”指配置成处理诸如计算机程序指令等数据的一个或多个装置、电路和/或处理核。
本发明一个或多个实施例的详细说明在下面与显示本发明原理的附图一起被提供。本发明结合此类实施例进行描述,但本发明并不限于任一实施例。本发明的范围只受权利要求的限制,并且本发明包括许多备选、修改和等同。许多特定的细节在下面的说明中陈述以便提供本发明的详细理解。这些细节为了示例的目的而被提供,并且本发明可在一些或所有这些特定细节不存在的情况下根据权利要求来实践。为了清晰的目的,与本发明相关技术领域已知的技术材料未被详细描述以免不必要地混淆本发明。
本文公开了一种用于索引搜索的系统。该系统包括第一索引、第二索引、布隆过滤器、处理器和存储器。处理器配置成:1)接收检索段的请求;2)使用用于指纹的第二索引的布隆过滤器来确定布隆过滤器是否指示对应于段的条目以前已在第二索引中被存储;3)如果布隆过滤器指示对应于段的条目以前已在第二索引中被存储,则检索以前已被存储的段相关联的第二索引条目;4)如果对应于段的条目未在第二索引中找到,则检查第一索引以确定对应于段的条目是否以前已在第一索引中被存储;5)如果第一索引指示对应于段的条目以前已在第一索引中被存储,则检索以前已被存储的段相关联的第一索引条目;以及6)存储器,耦合到处理器并配置成向处理器提供指令。
布隆过滤器用于识别第二索引是否包括与候选段相关联的条目。布隆过滤器的使用导致减少第二索引的随机访问。在一些实施例中,为候选段计算指纹。指纹被输入第一索引中(例如,称为L0的索引)。第一索引处于排序(sorted)顺序中。在一些实施例中,一部分指纹(例如,前两个字节)用于指向识别第一索引内某个位置的报头,而在该位置附近存储或未存储指纹。由于第一索引是排序列表,并且新段指纹在不断被添加,因此,第二索引(例如,称为L1的索引)用于存储用于新段的指纹。在各种实施例中,第二索引被排序、部分排序、不被排序、小于第一索引,是多个次要索引之一、或具有任何其它适当的特性。在满足准则(例如,第二索引已达到某个大小)时,第二索引与第一索引合并,并且被排序以形成新的第一索引。在一些实施例中,在第二索引合并到第一索引期间,使用临时或备选第二索引。在一些实施例中,除第二索引外,有在进入第二索引前保留索引条目的存储器缓冲器,并且在寻找“索引”中的段时,系统查看:存储器缓冲器;用于第二索引的布隆过滤器,以及如果布隆过滤器指示要求它,则查看第二索引;以及第一索引。在一些实施例中,有多个次要索引,其各自带有布隆过滤器,以及在寻找“索引”中的段时,系统查看用于次要索引的每个布隆过滤器,并且如果布隆过滤器指示它是必需的,则查看第二索引,以及第一索引。由于在查看包括多个部分(例如,存储器缓冲器、一个或多个次要索引、第一索引等)的索引时,系统一旦在索引中找到最近的条目,便停止寻找段条目。在一些实施例中,索引的部分内的搜索以最新索引到最旧索引的顺序来执行 - 例如,最先是小的存储器缓冲器,接着是用于第二索引的布隆过滤器,以及如果要求则是第二索引,以及最后是第一索引。
图1是示出用于数据存储的系统的一实施例的框图。在所示示例中,使用存储用户系统110的用户或存储用户系统110经网络108访问存储系统100。在各种实施例中,网络108包括有线网络、无线网络、局域网、广域网、因特网或任何其它适当的网络中的一种或多种网络。存储系统100包括系统接口102、段存储引擎104和多个存储单元(在图1中由存储单元112、存储单元114、存储单元116及存储单元118来表示)。通过使用复本(replica)存储系统106,复制了存储系统100。例如,通过将某个存储单元上存储的段和元数据存储到另一存储单元,复制了该存储单元。
存储用户系统110将文件、数据流或数据文件分割成段(例如,为一个或多个段识别边界 - 例如,某个哈希函数在文件的内容的一部分上运算;在该哈希函数等于某个值,是最小值,是最大值,介于最小长度与最大长度之间和/或是文件的窗口内的极值等时,确定段边界)。段边界得以确定,使得两个类似文件、数据流或数据块具有的目标是对文件、数据流或数据块的相同部分具有相同段,并且对文件、数据流或数据块的非相同部分具有不同段。在各种实施例中,段确定基于数据的内容(使用基于数据内容所计算的值),不基于内容(例如,字节计数、文件准则等)、或基于内容的准则和基于非内容的准则的组合。在各种实施例中,存储用户系统110加密和/或压缩段。存储用户系统110经网络108发送要由存储系统100存储的段。在各种实施例中,有关如何重构文件、数据流或数据块的信息也从存储用户系统110发送到存储系统100和/或由存储系统100存储,或进行对信息适当的任何其它动作。
存储系统100使用系统接口102接收段。段存储引擎104在存储单元中存储段,或者存储到存储单元(例如,存储单元112、存储单元114、存储单元116或存储单元118)中以前存储的相同段的引用。在各种实施例中,存储单元包括去除重复存储系统、存储装置、多个存储装置、存储装置的一部分、硬盘驱动器、驱动器阵列、半导体存储器或用于节点的任何其它适当的组件。
仅在段以前未在存储单元之一中存储时,段存储引擎104才存储段。在一些实施例中,通过查看相同的标识符是否已经在用于存储系统100的存储的段的索引中存在,标识符(例如,数字指纹、安全哈希算法哈希值等)用于确定段是否以前已被存储。在各种实施例中,使用存储系统100,使用存储用户系统110或任何其它适当的系统确定用于给定段的标识符。在一些实施例中,标识符与相关联的段一起从存储用户系统110被发送到存储系统100。
存储用户系统110经网络108请求存储系统100上存储的一个或多个段。存储系统100使用系统接口102接收该请求。段存储引擎104路由该请求以定位、或者定位用于在适当存储单元中存储文件、数据流或数据块的段。
在一些实施例中,一个或多个段经网络108发送到存储用户系统110,并且存储用户系统110使用一个或多个段重构文件、数据流或数据块。在各种实施例中,将段解密和/或解压缩或进行任何其它适当的处理以便重构期望的文件、数据流或数据块。
在一些实施例中,存储用户系统110通过识别文件名和文件内的偏移来请求数据。在存储系统100使用一个或多个段来重构文件、数据流或数据块后,数据经网络108被发送到存储用户系统110。
在一些实施例中,在存储用户系统110与存储系统100之间划分的功能性是不同的:分段和存储均由存储系统100执行。在一些实施例中,有一个或多个存储用户系统将段或数据流馈送到一个或多个存储系统(例如,一对多、多对多、共享配置或独占配置)。
在一些实施例中,存储系统100包括处理器和存储器。在各种实施例中,用于存储系统100的处理器包括单个处理器、多个处理器、带有虚拟系统的一个或多个处理器或任何其它适当的硬件或软件以使得能够在系统上存储数据。
图2是示出段存储引擎的一实施例的框图。在一些实施例中,图2的段存储引擎200用于实现图1的段存储引擎104。在所示示例中,段存储引擎200包括分段器202、指纹计算器204、索引206及重复检测器208。在一些实施例中,段存储引擎200接收段,并且不接收数据文件、流或块,在此情况下,分段器202未被使用和/或未被包括在段存储引擎208中。分段器202将文件、数据流或数据文件分割成段(例如,为一个或多个段识别边界 - 例如,某个哈希函数在文件的内容的一部分上运算;在该哈希函数等于某个值,是最小值,是最大值,介于最小长度与最大长度之间和/或是文件的窗口内的极值等时,确定段边界)。段边界得以确定,使得两个类似文件、数据流或数据块具有的目标是对文件、数据流或数据块的相同部分具有相同段,并且对文件、数据流或数据块的非相同部分具有不同段。在各种实施例中,段确定基于数据的内容(使用基于数据内容所计算的值),不基于内容(例如,字节计数、文件准则等)或基于内容的准则和基于非内容的准则的组合。指纹计算器204计算用于段的标识符 - 例如,Rabin指纹、消息摘要算法5 (MD5)或安全哈希算法(SHA)加密哈希等。重复检测器208使用为段和索引206计算的指纹,以通过查看指纹当前是否在索引206中来确定段是否以前已被存储。如果指纹未在索引206中,则形成包括指纹的新条目,并且在用于系统的存储单元中存储段。索引206也包括指示段存储在存储单元内何处的信息。在一些实施例中,索引206包括一个或多个索引结构 - 例如,存储器缓冲器、大的排序索引或小的索引(已排序或未排序)。
图3是示出输入流、段和超段数据配置的一实施例的框图。在所示示例中,数据流、数据块或数据文件300输入数据存储系统,数据存储系统将输入分割成段302(例如,S1、S2、S3、S4、S5、S6、S7、S8和SN)。在各种实施例中,段302具有最小长度、最大长度,具有大约8KB的平均大小或具有任何其它适当的属性。在各种实施例中,通过使用基于内容的算法(例如,在数据的窗口中,窗口上的哈希函数等于某个数,是用于所有窗口的最小值/最大值/极值,具有预定比特位置中的1或0的模式等),使用基于非内容的算法(例如,具有预定长度,具有最小长度,最大长度,与文件长度相关联等)或基于内容和基于非内容的算法的组合,或确定段端点的任何其它适当方式识别段端点来生成段。
图4是示出索引的一实施例的框图。在一些实施例中,图4的索引400用于实现图2的索引206。在所示示例中,索引400包括多级索引,多级索引具有几个级或级别,在其中存储和/或搜索索引条目以查找索引条目。在一些实施例中,索引条目包括标识符(例如,指纹)和位置(例如,容器、磁盘位置等)。索引包括L0索引402、存储器缓冲器索引404、L1索引406及用于L1索引的布隆过滤器408。如果识别出要在段存储系统中存储的新段, 则为新段存储索引条目。索引条目先在存储器缓冲器404中存储,这不是排序索引。存储器缓冲器索引404中的索引条目定期传送到L1索引(L1索引506的索引)。LI索引包括排序索引。L1索引406中的索引条目和L1索引406的L1索引定期与L0索引402合并排序。在一些实施例中,存储器缓冲器索引404大于L1索引406的L1索引,L1索引又大于L0索引402。在一些实施例中,存储器缓冲器索引404大小为几千兆字节(例如,2 GB),L1索引406的L1索引大小是一十或几十千兆字节(例如,10 GB),并且L0索引402是一百或几百千兆字节(例如,100 GB)。在一些实施例中,标识符的一部分用于查找索引内索引条目的位置(例如,指纹的前两字节用于在表中查找在索引中何处开始寻找与指纹相关联的索引条目)。
图5是示出L0索引的一实施例的框图。在一些实施例中,L0索引500用于实现图4的L0索引402。在所示示例中,L0索引500包括索引表502和报头表506。索引表502包括存储段的位置和/或容器或区域/区/桶和存储的段的标识符列表。报头表506包括用于使用标识符的一部分来定位L0索引500内的索引条目的表,以便在报头表506中查找L0索引500内索引条目所处的区域(例如,索引内的桶)。
图6是示出用于在索引中存储条目的过程的一实施例的流程图。在所示示例中,在600中接收新段。在602中,在存储器缓冲器索引中存储用于新段的索引条目。在604中,确定存储器缓冲器索引是否已满。在一些实施例中,另一准则用于确定是否合并排序或传送存储器缓冲器索引的索引条目到L1索引。如果确定存储器缓冲器索引已满,则在606中,存储器缓冲器索引中的索引条目被合并排序到L1索引;并且控制转到600。如果确定存储器缓冲器索引未满,则控制转到600。在一些实施例中,索引条目传送到L1索引而未被合并排序。
图7是示出用于在索引中存储条目的过程的一实施例的流程图。在所示示例中,在700中,接收指示L0合并排序的指示。在各种实施例中,基于L1索引是否已满、LI索引达到预定大小、L1索引中的桶具有预定数量的条目或任何其它适当的准则来确定指示。在702中,一个或多个L1索引被合并排序到L0索引中。在一些实施例中,只有一个L1索引。在一些实施例中,在一个L1索引中的条目到L0索引中的合并排序期间,临时L1索引用于在合并排序操作期间存储用于新段的索引条目。在一些实施例中,一次一个桶地执行从L1索引到L0索引的合并排序,其中,L1索引桶中的条目和L0索引桶中的条目对应于带有类似特性的标识符(例如,相同的前两个字节)。在各种实施例中,L1索引不是有序的,包含重复,具有带其它L1索引的重复或任何其它适当的属性。
图8是示出用于定位索引条目的过程的流程图。在所示示例中,在800中,接收识别段位置的指示。在802中,确定段指纹是否在存储器缓冲器索引中。如果段指纹在存储器缓冲器索引,则控制转到810。如果段指纹不在存储器缓冲器索引中,则在804中确定段指纹是否在用于L1索引的布隆过滤器中。布隆过滤器为系统提供了效率的改进,因为通过使用布隆过滤器确定是否在一个或多个L1索引中索引,极大消除或减少了在一个或多个L1索引中查看的时间。如果段指纹在用于L1索引的布隆过滤器中,则在806中确定段指纹是否在L1索引中。在各种实施例中,有一个L1索引,有多于一个L1索引并且每个L1索引具有对应布隆过滤器,或者有用于布隆过滤器和L1索引的任何其它适当的布置。如果段指纹不在用于L1索引的布隆过滤器中,或者如果段指纹未在L1索引中被发现,则在808中,确定段指纹是否在L0索引中。如果段指纹不在L0索引中,则过程结束。如果段指纹在存储器合并缓冲器、L1索引或L0索引中,则在810中,基于指纹的索引条目来指示段的位置。
虽然为了清楚地理解的目的而以一定的细节描述了上述实施例,但本发明并不限于提供的细节。实施本发明有许多备选方式。公开的实施例是说明性的而不是限制性的。
所要求权利的是:
Claims (16)
1. 一种用于索引搜索的系统,包括:
第一索引;
第二索引;
处理器,配置成:
使用用于指纹的所述第二索引的布隆过滤器来确定所述布隆过滤器是否指示对应于段的条目以前已在所述第二索引中被存储;
如果所述布隆过滤器指示对应于所述段的条目以前已在所述第二索引中被存储,则检索以前已被存储的所述段相关联的第二索引条目;以及
存储器,耦合到所述处理器并配置成向所述处理器提供指令。
2. 如权利要求1所述的系统,其中所述处理器还配置成接收检索所述段的请求。
3. 如权利要求1所述的系统,其中所述处理器还配置成如果对应于所述段的条目以尚未在所述第二索引中被存储,则检查所述第一索引以确定所述段以前是否已被存储。
4. 如权利要求3所述的系统,其中所述处理器还配置成如果所述第一索引指示对应于所述段的条目以前已在所述第一索引中被存储,则检索以前已被存储的所述段相关联的第一索引条目。
5. 如权利要求1所述的系统,其中所述处理器还配置成检查存储器缓冲器索引以确定对应于所述段的条目是否以前已在所述存储器缓冲器索引中被存储。
6. 如权利要求5所述的系统,其中所述处理器还配置成如果所述存储器缓冲器索引指示对应于所述段的条目以前已被存储,则从所述存储器缓冲器索引为所述段检索索引条目。
7. 如权利要求5所述的系统,其中所述存储器缓冲器索引包括与存储的段相关联的指纹。
8. 如权利要求5所述的系统,其中所述存储器缓冲器索引被传送或合并排序到所述第二索引中。
9. 如权利要求5所述的系统,其中所述存储器缓冲器索引小于所述第二索引。
10. 如权利要求1所述的系统,其中所述第一索引包括与存储的段相关联的指纹。
11. 如权利要求1所述的系统,其中所述第二索引包括与存储的段相关联的指纹。
12. 如权利要求1所述的系统,其中所述第二索引在大小上小于所述第一索引。
13. 如权利要求1所述的系统,其中所述第二索引被传送或合并排序到所述第一索引中。
14. 如权利要求1所述的系统,其中所述第二索引是多个第二索引之一。
15. 一种用于索引搜索的方法,包括:
使用处理器和用于指纹的第二索引的布隆过滤器来确定所述布隆过滤器是否指示对应于段的条目以前已在所述第二索引中被存储;以及
如果所述布隆过滤器指示对应于所述段的条目以前已在所述第二索引中被存储,则检索以前已被存储的所述段相关联的第二索引条目。
16. 一种用于索引搜索的计算机程序产品,所述计算机程序产品在计算机可读存储媒体中被实施并包括用于以下操作的计算机指令:
使用处理器和用于指纹的第二索引的布隆过滤器来确定所述布隆过滤器是否指示对应于段的条目以前已在所述第二索引中被存储;以及
如果所述布隆过滤器指示对应于所述段的条目以前已在所述第二索引中被存储,则检索以前已被存储的所述段相关联的第二索引条目。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/661,142 | 2010-03-10 | ||
US12/661,142 US8396873B2 (en) | 2010-03-10 | 2010-03-10 | Index searching using a bloom filter |
US12/661142 | 2010-03-10 | ||
PCT/US2011/000424 WO2011112242A1 (en) | 2010-03-10 | 2011-03-07 | Index searching using a bloom filter |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102782643A true CN102782643A (zh) | 2012-11-14 |
CN102782643B CN102782643B (zh) | 2016-06-08 |
Family
ID=44560928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180013029.8A Active CN102782643B (zh) | 2010-03-10 | 2011-03-07 | 使用布隆过滤器的索引搜索 |
Country Status (4)
Country | Link |
---|---|
US (3) | US8396873B2 (zh) |
EP (1) | EP2545440A4 (zh) |
CN (1) | CN102782643B (zh) |
WO (1) | WO2011112242A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440249A (zh) * | 2013-07-23 | 2013-12-11 | 南京烽火星空通信发展有限公司 | 一种非结构化数据快速检索的系统及方法 |
CN103559215A (zh) * | 2013-10-14 | 2014-02-05 | 西安交通大学 | 一种面向内容网络中内容名存储结构的设计方法 |
CN103927124A (zh) * | 2013-01-15 | 2014-07-16 | 深圳市腾讯计算机系统有限公司 | 以Hash方式组织的磁盘访问控制装置及方法 |
CN104246722A (zh) * | 2013-03-29 | 2014-12-24 | 株式会社东芝 | 用于基于哈希表排除数据重复的存储系统,存储控制器及方法 |
CN104850564A (zh) * | 2014-02-18 | 2015-08-19 | 腾讯科技(深圳)有限公司 | 数据文件的索引查找方法和系统 |
CN103559215B (zh) * | 2013-10-14 | 2016-11-30 | 西安交通大学 | 一种面向内容网络中内容名存储结构的设计方法 |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2655731C (en) * | 2003-09-15 | 2012-04-10 | Ab Initio Software Corporation | Functional dependency data profiling |
CN101836212B (zh) * | 2007-10-25 | 2015-10-14 | 富士通株式会社 | 信息提供方法、中继方法、信息保持装置、中继器 |
JP5359941B2 (ja) * | 2010-03-10 | 2013-12-04 | 富士通株式会社 | データ管理装置及びデータ管理方法 |
US8396873B2 (en) * | 2010-03-10 | 2013-03-12 | Emc Corporation | Index searching using a bloom filter |
US8370315B1 (en) * | 2010-05-28 | 2013-02-05 | Symantec Corporation | System and method for high performance deduplication indexing |
US20120158674A1 (en) * | 2010-12-20 | 2012-06-21 | Mark David Lillibridge | Indexing for deduplication |
CA2823658C (en) | 2011-01-28 | 2018-03-13 | Ab Initio Technology Llc | Generating data pattern information |
CN102810107B (zh) * | 2011-06-01 | 2015-10-07 | 英业达股份有限公司 | 重复数据的处理方法 |
US8949371B1 (en) * | 2011-09-29 | 2015-02-03 | Symantec Corporation | Time and space efficient method and system for detecting structured data in free text |
US9715434B1 (en) * | 2011-09-30 | 2017-07-25 | EMC IP Holding Company LLC | System and method for estimating storage space needed to store data migrated from a source storage to a target storage |
US9069707B1 (en) | 2011-11-03 | 2015-06-30 | Permabit Technology Corp. | Indexing deduplicated data |
CN102609536B (zh) * | 2012-02-16 | 2013-09-18 | 杭州电子科技大学 | 一种非合作环境下的资源选择方法 |
CN102663086B (zh) * | 2012-04-09 | 2014-05-07 | 华中科技大学 | 一种数据块索引的检索方法 |
US9659060B2 (en) | 2012-04-30 | 2017-05-23 | International Business Machines Corporation | Enhancing performance-cost ratio of a primary storage adaptive data reduction system |
US9177028B2 (en) | 2012-04-30 | 2015-11-03 | International Business Machines Corporation | Deduplicating storage with enhanced frequent-block detection |
US8898121B2 (en) | 2012-05-29 | 2014-11-25 | International Business Machines Corporation | Merging entries in a deduplication index |
US8700578B1 (en) * | 2012-09-27 | 2014-04-15 | Emc Corporation | System and method for determining physical storage space of a deduplicated storage system |
CA2888250C (en) | 2012-10-22 | 2020-07-21 | Ab Initio Technology Llc | Profiling data with source tracking |
US9892026B2 (en) | 2013-02-01 | 2018-02-13 | Ab Initio Technology Llc | Data records selection |
US9953042B1 (en) | 2013-03-01 | 2018-04-24 | Red Hat, Inc. | Managing a deduplicated data index |
US9639577B1 (en) * | 2013-03-27 | 2017-05-02 | Symantec Corporation | Systems and methods for determining membership of an element within a set using a minimum of resources |
WO2014155653A1 (ja) * | 2013-03-29 | 2014-10-02 | 株式会社日立製作所 | データ重複検出システムおよびデータ重複検出システムの制御方法 |
US20140304238A1 (en) * | 2013-04-05 | 2014-10-09 | Nokia Corporation | Method and apparatus for detecting duplicate messages |
US9367575B1 (en) * | 2013-06-28 | 2016-06-14 | Veritas Technologies Llc | System and method for managing deduplication between applications using dissimilar fingerprint types |
US11487732B2 (en) | 2014-01-16 | 2022-11-01 | Ab Initio Technology Llc | Database key identification |
KR102361153B1 (ko) | 2014-03-07 | 2022-02-09 | 아브 이니티오 테크놀로지 엘엘시 | 데이터 유형에 관련된 데이터 프로파일링 동작 관리 |
US9792328B2 (en) | 2014-03-13 | 2017-10-17 | Sybase, Inc. | Splitting of a join operation to allow parallelization |
US9836505B2 (en) | 2014-03-13 | 2017-12-05 | Sybase, Inc. | Star and snowflake join query performance |
US9658774B2 (en) * | 2014-07-09 | 2017-05-23 | Hitachi, Ltd. | Storage system and storage control method |
US9940356B2 (en) * | 2014-07-31 | 2018-04-10 | International Business Machines Corporation | Efficient join-filters for parallel processing |
US9910868B1 (en) * | 2014-12-12 | 2018-03-06 | Quest Software Inc. | Systems and methods for database index optimization |
US9608810B1 (en) | 2015-02-05 | 2017-03-28 | Ionic Security Inc. | Systems and methods for encryption and provision of information security using platform services |
JP2017049806A (ja) * | 2015-09-02 | 2017-03-09 | 富士通株式会社 | ストレージ制御装置およびストレージ制御プログラム |
KR20180048735A (ko) * | 2015-09-29 | 2018-05-10 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 필터링 방법 및 장치 |
US10216748B1 (en) | 2015-09-30 | 2019-02-26 | EMC IP Holding Company LLC | Segment index access management in a de-duplication system |
US10303662B1 (en) | 2015-09-30 | 2019-05-28 | EMC IP Holding Company LLC | System and method for efficiently measuring physical space for an ad-hoc subset of files in protection storage filesystem with stream segmentation and data deduplication |
US9842132B2 (en) | 2015-10-23 | 2017-12-12 | International Business Machines Corporation | Bloom filter index for device discovery |
US10503730B1 (en) | 2015-12-28 | 2019-12-10 | Ionic Security Inc. | Systems and methods for cryptographically-secure queries using filters generated by multiple parties |
US10740474B1 (en) | 2015-12-28 | 2020-08-11 | Ionic Security Inc. | Systems and methods for generation of secure indexes for cryptographically-secure queries |
US10210195B2 (en) | 2016-02-12 | 2019-02-19 | International Business Machines Corporation | Locating data in a set with a single index using multiple property values |
US10042875B2 (en) | 2016-09-26 | 2018-08-07 | International Business Machines Corporation | Bloom filter index for device discovery |
US10203953B2 (en) * | 2017-02-24 | 2019-02-12 | Microsoft Technology Licensing, Llc | Identification of duplicate function implementations |
CN108632131B (zh) * | 2017-03-16 | 2020-10-20 | 哈尔滨英赛克信息技术有限公司 | 一种基于指纹型可变长布鲁姆过滤器的邮件地址匹配方法 |
US11037654B2 (en) | 2017-05-12 | 2021-06-15 | Noblis, Inc. | Rapid genomic sequence classification using probabilistic data structures |
US11094397B2 (en) | 2017-05-12 | 2021-08-17 | Noblis, Inc. | Secure communication of sensitive genomic information using probabilistic data structures |
US11068540B2 (en) | 2018-01-25 | 2021-07-20 | Ab Initio Technology Llc | Techniques for integrating validation results in data profiling and related systems and methods |
US11055399B2 (en) * | 2018-01-26 | 2021-07-06 | Noblis, Inc. | Data recovery through reversal of hash values using probabilistic data structures |
WO2020080931A1 (en) * | 2018-10-15 | 2020-04-23 | Mimos Berhad | Management of data for content based data locality search |
CN113032340A (zh) * | 2019-12-24 | 2021-06-25 | 阿里巴巴集团控股有限公司 | 数据文件的合并方法、装置、存储介质及处理器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7065619B1 (en) * | 2002-12-20 | 2006-06-20 | Data Domain, Inc. | Efficient data storage system |
CN101359325A (zh) * | 2007-08-01 | 2009-02-04 | 北京启明星辰信息技术有限公司 | 一种快速内容分析的多关键词匹配方法 |
CN101398820A (zh) * | 2007-09-24 | 2009-04-01 | 北京启明星辰信息技术有限公司 | 一种大规模关键词匹配方法 |
US7725437B2 (en) * | 2007-07-31 | 2010-05-25 | Hewlett-Packard Development Company, L.P. | Providing an index for a data store |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6789156B1 (en) * | 2001-05-22 | 2004-09-07 | Vmware, Inc. | Content-based, transparent sharing of memory units |
US8131739B2 (en) * | 2003-08-21 | 2012-03-06 | Microsoft Corporation | Systems and methods for interfacing application programs with an item-based storage platform |
US7454443B2 (en) * | 2003-08-26 | 2008-11-18 | Tamir Ram | Method, system, and program for personal data management using content-based replication |
US20050119999A1 (en) | 2003-09-06 | 2005-06-02 | Oracle International Corporation | Automatic learning optimizer |
US7849063B2 (en) * | 2003-10-17 | 2010-12-07 | Yahoo! Inc. | Systems and methods for indexing content for fast and scalable retrieval |
US7457800B2 (en) | 2004-10-06 | 2008-11-25 | Burnside Acquisition, Llc | Storage system for randomly named blocks of data |
US7730058B2 (en) * | 2005-10-05 | 2010-06-01 | Microsoft Corporation | Searching for information utilizing a probabilistic detector |
US7788223B2 (en) * | 2005-12-05 | 2010-08-31 | Microsoft Corporation | Resource freshness and replication |
US7716180B2 (en) * | 2005-12-29 | 2010-05-11 | Amazon Technologies, Inc. | Distributed storage system with web services client interface |
US7743013B2 (en) * | 2007-06-11 | 2010-06-22 | Microsoft Corporation | Data partitioning via bucketing bloom filters |
US8849838B2 (en) * | 2008-01-15 | 2014-09-30 | Google Inc. | Bloom filter for storing file access history |
US8055633B2 (en) * | 2008-01-21 | 2011-11-08 | International Business Machines Corporation | Method, system and computer program product for duplicate detection |
US8290972B1 (en) * | 2009-04-29 | 2012-10-16 | Netapp, Inc. | System and method for storing and accessing data using a plurality of probabilistic data structures |
US8396873B2 (en) * | 2010-03-10 | 2013-03-12 | Emc Corporation | Index searching using a bloom filter |
-
2010
- 2010-03-10 US US12/661,142 patent/US8396873B2/en active Active
-
2011
- 2011-03-07 WO PCT/US2011/000424 patent/WO2011112242A1/en active Application Filing
- 2011-03-07 CN CN201180013029.8A patent/CN102782643B/zh active Active
- 2011-03-07 EP EP11753708.4A patent/EP2545440A4/en not_active Ceased
-
2013
- 2013-02-08 US US13/762,650 patent/US8756238B2/en active Active
-
2014
- 2014-05-01 US US14/267,799 patent/US9201949B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7065619B1 (en) * | 2002-12-20 | 2006-06-20 | Data Domain, Inc. | Efficient data storage system |
US7725437B2 (en) * | 2007-07-31 | 2010-05-25 | Hewlett-Packard Development Company, L.P. | Providing an index for a data store |
CN101359325A (zh) * | 2007-08-01 | 2009-02-04 | 北京启明星辰信息技术有限公司 | 一种快速内容分析的多关键词匹配方法 |
CN101398820A (zh) * | 2007-09-24 | 2009-04-01 | 北京启明星辰信息技术有限公司 | 一种大规模关键词匹配方法 |
Non-Patent Citations (1)
Title |
---|
BENJAMIN ZHU ET AL: "Avoiding the disk bottleneck in the data domain deduplication file system", 《FAST’08:6TH USENIX CONFERENCE ON FILE AND STORAGE TECHNOLOGIES》, 29 February 2008 (2008-02-29) * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103927124A (zh) * | 2013-01-15 | 2014-07-16 | 深圳市腾讯计算机系统有限公司 | 以Hash方式组织的磁盘访问控制装置及方法 |
CN103927124B (zh) * | 2013-01-15 | 2018-03-13 | 深圳市腾讯计算机系统有限公司 | 以Hash方式组织的磁盘访问控制装置及方法 |
US10169250B2 (en) | 2013-01-15 | 2019-01-01 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus method and apparatus for controlling access to a hash-based disk |
CN104246722A (zh) * | 2013-03-29 | 2014-12-24 | 株式会社东芝 | 用于基于哈希表排除数据重复的存储系统,存储控制器及方法 |
CN103440249A (zh) * | 2013-07-23 | 2013-12-11 | 南京烽火星空通信发展有限公司 | 一种非结构化数据快速检索的系统及方法 |
CN103559215A (zh) * | 2013-10-14 | 2014-02-05 | 西安交通大学 | 一种面向内容网络中内容名存储结构的设计方法 |
CN103559215B (zh) * | 2013-10-14 | 2016-11-30 | 西安交通大学 | 一种面向内容网络中内容名存储结构的设计方法 |
CN104850564A (zh) * | 2014-02-18 | 2015-08-19 | 腾讯科技(深圳)有限公司 | 数据文件的索引查找方法和系统 |
CN104850564B (zh) * | 2014-02-18 | 2019-07-05 | 腾讯科技(深圳)有限公司 | 数据文件的索引查找方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US8756238B2 (en) | 2014-06-17 |
WO2011112242A1 (en) | 2011-09-15 |
EP2545440A4 (en) | 2014-05-21 |
US8396873B2 (en) | 2013-03-12 |
US20130218900A1 (en) | 2013-08-22 |
EP2545440A1 (en) | 2013-01-16 |
CN102782643B (zh) | 2016-06-08 |
US20140324880A1 (en) | 2014-10-30 |
US9201949B2 (en) | 2015-12-01 |
US20110225191A1 (en) | 2011-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102782643A (zh) | 使用布隆过滤器的索引搜索 | |
CN103902623B (zh) | 用于在存储系统上存取文件的方法和系统 | |
CN101796492B (zh) | 使用细分段的集群存储 | |
CN105069111B (zh) | 云存储中基于相似性的数据块级数据去重方法 | |
US8166012B2 (en) | Cluster storage using subsegmenting | |
CN109213738B (zh) | 一种云存储文件级重复数据删除检索系统及方法 | |
US10783115B2 (en) | Dividing a dataset into sub-datasets having a subset of values of an attribute of the dataset | |
CN110347651B (zh) | 基于云存储的数据同步方法、装置、设备及存储介质 | |
KR102160318B1 (ko) | 중개 시스템에서 데이터 집계 | |
US10366072B2 (en) | De-duplication data bank | |
CN106021256A (zh) | 使用基于云的对象存储的消除重复分布式文件系统 | |
US11188423B2 (en) | Data processing apparatus and method | |
CN108089816B (zh) | 一种基于负载均衡的查询式重复数据删除方法及装置 | |
WO2013086969A1 (zh) | 重复数据查找方法、装置及系统 | |
EP2845107A1 (en) | Segment combining for deduplication | |
JP6726690B2 (ja) | 基本データシーブを用いて無損失削減されたデータに対する多次元検索、コンテンツ連想的な取出し、ならびにキーワードベースの検索および取出しの実行 | |
CN112506877B (zh) | 基于重删域的数据重删方法、装置、系统及存储设备 | |
KR102529704B1 (ko) | 인 메모리 데이터베이스의 데이터를 처리하는 방법 및 장치 | |
CN111159125B (zh) | 一种用于数据存储及数据灾备的块重删技术 | |
CN106776772A (zh) | 一种数据检索的方法及装置 | |
US20110004750A1 (en) | Hierarchical skipping method for optimizing data transfer through retrieval and identification of non-redundant components | |
CN117828067A (zh) | 加密文档的检索方法、装置及系统 | |
CN117688125A (zh) | 一种索引管理方法、服务器及服务器集群 | |
WO2022262990A1 (en) | Method and system for indexing data item in data storage system and data indexing module |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |