[发明专利]基于图形处理器的数据库表连接方法、装置、计算机设备和存储介质有效
申请号: | 202010041890.6 | 申请日: | 2020-01-15 |
公开(公告)号: | CN111221827B | 公开(公告)日: | 2023-05-26 |
发明(设计)人: | 李如豹;周明宏 | 申请(专利权)人: | 成都量子象云计算科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455 |
代理公司: | 北京华进京联知识产权代理有限公司 11606 | 代理人: | 任少瑞 |
地址: | 610000 四川省成都市高新区*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 图形 处理器 数据库 连接 方法 装置 计算机 设备 存储 介质 | ||
1.一种基于图形处理器的数据库表连接方法,其特征在于,所述方法包括:
获取第一数据库表和第二数据库表;其中,第一数据库表中包括I个键值,第二数据库表中包括K个键值,I、K均为正整数;
获取所述第一数据库表的第一目标哈希表,并获取第一目标哈希表对应的位置指针数组和第一目标哈希表的目标位置数组;其中,所述位置指针数组表征不同哈希值的首次出现位置,所述目标位置数组表征哈希值相同时对应键值在第一数据库表中的位置;
根据所述位置指针数组和所述目标位置数组,确定与第二数据库表进行连接的键值详情表;其中,所述键值详情表表征第二数据库表中每个键值在所述第一数据库表中出现的次数以及所述键值在所述第一数据库表中的首次位置;
根据所述第一数据库表、第二数据库表以及所述键值详情表,确定目标连接表;其中,所述目标连接表中包括第一数据库表与第二数据库表进行连接的各个连接键值,以及每个连接键值分别在第一数据库表与第二数据库表中的位置。
2.根据权利要求1所述的方法,其特征在于,所述获取所述第一数据库表的第一目标哈希表,并获取第一目标哈希表对应的位置指针数组和第一目标哈希表的目标位置数组,包括:
确定所述第一数据库表中每个键值的哈希值,并对得到的各个哈希值进行哈希桶处理,得到M个哈希桶;其中,M为小于I的正整数;
对所述M个哈希桶进行排序处理,得到由排序后的M个哈希桶构成的第一目标哈希表;
将第一目标哈希表中每个哈希桶的首个哈希值在所述第一目标哈希表中的位置序列,确定为所述位置指针数组;
根据所述第一目标哈希表对所述第一数据库表中的I个键值进行排序处理,得到第一目标数据库表;
当第一目标数据库表中第i个键值和第i+1个键值不同、第一目标哈希表中第i个哈希值和第i+1个哈希值相同时,将第i+1个键值在第一目标数据库表中的位置,确定为所述目标位置数组中第i-1个位置的元素;其中,i=1、2、……、I;
当第一目标数据库表中第i个键值和第i+1个键值相同、第i+1个键值和第i+2个键值不同、且第一目标哈希表中第i个哈希值至第i+2个哈希值相同时,将第i+2个键值在第一目标数据库表中的位置,分别作为所述目标位置数组中第i-1个位置和第i个位置的元素;
当第一目标数据库表中第i个键值和第i+1个键值不同且第一目标哈希表中第i个哈希值和第i+1个哈希值不同时,确定所述目标位置数组中第i-1个位置的元素为空;
令i的值分别取1至I,分别执行所述确定所述目标位置数组中第0个位置的元素至第I-1个位置的元素的步骤;直至得到所述目标位置数组中的I个元素。
3.根据权利要求2所述的方法,其特征在于,所述确定所述第一数据库表中每个键值的哈希值,包括:
获取图形处理器核心个数Q,并使用Q个图形处理器核心分别同步计算第一数据库表中I个键值的哈希值;其中,Q<I。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都量子象云计算科技有限公司,未经成都量子象云计算科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010041890.6/1.html,转载请声明来源钻瓜专利网。