时序数据的聚合查询方法、装置、计算机设备及可读介质制造方法及图纸

技术编号:18426480 阅读:27 留言:0更新日期:2018-07-12 02:01
本发明专利技术提供一种时序数据的聚合查询方法、装置、计算机设备及可读介质。其方法包括:接收用户的时序数据的聚合查询请求;聚合查询请求中携带聚合函数、时间窗口以及时间范围;根据聚合函数的内层聚合函数的时间窗口、时间范围、以及时序数据的时间与时序数据的存储节点的对应关系,建立时间范围内的、时间维度与存储维度上的二维分片信息,根据内层聚合函数以及二维分片信息中标识的各时间窗口对应的多个存储节点标识,控制各时间窗口对应的存储节点在本地执行内层聚合函数的相关操作,并返回操作结果;根据接收到的时间范围内的、各时间窗口对应的操作结果以及聚合函数,生成聚合查询结果。本发明专利技术的技术方案,能够有效地提高聚合查询的效率。

Aggregate query method, device, computer equipment and readable medium for time series data

The invention provides a aggregate query method for time series data, a device, a computer device and a readable medium. The method includes: receive the aggregation query request of the time sequence data of the user; the aggregation query request carries the aggregation function, the time window and the time range; according to the time window, the time range of the aggregation function of the aggregation function, and the corresponding relation between the time of the time series data and the memory node of the time sequence, the corresponding relation of the time sequence data and the time sequence of the aggregation function is established. The time dimension, the time dimension and the two dimensional slice information on the storage dimension, and control the related operations of the storage nodes corresponding to each time window to perform the internal aggregation function locally, and return the operation node, according to the identification of the multiple memory nodes corresponding to the time windows identified in the inner layer aggregation function and the two-dimensional slice information. The result of aggregate query is generated according to the operation result and aggregate function corresponding to the time window in the received time range. The technical proposal of the invention can effectively improve the efficiency of aggregate queries.

【技术实现步骤摘要】
时序数据的聚合查询方法、装置、计算机设备及可读介质
本专利技术涉及计算机应用
,尤其涉及一种时序数据的聚合查询方法、装置、计算机设备及可读介质。
技术介绍
在物联网场景下,时序数据会持续大量产生,时序数据库往往使用多节点分片存储,这些历史时序数据可以用来有效进行监控以及趋势预测,一个典型的例子就是查询最近一个月每个小时的平均温度,因此时序数据库需要能够支持高效聚合运算查询,简称聚合查询。现有的时序数据聚合查询时,接收到用户的查询请求之后,对查询请求进行解析和构建逻辑查询树,对逻辑查询树分析优化,最后由物理引擎执行逻辑查询,查询并获取所有原始时序数据,最后对获取到的所有原始时序数据做聚合运算。也就是说,现有的聚合查询由负责聚合查询处理的计算节点从存储时序数据的各个节点中获取大量的原始时序数据,然后,由计算节点进行聚合运算处理。现有技术采用的上述聚合查询处理,各个数据存储节点需要传输大量的原始时序数据至计算节点,导致系统的输入/输出(Input/Output;I/O)压力很大;且计算节点需要执行所有的聚合运算,计算压力过大;进而导致整个聚合查询时延较大,聚合查询效率较低。
技术实现思路
本专利技术提供了一种时序数据的聚合查询方法、装置、计算机设备及可读介质,用于提高聚合查询效率。本专利技术提供一种时序数据的聚合查询方法,所述方法包括:接收用户的时序数据的聚合查询请求;所述聚合查询请求中携带聚合函数、查询的时间窗口以及查询的时间范围;根据所述聚合函数的内层聚合函数的所述时间窗口、所述时间范围、以及时序数据的时间与时序数据的存储节点的对应关系,建立所述时间范围内的、时间维度与存储维度上的二维分片信息,所述二维分片信息中标识所述时间范围内的、各所述时间窗口对应的多个所述存储节点标识;根据所述内层聚合函数以及各所述时间窗口对应的多个所述存储节点标识,控制各所述时间窗口对应的所述存储节点在本地执行所述内层聚合函数的相关操作,并返回操作结果;根据接收到的所述时间范围内的、各所述时间窗口对应的操作结果以及所述聚合函数,生成聚合查询结果。进一步可选地,如上所述的方法中,若所述聚合函数为单聚合函数,所述聚合函数仅包括所述内层聚合函数,根据接收到的所述时间范围内的、各所述时间窗口对应的操作结果以及所述聚合函数,生成聚合查询结果,具体包括:根据接收到的所述时间范围内的、各所述时间窗口对应的操作结果以及所述内层聚合函数,获取各所述时间窗口对应的所述内层聚合函数的处理结果,作为所述聚合查询结果。进一步可选地,如上所述的方法中,若所述聚合函数为嵌套聚合函数,所述聚合函数还包括外层聚合函数,根据所述时间范围内的、各所述时间窗口对应的操作结果以及所述聚合函数,生成聚合查询结果,具体包括:根据接收到的所述时间范围内的、各所述时间窗口对应的操作结果以及所述内层聚合函数,获取各所述时间窗口对应的所述内层聚合函数的处理结果;根据各所述时间窗口对应的所述内层聚合函数的处理结果以及所述外层聚合函数,获取所述外层聚合函数的处理结果,作为所述聚合查询结果。进一步可选地,如上所述的方法中,根据所述内层聚合函数以及各所述时间窗口对应的多个所述存储节点标识,控制各所述时间窗口对应的所述存储节点在本地执行所述内层聚合函数的相关操作,并返回操作结果,具体包括:根据所述内层聚合函数,生成各所述时间窗口对应的所述存储节点的本地任务,以供所述存储节点在本地执行所述内层聚合函数的相关操作;根据各所述时间窗口对应的多个所述存储节点标识,向各所述时间窗口对应的所述存储节点下发所述本地任务,以供对应的所述存储节点执行所述本地任务,并返回所述操作结果。进一步可选地,如上所述的方法中,若所述内层聚合函数为时序无关的函数,根据所述内层聚合函数,生成各所述时间窗口对应的所述存储节点的本地任务,具体包括:根据所述内层聚合函数,生成各所述时间窗口对应的每个所述存储节点的本地任务;对应地,根据各所述时间窗口对应的每个所述存储节点标识,向各所述时间窗口对应的所述存储节点下发所述本地任务,具体包括:根据各所述时间窗口对应的多个所述存储节点标识,向各所述时间窗口对应的每个所述存储节点下发对应的所述本地任务。进一步可选地,如上所述的方法中,若所述内层聚合函数为时序有关的函数,根据所述内层聚合函数,生成各所述时间窗口对应的所述存储节点的本地任务,具体包括:从各所述时间窗口对应的多个所述存储节点标识中选取一个作为目标存储节点标识;根据所述内层聚合函数以及各所述时间窗口对应的多个所述存储节点标识,生成各所述时间窗口对应的所述目标存储节点的本地任务;所述本地任务中指示所述目标存储节点先从对应于同一所述时间窗口的其他所述存储节点拷贝所述时间窗口的所有时序数据,然后执行所述内层聚合函数的相关操作;对应地,根据各所述时间窗口对应的多个所述存储节点标识,向各所述时间窗口对应的每个所述存储节点下发对应的所述本地任务,具体包括:根据各所述时间窗口对应的所述目标存储节点标识,向各所述时间窗口对应的所述目标存储节点下发对应的所述本地任务。进一步可选地,如上所述的方法中,从各所述时间窗口对应的多个所述存储节点标识中选取一个作为目标存储节点标识,具体包括:根据各所述时间窗口对应的多个所述存储节点中存储对应的所述时间窗口内的时序数据的数量的多少,从各所述时间窗口对应的多个所述存储节点标识中选取存储对应的所述时间窗口内的时序数据最多的存储节点的标识,作为所述目标存储节点标识。本专利技术提供一种时序数据的聚合查询装置,所述装置包括:接收模块,用于接收用户的时序数据的聚合查询请求;所述聚合查询请求中携带聚合函数、查询的时间窗口以及查询的时间范围;分片建立模块,用于根据所述聚合函数的内层聚合函数的所述时间窗口、所述时间范围、以及时序数据的时间与时序数据的存储节点的对应关系,建立所述时间范围内的、时间维度与存储维度上的二维分片信息,所述二维分片信息中标识所述时间范围内的、各所述时间窗口对应的多个所述存储节点标识;控制模块,用于根据所述内层聚合函数以及各所述时间窗口对应的多个所述存储节点标识,控制各所述时间窗口对应的所述存储节点在本地执行所述内层聚合函数的相关操作,并返回操作结果;结果生成模块,用于根据接收到的所述时间范围内的、各所述时间窗口对应的操作结果以及所述聚合函数,生成聚合查询结果。进一步可选地,如上所述的装置中,若所述聚合函数为单聚合函数,所述聚合函数仅包括所述内层聚合函数,所述结果生成模块,具体用于:根据接收到的所述时间范围内的、各所述时间窗口对应的操作结果以及所述内层聚合函数,获取各所述时间窗口对应的所述内层聚合函数的处理结果,作为所述聚合查询结果。进一步可选地,如上所述的装置中,若所述聚合函数为嵌套聚合函数,所述聚合函数还包括外层聚合函数,所述结果生成模块,具体用于:根据接收到的所述时间范围内的、各所述时间窗口对应的操作结果以及所述内层聚合函数,获取各所述时间窗口对应的所述内层聚合函数的处理结果;根据各所述时间窗口对应的所述内层聚合函数的处理结果以及所述外层聚合函数,获取所述外层聚合函数的处理结果,作为所述聚合查询结果。进一步可选地,如上所述的装置中,所述控制模块,具体包括:任务生成单元,用于根据所述内层聚合函本文档来自技高网...

【技术保护点】
1.一种时序数据的聚合查询方法,其特征在于,所述方法包括:接收用户的时序数据的聚合查询请求;所述聚合查询请求中携带聚合函数、查询的时间窗口以及查询的时间范围;根据所述聚合函数的内层聚合函数的所述时间窗口、所述时间范围、以及时序数据的时间与时序数据的存储节点的对应关系,建立所述时间范围内的、时间维度与存储维度上的二维分片信息,所述二维分片信息中标识所述时间范围内的、各所述时间窗口对应的多个所述存储节点标识;根据所述内层聚合函数以及各所述时间窗口对应的多个所述存储节点标识,控制各所述时间窗口对应的所述存储节点在本地执行所述内层聚合函数的相关操作,并返回操作结果;根据接收到的所述时间范围内的、各所述时间窗口对应的操作结果以及所述聚合函数,生成聚合查询结果。

【技术特征摘要】
1.一种时序数据的聚合查询方法,其特征在于,所述方法包括:接收用户的时序数据的聚合查询请求;所述聚合查询请求中携带聚合函数、查询的时间窗口以及查询的时间范围;根据所述聚合函数的内层聚合函数的所述时间窗口、所述时间范围、以及时序数据的时间与时序数据的存储节点的对应关系,建立所述时间范围内的、时间维度与存储维度上的二维分片信息,所述二维分片信息中标识所述时间范围内的、各所述时间窗口对应的多个所述存储节点标识;根据所述内层聚合函数以及各所述时间窗口对应的多个所述存储节点标识,控制各所述时间窗口对应的所述存储节点在本地执行所述内层聚合函数的相关操作,并返回操作结果;根据接收到的所述时间范围内的、各所述时间窗口对应的操作结果以及所述聚合函数,生成聚合查询结果。2.根据权利要求1所述的方法,其特征在于,若所述聚合函数为单聚合函数,所述聚合函数仅包括所述内层聚合函数,根据接收到的所述时间范围内的、各所述时间窗口对应的操作结果以及所述聚合函数,生成聚合查询结果,具体包括:根据接收到的所述时间范围内的、各所述时间窗口对应的操作结果以及所述内层聚合函数,获取各所述时间窗口对应的所述内层聚合函数的处理结果,作为所述聚合查询结果。3.根据权利要求1所述的方法,其特征在于,若所述聚合函数为嵌套聚合函数,所述聚合函数还包括外层聚合函数,根据所述时间范围内的、各所述时间窗口对应的操作结果以及所述聚合函数,生成聚合查询结果,具体包括:根据接收到的所述时间范围内的、各所述时间窗口对应的操作结果以及所述内层聚合函数,获取各所述时间窗口对应的所述内层聚合函数的处理结果;根据各所述时间窗口对应的所述内层聚合函数的处理结果以及所述外层聚合函数,获取所述外层聚合函数的处理结果,作为所述聚合查询结果。4.根据权利要求1-3任一所述的方法,其特征在于,根据所述内层聚合函数以及各所述时间窗口对应的多个所述存储节点标识,控制各所述时间窗口对应的所述存储节点在本地执行所述内层聚合函数的相关操作,并返回操作结果,具体包括:根据所述内层聚合函数,生成各所述时间窗口对应的所述存储节点的本地任务,以供所述存储节点在本地执行所述内层聚合函数的相关操作;根据各所述时间窗口对应的多个所述存储节点标识,向各所述时间窗口对应的所述存储节点下发所述本地任务,以供对应的所述存储节点执行所述本地任务,并返回所述操作结果。5.根据权利要求4所述的方法,其特征在于,若所述内层聚合函数为时序无关的函数,根据所述内层聚合函数,生成各所述时间窗口对应的所述存储节点的本地任务,具体包括:根据所述内层聚合函数,生成各所述时间窗口对应的每个所述存储节点的本地任务;对应地,根据各所述时间窗口对应的每个所述存储节点标识,向各所述时间窗口对应的所述存储节点下发所述本地任务,具体包括:根据各所述时间窗口对应的多个所述存储节点标识,向各所述时间窗口对应的每个所述存储节点下发对应的所述本地任务。6.根据权利要求4所述的方法,其特征在于,若所述内层聚合函数为时序有关的函数,根据所述内层聚合函数,生成各所述时间窗口对应的所述存储节点的本地任务,具体包括:从各所述时间窗口对应的多个所述存储节点标识中选取一个作为目标存储节点标识;根据所述内层聚合函数以及各所述时间窗口对应的多个所述存储节点标识,生成各所述时间窗口对应的所述目标存储节点的本地任务;所述本地任务中指示所述目标存储节点先从对应于同一所述时间窗口的其他所述存储节点拷贝所述时间窗口的所有时序数据,然后执行所述内层聚合函数的相关操作;对应地,根据各所述时间窗口对应的多个所述存储节点标识,向各所述时间窗口对应的每个所述存储节点下发对应的所述本地任务,具体包括:根据各所述时间窗口对应的所述目标存储节点标识,向各所述时间窗口对应的所述目标存储节点下发对应的所述本地任务。7.根据权利要求6所述的方法,其特征在于,从各所述时间窗口对应的多个所述存储节点标识中选取一个作为目标存储节点标识,具体包括:根据各所述时间窗口对应的多个所述存储节点中存储对应的所述时间窗口内的时序数据的数量的多少,从各所述时间窗口对应的多个所述存储节点标识...

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

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

1