CN113268506A - 缓存数据库的查询方法、装置、电子设备和可读存储介质 - Google Patents
缓存数据库的查询方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN113268506A CN113268506A CN202110564745.0A CN202110564745A CN113268506A CN 113268506 A CN113268506 A CN 113268506A CN 202110564745 A CN202110564745 A CN 202110564745A CN 113268506 A CN113268506 A CN 113268506A
- Authority
- CN
- China
- Prior art keywords
- key
- cache
- level
- data
- query
- 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/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
本公开提供了一种缓存数据库的查询方法、装置、电子设备和计算机可读存储介质,涉及数据库技术领域。其中,缓存数据库的查询方法包括:响应于获取到的查询信息,从所述查询信息中提取数值查询条件和查询范围条件,并将所述数值查询条件确定为一级缓存键;查询与所述一级缓存键匹配的范围参数集合和标识集合;确定所述范围参数集合中与所述查询范围条件匹配的范围参数,以及所述标识集合中与所述范围参数对应的目标标识集合;基于所述一级缓存键和所述目标标识集合获取具有映射关系的二级缓存键和二级键值。通过本公开的技术方案,能够降低产生大key问题的概率,并有利于减少缓存数据库中的数据存储量。
Description
技术领域
本公开涉及数据库技术领域,尤其涉及一种缓存数据库的查询方法、装置、电子设备和计算机可读存储介质。
背景技术
为提高数据查询性能,可以通过内存数据库如redis存储一些热点数据,根据查询条件先从redis中查询,如果redis中不存在查询结果,再从数据库中二次查询,并将二次查询结果写入redis,查询条件作为key,查询结果作为value。这样下一次同样的查询条件,即同一key,可从redis中即查询到数据。
通常情况下,查询条件包括用于匹配精确的数值项的数值匹配条件和能够匹配到多个数据项的范围匹配条件,如果只采用数据匹配条件作为key,对应匹配到的数据为value,由于该value中没有根据范围条件过滤,会导致value的数据集合可能大于目标数据集合,如果value很大就会造成大key问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种缓存数据库的查询方法、装置、电子设备和计算机可读存储介质,至少在一定程度上克服由于相关技术中在缓存数据库中产生大key的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种缓存数据库的查询方法,包括:响应于获取到的查询信息,从所述查询信息中提取数值查询条件和查询范围条件,并将所述数值查询条件确定为一级缓存键;查询与所述一级缓存键匹配的范围参数集合和标识集合;确定所述范围参数集合中与所述查询范围条件匹配的范围参数,以及所述标识集合中与所述范围参数对应的目标标识集合;基于所述一级缓存键和所述目标标识集合获取具有映射关系的二级缓存键和二级键值。
在本公开的一个实施例中,所述查询与所述一级缓存键匹配的范围参数集合和标识集合具体包括:在检测到所述缓存数据库中未缓存与所述一级缓存键匹配的缓存数据时,访问远端数据库,以在所述远端数据库中查询所述范围参数集合和所述标识集合。
在本公开的一个实施例中,所述基于所述一级缓存键和所述目标标识集合获取具有映射关系的二级缓存键和二级键值具体包括:将所述目标标识集合作为入参查询条件,查询所述远端数据库,并返回与所述目标标识集合对应的目标数据集合;基于所述目标数据集合和所述一级缓存键获取具有映射关系的所述二级缓存键和所述二级键值。
在本公开的一个实施例中,所述查询与所述一级缓存键匹配的范围参数集合和标识集合还包括:在检测到所述缓存数据中缓存有所述缓存数据时,从所述缓存数据中提取所述范围参数集合和所述标识集合。
在本公开的一个实施例中,所述基于所述一级缓存键和所述目标标识集合获取具有映射关系的二级缓存键和二级键值具体还包括:检测所述缓存数据中是否包括与所述标识集合匹配的所述目标数据集合;在检测所述缓存数据中包括所述目标数据集合时,基于所述目标数据集合和所述一级缓存键获取具有映射关系的所述二级缓存键和所述二级键值。
在本公开的一个实施例中,所述基于所述一级缓存键和所述目标标识集合获取具有映射关系的二级缓存键和二级键值具体还包括:在检测所述缓存数据中未完全包括所述目标数据集合时,基于检测结果确定所述缓存数据中包括的缓存标识;计算所述目标标识和所述缓存标识之间的差集,将所述缓存数据中包括的所述目标数据集合的部分记为第一目标数据,并将所述差集确定为访问标识;基于所述访问标识访问所述远端数据库,并返回与所述访问标识对应的第二目标数据;计算所述第一目标数据和所述第二目标数据的并集,得到所述目标数据集合;基于所述目标数据集合和所述一级缓存键获取具有映射关系的所述二级缓存键和所述二级键值。
在本公开的一个实施例中,所述基于所述目标数据集合和所述一级缓存键获取具有映射关系的所述二级缓存键和所述二级键值包括:基于对所述目标数据集合的遍历结果,获得每条所述目标数据的目标标识;将所述数值查询条件与每个所述目标标识进行拼接,生成所述二级缓存键;基于键值映射关系,将所述目标数据确定为所述二级键值。
在本公开的一个实施例中,还包括:将所述范围参数集合和所述标识集合确定为一级键值;将所述一级缓存键和所述一级键值,以及所述二级缓存键和所述二级键值缓存至所述缓存数据库。
根据本公开的另一个方面,提供一种缓存数据库的查询装置,包括:提取模块,用于响应于获取到的查询信息,从所述查询信息中提取数值查询条件和查询范围条件,并将所述数值查询条件确定为一级缓存键;查询模块,用于查询与所述一级缓存键匹配的范围参数集合和标识集合;确定模块,用于确定所述范围参数集合中与所述查询范围条件匹配的范围参数,以及所述标识集合中与所述范围参数对应的目标标识集合;获取模块,用于基于所述一级缓存键和所述目标标识集合获取具有映射关系的二级缓存键和二级键值。
根据本公开的再一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的缓存数据库的查询方法。
根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意一项的缓存数据库的查询方法。
本公开的实施例所提供的缓存数据库的查询方案,通过将待缓存数据拆分为两级,并将无法直接作为key的范围条件,从一级key中剔除,只基于查询信息保留对应确定数值的数值查询条件,防止一次性将所有的范围参数列都存储到redis中,以降低产生大key问题的概率。
进一步地,基于第一缓存键和查询信息中的查询范围条件能够获取对应的目标标识集合,以基于目标标识集合查询所需的目标数据,使redis中实际返回的数据为当次查询条件中匹配到的数据,最大可能性减少缓存数据库中的数据存储量,并且不需要再次进行数据过滤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开实施例中一种缓存数据库的查询系统结构的示意图;
图2示出本公开实施例中一种缓存数据库的查询方法的流程图;
图3示出本公开实施例中另一种缓存数据库的查询方法的流程图;
图4示出本公开实施例中再一种缓存数据库的查询方法的流程图;
图5示出本公开实施例中又一种缓存数据库的查询方法的流程图;
图6示出本公开实施例中又一种缓存数据库的查询方法的流程图;
图7示出本公开实施例中又一种缓存数据库的查询方法的流程图;
图8示出本公开实施例中一种缓存数据库的查询装置的示意图;
图9示出本公开实施例中一种电子设备的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
为了便于理解,下面首先对本申请涉及到的几个名词进行解释。
Redis是使用ANSI C语言开发的一个高性能Key-Value数据库,是当今速度最快的内存型非关系型(NoSQL)数据库,可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。
在本公开中,采用缓存数据库指代Redis。
本申请实施例提供的方案涉及数据库等技术,具体通过如下实施例进行说明。
图1示出本公开实施例中一种缓存数据库的查询系统的结构示意图,包括多个终端120和服务器集群140。
终端120可以是手机、游戏主机、平板电脑、电子书阅读器、智能眼镜、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、智能家居设备、AR(Augmented Reality,增强现实)设备、VR(Virtual Reality,虚拟现实)设备等移动终端,或者,终端120也可以是个人计算机(Personal Computer,PC),比如膝上型便携计算机和台式计算机等等。
其中,终端120中可以安装有用于提供缓存数据库的查询的应用程序。
终端120与服务器集群140之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
服务器集群140是一台服务器,或者由若干台服务器组成,或者是一个虚拟化平台,或者是一个云计算服务中心。服务器集群140用于为提供缓存数据库的查询的应用程序提供后台服务。可选地,服务器集群140承担主要计算工作,终端120承担次要计算工作;或者,服务器集群140承担次要计算工作,终端120承担主要计算工作;或者,终端120和服务器集群140之间采用分布式计算架构进行协同计算。
可选地,不同的终端120中安装的应用程序的客户端是相同的,或两个终端120上安装的应用程序的客户端是不同控制系统平台的同一类型应用程序的客户端。基于终端平台的不同,该应用程序的客户端的具体形态也可以不同,比如,该应用程序客户端可以是手机客户端、PC客户端或者全球广域网(World Wide Web,Web)客户端等。
本领域技术人员可以知晓,上述终端120的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
可选的,该系统还可以包括管理设备(图1未示出),该管理设备与服务器集群140之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(ExtensibleMarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(InternetProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
下面,将结合附图及实施例对本示例实施方式中的缓存数据库的查询方法的各个步骤进行更详细的说明。
图2示出本公开实施例中一种缓存数据库的查询方法流程图。本公开实施例提供的方法可以由任意具备计算处理能力的电子设备执行,例如如图1中的终端120和/或服务器集群140。在下面的举例说明中,以终端120为执行主体进行示例说明。
如图2所示,终端120执行缓存数据库的查询方法,包括以下步骤:
步骤S202,响应于获取到的查询信息,从查询信息中提取数值查询条件和查询范围条件,并将数值查询条件确定为一级缓存键。
其中,数值查询条件指能够进行精确匹配的查询条件,比如直接对名称和编码等数据进行查询。
查询范围条件指属于下述的某个范围参数的具体参数。
步骤S204,查询与一级缓存键匹配的范围参数集合和标识集合。
其中,范围参数集合包括多组范围参数,标识集合包括多个标识。
每个标识对应于一组数据,范围参数包括但不限于日期范围、数值范围等。
另外,在本地的缓存数据中具有缓存数据时,查询操作在本地的缓存数据库,即redis中执行,在本地的缓存数据中不具有缓存数据或缓存过期时,查询操作通过访问远程的数据库执行。
步骤S206,确定范围参数集合中与查询范围条件匹配的范围参数,以及标识集合中与范围参数对应的目标标识集合。
其中,对于给定的查询范围条件,能够确定具体的范围参数,基于范围参数和上述的数值查询条件,则可确定与数值查询条件对应的目标标识,并构成目标标识集合。
步骤S208,基于一级缓存键和目标标识集合获取具有映射关系的二级缓存键和二级键值。
其中,由于每个目标标识用于标识一组目标数据,因此目标标识集合则对应于查询至少一组目标数据。
另外,redis作为Key-value型数据库,也提供了键(Key)和键值(Value)的映射关系,因此在得到一级缓存键后,进一步基于映射关系得到二级缓存键和对应的二级键值,有利于保证redis中实际存储的数据为当次查询条件中匹配到的数据。
在该实施例中,通过将待缓存数据拆分为两级,并将无法直接作为key的范围条件,从一级key中剔除,只基于查询信息保留单一的数值查询条件,防止一次性将所有的范围参数列都存储到redis中,以降低产生大key问题的概率,不但能够降低单个key的耗时,保证其它业务数据的正常操作,还会减小集群数据倾斜的概率,降低redis集群的维护成本。
进一步地,基于第一缓存键和查询信息中的查询范围条件能够获取对应的目标标识集合,以基于目标标识集合查询所需的目标数据,使redis中实际返回的数据为当次查询条件中匹配到的数据,最大可能性减少缓存数据库中的数据存储量,并且不需要再次进行数据过滤。
下面结合表1,以及图3至图8,对本公开的缓存数据库的查询方案进行进一步描述。
如图3所示,在本公开的一个实施例中,步骤S204,查询与一级缓存键匹配的范围参数集合和标识集合的一种具体实施方式,包括:
步骤S302,在检测到缓存数据库中未缓存与一级缓存键匹配的缓存数据时,访问远端数据库,以在远端数据库中查询范围参数集合和标识集合。
在该实施例中,针对缓存数据库中未缓存有目标数据的情况,通过访问远程的数据库获取与数值查询条件匹配的范围参数集合和标识集合,并作为一级键值,以进一步基于一级缓存键、一级键值和查询范围参数继续访问远端数据库,以获取实际所需的目标数据,并缓存在本地,不但能够减少数据存储量,而且便于用户下次访问时直接从缓存数据库中调取目标数据。
如图3所示,在本公开的一个实施例中,步骤S208,基于一级缓存键和目标标识集合获取具有映射关系的二级缓存键和二级键值的一种具体实现方式,包括:
步骤S304,将目标标识集合作为入参查询条件,查询远端数据库,并返回与目标标识集合对应的目标数据集合。
步骤S306,基于目标数据集合和一级缓存键获取具有映射关系的二级缓存键和二级键值。
在该实施例中,通过基于第一缓存键访问远端数据库,得到匹配的范围参数集合和标识集合作为对应的第一键值,进一步,基于第一缓存键和第一键值继续查询,得到第二缓存键和第二键值,保证了查询结果在目标范围内,并使查询结果中的数据在未来的一段时间的可用性,防止缓存中存放无用数据,以降低内存占用,进而提升缓存数据的使用率。
如图4所示,在本公开的一个实施例中,步骤S204,查询与一级缓存键匹配的范围参数集合和标识集合的另一种实施方式,包括:
步骤S402,在检测到缓存数据中缓存有缓存数据时,从缓存数据中提取范围参数集合和标识集合。
在该实施例中,在检测到本地缓存数据库中缓存有范围参数集合和标识集合时,表明缓存数据库中至少缓存有部分所需的目标数据,进一步通过检测本地的目标数据是否完整,确定是否需要访问远端数据库。
在本公开的一个实施例中,步骤S208,基于一级缓存键和目标标识集合获取具有映射关系的二级缓存键和二级键值的另一种具体实现方式包括:
步骤S404,检测缓存数据中是否包括与标识集合匹配的目标数据集合。
步骤S406,在检测缓存数据中包括目标数据集合时,基于目标数据集合和一级缓存键获取具有映射关系的二级缓存键和二级键值。
在该实施例中,在检测缓存数据中包括目标数据集合时,通过直接从缓存数据库redis中获取目标数据,不需要根据范围条件进一步过滤和筛选,有利于降低业务处理的复杂度。
如图5所示,在本公开的一个实施例中,还包括:
步骤S502,在检测到缓存数据中缓存有缓存数据时,从缓存数据中提取范围参数集合和标识集合。
步骤S504,检测缓存数据中是否包括与标识集合匹配的目标数据集合。
如图5所示,在本公开的一个实施例中,步骤S208,基于一级缓存键和目标标识集合获取具有映射关系的二级缓存键和二级键值的再一种具体实施方式,包括:
步骤S506,在检测缓存数据中未完全包括目标数据集合时,基于检测结果确定缓存数据中包括的缓存标识,将缓存数据中包括的目标数据集合的部分记为第一目标数据。
步骤S508,计算目标标识和缓存标识之间的差集,并将差集确定为访问标识。
步骤S510,基于访问标识访问远端数据库,并返回与访问标识对应的第二目标数据。
步骤S512,计算第一目标数据和第二目标数据的并集,得到目标数据集合。
步骤S514,基于目标数据集合和一级缓存键获取具有映射关系的二级缓存键和二级键值。
在该实施例中,在检测缓存数据中未完全包括目标数据集合时,则通过检测哪个目标标识对应的目标数据未缓存在本地,确定访问标识,并基于访问标识访问远端数据库,以返回与访问标识对应的第二目标数据,通过与本地本来就有的第一目标数据进行并集计算,得到完整的数据,在防止出现大key现象,保证本地数据利用率的前提下,保证了目标数据的完整性。
如图6所示,在本公开的一个实施例中,步骤S306、步骤S406和步骤S514中的基于目标数据集合和一级缓存键获取具有映射关系的二级缓存键和二级键值的一种具体实施方式,包括:
步骤S602,基于对目标数据集合的遍历结果,获得每条目标数据的目标标识。
步骤S604,将数值查询条件与每个目标标识进行拼接,生成二级缓存键。
步骤S606,基于键值映射关系,将目标数据确定为二级键值。
在该实施例中,将数值查询条件和每条目标描述进行拼接,得到二级缓存键,即二级key,将匹配到的数据中每条数据单独作为一个value存储到redis,作为二级键值,即二级value,方便根据每个二级key自由组合从redis中查询数据,同时降低了每个key对应的value大小,提高redis的性能,并使redis中实际存储的数据为当次查询条件中匹配到的数据,以最大可能性减少数据存储量
在本公开的一个实施例中,还包括:将范围参数集合和标识集合确定为一级键值;将一级缓存键和一级键值,以及二级缓存键和二级键值缓存至缓存数据库。
在该实施例中,基于一级缓存键,即一级key作为精确匹配条件(比如编码),得到对应的标识集合,即每组数据的唯一标识和范围参数集合作为一级键值,即一级value,一级value还包括数据唯一标识(比如id)和范围列(比如由起始日期和截止日期构成的范围参数)对应关系的集合,将redis缓存的数据分为两级,二级缓存键,即二级key为一级key+数据唯一标识,二级键值,即二级value为数据库中唯一标识对应的数据结果,以保证缓存数据存储的有效性。
如图7所示,根据本公开的另一个实施例的缓存数据库的查询方法,包括:
步骤S702,根据查询信息中的数值查询条件,拼装精确匹配条件作为一级key,检测是否根据一级key从redis中查询到匹配的缓存数据,在检测结果为“否”时,进入步骤S704,在检测结果为“是”时,进入步骤S716。
步骤S704,根据精确匹配条件从数据库中范围参数集合和标识集合,记作数据1。
步骤S706,将数据1作为一级value,将一级key和一级value存入redis,如果数据1为空,则一级value为空集合。
步骤S708,遍历数据1,根据查询信息中的查询范围条件和范围参数集合依次筛选出匹配的目标标识集合,记作数据2。
步骤S710,将数据2作为入参,判断入参是否为空,若是则直接返回空,若否则入参作为查询信息从数据库中查询到对应的目标数据集合,记作数据3。
步骤S712,依次遍历数据3,将遍历得到的每条目标数据记作数据4,将一级key+数据4的唯一标识作为二级key,将数据4作为二级value。
步骤S714,将二级key和二级value,使用redis的批量命令,批量放入redis,并返回数据3。
步骤S716,如果查询到缓存数据,即存在范围参数集合和标识集合,根据查询范围条件(比如日期)和范围参数依次筛选出所述目标标识,记作数据5。
步骤S718,遍历数据5,将一级key+目标标识作为二级key,得到二级key集合。
步骤S720,根据二级key集合,批量查询redis中数据,得到缓存标识,记作数据6;
步骤S722,如果数据5集合等于数据6(即缓存标识)集合,则将数据6直接返回;
步骤S724,如果数据5集合不等于数据6集合,表明redis中不包含所有数据5对应的value,即只包括第一目标数据,计算数据5(即目标数据集合)和数据6(即缓存标识)中所有唯一标识的差集,得到访问标识,记作数据7。
比如之前没有查询过匹配到该唯一标识的数据,机票该数据已经从redis过期,需要从数据库重新查询该部分数据并写入redis。
步骤S726,根据数据7从数据库中查询第二目标数据。
步骤S728,将缓存标识和访问标识的并集作为最终结果返回。
表1
基于表1,针对redis中未缓存目标数据的情况,在接收到查询信息时,数值查询条件为编码=NO1,查询范围条件为日期=2021-01-15执行查询操作,执行步骤可表示为:
拼装精确匹配条件NO1作为一级key,根据一级key从redis中查询数据,redis中不存在数据,执行步骤2。
根据编码=NO1条件从数据库中查询id、起始日期和截止日期列,记作数据1(即范围参数集合和标识集合),符合条件的数据包括id=1、id=2和id=3的三条数据。
将数据1(即范围参数集合和标识集合)作为一级value,将key=NO1和value=数据1(即范围参数集合和标识集合),存入redis。
筛选出数据1(即范围参数集合和标识集合)中起始日期和截止日期分别小于等于和大于等于2021-01-15的数据的id,得到id的集合,即id=2、3,记作数据2(即目标标识集合)。
将数据2(即目标标识集合)作为入参,根据入参查询信息从数据库中查询到对应的数据集合,即id=2、3的整条数据信息,记作数据3(即目标数据集合)。
依次遍历数据3(即目标数据集合),分别将NO1拼接2、3作为二级key,即NO1_2、NO1_3,id=2、3对应的记录作为二级value。
将所有二级key和value,使用redis的批量命令,批量放入redis;返回数据3(即目标数据集合)。
基于表1,在redis缓存过期之前,针对redis中缓存目标数据的情况,同样的条件,再次执行查询:
拼装精确匹配条件NO1作为一级key,根据一级key从redis中查询数据,redis中数据存在(id、起始时间和截止时间这三列组成的集合,其中id=1、2、3),根据日期=2021-01-15和起始时间、截止时间区间依次筛选出符合的所有id,匹配到id=2、3,记作数据5(即目标数据集合)。
遍历数据5(即目标数据集合),将NO1_2和NO1_3作为二级key,得到二级key集合。
根据二级key集合,批量查询redis中数据,得到id=2、3对应的记录,记作数据6(即缓存标识)。
数据5(即目标数据集合)(id=2、3的集合)集合大小等于数据6(即缓存标识)(id=2、3对应记录)集合大小,则将数据6(即缓存标识)直接返回。
在redis缓存过期之前,针对redis中缓存部分目标数据的情况,查询信息编码=NO1,日期=2021-01-12查询匹配条件的数据,执行步骤可表示为:
拼装精确匹配条件NO1作为一级key,根据一级key从redis中查询数据,redis中数据存在(id、起始时间和截止时间这三列组成的集合,其中id=1、2、3),根据日期=2021-01-12和起始时间、截止时间区间依次筛选出符合的所有id,匹配到id=1、2、3,记作数据5(即目标数据集合)。
遍历数据5(即目标数据集合),将NO1_1、NO1_2、NO1_3作为二级key,得到二级key集合。
根据二级key集合,批量查询redis中数据,得到id=2、3对应的记录,记作数据6(即缓存标识)。
数据5(即目标数据集合)(id=1、2、3,集合大小=3)集合大小不等于数据6(即缓存标识)(id=2、3的记录,集合大小=2)集合大小,计算数据5(即目标数据集合)和数据6(即缓存标识)中所有唯一标识的差集,得到差集唯一标识集合,即id=1,记作数据7。
根据数据7从数据库中查询到数据,用id=1作为查询信息从数据库中查询到对应的数据集合,记作数据3(即目标数据集合)。
依次遍历数据3(即目标数据集合),遍历的每条数据记作数据4(即每条目标数据的目标标识),将一级key+数据4(即每条目标数据的目标标识)的唯一标识作为二级key,数据4(即每条目标数据的目标标识)作为二级value。
将二级key和value,使用redis的批量命令,批量放入redis。
将数据6(即缓存标识)(id=2、3对应的记录)和数据3(即目标数据集合)(id=1对应的记录)的并集作为最终结果返回,即返回的值为id=1、2、3对应的记录,符合表1的结果。
需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图8来描述根据本发明的这种实施方式的缓存数据库的查询装置800。图8所示的缓存数据库的查询装置800仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
缓存数据库的查询装置800以硬件模块的形式表现。缓存数据库的查询装置800的组件可以包括但不限于:提取模块802,用于响应于获取到的查询信息,从查询信息中提取数值查询条件和查询范围条件,并将数值查询条件确定为一级缓存键;查询模块804,用于查询与一级缓存键匹配的范围参数集合和标识集合;确定模块806,用于确定范围参数集合中与查询范围条件匹配的范围参数,以及标识集合中与范围参数对应的目标标识集合;获取模块808,用于基于一级缓存键和目标标识集合获取具有映射关系的二级缓存键和二级键值。
在本公开的一个实施例中,查询模块804还用于:在检测到缓存数据库中未缓存与一级缓存键匹配的缓存数据时,访问远端数据库,以在远端数据库中查询范围参数集合和标识集合。
在本公开的一个实施例中,获取模块808还用于:将目标标识集合作为入参查询信息,查询远端数据库,并返回与目标标识集合对应的目标数据集合;基于目标数据集合和一级缓存键获取具有映射关系的二级缓存键和二级键值。
在本公开的一个实施例中,查询模块804还用于:在检测到缓存数据中缓存有缓存数据时,从缓存数据中提取范围参数集合和标识集合。
在本公开的一个实施例中,获取模块808还用于:检测缓存数据中是否包括与标识集合匹配的目标数据集合;在检测缓存数据中包括目标数据集合时,基于目标数据集合和一级缓存键获取具有映射关系的二级缓存键和二级键值。
在本公开的一个实施例中,获取模块808还用于:在检测缓存数据中未完全包括目标数据集合时,基于检测结果确定缓存数据中包括的缓存标识;计算目标标识和缓存标识之间的差集,将缓存数据中包括的目标数据集合的部分记为第一目标数据,并将差集确定为访问标识;基于访问标识访问远端数据库,并返回与访问标识对应的第二目标数据;计算第一目标数据和第二目标数据的并集,得到目标数据集合;基于目标数据集合和一级缓存键获取具有映射关系的二级缓存键和二级键值。
在本公开的一个实施例中,获取模块808还用于:基于对目标数据集合的遍历结果,获得每条目标数据的目标标识;将数值查询条件与每个目标标识进行拼接,生成二级缓存键;基于键值映射关系,将目标数据确定为二级键值。
在本公开的一个实施例中,还包括:缓存模块810,用于将范围参数集合和标识集合确定为一级键值;将一级缓存键和一级键值,以及二级缓存键和二级键值缓存至缓存数据库。
下面参照图9来描述根据本发明的这种实施方式的电子设备1000。图9显示的电子设备1000仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:上述至少一个处理单元910、上述至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930。
其中,存储单元存储有程序代码,程序代码可以被处理单元910执行,使得处理单元910执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,处理单元910可以执行如图1中所示的步骤S202、S204、S206、和S208,以及本公开的缓存数据库的查询方法中限定的其他步骤。
存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)9201和/或高速缓存存储单元9202,还可以进一步包括只读存储单元(ROM)9203。
存储单元920还可以包括具有一组(至少一个)程序模块9205的程序/实用工具9204,这样的程序模块9205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备900也可以与一个或多个外部设备1000(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器960通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
根据本发明的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
Claims (11)
1.一种缓存数据库的查询方法,其特征在于,包括:
响应于获取到的查询信息,从所述查询信息中提取数值查询条件和查询范围条件,并将所述数值查询条件确定为一级缓存键;
查询与所述一级缓存键匹配的范围参数集合和标识集合;
确定所述范围参数集合中与所述查询范围条件匹配的范围参数,以及所述标识集合中与所述范围参数对应的目标标识集合;
基于所述一级缓存键和所述目标标识集合获取具有映射关系的二级缓存键和二级键值。
2.根据权利要求1所述的缓存数据库的查询方法,其特征在于,所述查询与所述一级缓存键匹配的范围参数集合和标识集合,具体包括:
在检测到所述缓存数据库中未缓存与所述一级缓存键匹配的缓存数据时,访问远端数据库,以在所述远端数据库中查询所述范围参数集合和所述标识集合。
3.根据权利要求2所述的缓存数据库的查询方法,其特征在于,所述基于所述一级缓存键和所述目标标识集合获取具有映射关系的二级缓存键和二级键值,具体包括:
将所述目标标识集合作为入参查询条件,查询所述远端数据库,并返回与所述目标标识集合对应的目标数据集合;
基于所述目标数据集合和所述一级缓存键获取具有映射关系的所述二级缓存键和所述二级键值。
4.根据权利要求3所述的缓存数据库的查询方法,其特征在于,所述查询与所述一级缓存键匹配的范围参数集合和标识集合,还包括:
在检测到所述缓存数据中缓存有所述缓存数据时,从所述缓存数据中提取所述范围参数集合和所述标识集合。
5.根据权利要求4所述的缓存数据库的查询方法,其特征在于,所述基于所述一级缓存键和所述目标标识集合获取具有映射关系的二级缓存键和二级键值,具体还包括:
检测所述缓存数据中是否包括与所述标识集合匹配的所述目标数据集合;
在检测所述缓存数据中包括所述目标数据集合时,基于所述目标数据集合和所述一级缓存键获取具有映射关系的所述二级缓存键和所述二级键值。
6.根据权利要求5所述的缓存数据库的查询方法,其特征在于,所述基于所述一级缓存键和所述目标标识集合获取具有映射关系的二级缓存键和二级键值,具体还包括:
在检测所述缓存数据中未完全包括所述目标数据集合时,基于检测结果确定所述缓存数据中包括的缓存标识;
计算所述目标标识和所述缓存标识之间的差集,将所述缓存数据中包括的所述目标数据集合的部分记为第一目标数据,并将所述差集确定为访问标识;
基于所述访问标识访问所述远端数据库,并返回与所述访问标识对应的第二目标数据;
计算所述第一目标数据和所述第二目标数据的并集,得到所述目标数据集合;
基于所述目标数据集合和所述一级缓存键获取具有映射关系的所述二级缓存键和所述二级键值。
7.根据权利要求3至6中任一项所述的缓存数据库的查询方法,其特征在于,所述基于所述目标数据集合和所述一级缓存键获取具有映射关系的所述二级缓存键和所述二级键值,具体包括:
基于对所述目标数据集合的遍历结果,获得每条所述目标数据的目标标识;
将所述数值查询条件与每个所述目标标识进行拼接,生成所述二级缓存键;
基于键值映射关系,将所述目标数据确定为所述二级键值。
8.根据权利要求1至6中任一项所述的缓存数据库的查询方法,其特征在于,还包括:
将所述范围参数集合和所述标识集合确定为一级键值;
将所述一级缓存键和所述一级键值,以及所述二级缓存键和所述二级键值缓存至所述缓存数据库。
9.一种缓存数据库的查询装置,其特征在于,包括:
提取模块,用于响应于获取到的查询信息,从所述查询信息中提取数值查询条件和查询范围条件,并将所述数值查询条件确定为一级缓存键;
查询模块,用于查询与所述一级缓存键匹配的范围参数集合和标识集合;
确定模块,用于确定所述范围参数集合中与所述查询范围条件匹配的范围参数,以及所述标识集合中与所述范围参数对应的目标标识集合;
获取模块,用于基于所述一级缓存键和所述目标标识集合获取具有映射关系的二级缓存键和二级键值。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~8中任意一项所述的缓存数据库的查询方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~8中任意一项所述的缓存数据库的查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110564745.0A CN113268506B (zh) | 2021-05-24 | 2021-05-24 | 缓存数据库的查询方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110564745.0A CN113268506B (zh) | 2021-05-24 | 2021-05-24 | 缓存数据库的查询方法、装置、电子设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113268506A true CN113268506A (zh) | 2021-08-17 |
CN113268506B CN113268506B (zh) | 2023-09-26 |
Family
ID=77232346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110564745.0A Active CN113268506B (zh) | 2021-05-24 | 2021-05-24 | 缓存数据库的查询方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113268506B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114428792A (zh) * | 2021-12-13 | 2022-05-03 | 深圳市风行趋势科技有限公司 | 一种数据缓存取用方法、装置、计算机设备及存储介质 |
CN114925102A (zh) * | 2022-06-29 | 2022-08-19 | 抖音视界(北京)有限公司 | 书籍内容的获取方法、装置、计算机设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6442562B1 (en) * | 2000-03-15 | 2002-08-27 | International Business Machines Corporation | Apparatus and method for using incomplete cached balance sets to generate incomplete or complete cached balance sets and balance values |
JP2009265840A (ja) * | 2008-04-23 | 2009-11-12 | Internatl Business Mach Corp <Ibm> | データベースのキャッシュシステム |
US20120296930A1 (en) * | 2011-05-17 | 2012-11-22 | Speedtrack, Inc. | Pre-caching |
US20140172833A1 (en) * | 2012-12-19 | 2014-06-19 | James Taylor | Querying a not only structured query language (nosql) database using structured query language (sql) commands |
CN111611225A (zh) * | 2020-05-15 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 数据存储管理方法、查询方法、装置、电子设备及介质 |
CN112131214A (zh) * | 2019-06-25 | 2020-12-25 | 北京京东尚科信息技术有限公司 | 数据写入、数据查询的方法、系统、设备和存储介质 |
CN112699149A (zh) * | 2020-12-31 | 2021-04-23 | 青岛海尔科技有限公司 | 目标数据获取方法、装置和存储介质及电子装置 |
-
2021
- 2021-05-24 CN CN202110564745.0A patent/CN113268506B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6442562B1 (en) * | 2000-03-15 | 2002-08-27 | International Business Machines Corporation | Apparatus and method for using incomplete cached balance sets to generate incomplete or complete cached balance sets and balance values |
JP2009265840A (ja) * | 2008-04-23 | 2009-11-12 | Internatl Business Mach Corp <Ibm> | データベースのキャッシュシステム |
US20120296930A1 (en) * | 2011-05-17 | 2012-11-22 | Speedtrack, Inc. | Pre-caching |
US20140172833A1 (en) * | 2012-12-19 | 2014-06-19 | James Taylor | Querying a not only structured query language (nosql) database using structured query language (sql) commands |
CN112131214A (zh) * | 2019-06-25 | 2020-12-25 | 北京京东尚科信息技术有限公司 | 数据写入、数据查询的方法、系统、设备和存储介质 |
CN111611225A (zh) * | 2020-05-15 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 数据存储管理方法、查询方法、装置、电子设备及介质 |
CN112699149A (zh) * | 2020-12-31 | 2021-04-23 | 青岛海尔科技有限公司 | 目标数据获取方法、装置和存储介质及电子装置 |
Non-Patent Citations (4)
Title |
---|
SATTAR B. SADKHAN等: "Hybrid Method to Implement a Parallel Search of the Cryptosystem Keys", 2019 INTERNATIONAL CONFERENCE ON ADVANCED SCIENCE AND ENGINEERING (ICOASE) * |
崔晨;郑林江;韩凤萍;何牧君;: "基于内存的HBase二级索引设计", 计算机应用, no. 06 * |
梅江泽: "基于Solr的海量数据并行索引及搜索缓存研究", 中国优秀硕士学位论文全文数据库, no. 2 * |
闫湖;周薇;李立新;戴娇;韩冀中;狄方春;: "基于分布式键值对存储技术的EMS数据库平台", 电网技术, no. 09 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114428792A (zh) * | 2021-12-13 | 2022-05-03 | 深圳市风行趋势科技有限公司 | 一种数据缓存取用方法、装置、计算机设备及存储介质 |
CN114925102A (zh) * | 2022-06-29 | 2022-08-19 | 抖音视界(北京)有限公司 | 书籍内容的获取方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113268506B (zh) | 2023-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10560465B2 (en) | Real time anomaly detection for data streams | |
US20200409804A1 (en) | Systems and methods for monitoring distributed database deployments | |
WO2022121221A1 (zh) | 基于令牌的应用程序访问方法、装置、计算机设备和介质 | |
CN113268506B (zh) | 缓存数据库的查询方法、装置、电子设备和可读存储介质 | |
CN111371858B (zh) | 群控设备识别方法、装置、介质及电子设备 | |
CN108921552B (zh) | 一种验证证据的方法及装置 | |
CN112988770B (zh) | 序列号更新的方法、装置、电子设备和存储介质 | |
CN111259282B (zh) | Url去重方法、装置、电子设备及计算机可读存储介质 | |
CN110704476A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN113535677B (zh) | 数据分析查询管理方法、装置、计算机设备及存储介质 | |
US11366821B2 (en) | Epsilon-closure for frequent pattern analysis | |
WO2019071907A1 (zh) | 基于操作页面识别帮助信息的方法及应用服务器 | |
CN113722419A (zh) | 骚扰标记数据处理方法、装置、电子设备和介质 | |
CN113793139A (zh) | 支付异常的处理方法、处理装置、存储介质及电子设备 | |
CN112163127B (zh) | 关系图谱构建方法、装置、电子设备及存储介质 | |
CN114022711A (zh) | 工业标识数据缓存处理方法及装置、介质及电子设备 | |
CN112889039B (zh) | 用于克隆后租户标识符转换的记录的标识 | |
CN116842012A (zh) | 一种Redis集群的分片存储方法、装置、设备及存储介质 | |
CN112948733B (zh) | 接口维护方法、装置、计算设备以及介质 | |
CN112035159B (zh) | 一种稽核模型的配置方法、装置、设备及存储介质 | |
CN110297842B (zh) | 一种数据比对方法、装置、终端和存储介质 | |
CN112632211A (zh) | 用于移动机器人的语义信息处理方法与设备 | |
CN114650252B (zh) | 基于企业服务总线的路由方法、装置及计算机设备 | |
CN107609871A (zh) | 支付轨迹重现方法、装置、系统、电子设备、存储介质 | |
CN112328960B (zh) | 数据运算的优化方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |