CN111428140A - 高并发数据检索方法、装置、设备及存储介质 - Google Patents
高并发数据检索方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111428140A CN111428140A CN202010287224.0A CN202010287224A CN111428140A CN 111428140 A CN111428140 A CN 111428140A CN 202010287224 A CN202010287224 A CN 202010287224A CN 111428140 A CN111428140 A CN 111428140A
- Authority
- CN
- China
- Prior art keywords
- retrieval
- data
- preset
- cluster
- distributed database
- 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
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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/248—Presentation of query results
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- 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)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据查询领域,公开了一种高并发数据检索方法、装置、设备及存储介质。高并发数据检索方法包括:接收多个客户端同时发起的数据检索请求,并判断各所述数据检索请求对应的检索类型;若所述检索类型为简单检索,则确定预置第一分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的检索关键词进行检索,得到第一检索结果;若为聚合检索,则确定预置第二分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的查询条件进行检索,得到第二检索结果;将所述第一检索结果和/或所述第二检索结果发送至对应客户端,以响应所述数据检索请求。本发明能够实现在高并发访问情况下提高数据检索效率。
Description
技术领域
本发明涉及数据查询领域,尤其涉及一种高并发数据检索方法、装置、设备及存储介质。
背景技术
随着互联网的发展,网络与人们的生活越来越密切。因此提供线上服务的数据库中的数据的数量也越来越多,以往以T为单位的数据量增长的PB级。但数据量庞大,不可避免地带来检索时间延长的问题,从而增长了响应请求的时间,影响服务器提供服务的速率。
后端维护数据库人员通常采用分表和分区的方式,将数据库中的数据进行分表或分区,缩小检索范围,从而减少检索时间。但是分表和分区是通过一定的规则将数据分隔开,因此当客户端发送的数据检索请求与分表或分区规则不一致时,数据库仍需要进行全表检索。如分表方案是通过数据插入时间,将其分为三个表,但是检索请求为数据库中用户名为A的数据,因此数据库仍需要将分出的三个表中的每一条数据都进行检索才可得到用户名为A的数据。因此,采用分区或分表来减少检索时间的方案只能应用于部分数据检索请求,无法真正做到在高并发情形下提升数据检索效率。
发明内容
本发明的主要目的在于解决高并发情形下,数据检索效率低的技术问题。
本发明第一方面提供了一种高并发数据检索方法,包括:
接收多个客户端同时发起的数据检索请求,并判断各所述数据检索请求对应的检索类型;
若所述检索类型为简单检索,则确定预置第一分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的检索关键词进行检索,得到第一检索结果;
若所述检索类型为聚合检索,则确定预置第二分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的查询条件进行检索,得到第二检索结果;
将所述第一检索结果和/或所述第二检索结果发送至对应客户端,以响应所述数据检索请求。
可选的,在本发明第一方面的第一种实现方式中,在所述若所述检索类型为简单检索,则确定预置第一分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的检索关键词进行检索,得到第一检索结果之前,包括:
获取预置第一原始数据;
基于预置哈希算法,计算所述第一原始数据对应的哈希值;
根据所述哈希值,将所述第一原始数据分片储存至预置第一分布式数据库集群,得到数据文档;
根据所述数据文档中的文档关键词,对所述数据文档进行倒排索引,生成对应的索引文件,其中,所述索引文件包括所述文档关键词。
可选的,在本发明第一方面的第二种实现方式中,所述若所述检索类型为简单检索,则确定预置第一分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的检索关键词进行检索,得到第一检索结果包括:
若所述数据检索请求对应的检索类型为简单检索,则确定预置第一分布式数据库集群为待检索数据库;
基于二分查找算法,将所述数据检索请求中携带的检索关键词与所述索引文件中的文档关键词进行匹配,以确定所述检索关键词对应的数据文档;
根据预置数据文档评分规则,对所述检索关键词对应的数据文档进行评分,得到对应的数据文档分值;
根据所述数据文档分值的大小,对所述检索关键词对应的数据文档进行排序,得到排序结果并作为第一检索结果。
可选的,在本发明第一方面的第三种实现方式中,在所述若所述检索类型为聚合检索,则确定预置第二分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的查询条件进行检索,得到第二检索结果之前,包括:
获取预置第二原始数据;
根据预置子集群评分规则,对预置第二分布式数据库集群中的各个子集群进行评分,得到子集群评分结果;
根据所述子集群评分结果和预置分配规则,将所述第二原始数据分配至各个所述子集群。
可选的,在本发明第一方面的第四种实现方式中,所述根据所述子集群评分结果和预置分配规则,将所述第二原始数据分配至各个所述存储集群包括:
基于预置选举规则,对所述子集群中的存储实例进行选举,得到主实例和所述主实例对应的从实例;
根据所述子集群评分结果和预置分配规则,将各个所述第二原始数据双写至对应的主实例和从实例中。
可选的,在本发明第一方面的第五种实现方式中,所述若所述检索类型为聚合检索,则确定预置第二分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的查询条件进行检索,得到第二检索结果包括:
若所述数据检索请求对应的检索类型为聚合检索,则确定预置第二分布式数据库集群为待检索数据库;
根据所述数据检索请求中携带的查询条件,确定所述第二分布式数据库集群中对应的主实例,并判断所述查询条件对应的主实例是否存在正常运行;
若是,则确定所述主实施例为待检索实例;
若否,则根据所述选举规则,对所述主实例对应的从实例进行选举,得到备用主实例,并确定所述备用主实例为待检索实例;
根据所述查询条件,对所述待检索实例进行检索,得到第二检索结果。
可选的,在本发明第一方面的第六种实现方式中,所述第一分布式数据库集群和所述第二分布式数据库集群基于同一原始数据库搭建而成,其中,所述第一分布式数据库集群为Elasticsearch数据库集群,所述第二分布式数据库集群为TiDB数据库集群。
本发明第二方面提供了一种高并发数据检索装置,包括:
接收模块,用于接收多个客户端同时发起的数据检索请求,并判断各所述数据检索请求对应的检索类型;
第一检索模块,用于若所述检索类型为简单检索,则确定预置第一分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的检索关键词进行检索,得到第一检索结果;
第二检索模块,用于若所述检索类型为聚合检索,则确定预置第二分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的查询条件进行检索,得到第二检索结果;
反馈模块,用于将所述第一检索结果和/或所述第二检索结果发送至对应客户端,以响应所述数据检索请求。
可选的,在本发明第二方面的第一种实现方式中,所述高并发数据检索装置还包括第一数据处理模块,所述第一数据处理模块具体用于:
获取预置第一原始数据;
基于预置哈希算法,计算所述第一原始数据对应的哈希值;
根据所述哈希值,将所述第一原始数据分片储存至预置第一分布式数据库集群,得到数据文档;
根据所述数据文档中的文档关键词,对所述数据文档进行倒排索引,生成对应的索引文件,其中,所述索引文件包括所述文档关键词。
可选的,在本发明第二方面的第二种实现方式中,所述第一检索模块具体用于:
若所述数据检索请求对应的检索类型为简单检索,则确定预置第一分布式数据库集群为待检索数据库;
基于二分查找算法,将所述数据检索请求中携带的检索关键词与所述索引文件中的文档关键词进行匹配,以确定所述检索关键词对应的数据文档;
根据预置数据文档评分规则,对所述检索关键词对应的数据文档进行评分,得到对应的数据文档分值;
根据所述数据文档分值的大小,对所述检索关键词对应的数据文档进行排序,得到排序结果并作为第一检索结果。
可选的,在本发明第二方面的第三种实现方式中,所述高并发数据检索装置还包括第二数据处理模块,所述第二数据处理模块包括:
获取单元,用于获取预置第二原始数据;
评分单元,用于根据预置子集群评分规则,对预置第二分布式数据库集群中的各个子集群进行评分,得到子集群评分结果;
分配单元,用于根据所述子集群评分结果和预置分配规则,将所述第二原始数据分配至各个所述子集群。
可选的,在本发明第二方面的第四种实现方式中,所述分配单元具体用于:
基于预置选举规则,对所述子集群中的存储实例进行选举,得到主实例和所述主实例对应的从实例;
根据所述子集群评分结果和预置分配规则,将各个所述第二原始数据双写至对应的主实例和从实例中。
可选的,在本发明第二方面的第五种实现方式中,所述第二检索模块具体用于:
若所述数据检索请求对应的检索类型为聚合检索,则确定预置第二分布式数据库集群为待检索数据库;
根据所述数据检索请求中携带的查询条件,确定所述第二分布式数据库集群中对应的主实例,并判断所述查询条件对应的主实例是否存在正常运行;
若是,则确定所述主实施例为待检索实例;
若否,则根据所述选举规则,对所述主实例对应的从实例进行选举,得到备用主实例,并确定所述备用主实例为待检索实例;
根据所述查询条件,对所述待检索实例进行检索,得到第二检索结果。
可选的,在本发明第二方面的第六种实现方式中,所述第一分布式数据库集群和所述第二分布式数据库集群基于同一原始数据库搭建而成,其中,所述第一分布式数据库集群为Elasticsearch数据库集群,所述第二分布式数据库集群为TiDB数据库集群。
本发明第三方面提供了一种高并发数据检索设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述高并发数据检索设备执行上述的高并发数据检索方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的高并发数据检索方法。
本发明提供的技术方案中,当服务器接收到多个客户端发起的数据检索请求时,根据数据检索请求对应的检索类型,确定不同的待检索数据库并进行检索。其中,若检索类型为简单检索,则待检索数据库为第一分布式数据库集群,并根据数据检索请求中的关键词进行全文检索。若是聚合检索,则待检索数据库为第二分布式数据库集群,并根据数据检索请求中的查询条件进行检索。由于第一分布式数据库集群支持关键词检索,而第二分布式数据库集群支持聚合检索,因此在进行检索之前预先根据检索类型将数据检索进行分流,从而发挥两个分布式数据库集群各自的优势,从而提升数据检索速率。此外,本方案还提供具体将同一原始数据进行路由哈希或子集群评估方式均衡分配到分布式数据库集群中,从而减轻检索过程中子集群的负担。本方案优选的第一分布式数据库集群为Elasticsearch数据库集群,第二分布式数据库集群为TiDB数据库集群,前者可实现关键词的快速检索,后者能够支持当前常用的SQL语句,且快速执行。
附图说明
图1为本发明实施例中高并发数据检索方法的第一个实施例示意图;
图2为本发明实施例中高并发数据检索方法的第二个实施例示意图;
图3为本发明实施例中高并发数据检索方法的第三个实施例示意图;
图4为本发明实施例中高并发数据检索装置的一个实施例示意图;
图5为本发明实施例中高并发数据检索装置的另一个实施例示意图;
图6为本发明实施例中高并发数据检索设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种高并发数据检索方法、装置、设备及存储介质,本发明提供的技术方案中,当服务器接收到多个客户端发起的数据检索请求时,根据数据检索请求对应的检索类型,确定不同的待检索数据库并进行检索。由于第一分布式数据库集群支持关键词检索,而第二分布式数据库集群支持聚合检索,因此在进行检索之前预先根据检索类型将数据检索进行分流,从而发挥两个分布式数据库集群各自的优势,从而提升数据检索速率。此外,本方案还提供具体将同一原始数据进行路由哈希或子集群评估方式均衡分配到分布式数据库集群中,从而减轻检索过程中子集群的负担。本方案优选的第一分布式数据库集群为Elasticsearch数据库集群,第二分布式数据库集群为TiDB数据库集群,前者可实现关键词的快速检索,后者能够支持当前常用的SQL语句,且快速执行。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中高并发数据检索方法的第一个实施例包括:
101、接收多个客户端同时发起的数据检索请求,并判断各所述数据检索请求对应的检索类型;
可以理解的是,本发明的执行主体可以为高并发数据检索装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
服务器先与多个客户端建立通讯连接,多个客户端将数据检索请求发送给服务器。
如一个数据检索请求为SQL语句,内容为“SELECT COUNT(*)FROM table_A”,该数据检索请求的目的为在数据库中,表名为table_A的数据表中的记录数。另一数据请求为““query”:“apple””,该数据检索请求的目的是得到所有包含“apple”的数据。
当服务器接收到客户客户端发送的数据检索请求后,先根据预置的检索类型库判断数据检索请求对应的检索类型。本实施例中,检索类型库中包含多个用于提取COUNT()、SUM()等聚合函数的正则表达式,若使用该正则表达式可从数据检索请求中提取出聚合函数,则判断该数据检索请求对应的检索类型为聚合检索,若无法提取出来,则判断该数据检索请求对应的检索类型为简单检索。此外,还可通过数据检索请求中语句中的关键词等方式判断其对应的检索类型,由于为现有技术,在此不一一赘述。
102、若所述检索类型为简单检索,则确定预置第一分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的检索关键词进行检索,得到第一检索结果;
分布式是以缩短单个任务的执行时间来提升效率,而集群通过提高单位时间内执行任务数来提升效率。因此通过将分布式数据库与集群进行整合,可提高处理速率。此外,分布式数据库中每一个分片或分组都有其对应的备份,以达到高可用的效果。此外,分布式数据库还可通过自由增加节点的方式进行扩展。
本方案预先设置两个分布式数据库集群,一个命名为第一分布式数据库集群,另一个命名为第二分布式数据库集群。当判定接收到的数据检索请求为简单检索,则确定待检索的数据库为第一分布式数据库集群。在本实施例中,第一分布式数据库集群为Elasticsearch数据库集群。Elasticsearch数据库集群基于Lucene引擎搭建,支持快速的全文检索。由于简单检索的数据检索请求中包含有关键词,如“apple”,因此直接根据其关键词对第一分布式数据库集群进行检索,从而得到第一检索结果。
103、若所述检索类型为聚合检索,则确定预置第二分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的查询条件进行检索,得到第二检索结果;
当判定接收到的数据检索请求为聚合检索,则确定待检索的数据库为第二分布式数据库。在本实施例中,第二分布式数据库集群为TiDB数据库集群,而TiDB数据库本身可支持MySQL数据库的SQL语句,因此可根据该数据检索请求中的查询条件,即该SQL语句的对象,直接检索第二分布式数据库集群,从而得到第二检索结果。
104、将所述第一检索结果和/或所述第二检索结果发送至对应客户端,以响应所述数据检索请求。
得到第一检索结果和/或第二检索结果后,分别将其发送至各数据检索请求对应的客户端,从而响应它们之前发起的数据检索请求。
在本实施例中,预先判断接收的数据检索请求的检索类型,若为简单检索,则确定待检索数据库为第一分布式数据库集群;若为聚合检索,则确定待检索数据库为第二分布式数据库集群。由于第一分布式数据库集群支持关键词检索,而第二分布式数据库集群支持聚合检索,因此在进行检索之前预先根据检索类型将数据检索进行分流,从而发挥两个分布式数据库集群各自的优势,从而提升数据检索速率。
请参阅图2,本发明实施例中高并发数据检索方法的第二个实施例包括:
201、获取预置第一原始数据;
在本方案中,第一原始数据为原数据库中的数据。由于原数据库中数据庞大,且无法满足快速检索需求,因此需要将原数据库中的数据导入服务器中的预置第一分布式数据库集群中。先通过通讯连接,获取原数据库中的第一原始数据。
202、基于预置哈希算法,计算所述第一原始数据对应的哈希值;
由于数据库中的数据量非常大,为提高数据库的容灾能力,本方案将第一原始数据导入第一分布式数据库集群时,对第一原始数据进行路由分片存储,因此当出现某分片无法正常工作时,只需恢复无法正常工作的分片数据即可。
哈希算法能够将任意长度的二进制值映射为较短的固定长度的二进制值。由于计算机中所有的数据都可用二进制表示,因此采用哈希算法可计算任意数据的哈希值。
在获得第一原始数据后,通过预置的哈希算法,可计算第一原始数据对应的哈希值。哈希算法的对象可以是第一原始数据本身,也可自定义,如该第一原始数据为一个文档,可将该文档ID作为哈希算法计算的对象。
203、根据所述哈希值,将所述第一原始数据分片储存至预置第一分布式数据库集群,得到数据文档,其中,所述第一分布式数据库集群为Elasticsearch数据库集群;
Elasticsearch数据库是一个建立在Apache Lucene基础上的开源、实时、分布式的搜索分析引擎,由Java实现,它对Lucene更好地实现了封装抽象与集群,实现高速全文检索。
根据第一原始数据的哈希值,将第一原始数据进行分片存储,从而得到Elasticsearch数据库上的数据文档。
在本实施例中,优选通过哈希值与片区数量的余数,确定第一原始数据对应的分片。如某第一原始数据经过哈希计算后得到的哈希值为100,分片数量为5,余数为0,则某第一原始数据对应的分片为第一号分片,再将某第一原始数据存储在第一号分片上,从而得到第一分布式数据库集群中的数据文档。
进一步的,所述根据所述哈希值,将所述第一原始数据分片储存至预置第一分布式数据库集群,得到数据文档还包括:
根据预置打分规则,对第一分布式数据库中的各个子集群进行打分,得到子集群打分结果;
由于第一分布式数据库集群中包含有多个子集群,因此在写入第一原始数据时,可根据每个子集群的情况进行路由,从而避免某几个子集群负荷过重。本方案提供一种根据打分规则得到的子集群打分结果进行分配第一原始数据的方案。预置一个子集群的打分规则,然后根据此规则对第二分布式数据库集群中的各个子集群进行打分。
基于预置选举规则,对所述子集群中的存储实例进行选举,得到主实例和所述主实例对应的从实例;
子集群中存在多个实例,但一般仅主实例进行数据处理,其他实例作为从实例起备份作用。根据预置选举规则,从而确定子集群中的主实例和从实例。
根据所述子集群打分结果和预置分配规则,将各个所述第一原始数据双写至对应的主实例和从实例中。
然后根据子集群打分结果和分配规则,确定各个第一原始数据对应的子集群,然后将其双写至子集群中的主实例和从实例中,从而实现主实例和从实例中数据一致,以供后续主实例出现故障时,基于从实例,继续为客户端提供服务。
204、根据所述数据文档中的文档关键词,对所述数据文档进行倒排索引,生成对应的索引文件,其中,所述索引文件包括所述文档关键词;
对各个数据文档进行分词,如某数据文档的编号为1,内容为一段话“theapple isred”,则该数据文档分词后的文档关键词为“the”、“apple”、“is”和“red”。另一编号为2的数据文档分词后的文档关键词为“the”、“flower”、“is”和“red”。再根据文档关键词的首字母,对数据文档编号和文档关键词进行倒排,得到的倒排结果为“apple 1;flower 2;red1,2。”,前一个为关键词,后一个为文档编号。由于文档关键词是按照字符顺序进行排列的,因此在后续检索时刻采用二分搜索算法快速定位。
再各个文档关键词对应的频率信息和位置信息写入倒排结果中。为减少索引文件的大小,对倒排结果进行压缩。对于文档关键词、数据文档的编号以及位置信息,先使用delta增量编码,再使用v-byte变长编码。如文档关键词为“apple”在编号3的数据文档中出现的位置分别为101和103,103与101相比,增量为2,因此压缩后的位置信息为“101,<2>”。通过此方式,完成对排序索引的压缩,得到索引文件。
205、接收多个客户端同时发起的数据检索请求,并判断各所述数据检索请求对应的检索类型;
206、若所述数据检索请求对应的检索类型为简单检索,则确定预置第一分布式数据库集群为待检索数据库;
207、基于二分查找算法,将所述数据检索请求中携带的检索关键词与所述索引文件中的文档关键词进行匹配,以确定所述检索关键词对应的数据文档;
先提取数据检索请求中携带的关键词,如数据检索请求为:““query”:“apple””,客户端期望得到是包含有“apple”这个词的数据文档。将“query”后的参数提取出来,然后再对其进行分词,从而得到数据检索请求中的检索关键词。
二分查找法,也称为折半查找法,适用于大量数据查找的方法。每次查找中间的值,如序列为“1、2、4、5、9”,待查找到数据为2,则先将2与序列的中间的值4进行比较,2比4小,因此4之后的数据可舍弃,再将2与1到4之间的中间的值2进行比较,从而确定其位置。
由于索引文件中文档关键词是通过其首字母进行排列的,因此可以通过二分查找法,快速定位到与检索关键词相同的文档关键词的位置,实现检索关键词和文档关键词的匹配。由于文档关键词和文档编号、出现频率都是一一对应,因此可根据检索关键词对应的文档关键词,确定其对应的文档编号和出现频率。
可选的,在步骤207还包括:
基于二分查找算法,将所述数据检索请求中携带的检索关键词与所述索引文件中的文档关键词进行匹配,以确定所述检索关键词对应的数据文档;
根据所述关键词对应的数据文档的哈希值,确定对应的目标子集群,并根据所述打分规则,对所述目标子集群的主实例进行打分,得到打分结果;
由于所有的数据是分布在第一分布式数据库集群中的子集群上,故首先根据数据检索请求携带的关键词,确定待检索的目标子集群。
然后根据打分规则,对目标子集群中的主实例进行打分,以判断当前的主实例当前的运行状况。
若所述打分结果小于预置阈值,则从所述目标子集群中的从实例中提取所述关键词对应的数据文档;
若打分结果小于预置阈值,则说明当前主实例运行已经过负荷,因此将提取数据文档的工作转由从实例负责。因此避免了主实例超负荷工作,减少宕机的可能,做到高可用。
208、根据预置数据文档评分规则,对所述检索关键词对应的数据文档进行评分,得到对应的数据文档分值;
由于文档编号与数据文档一一对应,因此确定检索关键词对应的文档编号后可确定其对应的数据文档。由于包含与检索关键词对应的文档关键词的数据文档通常不只一个,因此通常采用评分的方式,对这些数据文档进行相似度评分,评分越大,在检索结果中越靠前,越便于用户发现其需要的数据文档。
209、根据所述数据文档分值的大小,对所述检索关键词对应的数据文档进行排序,得到排序结果并作为第一检索结果;
在上一步骤中,已对数据文档进行了评分。根据得到的分值的大小,可对数据文档进行排序,得到的排序结果即为该检索关键词对应的检索结果。
210、若所述检索类型为聚合检索,则确定预置第二分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的查询条件进行检索,得到第二检索结果;
211、将所述第一检索结果和/或所述第二检索结果发送至对应客户端,以响应所述数据检索请求。
本发明实施例中,在第一分布式数据库集群中采用倒排索引的方式生产数据文档对应的索引文件,再根据二分查找算法,从而提升通过关键词查找的效率。此外,本方案优选的第一分布式数据库集群为Elasticsearch数据库集群。Elasticsearch数据库集群基于Lucene引擎搭建,能够实现通过关键词进行高速检索。
请参阅图3,本发明实施例中高并发数据检索方法的第三个实施例包括:
301、获取预置第二原始数据;
302、根据预置子集群评分规则,对预置第二分布式数据库集群中的各个子集群进行评分,得到子集群评分结果,其中,所述第二分布式数据库集群为TiDB数据库集群;
在本实施例中,第二分布式数据库集群为TiDB数据库集群。TiDB是PingCAP公司设计的开源分布式HTAP(Hybrid Transactional and Analytical Processing)数据库,结合了传统的RDBMS和NoSQL的最佳特性。TiDB兼容MySQL,支持无限的水平扩展,具备强一致性和高可用性。
在TiDB数据库集群中包含有多个子集群。通过监督每个集群的CPU使用情况、数据处理速率、空间大小等因素,对每个子集群进行评分,得到子集群评分结果。
303、基于预置选举规则,对所述子集群中的存储实例进行选举,得到主实例和所述主实例对应的从实例;
为提高数据库容灾能力,在每个子集群中都设置有多个实例。但是这些实例中只有一个用于应对客户端的诸多请求,其他的实力用于备份,以防在前者出现故障时无法继续提供服务。因此将每个实例作为候选实例进行选举,基于预置的选举规则,可从中选出投票最多的实例,并将其作为主实例,其他的实例作为从实例。
304、根据所述子集群评分结果和预置分配规则,将各个所述第二原始数据双写至对应的主实例和从实例中;
预置分配数据的分配规则。本实施例以一种常见的分配规则为例进行简单说明。若子集群A评分结果为2,另一个子集群B评分结果为4,则将第二原始数据逐一导入子集群B中,并每导入一个第二原始数据,对子集群再次进行评分,直至子集群B评分结果降为1,再将未导入的第二原始数据导入子集群A中。
在导入第二原始数据过程中,由于从实例为主实例的备份,因此从实例也需写入与主实例相同的第二原始数据。先将第二原始数据写入主实例,再将主实例上的第二原始数据写入对应的从实例中,从而完成数据双写导入。
305、接收多个客户端同时发起的数据检索请求,并判断各所述数据检索请求对应的检索类型;
306、若所述检索类型为简单检索,则确定预置第一分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的检索关键词进行检索,得到第一检索结果;
307、若所述数据检索请求对应的检索类型为聚合检索,则确定预置第二分布式数据库集群为待检索数据库;
308、根据所述数据检索请求中携带的查询条件,确定所述第二分布式数据库集群中对应的主实例,并判断所述查询条件对应的主实例是否存在正常运行;
以数据检索请求为“SELECT COUNT(*)FROM table_A”为例进行描述。由于数据检索请求中的查询条件为“COUNT(*)FROM table_A”,即从表名为table_A的数据表所能检索到的所有数据的数量。先判断table_A存储于数据库集群中的哪一个子集群中。然后判断该子集群是否正常运行。目前常用的判断方式是基于心跳信号实现。心跳信号是每隔一段时间向互连的另一方发送小的数据包,通过对方回复情况判断两者间的通讯是否正常。因此服务器先通过心跳信号判断与主实例之间的连接是否正常,从而推断其是否正常运行。
309、若是,则确定所述主实施例为待检索实例;
310、若否,则根据所述选举规则,对所述主实例对应的从实例进行选举,得到备用主实例,并确定所述备用主实例为待检索实例;
若主实例未正常运行,则需要将从实例中推选一个实例作为临时的备用主实例。通过与选出主实例同样的选举规则,在这些从实例中进行选举,从而确定其中的某个从实例为备用主实例,并确定该备用主实例为待检索实例。
311、根据所述查询条件,对所述待检索实例进行检索,得到第二检索结果;
再根据查询条件“COUNT(*)FROM table_A”对待检索实例进行检索,从而得到table_A中所有数据的数量,并将得到这个统计结果作为第二检索结果。
312、将所述第一检索结果和/或所述第二检索结果发送至对应客户端,以响应所述数据检索请求。
本发明实施例中,在第二分布式数据库集群中包含有多个子集群,而每个子集群又有多个实例,在这些实例中,主实例用于处理数据检索请求,而从实例用于备份。其中,在存储第二原始数据时,会根据每个子集群的能力进行数据路由,从而实现负载均衡。当主集群出现故障时,从实例可替代主实例进行工作,从而提高其第二分布式数据库集群的容灾能力。此外,本方案优选的第二分布式数据库集群为TiDB数据库集群。TiDB数据库集群能够兼容所有SQL语句,且检索速率快。
上面对本发明实施例中高并发数据检索方法进行了描述,下面对本发明实施例中高并发数据检索装置进行描述,请参阅图4,本发明实施例中高并发数据检索装置一个实施例包括:
接收模块401,用于接收多个客户端同时发起的数据检索请求,并判断各所述数据检索请求对应的检索类型;
第一检索模块402,用于若所述检索类型为简单检索,则确定预置第一分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的检索关键词进行检索,得到第一检索结果;
第二检索模块403,用于若所述检索类型为聚合检索,则确定预置第二分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的查询条件进行检索,得到第二检索结果;
反馈模块404,用于将所述第一检索结果和/或所述第二检索结果发送至对应客户端,以响应所述数据检索请求。
在本实施例中,预先判断接收的数据检索请求的检索类型,若为简单检索,则确定待检索数据库为第一分布式数据库集群;若为聚合检索,则确定待检索数据库为第二分布式数据库集群。由于第一分布式数据库集群支持关键词检索,而第二分布式数据库集群支持聚合检索,因此在进行检索之前预先根据检索类型将数据检索进行分流,从而发挥两个分布式数据库集群各自的优势,从而提升数据检索速率。
请参阅图5,本发明实施例中高并发数据检索装置的另一个实施例包括:
接收模块501,用于接收多个客户端同时发起的数据检索请求,并判断各所述数据检索请求对应的检索类型;
第一检索模块502,用于若所述检索类型为简单检索,则确定预置第一分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的检索关键词进行检索,得到第一检索结果;
第二检索模块503,用于若所述检索类型为聚合检索,则确定预置第二分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的查询条件进行检索,得到第二检索结果;
反馈模块504,用于将所述第一检索结果和/或所述第二检索结果发送至对应客户端,以响应所述数据检索请求。
其中,所述高并发数据检索装置还包括第一数据处理模块505,所述第一数据处理模块505具体用于:
获取预置第一原始数据;
基于预置哈希算法,计算所述第一原始数据对应的哈希值;
根据所述哈希值,将所述第一原始数据分片储存至预置第一分布式数据库集群,得到数据文档;
根据所述数据文档中的文档关键词,对所述数据文档进行倒排索引,生成对应的索引文件,其中,所述索引文件包括所述文档关键词。
可选的,所述第一检索模块502具体用于:
若所述数据检索请求对应的检索类型为简单检索,则确定预置第一分布式数据库集群为待检索数据库;
基于二分查找算法,将所述数据检索请求中携带的检索关键词与所述索引文件中的文档关键词进行匹配,以确定所述检索关键词对应的数据文档;
根据预置数据文档评分规则,对所述检索关键词对应的数据文档进行评分,得到对应的数据文档分值;
根据所述数据文档分值的大小,对所述检索关键词对应的数据文档进行排序,得到排序结果并作为第一检索结果。
其中,所述高并发数据检索装置还包括第二数据处理模块506,所述第二数据处理模块包括:
获取单元5061,用于获取预置第二原始数据;
评分单元5062,用于根据预置子集群评分规则,对预置第二分布式数据库集群中的各个子集群进行评分,得到子集群评分结果;
分配单元5063,用于根据所述子集群评分结果和预置分配规则,将所述第二原始数据分配至各个所述子集群。
可选的,所述分配单元5063具体用于:
基于预置选举规则,对所述子集群中的存储实例进行选举,得到主实例和所述主实例对应的从实例;
根据所述子集群评分结果和预置分配规则,将各个所述第二原始数据双写至对应的主实例和从实例中。
可选的,所述第二检索模块503具体用于:
若所述数据检索请求对应的检索类型为聚合检索,则确定预置第二分布式数据库集群为待检索数据库;
根据所述数据检索请求中携带的查询条件,确定所述第二分布式数据库集群中对应的主实例,并判断所述查询条件对应的主实例是否存在正常运行;
若是,则确定所述主实施例为待检索实例;
若否,则根据所述选举规则,对所述主实例对应的从实例进行选举,得到备用主实例,并确定所述备用主实例为待检索实例;
根据所述查询条件,对所述待检索实例进行检索,得到第二检索结果。
可选的,所述第一分布式数据库集群和所述第二分布式数据库集群基于同一原始数据库搭建而成,其中,所述第一分布式数据库集群为Elasticsearch数据库集群,所述第二分布式数据库集群为TiDB数据库集群。
在上一实施例基础上,第一分布式数据库集群采用倒排索引和二分查找算法,以提升通过关键词查找的效率。第二分布式数据库集群中包含有多个子集群,而每个子集群又有多个实例,其中,主实例用于处理数据检索请求,从实例用于备份,以提高其第二分布式数据库集群的容灾能力。在存储原始数据时,会根据每个子集群的能力进行数据路由,从而实现负载均衡。此外,本方案中第一分布式数据库集群为Elasticsearch数据库集群。Elasticsearch数据库集群基于Lucene引擎搭建,能够实现通过关键词进行高速检索,第二分布式数据库集群为TiDB数据库集群。TiDB数据库集群能够兼容所有SQL语句,且检索速率快。
上面图4和图5从模块化功能实体的角度对本发明实施例中的高并发数据检索装置进行详细描述,下面从硬件处理的角度对本发明实施例中高并发数据检索设备进行详细描述。
图6是本发明实施例提供的一种高并发数据检索设备的结构示意图,该高并发数据检索设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对高并发数据检索设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在高并发数据检索设备600上执行存储介质630中的一系列指令操作。
基于高并发数据检索设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作系统631,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图6示出的高并发数据检索设备结构并不构成对基于高并发数据检索设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述高并发数据检索方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置或单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种高并发数据检索方法,其特征在于,所述高并发数据检索方法包括:
接收多个客户端同时发起的数据检索请求,并判断各所述数据检索请求对应的检索类型;
若所述检索类型为简单检索,则确定预置第一分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的检索关键词进行检索,得到第一检索结果;
若所述检索类型为聚合检索,则确定预置第二分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的查询条件进行检索,得到第二检索结果;
将所述第一检索结果和/或所述第二检索结果发送至对应客户端,以响应所述数据检索请求。
2.根据权利要求1所述的高并发数据检索方法,其特征在于,在所述若所述检索类型为简单检索,则确定预置第一分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的检索关键词进行检索,得到第一检索结果之前,包括:
获取预置第一原始数据;
基于预置哈希算法,计算所述第一原始数据对应的哈希值;
根据所述哈希值,将所述第一原始数据分片储存至预置第一分布式数据库集群,得到数据文档;
根据所述数据文档中的文档关键词,对所述数据文档进行倒排索引,生成对应的索引文件,其中,所述索引文件包括所述文档关键词。
3.根据权利要求2所述的高并发数据检索方法,其特征在于,所述若所述检索类型为简单检索,则确定预置第一分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的检索关键词进行检索,得到第一检索结果包括:
若所述数据检索请求对应的检索类型为简单检索,则确定预置第一分布式数据库集群为待检索数据库;
基于二分查找算法,将所述数据检索请求中携带的检索关键词与所述索引文件中的文档关键词进行匹配,以确定所述检索关键词对应的数据文档;
根据预置数据文档评分规则,对所述检索关键词对应的数据文档进行评分,得到对应的数据文档分值;
根据所述数据文档分值的大小,对所述检索关键词对应的数据文档进行排序,得到排序结果并作为第一检索结果。
4.根据权利要求1所述的高并发数据检索方法,其特征在于,在所述若所述检索类型为聚合检索,则确定预置第二分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的查询条件进行检索,得到第二检索结果之前,包括:
获取预置第二原始数据;
根据预置子集群评分规则,对预置第二分布式数据库集群中的各个子集群进行评分,得到子集群评分结果;
根据所述子集群评分结果和预置分配规则,将所述第二原始数据分配至各个所述子集群。
5.根据权利要求4所述的高并发数据检索方法,其特征在于,所述根据所述子集群评分结果和预置分配规则,将所述第二原始数据分配至各个所述存储集群包括:
基于预置选举规则,对所述子集群中的存储实例进行选举,得到主实例和所述主实例对应的从实例;
根据所述子集群评分结果和预置分配规则,将各个所述第二原始数据双写至对应的主实例和从实例中。
6.根据权利要求5所述的高并发数据检索方法,其特征在于,所述若所述检索类型为聚合检索,则确定预置第二分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的查询条件进行检索,得到第二检索结果包括:
若所述数据检索请求对应的检索类型为聚合检索,则确定预置第二分布式数据库集群为待检索数据库;
根据所述数据检索请求中携带的查询条件,确定所述第二分布式数据库集群中对应的主实例,并判断所述查询条件对应的主实例是否存在正常运行;
若是,则确定所述主实施例为待检索实例;
若否,则根据所述选举规则,对所述主实例对应的从实例进行选举,得到备用主实例,并确定所述备用主实例为待检索实例;
根据所述查询条件,对所述待检索实例进行检索,得到第二检索结果。
7.根据权利要求1-6中任一项所述的高并发数据检索方法,其特征在于,所述第一分布式数据库集群和所述第二分布式数据库集群基于同一原始数据库搭建而成,其中,所述第一分布式数据库集群为Elasticsearch数据库集群,所述第二分布式数据库集群为TiDB数据库集群。
8.一种高并发数据检索装置,其特征在于,所述高并发数据检索装置包括:
接收模块,用于接收多个客户端同时发起的数据检索请求,并判断各所述数据检索请求对应的检索类型;
第一检索模块,用于若所述检索类型为简单检索,则确定预置第一分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的检索关键词进行检索,得到第一检索结果;
第二检索模块,用于若所述检索类型为聚合检索,则确定预置第二分布式数据库集群为待检索数据库,并根据所述数据检索请求中携带的查询条件进行检索,得到第二检索结果;
反馈模块,用于将所述第一检索结果和/或所述第二检索结果发送至对应客户端,以响应所述数据检索请求。
9.一种高并发数据检索设备,其特征在于,所述高并发数据检索设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述高并发数据检索设备执行如权利要求1-7中任一项所述的高并发数据检索方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的高并发数据检索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010287224.0A CN111428140B (zh) | 2020-04-13 | 2020-04-13 | 高并发数据检索方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010287224.0A CN111428140B (zh) | 2020-04-13 | 2020-04-13 | 高并发数据检索方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111428140A true CN111428140A (zh) | 2020-07-17 |
CN111428140B CN111428140B (zh) | 2023-06-09 |
Family
ID=71556248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010287224.0A Active CN111428140B (zh) | 2020-04-13 | 2020-04-13 | 高并发数据检索方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111428140B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182325A (zh) * | 2020-09-15 | 2021-01-05 | 湖南汽车工程职业学院 | 一种科研文档管理方法及应用其的管理系统 |
CN112732650A (zh) * | 2020-12-31 | 2021-04-30 | 中国工商银行股份有限公司 | 文件分片方法及装置 |
CN113590757A (zh) * | 2021-08-03 | 2021-11-02 | 中国银行股份有限公司 | 查询方法、装置、服务器、介质及产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014161201A1 (en) * | 2013-04-05 | 2014-10-09 | Hewlett-Packard Development Company, L.P. | Keyword search on databases |
CN108009270A (zh) * | 2017-12-18 | 2018-05-08 | 江苏润和软件股份有限公司 | 一种基于分布式内存计算的文本检索方法 |
CN108804642A (zh) * | 2018-06-05 | 2018-11-13 | 中国平安人寿保险股份有限公司 | 检索方法、装置、计算机设备及存储介质 |
-
2020
- 2020-04-13 CN CN202010287224.0A patent/CN111428140B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014161201A1 (en) * | 2013-04-05 | 2014-10-09 | Hewlett-Packard Development Company, L.P. | Keyword search on databases |
CN108009270A (zh) * | 2017-12-18 | 2018-05-08 | 江苏润和软件股份有限公司 | 一种基于分布式内存计算的文本检索方法 |
CN108804642A (zh) * | 2018-06-05 | 2018-11-13 | 中国平安人寿保险股份有限公司 | 检索方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
项军政;咸鹤群;田程亮;李敏;: "加密数据库关键词快速检索方法研究" * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182325A (zh) * | 2020-09-15 | 2021-01-05 | 湖南汽车工程职业学院 | 一种科研文档管理方法及应用其的管理系统 |
CN112732650A (zh) * | 2020-12-31 | 2021-04-30 | 中国工商银行股份有限公司 | 文件分片方法及装置 |
CN113590757A (zh) * | 2021-08-03 | 2021-11-02 | 中国银行股份有限公司 | 查询方法、装置、服务器、介质及产品 |
Also Published As
Publication number | Publication date |
---|---|
CN111428140B (zh) | 2023-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10452691B2 (en) | Method and apparatus for generating search results using inverted index | |
US10706103B2 (en) | System and method for hierarchical distributed processing of large bipartite graphs | |
CN109947904B (zh) | 一种基于Spark环境的偏好空间Skyline查询处理方法 | |
CN108256076B (zh) | 分布式海量数据处理方法及装置 | |
KR101137147B1 (ko) | 질의 강제 인덱싱 | |
US20100174670A1 (en) | Data classification and hierarchical clustering | |
US8271523B2 (en) | Coordination server, data allocating method, and computer program product | |
US20160350302A1 (en) | Dynamically splitting a range of a node in a distributed hash table | |
Dhulavvagol et al. | Performance analysis of distributed processing system using shard selection techniques on elasticsearch | |
EP3499388B1 (en) | Method and device for processing join query | |
CN106095951B (zh) | 基于负载均衡和查询日志的数据空间多维索引方法 | |
US9195745B2 (en) | Dynamic query master agent for query execution | |
CN108733790B (zh) | 数据排序方法、装置、服务器和存储介质 | |
CN114329094B (zh) | 一种基于Spark的大规模高维数据近似近邻查询系统和方法 | |
CN111428140B (zh) | 高并发数据检索方法、装置、设备及存储介质 | |
US7890705B2 (en) | Shared-memory multiprocessor system and information processing method | |
CN108052535B (zh) | 基于多处理器平台的视觉特征并行快速匹配方法和系统 | |
CN113849499A (zh) | 数据的查询方法、装置、存储介质及电子装置 | |
Zhou et al. | Data partitioning for parallel spatial join processing | |
CN111400301B (zh) | 一种数据查询方法、装置及设备 | |
CN108932738A (zh) | 一种基于字典的位片索引压缩方法 | |
Cheng et al. | A Multi-dimensional Index Structure Based on Improved VA-file and CAN in the Cloud | |
CN115543994A (zh) | 元数据检索方法、服务器、检索方法及终端设备 | |
CN111767287A (zh) | 数据导入方法、装置、设备及计算机存储介质 | |
Doulkeridis et al. | Parallel and distributed processing of spatial preference queries using keywords |
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 |