CN109614444A - 一种数据同步时的数据初始化方法 - Google Patents

一种数据同步时的数据初始化方法 Download PDF

Info

Publication number
CN109614444A
CN109614444A CN201811338934.0A CN201811338934A CN109614444A CN 109614444 A CN109614444 A CN 109614444A CN 201811338934 A CN201811338934 A CN 201811338934A CN 109614444 A CN109614444 A CN 109614444A
Authority
CN
China
Prior art keywords
data
vernier
synchronous
load table
load
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811338934.0A
Other languages
English (en)
Other versions
CN109614444B (zh
Inventor
孙峰
付铨
杨春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Dream Database Co ltd
Original Assignee
Wuhan Dameng Database Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Dameng Database Co Ltd filed Critical Wuhan Dameng Database Co Ltd
Priority to CN201811338934.0A priority Critical patent/CN109614444B/zh
Publication of CN109614444A publication Critical patent/CN109614444A/zh
Application granted granted Critical
Publication of CN109614444B publication Critical patent/CN109614444B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开一种数据同步时的数据初始化方法,包括以下步骤:步骤S1、在待初始化的装载表上定义更新游标,在源端数据库创建辅助表;步骤S2、拨动所述更新游标遍历所述装载表,并依次将所述更新游标所在行删除,每完成设定值的删除操作后在所述辅助表中插入装载表的信息并回滚整个事务,直至遍历完成;步骤S3、数据库日志同步解析模块通过分析上述过程的操作日志,完成所述装载表的初始化。本发明提供的数据同步时的数据初始化方法,在初始化过程中不需要上表锁,不会读取到源端数据库正在修改且没有提交的行,不会影响到源端数据库的正常工作。

Description

一种数据同步时的数据初始化方法
技术领域
本发明涉及数据同步时数据初始化技术领域,具体涉及一种数据同步时的数据初始化方法。
背景技术
在搭建两个数据库之间的同步时,需要初始化目标端数据库的数据。现有技术中,对加锁机制的数据库进行初始化时,通常需要对数据库上表读锁,因此,数据库在进行初始化的过程中,会拒绝外部写访问,导致初始化时用户表无法访问的问题,影响数据库的正常使用。如果不上读锁,在初始化过程中容易出现读取到数据库中正在被修改且没有提交的行,影响数据装载的一致性。
发明内容
本发明的目的在于克服上述技术不足,提供一种数据同步时的数据初始化方法,解决现有技术中数据库初始化需要上表读锁,容易出现读取到数据库中正在被修改且没有提交的行,影响数据装载一致性的技术问题。
为达到上述技术目的,本发明的技术方案提供一种数据同步时的数据初始化方法,包括以下步骤:
步骤S1、在待初始化的装载表上定义更新游标,在源端数据库创建辅助表;
步骤S2、拨动所述更新游标遍历所述装载表,并依次将所述更新游标所在行删除,每完成设定值的删除操作后在所述辅助表中插入装载表的信息并回滚整个事务,直至遍历完成;
步骤S3、数据库日志同步解析模块通过分析上述过程的操作日志,完成所述装载表的初始化。
与现有技术相比,本发明的有益效果包括:本发明在初始化过程中,设置了设定值,每完成设定值个删除操作就会进行回滚操作,将装载表的删除操作分成多段进行,使得进行数据初始化时,不再需要对装载表上表锁,只需对装载表上行锁即可。而回滚操作不会要求数据库立即进行日志刷盘,可以减轻数据库的IO负担。由于初始化过程中只需要对装载表上行锁,因此很大程度上降低了初始化过程对源端数据库的影响,在初始化过程中,用户仍然可以正常访问源端数据库,读取和修改装载表上的数据。同时,本发明通过更新游标的拨动遍历装载表,当拨动到正在修改且没有提交的行时,更新游标拨动就会被阻塞,避免了初始化时读取到这些正在修改的脏数据,减小初始化过程对源端数据库的数据修改操作的影响。
附图说明
图1是本发明提供的数据同步时的数据初始化方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1:
如图1所示,本发明的实施例1提供了一种数据同步时的数据初始化方法,包括以下步骤:
步骤S1、在待初始化的装载表上定义更新游标,在源端数据库创建辅助表;
步骤S2、拨动所述更新游标遍历所述装载表,并依次将所述更新游标所在行删除,每完成设定值的删除操作后在所述辅助表中插入装载表的信息并回滚整个事务,直至遍历完成;
步骤S3、数据库日志同步解析模块通过分析上述过程的操作日志,完成所述装载表的初始化。
本发明首先通过拨动更新游标依次删除装载表上数据,删除操作会记录在操作日志中,便于后续通过日志分析解析出删除操作完成初始化。而且由于删除操作产生的数据库日志量较小,因此本发明对于数据库日志IO负载的影响较小。在装载表删除的过程中,设置设定值,完成设定值次的删除操作即进行一次回滚操作,释放行锁,直至装载表完成所有行的删除操作,操作日志中也就记载了装载表所有行的删除操作。这些行的删除操作由于是回滚的,它不会破坏表中原来的数据结构。但由于不需要上表读锁,因此本发明在初始化过程中不会影响源端数据库中装载表的访问,初始化过程中,用户仍然可以访问装载表。最后通过日志分析完成装载表的初始化过程。同时,本发明在将装载表上的数据依次删除的过程中,是通过拨动更新游标实现装载表的遍历的,因此可以避免在遍历的过程中读取到源端数据库中正在修改且还没有提交的行,减小装载表的初始化对源端数据库的修改操作造成影响。
本发明提供的数据同步时的数据初始化方法,在初始化过程中不需要上表读锁,不会影响到源端数据库的正常工作,用户可以正常访问源端数据库。而且,初始化过程中不会读取到源端数据库正在修改且没有提交的脏数据,减小了初始化过程对源端数据库的修改操作造成影响。
优选的,所述步骤S1还包括,在创建所述辅助表时,将日志分析的起始LSN设置为当前LSN。
在创建辅助表时,记录当前LSN作为日志分析的起始LSN,便于准确找到日志分析的起始分析点,提高日志分析效率。
优选的,所述步骤S2具体为:
步骤S21、在所述辅助表中插入装载开始信息;
步骤S22、拨动所述更新游标,将所述更新游标所在行删除;
步骤S23、判断所述更新游标是否到达结果集末尾,如果是则在所述辅助表中插入装载结束信息后进行回滚操作;否则转步骤S24;
步骤S24、判断所述更新游标的拨动次数是否大于设定值,如果是则在所述辅助表中插入所述装载表的信息并回滚整个事务,将拨动次数清零然后转步骤S22;否则直接转步骤S22。
在遍历装载表前,在辅助表中插入装载开始信息,遍历完成后,在辅助表中插入装载结束信息,根据装载开始信息、装载结束信息可以准确定位到初始化操作在日志流中的起始点和结束点,便于后续日志分析以及初始化过程的准确定位。具体的,所述装载开始信息包括装载表的模式名、表名以及表ID。所述装载结束信息包括装载表的模式名、表名以及表I D。所述装载表的信息同样包括装载表的模式名、表名以及表I D。日志分析时,可以解析出装载表的模式名、表名以及表I D,通过这些信息可标识区别不同装载表的操作日志,并把这些日志所涉及的事务和其它应用事务区分开来。不包含映射表的事务需要直接丢弃,因为它是属于第三方应用产生的日志。
优选的,所述步骤S3具体为:
数据库日志同步解析模块通过分析所述操作日志获取所述装载表的删除操作,将所述装载表的删除操作转换为装载表的插入操作,然后投递至目标端数据库执行,完成所述装载表的初始化。
由于初始化需要进行插入操作,因此需要将删除操作转换为插入操作,然后将插入操作投递至目标端数据库进行执行,即可完成装载表的初始过程。
实施例2:
本发明的实施例2提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现以上任一实施例所述数据同步时的数据初始化方法。
本发明提供的计算机存储介质,基于上述数据同步时的数据初始化方法,因此,上述数据同步时的数据初始化方法具备的技术效果,计算机存储介质同样具备,在此不再赘述。
以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所做出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。

Claims (5)

1.一种数据同步时的数据初始化方法,其特征在于,包括以下步骤:
步骤S1、在待初始化的装载表上定义更新游标,在源端数据库创建辅助表;
步骤S2、拨动所述更新游标遍历所述装载表,并依次将所述更新游标所在行删除,每完成设定值的删除操作后在所述辅助表中插入装载表的信息并回滚整个事务,直至遍历完成;
步骤S3、数据库日志同步解析模块通过分析上述过程的操作日志,完成所述装载表的初始化。
2.根据权利要求1所述的数据同步时的数据初始化方法,其特征在于,所述步骤S1还包括,在创建所述辅助表时,将日志分析的起始LSN设置为当前LSN。
3.根据权利要求1所述的数据同步时的数据初始化方法,其特征在于,所述步骤S2具体为:
步骤S21、在所述辅助表中插入装载开始信息;
步骤S22、拨动所述更新游标,将所述更新游标所在行删除;
步骤S23、判断所述更新游标是否到达结果集末尾,如果是则在所述辅助表中插入装载结束信息后进行回滚操作;否则转步骤S24;
步骤S24、判断所述更新游标的拨动次数是否大于设定值,如果是则在所述辅助表中插入所述装载表的信息并回滚整个事务,将拨动次数清零然后转步骤S22;否则直接转步骤S22。
4.根据权利要求1所述的数据同步时的数据初始化方法,其特征在于,所述步骤S3具体为:
数据库日志同步解析模块通过分析所述操作日志获取所述装载表的删除操作,将所述装载表的删除操作转换为装载表的插入操作,然后投递至目标端数据库执行,完成所述装载表的初始化。
5.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-4任一所述数据同步时的数据初始化方法。
CN201811338934.0A 2018-11-12 2018-11-12 一种数据同步时的数据初始化方法 Active CN109614444B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811338934.0A CN109614444B (zh) 2018-11-12 2018-11-12 一种数据同步时的数据初始化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811338934.0A CN109614444B (zh) 2018-11-12 2018-11-12 一种数据同步时的数据初始化方法

Publications (2)

Publication Number Publication Date
CN109614444A true CN109614444A (zh) 2019-04-12
CN109614444B CN109614444B (zh) 2023-05-16

Family

ID=66003879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811338934.0A Active CN109614444B (zh) 2018-11-12 2018-11-12 一种数据同步时的数据初始化方法

Country Status (1)

Country Link
CN (1) CN109614444B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111601324A (zh) * 2020-04-30 2020-08-28 重庆科技学院 一种针对终端中应用数据的统计方法及统计系统
CN117093638A (zh) * 2023-10-17 2023-11-21 博智安全科技股份有限公司 一种微服务数据初始化方法、系统、电子设备及存储介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081611A (zh) * 2009-11-26 2011-06-01 中兴通讯股份有限公司 一种主、备网管系统数据库同步的实现方法及装置
CN102346775A (zh) * 2011-09-26 2012-02-08 苏州博远容天信息科技有限公司 一种基于日志的异构多源数据库同步方法
JP2012155498A (ja) * 2011-01-25 2012-08-16 Fujitsu Ltd データベースサーバ装置、データベース更新方法及びデータベース更新プログラム
CN103064976A (zh) * 2013-01-14 2013-04-24 浙江水利水电专科学校 基于主动数据库技术的同异构dbms间数据交换方法
CN104967658A (zh) * 2015-05-08 2015-10-07 成都品果科技有限公司 一种多终端设备上的数据同步方法
CN105183860A (zh) * 2015-09-10 2015-12-23 北京京东尚科信息技术有限公司 数据同步方法和系统
CN105320680A (zh) * 2014-07-15 2016-02-10 中国移动通信集团公司 一种数据同步方法及装置
CN105512284A (zh) * 2015-12-07 2016-04-20 上海爱数信息技术股份有限公司 基于事务形态数据和binlog文件的MySQL数据保护方法
CN105589924A (zh) * 2015-11-23 2016-05-18 江苏瑞中数据股份有限公司 一种数据库事务粒度同步方法
US20160259837A1 (en) * 2014-03-24 2016-09-08 Hitachi, Ltd. Database management system and method for controlling synchronization between databases
US20160350353A1 (en) * 2015-05-29 2016-12-01 Oracle International Corporation Elimination of log file synchronization delay at transaction commit time
CN107562882A (zh) * 2017-09-04 2018-01-09 郑州云海信息技术有限公司 一种基于日志分析的数据同步方法及装置
CN108509462A (zh) * 2017-02-28 2018-09-07 华为技术有限公司 一种同步活动事务表的方法及装置

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081611A (zh) * 2009-11-26 2011-06-01 中兴通讯股份有限公司 一种主、备网管系统数据库同步的实现方法及装置
JP2012155498A (ja) * 2011-01-25 2012-08-16 Fujitsu Ltd データベースサーバ装置、データベース更新方法及びデータベース更新プログラム
CN102346775A (zh) * 2011-09-26 2012-02-08 苏州博远容天信息科技有限公司 一种基于日志的异构多源数据库同步方法
CN103064976A (zh) * 2013-01-14 2013-04-24 浙江水利水电专科学校 基于主动数据库技术的同异构dbms间数据交换方法
US20160259837A1 (en) * 2014-03-24 2016-09-08 Hitachi, Ltd. Database management system and method for controlling synchronization between databases
CN105320680A (zh) * 2014-07-15 2016-02-10 中国移动通信集团公司 一种数据同步方法及装置
CN104967658A (zh) * 2015-05-08 2015-10-07 成都品果科技有限公司 一种多终端设备上的数据同步方法
US20160350353A1 (en) * 2015-05-29 2016-12-01 Oracle International Corporation Elimination of log file synchronization delay at transaction commit time
CN105183860A (zh) * 2015-09-10 2015-12-23 北京京东尚科信息技术有限公司 数据同步方法和系统
CN105589924A (zh) * 2015-11-23 2016-05-18 江苏瑞中数据股份有限公司 一种数据库事务粒度同步方法
CN105512284A (zh) * 2015-12-07 2016-04-20 上海爱数信息技术股份有限公司 基于事务形态数据和binlog文件的MySQL数据保护方法
CN108509462A (zh) * 2017-02-28 2018-09-07 华为技术有限公司 一种同步活动事务表的方法及装置
CN107562882A (zh) * 2017-09-04 2018-01-09 郑州云海信息技术有限公司 一种基于日志分析的数据同步方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
丁建立: "基于连接驱动SQL捕获的远程数据库同步机制", 《计算机工程》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111601324A (zh) * 2020-04-30 2020-08-28 重庆科技学院 一种针对终端中应用数据的统计方法及统计系统
CN117093638A (zh) * 2023-10-17 2023-11-21 博智安全科技股份有限公司 一种微服务数据初始化方法、系统、电子设备及存储介质
CN117093638B (zh) * 2023-10-17 2024-01-23 博智安全科技股份有限公司 一种微服务数据初始化方法、系统、电子设备及存储介质

Also Published As

Publication number Publication date
CN109614444B (zh) 2023-05-16

Similar Documents

Publication Publication Date Title
US20220129476A1 (en) Enhanced mechanisms for managing multidimensional data
CN110209728B (zh) 一种分布式异构数据库同步方法、电子设备及存储介质
CN107609188B (zh) 基于GoldenGate的数据同步校验方法
US7912819B2 (en) Systems and methods for versioning based triggers
WO2015101025A1 (zh) 一种数据库中的多版本并发控制方法及数据库系统
CN106991104B (zh) 数据库脚本部署装置和数据库脚本部署方法
CN110727724B (zh) 数据抽取方法、装置、计算机设备和存储介质
CN109614444A (zh) 一种数据同步时的数据初始化方法
CN111930850A (zh) 数据校验方法、装置、计算机设备和存储介质
CN112632105A (zh) 大规模事务负载生成与数据库隔离级别正确性验证系统及方法
EP3147789A1 (en) Method for re-establishing standby database, and apparatus thereof
JP6329552B2 (ja) 単一テーブルから複数テーブルへの参照データセグメント化
CN111125067A (zh) 数据维护方法及装置
CN109271199A (zh) 一种用于数据库持续集成与脚本文件管理的方法及系统
CN117472647A (zh) 一种数据库事务回滚方法及装置
CN117131060A (zh) 分布式数据库并发控制方法、系统、计算机设备
CN109902085B (zh) 一种配置存储结构优化方法及系统
CN109117173B (zh) 一种基于项目版本开发的配制文件管理方法
US8904348B2 (en) Method and system for handling errors during script execution
CN115344966A (zh) 一种cad装配体零部件替换方法及系统
CN109656932A (zh) 一种数据同步时利用更新游标的数据初始化方法
WO2023045054A1 (zh) 结构化查询语句的生成方法、装置和计算机设备
CN112232768A (zh) 一种基于全生命周期管理的商户数据处理方法
CN107239474B (zh) 一种数据记录方法及装置
US8015150B2 (en) Method for editing related data in a database

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Sun Feng

Inventor after: Fu Quan

Inventor before: Sun Feng

Inventor before: Fu Quan

Inventor before: Yang Chun

CB03 Change of inventor or designer information
CB02 Change of applicant information

Address after: 430000 16-19 / F, building C3, future technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan, Hubei Province

Applicant after: Wuhan dream database Co.,Ltd.

Address before: 430000 16-19 / F, building C3, future technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan, Hubei Province

Applicant before: WUHAN DAMENG DATABASE Co.,Ltd.

CB02 Change of applicant information
TA01 Transfer of patent application right

Effective date of registration: 20220919

Address after: 430000 16-19 / F, building C3, future technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan, Hubei Province

Applicant after: Wuhan dream database Co.,Ltd.

Applicant after: HUAZHONG University OF SCIENCE AND TECHNOLOGY

Address before: 430000 16-19 / F, building C3, future technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan, Hubei Province

Applicant before: Wuhan dream database Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230725

Address after: 430000 16-19 / F, building C3, future technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan, Hubei Province

Patentee after: Wuhan dream database Co.,Ltd.

Address before: 430000 16-19 / F, building C3, future technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan, Hubei Province

Patentee before: Wuhan dream database Co.,Ltd.

Patentee before: HUAZHONG University OF SCIENCE AND TECHNOLOGY

TR01 Transfer of patent right