[发明专利]数据存储方法和装置、数据查询方法和装置、数据结构、电子设备及计算机可读存储介质在审
申请号: | 202011497903.7 | 申请日: | 2020-12-17 |
公开(公告)号: | CN113420191A | 公开(公告)日: | 2021-09-21 |
发明(设计)人: | 李豪;曹政;赵巍;董建波;刘小丽;易慧民;宋钺;金铃铃 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903;G06F16/901;G06F12/08;G06F3/06 |
代理公司: | 北京市惠诚律师事务所 11353 | 代理人: | 刘子敬 |
地址: | 开曼群岛英属开曼群岛*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 存储 方法 装置 查询 数据结构 电子设备 计算机 可读 介质 | ||
本申请公开了一种数据存储方法和装置、数据查询方法和装置、数据结构、电子设备及计算机可读存储介质。该方法包括:获取待存储的数据对;根据关键字确定所述数据对的分桶值;在冲突链表中,查找所述分桶值所指向的分组;将关键字写入第一存储位置中的最小空白地址,将取值写入第二存储位置的最小空白地址,并将两个所述最小空白地址设置相同的标识。本申请实施例可以在表头仅存储指向对应的冲突链表的分桶值,而无需存储键值对,因此大大节省了表头占用的存储空间,并且由于在对应的冲突链表中按分组分别连续地存储键和值,而无需按对存储键值对,从而减少了为了对齐的填充空白,降低了内存的浪费,提高了有效内存使用率。
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据存储方法和装置、数据查询方法和装置、数据结构、电子设备及计算机可读存储介质。
背景技术
随着人工智能应用的发展,作为人工智能的硬件基础,GPU(图形处理单元)得到了广泛的使用,尤其是近年来多用于深度学习(CTR,Click-Through Rate)模型,该模型具有模型较大、计算密集的特点,因此训练过程中常常需要频繁地查询GPU上的嵌入数据。但是这样的嵌入数据通常采用GPU哈希表方式来组织,因此在访问时由于在内存使用量和内存对齐方面受到限制而使得严重影响了GPU在应用中的性能表现。
因此,需要一种能够提高哈希表的内存利用率的方案。
发明内容
本申请实施例提供一种数据存储方法和装置、数据查询方法和装置、数据结构、电子设备及计算机可读存储介质,以解决现有技术中哈希表的内存利用率较低以及内存资源浪费的缺陷。
为达到上述目的,本申请实施例提供了一种数据存储方法,包括:
获取待存储的数据对,其中,所述数据对包括关键字和取值;
根据所述关键字确定所述数据对的分桶值,其中,所述分桶值为所述关键字的哈希值对分桶数取余的值;
在冲突链表中,查找所述分桶值所指向的分组,其中,所述分组包括位置相邻且分别具有固定长度的第一存储位置和第二存储位置;
将所述关键字写入所述第一存储位置中的最小空白地址,将所述取值写入所述第二存储位置的最小空白地址,并将两个所述最小空白地址设置相同的标识,其中,所述最小空白地址为所述第一存储位置或所述第二存储位置中未存储数据的最小地址。
本申请实施例还提供了一种数据查询方法,包括:
获取待查询的关键字;
根据所述关键字确定分桶值,其中,所述分桶值为所述关键字的哈希值对分桶数取余的值;
在冲突链表中,遍历所述分桶值所指向的分组或者所述分组所指向的其他分组,查找所述关键字所存储的第一存储位置,其中,所述分组包括位置相邻且分别具有固定长度的第一存储位置和第二存储位置;
根据所述第一存储位置的标识,在同一分组的第二存储位置中具有相同标识的地址读取所述关键字对应的取值。
本申请实施例还提供了一种数据存储装置,包括:
获取模块,用于获取待存储的数据对,其中,所述数据对包括关键字和取值;
确定模块,用于根据所述关键字确定所述数据对的分桶值,其中,所述分桶值为所述关键字的哈希值对分桶数取余的值;
查找模块,用于在冲突链表中,查找所述分桶值所指向的分组,其中,所述分组包括位置相邻且分别具有固定长度的第一存储位置和第二存储位置;
写入模块,用于将所述关键字写入所述第一存储位置中的最小空白地址,将所述取值写入所述第二存储位置的最小空白地址,并将两个所述最小空白地址设置相同的标识,其中,所述最小空白地址为所述第一存储位置或所述第二存储位置中未存储数据的最小地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011497903.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置