一种基于kafka的数据查询方法及装置制造方法及图纸

技术编号:37154630 阅读:11 留言:0更新日期:2023-04-06 22:15
本发明专利技术公开了一种基于kafka的数据查询方法及装置,包括:基于kafka中的内存数据,确定结构化查询语言树;其中,所述内存数据包括实时流任务对应的实时流数据;基于所述结构化查询语言树,对所述实时流数据进行截断,生成所述实时流数据对应的截断表;通过预设的查询条件,从所述截断表中查询目标数据。本发明专利技术能够提高数据查询效率。提高数据查询效率。提高数据查询效率。

【技术实现步骤摘要】
一种基于kafka的数据查询方法及装置


[0001]本专利技术涉及大数据分析领域,具体而言,涉及一种基于kafka的数据查询方法及装置。

技术介绍

[0002]目前,在大数据分析领域,kafka作为消息中间件,是大数据分析中不可或缺的环节。其中,kafka是一种高吞吐量的分布式发布订阅消息系统,可以处理消费者在网站中的所有动作流数据。
[0003]在实践中发现,经常需要在kafka内部存储的消息中进行数据查询。对此,现有的数据查询方法是通过命令行编写结构化查询语言实现查询。但是,这种数据查询方法存在着繁琐、查询效率较低的问题。
[0004]针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

[0005]本专利技术实施例提供了一种基于kafka的数据查询方法及装置,以至少提高数据查询效率。
[0006]根据本专利技术实施例的一个方面,提供了一种基于kafka的数据查询方法,所述方法包括:基于kafka中的内存数据,确定结构化查询语言树;其中,所述内存数据包括实时流任务对应的实时流数据;基于所述结构化查询语言树,对所述实时流数据进行截断,生成所述实时流数据对应的截断表;通过预设的查询条件,从所述截断表中查询目标数据。
[0007]作为一种可选的实施方式,所述方法还包括:为所述实时流任务设置有限数据标志和结束偏移位置,以允许所述实时流任务消费kafka中的内存数据。
[0008]作为一种可选的实施方式,所述内存数据存储于kafka中的环形数据缓冲区,以及,所述通过预设的查询条件,从所述截断表中查询目标数据,包括:确定所述预设的查询条件相匹配的查询数据量信息;确定与所述查询数据量信息相匹配的缓冲区大小信息;从所述环形数据缓冲区中确定与所述缓冲区大小信息相匹配的目标缓冲区;通过所述预设的查询条件,从所述截断表中确定对应的所述目标数据,并将所述目标数据读取至所述目标缓冲区。
[0009]作为一种可选的实施方式,所述方法还包括:通过所述环形数据缓冲区,向kafka中写入数据和消费数据。
[0010]作为一种可选的实施方式,通过所述预设的查询条件,从所述截断表中确定对应的所述目标数据,并将所述目标数据读取至所述目标缓冲区,包括:解析所述预设的查询条件,得到结构化查询语言表字段;从所述截断表中,确定与所述结构化查询语言表字段对应的所述目标数据,并将所述目标数据读取至所述目标缓冲区。
[0011]作为一种可选的实施方式,基于所述结构化查询语言树,对所述实时流数据进行截断,生成所述实时流数据对应的截断表,包括:如果所述预设的查询条件包含指定查询粒
度,基于所述结构化查询语言树,对于所述指定查询粒度相对应的所述实时流数据进行截断,生成所述实时流数据对应的截断表。
[0012]作为一种可选的实施方式,所述预设的查询条件包括时间查询条件;以及,所述方法还包括:对kafka中的内存数据进行定时消费。
[0013]作为一种可选的实施方式,所述方法还包括:基于所述目标数据,确定业务分析结果。
[0014]根据本专利技术实施例的另一方面,还提供了一种基于kafka的数据查询装置,包括:数据映射单元,用于基于kafka中的内存数据,确定结构化查询语言树;其中,所述内存数据包括实时流任务对应的实时流数据;截断表生成单元,用于基于所述结构化查询语言树,对所述实时流数据进行截断,生成所述实时流数据对应的截断表;数据查询单元,用于通过预设的查询条件,从所述截断表中查询目标数据。
[0015]作为一种可选的实施方式,所述装置还包括:任务设置单元,用于为所述实时流任务设置有限数据标志和结束偏移位置,以允许所述实时流任务消费kafka中的内存数据。
[0016]作为一种可选的实施方式,所述内存数据存储于kafka中的环形数据缓冲区,以及,所述数据查询单元具体用于:确定所述预设的查询条件相匹配的查询数据量信息;确定与所述查询数据量信息相匹配的缓冲区大小信息;从所述环形数据缓冲区中确定与所述缓冲区大小信息相匹配的目标缓冲区;通过所述预设的查询条件,从所述截断表中确定对应的所述目标数据,并将所述目标数据读取至所述目标缓冲区。
[0017]作为一种可选的实施方式,所述装置还包括:数据处理单元,用于通过所述环形数据缓冲区,向kafka中写入数据和消费数据。
[0018]作为一种可选的实施方式,数据查询单元具体用于:解析所述预设的查询条件,得到结构化查询语言表字段;从所述截断表中,确定与所述结构化查询语言表字段对应的所述目标数据,并将所述目标数据读取至所述目标缓冲区。
[0019]作为一种可选的实施方式,截断表生成单元具体用于:如果所述预设的查询条件包含指定查询粒度,基于所述结构化查询语言树,对于所述指定查询粒度相对应的所述实时流数据进行截断,生成所述实时流数据对应的截断表。
[0020]作为一种可选的实施方式,所述预设的查询条件包括时间查询条件;以及,所述数据处理单元还用于:对kafka中的内存数据进行定时消费。
[0021]作为一种可选的实施方式,所述数据处理单元还用于:基于所述目标数据,确定业务分析结果。
[0022]根据本专利技术实施例的又一方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述基于kafka的数据查询方法。
[0023]根据本专利技术实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的基于kafka的数据查询方法。
[0024]在本专利技术实施例中,通过将kafka中的内存数据映射为结构化查询语言树,直接截断实时流数据,生成截断表,从截断表中查询所需要的目标数据,实现了复杂地、实时流地查询,从而提高了数据查询效率。
附图说明
[0025]此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:
[0026]图1是根据本专利技术实施例的一种可选的基于kafka的数据查询方法的流程图;
[0027]图2是根据本专利技术实施例的一种可选的基于kafka的数据查询装置的结构示意图;
[0028]图3是根据本专利技术实施例的一种可选的电子装置的结构示意图。
具体实施方式
[0029]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0030]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于kafka的数据查询方法,其特征在于,包括:基于kafka中的内存数据,确定结构化查询语言树;其中,所述内存数据包括实时流任务对应的实时流数据;基于所述结构化查询语言树,对所述实时流数据进行截断,生成所述实时流数据对应的截断表;通过预设的查询条件,从所述截断表中查询目标数据。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:为所述实时流任务设置有限数据标志和结束偏移位置,以允许所述实时流任务消费kafka中的内存数据。3.根据权利要求1所述的方法,其特征在于,所述内存数据存储于kafka中的环形数据缓冲区,以及所述通过预设的查询条件,从所述截断表中查询目标数据,包括:确定所述预设的查询条件相匹配的查询数据量信息;确定与所述查询数据量信息相匹配的缓冲区大小信息;从所述环形数据缓冲区中确定与所述缓冲区大小信息相匹配的目标缓冲区;通过所述预设的查询条件,从所述截断表中确定对应的所述目标数据,并将所述目标数据读取至所述目标缓冲区。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:通过所述环形数据缓冲区,向kafka中写入数据和消费数据。5.根据权利要求3所述的方法,其特征在于,通过所述预设的查询条件,从所述截断表中确定对应的所述目标数据,并将所述目标数据读取至所述目标缓冲区,包括:解析所述预设的查询条件,得到结构化查询语言表字...

【专利技术属性】
技术研发人员:李玮林郭行飞
申请(专利权)人:中新宽维传媒科技有限公司
类型:发明
国别省市:

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

1