基于上下文感知的重复数据删除的方法和装置的制造方法_2

文档序号:9732051阅读:来源:国知局
数目,所述数据片的数目表示所述数据分段的得分;以及数据选择模块,用于基于所述数据分段的所述得分提供数据分段集以对所述待写入数据进行重复数据删除。
[0041]根据第三方面,本发明涉及一种包括文件系统和根据所述第二方面的装置的备份系统。
[0042]本文所述的方法、系统和设备可以作为数字信号处理器(DSP)、微处理器或任何其它边处理器中的软件或者作为专用集成电路(ASIC)或现场可编程门阵列内的硬件电路实施,该现场可编程门阵列是一种设计由客户或设计者在制造后配置的集成电路,因此是“现场可编程的”。
[0043]本发明可以在数字电子电路,或计算机硬件、固件、软件,或其组合中实施,例如,在传统移动设备的可用硬件或专用于处理本文所述方法的新硬件中实施。
【附图说明】
[0044]本发明的其它实施方式将结合以下附图进行描述,其中:
[0045]图1所示为本发明一项实施例包括文件系统和基于上下文感知的重复数据删除的装置的备份系统的示意图;
[0046]图2所示为根据本发明一实施例的核心数据布局的示意图;
[0047]图3所示为根据本发明又一实施例的基于上下文感知的重复数据删除的方法的方框图;以及
[0048]图4所示为根据本发明又一实施例的基于上下文感知的重复数据删除的方法的方框图。
【具体实施方式】
[0049]在相关附图中,相同参考标号表示相同或至少等效元件、组件、单元或步骤。另外,需要说明的是,相关附图并不是本发明的所有附图。
[0050]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0051]显然,所描述的实施例只是本发明一些实施例,而不是全部的实施例。基于本发明所描述的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0052]图1所示为根据本发明一项实施例包括文件系统和基于上下文感知的重复数据删除的装置的备份系统的示意图。
[0053]图1所示为本发明一实施例,其中示出了重复数据删除装置100及其写入路径。重复数据删除装置100利用稀疏索引的概念作为定义机制的一部分。本发明所示出的实施例关于重复数据删除部件或装置100,其从备份系统BS接收写、读和删除命令。装置100可以在备份系统BS和文件系统FS之间耦合。
[0054]用于基于上下文感知的重复数据删除的装置100可以包括重复数据删除模块10、处理模块20、数据选择模块30和元数据存储器缓存40。
[0055]重复数据删除模块10可以用于将已写入数据的至少一个结构元数据加载到元数据存储器缓存中以及将已缓存的待写入数据分为数据片。
[0056]处理模块20可以用于通过扫描元数据存储器中的已缓存的结构元数据计算每个数据分段中待写入数据中现有的片的数目,片的数目表示数据分段的得分。
[0057]数据选择模块30可以用于基于数据分段的得分提供数据分段集以对待写入数据进行重复数据删除。
[0058]元数据存储器缓存40可以用于接收和存储待写入数据的至少一个元数据和已写入数据的至少一个元数据。
[0059]一系列步骤可以是以下内容:在写命令时,重复数据删除引擎将逻辑块和相邻逻辑块的先前版本中的块元数据文件加载至存储器。
[0060]例如,重复数据删除系统接口可以是:
[0061 ]写(块逻辑位置(字符串)、版本ID(整数)、数据(缓冲器))
[0062]读(块逻辑位置(字符串)、版本ID(整数)、数据(缓冲器))
[0063]删除(块逻辑位置(字符串)、版本ID(整数)),然而备份系统将使用逻辑块位置作为数据源的唯一标识符,以及获取数据块的位置,例如“storage array name/lun id/offset,,。
[0064]主机节点HN将待保存数据,即待写入数据,提供给备份系统BS。待保存数据或待写入数据可以以从主机节点HN发给备份系统BS的4MB的数据块而存在。备份系统BS可以将从主机节点HN读取的数据块发送给重复数据删除系统,即装置100。
[0065]本发明中,主机节点HN(拉丁文nodus,‘结点’)可以是一个连接点、重分布点或通信端点(某个终端设备)。
[0066]网络主机节点HN可以是连接到计算机网络的计算机。网络主机节点HN可以提供信息资源、业务和应用给用户或网络上的其它节点。网络主机节点HN可以是分配有网络层主机地址的网络节点。
[0067]根据本发明,文件系统FS用于控制信息如何存储和获取。
[0068]文件系统FS可以在多种不同种类的存储设备上使用。每个存储设备可以使用不同种类的介质。使用的介质可以是磁带、光盘和闪存。在某些情况下,计算机的主存储器、随机存取存储器、RAM或任何其它形式的计算机数据存储器用于创建供短期使用的临时文件系统。
[0069]术语“文件系统”可以指用于定义文件的抽象数据结构,或实现抽象概念的实际软件或固件组件。
[0070]由于文件系统、任何系统可以在本地数据存储设备上使用,所以其它系统将通过网络协议(例如,网络文件系统(NFS)、服务器消息块(SMB)或计划9(9P)客户端)提供文件访问。文件系统可以是“虚拟的”,因为提供的“文件”根据请求(例如,进程文件系统)计算,或者仅仅是到用作常备存储的不同文件系统的映射。文件系统FS管理到文件内容和关于这些文件的元数据的访问。
[0071]备份系统BS可以包括多个客户端计算机和一个备份服务器计算机,该备份服务器计算机包括自动执行客户端计算机中数据的常规备份的构件。
[0072]可选地,在本发明的一项实施例中,每个命令涉及从正在备份的驱动器中读取的4MB数据块。重复数据删除装置100通过写入重复数据删除的数据块将数据存储在文件系统FS上。
[0073]写操作或基于上下文感知的重复数据删除的方法可以根据以下内容进行:
[0074]在写操作的第一步骤中,写命令到达重复数据删除系统。
[0075]在写操作的第二步骤中,指定待写入和待保存的数据块被划分成片,S卩,计算数据块的哈希值。
[0076]在写操作的第三步骤中,执行:读取块和附近块的先前版本的块元数据文件。对于这些块元数据文件中的每个分段,执行:计算相同块元数据文件中的片的数目,其中基于指纹处理块元数据文件,块元数据文件属于特定分段并且还出现在写命令的内容中。随后,该数目被设置为分段的得分。
[0077]例如,当系统接收命令“写(磁盘7/块8,版本5,【某一数据缓冲器】)”时,系统将加载“磁盘7/块8”和“版本4”的块元数据。另一示例是由例如Microsoft HyperV的VMware ESX等虚拟机管理程序创建的虚拟机的快照。
[0078]在写操作的第四步骤中,执行:将查找命令发送给写命令中的每个片的索引。
[0079]在写操作的第五步骤中,执行:选择以下分段进行重复数据删除:
[0080]a)如果存在四个以上分段的得分高于待写入数据中的片数目的0.1倍,则选择四个具有最高得分的分段。
[0081]b)如果少于四个分段的得分大于待写入数据中的片数目的0.1倍,则选择所有这些分段,并且还选择在写操作的步骤4的查找中找到的分段,所以所选择分段的总数目不超过4。
[0082]在写操作的第六步骤中,所选分段从磁盘中加载,而且以所选分段中的片进行重复数据删除。将非重复数据删除的片被写入新的分段中。
[0083]在写操作的第七步骤中,将新的块元数据文件保存到文件系统FS。
[0084]图2所示为根据本发明一实施例的核心数据布局的示意图。
[0085]系统的如图2所示的核心数据布局在下文进行描述:
[0086]以少量分段中的数据片对单个块进行重复数据删除。两种机制用于选择进行重复数据删除的分段:
[0087]首先,使用稀疏索引技术,其拥有每个分段的几个代表性形式。索引用于确定传入块到任意分段之间的相似性。
[0088]其次,当接收写命令到某个块时使用上下文感知的重复数据删除方法,前端加载块和附近块的先前版本的块元数据文件。块元数据文件中的信息被用来识别与新写入中数据共享片的分段。
[0089]可选地,在本发明的一项实
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1