CN104462290B - 文件系统复制方法及装置 - Google Patents

文件系统复制方法及装置 Download PDF

Info

Publication number
CN104462290B
CN104462290B CN201410706206.6A CN201410706206A CN104462290B CN 104462290 B CN104462290 B CN 104462290B CN 201410706206 A CN201410706206 A CN 201410706206A CN 104462290 B CN104462290 B CN 104462290B
Authority
CN
China
Prior art keywords
file
file system
main side
preset time
metadata
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
Application number
CN201410706206.6A
Other languages
English (en)
Other versions
CN104462290A (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.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410706206.6A priority Critical patent/CN104462290B/zh
Publication of CN104462290A publication Critical patent/CN104462290A/zh
Application granted granted Critical
Publication of CN104462290B publication Critical patent/CN104462290B/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/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种文件系统复制方法及装置,该方法包括:获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图;根据文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图中基于语义记录的操作,获取预设时间段内主端文件系统中文件、目录进行的操作类型;根据文件、目录进行的操作类型,结合主端文件系统在预设时间段终点的快照,确定主端文件系统在预设时间段内进行的操作;在从端按照预设规则复制执行主端文件系统在预设时间段内进行的操作。本发明实施例实现了,从端复制过程中,只考虑进行复制时刻所获知的文件、目录变化,避免了一段时间内对同一文件的重复复制,减少无效复制的产生。

Description

文件系统复制方法及装置
技术领域
本发明涉及通信技术,尤其涉及一种文件系统复制方法及装置。
背景技术
网络接入服务器(network access server,简称NAS)是一种采用直接与网络介质相连的特殊设备实现数据存储机制。NAS能够在网络上进行文件共享,具体地,可以通过网络文件系统(Network File System,简称NFS)、通用网络文件系统(Common Internet FileSystem,简称CIFS)等协议共享给不同的主机,并且易于部署与维护,有非常好的扩展性。随着NAS在企业中应用越来越广泛,对NAS上数据的容灾的需求也越来越高,即需要将主端的数据复制到从端中,以便紧急情况下使用。其中,这些数据存储在设备的文件系统中,由文件系统进行管理。
现有技术中,主要采用基于日志顺序的方式实现文件系统复制,即主端的文件系统按照时间顺序记录日志,每条日志中标记了进行的操作,这些操作可以包括:创建、删除、修改等,向从端复制时,完全按照主端记录日志的顺序进行复制,即将一段时间内主端进行的操作在从端再执行一次。
但是,采用现有技术,预设时间段内,主端在实际操作过程中可能对同一文件执行了多次同一操作,例如进行了多次修改,那么复制时,也要将多次修改都执行一次,导致同一文件的多次复制,从而产生无效复制。
发明内容
本发明提供一种文件系统复制方法及装置,用于解决现有文件复制过程中同一文件的多次复制,从而产生无效复制的问题。
本发明第一方面提供一种文件系统复制方法,包括:
获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图;
根据所述文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图中基于语义记录的操作,获取预设时间段内所述主端文件系统中文件和/或目录进行的操作类型;
根据所述预设时间段内主端文件系统中文件和/或目录进行的操作类型,结合所述主端文件系统在所述预设时间段终点的快照,确定所述主端文件系统在所述预设时间段内进行的操作;
在从端按照预设规则复制执行所述主端文件系统在所述预设时间段内进行的操作。
结合第一方面,在第一方面的第一种可能的实施方式中,若所述操作类型包括下述一项或任意组合:创建、删除、修改文件名、修改目录名,则所述根据所述预设时间段内主端文件系统中文件和/或目录进行的操作类型,结合所述预设时间段终点的快照,确定所述主端文件系统所述预设时间段内进行的操作,包括:
比较所述预设时间段终点的快照和所述预设时间段起点的快照,获取所述主端文件系统在所述预设时间段终点和起点的差异;
根据所述预设时间段内主端文件系统中文件和/或目录进行的操作类型,以及所述主端文件系统在所述预设时间段终点和起点的差异,反演出所述主端文件系统在所述预设时间段的操作。
结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图之前,还包括:
在将所述主端的文件系统中的操作和从端的文件系统的操作均划分为元数据操作和数据操作。
结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述在从端按照预设规则复制执行所述主端文件系统在所述预设时间段内进行的操作,包括:
在从端分别复制执行所述主端文件系统在所述预设时间段内进行的元数据操作和数据操作。
结合第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,所述在从端分别复制执行所述主端文件系统在所述预设时间段内进行的元数据操作和数据操作,包括:
在从端复制执行所述主端文件系统在所述预设时间段内进行的第一类元数据操作,所述第一类元数据操作包括:创建目录、修改目录名;
在从端复制执行所述主端文件系统在所述预设时间段内进行的第二类元数据操作,所述第二类元数据操作包括:创建文件、创建软链接、创建硬链接以及删除文件;
在从端复制执行所述主端文件系统在所述预设时间段内进行的数据操作;
在从端复制执行所述主端文件系统在所述预设时间段内进行的第三类元数据操作,所述第三类元数据操作包括:删除目录。
结合第一方面至第一方面的第四种可能的实施方式中任一项,在第一方面的第五种可能的实施方式中,所述方法还包括:在从端按照预设规则复制执行所述主端文件系统在所述预设时间段内进行的操作的过程中,配置所述从端文件的文件名与至少两个文件标识相对应。
结合第一方面至第一方面的第五种可能的实施方式中任一项,在第一方面的第六种可能的实施方式中,获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图之前,还包括:
在所述主端文件系统中第一文件的元数据发生变化时,为所述第一文件建立所述第一文件对应的元数据位图。
结合第一方面至第一方面的第五种可能的实施方式中任一项,在第一方面的第七种可能的实施方式中,获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图之前,还包括:
在所述主端文件系统中第一文件的数据发生变化时,为所述第一文件建立所述第一文件对应的数据位图。
结合第一方面至第一方面的第五种可能的实施方式中任一项,在第一方面的第八种可能的实施方式中,获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图之前,还包括:
在所述主端文件系统中第一目录的元数据发生变化时,为所述第一目录建立所述第一目录对应的元数据位图。
本发明第二方面提供一种文件系统复制装置,包括:
获取模块,用于获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图;根据所述文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图中基于语义记录的操作,获取预设时间段内所述主端文件系统中文件和/或目录进行的操作类型;
确定模块,用于根据所述预设时间段内主端文件系统中文件和/或目录进行的操作类型,结合所述主端文件系统在所述预设时间段终点的快照,确定所述主端文件系统在所述预设时间段内进行的操作;
复制模块,用于在从端按照预设规则复制执行所述主端文件系统在所述预设时间段内进行的操作。
结合第二方面,在第二方面的第一种可能的实施方式中,所述确定模块,具体用于在所述操作类型包括下述一项或任意组合:创建、删除、修改文件名、修改目录名时,比较所述预设时间段终点的快照和所述预设时间段起点的快照,获取所述主端文件系统在所述预设时间段终点和起点的差异;根据所述预设时间段内主端文件系统中文件和/或目录进行的操作类型,以及所述主端文件系统在所述预设时间段终点和起点的差异,反演出所述主端文件系统在所述预设时间段的操作。
结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述装置还包括:
划分模块,用于获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图之前,在将所述主端的文件系统中的操作和从端的文件系统的操作均划分为元数据操作和数据操作。
结合第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述复制模块,具体用于在从端分别复制执行所述主端文件系统在所述预设时间段内进行的元数据操作和数据操作。
结合第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,所述复制模块,具体用于在从端复制执行所述主端文件系统在所述预设时间段内进行的第一类元数据操作,所述第一类元数据操作包括:创建目录、修改目录名;在从端复制执行所述主端文件系统在所述预设时间段内进行的第二类元数据操作,所述第二类元数据操作包括:创建文件、创建软链接、创建硬链接以及删除文件;在从端复制执行所述主端文件系统在所述预设时间段内进行的数据操作;在从端复制执行所述主端文件系统在所述预设时间段内进行的第三类元数据操作,所述第三类元数据操作包括:删除目录。
结合第二方面至第二方面的第四种可能的实施方式中任一项,在第二方面的第五种可能的实施方式中,所述装置还包括:
配置模块,用于在从端按照预设规则复制执行所述主端文件系统在所述预设时间段内进行的操作的过程中,配置所述从端文件的文件名与至少两个文件标识相对应。
结合第二方面至第二方面的第五种可能的实施方式中任一项,在第二方面的第六种可能的实施方式中,所述装置还包括:
第一建立模块,用于在所述主端文件系统中第一文件的元数据发生变化时,为所述第一文件建立所述第一文件对应的元数据位图。
结合第二方面至第二方面的第五种可能的实施方式中任一项,在第二方面的第七种可能的实施方式中,所述装置还包括:
第二建立模块,用于在所述主端文件系统中第一文件的数据发生变化时,为所述第一文件建立所述第一文件对应的数据位图。
结合第二方面至第二方面的第五种可能的实施方式中任一项,在第二方面的第八种可能的实施方式中,所述装置还包括:
第三建立模块,用于在所述主端文件系统中第一目录的元数据发生变化时,为所述第一目录建立所述第一目录对应的元数据位图。
本发明实施例提供的文件系统复制方法及装置中,通过获取主端文件系统中文件对应的元数据位图、文件对应的数据位图、目录对应的元数据位图,根据这些位图中基于语义记录的操作,获取预设时间段内主端文件系统中文件和/或目录进行的操作类型,进而结合主端文件系统在预设时间段终点的快照,确定该主端文件系统在预设时间段内进行的操作,在从端复制执行即可完成从端的复制,以保证从端和主端数据一致。实现了,从端复制过程中无需严格按照主端各操作的执行顺序,只考虑进行复制时刻所获知的文件和/或目录变化,避免了一段时间内对同一文件的重复复制,减少无效复制的产生。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的文件系统复制方法实施例一的流程示意图;
图2为本发明提供的文件系统复制方法实施例二的流程示意图;
图3为本发明提供的文件系统复制方法实施例二的流程示意图;
图4为本发明提供的文件系统复制装置实施例一的结构示意图;
图5为本发明提供的文件系统复制装置实施例二的结构示意图;
图6为本发明提供的文件系统复制装置实施例三的结构示意图;
图7为本发明提供的文件系统复制装置实施例四的结构示意图;
图8为本发明提供的文件系统复制装置实施例五的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于NAS上数据的容灾的需求越来越高,即需要将主端的数据复制到从端中,以便紧急情况下使用,本发明实施例提供一种将主端数据复制到从端,以使主端文件系统和从端文件系统保持一致的方法。
图1为本发明提供的文件系统复制方法实施例一的流程示意图,如图1所示,该方法包括:
S101、获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图。
其中,主端文件系统中如果某些文件、目录发生了变化,则会为发生变化的文件、目录建立相应的位图,上述获取到的位图中相应记载了对应地文件、目录发生的变化,即进行过地操作。
具体地,在执行S101之前,在主端文件系统中第一文件的元数据发生变化时,为该第一文件建立该第一文件对应的元数据位图。
在主端文件系统中第一文件的数据发生变化时,为该第一文件建立该第一文件对应的元数据位图。
上述第一文件可以指主端文件系统中的任一文件,即只要主端文件系统中第一文件的某文件发生了元数据变化,则为该文件建立元数据位图。
文件的元数据位图中包括对应文件的文件标识(例如inode号)、文件类型(用于标识文件或目录)、基于语义记录的操作以及操作时间等信息;数据位图包括对应文件的文件标识、基于语义记录的操作、操作时间点、块号等。
类似地,在执行S101之前,在主端文件系统中第一目录的元数据发生变化时,为该第一目录建立该第一目录对应的元数据位图。其中,目录对应的元数据位图中可以包括对应目录的目录标识、文件类型、基于语义记录的操作以及操作时间等信息。
S102、根据上述文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图中基于语义记录的操作,获取预设时间段内主端文件系统中文件和/或目录发生的操作类型。
具体地,上述文件对应的元数据位图、文件对应的数据位图、目录对应的元数据位图在记录文件、目录的变化是基于语义的,例如记录为:创建文件(create)、删除文件(unlink),这样根据位图中的记录,就可以知道文件系统中文件、目录进行操作的操作类型。操作类型可以包括:修改数据内容、修改文件名等。
S103、根据上述预设时间段内主端文件系统中文件和/或目录进行的操作类型,结合上述主端文件系统在预设时间段终点的快照,确定上述主端文件系统在预设时间段内进行的操作。
其中,快照包括这个时间点主端文件系统的所有数据。
S104、在从端按照预设规则复制执行上述主端文件系统在预设时间内进行的操作。
例如,根据上述某文件的数据位图确定出该文件“0-4千字节(kb)”位置的操作类型为数据内容修改,则根据主端文件系统在预设时间段终点的快照就可以知道该文件“0-4(kb)”位置修改后的数据,进而在从端复制执行时直接按照主端文件系统在预设时间段终点的快照中该文件“0-4(kb)”位置修改后的数据修改从端对应位置的数据即可。
本实施例中,通过获取主端文件系统中文件对应的元数据位图、文件对应的数据位图、目录对应的元数据位图,根据这些位图中基于语义记录的操作,获取预设时间段内主端文件系统中文件和/或目录进行的操作类型,进而结合主端文件系统在预设时间段终点的快照,确定该主端文件系统在预设时间段内进行的操作,在从端复制执行即可完成从端的复制,以保证从端和主端数据一致。实现了,从端复制过程中无需严格按照主端各操作的执行顺序,只考虑进行复制时刻所获知的文件和/或目录变化,避免了一段时间内对同一文件的重复复制,减少无效复制的产生。
另一实施例中,上述获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图之前,在将所述主端的文件系统中的操作和从端的文件系统的操作均划分为元数据操作和数据操作。
以便后续复制过程分别针对元数据、数据进行。
其中,元数据操作包括:目录元数据操作和文件元数据操作,数据操作一般指文件数据操作。
相应地,在从端按照预设规则复制执行上述主端文件系统在预设时间内进行的操作,具体为:在从端分别复制执行主端文件系统在预设时间段内进行的元数据操作和数据操作。
举例说明,一般目录元数据操作包括:创建目录(create)、删除目录(unlink)等;文件元数据操作主要包括:创建文件(create)、创建硬链接(link)、删除文件(unlink)、创建软链接(symlink)、添加扩展属性(xattr)等;并不以此为限,还可以包括一些其它目录、文件元数据,例如:访问时间(atime)、元数据修改时间(ctime)、数据修改时间(mtime)等。
文件数据操作主要包括:修改写数据(write)、截断写数据(truncate)、追加写数据(append)等。
图2为本发明提供的文件系统复制方法实施例二的流程示意图,如图2所示,若上述操作类型包括下述一项或任意组合:创建、删除、修改文件名、修改目录名,则上述根据预设时间段内主端文件系统中文件和/或目录进行的操作类型,结合上述主端文件系统在预设时间段终点的快照,确定上述主端文件系统在预设时间段内进行的操作,具体可以为:
S201、比较上述预设时间段终点的快照和上述预设时间段起点的快照,获取上述主端文件系统在上述预设时间段终点和起点的差异。
即为了更好地确定主端文件系统中文件、目录发生的变化,针对一些操作类型需要将两个时间点的快照进行比较,可以明显看出预设时间段终点和起点的差异。
具体操作时,结合位图中记录的变化,通过比较获取发生变化的同一文件或同一目录在预设时间段终点的快照中和预设时间段起点的快照中的差异。
S202、根据预设时间段内主端文件系统中文件和/或目录进行的操作类型,以及上述主端文件系统在上述预设时间段终端和起点的差异,反演出上述主端文件系统在上述预设时间段的操作。
一般地,一个目录下每一个文件都有唯一标识(可以是inode号),例如,根据inode号为“11”的文件对应的元数据位图获知,该文件在预设时间段“修改了文件名”,通过inode号“11”识别到该文件在预设时间段起点的快照中文件名为“file1”,而在预设时间段终点的快照中文件名为“file2”,则可以反演出预设时间段内主端文件系统对该文件执行的操作是将文件名“file1”修改为“file2”。
又例如,根据inode号为“11”的文件对应的元数据位图获知,该文件在预设时间段内执行的操作类型为“删除文件”,在预设时间段起点的快照中包含该文件,而在预设时间段终点的快照中没有该标识对应的文件,则反演出预设时间段内对该文件执行的操作是“删除了inode号为11的文件”。
另外,上述操作类型中的创建可以包括:创建文件、创建目录、创建硬链接、创建软链接等。删除可以包括:删除文件、删除目录等。
对于除了创建、删除、修改文件名、修改目录名之外的其它操作类型,可以不用对比预设时间段起点和终点的快照,只需结合操作类型和预设时间段终点的快照内容就可以推断出主端文件系统的操作。例如前述例子中的数据修改,或者元数据属性扩展等。
需要说明的是,反演出的操作,只是根据两个时间点文件系统的差异推断出的,并不代表预设时间段内实际发生的所有操作。
这样,在本实施例中,只考虑一段时间的两个端点,而无需考虑整段时间中的所有操作,避免了一段时间内对同一文件的重复复制,减少无效复制的产生。
需要说明的是,在文件系统的构造中,一个目录下的文件操作依赖该目录存在,创建时,先创建目录,再创建目录下的文件;而删除时,先删除目录下的文件,再删除目录。每个目录都有唯一的目录标识,同一目录下的每个文件也都有唯一的文件标识以及所属目录的标识。
一般地,先执行目录元数据操作再执行文件元数据操作,但并不以此为限。
对于删除操作,如果反演出的目录元数据操作是删除某目录,但是从端在执行时,如果该目录下还存在文件,则不能直接删除该目录,要先删除目录下的文件再删除该目录。
图3为本发明提供的文件系统复制方法实施例二的流程示意图,如图3所示,由于文件系统中文件、目录之前存在的依赖关系,为了避免冲突,从端在执行复制时,按照一定的顺序执行元数据、数据操作。
在从端分别复制执行主端文件系统在预设时间段内进行的元数据操作和数据操作,具体可以包括:
S301、在从端复制执行上述主端文件系统在上述预设时间段内进行的第一类元数据操作,该第一类元数据操作包括:创建目录、修改目录名。
S302、在从端复制执行上述主端文件系统在上述预设时间段内进行的第二类元数据操作,该第二类元数据操作包括:创建文件、创建软链接、创建硬链接以及删除文件。
S303、在从端复制执行上述主端文件系统在上述预设时间段内进行的数据操作。这里的数据操作可以包括所有类型的数据操作。
S304、在从端复制执行上述主端文件系统在上述预设时间段内进行的第三类元数据操作,该第三类元数据操作包括:删除目录。
进一步地,为了便于区分,同一目录下的每个文件名都不同,但是上述方法在执行过程中,只考虑位图记录的变化以及某时间点的快照,因而在从端复制执行上述主端预设时间段进行的操作时,可能出现文件名冲突的问题。例如,对于一目录dir1下,某文件名为file1的文件,对应的标识为“10”,在预设时间段内,该文件被删除,随后又创建了文件名为file1的文件,对应的标识为“11”,根据预设时间段终点、起点快照的差异以及操作类型会反演出的文件元数据操作为:删除了标识为“10”的文件file1、创建了标识为“11”的file1。从端在执行时并不知道删除和创建的时间顺序,可以随机执行,因此可能先执行创建后执行删除,这样目录dir1下就会有两个文件file1,而出现文件名冲突。
本实施例中,在从端复制执行上述主端文件系统在预设时间段内进行的操作的过程中,配置从端文件的文件名可以与至少两个文件标识相对应。以保证复制的正确执行,避免冲突。以前述示例说明,例如先执行创建标识为“11”的file1,此时目录中还存在标识为“10”的文件file1,那么file1就同时对应标识“10”和标识“11”,之后再执行删除标识为“10”的文件file1,最终从端中剩余的file1对应的标识为“11”。因此,不仅可以避免文件名冲突而导致不能复制的问题,而且在所有操作完成后,也不会使得主端和从端的文件系统不一致。
图4为本发明提供的文件系统复制装置实施例一的结构示意图,如图4所示,该装置包括:获取模块401、确定模块402和复制模块403,其中:
获取模块401,用于获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图;根据所述文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图中基于语义记录的操作,获取预设时间段内所述主端文件系统中文件和/或目录进行的操作类型。
确定模块402,用于根据所述预设时间段内主端文件系统中文件和/或目录进行的操作类型,结合所述主端文件系统在所述预设时间段终点的快照,确定所述主端文件系统在所述预设时间段内进行的操作。
复制模块403,用于在从端按照预设规则复制执行所述主端文件系统在所述预设时间段内进行的操作。
本实施例中,通过获取主端文件系统中文件对应的元数据位图、文件对应的数据位图、目录对应的元数据位图,根据这些位图中基于语义记录的操作,获取预设时间段内主端文件系统中文件和/或目录进行的操作类型,进而结合主端文件系统在预设时间段终点的快照,确定该主端文件系统在预设时间段内进行的操作,在从端复制执行即可完成从端的复制,以保证从端和主端数据一致。实现了,从端复制过程中无需严格按照主端各操作的执行顺序,只考虑进行复制时刻所获知的文件和/或目录变化,避免了一段时间内对同一文件的重复复制,减少无效复制的产生。
另一实施例中,确定模块402,具体用于在所述操作类型包括下述一项或任意组合:创建、删除、修改文件名、修改目录名时,比较所述预设时间段终点的快照和所述预设时间段起点的快照,获取所述主端文件系统在所述预设时间段终点和起点的差异;根据所述预设时间段内主端文件系统中文件和/或目录进行的操作类型,以及所述主端文件系统在所述预设时间段终点和起点的差异,反演出所述主端文件系统在所述预设时间段的操作。
图5为本发明提供的文件系统复制装置实施例二的结构示意图,如图5所示,在图4的基础上,该装置还可以包括:划分模块501,用于在获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图之前,在将所述主端的文件系统中的操作和从端的文件系统的操作均划分为元数据操作和数据操作。
进一步地,另一实施例中,复制模块403,具体用于在从端分别复制执行所述主端文件系统在所述预设时间段内进行的元数据操作和数据操作。
更进一步地,复制模块403,具体用于在从端复制执行所述主端文件系统在所述预设时间段内进行的第一类元数据操作,所述第一类元数据操作包括:创建目录、修改目录名;在从端复制执行所述主端文件系统在所述预设时间段内进行的第二类元数据操作,所述第二类元数据操作包括:创建文件、创建软链接、创建硬链接以及删除文件;在从端复制执行所述主端文件系统在所述预设时间段内进行的数据操作;在从端复制执行所述主端文件系统在所述预设时间段内进行的第三类元数据操作,所述第三类元数据操作包括:删除目录。
图6为本发明提供的文件系统复制装置实施例三的结构示意图,如图6所示,该装置还可以包括:配置模块601,用于在从端按照预设规则复制执行所述主端文件系统在所述预设时间段内进行的操作的过程中,配置所述从端文件的文件名与至少两个文件标识相对应。
图7为本发明提供的文件系统复制装置实施例四的结构示意图,如图7所示,该装置还可以包括:第一建立模块701,用于在所述主端文件系统中第一文件的元数据发生变化时,为所述第一文件建立所述第一文件对应的元数据位图。
参照图7该装置还可以包括:第二建立模块702,用于在所述主端文件系统中第一文件的数据发生变化时,为所述第一文件建立所述第一文件对应的数据位图。
参照图7该装置还可以包括:第三建立模块703,用于在所述主端文件系统中第一目录的元数据发生变化时,为所述第一目录建立所述第一目录对应的元数据位图。
上述装置用于执行前述方法实施例,其技术效果和实现原理类似,在此不再赘述。
图8为本发明提供的文件系统复制装置实施例五的结构示意图,该装置包括:存储器801和处理器802,存储器801用于存储指令,处理器802用于调用存储器801中存储的指令,并执行前述方法实施例。具体地,
处理器801,用于图7为本发明提供的文件系统复制装置实施例一的结构式示意图,获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图;根据所述文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图中基于语义记录的操作,获取预设时间段内所述主端文件系统中文件和/或目录进行的操作类型;根据所述预设时间段内主端文件系统中文件和/或目录进行的操作类型,结合所述主端文件系统在所述预设时间段终点的快照,确定所述主端文件系统在所述预设时间段内进行的操作;在从端按照预设规则复制执行所述主端文件系统在所述预设时间段内进行的操作。
进一步地,处理器801,具体用于在所述操作类型包括下述一项或任意组合:创建、删除、修改文件名、修改目录名时,比较所述预设时间段终点的快照和所述预设时间段起点的快照,获取所述主端文件系统在所述预设时间段终点和起点的差异;根据所述预设时间段内主端文件系统中文件和/或目录进行的操作类型,以及所述主端文件系统在所述预设时间段终点和起点的差异,反演出所述主端文件系统在所述预设时间段的操作。
处理器801,还用于在获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图之前,在将所述主端的文件系统中的操作和从端的文件系统的操作均划分为元数据操作和数据操作。
另一实施例中,处理器801,在从端分别复制执行所述主端文件系统在所述预设时间段内进行的元数据操作和数据操作。
更具体地,处理器801,在从端复制执行所述主端文件系统在所述预设时间段内进行的第一类元数据操作,所述第一类元数据操作包括:创建目录、修改目录名;在从端复制执行所述主端文件系统在所述预设时间段内进行的第二类元数据操作,所述第二类元数据操作包括:创建文件、创建软链接、创建硬链接以及删除文件;在从端复制执行所述主端文件系统在所述预设时间段内进行的数据操作;在从端复制执行所述主端文件系统在所述预设时间段内进行的第三类元数据操作,所述第三类元数据操作包括:删除目录。
处理器801,还用于在从端按照预设规则复制执行所述主端文件系统在所述预设时间段内进行的操作的过程中,配置所述从端文件的文件名与至少两个文件标识相对应。
处理器801,还用于在所述主端文件系统中第一文件的元数据发生变化时,为所述第一文件建立所述第一文件对应的元数据位图。
处理器801,还用于在所述主端文件系统中第一文件的数据发生变化时,为所述第一文件建立所述第一文件对应的数据位图。
处理器801,还用于在所述主端文件系统中第一目录的元数据发生变化时,为所述第一目录建立所述第一目录对应的元数据位图。
上述装置用于执行前述方法实施例,其技术效果和实现原理类似,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (18)

1.一种文件系统复制方法,其特征在于,包括:
获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图;
根据所述文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图中基于语义记录的操作,获取预设时间段内所述主端文件系统中文件和/或目录进行的操作类型;
根据所述预设时间段内主端文件系统中文件和/或目录进行的操作类型,结合所述主端文件系统在所述预设时间段终点的快照,确定所述主端文件系统在所述预设时间段内进行的操作;
在从端按照预设规则复制执行所述主端文件系统在所述预设时间段内进行的操作。
2.根据权利要求1所述的方法,其特征在于,若所述操作类型包括下述一项或任意组合:创建、删除、修改文件名、修改目录名,则所述根据所述预设时间段内主端文件系统中文件和/或目录进行的操作类型,结合所述预设时间段终点的快照,确定所述主端文件系统所述预设时间段内进行的操作,包括:
比较所述预设时间段终点的快照和所述预设时间段起点的快照,获取所述主端文件系统在所述预设时间段终点和起点的差异;
根据所述预设时间段内主端文件系统中文件和/或目录进行的操作类型,以及所述主端文件系统在所述预设时间段终点和起点的差异,反演出所述主端文件系统在所述预设时间段的操作。
3.根据权利要求2所述的方法,其特征在于,所述获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图之前,还包括:
将所述主端的文件系统中的操作和从端的文件系统的操作均划分为元数据操作和数据操作。
4.根据权利要求3所述的方法,其特征在于,所述在从端按照预设规则复制执行所述主端文件系统在所述预设时间段内进行的操作,包括:
在从端分别复制执行所述主端文件系统在所述预设时间段内进行的元数据操作和数据操作。
5.根据权利要求4所述的方法,其特征在于,所述在从端分别复制执行所述主端文件系统在所述预设时间段内进行的元数据操作和数据操作,包括:
在从端复制执行所述主端文件系统在所述预设时间段内进行的第一类元数据操作,所述第一类元数据操作包括:创建目录、修改目录名;
在从端复制执行所述主端文件系统在所述预设时间段内进行的第二类元数据操作,所述第二类元数据操作包括:创建文件、创建软链接、创建硬链接以及删除文件;
在从端复制执行所述主端文件系统在所述预设时间段内进行的数据操作;
在从端复制执行所述主端文件系统在所述预设时间段内进行的第三类元数据操作,所述第三类元数据操作包括:删除目录。
6.根据权利要求1-5任一项所述的方法,其特征在于,还包括:
在从端按照预设规则复制执行所述主端文件系统在所述预设时间段内进行的操作的过程中,配置从端文件的文件名与至少两个文件标识相对应。
7.根据权利要求1-5任一项所述的方法,其特征在于,获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图之前,还包括:
在所述主端文件系统中第一文件的元数据发生变化时,为所述第一文件建立所述第一文件对应的元数据位图。
8.根据权利要求1-5任一项所述的方法,其特征在于,获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图之前,还包括:
在所述主端文件系统中第一文件的数据发生变化时,为所述第一文件建立所述第一文件对应的数据位图。
9.根据权利要求1-5任一项所述的方法,其特征在于,获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图之前,还包括:
在所述主端文件系统中第一目录的元数据发生变化时,为所述第一目录建立所述第一目录对应的元数据位图。
10.一种文件系统复制装置,其特征在于,包括:
获取模块,用于获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图;根据所述文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图中基于语义记录的操作,获取预设时间段内所述主端文件系统中文件和/或目录进行的操作类型;
确定模块,用于根据所述预设时间段内主端文件系统中文件和/或目录进行的操作类型,结合所述主端文件系统在所述预设时间段终点的快照,确定所述主端文件系统在所述预设时间段内进行的操作;
复制模块,用于在从端按照预设规则复制执行所述主端文件系统在所述预设时间段内进行的操作。
11.根据权利要求10所述的装置,其特征在于,所述确定模块,具体用于在所述操作类型包括下述一项或任意组合:创建、删除、修改文件名、修改目录名时,比较所述预设时间段终点的快照和所述预设时间段起点的快照,获取所述主端文件系统在所述预设时间段终点和起点的差异;根据所述预设时间段内主端文件系统中文件和/或目录进行的操作类型,以及所述主端文件系统在所述预设时间段终点和起点的差异,反演出所述主端文件系统在所述预设时间段的操作。
12.根据权利要求11所述的装置,其特征在于,还包括:
划分模块,用于在获取主端文件系统中文件对应的元数据位图、文件对应的数据位图以及目录对应的元数据位图之前,将所述主端的文件系统中的操作和从端的文件系统的操作均划分为元数据操作和数据操作。
13.根据权利要求12所述的装置,其特征在于,所述复制模块,具体用于在从端分别复制执行所述主端文件系统在所述预设时间段内进行的元数据操作和数据操作。
14.根据权利要求13所述的装置,其特征在于,所述复制模块,具体用于在从端复制执行所述主端文件系统在所述预设时间段内进行的第一类元数据操作,所述第一类元数据操作包括:创建目录、修改目录名;在从端复制执行所述主端文件系统在所述预设时间段内进行的第二类元数据操作,所述第二类元数据操作包括:创建文件、创建软链接、创建硬链接以及删除文件;在从端复制执行所述主端文件系统在所述预设时间段内进行的数据操作;在从端复制执行所述主端文件系统在所述预设时间段内进行的第三类元数据操作,所述第三类元数据操作包括:删除目录。
15.根据权利要求10-14任一项所述的装置,其特征在于,还包括:
配置模块,用于在从端按照预设规则复制执行所述主端文件系统在所述预设时间段内进行的操作的过程中,配置从端文件的文件名与至少两个文件标识相对应。
16.根据权利要求10-14任一项所述的装置,其特征在于,还包括:
第一建立模块,用于在所述主端文件系统中第一文件的元数据发生变化时,为所述第一文件建立所述第一文件对应的元数据位图。
17.根据权利要求10-14任一项所述的装置,其特征在于,还包括:
第二建立模块,用于在所述主端文件系统中第一文件的数据发生变化时,为所述第一文件建立所述第一文件对应的数据位图。
18.根据权利要求10-14任一项所述的装置,其特征在于,还包括:
第三建立模块,用于在所述主端文件系统中第一目录的元数据发生变化时,为所述第一目录建立所述第一目录对应的元数据位图。
CN201410706206.6A 2014-11-27 2014-11-27 文件系统复制方法及装置 Active CN104462290B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410706206.6A CN104462290B (zh) 2014-11-27 2014-11-27 文件系统复制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410706206.6A CN104462290B (zh) 2014-11-27 2014-11-27 文件系统复制方法及装置

Publications (2)

Publication Number Publication Date
CN104462290A CN104462290A (zh) 2015-03-25
CN104462290B true CN104462290B (zh) 2017-10-10

Family

ID=52908326

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410706206.6A Active CN104462290B (zh) 2014-11-27 2014-11-27 文件系统复制方法及装置

Country Status (1)

Country Link
CN (1) CN104462290B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108021562B (zh) * 2016-10-31 2022-11-18 中兴通讯股份有限公司 应用于分布式文件系统的存盘方法、装置及分布式文件系统
CN106776120A (zh) * 2016-11-24 2017-05-31 珠海市魅族科技有限公司 数据恢复的方法及装置
CN108228226B (zh) * 2017-12-29 2021-07-13 北京元心科技有限公司 硬链接的差分方法、装置及相应终端
CN114519034A (zh) * 2020-11-20 2022-05-20 华为技术有限公司 文件操作方法及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1704903A (zh) * 2004-06-03 2005-12-07 华为技术有限公司 一种快照备份的方法
CN103473277A (zh) * 2013-08-27 2013-12-25 华为技术有限公司 文件系统的快照方法和装置
CN103814360A (zh) * 2013-12-12 2014-05-21 华为技术有限公司 数据复制方法及存储系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2754027B1 (en) * 2011-09-14 2017-08-23 Hitachi, Ltd. Method for creating clone file, and file system adopting the same
US9269788B2 (en) * 2012-02-23 2016-02-23 Sensor Electronic Technology, Inc. Ohmic contact to semiconductor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1704903A (zh) * 2004-06-03 2005-12-07 华为技术有限公司 一种快照备份的方法
CN103473277A (zh) * 2013-08-27 2013-12-25 华为技术有限公司 文件系统的快照方法和装置
CN103814360A (zh) * 2013-12-12 2014-05-21 华为技术有限公司 数据复制方法及存储系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
An Incremental File System Consistency Checker for Block-Level CDP Systems;Maohua Lu等;《27th IEEE Symposium on Reliable Distributed Systems》;20081008;第157-162页 *
iROW: An Efficient Live Snapshot System for Virtual Machine Disk;Jianxin Li等;《international conference on parallel and distributed systems》;20121219;第376-383页 *
位图模式的容灾备份系统开发与应用;付飞;《中国优秀硕士学位论文全文数据库信息科技辑》;20110415(第04期);第I138-45页 *
基于快照的虚拟磁盘镜像检查点系统;何艳丽;《中国优秀硕士学位论文全文数据库信息科技辑》;20140615(第06期);第I137-114页 *

Also Published As

Publication number Publication date
CN104462290A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
CN103473277B (zh) 文件系统的快照方法和装置
CN104462290B (zh) 文件系统复制方法及装置
CN102360410B (zh) 一种文件系统的用户操作发现方法和装置
CN104699423B (zh) Linux系统中绑定盘符的方法和装置
CN103116615B (zh) 一种基于版本矢量的数据索引方法及服务器
US10055149B2 (en) Intelligent snapshot tree replication
CN103645970B (zh) 一种远程复制多快照间增量去重的实现方法及装置
CN104239443B (zh) 一种序列化数据操作日志的存储方法
US10684920B2 (en) Optimized and consistent replication of file overwrites
WO2021218300A1 (zh) 区块链数据裁剪方法、节点恢复方法、装置、设备及介质
CN107391669A (zh) 一种基于文件系统的多版本文件管理方法及装置
CN106104463A (zh) 用于存储设备的故障安全操作的系统和方法
CN107818512A (zh) 产生保单批文的方法、装置、设备及计算机可读存储介质
CN104834749A (zh) 一种移动终端与pc端的文件同步方法及同步系统
US20160092131A1 (en) Storage system, storage system control method, and recording medium storing virtual tape device control program
CN109492049A (zh) 用于区块链网络的数据处理、区块生成及同步方法
CN103106271A (zh) 一种基于海量数据的数据库备份及恢复方法和系统
CN103842954A (zh) 一种存储系统中的数据处理方法、装置和系统
CN105302488A (zh) 一种存储系统的数据写入方法及系统
CN104077053B (zh) 终端信息的操作方法、装置及移动终端
EP2372552B1 (en) Automated relocation of in-use multi-site protected data storage
CN109445989A (zh) 一种文件系统数据备份方法及装置
CN103841178A (zh) 网络附连存储环境的带内管理的方法和系统
CN111176901B (zh) 一种hdfs删除文件恢复方法、终端设备及存储介质
WO2017067397A1 (zh) 一种数据恢复方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220831

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.