CN112650759A - 数据查询方法、装置、计算机设备及存储介质 - Google Patents
数据查询方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112650759A CN112650759A CN202011644405.0A CN202011644405A CN112650759A CN 112650759 A CN112650759 A CN 112650759A CN 202011644405 A CN202011644405 A CN 202011644405A CN 112650759 A CN112650759 A CN 112650759A
- Authority
- CN
- China
- Prior art keywords
- data
- engine
- query
- hash function
- query request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000003860 storage Methods 0.000 title claims abstract description 39
- 238000013507 mapping Methods 0.000 claims abstract description 35
- 238000006243 chemical reaction Methods 0.000 claims abstract description 19
- 230000006870 function Effects 0.000 claims description 144
- 238000005192 partition Methods 0.000 claims description 128
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 238000004043 dyeing Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 8
- 238000000586 desensitisation Methods 0.000 description 12
- 230000002776 aggregation Effects 0.000 description 6
- 238000004220 aggregation Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004040 coloring Methods 0.000 description 2
- 238000012517 data analytics Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010186 staining Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据处理技术领域,提供一种数据查询方法、装置、计算机设备及存储介质,包括:将异构数据源中的数据存储在ClickHouse集群中,并采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储;当接收到数据查询请求时,通过网关对所述数据查询请求进行拦截操作,并提取所述数据查询请求中查询数据的数据编码;对所述数据编码进行映射,得到所述ClickHouse集群中的引擎标识;根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求;路由所述引擎查询请求到所述引擎标识对应的引擎中进行数据查询。本发明能够提高异构数据源的数据查询效率。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种数据查询方法、装置、计算机设备及存储介质。
背景技术
在做数据服务的时候,由于数据的特性以及数据量多少的问题会将数据存放到不同的存储引擎进行加工处理。
然而,发明人在实现本发明的过程中发现,当需要查询数据时,由于数据存储在不同的存储引擎,则需要开发一套通用路由服务来进行聚合查询,目前没有很好的方案能够解决跨数据库之间数据表的关联聚合分析问题;且查询数据的时候需要集成各种大数据组件,且需要查询者知道底层存储在哪里,而且后续增加组件的时候又需要开发一套组件,系统复杂度高,导致数据查询效率低。
发明内容
鉴于以上内容,有必要提出一种数据查询方法、装置、计算机设备及存储介质,能够提高异构数据源的数据查询效率。
本发明的第一方面提供一种数据查询方法,所述方法包括:
将异构数据源中的数据存储在ClickHouse集群中,并采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储;
当接收到数据查询请求时,通过网关对所述数据查询请求进行拦截操作,并提取所述数据查询请求中查询数据的数据编码;
对所述数据编码进行映射,得到所述ClickHouse集群中的引擎标识;
根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求;
路由所述引擎查询请求到所述引擎标识对应的引擎中进行数据查询。
在一个可选的实施例中,所述采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储包括:
从哈希函数集合中任意选取K个哈希函数构造多个哈希函数子集;
根据所述多个哈希函数子集在ClickHouse集群中创建多个分区,并计算每个分区的分区索引;
采用每个哈希函数子集中的每个哈希函数将所述数据映射到哈希桶中;
根据所述哈希桶的个数确定存储所述数据的多个目标分区,并将所述目标分区的分区索引进行顺序排序,并将所述数据存储于排序在第一的在分区索引对应的目标分区中。
在一个可选的实施例中,所述根据所述多个哈希函数子集在ClickHouse集群中创建多个分区,并计算每个分区的分区索引包括:
计算所述多个哈希函数子集的子集数;
根据所述子集数在ClickHouse集群中创建多个分区,每个分区对应一个哈希函数子集;
确定每个哈希函数子集中每个哈希函数在所述哈希函数集合中的位置索引;
根据每个哈希函数子集中的多个位置索引计算对应所述哈希函数子集的分区的分区索引。
在一个可选的实施例中,所述根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求包括:
解析所述数据查询请求得到第一IP地址和第一端口地址;
根据所述引擎标识更新所述第一IP地址得到第二IP地址;
根据所述引擎标识更新所述第一端口地址得到第二端口地址;
基于所述第二IP地址及所述第二端口地址生成引擎查询请求。
在一个可选的实施例中,所述将异构数据源中的数据存储在ClickHouse集群中包括:
识别所述异构数据源中的数据的数据源;
当所述数据源为第一类型数据源时,匹配与所述第一类型数据源对应的第一引擎,并采用所述第一引擎将所述第一类型数据源中的数据存储在ClickHouse集群中;
当所述数据源为第二类型数据源时,匹配与所述第二类型数据源对应的第二引擎,并采用所述第二引擎将所述第二类型数据源中的数据存储在ClickHouse集群中。
在一个可选的实施例中,所述采用所述第一引擎将所述第一类型数据源中的数据存储在ClickHouse集群中包括:
提取所述第一类型数据源中的数据的第一字段;
将所述第一字段的字段类型映射为所述ClickHouse集群中的第二字段的字段类型;
采用所述第一引擎基于所述第二字段的字段类型将所述第一类型数据源中的数据存储在ClickHouse集群中。
在一个可选的实施例中,所述方法还包括:
响应于所述ClickHouse集群中的目标引擎的更换指令,获取所述目标引擎的目标引擎标识;
确定所述目标引擎中的目标数据的目标数据编码;
根据所述目标数据编码及所述目标引擎标识对所述网关进行染色处理。
本发明的第二方面提供一种数据查询装置,所述装置包括:
存储模块,用于将异构数据源中的数据存储在ClickHouse集群中,并采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储;
拦截模块,用于当接收到数据查询请求时,通过网关对所述数据查询请求进行拦截操作,并提取所述数据查询请求中查询数据的数据编码;
映射模块,用于对所述数据编码进行映射,得到所述ClickHouse集群中的引擎标识;
转换模块,用于根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求;
查询模块,用于路由所述引擎查询请求到所述引擎标识对应的引擎中进行数据查询。
本发明的第三方面提供一种计算机设备,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述数据查询方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述数据查询方法。
综上所述,本发明所述的数据查询方法、装置、计算机设备及存储介质,首先将异构数据源中的数据存储在ClickHouse集群中,能解决异构数据源里面数据表的关联聚合以及排序问题,基于ClickHouse的列式存储和MPP并行化查询提升海量数据的查询性能;同时采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储,便于后续进行数据查询时,能够从对应的分区分桶中查询数据,进一步提高数据的查询效率;在接收到数据查询请求时,线通过网关对所述数据查询请求进行拦截操作,并提取所述数据查询请求中查询数据的数据编码,接着对所述数据编码进行映射,得到所述ClickHouse集群中的引擎标识;根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求,从而转换成对应引擎的HTTP请求方式查询数据,最后路由所述引擎查询请求到所述引擎标识对应的引擎中进行数据查询,提高了数据查询效率。
附图说明
图1是本发明实施例一提供的数据查询方法的流程图。
图2是本发明实施例二提供的数据查询装置的结构图。
图3是本发明实施例三提供的计算机设备的结构示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
本发明实施例提供的数据查询方法由计算机设备执行,相应地,数据查询装置运行于计算机设备中。
图1是本发明实施例一提供的数据查询方法的流程图。所述数据查询方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
S11,将异构数据源中的数据存储在ClickHouse集群中,并采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储。
所述异构数据源中的数据是指来源于不同数据源的数据,即来源于不同存储引擎的数据。
ClickHouse为开源的数据分析性的数据库。
可以事先搭建ClickHouse集群的运行环境,然后将异构数据源中的多个数据整合在ClickHouse集群中。
在一个可选的实施例中,所述将异构数据源中的数据存储在ClickHouse集群中包括:
识别所述异构数据源中的数据的数据源;
当所述数据源为第一类型数据源时,匹配与所述第一类型数据源对应的第一引擎,并采用所述第一引擎将所述第一类型数据源中的数据存储在ClickHouse集群中;
当所述数据源为第二类型数据源时,匹配与所述第二类型数据源对应的第二引擎,并采用所述第二引擎将所述第二类型数据源中的数据存储在ClickHouse集群中。
其中,所述数据可以为库表型数据,也可以为文件型数据。
可以在获取数据的同时获取数据的标识信息,根据所述标识信息即可识别出所述数据的数据源。可以与本地数据库进行匹配来确定所述数据源的类型,其中,所述本地数据库中记录了数据源与数据源类型之间的第一映射关系及数据源类型与引擎标识之间的第二映射关系,根据所述第一映射关系可以确定出所述数据的数据源类型,根据所述第二映射关系可以确定采用何种引擎来存储所述数据。
示例性的,可以采用ClickHouse的JDBC引擎将处在不同关系型数据库里面的数据整合到ClickHouse集群里面,这样处理可以整合oracle、mysql、PostgreSQL等关系型数据库里面的数据,可以采用ClickHouse的HDFS引擎将处在Hadoop上面的数据文件整合到ClickHouse集群里面。
该可选的实施例中,通过采用不同的引擎将异构数据源的数据整合到ClickHouse集群中,对于上层系统的用户而言,不需要关心底层存储引擎,同时能优雅地解决异构数据源里面数据表的关联聚合以及排序问题,还能基于ClickHouse的列式存储和MPP并行化查询提升海量数据的查询性能。
在一个可选的实施例中,所述采用所述第一引擎将所述第一类型数据源中的数据存储在ClickHouse集群中包括:
提取所述第一类型数据源中的数据的第一字段;
将所述第一字段的字段类型映射为所述ClickHouse集群中的第二字段的字段类型;
采用所述第一引擎基于所述第二字段的字段类型将所述第一类型数据源中的数据存储在ClickHouse集群中。
将不同关系型数据库中的数据的字段类型与ClickHouse做一个映射,例如mysql里面的int型映射为ClickHouse中Uint16类型,varchar型映射为String类型,json型映射为字符串String型的。
该可选的实施例中,根据字段的字段类型将数据存储为ClickHouse集群中统一的字段类型,确保数据格式统一,便于后续进行数据查询。
在一个可选的实施例中,所述采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储包括:
从哈希函数集合中任意选取K个哈希函数构造多个哈希函数子集;
根据所述多个哈希函数子集在ClickHouse集群中创建多个分区,并计算每个分区的分区索引;
采用每个哈希函数子集中的每个哈希函数将所述数据映射到哈希桶中;
根据所述哈希桶的个数确定存储所述数据的多个目标分区,并将所述目标分区的分区索引进行顺序排序,并将所述数据存储于排序在第一的在分区索引对应的目标分区中。
其中,所述哈希函数集合可以包括基于比特取样的敏感哈希函数(LocalitySensitive Hash,LSH)、基于最小独立置换的LSH、基于随机投影的LSH、基于Lattice的LSH以及基于P稳定分布的LSH。
使用哈希函数子集中的哈希函数计算所述数据的哈希值,所述哈希值作为哈希桶的标识,最后计算所有哈希桶的个数之和,从而根据哈希桶的个数来确定所述数据可以存储在哪一个分区中。具体实施时,可以将哈希桶的个数越少的哈希桶所在的分区确定为目标分区。当有多个目标分区时,将具有最小分区索引的目标分区确定为最终存储所述数据的目标分区,并存储在哈希桶的桶号索引最小的哈希桶中。将所述目标分区的分区索引及最小的桶号索引连接起来作为所述数据的数据编码。该可选的实施例中,通过哈希函数将数据映射到哈希桶,能够很好的将数据均匀的分散在ClickHouse集群中,能够有效的避免数据倾斜,提高了ClickHouse集群的性能和资源使用率,确保了ClickHouse集群的稳定性;此外,根据哈希桶的个数来确定存储所述数据的目标分区,能够后续查询数据时,能够减少计算量,快速的确定查询的数据所在的目标分区。
在一个可选的实施例中,所述根据所述多个哈希函数子集在ClickHouse集群中创建多个分区,并计算每个分区的分区索引包括:
计算所述多个哈希函数子集的子集数;
根据所述子集数在ClickHouse集群中创建多个分区,每个分区对应一个哈希函数子集;
确定每个哈希函数子集中每个哈希函数在所述哈希函数集合中的位置索引;
根据每个哈希函数子集中的多个位置索引计算对应所述哈希函数子集的分区的分区索引。
示例性的,假设有10个哈希函数子集,则创建10个分区,每个分区对应一个哈希函数子集。第1个哈希函数子集包括3个哈希函数,这3个哈希函数在哈希函数集合中的位置索引分别为2,5,8,则第1个哈希函数子集对应的第1个分区的分区索引可以为258。第2个哈希函数子集包括3个哈希函数,这3个哈希函数在哈希函数集合中的位置索引分别为5,2,9,则第1个哈希函数子集对应的第1个分区的分区索引可以为529。
由于选取出个哈希函数子集,则对应创建个分区,对于第一个数据而言,依次使用个哈希函数子集中的每个哈希函数子集中的哈希函数计算第一个数据的哈希值,哈希值作为哈希桶的标识,相同的哈希值具有相同的哈希桶,计算每一个分区中所有哈希桶的个数之和,将哈希桶的个数最小的分区确定为目标分区。如果目标分区有多个,则将目标分区的索引最小的分区确定为第一个数据存储的目标分区。加入存储第一个数据的目标分区为分区2,哈希桶为2,3,8,则将桶号索引2对应的哈希桶确定为存储第一个数据的哈希桶。
该可选的实施例中,根据哈希函数子集中的哈希函数在所述哈希函数集合中的位置索引来计算对应的分区索引,计算效率更高。
S12,当接收到数据查询请求时,通过网关对所述数据查询请求进行拦截操作,并提取所述数据查询请求中查询数据的数据编码。
用户可以在计算机设备显示的页面的搜索框中输入查询关键词来触发数据查询请求。
计算机设备响应于所述数据查询请求,发送所述数据查询请求至网关,网关调用拦截函数执行对所述数据查询请求的拦截操作。
具体实施时,可以使用每个分区对应的哈希函数子集中的每个哈希函数将所述查询数据映射到哈希桶中,然后根据所述哈希桶的个数确定存储所述数据的查询分区,根据所述目标分区的分区索引及最小的哈希桶的桶索引生成所述数据的数据编码。
S13,对所述数据编码进行映射,得到所述ClickHouse集群中的引擎标识。
计算机设备中存储有ClickHouse集群中引擎的引擎标识及对应引擎中的数据的数据编码之间的映射关系,根据该映射关系可以确定所述查询数据对应的引擎标识。
S14,根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求。
不同的查询用户可能输入的查询请求的协议不同,为便于快速从ClickHouse集群中查询到查询数据,则需要根据引擎标识进行协议转换。
在一个可选的实施例中,所述根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求包括:
解析所述数据查询请求得到第一IP地址和第一端口地址;
根据所述引擎标识更新所述第一IP地址得到第二IP地址;
根据所述引擎标识更新所述第一端口地址得到第二端口地址;
基于所述第二IP地址及所述第二端口地址生成引擎查询请求。
示例性的,假设网关拦截到的数据查询请求是用SQL语句编写的,例如,select*from T1 where account_code=’AC001’,然后提取查询数据AC001的数据编码,再确定数据编码对应的查询引擎的查询引擎标识。再根据所述查询引擎标识确定IP地址和端口,进而转换成对应引擎的HTTP请求方式查询数据。
该可选的实施例中,在查询数据时,在网关做个协议转换,全部转换成通用的HTTP协议请求,以便方便集成新的大数据组件同时对于上层指标数据的查询用户使用透明。
S15,路由所述引擎查询请求到所述引擎标识对应的引擎中进行数据查询。
将前端传过来的请求经过网关后转换成HTTP请求,然后路由到引擎标识对应的引擎,这样转换成通用的HTTP协议之后使得查询数据更通用而且适配性更好,只需要前端用户接入网关即可轻松实现指标数据的查询,解耦系统架构,降低了使用者的学习成本以及系统的复杂度。
在一个可选的实施例中,所述方法还包括:
响应于所述ClickHouse集群中的目标引擎的更换指令,获取所述目标引擎的目标引擎标识;
确定所述目标引擎中的目标数据的目标数据编码;
根据所述目标数据编码及所述目标引擎标识对所述网关进行染色处理。
当在ClickHouse集群中添加了某个目标引擎时,则会触发目标引擎的更换指令。
网关染色是指将新添加的目标引擎的引擎标识及目标引擎中的数据的数据编码关联存储在网关中的redis里面。
该可选的实施例中,通过对网关进行染色处理,使得需要更换引擎时,只需要在网关中修改对应的信息即可,如此,在查询的时候便不需要传递具体的引擎标识,减少了前端查询的改动量,进一步提高了查询的效率。
在一个可选的实施例中,所述方法还包括:提取查询到的数据中的多个数据字段;确定所述多个数据字段中的目标数据字段;对所述目标数据字段进行脱敏处理;返回脱敏处理的数据。
计算机设备中预先配置有脱敏配置表,所述脱敏配置表中记录了需要进行脱敏处理的字段。
为了提高数据的安全性,在查询到数据之后,将查询到的数据的数据字段与脱敏配置表中的多个进行脱敏处理的字段进行逐一匹配,当匹配成功时,对匹配成功的数据字段进行脱敏处理。
需要强调的是,为进一步保证上述目标引擎的引擎标识及目标引擎中的数据的数据编码的关联关系的私密性和安全性,上述目标引擎的引擎标识及目标引擎中的数据的数据编码的关联关系可存储于区块链的节点中。
本发明实施例所述的数据查询方法,首先将异构数据源中的数据存储在ClickHouse集群中,能解决异构数据源里面数据表的关联聚合以及排序问题,基于ClickHouse的列式存储和MPP并行化查询提升海量数据的查询性能;同时采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储,便于后续进行数据查询时,能够从对应的分区分桶中查询数据,进一步提高数据的查询效率;在接收到数据查询请求时,线通过网关对所述数据查询请求进行拦截操作,并提取所述数据查询请求中查询数据的数据编码,接着对所述数据编码进行映射,得到所述ClickHouse集群中的引擎标识;根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求,从而转换成对应引擎的HTTP请求方式查询数据,最后路由所述引擎查询请求到所述引擎标识对应的引擎中进行数据查询,提高了数据查询效率。
图2是本发明实施例二提供的数据查询装置的结构图。
在一些实施例中,所述数据查询装置20可以包括多个由计算机程序段所组成的功能模块。所述数据查询装置20中的各个程序段的计算机程序可以存储于计算机设备的存储器中,并由至少一个处理器所执行,以执行(详见图1描述)数据查询的功能。
本实施例中,所述数据查询装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:存储模块201、拦截模块202、映射模块203、转换模块204、查询模块205及染色模块206。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
所述存储模块201,用于将异构数据源中的数据存储在ClickHouse集群中,并采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储。
所述异构数据源中的数据是指来源于不同数据源的数据,即来源于不同存储引擎的数据。
ClickHouse为开源的数据分析性的数据库。
可以事先搭建ClickHouse集群的运行环境,然后将异构数据源中的多个数据整合在ClickHouse集群中。
在一个可选的实施例中,所述存储模块201将异构数据源中的数据存储在ClickHouse集群中包括:
识别所述异构数据源中的数据的数据源;
当所述数据源为第一类型数据源时,匹配与所述第一类型数据源对应的第一引擎,并采用所述第一引擎将所述第一类型数据源中的数据存储在ClickHouse集群中;
当所述数据源为第二类型数据源时,匹配与所述第二类型数据源对应的第二引擎,并采用所述第二引擎将所述第二类型数据源中的数据存储在ClickHouse集群中。
其中,所述数据可以为库表型数据,也可以为文件型数据。
可以在获取数据的同时获取数据的标识信息,根据所述标识信息即可识别出所述数据的数据源。可以与本地数据库进行匹配来确定所述数据源的类型,其中,所述本地数据库中记录了数据源与数据源类型之间的第一映射关系及数据源类型与引擎标识之间的第二映射关系,根据所述第一映射关系可以确定出所述数据的数据源类型,根据所述第二映射关系可以确定采用何种引擎来存储所述数据。
示例性的,可以采用ClickHouse的JDBC引擎将处在不同关系型数据库里面的数据整合到ClickHouse集群里面,这样处理可以整合oracle、mysql、PostgreSQL等关系型数据库里面的数据,可以采用ClickHouse的HDFS引擎将处在Hadoop上面的数据文件整合到ClickHouse集群里面。
该可选的实施例中,通过采用不同的引擎将异构数据源的数据整合到ClickHouse集群中,对于上层系统的用户而言,不需要关心底层存储引擎,同时能优雅地解决异构数据源里面数据表的关联聚合以及排序问题,还能基于ClickHouse的列式存储和MPP并行化查询提升海量数据的查询性能。
在一个可选的实施例中,所述采用所述第一引擎将所述第一类型数据源中的数据存储在ClickHouse集群中包括:
提取所述第一类型数据源中的数据的第一字段;
将所述第一字段的字段类型映射为所述ClickHouse集群中的第二字段的字段类型;
采用所述第一引擎基于所述第二字段的字段类型将所述第一类型数据源中的数据存储在ClickHouse集群中。
将不同关系型数据库中的数据的字段类型与ClickHouse做一个映射,例如mysql里面的int型映射为ClickHouse中Uint16类型,varchar型映射为String类型,json型映射为字符串String型的。
该可选的实施例中,根据字段的字段类型将数据存储为ClickHouse集群中统一的字段类型,确保数据格式统一,便于后续进行数据查询。
在一个可选的实施例中,所述采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储包括:
从哈希函数集合中任意选取K个哈希函数构造多个哈希函数子集;
根据所述多个哈希函数子集在ClickHouse集群中创建多个分区,并计算每个分区的分区索引;
采用每个哈希函数子集中的每个哈希函数将所述数据映射到哈希桶中;
根据所述哈希桶的个数确定存储所述数据的多个目标分区,并将所述多个目标分区的分区索引进行顺序排序,将所述数据存储于排序在第一的分区索引对应的目标分区中。
其中,所述哈希函数集合可以包括基于比特取样的敏感哈希函数(LocalitySensitive Hash,LSH)、基于最小独立置换的LSH、基于随机投影的LSH、基于Lattice的LSH以及基于P稳定分布的LSH。
使用哈希函数子集中的哈希函数计算所述数据的哈希值,所述哈希值作为哈希桶的标识,最后计算所有哈希桶的个数之和,从而根据哈希桶的个数来确定所述数据可以存储在哪一个分区中。
具体实施时,可以将哈希桶的个数越少的哈希桶所在的分区确定为目标分区。当有多个目标分区时,将具有最小分区索引的目标分区确定为最终存储所述数据的目标分区,并存储在哈希桶的桶号索引最小的哈希桶中。将所述目标分区的分区索引及最小的桶号索引连接起来作为所述数据的数据编码。
该可选的实施例中,通过哈希函数将数据映射到哈希桶,能够很好的将数据均匀的分散在ClickHouse集群中,能够有效的避免数据倾斜,提高了ClickHouse集群的性能和资源使用率,确保了ClickHouse集群的稳定性;此外,根据哈希桶的个数来确定存储所述数据的目标分区,能够后续查询数据时,能够减少计算量,快速的确定查询的数据所在的目标分区。
在一个可选的实施例中,所述根据所述多个哈希函数子集在ClickHouse集群中创建多个分区,并计算每个分区的分区索引包括:
计算所述多个哈希函数子集的子集数;
根据所述子集数在ClickHouse集群中创建多个分区,每个分区对应一个哈希函数子集;
确定每个哈希函数子集中每个哈希函数在所述哈希函数集合中的位置索引;
根据每个哈希函数子集中的多个位置索引计算对应所述哈希函数子集的分区的分区索引。
示例性的,假设有10个哈希函数子集,则创建10个分区,每个分区对应一个哈希函数子集。第1个哈希函数子集包括3个哈希函数,这3个哈希函数在哈希函数集合中的位置索引分别为2,5,8,则第1个哈希函数子集对应的第1个分区的分区索引可以为258。第2个哈希函数子集包括3个哈希函数,这3个哈希函数在哈希函数集合中的位置索引分别为5,2,9,则第1个哈希函数子集对应的第1个分区的分区索引可以为529。
由于选取出C_30^10个哈希函数子集,则对应创建C_30^10个分区,对于第一个数据而言,依次使用C_30^10个哈希函数子集中的每个哈希函数子集中的哈希函数计算第一个数据的哈希值,哈希值作为哈希桶的标识,相同的哈希值具有相同的哈希桶,计算每一个分区中所有哈希桶的个数之和,将哈希桶的个数最小的分区确定为目标分区。如果目标分区有多个,则将目标分区的索引最小的分区确定为第一个数据存储的目标分区。加入存储第一个数据的目标分区为分区2,哈希桶为2,3,8,则将桶号索引2对应的哈希桶确定为存储第一个数据的哈希桶。
该可选的实施例中,根据哈希函数子集中的哈希函数在所述哈希函数集合中的位置索引来计算对应的分区索引,计算效率更高。
所述拦截模块202,用于当接收到数据查询请求时,通过网关对所述数据查询请求进行拦截操作,并提取所述数据查询请求中查询数据的数据编码。
用户可以在计算机设备显示的页面的搜索框中输入查询关键词来触发数据查询请求。
计算机设备响应于所述数据查询请求,发送所述数据查询请求至网关,网关调用拦截函数执行对所述数据查询请求的拦截操作。
具体实施时,可以使用每个分区对应的哈希函数子集中的每个哈希函数将所述查询数据映射到哈希桶中,然后根据所述哈希桶的个数确定存储所述数据的查询分区,根据所述目标分区的分区索引及最小的哈希桶的桶索引生成所述数据的数据编码。
所述映射模块203,用于对所述数据编码进行映射,得到所述ClickHouse集群中的引擎标识。
计算机设备中存储有ClickHouse集群中引擎的引擎标识及对应引擎中的数据的数据编码之间的映射关系,根据该映射关系可以确定所述查询数据对应的引擎标识。
所述转换模块204,用于根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求。
不同的查询用户可能输入的查询请求的协议不同,为便于快速从ClickHouse集群中查询到查询数据,则需要根据引擎标识进行协议转换。
在一个可选的实施例中,所述根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求包括:
解析所述数据查询请求得到第一IP地址和第一端口地址;
根据所述引擎标识更新所述第一IP地址得到第二IP地址;
根据所述引擎标识更新所述第一端口地址得到第二端口地址;
基于所述第二IP地址及所述第二端口地址生成引擎查询请求。
示例性的,假设网关拦截到的数据查询请求是用SQL语句编写的,例如,select*from T1 where account_code=’AC001’,然后提取查询数据AC001的数据编码,再确定数据编码对应的查询引擎的查询引擎标识。再根据所述查询引擎标识确定IP地址和端口,进而转换成对应引擎的HTTP请求方式查询数据。
该可选的实施例中,在查询数据时,在网关做个协议转换,全部转换成通用的HTTP协议请求,以便方便集成新的大数据组件同时对于上层指标数据的查询用户使用透明。
所述查询模块205,用于路由所述引擎查询请求到所述引擎标识对应的引擎中进行数据查询。
将前端传过来的请求经过网关后转换成HTTP请求,然后路由到引擎标识对应的引擎,这样转换成通用的HTTP协议之后使得查询数据更通用而且适配性更好,只需要前端用户接入网关即可轻松实现指标数据的查询,解耦系统架构,降低了使用者的学习成本以及系统的复杂度。
所述染色模块206,用于响应于所述ClickHouse集群中的目标引擎的更换指令,获取所述目标引擎的目标引擎标识;确定所述目标引擎中的目标数据的目标数据编码;根据所述目标数据编码及所述目标引擎标识对所述网关进行染色处理。
当在ClickHouse集群中添加了某个目标引擎时,则会触发目标引擎的更换指令。
网关染色是指将新添加的目标引擎的引擎标识及目标引擎中的数据的数据编码关联存储在网关中的redis里面。
该可选的实施例中,通过对网关进行染色处理,使得需要更换引擎时,只需要在网关中修改对应的信息即可,如此,在查询的时候便不需要传递具体的引擎标识,减少了前端查询的改动量,进一步提高了查询的效率。
在一个可选的实施例中,所述计算机设备还可以提取查询到的数据中的多个数据字段;确定所述多个数据字段中的目标数据字段;对所述目标数据字段进行脱敏处理;返回脱敏处理的数据。
计算机设备中预先配置有脱敏配置表,所述脱敏配置表中记录了需要进行脱敏处理的字段。
为了提高数据的安全性,在查询到数据之后,将查询到的数据的数据字段与脱敏配置表中的多个进行脱敏处理的字段进行逐一匹配,当匹配成功时,对匹配成功的数据字段进行脱敏处理。
需要强调的是,为进一步保证上述目标引擎的引擎标识及目标引擎中的数据的数据编码的关联关系的私密性和安全性,上述目标引擎的引擎标识及目标引擎中的数据的数据编码的关联关系可存储于区块链的节点中。
本发明实施例所述的数据查询装置,首先将异构数据源中的数据存储在ClickHouse集群中,能解决异构数据源里面数据表的关联聚合以及排序问题,基于ClickHouse的列式存储和MPP并行化查询提升海量数据的查询性能;同时采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储,便于后续进行数据查询时,能够从对应的分区分桶中查询数据,进一步提高数据的查询效率;在接收到数据查询请求时,线通过网关对所述数据查询请求进行拦截操作,并提取所述数据查询请求中查询数据的数据编码,接着对所述数据编码进行映射,得到所述ClickHouse集群中的引擎标识;根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求,从而转换成对应引擎的HTTP请求方式查询数据,最后路由所述引擎查询请求到所述引擎标识对应的引擎中进行数据查询,提高了数据查询效率。
参阅图3所示,为本发明实施例三提供的计算机设备的结构示意图。在本发明较佳实施例中,所述计算机设备3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。
本领域技术人员应该了解,图3示出的计算机设备的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述计算机设备3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
在一些实施例中,所述计算机设备3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述计算机设备3还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
需要说明的是,所述计算机设备3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
在一些实施例中,所述存储器31中存储有计算机程序,所述计算机程序被所述至少一个处理器32执行时实现如所述的数据查询方法中的全部或者部分步骤。所述存储器31包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
在一些实施例中,所述至少一个处理器32是所述计算机设备3的控制核心(Control Unit),利用各种接口和线路连接整个计算机设备3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行计算机设备3的各种功能和处理数据。例如,所述至少一个处理器32执行所述存储器中存储的计算机程序时实现本发明实施例中所述的数据查询方法的全部或者部分步骤;或者实现数据查询装置的全部或者部分功能。所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。
在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。
尽管未示出,所述计算机设备3还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述计算机设备3还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,计算机设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。本发明陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种数据查询方法,其特征在于,所述方法包括:
将异构数据源中的数据存储在ClickHouse集群中,并采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储;
当接收到数据查询请求时,通过网关对所述数据查询请求进行拦截操作,并提取所述数据查询请求中查询数据的数据编码;
对所述数据编码进行映射,得到所述ClickHouse集群中的引擎标识;
根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求;
路由所述引擎查询请求到所述引擎标识对应的引擎中进行数据查询。
2.如权利要求1所述的数据查询方法,其特征在于,所述采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储包括:
从哈希函数集合中任意选取K个哈希函数构造多个哈希函数子集;
根据所述多个哈希函数子集在ClickHouse集群中创建多个分区,并计算每个分区的分区索引;
采用每个哈希函数子集中的每个哈希函数将所述数据映射到哈希桶中;
根据所述哈希桶的个数确定存储所述数据的多个目标分区,并将所述多个目标分区的分区索引进行顺序排序,将所述数据存储于排序在第一的分区索引对应的目标分区中。
3.如权利要求2所述的数据查询方法,其特征在于,所述根据所述多个哈希函数子集在ClickHouse集群中创建多个分区,并计算每个分区的分区索引包括:
计算所述多个哈希函数子集的子集数;
根据所述子集数在ClickHouse集群中创建多个分区,每个分区对应一个哈希函数子集;
确定每个哈希函数子集中每个哈希函数在所述哈希函数集合中的位置索引;
根据每个哈希函数子集中的多个位置索引计算对应所述哈希函数子集的分区的分区索引。
4.如权利要求1所述的数据查询方法,其特征在于,所述根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求包括:
解析所述数据查询请求得到第一IP地址和第一端口地址;
根据所述引擎标识更新所述第一IP地址得到第二IP地址;
根据所述引擎标识更新所述第一端口地址得到第二端口地址;
基于所述第二IP地址及所述第二端口地址生成引擎查询请求。
5.如权利要求1至4中任意一项所述的数据查询方法,其特征在于,所述将异构数据源中的数据存储在ClickHouse集群中包括:
识别所述异构数据源中的数据的数据源;
当所述数据源为第一类型数据源时,匹配与所述第一类型数据源对应的第一引擎,并采用所述第一引擎将所述第一类型数据源中的数据存储在ClickHouse集群中;
当所述数据源为第二类型数据源时,匹配与所述第二类型数据源对应的第二引擎,并采用所述第二引擎将所述第二类型数据源中的数据存储在ClickHouse集群中。
6.如权利要求5所述的数据查询方法,其特征在于,所述采用所述第一引擎将所述第一类型数据源中的数据存储在ClickHouse集群中包括:
提取所述第一类型数据源中的数据的第一字段;
将所述第一字段的字段类型映射为所述ClickHouse集群中的第二字段的字段类型;
采用所述第一引擎基于所述第二字段的字段类型将所述第一类型数据源中的数据存储在ClickHouse集群中。
7.如权利要求1至4中任意一项所述的数据查询方法,其特征在于,所述方法还包括:
响应于所述ClickHouse集群中的目标引擎的更换指令,获取所述目标引擎的目标引擎标识;
确定所述目标引擎中的目标数据的目标数据编码;
根据所述目标数据编码及所述目标引擎标识对所述网关进行染色处理。
8.一种数据查询装置,其特征在于,所述装置包括:
存储模块,用于将异构数据源中的数据存储在ClickHouse集群中,并采用哈希函数集合将所述ClickHouse集群中的数据进行分区分桶存储;
拦截模块,用于当接收到数据查询请求时,通过网关对所述数据查询请求进行拦截操作,并提取所述数据查询请求中查询数据的数据编码;
映射模块,用于对所述数据编码进行映射,得到所述ClickHouse集群中的引擎标识;
转换模块,用于根据所述引擎标识对所述数据查询请求进行协议转换成引擎查询请求;
查询模块,用于路由所述引擎查询请求到所述引擎标识对应的引擎中进行数据查询。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述的数据查询方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011644405.0A CN112650759B (zh) | 2020-12-30 | 2020-12-30 | 数据查询方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011644405.0A CN112650759B (zh) | 2020-12-30 | 2020-12-30 | 数据查询方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112650759A true CN112650759A (zh) | 2021-04-13 |
CN112650759B CN112650759B (zh) | 2023-10-27 |
Family
ID=75367086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011644405.0A Active CN112650759B (zh) | 2020-12-30 | 2020-12-30 | 数据查询方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112650759B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113284573A (zh) * | 2021-06-02 | 2021-08-20 | 山东健康医疗大数据有限公司 | 一种文档数据库检索方法与装置 |
CN113626217A (zh) * | 2021-07-28 | 2021-11-09 | 北京达佳互联信息技术有限公司 | 异步消息处理方法、装置、电子设备和存储介质 |
CN114064660A (zh) * | 2021-11-29 | 2022-02-18 | 重庆允成互联网科技有限公司 | 基于ElasticSearch的数据结构化分析方法 |
CN114168612A (zh) * | 2021-09-06 | 2022-03-11 | 川投信息产业集团有限公司 | 资产大数据平台查询加速方法 |
CN117555968A (zh) * | 2024-01-12 | 2024-02-13 | 浙江智臾科技有限公司 | 数据处理方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009155741A1 (en) * | 2008-06-23 | 2009-12-30 | Shanghai Hewlett-Packard Co., Ltd | Spatial querying in a data warehouse |
US20130282650A1 (en) * | 2012-04-18 | 2013-10-24 | Renmin University Of China | OLAP Query Processing Method Oriented to Database and HADOOP Hybrid Platform |
US20150331910A1 (en) * | 2014-04-28 | 2015-11-19 | Venkatachary Srinivasan | Methods and systems of query engines and secondary indexes implemented in a distributed database |
CN109783441A (zh) * | 2018-12-24 | 2019-05-21 | 南京中新赛克科技有限责任公司 | 基于Bloom Filter的海量数据查询方法 |
CN111488377A (zh) * | 2020-04-08 | 2020-08-04 | 北京奇艺世纪科技有限公司 | 数据查询方法、装置、电子设备及存储介质 |
CN111666278A (zh) * | 2019-03-06 | 2020-09-15 | 阿里巴巴集团控股有限公司 | 数据存储、检索方法、电子设备及存储介质 |
-
2020
- 2020-12-30 CN CN202011644405.0A patent/CN112650759B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009155741A1 (en) * | 2008-06-23 | 2009-12-30 | Shanghai Hewlett-Packard Co., Ltd | Spatial querying in a data warehouse |
US20130282650A1 (en) * | 2012-04-18 | 2013-10-24 | Renmin University Of China | OLAP Query Processing Method Oriented to Database and HADOOP Hybrid Platform |
US20150331910A1 (en) * | 2014-04-28 | 2015-11-19 | Venkatachary Srinivasan | Methods and systems of query engines and secondary indexes implemented in a distributed database |
CN109783441A (zh) * | 2018-12-24 | 2019-05-21 | 南京中新赛克科技有限责任公司 | 基于Bloom Filter的海量数据查询方法 |
CN111666278A (zh) * | 2019-03-06 | 2020-09-15 | 阿里巴巴集团控股有限公司 | 数据存储、检索方法、电子设备及存储介质 |
CN111488377A (zh) * | 2020-04-08 | 2020-08-04 | 北京奇艺世纪科技有限公司 | 数据查询方法、装置、电子设备及存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113284573A (zh) * | 2021-06-02 | 2021-08-20 | 山东健康医疗大数据有限公司 | 一种文档数据库检索方法与装置 |
CN113626217A (zh) * | 2021-07-28 | 2021-11-09 | 北京达佳互联信息技术有限公司 | 异步消息处理方法、装置、电子设备和存储介质 |
CN114168612A (zh) * | 2021-09-06 | 2022-03-11 | 川投信息产业集团有限公司 | 资产大数据平台查询加速方法 |
CN114168612B (zh) * | 2021-09-06 | 2022-08-16 | 川投信息产业集团有限公司 | 资产大数据平台查询加速方法 |
CN114064660A (zh) * | 2021-11-29 | 2022-02-18 | 重庆允成互联网科技有限公司 | 基于ElasticSearch的数据结构化分析方法 |
CN114064660B (zh) * | 2021-11-29 | 2022-06-21 | 重庆允成互联网科技有限公司 | 基于ElasticSearch的数据结构化分析方法 |
CN117555968A (zh) * | 2024-01-12 | 2024-02-13 | 浙江智臾科技有限公司 | 数据处理方法、装置、设备及存储介质 |
CN117555968B (zh) * | 2024-01-12 | 2024-04-19 | 浙江智臾科技有限公司 | 数据处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112650759B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112650759B (zh) | 数据查询方法、装置、计算机设备及存储介质 | |
CN112445854B (zh) | 多源业务数据实时处理方法、装置、终端及存储介质 | |
CN111782923A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
US20140289286A1 (en) | System and method for performance tuning of garbage collection algorithms | |
US9336270B2 (en) | Techniques for accessing a parallel database system via external programs using vertical and/or horizontal partitioning | |
US20160188391A1 (en) | Sophisticated run-time system for graph processing | |
US20110246550A1 (en) | System and method for aggregation of data from a plurality of data sources | |
CN109983456B (zh) | 存储器内密钥范围搜索方法和系统 | |
WO2022105135A1 (zh) | 信息审核方法、装置、电子设备及存储介质 | |
CN107832134B (zh) | 多任务处理方法、应用服务器及存储介质 | |
CN110036381B (zh) | 存储器内数据搜索技术 | |
CN113434901A (zh) | 数据智能查询方法、装置、电子设备及存储介质 | |
CN114610747A (zh) | 数据查询方法、装置、设备及存储介质 | |
CN112446022A (zh) | 数据权限控制方法、装置、电子设备及存储介质 | |
US20150310039A1 (en) | System and method for geo-location data type searching in an on demand environment | |
CN110874365B (zh) | 一种信息查询方法及其相关设备 | |
CN112541640A (zh) | 资源的权限管理方法、装置、电子设备及计算机存储介质 | |
CN113849520B (zh) | 异常sql的智能识别方法、装置、电子设备及存储介质 | |
CN112328960B (zh) | 数据运算的优化方法、装置、电子设备及存储介质 | |
CN112416306A (zh) | 多应用依赖树生成方法、装置、电子设备及计算机介质 | |
CN116842014A (zh) | 基于全局序列号的业务数据访问方法、装置、设备及介质 | |
US20230409575A1 (en) | Database query processing with database clients | |
WO2022267177A1 (zh) | 地址脱敏方法、装置、电子设备及存储介质 | |
CN116776366A (zh) | 用户权限控制方法、装置、电子设备及存储介质 | |
CN115129744A (zh) | 查询引擎的智能选取方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |