[发明专利]基于Bigtable分布式存储系统的数据压缩方法有效
| 申请号: | 201410088278.9 | 申请日: | 2014-03-12 |
| 公开(公告)号: | CN103812877B | 公开(公告)日: | 2016-10-12 |
| 发明(设计)人: | 樊凯;史晓丽;谈苗苗;李晖 | 申请(专利权)人: | 西安电子科技大学 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08 |
| 代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 王品华;朱红星 |
| 地址: | 710071*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 bigtable 分布式 存储系统 数据压缩 方法 | ||
1.一种基于Bigtable分布式存储系统的数据压缩方法,包括如下步骤:
(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个初始有序部分进行归并。
2.根据权利要求1所述的方法,其中所述步骤(3)中当L=0时,在选定一个SSTable文件之后,找出该层中所有与选定的SSTable文件在键值范围上有重叠的文件,其步骤如下:
3a)查看所选定的SSTable文件的键值范围,并记为{N0,N1};
3b)加载Bigtable分布式文件系统中的Manifest文件,依次读取Manifest文件的每条记录;
3c)读取Manifest文件中所在层级为L的记录,并将SSTable文件的键值范围记为{M0,M1},如果N0≤M0≤N1或M0≤N0≤M1,说明两个SSTable文件在键值区间上存在重叠部分,将该SSTable文件加入待压缩集合。
3.根据权利要求1所述的基于Bigtable分布式存储系统的数据压缩方法,其中所述步骤4c)中采用多路归并排序法将排序后的K个初始有序部分进行归并,其步骤如下:
4c1)依次遍历排序后的K个初始有序部分,对其中的所有记录按照关键字的字典序进行重新排序;
4c2)依次读取排序后的记录,判断某个关键字所对应的的记录是否需要保存:如果某个关键字同时在第L层和第L+1层中出现,则仅保留第L层中的记录;如果某个关键字被设置了删除标志,则将其删除,否则,保留该关键字所对应的记录;
4c3)根据上述判断标准,将没有保存价值的记录直接丢弃,否则将记录写入第L+1层中新生成的一个SSTable文件中;
4c4)将之前参与合并的第L层中选定的SSTable文件和第L+1层中找出的SSTable文件删除。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410088278.9/1.html,转载请声明来源钻瓜专利网。





