CN111104403B - 一种lsm树数据处理方法、***、设备及计算机介质 - Google Patents

一种lsm树数据处理方法、***、设备及计算机介质 Download PDF

Info

Publication number
CN111104403B
CN111104403B CN201911208758.3A CN201911208758A CN111104403B CN 111104403 B CN111104403 B CN 111104403B CN 201911208758 A CN201911208758 A CN 201911208758A CN 111104403 B CN111104403 B CN 111104403B
Authority
CN
China
Prior art keywords
data
target
layer
determining
lsm tree
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911208758.3A
Other languages
English (en)
Other versions
CN111104403A (zh
Inventor
李秋波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Inspur Data Technology Co Ltd
Original Assignee
Beijing Inspur Data Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Inspur Data Technology Co Ltd filed Critical Beijing Inspur Data Technology Co Ltd
Priority to CN201911208758.3A priority Critical patent/CN111104403B/zh
Publication of CN111104403A publication Critical patent/CN111104403A/zh
Application granted granted Critical
Publication of CN111104403B publication Critical patent/CN111104403B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种LSM树数据处理方法、***、设备及计算机介质,接收数据读取指令;获取预先保存的目标LSM树的数据存储关系,数据存储关系包括已存储数据及相应数据层间的对应关系,数据层包括目标LSM树中存储已存储数据的数据层;按照数据存储关系,确定出数据读取指令对应的待读取数据所对应的目标数据层;在目标数据层中读取待读取数据。本申请提供的一种LSM树数据处理方法,可以基于数据存储关系快速在LSM树中确定出目标数据层,从而可以快速读取待读取数据,与现有一层一层查找数据的技术相比,数据读取效率快。本申请提供的一种LSM树数据处理***、设备及计算机可读存储介质也解决了相应技术问题。

Description

一种LSM树数据处理方法、***、设备及计算机介质
技术领域
本申请涉及数据存储技术领域,更具体地说,涉及一种LSM树数据处理方法、***、设备及计算机介质。
背景技术
在存储***中,LSM(Log Structured Merge Tree,结构化合并树)树常作为时序数据库中的存储结构,如Influxdb、OpenTSdb等,相比较传统数据库的B+树存储,LSM树在写入数据时采用分层顺序写入磁盘方法,大大提高了数据的写入速度,LSM树的结构中包含多层,最上层位于内存,后面多层位于磁盘,新来的数据首先存储在最上层,最上层中数据增长到一定程度后合并至下一层,以此类推。由于数据合并是异步的,不会影响当前实时数据写入,大大提升了IO,同时将数据按照时间顺序写入磁盘块,方便了时间相关的数据查询,非常适用于监控***中的实时性能数据。
在读数据时,首先会从最上层读,若没有找到,则一直往下层试探,直至找到数据或最后一层,使得数据查询效率较低。
综上所述,如何提高LSM树中的数据读取效率是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种LSM树数据处理方法,其能在一定程度上解决如何提高LSM树中的数据读取效率的技术问题。本申请还提供了一种LSM树数据处理***、设备及计算机可读存储介质。
为了实现上述目的,本申请提供如下技术方案:
一种LSM树数据处理方法,包括:
接收数据读取指令;
获取预先保存的目标LSM树的数据存储关系,所述数据存储关系包括已存储数据及相应数据层间的对应关系,所述数据层包括所述目标LSM树中存储所述已存储数据的数据层;
按照所述数据存储关系,确定出所述数据读取指令对应的待读取数据所对应的目标数据层;
在所述目标数据层中读取所述待读取数据。
优选的,所述接收数据读取指令之前,还包括:
对于每个待写入数据,在所述目标LSM树中,确定出存储所述待写入数据的数据层;
建立并保存所述待写入数据与对应的所述数据层间的数据存储关系。
优选的,所述在所述目标LSM树中,确定出存储所述待写入数据的数据层,包括:
确定所述待写入数据写入至所述目标LSM树的写入时刻;
获取所述目标LSM树中各个数据层的数据时间段,所述数据时间段包括所述数据层中各个数据的写入时刻;
将包含所述待写入数据的写入时刻的数据时间段所对应的数据层,确定为所述待写入数据对应的数据层;
其中,所述数据存储关系中包括所述数据层的所述数据时间段。
优选的,所述数据时间段包括所述数据层中数据的起始写入时刻及结束写入时刻。
优选的,所述按照所述数据存储关系,确定出所述数据读取指令对应的待读取数据对应的目标数据层,包括:
判断所述待读取数据的数量是否为一;
若所述待读取数据的数量为一,则确定所述待读取数据的数据写入时刻,按照所述数据存储关系,将包含所述数据写入时刻的数据层确定为所述目标数据层。
优选的,所述按照所述数据存储关系,确定出所述数据读取指令对应的待读取数据对应的目标数据层,包括:
判断所述待读取数据的数量是否为一;
若所述待读取数据的数量不为一,则确定出所述待读取数据的数据写入时间段,按照所述数据存储关系,将所述数据写入时间段包含的数据层确定为所述目标数据层。
优选的,所述获取所述目标LSM树中各个数据层的数据时间段之后,还包括:
判断所述数据层的数据是否发生变化,若是,则更新所述数据层的所述数据时间段。
一种LSM树数据处理***,包括:
第一接收模块,用于接收数据读取指令;
第一获取模块,用于获取预先保存的目标LSM树的数据存储关系,所述数据存储关系包括已存储数据及相应数据层间的对应关系,所述数据层包括所述目标LSM树中存储所述已存储数据的数据层;
第一确定模块,用于按照所述数据存储关系,确定出所述数据读取指令对应的待读取数据所对应的目标数据层;
第一读取模块,用于在所述目标数据层中读取所述待读取数据。
一种LSM树数据处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述LSM树数据处理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述LSM树数据处理方法的步骤。
本申请提供的一种LSM树数据处理方法,接收数据读取指令;获取预先保存的目标LSM树的数据存储关系,数据存储关系包括已存储数据及相应数据层间的对应关系,数据层包括目标LSM树中存储已存储数据的数据层;按照数据存储关系,确定出数据读取指令对应的待读取数据所对应的目标数据层;在目标数据层中读取待读取数据。本申请提供的一种LSM树数据处理方法,可以基于数据存储关系快速在LSM树中确定出目标数据层,从而可以快速读取待读取数据,与现有一层一层查找数据的技术相比,数据读取效率快。本申请提供的一种LSM树数据处理***、设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种LSM树数据处理方法的流程图;
图2为LSM树的数据层结构示意图;
图3为本申请实施例提供的一种LSM树数据处理***的结构示意图;
图4为本申请实施例提供的一种LSM树数据处理设备的结构示意图;
图5为本申请实施例提供的一种LSM树数据处理设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的一种LSM树数据处理方法的流程图图3为本申请实施例提供的一种LSM树数据处理***的结构示意图图4为本申请实施例提供的一种LSM树数据处理设备的结构示意图。
本申请实施例提供的一种LSM树数据处理方法,可以包括以下步骤:
步骤S101:接收数据读取指令。
实际应用中,可以先接收数据读取指令,数据读取指令的类型可以根据实际需要确定,比如数据读取指令可以为读取一个数据的指令,可以为读取一组数据的指令,可以为读取文字数据的指令,可以为读取视频数据的指令等。
步骤S102:获取预先保存的目标LSM树的数据存储关系,数据存储关系包括已存储数据及相应数据层间的对应关系,数据层包括目标LSM树中存储已存储数据的数据层。
实际应用中,在接收到数据读取指令后,可以先获取预先保存的目标LSM树的数据存储关系。由数据存储关系包括已存储数据及相应数据层间的对应关系,且数据层包括目标LSM树中存储已存储数据的数据层的描述可知,数据存储关系反映了各个数据在目标LSM树中的哪个数据层存储着。应当指出,已存储数据及相应数据层间的对应关系,不一定是已存储数据及相应数据层间的直接对应关系,可以为间接对应关系,比如可以通过数据写入时刻将已存储数据及相应数据层对应起来等。
步骤S103:按照数据存储关系,确定出数据读取指令对应的待读取数据所对应的目标数据层。
步骤S104:在目标数据层中读取待读取数据。
实际应用中,在获取到数据存储关系之后,便可以按照数据存储关系,确定出数据读取指令对应的待读取数据所对应的目标数据层,目标数据层也即存储待读取数据的最小层级的数据层,再在目标数据层中读取待读取数据,由于数据存储关系包括已存储数据及相应数据层间的对应关系,所以可以快速确定出目标数据层,进而可以快速确定出待读取数据,提高待读取数据的数据读取效率。
本申请提供的一种LSM树数据处理方法,接收数据读取指令;获取预先保存的目标LSM树的数据存储关系,数据存储关系包括已存储数据及相应数据层间的对应关系,数据层包括目标LSM树中存储已存储数据的数据层;按照数据存储关系,确定出数据读取指令对应的待读取数据所对应的目标数据层;在目标数据层中读取待读取数据。本申请提供的一种LSM树数据处理方法,可以基于数据存储关系快速在LSM树中确定出目标数据层,从而可以快速读取待读取数据,与现有一层一层查找数据的技术相比,数据读取效率快。
本申请实施例提供的一种LSM树数据处理方法,在接收数据读取指令之前,还可以对于每个待写入数据,在目标LSM树中,确定出存储待写入数据的数据层;建立并保存待写入数据与对应的数据层间的数据存储关系。也即,在将数据写入至目标LSM树的过程中,便可以确定每个待写入数据的写入数据层,建立并保存待写入数据与对应的数据层间的数据存储关系。
本申请实施例提供的一种LSM树数据处理方法,在目标LSM树中,确定出存储待写入数据的数据层时,可以确定待写入数据写入至目标LSM树的写入时刻;获取目标LSM树中各个数据层的数据时间段,数据时间段包括数据层中各个数据的写入时刻;将包含待写入数据的写入时刻的数据时间段所对应的数据层,确定为待写入数据对应的数据层;其中,数据存储关系中包括数据层的数据时间段。实际应用中,由于目标LSM树中各个数据层中可能包含多个数据,直接建立每个数据与数据层间的对应关系的话,会使得对应关系的结构较为庞大,为了降低对应关系的结构,可以在数据存储关系中添加数据层的数据时间段,借助数据时间段描述数据层中数据的写入时刻,这样,只需将待写入数据的数据写入时刻与数据层的数据时间段相比较,便可以确定该待写入数据在数据层中的存储信息,先结合图2进行说明,比如,数据层L1的数据时间段为10点到11点,数据层L2的数据时间段为11点到12点,而一个待写入数据的数据写入时刻为10点30分,则可以判定该待写入数据被写入数据层L1中。
本申请实施例提供的一种LSM树数据处理方法,为了进一步降低数据存储关系的结构,数据时间段可以只包括数据层中数据的起始写入时刻及结束写入时刻。
实际应用中,为了便于保存数据存储关系,可以在目标LSM树中定义数据***,将数据存储关系以层级描述符的形式保存在数据***中,层级描述符中可以包括层级大小、数据起始写入时刻及数据结束写入时刻等,层级描述的数据结构可以定义如下:
Figure BDA0002297568930000061
Figure BDA0002297568930000071
本申请实施例提供的一种LSM树数据处理方法,在按照数据存储关系,确定出数据读取指令对应的待读取数据对应的目标数据层时,可以判断待读取数据的数量是否为一;若待读取数据的数量为一,则确定待读取数据的数据写入时刻,按照数据存储关系,将包含数据写入时刻的数据层确定为目标数据层;若待读取数据的数量不为一,则确定出待读取数据的数据写入时间段,按照数据存储关系,将数据写入时间段包含的数据层确定为目标数据层。仍以图2所示数据层结构为例,假设数据层L1的数据时间段为10点到12点,数据层L2的数据时间段为12点到14点,待读取数据的数据写入时间段为11点到13点,则需要将数据层L1及数据层L2一同确定为目标数据层。
本申请实施例提供的一种LSM树数据处理方法,由于在目标LSM树的应用过程中,伴随着数据层间的数据移动,而数据层间的数据移动会导致数据层的数据结构发生变化,因此在获取目标LSM树中各个数据层的数据时间段之后,还可以判断数据层的数据是否发生变化,若是,则更新数据层的数据时间段。
请参阅图3,图3为本申请实施例提供的一种LSM树数据处理***的结构示意图。
本申请实施例提供的一种LSM树数据处理***,可以包括:
第一接收模块101,用于接收数据读取指令;
第一获取模块102,用于获取预先保存的目标LSM树的数据存储关系,数据存储关系包括已存储数据及相应数据层间的对应关系,数据层包括目标LSM树中存储已存储数据的数据层;
第一确定模块103,用于按照数据存储关系,确定出数据读取指令对应的待读取数据所对应的目标数据层;
第一读取模块104,用于在目标数据层中读取待读取数据。
本申请实施例提供的一种LSM树数据处理***,还可以包括:
第二确定模块,用于第一接收模块接收数据读取指令之前,对于每个待写入数据,在目标LSM树中,确定出存储待写入数据的数据层;
第一保存模块,用于建立并保存待写入数据与对应的数据层间的数据存储关系。
本申请实施例提供的一种LSM树数据处理***,第二确定模块可以包括:
第一确定子模块,用于确定待写入数据写入至目标LSM树的写入时刻;
第一获取子模块,用于获取目标LSM树中各个数据层的数据时间段,数据时间段包括数据层中各个数据的写入时刻;
第二确定子模块,用于将包含待写入数据的写入时刻的数据时间段所对应的数据层,确定为待写入数据对应的数据层;
其中,数据存储关系中包括数据层的数据时间段。
本申请实施例提供的一种LSM树数据处理***,数据时间段可以包括数据层中数据的起始写入时刻及结束写入时刻。
本申请实施例提供的一种LSM树数据处理***,第一确定模块可以包括:
第一判断单元,用于判断待读取数据的数量是否为一;若待读取数据的数量为一,则确定待读取数据的数据写入时刻,按照数据存储关系,将包含数据写入时刻的数据层确定为目标数据层;若待读取数据的数量不为一,则确定出待读取数据的数据写入时间段,按照数据存储关系,将数据写入时间段包含的数据层确定为目标数据层。
本申请实施例提供的一种LSM树数据处理***,还可以包括:
第一判断模块,用于第一获取子模块获取目标LSM树中各个数据层的数据时间段之后,判断数据层的数据是否发生变化,若是,则更新数据层的数据时间段。
本申请还提供了一种LSM树数据处理设备及计算机可读存储介质,其均具有本申请实施例提供的一种LSM树数据处理方法具有的对应效果。请参阅图4,图4为本申请实施例提供的一种LSM树数据处理设备的结构示意图。
本申请实施例提供的一种LSM树数据处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:
接收数据读取指令;
获取预先保存的目标LSM树的数据存储关系,数据存储关系包括已存储数据及相应数据层间的对应关系,数据层包括目标LSM树中存储已存储数据的数据层;
按照数据存储关系,确定出数据读取指令对应的待读取数据所对应的目标数据层;
在目标数据层中读取待读取数据。
本申请实施例提供的一种LSM树数据处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:接收数据读取指令之前,对于每个待写入数据,在目标LSM树中,确定出存储待写入数据的数据层;建立并保存待写入数据与对应的数据层间的数据存储关系。
本申请实施例提供的一种LSM树数据处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:确定待写入数据写入至目标LSM树的写入时刻;获取目标LSM树中各个数据层的数据时间段,数据时间段包括数据层中各个数据的写入时刻;将包含待写入数据的写入时刻的数据时间段所对应的数据层,确定为待写入数据对应的数据层;其中,数据存储关系中包括数据层的数据时间段。
本申请实施例提供的一种LSM树数据处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:数据时间段包括数据层中数据的起始写入时刻及结束写入时刻。
本申请实施例提供的一种LSM树数据处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:判断待读取数据的数量是否为一;若待读取数据的数量为一,则确定待读取数据的数据写入时刻,按照数据存储关系,将包含数据写入时刻的数据层确定为目标数据层。
本申请实施例提供的一种LSM树数据处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:判断待读取数据的数量是否为一;若待读取数据的数量不为一,则确定出待读取数据的数据写入时间段,按照数据存储关系,将数据写入时间段包含的数据层确定为目标数据层。
本申请实施例提供的一种LSM树数据处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:获取目标LSM树中各个数据层的数据时间段之后,判断数据层的数据是否发生变化,若是,则更新数据层的数据时间段。
请参阅图5,本申请实施例提供的另一种LSM树数据处理设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现LSM树数据处理设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(HML)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线连接:无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:
接收数据读取指令;
获取预先保存的目标LSM树的数据存储关系,数据存储关系包括已存储数据及相应数据层间的对应关系,数据层包括目标LSM树中存储已存储数据的数据层;
按照数据存储关系,确定出数据读取指令对应的待读取数据所对应的目标数据层;
在目标数据层中读取待读取数据。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:接收数据读取指令之前,对于每个待写入数据,在目标LSM树中,确定出存储待写入数据的数据层;建立并保存待写入数据与对应的数据层间的数据存储关系。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:确定待写入数据写入至目标LSM树的写入时刻;获取目标LSM树中各个数据层的数据时间段,数据时间段包括数据层中各个数据的写入时刻;将包含待写入数据的写入时刻的数据时间段所对应的数据层,确定为待写入数据对应的数据层;其中,数据存储关系中包括数据层的数据时间段。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:数据时间段包括数据层中数据的起始写入时刻及结束写入时刻。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:判断待读取数据的数量是否为一;若待读取数据的数量为一,则确定待读取数据的数据写入时刻,按照数据存储关系,将包含数据写入时刻的数据层确定为目标数据层。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:判断待读取数据的数量是否为一;若待读取数据的数量不为一,则确定出待读取数据的数据写入时间段,按照数据存储关系,将数据写入时间段包含的数据层确定为目标数据层。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:获取目标LSM树中各个数据层的数据时间段之后,判断数据层的数据是否发生变化,若是,则更新数据层的数据时间段。
本申请所涉及的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本申请实施例提供的一种LSM树数据处理***、设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的一种LSM树数据处理方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种LSM树数据处理方法,其特征在于,包括:
接收数据读取指令;
获取预先保存的目标LSM树的数据存储关系,所述数据存储关系包括已存储数据及相应数据层间的对应关系,所述数据层包括所述目标LSM树中存储所述已存储数据的数据层;
按照所述数据存储关系,确定出所述数据读取指令对应的待读取数据所对应的目标数据层;
在所述目标数据层中读取所述待读取数据;
其中,所述接收数据读取指令之前,还包括:
对于每个待写入数据,在所述目标LSM树中,确定出存储所述待写入数据的数据层;
建立并保存所述待写入数据与对应的所述数据层间的数据存储关系;
其中,所述在所述目标LSM树中,确定出存储所述待写入数据的数据层,包括:
确定所述待写入数据写入至所述目标LSM树的写入时刻;
获取所述目标LSM树中各个数据层的数据时间段,所述数据时间段包括所述数据层中各个数据的写入时刻;
将包含所述待写入数据的写入时刻的数据时间段所对应的数据层,确定为所述待写入数据对应的数据层;
其中,所述数据存储关系中包括所述数据层的所述数据时间段。
2.根据权利要求1所述的方法,其特征在于,所述数据时间段包括所述数据层中数据的起始写入时刻及结束写入时刻。
3.根据权利要求1所述的方法,其特征在于,所述按照所述数据存储关系,确定出所述数据读取指令对应的待读取数据对应的目标数据层,包括:
判断所述待读取数据的数量是否为一;
若所述待读取数据的数量为一,则确定所述待读取数据的数据写入时刻,按照所述数据存储关系,将包含所述数据写入时刻的数据层确定为所述目标数据层。
4.根据权利要求1所述的方法,其特征在于,所述按照所述数据存储关系,确定出所述数据读取指令对应的待读取数据对应的目标数据层,包括:
判断所述待读取数据的数量是否为一;
若所述待读取数据的数量不为一,则确定出所述待读取数据的数据写入时间段,按照所述数据存储关系,将所述数据写入时间段包含的数据层确定为所述目标数据层。
5.根据权利要求1所述的方法,其特征在于,所述获取所述目标LSM树中各个数据层的数据时间段之后,还包括:
判断所述数据层的数据是否发生变化,若是,则更新所述数据层的所述数据时间段。
6.一种LSM树数据处理***,其特征在于,包括:
第一接收模块,用于接收数据读取指令;
第一获取模块,用于获取预先保存的目标LSM树的数据存储关系,所述数据存储关系包括已存储数据及相应数据层间的对应关系,所述数据层包括所述目标LSM树中存储所述已存储数据的数据层;
第一确定模块,用于按照所述数据存储关系,确定出所述数据读取指令对应的待读取数据所对应的目标数据层;
第一读取模块,用于在所述目标数据层中读取所述待读取数据;
其中,还包括:
第二确定模块,用于所述第一接收模块接收数据读取指令之前,对于每个待写入数据,在所述目标LSM树中,确定出存储所述待写入数据的数据层;
第一保存模块,用于建立并保存所述待写入数据与对应的所述数据层间的数据存储关系;
其中,所述第二确定模块包括:
第一确定子模块,用于确定所述待写入数据写入至所述目标LSM树的写入时刻;
第一获取子模块,用于获取所述目标LSM树中各个数据层的数据时间段,所述数据时间段包括所述数据层中各个数据的写入时刻;
第二确定子模块,用于将包含所述待写入数据的写入时刻的数据时间段所对应的数据层,确定为所述待写入数据对应的数据层;
其中,所述数据存储关系中包括所述数据层的所述数据时间段。
7.一种LSM树数据处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述LSM树数据处理方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述LSM树数据处理方法的步骤。
CN201911208758.3A 2019-11-30 2019-11-30 一种lsm树数据处理方法、***、设备及计算机介质 Active CN111104403B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911208758.3A CN111104403B (zh) 2019-11-30 2019-11-30 一种lsm树数据处理方法、***、设备及计算机介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911208758.3A CN111104403B (zh) 2019-11-30 2019-11-30 一种lsm树数据处理方法、***、设备及计算机介质

Publications (2)

Publication Number Publication Date
CN111104403A CN111104403A (zh) 2020-05-05
CN111104403B true CN111104403B (zh) 2022-06-07

Family

ID=70421146

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911208758.3A Active CN111104403B (zh) 2019-11-30 2019-11-30 一种lsm树数据处理方法、***、设备及计算机介质

Country Status (1)

Country Link
CN (1) CN111104403B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104142958A (zh) * 2013-05-10 2014-11-12 华为技术有限公司 一种键值对***中数据的存储方法和相关装置
CN105117415A (zh) * 2015-07-30 2015-12-02 西安交通大学 一种优化的ssd数据更新方法
CN105787093A (zh) * 2016-03-17 2016-07-20 清华大学 一种基于LSM-Tree结构的日志文件***的构建方法
CN106156070A (zh) * 2015-03-31 2016-11-23 华为技术有限公司 一种查询方法、文件合并方法与相关装置
CN106708427A (zh) * 2016-11-17 2017-05-24 华中科技大学 一种适用于键值对数据的存储方法
CN110168532A (zh) * 2017-05-09 2019-08-23 华为技术有限公司 数据更新方法和存储装置
CN110377227A (zh) * 2019-06-13 2019-10-25 阿里巴巴集团控股有限公司 一种数据分块存储方法、装置及电子设备
CN110515897A (zh) * 2019-07-17 2019-11-29 华东计算技术研究所(中国电子科技集团公司第三十二研究所) Lsm存储***读性能的优化方法及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9846711B2 (en) * 2012-12-28 2017-12-19 Facebook, Inc. LSM cache

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104142958A (zh) * 2013-05-10 2014-11-12 华为技术有限公司 一种键值对***中数据的存储方法和相关装置
CN106156070A (zh) * 2015-03-31 2016-11-23 华为技术有限公司 一种查询方法、文件合并方法与相关装置
CN105117415A (zh) * 2015-07-30 2015-12-02 西安交通大学 一种优化的ssd数据更新方法
CN105787093A (zh) * 2016-03-17 2016-07-20 清华大学 一种基于LSM-Tree结构的日志文件***的构建方法
CN106708427A (zh) * 2016-11-17 2017-05-24 华中科技大学 一种适用于键值对数据的存储方法
CN110168532A (zh) * 2017-05-09 2019-08-23 华为技术有限公司 数据更新方法和存储装置
CN110377227A (zh) * 2019-06-13 2019-10-25 阿里巴巴集团控股有限公司 一种数据分块存储方法、装置及电子设备
CN110515897A (zh) * 2019-07-17 2019-11-29 华东计算技术研究所(中国电子科技集团公司第三十二研究所) Lsm存储***读性能的优化方法及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
付佳."基于LSM树的NoSQL数据库索引研究".《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》.2016, *

Also Published As

Publication number Publication date
CN111104403A (zh) 2020-05-05

Similar Documents

Publication Publication Date Title
CN102508784B (zh) 视频监控设备中闪存卡的数据存储方法及其***
CN109542911B (zh) 一种元数据组织方法、***、设备及计算机可读存储介质
CN108205577B (zh) 一种数组构建、数组查询的方法、装置及电子设备
US10649905B2 (en) Method and apparatus for storing data
CN104391725A (zh) 页面展示方法和页面展示装置
CN111737221B (zh) 集群文件***的数据读写方法、装置及设备和存储介质
CN105373541A (zh) 数据库的数据操作请求的处理方法和***
CN100507921C (zh) 一种嵌入式***中的文字显示方法及***
CN104268229A (zh) 一种基于多进程浏览器的资源获得方法及装置
CN103049261A (zh) 一种移动终端字体更换方法
CN111143290A (zh) 一种内存管理方法、***、设备及计算机可读存储介质
CN103678342A (zh) 启动项识别方法及装置
CN108664577B (zh) 一种基于flash空闲区的文件管理方法及***
CN111125008B (zh) 一种异常inode的动态修复方法、***及相关组件
CN110222046B (zh) 列表数据的处理方法、装置、服务器和存储介质
CN111241071A (zh) 一种数据迁移方法、***、设备及计算机可读存储介质
CN110969000B (zh) 数据合并的处理方法及装置
CN111104403B (zh) 一种lsm树数据处理方法、***、设备及计算机介质
CN111858581A (zh) 一种分页查询的方法、装置、存储介质和电子设备
CN109710409B (zh) 一种内存管理方法、***、装置及可读存储介质
CN104636079A (zh) 文件存取方法及其***
CN115017098A (zh) 一种文件***的管理方法及装置
CN107918654B (zh) 文件解压缩方法、装置及电子设备
CN110286995B (zh) 一种数据读写方法和装置
CN105094935A (zh) 一种在电子设备中写固件的方法及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant