CN109344200A - 一种被动式数据同步方法及系统 - Google Patents

一种被动式数据同步方法及系统 Download PDF

Info

Publication number
CN109344200A
CN109344200A CN201811179781.XA CN201811179781A CN109344200A CN 109344200 A CN109344200 A CN 109344200A CN 201811179781 A CN201811179781 A CN 201811179781A CN 109344200 A CN109344200 A CN 109344200A
Authority
CN
China
Prior art keywords
data
incremental data
module
terminal
synchronized
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
CN201811179781.XA
Other languages
English (en)
Other versions
CN109344200B (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 CN201811179781.XA priority Critical patent/CN109344200B/zh
Publication of CN109344200A publication Critical patent/CN109344200A/zh
Application granted granted Critical
Publication of CN109344200B publication Critical patent/CN109344200B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种被动式数据同步方法,包括以下步骤:步骤S1、主数据库解析事务日志获取需同步的增量数据,并将所述增量数据发送至中间服务器;步骤S2、所述中间服务器缓存所述增量数据;步骤S3、终端数据库根据自身已同步增量数据的情况,向所述中间服务器发送获取请求以获取未同步增量数据;步骤S4、所述中间服务器根据所述获取请求发送相应的增量数据至所述终端数据库。本发明可最大限度减少对主数据库所在服务器的资源占用,同时具有很好的系统拓展性。

Description

一种被动式数据同步方法及系统
技术领域
本发明涉及数据库同步技术领域,具体涉及一种被动式数据同步方法及系统。
背景技术
随着科学技术的发展,数据库之间数据同步得到越来越多的应用,在很多复杂的系统中,存在多个数据库的数据均来源于同一个数据库,一对多数据同步的典型应用场景。例如一主多备系统中,为保证数据的安全及业务的连续性,需要对主节点数据库的数据做多个备份,当主节点数据库出现异常时,其中的一个备节点数据库可接替主节点数据库进行工作。再比如多终端系统,该系统中,中心数据库与终端数据库不在同一个服务器上,中心数据库与终端数据库上均部署有应用系统,为保证中心数据库应用系统与终端数据库应用系统在工作时数据一致,需将中心数据库中数据同步到各个终端数据库。
目前市场上数据同步软件在实现一对多数据同步时,主数据库同步软件首先将增量数据保存,然后主动将增量数据文件传送至各个终端数据库同步软件,各个终端数据库同步软件将增量数据文件应用到终端数据库。这种主动式的数据同步方法,应用于一对多系统时,存在以下缺点:
1.数据同步软件需为每个终端数据库配置一个增量数据文件实时探测及发送程序,由于主数据库与终端数据库部署在同一台服务器,当终端数据库数据较多时,这种操作会占用较多服务器资源,对主数据库的性能造成影响。
2.系统拓展性不强,当需要添加终端数据库时,需要重启主数据库同步软件,将添加的终端数据库信息添加到主数据库同步软件配置中。
发明内容
本发明的目的在于克服上述技术不足,提供一种被动式数据同步方法及系统,解决现有技术中一对多数据同步时,占用较多服务器资源,且拓展性不强的技术问题。
为达到上述技术目的,本发明的技术方案提供一种被动式数据同步方法,包括以下步骤:
步骤S1、主数据库解析事务日志获取需同步的增量数据,并将所述增量数据发送至中间服务器;
步骤S2、所述中间服务器缓存所述增量数据;
步骤S3、终端数据库根据自身已同步增量数据的情况,向所述中间服务器发送获取请求以获取未同步增量数据;
步骤S4、所述中间服务器根据所述获取请求发送相应的增量数据至所述终端数据库。
本发明还提供一种被动式数据同步系统,包括主同步模块1、中间同步模块以及终端同步模块;
所述主同步模块1用于解析事务日志获取需同步的增量数据,并将所述增量数据发送至所述中间同步模块;
所述中间同步模块用于缓存所述增量数据;
所述终端同步模块用于根据自身已同步增量数据的情况,向所述中间同步模块发送获取请求以获取未同步增量数据;
所述中间同步模块用于根据所述获取请求发送相应的增量数据至所述终端同步模块。
与现有技术相比,本发明的有益效果包括:本发明设置中间服务器,通过中间服务器负责发送增量数据,减轻了主数据库的数据同步压力,简化了主数据库同步软件的功能,减小了主数据库的硬件资源消耗,降低了数据同步对主数据库性能的影响。同时数据同步获取请求由终端数据库发起,中间服务器被动发送即可,当需要添加终端数据库时,只需要添加终端数据库的同步软件即可,拓展性强。
附图说明
图1是本发明提供的被动式数据同步方法的流程图;
图2是本发明提供的被动式数据同步方法的获取请求发送流程图;
图3是现有技术中主动式数据同步系统的工作原理图;
图4是本发明提供的被动式数据同步系统的工作原理图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1:
如图1所示,本发明的实施例1提供了一种被动式数据同步方法,包括以下步骤:
步骤S1、主数据库解析事务日志获取需同步的增量数据,并将所述增量数据发送至中间服务器;
步骤S2、所述中间服务器缓存所述增量数据;
步骤S3、终端数据库根据自身已同步增量数据的情况,向所述中间服务器发送获取请求以获取未同步增量数据;
步骤S4、所述中间服务器根据所述获取请求发送相应的增量数据至所述终端数据库。
本发明设置中间服务器,主数据库将需同步的增量数据库发送至中间服务器缓存,由中间服务器负责发送增量数据至各终端数据库,减轻了主数据库的数据同步压力,简化了主数据库同步软件的功能,减小了主数据库的硬件资源消耗,降低了数据同步对主数据库性能的影响。同时,与现有技术中主数据库主动向终端数据库发送增量数据方式不同的是,本发明通过终端数据库向中间服务器发送增量数据的获取请求,中间服务器根据获取请求被动发送相应的增量数据即可,因此当需要添加终端数据库时,只需要添加终端数据库的同步软件即可,使得系统拓展性增强。
优选的,所述步骤S2还包括:所述中间服务器为所述增量数据设置编号。
为需同步的增量数据设置编号,以便区分、识别不同的需同步的增量数据,便于对需同步的增量数据通已同步增量数据进行标识,从而准确获取未同步增量数据。
优选的,所述编号包括所述主数据库的标识号以及递增的流水号。
本实施例中需同步的增量数据的编号,格式为siteid_fileid.dat,siteid为主数据库的标识号,fileid为为递增的流水号,由中间服务器维护,.dat为数据格式,需同步的增量数据的编号全局唯一。
标识号的作用在于标识需同步的增量数据来自于哪一个主数据库。
流水号的作用在于对需同步的增量数据进行排序,一方面便于按顺序进行数据同步,保证数据同步的准确性;另一方面,下一次同步从上一次同步的结束为止开始,避免不必要的重复同步,提高数据同步效率。具体的,保存增量数据的增量数据文件包含数据文件头及增量数据。增量数据以事务为单位保存,每个事务包含一个LSN,表示事务结束时在主数据库执行的时刻。假定增量数据文件中包含事务TRX1,TRX2...TRXn,对应的LSN分别为LSN1,LSN2...LSNn,事务在增量数据文件中的位置分别为OFF1,OFF2,...OFFn,如OFF1<OFF2<....<OFFn,则LSN1<LSN2<...<LSNn。增量数据文件中记录了文件中事务的最小LSN,即LSNmin,以及最大LSN,即LSNmax。当存在多个增量数据文件时,多个增量数据文件的编号分别为1_1.dat,1_2.dat...1_m.dat,对应的最小LSN分别为LSNmin1,LSNmin2...LSNminm,对应的最大LSN分别为LSNmax1,LSNmax2...LSNmaxm,则大小关系为:LSNmin1≤LSNmax1≤LSNmin2≤LSNmax2≤...≤LSNminm≤LSNmaxm。由此可见,当有序根据编号中的流水号fileid获取增量数据文件时,获取到的事务也是按照LSN有序排列的,这样就保证数据同步的准确性以及高效性。
优选的,所述步骤S3具体为:
步骤S31、在所述终端数据库中建立同步进度表,所述同步进度表包括所述已同步增量数据的所述编号、执行完时所述主数据库的SCN值以及同步标记号;
步骤S32、所述终端数据库根据所述同步进度表获取所述未同步增量数据的起始编号,并向所述中间服务器发送获取编号为所述起始编号的增量数据的获取请求,以获取未同步增量数据。
具体的,所述同步进度表如下表所示:
上表中,TID为0的记录,表示小于SEQID的事务在终端数据库中都已同步完成,LFS字段数据表示SEQID所在的增量数据文件的流水号fileid,此时需要对流水号等于LFS的增量数据进行同步。TID不为0的记录,表示主数据库的增量数据均在终端数据库中同步完成。
具体的,终端数据库发送获取请求的流程如图2所示,图2中Fid为中间变量。先从同步精度表中获取TID=0的记录,如找不到,说明增量数据已同步完毕,则将中间变量Fid设置为0,如找到了TID=0的记录,则将Fid设置为该记录的LFS,以便获取该记录的增量数据。然后向中间服务器发送流水号Fileid等于Fid的增量数据的获取命令,以便获取更新的增量数据。接收返回的消息,如增量数据文件不存在则休眠30秒后再次向中间服务器发送流水号Fileid等于Fid的增量数据的获取请求,实现更新的增量数据的再次获取;如增量数据文件存在,则接收增量数据文件,接收完后判断是否停止接收,如果是则结束,否则Fid自加1并进行下一轮的获取请求发送。
优选的,所述步骤S4还包括:所述中间服务器中不存所述未同步增量数据时,所述终端服务器休眠设定时间后重新发送获取请求。
当中间服务器中不存在未同步增量数据时,则休眠设定时间,例如30秒后,重新发送获取请求,以便获取更新的增量数据,如此时仍然没有未同步增量数据,则再次休眠设定时间后重新发送获取请求,从而实现周期性检查是否存在更新的未同步增量数据,及时对未同步增量数据进行同步,保证终端数据库与主数据库的数据同步一致性。
实施例2:
如图3所示,本发明的实施例2提供了一种被动式数据同步系统,包括主同步模块1、中间同步模块2以及终端同步模块3;
所述主同步模块1用于解析事务日志获取需同步的增量数据,并将所述增量数据发送至所述中间同步模块2;
所述中间同步模块2用于缓存所述增量数据;
所述终端同步模块3用于根据自身已同步增量数据的情况,向所述中间同步模块2发送获取请求以获取未同步增量数据;
所述中间同步模块2用于根据所述获取请求发送相应的增量数据至所述终端同步模块3。
现有技术中主动式数据同步系统如图4所示,从图4中看出,现有系统,需在每一个终端数据库的终端同步模块20中均配置有增量数据文件实时探测及发送程序,由于主数据库与终端数据库部署在同一台服务器,当终端数据库数据较多时,这种操作会占用较多服务器资源,对主数据库的性能造成影响;需要添加终端数据库时,需要重启主数据库的主同步模块10,将添加的终端数据库信息添加到主数据库的主同步模块10的配置中,进行重新配置。
本发明中增量数据文件实时探测及发送程序是,是由终端服务器的终端同步模块3向中间服务器的中间同步模块2发送的,不会占用主数据库所在服务器的资源,因此对主数据库的性能影响较小,而且需要添加终端数据库时,由于中间服务器是被动式发送增量数据,因此不需要将添加的终端数据库的信息添加到中间服务器的中间同步模块2的配置文件中,因此,拓展性更强。
本发明提供的被动式数据同步系统基于上述被动式数据同步方法,因此,上述被动式数据同步方法所具备的技术效果,被动式数据同步系统同样具备,在此不再赘述。
优选的,所述中间同步模块2还用于为所述增量数据设置编号。
优选的,所述终端同步模块3还用于建立同步进度表,所述同步进度表包括所述已同步增量数据的所述编号、执行完时所述主数据库的SCN值以及同步标记号;
所述终端同步模块3还用于根据所述同步进度表获取所述未同步增量数据的起始编号,并向所述中间同步模块2发送获取编号为所述起始编号的增量数据的获取请求,以获取未同步增量数据。
优选的,所述终端同步模块3还用于,在所述中间同步模块2不存所述未同步增量数据时,所述终端同步模块3休眠设定时间后重新发送获取请求。
实施例3:
本发明的实施例3提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现以上任一实施例所述的被动式数据同步方法。
本发明提供的计算机存储介质,用于实现上述被动式数据同步方法,因此,上述被动式数据同步方法所具备的技术效果,计算机存储介质同样具备,在此不再赘述。
以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所做出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。

Claims (10)

1.一种被动式数据同步方法,其特征在于,包括以下步骤:
步骤S1、主数据库解析事务日志获取需同步的增量数据,并将所述增量数据发送至中间服务器;
步骤S2、所述中间服务器缓存所述增量数据;
步骤S3、终端数据库根据自身已同步增量数据的情况,向所述中间服务器发送获取请求以获取未同步增量数据;
步骤S4、所述中间服务器根据所述获取请求发送相应的增量数据至所述终端数据库。
2.根据权利要求1所述的被动式数据同步方法,其特征在于,所述步骤S2还包括:所述中间服务器为所述增量数据设置编号。
3.根据权利要求2所述的被动式数据同步方法,其特征在于,所述编号包括所述主数据库的标识号以及递增的流水号。
4.根据权利要求2所述的被动式数据同步方法,其特征在于,所述步骤S3具体为:
步骤S31、在所述终端数据库中建立同步进度表,所述同步进度表包括所述已同步增量数据的所述编号、执行完时所述主数据库的SCN值以及同步标记号;
步骤S32、所述终端数据库根据所述同步进度表获取所述未同步增量数据的起始编号,并向所述中间服务器发送获取编号为所述起始编号的增量数据的获取请求,以获取未同步增量数据。
5.根据权利要求1所述的被动式数据同步方法,其特征在于,所述步骤S4还包括:所述中间服务器中不存所述未同步增量数据时,所述终端服务器休眠设定时间后重新发送获取请求。
6.一种被动式数据同步系统,其特征在于,包括主同步模块1、中间同步模块以及终端同步模块;
所述主同步模块1用于解析事务日志获取需同步的增量数据,并将所述增量数据发送至所述中间同步模块;
所述中间同步模块用于缓存所述增量数据;
所述终端同步模块用于根据自身已同步增量数据的情况,向所述中间同步模块发送获取请求以获取未同步增量数据;
所述中间同步模块用于根据所述获取请求发送相应的增量数据至所述终端同步模块。
7.根据权利要求6所述的被动式数据同步系统,其特征在于,所述中间同步模块还用于为所述增量数据设置编号。
8.根据权利要求7所述的被动式数据同步系统,其特征在于,
所述终端同步模块还用于建立同步进度表,所述同步进度表包括所述已同步增量数据的所述编号、执行完时所述主数据库的SCN值以及同步标记号;
所述终端同步模块还用于根据所述同步进度表获取所述未同步增量数据的起始编号,并向所述中间同步模块发送获取编号为所述起始编号的增量数据的获取请求,以获取未同步增量数据。
9.根据权利要求8所述的被动式数据同步系统,其特征在于,所述终端同步模块还用于,在所述中间同步模块不存所述未同步增量数据时,所述终端同步模块休眠设定时间后重新发送获取请求。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-4任一所述的被动式数据同步方法。
CN201811179781.XA 2018-10-10 2018-10-10 一种被动式数据同步方法及系统 Active CN109344200B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811179781.XA CN109344200B (zh) 2018-10-10 2018-10-10 一种被动式数据同步方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811179781.XA CN109344200B (zh) 2018-10-10 2018-10-10 一种被动式数据同步方法及系统

Publications (2)

Publication Number Publication Date
CN109344200A true CN109344200A (zh) 2019-02-15
CN109344200B CN109344200B (zh) 2021-01-26

Family

ID=65308532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811179781.XA Active CN109344200B (zh) 2018-10-10 2018-10-10 一种被动式数据同步方法及系统

Country Status (1)

Country Link
CN (1) CN109344200B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6799190B1 (en) * 1996-11-13 2004-09-28 Intellisync Corporation Synchronizing databases
CN104239476A (zh) * 2014-09-04 2014-12-24 上海天脉聚源文化传媒有限公司 一种数据库同步的方法、装置及系统
CN106294713A (zh) * 2016-08-09 2017-01-04 深圳中兴网信科技有限公司 基于增量日志解析的数据同步方法和数据同步装置
CN107562883A (zh) * 2017-09-04 2018-01-09 马上消费金融股份有限公司 一种数据同步的方法及系统
CN107729515A (zh) * 2017-10-26 2018-02-23 咪咕文化科技有限公司 一种数据同步的方法、装置及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6799190B1 (en) * 1996-11-13 2004-09-28 Intellisync Corporation Synchronizing databases
CN104239476A (zh) * 2014-09-04 2014-12-24 上海天脉聚源文化传媒有限公司 一种数据库同步的方法、装置及系统
CN106294713A (zh) * 2016-08-09 2017-01-04 深圳中兴网信科技有限公司 基于增量日志解析的数据同步方法和数据同步装置
CN107562883A (zh) * 2017-09-04 2018-01-09 马上消费金融股份有限公司 一种数据同步的方法及系统
CN107729515A (zh) * 2017-10-26 2018-02-23 咪咕文化科技有限公司 一种数据同步的方法、装置及存储介质

Also Published As

Publication number Publication date
CN109344200B (zh) 2021-01-26

Similar Documents

Publication Publication Date Title
CN110347746B (zh) 一种异构数据库同步数据一致性校验方法及装置
CN102609479B (zh) 一种内存数据库节点复制方法
EP2378718B1 (en) Method, node and system for controlling version in distributed system
US10037346B1 (en) Time reservations for ensuring consistent reads in a distributed database without logging
CN109933632B (zh) 一种数据库的数据迁移方法、装置及设备
CN111241192A (zh) 一种数据同步方法
CN108494828B (zh) 一种节点数据的更新方法、介质、装置和计算设备
CN107729515B (zh) 一种数据同步的方法、装置及存储介质
WO2022001750A1 (zh) 数据同步处理方法、电子设备以及存储介质
CN111131118B (zh) 一种兼容宽带电力线载波抄控器多种通信接入模式的方法
EP2182695A1 (en) Method, system and device of data synchronization
WO2010028529A1 (zh) 数据同步中的修改日志维护方法和装置
CN113094430B (zh) 一种数据处理方法、装置、设备以及存储介质
WO2016082594A1 (zh) 数据更新处理方法及装置
CN107888434B (zh) 网络设备配置同步方法和装置
CN110213359B (zh) 一种基于d2d的车联网组网数据推送系统和方法
CN102594874B (zh) 一种同步处理方法和装置
WO2021212493A1 (zh) 数据同步方法、装置、数据存储系统及计算机可读介质
CN109344200A (zh) 一种被动式数据同步方法及系统
CN108460047A (zh) 数据同步方法及设备
CN113905054B (zh) 基于RDMA的Kudu集群数据同步方法、装置、系统
CN105743669A (zh) 一种数据通信方法和装置
CN110362428A (zh) 在线自动恢复数据库块的方法和系统
CN111090648B (zh) 一种关系型数据库数据同步冲突解决方法
CN114706923A (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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Fu Quan

Inventor after: Sun Feng

Inventor after: Liu Qichun

Inventor before: Fu Quan

Inventor before: Sun Feng

Inventor before: Liu Qichun

Inventor before: Yang Chun

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220905

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

Patentee after: Wuhan dream database Co.,Ltd.

Patentee 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

Patentee before: Wuhan dream database Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230804

Address after: 16-19/F, Building C3, Future Science and Technology Building, No. 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan City, Hubei Province, 430206

Patentee after: Wuhan dream database Co.,Ltd.

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

Patentee before: Wuhan dream database Co.,Ltd.

Patentee before: HUAZHONG University OF SCIENCE AND TECHNOLOGY