CN104956340A - 可扩展数据重复删除 - Google Patents
可扩展数据重复删除 Download PDFInfo
- Publication number
- CN104956340A CN104956340A CN201480006411.XA CN201480006411A CN104956340A CN 104956340 A CN104956340 A CN 104956340A CN 201480006411 A CN201480006411 A CN 201480006411A CN 104956340 A CN104956340 A CN 104956340A
- Authority
- CN
- China
- Prior art keywords
- node
- key
- data segment
- section
- stored
- 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
- 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)
- 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
相关申请案交叉申请
本发明要求施广宇(Guangyu Shi)等人2013年3月13日递交的发明名称为“可扩展数据重复删除(Scalable Data Deduplication)”的第13/802,532号美国非临时专利申请案的在先申请优先权,其要求施广宇(Guangyu Shi)等人2013年1月29日递交的发明名称为“横向扩展数据重复删除服务的方法(Method to Scale Out Data Deduplication Service)”的第61/758,085号美国临时专利申请案的在先申请优先权,所述在先申请两者的内容好像全文复制一样以引入的方式并入本文本中。
关于由联邦政府赞助研究或开发的声明
研究或开发
不适用。
参考缩微胶片附录
不适用。
技术领域
无
背景技术
数据重复删除是用于压缩数据的技术。一般来说,数据重复删除通过识别并清除给定数据量的例如文件或文件部分等重复数据以便节省存储空间或传输带宽来起作用。例如,电子邮件服务可能包含多次出现的相同的电子邮件附件。出于说明的目的,假设电子邮件服务包括同一10兆字节(MB)附件的50个实例。因此,如果未清除重复,将需要500MB的存储空间来存储所有实例。如果使用数据重复删除,那么将仅需要10MB空间来保存并存储所述附件的一个实例。其它实例随后可以参考所述单个保存的附件复本。
数据重复删除通常包括分块和索引。分块是指基于预定义规则将连续数据划分成段。在索引期间,可以将每一段与历史数据进行比较以查看所检查的段是否是重复。经复制段可以被滤除并且不存储或传输,从而允许大大减小数据的总大小。
重要的是扩展数据重复删除以在服务器集群上运行,因为依赖单个服务器来执行所有或大多数任务可能导致系统的瓶颈或漏洞从而导致单个服务器故障。分块阶段可以经扩展以在多个服务器上运行,因为处理主要是局部的。只要每个服务器采用相同的算法和参数集,输出就应当相同,无论它是由单个服务器还是多个服务器处理。然而,索引阶段可能不容易扩展,因为通常可能需要全局表来判定段是否是经复制的。因此,需要横向扩展数据重复删除服务以减轻对单个服务器的过分依赖。
发明内容
在一个实施例中,本发明包含一种在节点上实施的方法,所述方法包括:根据密钥的子索引接收密钥,其中子索引识别节点,并且其中密钥对应于文件的数据段;根据密钥是否出现在哈希表中来判定数据段是否存储于数据存储系统中。
在另一实施例中,本发明包含一种节点,所述节点包括:用于根据密钥的子索引接收密钥的接收器,其中子索引识别节点,并且其中密钥对应于文件的数据段;以及处理器,所述处理器耦合到接收器并且用于根据密钥是否出现在哈希表中来判定数据段是否被存储。
在又另一个实施例中,本发明包含一种节点,所述节点包括:处理器,所述处理器用于获取存储数据文件的请求,将数据文件分为多个段,使用哈希函数判定来自多个段的段的密钥值,以及根据密钥值的子密钥索引识别定位器节点(L-节点),其中不同子密钥索引映射到不同L-节点;以及发射器,所述发射器耦合到处理器并且用于将密钥值传输到所识别L-节点。
从结合附图以及权利要求书进行的以下详细描述中将更清楚地理解这些以及其它特征。
附图说明
为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。
图1示出了数据存储系统的实施例的示意图。
图2是文件系统树的实施例的示意图。
图3是可扩展数据重复删除方法的实施例的流程图。
图4示出了用于实施的网络组件的实施例。
图5是通用计算机系统的实施例的示意图。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
本文中所公开的是用于扩展数据重复删除服务以在服务器集群之中操作的系统、方法和装置。“服务器”由于其在网络中的互连在本文中可以被称为“节点”。可存在三种类型的节点用于执行不同的任务。第一类型的节点可以执行将数据分为段。第二类型的节点可以包含索引表的一部分以便判定段是否是经复制的。第三类型的节点可以存储被重复删除或被滤除的段。第一类型的节点可以被称为便携式操作系统接口(POSIX文件系统)节点或P-节点,第二类型的节点可以被称为定位器节点或L-节点,并且第三类型的节点可以被称为拒绝器节点或O-节点。可存在多种给定类型的节点,其可以组织到所述类型节点的集群中。不同类型的节点可以分布的方式合作地执行数据重复删除服务以便减少导致节点故障的系统瓶颈和漏洞。
图1示出了采用数据重复删除的数据存储系统100的实施例的示意图。系统100可以包括如图1所示经由网络150连接的多个客户端110、P-节点120、O-节点130以及L-节点140。尽管出于说明性目的仅示出每种组件(例如,客户端110、P-节点120、O-节点130以及L-节点140)的三个组件,但是在数据重复删除系统中可以使用任何数目的每种组件。网络150可以包括一或多个交换机160,其可以使用软件定义网络或以太网技术。客户端110可以是在具有远程数据存储需要的设备上的应用程序。所述设备可以是例如台式计算机、平板电脑或智能电话。在系统100中,客户端110可以请求存储文件,在此情况下文件被传送到P-节点120。可以基于文件的目标数据目录来选择P-节点。P-节点120可以是基于预定义规则处理数据以将数据分成多个段的节点,所述规则可以是基于文件的(每个文件为信息块),基于块的(每个固定长度的块为信息块)或基于字节的(可变长度的字节数据为信息块)。P-节点120可以经由哈希函数生成段的指纹。段的指纹可以是数据段的摘要,表示为一串二进制代码。例如,安全哈希算法1(SHA1)或信息摘要5(MH5)可以在它们应用于数据段时用来推导段指纹。
图2描绘了文件系统树200中的主机目录的实施例。文件系统200可以包括一或多个目录和子目录,其可以通过P-节点120等P-节点托管。P-节点可以基于文件树结构来组织,因为这是大多数文件系统的常规结构。P-节点可以共同覆盖整个文件系统树,如图2的系统树200中所见,其通过三个P-节点的集群覆盖,其中主机目录(/bin、/dev和/usr目录可以包含系统文件)在表1中示出。
Server_ID | 主机目录 |
P_A | / |
P_B | /home |
P_C | /root,/home/dfs |
表1:P-节点的主机映射关系的实例。
一旦在选定P-节点120处已经生成段以及对应的指纹,就可以接合L-节点140。L-节点140可以是判定段是否经复制的索引节点。所提出的数据重复删除可以利用分布式方法,其中每个L-节点140负责特定密钥集。因此,系统100可以不受集中式全局表的共享限制,而是服务可以在不同节点之中充分分布。
存储系统100中的L-节点140可以组织为分布式哈希表(DHT)环,其具有作为其密钥的段指纹。密钥空间可以足够大使得可能采用在段与其指纹之间的一对一映射而没有任何冲突。L-节点140的集群可以用来处理全部或一部分密钥空间(在整个密钥空间对于任何单个L-节点可能太大时)。常规分配方法可以应用于改进这些L-节点140之中的负载的平衡。例如,密钥空间可以划分成更小的不重叠的子密钥空间,并且每个L-节点140可以负责一或多个不重叠的子密钥空间。由于每个L-节点140管理整个密钥空间的一或多个不重叠部分,因此在L-节点140之间可能无需通信。
表2示出均匀划分成4个子密钥空间的密钥空间的实例。给出的实例采用四个L-节点,其中每个节点处理不重叠的子密钥空间。表2中的前缀可以指段指纹或密钥的前两位。每个P-节点可以存储此表并且使用它来判定哪个L-节点负责某一段。取决于具体的子密钥空间前缀,段可以被发送到适当的L-节点。
Server_ID | 子密钥空间前缀 |
L_A | 00 |
L_B | 01 |
L_C | 10 |
L_D | 11 |
表2:具有相关联的子密钥空间的L-节点的实例。
返回到图1的实施例,如果段是新的,那么其存储空间可以由L-节点140分配;否则的话,可以返回含有例如段的指针、其大小以及可能其它相关联信息的段的定位器。
在滤除和索引之后,唯一段可以存储于O-节点130的集群中。O-节点130可以是基于新段的定位器存储所述段的存储节点。如果在L-节点中实施空间分配功能,那么可以松散地组织O-节点130。在一个实施例中,每个L-节点140可以在遇到新段时在特定O-节点130上分配一部分空间(可以使用多种算法中的任一者,例如轮循调度算法,来在O-节点上分配空间)。替代地,在另一实施例中,可以严格地组织O-节点130。例如,O-节点130可以形成DHT环,其中每个O-节点130负责在一些子密钥空间中存储段,类似于组织L-节点140的方式。如所属领域的技术人员将容易地认识到,只要在每个段与其存储节点之间存在经定义的映射,就可以应用O-节点130的其它组织形式。
借助于其它实例,假设客户端110想要将文件写入到存储系统中。基于每个文件的目录,所述文件可以首先与P-节点120中的一者有关。每个交换机160可以存储或可以存取文件系统映射(例如,表1等表),其取决于主机目录判定与哪个P-节点120通信。接着,选定P-节点120可以将数据分成段并且生成对应指纹。接下来,针对每个段,可以选择L-节点140以检查特定段是否是经复制的。如果所述段是新的,那么O-节点130可以存储所述数据。如果所述数据已经在存储系统中,那么其将不被存储。
在从系统读取的数据的实例中,客户端110请求可以首先去往其中存在指向所请求的数据的指针的特定P-节点120。接着,P-节点120可以搜索含有重新构建所述数据所需的所有段信息的本地表。接下来,P-节点120可以发出一或多个请求到O-节点130以检索每个段。一旦已经收集了所有段,P-节点120就可以将它们放在一起并且将数据返回给客户端110。P-节点120还可以基于段的可用性逐个部分地将数据返回给客户端110。
图3是存储数据的方法的实施例的流程图300。流程图300的步骤可以在具有至少一个P-节点、至少一个O-节点以及多个L-节点的数据存储系统中实施,例如包括P-节点120、O-节点130以及L-节点140的数据存储系统100。流程图开始于框310中,其中P-节点(例如,图1中的P-节点120)可以接收来自客户端请求的数据。可以根据文件的目标主机目录(例如,使用表1等表)选择具体的P-节点。接下来在框320中,可以进行分块,其中P-节点基于预定义规则将数据解析或划分成N段,其中N是满足N≥1的整数。此外,可以将哈希函数应用于每个段以生成用于每个段的指纹或密钥。在框325处,可以引入迭代步骤,其中i是指针对第i段的索引。所述方法在框330中继续,其中P-节点可以判定针对第i段接触哪个L-节点(例如L-节点140)。可以基于第i段的指纹的子密钥选择L-节点。可以在各个L-节点之中分隔密钥空间。在框340处,密钥可以被传输到选定L-节点并且所述L-节点接收所述密钥。
在框350处,L-节点可以根据所述密钥是否出现在存储于L-节点中的哈希表中来检查所述段是否存储于O-节点(例如,图1中的O-节点130)中。哈希表可以使用密钥来查询对应数据段的存储位置。每个L-节点可以具有其自身的密钥子集以用于O-节点上的空间的指派。基于此信息,在框360处,L-节点可以判定所述段是否是经复制的。如果所述段已经存储,那么在框365中,L-节点可以将所述段的位置信息的指示(例如,指向位置以及所分配空间的大小的指针)返回或传输到P-节点,并且在框370中,P-节点可以用经复制段的位置更新对应元数据。因此,可以不存储第i段,因为其是重复。否则的话,如果不是重复,那么方法在框380中继续,其中L-节点可以在O-节点上分配空间并且L-节点可以向进行请求的P-节点返回位置信息(例如,指向所分配空间的指针)。在框390处,可以将原始数据段存储在O-节点上。在框360之后,L-节点可以向P-节点返回所述段是否是经复制的指示。所述指示可以是明确的或隐式的。若所述段是经复制的则指示可以是一位序列,并且若所述段不是经复制的则指示可以是不同位序列。在框370或390之后视具体情况而定,在决策框372中对是否i=N做出判定(即,是否已经针对复制情况测试了所有N段)。如果是,流程图可以结束。如果不是,则在框375中将i的值递增一并且流程图300返回到框330。
在实施例300中,P-节点可以仅发送密钥值到L-节点而不传输对应段到L-节点。如果在检查复制情况之后将需要存储所述段,那么P-节点可以发送所述段到选定O-节点。在替代实施例中,段可以从P-节点传输到L-节点。如果通过L-节点判定所述段不是重复,那么L-节点可以发送所述段到选定O-节点。
本发明中所描述的特征或方法中的至少一些可以在任何通用网络组件上实施,例如具有足够处理能力、存储器资源和网络吞吐能力以处理置于其上的必需工作负载的计算机系统或网络组件。图4示出了可以用于在存储系统100中使用的交换机的实施方案的网络组件400的实例,所述交换机例如交换机160。网络组件400可以包括多个入端口410、处理器或逻辑单元420、存储器设备435以及多个出端口430。入端口410和出端口430可以分别用于从其它节点接收数据、段或文件以及向其它节点传输数据、段或文件。逻辑单元420可以用于判定向哪个节点发送帧并且可以包括一或多个多核处理器。入端口410和/或出端口430还可以含有电力和/或光学传输和/或接收组件。存储器设备435可以存储用于将文件映射到P-节点的信息,所述信息的实例在表1中示出。
图5示出了适于实施本文中所公开的组件的一或多个实施例的计算机系统500,所述组件例如P-节点120、O-节点130以及L-节点140。计算机系统500包含与存储器设备通信的处理器502(其可以被称为CPU),所述存储器设备包含辅助存储装置504、只读存储器(ROM)506、随机存取存储器(RAM)508、输入/输出(I/O)设备510以及发射器/接收器(或收发器)512。处理器502可以实施为一或多个CPU芯片、核心(例如,多核心处理器)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)和/或数字信号处理器(DSP),和/或可以是一或多个ASIC的一部分。处理器502可以实施或用于执行客户端、P-节点、O-节点或L-节点的功能中的任一者,例如流程图300的部分。
辅助存储装置504通常由一或多个磁盘驱动器或磁带驱动器组成,并且用于数据的非易失性存储,且在RAM 508不足以容纳所有工作数据时用作溢流数据存储设备。当加载到RAM 508中的程序经选定用于执行时,辅助存储装置504可以用来存储此类程序。ROM 506用于存储在程序执行期间被读取的指令和可能的数据。ROM 506是非易失性存储器设备,其通常具有相对于辅助存储装置504的较大存储器容量较小的存储器容量。RAM 508用于存储易失性数据且可能用于存储指令。对ROM 506和RAM 508两者的存取通常比对辅助存储装置504的存取更快。
I/O设备510可以包含视频监视器、液晶显示器(LCD)、触摸屏显示器或用于显示信息的其它类型的视频显示器。I/O设备510还可包含一或多个键盘、鼠标或轨迹球,或其它熟知的输入设备。
发射器/接收器512可以充当计算机系统500的输出和/或输入设备。发射器/接收器512可以采用以下形式:调制解调器、调制解调器组、以太网卡、通用串行总线(USB)接口卡、串行接口、令牌环卡、光纤分布式数据接口(FDDI)卡、无线局域网(WLAN)卡、码分多址接入(CDMA)等无线电收发器卡、全球移动通信系统(GSM)、长期演进(LTE)、全球微波接入互操作性(WiMax)、和/或其它空中接口协议的无线电收发器卡以及其它熟知的网络设备。发射器/接收器512可以使得处理器502能够与因特网和/或一或多个内联网和/或一或多个客户端设备通信。
应理解,通过将可执行指令编程和/或加载到计算机系统500上,处理器502、ROM 506和RAM 508中的至少一者发生改变,从而将计算机系统500部分地变换为特定机器或装置,例如L-节点、P-节点或O-节点,其具有本发明所教示的新颖功能。对于电力工程及软件工程技术来说重要的是,可通过将可执行软件加载到计算机中来实施的功能性可以通过熟知设计规则而转换为硬件实施方案。在软件还是硬件中实施概念之间的决策通常与设计的稳定性及待产生的单元的数目的考虑有关,而与从软件域转移到硬件域所涉及的任何问题无关。通常,仍在经受频繁改变的设计可以优选在软件中实施,因为重改硬件实施方案比重改软件设计更为昂贵。通常,将以较大量产生的稳定的设计可以优选在硬件中实施,例如在ASIC中实施,因为运行硬件实施方案的大型生产可能比软件实施方案便宜。通常,一个设计可以软件形式开发及测试,且稍后通过熟知设计规则变换为对软件的指令进行硬连线的专用集成电路中的等效硬件实施方案。采用与由新ASIC控制的机器相同的方式的为特定机器或装置,同样,已经编程和/或加载有可执行指令的计算机可视为特定机器或装置。
本发明公开至少一项实施例,且所属领域的普通技术人员对所述实施例和/或所述实施例的特征作出的变化、组合和/或修改均在本发明公开的范围内。因组合、合并和/或省略所述实施例的特征而得到的替代性实施例也在本发明的范围内。在明确说明数字范围或限制的情况下,此类表达范围或限制可以被理解成包括在明确说明的范围或限制内具有相同大小的迭代范围或限制(例如,从约为1到约为10包括2、3、4等;大于0.10包括0.11、0.12、0.13等)。例如,只要公开具有下限Rl和上限Ru的数字范围,则明确公开了此范围内的任何数字。具体而言,在所述范围内的以下数字是明确公开的:R=Rl+k*(Ru-Rl),其中k为从1%到100%范围内以1%递增的变量,即,k为1%、2%、3%、4%、5%……50%、51%、52%……95%、96%、97%、98%、99%或100%。此外,由上文所定义的两个数字R定义的任何数字范围也是明确公开的。除非另有说明,否则术语“约”是指随后数字的±10%。相对于权利要求的任一元素使用术语“选择性地”意味着所述元素是需要的,或者所述元素是不需要的,两种替代方案均在所述权利要求的范围内。使用如“包括”、“包含”和“具有”等较广术语应被理解为提供对如“由……组成”、“基本上由……组成”以及“大体上由……组成”等较窄术语的支持。因此,保护范围不受上文所陈述的说明限制,而是由所附权利要求书界定,所述范围包含所附权利要求书的标的物的所有等效物。每一和每条权利要求作为进一步揭示内容并入说明书中,且所附权利要求书是本发明的实施例。对所述揭示内容中的参考进行的论述并非承认其为现有技术,尤其是具有在本申请案的在先申请优先权日期之后的公开日期的任何参考。本发明中所引用的所有专利、专利申请案和公开案的揭示内容特此以引用的方式并入本文本中,其提供补充本发明的示例性、程序性或其它细节。
虽然本发明多个具体实施例,但应当理解,所公开的系统和方法也可通过其它多种具体形式体现,而不会脱离本发明的精神或范围。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法进行组合或合并。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式通过某一接口、设备或中间部件间接地耦合或通信。其它变更、替换、更替示例对本领域技术人员而言是显而易见的,均不脱离此处公开的精神和范围。
Claims (20)
1.一种在节点上实施的方法,其特征在于,所述方法包括:
根据密钥的子索引接收所述密钥,其中所述子索引识别所述节点,并且其中所述密钥对应于文件的数据段;以及
根据所述密钥是否出现在哈希表中来判定所述数据段是否存储于数据存储系统中。
2.根据权利要求1所述的方法,其特征在于,如果所述密钥出现在所述哈希表中则判定所述数据段为被存储,并且其中如果所述密钥未出现在所述哈希表中则判定所述数据段为未存储。
3.根据权利要求1所述的方法,其特征在于,所述密钥空间跨越包含所述节点的多个节点,并且其中所述密钥空间被划分成不重叠区域且所述多个节点中的每一者负责所述不重叠区域中的一者。
4.根据权利要求1所述的方法,其特征在于,进一步包括传输所述数据段是否被存储的指示。
5.根据权利要求2所述的方法,其特征在于,进一步包括:
如果所述数据段被判定为未存储,则:
在拒绝器节点(O-节点)上分配用于所述段的存储装置;以及
产生指向所述所分配存储装置的第一指针。
6.根据权利要求5所述的方法,其特征在于,进一步包括:
如果所述数据段被判定为被存储,则:
产生指向O-节点上的所述数据段的位置的第二指针。
7.根据权利要求4所述的方法,其特征在于,从便携式操作系统接口(POSIX)节点(P-节点)接收所述密钥,并且其中将所述指示传输到所述P-节点。
8.一种节点,其特征在于,包括:
接收器,所述接收器用于根据密钥的子索引接收所述密钥,其中所述子索引识别所述节点,并且其中所述密钥对应于文件的数据段;以及
处理器,所述处理器耦合到所述接收器并且用于根据所述密钥是否出现在哈希表中来判定所述数据段是否被存储。
9.根据权利要求8所述的节点,其特征在于,如果所述密钥出现在所述哈希表中则判定所述数据段为被存储,并且其中如果所述密钥未出现在所述哈希表中则判定所述数据段为未存储。
10.根据权利要求8所述的节点,其特征在于,所述密钥空间跨越包含所述节点的多个节点,并且其中所述密钥空间被划分成不重叠区域且所述多个节点中的每一者负责所述不重叠区域中的一者。
11.根据权利要求8所述的节点,其特征在于,进一步包括发射器,所述发射器用于传输所述数据段是否被存储的指示。
12.根据权利要求9所述的节点,其特征在于,所述处理器进一步用于:
如果所述数据段被判定为未存储,则:
在拒绝器节点(O-节点)上分配用于所述段的存储装置;以及
产生指向所述所分配的存储装置的第一指针。
13.根据权利要求12所述的节点,其特征在于,所述处理器进一步用于:
如果所述数据段被判定为被存储,则:
产生指向O-节点上的所述数据段的位置的第二指针。
14.根据权利要求11所述的节点,其特征在于,从便携式操作系统接口(POSIX)节点(P-节点)接收所述密钥,并且其中将所述指示传输到所述P-节点。
15.根据权利要求10所述的节点,其特征在于,所述多个节点是定位器节点(L-节点)集群。
16.一种节点,其特征在于,包括:
处理器,所述处理器用于:
获取存储数据文件的请求;
将所述数据文件分为多个段;
使用哈希函数判定来自所述多个段的一段的密钥值;以及
根据所述密钥值的子密钥索引识别定位器节点(L-节点),其中不同子密钥索引映射到不同L-节点;以及
发射器,所述发射器耦合到所述处理器并且用于:
将所述密钥值传输到所述所识别L-节点。
17.根据权利要求16所述的节点,其特征在于,进一步包括:
接收器,所述接收器耦合到所述处理器并且用于接收所述请求,其中所述请求基于所述节点负责所述数据文件将存储于其中的目录而被传输到所述节点。
18.根据权利要求16所述的节点,其特征在于,进一步包括:
接收器,所述接收器用于:
从所述所识别L-节点接收所述段是否被存储的指示,其中如果所述段指示为未存储,则所述指示包含指向拒绝器节点(O-节点)上的所分配空间的指针,并且所述处理器进一步用于将所述段引导到所述O-节点上的所述所分配空间以用于存储。
19.根据权利要求18所述的节点,其特征在于,如果所述段指示为被存储,则所述指示指示其中存储所述段的所述O-节点,并且所述处理器进一步用于请求来自其中存储所述段的所述O-节点的所述段。
20.根据权利要求16所述的节点,其特征在于,所述哈希函数的所述密钥空间经由所述不同L-节点分隔。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361758085P | 2013-01-29 | 2013-01-29 | |
US61/758,085 | 2013-01-29 | ||
US13/802,532 US20140214775A1 (en) | 2013-01-29 | 2013-03-13 | Scalable data deduplication |
US13/802,532 | 2013-03-13 | ||
PCT/CN2014/071663 WO2014117729A1 (en) | 2013-01-29 | 2014-01-28 | Scalable data deduplication |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104956340A true CN104956340A (zh) | 2015-09-30 |
CN104956340B CN104956340B (zh) | 2018-06-19 |
Family
ID=51224107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480006411.XA Active CN104956340B (zh) | 2013-01-29 | 2014-01-28 | 可扩展数据重复删除 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140214775A1 (zh) |
CN (1) | CN104956340B (zh) |
WO (1) | WO2014117729A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9251160B1 (en) * | 2013-06-27 | 2016-02-02 | Symantec Corporation | Data transfer between dissimilar deduplication systems |
US9952933B1 (en) * | 2014-12-31 | 2018-04-24 | Veritas Technologies Llc | Fingerprint change during data operations |
US9396341B1 (en) * | 2015-03-31 | 2016-07-19 | Emc Corporation | Data encryption in a de-duplicating storage in a multi-tenant environment |
US10222987B2 (en) | 2016-02-11 | 2019-03-05 | Dell Products L.P. | Data deduplication with augmented cuckoo filters |
US11010077B2 (en) | 2019-02-25 | 2021-05-18 | Liveramp, Inc. | Reducing duplicate data |
US10873639B2 (en) * | 2019-04-04 | 2020-12-22 | Cisco Technology, Inc. | Cooperative caching for fast and scalable policy sharing in cloud environments |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102473127A (zh) * | 2009-07-16 | 2012-05-23 | 国际商业机器公司 | 在包含源和目标的分布式环境中进行重复数据删除的集成方法 |
US8204868B1 (en) * | 2008-06-30 | 2012-06-19 | Symantec Operating Corporation | Method and system for improving performance with single-instance-storage volumes by leveraging data locality |
US20120166403A1 (en) * | 2010-12-24 | 2012-06-28 | Kim Mi-Jeom | Distributed storage system having content-based deduplication function and object storing method |
CN102567218A (zh) * | 2010-12-17 | 2012-07-11 | 微软公司 | 用于数据去重复块存储的垃圾收集和热点释放 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7992037B2 (en) * | 2008-09-11 | 2011-08-02 | Nec Laboratories America, Inc. | Scalable secondary storage systems and methods |
US8205065B2 (en) * | 2009-03-30 | 2012-06-19 | Exar Corporation | System and method for data deduplication |
CN102469142A (zh) * | 2010-11-16 | 2012-05-23 | 英业达股份有限公司 | 重复数据删除程序的数据传输方法 |
CN102200936A (zh) * | 2011-05-11 | 2011-09-28 | 杨钧 | 适用于云存储的智能配置存储备份方法 |
US8762353B2 (en) * | 2012-06-13 | 2014-06-24 | Caringo, Inc. | Elimination of duplicate objects in storage clusters |
-
2013
- 2013-03-13 US US13/802,532 patent/US20140214775A1/en not_active Abandoned
-
2014
- 2014-01-28 CN CN201480006411.XA patent/CN104956340B/zh active Active
- 2014-01-28 WO PCT/CN2014/071663 patent/WO2014117729A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8204868B1 (en) * | 2008-06-30 | 2012-06-19 | Symantec Operating Corporation | Method and system for improving performance with single-instance-storage volumes by leveraging data locality |
CN102473127A (zh) * | 2009-07-16 | 2012-05-23 | 国际商业机器公司 | 在包含源和目标的分布式环境中进行重复数据删除的集成方法 |
CN102567218A (zh) * | 2010-12-17 | 2012-07-11 | 微软公司 | 用于数据去重复块存储的垃圾收集和热点释放 |
US20120166403A1 (en) * | 2010-12-24 | 2012-06-28 | Kim Mi-Jeom | Distributed storage system having content-based deduplication function and object storing method |
Non-Patent Citations (2)
Title |
---|
ION STOICA, ETAL: "《Chord:A Scalable Peer-to-peer Lookup Service for Internet Applications》", 《ACM SIGCOMM COMPUTER COMMUNICATION REVIEW -PROCEEDINGS OF THE 2001 SIGCOMM COFERENCE HOMEPAGE》 * |
JIANSHENG WEI,ET AL: "《MAD2:A Scalable High-Throughput Exact Dedeplication Approach for Network Backup Services》", 《MASS STORAGE SYSTEMS AND TECHNOLOGIES,2010 IEEE 26TH SYMPOSIUM ON》 * |
Also Published As
Publication number | Publication date |
---|---|
CN104956340B (zh) | 2018-06-19 |
US20140214775A1 (en) | 2014-07-31 |
WO2014117729A9 (en) | 2014-10-02 |
WO2014117729A1 (en) | 2014-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9933979B2 (en) | Device and method for storing data in distributed storage system | |
US10216753B2 (en) | Data fragmentation tuning and candidacy persistence | |
CN104956340A (zh) | 可扩展数据重复删除 | |
CN103020255B (zh) | 分级存储方法和装置 | |
WO2016149552A1 (en) | Compaction policy | |
US20170177652A1 (en) | Copying garbage collector for b+ trees under multi-version concurrency control | |
CN106462430A (zh) | 应用升级包获取方法及装置 | |
CN104881466A (zh) | 数据分片的处理以及垃圾文件的删除方法和装置 | |
US11106394B2 (en) | Storing an entity as an object or a file in a hybrid storage system based on an accessing protocol | |
CN102739622A (zh) | 一种可扩展的数据存储系统 | |
CN106133703A (zh) | 使用rdma来扫描内存用于删除重复 | |
CN104823184A (zh) | 一种数据处理方法、系统及客户端 | |
CN113508373A (zh) | 分布式的基于元数据的集群计算 | |
CN103049574B (zh) | 实现文件动态副本的键值文件系统及方法 | |
US11216421B2 (en) | Extensible streams for operations on external systems | |
US20180107404A1 (en) | Garbage collection system and process | |
CN105183670A (zh) | 用于分布式缓存系统的数据处理方法和装置 | |
US20190227928A1 (en) | Cost-based garbage collection scheduling in a distributed storage environment | |
CN108319634B (zh) | 分布式文件系统的目录访问方法和装置 | |
US20140279883A1 (en) | Method and a system for distributed processing of a dataset | |
CN114138558A (zh) | 一种对象存储方法、装置、电子设备和存储介质 | |
US9020902B1 (en) | Reducing head and tail duplication in stored data | |
US10311026B2 (en) | Compressed data layout for optimizing data transactions | |
CN115905168B (zh) | 基于数据库的自适应压缩方法和装置、设备、存储介质 | |
US20230237043A1 (en) | Accelerating change data capture determination using row bitsets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |