CN111382011B - 一种文件数据存取方法、装置和计算机可读存储介质 - Google Patents
一种文件数据存取方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111382011B CN111382011B CN202010131232.6A CN202010131232A CN111382011B CN 111382011 B CN111382011 B CN 111382011B CN 202010131232 A CN202010131232 A CN 202010131232A CN 111382011 B CN111382011 B CN 111382011B
- Authority
- CN
- China
- Prior art keywords
- file
- target
- data object
- unit
- original 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000004048 modification Effects 0.000 claims description 61
- 238000012986 modification Methods 0.000 claims description 61
- 238000004590 computer program Methods 0.000 claims description 13
- 230000000694 effects Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000010076 replication Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种文件数据存取方法、装置和介质,接收到文件复制指令时,创建备份文件;在原文件的元数据中记录备份文件的标识信息,在备份文件的元数据中记录原文件的标识信息。当接收到第一目标文件的读取指令时,判断是否存在与第一目标文件相对应的数据对象;若是,则读取数据对象。若否,则根据第一目标文件的元数据中记录的标识信息,确定出与第一目标文件相关联的第一目标原文件,并读取第一目标原文件的数据对象。在数据备份时,只需要在元数据中记录相关联文件的标识信息,无需执行数据对象的复制,便可以达到原文件的备份效果。原文件和备份文件共用数据对象,有效的减少了对磁盘空间的占用,提升了文件复制性能。
Description
技术领域
本发明涉及分布式文件存储技术领域,特别是涉及一种文件数据存取方法、装置和计算机可读存储介质。
背景技术
基于对象的分布式文件系统架构,由位于底层的分布式对象存储系统(Distributed Object Storage,DOS)、元数据服务(Meta Data Server,MDS)、文件系统客户端代理(Client Agent,CA)三部分组成。DOS由多台服务器设备组成,负责将数据可靠分布到这些设备上,它对外提供基于对象的数据访问接口。MDS提供元数据服务,其中元数据可以存储到DOS,也可以独立存储。CA同时与MDS和DOS交互,对外实现文件访问接口;文件的数据被切分成一定大小的块,每一块作为一个对象存储到DOS中。
用户一般通过可移植操作系统接口(Portable Operating System Interface ofUNIX,POSIX)访问文件系统。这种方式下,文件复制操作的常见实现是:同时打开复制的原文件和目标文件,读取原文件中的数据,写入目标文件。这样带来两个问题:一是同样的数据在系统中保存两份,浪费存储空间;二是复制过程需要读取、写入数据,操作缓慢。这些问题在复制大文件时表现尤为突出。常见存储系统中,一般通过重复数据删除技术解决第一个问题,但没有很好地解决第二个问题。
可见,如何提升文件复制性能,是本领域技术人员需要解决的问题。
发明内容
本发明实施例的目的是提供一种文件数据存取方法、装置和计算机可读存储介质,可以提升文件复制性能。
为解决上述技术问题,本发明实施例提供一种文件数据存取方法,包括:
接收到文件复制指令时,创建备份文件;
在原文件的元数据中记录所述备份文件的标识信息,在所述备份文件的元数据中记录所述原文件的标识信息;
接收到第一目标文件的读取指令时,判断是否存在与所述第一目标文件相对应的数据对象;
若是,则读取所述数据对象;
若否,则根据所述第一目标文件的元数据中记录的标识信息,确定出与所述第一目标文件相关联的第一目标原文件,并读取所述第一目标原文件的数据对象。
可选地,在原文件的元数据中记录所述备份文件的标识信息,在所述备份文件的元数据中记录所述原文件的标识信息之后还包括:
当接收到第二目标备份文件的修改指令时,判断是否存在与所述第二目标备份文件相对应的数据对象;
若是,则按照所述修改指令中携带的数据,对所述第二目标备份文件相对应的数据对象进行修改;
若否,则根据所述第二目标备份文件的元数据中记录的标识信息,确定出与所述第二目标备份文件相关联的第二目标原文件;读取所述第二目标原文件的数据对象;将所述修改指令中携带的数据以及所述第二目标原文件的数据对象作为所述第二目标备份文件的数据对象,并保存所述第二目标备份文件的数据对象。
可选地,所述读取所述第二目标原文件的数据对象包括:
以只读方式打开所述第二目标原文件,以获取所述第二目标原文件的读取权限;
将从分布式对象存储系统中读取的所述第二目标原文件的数据对象保存至内存。
可选地,在原文件的元数据中记录所述备份文件的标识信息,在所述备份文件的元数据中记录所述原文件的标识信息之后还包括:
当接收到第三目标原文件的修改指令时,根据所述第三目标原文件的元数据中记录的标识信息,查找与所述第三目标原文件相关联的第三目标备份文件;
判断各所述第三目标备份文件是否均存在相对应的数据对象;
判断各所述第三目标备份文件是否均存在相对应的数据对象;
若是,则依据所述第三目标原文件的修改指令中携带的数据,对所述第三目标原文件对应的数据对象进行修改;
若否,则将所述第三目标原文件的数据对象拷贝至不存在数据对象的第三目标备份文件的存储路径下;并执行所述依据所述第三目标原文件的修改指令中携带的数据,对所述第三目标原文件对应的数据对象进行修改的步骤。
可选地,还包括:
当不存在与所述目标文件相对应的数据对象,并且根据所述目标文件的元数据中记录的标识信息,无法确定出与所述目标文件相关联的目标原文件时,则进行报警提示。
本发明实施例还提供了一种文件数据存取装置,包括创建单元、记录单元、第一判断单元、第一读取单元和第二读取单元;
所述创建单元,用于接收到文件复制指令时,创建备份文件;
所述记录单元,用于在原文件的元数据中记录所述备份文件的标识信息,在所述备份文件的元数据中记录所述原文件的标识信息;
所述第一判断单元,用于接收到第一目标文件的读取指令时,判断是否存在与所述第一目标文件相对应的数据对象;若是,则触发所述第一读取单元;若否,则触发所述第二读取单元;
所述第一读取单元,用于读取所述数据对象;
所述第二读取单元,用于根据所述第一目标文件的元数据中记录的标识信息,确定出与所述第一目标文件相关联的第一目标原文件,并读取所述第一目标原文件的数据对象。
可选地,还包括第二判断单元、第一修改单元、确定单元、第三读取单元和作为单元;
所述第二判断单元,用于当接收到第二目标备份文件的修改指令时,判断是否存在与所述第二目标备份文件相对应的数据对象;若是,则触发所述第一修改单元;若否,则触发所述确定单元;
所述第一修改单元,用于按照所述修改指令中携带的数据,对所述第二目标备份文件相对应的数据对象进行修改;
所述确定单元,用于根据所述第二目标备份文件的元数据中记录的标识信息,确定出与所述第二目标备份文件相关联的第二目标原文件;
所述第三读取单元,用于读取所述第二目标原文件的数据对象;
所述作为单元,用于将所述修改指令中携带的数据以及所述第二目标原文件的数据对象作为所述第二目标备份文件的数据对象,并保存所述第二目标备份文件的数据对象。
可选地,所述第三读取单元具体用于以只读方式打开所述第二目标原文件,以获取所述第二目标原文件的读取权限;将从分布式对象存储系统中读取的所述第二目标原文件的数据对象保存至内存。
可选地,还包括查找单元、第三判断单元、拷贝单元和第二修改单元;
所述查找单元,用于当接收到第三目标原文件的修改指令时,根据所述第三目标原文件的元数据中记录的标识信息,查找与所述第三目标原文件相关联的第三目标备份文件;
所述第三判断单元,用于判断各所述第三目标备份文件是否均存在相对应的数据对象;若是,则触发所述第二修改单元;若否,则触发所述拷贝单元;
所述第二修改单元,用于依据所述第三目标原文件的修改指令中携带的数据,对所述第三目标原文件对应的数据对象进行修改;
所述拷贝单元,用于将所述第三目标原文件的数据对象拷贝至不存在数据对象的第三目标备份文件的存储路径下;并触发所述第二修改单元。
可选地,还包括提示单元;
所述提示单元,用于当不存在与所述目标文件相对应的数据对象,并且根据所述目标文件的元数据中记录的标识信息,无法确定出与所述目标文件相关联的目标原文件时,则进行报警提示。
本发明实施例还提供了一种文件数据存取装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述任意一项所述文件数据存取方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述文件数据存取方法的步骤。
由上述技术方案可以看出,接收到文件复制指令时,创建备份文件;在原文件的元数据中记录备份文件的标识信息,在备份文件的元数据中记录原文件的标识信息。标识信息可以区分不同的文件,并且根据标识信息可以查找到文件所在的位置。在执行文件的复制操作时,只需要在元数据中记录相关联文件的标识信息,无需执行数据对象的复制,便可以达到原文件的备份效果,有效的提升了数据备份效率。当接收到第一目标文件的读取指令时,判断是否存在与第一目标文件相对应的数据对象;当存在与第一目标文件相对应的数据对象时,则可以直接读取数据对象。当不存在与第一目标文件相对应的数据对象时,则需要从该第一目标文件相关联的原文件中读取数据对象,此时可以根据第一目标文件的元数据中记录的标识信息,确定出与第一目标文件相关联的第一目标原文件,并读取第一目标原文件的数据对象。在数据备份时,原文件和备份文件共用数据对象,有效的减少了对磁盘空间的占用,提升了文件复制性能。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种文件数据存取方法的流程图;
图2为本发明实施例提供的一种修改备份文件的方法的流程图;
图3为本发明实施例提供的一种修改原文件的方法的流程图;
图4为本发明实施例提供的一种文件数据存取装置的结构示意图;
图5为本发明实施例提供的一种文件数据存取装置的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种文件数据存取方法。图1为本发明实施例提供的一种文件数据存取方法的流程图,该方法包括:
S101:接收到文件复制指令时,创建备份文件。
分布式文件系统由CA、MDS和DOS组成。CA相当于分布式文件系统的访问接口,可以实现与用户终端的交互。
用户执行文件的复制操作时,首先需要在分布式文件系统中创建备份文件。在具体实现中,用户可以通过用户终端的业务系统向分布式文件系统发送文件复制指令,在该复制指令中可以携带有原文件的标识信息,以便于分布式文件系统可以获知需要对哪个文件执行复制操作。
分布式文件系统的CA接收到文件复制指令时,会将该文件复制指令下发至MDS,以便于MDS创建备份文件。此时创建的备份文件并不包含真实的数据信息即不包含数据对象。
考虑到在实际应用中,对原文件a执行复制操作得到备份文件b之后,可能会对备份文件b再次执行复制操作,得到备份文件c。虽然备份文件c是对备份文件b执行复制操作得到的文件,但是在执行复制操作时,备份文件b与原文件a共享数据对象,并且数据对象记录在原文件a中,因此备份文件c是与原文件a共享数据对象,为了便于读取备份文件c的数据对象,本发明实施例中,备份文件c所对应的原文件指的是原文件a。
相应的,在原文件a创建备份文件b时,会在原文件a的元数据中记录备份文件b的标识信息,在备份文件b的元数据中记录原文件a的标识信息。当再次对备份文件b执行复制操作时,得到备份文件c时,可以在原文件a的元数据中增加备份文件c的标识信息,相应的,在备份文件c的元数据中记录原文件a的标识信息。
S102:在原文件的元数据中记录备份文件的标识信息,在备份文件的元数据中记录原文件的标识信息。
一个原文件对应的备份文件的个数可以有多个,在本发明实施例中,采用标识信息来区分不同的文件。
在具体实现中,可以将索引号作为文件的标识信息,每个文件有其唯一对应的一个索引号,该索引号可以包括文件的名称、文件的存储路径等信息。
在本发明实施例中,为了提升文件的备份效率,可以将原文件和备份文件共用一个数据对象,此时只需在原文件的元数据中记录备份文件的标识信息,在备份文件的元数据中记录原文件的标识信息即可,无需执行数据对象的复制。
S103:接收到第一目标文件的读取指令时,判断是否存在与第一目标文件相对应的数据对象。
第一目标文件可以是原文件,也可以是备份文件。
当分布式文件系统的CA接收到第一目标文件的读取指令时,可以从DOS中读取第一目标文件对应的数据对象。
当存在第一目标文件的数据对象时,则执行S104;当不存在第一目标文件的数据对象时,则说明第一目标文件与其相关联的原文件共用一个数据对象,此时需要读取该原文件所对应的数据对象,即执行S105。
S104:读取数据对象。
当存在与第一目标文件相对应的数据对象时,说明第一目标文件为原文件或者是已经执行写时复制的备份文件,此时可以直接读取该数据对象。
S105:根据第一目标文件的元数据中记录的标识信息,确定出与第一目标文件相关联的第一目标原文件,并读取第一目标原文件的数据对象。
当不存在与第一目标文件相对应的数据对象时,则说明第一目标文件极有可能是备份文件。为了便于区分,在本发明实施例中,可以将与第一目标文件相关联的原文件称作第一目标原文件。
在第一目标文件的元数据中会记录与其相关联的第一目标原文件的标识信息,根据该标识信息便可以查找到第一目标原文件。第一目标原文件所对应的数据对象即为第一目标文件的数据对象。
由上述技术方案可以看出,接收到文件复制指令时,创建备份文件;在原文件的元数据中记录备份文件的标识信息,在备份文件的元数据中记录原文件的标识信息。标识信息可以区分不同的文件,并且根据标识信息可以查找到文件所在的位置。在执行文件的复制操作时,只需要在元数据中记录相关联文件的标识信息,无需执行数据对象的复制,便可以达到原文件的备份效果,有效的提升了数据备份效率。当接收到第一目标文件的读取指令时,判断是否存在与第一目标文件相对应的数据对象;当存在与第一目标文件相对应的数据对象时,则可以直接读取数据对象。当不存在与第一目标文件相对应的数据对象时,则需要从该第一目标文件相关联的原文件中读取数据对象,此时可以根据第一目标文件的元数据中记录的标识信息,确定出与第一目标文件相关联的第一目标原文件,并读取第一目标原文件的数据对象。在数据备份时,原文件和备份文件共用数据对象,有效的减少了对磁盘空间的占用,提升了文件复制性能。
在完成对原文件的备份之后,可以根据业务需求对备份文件进行修改。如图2所示为本发明实施例提供的一种修改备份文件的方法的流程图,方法包括:
S201:当接收到第二目标备份文件的修改指令时,判断是否存在与第二目标备份文件相对应的数据对象。
在本发明实施例中,为了便于和其它备份文件进行区分,可以将需要修改的备份文件称作第二目标备份文件。
在具体实现中,用户可以通过用户终端的业务系统向分布式文件系统的CA下发第二目标备份文件的修改指令,在该修改指令中可以携带有第二目标备份文件的标识信息以及所需修改的数据,以便于分布式文件系统端可以获知对哪个文件进行修改。
当分布式文件系统的CA接收到第二目标备份文件的修改指令时,若存在与第二目标备份文件相对应的数据对象,则说明第二目标备份文件已经执行了写时复制操作,此时可以从DOS中读取第二目标备份文件对应的数据对象,并执行S202。
当不存在与第二目标备份文件相对应的数据对象时,则说明第二目标备份文件仍与其相关联的原文件共用数据对象,此时可以执行S203。
S202:按照修改指令中携带的数据,对第二目标备份文件相对应的数据对象进行修改。
修改指令中携带的数据即为所需修改的数据,通过将所需修改的数据替换数据对象中相对应的数据,从而完成对第二目标备份文件的数据对象的修改。
S203:根据第二目标备份文件的元数据中记录的标识信息,确定出与第二目标备份文件相关联的第二目标原文件。
为了便于区分,在本发明实施例中,可以将与第二目标备份文件相关联的原文件称作第二目标原文件。
S204:读取第二目标原文件的数据对象。
当需要对备份文件的数据对象进行修改时,原文件的数据对象无需修改,为了避免原文件所对应的数据对象被误修改。在具体实现中,可以以只读方式打开第二目标原文件,以获取第二目标原文件的读取权限;然后将从分布式对象存储系统中读取的第二目标原文件的数据对象保存至内存。
通过将读取的数据对象保存至内存,实现了对第二目标原文件的数据对象的复制,从而保证只对保存至内存中的数据对象进行修改,不会对第二目标原文件所对应的数据对象进行修改。
S205:将修改指令中携带的数据以及第二目标原文件的数据对象作为第二目标备份文件的数据对象,并保存第二目标备份文件的数据对象。
将第二目标原文件的数据对象保存至内存之后,可以将修改指令中携带的数据替换内存中数据对象中相对应的数据,从而完成对第二目标备份文件的数据对象的修改,并将修改后的数据对象作为第二目标备份文件的数据对象保存至DOS中。
通过保存第二目标备份文件的数据对象,实现了对第二目标备份文件的写时复制操作。
在完成对原文件的备份之后,可以根据业务需求对原文件进行修改。如图3所示为本发明实施例提供的一种修改原文件的方法的流程图,方法包括:
S301:当接收到第三目标原文件的修改指令时,根据第三目标原文件的元数据中记录的标识信息,查找与第三目标原文件相关联的第三目标备份文件。
在本发明实施例中,为了便于和其它原文件进行区分,可以将需要修改的原文件称作第三目标原文件。将与第三目标原文件相关联的备份文件称作第三目标备份文件。
考虑到在实际应用中,当需要对原文件进行修改时,并不涉及对与其相关联的备份文件的修改,因此在对原文件对应的数据对象执行修改操作之前,需要保证各备份文件有其各自对应的数据对象。
S302:判断各第三目标备份文件是否均存在相对应的数据对象。
与第三目标原文件相关联的第三目标备份文件的个数可能有多个,当所有第三目标备份文件均存在相对应的数据对象时,则说明第三目标备份文件的数据对象已经和原文件的数据对象独立开来,此时对原文件的数据对象执行修改操作,并不会影响第三目标备份文件的数据对象。因此,当各第三目标备份文件均存在相对应的数据对象时,则可以执行S304。
当具有不存在数据对象的第三目标备份文件时,说明不存在数据对象的第三目标备份文件仍与第三目标原文件共用数据对象,为了保证备份文件的数据对象不被修改,此时可以执行S303。
S303:将第三目标原文件的数据对象拷贝至不存在数据对象的第三目标备份文件的存储路径下。
对于不存在数据对象的第三目标备份文件而言,可以将第三目标原文件的数据对象拷贝至该第三目标备份文件的存储路径下,从而作为第三目标备份文件的数据对象。
S304:依据第三目标原文件的修改指令中携带的数据,对第三目标原文件对应的数据对象进行修改。
当所有第三目标备份文件均有其对应的数据对象时,则可以依据第三目标原文件的修改指令中携带的数据,对第三目标原文件对应的数据对象进行修改。
在对原文件的数据对象执行修改之前,通过对与原文件相关联的不存在数据对象的备份文件拷贝数据对象,可以有效的保证各备份文件的数据对象与原文件的数据对象独立开来,从而使得原文件的修改,不会影响到备份文件的数据。
在实际应用中,当需要获取目标文件的数据对象时,可能由于用户输入的目标文件的标识信息不正确或者目标文件不存在等原因,导致不存在与目标文件相对应的数据对象,并且根据目标文件的元数据中记录的标识信息,无法确定出与目标文件相关联的目标原文件,针对于该种情况,可以进行报警提示,以便于用户可以及时获知数据对象获取失败的情况。
图4为本发明实施例提供的一种文件数据存取装置的结构示意图,包括创建单元41、记录单元42、第一判断单元43、第一读取单元44和第二读取单元45;
创建单元41,用于接收到文件复制指令时,创建备份文件;
记录单元42,用于在原文件的元数据中记录备份文件的标识信息,在备份文件的元数据中记录原文件的标识信息;
第一判断单元43,用于接收到第一目标文件的读取指令时,判断是否存在与第一目标文件相对应的数据对象;若是,则触发第一读取单元44;若否,则触发第二读取单元45;
第一读取单元44,用于读取数据对象;
第二读取单元45,用于根据第一目标文件的元数据中记录的标识信息,确定出与第一目标文件相关联的第一目标原文件,并读取第一目标原文件的数据对象。
可选地,还包括第二判断单元、第一修改单元、确定单元、第三读取单元和作为单元;
第二判断单元,用于当接收到第二目标备份文件的修改指令时,判断是否存在与第二目标备份文件相对应的数据对象;若是,则触发第一修改单元;若否,则触发确定单元;
第一修改单元,用于按照修改指令中携带的数据,对第二目标备份文件相对应的数据对象进行修改;
确定单元,用于根据第二目标备份文件的元数据中记录的标识信息,确定出与第二目标备份文件相关联的第二目标原文件;
第三读取单元,用于读取第二目标原文件的数据对象;
作为单元,用于将修改指令中携带的数据以及第二目标原文件的数据对象作为第二目标备份文件的数据对象,并保存第二目标备份文件的数据对象。
可选地,第三读取单元具体用于以只读方式打开第二目标原文件,以获取第二目标原文件的读取权限;将从分布式对象存储系统中读取的第二目标原文件的数据对象保存至内存。
可选地,还包括查找单元、第三判断单元、拷贝单元和第二修改单元;
查找单元,用于当接收到第三目标原文件的修改指令时,根据第三目标原文件的元数据中记录的标识信息,查找与第三目标原文件相关联的第三目标备份文件;
第三判断单元,用于判断各第三目标备份文件是否均存在相对应的数据对象;若是,则触发第二修改单元;若否,则触发拷贝单元;
第二修改单元,用于依据第三目标原文件的修改指令中携带的数据,对第三目标原文件对应的数据对象进行修改;
拷贝单元,用于将第三目标原文件的数据对象拷贝至不存在数据对象的第三目标备份文件的存储路径下;并触发第二修改单元。
可选地,还包括提示单元;
提示单元,用于当不存在与目标文件相对应的数据对象,并且根据目标文件的元数据中记录的标识信息,无法确定出与目标文件相关联的目标原文件时,则进行报警提示。
图4所对应实施例中特征的说明可以参见图1至图3所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,接收到文件复制指令时,创建备份文件;在原文件的元数据中记录备份文件的标识信息,在备份文件的元数据中记录原文件的标识信息。标识信息可以区分不同的文件,并且根据标识信息可以查找到文件所在的位置。在执行文件的复制操作时,只需要在元数据中记录相关联文件的标识信息,无需执行数据对象的复制,便可以达到原文件的备份效果,有效的提升了数据备份效率。当接收到第一目标文件的读取指令时,判断是否存在与第一目标文件相对应的数据对象;当存在与第一目标文件相对应的数据对象时,则可以直接读取数据对象。当不存在与第一目标文件相对应的数据对象时,则需要从该第一目标文件相关联的原文件中读取数据对象,此时可以根据第一目标文件的元数据中记录的标识信息,确定出与第一目标文件相关联的第一目标原文件,并读取第一目标原文件的数据对象。在数据备份时,原文件和备份文件共用数据对象,有效的减少了对磁盘空间的占用,提升了文件复制性能。
图5为本发明实施例提供的一种文件数据存取装置50的硬件结构示意图,包括:
存储器51,用于存储计算机程序;
处理器52,用于执行所述计算机程序以实现如上任意实施例所述的文件数据存取方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任意实施例所述的文件数据存取方法的步骤。
以上对本发明实施例所提供的一种文件数据存取方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
Claims (5)
1.一种文件数据存取方法,其特征在于,包括:
接收到文件复制指令时,创建备份文件;
在原文件的元数据中记录所述备份文件的标识信息,在所述备份文件的元数据中记录所述原文件的标识信息;
接收到第一目标文件的读取指令时,判断是否存在与所述第一目标文件相对应的数据对象;
若是,则读取所述数据对象;
若否,则根据所述第一目标文件的元数据中记录的标识信息,确定出与所述第一目标文件相关联的第一目标原文件,并读取所述第一目标原文件的数据对象;
在原文件的元数据中记录所述备份文件的标识信息,在所述备份文件的元数据中记录所述原文件的标识信息之后还包括:
当接收到第二目标备份文件的修改指令时,判断是否存在与所述第二目标备份文件相对应的数据对象;
若是,则按照所述修改指令中携带的数据,对所述第二目标备份文件相对应的数据对象进行修改;
若否,则根据所述第二目标备份文件的元数据中记录的标识信息,确定出与所述第二目标备份文件相关联的第二目标原文件;以只读方式打开所述第二目标原文件,以获取所述第二目标原文件的读取权限;将从分布式对象存储系统中读取的所述第二目标原文件的数据对象保存至内存;将所述修改指令中携带的数据以及所述第二目标原文件的数据对象作为所述第二目标备份文件的数据对象,并保存所述第二目标备份文件的数据对象;
当接收到第三目标原文件的修改指令时,根据所述第三目标原文件的元数据中记录的标识信息,查找与所述第三目标原文件相关联的第三目标备份文件;
判断各所述第三目标备份文件是否均存在相对应的数据对象;
若是,则依据所述第三目标原文件的修改指令中携带的数据,对所述第三目标原文件对应的数据对象进行修改;
若否,则将所述第三目标原文件的数据对象拷贝至不存在数据对象的第三目标备份文件的存储路径下;并执行所述依据所述第三目标原文件的修改指令中携带的数据,对所述第三目标原文件对应的数据对象进行修改的步骤。
2.根据权利要求1所述的方法,其特征在于,还包括:
当不存在与所述目标文件相对应的数据对象,并且根据所述目标文件的元数据中记录的标识信息,无法确定出与所述目标文件相关联的目标原文件时,则进行报警提示。
3.一种文件数据存取装置,其特征在于,包括创建单元、记录单元、第一判断单元、第一读取单元和第二读取单元;
所述创建单元,用于接收到文件复制指令时,创建备份文件;
所述记录单元,用于在原文件的元数据中记录所述备份文件的标识信息,在所述备份文件的元数据中记录所述原文件的标识信息;
所述第一判断单元,用于接收到第一目标文件的读取指令时,判断是否存在与所述第一目标文件相对应的数据对象;若是,则触发所述第一读取单元;若否,则触发所述第二读取单元;
所述第一读取单元,用于读取所述数据对象;
所述第二读取单元,用于根据所述第一目标文件的元数据中记录的标识信息,确定出与所述第一目标文件相关联的第一目标原文件,并读取所述第一目标原文件的数据对象;
还包括第二判断单元、第一修改单元、确定单元、第三读取单元和作为单元;
所述第二判断单元,用于当接收到第二目标备份文件的修改指令时,判断是否存在与所述第二目标备份文件相对应的数据对象;若是,则触发所述第一修改单元;若否,则触发所述确定单元;
所述第一修改单元,用于按照所述修改指令中携带的数据,对所述第二目标备份文件相对应的数据对象进行修改;
所述确定单元,用于根据所述第二目标备份文件的元数据中记录的标识信息,确定出与所述第二目标备份文件相关联的第二目标原文件;
所述第三读取单元,用于以只读方式打开所述第二目标原文件,以获取所述第二目标原文件的读取权限;将从分布式对象存储系统中读取的所述第二目标原文件的数据对象保存至内存;
所述作为单元,用于将所述修改指令中携带的数据以及所述第二目标原文件的数据对象作为所述第二目标备份文件的数据对象,并保存所述第二目标备份文件的数据对象;
还包括查找单元、第三判断单元、拷贝单元和第二修改单元;
所述查找单元,用于当接收到第三目标原文件的修改指令时,根据所述第三目标原文件的元数据中记录的标识信息,查找与所述第三目标原文件相关联的第三目标备份文件;
所述第三判断单元,用于判断各所述第三目标备份文件是否均存在相对应的数据对象;若是,则触发所述第二修改单元;若否,则触发所述拷贝单元;
所述第二修改单元,用于依据所述第三目标原文件的修改指令中携带的数据,对所述第三目标原文件对应的数据对象进行修改;
所述拷贝单元,用于将所述第三目标原文件的数据对象拷贝至不存在数据对象的第三目标备份文件的存储路径下;并触发所述第二修改单元。
4.一种文件数据存取装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至2任意一项所述文件数据存取方法的步骤。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至2任意一项所述文件数据存取方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010131232.6A CN111382011B (zh) | 2020-02-28 | 2020-02-28 | 一种文件数据存取方法、装置和计算机可读存储介质 |
PCT/CN2020/103690 WO2021169163A1 (zh) | 2020-02-28 | 2020-07-23 | 一种文件数据存取方法、装置和计算机可读存储介质 |
US17/802,828 US11899542B2 (en) | 2020-02-28 | 2020-07-23 | File data access method, apparatus, and computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010131232.6A CN111382011B (zh) | 2020-02-28 | 2020-02-28 | 一种文件数据存取方法、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111382011A CN111382011A (zh) | 2020-07-07 |
CN111382011B true CN111382011B (zh) | 2022-11-29 |
Family
ID=71218671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010131232.6A Active CN111382011B (zh) | 2020-02-28 | 2020-02-28 | 一种文件数据存取方法、装置和计算机可读存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11899542B2 (zh) |
CN (1) | CN111382011B (zh) |
WO (1) | WO2021169163A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111382011B (zh) | 2020-02-28 | 2022-11-29 | 苏州浪潮智能科技有限公司 | 一种文件数据存取方法、装置和计算机可读存储介质 |
CN114328030B (zh) * | 2022-03-03 | 2022-05-20 | 成都云祺科技有限公司 | 一种文件数据备份方法、系统及存储介质 |
CN116112910A (zh) * | 2023-01-12 | 2023-05-12 | 中国联合网络通信集团有限公司 | 数据处理方法、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008197A (zh) * | 2019-04-12 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、系统及电子设备和存储介质 |
CN110032541A (zh) * | 2019-04-12 | 2019-07-19 | 苏州浪潮智能科技有限公司 | 一种可写快照实现方法及系统 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778395A (en) * | 1995-10-23 | 1998-07-07 | Stac, Inc. | System for backing up files from disk volumes on multiple nodes of a computer network |
US7243089B2 (en) * | 2003-11-25 | 2007-07-10 | International Business Machines Corporation | System, method, and service for federating and optionally migrating a local file system into a distributed file system while preserving local access to existing data |
JP2005196683A (ja) * | 2004-01-09 | 2005-07-21 | Hitachi Ltd | 情報処理システム、情報処理装置、及び情報処理システムの制御方法 |
US8621165B1 (en) * | 2008-12-08 | 2013-12-31 | Symantec Corporation | Method and apparatus for providing a volume image backup of selected objects |
US8606751B1 (en) * | 2009-12-21 | 2013-12-10 | Emc Corporation | System and method for backup by inode number |
US9128942B1 (en) * | 2010-12-24 | 2015-09-08 | Netapp, Inc. | On-demand operations |
US20180336097A1 (en) * | 2012-06-25 | 2018-11-22 | International Business Machines Corporation | Namespace affinity and failover for processing units in a dispersed storage network |
US8768977B2 (en) * | 2012-07-31 | 2014-07-01 | Hewlett-Packard Development Company, L.P. | Data management using writeable snapshots in multi-versioned distributed B-trees |
US9183205B1 (en) * | 2012-10-05 | 2015-11-10 | Symantec Corporation | User-based backup |
JP6009097B2 (ja) * | 2013-02-27 | 2016-10-19 | ヒタチ データ システムズ コーポレーションHitachi Data Systems Corporation | 分散オブジェクトストレージエコシステムにおけるコンテンツとメタデータの分離 |
CN103761162B (zh) | 2014-01-11 | 2016-12-07 | 深圳清华大学研究院 | 分布式文件系统的数据备份方法 |
JP5991699B2 (ja) * | 2014-08-08 | 2016-09-14 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 情報処理装置、情報処理システム、バックアップ方法、およびプログラム |
CN104360953B (zh) * | 2014-10-16 | 2018-01-23 | 华为技术有限公司 | 数据拷贝方法及装置 |
JP6604115B2 (ja) * | 2015-09-25 | 2019-11-13 | 富士通株式会社 | ストレージ装置およびストレージ制御プログラム |
CN108062200B (zh) * | 2016-11-08 | 2019-12-20 | 杭州海康威视数字技术股份有限公司 | 一种磁盘数据读写方法及装置 |
CN108241555B (zh) | 2016-12-26 | 2022-03-01 | 阿里巴巴集团控股有限公司 | 一种分布式数据库的备份、恢复方法、装置和服务器 |
US10430285B2 (en) * | 2017-02-17 | 2019-10-01 | International Business Machines Corporation | Backing up metadata |
US20180285206A1 (en) * | 2017-03-29 | 2018-10-04 | Commvault Systems, Inc. | Saving operations for files in a network-accessible system |
US10387271B2 (en) * | 2017-05-10 | 2019-08-20 | Elastifile Ltd. | File system storage in cloud using data and metadata merkle trees |
US11403176B2 (en) * | 2017-09-12 | 2022-08-02 | Western Digital Technologies, Inc. | Database read cache optimization |
US10831521B2 (en) * | 2018-04-27 | 2020-11-10 | Nutanix, Inc. | Efficient metadata management |
US20190332574A1 (en) * | 2018-04-30 | 2019-10-31 | Ashish Puri | Method and system of snapshot generation and management |
US20190384495A1 (en) * | 2018-06-19 | 2019-12-19 | Trilio Data, Inc. | Object Store Backup Method and System |
US11334521B2 (en) * | 2018-12-21 | 2022-05-17 | EMC IP Holding Company LLC | System and method that determines a size of metadata-based system snapshots |
US10592161B1 (en) * | 2019-01-22 | 2020-03-17 | EMC IP Holding Company LLC | Storage system with flexible scanning supporting storage volume addition and/or recovery in asynchronous replication |
US20200341855A1 (en) * | 2019-04-28 | 2020-10-29 | Synamedia | Object store specialized backup and point-in-time recovery architecture |
US11023332B2 (en) * | 2019-10-15 | 2021-06-01 | EMC IP Holding Company LLC | System and method for efficient backup system aware direct data migration between cloud storages |
CN110795416B (zh) * | 2019-10-18 | 2022-07-15 | 北京浪潮数据技术有限公司 | 一种文件复制方法、装置、设备及可读存储介质 |
US11599643B2 (en) * | 2019-10-30 | 2023-03-07 | Rubrik, Inc. | Facilitating analysis of software vulnerabilities |
CN111382011B (zh) * | 2020-02-28 | 2022-11-29 | 苏州浪潮智能科技有限公司 | 一种文件数据存取方法、装置和计算机可读存储介质 |
US11599296B2 (en) * | 2021-07-30 | 2023-03-07 | Netapp, Inc. | Immutable snapshot copies stored in write once read many (WORM) storage |
-
2020
- 2020-02-28 CN CN202010131232.6A patent/CN111382011B/zh active Active
- 2020-07-23 US US17/802,828 patent/US11899542B2/en active Active
- 2020-07-23 WO PCT/CN2020/103690 patent/WO2021169163A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008197A (zh) * | 2019-04-12 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、系统及电子设备和存储介质 |
CN110032541A (zh) * | 2019-04-12 | 2019-07-19 | 苏州浪潮智能科技有限公司 | 一种可写快照实现方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111382011A (zh) | 2020-07-07 |
WO2021169163A1 (zh) | 2021-09-02 |
US20230132278A1 (en) | 2023-04-27 |
US11899542B2 (en) | 2024-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111382011B (zh) | 一种文件数据存取方法、装置和计算机可读存储介质 | |
US10089191B2 (en) | Selectively persisting application program data from system memory to non-volatile data storage | |
US6484186B1 (en) | Method for backing up consistent versions of open files | |
CN107643880B (zh) | 基于分布式文件系统的文件数据迁移的方法及装置 | |
US9396198B2 (en) | Computer system, file management method and metadata server | |
KR101781447B1 (ko) | 시스템 리셋 | |
US9176853B2 (en) | Managing copy-on-writes to snapshots | |
CN109522154B (zh) | 数据恢复方法及相关设备与系统 | |
US8095510B2 (en) | Data restoration in a storage system using multiple restore points | |
CN111382126B (zh) | 删除文件及阻碍文件恢复的系统和方法 | |
CN110008197B (zh) | 一种数据处理方法、系统及电子设备和存储介质 | |
US7624129B2 (en) | Dual logging of changes to a user preference in a computer device | |
US9251020B1 (en) | Systems and methods for file-level replication | |
CN103197987A (zh) | 一种数据备份的方法、数据恢复的方法及系统 | |
CN106909514B (zh) | 一种快照盘地址的定位方法及装置 | |
CN109144403B (zh) | 一种用于云盘模式切换的方法与设备 | |
US9009430B2 (en) | Restoration of data from a backup storage volume | |
CN114924911B (zh) | Windows操作系统有效数据备份方法、装置、设备和存储介质 | |
CN108170372B (zh) | 基于云硬盘的数据处理方法和装置 | |
US20120060005A1 (en) | Techniques for copying on write | |
CN109828950A (zh) | 一种数据保护方法、管理系统、服务器及可读存储介质 | |
CN115328851A (zh) | 一种数据保护方法、装置、设备及介质 | |
CN110471623B (zh) | 硬盘文件写入方法、装置、计算机设备和存储介质 | |
CN110019086A (zh) | 基于分布式文件系统的多副本读取方法、设备及存储介质 | |
CN109241011B (zh) | 一种虚拟机文件处理方法及装置 |
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 |