[发明专利]基于数据包的远程数据增量同步方法有效
申请号: | 201210568861.0 | 申请日: | 2012-12-25 |
公开(公告)号: | CN103067483B | 公开(公告)日: | 2017-04-05 |
发明(设计)人: | 戴浩 | 申请(专利权)人: | 广东邮电职业技术学院 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F17/30 |
代理公司: | 广州市南锋专利事务所有限公司44228 | 代理人: | 张志醒 |
地址: | 510000 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 数据包 远程 数据 增量 同步 方法 | ||
技术领域
本发明涉及数据库技术领域,特别涉及一种基于数据包的远程数据增量同步方法和装置。
背景技术
远程数据同步是指跨网段的两个数据库系统保持数据的一致性。源系统一般为部署在前端的业务系统数据库,而目的系统一般为用于支持决策分析的OLAP数据集市或者数据仓库系统。前端业务系统数据库与后端数据中心的连接需要穿透防火墙。现有的远程数据同步系统存在有以下问题:
1、远程数据传输手段固定单一,无法应对各种复杂情况。
远程数据传输可以采用Web服务、JMS消息中间件以及FTP等各种方式。Web服务的方式可以实现数据的实时同步传输,但只能传输少量数据,适用于数据零星变化的场景,且无法保证数据投递的质量;JMS消息中间件通用适用于传输少量数据,但可以保证数据在恶劣的网络环境下也能达到目的;FTP可以传输较大规模的数据量,并可以支持断点续传。这三种方式各有优劣,现有的远程数据传输方法只能采取其中一种方式,无法应对不同的网络环境和数据同步需求下各种复杂的情况。
2、远程数据传输前端采用的增量数据采集器有一定的局限性。
在数据库中,经常需要对原始数据进行插入、删除或修改等操作,这些操作的对象被称为增量数据。在某些情况下,需要将一些原始表的增量数据同步到其它一些表中,使这些表的数据保持一致;还有一些情况,需要详细了解一些原始表的变化,及时将这些变化的数据提交到数据仓库中,用于数据分析和挖掘,上述情况下,需要进行增量数据采集。
现有的增量数据采集实现的方法主要有触发器、时间戳、全表抽取、全表比对、日志表、闪回查询(flashback)等。这些机制存在以下缺点和不足:
触发器方式需要源系统进行侵入,会严重损伤源系统的性能,而且有时这种侵入是被客户禁止的。
时间戳的方式要求源系统所有的表需要具备时间戳字段,如果没有需要额外添加,对源系统的侵入较大,甚至需要修改源系统的业务代码。此外,该方式对数据删除操作的判断与更新实现较复杂。
全表抽取实际上是放弃增量抽取的思路,直接进行全表抽取,对于大表来说抽取效率很低。
全表比对的方式需要逐条比较原始表和目标表的记录,将新增和修改的记录读取出来,效率最低。
日志表的做法是在源数据库中创建业务日志表,当特定需要监控的业务数据发生变化时,由相应的业务系统程序模块来更新维护日志表内容。增量抽取时,通过读日志表数据决定加载哪些数据及如何加载。日志表的维护需要由业务系统程序用代码来完成。对源系统具有极大的入侵性,增量抽取效率高但实现复杂。
闪回查询(flashback):Oracle 9i以上版本的数据库系统提供了闪回查询机制,允许用户查询过去某个时刻的数据库状态。这样,抽取进程可以将源数据库的当前状态和上次抽取时刻的状态进行对比,快速得出源表数据记录的变化情况。但这种方式需要特定DBMS(Database management system,数据库管理系统)的依赖,并且需要源系统支持闪回查询,应用范围较窄。
发明内容
本发明的主要目的在于,针对上述现有技术中的不足,提供一种基于数据包的远程数据增量同步方法和装置,通过分析源数据库的操作日志,定时将数据库中发生增、删、改的记录提取出来形成包含增量记录的数据包,然后根据网络状况和数据同步需求,将数据包以JMS或FTP的方式,利用消息中间件或FTP客户端/服务器端产品,并在一定的配置管理支持下,将数据包传输给目标数据库系统。
为实现上述发明目的,本发明采用以下技术方案。
本发明提供一种基于数据包的远程数据增量同步方法,包括以下步骤:
获取源数据库的DML;
将所述DML导出为数据包;
将所述数据包远程同步到目标数据库;
将所述数据包解析成SQL语句和变更数据;
将所述SQL语句和变更数据更新到目标数据库。
本发明还提供一种基于数据包的远程数据增量同步装置,包括:
获取模块,用于获取源数据库的DML;
数据包生成模块,用于将所述DML导出为数据包;
同步模块,用于将所述数据包远程同步到目标数据库;
解析模块,用于将所述数据包解析成SQL语句和变更数据;
入库模块,用于将所述SQL语句和变更数据更新到目标数据库。
相比于上述现有技术,本发明具有以下有益效果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东邮电职业技术学院,未经广东邮电职业技术学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210568861.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置