[发明专利]一种支持分布式数据库基于并行查询的方法无效
申请号: | 201010277129.9 | 申请日: | 2010-09-09 |
公开(公告)号: | CN101930472A | 公开(公告)日: | 2010-12-29 |
发明(设计)人: | 王春 | 申请(专利权)人: | 南京中兴特种软件有限责任公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 南京天华专利代理有限责任公司 32218 | 代理人: | 夏平;瞿网兰 |
地址: | 211100 江苏省南京市江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 分布式 数据库 基于 并行 查询 方法 | ||
技术领域
本发明涉及一种业务应用软件领域中的数据库查询方法,尤其是一种基于并行化处理手段实现对分布式数据库进行快速查询的方法,具体地说是一种分布式数据库的并行查询方法。
背景技术
目前,对于大型的业务应用系统,数据量大多在100T级别以上,对于如此大数据量的环境下,如何给终端用户提供快速查询将变得越来越重要。
传统的查询模式如图1所示。应用层进行一个复杂的查询需要经过多次到数据库的交互,如果DBMS(数据库服务器)存在多个,则应用程序另外需要遍历多个数据库服务器,最终才能把数据显示给用户。在不考虑数据库优化及SQL(结构化查询语言)优化的前提下,这种查询模式存在如下的缺点:
1. 由于是串行同步处理查询请求,对于复杂的或者命中数据量较大的查询,必然会导致整体查询延迟比较长,最终用户无法忍受。如果采用分批数据返回的形式,一方面,大大增加了编程的复杂性。另一方面,无法进行预读处理,影响翻页性能。
2.在串行查询的过程中,遇到某个DBMS负荷过大或者故障,容易导致查询时间较长,将影响最终的响应速度。
3. 用户需要进行多类别数据查询时,应用程序不得不增加嵌套查询,容易导致编程复杂并增加查询延迟。
4. 为了减少数据库节点,以避免交互过多,需要增加数据库服务器的硬件成本,无法使用更廉价的服务器;
目前随着数据库技术的发展,出现了基于并行技术的数据库,如greenplum,因此如何利用现有的基于并行技术的数据库加快数据的查询是提高查询效率的关键。
发明内容
本发明的目的是针对现有的查询方法难以适应大数据量查询速度要求的问题,发明一种能快速实现查询并及时返回查询结果的分布式数据库的并行查询方法。
本发明的技术方案是:
一种分布式数据库的并行查询方法,其特征是:
首先,设置查询代理模块(proxy),使查询代理模块直接接收外部模块的查询命令;
其次,设置多个与查询代理模块相关联的查询核心模块(qcs),数据查询核心模块(qcs)通过分解任务提供对数据多维的粒度查询,提高整体的响应速度,查询核心模块(qcs)通过多线程技术,多并发查询数据库(dbms),充分发挥商用数据库的高吞吐量、高并发的特点,同时对多线程进行协调控制,查询流程管理;
第三,采用分批数据返回的形式并采用预读机制,提高响应速度。
所述的采用分批数据返回是指业务层通过上下翻页的形式进行分批数据查询,类似google查询,通过预读取机制,快速给业务层返回数据。
所述的查询代理模块用于对外提供外部查询接口,对内把查询请求根据负荷分担的原则轮流分发到查询核心模块(qcs)处理并把查询结果返回给外部模块;对于查询有权限控制需求的应用,也可以在查询代理模块中做权限控制。
所述的查询核心模块(qcs)互相独立,用于对所有在线数据库进行查询,采用多查询核心模块(qcs)机制可以对上层请求进行负荷分担(此为第一级分发),以便提高系统的并发处理性能,另外也避免了单点故障问题;查询核心模块(qcs)采用多线程技术,对收到的查询请求根据用户的查询数据类别、时间段粒度、数据库节点数灵活进行分发查询(此为第二级分发);对查询的结果记录可以采用全内存保存(支持动态回收内存),也可以通过file mapping映射成文件,便于对查询结果数据进行二次检索和操作;查询核心模块(qcs)需要定时对查询代理模块(proxy)进行心跳,以便查询代理模块(proxy)实时了解当前在线的查询核心模块(qcs)。
本发明的有益效果:
1. 灵活支持业务应用多粒度多维度的查询请求,通过二次分发,充分发挥商用数据库高并发性、高吞吐量的特点。
2. 程序便于部署,通过多模块支持,可以满足业务高并发性的要求。
3. 优先返回查询最快的部分数据,提供快速查询响应支持。
4. 通过预读取机制,可以迅速完成上下翻页查询请求。
5. 模块单点故障不影响整体查询功能,具有高可靠性。
6. 支持分布式数据库,可满足大型应用系统的要求。
7. 完备的日志记录,可以迅速诊断查询问题及数据库告警。
8. 数据库端不要求很高的硬件配置,通过并行处理在中低端的服务器上也能得到较好的查询性能,降低成本;
9. 提供类似google的分批查询,可以给用户提供良好的操作体验。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京中兴特种软件有限责任公司,未经南京中兴特种软件有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010277129.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种存储卡批量数据处理的系统及方法
- 下一篇:一种综合的本体相似度检测方法