一种数据存储方法、装置及设备制造方法及图纸

技术编号:23445624 阅读:18 留言:0更新日期:2020-02-28 19:51
本申请公开了一种数据存储方法、装置及设备。方法包括:使用内存进行数据积累,当检测到内存中积累的数据量达到预定阈值时,将内存中的数据转存到LSM树的第0层中,以实现数据持久化;同步检测该LSM树的状态,当检测到该LSM树满足预定条件时,将其最后一层的全部或部分数据归并到B树中。由此,基于本申请提出的LSM树‑B树的混合型数据结构,可使用LSM树存储新数据,使用B树存储旧数据,进而达到提高数据读写效率的目的。

A data storage method, device and equipment

【技术实现步骤摘要】
一种数据存储方法、装置及设备
本申请涉及计算机
,尤其涉及一种数据存储方法、装置及设备。
技术介绍
随着大数据时代的到来,人们对数据访问的需求越来越多,相应地,互联网企业对数据存储的读写的要求也越来越高。但传统的数据结构存储引擎难以兼顾读性能和写性能,因此,需要提供更可靠的数据存储方案。
技术实现思路
本说明书实施例提供一种数据存储方法、装置及设备,用以解决现有技术的数据结果的读写效率低的问题。本说明书实施例还提供一种数据存储方法,包括:使用内存进行数据积累;当所述内存的数据量达到第一预定阈值时,将所述内存中的数据转存到LSM树的第0层中;当所述LSM树满足预定条件时,将所述LSM树的最后一层的全部或部分数据归并到B树中。可选的,所述最后一层为第0层。可选的,还包括:基于预设的归并顺序对所述LSM树进行逐层归并处理,得到第n层;其中,所述最后一层为第n层,n≥1。可选的,还包括:确定所述LSM树的写入放大比率;检测到所述LSM树的写入放大比率大于所述B树的写入放大比率时,确定所述LSM树满足预设条件。可选的,确定所述LSM树的写入放大比率包括:获取所述LSM树的预设参数的参数值;基于所述预设参数的参数值,确定所述LSM树的写入放大比率。其中,所述预设参数包括所述LSM树的层数、各层的数据量、数据总量中的至少一个。可选的,还包括:当所述LSM树的数据量达到第二预定阈值时,确定所述LSM树满足预设条件。可选的,还包括:确定所述LSM树的读写能力评分和B树的读写能力评分;确定所述LSM树的读写能力评分和所述B树的读写能力评分的差值小于预定阈值时,确定所述LSM树满足预设条件。可选的,将所述LSM树的最后一层的全部或部分数据归并到B树中包括:确定所述最后一层中需要合并的文件;顺序读取所述需要合并的文件,并进行合并排序处理,得到合并后的文件;将所述合并后的文件转存到所述B树中。可选的,还包括:确定所述合并后的文件转存到所述B树后,删除所述最后一层中的所述需要合并的文件。本说明书实施例还提供一种数据存储装置,包括:积累模块,用于使用内存进行数据积累;转存模块,用于当所述内存的数据量达到第一预定阈值时,将所述内存中的数据转存到LSM树的第0层中;第一归并模块,用于当所述LSM树满足预定条件时,将所述LSM树的最后一层的全部或部分数据归并到B树中。可选的,所述最后一层为第0层。可选的,还包括:第二归并模块,用于基于预设的归并顺序对所述LSM树进行逐层归并处理,得到第n层;其中,所述最后一层为第n层,n≥1。可选的,第一归并模块,具体用于:确定所述LSM树的写入放大比率;检测到所述LSM树的写入放大比率大于所述B树的写入放大比率时,确定所述LSM树满足预设条件。可选的,第一归并模块,具体用于:获取所述LSM树的预设参数的参数值;基于所述预设参数的参数值,确定所述LSM树的写入放大比率。其中,所述预设参数包括所述LSM树的层数、各层的数据量、数据总量中的至少一个。可选的,第一归并模块,具体用于:当所述LSM树的数据量达到第二预定阈值时,确定所述LSM树满足预设条件。可选的,第一归并模块,具体用于:确定所述LSM树的读写能力评分和B树的读写能力评分;确定所述LSM树的读写能力评分和所述B树的读写能力评分的差值小于预定阈值时,确定所述LSM树满足预设条件。可选的,第一归并模块,具体用于:确定所述最后一层中需要合并的文件;顺序读取所述需要合并的文件,并进行合并排序处理,得到合并后的文件;将所述合并后的文件转存到所述B树中。可选的,还包括:删除模块,用于确定所述合并后的文件转存到所述B树后,删除所述最后一层中的所述需要合并的文件。本说明书实施例还提供一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如下操作:使用内存进行数据积累;当所述内存的数据量达到第一预定阈值时,将所述内存中的数据转存到LSM树的第0层中;当所述LSM树满足预定条件时,将所述LSM树的最后一层的全部或部分数据归并到B树中。本说明书实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行如下操作:使用内存进行数据积累;当所述内存的数据量达到第一预定阈值时,将所述内存中的数据转存到LSM树的第0层中;当所述LSM树满足预定条件时,将所述LSM树的最后一层的全部或部分数据归并到B树中本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:基于本申请提出的LSM树-B树的混合型数据结构,在缓存Buffer区的数据积累至一定数量时,将Buffer区的数据转存至LSM树的第0层中;然后,在LSM树满足预定条件时,将LSM树的最后一层的全部或部分数据归并到B树中,以同时发挥LSM树写入效率高、B树读取效率高的优点,进而提高数据读写的效率。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1a和图1b为本说明书提供的一种数据存储系统的示意图;图2为本说明书实施例1提供的一种数据存储方法的流程示意图;图3为本说明书实施例2提供的一种数据存储装置的结构示意图;图4为本说明书实施例3提供的一种电子设备的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。结合
技术介绍
部分的陈述,对于随机写入的业务场景,目前使用最广泛的数据结构存储引擎包括日志结构的合并(Log-StructuredMergeTree,LSM)树存储引擎和B树存储引擎。对于B树类的存储引擎,其随机写入的性能有限,因此,为满足业务需求,一般会加大写入缓存Buffer区。但缺点是会占用较大内存,成本极高,而且实际效果有限。对于LSM树类的存储引擎,其较深的层次将导致较高的归并成本,因此,为满足业务需求,一般会调整L0层的排序字符串表(SortedStringTable,SST)数据文件大小和个数。但对归并成本的改善程度有限,而且,对数据读取本文档来自技高网
...

【技术保护点】
1.一种数据存储方法,包括:/n使用内存进行数据积累;/n当所述内存的数据量达到第一预定阈值时,将所述内存中的数据转存到日志结构的合并树LSM树的第0层中;/n当所述LSM树满足预定条件时,将所述LSM树的最后一层的全部或部分数据归并到多路搜索树B树中。/n

【技术特征摘要】
1.一种数据存储方法,包括:
使用内存进行数据积累;
当所述内存的数据量达到第一预定阈值时,将所述内存中的数据转存到日志结构的合并树LSM树的第0层中;
当所述LSM树满足预定条件时,将所述LSM树的最后一层的全部或部分数据归并到多路搜索树B树中。


2.根据权利要求1所述的方法,其中,所述最后一层为第0层。


3.根据权利要求1所述的方法,还包括:
基于预设的归并顺序对所述LSM树进行逐层归并处理,得到第n层;
其中,所述最后一层为第n层,n≥1。


4.根据权利要求1所述的方法,其中,还包括:
确定所述LSM树的写入放大比率;
检测到所述LSM树的写入放大比率大于所述B树的写入放大比率时,确定所述LSM树满足预设条件。


5.根据权利要求4所述的方法,其中,确定所述LSM树的写入放大比率包括:
获取所述LSM树的预设参数的参数值;
基于所述预设参数的参数值,确定所述LSM树的写入放大比率。
其中,所述预设参数包括所述LSM树的层数、各层的数据量、数据总量中的至少一个。


6.根据权利要求1所述的方法,其中,还包括:
当所述LSM树的数据量达到第二预定阈值时,确定所述LSM树满足预设条件。


7.根据权利要求1所述的方法,其中,还包括:
确定所述LSM树的读写能力评分和B树的读写能力评分;
确定所述LSM树的读写能力评分和所述B树的读写能力评分的差值小于预定阈值时,确定所述LSM树满足预设条件。


8.根据权利要求1所述的方法,其中,将所述LSM树的最后一层的全部或部分数据归并到B树中包括:
确定所述最后一层中需要合并的文件;
顺序读取所述需要合并的文件,并进行合并排序处理,得到合并后的文件;
将所述合并后的文件转存到所述B树中。


9.根据权利要求8所述的方法,其中,还包括:
确定所述合并后的文件转存到所述B树后,删除所述最后一层中的所述需要合并的文件。


10.一种数据存储装置,包括:
数据积累模块,用于使用内存进行数据积累;
转存模块,用于当所述内存的数据量达到第一预定阈值时,将所述内存中的数据转存到LSM树的第0层中;
第一归并模块,用于当所述...

【专利技术属性】
技术研发人员:杨成虎
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1