1 .基于LSM树键值分离的时序数据存储方法,其特征是基于LSM树键值分离方式,根据
写请求通过分布式数据库将写入的键值数据封装成键值条目,所述键值条目包含索引键和
元数据,所述元数据包含时间戳和标签,
根据所述元数据中标签判断所述键值条目是否存在索引键的删除标记,若是则将索引
键的前缀和所述元数据中定义的删除时间构成一对键值,放入全量前缀删除统计表,
将所述键值条目写入到键值存储日志,利用所述索引键、所述元数据以及所述键值条
目在键值存储日志中的地址构造索引条目,将索引条目写入到跳表的排序字符串表中,相
邻层跳表间根据排序字符串表的重合数据进行合并,判断相邻层跳表中层级较小的跳表的
排序字符串表所存储的索引条目是否存在删除标记,并判断层级较大的跳表是否为非空的
最深层,若均为是则丢弃所述索引条目;
根据读请求中索引键与时间戳,查询全量前缀删除统计表,判断读请求中时间戳对应
的索引键是否被删除,若未被删除则查找索引条目,根据查找到的索引条目按照读请求判
断是否返回键值条目;
根据清理请求,遍历最旧的键值存储日志的所有键值条目,根据全量前缀删除统计表
记录的索引键的前缀和删除时间,判断所述最旧的键值存储日志是否需要保留,根据判断
结果清理键值存储日志或将键值存储日志重新写入分布式数据库。
2 .根据权利要求1所述的基于LSM树键值分离的时序数据存储方法,其特征是所述判断
相邻层跳表中层级较小的跳表的排序字符串表所存储的索引条目是否存在删除标记,若否
则保留所述索引条目,将所述索引条目写入新的排序字符串表,
若是则判断层级较大的跳表是否为非空的最深层,若否则保留所述索引条目,将所述
索引条目写入新的排序字符串表。
3 .根据权利要求1所述的基于LSM树键值分离的时序数据存储方法,其特征是将索引键
的前缀和删除时间构成的键值对放入全量前缀删除统计表,包括:
将索引键的前缀和删除时间构成的键值对,写入前缀删除统计表,
并根据写请求将全部键值条目写入到键值存储日志后,将前缀删除统计表与全量前缀
删除统计表进行合并。
4 .根据权利要求1所述的基于LSM树键值分离的时序数据存储方法,其特征是所述查询
全量前缀删除统计表,判断时间戳对应的索引键是否被删除,包括:
根据全量前缀删除统计表,确认时间戳对应的索引键已经被删除,则返回空给上层应
用,
根据全量前缀删除统计表,时间戳对应的索引键未被删除则在存储索引条目的跳表中
查找索引条目。
5 .根据权利要求1所述的基于LSM树键值分离的时序数据存储方法,其特征是所述判断
所述最旧的键值存储日志是否需要保留,包括:
根据索引键的前缀和删除时间,确认所述最旧的键值存储日志不需要保留,则清理键
值存储日志,
根据索引键的前缀和删除时间,确认所述最旧的键值存储日志需要保留,则将键值存
储日志重新写入分布式数据库。
6 .基于LSM树键值分离的时序数据存储系统,其特征是包括前置统计模块、键值存储模
权 利 要 求 书
1/2 页
2
评论