CN110674146B - 一种数据同步方法、同步端、待同步端、设备及存储介质 - Google Patents
一种数据同步方法、同步端、待同步端、设备及存储介质 Download PDFInfo
- Publication number
- CN110674146B CN110674146B CN201910780590.7A CN201910780590A CN110674146B CN 110674146 B CN110674146 B CN 110674146B CN 201910780590 A CN201910780590 A CN 201910780590A CN 110674146 B CN110674146 B CN 110674146B
- Authority
- CN
- China
- Prior art keywords
- data
- change table
- incremental
- synchronized
- target 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
Links
Images
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/23—Updating
-
- 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)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据同步方法、同步端、待同步端、设备及存储介质。所述方法包括:获取目标数据库在目标时间段内发生变更的数据;根据所述发生变更的数据,更新增量数据变化表的数据,所述增量数据变化表用于记录所述目标数据库的更新信息;将更新后的增量数据变化表发送给待同步端,使所述待同步端根据所述增量数据变化表更新待更新数据库。本申请在数据同步过程中,同步端无需将目标数据库中的数据全部发送给待同步端,而只需将记录目标数据库变更信息的增量数据变化表发送给待同步端,加快了待同步端获取待同步数据的速度,提高了数据同步效率,保证了待同步数据库中的数据的即时性与准确度。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据同步方法、同步端、待同步端、设备及存储介质。
背景技术
在相关技术中,业务平台为保证数据的即时性和准确度,提高业务质量,通常需要周期性地更新自身存储的历史数据,保证历史数据与数据源的实际数据的同步。而常见的数据同步方式是:业务平台从数据源获取同步数据,将同步数据与自身存储的历史数据进行对比,确定出发生变更的数据,并利用发生变更的数据更新历史数据,从而实现数据同步。然而在上述同步过程中,数据源通常将所有的同步数据发送给业务平台,使业务平台花费较长时间将同步数据与自身存储的历史数据逐一对比,来确定出发生变更的数据。因此,相关技术中的数据同步方式普遍存在同步效率低的问题,导致业务请求方无法获得即时性和准确度较高的数据。
发明内容
本申请实施例提供了一种数据同步方法、同步端、待同步端、设备及存储介质,旨在提升数据同步效率。
本申请实施例第一方面提供了一种数据同步方法,应用于同步端,所述方法包括:
获取目标数据库在目标时间段内发生变更的数据;
根据所述发生变更的数据,更新增量数据变化表中的数据,所述增量数据变化表用于记录所述目标数据库的更新信息;
将更新后的增量数据变化表发送给待同步端,使所述待同步端根据所述增量数据变化表更新待更新数据库。
可选地,所述目标数据库的每条数据携带有第一时间戳,所述第一时间戳表示该数据最近一次变更的变更时间;
获取目标数据库在目标时间段内发生变更的数据,包括:
将所述目标数据库中携带的第一时间戳在所述目标时间段内的数据确定为发生变更的数据;
获取所述发生变更的数据。
可选地,所述增量数据变化表的每条数据携带有操作标识和第二时间戳;
根据所述发生变更的数据,更新增量数据变化表的数据,包括:
若所述发生变更的数据在所述目标数据库中,且不在所述增量数据变化表中,在所述增量数据变化表中新增该数据,将该数据的操作标识设置为新增,并将该数据的第二时间戳设置为该数据的第一时间戳;
若所述发生变更的数据不在所述目标数据库中,且在所述增量数据变化表中,将该数据的操作标识设置为删除,并将该数据的第二时间戳设置为该数据的第一时间戳;
若所述发生变更的数据在所述目标数据库中,且不在所述增量数据变化表中,将该数据的操作标识设置为修改,并将该数据的第二时间戳设置为该数据的第一时间戳。
可选地,在获取目标数据库在目标时间段内发生变更的数据前,所述方法还包括:
创建增量数据变化表,将所述目标数据库中的数据导入所述增量数据变化表;
为所述增量数据变化表的每条数据添加操作标识和第二时间戳,将所述操作标识设置为新增,将所述第二时间戳设置为所述第一时间戳。
本申请实施例第二方面提供了一种数据同步方法,应用于待同步端,所述方法包括:
接收所述同步端发送的增量数据变化表;
将所述增量数据变化表中携带的第二时间戳,与上一版本的增量数据变化表中携带的第二时间戳不同的数据确定为待同步数据;
根据所述待同步数据,更新待更新数据库。
可选地,根据所述待同步数据,更新待更新数据库,包括:
依次读取所述待同步数据中的每条数据;
若该数据携带的操作标识为新增,在所述待更新数据库中新增该数据;
若该数据携带的操作标识为删除,在所述待更新数据库中删除该数据;
若该数据携带的操作标识为修改,修改所述待更新数据库中该数据的数据值。
本申请实施例第三方面提供了一种同步端,包括:
第一数据校验模块,用于获取目标数据库在目标时间段内发生变更的数据;
更新模块,用于根据所述发生变更的数据,更新增量数据变化表中的数据,所述增量数据变化表用于记录所述目标数据库的更新信息;
发送模块,用于将更新后的增量数据变化表发送给待同步端,使所述待同步端根据所述增量数据变化表更新待更新数据库。
可选地,所述目标数据库的每条数据携带有第一时间戳,所述第一时间戳表示该数据最近一次变更的变更时间;
所述第一数据校验模块包括:
变更数据确定模块,用于将所述目标数据库中携带的第一时间戳在所述目标时间段内的数据确定为发生变更的数据;
变更数据获取模块,用于获取所述发生变更的数据。
可选地,所述增量数据变化表的每条数据携带有操作标识和第二时间戳;
所述更新模块包括:
第一更新模块,用于若所述发生变更的数据在所述目标数据库中,且不在所述增量数据变化表中,在所述增量数据变化表中新增该数据,将该数据的操作标识设置为新增,并将该数据的第二时间戳设置为该数据的第一时间戳;
第二更新模块,用于若所述发生变更的数据不在所述目标数据库中,且在所述增量数据变化表中,将该数据的操作标识设置为删除,并将该数据的第二时间戳设置为该数据的第一时间戳;
第三更新模块,用于若所述发生变更的数据在所述目标数据库中,且不在所述增量数据变化表中,将该数据的操作标识设置为修改,并将该数据的第二时间戳设置为该数据的第一时间戳。
可选地,所述同步端还包括:
创建模块,用于创建增量数据变化表,将所述目标数据库中的数据导入所述增量数据变化表;
设置模块,用于为所述增量数据变化表的每条数据添加操作标识和第二时间戳,将所述操作标识设置为新增,将所述第二时间戳设置为所述第一时间戳。
本申请实施例第四方面提供了一种待同步端,包括:
接收模块,用于接收所述同步端发送的增量数据变化表;
确定模块,用于将所述增量数据变化表中携带的第二时间戳,与所述上一版本的增量数据变化表中携带的第二时间戳不同的数据确定为待同步数据;
第二数据校验模块,用于根据所述待同步数据,更新待更新数据库。
可选地,所述第二数据校验模块包括:
读取模块,用于依次读取所述待同步数据中的每条数据;
第一操作模块,用于若该数据携带的操作标识为新增,在所述待更新数据库中新增该数据;
第二操作模块,用于若该数据携带的操作标识为删除,在所述待更新数据库中删除该数据;
第三操作模块,用于若该数据携带的操作标识为修改,修改所述待更新数据库中该数据的数据值。
本申请实施例第五方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请第一方面所述的方法的步骤。
本申请实施例第六方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请第一方面所述的方法中的步骤。
本申请实施例提供了一种数据同步方法。在本申请中,同步端首先获取目标数据库在目标时间段内发生变更的数据,然后根据发生变更的数据,更新增量数据变化表的数据,最后将增量数据变化表发送给待同步端,由于增量数据变化表只用于记录目标数据库的变更信息,因此待同步端根据增量数据变化表,可以快速地确定出待同步数据,进而快速地更新待更新数据库中的数据。本申请在数据同步过程中,同步端无需将目标数据库中的数据全部发送给待同步端,而只需将记录目标数据库变更信息的增量数据变化表发送给待同步端,加快了待同步端获取待同步数据的速度,提高了数据同步效率,保证了待同步数据库中的数据的即时性与准确度。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例示出的一种实施环境示意图;
图2是本申请一实施例示出的一种数据同步方法的流程图;
图3是本申请一实施例示出的创建增量数据变化表的流程图;
图4是本申请一实施例示出的更新增量数据变化表的流程图;
图5是本申请一实施例示出的另一种数据同步方法的流程图;
图6是本申请一实施例示出的更新待更新数据库的流程图;
图7是本申请一实施例示出的一种数据同步方法的实施场景图;
图8是本申请一实施例示出的一种同步端的结构示意图;
图9是本申请一实施例示出的一种待同步端的结构示意图;
图10是本申请一实施例示出的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请一实施例示出的一种实施环境示意图。该实施环境包括:同步设备1、同步设备2以及同步设备3,同步设备2分别与同步设备1和同步设备3通信连接。每个同步设备均安装有同步程序,该同步程序包括:接收模块、数据校验模块以及发送模块。每个同步设备中设置有MySQL数据管理系统,数据校验模块用于操作MySQL数据管理系统的数据库中的数据。
当同步设备1作为同步端时,同步设备2作为待同步端,同步设备1通过同步程序1整理出待同步数据,将待同步数据发送到同步设备2,同步设备2通过同步程序2接收待同步数据,并更新自身存储的数据。同时,同步设备2也可以作为同步端,当其作为同步端时,同步设备3作为待同步端,同步设备2与同步设备3之间的数据同步原理与同步设备1与同步设备2之间的数据同步原理相同。
下面将以图1中的同步设备1为同步端,同步设备2为待同步端,对本申请提供的数据同步方法做详细说明。
首先,本申请提供了一种数据同步方法,应用于同步端,该同步端为图1中的同步设备1。图2是本申请一实施例示出的一种数据同步方法的流程图。参照图2,本申请提供的数据同步方法包括以下步骤:
步骤S11:获取目标数据库在目标时间段内发生变更的数据。
目标数据库位于同步设备1的MySQL数据管理系统中,变更操作可以是:新增、删除、修改等。
具体地,目标数据库的每条数据携带有第一时间戳,该第一时间戳表示该数据最近一次变更的变更时间,因而,步骤S11可以包括:
将所述目标数据库中携带的第一时间戳在所述目标时间段内的数据确定为发生变更的数据;
获取所述发生变更的数据。
在本申请实施例中,目标数据库中的数据一旦发生变更,其携带的第一时间戳也会随之发生变更,第一时间戳用于表示该数据最后一次发生变更的时间,例如:在对一条的数据进行修改之前,其携带的第一时间戳为“2010/10/10 10:10”,用户在2010/10/11 12:10对其修改后,其携带的第一时间戳变为“2010/10/11 12:10”。
如果一条数据的第一时间戳位于目标时间段内,表示在目标时间段内,用户对该数据做出过变更操作,即:该数据发生了变更。在本申请中,可以通过同步程序中的数据校验模块执行上述步骤S11,数据校验模块依次判断每条数据的第一时间戳是否在目标时间段内,进而获取到所有的在目标时间段内发生变更的数据。
步骤S12:根据所述发生变更的数据,更新增量数据变化表中的数据,所述增量数据变化表用于记录所述目标数据库的更新信息。
在对步骤S12进行详细说明之前,首先对增量数据变化表进行简单说明。
图3是本申请一实施例示出的创建增量数据变化表的流程图。参照图3,在上述步骤S11之前,本申请的数据同步方法还包括以下步骤:
步骤S21:创建增量数据变化表,将所述目标数据库中的数据导入所述增量数据变化表。
具体地,将目标数据库中的数据导入增量数据变化表时,是将目标数据库中的数据的关键信息导增量数据变化表。
步骤S22:为所述增量数据变化表的每条数据添加操作标识和第二时间戳,将所述操作标识设置为新增,将所述第二时间戳设置为所述第一时间戳。
本申请在为目标数据库创建增量数据变化表时,将该目标数据库中的所有数据作为该增量数据变化表中的初始数据,将其关键信息导入到增量数据变化表中。导入后,为每条初始数据设置操作标识和第二时间戳,具体地,将操作标识设置为新增,将第二时间戳设置为第一时间戳。因此,当增量数据变化表中的数据跟随目标数据库中的数据的变更而变更时,通过增量数据变化表可以得知目标数据库中的数据的变更情况。
增量数据变化表用于记录目标数据库中的所有数据的变更信息,不用于存储目标数据库中的数据。其记录的一条数据的变更信息包括:数据名称、操作标识、第二时间时间戳以及其它必要的附加信息。例如一条变更信息的记录格式为“AAABBBCCCDDD”,其中,AAA为数据名称,BBB为操作标识,CCC为第二时间戳,DDD为其它必要的附加信息。
图4是本申请一实施例示出的更新增量数据变化表的流程图。参照图4,上述步骤S12可以包括:
步骤S121:若所述发生变更的数据在所述目标数据库中,且不在所述增量数据变化表中,在所述增量数据变化表中新增该数据,将该数据的操作标识设置为新增,并将该数据的第二时间戳设置为该数据的第一时间戳;
步骤S122:若所述发生变更的数据不在所述目标数据库中,且在所述增量数据变化表中,将该数据的操作标识设置为删除,并将该数据的第二时间戳设置为该数据的第一时间戳;
步骤S123:若所述发生变更的数据在所述目标数据库中,且在所述增量数据变化表中,将该数据的操作标识设置为修改,并将该数据的第二时间戳设置为该数据的第一时间戳。
在本申请中,同步程序利用发生变更的数据,更新增量数据变化表中的数据,包括:
逐个读取发生变更的数据中的每条数据,若该数据在目标数据库中,但不在增量数据变化表中,表示该数据的变更操作是新增,因此,在增量数据变化表新增该数据。例如:对于读取到的一条携带的第一时间戳为“2010/10/11 12:10”的数据X1,若该数据在目标数据库中,但不在增量数据变化表中,代表用户在2010/10/11 12:10时在目标数据库中新增了该数据X1,因此,为了使增量数据变化表可以反映目标数据库中的数据的变更情况,需将该数据X1新增加到增量数据变化表中。在增加时,将该数据X1的操作标识设置为新增,及将该数据X1的第二时间戳设置为“2010/10/11 12:10”。假设增量数据变化表中的一条数据的格式为“X1新增数据2010/10/11 12:10XXXXXX”(XXXXXX表示其它必要的附加信息),那么通过该条数据可以得知,用户在2010/10/11 12:10时,在目标数据库中新增了数据X1。
若读取到的数据不在目标数据库中,但在增量数据变化表中,表示该数据的变更操作是删除,因此,需在增量数据变化表中将该数据的操作标识设置为删除。例如:对于读取到的一条携带的第一时间戳为“2010/10/11 12:12”的数据X2,若该数据不在目标数据库中,但在增量数据变化表中,代表用户在2010/10/11 12:12时在目标数据库中删除了该数据X2,因此,为了使增量数据变化表可以反映目标数据库中的数据的变更情况,需在增量数据变化表中将数据X2的操作标识设置为删除,并将第二时间戳设置为第一时间戳。
若该数据既在目标数据库中,也在增量数据变化表中,表示该数据的变更操作是修改,因此,需在增量数据变化表中将该数据的操作标识改为修改,记录修改后的数据值,并将第二时间戳设置为第一时间戳。
通过上述步骤,可以利用发生变更的数据对增量数据变化表中的数据进行更新,通过查看增量数据变化表中的数据的操作标识和第二时间戳,便可知道目标数据库中的数据的变更情况。
步骤S13:将更新后的增量数据变化表发送给待同步端,使所述待同步端根据所述增量数据变化表更新待更新数据库。
在本申请中,同步端通过同步程序通过IP/TCP协议,将更新后的增量数据变化表发送到待同步端,待同步端通过同步程序接收增量数据变化表,并根据增量数据变化表中记录的目标数据库中的变更信息,更新待更新数据库中的数据。
待同步端根据增量数据变化表更新待更新数据库的具体过程包括:
将增量数据变化表中携带的第二时间戳,与上一版本的增量数据变化表中携带的第二时间戳不同的数据确定为待同步数据;
根据待同步数据,更新待更新数据库。
待同步端将当前接收到的增量数据变化表与上一版本的增量数据变化表进行对比,将携带的第二时间戳发生了变更的数据确定为待同步数据(也即:目标数据库中在目标时间段内发生了变更的数据),由于增量数据变化表仅存储了目标数据库中的数据的关键信息,而不是所有数据,因此,待同步端可以快速地确定出待同步数据。
待同步端依次读取待同步数据中的每一条数据,根据其携带的操作标识,对待更新数据库中的数据进行相应操作,具体可以包括:
若该数据携带的操作标识为新增,在待更新数据库中新增该数据;
若该数据携带的操作标识为删除,在待更新数据库中删除该数据;
若该数据携带的操作标识为修改,在待更新数据库中定位到该数据,按照增量数据变化表中记录的修改后的数据值对该数据的数据值进行修改。
在本申请实施例中,同步端可以以T(可根据同步双方的实际需求设置T的大小)为周期获取发生变更的数据,在一个周期结束时,同步端获取目标数据库中所有携带的第一时间戳不在该周期内所有的数据,作为发生变更的数据。
此外,同步端还可以实时地更新增量数据变化表中的数据。当目标数据库中的某一条数据发生变更时,根据该发生变更的数据,立即更新增量数据变化表中的数据,保证增量数据变化表记录了目标数据库的最近的更新信息。当接收到待同步端发送的同步请求时,可以立即将增量数据变化表发送给待同步端。
在本申请中,同步端首先获取目标数据库在目标时间段内发生变更的数据,然后根据发生变更的数据,更新增量数据变化表的数据,最后将增量数据变化表发送给待同步端,由于增量数据变化表只用于记录目标数据库的变更信息,因此待同步端根据增量数据变化表,可以快速地确定出待同步数据,进而快速地更新待更新数据库中的数据。本申请提供了一种通过增量数据进行数据同步的构思,在数据同步过程中,只需将记录目标数据库变更信息的增量数据变化表发送给待同步端,加快了待同步端获取待同步数据的速度,提高了数据同步效率,保证了待同步数据库中的数据的即时性与准确度;此外,由于同步端无需将目标数据库中的数据全部发送给待同步端,节省了带宽利用率。
本申请还提供了另一种数据同步方法,应用于待同步端。图5是本申请一实施例示出的另一种数据同步方法的流程图。参照图5,本申请提供的另一种数据同步方法包括以下步骤:
步骤S31:接收所述同步端发送的增量数据变化表;
步骤S32:将所述增量数据变化表中携带的第二时间戳,与上一版本的增量数据变化表中携带的第二时间戳不同的数据确定为待同步数据;
步骤S33:根据所述待同步数据,更新待更新数据库。
图6是本申请一实施例示出的更新待更新数据库的流程图。参照图6,上述步骤S33可以包括:
步骤S331:依次读取所述待同步数据中的每条数据;
步骤S332:若该数据携带的操作标识为新增,在所述待更新数据库中新增该数据;
步骤S333:若该数据携带的操作标识为删除,在所述待更新数据库中删除该数据;
步骤S334:若该数据携带的操作标识为修改,修改所述待更新数据库中该数据的数据值。
关于步骤S31至步骤S33的说明请参照前文,在此不作赘述。
图7是本申请一实施例示出的一种数据同步方法的实施场景图。下面将参照图7,以一个实施例对本申请的数据同步方法作整体说明。
在图7的实施场景中,数据同步流向依次为济南-山东-北京,济南一侧设置有同步设备1,山东一侧设置有同步设备2,北京一侧设置有同步设备3,DB表示数据库。各个同步设备的结构如图1所示。同步设备1周期性地向同步设备2发送增量数据变化表,同步设备2根据增量数据变化表对其存储的数据进行更新,将同步结果返回给同步设备1;同步设备2也周期性地向同步设备3发送增量数据变化表,同步设备3根据同步设备2发送的增量数据变化表对其存储的数据进行更新,将同步结果返回给同步设备2。通过这种方式,数据从济南一侧依次地同步到山东和北京。由于各个设备之间通过增量数据变化表的传递来实现同步,因此同步设备能快速地完成自身的数据的更新,相比于相关技术中采用的同步方式,本申请提供的数据同步方法能显著提高数据同步效率。
本申请所提供的数据同步方法能应用于任何需要同步数据的场景,包括:互联网中的数据同步场景或者视联网场中的数据同步场景。当其应用到视联网场中的数据同步场景中时,同步原理与应用到视联网场中的数据同步场景时的同步原理相同。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
本申请还提供了一种同步端800。图8是本申请一实施例示出的一种同步端的结构示意图。参照图8,同步端800包括:
第一数据校验模块801,用于获取目标数据库在目标时间段内发生变更的数据;
更新模块802,用于根据所述发生变更的数据,更新增量数据变化表中的数据,所述增量数据变化表用于记录所述目标数据库的更新信息;
发送模块803,用于将更新后的增量数据变化表发送给待同步端,使所述待同步端根据所述增量数据变化表更新待更新数据库。
可选地,所述目标数据库的每条数据携带有第一时间戳,所述第一时间戳表示该数据最近一次变更的变更时间;
所述第一数据校验模块801包括:
变更数据确定模块,用于将所述目标数据库中携带的第一时间戳在所述目标时间段内的数据确定为发生变更的数据;
变更数据获取模块,用于获取所述发生变更的数据。
可选地,所述增量数据变化表的每条数据携带有操作标识和第二时间戳;
所述更新模块802包括:
第一更新模块,用于若所述发生变更的数据在所述目标数据库中,且不在所述增量数据变化表中,在所述增量数据变化表中新增该数据,将该数据的操作标识设置为新增,并将该数据的第二时间戳设置为该数据的第一时间戳;
第二更新模块,用于若所述发生变更的数据不在所述目标数据库中,且在所述增量数据变化表中,将该数据的操作标识设置为删除,并将该数据的第二时间戳设置为该数据的第一时间戳;
第三更新模块,用于若所述发生变更的数据在所述目标数据库中,且不在所述增量数据变化表中,将该数据的操作标识设置为修改,并将该数据的第二时间戳设置为该数据的第一时间戳。
可选地,所述同步端800还包括:
创建模块,用于创建增量数据变化表,将所述目标数据库中的数据导入所述增量数据变化表;
设置模块,用于为所述增量数据变化表的每条数据添加操作标识和第二时间戳,将所述操作标识设置为新增,将所述第二时间戳设置为所述第一时间戳。
本申请还提供了一种待同步端900。图9是本申请一实施例示出的一种待同步端的结构示意图。参照图9,同步端900包括:
接收模块901,用于接收所述同步端发送的增量数据变化表;
确定模块902,用于将所述增量数据变化表中携带的第二时间戳,与所述上一版本的增量数据变化表中携带的第二时间戳不同的数据确定为待同步数据;
第二数据校验模块903,用于根据所述待同步数据,更新待更新数据库。
可选地,所述第二数据校验模块903包括:
读取模块,用于依次读取所述待同步数据中的每条数据;
第一操作模块,用于若该数据携带的操作标识为新增,在所述待更新数据库中新增该数据;
第二操作模块,用于若该数据携带的操作标识为删除,在所述待更新数据库中删除该数据;
第三操作模块,用于若该数据携带的操作标识为修改,修改所述待更新数据库中该数据的数据值。
基于同一发明构思,本申请另一实施例提供一种电子设备1000,如图10所示。图10是本申请一实施例示出的一种电子设备的结构示意图。该电子设备包括存储器1002、处理器1001及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的方法中的步骤。
基于同一发明构思,本申请另一实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的方法中的步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据同步方法、同步端、待同步端、设备及存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种数据同步方法,其特征在于,应用于同步端,所述方法包括:
获取目标数据库在目标时间段内发生变更的数据;
根据所述发生变更的数据,更新增量数据变化表中的数据,所述增量数据变化表用于记录所述目标数据库的更新信息,不用于存储目标数据库中的数据;
将更新后的增量数据变化表发送给待同步端,使所述待同步端根据所述增量数据变化表更新待更新数据库;
其中,所述增量数据变化表的每条数据携带有操作标识和第二时间戳;
所述根据所述发生变更的数据,更新增量数据变化表中的数据,包括:
根据所述目标数据库和所述增量数据变化表,确定该数据的操作标识,并将该数据的第二时间戳设置为该数据的第一时间戳;所述操作标识为新增、删除和修改其中一种。
2.根据权利要求1所述的方法,其特征在于,所述目标数据库的每条数据携带有第一时间戳,所述第一时间戳表示该数据最近一次变更的变更时间;
获取目标数据库在目标时间段内发生变更的数据,包括:
将所述目标数据库中携带的第一时间戳在所述目标时间段内的数据确定为发生变更的数据;
获取所述发生变更的数据。
3.根据权利要求1所述的方法,其特征在于,所述增量数据变化表的每条数据携带有操作标识和第二时间戳;
根据所述发生变更的数据,更新增量数据变化表的数据,包括:
若所述发生变更的数据在所述目标数据库中,且不在所述增量数据变化表中,在所述增量数据变化表中新增该数据,将该数据的操作标识设置为新增,并将该数据的第二时间戳设置为该数据的第一时间戳;
若所述发生变更的数据不在所述目标数据库中,且在所述增量数据变化表中,将该数据的操作标识设置为删除,并将该数据的第二时间戳设置为该数据的第一时间戳;
若所述发生变更的数据在所述目标数据库中,且不在所述增量数据变化表中,将该数据的操作标识设置为修改,并将该数据的第二时间戳设置为该数据的第一时间戳。
4.根据权利要求1所述的方法,其特征在于,在获取目标数据库在目标时间段内发生变更的数据前,所述方法还包括:
创建增量数据变化表,将所述目标数据库中的数据导入所述增量数据变化表;
为所述增量数据变化表的每条数据添加操作标识和第二时间戳,将所述操作标识设置为新增,将所述第二时间戳设置为所述第一时间戳。
5.一种数据同步方法,其特征在于,应用于待同步端,所述方法包括:
接收所述同步端发送的增量数据变化表,所述增量数据变化表用于记录目标数据库的更新信息,不用于存储目标数据库中的数据;
将所述增量数据变化表中携带的第二时间戳,与上一版本的增量数据变化表中携带的第二时间戳不同的数据确定为待同步数据;
其中,所述增量数据变化表中还携带的操作标识,所述操作标识为新增、删除和修改其中一种;
根据所述待同步数据,更新待更新数据库。
6.根据权利要求5所述的方法,其特征在于,根据所述待同步数据,更新待更新数据库,包括:
依次读取所述待同步数据中的每条数据;
若该数据携带的操作标识为新增,在所述待更新数据库中新增该数据;
若该数据携带的操作标识为删除,在所述待更新数据库中删除该数据;
若该数据携带的操作标识为修改,修改所述待更新数据库中该数据的数据值。
7.一种同步端,其特征在于,包括:
第一数据校验模块,用于获取目标数据库在目标时间段内发生变更的数据;
更新模块,用于根据所述发生变更的数据,更新增量数据变化表中的数据,所述增量数据变化表用于记录所述目标数据库的更新信息,不用于存储目标数据库中的数据;
发送模块,用于根据所述发生变更的数据,更新增量数据变化表的数据,所述增量数据变化表用于记录所述目标数据库的更新信息;
其中,所述增量数据变化表的每条数据携带有操作标识和第二时间戳;
所述根据所述发生变更的数据,更新增量数据变化表中的数据,包括:
根据所述目标数据库和所述增量数据变化表,确定该数据的操作标识,并将该数据的第二时间戳设置为该数据的第一时间戳;所述操作标识为新增、删除和修改其中一种。
8.一种待同步端,其特征在于,包括:
接收模块,用于接收所述同步端发送的增量数据变化表,所述增量数据变化表用于记录目标数据库的更新信息,不用于存储目标数据库中的数据;
确定模块,用于将所述增量数据变化表中携带的第二时间戳,与上一版本的增量数据变化表中携带的第二时间戳不同的数据确定为待同步数据;其中,所述增量数据变化表中还携带的操作标识,所述操作标识为新增、删除和修改其中一种;
第二数据校验模块,用于根据所述待同步数据,更新待更新数据库。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行时实现如权利要求1-6任一所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6任一所述的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910780590.7A CN110674146B (zh) | 2019-08-22 | 2019-08-22 | 一种数据同步方法、同步端、待同步端、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910780590.7A CN110674146B (zh) | 2019-08-22 | 2019-08-22 | 一种数据同步方法、同步端、待同步端、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110674146A CN110674146A (zh) | 2020-01-10 |
CN110674146B true CN110674146B (zh) | 2022-01-25 |
Family
ID=69075529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910780590.7A Active CN110674146B (zh) | 2019-08-22 | 2019-08-22 | 一种数据同步方法、同步端、待同步端、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110674146B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113515569B (zh) * | 2020-04-09 | 2023-12-26 | 阿里巴巴集团控股有限公司 | 数据的同步方法、装置、系统 |
CN112506082B (zh) * | 2020-12-01 | 2022-08-05 | 珠海优特智厨科技有限公司 | 电子菜谱的调整方法、装置、设备及计算机可读存储介质 |
CN112445864B (zh) * | 2020-12-11 | 2024-03-26 | 北京北信源软件股份有限公司 | 组织人员信息同步方法、装置、电子设备及存储介质 |
CN112632190A (zh) * | 2020-12-26 | 2021-04-09 | 中国农业银行股份有限公司 | 一种数据同步方法及装置 |
CN112783848B (zh) * | 2021-01-20 | 2023-12-26 | 杭州数梦工场科技有限公司 | 一种数据同步方法、装置及电子设备 |
CN112948406B (zh) * | 2021-03-01 | 2023-06-13 | 烽火通信科技股份有限公司 | 一种配置变更数据存储和同步的方法、系统和装置 |
CN113760910A (zh) * | 2021-08-31 | 2021-12-07 | 中国银联股份有限公司 | 一种数据同步的方法及装置 |
CN113672692B (zh) * | 2021-10-25 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN113986909B (zh) * | 2021-12-24 | 2022-04-22 | 畅捷通信息技术股份有限公司 | 一种反向记录同步状态的实时数据同步方法、系统及介质 |
CN115442272B (zh) * | 2022-08-15 | 2024-05-14 | 中国银联股份有限公司 | 一种检测丢失数据的方法、装置、设备及存储介质 |
CN115858688B (zh) * | 2023-03-03 | 2023-04-18 | 北京阿玛西换热设备制造有限公司 | 一种数据库的远程数据同步方法及系统 |
CN116414902B (zh) * | 2023-03-31 | 2024-06-04 | 华能信息技术有限公司 | 一种快速数据源接入方法 |
CN117520459B (zh) * | 2024-01-04 | 2024-04-09 | 广州睿帆科技有限公司 | 一种基于CDC方式的Db2增量同步实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127915A (zh) * | 2007-09-20 | 2008-02-20 | 中兴通讯股份有限公司 | 一种基于增量式的电子节目导航数据同步方法及系统 |
CN101183387A (zh) * | 2007-12-14 | 2008-05-21 | 沈阳东软软件股份有限公司 | 一种增量数据捕获方法和系统 |
CN108595522A (zh) * | 2018-03-27 | 2018-09-28 | 北京明朝万达科技股份有限公司 | 一种增量同步方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905397B (zh) * | 2012-12-28 | 2015-05-13 | 腾讯科技(深圳)有限公司 | 数据同步方法和系统 |
-
2019
- 2019-08-22 CN CN201910780590.7A patent/CN110674146B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127915A (zh) * | 2007-09-20 | 2008-02-20 | 中兴通讯股份有限公司 | 一种基于增量式的电子节目导航数据同步方法及系统 |
CN101183387A (zh) * | 2007-12-14 | 2008-05-21 | 沈阳东软软件股份有限公司 | 一种增量数据捕获方法和系统 |
CN108595522A (zh) * | 2018-03-27 | 2018-09-28 | 北京明朝万达科技股份有限公司 | 一种增量同步方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110674146A (zh) | 2020-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110674146B (zh) | 一种数据同步方法、同步端、待同步端、设备及存储介质 | |
CN109902071B (zh) | 业务日志存储方法、系统、装置及设备 | |
US11139957B2 (en) | Method and apparatus for creating a finite blockchain | |
CN104283956B (zh) | 强一致性分布式数据存储方法、装置及系统 | |
EP3125501A1 (en) | File synchronization method, server, and terminal | |
CN111008246B (zh) | 数据库日志同步方法、装置、计算机设备及可读存储介质 | |
CN105450682B (zh) | 一种用于数据同步保存、向客户端同步数据的方法、装置和系统 | |
CN107277594A (zh) | 一种视音频与弹幕同步方法及装置 | |
KR20130012929A (ko) | 데이터 패키지의 효율적인 다운로드 방법 및 시스템 | |
CN111309747A (zh) | 数据同步方法、系统和装置 | |
CN111797060B (zh) | 一种离线录像方法、装置、设备以及计算机可读存储介质 | |
CN110765205A (zh) | 基于区块链的元数据管理方法、系统和计算机存储介质 | |
EP4213037A1 (en) | Data storage and reconciliation method and system | |
CN111190962A (zh) | 一种文件同步方法、装置及本地终端 | |
CN106528300A (zh) | 一种同步单机游戏的方法、装置和终端 | |
CN111061745A (zh) | 数据同步系统及方法 | |
CN109558270B (zh) | 数据备份的方法和装置、数据还原的方法和装置 | |
CN115687503A (zh) | 数据库间的数据同步方法、装置、设备及存储介质 | |
CN117076574A (zh) | 一种可编排多数据源数据同步聚合方法及装置 | |
CN109165259B (zh) | 基于网络附属存储的索引表更新方法、处理器及存储装置 | |
CN110928946A (zh) | 一种文档编辑方法、装置及终端设备 | |
CN114253924A (zh) | 一种同步方法、设备和存储介质 | |
CN110515907B (zh) | 一种分布式存储节点的数据同步方法及相关装置 | |
CN113505076A (zh) | 文件覆盖检测方法及装置 | |
CN109743188A (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 |