[发明专利]一种用于异构数据库之间数据复制的系统及方法有效
申请号: | 200910195022.7 | 申请日: | 2009-09-02 |
公开(公告)号: | CN102004743A | 公开(公告)日: | 2011-04-06 |
发明(设计)人: | 杨燕明;陈林;华锦芝;茅毓铭;庄晓;鲁志军 | 申请(专利权)人: | 中国银联股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 谭佐晞;李家麟 |
地址: | 200135 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 数据库 之间 数据 复制 系统 方法 | ||
【技术领域】
本发明涉及一种用于数据库数据复制的系统及方法,尤其涉及一种用于异构数据库之间数据复制的系统及方法,属于数据库技术领域。
【背景技术】
近年来,数据库技术实现了迅速发展,大型企业在选择商业数据库(例如Oracle、DB2、Sybase等)时,一般都会根据实际情况配置异构的数据库产品,以提高不同系统间的兼容性以及系统的容灾能力。在此所涉及的“异构的数据库”概念,是广泛包括计算机体系异构、操作系统异构以及数据库产品异构的情况,而数据库产品的异构又包括不同的数据库管理系统与不同版本的数据库管理系统的情形。
一旦采用了异构的数据库产品,就会面临需要在不同的数据库之间进行高效及时、安全稳定的数据复制这个棘手的问题。这里的数据库“复制”是包含两个层面的内容:一是数据的转移,例如应用对数据库A产生了一批新数据,则作为备份的数据库B(可能同构也可能异构)也需要及时地“增加”对应的数据;二是数据的同步,例如部分数据记录的修改(或删除),也应快速地在其他数据库(可能是做备份,可能是做参数分发等)上反映出来。
当前,学术界和业界解决异构数据库之间数据复制的几种主要方法是:(1)拷贝法。即通过数据库管理系统导出成特定格式的文件,再将数据导入到目标数据库中;(2)变化捕捉法。该方法是通过捕捉源数据库内数据的变化,再作用到目标数据库中。实现的具体方法比较多,如触发器法、日志法、广播法等等;(3)特定的产品。基本上大型数据库管理系统都提供一套复制组件,提供有限度的复制功能。
然而,现有技术中的上述复制技术均存在一定的缺陷。具体而言,拷贝法需要占用大量的存储开销,实时性也较差,对于异构数据库的支持更是要取决于数据库厂商;对于变化捕捉法,其实时性较好,但是会对源数据库产生较大的额外负担,无法满足大批量实时数据的转移或同步;而特定厂商的复制产品,则大部分只针对厂商自身的产品量身定做,因此对于异构数据库支持不够,也无法满足大批量实时数据的转移或同步需求。
【发明内容】
有鉴于此,本发明的目的在于提供一种用于异构数据库之间数据复制的系统及方法,以解决在现有技术的异构数据库之间数据复制中存在的效率低、通用性差和处理大批量数据的实时性不佳等问题。
为实现上述发明目的,本发明采用的技术方案如下:
一种用于异构数据库之间数据复制的系统,其包括:
初始化模块,其用于在计算机中创建并初始化数据共享内存、消息队列和信号量以用于存储数据;
源数据处理模块,其包括:数据读取器、数据适配器和数据装载器,所述数据读取器用于从至少一个源数据库中读取源数据,所述数据适配器用于将所述数据读取器读取的源数据转换成至少一个目标数据库的目标数据,所述数据装载器用于将转换后的所述目标数据装载入所述数据共享内存;
目标数据复制模块,其用于根据所述消息队列中的消息将所述数据共享内存中的所述目标数据复制到所述至少一个目标数据库中;以及
清理模块,其用于释放所存数据已被复制完毕的所述数据共享内存。
优选地,每一个所述数据共享内存对应于一个目标数据库中的一个目标表,所述数据共享内存的结构包括:共享内存体,其包括多个用于存储数据的共享内存段,每个所述共享内存段中的基本存储单位是数据元,所述数据元对应于所述目标数据库中的一个目标表的一条记录或该记录中部分字段的组合;以及,共享内存头,其用于存放所述共享内存体的管理信息,所述管理信息包括该共享内存体中所述共享内存段的数量、该共享内存段中所述数据元的数量、所述目标数据记录的长度以及每个所述共享内存段的运行状态;所述消息队列包括:任务消息队列与空闲内存通知消息队列,所述任务消息队列用于存放任务消息,所述空闲内存通知消息队列用于存放通知出现空闲共享内存段的消息。
优选地,所述数据适配器还包括用于筛选和/或重构数据记录的处理单元。
优选地,所述数据装载器包括:装载单元,其用于将数据装载入所述共享内存段;锁定单元,其用于通过所述信号量锁定所述共享内存头;修改单元,其用于修改存于所述共享内存头中的所述共享内存段的运行状态;以及,控制单元,其用于检索并获取与所需存放的数据相适配的空闲共享内存段,并通过调用所述装载单元、所述锁定单元与所述修改单元以将所需存放的数据完全存放于所述空闲共享内存段中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银联股份有限公司,未经中国银联股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910195022.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置