CN111274311A - 一种跨机房数据库的数据同步方法和装置 - Google Patents
一种跨机房数据库的数据同步方法和装置 Download PDFInfo
- Publication number
- CN111274311A CN111274311A CN201811481841.3A CN201811481841A CN111274311A CN 111274311 A CN111274311 A CN 111274311A CN 201811481841 A CN201811481841 A CN 201811481841A CN 111274311 A CN111274311 A CN 111274311A
- Authority
- CN
- China
- Prior art keywords
- data
- machine room
- room database
- verification
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012795 verification Methods 0.000 claims abstract description 101
- 230000001360 synchronised effect Effects 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims description 41
- 230000008569 process Effects 0.000 claims description 10
- 238000011084 recovery Methods 0.000 abstract description 17
- 238000013524 data verification Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 7
- 238000007405 data analysis Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Abstract
本发明实施例提供了一种跨机房数据库的数据同步方法和装置,其中,所述方法包括:确定源机房数据库的第一数据;对所述源机房数据库中的第一数据进行校验处理,得到第一校验结果;对目标机房数据库的第二数据进行校验处理,得到第二检验结果;其中,所述第二数据为将所述第一数据同步到所述目标机房后得到的数据;若所述第一校验结果与所述第二校验结果不一致,则控制所述源机房数据库重新将所述第一数据发送到所述目标机房数据库。在进行数据同步时,对同步数据进行数据一致性校验,当数据不一致性时,对该同步数据进行自动恢复,进一步保证了跨机房同步数据的准确性。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种跨机房数据库的数据同步方法和一种跨机房数据库的数据同步装置。
背景技术
目前针对一些大型网站业务,在系统可用性上往往会考虑数据库的跨机房镜像复制,容灾备份等,在发生不可抗力因素导致当地数据不可用时,能够快速的通过异步的数据库备份或者镜像提供系统访问。
互联网行业中,异地机房的数据同步应用场景很广泛,各公司都各有自己的同步系统。然而,跨机房数据库的数据同步,无法直接将源机房的数据库与目的机房的数据库直接相连,只能利用触发器或者基于增量二进制日志解析进行数据同步。例如,定时下载数据并通过网络传输同步数据文件,这样数据延迟时间长,且不能保证完全增量同步,对异地之间网络带宽的短时间压力大。业界更多的做法是根据数据库的DML、DDL变更,获取变更日志,解析后发送到目的库,实现数据库实时同步,这种方案更多是基于数据库自有的同步功能。
因为网络抖动、人为误操作或者数据重传等原因会导致目的机房的数据内容与源机房数据内容不一致。机房间数据不一致问题难以发现,恢复步骤复杂,并且机房间数据不一致时,问题更多的暴露在业务层,会导致业务不稳定,数据分析不准确等一些列问题。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种跨机房数据库的数据同步方法和相应的一种跨机房数据库的数据同步装置。
为了解决上述问题,本发明实施例公开了一种跨机房数据库的数据同步方法,包括:
确定源机房数据库的第一数据;
对所述源机房数据库中的第一数据进行校验处理,得到第一校验结果;
对目标机房数据库的第二数据进行校验处理,得到第二检验结果;其中,所述第二数据为将所述第一数据同步到所述目标机房后得到的数据;
若所述第一校验结果与所述第二校验结果不一致,则控制所述源机房数据库重新将所述第一数据发送到所述目标机房数据库。
可选的,所述对所述源机房数据库中的第一数据进行校验处理的步骤包括:
生成数据一致性校验命令并发送至所述源机房数据库;
在所述源机房数据库执行数据一致性校验命令,以对所述第一数据进行校验处理。
可选的,在所述对所述源机房数据库中的第一数据进行校验处理,得到第一校验结果的步骤之后,还包括:
将所述第一校验结果和所述数据一致性校验命令发送至目标机房数据库。
可选的,在所述对所述源机房数据库中的第一数据进行校验处理,得到第一校验结果的步骤之后,还包括:
确定针对所述第一数据的校验开始标识和校验结束标识。
可选的,所述对所述目标机房数据库的第二数据进行校验处理,得到第二检验结果,包括:
根据所述校验开始标识和校验结束标识,确定对所述目标机房的第二数据进行校验处理的开始位置和结束位置;
根据所述开始位置、结束位置和所述数据一致性校验命令,对所述目标机房的第二数据进行校验处理,得到第二检验结果。
可选的,所述若所述第一校验结果与所述第二校验结果不一致,则控制所述源机房数据库重新将所述第一数据发送到所述目标机房数据库,包括:
若所述第一校验结果与所述第二校验结果不一致,则确定所述第一数据与所述第二数据之间不一致的第三数据;
控制所述源机房数据库重新将所述不一致的第三数据发送到所述目标机房数据库。
可选的,所述若所述第一校验结果与所述第二校验结果不一致,则确定所述第一数据与所述第二数据之间不一致的第三数据的步骤之后,还包括:
生成停止数据同步消息;
将所述停止数据同步消息发送至所述源机房数据库。
可选的,所述控制所述源机房数据库重新将所述不一致的第三数据发送到所述目标机房数据库,包括:
确定所述源机房数据库中所述不一致的第三数据的存储位置;
将所述存储位置发送至所述目标机房数据库;
控制所述目标机房数据库根据所述存储位置下载第四数据。
可选的,还包括:
确定所述源机房数据库中所述不一致的第三数据的校验码;
根据所述校验码,对所述目标机房数据库的第四数据进行MD5校验;
若校验成功,则将所述第四数据写入所述目标机房数据库。
可选的,还包括:
在将所述第四数据写入所述目标机房数据库成功后,获取需要进行数据同步的位置信息;
将所述需要进行数据同步的位置信息发送至所述源机房数据库;
控制所述源机房数据库开始数据同步。
本发明实施例还公开了一种跨机房数据库的数据同步装置,包括:
第一数据确定模块,用于确定源机房数据库的第一数据;
第一校验处理模块,用于对所述源机房数据库中的第一数据进行校验处理,得到第一校验结果;
第二校验处理模块,用于对所述目标机房数据库的第二数据进行校验处理,得到第二检验结果;其中,所述第二数据为将所述第一数据同步到所述目标机房后得到的数据;
第一数据发送模块,用于若所述第一校验结果与所述第二校验结果不一致,则控制所述源机房数据库重新将所述第一数据发送到所述目标机房数据库。
可选的,所述第一校验处理模块包括如下子模块:
数据一致性校验命令生成子模块,用于生成数据一致性校验命令并发送至所述源机房数据库;
数据一致性校验命令执行子模块,用于在所述源机房数据库执行数据一致性校验命令,以对所述第一数据进行校验处理。
可选的,所述装置还包括如下模块:
命令发送模块,用于将所述第一校验结果和所述数据一致性校验命令发送至目标机房数据库。
在本发明实施例的一种优选实施例中,所述装置还可以包括如下模块:
标识确定模块,用于确定针对所述第一数据的校验开始标识和校验结束标识。
可选的,所述第二校验处理模块包括如下子模块:
校验处理位置确定子模块,用于根据所述校验开始标识和校验结束标识,确定对所述目标机房的第二数据进行校验处理的开始位置和结束位置;
校验处理子模块,用于根据所述开始位置、结束位置和所述数据一致性校验命令,对所述目标机房的第二数据进行校验处理,得到第二检验结果。
可选的,所述第一数据发送模块包括如下子模块:
第三数据确定子模块,用于若所述第一校验结果与所述第二校验结果不一致,则确定所述第一数据与所述第二数据之间不一致的第三数据;
第三数据发送子模块,用于控制所述源机房数据库重新将所述不一致的第三数据发送到所述目标机房数据库。
可选的,所述第一数据发送模块还包括如下子模块:
停止数据同步消息生成子模块,用于生成停止数据同步消息;
停止数据同步消息发送子模块,用于将所述停止数据同步消息发送至所述源机房数据库。
可选的,所述第三数据发送子模块包括如下子模块:
存储位置确定子模块,用于确定所述源机房数据库中所述不一致的第三数据的存储位置;
存储位置发送子模块,用于将所述存储位置发送至所述目标机房数据库;
第四数据下载子模块,用于控制所述目标机房数据库根据所述存储位置下载第四数据。
可选的,所述第三数据发送子模块还包括如下子模块:
校验码确定子模块,用于确定所述源机房数据库中所述不一致的第三数据的校验码;
MD5校验子模块,用于根据所述校验码,对所述目标机房数据库的第四数据进行MD5校验;
第四数据写入子模块,用于若校验成功,则将所述第四数据写入所述目标机房数据库。
可选的,所述第三数据发送子模块还包括如下子模块:
位置信息确定子模块,用于在将所述第四数据写入所述目标机房数据库成功后,获取需要进行数据同步的位置信息;
位置信息发送子模块,用于将所述需要进行数据同步的位置信息发送至所述源机房数据库;
数据同步开始子模块,用于控制所述源机房数据库开始数据同步。
本发明实施例还公开了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如本发明实施例所述的一个或多个的跨机房数据库的数据同步方法。
本发明实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的一个或多个的跨机房数据库的数据同步方法。
本发明实施例包括以下优点:
在本发明实施例中,通过确定源机房数据库的第一数据,对该第一数据进行校验处理,得到第一校验结果,对目标机房数据库的第二数据进行校验处理,得到第二检验结果,其中,第二数据为将第一数据同步到目标机房后得到的数据,若第一校验结果与第二校验结果不一致,则控制源机房数据库重新将第一数据发送到目标机房数据库,在进行数据同步时,对同步数据进行数据一致性校验,当数据不一致性时,对该同步数据进行自动恢复,进一步保证了跨机房同步数据的准确性。
附图说明
图1是本发明的一种跨机房数据库的数据同步方法实施例的步骤流程图;
图2是本发明实施例的一种跨机房数据库的数据同步系统结构框图;
图3是本发明的一种跨机房数据库的数据同步装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种跨机房数据库的数据同步方法实施例的步骤流程图,具体可以包括如下步骤:
步骤S101,确定源机房数据库的第一数据;
在本发明实施例中,源机房和目标机房可以是部署在不同地区的机房,源机房数据库的数据可以同步到目标机房数据库。
其中,第一数据包括源机房数据库需要同步到目标机房数据库的数据。
在具体实现中,可以通过提取源机房数据库的更新日志文件,来确定源机房数据库的第一数据。
在本发明实施例的一种优选实施例中,所述源机房数据库存储更新日志信息,所述步骤S101可以包括如下子步骤:
提取所述源机房数据库的更新日志信息;
根据所述更新日志信息,确定所述源机房数据库的第一数据。
在本发明实施例中,可以通过在源机房数据库注册监听器,监听源机房数据库的变更。其中,源机房数据库的变更可以为插入事件Insert、更新事件Update、删除事件Delete等事件的触发。
当源机房数据库发生Insert、Update或Delete事件时,会生成更新日志信息,并在本地存储该更新日志信息。
在本发明实施例中,可以提取源机房数据库的更新日志信息,并根据该更新日志信息,确定源机房数据库需要同步到目标机房数据库的第一数据。
步骤S102,对所述源机房数据库中的第一数据进行校验处理,得到第一校验结果;
在将源机房数据库的第一数据传输到目标机房数据库的过程中,为尽量提高目标机房数据库收到数据的准确性,在目标机房数据库接收数据之前需要对数据进行差错检测,当且仅当检测的结果为正确时目标机房数据库才真正收下数据。检测的方式有多种,例如,奇偶校验、因特网校验和循环冗余校验等。
在本发明实施例的一种示例中,可以对源机房数据库中的第一数据进行循环冗余校验(Cyclic Redundancy Check,CRC)。通过对第一数据进行校验处理,并将得到的第一校验结果附在第一数据的数据帧的后面。
在本发明实施例的一种优选实施例中,所述对所述源机房数据库中的第一数据进行校验处理的步骤包括:
生成数据一致性校验命令并发送至所述源机房数据库;
在所述源机房数据库执行数据一致性校验命令,以对所述第一数据进行校验处理。
在本发明实施例的一种优选实施例中,在所述步骤S102之后,还可以包括如下步骤:
将所述第一校验结果和所述数据一致性校验命令发送至目标机房数据库。
由于跨机房数据库进行数据同步时,数据量比较多,在进行数据一致性校验时,通常对同步数据(例如,第一数据)进行分块处理后,以块为单位对同步数据进行校验处理,例如,可以将同步数据划分为:A、B、C三块。
数据一致性校验命令可以存储同步数据分块的信息。
在源机房数据库进行数据同步时,可以将数据一致性校验命令同步到目标机房数据库,以保证目标机房数据库与源机房数据库针对同步数据进行一样的分块处理后,再进行校验处理。
在本发明实施例的一种优选实施例中,在所述步骤S102之后,还可以包括如下步骤:
确定针对所述第一数据的校验开始标识和校验结束标识。
其中,校验开始标识用于标识校验处理操作的开始位置,校验结束标识用于标识校验处理操作的结束位置。
步骤S103,对目标机房数据库的第二数据进行校验处理,得到第二检验结果;其中,所述第二数据为将所述第一数据同步到所述目标机房后得到的数据;
目标机房数据库接收到源机房数据库传输的数据之后,同样对该数据进行校验处理,以验证接收到的数据有没有出错。
在本发明实施例的一种优选实施例中,所述步骤S103可以包括如下子步骤:
子步骤S21,根据所述校验开始标识和校验结束标识,确定对所述目标机房的第二数据进行校验处理的开始位置和结束位置;
子步骤S22,根据所述开始位置、结束位置和所述数据一致性校验命令,对所述目标机房的第二数据进行校验处理,得到第二检验结果。
目标机房数据库在进行校验处理时,可以根据校验开始标识和校验结束标识,确定校验处理的开始位置和结束位置。
在目标机房数据库上,执行源机房数据库同步过来数据一致性校验命令,以保证目标机房数据库和源机房数据库执行一样的数据一致性校验命令。例如,当源机房数据库对第一数据进行分块处理时,目标机房数据库进行一样的分块处理。
步骤S104,若所述第一校验结果与所述第二校验结果不一致,则控制所述源机房数据库重新将所述第一数据发送到所述目标机房数据库。
在本发明实施例中,当第一校验结果与第二校验结果不一致时,则认为源机房数据库同步到目标机房数据库的数据出错,对该第一数据进行自动恢复处理,控制源机房数据库重新将第一数据发送到目标机房数据库。
在本发明实施例的一种优选实施例中,所述步骤S104可以包括如下子步骤:
子步骤S31,若所述第一校验结果与所述第二校验结果不一致,则确定所述第一数据与所述第二数据之间不一致的第三数据;
子步骤S32,控制所述源机房数据库重新将所述不一致的第三数据发送到所述目标机房数据库。
在对第一数据进行自动恢复处理时,可以通过确定第一数据与第二数据之间不一致的第三数据,避免重复发送一致的部分数据,直接控制源机房数据库重新将不一致的第三数据发送到目标机房数据库,加快数据恢复的速度。
作为一种示例,可以以表数据为单位,确定第一数据与第二数据之间不一致的表数据,例如,第一数据包括:表数据A、表数据B、表数据C,而第一数据与第二数据之间不一致的表数据为:表数据C,则控制源机房数据库重新将表数据C发送到目标机房数据库。
在本发明实施例的一种优选实施例中,在所述子步骤S31的步骤之后,还可以包括如下步骤:
生成停止数据同步消息;
将所述停止数据同步消息发送至所述源机房数据库。
在本发明实施例中,当发现第一数据与第二数据不一致时,则在目标机房生成停止数据同步消息,将该停止数据同步消息发送至源机房数据库,以令源机房数据库停止数据同步的操作。
在本发明实施例的一种优选实施例中,所述子步骤S32可以包括如下步骤:
确定所述源机房数据库中所述不一致的第三数据的存储位置;
将所述存储位置发送至所述目标机房数据库;
控制所述目标机房数据库根据所述存储位置下载第四数据。
其中,第四数据是在目标机房数据库下载源机房数据库的第三数据后得到的数据。
在本发明实施例中,在源机房数据库下载不一致的第三数据并存储,并确定该第三数据的存储位置,将该存储位置发送至目标机房数据库,目标机房数据根据存储位置下载第四数据。
在进行数据恢复时,目标机房数据根据数据的存储位置下载数据,可以进一步保证数据的一致性和准确性。
在本发明实施例的一种优选实施例中,所述子步骤S32还可以包括如下步骤:
确定所述源机房数据库中所述不一致的第三数据的校验码;
根据所述校验码,对所述目标机房数据库的第四数据进行MD5校验;
若校验成功,则将所述第四数据写入所述目标机房数据库。
其中,所述校验码可以为MD5值。
在本发明实施例中,在控制源机房数据库重新将不一致的第三数据发送到目标机房数据库时,可以对该数据进行MD5校验。校验成功后,再将将第四数据写入目标机房数据库,进一步保证了跨机房数据同步的准确性。
在本发明实施例的一种优选实施例中,所述子步骤S32还可以包括如下步骤:
在将所述第四数据写入所述目标机房数据库成功后,获取需要进行数据同步的位置信息;
将所述需要进行数据同步的位置信息发送至所述源机房数据库;
控制所述源机房数据库开始数据同步。
在本发明实施例中,如果成功将第四数据写入目标机房数据库,则确定需要进行数据同步的位置信息,以通知源机房数据库从该需要进行数据同步的位置信息开始数据同步。
如果将第四数据写入目标机房数据库失败,则生成数据不一致的告警消息,数据库的管理人员可以根据该告警消息,人工介入进行手动修复,进一步保证跨机房数据同步的准确性。
在本发明实施例中,通过确定源机房数据库的第一数据,对该第一数据进行校验处理,得到第一校验结果,对目标机房数据库的第二数据进行校验处理,得到第二检验结果,其中,第二数据为将第一数据同步到目标机房后得到的数据,若第一校验结果与第二校验结果不一致,则控制源机房数据库重新将第一数据发送到目标机房数据库,在进行数据同步的时候,对同步数据进行数据一致性校验,当数据不一致性时,对该同步数据进行自动恢复,进一步保证了跨机房同步数据的准确性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图2,示出了本发明实施例的一种跨机房数据库的数据同步系统结构框图。
其中,源机房数库可以包括:数据校验网元、数据恢复网元、增量数据解析网元、数据发送网元、全量数据下载网元等,目标机房数据库可以包括:数据一致性验证网元、数据写库网元、数据接收网元、全量数据接收网元等。
源机房数据库和目标机房数据之间的通信通道可以包括:数据增量同步通道、数据校验通道、数据全量恢复通道。
在本发明实施例中,对源机房数据库同步到目标机房数据库的数据进行数据一致性校验处理,当数据不一致时,进行数据自动恢复处理。
其中,进行数据一致性校验处理可以包括如下步骤:
1.在数据一致性校验开始之前,跨机房数据库的数据同步系统采用数据增量同步的方式进行数据同步。
2.数据一致性校验开始,数据校验网元向源机房数据库发送数据校验请求,以在源机房数据库上对同步数据(如:第一数据)执行数据校验命令。
在执行数据校验命令前和执行命令后,数据校验网元还执行数据校验开始命令和数据校验结束命令,以标识执行数据一致性校验的开始和结束。
3.同步数据、数据校验开始命令、数据校验命令、数据校验结束命令都被增量数据解析网元实时解析,并顺序发送给数据发送网元。
4.数据发送网元收到数据后,对该数据进行加密、压缩后,由公网发送给数据接收网元。其中,该数据包括同步数据、数据校验开始命令、数据校验命令、数据校验结束命令。
5.数据接收网元将数据写入到消息队列,并返回给数据发送网元数据接收成功。
6.数据写库网元消费消息队列中的数据,将收到数据校验开始命令、数据校验命令、数据校验结束命令在目标机房数据库上执行。其中,数据接收网元和数据写库网元通过消息队列进行通信。
在执行完数据校验结束命令后,通知数据一致性验证网元进行结果校验。
7.数据一致性验证网元在目标机房数据库上获取数据校验结果。如果数据一致,则记录完成数据一致性校验处理的时间,如果出现数据不一致(例如,库、表数据不一致),则进行数据自动恢复处理。
数据自动恢复处理可以包括如下步骤:
1.数据一致性验证网元确定不一致的数据信息(例如,库、表数据),将该不一致数据信息通过数据校验通道发送给源机房数据库的数据恢复网元。
2.数据恢复网元通知增量数据解析网元,停止增量同步。
3.数据恢复网元将不一致数据信息发送给全量数据下载网元,以通知全量数据下载网元下载不一致数据。
全量数据下载网元根据收到的不一致数据信息下载不一致的数据(例如,表数据)。
全量数据下载网元下载不一致的数据完成后,获取下载的不一致的数据的MD5值,并将不一致的数据的信息组装,发送给数据发送网元。其中,不一致的数据的信息可以包括:存储位置、大小、MD5等。
4.数据发送网元收到不一致的数据的信息,对不一致的数据的信息进行加密、压缩处理后,发送给目标机房数据库的全量数据接收网元。
5.全量数据接收网元接收到不一致的数据的信息后,对该不一致的数据的信息进行解压、解密处理,根据不一致的数据的存储位置信息下载对应的数据。
下载完成后,对下载的数据进行MD5校验。
若检验成功,则将解压、解密后的数据写入到消息队列,并通知数据写库网元。
若数据校验失败,则通过数据全量同步通道通知全量下载网元重新下载不一致的数据。
6.数据写库网元在消费完消息队列中的数据后,开始数据导库操作,其中,数据导库操作可以为将数据写入目标机房数据库的操作。
在数据导库成功后,将需要开启增量同步的位置信息通知数据一致性校验网元。如果数据导库失败,则生成数据不一致的告警消息,告警出数据不一致问题,以便人工介入对不一致的数据进行手动修复。
7.数据一致性校验网元将需要开启增量同步的位置消息转发给数据恢复网元。
8.数据恢复网元收到位置信息后,通知增量数据解析网元从需要同步的位置重新开始增量同步。
9.不一致数据自动恢复成功,结束数据数据自动恢复处理。
在本发明实施例中,在进行数据同步时,在源机房数据库上执行数据一致性校验命令,并将数据一致性校验命令实时同步到目标机房数据库,以令目标机房数据库对同步数据执行数据一致性校验命令,从而实现跨机房数据库对同步数据进行数据一致性校验,当数据不一致性时,对该同步数据进行自动恢复,进一步保证了跨机房数据库的同步数据的准确性。
参照图3,示出了本发明的一种跨机房数据库的数据同步装置实施例的结构框图,具体可以包括如下模块:
第一数据确定模块301,用于确定源机房数据库的第一数据;
第一校验处理模块302,用于对所述源机房数据库中的第一数据进行校验处理,得到第一校验结果;
第二校验处理模块303,用于对目标机房数据库的第二数据进行校验处理,得到第二检验结果;其中,所述第二数据为将所述第一数据同步到所述目标机房后得到的数据;
第一数据发送模块304,用于若所述第一校验结果与所述第二校验结果不一致,则控制所述源机房数据库重新将所述第一数据发送到所述目标机房数据库。
在本发明实施例的一种优选实施例中,所述第一校验处理模块302可以包括如下子模块:
数据一致性校验命令生成子模块,用于生成数据一致性校验命令并发送至所述源机房数据库;
数据一致性校验命令执行子模块,用于在所述源机房数据库执行数据一致性校验命令,以对所述第一数据进行校验处理。
在本发明实施例的一种优选实施例中,所述装置还可以包括如下模块:
命令发送模块,用于将所述第一校验结果和所述数据一致性校验命令发送至目标机房数据库。
在本发明实施例的一种优选实施例中,所述装置还可以包括如下模块:
标识确定模块,用于确定针对所述第一数据的校验开始标识和校验结束标识。
在本发明实施例的一种优选实施例中,所述第二校验处理模块303可以包括如下子模块:
校验处理位置确定子模块,用于根据所述校验开始标识和校验结束标识,确定对所述目标机房的第二数据进行校验处理的开始位置和结束位置;
校验处理子模块,用于根据所述开始位置、结束位置和所述数据一致性校验命令,对所述目标机房的第二数据进行校验处理,得到第二检验结果。
在本发明实施例的一种优选实施例中,所述第一数据发送模块304可以包括如下子模块:
第三数据确定子模块,用于若所述第一校验结果与所述第二校验结果不一致,则确定所述第一数据与所述第二数据之间不一致的第三数据;
第三数据发送子模块,用于控制所述源机房数据库重新将所述不一致的第三数据发送到所述目标机房数据库。
在本发明实施例的一种优选实施例中,所述第一数据发送模块304还可以包括如下子模块:
停止数据同步消息生成子模块,用于生成停止数据同步消息;
停止数据同步消息发送子模块,用于将所述停止数据同步消息发送至所述源机房数据库。
在本发明实施例的一种优选实施例中,所述第三数据发送子模块可以包括如下子模块:
存储位置确定子模块,用于确定所述源机房数据库中所述不一致的第三数据的存储位置;
存储位置发送子模块,用于将所述存储位置发送至所述目标机房数据库;
第四数据下载子模块,用于控制所述目标机房数据库根据所述存储位置下载第四数据。
在本发明实施例的一种优选实施例中,所述第三数据发送子模块还可以包括如下子模块:
校验码确定子模块,用于确定所述源机房数据库中所述不一致的第三数据的校验码;
MD5校验子模块,用于根据所述校验码,对所述目标机房数据库的第四数据进行MD5校验;
第四数据写入子模块,用于若校验成功,则将所述第四数据写入所述目标机房数据库。
在本发明实施例的一种优选实施例中,所述第三数据发送子模块还可以包括如下子模块:
位置信息确定子模块,用于在将所述第四数据写入所述目标机房数据库成功后,获取需要进行数据同步的位置信息;
位置信息发送子模块,用于将所述需要进行数据同步的位置信息发送至所述源机房数据库;
数据同步开始子模块,用于控制所述源机房数据库开始数据同步。
在本发明实施例中,通过确定源机房数据库的第一数据,对该第一数据进行校验处理,得到第一校验结果,对目标机房数据库的第二数据进行校验处理,得到第二检验结果,其中,第二数据为将第一数据同步到目标机房后得到的数据,若第一校验结果与第二校验结果不一致,则控制源机房数据库重新将第一数据发送到目标机房数据库,在进行数据同步的时候,对同步数据进行数据一致性校验,当数据不一致性时,对该同步数据进行自动恢复,进一步保证了跨机房同步数据的准确性。对于跨机房数据库的数据同步装置实施例而言,由于其与跨机房数据库的数据同步方法实施例基本相似,所以描述的比较简单,相关之处参见跨机房数据库的数据同步方法实施例的部分说明即可。
本发明实施例还提供了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行本发明实施例所述的跨机房数据库的数据同步方法。
本发明实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本发明实施例所述的跨机房数据库的数据同步方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种跨机房数据库的数据同步方法和一种跨机房数据库的数据同步装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (13)
1.一种跨机房数据库的数据同步方法,其特征在于,包括:
确定源机房数据库的第一数据;
对所述源机房数据库中的第一数据进行校验处理,得到第一校验结果;
对目标机房数据库的第二数据进行校验处理,得到第二检验结果;其中,所述第二数据为将所述第一数据同步到所述目标机房后得到的数据;
若所述第一校验结果与所述第二校验结果不一致,则控制所述源机房数据库重新将所述第一数据发送到所述目标机房数据库。
2.根据权利要求1所述的方法,其特征在于,所述对所述源机房数据库中的第一数据进行校验处理的步骤包括:
生成数据一致性校验命令并发送至所述源机房数据库;
在所述源机房数据库执行数据一致性校验命令,以对所述第一数据进行校验处理。
3.根据权利要求2所述的方法,其特征在于,在所述对所述源机房数据库中的第一数据进行校验处理,得到第一校验结果的步骤之后,还包括:
将所述第一校验结果和所述数据一致性校验命令发送至目标机房数据库。
4.根据权利要求3所述的方法,其特征在于,在所述对所述源机房数据库中的第一数据进行校验处理,得到第一校验结果的步骤之后,还包括:
确定针对所述第一数据的校验开始标识和校验结束标识。
5.根据权利要求4所述的方法,其特征在于,所述对所述目标机房数据库的第二数据进行校验处理,得到第二检验结果,包括:
根据所述校验开始标识和校验结束标识,确定对所述目标机房的第二数据进行校验处理的开始位置和结束位置;
根据所述开始位置、结束位置和所述数据一致性校验命令,对所述目标机房的第二数据进行校验处理,得到第二检验结果。
6.根据权利要求5所述的方法,其特征在于,所述若所述第一校验结果与所述第二校验结果不一致,则控制所述源机房数据库重新将所述第一数据发送到所述目标机房数据库,包括:
若所述第一校验结果与所述第二校验结果不一致,则确定所述第一数据与所述第二数据之间不一致的第三数据;
控制所述源机房数据库重新将所述不一致的第三数据发送到所述目标机房数据库。
7.根据权利要求6所述的方法,其特征在于,所述若所述第一校验结果与所述第二校验结果不一致,则确定所述第一数据与所述第二数据之间不一致的第三数据的步骤之后,还包括:
生成停止数据同步消息;
将所述停止数据同步消息发送至所述源机房数据库。
8.根据权利要求6所述的方法,其特征在于,所述控制所述源机房数据库重新将所述不一致的第三数据发送到所述目标机房数据库,包括:
确定所述源机房数据库中所述不一致的第三数据的存储位置;
将所述存储位置发送至所述目标机房数据库;
控制所述目标机房数据库根据所述存储位置下载第四数据。
9.根据权利要求8所述的方法,其特征在于,还包括:
确定所述源机房数据库中所述不一致的第三数据的校验码;
根据所述校验码,对所述目标机房数据库的第四数据进行MD5校验;
若校验成功,则将所述第四数据写入所述目标机房数据库。
10.根据权利要求9所述的方法,其特征在于,还包括:
在将所述第四数据写入所述目标机房数据库成功后,获取需要进行数据同步的位置信息;
将所述需要进行数据同步的位置信息发送至所述源机房数据库;
控制所述源机房数据库开始数据同步。
11.一种跨机房数据库的数据同步装置,其特征在于,包括:
第一数据确定模块,用于确定源机房数据库的第一数据;
第一校验处理模块,用于对所述源机房数据库中的第一数据进行校验处理,得到第一校验结果;
第二校验处理模块,用于对所述目标机房数据库的第二数据进行校验处理,得到第二检验结果;其中,所述第二数据为将所述第一数据同步到所述目标机房后得到的数据;
第一数据发送模块,用于若所述第一校验结果与所述第二校验结果不一致,则控制所述源机房数据库重新将所述第一数据发送到所述目标机房数据库。
12.一种装置,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如权利要求1-10所述的一个或多个的方法。
13.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-10所述的一个或多个的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811481841.3A CN111274311A (zh) | 2018-12-05 | 2018-12-05 | 一种跨机房数据库的数据同步方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811481841.3A CN111274311A (zh) | 2018-12-05 | 2018-12-05 | 一种跨机房数据库的数据同步方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111274311A true CN111274311A (zh) | 2020-06-12 |
Family
ID=70998527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811481841.3A Pending CN111274311A (zh) | 2018-12-05 | 2018-12-05 | 一种跨机房数据库的数据同步方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111274311A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112711598A (zh) * | 2020-12-28 | 2021-04-27 | 医渡云(北京)技术有限公司 | 一种数据校验方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761162A (zh) * | 2014-01-11 | 2014-04-30 | 深圳清华大学研究院 | 分布式文件系统的数据备份方法 |
CN104391727A (zh) * | 2014-12-15 | 2015-03-04 | 福州瑞芯微电子有限公司 | 数据烧写方法、系统、烧写设备以及目标设备 |
CN104978253A (zh) * | 2015-06-24 | 2015-10-14 | 合肥格易集成电路有限公司 | 一种目标文件校验的方法和装置 |
CN106681855A (zh) * | 2015-11-10 | 2017-05-17 | 澜起科技(上海)有限公司 | 一次性可编程存储装置以及对其进行数据校验的方法 |
CN106815326A (zh) * | 2016-12-28 | 2017-06-09 | 中国民航信息网络股份有限公司 | 一种检测无主键数据表一致性的系统及方法 |
CN107133120A (zh) * | 2016-02-29 | 2017-09-05 | 阿里巴巴集团控股有限公司 | 一种文件数据的校验方法、装置 |
CN107220141A (zh) * | 2017-05-26 | 2017-09-29 | 青岛海信电器股份有限公司 | 数据文件校验方法及装置 |
CN107807792A (zh) * | 2017-10-27 | 2018-03-16 | 郑州云海信息技术有限公司 | 一种基于副本存储系统的数据处理方法及相关装置 |
CN107832383A (zh) * | 2017-10-30 | 2018-03-23 | 焦点科技股份有限公司 | 一种跨机房数据库的数据一致性校验方法 |
-
2018
- 2018-12-05 CN CN201811481841.3A patent/CN111274311A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761162A (zh) * | 2014-01-11 | 2014-04-30 | 深圳清华大学研究院 | 分布式文件系统的数据备份方法 |
CN104391727A (zh) * | 2014-12-15 | 2015-03-04 | 福州瑞芯微电子有限公司 | 数据烧写方法、系统、烧写设备以及目标设备 |
CN104978253A (zh) * | 2015-06-24 | 2015-10-14 | 合肥格易集成电路有限公司 | 一种目标文件校验的方法和装置 |
CN106681855A (zh) * | 2015-11-10 | 2017-05-17 | 澜起科技(上海)有限公司 | 一次性可编程存储装置以及对其进行数据校验的方法 |
CN107133120A (zh) * | 2016-02-29 | 2017-09-05 | 阿里巴巴集团控股有限公司 | 一种文件数据的校验方法、装置 |
CN106815326A (zh) * | 2016-12-28 | 2017-06-09 | 中国民航信息网络股份有限公司 | 一种检测无主键数据表一致性的系统及方法 |
CN107220141A (zh) * | 2017-05-26 | 2017-09-29 | 青岛海信电器股份有限公司 | 数据文件校验方法及装置 |
CN107807792A (zh) * | 2017-10-27 | 2018-03-16 | 郑州云海信息技术有限公司 | 一种基于副本存储系统的数据处理方法及相关装置 |
CN107832383A (zh) * | 2017-10-30 | 2018-03-23 | 焦点科技股份有限公司 | 一种跨机房数据库的数据一致性校验方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112711598A (zh) * | 2020-12-28 | 2021-04-27 | 医渡云(北京)技术有限公司 | 一种数据校验方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10545469B2 (en) | Systems and methods for self provisioning building equipment | |
TWI751402B (zh) | 一種資料同步方法、分散式系統、電腦可讀取儲取媒體、電腦設備及分散式設備 | |
KR102051692B1 (ko) | 클라우드 동기화 시스템용 텔레메트리 시스템 | |
US9454439B2 (en) | Disaster recovery validation | |
CN110825420A (zh) | 分布式集群的配置参数更新方法、装置、设备及存储介质 | |
CN114385759B (zh) | 配置文件的同步方法、装置、计算机设备及存储介质 | |
EP3474143B1 (en) | Method and apparatus for incremental recovery of data | |
US8086909B1 (en) | Automatic core file upload | |
CN110569085A (zh) | 配置文件加载方法及系统 | |
CN111338656B (zh) | 安装软件包至目标主机的方法、装置和计算机设备 | |
WO2017198156A1 (zh) | 业务部署方法、装置和系统 | |
CN111506326A (zh) | 终端设备的升级方法、装置、设备及存储介质 | |
CN105704296B (zh) | 一种应用环境克隆方法及装置 | |
CN112148315A (zh) | 软件部署方法、装置、服务器及存储介质 | |
CN113190448B (zh) | 测试代码更新方法及装置、电子设备、存储介质 | |
CN111274311A (zh) | 一种跨机房数据库的数据同步方法和装置 | |
CN105227351A (zh) | 日志获取系统、日志获取方法及电子设备 | |
CN110620800B (zh) | 电力二次系统跨安全区的配置数据同步处理方法和装置 | |
CN109032646B (zh) | 一种更新应用的方法、装置和系统 | |
WO2016180174A1 (zh) | 语音文件同步的方法和装置 | |
CN105765908B (zh) | 一种多站点自动更新方法、客户端和系统 | |
CN110572442A (zh) | 配置文件路径的方法及系统 | |
CN115277679B (zh) | 文件同步方法和系统 | |
CN115080311B (zh) | 一种大数据的信息化远程控制方法及装置 | |
CN113094211B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200612 |
|
RJ01 | Rejection of invention patent application after publication |