数据同步方法、装置、终端及存储介质制造方法及图纸

技术编号:21228284 阅读:19 留言:0更新日期:2019-05-29 08:45
本公开实施例公开了一种数据同步方法、装置、终端及存储介质。其中,数据同步方法包括:控制第一主数据库向所述第一主数据库的第一从数据库传输所述第一主数据库中的待同步数据,并控制所述第一从数据库将接收到的待同步数据同步至第二主数据库中;当满足预设停止同步条件时,控制所述第一主数据库停止向所述第一从数据库传输待同步数据;当满足预设恢复同步条件时,控制所述第一主数据库继续向所述第一从数据库传输待同步数据,并控制所述第一从数据库继续将接收到的待同步数据同步至第二主数据库中。本公开实施例的技术方案,能够解决现有数据同步方法往往需要将互通的数据库停机而影响用户体验的技术问题,实现在不停机的状态下完成数据同步。

Data synchronization methods, devices, terminals and storage media

The embodiment of the present disclosure discloses a data synchronization method, device, terminal and storage medium. The data synchronization method includes: controlling the first master database to transmit the unsynchronized data in the first master database to the first slave database of the first master database, and controlling the first slave database to synchronize the received unsynchronized data into the second master database; and controlling the first master database to stop to the first one when the preset stop synchronization condition is satisfied. The data to be synchronized is transmitted from the database; when the preset recovery synchronization condition is satisfied, the first master database is controlled to continue transmitting the data to be synchronized from the first slave database, and the first slave database is controlled to continue synchronizing the received data to the second master database. The technical scheme of the present disclosure embodiment can solve the technical problem that the existing data synchronization methods often need to shut down the interoperable database and affect the user experience, and realize data synchronization under the condition of shutdown.

【技术实现步骤摘要】
数据同步方法、装置、终端及存储介质
本公开实施例涉及计算机应用
,尤其涉及一种数据同步方法、装置、终端及存储介质。
技术介绍
MySQL是一个数据库管理系统,也是一个关系数据库。它是由Oracle支持的开源软件,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,被广泛应用。近年来,异地多活成为越来越多大型互联网公司采用的数据管理方案,几乎也是大型应用发展到一定阶段的必然选择。异地多活可以一般是指在不同城市建立独立的数据中心,这些机房在日常的业务中也需要走流量,做业务支撑。即在不同城市的两个机房之间的数据进行互通,使得用户在其中一个地点访问另一个地点的数据。但是,在两个机房数据互通时,仍然存在诸多问题。例如,现有的数据同步方法,为了保证数据同步的准确性与完整性,往往需要将互通的数据库停机,然而停机会影响到用户的正常访问,用户体验较差。
技术实现思路
本公开实施例提供了一种数据同步方法、装置、终端及存储介质,以解决现有数据同步方法往往需要将互通的数据库停机而影响用户体验的技术问题,实现在数据库不停机的状态下完成数据同步。第一方面,本公开实施例提供了一种数据同步方法,该方法包括:控制第一主数据库向所述第一主数据库的第一从数据库传输所述第一主数据库中的待同步数据,并控制所述第一从数据库将接收到的待同步数据同步至第二主数据库中;当满足预设停止同步条件时,控制所述第一主数据库停止向所述第一从数据库传输待同步数据;当满足预设恢复同步条件时,控制所述第一主数据库继续向所述第一从数据库传输待同步数据,并控制所述第一从数据库继续将接收到的待同步数据同步至第二主数据库中。第二方面,本公开实施例提供了一种数据同步方法,该方法包括:通过第二主数据库接收第一主数据库的第一从数据库所传输的待同步数据;控制第二主数据库将所述第二主数据库中的全量数据同步至所述第二主数据库的第二从数据库中;其中,所述全量数据包括所述第一从数据库传输的待同步数据和所述第二主数据库中的本端写入数据;所述待同步数据来源于第一主数据库;在满足预设停止同步条件时,所述第一主数据库停止向所述第一从数据库中传输待同步数据;在满足预设恢复同步条件时,所述第一主数据库继续将待同步数据传输至所述第一从数据库中。第三方面,本公开实施例还提供了一种数据同步装置,该装置包括:待同步数据同步模块,用于控制第一主数据库向所述第一主数据库的第一从数据库传输所述第一主数据库中的待同步数据,并控制所述第一从数据库将接收到的待同步数据同步至第二主数据库中;同步停止模块,用于当满足预设停止同步条件时,控制所述第一主数据库停止向所述第一从数据库传输待同步数据;同步恢复模块,用于当满足预设恢复同步条件时,控制所述第一主数据库继续向所述第一从数据库传输待同步数据,并控制所述第一从数据库继续将接收到的待同步数据同步至第二主数据库中。第四方面,本公开实施例还提供了一种数据同步装置,该装置包括:待同步数据接收模块,用于通过第二主数据库接收第一主数据库的第一从数据库所传输的待同步数据;全量数据同步模块,用于控制第二主数据库将所述第二主数据库中的全量数据同步至所述第二主数据库的第二从数据库中;其中,所述全量数据包括所述第一从数据库传输的待同步数据和所述第二主数据库中的本端写入数据;所述待同步数据来源于第一主数据库;在满足预设停止同步条件时,所述第一主数据库停止向所述第一从数据库中传输待同步数据;在满足预设恢复同步条件时,所述第一主数据库继续将待同步数据传输至所述第一从数据库中。第五方面,本公开实施例还提供了一种电子设备,该电子设备包括:一个或多个处理装置;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如本公开中任一实施例所述的数据同步方法。第六方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如本公开中任一实施例所述的数据同步方法。本公开实施例的技术方案,通过第一主数据库的第一从数据库向第二主数据库传输所述第一主数据库中的待同步数据,能够保证数据更加顺畅快速地进行传输,尤其适用于异地多活的场景;而且当满足预设停止同步条件时,控制停止第一主数据库与第一从数据库的数据传输,此时,第一从数据库中接收到的待同步数据为静态数据,相当于第一主数据库的快照snapshot,能够将第一从数据库的全量数据全部导入第二主数据库中;进而,当满足预设恢复同步条件时,恢复所述第一主数据库与所述第一从数据库的数据传输,以保证第一主数据库的待同步数据完全同步到第二主数据库中,能够通过断点续传的方式,解决现有数据同步方法往往需要将互通的数据库停机而影响用户体验的技术问题,实现在数据库不停机的状态下完成数据同步。附图说明图1是本公开实施例一所提供的一种数据同步方法的流程示意图;图2是本公开实施例二所提供的一种数据同步方法的流程示意图;图3是本公开实施例三所提供的一种数据同步方法的流程示意图;图4是本公开实施例四所提供的一种数据同步方法的流程示意图;图5a是本公开实施例五所提供的一种数据互通系统的流程示意图;。图5b是本公开实施例五所提供的一种数据单向同步的示意图;图5c是本公开实施例五所提供的一种数据双向同步的交互示意图;图5d是本公开实施例五所提供的另一种数据双向同步的交互示意图;图5e是本公开实施例五所提供的另一种数据双向同步的交互示意图;图5f是本公开实施例五所提供的另一种数据双向同步的交互示意图;图5g是本公开实施例五所提供的另一种数据双向同步的交互示意图;图5h是本公开实施例五所提供的另一种数据互通的交互示意图;图6是本公开实施例六所提供的一种数据同步装置的结构示意图;图7是本公开实施例七所提供的一种数据同步装置的结构示意图;图8是本公开实施例六所提供的一种电子设备的结构示意图。具体实施方式下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本公开,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分而非全部结构。下述各实施例中,每个实施例中同时提供了可选特征和示例,实施例中记载的各个特征可进行组合,形成多个可选方案,不应将每个编号的实施例仅视为一个技术方案。实施例一图1为本公开实施例一所提供的一种数据同步方法的流程图,本实施例尤其适用于两个独立数据库进行数据互通的情况,可用于实现异地多活,该方法可以由数据同步装置来执行,该数据同步装置可以配置于终端或服务器中用于实现本公开实施例的数据同步方法。其中,两个数据库是不是异地可以根据两个数据库之间的往返时延(Round-TripTime,RTT)确定。即,根据从发送端发送数据开始,到发送端收到来自接收端的确认,总共经历的时延,一般接收端收到数据后便立即发送确认。如图1所示,本实施例的方法具体可包括:S110、控制第一主数据库向所述传输所述第一主数据库中的待同步数据,并控制所述第一从数据库将接收到的待同步数据同步至第二主数据库中。其中,所述待同步数据包括所述第一数据库的历史数据和所述第一数据库的增量数据。可以理解的是,历史数据和第一增量数据可以根据实际需求进行划分。本文档来自技高网...

【技术保护点】
1.一种数据同步方法,其特征在于,包括:控制第一主数据库向所述第一主数据库的第一从数据库传输所述第一主数据库中的待同步数据,并控制所述第一从数据库将接收到的待同步数据同步至第二主数据库中;当满足预设停止同步条件时,控制所述第一主数据库停止向所述第一从数据库传输待同步数据;当满足预设恢复同步条件时,控制所述第一主数据库继续向所述第一从数据库传输待同步数据,并控制所述第一从数据库继续将接收到的待同步数据同步至第二主数据库中。

【技术特征摘要】
1.一种数据同步方法,其特征在于,包括:控制第一主数据库向所述第一主数据库的第一从数据库传输所述第一主数据库中的待同步数据,并控制所述第一从数据库将接收到的待同步数据同步至第二主数据库中;当满足预设停止同步条件时,控制所述第一主数据库停止向所述第一从数据库传输待同步数据;当满足预设恢复同步条件时,控制所述第一主数据库继续向所述第一从数据库传输待同步数据,并控制所述第一从数据库继续将接收到的待同步数据同步至第二主数据库中。2.根据权利要求1所述的方法,其特征在于,所述控制所述第一从数据库将接收到的待同步数据同步至第二主数据库中,包括:根据通过增量数据订阅与消费服务canal监听到的日志文件Binlog确定所述第一从数据库的增量数据;将所述增量数据通过分布式发布订阅消息系统kafka消息队列同步至所述第二主数据库中。3.根据权利要求1所述的方法,其特征在于,所述预设停止同步条件包括:所述第一从数据库与所述第一主数据库的数据同步时间达到预设时长且所述待同步数据无数据延迟。4.根据权利要求1所述的方法,其特征在于,所述预设恢复同步条件包括:所述第二主数据库接收到的同步数据与所述第一从数据库中的所述待同步数据一致。5.一种数据同步方法,其特征在于,包括:通过第二主数据库接收第一主数据库的第一从数据库所传输的待同步数据;控制第二主数据库将所述第二主数据库中的全量数据同步至所述第二主数据库的第二从数据库中;其中,所述全量数据包括所述第一从数据库传输的待同步数据和所述第二主数据库中的本端写入数据;所述待同步数据来源于第一主数据库;在满足预设停止同步条件时,所述第一主数据库停止向所述第一从数据库中传输待同步数据;在满足预设恢复同步条件时,所述第一主数据库继续将待同步数据传输至所述第一从数据库中。6.根据权利要求5所述的方法,其特征在于,控制所述第二主数据库将所述第二主数据库中的全量数据同步至所述第二主数据库的第二从数据库中,包括:通过第一数据复制中心DRC组件抽取出所述第二主数据库中的全量数据;将抽取出的所述全量数据经第一数据管道TPIPE组件给第二数据复制中心DRC组件,通过第二数据复制中心DRC组件将所述全量数据同步至所述第二从数据库中。7.根据权利要求5所述的方法,其特征在于,还包括:获取所述第二从数据库中的增量数据,将所述增量数据同步至第二主数据库中。8.根据权利要求7所述的...

【专利技术属性】
技术研发人员:宋维捷
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1