System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 时序数据的通用检索方法、系统、设备及存储介质技术方案_技高网

时序数据的通用检索方法、系统、设备及存储介质技术方案

技术编号:40435477 阅读:8 留言:0更新日期:2024-02-22 23:00
本发明专利技术提供一种时序数据的通用检索方法、系统、设备及存储介质,该方法包括:根据每个时间点的时序数据表分别构建通用索引;将通用索引进行分块压缩得到压缩后的通用索引,先将压缩后的通用索引存储至磁盘中,再将时序数据表中的时序数据存储至磁盘中;从磁盘中读取通用索引,根据通用索引过滤并检索时序数据。本发明专利技术根据通用索引中位置信息快速精确的检索时序数据,通用索引构造简单,适用于所有时序数据表,同时避免读写磁盘IO的浪费,消耗的CPU和内存资源较少,进而提高时序数据的有效利用率。

【技术实现步骤摘要】

本专利技术涉及数据处理,具体涉及一种时序数据的通用检索方法、系统、设备及存储介质


技术介绍

1、随着物联网和5g时代的到来,物联网、应用监测、工业互联网等时序场景的数据呈爆发式增长,因此需要实时处理大规模的时序数据。时序数据是一种按时间维度索引的数据,由于时序数据能够有效反映数据指标在时间维度的变化规律,因此时序数据被广泛应用于包括用户行为分析、用户标签计算和网络统计工程等大数据分析场景中。在这些大数据分析场景中,通常会生成很多数据表,在对数据表查询的过程中需要进行全量的数据查询和数据检索,数据查询是查询某一时间点或时间段统计表的所有数据,数据检索则是检索某一时间点或时间段统计表中满足一定条件的数据。

2、目前时序数据常用的检索方案通常为先遍历时间找到需要检索的时间,然后从磁盘读出对应时间的数据根据检索条件过滤得到需要的数据,该方案要从磁盘读取数据的规模太大时,会严重浪费io资源,同时读取的数据中很多不是我们需要检索的数据,导致数据的有效利用率低。有的方案提出采用时间投影索引过滤掉无效的时间点,进而提升检索性能,但是该方案只能从时间级别过滤,不能准确定位到数据的位置,同样会导致io资源的浪费和数据有效利用率低。还有的方案提出构建快速索引,通过读取索引获取数据的准确位置,但是该方案构建快速索引的代价太大,需要数据表大量的磁盘空间来存储索引,同时构造索引时会消耗大量的cpu和内存资源,并不适合所有数据表。因此,目前亟需一种可以有效提高检索效率、同时适用范围广的时序数据查询检索方案。


技术实现思路

1、鉴于现有技术的上述不足,本专利技术提供一种时序数据的通用检索方法、系统、设备及存储介质,有效解决现有技术中时序数据检索方法检索效率低、数据的有效利用率低和适用范围较小的问题。

2、第一方面,本专利技术提供一种时序数据的通用检索方法,所述方法包括如下步骤:

3、根据每个时间点的时序数据表分别构建通用索引;

4、将所述通用索引进行分块压缩得到压缩后的通用索引,先将所述压缩后的通用索引存储至磁盘中,再将所述时序数据表中的时序数据存储至所述磁盘中;

5、从所述磁盘中读取所述通用索引,根据所述通用索引过滤并检索所述时序数据。

6、进一步的,所述根据每个时间点的时序数据表分别构建通用索引具体包括:

7、根据所述时序数据表配置的键值字段的长度申请缓存;

8、拷贝所述时序数据表的键值数据到所述缓存的起始地址;

9、对所述时序数据表每行的键值进行排序,并将排序后的顺序值记录在申请缓存的键值数据的后面;

10、将所述时序数据表每行产生的所述键值数据和所述顺序值组合构成所述通用索引。

11、进一步的,采用以下公式计算所述缓存的大小:

12、

13、上式中, t为所述缓存的大小, n为所述键值字段的总数, hi为第 i个键值字段的大小, z为所述顺序值的字节大小。

14、进一步的,将所述通用索引进行分块压缩得到压缩后的通用索引具体包括:

15、将所述通用索引按照第一设定值进行分割获得相同大小的数据块;

16、将所述数据块进行压缩形成压缩数据块,将所述压缩数据块按照压缩前所述数据块的顺序重新组合得到压缩后的通用索引用于存储至磁盘中。

17、进一步的,所述第一设定值根据所述压缩数据块的大小设定,所述压缩数据块的大小根据所述磁盘的参数设置。

18、进一步的,从所述磁盘中读取所述通用索引,根据所述通用索引过滤并检索时序数据具体包括:

19、从磁盘中读取要检索时间范围内的通用索引,根据所述通用索引进行过滤;

20、若过滤到没有时序数据,则结束检索,返回结果显示没有时序数据;

21、若过滤到存在时序数据,则根据所述通用索引中的位置去读取所述时序数据,并返回读取到的所述时序数据作为检索结果。

22、进一步的,根据所述通用索引进行过滤具体包括:

23、若所述通用索引具有顺序值,构造一个具有通用索引行数大小的数组,扫描所述通用索引中的顺序值,根据所述顺序值寻找所述数组中所述顺序值对应的位置并填入通用索引行号,获得所述通用索引的有序数组,采用二分查找法在所述有序数组中查找过滤值;

24、若所述通用索引没有顺序值,则遍历所述通用索引并匹配过滤值,直至遍历完全部所述通用索引。

25、第二方面,本专利技术提供一种时序数据的通用检索系统,所述系统包括:

26、索引构建模块,用于根据同一时间的时序数据表构建通用索引;

27、数据存储模块,用于将所述通用索引进行分块压缩得到压缩后的通用索引,先将所述压缩后的通用索引存储至磁盘中,再将所述时序数据表中的时序数据存储至所述磁盘中;

28、数据检索模块,用于从所述磁盘中读取所述通用索引,根据所述通用索引过滤并检索所述时序数据。

29、第三方面,本专利技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序实现如本专利技术第一方面所述时序数据的通用检索方法的步骤。

30、第四方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如本专利技术第一方面所述时序数据的通用检索方法的步骤。

31、本专利技术提供的时序数据的通用检索方法、系统、设备及存储介质,在时序数据存储之前构造通用索引先进行存储,该通用索引按时间点进行聚合并包含键值数据和记录行位置信息,可以精确定位到磁盘上对应的时序数据表记录的位置,同时可以提前过滤掉这个时间点不存在的键值信息。通用索引构造简单,适用于所有时序数据表,将通用索引分块压缩后写入磁盘并存储,根据通用索引中位置信息快速精确的检索时序数据,避免读写磁盘io的浪费,消耗的cpu和内存资源较少,进而提高时序数据的有效利用率。

本文档来自技高网...

【技术保护点】

1.一种时序数据的通用检索方法,其特征在于,所述方法包括如下步骤:

2.根据权利要求1所述的时序数据的通用检索方法,其特征在于,所述根据每个时间点的时序数据表分别构建通用索引具体包括:

3.根据权利要求2所述的时序数据的通用检索方法,其特征在于,采用以下公式计算所述缓存的大小:

4.根据权利要求1所述的时序数据的通用检索方法,其特征在于,将所述通用索引进行分块压缩得到压缩后的通用索引具体包括:

5.根据权利要求4所述的时序数据的通用检索方法,其特征在于,所述第一设定值根据所述压缩数据块的大小设定,所述压缩数据块的大小根据所述磁盘的参数设置。

6.根据权利要求1所述的时序数据的通用检索方法,其特征在于,从所述磁盘中读取所述通用索引,根据所述通用索引过滤并检索时序数据具体包括:

7.根据权利要求1所述的时序数据的通用检索方法,其特征在于,根据所述通用索引进行过滤具体包括:

8.一种时序数据的通用检索系统,其特征在于,所述系统包括:

9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序实现如权利要求1至7任一项所述时序数据的通用检索方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述时序数据的通用检索方法的步骤。

...

【技术特征摘要】

1.一种时序数据的通用检索方法,其特征在于,所述方法包括如下步骤:

2.根据权利要求1所述的时序数据的通用检索方法,其特征在于,所述根据每个时间点的时序数据表分别构建通用索引具体包括:

3.根据权利要求2所述的时序数据的通用检索方法,其特征在于,采用以下公式计算所述缓存的大小:

4.根据权利要求1所述的时序数据的通用检索方法,其特征在于,将所述通用索引进行分块压缩得到压缩后的通用索引具体包括:

5.根据权利要求4所述的时序数据的通用检索方法,其特征在于,所述第一设定值根据所述压缩数据块的大小设定,所述压缩数据块的大小根据所述磁盘的参数设置。

6.根据权利要求1所述的时序数据的通...

【专利技术属性】
技术研发人员:游浣权王勇
申请(专利权)人:科来网络技术股份有限公司
类型:发明
国别省市:

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

1