[发明专利]集群数据库并行查询的通讯方法和通讯装置在审
| 申请号: | 201310353976.2 | 申请日: | 2013-08-14 |
| 公开(公告)号: | CN103399943A | 公开(公告)日: | 2013-11-20 |
| 发明(设计)人: | 宋怀明;王勇;苗艳超;刘新春;邵宗有 | 申请(专利权)人: | 曙光信息产业(北京)有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京德恒律治知识产权代理有限公司 11409 | 代理人: | 章社杲;孙征 |
| 地址: | 100193 北京*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 集群 数据库 并行 查询 通讯 方法 装置 | ||
技术领域
本发明涉及数据库查询领域,具体来说,涉及一种集群数据库并行查询的通讯方法和通讯装置。
背景技术
在数据库集群中,数据表通常按照某种数据划分策略分布在多个数据库节点上,因此查询处理通常涉及到多个数据库节点的并行执行和节点间的数据传输控制。在大规模系统中,单个部件(比如某个服务器的网络、节点或磁盘等)发生故障时不可避免的。如何保证在节点故障时,能保存各节点之间的通讯状态是数据库集群中面临的一个巨大的挑战。
在高性能计算领域,通常采用消息传递进行通讯,并通过保存检查点的方式,定期将所有并行进程的状态进行保存,来提供系统的可靠性。而在数据库集群系统中,一个查询处理过程中涉及的数据量巨大,这种定期把保存所有进程执行状态的方式,会引入大量的磁盘读写,因此会导致开销巨大,将严重降低查询处理的性能。为此,人们利用了内存数据结构和数据库临时表这两种方式对查询结果进行保存和传输,但是,在实际应用时,这两种方式虽然解决了数据库集群系统中的各节点之间的通讯问题,但也存在诸多不足,例如:
1)采用内存数据结构进行数据通讯,内存分配管理相对比较复杂,在对其进行查询处理时,需要查询设计人员实现各种查询算法,无法充分利用数据库本身的查询执行器。此外,当某个并行进程发生故障时,难以进行数据恢复,可靠性相对较低。
2)采用数据库临时表的方式进行数据通讯,可以有效的利用数据库的查询处理功能,无需单独实现查询算法。这种方式需要将每一个阶段的查询结果写入到目标数据库的数据表中。但是数据库临时表的数据写入受到数据库ACID特性(原子性、一致性、完整性和永久性)的约束限制,数据的入库性能比较低下,这也限制了整个查询处理的性能,特别是在查询处理中涉及到数据量较大的时候。
针对相关技术中采用内存和数据库临时表进行数据通讯时,可靠性和入库性能较差的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中采用内存和数据库临时表进行数据通讯时,可靠性和入库性能较差的问题,本发明提出一种集群数据库并行查询的通讯方法和通讯装置,能够很好的解决查询结果在保存和传输时的可靠性和入库性能较差的问题。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种集群数据库并行查询的通讯方法。
该通讯方法包括:
对来自查询节点的查询结果进行划分,得到划分块;
对每个划分块以独立数据文件的形式传输至目标节点;
在所有数据文件均传输至目标节点的情况下,对目标节点上的数据文件进行数据合并。
其中,在目标节点是查询节点的下一级查询节点,且目标节点需要对来自查询节点的查询结果进行进一步查询并排序时,可在对来自查询节点的查询结果进行划分时,采用范围划分的方式进行划分。
此外,在目标节点是查询节点的下一级查询节点,且目标节点需要对来自查询节点的查询结果进行关联查询或者分组统计时,可在对来自查询节点的查询结果进行划分时,采用哈希划分的方式进行划分。
其中,划分块的数量与查询节点的下一级查询节点的数量相符。
其中,在对来自查询节点的查询结果进行划分之后,可根据预先配置的标识信息对每个划分块进行标识,并对标识后的划分块以数据文件的形式进行保存,其中,标识信息包括以下至少之一:查询任务编号、与查询任务编号对应的查询节点的编号、与查询任务编号对应的目标节点的编号。
其中,在对每个划分块以独立数据文件的形式传输至目标节点时,可根据每个数据文件的标识信息,确定与该数据文件对应的查询任务、查询节点和目标节点;并根据确定的查询任务、查询节点和目标节点,将该数据文件拷贝到目标节点上,并且在拷贝成功的情况下,将该数据文件从查询节点删除,在拷贝失败的情况下,记录操作日志。
此外,在对目标节点上的数据文件进行数据合并时,可对数据文件进行分析,确定数据文件的存储路径和数据文件包含的数据信息;并根据确定的数据文件的存储路径和数据文件包含的数据信息,生成数据库外部表。
根据本发明的另一方面,提供了一种集群数据库并行查询的通讯装置。
该通讯装置包括:
划分模块,用于对来自查询的节点的查询结果进行划分,得到划分块;
传输模块,用于对每个划分块以独立数据文件的形式传输至目标节点;
合并模块,用于在所有数据文件均传输至目标节点的情况下,对目标节点上的数据文件进行合并。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曙光信息产业(北京)有限公司,未经曙光信息产业(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310353976.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:半导体装置
- 下一篇:一种用于存放薄晶圆片的周转存储盒





