一种时序数据库的查询请求处理方法和装置制造方法及图纸

技术编号:14595786 阅读:241 留言:0更新日期:2017-02-09 00:24
本发明专利技术公开了一种时序数据库的查询请求处理方法和装置,所述方法包括:当接收到用户的查询请求时,确定查询请求的查询类型,查询类型包括:快查询和慢查询;若为快查询,则将查询请求加入到第一线程池的队列中;若为慢查询,则将查询请求加入到第二线程池的队列中。应用本发明专利技术所述方案,能够提高系统的处理效率等。

Method and device for processing query request of time series database

The invention discloses a temporal database query processing method and device. The method includes: when the user receives the query, the query request to determine the type of query, the query types include: fast and slow query query; if fast query, the query request is added to the first thread pool queue; if the slow query, the query request is added to the second thread pool queue. By applying the scheme of the invention, the processing efficiency of the system can be improved.

【技术实现步骤摘要】

本专利技术涉及数据库技术,特别涉及一种时序数据库的查询请求处理方法和装置
技术介绍
时序数据库是存储海量时间序列数据的数据库,时间序列数据,即指每个数据均与一个时间戳对应,时序数据库可支持用户对其中的海量数据的查询。时序数据库可支持多个用户同时使用,多个用户可同时提交多个查询请求,一个用户也可同时提交多个查询请求,这些查询请求可分为两种查询类型,即消耗计算资源比较少、耗时比较短的快查询,以及,消耗计算资源比较多、耗时比较长的慢查询。如果系统被大量的慢查询占据了大量的计算资源,会导致快查询的耗时变长,甚至可能出现需要排队等待的情况,比如,原来只需要耗时100毫秒即可完成的一个快查询,由于需要等待排在前面的慢查询完成后才能执行,因此变成需要耗时10秒才能完成,从而延长了系统的总体等待时间,进而降低了系统的处理效率。
技术实现思路
本专利技术提供了一种时序数据库的查询请求处理方法和装置,能够提高系统的处理效率。具体技术方案如下:一种时序数据库的查询请求处理方法,包括:当接收到用户的查询请求时,确定所述查询请求的查询类型,所述查询类型包括:快查询和慢查询;若为快查询,则将所述查询请求加入到第一线程池的队列中;若为慢查询,则将所述查询请求加入到第二线程池的队列中。根据本专利技术一优选实施例,所述确定所述查询请求的查询类型包括:确定出所述查询请求对应的查询结果预估数据量;若所述查询结果预估数据量小于预先设定的阈值,则确定所述查询请求的查询类型为快查询,否则,确定所述查询请求的查询类型为慢查询。根据本专利技术一优选实施例,所述查询请求中携带有所需查询的表、查询的数据的起始时间以及结束时间;所述确定出所述查询请求对应的查询结果预估数据量包括:获取所述所需查询的表在最近预定时长内的表写入频率;根据所述起始时间和所述结束时间,计算出查询时间范围;根据所述表写入频率以及所述查询时间范围,计算出所述查询结果预估数据量。根据本专利技术一优选实施例,所述查询时间范围=结束时间-起始时间;所述查询结果预估数据量=查询时间范围*表写入频率。根据本专利技术一优选实施例,所述查询请求中进一步携带有过滤条件;所述确定出所述查询请求对应的查询结果预估数据量包括:获取所述所需查询的表在最近预定时长内的表写入频率;根据所述表写入频率计算出所述过滤条件中规定的所需过滤的列的列写入频率;根据所述起始时间和所述结束时间,计算出查询时间范围;根据所述列写入频率和所述查询时间范围,计算出所述查询结果预估数据量。根据本专利技术一优选实施例,所述列写入频率=表写入频率/所需过滤的各列的基数的乘积,其中,每列的基数等于该列中的不同取值的数目。根据本专利技术一优选实施例,所述查询时间范围=结束时间-起始时间;所述查询结果预估数据量=查询时间范围*列写入频率。一种时序数据库的查询请求处理装置,包括:接收单元、处理单元和分发单元;所述接收单元,用于接收用户的查询请求,并将所述查询请求发送给所述处理单元和所述分发单元;所述处理单元,用于确定所述查询请求的查询类型,所述查询类型包括:快查询和慢查询,并将确定结果发送给所述分发单元;所述分发单元,用于当确定结果为快查询时,将所述查询请求加入到第一线程池的队列中,当确定结果为慢查询时,将所述查询请求加入到第二线程池的队列中。根据本专利技术一优选实施例,所述处理单元中包括:第一处理子单元和第二处理子单元;所述第一处理子单元,用于确定出所述查询请求对应的查询结果预估数据量,并将所述查询结果预估数据量发送给所述第二处理子单元;所述第二处理子单元,用于将所述查询结果预估数据量与预先设定的阈值进行比较,若所述查询结果预估数据量小于所述阈值,则确定所述查询请求的查询类型为快查询,否则,确定所述查询请求的查询类型为慢查询,并将确定结果发送给所述分发单元。根据本专利技术一优选实施例,所述查询请求中携带有所需查询的表、查询的数据的起始时间以及结束时间;所述第一处理子单元获取所述所需查询的表在最近预定时长内的表写入频率;根据所述起始时间和所述结束时间,计算出查询时间范围;根据所述表写入频率以及所述查询时间范围,计算出所述查询结果预估数据量。根据本专利技术一优选实施例,所述查询时间范围=结束时间-起始时间;所述查询结果预估数据量=查询时间范围*表写入频率。根据本专利技术一优选实施例,所述查询请求中进一步携带有过滤条件;所述第一处理子单元获取所述所需查询的表在最近预定时长内的表写入频率;根据所述表写入频率计算出所述过滤条件中规定的所需过滤的列的列写入频率;根据所述起始时间和所述结束时间,计算出查询时间范围;根据所述列写入频率和所述查询时间范围,计算出所述查询结果预估数据量。根据本专利技术一优选实施例,所述列写入频率=表写入频率/所需过滤的各列的基数的乘积,其中,每列的基数等于该列中的不同取值的数目。根据本专利技术一优选实施例,所述查询时间范围=结束时间-起始时间;所述查询结果预估数据量=查询时间范围*列写入频率。基于上述介绍可以看出,采用本专利技术所述方案,通过线程池将快查询和慢查询进行隔离,从而尽可能地避免了现有技术中所述的慢查询对快查询的影响,进而减少了系统的总体等待时间,提高了系统的处理效率。【附图说明】图1为本专利技术所述时序数据库的查询请求处理方法实施例的流程图。图2为本专利技术所述时序数据库的查询请求处理方法较佳实施例的流程图。图3为本专利技术所述时序数据库的查询请求处理装置实施例的组成结构示意图。【具体实施方式】为了使本专利技术的技术方案更加清楚、明白,以下参照附图并举实施例,对本专利技术所述方案作进一步地详细说明。实施例一图1为本专利技术所述时序数据库的查询请求处理方法实施例的流程图,如图1所示,包括以下具体实现方式:在11中,当接收到用户的查询请求时,确定查询请求的查询类型,查询类型包括:快查询和慢查询;在12中,若为快查询,则将查询请求加入到第一线程池的队列中;若为慢查询,则将查询请求加入到第二线程池的队列中。要对快查询和慢查询进行隔离,主要是通过将快查询和慢查询放在不同的线程池执行来实现的,两个线程池都有自己的队列,查询请求只会在它所属的线程池的队列中排队,因此,慢查询不会影响快查询,即慢查询不会阻塞快查询。为便于表述,将两个线程池分别称为第一线程池和第二线程池,其中,将快查询对应的线程池称为第一线程池,将慢查询对应的线程池称为第二线程池。但是,在还没有执行一个查询请求之前,是无法直接确定出其是快查询还是慢查询的,所以需要估计出查询请求的查询类型。由于快查询的耗时比较短,慢查询的耗时比较长,而耗时的长短与查询结果的数据量有关,数据量越大,耗时越长,因此,当接收到查询请求时,可首先确定出查询请求对应的查询结果预估数据量,进而根据查询结果预估数据量确定出查询请求的查询类型。以下即对如何获取查询请求的查询结果预估数据量进行详细说明。与现有技术中一样,接收到的查询请求中会携带有以下信息:1)所需查询的表;2)查询的数据的起始时间和结束时间;3)过滤条件,即可以对表中的某些列的值进行过滤。其中,1)和)2是必须携带的,而3)是可选的,即可以携带,也可以不携带。如果查询请求中仅携带有上述1)和2)中所述的信息,那么确定出查询请求对应的查询结果预估数据量的方式可包括:获取1)中所述的所需查询的本文档来自技高网...

【技术保护点】
一种时序数据库的查询请求处理方法,其特征在于,包括:当接收到用户的查询请求时,确定所述查询请求的查询类型,所述查询类型包括:快查询和慢查询;若为快查询,则将所述查询请求加入到第一线程池的队列中;若为慢查询,则将所述查询请求加入到第二线程池的队列中。

【技术特征摘要】
1.一种时序数据库的查询请求处理方法,其特征在于,包括:当接收到用户的查询请求时,确定所述查询请求的查询类型,所述查询类型包括:快查询和慢查询;若为快查询,则将所述查询请求加入到第一线程池的队列中;若为慢查询,则将所述查询请求加入到第二线程池的队列中。2.根据权利要求1所述的方法,其特征在于,所述确定所述查询请求的查询类型包括:确定出所述查询请求对应的查询结果预估数据量;若所述查询结果预估数据量小于预先设定的阈值,则确定所述查询请求的查询类型为快查询,否则,确定所述查询请求的查询类型为慢查询。3.根据权利要求2所述的方法,其特征在于,所述查询请求中携带有所需查询的表、查询的数据的起始时间以及结束时间;所述确定出所述查询请求对应的查询结果预估数据量包括:获取所述所需查询的表在最近预定时长内的表写入频率;根据所述起始时间和所述结束时间,计算出查询时间范围;根据所述表写入频率以及所述查询时间范围,计算出所述查询结果预估数据量。4.根据权利要求3所述的方法,其特征在于,所述查询时间范围=结束时间-起始时间;所述查询结果预估数据量=查询时间范围*表写入频率。5.根据权利要求3所述的方法,其特征在于,所述查询请求中进一步携带有过滤条件;所述确定出所述查询请求对应的查询结果预估数据量包括:获取所述所需查询的表在最近预定时长内的表写入频率;根据所述表写入频率计算出所述过滤条件中规定的所需过滤的列的列写入频率;根据所述起始时间和所述结束时间,计算出查询时间范围;根据所述列写入频率和所述查询时间范围,计算出所述查询结果预估数据量。6.根据权利要求5所述的方法,其特征在于,所述列写入频率=表写入频率/所需过滤的各列的基数的乘积,其中,每列的基数等于该列中的不同取值的数目。7.根据权利要求5或6所述的方法,其特征在于,所述查询时间范围=结束时间-起始时间;所述查询结果预估数据量=查询时间范围*列写入频率。8.一种时序数据库的查询请求处理装置,其特征在于,包括:接收单元、处理单元和分发单元;所述接收单元,用于接收用户的查询请求,并将所述查询请求发送给所述处理单元和...

【专利技术属性】
技术研发人员:简恒懿沈达宇
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1