CN114238404A - 数据的查询方法、装置、存储介质及设备 - Google Patents
数据的查询方法、装置、存储介质及设备 Download PDFInfo
- Publication number
- CN114238404A CN114238404A CN202111538851.8A CN202111538851A CN114238404A CN 114238404 A CN114238404 A CN 114238404A CN 202111538851 A CN202111538851 A CN 202111538851A CN 114238404 A CN114238404 A CN 114238404A
- Authority
- CN
- China
- Prior art keywords
- query
- database
- identifier
- determining
- result data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 19
- 230000004044 response Effects 0.000 abstract description 11
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000001356 surgical procedure 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
- G06F16/24552—Database cache management
-
- 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
- G06F16/2425—Iterative querying; Query formulation based on the results of a preceding query
-
- 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
- G06F16/2433—Query languages
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供的一种数据的查询方法、装置、存储介质及设备,属于数据查询技术领域。主要步骤为:首先确定终端设备发送的查询请求中的查询条件对应的第一查询标识,若第一数据库对应的第一缓存区存在第一查询标识,则从第一数据库中确定出与第一查询标识对应的查询结果数据,第一缓存区用于缓存历史查询标识,第一数据库中包含与历史查询标识对应的历史查询结果数据。通过该方式,可以将查询请求对应的第一查询标识与历史查询标识进行匹配,根据匹配到的历史查询标识获取查询结果数据,从而提高了整个查询过程的响应速度。
Description
技术领域
本发明涉及数据查询技术领域,尤其涉及一种数据的查询方法、装置、存储介质及设备。
背景技术
随着信息技术的高速发展,各领域的数据量的增长趋势明显。如何对海量数据进行查询并从中提取有用信息是一个需要解决的问题。
在现有技术中,主要通过搜索引擎等工具来对海量数据进行查询。例如,通过实时搜索引擎(ElsaticSearch)提供的多字段索引等方式,可以灵活地设置查询要求并从海量数据中获得查询结果。
然而,现有的数据的查询方法,当需要查询或返回的数据量较大时,延长了返回查询结果所需的时间,从而导致整个查询过程的响应速度慢,难以满足某些需要在规定时间内返回查询结果的查询场景的要求。
发明内容
本申请提供一种数据的查询方法、装置、存储介质及设备,以解决现有技术中查询过程的响应速度慢的技术问题。
第一方面,本申请提供一种数据的查询方法,所述方法包括:
确定终端设备发送的查询请求中的查询条件对应的第一查询标识;
若第一数据库对应的第一缓存区存在所述第一查询标识,则从所述第一数据库中确定出与所述第一查询标识对应的查询结果数据,所述第一缓存区用于缓存历史查询标识,所述第一数据库中包含与所述历史查询标识对应的历史查询结果数据。
一种可选的实施方式中,在所述确定所述查询请求对应的第一查询标识之后,所述方法还包括:
若第一数据库对应的第一缓存区不存在所述第一查询标识,则从第二数据库中确定出与所述第一查询标识对应的索引数据;
根据所述索引数据,从所述第一数据库中确定出与所述第一查询标识对应的查询结果数据。
一种可选的实施方式中,所述第一查询标识是根据结构化查询语言确定的。
一种可选的实施方式中,所述从所述第一数据库中确定出与所述第一查询标识对应的查询结果数据,包括:
根据所述历史查询标识与主键数据之间的映射关系,确定出与所述第一查询标识对应的主键数据;
根据所述主键数据,从所述第一数据库的历史查询结果数据中确定出与所述第一查询标识对应的查询结果数据。
一种可选的实施方式中,所述从第二数据库中确定出与所述第一查询标识对应的索引数据,包括:
若所述第一数据库对应的第一缓存区中不存在所述第一查询标识,则确定所述第二数据库对应的第二缓存区中是否存在所述第一查询标识;
若否,则从所述第二数据库中确定出与所述第一查询标识对应的索引数据;
将所述第一查询标识缓存至所述第二缓存区。
一种可选的实施方式中,在所述从所述第一数据库中确定出与所述第一查询标识对应的查询结果数据之后,所述方法还包括:
将所述第一查询标识从所述第二缓存区移除。
一种可选的实施方式中,在所述确定所述第二数据库对应的第二缓存区中是否存在所述第一查询标识之后,所述方法还包括:
若是,则中止从所述第二数据库中确定出与所述第一查询标识对应的索引数据。
一种可选的实施方式中,所述第一数据库中还包括从数据源设备中获取到的待查询数据。
一种可选的实施方式中,在所述从所述第二数据库中确定出与所述第一查询标识对应的索引数据之后,所述方法还包括:
根据所述索引数据,从所述第一数据库的待查询数据中确定出与所述第一查询标识对应的查询结果数据。
一种可选的实施方式中,在所述从所述第一数据库的待查询数据中确定出与所述第一查询标识对应的查询结果数据之后,所述方法还包括:
将所述查询结果数据存储于所述第一数据库的历史查询结果数据中;
将所述第一查询标识存储于所述第一缓存区。
一种可选的实施方式中,所述方法还包括:
若所述第一数据库对应的第一缓存区不存在所述第一查询标识,则向所述终端设备发送提示信息,所述提示信息包含所述第一查询标识,所述提示信息用于指示所述终端设备再次提交查询请求。
一种可选的实施方式中,在所述从所述第一数据库的历史查询结果数据中确定出与所述第一查询标识对应的查询结果数据之后,所述方法还包括:
向所述终端设备发送所述第一查询标识及与所述第一查询标识对应的查询结果数据。
第二方面,本申请提供一种数据的查询装置,所述装置包括:
确定模块,用于确定终端设备发送的查询请求中的查询条件对应的第一查询标识;
查询模块,用于若第一数据库对应的第一缓存区存在所述第一查询标识,则从所述第一数据库中确定出与所述第一查询标识对应的查询结果数据,所述第一缓存区用于缓存历史查询标识,所述第一数据库中包含与所述历史查询标识对应的历史查询结果数据。
一种可选的实施方式中,所述查询模块,还用于若第一数据库对应的第一缓存区不存在所述第一查询标识,则从第二数据库中确定出与所述第一查询标识对应的索引数据;根据所述索引数据,从所述第一数据库中确定出与所述第一查询标识对应的查询结果数据。
一种可选的实施方式中,所述第一查询标识是根据结构化查询语言确定的。
一种可选的实施方式中,所述查询模块,具体用于根据所述历史查询标识与主键数据之间的映射关系,确定出与所述第一查询标识对应的主键数据;根据所述主键数据,从所述第一数据库的历史查询结果数据中确定出与所述第一查询标识对应的查询结果数据。
一种可选的实施方式中,所述查询模块,具体用于若所述第一数据库对应的第一缓存区中不存在所述第一查询标识,则确定所述第二数据库对应的第二缓存区中是否存在所述第一查询标识;若否,则从所述第二数据库中确定出与所述第一查询标识对应的索引数据;将所述第一查询标识缓存至所述第二缓存区。
一种可选的实施方式中,所述查询模块,还用于将所述第一查询标识从所述第二缓存区移除。
一种可选的实施方式中,所述查询模块,还用于若是,则中止从所述第二数据库中确定出与所述第一查询标识对应的索引数据。
一种可选的实施方式中,所述第一数据库中还包括从数据源设备中获取到的待查询数据。
一种可选的实施方式中,所述查询模块,还用于根据所述索引数据,从所述第一数据库的待查询数据中确定出与所述第一查询标识对应的查询结果数据。
一种可选的实施方式中,所述查询模块,还用于将所述查询结果数据存储于所述第一数据库的历史查询结果数据中;将所述第一查询标识存储于所述第一缓存区。
一种可选的实施方式中,所述查询模块,还用于若所述第一数据库对应的第一缓存区不存在所述第一查询标识,则向所述终端设备发送提示信息,所述提示信息包含所述第一查询标识,所述提示信息用于指示所述终端设备再次提交查询请求。
一种可选的实施方式中,所述查询模块,还用于向所述终端设备发送所述第一查询标识及与所述第一查询标识对应的查询结果数据。
第三方面,本申请还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面任意一项所述的方法。
第四方面,本发明还提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如第一方面任意一项所述的方法。
第五方面,本申请还提供一种电子设备,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如第一方面任意一项所述的方法。
本申请提供的一种数据的查询方法、装置、存储介质及设备,首先确定终端设备发送的查询请求中的查询条件对应的第一查询标识,若第一数据库对应的第一缓存区存在第一查询标识,则从第一数据库中确定出与第一查询标识对应的查询结果数据,第一缓存区用于缓存历史查询标识,第一数据库中包含与历史查询标识对应的历史查询结果数据。通过该方式,可以将查询请求对应的第一查询标识与历史查询标识进行匹配,根据匹配到的历史查询标识获取查询结果数据,从而提高了整个查询过程的响应速度。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种数据的查询方法的应用场景示意图;
图2为本申请实施例提供的一种数据的查询方法的流程示意图;
图3为本申请实施例提供的一种数据的查询系统的结构示意图;
图4为本申请实施例提供的另一种数据的查询方法的流程示意图;
图5为本申请实施例提供的再一种数据的查询方法的流程示意图;
图6为本申请实施例提供的一种数据的查询装置的结构示意图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
随着信息技术的高速发展,各领域的数据量的增长趋势明显。在大数据时代的背景下,如何对海量数据进行查询并从中提取有用信息是一个需要解决的问题。
在现有技术中,主要通过搜索引擎等工具来对海量数据进行查询。例如,通过实时搜索引擎(ElsaticSearch)提供的多字段索引等方式,可以灵活地设置查询要求并从海量数据中获得查询结果。
然而,现有的数据的查询方法,当需要查询或返回的数据量较大时,延长了查询结果所需的返回时间,从而导致整个查询过程的响应速度慢,难以满足某些需要在规定时间内返回查询结果的查询场景的要求。
为解决上述技术问题,本申请实施例提供一种数据的查询方法、装置、存储介质及设备,通过将查询请求对应的第一查询标识与历史查询标识进行匹配,根据匹配到的历史查询标识获取查询结果数据,从而减少了对搜索引擎的访问次数,进而提高了查询过程的响应速度。
下面对于本申请涉及的一种数据的查询方法的应用场景进行说明。
图1为本申请实施例提供的一种数据的查询方法的应用场景示意图。如图1所示,包括有终端设备101及服务器102。首先,终端设备101可以向服务器102发送查询请求。在接收到查询请求后,服务器102可以确定查询请求对应的第一查询标识,随后将第一查询标识与第一缓存区中的历史查询标识进行匹配,根据匹配结果选择不同的查询方式从而确定查询结果数据,并向终端设备101发送上述查询结果数据或预设的提示信息。
其中,上述终端设备可以为手机(mobile phone)、平板电脑(pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、智慧家庭(smart home)中的无线终端等。本申请实施例中,用于实现终端的功能的装置可以是终端,也可以是能够支持终端实现该功能的装置,例如芯片系统,该装置可以被安装在终端中。本申请实施例中,芯片系统可以由芯片构成,也可以包括芯片和其它分立器件。
上述服务器可以是但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算的由大量计算机或网络服务器构成的云。
应理解,本申请技术方案的应用场景可以是图1中的数据的查询场景,但不限于此,还可以应用于其它需要对数据进行查询的场景中。
可以理解,上述数据的查询方法可以通过本申请实施例提供的数据的查询装置实现,数据的查询装置可以是某个设备的部分或全部,例如服务器。
下面以具体的实施例对本申请实施例的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本申请实施例提供的一种数据的查询方法的流程示意图,本实施例涉及的是根据查询请求对数据进行查询的过程。本申请实施例以集成或安装有相关执行代码的服务器为例,如图2所示,该方法包括:
S201、确定终端设备发送的查询请求中的查询条件对应的第一查询标识。
在本申请实施例中,服务器可以首先确定终端设备发送的查询请求中的查询条件对应的第一查询标识,然后根据第一查询标识,确定需要返回的查询结果数据。
本申请实施例对于查询请求中包含的具体内容不作限制。在一些实施例中,查询请求中可以包含第一查询标识;在另一些实施例中,查询请求中也可以包含结构化查询语言(Structured Query Language,SQL)。其中,结构化查询语言可以用于指示上述查询条件。
服务器可以根据结构化查询语言确定第一查询标识,本申请实施例对此不作限制。在一些实施例中,服务器可以根据预设的加密算法对结构化查询语言进行加密,生成查询请求对应的唯一的第一查询标识。示例性地,服务器可以通过MD5信息摘要算法(MD5Message-Digest Algorithm)对SQL进行加密,得到MD5值为“19c27f42b4d6a93f7f9ffc2ea9bdd765”的字符串,然后将该字符串作为第一查询标识(SQL ID)。其中,服务器采用的加密算法可以根据实际情况具体设置,本申请实施例对此也不做限制。
需要说明的是,在一些实施例中,当查询请求中包含结构化查询语言且不包含第一查询标识时,服务器可以首先获取查询请求中的结构化查询语言,并根据该结构化查询语言生成查询请求对应的第一查询标识。
S202、若第一数据库对应的第一缓存区存在查询请求对应的第一查询标识,则从第一数据库中确定出与第一查询标识对应的查询结果数据。
在本步骤中,当确定第一查询标识后,若第一数据库对应的第一缓存区存在第一查询标识,则服务器可以从第一数据库中确定出与第一查询标识对应的查询结果数据。
其中,第一缓存区用于缓存历史查询标识,历史查询标识包括已获得对应的查询结果数据的第一查询标识。第一数据库中包含与历史查询标识对应的历史查询结果数据。本申请实施例对于第一数据库的类型不作限制。在一些实施例中,第一数据库的类型可以根据需存储的数据量及需并行处理的查询请求量进行确定。示例性地,第一数据库可以为能够存储海量数据、处理高并发查询请求的开源数据库(Hadoop Database,HBase)。
本申请实施例对于如何从第一数据库中确定出与第一查询标识对应的查询结果数据不作限制。在一些实施例中,若第一缓存区中存储的历史查询标识中,存在上述查询请求对应的第一查询标识,则服务器可以根据历史查询标识与主键数据之间的映射关系,确定出与第一查询标识对应的主键数据;然后根据该主键数据,从第一数据库的历史查询结果数据中确定出与第一查询标识对应的查询结果数据。示例性地,服务器可以确定与SQLID对应的主键数据(RowKey),然后根据该RowKey从HBase数据库中的历史查询结果数据确定出查询结果数据。
进一步地,在从第一数据库的历史查询结果数据中确定出与第一查询标识对应的查询结果数据之后,服务器可以向终端设备发送第一查询标识及与第一查询标识对应的查询结果数据,本申请对此不作限制。
在另一些实施例中,若第一数据库对应的第一缓存区不存在第一查询标识,则服务器可以从第二数据库中确定出与第一查询标识对应的索引数据;然后根据索引数据,从第一数据库中确定出与第一查询标识对应的查询结果数据。可以理解,若第一缓存区的历史查询数据中不存在第一查询标识,则服务器不能通过历史查询结果数据直接获取与第一查询标识对应的查询结果数据。
需要说明的是,第一数据库中还包括从数据源设备中获取到的待查询数据,第二数据库包含与上述待查询数据对应的索引数据。本申请实施例对于如何获取待查询数据不作限制。在一些实施例中,服务器可以首先从预设的数据源设备中采集符合要求的数据,作为待查询数据;并对待查询数据进行处理,生成待查询数据对应的索引数据;然后将待查询数据存储至第一数据库,将待查询数据对应的索引数据存储至第二数据库。示例性地,服务器可以将采集到的待查询数据存储至Hbase数据库中;同时,采用开源流处理框架(Flink)对采集到的数据进行实时处理,生成待查询数据对应的索引数据,然后将索引数据存储至ElsaticSearch数据库中。
本申请实施例对于如何确定出与第一查询标识对应的索引数据不作限制。在一些实施例中,若第一数据库对应的第一缓存区中不存在第一查询标识,则确定第二数据库对应的第二缓存区中是否存在第一查询标识;若否,则从第二数据库中确定出与第一查询标识对应的索引数据,同时将第一查询标识缓存至第二缓存区。
其中,第二缓存区用于缓存未存在于第一缓存区中、且正处于查询过程中的第一查询标识。查询过程可以包括根据第一查询标识确定索引数据,及根据索引数据确定查询结果数据的过程。可以理解,若第二数据库对应的第二缓存区中存在与第一查询标识相同的第一查询标识,则说明第一查询标识对应的查询过程正在进行中,则可中止从第二数据库中确定出与第一查询标识对应的索引数据及后续的查询过程。
若第二缓存区中不存在与第一查询标识相同的第一查询标识,则说明不存在正在进行的与第一查询标识对应的查询过程。进一步地,服务器可以将未存在于第二缓存区中的第一查询标识缓存至第二缓存区中;同时根据第一查询标识,生成查询指令,并根据查询指令从第二数据库中确定出与第一查询标识对应的索引数据;然后根据索引数据,从第一数据库的待查询数据中确定出与第一查询标识对应的查询结果数据。
本申请实施例对于如何根据第一查询标识确定索引数据不作限制。在一些实施例中,服务器可以根据第一查询标识生成对应的查询指令,例如if条件查询语句,然后根据该查询指令确定索引数据。进一步地,在从待查询数据中确定出查询结果数据后,服务器可以将第一查询标识从第二缓存区中移除。
需要说明的是,本申请实施例对于如何确定历史查询标识及与其对应的历史查询结果数据不作限制。在一些实施例中,在从待查询数据中确定出与第一查询标识对应的查询结果数据之后,服务器还可以将该查询结果数据作为历史查询结果数据,存储于第一数据库中;将与该查询结果数据对应的第一查询标识作为历史查询标识,存储于第一缓存区中。
在另一些实施例中,若第一数据库对应的第一缓存区不存在第一查询标识,则服务器还可以向终端设备发送提示信息。其中,提示信息包含第一查询标识,提示信息用于指示终端设备再次提交查询请求。示例性地,在某些对响应时长要求严格的查询场景中,例如,要求在200毫秒(ms)内必须对查询请求作出响应的场景,若在200ms内未能返回查询结果,服务器则可以将与查询请求对应的第一查询标识及提示字段作为提示信息,发送给终端设备。可以理解,再次提交查询请求时,终端设备可以直接提供第一查询标识。
进一步地,本申请实施例对于提示字段的具体内容不作限制。在一些实施例中,提示字段中包含的内容可以根据实际情况预先设置。示例性地,提示字段可以包括“查询正在进行中,请稍后再来重新提取查询结果”等。
图3为本申请实施例提供的一种数据的查询系统的结构示意图。如图3所示,包括终端设备301、内存缓存区302及数据库区303。其中,内存缓存区302包括第一缓存区3021、第二缓存区3022及请求追踪组件3023;数据库区303包括第一数据库3031及第二数据库3032。
第一缓存区3021可以用“CacheA”表示,第二缓存区3022可以用“CacheB”表示,第一数据库3031可以包括Hbase数据库,第二数据库3032可以包括ElsaticSearch数据库。终端设备301可以通过相关应用在前端发起查询请求,服务器确定查询请求对应的SQL ID后,若CacheA中存在该SQL ID,则从Hbase数据库直接获取查询结果数据,并将该SQL ID及对应的查询结果数据返回给终端设备301。若CacheA中不存在该SQL ID,但CacheB中存在该SQLID,则中止后续的查询过程。
若CacheA中不存在该SQL ID,且CacheB中也不存在该SQL ID,则向终端设备301发送提示信息,指示终端设备301再次提交查询请求。同时将上述SQL ID缓存于CacheB中,并根据该SQL ID从ElsaticSearch数据库获取对应的索引数据,再根据索引数据从Hbase数据库的待查询数据中获取查询结果数据。然后将获取到的查询结果数据存储于Hbase数据库的历史查询结果数据中,将上述SQL ID存储于Hbase数据库的历史查询标识中,将CacheB中的上述SQL ID移除。
其中,请求追踪组件3023用于负责各阶段的数据同步,并监测每个查询请求对应的查询时长。
需要说明的是,服务器可以采用最近最少使用(Least Recently Used,LRU)算法,在CacheA、CacheB中维护查询频率高或查询时间近的SQL ID。例如,可以设定CacheA、CacheB中分别用于存储SQL ID的容量各为10Mb,这10Mb用于存储最近的、查询频率高的SQLID。
在本申请实施例中,通过缓存分级的方式,减少了对ElsaticSearch数据库的访问次数,进而提高了对查询请求的响应速度,同时还增加了存储及处理的数据量及可以同时处理的查询请求的数目。
本申请提供的一种数据的查询方法,首先确定终端设备发送的查询请求中的查询条件对应的第一查询标识,若第一数据库对应的第一缓存区存在第一查询标识,则从第一数据库中确定出与第一查询标识对应的查询结果数据,第一缓存区用于缓存历史查询标识,第一数据库中包含与历史查询标识对应的历史查询结果数据。通过该方式,可以将查询请求对应的第一查询标识与历史查询标识进行匹配,根据匹配到的历史查询标识获取查询结果数据,从而减少了对第二数据库的访问次数,进而提高了整个查询过程的响应速度。
在上述实施例的基础上,下面对于当第一缓存区中存在查询请求对应的第一查询标识时,如何确定第一查询标识对应的查询结果数据进行说明。图4为本申请实施例提供的另一种数据的查询方法的流程示意图,如图4所示,该方法包括:
S401、服务器确定终端设备发送的查询请求对应的第一查询标识。
S402、服务器确定第一数据库对应的第一缓存区存在查询请求对应的第一查询标识。
S403、服务器根据历史查询标识与主键数据之间的映射关系,确定出与第一查询标识对应的主键数据。
S404、服务器根据主键数据,从第一数据库的历史查询结果数据中确定出与第一查询标识对应的查询结果数据。
S405、服务器向终端设备发送第一查询标识及与第一查询标识对应的查询结果数据。
S401-S405的技术名词、技术效果、技术特征,以及可选实施方式,可参照图2所示的S201-S202理解,对于重复的内容,在此不再累述。
在上述实施例的基础上,下面对于当第一缓存区中不存在查询请求对应的第一查询标识时,如何确定第一查询标识对应的查询结果数据进行说明。图5为本申请实施例提供的再一种数据的查询方法的流程示意图,如图5所示,该方法包括:
S501、服务器确定终端设备发送的查询请求对应的第一查询标识。
S502、服务器确定第一数据库对应的第一缓存区不存在查询请求对应的第一查询标识。
S503、服务器向终端设备发送提示信息。
S504、服务器判断第二数据库对应的第二缓存区中是否存在查询请求对应的第一查询标识。
若是,则执行步骤S505;若否,则执行步骤S506-S511。
S505、服务器中止查询请求对应的查询过程。
S506、服务器将查询请求对应的第一查询标识缓存至第二缓存区。
S507、服务器从第二数据库中确定出与第一查询标识对应的索引数据。
S508、服务器根据索引数据,从第一数据库的待查询数据中确定出与第一查询标识对应的查询结果数据。
S509、服务器将与第一查询标识对应的查询结果数据存储于第一数据库的历史查询结果数据中。
S510、服务器将与查询请求对应的第一查询标识存储于第一缓存区的历史查询标识中。
S511、服务器将与查询请求对应的第一查询标识从第二缓存区中移除。
需要说明的是,本申请实施例对于S503与S504的执行顺序不做限制,这两个步骤可以同时执行;对于S506与S507的执行顺序不做限制,这两个步骤可以同时执行;对于S509、S510与S511的执行顺序不做限制,这三个步骤也可以同时执行。
S501-S511的技术名词、技术效果、技术特征,以及可选实施方式,可参照图2所示的S201-S202理解,对于重复的内容,在此不再累述。
本申请提供的一种数据的查询方法,首先确定终端设备发送的查询请求中的查询条件对应的第一查询标识,若第一数据库对应的第一缓存区存在第一查询标识,则从第一数据库中确定出与第一查询标识对应的查询结果数据,第一缓存区用于缓存历史查询标识,第一数据库中包含与历史查询标识对应的历史查询结果数据。通过该方式,可以将查询请求对应的第一查询标识与历史查询标识进行匹配,根据匹配到的历史查询标识获取查询结果数据,从而提高了整个查询过程的响应速度。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图6为本申请实施例提供的一种数据的查询装置的结构示意图。该数据的查询装置可以通过软件、硬件或者两者的结合实现,可例如上述实施例中的服务器,以执行上述实施例中的数据的查询方法。如图6所示,该数据的查询装置600包括:
确定模块601,用于确定终端设备发送的查询请求中的查询条件对应的第一查询标识;
查询模块602,用于若第一数据库对应的第一缓存区存在第一查询标识,则从第一数据库中确定出与第一查询标识对应的查询结果数据,第一缓存区用于缓存历史查询标识,第一数据库中包含与历史查询标识对应的历史查询结果数据。
一种可选的实施方式中,查询模块602,还用于若第一数据库对应的第一缓存区不存在第一查询标识,则从第二数据库中确定出与第一查询标识对应的索引数据;根据索引数据,从第一数据库中确定出与第一查询标识对应的查询结果数据。
一种可选的实施方式中,第一查询标识是根据结构化查询语言确定的。
一种可选的实施方式中,查询模块602,具体用于根据历史查询标识与主键数据之间的映射关系,确定出与第一查询标识对应的主键数据;根据主键数据,从第一数据库的历史查询结果数据中确定出与第一查询标识对应的查询结果数据。
一种可选的实施方式中,查询模块602,具体用于若第一数据库对应的第一缓存区中不存在第一查询标识,则确定第二数据库对应的第二缓存区中是否存在第一查询标识;若否,则从第二数据库中确定出与第一查询标识对应的索引数据;将第一查询标识缓存至第二缓存区。
一种可选的实施方式中,查询模块602,还用于将第一查询标识从第二缓存区移除。
一种可选的实施方式中,查询模块602,还用于若是,则中止从第二数据库中确定出与第一查询标识对应的索引数据。
一种可选的实施方式中,第一数据库中还包括从数据源设备中获取到的待查询数据。
一种可选的实施方式中,查询模块602,还用于根据索引数据,从第一数据库的待查询数据中确定出与第一查询标识对应的查询结果数据。
一种可选的实施方式中,查询模块602,还用于将查询结果数据存储于第一数据库的历史查询结果数据中;将第一查询标识存储于第一缓存区。
一种可选的实施方式中,查询模块602,还用于若第一数据库对应的第一缓存区不存在第一查询标识,则向终端设备发送提示信息,提示信息包含第一查询标识,提示信息用于指示终端设备再次提交查询请求。
一种可选的实施方式中,查询模块602,还用于向终端设备发送第一查询标识及与第一查询标识对应的查询结果数据。
需要说明的,图6所示实施例提供的数据的查询装置,可用于执行上述任意实施例所提供的数据的查询方法,具体实现方式和技术效果类似,这里不再进行赘述。
图7为本申请实施例提供的一种电子设备的结构示意图。如图7所示,该电子设备700可以包括:至少一个处理器701和存储器702。图7示出的是以一个处理器为例的电子设备。
存储器702,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
存储器702可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器701用于执行存储器702存储的计算机执行指令,以实现上述数据的查询方法;
其中,处理器701可能是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选的,在具体实现上,如果通信接口、存储器702和处理器701独立实现,则通信接口、存储器702和处理器701可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口、存储器702和处理器701集成在一块芯片上实现,则通信接口、存储器702和处理器701可以通过内部接口完成通信。
本申请实施例还提供了一种芯片,包括处理器和接口。其中接口用于输入输出处理器所处理的数据或指令。处理器用于执行以上方法实施例中提供的方法。该芯片可以应用于数据的查询装置中。
本申请实施例还提供一种程序,该程序在被处理器执行时用于执行以上方法实施例提供的数据的查询方法。
本申请实施例还提供一种程序产品,例如计算机可读存储介质,该程序产品中存储有指令,当其在计算机上运行时,使得计算机执行上述方法实施例提供的数据的查询方法。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁盘或者光盘等各种可以存储程序代码的介质。具体地,该计算机可读存储介质中存储有程序信息,程序信息用于上述数据的查询方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (16)
1.一种数据的查询方法,其特征在于,所述方法包括:
确定终端设备发送的查询请求中的查询条件对应的第一查询标识;
若第一数据库对应的第一缓存区存在所述第一查询标识,则从所述第一数据库中确定出与所述第一查询标识对应的查询结果数据,所述第一缓存区用于缓存历史查询标识,所述第一数据库中包含与所述历史查询标识对应的历史查询结果数据。
2.根据权利要求1所述的方法,其特征在于,在所述确定所述查询请求对应的第一查询标识之后,所述方法还包括:
若第一数据库对应的第一缓存区不存在所述第一查询标识,则从第二数据库中确定出与所述第一查询标识对应的索引数据;
根据所述索引数据,从所述第一数据库中确定出与所述第一查询标识对应的查询结果数据。
3.根据权利要求1或2所述的方法,其特征在于,所述第一查询标识是根据结构化查询语言确定的。
4.根据权利要求1所述的方法,其特征在于,所述从所述第一数据库中确定出与所述第一查询标识对应的查询结果数据,包括:
根据所述历史查询标识与主键数据之间的映射关系,确定出与所述第一查询标识对应的主键数据;
根据所述主键数据,从所述第一数据库的历史查询结果数据中确定出与所述第一查询标识对应的查询结果数据。
5.根据权利要求2所述的方法,其特征在于,所述从第二数据库中确定出与所述第一查询标识对应的索引数据,包括:
若所述第一数据库对应的第一缓存区中不存在所述第一查询标识,则确定所述第二数据库对应的第二缓存区中是否存在所述第一查询标识;
若否,则从所述第二数据库中确定出与所述第一查询标识对应的索引数据;
将所述第一查询标识缓存至所述第二缓存区。
6.根据权利要求5所述的方法,其特征在于,在所述从所述第一数据库中确定出与所述第一查询标识对应的查询结果数据之后,所述方法还包括:
将所述第一查询标识从所述第二缓存区移除。
7.根据权利要求5所述的方法,其特征在于,在所述确定所述第二数据库对应的第二缓存区中是否存在所述第一查询标识之后,所述方法还包括:
若是,则中止从所述第二数据库中确定出与所述第一查询标识对应的索引数据。
8.根据权利要求2所述的方法,其特征在于,所述第一数据库中还包括从数据源设备中获取到的待查询数据。
9.根据权利要求8所述的方法,其特征在于,在所述从所述第二数据库中确定出与所述第一查询标识对应的索引数据之后,所述方法还包括:
根据所述索引数据,从所述第一数据库的待查询数据中确定出与所述第一查询标识对应的查询结果数据。
10.根据权利要求5-9中任一项所述的方法,其特征在于,在所述从所述第一数据库的待查询数据中确定出与所述第一查询标识对应的查询结果数据之后,所述方法还包括:
将所述查询结果数据存储于所述第一数据库的历史查询结果数据中;
将所述第一查询标识存储于所述第一缓存区。
11.根据权利要求5-9中任一项所述的方法,其特征在于,所述方法还包括:
若所述第一数据库对应的第一缓存区不存在所述第一查询标识,则向所述终端设备发送提示信息,所述提示信息包含所述第一查询标识,所述提示信息用于指示所述终端设备再次提交查询请求。
12.根据权利要求4-9中任一项所述的方法,其特征在于,在所述从所述第一数据库的历史查询结果数据中确定出与所述第一查询标识对应的查询结果数据之后,所述方法还包括:
向所述终端设备发送所述第一查询标识及与所述第一查询标识对应的查询结果数据。
13.一种数据的查询装置,其特征在于,所述装置包括:
确定模块,用于确定终端设备发送的查询请求中的查询条件对应的第一查询标识;
查询模块,用于若第一数据库对应的第一缓存区存在所述第一查询标识,则从所述第一数据库中确定出与所述第一查询标识对应的查询结果数据,所述第一缓存区用于缓存历史查询标识,所述第一数据库中包含与所述历史查询标识对应的历史查询结果数据。
14.一种计算机存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至12任意一项所述的方法。
15.一种电子设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1至12任意一项所述的方法。
16.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至12任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111538851.8A CN114238404A (zh) | 2021-12-15 | 2021-12-15 | 数据的查询方法、装置、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111538851.8A CN114238404A (zh) | 2021-12-15 | 2021-12-15 | 数据的查询方法、装置、存储介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114238404A true CN114238404A (zh) | 2022-03-25 |
Family
ID=80756665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111538851.8A Pending CN114238404A (zh) | 2021-12-15 | 2021-12-15 | 数据的查询方法、装置、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114238404A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740469A (zh) * | 2016-03-07 | 2016-07-06 | 华为技术有限公司 | 存储服务器和元数据访问方法 |
WO2018036549A1 (zh) * | 2016-08-25 | 2018-03-01 | 中兴通讯股份有限公司 | 分布式数据库查询方法、装置及管理系统 |
CN108647983A (zh) * | 2018-03-16 | 2018-10-12 | 北京奇艺世纪科技有限公司 | 种子用户确定方法、装置及广告投放方法、装置 |
CN109885589A (zh) * | 2017-12-06 | 2019-06-14 | 腾讯科技(深圳)有限公司 | 数据查询方法、装置、计算机设备及存储介质 |
CN110018983A (zh) * | 2017-09-27 | 2019-07-16 | 华为技术有限公司 | 一种元数据查询方法及装置 |
CN112182014A (zh) * | 2020-09-27 | 2021-01-05 | 北京金山云网络技术有限公司 | 数据库查询方法、装置、设备及存储介质 |
-
2021
- 2021-12-15 CN CN202111538851.8A patent/CN114238404A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740469A (zh) * | 2016-03-07 | 2016-07-06 | 华为技术有限公司 | 存储服务器和元数据访问方法 |
WO2018036549A1 (zh) * | 2016-08-25 | 2018-03-01 | 中兴通讯股份有限公司 | 分布式数据库查询方法、装置及管理系统 |
CN110018983A (zh) * | 2017-09-27 | 2019-07-16 | 华为技术有限公司 | 一种元数据查询方法及装置 |
CN109885589A (zh) * | 2017-12-06 | 2019-06-14 | 腾讯科技(深圳)有限公司 | 数据查询方法、装置、计算机设备及存储介质 |
CN108647983A (zh) * | 2018-03-16 | 2018-10-12 | 北京奇艺世纪科技有限公司 | 种子用户确定方法、装置及广告投放方法、装置 |
CN112182014A (zh) * | 2020-09-27 | 2021-01-05 | 北京金山云网络技术有限公司 | 数据库查询方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107491519B (zh) | 区块链账本的查询方法及装置 | |
JP7397094B2 (ja) | リソース構成方法、リソース構成装置、コンピューター機器、及びコンピュータープログラム | |
CN110830234B (zh) | 一种用户流量分配方法及装置 | |
CN110427386B (zh) | 数据处理方法、装置及计算机存储介质 | |
CN107239701B (zh) | 识别恶意网站的方法及装置 | |
CN110764688B (zh) | 对数据进行处理的方法和装置 | |
CN111737564A (zh) | 一种信息查询方法、装置、设备及介质 | |
CN111756711A (zh) | 一种流量控制方法、装置、系统及存储介质 | |
CN109710502B (zh) | 日志传输方法、装置及存储介质 | |
CN114006946B (zh) | 同质资源请求的处理方法、装置、设备及存储介质 | |
CN110619204A (zh) | 一种邀请码生成方法、装置、终端设备及存储介质 | |
CN109150927B (zh) | 用于文件存储系统的文件下发方法和装置 | |
CN111988262A (zh) | 认证方法、装置及服务器、存储介质 | |
CN109842482B (zh) | 一种信息同步方法、系统及终端设备 | |
JP7217181B2 (ja) | ウェアラブルデバイス、情報処理方法、装置及びシステム | |
CN116775167A (zh) | 一种业务处理方法、装置、电子设备及计算机可读介质 | |
CN111008220A (zh) | 数据源的动态识别方法及装置、存储介质和电子装置 | |
CN110020040B (zh) | 查询数据的方法、装置和系统 | |
CN114238404A (zh) | 数据的查询方法、装置、存储介质及设备 | |
CN116303320A (zh) | 基于日志文件的实时任务管理方法、装置、设备及介质 | |
CN115686746A (zh) | 访问方法、任务处理方法、计算设备及计算机存储介质 | |
CN113486025B (zh) | 数据存储方法、数据查询方法及装置 | |
JP6233846B2 (ja) | 可変長ノンスの生成 | |
US11662927B2 (en) | Redirecting access requests between access engines of respective disk management devices | |
CN111190858B (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 |