CN116527655A - 批量文件同步方法、装置、电子设备及存储介质 - Google Patents
批量文件同步方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116527655A CN116527655A CN202310453286.8A CN202310453286A CN116527655A CN 116527655 A CN116527655 A CN 116527655A CN 202310453286 A CN202310453286 A CN 202310453286A CN 116527655 A CN116527655 A CN 116527655A
- Authority
- CN
- China
- Prior art keywords
- file
- synchronization
- information
- target
- target file
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 230000001360 synchronised effect Effects 0.000 claims abstract description 190
- 230000008569 process Effects 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 abstract description 28
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/183—Provision of network file services by network file servers, e.g. by using NFS, CIFS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提出了一种批量文件同步方法、装置及电子设备,涉及大数据技术领域,方法包括:获取待同步的目标文件;判断目标文件是否执行过同步操作;在目标文件执行过同步操作的情况下,获取目标文件的同步结果;在目标文件的同步结果指示同步失败的情况下,获取目标文件的断点信息;根据断点信息同步目标文件。由此,通过维护批量文件是否执行过同步操作、同步结果以及在同步结果指示同步失败的情形下的断点信息,从而可实现在每次同步批量文件时,同步或传输同步失败的各文件,而不同步或传输同步成功的各文件,可以避免发生文件重复同步的情况,降低批量文件的同步时长、网络和资源的开销。且,可实现批量文件的断点续传,降低批量文件的同步成本。
Description
技术领域
本申请涉及大数据技术领域,尤其涉及一种批量文件同步方法、装置、电子设备及存储介质。
背景技术
随着互联网技术的不断发展,每天产生海量的数据或文件。对于文件上云场景,在文件的上传过程中,如果发生网络不稳定、网络故障等情况,则会导致文件上传失败。当文件上传失败时,需要重新上传相关文件,增加了文件的传输时间、网络和资源等开销。
对于文件异构上云场景,如将源文件服务器中的批量文件同步至目的文件服务器中,需要定时或周期性地同步批量文件,而在周期性同步批量文件的过程中,如果发生网络不稳定、网络故障等情况,则需要重新同步所有的文件,严重增加了文件的同步成本。
而相关技术中,只能实现单个文件的断点续传,而未有针对批量文件的断点续传的技术方案,因此,如何实现批量文件的断点续传是非常重要的。
发明内容
本申请的目的旨在至少在一定程度上解决上述技术问题之一。
为此,本申请提出了一种批量文件同步方法、装置、电子设备及存储介质,通过维护批量文件是否执行过同步操作、同步结果以及在同步结果指示同步失败的情形下的断点信息,从而可以实现在每次同步批量文件时,同步或传输同步结果指示同步失败的各文件,而不同步或传输同步结果指示同步成功的各文件,可以避免发生文件重复同步的情况,降低批量文件的同步时长、网络和资源的开销。并且,对于同步失败的文件,可以根据记录的断点信息对该文件进行断点续传,可以进一步降低批量文件的同步时长、网络和资源的开销。例如,在批量文件同步失败的场景下,由于无需再次同步或传输同步结果指示同步成功的各文件,可以实现批量文件的断点续传,降低批量文件的同步成本。
本申请第一方面实施例提出了一种批量文件同步方法,维护了所述批量文件是否执行过同步操作,同步结果,以及在同步失败的情形下的断点信息;包括:
获取待同步的目标文件;
判断所述目标文件是否执行过同步操作;
在所述目标文件执行过同步操作的情况下,获取所述目标文件的同步结果;
在所述目标文件的同步结果指示所述目标文件同步失败的情况下,获取所述目标文件的断点信息;
根据所述断点信息同步所述目标文件。
本申请第二方面实施例提出了一种批量文件同步装置,维护了所述批量文件是否执行过同步操作,同步结果,以及在同步失败的情形下的断点信息;包括:
第一获取模块,用于获取待同步的目标文件;
判断模块,用于判断所述目标文件是否执行过同步操作;
第二获取模块,用于在所述目标文件执行过同步操作的情况下,获取所述目标文件的同步结果;
第三获取模块,用于在所述目标文件的同步结果指示所述目标文件同步失败的情况下,获取所述目标文件的断点信息;
同步模块,用于根据所述断点信息同步所述目标文件。
本申请第三方面实施例提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的批量文件同步方法。
本申请第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的批量文件同步方法。
本申请第五方面实施例提出了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本申请上述第一方面所述的批量文件同步方法。
本申请的实施例提供的技术方案至少带来以下有益效果:
通过维护批量文件是否执行过同步操作、同步结果以及在同步结果指示同步失败的情形下的断点信息,从而可以实现在每次同步批量文件时,同步或传输同步结果指示同步失败的各文件,而不同步或传输同步结果指示同步成功的各文件,可以避免发生文件重复同步的情况,降低批量文件的同步时长、网络和资源的开销。并且,对于同步失败的文件,可以根据记录的断点信息对该文件进行断点续传,可以进一步降低批量文件的同步时长、网络和资源的开销。例如,在批量文件同步失败的场景下,由于无需再次同步或传输同步结果指示同步成功的各文件,可以实现批量文件的断点续传,降低批量文件的同步成本。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例提供的一种批量文件同步方法的流程示意图;
图2为本申请实施例提供的另一种批量文件同步方法的流程示意图;
图3为本申请实施例提供的另一种批量文件同步方法的流程示意图;
图4为本申请实施例提供的另一种批量文件同步方法的流程示意图;
图5为本申请实施例提供的另一种批量文件同步方法的流程示意图;
图6为本申请实施例所提供的实现原理示意图;
图7为根据本申请一个实施例的批量文件同步装置的结构示意图;
图8为根据本申请一个实施例的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
本申请实施例提出一种批量文件同步方法、装置及电子设备。在具体描述本申请实施例之前,为了便于理解,首先对常用技术词进行介绍:
FTP(File Transfer Protocol,文件传输协议)服务器,是指在互联网上提供文件存储和访问服务的计算机,其依照FTP协议提供服务。
OSS(Object Storage Service,对象存储服务),一种提供海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。
OBS(Object Storage Service,对象存储服务),是一个基于对象的存储服务,为用户提供海量、安全、高可靠、低成本的数据存储能力,使用时无需考虑容量限制,并且提供多种存储类型,满足各类业务场景的使用需求。
下面结合图1,对本申请提供的批量文件同步方法进行详细说明。
图1为本申请实施例提供的一种批量文件同步方法的流程示意图。
本申请实施例的批量文件同步方法,可以由本申请实施例提供的批量文件同步装置执行。本申请中的批量文件同步装置可应用于电子设备中,以执行批量文件同步功能。或者,该批量文件同步装置可以配置在电子设备的应用中,以使该应用可以执行批量文件同步功能。
其中,电子设备可以为任一具有计算能力的设备,该设备或者该设备中的应用能够执行文件同步功能。其中,具有计算能力的设备例如可以为个人电脑、移动终端、服务器等,移动终端例如可以为车载设备、手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
如图1所示,该批量文件同步方法包括以下步骤:
步骤S101,获取待同步的目标文件。
在本申请实施例中,在批量文件同步时,可以维护批量文件是否执行过同步操作,以及在批量文件执行过同步操作时,维护批量文件的同步结果(用于指示文件是否同步成功),以及在同步结果指示文件同步失败的情形下,维护文件的断点信息。比如,断点信息可以包括断点位置,其中,断点位置用于指示前一次同步过程中文件中数据同步的中断位置。
在本申请实施例中,可以从源文件服务器中获取待同步的目标文件。
步骤S102,判断目标文件是否执行过同步操作。
在本申请实施例中,可以根据维护的信息,判断目标文件是否执行过同步操作。
步骤S103,在目标文件执行过同步操作的情况下,获取目标文件的同步结果。
在本申请实施例中,在目标文件执行过同步操作的情况下,可以从维护的信息中获取目标文件的同步结果。其中,目标文件的同步结果用于指示目标文件是否同步成功,即,目标文件的同步结果用于指示目标文件同步成功或同步失败。
步骤S104,在目标文件的同步结果指示目标文件同步失败的情况下,获取目标文件的断点信息。
在本申请实施例中,在目标文件的同步结果指示目标文件同步失败的情况下,可以从维护的信息中获取目标文件的断点信息,其中,目标文件的断点信息用于指示前一次同步过程中目标文件中数据同步的中断位置。
步骤S105,根据断点信息同步目标文件。
在本申请实施例中,可以根据断点信息同步目标文件,例如,可以根据断点信息对目标文件进行断点续传。其中,可以将目标文件同步至目的文件服务器。
其中,目的文件服务器与源文件服务器为不同的文件服务器,比如,源文件服务器可以为FTP服务器,目的文件服务器可以为OSS、OBS等。
其中,对目的文件服务器与源文件服务器的协议类型不作限制,比如,目的文件服务器与源文件服务器可以为相同协议类型(如FTP、SFTP(Secure FTP,安全文件传送协议)等)的文件服务器,或者,目的文件服务器与源文件服务器可以为不同协议类型的文件服务器,如源文件服务器的协议类型可以为FTP,目的文件服务器可以是其他协议类型(即,其他的文件服务协议)的文件服务器。
本申请实施例的批量文件同步方法,通过获取待同步的目标文件;判断目标文件是否执行过同步操作;在目标文件执行过同步操作的情况下,获取目标文件的同步结果;在目标文件的同步结果指示目标文件同步失败的情况下,获取目标文件的断点信息;根据断点信息同步目标文件。由此,通过维护批量文件是否执行过同步操作、同步结果以及在同步结果指示同步失败的情形下的断点信息,从而可以实现在每次同步批量文件时,同步或传输同步结果指示同步失败的各文件,而不同步或传输同步结果指示同步成功的各文件,可以避免发生文件重复同步的情况,降低批量文件的同步时长、网络和资源的开销。并且,对于同步失败的文件,可以根据记录的断点信息对该文件进行断点续传,可以进一步降低批量文件的同步时长、网络和资源的开销。例如,在批量文件同步失败的场景下,由于无需再次同步或传输同步结果指示同步成功的各文件,可以实现批量文件的断点续传,降低批量文件的同步成本。
在本申请实施例的一种可能的实现方式中,可以在批量文件的同步过程中,记录每个执行过同步操作的文件的同步记录信息(本申请中记为第一同步记录信息),其中,第一同步记录信息中可以包括执行过同步操作的文件的同步状态(包括同步失败状态或同步成功状态)和在同步状态指示执行过同步操作的文件同步失败(即同步状态为同步失败状态)的情形下的断点信息,从而本申请中,可以根据维护的各第一同步记录信息,确定目标文件是否执行过同步操作,以及根据维护的第一同步记录信息,获取目标文件的同步结果和断点信息。下面结合图2,对上述过程进行详细说明。
图2为本申请实施例提供的另一种批量文件同步方法的流程示意图。
如图2所示,该批量文件同步方法可以包括以下步骤:
步骤S201,获取待同步的目标文件。
步骤S201的解释说明可以参见本申请任一实施例中的相关描述,在此不做赘述。
步骤S202,判断是否查询到与目标文件对应的第一目标同步记录信息,若否,则执行步骤S203至S204,若是,则执行步骤S205至S208。
在本申请实施例中,可以查询各执行过同步操作的文件的第一同步记录信息,以确定各第一同步记录信息中是否存在与目标文件对应的第一目标同步记录信息。
例如,第一同步记录信息中可以包括文件的存储路径,可以根据目标文件的存储路径,查询各第一同步记录信息,以确定是否存在与目标文件对应的第一目标同步记录信息。
在各第一同步记录信息中不存在与目标文件对应的第一目标同步记录信息的情况下,可以执行步骤S203至S204,在各第一同步记录信息中存在与目标文件对应的第一目标同步记录信息,可以执行步骤S205至S208。
需要说明的是,步骤S203至S204与步骤S205至S208为并列的两种实现方式,实际应用时,仅需择一执行。
步骤S203,确定目标文件未执行过同步操作。
在本申请实施例中,在未查询到与目标文件对应的第一目标同步记录信息的情形下,可以确定目标文件未执行过同步操作。
步骤S204,同步目标文件中的所有数据。
在本申请实施例中,在目标文件未执行过同步操作的情况下,可以同步目标文件中的所有数据,即将目标文件中的全部数据同步至目的文件服务器。
需要说明的是,在目标文件的同步过程中,可以记录目标文件的同步状态,在同步状态为同步成功状态的情况下,可以根据目标文件的同步状态生成目标文件对应的同步记录信息,在同步状态为同步失败状态的情况下,根据目标文件的同步状态和断点信息,生成目标文件对应的同步记录信息。
本申请中,还可以存储目标文件对应的同步记录信息,比如,存储介质可以为关系型数据库、文件等持久化存储。
作为一种示例,在目标文件同步结束时,如目标文件同步成功,生成的同步记录信息中该目标文件的同步状态可为同步成功状态。
作为另一种示例,在目标文件同步结束时,如网络异常导致目标文件同步失败,生成的同步记录信息中该目标文件的同步状态可为同步失败状态,并且,生成的同步记录信息中该目标文件的断点信息可用于指示本次同步过程中目标文件中数据同步的中断位置。
由此,对于首次同步的文件,将该文件完整地同步至目的文件服务器中,可以提升源文件服务器和目的文件服务器中同步的文件的一致性。并且,在文件同步结束(包括同步成功、同步失败)时,生成该文件的同步记录信息,从而在后续的文件同步过程中,可以根据各文件的同步记录信息,确定待同步的文件是否执行过同步操作,以及在执行过同步操作时文件的同步状态,从而可以无需对同步成功的文件进行再次同步,降低文件的同步成本,并且,可以根据各文件的同步记录信息,确定同步失败的文件,并对该同步失败的文件进行断点续传,进一步降低文件的同步成本。
在本申请实施例的一种可能的实现方式中,在目标文件的同步过程中,还可以记录目标文件的文件元信息,即目标文件对应的同步记录信息中还可以包括目标文件在执行同步操作时的文件元信息。
其中,记录的文件元信息用于指示目标文件是否发生更新,比如,记录的文件元信息中可以包括但不限于更新时间(或称为修改时间,即文件的最近一次修改时间)、文件大小等用于指示文件是否发生更新的元信息或元数据。
步骤S205,确定目标文件执行过同步操作。
在本申请实施例中,在查询到与目标文件对应的第一目标同步记录信息的情况下,可以确定目标文件执行过同步操作。
步骤S206,根据第一目标同步记录信息中的同步状态,确定目标文件的同步结果。
在本申请实施例中,可以根据第一目标同步记录信息中的同步状态,确定目标文件的同步结果,比如,在第一目标同步记录信息中的同步状态为同步成功状态时,确定目标文件的同步结果指示目标文件同步成功,在第一目标同步记录信息中的同步状态为同步失败状态时,确定目标文件的同步结果指示目标文件同步失败。
步骤S207,在目标文件的同步结果指示目标文件同步失败的情况下,从第一目标同步记录信息中获取目标文件的断点信息。
在本申请实施例中,在目标文件的同步结果指示目标文件同步失败的情况下,可以从第一目标同步记录信息中获取目标文件的断点信息。
步骤S208,根据断点信息同步目标文件。
步骤S208的解释说明可以参见本申请任一实施例中的相关描述,在此不做赘述。
需要说明的是,在目标文件同步成功时,可以将第一目标同步记录信息中的同步状态更新为同步成功状态。
本申请实施例的批量文件同步方法,在批量文件的同步过程中,记录每个执行过同步操作的文件的同步记录信息,从而可实现在每次同步文件时,根据同步记录信息,同步或传输同步状态为同步失败状态的各文件,而不同步或传输同步状态为同步成功状态的各文件,可以避免发生文件重复同步的情况。
在本申请实施例的另一种可能的实现方式中,可以在批量文件的同步过程中,记录批量文件中每一文件对应的同步记录信息(本申请中记为第二同步记录信息),即,针对批量文件中的任一文件,无论该任一文件是否执行过同步操作,均记录该任一文件对应的同步记录信息。其中,第二同步记录信息中可以包括对应文件是否执行过同步操作,以及在对应文件执行过同步操作的情形下的同步结果(用于指示对应文件是否同步成功),以及在对应文件的同步结果指示同步失败的情形下的断点信息,从而本申请中,可以根据维护的各第二同步记录信息,确定目标文件是否执行过同步操作,以及根据维护的第二同步记录信息,获取目标文件的同步结果和断点信息。下面结合图3,对上述过程进行详细说明。
图3为本申请实施例提供的另一种批量文件同步方法的流程示意图。
如图3所示,该批量文件同步方法可以包括以下步骤:
步骤S301,获取待同步的目标文件。
步骤S301的解释说明可以参见本申请任一实施例中的相关描述,在此不做赘述。
步骤S302,查询与目标文件对应的第二目标同步记录信息。
在本申请实施例中,可以查询各文件对应的第二同步记录信息,以从各第二同步记录信息中确定与目标文件对应的第二目标同步记录信息。
例如,第二同步记录信息中可以包括文件的存储路径,可以根据目标文件的存储路径,查询各第二同步记录信息,以从各第二同步记录信息中确定与目标文件对应的第二目标同步记录信息。
步骤S303,在第二目标同步记录信息指示目标文件执行过同步操作的情形下,确定目标文件执行过同步操作。
在本申请实施例中,第二目标同步记录信息还可以指示目标文件是否执行过同步操作,在第二目标同步记录信息指示目标文件执行过同步操作的情形下,可以确定目标文件执行过同步操作。
步骤S304,从第二目标同步记录信息中获取目标文件的同步结果。
在本申请实施例中,在目标文件执行过同步操作的情况下,可以进一步从第二目标同步记录信息中获取目标文件的同步结果(用于指示目标文件是否同步成功)。
步骤S305,在目标文件的同步结果指示目标文件同步失败的情况下,获取目标文件的断点信息。
步骤S306,根据断点信息同步目标文件。
步骤S305至S306的解释说明可以参见本申请任一实施例中的相关描述,在此不做赘述。
步骤S307,在第二目标同步记录信息指示目标文件未执行过同步操作的情形下,确定目标文件未执行过同步操作。
在本申请实施例中,在第二目标同步记录信息指示目标文件未执行过同步操作的情形下,可以确定目标文件未执行过同步操作。
步骤S308,同步目标文件中的所有数据。
步骤S308的解释说明可以参见本申请任一实施例中的相关描述,在此不做赘述。
需要说明的是,步骤S303至S306与步骤S307至S308为并列的两种实现方式,实际应用时,仅需择一执行。
需要说明的是,在目标文件同步成功时,可以更新第二目标同步记录信息中的同步结果,即更新后的同步结果指示目标文件同步成功。在目标文件同步失败时,可以更新第二目标同步记录信息中的同步结果和断点信息,即,更新后的同步结果指示目标文件同步失败,更新后的断点信息用于指示本次同步过程中目标文件中数据同步的中断位置。
本申请实施例的批量文件同步方法,在批量文件的同步过程中,记录每个文件的同步记录信息,从而可以实现在每次同步文件时,根据同步记录信息,同步或传输同步结果指示同步失败的各文件,而不同步或传输同步结果指示同步成功的各文件,可以避免发生文件重复同步的情况。
需要说明的是,在前一次文件同步结束之后,至本次文件同步开始之前,可能存在源文件服务器中的部分文件发生更新的情况,此时,为了提升文件同步的准确性和完整性,对于发生更新的文件,即使同步记录信息中包括该文件的断点信息,也不能根据该断点信息对文件进行断点续传。
即,在本申请的任意一个实施例之中,还可以维护批量文件的文件元信息,根据维护的文件元信息,确定执行过同步操作的文件是否发生更新,如果确定执行过同步操作的文件发生更新,则为了提升源文件服务器和目的文件服务器中同步的文件的一致性,可以重新对该文件进行同步,而无需根据断点信息对该文件进行断点续传。下面结合图4,对上述过程进行详细说明。
图4为本申请实施例提供的另一种批量文件同步方法的流程示意图。
如图4所示,步骤S105、S208或S306可以包括以下子步骤:
步骤S401,获取目标文件的当前文件元信息。
其中,当前文件元信息,又称为当前文件元数据,包括但不限于:目标文件的创建时间、更新时间(或称为修改时间,即文件的最近一次修改时间)、访问时间、访问次数、访问平均间隔、文件类型、作者信息、存储创建时间、存储地址、存储路径等等。
其中,创建时间,是指在源文件服务器访问内的创建时间;文件类型,是指文件所属的类型。
其中,访问平均间隔,可以是根据本次访问时间Tt和未更新前的最新访问时间(即前一次的访问时间)Tt-1,确定本次访问间隔,并将本次访问间隔与未更新前的访问平均间隔乘以未更新前的访问次数(N)相加后,再除以更新后的访问次数得到的。
例如,标记本次访问对应的访问平均间隔为St,未更新前的访问平均间隔St-1,则有:St=((Tt-Tt-1)+St-1*N)/(N+1)。
在本申请实施例中,可以从源文件服务器获取目标文件的当前文件元信息。
步骤S402,判断当前文件元信息与第三目标同步记录信息中的第三文件元信息是否匹配。
在本申请实施例中,第三目标同步记录信息可以包括第一同步记录信息或第二同步记录信息,其中,第一同步记录信息还可以包括执行过同步操作的文件的第一文件元信息,第二同步记录信息还可以包括对应文件的第二文件元信息。当第三同步记录信息为第一同步记录信息时,第三文件元信息可为第一文件元信息,当第三同步记录信息为第二同步记录信息时,第三文件元信息可为第二文件元信息。
其中,第一文件元信息或第二文件元信息包括但不限于更新时间、文件大小等用于指示文件是否发生更新的元信息或元数据。
在本申请实施例中,可以将当前文件元信息与第三目标同步记录信息中的第三文件元信息进行比对,以确定当前文件元信息与第三文件元信息是否匹配。
作为一种示例,为了提升比对结果的准确性,以第三文件元信息包括更新时间和文件大小进行示例性说明,当前文件元信息与第三文件元信息的匹配方式,例如为:判断当前文件元信息中的第一更新时间与第三文件元信息中的第二更新时间是否匹配,并且,判断当前文件元信息中的第一文件大小与第三文件元信息中的第二文件大小是否匹配,在第一更新时间与第二更新时间匹配,且第一文件大小与第二文件大小匹配的情况下,确定当前文件元信息与第三文件元信息匹配,而在第一更新时间与第二更新时间不匹配,和/或,第一文件大小与第二文件大小不匹配的情况下,确定当前文件元信息与第三文件元信息不匹配。
由此,可以实现根据文件大小和更新时间,有效确定目标文件在相邻的两次文件同步过程中是否发生更新,从而在发生更新的情况下,重新同步该目标文件,可以提升源文件服务器和目的文件服务器中同步的文件的一致性和完整性。
需要说明的是,上述仅以第三文件元信息包括更新时间和文件大小进行示例性说明,实际应用时,第三文件元信息中还可以包括其他用于指示文件是否发生更新的元信息,本申请对此并不做限制。
步骤S403,在当前文件元信息与第三文件元信息匹配的情况下,根据断点信息同步目标文件。
在本申请实施例中,在当前文件元信息与第三文件元信息匹配的情况下,表明目标文件未发生更新,此时,可以根据断点信息同步该目标文件。由此,不仅可以实现单个文件的断点续传,还可以提升源文件服务器和目的文件服务器中同步的文件的一致性和完整性,提升文件同步的准确性。
在本申请实施例的一种可能的实现方式中,在当前文件元信息与第三文件元信息不匹配的情况下,表明目标文件发生更新,此时,可以重新同步目标文件中的所有数据,即,将目标文件中的所有数据重新同步至目的文件服务器,以提升源文件服务器和目的文件服务器中同步的文件的一致性和完整性,提升文件同步的准确性。
本申请实施例的批量文件同步方法,只有在目标文件未发生更新的情况下,才对该目标文件进行断点续传,可以提升源文件服务器和目的文件服务器中同步的文件的一致性和完整性,并且,不仅可以实现批量文件的断点续传,还可以实现单个文件的断点续传,可以进一步降低文件的同步时长、网络和资源的开销。
需要说明的是,在前一次文件同步结束之后,至本次文件同步开始之前,可能存在源文件服务器中的部分文件发生更新的情况,此时,即使某个文件在前一次文件同步过程中同步成功,但是由于该文件在前一次文件同步结束之后发生了更新,也需要将该文件重新同步一次,以提升源文件服务器和目的文件服务器中同步的文件的一致性和完整性。下面结合图5,对上述过程进行详细说明。
图5为本申请实施例提供的另一种批量文件同步方法的流程示意图。
如图5所示,该批量文件同步方法可以包括以下步骤:
步骤S501,获取待同步的目标文件。
步骤S501的解释说明可以参见本申请任一实施例中的相关描述,在此不做赘述。
在本申请的任意一个实施例之中,目标文件的获取方式,例如可以为:在感知到或监测到源文件服务器中的目标文件发生更新时,获取目标文件,即,目标文件为源文件服务器中发生更新的文件。
在本申请的任意一个实施例之中,目标文件的获取方式,例如可以为:响应于用户触发的配置操作,配置第一目录层级范围(如第二层级(或第二层)至最后一个层级(或最后一层)、第二层级(或第二层)至第三层级(或第三层)等等),并从源文件服务器中获取与第一目录层级范围匹配的目标文件。其中,目标文件的数量可以为至少一个。
举例而言,假设第一目标层级范围为:第二层级至第三层级,则待同步的目标文件可以位于第二层级目录、第三层级目录。
在本申请的任意一个实施例之中,目标文件的获取方式,例如可以为:获取设定的第二目录层级范围,并从源文件服务器中获取与第二目录层级范围匹配的目标文件。其中,目标文件的数量可以为至少一个。
由此,可以实现根据不同方式,确定源文件服务器中的待同步的目标文件,可以提升该方法的适用性,并且,还可以由用户配置待同步的目标文件的范围,可以提升该方法的灵活性,满足不同用户的个性化使用需求。
步骤S502,判断目标文件是否执行过同步操作。
步骤S503,在目标文件执行过同步操作的情况下,获取目标文件的同步结果。
步骤S502至S503的解释说明可以参见本申请任一实施例中的相关描述,在此不做赘述。
步骤S504,在目标文件的同步结果指示目标文件同步成功的情况下,获取目标文件的当前文件元信息。
在本申请实施例中,在目标文件的同步结果指示目标文件同步成功的情况下,可以从源文件服务器中获取目标文件的当前文件元信息。
其中,对当前文件元信息的解释说明可以参见前述任一实施例中的相关描述,在此不做赘述。
步骤S505,判断当前文件元信息与第三目标同步记录信息中的第三文件元信息是否匹配,若是,则执行步骤S506,若否,则执行步骤S507。
其中,第三目标同步记录信息包括第一同步记录信息或第二同步记录信息。
步骤S505的解释说明可以参见前述任一实施例中的相关描述,在此不做赘述。
需要说明的是,步骤S506与步骤S507为并列的两种实现方式,实际应用时,仅需择一执行。
步骤S506,停止目标文件的文件同步过程。
在本申请实施例中,在当前文件元信息与第三文件元信息匹配的情况下,表明目标文件未发生更新,此时,可以无需重复同步该目标文件,因此,可以停止目标文件的文件同步过程,即,在目标文件并非为最后一个待同步的文件时,可以对下一个文件执行文件同步操作,而在目标文件为最后一个待同步的文件时,可以结束本次文件同步过程。
步骤S507,重新同步目标文件中的所有数据。
在本申请实施例中,在当前文件元信息与第三文件元信息不匹配的情况下,表明目标文件发生更新,此时,为了提升源文件服务器和目的文件服务器中同步的文件的一致性和完整性,可以重新同步目标文件中的所有数据。
在本申请实施例的一种可能的实现方式中,如果在本次文件同步过程中,目标文件同步失败,比如在本次文件同步过程中,再次发生了网络故障,而导致该目标文件同步失败,则可以对该目标文件的同步记录信息(包括第一目标同步记录信息或第二目标同步记录信息)进行更新。比如,可以将第一目标同步记录信息中的同步状态更新为同步失败状态,并将目标文件的断点信息添加至目标文件对应的更新后的第一目标同步记录信息中,或者,可以将目标文件的断点信息添加至第二目标同步记录信息中,并将第二目标同步记录信息中的同步结果更新为用于指示同步失败的同步结果,以使下一次文件同步时,根据更新后的同步记录信息(包括第一目标同步记录信息或第二目标同步记录信息)对该目标文件进行断点续传,降低文件的传输成本。
其中,断点信息为本次同步过程中目标文件中数据同步的中断位置。
本申请实施例的批量文件同步方法,对于源文件服务器中已同步过的文件,当该文件发生更新时,需要将该文件重新同步至目的文件服务器中,以提升源文件服务器和目的文件服务器中同步的文件的一致性和完整性。
在本申请的任意一个实施例之中,为了解决相关技术中对于批量文件上云等场景,由于网络、服务等异常导致文件重传成本高的问题,本申请中,可以实现目录文件的断点续传,具体地,主要包括两个维度:
第一个维度:文件维度。即,在某个大文件的同步或传输过程中,由于网络、服务等异常或故障,而导致文件同步上云失败时,该文件成功上传的部分无需再重新同步,从失败上传处进行断点续传。
第二个维度:目录维度。即,在某个目录存在大量文件时,成功传输过且未发生变化的文件不再重新同步上云。
其中,第一个维度为现有的成熟技术,因此,本申请主要针对第二个维度进行详细说明,以在文件同步过程中,记录执行过同步操作的文件对应的同步记录信息进行示例性说明,实现原理如图6所示,主要步骤包括:
第1步,从源文件服务器,列举待同步目录下的各文件的文件元信息,若存在文件,则进行第2步,若不存在文件,则停止本次运行(即停止本次文件同步过程)。
第2步,加载各文件的同步记录信息(或称为记录元信息、记录的文件元信息),并从第1步中获取各文件的文件元信息,进行同步判断:
需要说明的是,对于首次同步的文件,该文件没有对应的同步记录信息。
①判断文件是否同步过;
②判断文件是否同步成功;
③判断文件是否发生变化,即判断文件元信息中的最后修改时间和同步记录信息中的最后修改时间是否一致;
④判断文件元信息中的文件大小和同步记录信息中的文件大小是否一致(③和④的目的为:在确定文件发生变化时,能够重新同步文件)。
第3步,若某个文件同步成功且未发生变化(即①-④的判断结果均为“是”),则说明该文件同步成功,即可跳过该文件传输,进行下一个文件传输判断。
第4步,若该文件在第2步中①的判断结果为“否”,则说明该文件未同步过,可以同步该文件中的所有数据;若该文件在第2步中①的判断结果为“是”,但②的判断结果为“否”,则说明该文件上一次同步失败,则可以从该文件的同步记录信息中读取该文件的断点位置,并从断点位置处续传该文件。
第5步,若该文件在第2步中①-②的判断结果均为“是”,但③-④的判断结果均为“否”,则说明该文件发生过修改,需要重新同步该文件。
第6步,当文件同步结束(包括同步成功、同步失败)时,设置该文件同步状态(成功/失败)、最后修改时间、文件大小到文件元信息中(存储介质如关系型数据库、文件等持久化存储)。
通过上述步骤,可以完成目录以及文件的断点续传、减少传输时间、网络、资源等成本。即,通过记录文件的同步记录信息,来实现目录的断点续传,通过记录文件的修改时间和大小,来实现文件的断点续传,提升文件的完整性。
与上述几种实施例提供的批量文件同步方法相对应,本申请的一种实施例还提供一种批量文件同步装置。由于本申请实施例提供的批量文件同步装置与上述几种实施例提供的批量文件同步方法相对应,因此在批量文件同步方法的实施方式也适用于本实施例提供的批量文件同步装置,在本实施例中不再详细描述。
图7为根据本申请一个实施例的批量文件同步装置的结构示意图。
如图7所示,该批量文件同步装置700,维护了批量文件是否执行过同步操作,同步结果,以及在同步失败的情形下的断点信息,可以包括:第一获取模块701、判断模块702、第二获取模块703、第三获取模块704以及同步模块705。
其中,第一获取模块701,用于获取待同步的目标文件。
判断模块702,用于判断目标文件是否执行过同步操作。
第二获取模块703,用于在目标文件执行过同步操作的情况下,获取目标文件的同步结果。
第三获取模块704,用于在目标文件的同步结果指示目标文件同步失败的情况下,获取目标文件的断点信息。
同步模块705,用于根据断点信息同步目标文件。
作为本申请实施例的一种可能的实现方式,维护了与批量文件中执行过同步操作的文件对应的第一同步记录信息;第一同步记录信息包括执行过同步操作的文件的同步状态和在同步失败的情形下的断点信息。
判断模块702,具体用于:在查询到与目标文件对应的第一目标同步记录信息的情形下,确定目标文件执行过同步操作;在未查询到与目标文件对应的第一目标同步记录信息的情形下,确定目标文件未执行过同步操作。
第二获取模块703,具体用于:根据第一目标同步记录信息中的同步状态,确定目标文件的同步结果。
第三获取模块704,具体用于:从第一目标同步记录信息获取目标文件的断点信息。
作为本申请实施例的一种可能的实现方式,维护了与批量文件中每一文件对应的第二同步记录信息;第二同步记录信息包括对应文件是否执行过同步操作,同步结果和在同步失败的情形下的断点信息。
判断模块702,具体用于:查询与目标文件对应的第二目标同步记录信息;在第二目标同步记录信息指示目标文件执行过同步操作的情形下,确定目标文件执行过同步操作;在第二目标同步记录信息指示目标文件未执行过同步操作的情形下,确定目标文件未执行过同步操作。
第二获取模块703,具体用于:从第二目标同步记录信息获取目标文件的同步结果。
第三获取模块704,具体用于:从第二目标同步记录信息获取目标文件的断点信息。
作为本申请实施例的一种可能的实现方式,第一同步记录信息还包括执行过同步操作的文件的第一文件元信息,第二同步记录信息还包括对应文件的第二文件元信息。
同步模块705,具体用于:获取目标文件的当前文件元信息;判断当前文件元信息与第三目标同步记录信息中的第三文件元信息是否匹配;其中,第三目标同步记录信息包括第一同步记录信息或第二同步记录信息;在当前文件元信息与第三文件元信息匹配的情况下,根据断点信息同步目标文件。
作为本申请实施例的一种可能的实现方式,同步模块705,还用于:在当前文件元信息与第三文件元信息不匹配的情况下,重新同步目标文件中的所有数据。
作为本申请实施例的一种可能的实现方式,同步模块705,具体用于:判断当前文件元信息中的第一更新时间与第三文件元信息中的第二更新时间是否匹配;判断当前文件元信息中的第一文件大小与第三文件元信息中的第二文件大小是否匹配;在第一更新时间与第二更新时间匹配,且第一文件大小与第二文件大小匹配的情况下,确定当前文件元信息与第三文件元信息匹配;在第一更新时间与第二更新时间不匹配,和/或,第一文件大小与第二文件大小不匹配的情况下,确定当前文件元信息与第三文件元信息不匹配。
作为本申请实施例的一种可能的实现方式,第一同步记录信息还包括执行过同步操作的文件的第一文件元信息,第二同步记录信息还包括对应文件的第二文件元信息;该批量文件同步装置700,还可以包括:
第四获取模块,用于在目标文件的同步结果指示目标文件同步成功的情况下,获取目标文件的当前文件元信息。
判断模块702,还用于:判断当前文件元信息与第三目标同步记录信息中的第三文件元信息是否匹配;其中,第三目标同步记录信息包括第一同步记录信息或第二同步记录信息。
停止模块,用于在当前文件元信息与所第三文件元信息匹配的情况下,停止目标文件的文件同步过程。
同步模块705,还用于:在当前文件元信息与所第三文件元信息不匹配的情况下,重新同步目标文件中的所有数据。
作为本申请实施例的一种可能的实现方式,同步模块705,还用于:在目标文件未执行过同步操作的情况下,同步目标文件中的所有数据。
作为本申请实施例的一种可能的实现方式,第一获取模块701,具体用于:在监测到源文件服务器中的目标文件发生更新时,获取目标文件;或者,响应于配置操作,配置第一目录层级范围,并从源文件服务器中获取与第一目录层级范围匹配的待同步的目标文件;或者,获取设定的第二目录层级范围,并从源文件服务器中获取与第二目录层级范围匹配的待同步的目标文件。
本申请实施例中的批量文件同步装置,通过获取待同步的目标文件;判断目标文件是否执行过同步操作;在目标文件执行过同步操作的情况下,获取目标文件的同步结果;在目标文件的同步结果指示目标文件同步失败的情况下,获取目标文件的断点信息;根据断点信息同步目标文件。由此,通过维护批量文件是否执行过同步操作、同步结果以及在同步结果指示同步失败的情形下的断点信息,从而可以实现在每次同步批量文件时,同步或传输同步结果指示同步失败的各文件,而不同步或传输同步结果指示同步成功的各文件,可以避免发生文件重复同步的情况,降低批量文件的同步时长、网络和资源的开销。并且,对于同步失败的文件,可以根据记录的断点信息对该文件进行断点续传,可以进一步降低批量文件的同步时长、网络和资源的开销。例如,在批量文件同步失败的场景下,由于无需再次同步或传输同步结果指示同步成功的各文件,可以实现批量文件的断点续传,降低批量文件的同步成本。
为了实现上述实施例,本申请还提出一种电子设备,图8为本申请实施例提供的一种电子设备的结构示意图。该电子设备包括:
存储器801、处理器802及存储在存储器801上并可在处理器802上运行的计算机程序。
处理器802执行所述程序时实现上述任一实施例中提供的批量文件同步方法。
进一步地,电子设备还包括:
通信接口803,用于存储器801和处理器802之间的通信。
存储器801,用于存放可在处理器802上运行的计算机程序。
存储器801可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器802,用于执行所述程序时实现上述任一实施例所述的文件同步方法。
如果存储器801、处理器802和通信接口803独立实现,则通信接口803、存储器801和处理器802可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器801、处理器802及通信接口803,集成在一块芯片上实现,则存储器801、处理器802及通信接口803可以通过内部接口完成相互间的通信。
处理器802可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
为了实现上述实施例,本申请实施例还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述任一实施例中提供的批量文件同步方法。
为了实现上述实施例,本申请实施例还提出一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,实现上述任一实施例中提供的批量文件同步方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (12)
1.一种批量文件同步方法,其特征在于,维护了所述批量文件是否执行过同步操作,同步结果,以及在同步失败的情形下的断点信息;所述方法包括:
获取待同步的目标文件;
判断所述目标文件是否执行过同步操作;
在所述目标文件执行过同步操作的情况下,获取所述目标文件的同步结果;
在所述目标文件的同步结果指示所述目标文件同步失败的情况下,获取所述目标文件的断点信息;
根据所述断点信息同步所述目标文件。
2.根据权利要求1所述的方法,其特征在于,维护了与所述批量文件中执行过同步操作的文件对应的第一同步记录信息;所述第一同步记录信息包括所述执行过同步操作的文件的同步状态和在同步失败的情形下的断点信息;
所述判断所述目标文件是否执行过同步操作,包括:
在查询到与所述目标文件对应的第一目标同步记录信息的情形下,确定所述目标文件执行过同步操作;
在未查询到与所述目标文件对应的第一目标同步记录信息的情形下,确定所述目标文件未执行过同步操作;
所述获取所述目标文件的同步结果,包括:
根据所述第一目标同步记录信息中的同步状态,确定所述目标文件的同步结果;
所述获取所述目标文件的断点信息,包括:
从所述第一目标同步记录信息获取所述目标文件的断点信息。
3.根据权利要求1所述的方法,其特征在于,维护了与所述批量文件中每一文件对应的第二同步记录信息;所述第二同步记录信息包括对应文件是否执行过同步操作,同步结果和在同步失败的情形下的断点信息;
所述判断所述目标文件是否执行过同步操作,包括:
查询与所述目标文件对应的第二目标同步记录信息;
在所述第二目标同步记录信息指示所述目标文件执行过同步操作的情形下,确定所述目标文件执行过同步操作;
在所述第二目标同步记录信息指示所述目标文件未执行过同步操作的情形下,确定所述目标文件未执行过同步操作;
所述获取所述目标文件的同步结果,包括:
从所述第二目标同步记录信息获取所述目标文件的同步结果;
所述获取所述目标文件的断点信息,包括:
从所述第二目标同步记录信息获取所述目标文件的断点信息。
4.根据权利要求2或3所述的方法,其特征在于,第一同步记录信息还包括执行过同步操作的文件的第一文件元信息,第二同步记录信息还包括对应文件的第二文件元信息;
所述根据所述断点信息同步所述目标文件,包括:
获取所述目标文件的当前文件元信息;
判断所述当前文件元信息与第三目标同步记录信息中的第三文件元信息是否匹配;其中,所述第三目标同步记录信息包括所述第一同步记录信息或所述第二同步记录信息;
在所述当前文件元信息与所述第三文件元信息匹配的情况下,根据所述断点信息同步所述目标文件。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述当前文件元信息与所述第三文件元信息不匹配的情况下,重新同步所述目标文件中的所有数据。
6.根据权利要求4所述的方法,其特征在于,所述判断所述当前文件元信息与第三目标同步记录信息中的第三文件元信息是否匹配,包括:
判断所述当前文件元信息中的第一更新时间与所述第三文件元信息中的第二更新时间是否匹配;
判断所述当前文件元信息中的第一文件大小与所述第三文件元信息中的第二文件大小是否匹配;
在所述第一更新时间与所述第二更新时间匹配,且所述第一文件大小与所述第二文件大小匹配的情况下,确定所述当前文件元信息与所述第三文件元信息匹配;
在所述第一更新时间与所述第二更新时间不匹配,和/或,所述第一文件大小与所述第二文件大小不匹配的情况下,确定所述当前文件元信息与所述第三文件元信息不匹配。
7.根据权利要求2或3所述的方法,其特征在于,第一同步记录信息还包括执行过同步操作的文件的第一文件元信息,第二同步记录信息还包括对应文件的第二文件元信息;
所述在所述目标文件执行过同步操作的情况下,获取所述目标文件的同步结果之后,所述方法还包括:
在所述目标文件的同步结果指示所述目标文件同步成功的情况下,获取所述目标文件的当前文件元信息;
判断所述当前文件元信息与第三目标同步记录信息中的第三文件元信息是否匹配;其中,所述第三目标同步记录信息包括所述第一同步记录信息或所述第二同步记录信息;
在所述当前文件元信息与所第三文件元信息匹配的情况下,停止所述目标文件的文件同步过程;
在所述当前文件元信息与所第三文件元信息不匹配的情况下,重新同步所述目标文件中的所有数据。
8.根据权利要求1-3中任一项所述的方法,其特征在于,所述判断所述目标文件是否执行过同步操作之后,所述方法还包括:
在所述目标文件未执行过同步操作的情况下,同步所述目标文件中的所有数据。
9.根据权利要求1-3中任一项所述的方法,其特征在于,所述获取待同步的目标文件,包括:
在监测到源文件服务器中的目标文件发生更新时,获取所述目标文件;
或者,
响应于配置操作,配置第一目录层级范围,并从所述源文件服务器中获取与所述第一目录层级范围匹配的待同步的目标文件;
或者,
获取设定的第二目录层级范围,并从所述源文件服务器中获取与所述第二目录层级范围匹配的待同步的目标文件。
10.一种批量文件同步装置,其特征在于,维护了所述批量文件是否执行过同步操作,同步结果,以及在同步失败的情形下的断点信息;所述装置包括:
第一获取模块,用于获取待同步的目标文件;
判断模块,用于判断所述目标文件是否执行过同步操作;
第二获取模块,用于在所述目标文件执行过同步操作的情况下,获取所述目标文件的同步结果;
第三获取模块,用于在所述目标文件的同步结果指示所述目标文件同步失败的情况下,获取所述目标文件的断点信息;
同步模块,用于根据所述断点信息同步所述目标文件。
11.一种电子设备,其特征在于,包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1-9中任一项所述的批量文件同步方法。
12.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一项所述的批量文件同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310453286.8A CN116527655A (zh) | 2023-04-21 | 2023-04-21 | 批量文件同步方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310453286.8A CN116527655A (zh) | 2023-04-21 | 2023-04-21 | 批量文件同步方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116527655A true CN116527655A (zh) | 2023-08-01 |
Family
ID=87389687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310453286.8A Pending CN116527655A (zh) | 2023-04-21 | 2023-04-21 | 批量文件同步方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116527655A (zh) |
-
2023
- 2023-04-21 CN CN202310453286.8A patent/CN116527655A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3125501B1 (en) | File synchronization method, server, and terminal | |
EP2948875B1 (en) | Method and system for using a recursive event listener on a node in hierarchical data structure | |
KR20120018178A (ko) | 객체 저장부들의 네트워크상의 스웜-기반의 동기화 | |
CN115599747B (zh) | 一种分布式存储系统的元数据同步方法、系统及设备 | |
US20150227605A1 (en) | Information processing terminal, synchronization control method, and computer-readable recording medium | |
CN106817387B (zh) | 一种数据同步方法、装置和系统 | |
US9268811B1 (en) | Replay of writes in replication log | |
CN113626522A (zh) | 数据同步方法、装置、介质及设备 | |
US20090164840A1 (en) | System and Method For Managing Root File System | |
CN112052230A (zh) | 多机房数据同步方法、计算设备及存储介质 | |
CN116185995A (zh) | 数据迁移方法、装置、电子设备及存储介质 | |
CN104580425A (zh) | 一种客户端数据同步方法及系统 | |
CN112636987B (zh) | 一种区块链的跨链网关确定方法、系统及终端设备 | |
CN112732702B (zh) | 数据库引擎文件处理方法及装置 | |
CN110989934A (zh) | 区块链节点数据存储方法、区块链系统及区块链节点 | |
CN117112508B (zh) | 基于序号的文件同步方法、装置、计算机设备及存储介质 | |
CN109783463A (zh) | 文件同步方法、装置及计算机可读存储介质 | |
CN113742376A (zh) | 一种同步数据的方法、第一服务器以及同步数据的系统 | |
CN116527655A (zh) | 批量文件同步方法、装置、电子设备及存储介质 | |
CN112000850A (zh) | 进行数据处理的方法、装置、系统及设备 | |
CN114981796A (zh) | 数据同步方法、装置、数据存储系统及计算机可读介质 | |
CN110990360A (zh) | 基于网络存储设备的文件同步方法及相关组件 | |
CN111147226A (zh) | 数据存储方法、装置及存储介质 | |
CN115865895A (zh) | 一种文件上传方法、装置及存储介质 | |
CN111352916B (zh) | 基于nas存储系统的数据存储方法、系统及存储介质 |
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 |