[发明专利]一种用于分布式数据库的连接查询方法及系统有效
申请号: | 201210126349.0 | 申请日: | 2012-04-26 |
公开(公告)号: | CN103377236B | 公开(公告)日: | 2018-02-16 |
发明(设计)人: | 胡习林;李世亮;常二鹏 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京安信方达知识产权代理有限公司11262 | 代理人: | 龙洪 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 分布式 数据库 连接 查询 方法 系统 | ||
技术领域
本发明涉及数据库信息管理系统,具体而言,涉及一种用于分布式数据库的连接查询方法及系统。
背景技术
分布式数据库,其在逻辑上是一个统一的整体,而在物理上则是分别存储在不同的物理节点上的多个数据库。一个应用程序通过网络的连接,可以访问分布在不同地理位置的数据库。它的分布性特点表现在:逻辑数据库中的数据不是存储在同一场地的,更确切地讲,不是存储在同一计算机的存储设备上。这就是其与集中式数据库的主要区别。从用户的角度看,一个分布式数据库系统,其在逻辑上和集中式数据库系统一样,用户可以在任何一个场地执行全局应用。
由于分布式数据库具有数据独立性和位置透明性等特点,其中所述透明性意味着在特定位置的应用成俗能够访问所有相连的数据库中的数据,而不用知道数据的来源以及本地数据库与多个相连的远程数据库中的任何一个是否兼容,传统集中式数据库的关联查询方法已经不再适用。
分布式数据库在物理上是分别由不同的物理节点管理的,CPU资源相对来说较传统集中式数据库丰富,从而一定程度上可以合理利用CPU资源,将关联计算分发到各物理节点执行,效率将会远远高于主控节点独自计算;
然而,由于分布式数据库中的数据是存储在不同场地,各物理节点在进行关联计算的时候,为了保证计算结果的准确性,需要涉及各场地间的数据传输,因此在实际应用过程中需要考虑系统通信代价。
鉴于此,本发明提供了一种优化技术。
发明内容
有鉴于此,针对现有技术中各物理节点在进行关联计算之时,由于涉及多个物理节点之间的数据传输而导致的系统通信代价较大的问题,本发明的目的在于提供一种用于分布式数据库的连接查询方法及系统,本发明采用以下技术方案实现:
一种用于分布式数据库的连接查询方法,包括:
在主控节点获取连接计算命令时,其依据该连接计算命令生成多个连接计算子命令并分发到多个相应的非主控节点;
非主控节点依据连接计算子命令进行表的连接计算,之后生成以连接字段为识别键KEY创建索引的具有B树结构的临时文件并将其发送给主控节点;
主控节点汇总所有结果,并发送给客户端。
优选地,在主控节点获取连接计算命令时,选择记录数多的表作为基表,并依据非基表的分布信息向相应的非主控节点发送生成临时文件的请求消息;主控节点进一步地依据基表的分布信息向相应的非主控节点发送依据所述连接计算命令而生成的连接计算子命令;
非主控节点依据所述生成临时文件的请求以及连接计算子命令进行表的连接计算,之后生成以连接字段为识别键KEY创建索引的具有B树结构的临时文件并将其发送给主控节点;
主控节点汇总所有结果,并发送给客户端。
优选地,当所述连接计算命令为内连接计算命令时,所述方法具体包括:
主控节点选择记录数少的表作为外层循环,并选择记录数多的表作为基表;
主控节点依据非基表的分布信息,向相应的非主控节点发送生成临时文件的请求消息;
主控节点依据基表的分布信息,向相应的非主控节点发送内连接计算子命令;同时执行本主控节点的内连接计算并生成以连接字段为识别键KEY创建索引的具有B树结构的临时文件;
非主控节点依据内连接计算子命令进行表的内连接计算,之后生成以连接字段为识别键KEY创建索引的具有B树结构的临时文件并将其发送给主控节点;
主控节点汇总从非主控节点获取的临时文件以及本地的临时文件,并将汇总结果发送给客户端。
优选地,非主控节点依据内连接计算子命令进行表的连接计算并生成以连接字段为识别键KEY创建索引的具有B树结构的临时文件的步骤包括:
非主控节点选择记录数少的表作为外层循环;
非主控节点选择记录数多的表作为基表;
非主控节点依据内连接计算子命令进行表的内连接计算并生成以连接字段为识别键KEY创建索引的具有B树结构的临时文件。
优选地,主控节点汇总从非主控节点获取的临时文件以及本地的临时文件并将汇总结果发送给客户端之后,还包括:
主控节点根据非基表的分布信息,向相应非主控节点发送删除临时文件请求消息;
非主控节点响应所述请求并删除存储于本地的临时文件。
优选地,当所述连接计算命令为左外连接、右外连接或全连接计算命令时,所述方法具体包括:
主控节点选择记录数多的表作为基表;
主控节点依据非基表的分布信息,向相应的非主控节点发送生成临时文件的请求消息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210126349.0/2.html,转载请声明来源钻瓜专利网。