logo好方法网

数据库之间的数据对账方法和装置、存储介质及电子设备


技术摘要:
本发明公开了一种数据库之间的数据对账方法和装置、存储介质及电子设备。其中,该方法包括:获取第一数据库的日志集合中的第一日志集合;获取第二数据库的日志集合中的第二日志集合;根据第一日志集合获取第一数据库在目标状态下的第一数据集合,根据第二日志集合获取  全部
背景技术:
随着互联网正成为国民生活和经济运转的基础设施,互联网服务的可用性变得越 来越重要。而数据的可靠性正是互联网服务运转的重中之重。因此,通过消息队列实现跨地 域容灾,变成了很多互联网服务的高可用方案。 虽然消息队列具有消费确认、持久化和多分片等多种可靠性机制,从整个方案实 现看,仅靠它无法保证两端数据的一致性,原因如下: 异步的消息写入方式,不保证每个业务事件都能传递:消息系统往往会跨地域部 署,要提升消息的可靠性,需要进行跨区域的副本同步。如果业务采用了消息队列同步写入 的方案,则会大大降低业务的处理性能。因此,业务采用异步投递消息的模式。 消息队列作为中间站,消息都会过期:消息队列作为消息中转站,存在一定的存储 规格,因此不可能无限量地保存所有历史消息。当前会按照存储容量和消息期限来进行清 理。因此当某个区域与消息队列断联时,无法及时消费到过期的事件。 同步后的业务数据可能丢失:业务系统升级或者本地的存储系统故障时,存在丢 失数据的风险。 当前的对账方案会高度融入和依赖业务系统,当发起对账时,会阻塞,甚至争抢业 务资源(如内存,线程)影响正常业务处理。当数据修复时,有可能过时的对账结果会覆盖更 新的业务数据,造成数据错误。 针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:
本发明实施例提供了一种数据库之间的数据对账方法和装置、存储介质及电子设 备,以至少解决现有技术中,无法实现在不间断业务数据的情况下对数据进行对账的技术 问题。 根据本发明实施例的一个方面,提供了一种数据库之间的数据对账方法,包括:获 取第一数据库的日志集合中的第一日志集合,其中,所述第一日志集合中的每个日志具有 对应的日志序列号,所述第一日志集合中的每个日志包括对所述第一数据库中的数据进行 修改的记录;获取第二数据库的日志集合中的第二日志集合,其中,所述第二数据库用于从 所述第一数据库中同步数据,所述第二日志集合中的每个日志具有对应的日志序列号,所 述第二日志集合中的每个日志包括对所述第二数据库中的数据进行修改的记录,所述第二 日志集合中的日志对应的日志序列号与所述第一日志集合中的日志对应的日志序列号相 同;根据所述第一日志集合获取所述第一数据库在目标状态下的第一数据集合,根据所述 第二日志集合获取所述第二数据库在所述目标状态下的第二数据集合;对所述第一数据集 5 CN 111597197 A 说 明 书 2/12 页 合和所述第二数据集合进行比对,得到目标比对结果;在所述目标比对结果表示所述第一 数据集合和所述第二数据集合不相同的情况下,根据所述目标比对结果对所述第一数据库 或所述第二数据库中的数据进行更新。 根据本发明实施例的另一方面,还提供了一种数据库之间的数据对账装置,包括: 第一获取单元,用于获取第一数据库的日志集合中的第一日志集合,其中,所述第一日志集 合中的每个日志具有对应的日志序列号,所述第一日志集合中的每个日志包括对所述第一 数据库中的数据进行修改的记录;第二获取单元,用于获取第二数据库的日志集合中的第 二日志集合,其中,所述第二数据库用于从所述第一数据库中同步数据,所述第二日志集合 中的每个日志具有对应的日志序列号,所述第二日志集合中的每个日志包括对所述第二数 据库中的数据进行修改的记录,所述第二日志集合中的日志对应的日志序列号与所述第一 日志集合中的日志对应的日志序列号相同;第三获取单元,用于根据所述第一日志集合获 取所述第一数据库在目标状态下的第一数据集合,根据所述第二日志集合获取所述第二数 据库在所述目标状态下的第二数据集合;对比单元,用于对所述第一数据集合和所述第二 数据集合进行比对,得到目标比对结果;更新单元,用于在所述目标比对结果表示所述第一 数据集合和所述第二数据集合不相同的情况下,根据所述目标比对结果对所述第一数据库 或所述第二数据库中的数据进行更新。 根据本发明实施例的又一方面,提供了一种计算机程序产品或计算机程序,该计 算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质 中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机 指令,使得该计算机设备执行上述各种可选实现方式中提供的数据库之间的数据对账方 法。 根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上 述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的数据 库之间的数据对账方法。 在本发明实施例中,通过获取第一数据库的日志集合中的第一日志集合,其中,第 一日志集合中的每个日志具有对应的日志序列号,第一日志集合中的每个日志包括对第一 数据库中的数据进行修改的记录;获取第二数据库的日志集合中的第二日志集合,其中,第 二数据库用于从第一数据库中同步数据,第二日志集合中的每个日志具有对应的日志序列 号,第二日志集合中的每个日志包括对第二数据库中的数据进行修改的记录,第二日志集 合中的日志对应的日志序列号与第一日志集合中的日志对应的日志序列号相同;根据第一 日志集合获取第一数据库在目标状态下的第一数据集合,根据第二日志集合获取第二数据 库在目标状态下的第二数据集合;对第一数据集合和第二数据集合进行比对,得到目标比 对结果;在目标比对结果表示第一数据集合和第二数据集合不相同的情况下,根据目标比 对结果对第一数据库或第二数据库中的数据进行更新,达到了获取目标状态下的第一数据 集合和第二数据集合,对第一数据集合和第二数据集合进行比对,并对数据进行更新的目 的,从而实现了不间断的数据同步的技术效果,进而解决了现有技术中,无法实现在不间断 业务数据的情况下对数据进行对账的技术问题。 6 CN 111597197 A 说 明 书 3/12 页 附图说明 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中: 图1是根据本发明实施例的一种可选的数据库之间的数据对账方法的应用环境的 示意图; 图2是根据本发明实施例的一种可选的数据库之间的数据对账方法的流程图; 图3是根据本发明实施例的一种可选的对账子系统的交互界面; 图4是根据本发明实施例的一种可选的基于MVCC机制的数据对账和修复方法的流 程图; 图5是根据本发明实施例的一种可选的基于数据版本号的RSM同步模型示意图; 图6是根据本发明实施例的一种可选的基于MVCC的快照生成流程图; 图7是根据本发明实施例的一种可选的两端快照对比流程图图; 图8是根据本发明实施例的一种可选的数据库之间的数据对账装置的结构示意 图; 图9是根据本发明实施例的一种可选的数据库之间的数据对账方法的电子设备的 结构示意图。
分享到:
收藏