[发明专利]基于Bigtable分布式存储系统的数据压缩方法有效

专利信息
申请号: 201410088278.9 申请日: 2014-03-12
公开(公告)号: CN103812877B 公开(公告)日: 2016-10-12
发明(设计)人: 樊凯;史晓丽;谈苗苗;李晖 申请(专利权)人: 西安电子科技大学
主分类号: H04L29/06 分类号: H04L29/06;H04L29/08
代理公司: 陕西电子工业专利中心 61205 代理人: 王品华;朱红星
地址: 710071*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 bigtable 分布式 存储系统 数据压缩 方法
【说明书】:

技术领域

发明属于数据处理技术领域,特别涉及一种数据压缩方法,可用于类似Bigtable分布式存储系统的存储和管理。

背景技术

Bigtable是Google设计的分布式数据存储系统,是一种用来处理海量数据的非关系型数据库,能够可靠地部署到成千上万台服务器上。Bigtable内部采用SSTable的格式存储数据,Bigtable中子表的持久化状态信息保存在Google文件系统GFS之上。Bigtable中数据的读写操作流程如图1所示,当写操作到达子表服务器时,首先将事务信息记录在日志中,成功后将记录插入Memtable有序内存缓冲区中。由于内存空间有限,当Memtable大小达到阈值时就会被冻结,新的Memtable被创建。被冻结的Memtable被转化为不可更改的SSTable,并写入GFS文件系统。

Bigtable采用三级压缩机制:1)次压缩:当Memtable大小达到阈值时会被转化为SSTable;2)合并压缩:将Memtable和一部分SSTable合并成一个新的SSTable;3)主压缩:将所有SSTable重写成一个更大的SSTable。SSTable是由内存中的数据不断导出并经过压缩之后形成的,因为Bigtable采取了三级压缩机制,所以SSTable的所有文件形成了一种层级结构,每执行一次压缩,SSTable的层级会增加一次。本方法将第一层记为Level0,第二层记为Level1,并以此类推。

Bigtable使用Manifest文件记录各个SSTable文件的管理信息,包括文件所在层级、文件名、最小键值和最大键值,Manifest文件的存储示意如图2所示。SSTable中的记录都是键值有序的,但Level0中可能存在两个SSTable文件的键值重叠的情况。在Bigtable的三级压缩中除次级压缩外都是定期执行的,而Bigtable并未指定压缩周期的大小。当写操作比较频繁时,新生成的SSTable也会比较多。如果周期较长,经过一次压缩后,会合并成一个较大的SSTable,在这个大的SSTable中进行读操作会比较耗时;如果周期较短则会频繁执行压缩,加重了系统的负担。对于定期执行的方案,通常的处理方法是根据实际运行情况设置一个经验值,然而在云时代的Bigtable中,读写操作具有不可预测性和高并发性,一个固定不变的压缩周期会导致所生成的SSTable大小不可预测。因此,Bigtable需要一种高效的数据压缩方案,既可以满足Bigtable的应用需求,又能够预测每个层级的SSTable大小。

发明内容

本发明的目的在于提出一种基于Bigtable分布式存储系统的数据压缩方法,以解决Bigtable现有方法在面对高并发的读写操作时,生成的SSTable文件大小不可预测的问题。

为实现上述目的,本发明的技术方案包括如下步骤:

(1)Bigtable分布式存储系统根据其实际运行情况,为每个层级的SSTable文件设置数量阈值;

(2)检测Bigtable分布式存储系统中第L层的SSTable文件数量是否超过该层的数量阈值,若超过则执行步骤(3),否则,继续检测;

(3)采用轮流的方式从第L层中选择待压缩的SSTable文件:

当L>0时,从第L层中任意选择一个SSTable文件;

当L=0时,在选定一个SSTable文件之后,找出该层中所有与选定的SSTable文件在关键字区间上有重合的文件;

(4)从第L+1层中找出所有与第L层中选定的SSTable文件在键值区间上有重叠的文件,并将找出的SSTable文件与第L层中选定的SSTable文件进行如下合并压缩:

4a)将第L层中选定的SSTable文件和第L+1层中找出的SSTable文件进行汇总,并分解成K个能够一次性装入内存的部分;

4b)依次将这K个部分读入内存,并利用内部排序算法对每一部分进行排序;

4c)采用多路归并排序法将排序后的K个初始有序部分进行归并。

本发明与现有技术相比具有以下优点:

第一,本发明通过为各个SSTable层级设置数量限制,而不是采用定期压缩的方式,从而克服了定期压缩所固有的缺点:如果周期较长,压缩后合并成的SSTable太大,要进行读操作会比较耗时;如果周期较短则会频繁执行压缩,加重系统的负担。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410088278.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top