CN114218267A - 查询请求异步处理方法、装置、计算机设备、存储介质 - Google Patents
查询请求异步处理方法、装置、计算机设备、存储介质 Download PDFInfo
- Publication number
- CN114218267A CN114218267A CN202111407680.5A CN202111407680A CN114218267A CN 114218267 A CN114218267 A CN 114218267A CN 202111407680 A CN202111407680 A CN 202111407680A CN 114218267 A CN114218267 A CN 114218267A
- Authority
- CN
- China
- Prior art keywords
- query
- value pair
- key
- task
- cache
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种查询请求异步处理方法、装置、计算机设备、存储介质,所述方法包括:接收查询端发送的查询请求,基于所述查询请求生成查询任务并分配任务编号,将所述查询任务写入查询队列;利用分布式执行节点从所述查询队列中获取当前查询任务,基于所述当前查询任务向缓存库发起查询;根据所述当前查询任务的结构化查询语言,查询所述缓存库中的第一键值对是否存在目标键值对,得到查询结果;根据所述查询结果和所述当前查询任务的任务编号,相应的生成所述当前查询任务的第二键值对,将所述第二键值对存储在所述缓存库中,以供所述查询端读取。本公开可以使得查询任务的响应结果更加高效,减少了查询端的等待时间;适应性更广。
Description
技术领域
本公开涉及数据查询技术领域,特别是涉及一种查询请求异步处理方法、装置、计算机设备、存储介质。
背景技术
随着各种软硬件服务技术的成熟和大数据时代的发展,信息数据量和信息查询复杂度都大大提升。目前用户的查询请求通常是通过后台逻辑和数据库来得到响应,但是在高并发的情况下,可能使得数据库阻塞,查询请求无法及时得到响应,用户需要一直等待结果返回,严重时会导致数据库无法连接甚至数据库宕机。
传统技术中,往往通过对数据库进行扩容,启用数据库本身一些缓存机制,或者是更改服务的架构,让部分慢查询的请求异步返回。然而,目前的处理方式存在如下问题:数据库开启自身缓存机制受限于服务器单机内存,局限性较大;以及传统的异步查询解决方案不具有通用性,各个服务需要针对自身进行改造,改动繁琐。
发明内容
基于此,有必要针对上述技术问题,提供一种能够在不改动或少量改动原***业务架构的情况下,提高查询请求的响应效率的查询请求异步处理方法、装置、计算机设备、存储介质和计算机程序产品。
第一方面,本公开提供了一种查询请求异步处理方法。所述方法包括:
接收查询端发送的查询请求,基于所述查询请求生成查询任务并分配任务编号,将所述查询任务写入查询队列;
利用分布式执行节点从所述查询队列中获取当前查询任务,基于所述当前查询任务向缓存库发起查询;所述缓存库包括若干缓存节点,所述缓存库用于存储包括历史查询任务的第一键值对,所述第一键值对为所述查询任务的结构化查询语言和查询结果集的键值对;
根据所述当前查询任务的结构化查询语言,查询所述缓存库中的第一键值对是否存在目标键值对,得到查询结果;所述目标键值对为所述缓存库中与所述当前查询任务具有相同结构化查询语言的第一键值对;
根据所述查询结果和所述当前查询任务的任务编号,相应的生成所述当前查询任务的第二键值对,将所述第二键值对存储在所述缓存库中,以供所述查询端读取;所述第二键值对为所述查询任务的任务编号和查询结果集的键值对。
在其中一个实施例中,所述利用分布式执行节点从所述查询队列中获取当前查询任务,基于所述当前查询任务向缓存库发起查询;所述缓存库包括若干缓存节点,所述缓存库用于存储包括历史查询任务的第一键值对,所述第一键值对为所述查询任务的结构化查询语言和查询结果集的键值对包括:
基于所述查询任务,所述分布式执行节点按照预设规则获取对应的查询任务。
在其中一个实施例中,所述根据所述查询结果和所述当前查询任务的任务编号,相应的生成所述当前查询任务的第二键值对,将所述第二键值对存储在所述缓存库中,以供所述查询端读取包括:
在所述查询结果为所述缓存库中存在所述目标键值对的情况下,则根据所述目标键值对和所述当前查询任务的任务编号生成第二键值对,将所述第二键值对存储在所述缓存库中,以供所述查询端读取。
在其中一个实施例中,所述在所述查询结果为所述缓存库中存在所述目标键值对的情况下,则根据所述目标键值对和所述当前查询任务的任务编号生成第二键值对,将所述第二键值对存储在所述缓存库中,以供所述查询端读取包括:
获取所述目标键值对的查询结果集,根据所述当前查询任务的任务编号和所述目标键值对的查询结果集生成所述当前查询任务的第二键值对;
基于哈希算法将所述当前查询任务的第二键值进行数据拆分,生成若干数据分片;
将所述数据分片分别存储在所述缓存库的若干缓存节点上。
在其中一个实施例中,所述根据所述查询结果和所述当前查询任务的任务编号,相应的生成所述当前查询任务的第二键值对,将所述第二键值对存储在所述缓存库中,以供所述查询端读取包括:
在所述查询结果为所述缓存库中不存在所述目标键值对的情况下,则向数据库查询获取所述当前查询任务的查询结果集,生成所述当前查询任务的第一键值对和第二键值对,并存储至所述缓存库,以供所述查询端读取。
在其中一个实施例中,所述在所述查询结果为所述缓存库中不存在所述目标键值对的情况下,则向数据库查询获取所述当前查询任务的查询结果集,生成所述当前查询任务的第一键值对和第二键值对,并存储至所述缓存库,以供所述查询端读取包括:
根据所述当前查询任务的结构化查询语言向数据库发起查询,接收所述数据库返回的所述当前查询任务的查询结果集;
根据所述当前查询任务的结构化查询语言和查询结果集生成第一键值对;
根据所述当前查询任务的任务编号和查询结果集生成第二键值对;
基于哈希算法将所述当前查询任务的第一键值对和第二键值分别进行数据拆分,生成若干数据分片;
将所述数据分片分别存储在所述缓存库的若干缓存节点上。
在其中一个实施例中,所述将所述数据分片分别存储在所述缓存库的若干缓存节点上包括:
所述数据分片按照预设算法进行计算输出节点编号,所述节点编号用于与所述缓存节点一一对应;
将所述数据分片按照节点编号存储至对应的缓存节点。
在其中一个实施例中,所述将所述数据分片分别存储在所述缓存库的若干缓存节点上还包括:
生成所述数据分片的分片副本,将所述分片副本存储至与所述数据分片的节点编号不对应的缓存节点。
在其中一个实施例中,所述以供所述查询端读取包括:
向所述查询端提供服务接口,以供所述查询端基于所述查询任务的任务编号在所述缓存库中查询对应的查询结果集。
在其中一个实施例中,所述以供所述查询端读取包括:
所述分布式执行节点将获取到的所述当前查询任务的查询结果集发送至所述查询端。
第二方面,本公开还提供了一种查询请求异步处理装置。所述装置包括:
查询队列模块,用于接收查询端发送的查询请求,基于所述查询请求生成查询任务并分配任务编号,将所述查询任务写入查询队列;
分布式执行节点模块,用于利用分布式执行节点从所述查询队列中获取当前查询任务,基于所述当前查询任务向缓存库发起查询;所述缓存库包括若干缓存节点,所述缓存库用于存储包括历史查询任务的第一键值对,所述第一键值对为所述查询任务的结构化查询语言和查询结果集的键值对;
缓存查询模块,用于根据所述当前查询任务的结构化查询语言,查询所述缓存库中的第一键值对是否存在目标键值对,得到查询结果;所述目标键值对为所述缓存库中与所述当前查询任务具有相同结构化查询语言的第一键值对;
键值对生成模块,用于根据所述查询结果和所述当前查询任务的任务编号,相应的生成所述当前查询任务的第二键值对,将所述第二键值对存储在所述缓存库中,以供所述查询端读取。
在其中一个实施例中,所述分布式执行节点模块包括:
获取单元,用于基于所述查询任务,所述分布式执行节点按照预设规则获取对应的查询任务。
在其中一个实施例中,所述键值对生成模块用于在所述查询结果为所述缓存库中存在所述目标键值对的情况下,则根据所述目标键值对和所述当前查询任务的任务编号生成第二键值对,将所述第二键值对存储在所述缓存库中,以供所述查询端读取。
在其中一个实施例中,所述键值对生成模块包括:
第二键值对单元,用于获取所述目标键值对的查询结果集,根据所述当前查询任务的任务编号和所述目标键值对的查询结果集生成所述当前查询任务的第二键值对;
数据分片单元,用于基于哈希算法将所述当前查询任务的第二键值进行数据拆分,生成若干数据分片;
缓存节点单元,用于将所述数据分片分别存储在所述缓存库的若干缓存节点上。
在其中一个实施例中,所述键值对生成模块用于在所述查询结果为所述缓存库中不存在所述目标键值对的情况下,则向数据库查询获取所述当前查询任务的查询结果集,生成所述当前查询任务的第一键值对和第二键值对,并存储至所述缓存库,以供所述查询端读取。
在其中一个实施例中,所述键值对生成模块包括:
数据库查询单元,用于根据所述当前查询任务的结构化查询语言向数据库发起查询,接收所述数据库返回的所述当前查询任务的查询结果集;
第一键值对单元,用于根据所述当前查询任务的结构化查询语言和查询结果集生成第一键值对;
第二键值对单元,用于根据所述当前查询任务的任务编号和查询结果集生成第二键值对;
数据分片单元,用于基于哈希算法将所述当前查询任务的第一键值对和第二键值分别进行数据拆分,生成若干数据分片;
缓存节点单元,将所述数据分片分别存储在所述缓存库的若干缓存节点上。
在其中一个实施例中,所述缓存节点单元包括:
节点编号子单元,用于所述数据分片按照预设算法进行计算输出节点编号,所述节点编号用于与所述缓存节点一一对应;
存储子单元,用于将所述数据分片按照节点编号存储至对应的缓存节点。
在其中一个实施例中,所述缓存节点单元还包括:
副本子单元,用于生成所述数据分片的分片副本,将所述分片副本存储至与所述数据分片的节点编号不对应的缓存节点。
在其中一个实施例中,所述装置还包括:
服务接口单元,用于向所述查询端提供服务接口,以供所述查询端基于所述查询任务的任务编号在所述缓存库中查询对应的查询结果集。
在其中一个实施例中,所述装置还包括:
发送单元,用于指示所述分布式执行节点将获取到的所述当前查询任务的查询结果集发送至所述查询端。
第三方面,本公开还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述查询请求异步处理方法的步骤。
第四方面,本公开还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述查询请求异步处理方法的步骤。
第五方面,本公开还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述查询请求异步处理方法的步骤。
上述查询请求异步处理方法、装置、计算机设备、存储介质和计算机程序产品,至少包括以下有益效果:
本公开通过分布式执行节点获取查询任务进行查询,使得查询任务的响应结果更加高效,减少了查询端的等待时间;同时,缓存库可以包括多个缓存节点,突破了服务器单机内存的缓存限制;另外,通过与查询端对接接收查询请求,与查询端的服务***实现解耦,不需要在查询端原来的服务***中增加或改造异步查询模块;并且可以同时服务与多个查询端,只需接受查询端发送的查询请求即可实现查询,适应性更广,能够很好的支持高并发、高可用,易于横向扩展。
附图说明
为了更清楚地说明本公开实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中查询请求异步处理方法的应用环境图;
图2为一个实施例中查询请求异步处理方法的流程示意图;
图3为一个实施例中获取查询结果集的步骤的流程示意图;
图4为一个实施例中获取查询结果集的步骤的另一流程示意图;
图5为一个实施例中存储数据分片的步骤的流程示意图;
图6为一个实施例中存储数据分片的步骤的另一流程示意图;
图7为一个实施例中以供所述查询端读取的数据流向示意图;
图8为一个实施例中查询请求异步处理装置的结构框图;
图9为一个实施例中分布式执行节点模块的结构框图;
图10为一个实施例中键值对生成模块的结构框图;
图11为一个实施例中键值对生成模块的另一结构框图;
图12为一个实施例中缓存节点单元的结构框图;
图13为一个实施例中缓存节点单元的另一结构框图;
图14为一个实施例中查询请求异步处理装置的另一结构框图;
图15为一个实施例中查询请求异步处理装置的另一结构框图;
图16为一个实施例中计算机设备的内部结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中在本公开的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本公开。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。例如若使用到第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。同时,在本说明书中,术语“和/或”包括相关所列项目的任何及所有组合。
本申请实施例提供的查询请求异步处理方法,可以应用于如图1所示的应用环境中。其中,查询端102通过网络与异步查询***104进行通信。其中,异步查询服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。数据存储***可以存储异步查询服务器需要处理的数据。数据存储***可以集成在异步查询服务器上,也可以放在云上或其他网络服务器上。缓存库可以存储异步查询服务器的历史查询数据。缓存库可以集成在异步查询服务器上,也可以放在云上或其他网络服务器上。缓存库还可以是多节点的缓存库。
在本公开的一些实施例中,如图2所示,提供了一种查询请求异步处理方法,以该方法应用于图1中的异步查询***为例进行说明,包括以下步骤:
步骤S10:接收查询端发送的查询请求,基于所述查询请求生成查询任务并分配任务编号,将所述查询任务写入查询队列。
具体地,在本实施例中,查询端通常可以是指发出查询请求的用户一侧的设备端,例如可以是用户终端或者其他提供服务的设备。在接收到查询端发起的查询请求后,根据查询请求建立查询任务。建立的查询任务都分配有唯一的任务编号,最后将具有任务编号的查询任务写入查询队列中。查询队列在本实施例中通常可以是指一种线性表,存储在一片连续的存储空间,并设置两个指针进行管理。查询任务从查询队列的后端入队,从查询队列的前段出队。
步骤S20:利用分布式执行节点从所述查询队列中获取当前查询任务,基于所述当前查询任务向缓存库发起查询;所述缓存库包括若干缓存节点,所述缓存库用于存储包括历史查询任务的第一键值对,所述第一键值对为所述查询任务的结构化查询语言和查询结果集的键值对。
具体地,本实施例中分布式执行节点的个数大于等于2。传统的单一节点可以为一台包括所有的服务和数据库的单体物理机。相比于传统的单一节点,分布式执行节点通常可以理解为多个节点共同包括所有的服务和数据库,每个分布式执行节点都包含自己的处理机和内存,各自具有独立的处理数据的功能。通常,彼此在地位上是平等的,无主次之分,既能自治地进行工作,又能利用共享的通信线路来传送信息,协调任务处理。同时,不同的分布式执行节点可以分别执行若干个子任务,共同完成一个大的整体任务。
在本实施例中,通过多个分布式执行节点分别从查询队列中拉取查询任务,每个分布式执行节点基于各自当前查询任务向缓存库发起查询。缓存库包括若干缓存节点,可以将单机的缓存扩展到多台服务设备。缓存库可以用来存储历史查询任务的第一键值对。键值对通常是指一种数据存储的组织形式,根据查询“键”,可以获得“键”对应的“值”。本实施例中第一键值对包括查询任务的结构化查询语言和查询结果集,即将查询任务的结构化查询语言作为“键”,查询任务的查询结果集作为“值”。
结构化查询语言可以表示SQL语句的全句,例如:
select col1,col2 from table1 where condition.
也可以是查询引擎的json格式的查询语言,例如:
query=[{"queryType":"scan","dataSource":{"type":"table","name":"table2"},"intervals":{"type":"intervals","intervals":["2021-09-08T08:23:32.096Z/2021-09-18T15:36:27.903Z"]},"descending":false,"granularity":{"type":"all"}}.
在后续分布式执行节点接收到相同的结构化查询语言后,即可通过缓存库,直接获取到以该结构化查询语言为“键”的“值”,即查询任务的查询结果集。
步骤S30:根据所述当前查询任务的结构化查询语言,查询所述缓存库中的第一键值对是否存在目标键值对,得到查询结果;所述目标键值对为所述缓存库中与所述当前查询任务具有相同结构化查询语言的第一键值对。
具体地,根据分布式执行节点在接收到查询任务后,根据当前查询任务的结构化查询语言后,可以通过缓存库,查询缓存库中的第一键值对是否存在目标键值对,目标键值对即为缓存库中与当前查询任务具有相同结构化查询语言的第一键值对。经过在缓存库中查找目标键值对,本实施例查询结果可以是在缓存库中存在所述目标键值对,或者可以是在缓存库中不存在所述目标键值对。
步骤S40:根据所述查询结果和所述当前查询任务的任务编号,相应的生成所述当前查询任务的第二键值对,将所述第二键值对存储在所述缓存库中,以供所述查询端读取;所述第二键值对为所述查询任务的任务编号和查询结果集的键值对。
具体地,根据上述步骤S30的查询结果,分布式执行节点根据不同的查询结果执行不同的任务操作,最终根据所述查询结果和所述当前查询任务的任务编号,相应的生成所述当前查询任务的第二键值对。这里第二键值对的“键”为查询任务的任务标号,第二键值对的“值”为查询任务的查询结果集。将第二键值对也存储在缓存库中,可以使得查询端根据查询任务的任务编号快速获得查询任务的查询结果集。
上述查询请求异步处理方法中,通过分布式执行节点获取查询任务进行查询,使得查询任务的响应结果更加高效,减少了查询端的等待时间;同时,缓存库可以包括多个缓存节点,突破了服务器单机内存的缓存限制;另外,通过与查询端对接接收查询请求,与查询端的服务***实现解耦,不需要在查询端原来的服务***中增加或改造异步查询模块;并且可以同时服务与多个查询端,只需接受查询端发送的查询请求即可实现查询,适应性更广,能够很好的支持高并发、高可用,易于横向扩展。
在本公开的一些实施例中,步骤S20包括:
基于所述查询任务,所述分布式执行节点按照预设规则获取对应的查询任务。
具体地,在分布式执行节点从查询队列中拉取查询任务时,分布式执行节点各自获取与自身对应的查询任务,使得查询队列中查询任务可以均匀分布在各个分布式执行节点,避免某个分布式执行节点造成拥堵。
所述查询任务的任务编号根据所述分布式执行节点的数量按照预设算法计算获得。例如,分布式执行节点的数量为3,可以设定按照每一个查询任务进入查询队列的顺序对3取余,取余结果只会有三个值:0、1、2,将0、1、2分别分配给3个分布式执行节点。每个分布式执行节点各自拉取对应自身编号的查询任务。
本实施例由分布式执行任务执行查询动作,分担了查询压力,尤其在高并发场合下,可以稳定快速的执行查询动作;同时,分布式执行节点按照设定的算法拉取与自身对应的查询任务,整个过程有序高效,减少了查询拥堵的风险。
在本公开的一些实施例中,步骤S40包括:
步骤S41:在所述查询结果为所述缓存库中存在所述目标键值对的情况下,则根据所述目标键值对和所述当前查询任务的任务编号生成第二键值对,将所述第二键值对存储在所述缓存库中,以供所述查询端读取。
具体地,在分布式执行节点在缓存库中查找目标键值对时,在所述查询结果为所述缓存库中存在所述目标键值对的情况下,此时可以直接从缓存库中获得当前查询任务的查询结果集。再根据当前查询任务的任务编号和查询结果集生成第二键值对,存储至缓存库。
本实施例通过分布式执行节点优先查询缓存库,在缓存库中存在当前查询任务的第一键值对时,即当前查询任务为重复查询任务,可以直接从缓存库中获得查询结果集,无需向数据库进行查询;同时,根据当前查询任务生成第二键值对存储在缓存库中,方便查询端根据任务编号获取查询任务的查询结果集。
在本公开的一些实施例中,如图3所示,步骤S41包括:
步骤S412:获取所述目标键值对的查询结果集,根据所述当前查询任务的任务编号和所述目标键值对的查询结果集生成所述当前查询任务的第二键值对。
具体地,在缓存库中查找到当前查询任务的目标键值对,即可获取当前查询任务的查询结果集。根据当前查询任务的任务编号和目标键值对的查询结果集生成第二键值对。
步骤S414:基于哈希算法将所述当前查询任务的第二键值进行数据拆分,生成若干数据分片。
具体地,将第二键值对进行数据拆分生成若干数据分片,可以使得第二键值对可以分散存储在多个缓存节点上。
步骤S416:将所述数据分片分别存储在所述缓存库的若干缓存节点上。
具体地,将若干数据分片分别存储在所述缓存库的若干缓存节点上,使得每个存储节点上存储的数据分片的数量尽可能相近。
在本公开的一些实施例中,步骤S40包括:
步骤S42:在所述查询结果为所述缓存库中不存在所述目标键值对的情况下,则向数据库查询获取所述当前查询任务的查询结果集,生成所述当前查询任务的第一键值对和第二键值对,并存储至所述缓存库,以供所述查询端读取。
具体地,在缓存库中不存在当前查询任务的目标键值对时,分布式执行节点需要向数据库发起查询,以获得查询结果集,并生成当前查询任务的第一键值对和第二键值对。
本实施例通过分布式执行节点优先查询缓存库,在缓存库中不存在当前查询任务的第一键值对时,即当前查询任务为新的查询任务,需要向数据库进行查询;同时,根据从数据库获得的查询结果集和当前查询任务生成第一键值对和第二键值对存储在缓存库中,方便查询端重复查询以及根据任务编号获取查询任务的查询结果集。
在本公开的一些实施例中,如图4所示,步骤S42包括:
步骤S421:根据所述当前查询任务的结构化查询语言向数据库发起查询,接收所述数据库返回的所述当前查询任务的查询结果集。
步骤S423:根据所述当前查询任务的结构化查询语言和查询结果集生成第一键值对;
步骤S425:根据所述当前查询任务的任务编号和查询结果集生成第二键值对;
步骤S427:基于哈希算法将所述当前查询任务的第一键值对和第二键值分别进行数据拆分,生成若干数据分片;
步骤S429:将所述数据分片分别存储在所述缓存库的若干缓存节点上。
具体地,分布式执行节点根据当前查询任务的结构化查询语言向数据库发起查询,以获得当前查询任务的查询结果集。最后将生成的第一键值对和第二键值对存储至缓存库,在存储时,具体步骤与上述步骤S41相同,在此不再赘述。
在本公开的一些实施例中,如图5所示,前述步骤S416或者步骤S429包括:
步骤A10:所述数据分片按照预设算法进行计算输出节点编号,所述节点编号用于与所述缓存节点一一对应。
具体地,划分的数据分片进行哈希计算,使得根据每个数据分片可以计算获得节点编号。节点编号是与缓存节点一一对应的。每个第一键值对或第二键值对生成的数据分片的节点编号是唯一的。通常,可以设定每一个第一键值对或第二键值对生成的数据分片的数量与缓存节点的数量相同。例如,缓存库包括3个缓存节点。因此可以将需要保存的第一键值对或第二键值对拆分为3组数据分片,将这3组数据分片进行计算后得到3个不同的节点编号,每个节点编号对应一个缓存节点。
步骤A20:将所述数据分片按照节点编号存储至对应的缓存节点。
具体地,根据每个数据分片的节点编号,按照节点编号将数据分片存储至对应的缓存节点。
本实施例通过数据分片存储和多节点的缓存库,使得查询任务的查询结果集可以存储于多台服务设备的内存中,当需要读取一个完整的数据时,相比于单节点上的一个文件的读取,数据分片的方式支持更多的访问者,可以提高并发数。
在本公开的一些实施例中,如图6所示,前述步骤S416或者步骤S429还包括:
步骤A30:生成所述数据分片的分片副本,将所述分片副本存储至与所述数据分片的节点编号不对应的缓存节点。
具体地,将每个数据分片进行备份生成分片副本,在存储时,需要将该数据分片的分片副本与该数据分片分别存储在不同的缓存节点上。例如,缓存库包括第一缓存节点、第二缓存节点、第三缓存节点;需要保存的第一键值对或第二键值对拆分为第一数据分片、第二数据分片、第三数据分片。将这3组数据分片进行计算后得到3个不同的节点编号,每个节点编号对应一个缓存节点。同时每个数据分片的分片副本也存储在与所述数据分片的节点编号不对应的缓存节点上。可以是如下的一种情况:
第一缓存节点上存储有第一数据分片和第二数据分片的分片副本;
第二缓存节点上存储有第二数据分片和第三数据分片的分片副本;
第三缓存节点上存储有第三数据分片和第一数据分片的分片副本。
本实施例通过数据分片和分片副本相结合方式,不仅可以支持更多的访问者,提高并发数;而且在挂掉某缓存节点的情况下仍能使访问者查询到全量的数据,提高容错机制、高可用。上述的特性可以通过调整分片副本数、数据分片数、缓存节点台数等得到更好的效果。
在本公开的一些实施例中,步骤S40中以供所述查询端读取包括:
向所述查询端提供服务接口,以供所述查询端基于所述查询任务的任务编号在所述缓存库中查询对应的查询结果集。
具体地,结合图7,通过向查询端提供可异步的服务接口,使得查询端可以主动从缓存库中读取查询任务的查询结果集。可以设定为在查询端发起查询请求后,在设定的时间后查询端主动从缓存库读取查询结果集。根据前述向缓存库中存储数据分片的步骤,可知在从缓存库中读取数据分片形成完整的数据时,同样需要基于哈希算法根据查询任务计算获得节点编号,使得查询端可以从对应的缓存节点中读取数据,在此,不做赘述。
本实实施例通过提供服务接口以供查询端从缓存库中读取数据,可以减少对查询端的数据库架构的改变,查询和读取过程更加稳定,开发成本低。
在本公开的一些实施例中,步骤S40中以供所述查询端读取包括:
所述分布式执行节点将获取到的所述当前查询任务的查询结果集发送至所述查询端。
具体地,在分布式执行节点从缓存库或者数据库中获得当前查询任务的查询结果集时,分布式执行节点主动向查询端进行推送。相应的,查询端需要监听推送的接口。
本实施例通过分布式执行节点主动推送当前查询任务的查询结果集的方式,提高了查询响应的时效性。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本公开实施例还提供了一种用于实现上述所涉及的查询请求异步处理方法的查询请求异步处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个查询请求异步处理装置实施例中的具体限定可以参见上文中对于查询请求异步处理方法的限定,在此不再赘述。
所述装置可以包括使用了本说明书实施例所述方法的***(包括分布式***)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本公开实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
在本公开的一些实施例中,如图8所示,提供了一种查询请求异步处理装置,所述装置Z00可以为前述所述终端,也可以为服务器,或者集成于所述终端的模块、组件、器件、单元等。该装置可以包括:
查询队列模块Z10,用于接收查询端发送的查询请求,基于所述查询请求生成查询任务并分配任务编号,将所述查询任务写入查询队列;
分布式执行节点模块Z20,用于利用分布式执行节点从所述查询队列中获取当前查询任务,基于所述当前查询任务向缓存库发起查询;所述缓存库包括若干缓存节点,所述缓存库用于存储包括历史查询任务的第一键值对,所述第一键值对为所述查询任务的结构化查询语言和查询结果集的键值对;
缓存查询模块Z30,用于根据所述当前查询任务的结构化查询语言,查询所述缓存库中的第一键值对是否存在目标键值对,得到查询结果;所述目标键值对为所述缓存库中与所述当前查询任务具有相同结构化查询语言的第一键值对;
键值对生成模块Z40,用于根据所述查询结果和所述当前查询任务的任务编号,相应的生成所述当前查询任务的第二键值对,将所述第二键值对存储在所述缓存库中,以供所述查询端读取。
在本公开的一些实施例中,如图9所示,所述分布式执行节点模块Z20包括:
获取单元Z22,用于基于所述查询任务,所述分布式执行节点按照预设规则获取对应的查询任务。
在本公开的一些实施例中,所述键值对生成模块Z40用于在所述查询结果为所述缓存库中存在所述目标键值对的情况下,则根据所述目标键值对和所述当前查询任务的任务编号生成第二键值对,将所述第二键值对存储在所述缓存库中,以供所述查询端读取。
在本公开的一些实施例中,如图10所示,所述键值对生成模块Z40包括:
第二键值对单元Z41,用于获取所述目标键值对的查询结果集,根据所述当前查询任务的任务编号和所述目标键值对的查询结果集生成所述当前查询任务的第二键值对;
数据分片单元Z43,用于基于哈希算法将所述当前查询任务的第二键值进行数据拆分,生成若干数据分片;
缓存节点单元Z45,用于将所述数据分片分别存储在所述缓存库的若干缓存节点上。
在本公开的一些实施例中,所述键值对生成模块Z40用于在所述查询结果为所述缓存库中不存在所述目标键值对的情况下,则向数据库查询获取所述当前查询任务的查询结果集,生成所述当前查询任务的第一键值对和第二键值对,并存储至所述缓存库,以供所述查询端读取。
在本公开的一些实施例中,如图11所示,所述键值对生成模块Z40包括:
数据库查询单元Z47,用于根据所述当前查询任务的结构化查询语言向数据库发起查询,接收所述数据库返回的所述当前查询任务的查询结果集;
第一键值对单元Z49,用于根据所述当前查询任务的结构化查询语言和查询结果集生成第一键值对;
第二键值对单元Z41,用于根据所述当前查询任务的任务编号和查询结果集生成第二键值对;
数据分片单元Z43,用于基于哈希算法将所述当前查询任务的第一键值对和第二键值分别进行数据拆分,生成若干数据分片;
缓存节点单元Z45,将所述数据分片分别存储在所述缓存库的若干缓存节点上。
在本公开的一些实施例中,如图12所示,所述缓存节点单元Z45包括:
节点编号子单元Z451,用于所述数据分片按照预设算法进行计算输出节点编号,所述节点编号用于与所述缓存节点一一对应;
存储子单元Z453,用于将所述数据分片按照节点编号存储至对应的缓存节点。
在本公开的一些实施例中,如图13所示,所述缓存节点单元Z45还包括:
副本子单元Z455,用于生成所述数据分片的分片副本,将所述分片副本存储至与所述数据分片的节点编号不对应的缓存节点。
在本公开的一些实施例中,如图14所示,所述装置Z00还包括:
服务接口单元Z50,用于向所述查询端提供服务接口,以供所述查询端基于所述查询任务的任务编号在所述缓存库中查询对应的查询结果集。
在本公开的一些实施例中,如图15所示,所述装置Z00还包括:
发送单元Z60,用于指示所述分布式执行节点将获取到的所述当前查询任务的查询结果集发送至所述查询端。
上述查询请求异步处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
基于前述查询请求异步处理方法的实施例描述,在本公开提供的另一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图16所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种查询请求异步处理方法。
本领域技术人员可以理解,图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
基于前述查询请求异步处理方法的实施例描述,在本公开提供的另一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
基于前述查询请求异步处理方法的实施例描述,在本公开提供的另一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
在本说明书的描述中,参考术语“有些实施例”、“其他实施例”、“理想实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特征包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性描述不一定指的是相同的实施例或示例。
可以理解的是,本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同/相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。相关之处参见其他方法实施例的描述说明即可。
上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本公开的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开构思的前提下,还可以做出若干变形和改进,这些都属于本公开的保护范围。因此,本公开专利的保护范围应以所附权利要求为准。
Claims (23)
1.一种查询请求异步处理方法,其特征在于,所述方法包括:
接收查询端发送的查询请求,基于所述查询请求生成查询任务并分配任务编号,将所述查询任务写入查询队列;
利用分布式执行节点从所述查询队列中获取当前查询任务,基于所述当前查询任务向缓存库发起查询;所述缓存库包括若干缓存节点,所述缓存库用于存储包括历史查询任务的第一键值对,所述第一键值对为所述查询任务的结构化查询语言和查询结果集的键值对;
根据所述当前查询任务的结构化查询语言,查询所述缓存库中的第一键值对是否存在目标键值对,得到查询结果;所述目标键值对为所述缓存库中与所述当前查询任务具有相同结构化查询语言的第一键值对;
根据所述查询结果和所述当前查询任务的任务编号,相应的生成所述当前查询任务的第二键值对,将所述第二键值对存储在所述缓存库中,以供所述查询端读取;所述第二键值对为所述查询任务的任务编号和查询结果集的键值对。
2.根据权利要求1所述的方法,其特征在于,所述利用分布式执行节点从所述查询队列中获取当前查询任务,基于所述当前查询任务向缓存库发起查询;所述缓存库包括若干缓存节点,所述缓存库用于存储包括历史查询任务的第一键值对,所述第一键值对为所述查询任务的结构化查询语言和查询结果集的键值对包括:
基于所述查询任务,所述分布式执行节点按照预设规则获取对应的查询任务。
3.根据权利要求1所述的方法,其特征在于,所述根据所述查询结果和所述当前查询任务的任务编号,相应的生成所述当前查询任务的第二键值对,将所述第二键值对存储在所述缓存库中,以供所述查询端读取包括:
在所述查询结果为所述缓存库中存在所述目标键值对的情况下,则根据所述目标键值对和所述当前查询任务的任务编号生成第二键值对,将所述第二键值对存储在所述缓存库中,以供所述查询端读取。
4.根据权利要求3所述的方法,其特征在于,所述在所述查询结果为所述缓存库中存在所述目标键值对的情况下,则根据所述目标键值对和所述当前查询任务的任务编号生成第二键值对,将所述第二键值对存储在所述缓存库中,以供所述查询端读取包括:
获取所述目标键值对的查询结果集,根据所述当前查询任务的任务编号和所述目标键值对的查询结果集生成所述当前查询任务的第二键值对;
基于哈希算法将所述当前查询任务的第二键值进行数据拆分,生成若干数据分片;
将所述数据分片分别存储在所述缓存库的若干缓存节点上。
5.根据权利要求1所述的方法,其特征在于,所述根据所述查询结果和所述当前查询任务的任务编号,相应的生成所述当前查询任务的第二键值对,将所述第二键值对存储在所述缓存库中,以供所述查询端读取包括:
在所述查询结果为所述缓存库中不存在所述目标键值对的情况下,则向数据库查询获取所述当前查询任务的查询结果集,生成所述当前查询任务的第一键值对和第二键值对,并存储至所述缓存库,以供所述查询端读取。
6.根据权利要求5所述的方法,其特征在于,所述在所述查询结果为所述缓存库中不存在所述目标键值对的情况下,则向数据库查询获取所述当前查询任务的查询结果集,生成所述当前查询任务的第一键值对和第二键值对,并存储至所述缓存库,以供所述查询端读取包括:
根据所述当前查询任务的结构化查询语言向数据库发起查询,接收所述数据库返回的所述当前查询任务的查询结果集;
根据所述当前查询任务的结构化查询语言和查询结果集生成第一键值对;
根据所述当前查询任务的任务编号和查询结果集生成第二键值对;
基于哈希算法将所述当前查询任务的第一键值对和第二键值分别进行数据拆分,生成若干数据分片;
将所述数据分片分别存储在所述缓存库的若干缓存节点上。
7.根据权利要求4或6所述的方法,其特征在于,所述将所述数据分片分别存储在所述缓存库的若干缓存节点上包括:
所述数据分片按照预设算法进行计算输出节点编号,所述节点编号用于与所述缓存节点一一对应;
将所述数据分片按照节点编号存储至对应的缓存节点。
8.根据权利要求7所述的方法,其特征在于,所述将所述数据分片分别存储在所述缓存库的若干缓存节点上还包括:
生成所述数据分片的分片副本,将所述分片副本存储至与所述数据分片的节点编号不对应的缓存节点。
9.根据权利要求1所述的方法,其特征在于,所述以供所述查询端读取包括:
向所述查询端提供服务接口,以供所述查询端基于所述查询任务的任务编号在所述缓存库中查询对应的查询结果集。
10.根据权利要求1所述的方法,其特征在于,所述以供所述查询端读取包括:
所述分布式执行节点将获取到的所述当前查询任务的查询结果集发送至所述查询端。
11.一种查询请求异步处理装置,其特征在于,所述装置包括:
查询队列模块,用于接收查询端发送的查询请求,基于所述查询请求生成查询任务并分配任务编号,将所述查询任务写入查询队列;
分布式执行节点模块,用于利用分布式执行节点从所述查询队列中获取当前查询任务,基于所述当前查询任务向缓存库发起查询;所述缓存库包括若干缓存节点,所述缓存库用于存储包括历史查询任务的第一键值对,所述第一键值对为所述查询任务的结构化查询语言和查询结果集的键值对;
缓存查询模块,用于根据所述当前查询任务的结构化查询语言,查询所述缓存库中的第一键值对是否存在目标键值对,得到查询结果;所述目标键值对为所述缓存库中与所述当前查询任务具有相同结构化查询语言的第一键值对;
键值对生成模块,用于根据所述查询结果和所述当前查询任务的任务编号,相应的生成所述当前查询任务的第二键值对,将所述第二键值对存储在所述缓存库中,以供所述查询端读取。
12.根据权利要求11所述的装置,其特征在于,所述分布式执行节点模块包括:
获取单元,用于基于所述查询任务,所述分布式执行节点按照预设规则获取对应的查询任务。
13.根据权利要求11所述的装置,其特征在于,所述键值对生成模块用于在所述查询结果为所述缓存库中存在所述目标键值对的情况下,则根据所述目标键值对和所述当前查询任务的任务编号生成第二键值对,将所述第二键值对存储在所述缓存库中,以供所述查询端读取。
14.根据权利要求13所述的装置,其特征在于,所述键值对生成模块包括:
第二键值对单元,用于获取所述目标键值对的查询结果集,根据所述当前查询任务的任务编号和所述目标键值对的查询结果集生成所述当前查询任务的第二键值对;
数据分片单元,用于基于哈希算法将所述当前查询任务的第二键值进行数据拆分,生成若干数据分片;
缓存节点单元,用于将所述数据分片分别存储在所述缓存库的若干缓存节点上。
15.根据权利要求11所述的装置,其特征在于,所述键值对生成模块用于在所述查询结果为所述缓存库中不存在所述目标键值对的情况下,则向数据库查询获取所述当前查询任务的查询结果集,生成所述当前查询任务的第一键值对和第二键值对,并存储至所述缓存库,以供所述查询端读取。
16.根据权利要求15所述的装置,其特征在于,所述键值对生成模块包括:
数据库查询单元,用于根据所述当前查询任务的结构化查询语言向数据库发起查询,接收所述数据库返回的所述当前查询任务的查询结果集;
第一键值对单元,用于根据所述当前查询任务的结构化查询语言和查询结果集生成第一键值对;
第二键值对单元,用于根据所述当前查询任务的任务编号和查询结果集生成第二键值对;
数据分片单元,用于基于哈希算法将所述当前查询任务的第一键值对和第二键值分别进行数据拆分,生成若干数据分片;
缓存节点单元,将所述数据分片分别存储在所述缓存库的若干缓存节点上。
17.根据权利要求14或16所述的装置,其特征在于,所述缓存节点单元包括:
节点编号子单元,用于所述数据分片按照预设算法进行计算输出节点编号,所述节点编号用于与所述缓存节点一一对应;
存储子单元,用于将所述数据分片按照节点编号存储至对应的缓存节点。
18.根据权利要求17所述的装置,其特征在于,所述缓存节点单元还包括:
副本子单元,用于生成所述数据分片的分片副本,将所述分片副本存储至与所述数据分片的节点编号不对应的缓存节点。
19.根据权利要求11所述的装置,其特征在于,所述装置还包括:
服务接口单元,用于向所述查询端提供服务接口,以供所述查询端基于所述查询任务的任务编号在所述缓存库中查询对应的查询结果集。
20.根据权利要求11所述的装置,其特征在于,所述装置还包括:
发送单元,用于指示所述分布式执行节点将获取到的所述当前查询任务的查询结果集发送至所述查询端。
21.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法的步骤。
22.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
23.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111407680.5A CN114218267A (zh) | 2021-11-24 | 2021-11-24 | 查询请求异步处理方法、装置、计算机设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111407680.5A CN114218267A (zh) | 2021-11-24 | 2021-11-24 | 查询请求异步处理方法、装置、计算机设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114218267A true CN114218267A (zh) | 2022-03-22 |
Family
ID=80698202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111407680.5A Pending CN114218267A (zh) | 2021-11-24 | 2021-11-24 | 查询请求异步处理方法、装置、计算机设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114218267A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115438087A (zh) * | 2022-11-10 | 2022-12-06 | 广州思迈特软件有限公司 | 基于缓存库的数据查询方法、装置、存储介质和设备 |
CN115935090A (zh) * | 2023-03-10 | 2023-04-07 | 北京锐服信科技有限公司 | 一种基于时间分片的数据查询方法及*** |
CN116384497A (zh) * | 2023-05-11 | 2023-07-04 | 深圳量旋科技有限公司 | 量子计算实验结果的读写***、相关方法、装置及设备 |
-
2021
- 2021-11-24 CN CN202111407680.5A patent/CN114218267A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115438087A (zh) * | 2022-11-10 | 2022-12-06 | 广州思迈特软件有限公司 | 基于缓存库的数据查询方法、装置、存储介质和设备 |
CN115935090A (zh) * | 2023-03-10 | 2023-04-07 | 北京锐服信科技有限公司 | 一种基于时间分片的数据查询方法及*** |
CN116384497A (zh) * | 2023-05-11 | 2023-07-04 | 深圳量旋科技有限公司 | 量子计算实验结果的读写***、相关方法、装置及设备 |
CN116384497B (zh) * | 2023-05-11 | 2023-08-25 | 深圳量旋科技有限公司 | 量子计算实验结果的读写***、相关方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11436224B2 (en) | Parallel processing database system with a shared metadata store | |
CN114218267A (zh) | 查询请求异步处理方法、装置、计算机设备、存储介质 | |
US10467245B2 (en) | System and methods for mapping and searching objects in multidimensional space | |
US8954391B2 (en) | System and method for supporting transient partition consistency in a distributed data grid | |
US9563426B1 (en) | Partitioned key-value store with atomic memory operations | |
US9323791B2 (en) | Apparatus and method for expanding a shared-nothing system | |
CN108959538B (zh) | 全文检索***及方法 | |
CN111797121A (zh) | 读写分离架构业务***的强一致性查询方法、装置及*** | |
US20170228422A1 (en) | Flexible task scheduler for multiple parallel processing of database data | |
CN112015820A (zh) | 分布式图数据库实现的方法、***、电子装置和存储介质 | |
US11836132B2 (en) | Managing persistent database result sets | |
CN113111038B (zh) | 文件存储方法、装置、服务器及存储介质 | |
US11625503B2 (en) | Data integrity procedure | |
CN107562803B (zh) | 数据供应***及方法、终端 | |
CN103559247A (zh) | 一种数据业务处理方法及装置 | |
CN111221814B (zh) | 二级索引的构建方法、装置及设备 | |
CN109753245B (zh) | 一种多磁盘负载均衡异步读写调度方法及装置 | |
CN110019274B (zh) | 一种数据库***以及查询数据库的方法和装置 | |
CN112818021B (zh) | 数据请求处理方法、装置、计算机设备和存储介质 | |
CN110427390B (zh) | 数据查询方法及装置、存储介质、电子装置 | |
US10019472B2 (en) | System and method for querying a distributed dwarf cube | |
CN113127717A (zh) | 一种密钥检索方法和*** | |
CN113094391B (zh) | 一种支持缓存的数据汇总的计算方法、装置及设备 | |
US20230376461A1 (en) | Supporting multiple fingerprint formats for data file segment | |
CN117131128A (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 |