CN109522364A - 一种异地数据双向同步方法及*** - Google Patents

一种异地数据双向同步方法及*** Download PDF

Info

Publication number
CN109522364A
CN109522364A CN201811216571.3A CN201811216571A CN109522364A CN 109522364 A CN109522364 A CN 109522364A CN 201811216571 A CN201811216571 A CN 201811216571A CN 109522364 A CN109522364 A CN 109522364A
Authority
CN
China
Prior art keywords
synchrodata
data
server
record
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.)
Granted
Application number
CN201811216571.3A
Other languages
English (en)
Other versions
CN109522364B (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.)
Hengfeng Information Technology Co Ltd
Original Assignee
Hengfeng Information 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 Hengfeng Information Technology Co Ltd filed Critical Hengfeng Information Technology Co Ltd
Priority to CN201811216571.3A priority Critical patent/CN109522364B/zh
Publication of CN109522364A publication Critical patent/CN109522364A/zh
Application granted granted Critical
Publication of CN109522364B publication Critical patent/CN109522364B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种异地数据双向同步方法及***,所述方法由第一服务器执行,包括以下步骤:从第一数据库获取发生数据变更的数据作为第一同步数据,同时将第一同步数据的创建时间记录到本地的第一同步数据记录中;将第一同步数据发送至第二服务器的同步队列中,以使得第二服务器对第一同步数据进行同步处理;通过本地的同步队列接收第二服务器发送过来的第二同步数据;所述第二同步数据中记载有第二同步数据的创建时间;结合第一同步数据记录,将第二同步数据更新到第一数据库中,同时将所更新数据的同步完成时间添加记录到第一同步数据记录中。本发明可以在异地双向数据同步过程中,保证数据的一致性和完整性,可广泛应用于软件技术行业中。

Description

一种异地数据双向同步方法及***
技术领域
本发明涉及互联网技术领域,特别是涉及一种异地数据双向同步方法及***。
背景技术
随着互联网的快速发展,云平台混合部署模式不断被普及,很多教育行业的信息化平台都提供了云端服务器+学校服务器、云端服务器+班级服务器等混合部署模式,其中云端服务器和学校服务器、云端服务器和班级服务器这种结构中,学校或者班级的本地服务器与云端服务器之间存在着大量的双向数据同步需求,但由于本地和云端基本都是异地的,涉及跨网问题,导致同步存在延时的情况,严重时还存在网络中断,导致双向数据同步过程出现数据不一致和不完整的情况。
目前在数据的双向同步过程中,普遍采用Paxos协议算法来保证数据同步的一致性和完整性,Paxos算法是莱斯利·兰伯特(Leslie Lamport)1990年提出的一种基于消息传递的一致性算法。该算法在延迟比较少的情况下,例如≤20毫秒的情况下,一般不会有什么问题,但如果网络延迟比较高,那么该算法由于交互可能存在两次往返,直接导致事务的延迟时间翻倍的情况,会严重影响到数据同步的时效性,在延时要求很低的业务场景下,该算法无法解决异地之间传递数据所存在的数据不一致和不完整的问题。
发明内容
为了解决上述的技术问题,本发明的目的是提供一种可以保证数据一致性的异地数据双向同步方法及***。
一方面,本发明实施例提供了一种异地数据双向同步方法,所述方法由第一服务器执行,包括以下步骤:
S101、从第一数据库获取发生数据变更的数据作为第一同步数据,同时将第一同步数据的创建时间记录到本地的第一同步数据记录中;
S102、将第一同步数据发送至第二服务器的同步队列中,以使得第二服务器对第一同步数据进行同步处理;
S103、通过本地的同步队列接收第二服务器发送过来的第二同步数据;所述第二同步数据中记载有第二同步数据的创建时间;
S104、结合第一同步数据记录,将第二同步数据更新到第一数据库中,同时将所更新数据的同步完成时间添加记录到第一同步数据记录中;
其中,所述第一同步数据记录中记载有数据的创建时间和同步完成时间。
进一步,所述步骤S104,其具体为:
结合第一同步数据记录,筛选出第二同步数据中,创建时间不处于第一区间范围内的数据,并将筛选获得的数据更新到第一数据库中,同时将所更新数据的同步完成时间添加记录到第一同步数据记录中;
其中,所述第一区间范围指第一同步数据记录中的创建时间和同步完成时间所形成的区间范围。
进一步,所述步骤S104中,所述将筛选获得的数据更新到第一数据库中这一步骤,具体包括:
将筛选获得的数据更新到第一数据库中,并在更新完成后,判断更新过程所花费的同步时间是否超过预设的同步处理时间阈值;
当判断同步时间超过预设的同步处理时间阈值时,执行数据主键反查步骤。
进一步,所述数据主键反查步骤具体包括:
获取第一数据库的第一变更记录信息并发送至第二服务器的同步队列中;所述第一变更记录信息包括数据表名称、主键名和主键值;
接收第二服务器的同步队列返回的与第一变更记录信息对应的第一查询结果;所述第一查询结果包括有与第一变更记录信息中的记录信息相对应的记录信息的所有字段数据信息;
本地同步队列在判断第一查询结果中的记录信息与第一数据库中对应的记录信息不一致时,以第一查询结果中的记录信息更新第一数据库中的对应记录信息。
另一方面,本发明实施例提供了一种异地数据双向同步方法,所述方法由第二服务器执行,包括以下步骤:
S201、通过本地同步队列接收第一服务器发送的第一同步数据;所述第一同步数据中记载有第一同步数据的创建时间;
S202、结合第二同步数据记录,将第一同步数据更新到第二数据库中,同时将所更新数据的同步完成时间添加记录到第二同步数据记录中;
其中,所述第二同步数据记录中记载有数据的创建时间和同步完成时间;
S203、从第二数据库中获取发生数据变更的数据作为第二同步数据,同时将第二同步数据的创建时间记录到本地的第二同步数据记录中;
S204、将第二同步数据发送至第一服务器的同步队列中,以使得第一服务器对第二同步数据进行同步处理。
进一步,所述步骤S202,其具体为:
结合第二同步数据记录,筛选出第一同步数据中,创建时间不处于第一区间范围内的数据,并将筛选获得的数据更新到第二数据库中,同时将所更新数据的同步完成时间记录到第二同步数据记录中;其中,所述第二区间范围指第二同步数据记录中的创建时间和同步完成时间所形成的区间范围。
进一步,所述步骤S202中,所述将筛选获得的数据更新到第二数据库中这一步骤,具体包括:
将筛选获得的数据更新到第二数据库中,并在更新完成后,判断更新过程所花费的同步时间是否超过预设的同步处理时间阈值;
当判断同步时间超过预设的同步处理时间阈值时,执行数据主键反查步骤。
进一步,所述数据主键反查步骤具体包括:
获取第二数据库的第二变更记录信息并发送至第一服务器的同步队列中;所述第二变更记录信息包括数据表名称、主键名和主键值;
接收第一服务器的同步队列返回的与第二变更记录信息对应的第二查询结果;所述第二查询结果包括有与第二变更记录信息中的记录信息相对应的记录信息的所有字段数据信息;
本地同步队列在判断第二查询结果中的记录信息与第二数据库中对应的记录信息不一致时,以第二查询结果中的记录信息更新第二数据库中的对应记录信息。
另一方面,本发明实施例还提供了一种异地数据双向同步方法,包括以下步骤:
S1、第一服务器从第一数据库获取发生数据变更的数据作为第一同步数据,同时将第一同步数据的创建时间记录到本地的第一同步数据记录中;
S2、第一服务器将第一同步数据发送至第二服务器的同步队列中;
S3、第二服务器通过本地同步队列接收第一服务器发送的第一同步数据;
S4、第二服务器结合第二同步数据记录,将第一同步数据更新到第二数据库中,同时将所更新数据的同步完成时间添加记录到第二同步数据记录中;
S5、第二服务器从第二数据库中获取发生数据变更的数据作为第二同步数据,同时将第二同步数据的创建时间记录到本地的第二同步数据记录中;
S6、第二服务器将第二同步数据发送至第一服务器的同步队列中;
S7、第一服务器通过本地的同步队列接收第二服务器发送过来的第二同步数据;
S8、第一服务器结合第一同步数据记录,将第二同步数据更新到第一数据库中,同时将所更新数据的同步完成时间添加记录到第一同步数据记录中;
其中,所述第一同步数据记录和第二同步数据记录中均记载有数据的创建时间和同步完成时间。
另一方面,本发明实施例还提供了一种异地数据双向同步***,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如本发明实施例所述的一种异地数据双向同步方法。
本发明实施例通过在获取同步数据的同时,记录同步数据的创建时间,并在同步数据在数据库中同步完成后,记录同步数据的同步完成时间,从而在进行同步数据的更新同步过程中,可以筛选出历史同步操作中,已经更新同步到数据库的数据,只对筛选剩下的数据进行更新,而对这部分筛选出的数据不进行更新,避免多次重复更新带来的数据不一致的情况,可以保证数据的一致性和完整性。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1是本发明具体实施例的一种异地数据双向同步方法实施例一的流程图;
图2是本发明具体实施例的一种异地数据双向同步方法实施例二的流程图图;
图3是本发明具体实施例的一种异地数据双向同步方法实施例三的流程图;
图4是本发明具体实施例的一种异地数据双向同步***的电子框图。
具体实施方式
对于本发明实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
方法实施例一
参照图1,本实施例提供了一种异地数据双向同步方法,用于实现第一服务器与第二服务器之间的异地数据双向同步,第一服务器连接有第一数据库,第二服务器连接有第二数据库,本实施例中所述方法由第一服务器执行,包括以下步骤:
S101、从第一数据库获取发生数据变更的数据作为第一同步数据,同时将第一同步数据的创建时间记录到本地的第一同步数据记录中;
S102、将第一同步数据发送至第二服务器的同步队列中,以使得第二服务器对第一同步数据进行同步处理;
S103、通过本地的同步队列接收第二服务器发送过来的第二同步数据;所述第二同步数据中记载有第二同步数据的创建时间;
S104、结合第一同步数据记录,将第二同步数据更新到第一数据库中,同时将所更新数据的同步完成时间添加记录到第一同步数据记录中;
其中,所述第一同步数据记录中记载有数据的创建时间和同步完成时间。
本申请中所称的第一服务器、第二服务器在实际应用中,也可以称作主服务器、从服务器。
在传统的异地数据双向同步过程中,如果第一服务器的第一数据库有一条数据记录Record1发生了两次变化,并且两次很快同步第二服务器的第二数据库对应的同步队列中,但因为第二服务器的第二数据库对应的同步队列数据量大,处理出现延迟,就很有可能把Record1的第一次变化结果同步回了第一数据库中,导致第一数据库中Record1记录被第一次修改内容覆盖掉了,在第二次修改还未同步过来的这段时间内,第一数据库出现脏数据的情况,导致数据出现不一致和不完整的情况。
步骤S104中,结合第一同步数据记录实现将第二同步数据更新到第一数据库中,目的在于筛选出之前未同步更新到第一数据库的数据来进行更新,避免对统一数据多次更新到第一数据库中,避免死循环的发生,还可以保证数据的一致性和完整性。
本方法通过在获取同步数据的同时,记录同步数据的创建时间,并在同步数据在数据库中同步完成后,记录同步数据的同步完成时间,从而在进行同步数据的更新同步过程中,可以筛选出历史同步操作中,已经更新同步到数据库的数据,只对筛选剩下的数据进行更新,而对这部分筛选出的数据不进行更新,避免多次重复更新带来的数据不一致的情况,可以保证数据的一致性和完整性。
进一步作为优选的实施方式,所述步骤S104,其具体为:
结合第一同步数据记录,筛选出第二同步数据中,创建时间不处于第一区间范围内的数据,并将筛选获得的数据更新到第一数据库中,同时将所更新数据的同步完成时间添加记录到第一同步数据记录中;
其中,所述第一区间范围指第一同步数据记录中的创建时间和同步完成时间所形成的区间范围。
第二同步数据中,创建时间处于第一区间范围内的数据表示已经在第一数据库中更新同步的数据,不需要再进行更新同步,因此,通过结合第一同步数据记录中的创建时间和同步完成时间对第二同步数据进行筛选,从而对第二同步数据中的数据进行区别处理,一方面可以提高同步效率,另一方面避免了对统一数据的多次重复同步所带来的死循环以及数据不一致的情况,可以保证异地双向数据同步过程中,数据的一致性和完整性。
进一步作为优选的实施方式,所述步骤S104中,所述将筛选获得的数据更新到第一数据库中这一步骤,具体包括:
将筛选获得的数据更新到第一数据库中,并在更新完成后,判断更新过程所花费的同步时间是否超过预设的同步处理时间阈值;
当判断同步时间超过预设的同步处理时间阈值时,执行数据主键反查步骤。
同步时间是指同步数据记录中数据从创建时间到同步完成时间之间耗费的总时长,例如创建时间是2018年10月12日8时3分,同步完成时间是2018年10月12日8时11分,则同步时间为8分钟。这里的同步处理时间阈值可以根据实际应用环境来进行设置,例如将同步处理时间阈值设置为30秒、40秒或者60秒等。
当同步时间超过预设的同步处理时间阈值时,可能会存在双向同步过程中,多次修改的数据被同步成第一次修改的数据的情况,出现脏数据,因此本方法执行同步处理时间阈值进行处理,剔除脏数据的情况,保证数据的一致性。
进一步作为优选的实施方式,所述数据主键反查步骤具体包括:
获取第一数据库的第一变更记录信息并发送至第二服务器的同步队列中;所述第一变更记录信息包括数据表名称、主键名和主键值;
接收第二服务器的同步队列返回的与第一变更记录信息对应的第一查询结果;所述第一查询结果包括有与第一变更记录信息中的记录信息相对应的记录信息的所有字段数据信息;
本地同步队列在判断第一查询结果中的记录信息与第一数据库中对应的记录信息不一致时,以第一查询结果中的记录信息更新第一数据库中的对应记录信息。
由于本方法是在第一服务器中执行,因此,本实施例中的本地同步队列,指第一服务器的同步队列。
本地同步队列在判断第一查询结果中的记录信息与第一数据库中对应的记录信息一致时,表示数据正常,不需要进行处理。
本步骤中,通过获取第一数据库的第一变更记录信息并发送到第二服务器的同步队列后,接收第二服务器的同步队列返回的与第一变更记录信息对应的第一查询结果,通过将第一查询结果与第一数据库中的记录信息进行比对,可以判断是否存在数据异常的情况,并在存在数据异常时,采用查询结果中的记录信息更新第一数据库中的记录信息,保证数据的一致性。
方法实施例二
参照图2,本实施例提供了一种异地数据双向同步方法,用于实现第一服务器与第二服务器之间的异地数据双向同步,第一服务器连接有第一数据库,第二服务器连接有第二数据库,本实施例中所述方法由第二服务器执行,包括以下步骤:
S201、通过本地同步队列接收第一服务器发送的第一同步数据;所述第一同步数据中记载有第一同步数据的创建时间;
S202、结合第二同步数据记录,将第一同步数据更新到第二数据库中,同时将所更新数据的同步完成时间添加记录到第二同步数据记录中;
其中,所述第二同步数据记录中记载有数据的创建时间和同步完成时间;
S203、从第二数据库中获取发生数据变更的数据作为第二同步数据,同时将第二同步数据的创建时间记录到本地的第二同步数据记录中;
S204、将第二同步数据发送至第一服务器的同步队列中,以使得第一服务器对第二同步数据进行同步处理。
本实施例与实施例一的区别在于,本实施例从第二服务器的数据处理角度来描述第一服务器与第二服务器之间的异地双向数据同步方法,同样的,本方法通过在获取同步数据的同时,记录同步数据的创建时间,并在同步数据在数据库中同步完成后,记录同步数据的同步完成时间,从而在进行同步数据的更新同步过程中,可以筛选出历史同步操作中,已经更新同步到数据库的数据,只对筛选剩下的数据进行更新,而对这部分筛选出的数据不进行更新,避免多次重复更新带来的数据不一致的情况,可以保证数据的一致性和完整性。
进一步作为优选的实施方式,所述步骤S202,其具体为:
结合第二同步数据记录,筛选出第一同步数据中,创建时间不处于第一区间范围内的数据,并将筛选获得的数据更新到第二数据库中,同时将所更新数据的同步完成时间记录到第二同步数据记录中;其中,所述第二区间范围指第二同步数据记录中的创建时间和同步完成时间所形成的区间范围。
进一步作为优选的实施方式,所述步骤S202中,所述将筛选获得的数据更新到第二数据库中这一步骤,具体包括:
将筛选获得的数据更新到第二数据库中,并在更新完成后,判断更新过程所花费的同步时间是否超过预设的同步处理时间阈值;
当判断同步时间超过预设的同步处理时间阈值时,执行数据主键反查步骤。
进一步作为优选的实施方式,所述数据主键反查步骤具体包括:
获取第二数据库的第二变更记录信息并发送至第一服务器的同步队列中;所述第二变更记录信息包括数据表名称、主键名和主键值;
接收第一服务器的同步队列返回的与第二变更记录信息对应的第二查询结果;所述第二查询结果包括有与第二变更记录信息中的记录信息相对应的记录信息的所有字段数据信息;
本地同步队列在判断第二查询结果中的记录信息与第二数据库中对应的记录信息不一致时,以第二查询结果中的记录信息更新第二数据库中的对应记录信息。
本实施例中,第二服务器对数据进行处理的细节与方法实施例一种第一服务器对数据进行处理的细节相似,仅仅在于执行主体与处理对象的不同,本实施例具备该方法实施例一相应的功能和有益效果,相似内容不再赘述。
方法实施例三
参照图3,本实施例提供了一种异地数据双向同步方法,用于实现第一服务器与第二服务器之间的异地数据双向同步,本实施例的同步方法描述了第一服务器与第二服务器具体如何进行数据交互,实现异地双向数据同步的过程,该方法包括以下步骤:
S1、第一服务器从第一数据库获取发生数据变更的数据作为第一同步数据,同时将第一同步数据的创建时间记录到本地的第一同步数据记录中;
S2、第一服务器将第一同步数据发送至第二服务器的同步队列中;
S3、第二服务器通过本地同步队列接收第一服务器发送的第一同步数据;
S4、第二服务器结合第二同步数据记录,将第一同步数据更新到第二数据库中,同时将所更新数据的同步完成时间添加记录到第二同步数据记录中;
S5、第二服务器从第二数据库中获取发生数据变更的数据作为第二同步数据,同时将第二同步数据的创建时间记录到本地的第二同步数据记录中;
S6、第二服务器将第二同步数据发送至第一服务器的同步队列中;
S7、第一服务器通过本地的同步队列接收第二服务器发送过来的第二同步数据;
S8、第一服务器结合第一同步数据记录,将第二同步数据更新到第一数据库中,同时将所更新数据的同步完成时间添加记录到第一同步数据记录中;
其中,所述第一同步数据记录和第二同步数据记录中均记载有数据的创建时间和同步完成时间。
本实施例的一种异地数据双向同步方法,可执行本发明方法实施例一和方法实施例二所提供的一种异地数据双向同步方法,可执行方法实施例一和方法实施例二的任意组合实施步骤,具备方法实施例一和方法实施例二相应的功能和有益效果。
另一方面,参照图4,本发明实施例还提供了一种异地数据双向同步***,包括:
至少一个处理器100;
至少一个存储器200,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器100执行,使得所述至少一个处理器100实现所述的一种异地数据双向同步方法。
本实施例的一种异地数据双向同步***,可执行本发明方法实施例一和方法实施例二所提供的一种异地数据双向同步方法,可执行方法实施例一和方法实施例二的任意组合实施步骤,具备方法实施例一和方法实施例二相应的功能和有益效果。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。

Claims (10)

1.一种异地数据双向同步方法,其特征在于,所述方法由第一服务器执行,包括以下步骤:
S101、从第一数据库获取发生数据变更的数据作为第一同步数据,同时将第一同步数据的创建时间记录到本地的第一同步数据记录中;
S102、将第一同步数据发送至第二服务器的同步队列中,以使得第二服务器对第一同步数据进行同步处理;
S103、通过本地的同步队列接收第二服务器发送过来的第二同步数据;所述第二同步数据中记载有第二同步数据的创建时间;
S104、结合第一同步数据记录,将第二同步数据更新到第一数据库中,同时将所更新数据的同步完成时间添加记录到第一同步数据记录中;
其中,所述第一同步数据记录中记载有数据的创建时间和同步完成时间。
2.根据权利要求1所述的一种异地数据双向同步方法,其特征在于,所述步骤S104,其具体为:
结合第一同步数据记录,筛选出第二同步数据中,创建时间不处于第一区间范围内的数据,并将筛选获得的数据更新到第一数据库中,同时将所更新数据的同步完成时间添加记录到第一同步数据记录中;
其中,所述第一区间范围指第一同步数据记录中的创建时间和同步完成时间所形成的区间范围。
3.根据权利要求2所述的一种异地数据双向同步方法,其特征在于,所述步骤S104中,所述将筛选获得的数据更新到第一数据库中这一步骤,具体包括:
将筛选获得的数据更新到第一数据库中,并在更新完成后,判断更新过程所花费的同步时间是否超过预设的同步处理时间阈值;
当判断同步时间超过预设的同步处理时间阈值时,执行数据主键反查步骤。
4.根据权利要求3所述的一种异地数据双向同步方法,其特征在于,所述数据主键反查步骤具体包括:
获取第一数据库的第一变更记录信息并发送至第二服务器的同步队列中;所述第一变更记录信息包括数据表名称、主键名和主键值;
接收第二服务器的同步队列返回的与第一变更记录信息对应的第一查询结果;所述第一查询结果包括有与第一变更记录信息中的记录信息相对应的记录信息的所有字段数据信息;
本地同步队列在判断第一查询结果中的记录信息与第一数据库中对应的记录信息不一致时,以第一查询结果中的记录信息更新第一数据库中的对应记录信息。
5.一种异地数据双向同步方法,其特征在于,所述方法由第二服务器执行,包括以下步骤:
S201、通过本地同步队列接收第一服务器发送的第一同步数据;所述第一同步数据中记载有第一同步数据的创建时间;
S202、结合第二同步数据记录,将第一同步数据更新到第二数据库中,同时将所更新数据的同步完成时间添加记录到第二同步数据记录中;
其中,所述第二同步数据记录中记载有数据的创建时间和同步完成时间;
S203、从第二数据库中获取发生数据变更的数据作为第二同步数据,同时将第二同步数据的创建时间记录到本地的第二同步数据记录中;
S204、将第二同步数据发送至第一服务器的同步队列中,以使得第一服务器对第二同步数据进行同步处理。
6.根据权利要求5所述的一种异地数据双向同步方法,其特征在于,所述步骤S202,其具体为:
结合第二同步数据记录,筛选出第一同步数据中,创建时间不处于第一区间范围内的数据,并将筛选获得的数据更新到第二数据库中,同时将所更新数据的同步完成时间记录到第二同步数据记录中;其中,所述第二区间范围指第二同步数据记录中的创建时间和同步完成时间所形成的区间范围。
7.根据权利要求6所述的一种异地数据双向同步方法,其特征在于,所述步骤S202中,所述将筛选获得的数据更新到第二数据库中这一步骤,具体包括:
将筛选获得的数据更新到第二数据库中,并在更新完成后,判断更新过程所花费的同步时间是否超过预设的同步处理时间阈值;
当判断同步时间超过预设的同步处理时间阈值时,执行数据主键反查步骤。
8.根据权利要求7所述的一种异地数据双向同步方法,其特征在于,所述数据主键反查步骤具体包括:
获取第二数据库的第二变更记录信息并发送至第一服务器的同步队列中;所述第二变更记录信息包括数据表名称、主键名和主键值;
接收第一服务器的同步队列返回的与第二变更记录信息对应的第二查询结果;所述第二查询结果包括有与第二变更记录信息中的记录信息相对应的记录信息的所有字段数据信息;
本地同步队列在判断第二查询结果中的记录信息与第二数据库中对应的记录信息不一致时,以第二查询结果中的记录信息更新第二数据库中的对应记录信息。
9.一种异地数据双向同步方法,其特征在于,包括以下步骤:
S1、第一服务器从第一数据库获取发生数据变更的数据作为第一同步数据,同时将第一同步数据的创建时间记录到本地的第一同步数据记录中;
S2、第一服务器将第一同步数据发送至第二服务器的同步队列中;
S3、第二服务器通过本地同步队列接收第一服务器发送的第一同步数据;
S4、第二服务器结合第二同步数据记录,将第一同步数据更新到第二数据库中,同时将所更新数据的同步完成时间添加记录到第二同步数据记录中;
S5、第二服务器从第二数据库中获取发生数据变更的数据作为第二同步数据,同时将第二同步数据的创建时间记录到本地的第二同步数据记录中;
S6、第二服务器将第二同步数据发送至第一服务器的同步队列中;
S7、第一服务器通过本地的同步队列接收第二服务器发送过来的第二同步数据;
S8、第一服务器结合第一同步数据记录,将第二同步数据更新到第一数据库中,同时将所更新数据的同步完成时间添加记录到第一同步数据记录中;
其中,所述第一同步数据记录和第二同步数据记录中均记载有数据的创建时间和同步完成时间。
10.一种异地数据双向同步***,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-8任一项所述的一种异地数据双向同步方法。
CN201811216571.3A 2018-10-18 2018-10-18 一种异地数据双向同步方法及*** Active CN109522364B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811216571.3A CN109522364B (zh) 2018-10-18 2018-10-18 一种异地数据双向同步方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811216571.3A CN109522364B (zh) 2018-10-18 2018-10-18 一种异地数据双向同步方法及***

Publications (2)

Publication Number Publication Date
CN109522364A true CN109522364A (zh) 2019-03-26
CN109522364B CN109522364B (zh) 2019-12-24

Family

ID=65771001

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811216571.3A Active CN109522364B (zh) 2018-10-18 2018-10-18 一种异地数据双向同步方法及***

Country Status (1)

Country Link
CN (1) CN109522364B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597910A (zh) * 2019-09-12 2019-12-20 聚好看科技股份有限公司 一种异地数据同步方法、装置和***
CN113283999A (zh) * 2021-04-07 2021-08-20 南方电网数字电网研究院有限公司 电力监控***网省两级数据同步方法、装置、计算机设备
CN113742138A (zh) * 2021-09-06 2021-12-03 深圳市云鼠科技开发有限公司 一种数据管理方法、装置、电子设备及存储介质
CN115714782A (zh) * 2022-10-26 2023-02-24 郑州云智信安安全技术有限公司 可离线交互的数据同步方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102394715A (zh) * 2011-06-30 2012-03-28 中兴通讯股份有限公司 时钟同步方法和装置
CN104462477A (zh) * 2014-12-18 2015-03-25 深圳市科漫达智能管理科技有限公司 基于时间戳的数据同步的方法、装置及***
CN105187464A (zh) * 2014-06-19 2015-12-23 中兴通讯股份有限公司 一种分布式存储***中的数据同步方法、装置及***
CN107180116A (zh) * 2017-06-28 2017-09-19 努比亚技术有限公司 一种数据同步处理方法、移动终端以及计算机可读存储介质
CN107818178A (zh) * 2017-11-23 2018-03-20 郑州云海信息技术有限公司 一种自动生成数据库变更sql脚本的方法
CN108287886A (zh) * 2018-01-16 2018-07-17 阿里巴巴集团控股有限公司 同步数据变更信息的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102394715A (zh) * 2011-06-30 2012-03-28 中兴通讯股份有限公司 时钟同步方法和装置
CN105187464A (zh) * 2014-06-19 2015-12-23 中兴通讯股份有限公司 一种分布式存储***中的数据同步方法、装置及***
CN104462477A (zh) * 2014-12-18 2015-03-25 深圳市科漫达智能管理科技有限公司 基于时间戳的数据同步的方法、装置及***
CN107180116A (zh) * 2017-06-28 2017-09-19 努比亚技术有限公司 一种数据同步处理方法、移动终端以及计算机可读存储介质
CN107818178A (zh) * 2017-11-23 2018-03-20 郑州云海信息技术有限公司 一种自动生成数据库变更sql脚本的方法
CN108287886A (zh) * 2018-01-16 2018-07-17 阿里巴巴集团控股有限公司 同步数据变更信息的方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597910A (zh) * 2019-09-12 2019-12-20 聚好看科技股份有限公司 一种异地数据同步方法、装置和***
CN113283999A (zh) * 2021-04-07 2021-08-20 南方电网数字电网研究院有限公司 电力监控***网省两级数据同步方法、装置、计算机设备
CN113283999B (zh) * 2021-04-07 2024-01-23 南方电网数字平台科技(广东)有限公司 电力监控***网省两级数据同步方法、装置、计算机设备
CN113742138A (zh) * 2021-09-06 2021-12-03 深圳市云鼠科技开发有限公司 一种数据管理方法、装置、电子设备及存储介质
CN115714782A (zh) * 2022-10-26 2023-02-24 郑州云智信安安全技术有限公司 可离线交互的数据同步方法和装置
CN115714782B (zh) * 2022-10-26 2024-03-05 北京云智信安科技有限公司 可离线交互的数据同步方法和装置

Also Published As

Publication number Publication date
CN109522364B (zh) 2019-12-24

Similar Documents

Publication Publication Date Title
CN109522364A (zh) 一种异地数据双向同步方法及***
US11575746B2 (en) System and method for real-time cloud data synchronization using a database binary log
US11894972B2 (en) System and method for data replication using a single master failover protocol
CN106776894B (zh) 日志数据库***和同步方法
US9542468B2 (en) Database management system and method for controlling synchronization between databases
US9411873B2 (en) System and method for splitting a replicated data partition
US9489434B1 (en) System and method for replication log branching avoidance using post-failover rejoin
CN109582731A (zh) 一种数据实时同步方法及***
US7711693B2 (en) Deployment of life-cycle model for LDAP applications
JP2021513715A (ja) 分散データベースクラスタシステム、及びデータ同期方法
CA2646821A1 (en) Filtered replication of data stores
CN105574109A (zh) 一种数据库同步方法、同步设备及***
US20140156598A1 (en) Replication control using eventually consistent meta-data
Nawab et al. Message Futures: Fast Commitment of Transactions in Multi-datacenter Environments.
CN110177144A (zh) 一种基于私有云一键复制应用环境的方法
CN102880619A (zh) 异构***之间的数据同步方法、数据交换引擎
CN108415723A (zh) 基于消息队列的配置数据同步方法、装置、介质及设备
CN108595485A (zh) 一种双数据中心的数据更新方法及***
CN106161604B (zh) 一种不同税务网络之间的联合办税***及方法
CN112416944A (zh) 一种同步业务数据的方法和设备
CN111737348B (zh) 基于数据库表的时效同步方法及装置
CN109726127A (zh) 一种基于单套测试环境的自动扩充方法
Bjørner Models and software model checking of a distributed file replication system
CN108898448A (zh) 一种广告数据同步方法及装置
Atay Synchronization and emergence in complex systems

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