基于订阅发布的时序数据查询方法、系统及计算机介质技术方案

技术编号:35183006 阅读:16 留言:0更新日期:2022-10-12 17:52
本发明专利技术公开了基于订阅发布的时序数据查询方法、系统及计算机介质,属于时序数据库技术领域,要解决的技术问题为基于时序数据库进行时序数据查询时,如何节省线程以减少内存资源消耗。包括如下步骤:计算引擎作为订阅点提交订阅请求,所述订阅请求用于申请某段时间的时序数据;通过监听器监听到订阅请求后,调用订阅API,通过订阅API将所述订阅请求对应的订阅点更新至所申请时序数据对应topic的订阅列表中;采集点采集时序数据后,调用发布API,通过发布API查找所述时序数对应topic的订阅列表,并将所述时序数据发布至订阅列表中记录的所有订阅点。所有订阅点。所有订阅点。

【技术实现步骤摘要】
基于订阅发布的时序数据查询方法、系统及计算机介质


[0001]本专利技术涉及时序数据库
,具体地说是基于订阅发布的时序数据查询方法、系统及计算机介质。

技术介绍

[0002]时间序列数据库主要用于指处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。
[0003]时间序列数据主要由电力行业、化工行业、气象行业、地理信息等各类型实时监测、检查与分析设备所采集、产生的数据,这些工业数据的典型特点是:产生频率快(每一个监测点一秒钟内可产生多条数据)、严重依赖于采集时间(每一条数据均要求对应唯一的时间)、测点多信息量大(常规的实时监测系统均有成千上万的监测点,监测点每秒钟都产生数据,每天产生几十GB的数据量)。
[0004]在软件架构中,发布订阅是一种消息范式,消息的发送者(称为发布者)不会将消息直接发送给特定的接收者(称为订阅者)。而是将发布的消息分为不同的类别,无需了解哪些订阅者(如果有的话)可能存在。同样的,订阅者可以表达对一个或多个类别的兴趣,只接收感兴趣的消息,无需了解哪些发布者(如果有的话)存在。
[0005]由于时序数据库存在数据量大的问题,因此在查询时序数据的时候非常消耗时间,而市场上大部分时序数据库在查找时序数据时,都是采用多线程的模式,然而当查询请求也多的时候,多线程模式将会十分消耗内存资源。
[0006]基于时序数据库进行时序数据查询时,如何节省线程以减少内存资源消耗,是需要解决的技术问题。

技术实现思路

[0007]本专利技术的技术任务是针对以上不足,提供基于订阅发布的时序数据查询方法、系统及计算机介质,来解决基于时序数据库进行时序数据查询时,如何节省线程以减少内存资源消耗的技术问题。
[0008]第一方面,本专利技术的一种基于订阅发布的时序数据查询方法,通过订阅发布的方式将时序数据的查询操作变为异步,所述方法包括如下步骤:
[0009]计算引擎作为订阅点提交订阅请求,所述订阅请求用于申请某段时间的时序数据;
[0010]通过监听器监听到订阅请求后,调用订阅API,通过订阅API将所述订阅请求对应的订阅点更新至所申请时序数据对应topic的订阅列表中;
[0011]采集点采集时序数据后,调用发布API,通过发布API查找所述时序数对应topic的订阅列表,并将所述时序数据发布至订阅列表中记录的所有订阅点。
[0012]作为优选,通过监听器监听到订阅请求后,将订阅请求推送至消息队列,消息队列调用订阅API,通过订阅API将所述订阅请求对应的订阅点更新至所申请时序数据对应
topic的订阅列表中。
[0013]作为优选,通过订阅API将所述订阅请求对应的订阅点更新至所申请时序数据对应topic的订阅列表中,包括如下步骤:
[0014]基于订阅请求所申请的某段时间的时序数据,判断是否存在所述时序数据对应的topic;
[0015]如果存在,判断所述订阅请求对应的订阅点是否存在于所述topic的订阅列表中,如果否,将所述订阅请求对应的订阅点更新至所述topic的订阅列表中;
[0016]如果不存在,创建所述时序数据对应的topic,并将所述订阅申请对应的订阅点更新至所述topic的订阅列表中。
[0017]作为优选,所述发布API通过多线程模式将时序数据发布至订阅列表中记录的所有订阅点。
[0018]第二方面,本专利技术的一种基于订阅发布的时序数据查询系统,用于通过如第一方面任一项所述的一种基于订阅发布的时序数据查询方法实现时序数据的查询操作,所述系统包括:
[0019]计算引擎,所述计算引擎作为订阅点提交订阅请求,所述订阅请求用于申请某段时间的时序数据;
[0020]监听器,所述监听器用于监听计订阅请求;
[0021]消息队列,所述消息队列用于接收并缓存监听器发送的订阅请求;
[0022]订阅API,所述消息队列用于接收消息队列推送的订阅请求,将所述订阅请求对应的订阅点更新至所申请时序数据对应topic的订阅列表中;
[0023]采集点,所述采集点用于采集时序数据;
[0024]发布API,所述发布API用于接收采集点采集的时序数据,用于查找所述时序数对应topic的订阅列表,并将所述时序数据发布至订阅列表中记录的所有订阅点。
[0025]作为优选,所述订阅API用于通过如下步骤将所述订阅请求对应的订阅点更新至所申请时序数据对应topic的订阅列表中:
[0026]基于订阅请求所申请的某段时间的时序数据,判断是否存在所述时序数据对应的topic;
[0027]如果存在,判断所述订阅请求对应的订阅点是否存在于所述topic的订阅列表中,如果否,将所述订阅请求对应的订阅点更新至所述topic的订阅列表中;
[0028]如果不存在,创建所述时序数据对应的topic,并将所述订阅申请对应的订阅点更新至所述topic的订阅列表中。
[0029]作为优选,所述发布API用于通过多线程模式将时序数据发布至订阅列表中记录的所有订阅点。
[0030]第三方面,本专利技术的计算机介质,为计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面任一所述的方法。
[0031]本专利技术的基于订阅发布的时序数据查询方法、系统及计算机介质具有以下优点:
[0032]1、计算引擎和时序数据采集程序并不是相互感知的,彼此并不知道对方的存在,并且也将一个查询操作分成了异步操作,当查询时序数据时,订阅点先订阅,然后进行其他
操作,想要用到查询数据时再接收订阅的数据,可以提高效率;
[0033]2、异步操作也避免了启动大量的线程,而是将多个订阅请求放在消息队列里,可以节约内存资源。
附图说明
[0034]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035]下面结合附图对本专利技术进一步说明。
[0036]图1为实施例1基于订阅发布的时序数据查询方法的流程框图。
具体实施方式
[0037]下面结合附图和具体实施例对本专利技术作进一步说明,以使本领域的技术人员可以更好地理解本专利技术并能予以实施,但所举实施例不作为对本专利技术的限定,在不冲突的情况下,本专利技术实施例以及实施例中的技术特征可以相互结合。
[0038]本专利技术实施例提供基于订阅发布的时序数据查询方法、系统及计算机介质,用于解决基于时序数据库进行时序数据查询时,如何节省线程以减少内存资源消耗的技术问题。
[0039]实施例1:
[0040]本专利技术一种基于订阅发布的时序数据查询方法,通过订阅发布的方式将时序数据的查询操作本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于订阅发布的时序数据查询方法,其特征在于通过订阅发布的方式将时序数据的查询操作变为异步,所述方法包括如下步骤:计算引擎作为订阅点提交订阅请求,所述订阅请求用于申请某段时间的时序数据;通过监听器监听到订阅请求后,调用订阅API,通过订阅API将所述订阅请求对应的订阅点更新至所申请时序数据对应topic的订阅列表中;采集点采集时序数据后,调用发布API,通过发布API查找所述时序数对应topic的订阅列表,并将所述时序数据发布至订阅列表中记录的所有订阅点。2.根据权利要求1所述的基于订阅发布的时序数据查询方法,其特征在于通过监听器监听到订阅请求后,将订阅请求推送至消息队列,消息队列调用订阅API,通过订阅API将所述订阅请求对应的订阅点更新至所申请时序数据对应topic的订阅列表中。3.根据权利要求1或2所述的基于订阅发布的时序数据查询方法,其特征在于通过订阅API将所述订阅请求对应的订阅点更新至所申请时序数据对应topic的订阅列表中,包括如下步骤:基于订阅请求所申请的某段时间的时序数据,判断是否存在所述时序数据对应的topic;如果存在,判断所述订阅请求对应的订阅点是否存在于所述topic的订阅列表中,如果否,将所述订阅请求对应的订阅点更新至所述topic的订阅列表中;如果不存在,创建所述时序数据对应的topic,并将所述订阅申请对应的订阅点更新至所述topic的订阅列表中。4.根据权利要求1或2所述的基于订阅发布的时序数据查询方法,其特征在于所述发布API通过多线程模式将时序数据发布至订阅列表中记录的所有订阅点。5.一种基于订阅发布的时序数据查询系统,其特征在于用于通过如权利要求1
‑<...

【专利技术属性】
技术研发人员:李杨
申请(专利权)人:浪潮软件集团有限公司
类型:发明
国别省市:

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

1