[发明专利]一种分布式数据库查询方法及装置有效
申请号: | 201410283343.3 | 申请日: | 2014-06-23 |
公开(公告)号: | CN104036007B | 公开(公告)日: | 2017-12-12 |
发明(设计)人: | 秦波;马丽伟;赵晓平;王锋;唐超 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京品源专利代理有限公司11332 | 代理人: | 胡彬,路凯 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 数据库 查询 方法 装置 | ||
技术领域
本发明实施例涉及数据库查询技术领域,尤其涉及一种分布式数据库查询方法及装置。
背景技术
在分布式数据库的中间件系统中,DML(Data Manipulation Language,数据操纵语言命令)语句可能为包括子查询语句的嵌套查询语句。在分布式数据库中执行子查询可能需要涉及到多个数据分片。具体的,在分布式数据库中执行子查询时,需要首先解析出子查询的具体内容,然后根据路由把子查询发往到各个数据分片并收集子查询在各个数据分片的查询结果,才能在上一级查询中进行后续的查询。
在分布式数据库中,只有子查询所涉及的表、路由和分配方式分别与父查询所涉及的表、路由和分片方式均一致时,才能够不受限制的支持嵌套查询。然而,实现子查询所涉及的表、路由和分配方式分别与父查询所涉及的表、路由和分片方式一致,对SQL(Structured Query Language,结构化查询语言)语句的要求特别高,可操作性不强。目前尚且缺乏在分布式数据库的中间件系统中能够完整的执行嵌套查询方法,数据查询结果的准确性较低。
发明内容
本发明实施例的目的是提出一种分布式数据库查询方法及装置,以使得在分布式数据库的中间件系统中能够完整的执行嵌套查询,以提高数据查询结果的准确性。
一方面,本发明实施例中提供了一种分布式数据库查询方法,包括:
A、从分布式数据库的初始查询语句中解析获得不包括子查询语句的查询语句,作为待查询语句;
B、在所述分布式数据库中执行所述待查询语句,并汇总所述待查询语句的数据查询结果;
C、在所述初始查询语句中采用所述待查询语句的数据查询结果替换所述待查询语句,以重新形成初始查询语句;
D、判断重新形成的初始查询语句是否包括子查询语句,若包括,则重复步骤A-步骤C;否则,在所述分布式数据库中执行重新形成的初始查询语句,并汇总所述重新形成的初始查询语句的数据查询结果。
另一方面,本发明实施例中提供了一种分布式数据库查询装置,包括:
语句获取单元,用于从分布式数据库的初始查询语句中解析获得不包括子查询语句的查询语句,作为待查询语句;
查询执行单元,在所述分布式数据库中执行所述待查询语句,并汇总所述待查询语句的数据查询结果;
语句拼装单元,在所述初始查询语句中采用所述待查询语句的数据查询结果替换所述待查询语句,以重新形成初始查询语句;
执行及结果汇总单元,则再次触发所述语句获取单元、所述查询执行单元和所述语句拼装单元执行相应操作,以重新形成待查询语句;否则,在所述分布式数据库中执行重新形成的初始查询语句,并汇总所述重新形成的初始查询语句的数据查询结果。
本发明实施例中提供的分布式数据库查询方法及装置,能够在分布式数据库的中间件系统中完整的执行嵌套查询。本发明实施例中,从SQL初始查询语句中解析出子查询语句和初始查询语句的解析关系,采用子查询语句的结果能够将初始查询语句重新拼装形成新的迭代后的SQL查询,从而使整个装置能够处理复杂的包括子查询语句的嵌套查询语句。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本发明实施例的一部分,并不构成对本发明实施例的限定。在附图中:
图1是本发明一实施例中提供的分布式数据库查询方法的实现流程图;
图2是解析获得初始待查询语句的实现流程图;
图3是本发明一实施例中提供的分布式数据库查询的方法的实现流程图;
图4是执行不包括子查询的待查询语句的实现流程图;
图5是本发明一实施例中提供的分布式数据库查询装置的结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明实施例进行更加详细与完整的说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部内容。
图1是本发明一实施例中提供的分布式数据库查询方法的实现流程图,该实现流程包括:
步骤11、从分布式数据库的初始查询语句中解析获得不包括子查询语句的查询语句,作为待查询语句。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410283343.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种免疫诱导生物技术制备广谱抗菌素的方法
- 下一篇:一种一次性真空采血管