CN103605805B - 一种海量时序数据的存储方法 - Google Patents

一种海量时序数据的存储方法 Download PDF

Info

Publication number
CN103605805B
CN103605805B CN201310659810.3A CN201310659810A CN103605805B CN 103605805 B CN103605805 B CN 103605805B CN 201310659810 A CN201310659810 A CN 201310659810A CN 103605805 B CN103605805 B CN 103605805B
Authority
CN
China
Prior art keywords
data
time
time series
storage
record
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.)
Expired - Fee Related
Application number
CN201310659810.3A
Other languages
English (en)
Other versions
CN103605805A (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.)
Automation Research and Design Institute of Metallurgical Industry
Original Assignee
Automation Research and Design Institute of Metallurgical Industry
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 Automation Research and Design Institute of Metallurgical Industry filed Critical Automation Research and Design Institute of Metallurgical Industry
Priority to CN201310659810.3A priority Critical patent/CN103605805B/zh
Publication of CN103605805A publication Critical patent/CN103605805A/zh
Application granted granted Critical
Publication of CN103605805B publication Critical patent/CN103605805B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种海量时序数据的存储方法,属于数据管理技术领域。采用设计精简的HBase主键,并根据不同类型时序数据的存储及访问特性对时序数据分类并设计存储机制:对于实时数据、大周期数据以及无周期数据,采用简单行存储,即一条时序数据对应一条HBase行记录,通过简单行存储实现快速插入及检索数据;对于历史数据,采用把某一时段内的历史时序数据存储为HBase的一条行记录的段存储机制,通过段存储实现快速、高吞吐性能的历史数据数据检索数。优点在于,解决了具有实时访问性能的海量时序数据存储问题。

Description

一种海量时序数据的存储方法
技术领域
本发明属于数据管理技术领域,特别涉及一种海量时序数据的存储方法。
背景技术
时序数据是一种具有时间属性和值属性的数据。时序数据的时间属性也称为该时序数据的时间戳。以流程工业为例,包括化工、冶金、建筑、电力等等,存在着海量的时序数据。这些时序数据具体有:仪表的计量数据,生产计划数据,成本核算数据等。对于大型流程工业企业,一般有几十个分厂或车间,有几十万点级的仪表计量,一年产生的时序数据的规模在TB级。面对如此大规模的数据,许多企业在建设信息系统时采用分而治之的策略:每个分厂或车间拥有自己的数据存储系统,而企业层面存储的数据主要是汇总后的数据。
在工业化与信息化深入融合的今天,许多企业要求进一步提高信息化水平,要求建立企业级的数据平台,即实现对企业各车间所有计量数据等时序数据的统一集中管理,并基于此解决当前车间级多个数据存储系统造成的数据孤岛、数出多源等问题,实现更好的生产管控。企业级的数据平台需要一个企业级数据存储系统。该存储系统需要具有良好地弹性可扩展能力,以支持日渐增大的数据存储规模,且具有快速访问性能,以满足数据报警、实时查询、曲线查看等实时应用需求。
当前,在流程工业面临着海量数据时序存储管理的困境时,互联网公司也在面临着海量数据管理的难题。以Hadoop、HBase等为代表的大数据技术为海量数据管理提供了一种解决方案,并为当前淘宝、百度、搜狐等许多互联网公司采用。Hadoop提供了一种可靠、可伸缩的分布式文件系统,HBase是一种高性能、面向列存储的分布式数据存储系统。在专利《一种基于Hadoop+Hbase的农业时序数据组织方法》(专利申请号:201210107915.3)中,采用Hadoop和HBase技术来存储管理具有时间顺序的农业经济技术数据。
发明内容
本发明的目的是提供一种海量时序数据存储方法,以便建立具有海量时序数据存储能力以及实时访问能力的企业级数据存储系统。该方法采用Hadoop和HBase作为底层存储支撑技术,利用它们的高扩展性以支持海量时序数据高性能存储管理,通过设计精简的HBase主键以及设计段存储进一步提升时序数据的读、写速度。其中,段存储定义为把同一数据点在某一时间的时序数据存储到一起。
本发明包括下列工艺步骤:
(1)采用HBase集群来直接管理企业的时序数据,由HBase写数据到Hadoop分布式文件系统,最终由Hadoop归档数据到磁盘;外部用户通过访问HBase来读、写、删除时序数据。
(2)企业的每个需要存储的时序数据点均具有唯一Id,通过数据点Id可定位具体的数据点并获取数据点名称等信息,其中,Id为大于或等于0的长整型数据,这使得数据存储系统可以支持万亿级的数据点管理。
(3)数据增加和数据修改均是数据写的一种特殊形式,在HBase中均通过Put操作完成,因此,在本发明中,把数据增加和数据修改均统一到数据写入操作。
在数据写入时,每个数据点的一条或多条时序记录成为HBase数据表的一条行记录。行记录包括行键(rowkey)和值部分。HBase数据表通过行键区分行记录。合理的行键,可以起到数据索引作用,促成数据的快速检索。另外,对于海量数据,行键需要被存储上亿次,因此,行键也需要尽可能的短。为此,行键设计为比特串,具体为:数据点Id.toBytes+时间戳.toBytes,其中数据点Id在前,时间戳在后,它们一前一后的目的是为了把同一数据点的数据聚在一起,使得可以方便查询某一数据点在某一时段的数据。Id为长整型,最多占用8字节,且可以根据数据点Id的值大小来自动选取最短长度的比特流,例如小于256的Id只需用1个字节。时间戳精确到毫秒,也采用长整型表示,占用8个字节。因此,行键最多占用16字节。
(4)具体哪个数据点的时序数据写入到哪张HBase数据表中,由平衡存储机制来控制。通过平衡存储,实现在数据访问时把网络I/O和磁盘I/O分布到集群中多个机器上,从而提高总的网络吞吐量和磁盘吞吐量。通过为每个数据点定义一个启发知识来实现平衡存储。在读、写某一数据点的数据时,可根据数据点的启发知识确定其HBase数据表。
(5)按照是否周期性的有数据,把时序数据点分为两类:周期性的,即数据点每隔指定时间就有一条时序数据;无周期的,即该数据点数据流的时间戳是没有周期性规律的。
按照周期数据点的周期大小,把周期性数据点分为小周期数据点和大周期数据点;其中,用于分类的周期阈值通过配置设定。
按照数据新旧,把小周期性数据点的具体时序数据分为两类:历史数据,指时间戳在某一时刻之前的数据;实时数据,指除历史数据以外的数据。历史数据和实时数据的分割时刻实际也是实时数据起始时刻。用户在访问周期性数据点时,主要是访问某一时刻的实时数据,或者访问某一时段的历史数据。
根据不同数据的存储及访问特性,设计存储机制如下:
a.实时数据的每一条时序数据记录为HBase的一条行记录。行键中的时间戳选取为时序数据的时间戳,此时,行键已经包含了数据点Id和时序数据的时间戳,因此,行记录的值部分只需存储序列化为比特流的时序数据的值。
实时数据直接写入到HBase实时数据表中。实时数据表提供数据实时读写功能。在读取某数据点在某一时刻的实时数据时,根据数据点Id及读取数据的时刻确定HBase记录的行键,并由此直接检索到数据,最后反序列化得到数据。
b.对于历史数据数据,某一时段内的历史时序数据存储为HBase的一条行记录,行键的时间戳部分选取为时段的开始时间。通过增加一次IO的读取量,减少在读取时间区间数据时的IO次数。由于是周期数据,因此,当把时序数据做有序存储时,行记录的值部分就只需存储时序数据的值,而时间戳可以经过推算得到。因此,行记录的值部分设计为比特串,比特串中存放时序数据值序列化得到的比特流,并根据时序数据的时间戳及时段的开始时间确定时序数据值的存储位置。对于数据缺失的情况,在比特串的指定位置填充序列化为比特流的Double.NaN。其中,Double.NaN表示不是数字(NaN)的值,在java、C#等语言中均有支持。
在写入某一历史时序数据时,先把那一时刻所在时段的段存储记录读出来,之后进行更新,最后再把段存储记录写回到历史数据表中。随着时间前进,实时数据表中的实时数据记录会慢慢地变为历史数据,我们需要把实时数据表中已变为历史数据的记录迁移到采用段存储的历史数据表中。相比面向某个数据点的某一具体时序数据的迁移,面向某个数据点某一时段所有时序数据的迁移是更高效的,因为可以通过确保相应段存储的时间区间完全覆盖,来构造新的段存储记录并写到历史数据表,从而避免读历史数据表段记录、更新段记录、再写回段记录的复杂操作。此时,实时数据表具有了数据缓冲的功能,可以通过周期性的遍历小周期数据点列表,计算、查找变为了历史数据的时序记录,并批量迁移查到的历史数据到历史数据表中。
为此,具体定义实时数据起始时刻的计算公式为:
实时数据的起始时刻=当前段存储的开始时刻–段存储的时间区间大小*n
当前段存储的开始时刻=当前时刻–当前时刻%段存储的时间区间大小
段存储的时间区间大小=存储周期*存储的数据点个数
其中,n为大于0的整数;%为数学求模运算符。
在读取某一数据点在某一时间区间的历史数据时,根据所要读取的时间区间确定所在的时段,并进而结合数据点Id确定HBase记录的行键;随后,把相关的行记录读取出来;之后,对行记录进行解析及反序列化得到该区间的时序数据。
c.对于大周期数据点,由于同一数据点的时序数据较为稀疏,因此,不再区分实时数据和历史数据,而是采用类似于周期性实时数据的存储方式,即一条时序数据对应一条HBase行记录。
d.对于无周期数据点,数据频次不确定,不适宜于采用段存储,因此,直接采用类似于周期性实时数据的存储方式,即一条时序数据对应一条HBase行记录。
本发明的优点在于:
(1)本发明是采用Hadoop和HBase等技术作为底层存储支撑,具有本质的海量数据管理能力,易于实施;
(2)本发明采用平衡存储、段存储以及简单的数据结构能显著提高系统的吞吐能力和访问速度。
附图说明
图1为时序数据点分类图。
图2为数据写入流程图。
图3为后台数据迁移流程图。
图4为数据读取流程图。
图5为数据删除流程图。
具体实施方式
本发明提供了一种海量时序数据存储方法,其通过采用Hadoop和HBase作为底层存储支撑技术,利用它们的高扩展性以支持海量时序数据高性能存储管理,并通过设计精简的HBase主键以及设计段存储进一步提升时序数据的读、写性能。
该发明的实施主要包括两个阶段,具体有数据组织与存储、数据流动。下面结合流程图和实例来说明本发明的具体实施方式:
(1)数据组织与存储
采用HBase集群来直接管理企业的时序数据,由HBase写数据到Hadoop分布式文件系统,最终由Hadoop归档数据到磁盘;外部用户通过访问HBase来读、写、删除时序数据。
所有时序数据点均具有唯一Id,该Id为大于或等于0的长整型数据。通过Id可定位、查询指定的数据点。
如图1所示,对时序数据点进行分类。按照是否周期性的有数据,把时序数据点分为周期数据点和无周期数据点。按照周期数据点的周期大小,把周期性数据点分为小周期数据点和大周期数据点;其中,用于分类的周期阈值通过配置设定,例如把周期阈值设定为3600秒,当数据点的周期小于3600秒时即为小周期数据点,当数据点的周期大于或等于3600秒时即为大周期数据点。按照数据新旧,把小周期性数据点的具体时序数据分为两类:历史数据,指时间戳在某一时刻之前的数据;实时数据,指除历史数据以外的数据。历史数据和实时数据的分割时刻实际也是实时数据起始时刻。
时序数据存储于HBase。根据数据的存储及访问特性,在HBase中为不同类型的数据创建不同的表,具体为:把实时数据存储于实时数据表中,把历史数据存储于历史数据表中,把大周期数据点的数据存储于大周期数据表中,把无周期数据点的数据存储于无周期数据表中。数据表是根据时序数据点的信息以及平衡存储机制动态创建的。
实时数据存储采用简单行存储,即一条时序数据存储为实时数据表中的一条行记录。实时数据表的表结构设计如下表所示。数据表的行键设计为比特串,最多占用16字节,具体为:id.toBytes+time.toBytes,其中,“id”为数据点id,“time”为时序数据的时间戳,“toBytes”表示序列化为比特串,“+”表示把后面的比特串添加到前面的比特串的末尾。数据表中只有一个列族,列族中只有一个数据列,该数据列存储的是时序数据值部分(value)序列化得到的比特串。
历史数据存储采用段存储,即某一时间区间内的历史时序数据存储为历史数据表中的一条行记录。历史数据表的表结构设计如下表所示。数据表的行键设计为比特串,最多占用16字节,具体为:id.toBytes+time.toBytes,其中,“time”为该时间区间的开始时间,“id”、“toBytes”以及“+”的意义与实时数据存储的相同。数据表中只有一个列族,列族中只有一个数据列,该数据列存储的是该时间区间所有时序数据值部分序列化得到的比特串按照时序数据时间戳大小依序拼接,其中,时序数据序列化得到的比特串均为固定长度。对于数据缺失的情况,在比特串的指定位置填充序列化为比特串的Double.NaN,Double.NaN表示不是数字(NaN)的值。
随着迁移,实时数据表中的数据记录逐渐地变为了历史数据,这些变为了历史数据的记录需要被迁移到历史数据表。实时数据表中的行记录和历史数据表中的行记录是多对一的关系,为了实现一次迁移能把简单行存储中同一数据点的多条行记录刚好聚集为段存储中的一条行记录,具体定义实时数据起始时刻的计算公式为:
实时数据的起始时刻=当前段存储的开始时刻–段存储的时间区间大小*n
当前段存储的开始时刻=当前时刻–当前时刻%段存储的时间区间大小
段存储的时间区间大小=存储周期*存储的数据点个数
其中,n为大于0的整数;%为数学求模运算符。
对于大周期数据点以及无周期数据点的数据存储,它们的表结构、行键、数据列设计为和上述实时数据存储一样的。
实时数据表、历史数据表、大周期数据表、无周期数据表均使用行的布隆过滤器,均设定数据版本数为1。根据相应类型数据点的规模以及平衡存储机制动态确定具体类型数据表的个数。例如,假设有100000个无周期数据点,每个无周期数据表存储20000个数据点的数据,那么需要创建5个无周期数据表;当无周期数据点的个数由100000变为160000个时,则需要增建3个无周期数据表。
(2)数据流动
数据流动包括数据访问和后台数据迁移。数据访问指外部用户或应用对所存储时序数据的增、删、改、查,其中增和改可以统一到数据写,因此,本发明中,只把数据访问区分为数据写、数据读、数据删。后台数据迁移指已存储到HBase中的数据的再流动,具体的说就是写到实时数据表中的数据会逐渐地变为历史数据,由此,需要迁移这些数据到历史数据表进行段存储。
先说数据写操作。数据写操作的流程如图2所示。根据数据点的周期特性,把实时数据、历史数据、大周期数据、无周期数据分别存储到实时数据表、历史数据表、大周期数据表和无周期数据表。
对于实时数据,根据数据点Id和实时数据的时间戳得到HBase行键,一条数据记录对应一条HBase行记录。
对于历史数据:首先,根据数据点的存储周期和段存储的时间区间大小确定对应段存储时间区间的开始时间,再根据时间区间的开始时间以及数据点Id得到HBase行键;之后,从历史数据表中查询该行键对应的行记录;随后,对查询到的行记录进行解析,得到相应时间区间各时刻的具体时序数据;紧接着,根据要写入的时序数据和查询到的已写入的时序数据得到新的行记录;最后,把生成的行记录写入到历史数据表中。其中,段存储行记录的数据解析是:由行键解析出时间区间的开始时间;由数据列值以及时序数据值部分所序列化为比特串的固定宽度解析出各个时序数据的值;根据时序值在时序数据值部分的位置以及时间区间的开始时间,计算得到该时序值对应的时间戳,把值和时间戳结合得到具体的时序数据。
对于大周期和无周期数据,跟实时数据的一样,根据数据点Id和实时数据的时间戳得到HBase行键,一条数据记录对应一条HBase行记录。
再说数据读操作之前,先说后台数据迁移。数据迁移的流程如图3所示。在数据平台系统启动时,启动数据迁移任务,该任务之后会在系统后台一直运行着。数据迁移任务首先获知系统中都有哪些小周期数据点,之后,每隔一段时间一一遍历每个小周期数据点。在遍历时,对于每个小周期数据点,计算该数据点的实时数据起始时刻,紧接着读取实时数据表中已变为了历史数据的简单行存储记录;当读取到的记录不为空时,汇集这些记录为段存储记录,并写所生成的段存储记录到历史数据表中;当段存储记录成功写入到历史数据表后,从实时数据表中删除刚才所获取的行记录。
下面说数据读操作。数据读操作的流程图如图4所示。根据数据点Id获知数据的周期特性,并根据数据的周期特性判定数据是实时数据、历史数据、大周期数据还是无周期数据,由此,采用不同的方式到不同的数据表中进行读取。
对于实时数据,根据数据点Id和所要读取数据的时间戳得到HBase行键,并根据行键从实时数据表中检索相应的时序数据。
对应历史数据,首先需要根据数据点Id、存储周期以及所要读取数据的时间戳判定需要读取哪一个时间区间的段存储,并由相应段存储的开始时间以及数据点Id得到HBase段存储的行键。之后,根据行键从历史数据表中读取记录。当读取到的行记录不为空时,根据所要读取数据的时间戳以及该段存储的开始时间确定相应数据值在行记录值部分比特串的位置,并由此提取提取比特串,进而进行解析得到所要读取的时序数据的值部分。
对于大周期和无周期数据,跟实时数据的一样,根据数据点Id和所要读取数据的时间戳得到HBase行键,并根据行键从相应的数据表中检索相应的时序数据。
下面说数据删除操作。数据删除操作的流程图如图5所示。对于实时数据、大周期数据和小周期数据,根据所要删除数据的时间戳和数据点Id确定行键,并根据行键从相应的数据表删除对应的行记录。对于历史数据,如果是删除区间数据,则计算对应段存储的时间区间,判定是否会删除一个段存储完整时间区间的数据,如果是,则根据行键直接删除历史数据表中对应行记录;否则,计算段存储行键,从历史数据表中读取相应行记录;如果读取到的行记录不为空,则置行记录值部分的相应区段为序列化为比特串的Double.NaN,紧接着,判断该行记录值部分的所有数据均为Double.NaN,如果是,删除历史数据表中对应行记录,否则,把更新过的行记录写到历史数据表中。
以上所述仅为本发明的实施例,凡以本发明说明书及附图内容所作的均等变化与修饰,皆应属本发明专利的涵盖范围。

Claims (2)

1.一种海量时序数据的存储方法,其特征在于:工艺步骤:
(1)采用HBase集群来直接管理企业的时序数据,由HBase写数据到Hadoop分布式文件系统,最终由Hadoop归档数据到磁盘;外部用户通过访问HBase来读、写、删除时序数据;
(2)企业的每个需要存储的时序数据点均具有唯一Id,通过数据点Id定位具体的数据点并获取数据点名称信息,其中,Id为大于或等于0的长整型数据,这使得数据存储系统支持万亿级的数据点管理;
(3)数据增加和数据修改均是数据写的一种特殊形式,在HBase中均通过Put操作完成,把数据增加和数据修改均统一到数据写入操作;
在数据写入时,每个数据点的一条或多条时序记录成为HBase数据表的一条行记录;行记录包括行键rowkey和值部分;HBase数据表通过行键区分行记录;行键设计为比特串,具体为:数据点Id.toBytes+时间戳.toBytes,其中数据点Id在前,时间戳在后,它们一前一后把同一数据点的数据聚在一起,方便查询某一数据点在某一时段的数据;Id为长整型,最多占用8字节,且根据数据点Id的值大小来自动选取最短长度的比特流,小于256的Id只需用1个字节;时间戳精确到毫秒,也采用长整型表示,占用8个字节,行键最多占用16字节;
(4)具体哪个数据点的时序数据写入到哪张HBase数据表中,由平衡存储机制来控制;通过平衡存储,实现在数据访问时把网络I/O和磁盘I/O分布到集群中多个机器上,提高总的网络吞吐量和磁盘吞吐量;通过为每个数据点定义一个启发知识来实现平衡存储;在读、写某一数据点的数据时,根据数据点的启发知识确定其HBase数据表;
(5)按照是否周期性的有数据,把时序数据点分为两类:周期性的,即数据点每隔指定时间就有一条时序数据;无周期的,即该数据点数据流的时间戳是没有周期性规律的;
按照周期数据点的周期大小,把周期性数据点分为小周期数据点和大周期数据点;其中,用于分类的周期阈值通过配置设定;
按照数据新旧,把小周期性数据点的具体时序数据分为两类:历史数据,指时间戳在某一时刻之前的数据;实时数据,指除历史数据以外的数据;历史数据和实时数据的分割时刻实际也是实时数据起始时刻;用户在访问周期性数据点时,访问某一时刻的实时数据,或者访问某一时段的历史数据;
实时数据起始时刻的计算公式为:
实时数据的起始时刻=当前段存储的开始时刻–段存储的时间区间大小*n,当前段存储的开始时刻=当前时刻–当前时刻%段存储的时间区间大小,段存储的时间区间大小=存储周期*存储的数据点个数;其中,n为大于0的整数;%为数学求模运算符。
2.根据权利要求1所述的方法,其特征在于:根据不同数据的存储及访问特性,设计存储机制如下:
a.实时数据的每一条时序数据记录为HBase的一条行记录,行键中的时间戳选取为时序数据的时间戳,此时,行键已经包含了数据点Id和时序数据的时间戳,行记录的值部分只需存储序列化为比特流的时序数据的值;
实时数据直接写入到HBase实时数据表中,实时数据表提供数据实时读写功能;在读取某数据点在某一时刻的实时数据时,根据数据点Id及读取数据的时刻确定HBase记录的行键,并由此直接检索到数据,最后反序列化得到数据;
b.对于历史数据数据,某一时段内的历史时序数据存储为HBase的一条行记录,行键的时间戳部分选取为时段的开始时间,通过增加一次IO的读取量,减少在读取时间区间数据时的IO次数;由于是周期数据,当把时序数据做有序存储时,行记录的值部分就只需存储时序数据的值,而时间戳经过推算得到;因此,行记录的值部分设计为比特串,比特串中存放时序数据值序列化得到的比特流,并根据时序数据的时间戳及时段的开始时间确定时序数据值的存储位置;对于数据缺失的情况,在比特串的指定位置填充序列化为比特流的Double.NaN;其中,Double.NaN表示不是数字(NaN)的值,在java、C#语言中均有支持;
在写入某一历史时序数据时,先把那一时刻所在时段的段存储记录读出来,之后进行更新,最后再把段存储记录写回到历史数据表中;随着时间前进,实时数据表中的实时数据记录会慢慢地变为历史数据,需要把实时数据表中已变为历史数据的记录迁移到采用段存储的历史数据表中;通过确保相应段存储的时间区间完全覆盖,来构造新的段存储记录并写到历史数据表,从而避免读历史数据表段记录、更新段记录、再写回段记录的复杂操作;实时数据表具有了数据缓冲的功能,通过周期性的遍历小周期数据点列表,计算、查找变为了历史数据的时序记录,并批量迁移查到的历史数据到历史数据表中。
CN201310659810.3A 2013-12-09 2013-12-09 一种海量时序数据的存储方法 Expired - Fee Related CN103605805B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310659810.3A CN103605805B (zh) 2013-12-09 2013-12-09 一种海量时序数据的存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310659810.3A CN103605805B (zh) 2013-12-09 2013-12-09 一种海量时序数据的存储方法

Publications (2)

Publication Number Publication Date
CN103605805A CN103605805A (zh) 2014-02-26
CN103605805B true CN103605805B (zh) 2016-10-26

Family

ID=50124027

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310659810.3A Expired - Fee Related CN103605805B (zh) 2013-12-09 2013-12-09 一种海量时序数据的存储方法

Country Status (1)

Country Link
CN (1) CN103605805B (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104951462B (zh) * 2014-03-27 2018-08-03 国际商业机器公司 用于管理数据库的方法和系统
CN104035956A (zh) * 2014-04-11 2014-09-10 江苏瑞中数据股份有限公司 一种基于分布式列存储的时间序列数据存储方法
CN105589884B (zh) * 2014-10-24 2020-11-03 腾讯科技(深圳)有限公司 数据处理方法及装置
CN104750837B (zh) * 2015-04-03 2019-07-16 北京工商大学 增长型时间序列数据的可视化方法和系统
CN104965908B (zh) * 2015-06-30 2018-08-03 北京奇艺世纪科技有限公司 一种位置范围确定方法及装置
CN106339209A (zh) * 2015-07-17 2017-01-18 阿里巴巴集团控股有限公司 一种数据处理方法和设备
CN105005617B (zh) * 2015-07-21 2018-10-12 领航动力信息系统有限公司 一种时间序列数据的存储方法及装置
CN105260404B (zh) 2015-09-22 2019-03-26 北京百度网讯科技有限公司 存储时间序列数据的方法和装置
CN106569731B (zh) * 2015-10-10 2020-08-04 阿里巴巴集团控股有限公司 极限存储方法、装置及设备
CN105243160A (zh) * 2015-10-28 2016-01-13 西安美林数据技术股份有限公司 基于海量数据的分布式视频处理系统
CN106649341B (zh) * 2015-10-30 2021-02-26 方正国际软件(北京)有限公司 一种数据处理方法及装置
CN106648446B (zh) * 2015-10-30 2020-07-07 阿里巴巴集团控股有限公司 一种用于时序数据的存储方法、装置及电子设备
CN105488148A (zh) * 2015-11-26 2016-04-13 上海晶赞科技发展有限公司 大数据的存储访问系统及方法
CN106933859B (zh) * 2015-12-30 2020-10-20 中国移动通信集团公司 一种医疗数据的迁移方法和装置
CN106937241B (zh) 2015-12-31 2021-05-18 华为技术有限公司 时序数据检测方法及装置
CN105893596B (zh) * 2016-04-18 2019-03-08 华信咨询设计研究院有限公司 一种无线电监测数据回放方法
CN105930426B (zh) * 2016-04-18 2019-03-08 华信咨询设计研究院有限公司 无线电监测数据查询方法
CN106407395B (zh) * 2016-09-19 2019-09-20 北京百度网讯科技有限公司 数据查询的处理方法及装置
CN106528819A (zh) * 2016-11-16 2017-03-22 北京集奥聚合科技有限公司 一种HBase读写时序性数据的方法及系统
CN106682077B (zh) * 2016-11-18 2020-06-09 山东鲁能软件技术有限公司 一种基于Hadoop技术的海量时序数据存储实现方法
CN108228679B (zh) * 2016-12-22 2022-02-18 阿里巴巴集团控股有限公司 时序数据计量方法和时序数据计量装置
CN107609194B (zh) * 2017-10-17 2020-08-07 吉林省电力科学研究院有限公司 一种面向云计算的时间冗余电力负荷数据的存储方法
CN107943831B (zh) * 2017-10-23 2022-05-13 国家电网公司西北分部 一种基于HBase的电网历史数据集中存储方法
CN108197181B (zh) * 2017-12-25 2023-04-18 广州亦云信息技术股份有限公司 一种时序数据的压缩存储方法、电子设备及存储介质
CN108182244B (zh) * 2017-12-28 2019-04-05 清华大学 一种基于多层次列式存储结构的时序数据存储方法
CN108388665B (zh) * 2018-03-14 2021-06-22 四川长虹电器股份有限公司 一种查询获取到数据中新数据插入位置的方法
CN110968587A (zh) * 2018-09-30 2020-04-07 北京国双科技有限公司 一种数据处理方法及装置
CN110109923B (zh) * 2019-04-04 2021-07-06 北京市天元网络技术股份有限公司 时序数据的存储方法、分析方法及装置
CN110795427B (zh) * 2019-09-27 2022-10-11 苏宁云计算有限公司 数据分离存储方法、装置、计算机设备和存储介质
CN111046081B (zh) * 2019-12-06 2023-09-12 和利时卡优倍科技有限公司 一种工业时序数据的访问方法及系统
CN111400265B (zh) * 2020-03-04 2023-04-07 浙江永贵电器股份有限公司 一种基于大冗余量时序数据的存储方法
CN111813782A (zh) * 2020-07-14 2020-10-23 杭州海康威视数字技术股份有限公司 一种时序数据的存储方法、装置
CN111881138A (zh) * 2020-07-29 2020-11-03 北京微步在线科技有限公司 一种数据存储方法及装置
CN112433679B (zh) * 2020-12-01 2023-06-16 广州城市职业学院 一种数据存储方法、装置、电子设备及存储介质
CN112487315A (zh) * 2020-12-17 2021-03-12 中国农业银行股份有限公司 一种数据处理方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663097A (zh) * 2012-04-10 2012-09-12 农业部信息中心 一种基于Hadoop+Hbase的农业时序数据组织方法
CN102685221A (zh) * 2012-04-29 2012-09-19 华北电力大学(保定) 一种状态监测数据的分布式存储与并行挖掘方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10162851B2 (en) * 2010-04-19 2018-12-25 Salesforce.Com, Inc. Methods and systems for performing cross store joins in a multi-tenant store
WO2011142026A1 (ja) * 2010-05-14 2011-11-17 株式会社日立製作所 時系列データ管理装置、システム、方法、およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663097A (zh) * 2012-04-10 2012-09-12 农业部信息中心 一种基于Hadoop+Hbase的农业时序数据组织方法
CN102685221A (zh) * 2012-04-29 2012-09-19 华北电力大学(保定) 一种状态监测数据的分布式存储与并行挖掘方法

Also Published As

Publication number Publication date
CN103605805A (zh) 2014-02-26

Similar Documents

Publication Publication Date Title
CN103605805B (zh) 一种海量时序数据的存储方法
CN104866497B (zh) 分布式文件系统列式存储的元数据更新方法、装置、主机
CN102890722B (zh) 应用于时序历史数据库的索引方法
CN107423422B (zh) 基于网格的空间数据分布式存储及检索方法和系统
CN104572670B (zh) 一种小文件的存储、查询及删除方法和系统
CN103366015B (zh) 一种基于Hadoop的OLAP数据存储与查询方法
CN103154935B (zh) 用于查询数据流的系统和方法
CN103140840B (zh) 数据管理的方法及装置
CN102999519B (zh) 一种数据库的读写方法及系统
KR20200053512A (ko) Kvs 트리 데이터베이스
CN102306168B (zh) 日志操作方法、装置及文件系统
US20120197900A1 (en) Systems and methods for search time tree indexes
CN102982103A (zh) 一种olap海量多维数据维存储方法
CN104090987A (zh) 一种历史数据存储及索引方法
JP6598996B2 (ja) データ準備のためのシグニチャベースのキャッシュ最適化
CN104933133A (zh) 分布式文件系统中的元数据快照存储和访问方法
CN101777016A (zh) 一种连续数据保护系统的快照存储和数据恢复方法
CN103714163B (zh) 一种NoSQL数据库的模式管理方法及系统
JP2012098934A (ja) 文書管理システム、文書管理システムの制御方法、プログラム
CN103870588B (zh) 一种在数据库中使用的方法及装置
WO2015024474A1 (zh) 基于缓存数据多线程处理的电力可靠性指标快速计算方法
CN103914483B (zh) 文件存储方法、装置及文件读取方法、装置
CN104424219B (zh) 一种数据文件的管理方法及装置
CN105912675B (zh) 一种针对小文件合并的批量删除/查询方法与装置
CN104281717B (zh) 一种建立海量id映射关系的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161026

Termination date: 20201209

CF01 Termination of patent right due to non-payment of annual fee