一种数据同步方法、装置和系统制造方法及图纸

技术编号:15624653 阅读:54 留言:0更新日期:2017-06-14 06:03
本发明专利技术提供一种数据同步方法、装置和系统,涉及计算机领域。所述方法包括:在故障节点恢复时,向所述故障节点传输第一节点的所有数据文件;在所述第一节点的最大日志版本号与所述故障节点的最大日志版本号之间的差值小于第一阈值时,根据所述差值传输所述故障节点在故障期间未同步的日志;其中,所述故障节点的最大日志版本号为所述故障节点接收到的数据文件的最大数据版本号。本发明专利技术用于数据同步。

【技术实现步骤摘要】
一种数据同步方法、装置和系统
本专利技术涉及计算机领域,特别涉及一种数据同步方法、装置和系统。
技术介绍
分布式数据库(DistributedDatabase,DDB)主要应用于集群系统。在集群内各个节点上分别存放相同数据,实现数据冗余,通过实时地或周期性地进行数据同步来保证各个节点间备份数据的一致性。集群系统中往往存在一个主节点和若干个从节点。相关技术中,当一个从节点故障一段时间后恢复正常时,主节点会补齐故障节点在故障期内引起的差异日志。故障节点可通过补齐的差异日志来补齐数据,并在补齐后向用户返回同步成功信息。但是,这种方式在涉及到的差异日志的量较多时需要的时间较长,同步效率较低。
技术实现思路
本专利技术实施例提供了一种数据同步方法、装置和系统,能够缩短同步操作的时间,提高同步效率。第一方面,提供一种数据同步方法,所述方法包括:在故障节点恢复时,向所述故障节点传输第一节点的所有数据文件;在所述第一节点的最大日志版本号与所述故障节点的最大日志版本号之间的差值小于第一阈值时,根据所述差值传输所述故障节点在故障期间未同步的日志;其中,所述故障节点的最大日志版本号为所述故障节点接收到的数据文件的最大数据版本号。结合第一方面,在第一种可能的实现方式中,所述向所述故障节点传输第一节点的所有数据文件包括:在所述第一节点的最大数据版本号与所述故障节点的最大数据版本号之间的差值大于所述第二阈值时,向所述故障节点传输所述第一节点的所有数据文件。结合第一方面的第一种可能实现方式,在第二种可能的实现方式中,所述第一阈值与所述第二阈值相同。结合第一方面的任一种可能实现方式,在第三种可能的实现方式中,在所述向所述故障节点传输第一节点的所有数据文件之前,所述方法还包括:为所述第一节点的数据文件设置数据版本号,所述数据版本号保持与所述第一节点的相应日志版本号一致;当存在数据文件变动时,使所述数据版本号和所述日志版本号递增。第二方面,提供一种数据同步方法,所述方法包括:在故障节点恢复时,接收第一节点的所有数据文件,并将所述故障节点的最大日志版本号设置为所述数据文件的最大数据版本号;在所述第一节点的最大日志版本号与所述故障节点的最大日志版本号之间的差值小于第一阈值时,接收所述第一节点根据所述差值传输的、所述故障节点在故障期间未同步的日志;根据接收到的所述故障节点在故障期间未同步的日志,进行数据同步。结合第二方面,在第一种可能的实现方式中,所述接收来自第一节点的所有数据文件包括:在所述第一节点的最大数据版本号与所述故障节点的最大数据版本号之间的差值大于所述第二阈值时,接收来自第一节点的所有数据文件。结合第二方面在第二种可能的实现方式中,所述第一阈值与所述第二阈值相等。第三方面,提供一种数据同步方法,所述方法包括:在故障节点恢复时,第一节点向所述故障节点传输所述第一节点的所有数据文件;所述故障节点在接收到所述数据文件后,将所述故障节点的最大日志版本号设置为所述数据文件的最大数据版本号;在所述第一节点的最大日志版本号与所述故障节点的最大日志版本号之间的差值小于第一阈值时,所述第一节点根据所述差值传输所述故障节点在故障期间未同步的日志;所述故障节点根据接收到的所述故障节点在故障期间未同步的日志,进行数据同步。结合第三方面,在第一种可能的实现方式中,第一节点向所述故障节点传输所述第一节点的所有数据文件包括:在所述第一节点的最大数据版本号与所述故障节点的最大数据版本号之间的差值大于所述第二阈值时,所述第一节点向所述故障节点传输所述第一节点的所有数据文件;所述故障节点接收来自第一节点的所有数据文件。结合第三方面或第三方面的第一种可能实现方式,在第二种可能的实现方式中,在所述第一节点向所述故障节点传输所述第一节点的所有数据文件之前,所述方法还包括:为所述第一节点的数据文件设置数据版本号,所述数据版本号保持与所述第一节点的相应日志版本号一致;当存在数据文件变动时,使所述数据版本号和所述日志版本号递增。结合第三方面的任一种可能实现方式,在第三种可能的实现方式中,所述第一节点为主节点,所述故障节点为从节点,所述方法应用于分布式数据库数据同步。第四方面,提供一种数据同步装置,所述装置包括:发送模块,用于在故障节点恢复时,向所述故障节点传输第一节点的所有数据文件;所述发送模块还用于:在所述第一节点的最大日志版本号与所述故障节点的最大日志版本号之间的差值小于第一阈值时,根据所述差值传输所述故障节点在故障期间未同步的日志;其中,所述故障节点的最大日志版本号为所述故障节点接收到的数据文件的最大数据版本号。结合第四方面,在第一种可能的实现方式中,所述发送模块具体用于:在所述第一节点的最大数据版本号与所述故障节点的最大数据版本号之间的差值大于所述第二阈值时,向所述故障节点传输所述第一节点的所有数据文件。结合第四方面或第四方面的第一种可能实现方式,在第二种可能的实现方式中,所述装置还包括处理模块,在所述发送模块将第一节点的所有数据文件传输到所述故障节点之前,所述处理模块用于:为所述第一节点的数据文件设置数据版本号,所述数据版本号保持与所述第一节点的相应日志版本号一致;当存在数据文件变动时,使所述数据版本号和所述日志版本号递增。第五方面,提供一种数据同步装置,所述装置包括:接收模块,用于在故障节点恢复时,接收第一节点的所有数据文件;处理模块,用于将所述故障节点的最大日志版本号设置为所述数据文件的最大数据版本号;所述接收模块还用于:在所述第一节点的最大日志版本号与所述故障节点的最大日志版本号之间的差值小于第一阈值时,接收所述第一节点根据所述差值传输的、所述故障节点在故障期间未同步的日志;所述处理模块还用于:根据接收到的所述故障节点在故障期间未同步的日志,进行数据同步。结合第五方面,在第一种可能的实现方式中,所述接收模块具体用于:在所述第一节点的最大数据版本号与所述故障节点的最大数据版本号之间的差值大于所述第二阈值时,接收来自第一节点的所有数据文件。第六方面,提供一种数据同步系统,所述系统包括第一节点和与所述第一节点通过网络连接的故障节点;其中:所述第一节点用于:在故障节点恢复时,向所述故障节点传输所述第一节点的所有数据文件;所述故障节点用于:在接收到所述数据文件后,将所述故障节点的最大日志版本号设置为所述数据文件的最大数据版本号;所述第一节点还用于:在所述第一节点的最大日志版本号与所述故障节点的最大日志版本号之间的差值小于第一阈值时,所述第一节点根据所述差值传输所述故障节点在故障期间未同步的日志;所述故障节点还用于:根据接收到的所述故障节点在故障期间未同步的日志,进行数据同步。结合第六方面,在第一种可能的实现方式中,所述第一节点具体用于:在所述第一节点的最大数据版本号与所述故障节点的最大数据版本号之间的差值大于所述第二阈值时,向所述故障节点传输所述第一节点的所有数据文件。结合第六方面或第六方面的第一种可能实现方式,在第二种可能的实现方式中,所述第一节点还用于:为所述第一节点的数据文件设置数据版本号,所述数据版本号保持与所述第一节点的相应日志版本号一致;当存在数据文件变动时,使所述数据版本号和所述日志版本号递增。结合第六方面的任一种可能实现方式,在第三种可能本文档来自技高网...
一种数据同步方法、装置和系统

【技术保护点】
一种数据同步方法,其特征在于,所述方法包括:在故障节点恢复时,向所述故障节点传输第一节点的所有数据文件;在所述第一节点的最大日志版本号与所述故障节点的最大日志版本号之间的差值小于第一阈值时,根据所述差值传输所述故障节点在故障期间未同步的日志;其中,所述故障节点的最大日志版本号为所述故障节点接收到的数据文件的最大数据版本号。

【技术特征摘要】
1.一种数据同步方法,其特征在于,所述方法包括:在故障节点恢复时,向所述故障节点传输第一节点的所有数据文件;在所述第一节点的最大日志版本号与所述故障节点的最大日志版本号之间的差值小于第一阈值时,根据所述差值传输所述故障节点在故障期间未同步的日志;其中,所述故障节点的最大日志版本号为所述故障节点接收到的数据文件的最大数据版本号。2.根据权利要求1所述的方法,其特征在于,所述向所述故障节点传输第一节点的所有数据文件包括:在所述第一节点的最大数据版本号与所述故障节点的最大数据版本号之间的差值大于所述第二阈值时,向所述故障节点传输所述第一节点的所有数据文件。3.根据权利要求2所述的方法,其特征在于,所述第一阈值与所述第二阈值相同。4.根据权利要求1-3任一所述的方法,其特征在于,在所述向所述故障节点传输第一节点的所有数据文件之前,所述方法还包括:为所述第一节点的数据文件设置数据版本号,所述数据版本号保持与所述第一节点的相应日志版本号一致;当存在数据文件变动时,使所述数据版本号和所述日志版本号递增。5.一种数据同步方法,其特征在于,所述方法包括:在故障节点恢复时,接收第一节点的所有数据文件,并将所述故障节点的最大日志版本号设置为所述数据文件的最大数据版本号;在所述第一节点的最大日志版本号与所述故障节点的最大日志版本号之间的差值小于第一阈值时,接收所述第一节点根据所述差值传输的、所述故障节点在故障期间未同步的日志;根据接收到的所述故障节点在故障期间未同步的日志,进行数据同步。6.根据权利要求5所述的方法,其特征在于,所述接收来自第一节点的所有数据文件包括:在所述第一节点的最大数据版本号与所述故障节点的最大数据版本号之间的差值大于所述第二阈值时,接收来自第一节点的所有数据文件。7.根据权利要求6所述的方法,其特征在于,所述第一阈值与所述第二阈值相等。8.一种数据同步方法,其特征在于,所述方法包括:在故障节点恢复时,第一节点向所述故障节点传输所述第一节点的所有数据文件;所述故障节点在接收到所述数据文件后,将所述故障节点的最大日志版本号设置为所述数据文件的最大数据版本号;在所述第一节点的最大日志版本号与所述故障节点的最大日志版本号之间的差值小于第一阈值时,所述第一节点根据所述差值传输所述故障节点在故障期间未同步的日志;所述故障节点根据接收到的所述故障节点在故障期间未同步的日志,进行数据同步。9.根据权利要求8所述的方法,其特征在于,第一节点向所述故障节点传输所述第一节点的所有数据文件包括:在所述第一节点的最大数据版本号与所述故障节点的最大数据版本号之间的差值大于所述第二阈值时,所述第一节点向所述故障节点传输所述第一节点的所有数据文件;所述故障节点接收来自第一节点的所有数据文件。10.根据权利要求8或9所述的方法,其特征在于,在所述第一节点向所述故障节点传输所述第一节点的所有数据文件之前,所述方法还包括:为所述第一节点的数据文件设置数据版本号,所述数据版本号保持与所述第一节点的相应日志版本号一致;当存在数据文件变动时,使所述数据版本号和所述日志版本号递增。11.根据权利要求7-10任一所述的方法,其特征在于,所述第一节点为主节点,所述故障节点为从节点...

【专利技术属性】
技术研发人员:黄浩
申请(专利权)人:成都华为技术有限公司
类型:发明
国别省市:四川,51

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

1