[发明专利]一种数据库中的数据查询方法及装置有效
申请号: | 201410109559.8 | 申请日: | 2014-03-21 |
公开(公告)号: | CN103984695B | 公开(公告)日: | 2017-06-20 |
发明(设计)人: | 马庆利;陈志标 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙)44285 | 代理人: | 唐华明 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 中的 数据 查询 方法 装置 | ||
1.一种数据库中的数据查询方法,所述数据库运行于包含有中央处理器CPU和图形处理器GPU的计算机系统之上,其特征在于,所述方法包括:
接收查询指令,所述查询指令中包含有一个或多个查询条件;
确定预先存储于所述GPU的显存中的块索引集合中的各个块索引的状态,所述块索引集合包括至少一个块索引,且所述块索引集合为所述CPU根据所述数据库中原始数据生成并存储到所述GPU的显存中的;
当所述GPU的显存中的各个块索引均为非同步状态时,启动一个或多个GPU进程,依据所述查询条件,过滤所述GPU的显存中的块索引,得到第一块索引查询结果,并根据所述第一块索引查询结果确定最终数据查询结果;
其中,所述计算机系统的内存中存储有所述CPU根据所述数据库中的原始数据生成的块索引集合;所述方法还包括:
当所述GPU的显存中的块索引中包含有同步状态的块索引时,依据所述查询条件,过滤所述内存中保存的块索引集合中与所述GPU的显存中处于同步状态的块索引对应的块索引,得到第二块索引查询结果;
启动一个或多个GPU进程,依据所述查询条件,过滤所述GPU的显存中非同步状态的块索引,得到第三块索引查询结果;
依据所述第二块索引查询结果和所述第三块索引查询结果确定最终数据查询结果。
2.根据权利要求1所述的方法,其特征在于,在确定所述GPU的显存中的块索引集合中的各个块索引的状态之前,还包括:
将所述CPU根据所述数据库中的原始数据生成的块索引集合分成多个逻辑页;
将所述多个逻辑页复制并连续存储到所述GPU的显存中。
3.根据权利要求1所述的方法,其特征在于,还包括:
当所述数据库中的原始数据更新后,更新存储在所述内存中的块索引集合;
生成与更新后的块索引集合对应的块索引更新位图,并在所述块索引更新位图中标记所述更新后的块索引。
4.根据权利要求3所述的方法,其特征在于,还包括:根据所述标记后的块索引更新位图,确定存储在所述GPU的显存中的块索引集合中需要更新的块索引,并将所述需要更新的块索引进行更新。
5.根据权利要求1所述的方法,其特征在于,所述启动一个或多个GPU进程,依据所述查询条件,过滤所述GPU的显存中的块索引,得到第一块索引查询结果,包括:
为每一查询条件分配一个或多个GPU进程;
启动各个查询条件所对应的一个或多个GPU进程对所述GPU的显存中的块索引进行过滤,以获得满足所述查询条件的第一块索引查询结果;
所述获得满足所述查询条件的第一块索引查询结果包括:
从所述GPU的显存中复制所述各个查询条件所对应的GPU进程的运行结果,所述运行结果包括:所述各个查询条件所对应的GPU进程对所述GPU的显存中的块索引进行过滤,获得与所述各个查询条件相对应的块索引过滤数组,并根据所述各个查询条件间的逻辑关系对所述块索引过滤数组进行逻辑运算之后得到的结果。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一块索引查询结果确定最终数据查询结果包括:
将所述第一块索引查询结果与所述计算机系统的内存中的块索引集合进行逻辑运算,得到第一块索引最终查询结果;
利用所述第一块索引最终查询结果过滤所述数据库中的原始数据;
依据所述查询条件,从过滤后得到的原始数据中查询得到最终查询结果。
7.根据权利要求1所述的方法,其特征在于,所述启动一个或多个GPU进程,依据所述查询条件,过滤所述GPU的显存中非同步状态的块索引,得到第三块索引查询结果,包括:
为每一查询条件分配一个或多个GPU进程;
启动各个查询条件所对应的一个或多个GPU进程并行对所述GPU的显存中非同步状态的块索引进行过滤,以获得满足所述查询条件的第三块索引查询结果;
所述获得满足所述查询条件的第三块索引查询结果,包括:
从所述GPU的显存中复制所述各个查询条件所对应的GPU进程的运行结果,所述运行结果包括:所述各个查询条件所对应的GPU进程对所述GPU的显存中的非同步状态的块索引进行过滤,获得与各个查询条件相对应的块索引过滤数组,并根据所述各个查询条件间的逻辑关系对所述块索引过滤数组进行逻辑运算后得到的结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410109559.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:双轴高效圆振动筛
- 下一篇:具有可变化组合结构的简易型连接器
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置