分布式数据共享存储系统的分析与实现

分布式数据共享存储系统的分析与实现

ID:32124468

大小:5.65 MB

页数:45页

时间:2019-01-31

分布式数据共享存储系统的分析与实现_第1页
分布式数据共享存储系统的分析与实现_第2页
分布式数据共享存储系统的分析与实现_第3页
分布式数据共享存储系统的分析与实现_第4页
分布式数据共享存储系统的分析与实现_第5页
资源描述:

《分布式数据共享存储系统的分析与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、分布式数据共享存储系统的研究与实现大,如果两个文件仅仅只有一个字节不同,它们也会产生不同的哈希值,因此发现不了重复数据。这会导致大量文件内数据段之间的重复。BoloskypJ等人在Windows系统中实现了单例存储技术(SIS)。在文件存入系统时通过查找相同的文件,如果存在则将新文件链接到已有的文件上,再通过写时拷贝来处理文件内容的修改。因为在日常的使用中完全相同的文件并不是很多,所以该技术不能像现代重复数据消除系统那样消除更多的重复数据,但是它简单并且效率较高。为了解决全文去重效率不高的问题,重复数据消除系统可以使用数据分块技术。分块技术使

2、用哈希值来标记文件数据的一部分,而不是将整个文件进行标记。目前有两种常用的方法来决定文件的数据怎样分块:固定大小分块和变长数据分块。两种方法都使用分块来标记重复数据。分块技术利用数据内容将数据块打上不同的标记,根据标记是否相同来辨别数据是否相同。然后将单一的数据副本和不同的元数据进行存储,并利用元数据和不同的数据块来进行数据恢复。数据块的大小可以是预定义的一个值,但更多的是一个根据数据内容本身而来的一个变量值。在本文中重点讨论变长分块技术。固定大小分块是一种比较简单的数据分块技术。首先,文件被拆分成固定大小的数据块,数据块的大小可以是文件系统

3、的一个数据块或者由去重系统指定的一个大小值。如果找到一个重复块,则将该块不写入磁盘,同时更新文件的元数据表。如果数据块在系统中未找到则将数据写入磁盘,同时将该数据块的哈希值添加的元数据表中。在使用固定大小分块的文件系统像Venti[4J和DDDFS[5J那样,使用160个二进制位的SHA.1来进行摘要提取作为数据块的哈希值。然后利用哈希值进行重复数据的查找,将数据块合并存储在一个较大的文件中。而在Opendedupt6】文件系统中却是用了另外一种数据存储方式,该文件系统实现了用户空间的在线重复数据消除。该文件系统将每一个唯一的数据块都作为一个

4、文件来存储,这样的存储方式并不利用数据的管理,这样会在系统中产生太多的文件,给文件的查找造成性能瓶颈。使用固定块大小的好处是能够比使用全文哈希得到更多的重复数据。但是它同样存在跟全文哈希一样的问题,当两个数据块仅仅差一个字节的时候产生的哈希值都是不一样的,因此不能检测出两个数据块中的重复数据部分。对于每一个存储在磁盘上的唯一数据块在元数据哈希表中都有一条相应的记录。这意味着元数据的大小随着存储在磁盘上的唯一数据块的增加而增加。为了解决固定分块技术中块之间重复数据的问题,可以使用变长分块技术。变长分块技术使用一种算法通过计算边界来计算每个数据块

5、的大小。最普遍的计算数据块边界的算法就是基于Rabin[7】指纹算法。使用Rabin指纹算法数据块的大小是由文件的内容决定的。基于Rabin指纹算法的数据分块通常有一个最小和最大块限制,以此来限制生大连理工大学硕士学位论文成的数据块的长度。在数据块边界被确定后使用该数据块的MD5181或者SHAl91值作为该数据块的标识符。当整个文件都被分块后数据块的重复检测跟固定分块方法类似,只有不重复的数据块才写入到磁盘上。当前流行的Pastall0】系统中就采用了这种变长分块技术,该系统将数据分块后存储在网络中的各个节点以此让大家共享更多的数据,从某种

6、意义上来说这更接近于当前云存储的思想。变长分块的好处是比固定分块能得到更多的重复数据,它甚至还能避免之前全文哈希和固定分块中出现的数据块相差一个字节的问题。虽然变长分块能检测到更多重复数据,但是它将比固定分块付出更多的代价。进行重复数据检测前固定分块已经有一个指定数据块大小,而变长分块使用Rabin指纹来计算每个块的大小。如果算法中的最小最大参数设置的合理对于同一个文件变长分块将会比固定分块产生更多的数据块。更多的数据块也就意味着将要存储更多的元数据。但是根据文件的内容来决定数据块的边界,文件内容的少量改动对整个文件中的大部分数据块将不会产生

7、影响。重复数据消除技术不仅仅能消除持久存储上的重复数据,它还能减少网络中的带宽利用率。LBFSt¨J使用变长分块来减少网络带宽。当一个用户想将一个文件发送到网络中时,LBFS使用Rabin指纹技术将文件分成一个个变长的数据块。然后将数据块的Rabin指纹发送到目的节点。目的节点将接收到的指纹与本地存储的指纹库进行对比,如果没有找到匹配的指纹,则将该数据块标识符返回到客户端用来指明需要发送哪些数据块到目的节点。Shark[121文件系统利用LBFS的架构并在分布式文件系统中实现了该架构。当客户端想要存储一个文件到系统中时任然使用Rabin指纹将

8、文件分成小的数据块。但是在Shark文件系统中客户端使用SHA.1来生成每个数据块的标识符。TAPER[13】文件系统使用重复数据消除技术在同步复制的时候进行重复数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。