CN106790378A - 设备间的数据全同步方法、装置及系统 - Google Patents

设备间的数据全同步方法、装置及系统 Download PDF

Info

Publication number
CN106790378A
CN106790378A CN201611040278.7A CN201611040278A CN106790378A CN 106790378 A CN106790378 A CN 106790378A CN 201611040278 A CN201611040278 A CN 201611040278A CN 106790378 A CN106790378 A CN 106790378A
Authority
CN
China
Prior art keywords
equipment
data
document
misregistration amount
snapshot
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.)
Pending
Application number
CN201611040278.7A
Other languages
English (en)
Inventor
王康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201611040278.7A priority Critical patent/CN106790378A/zh
Publication of CN106790378A publication Critical patent/CN106790378A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明公开了一种设备间的数据全同步方法、装置及系统。所述方法包括:接收第一设备发送的携带有端口信息和第一文件偏移量的数据同步请求,当在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,快照文件中包含文件标识,根据端口信息将快照文件发送给第一设备,以使第一设备根据文件标识加载第二设备当前所有数据。基于本发明的技术方案,第二设备无需向第一设备发送快照文件备份已完成及可以加载数据的通知消息,减少了设备间的交互且无需建立并维护设备间关系,克服了现有技术中需要维护大量主从状态而导致第二设备处理效率低、负荷重等缺陷。

Description

设备间的数据全同步方法、装置及系统
技术领域
本发明涉及互联网技术领域,具体涉及一种设备间的数据全同步方法、装置及系统。
背景技术
分布式数据存储系统就是将数据分散存储在多台独立的设备上,也就是说,针对一份数据,存储至N个设备上,一般是存储至一个主设备和多个从设备,其中,从设备中的数据是与主设备进行同步获得的。
现有技术中,主从设备需要建立并维护设备间的关系,主设备还需要一直监控从设备的状态,例如是否处于正常运行状态,然而,维护设备间状态以及监控从设备的状态,会导致主设备负荷过重,同步效率低下,另外,主从设备的同步通常通过操作日志确定需要同步的数据,但是会出现随着生成的操作日志的增多,会删除部分操作日志,就可能会出现无法通过操作日志进行数据同步,而需要将主设备的全部数据同步给从设备的情况,此时主从设备需要不断地进行交互,告知数据全同步的状态,主设备和从设备间的处理逻辑复杂。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的设备间的数据全同步方法、设备间的数据全同步装置和相应的设备间的数据全同步系统。
根据本发明的一个方面,提供了一种设备间的数据全同步方法,其包括:
接收第一设备发送的携带有端口信息和第一文件偏移量的数据同步请求;
当在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,快照文件中包含文件标识;
根据端口信息将快照文件发送给第一设备,以使第一设备根据文件标识加载第二设备当前所有数据。
根据本发明的另一方面,提供了一种设备间的数据全同步方法,其包括:
向第二设备发送携带有端口信息和第一文件偏移量的数据同步请求,以使第二设备在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,快照文件中包含文件标识;
根据第二设备发送的包含有文件标识的快照文件,加载第二设备当前所有数据。
根据本发明的另一方面,提供了一种设备间的数据全同步装置,其包括:
第一接收模块,适于接收第一设备发送的携带有端口信息和第一文件偏移量的数据同步请求;
备份模块,适于当在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,快照文件中包含文件标识;
第一发送模块,适于根据端口信息将快照文件发送给第一设备,以使第一设备根据文件标识加载第二设备当前所有数据。
根据本发明的另一方面,提供了一种设备间的数据全同步装置,其包括:
第二发送模块,适于向第二设备发送携带有端口信息和第一文件偏移量的数据同步请求,以使第二设备在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,快照文件中包含文件标识;
同步模块,适于根据第二设备发送的包含有文件标识的快照文件,加载第二设备当前所有数据。
根据本发明的另一方面,提供了一种设备间的数据全同步系统,其包括:一方面中的设备间的数据全同步装置和另一方面中的设备间的数据全同步装置。
根据本发明提供的方案,接收第一设备发送的携带有端口信息和第一文件偏移量的数据同步请求,当在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,快照文件中包含文件标识,根据端口信息将快照文件发送给第一设备,以使第一设备根据文件标识加载第二设备当前所有数据。基于本发明实施例的方案,第二设备无需向第一设备发送快照文件备份已完成及可以加载数据的通知消息,减少了设备间的交互且无需建立并维护设备间关系,克服了现有技术中需要维护大量主从状态而导致第二设备处理效率低、负荷重等缺陷。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例一的设备间的数据全同步方法的流程示意图;
图2示出了根据本发明实施例二的设备间的数据全同步方法的流程示意图;
图3示出了根据本发明实施例三的设备间的数据全同步装置的结构示意图;
图4示出了根据本发明实施例四的设备间的数据全同步装置的结构示意图;
图5示出了根据本发明实施例五的设备间的数据全同步系统的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明实施例一的设备间的数据全同步方法的流程示意图。该方法的执行主体为第二设备,如图1所示,该方法包括以下步骤:
步骤S100,接收第一设备发送的携带有端口信息和第一文件偏移量的数据同步请求。
其中,端口信息是第一设备的标识信息,第二设备可以根据端口信息识别出是哪个设备要求同步数据,以及需要向哪个设备发送待同步数据。
第二设备在将待同步数据发送给第一设备时,同时向第一设备发送待同步数据的文件偏移量,第一设备在同步数据成功后,会记录已同步数据的文件偏移量,即第二设备发送的文件偏移量,在本发明实施例中,第一文件偏移量是已同步至第一设备的数据对应于操作日志文件的文件偏移量,也就是说,根据该第一文件偏移量可以确定第二设备中哪些数据已被同步至第一设备,以及根据第一文件偏移量可以确定本次需要同步的数据。
第一设备在需要同步数据时,可以根据第二设备的IP地址向第二设备发送携带有端口信息和第一文件偏移量的数据同步请求,使第二设备可以获知需要进行数据同步的设备以及确定本次需要同步的数据,这里第一设备并未与第二设备建立连接。
步骤S101,当在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,快照文件中包含文件标识。
其中,操作日志文件用于记录写入到第二设备的数据写操作记录,这里的操作日志文件可以是二进制日志文件,也称为Binlog文件,是一种逻辑日志,用于记录对数据所执行的数据写操作,并以二进制的形式保存在磁盘中。Binlog文件按照对数据所执行的数据写操作的顺序进行存储,而且记录次数与所执行操作的次数相对应,即,每对数据执行一次数据写操作,就在Binlog文件中记录一次。
而Binlog文件是一具有固定大小的文件,一般可以设定Binlog文件的大小为20M,当一个Binlog文件递增到20M后,即新建另一个Binlog文件来记录对数据所执行的数据写操作,也就是说,第二设备操作日志文件有多个,而且可以为每个操作日志文件设置文件编号,即:每个操作日志文件具有唯一的文件编号;这样第一文件偏移量包括:文件编号和文件内偏移量。
第二设备在接收到第一设备发送的携带有第一文件偏移量的数据同步请求后,根据第一文件偏移量在第二设备操作日志文件中查找第一文件偏移量对应的操作日志,以获取到对应的数据写操作记录,当在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,说明第一文件偏移量对应的操作日志可能已经被删除,无法通过操作日志实现数据同步,此时需要备份包含第二设备当前所有数据的快照文件,通过数据全同步过程实现同步第二设备中的数据,其中,快照文件中包含文件标识。
本实施例中,第二设备当前所有数据指备份时已写入到第二设备中的所有数据,文件标识用于标识第二设备已备份完成快照文件,仅在包含第二设备当前所有数据的快照文件备份结束后,快照文件中才包含文件标识,该文件标识不仅标识了第二设备已备份完成快照文件,而且还是第一设备是否加载数据的依据,第一设备仅在快照文件中包含文件标识的情况下,才会加载第二设备当前所有数据,若快照文件中不包含文件标识,第一设备将不会加载第二设备发送的数据。
在本发明实施例中,通过设置文件标识,可以减少第二设备和第一设备之间的交互,而且,第二设备也无需对第一设备当前的状态进行检测。
步骤S102,根据端口信息将快照文件发送给第一设备,以使第一设备根据文件标识加载第二设备当前所有数据。
第二设备可以在备份完包含第二设备当前所有数据的快照文件后,可以根据步骤S100中接收到的端口信息将备份的快照文件发送给第一设备,第一设备可以检测快照文件中是否包含文件标识,快照文件中包含文件标识时,第一设备将加载第二设备当前所有数据,完成同步过程。
举例说明,第一设备向第二设备发送携带有端口信息(Port)20,第一文件偏移量6-47的数据同步请求,第二设备在接收到该数据同步请求后,将根据第一文件偏移量6-47查找操作日志文件,确定操作日志文件中是否存在与第一文件偏移量6-47对应的操作日志,当在第二设备操作日志文件中未找到与第一文件偏移量6-47对应的操作日志时,将会备份包含第二设备当前所有数据的快照文件,其中,快照文件中包含文件标识,在备份完快照文件后,第二设备根据所接收到的端口信息Port-20将快照文件发送给第一设备,第一设备根据文件标识加载第二设备当前所有数据。
在本发明实施例中,第二设备无需向第一设备发送快照文件备份已完成,请加载数据的通知消息,减少了设备间的交互,无需建立并维护设备间关系,例如主从关系,克服了现有技术中需要维护大量主从状态而导致第二设备处理效率低、负荷重等缺陷。
在本发明一种可选实施方式中,在备份包含第二设备当前所有数据的快照文件之后,还需要记录备份时的第二文件偏移量,并将第二文件偏移量同快照文件一起发送给第一设备,这样第一设备在加载完第二设备当前所有数据后,可以根据第二文件偏移量再次向第二设备发送数据同步请求,也就是说,第一设备再次发送的数据同步请求中可以携带有第二文件偏移量,第一设备请求同步从第二文件偏移量之后写入到第二设备的数据。
其中,第二文件偏移量是备份包含第二设备当前所有数据的快照文件时,数据对应于操作日志文件的文件偏移量,也是第一设备加载完第二设备当前所有数据后,已同步至第一设备的数据对应于操作日志文件的文件偏移量。第一设备在加载完第二设备当前所有数据后,需要将第一文件偏移量更新为第二文件偏移量。
在本发明一种可选实施方式中,第一设备在加载完第二设备当前所有数据后,第一设备和第二设备实现了数据同步,但数据一直不断的写入到第二设备中,因此第一设备还可以向第二设备发送携带有第二文件偏移量的数据同步请求,第二设备接收第一设备发送的携带有第二文件偏移量的数据同步请求,然后根据第二文件偏移量将第二设备操作日志文件中的起始于第二文件偏移量的第二设备操作日志发送至第一设备,以供第一设备根据所接收到的第二设备操作日志进行相应的数据操作进而完成第二设备和第一设备之间的数据同步,这里仅需要将第二设备操作日志文件中的起始于第二文件偏移量的第二设备操作日志发送至第一设备,实现数据部分同步。
在本发明一种可选实施方式中,当在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,第二设备还可以向第一设备发送数据全同步的通知消息,以使第一设备根据通知消息确定是否等待同步数据。具体地,第二设备存储了大量的数据,因此,备份包含第二设备当前所有数据的快照文件过程需要占用很长时间,也就是说,数据全同步是非常耗时的过程,当在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,第二设备可以向第一设备发送需要进行数据全同步的通知消息,告知第一设备,第二设备需要备份包含第二设备当前所有数据的快照文件,使得第一设备可以根据该通知消息确定是否等待同步数据,若第一设备同意等待,第一设备将不执行其他任务;若第一设备不同意等待,第一设备可以去执行其他任务,待收到文件标识后,再加载第二设备当前所有数据。
在本发明一种可选实施方式中,第二设备在将快照文件发送给第一设备后,第一设备可能会由于网络不稳定等原因,而未成功加载第二设备当前所有数据,这样第一设备可以尝试再次向第二设备发送携带有端口信息和第一文件偏移量的数据同步请求,具体地,接收第一设备加载第二设备的数据失败后再次发送的携带有端口信息和第一文件偏移量的数据同步请求。若第一设备还未成功加载第二设备当前所有数据,还可以进行再一次的尝试,其中,第一设备可以尝试预设次数,预设次数可以根据实际情况进行设定,例如设置为3次,两次尝试发送数据同步请求的时间间隔需要达到预设时间间隔,例如1毫秒,这里仅仅是举例说明,不具有任何限定作用。这里不需要第一设备与第二设备之间的交互,简化了处理逻辑。
根据本发明上述实施例提供的方法,接收第一设备发送的携带有端口信息和第一文件偏移量的数据同步请求,当在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,快照文件中包含文件标识,根据端口信息将快照文件发送给第一设备,以使第一设备根据文件标识加载第二设备当前所有数据。基于本发明实施例的方案,第二设备无需向第一设备发送快照文件备份已完成及可以加载数据的通知消息,减少了设备间的交互且无需建立并维护设备间关系,克服了现有技术中需要维护大量主从状态而导致第二设备处理效率低、负荷重等缺陷,简化了设备间的处理逻辑。
图2示出了根据本发明实施例二的设备间的数据全同步方法的流程示意图。如图2所示,该方法包括以下步骤:
步骤S200,向第二设备发送携带有端口信息和第一文件偏移量的数据同步请求,以使第二设备在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,快照文件中包含文件标识。
这里的第二设备存储有用户写入的完整的数据。其中,端口信息是第一设备的标识信息,第二设备可根据端口信息识别出是哪个设备要求同步数据,以及需要向哪个设备发送待同步数据。
在本发明实施例中,第一文件偏移量是已同步至第一设备的数据对应于操作日志文件的文件偏移量,也就是说,根据该第一文件偏移量可以确定第二设备中哪些数据已被同步至第一设备,以及根据第一文件偏移量可以确定本次需要同步的数据。
第一设备在需要同步数据时,可以根据第二设备的IP地址向第二设备发送携带有端口信息和第一文件偏移量的数据同步请求,使第二设备可以获知需要进行数据同步的设备以及确定本次需要同步的数据,这里第一设备并未与第二设备建立连接。
第二设备在接收到第一设备发送的携带有端口信息和第一文件偏移量的数据同步请求后,根据第一文件偏移量在第二设备操作日志文件中查找与第一文件偏移量对应的操作日志,第二设备在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,快照文件中包含文件标识。
本实施例中,第二设备当前所有数据指备份时已写入到第二设备中的所有数据,文件标识用于标识第二设备已备份完成快照文件,仅在包含第二设备当前所有数据的快照文件备份结束后,快照文件中才包含文件标识,该文件标识不仅标识了第二设备已备份完成快照文件,而且还是第一设备是否加载数据的依据,第一设备仅在快照文件中包含文件标识的情况下,才会加载第二设备当前所有数据,若快照文件中不包含文件标识,第一设备将不会加载第二设备发送的数据。
步骤S201,根据第二设备发送的包含有文件标识的快照文件,加载第二设备当前所有数据。
第二设备可以在备份完包含第二设备当前所有数据的快照文件后,可以根据步骤S200中接收到的端口信息将备份的快照文件发送给第一设备,第一设备可以检测快照文件中是否包含文件标识,快照文件中包含文件标识时,第一设备将加载第二设备当前所有数据,完成同步过程。
在本发明一种可选实施方式中,第二设备在备份包含第二设备当前所有数据的快照文件时,会记录备份时的第二文件偏移量,并将第二文件偏移量同快照文件一起发送给第一设备,因此,第一设备在加载完第二设备当前所有数据后将第一文件偏移量更新为第二文件偏移量,也就是说,第二文件偏移量是第二设备在备份包含第二设备所有数据的快照文件时记录的文件偏移量;在将第一文件偏移量更新为第二文件偏移量后,第一设备可以向第二设备发送携带有第二文件偏移量的数据同步请求,以供第二设备将第二设备操作日志文件中的起始于第二文件偏移量的第二设备操作日志发送至第一设备,以部分同步从第二文件偏移量对应的数据之后写入第二设备的数据。
在本发明一种可选实施方式中,为了避免占用磁盘空间,可以每隔预设时间删除预设数量的操作日志文件,就可能出现在第二设备操作日志中未找到与第一文件偏移量对应的操作日志,此时第二设备会向第一设备发送未找到与第一文件偏移量对应的操作日志需要数据全同步的通知消息,第一设备接收第二设备在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时发送的数据全同步的通知消息,并根据通知消息确定是否等待同步数据。
具体地,第二设备存储了大量的数据,因此,备份包含第二设备当前所有数据的快照文件过程需要占用很长时间,也就是说,数据全同步是非常耗时的过程,当在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,第二设备可以向第一设备发送需要进行数据全同步的通知消息,告知第一设备,第二设备需要备份包含第二设备当前所有数据的快照文件,使得第一设备可以根据该通知消息确定是否等待同步数据,若第一设备同意等待,第一设备将不执行其他任务;若第一设备不同意等待,第一设备可以去执行其他任务,待收到文件标识后,再加载第二设备当前所有数据。
在本发明一种可选实施方式中,第二设备在将快照文件发送给第一设备后,第一设备可能会由于网络不稳定等原因,而未成功加载第二设备当前所有数据,这样第一设备可以尝试再次向第二设备发送携带有端口信息和第一文件偏移量的数据同步请求,具体地,第一设备在加载第二设备的数据失败后再次向第二设备发送的携带有端口信息和第一文件偏移量的数据同步请求。若第一设备还未成功加载第二设备当前所有数据,还可以进行再一次的尝试,其中,第一设备可以尝试预设次数,预设次数可以根据实际情况进行设定,例如设置为3次,两次尝试发送数据同步请求的时间间隔需要达到预设时间间隔,例如1毫秒,这里仅仅是举例说明,不具有任何限定作用。这里不需要第一设备与第二设备之间的交互,简化了处理逻辑。
根据本发明上述实施例提供的方法,向第二设备发送携带有端口信息和第一文件偏移量的数据同步请求,以使第二设备在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,快照文件中包含文件标识;根据第二设备发送的包含有文件标识的快照文件,加载第二设备当前所有数据。基于本发明上述实施例提供的方案,减少了设备间的交互且无需建立并维护设备间关系,克服了现有技术中需要维护大量主从状态而导致第二设备处理效率低、负荷重等缺陷。
图3示出了根据本发明实施例三的设备间的数据全同步装置的结构示意图。如图3所示,该装置300包括:第一接收模块310、备份模块320、第一发送模块330。
第一接收模块310,适于接收第一设备发送的携带有端口信息和第一文件偏移量的数据同步请求。
备份模块320,适于当在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,快照文件中包含文件标识。
第一发送模块330,适于根据端口信息将快照文件发送给第一设备,以使第一设备根据文件标识加载第二设备当前所有数据。
可选地,装置还包括:记录模块,适于记录备份时的第二文件偏移量。
可选地,第一接收模块进一步适于:接收第一设备发送的携带有第二文件偏移量的数据同步请求,其中在第一设备加载完第二设备当前所有数据后将第一文件偏移量更新为第二文件偏移量;
第一发送模块进一步适于:根据第二文件偏移量将第二设备操作日志文件中的起始于第二文件偏移量的第二设备操作日志发送至第一设备,以供第一设备根据所接收到的第二设备操作日志进行相应的数据操作进而完成第二设备和第一设备之间的数据同步。
可选地,第一发送模块进一步适于:当在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,向第一设备发送数据全同步的通知消息,以使第一设备根据通知消息确定是否等待同步数据。
可选地,第一接收模块进一步适于:接收第一设备加载第二设备的数据失败后再次发送的携带有端口信息和第一文件偏移量的数据同步请求。
可选地,第二设备操作日志文件有多个,每个第二设备操作日志文件具有唯一的文件编号;第一文件偏移量包括:文件编号和文件内偏移量。
根据本发明上述实施例提供的装置,接收第一设备发送的携带有端口信息和第一文件偏移量的数据同步请求,当在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,快照文件中包含文件标识,根据端口信息将快照文件发送给第一设备,以使第一设备根据文件标识加载第二设备当前所有数据。基于本发明实施例的方案,第二设备无需向第一设备发送快照文件备份已完成及可以加载数据的通知消息,减少了设备间的交互且无需建立并维护设备间关系,克服了现有技术中需要维护大量主从状态而导致第二设备处理效率低、负荷重等缺陷。
图4示出了根据本发明实施例四的设备间的数据全同步装置的结构示意图。如图4所示,该装置400包括:第二发送模块410、同步模块420。
第二发送模块410,适于向第二设备发送携带有端口信息和第一文件偏移量的数据同步请求,以使第二设备在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,快照文件中包含文件标识。
同步模块420,适于根据第二设备发送的包含有文件标识的快照文件,加载第二设备当前所有数据。
可选地,装置还包括:更新模块,适于在加载完第二设备当前所有数据后将第一文件偏移量更新为第二文件偏移量,其中第二文件偏移量是第二设备在备份包含第二设备所有数据的快照文件时记录的文件偏移量;
第二发送模块进一步适于:向第二设备发送携带有第二文件偏移量的数据同步请求,以供第二设备将第二设备操作日志文件中的起始于第二文件偏移量的第二设备操作日志发送至第一设备。
可选地,装置还包括:第二接收模块,适于接收第二设备在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时发送的数据全同步的通知消息;
确定模块,适于根据通知消息确定是否等待同步数据。
可选地,第二发送模块进一步适于:在加载第二设备的数据失败后再次向第二设备发送的携带有端口信息和第一文件偏移量的数据同步请求。
根据本发明上述实施例提供的装置,向第二设备发送携带有端口信息和第一文件偏移量的数据同步请求,以使第二设备在第二设备操作日志文件中未找到与第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,快照文件中包含文件标识;根据第二设备发送的包含有文件标识的快照文件,加载第二设备当前所有数据。基于本发明上述实施例提供的方案,减少了设备间的交互且无需建立并维护设备间关系,克服了现有技术中需要维护大量主从状态而导致第二设备处理效率低、负荷重等缺陷。
图5示出了根据本发明一个实施例的设备间的数据全同步系统的结构示意图。如图5所示,该系统500包括:实施例三中的设备间的数据全同步装置300和实施例四中的设备间的数据全同步装置400。
根据本发明上述实施例提供的系统,第二设备无需向第一设备发送快照文件备份已完成及可以加载数据的通知消息,减少了设备间的交互且无需建立并维护设备间关系,克服了现有技术中需要维护大量主从状态而导致第二设备处理效率低、负荷重等缺陷。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的设备间的数据全同步设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:
A1、一种设备间的数据全同步方法,其包括:
接收第一设备发送的携带有端口信息和第一文件偏移量的数据同步请求;
当在第二设备操作日志文件中未找到与所述第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,所述快照文件中包含文件标识;
根据所述端口信息将所述快照文件发送给第一设备,以使所述第一设备根据所述文件标识加载第二设备当前所有数据。
A2、根据A1所述的方法,其中,在所述备份包含第二设备当前所有数据的快照文件之后,所述方法还包括:记录备份时的第二文件偏移量。
A3、根据A2所述的方法,其中,所述方法还包括:
接收所述第一设备发送的携带有第二文件偏移量的数据同步请求,其中在第一设备加载完第二设备当前所有数据后将第一文件偏移量更新为第二文件偏移量;
根据所述第二文件偏移量将第二设备操作日志文件中的起始于所述第二文件偏移量的第二设备操作日志发送至第一设备,以供第一设备根据所接收到的第二设备操作日志进行相应的数据操作进而完成第二设备和第一设备之间的数据同步。
A4、根据A1-A3任一项所述的方法,其中,所述方法还包括:
当在第二设备操作日志文件中未找到与所述第一文件偏移量对应的操作日志时,向所述第一设备发送数据全同步的通知消息,以使所述第一设备根据所述通知消息确定是否等待同步数据。
A5、根据A1所述的方法,其中,所述方法还包括:
接收第一设备加载第二设备的数据失败后再次发送的携带有端口信息和第一文件偏移量的数据同步请求。
A6、根据A1所述的方法,其中,所述第二设备操作日志文件有多个,每个第二设备操作日志文件具有唯一的文件编号;
第一文件偏移量包括:文件编号和文件内偏移量。
B7、一种设备间的数据全同步方法,其包括:
向第二设备发送携带有端口信息和第一文件偏移量的数据同步请求,以使所述第二设备在第二设备操作日志文件中未找到与所述第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,所述快照文件中包含文件标识;
根据所述第二设备发送的包含有文件标识的快照文件,加载所述第二设备当前所有数据。
B8、根据B7所述的方法,其中,所述方法还包括:
在加载完所述第二设备当前所有数据后将第一文件偏移量更新为第二文件偏移量,其中所述第二文件偏移量是第二设备在所述备份包含第二设备所有数据的快照文件时记录的文件偏移量;
向所述第二设备发送携带有第二文件偏移量的数据同步请求,以供第二设备将第二设备操作日志文件中的起始于所述第二文件偏移量的第二设备操作日志发送至第一设备。
B9、根据B7或B8所述的方法,其中,所述方法还包括:
接收所述第二设备在第二设备操作日志文件中未找到与所述第一文件偏移量对应的操作日志时发送的数据全同步的通知消息,并根据所述通知消息确定是否等待同步数据。
B10、根据B7所述的方法,其中,所述方法还包括:在加载第二设备的数据失败后再次向第二设备发送的携带有端口信息和第一文件偏移量的数据同步请求。
C11、一种设备间的数据全同步装置,其包括:
第一接收模块,适于接收第一设备发送的携带有端口信息和第一文件偏移量的数据同步请求;
备份模块,适于当在第二设备操作日志文件中未找到与所述第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,所述快照文件中包含文件标识;
第一发送模块,适于根据所述端口信息将所述快照文件发送给第一设备,以使所述第一设备根据所述文件标识加载第二设备当前所有数据。
C12、根据C11所述的装置,其中,所述装置还包括:记录模块,适于记录备份时的第二文件偏移量。
C13、根据C12所述的装置,其中,所述第一接收模块进一步适于:接收所述第一设备发送的携带有第二文件偏移量的数据同步请求,其中在第一设备加载完第二设备当前所有数据后将第一文件偏移量更新为第二文件偏移量;
所述第一发送模块进一步适于:根据所述第二文件偏移量将第二设备操作日志文件中的起始于所述第二文件偏移量的第二设备操作日志发送至第一设备,以供第一设备根据所接收到的第二设备操作日志进行相应的数据操作进而完成第二设备和第一设备之间的数据同步。
C14、根据C11-C13任一项所述的装置,其中,所述第一发送模块进一步适于:当在第二设备操作日志文件中未找到与所述第一文件偏移量对应的操作日志时,向所述第一设备发送数据全同步的通知消息,以使所述第一设备根据所述通知消息确定是否等待同步数据。
C15、根据C11所述的装置,其中,所述第一接收模块进一步适于:接收第一设备加载第二设备的数据失败后再次发送的携带有端口信息和第一文件偏移量的数据同步请求。
C16、根据C11所述的装置,其中,所述第二设备操作日志文件有多个,每个第二设备操作日志文件具有唯一的文件编号;
第一文件偏移量包括:文件编号和文件内偏移量。
D17、一种设备间的数据全同步装置,其包括:
第二发送模块,适于向第二设备发送携带有端口信息和第一文件偏移量的数据同步请求,以使所述第二设备在第二设备操作日志文件中未找到与所述第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,所述快照文件中包含文件标识;
同步模块,适于根据所述第二设备发送的包含有文件标识的快照文件,加载所述第二设备当前所有数据。
D18、根据D17所述的装置,其中,所述装置还包括:
更新模块,适于在加载完所述第二设备当前所有数据后将第一文件偏移量更新为第二文件偏移量,其中所述第二文件偏移量是第二设备在所述备份包含第二设备所有数据的快照文件时记录的文件偏移量;
所述第二发送模块进一步适于:向所述第二设备发送携带有第二文件偏移量的数据同步请求,以供第二设备将第二设备操作日志文件中的起始于所述第二文件偏移量的第二设备操作日志发送至第一设备。
D19、根据D17或D18所述的装置,其中,所述装置还包括:
第二接收模块,适于接收所述第二设备在第二设备操作日志文件中未找到与所述第一文件偏移量对应的操作日志时发送的数据全同步的通知消息;
确定模块,适于根据所述通知消息确定是否等待同步数据。
D20、根据D17所述的装置,其中,所述第二发送模块进一步适于:在加载第二设备的数据失败后再次向第二设备发送的携带有端口信息和第一文件偏移量的数据同步请求。
E21、一种设备间的数据全同步系统,其包括:C11-C16任一项所述的设备间的数据全同步装置和D17-D20任一项所述的设备间的数据全同步装置。

Claims (10)

1.一种设备间的数据全同步方法,其包括:
接收第一设备发送的携带有端口信息和第一文件偏移量的数据同步请求;
当在第二设备操作日志文件中未找到与所述第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,所述快照文件中包含文件标识;
根据所述端口信息将所述快照文件发送给第一设备,以使所述第一设备根据所述文件标识加载第二设备当前所有数据。
2.根据权利要求1所述的方法,其中,在所述备份包含第二设备当前所有数据的快照文件之后,所述方法还包括:记录备份时的第二文件偏移量。
3.根据权利要求2所述的方法,其中,所述方法还包括:
接收所述第一设备发送的携带有第二文件偏移量的数据同步请求,其中在第一设备加载完第二设备当前所有数据后将第一文件偏移量更新为第二文件偏移量;
根据所述第二文件偏移量将第二设备操作日志文件中的起始于所述第二文件偏移量的第二设备操作日志发送至第一设备,以供第一设备根据所接收到的第二设备操作日志进行相应的数据操作进而完成第二设备和第一设备之间的数据同步。
4.根据权利要求1-3任一项所述的方法,其中,所述方法还包括:
当在第二设备操作日志文件中未找到与所述第一文件偏移量对应的操作日志时,向所述第一设备发送数据全同步的通知消息,以使所述第一设备根据所述通知消息确定是否等待同步数据。
5.根据权利要求1所述的方法,其中,所述方法还包括:
接收第一设备加载第二设备的数据失败后再次发送的携带有端口信息和第一文件偏移量的数据同步请求。
6.根据权利要求1所述的方法,其中,所述第二设备操作日志文件有多个,每个第二设备操作日志文件具有唯一的文件编号;
第一文件偏移量包括:文件编号和文件内偏移量。
7.一种设备间的数据全同步方法,其包括:
向第二设备发送携带有端口信息和第一文件偏移量的数据同步请求,以使所述第二设备在第二设备操作日志文件中未找到与所述第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,所述快照文件中包含文件标识;
根据所述第二设备发送的包含有文件标识的快照文件,加载所述第二设备当前所有数据。
8.一种设备间的数据全同步装置,其包括:
第一接收模块,适于接收第一设备发送的携带有端口信息和第一文件偏移量的数据同步请求;
备份模块,适于当在第二设备操作日志文件中未找到与所述第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,所述快照文件中包含文件标识;
第一发送模块,适于根据所述端口信息将所述快照文件发送给第一设备,以使所述第一设备根据所述文件标识加载第二设备当前所有数据。
9.一种设备间的数据全同步装置,其包括:
第二发送模块,适于向第二设备发送携带有端口信息和第一文件偏移量的数据同步请求,以使所述第二设备在第二设备操作日志文件中未找到与所述第一文件偏移量对应的操作日志时,备份包含第二设备当前所有数据的快照文件,其中,所述快照文件中包含文件标识;
同步模块,适于根据所述第二设备发送的包含有文件标识的快照文件,加载所述第二设备当前所有数据。
10.一种设备间的数据全同步系统,其包括:权利要求8所述的设备间的数据全同步装置和权利要求9所述的设备间的数据全同步装置。
CN201611040278.7A 2016-11-11 2016-11-11 设备间的数据全同步方法、装置及系统 Pending CN106790378A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611040278.7A CN106790378A (zh) 2016-11-11 2016-11-11 设备间的数据全同步方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611040278.7A CN106790378A (zh) 2016-11-11 2016-11-11 设备间的数据全同步方法、装置及系统

Publications (1)

Publication Number Publication Date
CN106790378A true CN106790378A (zh) 2017-05-31

Family

ID=58975129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611040278.7A Pending CN106790378A (zh) 2016-11-11 2016-11-11 设备间的数据全同步方法、装置及系统

Country Status (1)

Country Link
CN (1) CN106790378A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108322533A (zh) * 2018-01-31 2018-07-24 广州鼎甲计算机科技有限公司 基于操作日志的分布式集群节点间配置同步方法
CN109714392A (zh) * 2018-11-26 2019-05-03 聚好看科技股份有限公司 一种跨机房数据同步方法和装置
CN111241194A (zh) * 2020-01-02 2020-06-05 浙江口碑网络技术有限公司 一种数据同步方法及装置
CN112966046A (zh) * 2021-03-03 2021-06-15 北京金山云网络技术有限公司 数据同步方法和装置、电子设备和存储介质
WO2021129477A1 (zh) * 2019-12-27 2021-07-01 华为技术有限公司 一种数据同步的方法及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1704903A (zh) * 2004-06-03 2005-12-07 华为技术有限公司 一种快照备份的方法
CN103220358A (zh) * 2013-04-19 2013-07-24 李晶 一种多终端在线文件同步方法、系统、服务器及终端设备
CN104580169A (zh) * 2014-12-23 2015-04-29 惠州Tcl移动通信有限公司 一种进行文件同步的方法及系统
CN105912628A (zh) * 2016-04-07 2016-08-31 北京奇虎科技有限公司 主从数据库的同步方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1704903A (zh) * 2004-06-03 2005-12-07 华为技术有限公司 一种快照备份的方法
CN103220358A (zh) * 2013-04-19 2013-07-24 李晶 一种多终端在线文件同步方法、系统、服务器及终端设备
CN104580169A (zh) * 2014-12-23 2015-04-29 惠州Tcl移动通信有限公司 一种进行文件同步的方法及系统
CN105912628A (zh) * 2016-04-07 2016-08-31 北京奇虎科技有限公司 主从数据库的同步方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108322533A (zh) * 2018-01-31 2018-07-24 广州鼎甲计算机科技有限公司 基于操作日志的分布式集群节点间配置同步方法
CN109714392A (zh) * 2018-11-26 2019-05-03 聚好看科技股份有限公司 一种跨机房数据同步方法和装置
WO2021129477A1 (zh) * 2019-12-27 2021-07-01 华为技术有限公司 一种数据同步的方法及相关设备
CN111241194A (zh) * 2020-01-02 2020-06-05 浙江口碑网络技术有限公司 一种数据同步方法及装置
CN112966046A (zh) * 2021-03-03 2021-06-15 北京金山云网络技术有限公司 数据同步方法和装置、电子设备和存储介质
CN112966046B (zh) * 2021-03-03 2024-04-12 北京金山云网络技术有限公司 数据同步方法和装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN106790378A (zh) 设备间的数据全同步方法、装置及系统
CN105912628B (zh) 主从数据库的同步方法及装置
JP6684367B2 (ja) データ処理方法及びデバイス
CN105550229A (zh) 分布式存储系统数据修复的方法和装置
CN104376127A (zh) 一种数据操作方法及装置
CN105159795A (zh) 数据同步方法、装置和系统
US11249854B2 (en) Method and device for failover in HBase system, and non-transitory computer-readable storage medium
CN104461747A (zh) 一种分布式任务调度系统
CN106605217B (zh) 用于将应用从一个站点移动到另一站点的方法和系统
CN108696581A (zh) 分布式信息的缓存方法、装置、计算机设备以及存储介质
CN108123851A (zh) 分布式系统中主从节点同步链路的存活检测方法及装置
CN111338834B (zh) 数据存储方法和装置
KR20190058288A (ko) 명령 처리 정렬 시스템
CN108733516A (zh) 多云安全存储动态平衡备份方法及系统
CN105550230B (zh) 分布式存储系统节点故障的侦测方法和装置
CN113190620B (zh) Redis集群之间数据的同步方法、装置、设备及存储介质
CN106855869B (zh) 一种实现数据库高可用的方法、装置和系统
CN106383755A (zh) 在主从式数据库系统中恢复从库的方法、装置和系统
EP3316114A1 (en) Data reading and writing method and device
US8725966B2 (en) Generation and update of storage groups constructed from storage devices distributed in storage subsystems
CN116049142A (zh) 数据处理方法、装置、电子设备及存储介质
RU2698766C1 (ru) Способ и устройство для передачи, отправки и получения информации
CN111949479B (zh) 交互系统和索引创建情况的确定方法、设备
CN109739765B (zh) 一种测试系统
US11372887B2 (en) Method, device and computer program product for providing visual representation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170531