CN107391669A - 一种基于文件系统的多版本文件管理方法及装置 - Google Patents
一种基于文件系统的多版本文件管理方法及装置 Download PDFInfo
- Publication number
- CN107391669A CN107391669A CN201710599407.4A CN201710599407A CN107391669A CN 107391669 A CN107391669 A CN 107391669A CN 201710599407 A CN201710599407 A CN 201710599407A CN 107391669 A CN107391669 A CN 107391669A
- Authority
- CN
- China
- Prior art keywords
- file
- target
- version
- directory
- empty
- 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
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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- 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/1873—Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
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)
Abstract
本发明公开了一种基于文件系统的多版本文件管理方法,该方法包括以下步骤:接收针对目标文件上传至预设的文件目录的上传请求,确定文件目录下是否存在与目标文件的文件名相同的目标空文件,如果是,则获取目标空文件的属性值列表,基于属性值列表,生成对应于目标文件的目标版本号,并更新属性值列表,在预先建立的版本库目录下基于目标版本号创建目标版本文件,将目标文件的文件内容写入到目标版本文件中。应用本发明的技术方案,当出现用户对于文件目录下的文件的误删操作,或者用户需要使用文件目录下的文件的某一个版本时,可以从文件系统中找到该版本的文件。本发明还公开了一种基于文件系统的多版本文件管理装置,具有相应技术效果。
Description
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种基于文件系统的多版本文件管理方法及装置。
背景技术
操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统能够对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索。
目前,文件系统只能对文件进行基本管理,例如在当前应用广泛的分布式文件系统中,可以实现文件的创建、删除以及修改等操作。随着计算机应用技术的不断发展,文件系统下的部分文件的更新换代的周期较短,文件不断更新。当用户误删文件系统中的文件时,或者用户发现存储在文件系统中的新版本文件存在问题时,用户无法找回该文件之前的被删掉的版本。也就是说,文件系统只能对存放在该文件系统中的当前版本的文件进行基本操作。
因此,如何实现基于文件系统对文件的多版本进行管理,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种基于文件系统的多版本管理方法及装置,以当出现用户对于文件目录下的文件的误删操作,或者用户需要使用文件目录下的文件的某一个版本时,可以从文件系统中找到该版本的文件。
为解决上述技术问题,本发明提供如下技术方案:
一种基于文件系统的多版本文件管理方法,包括:
接收针对目标文件上传至预设的文件目录的上传请求;
确定所述文件目录下是否存在与所述目标文件的文件名相同的目标空文件;
如果是,则获取所述目标空文件的属性值列表;
基于所述属性值列表,生成对应于所述目标文件的目标版本号,并更新所述属性值列表;
在预先建立的版本库目录下基于所述目标版本号创建目标版本文件;
将所述目标文件的文件内容写入到所述目标版本文件中。
优选的,在所述将所述目标文件的文件内容写入到所述目标版本文件中之后,还包括:
接收携带所述目标文件的文件名的删除指令;
在所述属性值列表中添加删除标志,并保留所述文件目录下的所述目标空文件和所述版本库目录下的与所述目标空文件对应的各个版本文件。
优选的,还包括:
在接收到文件列表读取请求时,针对所述文件目录下每个空文件,如果该空文件的属性值列表中不包含所述删除标志,则输出该空文件的文件名。
优选的,在所述将所述目标文件的文件内容写入到所述目标版本文件中之后,还包括:
接收携带所述目标版本文件的目标版本号的删除指令;
保留所述文件目录下的所述目标空文件,删除所述版本库目录下的所述目标版本文件,并更新所述属性值列表。
优选的,还包括:
在接收到针对所述目标空文件的文件版本读取请求时,输出所述版本库目录下所述目标空文件对应的所有版本文件的版本号。
优选的,在所述将所述目标文件的文件内容写入到所述目标版本文件中之后,还包括:
接收由用户发送的针对所述目标版本文件的下载指令;
将所述版本库目录下的所述目标版本文件返回给所述用户。
优选的,在确定所述文件目录下不存在与所述目标文件的文件名相同的目标空文件时,还包括:
在所述文件目录下建立与所述目标文件的文件名相同的目标空文件;
生成对应于所述目标文件的目标版本号,建立所述目标空文件的属性值列表。
一种基于文件系统的多版本文件管理装置,包括:
上传请求接收模块,用于接收针对目标文件上传至预设的文件目录的上传请求;
目标空文件确定模块,用于确定所述文件目录下是否存在与所述目标文件的文件名相同的目标空文件,如果是,则触发属性值列表获取模块;
所述属性值获取模块,用于获取所述目标空文件的属性值列表;
目标版本号生成模块,用于基于所述属性值列表,生成对应于所述目标文件的目标版本号,并更新所述属性值列表;
目标版本文件创建模块,用于在预先建立的版本库目录下基于所述目标版本号创建目标版本文件;
目标版本文件写入模块,用于将所述目标文件的文件内容写入到所述目标版本文件中。
优选的,还包括第一删除模块,用于:
在所述将所述目标文件的文件内容写入到所述目标版本文件中之后,接收携带所述目标文件的文件名的删除指令;
在所述属性值列表中添加删除标志,并保留所述文件目录下的所述目标空文件和所述版本库目录下的与所述目标空文件对应的各个版本文件。
优选的,还包括文件列表读取模块,用于:
在接收到文件列表读取请求时,针对所述文件目录下每个空文件,如果该空文件的属性值列表中不包含所述删除标志,则输出该空文件的文件名。
应用本发明实施例所提供的技术方案,在接收到针对目标文件的上传请求时,确定文件系统的文件目录下是否存在与目标文件的文件名相同的目标空文件,如果是,则获取目标空文件的属性值列表,并基于属性值列表,生成对应于目标文件的目标版本号,并更新属性值列表,在预先建立的版本库目录下基于目标版本号创建目标版本文件,将目标文件的文件内容写入到目标版本文件中。
通过将目标文件和目标空文件的文件名进行比较,当二者文件名相同时,确定目标文件为该文件系统中需要进行多版本管理的文件,之后再根据目标空文件的属性值列表,生成目标文件的目标版本号并将目标文件的内容写入目标版本文件以完成对目标文件的记录。在文件系统中,记录具有同一文件名的多个版本的文件,当出现用户对于文件目录下的文件的误删操作,或者用户需要使用文件目录下的文件的某一个版本时,可以从文件系统中找到该版本的文件。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中一种基于文件系统的多版本管理方法的实施流程图;
图2为本发明中一种基于文件系统的多版本管理方法的逻辑结构图;
图3为本发明中一种基于文件系统的多版本管理装置的结构示意图。
具体实施方式
本发明的核心是提供一种基于文件系统的多版本管理方法,以使在文件系统中,记录具有同一文件名的多个版本的文件,当出现用户对于文件目录下的文件的误删操作,或者用户需要使用文件目录下的文件的某一个版本时,可以从文件系统中找到该版本的文件。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,为本发明中一种基于文件系统的多版本管理方法的实施流程图。该方法可以包括以下步骤:
S101:接收针对目标文件上传至预设的文件目录的上传请求。
文件目录可以是用户针对需要进行多版本管理的文件在文件系统中预先创建的目录,还可以是用户指定的文件系统中已有的目录。上传至文件目录中的文件都需要进行多版本管理。目标文件可以是用户上传至文件系统的预设的文件目录中的需要进行多版本管理的文件,也可以是其他系统上传至文件系统的预设的文件目录中的需要进行多版本管理的文件。目标文件的上传请求中可以携带目标文件的文件名、目标文件的属性值、上传地址等信息。
在接收针对目标文件上传至文件目录的上传请求之后,可以进行步骤S102的操作。
S102:确定文件目录下是否存在与目标文件的文件名相同的目标空文件。
在本发明实施例中,在文件目录下可以预先创建与需要进行多版本管理的文件的文件名相同的空文件。在接收到针对目标文件上传至预设的文件目录的上传请求后,可以确定要对目标文件进行多版本管理。确定文件目录下是否存在与目标文件的文件名相同的目标空文件。例如文件目录下包括如图2所示的空文件file1和空文件file2时,当目标文件的文件名为file1,则确定文件系统的文件目录下存在与目标文件的文件名相同的目标空文件。
如果确定文件系统的文件目录下存在与目标文件的文件名相同的目标空文件,则表明目标文件上传之前有和目标文件同名的文件上传至该文件系统的文件目录中,可以继续进行步骤S103的操作。
在确定文件系统的文件目录下不存在与目标文件的文件名相同的目标空文件时,可以在文件目录下建立与目标文件的文件名相同的目标空文件。如图1所示。
例如在分布式文件系统中,可以预先在文件系统中创建文件目录DIR1,针对需要进行多版本管理的文件file1,如果文件目录DIR1下不存在与文件file1的文件名相同的空文件,则可以使用libcephfs库(分布式文件系统接口集合)中的ceph_open接口在文件目录DIR1下创建一个空文件,该空文件的文件名与需要进行多版本管理的文件file1的文件名相同。当然,还可以针对不同的需要进行多版本管理的文件,在文件目录DIR1下创建更多的空文件,如file2,如图2所示。
S103:获取目标空文件的属性值列表。
在确定文件目录下不存在与目标文件的文件名相同的目标空文件时,可以在文件目录下建立与目标文件的文件名相同的目标空文件,生成对应于目标文件的目标版本号,建立目标空文件的属性值列表。如图1所示。
具体的,在文件目录下创建一个空文件时,可以通过ceph_setxatter接口设定该空文件的属性,可以将属性名设为版本version,属性值为一个列表version_list。属性值列表中每一项可以存放一个版本号version_id。在创建空文件初始,该空文件的属性值列表version_list为一个空列表。当存在与该空文件对应的需要进行多版本管理的文件时,该属性值列表中记录有相应版本号。
在确定文件系统的文件目录下存在与目标文件的文件名相同的目标空文件时,可以通过ceph_getxatter接口获取目标空文件的属性值列表。获取的目标空文件的属性值列表可能为空,也可能存放了多个版本号。例如,对于文件目录下的空文件file1,在其属性值列表中存放有version_id1和version_id2两个版本号,如图2所示。
存放在属性值列表中的版本号可以为11位数字或者11位字母,也可以为字母和数字的组合。可以通过程序随机生成版本号,当然,对于目标文件,生成的对应于该目标文件的目标版本号,和目标空文件的属性值列表中的其他版本号不能是完全相同的版本号。
当然,对于文件目录下的空文件file2,也可以通过ceph_setxatter接口设定空文件file2的属性值列表,以使得当接收文件名为file2的文件的上传请求时,获取空文件file2的属性值列表,如图2所示。
在获取目标空文件的属性值列表之后,可以进行S104的操作。
S104:基于属性值列表,生成对应于目标文件的目标版本号,并更新属性值列表。
基于属性值列表,生成对应于目标文件的目标版本号。例如当属性值列表中的版本号为version_id1和version_id2时,生成的目标版本号可以为version_id3。在生成目标版本号之后,可以将该目标版本号记录在目标空文件的属性值列表中以更新该属性值列表。
S105:在预先建立的版本库目录下基于目标版本号创建目标版本文件。
在本发明实施例中,可以通过ceph_mkdir接口预先建立版本库目录multi_version。
在生成对应于目标文件的目标版本号之后,基于目标版本号可以在版本库目录下创建目标版本文件。目标版本文件的命名可以为目标文件的文件名与目标版本号的组合,例如可以为{version_id}_file1。版本库目录下与该空文件file1的文件名相同的各个版本的版本文件,可以依次命名为{version_id1}_file1,{version_id2}_file1等,如图2所示。当然,针对空文件file2,可以在版本库目录下创建文件名为例如{version_id1}_file2和{version_id2}_file2的各个版本文件,如图2所示。
S106:将目标文件的文件内容写入到目标版本文件中。
在版本库目录下基于目标版本号创建目标版本文件之后,可以将上传至文件系统的目标文件的文件内容写入到目标版本文件中,该写入操作可以通过ceph_write接口实现。
应用本发明实施例所提供的技术方案,在接收到针对目标文件的上传请求时,确定文件系统的文件目录下是否存在与目标文件的文件名相同的目标空文件,如果是,则获取目标空文件的属性值列表,并基于属性值列表,生成对应于目标文件的目标版本号,并更新属性值列表,在预先建立的版本库目录下基于目标版本号创建目标版本文件,将目标文件的文件内容写入到目标版本文件中。
通过将目标文件和目标空文件的文件名进行比较,当二者文件名相同时,确定目标文件为该文件系统中需要进行多版本管理的文件,之后再根据目标空文件的属性值列表,生成目标文件的目标版本号并将目标文件的内容写入目标版本文件以完成对目标文件的记录。在文件系统中,记录具有同一文件名的多个版本的文件,当出现用户对于文件目录下的文件的误删操作,或者用户需要使用文件目录下的文件的某一个版本时,可以从文件系统中找到该版本的文件。
在本发明的一种具体实施方式中,在步骤S106之后,还可以包括以下步骤:
步骤一:接收携带目标文件的文件名的删除指令;
步骤二:在属性值列表中添加删除标志,并保留文件目录下的目标空文件和版本库目录下的与目标空文件对应的各个版本文件。
为了便于描述,将上述两个步骤进行合并说明。
在实际应用中,用户可以根据实际需要,向操作系统发出删除指令。在接收到携带目标文件的文件名的删除指令时,可以在与目标文件对应的目标空文件的属性值列表中添加删除标志。具体地,可以在属性值列表的第一位置添加删除标志delete_marker。当然,删除标志也可以添加在属性值列表中的其他位置,并不影响本发明的实施。
另一方面,保留文件目录下的目标空文件和版本库目录下的与目标空文件对应的各个版本文件。也就是说,不对文件目录下的目标空文件执行删除操作,也不对版本库目录下的与目标空文件对应的各个版本文件执行删除操作。
采用本发明的该种实施方式,在接收到携带目标文件的文件名的删除指令时,保留文件目录下的目标空文件和版本库目录下的与目标空文件对应的各个版本文件,能够实现当出现用户针对目标文件的误删操作时,仍然能够从版本库目录下找回相应版本的目标文件的目的。
在本发明的一种具体实施方式中,该方法还可以包括以下步骤:
在接收到文件列表读取请求时,针对文件目录下每个空文件,如果该空文件的属性值列表中不包含删除标志,则输出该空文件的文件名。
在实际应用中,在用户需要读取文件目录下的文件列表时,可以通过客户端发送针对文件列表的读取请求。文件系统接收到该读取请求之后,可以对文件目录下的每一个空文件的属性值列表进行检测。对于属性值列表中有删除标志的一个或者多个空文件,则跳过这一个或者多个空文件的读取。在完成每一个空文件的属性值列表的检测之后,读取的文件列表为属性值列表中不含删除标志的空文件的文件名组成的列表。
采用本发明的该种实施方式,能够让用户直观地看出已发送的携带目标文件的文件名的删除指令是否被正确地执行。
在本发明的一种具体实施方式中,在步骤S106之后,还可以包括以下步骤:
第一个步骤:接收携带目标版本文件的目标版本号的删除指令;
第二个步骤:保留文件目录下的目标空文件,删除版本库目录下的目标版本文件,并更新属性值列表。
接收针对目标版本文件的删除指令时,文件系统可以将版本库目录下的目标版本文件进行删除。该删除指令可以携带目标文件的文件名和目标版本号。将版本库目录下的目标版本文件进行删除后,可以保留文件目录下的目标空文件,并更新属性值列表。也就是说,针对与目标文件对应的目标空文件的属性值列表,将该属性值列表中的对应于目标文件的目标版本号进行删除。应用本发明的该种实施方式,用户可以选择性地对目标文件的部分版本的文件进行删除,能够有效释放文件系统的内存空间。特别在目标文件的大小较大,版本较多时,本发明的该种实施方式效果明显。
在本发明的一个实施例中,该方法还可以包括以下步骤:
在接收到针对目标空文件的文件版本读取请求时,输出版本库目录下目标空文件对应的所有版本文件的版本号。
在实际应用中,当用户需要读取目标空文件对应的历史版本号时,可以发送针对目标空文件的文件版本读取请求。文件版本读取请求中可以携带目标空文件的文件名。
文件系统接收针对目标空文件的文件版本读取请求之后,读取并输出版本库目录下目标空文件对应的所有版本文件的版本号。
在本发明的一种具体实施方式中,在步骤S106之后,还可以包括以下步骤:
第一个步骤:接收由用户发送的针对目标版本文件的下载指令;
第二个步骤:将版本库目录下的目标版本文件返回给用户。
下载指令可以为携带目标文件的文件名和目标文件的目标版本号的指令,即该下载指令是针对目标版本文件的下载指令,在接收针对目标版本文件的下载指令之后,可以将版本库目录下的与目标版本号对应的目标版本文件返回给用户。需要说明的是,当下载指令为仅携带目标文件的文件名的指令时,可以将与目标文件的文件名相同的最新版本的文件返回给用户。
相应于上面的方法实施例,本发明实施例还提供了一种基于文件系统的多版本文件管理装置,下文描述的一种基于文件系统的多版本文件管理装置与上文描述的一种基于文件系统的多版本文件管理方法可相互对应参照。
参见图3所示,为本发明中一种基于文件系统的多版本文件管理装置的结构示意图,该装置可以包括以下模块:
上传请求接收模块301,用于接收针对目标文件上传至预设的文件目录的上传请求;
目标空文件确定模块302,用于确定文件目录下是否存在与目标文件的文件名相同的目标空文件,如果是,则触发属性值列表获取模块303;
属性值获取模块303,用于获取目标空文件的属性值列表;
目标版本号生成模块304,用于基于属性值列表,生成对应于目标文件的目标版本号,并更新属性值列表;
目标版本文件创建模块305,用于在预先建立的版本库目录下基于目标版本号创建目标版本文件;
目标版本文件写入模块306,用于将目标文件的文件内容写入到目标版本文件中。
应用本发明实施例所提供的装置,在接收到针对目标文件的上传请求时,确定文件系统的文件目录下是否存在与目标文件的文件名相同的目标空文件,如果是,则获取目标空文件的属性值列表,并基于属性值列表,生成对应于目标文件的目标版本号,并更新属性值列表,在预先建立的版本库目录下基于目标版本号创建目标版本文件,将目标文件的文件内容写入到目标版本文件中。
通过将目标文件和目标空文件的文件名进行比较,当二者文件名相同时,确定目标文件为该文件系统中需要进行多版本管理的文件,之后再根据目标空文件的属性值列表,生成目标文件的目标版本号并将目标文件的内容写入目标版本文件以完成对目标文件的记录。在文件系统中,记录具有同一文件名的多个版本的文件,当出现用户对于文件目录下的文件的误删操作,或者用户需要使用文件目录下的文件的某一个版本时,可以从文件系统中找到该版本的文件。
在本发明的一种具体实施方式中,还包括第一删除模块,用于:
在将目标文件的文件内容写入到目标版本文件中之后,接收携带目标文件的文件名的删除指令;
在属性值列表中添加删除标志,并保留文件目录下的目标空文件和版本库目录下的与目标空文件对应的各个版本文件。
在本发明的一种具体实施方式中,还包括文件列表读取模块,用于:
在接收到文件列表读取请求时,针对文件目录下每个空文件,如果该空文件的属性值列表中不包含删除标志,则输出该空文件的文件名。
在本发明的一种具体实施方式中,还包括第二删除模块,用于:
在将目标文件的文件内容写入到目标版本文件中之后,接收携带目标版本文件的目标版本号的删除指令;
保留文件目录下的目标空文件,删除版本库目录下的目标版本文件,并更新属性值列表。
在本发明的一种具体实施方式中,还包括文件版本读取模块,用于:
在接收到针对目标空文件的文件版本读取请求时,输出版本库目录下目标空文件对应的所有版本文件的版本号。
在本发明的一种具体实施方式中,还包括目标版本文件下载模块,用于:
在将目标文件的文件内容写入到目标版本文件中之后,接收由用户发送的针对目标版本文件的下载指令;
将版本库目录下的目标版本文件返回给用户。
在本发明的一种具体实施方式中,还包括空文件建立模块,用于:
在确定文件目录下不存在与目标文件的文件名相同的目标空文件时,在文件目录下建立与目标文件的文件名相同的目标空文件;
生成对应于目标文件的目标版本号,建立目标空文件的属性值列表。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种基于文件系统的多版本文件管理方法,其特征在于,包括:
接收针对目标文件上传至预设的文件目录的上传请求;
确定所述文件目录下是否存在与所述目标文件的文件名相同的目标空文件;
如果是,则获取所述目标空文件的属性值列表;
基于所述属性值列表,生成对应于所述目标文件的目标版本号,并更新所述属性值列表;
在预先建立的版本库目录下基于所述目标版本号创建目标版本文件;
将所述目标文件的文件内容写入到所述目标版本文件中。
2.根据权利要求1所述的方法,其特征在于,在所述将所述目标文件的文件内容写入到所述目标版本文件中之后,还包括:
接收携带所述目标文件的文件名的删除指令;
在所述属性值列表中添加删除标志,并保留所述文件目录下的所述目标空文件和所述版本库目录下的与所述目标空文件对应的各个版本文件。
3.根据权利要求2所述的方法,其特征在于,还包括:
在接收到文件列表读取请求时,针对所述文件目录下每个空文件,如果该空文件的属性值列表中不包含所述删除标志,则输出该空文件的文件名。
4.根据权利要求1所述的方法,其特征在于,在所述将所述目标文件的文件内容写入到所述目标版本文件中之后,还包括:
接收携带所述目标版本文件的目标版本号的删除指令;
保留所述文件目录下的所述目标空文件,删除所述版本库目录下的所述目标版本文件,并更新所述属性值列表。
5.根据权利要求4所述的方法,其特征在于,还包括:
在接收到针对所述目标空文件的文件版本读取请求时,输出所述版本库目录下所述目标空文件对应的所有版本文件的版本号。
6.根据权利要求1至5任一项所述的方法,其特征在于,在所述将所述目标文件的文件内容写入到所述目标版本文件中之后,还包括:
接收由用户发送的针对所述目标版本文件的下载指令;
将所述版本库目录下的所述目标版本文件返回给所述用户。
7.根据权利要求6所述的方法,其特征在于,在确定所述文件目录下不存在与所述目标文件的文件名相同的目标空文件时,还包括:
在所述文件目录下建立与所述目标文件的文件名相同的目标空文件;
生成对应于所述目标文件的目标版本号,建立所述目标空文件的属性值列表。
8.一种基于文件系统的多版本文件管理装置,其特征在于,包括:
上传请求接收模块,用于接收针对目标文件上传至预设的文件目录的上传请求;
目标空文件确定模块,用于确定所述文件目录下是否存在与所述目标文件的文件名相同的目标空文件,如果是,则触发属性值列表获取模块;
所述属性值获取模块,用于获取所述目标空文件的属性值列表;
目标版本号生成模块,用于基于所述属性值列表,生成对应于所述目标文件的目标版本号,并更新所述属性值列表;
目标版本文件创建模块,用于在预先建立的版本库目录下基于所述目标版本号创建目标版本文件;
目标版本文件写入模块,用于将所述目标文件的文件内容写入到所述目标版本文件中。
9.根据权利要求8所述的装置,其特征在于,还包括第一删除模块,用于:
在所述将所述目标文件的文件内容写入到所述目标版本文件中之后,接收携带所述目标文件的文件名的删除指令;
在所述属性值列表中添加删除标志,并保留所述文件目录下的所述目标空文件和所述版本库目录下的与所述目标空文件对应的各个版本文件。
10.根据权利要求9所述的装置,其特征在于,还包括文件列表读取模块,用于:
在接收到文件列表读取请求时,针对所述文件目录下每个空文件,如果该空文件的属性值列表中不包含所述删除标志,则输出该空文件的文件名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710599407.4A CN107391669A (zh) | 2017-07-20 | 2017-07-20 | 一种基于文件系统的多版本文件管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710599407.4A CN107391669A (zh) | 2017-07-20 | 2017-07-20 | 一种基于文件系统的多版本文件管理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107391669A true CN107391669A (zh) | 2017-11-24 |
Family
ID=60336633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710599407.4A Pending CN107391669A (zh) | 2017-07-20 | 2017-07-20 | 一种基于文件系统的多版本文件管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107391669A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832470A (zh) * | 2017-11-29 | 2018-03-23 | 郑州云海信息技术有限公司 | 一种基于存储系统的对象存储方法及装置 |
CN108170777A (zh) * | 2017-12-26 | 2018-06-15 | 郑州云海信息技术有限公司 | 一种分布式文件系统 |
CN110008176A (zh) * | 2019-04-11 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种文件创建方法及相关装置 |
CN110321332A (zh) * | 2019-07-08 | 2019-10-11 | 广州酷狗计算机科技有限公司 | 多媒体文件恢复方法、装置、终端和存储介质 |
CN110795408A (zh) * | 2019-10-28 | 2020-02-14 | 柏科数据技术(深圳)股份有限公司 | 基于对象存储的数据处理方法、装置、服务器和存储介质 |
CN111045947A (zh) * | 2019-12-13 | 2020-04-21 | 杭州安恒信息技术股份有限公司 | 一种测试环境构建方法、装置及其相关设备 |
CN111049891A (zh) * | 2019-12-05 | 2020-04-21 | 浩云科技股份有限公司 | 一种集中存储级联文件上传下载方法 |
CN112114905A (zh) * | 2020-09-29 | 2020-12-22 | 中国银行股份有限公司 | 软件版本切换方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070244921A1 (en) * | 2006-04-14 | 2007-10-18 | Roger Blair | Method, apparatus and computer-readable medium to provide customized classification of documents in a file management system |
CN103092891A (zh) * | 2011-11-08 | 2013-05-08 | 中国移动通信集团四川有限公司 | 分布式文件存储系统及其实现方法 |
CN103714123A (zh) * | 2013-12-06 | 2014-04-09 | 西安工程大学 | 企业云存储分块对象重复数据删除和重组版本控制方法 |
CN103793429A (zh) * | 2012-11-01 | 2014-05-14 | 镇江金软计算机科技有限责任公司 | 一种文档版本管理的实现方法 |
CN104156278A (zh) * | 2014-08-01 | 2014-11-19 | 江苏大学 | 一种文件版本控制系统及其方法 |
CN106126375A (zh) * | 2016-06-24 | 2016-11-16 | 北京工业大学 | 一种基于Hash的YAFFS2文件各版本恢复方法 |
-
2017
- 2017-07-20 CN CN201710599407.4A patent/CN107391669A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070244921A1 (en) * | 2006-04-14 | 2007-10-18 | Roger Blair | Method, apparatus and computer-readable medium to provide customized classification of documents in a file management system |
CN103092891A (zh) * | 2011-11-08 | 2013-05-08 | 中国移动通信集团四川有限公司 | 分布式文件存储系统及其实现方法 |
CN103793429A (zh) * | 2012-11-01 | 2014-05-14 | 镇江金软计算机科技有限责任公司 | 一种文档版本管理的实现方法 |
CN103714123A (zh) * | 2013-12-06 | 2014-04-09 | 西安工程大学 | 企业云存储分块对象重复数据删除和重组版本控制方法 |
CN104156278A (zh) * | 2014-08-01 | 2014-11-19 | 江苏大学 | 一种文件版本控制系统及其方法 |
CN106126375A (zh) * | 2016-06-24 | 2016-11-16 | 北京工业大学 | 一种基于Hash的YAFFS2文件各版本恢复方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832470A (zh) * | 2017-11-29 | 2018-03-23 | 郑州云海信息技术有限公司 | 一种基于存储系统的对象存储方法及装置 |
CN108170777A (zh) * | 2017-12-26 | 2018-06-15 | 郑州云海信息技术有限公司 | 一种分布式文件系统 |
CN110008176A (zh) * | 2019-04-11 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种文件创建方法及相关装置 |
CN110321332A (zh) * | 2019-07-08 | 2019-10-11 | 广州酷狗计算机科技有限公司 | 多媒体文件恢复方法、装置、终端和存储介质 |
CN110321332B (zh) * | 2019-07-08 | 2023-07-21 | 广州酷狗计算机科技有限公司 | 多媒体文件恢复方法、装置、终端和存储介质 |
CN110795408A (zh) * | 2019-10-28 | 2020-02-14 | 柏科数据技术(深圳)股份有限公司 | 基于对象存储的数据处理方法、装置、服务器和存储介质 |
CN111049891A (zh) * | 2019-12-05 | 2020-04-21 | 浩云科技股份有限公司 | 一种集中存储级联文件上传下载方法 |
CN111045947A (zh) * | 2019-12-13 | 2020-04-21 | 杭州安恒信息技术股份有限公司 | 一种测试环境构建方法、装置及其相关设备 |
CN111045947B (zh) * | 2019-12-13 | 2023-04-21 | 杭州安恒信息技术股份有限公司 | 一种测试环境构建方法、装置及其相关设备 |
CN112114905A (zh) * | 2020-09-29 | 2020-12-22 | 中国银行股份有限公司 | 软件版本切换方法及装置 |
CN112114905B (zh) * | 2020-09-29 | 2023-09-26 | 中国银行股份有限公司 | 软件版本切换方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391669A (zh) | 一种基于文件系统的多版本文件管理方法及装置 | |
CN111008185B (zh) | 一种数据共享方法、系统及设备 | |
CN111078653B (zh) | 一种数据存储方法、系统及设备 | |
EP3103025B1 (en) | Content based organization of file systems | |
US11042504B2 (en) | Managing overwrites when archiving data in cloud/object storage | |
US9183212B2 (en) | Representing directory structure in content-addressable storage systems | |
US20150339314A1 (en) | Compaction mechanism for file system | |
CN110673800B (zh) | 文件系统的数据操作方法、装置、设备及可读存储介质 | |
CN111090618B (zh) | 一种数据读取方法、系统及设备 | |
JP4304194B2 (ja) | ファイルシステム管理装置及び方法 | |
US20120095962A1 (en) | Aggregating Media Content From Multiple Clients To A Server | |
JP5650982B2 (ja) | ファイルの重複を排除する装置及び方法 | |
WO2012170235A2 (en) | Storage architecture for backup application | |
CN104778192B9 (zh) | 表示可内容寻址存储系统的目录结构 | |
US20170286442A1 (en) | File system support for file-level ghosting | |
US11714783B2 (en) | Browsable data and data retrieval from a data archived image | |
CN105493080B (zh) | 基于上下文感知的重复数据删除的方法和装置 | |
JP4755244B2 (ja) | 情報生成方法、情報生成プログラム及び情報生成装置 | |
CN109154881B (zh) | 基于对象的存储复制和恢复 | |
JP6610189B2 (ja) | 協働文書のオンライン文書管理システムとの同期 | |
CN109918346A (zh) | 一种文件的创建方法及装置 | |
US7685186B2 (en) | Optimized and robust in-place data transformation | |
CN105260266A (zh) | 一种快照卷写方法及依赖快照系统 | |
EP2164005B1 (en) | Content addressable storage systems and methods employing searchable blocks | |
JP4507609B2 (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171124 |