CN107193686A - 用于数据备份的方法及设备 - Google Patents

用于数据备份的方法及设备 Download PDF

Info

Publication number
CN107193686A
CN107193686A CN201610148028.9A CN201610148028A CN107193686A CN 107193686 A CN107193686 A CN 107193686A CN 201610148028 A CN201610148028 A CN 201610148028A CN 107193686 A CN107193686 A CN 107193686A
Authority
CN
China
Prior art keywords
data
alternate device
active
segment
data segment
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.)
Pending
Application number
CN201610148028.9A
Other languages
English (en)
Inventor
邹勇
王鲲
叶诚
赵军平
吕满
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by EMC Corp filed Critical EMC Corp
Priority to CN201610148028.9A priority Critical patent/CN107193686A/zh
Priority to US15/460,122 priority patent/US10409517B2/en
Publication of CN107193686A publication Critical patent/CN107193686A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

本公开的各种实施例提供了一种数据备份的设备,包括:与主备份设备耦合的辅备份设备,该辅备份设备进一步包括:数据分段装置,可操作以将待备份的目标数据划分为多个数据段;摘要数据生成装置,可操作以生成针对该多个数据段的每个数据段的相应摘要数据,并且向该主备份设备提供该摘要数据以用于该目标数据在该主备份设备处的备份,其中该摘要数据为长度小于相应数据段长度的映射数据段。

Description

用于数据备份的方法及设备
技术领域
本公开的各种实施例总体上涉及存储领域,并更为具体地涉及用于数据备份的方法及设备。
背景技术
在专用备份设备(Purpose Built Backup Appliance,PBBA)领域中,去重(de-duplication)技术是最为关键的技术之一。去重操作是一种数据压缩操作,其目的在于在将数据备份到备份设备之前删除重复数据而仅仅备份新的数据,从而有效地减少了重复数据对存储空间的占用。去重是一种计算密集型处理,包括数据分段算法、数据摘要计算算法、摘要索引搜索等。此外,根据用户需要,备份设备通常还提供数据压缩和数据加密选项。可以通过高性能的中央处理器(CPU)来实现这一目的。然而,这种CPU非常昂贵,不利于普及使用。另一方面,基于软件的解决方案在成本、适用范围和性能方面,同样存在着诸多缺陷。
发明内容
为了解决上述问题,本公开的实施例提供了一种用于数据备份的方法和设备。本公开的第一方面提供了一种用于数据备份的方法,该方法使目标数据段在通过原有的主备份设备之前首先通过辅备份设备来进行数据分段以及摘要数据的生成。该方法具体包括:在与主备份设备耦合的辅备份设备处,将待备份的目标数据划分为多个数据段;生成用于该多个数据段的每个数据段的相应摘要数据,该摘要数据为长度小于相应数据段长度的映射数据段;以及向该主备份设备提供该摘要数据以用于该目标数据在该主备份设备处的备份。
在某些实施例中,该方法还包括:在对该目标数据进行分段处理之前,通过协议处理,从输入到该辅备份设备的客户端数据中获得该目标数据。
在某些实施例中,生成该摘要数据包括:通过为该多个数据段确定相应散列值(也称作哈希值)来生成该摘要数据。
在某些实施例中,该方法还包括:从该主备份设备接收从该多个数据段中确定的重复数据段的第一指示,该重复数据段的该摘要数据与该主备份设备中存储的先前摘要数据匹配;以及响应于接收到该第一指示,将该重复数据段从该辅备份设备中移除。
在某些实施例中,该方法还包括:从该主备份设备接收从该多个数据段中确定的新数据段的第二指示,该新数据段的该摘要数据与该主备份设备中存储的先前摘要数据不匹配;以及响应于接收到该第二指示,对该新数据段执行预处理。
在某些实施例中,对该新数据段执行预处理包括以下至少一个:压缩该新数据段以及加密该新数据段。
在某些实施例中,该方法还包括:将经过预处理的该新数据段提供给该主备份设备以用于存储。
本公开的第二方面提供了一种用于数据备份的设备,该设备包括:与主备份设备耦合的辅备份设备,该辅备份设备进一步包括:数据分段装置,可操作以将待备份的目标数据划分为多个数据段;摘要数据生成装置,可操作以生成针对该多个数据段的每个数据段的相应摘要数据,并且向该主备份设备提供该摘要数据以用于该目标数据在该主备份设备处的备份,其中,该摘要数据为长度小于相应数据段长度的映射数据段。
本公开的第三方面提供了一种用于数据备份的计算机程序产品,该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行本公开的第一方面中的方法的步骤。
应当理解,发明内容部分并非旨在标识本公开的实施例的关键或重要特征,亦非旨在用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
通过对附图中的示例实施例的描述,本公开的特征和优点将易于理解,在附图中:
图1示出了根据本公开的实施例的用于数据备份的示意性系统图;
图2示出了根据本公开的实施例的用于数据备份的方法的流程图;
图3示出了根据本公开的另外的实施例的用于数据备份的方法的流程图;
图4示出了根据本公开实施例的用于数据备份的设备的框图;
图5示出了根据本公开实施例的一个包含有多个SoC设备的辅备份设备的内部结构图;
图6示出了根据本公开实施例的一个SoC设备的内部结构图;
图7示出了根据本公开实施例的包括多个客户端以及多个存储阵列的用于数据备份的系统的结构图;以及
图8示出了一个可以用来实施本公开的实施例的设备的示意性框图。
在所有附图中,相同或相似参考数字表示相同或相似元素。
具体实施方式
现在将参考一些示例实施例描述本公开的原理。可以理解,这些实施例仅出于说明并且帮助本领域的技术人员理解和实施例本公开的目的而描述,而非建议对本公开的范围的任何限制。在此描述的本公开的内容可以以下文描述的方式之外的各种方式实施。
如本文中所述,术语“包括”及其各种变体可以被理解为开放式术语,其意味着“包括但不限于”。术语“基于”可以被理解为“至少部分地基于”。术语“一个实施例”可以被理解为“至少一个实施例”。术语“另一实施例”可以被理解为“至少一个其它实施例”。
图1示出了根据本公开的实施例的用于数据备份的系统100的示意性示图。如图所示,系统100包括客户端102、主备份设备104、以及与主备份设备104耦合的辅备份设备106。主备份设备104与辅备份设备106可以例如经由以太网而彼此耦合。在图1中,主备份设备104包括控制器114以及用于存储备份数据的存储装置阵列116。辅备份设备106至少包括数据分段装置108、摘要数据生成装置110、以及数据通信装置112。
根据本公开的实施例,在操作中,客户端102可以将待备份的目标数据传递给向辅备份设备106,而不是如传统方案中那样直接发送给主备份设备104。辅备份设备106的数据分段装置108将目标数据划分为多个数据段。这些数据段随后被提供给摘要数据生成装置110。摘要数据生成装置110生成针对该多个数据段的相应摘要数据。特别地,根据本发明的实施例,摘要数据为长度小于相应数据段长度但代表了相应数据段的映射数据段。
摘要数据生成装置110随后向主备份设备104提供生成的摘要数据。在从辅部分设备106中的摘要数据生成装置110中接收到生成的摘要数据后,主备份设备104中的控制器114将所接收的每个摘要数据与已有摘要数据逐一地进行比较,以确定由摘要数据表示的数据段是重复数据段还是新数据段。如果该摘要数据与已有摘要数据中的任何一个相匹配,则确定该摘要数据表示的相应数据段为重复数据段,并且如果该摘要数据不与已有摘要数据中的任何一个相匹配,则确定该摘要数据表示的相应数据段为新数据段。仅在确定了该摘要数据表示的数据段为新数据段时,才将该新数据段从辅备份设备106中的数据通信装置112中发送到主备份设备104中的存储器阵列116中。对目标数据的各个数据段重复上述过程,以最终完成该目标数据在主备份设备104处的备份。
根据本公开的实施例,一部分去重处理从主备份设备104被转移给辅部分设备106,从而提高去重的性能。换言之,该辅部分设备106可以充当一种“附接盒(Add-on box)”,它可以被实现为在去重以及压缩或加密算法方面具有非常高的性能的SoC卡等。而且,本公开的实施例无需对原有的主备份设备104进行任何改动,因此有利于兼容性和扩展性。而且,通过使用摘要数据,使用少量的字节数(例如,仅20个字节)就可以代表各个数据段,以使得在后面进行去重操作时,无需使每个数据段(例如,平均长度为8kB)以逐字节的方式与已有数据段进行比较,而是只需将表示相应数据段的具有少量字节数的摘要数据与已有的摘要数据比较即可。这大幅降低了主设备104的控制器114的计算复杂度。
下面将参考图2详细描述辅备份设备106的功能/操作。具体而言,图2示出了根据本公开的实施例的用于数据备份的方法200的流程图。方法200可由辅备份设备106来实现。
方法200开始于步骤210,在该步骤,在与主备份设备104耦合的辅备份设备106处,将待备份的目标数据划分为多个数据段。在某些实施例中,对目标数据的分段处理采用不定长的方式。这是由于用户对一个文件(例如,GB数量级的文件)的改动可能很小,例如,仅增加几个字节。在这种情况下,如果采用定长分段处理,则后面所有没有被改变的数据段也都将随之被改变。采用不定长分段处理则可以适应性地仅关注于发生改变的那些数据段,并且使得未发生改变的那些数据段不受影响,从而提高了去重的效率。但需要指出,本公开并不旨在限定用于数据分段处理的算法,任何数据分段算法均应落入本公开的保护范围内。
方法200进行到步骤220,在此生成用于该多个数据段的相应摘要数据。例如,在某些实施例中,可以为每个数据段生成一个对应的摘要数据。备选地,为多个数据段生成一个摘要数据也是可能的。本公开的范围在此方面不受限制。
根据本公开的实施例,所生成的摘要数据为长度小于相应数据段长度的映射数据段。为此,在某些实施例中,可以通过为该多个数据段确定相应散列值(也称作哈希值)来生成该摘要数据。例如,在一个实施例中,可以为各个数据段基于安全哈希算法SHA1来确定相应的摘要数据。使用例如SHA1算法获得的摘要数据在降低数据量的同时,可以显著降低去重判断时的错误率。此外,控制器114中的计算复杂度得以降低。同样需要指出,本公开并不旨在限定用于生成摘要数据的算法,任何摘要数据生成算法均应落入本公开的保护范围内。
接下来,在步骤230,向主备份设备104提供摘要数据,以便主备份设备104对目标数据进行备份。如上所述,由于目标数据段首先通过辅备份设备106来进行数据分段和摘要数据的生成,主备份设备104不再需要执行分段操作以及摘要数据生成操作。这降低了主备份设备104在这些方面的负载。
图3示出了根据本公开的另一实施例的用于数据备份的方法300的流程图。方法300中的步骤320-340分别对应于方法200中的210-230,在此不再赘述。下面将主要描述方法300中包括的可选的附加步骤。
在310处,在对目标数据进行分段处理(即步骤210/320)之前,通过协议处理从输入到辅备份设备106的客户端数据中获得目标数据。附加的协议处理操作使得能够从通过例如网络接口卡接口(NIC)或光纤通道接口(FC)等不同接口输入的客户端数据分组中提取相应的原始数据作为目标数据,以便用于随后的分段处理。
在某些实施例,方法300还可以包括在步骤340之后执行的步骤350和360。具体而言,在步骤350处,辅备份设备106可以从主备份设备104接收从该多个数据段中确定的重复数据段的第一指示。在此使用的术语“重复数据段”是指其摘要数据与主备份设备104中存储的先前摘要数据匹配的那些数据段。具体而言,在操作中,主备份设备104中的控制器114查遍全部已有摘要数据并尝试找到与输入的该摘要数据匹配的先前的摘要数据。如果该摘要数据与已有摘要数据中的任何一个相匹配(也称为摘要数据命中),则主备份设备104中的控制器114确定该摘要数据表示的相应数据段为重复数据段。响应于接收到该第一指示,将该重复数据段从辅备份设备106中移除。
在传统去重技术中,很难实现在线全局去重。这是因为全局化去重需要进行全局索引搜索以匹配数据摘要。一些规模扩展的解决方案仅仅可以实现全局去重的后处理。与此不同,在本公开的实施例中,数据在被备份到主备份设备104之前就进行了高效的在线去重操作。以此方式,有效地减少了重复数据对存储空间的占用,提高了去重的效率和性能。
备选地或附加地,在步骤360,辅备份设备106可以从主备份设备104接收从该多个数据段中确定的新数据段的第二指示。在此使用的术语“新数据段”是指其摘要数据与主备份设备104中存储的先前摘要数据不匹配的那些数据段。类似地,在操作中,如果主备份设备104中的控制器114查遍全部已有摘要数据而并没有其中找到任何一个与输入的该摘要数据匹配的摘要数据(也称为摘要数据未命中),则主备份设备104中的控制器114确定该摘要数据表示的相应数据段为新数据段。响应于接收到第二指示,辅备份设备106可以在步骤365对新数据段执行预处理。
根据本公开的实施例,在步骤365处对新数据段执行的预处理可以包括以下至少一个:压缩新数据段;以及加密新数据段。如上所述,由于对重复数据段的去重操作以及对新数据段的压缩和加密操作均通过辅备份设备106来执行,因此,同样不再需要在原有的主备份设备104中执行去重、压缩以及加密操作。这进一步卸载了主备份设备104的负载。
继而,方法300可以进行到步骤370。在370处,将经过预处理的该新数据段提供给主备份设备104以用于存储,并完成对该新数据段在主备份设备104中的备份。主备份设备104对数据的备份可以使用任何目前已知或者将来开发的技术实现,在此不加赘述以避免混淆本公开的主题。
图4示出了根据本公开实施例的用于数据备份的辅备份设备106的框图。在图4所示的示例中,结合图1,辅备份设备106包括数据分段装置108、摘要数据生成装置110以及数据通信装置112。数据分段装置108可操作以将待备份的目标数据划分为多个数据段。摘要数据生成装置110可操作以生成针对该多个数据段的每个数据段的相应摘要数据。在某些实施例中,如上所述,摘要数据生成装置110可以为多个数据段确定相应散列值,从而生成摘要数据。摘要数据可由数据通信装置112发送给主备份设备104。
在某些实施例中,辅备份设备106还可以包括协议处理装置402,可操作以在对该目标数据进行分段处理之前从输入到辅备份设备106的客户端数据中获得该目标数据。在某些实施例中,辅备份设备106还包括指示接收装置412,用于从主备份设备104接收从该多个数据段中确定的重复数据段的第一指示。辅备份设备106中的重复数据删除装置404可响应于接收到第一指示而将该重复数据段从辅备份设备106中移除。
指示接收装置412还可以从主备份设备104接收从该多个数据段中确定的新数据段的第二指示。作为响应,数据预处理装置406可以对该新数据段执行预处理。如图所示,新数据预处理装置406可以包括以下至少一个:数据压缩装置408,用于压缩该新数据段;以及数据加密装置410,用于加密该新数据段。经过预处理的新数据段可由数据通信装置112提供给主备份设备104以便存储。
根据本公开的实施例,辅备份设备106可以利用各种方式来实现。例如,在某些实施例中,辅备份设备106可以被实现为一个或多个片上系统(SoC)。图5示出了根据本公开实施例的被实现为SoC的辅备份设备106的框图。
在图5所示的实施例中,辅备份设备106可以被实现为SoC卡,其例如可以是一种外部设备互连(PCI)设备并且通过PCI插槽耦合至计算机。辅备份设备106中包括处理单元CPU 540。在某些实施例中,CPU 540仅被用来管理各个SoC卡520,例如用于检查各个SoC卡520的状态,因此可以利用成本较低的器件来实现。除此之外,辅备份设备106中还包含用于为整个辅备份设备106提供电能的电源模块580以及用于冷却整个辅备份设备106的风扇模块560。需要指出,由于SoC卡中运行有用于压缩或加密任务的芯片,因此,风扇模块560的功率应当足够强大以将这些SoC卡冷却,或者也可以为每个SoC卡设置一个单独的风扇模块。
图6示出示出了图5中描绘的SoC设备520的示意性框图。如图6所示,SoC设备520包括NIC端口604-1和604-2,用于与客户端连接来接收客户端数据以及与主备份设备104连接来将新数据段发送给主备份设备104。例如,NIC端口604-1用于接收客户端数据,并且端口604-2用于将新数据经由其发送给主备份设备104。SoC设备620还包括作为数据分段装置的处理器602。在图6所示的实现中,SoC设备520还包括专用的摘要数据芯片606、数据压缩芯片608、以及数据加密芯片610,用于高效执行上述方法200或方法300中的相关操作。也就是说,摘要数据生成、数据压缩、数据加密等模块在此实施例中被实现为芯片。
图7示出了根据本公开实施例的用于数据备份的系统700的结构图。如图7所示,系统700包括:多个客户端102-1、102-2、…、102-N;辅备份设备106;以及与辅备份设备106耦合的主备份设备104。系统700还包括网络交换机702,以及用于确定对哪个客户端的哪些数据进行备份的备份服务器704。
主备份设备104中包括上文描述的控制器114以及多个存储器阵列116-1、116-2、…、116-N。在此示例实现中,控制器114包括NIC接口(或FC接口)706和序列式主总线适配器(SAS HBA)708,以用于连接多个存储器阵列。多个存储器阵列116-1、116-2、…、116-N中的每一个阵列通常包括给定数目(例如,10-60个)存储设备(例如,磁盘)。多个阵列被连接在一起形成“简单磁盘捆绑”(JBOD)以共同为备份数据提供存储空间。在操作中,辅备份设备106可以如上文所述的操作,以便与主备份设备104配合工作,实现数据的增量备份。
图8示出了一个可以用来实施本公开的实施例的设备800的示意性框图。例如,辅备份设备106可以在设备800中实现。如图所示,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200和/或300,可由处理单元801执行。例如,在一些实施例中,方法200和/或300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序被加载到RAM 803并由CPU 801执行时,可以执行上文描述的方法200和/或300的一个或多个步骤。
综上所述,本公开的各个实施例提供了一种用于数据备份的方法及设备。由于将一部分例如数据分段、压缩、加密等尤其适于(例如包含了多个SoC卡的)辅备份设备106执行的操作移入辅备份设备106中执行,因此降低了对CPU的资源占用,从而在整体上实现了较高的备份性能。此外,利用本公开的所述方法以及设备执行的数据备份操作,使得数据在被备份到主存储设备之前就进行了高效的在线去重操作,从而有效地减少了重复数据对存储空间的占用。
总体而言,本公开的各种实施例可以以硬件或专用电路、软件、逻辑或其任意组合实施。一些方面可以以硬件实施,而其它一些方面可以以固件或软件实施,该固件或软件可以由控制器、微处理器或其它计算设备执行。虽然本公开的各种方面被示出和描述为框图、流程图或使用其它一些绘图表示,但是可以理解本文描述的框、设备、系统、技术或方法可以以非限制性的方式以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其它计算设备或其一些组合实施。
此外,虽然操作以特定顺序描述,但是这不应被理解为要求这类操作以所示的顺序执行或是以顺序序列执行,或是要求所有所示的操作被执行以实现期望结果。在一些情形下,多任务或并行处理可以是有利的。类似地,虽然若干具体实现方式的细节在上面的讨论中被包含,但是这些不应被解释为对本公开的范围的任何限制,而是特征的描述仅是针对具体实施例。在分离的一些实施例中描述的某些特征也可以在单个实施例中组合地执行。相反对,在单个实施例中描述的各种特征也可以在多个实施例中分离地实施或是以任何合适的子组合的方式实施。
虽然本公开以具体结构特征和/或方法动作来描述,但是可以理解,在所附权利要求书中限定的技术方案的范围并不必然限于上述具体特征或动作。换言之,以上描述的仅仅是本公开的可选实施例。对于本领域的技术人员来说,本公开的实施例可以存在各种更改和变化。凡在本公开的精神和原则之内所作的任何修改、等效替换、改进等,均包含在本公开的保护范围之内。

Claims (16)

1.一种用于数据备份的方法,包括:
在与主备份设备耦合的辅备份设备处,将待备份的目标数据划分为多个数据段;
生成用于所述多个数据段的每个数据段的相应摘要数据,所述摘要数据为长度小于相应数据段长度的映射数据段;以及
向所述主备份设备提供所述摘要数据以用于所述目标数据在所述主备份设备处的备份。
2.根据权利要求1所述的方法,还包括:
在对所述目标数据进行分段处理之前,通过协议处理从输入到所述辅备份设备的客户端数据中获得所述目标数据。
3.根据权利要求1所述的方法,生成所述摘要数据包括:
通过为所述多个数据段确定相应散列值来生成所述摘要数据。
4.根据权利要求1所述的方法,还包括:
从所述主备份设备接收从所述多个数据段中确定的重复数据段的第一指示,所述重复数据段的所述摘要数据与所述主备份设备中存储的先前摘要数据匹配;以及
响应于接收到所述第一指示,将所述重复数据段从所述辅备份设备中移除。
5.根据权利要求1所述的方法,还包括:
从所述主备份设备接收从所述多个数据段中确定的新数据段的第二指示,所述新数据段的所述摘要数据与所述主备份设备中存储的先前摘要数据不匹配;以及
响应于接收到所述第二指示,对所述新数据段执行预处理。
6.根据权利要求5所述的方法,所述对所述新数据段执行预处理包括以下至少一个:
压缩所述新数据段;以及
加密所述新数据段。
7.根据权利要求6所述的方法,还包括:
将经过预处理的所述新数据段提供给所述主备份设备以用于存储。
8.一种用于数据备份的设备,包括:
数据分段装置,可操作以将待备份的目标数据划分为多个数据段;
摘要数据生成装置,可操作以生成针对所述多个数据段的每个数据段的相应摘要数据,所述摘要数据为长度小于相应数据段长度的映射数据段;以及
数据通信装置,可操作以向所述主备份设备提供所述摘要数据以用于所述目标数据在所述主备份设备处的备份。
9.根据权利要求7所述的设备,还包括:
协议处理装置,可操作以在对所述第一数据进行分段处理之前从输入到所述辅备份设备的客户端数据中获得所述目标数据。
10.根据权利要求7所述的设备,所述摘要数据生成装置可操作以:
通过为所述多个数据段确定相应散列值来生成所述摘要数据。
11.根据权利要求7所述的设备,还包括:
指示接收装置,可操作以从所述主备份设备接收从所述多个数据段中确定的重复数据段的第一指示,所述重复数据段的所述摘要数据与所述主备份设备中存储的先前摘要数据匹配;以及
重复数据删除装置,可操作以响应于接收到所述第一指示,将所述重复数据段从所述辅备份设备中移除。
12.根据权利要求7所述的设备,其中
所述指示接收装置还可操作以从所述主备份设备接收从所述多个数据段中确定的新数据段的第二指示,所述新数据段的所述摘要数据与所述主备份设备中存储的先前摘要数据不匹配;并且
所述设备还包括数据预处理装置,所述数据预处理装置可操作以响应于接收到所述第二指示,对所述新数据段执行预处理。
13.根据权利要求12所述的设备,所述新数据预处理装置包括以下至少一个:
数据压缩装置,可操作以压缩所述新数据段;以及
数据加密装置,可操作以加密所述新数据段。
14.根据权利要求13所述的设备,所述数据通信装置进一步可操作以将经过预处理的所述新数据段提供给所述主备份设备以用于存储。
15.根据权利要求8所述的设备,所述设备包括片上系统(SoC)。
16.一种用于数据备份的计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1-7任一项所述的方法的步骤。
CN201610148028.9A 2016-03-15 2016-03-15 用于数据备份的方法及设备 Pending CN107193686A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610148028.9A CN107193686A (zh) 2016-03-15 2016-03-15 用于数据备份的方法及设备
US15/460,122 US10409517B2 (en) 2016-03-15 2017-03-15 Method and device for data backup

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610148028.9A CN107193686A (zh) 2016-03-15 2016-03-15 用于数据备份的方法及设备

Publications (1)

Publication Number Publication Date
CN107193686A true CN107193686A (zh) 2017-09-22

Family

ID=59855548

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610148028.9A Pending CN107193686A (zh) 2016-03-15 2016-03-15 用于数据备份的方法及设备

Country Status (2)

Country Link
US (1) US10409517B2 (zh)
CN (1) CN107193686A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113225297A (zh) * 2020-01-21 2021-08-06 北京国双科技有限公司 数据混合加密方法、装置及设备
WO2023245942A1 (zh) * 2022-06-24 2023-12-28 苏州忆联信息系统有限公司 Ssd有限窗口数据去重识别方法、装置和计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120059800A1 (en) * 2010-09-03 2012-03-08 Fanglu Guo System and method for scalable reference management in a deduplication based storage system
US8495392B1 (en) * 2010-09-02 2013-07-23 Symantec Corporation Systems and methods for securely deduplicating data owned by multiple entities
US20150032978A1 (en) * 2013-07-26 2015-01-29 Dell Products L.P. Transferring differences between chunks during replication
CN104380263A (zh) * 2012-05-25 2015-02-25 赛门铁克公司 备份图像复制
US20150095596A1 (en) * 2013-09-27 2015-04-02 Symantec Corporation Techniques for Improving Performance of a Backup System

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8949561B2 (en) * 2012-08-07 2015-02-03 Netapp, Inc. Systems, methods, and computer program products providing change logging in a deduplication process

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8495392B1 (en) * 2010-09-02 2013-07-23 Symantec Corporation Systems and methods for securely deduplicating data owned by multiple entities
US20120059800A1 (en) * 2010-09-03 2012-03-08 Fanglu Guo System and method for scalable reference management in a deduplication based storage system
CN104380263A (zh) * 2012-05-25 2015-02-25 赛门铁克公司 备份图像复制
US20150032978A1 (en) * 2013-07-26 2015-01-29 Dell Products L.P. Transferring differences between chunks during replication
US20150095596A1 (en) * 2013-09-27 2015-04-02 Symantec Corporation Techniques for Improving Performance of a Backup System

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113225297A (zh) * 2020-01-21 2021-08-06 北京国双科技有限公司 数据混合加密方法、装置及设备
WO2023245942A1 (zh) * 2022-06-24 2023-12-28 苏州忆联信息系统有限公司 Ssd有限窗口数据去重识别方法、装置和计算机设备

Also Published As

Publication number Publication date
US20170269845A1 (en) 2017-09-21
US10409517B2 (en) 2019-09-10

Similar Documents

Publication Publication Date Title
US11093159B2 (en) Storage system with storage volume pre-copy functionality for increased efficiency in asynchronous replication
US10176046B1 (en) Checkpointing of metadata into user data area of a content addressable storage system
EP2765524B1 (en) Data processing method and device in cluster system
US20160132541A1 (en) Efficient implementations for mapreduce systems
US20110040771A1 (en) Distributed hardware-based data querying
CN104881466B (zh) 数据分片的处理以及垃圾文件的删除方法和装置
US11126361B1 (en) Multi-level bucket aggregation for journal destaging in a distributed storage system
AU2014262240A1 (en) Entity resolution from documents
US10169348B2 (en) Using a file path to determine file locality for applications
CN108027713A (zh) 用于固态驱动器控制器的重复数据删除
CN116955361A (zh) 存储器内密钥范围搜索方法和系统
CN113687964B (zh) 数据处理方法、装置、电子设备、存储介质及程序产品
Ramya et al. SecDedoop: secure deduplication with access control of big data in the HDFS/hadoop environment
CN107193686A (zh) 用于数据备份的方法及设备
US9547730B2 (en) Adaptive query processor for query systems with limited capabilities
CN116610731B (zh) 一种大数据分布式存储方法、装置、电子设备及存储介质
CN105930104B (zh) 数据存储方法和装置
US10929239B2 (en) Storage system with snapshot group merge functionality
US11429517B2 (en) Clustered storage system with stateless inter-module communication for processing of count-key-data tracks
US11233739B2 (en) Load balancing system and method
US20210224163A1 (en) Remote rollback of snapshots for asynchronous replication
CN110417777A (zh) 一种优化的微服务间通信的方法及装置
Wang et al. Zen: Near-optimal sparse tensor synchronization for distributed DNN training
US11687542B2 (en) Techniques for in-memory data searching
CN104679757B (zh) 数据处理方法及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200414

Address after: Massachusetts, USA

Applicant after: EMC IP Holding Company LLC

Address before: Ma Sazhusaizhou

Applicant before: EMC Corp.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20170922

RJ01 Rejection of invention patent application after publication