一种时序数据聚合检索方法、设备及介质技术

技术编号:21686125 阅读:38 留言:0更新日期:2019-07-24 14:40
本发明专利技术公开了一种时序数据聚合检索方法、设备及介质,包括用于存储时序数据的数据库,首先对时序数据库进行优化,对于数据的存储增加统计级别的概念,对时序数据进行分级分片存储,为时序数据聚合检索的优化提供数据结构支持;对时序数据进行统计查询时,根据不同统计查询请求,应用不同查询算法,结合分级分片的数据存储结构对时序数据进行统计查询。本发明专利技术在数据写入数据库时,只需按照确定的分级分片规则对数据进行分级分片统计,目的为记录数据特征,写入过程不考虑将来查询检索时的条件;统计查询时,根据检索条件,使用原始数据与各级统计数据,优化组合后计算出统计结果,而不依赖海量原始数据,减少数据访问量,提高检索效率。

A Method, Equipment and Media for Aggregated Retrieval of Sequential Data

【技术实现步骤摘要】
一种时序数据聚合检索方法、设备及介质
本专利技术涉及数据检索
,具体涉及一种时序数据聚合检索方法、设备及介质,并包括一种用于存储时序数据的数据库。
技术介绍
工业生产中,自动化检测、控制系统会产生大量时间相关的数据。随着工业互联网的发展,云端集中化存储、分析数据的需求日益增加,传统关系型数据库难以压缩存储海量的时序化数值数据,更难以提供高效的检索统计算法。时序数据库是针对此类场景专门优化的数据存储系统,当前较为知名的产品有InfluxDB、OpenTSDB等。现有技术中,时序数据的存储、查询操作均极度依赖时间戳,存储体系设计主要针对时间戳进行优化,为了减少最终记录的数量,各产品方案都将同一数据点(tag)在一段时间的原始数据,序列化为1条数据进行存储,例如秒级数据记录时,可将时间戳(timestamp)/3600得到的整数部分与tag合并作为主键标识,余数作为该行数据的属性列名,在该列下记录原始数据,使得1小时的原始数据最终仅形成一条数据记录,大大减少了数据条目。现有时序数据库算法中,数据统计时,均采用预聚合机制,即每小时、每天(或其他单位周期)过后,将数据统计情况形成以小时、全天为单位的统计记录,遇到检索请求时,不用再深入到原始记录项,直接检索已经按周期统计好的数据即可。该方案对于数据连续、按时写入的场景,能够满足需求,但对于工业现场,特别是通过4G网络连接的不稳定工业现场来说,数据并不能保证及时回传,可能会在现场采集设备缓存数小时,甚至数天后,才回传到服务器端,若此时服务器端已将之前的数据做过预统计,则还需更多机制来更新回传的数据。对于检索条件非预知的情况,比如查询昨天凌晨4点15分到今天下午4点15分某数据的平均值,预聚合的统计结果就难以发挥作用,此时仍然需要取出该时间段内的原始数据,再进行统计运算,即进行后聚合处理。根据应用及实践发现,预聚合计算触发机制不够灵活,同时难以适应检索条件的变化,后聚合计算涉及大量数据时,效率低下。
技术实现思路
针对上述问题,本专利技术提供一种时序数据聚合检索方法、设备及介质,首先对时序数据库进行优化,对于数据的存储增加统计级别的概念,对时序数据进行分级分片存储,为时序数据聚合检索的优化提供数据结构支持;对时序数据进行统计查询时,根据不同统计查询请求,应用不同查询算法,结合分级分片的数据存储结构对时序数据进行统计查询,有效弥补现有技术中预聚合与后聚合查询计算的缺陷。本专利技术具体为:一种用于存储时序数据的数据库,包括:数据存储模块,用于采用分级分片的方式存储时序数据;所述时序数据包括原始数据和预聚合后的统计数据;数据更新模块,用于对所述时序数据进行增量式更新;在工业场景中,很多数据在很长时间范围内是保持不变的,因此无论是原始数据还是统计数据,均为数据有变化时才更新,以达到压缩数据量的目的;前置的数据采集装置亦可采取增量式数据传输机制,以节省数据传输量;数据查询模块,用于提供查询所述时序数据的查询接口。进一步地,所述数据存储模块具体用于:对所述时序数据进行分级,级别依次递增,其中最底级为时间戳分片,用于存储原始数据,其他级别为统计级分片,用于存储预聚合后的统计数据。相对于其他时序数据库仅对时间戳进行分片存储,本专利技术增加统计级别的概念,优化数据存储结构,为时序数据聚合检索的优化提供数据结构支持。进一步地,各级统计级分片中存储的统计数据的生成方式为:将所述时间戳分片中存储的原始数据进行预聚合,生成的统计数据存储在最底级统计级分片中;将最底级统计级分片中存储的统计数据进行预聚合,生成的统计数据存储在紧上一级统计级分片中;依此类推,直至得到最高一级统计级分片中存储的统计数据;即将原始级分片的原始数据预聚合,或单一统计级分片的统计数据预聚合,计算出高一级别统计数据。为使本专利技术涉及的统计查询算法对底层数据存储具有良好的普适性,本专利技术所有持久化存储均使用键值对系统来完成,键(key)为不超过20B的二进制流,值为不超过2MB的二进制流;根据该特点,本专利技术所述数据库可支持的类型非常广泛,可使用磁盘文件系统、关键型数据库、非关键型数据库、云服务商对象存储等;优选地,推荐使用专用的键值对数据库,如LevelDB、RocksDB等,以达到最好的性能。一种时序数据聚合检索方法,适用于上述用于存储时序数据的数据库,包括:接收时序数据统计查询请求;根据所述统计查询请求,通过所述数据查询模块在所述数据库中统计查询时序数据;返回统计查询结果。进一步地,当所述时序数据统计查询请求为请求统计查询原始数据时,采用原始值查询算法,具体包括:接收时序数据统计查询请求;根据所述统计查询请求,通过所述数据查询模块,在所述最高一级统计级分片中获取相应元素列表,根据相应元素列表在紧下一级统计级分片中获取对应的元素列表;以此类推,直至在所述时间戳分片中获取相应的统计查询数据,并返回所述统计查询数据。受限于架构设计,所述数据库的底层存储仅支持键值对访问,没有索引,亦不支持范围检索,查询一定范围内的原始数据不能依靠存储层面支持,需利用分级存储结构达到类似于索引的作用,使得可仅依赖键值对体系完成一定范围的原始数据统计查询。进一步地,当所述时序数据统计查询请求为请求统计查询某一时间段内的时序数据时,采用时间段整体统计算法,具体包括:接收时序数据统计查询请求;根据所述统计查询请求,通过所述数据查询模块,将所述时间段的时间范围划分为与所述分级对齐的时间片段,依次统计查询各时间片段内的时序数据,最后将各时间片段内统计查询到的时序数据进行合并统计,并返回合并统计数据;时间段整体统计算法是对任意时间跨度,完成整体的统计计算,得到整体的统计信息,该过程尽可能减少所需访问的分片数量。进一步地,将所述时间段的时间范围划分为与所述分级对齐的时间片段,具体包括:将所述时间段的时间范围划分为首尾相接的时间片段,将所述时间片段从时间戳分片开始依次与紧上一级统计级分片进行对齐;该过程尽可能将时间片段对齐到高级别的统计级分片。进一步地,当所述时序数据统计查询请求为请求统计查询某一时间段内单位周期的时序数据时,例如7月每一天的统计值、昨天每小时的统计值等,采用时间段单位周期统计算法,具体包括:接收时序数据统计查询请求;根据所述统计查询请求,通过所述数据查询模块,计算所述时间段内各单位周期的起止时间戳,将所述各起止时间戳的时间范围分别划分为与所述分级对齐的时间片段,对各起止时间戳的各时间片段内的时序数据分别进行统计查询,并对各起止时间戳对应的统计查询数据分别进行合并统计,得到并返回所述时间段内各单位周期的时序数据统计查询结果;该过程将查询范围内所有周期的起止时间戳计算出来,生成时间段数组,然后复用上述时间段整体统计算法,获取查询范围时间段内每个单位周期的统计数据。连续的时间段查询时,涉及到的底层分级很可能有重复,此时底层的键值对系统会依靠内存缓存,以减少磁盘读写次数,提高统计查询效率;同时,可灵活应对查询需求,比如某检索中每天的划分为北京时间早6点到第二天早6点,又比如英国从夏令时转冬令时的当天,只有23个小时,冬转夏时当天有25个小时,均可在本方法中优化时间段生成算法,来完成查询需求,充分实现后统计的灵活性。一种电子设备,包括:壳体、处理器、存储器、本文档来自技高网
...

【技术保护点】
1.一种用于存储时序数据的数据库,其特征在于,包括:数据存储模块,用于采用分级分片的方式存储时序数据;所述时序数据包括原始数据和预聚合后的统计数据;数据更新模块,用于对所述时序数据进行增量式更新;数据查询模块,用于提供查询所述时序数据的查询接口。

【技术特征摘要】
1.一种用于存储时序数据的数据库,其特征在于,包括:数据存储模块,用于采用分级分片的方式存储时序数据;所述时序数据包括原始数据和预聚合后的统计数据;数据更新模块,用于对所述时序数据进行增量式更新;数据查询模块,用于提供查询所述时序数据的查询接口。2.如权利要求1所述的数据库,其特征在于,所述数据存储模块具体用于:对所述时序数据进行分级,级别依次递增,其中最底级为时间戳分片,用于存储原始数据,其他级别为统计级分片,用于存储预聚合后的统计数据。3.如权利要求2所述的数据库,其特征在于,各级统计级分片中存储的统计数据的生成方式为:将所述时间戳分片中存储的原始数据进行预聚合,生成的统计数据存储在最底级统计级分片中;将最底级统计级分片中存储的统计数据进行预聚合,生成的统计数据存储在紧上一级统计级分片中;依此类推,直至得到最高一级统计级分片中存储的统计数据。4.一种时序数据聚合检索方法,适用于如权利要求1-3项任一所述的用于存储时序数据的数据库,其特征在于,包括:接收时序数据统计查询请求;根据所述统计查询请求,通过所述数据查询模块在所述数据库中统计查询时序数据;返回统计查询结果。5.如权利要求4所述的方法,其特征在于,当所述时序数据统计查询请求为请求统计查询原始数据时,所述方法具体包括:接收时序数据统计查询请求;根据所述统计查询请求,通过所述数据查询模块,在所述最高一级统计级分片中获取相应元素列表,根据相应元素列表在紧下一级统计级分片中获取对应的元素列表;以此类推,直至在所述时间戳分片中获取相应的统计查询数据,并返回所述统计查询数据。6.如权利要求4所述的方法,其特征在于,当所述时序数据统计查询请求为请求统计查询某一时间段内的时序数据时,所述方法...

【专利技术属性】
技术研发人员:梁猛李守东涂龙
申请(专利权)人:北京易沃特科技有限公司
类型:发明
国别省市:北京,11

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

1