CN115203255A - 数据查询方法、装置、电子设备及存储介质 - Google Patents

数据查询方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115203255A
CN115203255A CN202210763065.6A CN202210763065A CN115203255A CN 115203255 A CN115203255 A CN 115203255A CN 202210763065 A CN202210763065 A CN 202210763065A CN 115203255 A CN115203255 A CN 115203255A
Authority
CN
China
Prior art keywords
query
data
cache
target
parameter
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
Application number
CN202210763065.6A
Other languages
English (en)
Inventor
容清员
蔡林金
丁丹迪
姚达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shanghai Co Ltd
Original Assignee
Tencent Technology Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shanghai Co Ltd filed Critical Tencent Technology Shanghai Co Ltd
Priority to CN202210763065.6A priority Critical patent/CN115203255A/zh
Publication of CN115203255A publication Critical patent/CN115203255A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种数据查询方法、装置、电子设备及存储介质。该方法包括:获取到待查询参数集,在第一缓存中查找对应的数据,得到第一查询参数对应的第一数据;所述第一缓存为加速处理器中的缓存;若所述第一查询参数为所述待查询参数集中的部分查询参数,在所述第二缓存中进行数据查询处理,得到第二查询参数对应的第二数据,所述第二查询参数属于所述待查询参数集中所述第一查询参数之外的查询参数;所述第二缓存为CPU中的缓存;根据所述第一数据和所述第二数据,获取所述查询参数集对应的目标数据。根据本申请的技术方案,可以提升数据查询效率。

Description

数据查询方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机处理技术领域,尤其涉及一种数据查询方法、装置、电子设备及存储介质。
背景技术
随着互联网应用以及计算机技术的发展,数据处理速度越来越高,相关技术中,比如模型训练中,为了解决模型的参数量大、训练吞吐率低的问题,一般选择在CPU(centralprocessing unit,中央处理器)中存储嵌入特征的特征表,并设置GPU(graphicsprocessing unit,图形处理器)缓存查询结合该CPU中特征表查询的方式,以提升查询效率;或者将特征表拆分进行分布式存储以实现分布式数据查询处理。但前者使用GPU显存作为缓存的方式,适用范围有限;后者引入分布式节点间的通信开销,会增大处理时延。这些不能有效适用时效性要求较高的场景,并且在面对大规模数据查询的情况下,时延较高。
发明内容
有鉴于上述存在的技术问题,本申请提出了数据查询方法、装置、电子设备及存储介质。
根据本申请的一方面,提供了一种数据查询方法,所述方法包括:
获取到待查询参数集,在第一缓存中查找对应的数据,得到第一查询参数对应的第一数据;所述第一缓存为加速处理器关联的缓存;
若所述第一查询参数为所述待查询参数集中的部分查询参数,在所述第二缓存中进行数据查询处理,得到第二查询参数对应的第二数据,所述第二查询参数属于所述待查询参数集中所述第一查询参数之外的查询参数;所述第二缓存为CPU关联的缓存;
根据所述第一数据和所述第二数据,获取所述查询参数集对应的目标数据。
根据本申请的另一方面,提供了一种数据查询装置,包括:
第一查询模块,用于获取待查询参数集,在第一缓存中查找对应的数据,得到第一查询参数对应的第一数据;所述第一缓存为加速处理器关联的缓存;
第二查询模块,用于若所述第一查询参数为所述待查询参数集中的部分查询参数,在第二缓存中进行数据查询处理,得到第二查询参数对应的第二数据,所述第二查询参数属于所述待查询参数集中所述第一查询参数之外的查询参数;所述第二缓存为CPU关联的缓存;
目标数据获取模块,用于根据所述第一数据和所述第二数据,获取所述查询参数集对应的目标数据。
根据本申请的另一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。
根据本申请的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法。
通过设置加速处理器和CPU各自关联的缓存,使得对GPU和CPU的查询速度均可以得到提升,从而可以降低数据查询的时延,提升数据查询的效率;进而可以增加数据查询的适用范围,能够有效适用大规模数据查询场景,例如可以有效适用推荐模型应用中大规模嵌入特征查询的实时性要求;另外,这种在加速处理器和CPU中设置多级缓存的方式,缓存可以独立管理,使得缓存更加灵活,可扩展性较佳;提升数据查询效率的同时,也可以降低通信资源的消耗。
根据下面参考附图对示例性实施例的详细说明,本申请的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本申请的示例性实施例、特征和方面,并且用于解释本申请的原理。
图1示出根据本申请一实施例提供的一种应用系统的示意图。
图2示出根据本申请一实施例提供的一种缓存配置的示意图。
图3a示出根据本申请一实施例提供的一种单机模式的缓存架构。
图3b示出根据本申请一实施例提供的一种多机模式的缓存架构。
图4示出根据本申请一实施例提供的一种数据查询的流程图。
图5示出根据本申请一实施例提供的一种GPU缓存的存储示意图。
图6示出根据本申请一实施例提供的一种数据查询的流程示意图。
图7示出根据本申请一实施例提供的一种特征合并的示意图。
图8a和图8b示出根据本申请一实施例提供的一种CPU缓存的存储示意图。
图9示出根据本申请一实施例提供的一种数据查询装置的框图。
图10示出根据本申请一实施例提供的一种用于数据查询的电子设备的框图。
具体实施方式
以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
请参阅图1,图1示出根据本申请一实施例提供的一种应用系统的示意图。所述应用系统可以用于本申请的数据查询方法。如图1所示,该应用系统至少可以包括服务器01和终端02。
本申请实施例中,所述服务器01可以用于数据查询,该服务器01可以包括独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
本申请实施例中,所述终端02可以用于发送对象推荐请求、搜索请求等,还可以用于接收和展示目标数据。该终端02可以包括智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、智能可穿戴设备等类型的实体设备。实体设备,也可以包括运行于实体设备中的软体,例如应用程序等。本申请实施例中终端02上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows等。
本说明书实施例中,上述终端02以及服务器01可以通过有线或无线通信方式进行直接或间接地连接,本申请对此不作限定。
在一个具体的实施例中,服务器02为分布式系统时,该分布式系统可以为区块链系统,分布式系统为区块链系统时,可以由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)形成,节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。具体的,区块链系统中各节点的功能,涉及的功能可以包括:
路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
需要说明的是,在本申请的具体实施方式中,涉及到用户相关的数据,当本申请以下实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本说明书实施例中,可以将局部存储和缓存的方式结合,基于目标查询对象所需存储资源,动态设置从GPU、CPU至目标服务器的缓存。该目标查询对象可以表征全量预设查询参数与数据的对应关系,用于作为数据查询的依据。预设查询参数可以是任意能够用于查询的参数,对应关系中的数据可以是内容链接、多媒体、图像、文字、物品等,本公开对此不作限定。作为一个示例,该对应关系的形式可以是表项、矩阵等,本公开对此也不作限定。
举例来说,目标查询对象可以是全量预设搜索关键词与内容链接的对应关系;或者目标查询对象可以是对象推荐模型对应的特征表,例如嵌入矩阵,该嵌入矩阵可以包括大量键值对(Key-Value对)。在一个示例中,Key可以是查询特征,Value可以是嵌入向量(embedding vector),本申请称为第一嵌入向量。
本说明书实施例中,缓存的配置方式可以是:获取目标查询对象,比如对象推荐模型对应的特征表。若加速处理器(例如GPU、NPU等)关联的存储资源(例如GPU显存的存储资源)大于或等于目标查询对象所需存储资源,可以在加速处理器关联的存储资源中配置第一缓存(例如GPU缓存),并将目标查询对象存储在第一缓存中。以GPU为例,也就是说若目标查询对象能全部存放在显存中,则GPU缓存等价于在显存中的局部存储,即目标查询对象都在显存里面存储,直接查询即可,不需要再不断地更新缓存。若加速处理器关联的存储资源小于目标查询对象所需存储资源,可以获取CPU内存的存储资源;并在CPU内存的存储资源大于或等于目标查询对象所需存储资源的情况下,在CPU内存中配置第二缓存(或称CPU缓存),并将目标查询对象存储在第二缓存中。也就是说,目标查询对象在显存放不下,但能全部存放在内存中时,CPU缓存可以等价于在内存中的局部存储,这种情况下GPU缓存可以采用缓存更新的方式实现目标查询对象中部分内容的缓存。这里可以实现GPU缓存结合CPU缓存的方式以提升查询速度。
可选地,若CPU内存的存储资源小于目标查询对象所需存储资源,即目标查询对象不能整体存放在CPU内存中,可以在CPU内存中配置第二缓存;并可以将目标查询对象存放在目标服务器中(例如参数服务器中,对应多机模式)或者可以将目标查询对象存储在CPU外存中(对应单机模式)。
具体地,以下以对象推荐模型、加速处理器是GPU为例,参见图2,图2示出根据本申请一实施例提供的一种缓存配置的示意图。如图2所示,在一种可能的实现方式中,缓存逐级配置可以包括:获取对象推荐模型对应的特征表;该对象推荐模型可以用于处理多个对象推荐请求;该特征表表征全量查询特征与嵌入向量的对应关系,比如嵌入矩阵。若GPU显存的存储资源大于或等于特征表所需存储资源,在GPU显存中配置第一缓存,并将特征表存储在第一缓存中;若GPU显存的存储资源小于特征表所需存储资源,获取CPU内存的存储资源;若CPU内存的存储资源大于或等于特征表所需存储资源,在CPU内存中配置第二缓存,并将特征表存储在第二缓存中;若CPU内存的存储资源小于特征表所需存储资源,可以在CPU内存中配置第二缓存,并在参数服务器或CPU外存中存储特征表。从上述配置来说,CPU缓存可以作为GPU缓存的下一级、参数服务器或CPU外存可以作为CPU缓存的下一级。具体地,可以根据模型大小(比如特征表的大小)和硬件内存大小,分别配置GPU缓存和CPU缓存(即GPU和CPU的Embedding Cache)。以缓存比例r(0<=r<=1)来描述,可以当缓存未用到下一级时,r等于1,等价于缓存完整加载目标查询对象;当缓存未被使用时,r等于0,对应缓存不会被使用;其他情况下,r介于0和1之间,缓存会自适应更新,例如更新存储热点特征,以联合多级缓存加速特征查询。其中,热点特征可以是指在一次数据查询中对应账号的数量满足数量阈值,或者可以是指多次数据查询中被调用的次数满足次数阈值,本公开对此不作限定。
作为一个示例,配置缓存后的架构可以如图3a所示的单机场景下的架构,以及如图3b所示的多机场景下的架构。以目标查询对象为嵌入矩阵为例,参见图3a,作为单机模式,对应嵌入矩阵存储在CPU外存或CPU内存中的情况,由于嵌入矩阵很大(上百GB),可以存储在CPU的外部存储器或者内存中,CPU缓存可以位于内存中。GPU缓存可以位于GPU本地存储(显存)中。可选地,可支持模块化,当硬件有GPU时,支持在GPU上部署;若硬件没有GPU,即可以看作GPU显存的存储资源为0,这时可以只部署CPU缓存。需要说明的是,单机模式可以看作是一个Worker节点的模式,即在一个Worker节点上配置图3a所示的缓存以及嵌入矩阵的局部存储。单机模式可以提升数据处理的可靠性和效率。
参见图3b多机场景下的架构,作为多机模式,与单机的不同点在于,嵌入矩阵可以位于参数服务器的外部存储器或者内存中,每个Worker(Worker节点)对应于一台服务器,Worker和参数服务器之间通过网络互联。这里Worker可以作为响应搜索请求或对象推荐请求的节点。Worker中配置GPU缓存和CPU缓存。
通过设置从GPU显存、CPU内存、参数服务器的顺序配置缓存,实现不同处理器的多级缓存机制,实现多级缓存的异构管理,可以提升后续数据查询的速度;并且通过存储资源与目标查询对象所需资源的大小判断,以作为存储目标查询对象的依据,实现了从GPU显存、CPU内存、参数服务器顺序对目标查询对象的整体存储,可以降低缓存更新的开销。
对于上述对象推荐模型,可以包括输入模块,用于构建模型的输入,输入通常具有高维、稀疏的特点。特征嵌入模块,用于将高维、稀疏的特征转换成低维、稠密的向量。该特征嵌入模块可以维护一个或多个嵌入矩阵,嵌入矩阵可以包含若干个Key-Value对,Key为输入的特征,Value为一个嵌入向量。特征嵌入模块可以用于遍历查找输入的所有特征,在嵌入矩阵中查到对应的嵌入向量,然后基于这些嵌入向量得到特征提取模块的输入。特征提取模块可以对输入进行特征提取,得到提取特征。从而可以将提取特征输入输出模块,得到最终的输出。其中,特征嵌入模块的查询操作由于嵌入矩阵很大,大小有100GB/1000GB量级。且输入包含的需要查询的特征的数量级也在万~百万级别。因此,特征嵌入模块的查询是非常耗时的操作。基于此,可以利用本申请的数据查询来实现特征嵌入模块的查询,降低延时。
图4示出根据本申请一实施例提供的一种数据查询方法的流程图。如图4所示,所述方法可以包括:
S401,获取到待查询参数集,在第一缓存中查找对应的数据,得到第一查询参数对应的第一数据。
其中,第一缓存可以为加速处理器关联的缓存,加速处理器关联的缓存可以是指加速处理器对应内存中配置的缓存。例如,在加速处理器为GPU的情况下,加速处理关联的缓存可以为GPU显存中配置的缓存。
本说明书实施例中,待查询参数集中的查询参数可以是需要查询的参数。在一种可能的实现方式中,可以获取多个目标账号各自的查询参数,从而可以将这些查询参数组成待查询参数集。其中,目标账号可以是终端请求对应的账号,也可以是服务器要进行内容推送的账号。可选地,考虑目标账号的数量级一般较大,而不同目标账号的查询参数可能会有相同,为了节约查询资源,还可以对多个目标账号各自的查询参数进行去重处理,得到待查询参数集,该待查询参数集包括的查询参数为去重处理后的查询参数。这样查询处理面对的查询参数的数量可以得到减少,既可以提升查询效率,又可以节约查询的处理资源。
在一个示例中,例如搜索场景中,可以获取预设时长内目标账号的搜索请求,例如距离当前时间1秒内的搜索请求。可以从这些搜索请求中提取搜索请求的搜索关键词,从而可以将这些搜索关键词组成待查询参数集,即查询参数可以为搜索关键词。相应地,查询的数据可以是与搜索关键词对应的数据,数据的形式可以是多媒体、图像、文本、物品等。
在另一个示例中,例如对象推荐场景中,可以基于目标账号进行对象的个性化推荐,这里推荐的对象可以包括多媒体、图像、文本、物品等,本公开对此不作限定。基于此,查询参数可以为查询特征。相应地,可以接收多个目标账号的对象推荐请求;并可以从多个对象推荐请求中提取多个查询特征;基于多个查询特征,获取待查询特征集。可选地,可以对多个查询特征进行去重处理,得到多个目标查询特征;从而将多个目标查询特征构建成待查询特征集。这里对多个查询特征进行去重处理,可以进一步提升数据处理效率。该待查询特征集可以作为对象推荐模型的输入。
作为一个示例,多个查询特征的去重可以如下:
u,umap=Unique(x),
其中,x是多个查询特征,个数为m;u为多个目标查询特征,个数为n(n<=m);umap为x和u中相同查询特征之间的坐标映射,该坐标映射可以用于后续特征的定位和恢复。
上述是应用场景的示例,不对本公开进行限定,相应地,待查询参数集中的查询参数可以是数据查询中用于索引或匹配的任意参数。本说明书实施例中,获取到待查询参数集,可以在第一缓存中查找对应的数据,得到第一查询参数对应的第一数据。其中,第一查询参数可以是待查询参数集中、在第一缓存中查找到对应数据对应的查询参数,即第一查询参数可以是待查询参数集中、在第一缓存中查找到查询结果的查询参数。
S403,若第一查询参数为待查询参数集中的部分查询参数,在第二缓存中进行数据查询处理,得到第二查询参数对应的第二数据,该第二查询参数属于待查询参数集中第一查询参数之外的查询参数,即第二查询参数为待查询参数集中第一查询参数之外的全部或部分查询参数;该第二缓存可以为CPU关联的缓存。CPU关联的缓存可以是指在CPU内存中配置的缓存,可以称为CPU缓存。
本说明书实施例中,若第一查询参数为待查询参数集中的部分查询参数,即在第一缓存中未查找到待查询参数集中全部查询参数对应的数据,可以在第二缓存中进行数据查询处理,得到第二查询参数对应的第二数据。若第一查询参数为待查询参数集中的全部查询参数,可以结束查询,将第一数据作为目标数据。
可选地,该方法还可以包括GPU缓存的更新,如图6所示,例如可以包括:确定第一查询参数的数量与第四查询参数的数量的第一比例;第四查询参数为待查询参数集中除第一查询参数之外的查询参数;若第一比例低于比例阈值,表明GPU缓存还在构建过程中,可以使用CPU中查找到的数据对GPU缓存进行更新。例如可以将第二查询参数、第三查询参数以及对应的第二数据、第三数据,更新至第一缓存中。作为一个示例,可以分别确定第二查询参数和第三查询参数,对应的第一哈希值和第二哈希值;并可以获取第一哈希值在第一缓存中对应的第一存储组,以及第二哈希值在第一缓存中对应的第二存储组;获取第一存储组中在预设时长内未被调用的第一目标数据,以及第二存储组中在预设时长内未被调用的第二目标数据;利用第二数据替换第一目标数据,以及利用第三数据替换所述第二目标数据。对于预设时长内未被调用的处理方式,可以为GPU缓存中的每个嵌入特征维护一个计数器,每当查找该嵌入特征时,将计数器设置为最新值。在GPU缓存更新时,可以确定待更新的查询参数对应的哈希值,从而可以选择该哈希值对应的cache_set下、计数器数值最久未被更新的嵌入特征作为替换对象以进行替换,实现GPU缓存更新。
可选地,若第一比例不低于比例阈值,表明GPU缓存趋于稳定,可以略过GPU缓存的更新步骤,避免频繁更新的开销。通过第一比例的设置来执行GPU缓存的更新,既可以实现GPU缓存的自适应更新,又可以节约资源;并且能够适用嵌入特征的查询时效性,提升GPU缓存中的数据命中率。
如图5所示,为了提高缓存命中率,并充分发挥GPU的高并发特性,GPU缓存可以使用三维数组存储,并采用组相连映射方式进行键值映射。如图5所示,三维数组包括存储组cache_set、存储路径cache_lane以及数据(比如嵌入向量embedding_vector)。其中,每一个cache_set可以包含多个cache_lane,每个cache_lane中可以存储一个嵌入向量。cache_set间采用直接映射,同一cache_set下的cache_lane间采用全相联映射,使用线性探测法解决冲突。其中,全相连映射可以是指同一cache_set下的cache_lane对应同一哈希值,即同为cache_set对应的哈希值。本申请对哈希处理方式不作限定。线性探测法解决冲突可以是指,同一cache_set下的cache_lane对应同一哈希值,这样同一cache_set下的cache_lane会存在冲突,这样线性探测法可以为逐个查询法,从而避免冲突。基于此,GPU的高并发性可用于在cache_lane维度进行并行探测;当选中某一嵌入向量后,可以利用GPU并行拷出或者更新该向量。
需要说明的是,待查询参数集中查询参数之间不存在依赖关系,可以利用GPU进行并行查找和更新。查找过程只对GPU缓存进行读操作,不存在数据竞争问题,无需对GPU缓存加锁。而GPU缓存更新过程中,由于被替换的第一目标数据或第二目标数据会存在处于同一个cache_set的情况,为避免产生数据竞争,GPU多核间可以对cache_set进行互斥锁定,以保证更新的可靠性。
S405,根据第一数据和第二数据,获取查询参数集对应的目标数据。
本说明书实施例中,可以将第一数据和第二数据进行合并处理,得到合并后的数据作为查询参数集对应的目标数据。
进一步地,可以基于各目标账号的查询参数,从目标数据中筛选出各目标账号对应的查询数据,即各目标账号的查询参数对应的数据。
通过设置加速处理器和CPU各自关联的缓存,使得对GPU和CPU的查询速度均可以得到提升,从而可以降低数据查询的时延,提升数据查询的效率;进而可以增加数据查询的适用范围,能够有效适用大规模数据查询场景,例如可以有效适用推荐模型应用中大规模嵌入特征查询的实时性要求;另外,这种在加速处理器和CPU中设置多级缓存的方式,缓存可以独立管理,使得缓存更加灵活,可扩展性较佳;提升数据查询效率的同时,也可以降低通信资源的消耗。
可选地,该方法还可以包括:若存在第二缓存中未查找到的第三查询参数,可以在目标查询对象中查找第三查询参数对应的第三数据;该目标查询对象表征全量预设查询参数与数据的对应关系。上述待查询参数集合中的查询参数可以属于全量预设查询参数。相应地,上述S205可以替换为:根据第一数据、第二数据以及第三数据,获取目标数据。通过全量预设查询参数与数据的存储,实现缓存和全量存储的结合,保证查询的全面性和准确性。
实际应用中,目标查询对象可以存储在CPU内存或外存中,如图3a所示;或者可以存储在参数服务器中,如图3b所示。相应地,对于图3a所示的单机模式的情况,在配置GPU缓存和CPU缓存情况下的查询流程可以为:GPU在本地存储空间中的GPU缓存中查询,将能在GPU缓存中查到的第一查询参数对应的第一数据保存下来,将没有查到的第四查询参数发给下一级,即CPU缓存。CPU接收GPU发过来的没有查到的第四查询参数,在内存的CPU缓存中查询这些Key,将能在CPU缓存中查到的第二查询参数对应的第二数据返回给GPU以进行GPU缓存更新。对没有查到的第三查询参数,再在CPU的嵌入矩阵中查询,得到第三数据,此时先把第三查询参数和第三数据更新到CPU的缓存中,然后再把第三查询参数和第三数据返回给GPU以进行GPU缓存更新。
可选地,在没有GPU(即GPU的存储资源为0),单独CPU缓存下的查询流程可以为:CPU在内存的CPU缓存中查询,将能在缓存中查到的Key对应的Value保存下来。对没有查到的Key,再在嵌入矩阵中查询,得到这些Key对应的Value,把这些Key和Value更新到CPU的缓存中,最后可以将本次的查询结果返回。这里的查询结果可以是指目标数据。单机场景下嵌入矩阵在本地的内存或外存中,避免通信开销,可以提升查询效率。
参见图3b,作为多机模式的情况下,Worker节点可以首先在自己的GPU和CPU的缓存中查询,如果没有查询到,再发送给参数服务器,参数服务器接受到这些Key,可以依次在GPU缓存和CPU缓存中查询,如果没有则在嵌入矩阵中查询,然后再按顺序一级一级返回查询到的Value以依次更新缓存。在多机场景下,缓存的性能提升效果更为明显。因为如果没有缓存,Worker的所有查询都需要先通过网络发送给参数服务器,参数服务器查询完后再将结果通过网络返回给Worker。相比单机场景下嵌入矩阵在本地的内存或外存中,多机场景下还需要加上网络传输的开销。而在有缓存的情况下,若查询的Key能在缓存中查询到,则可以省去通信开销,得到很大的性能提升。
本说明书实施例中,图6所示的数据合并可以包括上述第一数据、第二数据以及第三数据的合并。在查询参数为查询特征,目标数据为第一嵌入向量的情况下,特征合并还可以包括同一目标账号对应的第一嵌入向量的合并。例如,可以获取预设特征分组以及各目标账号的查询特征对应的第一嵌入向量;对各目标账号对应的第一嵌入向量进行各预设特征分组内的统计处理,得到各目标账号在各预设特征分组下的第二嵌入向量;并可以对各目标账号在各预设特征分组下的第二嵌入向量进行分组间拼接处理,得到各目标账号对应的查询数据。其中,预设特征组的数量可以为多个,各预设特征分组可以包括至少一个查询特征。例如,预设特征分组为账号特征组,包括的查询特征可以为账号标识特征、年龄特征等。或者预设特征分组为对象特征组,包括的查询特征可以为对象标识特征、对象类别特征等,本公开对这些不作限定。
以嵌入矩阵的查询为例,Uq=CacheLookUp(u),其中,u为去重处理后的查询特征;Uq可以为查询到的第一嵌入向量,大小可以为n*p,n为Uq的数量,p为Uq的维度。进一步地,可以从Uq中筛选出各目标账号对应的第一嵌入向量。
基于查询特征来自不同预设特征组,对于各目标账号,可以进行预设特征组内的嵌入向量合并。具体地,例如利用上述umap得到每个查询特征在去重列表中的位置,从而可以确定查询特征所属的预设特征组以及对应的目标账号;并可以对相同预设特征组内的特征进行统计处理,如下:
S=Combine(U,umap),
其中,S可以是大小为k*p的第二嵌入向量,k为S的数量(预设特征组的数量),p为S的维度;U可以为各目标账号对应的第一嵌入向量。统计处理可以包括平均处理、加和处理等,本申请对此不作限定。从而可以进行预设分组间的特征拼接,得到各目标账号对应的拼接特征,即图6所示的输出Embedding特征。
举例来说,如图7所示,目标账号1的查询特征(输入的特征)为查询特征1~查询特征5,其中,通过数据查询,得到查询特征1~查询特征5对应的第一嵌入向量为:E1~E5。若查询特征1~查询特征3属于预设特征分组1,查询特征4~查询特征4属于预设特征分组2。这样可以得到预设特征分组1的第二嵌入向量V1=(E1+E2+E3)/3;预设特征分组2的第二嵌入向量V2=(E4+E5)/2。从而得到该目标账号1的查询数据可以为(V1,V2)。
进一步地,如图6所示,该方法还可以包括CPU缓存的更新,例如可以包括:确定第二查询参数的数量与第三查询参数的数量的第二比例;若第二比例低于比例阈值,将第三查询参数以及对应的所述第三数据,更新至第二缓存中。例如,可以获取第三查询参数对应的第三哈希值;确定第三哈希值在第二缓存中对应的第三存储组;若第三存储组包括的多个存储路存在未存储数据的目标存储路,在目标存储路中存储所述第三数据。通过第二比例的设置来执行CPU缓存更新,既可以实现CPU缓存的动态更新,又可以避免缓存的频繁更新;并且可以实现任意存储路中数据的更新。
作为一个示例,CPU缓存可以是一个具备查询、更新、淘汰的CPU嵌入缓存,这种类似于计算机体系结构中硬件上的缓存。查询时是通过Key查询对应的Value。更新时是通过待更新的Key和Value,将其更新到缓存中,方便后续的查询操作。缓存的容量是有限的,如果更新时发现缓存的容量满了,则需要将缓存中的部分数据淘汰掉,再将新的数据更新进去。
如图8a和图8b所示,CPU缓存可以使用多路组相连设计,其中存储路(Way)和存储组(Set)可灵活配置,支持LRU淘汰策略(Least Recently Used,淘汰最长时间未被使用的数据,以时间作为参考)或其他自定义策略。CPU缓存可以由M个数据组构成,每个数据组可以由N路组成。作为一个示例,如图8b所示,CPU缓存的存储可以使用哈希表和双向链表实现,本申请CPU缓存的具体实现方式不作限定。基于哈希表HashMap和双向链表的方式,可以实现对任一Key的访问,可支持快速查询和缓存更新。其中,HashMap中的Addr0~Addr2可以是指哈希值。
对于一个待查询的Key,首先根据Key的值计算得到该Key对应的哈希值,从而可以确定该哈希值属于第X个Set,例如X=Key%M。进一步地,可以在该第X个Set下的N路中查找是否存有该Key,如果有则返回该Key对应的Value,即嵌入向量(Embedding Vector);如果没有,则由下一级查询,当下一级查询结果返回时,可以将Key和对应的Value更新到该N路中。
在更新一个Key时,也可以先根据该Key计算第三哈希值,从而可以判断第三哈希值对应的第三存储组包括的多个存储路是否填满,如果未满,则直接将该Key和Value添加到末尾的Way中。如果满了,则根据采用的淘汰策略,将其中一个Way的数据清除,然后再把新的Key和Value填入该Way中。
图9示出根据本申请一实施例提供的一种数据查询装置的框图。如图9所示,该装置可以包括:
第一查询模块901,用于获取到待查询参数集,在第一缓存中查找对应的数据,得到第一查询参数对应的第一数据;所述第一缓存为加速处理器关联的缓存;
第二查询模块903,用于若所述第一查询参数为所述待查询参数集中的部分查询参数,在第二缓存中进行数据查询处理,得到第二查询参数对应的第二数据,所述第二查询参数属于所述待查询参数集中所述第一查询参数之外的查询参数;所述第二缓存为CPU关联的缓存;
目标数据获取模块905,用于根据所述第一数据和所述第二数据,获取所述查询参数集对应的目标数据。
在一种可能的实现方式中,上述装置还可以包括:
第三查询模块,用于若存在所述第二缓存中未查找到的第三查询参数,在目标查询对象中查找所述第三查询参数对应的第三数据;所述目标查询对象表征全量预设查询参数与数据的对应关系;
相应地,上述目标数据获取模块905还可以用于根据所述第一数据、所述第二数据以及所述第三数据,获取所述目标数据。
在一种可能的实现方式中,上述装置还可以包括:
第一比例确定模块,用于确定所述第一查询参数的数量与第四查询参数的数量的第一比例;所述第四查询参数为所述待查询参数集中除所述第一查询参数之外的查询参数;
第一更新模块,用于若所述第一比例低于比例阈值,将所述第二查询参数、所述第三查询参数以及对应的所述第二数据、所述第三数据,更新至所述第一缓存中。
在一种可能的实现方式中,上述第一更新模块可以包括:
哈希值确定单元,用于分别确定所述第二查询参数和所述第三查询参数,对应的第一哈希值和第二哈希值;
第一存储组确定单元,用于获取所述第一哈希值在所述第一缓存中对应的第一存储组,以及所述第二哈希值在所述第一缓存中对应的第二存储组;
待替换数据获取单元,用于获取所述第一存储组中在预设时长内未被调用的第一目标数据,以及所述第二存储组中在预设时长内未被调用的第二目标数据;
第一更新单元,用于利用所述第二数据替换所述第一目标数据,以及利用所述第三数据替换所述第二目标数据。
在一种可能的实现方式中,上述装置还可以包括:
第二比例确定模块,用于确定所述第二查询参数的数量与所述第三查询参数的数量的第二比例;
第二更新模块,用于若所述第二比例低于比例阈值,将所述第三查询参数以及对应的所述第三数据,更新至所述第二缓存中。
在一种可能的实现方式中,上述第二更新模块可以包括:
哈希值获取单元,用于获取所述第三查询参数对应的第三哈希值;
第二存储组确定单元,用于确定所述第三哈希值在所述第二缓存中对应的第三存储组;
第二更新单元,用于若所述第三存储组包括的多个存储路存在未存储数据的目标存储路,在所述目标存储路中存储所述第三数据。
在一种可能的实现方式中,上述第一查询模块可以包括:
查询参数获取单元,用于获取多个目标账号各自的查询参数;
去重单元,用于对所述多个目标账号各自的查询参数进行去重处理,得到所述待查询参数集,所述待查询参数集包括的查询参数为所述去重处理后的查询参数。
在一种可能的实现方式中,上述装置还可以包括:
查询数据筛选模块,用于基于各目标账号的查询参数,从所述目标数据中筛选出各目标账号对应的查询数据。
在一种可能的实现方式中,所述查询参数为查询特征,所述目标数据为第一嵌入向量;上述查询数据筛选模块可以包括:
第一嵌入向量获取单元,用于获取预设特征分组以及各目标账号的查询特征对应的第一嵌入向量;
组内特征合并单元,用于对各目标账号对应的第一嵌入向量进行各预设特征分组内的统计处理,得到各目标账号在各预设特征分组下的第二嵌入向量;
特征拼接单元,用于对各目标账号在各预设特征分组下的第二嵌入向量进行分组间拼接处理,得到各目标账号对应的查询数据。
在一种可能的实现方式中,上述装置还可以包括:
目标查询对象获取模块,用于获取目标查询对象;所述目标查询对象表征全量预设查询参数与数据的对应关系;
第一配置模块,用于若所述加速处理器关联的存储资源大于或等于所述目标查询对象所需存储资源,在所述加速处理器关联的存储资源中配置所述第一缓存,并将所述目标查询对象存储在所述第一缓存中;
CPU内存的存储资源获取模块,用于若所述加速处理器关联的存储资源小于所述目标查询对象所需存储资源,获取CPU内存的存储资源;
第二配置模块,用于若所述CPU内存的存储资源大于或等于所述目标查询对象所需存储资源,在所述CPU内存中配置所述第二缓存,并将所述目标查询对象存储在所述第二缓存中;
第三配置模块,用于若所述CPU的存储资源小于所述目标查询对象所需存储资源,在所述CPU内存中配置所述第二缓存,并将所述目标查询对象存储在CPU外存中,或者,在目标服务器中存储所述目标查询对象。
关于上述实施例中的装置,其中各个模块和单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图10示出根据本申请一实施例提供的一种用于数据查询的电子设备的框图。该电子设备可以是服务器,其内部结构图可以如图10所示。该电子设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据查询的方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在示例性实施例中,还提供了一种电子设备,包括:处理器;用于存储该处理器可执行指令的存储器;其中,该处理器被配置为执行该指令,以实现如本申请实施例中的数据查询方法。
在示例性实施例中,还提供了一种存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本申请实施例中的数据查询方法。
在示例性实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本申请实施例中的数据查询方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (13)

1.一种数据查询方法,其特征在于,所述方法包括:
获取到待查询参数集,在第一缓存中查找对应的数据,得到第一查询参数对应的第一数据;所述第一缓存为加速处理器关联的缓存;
若所述第一查询参数为所述待查询参数集中的部分查询参数,在第二缓存中进行数据查询处理,得到第二查询参数对应的第二数据,所述第二查询参数属于所述待查询参数集中所述第一查询参数之外的查询参数;所述第二缓存为CPU关联的缓存;
根据所述第一数据和所述第二数据,获取所述查询参数集对应的目标数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若存在所述第二缓存中未查找到的第三查询参数,在目标查询对象中查找所述第三查询参数对应的第三数据;所述目标查询对象表征全量预设查询参数与数据的对应关系;
所述根据所述第一数据和所述第二数据,获取所述查询参数集对应的目标数据,包括:
根据所述第一数据、所述第二数据以及所述第三数据,获取所述目标数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
确定所述第一查询参数的数量与第四查询参数的数量的第一比例;所述第四查询参数为所述待查询参数集中除所述第一查询参数之外的查询参数;
若所述第一比例低于比例阈值,将所述第二查询参数、所述第三查询参数以及对应的所述第二数据、所述第三数据,更新至所述第一缓存中。
4.根据权利要求3所述的方法,其特征在于,所述将所述第二查询参数、所述第三查询参数以及对应的所述第二数据、所述第三数据,更新至所述第一缓存中,包括:
分别确定所述第二查询参数和所述第三查询参数,对应的第一哈希值和第二哈希值;
获取所述第一哈希值在所述第一缓存中对应的第一存储组,以及所述第二哈希值在所述第一缓存中对应的第二存储组;
获取所述第一存储组中在预设时长内未被调用的第一目标数据,以及所述第二存储组中在预设时长内未被调用的第二目标数据;
利用所述第二数据替换所述第一目标数据,以及利用所述第三数据替换所述第二目标数据。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
确定所述第二查询参数的数量与所述第三查询参数的数量的第二比例;
若所述第二比例低于比例阈值,将所述第三查询参数以及对应的所述第三数据,更新至所述第二缓存中。
6.根据权利要求5所述的方法,其特征在于,所述将所述第三查询参数以及对应的所述第三数据,更新至所述第二缓存中,包括:
获取所述第三查询参数对应的第三哈希值;
确定所述第三哈希值在所述第二缓存中对应的第三存储组;
若所述第三存储组包括的多个存储路存在未存储数据的目标存储路,在所述目标存储路中存储所述第三数据。
7.根据权利要求1或2所述的方法,其特征在于,所述获取到待查询参数集,包括:
获取多个目标账号各自的查询参数;
对所述多个目标账号各自的查询参数进行去重处理,得到所述待查询参数集,所述待查询参数集包括的查询参数为所述去重处理后的查询参数。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
基于各目标账号的查询参数,从所述目标数据中筛选出各目标账号对应的查询数据。
9.根据权利要求8所述的方法,其特征在于,所述查询参数为查询特征,所述目标数据为第一嵌入向量;所述基于各目标账号的查询参数,从所述目标数据中筛选出各目标账号对应的查询数据,包括:
获取预设特征分组以及各目标账号的查询特征对应的第一嵌入向量;
对各目标账号对应的第一嵌入向量进行各预设特征分组内的统计处理,得到各目标账号在各预设特征分组下的第二嵌入向量;
对各目标账号在各预设特征分组下的第二嵌入向量进行分组间拼接处理,得到各目标账号对应的查询数据。
10.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
获取目标查询对象;所述目标查询对象表征全量预设查询参数与数据的对应关系;
若所述加速处理器关联的存储资源大于或等于所述目标查询对象所需存储资源,在所述加速处理器关联的存储资源中配置所述第一缓存,并将所述目标查询对象存储在所述第一缓存中;
若所述加速处理器关联的存储资源小于所述目标查询对象所需存储资源,获取CPU内存的存储资源;
若所述CPU内存的存储资源大于或等于所述目标查询对象所需存储资源,在所述CPU内存中配置所述第二缓存,并将所述目标查询对象存储在所述第二缓存中;
若所述CPU的存储资源小于所述目标查询对象所需存储资源,在所述CPU内存中配置所述第二缓存,并将所述目标查询对象存储在CPU外存中,或者,在目标服务器中存储所述目标查询对象。
11.一种数据查询装置,其特征在于,包括:
第一查询模块,用于获取到待查询参数集,在第一缓存中查找对应的数据,得到第一查询参数对应的第一数据;所述第一缓存为加速处理器关联的缓存;
第二查询模块,用于若所述第一查询参数为所述待查询参数集中的部分查询参数,在第二缓存中进行数据查询处理,得到第二查询参数对应的第二数据,所述第二查询参数属于所述待查询参数集中所述第一查询参数之外的查询参数;所述第二缓存为CPU关联的缓存;
目标数据获取模块,用于根据所述第一数据和所述第二数据,获取所述查询参数集对应的目标数据。
12.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令以实现权利要求1至10中任意一项所述的方法。
13.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至10中任意一项所述的方法。
CN202210763065.6A 2022-06-29 2022-06-29 数据查询方法、装置、电子设备及存储介质 Pending CN115203255A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210763065.6A CN115203255A (zh) 2022-06-29 2022-06-29 数据查询方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210763065.6A CN115203255A (zh) 2022-06-29 2022-06-29 数据查询方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115203255A true CN115203255A (zh) 2022-10-18

Family

ID=83578413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210763065.6A Pending CN115203255A (zh) 2022-06-29 2022-06-29 数据查询方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115203255A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117149813A (zh) * 2023-10-30 2023-12-01 苏州元脑智能科技有限公司 输入特征的向量查找方法、装置和模型运算设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117149813A (zh) * 2023-10-30 2023-12-01 苏州元脑智能科技有限公司 输入特征的向量查找方法、装置和模型运算设备
CN117149813B (zh) * 2023-10-30 2024-02-09 苏州元脑智能科技有限公司 输入特征的向量查找方法、装置和模型运算设备

Similar Documents

Publication Publication Date Title
US11245774B2 (en) Cache storage for streaming data
US20160026660A1 (en) Distribution of an object in volatile memory across a multi-node database
CN110633378A (zh) 一种支持超大规模关系网络的图数据库构建方法
WO2022057231A1 (zh) 访问服务器的方法、装置、设备及存储介质
CN115033722B (zh) 一种加速图数据库数据查询的方法、系统、装置和介质
CN111597148A (zh) 用于分布式文件系统的分布式元数据管理方法
CN108647266A (zh) 一种异构数据快速分布存储、交互方法
CN105744001A (zh) 分布式缓存系统扩容方法、数据访问方法及装置和系统
CN116578746A (zh) 对象去重方法及装置
CN112579319A (zh) 一种基于LRU Cache优化的服务调用方法及装置
CN115203255A (zh) 数据查询方法、装置、电子设备及存储介质
CN109739670B (zh) 节点内进程通信方法、装置、计算机设备和存储介质
US20040117437A1 (en) Method for efficient storing of sparse files in a distributed cache
US10261949B2 (en) Packed row representation for efficient network serialization with direct column indexing in a network switch
CN111261170A (zh) 基于声纹库的声纹识别方法、主控节点及计算节点
CN112328632B (zh) 一种分布式两级缓存的方法和系统
WO2015015727A1 (ja) ストレージ装置、データアクセス方法およびプログラム記録媒体
CN110309184B (zh) 一种航空运价数据的缓存方法及系统
CN116303343A (zh) 数据分片方法、装置、电子设备及存储介质
CN112130747A (zh) 分布式对象存储系统及数据读写方法
CN115934354A (zh) 在线存储方法和装置
CN114116538A (zh) 镜像的缓存管理方法、装置、设备及存储介质
CN116542668A (zh) 一种基于区块链的数据处理方法、设备及可读存储介质
CN113542013A (zh) 虚拟化网络功能管理消息分配方法、装置及设备
CN112364251A (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