数据同步方法、装置及服务器制造方法及图纸

技术编号:21913898 阅读:22 留言:0更新日期:2019-08-21 12:24
本申请实施例提供一种数据同步方法、装置及服务器。其中,所述方法包括:确定丢失的日志记录的下一条日志记录;根据所述下一条日志记录携带的其之前多条日志记录中的数据库记录标识,确定丢失的数据库记录;从主数据库获取所述丢失的数据库记录对应的记录数据;基于所述记录数据,更新备用数据库存储的数据。本申请实施例提供的技术方案提高了数据恢复的效率。

Data synchronization methods, devices and servers

【技术实现步骤摘要】
数据同步方法、装置及服务器
本申请涉及计算机应用
,尤其涉及一种数据同步方法、装置及服务器。
技术介绍
在使用日志的数据库系统中,更新操作会首先写入日志文件,日志文件由多条日志记录构成,每一次更新操作可以生成一个或多个日志记录。之后,再基于日志文件中的日志记录对存储的数据进行更新。为了保证数据的可靠性,数据库系统通常采用主备架构,由一个主数据库以及一个或多个备用数据库构成。主数据库会不断将生成的日志记录发送至备用数据库,备用数据库通过回放日志,即可以基于日志记录中记录的更新数据对存储的数据进行修改,实现主数据库与备用数据库的数据同步。由于主数据库与备用数据库进行日志记录传输时,可能由于网络等问题出现中断,导致丢失一条或多条日志记录,为了使得主数据库和备用数据库的数据状态保持一致,现有技术中,备用数据库需要从主数据库中拷贝存储的所有数据以及日志文件,才能恢复数据的正确性,耗时较长。
技术实现思路
本申请实施例提供一种数据同步方法、装置及服务器,用以解决现有技术中数据恢复耗时较长的技术问题。第一方面,本申请实施例中提供了一种数据同步方法,包括:确定丢失的日志记录的下一条日志记录;根据所述下一条日志记录携带的其之前多条日志记录的数据库记录标识,确定丢失的数据库记录;从主数据库获取所述丢失的数据库记录对应的记录数据;基于所述记录数据,更新备用数据库存储的数据。可选地,所述从主数据库获取所述丢失的数据库记录对应的记录数据之后,所述方法还包括:确定所述主数据库中当前最后一条日志记录;所述基于所述记录数据,更新备用数据库存储的数据之后,所述方法还包括:从所述下一条日志记录开始,对接收获得的日志记录进行回放;如果回放至所述最后一条日志记录或者所述最后一条日志记录之后的任一条日志记录,确定数据恢复正确。可选地,所述基于所述记录数据,更新备用数据库存储的数据包括:将与所述记录数据属于同一事务的日志记录进行回放,确定更新数据;基于所述更新数据以及所述记录数据,更新所述备用数据库中所述事务对应的数据。可选地,还包括:从主数据库查找是否存在所述丢失的日志记录;所述确定丢失的日志记录的下一条日志记录包括:如果所述主数据库不存在所述丢失的日志记录,确定丢失的日志记录的下一条日志记录。可选地,每一条日志记录携带其之前第一数量的日志记录的数据库记录标识;所述方法还包括:判断所述丢失的日志记录的条数是否小于或等于所述第一数量;如果是,执行所述根据所述下一条日志记录携带的其之前连续的多条日志记录的数据库记录标识,确定丢失的数据库记录的步骤;如果否,基于所述主数据库的所有数据,更新所述备用数据库存储的数据。可选地,所述任一条日志记录为与所述最后一条日志记录间隔第二数量的日志记录的一条日志记录。可选地,所述确定丢失的日志记录的下一条日志记录之前,所述方法还包括:根据相邻两次接收到的两条日志记录的日志记录标识,确定是否存在丢失的日志记录。可选地,每一条日志记录具体携带其之前连续的多条日志记录的日志记录标识及数据库记录标识;所述根据所述下一条日志记录携带的其之前多条日志记录的数据库记录标识,确定丢失的数据库记录包括:基于所述丢失的日志记录的日志记录标识,查找所述下一条日志记录携带日志记录标识以及数据库记录标识,确定丢失的数据库记录。第二方面,本申请实施例中提供了一种数据同步装置,包括:第一日志确定模块,用于确定丢失的日志记录的下一条日志记录;记录确定模块,用于根据所述下一条日志记录携带的其之前多条日志记录中的数据库记录标识,确定丢失的数据库记录;数据获取模块,用于从主数据库获取所述丢失的数据库记录对应的记录数据;数据同步模块,用于基于所述记录数据,更新备用数据库存储的数据。可选地,还包括:第二日志确定模块,用于确定所述主数据库中当前最后一条日志记录;日志回放模块,用于从所述下一条日志记录开始,对接收获得的日志记录进行回放;如果回放至所述最后一条日志记录或者所述最后一条日志记录之后的任一条日志记录,确定数据恢复正确。可选地,所述数据同步模块具体用于:将与所述记录数据属于同一事务的日志记录进行回放,确定更新数据;基于所述更新数据以及所述记录数据,更新所述备用数据库中所述事务对应的数据。可选地,还包括:日志查找模块,用于从主数据库查找是否存在所述丢失的日志记录;如果所述主数据库不存在所述丢失的日志记录,触发所述第一日志确定模块。可选地,每一条日志记录携带其之前第一数量的日志记录的数据库记录标识;所述装置还包括:数量判断模块,用于判断所述丢失的日志记录的条数是否小于或等于所述第一数量;如果是,触发所述记录确定模块;数据恢复模块,用于如果所述数量判断模块判断结果为否,如果否,基于所述主数据库的所有数据,更新所述备用数据库存储的数据。可选地,所述任一条日志记录为与所述最后一条日志记录间隔第二数量的日志记录的一条日志记录。可选地,还包括:日志判断模块,用于根据相邻两次接收到的两条日志记录的日志记录标识,确定是否存在丢失的日志记录。可选地,每一条日志记录具体携带其之前连续的多条日志记录的日志记录标识及数据库记录标识;所述记录确定模块具体用于基于所述丢失的日志记录的日志记录标识,查找所述下一条日志记录携带日志记录标识以及数据库记录标识,确定丢失的数据库记录。第三方面,本申请实施例中提供了一种服务器,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,所述一条或多条计算机指令供所述处理器调用执行;所述处理器用于:确定丢失的日志记录的下一条日志记录;根据所述下一条日志记录携带的其之前多条日志记录中的数据库记录标识,确定丢失的数据库记录;从主数据库获取所述丢失的数据库记录对应的记录数据;基于所述记录数据,更新存储的数据。本申请实施例中,每一条日志记录携带其之前的多条日志记录中的数据记录标识,如果存在丢失的日志记录,备用数据库可以基于丢失的日志记录的下一条日志记录携带的数据记录标识,确定丢失的数据库记录,从而只需从主数据库获取所述丢失的数据库记录对应的记录数据,基于该记录数据更新备用数据库存储的数据,即可以实现数据恢复,使得备用数据库可以及时与主数据保持一致的数据状态,无需从主数据库拷贝所有数据,降低了耗时时间,提高了数据恢复效率。本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了本申请提供的一种数据同步方法一个实施例的流程图;图2示出了本申请提供的一种数据同步方法又一个实施例的流程图;图3示出了本申请提供一种数据同步装置一个实施例的结构示意图;图4示出了本申请提供的一种服务器一个实施例的结构示意图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其本文档来自技高网
...

【技术保护点】
1.一种数据同步方法,其特征在于,包括:确定丢失的日志记录的下一条日志记录;根据所述下一条日志记录携带的其之前多条日志记录的数据库记录标识,确定丢失的数据库记录;从主数据库获取所述丢失的数据库记录对应的记录数据;基于所述记录数据,更新备用数据库存储的数据。

【技术特征摘要】
1.一种数据同步方法,其特征在于,包括:确定丢失的日志记录的下一条日志记录;根据所述下一条日志记录携带的其之前多条日志记录的数据库记录标识,确定丢失的数据库记录;从主数据库获取所述丢失的数据库记录对应的记录数据;基于所述记录数据,更新备用数据库存储的数据。2.根据权利要求1所述的方法,其特征在于,所述从主数据库获取所述丢失的数据库记录对应的记录数据之后,所述方法还包括:确定所述主数据库中当前最后一条日志记录;所述基于所述记录数据,更新备用数据库存储的数据之后,所述方法还包括:从所述下一条日志记录开始,对接收获得的日志记录进行回放;如果回放至所述最后一条日志记录或者所述最后一条日志记录之后的任一条日志记录,确定数据恢复正确。3.根据权利要求1所述的方法,其特征在于,所述基于所述记录数据,更新备用数据库存储的数据包括:将与所述记录数据属于同一事务的日志记录进行回放,确定更新数据;基于所述更新数据以及所述记录数据,更新所述备用数据库中所述事务对应的数据。4.根据权利要求1所述的方法,其特征在于,还包括:从主数据库查找是否存在所述丢失的日志记录;所述确定丢失的日志记录的下一条日志记录包括:如果所述主数据库不存在所述丢失的日志记录,确定丢失的日志记录的下一条日志记录。5.根据权利要求1所述的方法,其特征在于,每一条日志记录携带其之前第一数量的日志记录的数据库记录标识;所述方法还包括:判断所述丢失的日志记录的条数是否小于或等于所述第一数量;如果是,执行所述根据所述下一条日志记录携带的其之前连续的多条日志记录的数据库记录标识,确定丢失的数据库记录的步骤;如果否,基于所述主数据库的所有数据,更新所述备用数据库存储的数据。6.根据权利要求2所述的方法,其特征在于,所述任一条日志记录为与所述最后一条日志记录间隔第二数量的日志记录的一条日志记录。7.根据权利要求1所述的方法,其特征在于,所述确定丢失的日志记录的下一条日志记录之前,所述方法还包括:根据相邻两次接收到的两条日志记录的日志记录标识,确定是否存在丢失的日志记录。8.根据权利要求1所述的方法,其特征在于,每一条日志记录具体携带其之前连续的多条日志记录的日志记录标识及数据库记录标识;所述根据所述下一条日志记录携带的其之前多条日志记录的数据库记录标识,确定丢失的数据库记录包括:基于所述丢失的日志记录的日志记录标识,查找所述下一条日志记录携带日志记录标识以及数据库记录标识,确定丢失的数据库记录。9.一种数据同步装置,其特征在于,包括:第一日志确定模块,用于确定丢失的日志记录的下一条日志...

【专利技术属性】
技术研发人员:曹伟
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1