[发明专利]分布式数据库视图的实现方法及系统在审
申请号: | 201210257704.8 | 申请日: | 2012-07-24 |
公开(公告)号: | CN103577424A | 公开(公告)日: | 2014-02-12 |
发明(设计)人: | 徐宜良;叶成旭 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L29/08 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 数据库 视图 实现 方法 系统 | ||
技术领域
本发明涉及通信技术领域,尤其涉及一种分布式数据库视图的实现方法及系统。
背景技术
随着传统的数据库技术日趋成熟,以及互联网应用的高速发展,数据库应用已普遍出现在互联网之上。而传统的集中式数据库系统同时也表现出其不足之处:采用集中式管理,势必造成性能瓶颈,单一的提高硬件性能已不能满足目前互联网的大数据量高并发查询写入的需求,同时会产生大量的硬件维护和升级费用。此外,数据库的集中管理往往造成多数据库关联,一旦某一台数据库崩溃,将造成整个系统崩溃。所以分布式数据库系统将逐步取代传统集中式数据库系统。
在分布式数据库系统中,多台服务器节点组成服务器集群,数据被分布在多台服务器节点上,利用各个节点下的本机专属中央处理器(CPU)和硬盘同步处理数据。每个服务器节点地位平等,包括:对结构化查询语言(SQL, STRUCTURED QUERY LANGUAGE)解析模块、执行模块、节点间通信模块、数据存储模块等。客户端通过某种一致性算法(比如:HASH算法)选择一台服务器节点接入分布式数据库系统。
在数据库系统中,视图是虚表,是原始数据库数据的一种变换,是查看数据库表中数据的另外一种方式。可以将视图看成是一个移动的窗口,通过它用户可以看到感兴趣的数据。视图是从一个或几个基本表(或视图)中导出的表,这些表的数据存放在数据库中。那些用于产生视图的表叫做该视图的基表。一个视图也可以从另一个视图中产生。视图的定义存在数据库中,与此定义相关的数据没有再存一份于数据库中。通过视图看到的数据存放在基表中。视图看上去非常象数据库的物理表,对它的操作同任何其它的表一样。当通过视图修改数据时,实际上是在改变基表中的数据;相反地,基表数据的改变也会自动反映在由基表产生的视图中。由于逻辑上的原因,有些视图可以修改对应的基表,而有些则不能(仅仅能查询)。
对于传统的集中式数据库系统,因为其集中式管理的特点,数据库中的表及其数据只能使用一台服务器节点的CPU、物理内存、磁盘介质等。在分布式数据库系统中,由于多服务器集群环境下,数据表被分布在多台服务器节点上,因此,基于传统的集中式数据库系统中视图的执行模式无法满足分布式数据系统的要求,即视图无法在分布式数据库系统的多服务器节点上执行,导致无法充分利用所有的服务器节点的CPU、物理内存、硬盘等资源,降低了服务器执行效率。
发明内容
本发明的主要目的在于提供一种分布式数据库视图的实现方法及系统,旨在节省服务器资源,提高系统执行效率。
为了达到上述目的,本发明提出一种分布式数据库视图的实现方法,包括:
主控服务器节点接收客户端发送的视图执行命令;
所述主控服务器节点根据从本地获取的视图的基表中数据分布的服务器节点信息,向至少一个非主控服务器节点发送所述视图执行命令;
所述至少一个非主控服务器节点根据所述视图执行命令与所述主控服务器节点并发执行视图计算,并将视图计算的处理结果返回至所述主控服务器节点;
所述主控服务器节点将所述处理结果返回至所述客户端。
优选地,所述主控服务器节点接收客户端发送的视图执行命令的步骤之前还包括:
所述主控服务器节点接收客户端发送的创建视图的创建命令;
根据所述创建命令解析视图的作词法和语法,并记录保存视图中的每一SELECT查询语句的内容。
优选地,所述主控服务器节点根据从本地获取的视图的基表中数据分布的服务器节点信息,向至少一个非主控服务器节点发送所述视图执行命令的步骤包括:
若视图语法只包含有一个SELECT查询语句,所述主控服务器节点则根据视图的基表中数据分布的服务器节点信息,将视图执行命令发送到对应的非主控服务器节点;
若视图语法包含多个SELECT查询语句,且各SELECT查询语句间的关系为UNION,所述主控服务器节点则根据全部的基表的数据分布的服务器节点信息,将视图执行命令发送到对应的非主控服务器节点;
若视图语法包含多个SELECT查询语句,且各SELECT查询语句间的关系为JOIN,选择其中一基表作为主表,剩余的基表作为从表,主控服务器节点则根据主表的数据分布的服务器节点信息,将视图执行命令发送到对应的非主控服务器节点。
优选地,所述至少一个非主控服务器节点与所述主控服务器节点并发执行视图计算,并将视图计算的处理结果返回至所述主控服务器节点的步骤包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210257704.8/2.html,转载请声明来源钻瓜专利网。