一种时序数据库的内存表匹配过滤方法及装置与流程

文档序号:37144752发布日期:2024-02-26 16:57阅读:12来源:国知局
一种时序数据库的内存表匹配过滤方法及装置与流程

本发明公开一种方法及装置,涉及时序数据库,具体地说是一种时序数据库的内存表匹配过滤方法及装置。


背景技术:

1、时间序列数据主要由电力行业、化工行业、气象行业、地理信息等各类型实时监测、检查与分析设备所采集、产生的数据,这些工业数据的典型特点是:产生频率快,即每一个监测点一秒钟内可产生多条数据,严重依赖于采集时间,即每一条数据均要求对应唯一的时间,测点多信息量大。

2、目前时序数据库需要提供批量写入时序数据的能力,写入时序数据时需要访问时序对象的元数据,面对大数据量的时序对象的元数据,在写入时解析时序对象的元数据会耗费大量时间,导致写入请求响应时间较长,无法满足时序数据库快速批量写入时序数据的需求。


技术实现思路

1、本发明针对现有技术的问题,提供一种时序数据库的内存表匹配过滤方法及装置,减少写入请求响应时间,满足时序数据库快速批量写入时序数据的需求。

2、本发明提出的具体方案是:

3、本发明提供一种时序数据库的内存表匹配过滤方法,包括:

4、初始化内存表:获取时序数据库内至少一父表的所有子表信息,将所述父表的所有子表的信息存储在缓存中内存表里,

5、并发构建哈希表:从缓存中获取所述父表的内存表,根据内存表得到所有子表信息,根据所有子表信息构建哈希表,每个子表的属性值组合的哈希值作为哈希表的key,属性值组合及子表id作为哈希表的value,

6、进行匹配过滤:当时序数据库向所述父表写入时序数据,根据指定的属性值组合计算哈希值,

7、使用哈希值在构建的哈希表中查找value,若未找到value,则没有子表的属性组合满足写入时指定的属性值组合,不写入时序数据,

8、若找到value,则查看value中对应的子表的属性值组合是否有满足写入时指定的属性值组合,若不满足,则不写入时序数据;若value中存在两个以上子表的属性值组合满足写入时指定的属性值组合,则不写入时序数据;若value中只存在一个子表的属性值组合满足写入时指定的属性值组合,则完成匹配,将时序数据写入子表。

9、进一步,所述的一种时序数据库的内存表匹配过滤方法中所述初始化内存表,包括:获取所述父表的所有子表信息,所述子表信息包括子表id和子表属性值,将所有子表信息按二维数组的数据结构存储在缓存中内存表里。

10、进一步,所述的一种时序数据库的内存表匹配过滤方法中所述并发构建哈希表,包括:根据内存表得到所有子表信息,获得每个子表信息中属性值,将每个子表的属性值分别进行组合,使用fnv32哈希函数计算每个子表属性值组合的哈希值,构建哈希表,每个子表的属性值组合的哈希值作为哈希表的key,属性值组合及子表id作为哈希表的value。

11、进一步,所述的一种时序数据库的内存表匹配过滤方法中所述并发构建哈希表,包括:先将所有子表按照数据库的系统核心数的两倍进行分组,在每个分组同时计算组内每个子表的属性值组合的哈希值,构建哈希表。

12、本发明还提供一种时序数据库的内存表匹配过滤装置,包括初始化模块、哈希表构建模块和匹配过滤模块,

13、初始化模块初始化内存表:获取时序数据库内至少一父表的所有子表信息,将所述父表的所有子表的信息存储在缓存中内存表里,

14、哈希表构建模块并发构建哈希表:从缓存中获取所述父表的内存表,根据内存表得到所有子表信息,根据所有子表信息构建哈希表,每个子表的属性值组合的哈希值作为哈希表的key,属性值组合及子表id作为哈希表的value,

15、匹配过滤模块进行匹配过滤:当时序数据库向所述父表写入时序数据,根据指定的属性值组合计算哈希值,

16、使用哈希值在构建的哈希表中查找value,若未找到value,则没有子表的属性组合满足写入时指定的属性值组合,不写入时序数据,

17、若找到value,则查看value中对应的子表的属性值组合是否有满足写入时指定的属性值组合,若不满足,则不写入时序数据;若value中存在两个以上子表的属性值组合满足写入时指定的属性值组合,则不写入时序数据;若value中只存在一个子表的属性值组合满足写入时指定的属性值组合,则完成匹配,将时序数据写入子表。

18、进一步,所述的一种时序数据库的内存表匹配过滤装置中所述初始化模块初始化内存表,包括:获取所述父表的所有子表信息,所述子表信息包括子表id和子表属性值,将所有子表信息按二维数组的数据结构存储在缓存中内存表里。

19、进一步,所述的一种时序数据库的内存表匹配过滤装置中所述哈希表构建模块并发构建哈希表,包括:根据内存表得到所有子表信息,获得每个子表信息中属性值,将每个子表的属性值分别进行组合,使用fnv32哈希函数计算每个子表属性值组合的哈希值,构建哈希表,每个子表的属性值组合的哈希值作为哈希表的key,属性值组合及子表id作为哈希表的value。

20、进一步,所述的一种时序数据库的内存表匹配过滤装置中所述哈希表构建模块并发构建哈希表,包括:先将所有子表按照数据库的系统核心数的两倍进行分组,在每个分组同时计算组内每个子表的属性值组合的哈希值,构建哈希表。

21、本发明的有益之处是:

22、本发明提供一种时序数据库的内存表匹配过滤方法,用于时序数据库中响应写入请求时匹配过滤目标子表,通过将父表的所有子表信息存储在缓存中,能够大大减少解析时序对象元数据的时间,从而提升时序数据的写入性能。通过并发构建哈希表及使用哈希计算实现快速匹配和定位实例子表,提高了匹配效率。



技术特征:

1.一种时序数据库的内存表匹配过滤方法,其特征是包括:

2.根据权利要求1所述的一种时序数据库的内存表匹配过滤方法,其特征是所述初始化内存表,包括:获取所述父表的所有子表信息,所述子表信息包括子表id和子表属性值,将所有子表信息按二维数组的数据结构存储在缓存中内存表里。

3.根据权利要求1所述的一种时序数据库的内存表匹配过滤方法,其特征是所述并发构建哈希表,包括:根据内存表得到所有子表信息,获得每个子表信息中属性值,将每个子表的属性值分别进行组合,使用fnv32哈希函数计算每个子表属性值组合的哈希值,构建哈希表,每个子表的属性值组合的哈希值作为哈希表的key,属性值组合及子表id作为哈希表的value。

4.根据权利要求1所述的一种时序数据库的内存表匹配过滤方法,其特征是所述并发构建哈希表,包括:先将所有子表按照数据库的系统核心数的两倍进行分组,在每个分组同时计算组内每个子表的属性值组合的哈希值,构建哈希表。

5.一种时序数据库的内存表匹配过滤装置,其特征是包括初始化模块、哈希表构建模块和匹配过滤模块,

6.根据权利要求5所述的一种时序数据库的内存表匹配过滤装置,其特征是所述初始化模块初始化内存表,包括:获取所述父表的所有子表信息,所述子表信息包括子表id和子表属性值,将所有子表信息按二维数组的数据结构存储在缓存中内存表里。

7.根据权利要求5所述的一种时序数据库的内存表匹配过滤装置,其特征是所述哈希表构建模块并发构建哈希表,包括:根据内存表得到所有子表信息,获得每个子表信息中属性值,将每个子表的属性值分别进行组合,使用fnv32哈希函数计算每个子表属性值组合的哈希值,构建哈希表,每个子表的属性值组合的哈希值作为哈希表的key,属性值组合及子表id作为哈希表的value。

8.根据权利要求1所述的一种时序数据库的内存表匹配过滤装置,其特征是所述哈希表构建模块并发构建哈希表,包括:先将所有子表按照数据库的系统核心数的两倍进行分组,在每个分组同时计算组内每个子表的属性值组合的哈希值,构建哈希表。


技术总结
本发明公开一种时序数据库的内存表匹配过滤方法及装置,涉及时序数据库技术领域;包括:初始化内存表:获取时序数据库内至少一父表的所有子表信息,将所述父表的所有子表的信息存储在缓存中内存表里,并发构建哈希表:从缓存中获取所述父表的内存表,根据内存表得到所有子表信息,根据所有子表信息构建哈希表,每个子表的属性值组合的哈希值作为哈希表的key,属性值组合及子表ID作为哈希表的value,进行匹配过滤:当时序数据库向所述父表写入时序数据,根据指定的属性值组合计算哈希值,使用哈希值在构建的哈希表中查找value,根据value查找情况将时序数据写入子表。

技术研发人员:张学勇
受保护的技术使用者:山东浪潮数据库技术有限公司
技术研发日:
技术公布日:2024/2/25
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1