CN116541469A - 数据同步的实现方法、装置、设备及存储介质 - Google Patents

数据同步的实现方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116541469A
CN116541469A CN202310828194.3A CN202310828194A CN116541469A CN 116541469 A CN116541469 A CN 116541469A CN 202310828194 A CN202310828194 A CN 202310828194A CN 116541469 A CN116541469 A CN 116541469A
Authority
CN
China
Prior art keywords
backup
database
data
operation instruction
redo log
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
CN202310828194.3A
Other languages
English (en)
Other versions
CN116541469B (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.)
Shenzhen Clerware Technology Co ltd
Original Assignee
Shenzhen Clerware Technology 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 Shenzhen Clerware Technology Co ltd filed Critical Shenzhen Clerware Technology Co ltd
Priority to CN202310828194.3A priority Critical patent/CN116541469B/zh
Publication of CN116541469A publication Critical patent/CN116541469A/zh
Application granted granted Critical
Publication of CN116541469B publication Critical patent/CN116541469B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • 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

Abstract

本发明涉及数据处理技术领域,公开了一种数据同步的实现方法、装置、设备及存储介质,该方法包括:在接收到数据同步指令后,持续抓取源端数据库的第一重做日志;对源端数据库的有效数据执行整机备份操作,并将执行整机备份操作的时间点作为备份点;对第一重做日志和备份点中记录的第二重做日志进行解析,获得第一重做日志对应的第一操作指令和第二重做日志对应的第二操作指令;将备份点的数据还原至目标主机,以完成备端数据库的构建;基于第一操作指令和第二操作指令对备端数据库进行重放操作,实现源端数据库与备端数据库的数据同步。相比于现有技术,本发明提高了源端数据库和备端数据库同步的效率。

Description

数据同步的实现方法、装置、设备及存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据同步的实现方法、装置、设备及存储介质。
背景技术
目前,实现数据库同步的时候,主要是两步,数据库已有基础数据的同步和新增数据的同步。对于基础数据的同步,目前都是基于数据库软件应用层的,通过使用数据库软件提供的接口操作方法,得到数据库中具体的应用数据,再通过数据库软件接口将数据同步到备端数据库。但这种方法的核心是通过数据库查询的方式,让数据库软件将本地存储的数据库文件数据转换成应用数据,这个过程不仅会消耗大量的时间,还会损耗较多的源机数据库性能。
因此,亟需一种数据同步的实现方法,能够有效解决现有技术中源端数据库和备端数据库同步的效率较低的技术问题。
发明内容
本发明的主要目的在于提供了一种数据同步的实现方法、装置、设备及存储介质,旨在解决现有技术中源端数据库和备端数据库同步的效率较低的技术问题。
为实现上述目的,本发明提供了一种数据同步的实现方法,所述方法包括以下步骤:
在接收到数据同步指令后,持续抓取源端数据库的第一重做日志;
对所述源端数据库的有效数据执行整机备份操作,并将执行所述整机备份操作的时间点作为备份点;
对所述第一重做日志和所述备份点中记录的第二重做日志进行解析,获得所述第一重做日志对应的第一操作指令和所述第二重做日志对应的第二操作指令;
将所述备份点的数据还原至目标主机,以完成备端数据库的构建;
基于所述第一操作指令和所述第二操作指令对所述备端数据库进行重放操作,以实现所述源端数据库与所述备端数据库的数据同步。
可选地,所述对所述源端数据库的有效数据执行整机备份操作的步骤,包括:
获取所述源端数据库对应的主机上磁盘的分区结构;
基于所述分区结构将所述主机上磁盘的分区拼凑成卷设备,并识别所述卷设备的有效数据;
获取所述有效数据,并将所述有效数据转换为磁盘有效数据;
基于所述磁盘有效数据对所述源端数据库执行整机备份操作。
可选地,所述基于所述第一操作指令和所述第二操作指令对所述备端数据库进行重放操作的步骤,包括:
在所述备端数据库启动后,去除所述第一操作指令与所述第二操作指令的重叠事务;
基于所述重叠事务识别所述备端数据中未完成事务,所述未完成事务为备端数据库启动后被回滚的事务和新增事务;
将所述未完成事务在所述备端数据库进行重放操作。
可选地,所述在所述备端数据库启动后,去除所述第一操作指令与所述第一操作指令的重叠事务的步骤,包括:
在所述备端数据库启动后,获取所述第一操作指令中各事务对应的第一序列号和所述第二操作指令中各事务对应的第二序列号;
将所述第一序列号与所述第二序列号进行比较,获得比较结果;
根据所述比较结果,获得所述第一操作指令和所述第二操作指令的重叠事务,并去除所述重叠事务。
可选地,所述并基于所述重叠事务识别所述备端数据中未完成事务的步骤,包括:
获取所述重叠事务的序列号;
根据所述序列号,过滤所述第一操作指令中所述第一序列号小于所述序列号的对应事务,获得过滤结果;
将所述过滤结果作为所述备端数据中未完成事务。
可选地,所述将所述备份点的数据还原至目标主机的步骤,具体包括:
获取所述备份点对应的目标数据;
通过使用整机备份恢复的方式将所述目标数据还原至目标主机。
可选地,所述在接收到数据同步指令后,持续抓取源端数据库的第一重做日志的步骤,包括:
在接收到数据同步指令后,通过在预设日志获取程序依次抓取源端数据库的第一重做日志;
或,
在接收到数据同步指令后,基于预设间隔时间通过预设SQL语句持续抓取源端数据库的第一重做日志。
此外,为实现上述目的,本发明还提出一种数据同步的实现装置,所述装置包括:
日志抓取模块,用于在接收到数据同步指令后,持续抓取源端数据库的第一重做日志;
整机备份模块,用于对所述源端数据库的有效数据执行整机备份操作,并将执行所述整机备份操作的时间点作为备份点;
日志解析模块,用于对所述第一重做日志和所述备份点中记录的第二重做日志进行解析,获得所述第一重做日志对应的第一操作指令和所述第二重做日志对应的第二操作指令;
数据还原模块,用于将所述备份点的数据还原至目标主机,以完成备端数据库的构建;
数据同步模块,用于基于所述第一操作指令和所述第二操作指令对所述备端数据库进行重放操作,以实现所述源端数据库与备端数据库的数据同步。
此外,为实现上述目的,本发明还提出一种数据同步的实现设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据同步的实现程序,所述数据同步的实现程序配置为实现如上文所述的数据同步的实现方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有数据同步的实现程序,所述数据同步的实现程序被处理器执行时实现如上文所述的数据同步的实现方法的步骤。
本发明通过在接收到数据同步指令后,持续抓取源端数据库的第一重做日志;对所述源端数据库的有效数据执行整机备份操作,并将执行所述整机备份操作的时间点作为备份点;对所述第一重做日志和所述备份点中记录的第二重做日志进行解析,获得所述第一重做日志对应的第一操作指令和所述第二重做日志对应的第二操作指令;将所述备份点的数据还原至目标主机,以完成备端数据库的构建;基于所述第一操作指令和所述第二操作指令对所述备端数据库进行重放操作,以实现所述源端数据库与备端数据库的数据同步。相比于现有技术中对于基础数据的同步通过使用数据库软件提供的接口操作方法,得到数据库中具体的应用数据,再通过数据库软件接口将数据同步到备端数据库,本发明通过对源端数据库做整机级的备份,然后将备份点恢复到目标主机上实现数据库基础数据的快速构建,然后再进行增量数据的同步,提高了源端数据库和备端数据库同步的效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的数据同步的实现设备的结构示意图;
图2为本发明数据同步的实现方法第一实施例的流程示意图;
图3为本发明数据同步的实现方法第二实施例的流程示意图;
图4为本发明数据同步的实现装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的数据同步的实现设备结构示意图。
如图1所示,该数据同步的实现设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对数据同步的实现设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据同步的实现程序。
在图1所示的数据同步的实现设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明数据同步的实现设备中的处理器1001、存储器1005可以设置在数据同步的实现设备中,所述数据同步的实现设备通过处理器1001调用存储器1005中存储的数据同步的实现程序,并执行本发明实施例提供的数据同步的实现方法。
本发明实施例提供了一种数据同步的实现方法,参照图2,图2为本发明数据同步的实现方法第一实施例的流程示意图。
本实施例中,所述数据同步的实现方法包括以下步骤:
步骤S10:在接收到数据同步指令后,持续抓取源端数据库的第一重做日志。
需要说明的是,本实施例的执行主体可以是一种具有数据处理、网络通信以及程序运行功能的计算服务设备,例如:服务器、平板电脑、个人电脑、手机等,或者是一种能够实现上述功能的电子设备、数据同步的实现设备等。以下以备份服务器为例,对本实施例及下述各实施例进行举例说明。
应理解的是,数据同步是指源端数据库能够迅速实现与台式电脑、笔记本电脑等备端数据库的数据同步与信息共享,使源端数据库与备端数据库二者之间的数据保持完整性和统一性。
可理解的是,数据同步指令可以是启动源端数据库同步任务的相应操作,源端数据库可以是储存业务数据的数据库,负载业务系统。重做日志又被称为事务日志,对数据库来说至关重要,数据库每执行一条更新操作时,都会引起数据库的变化,因此都会生成一定数量的重做日志,他们将被记录到重做日志文件中,以便在数据库出现例程失败或介质故障时,可以利用重做日志文件来恢复数据库。
需要解释的是,由于现有的数据库基本都是日志型数据库,数据库软件在修改数据库数据的时候,会先把数据库的操作行为以及操作的数据先写入到重做日志中,再执行数据修改操作,日志里面记录了数据库所有数据的改变过程。
应该理解的是,上述第一重做日志为源端数据库的重做日志。当数据库出现非正常关闭,重新启动的时候,数据库程序会根据重做日志中的操作进行事务的重放,以保证数据的一致性。对这些重做日志进行解析,可以逆向得到应用程序操作数据库时的SQL语句;对这些SQL语句进行重放,可以重现应用程序操作数据库的所有过程。
在具体实现中,在接收到数据同步指令后,可以通过在预设日志获取程序依次抓取源端数据库的第一重做日志或基于预设间隔时间通过预设SQL语句持续抓取源端数据库的第一重做日志。通过持续抓取源端数据库的第一重做日志可以实现对源端数据库中第一重做日志的监控,获得第一重做日志中的新增数据。
步骤S20:对所述源端数据库的有效数据执行整机备份操作,并将执行所述整机备份操作的时间点作为备份点。
需要说明的是,上述整机备份为整机级备份,是将计算机的操作系统、应用程序、业务数据以及磁盘的分区、卷和文件系统等元数据备份到其他计算机中,存放备份数据的计算机即备份服务器,每次备份出来的数据称为备份点对应的数据。
需要解释的是,对所述源端数据库的有效数据执行整机备份操作的步骤可以是获取所述源端数据库对应的主机上磁盘的分区结构;基于所述分区结构将所述主机上磁盘的分区拼凑成卷设备,并识别所述卷设备的有效数据;获取所述有效数据,并将所述有效数据转换为磁盘有效数据;基于所述磁盘有效数据对所述源端数据库执行整机备份操作。
在具体实现中,首先分析源数据库主机上所有磁盘的分区,把分区拼凑成卷设备,识别卷设备上的有效数据,然后把这些数据转换成磁盘上的有效数据,再把这些数据备份到备份服务器中。通过识别磁盘有效数据,可以节省不必要的数据备份,进而可以缩短备份时间以及节约备份服务器的存储空间。由于是连续的磁盘数据块的备份,这些数据块不需要经数据库引擎进行转换,可以提升数据备份的效率,降低对业务系统性能的影响。
步骤S30:对所述第一重做日志和所述备份点中记录的第二重做日志进行解析,获得所述第一重做日志对应的第一操作指令和所述第二重做日志对应的第二操作指令。
可理解的是,上述第一操作指令可以是第一重做日志中数据库操作记录;同理,上述第二操作指令可以是第二重做日志中数据库操作记录。
需要说明的是,由于对源端数据库主机的做的是整机级在线备份,数据库业务系统不停机,可以随时对外提供服务,这个情况下备份的磁盘数据状态等同于源数据库主机突然掉电时的磁盘数据状态,意味数据库属于非正常操作关闭,后续数据库程序启动的时候会根据重做日志执行“redo(重做)”、“undo(撤销)”操作,以保证数据一致性。
需要解释的是,“undo”操作会把不完整事务操作(只有开始没有结束)进行回滚,这相当于把数据库文件的改动恢复到修改前的状态。当对源端数据库主机完成整机数据备份之后,需要对备份点中的第二重做日志进行解析,获得第二操作指令,然后获取第二操作指令里面的事务信息,识别出哪些事务(也就是不完整的事务)在数据库程序启动的时候要被回滚掉,在后续做新增数据的同步时候,接着把这些尚未完成的事务进行重放,以保证源端数据库、备端数据库数据的一致性。
需要说明的是,上述事务是操作数据库各种数据项的操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间的全部数据库操作记录组成。通常来说,一个事务会由一个或多个数据库操作记录组成,这些记录分布在一个或者多个重做日志的数据块中,完整的事务都是包含了开始和结束的,如果只有开始没有结束的事务,则是不完整事务。
步骤S40:将所述备份点的数据还原至目标主机,以完成备端数据库的构建。
需要解释的是,备端数据库是储存业务数据的数据库,在源端数据库异常时可以负载业务系统。
在具体实现中,可以通过获取备份服务器中所述备份点对应的目标数据;然后通过使用整机备份恢复的方式将所述目标数据还原至目标主机,目标数据可以是备份点对应的第二重做日志,也可以是对备份点中记录的第二重做日志进行解析后获得的第二操作指令。
步骤S50:基于所述第一操作指令和所述第二操作指令对所述备端数据库进行重放操作,以实现所述源端数据库与所述备端数据库的数据同步。
需要说明的是,由于使用的是整机级备份恢复方法,此时的目标主机已经包含有源端数据库的基础数据了,只是数据库数据处于非正常关闭的状态,备端数据库启动的时候会根据第一操作指令和第二操作指令执行“redo(重做)”、“undo(撤销)”操作,并将第一操作指令中新增的事务在备端数据库进行重放,完成源端数据库、备端数据库的新增数据同步。
本实施例通过在接收到数据同步指令后,持续抓取源端数据库的第一重做日志;对所述源端数据库的有效数据执行整机备份操作,并将执行所述整机备份操作的时间点作为备份点;对所述第一重做日志和所述备份点中记录的第二重做日志进行解析,获得所述第一重做日志对应的第一操作指令和所述第二重做日志对应的第二操作指令;将所述备份点的数据还原至目标主机,以完成备端数据库的构建;基于所述第一操作指令和所述第二操作指令对所述备端数据库进行重放操作,以实现所述源端数据库与备端数据库的数据同步。相比于现有技术中通过使用数据库软件提供的接口操作方法,得到数据库中具体的应用数据,再通过数据库软件接口将数据同步到备端数据库,本发明通过对源端数据库做整机级的备份,然后将备份点恢复到目标主机上实现数据库基础数据的快速构建,然后再进行增量数据的同步,提高了源端数据库和备端数据库同步的效率。
参考图3,图3为本发明数据同步的实现方法第二实施例的流程示意图。
基于上述第一实施例,在本实施例中,所述步骤S50,包括:
步骤S501:在所述备端数据库启动后,去除所述第一操作指令与所述第二操作指令的重叠事务。
需要说明的是为了去除所述第一操作指令与所述第二操作指令的重叠事务,可以通过在所述备端数据库启动后,获取所述第一操作指令中各事务对应的第一序列号和所述第二操作指令中各事务对应的第二序列号;将所述第一序列号与所述第二序列号进行比较,获得比较结果;根据所述比较结果,获得所述第一操作指令和所述第二操作指令的重叠事务,并去除所述重叠事务。
需要解释的是,序列号是在某个时间点定义数据库已提交版本的时间戳标记,且每个事务分配的序列号是唯一的,序列号是一个只会增加不会减少的数字。例如,对于Oracle数据库来说,这个序列号就是SCN,对于SQL Server来说,这个序列号就是LSN。
步骤S502:基于所述重叠事务识别所述备端数据中未完成事务,所述未完成事务为备端数据库启动后被回滚的事务和新增事务。
需要说明的是,基于所述重叠事务识别所述备端数据中未完成事务可以是通过获取所述重叠事务的序列号;根据所述序列号,过滤所述第一操作指令中所述第一序列号小于所述序列号的对应事务,获得过滤结果;将所述过滤结果作为所述备端数据中未完成事务。
步骤S503:将所述未完成事务在所述备端数据库进行重放操作。
在具体实现中,对所述第一重做日志和所述备份点中记录的第二重做日志进行解析,获得所述第一重做日志对应的第一操作指令和所述第二重做日志对应的第二操作指令,把第一操作指令和第二操作指令中的重叠事务、以及这些重叠事务之前提交的完整事务剔除掉,剩下的事务都在备端数据库进行重放,完成源端数据库、备端数据库的新增数据同步,保证源端数据库事务、备端数据库事务刚好能衔接上(不重放重复的事务,也不漏掉该重放的事务)。
本实施例通过在接收到数据同步指令后,持续抓取源端数据库的第一重做日志;对所述源端数据库的有效数据执行整机备份操作,并将执行所述整机备份操作的时间点作为备份点;对所述第一重做日志和所述备份点中记录的第二重做日志进行解析,获得所述第一重做日志对应的第一操作指令和所述第二重做日志对应的第二操作指令;将所述备份点的数据还原至目标主机,以完成备端数据库的构建;在所述备端数据库启动后,去除所述第一操作指令与所述第二操作指令的重叠事务;基于所述重叠事务识别所述备端数据中未完成事务,所述未完成事务为备端数据库启动后被回滚的事务和新增事务;将所述未完成事务在所述备端数据库进行重放操作,以实现所述源端数据库与备端数据库的数据同步。相比于现有技术中通过使用数据库软件提供的接口操作方法,得到数据库中具体的应用数据,再通过数据库软件接口将数据同步到备端数据库,本发明通过对源端数据库做整机级的备份,然后将备份点恢复到目标主机上实现数据库基础数据的快速构建,然后在备端数据库启动后,去除第一操作指令与第二操作指令的重叠事务;基于重叠事务识别所述备端数据中在备端数据库启动后被回滚的事务和新增事务;然后将未完成事务在备端数据库进行重放操作,提高了源端数据库和备端数据库同步的效率。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有数据同步的实现程序,所述数据同步的实现程序被处理器执行时实现如上文所述的数据同步的实现方法的步骤。
参照图4,图4为本发明数据同步的实现装置第一实施例的结构框图。
如图4所示,本发明实施例提出的数据同步的实现装置包括:日志抓取模块401、整机备份模块402、日志解析模块403、数据还原模块404和数据同步模块405。
所述日志抓取模块401,用于在接收到数据同步指令后,持续抓取源端数据库的第一重做日志。
所述整机备份模块402,用于对所述源端数据库的有效数据执行整机备份操作,并将执行所述整机备份操作的时间点作为备份点。
所述日志解析模块403,用于对所述第一重做日志和所述备份点中记录的第二重做日志进行解析,获得所述第一重做日志对应的第一操作指令和所述第二重做日志对应的第二操作指令。
所述数据还原模块404,用于将所述备份点的数据还原至目标主机,以完成备端数据库的构建。
所述数据同步模块405,用于基于所述第一操作指令和所述第二操作指令对所述备端数据库进行重放操作,以实现所述源端数据库与所述备端数据库的数据同步。
所述日志抓取模块401,还用于在接收到数据同步指令后,通过在预设日志获取程序依次抓取源端数据库的第一重做日志或基于预设间隔时间通过预设SQL语句持续抓取源端数据库的第一重做日志。
所述整机备份模块402,还用于获取所述源端数据库对应的主机上磁盘的分区结构;基于所述分区结构将所述主机上磁盘的分区拼凑成卷设备,并识别所述卷设备的有效数据;获取所述有效数据,并将所述有效数据转换为磁盘有效数据;基于所述磁盘有效数据对所述源端数据库执行整机备份操作。
所述数据还原模块404,还用于获取所述备份点对应的目标数据;通过使用整机备份恢复的方式将所述目标数据还原至目标主机。
本装置通过在接收到数据同步指令后,持续抓取源端数据库的第一重做日志;对所述源端数据库的有效数据执行整机备份操作,并将执行所述整机备份操作的时间点作为备份点;对所述第一重做日志和所述备份点中记录的第二重做日志进行解析,获得所述第一重做日志对应的第一操作指令和所述第二重做日志对应的第二操作指令;将所述备份点的数据还原至目标主机,以完成备端数据库的构建;基于所述第一操作指令和所述第二操作指令对所述备端数据库进行重放操作,以实现所述源端数据库与备端数据库的数据同步。相比于现有技术中通过使用数据库软件提供的接口操作方法,得到数据库中具体的应用数据,再通过数据库软件接口将数据同步到备端数据库,本发明通过对源端数据库做整机级的备份,然后将备份点恢复到目标主机上实现数据库基础数据的快速构建,然后再进行增量数据的同步,提高了源端数据库和备端数据库同步的效率。
基于本发明上述数据同步的实现装置第一实施例,提出本发明数据同步的实现装置的第二实施例。
在本实施例中,所述数据同步模块405,还用于在所述备端数据库启动后,去除所述第一操作指令与所述第二操作指令的重叠事务;基于所述重叠事务识别所述备端数据中未完成事务,所述未完成事务为备端数据库启动后被回滚的事务和新增事务;将所述未完成事务在所述备端数据库进行重放操作。
所述数据同步模块405,还用于在所述备端数据库启动后,获取所述第一操作指令中各事务对应的第一序列号和所述第二操作指令中各事务对应的第二序列号;将所述第一序列号与所述第二序列号进行比较,获得比较结果;根据所述比较结果,获得所述第一操作指令和所述第二操作指令的重叠事务,并去除所述重叠事务。
所述数据同步模块405,还用于获取所述重叠事务的序列号;根据所述序列号,过滤所述第一操作指令中所述第一序列号小于所述序列号的对应事务,获得过滤结果;将所述过滤结果作为所述备端数据中未完成事务。
本发明数据同步的实现装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种数据同步的实现方法,其特征在于,所述方法包括以下步骤:
在接收到数据同步指令后,持续抓取源端数据库的第一重做日志;
对所述源端数据库的有效数据执行整机备份操作,并将执行所述整机备份操作的时间点作为备份点;
对所述第一重做日志和所述备份点中记录的第二重做日志进行解析,获得所述第一重做日志对应的第一操作指令和所述第二重做日志对应的第二操作指令;
将所述备份点的数据还原至目标主机,以完成备端数据库的构建;
基于所述第一操作指令和所述第二操作指令对所述备端数据库进行重放操作,以实现所述源端数据库与所述备端数据库的数据同步。
2.如权利要求1所述的方法,其特征在于,所述对所述源端数据库的有效数据执行整机备份操作的步骤,包括:
获取所述源端数据库对应的主机上磁盘的分区结构;
基于所述分区结构将所述主机上磁盘的分区拼凑成卷设备,并识别所述卷设备的有效数据;
获取所述有效数据,并将所述有效数据转换为磁盘有效数据;
基于所述磁盘有效数据对所述源端数据库执行整机备份操作。
3.如权利要求1所述的方法,其特征在于,所述基于所述第一操作指令和所述第二操作指令对所述备端数据库进行重放操作的步骤,包括:
在所述备端数据库启动后,去除所述第一操作指令与所述第二操作指令的重叠事务;
基于所述重叠事务识别所述备端数据中未完成事务,所述未完成事务为备端数据库启动后被回滚的事务和新增事务;
将所述未完成事务在所述备端数据库进行重放操作。
4.如权利要求3所述的方法,其特征在于,所述在所述备端数据库启动后,去除所述第一操作指令与所述第一操作指令的重叠事务的步骤,包括:
在所述备端数据库启动后,获取所述第一操作指令中各事务对应的第一序列号和所述第二操作指令中各事务对应的第二序列号;
将所述第一序列号与所述第二序列号进行比较,获得比较结果;
根据所述比较结果,获得所述第一操作指令和所述第二操作指令的重叠事务,并去除所述重叠事务。
5.如权利要求4所述的方法,其特征在于,所述并基于所述重叠事务识别所述备端数据中未完成事务的步骤,包括:
获取所述重叠事务的序列号;
根据所述序列号,过滤所述第一操作指令中所述第一序列号小于所述序列号的对应事务,获得过滤结果;
将所述过滤结果作为所述备端数据中未完成事务。
6.如权利要求2所述的方法,其特征在于,所述将所述备份点的数据还原至目标主机的步骤,具体包括:
获取所述备份点对应的目标数据;
通过使用整机备份恢复的方式将所述目标数据还原至目标主机。
7.如权利要求1-6任一项所述的方法,其特征在于,所述在接收到数据同步指令后,持续抓取源端数据库的第一重做日志的步骤,包括:
在接收到数据同步指令后,通过在预设日志获取程序依次抓取源端数据库的第一重做日志;
或,
在接收到数据同步指令后,基于预设间隔时间通过预设SQL语句持续抓取源端数据库的第一重做日志。
8.一种数据同步的实现装置,其特征在于,所述装置包括:
日志抓取模块,用于在接收到数据同步指令后,持续抓取源端数据库的第一重做日志;
整机备份模块,用于对所述源端数据库的有效数据执行整机备份操作,并将执行所述整机备份操作的时间点作为备份点;
日志解析模块,用于对所述第一重做日志和所述备份点中记录的第二重做日志进行解析,获得所述第一重做日志对应的第一操作指令和所述第二重做日志对应的第二操作指令;
数据还原模块,用于将所述备份点的数据还原至目标主机,以完成备端数据库的构建;
数据同步模块,用于基于所述第一操作指令和所述第二操作指令对所述备端数据库进行重放操作,以实现所述源端数据库与备端数据库的数据同步。
9.一种数据同步的实现设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据同步的实现程序,所述数据同步的实现程序配置为实现如权利要求1至7中任一项所述的数据同步的实现方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有数据同步的实现程序,所述数据同步的实现程序被处理器执行时实现如权利要求1至7任一项所述的数据同步的实现方法的步骤。
CN202310828194.3A 2023-07-07 2023-07-07 数据同步的实现方法、装置、设备及存储介质 Active CN116541469B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310828194.3A CN116541469B (zh) 2023-07-07 2023-07-07 数据同步的实现方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310828194.3A CN116541469B (zh) 2023-07-07 2023-07-07 数据同步的实现方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN116541469A true CN116541469A (zh) 2023-08-04
CN116541469B CN116541469B (zh) 2024-04-09

Family

ID=87456456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310828194.3A Active CN116541469B (zh) 2023-07-07 2023-07-07 数据同步的实现方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116541469B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112314A (zh) * 2023-10-24 2023-11-24 深圳市科力锐科技有限公司 业务数据切换方法、装置、设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140258241A1 (en) * 2013-03-08 2014-09-11 Oracle International Corporation Zero and near-zero data loss database backup and recovery
CN105955843A (zh) * 2016-04-21 2016-09-21 久盈世纪(北京)科技有限公司 一种用于数据库恢复的方法与设备
CN107391628A (zh) * 2017-06-30 2017-11-24 北京奇虎科技有限公司 数据同步方法及装置
CN108460163A (zh) * 2018-04-13 2018-08-28 郑州云海信息技术有限公司 K-db数据库数据同步方法、装置、设备及存储介质
CN109241185A (zh) * 2018-08-27 2019-01-18 武汉达梦数据库有限公司 一种数据同步的方法以及数据同步装置
CN114840361A (zh) * 2022-04-13 2022-08-02 江苏安超云软件有限公司 加快数据库恢复的方法及应用
CN115454717A (zh) * 2022-09-16 2022-12-09 广州鼎甲计算机科技有限公司 数据库实时备份方法、装置、计算机设备和存储介质
WO2023061265A1 (zh) * 2021-10-14 2023-04-20 阿里云计算有限公司 数据处理方法及装置
CN115994053A (zh) * 2022-11-25 2023-04-21 金篆信科有限责任公司 数据库备机的并行回放方法、装置、电子设备及介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140258241A1 (en) * 2013-03-08 2014-09-11 Oracle International Corporation Zero and near-zero data loss database backup and recovery
CN105955843A (zh) * 2016-04-21 2016-09-21 久盈世纪(北京)科技有限公司 一种用于数据库恢复的方法与设备
CN107391628A (zh) * 2017-06-30 2017-11-24 北京奇虎科技有限公司 数据同步方法及装置
CN108460163A (zh) * 2018-04-13 2018-08-28 郑州云海信息技术有限公司 K-db数据库数据同步方法、装置、设备及存储介质
CN109241185A (zh) * 2018-08-27 2019-01-18 武汉达梦数据库有限公司 一种数据同步的方法以及数据同步装置
WO2023061265A1 (zh) * 2021-10-14 2023-04-20 阿里云计算有限公司 数据处理方法及装置
CN114840361A (zh) * 2022-04-13 2022-08-02 江苏安超云软件有限公司 加快数据库恢复的方法及应用
CN115454717A (zh) * 2022-09-16 2022-12-09 广州鼎甲计算机科技有限公司 数据库实时备份方法、装置、计算机设备和存储介质
CN115994053A (zh) * 2022-11-25 2023-04-21 金篆信科有限责任公司 数据库备机的并行回放方法、装置、电子设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
全立新: "Oracle8备份与恢复策略讨论", 湖南工业职业技术学院学报, no. 01, 30 March 2003 (2003-03-30) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112314A (zh) * 2023-10-24 2023-11-24 深圳市科力锐科技有限公司 业务数据切换方法、装置、设备及存储介质
CN117112314B (zh) * 2023-10-24 2024-02-06 深圳市科力锐科技有限公司 业务数据切换方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN116541469B (zh) 2024-04-09

Similar Documents

Publication Publication Date Title
JP2972419B2 (ja) データベース運用制御方式
US7606838B2 (en) Distributed conflict resolution for replicated databases
CN116541469B (zh) 数据同步的实现方法、装置、设备及存储介质
US9612920B2 (en) Hierarchical system manager rollback
US8762347B1 (en) Method and apparatus for processing transactional file system operations to enable point in time consistent file data recreation
CN108664359A (zh) 一种数据库恢复方法、装置、设备及存储介质
CN105573859A (zh) 一种数据库的数据恢复方法和设备
WO2021169496A1 (zh) 数据读取方法、装置、设备及存储介质
CN105574026A (zh) 非关系型数据库支持事务的方法及装置
US7051051B1 (en) Recovering from failed operations in a database system
US20080184070A1 (en) RAID capacity expansion interruption recovery handling method and system
KR102049417B1 (ko) Nvdimm을 이용한 인-메모리 데이터베이스 기반의 데이터 저장 및 복원 방법
CN108762988A (zh) 一种数据处理的方法以及相关设备
CN108459925A (zh) 私有云设备及其数据库的修复方法、具有存储功能的装置
CN113986941A (zh) 事务批量处理方法及装置
CN115408200A (zh) 多存储引擎的数据备份方法、装置、电子设备及存储介质
CN117349088B (zh) 数据库增量回切方法、装置、设备及存储介质
CN112612648B (zh) 一种SQL Server数据库恢复方法、终端设备及存储介质
CN112463644B (zh) 数据恢复软件的回归测试方法、装置、设备及存储介质
CN116610500B (zh) 数据备份方法、装置、设备及存储介质
JPH1040123A (ja) ジョブ管理方式と方法
JP2004199264A (ja) データベース処理方法及びその実施装置並びにその処理プログラム
EP3591529B1 (en) System and method for backup storage garbage collection
CN117271221A (zh) 数据库数据的恢复方法、存储介质与设备
CN116302696A (zh) 数据库系统的归档日志生成方法、存储介质及计算机设备

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
GR01 Patent grant
GR01 Patent grant