数据查询制造技术

技术编号:39517028 阅读:10 留言:0更新日期:2023-11-25 18:54
本公开提供一种数据查询

【技术实现步骤摘要】
数据查询、数据存储方法、装置、设备及存储介质


[0001]本公开涉及数据处理
,尤其涉及数据查询

数据存储方法

装置

设备及存储介质


技术介绍

[0002]如隐私计算等多种场景下均会有信息查询需求

以隐私计算场景为例,多个
(
两个或以上
)
数据方进行求交运算后,各数据方会分别存储交集,之后根据需要从交集中查询所需数据

相关技术中采用基于内存的
key

value(
键值对
)
存储方案,例如
Redis(
一种开源的

基于内存的数据结构存储系统
)
等内存数据库,可以通过
key
快速查询到
value
,但基于内存的存储方案的成本较高

若为了降低成本,可以将数据集以文件方案进行管理,采用磁盘等持久化存储器进行存储,但通常未采用此种方案,因为文件管理难以使用到文件内部的信息,无法支持查询需求


技术实现思路

[0003]为克服相关技术中存在的问题,本公开提供了数据查询

数据存储方法

装置

设备及存储介质

[0004]根据本说明书实施例的第一方面,提供一种数据查询方法,待查询的缓存数据基于索引文件进行查询;所述索引文件用于存储所述缓存数据的索引信息;所述缓存数据的
value
存储于内容文件;其中,所述索引信息包含所述缓存数据的
key

hash
值和所述缓存数据的
value
在所述内容文件中的存储位置信息;所述方法包括:
[0005]响应于接收到的查询请求,获取所述查询请求中包含的待查询的目标缓存数据的目标
key

[0006]计算所述目标
key
的目标
hash
值,并查询所述索引文件中是否存储了包含所述目标
hash
值的目标索引信息;
[0007]若是,读取所述目标索引信息中包含的存储位置信息,并基于所述存储位置信息从所述内容文件中读取所述目标缓存数据的
value。
[0008]根据本说明书实施例的第二方面,提供一种数据存储方法,待查询的缓存数据基于索引文件进行查询;所述索引文件用于存储所述缓存数据的索引信息;所述缓存数据的
value
存储于内容文件;其中,所述索引信息包含所述缓存数据的
key

hash
值和所述缓存数据的
value
在所述内容文件中的存储位置信息;所述方法包括:
[0009]获取缓存数据,所述缓存数据包括
key

value

[0010]计算所述缓存数据的
key

hash
值;
[0011]将所述缓存数据的
value
存储至所述内容文件中,得到所述缓存数据的
value
在所述内容文件中的存储位置信息;
[0012]将所述
key

hash
值和所述存储位置信息作为所述缓存数据的索引信息存储至所述索引文件

[0013]根据本说明书实施例的第三方面,提供一种数据查询装置,待查询的缓存数据基于索引文件进行查询;所述索引文件用于存储所述缓存数据的索引信息;所述缓存数据的
value
存储于内容文件;其中,所述索引信息包含所述缓存数据的
key

hash
值和所述缓存数据的
value
在所述内容文件中的存储位置信息;所述装置包括:
[0014]获取模块:响应于接收到的查询请求,获取所述查询请求中包含的待查询的目标缓存数据的目标
key

[0015]查询模块:计算所述目标
key
的目标
hash
值,并查询所述索引文件中是否存储了包含所述目标
hash
值的目标索引信息;
[0016]读取模块:若是,读取所述目标索引信息中包含的存储位置信息,并基于所述存储位置信息从所述内容文件中读取所述目标缓存数据的
value。
[0017]根据本说明书实施例的第四方面,提供一种计算机设备,包括存储器

处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现前述第一方面或第二方面所述方法实施例的步骤

[0018]根据本说明书实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述第一方面或第二方面所述方法实施例的步骤

[0019]本说明书的实施例提供的技术方案可以包括以下有益效果:
[0020]本说明书实施例中,一方面,可以采用文件管理方案实现低成本存储;另一方面,可以基于缓存数据的
key

hash
在索引文件中查询相关的索引信息,并基于查询的索引信息中的存储位置信息,从内容文件中读取缓存数据的
value
,从而可以实现针对
key

value
型的缓存数据的
value
的精确查询

[0021]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开

附图说明
[0022]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本公开的原理

[0023]图
1A
是本说明书根据一示例性实施例示出的一种数据查询的示意图

[0024]图
1B
是本说明书根据一示例性实施例示出的一种数据查询方法的流程图

[0025]图
1C
是本说明书根据一示例性实施例示出的一种索引文件和内容文件的示意图

[0026]图
1D
是本说明书根据一示例性实施例示出的另一种索引文件和内容文件的示意图

[0027]图
1E
是本说明书根据一示例性实施例示出的从内容文件中获取值信息的示意图

[0028]图2是本说明书根据一示例性实施例示出的一种数据存储方法的流程图

[0029]图3是本说明书根据一示例性实施例示出的一种数据查询装置所在计算机设备的一种硬件结构图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据查询方法,待查询的缓存数据基于索引文件进行查询;所述索引文件用于存储所述缓存数据的索引信息;所述缓存数据的
value
存储于内容文件;其中,所述索引信息包含所述缓存数据的
key

hash
值和所述缓存数据的
value
在所述内容文件中的存储位置信息;所述方法包括:响应于接收到的查询请求,获取所述查询请求中包含的待查询的目标缓存数据的目标
key
;计算所述目标
key
的目标
hash
值,并查询所述索引文件中是否存储了包含所述目标
hash
值的目标索引信息;若是,读取所述目标索引信息中包含的存储位置信息,并基于所述存储位置信息从所述内容文件中读取所述目标缓存数据的
value。2.
根据权利要求1所述的方法,所述索引文件以分页存储的方式存储索引信息;所述索引文件的索引信息,通过如下方式存储至所述索引文件:根据预设的映射关系确定与所述缓存数据的
key

hash
值对应的分页号,并将包括所述缓存数据的索引信息存储至与所述分页号对应的分页中;所述查询所述缓存索引中是否存储了包含所述目标
hash
值的目标索引信息,包括:根据所述预设的映射关系,确定与所述目标
hash
值对应的目标分页号;访问所述索引文件中与所述目标分页号对应的目标分页,查询所述目标分页中是否存储了包含所述目标
hash
值的索引信息
。3.
根据权利要求2所述的方法,所述预设的映射关系,包括:余数与分页号的映射关系,所述余数是指哈希值除以所述索引文件的分页总数的余数
。4.
根据权利要求2所述的方法,所述索引文件和所述内容文件,存储在存储设备搭载的磁盘中;所述分页的大小,是磁盘的磁盘块大小的整数倍
。5.
根据权利要求1所述的方法,所述索引文件的索引信息还包括所述缓存数据的
value
的长度;所述读取所述索引信息中包含的存储位置信息,并基于所述存储位置信息从所述内容文件中读取所述目标缓存数据的
value
,包括:读取所述索引信息中包含的存储位置信息和所述长度信息,并从所述内容文件中与所述存储位置信息对应的存储位置上,读取与所述长度对应的存储内容,以得到所述目标缓存数据的
value。6.
根据权利要求1所述的方法,所述待查询的缓存数据还基于与所述内容文件中存储的缓存数据的
value
对应的
meta
参数进行查询;其中,所述内容文件中还存储了位于缓存数据的
value
之前的长度字段;所述长度字段用于记录所述缓存数据的
value
的长度;所述
meta
参数包括与所述长度字段对应的长度参数,所述长度参数用于描述所述长度字段的长度;所述基于所述存储位置信息从所述内容文件中读取所述目标缓存数据的
value
,包括:从所述内容文件中与所述存储位置信息对应的存储位置上,根据所述长度参数描述的长度读取出长度字段,并解析出所述长度字段中记录的
value
的长度;在读取出所述长度字段的存储位置之后,根据解析...

【专利技术属性】
技术研发人员:张津铭王华忠殷山
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1