读 LBFS 有感

LBFS 有感

         LBFS解决在低带宽的前提下如何实现一个文件系统。其的大致思路如下,对文件进行分片,寻找出客户端与服务器端不同的片,只传输差异的文件片,在客户端和服务器端重新合成文件进行保存。

         文件片的计算方法采用的是CDC算法,实验中采用8KBchunk size48B的滑动窗口。该算法需要仔细研究下。在LBFS的另一个作者的pastwatch项目中,有该算法源码,好好研究下。

         无论在客户端还是服务器端,LBFS利用文件片实现的是在所有文件中查找是否相同片。这个就带来了一个问题,文件片所形成的HASH表将十分巨大。以1G的数据量为例,8KB的数据片大小,那么需要131072HASH值,简化为10W。如果数据量增加到1TB那么需要10W*1000 = 10亿个HASH值。这里假设了1TB数据中所有的8KB数据块都不相同,需要10亿个HASH来标示数据块。这个假设具有一定的合理性,因为现在的存储系统支持几十个TB,甚至上百TB容量,在这样的存储容量下1TB的数据以8KB为单位不重复是很有可能。这时对于10亿个HASH值的高速检索和存储需要解决。

         LBFS服务器在存储文件时,如上传一个新的文件,如果该文件与存储系统中的已有块,有相同块,那么将不传输相同块。但是LBFS将直接复制相同块到新文件中,从而形成一个新的文件。LBFS的该做法并不能减少服务器端存储所占用的空间。不过该做法有一个极大的好处,不用单独的存储文件片,文件片存在于需要保存的文件中,文件片的HASH值以及偏移量,长度等信息会指明该文件片。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值