CN105512171B - 数据库同步的方法及装置 - Google Patents

数据库同步的方法及装置 Download PDF

Info

Publication number
CN105512171B
CN105512171B CN201510817687.2A CN201510817687A CN105512171B CN 105512171 B CN105512171 B CN 105512171B CN 201510817687 A CN201510817687 A CN 201510817687A CN 105512171 B CN105512171 B CN 105512171B
Authority
CN
China
Prior art keywords
data operation
database
data
primary
primary database
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.)
Active
Application number
CN201510817687.2A
Other languages
English (en)
Other versions
CN105512171A (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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510817687.2A priority Critical patent/CN105512171B/zh
Publication of CN105512171A publication Critical patent/CN105512171A/zh
Application granted granted Critical
Publication of CN105512171B publication Critical patent/CN105512171B/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

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为本发明中一个实施例的一种数据库同步的方法的流程示意图;
图2为本发明中一个优选实施例的一种数据库同步的方法的流程示意图;
图3为本发明中另一优选实施例的一种数据库同步的方法的流程示意图;
图4为本发明中另一优选实施例的一种数据库同步的方法的流程示意图;
图5为本发明中另一优选实施例的一种数据库同步的方法的流程示意图;
图6为本发明中另一实施例的一种数据库同步的装置的结构示意图;
图7为本发明中另一优选实施例的一种数据库同步的装置的结构示意图;
图8为本发明中另一优选实施例的一种数据库同步的装置的结构示意图;
图9为本发明中另一优选实施例的一种数据库同步的装置的结构示意图;
图10为本发明中另一优选实施例的一种数据库同步的装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领
域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
图1为本发明中一个实施例的一种数据库同步的方法的流程示意图。应用于包括至少两个主数据库的数据库系统中的第一主数据库。
步骤S110:当接收到数据操作请求时,解析数据操作请求以获取对应的数据操作命令和对应的数据操作信息;步骤S120:判断数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库;步骤S130:若数据操作请求是来自数据库系统中的第二主数据库,则根据数据操作信息记录当前已同步来自第二主数据库的同步数据条目数;步骤S140:执行数据操作命令。
本发明的实施例中,提出了一种数据库同步的方案,通过建立双主数据库的数据库系统,实现主数据库两两之间的实时数据同步,由于在任一主数据库端可维护已同步的同步数据条目数,保证了两主数据库通信中断恢复后,可依据同步数据条目数确定在通信中断期间尚未同步的数据操作命令,并将尚未同步的数据操作命令做数据补齐,避免了数据意外丢失,在保证两主数据库数据一致性的同时,大大提高了通信中断恢复后主数据库同步恢复的效率。进一步地,在包括双主数据库的数据库系统中,其中某一主数据库发生故障的情况下,由与其同步运行的其它主数据库服务器代替该故障主数据库服务器提供读写访问服务,满足了数据库系统向前端业务提供连续性服务的要求,实现多主数据库系统的数据高稳定性和高业务连续性。
步骤S110:当接收到数据操作请求时,解析数据操作请求以获取对应的数据操作命令和对应的数据操作信息。
例如,在包括至少两个主数据库DB1和DB2的数据库系统中,DB1为第一主数据库,DB1为第一主数据库,DB2为第二主数据库,DB1和DB2通过TCP(Transmission ControlProtocol,传输控制协议)协议建立通信链接,当DB1接收到数据操作请求时,解析该数据操作请求以获取对应的数据操作命令如更新一条数据“K1+add”的操作操作命令,和对应的数据操作信息,如与数据操作请求对应的时间戳“2015-05-0213:20:10”。
步骤S120:判断数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库。
其中,判断数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库的步骤进一步包括步骤S121(图中未示出)。步骤S121:依据数据操作信息判断数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库,其中数据操作信息包含用以区分数据操作请求来源的标识。
例如,接上例,若与该数据操作请求相应的数据操作信息中包含数据库系统中的DB2的标识信息,则可判断该数据操作请求是来自数据库系统中的DB2,如DB1接收到更新一条数据“db2-K2+ppt”的操作操作请求,则DB1可根据标识信息“db2”确定该数据请求来自DB2;若该数据操作请求相应的数据操作信息中不包含数据库系统中的DB2的标识信息则可判断该数据操作请求是来自数据库系统外部,如DB1接收到更新一条数据“K2+ppt”的操作操作请求,则DB1可根据该数据操作请求不包含标识信息“db2”确定该数据请求来自数据库系统外部。
步骤S130:若数据操作请求是来自数据库系统中的第二主数据库,则根据数据操作信息记录当前已同步来自第二主数据库的同步数据条目数。
例如,若数据操作请求是来自数据库系统中的DB2,则根据数据操作信息,如其中包含的该数据操作命令的命令序号确定第一主数据库DB1接收到的当前已同步来自第二主数据库DB2的同步数据条目数,并在DB1的同步日志中记录下来自DB2的同步数据条目数。
步骤S140:执行数据操作命令。
例如,根据数据操作信息中包含的数据操作命令如更新一条数据“K1+add”,在DB1中执行更新一条数据“K1+add”的操作。
又例如,通过解析该数据操作请求获得数据操作命令为更新一条数据“K1+add”,对应的数据操作信息包括第一时间戳“2015-03-0211:20:10”,与DB1的本地数据操作日志中键值为“K1”的数据的最后操作对应的第二时间戳“2015-03-0210:20:10”进行对比,由于第二时间戳早于第一时间戳,则在DB1中执行更新一条数据“K1+add”的操作。
在一优选实施例中,如图2所示,当监测到与第二主数据库之间的通信中断后恢复时,该方法还包括步骤S210、步骤S220和步骤S230。步骤S210:向第二主数据库发送同步恢复请求,其中,同步恢复请求包括同步数据条目数;步骤S210:接收第二主数据库响应于恢复同步请求发送的数据操作请求,其中,该数据操作请求为根据同步数据条目数在第二主数据库中所确定的尚未同步的数据操作命令和对应的数据操作信息;步骤S230:执行该数据操作命令。
例如,第一主数据库DB1和第二主数据库DB2之的间通信发生故障中断后,DB2无法再向DB1发送数据操作请求,而DB1也无法再接收来自DB2的数据操作请求,当监测到DB1和DB2之间的通信中断恢复时,DB1向DB2发送同步恢复请求,其中,同步恢复请求包括在DB1中记录的同步数据条目数如100,以及最后一条数据操作命令对应的时间戳T1;DB2接收到该同步恢复请求,根据在DB2的本地数据操作日志中记录的最后一条数据操作命令对应的时间戳T2,可确定尚未同步至DB1的数据操作请求为DB2中在T2至T1的时间区间内,DB2中执行的全部数据操作命令和对应的数据操作信息,如命令序号为第101条至第300条的数据操作命令和对应的数据操作信息,在DB2中基于将第101条的数据操作命令和对应的数据操作信息封装生成数据操作请求,并将该数据操作请求发送至DB1;DB1接收并解析该第101条数据操作命令和对应的数据操作信息,如更新一条数据“K1+add”,随后在主数据库DB1中执行更新一条数据“K1+add”的操作。
在一优选实施例中,该方法还包括步骤S240(图中未示出)。步骤S240:持续地接收包括与第二主数据库之间通信中断后尚未同步的数据操作命令的数据操作请求,并相应地执行数据操作命令,以完成与第二主数据库之间通信中断恢复后尚未同步数据的数据补齐。
例如,接上例,DB2将第101条至300条的数据操作命令和对应的数据操作信息持续地封装生成数据操作请求,并发送至DB1,DB1持续接收并解析来自DB2的第101条至300条的数据操作命令和对应的数据操作信息,并执行第101条至第300条的数据操作命令,以完成DB1与DB2之间通信中断恢复后尚未同步数据的数据补齐。
在一优选实施例中,如图3所示,该方法还包括步骤S310、步骤S320和步骤S330。步骤S310:完成与第二主数据库之间通信中断恢复后的尚未同步数据的数据补齐之前,当接收到数据操作请求时,解析数据操作请求以获取对应的数据操作命令和对应的数据操作信息;步骤S320:判断数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库;步骤S330:若数据操作请求是来自数据库系统外部,则将解析得到的数据操作命令和对应的数据操作信息缓存至本地缓存中。
例如,接上例,DB1完成与主数据库DB2之间通信中断恢复后的尚未同步数据的数据补齐之前,即在DB1中同步DB2的第101条至第300条的数据操作命令的数据操作请求的过程中,当DB1接收到当接收到数据操作请求时,解析该数据操作请求以获取对应的数据操作命令如更新一条数据“K2+ppt”和对应的数据操作信息如第一时间戳“2015-03-0211:20:10”,则DB1可根据该数据操作请求不包含标识信息“db2”确定该数据请求来自数据库系统外部,随后DB1将解析得到的数据操作命令如更新一条数据“K2+ppt”和对应的数据操作信息如第一时间戳“2015-03-0211:20:10”缓存至本地缓存中。
在一优选实施例中,该方法还包括步骤S340(图中未示出)。步骤S340:完成与第二主数据库之间通信中断恢复后的尚未同步数据的数据补齐之后,执行本地缓存中缓存的数据操作命令。
例如,接上例,DB1完成与DB2之间通信中断恢复后的尚未同步数据的数据补齐之后,DB1从本地缓存中获取该来自数据库系统外部的数据操作命令和对应的数据操作信息,并执行更新一条数据“K2+ppt”的操作。
图4为本发明中另一实施例的一种数据库同步的方法的流程示意图。应用于包括至少两个主数据库的数据库系统中的第二主数据库。
步骤S410:当接收到数据操作请求时,解析数据操作请求以获取对应的数据操作命令和对应的数据操作信息;步骤S420:判断数据操作请求是来自数据库系统外部或是来自数据库系统中的第一主数据库;步骤S430:若数据操作请求是来自数据库系统外部,将数据操作请求同步至数据库系统中的第一主数据库;步骤S440:记录当前已同步至第一主数据库的同步数据条目数。
例如,在包括至少两个主数据库DB1和DB2的数据库系统中,DB1为第一主数据库,DB2为第二主数据库,DB1和DB2通过TCP协议建立通信链接,当DB2接收到数据操作请求时,解析该数据操作请求以获取对应的数据操作命令如更新一条数据“K2+add”的操作操作命令,和对应的数据操作信息,如与数据操作请求对应的时间戳“2015-05-0313:20:10”,DB2可根据该数据操作请求不包含标识信息“db1”确定该数据请求来自数据库系统外部,将该数据操作请求同步至数据库系统中的DB1,同时,DB2记录当前已同步至主数据库DB1的同步数据条目数,如130。
其中,判断数据操作请求是来自数据库系统外部或是来自数据库系统中的第一主数据库的步骤进一步包括步骤S421(图中未示出)。步骤S421:依据数据操作信息判断数据操作请求是来自数据库系统外部或是来自数据库系统中的第一主数据库,其中数据操作信息包含用以区分数据操作请求来源的标识。
例如,接上例,若与该数据操作请求相应的数据操作信息中包含数据库系统中的DB1的标识信息,则可判断该数据操作请求是来自数据库系统中的DB1,如DB2接收到更新一条数据“db1-K2+ppt”的操作操作请求,则DB2可根据标识信息“db1”确定该数据请求来自DB1;若该数据操作请求相应的数据操作信息中不包含数据库系统中的DB1的标识信息则可判断该数据操作请求是来自数据库系统外部,如DB2接收到更新一条数据“K2+ppt”的操作操作请求,则DB2可根据该数据操作请求不包含标识信息“db1”确定该数据请求来自数据库系统外部。
在一优选实施例中,该方法还包括步骤S450(图中未示出)。步骤S450:当监测到与第一主数据库之间的通信中断时,停止将数据操作请求同步至第一主数据库。
例如,若第一主数据库DB1和第二主数据库DB2间的通信发生故障中断后,当DB2监测到与DB1之间的通信中断时,主数据库DB2停止将数据操作请求同步至主数据库DB1
在一优选实施例中,如图5所示,当监测到与第一主数据库之间的通信中断后恢复时,该方法还包括步骤S510、步骤S520和步骤S530。步骤S510:根据记录的当前已同步至第一主数据库的同步数据条目数,确定尚未同步至第一主数据库的数据操作命令和对应的数据操作信息;步骤S520:依据尚未同步至第一主数据库的数据操作命令和对应的数据操作信息生成数据操作请求;步骤S530:向第一主数据库发送数据操作请求。
例如,接上例,当DB2监测到与DB1之间的通信中断后恢复时,根据DB2记录的当前已同步至DB1的同步数据条目数如130及最后一条同步数据对应的时间戳T3,确定DB2中尚未同步至主数据库DB1的数据操作命令和对应的数据操作信息为在当前时间点T4至T3之间的DB2已执行的数据操作命令,如命令序号为第131条至第148条的数据操作命令,将DB2中第131条数据操作命令和对应的数据操作信息生成对应的数据操作请求并发送至主数据库DB1
在一优选实施例中,持续地向第一主数据库发送包括与第一主数据库之间通信中断后尚未同步的数据操作命令的数据操作请求,以完成与第一主数据库之间通信中断恢复后尚未同步数据的数据补齐。
例如,DB2中持续地基于已执行的数据操作命令中命令序号为第131条至第148条各自对应的数据操作命令和对应的数据操作信息生成数据操作命令,并持续地向DB1发送数据操作命令,在DB2持续地执行DB2发送的数据操作命令以完成与DB2与DB1之间通信中断恢复后尚未同步数据的数据补齐。
图6为本发明中一个实施例的一种数据库同步的装置的结构示意图。应用于包括至少两个主数据库的数据库系统中的第一主数据库。
当接收到数据操作请求时,第一解析模块610解析数据操作请求以获取对应的数据操作命令和对应的数据操作信息;第一判断模块620判断数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库;若数据操作请求是来自数据库系统中的第二主数据库,则第一同步模块630根据数据操作信息记录当前已同步来自第二主数据库的同步数据条目数;第一执行模块640执行数据操作命令。
本发明的实施例中,提出了一种数据库同步的方案,通过建立双主数据库的数据库系统,实现主数据库两两之间的实时数据同步,由于在任一主数据库端可维护已同步的同步数据条目数,保证了两主数据库通信中断恢复后,可依据同步数据条目数确定在通信中断期间尚未同步的数据操作命令,并将尚未同步的数据操作命令做数据补齐,避免了数据意外丢失,在保证两主数据库数据一致性的同时,大大提高了通信中断恢复后主数据库同步恢复的效率。进一步地,在包括双主数据库的数据库系统中,其中某一主数据库发生故障的情况下,由与其同步运行的其它主数据库服务器代替该故障主数据库服务器提供读写访问服务,满足了数据库系统向前端业务提供连续性服务的要求,实现多主数据库系统的数据高稳定性和高业务连续性。
当接收到数据操作请求时,第一解析模块610解析数据操作请求以获取对应的数据操作命令和对应的数据操作信息。
例如,在包括至少两个主数据库DB1和DB2的数据库系统中,DB1为第一主数据库,DB1为第一主数据库,DB2为第二主数据库,DB1和DB2通过TCP(Transmission ControlProtocol,传输控制协议)协议建立通信链接,当DB1接收到数据操作请求时,解析该数据操作请求以获取对应的数据操作命令如更新一条数据“K1+add”的操作操作命令,和对应的数据操作信息,如与数据操作请求对应的时间戳“2015-05-0213:20:10”。
第一判断模块620判断数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库。
优选地,第一判断模块620依据数据操作信息判断数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库,其中数据操作信息包含用以区分数据操作请求来源的标识。
例如,接上例,若与该数据操作请求相应的数据操作信息中包含数据库系统中的DB2的标识信息,则可判断该数据操作请求是来自数据库系统中的DB2,如DB1接收到更新一条数据“db2-K2+ppt”的操作操作请求,则DB1可根据标识信息“db2”确定该数据请求来自DB2;若该数据操作请求相应的数据操作信息中不包含数据库系统中的DB2的标识信息则可判断该数据操作请求是来自数据库系统外部,如DB1接收到更新一条数据“K2+ppt”的操作操作请求,则DB1可根据该数据操作请求不包含标识信息“db2”确定该数据请求来自数据库系统外部。
若数据操作请求是来自数据库系统中的第二主数据库,则第一同步模块630根据数据操作信息记录当前已同步来自第二主数据库的同步数据条目数。
例如,若数据操作请求是来自数据库系统中的DB2,则根据数据操作信息,如其中包含的该数据操作命令的命令序号确定第一主数据库DB1接收到的当前已同步来自第二主数据库DB2的同步数据条目数,并在DB1的同步日志中记录下来自DB2的同步数据条目数。
第一执行模块640执行数据操作命令。
例如,根据数据操作信息中包含的数据操作命令如更新一条数据“K1+add”,在DB1中执行更新一条数据“K1+add”的操作。
又例如,通过解析该数据操作请求获得数据操作命令为更新一条数据“K1+add”,对应的数据操作信息包括第一时间戳“2015-03-0211:20:10”,与DB1的本地数据操作日志中键值为“K1”的数据的最后操作对应的第二时间戳“2015-03-0210:20:10”进行对比,由于第二时间戳早于第一时间戳,则在DB1中执行更新一条数据“K1+add”的操作。
在一优选实施例中,如图7所示,当监测到与第二主数据库之间的通信中断后恢复时,该装置还包括第一发送模块710、接收模块720和第二执行模块730。第一发送模块710向第二主数据库发送同步恢复请求,其中,同步恢复请求包括同步数据条目数;接收模块720接收第二主数据库响应于恢复同步请求发送的数据操作请求,其中,该数据操作请求为根据同步数据条目数在第二主数据库中所确定的尚未同步的数据操作命令和对应的数据操作信息;第二执行模块730执行该数据操作命令。
例如,第一主数据库DB1和第二主数据库DB2之的间通信发生故障中断后,DB2无法再向DB1发送数据操作请求,而DB1也无法再接收来自DB2的数据操作请求,当监测到DB1和DB2之间的通信中断恢复时,DB1向DB2发送同步恢复请求,其中,同步恢复请求包括在DB1中记录的同步数据条目数如100,以及最后一条数据操作命令对应的时间戳T1;DB2接收到该同步恢复请求,根据在DB2的本地数据操作日志中记录的最后一条数据操作命令对应的时间戳T2,可确定尚未同步至DB1的数据操作请求为DB2中在T2至T1的时间区间内,DB2中执行的全部数据操作命令和对应的数据操作信息,如命令序号为第101条至第300条的数据操作命令和对应的数据操作信息,在DB2中基于将第101条的数据操作命令和对应的数据操作信息封装生成数据操作请求,并将该数据操作请求发送至DB1;DB1接收并解析该第101条数据操作命令和对应的数据操作信息,如更新一条数据“K1+add”,随后在主数据库DB1中执行更新一条数据“K1+add”的操作。
在一优选实施例中,该装置还包括第一数据补齐模块(图中未示出)。第一数据补齐模块:持续地接收包括与第二主数据库之间通信中断后尚未同步的数据操作命令的数据操作请求,并相应地执行数据操作命令,以完成与第二主数据库之间通信中断恢复后尚未同步数据的数据补齐。
例如,接上例,DB2将第101条至300条的数据操作命令和对应的数据操作信息持续地封装生成数据操作请求,并发送至DB1,DB1持续接收并解析来自DB2的第101条至300条的数据操作命令和对应的数据操作信息,并执行第101条至第300条的数据操作命令,以完成DB1与DB2之间通信中断恢复后尚未同步数据的数据补齐。
在一优选实施例中,如图8所示,该装置还包括第二解析模块810、第二判断模块820和缓存模块830。完成与第二主数据库之间通信中断恢复后的尚未同步数据的数据补齐之前,当接收到数据操作请求时,第二解析模块810解析数据操作请求以获取对应的数据操作命令和对应的数据操作信息;第二判断模块820判断数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库;若数据操作请求是来自数据库系统外部,则缓存模块830将解析得到的数据操作命令和对应的数据操作信息缓存至本地缓存中。
例如,接上例,DB1完成与主数据库DB2之间通信中断恢复后的尚未同步数据的数据补齐之前,即在DB1中同步DB2的第101条至第300条的数据操作命令的数据操作请求的过程中,当DB1接收到当接收到数据操作请求时,解析该数据操作请求以获取对应的数据操作命令如更新一条数据“K2+ppt”和对应的数据操作信息如第一时间戳“2015-03-0211:20:10”,则DB1可根据该数据操作请求不包含标识信息“db2”确定该数据请求来自数据库系统外部,随后DB1将解析得到的数据操作命令如更新一条数据“K2+ppt”和对应的数据操作信息如第一时间戳“2015-03-0211:20:10”缓存至本地缓存中。
在一优选实施例中,该装置还包括第三执行模块(图中未示出)。第三执行模块完成与第二主数据库之间通信中断恢复后的尚未同步数据的数据补齐之后,执行本地缓存中缓存的数据操作命令。
例如,接上例,DB1完成与DB2之间通信中断恢复后的尚未同步数据的数据补齐之后,DB1从本地缓存中获取该来自数据库系统外部的数据操作命令和对应的数据操作信息,并执行更新一条数据“K2+ppt”的操作。
图9为本发明中另一实施例的一种数据库同步的装置的结构示意图。应用于包括至少两个主数据库的数据库系统中的第二主数据库。
当接收到数据操作请求时,第三解析模块910解析数据操作请求以获取对应的数据操作命令和对应的数据操作信息;第三判断模块920判断数据操作请求是来自数据库系统外部或是来自数据库系统中的第一主数据库;若数据操作请求是来自数据库系统外部,第二同步模块930将数据操作请求同步至数据库系统中的第一主数据库;记录模块940记录当前已同步至第一主数据库的同步数据条目数。
例如,在包括至少两个主数据库DB1和DB2的数据库系统中,DB1为第一主数据库,DB2为第二主数据库,DB1和DB2通过TCP协议建立通信链接,当DB2接收到数据操作请求时,解析该数据操作请求以获取对应的数据操作命令如更新一条数据“K2+add”的操作操作命令,和对应的数据操作信息,如与数据操作请求对应的时间戳“2015-05-0313:20:10”,DB2可根据该数据操作请求不包含标识信息“db1”确定该数据请求来自数据库系统外部,将该数据操作请求同步至数据库系统中的DB1,同时,DB2记录当前已同步至主数据库DB1的同步数据条目数,如130。
其中,第三判断模块920依据数据操作信息判断数据操作请求是来自数据库系统外部或是来自数据库系统中的第一主数据库,其中数据操作信息包含用以区分数据操作请求来源的标识。
例如,接上例,若与该数据操作请求相应的数据操作信息中包含数据库系统中的DB1的标识信息,则可判断该数据操作请求是来自数据库系统中的DB1,如DB2接收到更新一条数据“db1-K2+ppt”的操作操作请求,则DB2可根据标识信息“db1”确定该数据请求来自DB1;若该数据操作请求相应的数据操作信息中不包含数据库系统中的DB1的标识信息则可判断该数据操作请求是来自数据库系统外部,如DB2接收到更新一条数据“K2+ppt”的操作操作请求,则DB2可根据该数据操作请求不包含标识信息“db1”确定该数据请求来自数据库系统外部。
在一优选实施例中,该装置还包括停止模块(图中未示出)。当监测到与第一主数据库之间的通信中断时,停止模块停止将数据操作请求同步至第一主数据库。
例如,若第一主数据库DB1和第二主数据库DB2间的通信发生故障中断后,当DB2监测到与DB1之间的通信中断时,主数据库DB2停止将数据操作请求同步至主数据库DB1
在一优选实施例中,如图10所示,当监测到与第一主数据库之间的通信中断后恢复时,该装置还包括确定模块1010、生成模块1020和第二发送模块1030。根据记录的当前已同步至第一主数据库的同步数据条目数,确定模块1010确定尚未同步至第一主数据库的数据操作命令和对应的数据操作信息;生成模块1020依据尚未同步至第一主数据库的数据操作命令和对应的数据操作信息生成数据操作请求;第二发送模块1030向第一主数据库发送数据操作请求。
例如,接上例,当DB2监测到与DB1之间的通信中断后恢复时,根据DB2记录的当前已同步至DB1的同步数据条目数如130及最后一条同步数据对应的时间戳T3,确定DB2中尚未同步至主数据库DB1的数据操作命令和对应的数据操作信息为在当前时间点T4至T3之间的DB2已执行的数据操作命令,如命令序号为第131条至第148条的数据操作命令,将DB2中第131条数据操作命令和对应的数据操作信息生成对应的数据操作请求并发送至主数据库DB1
在一优选实施例中,该装置还包括第二数据补齐模块(图中未示出)。第二数据补齐模块持续地向第一主数据库发送包括与第一主数据库之间通信中断后尚未同步的数据操作命令的数据操作请求,以完成与第一主数据库之间通信中断恢复后尚未同步数据的数据补齐。
例如,DB2中持续地基于已执行的数据操作命令中命令序号为第131条至第148条各自对应的数据操作命令和对应的数据操作信息生成数据操作命令,并持续地向DB1发送数据操作命令,在DB2持续地执行DB2发送的数据操作命令以完成与DB2与DB1之间通信中断恢复后尚未同步数据的数据补齐。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (20)

1.一种数据库同步的方法,应用于包括至少两个主数据库的数据库系统中的第一主数据库,所述方法包括:
当接收到数据操作请求时,解析所述数据操作请求以获取对应的数据操作命令和对应的数据操作信息;
判断所述数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库;
若所述数据操作请求是来自数据库系统中的第二主数据库,则根据所述数据操作信息记录当前已同步来自所述第二主数据库的同步数据条目数;
执行所述数据操作命令。
2.根据权利要求1所述的数据库同步的方法,其特征在于,当监测到与所述第二主数据库之间的通信中断后恢复时,该方法还包括:
向所述第二主数据库发送同步恢复请求,其中,所述同步恢复请求包括所述同步数据条目数;
接收所述第二主数据库响应于所述同步恢复请求发送的数据操作请求,其中,该数据操作请求为根据所述同步数据条目数在所述第二主数据库中所确定的尚未同步的数据操作命令和对应的数据操作信息;
执行该数据操作命令。
3.根据权利要求2所述的数据库同步的方法,其特征在于,该方法还包括:
持续地接收包括与所述第二主数据库之间通信中断后尚未同步的数据操作命令的数据操作请求,并相应地执行数据操作命令,以完成与所述第二主数据库之间通信中断恢复后尚未同步数据的数据补齐。
4.根据权利要求3所述的数据库同步的方法,其特征在于,该方法还包括:
完成与所述第二主数据库之间通信中断恢复后的尚未同步数据的数据补齐之前,当接收到数据操作请求时,解析所述数据操作请求以获取对应的数据操作命令和对应的数据操作信息;
判断所述数据操作请求是来自数据库系统外部或是来自数据库系统中的所述第二主数据库;
若所述数据操作请求是来自数据库系统外部,则将解析得到的数据操作命令和对应的数据操作信息缓存至本地缓存中。
5.根据权利要求4所述的数据库同步的方法,其特征在于,该方法还包括:
完成与所述第二主数据库之间通信中断恢复后的尚未同步数据的数据补齐之后,执行所述本地缓存中缓存的数据操作命令。
6.根据权利要求1-5中任一项所述的数据库同步的方法,其特征在于,判断所述数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库的步骤进一步包括:
依据所述数据操作信息判断所述数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库,其中所述数据操作信息包含用以区分所述数据操作请求来源的标识。
7.一种数据库同步的方法,应用于包括至少两个主数据库的数据库系统中的第二主数据库,所述方法包括:
当接收到数据操作请求时,解析所述数据操作请求以获取对应的数据操作命令和对应的数据操作信息;
判断所述数据操作请求是来自数据库系统外部或是来自数据库系统中的第一主数据库;
若所述数据操作请求是来自数据库系统外部,将所述数据操作请求同步至所述数据库系统中的第一主数据库;
记录当前已同步至所述第一主数据库的同步数据条目数。
8.根据权利要求7所述的数据库同步的方法,其特征在于,该方法还包括:
当监测到与所述第一主数据库之间的通信中断时,停止将所述数据操作请求同步至所述第一主数据库。
9.根据权利要求8所述的数据库同步的方法,其特征在于,当监测到与所述第一主数据库之间的通信中断后恢复时,该方法还包括:
根据记录的当前已同步至所述第一主数据库的同步数据条目数,确定尚未同步至所述第一主数据库的数据操作命令和对应的数据操作信息;
依据尚未同步至所述第一主数据库的数据操作命令和对应的数据操作信息生成数据操作请求;
向所述第一主数据库发送数据操作请求。
10.根据权利要求9所述的数据库同步的方法,其特征在于,该方法还包括:
持续地向所述第一主数据库发送包括与所述第一主数据库之间通信中断后尚未同步的数据操作命令的数据操作请求,以完成与所述第一主数据库之间通信中断恢复后尚未同步数据的数据补齐。
11.一种数据库同步的装置,应用于包括至少两个主数据库的数据库系统中的第一主数据库,所述装置包括:
第一解析模块,当接收到数据操作请求时,解析所述数据操作请求以获取对应的数据操作命令和对应的数据操作信息;
第一判断模块,判断所述数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库;
第一同步模块,若所述数据操作请求是来自数据库系统中的第二主数据库,则根据所述数据操作信息记录当前已同步来自所述第二主数据库的同步数据条目数;
第一执行模块,执行所述数据操作命令。
12.根据权利要求11所述的数据库同步的装置,其特征在于,当监测到与所述第二主数据库之间的通信中断后恢复时,该装置还包括:
第一发送模块,向所述第二主数据库发送同步恢复请求,其中,所述同步恢复请求包括所述同步数据条目数;
接收模块,接收所述第二主数据库响应于所述同步恢复请求发送的数据操作请求,其中,该数据操作请求为根据所述同步数据条目数在所述第二主数据库中所确定的尚未同步的数据操作命令和对应的数据操作信息;
第二执行模块,执行该数据操作命令。
13.根据权利要求12所述的数据库同步的装置,其特征在于,该装置还包括:
第一数据补齐模块,持续地接收包括与所述第二主数据库之间通信中断后尚未同步的数据操作命令的数据操作请求,并相应地执行数据操作命令,以完成与所述第二主数据库之间通信中断恢复后尚未同步数据的数据补齐。
14.根据权利要求13所述的数据库同步的装置,其特征在于,该装置还包括:
第二解析模块,完成与所述第二主数据库之间通信中断恢复后的尚未同步数据的数据补齐之前,当接收到数据操作请求时,解析所述数据操作请求以获取对应的数据操作命令和对应的数据操作信息;
第二判断模块,判断所述数据操作请求是来自数据库系统外部或是来自数据库系统中的所述第二主数据库;
缓存模块,若所述数据操作请求是来自数据库系统外部,则将解析得到的数据操作命令和对应的数据操作信息缓存至本地缓存中。
15.根据权利要求14所述的数据库同步的装置,其特征在于,该装置还包括:
第三执行模块,完成与所述第二主数据库之间通信中断恢复后的尚未同步数据的数据补齐之后,执行所述本地缓存中缓存的数据操作命令。
16.根据权利要求11-15中任一项所述的数据库同步的装置,其特征在于,判断所述数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库,包括:
依据所述数据操作信息判断所述数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库,其中所述数据操作信息包含用以区分所述数据操作请求来源的标识。
17.一种数据库同步的装置,应用于包括至少两个主数据库的数据库系统中的第二主数据库,所述装置包括:
第三解析模块,当接收到数据操作请求时,解析所述数据操作请求以获取对应的数据操作命令和对应的数据操作信息;
第三判断模块,判断所述数据操作请求是来自数据库系统外部或是来自数据库系统中的第一主数据库;
第二同步模块,若所述数据操作请求是来自数据库系统外部,将所述数据操作请求同步至所述数据库系统中的第一主数据库;
记录模块,记录当前已同步至所述第一主数据库的同步数据条目数。
18.根据权利要求17所述的数据库同步的装置,其特征在于,该装置还包括:
停止模块,当监测到与所述第一主数据库之间的通信中断时,停止将所述数据操作请求同步至所述第一主数据库。
19.根据权利要求18所述的数据库同步的装置,其特征在于,当监测到与所述第一主数据库之间的通信中断后恢复时,该装置还包括:
确定模块,根据记录的当前已同步至所述第一主数据库的同步数据条目数,确定尚未同步至所述第一主数据库的数据操作命令和对应的数据操作信息;
生成模块,依据尚未同步至所述第一主数据库的数据操作命令和对应的数据操作信息生成数据操作请求;
第二发送模块,向所述第一主数据库发送数据操作请求。
20.根据权利要求19所述的数据库同步的装置,其特征在于,该装置还包括:
第二数据补齐模块,持续地向所述第一主数据库发送包括与所述第一主数据库之间通信中断后尚未同步的数据操作命令的数据操作请求,以完成与所述第一主数据库之间通信中断恢复后尚未同步数据的数据补齐。
CN201510817687.2A 2015-11-23 2015-11-23 数据库同步的方法及装置 Active CN105512171B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510817687.2A CN105512171B (zh) 2015-11-23 2015-11-23 数据库同步的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510817687.2A CN105512171B (zh) 2015-11-23 2015-11-23 数据库同步的方法及装置

Publications (2)

Publication Number Publication Date
CN105512171A CN105512171A (zh) 2016-04-20
CN105512171B true CN105512171B (zh) 2019-05-21

Family

ID=55720153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510817687.2A Active CN105512171B (zh) 2015-11-23 2015-11-23 数据库同步的方法及装置

Country Status (1)

Country Link
CN (1) CN105512171B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107678795A (zh) * 2017-09-26 2018-02-09 郑州云海信息技术有限公司 一种多主数据库集群的管理方法及其装置
CN110019346A (zh) * 2017-12-29 2019-07-16 北京京东尚科信息技术有限公司 一种基于双主数据库的数据处理方法和装置
CN110209726B (zh) * 2018-02-12 2023-10-20 金篆信科有限责任公司 分布式数据库集群系统、数据同步方法及存储介质
CN108898759A (zh) * 2018-06-27 2018-11-27 中国建设银行股份有限公司 一种电子日志同步方法及装置
CN111262717B (zh) * 2018-12-03 2023-03-07 北京京东尚科信息技术有限公司 一种分布式网络中数据同步异常的恢复方法和装置
CN113495877A (zh) * 2020-04-03 2021-10-12 北京罗克维尔斯科技有限公司 数据同步方法及系统
CN112306604B (zh) * 2020-08-21 2022-09-23 海信视像科技股份有限公司 一种传输文件的进度显示方法及显示设备
CN112800060A (zh) * 2021-01-28 2021-05-14 百果园技术(新加坡)有限公司 数据处理方法、装置、计算机可读存储介质及电子设备
CN115714782B (zh) * 2022-10-26 2024-03-05 北京云智信安科技有限公司 可离线交互的数据同步方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102629268A (zh) * 2012-03-09 2012-08-08 华为技术有限公司 数据同步方法、系统及数据访问装置
CN103870478A (zh) * 2012-12-12 2014-06-18 腾讯科技(深圳)有限公司 一种恢复同步数据的方法及装置
CN103886091A (zh) * 2014-04-01 2014-06-25 无锡科技职业学院 一种基于记录标记的数据库同步方法
CN104376017A (zh) * 2013-08-15 2015-02-25 阿里巴巴集团控股有限公司 在数据库之间进行数据同步的方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102629268A (zh) * 2012-03-09 2012-08-08 华为技术有限公司 数据同步方法、系统及数据访问装置
CN103870478A (zh) * 2012-12-12 2014-06-18 腾讯科技(深圳)有限公司 一种恢复同步数据的方法及装置
CN104376017A (zh) * 2013-08-15 2015-02-25 阿里巴巴集团控股有限公司 在数据库之间进行数据同步的方法及系统
CN103886091A (zh) * 2014-04-01 2014-06-25 无锡科技职业学院 一种基于记录标记的数据库同步方法

Also Published As

Publication number Publication date
CN105512171A (zh) 2016-04-20

Similar Documents

Publication Publication Date Title
CN105512171B (zh) 数据库同步的方法及装置
CN110209726B (zh) 分布式数据库集群系统、数据同步方法及存储介质
CN108076098B (zh) 一种业务处理方法及系统
CN106254094B (zh) 一种数据同步方法及系统
EP2378718B1 (en) Method, node and system for controlling version in distributed system
CN104506625A (zh) 一种提升云数据库元数据节点可靠性的方法
CN107291787A (zh) 主备数据库切换方法和装置
CN108234170A (zh) 一种服务器集群的监控方法和装置
CN102291416A (zh) 一种客户端与服务器端双向同步的方法及系统
CN108319617A (zh) 确定数据库主从差异的方法、装置及切换控制方法、装置
CN104750738B (zh) 一种更新数据信息的方法、数据节点、管理节点及系统
CN103281356B (zh) 一种分发文件的方法及系统
EP2723017A1 (en) Method, apparatus and system for implementing distributed auto-incrementing counting
CN107302569A (zh) 一种面向云平台的安全监控数据采集与存储方法
CN109542894B (zh) 用户数据集中存储方法、装置、介质和计算机设备
CN113051110A (zh) 集群切换方法、装置及设备
EP3953818A2 (en) Iot partition management and load balancing
CN107066480A (zh) 主备数据库的管理方法、系统及其设备
CN105302670B (zh) 一种采用多机冗余方式对车站进行监控的方法及装置
CN115617908A (zh) 一种MySQL数据同步方法、装置、数据库终端、介质及系统
CN106331081A (zh) 一种信息同步方法及装置
CN111404737B (zh) 一种容灾处理方法以及相关装置
CN116185697B (zh) 容器集群管理方法、装置、系统、电子设备及存储介质
CN107038094A (zh) 一种数据备份方法及装置
CN109005246B (zh) 一种数据的同步方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220729

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right