CN102098342B - 一种基于事务级的数据同步方法、装置及系统 - Google Patents
一种基于事务级的数据同步方法、装置及系统 Download PDFInfo
- Publication number
- CN102098342B CN102098342B CN 201110033872 CN201110033872A CN102098342B CN 102098342 B CN102098342 B CN 102098342B CN 201110033872 CN201110033872 CN 201110033872 CN 201110033872 A CN201110033872 A CN 201110033872A CN 102098342 B CN102098342 B CN 102098342B
- Authority
- CN
- China
- Prior art keywords
- data
- synchronous side
- transactional version
- synchronization request
- affairs
- 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.)
- Expired - Fee Related
Links
Images
Abstract
本发明实施例公开了一种基于事务级的数据同步方法、装置及系统,其中,该方法包括:当数据源产生事务变更时,为该事务变更产生唯一有序的事务版本标识;记录由该事务变更而产生变化的数据与所述事务版本标识之间的对应关系;当达到需要进行数据同步的条件时,根据从同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息,以便所述同步方根据所述增量数据变化信息进行数据同步。通过本发明实施例,能够使得同步方在本地的更新过程中保持同步的数据事务完整性,换言之,即在数据源中同一事务中修改的数据,要么全部同步到远端的同步方成功,要么就完全不同步到远端的同步方,从而保证同步方的数据始终是事务完整的,不会出现中间状态。
Description
技术领域
本发明涉及数据同步技术领域,特别是涉及一种基于事务级的数据同步方法、装置及系统。
背景技术
随着业务容量的增大,越来越多的应用系统采用分布式设计,以利用多台计算机的计算能力。在很多分布式系统中,都涉及到多个节点之间的数据同步,因此,数据同步方案是分布式系统设计中最重要课题之一。
例如,在电信管理系统中,网络拓扑结构这样的关键数据由拓扑管理子系统维护,并需要在多个子系统中缓存副本,这就涉及到数据的同步。与此同时,在配置管理子系统(Conf.Manager)中的自动配置功能,会依赖拓扑结构的变化做出自动化的配置调整,因此,如果得到中间状态的不完整数据,会导致该配置管理子系统产生错误的调整动作。例如,在图1中,拓扑管理子系统(Topo Manager)中,三节点的环状的拓扑结构增加一个新节点变为四节点环,这涉及到一系列数据的变化(新增节点数据一条、连接数据两条,删除连接数据一条),这些数据变化必须能够不丢失的(即使网络不稳定或任何一个子系统短暂宕机)、同时更新到配置管理子系统中,否则会影响自动配置的正确性。
现有技术的多数分布式设计中,采用的是基于变更通知的同步。数据源每产生一条数据变化,就会产生一条通知,通过该通知将这种变化通知给关心该数据的结点。
这种数据同步方案的可靠性严重依赖于网络通信的可靠性和各节点自身的生存能力,而在一般的分布式环境下,这两点都很难以较小的代价达成。此外,即使通信过程是可靠的,但是这种同步方案也会导致同步方在某一时刻出现事务不完整的情况。
仍以图1所示为例,假设需要同步的数据中包含某种拓扑结构,而系统对这种拓扑结构有明确的要求:必须是封闭的环状结构。在某次变更中,数据源中的拓扑结构从三节点环变为四节点环。拓扑结构由节点数据和连接数据构成,这种变更从数据变化的角度来表达,就是新产生了两条连接数据和一条节点数据,同时删除了原来的一条连接数据。各条数据的产生顺序是:删除连接AC、新增节点D、新增连接AD、新增连接CD。对于数据源而言,每产生一条数据就会产生一条通知,以通知同步方执行相应的操作。显然,由于同步方依次执行各条操作,因此,会出现一些中间状态,在这些中间状态下,同步方的数据是不完整的,可能会造成业务中断等现象。另外,在一些极端的情况下,如果由于网络延时等问题,造成先产生的数据后达到同步方,则可能会导致同步方无法处理,而将数据丢弃,并最终造成同步失败。
发明内容
本发明实施例提供一种基于事务级的数据同步方法、装置及系统,能够保证同步过程的事务完整性,以实现更可靠的数据同步。
一方面,本发明实施例提供一种基于事务级的数据同步方法,包括:
当数据源产生事务变更时,为该事务变更产生唯一有序的事务版本标识;
记录由该事务变更而产生变化的数据与所述事务版本标识之间的对应关系;
当达到需要进行数据同步的条件时,根据从同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息,以便所述同步方根据所述增量数据变化信息进行数据同步。
另一方面,本发明实施例提供一种基于事务级的数据同步装置,包括:
标识生成单元,用于当数据源产生事务变更时,为该事务变更产生唯一有序的事务版本标识;
记录单元,用于记录由该事务变更而产生变化的数据与所述事务版本标识之间的对应关系;
同步单元,用于当达到需要进行数据同步的条件时,根据从同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息,以便所述同步方根据所述增量数据变化信息进行数据同步。
再一方面,本发明实施例提供一种基于事务级的数据同步系统,包括数据源及至少一个同步方,其中,
所述数据源用于当产生事务变更时,为该事务变更产生唯一有序的事务版本标识,用于记录由该事务变更而产生变化的数据与所述事务版本标识之间的对应关系;当达到需要进行数据同步的条件时,根据从所述同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息;
所述同步方用于向所述数据源发送数据同步请求,所述数据同步请求中携带有同步方当前的事务版本标识,根据所述数据源返回的所述增量数据变化信息进行数据同步。
本发明实施例具有以下技术效果:
本发明实施例通过在数据源产生事务变更时,为该事务变更产生唯一有序的事务版本标识,并记录由该事务变更而产生变化的数据与所述事务版本标识之间的对应关系,这样,当达到需要进行数据同步的条件时,就可以根据从同步方发送的同步请求中获取的同步方当前的事务版本标识,与数据源的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息,以便所述同步方根据所述增量数据变化信息进行数据同步。可见,本发明实施例中的数据同步是基于事务进行的,由于同步是基于事务的,故针对同一事务变更产生的数据修改信息,要么全都被同步到同步方,要么都不生效,不会导致同步方出现瞬间的事务不完整,具体的,可以同时被筛选出来返回给同步方,这意味着数据源中一次事务变更涉及的所有数据,能同时到达同步方,因此,同步方可以在本地的更新过程中保持这些数据的事务完整性,即保证了数据的增量变化能够事务完整的从数据源同步到同步方。此外,由于能够通过事务版本号实现增量同步,因此,即使由于通信失败或各种其他原因导致某一次数据同步失败,下一次增量同步时又会自动完全恢复,不会出现因为网络或节点不稳定导致的丢失数据的情况,从而提高整体的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是一种环状拓扑结构示意图;
图2是本发明实施例提供的基于事务级的数据同步方法的流程示意图;
图3是本发明实施例中一种应用场景的示意图;
图4是本发明实施例中另一种应用场景的示意图;
图5是本发明实施例中再一种应用场景的示意图;
图6是本发明实施例提供的基于事务级的数据同步装置的结构示意图;
图7是本发明实施例提供的基于事务级的数据同步系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
参见图2,本发明实施例提供的基于事务级的数据同步方法包括以下步骤:
S201:当数据源产生事务变更时,为该事务变更产生唯一有序的事务版本标识;
数据源每产生一次事务变更,就会相应生成一个事务版本标识,每个事务版本标识具有全局唯一性,即能够唯一标识一次事务变更;并且,各个事务变更标识之间是有序的,以体现出各次事务变更之间的时间先后顺序。
S202:记录由该事务变更而产生变化的数据与所述事务版本标识之间的对应关系;
一次事务变更可能产生多条数据变化,在本发明实施例中,需要将这些产生变化的数据与针对该事务变更生成的事务版本标识之间对应起来,并记录这种对应关系。也即,在数据源端,同一次事务变更事件产生的各条数据变化会具有相同的事务版本标识。
具体实现时,由于数据源中通常采用数据表的方式组织各种数据,因此,为了便于对产生变化的数据进行标识,可以采用如下方式实现:在数据源的各数据表中增加新的列,当由事务变更引起所述数据表的变化时,跟踪记录每一行数据创建或修改时对应的事务版本标识;如果会产生删除数据的变化,则还需要为数据源的各数据表分别创建对应的删除跟踪表,当由事务变更引起对所述数据表的数据删除时,跟踪记录删除的数据,以及删除数据时对应的事务版本标识。
具体的,可以在每一个将要被同步的数据表上增加一列(假定为REV),作为跟踪每一行数据创建或修改时的事务版本标识,同时为每一张数据表对应建立一张删除跟踪表,删除跟踪表的主键与对应的数据表相同,此外就只有一列(假定为REV),用于跟踪数据被删除时的事务版本标识。
这样,当产生一次变更事务时,首先申请一个新的事务版本标识,该事务版本标识具有唯一且有序性,具体实现时,可以采用数字类型的版本号自增的策略实现,例如,在上一事务版本标识的基础上加一,这样可以根据事务版本标识的大小来比较出各条数据产生的早晚关系。当然,还可以采用其他策略来实现,例如,可以采用时间戳策略,将发生变更事务的时间作为事务版本标识,这样,也可以使得事务版本标识具有唯一且有序性,并且可以直接根据时间戳比较出各条数据产生的早晚关系。
在一次变更事务产生的各条数据变化中,如果有新增数据的操作,则需要将对应的数据表中新增的数据条目的REV字段填为最新的事务版本标识;如有对已有数据的修改操作,则同时将修改涉及的数据条目的REV字段更新为最新的事务版本标识;如果有删除某条数据的操作,则需要在该条数据所在数据表对应的删除跟踪表里插入一行数据,在该删除跟踪表中,主键与所删除记录相同,REV字段填为最新的事务版本标识。
例如,对于某种具有环状的拓扑结构而言,数据源会用两个数据表来描述该拓扑结构:节点表和连接表。如图1所示的环状拓扑结构,该环状拓扑结构中具有三个节点,分别为节点A、B、C,则在初始状态下,事务版本标识为1,因此,针对该环状拓扑结构的节点表如表1所示,连接表如表2所示。
表1
表2
在某变更事务中,将该环状拓扑结构的节点数目由原来的三个变为四个,假设增加的节点为节点D。则针对此次变更事务,将产生以下四个变更动作:删除连接AC、增加节点D、增加连接AD、增加连接CD。这种变更动作从数据变化的角度来表达,就是新产生了两条连接数据和一条节点数据,同时删除了原来的一条连接数据。这样,针对该变更事务,利用前述方法,应首先产生一事务版本标识,由于当前最新的事务版本标识为1,因此,针对此次变更事务产生的事务版本标识可以为2。对应的数据源中的节点表、连接表及删除跟踪表分别如表3、表4、表5所示。
表3
表4
表5
总之,在本发明实施例中,当发生一次变更事务时,并不是将每次产生的数据变更动作通知给同步方,并由同步方根据具体的通知执行相应的变更动作。而是,在产生变更事务时,将此次变更事务产生的各条数据变化信息(包括发生变化的数据,以及变化的类型:增加、删除或修改等)记录在数据源中,并且记录各条数据与变更事务之间的对应关系,也即,通过这种对应关系可以得知,每次变更事务中对应产生了哪些数据变化。
S203:当达到需要进行数据同步的条件时,根据从同步方发送的同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息,以便所述同步方根据所述增量数据变化信息进行数据同步。
如前文所述,数据源并不是主动将变更事务产生的数据变更通知主动推送给同步方,在本发明实施例中,采用的是同步方拉取的方式。所谓拉取方式是指,如图3所示,由同步方发送数据同步的请求,数据源在接收到同步方的数据同步请求之后,将根据变更事务与各条数据之间的对应关系,向同步方返回响应消息,可以通过该响应消息向同步方返回增量数据变化信息。其中,同步方在发送数据同步请求时,需要带上该同步方当前的事务版本标识,所谓增量数据变化信息,是指从同步方的事务版本到数据源的事务版本之间,发生变化的数据。换言之,增量数据变化信息是指与该同步方上次同步之后相比,新增、删除或修改的数据集合。
对于数据源而言,当收到某同步方发送的数据同步请求后,可以通过将同步方传入的事务版本标识,与本地保存的数据表各行中以及删除跟踪表里的REV字段进行比较来获得增量数据变化信息:例如,凡是事务版本标识晚于同步方输入的事务版本标识的即为增量数据变化信息。这种方法在关系型数据库上,可以简单地通过形如SELECT...FROM...WHERE REV>$LAST_REV的SQL语句来计算。
例如,在前述例子中,数据源中的数据状态如表3、4、5所示,某同步方发送了数据同步请求,该数据同步请求中携带的事务版本标识是1,也即,该同步方当前的事务版本信息是1。数据源在接收到该数据同步请求之后,就可以根据该同步方当前的事务版本标识,以及数据源中数据对应的事务版本标识,进行差量计算,得到需要向所述同步方返回增量数据变化信息。具体的,由于数据源的数据表中存在的最新的事务版本标识为2,因此,需要向该同步方返回增量数据变化信息时,就可以将事务版本标识为2的各条数据返回给同步方。
需要说明的是,在本发明实施例中,向同步方发送的是数据变更的结果,而不是数据变更的动作。因此,同步方不需要按数据变化的发生顺序去执行相应的动作,而是直接利用数据变更后的结果更新相应数据表中的数据即可。例如,在上述例子中,向同步方返回的内容是:在节点表中增加ID为D的节点,;在连接表中删除源节点为C、宿节点为A的连接,并添加两条记录,这两条记录分别是源节点为C、宿节点为D的连接,以及源节点为D、宿节点为A的连接;同时,还需要将当前最新的事务版本标识2返回给该同步方,这样该同步方下次再发起数据同步请求时,携带的事务版本标识将为2。
在实际应用中,由于数据同步请求是由同步方发起的,因此,可能存在同步方当前已经是最新的事务版本的情况,此时,就不需要再向该同步方返回同步数据。在实际应用中,为了减少在没有数据变更情况下的计算量,还可以在数据源维护一个全局的事务版本标识,通过该全局性的事务版本标识跟踪记录最新的事务版本标识。在关系型数据中,可以通过一个只有一行一列的数据表来记录该全局性的事务版本标识。当需要进行数据同步时,可以首先将从同步方发送的同步请求中获取的同步方当前的事务版本标识,与全局性的事务版本标识进行比较,如果存在差异,再到具体的数据表中获取增量数据变化信息,并向同步方发送。否则,就直接向同步方返回空的结果。显然,这种方式可以降低无数据更新时的处理开销。
当然,还可能存在两次数据同步之间已经进行了多次变更事务的情况。但是,利用本发明实施例提供的方法,无论两次同步之间变更了多少次,都只会将最后的修改结果返回给同步方,而不是把每一次的修改过程都返回。这样,可以符合通信流量最小的原则。例如,在前述例子的基础上,又针对变更后的环状拓扑结构进行了一次变更事务,将该拓扑结构的节点数目由四个变为五个,新增的节点为节点E,新生成的事务版本标识同样采用自增的方式,变为3。则此时,对应的各个数据表中的内容如表6、7、8所示。
表6
表7
表8
此时,如果某同步方发来了数据同步请求,并且该请求中携带的事务版本标识是1,则相当于对于该同步方而言,在两次同步之间,数据源已经发生了两次变更事务。此时,数据源将同步方的事务版本标识1与数据源中最新的事务版本标识进行差量计算,得到的增量数据变化信息。因此最终向同步方返回的内容是:在节点表中增加ID为D、E的节点;在连接表中删除源节点为C、宿节点为A的连接,并添加三条记录,这三条记录分别是源节点为C、宿节点为D的连接,源节点为D、宿节点为E的连接,以及,源节点为E、宿节点为A的连接。同时,将当前最新的事务版本标识3返回给该同步方,这样该同步方下次再发起数据同步请求时,携带的事务版本标识将为3。
总之,通过以上所述可以看出,在本发明实施例中,由于将同一次变更事务所修改的数据标记为同一事务版本标识,因此,两次同步之间发生变化的数据总是会同时被筛选出来返回给同步方。这就意味着,数据源中的变更事务所涉及的所有发生变化的数据,总是可以同时到达同步方,而同步方可以在本地的更新活动中保持这些数据的完整性。
此外,采用本发明实施例提供的方法,可以使得数据同步过程中的数据交互以及接口中承载的内容完全是无状态,且完全幂等的。也即,数据的同步不依赖于系统的运行状态,即使在同步的过程中发生通信失败、宕机等情况,使得数据同步失败,也可以通过重新发起数据同步请求的方式,完成此次数据同步。并且,无论交互中存在多少次失败的通信,同步方都可以再一次发起数据同步请求。
如前文所述,在本发明实施例中,需要在达到需要进行数据同步的条件时,向同步方进行数据同步的操作。在实际应用中,可以根据实际情况,设置不同的进行数据同步的条件。下面对此进行详细地介绍。
具体实施方式一
在该具体实施方式一中,数据源直接将接收到同步方发送的数据同步请求作为需要进行数据同步的条件,也即只要接收到同步方的数据同步请求,则执行根据从同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向同步方返回增量数据变化信息的步骤。这种具体的实施方式可以在多种场景下得到应用。
例如,在一些应用场景中,同步方只有在需要向外提供数据服务时,才需要向数据源请求进行数据同步。也即,如果同步方不需要向外提供数据服务,则可以不必保持与数据源的实时同步,只要在向外提供数据之前,将数据更新为数据源(也可以理解为同步源)的最新状态即可。
例如,在图4所示的场景中,桌面服务(Desktop Service)负责处理来自用户侧的请求,为了减轻数据源(Data Source)在大量并发查询下的压力,桌面服务将不会直接对数据源进行查询,转而向多实例的分布式缓存(Distributed Cache)发起查询请求。此时,这些分布式缓存就需要同步数据源的数据。
在这样的情况下,在设置数据同步条件时,就可以采用按需同步的方式。也即,对于分布式缓存而言,同步方只有收到某桌面服务的查询请求之后,才向数据源发起数据同步请求。相应的,对于数据源而言,只要接收到同步方发送的同步请求时,就判定达到了需要进行数据同步的条件,并按照前述方法向同步方进行增量数据变化信息的同步即可。
当然,在上述场景下,桌面服务一方的查询请求可能是很频繁的,如果分布式缓存每接收到一次查询请求,就发起一次数据同步请求,数据源的压力会非常大,并且数据源可能也不会以如此高的频率进行变更事务。因此,在实际应用中,还可以为分布式缓存的数据同步请求设置一段冷却时间,在某分布式缓存完成了一次数据同步之后,在这段冷却时间之内,即使接收到查询请求,也暂时不向数据源发起数据同步请求,而是采用上次同步之后的数据返回查询响应;当冷却时间到时后,再向数据源发起数据同步请求,并利用最新获取到的数据返回查询响应。这样可以缓解对数据源的压力。
需要说明的是,在冷却时间内,数据源可能产生了变更事务。但是,即使这样,也可以保证系统的正常运行,只是对于查询者而言,可能会在延迟一段时间之后才查询到最新的数据。
在另外一些应用场景中,同步方可能需要尽量与数据源中的数据保持实时的同步,即需要尽量即时获得最新的数据变更。例如,在业务配置激活场景中,配置管理子系统将业务变化写入配置数据库,各个网元从配置数据库中获得各自需要配置变化,应用生效。针对网元来说,一系列配置变更如果同时生效可以使得由配置变更动作产生的业务损伤最小甚至完全无损伤。如图5所示,配置管理子系统(Conf.Manager)对配置数据库中的业务配置作出了调整:为某条业务流增加备用业务路径。这在某个网元的数据变化上体现为:删除一条单向业务流数据C->A,增加一个选收业务流数据(B/C->A)。这两个数据变化必须能够不丢失的(即使管理通道不稳定或网元节点临时性的宕机)、同时的到达相应的网元生效。否则就会产生业务的短暂中断(先中断后恢复)。应当理解的是,这种示例的应用场景下,本发明实施例的数据源具体为配置数据库,本发明实施例的多个同步方具体为图5中的各网元。
但是如前文所述,在本发明实施例中,需要同步方以拉取的方式来发起数据同步请求,而不是数据源直接推送。在这个前提下,如果又要满足同步方即时获得最新的数据,就需要进行了相应的处理。
具体的,可以在数据源发生一次事务变更后,由数据源向同步方发送一个额外的变更通知,这样,同步方在接收到该变更通知之后,相应的,就可以发送数据同步请求;相应的,当数据源接收到同步方发送的同步请求时,就相当于达到了需要进行数据同步的条件,并执行根据从同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向同步方返回增量数据变化信息的操作即可。
具体实施方式二
在前述另一些应用场景下,由于同步方可能需要尽量与数据源中的数据保持实时的同步,在这种情况下,除了前述数据源发送变更通知,并将接收到同步方的同步请求为达到需要进行数据同步的条件以外,还可以通过其他方式实现。例如,在该具体实施方式二中,可以采用长拉取的方式,实现即时的数据同步。
具体的,同步方在完成一次数据同步后就可以发送下一次数据同步请求;相应的,数据源在接收到该数据同步请求之后,可以先挂起该数据同步请求,即暂时不响应该数据同步请求;当数据源发生下一次变更事务之后,再触发执行根据从同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向同步方返回增量数据变化信息的操作。也即,同步方提前发起数据同步请求,当数据源发生变更事务时,再响应该数据同步请求。
当然,还可以为同步请求设置一个阈值时间(该阈值时间可以由通信通道的容忍程度而定,比如在HTTP传输中,一般应当小于30S),如果数据源在挂起同步请求后的阈值时间段内没有发生事务变更,则向同步方返回空数据;对于同步方而言,如果接收到了一条空数据,相当于也完成了此次数据同步,只是数据没有发生变化。紧接着,再发起下一次数据同步请求即可。
为便于理解,下面对上述长拉取方式的流程进行详细地介绍。
步骤1:在系统刚启动时,同步方就主动向数据源发起数据同步请求;
步骤2:数据源在接收到同步方的数据同步请求之后并不响应,而是挂起该请求;
步骤3:如果在阈值时间到达之前,数据源中发生了变更事务,则数据源响应之前挂起的数据同步请求,按照前文所述方法执行向同步方返回增量数据变化信息的操作,同步方利用接收到的增量数据变化信息执行数据更新操作之后,即可完成此次数据同步;否则,如果在阈值时间到达后,数据源仍未发生变更事务,则数据源向同步方返回空结果,以使同步方知悉没有数据发生变化,不用执行数据更新操作,即可完成此次数据同步;
需要说明的是,在执行向同步方返回增量数据变化信息的操作时,关于同步方当前的事务版本标识,可以是在接收到数据同步请求时从该请求中提取的,也可以是在发生变更事务时,再从该请求中提取。
步骤4:同步方完成一次数据同步之后,无论是否进行了数据更新操作,都立即发起下一次数据同步请求。
然后重复执行步骤2到步骤4。
通过这种长拉取的实现方式,可以在不需要额外的通信通道的情况下,实现向同步方进行即时的数据同步。这在某些不存在可靠通信机制的通信信道的情况下尤为有效。
综上所述,本发明实施例的基于事务级的数据同步方法,通过在数据源产生事务变更时,为该事务变更产生唯一有序的事务版本标识,并记录由该事务变更而产生变化的数据与所述事务版本标识之间的对应关系,这样,当达到需要进行数据同步的条件时,就可以根据从同步方发送的同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息,以便所述同步方根据所述增量数据变化信息进行数据同步。可见,本发明实施例中的数据同步是基于事务进行的,由于同步是基于事务的,故针对同一事务变更产生的数据修改信息,要么全都被同步到同步方,要么都不生效,不会导致同步方出现瞬间的事务不完整,具体的,可以同时被筛选出来返回给同步方,这意味着数据源中一次事务变更涉及的所有数据,能同时到达同步方,因此,同步方可以在本地的更新过程中保持这些数据的事务完整性,即保证了数据的增量变化能够事务完整的从数据源同步到同步方。
此外,由于能够通过事务版本号实现增量同步,因此,即使由于通信失败或各种其他原因导致某一次数据同步失败,下一次增量同步时又会自动完全恢复,不会出现因为网络或节点不稳定导致的丢失数据的情况,从而提高整体的可靠性。
在其他实施例中,可以通过全局性的事务版本标识跟踪记录最新的事务版本标识;这样,当达到需要进行数据同步的条件时,可以首先将从同步方发送的同步请求中获取的同步方当前的事务版本标识,与所述全局性的事务版本标识进行比较,如果存在差异,则执行所述向所述同步方返回增量数据变化信息的步骤,否则可以不必执行,因此,可以节约传输资源。
在进行数据同步时,可以直接将接收到同步方的数据同步请求,作为需要进行数据同步的条件,在这种情况下,同步方可以在需要进行数据同步时,再向数据源发送数据同步请求,可以减少执行同步过程的次数,节省开销。
在需要进行实时同步的情况下,可以采用“长拉取”的方式来实现,这样,可以避免同步方对通知消息的依赖。
本发明实施例还提供了一种基于事务级的数据同步装置,参见图6,该装置包括:
标识生成单元601,用于当数据源产生事务变更时,为该事务变更产生唯一有序的事务版本标识;
记录单元602,用于记录由该事务变更而产生变化的数据与所述事务版本标识之间的对应关系;
同步单元603,用于当达到需要进行数据同步的条件时,根据从同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息,以便所述同步方根据所述增量数据变化信息进行数据同步。
其中,记录单元602可以包括:
第一记录子单元,用于在数据源的各数据表中增加新的列,当由事务变更引起所述数据表的变化时,跟踪记录每一行数据创建或修改时对应的事务版本标识。
如果发生数据删除的情况,则记录单元602还可以包括:
第二记录子单元,用于为数据源的各数据表分别创建对应的删除跟踪表,当由事务变更引起对所述数据表的数据删除时,跟踪记录删除的数据,以及删除数据时对应的事务版本标识。
具体实现时,标识生成单元601具体可以采用数字类型的自增策略,为所述事务变更产生唯一有序的事务版本标识。
为了在两次同步之间没有产生变更事务的情况下,减少数据源的计算量,该装置还可以包括:
全局跟踪单元,用于通过全局性的事务版本标识跟踪记录最新的事务版本标识;
比较单元,用于当达到需要进行数据同步的条件时,将从同步方发送的同步请求中获取的同步方当前的事务版本标识,与全局性的事务版本标识进行比较,如果存在差异,则触发所述同步单元执行所述根据从同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息的功能。
在实际应用中,可以将接收到同步方的数据同步请求,作为需要进行数据同步的条件,相应的,同步单元603可以包括:
第一同步子单元,用于当接收到同步方发送的同步请求时,根据从所述同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息。
具体实现时,在一种应用场景下,同步方可以是在接收到桌面服务的查询请求时,发送所述同步请求。
或者,在另一种应用场景下,如果需要进行实时同步,则该装置中还可以包括:
通知单元,用于当数据源发生一次事务变更后,向所述同步方发送变更通知,以便通知所述同步方在接收到所述变更通知时,发送所述同步请求。
在同样采用实时同步的情况,数据源也可以将发生了事务变更作为需要进行数据同步的条件。在这种情况下,同步方可以在完成一次数据同步后,就向数据源发起数据同步请求。此时,该装置还可以包括:
挂起单元,用于接收到所述同步方在完成一次数据同步后发送的数据同步请求后,挂起该同步请求;
相应的,同步单元603也可以包括:
第二同步子单元,用于当所述数据源发生下一次事务变更后,根据从所述同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息。
这相当于是一种“长拉取”的方式,在这种方式下,可以避免对同步方对通知消息的依赖,并且可以降低通信开销。
在上述长拉取的情况下,该装置还可以包括:
空数据返回单元,用于如果挂起同步请求后的阈值时间段内没有发生事务变更,则向所述同步方返回空数据。
在一种具体实现方式下,同步单元603具体可以用于,当达到需要进行数据同步的条件时,通过将同步方当前的事务版本标识,与数据源中数据对应的事务版本标识进行比较,将数据源中的数据中事务版本标识晚于同步方当前的事务版本标识的数据,确定为增量数据变化信息,并向所述同步方返回增量数据变化信息。
综上所述,本发明实施例的基于事务级的数据同步装置,通过在数据源产生事务变更时,为该事务变更产生唯一有序的事务版本标识,并记录由该事务变更而产生变化的数据与所述事务版本标识之间的对应关系,这样,当达到需要进行数据同步的条件时,就可以根据从同步方发送的同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息,以便所述同步方根据所述增量数据变化信息进行数据同步。可见,本发明实施例中的数据同步是基于事务进行的,由于同步是基于事务的,故针对同一事务变更产生的数据修改信息,要么全都被同步到同步方,要么都不生效,不会导致同步方出现瞬间的事务不完整,具体的,可以同时被筛选出来返回给同步方,这意味着数据源中一次事务变更涉及的所有数据,能同时到达同步方,因此,同步方可以在本地的更新过程中保持这些数据的事务完整性,即保证了数据的增量变化能够事务完整的从数据源同步到同步方。
此外,由于能够通过事务版本号实现增量同步,因此,即使由于通信失败或各种其他原因导致某一次数据同步失败,下一次增量同步时又会自动完全恢复,不会出现因为网络或节点不稳定导致的丢失数据的情况,从而提高整体的可靠性。
在其他实施例中,可以通过全局性的事务版本标识跟踪记录最新的事务版本标识;这样,当达到需要进行数据同步的条件时,可以首先将从同步方发送的同步请求中获取的同步方当前的事务版本标识,与所述全局性的事务版本标识进行比较,如果存在差异,则执行所述向所述同步方返回增量数据变化信息的步骤,否则可以不必执行,因此,可以节约传输资源。
在进行数据同步时,可以直接将接收到同步方的数据同步请求,作为需要进行数据同步的条件,在这种情况下,同步方可以在需要进行数据同步时,再向数据源发送数据同步请求,可以减少执行同步过程的次数,节省开销。
在需要进行实时同步的情况下,可以采用“长拉取”的方式来实现,这样,可以避免同步方对通知消息的依赖。
与前述本发明实施例提供的基于事务级的数据同步方法及装置相对应,本发明实施例还提供了一种基于事务级的数据同步系统,参见图7,该系统包括数据源701及至少一个同步方702,其中:
所述数据源701用于当产生事务变更时,为该事务变更产生唯一有序的事务版本标识,记录由该事务变更而产生变化的数据与所述事务版本标识之间的对应关系;当达到需要进行数据同步的条件时,根据从所述同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息;
所述同步方702用于向所述数据源701发送数据同步请求,所述数据同步请求中携带有同步方当前的事务版本标识,根据所述数据源返回的所述增量数据变化信息进行数据同步。
需要说明的是,这里达到需要进行数据同步的条件包括:数据源可以将接收到同步方的数据同步请求,作为需要进行数据同步的条件,或者,数据源也可以将发生了事务变更作为需要进行数据同步的条件,等等。
在一种实现方式下,数据源701包括:
标识生成单元7011,用于当数据源产生事务变更时,为该事务变更产生唯一有序的事务版本标识;
记录单元7012,用于记录由该事务变更而产生变化的数据与所述事务版本标识之间的对应关系;
同步单元7013,用于当达到需要进行数据同步的条件时,根据从所述同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息;
同步方702包括:
请求发送单元7021,用于向所述数据源发送数据同步请求,所述数据同步请求中携带有同步方当前的事务版本标识;
同步执行单元7022,用于根据所述数据源返回的所述增量数据变化信息进行数据同步。
其中,数据源可以将接收到同步方的数据同步请求,作为需要进行数据同步的条件,此时,同步单元7013可以包括:
第一同步子单元,用于当接收到同步方发送的同步请求时,根据从所述同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息。
具体实现时,在一种应用场景下,同步方702的请求发送单元7021可以包括:
第一发送子单元,用于当接收到桌面服务的查询请求时,向所述数据源发送数据同步请求。
或者,在另一种应用场景下,如果需要进行实时同步,则数据源701中还可以包括:
通知单元,用于当数据源发生一次事务变更后,向同步方702发送变更通知;
相应的,同步方702中的请求发送单元7021可以包括:
第二发送子单元,用于当接收到所述变更通知时,向所述数据源发送数据同步请求。
在同样采用实时同步的情况,数据源也可以将发生了事务变更作为需要进行数据同步的条件。在这种情况下,同步方可以在完成一次数据同步后,就向数据源发起数据同步请求。此时,同步方702的请求发送单元7021可以包括:
第三发送子单元,用于在完成一次数据同步后,向所述数据源发起同步请求;
相应的,数据源701还可以包括:
挂起单元,用于接收到所述同步方在完成一次数据同步后发送的同步请求后,挂起该同步请求;
数据源701中的同步单元7013可以包括:
第二同步子单元,用于所述数据源发生下一次事务变更后,根据从所述同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息。
这相当于是一种“长拉取”的方式,在这种方式下,可以避免对同步方对通知消息的依赖,并且可以降低通信开销。
在上述长拉取的情况下,数据源701还可以包括:
空数据返回单元,用于如果挂起同步请求后的阈值时间段内没有发生事务变更,则向所述同步方返回空数据。
综上所述,本发明实施例的基于事务级的数据同步系统,通过在数据源产生事务变更时,为该事务变更产生唯一有序的事务版本标识,并记录由该事务变更而产生变化的数据与所述事务版本标识之间的对应关系,这样,当达到需要进行数据同步的条件时,就可以根据从同步方发送的同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息,以便所述同步方根据所述增量数据变化信息进行数据同步。可见,本发明实施例中的数据同步是基于事务进行的,由于同步是基于事务的,故针对同一事务变更产生的数据修改信息,要么全都被同步到同步方,要么都不生效,不会导致同步方出现瞬间的事务不完整,具体的,可以同时被筛选出来返回给同步方,这意味着数据源中一次事务变更涉及的所有数据,能同时到达同步方,因此,同步方可以在本地的更新过程中保持这些数据的事务完整性,即保证了数据的增量变化能够事务完整的从数据源同步到同步方。
此外,由于能够通过事务版本号实现增量同步,因此,即使由于通信失败或各种其他原因导致某一次数据同步失败,下一次增量同步时又会自动完全恢复,不会出现因为网络或节点不稳定导致的丢失数据的情况,从而提高整体的可靠性。
在其他实施例中,可以通过全局性的事务版本标识跟踪记录最新的事务版本标识;这样,当达到需要进行数据同步的条件时,可以首先将从同步方发送的同步请求中获取的同步方当前的事务版本标识,与所述全局性的事务版本标识进行比较,如果存在差异,则执行所述向所述同步方返回增量数据变化信息的步骤,否则可以不必执行,因此,可以节约传输资源。
在进行数据同步时,可以直接将接收到同步方的数据同步请求,作为需要进行数据同步的条件,在这种情况下,同步方可以在需要进行数据同步时,再向数据源发送数据同步请求,可以减少执行同步过程的次数,节省开销。
在需要进行实时同步的情况下,可以采用“长拉取”的方式来实现,这样,可以避免同步方对通知消息的依赖。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下步骤:当数据源产生事务变更时,为该事务变更产生唯一有序的事务版本标识;记录该事务变更产生的数据变化信息与所述事务版本标识之间的对应关系;当达到需要进行数据同步的条件时,根据从同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中数据变化信息对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息,以便所述同步方根据所述增量数据变化信息进行数据同步。所述的存储介质,如:ROM/RAM、磁碟、光盘等。
以上对本发明所提供的一种基于事务级的数据同步方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (19)
1.一种基于事务级的数据同步方法,其特征在于,包括:
当数据源产生事务变更时,为该事务变更产生唯一有序的事务版本标识;
记录由该事务变更而产生变化的数据与所述事务版本标识之间的对应关系;
当接收到同步方发送的同步请求时,根据从同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息,以便所述同步方根据所述增量数据变化信息进行数据同步。
2.根据权利要求1所述的方法,其特征在于,所述记录由该事务变更而产生变化的数据与所述事务版本标识之间的对应关系包括:
在数据源的各数据表中增加新的列,当由事务变更引起所述数据表的变化时,跟踪记录每一行数据创建或修改时对应的事务版本标识。
3.根据权利要求1所述的方法,其特征在于,所述记录由该事务变更而产生变化的数据与所述事务版本标识之间的对应关系包括:
为数据源的各数据表分别创建对应的删除跟踪表,当由事务变更引起对所述数据表的数据删除时,跟踪记录删除的数据,以及删除数据时对应的事务版本标识。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述为所述事务变更产生唯一有序的事务版本标识包括:
采用数字类型的自增策略,为所述事务变更产生唯一有序的事务版本标识。
5.根据权利要求1至3任一项所述的方法,其特征在于,还包括:
通过全局性的事务版本标识跟踪记录最新的事务版本标识;
所述根据从同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息之前还包括:
将从同步方发送的同步请求中获取的同步方当前的事务版本标识,与所述全局性的事务版本标识进行比较,如果存在差异,则触发执行所述根据从同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息的步骤。
6.根据权利要求1所述的方法,其特征在于,所述同步方在接收到桌面服务的查询请求时,发送所述同步请求。
7.根据权利要求1所述的方法,其特征在于,还包括:
当数据源发生一次事务变更后,向所述同步方发送变更通知,以便通知所述同步方在接收到所述变更通知时,发送所述同步请求。
8.根据权利要求1所述的方法,其特征在于,所述同步方在完成一次数据同步后,向所述数据源发起同步请求,所述方法还包括:
接收到所述同步方在完成一次数据同步后发送的同步请求后,挂起该同步请求;
所述当达到需要进行数据同步的条件时,根据从同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据变化信息对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息包括:
当所述数据源产生下一次事务变更时,根据从同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据变化信息对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息。
9.根据权利要求8所述的方法,其特征在于,还包括:
如果挂起同步请求后的阈值时间段内没有发生事务变更,则向所述同步方返回空数据。
10.根据权利要求1所述的方法,其特征在于,所述根据从同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息包括:
通过将同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识进行比较,将数据源中的数据中事务版本标识晚于同步方当前的事务版本标识的数据,确定为增量数据变化信息,并向所述同步方返回所述增量数据变化信息。
11.一种基于事务级的数据同步装置,其特征在于,包括:
标识生成单元,用于当数据源产生事务变更时,为该事务变更产生唯一有序的事务版本标识;
记录单元,用于记录由该事务变更而产生变化的数据与所述事务版本标识之间的对应关系;
同步单元,用于当接收到同步方发送的同步请求时,根据从同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息,以便所述同步方根据所述增量数据变化信息进行数据同步。
12.根据权利要求11所述的装置,其特征在于,所述记录单元包括:
第一记录子单元,用于在数据源的各数据表中增加新的列,当由事务变更引起所述数据表的变化时,跟踪记录每一行数据创建或修改时对应的事务版本标识;和/或,
第二记录子单元,用于为数据源的各数据表分别创建对应的删除跟踪表,当由事务变更引起对所述数据表的数据删除时,跟踪记录删除的数据,以及删除数据时对应的事务版本标识。
13.根据权利要求11或12所述的装置,其特征在于,所述标识生成单元具体用于:采用数字类型的自增策略,为所述事务变更产生唯一有序的事务版本标识。
14.根据权利要求11或12所述的装置,其特征在于,还包括:
全局跟踪单元,用于通过全局性的事务版本标识跟踪记录最新的事务版本标识;
比较单元,用于当达到需要进行数据同步的条件时,将从同步方发送的同步请求中获取的同步方当前的事务版本标识,与所述全局性的事务版本标识进行比较,如果存在差异,则触发所述同步单元执行所述根据从同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息的功能。
15.根据权利要求11所述的装置,其特征在于,还包括:
通知单元,用于当数据源发生一次事务变更后,向所述同步方发送变更通知,以便通知所述同步方在接收到所述变更通知时,发送所述同步请求。
16.根据权利要求11所述的装置,其特征在于,所述同步方在完成一次数据同步后,向所述数据源发起数据同步请求,所述装置还包括:
挂起单元,用于接收到所述同步方在完成一次数据同步后发送的数据同步请求后,挂起该同步请求;
所述同步单元包括:
第二同步子单元,用于当所述数据源发生下一次事务变更后,根据从所述同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息。
17.根据权利要求16所述的装置,其特征在于,还包括:
空数据返回单元,用于如果挂起同步请求后的阈值时间段内没有发生事务变更,则向所述同步方返回空数据。
18.根据权利要求11所述的装置,其特征在于,所述同步单元具体用于,当接收到同步方发送的同步请求时,通过将同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识进行比较,将数据源中的数据中事务版本标识晚于所述同步方当前的事务版本标识的数据,确定为增量数据变化信息,并向所述同步方返回增量数据变化信息。
19.一种基于事务级的数据同步系统,其特征在于,包括数据源及至少一个同步方,其中,
所述数据源用于当产生事务变更时,为该事务变更产生唯一有序的事务版本标识,用于记录由该事务变更而产生变化的数据与所述事务版本标识之间的对应关系;当接收到同步方发送的同步请求时,根据从所述同步方发送的数据同步请求中获取的同步方当前的事务版本标识,与数据源中的数据对应的事务版本标识之间的差异,向所述同步方返回增量数据变化信息;
所述同步方用于向所述数据源发送数据同步请求,所述数据同步请求中携带有同步方当前的事务版本标识,根据所述数据源返回的所述增量数据变化信息进行数据同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110033872 CN102098342B (zh) | 2011-01-31 | 2011-01-31 | 一种基于事务级的数据同步方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110033872 CN102098342B (zh) | 2011-01-31 | 2011-01-31 | 一种基于事务级的数据同步方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102098342A CN102098342A (zh) | 2011-06-15 |
CN102098342B true CN102098342B (zh) | 2013-08-28 |
Family
ID=44131202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110033872 Expired - Fee Related CN102098342B (zh) | 2011-01-31 | 2011-01-31 | 一种基于事务级的数据同步方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102098342B (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289469B (zh) * | 2011-07-26 | 2013-01-30 | 国电南瑞科技股份有限公司 | 一种支持通用数据库基于物理隔离设备同步数据的方法 |
CN103581231B (zh) * | 2012-07-25 | 2019-03-12 | 腾讯科技(北京)有限公司 | Ugc主备数据同步方法及其系统 |
CN103714090B (zh) * | 2012-10-09 | 2018-04-10 | 阿里巴巴集团控股有限公司 | 多索引数据库事务处理方法及数据库 |
CN103002011B (zh) * | 2012-10-29 | 2016-06-29 | 北京奇虎科技有限公司 | 基于服务器的数据更新方法和服务器 |
CN103905397B (zh) * | 2012-12-28 | 2015-05-13 | 腾讯科技(深圳)有限公司 | 数据同步方法和系统 |
CN103678494B (zh) * | 2013-11-15 | 2018-09-11 | 北京奇虎科技有限公司 | 客户端同步服务端数据的方法及装置 |
CN104009979A (zh) * | 2014-05-12 | 2014-08-27 | 刘喆 | 一种传输数据的方法 |
CN105208060B (zh) * | 2014-06-19 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 业务数据同步方法、装置及系统 |
CN105338051B (zh) * | 2014-08-15 | 2018-09-18 | 阿里巴巴集团控股有限公司 | 一种数据同步方法及设备 |
CN106156094B (zh) | 2015-04-01 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 一种数据库的远程数据同步方法和装置 |
CN104881485A (zh) * | 2015-06-04 | 2015-09-02 | 中国银行股份有限公司 | 一种数据同步方法及系统 |
CN105262831B (zh) * | 2015-10-30 | 2019-02-22 | 北京奇艺世纪科技有限公司 | 一种存储系统间同步数据的方法、装置及同步系统 |
CN105786959A (zh) * | 2016-01-11 | 2016-07-20 | 北京京东尚科信息技术有限公司 | 主备数据库的同步方法及装置 |
CN106385382B (zh) * | 2016-09-05 | 2020-06-23 | 福州佳软软件技术有限公司 | 一种数据同步方法、装置和系统 |
CN108243208A (zh) * | 2016-12-23 | 2018-07-03 | 深圳市优朋普乐传媒发展有限公司 | 一种数据同步方法及装置 |
CN106973089B (zh) * | 2017-03-16 | 2020-07-17 | 北京索瑞特医学技术有限公司 | 数据处理方法及装置 |
CN110019510A (zh) * | 2017-09-29 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种进行增量同步的方法及装置 |
CN108122129B (zh) * | 2017-12-01 | 2022-02-22 | 上海子午线新荣科技有限公司 | 一种数据处理方法、装置及电子设备 |
CN108182241B (zh) * | 2017-12-28 | 2021-03-26 | 深圳市博实结科技有限公司 | 一种数据交互的优化方法、装置、服务器及存储介质 |
CN110456738B (zh) * | 2018-05-07 | 2021-08-27 | 华中科技大学 | 监控系统及其监控方法 |
CN109189783B (zh) * | 2018-08-03 | 2023-10-03 | 北京涛思数据科技有限公司 | 一种时序数据库表结构改变处理方法 |
CN109582666A (zh) * | 2018-09-29 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 数据主键生成方法、装置、电子设备及存储介质 |
CN109783580A (zh) * | 2019-01-24 | 2019-05-21 | 北京致远互联软件股份有限公司 | 数据同步方法及装置 |
CN111741038B (zh) * | 2019-03-25 | 2022-02-25 | 华为技术有限公司 | 数据传输方法和数据传输装置 |
CN110046199A (zh) * | 2019-04-24 | 2019-07-23 | 北京阿尔山金融科技有限公司 | 交易数据的同步方法、装置及电子设备 |
CN110347749A (zh) * | 2019-06-27 | 2019-10-18 | 绿漫科技有限公司 | 一种基于crdt的分布式类json数据自动合并的方法及系统 |
CN113347221B (zh) * | 2020-03-02 | 2023-05-12 | 海能达通信股份有限公司 | 一种数据同步方法、通讯站、集群系统和存储装置 |
CN113986909B (zh) * | 2021-12-24 | 2022-04-22 | 畅捷通信息技术股份有限公司 | 一种反向记录同步状态的实时数据同步方法、系统及介质 |
CN116975159B (zh) * | 2023-09-25 | 2024-02-23 | 云筑信息科技(成都)有限公司 | 一种增量数据同步的处理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937536A (zh) * | 2006-10-31 | 2007-03-28 | 华为技术有限公司 | 网管拓扑数据同步刷新的方法及系统 |
CN101582857A (zh) * | 2009-06-30 | 2009-11-18 | 福建星网锐捷网络有限公司 | 一种基于弹性分组环的数据上环转发方法及装置 |
-
2011
- 2011-01-31 CN CN 201110033872 patent/CN102098342B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937536A (zh) * | 2006-10-31 | 2007-03-28 | 华为技术有限公司 | 网管拓扑数据同步刷新的方法及系统 |
CN101582857A (zh) * | 2009-06-30 | 2009-11-18 | 福建星网锐捷网络有限公司 | 一种基于弹性分组环的数据上环转发方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102098342A (zh) | 2011-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102098342B (zh) | 一种基于事务级的数据同步方法、装置及系统 | |
WO2019154394A1 (zh) | 分布式数据库集群系统、数据同步方法及存储介质 | |
CN103473277B (zh) | 文件系统的快照方法和装置 | |
US10565071B2 (en) | Smart data replication recoverer | |
CN102054035B (zh) | 一种基于数据范围的数据库数据同步方法 | |
EP2378718B1 (en) | Method, node and system for controlling version in distributed system | |
CN101808137B (zh) | 数据传输方法、装置和系统 | |
KR101670343B1 (ko) | 피어투피어 데이터 복제를 위한 방법, 장치, 및 시스템 및 마스터 노드 전환을 위한 방법, 장치, 및 시스템 | |
CN103902410B (zh) | 云存储系统的数据备份加速方法 | |
WO2015192661A1 (zh) | 一种分布式存储系统中的数据同步方法、装置及系统 | |
CN102012944B (zh) | 一种提供复制特性的分布式nosql数据库的实现方法 | |
CN103902405B (zh) | 一种准连续性数据复制方法及装置 | |
CN106599104A (zh) | 一种基于redis集群的海量数据关联方法 | |
CN104021200A (zh) | 一种数据库的数据同步方法和装置 | |
CN109145060A (zh) | 数据处理方法及装置 | |
CN105404564A (zh) | 一种数据远程容灾方法及装置 | |
CN105740248A (zh) | 一种数据同步方法、装置及系统 | |
WO2019178772A1 (zh) | 数据库主从区块一致性校验方法、装置和系统 | |
CN103559198A (zh) | 一种数据同步的方法及设备 | |
CN103428288A (zh) | 基于分区状态表和协调节点的副本同步方法 | |
WO2017016196A1 (zh) | 同步数据方法、装置及系统 | |
CN105376307A (zh) | 一种数据中心间的异步备份方法 | |
CN109542683A (zh) | 一种基于周期异步复制的数据传输方法、装置及系统 | |
CN115563221A (zh) | 数据同步方法、存储系统、设备及存储介质 | |
KR101748913B1 (ko) | 분산 저장 환경에서 게이트웨이를 선택하기 위한 클러스터 관리 방법 및 데이터 저장 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130828 Termination date: 20180131 |
|
CF01 | Termination of patent right due to non-payment of annual fee |