[发明专利]双副本并行数据库的查询方法和装置有效
申请号: | 201510908947.7 | 申请日: | 2015-12-10 |
公开(公告)号: | CN105550274B | 公开(公告)日: | 2019-01-25 |
发明(设计)人: | 狄静舒 | 申请(专利权)人: | 曙光信息产业(北京)有限公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903 |
代理公司: | 北京新知远方知识产权代理事务所(普通合伙) 11397 | 代理人: | 郭玉梅 |
地址: | 100193 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 副本 并行 数据库 查询 方法 装置 | ||
1.一种双副本并行数据库的查询方法,其特征在于,包括:
获取查询请求及数据的存储单元信息;
根据所述查询请求及数据的存储单元信息形成多个执行计划,其中,执行计划包括执行操作和与所述执行操作相关的执行节点;
根据各执行计划中执行节点的资源利用率、执行节点的预估数据传输量计算各执行计划的资源占用率;
根据所述资源占用率从所述执行计划中选择一个执行计划;
根据选择的执行计划查询数据;
所述获取查询请求及数据的存储单元信息之前,还包括:
根据数据的数据量及查询类型选择所述数据的存储单元;
将数据存储于所述存储单元内的并行数据库中;
将数据的存储单元信息存储于元数据库中。
2.根据权利要求1所述的方法,其特征在于,获取数据的存储单元信息,包括:
从所述元数据库中获取数据的存储单元信息;
所述根据所述查询请求及数据的存储单元信息形成多个执行计划,包括:
根据所述数据的存储单元信息和所述查询请求的类型将所述查询请求拆分成多个执行操作,确定各执行操作对应的执行节点;
根据执行操作及执行节点形成多个执行计划。
3.根据权利要求2所述的方法,其特征在于,每个执行计划包含多个查询子任务;
所述根据各执行计划中执行节点的资源利用率、执行节点的预估数据传输量计算各执行计划的资源占用率,包括:
对于任一执行计划,所述任一执行计划的资源占用率通过如下公式确定:
其中,m为所述任一执行计划中执行节点总数,k1为执行节点资源系数,k2为数据库资源系数,k3为数据传输系数;
所述k1,k2,k3根据所述双副本并行数据库的查询性能瓶颈确定;
所述执行节点资源利用率=中央处理器cpu利用率+内存memory利用率+磁盘disk利用率+网络network利用率+所述执行节点对应的查询任务数/所述执行节点正在执行的所有查询任务总数;
所述数据库资源利用率=进程process利用率+会话session利用率;
所述数据传输量=执行操作的预估数据传输量*所述执行计划包含的查询子任务总数n。
4.根据权利要求1所述的方法,其特征在于,所述根据所述资源占用率从所述执行计划中选择一个执行计划,包括:
从所述执行计划中选择一个资源占用率最小的执行计划。
5.根据权利要求3所述的方法,其特征在于,所述根据选择的执行计划查询数据之后,还包括:
存储查询结果;
所述查询结果包括查询中间结果和查询最终结果。
6.根据权利要求5所述的方法,其特征在于,所述方法,还包括:
所述存储单元内的并行数据库中数据更新后,将数据更新信息存储于所述元数据库中。
7.根据权利要求6所述的方法,其特征在于,所述获取查询请求及数据的存储单元信息之后,在执行根据所述数据的存储单元信息形成多个执行计划之前,还包括:
根据所述元数据库中存储的数据更新信息确定所述查询请求对应的数据是否有更新;
若有更新,则触发执行根据所述数据的存储单元信息形成多个执行计划的步骤;
若无更新,则在所述元数据库中确定是否有与所述查询请求对应的查询结果;
若有对应的查询结果,则获取对应的查询结果,结束流程;
若未有对应的查询结果,则触发执行根据所述数据的存储单元信息形成多个执行计划的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曙光信息产业(北京)有限公司,未经曙光信息产业(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510908947.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于视觉的列表页识别方法
- 下一篇:一种基于键值对的内存数据库查询方法及装置