CN113157629A - 数据处理方法、装置、电子设备及存储介质 - Google Patents
数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113157629A CN113157629A CN202110424865.0A CN202110424865A CN113157629A CN 113157629 A CN113157629 A CN 113157629A CN 202110424865 A CN202110424865 A CN 202110424865A CN 113157629 A CN113157629 A CN 113157629A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- key
- value
- storage
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开关于一种数据处理方法、装置、电子设备及存储介质,该方法通过加速处理器网口获取客户端发送的键值查询请求,在加速处理器的第一存储器中查询是否存在键值查询请求中携带的目标键;若第一存储器中存在目标键,则从第一存储器中获取目标键对应的值数据,并返回值数据;其中,加速处理器与中央处理器相连,加速处理器的第一存储器存储的数据为缓存中央处理器的第二存储器中的数据至第一存储器得到。从而可以通过加速处理器访问自身的第一存储器得到对应的值数据,键值存储系统的访问吞吐量不再受限于高速串行总线带宽,进而提升了加速处理器访问键值存储系统的吞吐量,并缩短加速处理器访问键值存储系统的延时。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
KVS(Key-Value Store,键值存储系统)对于当今大规模、高性能的数据敏感型应用来说已经成为一个至关重要的设计模块。对中央处理器CPU的存储器进行划分,划分得到的存储模块可以用于KVS存储。
在传统技术中,加速处理器FPGA(Field-Programmable Gate Array,现场可编程门阵列)与中央处理器CPU通过PCIe总线(Peripheral Component Interconnect Express,高速串行总线)进行交互,且加速处理器FPGA需要通过PCIe总线访问键值存储系统。
然而,传统技术中PCIe总线的带宽限制了加速处理器FPGA访问KVS的最大吞吐量,导致加速处理器FPGA访问键值存储系统的延时较大。
发明内容
本公开提供一种数据处理方法、装置、电子设备及存储介质,以至少解决相关技术中加速处理器FPGA访问键值存储系统延时较大的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种数据处理方法,所述方法包括:
通过加速处理器网口获取键值查询请求,所述键值查询请求中携带有目标键,所述目标键为用于标识数据在存储空间中唯一性的信息;
在所述加速处理器的第一存储器中查询是否存在所述目标键;
若所述第一存储器中存在所述目标键,则从所述第一存储器中获取所述目标键对应的值数据,并返回所述值数据;
其中,所述加速处理器与中央处理器相连,所述中央处理器具有第二存储器,所述第一存储器存储的数据是从所述第二存储器中得到的。
在其中一个实施例中,在所述加速处理器的第一存储器中查询是否存在所述目标键之后,所述方法还包括:
若所述第一存储器中不存在所述目标键,则通过所述加速处理器访问所述中央处理器的第二存储器,从所述第二存储器中获取所述目标键对应的值数据,并返回所述值数据。
在其中一个实施例中,所述方法还包括:
获取键值更新请求,所述键值更新请求中携带有待更新键和更新数据;
在所述中央处理器的第二存储器中查找到所述待更新键对应的值数据,采用所述更新数据替换所述待更新键对应的值数据;
在所述加速处理器的第一存储器中查找到所述待更新键对应的值数据,采用所述更新数据替换所述待更新键对应的值数据。
在其中一个实施例中,所述获取键值更新请求,包括:
通过中央处理器网口获取键值更新请求。
在其中一个实施例中,所述第一存储器中的数据的生成方式,包括:
划分所述中央处理器的第二存储器为若干个存储区域,统计各所述存储区域的被访问请求次数;
缓存所述被访问请求次数满足预设条件的存储区域内的数据至所述第一存储器中。
在其中一个实施例中,所述缓存所述被访问请求次数满足预设条件的存储区域内的数据至所述第一存储器中,包括:
按照各所述存储区域的被访问请求次数,从高到低选择预设数量的存储区域;
将所述预设数量的存储区域中的数据缓存至所述第一存储器中。
在其中一个实施例中,在所述缓存所述被访问请求次数满足预设条件的存储区域内的数据至所述第一存储器中之后,所述方法还包括:
定时统计各所述存储区域的被访问请求次数,得到各所述存储区域的新的被访问请求次数;
确定所述新的被访问请求次数满足所述预设条件的存储区域内的数据为新的待缓存数据;
利用所述新的待缓存数据,对所述第一存储器中的数据进行更新。
在其中一个实施例中,所述缓存所述被访问请求次数满足预设条件的存储区域内的数据至所述第一存储器中,包括:
中央处理器通过直接内存访问的方式,将所述被访问请求次数满足预设条件的存储区域内的数据缓存至所述加速处理器的所述第一存储器中。
在其中一个实施例中,所述在所述加速处理器的第一存储器中查找到所述待更新键对应的值数据,采用所述更新数据替换所述待更新键对应的值数据,包括:
中央处理器通过直接内存访问的方式,在所述加速处理器的第一存储器中查找所述待更新键对应的值数据,利用所述更新数据替换所述待更新键对应的值数据。
在其中一个实施例中,所述通过所述加速处理器访问所述中央处理器的第二存储器,从所述第二存储器中获取所述目标键对应的值数据,包括:
所述加速处理器通过高速串行总线,访问所述中央处理器的第二存储器,从所述第二存储器中获取所述目标键对应的值数据。
在其中一个实施例中,所述加速处理器通过高速串行总线,访问所述中央处理器的第二存储器,从所述第二存储器中获取所述目标键对应的值数据,包括:
所述加速处理器通过高速串行总线,以直接内存访问DMA的方式,访问中央处理器的第二存储器,从所述第二存储器中获取所述目标键对应的值数据。
根据本公开实施例的第二方面,提供一种数据处理装置,所述数据处理装置包括:
查询请求获取模块,被配置为执行通过加速处理器网口获取键值查询请求,所述键值查询请求中携带有目标键,所述目标键为用于标识数据在存储空间中唯一性的信息;
目标键查询模块,被配置为执行在所述加速处理器的第一存储器中查询是否存在所述目标键;
第一数据获取模块,被配置为执行若所述第一存储器中存在所述目标键,则从所述第一存储器中获取所述目标键对应的值数据,并返回所述值数据;
其中,所述加速处理器与中央处理器相连,所述中央处理器具有第二存储器,所述第一存储器存储的数据是从所述第二存储器中得到的。
在其中一个实施例中,所述数据处理装置还包括:
第二数据获取模块,被配置为执行若所述第一存储器中不存在所述目标键,则通过所述加速处理器访问所述中央处理器的第二存储器,从所述第二存储器中获取所述目标键对应的值数据,并返回所述值数据。
在其中一个实施例中,所述数据处理装置还包括:
更新请求获取模块,被配置为执行获取键值更新请求,所述键值更新请求中携带有待更新键和更新数据;
第一数据更新模块,被配置为执行在所述中央处理器的第二存储器中查找到所述待更新键对应的值数据,采用所述更新数据替换所述待更新键对应的值数据;
第二数据更新模块,被配置为执行在所述加速处理器的第一存储器中查找到所述待更新键对应的值数据,采用所述更新数据替换所述待更新键对应的值数据。
在其中一个实施例中,所述更新请求获取模块,被配置为执行通过中央处理器网口获取键值更新请求。
在其中一个实施例中,所述数据处理装置还包括数据生成模块,所述数据生成模块包括访问次数统计单元和数据缓存单元;其中:
所述访问次数统计单元,被配置为执行划分所述中央处理器的第二存储器为若干个存储区域,统计各所述存储区域的被访问请求次数;
所述数据缓存单元,被配置为执行缓存所述被访问请求次数满足预设条件的存储区域内的数据至所述第一存储器中。
在其中一个实施例中,所述数据缓存单元,还被配置为执行按照各所述存储区域的被访问请求次数,从高到低选择预设数量的存储区域;将所述预设数量的存储区域中的数据缓存至所述第一存储器中。
在其中一个实施例中,所述装置还包括第三数据更新模块,还被配置为执行定时统计各所述存储区域的被访问请求次数,得到各所述存储区域的新的被访问请求次数;确定所述新的被访问请求次数满足所述预设条件的存储区域内的数据为新的待缓存数据;利用所述新的待缓存数据,对所述第一存储器中的数据进行更新。
在其中一个实施例中,所述数据缓存单元,还被配置为执行中央处理器通过直接内存访问的方式,将所述被访问请求次数满足预设条件的存储区域内的数据缓存至所述加速处理器的所述第一存储器中。
在其中一个实施例中,所述第二数据更新模块,还被配置为执行中央处理器通过直接内存访问的方式,在所述加速处理器的第一存储器中查找所述待更新键对应的值数据,利用所述更新数据替换所述待更新键对应的值数据。
在其中一个实施例中,所述第二数据获取模块,还被配置为执行所述加速处理器通过高速串行总线,访问所述中央处理器的第二存储器,从所述第二存储器中获取所述目标键对应的值数据。
在其中一个实施例中,所述第二数据获取模块,还被配置为执行所述加速处理器通过高速串行总线,以直接内存访问DMA的方式,访问中央处理器的第二存储器,从所述第二存储器中获取所述目标键对应的值数据。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现第一方面的任一项实施例中所述的数据处理方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行第一方面的任一项实施例中所述的数据处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第一方面的任一项实施例中所述的数据处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:通过加速处理器网口获取客户端发送的键值查询请求,在加速处理器的第一存储器中查询是否存在键值查询请求中携带的目标键;若第一存储器中存在目标键,则从第一存储器中获取目标键对应的值数据,并返回值数据。从而可以通过加速处理器访问加速处理器自身的第一存储器得到对应的值数据,避免通过加速处理器与中央处理器之间的高速串行总线访问中央处理器的第二存储器,键值存储系统的访问吞吐量不再受限于高速串行总线的带宽,进而提升了加速处理器访问键值存储系统的吞吐量,并缩短中央处理器访问键值存储系统的延时。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1a是根据一示例性实施例示出的一种数据处理方法的应用环境图。
图1b是根据一示例性实施例示出的键值存储服务器的架构示意图。
图2是根据一示例性实施例示出的一种数据处理方法的流程图。
图3是根据一示例性实施例示出的一种数据处理方法的流程图。
图4是根据一示例性实施例示出的一种数据处理方法的流程图。
图5是根据一示例性实施例示出的第一存储器中的数据的生成方法的流程图。
图6是根据一示例性实施例示出的步骤S520的流程图。
图7是根据一示例性实施例示出的第一存储器中的数据更新方法的流程图。
图8是根据一示例性实施例示出的一种数据处理方法的流程图。
图9a是根据一示例性实施例示出的一种数据处理方法的流程图。
图9b至9c是根据一示例性实施例示出的键值存储系统的架构示意图。
图10是根据一示例性实施例示出的一种数据处理装置的框图。
图11是根据一示例性实施例示出的一种电子设备的内部结构图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所提供的数据处理方法,可以应用于如图1a所示的应用环境中。其中,终端110通过网络与服务器120进行交互。其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120是键值存储服务器,键值存储服务器可以包括中央处理器CPU、专用集成电路ASIC、现场可编程门阵列FPGA、人工智能(AI)芯片、片上系统(SoC)或复杂可编程逻辑器件(CPLD)。比如,如图1b所示,键值存储服务器中包括中央处理器CPU、中央处理器的第二存储器(CPU DDR)、加速处理器FPGA和加速处理器FPGA的第一存储器(FPGA DDR)。进一步地,中央处理器CPU与加速处理器FPGA相连,第一存储器存储的数据为缓存中央处理器的第二存储器中的数据至第一存储器得到。通过加速处理器网口获取键值查询请求,键值查询请求中携带有目标键,且目标键为从存储空间中获取数据的标识符;在加速处理器的第一存储器中查询是否存在目标键;若第一存储器中存在目标键,则从第一存储器中获取目标键对应的值数据,并向调用方返回值数据。其中,对于同一服务器中包括两种或两种以上类型的处理器也可以称为异构服务器。第二存储器和第一存储器可以是双倍速率(double data rate,DDR)存储器,具体可以用于存储数据。
需要说明的是,本公开的数据处理方法可以用于KVS(Key-Value Store,键值存储系统,也可以用于redis、memcached等其他分布式存储系统。
图2是根据一示例性实施例示出的一种数据处理方法的流程图,如图2所示,数据处理方法用于服务器120中,包括以下步骤:
在步骤S210中,通过加速处理器网口获取键值查询请求。
其中,服务器可以采用基于高速串行总线的中央处理器CPU-加速处理器架构的异构服务器,比如,异构服务器是采用GPU、FPGA、ASIC等处理器与中央处理器CPU共同组成一台服务器发挥作用的服务器,且GPU、FPGA、ASIC等处理器可以用作加速处理器。网口是指负责将要传递的数据转换为网络上其它设备能够识别的格式,通过网络介质传输。数据在计算机总线中传输是并行方式即数据是肩并肩传输的,而在网络的物理缆线中说数据以串行的比特流方式传输的,网口承担串行数据和并行数据之间的转换。加速处理器网口可以是将用户需要传递的操作请求转换至加速处理器能够识别的格式的网络适配器。键值查询请求是客户端发送至服务端以在服务端进行值数据查询操作的查询请求,比如,键值查询请求可以是键值读取请求(GET请求)。键值查询请求的数量可以是一个,也可以是多个。键值查询请求中携带有目标键,所述目标键为用于标识数据在存储空间中唯一性的信息,通过目标键可以访问对应的存储地址以得到对应的值数据。键值查询请求还可以携带有请求键的个数(key_num)、与请求键对应的键长度(key_len)等。
具体地,客户端通过网络向服务端发送键值查询请求。服务端通过加速处理器网口接收该键值查询请求,并对接收到的键值查询请求进行解析。由于键值查询请求中携带有目标键,则从该键值查询请求中得到用于查询的key。
在步骤S220中,在加速处理器的第一存储器中查询是否存在目标键。
在步骤S230中,若第一存储器中存在目标键,则从第一存储器中获取目标键对应的值数据,并返回值数据。
其中,加速处理器自身具有存储单元,第一存储器为加速处理器的存储单元。加速处理器与中央处理器相连以进行数据交互,中央处理器自身也具有存储单元,可以对中央处理器的存储单元进行划分,利用中央处理器的部分存储单元用作第二存储器,第二存储器用于存储有键值数据。键值数据是以键值方式存储得到的数据,键值数据可以是键值对(key-value)数据。在KVS键值存储系统中,键(key)是用来访问数据的索引,而数据(value)是被访问的数据。将中央处理器的第二存储器中的数据缓存至加速处理器的第一存储器中,即第一存储器存储的数据为缓存中央处理器的第二存储器中的数据至第一存储器得到。第一存储器和第二存储器可以采用DDR存储器。
具体地,加速处理器从键值查询请求中解析到目标键,利用该目标键在加速处理器的第一存储器中查找是否存在该目标键。若加速处理器的第一存储器中存在目标键,表明加速处理器的第一存储器中保存有目标键对应的值数据,则采用直接寻地址的方式从加速处理器的第一存储器中获取目标键对应的值数据,并向客户端返回获取到的值数据。比如,根据该目标键key在加速处理器的第一存储器中查找到保存对应value值的存储地址,获取目标键对应的value值,向客户端返回对应的键值对(key-value)。
上述数据处理方法中,加速处理器与中央处理器相连,加速处理器的第一存储器存储的数据为缓存中央处理器的第二存储器中的数据至第一存储器得到;并通过加速处理器网口获取客户端发送的键值查询请求,在加速处理器的第一存储器中查询是否存在键值查询请求中携带的目标键;若第一存储器中存在目标键,则从第一存储器中获取目标键对应的值数据,并返回值数据。从而可以通过加速处理器访问加速处理器自身的第一存储器得到对应的值数据,避免通过加速处理器与中央处理器之间的高速串行总线访问中央处理器的第二存储器,KVS的访问吞吐量不再受限于高速串行总线的带宽,进而提升了加速处理器访问KVS的吞吐量,而且缩短了键值查询请求的延时,提升了键值查询请求的响应速度。
在一示例性实施例中,如图3所示,在加速处理器的第一存储器中查询是否存在目标键之后,该数据处理方法还包括:在步骤S310中,若第一存储器中不存在目标键,则通过加速处理器访问中央处理器的第二存储器,从第二存储器中获取目标键对应的值数据,并返回值数据。
其中,加速处理器与中央处理器相连,第一存储器存储的数据为缓存中央处理器的第二存储器中的数据至第一存储器得到。具体地,通过加速处理器网口获取键值查询请求,且键值查询请求中携带有目标键;在加速处理器的第一存储器中查询是否存在目标键;若第一存储器中不存在目标键,则表明加速处理器的第一存储器中没有目标键对应的值数据,需要进一步地在中央处理器的第二存储器进行查询。由于加速处理器与中央处理器相连,则通过加速处理器访问中央处理器的第二存储器。根据键值查询请求携带的目标键,在中央处理器的第二存储器中进行查询,得到该目标键对应的值数据,并将查询得到的值数据返回至客户端。
上述数据处理方法中,由于第一存储器中的数据为缓存中央处理器的第二存储器中的数据至第一存储器得到,则第一存储器的存储空间可能小于第二存储器的空间。那么,第一存储器中的数据可能没有第二存储器中的数据全面,因此,在第一存储器中查询不到目标键对应的值数据时,通过加速处理器访问中央处理器的第二存储器,从第二存储器中获取目标键对应的值数据,并返回值数据。确保查询结果的全面性和准确性。
在一示例性实施例中,如图4所示,该数据处理方法还包括以下步骤:
在步骤S410中,获取键值更新请求。
其中,键值更新请求是客户端发送至服务端以在服务端进行值数据更新操作的更新请求,比如,键值更新请求可以是键值写入请求(PUT请求)。键值更新请求中携带有待更新键和更新数据。待更新键是用于更新键值存储系统中的值数据的请求键(key)。具体地,客户端向服务端发送键值更新请求,服务端可以通过加速处理器网口或者中央处理器网口接收到该键值更新请求。
在步骤S420中,在中央处理器的第二存储器中查找到待更新键对应的值数据,采用更新数据替换待更新键对应的值数据。
具体地,服务端接收到客户端发送的键值更新请求,且键值更新请求携带有待更新键和更新数据。根据待更新键在中央处理器的第二存储器中查找,从第二存储器中查找到待更新键对应的历史值数据,且第二存储器中的历史值数据需要更新,则利用键值更新请求携带的更新数据覆盖待更新键对应的历史值数据。
在步骤S430中,在加速处理器的第一存储器中查找到待更新键对应的值数据,采用更新数据替换待更新键对应的值数据。
具体地,由于加速处理器的第一存储器存储的数据为缓存中央处理器的第二存储器中的数据至第一存储器得到,在对中央处理器的第二存储器中的数据更新后,需要对加速处理器的第一存储器中的数据进行更新。根据键值更新请求携带的待更新键在加速处理器的第一存储器中查找,从第一存储器中查找到待更新键对应的历史值数据,且第一存储器中的历史值数据同样需要更新,则利用键值更新请求携带的更新数据覆盖待更新键对应的历史值数据。
上述数据处理方法中,通过获取键值更新请求,并根据键值更新请求携带的待更新键和更新数据对中央处理器的第二存储器中的数据进行更新,以及对加速处理器的第一存储器中的数据进行更新,确保及时地更新键值存储系统中的数据,从而确保查询的准确性。
在一示例性实施例中,在步骤S410中,获取键值更新请求,包括:通过中央处理器网口获取键值更新请求。
其中,如前文,键值存储系统提供基于键(Key)的查询操作(Get(Key))与更新操作(Put(Key,Value))。为执行更新操作,调用方需要向键值存储系统提供键(Key)与数据(Value),以将数据写入存储器,并将键作为所写入的数据的索引。为执行查询操作,调用方需要向键值存储系统提供键,存储器根据键找到数据,并将数据返回给调用方。一般情况下,键值查询请求的数量多于键值更新请求的数量,比如查询请求和更新请求的量级比例约是15:1,或更高。
具体地,利用加速处理器主要责任加速量级更多的查询操作,更新操作可以由中央处理器CPU来执行。因此,客户端向服务端发送键值更新请求,服务端通过中央处理器网口接收该键值更新请求。
上述数据处理方法中,通过加速处理器网口获取数量量级更多的键值查询请求,通过中央处理器网口获取键值更新请求。一方面,可以减少对加速处理器与中央处理器之间的高速串行总线带宽的占用,中央处理器可以执行更多其他的任务,从而提升系统的性能;另一方面,通过加速处理器网口获取数量量级更多的键值查询请求可以缩短请求延时,提升响应速度。
在一示例性实施例中,如图5所示,第一存储器中的数据的生成方式,包括以下步骤:
在步骤S510中,划分中央处理器的第二存储器为若干个存储区域,统计各存储区域的被访问请求次数。
具体地,中央处理器的第二存储器中存储有若干值数据。为了记录值数据的被访问请求次数,将中央处理器的第二存储器划分为若干个存储区域(part),也就是将第二存储器内的数据划分为相同份数的数据,比如,若将中央处理器的第二存储器划分为16个存储区域,也就是将第二存储器内的数据划分为16份数据。记录各个存储区域内的数据的访问请求,统计各存储区域内的数据的被访问请求次数。
在步骤S520中,缓存被访问请求次数满足预设条件的存储区域内的数据至第一存储器中。
其中,每个存储区域内的数据的被访问请求次数不同。在这些存储区域内的数据中,部分存储区域的数据的被访问请求次数比较多,部分存储区域的数据被访问请求次数比较少,根据各存储区域的数据的被访问请求次数,制定数据从第二存储器缓存至第一存储器的缓存策略。
具体地,对各存储区域内的被访问请求次数进行统计后,得到各存储区域内的被访问请求次数。判断各存储区域内的被访问请求次数是否满足预设条件,若任一存储区域内的被访问请求次数满足预设条件,将该存储区域内的数据从第二存储器缓存至第一存储器中。预设条件可以结合实际情况而设定,比如结合加速处理器的第一存储器的空间大小。
本实施例中,通过划分中央处理器的第二存储器为若干个存储区域,统计各存储区域的被访问请求次数,将被访问请求次数满足预设条件的存储区域内的数据缓存至第一存储器中,为通过加速处理器网口从加速处理器的第一存储器获取对应的值数据提供了数据基础。
在一示例性实施例中,如图6所示,在步骤S520中,缓存被访问请求次数满足预设条件的存储区域内的数据至第一存储器中,具体可以通过以下步骤实现:
在步骤S610中,按照各存储区域的被访问请求次数,从高到低选择预设数量的存储区域。
在步骤S620中,将预设数量的存储区域中的数据缓存至第一存储器中。
其中,如前文,在这些存储区域内的数据中,部分存储区域的数据的被访问请求次数比较多,部分存储区域的数据被访问请求次数比较少,且被访问请求次数比较多的数据为缓存数据(也称为热数据,即需要频繁访问的数据)。一是为了避免对高速串行总线带宽的占用,二是为了提升吞吐量,可以将第二存储器中的热数据缓存至第一存储器中。从而在服务端接收到客户端的键值查询请求时,通过加速处理器网口获取键值查询请求,并从加速处理器的第一存储器中获取对应的值数据,而不是通过中央处理器。
具体地,记录各个存储区域内的数据的访问请求,统计各存储区域内的数据的被访问请求次数,按照从高到低的顺序,对各存储区域的被访问请求次数进行排序,并从中选择预设数量的存储区域,将选择的存储区域中的数据缓存至从第二存储器缓存至第一存储器中。需要说明的是,预设数量可以有加速处理器的第一存储器的空间大小决定。比如,若中央处理器的内存为512G,从中央处理器的内存中划出一部分用作第二存储器。若第二存储器的空间大小256G,且第二存储器划分为128个存储区域,每个存储区域内的数据大小为2G。第一存储器的空间大小为32G,则第一存储器可以容纳32G的数据,即容纳16个存储区域的数据。将128个存储区域的被访问请求次数按照从高到低进行排序,确定排名前16个的存储区域,并将这16个的存储区域内的数据缓存至第一存储器的32G存储空间内。
本实施例中,通过按照各存储区域的被访问请求次数,从高到低选择预设数量的存储区域,并将预设数量的存储区域中的数据缓存至第一存储器中,确保第一存储器内存储的数据为热数据,从而确保制定的缓存策略满足实际需求,进一步地缩短延时。
在一示例性实施例中,如图7所示,在缓存被访问请求次数满足预设条件的存储区域内的数据至第一存储器中之后,该数据处理方法还包括以下步骤:
在步骤S710中,定时统计各存储区域的被访问请求次数,得到各存储区域的新的被访问请求次数。
在步骤S720中,确定新的被访问请求次数满足预设条件的存储区域内的数据为新的待缓存数据。
在步骤S730中,利用新的待缓存数据,对第一存储器中的数据进行更新。
具体地,在不同时刻,各个存储区域的被访问请求次数可能会随着时间变化,比如,某存储区域内的数据在某个时刻A为热数据,则下一个时刻B,该存储区域内的数据为冷数据,因此,为了确保第一存储器中的数据为热数据,对各存储区域的被访问请求次数进行定时统计,得到各存储区域的新的被访问请求次数。判断任一存储区域的新的被访问请求次数是否满足预设条件,若满足,则确定该存储区域内的数据为新的待缓存数据。将新的待缓存数据从第二存储器中缓存至第一存储器中,覆盖第一存储器中原来的数据,即利用新的待缓存数据,对第一存储器中的数据进行更新。
本实施例中,通过定时统计各存储区域的被访问请求次数,得到各存储区域的新的被访问请求次数,并确定新的被访问请求次数满足预设条件的存储区域内的数据为新的待缓存数据,从而利用新的待缓存数据,对第一存储器中的数据进行更新。确保了第一存储器内的数据为热数据,在尽量大的程度上避免通过加速处理器从中央处理器的第二存储器中获取值数据,减少对高速串行总线的带宽进行占用,提升中央处理器的性能。
在一示例性实施例中,缓存被访问请求次数满足预设条件的存储区域内的数据至第一存储器中,包括:中央处理器通过直接内存访问DMA的方式,将被访问请求次数满足预设条件的存储区域内的数据缓存至加速处理器的第一存储器中。
其中,直接内存访问也称为直接存储器访问(Direct Memory Access,DMA),直接内存访问DMA是将数据从一个地址空间直接传输至另一个地址空间,直接内存访问DMA的方式不会让处理器存在工作时延。具体地,对各存储区域内的被访问请求次数进行统计后,得到各存储区域内的被访问请求次数。判断各存储区域内的被访问请求次数是否满足预设条件,若任一存储区域内的被访问请求次数满足预设条件,中央处理器通过直接内存访问DMA的方式,将该存储区域内的数据从中央处理器的第二存储器缓存至加速处理器的第一存储器中。
本实施例中,中央处理器通过直接内存访问DMA的方式,将被访问请求次数满足预设条件的存储区域内的数据缓存至加速处理器的第一存储器中,为通过加速处理器网口从加速处理器的第一存储器获取对应的值数据提供了数据基础,减少对高速串行总线带宽的占用。
在一示例性实施例中,在加速处理器的第一存储器中查找到待更新键对应的值数据,采用更新数据替换待更新键对应的值数据,包括:中央处理器通过直接内存访问DMA的方式,在加速处理器的第一存储器中查找待更新键对应的值数据,利用更新数据替换待更新键对应的值数据。
具体地,客户端向服务端发送键值更新请求,服务端可以通过中央处理器网口接收到该键值更新请求。中央处理器通过直接内存访问DMA的方式,根据键值更新请求携带的待更新键在加速处理器的第一存储器中查找,从第一存储器中查找到待更新键对应的历史值数据,则利用键值更新请求携带的更新数据替换掉待更新键对应的历史值数据。
在一示例性实施例中,通过加速处理器访问中央处理器的第二存储器,从第二存储器中获取目标键对应的值数据,包括:加速处理器通过高速串行总线,访问中央处理器的第二存储器,从第二存储器中获取目标键对应的值数据。
具体地,通过加速处理器网口获取键值查询请求,且键值查询请求中携带有目标键;在加速处理器的第一存储器中查询是否存在目标键;若第一存储器中不存在目标键,则表明加速处理器的第一存储器中没有目标键对应的值数据,需要进一步地在中央处理器的第二存储器进行查询。由于加速处理器与中央处理器通过高速串行总线PCIe相连,则加速处理器通过高速串行总线PCIe,访问中央处理器的第二存储器,根据键值查询请求携带的目标键,在中央处理器的第二存储器中进行查询,得到该目标键对应的值数据,并将查询得到的值数据返回至客户端。
进一步地,加速处理器通过高速串行总线,以直接内存访问DMA的方式,访问中央处理器的第二存储器,从第二存储器中获取目标键对应的值数据。
本实施例中,在第一存储器中查询不到目标键对应的值数据时,通过加速处理器访问中央处理器的第二存储器,从第二存储器中获取目标键对应的值数据,并返回值数据。确保查询结果的全面性和准确性。
在一示例性实施例中,如图8所示,图8是根据一示例性实施例示出的一种数据处理方法的流程图,数据处理方法用于服务器120中,加速处理器与中央处理器CPU相连,加速处理器具有第一存储器,中央处理器CPU具有第二存储器,第一存储器存储的数据是从第二存储器中得到的,比如缓存中央处理器CPU的第二存储器中的数据至第一存储器而得到,示例性地,加速处理器可以采用FPGA加速卡,第一存储器为FPGA自身的DDR,第二存储器为中央处理器CPU的DDR。包括以下步骤:
在步骤S802中,划分中央处理器的第二存储器为若干个存储区域,统计各存储区域的被访问请求次数。
在步骤S804中,按照各存储区域的被访问请求次数,从高到低选择预设数量的存储区域。
在步骤S806中,中央处理器通过直接内存访问DMA的方式,将预设数量的存储区域中的数据缓存至第一存储器中。
在步骤S808中,定时统计各存储区域的被访问请求次数,得到各存储区域的新的被访问请求次数。
在步骤S810中,确定新的被访问请求次数满足预设条件的存储区域内的数据为新的待缓存数据。
在步骤S812中,利用新的待缓存数据,对第一存储器中的数据进行更新。
在步骤S814中,通过加速处理器网口获取键值查询请求。
其中,键值查询请求中携带有目标键。
在步骤S816中,在加速处理器的第一存储器中查询是否存在目标键。
在步骤S818中,若第一存储器中存在目标键,则从第一存储器中获取目标键对应的值数据,并返回值数据。
在步骤S820中,若第一存储器中不存在目标键,则加速处理器通过高速串行总线,以直接内存访问DMA的方式,访问中央处理器的第二存储器,从第二存储器中获取目标键对应的值数据。
在一示例性实施例中,图9a是根据一示例性实施例示出的一种数据处理方法的流程图,数据处理方法用于图9b和9c所示的架构中,加速处理器FPGA与中央处理器CPU通过PCIe总线(Peripheral Component Interconnect Express,高速串行总线)进行交互。FPGA可以选用英特尔intel的S10(Stratix 10SX FPGA)FPGA加速卡D5005,接口采用了PCI-E3.0x16,采用这种接口形式可以保证加速卡的通用性。D5005 FPGA加速卡本身具有32G DDR内存,FPGA访问自身DDR的带宽能达到80G/s,因此,通过加速处理器网口获取客户端发送的键值查询请求,则以直接寻地址从第一存储器中获取目标键对应的值数据,可以有效提升键值存储系统的吞吐量,并且对请求延时具有明显改善。如图9a所示,该方法包括以下步骤:
在步骤S902中,划分中央处理器的第二存储器为若干个存储区域,统计各存储区域的被访问请求次数。
在步骤S904中,按照各存储区域的被访问请求次数,从高到低选择预设数量的存储区域。
在步骤S906中,中央处理器通过直接内存访问DMA的方式,将预设数量的存储区域中的数据缓存至第一存储器中。
在步骤S908中,定时统计各存储区域的被访问请求次数,得到各存储区域的新的被访问请求次数。
在步骤S910中,确定新的被访问请求次数满足预设条件的存储区域内的数据为新的待缓存数据。
在步骤S912中,利用新的待缓存数据,对第一存储器中的数据进行更新。
在步骤S914中,通过中央处理器网口获取键值更新请求。
其中,键值更新请求中携带有待更新键和更新数据。
在步骤S916中,在中央处理器的第二存储器中查找到待更新键对应的值数据,采用更新数据替换待更新键对应的值数据。
在步骤S918中,中央处理器通过直接内存访问DMA的方式,在加速处理器的第一存储器中查找待更新键对应的值数据,利用更新数据替换待更新键对应的值数据。
在步骤S920中,通过加速处理器网口获取键值查询请求。
其中,键值查询请求中携带有目标键。
在步骤S922中,在加速处理器的第一存储器中查询是否存在目标键。
在步骤S924中,若第一存储器中存在目标键,则从第一存储器中获取目标键对应的值数据,并返回目标键对应的值数据。
在步骤S926中,若第一存储器中不存在目标键,则加速处理器通过高速串行总线,以直接内存访问DMA的方式,访问中央处理器的第二存储器,从第二存储器中获取目标键对应的值数据。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
图10是根据一示例性实施例示出的一种数据处理装置框图。参照图10,该装置包括查询请求获取模块1010、目标键查询模块1020和第一数据获取模块1030。
查询请求获取模块1010,被配置为执行通过加速处理器网口获取键值查询请求,所述键值查询请求中携带有目标键,所述目标键为用于标识数据在存储空间中唯一性的信息;
目标键查询模块1020,被配置为执行在所述加速处理器的第一存储器中查询是否存在所述目标键;
第一数据获取模块1030,被配置为执行若所述第一存储器中存在所述目标键,则从所述第一存储器中获取所述目标键对应的值数据,并返回所述值数据;
其中,所述加速处理器与中央处理器相连,所述中央处理器具有第二存储器,所述第一存储器存储的数据是从所述第二存储器中得到的。
在一示例性实施例中,所述数据处理装置还包括:第二数据获取模块,被配置为执行若所述第一存储器中不存在所述目标键,则通过所述加速处理器访问所述中央处理器的第二存储器,从所述第二存储器中获取所述目标键对应的值数据,并返回所述值数据。
在一示例性实施例中,所述数据处理装置还包括:
更新请求获取模块,被配置为执行获取键值更新请求,所述键值更新请求中携带有待更新键和更新数据;
第一数据更新模块,被配置为执行在所述中央处理器的第二存储器中查找到所述待更新键对应的值数据,采用所述更新数据替换所述待更新键对应的值数据;
第二数据更新模块,被配置为执行在所述加速处理器的第一存储器中查找到所述待更新键对应的值数据,采用所述更新数据替换所述待更新键对应的值数据。
在一示例性实施例中,所述更新请求获取模块,被配置为执行通过中央处理器网口获取键值更新请求。
在一示例性实施例中,所述数据处理装置还包括数据生成模块,所述数据生成模块包括访问次数统计单元和数据缓存单元;其中:
所述访问次数统计单元,被配置为执行划分所述中央处理器的第二存储器为若干个存储区域,统计各所述存储区域的被访问请求次数;
所述数据缓存单元,被配置为执行缓存所述被访问请求次数满足预设条件的存储区域内的数据至所述第一存储器中。
在一示例性实施例中,所述数据缓存单元,还被配置为执行按照各所述存储区域的被访问请求次数,从高到低选择预设数量的存储区域;将所述预设数量的存储区域中的数据缓存至所述第一存储器中。
在一示例性实施例中,所述装置还包括第三数据更新模块,还被配置为执行定时统计各所述存储区域的被访问请求次数,得到各所述存储区域的新的被访问请求次数;确定所述新的被访问请求次数满足所述预设条件的存储区域内的数据为新的待缓存数据;利用所述新的待缓存数据,对所述第一存储器中的数据进行更新。
在一示例性实施例中,所述数据缓存单元,还被配置为执行中央处理器通过直接内存访问DMA的方式,将所述被访问请求次数满足预设条件的存储区域内的数据缓存至所述加速处理器的所述第一存储器中。
在一示例性实施例中,所述第二数据更新模块,还被配置为执行中央处理器通过直接内存访问DMA的方式,在所述加速处理器的第一存储器中查找所述待更新键对应的值数据,利用所述更新数据替换所述待更新键对应的值数据。
在一示例性实施例中,所述第二数据获取模块,还被配置为执行所述加速处理器通过高速串行总线,访问所述中央处理器的第二存储器,从所述第二存储器中获取所述目标键对应的值数据。
在一示例性实施例中,所述第二数据获取模块,还被配置为执行所述加速处理器通过高速串行总线,以直接内存访问DMA的方式,访问中央处理器的第二存储器,从所述第二存储器中获取所述目标键对应的值数据。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图11是根据一示例性实施例示出的一种用于数据处理的设备1100的框图。例如,设备1100可以为一服务器。参照图11,设备1100包括处理组件1120,其进一步包括一个或多个处理器,以及由存储器1122所代表的存储器资源,用于存储可由处理组件1120的执行的指令,例如应用程序。存储器1122中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1120被配置为执行指令,以执行上述实施例中的数据处理方法。
设备1100还可以包括一个电源组件1124被配置为执行设备1100的电源管理,一个有线或无线网络接口1126被配置为将设备1100连接到网络,和一个输入输出(I/O)接口1128。设备1100可以操作基于存储在存储器1122的操作系统,例如Windows Server,Mac OSX,Unix,Linux,FreeBSD或类似。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器1122,上述指令可由设备1100的处理器执行以完成上述实施例中的数据处理方法。存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
通过加速处理器网口获取键值查询请求,所述键值查询请求中携带有目标键,所述目标键为用于标识数据在存储空间中唯一性的信息;
在所述加速处理器的第一存储器中查询是否存在所述目标键;
若所述第一存储器中存在所述目标键,则从所述第一存储器中获取所述目标键对应的值数据,并返回所述值数据;
其中,所述加速处理器与中央处理器相连,所述中央处理器具有第二存储器,所述第一存储器存储的数据是从所述第二存储器中得到的。
2.根据权利要求1所述的数据处理方法,其特征在于,在所述加速处理器的第一存储器中查询是否存在所述目标键之后,所述方法还包括:
若所述第一存储器中不存在所述目标键,则通过所述加速处理器访问所述中央处理器的第二存储器,从所述第二存储器中获取所述目标键对应的值数据,并返回所述值数据。
3.根据权利要求2所述的数据处理方法,其特征在于,所述方法还包括:
获取键值更新请求,所述键值更新请求中携带有待更新键和更新数据;
在所述中央处理器的第二存储器中查找到所述待更新键对应的值数据,采用所述更新数据替换所述待更新键对应的值数据;
在所述加速处理器的第一存储器中查找到所述待更新键对应的值数据,采用所述更新数据替换所述待更新键对应的值数据。
4.根据权利要求3所述的数据处理方法,其特征在于,所述获取键值更新请求,包括:
通过中央处理器网口获取键值更新请求。
5.根据权利要求1至4中任一项所述的数据处理方法,其特征在于,所述第一存储器中的数据的生成方式,包括:
划分所述中央处理器的第二存储器为若干个存储区域,统计各所述存储区域的被访问请求次数;
缓存所述被访问请求次数满足预设条件的存储区域内的数据至所述第一存储器中。
6.根据权利要求5所述的数据处理方法,其特征在于,所述缓存所述被访问请求次数满足预设条件的存储区域内的数据至所述第一存储器中,包括:
按照各所述存储区域的被访问请求次数,从高到低选择预设数量的存储区域;
将所述预设数量的存储区域中的数据缓存至所述第一存储器中。
7.根据权利要求5所述的数据处理方法,其特征在于,在所述缓存所述被访问请求次数满足预设条件的存储区域内的数据至所述第一存储器中之后,所述方法还包括:
定时统计各所述存储区域的被访问请求次数,得到各所述存储区域的新的被访问请求次数;
确定所述新的被访问请求次数满足所述预设条件的存储区域内的数据为新的待缓存数据;
利用所述新的待缓存数据,对所述第一存储器中的数据进行更新。
8.一种数据处理装置,其特征在于,所述装置包括:
查询请求获取模块,被配置为执行通过加速处理器网口获取键值查询请求,所述键值查询请求中携带有目标键,所述目标键为用于标识数据在存储空间中唯一性的信息;
目标键查询模块,被配置为执行在所述加速处理器的第一存储器中查询是否存在所述目标键;
第一数据获取模块,被配置为执行若所述第一存储器中存在所述目标键,则从所述第一存储器中获取所述目标键对应的值数据,并返回所述值数据;
其中,所述加速处理器与中央处理器相连,所述中央处理器具有第二存储器,所述第一存储器存储的数据是从所述第二存储器中得到的。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的数据处理方法。
10.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至7中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110424865.0A CN113157629A (zh) | 2021-04-20 | 2021-04-20 | 数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110424865.0A CN113157629A (zh) | 2021-04-20 | 2021-04-20 | 数据处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113157629A true CN113157629A (zh) | 2021-07-23 |
Family
ID=76869098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110424865.0A Pending CN113157629A (zh) | 2021-04-20 | 2021-04-20 | 数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157629A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986133A (zh) * | 2021-10-27 | 2022-01-28 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、数据存储系统及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130014223A1 (en) * | 2011-07-06 | 2013-01-10 | Manish Bhatia | Social content monitoring platform appartuses and systems |
CN110061992A (zh) * | 2019-04-22 | 2019-07-26 | 杭州迪普科技股份有限公司 | 一种动态配置fpga的方法及网络安全设备 |
CN110928935A (zh) * | 2018-09-19 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 数据的访问命令处理方法、装置和系统 |
CN111190928A (zh) * | 2019-12-24 | 2020-05-22 | 平安普惠企业管理有限公司 | 缓存处理方法、装置、计算机设备以及存储介质 |
CN112100293A (zh) * | 2020-09-23 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 数据处理方法、数据访问方法、装置及计算机设备 |
-
2021
- 2021-04-20 CN CN202110424865.0A patent/CN113157629A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130014223A1 (en) * | 2011-07-06 | 2013-01-10 | Manish Bhatia | Social content monitoring platform appartuses and systems |
CN110928935A (zh) * | 2018-09-19 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 数据的访问命令处理方法、装置和系统 |
CN110061992A (zh) * | 2019-04-22 | 2019-07-26 | 杭州迪普科技股份有限公司 | 一种动态配置fpga的方法及网络安全设备 |
CN111190928A (zh) * | 2019-12-24 | 2020-05-22 | 平安普惠企业管理有限公司 | 缓存处理方法、装置、计算机设备以及存储介质 |
CN112100293A (zh) * | 2020-09-23 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 数据处理方法、数据访问方法、装置及计算机设备 |
Non-Patent Citations (1)
Title |
---|
YUCHEN REN, JINYU XIE, YUNHUI QIU, ETC: "A Low-Latency Multi-Version Key-Value Store Using B-tree on an FPGA-CPU Platform", 《IEEE》, pages 321 - 325 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986133A (zh) * | 2021-10-27 | 2022-01-28 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、数据存储系统及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110109953B (zh) | 一种数据查询方法、装置及设备 | |
CN110275983B (zh) | 交通监控数据的检索方法及装置 | |
US11514028B2 (en) | Hybrid data storage and load system with ROWID lookup | |
CN110909025A (zh) | 数据库的查询方法、查询装置及终端 | |
US10558702B2 (en) | Unified storage system for online image searching and offline image analytics | |
US10057368B1 (en) | Method and system for incremental cache lookup and insertion | |
CN111258978B (zh) | 一种数据存储的方法 | |
US20210357461A1 (en) | Method, apparatus and storage medium for searching blockchain data | |
US20140101132A1 (en) | Swapping expected and candidate affinities in a query plan cache | |
CN111737564B (zh) | 一种信息查询方法、装置、设备及介质 | |
US11308060B2 (en) | Method, apparatus, device and storage medium for managing index | |
CN112527843A (zh) | 数据查询方法、装置、终端设备和存储介质 | |
WO2019042165A1 (zh) | 搜索结果优化方法、装置、服务器及可读存储介质 | |
CN114817651B (zh) | 数据存储方法、数据查询方法、装置和设备 | |
US11729268B2 (en) | Computer-implemented method, system, and storage medium for prefetching in a distributed graph architecture | |
CN112613271A (zh) | 数据分页方法、装置、计算机设备及存储介质 | |
CN113157609A (zh) | 存储系统、数据处理方法、装置、电子设备及存储介质 | |
CN115964395A (zh) | 一种数据读取方法、装置及电子设备 | |
CN111625600B (zh) | 数据存储的处理方法、系统、计算机设备及存储介质 | |
CN113157629A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US20190327342A1 (en) | Methods and electronic devices for data transmission and reception | |
CN114139040A (zh) | 一种数据存储及查询方法、装置、设备及可读存储介质 | |
CN113157628A (zh) | 存储系统、数据处理方法、装置、存储系统及电子设备 | |
CN114064729A (zh) | 一种数据检索方法、装置、设备及存储介质 | |
CN107679093B (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 |