CN102473127B - 在包含源和目标的分布式环境中进行重复数据删除的方法 - Google Patents
在包含源和目标的分布式环境中进行重复数据删除的方法 Download PDFInfo
- Publication number
- CN102473127B CN102473127B CN201080030039.8A CN201080030039A CN102473127B CN 102473127 B CN102473127 B CN 102473127B CN 201080030039 A CN201080030039 A CN 201080030039A CN 102473127 B CN102473127 B CN 102473127B
- Authority
- CN
- China
- Prior art keywords
- data
- duplication
- computing system
- target
- 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.)
- Active
Links
Classifications
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
- G06F16/1752—De-duplication implemented within the file system, e.g. based on file segments based on file chunks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Human Computer Interaction (AREA)
Abstract
本发明的一方面包括允许在客户端(源)位置和服务器(目标)位置两者上执行重复数据删除活动的存储管理系统配置。所述重复数据删除操作的位置然后可以根据系统状况或预定策略进行优化。在一个实施例中,通过使用统一的重复数据删除过程算法以及访问同一重复数据删除索引(包含有关散列的数据块的信息)来实现在客户端和服务器之间的重复数据删除活动的无缝切换。此外,对数据块的任何数据转换是在识别数据块之后执行的。因此,使用该存储配置,所述存储系统可以找到并利用通过客户端或服务器端重复数据删除产生的匹配块。
Description
技术领域
本发明一般地涉及在数据存储系统内执行的数据存储和维护操作。更具体地说,本发明涉及一种用于通过在数据源和目标两者上执行重复数据删除(deduplication)活动,有效地在存储管理系统中执行重复数据删除的集成方法。
背景技术
重复数据删除(消除冗余数据的过程)正在成为在存储系统中部署的重要技术。重复数据删除可以减少所需的存储容量,因为仅存储每个唯一的数据部分。在典型的配置中,诸如存储管理服务器或VTL(虚拟磁带库)之类的基于盘的存储系统能够检测冗余数据“区”(extent)(也称为“块”(chunk))并且通过避免对这样的区进行冗余存储来减少重复。例如,重复数据删除存储系统可以将文件A分为数据块a-h,检测到数据块b和e为冗余数据,并且将所述冗余数据块仅存储一次。所述冗余可能在文件A中出现,也可能在存储系统中存储的其他文件中出现。
存在对数据对象进行重复数据删除的已知技术。但是,现有的重复数据删除解决方案不允许共享在源或目标上执行的重复数据删除操作所产生的数据块。客户被迫部署低效且不完整的重复数据删除设备(appliance),或者在无法共享已执行重复数据删除的数据的两个产品上部署重复数据删除。
发明内容
本发明的一方面包括使用执行重复数据删除的集成方法解决上述问题的解决方案。在一个实施例中,一种系统配置允许在源(客户端)和目标(服务器)重复数据删除活动之间进行无缝切换(如在此互换地使用那样,客户端为源,服务器为目标)。所述切换可以在文件级或节点级(节点是目标存储服务器内看到的来自源客户端的所有数据的表示)上发生。因此,客户端节点A可以被配置为执行源端重复数据删除,而客户端节点B将被配置为执行目标端重复数据删除。此外,由目标或源上执行的重复数据删除活动产生的块可以在多个节点之间以及在不同文件之间重复使用。
在本发明的一个实现中,此集成重复数据删除功能是通过部署同一重复数据删除过程和在源和目标之间共享重复数据删除索引来实现的。诸如压缩和加密之类的任何数据转换在数据块的指纹识别(fingerprinting)和散列识别之后执行,以确保在整个存储管理系统的任何部分上存储的数据块都相互完全相同。在其他实现中,提供了判定重复数据删除位置的策略,以允许对将在客户端或者服务器环境中执行的重复数据删除的范围进行自动的和粒度的定义。
尽管本公开针对客户端和服务器描述了本发明的各方面,但是本发明并不限于客户端-服务器实现。相反,所公开的操作可以应用于涉及源和目标之间已执行重复数据删除的数据的存储和检索的任何解决方案。
本发明的一个实施例允许在分布式存储管理系统中的源位置或目标位置上执行数据文件重复数据删除。所述存储管理系统具有与目标计算系统相连的源计算系统,以及位于所述目标计算系统内的目标数据存储。所述存储管理系统进一步维护用于跟踪在所述目标数据存储内存储的已执行重复数据删除的数据块的共享索引。
在一个实施例中,所述共享索引作为数据库进行共享,并且可由源计算机器和目标计算机器中的每个进行访问。替代地,共享索引可通过在源和所述目标之间实现数据块信息的通信的客户端-服务器协议进行访问。
提供了重复数据删除过程以对要存储在目标数据存储内的数据块执行重复数据删除。重复数据删除是通过在目标计算系统或源计算系统上执行重复数据删除指令来执行的。因此,使用重复数据删除过程将数据文件转换为一组已执行重复数据删除的数据块。在重复数据删除之后,该组已执行重复数据删除的数据块存储在目标数据存储内,并且在共享索引中更新该组已执行重复数据删除的数据块的重复数据删除信息。该组已执行重复数据删除的数据块可以在以后恢复到源。
进一步的实施例使用指纹识别算法定义数据块,但是只要源和目标使用同一种机制,被选择定义数据块的任何机制都将是可行的。在一个实施例中,所述重复数据删除过程包括用于将数据分为可变大小块的指纹识别算法和用于识别源计算系统和所述目标计算系统中的每个上的重复数据块的散列算法。替代地,所述重复数据删除过程可以包括用于在源计算系统上执行的重复数据删除活动的第一组指纹识别和散列算法,以及用于在目标计算系统上执行的重复数据删除活动的第二组指纹识别和散列算法。
此外在进一步的实施例中,数据转换在指纹识别和散列识别之后执行。这些数据转换可以包括压缩和加密中的一项或两项。响应于将所述一组已执行重复数据删除的数据块恢复到源计算机器,可由源计算机器针对每个数据块撤消所述数据转换。替代地,在将所述一组已执行重复数据删除的数据块恢复到源计算机器之前,可由目标计算机器撤消所述转换。
本发明的另一实施例根据使用选定策略在分布式存储管理系统中的源位置或目标位置上执行数据文件的重复数据删除。该存储管理系统还被配置为支持与目标计算系统相连的源计算系统,其中目标数据存储位于目标计算系统内,并且存储在目标数据存储中的数据的重复数据删除信息通过共享索引进行管理。在该实施例中,针对将要存储在目标数据存储内的数据文件的重复数据删除选择散列算法。
在该实施例中,应用从多个已定义策略中选定的策略以判定重复数据删除活动在源计算机器上或者在目标计算机器上的位置。使用选定的重复数据删除过程在所判定的位置上对数据文件执行重复数据删除,并且在共享索引内更新数据文件的重复数据删除信息。在进一步的实施例中,除了其他因素之外,可以根据时间、系统负荷、文件类型、文件特征、客户端节点和策略域来选择所述选定策略。
附图说明
现在将仅通过举例,参考下面的附图中所示的优选实施例对本发明进行描述,这些附图是:
图1A-1C示出在现有技术中公知的分别在源、目标和设备上执行重复数据删除活动的存储管理系统的示例配置;
图2A示出根据本发明的一个实施例在源上执行集成重复数据删除活动的存储管理系统的示例配置;
图2B示出根据本发明的一个实施例在目标上执行集成重复数据删除活动的存储管理系统示例配置;
图3示出显示根据本发明的一个实施例如何在源上执行重复数据删除活动的流程图;以及
图4示出显示根据本发明的一个实施例在存储系统内的源和目标上执行重复数据删除的示例操作的流程图。
具体实施方式
本发明的各种实施例实现了对存储管理系统内发生的重复数据删除活动的优化控制。现有的存储系统只在一个位置上执行重复数据删除活动。与之相比,此处公开的配置实现了可以在数据源位置和数据目标位置中的任何一个或两个上执行的集成和优化的重复数据删除过程。
在现有的存储管理配置中,通过唯一地在源、目标或外部存储设备上执行重复数据删除活动产生了若干折衷。本发明的各种实施例通过允许在源或目标上执行重复数据删除过程,解决了这些限制。这使得能够成功地存储、查找和使用在存储系统中通过客户端或服务器端重复数据删除产生的匹配数据块。
本发明的各种实施例进一步提供了响应于多种因素,对重复数据删除活动的增强控制。整个存储管理系统中执行的重复数据删除活动的位置可以根据特定的策略、文件类型、条件或其他已定义的设置在粒度级别上进行控制。
在用于对数据对象执行重复数据删除的典型的重复数据删除过程中,首先使用诸如Rabin指纹之类的方法将对象分为多个数据块。通过使用诸如MD5或SHA-1之类的散列函数产生每个数据块的散列值,然后将该值与系统上已存储的块的值进行比较,来检测冗余数据块。
这些已存储块的散列值在索引中进行维护。如果识别到冗余块,则使用匹配块的指针替换此块。
在客户端-服务器存储管理系统中,重复数据删除活动的位置(即,识别和删除冗余数据块的位置)取决于特定系统的配置。使用现有配置,可以在数据源(客户端)、数据目标(存储服务器)、或与存储服务器相连的重复数据删除设备上执行重复数据删除。与每个重复数据删除操作位置关联的若干优点和缺点如下:
在数据源上执行重复数据删除
将数据传输到目标之前,在数据源上执行重复数据删除活动的一些优点包括:节约网络;节约数据存储;以及在源硬件上而非在目标上花费CPU周期。一些缺点包括:可能出现导致不可恢复数据的散列冲突;即使源硬件正用于其他目的或者目标具有可用周期,也需要在源上使用CPU周期;以及已在目标存储服务器上存储的遗留数据不能被重复数据删除利用。
图1A示出现有技术中公知的在源位置上执行重复数据删除活动的存储管理系统100的示例配置。所述存储系统包括客户端(数据源)120和服务器(数据目标)140,它们通过网络130相连。在所述存储系统的正常操作过程中,数据从诸如客户端120之类的各种客户端节点传输到服务器140内的数据存储库145以进行备份、归档、迁移或其他管理。
如图所示,文件105由客户端120摄取。当读取文件105时,该文件被分为若干区块(block)或块,示为块“A”110、“B”111、“B”112、“A”113、“C”114。在该示例中,块A 110与块A 113重复,且块B 111与块B112重复。
在该操作中,客户端120通常不会等到整个文件被摄取就会将块发送到服务器140(取决于客户端配置,产生一个或仅少数几个块的特别小的文件除外)。客户端120从一文件位置读取数据,或者当诸如电子邮件或数据库服务器之类的第三方应用在存储器缓冲区中提供数据时读取数据。当客户端120读取文件105的数据时,重复数据删除(DEDUP)过程122执行指纹识别、散列、识别重复数据块以及将唯一的数据块发送到服务器。因此,客户端120将在任何已执行重复数据删除的相关数据最终传输到存储库服务器140之前执行文件105的重复数据删除。
尽管图1A示出对文件105执行带内重复数据删除(在将文件摄入客户端数据存储期间执行重复数据删除),但是本领域的技术人员将理解,也可以使用类似的客户端重复数据删除操作对文件105执行带外重复数据删除(在将文件摄入客户端之后执行重复数据删除)。
数据块151、152、153组示出通过网络130将哪些数据块从客户端传输到存储服务器。由于文件105的块在客户端系统120上执行了重复数据删除操作,因此仅将三个已执行重复数据删除的块,而非原始文件105中的五个块传输到存储服务器140。但是如图所示,数据块A’161和C’162已存在于存储服务器数据存储145上。在该示例中,块A’161和A 151、以及C’162和C 153分别是包含相同内容的重复块。因为未在服务器上执行重复数据删除操作,所以块A’161和C’162会与新添加到数据存储的块A 163、B 164和C 165并存。
在数据目标上执行重复数据删除
在数据目标上(即,在存储服务器上)执行重复数据删除活动的一些优点包括:节约存储服务器上的数据存储;以及在目标硬件上而非源上花费CPU周期。一些缺点包括:在将数据传输到目标时,必须在网络上发送冗余、重复的数据;即使可以在源上CPU周期可用,也要在目标上花费CPU周期。
图1B示出现有技术中公知的在目标位置上执行重复数据删除活动的存储管理系统100的示例配置。客户端120、目标140和网络连接130的配置与图1A中示出的配置类似。同样,将文件105输入客户端120。使用目标端重复数据删除,客户端120甚至可能不知道文件105由块构成,因为该文件可仅作为比特流125在客户端内进行处理。
客户端120不会在被发送到目标140的文件内插入任何类型的块分割符。文件150的副本以未执行重复数据删除操作的形式通过网络130传输到目标存储服务器存储库140,这意味着传输最初输入客户端(105)的整个文件。因此,被传输文件150的某些部分可能包含相互重复的块。
根据目标上的重复数据删除组件142的操作,将对已传输文件执行重复数据删除操作。在该带外重复数据删除示例中,当整个文件150到达目标140时,将根据数据存储145上已有的数据对构成文件150的各块,块A 151、B152、B153、A 154、C155,执行重复数据删除操作。块A’161和C’162分别与块A 151和A 154、以及C 155重复。没有与块“B”重复的块。因此,在重复数据删除之后,在这些新加入的块中,块A 151、B153、A 154和C155从数据存储中删除,而仅有B 152保留于数据存储145中(示为B 163)。而且,在执行重复数据删除操作之后,每个唯一的块仅有一个副本存在于目标数据存储145上。
在设备上执行重复数据删除
存在可以在目标存储服务器上执行WAN重复数据删除或基于存储的重复数据删除的设备。如此处使用的那样,设备一般是指运行软件以跨存储网络执行数据管理操作的专用独立系统。通常,设备被配置为在添加到存储网络之后,开始对目标存储服务器上存储的数据执行重复数据删除。例如,所述设备可以维护将数据重复数据删除到一组虚拟磁带上的虚拟磁带库。
在设备上执行重复数据删除活动的一些优点包括:部署不依赖于存储系统的备份软件或备份操作的单独组件;以及在单独的设备硬件上而非在目标硬件或源硬件上花费CPU周期。一些缺点包括:对于使用基于存储的重复数据删除设备,通过网络将冗余数据发送到目标;对于使用基于WAN的重复数据删除设备,冗余数据存在于存储中;如果一起使用基于存储的和基于WAN的重复数据删除设备,则可能对于选择哪些数据执行重复数据删除,很难提供任何粒度;CPU周期仍在目标硬件上花费;所述设备执行其数据不可知的重复数据删除操作;以及所述设备经常尝试对不应该被执行重复数据删除的数据(例如,首部、压缩数据或加密数据)执行重复数据删除。
图1C示出使用在现有技术中公知的重复数据删除设备170上执行重复数据删除活动的存储管理系统100的示例配置。再次地,源120、网络130和目标140的配置与图1A和1B中示出的配置相同。设备170也通过网络130与目标140相连。设备170使用其自己包含的处理能力和资源在目标140上执行重复数据删除操作。因此,设备170操作以通过根据其重复数据删除能力和过程删除其数据存储内存储的冗余数据,来维护已执行重复数据删除的数据存储库。
如图所示,文件105被输入客户端120,然后整个被传输到服务器140。由块“A”151和154、“B”152和153、以及“C”155构成的所述文件然后整个被传输到设备170。如数据存储175上所示,当数据在重复数据删除之前首先被添加到设备数据存储中时,位于数据存储内的许多数据块(例如“A”161、163和166;“B”164和165;以及“C”162和167)将相互重复。
图1C进一步示出在使用带外重复数据删除过程执行重复数据删除之前的设备数据存储175和执行重复数据删除之后的设备数据存储175’上的重复数据删除操作。数据存储175’示出在使用设备170中的重复数据删除功能172在服务器上执行重复数据删除之后,服务器内存储的数据块。所述设备通过操作删除设备上的所有冗余数据块,从而产生每个数据块的唯一副本A’181、C’182和B183。重复数据删除处理172通过在设备170上执行的过程发生,从而重复数据删除活动的结果对于服务器140而言是透明的。重复数据删除设备170然后可以将数据像未执行重复数据删除那样发送回服务器。
尽管现有的每种解决方案表面上导致成功的重复数据删除,但是通过现有技术中公知的在客户端、目标或存储设备执行重复数据删除活动会产生各种折衷和困难。目标端和源端重复数据删除的结合可以提供减少或彻底消除这些困难的解决方案,尤其是当动态地管理重复数据删除活动的位置时。
以下公开描述了在重复数据删除期间通常会遇到的优势和风险,同时阐述了本发明的各种实施例可如何动态地消除这些风险。
散列冲突
目标端重复数据删除可以通过诸如在执行重复数据删除之前制作数据副本或逐字节比较之类的技术减轻由于未检测到的散列冲突导致的数据丢失风险。相比之下,源端重复数据删除更可能在客户端摄入数据时由于未检测到的散列冲突遭受数据丢失风险。如果此风险是不可接受的,则优选地可执行服务器端重复数据删除,并使用适当的方法消除风险(例如在重复数据删除之前将数据复制到副本存储池)。一个示例是公司策略要求在服务器上对机密电子邮件执行重复数据删除。
工作负载平衡
工作负载平衡的最终方法是实现有关在何处执行重复数据删除以平衡网络和CPU使用率的优化决策。当网络出现瓶颈时,最优地执行客户端重复数据删除;否则,应该在服务器上执行重复数据删除。这可以是运行时决策,也可以是日程安排的。例如,在周末,当没有很多网络流量时,应该使用服务器端重复数据删除。在工作日,网络可能成为性能瓶颈并且客户端可最优地执行重复数据删除。可以使用历史数据判定何时在客户端或服务器上部署重复数据删除。其他相关规则可能包括仅在服务器上对大文件执行重复数据删除,因为例如如果文件大小大于5GB,则客户端重复数据删除会使备份速度变慢,从而错过备份窗口。
集成重复数据删除活动
优选地,重复数据删除将考虑数据格式。在本发明的多种实施例中,该机制是客户端-服务器备份产品的一部分,这与外部解决方案不同。与备份产品的集成使得能够使用对该产品(即,数据格式)的了解优化重复数据删除。了解数据格式可以实现基于文件类型的优化-可以使用针对特定文件类型优化的不同重复数据删除算法。例如,可以使用Rabin-Karp算法作为基算法,但是如果其他指纹识别算法对某些文件类型而言性能更好,也可以使用这些算法。另一示例是对压缩数据(如MP3或PDF文件)的重复数据删除,可以指定仅在服务器上对这些文件执行重复数据删除。
遗留数据重用
优选地,已存储在服务器上的遗留数据可以使用服务器端重复数据删除执行重复数据删除,而新备份既可以使用服务器端重复数据删除,也可以使用客户端重复数据删除。现有系统不可能这样做,现有系统只能部署以后的客户端重复数据删除,因此不能对遗留的客户端数据应用重复数据删除。本发明的多种实施例允许客户端重复数据删除与服务器上执行重复数据删除的遗留数据共享公共块。这是相对于仅客户端解决方案的优势,因为现在可以对遗留数据执行重复数据删除,而不考虑遗留数据的位置。
成功地在源(客户端)和目标(服务器)两者上执行重复数据删除操作的关键包括在这两个位置上使用相同的重复数据删除过程算法和重复数据删除索引。此外,诸如压缩和加密之类的任意数据转换活动都在指纹识别和散列识别之后执行以确保在各个位置上的准确的重复数据删除结果。
作为由一个实施例执行的重复数据删除配置示例,重复数据删除操作针对源端和目标端重复数据删除两者采用相同的可变大小块散列算法。替代地,可以混用多种算法,例如针对某些文件使用可变大小块散列,且针对其他文件使用单一实例存储,前提是针对源端和目标端重复数据删除应用相同的算法选择规则。
无论在源还是目标上执行重复数据删除,均在存储系统内使用相同的重复数据删除索引以跟踪现有的块并重组已执行重复数据删除的对象,从而允许源端和目标端重复数据删除共享公共数据。此索引可以使用共享数据库实现,也可以通过使用允许在源和目标之间实现块信息通信的客户端-服务器协议来实现(即,通过将相应的块信息从目标转发到源)。
当仅在识别重复块之后执行数据转换时,这可以避免转换干扰重复数据块识别的可能性。当恢复数据时,由客户端(源)在块级别上撤消所述转换。这允许客户端接收混合(压缩的、未压缩的和加密的)块流。替代地,所述转换可以在恢复之前由服务器(目标)撤消。
图2A示出根据本发明的一个实施例在客户端源上执行集成重复数据删除活动的存储管理系统200的配置示例的操作。如图所示,客户端220(数据源)通过网络230与服务器240(数据目标)相连。再次地,在存储系统的正常操作过程中,数据由客户端220摄取,并传输到服务器240内的数据存储库245以进行备份、归档、迁移或其他管理。
一旦被客户端220摄入,文件便会通过重复数据删除组件222被执行重复数据删除,然后文件块最终被传输到服务器240。该重复数据删除步骤是通过检查哪些数据块不在服务器240上来执行的。因此,不是根据客户端上现有的数据块对文件执行重复数据删除,而是重复数据删除过程验证哪些数据块存储在目标上。在一个实施例中,这是通过查询位于目标240内的索引241执行的,该索引跟踪哪些块存储在服务器数据存储245内。
在图2A所示的示例中,当在客户端上执行重复数据删除操作时,所述客户端将判定只有“A”、“B”和“C”块是唯一的。此外,当在存储系统上查询索引241时,该索引内的重复数据删除信息242被传输到所述客户端以进一步通知所述客户端块A’261和C’262(“A”和“C”数据块的副本)当前位于服务器数据存储245上。因此,通过来自索引241的信息,客户端将发现未存储在服务器数据存储245上的仅有的唯一块是“B”块的副本。被发送到服务器进行存储的仅有的块将是块B 251,其作为块263被存储在数据存储245上。
图3示出进一步阐述根据本发明的一个实施例如何在客户端上执行重复数据删除的流程图。该流程图提供客户端重复数据删除活动(在图4的步骤431-434中标示)的一个示例实现。如图3所示,在步骤310,当文件/对象“F”要备份到存储服务器的存储库时,由客户端启动重复数据删除过程。
如果在步骤320,可以在客户端上执行重复数据删除,则在重复数据删除过程期间在客户端上执行多个步骤。如果客户端不能执行重复数据删除,则如步骤330所示将在客户端上发生正常的非重复数据删除处理,这很可能涉及在服务器上执行文件重复数据删除。
对于将在客户端上执行重复数据删除活动的情况,文件/对象“F”将在步骤341中进行指纹识别。这将导致产生文件/对象“F”的若干块。将在步骤342检索文件的下一数据块(第一数据块)Dj,并在步骤343针对该数据块产生散列hj(Dj)、长度lj(Dj)。在图3中未示出的一个实施例的替代实现中,指纹识别作为此循环的一部分发生。因此,不是先对整个文件进行指纹识别,然后再处理每个块,而是在每个块在指纹识别期间被识别时处理每个数据块。
接下来,重复数据删除过程将在步骤350判定由值[hj,lj]识别的块是否位于服务器上。如果该块已存储在服务器上,则在步骤370,仅在服务器内创建对块[hj,lj]的引用,因此仅将块引用发送到服务器。如果该块不在服务器上,则需要将块数据发送到服务器。
根据是否将在步骤360对块进行压缩,准备将数据块发送到服务器。如果块中的数据将不被压缩,则在步骤380将块Dj、散列hj和长度lj发送到服务器。块Dj将被存储在服务器数据存储上,并且散列hj和长度lj将被存储在重复数据删除索引中。如果块中的数据要被压缩,则在步骤361将块Dj压缩为块c(Dj)。在步骤362将压缩块c(Dj)以及散列hj和长度lj一起发送到服务器,其中块存储在服务器数据存储库中,散列和长度存储在重复数据删除索引中。
在步骤385,针对文件/对象“F”中每个其他的数据块重复在服务器内查找块的过程。一旦完成所有块,则在步骤395将针对整个文件产生的MD5签名MD5(F)发送到服务器。可以在文件会恢复操作期间可选地使用MD5摘要来验证数据完整性。
本领域的技术人员将理解,本说明书中通篇描述的客户端重复数据删除技术可以由客户端执行,且能够通过各种排列进行修改,例如执行带内重复数据删除、带外重复数据删除,或者在不同时间在客户端数据存储上执行重复数据删除。在任何一种排列中,此技术都展示出可如何使用根据本发明的重复数据删除索引在源或目标上对文件执行重复数据删除,而同时高效地将文件传输并存储到重复数据删除数据存储中。
图2B示出根据本发明的一个实施例在目标服务器上执行集成重复数据删除活动的存储管理系统200的示例配置。与图2A类似,客户端220(数据源)通过网络230与服务器240(数据目标)相连。再次地,使用目标端重复数据删除,客户端220可能甚至不知道文件205由数据块构成,因为该文件可仅作为比特流225在客户端内进行处理。
在该实施例中,由于重复数据删除在目标240上执行,因此文件250(将在服务器上被分割为块A 251、B 252、B 253、A 254和C 255)的每个部分通过网络230传输到服务器240。当目标240摄取文件的每个块时,重复数据删除组件243通过操作在目标上执行重复数据删除。该组件访问重复数据删除索引241以判定哪些块已存储在服务器数据存储245内。
在图2B的示例中,重复数据删除过程243将通过使用重复数据删除信息242判定索引242已包含“A”和“C”数据块(作为A’261和C’262存储在目标数据存储245上)的条目。在重复数据删除之后唯一要添加到目标的数据块是块“B”的副本,因此,将“B”数据块的唯一副本放置在数据存储上,作为263。本领域的技术人员将理解,图2B展示了带内重复数据删除的一个实施例。因此,如果在目标上替代地使用带外重复数据删除,则将在识别数据存储内的重复块之后,从所述数据存储中删除这些重复的块。
本领域的技术人员将理解,本公开中通篇描述的服务器端重复数据删除技术可以由服务器执行,且能够通过各种排列进行修改,例如执行带内重复数据删除、带外重复数据删除,或者在不同时间在服务器数据存储上执行重复数据删除。在任何一种排列中,此技术都展示出可如何使用根据本发明的重复数据删除索引由源客户端或目标服务器针对文件执行重复数据删除,而仍然在重复数据删除数据存储内高效地管理文件。
给定允许共享源端和目标端重复数据删除活动产生的公共数据的存储系统基础设施(例如使用上述配置)的情况下,可以采用各种技术判定何时以及在什么程度上在特定客户端机器上执行源重复数据删除,以及何时利用目标重复数据删除。在一个实施例中,定义基于规则的策略以允许存储管理系统根据规则集或系统状况判定在何处执行重复数据删除。下面是此类策略的一组非限制示例。
策略可以基于客户端节点,即,对其中的数据执行重复数据删除操作的机器。替代地,策略还可以基于定义一组具有相同策略要求的客户端的策略域。作为一个示例,如果将一组机器指定为包含高敏感性数据,则将不在源上执行重复数据删除。这使得将文件传输到服务器并在必要时进行备份,且仅在此后才执行重复数据删除以删除数据中的冗余块。
策略可以基于文件(对象)特征,例如文件所存储的文件系统、文件路径、文件名、文件类型或文件大小。该策略可以使用选择规则实现以根据文件本身的特征判定优选地将在何处执行重复数据删除。
策略可以基于时间。可以实现日程安排以基于时间相关的度量改变以上公开的策略。例如,可在周末应用与工作日相比不同的策略。
策略可以基于系统负荷。通过监视受保护客户端机器、服务器系统以及网络上的负荷,可以做出有关节省和/或使用最佳可用资源的决策。例如,当网络流量过大时,可以使用源端重复数据删除以避免不必要地将数据传输到目标。
策略可以针对特定节点或源系统、或针对特定文件、数据类型、设备、或针对源系统中的子系统分别在粒度级别上进行定义。本领域的技术人员将理解,此处描述的各种策略技术可以进行组合和集成以创建增强的系统,该系统允许在源和目标之间实现稳定的重复数据删除切换,但是仍然反应灵敏,并且可以自定义以仅在特定情况下在一位置上执行重复数据删除。进一步地,本领域的技术人员将理解,此处描述的策略可以手动地或自动地跨网络的一部分或跨整个网络实现。
图4示出根据本发明的一个实施例执行集成重复数据删除的操作的流程图。所述操作在步骤410开始,这时要针对数据对象执行重复数据删除。通过重复数据删除活动在源上还是目标上执行来判定后续的活动。因此,可以在步骤420根据策略选择此位置,这与要考虑若干策略因素(例如时间、系统负荷、文件特征、客户端节点或策略域)相一致。
在执行客户端重复数据删除的情况下,在步骤431应用诸如指纹识别和散列算法之类的重复数据删除过程中的各种算法来识别构成数据对象的数据块的特征。在此,根据当前存储在目标上的数据块执行重复数据删除过程,这样在步骤432将访问所述目标维护的重复数据删除索引来判定此信息。特定数据块的散列和识别通常必须在可完全地访问该特定数据块的索引信息之前执行。接着,在步骤433对数据块执行任何数据转换(例如加密)。然后在步骤434将已执行重复数据删除的数据对象块从客户端传输到服务器进行存储。
针对服务器端重复数据删除采用的步骤也是类似的。第一步包括在步骤441从客户端接收数据对象。一旦收到数据块,便会在服务器上执行重复数据删除算法,包括在步骤442将指纹识别和散列算法应用于数据对象及其块;在步骤443访问所述数据对象块的重复数据删除索引信息;以及最后在步骤444执行任意数据转换。
当需要在步骤450从服务器检索数据对象时,将执行下面的步骤。在步骤461从服务器检索已执行重复数据删除的数据对象的块。在一个实施例中,将数据传输到客户端之前,可以在步骤462执行撤消数据转换,例如解密和解压缩块。在步骤463,通过数据块流将数据传输到客户端。在步骤471,客户端从服务器接收数据块流,并且该数据块流可以包括具有混合类型转换的块,例如压缩的、未压缩的和加密的数据块。在另一实施例中,如果尚未在服务器上撤销数据转换,则一旦在步骤472完全接收数据,则在客户端上执行所述反向转换。最后,在步骤473将数据块重组到它们对应的数据对象。
本领域的技术人员将理解,本发明的各方面可以实现为系统、方法或计算机程序产品。因此,本发明的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合了软件和硬件方面的实施例的形式,所有这些软件和硬件方面在此通常被称为“电路”、“模块”或“系统”。此外,本发明的各方面可以采取体现在一个或多个计算机可读介质(在介质中具有计算机可读程序代码)中的计算机程序产品的形式。
可以使用一个或多个计算机可读介质的任意组合。所述计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质例如可以是(但不限于)电、磁、光、电磁、红外线或半导体系统、装置或设备或上述任何适合的组合。计算机可读存储介质的更具体的示例(非穷举列表)可以包括以下项:具有一条或多条线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦写可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备或上述任何适合的组合。在本文档的上下文中,计算机可读存储介质可以是任何能够包含或存储由指令执行系统、装置或设备使用或与所述指令执行系统、装置或设备结合的程序的有形介质。
计算机可读信号介质可以包括其中包含计算机可读程序代码(例如,在基带中或作为载波的一部分)的传播数据信号。此类传播信号可以采取任何多样的形式,包括但不限于电磁、光或上述任何适合的组合。计算机可读信号介质可以是任何并非计算机可读存储介质以及传送、传播或传输由指令执行系统、装置或设备使用或与所述指令执行系统、装置或设备结合的程序的计算机可读介质。
可以使用任何适当的介质(包括但不限于无线、线缆、光缆、RF等或上述任何适合的组合)来传输计算机可读介质中包含的程序代码。用于执行本发明的各方面的操作的计算机程序代码可以使用包含一种或多种编程语言的任意组合来编写,所述编程语言包括诸如Java、Smalltalk、C++或类似语言之类的面向对象的编程语言或者诸如“C”编程语言或类似的编程语言之类的常规过程编程语言。所述程序代码可以作为独立的软件包完全地在用户计算机上执行,部分地在用户计算机上执行,部分地在用户计算机上并部分地在远程计算机上执行,或者完全地在远程计算机或服务器上执行。在后者的情况中,所述远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何类型网络与用户的计算机相连,也可以与外部计算机进行连接(例如,使用因特网服务提供商通过因特网连接)。
上面参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或方块图对本发明的各方面进行描述。将理解,所述流程图和/或方块图的每个方块以及所述流程图和/或方块图中的方块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,以便通过所述计算机或其他可编程数据处理装置的处理器执行的所述指令产生用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的装置。
这些计算机程序指令也可以被存储在引导计算机、其他可编程数据处理装置或其他设备以特定方式执行功能的计算机可读介质中,以便存储在所述计算机可读介质中的所述指令产生一件包括实现在所述一个或多个流程图和/或方块图方块中指定的功能/操作的指令的制品。
所述计算机程序指令还可被加载到计算机、其他可编程数据处理装置或其他设备,以导致在所述计算机、其他可编程装置或其他设备上执行一系列操作步骤以产生计算机实现的过程,从而在所述计算机或其他可编程装置上执行的指令提供用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的过程。
附图中的流程图和方块图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。在此方面,所述流程图或方块图中的每个方块都可以表示代码的模块、段或部分,所述代码包括用于实现指定的逻辑功能的一个或多个可执行指令。还应指出,在某些备选实施方式中,在方块中说明的功能可以不按图中说明的顺序发生。例如,示为连续的两个方块可以实际上被基本同时地执行,或者某些时候,取决于所涉及的功能,可以以相反的顺序执行所述方块。还应指出,所述方块图和/或流程图的每个方块以及所述方块图和/或流程图中的方块的组合可以由执行指定功能或操作的基于专用硬件的系统或专用硬件和计算机指令的组合来实现。
尽管上面描述了本发明的具有一定程度特性的各种代表性实施例,但是本领域的技术人员可以在不偏离说明书和权利要求中阐述的创新主题的精神或范围的情况下,对所公开的实施例做出多种更改。
Claims (20)
1.一种用于在分布式存储管理系统中的源位置和目标位置中的每一个上实现数据文件的重复数据删除的方法,所述存储管理系统包含与目标计算系统相连的源计算系统以及位于所述目标计算系统内的目标数据存储,所述方法包括:
维护用于跟踪在所述目标数据存储内存储的重复数据删除索引,所述重复数据删除索引由源计算机系统和目标计算机系统中的每个进行访问;
提供用于对数据块执行重复数据删除的重复数据删除过程,所述数据块将以已执行重复数据删除的形式存储在所述目标数据存储内;
允许所述目标计算系统使用所述重复数据删除索引执行重复数据删除指令以及允许所述源计算系统使用所述重复数据删除索引执行重复数据删除指令;
使用所述重复数据删除过程将数据文件重复数据删除为一组已执行重复数据删除的数据块,所述重复数据删除过程包括由所述源计算系统或所述目标计算系统执行的一组重复数据删除指令;
将所述一组已执行重复数据删除的数据块存储在所述目标数据存储内;以及
在所述重复数据删除索引内更新用于所述一组已执行重复数据删除的数据块的重复数据删除信息。
2.如权利要求1中所述的方法,其中所述重复数据删除指令包括用于在所述源计算系统和所述目标计算系统中的每一个上进行重复数据删除的可变大小块散列算法。
3.如权利要求1或2中所述的方法,其中所述重复数据删除指令包括用于在所述源计算系统上执行的重复数据删除活动的第一组指纹识别和散列算法,以及用于在所述目标计算系统上执行的重复数据删除活动的第二组指纹识别和散列算法。
4.如权利要求3中所述的方法,进一步包括将所述一组已执行重复数据删除的数据块恢复到所述源计算系统。
5.如权利要求4中所述的方法,进一步包括在指纹识别和散列识别之后执行数据转换,所述指纹识别和散列识别在所述重复数据删除过程中进行。
6.如权利要求5中所述的方法,其中所述数据转换包括压缩和加密中的一项或两项。
7.如权利要求5中所述的方法,进一步包括响应于将所述一组已执行重复数据删除的数据块恢复到所述源计算系统,由所述源计算系统针对每个数据块撤消所述数据转换。
8.如权利要求7中所述的方法,进一步包括在将所述一组已执行重复数据删除的数据块恢复到所述源计算系统之前,由所述目标计算系统撤消所述数据转换。
9.如权利要求1或2中所述的方法,其中所述重复数据删除索引作为所述存储管理系统内可由所述源计算系统和所述目标计算系统中的每一个访问的数据库被共享。
10.如权利要求1或2中所述的方法,其中所述重复数据删除索引可通过在所述源和所述目标之间实现数据块信息通信的客户端-服务器协议进行访问。
11.一种用于在分布式存储管理系统中的源位置和目标位置中的每一个上实现数据文件的重复数据删除的系统,所述存储管理系统包含与目标计算系统相连的源计算系统以及位于所述目标计算系统内的目标数据存储,所述系统包括:
用于维护用于跟踪在所述目标数据存储内存储的重复数据删除索引的装置,所述重复数据删除索引由源计算机系统和目标计算机系统中的每个进行访问;
用于提供用于对数据块执行重复数据删除的重复数据删除过程的装置,所述数据块将以已执行重复数据删除的形式存储在所述目标数据存储内;
用于允许所述目标计算系统使用所述重复数据删除索引执行重复数据删除指令以及允许所述源计算系统使用所述重复数据删除索引执行重复数据删除指令的装置;
用于使用所述重复数据删除过程将数据文件重复数据删除为一组已执行重复数据删除的数据块的装置,所述重复数据删除过程包括由所述源计算系统或所述目标计算系统执行的一组重复数据删除指令;
用于将所述一组已执行重复数据删除的数据块存储在所述目标数据存储内的装置;以及
用于在所述重复数据删除索引内更新用于所述一组已执行重复数据删除的数据块的重复数据删除信息的装置。
12.如权利要求11中所述的系统,其中所述重复数据删除指令包括用于在所述源计算系统和所述目标计算系统中的每一个上进行重复数据删除的可变大小块散列算法。
13.如权利要求11或12中所述的系统,其中所述重复数据删除指令包括用于在所述源计算系统上执行的重复数据删除活动的第一组指纹识别和散列算法,以及用于在所述目标计算系统上执行的重复数据删除活动的第二组指纹识别和散列算法。
14.如权利要求13中所述的系统,进一步包括用于将所述一组已执行重复数据删除的数据块恢复到所述源计算系统的装置。
15.如权利要求14中所述的系统,进一步包括用于在指纹识别和散列识别之后执行数据转换的装置,所述指纹识别和散列识别在所述重复数据删除过程中进行。
16.如权利要求15中所述的系统,其中所述数据转换包括压缩和加密中的一项或两项。
17.如权利要求15中所述的系统,进一步包括用于响应于将所述一组已执行重复数据删除的数据块恢复到所述源计算系统,由所述源计算系统针对每个数据块撤消所述数据转换的装置。
18.如权利要求17中所述的系统,进一步包括用于在将所述一组已执行重复数据删除的数据块恢复到所述源计算系统之前,由所述目标计算系统撤消所述数据转换的装置。
19.如权利要求11或12中所述的系统,其中所述重复数据删除索引作为所述存储管理系统内可由所述源计算系统和所述目标计算系统中的每一个访问的数据库被共享。
20.如权利要求11或12中所述的系统,其中所述重复数据删除索引可通过在所述源和所述目标之间实现数据块信息通信的客户端-服务器协议进行访问。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/504,083 US9058298B2 (en) | 2009-07-16 | 2009-07-16 | Integrated approach for deduplicating data in a distributed environment that involves a source and a target |
US12/504,083 | 2009-07-16 | ||
PCT/EP2010/059965 WO2011006859A1 (en) | 2009-07-16 | 2010-07-12 | An integrated approach for deduplicating data in a distributed environment that involves a source and a target |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102473127A CN102473127A (zh) | 2012-05-23 |
CN102473127B true CN102473127B (zh) | 2015-05-27 |
Family
ID=42751627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080030039.8A Active CN102473127B (zh) | 2009-07-16 | 2010-07-12 | 在包含源和目标的分布式环境中进行重复数据删除的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9058298B2 (zh) |
JP (1) | JP5571786B2 (zh) |
CN (1) | CN102473127B (zh) |
DE (1) | DE112010002938B4 (zh) |
GB (1) | GB2484019B (zh) |
WO (1) | WO2011006859A1 (zh) |
Families Citing this family (109)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8938595B2 (en) * | 2003-08-05 | 2015-01-20 | Sepaton, Inc. | Emulated storage system |
US9405894B2 (en) * | 2008-04-21 | 2016-08-02 | Syngrafii Inc. | System, method and computer program for conducting transactions remotely with an authentication file |
US8959062B2 (en) * | 2009-08-13 | 2015-02-17 | Hitachi Solutions, Ltd. | Data storage device with duplicate elimination function and control device for creating search index for the data storage device |
US8037349B2 (en) * | 2009-08-28 | 2011-10-11 | International Business Machines Corporation | Data replication based on capacity optimization |
US8572163B1 (en) * | 2009-08-31 | 2013-10-29 | Symantec Corporation | Systems and methods for deduplicating data based on performance of a deduplication system |
US8458144B2 (en) * | 2009-10-22 | 2013-06-04 | Oracle America, Inc. | Data deduplication method using file system constructs |
US8825969B2 (en) * | 2009-11-30 | 2014-09-02 | Netapp, Inc. | Eliminating duplicate data by sharing file system extents |
US8447741B2 (en) * | 2010-01-25 | 2013-05-21 | Sepaton, Inc. | System and method for providing data driven de-duplication services |
US8401185B1 (en) * | 2010-02-01 | 2013-03-19 | Symantec Corporation | Systems and methods for securely deduplicating data owned by multiple entities |
JP5434705B2 (ja) * | 2010-03-12 | 2014-03-05 | 富士通株式会社 | ストレージ装置、ストレージ装置制御プログラムおよびストレージ装置制御方法 |
US20120011101A1 (en) * | 2010-07-12 | 2012-01-12 | Computer Associates Think, Inc. | Integrating client and server deduplication systems |
GB2470498B (en) * | 2010-07-19 | 2011-04-06 | Quantum Corp | Establishing parse scope |
US10394757B2 (en) | 2010-11-18 | 2019-08-27 | Microsoft Technology Licensing, Llc | Scalable chunk store for data deduplication |
US9442806B1 (en) * | 2010-11-30 | 2016-09-13 | Veritas Technologies Llc | Block-level deduplication |
US9824091B2 (en) | 2010-12-03 | 2017-11-21 | Microsoft Technology Licensing, Llc | File system backup using change journal |
US8849898B2 (en) * | 2010-12-09 | 2014-09-30 | Jeffrey Vincent TOFANO | Adaptive collaborative de-duplication |
US20120150824A1 (en) * | 2010-12-10 | 2012-06-14 | Inventec Corporation | Processing System of Data De-Duplication |
US8620894B2 (en) * | 2010-12-21 | 2013-12-31 | Microsoft Corporation | Searching files |
US10049116B1 (en) * | 2010-12-31 | 2018-08-14 | Veritas Technologies Llc | Precalculation of signatures for use in client-side deduplication |
US9280550B1 (en) * | 2010-12-31 | 2016-03-08 | Emc Corporation | Efficient storage tiering |
US8886901B1 (en) | 2010-12-31 | 2014-11-11 | Emc Corporation | Policy based storage tiering |
US9122639B2 (en) | 2011-01-25 | 2015-09-01 | Sepaton, Inc. | Detection and deduplication of backup sets exhibiting poor locality |
US8527472B2 (en) * | 2011-03-29 | 2013-09-03 | Kaseya International Limited | Method and apparatus of securely processing data for file backup, de-duplication, and restoration |
US8812450B1 (en) | 2011-04-29 | 2014-08-19 | Netapp, Inc. | Systems and methods for instantaneous cloning |
US8539008B2 (en) | 2011-04-29 | 2013-09-17 | Netapp, Inc. | Extent-based storage architecture |
US8745338B1 (en) | 2011-05-02 | 2014-06-03 | Netapp, Inc. | Overwriting part of compressed data without decompressing on-disk compressed data |
US8612392B2 (en) | 2011-05-09 | 2013-12-17 | International Business Machines Corporation | Identifying modified chunks in a data set for storage |
US8868882B2 (en) * | 2011-06-08 | 2014-10-21 | Microsoft Corporation | Storage architecture for backup application |
CN108664555A (zh) * | 2011-06-14 | 2018-10-16 | 慧与发展有限责任合伙企业 | 分布式文件系统中的去重复 |
US8600949B2 (en) | 2011-06-21 | 2013-12-03 | Netapp, Inc. | Deduplication in an extent-based architecture |
US9229818B2 (en) | 2011-07-20 | 2016-01-05 | Microsoft Technology Licensing, Llc | Adaptive retention for backup data |
US8965856B2 (en) * | 2011-08-29 | 2015-02-24 | Hitachi, Ltd. | Increase in deduplication efficiency for hierarchical storage system |
US20130054919A1 (en) | 2011-08-30 | 2013-02-28 | International Business Machines Corporation | Methods and physical computer storage media for transferring de-duplicated data organized in virtual volumes to a target set of physical media |
JP5780067B2 (ja) * | 2011-09-01 | 2015-09-16 | 富士通株式会社 | ストレージシステム、ストレージ制御装置およびストレージ制御方法 |
US8990171B2 (en) | 2011-09-01 | 2015-03-24 | Microsoft Corporation | Optimization of a partially deduplicated file |
WO2013058747A1 (en) * | 2011-10-18 | 2013-04-25 | Hewlett-Packard Development Company, L.P. | Index for deduplication |
US9047304B2 (en) | 2011-11-28 | 2015-06-02 | International Business Machines Corporation | Optimization of fingerprint-based deduplication |
WO2013082787A1 (zh) * | 2011-12-08 | 2013-06-13 | 华为技术有限公司 | 一种在分布式存储系统中删除数据的方法、装置及系统 |
EP2810171B1 (en) | 2012-02-02 | 2019-07-03 | Hewlett-Packard Enterprise Development LP | Systems and methods for data chunk deduplication |
US8805797B2 (en) * | 2012-02-22 | 2014-08-12 | International Business Machines Corporation | Optimizing wide area network (WAN) traffic by providing home site deduplication information to a cache site |
US20150088840A1 (en) * | 2012-05-01 | 2015-03-26 | Kave Eshghi | Determining segment boundaries for deduplication |
EP3779715A1 (en) | 2012-05-04 | 2021-02-17 | Huawei Technologies Co., Ltd. | Method and apparatus for deleting duplicate data |
US9086819B2 (en) * | 2012-07-25 | 2015-07-21 | Anoosmar Technologies Private Limited | System and method for combining deduplication and encryption of data |
JPWO2014030252A1 (ja) * | 2012-08-24 | 2016-07-28 | 株式会社日立製作所 | ストレージ装置及びデータ管理方法 |
KR101575062B1 (ko) * | 2012-12-12 | 2015-12-07 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 클러스터 시스템에서의 데이터 처리 방법 및 장치 |
US8954392B2 (en) | 2012-12-28 | 2015-02-10 | Futurewei Technologies, Inc. | Efficient de-duping using deep packet inspection |
CN103049391B (zh) * | 2012-12-29 | 2014-05-07 | 华为技术有限公司 | 数据处理方法和设备 |
US20140214775A1 (en) * | 2013-01-29 | 2014-07-31 | Futurewei Technologies, Inc. | Scalable data deduplication |
US9766832B2 (en) | 2013-03-15 | 2017-09-19 | Hitachi Data Systems Corporation | Systems and methods of locating redundant data using patterns of matching fingerprints |
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 |
US10339112B1 (en) * | 2013-04-25 | 2019-07-02 | Veritas Technologies Llc | Restoring data in deduplicated storage |
CN105324765B (zh) | 2013-05-16 | 2019-11-08 | 慧与发展有限责任合伙企业 | 选择用于去重复数据的存储区 |
CN105339929B (zh) * | 2013-05-16 | 2019-12-03 | 慧与发展有限责任合伙企业 | 选择用于取消重复数据的存储 |
US9256611B2 (en) | 2013-06-06 | 2016-02-09 | Sepaton, Inc. | System and method for multi-scale navigation of data |
US9552370B1 (en) * | 2013-06-27 | 2017-01-24 | EMC IP Holding Company LLC | Signaling impending out of storage condition from a virtual tape drive |
US9244830B2 (en) | 2013-07-15 | 2016-01-26 | Globalfoundries Inc. | Hierarchical content defined segmentation of data |
US10229132B2 (en) | 2013-07-15 | 2019-03-12 | International Business Machines Corporation | Optimizing digest based data matching in similarity based deduplication |
US10339109B2 (en) | 2013-07-15 | 2019-07-02 | International Business Machines Corporation | Optimizing hash table structure for digest matching in a data deduplication system |
US9891857B2 (en) | 2013-07-15 | 2018-02-13 | International Business Machines Corporation | Utilizing global digests caching in similarity based data deduplication |
US9836474B2 (en) | 2013-07-15 | 2017-12-05 | International Business Machines Corporation | Data structures for digests matching in a data deduplication system |
US10296597B2 (en) | 2013-07-15 | 2019-05-21 | International Business Machines Corporation | Read ahead of digests in similarity based data deduplicaton |
US9268786B2 (en) | 2013-07-15 | 2016-02-23 | International Business Machines Corporation | Applying a minimum size bound on content defined segmentation of data |
US9892127B2 (en) | 2013-07-15 | 2018-02-13 | International Business Machines Corporation | Global digests caching in a data deduplication system |
US9594766B2 (en) | 2013-07-15 | 2017-03-14 | International Business Machines Corporation | Reducing activation of similarity search in a data deduplication system |
US9892048B2 (en) | 2013-07-15 | 2018-02-13 | International Business Machines Corporation | Tuning global digests caching in a data deduplication system |
US10229131B2 (en) | 2013-07-15 | 2019-03-12 | International Business Machines Corporation | Digest block segmentation based on reference segmentation in a data deduplication system |
US10133502B2 (en) | 2013-07-15 | 2018-11-20 | International Business Machines Corporation | Compatibility and inclusion of similarity element resolutions |
US10789213B2 (en) | 2013-07-15 | 2020-09-29 | International Business Machines Corporation | Calculation of digest segmentations for input data using similar data in a data deduplication system |
US9922042B2 (en) | 2013-07-15 | 2018-03-20 | International Business Machines Corporation | Producing alternative segmentations of data into blocks in a data deduplication system |
US10296598B2 (en) | 2013-07-15 | 2019-05-21 | International Business Machines Corporation | Digest based data matching in similarity based deduplication |
US9286314B2 (en) | 2013-07-15 | 2016-03-15 | International Business Machines Corporation | Applying a maximum size bound on content defined segmentation of data |
US10073853B2 (en) | 2013-07-17 | 2018-09-11 | International Business Machines Corporation | Adaptive similarity search resolution in a data deduplication system |
US9916112B1 (en) * | 2013-09-30 | 2018-03-13 | EMC IP Holding Company LLC | Efficient file copy that avoids data duplication |
US9678973B2 (en) | 2013-10-15 | 2017-06-13 | Hitachi Data Systems Corporation | Multi-node hybrid deduplication |
CN104572788B (zh) * | 2013-10-29 | 2017-10-17 | 上海征途信息技术有限公司 | 一种游戏用户数据的数据存储方法 |
KR102187127B1 (ko) * | 2013-12-03 | 2020-12-04 | 삼성전자주식회사 | 데이터 연관정보를 이용한 중복제거 방법 및 시스템 |
US20150207742A1 (en) * | 2014-01-22 | 2015-07-23 | Wipro Limited | Methods for optimizing data for transmission and devices thereof |
US9514000B2 (en) * | 2014-01-31 | 2016-12-06 | Western Digital Technologies, Inc. | Backup of baseline installation |
US10374807B2 (en) | 2014-04-04 | 2019-08-06 | Hewlett Packard Enterprise Development Lp | Storing and retrieving ciphertext in data storage |
CN104978239B (zh) * | 2014-04-08 | 2019-02-19 | 重庆邮电大学 | 一种实现多备份数据动态更新的方法、装置及系统 |
US9659047B2 (en) * | 2014-12-03 | 2017-05-23 | Netapp, Inc. | Data deduplication utilizing extent ID database |
CN107113314B (zh) * | 2015-01-19 | 2020-06-19 | 诺基亚技术有限公司 | 用于云计算中的异构数据存储管理的方法和装置 |
US20170288861A1 (en) * | 2015-01-30 | 2017-10-05 | Hewlett Packard Enterprise Development Lp | Data encryption |
US10621143B2 (en) * | 2015-02-06 | 2020-04-14 | Ashish Govind Khurange | Methods and systems of a dedupe file-system garbage collection |
US10650014B2 (en) | 2015-04-09 | 2020-05-12 | International Business Machines Corporation | Data ingestion process |
US9552384B2 (en) | 2015-06-19 | 2017-01-24 | HGST Netherlands B.V. | Apparatus and method for single pass entropy detection on data transfer |
US10152389B2 (en) * | 2015-06-19 | 2018-12-11 | Western Digital Technologies, Inc. | Apparatus and method for inline compression and deduplication |
CN105069111B (zh) * | 2015-08-10 | 2018-09-18 | 广东工业大学 | 云存储中基于相似性的数据块级数据去重方法 |
DE102015117353A1 (de) * | 2015-10-12 | 2017-04-13 | Turgay Coruh | Optimierte Übertragung elektronischer Dokumente mittels verteilter Netzwerk-Ressourcen |
CN105681273B (zh) * | 2015-12-17 | 2018-11-20 | 西安电子科技大学 | 客户端重复数据删除方法 |
US10235396B2 (en) | 2016-08-29 | 2019-03-19 | International Business Machines Corporation | Workload optimized data deduplication using ghost fingerprints |
EP3707588A1 (en) * | 2017-11-08 | 2020-09-16 | Massachusetts Institute of Technology | System for de-duplicating network coded distributed storage and related techniques |
US10719251B2 (en) * | 2018-01-31 | 2020-07-21 | Nutanix, Inc. | System and method for recursive de-duplication |
JP7075077B2 (ja) * | 2018-03-13 | 2022-05-25 | Necソリューションイノベータ株式会社 | バックアップサーバ、バックアップ方法、プログラム、ストレージシステム |
US11263087B2 (en) * | 2018-07-05 | 2022-03-01 | EMC IP Holding Company LLC | Methods and systems for serverless data deduplication |
US11042519B2 (en) | 2019-01-15 | 2021-06-22 | Cisco Technology, Inc. | Reinforcement learning for optimizing data deduplication |
US11221778B1 (en) | 2019-04-02 | 2022-01-11 | Pure Storage, Inc. | Preparing data for deduplication |
US11989124B2 (en) | 2019-04-26 | 2024-05-21 | EMC IP Holding Company LLC | Garbage collection for a deduplicated cloud tier with encrypted segments |
US11580015B2 (en) * | 2019-05-03 | 2023-02-14 | EMC IP Holding Company LLC | Garbage collection for a deduplicated cloud tier using functions |
CN110941598A (zh) * | 2019-12-02 | 2020-03-31 | 北京锐安科技有限公司 | 一种数据去重方法、装置、终端及存储介质 |
CN111177082B (zh) * | 2019-12-03 | 2023-06-09 | 世强先进(深圳)科技股份有限公司 | 一种pdf文件去重存储方法及系统 |
EP3855330B1 (en) * | 2020-01-21 | 2024-04-24 | Exagrid Systems, Inc. | Protection and recovery of backup storage systems from ransomware attacks |
CN112380197A (zh) * | 2020-10-29 | 2021-02-19 | 中科热备(北京)云计算技术有限公司 | 一种基于前端重复数据删除的方法 |
CN112527521B (zh) * | 2020-12-03 | 2023-07-04 | 中国联合网络通信集团有限公司 | 消息处理方法及设备 |
US11606277B2 (en) | 2021-02-10 | 2023-03-14 | Cohesity, Inc. | Reducing the impact of network latency during a restore operation |
US20220374401A1 (en) * | 2021-05-18 | 2022-11-24 | International Business Machines Corporation | Determining domain and matching algorithms for data systems |
CN113468509B (zh) * | 2021-07-05 | 2024-01-30 | 曙光信息产业(北京)有限公司 | 一种用户认证的迁移方法、装置、设备及存储介质 |
CN113709510A (zh) * | 2021-08-06 | 2021-11-26 | 联想(北京)有限公司 | 高速率数据实时传输方法及装置、设备、存储介质 |
US20230350763A1 (en) * | 2022-04-27 | 2023-11-02 | Cohesity, Inc. | Utilizing fixed-sized and variable-length data chunks to perform source side deduplication |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101415016A (zh) * | 2007-10-17 | 2009-04-22 | 深圳市亚贝电气技术有限公司 | 一种数据复制方法、系统和存储服务器 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1314290B1 (en) | 2000-08-31 | 2006-09-27 | Ontrack Data International, Inc. | System and method for data management |
JP4446738B2 (ja) | 2001-08-20 | 2010-04-07 | データセンターテクノロジーズ エヌ.ヴイ. | コンピュータファイルを効率的にバックアップするシステムと方法 |
US8412682B2 (en) | 2006-06-29 | 2013-04-02 | Netapp, Inc. | System and method for retrieving and using block fingerprints for data deduplication |
US8214517B2 (en) | 2006-12-01 | 2012-07-03 | Nec Laboratories America, Inc. | Methods and systems for quick and efficient data management and/or processing |
US7840537B2 (en) | 2006-12-22 | 2010-11-23 | Commvault Systems, Inc. | System and method for storing redundant information |
US20080243769A1 (en) | 2007-03-30 | 2008-10-02 | Symantec Corporation | System and method for exporting data directly from deduplication storage to non-deduplication storage |
US8166012B2 (en) | 2007-04-11 | 2012-04-24 | Emc Corporation | Cluster storage using subsegmenting |
JP2009019441A (ja) | 2007-07-13 | 2009-01-29 | Nippon Adox Kk | コンクリートの補修方法 |
US8782368B2 (en) * | 2007-10-25 | 2014-07-15 | Hewlett-Packard Development Company, L.P. | Storing chunks in containers |
US7870105B2 (en) * | 2007-11-20 | 2011-01-11 | Hitachi, Ltd. | Methods and apparatus for deduplication in storage system |
US8452731B2 (en) * | 2008-09-25 | 2013-05-28 | Quest Software, Inc. | Remote backup and restore |
US20100088296A1 (en) * | 2008-10-03 | 2010-04-08 | Netapp, Inc. | System and method for organizing data to facilitate data deduplication |
US8140491B2 (en) * | 2009-03-26 | 2012-03-20 | International Business Machines Corporation | Storage management through adaptive deduplication |
US8612702B1 (en) * | 2009-03-31 | 2013-12-17 | Symantec Corporation | Systems and methods for performing optimized backups of multiple volumes |
US8479304B1 (en) * | 2009-03-31 | 2013-07-02 | Symantec Corporation | Selectively protecting against chosen plaintext attacks in untrusted storage environments that support data deduplication |
US8412848B2 (en) * | 2009-05-29 | 2013-04-02 | Exagrid Systems, Inc. | Method and apparatus for content-aware and adaptive deduplication |
US8612439B2 (en) * | 2009-06-30 | 2013-12-17 | Commvault Systems, Inc. | Performing data storage operations in a cloud storage environment, including searching, encryption and indexing |
-
2009
- 2009-07-16 US US12/504,083 patent/US9058298B2/en active Active
-
2010
- 2010-07-12 DE DE112010002938.5T patent/DE112010002938B4/de active Active
- 2010-07-12 GB GB1119845.4A patent/GB2484019B/en active Active
- 2010-07-12 CN CN201080030039.8A patent/CN102473127B/zh active Active
- 2010-07-12 WO PCT/EP2010/059965 patent/WO2011006859A1/en active Application Filing
- 2010-07-12 JP JP2012519989A patent/JP5571786B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101415016A (zh) * | 2007-10-17 | 2009-04-22 | 深圳市亚贝电气技术有限公司 | 一种数据复制方法、系统和存储服务器 |
Non-Patent Citations (1)
Title |
---|
semantic data de-duplication for archival storage systems;Chuanyi LIU等;《Computer Systems Architecture Conference, 2008. ACSAC 2008. 13th Asia-Pacific》;20080806;第1-9页 * |
Also Published As
Publication number | Publication date |
---|---|
JP5571786B2 (ja) | 2014-08-13 |
CN102473127A (zh) | 2012-05-23 |
DE112010002938T5 (de) | 2012-09-20 |
GB2484019A (en) | 2012-03-28 |
WO2011006859A1 (en) | 2011-01-20 |
DE112010002938B4 (de) | 2018-02-01 |
US20110016095A1 (en) | 2011-01-20 |
GB201119845D0 (en) | 2011-12-28 |
JP2012533126A (ja) | 2012-12-20 |
GB2484019B (en) | 2016-09-28 |
US9058298B2 (en) | 2015-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102473127B (zh) | 在包含源和目标的分布式环境中进行重复数据删除的方法 | |
US9405764B1 (en) | Method for cleaning a delta storage system | |
US9262434B1 (en) | Preferential selection of candidates for delta compression | |
US9268783B1 (en) | Preferential selection of candidates for delta compression | |
US8972672B1 (en) | Method for cleaning a delta storage system | |
US10135462B1 (en) | Deduplication using sub-chunk fingerprints | |
US9400610B1 (en) | Method for cleaning a delta storage system | |
US8495032B2 (en) | Policy based sharing of redundant data across storage pools in a deduplicating system | |
US9329942B2 (en) | Optimizing restoration of deduplicated data | |
CN102567138B (zh) | 计算环境中按优先顺序排列要备份的数据项的方法和系统 | |
CN103095843B (zh) | 一种基于版本矢量的数据备份方法及客户端 | |
US10983867B1 (en) | Fingerprint change during data operations | |
US9026740B1 (en) | Prefetch data needed in the near future for delta compression | |
CN103959264A (zh) | 在存储云中使用去重复来管理不可变冗余文件 | |
Norvill et al. | IPFS for reduction of chain size in Ethereum | |
US9785646B2 (en) | Data file handling in a network environment and independent file server | |
US10146694B1 (en) | Persistent cache layer in a distributed file system | |
US9824131B2 (en) | Regulating a replication operation | |
US20150046398A1 (en) | Accessing And Replicating Backup Data Objects | |
CN104410683A (zh) | 一种数据备份方法 | |
CN105120003A (zh) | 一种实现云环境下数据备份的方法 | |
US11061868B1 (en) | Persistent cache layer to tier data to cloud storage | |
US9116902B1 (en) | Preferential selection of candidates for delta compression | |
WO2009031158A2 (en) | Method and apparatus for network based data recovery | |
JP5444728B2 (ja) | ストレージシステム、ストレージシステムにおけるデータ書込方法及びデータ書込プログラム |
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 |