一种时间序列数据的存储方法及装置制造方法及图纸

技术编号:12260797 阅读:114 留言:0更新日期:2015-10-28 23:52
本发明专利技术公开了一种时间序列数据的存储方法及装置。其中,该方法包括:将待存储数据存储到Hbase数据库中;对Hbase数据库中的数据量进行统计,获得统计结果;在第N个合并统计周期内对Hbase数据库中的数据进行合并,获得合并后的文件;根据统计结果得到第N+1个合并统计周期内的数据存储量s;判断数据存储量s是否超过第N+1个合并统计周期的预设数据存储量;若否,对合并后的文件进行分割。本发明专利技术解决了现有技术中无法满足数据的存储容量要求和无法保证数据存储稳定性的技术问题。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种时间序列数据的存储方法及装置
技术介绍
在工业信息化进程中,实时历史数据库一直都是工业领域重点研究的方向,所涉及的行业包括石油、电力、冶金、化工等。实时历史数据库在数据监控、管理和存储等方向均具有核心的地位,其以测点作为基本单元来描述生产数据,一个测点代表着一个实际的数据源,例如某一条输电线上的电压、某一个检测点的温度等。为了满足工业应用中日益增长的事务需求,各个领域都对实时历史数据库开展了大量的系统研究。随着物联网的飞速发展,各种智能设备被广泛地应用于工业领域,越来越多的数据被采集到实时历史数据库中。由于生产控制过程是24小时不间断运行的,因此随着时间的推移,历史数据的总量不断累积,产生的历史数据总量可以达到TB甚至PB级别。当前的实时历史数据库被部署在性能良好的服务器上,但是海量的历史数据仍然会给目前主流的服务器硬件带来压力,甚至很难通过硬件扩展的方式解决问题。工业数据具有典型的时间序列数据的特征,由智能设备上传的数据通常是带有时间标签的数据流,时间标签是历史数据查询的重要筛选条件。当前的实时历史数据库均采用了特殊的存储方式,以提高对相关时间序列数据的处理能力,但是其存储的可扩展性仍然存在瓶颈。Hbase (Hadoop Database,分布式存储系统)底层的分布式文件系统作为一种低成本的分布式存储解决方案,近年来得到了广泛的应用。但是,Hbase在面对大量数据写入时会有一定的延时,海量数据进入Hbase会不停地触发Hbase内的大文件分割操作,而文件的分割通常发生在文件合并操作之后,此时集群内的I/O负载是极其高的。同时,文件分割会造成服务器的暂时下线,数据归档请求会被阻塞,系统响应时间会极其不稳定,数据的归档速度无法得到保障。综上所述,面对工业领域的海量数据,目前没有一种既可以满足当前数据的存储容量要求,又可以保证数据存储稳定性的方法。
技术实现思路
本申请提供一种时间序列数据的存储方法及装置,解决了现有技术中无法满足数据的存储容量要求和无法保证数据存储稳定性的技术问题。本专利技术实施例提供了一种时间序列数据的存储方法,包括:将待存储数据存储到Hbase数据库中;对所述Hbase数据库中的数据量进行统计,获得统计结果;在第N个合并统计周期内对所述Hbase数据库中的数据进行合并,获得合并后的文件;根据所述统计结果得到第N+1个合并统计周期内的数据存储量s ;判断所述数据存储量s是否超过第N+1个合并统计周期的预设数据存储量;若否,则对所述合并后的文件进行分割。进一步地,所述将待存储数据存储到Hbase数据库中,具体包括:将所述待存储数据存入缓存区中;判断所述缓存区中的数据容量是否达到预设数据容量阈值;和/ 或,判断所述缓存区的存储周期是否达到预设存储周期阈值;若所述缓存区中的数据容量达到所述预设数据容量阈值和/或所述缓存区的存储周期达到所述预设存储周期阈值,将所述待存储数据存储到所述Hbase数据库中。进一步地,所述将所述待存储数据存储到所述Hbase数据库中,具体包括:将所述待存储数据的标识和存储时间戳作为所述Hbase数据库的行键;将所述待存储数据的内容作为所述Hbase数据库的归档数据;将所述行键和所述归档数据作为所述Hbase数据库的数据项存储到所述Hbase数据库中。进一步地,所述对所述Hbase数据库中的数据量进行统计,具体包括:判断所述待存储数据的存储时刻T。是否早于预设的最早统计时刻;若是,将所述待存储数据丢弃;判断所述待存储数据的存储时刻T。是否介于所述预设的最早统计时刻和预设的最晚统计时刻之间;若是,将原所述Hbase数据库中的数据量加上所述待存储数据,完成统计;判断所述待存储数据的存储时刻TO是否晚于所述预设的最晚统计时刻;若是,将所述待存储数据的存储时刻TO作为新的最晚统计时刻,并将原所述Hbase数据库中的数据量加上所述待存储数据,完成统计。进一步地,所述对所述Hbase数据库中的数据进行合并,具体包括:判断所述Hbase数据库在所述第N个合并统计周期内的数据写入量是否达到预设数据写入量阈值;若是,将所述Hbase数据库中的数据项按行列键升序写入一个独立的文件;判断所述Hbase数据库中对应服务器下文件的个数是否超过预设文件合并阈值;若是,合并所述对应服务器中的文件。本专利技术实施例还提供了一种时间序列数据的存储装置,包括:数据存储模块,用于将待存储数据存储到Hbase数据库中;数据统计模块,用于对所述Hbase数据库中的数据量进行统计,获得统计结果;数据合并模块,用于在第N个合并统计周期内对所述Hbase数据库中的数据进行合并,获得合并后的文件;数据处理模块,用于所述根据统计结果得到第N+1个合并统计周期内的数据存储量s ;判断模块,用于判断所述数据存储量s是否超过第N+1个合并统计周期的预设数据的存储量;分割模块,用于若所述判断模块的判断结果为否,对所述合并后的文件进行分割。进一步地,所述数据存储模块,具体包括:数据存储执行单元,用于将所述待存储数据存入缓存区中;第一判断单元,用于判断所述缓存区中的数据容量是否达到预设数据容量阈值;第一数据存储子单元,用于若所述第一判断单元的判断结果为是,将所述待存储数据存储到所述Hbase数据库中;第二判断单元,用于判断所述缓存区的存储周期是否达到预设存储周期阈值;第二数据存储子单元,用于若所述第二判断单元的判断结果为是,将所述待存储数据存储到所述Hbase数据库中。进一步地,所述第一数据存储子单元,具体用于若所述第一判断单元的判断结果为是,将所述待存储数据的标识和存储时间戳作为所述Hbase数据库的行键,将所述待存储数据的内容作为所述Hbase数据库的归档数据;将所述行键和所述归档数据作为所述Hbase数据库的数据项存储到所述Hbase数据库中;所述第二数据存储子单元,具体用于若所述第二判断单元的判断结果为是,将所述待存储数据的标识和存储时间戳作为所述Hbase数据库的行键,将所述待存储数据的内容作为所述Hbase数据库的归档数据;将所述行键和所述归档数据作为所述Hbase数据库的数据项存储到所述Hbase数据库中。进一步地,所述数据统计模块,具体包括:第三判断单元,用于判断所述待存储数据的存储时刻T。是否早于预设的最早统计时刻;数据丢弃单元,用于若所述第三判断单元的判断结果为是,将所述待存储数据丢弃;第四判断单元,用于判断所述待存储数据的存储时刻T。是否介于所述预设的最早统计时刻和预设的最晚统计时刻之间;第一统计对象,用于若所述第四判断单元的判断结果为是,将原所述Hbase数据库中的数据量加上所述待存储数据,完成统计,获得所述统计结果;第五判断单元,用于判断所述待存储数据的存储时刻T。是否晚于所述预设的最晚统计时刻;第二统计对象,用于若所述第五判断单元的判断结果为是,将所述待存储数据的存储时刻T。作为新的最晚统计时刻,并将原所述Hbase数据库中的数据量加上所述待存储数据,完成统计,获得所述统计结果。进一步地,所述数据合并模块,具体包括:第六判断单元,用于判断所述Hbase数据库在所述第N个合并统计周期内的数据写入量是否达到预设数据写入量阈值;文件生成单元,用于若所述本文档来自技高网
...
一种时间序列数据的存储方法及装置

【技术保护点】
一种时间序列数据的存储方法,其特征在于,包括:将待存储数据存储到Hbase数据库中;对所述Hbase数据库中的数据量进行统计,获得统计结果;在第N个合并统计周期内对所述Hbase数据库中的数据进行合并,获得合并后的文件;根据所述统计结果得到第N+1个合并统计周期内的数据存储量s;判断所述数据存储量s是否超过第N+1个合并统计周期的预设数据存储量;若否,则对所述合并后的文件进行分割。

【技术特征摘要】

【专利技术属性】
技术研发人员:李江颖吴培荣程衍明陈刚杨超
申请(专利权)人:领航动力信息系统有限公司
类型:发明
国别省市:湖北;42

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

1