[发明专利]一种基于日志的异构多源数据库同步方法无效
| 申请号: | 201110287814.4 | 申请日: | 2011-09-26 |
| 公开(公告)号: | CN102346775A | 公开(公告)日: | 2012-02-08 |
| 发明(设计)人: | 董阳;董斌;李德逸;王伟信;孙学磊 | 申请(专利权)人: | 苏州博远容天信息科技有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 楼高潮 |
| 地址: | 215000 江苏省苏州*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 日志 异构多源 数据库 同步 方法 | ||
1. 一种基于日志的异构多源数据库同步方法,其特征在于,包括以下步骤:
步骤1)源数据读取,在源数据库端根据源数据库的日志文件,提取源数据库的操作,反向生成数据操作的SQL执行脚本;
步骤2)SQL脚本传递;
步骤3)数据冲突处理;
步骤4)目标数据写入。
2. 根据权利要求1所述的基于日志的异构多源数据库同步方法,其特征在于,所述步骤1的具体步骤如下:
步骤1.1)在源数据库端通过源数据库的内置系统函数::fn_dblog读取SQL的日志文件,将事先作为参数配置好的需要同步数据的表名称作为查询条件得到要同步表的所有日志,并将“LOP_INSERT_ROWS”、“LOP_DELETE_ROWS”、“LOP_UPDATE_ROWS”三个参数作为条件筛选对同步表进行新增、删除、修改进行操作的语句,最后得到二进制的行数据;
步骤1.2)通过DBCC log ( {dbid |dbname}, [, type={0 |1 }]对二进制的行数据进行分析:先取定长字段,根据表结构指定长度,忽略不定长字段和其他不支持以及不需要考虑的字段,循环变长字段列表读取数据,就此得到行数据的对应格式,字段类型、字段名称、占用列数、变长和列对应字段的内容,然后对该内容进行拼接,得到相应增加、删除、修改的SQL执行脚本
步骤1.3)根据作为参数配置好的需要同步数据的表名称,从二进制的行数据中获取该表的表结构,成为SQL附属脚本。
3. 根据权利要求1所述的基于日志的异构多源数据库同步方法,其特征在于,所述步骤2的具体步骤如下:
步骤2.1)SQL执行脚本生成,传递完成信号,目的数据库端从源数据库端获取SQL执行脚本;
步骤2.2)对所述SQL执行脚本标注获取的源数据库的数据库类型、版本、IP地址、数据库名称及将SQL附属脚本也作为标记;
步骤2.3)将所述SQL执行脚本及其附属标记存入临时表。
4. 根据权利要求1所述的基于日志的异构多源数据库同步方法,其特征在于,所述步骤3的具体步骤如下:
读取临时表数据,将源数据库SQL执行脚本,根据SQL附属脚本,按目标数据库的数据类型进行转换,转换表结构的字段类型,转换列对应字段的数据内容的存储格式,根据以上转换将SQL执行脚本按对应的方式进行相应的转换,生成可在目标数据库顺利执行的SQL语句,用目标数据库的SQL分析命令进行语句检查,检查通过,存入转换后的SQL执行脚本,进入下一步,否则,重新转换SQL执行脚本,直到读取临时表结束;
将临时表中同一目标表的数据按在源数据库中执行时间进行排序,删除不同的源数据库中重复的SQL执行脚本,按照预设置的处理逻辑对SQL执行脚本进行优化,然后按时间重新进行序列处理。
5. 根据权利要求4所述的基于日志的异构多源数据库同步方法,其特征在于,所述优化的方法如下:
1)将多条数据插入语句合并为一条数据批量插入语句;
2)将多条数据删除语句合并为一条数据删除语句;
3)将多条对同一主键的行数据修改语句合并为一条数据修改语句;
4)在数据批量插入语句后增加nologging选项,使其执行时,提高执行速度。
6. 根据权利要求1或2或3或4或5所述的基于日志的异构多源数据库同步方法,其特征在于,所述步骤4的具体步骤如下:
将周期内的SQL脚本按标注的序号,在目的数据库端逐一执行,单条SQL脚本执行时,不进行数据库提交,全部执行完成后,统一提交。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州博远容天信息科技有限公司,未经苏州博远容天信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110287814.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种对注册表文件进行整理的方法及装置
- 下一篇:一种数据存储和数据恢复方法





