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

技术编号:14458978 阅读:69 留言:0更新日期:2017-01-19 16:10
本发明专利技术提出了一种数据同步方法、数据同步装置和服务器,其中,所述数据同步方法包括:获取多个数据库中的每个数据库中的除同步数据之外的更新数据;根据所述多个数据库中的所述更新数据,对所述多个数据库进行数据同步,其中,在对所述多个数据库中的任一数据库进行数据同步时,将所述多个数据库中的其他数据库中的所述更新数据进行合并作为目标同步数据,将所述目标同步数据发送至所述任一数据库对应的客户端,以供所述客户端根据所述目标同步数据对所述任一数据库进行数据同步。通过本发明专利技术的技术方案,不仅可以稳定、高效地实现多个数据库之间的数据同步,还可以减少客户端所在的数据库的处理压力。

【技术实现步骤摘要】

本专利技术涉及数据同步
,具体而言,涉及一种数据同步方法、一种数据同步装置和一种服务器。
技术介绍
目前,可以实现两个数据库之间的数据同步,但是相关技术中的对数据库进行数据同步的方案不能够稳定、高效地实现多个数据库之间的数据同步。而且,在相关技术中,数据库之间的数据同步都是由数据库对应的客户端来执行的,这样就增大了数据库的处理压力。因此,如何稳定、高效地实现多个数据库之间的数据同步,以及减少客户端所在的数据库的处理压力成为亟待解决的问题。
技术实现思路
本专利技术正是基于上述问题,提出了一种新的技术方案,不仅可以稳定、高效地实现多个数据库之间的数据同步,还可以减少客户端所在的数据库的处理压力。有鉴于此,本专利技术的第一方面提出了一种数据同步方法,包括:获取多个数据库中的每个数据库中的除同步数据之外的更新数据;根据所述多个数据库中的所述更新数据,对所述多个数据库进行数据同步,其中,在对所述多个数据库中的任一数据库进行数据同步时,将所述多个数据库中的其他数据库中的所述更新数据进行合并作为目标同步数据,将所述目标同步数据发送至所述任一数据库对应的客户端,以供所述客户端根据所述目标同步数据对所述任一数据库进行数据同步。在该技术方案中,由于每个数据库有数据更新时,更新的数据可能包含有多个数据库之间同步的数据,若根据更新的同步数据再进行数据同步,这样就造成了数据同步的死循环,因此,仅获取每个数据库中的除同步数据之外的更新数据,从而可以避免造成数据同步的死循环。将多个数据库的更新数据进行合并,不仅更容易部署实施,还最大程度地减少影响数据库的其他业务,从而稳定、高效地实现多个数据库之间的数据同步。另外,由于上述方案并不是由客户端执行,从而减少了客户端的处理数据的压力,有利于客户端对应的数据库正常业务的执行。在上述技术方案中,优选地,所述获取多个数据库中的每个数据库中的除同步数据之外的更新数据的步骤,具体包括:获取所述每个数据库对应的同步数据的自增字段的列表;根据所述每个数据库对应的所述列表,确定所述每个数据库中的所述更新数据。在该技术方案中,将每个数据库的同步数据的自增字段存储到列表中。当对任一数据库进行数据同步时,根据该列表将任一数据库中的所有更新数据中的同步数据过滤掉,过滤后的数据即为任一数据库中的除同步数据之外的更新数据,进一步地保证了多个数据库之间进行数据同步的稳定性和可靠性。在上述任一技术方案中,优选地,还包括:当所述多个数据库的数量发生变化时,重新设置变化后的多个数据库的自增字段步进值和变化后的每个数据库的自增字段起始值,其中,所述自增字段步进值大于或等于变化后的多个数据库的数量,所述变化后的每个数据库的自增字段起始值等于所述变化后的每个数据库的自增字段最大值加预设值。在该技术方案中,当多个数据库的数量发生变化时,重新设置自增字段步进值和自增字段起始值,从而保证了每个数据库的自增字段的唯一性。在上述任一技术方案中,优选地,所述获取多个数据库中的每个数据库中的除同步数据之外的更新数据的步骤,具体包括:获取所述每个数据库中的所有更新数据的标记信息;根据所述每个数据库中的所有更新数据的标记信息,确定所述每个数据库中的所述更新数据。在该技术方案中,对每个数据库中的所有更新数据进行标记,以根据该标记来将每个数据库中的所有更新数据中的同步数据过滤掉,从而保证了过滤后的数据即为除同步数据之外的更新数据,进一步地保证了多个数据库之间进行数据同步的稳定性和可靠性。在上述任一技术方案中,优选地,还包括:采用分布式缓存的方式存储所述多个数据库中的所述更新数据;和/或采用分布式缓存的方式存储所述多个数据库的所述目标同步数据。在该技术方案中,由于获取到多个数据库中的更新数据比较庞大,存储、数据合并运算时需要大量的内存空间,本地缓存可能不够用,而分布式缓存具有较快的读写速度和可扩展等优点。因此,采用分布式缓存的方式存储更新数据和/或目标同步数据,从而保证了进行数据同步时数据读写的速度,进而提高了数据同步的效率。本专利技术的第二方面提出了一种数据同步装置,包括:获取单元,用于获取多个数据库中的每个数据库中的除同步数据之外的更新数据;同步单元,用于根据所述多个数据库中的所述更新数据,对所述多个数据库进行数据同步,其中,所述同步单元具体用于,在对所述多个数据库中的任一数据库进行数据同步时,将所述多个数据库中的其他数据库中的所述更新数据进行合并作为目标同步数据,将所述目标同步数据发送至所述任一数据库对应的客户端,以供所述客户端根据所述目标同步数据对所述任一数据库进行数据同步。在该技术方案中,由于每个数据库有数据更新时,更新的数据可能包含有多个数据库之间同步的数据,若根据更新的同步数据再进行数据同步,这样就造成了数据同步的死循环,因此,仅获取每个数据库中的除同步数据之外的更新数据,从而可以避免造成数据同步的死循环。将多个数据库的更新数据进行合并,不仅更容易部署实施,还最大程度地减少影响数据库的其他业务,从而稳定、高效地实现多个数据库之间的数据同步。另外,由于上述方案并不是由客户端执行,从而减少了客户端的处理数据的压力,有利于客户端对应的数据库正常业务的执行。在上述技术方案中,优选地,所述获取单元包括:第一获取子单元,用于获取所述每个数据库对应的同步数据的自增字段的列表;第一确定子单元,用于根据所述每个数据库对应的所述列表,确定所述每个数据库中的所述更新数据。在该技术方案中,将每个数据库的同步数据的自增字段存储到列表中。当对任一数据库进行数据同步时,根据该列表将任一数据库中的所有更新数据中的同步数据过滤掉,过滤后的数据即为任一数据库中的除同步数据之外的更新数据,进一步地保证了多个数据库之间进行数据同步的稳定性和可靠性。在上述任一技术方案中,优选地,还包括:设置单元,用于当所述多个数据库的数量发生变化时,重新设置变化后的多个数据库的自增字段步进值和变化后的每个数据库的自增字段起始值,其中,所述自增字段步进值大于或等于变化后的多个数据库的数量,所述变化后的每个数据库的自增字段起始值等于所述变化后的每个数据库的自增字段最大值加预设值。在该技术方案中,当多个数据库的数量发生变化时,重新设置自增字段步进值和自增字段起始值,从而保证了每个数据库的自增字段的唯一性。在上述任一技术方案中,优选地,所述获取单元包括:第二获取子单元,用于获取所述每个数据库中的所有更新数据的标记信息;第二确定子单元,用于根据所述每个数据库中的所有更新数据的标记信息,确定所述每个数据库中的所述更新数据。在该技术方案中,对每个数据库中的所有更新数据进行标记,以根据该标记来将每个数据库中的所有更新数据中的同步数据过滤掉,从而保证了过滤后的数据即为除同步数据之外的更新数据,进一步地保证了多个数据库之间进行数据同步的稳定性和可靠性。在上述任一技术方案中,优选地,还包括:存储单元,用于采用分布式缓存的方式存储所述多个数据库中的所述更新数据;和/或采用分布式缓存的方式存储所述多个数据库的所述目标同步数据。在该技术方案中,由于获取到多个数据库中的更新数据比较庞大,存储、数据合并运算时需要大量的内存空间,本地缓存可能不够用,而分布式缓存具有较快的读写速度和可扩展等优点。因此,采用分布式缓存的本文档来自技高网...

【技术保护点】
一种数据同步方法,其特征在于,包括:获取多个数据库中的每个数据库中的除同步数据之外的更新数据;根据所述多个数据库中的所述更新数据,对所述多个数据库进行数据同步,其中,在对所述多个数据库中的任一数据库进行数据同步时,将所述多个数据库中的其他数据库中的所述更新数据进行合并作为目标同步数据,将所述目标同步数据发送至所述任一数据库对应的客户端,以供所述客户端根据所述目标同步数据对所述任一数据库进行数据同步。

【技术特征摘要】
1.一种数据同步方法,其特征在于,包括:获取多个数据库中的每个数据库中的除同步数据之外的更新数据;根据所述多个数据库中的所述更新数据,对所述多个数据库进行数据同步,其中,在对所述多个数据库中的任一数据库进行数据同步时,将所述多个数据库中的其他数据库中的所述更新数据进行合并作为目标同步数据,将所述目标同步数据发送至所述任一数据库对应的客户端,以供所述客户端根据所述目标同步数据对所述任一数据库进行数据同步。2.根据权利要求1所述的数据同步方法,其特征在于,所述获取多个数据库中的每个数据库中的除同步数据之外的更新数据的步骤,具体包括:获取所述每个数据库对应的同步数据的自增字段的列表;根据所述每个数据库对应的所述列表,确定所述每个数据库中的所述更新数据。3.根据权利要求2所述的数据同步方法,其特征在于,还包括:当所述多个数据库的数量发生变化时,重新设置变化后的多个数据库的自增字段步进值和变化后的每个数据库的自增字段起始值,其中,所述自增字段步进值大于或等于变化后的多个数据库的数量,所述变化后的每个数据库的自增字段起始值等于所述变化后的每个数据库的自增字段最大值加预设值。4.根据权利要求1所述的数据同步方法,其特征在于,所述获取多个数据库中的每个数据库中的除同步数据之外的更新数据的步骤,具体包括:获取所述每个数据库中的所有更新数据的标记信息;根据所述每个数据库中的所有更新数据的标记信息,确定所述每个数据库中的所述更新数据。5.根据权利要求1至4中任一项所述的数据同步方法,其特征在于,还包括:采用分布式缓存的方式存储所述多个数据库中的所述更新数据;和/或采用分布式缓存的方式存储所述多个数据库的所述目标同步数据。6.一种数据同步装置,其特征在于,包括:获取单元,用于获取多...

【专利技术属性】
技术研发人员:陈德刚
申请(专利权)人:深圳中兴网信科技有限公司
类型:发明
国别省市:广东;44

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

1