基于分布式的时序数据查询方法、设备、介质及产品技术

技术编号:31308530 阅读:24 留言:0更新日期:2021-12-12 21:32
本发明专利技术公开了基于分布式的时序数据查询方法,包括以下步骤:第一数据查询节点模块接收用户通过客户端发送的时序数据查询请求,根据查询时间范围将时序数据查询请求切分为若干子时序数据查询请求;将一部分子时序数据查询请求作为第一子查询请求直接发往对应数据节点,得到第一数据聚合结果,将另一部分子时序数据查询请求作为第二子查询请求随机分发至不同的第二数据查询节点模块,并由第二数据查询节点模块发送至对应的数据节点模块,得到第二数据聚合结果;将第一数据聚合结果和第二数据聚合结果进行汇总并返回至客户端。本发明专利技术的方案减轻了单个数据查询节点的运行负载,提高了查询效率,避免了查询过程中产生较大的响应延迟。应延迟。应延迟。

【技术实现步骤摘要】
基于分布式的时序数据查询方法、设备、介质及产品


[0001]本专利技术涉及时序数据查询领域,尤其涉及基于分布式的时序数据查询方法、设备、介质及产品。

技术介绍

[0002]近年来随着移动互联网技术的发展和普及应用,产生了越来越多的带有时间顺序的数据,也即是带有记录时间的数据,比如APP的浏览数据、货车的行驶记录数据、服务器的日志数据,这些时序数据都记录有事件发生的时间,比如APP的浏览数据会记录用户操作的时间,比如什么时候浏览了首页,什么时候点击了注册按钮等。
[0003]目前对于时序数据的查询包括两种方案:一、通常是经过数据节点和查询节点进行处理,数据节点负责对实际的数据存储,查询节点负责接收查询请求,并将查询发送到各个数据节点,然后查询节点聚合各个数据节点的处理结果然后返回给客户端,这种查询过程的典型应用为Apache Druid(高性能实时分析数据库)的查询过程。二、整个时序数据的查询只经过数据节点处理,并由单个数据节点对所有数据查询结果进行汇聚,此时数据节点除了负责实际的数据存储,同时也可以接收查询请求,数据节点临时担任了第一种方案中查询节点的角色,区别是这个数据节点在负责数据的存储处理和结果汇聚,这种查询过程的典型应用为Elasticsearch(基于Lucene的搜索服务引擎)的查询过程。
[0004]以上两种方案,第一种方案中数据的聚合以及查询请求的发送均在一个查询节点中进行,聚合的效率受限于这个节点的资源配置,无法真正利用分布式集群的资源;第二种方案中数据节点负责数据的写入存储、接收查询请求以及查询结果汇聚,一个节点兼具多种职能,在写数据的时候,容易影响查询的性能,造成在处理大量中间计算结果的情况下,有比较大的响应延迟。综上,现有的时序数据查询方法存在查询效率较低,有较大响应延迟的问题。

技术实现思路

[0005]为了克服现有技术的不足,本专利技术的目的之一在于提供基于分布式的时序数据查询方法,其能解决现有的时序数据查询方法存在查询效率较低,有较大响应延迟的问题。
[0006]本专利技术的目的之二在于提供一种电子设备,其能解决现有的时序数据查询方法存在查询效率较低,有较大响应延迟的问题。
[0007]本专利技术的目的之三在于提供一种计算机可读存储介质,其能解决现有的时序数据查询方法存在查询效率较低,有较大响应延迟的问题。
[0008]本专利技术的目的之四在于提供一种计算机程序产品,其能解决现有的时序数据查询方法存在查询效率较低,有较大响应延迟的问题。
[0009]本专利技术的目的之一采用以下技术方案实现:
[0010]基于分布式的时序数据查询方法,所述方法应用于若干数据查询节点模块和若干数据节点模块之间,将接收到时序查询请求的数据查询节点模块作为第一数据查询节点模
块,将未接收到时序查询请求的数据查询节点模块作为第二数据查询节点模块,每个所述数据节点模块均与所述第一数据查询节点模块和所述第二数据查询节点模块连接,所述方法由第一数据查询节点模块执行,包括以下步骤:
[0011]接收查询请求,接收用户通过客户端发送的时序数据查询请求,所述时序数据查询请求中包括查询时间范围;
[0012]切分查询请求,根据查询时间范围将所述时序数据查询请求切分为若干子时序数据查询请求,每个子时序数据查询请求中均包括子查询时间范围;
[0013]分配子时序数据查询请求,将一部分所述子时序数据查询请求作为第一查询请求分发至对应的数据节点模块,得到第一数据聚合结果,将剩余部分的所述子时序数据查询请求作为第二子查询请求随机分发至不同的第二数据查询节点模块,并由第二数据查询节点模块发送至其他对应的数据节点模块,得到第二数据聚合结果;
[0014]返回聚合结果,将所述第一数据聚合结果和第二数据聚合结果汇总并返回至客户端。
[0015]进一步地,所述分配子时序数据查询请求具体为:随机选取一部分子时序数据查询请求作为第一子查询请求,根据对应子查询时间范围将第一子查询请求发送至对应的数据节点模块,将未被选取的子时序数据查询请求作为第二子查询请求随机分发至不同的第二数据查询节点模块,并由第二数据查询节点模块根据对应子查询时间范围发送至对应的数据节点模块。
[0016]进一步地,所述第一数据聚合结果为将第一子查询请求对应的数据节点模块返回的第一数据查询结果进行聚合处理后得到。
[0017]进一步地,所述第二数据聚合结果为将第二子查询请求对应的数据节点模块返回的第二数据查询结果进行聚合处理得到。
[0018]基于分布式的时序数据查询方法,所述方法应用于若干数据查询节点模块和若干数据节点模块之间,将接收到时序查询请求的数据查询节点模块作为第一数据查询节点模块,将未接收到时序查询请求的数据查询节点模块作为第二数据查询节点模块,每个所述数据节点模块均与所述第一数据查询节点模块和所述第二数据查询节点模块连接,所述方法由第二数据查询节点模块执行,包括以下步骤:
[0019]获取第二子查询请求,获取由第一数据查询节点模块发送的第二子查询请求,所述第二子查询请求中包括子查询时间范围;
[0020]发送第二子查询请求,根据子查询时间范围将第二子查询请求发送至对应的不同数据节点模块;
[0021]接收数据查询结果,接收第二子查询请求对应不同数据节点模块返回的第二数据查询结果;
[0022]聚合数据查询结果,将不同的第二数据查询结果进行聚合处理,得到第二数据聚合结果;
[0023]发送数据聚合结果,将第二数据聚合结果发送至第一数据查询节点模块。
[0024]进一步地,所述发送第二子查询请求具体为:根据不同的子查询时间范围在时序数据分区和数据节点模块的映射关系中筛选出若干对应的数据节点模块,将子时序数据查询请求发送至对应的不同数据节点模块。
[0025]基于分布式的时序数据查询方法,所述方法应用于若干数据查询节点模块和若干数据节点模块之间,将接收到时序查询请求的数据查询节点模块作为第一数据查询节点模块,将未接收到时序查询请求的数据查询节点模块作为第二数据查询节点模块,每个所述数据节点模块均与所述第一数据查询节点模块和所述第二数据查询节点模块连接,所述方法由数据节点模块执行,包括以下步骤:
[0026]存储时序数据,将时序数据按照时间粒度切分为若干子时序数据在不同的数据分区中进行分区存储,每个数据分区都关联有时间属性;
[0027]接收子时序数据查询请求,接收第一数据查询节点模块发送的第一子查询请求或第二数据查询节点模块发送的第二子查询请求,所述第一子查询请求和所述第二子查询请求中均包括子查询时间范围;
[0028]计算查询结果,根据所述第一子查询请求或所述第二子查询请求中的子查询时间范围查询对应数据分区内的数据并计算结果,得到与所述第一子查询气请求对应的第一数据查询结果或与所述第二子查询请求对应的第二数据查询结果;
[0029]返回数据查询结果,将第一数据查询结果发送至第一数据查询节点模块或将第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于分布式的时序数据查询方法,所述方法应用于若干数据查询节点模块和若干数据节点模块之间,其特征在于:将接收到时序查询请求的数据查询节点模块作为第一数据查询节点模块,将未接收到时序查询请求的数据查询节点模块作为第二数据查询节点模块,每个所述数据节点模块均与所述第一数据查询节点模块和所述第二数据查询节点模块连接,所述方法由第一数据查询节点模块执行,包括以下步骤:接收查询请求,接收用户通过客户端发送的时序数据查询请求,所述时序数据查询请求中包括查询时间范围;切分查询请求,根据查询时间范围将所述时序数据查询请求切分为若干子时序数据查询请求,每个子时序数据查询请求中均包括子查询时间范围;分配子时序数据查询请求,将一部分所述子时序数据查询请求作为第一查询请求分发至对应的数据节点模块,得到第一数据聚合结果,将剩余部分的所述子时序数据查询请求作为第二子查询请求随机分发至不同的第二数据查询节点模块,并由第二数据查询节点模块发送至对应的数据节点模块,得到第二数据聚合结果;返回聚合结果,将所述第一数据聚合结果和第二数据聚合结果汇总并返回至客户端。2.如权利要求1所述的基于分布式的时序数据查询方法,其特征在于:所述分配子时序数据查询请求具体为:随机选取一部分子时序数据查询请求作为第一子查询请求,根据对应子查询时间范围将第一子查询请求发送至对应的数据节点模块,将未被选取的子时序数据查询请求作为第二子查询请求随机分发至不同的第二数据查询节点模块,并由第二数据查询节点模块根据对应子查询时间范围发送至对应的数据节点模块。3.如权利要求2所述的基于分布式的时序数据查询方法,其特征在于:所述第一数据聚合结果为将第一子查询请求对应的数据节点模块返回的第一数据查询结果进行聚合处理后得到。4.如权利要求3所述的基于分布式的时序数据查询方法,其特征在于:所述第二数据聚合结果为将第二子查询请求对应的数据节点模块返回的第二数据查询结果进行聚合处理得到。5.基于分布式的时序数据查询方法,所述方法应用于若干数据查询节点模块和若干数据节点模块之间,其特征在于:将接收到时序查询请求的数据查询节点模块作为第一数据查询节点模块,将未接收到时序查询请求的数据查询节点模块作为第二数据查询节点模块,每个所述数据节点模块均与所述第一数据查询节点模块和所述第二数据查询节点模块连接,所述方法由第二数据查询节点模块执行,包括以下步骤:获取第二子查询请求,获取由第一数据查询节点模块发送的第二子查询请求,所述第二子查询请求中包括子查询时间范围;发送第二子查询请求,根据子查询时间范围将第二子查询请求发送至对应的不同数据节点模块;接收数据查询结果,接收第二子查询请求对应不同数据节点模块返回的第二数据查询结果;聚合数据查询结果,将不同的第二数据查询...

【专利技术属性】
技术研发人员:王劲陈宇智周建平
申请(专利权)人:广东数果科技有限公司
类型:发明
国别省市:

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

1