2、云存储的高吞吐量数据压缩

云存储的高吞吐量数据压缩

1. 与BlobSeer集成

为了将设计原则应用于BlobSeer,在客户端网络层之上引入了一个额外的压缩层,该网络层负责与数据提供者进行远程通信。压缩层的主要职责是根据应用程序执行的操作,透明地过滤数据块。具体操作步骤如下:
- 写入或追加操作
1. 将数据分割成块。
2. 对每个块随机抽取小样本进行压缩,以判断该块是否可压缩。
3. 若压缩比高于预定义阈值,则对整个块进行压缩,并将结果传递给网络层发送到相应提供者;若低于阈值,则直接将块传递给网络层。
- 读取操作
1. 从网络层成功接收请求数据集中的一个块后,压缩层首先检查该块写入或追加时是否被压缩。
2. 若已压缩,则先进行解压缩。
3. 将解压缩后的块放置在应用程序提供的缓冲区中相应的偏移位置,当所有组成请求数据集的块都成功处理后,整个读取操作完成。

压缩层以高度并行的方式处理数据块,充分利用多核架构,实现I/O与压缩、解压缩的高度重叠。同时,为了最小化内存占用,对于不可压缩的块采用零拷贝技术,避免在主内存中进行不必要的大块数据复制,既为应用程序留出更多内存,又加快了处理速度。该压缩层具有高度可配置性,可轻松插入任何压缩算法,本文采用了两种流行的算法:Lempel - Ziv - Oberhumer(LZO)和BZIP2。

2. 实验评估

为了评估该方法的优势,进行了一系列大规模实验,模拟典型分布式数据密集型应用的行为。数据密集型应用通常在处理大规模数据集的同时持续获取大量数据,因此进行了两类实验:并发追加数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值