CN117312264A - 虚拟磁盘系统中的文件同步方法、系统、设备及介质 - Google Patents

虚拟磁盘系统中的文件同步方法、系统、设备及介质 Download PDF

Info

Publication number
CN117312264A
CN117312264A CN202311630259.XA CN202311630259A CN117312264A CN 117312264 A CN117312264 A CN 117312264A CN 202311630259 A CN202311630259 A CN 202311630259A CN 117312264 A CN117312264 A CN 117312264A
Authority
CN
China
Prior art keywords
file
information
server
virtual disk
disk system
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
Application number
CN202311630259.XA
Other languages
English (en)
Other versions
CN117312264B (zh
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.)
Zhongfu Information Co Ltd
Original Assignee
Zhongfu Information 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 Zhongfu Information Co Ltd filed Critical Zhongfu Information Co Ltd
Priority to CN202311630259.XA priority Critical patent/CN117312264B/zh
Publication of CN117312264A publication Critical patent/CN117312264A/zh
Application granted granted Critical
Publication of CN117312264B publication Critical patent/CN117312264B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种虚拟磁盘系统中的文件同步方法、系统、设备及介质,主要涉及文件同步技术领域,用以解决现有技术存储服务器上文件属性信息时一般存储在本地数据库或内存中,在同步比较文件是否发生变化时查找速度慢,且实现数据一致性的程序比较繁琐的问题。包括:通过虚拟磁盘系统获取新增commit信息,获取服务端commit信息,将差异commit信息返回至虚拟磁盘系统;获取对应的文件内容Blocks块,以使服务端对文件内容Blocks块进行入库操作,基于预设定时下载时间段,虚拟磁盘系统获取进行信息比对,以使虚拟磁盘系统更新系统fs信息;在客户端触发文件操作时,确定是否需要将客户端文件更新为服务端文件。

Description

虚拟磁盘系统中的文件同步方法、系统、设备及介质
技术领域
本申请涉及文件同步技术领域,尤其涉及一种虚拟磁盘系统中的文件同步方法、系统、设备及介质。
背景技术
虚拟磁盘(Virtual disk),就是在本地电脑里面虚拟出一个远程电脑里面的磁盘。
目前,业界存在将服务端文件映射到本地的虚拟盘技术,例如Dropbox和微软的OneDrive,访问服务端文件和虚拟磁盘系统类似,能够实现客户端文件的同步上传和服务器最新文件同步下载。
但是,现有技术存储服务器存储文件属性信息时一般存储在本地数据库或内存中,在同步比较文件是否发生变化时查找速度慢,且实现数据一致性的程序比较繁琐。
发明内容
针对现有技术的上述不足,本申请提供一种虚拟磁盘系统中的文件同步方法、系统、设备及介质,以解决现有技术存储服务器上文件属性信息时一般存储在本地数据库或内存中,在同步比较文件是否发生变化时查找速度慢,且实现数据一致性的程序比较繁琐的问题。
第一方面,本申请提供了一种虚拟磁盘系统中的文件同步方法,方法包括:
在客户端启动虚拟磁盘系统后,将服务端元数据中存储提交修改信息的commit信息和表示文件目录结构的fs信息克隆至客户端对应的虚拟磁盘系统中;
通过虚拟磁盘系统获取预设上传时间段内系统的文件变化信息,生成文件变化信息对应的新增commit信息,将新增commit信息提交至服务端;在服务端收到新增commit信息后,获取服务端在预设上传时间段内的服务端commit信息,进行信息比对以获得差异commit信息;将差异commit信息添加至服务端commit信息中,并将差异commit信息返回至虚拟磁盘系统;通过虚拟磁盘系统,获取差异commit信息对应的文件内容Blocks块,上传文件内容Blocks块至服务端,以使服务端对文件内容Blocks块进行入库操作,并更新对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态;
基于预设定时下载时间段,虚拟磁盘系统获取系统新增commit信息和服务端新增commit信息,以进行信息比对,在存在信息差异时,虚拟磁盘系统提交系统新增commit信息至服务端,以获得返回的服务端fs信息,以使虚拟磁盘系统更新系统fs信息;
在客户端触发文件操作时,虚拟磁盘系统确定客户端是否存在文件操作对应的文件内容Blocks块,以在不存在对应的文件内容Blocks块时,通过客户端对应的虚拟磁盘系统从服务端中下载到客户端中,并更新文件内容Blocks块对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态;在存在对应的文件内容Blocks块时,通过比对文件内容Blocks块对应的客户端文件与服务端文件的文件扩展属性,确定是否需要将客户端文件更新为服务端文件;在将客户端文件更新为服务端文件的同时,更新对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态。
进一步地,元数据包括存储提交修改信息的commit信息、表示文件目录结构的fs信息和文件的文件内容Blocks块。
进一步地,在通过虚拟磁盘系统获取预设上传时间段内系统的文件变化信息之前,方法还包括:
客户端通过文件资源管理器,对虚拟磁盘系统中的文件进行修改操作,进而生成文件变化信息。
进一步地,commit信息包括对应文件信息和文件内容Blocks块信息;通过虚拟磁盘系统,获取差异commit信息对应的文件内容Blocks块,具体包括:通过虚拟磁盘系统,获取差异commit信息对应的文件;进而对文件进行分Blocks块处理,以获取差异commit信息对应的文件内容Blocks块。
进一步地,文件角标状态分为:本地态、云端态、同步上传中态,同步下载中态;其中,本地态为存在于虚拟磁盘系统的状态,云端态为存在于服务端的状态,同步上传中态为存在于虚拟磁盘系统中且在向服务端同步的状态,同步下载中态为存在于服务端中且在向虚拟磁盘系统同步的状态。
进一步地,将客户端文件更新为服务端文件,具体包括:删除客户端文件,通过虚拟磁盘系统从服务端获取客户端文件对应的服务端文件,将服务端文件缓存至客户端中,进而将服务端文件返回给客户端触发文件操作的应用;或,删除客户端文件,通过虚拟磁盘系统从服务端获取客户端文件对应的服务端文件,直接将服务端文件返回给客户端触发文件操作的应用。
第二方面,本申请提供了一种虚拟磁盘系统中的文件同步系统,系统包括:文件信息克隆模块,用于在客户端启动虚拟磁盘系统后,将服务端元数据中存储提交修改信息的commit信息和表示文件目录结构的fs信息克隆至客户端对应的虚拟磁盘系统中;文件同步上传模块,用于通过虚拟磁盘系统获取预设上传时间段内系统的文件变化信息,生成文件变化信息对应的新增commit信息,将新增commit信息提交至服务端;在服务端收到新增commit信息后,获取服务端在预设上传时间段内的服务端commit信息,进行信息比对以获得差异commit信息;将差异commit信息添加至服务端commit信息中,并将差异commit信息返回至虚拟磁盘系统;通过虚拟磁盘系统,获取差异commit信息对应的文件内容Blocks块,上传文件内容Blocks块至服务端,以使服务端对文件内容Blocks块进行入库操作,并更新对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态;fs信息同步模块,用于基于预设定时下载时间段,虚拟磁盘系统获取系统新增commit信息和服务端新增commit信息,以进行信息比对,在存在信息差异时,虚拟磁盘系统提交系统新增commit信息至服务端,以获得返回的服务端fs信息,以使虚拟磁盘系统更新系统fs信息;文件同步下载模块,用于在客户端触发文件操作时,虚拟磁盘系统确定客户端是否存在文件操作对应的文件内容Blocks块,以在不存在对应的文件内容Blocks块时,通过客户端对应的虚拟磁盘系统从服务端中下载到客户端中,并更新文件内容Blocks块对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态;在存在对应的文件内容Blocks块时,通过比对文件内容Blocks块对应的客户端文件与服务端文件的文件扩展属性,确定是否需要将客户端文件更新为服务端文件;在将客户端文件更新为服务端文件的同时,更新对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态。
进一步地,文件同步下载模块包括下载单元,用于删除客户端文件,通过虚拟磁盘系统从服务端获取客户端文件对应的服务端文件,将服务端文件缓存至客户端中,进而将服务端文件返回给客户端触发文件操作的应用;或,删除客户端文件,通过虚拟磁盘系统从服务端获取客户端文件对应的服务端文件,直接将服务端文件返回给客户端触发文件操作的应用。
第三方面,本申请提供了一种虚拟磁盘系统中的文件同步设备,设备包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被执行时,使得处理器执行如上述任一项的一种虚拟磁盘系统中的文件同步方法。
第四方面,本申请提供了一种非易失性计算机存储介质,其上存储有计算机指令,计算机指令在被执行时实现如上述任一项的一种虚拟磁盘系统中的文件同步方法。
本领域技术人员能够理解的是,本申请至少具有如下有益效果:
本申请通过服务端与虚拟磁盘系统之间的commit信息的信息比较,实现了差异commit信息的获取,进而能够实时监控变化,并且是将变化文件内容Blocks分块上传至服务端。另外,本申请能够定时检测虚拟磁盘系统和服务端之间是否存在信息差异时,以在存在信息差异时,更新虚拟磁盘系统的fs信息。在涉及文件操作时,能够实时更新服务端增量变化数据,且在更新文件内容时,通过扩展属性方式快速判断已缓存文件是否需要更新。最后,本申请通过虚拟磁盘系统实现客户端和服务端数据一致性,实时的保证了虚拟磁盘系统中文件信息与服务端的文件信息同步,保证了用户端使用最新的文件且本地的更新能够实时同步至服务端。
附图说明
下面参照附图来描述本公开的部分实施例,附图中:
图1是本申请实施例提供的一种虚拟磁盘系统中的文件同步方法流程图。
图2是本申请实施例提供的一种虚拟磁盘系统中的文件同步系统内部结构示意图。
图3是本申请实施例提供的一种虚拟磁盘系统中的文件同步设备内部结构示意图。
具体实施方式
本领域技术人员应当理解的是,下文所描述的实施例仅仅是本公开的优选实施例,并不表示本公开仅能通过该优选实施例实现,该优选实施例仅仅是用于解释本公开的技术原理,并非用于限制本公开的保护范围。基于本公开提供的优选实施例,本领域普通技术人员在没有付出创造性劳动的情况下所获得的其它所有实施例,仍应落入到本公开的保护范围之内。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
下面通过附图对本申请实施例提出的技术方案进行详细的说明。
本申请实施例提供了一种虚拟磁盘系统中的文件同步方法,如图1所示,本申请实施例提供的方法,主要包括以下步骤:
步骤110、在客户端启动虚拟磁盘系统后,将服务端元数据中存储提交修改信息的commit信息和表示文件目录结构的fs信息克隆至客户端对应的虚拟磁盘系统中。
需要说明的是,元数据包括存储提交修改信息的commit信息、表示文件目录结构的fs(File System)信息和文件的文件内容Blocks块。
步骤120、通过虚拟磁盘系统获取预设上传时间段内系统的文件变化信息,生成文件变化信息对应的新增commit信息,将新增commit信息提交至服务端;在服务端收到新增commit信息后,获取服务端在预设上传时间段内的服务端commit信息,进行信息比对以获得差异commit信息;将差异commit信息添加至服务端commit信息中,并将差异commit信息返回至虚拟磁盘系统;通过虚拟磁盘系统,获取差异commit信息对应的文件内容Blocks块,上传文件内容Blocks块至服务端,以使服务端对文件内容Blocks块进行入库操作,并更新对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态。
需要说明的是,文件扩展属性为现有定义,对此进行的更新为现有更新方法,本申请不做限定。文件角标状态分为:本地态、云端态、同步上传中态,同步下载中态;其中,本地态为存在于虚拟磁盘系统的状态,云端态为存在于服务端的状态,同步上传中态为存在于虚拟磁盘系统中且在向服务端同步的状态,同步下载中态为存在于服务端中且在向虚拟磁盘系统同步的状态。这几种状态以文件角标的方式展示给用户,用户可以根据这几种状态清楚的分析出文件所处的状态。角标状态的配合同步流程更新,系统在完成一个流程后会实时更新文件角标状态。
另外,文件变化信息的生成过程可以具体为:
在通过虚拟磁盘系统获取预设上传时间段内系统的文件变化信息之前,方法还包括:客户端通过文件资源管理器,对虚拟磁盘系统中的文件进行修改操作,进而生成文件变化信息。
另外,commit信息包括对应文件信息和文件内容Blocks块信息;步骤中通过虚拟磁盘系统,获取差异commit信息对应的文件内容Blocks块,具体可以为:通过虚拟磁盘系统,获取差异commit信息对应的文件;进而对文件进行分Blocks块处理,以获取差异commit信息对应的文件内容Blocks块。
需要补充说明的是,对文件进行分Blocks块处理的方法为现有方法,本申请对此不做限定。
步骤130、基于预设定时下载时间段,虚拟磁盘系统获取系统新增commit信息和服务端新增commit信息,以进行信息比对,在存在信息差异时,虚拟磁盘系统提交系统新增commit信息至服务端,以获得返回的服务端fs信息,以使虚拟磁盘系统更新系统fs信息。
需要说明的是,预设定时下载时间段可由本领域技术人员根据实际情况确定。
步骤140、在客户端触发文件操作时,虚拟磁盘系统确定客户端是否存在文件操作对应的文件内容Blocks块,以在不存在对应的文件内容Blocks块时,通过客户端对应的虚拟磁盘系统从服务端中下载到客户端中,并更新文件内容Blocks块对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态;在存在对应的文件内容Blocks块时,通过比对文件内容Blocks块对应的客户端文件与服务端文件的文件扩展属性,确定是否需要将客户端文件更新为服务端文件;在将客户端文件更新为服务端文件的同时,更新对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态。
需要说明的是,文件操作为客户端对应客户端进行的文件操作,具体可以为调用、修改等现有的文件操作方法。
其中,将客户端文件更新为服务端文件,具体可以为:
删除客户端文件,通过虚拟磁盘系统从服务端获取客户端文件对应的服务端文件,将服务端文件缓存至客户端中,进而将服务端文件返回给客户端触发文件操作的应用;或,删除客户端文件,通过虚拟磁盘系统从服务端获取客户端文件对应的服务端文件,直接将服务端文件返回给客户端触发文件操作的应用。
除此之外,图2为本申请实施例提供的一种虚拟磁盘系统中的文件同步系统。如图2所示,本申请实施例提供的系统,主要包括:
文件信息克隆模块210,用于在客户端启动虚拟磁盘系统后,将服务端元数据中存储提交修改信息的commit信息和表示文件目录结构的fs信息克隆至客户端对应的虚拟磁盘系统中。
需要说明的是,文件信息克隆模块210可以为任意可行的能够将服务端元数据中存储提交修改信息的commit信息和表示文件目录结构的fs信息克隆至客户端对应的虚拟磁盘系统中的设备或装置等。
文件同步上传模块220,用于通过虚拟磁盘系统获取预设上传时间段内系统的文件变化信息,生成文件变化信息对应的新增commit信息,将新增commit信息提交至服务端;在服务端收到新增commit信息后,获取服务端在预设上传时间段内的服务端commit信息,进行信息比对以获得差异commit信息;将差异commit信息添加至服务端commit信息中,并将差异commit信息返回至虚拟磁盘系统;通过虚拟磁盘系统,获取差异commit信息对应的文件内容Blocks块,上传文件内容Blocks块至服务端,以使服务端对文件内容Blocks块进行入库操作,并更新对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态。
需要说明的是,文件同步上传模块220可以为任意可行的能够进行信息比对以获得差异commit信息、获取差异commit信息对应的文件内容Blocks块,上传文件内容Blocks块至服务端,以使服务端对文件内容Blocks块进行入库操作,并更新对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态的设备或装置等。
fs信息同步模块230,用于基于预设定时下载时间段,虚拟磁盘系统获取系统新增commit信息和服务端新增commit信息,以进行信息比对,在存在信息差异时,虚拟磁盘系统提交系统新增commit信息至服务端,以获得返回的服务端fs信息,以使虚拟磁盘系统更新系统fs信息。
需要说明的是,fs信息同步模块230可以为任意可行的能够进行信息比对,在存在信息差异时,虚拟磁盘系统提交系统新增commit信息至服务端,以获得返回的服务端fs信息,以使虚拟磁盘系统更新系统fs信息的设备或装置等。
文件同步下载模块240,用于在客户端触发文件操作时,虚拟磁盘系统确定客户端是否存在文件操作对应的文件内容Blocks块,以在不存在对应的文件内容Blocks块时,通过客户端对应的虚拟磁盘系统从服务端中下载到客户端中,并更新文件内容Blocks块对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态;在存在对应的文件内容Blocks块时,通过比对文件内容Blocks块对应的客户端文件与服务端文件的文件扩展属性,确定是否需要将客户端文件更新为服务端文件;在将客户端文件更新为服务端文件的同时,更新对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态。
需要说明的是,文件同步下载模块240可以为任意可行的能够确定客户端触发文件操作涉及的文件更新为最新文件的设备或装置等。
其中,将客户端文件更新为服务端文件,具体可以为:
文件同步下载模块240中的下载单元241删除客户端文件,通过虚拟磁盘系统从服务端获取客户端文件对应的服务端文件,将服务端文件缓存至客户端中,进而将服务端文件返回给客户端触发文件操作的应用;或,删除客户端文件,通过虚拟磁盘系统从服务端获取客户端文件对应的服务端文件,直接将服务端文件返回给客户端触发文件操作的应用。
以上为本申请中的方法实施例,基于同样的发明构思,本申请实施例还提供了一种虚拟磁盘系统中的文件同步设备。如图3所示,该设备包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被执行时,使得处理器执行如上述实施例中的一种虚拟磁盘系统中的文件同步方法。
具体地,服务器端在客户端启动虚拟磁盘系统后,将服务端元数据中存储提交修改信息的commit信息和表示文件目录结构的fs信息克隆至客户端对应的虚拟磁盘系统中;通过虚拟磁盘系统获取预设上传时间段内系统的文件变化信息,生成文件变化信息对应的新增commit信息,将新增commit信息提交至服务端;在服务端收到新增commit信息后,获取服务端在预设上传时间段内的服务端commit信息,进行信息比对以获得差异commit信息;将差异commit信息添加至服务端commit信息中,并将差异commit信息返回至虚拟磁盘系统;通过虚拟磁盘系统,获取差异commit信息对应的文件内容Blocks块,上传文件内容Blocks块至服务端,以使服务端对文件内容Blocks块进行入库操作,并更新对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态;基于预设定时下载时间段,虚拟磁盘系统获取系统新增commit信息和服务端新增commit信息,以进行信息比对,在存在信息差异时,虚拟磁盘系统提交系统新增commit信息至服务端,以获得返回的服务端fs信息,以使虚拟磁盘系统更新系统fs信息;在客户端触发文件操作时,虚拟磁盘系统确定客户端是否存在文件操作对应的文件内容Blocks块,以在不存在对应的文件内容Blocks块时,通过客户端对应的虚拟磁盘系统从服务端中下载到客户端中,并更新文件内容Blocks块对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态;在存在对应的文件内容Blocks块时,通过比对文件内容Blocks块对应的客户端文件与服务端文件的文件扩展属性,确定是否需要将客户端文件更新为服务端文件;在将客户端文件更新为服务端文件的同时,更新对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态。
除此之外,本申请实施例还提供了一种非易失性计算机存储介质,其上存储有可执行指令,在该可执行指令被执行时,实现如上述的一种虚拟磁盘系统中的文件同步方法。
至此,已经结合前文的多个实施例描述了本公开的技术方案,但是,本领域技术人员容易理解的是,本公开的保护范围并不仅限于这些具体实施例。在不偏离本公开技术原理的前提下,本领域技术人员可以对上述各个实施例中的技术方案进行拆分和组合,也可以对相关技术特征作出等同的更改或替换,凡在本公开的技术构思和/或技术原理之内所做的任何更改、等同替换、改进等都将落入本公开的保护范围之内。

Claims (10)

1.一种虚拟磁盘系统中的文件同步方法,其特征在于,所述方法包括:
在客户端启动虚拟磁盘系统后,将服务端元数据中存储提交修改信息的commit信息和表示文件目录结构的fs信息克隆至客户端对应的虚拟磁盘系统中;
通过虚拟磁盘系统获取预设上传时间段内系统的文件变化信息,生成文件变化信息对应的新增commit信息,将新增commit信息提交至服务端;在服务端收到新增commit信息后,获取服务端在预设上传时间段内的服务端commit信息,进行信息比对以获得差异commit信息;将差异commit信息添加至服务端commit信息中,并将差异commit信息返回至虚拟磁盘系统;通过虚拟磁盘系统,获取差异commit信息对应的文件内容Blocks块,上传文件内容Blocks块至服务端,以使服务端对文件内容Blocks块进行入库操作,并更新对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态;
基于预设定时下载时间段,虚拟磁盘系统获取系统新增commit信息和服务端新增commit信息,以进行信息比对,在存在信息差异时,虚拟磁盘系统提交系统新增commit信息至服务端,以获得返回的服务端fs信息,以使虚拟磁盘系统更新系统fs信息;
在客户端触发文件操作时,虚拟磁盘系统确定客户端是否存在文件操作对应的文件内容Blocks块,以在不存在对应的文件内容Blocks块时,通过客户端对应的虚拟磁盘系统从服务端中下载到客户端中,并更新文件内容Blocks块对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态;在存在对应的文件内容Blocks块时,通过比对文件内容Blocks块对应的客户端文件与服务端文件的文件扩展属性,确定是否需要将客户端文件更新为服务端文件;在将客户端文件更新为服务端文件的同时,更新对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态。
2.根据权利要求1所述的虚拟磁盘系统中的文件同步方法,其特征在于,元数据包括存储提交修改信息的commit信息、表示文件目录结构的fs信息和文件的文件内容Blocks块。
3.根据权利要求1所述的虚拟磁盘系统中的文件同步方法,其特征在于,在通过虚拟磁盘系统获取预设上传时间段内系统的文件变化信息之前,所述方法还包括:
客户端通过文件资源管理器,对虚拟磁盘系统中的文件进行修改操作,进而生成文件变化信息。
4.根据权利要求1所述的虚拟磁盘系统中的文件同步方法,其特征在于,commit信息包括对应文件信息和文件内容Blocks块信息;
通过虚拟磁盘系统,获取差异commit信息对应的文件内容Blocks块,具体包括:
通过虚拟磁盘系统,获取差异commit信息对应的文件;
进而对文件进行分Blocks块处理,以获取差异commit信息对应的文件内容Blocks块。
5.根据权利要求1所述的虚拟磁盘系统中的文件同步方法,其特征在于,文件角标状态分为:本地态、云端态、同步上传中态,同步下载中态;其中,本地态为存在于虚拟磁盘系统的状态,云端态为存在于服务端的状态,同步上传中态为存在于虚拟磁盘系统中且在向服务端同步的状态,同步下载中态为存在于服务端中且在向虚拟磁盘系统同步的状态。
6.根据权利要求1所述的虚拟磁盘系统中的文件同步方法,其特征在于,将客户端文件更新为服务端文件,具体包括:
删除客户端文件,通过虚拟磁盘系统从服务端获取客户端文件对应的服务端文件,将服务端文件缓存至客户端中,进而将服务端文件返回给客户端触发文件操作的应用;
或,删除客户端文件,通过虚拟磁盘系统从服务端获取客户端文件对应的服务端文件,直接将服务端文件返回给客户端触发文件操作的应用。
7.一种虚拟磁盘系统中的文件同步系统,其特征在于,所述系统包括:
文件信息克隆模块,用于在客户端启动虚拟磁盘系统后,将服务端元数据中存储提交修改信息的commit信息和表示文件目录结构的fs信息克隆至客户端对应的虚拟磁盘系统中;
文件同步上传模块,用于通过虚拟磁盘系统获取预设上传时间段内系统的文件变化信息,生成文件变化信息对应的新增commit信息,将新增commit信息提交至服务端;在服务端收到新增commit信息后,获取服务端在预设上传时间段内的服务端commit信息,进行信息比对以获得差异commit信息;将差异commit信息添加至服务端commit信息中,并将差异commit信息返回至虚拟磁盘系统;通过虚拟磁盘系统,获取差异commit信息对应的文件内容Blocks块,上传文件内容Blocks块至服务端,以使服务端对文件内容Blocks块进行入库操作,并更新对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态;
fs信息同步模块,用于基于预设定时下载时间段,虚拟磁盘系统获取系统新增commit信息和服务端新增commit信息,以进行信息比对,在存在信息差异时,虚拟磁盘系统提交系统新增commit信息至服务端,以获得返回的服务端fs信息,以使虚拟磁盘系统更新系统fs信息;
文件同步下载模块,用于在客户端触发文件操作时,虚拟磁盘系统确定客户端是否存在文件操作对应的文件内容Blocks块,以在不存在对应的文件内容Blocks块时,通过客户端对应的虚拟磁盘系统从服务端中下载到客户端中,并更新文件内容Blocks块对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态;在存在对应的文件内容Blocks块时,通过比对文件内容Blocks块对应的客户端文件与服务端文件的文件扩展属性,确定是否需要将客户端文件更新为服务端文件;在将客户端文件更新为服务端文件的同时,更新对应的文件在虚拟磁盘系统中的文件扩展属性和文件角标状态。
8.根据权利要求7所述的虚拟磁盘系统中的文件同步系统,其特征在于,文件同步下载模块包括下载单元,
用于删除客户端文件,通过虚拟磁盘系统从服务端获取客户端文件对应的服务端文件,将服务端文件缓存至客户端中,进而将服务端文件返回给客户端触发文件操作的应用;
或,删除客户端文件,通过虚拟磁盘系统从服务端获取客户端文件对应的服务端文件,直接将服务端文件返回给客户端触发文件操作的应用。
9.一种虚拟磁盘系统中的文件同步设备,其特征在于,所述设备包括:
处理器;
以及存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求1-6任一项所述的一种虚拟磁盘系统中的文件同步方法。
10.一种非易失性计算机存储介质,其特征在于,其上存储有计算机指令,所述计算机指令在被执行时实现如权利要求1-6任一项所述的一种虚拟磁盘系统中的文件同步方法。
CN202311630259.XA 2023-12-01 2023-12-01 虚拟磁盘系统中的文件同步方法、系统、设备及介质 Active CN117312264B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311630259.XA CN117312264B (zh) 2023-12-01 2023-12-01 虚拟磁盘系统中的文件同步方法、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311630259.XA CN117312264B (zh) 2023-12-01 2023-12-01 虚拟磁盘系统中的文件同步方法、系统、设备及介质

Publications (2)

Publication Number Publication Date
CN117312264A true CN117312264A (zh) 2023-12-29
CN117312264B CN117312264B (zh) 2024-02-20

Family

ID=89281604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311630259.XA Active CN117312264B (zh) 2023-12-01 2023-12-01 虚拟磁盘系统中的文件同步方法、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN117312264B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170277709A1 (en) * 2016-03-25 2017-09-28 Amazon Technologies, Inc. Block allocation for low latency file systems
US20180136881A1 (en) * 2016-11-15 2018-05-17 Huawei Technologies Co., Ltd. Virtual Disk Processing Method and Apparatus
CN109299056A (zh) * 2018-09-19 2019-02-01 潍坊工程职业学院 一种基于分布式文件系统的数据同步方法和装置
CN110069454A (zh) * 2017-09-11 2019-07-30 中兴通讯股份有限公司 一种网络文件管理方法、终端及计算机可读存储介质
JP2020095589A (ja) * 2018-12-14 2020-06-18 株式会社アール・アイ 仮想ファイル処理システム及び仮想ファイル処理プログラム
CN112596956A (zh) * 2020-12-28 2021-04-02 北京浪潮数据技术有限公司 一种文件系统管理方法、装置及相关组件
CN114328428A (zh) * 2021-12-30 2022-04-12 北京百度网讯科技有限公司 一种文件同步方法、装置、电子设备及存储介质
KR20220074537A (ko) * 2020-11-27 2022-06-03 이화여자대학교 산학협력단 가상 머신 환경에서의 블록 커밋 방법 및 그 방법을 수행하는 가상화 시스템
CN116185962A (zh) * 2022-12-16 2023-05-30 中国联合网络通信集团有限公司 基于分布式文件系统的数据处理方法及装置
CN116450595A (zh) * 2023-04-18 2023-07-18 北京看云软件有限公司 文档一致性校验方法及系统
CN117033082A (zh) * 2023-09-01 2023-11-10 武汉吧哒科技股份有限公司 虚拟机备份恢复方法、装置、计算机设备及存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170277709A1 (en) * 2016-03-25 2017-09-28 Amazon Technologies, Inc. Block allocation for low latency file systems
US20180136881A1 (en) * 2016-11-15 2018-05-17 Huawei Technologies Co., Ltd. Virtual Disk Processing Method and Apparatus
CN110069454A (zh) * 2017-09-11 2019-07-30 中兴通讯股份有限公司 一种网络文件管理方法、终端及计算机可读存储介质
CN109299056A (zh) * 2018-09-19 2019-02-01 潍坊工程职业学院 一种基于分布式文件系统的数据同步方法和装置
JP2020095589A (ja) * 2018-12-14 2020-06-18 株式会社アール・アイ 仮想ファイル処理システム及び仮想ファイル処理プログラム
KR20220074537A (ko) * 2020-11-27 2022-06-03 이화여자대학교 산학협력단 가상 머신 환경에서의 블록 커밋 방법 및 그 방법을 수행하는 가상화 시스템
CN112596956A (zh) * 2020-12-28 2021-04-02 北京浪潮数据技术有限公司 一种文件系统管理方法、装置及相关组件
CN114328428A (zh) * 2021-12-30 2022-04-12 北京百度网讯科技有限公司 一种文件同步方法、装置、电子设备及存储介质
CN116185962A (zh) * 2022-12-16 2023-05-30 中国联合网络通信集团有限公司 基于分布式文件系统的数据处理方法及装置
CN116450595A (zh) * 2023-04-18 2023-07-18 北京看云软件有限公司 文档一致性校验方法及系统
CN117033082A (zh) * 2023-09-01 2023-11-10 武汉吧哒科技股份有限公司 虚拟机备份恢复方法、装置、计算机设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张学成;肖侬;刘芳;余松平;: "内存文件系统综述", 计算机研究与发展, no. 2 *
沙行勉等: "面向同驻虚拟机的高效共享内存文件系统", 计算机学报, vol. 42, no. 4 *

Also Published As

Publication number Publication date
CN117312264B (zh) 2024-02-20

Similar Documents

Publication Publication Date Title
CN109634925B (zh) 资源文件下载方法、装置、计算机设备和存储介质
US20210248112A1 (en) System and method for content synchronization
JP6091579B2 (ja) ウェブページのネストしたフラグメントキャッシングを処理する方法および装置
US20140081911A1 (en) Optimizing automatic deletion of backup files
CA2829221C (en) Local storage linked to networked storage system
JP2016520919A5 (zh)
US9690796B2 (en) Non-transitory computer-readable media storing file management program, file management apparatus, and file management method
US9075722B2 (en) Clustered and highly-available wide-area write-through file system cache
EP3055794A1 (en) Hierarchical data archiving
CN111433760A (zh) 用于复制云存储的文件的增强技术
CN113190448A (zh) 测试代码更新方法及装置、电子设备、存储介质
US10606805B2 (en) Object-level image query and retrieval
CN108319634B (zh) 分布式文件系统的目录访问方法和装置
CN114528255A (zh) 元数据管理方法、电子设备及计算机程序产品
CN117312264B (zh) 虚拟磁盘系统中的文件同步方法、系统、设备及介质
US11507541B2 (en) Method to model server-client sync conflicts using version trees
CN115905114B (zh) 元数据的批量更新方法、系统、电子设备及可读存储介质
JP2017045455A (ja) データを編成するシステム及び方法
CN110830537B (zh) 一种页面处理方法及装置
KR20080050980A (ko) 객체 기반 파일 시스템의 파일셋의 스냅샷 제공 방법
CN111931010B (zh) 一种锚点与线条的动态绑定方法、装置、设备和存储介质
CN112286545B (zh) 数据更新方法、装置、设备和存储介质
KR20170095172A (ko) 서버 기반 미디어 스캔을 위한 장치 및 방법
CN109033420B (zh) 一种数据处理方法和装置
KR20170094845A (ko) 서버 기반 미디어 스캔을 위한 장치 및 방법

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