CN110908587B - 一种用于存储时序数据的方法及其装置 - Google Patents

一种用于存储时序数据的方法及其装置 Download PDF

Info

Publication number
CN110908587B
CN110908587B CN201811072664.3A CN201811072664A CN110908587B CN 110908587 B CN110908587 B CN 110908587B CN 201811072664 A CN201811072664 A CN 201811072664A CN 110908587 B CN110908587 B CN 110908587B
Authority
CN
China
Prior art keywords
data
memory
stored
time
node
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
CN201811072664.3A
Other languages
English (en)
Other versions
CN110908587A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201811072664.3A priority Critical patent/CN110908587B/zh
Publication of CN110908587A publication Critical patent/CN110908587A/zh
Application granted granted Critical
Publication of CN110908587B publication Critical patent/CN110908587B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种用于存储时序数据的方法及其装置,所述方法包括:将所述时序数据按行存储在第一存储器中;判断已存储的时序数据的数据量是否达到预定阈值;若达到,则将已存储的时序数据按列存储在第二存储器中。采用本申请,可迅速地写入和读取时序数据。

Description

一种用于存储时序数据的方法及其装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种用于存储时序数据的方法及其装置。
背景技术
伴随着云计算、互联网、物联网等现代技术的不断发展和成熟,人们对数据的关注度越来越高,这其中时间序列数据占据了很大的比重,时间序列数据(简称时序数据)是指传感器在不同时间点上收集到的数据,例如,某地区某段时间内的温度变化、某段时间内的股票价格、机器的内存使用情况等。这类数据反映了物体随时间变化的变化状态。
时序数据相较于传统数据,面临解决的最大的问题就是如何快速地写入和读取。在实际处理中,通常采用行存储的方式实时存储时序数据。但这种方式在读取数据时存在很大的问题。因此,现有技术需要一种能够快速写入并读取时序数据的方法的技术方案。
上述信息仅作为背景信息被呈现以帮助理解本公开。至于任何上述信息是否可应用为针对本公开的现有技术,尚未做出决定,也未做出声明。
发明内容
本申请的主要目的在于提供一种用于存储时序数据的方法及其装置,旨在解决以上提到的快速写入并读取时序数据的问题。
本申请的示例性实施例提供一种用于存储时序数据的方法,所述方法包括将所述时序数据按行存储在第一存储器中;判断已存储的时序数据的数据量是否达到预定阈值;若达到所述预定阈值,则将已存储的时序数据按列存储在第二存储器中。
本申请的另一示例性实施例提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被执行时实现上述方法。
本申请的另一示例性实施例提供一种用于存储时序数据的装置,所述装置包括处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:将所述时序数据按行存储在第一存储器中;判断已存储的时序数据的数据量是否达到预定阈值;若达到所述预定阈值,则将已存储的时序数据按列存储在第二存储器中。
本申请的另一示例性实施例提供一种基于LSM树的数据存储方法,所述方法包括:判断存储在第一存储器上的数据的数据量是否达到预定阈值;若达到所述预定阈值,对存储在第一存储器上的数据执行合并处理;将合并处理后的数据按列存储在第二存储器中。
本申请的另一示例性实施例提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述方法。
本申请的另一示例性实施例提供一种基于LSM的数据存储装置,所述装置包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:判断存储在第一存储器上的数据的数据量是否达到预定阈值;若达到所述预定阈值,对存储在第一存储器上的数据执行合并处理;将合并处理后的数据按列存储在第二存储器中。
本申请示例性实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请的示例性实施例的用于存储时序数据的方法可在时序数据行存储在第一存储器上的数据量达到预定阈值后对这部分时序数据进行处理,包括改变存储方式以及存储位置,这样既能够快速写入数据又能够快速读取数据。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请的示例性实施例的用于存储时序数据的方法的流程图;
图2是根据本申请的示例性实施例的时序数据按行存储的示意图;
图3是本申请的示例性实施例的用于存储时序数据的装置的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1示出了根据本申请的示例性实施例的用于存储时序数据的方法的流程图。为了更清楚地描述所述方法,下文中将结合图2进行详细解释。
在步骤S110,将时序数据按行存储在第一存储器中。由于时序数据是传感器在不同时间点上采集的数据,因此通常按照时间顺序获取时序数据。传感器获取的时序数据可如图2中所述所示,行存储是按照箭头的方向以行为单位从左向右从上至下执行的。如图2中所示,行存储可将行数据(例如(1,14676589500,845))保存在一起。随后,将这些采用行存储的时序数据存储在第一存储器中,其中,所述第一存储器包括内部存储器(即,内存)。
在步骤S120,判断已存储的时序数据的数据量是否达到预定阈值。所述预定阈值可以是用户(例如,开发人员)设置的或者默认为第一存储器的容量。具体来说,可确定已存储的时序数据占用的第一存储器的空间是否达到预定阈值,此时,所述预定阈值是用来衡量空间大小的量值。
如果通过步骤S120的判断操作,确定已存储的时序数据的数据量并未达到预定阈值,则继续存储,如果通过步骤S120的判断操作,确定已存储的时序数据的数据量达到预定阈值,则执行步骤S130。
在步骤S130,将已存储的时序数据按列存储在第二存储器中,其中,所述第二存储器是指除计算机内存以及中央处理器缓存(CPU缓存)之外的外部存储器,包括但不限于硬盘、软盘、光盘、U盘、磁盘。
也就是说,当达到预定阈值的时序数据的存储量后,则会对这些已存储的时序数据进行处理。具体来说,从第一存储器中读取已存储的时序数据,随后,将已存储的时序数据中的每行数据中的对应列上的数据生成以时间为节点区间的一个或多个树形结构。也就是说,可通过已存储的时序数据生成一个或多个树形结构,而每个树形结构可以是针对某一参数或指标形成的树形结构,其中,树形结构的数量取决于行数据的列数。以图2为例,可将行数据中的第二列上的数据形成一个针对序列号的树形结构,并且将行数据中的第三列上的数据形成一个针对湿度的树形结构。最后,将生成的所述一个或多个的树形结构的时序数据存储在第二存储器中。
生成的所述一个或多个树形结构中的每个树形结构是由节点构成的,所述节点包括根节点、叶节点和根节点与叶节点之间的子节点,其中,根节点是指在树形结构中没有父节点的节点,叶节点是指在树形结构中没有子节点的节点。根据本发明的示例性实施例,所述一个或多个树形结构中的每个叶节点对应于已存储在第一存储器上的时序数据中的每行数据中的对应列上的数据。所述一个或多个树形结构中的根节点对应于已存储在第一存储器上的时序数据中的所有行数据中的对应列上的数据。
而针对在叶节点与根节点之间的子节点,可通过以下步骤确定:确定每个子节点的节点区间,在实现方式上,可按照自上向下或自下向上的方式来确定节点区间。按照自上向下的方式确定节点区间是指在确定根节点的情况下,确定根节点下的子节点,例如,当根节点的节点区间为[20150101,20171231]时,可确定在根节点下的三个子节点的节点区间,其中,第一子节点的节点区间为[20150101,20151231],第二子节点的节点区间为[20160101,20161231],而第三子节点的节点区间为[20170101,20171231]。按照自下向上的方式确定节点区间是指首先根据多个叶节点确定所述多个叶节点所属的父节点(即,子节点),然后逐层上推至根节点。例如,当获得三个叶节点,其中,第一叶节点的节点区间为[20150101,20150102],第二叶节点的节点区间为[20150102,20150103],而第三叶节点的节点区间为[20150103,20150104],可确定三个叶节点所属的父节点的节点区间为[20150101,20150104]。
随后,确定已存储的时序数据在所述节点区间内的多个行数据,举例来说,当确定节点区间为[20150101,20150104]时,可从已存储的时序数据中,利用时间戳确定在时间区间[20150101,20150104]之间的行数据。
最后,通过在所述节点区间内的所述多个行数据中的每个行数据对应列上的数据确定每个子节点,具体来说,可利用数据结合律对所述多个行数据中的每个行数据对应列上的数据进行结合,从而确定每个子节点对应的数据。所述数据结合律是指多个数据通过函数运算进行结合以获得最终数据,所述函数运算包括但不限于求和运算、求均值运算、求最大值运算、求最小值运算以及用户自定义的运算。举例来说,假设已经确定了在时间区间[20150101,20150104]之间的行数据的情况下,提取每个行数据中的对应列上的数据,然后将提取的数据执行求均值运算,获得与所述子节点对应的数据。
可选地,所述树形结构可包括线段树结构,也就是说,用户(例如,开发人员)可将已存储的时序数据的存储结构转换为以时间为节点区间的线段树结构,同时可根据需求设置线段树的节点区间。
可选地,所述方法适用于基于LSM树的存储系统中。具体来说,由于LSM树的存储原理是将行存储的数据存储在第一存储器中,随后将预定大小的行存储的数据通过合并(compaction)存储在磁盘上。因此,当根据本发明的示例性实施例应用于LSM树存储系统时,可利用LSM存储引擎中的行存步骤。
此外,所述方法还包括当接收到对时序数据的处理请求时,确定所述时序数据是否存储在第一存储器;若是,则从第一存储器中读取所述时序数据。具体来说,可对处理请求中的时序数据进行解析,确定所述时序数据的时间戳。随后,确定存储在第一存储器中的时序数据的时间戳,通过时间戳确定所述时序数据是否存储在第一存储器。若是,则从第一存储器中读取所述时序数据。若所述时序数据不存储在第一存储器中,则从第二存储器中确定与所述时间对应的节点;读取与所述节点对应的时序数据。按照时序数据的存储顺序可以看出,若请求的数据的时间较近/新(例如,当前时间),则可从第一存储器读取数据,而若请求的数据的时间较远/旧(例如,一个月以前),则可从第二存储器读取数据。
综上所述,本申请的示例性实施例的用于存储时序数据的方法可在时序数据行存储在第一存储器上的数据量达到预定阈值后对这部分时序数据进行处理,包括改变存储方式以及存储位置,这样既能够快速写入数据又能够快速读取数据。更进一步地,通过将已存储的时序数据转换成针对每列数据的多个树形结构,这样可迅速执行针对列数据的相关操作。此外,通过数据结合律确定树形结构中的各个节点对应的数据,从而能够更好地体现长时间跨度内的数据。更进一步地,可通过确定处理请求中的时序数据的时间,在不同存储空间内读取不同结构的数据,提高了数据读取的速度并更好地输出读取结果。
根据本申请的示例性实施例还提出了一种基于LSM树的数据存储方法,所述方法包括:判断存储在第一存储器上的数据量是否达到预定阈值;若达到,对所述数据执行合并操作;将合并后的数据按列存储在第二存储器中。
可选地,将合并处理后的数据按列存储在第二存储器中包括:将合并处理后的数据中的每行数据中的对应列上的数据生成以时间为节点区间的一个或多个树形结构;将生成的所述一个或多个的树形结构的数据存储在第二存储器中。应注意,所述树形结构中的节点以及与节点对应的数据可按照如上所述的步骤获得,为了简洁起见,在此将不再赘述。
可选地,所述方法还包括:当接收到对数据的处理请求时,确定所述数据对应的时间;基于所述时间,确定所述数据是否存储在第一存储器;若是,则从第一存储器中读取所述数据。
可选地,所述方法还包括:若所述数据不存储在第一存储器中,则从第二存储器中确定与所述时间对应的节点;读取与所述节点对应的数据。
综上所述,本申请的示例性实施例的基于LSM树的数据存储方法可在数据行存储在第一存储器上的数据量达到预定阈值后对这部分数据进行处理,包括改变存储方式以及存储位置,这样既能够快速写入数据又能够快速读取数据。更进一步地,可通过确定处理请求中的数据的时间,在不同存储空间内读取不同结构的数据,提高了数据读取的速度并更好地输出读取结果。
为了更清楚地明白本申请的示例性实施例的发明构思,以下将参照图3描述本申请的示例性实施例的用于存储时序数据的装置的框图。本领域普通技术人员将理解:图3中的装置仅示出了与本示例性实施例相关的组件,所述装置中还包括除了图3中示出的组件之外的通用组件。
图3示出本申请的示例性实施例的用于存储时序数据的装置的框图。参考图3,在硬件层面,该装置包括处理器、内部总线和计算机可读存储介质,其中,所述计算机可读存储介质包括易失性存储器和非易失性存储器。处理器从非易失性存储器中读取对应的计算机程序然后运行。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
具体来说,所述处理器执行以下操作:将所述时序数据按行存储在第一存储器中;判断已存储的时序数据的数据量是否达到预定阈值;若达到所述预定阈值,则将已存储的时序数据按列存储在第二存储器中。
可选地,所述处理器在实现步骤将已存储的时序数据按列存储在第二存储器中包括:将已存储的时序数据中的每行数据中的对应列上的数据生成以时间为节点区间的一个或多个树形结构;将生成的所述一个或多个的树形结构的时序数据存储在第二存储器中。
可选地,所述一个或多个树形结构中的每个叶节点对应于已存储在第一存储器上的时序数据中的每行数据中的对应列上的数据。
可选地,所述一个或多个树形结构中的根节点对应于已存储在第一存储器上的时序数据中的所有行数据中的对应列上的数据。
可选地,所述处理器在实现步骤所述一个或多个树形结构中的子节点通过以下操作确定:确定子节点的节点区间;确定已存储在第一存储器上的时序数据在所述节点区间内的多个行数据;通过所述多个行数据中的每个行数据对应列上的数据确定子节点对应的数据。
可选地,所述处理器在实现步骤通过所述多个行数据中的每个行数据对应列上的数据确定子节点对应的数据包括:利用数据结合律对所述多个行数据中的每个行数据对应列上的数据进行结合,获得最终数据作为子节点对应的数据。
可选地,所述一个或多个树形结构中的每个树形结构包括线段树结构。
可选地,所述处理器还执行以下步骤:
当接收到对时序数据的处理请求时,确定所述时序数据对应的时间;
基于所述时间,确定所述时序数据是否存储在第一存储器;
若所述时序数据存储在第一存储器中,则从第一存储器中读取所述时序数据。
可选地,所述处理器还执行以下步骤:若所述时序数据不存储在第一存储器中,则从第二存储器中确定与所述时间对应的节点;读取与所述节点对应的时序数据。
如上所述,根据本申请的示例性实施例的用于存储时序数据的装置可在时序数据行存储在第一存储器上的数据量达到预定阈值后对这部分时序数据进行处理,包括改变存储方式以及存储位置,这样既能够快速写入数据又能够快速读取数据。更进一步地,通过将已存储的时序数据转换成针对每列数据的多个树形结构,这样可迅速执行针对列数据的相关操作。此外,通过数据结合律确定树形结构中的各个节点对应的数据,从而能够更好地体现长时间跨度内的数据。更进一步地,可通过确定处理请求中的时序数据的时间,在不同存储空间内读取不同结构的数据,提高了数据读取的速度并更好地输出读取结果。
本申请的示例性实施例还提出了一种基于LSM的数据存储装置,所述装置包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:判断存储在第一存储器上的数据的数据量是否达到预定阈值;若达到所述预定阈值,对存储在第一存储器上的数据执行合并处理;将合并处理后的数据按列存储在第二存储器中。
可选地,所述处理器在实现步骤将合并处理后的数据按列存储在第二存储器中包括:将合并处理后的数据中的每行数据中的对应列上的数据生成以时间为节点区间的一个或多个树形结构;将生成的所述一个或多个的树形结构的数据存储在第二存储器中。
可选地,所述处理器还执行以下操作:当接收到对数据的处理请求时,确定所述数据对应的时间;基于所述时间,确定所述数据是否存储在第一存储器;若所述数据存储在第一存储器中,则从第一存储器中读取所述数据。
可选地,所述处理器还执行以下操作:若所述数据不存储在第一存储器中,则从第二存储器中确定与所述时间对应的节点;读取与所述节点对应的数据。
综上所述,本申请的示例性实施例的基于LSM树的数据存储装置可在数据行存储在第一存储器上的数据量达到预定阈值后对这部分数据进行处理,包括改变存储方式以及存储位置,这样既能够快速写入数据又能够快速读取数据。更进一步地,可通过确定处理请求中的数据的时间,在不同存储空间内读取不同结构的数据,提高了数据读取的速度并更好地输出读取结果。
需要说明的是,实施例1所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤21和步骤22的执行主体可以为设备1,步骤23的执行主体可以为设备2;又比如,步骤21的执行主体可以为设备1,步骤22和步骤23的执行主体可以为设备2;等等。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种用于存储时序数据的方法,其特征在于,包括:
将所述时序数据按行存储在第一存储器中;
判断已存储的时序数据的数据量是否达到预定阈值;
若达到所述预定阈值,则将已存储的时序数据按列存储在第二存储器中;
其中,将已存储的时序数据按列存储在第二存储器中包括:将已存储的时序数据中的每行数据中的对应列上的数据生成以时间为节点区间的一个或多个树形结构;将生成的所述一个或多个的树形结构的时序数据存储在第二存储器中;所述一个或多个树形结构中的每个叶节点对应于已存储在第一存储器上的时序数据中的每行数据中的对应列上的数据;所述一个或多个树形结构中的根节点对应于已存储在第一存储器上的时序数据中的所有行数据中的对应列上的数据。
2.如权利要求1所述的方法,其特征在于,所述一个或多个树形结构中的子节点通过以下操作确定:
确定子节点的节点区间;
确定已存储在第一存储器上的时序数据在所述节点区间内的多个行数据;
通过所述多个行数据中的每个行数据对应列上的数据确定子节点对应的数据。
3.如权利要求2所述的方法,其特征在于,通过所述多个行数据中的每个行数据对应列上的数据确定子节点对应的数据包括:利用数据结合律对所述多个行数据中的每个行数据对应列上的数据进行结合,获得最终数据作为子节点对应的数据。
4.如权利要求1所述的方法,其特征在于,所述一个或多个树形结构中的每个树形结构包括线段树结构。
5.如权利要求1所述的方法,其特征在于,还包括:
当接收到对时序数据的处理请求时,确定所述时序数据对应的时间;
基于所述时间,确定所述时序数据是否存储在第一存储器;
若所述时序数据存储在第一存储器中,则从第一存储器中读取所述时序数据;
若所述时序数据不存储在第一存储器中,则从第二存储器中确定与所述时间对应的节点;
读取与所述节点对应的时序数据。
6.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被执行时实现权利要求1至5中的任一权利要求所述的方法。
7.一种用于存储时序数据的装置,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行权利要求1至5中的任一权利要求所述的方法。
8.一种基于LSM树的数据存储方法,其特征在于,包括:
判断存储在第一存储器上的数据的数据量是否达到预定阈值;
若达到所述预定阈值,对存储在第一存储器上的数据执行合并处理;
将合并处理后的数据按列存储在第二存储器中;
其中,将合并处理后的数据按列存储在第二存储器中包括:将合并处理后的数据中的每行数据中的对应列上的数据生成以时间为节点区间的一个或多个树形结构;将生成的所述一个或多个的树形结构的数据存储在第二存储器中;所述一个或多个树形结构中的每个叶节点对应于已存储在第一存储器上的时序数据中的每行数据中的对应列上的数据;所述一个或多个树形结构中的根节点对应于已存储在第一存储器上的时序数据中的所有行数据中的对应列上的数据。
9.如权利要求8所述的方法,其特征在于,还包括:
当接收到对数据的处理请求时,确定所述数据对应的时间;
基于所述时间,确定所述数据是否存储在第一存储器;
若所述数据存储在第一存储器中,则从第一存储器中读取所述数据。
10.如权利要求9所述的方法,其特征在于,还包括:
若所述数据不存储在第一存储器中,则从第二存储器中确定与所述时间对应的节点;
读取与所述节点对应的数据。
11.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被执行时实现权利要求8至10中的任一权利要求所述的方法。
12.一种基于LSM的数据存储装置,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行权利要求8至10中的任一权利要求所述的方法。
CN201811072664.3A 2018-09-14 2018-09-14 一种用于存储时序数据的方法及其装置 Active CN110908587B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811072664.3A CN110908587B (zh) 2018-09-14 2018-09-14 一种用于存储时序数据的方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811072664.3A CN110908587B (zh) 2018-09-14 2018-09-14 一种用于存储时序数据的方法及其装置

Publications (2)

Publication Number Publication Date
CN110908587A CN110908587A (zh) 2020-03-24
CN110908587B true CN110908587B (zh) 2023-04-18

Family

ID=69813334

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811072664.3A Active CN110908587B (zh) 2018-09-14 2018-09-14 一种用于存储时序数据的方法及其装置

Country Status (1)

Country Link
CN (1) CN110908587B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113868267A (zh) * 2020-06-30 2021-12-31 华为技术有限公司 注入时序数据的方法、查询时序数据的方法及数据库系统
CN112115072B (zh) * 2020-09-03 2022-06-17 清华大学 时序图的处理方法及装置
CN118427278A (zh) * 2024-07-01 2024-08-02 成都梵辰科技有限公司 一种数据处理方法及处理系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107038206A (zh) * 2017-01-17 2017-08-11 阿里巴巴集团控股有限公司 Lsm树的建立方法、lsm树的数据读取方法和服务器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10055162B2 (en) * 2015-10-30 2018-08-21 Netapp, Inc. Using a tree-based data structure to map logical addresses to physical addresses on a storage device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107038206A (zh) * 2017-01-17 2017-08-11 阿里巴巴集团控股有限公司 Lsm树的建立方法、lsm树的数据读取方法和服务器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Baidya Nath Saha.A two-stage minimum spanning tree (MST) based clustering algorithm for 2D deformable registration of time sequenced images.IEEE.2018,全文. *
赵海峰 ; 孔敏 ; 罗斌 ; .八元树三维表示法的磁盘存储与恢复.计算机技术与发展.2006,(第08期),全文. *

Also Published As

Publication number Publication date
CN110908587A (zh) 2020-03-24

Similar Documents

Publication Publication Date Title
CA3034034C (en) Data storage, data check, and data linkage method and apparatus
CN106789831B (zh) 识别网络攻击的方法和装置
CN110908587B (zh) 一种用于存储时序数据的方法及其装置
CN108108127B (zh) 一种文件读取方法及系统
US9298389B2 (en) Operating a memory management controller
CN111737265B (zh) 区块数据访问方法、区块数据存储方法及装置
CN107729558B (zh) 文件系统碎片整理的方法、系统、装置及计算机存储介质
CN108255886B (zh) 推荐系统的评估方法及装置
CN106897342B (zh) 一种数据校验方法和设备
CN109033365B (zh) 一种数据处理方法及相关设备
CN108243032B (zh) 一种服务等级信息的获取方法、装置及设备
CN110019298B (zh) 数据处理方法和装置
CN115048053A (zh) 数据存储方法、装置以及电子设备
CN108228679B (zh) 时序数据计量方法和时序数据计量装置
CN110955846A (zh) 传播路径图生成方法及装置
CN110020074B (zh) 确定网页流失率的方法及装置
CN110851434A (zh) 一种数据存储方法、装置及设备
CN110490595B (zh) 一种风险控制方法和装置
CN114138745A (zh) 数据的集成方法、装置、存储介质及处理器
CN108536759B (zh) 一种样本回放数据存取方法及装置
CN109194500B (zh) 转发表状态切换方法、装置及通信设备
CN108958658B (zh) 一种目标数据的获取方法及装置
CN113220992A (zh) 一种信息流内容推荐方法、系统及介质
CN105677652B (zh) 一种数据管理方法及装置
CN109558221B (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