【技术实现步骤摘要】
基于LSM-Tree的压缩日志缓存方法及装置
本公开属于大规模存储系统的
,涉及一种基于LSM-Tree的压缩日志缓存方法及装置。
技术介绍
本部分的陈述仅仅是提供了与本公开相关的
技术介绍
信息,不必然构成在先技术。大规模存储系统是一个面向海量数据存储的计算机系统,随着数据规模的膨胀和分布式实现的要求,Key-Value存储方案在面对海量数据时表现出来的高效和快速使其越来越受到大规模存储系统的欢迎,而基于LSM-tree的Key-Value存储方案不但继承了KV方案的优点,而且以“日志结构归并树”(LSM-tree)的结构维护了KV记录的全局有序性,实现了很高的随机写入和不错的随机读取性能。虽然LSM-tree方案有着很耀眼的优势,但专利技术人在研发过程中发现该方案在“逻辑有序”的要求下,对磁盘IO做出了极大的妥协。由于有序性的要求,LSM-tree不得不通过一系列的策略对现存的有序数据进行排序和重新组织,实验证明为了维护一条记录在LSM-tree中的有序性,往往会触发15-20倍的实际磁盘写操作,LSM ...
【技术保护点】
1.一种基于LSM-Tree的压缩日志缓存方法,其特征在于,该方法包括:/n当一次压缩被触发且挑选出目标层的有序表和下一层的重叠有序表时,将其以有序表为单位加入到对应层预设的缓存区中;当缓存区的数据到达预设阈值时,进入下一步;/n挑选缓存区的有序表作为压缩过程的输入进行多路并归操作,输出的有序表作为写入磁盘的数据层成员,回收缓存区剩余的有序表。/n
【技术特征摘要】
1.一种基于LSM-Tree的压缩日志缓存方法,其特征在于,该方法包括:
当一次压缩被触发且挑选出目标层的有序表和下一层的重叠有序表时,将其以有序表为单位加入到对应层预设的缓存区中;当缓存区的数据到达预设阈值时,进入下一步;
挑选缓存区的有序表作为压缩过程的输入进行多路并归操作,输出的有序表作为写入磁盘的数据层成员,回收缓存区剩余的有序表。
2.如权利要求1所述的一种基于LSM-Tree的压缩日志缓存方法,其特征在于,在该方法中,在每层数据层中均预设一个缓存区和该缓存区的阈值,各数据层的缓存区的预设阈值与相应数据层的大小成固定比例。
3.如权利要求1所述的一种基于LSM-Tree的压缩日志缓存方法,其特征在于,在该方法中,在有序表被加入缓存区的同时,生成对应的存储在内存Log单元中的该文件的元信息;
所述Log单元在内存中设置,用于维护缓存区内有序表的元信息以及维护其有序性;
所述元信息为LevelDB原有的元信息和权重信息;所述LevelDB原有的元信息包括文件编号、引用数和关键字范围。
4.如权利要求3所述的一种基于LSM-Tree的压缩日志缓存方法,其特征在于,在该方法中,所述Log单元以二维数组的方式实现,所述Log单元每一维代表一层数据层的缓存区有序表元数据;
读操作访问所述Log单元时依次对每层内的有序表元数据进行判断,得出目标有序表进行实际读取。
5.如权利要求3所述的一种基于LSM-Tree的压缩日志缓存方法,其特征在于,在该方法中,所述被挑选为缓存区的有序表作为压缩过程的输入的概率与所述权重信息成正比。
6.如权利要求3所述的一种基于LSM-Tree的压缩日志缓存方法,其特征在于,在该方法中,所述挑选缓存区的有序表作为压缩过程的输入的具体方法步骤包括:
当第i层对应的缓存区的数据到达预设阈值时,优先选择第i-1层内的有序表进行筛选,...
【专利技术属性】
技术研发人员:贾智平,黄克诚,刘珂,吴海伟,
申请(专利权)人:山东大学,国网江苏省电力有限公司,国家电网有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。