重复数据的处理方法技术

技术编号:8046984 阅读:208 留言:0更新日期:2012-12-06 16:16
一种重复数据的处理方法,包括:将储存文件分割成多个原始数据块以及多个元数据块,其中原始数据块以及元数据块为一对一对应,且每一个元数据块中存有对应的原始数据块的储存指纹值;接收重复数据判断请求,其中重复数据判断请求包括请求指纹值;读取至少一个元数据块,并对比请求指纹值与读取的元数据块的储存指纹值;以及当请求指纹值与读取的元数据块的储存指纹值相同时,修改读取的元数据块的引用计数值,并将修改过的元数据块回存。

【技术实现步骤摘要】

本专利技术涉及一种,特别涉及一种快速的。
技术介绍
重复数据删除是一种数据缩减技术,通常用于基于磁盘的备份系统,主要目的在于减少存储系统中使用的存储容量。它的工作方式是在某个时间周期内查找不同文件中不同位置的重复可变大小数据块。重复的数据块用指示符取代。由于存储系统中总是充斥着大量的冗余数据。为了解决这个问题,节省更多空间,重复删除的技术便顺理成章地成了人们关注的焦点。采用重复删除的技术可以将存储的数据缩减为原来的1/20,从而让出更多的备份空间,不仅可以使存储系统上的备份数据保存更长的时间,而且还可以节约离线存储时所需的大量的频宽。 由于欲存储的数据都会被储存在服务器中,因此客户端需要时时的将数据传送至服务器。接着,服务器再对数据进行重复数据删除的处理。然而为了判断客户端欲备份的数据是否已储存在服务器的磁盘中,需要将相关的整个数据块加载记忆体,再读取整个数据块中的元数据(meta data)的部分。但不论此数据块是不是重复数据,都不会用到被加载记忆体的数据块中的原始数据(raw data)。
技术实现思路
本专利技术的目的在于提供一种。先将一储存文件分割成多个原始数据块Craw tank)以及多个元数据块(meta tank),其中原始数据块以及元数据块为一对一对应,且每一个元数据块中存有对应的原始数据块的一储存指纹值(fingerprint)。接着接收一判断重复数据请求,其中判断重复数据请求包括一请求指纹值。读取至少一个元数据块,并对比请求指纹值与读取的元数据块的储存指纹值。当请求指纹值与读取的元数据块的储存指纹值相同时,修改读取的元数据块的一引用计数值(referred counter),并将修改过的元数据块回存。其中每一个原始数据块可包括多个原始数据单元(raw chunk),每一个元数据块可包括多个元数据单元(meta chunk),且原始数据单元以及元数据单元为一对一对应。根据一实施范例,储存文件可储存于一服务器的一磁盘,且修改过的元数据块可回存于磁盘。“读取至少一个元数据块,并对比请求指纹值与读取的元数据块的储存指纹值”的步骤中,可先判断对应于请求指纹值的元数据块是否存在于一记忆体。当对应于请求指纹值的元数据块存在于记忆体时,读取记忆体中对应于请求指纹值的元数据块,并对比请求指纹值与读取的元数据块的储存指纹值。“读取至少一个元数据块,并对比请求指纹值与读取的元数据块的储存指纹值”的步骤中,当对应于请求指纹值的元数据块不存在于记忆体时,可由磁盘将对应于请求指纹值的元数据块读入记忆体,并对比请求指纹值与读取的元数据块的储存指纹值。根据另一实施范例,多个元数据块可被作为一分配组。“读取至少一个元数据块,并对比请求指纹值与读取的元数据块的储存指纹值”的步骤中则可先读取至少一个分配组,再对比请求指纹值与读取的分配组中的元数据块的储存指纹值。其中分配组的数据大小可以是16千字节(KB)的正整数倍。此外,“改读取的元数据块的引用计数值,并将修改过的元数据块回存”的步骤中,可修改读取的元数据块的引用计数值,并将修改过的元数据块所对应的分配组回存。以下结合附图和具体实施例对本专利技术进行详细描述,但不作为对本专利技术的限定。附图说明图I为根据本专利技术一实施范例的服务器的示意图; 图2为根据本专利技术一实施范例的的流程图;图3为根据本专利技术一实施范例的元数据单元以及原始数据单元的示意图;图4为根据本专利技术一实施范例的步骤S130的流程图;图5为根据本专利技术一实施范例的分配组的示意图。其中,附图标记10客户端20服务器30记忆体40 磁盘50储存文件60,60A,60B,60C 元数据块62元数据单元64分配组70,70A,70B,70C 原始数据块72原始数据单元具体实施例方式以下在实施方式中详细叙述本专利技术的详细特征以及优点,其内容足以使任何本领域技术人员了解本专利技术的
技术实现思路
并据以实施,且根据本说明书所揭露的内容、权利要求范围及附图,任何本领域技术人员可轻易地理解本专利技术相关的目的及优点。本专利技术关于一种,其适用于一服务器。实施的服务器可被用以备份至少一客户端的数据,且服务器可具有重复数据删除的功能。请参照图1,其为根据本专利技术一实施范例的服务器的示意图。服务器20可通过因特网(Internet)或内网(internet)等各种网络(network)与多个客户端10连接,并备份由客户端10传送来的数据。服务器20可具有一记忆体30、一磁盘40以及处理器等硬件。磁盘40储存多个已从客户端10完整接收的多个储存文件50 ;而在处理储存文件50时,可将欲处理的数据从磁盘40加载记忆体30再进行处理。储存文件50可以例如是纯文本文件、各种多媒体文件或是客户端10进行系统备份时产生的快照(snapshot)。能够在客户端10欲进行备份时,快速地判断在欲进行备份的文件是否是服务器20的储存文件50之一。请参照图2,其为根据本专利技术一实施范例的的流程图。首先,服务器20可预先将储存文件50分割成多个元数据块(meta tank) 60A、60B以及60C,以及多个原始数据块(raw tank)70A、70B以及70C (步骤S100)。另,以下统称为元数据块60以及原始数据块70。原始数据块70以及元数据块60为一对一对应。其中每一个元数据块60中存有对应的原始数据块70的一储存指纹值(fingerprint)。举例来说,元数据块60A、60B以及60C可以是分别对应于原始数据块70A、70B以及70C ;且元数据块60A中存有原始数据块70A的储存指纹值。服务器20可以利用固定长度方式(fixed-size partition)或基于内容变长度分割方式(content-defined chunking, CDC)等方式先将整个储存文件50分割成多组数据块,其中每一组数据块包括对应的一个元数据块60以及原始数据块70。接着再将成对的元 数据块60以及原始数据块70分别存放,以利后续读取。然而服务器20也可以先将储存文件50的内容部分分割成原始数据块70,再依据分割好的原始数据块70得到对应的元数据块60。服务器20并可通过1 5、5撤-1、5撤-256、SHA-512或单向哈希(One-way HASH)等算法计算每一个原始数据块70的储存指纹值,并将这些储存指纹值存入对应的元数据块60之中。于一实施范例中,每一个原始数据块70可包括多个原始数据单元(rawchunk) 72,如图3所示。相对地,每一个元数据块60可包括多个元数据单元(metachunk) 62,且这些原始数据单元72以及元数据单元62也是一对一对应。例如元数据块60A中的6个元数据单元62 —对一对应于原始数据块70A中的6个原始数据单元72。以固定长度的分割方式为例,假设每一个原始数据单元72的长度为64千字节(KB),对应的元数据单元62的长度会是28字节(byte),并固定每个原始数据块70的长度为2兆字节(MB)。则可计算出每个数据块中包括32个单元,而元数据块60的长度为896KB。接着服务器20可从任一个客户端10接收一重复数据判断请求,其中重复数据判断请求包括一请求指纹值(步骤S120)。为了尽量减少客户端10与服务器20之间的数据传输,客户端10预备份一请求数本文档来自技高网
...

【技术保护点】
一种重复数据的处理方法,其特征在于,包括:将一储存文件分割成多个原始数据块以及多个元数据块,其中该些原始数据块以及该些元数据块为一对一对应,且每一该元数据块中存有对应的该原始数据块的一储存指纹值;接收一重复数据判断请求,其中该重复数据判断请求包括一请求指纹值;读取至少一该元数据块,并对比该请求指纹值与读取的该元数据块的该储存指纹值;以及当该请求指纹值与读取的该元数据块的该储存指纹值相同时,修改读取的该元数据块的一引用计数值,并将修改过的该元数据块回存。

【技术特征摘要】

【专利技术属性】
技术研发人员:朱明胜陈志丰
申请(专利权)人:英业达股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1