[发明专利]一种数据库中的数据查询方法及装置有效

专利信息
申请号: 201410109559.8 申请日: 2014-03-21
公开(公告)号: CN103984695B 公开(公告)日: 2017-06-20
发明(设计)人: 马庆利;陈志标 申请(专利权)人: 华为技术有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 深圳市深佳知识产权代理事务所(普通合伙)44285 代理人: 唐华明
地址: 518129 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 数据库 中的 数据 查询 方法 装置
【说明书】:

技术领域

发明涉及数据库技术领域,更具体的说是涉及一种数据库中的数据查询方法及装置。

背景技术

在分析型数据库中,为了加速数据处理,通常要使用多进程/多线程并发技术。尽管CPU的核数越来越多,但其增长速度已不能满足数据处理的需要。而通用图形处理器(Graphics Processing Units,简称GPU)提供了更高的并发处理能力和更大的内存带宽,适用于高度并发、运算密集、控制简单的计算应用。

现有技术中利用GPU进行执行数据查询指令的过程中,由于GPU的Global Memory(全局内存,也称为显存)大小受限,所以为每个短查询启动GPU线程后都需要将与该查询条件对应的分区数据导入到GPU的全局内存中,当查询条件有多个时,该重复复制过程就会有多次,因此查询过程非常繁琐,并且,将数据从内存复制到GPU全局内存的时延较长,因此,大大降低了利用GPU执行查询指令的效率。

发明内容

有鉴于此,本发明实施例提供了一种数据库中的数据查询方法及装置,目的在于利用GPU的高并发处理能力加速数据查询过程中的数据过滤,减少GPU与内存间大量的数据复制,提高数据查询效率。

为了实现上述目的,本发明实施例提供了以下技术方案:

本发明实施例的第一方面提供一种数据库中的数据查询方法,所述数据库运行于包含有中央处理器CPU和图形处理器GPU的计算机系统之上,所述方法包括:

接收查询指令,所述查询指令中包含有一个或多个查询条件;

确定预先存储于所述GPU的显存中的块索引集合中的各个块索引的状态,所述块索引集合包括至少一个块索引,且所述块索引集合为所述CPU根据所述数据库中原始数据生成并存储到所述GPU的显存中的;

当所述GPU的显存中的各个块索引均为非同步状态时,启动一个或多个GPU进程,依据所述查询条件,过滤所述GPU的显存中的块索引,得到第一块索引查询结果,并根据所述第一块索引查询结果确定最终数据查询结果;

其中,所述计算机系统的内存中存储有所述CPU根据所述数据库中的原始数据生成的块索引集合;所述方法还包括:

当所述GPU的显存中的块索引中包含有同步状态的块索引时,依据所述查询条件,过滤所述内存中保存的块索引集合中与所述GPU的显存中处于同步状态的块索引对应的块索引,得到第二块索引查询结果;

启动一个或多个GPU进程,依据所述查询条件,过滤所述GPU的显存中非同步状态的块索引,得到第三块索引查询结果;

依据所述第二块索引查询结果和所述第三块索引查询结果确定最终数据查询结果。

结合所述第一方面或所述第一方面的第一种可能实现方式,还提供了所述第一方面的第二种可能实现方式,在确定所述GPU的显存中的块索引集合中的各个块索引的状态之前,还包括:

将所述CPU根据所述数据库中的原始数据生成的块索引集合分成多个逻辑页;

将所述多个逻辑页复制并连续存储到所述GPU的显存中。

结合所述第一方面的第一种可能实现方式,还提供了所述第一方面的第三种可能实现方式,还包括:

当所述数据库中的原始数据更新后,更新存储在所述内存中的块索引集合;

生成与更新后的块索引集合对应的块索引更新位图,并在所述块索引更新位图中标记所述更新后的块索引。

结合所述第一方面的第三种可能实现方式,还提供了所述第一方面的第四种可能实现方式,还包括:根据所述标记后的块索引更新位图,确定存储在所述GPU的显存中的块索引集合中需要更新的块索引,并将所述需要更新的块索引进行更新。

结合所述第一方面,还提供了所述第一方面的第五种可能实现方式,所述启动一个或多个GPU进程,依据所述查询条件,过滤所述GPU的显存中的块索引,得到第一块索引查询结果,包括:

为每一查询条件分配一个或多个GPU进程;

启动各个查询条件所对应的一个或多个GPU进程对所述GPU的显存中的块索引进行过滤,以获得满足所述查询条件的第一块索引查询结果;

所述获得满足所述查询条件的第一块索引查询结果包括:

从所述GPU的显存中复制所述各个查询条件所对应的GPU进程的运行结果,所述运行结果包括:所述各个查询条件所对应的GPU进程对所述GPU的显存中的块索引进行过滤,获得与所述各个查询条件相对应的块索引过滤数组,并根据所述各个查询条件间的逻辑关系对所述块索引过滤数组进行逻辑运算之后得到的结果。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410109559.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top