CN114064729A - 一种数据检索方法、装置、设备及存储介质 - Google Patents
一种数据检索方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114064729A CN114064729A CN202111391384.0A CN202111391384A CN114064729A CN 114064729 A CN114064729 A CN 114064729A CN 202111391384 A CN202111391384 A CN 202111391384A CN 114064729 A CN114064729 A CN 114064729A
- Authority
- CN
- China
- Prior art keywords
- retrieval
- index
- data
- storage cluster
- cluster
- 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 49
- 238000012545 processing Methods 0.000 claims abstract description 82
- 238000013500 data storage Methods 0.000 claims description 56
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- 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/242—Query formulation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据检索方法、装置、设备及存储介质,所述方法包括:获取用户发送的标准检索指令,并根据所述标准检索指令,确定待检索的数据表名称和检索条件;根据所述数据表名称和所述检索条件,基于设定表存储元数据,从各候选索引存储集群中选取至少一个目标索引存储集群,并根据所述标准检索指令,确定各所述目标索引存储集群对应的子索引检索指令;分别向各所述目标索引存储集群发送对应的子索引检索指令,以使各所述目标索引存储集群根据相应所述子索引检索指令反馈索引处理结果;根据各所述索引处理结果,确定向所述用户返回的检索结果;通过上述技术方案,屏蔽了多集群系统的复杂性,提高了数据检索效率。
Description
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种数据检索方法、装置、设备及存储介质。
背景技术
在大数据时代,企业的数据规模飞速增长,单机关系型数据库已不能满足海量数据存储与检索要求,于是引入了各类分布式存储集群,如ElasticSearch、SolrCloud、Hbase和TableStore等常见分布式存储集群,通过采用多集群模式,可以面对不断膨胀的数据规模。
然而,由于各个集群的应用特点不同,在多集群模式下,如何从多个分布式存储集群中进行简单高效检索,从海量数据中检索出关键数据,这对用户来说十分重要,而现有技术中,并未充分考虑到这一点。
因此,针对现有技术中存在的问题,亟待进行改善。
发明内容
本申请提供一种数据检索方法、装置、设备及存储介质,以屏蔽多集群系统的复杂性,提高数据检索效率。
第一方面,本申请实施例提供了一种数据检索方法,该方法包括:
获取用户发送的标准检索指令,并根据所述标准检索指令,确定待检索的数据表名称和检索条件;
根据所述数据表名称和所述检索条件,基于设定表存储元数据,从各候选索引存储集群中选取至少一个目标索引存储集群,并根据所述标准检索指令,确定各所述目标索引存储集群对应的子索引检索指令;
分别向各所述目标索引存储集群发送对应的子索引检索指令,以使各所述目标索引存储集群根据相应所述子索引检索指令反馈索引处理结果;
根据各所述索引处理结果,确定向所述用户返回的检索结果。
第二方面,本申请实施例还提供了一种数据检索装置,该装置包括:
检索指令获取模块,用于获取用户发送的标准检索指令,并根据所述标准检索指令,确定待检索的数据表名称和检索条件;
索引集群确定模块,用于根据所述数据表名称和所述检索条件,基于设定表存储元数据,从各候选索引存储集群中选取至少一个目标索引存储集群,并根据所述标准检索指令,确定各所述目标索引存储集群对应的子索引检索指令;
索引指令发送模块,用于分别向各所述目标索引存储集群发送对应的子索引检索指令,以使各所述目标索引存储集群根据相应所述子索引检索指令反馈索引处理结果;
检索结果返回模块,用于根据各所述索引处理结果,确定向所述用户返回的检索结果。
第三方面,本申请实施例还提供了一种电子设备,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面实施例所提供的任意一种数据检索方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面实施例所提供的任意一种数据检索方法。
本申请实施例通过获取用户发送的标准检索指令,并根据所述标准检索指令,确定待检索的数据表名称和检索条件;根据所述数据表名称和所述检索条件,基于设定表存储元数据,从各候选索引存储集群中选取至少一个目标索引存储集群,并根据所述标准检索指令,确定各所述目标索引存储集群对应的子索引检索指令;分别向各所述目标索引存储集群发送对应的子索引检索指令,以使各所述目标索引存储集群根据相应所述子索引检索指令反馈索引处理结果;根据各所述索引处理结果,确定向所述用户返回的检索结果。上述技术方案,通过提供统一制式的标准检索指令,屏蔽了多个集群以及不同分布式系统下的检索复杂性,有助于用户从多个各种类别的分布式系统集群中,简单高效地检索出关键数据,同时,针对标准检索指令在对应的目标索引存储集群中进行检索,而不是在原始数据集中进行检索,在满足基本检索要求的情况下,可以提高数据检索效率,从而提升用户使用体验。
附图说明
图1是本申请实施例一提供的一种数据检索方法的流程图;
图2是本申请实施例二提供的一种数据检索方法的流程图;
图3是本申请实施例三提供的一种数据检索装置的示意图;
图4是本申请实施例四提供的一种电子设备的示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1为本申请实施例一提供的一种数据检索方法的流程图。本申请实施例可适用于根据用户检索指令向用户返回检索结果的情况。该方法可以由一种数据检索装置来执行,该装置可以由软件和/或硬件的方式实现,并具体配置于电子设备中,该电子设备可以是移动终端或固定终端。
参见图1,本申请实施例提供的数据检索方法,包括:
S110、获取用户发送的标准检索指令,并根据标准检索指令,确定待检索的数据表名称和检索条件。
其中,标准检索指令可以是SQL语句类型的检索指令,当然,根据程序开发设计的需求,标准检索指令也可以是其他类型的检索指令,以满足不同的检索业务需求。
例如,以SQL语句类型的标准检索指令为例,用户发送的标准检索指令可以是:SELECT+要查询的列名+FROM+数据表名称+WHERE+检索条件,其中,要查询的列名可以是默认的全部数据表中的列名,或者也可以是用户根据实际的检索需求进行填写,而SELECT、FROM和WHERE是SQL语句的基本构成要素。
本实施例中,待检索的数据表名称和检索条件可以从标准检索指令中根据特殊的字母或符号进行定位或语义识别得到。
可选地,用户还可以基于本地检索客户端发起标准检索指令,并由检索客户端将标准检索指令发送给后台检索服务器,以请求后台检索服务器根据标准检索指令确定对应的检索结果。
可选地,还可以根据标准检索指令,在用户的本地数据缓存中进行检索;若命中本地数据缓存,则从本地数据缓存中确定向用户返回的检索结果。
具体地,本地数据缓存可以是Redis(Remote Dictionary Server,远程字典服务)数据缓存,其中,Redis是一个开源的使用标准C语言编写、支持网络、可基于内存亦可持久化的日志型、键值对数据库,并提供多种语言的应用程序接口。
本实施例中,在获取用户发送的标准检索指令之后,可以首先基于标准检索指令在Redis数据缓存中查询是否存在标准检索指令对应的数据记录;若存在,则将数据记录的值作为检索结果向用户返回;若不存在,则访问存储有Redis数据缓存备份的数据库,查询数据库中是否存在数据记录;若数据库中存在,则将数据库中的数据记录复制到Redis数据缓存中,并将数据记录的值作为检索结果向用户返回。
可以理解的是,通过设置本地数据缓存,可以提高检索效率,减少让用户等待的时间,提升用户使用体验。
S120、根据数据表名称和检索条件,基于设定表存储元数据,从各候选索引存储集群中选取至少一个目标索引存储集群,并根据标准检索指令,确定各目标索引存储集群对应的子索引检索指令。
本实施例中,根据快速检索需求,可以选择基于Lucene索引开发的索引存储集群,其中,Lucene是目前流行的开源全文检索工具包,基于JAVA语言编写。
具体地,各候选索引存储集群可以包括ElasticSearch集群和/或SolrCloud集群等,也即各候选索引存储集群可以是多个ElasticSearch集群或者多个SolrCloud集群或者多个ElasticSearch集群和SolrCloud集群组成的异构混合集群。
可以理解的是,各候选索引存储集群的构成有多种形式,可以根据实际使用需求和情况进行合理设置,如可以考虑检索成本和检索效率。
本实施例中,目标索引存储集群可以基于设定表存储元数据,根据数据表名称和检索条件,从各候选索引存储集群中进行选择确定。
其中,设定表存储元数据可以根据数据存储需求和设计需求进行预先确定,设定表存储元数据可以根据用户预置的存储策略进行定制化生成。例如,有一个数据表名称为Table1的数据集,其数据量很大,在做该数据集存储规划时,考虑拆分存储,可以选择2个原始数据存储集群D1和D2进行存储,并构建数据集索引,考虑数据类别不同,可以选择3个索引存储集群T1、T2和T3进行存储。上述数据集存储过程中,通过提取原始数据存储集群和索引存储集群对数据集的组织存储关系,就可以形成设定表存储元数据。
可以理解的是,通过设定表存储元数据,可以快速定位数据的存储方式,方便查找。
具体地,考虑到存在数据集拆分存储的情况,仅根据数据表名称不能准确定位出所要查找的目标索引存储集群,因此,可以根据数据表名称和检索条件同时进行查找,以准确找到目标索引存储集群。
本实施例中,可以按照索引存储集群的不同,将标准检索指令封装成各个索引存储集群下对应的子索引检索指令,以便于准确检索,也即不同索引存储集群可以对应不同的子索引检索指令。
S130、分别向各目标索引存储集群发送对应的子索引检索指令,以使各目标索引存储集群根据相应子索引检索指令反馈索引处理结果。
其中,索引处理结果包括原始数据记录标识和关键字段集合。原始数据记录标识用于定位原始数据的存储位置,原始数据记录标识具有唯一性;关键字段集合用于提供满足设定字段检索需求的快速检索。
本实施例中,关键字段集合包括至少一个关键字段。具体地,关键字段集合可以根据实际使用需求和情况进行预先确定。例如,关键字段集合可以包括部分重要字段如数据统计类的字段;或者,关键字段集合可以包括用户自定义设置的字段。
优选地,关键字段集合可以包括用户检索出现频率较高的字段,具体地,关键字段集合可以根据用户历史检索日志进行确定。
可以理解的是,通过识别用户检索出现频率较高的字段,并将其保存到关键字段集合中,使得在进行数据检索时,可以提高检索效率。
S140、根据各索引处理结果,确定向用户返回的检索结果。
本实施例中,可以对各索引处理结果进行合并处理,并将合并处理过后的索引处理结果直接向用户返回。或者,也可以基于用户的操作指示,在各索引处理结果的基础上,确定是否需要在原始数据存储集群中进行检索。
本申请实施例通过获取用户发送的标准检索指令,并根据所述标准检索指令,确定待检索的数据表名称和检索条件;根据所述数据表名称和所述检索条件,基于设定表存储元数据,从各候选索引存储集群中选取至少一个目标索引存储集群,并根据所述标准检索指令,确定各所述目标索引存储集群对应的子索引检索指令;分别向各所述目标索引存储集群发送对应的子索引检索指令,以使各所述目标索引存储集群根据相应所述子索引检索指令反馈索引处理结果;根据各所述索引处理结果,确定向所述用户返回的检索结果。上述技术方案,通过提供统一制式的标准检索指令,屏蔽了多个集群以及不同分布式系统下的检索复杂性,有助于用户从多个各种类别的分布式系统集群中,简单高效地检索出关键数据,同时,针对标准检索指令在对应的目标索引存储集群中进行检索,而不是在原始数据集中进行检索,在满足基本检索要求的情况下,可以提高数据检索效率,从而提升用户使用体验。
实施例二
图3为本申请实施例二提供的一种数据检索方法的流程图,本实施例是在上述实施例的基础上,对上述方案的优化。
进一步地,增加操作“根据所述标准检索指令,确定待检索的检索字段”;相应的,可以将操作“根据各所述索引处理结果,确定向所述用户返回的检索结果”,细化为“判断在各所述索引处理结果中是否存在所述检索字段;若是,则获取与所述检索字段对应的检索字段值,并将所述检索字段值作为检索结果向所述用户返回”;并且,增加操作“若否,则根据各所述索引处理结果中的记录标识,从各候选原始数据存储集群中选取至少一个目标原始数据存储集群,并根据所述记录标识,确定各所述目标原始数据存储集群对应的子数据检索指令;分别向各所述目标原始数据存储集群发送对应的子数据检索指令,以使各所述目标原始数据存储集群根据相应所述子索引检索指令反馈原始数据处理结果;根据各所述原始数据处理结果,确定向所述用户返回的检索结果”,以明确向用户返回检索结果的具体内容。
其中与上述实施例相同或相应的术语的解释在此不再赘述。
参见图3,本实施例提供的数据检索方法,包括:
S210、获取用户发送的标准检索指令,并根据标准检索指令,确定待检索的数据表名称、检索条件和检索字段。
其中,检索字段可以是用户在标准检索指令中预先设置的。例如,用户想要查找一个手机号码为“XX”的员工的姓名、年龄和地址,相应的,标准检索指令可以是:SELECTname,age,address FROM employee WHERE phone='XX',其中,name,age,address也即对应的姓名、年龄和地址检索字段,employee为员工数据表名称,phone='XX'也即检索条件。
S220、根据数据表名称和检索条件,基于设定表存储元数据,从各候选索引存储集群中选取至少一个目标索引存储集群,并根据标准检索指令,确定各目标索引存储集群对应的子索引检索指令。
本实施例中,所述设定表存储元数据可以根据以下方式生成:加载集群配置文件;根据集群配置文件中的索引集群连接参数,从各候选索引存储集群中获取索引元数据;以及,根据集群配置文件中的原始数据集群连接参数,从各候选原始数据存储集群中获取原始数据元数据;按照相同的数据表和字段原则,对索引元数据和原始数据元数据进行组织合并,生成设定表存储元数据。
其中,集群连接参数包括集群的主机名、端口等连接参数。
本实施例中,集群配置文件可以根据用户制定存储策略,进行数据集存储规划时生成。
可以理解的是,设定表存储元数据作为索引存储集群查找的依据,提供了数据支撑。
S230、分别向各目标索引存储集群发送对应的子索引检索指令,以使各目标索引存储集群根据相应子索引检索指令反馈索引处理结果。
S240、判断在各索引处理结果中是否存在检索字段。
本实施例中,可以采用字段匹配的方式,在各索引处理结果中确定是否存在检索字段,当字段匹配度满足设定匹配度阈值时,则认为在索引处理结果中存在检索字段。
S250、若是,则获取与检索字段对应的检索字段值,并将检索字段值作为检索结果向用户返回。
本实施例中,可以基于索引存储集群做简单快速查询,有助于提高检索性能。
S260、若否,则根据各索引处理结果中的记录标识,从各候选原始数据存储集群中选取至少一个目标原始数据存储集群,并根据记录标识,确定各目标原始数据存储集群对应的子数据检索指令。
其中,记录标识唯一记载了原始数据在原始数据存储集群中的位置。可以按照原始数据存储集群的不同,根据记录标识,确定各目标原始数据存储集群对应的子数据检索指令,以适配各集群检索要求。
本实施例中,在各索引处理结果中不存在检索字段的情况下,为了提高检索结果的准确度,可以基于各索引处理结果中的记录标识,在目标原始数据存储集群中进行进一步查找。
可选地,根据原始数据存储需求,可以选择基于NoSQL数据库的集群,其中,NoSQL数据库也即非关系型数据库,是一种数据结构化存储方法的集合,可以是键值对形式、文档形式和图片形式等等。
本实施例中,各候选原始数据存储集群可以包括Hbase集群和/或阿里云TableStore集群等,也即各目标原始数据存储集群可以是多个Hbase集群或者多个阿里云TableStore集群或者多个Hbase集群和阿里云TableStore集群组成的异构混合集群。
可以理解的是,各候选原始数据存储集群的构成有多种形式,可以根据实际使用需求和情况进行合理设置,如可以考虑存储成本和具体业务形式等。
本实施例中,数据表的原始数据存储在多个基于NoSQL的原始数据存储集群,数据表的索引存储在多个基于Lucene的索引存储集群,可以不受单集群节点规模限制,各集群可按照数据量及性能需求,增减集群数目,适应各类海量数据处理场景。
可以理解的是,数据表的原始数据存储集群和索引存储集群都可以支持不同的分布式系统,甚至是异构混合系统集群,可充分利用企业现有数据库资源,节约成本,同时也方便随时引入新的分布式系统,以提高效率和降低成本。
可选地,还可以对原始数据进行分区处理,以实现大规模数据的均匀存储,避免出现数据倾斜,从而有效提升数据查询的速度。
具体地,在进行数据存储时,可以对记录标识做哈希计算,将原始数据均衡存储在原始数据集群中。
S270、分别向各目标原始数据存储集群发送对应的子数据检索指令,以使各目标原始数据存储集群根据相应子索引检索指令反馈原始数据处理结果。
本实施例中,通过向各目标原始数据存储集群发送对应的子数据检索指令,屏蔽了多个集群以及不同分布式系统下的检索复杂性,有助于用户从多个各种类别的分布式系统集群中,简单高效地检索出关键数据。
可选地,针对每一个目标原始数据存储集群,将对应的所述子数据检索指令发送到该目标原始数据存储集群的任务消息队列中,以使该目标原始数据存储集群根据所述任务消息队列,执行本集群内的检索任务。
本实施例中,考虑到各集群在执行检索任务时,同一时间,有多个用户需要访问原始数据存储集群,此时,就不可避免出现高并发问题。因此,为了缓解各集群的检索压力,可采用队列的方式对子数据检索指令进行存储。
可以理解的是,将子数据检索指令存储到任务消息队列中,优化了集群内部对检索任务的处理模式。
S280、根据各原始数据处理结果,确定向用户返回的检索结果。
可选地,在存在至少两条原始数据处理结果的情况下,所述根据各所述原始数据处理结果,确定向所述用户返回的检索结果,包括:对所述至少两条原始数据处理结果进行去重合并,得到中间数据处理结果;在所述中间数据处理结果中获取与所述检索字段对应的检索字段值,并将所述检索字段值作为检索结果向所述用户返回。
本实施例中,考虑到原始数据在拆分存储过程中,可能存在丢失的情况,因此,可以对原始数据进行冗余存储。相应的,在获取到各原始数据处理结果之后,需要对各原始数据处理结果进行去重合并处理。
可以理解的是,通过去重合并处理,保证了原始数据处理结果的完整性、以及减少网络上的数据传输量,从而节省网络带宽。
本申请实施例在上述实施例的基础上,对向用户返回检索结果的具体内容进行了明确,通过根据标准检索指令,确定待检索的检索字段;相应的,根据各索引处理结果,确定向用户返回的检索结果,包括:判断在各索引处理结果中是否存在检索字段;若是,则获取与检索字段对应的检索字段值,并将检索字段值作为检索结果向用户返回;若否,则根据各索引处理结果中的记录标识,从各候选原始数据存储集群中选取至少一个目标原始数据存储集群,并根据记录标识,确定各目标原始数据存储集群对应的子数据检索指令;分别向各目标原始数据存储集群发送对应的子数据检索指令,以使各目标原始数据存储集群根据相应子索引检索指令反馈原始数据处理结果;根据各原始数据处理结果,确定向用户返回的检索结果。上述技术方案,通过对索引处理结果进行判断,保证了向用户返回检索结果的准确性,同时,在索引处理结果不满足用户查询要求的情况下,还可以基于记录标识在原始数据存储集群中进行检索,提高了检索结果的精度。
实施例三
图3是本申请实施例三提供的一种数据检索装置的结构示意图。参见图3,本申请实施例提供的一种数据检索装置,该装置包括:检索指令获取模块310、索引集群确定模块320、索引指令发送模块330和检索结果返回模块340。
检索指令获取模块310,用于获取用户发送的标准检索指令,并根据所述标准检索指令,确定待检索的数据表名称和检索条件;
索引集群确定模块320,用于根据所述数据表名称和所述检索条件,基于设定表存储元数据,从各候选索引存储集群中选取至少一个目标索引存储集群,并根据所述标准检索指令,确定各所述目标索引存储集群对应的子索引检索指令;
索引指令发送模块330,用于分别向各所述目标索引存储集群发送对应的子索引检索指令,以使各所述目标索引存储集群根据相应所述子索引检索指令反馈索引处理结果;
检索结果返回模块340,用于根据各所述索引处理结果,确定向所述用户返回的检索结果。
本申请实施例通过获取用户发送的标准检索指令,并根据所述标准检索指令,确定待检索的数据表名称和检索条件;根据所述数据表名称和所述检索条件,基于设定表存储元数据,从各候选索引存储集群中选取至少一个目标索引存储集群,并根据所述标准检索指令,确定各所述目标索引存储集群对应的子索引检索指令;分别向各所述目标索引存储集群发送对应的子索引检索指令,以使各所述目标索引存储集群根据相应所述子索引检索指令反馈索引处理结果;根据各所述索引处理结果,确定向所述用户返回的检索结果。上述技术方案,通过提供统一制式的标准检索指令,屏蔽了多个集群以及不同分布式系统下的检索复杂性,有助于用户从多个各种类别的分布式系统集群中,简单高效地检索出关键数据,同时,针对标准检索指令在对应的目标索引存储集群中进行检索,而不是在原始数据集中进行检索,在满足基本检索要求的情况下,可以提高数据检索效率,从而提升用户使用体验。
进一步地,所述装置还包括:
检索字段解析模块,用于根据所述标准检索指令,确定待检索的检索字段;相应的,所述检索结果返回模块340,包括:
判断子模块,用于判断在各所述索引处理结果中是否存在所述检索字段;
字段值返回子模块,用于若是,则获取与所述检索字段对应的检索字段值,并将所述检索字段值作为检索结果向所述用户返回。
进一步地,所述装置还包括:
数据集群确定子模块,用于若否,则根据各所述索引处理结果中的记录标识,从各候选原始数据存储集群中选取至少一个目标原始数据存储集群,并根据所述记录标识,确定各所述目标原始数据存储集群对应的子数据检索指令;
检索指令发送子模块,用于分别向各所述目标原始数据存储集群发送对应的子数据检索指令,以使各所述目标原始数据存储集群根据相应所述子索引检索指令反馈原始数据处理结果;
检索结果返回子模块,用于根据各所述原始数据处理结果,确定向所述用户返回的检索结果。
进一步地,在存在至少两条原始数据处理结果的情况下,所述检索结果返回子模块,包括:
去重合并单元,用于对所述至少两条原始数据处理结果进行去重合并,得到中间数据处理结果;
字段值返回单元,用于在所述中间数据处理结果中获取与所述检索字段对应的检索字段值,并将所述检索字段值作为检索结果向所述用户返回。
进一步地,所述装置还包括元数据生成模块,所述元数据生成模块包括配置文件加载子模块、元数据获取子模块和所述组织合并子模块;
所述配置文件加载子模块,用于加载集群配置文件;
所述元数据获取子模块,用于根据所述集群配置文件中的索引集群连接参数,从各所述候选索引存储集群中获取索引元数据;以及,根据所述集群配置文件中的原始数据集群连接参数,从各候选原始数据存储集群中获取原始数据元数据;
所述组织合并子模块,用于按照相同的数据表和字段原则,对所述索引元数据和所述原始数据元数据进行组织合并,生成设定表存储元数据。
进一步地,所述装置还包括:
消息队列执行模块,用于针对每一个目标原始数据存储集群,将对应的所述子数据检索指令发送到该目标原始数据存储集群的任务消息队列中,以使该目标原始数据存储集群根据所述任务消息队列,执行本集群内的检索任务。
进一步地,所述装置还包括:
本地缓存查询模块,用于根据所述标准检索指令,在所述用户的本地数据缓存中进行检索;
返回结果确定模块,用于若命中所述本地数据缓存,则从所述本地数据缓存中确定向所述用户返回的检索结果。
本申请实施例所提供的数据检索装置可执行本申请任意实施例所提供的数据检索方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4是本申请实施例四提供的一种电子设备的结构图。图4示出了适于用来实现本申请实施方式的示例性电子设备412的框图。图4显示的电子设备412仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图4所示,电子设备412以通用计算设备的形式表现。电子设备412的组件可以包括但不限于:一个或者多个处理器或者处理单元416,系统存储器428,连接不同系统组件(包括系统存储器428和处理单元416)的总线418。
总线418表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MCA)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备412典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器428可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)430和/或高速缓存存储器432。电子设备412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统434可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。系统存储器428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块442的程序/实用工具440,可以存储在例如系统存储器428中,这样的程序模块442包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块442通常执行本申请所描述的实施例中的功能和/或方法。
电子设备412也可以与一个或多个外部设备414(例如键盘、指向设备、显示器424等)通信,还可与一个或者多个使得用户能与该电子设备412交互的设备通信,和/或与使得该电子设备412能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,电子设备412还可以通过网络适配器420与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器420通过总线418与电子设备412的其它模块通信。应当明白,尽管图4中未示出,可以结合电子设备412使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元416通过运行存储在系统存储器428中的多个程序中其他程序的至少一个,从而执行各种功能应用以及数据处理,例如实现本申请实施例所提供的任意一种数据检索方法。
实施例五
本申请实施例五还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请任一实施例所提供的一种数据检索方法,该方法包括:获取用户发送的标准检索指令,并根据所述标准检索指令,确定待检索的数据表名称和检索条件;根据所述数据表名称和所述检索条件,基于设定表存储元数据,从各候选索引存储集群中选取至少一个目标索引存储集群,并根据所述标准检索指令,确定各所述目标索引存储集群对应的子索引检索指令;分别向各所述目标索引存储集群发送对应的子索引检索指令,以使各所述目标索引存储集群根据相应所述子索引检索指令反馈索引处理结果;根据各所述索引处理结果,确定向所述用户返回的检索结果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
值得注意的是,上述数据检索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (10)
1.一种数据检索方法,其特征在于,包括:
获取用户发送的标准检索指令,并根据所述标准检索指令,确定待检索的数据表名称和检索条件;
根据所述数据表名称和所述检索条件,基于设定表存储元数据,从各候选索引存储集群中选取至少一个目标索引存储集群,并根据所述标准检索指令,确定各所述目标索引存储集群对应的子索引检索指令;
分别向各所述目标索引存储集群发送对应的子索引检索指令,以使各所述目标索引存储集群根据相应所述子索引检索指令反馈索引处理结果;
根据各所述索引处理结果,确定向所述用户返回的检索结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述标准检索指令,确定待检索的检索字段;
相应的,所述根据各所述索引处理结果,确定向所述用户返回的检索结果,包括:
判断在各所述索引处理结果中是否存在所述检索字段;
若是,则获取与所述检索字段对应的检索字段值,并将所述检索字段值作为检索结果向所述用户返回。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若否,则根据各所述索引处理结果中的记录标识,从各候选原始数据存储集群中选取至少一个目标原始数据存储集群,并根据所述记录标识,确定各所述目标原始数据存储集群对应的子数据检索指令;
分别向各所述目标原始数据存储集群发送对应的子数据检索指令,以使各所述目标原始数据存储集群根据相应所述子索引检索指令反馈原始数据处理结果;
根据各所述原始数据处理结果,确定向所述用户返回的检索结果。
4.根据权利要求3所述的方法,其特征在于,在存在至少两条原始数据处理结果的情况下,所述根据各所述原始数据处理结果,确定向所述用户返回的检索结果,包括:
对所述至少两条原始数据处理结果进行去重合并,得到中间数据处理结果;
在所述中间数据处理结果中获取与所述检索字段对应的检索字段值,并将所述检索字段值作为检索结果向所述用户返回。
5.根据权利要求1所述的方法,其特征在于,所述设定表存储元数据根据以下方式生成:
加载集群配置文件;
根据所述集群配置文件中的索引集群连接参数,从各所述候选索引存储集群中获取索引元数据;以及,根据所述集群配置文件中的原始数据集群连接参数,从各候选原始数据存储集群中获取原始数据元数据;
按照相同的数据表和字段原则,对所述索引元数据和所述原始数据元数据进行组织合并,生成设定表存储元数据。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
针对每一个目标原始数据存储集群,将对应的所述子数据检索指令发送到该目标原始数据存储集群的任务消息队列中,以使该目标原始数据存储集群根据所述任务消息队列,执行本集群内的检索任务。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述标准检索指令,在所述用户的本地数据缓存中进行检索;
若命中所述本地数据缓存,则从所述本地数据缓存中确定向所述用户返回的检索结果。
8.一种数据检索装置,其特征在于,包括:
检索指令获取模块,用于获取用户发送的标准检索指令,并根据所述标准检索指令,确定待检索的数据表名称和检索条件;
索引集群确定模块,用于根据所述数据表名称和所述检索条件,基于设定表存储元数据,从各候选索引存储集群中选取至少一个目标索引存储集群,并根据所述标准检索指令,确定各所述目标索引存储集群对应的子索引检索指令;
索引指令发送模块,用于分别向各所述目标索引存储集群发送对应的子索引检索指令,以使各所述目标索引存储集群根据相应所述子索引检索指令反馈索引处理结果;
检索结果返回模块,用于根据各所述索引处理结果,确定向所述用户返回的检索结果。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一项所述的一种数据检索方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的一种数据检索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111391384.0A CN114064729B (zh) | 2021-11-23 | 2021-11-23 | 一种数据检索方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111391384.0A CN114064729B (zh) | 2021-11-23 | 2021-11-23 | 一种数据检索方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114064729A true CN114064729A (zh) | 2022-02-18 |
CN114064729B CN114064729B (zh) | 2024-10-18 |
Family
ID=80279175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111391384.0A Active CN114064729B (zh) | 2021-11-23 | 2021-11-23 | 一种数据检索方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114064729B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117453184A (zh) * | 2023-10-17 | 2024-01-26 | 唐山开用网络信息服务有限公司 | 合成作战应用系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106557591A (zh) * | 2016-12-01 | 2017-04-05 | 深圳中兴网信科技有限公司 | 检索方法和检索装置 |
WO2018095351A1 (zh) * | 2016-11-28 | 2018-05-31 | 中兴通讯股份有限公司 | 搜索处理方法及装置 |
CN110046062A (zh) * | 2019-03-07 | 2019-07-23 | 佳都新太科技股份有限公司 | 分布式数据处理方法及系统 |
CN111309760A (zh) * | 2020-02-10 | 2020-06-19 | 江苏满运软件科技有限公司 | 数据检索方法、系统、设备及存储介质 |
CN112182405A (zh) * | 2020-10-23 | 2021-01-05 | 网易(杭州)网络有限公司 | 数据搜索方法、装置、设备及存储介质 |
CN113297251A (zh) * | 2021-05-31 | 2021-08-24 | 深信服科技股份有限公司 | 多源数据检索方法、装置、设备及存储介质 |
-
2021
- 2021-11-23 CN CN202111391384.0A patent/CN114064729B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018095351A1 (zh) * | 2016-11-28 | 2018-05-31 | 中兴通讯股份有限公司 | 搜索处理方法及装置 |
CN108121709A (zh) * | 2016-11-28 | 2018-06-05 | 中兴通讯股份有限公司 | 一种搜索处理方法及装置 |
CN106557591A (zh) * | 2016-12-01 | 2017-04-05 | 深圳中兴网信科技有限公司 | 检索方法和检索装置 |
CN110046062A (zh) * | 2019-03-07 | 2019-07-23 | 佳都新太科技股份有限公司 | 分布式数据处理方法及系统 |
CN111309760A (zh) * | 2020-02-10 | 2020-06-19 | 江苏满运软件科技有限公司 | 数据检索方法、系统、设备及存储介质 |
CN112182405A (zh) * | 2020-10-23 | 2021-01-05 | 网易(杭州)网络有限公司 | 数据搜索方法、装置、设备及存储介质 |
CN113297251A (zh) * | 2021-05-31 | 2021-08-24 | 深信服科技股份有限公司 | 多源数据检索方法、装置、设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117453184A (zh) * | 2023-10-17 | 2024-01-26 | 唐山开用网络信息服务有限公司 | 合成作战应用系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114064729B (zh) | 2024-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10114908B2 (en) | Hybrid table implementation by using buffer pool as permanent in-memory storage for memory-resident data | |
US20170083573A1 (en) | Multi-query optimization | |
US8949222B2 (en) | Changing the compression level of query plans | |
CN113051268A (zh) | 数据查询方法、数据查询装置、电子设备及存储介质 | |
US9930113B2 (en) | Data retrieval via a telecommunication network | |
US10515078B2 (en) | Database management apparatus, database management method, and storage medium | |
US11288287B2 (en) | Methods and apparatus to partition a database | |
US10296497B2 (en) | Storing a key value to a deleted row based on key range density | |
US9734177B2 (en) | Index merge ordering | |
US10866960B2 (en) | Dynamic execution of ETL jobs without metadata repository | |
US20170212930A1 (en) | Hybrid architecture for processing graph-based queries | |
CN109376173A (zh) | 一种数据查询方法、装置、电子设备及存储介质 | |
CN111221851A (zh) | 一种基于Lucene的海量数据查询、存储的方法和装置 | |
US8396858B2 (en) | Adding entries to an index based on use of the index | |
US9229969B2 (en) | Management of searches in a database system | |
CN114064729B (zh) | 一种数据检索方法、装置、设备及存储介质 | |
US10019483B2 (en) | Search system and search method | |
CN112487025A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
WO2024108638A1 (zh) | 一种基于分片索引的自适应查询方法和装置 | |
CN111427910A (zh) | 数据处理方法及装置 | |
CN110888839A (zh) | 数据存储及数据搜索方法和装置 | |
CN111753017B (zh) | 基于Kylin系统的维表处理方法、装置、电子设备及存储介质 | |
CN109543079B (zh) | 数据查询方法、装置、计算设备及存储介质 | |
CN110297842B (zh) | 一种数据比对方法、装置、终端和存储介质 | |
CN114510605A (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 |