CN111291011A - 文件同步方法及装置、电子设备和可读存储介质 - Google Patents
文件同步方法及装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN111291011A CN111291011A CN202010103347.4A CN202010103347A CN111291011A CN 111291011 A CN111291011 A CN 111291011A CN 202010103347 A CN202010103347 A CN 202010103347A CN 111291011 A CN111291011 A CN 111291011A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- modification time
- time
- electronic equipment
- 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.)
- Granted
Links
Images
Classifications
-
- 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供了一种文件同步方法,包括:获得第一修改时间,第一修改时间为最新一次修改第一电子设备中的目标文件的时间;获得第二修改时间,第二修改时间为最新一次修改第二电子设备中的目标文件的时间;以及根据第一修改时间和第二修改时间,对第一电子设备中的目标文件进行同步处理。本公开还提供了另一种文件同步方法、第一文件同步装置、一种第二文件同步装置、一种第一电子设备、一种第二电子设备和一种可读存储介质。
Description
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种文件同步方法、一种第一文件同步装置、一种第二文件同步装置、一种第一电子设备、一种第二电子设备和一种可读存储介质。
背景技术
随着计算机技术的快速发展,建立了通信连接的不同电子设备之间可以实现文件同步。例如,用户在客户端修改文件之后,客户端可以将修改后的文件同步给建立了通信连接的服务器,从而实现客户端与服务器之间的的文件同步。
然而,在实现本公开构思的过程中,发明人发现,在文件较多或单个文件较大时,文件同步速度比较慢,降低了文件同步效率。
发明内容
有鉴于此,本公开提供了一种文件同步方法、一种第一文件同步装置、一种第二文件同步装置、一种第一电子设备、一种第二电子设备和一种可读存储介质。
本公开的一个方面提供了一种文件同步方法,包括:获得第一修改时间,上述第一修改时间为最新一次修改第一电子设备中的目标文件的时间;获得第二修改时间,上述第二修改时间为最新一次修改第二电子设备中的目标文件的时间;以及根据上述第一修改时间和上述第二修改时间,对上述第一电子设备中的目标文件进行同步处理。
根据本公开的实施例,根据上述第一修改时间和上述第二修改时间,对上述第一电子设备中的目标文件进行同步处理包括:如果上述第二修改时间晚于上述第一修改时间,则将上述第一电子设备中的目标文件替换为上述第二电子设备中的目标文件。
根据本公开的实施例,上述的方法还包括:如果上述第二修改时间晚于上述第一修改时间,向上述第二电子设备发送用于请求获取上述第二电子设备中的目标文件的内容同步请求;以及接收由上述第二电子设备发送的上述第二电子设备中的上述目标文件。
根据本公开的实施例,根据上述第一修改时间和上述第二修改时间,对上述第一电子设备中的目标文件进行同步处理包括:如果上述第二修改时间早于上述第一修改时间,向上述第二电子设备发送上述第一电子设备中的目标文件,以使上述第二电子设备将上述第二电子设备中的目标文件替换为上述第一电子设备中的目标文件。
根据本公开的实施例,上述的方法还包括:获得上述第一电子设备的时钟值与上述第二电子设备的时钟值之间的时间差。
其中,根据上述第一修改时间和上述第二修改时间,对上述第一电子设备中的目标文件进行同步处理包括:确定上述时间差、上述第一修改时间和上述第二修改时间之间是否满足第一预设条件;以及如果确定满足上述第一预设条件,则向上述第二电子设备发送上述第一电子设备中的目标文件,以使上述第二电子设备将上述第二电子设备中的目标文件替换为上述第一电子设备中的目标文件。
根据本公开的实施例,根据上述第一修改时间和上述第二修改时间,对上述第一电子设备中的目标文件进行同步处理还包括:确定上述时间差、上述第一修改时间和上述第二修改时间之间是否满足第二预设条件;如果确定满足上述第二预设条件,则接收由上述第二电子设备发送的上述第二电子设备中的上述目标文件;以及将上述第一电子设备中的目标文件替换为上述第二电子设备中的目标文件。
根据本公开的实施例,上述时间差包括上述第一电子设备的时钟值减去上述第二电子设备的时钟值得到的差值;上述第一预设条件包括上述第一修改时间减去上述差值大于上述第二修改时间;上述第二预设条件包括上述第一修改时间减去上述差值小于上述第二修改时间。
根据本公开的实施例,上述获得第二修改时间包括:向上述第二电子设备发送用于请求获取上述第二修改时间的获取请求;以及接收由上述第二电子设备发送的上述第二修改时间。
根据本公开的实施例,上述的方法还包括:确定上述第一电子设备中是否存在新增的文件;以及在上述第一电子设备中存在新增的文件的情况下,向上述第二电子设备发送上述新增的文件,以使得在上述第一电子设备和上述第二电子设备之间实现文件同步。
本公开的另一个方面提供了一种文件同步方法,包括:接收由第一电子设备发送的用于请求获取第二修改时间的获取请求,其中,上述第二修改时间为最新一次修改第二电子设备中的目标文件的时间;以及响应于上述获取请求,向上述第一电子设备发送上述第二修改时间,以使得上述第一电子设备根据第一修改时间和上述第二修改时间,对上述第一电子设备中的目标文件进行同步处理,其中,上述第一修改时间为最新一次修改上述第一电子设备中的目标文件的时间。
根据本公开的实施例,上述的方法还包括:接收由上述第一电子设备在上述第二修改时间晚于上述第一修改时间的情况下发送的用于请求获取上述第二电子设备中的目标文件的内容同步请求;以及响应于上述内容同步请求,向上述第一电子设备发送上述第二电子设备中的目标文件,以使得上述第一电子设备将上述第一电子设备中的目标文件替换为上述第二电子设备中的目标文件。
根据本公开的实施例,上述的方法还包括:接收由上述第一电子设备在上述第二修改时间早于上述第一修改时间的情况下发送的上述第一电子设备中的目标文件;以及将上述第二电子设备中的目标文件替换为上述第一电子设备中的目标文件。
根据本公开的实施例,上述的方法还包括:获得上述第一电子设备的时钟值与上述第二电子设备的时钟值之间的时间差;向上述第一电子设备发送上述时间差,以使得上述第一电子设备在上述时间差、上述第一修改时间和上述第二修改时间之间满足第一预设条件的情况下向上述第二电子设备发送上述第一电子设备中的目标文件;从上述第一电子设备接收上述第一电子设备中的目标文件;以及将上述第二电子设备中的目标文件替换为上述第一电子设备中的目标文件。
根据本公开的实施例,上述的方法还包括:在向上述第一电子设备发送上述时间差之后,接收由上述第一电子设备在上述时间差、上述第一修改时间和上述第二修改时间之间满足第二预设条件的情况下发送的内容同步请求,其中,上述内容同步请求用于请求获取上述第二电子设备中的目标文件;以及响应于上述内容同步请求,向上述第一电子设备发送上述第二电子设备中的目标文件,以使得将上述第一电子设备中的目标文件替换为上述第二电子设备中的目标文件。
根据本公开的实施例,上述时间差包括上述第一电子设备的时钟值减去上述第二电子设备的时钟值得到的差值;上述第一预设条件包括上述第一修改时间减去上述差值大于上述第二修改时间;上述第二预设条件包括上述第一修改时间减去上述差值小于上述第二修改时间。
根据本公开的实施例,上述的方法还包括:接收由上述第一电子设备在存在新增的文件的情况下发送的上述新增的文件,以使得在上述第一电子设备和上述第二电子设备之间实现文件同步。
本公开的又一个方面提供了一种第一文件同步装置,包括:第一获取模块,用于获得第一修改时间,上述第一修改时间为最新一次修改第一电子设备中的目标文件的时间;第二获取模块,用于获得第二修改时间,上述第二修改时间为最新一次修改第二电子设备中的目标文件的时间;以及处理模块,用于根据上述第一修改时间和上述第二修改时间,对上述第一电子设备中的目标文件进行同步处理。
本公开的再一个方面提供了一种第二文件同步装置,包括:接收模块,用于接收由第一电子设备发送的用于请求获取第二修改时间的获取请求,其中,上述第二修改时间为最新一次修改第二电子设备中的目标文件的时间;以及发送模块,用于响应上述获取请求,向上述第一电子设备发送上述第二修改时间,以使得上述第一电子设备根据第一修改时间和上述第二修改时间,对上述第一电子设备中的目标文件进行同步处理,其中,上述第一修改时间为最新一次修改上述第一电子设备中的目标文件的时间。
本公开的再一个方面提供了一种第一电子设备,包括:第一处理器;第一存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述第一处理器执行时,使得上述第一处理器实现如上所述的方法。
本公开的再一个方面提供了一种第二电子设备,包括:第二处理器;第二存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述第二处理器执行时,使得所述第二处理器实现如上所述的方法。
本公开的再一个方面提供了一种可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例,通过获得最新一次修改第一电子设备中的目标文件的第一修改时间和最新一次修改第二电子设备中的目标文件的第二修改时间,并根据第一修改时间和第二修改时间确定需要同步的文件,使得可以同步最新的文件,由此保证了第一电子设备和第二电子设备中存储的文件均是最新的文件,从而第一电子设备和第二电子设备无需读取本端的文件内容。因此,至少部分地克服了相关技术中进行文件同步所消耗的时间较长,而且处理流程较为复杂的技术问题,进而实现了提高文件同步效率的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用文件同步方法及装置的示例性***架构;
图2示意性示出了根据本公开实施例的文件同步方法的流程图;
图3示意性示出了根据本公开实施例的将本地机器的文件同步到远程机器的示意图;
图4示意性示出了根据本公开另一实施例的将远程机器上的文件同步到本地机器的示意图;
图5示意性示出了根据本公开另一实施例的文件同步方法的流程图;
图6示意性示出了根据本公开另一实施例的文件同步方法的流程图;
图7示意性示出了根据本公开实施例的获得第一电子设备的时钟值与第二电子设备的时钟值之间的时间差的示意图;
图8示意性示出了根据本公开另一实施例的文件同步方法的流程图;
图9示意性示出了根据本公开实施例的第一文件同步装置的框图;
图10示意性示出了根据本公开另一实施例的第二文件同步装置的框图;以及
图11示意性示出了根据本公开实施例的第一电子设备或第二电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
根据相关技术,在进行客户端与服务器之间的文件同步时,客户端与服务器需要分别读取本端的文件内容,并基于读取到的文件内容分别计算文件特征值,通过比较客户端与服务器分别计算得到的文件特征值是否相同,确定是否进行文件同步。但是基于读取到的文件内容分别计算文件特征值确定是否进行文件同步的技术方案所消耗的时间较长,而且处理流程较为复杂。
本公开的实施例提供了一种文件同步方法,可以包括:获得最新一次修改第一电子设备中的目标文件的第一修改时间。然后,获得最新一次修改第二电子设备中的目标文件的第二修改时间。接下来,根据第一修改时间和第二修改时间,对第一电子设备中的目标文件进行同步处理。
图1示意性示出了根据本公开实施例的可以应用文件同步方法及装置的示例性***架构。需要注意的是,图1所示仅为可以应用本公开实施例的***架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、***、环境或场景。
根据本公开的实施例,例如,本公开实施例所提供的文件同步方法可以适用于将本地设备中的文件同步到远程设备,或者将远程设备中的文件同步到本地设备的场景。
根据本公开的实施例,例如,本公开实施例所提供的文件同步方法也可以适用于将本地第一设备中的文件同步到本地第二设备,或者将本地第二设备设置中的文件同步到本地第一设备的场景。
以下对将本地设备中的文件同步到远程设备,或者将远程设备中的文件同步到本地设备的场景架构进行介绍。
如图1所示,根据该实施例的***架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等等。其中,在一实施例中,终端设备101、102、103可以是第一电子设备,服务器105可以是第二电子设备。在另一实施例中,服务器105可以是第一电子设备,终端设备101、102、103可以是第二电子设备。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等,终端设备101、102、103中的文件可以同步到服务器105中。终端设备101、102、103上可以安装有各种客户端应用,例如搜索类应用、网页浏览器应用、地图应用、网盘应用、邮箱客户端和/或社交平台应用等(仅为示例)。
终端设备101、102、103可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的文件同步请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的数据等)反馈给终端设备101、102、103。服务器105中的文件也可以同步到终端设备101、102、103中。
需要说明的是,本公开实施例所提供的文件同步方法可以由终端设备101、102、或103执行,或者也可以由不同于终端设备101、102、或103的其他终端设备执行。相应地,本公开实施例所提供的对应文件同步装置也可以设置于终端设备101、102、或103中,或设置于不同于终端设备101、102、或103的其他终端设备中。
或者,本公开实施例所提供的文件同步方法也可以由服务器105执行。相应地,本公开实施例所提供的对应文件同步装置一般可以设置于服务器105中。本公开实施例所提供的文件同步方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的文件同步装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的文件同步方法的流程图。
该方法可以由第一电子设备执行。如图2所示,该方法可以包括以下操作S210~S230。
在操作S210,获得第一修改时间,其中,第一修改时间为最新一次修改第一电子设备中的目标文件的时间。
根据本公开的实施例,第一修改时间表示了最后一次修改第一电子设备中的目标文件的最后修改时间。
在操作S220,获得第二修改时间,其中,第二修改时间为最新一次修改第二电子设备中的目标文件的时间。
根据本公开的实施例,第二修改时间表示了最后一次修改第二电子设备中的目标文件的最后修改时间。
根据本公开的实施例,第一电子设备可以向第二电子设备发送用于请求获取第二修改时间的获取请求。第二电子设备可以接收由第一电子设备发送的获取请求,并响应于该获取请求,向第一电子设备发送第二修改时间。
根据本公开的实施例,第一电子设备中的目标文件和第二电子设备中的目标文件可以是具有关联关系的同步文件。在没有修改第一电子设备中的目标文件和第二电子设备中的目标文件的情况下,第一电子设备中的目标文件和第二电子设备中的目标文件的文件内容相同。根据本公开的实施例,第一电子设备中的目标文件和第二电子设备中的目标文件的文件名和文件类型等属性信息可以相同。
根据本公开的实施例,目标文件的类型不作限定。例如,目标文件的类型可以是视频文件、音频文件、或者图片文件等等。
在操作S230,根据第一修改时间和第二修改时间,对第一电子设备中的目标文件进行同步处理。
根据本公开的实施例,可以将第一修改时间和第二修改时间进行比较,以确定第一电子设备中的目标文件和第二电子设备中的目标文件的被修改时间顺序。
根据本公开的实施例,在将第一修改时间和第二修改时间进行比较之后,如果确定第二修改时间晚于第一修改时间,则可以将第一电子设备中的目标文件替换为第二电子设备中的目标文件。换言之,如果第二修改时间晚于第一修改时间,那么,第二电子设备中的目标文件是最后被修改的。此时,第一电子设备中的目标文件已经不是最新的文件,因此,需要将第一电子设备中的目标文件替换为第二电子设备中的目标文件。
根据本公开的实施例,如果第二修改时间晚于第一修改时间,第一电子设备可以向第二电子设备发送用于请求获取第二电子设备中的目标文件的内容同步请求。第二电子设备对内容同步请求进行响应,第一电子设备可以接收由第二电子设备发送的第二电子设备中的目标文件,从而使得第一电子设备获得最新的文件。
根据本公开的实施例,在第二修改时间晚于第一修改时间的情况下,第二电子设备可以接收由第一电子设备发送的用于请求获取第二电子设备中的目标文件的内容同步请求,并响应于内容同步请求,向第一电子设备发送第二电子设备中的目标文件,以使得第一电子设备将第一电子设备中的目标文件替换为第二电子设备中的目标文件。
根据本公开的实施例,在第一电子设备将第一电子设备中的目标文件替换为第二电子设备中的目标文件之后,可以将第一电子设备中的目标文件的最后修改时间修改为第二电子设备中的目标文件的最后修改时间。
根据本公开的实施例,如果第二修改时间早于第一修改时间,第一电子设备可以向第二电子设备发送第一电子设备中的目标文件,以使第二电子设备将第二电子设备中的目标文件替换为第一电子设备中的目标文件。
根据本公开的实施例,换言之,如果第二修改时间早于第一修改时间,那么,第一电子设备中的目标文件是最后被修改的。此时,第二电子设备中的目标文件已经不是最新的文件,因此,需要将第二电子设备中的目标文件替换为第一电子设备中的目标文件。
根据本公开的实施例,第二电子设备可以接收由第一电子设备发送的第一电子设备中的目标文件,并将第二电子设备中的目标文件替换为第一电子设备中的目标文件。
根据本公开的实施例,在将第一修改时间和第二修改时间进行比较之后,如果第二修改时间等于第一修改时间,可以认为第一电子设备中的目标文件和第二电子设备中的目标文件没有发生变化。因此可以不用对第一电子设备中的目标文件进行处理。
根据本公开的实施例,通过获得最新一次修改第一电子设备中的目标文件的第一修改时间和最新一次修改第二电子设备中的目标文件的第二修改时间,并根据第一修改时间和第二修改时间确定需要同步的文件,使得可以同步最新的文件,由此保证了第一电子设备和第二电子设备中存储的文件均是最新的文件,从而第一电子设备和第二电子设备无需读取本端的文件内容。因此,至少部分地克服了相关技术中进行文件同步所消耗的时间较长,而且处理流程较为复杂的技术问题,进而实现了提高文件同步效率的技术效果。
根据本公开的实施例,可以按照一定时间间隔在不同电子设备之间进行文件同步。在相邻两次文件同步过程之间,如果出现多次修改第一电子设备中的目标文件和第二电子设备中的目标文件的情况,由于是将最新一次修改第一电子设备中的目标文件的时间和第二电子设备中的目标文件的时间进行比较,因此可以保证第一电子设备和第二电子设备中存储的文件是最新的文件,从而避免了由于第一电子设备和第二电子设备之间同步的文件不是最新文件而导致文件同步错误的问题。
接下来,以第一电子设备为本地机器,第二电子设备为远程机器为例,对根据本公开实施例的文件同步方法进行示例说明。本领域技术人员可以理解,以下描述仅用于理解本公开,而不应看作是对本公开实施例的限制。
图3示意性示出了根据本公开实施例的将本地机器的文件同步到远程机器的示意图。
如图3所示,为了实现本地机器301和远程机器302之间的文件同步,可以在本地机器301和远程机器302上分别安装文件同步装置的客户端client和服务端server,安装完成后二者可以通过三次握手建立通信socket连接。客户端client和服务端server适用于将本地机器301的文件同步到远程机器302,或者将远程机器302上的文件同步到本地机器301的场景。
在将本地机器301的文件同步到远程机器302的情况下,如图3所示,本地客户端client向远程服务端server发送同步请求,如push消息。push消息的消息体中包含要同步的远程文件路径,该远程文件路径可以是预先设置的用于存储文件的路径。远程服务端server根据远程文件路径遍历要同步的文件,获取所有文件列表,以及每个文件的最后修改时间,将其组装成确认消息pushAck,并将pushAck返回给本地客户端client。本地客户端client收到pushAck后,遍历本地要同步的文件,然后将本地最后修改时间晚于远程最后修改时间的文件发送到远程服务端server。本地客户端client发送给远程服务端server的信息可以包括文件内容、路径、文件最后修改时间等等。
根据本公开的另一实施例,在将远程机器302上的文件同步到本地机器301的情况下,可以由远程服务端server向本地客户端client发送同步请求,如push消息。push消息的消息体中包含要同步的本地文件路径,该本地文件路径可以是预先设置的用于存储文件的路径。本地客户端client可以根据要同步的本地文件路径获取所有文件列表,以及每个文件的最后修改时间,并将其组装成确认消息pushAck,返回给远程服务端server。远程服务端server收到pushAck后,遍历要同步的文件,然后将远程最后修改时间晚于本地最后修改时间的文件发送到本地客户端client。远程服务端server向发送本地客户端client的信息可以包括文件内容、路径、文件最后修改时间等等。
根据本公开的实施例,图4示意性示出了根据本公开另一实施例的将远程机器上的文件同步到本地机器的示意图。
如图4所示,在将远程机器302上的文件同步到本地机器301的情况下,客户端client和服务端server可以通过三次握手建立通信socket连接。可以直接由本地客户端client向远程服务端server发送pull消息,消息体中包含要同步的文件夹中所有文件的本地文件路径及最后修改时间。然后由远程服务端server遍历要同步的文件,将远程最后修改时间晚于本地最后修改时间的文件发送到本地客户端client。远程服务端server向发送本地客户端client的信息可以包括文件内容、路径、文件最后修改时间等等。
下面参考图5~图8,结合具体实施例对图2所示的方法做进一步说明。
图5示意性示出了根据本公开另一实施例的文件同步方法的流程图。
在该实施例中,除了包括操作S210~S230之外,如图5所示,该文件同步方法还可以包括操作S510~S520。关于操作S210~S230的描述,可以参考上述对图2的描述,在此不再赘述。需要说明的是,图5所示的操作S510~S520与操作S210~S230的执行顺序不作限定,操作S510~S520可以是在操作S210~S230之前执行,也可以是操作S210~S230之后执行,或者,与操作S210~S230同时执行。
在操作S510,确定第一电子设备中是否存在新增的文件。
在操作S520,在第一电子设备中存在新增的文件的情况下,向第二电子设备发送新增的文件,以使得在第一电子设备和第二电子设备之间实现文件同步。
根据本公开的实施例,新增文件可以是指在第一电子设备中原本不存在的文件而新生成的文件,或者在第一电子设备中存在但没有同步至第二电子设备中的文件。
根据本公开的实施例,以第一电子设备为本地机器,第二电子设备为远程机器为例,新增文件可以是本地机器存在而远程机器不存在的文件。或者,以第一电子设备为本地手机,第二电子设备为本地电脑为例,新增文件可以是本地手机存在而本地电脑不存在的文件。
根据本公开的实施例,通过确定第一电子设备中是否存在新增的文件,可以保证第一电子设备和第二电子设备各自存储的文件的一致性。
在相关技术中,由于***时间可能不同,不同电子设备中的时钟值可能是不一样的,因此电子设备之间可能存在***时间偏差。例如,第一电子设备的当前时钟值为10点10分,第二电子设备的当前时钟值可能为10点12分,有的甚至可能是10点20分。当电子设备之间互相连接时,文件同步的准确性依赖于设备之间的时钟同步,否则会因为电子设备之间的时间不同而导致同步结果不准确。
例如,第一电子设备的时钟比第二电子设备的时钟快2分钟,如果第一电子设备中的目标文件在10点10分被修改了,那么第一电子设备中的目标文件被修改的时间戳为10点10分。如果第二电子设备中的目标文件在10点09分被修改了,那么第二电子设备中的目标文件被修改的时间戳为10点9分。由于第一电子设备的时钟比第二电子设备的时钟快2分钟,第二电子设备中的目标文件的修改时间实际上要晚于第一电子设备中的目标文件的修改时间。如果仅仅依赖时间戳确定需要同步的文件,会导致同步结果不准确。
图6示意性示出了根据本公开另一实施例的文件同步方法的流程图,以减轻由于电子设备之间的时间不同而导致同步结果不准确的问题。
如图6所示,除了包括操作S210和S220之外,该文件同步方法还可以包括操作S610~S630。其中,操作S620~S630可以是对图2的操作S230的进一步说明,关于操作S210和S220的描述,可以参考上述对图2的描述,在此不再赘述。
在操作S610,获得第一电子设备的时钟值与第二电子设备的时钟值之间的时间差。
根据本公开的实施例,第一电子设备的时钟值与第二电子设备的时钟值之间的时间差可以是第一电子设备的时钟值减去第二电子设备的时钟值得到的差值。
根据本公开的实施例,以第一电子设备为本地机器,第二电子设备为远程机器为例。
图7示意性示出了根据本公开实施例的获得第一电子设备的时钟值与第二电子设备的时钟值之间的时间差的示意图。
根据本公开的实施例,可以在第二电子设备本端计算获得第一电子设备的时钟值与第二电子设备的时钟值之间的时间差;向第一电子设备发送时间差,以使得第一电子设备在时间差、第一修改时间和第二修改时间之间满足第一预设条件的情况下向第二电子设备发送第一电子设备中的目标文件;从第一电子设备接收第一电子设备中的目标文件;以及将第二电子设备中的目标文件替换为第一电子设备中的目标文件。
如图7所示,根据本公开的实施例,在本地机器301和远程机器302上分别安装文件同步装置的客户端client和服务端server,安装完成后二者可以通过三次握手建立通信socket连接。本地机器客户端client可以向远程机器服务端server发送时间戳消息,消息体中包含本地机器当前时间戳LocalTime。远程机器收到时间戳消息后,根据本地机器当前时间戳LocalTime和远程机器当前时间戳ServerTime计算出本地机器301和远程机器302的时间差Δ。同时,可以将时间差Δ返回给本地机器301。其中,时间差Δ=LocalTime-ServerTime。
根据本公开的实施例,或者,也可以在第一电子设备本端计算获得第一电子设备的时钟值与第二电子设备的时钟值之间的时间差。例如,远程机器可以向本地机器发送时间戳消息,消息体中包含远程机器当前时间戳ServerTime。本地机器收到时间戳消息后,根据远程机器当前时间戳ServerTime和本地机器当前时间戳LocalTime计算出本地机器和远程机器的时间差Δ并返回给远程机器。
根据本公开的实施例,为了提高时间差的准确性,还可以计算本地机器向远程机器发送时间戳消息至远程机器接收到时间戳消息所消耗的路由时间TransTime。此时,时间差Δ=LocalTime-ServerTime+TransTime。需要说明的是,当远程机器当前时间戳ServerTime和本地机器当前时间戳LocalTime相减得到的差值远大于路由时间TransTime时,在确定时间差时可以对路由时间TransTime忽略不计。
在操作S620,确定时间差、第一修改时间和第二修改时间之间是否满足第一预设条件。
根据本公开的实施例,第一预设条件例如可以是第一修改时间减去时间差大于第二修改时间,即第一预设条件例如可以是,第一电子设备中的目标文件的最后修改时间一时间差Δ>第二电子设备中的该目标文件的最后修改时间。
在操作S630,如果确定满足第一预设条件,则向第二电子设备发送第一电子设备中的目标文件,以使第二电子设备将第二电子设备中的目标文件替换为第一电子设备中的目标文件。
根据本公开的实施例,在将第二电子设备中的目标文件替换为第一电子设备中的目标文件之后,可以将第二电子设备中的目标文件的最后修改时间改为第一电子设备中的目标文件的最后修改时间,并保存到对应路径下。
根据本公开的实施例,通过先计算出第一电子设备和第二电子设备二者之间的时间差,对比二者文件最后修改时间时减去时间差的影响,可以防止因为第一电子设备和第二电子设备时间不同而导致对比结果不准确。相比传统的文件同步方法,不仅在同步速度上有明显优势,而且可以防止第一电子设备或第二电子设备中较旧的文件覆盖掉较新的文件。
图8示意性示出了根据本公开另一实施例的文件同步方法的流程图。
图8所示的流程图可以是对图6所示的流程图的补充说明。如图8所示,该文件同步方法还可以包括操作S810~S830。
在操作S810,确定时间差、第一修改时间和第二修改时间之间是否满足第二预设条件。
根据本公开的实施例,第二预设条件例如可以是第一修改时间减去时间差小于第二修改时间,即第二预设条件例如可以是,第一电子设备中的目标文件的最后修改时间一时间差Δ<第二电子设备中的该目标文件的最后修改时间。
在操作S820,如果确定满足第二预设条件,则接收由第二电子设备发送的第二电子设备中的目标文件。
根据本公开的实施例,如果确定满足第二预设条件,可以向第二电子设备发送用于请求获取第二电子设备中的目标文件的内容同步请求,第二电子设备响应于内容同步请求之后,向第一电子设备发送第二电子设备中的目标文件,以使得将第一电子设备中的目标文件替换为第二电子设备中的目标文件。
在操作S830,将第一电子设备中的目标文件替换为第二电子设备中的目标文件。
根据本公开的实施例,通过先计算出第一电子设备和第二电子设备二者之间的时间差,对比二者文件最后修改时间时减去时间差的影响,可以防止因为第一电子设备和第二电子设备时间不同而导致对比结果不准确。相比传统的文件同步方法,不仅在同步速度上有明显优势,而且可以防止第一电子设备或第二电子设备中较旧的文件覆盖掉较新的文件。
根据本公开的实施例,如果第一修改时间减去时间差等于第二修改时间,可以认为第一电子设备中的目标文件和第二电子设备中的目标文件没有发生变化,则可以不用对第一电子设备中的目标文件进行处理。
图9示意性示出了根据本公开实施例的第一文件同步装置的框图。
第一文件同步装置900可以应用于第一电子设备,如图9所示,第一文件同步装置900包括第一获取模块910、第二获取模块920和处理模块930。
第一获取模块910用于获得第一修改时间,所述第一修改时间为最新一次修改第一电子设备中的目标文件的时间。
第二获取模块920用于获得第二修改时间,所述第二修改时间为最新一次修改第二电子设备中的目标文件的时间。
处理模块930用于根据所述第一修改时间和所述第二修改时间,对所述第一电子设备中的目标文件进行同步处理。
需要说明的是,本公开实施例中的第一文件同步装置900与本公开实施例中的由第一电子设备执行的文件同步方法部分是相对应的,本公开所提供的第一文件同步装置900可以实现由第一电子设备执行的文件同步方法,第一文件同步装置900部分的具体描述可以参考由第一电子设备执行的文件同步方法部分,在此不再赘述。
根据本公开的实施例,通过获得最新一次修改第一电子设备中的目标文件的第一修改时间和最新一次修改第二电子设备中的目标文件的第二修改时间,并根据第一修改时间和第二修改时间确定需要同步的文件,使得可以同步最新的文件,由此保证了第一电子设备和第二电子设备中存储的文件均是最新的文件,从而第一电子设备和第二电子设备无需读取本端的文件内容。因此,至少部分地克服了相关技术中进行文件同步所消耗的时间较长,而且处理流程较为复杂的技术问题,进而实现了提高文件同步效率的技术效果。
图10示意性示出了根据本公开另一实施例的第二文件同步装置的框图。
第二文件同步装置1000可以应用于第二电子设备,如图10所示,第二文件同步装置1000包括接收模块1010和发送模块1020。
接收模块1010用于接收由第一电子设备发送的用于请求获取第二修改时间的获取请求,其中,第二修改时间为最新一次修改第二电子设备中的目标文件的时间。
发送模块1020用于响应获取请求,向第一电子设备发送第二修改时间,以使得第一电子设备根据第一修改时间和第二修改时间,对第一电子设备中的目标文件进行同步处理,其中,第一修改时间为最新一次修改第一电子设备中的目标文件的时间。
需要说明的是,本公开实施例中的第二文件同步装置1000与本公开实施例中由第二电子设备执行的文件同步方法部分是相对应的,本公开所提供的第二文件同步装置1000可以实现由第二电子设备执行的文件同步方法,第二文件同步装置1000部分的具体描述可以参考由第二电子设备执行的文件同步方法部分,在此不再赘述。
根据本公开的实施例,通过获得最新一次修改第一电子设备中的目标文件的第一修改时间和最新一次修改第二电子设备中的目标文件的第二修改时间,并根据第一修改时间和第二修改时间确定需要同步的文件,使得可以同步最新的文件,由此保证了第一电子设备和第二电子设备中存储的文件均是最新的文件,从而第一电子设备和第二电子设备无需读取本端的文件内容。因此,至少部分地克服了相关技术中进行文件同步所消耗的时间较长,而且处理流程较为复杂的技术问题,进而实现了提高文件同步效率的技术效果。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块910、第二获取模块920和处理模块930中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,第一获取模块910、第二获取模块920和处理模块930中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块910、第二获取模块920和处理模块930中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
根据本公开的实施例,还提供了一种第一电子设备,包括:第一处理器;第一存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述第一处理器执行时,使得所述第一处理器实现上述实施例中描述的由第一电子设备执行的文件同步方法。
根据本公开的实施例,还提供了一种第二电子设备,包括:第二处理器;第二存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述第二处理器执行时,使得所述第二处理器实现上述实施例中描述的由第二电子设备执行的文件同步方法。
图11示意性示出了根据本公开实施例的第一电子设备或第二电子设备的框图。图11示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图11所示,根据本公开实施例的电子设备1100包括处理器1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。处理器1101例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1101还可以包括用于缓存用途的板载存储器。处理器1101可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1103中,存储有电子设备1100操作所需的各种程序和数据。处理器1101、ROM 1102以及RAM 1103通过总线1104彼此相连。处理器1101通过执行ROM 1102和/或RAM1103中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1102和RAM 1103以外的一个或多个存储器中。处理器1101也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1100还可以包括输入/输出(I/O)接口1105,输入/输出(I/O)接口1105也连接至总线1104。电子设备1100还可以包括连接至I/O接口1105的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被处理器1101执行时,执行本公开实施例的电子设备中限定的上述功能。根据本公开的实施例,上文描述的设备、装置、模块等可以通过计算机程序模块来实现。
本公开还提供了一种可读存储介质,该可读存储介质可以是上述实施例中描述的设备/装置中所包含的;也可以是单独存在,而未装配入该设备/装置中。上述可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行电子设备、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1102和/或RAM 1103和/或ROM 1102和RAM 1103以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的电子设备来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (20)
1.一种文件同步方法,包括:
获得第一修改时间,所述第一修改时间为最新一次修改第一电子设备中的目标文件的时间;
获得第二修改时间,所述第二修改时间为最新一次修改第二电子设备中的目标文件的时间;以及
根据所述第一修改时间和所述第二修改时间,对所述第一电子设备中的目标文件进行同步处理。
2.根据权利要求1所述的方法,其中,根据所述第一修改时间和所述第二修改时间,对所述第一电子设备中的目标文件进行同步处理包括:
如果所述第二修改时间晚于所述第一修改时间,则将所述第一电子设备中的目标文件替换为所述第二电子设备中的目标文件。
3.根据权利要求2所述的方法,还包括:如果所述第二修改时间晚于所述第一修改时间,
向所述第二电子设备发送用于请求获取所述第二电子设备中的目标文件的内容同步请求;以及
接收由所述第二电子设备发送的所述第二电子设备中的所述目标文件。
4.根据权利要求1所述的方法,其中,根据所述第一修改时间和所述第二修改时间,对所述第一电子设备中的目标文件进行同步处理包括:
如果所述第二修改时间早于所述第一修改时间,向所述第二电子设备发送所述第一电子设备中的目标文件,以使所述第二电子设备将所述第二电子设备中的目标文件替换为所述第一电子设备中的目标文件。
5.根据权利要求1所述的方法,还包括:
获得所述第一电子设备的时钟值与所述第二电子设备的时钟值之间的时间差;
其中,根据所述第一修改时间和所述第二修改时间,对所述第一电子设备中的目标文件进行同步处理包括:
确定所述时间差、所述第一修改时间和所述第二修改时间之间是否满足第一预设条件;以及
如果确定满足所述第一预设条件,则向所述第二电子设备发送所述第一电子设备中的目标文件,以使所述第二电子设备将所述第二电子设备中的目标文件替换为所述第一电子设备中的目标文件。
6.根据权利要求5所述的方法,其中,根据所述第一修改时间和所述第二修改时间,对所述第一电子设备中的目标文件进行同步处理还包括:
确定所述时间差、所述第一修改时间和所述第二修改时间之间是否满足第二预设条件;
如果确定满足所述第二预设条件,则接收由所述第二电子设备发送的所述第二电子设备中的所述目标文件;以及
将所述第一电子设备中的目标文件替换为所述第二电子设备中的目标文件。
7.根据权利要求6所述的方法,其中:
所述时间差包括所述第一电子设备的时钟值减去所述第二电子设备的时钟值得到的差值;
所述第一预设条件包括所述第一修改时间减去所述差值大于所述第二修改时间;
所述第二预设条件包括所述第一修改时间减去所述差值小于所述第二修改时间。
8.根据权利要求1所述的方法,其中,所述获得第二修改时间包括:
向所述第二电子设备发送用于请求获取所述第二修改时间的获取请求;以及
接收由所述第二电子设备发送的所述第二修改时间。
9.根据权利要求1所述的方法,还包括:
确定所述第一电子设备中是否存在新增的文件;以及
在所述第一电子设备中存在新增的文件的情况下,向所述第二电子设备发送所述新增的文件,以使得在所述第一电子设备和所述第二电子设备之间实现文件同步。
10.一种文件同步方法,包括:
接收由第一电子设备发送的用于请求获取第二修改时间的获取请求,其中,所述第二修改时间为最新一次修改第二电子设备中的目标文件的时间;以及
响应于所述获取请求,向所述第一电子设备发送所述第二修改时间,以使得所述第一电子设备根据第一修改时间和所述第二修改时间,对所述第一电子设备中的目标文件进行同步处理,其中,所述第一修改时间为最新一次修改所述第一电子设备中的目标文件的时间。
11.根据权利要求10所述的方法,还包括:
接收由所述第一电子设备在所述第二修改时间晚于所述第一修改时间的情况下发送的用于请求获取所述第二电子设备中的目标文件的内容同步请求;以及
响应于所述内容同步请求,向所述第一电子设备发送所述第二电子设备中的目标文件,以使得所述第一电子设备将所述第一电子设备中的目标文件替换为所述第二电子设备中的目标文件。
12.根据权利要求10所述的方法,还包括:
接收由所述第一电子设备在所述第二修改时间早于所述第一修改时间的情况下发送的所述第一电子设备中的目标文件;以及
将所述第二电子设备中的目标文件替换为所述第一电子设备中的目标文件。
13.根据权利要求10所述的方法,还包括:
获得所述第一电子设备的时钟值与所述第二电子设备的时钟值之间的时间差;
向所述第一电子设备发送所述时间差,以使得所述第一电子设备在所述时间差、所述第一修改时间和所述第二修改时间之间满足第一预设条件的情况下向所述第二电子设备发送所述第一电子设备中的目标文件;
从所述第一电子设备接收所述第一电子设备中的目标文件;以及
将所述第二电子设备中的目标文件替换为所述第一电子设备中的目标文件。
14.根据权利要求13所述的方法,还包括:
在向所述第一电子设备发送所述时间差之后,接收由所述第一电子设备在所述时间差、所述第一修改时间和所述第二修改时间之间满足第二预设条件的情况下发送的内容同步请求,其中,所述内容同步请求用于请求获取所述第二电子设备中的目标文件;以及
响应于所述内容同步请求,向所述第一电子设备发送所述第二电子设备中的目标文件,以使得将所述第一电子设备中的目标文件替换为所述第二电子设备中的目标文件。
15.根据权利要求14所述的方法,其中:
所述时间差包括所述第一电子设备的时钟值减去所述第二电子设备的时钟值得到的差值;
所述第一预设条件包括所述第一修改时间减去所述差值大于所述第二修改时间;
所述第二预设条件包括所述第一修改时间减去所述差值小于所述第二修改时间。
16.一种第一文件同步装置,包括:
第一获取模块,用于获得第一修改时间,所述第一修改时间为最新一次修改第一电子设备中的目标文件的时间;
第二获取模块,用于获得第二修改时间,所述第二修改时间为最新一次修改第二电子设备中的目标文件的时间;以及
处理模块,用于根据所述第一修改时间和所述第二修改时间,对所述第一电子设备中的目标文件进行同步处理。
17.一种第二文件同步装置,包括:
接收模块,用于接收由第一电子设备发送的用于请求获取第二修改时间的获取请求,其中,所述第二修改时间为最新一次修改第二电子设备中的目标文件的时间;以及
发送模块,用于响应所述获取请求,向所述第一电子设备发送所述第二修改时间,以使得所述第一电子设备根据第一修改时间和所述第二修改时间,对所述第一电子设备中的目标文件进行同步处理,其中,所述第一修改时间为最新一次修改所述第一电子设备中的目标文件的时间。
18.一种第一电子设备,包括:
第一处理器;
第一存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述第一处理器执行时,使得所述第一处理器实现权利要求1至9中任一项所述的方法。
19.一种第二电子设备,包括:
第二处理器;
第二存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述第二处理器执行时,使得所述第二处理器实现权利要求10至15中任一项所述的方法。
20.一种可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至9中任一项所述的方法或权利要求10至15中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010103347.4A CN111291011B (zh) | 2020-02-19 | 2020-02-19 | 文件同步方法及装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010103347.4A CN111291011B (zh) | 2020-02-19 | 2020-02-19 | 文件同步方法及装置、电子设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111291011A true CN111291011A (zh) | 2020-06-16 |
CN111291011B CN111291011B (zh) | 2023-10-20 |
Family
ID=71025373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010103347.4A Active CN111291011B (zh) | 2020-02-19 | 2020-02-19 | 文件同步方法及装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111291011B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0969106A (ja) * | 1995-06-23 | 1997-03-11 | Roehm Properties Bv | 機械翻訳装置及び翻訳処理方法 |
CN1549130A (zh) * | 2003-05-06 | 2004-11-24 | 联想(北京)有限公司 | 一种文件同步的方法 |
CN1925495A (zh) * | 2005-09-03 | 2007-03-07 | 三星电子株式会社 | 同步服务器和客户机间的epg信息的方法和装置 |
CN101075754A (zh) * | 2007-05-18 | 2007-11-21 | 南京力导科技股份有限公司 | 同步采样控制和数据传输方法 |
CN101202617A (zh) * | 2006-12-12 | 2008-06-18 | 北京三星通信技术研究有限公司 | 多级设备之间的时间同步补偿方法 |
CN102265549A (zh) * | 2008-09-22 | 2011-11-30 | 柯扎特·拉多·拉多莱斯库 | 网络时间同步*** |
CN102624686A (zh) * | 2011-11-28 | 2012-08-01 | 苏州奇可思信息科技有限公司 | 网络文件夹的双向自动同步方法 |
CN102681993A (zh) * | 2011-03-07 | 2012-09-19 | 联想(北京)有限公司 | 一种文件同步方法、文件同步装置及第一电子设备 |
WO2013182161A1 (zh) * | 2012-11-12 | 2013-12-12 | 中兴通讯股份有限公司 | 一种时间同步方法和装置 |
CN103559319A (zh) * | 2013-11-21 | 2014-02-05 | 华为技术有限公司 | 分布式集群文件***的缓存同步方法和设备 |
CN103699571A (zh) * | 2013-11-25 | 2014-04-02 | 小米科技有限责任公司 | 一种文件同步方法、装置及电子设备 |
CN104243508A (zh) * | 2013-06-07 | 2014-12-24 | 富鸿康科技(深圳)有限公司 | 服务器、客户端及文件同步方法 |
CN106161870A (zh) * | 2015-04-10 | 2016-11-23 | 杭州海康威视数字技术股份有限公司 | 一种多屏控制设备及同步*** |
CN106301747A (zh) * | 2016-09-30 | 2017-01-04 | 上海斐讯数据通信技术有限公司 | 一种路由器间双向同步的实现方法及*** |
CN108228733A (zh) * | 2017-12-12 | 2018-06-29 | 浪潮软件股份有限公司 | 一种文件同步***及方法 |
CN108647256A (zh) * | 2018-04-23 | 2018-10-12 | 平安科技(深圳)有限公司 | 文件同步方法、装置、计算机装置及存储介质 |
CN109739810A (zh) * | 2018-12-07 | 2019-05-10 | 中山市江波龙电子有限公司 | 文件同步方法、服务器、客户端及具有存储功能的装置 |
CN110442648A (zh) * | 2019-07-30 | 2019-11-12 | 中国工商银行股份有限公司 | 数据同步方法和装置 |
-
2020
- 2020-02-19 CN CN202010103347.4A patent/CN111291011B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0969106A (ja) * | 1995-06-23 | 1997-03-11 | Roehm Properties Bv | 機械翻訳装置及び翻訳処理方法 |
CN1549130A (zh) * | 2003-05-06 | 2004-11-24 | 联想(北京)有限公司 | 一种文件同步的方法 |
CN1925495A (zh) * | 2005-09-03 | 2007-03-07 | 三星电子株式会社 | 同步服务器和客户机间的epg信息的方法和装置 |
CN101202617A (zh) * | 2006-12-12 | 2008-06-18 | 北京三星通信技术研究有限公司 | 多级设备之间的时间同步补偿方法 |
CN101075754A (zh) * | 2007-05-18 | 2007-11-21 | 南京力导科技股份有限公司 | 同步采样控制和数据传输方法 |
CN102265549A (zh) * | 2008-09-22 | 2011-11-30 | 柯扎特·拉多·拉多莱斯库 | 网络时间同步*** |
CN102681993A (zh) * | 2011-03-07 | 2012-09-19 | 联想(北京)有限公司 | 一种文件同步方法、文件同步装置及第一电子设备 |
CN102624686A (zh) * | 2011-11-28 | 2012-08-01 | 苏州奇可思信息科技有限公司 | 网络文件夹的双向自动同步方法 |
WO2013182161A1 (zh) * | 2012-11-12 | 2013-12-12 | 中兴通讯股份有限公司 | 一种时间同步方法和装置 |
CN104243508A (zh) * | 2013-06-07 | 2014-12-24 | 富鸿康科技(深圳)有限公司 | 服务器、客户端及文件同步方法 |
CN103559319A (zh) * | 2013-11-21 | 2014-02-05 | 华为技术有限公司 | 分布式集群文件***的缓存同步方法和设备 |
CN103699571A (zh) * | 2013-11-25 | 2014-04-02 | 小米科技有限责任公司 | 一种文件同步方法、装置及电子设备 |
CN106161870A (zh) * | 2015-04-10 | 2016-11-23 | 杭州海康威视数字技术股份有限公司 | 一种多屏控制设备及同步*** |
CN106301747A (zh) * | 2016-09-30 | 2017-01-04 | 上海斐讯数据通信技术有限公司 | 一种路由器间双向同步的实现方法及*** |
CN108228733A (zh) * | 2017-12-12 | 2018-06-29 | 浪潮软件股份有限公司 | 一种文件同步***及方法 |
CN108647256A (zh) * | 2018-04-23 | 2018-10-12 | 平安科技(深圳)有限公司 | 文件同步方法、装置、计算机装置及存储介质 |
CN109739810A (zh) * | 2018-12-07 | 2019-05-10 | 中山市江波龙电子有限公司 | 文件同步方法、服务器、客户端及具有存储功能的装置 |
CN110442648A (zh) * | 2019-07-30 | 2019-11-12 | 中国工商银行股份有限公司 | 数据同步方法和装置 |
Non-Patent Citations (2)
Title |
---|
FATOS XHAFA: "Data Replication and Synchronization in P2P Collaborative Systems", 《2012 IEEE 26TH INTERNATIONAL CONFERENCE ON ADVANCED INFORMATION NETWORKING AND APPLICATIONS》 * |
吴绪明: "关于文件备份和同步的算法的研究", 《信息通信》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111291011B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180121322A1 (en) | Methods and Systems for Testing Versions of Applications | |
CN111309747A (zh) | 数据同步方法、***和装置 | |
CN111212135A (zh) | 消息订阅方法、装置、***、电子设备及存储介质 | |
CN110619096A (zh) | 用于同步数据的方法和装置 | |
CN113779054A (zh) | 数据更新方法、装置、服务端、存储介质及程序产品 | |
CN110888773B (zh) | 一种获取线程标识的方法、装置、介质和电子设备 | |
CN111291011B (zh) | 文件同步方法及装置、电子设备和可读存储介质 | |
US9854035B2 (en) | Maintaining state synchronization of an application between computing devices as well as maintaining state synchronization of common information between different applications without requiring periodic synchronization | |
CN115629909A (zh) | 业务数据处理的方法、装置、电子设备和存储介质 | |
CN114760360B (zh) | 请求响应方法、装置、电子设备及计算机可读存储介质 | |
CN111368557B (zh) | 视频内容的翻译方法、装置、设备及计算机可读介质 | |
CN114202332A (zh) | 一种数字货币钱包管理方法、装置和*** | |
CN112688793B (zh) | 数据包获取方法、装置及电子设备 | |
CN110661857B (zh) | 一种数据同步方法和装置 | |
AU2016253673B2 (en) | Streaming digital content synchronization | |
CN111314021A (zh) | 数据传输方法、装置、电子设备及计算机可读存储介质 | |
CN113760417A (zh) | 一种页面倒计时展示方法和装置 | |
CN110727694A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN110099122B (zh) | 用于发送网络请求的方法和装置 | |
CN113612676B (zh) | 社交群组的消息同步方法、装置、设备及存储介质 | |
CN110750424B (zh) | 资源巡检方法和装置 | |
CN113806229B (zh) | 接口变更的测试脚本复用方法、装置、设备、介质及产品 | |
CN114398098B (zh) | 应用脚本执行方法、装置、电子设备和计算机可读介质 | |
CN113157365B (zh) | 程序运行方法、装置、电子设备和计算机可读介质 | |
JP2011248752A (ja) | プログラム、情報処理装置及び情報処理方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |