CN116266174A - 文件版本管理方法及文件系统 - Google Patents

文件版本管理方法及文件系统 Download PDF

Info

Publication number
CN116266174A
CN116266174A CN202210145828.0A CN202210145828A CN116266174A CN 116266174 A CN116266174 A CN 116266174A CN 202210145828 A CN202210145828 A CN 202210145828A CN 116266174 A CN116266174 A CN 116266174A
Authority
CN
China
Prior art keywords
file
directory
path
version
version information
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
CN202210145828.0A
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.)
QNAP Systems Inc
Original Assignee
QNAP Systems Inc
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 QNAP Systems Inc filed Critical QNAP Systems Inc
Publication of CN116266174A publication Critical patent/CN116266174A/zh
Pending legal-status Critical Current

Links

Images

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/18File system types
    • G06F16/1873Versioning file systems, temporal file systems, e.g. file system supporting different historic versions 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/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/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/18File system types
    • G06F16/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种文件版本管理方法及文件系统,该方法包括:将文件写入第一文件路径,其中,该第一文件路径包括第一目录;根据该第一文件路径产生第二文件路径,其中,该第二文件路径包括第二目录,且该第二目录位于该第一目录的至少下一层;以及建立自该第一文件路径的该文件指向该第二目录的下一层的链接,以在该第二目录的该下一层产生版本信息文件且令该链接指向该版本信息文件。

Description

文件版本管理方法及文件系统
技术领域
本发明有关一种文件管理技术,且特别有关一种文件版本管理方法及执行该方法的文件系统。
背景技术
版本管理为一些文件系统的功能,使用此功能的文件将不允许直接更改其数据内容,若有更改,则文件系统会将更改后的数据内容存储为另一个新版本,新版本与先前的旧版本会并存在文件系统中,以供用户比较各版本之间的差异,在有需要时也可将文件回复为旧版本。
现有支援版本管理的文件系统大致上分成两大类。其中一类文件系统本身即支援版本管理,例如Btrfs、新版日志结构文件系统(New Implementation of a Log-structured File System,NILFS)及Tux3等。另一类文件系统本身不支援版本管理,需通过用户空间文件系统(Filesystem in Userspace,FUSE)支援版本管理,但会因为FUSE的叠加而降低性能。
然而,对于一些存储装置,如果需要增加版本管理的功能,同时要维持良好的文件存取性能,则以上两种方式都不适合,因为有些存储装置不能随意更换文件系统,而若在其文件系统上叠加一层FUSE,将明显降低文件存取性能,因此需要一种技术来至少解决上述问题。
发明内容
本发明提供一种文件版本管理方法及文件系统,可至少部分地解决上述问题。
本发明的文件版本管理方法,包括:将文件写入第一文件路径,其中,该第一文件路径包括第一目录;根据该第一文件路径产生第二文件路径,其中,该第二文件路径包括第二目录,且该第二目录位于该第一目录的至少下一层;以及建立自该第一文件路径的该文件指向该第二目录的下一层的链接,以在该第二目录的该下一层产生版本信息文件且令该链接指向该版本信息文件。
本发明另提供一种文件系统,应用于存储装置、计算机或服务器中,以执行上述的文件版本管理方法。
本发明通过一些文件系统中的链接(link)特性并结合文件路径与编解码,借以达成文件多版本的管理目的。因为建立文件系统中的链接所花费的系统资源极小,故本发明可根据该链接及文件路径与编解码提供文件版本管理目的,且同时可以维持文件系统原先的存取性能,而不影响其存取性能。
附图说明
图1为根据本发明一实施例的文件系统的示意图。
图2至图6为根据本发明一实施例的文件版本管理方法的流程示意图。
图7-1至图7-2为根据本发明另一实施例的文件版本管理方法的流程示意图。
图8-1至图8-2为根据本发明又一实施例的文件版本管理方法的流程示意图。
图9为根据本发明一实施例的文件系统结构图。
附图标记说明
10:终端装置
100,200:文件系统结构
20:存储装置
25:文件系统
30,50,51,120,130,210,220,230,240,250:目录
40,52,53,54,110,140,150,211,241~243,251~252:文件
L1~L3:链接。
具体实施方式
以下经由特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其他优点及技术效果。
请参照图1,其为根据本发明一实施例的文件系统的示意图。如图1所示,存储装置20安装有文件系统25,以存储终端装置10上传的文件。
终端装置10为用户的电子装置,例如智能手机、平板计算机、笔记本计算机或个人计算机。存储装置20可为网络附接存储器(network-attached storage,NAS)或其他独立的数据存储装置;此外,存储装置20亦可为计算机或服务器。
终端装置10通过有线或无线网络连接存储装置20,以上传文件至存储装置20,且自存储装置20读取或下载文件。此外,文件系统25可用软件、硬件和/或固件的方式实施。
文件系统25根据本发明各实施例执行如图2至图8-2所示的文件版本管理方法,以下将详细说明。
当终端装置10上传文件时,例如文件(File1)40,则如图2所示,存储装置20的文件系统25会接收文件(File1)40,且将文件(File1)40写入第一文件路径(path),其中,第一文件路径包括目录(Folder)30。
目录(Folder)30可为文件系统25事先建立的目录,且文件系统25采用树状结构,因此,在一实施例中,第一文件路径还可以包括目录(Folder)30以上的其他目录(未绘示),直到文件系统25的根目录。
接着,文件系统25根据第一文件路径产生第二文件路径,其中,第一文件路径为终端装置10提供的或终端装置10已知的文件(File1)40在文件系统25中的存储路径,而第二文件路径为文件系统25中用于存储文件(File1)40的多个版本的路径。
如图3所示,第二文件路径包括目录(Folder)30、目录(Versioning)50及目录(:File1)51,其中,目录(Versioning)50位于目录(Folder)30的至少下一层,且目录(:File1)51位于目录(Versioning)50的下一层。此外,在一实施例中,第二文件路径还可以包括目录(Folder)30以上的其他目录,直到文件系统25的根目录。
在一实施例中,目录(Versioning)50可为隐藏目录或包含隐藏目录,以避免一般用户直接读取或操作目录(Versioning)50下的目录和版本信息文件。
若文件(File1)40是第一个上传的使用版本管理功能的文件,则文件系统25会建立目录(Versioning)50,而当终端装置10第一次上传文件(File1)40,则文件系统25会建立目录(:File1)51。
在一实施例中,目录(:File1)51的名称根据文件(File1)40的名称进行编码而产生,以表示目录(:File1)51和文件(File1)40之间的关联,上述编码例如在文件名称前面附加预设的前缀(prefix),例如以字符“:”为前缀,将文件名称“File1”编码为对应的目录名称“:File1”,或将文件名称“File2”编码为对应的目录名称“:File2”。
接着,如图4-1所示,文件系统25建立自第一文件路径的文件(File1)40指向目录(:File1)51的下一层的链接L1,以在目录(:File1)51的下一层产生版本信息文件(V1)52,且令链接L1自第一文件路径的文件(File1)40指向版本信息文件(V1)52。
在本发明的实施例中,该链接(例如链接L1)可为硬链接(hard link)或符号链接(symbolic link),例如ZFS文件系统或ext4文件系统已支援的硬链接或符号链接,其中,硬链接可使文件(File1)40及版本信息文件(V1)52共用索引节点(index node,或简称为inode)。因此,在硬链接环境下,文件(File1)40及版本信息文件(V1)52实际上为存取同一个索引节点,两者具有共同的元数据(metadata)及数据内容。因此,当用户或终端装置10自存储装置20读取第一文件路径的文件(File1)40,也就是读取版本信息文件(V1)52。
在另一实施例中,符号链接可使文件(File1)40及版本信息文件(V1)52不共用索引节点。因此,在符号链接环境下,当用户或终端装置10自存储装置20读取第一文件路径的文件(File1)40时,文件系统25会依据符号链接转而读取版本信息文件(V1)52,实际上,用户的读取目标从文件(File1)40(inode A)转为版本信息文件(V1)52(inode B)。
在一实施例中,上述元数据例如包括文件的大小、类型、建立时间、是否只读及是否隐藏等属性(attribute)、以及扩展属性(extended attribute)。
为达成版本管理所需的不可更改的特性,文件系统25可利用符号链接为文件(File1)40设定对象锁(object lock),例如利用图4-2中的符号链接L1。在一实施例中,可利用威联通软件产品QuTS hero架构下的ZFS文件系统支援单写多读(write once readmany,WORM)功能,将对象锁的设定写入版本信息文件(V1)52的元数据中,以将版本信息文件(V1)52设定为不可更改的状态。
在另一实施例中,可设定版本信息文件(V1)52的属性中的不可更改旗标(immutable flag),以将文件(File1)40及版本信息文件(V1)52设定为不可更改的状态。此外,因为单写多读功能和不可更改旗标均以索引节点为操作对象,所以在对象锁的实作上需要以符号链接实现链接L1。
当终端装置10再次上传文件(File1)40时,则如图5所示,存储装置20的文件系统25会接收文件(File1)40,且将文件(File1)40写入第一临时文件(未绘示),再移动第一临时文件以覆盖第一文件路径的文件(File1)40。然后,文件系统25建立自第一文件路径的文件(File1)40指向目录(:File1)51的下一层的链接L2,以在目录(:File1)51的下一层产生版本信息文件(V2)53,且令链接L2自第一文件路径的文件(File1)40指向版本信息文件(V2)53。
当终端装置10第三次上传文件(File1)40时,则如图6所示,存储装置20的文件系统25会接收文件(File1)40,且将文件(File1)40写入第二临时文件(未绘示),再移动第二临时文件以覆盖第一文件路径的文件(File1)40。然后,文件系统25建立自第一文件路径的文件(File1)40指向目录(:File1)51的下一层的链接L3,以在目录(:File1)51的下一层产生版本信息文件(V3)54,且令链接L3自第一文件路径的文件(File1)40指向版本信息文件(V3)54。
文件系统25将文件(File1)40的多个不同版本存储在第二文件路径的目录(:File1)51之下,借此达成文件多版本的功能。如同上述的链接L1,链接L3使文件(File1)40及版本信息文件(V3)54实际上为同一文件,两者具有共同的元数据及数据内容。因此,当终端装置10自存储装置20读取第一文件路径的文件(File1)40,也就是读取其最新版本(V3)54。
此外,若需要读取先前版本,终端装置10可向存储装置20发出指定版本的读取请求,以令文件系统25直接读取并回传目录(:File1)51下的任一版本信息文件。
图2至图6中的各目录及各文件的名称(即Folder、Versioning、:File1、File1、V1、V2、V3)仅为范例,在不同实施例中,各目录及各文件可采用不同名称,例如,在一实施例中,版本信息文件V1~V3的名称均可改为各自的通用唯一辨识码(Universally UniqueIdentifier,UUID)。
在另一实施例中,文件系统25亦可存储其他文件的多个版本。例如,若终端装置10上传另一个文件(FileX),则比照上述的文件(File1)40,文件系统25会将文件(FileX)写入目录(Folder)30的下一层,也会在目录(Versioning)50的下一层建立对应的目录(:FileX),且在目录(:FileX)的下一层产生文件(FileX)的多个版本信息文件,并建立从目录(Folder)之下的文件(FileX)指向其最新版本的链接。
接着,请参照图7-1与图7-2,首先,如图7-1所示,文件(File1)40有两个版本(V1)52及(V2)53,链接L1自第一文件路径的文件(File1)40指向最新版本(V2)53。因此,当终端装置10自存储装置20读取第一文件路径的文件(File1)40,就是读取版本(V2)53。
当终端装置10向存储装置20发出移除文件(File1)40的版本(V2)53的请求时,如图7-2所示,文件系统25会响应该请求而删除版本信息文件(V2)53,且建立自第一文件路径的文件(File1)40指向版本信息文件(V1)52的链接L2。此后,当终端装置10自存储装置20读取第一文件路径的文件(File1)40,就是读取版本(V1)52。
在另一实施例中,在文件(File1)40有三个或更多版本的情况下,当终端装置10向存储装置20发出移除文件(File1)40的最新版本的请求时,文件系统25会响应该请求而删除文件(File1)40的链接所指向的版本信息文件。然后,文件系统25将目录(:File1)51下剩余的版本信息文件中建立时间最晚者设为最新版本,再建立自第一文件路径的文件(File1)40指向该最新版本的链接。
接着,请参照图8-1与图8-2,首先,如图8-1所示,文件(File1)40有两个版本(V1)52及(V2)53,链接L1自第一文件路径的文件(File1)40指向最新版本(V2)53。当终端装置10向存储装置20发出移除文件(File1)40本身的请求时,如图8-2所示,文件系统25会响应该请求而删除第一文件路径的文件(File1)40,且在目录(:File1)51的下一层产生版本信息文件(V3)54,其中,版本信息文件(V3)54记录文件(File1)40已被移除。
接着,请参照图9,其为根据本发明一实施例的文件系统结构图。图9中的目录(Folder)30及目录(Versioning)50如同前述实施例。本实施例的文件系统25包括文件系统结构100及200。文件系统结构100及200分别位在目录(Folder)30及目录(Versioning)50之下,其中,文件系统结构100为文件系统25向用户呈现的结构,即呈现于用户眼中的文件系统结构,相对地,文件系统结构200则为实际用于文件系统结构100中的文件的版本管理的结构。
文件系统结构100包括文件110、140、150以及目录120、130,其中,目录130和文件150位于目录120的下一层,文件140位于目录130的下一层。文件系统结构200则包括文件211、241~243、251~252以及目录210、220、230、240、250,其中,文件211位于目录210的下一层,目录230和250位于目录220的下一层,目录240位于目录230的下一层,文件241~243位于目录240的下一层,文件251~252位于目录250的下一层。
文件211、241~243及251~252分别为文件110、140及150的版本信息文件,即文件110、140及150的多个版本,其中,版本信息文件211、243及252分别为文件110、140及150的最新版本。因此,文件系统25分别建立自文件110指向版本信息文件211的链接L1、自文件140指向版本信息文件243的链接L2、以及自文件150指向版本信息文件252的链接L3。文件系统结构100及200的建立过程可参照图2至图7-2所示的流程类推。此外,文件系统结构100及200中亦可进行如图8-1及图8-2所示的删除流程。
下列的表1为文件110、140及150在文件系统结构100中的第一文件路径与所述文件在文件系统结构200中的第二文件路径的对照表,其中,第一文件路径为文件110、140及150自身所在的路径,第二文件路径则为所述文件的版本信息文件所在的路径。如同前述的实施例,第一文件路径可包括目录(Folder)30及更上层的目录,且第二文件路径可包括目录(Versioning)50、目录(Folder)30及更上层的目录,表1仅包括第一文件路径在文件系统结构100中的部分及第二文件路径在文件系统结构200中的部分。
Figure BDA0003508885380000081
表1
对于文件110、140及150中的每一者,其第二文件路径中的每个目录的名称均根据同一文件的第一文件路径中对应的目录或文件的名称进行编码而产生。如表1所示,对于文件110,其第一文件路径中的文件名称“F1”于编码后产生第二文件路径中的目录名称“:F1”。对于文件140,其第一文件路径中的各层目录及文件名称“D1”、“:D2”、“F2”于编码后分别产生第二文件路径中的各层目录名称“D1”、“\\:D2”、“:F2”;或在另一实施例,其第一文件路径中的各层目录及文件名称“D1”、“\\D2”、“F2”于编码后分别产生第二文件路径中的各层目录名称“D1”、“\\\\D2”、“:F2”。对于文件150,其第一文件路径中的各层目录及文件名称“D1”、“F3”于编码后分别产生第二文件路径中的各层目录名称“D1”、“:F3”。
第一文件路径中的文件名称的编码规则和前述实施例相同,例如可在该文件名称前面附加预设的前缀,例如以字符“:”为前缀,将文件110、140及150的名称“F1”、“F2”及“F3”分别编码为对应的目录210、240及250的名称“:F1”、“:F2”及“:F3”。
第一文件路径中的目录名称的编码规则可为:若该目录名称的开头为特定字符(例如“:”或“\\”),则在该目录名称前面附加前缀“\\”,例如将目录130的名称“:D2”编码为对应的目录230的名称“\\:D2”,或将目录130的名称“\\D2”编码为对应的目录230的名称“\\\\D2”。另外,若第一文件路径中的目录名称的开头并非该特定字符,则不改变该目录名称,例如目录120及目录220的名称均为“D1”。
终端装置10可向存储装置20发出显示文件版本的请求,例如显示单一指定文件(例如文件110、140或150)的全部版本的请求,或显示所有文件的全部版本的请求。当存储装置20收到显示文件140的全部版本的请求时,文件系统25会响应该请求将目录240之下的每一个版本信息文件的名称或编号以及每一个版本信息文件的部分或全部元数据(例如大小及建立时间)传回终端装置10,以供终端装置10的用户界面显示。
当存储装置20收到显示所有文件的全部版本的请求时,文件系统25会响应该请求将目录(Versioning)50之下的树状结构中的每一个版本信息文件(例如图9中的版本信息文件211、241~243及251~252)的名称或编号以及每一个版本信息文件的部分或全部元数据传回终端装置10,以供终端装置10的用户界面显示。
在处理显示文件版本的请求时,文件系统25可将第二文件路径中的每一层目录名称解码,以获得对应的第一文件路径中的目录与文件的名称。此处的解码和前述的编码相互对应。
详言之,若第二文件路径中的最下层目录名称的前缀为字符“:”,则去除该前缀,即可获得对应的文件名称,例如将最下层目录210、240及250的名称“:F1”、“:F2”及“:F3”分别解码为对应的文件110、140及150的名称“F1”、“F2”及“F3”;若第二文件路径中的其余目录的名称前缀为“\\:”或“\\\\”,则去除该前缀中的“\\”,即可获得对应的目录名称,例如将目录230的名称“\\:D2”或“\\\\D2”解码为对应的目录130的名称“:D2”或“\\D2”。
此外,文件系统25可将解码后获得的第一文件路径中的目录和文件的名称一并传回终端装置10,以供终端装置10的用户界面显示。
另外,在处理显示文件版本的请求时,文件系统25可侦测每一个文件的多个版本信息文件中的最新版本和/或记录文件已被移除的信息的版本信息文件,且在响应该请求而传回终端装置10的信息中,为这些版本信息文件附加特别标记,以供终端装置10的用户界面显示各文件的最新版本及/或各文件是否已被删除。
例如,在某一个文件的多个版本信息文件中,和该文件共用索引节点者即该文件的最新版本。或者,在某一个文件的多个版本信息文件中,具有最晚的建立时间者即该文件的最新版本。
又例如,文件系统25可将预设字符串(例如“Delete-Marker”)写入版本信息文件的元数据中,例如写入扩展属性中,或将预设字符串(例如“-delete-marker”)做为后缀(suffix)附加到版本信息文件的名称尾端,以在版本信息文件中记录文件已被移除的信息。
因此,在处理显示文件版本的请求时,文件系统25可侦测各别版本信息文件的元数据中或名称尾端是否有上述的预设字符串,具有该预设字符串者即记录文件已被移除的信息的版本信息文件。
在另一实施例中,文件系统25可以不建立目录(Versioning)50。在图3至图8-2的实施例中,文件系统25可以略过目录(Versioning)50而将对应的目录(:File1)51直接建立在目录(Folder)30的下一层,和文件(File1)40并列,故第二文件路径不包括目录(Versioning)50。在图9的实施例中,文件系统25可将目录210及220直接建立在目录(Folder)30的下一层,和文件110及目录120并列。在本实施例中,当存储装置20收到显示所有文件的全部版本的请求时,文件系统25会响应该请求将目录(Folder)30之下的树状结构中的每一个版本信息文件的名称或编号以及每一个版本信息文件的部分或全部元数据传回终端装置10,以供终端装置10的用户界面显示。
综上所述,本发明利用一些文件系统中的链接并结合文件路径与编解码,借以达成文件多版本的管理目的。因为建立文件系统中的链接所花费的系统资源极小,故本发明可根据该链接及文件路径与编解码提供文件版本管理目的,且同时可以维持文件系统原先的存取性能,而不影响其存取性能。
另外,本发明将所有文件的全部版本信息文件集中在同一目录下,例如集中在目录(Folder)30下或目录(Versioning)50下,当需要显示文件的全部版本时,只需要处理该目录下的文件即可达成,不需在树状结构的多个分散目录中比对额外的文件名称与版本,故能达到加速处理的效果。
上述实施形态仅例示性说明本发明的原理及其技术效果,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施形态进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。

Claims (11)

1.一种文件版本管理方法,包括:
将一文件写入一第一文件路径,其中,该第一文件路径包括一第一目录;
根据该第一文件路径产生一第二文件路径,其中,该第二文件路径包括一第二目录,且该第二目录位于该第一目录的至少下一层;以及
建立自该第一文件路径的该文件指向该第二目录的下一层的一第一链接,以在该第二目录的该下一层产生一第一版本信息文件且令该第一链接自该文件指向该第一版本信息文件。
2.如权利要求1所述的文件版本管理方法,其中,该方法还包括:
将该文件写入一第一临时文件;
移动该第一临时文件以覆盖该第一文件路径的该文件;以及
建立自该第一文件路径的该文件指向该第二目录的该下一层的一第二链接,以在该第二目录的该下一层产生一第二版本信息文件且令该第二链接自该文件指向该第二版本信息文件。
3.如权利要求2所述的文件版本管理方法,其中,该方法还包括:
将该文件写入一第二临时文件;
移动该第二临时文件以覆盖该第一文件路径的该文件;以及
建立自该第一文件路径的该文件指向该第二目录的该下一层的一第三链接,以在该第二目录的该下一层产生一第三版本信息文件且令该第三链接自该文件指向该第三版本信息文件。
4.如权利要求2所述的文件版本管理方法,其中,该方法还包括:
删除该第二版本信息文件;以及
建立自该第一文件路径的该文件指向该第一版本信息文件的一第三链接。
5.如权利要求2所述的文件版本管理方法,其中,该方法还包括:
删除该第一文件路径的该文件;以及
在该第二目录的该下一层产生一第三版本信息文件,其中,该第三版本信息文件记录该文件已被移除。
6.如权利要求1所述的文件版本管理方法,其中,该第二目录的名称根据该文件的名称编码而产生。
7.如权利要求1所述的文件版本管理方法,其中,该第二文件路径中的每一目录的名称均根据该第一文件路径中对应的目录或文件的名称进行编码而产生。
8.如权利要求1所述的文件版本管理方法,其中,将对象锁的设定写入该第一版本信息文件的元数据中,或者,设定该第一版本信息文件的不可更改旗标,以将该文件及该第一版本信息文件设定为不可更改的状态,且该第一链接为符号链接。
9.如权利要求1所述的文件版本管理方法,其中,该第一链接为硬链接,使该文件及该第一版本信息文件共用索引节点。
10.如权利要求1所述的文件版本管理方法,其中,该方法还包括该文件在内的多个文件的全部版本信息文件集中于一第三目录之下,且该第三目录位于该第一目录之下。
11.一种文件系统,应用于存储装置、计算机或服务器中,用于执行文件版本管理方法,该文件版本管理方法包括:
将一文件写入一第一文件路径,其中,该第一文件路径包括一第一目录;
根据该第一文件路径产生一第二文件路径,其中,该第二文件路径包括一第二目录,且该第二目录位于该第一目录的至少下一层;以及
建立自该第一文件路径的该文件指向该第二目录的下一层的一第一链接,以在该第二目录的该下一层产生一第一版本信息文件且令该第一链接自该文件指向该第一版本信息文件。
CN202210145828.0A 2021-12-16 2022-02-17 文件版本管理方法及文件系统 Pending CN116266174A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW110147212 2021-12-16
TW110147212A TWI789168B (zh) 2021-12-16 2021-12-16 檔案版本管理方法及檔案系統

Publications (1)

Publication Number Publication Date
CN116266174A true CN116266174A (zh) 2023-06-20

Family

ID=86670009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210145828.0A Pending CN116266174A (zh) 2021-12-16 2022-02-17 文件版本管理方法及文件系统

Country Status (3)

Country Link
US (1) US11874806B2 (zh)
CN (1) CN116266174A (zh)
TW (1) TWI789168B (zh)

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437429B2 (en) * 2001-02-13 2008-10-14 Microsoft Corporation System and method for providing transparent access to distributed authoring and versioning files including encrypted files
KR100763323B1 (ko) * 2002-07-11 2007-10-05 인터내셔널 비지네스 머신즈 코포레이션 데이터 관리 방법, 컴퓨터 판독 가능 기록 매체 및 컴퓨팅 시스템
US20070083570A1 (en) * 2005-10-11 2007-04-12 Fineberg Samuel A File system versioning using a log
US7546432B2 (en) * 2006-05-09 2009-06-09 Emc Corporation Pass-through write policies of files in distributed storage management
US20090024674A1 (en) * 2007-07-17 2009-01-22 Gridiron Software Inc. Automatic file versioning
US8566362B2 (en) * 2009-01-23 2013-10-22 Nasuni Corporation Method and system for versioned file system using structured data representations
US8924443B2 (en) * 2012-10-05 2014-12-30 Gary Robin Maze Document management systems and methods
US9390109B2 (en) * 2012-12-21 2016-07-12 Commvault Systems, Inc. Systems and methods to detect deleted files
TWI537750B (zh) * 2015-08-05 2016-06-11 喬鼎資訊股份有限公司 支援實體檔案系統之檔案管理的方法及應用該方法的檔案伺服器
CN107526777B (zh) * 2017-07-21 2021-01-01 创新先进技术有限公司 一种基于版本号对文件进行处理的方法及设备
CN108563701A (zh) * 2018-03-23 2018-09-21 山东昭元信息科技有限公司 一种基于快照的版本管理方法
CN109690522B (zh) * 2018-08-27 2024-02-27 袁振南 一种基于b+树索引的数据更新方法、装置及存储装置
CN110764749A (zh) * 2019-10-25 2020-02-07 金蝶软件(中国)有限公司 系统页面开发管理方法、装置、计算机设备和存储介质
TWI740429B (zh) * 2020-03-26 2021-09-21 威聯通科技股份有限公司 管理資料備份的方法及系統
US11526346B1 (en) * 2021-11-15 2022-12-13 Oracle International Corporation Zero downtime application package deployment

Also Published As

Publication number Publication date
US20230195699A1 (en) 2023-06-22
TWI789168B (zh) 2023-01-01
US11874806B2 (en) 2024-01-16
TW202326418A (zh) 2023-07-01

Similar Documents

Publication Publication Date Title
US11985192B2 (en) Synchronized content library
CN102667772B (zh) 文件级分级存储管理系统、方法和设备
CN104714755B (zh) 一种快照管理方法及装置
US8874517B2 (en) Summarizing file system operations with a file system journal
US11119978B2 (en) Snapshot version control
CN110162525B (zh) 基于b+树的读写冲突解决方法、装置及存储介质
US9864736B2 (en) Information processing apparatus, control method, and recording medium
GB2439578A (en) Virtual file system with links between data streams
CN106484820B (zh) 一种重命名方法、访问方法及装置
CN109947373B (zh) 一种数据处理方法和装置
CN102171717A (zh) 将来自多个客户机的媒体内容集合到服务器
CN113239004B (zh) 一种笔记同步方法及装置
WO2008001094A1 (en) Data processing
JP7355964B2 (ja) 外部ロケーションの同期
US20230376385A1 (en) Reducing bandwidth during synthetic restores from a deduplication file system
JPWO2007099636A1 (ja) ファイルシステム移行方法、ファイルシステム移行プログラム及びファイルシステム移行装置
US9063949B2 (en) Inferring a sequence of editing operations to facilitate merging versions of a shared document
JP2008532103A (ja) ポータブル装置のコンテンツを更新する方法
CN111176901B (zh) 一种hdfs删除文件恢复方法、终端设备及存储介质
CN115705313A (zh) 一种数据处理方法、装置、设备及计算机可读存储介质
CN116266174A (zh) 文件版本管理方法及文件系统
EP4002143A1 (en) Storage of file system items related to a versioned snapshot of a directory-based file system onto a key-object storage system
CN113806803A (zh) 一种数据存储方法、系统、终端设备及存储介质
US8886656B2 (en) Data processing
CN110232047B (zh) Cad文件的时间线管理系统、方法、计算机可读存储介质及计算机终端

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