一种时序数据库的元数据缓存管理方法及装置制造方法及图纸

技术编号:39295829 阅读:10 留言:0更新日期:2023-11-07 11:03
本发明专利技术涉及时序数据库领域,具体提供了一种时序数据库的元数据缓存管理方法及装置,首先初始化缓存模块进行时序数据库服务的启动,再进入查询缓存模块响应时序数据的查询请求;添加缓存模块缓存结构中未存储查询请求中的时序对象元数据时,先向缓存结构中添加一条时序对象的记录,检查时序对象的元数据包含的条目。淘汰缓存模块对于缓存结构读取和修改通过读写锁保证并发安全,最后,失效缓存模块保证缓存与系统表中的元数据一致性。与现有技术相比,本发明专利技术能够大大减少解析时序对象元数据的时间,从而提升时序数据的查询性能。从而提升时序数据的查询性能。从而提升时序数据的查询性能。

【技术实现步骤摘要】
一种时序数据库的元数据缓存管理方法及装置


[0001]本专利技术涉及时序数据库领域,具体提供一种时序数据库的元数据缓存管理方法及装置。

技术介绍

[0002]时序数据库全称为时间序列数据库。时间序列数据库指主要用于处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。
[0003]时间序列数据主要由电力行业、化工行业、气象行业、地理信息等各类型实时监测、检查与分析设备所采集、产生的数据,这些工业数据的典型特点是:产生频率快(每一个监测点一秒钟内可产生多条数据)、严重依赖于采集时间(每一条数据均要求对应唯一的时间)、测点多信息量大。
[0004]对于时序大数据的存储和处理往往采用关系型数据库的方式进行处理,但由于关系型数据库天生的劣势导致其无法进行高效的存储和数据的查询。时序大数据解决方案通过使用特殊的存储方式,使得时序大数据可以高效存储和快速处理海量时序大数据,是解决海量数据处理的一项重要技术。该技术采用特殊数据存储方式,极大提高了时间相关数据的处理能力,相对于关系型数据库它的存储空间减半,查询速度极大的提高。
[0005]面对大量的采集设备,其设备信息的元数据也很庞大,这样就导致查询时对时序元数据的解析会耗费大量时间,造成查询性能较差。

技术实现思路

[0006]本专利技术是针对上述现有技术的不足,提供一种实用性强的时序数据库的元数据缓存管理方法。
[0007]本专利技术进一步的技术任务是提供一种设计合理,安全适用的时序数据库的元数据缓存管理装置。
[0008]本专利技术解决其技术问题所采用的技术方案是:
[0009]一种时序数据库的元数据缓存管理方法,首先初始化缓存模块进行时序数据库服务的启动,再进入查询缓存模块响应时序数据的查询请求;
[0010]添加缓存模块缓存结构中未存储查询请求中的时序对象元数据时,先向缓存结构中添加一条时序对象的记录,检查时序对象的元数据包含的条目。
[0011]淘汰缓存模块对于缓存结构读取和修改通过读写锁保证并发安全,最后,失效缓存模块保证缓存与系统表中的元数据一致性。
[0012]进一步的,在初始化缓存模块中,时序数据库服务启动时,在内存中构造一个由哈希表和双向链表组成的缓存结构,同时根据配置信息设置缓存的淘汰策略和缓存条目的数量限制。
[0013]进一步的,在查询缓存模块中,当响应时序数据的查询请求时,先解析对应的时序对象元数据,通过查询请求下发的时序对象的名称尝试从缓存结构的哈希表中获取元数据
信息;
[0014]如果缓存中不存在时序对象元数据的缓存,则需要查询系统表获取时序对象的元数据。
[0015]进一步的,如果存在所述时序对象的元数据,则判断所述时序对象的元数据是否已经添加成功,若还未添加完成,则查询请求会进行阻塞,等待被唤醒,直到添加完成获取到时序对象元数据;
[0016]若已经添加成功,则直接从缓存结构中返回所述时序对象元数据;
[0017]对于多线程并发查询时,通过读写锁来保证缓存的读写一致性。
[0018]进一步的,在添加缓存模块中,在响应查询请求时,如果缓存结构中未存储查询请求中的时序对象元数据时,先向缓存结构的哈希表中添加一条时序对象的记录,记录的状态是需要等待,同时将新节点加入到双向链表的头部,然后通过查询系统表,获取到时序对象的元数据,检查时序对象的元数据包含的条目。
[0019]进一步的,如果超过缓存条目总大小限制,则说明此时序对象元数据无法存入缓存结构中,此时从缓存结构中删除时序对象的记录,但是内存中的记录还未释放,所以接着将记录的状态更改为不需要等待,并且标记为TooLarge,同时通过信号量唤醒其他等待线程,最后返回时序对象的缓存记录和元数据;
[0020]如果未超过缓存条目总大小限制,但是缓存结构中已存在的条目与时序对象的条目之和超过缓存条目总大小限制时,则需要通过缓存淘汰模块淘汰一部分缓存条目,然后将时序对象的元数据存存入缓存结构中,然后将时序对象的记录状态更改为不需要等待,同时唤醒其他等待线程,缓存添加成功。
[0021]进一步的,如果既未超过缓存条目总大小限制,时序对象元数据的条目与已存在的缓存条目之和也未超过缓存限制,则将时序对象的元数据存入缓存结构,将时序对象的记录状态更改为不需要等待,同时唤醒其他等待线程,缓存添加成功。
[0022]进一步的,在淘汰缓存模块中,当达到缓存限制时,需要从双向链表的尾部节点开始遍历,找到状态是无需等待的节点,然后从缓存结构的哈希表和双向链表中删除,同时维护缓存结构中总条目数量,对于缓存结构读取和修改通过读写锁来保证并发安全。
[0023]进一步的,在失效缓存模块中,当时序对象的元数据发生改变,则需要先检查缓存结构中是否存在时序对象的元数据缓存;
[0024]若存在,则将时序对象的缓存记录删除。
[0025]一种时序数据库的元数据缓存管理装置,包括:至少一个存储器和至少一个处理器;
[0026]所述至少一个存储器,用于存储机器可读程序;
[0027]所述至少一个处理器,用于调用所述机器可读程序,执行一种时序数据库的元数据缓存管理方法。
[0028]本专利技术的一种时序数据库的元数据缓存管理方法及装置和现有技术相比,具有以下突出的有益效果:
[0029]本专利技术用于时序数据库中响应查询请求时解析时序对象的元数据,此部分时间将耗费大量时间,通过将时序对象元数据存储在缓存中,能够大大减少解析时序对象元数据的时间,从而提升时序数据的查询性能。
[0030]通过维护双向链表来实现缓存淘汰策略,在读写缓存时使用读写锁保证并发安全以及保证并发读缓存的性能。
附图说明
[0031]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032]附图1是一种时序数据库的元数据缓存管理方法中查询缓存模块流程示意图;
[0033]附图2是一种时序数据库的元数据缓存管理方法中添加缓存模块流程示意图;
[0034]附图3是一种时序数据库的元数据缓存管理方法中淘汰缓存模块流程示意图;
[0035]附图4是一种时序数据库的元数据缓存管理方法中失效缓存模块流程示意图。
具体实施方式
[0036]为了使本
的人员更好的理解本专利技术的方案,下面结合具体的实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本专利技术保护的范围。
[0037]下面给出一个最佳实施例:
[0038]本实施例中的一种时序数据库的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种时序数据库的元数据缓存管理方法,其特征在于,首先初始化缓存模块进行时序数据库服务的启动,再进入查询缓存模块响应时序数据的查询请求;添加缓存模块缓存结构中未存储查询请求中的时序对象元数据时,先向缓存结构中添加一条时序对象的记录,检查时序对象的元数据包含的条目。淘汰缓存模块对于缓存结构读取和修改通过读写锁保证并发安全,最后,失效缓存模块保证缓存与系统表中的元数据一致性。2.根据权利要求1所述的一种时序数据库的元数据缓存管理方法,其特征在于,在初始化缓存模块中,时序数据库服务启动时,在内存中构造一个由哈希表和双向链表组成的缓存结构,同时根据配置信息设置缓存的淘汰策略和缓存条目的数量限制。3.根据权利要求2所述的一种时序数据库的元数据缓存管理方法,其特征在于,在查询缓存模块中,当响应时序数据的查询请求时,先解析对应的时序对象元数据,通过查询请求下发的时序对象的名称尝试从缓存结构的哈希表中获取元数据信息;如果缓存中不存在时序对象元数据的缓存,则需要查询系统表获取时序对象的元数据。4.根据权利要求3所述的一种时序数据库的元数据缓存管理方法,其特征在于,如果存在所述时序对象的元数据,则判断所述时序对象的元数据是否已经添加成功,若还未添加完成,则查询请求会进行阻塞,等待被唤醒,直到添加完成获取到时序对象元数据;若已经添加成功,则直接从缓存结构中返回所述时序对象元数据;对于多线程并发查询时,通过读写锁来保证缓存的读写一致性。5.根据权利要求4所述的一种时序数据库的元数据缓存管理方法,其特征在于,在添加缓存模块中,在响应查询请求时,如果缓存结构中未存储查询请求中的时序对象元数据时,先向缓存结构的哈希表中添加一条时序对象的记录,记录的状态是需要等待,同时将新节点加入到双向链表的头部,然后通过查询系统表,获取到时序对象的元数据,检查时序对象的元数据包含的条目。6.根据权利要求5...

【专利技术属性】
技术研发人员:张学勇
申请(专利权)人:上海浪潮云计算服务有限公司
类型:发明
国别省市:

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

1