[发明专利]用于数据库集群的查询实现方法和装置有效
| 申请号: | 201310192620.5 | 申请日: | 2013-05-22 |
| 公开(公告)号: | CN103235835B | 公开(公告)日: | 2017-03-29 |
| 发明(设计)人: | 宋怀明;王勇;苗艳超;刘新春;邵宗有 | 申请(专利权)人: | 曙光信息产业(北京)有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京德恒律治知识产权代理有限公司11409 | 代理人: | 章社杲,孙征 |
| 地址: | 100193 北京*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 数据库 集群 查询 实现 方法 装置 | ||
技术领域
本发明涉及通信领域,具体来说,涉及一种用于数据库集群的查询实现方法和装置。
背景技术
在大规模数据集群中,一个表的数据通常按照某种策略分布在多个数据库节点上,因此查询处理必须在多个数据库节点上同时展开,并对各节点返回的结果进行汇总或合并计算,才能得到最终的查询结果,当系统中有多个并行查询任务在执行时,由于每个数据库节点对查询任务的调度是相互独立的,因此可能造成不同节点上对多个查询任务的调度顺序的不同,通常一个并行查询任务的完成,总是要依赖于所有参与查询处理的节点中最慢的一个。
图1是相关技术中数据库集群查询调度的实例。如图1所示,节点1、节点2、节点3表示服务器,A、B、C、D表示查询任务,在图1所示的查询任务调度方式中,每个任务独立调度,因此,在每个节点上,查询任务执行的顺序是不同的,假设每个任务在单个数据库节点上的子任务的执行时间是t,则在图1中,各节点独立调度时查询任务的完成时间是:TA=4t,TB=4t,TC=3t,TD=4t,平均等待时间是3.75t。
对于数据库集群,因为其存在一定的特殊性,所采用的查询方案仍旧是独立调度的方式,任务的完成受限于最慢的执行节点,导致查询的效率较低,等待时间较长。
发明内容
针对相关技术中独立调度方法导致查询任务的执行总是受限于最慢的执行节点,导致查询的等待时间较长的问题,本发明提出了一种用于数据库集群的查询实现方法和装置,其能够很好的解决多个数据库节点之间同步执行控制的问题,并且能够缩短并发查询的平均等待时间(最高能缩短50%)。
为实现上述目的,根据本发明的一个方面,提供了一种用于数据库集群的查询实现方法,包括以下步骤:
在接收到查询请求后,生成与查询请求对应的唯一性查询标识,并对查询请求进行分析,确定查询子任务;
对于每个查询子任务,将该查询子任务以及查询标识发送给能够执行该查询子任务的数据库节点;以及
接收数据库节点返回的查询结果。
其中,在接收到查询请求后,还生成与查询请求对应的参数标识,并将参数标识发送至数据库节点;
并且,接收到参数标识的每个数据库节点,根据接收到的参数标识与预先设置的参数窗口调度并执行查询子任务,得到查询结果。
此外,根据接收到的参数标识与预先设置的参数窗口调度并执行查询子任务包括:
数据库节点采用预定参数窗口宽度对接收到的所有查询子任务进行划分,得到多个参数窗口;
数据库节点根据参数标识和预定参数窗口宽度确定每个查询子任务对应的参数窗口;以及
数据库节点依次调度并执行每个参数窗口内的查询子任务。
其中,参数标识为时间标识,参数窗口为时间窗口,其中,生成与查询请求对应的参数标识包括:
根据接收到查询请求的时间生成时间标识。
此外,根据接收到的参数标识与预先设置的参数窗口调度并执行查询子任务包括:
在每个时间窗口内,根据查询标识的大小进行排序,并根据排序结果优先调用并执行最小的查询标识所对应的查询子任务。
相应地,本发明提供了一种用于数据库集群的查询实现装置,包括:
处理模块,用于在接收查询请求之后,生成与查询请求对应的唯一性查询标识,并且用于对查询请求进行分析,确定查询子任务;
发送模块,用于将查询子任务以及查询标识发送给能够执行该查询子任务的数据库节点;
接收模块,用于接收数据库节点返回的查询结果。
其中,处理模块还用于在接收到查询请求后生成与查询请求对应的参数标识;
并且,发送模块还用于将参数标识发送至数据库节点。
其中,参数标识为时间标识,参数窗口为时间窗口,处理模块用于根据接收到查询请求的时间生成时间标识;参数标识用于确定在数据库节点上每个查询子任务对应的参数窗口,以便数据库节点依次调度并执行每个参数窗口内的查询子任务。
此外,本发明提供了一种用于数据库集群的查询实现装置,还包括:
窗口确定模块,位于数据库节点侧,用于根据预定参数窗口宽度对数据库节点所接收到的所有查询子任务进行划分,得到多个参数窗口;并根据参数标识和预定参数窗口宽度确定每个查询子任务对应的参数窗口。
调度执行模块,位于数据库节点侧,用于根据接收到的参数标识与预先设置的参数窗口调度并执行查询子任务,得到查询结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曙光信息产业(北京)有限公司,未经曙光信息产业(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310192620.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种消除残影的方法及装置
- 下一篇:一种安全仓库报警软件





