[发明专利]一种数据库集群数据快速复制的方法有效
申请号: | 201210149221.6 | 申请日: | 2012-05-15 |
公开(公告)号: | CN102682117A | 公开(公告)日: | 2012-09-19 |
发明(设计)人: | 徐国强 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 集群 数据 快速 复制 方法 | ||
技术领域
本发明涉及计算机技术领域, 具体地说是一种数据库集群数据快速复制的方法。
背景技术
信息技术(IT,Information Technology)系统经过长时期运行,将多台服务器联合起来组成集群来实现综合性能优于单个大型服务器的技术,于是数据库集群技术产生了,这种技术不但能满足应用的需要,而且大幅度地节约了投资成本。但是由于数据集集群的规模是多台服务器组成的,于是数据库集群技术都面临着类似如下一些问题
(1)如何实现集群中多台数据库服务器之间的数据同步
数据库集群是采用多台数据库服务器联合起来组成集群对外提供服务,从外层看来好像是一台数据库服务器在提供服务。这种工作模式可以实现综合性能优于单台大型服务器。这就要求各台数据库服务器同时协调工作,并且要求各台数据库服务器之间的数据要能够快速同步;
(2)如何实现数据库集群中数据库服务器资源的动态增加
随着客户生产环境的扩大、数据量和业务的不断增加,数据库集群中也要动态的添加数据库服务器,以便于满足客户生产环境的需要。这就要求在不用重新部署集群的条件下如何实现数据库服务器资源的动态增加;
(3)如何实现在有限的数据库服务器下资源利用率的最大化
目前虽然存在着一些数据库集群的软件,例如oracle RAC,sybase Replication Server等,他们也可以解决不同的数据库服务器之间的数据同步问题,但是同时也存在诸多不足,主要表现在如下一些方面:
1)对于oracle RAC,它的工作原理是需要两台服务器共用一台存储,并且它是通过同步两台服务器上数据库的锁来实现数据的同步,这种方法需要消耗大量的系统资源,因为数据库的锁是需要占用很多的系统资源,所以无法实现对资源利用率的最大化。
2)对于sybase Replication Server,它是通过记录数据库日志的变化来同步数据,这样的每次只会对变化的数据实现同步。也就是说在一个时间点上只能有一台数据库服务器在工作,数据变化之后再同步给其他的服务器,它无法实现服务器的并行工作,所以以它搭建的数据库集群资源利用率也不高。而且对于用户的请求,它是采用先处理后同步的办法。
由于上述技术上的不足,使得IT人员难以解决其所面临的上述种种问题,导致出现不利于技术继续发展的瓶颈。
发明内容
本发明所要解决的技术问题是提供一种实现数据库集群快速复制的系统、装置及方法,能够确保异构下的客户业务数据平滑快速地迁移。
本发明的目的是按以下方式实现的,从数据复制的先同步后处理的原理入手,引入了数据库的原子性和不可分割性,并利用集群数据库管理装置将用户提交的不同请求分割成数据原子的SQL语句,并传输给集群中各个服务器执行这些SQL语句,最终把执行的结果反馈给互用,从而确保数据库集群中每台数据库服务器的数据的一致性,也确保了整个集群的工作效率;
集群管理装置先接受用户提交的SQL并放在编译队列中等待编译, SQL编译器把用户提交请求的SQL进行编译,并根据数据库的原子性和不可分割性,把不可分割的SQL绑定在一起,形成一个数据原子,这种数据原子的粒度小到是一条SQL语句,大到一个事务,然后由集群管理软件中的传输进程建立传输队列,将这些已经经过编译过的数据原子从编译队列中传输到传输队列中去,再将传输队列中的数据原子分配给集群中的每台服务器去执行,同时由监听进程监听集群中各台服务器中的数据变化,并把空闲的服务器最快执行后的结果反馈给用户,具体步骤如下:
1)接收用户提出的请求;
2)建立编译队列和传输队列,并建立编译进程、传输进程以及监听进程;
集群管理装置为各类用户数据和业务请求建立编译队列和传输队列,同时建立编译进程、传输进程以及监听进程;
3)判断编译队列是否有空闲空间,是则执行下列步骤,否则执行步骤9);
4)编译进程将用户请求放在编译队列中,并对用户请求进行编译和标记,形成不可再分的数据原子,并依次标记在编译队列中,并根据数据库的原子性和不可分割性,在专用SQL解译器中通过编译进程将编译队列中的不可分割的SQL语句标记绑定在一起,形成一个数据原子;
5)判断传输队列是否有空闲空间,是则执行下列步骤,否则执行步骤10),一旦传输队列空间满时,会触发解译进程停止解译,直到传输队列有空余空间时,再触发解译进程进行解译;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210149221.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:播种机机架仿形装置
- 下一篇:一种通用的驱动程序自动更新方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置