发明内容
本发明实施例的目的是提供一种数据传输方法、装置和系统,提高数据同步的效率。
为实现上述目的,本发明实施例提供了一种数据传输方法,包括:
同步模式从装置接收主装置发送的更新数据,并记录与所述更新数据的数据标识;
如果所述同步模式从装置接替所述主装置工作,所述同步模式从装置接收异步模式从装置最新接收的更新数据的数据标识;
所述同步模式从装置根据所述异步模式从装置最新接收的更新数据的数据标识与所述同步模式从装置最新接收的更新数据的数据标识,将所述同步模式从装置已接收而所述异步模式从装置未接收的更新数据发送给所述异步模式从装置。
本发明实施例又提供了一种数据传输方法,包括:
异步模式从装置接收主装置发送的更新数据,并记录与所述更新数据的数据标识;
如果同步模式从装置接替所述主装置工作,所述异步模式从装置向所述同步模式从装置发送所述异步模式从装置最新接收的更新数据的数据标识;
所述异步模式从装置接收所述同步模式从装置发送的更新数据,所述更新数据包括:所述同步模式从装置根据所述异步模式从装置最新接收的更新数据的数据标识与所述同步模式从装置最新接收的更新数据的数据标识,发送的所述同步模式从装置已接收而所述异步模式从装置未接收的更新数据。
本发明实施例还提供了一种数据传输方法,包括:
主装置接收更新数据,记录与所述更新数据的数据标识;
所述主装置向同步模式从装置和异步模式从装置分别发送数据同步消息,所述数据同步消息中包括所述更新数据和所述数据标识;
所述主装置接收所述异步模式从装置发送的所述异步模式从装置的更新确认消息,所述更新确认消息包括:所述异步模式从装置最新接收的更新数据的数据标识。
本发明实施例提供了一种同步模式从装置,包括:
第一处理模块,用于接收主装置发送的更新数据,并记录与所述更新数据的数据标识;
第一接收模块,用于在接替所述主装置工作后,接收异步模式从装置最新接收的更新数据的数据标识;
第一发送模块,用于根据所述异步模式从装置最新接收的更新数据的数据标识与所述第一处理模块最新接收的更新数据的数据标识,将所述第一处理模块已接收而所述异步模式从装置未接收的更新数据发送给所述异步模式从装置。
本发明实施例提供了一种异步模式从装置,包括:
第二处理模块,用于接收主装置发送的更新数据,并记录与所述更新数据的数据标识;
第二发送模块,用于如果同步模式从装置接替所述主装置工作,向所述同步模式从装置发送所述第二处理模块最新接收的更新数据的数据标识;
第二接收模块,用于接收所述同步模式从装置发送的更新数据,所述更新数据包括:所述同步模式从装置根据所述第二发送模块发送的数据标识与所述同步模式从装置最新接收的更新数据的数据标识,发送的所述同步模式从装置已接收而所述第二处理模块未接收的更新数据。
本发明实施例提供了一种主装置,包括:
第三处理模块,用于接收更新数据,记录与所述更新数据的数据标识;
第三发送模块,用于向同步模式从装置和异步模式从装置分别发送数据同步消息,所述数据同步消息中包括所述更新数据和所述数据标识;
第三接收模块,用于接收所述异步模式从装置发送的所述异步模式从装置的更新确认消息,所述更新确认消息包括:所述异步模式从装置最新接收的更新数据的数据标识。
本发明实施例提供了一种数据传输系统,包括上述的同步模式从装置、异步模式从装置以及主装置;所述主装置分别与所述同步模式从装置和异步模式从装置连接;所述异步模式从装置在所述同步模式从装置代替所述主装置工作后,与所述同步模式从装置连接。
本发明实施例的数据传输方法、装置和系统,通过同步模式装置和异步模式装置都保存更新数据以及该更新数据的数据标识,使得二者之间在进行数据同步时,可以根据该数据标识直接进行未同步更新数据的同步传输,解决了现有数据同步必须使用全量同步而造成同步效率较低的问题,提高了数据同步的效率。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例提供的一种数据传输方法的流程示意图,如图1所示,该方法主要是基于同步模式从装置所作的改进,其可以包括:
步骤101、同步模式从装置接收主装置发送的更新数据,并记录与所述更新数据的数据标识;
其中,该数据标识可以为主装置接收该更新数据的时间周期号,也可以采用时间戳或序列号等其他数据标识。
在所述同步模式从装置记录与所述更新数据的数据标识之后,所述同步模式从装置可以将所述更新数据存储在其增量数据集窗口中。
进一步的,同步模式从装置可以接收主装置发送的全体异步模式从装置更新确认消息,该更新确认消息中包括所有异步模式从装置均完成接收的最新更新数据的数据标识。此时,同步模式从装置可以删除存储在增量数据集窗口中的与更新确认消息中的上述数据标识对应的更新数据。
步骤102、如果所述同步模式从装置接替所述主装置工作,所述同步模式从装置接收异步模式从装置最新接收的更新数据的数据标识;
步骤103、所述同步模式从装置根据所述异步模式从装置最新接收的更新数据的数据标识与所述同步模式从装置最新接收的更新数据的数据标识,将所述同步模式从装置已接收而所述异步模式从装置未接收的更新数据发送给所述异步模式从装置。
具体的,同步模式从装置可以将其增量数据集窗口中的所述异步模式从装置未接收的更新数据发送给异步模式从装置。
本实施例的数据传输方法,通过由同步模式从装置根据数据标识将异步模式从装置未接收的更新数据发送给异步模式从装置,解决了现有技术中存在的必须全量同步数据而造成的数据同步效率较低的问题,提高了数据同步的效率。
实施例二
图2为本发明实施例提供的另一种数据传输方法的流程示意图,如图2所示,该方法主要是基于异步模式从装置所作的改进,其可以包括:
步骤201、异步模式从装置接收主装置发送的更新数据,并记录与所述更新数据的数据标识;
其中,该数据标识可以为主装置接收该更新数据的时间周期号,也可以采用时间戳或序列号等其他数据标识。
在所述异步模式从装置记录与所述更新数据的数据标识之后,所述异步模式从装置可以将所述更新数据存储在所述异步模式从装置的增量数据集窗口中;
进一步的,所述异步模式从装置可以向所述主装置发送所述异步模式从装置的更新确认消息,该更新确认消息中包括异步模式从装置最新接收的更新数据的数据标识;
所述异步模式从装置也可以接收主装置发送的全体异步模式从装置更新确认消息,该更新确认消息包括所有异步模式从装置均完成接收的最新更新数据的数据标识。此时,所述异步模式从装置可以删除其增量数据集窗口中的与更新确认消息中的数据标识对应的更新数据。
步骤202、如果同步模式从装置接替所述主装置工作,所述异步模式从装置向所述同步模式从装置发送所述异步模式从装置最新接收的更新数据的数据标识;
步骤203、所述异步模式从装置接收所述同步模式从装置发送的更新数据,所述更新数据包括:所述同步模式从装置根据所述异步模式从装置最新接收的更新数据的数据标识与所述同步模式从装置最新接收的更新数据的数据标识,发送的所述同步模式从装置已接收而所述异步模式从装置未接收的更新数据。
具体的,该更新数据可以所述同步模式从装置的增量数据集窗口中的更新数据。
本实施例的数据传输方法,通过由异步模式从装置根据数据标识接收其未接收的更新数据,解决了现有技术中存在的必须全量同步数据而造成的数据同步效率较低的问题,提高了数据同步的效率。
实施例三
图3为本发明实施例提供的又一种数据传输方法的流程示意图,如图3所示,该方法主要是基于主装置所作的改进,其可以包括:
步骤301、主装置接收更新数据,记录与所述更新数据的数据标识;
其中,该数据标识可以为主装置接收该更新数据的时间周期号,也可以采用时间戳或序列号等其他数据标识。
步骤302、所述主装置向同步模式从装置和异步模式从装置分别发送数据同步消息,所述数据同步消息中包括所述更新数据和所述数据标识;
步骤303、所述主装置接收所述异步模式从装置发送的所述异步模式从装置的更新确认消息,所述更新确认消息包括:所述异步模式从装置最新接收的更新数据的数据标识。
进一步的,当所述主装置判断全体异步模式从装置均完成对于某一数据标识的数据的更新时,可以向异步模式从装置和同步模式从装置发送全体异步模式从装置更新确认消息,该消息中包括了所有异步模式从装置均完成接收的最新更新数据的数据标识;以便异步模式从装置和同步模式从装置删除各自的增量数据集窗口中与所述全体异步模式从装置更新确认消息中的数据标识对应的更新数据。
本实施例的数据传输方法,通过由主装置记录与更新数据的数据标识,并将该数据标识发送至同步模式从装置和异步模式从装置,使得同步模式从装置和异步模式从装置之间可以根据数据标识进行数据同步,解决了现有技术中存在的必须全量同步数据而造成的数据同步效率较低的问题,提高了数据同步的效率。
实施例四
在上述实施例的基础上,本实施例以多目标容灾系统为例,以生产中心存储装置为主装置,以备份中心存储装置为从装置,提供了一种应用本发明技术方案的实施例,图4为本发明实施例提供的容灾系统架构示意图,如图4所示,本实施例的3DC多目标部署的容灾系统包括一个生产中心存储装置A,多个备份中心存储装置B1~Bn和多个备份中心存储装置C1~Cm,B1~Bn可以作为同步模式从装置,C1~Cm可以作为异步模式从装置。其中,A、B1~Bn和C1~Cm可以分别为不同阵列中的某个卷,在该容灾系统的数据备份中,需要在卷A和卷B1~Bn,以及卷A和卷C1~Cm之间进行数据同步。卷A以同步复制模式将数据同步到卷B1~Bn,该卷B1~Bn相当于同步模式从装置,卷A和卷B1~Bn中的数据可以保持同步,称卷A和卷B1~Bn的集合为等价卷集;对于该等价卷集,只有卷A是可写的,即只有卷A可以接收应用系统发送的写I/O数据,再将该数据同步发送至卷B1~Bn,称卷A为等价卷集的Leader。Leader卷A以异步复制模式将数据同步到卷C1~Cm,该卷C1~Cm相当于异步模式从装置,称卷C1~Cm的集合为目标卷集,该目标卷集中的数据同前面的Leader卷A会滞后一些周期。即等价卷集中的是实时数据,目标卷集中的数据会滞后一些;而且,卷B1~Bn和卷C1~Cm中的卷只能被Leader卷A修改,当Leader卷A切换到等价卷集中的其他的任意卷时,如:卷A切换到卷B1时,则卷B1成为新的Leader,卷A可以被从等价卷集中去除。
以图4提供的容灾系统为基础,本发明实施例提供的数据传输方法的信令示意图如图5所示,图5为本发明实施例提供的数据传输方法的信令示意图。本实施例描述了图4所示的容灾系统中的各同步卷所执行的方案,其中,以B代表等价卷集卷B1~Bn,以C代表目标卷集C1~Cm;且本实施例以数据标识为周期号,其更新数据以队列的形式存储在内存中为例进行说明。如图5所示,该方法可以包括以下步骤:
步骤501、卷A接收更新数据,且记录与该更新数据相的数据标识。
当卷A接收到应用系统发送的写I/O数据即更新数据时,在内存中实现一个队列,该队列可以称之为增量数据集窗口。其中,上述更新数据可以为应用系统侧存储数据中的修改或新增加的数据,例如,可以为数据库中所新增加或者修改的数据记录,也可以是某个文件系统中的更新数据等。A接收到该更新数据后,可以将其保存在内存中,或者也可以将其保存在日志卷或其他物理存储介质中。并且,A还需要记录与该更新数据的数据标识,该数据标识可以为A接收该更新数据的时间周期号例如30秒,例如,当A接收到第一个周期即第一个30秒的更新数据时,对应该更新数据记录周期号1;也可以采用时间戳或序列号等其他数据标识。
如图4所示,该增量数据集窗口中包括多个周期的更新数据集,每一个周期用一个黑色小框标识。该周期为卷A从应用系统接收更新数据的时间周期,例如,假设一个周期为30秒,则卷A会将第一个30秒内从应用系统接收到的数据用一个数据标识即周期号表示(以第一个黑色小框示意),将第二个30秒内的数据用另一个数据标识即周期号表示(以第二个黑色小框示意)。当接收到新的更新数据时,卷A会向该增量数据集窗口继续添加小框个数,直至小框个数的阈值。
步骤502、卷A分别以同步复制模式向等价卷集B,且以异步复制模式向目标卷集C发送数据同步消息,所述数据同步消息中包括所述更新数据和数据标识。
卷A会按照同步复制模式向等价卷集B中的卷B1~Bn同步数据,发送数据同步消息,该数据同步消息中包括了卷A接收到的更新数据以及该更新数据的周期号;并且,卷A还以异步复制模式向目标卷集C中的卷C1~Cm同步数据,发送包括更新数据和周期号二者在内的数据同步消息。
步骤503、等价卷集B和目标卷集C接收到卷A发送的数据同步消息后,存储该数据同步消息中的更新数据和数据标识。
在步骤503中,与卷A类似,等价卷集B和目标卷集C同样可以将该更新数据和数据标识存储在内存中;同时,等价卷集B和目标卷集C还将根据该更新数据更新其存储的数据。
步骤504、目标卷集C向卷A返回同步完成消息,该同步完成消息中包括目标卷集C的最新更新数据的数据标识。
在本实施例中,目标卷集C中包括多个卷,分别为卷C1~Cm。该多个卷C1~Cm将根据其自身的数据更新进度,分别向卷A返回同步完成消息。例如,如图4所示,由于传输链路或者卷C1~Cm自身性能的原因,可能导致卷C1的数据更新速度较快,而卷Cm的数据更新速度较慢;当卷A将接收到的第一个周期即第一个小框的更新数据同时发送至卷C1~Cm时,卷C1会较早根据该更新数据完成自身存储的数据更新,并向卷A返回同步完成消息,表示其已经完成数据更新,并且卷C1还会在该同步完成消息中将更新数据的数据标识即周期号1同时发送至卷A。卷Cm在完成其自身的数据更新后,也会向卷A返回同步完成消息,同时告知卷A其最新更新数据的数据标识即周期号1。当目标卷集C包括多个卷时,卷A还需要继续执行步骤505;当目标卷集C中只包括一个卷时,卷A可以直接去执行步骤506。
步骤505、卷A判断目标卷集C是否完成数据同步。
卷A每次在接收到目标卷集C中的某个卷返回的同步完成消息时,会进行一次判断,判断目标卷集C中的所有卷是否都已经完成数据同步更新。具体实现中,可以采用位图的表示方式,也可以采用数组、链表等其他的数据结构来表示,现以位图方式为例进行说明,如图6和图7所示,图6为本发明实施例提供的数据传输方法中的一数据同步位图示意图,图7为本发明实施例提供的数据传输方法中的另一数据同步位图示意图。先以图6为例,假设目标卷集C中包括5个卷,分别为C1、C2、C3、C4和C5,其中,在卷A向卷C1~C5分别发送第6个周期的更新数据,并接收到卷C1返回的同步完成消息时,卷A可以对位图进行更新。此时更新以后的结果状态即可如图6所示,卷C1和C4为黑色小框,表示其已经完成数据同步更新;卷C2、C3和C5为白色小框,表示其尚未完成数据同步更新。或者以图7所示的位图为例,该位图为每个卷分配一行,清晰地显示了每个卷的数据更新进度;其中,同样黑色小框表示已经完成数据同步更新,白色小框表示尚未完成数据同步更新。每一个卷是在每次完成一个周期的数据更新就向卷A发送同步完成消息,卷A会在每次收到目标卷集C中的某个卷发送的同步完成消息时,都更新一下相应的位图,并根据位图判断,是否出现了目标卷集C中所有卷都已经同步完成某个周期的数据更新;如果否,则卷A继续等待,待接收到下一个同步完成消息时再次更新位图;如果是,则执行步骤506。例如,如图7所示,尽管卷A已经向卷C1~C5分别发送了6个周期的更新数据,但是,可能由于每个卷的数据更新进度不同,目标卷集C中的所有卷全部完成数据同步的只有第一个周期的更新数据。
步骤506、卷A释放目标卷集C最新更新数据标识对应的更新数据占用的空间,本实施例中所述的空间可以为内存或者硬盘等存储介质。并向等价卷集B和目标卷集C分别发送数据释放消息,该数据释放消息中包括所述数据标识,用于指示等价卷集B和目标卷集C释放存储所述数据标识对应的更新数据所占用的空间。
卷A在根据位图判断得出,目标卷集C中的所有卷即卷C1~C5都已经同步完成第一个周期数据的更新同步后,即释放其内存中的用于存储第一个周期更新数据的空间。并且卷A还向等价卷集B和目标卷集C分别发送数据释放消息,该数据释放消息中包括数据标识即周期号1,用于指示等价卷集B和目标卷集C释放存储第一个周期的更新数据所占用的空间。
步骤507、等价卷集B和目标卷集C接收到数据释放消息后,释放其中的数据标识对应的更新数据占用的存储空间。在本实施例中,即等价卷集B和目标卷集C均将第一个周期的更新数据占用的空间进行释放。
当卷A发生灾难,等价卷集的Leader由卷A切换到等价卷集中的卷B1时,继续执行步骤508~510。
步骤508、卷B1可以以广播的方式通知目标卷集C中的各个卷,现由其替换卷A成为等价卷集的Leader;并请求目标卷集C中的各个卷上报其各自的最新更新数据的数据标识。
步骤509、目标卷集C中的各个卷分别向等价卷集B中的卷B1返回其最新更新数据的数据标识。
例如,卷C1将向卷B1返回数据标识即周期号3,表示其已经最新更新到第3周期的数据;卷C4将向卷B1返回数据标识即周期号2,表示其已经最新更新到第2周期的数据。
步骤510、等价卷集B中的卷B1根据目标卷集C发送的数据标识,将目标卷集C中的各个卷未未获取的更新数据发送至目标卷集C,对目标卷集C中的各个卷进行数据同步。
例如,假设卷B1最新存储到第6周期的数据,则卷B1在收到卷C1发送的周期号3后,将其自身内存中存储的第4~6周期的数据发送至卷C1;卷B1在收到卷C4发送的周期号2后,将其自身内存中存储的第3~6周期的数据发送至卷C4。经过上述目标卷集C中未获取数据的同步传输,可以使得等价卷集B和目标卷集C中的更新数据保持一致。而且上述同步过程是仅仅将目标卷集C中未获取的数据发送至C,而避免了如现有技术中所述的全量数据同步的方式,从而可以使得数据同步的效率提高。
此外,进一步的,本领域技术人员可以理解,本实施例中的增量数据集窗口是在内存中用队列实现;为了减少内存的使用,并提供更大的增量数据集窗口,也可以通过磁盘中的日志卷的方式实现,在卷A接收到写I/O数据时,可以添加序列号或者时间戳后存入其日志卷中,多个卷间使用序列号或者时间戳就能够进行数据同步。也可以将内存和日志卷结合使用;例如,可以定义一个阈值,当增量数据集窗口的大小即小框的个数在阈值的大小之内的时候,整个窗口数据都存储在内存中,当超过阈值的规定值后,则启动日志卷进行工作。而且,卷A、等价卷集B和目标卷C中的更新数据的存储位置可以不同,例如,卷A将数据存储在内存中,等价卷集B将数据存储在日志卷中等。也可以使用其他的物理介质(如SSD)来实现。
此外,进一步的,本领域技术人员可以理解,当目标卷集C的数量为多个时,卷A也可以在接收到各目标卷集C发送的同步完成数据标识后,将该各同步完成数据标识分别发送至等价卷集B,即将多个目标卷集C的更新进度分别均通知给等价卷集B。此时,当卷A发生灾难切换到B时,B就不用再分别获取各个目标卷集C的更新进度即同步完成数据标识了,而可以直接按照其接收的更新进度,将各个目标卷集C未获取的更新数据直接发送至C。这样可以进一步提高同步效率。
进一步的,本领域技术人员可以理解,如果发生了局部灾难,即整个的等价卷集全部不能工作,则目标卷集中的各个卷之间也可以通过周期号来找出更新进度最快的卷,其他的卷根据此卷拷贝增量数据,减少灾难时的数据丢失。例如,目标卷集C中的卷C3更新最快,其更新到了第6周期的数据,而其他卷更新较慢,卷C1只更新到了第3周期,卷C4只更新到了第2周期,则此时其他卷可以拷贝卷C3的更新数据,由卷C3传送给卷C1第4~6周期的数据,传送给卷C4第3~6周期的数据。由于数据的同步过程变得相对简单和快速,可以使得级联模式和多目标模式的部署之间相互切换变得更容易。
进一步的,本领域技术人员可以理解,本实施例的方案并不局限于阵列形式存储装置的应用;任何存在同步模式和异步模式的数据同步系统均可以使用。例如,在集群系统中实现应用容灾,首先列出与算法中的集群单元,之后可以用同样的方法来实现数据同步过程。而且,本实施例的方案不仅仅局限于容灾系统,也可以被用来作为多个系统相互切换的方法来使用。同样适用于完成过初始同步,从1个源卷向多个源卷做数据拷贝的系统。此中应用中,根据增量数据集窗口的状态,可以选择从增量数据较多的任意一个卷复制数据,从而增加源卷的个数,提高整个复制的复制效率,降低单一源卷的压力。
本实施例通过同步模式从装置和异步模式从装置都保存更新数据以及该更新数据的数据标识,使得二者之间在进行数据同步时,可以根据该数据标识直接进行未同步更新数据的同步传输,解决了现有数据同步必须使用全量同步而造成同步效率较低的问题,提高了数据同步的效率,降低了切换过程中,在其他灾备站点回复业务的时间,减少了全量同步对阵列中其他不相关的卷的影响;降低了对同步链路带宽的使用量和整个容灾系统的失效的风险。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
对应于以上的方法实施例,本发明实施例还提供了能够执行上述的对应方法实施例所述方法的装置实施例,具体可参见如下的实施例五至实施例七。
实施例五
图8为本发明实施例提供的同步模式从装置的结构示意图,如图8所示,本实施例的同步模式从装置可以包括第一处理模块61、第一接收模块62和第一发送模块63。
其中,第一处理模块61,用于接收主装置发送的更新数据,并记录与所述更新数据的数据标识;具体的,该第一处理模块61可以将所述更新数据存储在增量数据集窗口中;
第一接收模块62,用于在接替所述主装置工作后,接收异步模式从装置最新接收的更新数据的数据标识;
第一发送模块63,用于根据所述异步模式从装置最新接收的更新数据的数据标识与所述第一处理模块最新接收的更新数据的数据标识,将所述第一处理模块已接收而所述异步模式从装置未接收的更新数据发送给所述异步模式从装置。
进一步的,
所述第一接收模块62,还用于接收主装置发送的全体异步模式从装置更新确认消息,所述全体异步模式从装置更新确认消息包括:所有异步模式从装置均完成接收的最新更新数据的数据标识;
所述第一发送模块63,用于将所述增量数据集窗口中所述同步模式从装置已接收而所述异步模式从装置未接收的更新数据发送给异步模式从装置;
该同步模式从装置还可以包括:
第一删除模块64,用于删除所述增量数据集窗口中与所述第一接收模块62接收到的所述全体异步模式从装置更新确认消息中的数据标识对应的更新数据。
本实施例的同步模式从装置,通过根据数据标识将异步模式从装置未接收的更新数据发送给异步模式从装置,解决了现有技术中存在的必须全量同步数据而造成的数据同步效率较低的问题,提高了数据同步的效率。
实施例六
图9为本发明实施例提供的异步模式从装置的结构示意图,如图9所示,本实施例的异步模式从装置可以包括第二处理模块71、第二发送模块72和第二接收模块73。
其中,
第二处理模块71,用于接收主装置发送的更新数据,并记录与所述更新数据的数据标识;
第二发送模块72,用于如果同步模式从装置接替所述主装置工作,向所述同步模式从装置发送所述第二处理模块最新接收的更新数据的数据标识;
第二接收模块73,用于接收所述同步模式从装置发送的更新数据,所述更新数据包括:所述同步模式从装置根据所述第二发送模块发送的数据标识与所述同步模式从装置最新接收的更新数据的数据标识,发送的所述同步模式从装置已接收而所述第二处理模块未接收的更新数据。
进一步的,
所述第二处理模块71,还用于将所述更新数据存储在增量数据集窗口中;以及,用于接收所述同步模式从装置发送的所述同步模式从装置的增量数据集窗口中的更新数据;
所述第二发送模块72,还用于向所述主装置发送更新确认消息,所述更新确认消息包括:所述第二处理模块最新接收的更新数据的数据标识;
所述第二接收模块73,还用于接收主装置发送的全体异步模式从装置更新确认消息,所述全体异步模式从装置更新确认消息包括:所有异步模式从装置均完成接收的最新更新数据的数据标识;
该异步模式从装置还可以包括:
第二删除模块74,用于删除所述增量数据集窗口中与所述第二接收模块73接收到的所述全体异步模式从装置更新确认消息中的数据标识对应的更新数据。
本实施例的异步模式从装置,通过根据数据标识接收其未接收的更新数据,解决了现有技术中存在的必须全量同步数据而造成的数据同步效率较低的问题,提高了数据同步的效率。
实施例七
图10为本发明实施例提供的主装置的结构示意图,如图10所示,本实施例的主装置可以包括第三处理模块81、第三发送模块82和第三接收模块83。
其中,
第三处理模块81,用于接收更新数据,记录与所述更新数据的数据标识;
第三发送模块82,用于向同步模式从装置和异步模式从装置分别发送数据同步消息,所述数据同步消息中包括所述更新数据和所述数据标识;
第三接收模块83,用于接收所述异步模式从装置发送的所述异步模式从装置的更新确认消息,所述更新确认消息包括:所述异步模式从装置最新接收的更新数据的数据标识。
进一步的,
所述第三发送模块82,还用于向异步模式从装置和同步模式从装置发送全体异步模式从装置更新确认消息,以便异步模式从装置和同步模式从装置删除各自的增量数据集窗口中与所述全体异步模式从装置更新确认消息中的数据标识对应的更新数据,所述全体异步模式从装置更新确认消息包括:所有异步模式从装置均完成接收的最新更新数据的数据标识。
本实施例的主装置,通过记录与更新数据的数据标识,并将该数据标识发送至同步模式从装置和异步模式从装置,使得同步模式从装置和异步模式从装置之间可以根据数据标识进行数据同步,解决了现有技术中存在的必须全量同步数据而造成的数据同步效率较低的问题,提高了数据同步的效率。
实施例八
图11为本发明实施例提供的数据传输系统的结构示意图,如图11所示,本实施例的数据传输系统可以包括同步模式从装置91、异步模式从装置92和主装置93。
其中,主装置93分别与所述同步模式从装置91和异步模式从装置92连接。所述异步模式从装置在所述同步模式从装置代替工作后,与所述同步模式从装置连接。
具体实施中,主装置93可以采用实施例七所述的主装置,同步模式从装置91可以采用实施例五所述的同步模式从装置,异步模式从装置92可以采用实施例六所述的异步模式从装置。其具体结构可参见上述的实施例,在此不再赘述。
本实施例的数据传输系统,通过主装置将更新数据的数据标识发送给同步模式从装置和异步模式从装置,使得二者之间可以根据该数据标识进行数据传输,解决了现有数据同步必须使用全量同步而造成同步效率较低的问题,提高了数据同步的效率。
需要说明的是,上述装置和系统实施例可应用前述方法实施例提供的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。