CN107729515A - 一种数据同步的方法、装置及存储介质 - Google Patents

一种数据同步的方法、装置及存储介质 Download PDF

Info

Publication number
CN107729515A
CN107729515A CN201711014010.0A CN201711014010A CN107729515A CN 107729515 A CN107729515 A CN 107729515A CN 201711014010 A CN201711014010 A CN 201711014010A CN 107729515 A CN107729515 A CN 107729515A
Authority
CN
China
Prior art keywords
database
data
incremental data
incremental
sent
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
CN201711014010.0A
Other languages
English (en)
Other versions
CN107729515B (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.)
China Mobile Communications Group Co Ltd
MIGU Culture Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
MIGU Culture 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 China Mobile Communications Group Co Ltd, MIGU Culture Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201711014010.0A priority Critical patent/CN107729515B/zh
Publication of CN107729515A publication Critical patent/CN107729515A/zh
Application granted granted Critical
Publication of CN107729515B publication Critical patent/CN107729515B/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
    • G06F16/275Synchronous replication

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据同步的方法,包括:第一数据库检测到与第二数据库的网络连接断开后,停止向所述第二数据库主动同步增量数据;当检测到与所述第二数据库的网络连接恢复后,接收所述第二数据库发送的用于获取增量数据的获取请求,基于所述获取请求将增量数据发送给所述第二数据库;在确定所述第一数据库的数据与所述第二数据库的数据一致后,向所述第二数据库主动同步增量数据。本发明还同时公开了一种数据同步的装置、以及存储介质。

Description

一种数据同步的方法、装置及存储介质
技术领域
本发明涉及数据通信领域中的数据传输技术,尤其涉及一种数据同步的方法、装置及存储介质。
背景技术
随着社会信息量的不断增加,数据库产品的应用越来越广泛,一些企业和用户对数据库的可用性、实时性和安全性也提出了更高的要求。为保证数据库系统在出现故障的情况下仍然能够持续提供服务,目前一般采用数据库备份技术。具体而言,数据库系统中包括一个主数据库和若干个备数据库,当主数据库出现故障时,备数据库将即时接管并提供相应服务,以保障服务不间断。
图1为现有的分布式数据库系统中数据备份的应用场景示意图,如图1所示,多个不同的客户端分别通过各自的应用程序编程接口(API,Application ProgrammingInterface)向主数据库写入数据,主数据库在接收到写入的数据之后,将数据同步至各备数据库中,进而完成对主数据库中数据进行备份的过程。然而,当分布式数据库系统出现异常,比如主数据库与备数据库之间的通信链路断开(或者称为网络断链)时,主数据库中的数据将无法同步至备数据库中,进而出现主数据库与备数据库之间失步的情况。
目前,现有技术中为了解决主数据库与备数据库之间失步的问题,一般采用主数据库向备数据库主动同步的策略;也就是说,在主数据库与备数据库之间失步时,主数据库将记录各备数据库的网络状态,以及失步时间段内主数据库相对于各备数据库产生的增量数据,这样,当数据库系统恢复正常后,主数据库将失步时间段内的增量数据主动同步给各备数据库,以达到主数据库与各备数据库之间的数据保持一致。
然而,在主数据库向备数据库主动同步增量数据的过程中,客户端有可能还将不断向主数据库写入新的数据,与此同时,主数据库在接收到客户端再次发送的新的数据后,将新的数据主动同步给备数据库,而备数据库接收并存储数据的能力是有限的,从而导致备数据库数据出现混乱,造成数据库系统稳定性降低。对于如何解决现有的数据恢复过程中主数据库向备数据库主动同步数据所导致的备数据库数据混乱的问题,相关技术尚无有效解决方案。
发明内容
有鉴于此,本发明实施例期望提供一种数据同步的方法、装置及存储介质,至少用以解决现有的数据恢复过程中主数据库向备数据库主动同步数据所导致的备数据库数据混乱的问题。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供一种数据同步的方法,应用于第一数据库,所述方法包括:
所述第一数据库检测到与第二数据库的网络连接断开后,停止向所述第二数据库主动同步增量数据;
当检测到与所述第二数据库的网络连接恢复后,接收所述第二数据库发送的用于获取增量数据的获取请求,基于所述获取请求将增量数据发送给所述第二数据库;
在确定所述第一数据库的数据与所述第二数据库的数据一致后,向所述第二数据库主动同步增量数据。
上述方案中,所述第一数据库和第二数据库中分别设置有标识信息,所述标识信息用于表征所述第一数据库和第二数据库中不同数据的时序;
所述获取请求中携带有所述第二数据库当前时刻最新数据对应的第一标识信息;
所述基于所述获取请求将增量数据发送给所述第二数据库,包括:
根据所述第一标识信息和标识信息的时序,确定增量数据;
将确定的增量数据发送给所述第二数据库。
上述方案中,所述基于所述获取请求将增量数据发送给所述第二数据库,包括:
将第一增量数据发送给所述第二数据库,所述第一增量数据为所述增量数据中的部分或全部数据;
接收所述第二数据库发送的用于获取增量数据的获取请求,根据所述获取请求中携带的所述第二数据库中最新数据对应的第一标识信息,判断所述增量数据是否已完成同步;
确定所述增量数据未完成同步时,向所述第二数据库发送增量数据同步未完成的提示信息,继续接收所述第二数据库发送的用于获取增量数据的获取请求;
确定所述增量数据已完成同步时,向所述第二数据库发送增量数据同步已完成的提示信息。
上述方案中,所述根据所述获取请求中携带的所述第二数据库中最新数据对应的第一标识信息,判断所述增量数据是否已完成同步,包括:
将所述第一标识信息,与当前时刻第一数据库中最新数据对应的第二标识信息进行匹配;
当所述第一标识信息与所述第二标识信息一致时,确定所述增量数据已完成同步;
当所述第一标识信息与所述第二标识信息不一致时,确定所述增量数据未完成同步。
上述方案中,所述方法还包括:接收至少一个客户端发送的数据更新请求,基于所述数据更新请求生成增量数据;其中,所述数据更新的类型至少包括以下之一:增加、修改和删除。
本发明实施例提供一种数据同步的方法,应用于第二数据库,所述方法包括:
所述第二数据库检测到与第一数据库的网络连接断开后,停止接收所述第一数据库主动同步的增量数据;
当检测到与所述第一数据库的网络连接恢复后,向所述第一数据库发送用于获取增量数据的获取请求;
接收所述第一数据库发送的增量数据,并在确定所述第一数据库的数据与所述第二数据库的数据一致后,接收所述第一数据库主动同步的增量数据。
上述方案中,所述接收所述第一数据库发送的增量数据,包括:
接收所述第一数据库发送的第一增量数据,所述第一增量数据为所述增量数据中的部分或全部数据;
当所述第一数据库确定所述增量数据未完成同步时,接收所述第一数据库发送的增量数据同步未完成的提示信息,继续向所述第一数据库发送用于获取增量数据的获取请求;
当所述第一数据库确定所述增量数据已完成同步时,接收所述第一数据库发送的增量数据同步已完成的提示信息。
本发明实施例提供一种数据同步的装置,应用于第一数据库,所述装置包括:同步停止模块、请求接收模块和数据发送模块;其中,
所述同步停止模块,用于所述第一数据库检测到与第二数据库的网络连接断开后,停止向所述第二数据库主动同步增量数据;
所述请求接收模块,用于当检测到与所述第二数据库的网络连接恢复后,接收所述第二数据库发送的用于获取增量数据的获取请求;
所述数据发送模块,用于基于所述获取请求将增量数据发送给所述第二数据库,还用于在确定所述第一数据库的数据与所述第二数据库的数据一致后,向所述第二数据库主动同步增量数据。
上述方案中,所述第一数据库和第二数据库中分别设置有标识信息,所述标识信息用于表征所述第一数据库和第二数据库中不同数据的时序;
所述获取请求中携带有所述第二数据库当前时刻最新数据对应的第一标识信息;
所述数据发送模块,具体用于:根据所述第一标识信息和标识信息的时序,确定增量数据;将确定的增量数据发送给所述第二数据库。
上述方案中,所述数据发送模块,具体用于:将第一增量数据发送给所述第二数据库,所述第一增量数据为所述增量数据中的部分或全部数据;
接收所述第二数据库发送的用于获取增量数据的获取请求,根据所述获取请求中携带的所述第二数据库中最新数据对应的第一标识信息,判断所述增量数据是否已完成同步;
确定所述增量数据未完成同步时,向所述第二数据库发送增量数据同步未完成的提示信息,继续接收所述第二数据库发送的用于获取增量数据的获取请求;
确定所述增量数据已完成同步时,向所述第二数据库发送增量数据同步已完成的提示信息。
本发明实施例提供一种数据同步的装置,应用于第二数据库,所述装置包括:接收停止模块、请求发送模块和数据接收模块;其中,
所述接收停止模块,用于所述第二数据库检测到与第一数据库的网络连接断开后,停止接收所述第一数据库主动同步的增量数据;
所述请求发送模块,用于当检测到与所述第一数据库的网络连接恢复后,向所述第一数据库发送用于获取增量数据的获取请求;
所述数据接收模块,用于接收所述第一数据库发送的增量数据,并在确定所述第一数据库的数据与所述第二数据库的数据一致后,接收所述第一数据库主动同步的增量数据。
上述方案中,所述数据接收模块,具体用于:接收所述第一数据库发送的第一增量数据,所述第一增量数据为所述增量数据中的部分或全部数据;
当所述第一数据库确定所述增量数据未完成同步时,接收所述第一数据库发送的增量数据同步未完成的提示信息,继续向所述第一数据库发送用于获取增量数据的获取请求;
当所述第一数据库确定所述增量数据已完成同步时,接收所述第一数据库发送的增量数据同步已完成的提示信息。
本发明实施例提供一种存储介质,其上存储有可执行程序,所述可执行程序被处理器执行时实现如前述任一所述数据同步的方法的步骤。
本发明实施例还提供一种数据同步的装置,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序,所述处理器运行所述可执行程序时执行如前述任一所述数据同步的方法的步骤。
本发明实施例所提供的数据同步的方法、装置及存储介质,所述方法包括:第一数据库检测到与第二数据库的网络连接断开后,停止向所述第二数据库主动同步增量数据;当检测到与所述第二数据库的网络连接恢复后,接收所述第二数据库发送的用于获取增量数据的获取请求,基于所述获取请求将增量数据发送给所述第二数据库;在确定所述第一数据库的数据与所述第二数据库的数据一致后,向所述第二数据库主动同步增量数据。如此,在第一数据库(主数据库)与第二数据库(备数据库)失步后的数据恢复过程中,备数据库向主数据库主动发送同步请求,以获取增量数据,避免备数据库数据混乱。另外,主数据库无需单独记录失步时间段内的增量数据,只需根据检测到的与备数据库之间的网络状态,即可判断是否主动向备数据库同步失步的增量数据,这样,可以大大减少主数据库的硬件资源和软件资源的消耗,降低处理复杂度;并且,备数据库主动发送同步请求,能减少因主数据库同步给备数据库时出现错误导致的数据不同步问题,提高数据库系统的稳定性。
附图说明
图1为现有的分布式数据库系统中数据备份的应用场景示意图;
图2为本发明实施例提供的一种数据同步的方法的实现流程示意图;
图3为本发明实施例提供的另一种数据同步的方法的实现流程示意图;
图4为本发明实施例提供的一种数据同步的方法的具体实现交互示意图;
图5为本发明实施例提供的一种数据同步的装置的功能结构示意图;
图6为本发明实施例提供的另一种数据同步的装置的功能结构示意图;
图7为本发明实施例提供的一种数据同步的装置的硬件结构示意图。
具体实施方式
为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。本领域技术人员应当理解,本发明实施例所记载的各技术方案之间,在不冲突的情况下,可以任意组合。
图2为本发明实施例提供的一种数据同步的方法的实现流程示意图,所述数据同步的方法应用于第一数据库,本实施例中的第一数据库为主数据库,是主要用来提供数据的数据库;如图2所示,本发明实施例中数据同步的方法的实现流程,包括以下步骤:
步骤201:所述第一数据库检测到与第二数据库的网络连接断开后,停止向所述第二数据库主动同步增量数据。
具体来说,当第一数据库检测到与第二数据库之间的网络状态为通信链路断开后,第一数据库中的数据将无法同步至第二数据库中,此时,第一数据库与第二数据库将处于失步状态,第一数据库将记录第二数据库的网络状态为失步状态,此时第一数据库将不再向第二数据库主动同步增量数据。
在本实施例中,所述方法还包括:接收至少一个客户端发送的数据更新请求,基于所述数据更新请求生成增量数据;
其中,所述数据更新的类型至少包括以下之一:增加、修改和删除。
这里,所述客户端可以包括但不限于智能手机、平板电脑、掌上电脑等各种类型的客户端。当客户端的数据发生变更时,客户端可通过API向第一数据库发送数据更新请求,该数据更新请求有可能会导致第一数据库新增数据、修改数据或删除数据,从而使第一数据库产生增量数据。
需要说明的是,所述第一数据库和第二数据库,可以是内存数据库,也可以是物理数据库,本发明实施例在此不做限定。
步骤202:当检测到与所述第二数据库的网络连接恢复后,接收所述第二数据库发送的用于获取增量数据的获取请求,基于所述获取请求将增量数据发送给所述第二数据库。
在本实施例中,所述第一数据库和第二数据库中分别设置有标识信息,所述标识信息用于表征所述第一数据库和第二数据库中不同数据的时序;所述获取请求中携带有所述第二数据库当前时刻最新数据对应的第一标识信息。
作为一种实施方式,本步骤202中的基于所述获取请求将增量数据发送给所述第二数据库,包括:根据所述第一标识信息和标识信息的时序,确定增量数据;将确定的增量数据发送给所述第二数据库。
这里,第一数据库检测到与第二数据库的网络连接恢复后,由于失步时间段内第一数据库相对于第二数据库产生了失步的增量数据,因此,第二数据库仍保持失步状态。
具体来说,实际应用中,随着第二数据库的数量不断增加,第一数据库需要另外开辟内存资源来管理第一数据库相对于各第二数据库的新增数据,进而将大量消耗第一数据库的硬件资源和软件资源;同时,由于第一数据库记录新增数据的缓冲区容量较固定,当新增数据所占用的存储空间超出了缓冲区的固有容量时,新增数据将会覆盖原始记录的数据,从而造成第一数据库处理逻辑复杂。为了解决该技术问题,本发明实施例采用标识信息来表征第一数据库和第二数据库中不同数据的时序,例如,所述标识信息可以是数据的流水号,具体来说,流水号可以是按照各项数据的写入顺序分配的连续数字,且数字越大,表示数据越新。
本实施例中,第一数据库根据获取请求中携带的第二数据库当前时刻最新数据对应的第一标识信息,可以确定第一数据库相对于第二数据库的增量数据,比如,以标识信息为流水号为例,且流水号根据时序依次递增,若获取请求中携带的第二数据库当前时刻最新数据的流水号为90,而当前时刻第一数据库中的最新数据的流水号为100,那么,便可确定第一数据库中流水号为91至100的数据即为第一数据库相对于第二数据库的新增的数据。
在实际应用中,第一数据库在每次向第二数据库发送数据时,所发送的数据数量往往是有限的,比如第一数据库的数据包每次只能发送5条数据记录,然而,第一数据库在向第二数据库发送数据的过程中,客户端有可能还会再次向第一数据库写入数据,因此,第一数据库中的数据有可能还会相应发生变化,进而出现同步错误的问题。为了避免该技术问题,第一数据库在每次向第二数据库发送增量数据时,都将判断增量数据是否已经发送完成,即判断增量数据是否已完成同步,若判断出还未完成同步,则第二数据库再次发送获取请求。
作为另一种实施方式,本步骤202中的基于所述获取请求将增量数据发送给所述第二数据库,包括:
将第一增量数据发送给所述第二数据库,所述第一增量数据为所述增量数据中的部分或全部数据;
接收所述第二数据库发送的用于获取增量数据的获取请求,根据所述获取请求中携带的所述第二数据库中最新数据对应的第一标识信息,判断所述增量数据是否已完成同步;
确定所述增量数据未完成同步时,向所述第二数据库发送增量数据同步未完成的提示信息,继续接收所述第二数据库发送的用于获取增量数据的获取请求;
确定所述增量数据已完成同步时,向所述第二数据库发送增量数据同步已完成的提示信息。
本实施例中,对于当第一数据库确定增量数据未完成同步时,第一数据库继续接收第二数据库发送的用于获取增量数据的获取请求来说,由于增量数据未完成同步,则第二数据库仍处于失步状态,所述获取请求中仍将携带第二数据库当前时刻最新数据对应的第一标识信息。这样,在第一数据库判断出增量数据还未完成同步后,第二数据库再次主动发送获取请求,能减少因第一数据库同步给第二数据库时出现错误导致的数据不同步问题。
这里,所述根据所述获取请求中携带的所述第二数据库中最新数据对应的第一标识信息,判断所述增量数据是否已完成同步,包括:
将所述第一标识信息,与当前时刻第一数据库中最新数据对应的第二标识信息进行匹配;
当所述第一标识信息与所述第二标识信息一致时,确定所述增量数据已完成同步;
当所述第一标识信息与所述第二标识信息不一致时,确定所述增量数据未完成同步。
需要特别强调的是,在第一数据库接收第二数据库主动发送的获取请求后,将增量数据发送给第二数据库的过程中,第一数据库只要未收到第二数据库的获取请求,就不会主动将增量数据同步给第二数据库,以避免第一数据库和第二数据库之间的数据混乱。
步骤203:在确定所述第一数据库的数据与所述第二数据库的数据一致后,向所述第二数据库主动同步增量数据。
这里,确定第一数据库的数据与第二数据库的数据一致时,表明增量数据已完成同步,此时,第一数据库与第二数据库的状态同步,第一数据库会将记录的第二数据库的网络状态由失步状态变为同步状态,若第一数据库在第二数据库由失步状态置为同步状态后,又生成了新的增量数据,则第一数据库将新生成的增量数据主动同步给第二数据库,使第一数据库的数据与第二数据库的数据保持同步。
需要说明的是,由于第一数据库可能会记录多个第二数据库的网络状态,因此,可通过各第二数据库的标识来区分不同的第二数据库;也就是说,通过各第二数据库的标识,来记录各第二数据库的网络状态。
采用本发明实施例的技术方案,在第一数据库和第二数据库同步的场景下,采用第一数据库向第二数据库主动同步数据的策略,在第一数据库和第二数据库失步的场景下,采用第二数据库主动向第一数据库获取失步的增量数据的策略,如此,可以避免数据恢复过程中第二数据库的数据出现混乱的问题。
图3为本发明实施例提供的另一种数据同步的方法的实现流程示意图,所述数据同步的方法应用于第二数据库,本实施例中的第二数据库为备数据库,是用于当主数据库出现故障时来接续提供数据的数据库;如图3所示,本发明实施例中数据同步的方法的实现流程,包括以下步骤:
步骤301:所述第二数据库检测到与第一数据库的网络连接断开后,停止接收所述第一数据库主动同步的增量数据。
具体来说,当第二数据库检测到与第一数据库之间的网络状态为通信链路断开后,由于第一数据库中的数据无法同步至第二数据库中,此时,第一数据库与第二数据库将处于失步状态,即第一数据库所记录的第二数据库的网络状态为失步状态,由于此时第一数据库将不再向第二数据库主动同步增量数据,因此,第二数据库将停止接收第一数据库主动同步的增量数据。
这里,所述第一数据库和第二数据库,可以是内存数据库,也可以是物理数据库,本发明实施例在此不做限定。
步骤302:当检测到与所述第一数据库的网络连接恢复后,向所述第一数据库发送用于获取增量数据的获取请求。
在本实施例中,所述第一数据库和第二数据库中分别设置有标识信息,所述标识信息用于表征所述第一数据库和第二数据库中不同数据的时序;所述获取请求中携带有所述第二数据库当前时刻最新数据对应的第一标识信息。例如,所述标识信息可以是数据的流水号,具体来说,流水号可以是按照各项数据的写入顺序分配的连续数字,且数字越大,表示数据越新。
这里,第二数据库检测到与第一数据库的网络连接恢复后,由于失步时间段内第一数据库相对于第二数据库产生了失步的增量数据,因此,第二数据库仍保持为失步状态。为了与第一数据库中的数据保持同步,第二数据库向第一数据库发送获取请求,以获取失步时间段内第一数据库产生的失步的增量数据。
步骤303:接收所述第一数据库发送的增量数据,并在确定所述第一数据库的数据与所述第二数据库的数据一致后,接收所述第一数据库主动同步的增量数据。
本实施例中,本步骤303中的接收所述第一数据库发送的增量数据,包括:接收所述第一数据库发送的第一增量数据,所述第一增量数据为所述增量数据中的部分或全部数据;
当所述第一数据库确定所述增量数据未完成同步时,接收所述第一数据库发送的增量数据同步未完成的提示信息,继续向所述第一数据库发送用于获取增量数据的获取请求;
当所述第一数据库确定所述增量数据已完成同步时,接收所述第一数据库发送的增量数据同步已完成的提示信息。
这里,当第一数据库确定所述增量数据未完成同步时,第二数据库仍处于失步状态,此时,第二数据库继续向第一数据库发送获取请求,且获取请求中仍将携带第二数据库当前时刻最新数据对应的第一标识信息。这样,在第一数据库判断出增量数据还未完成同步后,第二数据库再次主动发送获取请求,能减少因第一数据库同步给第二数据库时出现错误导致的数据不同步问题。
这里,确定第一数据库的数据与第二数据库的数据一致时,表明增量数据已完成同步,此时,第一数据库与第二数据库的状态同步,第一数据库会将记录的第二数据库的网络状态由失步状态变为同步状态,若第一数据库在第二数据库由失步状态置为同步状态后,又生成了新的增量数据,则第一数据库将新生成的增量数据主动同步给第二数据库,即第二数据库接收第一数据库主动同步的增量数据,使第一数据库的数据与第二数据库的数据保持同步。
采用本发明实施例的技术方案,在第一数据库和第二数据库同步的场景下,采用第一数据库向第二数据库主动同步数据的策略,在第一数据库和第二数据库失步的场景下,采用第二数据库主动向第一数据库获取失步的增量数据的策略,如此,可以避免数据恢复过程中第二数据库的数据出现混乱的问题。
下面以第一数据库为主数据库,第二数据库为备数据库为例,对本发明实施例数据同步的方法的具体实现过程做进一步地详细说明。
图4为本发明实施例提供的一种数据同步的方法的具体实现交互示意图,如图4所示,所述数据同步的方法的具体实现流程,包括以下步骤:
步骤401:初始主备数据库状态同步时,客户端向主数据库发送数据更新请求;
本实施例中,主备数据库状态同步时,主数据库将记录备数据库的状态为同步状态。这里,所述客户端可以包括但不限于智能手机、平板电脑、掌上电脑等各种类型的客户端。当客户端的数据发生变更时,客户端可通过API向主数据库发送数据更新请求,该数据更新请求有可能会导致主数据库新增数据、修改数据或删除数据。
需要说明的是,所述主数据库和备数据库,可以是内存数据库,也可以是物理数据库,本发明实施例在此不做限定。
步骤402:主数据库接收到数据更新请求后,生成增量数据;
这里,所述数据更新的类型至少包括以下之一:增加、修改和删除。
步骤403:主数据库将生成的增量数据主动同步给备数据库;
步骤404:备数据库对增量数据进行应用,并向主数据库返回成功响应;
这里,备数据库向主数据库返回成功响应,表明备数据库已成功接收增量数据,此时,备数据库的数据与主数据库的数据将保持状态同步。
步骤405:主数据库检测到与备数据库的网络连接断开后,停止向备数据库主动同步增量数据;或者,备数据库检测到与主数据库的网络连接断开后,停止接收主数据库主动同步的增量数据;
本实施例中,当主数据库与备数据库之间的网络状态为通信链路断开后,主数据库中的数据将无法同步至备数据库中,此时,主数据库与备数据库将处于失步状态,主数据库将记录备数据库的网络状态为失步状态,主数据库将不再向备数据库主动同步增量数据,同样,备数据库将停止接收主数据库主动同步的增量数据。
步骤406:主数据库检测到与备数据库的网络连接恢复;或者,备数据库检测到与主数据库的网络连接恢复;
步骤407:备数据库向主数据库发送用于获取增量数据的获取请求;
在本实施例中,主数据库和备数据库中分别设置有标识信息,所述标识信息用于表征主数据库和备数据库中不同数据的时序;所述获取请求中携带有备数据库当前时刻最新数据对应的第一标识信息。所述标识信息可以是数据的流水号,具体来说,流水号可以是按照各项数据的写入顺序分配的连续数字,且数字越大,表示数据越新。
步骤408:主数据库接收到获取请求后,在每次向备数据库发送增量数据后,将判断增量数据是否已完成同步,若未完成,则执行步骤409,否则执行步骤411;
这里,主数据库根据获取请求中携带的备数据库当前时刻最新数据对应的第一标识信息,可以确定主数据库相对于备数据库的增量数据,比如,以标识信息为流水号为例,且流水号根据时序依次递增,若获取请求中携带的备数据库当前时刻最新数据的流水号为90,而当前时刻主数据库中的最新数据的流水号为100,那么,便可确定主数据库中流水号为91至100的数据即为主数据库相对于备数据库的新增的数据。
这里,主数据库将第一增量数据发送给备数据库,所述第一增量数据为所述增量数据中的部分或全部数据;主数据库接收到备数据库发送的获取请求后,将根据获取请求中携带的备数据库中最新数据对应的第一标识信息,来判断增量数据是否已完成同步。
对于根据第一标识信息,判断增量数据是否已完成同步来说,可以采用以下方式来实现:将第一标识信息,与当前时刻主数据库中最新数据对应的第二标识信息进行匹配;当第一标识信息与第二标识信息一致时,确定增量数据已完成同步;当第一标识信息与第二标识信息不一致时,确定增量数据未完成同步。
步骤409:主数据库向备数据库发送增量数据同步未完成的提示信息;
步骤410:备数据库再次向主数据库发送用于获取增量数据的获取请求,返回执行步骤408,直至判断增量数据已完成同步,执行步骤411;
这里,对于当主数据库确定增量数据未完成同步时,主数据库继续接收备数据库发送的用于获取增量数据的获取请求来说,由于增量数据未完成同步,则备数据库仍处于失步状态,所述获取请求中仍将携带备数据库当前时刻最新数据对应的第一标识信息。这样,在主数据库判断出增量数据还未完成同步后,备数据库再次主动发送获取请求,能减少因主数据库同步给备数据库时出现错误导致的数据不同步问题。
步骤411:主数据库向备数据库发送增量数据同步已完成的提示信息;
步骤412:主数据库将记录的备数据库的状态由失步状态置为同步状态,向备数据库主动同步置为同步状态之后所生成的增量数据。
这里,当备数据库的状态由失步状态变为同步状态时,表明主数据库的数据已经与备数据库的数据一致,即增量数据已完成同步,此时,主数据库与备数据库的状态同步。若主数据库在备数据库由失步状态置为同步状态后,又生成了新的增量数据,则主数据库将新生成的增量数据主动同步给备数据库,使主数据库的数据与备数据库的数据保持同步。
需要说明的是,由于主数据库可能会记录多个备数据库的网络状态,因此,可通过各备数据库的标识来区分不同的备数据库;也就是说,通过各备数据库的标识,来记录各备数据库的网络状态。
为实现上述数据同步的方法,本发明实施例还提供了一种数据同步的装置,所述数据同步的装置应用于第一数据库,本实施例中的第一数据库为主数据库,是主要用来提供数据的数据库;图5为本发明实施例提供的一种数据同步的装置的功能结构示意图,如图5所示,所述数据同步的装置包括同步停止模块501、请求接收模块502和数据发送模块503;其中,
所述同步停止模块501,用于所述第一数据库检测到与第二数据库的网络连接断开后,停止向所述第二数据库主动同步增量数据;
所述请求接收模块502,用于当检测到与所述第二数据库的网络连接恢复后,接收所述第二数据库发送的用于获取增量数据的获取请求;
所述数据发送模块503,用于基于所述获取请求将增量数据发送给所述第二数据库;
所述数据发送模块503,还用于在确定所述第一数据库的数据与所述第二数据库的数据一致后,向所述第二数据库主动同步增量数据。
这里,所述第一数据库和第二数据库中分别设置有标识信息,所述标识信息用于表征所述第一数据库和第二数据库中不同数据的时序;
所述获取请求中携带有所述第二数据库当前时刻最新数据对应的第一标识信息;
所述数据发送模块503,具体用于:根据所述第一标识信息和标识信息的时序,确定增量数据;将确定的增量数据发送给所述第二数据库。
这里,所述数据发送模块503,还可具体用于:将第一增量数据发送给所述第二数据库,所述第一增量数据为所述增量数据中的部分或全部数据;
接收所述第二数据库发送的用于获取增量数据的获取请求,根据所述获取请求中携带的所述第二数据库中最新数据对应的第一标识信息,判断所述增量数据是否已完成同步;
确定所述增量数据未完成同步时,向所述第二数据库发送增量数据同步未完成的提示信息,继续接收所述第二数据库发送的用于获取增量数据的获取请求;
确定所述增量数据已完成同步时,向所述第二数据库发送增量数据同步已完成的提示信息。
其中,对于根据所述获取请求中携带的所述第二数据库中最新数据对应的第一标识信息,判断所述增量数据是否已完成同步,可采用如下方式实现:
将所述第一标识信息,与当前时刻第一数据库中最新数据对应的第二标识信息进行匹配;
当所述第一标识信息与所述第二标识信息一致时,确定所述增量数据已完成同步;
当所述第一标识信息与所述第二标识信息不一致时,确定所述增量数据未完成同步。
在本实施例中,所述请求接收模块502,还用于接收至少一个客户端发送的数据更新请求;
所述装置还包括:生成模块504,用于基于所述数据更新请求生成增量数据;
其中,所述数据更新的类型至少包括以下之一:增加、修改和删除。
为实现上述数据同步的方法,本发明实施例还提供了另一种数据同步的装置,所述数据同步的装置应用于第二数据库,本实施例中的第二数据库为备数据库,是用于当主数据库出现故障时来接续提供数据的数据库;图6为本发明实施例提供的另一种数据同步的装置的功能结构示意图,如图6所示,所述数据同步的装置包括接收停止模块601、请求发送模块602和数据接收模块603;其中,
所述接收停止模块601,用于所述第二数据库检测到与第一数据库的网络连接断开后,停止接收所述第一数据库主动同步的增量数据;
所述请求发送模块602,用于当检测到与所述第一数据库的网络连接恢复后,向所述第一数据库发送用于获取增量数据的获取请求;
所述数据接收模块603,用于接收所述第一数据库发送的增量数据,并在确定所述第一数据库的数据与所述第二数据库的数据一致后,接收所述第一数据库主动同步的增量数据。
这里,所述数据接收模块603,具体用于:接收所述第一数据库发送的第一增量数据,所述第一增量数据为所述增量数据中的部分或全部数据;
当所述第一数据库确定所述增量数据未完成同步时,接收所述第一数据库发送的增量数据同步未完成的提示信息,继续向所述第一数据库发送用于获取增量数据的获取请求;
当所述第一数据库确定所述增量数据已完成同步时,接收所述第一数据库发送的增量数据同步已完成的提示信息。
在实际应用中,所述同步停止模块501、请求接收模块502、数据发送模块503、生成模块504、接收停止模块601、请求发送模块602和数据接收模块603均可由位于计算机设备上的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro ProcessorUnit)、数字信号处理器(DSP,Digital Signal Processor)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。
需要说明的是:上述实施例提供的数据同步的装置在进行数据同步时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的数据同步的装置与数据同步的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
为实现上述数据同步的方法,本发明实施例还提供了一种数据同步的装置的硬件结构。现在将参考附图描述实现本发明实施例的数据同步的装置,所述数据同步的装置可以以各种形式来实施,例如第一数据库、第二数据库。下面对本发明实施例的数据同步的装置的硬件结构做进一步说明,可以理解,图7仅仅示出了数据同步的装置的示例性结构而非全部结构,根据需要可以实施图7示出的部分结构或全部结构。
参见图7,图7为本发明实施例提供的一种数据同步的装置的硬件结构示意图,实际应用中可以应用于第一数据库或第二数据库,图7所示的数据同步的装置700包括:至少一个处理器701、存储器702、用户接口703和至少一个网络接口704。所述数据同步的装置700中的各个组件通过总线系统705耦合在一起。可以理解,总线系统705用于实现这些组件之间的连接通信。总线系统705除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统705。
其中,用户接口703可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
可以理解,存储器702可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。
本发明实施例中的存储器702用于存储各种类型的数据以支持数据同步的装置700的操作。这些数据的示例包括:用于在数据同步的装置700上操作的任何计算机程序,如可执行程序7021和操作系统7022,实现本发明实施例的数据同步的方法的程序可以包含在可执行程序7021中。
本发明实施例揭示的数据同步的方法可以应用于处理器701中,或者由处理器701实现。处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述数据同步的方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器701可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器701可以实现或者执行本发明实施例中提供的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所提供的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件完成前述方法的步骤。
在一实施例中,所述数据同步的装置700包括存储器702、处理器701及存储在存储器702上并能够由所述处理器701运行的可执行程序7021,所述处理器701运行所述可执行程序7021时实现:所述第一数据库检测到与第二数据库的网络连接断开后,停止向所述第二数据库主动同步增量数据;当检测到与所述第二数据库的网络连接恢复后,接收所述第二数据库发送的用于获取增量数据的获取请求,基于所述获取请求将增量数据发送给所述第二数据库;在确定所述第一数据库的数据与所述第二数据库的数据一致后,向所述第二数据库主动同步增量数据。
作为一种实施方式,所述处理器701运行所述可执行程序7021时实现:根据所述第一标识信息和标识信息的时序,确定增量数据;将确定的增量数据发送给所述第二数据库。
作为一种实施方式,所述处理器701运行所述可执行程序7021时实现:将第一增量数据发送给所述第二数据库,所述第一增量数据为所述增量数据中的部分或全部数据;接收所述第二数据库发送的用于获取增量数据的获取请求,根据所述获取请求中携带的所述第二数据库中最新数据对应的第一标识信息,判断所述增量数据是否已完成同步;确定所述增量数据未完成同步时,向所述第二数据库发送增量数据同步未完成的提示信息,继续接收所述第二数据库发送的用于获取增量数据的获取请求;确定所述增量数据已完成同步时,向所述第二数据库发送增量数据同步已完成的提示信息。
作为一种实施方式,所述处理器701运行所述可执行程序7021时实现:将所述第一标识信息,与当前时刻第一数据库中最新数据对应的第二标识信息进行匹配;当所述第一标识信息与所述第二标识信息一致时,确定所述增量数据已完成同步;当所述第一标识信息与所述第二标识信息不一致时,确定所述增量数据未完成同步。
作为一种实施方式,所述处理器701运行所述可执行程序7021时实现:接收至少一个客户端发送的数据更新请求,基于所述数据更新请求生成增量数据。
在另一实施例中,所述数据同步的装置700包括存储器702、处理器701及存储在存储器702上并能够由所述处理器701运行的可执行程序7021,所述处理器701运行所述可执行程序7021时实现:所述第二数据库检测到与第一数据库的网络连接断开后,停止接收所述第一数据库主动同步的增量数据;当检测到与所述第一数据库的网络连接恢复后,向所述第一数据库发送用于获取增量数据的获取请求;接收所述第一数据库发送的增量数据,并在确定所述第一数据库的数据与所述第二数据库的数据一致后,接收所述第一数据库主动同步的增量数据。
作为一种实施方式,所述处理器701运行所述可执行程序7021时实现:接收所述第一数据库发送的第一增量数据,所述第一增量数据为所述增量数据中的部分或全部数据;当所述第一数据库确定所述增量数据未完成同步时,接收所述第一数据库发送的增量数据同步未完成的提示信息,继续向所述第一数据库发送用于获取增量数据的获取请求;当所述第一数据库确定所述增量数据已完成同步时,接收所述第一数据库发送的增量数据同步已完成的提示信息。
本发明实施例还提供了一种存储介质,例如图7中所示的包括计算机程序的存储器702,上述计算机程序可由数据同步的装置700的处理器701执行,以完成前述方法所述步骤。本发明实施例提供的存储介质可为光盘、闪存或磁盘等存储介质,可选为非瞬间存储介质。
在一实施例中,所述存储介质,其上存储有可执行程序7021,所述可执行程序7021被处理器701执行时实现:所述第一数据库检测到与第二数据库的网络连接断开后,停止向所述第二数据库主动同步增量数据;当检测到与所述第二数据库的网络连接恢复后,接收所述第二数据库发送的用于获取增量数据的获取请求,基于所述获取请求将增量数据发送给所述第二数据库;在确定所述第一数据库的数据与所述第二数据库的数据一致后,向所述第二数据库主动同步增量数据。
作为一种实施方式,所述可执行程序7021被处理器701执行时实现:根据所述第一标识信息和标识信息的时序,确定增量数据;将确定的增量数据发送给所述第二数据库。
作为一种实施方式,所述可执行程序7021被处理器701执行时实现:将第一增量数据发送给所述第二数据库,所述第一增量数据为所述增量数据中的部分或全部数据;接收所述第二数据库发送的用于获取增量数据的获取请求,根据所述获取请求中携带的所述第二数据库中最新数据对应的第一标识信息,判断所述增量数据是否已完成同步;确定所述增量数据未完成同步时,向所述第二数据库发送增量数据同步未完成的提示信息,继续接收所述第二数据库发送的用于获取增量数据的获取请求;确定所述增量数据已完成同步时,向所述第二数据库发送增量数据同步已完成的提示信息。
作为一种实施方式,所述可执行程序7021被处理器701执行时实现:将所述第一标识信息,与当前时刻第一数据库中最新数据对应的第二标识信息进行匹配;当所述第一标识信息与所述第二标识信息一致时,确定所述增量数据已完成同步;当所述第一标识信息与所述第二标识信息不一致时,确定所述增量数据未完成同步。
作为一种实施方式,所述可执行程序7021被处理器701执行时实现:接收至少一个客户端发送的数据更新请求,基于所述数据更新请求生成增量数据。
在另一实施例中,所述存储介质,其上存储有可执行程序7021,所述可执行程序7021被处理器701执行时实现:所述第二数据库检测到与第一数据库的网络连接断开后,停止接收所述第一数据库主动同步的增量数据;当检测到与所述第一数据库的网络连接恢复后,向所述第一数据库发送用于获取增量数据的获取请求;接收所述第一数据库发送的增量数据,并在确定所述第一数据库的数据与所述第二数据库的数据一致后,接收所述第一数据库主动同步的增量数据。
作为一种实施方式,所述可执行程序7021被处理器701执行时实现:接收所述第一数据库发送的第一增量数据,所述第一增量数据为所述增量数据中的部分或全部数据;当所述第一数据库确定所述增量数据未完成同步时,接收所述第一数据库发送的增量数据同步未完成的提示信息,继续向所述第一数据库发送用于获取增量数据的获取请求;当所述第一数据库确定所述增量数据已完成同步时,接收所述第一数据库发送的增量数据同步已完成的提示信息。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或可执行程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的可执行程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和可执行程序产品的流程图和/或方框图来描述的。应理解可由可执行程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些可执行程序指令到通用计算机、专用计算机、嵌入式处理机或参考可编程数据处理设备的处理器以产生一个机器,使得通过计算机或参考可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些可执行程序指令也可存储在能引导计算机或参考可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些可执行程序指令也可装载到计算机或参考可编程数据处理设备上,使得在计算机或参考可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或参考可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (16)

1.一种数据同步的方法,其特征在于,应用于第一数据库,所述方法包括:
所述第一数据库检测到与第二数据库的网络连接断开后,停止向所述第二数据库主动同步增量数据;
当检测到与所述第二数据库的网络连接恢复后,接收所述第二数据库发送的用于获取增量数据的获取请求,基于所述获取请求将增量数据发送给所述第二数据库;
在确定所述第一数据库的数据与所述第二数据库的数据一致后,向所述第二数据库主动同步增量数据。
2.根据权利要求1所述的数据同步的方法,其特征在于,所述第一数据库和第二数据库中分别设置有标识信息,所述标识信息用于表征所述第一数据库和第二数据库中不同数据的时序;
所述获取请求中携带有所述第二数据库当前时刻最新数据对应的第一标识信息;
所述基于所述获取请求将增量数据发送给所述第二数据库,包括:
根据所述第一标识信息和标识信息的时序,确定增量数据;
将确定的增量数据发送给所述第二数据库。
3.根据权利要求1或2所述的数据同步的方法,其特征在于,所述基于所述获取请求将增量数据发送给所述第二数据库,包括:
将第一增量数据发送给所述第二数据库,所述第一增量数据为所述增量数据中的部分或全部数据;
接收所述第二数据库发送的用于获取增量数据的获取请求,根据所述获取请求中携带的所述第二数据库中最新数据对应的第一标识信息,判断所述增量数据是否已完成同步;
确定所述增量数据未完成同步时,向所述第二数据库发送增量数据同步未完成的提示信息,继续接收所述第二数据库发送的用于获取增量数据的获取请求;
确定所述增量数据已完成同步时,向所述第二数据库发送增量数据同步已完成的提示信息。
4.根据权利要求3所述的数据同步的方法,其特征在于,所述根据所述获取请求中携带的所述第二数据库中最新数据对应的第一标识信息,判断所述增量数据是否已完成同步,包括:
将所述第一标识信息,与当前时刻第一数据库中最新数据对应的第二标识信息进行匹配;
当所述第一标识信息与所述第二标识信息一致时,确定所述增量数据已完成同步;
当所述第一标识信息与所述第二标识信息不一致时,确定所述增量数据未完成同步。
5.根据权利要求1所述的数据同步的方法,其特征在于,所述方法还包括:接收至少一个客户端发送的数据更新请求,基于所述数据更新请求生成增量数据;其中,所述数据更新的类型至少包括以下之一:增加、修改和删除。
6.一种数据同步的方法,其特征在于,应用于第二数据库,所述方法包括:
所述第二数据库检测到与第一数据库的网络连接断开后,停止接收所述第一数据库主动同步的增量数据;
当检测到与所述第一数据库的网络连接恢复后,向所述第一数据库发送用于获取增量数据的获取请求;
接收所述第一数据库发送的增量数据,并在确定所述第一数据库的数据与所述第二数据库的数据一致后,接收所述第一数据库主动同步的增量数据。
7.根据权利要求6所述的数据同步的方法,其特征在于,所述接收所述第一数据库发送的增量数据,包括:
接收所述第一数据库发送的第一增量数据,所述第一增量数据为所述增量数据中的部分或全部数据;
当所述第一数据库确定所述增量数据未完成同步时,接收所述第一数据库发送的增量数据同步未完成的提示信息,继续向所述第一数据库发送用于获取增量数据的获取请求;
当所述第一数据库确定所述增量数据已完成同步时,接收所述第一数据库发送的增量数据同步已完成的提示信息。
8.一种数据同步的装置,其特征在于,应用于第一数据库,所述装置包括:同步停止模块、请求接收模块和数据发送模块;其中,
所述同步停止模块,用于所述第一数据库检测到与第二数据库的网络连接断开后,停止向所述第二数据库主动同步增量数据;
所述请求接收模块,用于当检测到与所述第二数据库的网络连接恢复后,接收所述第二数据库发送的用于获取增量数据的获取请求;
所述数据发送模块,用于基于所述获取请求将增量数据发送给所述第二数据库,还用于在确定所述第一数据库的数据与所述第二数据库的数据一致后,向所述第二数据库主动同步增量数据。
9.根据权利要求8所述的数据同步的装置,其特征在于,所述第一数据库和第二数据库中分别设置有标识信息,所述标识信息用于表征所述第一数据库和第二数据库中不同数据的时序;
所述获取请求中携带有所述第二数据库当前时刻最新数据对应的第一标识信息;
所述数据发送模块,具体用于:根据所述第一标识信息和标识信息的时序,确定增量数据;将确定的增量数据发送给所述第二数据库。
10.根据权利要求8或9所述的数据同步的装置,其特征在于,所述数据发送模块,具体用于:将第一增量数据发送给所述第二数据库,所述第一增量数据为所述增量数据中的部分或全部数据;
接收所述第二数据库发送的用于获取增量数据的获取请求,根据所述获取请求中携带的所述第二数据库中最新数据对应的第一标识信息,判断所述增量数据是否已完成同步;
确定所述增量数据未完成同步时,向所述第二数据库发送增量数据同步未完成的提示信息,继续接收所述第二数据库发送的用于获取增量数据的获取请求;
确定所述增量数据已完成同步时,向所述第二数据库发送增量数据同步已完成的提示信息。
11.一种数据同步的装置,其特征在于,应用于第二数据库,所述装置包括:接收停止模块、请求发送模块和数据接收模块;其中,
所述接收停止模块,用于所述第二数据库检测到与第一数据库的网络连接断开后,停止接收所述第一数据库主动同步的增量数据;
所述请求发送模块,用于当检测到与所述第一数据库的网络连接恢复后,向所述第一数据库发送用于获取增量数据的获取请求;
所述数据接收模块,用于接收所述第一数据库发送的增量数据,并在确定所述第一数据库的数据与所述第二数据库的数据一致后,接收所述第一数据库主动同步的增量数据。
12.根据权利要求11所述的数据同步的装置,其特征在于,所述数据接收模块,具体用于:接收所述第一数据库发送的第一增量数据,所述第一增量数据为所述增量数据中的部分或全部数据;
当所述第一数据库确定所述增量数据未完成同步时,接收所述第一数据库发送的增量数据同步未完成的提示信息,继续向所述第一数据库发送用于获取增量数据的获取请求;
当所述第一数据库确定所述增量数据已完成同步时,接收所述第一数据库发送的增量数据同步已完成的提示信息。
13.一种存储介质,其上存储有可执行程序,其特征在于,所述可执行程序被处理器执行时实现如权利要求1至5任一项所述数据同步的方法的步骤。
14.一种存储介质,其上存储有可执行程序,其特征在于,所述可执行程序被处理器执行时实现如权利要求6至7任一项所述数据同步的方法的步骤。
15.一种数据同步的装置,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序,其特征在于,所述处理器运行所述可执行程序时执行如权利要求1至5任一项所述数据同步的方法的步骤。
16.一种数据同步的装置,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序,其特征在于,所述处理器运行所述可执行程序时执行如权利要求6至7任一项所述数据同步的方法的步骤。
CN201711014010.0A 2017-10-26 2017-10-26 一种数据同步的方法、装置及存储介质 Active CN107729515B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711014010.0A CN107729515B (zh) 2017-10-26 2017-10-26 一种数据同步的方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711014010.0A CN107729515B (zh) 2017-10-26 2017-10-26 一种数据同步的方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN107729515A true CN107729515A (zh) 2018-02-23
CN107729515B CN107729515B (zh) 2021-03-05

Family

ID=61213838

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711014010.0A Active CN107729515B (zh) 2017-10-26 2017-10-26 一种数据同步的方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN107729515B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881452A (zh) * 2018-06-27 2018-11-23 咪咕文化科技有限公司 一种数据同步的方法、装置及存储介质
CN109033127A (zh) * 2018-05-31 2018-12-18 阿里巴巴集团控股有限公司 一种同步数据校验方法、装置以及设备
CN109344200A (zh) * 2018-10-10 2019-02-15 武汉达梦数据库有限公司 一种被动式数据同步方法及系统
CN109753292A (zh) * 2018-12-24 2019-05-14 智慧互通科技有限公司 一种在多单实例数据库服务中部署多个应用的方法及装置
CN110674214A (zh) * 2019-09-06 2020-01-10 中国平安财产保险股份有限公司 大数据同步方法、装置、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070174393A1 (en) * 2006-01-20 2007-07-26 Iona Technologies Inc. Method for recoverable message exchange independent of network protocols
CN103580891A (zh) * 2012-07-27 2014-02-12 腾讯科技(深圳)有限公司 一种数据同步的方法、系统及服务器
EP2790112A1 (en) * 2012-03-09 2014-10-15 Huawei Technologies Co., Ltd Method and system for data synchronization and data access apparatus
CN104166605A (zh) * 2014-08-18 2014-11-26 四川航天系统工程研究所 基于增量数据文件的数据备份方法及系统
CN104407945A (zh) * 2014-12-26 2015-03-11 北京奇虎科技有限公司 数据备份的方法、装置及系统
CN105512116A (zh) * 2014-09-22 2016-04-20 中兴通讯股份有限公司 数据同步的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070174393A1 (en) * 2006-01-20 2007-07-26 Iona Technologies Inc. Method for recoverable message exchange independent of network protocols
EP2790112A1 (en) * 2012-03-09 2014-10-15 Huawei Technologies Co., Ltd Method and system for data synchronization and data access apparatus
CN103580891A (zh) * 2012-07-27 2014-02-12 腾讯科技(深圳)有限公司 一种数据同步的方法、系统及服务器
CN104166605A (zh) * 2014-08-18 2014-11-26 四川航天系统工程研究所 基于增量数据文件的数据备份方法及系统
CN105512116A (zh) * 2014-09-22 2016-04-20 中兴通讯股份有限公司 数据同步的方法及装置
CN104407945A (zh) * 2014-12-26 2015-03-11 北京奇虎科技有限公司 数据备份的方法、装置及系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109033127A (zh) * 2018-05-31 2018-12-18 阿里巴巴集团控股有限公司 一种同步数据校验方法、装置以及设备
CN109033127B (zh) * 2018-05-31 2021-10-29 创新先进技术有限公司 一种同步数据校验方法、装置以及设备
CN108881452A (zh) * 2018-06-27 2018-11-23 咪咕文化科技有限公司 一种数据同步的方法、装置及存储介质
CN108881452B (zh) * 2018-06-27 2021-11-16 咪咕文化科技有限公司 一种数据同步的方法、装置及存储介质
CN109344200A (zh) * 2018-10-10 2019-02-15 武汉达梦数据库有限公司 一种被动式数据同步方法及系统
CN109344200B (zh) * 2018-10-10 2021-01-26 武汉达梦数据库股份有限公司 一种被动式数据同步方法及系统
CN109753292A (zh) * 2018-12-24 2019-05-14 智慧互通科技有限公司 一种在多单实例数据库服务中部署多个应用的方法及装置
CN109753292B (zh) * 2018-12-24 2023-07-07 智慧互通科技股份有限公司 一种在多单实例数据库服务中部署多个应用的方法及装置
CN110674214A (zh) * 2019-09-06 2020-01-10 中国平安财产保险股份有限公司 大数据同步方法、装置、计算机设备及存储介质
CN110674214B (zh) * 2019-09-06 2023-11-21 中国平安财产保险股份有限公司 大数据同步方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN107729515B (zh) 2021-03-05

Similar Documents

Publication Publication Date Title
CN107729515A (zh) 一种数据同步的方法、装置及存储介质
WO2019154394A1 (zh) 分布式数据库集群系统、数据同步方法及存储介质
JP6827501B2 (ja) ホットバックアップシステム、ホットバックアップ方法、及びコンピュータ機器
US8478718B1 (en) Systems and methods for replicating data in cluster environments
CN105446827B (zh) 一种数据库故障时的数据存储方法和设备
CN110807064B (zh) Rac分布式数据库集群系统中的数据恢复装置
CN104598168B (zh) 一种数据恢复方法及对象存储设备
CN107710215A (zh) 在测试设施中的移动计算装置安全的方法和设备
CN105159795A (zh) 数据同步方法、装置和系统
CN109739690B (zh) 备份方法及相关产品
CN106933843A (zh) 数据库心跳检测方法以及装置
CN110489225A (zh) 一种基于消息队列的服务扩容方法、装置及设备
CN109491832A (zh) 数据容灾方法与站点
CN105607968B (zh) 一种增量备份方法及设备
CN112583512B (zh) 一种时间同步装置和方法
CN114092252A (zh) 一种区块链交易执行方法、装置、设备及可读存储介质
CN106844694B (zh) 用于同步数据的方法及设备
CN108228789A (zh) 从节点触发的同步异常恢复方法及装置
CN103810038A (zh) 一种ha集群中虚拟机存储文件迁移方法及其装置
CN103838642A (zh) 一种数据恢复方法、装置和系统
CN102325171B (zh) 一种监控系统中数据的存储方法及其系统
CN107621994A (zh) 一种数据快照创建的方法及装置
CN105511808A (zh) 一种数据操作方法、系统及相关装置
CN109117317A (zh) 一种集群故障恢复方法和相关装置
CN108881452A (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