1 .一种基于RocksDB的大内存优化方法,其特征在于:包括以下步骤:
第一步,增加imline链式队列,将写满后的内存表Mem Table转换成只读型内存表
imMemTable,并将其放入imline链式队列内;
第二步,判断imline链式队列成员数量是否超出阈值,若超出则跳转到第三步,否则继
续写入操作;
第三步,选择待合并的只读型内存表imMemTable ,将选择的待合并的只读型内存表
imMemTable合并成一个更大的只读型内存表imMemTable,并将其放入imline链式队列内;
合并完成后,将已完成合并的只读型内存表imMemTable从imline链式队列中删除并清理;
第四步,判断内存使用量是否超过了阈值,若超出则跳转回第三步,否则继续写入操
作;
第五步,选择imline链式队列中的只读型内存表imMemTable进行刷盘Flush,将选择的
只读型内存表imMemTable放入后台刷盘Flush线程中刷新到磁盘。
2.根据权利要求1所述的基于RocksDB的大内存优化方法,其特征在于:所述第三步中,
采用最近最不经常使用算法LFU,根据只读型内存表imMemTable的访问频率,选择待合并的
只读型内存表imMemTable。
3 .根据权利要求1所述的基于RocksDB的大内存优化方法,其特征在于:所述第五步中,
采用最近最不经常使用算法LFU,根据内存使用量和只读型内存表imMemTable的访问频率,
选择imline链式队列中的只读型内存表imMemTable。
4 .根据权利要求1~3所述的基于RocksDB的大内存优化方法的系统,其特征在于:包
括:
内存表Mem Table管理模块,负责将写满后的内存表Mem Table转换成只读型内存表
imMemTable,将选择的待合并的只读型内存表imMemTable合并成一个更大的只读型内存表
imMemTable;
imline链式队列模块,用于创建imline链式队列,并将只读型内存表imMemTable放入
imline链式队列内;
imline链式队列判断模块,用于判断imline链式队列成员数量是否超出阈值,并根据
判断结果发出操作指令,若imline链式队列成员数量超出阈值则跳转到第三步,否则继续
写入操作;
内存使用量判断模块,用于判断内存使用量是否超出阈值,并根据判断结果发出操作
指令,若内存使用量超出阈值则跳转回第三步,否则继续写入操作;
线程管理模块,负责选择imline链式队列中的只读型内存表imMemTable进行刷盘
Flush,并将选择的只读型内存表imMemTable放入后台刷盘Flush线程中刷新到磁盘。
5 .根据权利要求4所述的基于RocksDB的大内存优化方法的系统,其特征在于:所述内
存表Mem Table管理模块采用最近最不经常使用算法LFU,根据只读型内存表imMemTable的
访问频率,选择待合并的只读型内存表imMemTable。
6 .根据权利要求4所述的基于RocksDB的大内存优化方法的系统,其特征在于:包括所
述线程管理 模块采 用最 近最 不经常 使 用算法LFU ,根 据内存使 用量 和只读型内 存表
imMemTable的访问频率,选择imline链式队列中的只读型内存表imMemTable。
7 .一种计算机设备,其特征在于:包括存储器和处理器,所述存储器存储有计算机程
权 利 要 求 书
1/2 页
2
相关文档
评论