数据查询方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:28060052 阅读:13 留言:0更新日期:2021-04-14 13:36
本发明专利技术涉及数据处理技术领域,提供一种数据查询方法、装置、计算机设备及存储介质,包括:将异构数据源中的数据存储在ClickHouse集群中,并采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储;当接收到数据查询请求时,通过网关对所述数据查询请求进行拦截操作,并提取所述数据查询请求中查询数据的数据编码;对所述数据编码进行映射,得到所述ClickHouse集群中的引擎标识;根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求;路由所述引擎查询请求到所述引擎标识对应的引擎中进行数据查询。本发明专利技术能够提高异构数据源的数据查询效率。构数据源的数据查询效率。构数据源的数据查询效率。

【技术实现步骤摘要】
数据查询方法、装置、计算机设备及存储介质


[0001]本专利技术涉及数据处理
,具体涉及一种数据查询方法、装置、计算机设备及存储介质。

技术介绍

[0002]在做数据服务的时候,由于数据的特性以及数据量多少的问题会将数据存放到不同的存储引擎进行加工处理。
[0003]然而,专利技术人在实现本专利技术的过程中发现,当需要查询数据时,由于数据存储在不同的存储引擎,则需要开发一套通用路由服务来进行聚合查询,目前没有很好的方案能够解决跨数据库之间数据表的关联聚合分析问题;且查询数据的时候需要集成各种大数据组件,且需要查询者知道底层存储在哪里,而且后续增加组件的时候又需要开发一套组件,系统复杂度高,导致数据查询效率低。

技术实现思路

[0004]鉴于以上内容,有必要提出一种数据查询方法、装置、计算机设备及存储介质,能够提高异构数据源的数据查询效率。
[0005]本专利技术的第一方面提供一种数据查询方法,所述方法包括:
[0006]将异构数据源中的数据存储在ClickHouse集群中,并采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储;
[0007]当接收到数据查询请求时,通过网关对所述数据查询请求进行拦截操作,并提取所述数据查询请求中查询数据的数据编码;
[0008]对所述数据编码进行映射,得到所述ClickHouse集群中的引擎标识;
[0009]根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求;
[0010]路由所述引擎查询请求到所述引擎标识对应的引擎中进行数据查询。
[0011]在一个可选的实施例中,所述采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储包括:
[0012]从哈希函数集合中任意选取K个哈希函数构造多个哈希函数子集;
[0013]根据所述多个哈希函数子集在ClickHouse集群中创建多个分区,并计算每个分区的分区索引;
[0014]采用每个哈希函数子集中的每个哈希函数将所述数据映射到哈希桶中;
[0015]根据所述哈希桶的个数确定存储所述数据的多个目标分区,并将所述目标分区的分区索引进行顺序排序,并将所述数据存储于排序在第一的在分区索引对应的目标分区中。
[0016]在一个可选的实施例中,所述根据所述多个哈希函数子集在ClickHouse集群中创建多个分区,并计算每个分区的分区索引包括:
[0017]计算所述多个哈希函数子集的子集数;
[0018]根据所述子集数在ClickHouse集群中创建多个分区,每个分区对应一个哈希函数子集;
[0019]确定每个哈希函数子集中每个哈希函数在所述哈希函数集合中的位置索引;
[0020]根据每个哈希函数子集中的多个位置索引计算对应所述哈希函数子集的分区的分区索引。
[0021]在一个可选的实施例中,所述根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求包括:
[0022]解析所述数据查询请求得到第一IP地址和第一端口地址;
[0023]根据所述引擎标识更新所述第一IP地址得到第二IP地址;
[0024]根据所述引擎标识更新所述第一端口地址得到第二端口地址;
[0025]基于所述第二IP地址及所述第二端口地址生成引擎查询请求。
[0026]在一个可选的实施例中,所述将异构数据源中的数据存储在ClickHouse集群中包括:
[0027]识别所述异构数据源中的数据的数据源;
[0028]当所述数据源为第一类型数据源时,匹配与所述第一类型数据源对应的第一引擎,并采用所述第一引擎将所述第一类型数据源中的数据存储在ClickHouse集群中;
[0029]当所述数据源为第二类型数据源时,匹配与所述第二类型数据源对应的第二引擎,并采用所述第二引擎将所述第二类型数据源中的数据存储在ClickHouse集群中。
[0030]在一个可选的实施例中,所述采用所述第一引擎将所述第一类型数据源中的数据存储在ClickHouse集群中包括:
[0031]提取所述第一类型数据源中的数据的第一字段;
[0032]将所述第一字段的字段类型映射为所述ClickHouse集群中的第二字段的字段类型;
[0033]采用所述第一引擎基于所述第二字段的字段类型将所述第一类型数据源中的数据存储在ClickHouse集群中。
[0034]在一个可选的实施例中,所述方法还包括:
[0035]响应于所述ClickHouse集群中的目标引擎的更换指令,获取所述目标引擎的目标引擎标识;
[0036]确定所述目标引擎中的目标数据的目标数据编码;
[0037]根据所述目标数据编码及所述目标引擎标识对所述网关进行染色处理。
[0038]本专利技术的第二方面提供一种数据查询装置,所述装置包括:
[0039]存储模块,用于将异构数据源中的数据存储在ClickHouse集群中,并采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储;
[0040]拦截模块,用于当接收到数据查询请求时,通过网关对所述数据查询请求进行拦截操作,并提取所述数据查询请求中查询数据的数据编码;
[0041]映射模块,用于对所述数据编码进行映射,得到所述ClickHouse集群中的引擎标识;
[0042]转换模块,用于根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求;
[0043]查询模块,用于路由所述引擎查询请求到所述引擎标识对应的引擎中进行数据查询。
[0044]本专利技术的第三方面提供一种计算机设备,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述数据查询方法。
[0045]本专利技术的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述数据查询方法。
[0046]综上所述,本专利技术所述的数据查询方法、装置、计算机设备及存储介质,首先将异构数据源中的数据存储在ClickHouse集群中,能解决异构数据源里面数据表的关联聚合以及排序问题,基于ClickHouse的列式存储和MPP并行化查询提升海量数据的查询性能;同时采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储,便于后续进行数据查询时,能够从对应的分区分桶中查询数据,进一步提高数据的查询效率;在接收到数据查询请求时,线通过网关对所述数据查询请求进行拦截操作,并提取所述数据查询请求中查询数据的数据编码,接着对所述数据编码进行映射,得到所述ClickHouse集群中的引擎标识;根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求,从而转换成对应引擎的HTTP请求方式查询数据,最后路由所述引擎查询请求到所述引擎标识对应的引擎中进行数据查询,提高了数据查询效率。
附图说明
[0047]图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据查询方法,其特征在于,所述方法包括:将异构数据源中的数据存储在ClickHouse集群中,并采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储;当接收到数据查询请求时,通过网关对所述数据查询请求进行拦截操作,并提取所述数据查询请求中查询数据的数据编码;对所述数据编码进行映射,得到所述ClickHouse集群中的引擎标识;根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求;路由所述引擎查询请求到所述引擎标识对应的引擎中进行数据查询。2.如权利要求1所述的数据查询方法,其特征在于,所述采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储包括:从哈希函数集合中任意选取K个哈希函数构造多个哈希函数子集;根据所述多个哈希函数子集在ClickHouse集群中创建多个分区,并计算每个分区的分区索引;采用每个哈希函数子集中的每个哈希函数将所述数据映射到哈希桶中;根据所述哈希桶的个数确定存储所述数据的多个目标分区,并将所述多个目标分区的分区索引进行顺序排序,将所述数据存储于排序在第一的分区索引对应的目标分区中。3.如权利要求2所述的数据查询方法,其特征在于,所述根据所述多个哈希函数子集在ClickHouse集群中创建多个分区,并计算每个分区的分区索引包括:计算所述多个哈希函数子集的子集数;根据所述子集数在ClickHouse集群中创建多个分区,每个分区对应一个哈希函数子集;确定每个哈希函数子集中每个哈希函数在所述哈希函数集合中的位置索引;根据每个哈希函数子集中的多个位置索引计算对应所述哈希函数子集的分区的分区索引。4.如权利要求1所述的数据查询方法,其特征在于,所述根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求包括:解析所述数据查询请求得到第一IP地址和第一端口地址;根据所述引擎标识更新所述第一IP地址得到第二IP地址;根据所述引擎标识更新所述第一端口地址得到第二端口地址;基于所述第二IP地址及所述第二端口地址生成引擎查询请求。5.如权利要求1至4中任意一项所述的数据查询方法,其特征在于,所述将异构数据源中的数据存储在ClickHouse集群中包括:识别所述异构数...

【专利技术属性】
技术研发人员:罗华
申请(专利权)人:中国平安人寿保险股份有限公司
类型:发明
国别省市:

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

1