一种文件同步方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:19023467 阅读:25 留言:0更新日期:2018-09-26 19:04
本发明专利技术实施例提供了一种文件同步方法、装置、电子设备及可读存储介质,该方法包括:分别获取当前客户端文件列表快照、上一次同步完成时的文件列表快照、当前服务器文件列表快照,将当前客户端文件列表快照转换为对应的第一树形结构,将上一次同步完成时的文件列表快照转换为对应的第二树形结构,将当前服务器文件列表快照转换为对应的第三树形结构,对第一树形结构、第二树形结构、第三树形结构进行对比,确定待同步文件的文件信息和待同步文件的文件信息对应的更新操作,对待同步文件执行与待同步文件的文件信息对应的更新操作,实现对待同步文件的同步。实现对用户对客户端文件和服务器文件进行同步时,减少同步过程的时间开销,提高同步速度。

【技术实现步骤摘要】
一种文件同步方法、装置、电子设备及可读存储介质
本专利技术涉及通信
,特别是涉及一种文件同步方法、装置、电子设备及可读存储介质。
技术介绍
随着云存储技术的发展,越来越多的用户喜欢使用云服务器管理文件,这样用户可以将云服务器中的文件同步到不同客户端上,还可以在不同的地点、不同客户端上将文件同步到云服务器上。现有的文件同步技术中,用户在客户端生成本地当前文件列表快照,然后与上一次同步结束时的文件列表快照及当前服务器文件列表快照进行对比,得到本地当前文件列表与服务器文件列表的文件差异列表,再根据该文件差异列表,将与客户端文件不同的服务器文件同步到本地,或者将与服务器文件不同的客户端文件同步到服务器。然而,当文件列表快照中根目录下的子目录或文件比较多时,上述进行对比的过程就会缓慢,从而增加了同步过程的时间开销。
技术实现思路
本专利技术实施例的目的在于提供一种文件同步方法、装置、电子设备及可读存储介质,以实现减少同步过程的时间开销。具体技术方案如下:第一方面,本专利技术实施例提供了一种文件同步方法,所述方法包括:分别获取当前客户端文件列表快照、上一次同步完成时的文件列表快照、当前服务器文件列表快照,其中,当前客户端文件列表快照包含当前客户端文件的文件信息,上一次同步完成时的文件列表快照包含上一次本地与服务器完成同步时的文件信息,当前服务器文件列表快照包含服务器文件的文件信息,文件信息包括文件名、文件类型、文件修改时间及文件路径;将当前客户端文件列表快照转换为对应的第一树形结构,将上一次同步完成时的文件列表快照转换为对应的第二树形结构,将当前服务器文件列表快照转换为对应的第三树形结构;对第一树形结构、第二树形结构、第三树形结构进行对比,确定待同步文件的文件信息和待同步文件的文件信息对应的更新操作;对待同步文件执行与待同步文件的文件信息对应的更新操作。可选的,将当前客户端文件列表快照转换为对应的第一树形结构,包括:将当前客户端文件列表快照的根目录,作为第一树形结构的根节点,将当前客户端文件列表快照的根目录的第n级子目录,作为第一树形结构的根节点的第n级子节点,将当前客户端文件列表快照的根目录的第n级子目录的目录文件,作为第一树形结构的根节点的第n级子节点的叶子节点,得到第一树形结构,其中,当前客户端文件列表快照的根目录的第n级子目录至少为一个,第一树形结构的第n级子节点至少为一个,n为大于1的自然数;可选的,将上一次同步完成时的文件列表快照转换为对应的第二树形结构,包括:将上一次同步完成时的文件列表快照的根目录,作为第二树形结构的根节点,将上一次同步完成时的文件列表快照的根目录的第m级子目录,作为第二树形结构的根节点的第m级子节点,将上一次同步完成时的文件列表快照的根目录的第m级子目录的目录文件,作为第二树形结构的根节点的第m级子节点的叶子节点,得到第二树形结构,其中,上一次同步完成时的文件列表快照的根目录的第m级子目录至少为一个,第二树形结构的第m级子节点至少包括一个子节点,m为大于1的自然数;可选的,将当前服务器文件列表快照转换为对应的第三树形结构,包括:将当前服务器文件列表快照的根目录,作为第三树形结构的根节点,将当前服务器文件列表快照的根目录的第k级子目录,作为第三树形结构的根节点的第k级子节点,将当前服务器文件列表快照的根目录的第k级子目录的目录文件,作为第三树形结构的根节点的第k级子节点的叶子节点,得到第三树形结构,其中,当前服务器文件列表快照的根目录的第k级子目录至少为一个,第三树形结构的第k级子节点至少包括一个子节点,k为大于1的自然数。可选的,对第一树形结构、第二树形结构、第三树形结构进行对比,确定待同步文件的文件信息和待同步文件的文件信息对应的更新操作,包括:对比第一树形结构、第二树形结构,确定客户端文件变化列表;对比第二树形结构、第三树形结构,确定服务器文件变化列表;对比客户端文件变化列表和服务器文件变化列表,确定待同步文件的文件信息和待同步文件的文件信息对应的更新操作。可选的,对比第一树形结构、第二树形结构,确定客户端文件变化列表,包括:获取第一树形结构的根节点的第i级子节点的文件信息,与第二树形结构的第i级子节点的文件信息进行对比,确定第一树形结构的根节点的第i级子节点中发生改变的文件,并将第i级子节点中发生改变的文件的文件信息保存到客户端文件变化列表,其中,i为大于1且小于或等于n和m的自然数;获取第一树形结构的根节点的第i级子节点的叶子节点的文件信息,与第二树形结构的第i级子节点的叶子节点的文件信息进行对比,确定第一树形结构的根节点的第i级子节点的叶子节点中发生改变的文件,并将第i级子节点的叶子节点中发生改变的文件的文件信息,保存到客户端文件变化列表;遍历第一树形结构,得到第一树形结构中所有子节点和叶子节点中发生改变的文件的文件信息,确定客户端文件变化列表;可选的,对比第二树形结构、第三树形结构,确定服务器文件变化列表,包括:获取第三树形结构的根节点的第j级子节点的文件信息,与第二树形结构的第j级子节点的文件信息进行对比,确定第三树形结构的根节点的第j级子节点中发生改变的文件,并将第j级子节点中发生改变的文件的文件信息保存到服务器文件变化列表,其中,j为大于1且小于或等于m和k的自然数;获取第三树形结构的根节点的第j级子节点的叶子节点的文件信息,与第二树形结构的第j级子节点的叶子节点的文件信息进行对比,确定第三树形结构的根节点的第j级子节点的叶子节点中发生改变的文件,并将第j级子节点的叶子节点中发生改变的文件的文件信息,保存到服务器文件变化列表;遍历第三树形结构,得到第三树形结构中所有子节点和叶子节点中发生改变的文件的文件信息,确定服务器文件变化列表。可选的,文件信息还包括文件版本号,对比第二树形结构、第三树形结构,确定服务器文件变化列表,包括:对比第二树形结构中文件信息的版本号与第三树形结构中文件信息的版本号,确定服务器文件变化列表。可选的,在对待同步文件执行与待同步文件的文件信息对应的更新操作之前,本专利技术实施例的文件同步方法还包括:当接收到服务器发送的暂停同步的指令时,暂停执行与待同步文件的文件信息对应的更新操作。可选的,更新操作包括:上传、下载、重命名或删除。可选的,对待同步文件执行与待同步文件的文件信息对应的更新操作,包括:对待同步文件单向执行与待同步文件的文件信息对应的更新操作;或者对待同步文件双向执行与待同步文件的文件信息对应的更新操作;或者对待同步文件选择性执行与待同步文件的文件信息对应的更新操作。第二方面,本专利技术实施例还提供了一种文件同步装置,所述装置包括:获取模块,用于分别获取当前客户端文件列表快照、上一次同步完成时的文件列表快照、当前服务器文件列表快照,其中,当前客户端文件列表快照包含当前客户端文件的文件信息,上一次同步完成时的文件列表快照包含上一次本地与服务器完成同步时的文件信息,当前服务器文件列表快照包含服务器文件的文件信息,文件信息包括文件名、文件类型、文件修改时间及文件路径;转换模块,用于将当前客户端文件列表快照转换为对应的第一树形结构,将上一次同步完成时的文件列表快照转换为对应的第二树形结构,将当前服务器文件列表快照转换为对应的第三树形结构;对比模本文档来自技高网...

【技术保护点】
1.一种文件同步方法,其特征在于,所述方法包括:分别获取当前客户端文件列表快照、上一次同步完成时的文件列表快照、当前服务器文件列表快照,其中,所述当前客户端文件列表快照包含当前客户端文件的文件信息,所述上一次同步完成时的文件列表快照包含上一次本地与服务器完成同步时的文件信息,所述当前服务器文件列表快照包含服务器文件的文件信息,所述文件信息包括文件名、文件类型、文件修改时间及文件路径;将所述当前客户端文件列表快照转换为对应的第一树形结构,将所述上一次同步完成时的文件列表快照转换为对应的第二树形结构,将所述当前服务器文件列表快照转换为对应的第三树形结构;对所述第一树形结构、所述第二树形结构、所述第三树形结构进行对比,确定待同步文件的文件信息和所述待同步文件的文件信息对应的更新操作;对所述待同步文件执行与所述待同步文件的文件信息对应的更新操作。

【技术特征摘要】
1.一种文件同步方法,其特征在于,所述方法包括:分别获取当前客户端文件列表快照、上一次同步完成时的文件列表快照、当前服务器文件列表快照,其中,所述当前客户端文件列表快照包含当前客户端文件的文件信息,所述上一次同步完成时的文件列表快照包含上一次本地与服务器完成同步时的文件信息,所述当前服务器文件列表快照包含服务器文件的文件信息,所述文件信息包括文件名、文件类型、文件修改时间及文件路径;将所述当前客户端文件列表快照转换为对应的第一树形结构,将所述上一次同步完成时的文件列表快照转换为对应的第二树形结构,将所述当前服务器文件列表快照转换为对应的第三树形结构;对所述第一树形结构、所述第二树形结构、所述第三树形结构进行对比,确定待同步文件的文件信息和所述待同步文件的文件信息对应的更新操作;对所述待同步文件执行与所述待同步文件的文件信息对应的更新操作。2.根据权利要求1所述的方法,其特征在于,所述将所述当前客户端文件列表快照转换为对应的第一树形结构,包括:将所述当前客户端文件列表快照的根目录,作为所述第一树形结构的根节点,将所述当前客户端文件列表快照的根目录的第n级子目录,作为所述第一树形结构的根节点的第n级子节点,将所述当前客户端文件列表快照的根目录的第n级子目录的目录文件,作为所述第一树形结构的根节点的第n级子节点的叶子节点,得到所述第一树形结构,其中,所述当前客户端文件列表快照的根目录的第n级子目录至少为一个,所述第一树形结构的第n级子节点至少为一个,所述n为大于1的自然数;所述将所述上一次同步完成时的文件列表快照转换为对应的第二树形结构,包括:将所述上一次同步完成时的文件列表快照的根目录,作为所述第二树形结构的根节点,将所述上一次同步完成时的文件列表快照的根目录的第m级子目录,作为所述第二树形结构的根节点的第m级子节点,将所述上一次同步完成时的文件列表快照的根目录的第m级子目录的目录文件,作为所述第二树形结构的根节点的第m级子节点的叶子节点,得到所述第二树形结构,其中,所述上一次同步完成时的文件列表快照的根目录的第m级子目录至少为一个,所述第二树形结构的第m级子节点至少包括一个子节点,所述m为大于1的自然数;所述将所述当前服务器文件列表快照转换为对应的第三树形结构,包括:将所述当前服务器文件列表快照的根目录,作为所述第三树形结构的根节点,将所述当前服务器文件列表快照的根目录的第k级子目录,作为所述第三树形结构的根节点的第k级子节点,将所述当前服务器文件列表快照的根目录的第k级子目录的目录文件,作为所述第三树形结构的根节点的第k级子节点的叶子节点,得到所述第三树形结构,其中,所述当前服务器文件列表快照的根目录的第k级子目录至少为一个,所述第三树形结构的第k级子节点至少包括一个子节点,所述k为大于1的自然数。3.根据权利要求1所述的方法,其特征在于,所述对所述第一树形结构、所述第二树形结构、所述第三树形结构进行对比,确定待同步文件的文件信息和所述待同步文件的文件信息对应的更新操作,包括:对比所述第一树形结构、所述第二树形结构,确定客户端文件变化列表;对比所述第二树形结构、所述第三树形结构,确定服务器文件变化列表;对比所述客户端文件变化列表和所述服务器文件变化列表,确定所述待同步文件的文件信息和所述待同步文件的文件信息对应的更新操作。4.根据权利要求3所述的方法,其特征在于,所述对比所述第一树形结构、所述第二树形结构,确定客户端文件变化列表,包括:获取所述第一树形结构的根节点的第i级子节点的文件信息,与所述第二树形结构的第i级子节点的文件信息进行对比,确定所述第一树形结构的根节点的第i级子节点中发生改变的文件,并将所述第i级子节点中发生改变的文件的文件信息保存到所述客户端文件变化列表,其中,所述i为大于1且小于或等于n和m的自然数;获取所述第一树形结构的根节点的第i级子节点的叶子节点的文件信息,与所述第二树形结构的第i级子节点的叶子节点的文件信息进行对比,确定所述第一树形结构的根节点的第i级子节点的叶子节点中发生改变的文件,并将所述第i级子节点的叶子节点中发生改变的文件的文件信息,保存到所述客户端文件变化列表;遍历所述第一树形结构,得到所述第一树形结构中所有子节点和叶子节点中发生改变的文件的文件信息,确定所述客户端文件变化列表;所述对比所述第二树形结构、所述第三树形结构,确定服务器文件变化列表,包括:获取所述第三树形结构的根节点的第j级子节点的文件信息,与所述第二树形结构的第j级子节点的文件信息进行对比,确定所述第三树形结构的根节点的第j级子节点中发生改变的文件,并将所述第j级子节点中发生改变的文件的文件信息保存到所述服务器文件变化列表,其中,所述j为大于1且小于或等于m和k的自然数;获取所述第三树形结构的根节点的第j级子节点的叶子节点的文件信息,与所述第二树形结构的第j级子节点的叶子节点的文件信息进行对比,确定所述第三树形结构的根节点的第j级子节点的叶子节点中发生改变的文件,并将所述第j级子节点的叶子节点中发生改变的文件的文件信息,保存到所述服务器文件变化列表;遍历所述第三树形结构,得到所述第三树形结构中所有子节点和叶子节点中发生改变的文件的文件信息,确定所述服务器文件变化列表。5.根据权利要求3所述的方法,其特征在于,所述文件信息还包括文件版本号,所述对比所述第二树形结构、所述第三树形结构,确定服务器文件变化列表,包括:对比所述第二树形结构中文件信息的版本号与所述第三树形结构中文件信息的版本号,确定服务器文件变化列表。6.根据权利要求1~5任一项所述的方法,其特征在于,在对所述待同步文件执行与所述待同步文件的文件信息对应的更新操作之前,所述方法还包括:当接收到所述服务器发送的暂停同步的指令时,暂停执行与所述待同步文件的文件信息对应的更新操作。7.根据权利要求1~5任一项所述的方法,其特征在于,所述更新操作包括:上传、下载、重命名或删除。8.根据权利要求1~5任一项所述的方法,其特征在于,所述对所述待同步文件执行与所述待同步文件的文件信息对应的更新操作,包括:对所述待同步文件单向执行与所述待同步文件的文件信息对应的更新操作;或者对所述待同步文件双向执行与所述待同步文件的文件信息对应的更新操作;或者对所述待同步文件选择性执行与所述待同步文件的文件信息对应的更新操作。9.一种文件同步装置,其特征在于,所述装置包括:...

【专利技术属性】
技术研发人员:彭兴旭赵海彬黄前源
申请(专利权)人:北京金山云网络技术有限公司北京金山云科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1