CN108205560A - 一种数据同步方法以及装置 - Google Patents
一种数据同步方法以及装置 Download PDFInfo
- Publication number
- CN108205560A CN108205560A CN201611178079.2A CN201611178079A CN108205560A CN 108205560 A CN108205560 A CN 108205560A CN 201611178079 A CN201611178079 A CN 201611178079A CN 108205560 A CN108205560 A CN 108205560A
- Authority
- CN
- China
- Prior art keywords
- data
- tables
- incremental
- processing business
- total increment
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, 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
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据同步方法以及装置。
背景技术
目前的PostgreSQL(对象-关系数据库管理系统)数据库通常是通过日志的方式记录由各种数据处理业务对数据库的修改所生成的增量数据,进而再将增量数据同步到其他的数据库,即目前的数据库的增量数据的同步方法需要通过日志来实现。而日志与数据库的版本之间是强相关的,因此,对于两个版本不同的数据库是无法通过日志实现增量数据的同步。而且目前的数据库的增量数据的同步方法都是基于单个进程实现的,即需要通过单个进程将所有增量数据同步到其他的数据库,例如,在大并发写入的情况下,增量数据会产生的比较快,因此,基于单个进程的同步方法将会大大降低增量数据的同步效率。
发明内容
本发明实施例提供一种数据同步方法以及装置,可在不同版本的数据库之间进行增量数据的同步,且可以提高同步效率。
本发明实施例提供了一种数据同步方法,包括:
获取数据操作指令,并根据所述数据操作指令执行数据处理业务,并记录基于所述数据处理业务所生成的总增量数据;所述总增量数据为基于逻辑语句的增量数据;
查找所述总增量数据所关联的至少一个第一数据表;各第一数据表均包括对应的表增量数据;所述各第一数据表分别对应的表增量数据的总和为所述总增量数据;
将所述各第一数据表中的表增量数据并行同步至目标数据库。
相应地,本发明实施例还提供了一种数据同步装置,包括:
记录模块,用于获取数据操作指令,并根据所述数据操作指令执行数据处理业务,并记录基于所述数据处理业务所生成的总增量数据;所述总增量数据为基于逻辑语句的增量数据;
查找模块,用于查找所述总增量数据所关联的至少一个第一数据表;各第一数据表均包括对应的表增量数据;所述各第一数据表分别对应的表增量数据的总和为所述总增量数据;
第一同步模块,用于将所述各第一数据表中的表增量数据并行同步至目标数据库。
本发明实施例通过获取数据操作指令,并根据数据操作指令执行数据处理业务,并记录基于数据处理业务所生成的总增量数据,可以查找总增量数据所关联的至少一个第一数据表,并将各第一数据表中的表增量数据并行同步至目标数据库。由于总增量数据为基于逻辑语句的增量数据,且基于逻辑语句的增量数据可以在各种版本的数据库中使用,所以本发明可以在不同版本的数据库之间进行增量数据的同步;而且通过多进程分别对各表增量数据进行并行同步,可以有效提高同步效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据同步方法的流程示意图;
图2是本发明实施例提供的一种数据同步方法的流程示意图;
图3是本发明实施例提供的一种数据同步方法的流程示意图;
图4是本发明实施例提供的一种数据同步装置的结构示意图;
图5是本发明实施例提供的一种第一同步模块的结构示意图;
图6是本发明实施例提供的一种记录模块的结构示意图;
图7是本发明实施例提供的一种第二记录单元的结构示意图;
图8是本发明实施例提供的另一种数据同步装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,是本发明实施例提供的一种数据同步方法的流程示意图,所述方法可以包括:
S101,获取数据操作指令,并根据所述数据操作指令执行数据处理业务,并记录基于所述数据处理业务所生成的总增量数据;
具体的,服务器可以获取用户设备发送的数据操作指令,所述数据操作指令可以包括数据新增指令、数据删除指令、数据修改指令等等,所述服务器可以进一步根据所述数据操作指令执行数据处理业务,所述数据处理业务可以包括对所述服务器中的数据库进行数据新增业务、数据删除业务、数据修改业务等等。例如,若所述数据操作指令为数据删除指令,则所述服务器根据所述数据删除指令对相应的数据库中的部分数据进行删除。
所述服务器在执行所述数据处理业务的同时,还可以进一步设置与所述数据处理业务对应的数据记录范围,具体可以根据当前的业务需求设置所述数据记录范围,例如,当前业务需求为需要对数据表A和数据表B中被修改的数据进行同步,则可以设置所述数据记录范围为数据表A和数据表B,即后续只在数据表A和数据表B中记录基于所述数据处理业务所生成的总增量数据;若当前需要对整个数据库中被修改的数据进行同步,则可以设置所述数据记录范围为该数据库,即后续可以在该数据库中记录基于所述数据处理业务所生成的总增量数据。若所述数据记录范围为至少一个第二数据表,可以先判断所述数据处理业务对应的修改数据(或删除数据或新增数据)是否属于所述至少一个第二数据表,若属于,则可以记录该修改数据(或删除数据或新增数据)对应的增量数据,否则不记录所对应的增量数据,即只在所述至少一个第二数据表中记录基于所述数据处理业务所生成的总增量数据。若所述数据记录范围为源数据库,可以先判断所述数据处理业务对应的修改数据(或删除数据或新增数据)是否属于所述源数据库,若属于,则可以记录该修改数据(或删除数据或新增数据)对应的增量数据,否则不记录所对应的增量数据,即所述服务器只在源数据库(所述源数据库处于所述服务器中)中记录基于所述数据处理业务所生成的总增量数据。通过设置与所述数据处理业务对应的数据记录范围,可以选择性的记录指定的数据表或数据库中的增量数据,从而可以解决日志中将无需关注的数据表或数据库对应的修改也一并记录下来的问题,因此,本发明实施例可以更灵活地选择所需记录的增量数据,不仅可以提高同步效率也可以节省服务器的存储资源。
其中,所述服务器所记录的所述总增量数据为基于逻辑语句的增量数据,具体可以为基于SQL(Structured Query Language,结构化查询语言)语句的增量数据。所述服务器可以将数据库中的各数据表中的各行数据所涉及到的修改操作、删除操作以及新增操作都分别记录为一条SQL语句,同时还记录SQL语句涉及到的数据表信息或数据库信息,进而将所记录的SQL语句和所涉及到的数据表信息或数据库信息确定为总增量数据。由于SQL语句在不同版本的数据库中都是通用的,所以基于SQL语句的增量数据可以在不同版本的数据库之间进行同步。
S102,查找所述总增量数据所关联的至少一个第一数据表;
具体的,所述服务器记录所述总增量数据后,可以进一步检测所述数据处理业务的执行状态,若所述数据处理业务的执行状态为数据回滚状态,则删除所记录的所述总增量数据。若所述数据处理业务的执行状态为成功执行状态,说明所述数据处理业务顺利提交,进而可以查找所述总增量数据所关联的至少一个第一数据表。其中,各第一数据表均包括对应的表增量数据;所述各第一数据表分别对应的表增量数据的总和为所述总增量数据。其中,若所述数据记录范围为所述至少一个第二数据表,则所述至少一个第二数据表包含所述至少一个第一数据表,例如,有5个第二数据表,其中有4个第二数据表中包含增量数据(即表增量数据),则可以将这4个包含增量数据的数据表确定为与所述总增量数据相关联的第一数据表。例如,所述服务器记录源数据库中基于所述数据处理业务所生成的总增量数据,所述数据处理业务对应的执行操作涉及到所述源数据库中的5个数据表,则可以将这5个数据表确定为所述总增量数据所关联的第一数据表,每个第一数据表中所生成的增量数据为表增量数据,这5个第一数据表分别对应的表增量数据的总和即为所述总增量数据。又例如,若所述数据记录范围包括数据表A、数据表B以及数据表C,且所述数据处理业务只涉及到数据表A和数据表B,即只有数据表A和数据表B包含表增量数据,则所述服务器可以将数据表A和数据表B确定为所述总增量数据所关联的第一数据表,数据表A和数据表B分别对应的表增量数据的总和即为所述总增量数据。
S103,将所述各第一数据表中的表增量数据并行同步至目标数据库;
具体的,所述服务器可以根据第一数据表进行SQL分发,使得同一张第一数据表中的所有基于SQL语句的增量数据(即表增量数据)都由同一个进程进行同步,进而对不同的第一数据表中的表增量数据分别使用不同的进程进行同步,因此,不仅可以保证第一数据表中的数据的一致性,也可以实现将所述各第一数据表中的表增量数据并行同步至目标数据库。例如,所述服务器中存在第一数据表A、第一数据表B以及第一数据表C,第一数据表A包括表增量数据a,第一数据表B包括表增量数据b,第一数据表C包括表增量数据c,则所述服务器可以通过第一个进程将表增量数据a同步至目标数据库,并通过第二个进程将表增量数据b同步至目标数据库,并通过第三个进程将表增量数据c同步至目标数据库,即实现了对表增量数据a、表增量数据b、表增量数据c进行并行同步。基于数据表进行并行同步的方法相比于使用一个进程对所有增量数据进行单进程同步的方法,可以大大减少同步时间,即可以提高增量数据的同步效率。
本发明实施例通过获取数据操作指令,并根据数据操作指令执行数据处理业务,并记录基于数据处理业务所生成的总增量数据,可以查找总增量数据所关联的至少一个第一数据表,并将各第一数据表中的表增量数据并行同步至目标数据库。由于总增量数据为基于逻辑语句的增量数据,且基于逻辑语句的增量数据可以在各种版本的数据库中使用,所以本发明可以在不同版本的数据库之间进行增量数据的同步;而且通过多进程分别对各表增量数据进行并行同步,可以有效提高同步效率。
请参见图2,是本发明实施例提供的另一种数据同步方法的流程示意图,所述方法可以包括:
S201,获取数据操作指令,并根据所述数据操作指令执行数据处理业务,并设置与所述数据处理业务对应的数据记录范围;
具体的,服务器可以获取用户设备发送的数据操作指令,所述数据操作指令可以包括数据新增指令、数据删除指令、数据修改指令等等,所述服务器可以进一步根据所述数据操作指令执行数据处理业务,所述数据处理业务可以包括对所述服务器中的数据库进行数据新增业务、数据删除业务、数据修改业务等等。例如,若所述数据操作指令为数据删除指令,则所述服务器根据所述数据删除指令对相应的数据库中的部分数据进行删除。
所述服务器在执行所述数据处理业务的同时,还可以进一步设置与所述数据处理业务对应的数据记录范围,具体可以根据当前的业务需求设置所述数据记录范围,例如,当前业务需求为需要对数据表A和数据表B中被修改的数据进行同步,则可以设置所述数据记录范围为数据表A和数据表B,即后续只在数据表A和数据表B中记录基于所述数据处理业务所生成的总增量数据;若当前需要对整个数据库中被修改的数据进行同步,则可以设置所述数据记录范围为该数据库,即后续可以在该数据库中记录基于所述数据处理业务所生成的总增量数据。
可选的,所述服务器在步骤S201之前,可以先检测当前是否存在正在执行的数据处理业务,若存在,则可以等待正在执行的数据处理业务执行完后,再执行S101步骤,以保证所记录的总增量数据是完整的数据处理业务的增量数据,以便于在同步所述总增量数据时可以保证所同步的数据处理业务的完整性。
S202,若所述数据记录范围为至少一个第二数据表,则在所述至少一个第二数据表中记录基于所述数据处理业务所生成的总增量数据;
具体的,若所述数据记录范围为至少一个第二数据表,可以先判断所述数据处理业务对应的修改数据(或删除数据或新增数据)是否属于所述至少一个第二数据表,若属于,则可以记录该修改数据(或删除数据或新增数据)对应的增量数据,否则不记录所对应的增量数据,即只在所述至少一个第二数据表中记录基于所述数据处理业务所生成的总增量数据。例如,若4个第二数据表,所述数据处理业务为数据删除业务,则所述服务器只需记录这4个第二数据表中的每一条数据删除操作、各数据删除操作分别对应的操作序号和第二数据表信息,并将所记录的每一条数据删除操作、各数据删除操作分别对应的操作序号和第二数据表信息确定为总增量数据。
其中,所述服务器所记录的所述总增量数据为基于逻辑语句的增量数据,具体可以为基于SQL语句的增量数据。所述服务器可以将数据库中的各数据表中的各行数据所涉及到的修改操作、删除操作以及新增操作都分别记录为一条SQL语句,同时还记录SQL语句涉及到的数据表信息或数据库信息,进而将所记录的SQL语句和所涉及到的数据表信息或数据库信息确定为总增量数据。由于SQL语句在不同版本的数据库中都是通用的,所以基于SQL语句的增量数据可以在不同版本的数据库之间进行同步。
S203,若所述数据记录范围为源数据库,则在所述源数据库中记录基于所述数据处理业务所生成的总增量数据;
具体的,若所述数据记录范围为源数据库,可以先判断所述数据处理业务对应的修改数据(或删除数据或新增数据)是否属于所述源数据库,若属于,则可以记录该修改数据(或删除数据或新增数据)对应的增量数据,否则不记录所对应的增量数据,即所述服务器只在源数据库(所述源数据库处于所述服务器中)中记录基于所述数据处理业务所生成的总增量数据。例如,若所述服务器中包括5个数据库,其中一个为源数据库,且所述数据处理业务为数据修改业务,则所述服务器只需记录该源数据库中的每一条数据修改操作、各数据修改操作所修改的数据、各数据修改操作分别对应的操作序号和数据表信息,并将所记录的每一条数据修改操作、各数据修改操作所修改的数据、各数据修改操作分别对应的操作序号和数据表信息确定为总增量数据。
可选的,若所述数据处理业务同时包括数据删除业务和数据修改业务,则所记录到的总增量数据即包括数据删除部分也包括数据修改部分。通过确定所述数据处理业务对应的数据记录范围,可以选择性的记录指定的数据表或数据库中的增量数据,从而可以解决日志中将无需关注的数据表或数据库对应的修改也一并记录下来的问题,因此,本发明实施例可以更灵活地选择所需记录的增量数据,不仅可以提高同步效率也可以节省服务器的存储资源。
其中,S203中的所述总增量数据也是基于SQL语句的增量数据。
S204,检测所述数据处理业务的执行状态;
S205,若所述数据处理业务的执行状态为数据回滚状态,则删除所记录的所述总增量数据;
具体的,所述服务器记录所述总增量数据后,可以进一步检测所述数据处理业务的执行状态,若所述数据处理业务的执行状态为数据回滚状态,说明所述数据处理业务所修改(或删除或新增)的数据并没有落地,因此,可以删除所记录的所述总增量数据。
S206,若所述数据处理业务的执行状态为成功执行状态,则查找所述总增量数据所关联的至少一个第一数据表;
具体的,若所述数据处理业务的执行状态为成功执行状态,说明所述数据处理业务顺利提交,进而可以查找所述总增量数据所关联的至少一个第一数据表。其中,若所述数据记录范围为所述源数据库,则具体可以在所述源数据库中查找所述数据处理业务在哪些数据表中进行了数据的修改(或删除或新增),所查找出的这些数据表即为与所述总增量数据关联的第一数据表。其中,若所述数据记录范围为所述至少一个第二数据表,则所述至少一个第二数据表包含所述至少一个第一数据表,例如,有5个第二数据表,其中有4个第二数据表中包含增量数据(即表增量数据),则可以将这4个包含增量数据的数据表确定为与所述总增量数据相关联的第一数据表。
其中,各第一数据表均包括对应的表增量数据;所述各第一数据表分别对应的表增量数据的总和为所述总增量数据。例如,所述服务器记录源数据库中基于所述数据处理业务所生成的总增量数据,所述数据处理业务对应的执行操作涉及到所述源数据库中的5个数据表,则可以将这5个数据表确定为所述总增量数据所关联的第一数据表,每个第一数据表中所生成的增量数据为表增量数据,这5个第一数据表分别对应的表增量数据的总和即为所述总增量数据。又例如,若所述数据记录范围包括数据表A、数据表B以及数据表C,且所述数据处理业务只涉及到数据表A和数据表B,即只有数据表A和数据表B包含表增量数据,则所述服务器可以将数据表A和数据表B确定为所述总增量数据所关联的第一数据表,数据表A和数据表B分别对应的表增量数据的总和即为所述总增量数据。
S207,判断所述至少一个第一数据表中是否存在包含主关键字的第一数据表;
具体的,所述主关键字为Primary Key,且Primary Key的值在第一数据表中是唯一的,且第一数据表中每行数据分别对应的Primary Key均是填写在该第一数据表中的其中一列。
S208,将所述各第一数据表中的表增量数据并行同步至所述目标数据库;
具体的,若S207判断为否,即所述至少一个第一数据表中不存在包含主关键字的第一数据表,则所述服务器可以根据第一数据表进行SQL分发,使得同一张第一数据表中的所有基于SQL语句的增量数据(即表增量数据)都由同一个进程进行同步,进而对不同的第一数据表中的表增量数据则由不同的进程进行同步,因此,不仅可以保证第一数据表中的数据的一致性,也可以实现将所述各第一数据表中的表增量数据并行同步至目标数据库。例如,所述服务器中存在第一数据表A、第一数据表B以及第一数据表C,第一数据表A包括表增量数据a,第一数据表B包括表增量数据b,第一数据表C包括表增量数据c,则所述服务器可以通过第一个进程将表增量数据a同步至目标数据库,并通过第二个进程将表增量数据b同步至目标数据库,并通过第三个进程将表增量数据c同步至目标数据库,即实现了对表增量数据a、表增量数据b、表增量数据c进行并行同步。基于数据表进行并行同步的方法相比于使用一个进程对所有增量数据进行单进程同步的方法,可以大大减少同步时间,即可以提高增量数据的同步效率。
S209,将不包含所述主关键字的第一数据表中的表增量数据并行同步至所述目标数据库,并查找与包含所述主关键字的第一数据表对应的表增量数据所关联的至少一个目标行数据,将所述各目标行数据分别对应的行增量数据并行同步至所述目标数据库;
具体的,若S207判断为是,即所述至少一个第一数据表中存在包含主关键字的第一数据表,则所述服务器可以对不包含主关键字的第一数据表进行基于表增量数据的并行同步,具体过程可以一并参见S208步骤,这里不再进行赘述。
所述服务器对于包含主关键字的第一数据表,可以先查找与包含所述主关键字的第一数据表对应的表增量数据所关联的至少一个目标行数据,所述第一数据表中各目标行数据分别对应的行增量数据的总和为该第一数据表对应的表增量数据。例如,所述数据处理业务所执行的操作涉及到第一数据表中的其中10行数据,那么这10行数据即为与该第一数据表对应的表增量数据所关联的目标行数据,这10行数据分别对应的增量数据(即行增量数据)的总和即为该第一数据表对应的表增量数据。所述服务器再进一步根据目标行数据进行SQL分发,由于目标行数据对应的行增量数据可以包含Primary Key,所以可以将含有相同Primary Key的行增量数据(可以为两张或更多的第一数据表中的含有相同PrimaryKey的行增量数据)都通过同一个进程进行同步,进而对含有不同Primary Key的行增量数据分别使用不同的进程进行同步。由于一张第一数据表中的Primary Key各不相同,并且不会重复,所以基于Primary Key对行增量数据进行并行同步的方法不仅可以保证第一数据表中的数据的一致性,也可以具备比基于第一数据表的表增量数据进行并行同步更高的同步效率。例如,所述服务器中的第一数据表含有Primary Key,且该第一数据表中的目标行数据包括行数据A、行数据B以及行数据C,行数据A包括行增量数据a,行数据B包括行增量数据b,行数据C包括行增量数据c,则所述服务器可以通过第一个进程将行增量数据a同步至目标数据库,并通过第二个进程将行增量数据b同步至目标数据库,并通过第三个进程将行增量数据c同步至目标数据库,即实现了对行增量数据a、行增量数据b、行增量数据c进行并行同步。
本发明实施例通过获取数据操作指令,并根据数据操作指令执行数据处理业务,并记录基于数据处理业务所生成的总增量数据,可以查找总增量数据所关联的至少一个第一数据表,并将各第一数据表中的表增量数据并行同步至目标数据库。由于总增量数据为基于逻辑语句的增量数据,且基于逻辑语句的增量数据可以在各种版本的数据库中使用,所以本发明可以在不同版本的数据库之间进行增量数据的同步;而且通过确定所述数据处理业务对应的数据记录范围,可以选择性的记录指定的数据表或数据库中的增量数据,因此,不仅可以提高同步效率也可以节省服务器的存储资源;而且通过多进程分别对各表增量数据进行并行同步,可以有效提高同步效率;而且当数据表中包含主关键字时,还可以进一步对包含主关键字的数据表对应的表增量数据进行基于行增量数据的并行同步,以进一步提高同步效率。
请参见图3,是本发明实施例提供的又一种数据同步方法的流程示意图,所述方法可以包括:
S301,记录接收到后台业务指令对应的起始时间戳,并将源数据库中处于所述起始时间戳的全量数据确定为待同步全量数据,并根据所述后台业务指令将所述待同步全量数据同步至目标数据库;
具体的,所述后台业务指令为在线升级指令或数据搬迁指令。当所述服务器接收到所述后台业务指令时,可以记录接收到所述后台业务指令对应的起始时间戳,若所述后台业务指令为在线升级指令,则所述服务器可以新建一个最新版本的数据库作为目标数据库,并将所述源数据库中处于所述起始时间戳的全量数据(全量数据即为所述源数据库中的所有数据,且假设所述服务器处于所述起始时间戳的时刻没有正在执行的数据处理业务)确定为待同步全量数据,并根据所述后台业务指令将所述待同步全量数据同步至目标数据库。若所述后台业务指令为数据搬迁指令,则所述服务器可以将当前已有的数据库或新建的数据库或其他服务器中的数据库作为目标数据库,且目标数据库的版本与源数据库的版本可以相同或不同。
可选的,若处于所述起始时间戳的所述服务器中存在正在执行的数据处理业务,且该数据处理业务对第一部分数据进行操作,对第二部分数据没有进行操作,则所述服务器可以先将第二部分数据同步至所述目标数据库,且当该数据处理业务执行完后,可以将执行完该数据处理业务后所得到的更新后的第一部分数据再同步到所述目标数据库。
S302,获取数据操作指令,并根据所述数据操作指令执行数据处理业务,并设置与所述数据处理业务对应的数据记录范围;
S303,在所述源数据库中记录基于所述数据处理业务所生成的增量数据;
具体的,若所述服务器是将所述待同步全量数据同步至所述目标数据库,则所述服务器可以从所述起始时间戳开始,实时获取数据操作指令,并根据所述数据操作指令执行数据处理业务,此时可以设置所述数据记录范围为所述源数据库,进而可以在所述源数据库中记录基于所述数据处理业务所生成的增量数据。
可选的,若所述服务器是将所述第二部分数据同步至所述目标数据库,则所述服务器可以从所述起始时间戳开始,实时获取数据操作指令,并根据所述数据操作指令执行数据处理业务,此时可以设置所述数据记录范围为所述第二部分数据所涉及到数据表,以作为至少一个第二数据表,进而可以在所述至少一个第二数据表中记录基于所述数据处理业务所生成的增量数据。当开始同步所述更新后的第一部分数据时,所述服务器可以重新设置所述数据记录范围为所述源数据库,进而开始在所述源数据库中记录基于所述数据处理业务所生成的增量数据。
S304,判断所述待同步全量数据是否已全部同步至所述目标数据库;
S305,将完成所述数据处理业务的时刻确定为结束时间戳,并将所述起始时间戳到所述结束时间戳之间所记录到的所有增量数据确定为总增量数据;
具体的,若S304判断为是,说明在线升级已完成或数据搬迁已完成,此时,若所述服务器中的所述数据处理业务已完成,则停止记录增量数据,若所述数据处理业务仍未完成,则可以等到完成所述数据处理业务时再停止记录增量数据。所述服务器可以进一步将完成所述数据处理业务的时刻确定为结束时间戳,并将所述起始时间戳到所述结束时间戳之间所记录到的所有增量数据确定为总增量数据。若S304判断为否,说明在线升级还未完成或数据搬迁还未完成,因此,所述服务器将继续执行S303步骤,以进一步记录新的增量数据。
S306,检测所述数据处理业务的执行状态;
S307,若所述数据处理业务的执行状态为数据回滚状态,则删除所记录的所述总增量数据;
S308,若所述数据处理业务的执行状态为成功执行状态,则查找所述总增量数据所关联的至少一个第一数据表;各第一数据表均包括对应的表增量数据;所述各第一数据表分别对应的表增量数据的总和为所述总增量数据;
S309,判断所述至少一个第一数据表中是否存在包含主关键字的第一数据表;
S310,将所述各第一数据表中的表增量数据并行同步至所述目标数据库;
具体的,若S309判断为否,则将所述各第一数据表中的表增量数据并行同步至所述目标数据库。
S311,将不包含所述主关键字的第一数据表中的表增量数据并行同步至所述目标数据库,并查找与包含所述主关键字的第一数据表对应的表增量数据所关联的至少一个目标行数据,将所述各目标行数据分别对应的行增量数据并行同步至所述目标数据库;
具体的,若S309判断为是,则执行S311步骤。
S306-S311步骤的具体实现方式可以参见上述图2对应实施例中的S204-S209,这里不再进行赘述。
在整个升级过程中或数据搬迁过程中,源数据库持续提供服务,直到升级完毕或搬迁完毕,可以将所述源数据库中所记录的所述总增量数据中的表增量数据和/或行增量数据并行同步到所述目标数据库,以保证目标数据库中的数据的一致性,且整个服务过程不中断,即可以实现在保证服务不中断的前提下从对源数据库的使用过渡到对目标数据库的使用。
请参加图4,是本发明实施例提供的一种数据同步装置1的结构示意图,所述数据同步装置1可以包括:记录模块10、查找模块20、第一同步模块30、状态检测模块40、通知模块50、删除模块60、第二同步模块70;
所述记录模块10,用于获取数据操作指令,并根据所述数据操作指令执行数据处理业务,并记录基于所述数据处理业务所生成的总增量数据;所述总增量数据为基于逻辑语句的增量数据;
所述查找模块20,用于查找所述总增量数据所关联的至少一个第一数据表;各第一数据表均包括对应的表增量数据;所述各第一数据表分别对应的表增量数据的总和为所述总增量数据;
所述第一同步模块30,用于将所述各第一数据表中的表增量数据并行同步至目标数据库;
其中,所述记录模块10、所述查找模块20以及所述第一同步模块30的具体功能实现方式可以参见上述图1对应实施例中的S101-S103,这里不再进行赘述。
其中,所述状态检测模块40,用于检测所述数据处理业务的执行状态;
所述通知模块50,用于若所述数据处理业务的执行状态为成功执行状态,则通知所述查找模块20查找所述总增量数据所关联的至少一个第一数据表;
所述删除模块60,用于若所述数据处理业务的执行状态为数据回滚状态,则删除所记录的所述总增量数据;
其中,所述状态检测模块40是在所述记录模块10记录完所述总增量数据后(即执行完所述数据处理业务后)再执行相应操作的;所述状态检测模块40、所述通知模块50以及所述删除模块60的具体功能实现方式可以参见上述图2对应实施例中的S204-S206,这里不再进行赘述。
所述第二同步模块70,用于记录接收到后台业务指令对应的起始时间戳,并将源数据库中处于所述起始时间戳的全量数据确定为待同步全量数据,并根据所述后台业务指令将所述待同步全量数据同步至目标数据库;所述后台业务指令为在线升级指令或数据搬迁指令;
其中,所述第二同步模块70是在所述记录模块10执行相应操作之前执行对应操作的。
进一步的,请一并参见图5,是本发明实施例提供的一种第一同步模块30的结构示意图,所述第一同步模块30包括:判断单元301、同步单元302;
所述判断单元301,用于判断所述至少一个第一数据表中是否存在包含主关键字的第一数据表;
所述同步单元302,用于若所述判断单元301判断为否,则将所述各第一数据表中的表增量数据并行同步至所述目标数据库;
所述同步单元302,还用于若所述判断单元301判断为是,则将不包含所述主关键字的第一数据表中的表增量数据并行同步至所述目标数据库,并查找与包含所述主关键字的第一数据表对应的表增量数据所关联的至少一个目标行数据,将所述各目标行数据分别对应的行增量数据并行同步至所述目标数据库;其中,所述第一数据表中各目标行数据分别对应的行增量数据的总和为该第一数据表对应的表增量数据。
其中,所述判断单元301和所述同步单元302的具体功能实现方式可以参见上述图2对应实施例中的S207-S209,这里不再进行赘述。
进一步的,请一并参见图6,是本发明实施例提供的一种记录模块10的结构示意图,所述记录模块10可以包括:获取检测单元101、第一记录单元102、第二记录单元103;
所述获取检测单元101,用于获取数据操作指令,并根据所述数据操作指令执行数据处理业务,并设置与所述数据处理业务对应的数据记录范围;
所述第一记录单元102,用于若所述数据记录范围为至少一个第二数据表,则在所述至少一个第二数据表中记录基于所述数据处理业务所生成的总增量数据;
所述第二记录单元103,用于若所述数据记录范围为源数据库,则在所述源数据库中记录基于所述数据处理业务所生成的总增量数据;
其中,所述获取检测单元101、所述第一记录单元102以及所述第二记录单元103的具体功能实现方式可以参见上述图2对应实施例中的S201-S203,这里不再进行赘述。
进一步的,请一并参见图7,是本发明实施例提供的一种第二记录单元103的结构示意图,所述第二记录单元103可以包括:增量记录子单元1031、同步判断子单元1032、通知子单元1033、确定子单元1034;
所述增量记录子单元1031,用于在所述源数据库中记录基于所述数据处理业务所生成的增量数据;
所述同步判断子单元1032,用于判断所述待同步全量数据是否已全部同步至所述目标数据库;
所述通知子单元1033,用于若所述同步判断子单元1032判断为否,则通知所述增量记录子单元1031继续在所述源数据库中记录基于所述数据处理业务所生成的增量数据;
所述确定子单元1034,用于若所述同步判断子单元1032判断为是,则将完成所述数据处理业务的时刻确定为结束时间戳,并将所述起始时间戳到所述结束时间戳之间所记录到的所有增量数据确定为总增量数据;
其中,当上述图4中的所述第二同步模块70触发执行相应操作后,所述增量记录子单元1031、所述同步判断子单元1032、所述通知子单元1033以及所述确定子单元1034才可执行相应操作;所述第二同步模块70、所述增量记录子单元1031、所述同步判断子单元1032、所述通知子单元1033以及所述确定子单元1034的具体功能实现方式可以参见上述图3对应实施例中的S301-S305,这里不再进行赘述。
本发明实施例通过获取数据操作指令,并根据数据操作指令执行数据处理业务,并记录基于数据处理业务所生成的总增量数据,可以查找总增量数据所关联的至少一个第一数据表,并将各第一数据表中的表增量数据并行同步至目标数据库。由于总增量数据为基于逻辑语句的增量数据,且基于逻辑语句的增量数据可以在各种版本的数据库中使用,所以本发明可以在不同版本的数据库之间进行增量数据的同步;而且通过确定所述数据处理业务对应的数据记录范围,可以选择性的记录指定的数据表或数据库中的增量数据,因此,不仅可以提高同步效率也可以节省服务器的存储资源;而且通过多进程分别对各表增量数据进行并行同步,可以有效提高同步效率;而且当数据表中包含主关键字时,还可以进一步对包含主关键字的数据表对应的表增量数据进行基于行增量数据的并行同步,以进一步提高同步效率。
而且在整个升级过程中或数据搬迁过程中,源数据库持续提供服务,直到升级完毕或搬迁完毕,可以将所述源数据库中所记录的所述总增量数据中的表增量数据和/或行增量数据并行同步到所述目标数据库,以保证目标数据库中的数据的一致性,且整个服务过程不中断,即可以实现在保证服务不中断的前提下从对源数据库的使用过渡到对目标数据库的使用。
请参见图8,是本发明实施例提供的另一种数据同步装置的结构示意图。如图8所示,所述数据同步装置1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图8所示的数据同步装置1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输出的数据;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现
获取数据操作指令,并根据所述数据操作指令执行数据处理业务,并记录基于所述数据处理业务所生成的总增量数据;所述总增量数据为基于逻辑语句的增量数据;
查找所述总增量数据所关联的至少一个第一数据表;各第一数据表均包括对应的表增量数据;所述各第一数据表分别对应的表增量数据的总和为所述总增量数据;
将所述各第一数据表中的表增量数据并行同步至目标数据库。
在一个实施例中,所述处理器1001在执行将所述各第一数据表中的表增量数据并行同步至目标数据库时,具体执行以下步骤:
判断所述至少一个第一数据表中是否存在包含主关键字的第一数据表;
若判断为否,则将所述各第一数据表中的表增量数据并行同步至所述目标数据库;
若判断为是,则将不包含所述主关键字的第一数据表中的表增量数据并行同步至所述目标数据库,并查找与包含所述主关键字的第一数据表对应的表增量数据所关联的至少一个目标行数据,将所述各目标行数据分别对应的行增量数据并行同步至所述目标数据库;
其中,所述第一数据表中各目标行数据分别对应的行增量数据的总和为该第一数据表对应的表增量数据。
在一个实施例中,所述处理器1001在执行获取数据操作指令,并根据所述数据操作指令执行数据处理业务,并记录基于所述数据处理业务所生成的总增量数据时,具体执行以下步骤:
获取数据操作指令,并根据所述数据操作指令执行数据处理业务,并设置与所述数据处理业务对应的数据记录范围;
若所述数据记录范围为至少一个第二数据表,则在所述至少一个第二数据表中记录基于所述数据处理业务所生成的总增量数据;
若所述数据记录范围为源数据库,则在所述源数据库中记录基于所述数据处理业务所生成的总增量数据。
在一个实施例中,所述处理器1001在执行查找所述总增量数据所关联的至少一个第一数据表之前,还执行以下步骤:
检测所述数据处理业务的执行状态;
若所述数据处理业务的执行状态为成功执行状态,则执行所述查找所述总增量数据所关联的至少一个第一数据表的步骤;
若所述数据处理业务的执行状态为数据回滚状态,则删除所记录的所述总增量数据。
在一个实施例中,所述处理器1001在执行获取数据操作指令之前,还执行以下步骤:
记录接收到后台业务指令对应的起始时间戳,并将源数据库中处于所述起始时间戳的全量数据确定为待同步全量数据,并根据所述后台业务指令将所述待同步全量数据同步至目标数据库;所述后台业务指令为在线升级指令或数据搬迁指令;
则所述处理器1001在执行在所述源数据库中记录基于所述数据处理业务所生成的总增量数据时,具体执行以下步骤:
在所述源数据库中记录基于所述数据处理业务所生成的增量数据;
判断所述待同步全量数据是否已全部同步至所述目标数据库;
若判断为否,则继续执行所述在所述源数据库中记录基于所述数据处理业务所生成的增量数据的步骤;
若判断为是,则将完成所述数据处理业务的时刻确定为结束时间戳,并将所述起始时间戳到所述结束时间戳之间所记录到的所有增量数据确定为总增量数据。
本发明实施例通过获取数据操作指令,并根据数据操作指令执行数据处理业务,并记录基于数据处理业务所生成的总增量数据,可以查找总增量数据所关联的至少一个第一数据表,并将各第一数据表中的表增量数据并行同步至目标数据库。由于总增量数据为基于逻辑语句的增量数据,且基于逻辑语句的增量数据可以在各种版本的数据库中使用,所以本发明可以在不同版本的数据库之间进行增量数据的同步;而且通过确定所述数据处理业务对应的数据记录范围,可以选择性的记录指定的数据表或数据库中的增量数据,因此,不仅可以提高同步效率也可以节省服务器的存储资源;而且通过多进程分别对各表增量数据进行并行同步,可以有效提高同步效率;而且当数据表中包含主关键字时,还可以进一步对包含主关键字的数据表对应的表增量数据进行基于行增量数据的并行同步,以进一步提高同步效率。
而且在整个升级过程中或数据搬迁过程中,源数据库持续提供服务,直到升级完毕或搬迁完毕,可以将所述源数据库中所记录的所述总增量数据中的表增量数据和/或行增量数据并行同步到所述目标数据库,以保证目标数据库中的数据的一致性,且整个服务过程不中断,即可以实现在保证服务不中断的前提下从对源数据库的使用过渡到对目标数据库的使用。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种数据同步方法,其特征在于,包括:
获取数据操作指令,并根据所述数据操作指令执行数据处理业务,并记录基于所述数据处理业务所生成的总增量数据;所述总增量数据为基于逻辑语句的增量数据;
查找所述总增量数据所关联的至少一个第一数据表;各第一数据表均包括对应的表增量数据;所述各第一数据表分别对应的表增量数据的总和为所述总增量数据;
将所述各第一数据表中的表增量数据并行同步至目标数据库。
2.如权利要求1所述的方法,其特征在于,所述将所述各第一数据表中的表增量数据并行同步至目标数据库,包括:
判断所述至少一个第一数据表中是否存在包含主关键字的第一数据表;
若判断为否,则将所述各第一数据表中的表增量数据并行同步至所述目标数据库;
若判断为是,则将不包含所述主关键字的第一数据表中的表增量数据并行同步至所述目标数据库,并查找与包含所述主关键字的第一数据表对应的表增量数据所关联的至少一个目标行数据,将所述各目标行数据分别对应的行增量数据并行同步至所述目标数据库;
其中,所述第一数据表中各目标行数据分别对应的行增量数据的总和为该第一数据表对应的表增量数据。
3.如权利要求1所述的方法,其特征在于,所述获取数据操作指令,并根据所述数据操作指令执行数据处理业务,并记录基于所述数据处理业务所生成的总增量数据,包括:
获取数据操作指令,并根据所述数据操作指令执行数据处理业务,并设置与所述数据处理业务对应的数据记录范围;
若所述数据记录范围为至少一个第二数据表,则在所述至少一个第二数据表中记录基于所述数据处理业务所生成的总增量数据;
若所述数据记录范围为源数据库,则在所述源数据库中记录基于所述数据处理业务所生成的总增量数据。
4.如权利要求1所述的方法,其特征在于,在所述查找所述总增量数据所关联的至少一个第一数据表的步骤之前,还包括:
检测所述数据处理业务的执行状态;
若所述数据处理业务的执行状态为成功执行状态,则执行所述查找所述总增量数据所关联的至少一个第一数据表的步骤;
若所述数据处理业务的执行状态为数据回滚状态,则删除所记录的所述总增量数据。
5.如权利要求3所述的方法,其特征在于,在所述获取数据操作指令的步骤之前,还包括:
记录接收到后台业务指令对应的起始时间戳,并将源数据库中处于所述起始时间戳的全量数据确定为待同步全量数据,并根据所述后台业务指令将所述待同步全量数据同步至目标数据库;所述后台业务指令为在线升级指令或数据搬迁指令;
则所述在所述源数据库中记录基于所述数据处理业务所生成的总增量数据,包括:
在所述源数据库中记录基于所述数据处理业务所生成的增量数据;
判断所述待同步全量数据是否已全部同步至所述目标数据库;
若判断为否,则继续执行所述在所述源数据库中记录基于所述数据处理业务所生成的增量数据的步骤;
若判断为是,则将完成所述数据处理业务的时刻确定为结束时间戳,并将所述起始时间戳到所述结束时间戳之间所记录到的所有增量数据确定为总增量数据。
6.一种数据同步装置,其特征在于,包括:
记录模块,用于获取数据操作指令,并根据所述数据操作指令执行数据处理业务,并记录基于所述数据处理业务所生成的总增量数据;所述总增量数据为基于逻辑语句的增量数据;
查找模块,用于查找所述总增量数据所关联的至少一个第一数据表;各第一数据表均包括对应的表增量数据;所述各第一数据表分别对应的表增量数据的总和为所述总增量数据;
第一同步模块,用于将所述各第一数据表中的表增量数据并行同步至目标数据库。
7.如权利要求6所述的装置,其特征在于,所述第一同步模块包括:
判断单元,用于判断所述至少一个第一数据表中是否存在包含主关键字的第一数据表;
同步单元,用于若所述判断单元判断为否,则将所述各第一数据表中的表增量数据并行同步至所述目标数据库;
所述同步单元,还用于若所述判断单元判断为是,则将不包含所述主关键字的第一数据表中的表增量数据并行同步至所述目标数据库,并查找与包含所述主关键字的第一数据表对应的表增量数据所关联的至少一个目标行数据,将所述各目标行数据分别对应的行增量数据并行同步至所述目标数据库;
其中,所述第一数据表中各目标行数据分别对应的行增量数据的总和为该第一数据表对应的表增量数据。
8.如权利要求6所述的装置,其特征在于,所述记录模块包括:
获取检测单元,用于获取数据操作指令,并根据所述数据操作指令执行数据处理业务,并设置与所述数据处理业务对应的数据记录范围;
第一记录单元,用于若所述数据记录范围为至少一个第二数据表,则在所述至少一个第二数据表中记录基于所述数据处理业务所生成的总增量数据;
第二记录单元,用于若所述数据记录范围为源数据库,则在所述源数据库中记录基于所述数据处理业务所生成的总增量数据。
9.如权利要求6所述的装置,其特征在于,还包括:
状态检测模块,用于检测所述数据处理业务的执行状态;
通知模块,用于若所述数据处理业务的执行状态为成功执行状态,则通知所述查找模块查找所述总增量数据所关联的至少一个第一数据表;
删除模块,用于若所述数据处理业务的执行状态为数据回滚状态,则删除所记录的所述总增量数据。
10.如权利要求6所述的装置,其特征在于,还包括:
第二同步模块,用于记录接收到后台业务指令对应的起始时间戳,并将源数据库中处于所述起始时间戳的全量数据确定为待同步全量数据,并根据所述后台业务指令将所述待同步全量数据同步至目标数据库;所述后台业务指令为在线升级指令或数据搬迁指令;
则所述第二记录单元包括:
增量记录子单元,用于在所述源数据库中记录基于所述数据处理业务所生成的增量数据;
同步判断子单元,用于判断所述待同步全量数据是否已全部同步至所述目标数据库;
通知子单元,用于若所述同步判断子单元判断为否,则通知所述增量记录子单元继续在所述源数据库中记录基于所述数据处理业务所生成的增量数据;
确定子单元,用于若所述同步判断子单元判断为是,则将完成所述数据处理业务的时刻确定为结束时间戳,并将所述起始时间戳到所述结束时间戳之间所记录到的所有增量数据确定为总增量数据。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611178079.2A CN108205560B (zh) | 2016-12-19 | 2016-12-19 | 一种数据同步方法以及装置 |
PCT/CN2017/116144 WO2018113580A1 (zh) | 2016-12-19 | 2017-12-14 | 一种数据管理方法及服务器 |
US16/289,808 US11500832B2 (en) | 2016-12-19 | 2019-03-01 | Data management method and server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611178079.2A CN108205560B (zh) | 2016-12-19 | 2016-12-19 | 一种数据同步方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108205560A true CN108205560A (zh) | 2018-06-26 |
CN108205560B CN108205560B (zh) | 2021-12-14 |
Family
ID=62602889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611178079.2A Active CN108205560B (zh) | 2016-12-19 | 2016-12-19 | 一种数据同步方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108205560B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241175A (zh) * | 2018-06-28 | 2019-01-18 | 东软集团股份有限公司 | 数据同步方法、装置、存储介质及电子设备 |
CN109829016A (zh) * | 2019-01-25 | 2019-05-31 | 网宿科技股份有限公司 | 一种数据同步方法及装置 |
CN110347747A (zh) * | 2019-06-14 | 2019-10-18 | 平安科技(深圳)有限公司 | 数据库间数据同步方法、系统、计算机设备及存储介质 |
CN111026810A (zh) * | 2019-12-03 | 2020-04-17 | 苏州睿威博科技有限公司 | 数据同步方法、装置及存储介质 |
CN111597200A (zh) * | 2019-02-21 | 2020-08-28 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及存储介质 |
CN112015790A (zh) * | 2019-05-30 | 2020-12-01 | 北京沃东天骏信息技术有限公司 | 一种数据处理的方法和装置 |
CN112948494A (zh) * | 2021-03-04 | 2021-06-11 | 北京沃东天骏信息技术有限公司 | 数据同步方法、装置、电子设备和计算机可读介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129478A (zh) * | 2011-04-26 | 2011-07-20 | 广州从兴电子开发有限公司 | 数据库同步方法及系统 |
CN102184251A (zh) * | 2011-05-25 | 2011-09-14 | 盛趣信息技术(上海)有限公司 | 一种数据表同步系统及方法 |
CN102521225A (zh) * | 2011-09-29 | 2012-06-27 | 用友软件股份有限公司 | 增量数据抽取装置和增量数据抽取方法 |
CN103970834A (zh) * | 2014-04-02 | 2014-08-06 | 浙江大学 | 一种异构数据库同步系统中增量数据同步故障的恢复方法 |
CN104166605A (zh) * | 2014-08-18 | 2014-11-26 | 四川航天系统工程研究所 | 基于增量数据文件的数据备份方法及系统 |
CN105718570A (zh) * | 2016-01-20 | 2016-06-29 | 北京京东尚科信息技术有限公司 | 用于数据库的数据迁移方法和装置 |
-
2016
- 2016-12-19 CN CN201611178079.2A patent/CN108205560B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129478A (zh) * | 2011-04-26 | 2011-07-20 | 广州从兴电子开发有限公司 | 数据库同步方法及系统 |
CN102184251A (zh) * | 2011-05-25 | 2011-09-14 | 盛趣信息技术(上海)有限公司 | 一种数据表同步系统及方法 |
CN102521225A (zh) * | 2011-09-29 | 2012-06-27 | 用友软件股份有限公司 | 增量数据抽取装置和增量数据抽取方法 |
CN103970834A (zh) * | 2014-04-02 | 2014-08-06 | 浙江大学 | 一种异构数据库同步系统中增量数据同步故障的恢复方法 |
CN104166605A (zh) * | 2014-08-18 | 2014-11-26 | 四川航天系统工程研究所 | 基于增量数据文件的数据备份方法及系统 |
CN105718570A (zh) * | 2016-01-20 | 2016-06-29 | 北京京东尚科信息技术有限公司 | 用于数据库的数据迁移方法和装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241175A (zh) * | 2018-06-28 | 2019-01-18 | 东软集团股份有限公司 | 数据同步方法、装置、存储介质及电子设备 |
CN109829016A (zh) * | 2019-01-25 | 2019-05-31 | 网宿科技股份有限公司 | 一种数据同步方法及装置 |
CN111597200A (zh) * | 2019-02-21 | 2020-08-28 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及存储介质 |
CN112015790A (zh) * | 2019-05-30 | 2020-12-01 | 北京沃东天骏信息技术有限公司 | 一种数据处理的方法和装置 |
CN110347747A (zh) * | 2019-06-14 | 2019-10-18 | 平安科技(深圳)有限公司 | 数据库间数据同步方法、系统、计算机设备及存储介质 |
WO2020248375A1 (zh) * | 2019-06-14 | 2020-12-17 | 平安科技(深圳)有限公司 | 数据库间数据同步方法、系统、计算机设备及存储介质 |
CN111026810A (zh) * | 2019-12-03 | 2020-04-17 | 苏州睿威博科技有限公司 | 数据同步方法、装置及存储介质 |
CN111026810B (zh) * | 2019-12-03 | 2024-04-26 | 睿视(苏州)视频科技有限公司 | 数据同步方法、装置及存储介质 |
CN112948494A (zh) * | 2021-03-04 | 2021-06-11 | 北京沃东天骏信息技术有限公司 | 数据同步方法、装置、电子设备和计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108205560B (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108205560A (zh) | 一种数据同步方法以及装置 | |
USRE49042E1 (en) | Data replication between databases with heterogenious data platforms | |
US11500832B2 (en) | Data management method and server | |
CN1517885B (zh) | 关于利用原子性更新的中央高速缓冲存储器的方法和系统 | |
US20190026193A1 (en) | Method and apparatus for executing data recovery operation | |
CN105989195A (zh) | 用于处理数据库数据的方法和系统 | |
CN106663089A (zh) | 文档编辑的智能冲突检测和语义表达 | |
CN104965879A (zh) | 修改数据表的表结构的方法及装置 | |
CN106874281B (zh) | 实现数据库读写分离的方法和装置 | |
KR20190050993A (ko) | 이관 시스템 및 방법 업데이트 | |
CN102984357B (zh) | 一种联系人信息管理方法及装置 | |
US9031909B2 (en) | Provisioning and/or synchronizing using common metadata | |
CN110245145A (zh) | 关系型数据库到Hadoop数据库的结构同步方法和装置 | |
CN109697140B (zh) | 数据备份方法及装置、数据恢复方法及装置、存储介质 | |
CN104216802B (zh) | 一种内存数据库恢复方法和设备 | |
CN109947635A (zh) | 一种数据上报方法、装置、存储介质及终端设备 | |
CN109597707A (zh) | 克隆卷数据拷贝方法、装置及计算机可读存储介质 | |
CN110352410A (zh) | 跟踪索引节点的访问模式以及预提取索引节点 | |
CN103123651A (zh) | 一种快速查看多个同类文件的方法、装置和移动设备 | |
CN102737082A (zh) | 一种动态更新文稿数据索引的方法和系统 | |
CN110647421B (zh) | 数据库处理方法、装置、系统以及电子设备 | |
US7778660B2 (en) | Mobile communications terminal, information transmitting system and information receiving method | |
CN109165259B (zh) | 基于网络附属存储的索引表更新方法、处理器及存储装置 | |
CN110910237A (zh) | 区块链中的数据处理方法、装置及智能终端、存储介质 | |
CN102932513B (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 |