[发明专利]一种数据同步时的数据初始化方法有效
申请号: | 201811338934.0 | 申请日: | 2018-11-12 |
公开(公告)号: | CN109614444B | 公开(公告)日: | 2023-05-16 |
发明(设计)人: | 孙峰;付铨 | 申请(专利权)人: | 武汉达梦数据库股份有限公司;华中科技大学 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/23 |
代理公司: | 武汉智嘉联合知识产权代理事务所(普通合伙) 42231 | 代理人: | 黄君军 |
地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 同步 初始化 方法 | ||
本发明公开一种数据同步时的数据初始化方法,包括以下步骤:步骤S1、在待初始化的装载表上定义更新游标,在源端数据库创建辅助表;步骤S2、拨动所述更新游标遍历所述装载表,并依次将所述更新游标所在行删除,每完成设定值的删除操作后在所述辅助表中插入装载表的信息并回滚整个事务,直至遍历完成;步骤S3、数据库日志同步解析模块通过分析上述过程的操作日志,完成所述装载表的初始化。本发明提供的数据同步时的数据初始化方法,在初始化过程中不需要上表锁,不会读取到源端数据库正在修改且没有提交的行,不会影响到源端数据库的正常工作。
技术领域
本发明涉及数据同步时数据初始化技术领域,具体涉及一种数据同步时的数据初始化方法。
背景技术
在搭建两个数据库之间的同步时,需要初始化目标端数据库的数据。现有技术中,对加锁机制的数据库进行初始化时,通常需要对数据库上表读锁,因此,数据库在进行初始化的过程中,会拒绝外部写访问,导致初始化时用户表无法访问的问题,影响数据库的正常使用。如果不上读锁,在初始化过程中容易出现读取到数据库中正在被修改且没有提交的行,影响数据装载的一致性。
发明内容
本发明的目的在于克服上述技术不足,提供一种数据同步时的数据初始化方法,解决现有技术中数据库初始化需要上表读锁,容易出现读取到数据库中正在被修改且没有提交的行,影响数据装载一致性的技术问题。
为达到上述技术目的,本发明的技术方案提供一种数据同步时的数据初始化方法,包括以下步骤:
步骤S1、在待初始化的装载表上定义更新游标,在源端数据库创建辅助表;
步骤S2、拨动所述更新游标遍历所述装载表,并依次将所述更新游标所在行删除,每完成设定值的删除操作后在所述辅助表中插入装载表的信息并回滚整个事务,直至遍历完成;
步骤S3、数据库日志同步解析模块通过分析上述过程的操作日志,完成所述装载表的初始化。
与现有技术相比,本发明的有益效果包括:本发明在初始化过程中,设置了设定值,每完成设定值个删除操作就会进行回滚操作,将装载表的删除操作分成多段进行,使得进行数据初始化时,不再需要对装载表上表锁,只需对装载表上行锁即可。而回滚操作不会要求数据库立即进行日志刷盘,可以减轻数据库的IO负担。由于初始化过程中只需要对装载表上行锁,因此很大程度上降低了初始化过程对源端数据库的影响,在初始化过程中,用户仍然可以正常访问源端数据库,读取和修改装载表上的数据。同时,本发明通过更新游标的拨动遍历装载表,当拨动到正在修改且没有提交的行时,更新游标拨动就会被阻塞,避免了初始化时读取到这些正在修改的脏数据,减小初始化过程对源端数据库的数据修改操作的影响。
附图说明
图1是本发明提供的数据同步时的数据初始化方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明的实施例1提供了一种数据同步时的数据初始化方法,包括以下步骤:
步骤S1、在待初始化的装载表上定义更新游标,在源端数据库创建辅助表;
步骤S2、拨动所述更新游标遍历所述装载表,并依次将所述更新游标所在行删除,每完成设定值的删除操作后在所述辅助表中插入装载表的信息并回滚整个事务,直至遍历完成;
步骤S3、数据库日志同步解析模块通过分析上述过程的操作日志,完成所述装载表的初始化。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据库股份有限公司;华中科技大学,未经武汉达梦数据库股份有限公司;华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811338934.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置