Nothing Special   »   [go: up one dir, main page]

CN111078464B - 一种备份数据的方法、装置和系统 - Google Patents

一种备份数据的方法、装置和系统 Download PDF

Info

Publication number
CN111078464B
CN111078464B CN201811433033.XA CN201811433033A CN111078464B CN 111078464 B CN111078464 B CN 111078464B CN 201811433033 A CN201811433033 A CN 201811433033A CN 111078464 B CN111078464 B CN 111078464B
Authority
CN
China
Prior art keywords
data
snapshot
backup
file
block
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
CN201811433033.XA
Other languages
English (en)
Other versions
CN111078464A (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.)
Huawei Technologies 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 EP19874958.2A priority Critical patent/EP3862883B1/en
Priority to PCT/CN2019/090090 priority patent/WO2020082744A1/zh
Publication of CN111078464A publication Critical patent/CN111078464A/zh
Priority to US17/235,557 priority patent/US11907078B2/en
Application granted granted Critical
Publication of CN111078464B publication Critical patent/CN111078464B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提出了一种备份数据方法、装置和系统,在增量备份的时候,只是把发生变化的数据块进行备份。其中,一种由备份服务器执行的备份数据的方法,包括如下步骤:备份数据被触发后,向文件服务器发送变化信息获取请求,所述变化信息获取请求用于请求所述文件服务器上的数据的变化信息;接收文件服务器返回的两次快照时间的数据更改记录,所述数据更改记录包括所述发生了更改的数据块的标识信息;根据所述数据更改记录获取所述数据块的标识信息所标识的数据块的数据;将获得的数据进行备份,并且建立本次备份的数据映射关系。当需要获取某次备份的数据时,可以依据该数据映射关系在该备份存储设备中找到相应的数据块的数据。

Description

一种备份数据的方法、装置和系统
技术领域
本申请涉及存储技术领域,尤其涉及到一种备份数据的方法、装置和系统。
背景技术
网络连接存储(Network Attached Storage,NAS)存储系统中,通过将文件服务器连接到现有的网络上,提供文件服务。目前而言,文件服务器是专用于文件服务的设备。文件服务器可以用于存储、检索以及为应用程序和客户端提供文件存取功能等。为了保证数据的可靠性,通常会将文件服务器上的数据进行备份。如果用作备份的存储设备不是由上述文件服务器的生产商提供的,那么在做备份时,通常采用如下的方案:
首次备份时,获取文件服务器共享目录下所有文件的数据,将获取的所有数据存储到备份存储设备。当文件中有数据发生变化时,获取相对上次备份发生变化的文件的列表,然后将发生变化的文件备份到备份存储设备中,也就是说第二备份及之后,用的均是增量备份。随着备份次数的增加,备份数据会越来越多,占用的存储空间也越来越多,导致存储的性能降低。
发明内容
本申请提出了一种备份数据的方法、设备以及系统。用于减少备份存储的不必要的重复数据。
第一方面,本申请实施例提供一种备份数据的方法,所述方法由备份服务器执行。该方法包括:备份数据被触发后,向文件服务器发送变化信息获取请求,所述变化信息获取请求用于请求所述文件服务器上的数据的变化信息;接收文件服务器返回的第二快照与第一快照之间的数据更改记录,所述第一快照在所述第二快照之前创建,所述数据更改记录用于记录所述第二快照和所述第一快照之间发生了更改的数据块的信息,所述数据更改记录包括所述发生了更改的数据块的标识信息;根据所述数据更改记录从所述文件服务器获取所述数据块的标识信息所标识的数据块的数据;将所述获取的数据存储至备份存储设备中,并建立本次备份的数据映射关系,其中,所述数据映射关系包括所述第二快照中的所有数据块的标识信息,所述第二快照中所有数据块在所述备份存储设备中的存储位置以及所述第二快照的快照标识。
可选地,所述文件服务器和所述备份存储设备为异构设备。所述数据映射关系可以存储在所述备份存储设备中。所述数据块的标识信息包括:数据块标识和所述数据块所属的文件的文件标识。
该方法中,获得的数据更改记录是针对数据块的,因此在增量备份中,根据数据更改记录获得第二快照和第一快照之间发生变化的数据块,并将这些数据块进行备份存储。而不是像现有技术那样,一个文件中只要有数据改动,就将整个文件进行备份。相比而言,本发明实施例的方案中,减少了增量备份时的重复数据,提高了备份存储的性能。
结合第一方面,在第一方面的一种可能的实现中,所述数据更改记录还包括相应的操作标识,所述建立数据映射关系包括:在所述备份存储设备中复制上次备份的数据映射关系,并根据所述数据更改记录修改所述复制的数据映射关系得到本次备份的数据映射关系。
结合第一方面,在第一方面的第二种可能的实现中,所述向文件服务器发送变化信息获取请求之前,所述方法还包括:向文件服务器发送快照请求;接收所述第一设备返回的快照创建成功响应,所述响应中包括所述第二快照的快照标识。如果备份针对的是某个共享目录,那么此处的快照请求中还可以包括该共享目录的指示信息。这样当文件服务器接收到快照请求之后,会针对该共享目录创建快照。相比于对整个文件服务器打快照,可以更有针对性。
结合第一方面的第二种可能实现,在第一方面的第三种可能实现中,所述变化信息获取请求中包含所述第二快照的快照标识与第一快照的快照标识。所述第一快照和第二快照的标识,用于指示文件服务器需要获取的是哪两个快照之间的数据变化信息。在本申请的实施例中,上述的第一快照和第二快照都是基于备份而发起的,两个快照之间的数据变化信息意味着两次备份之间发生的数据发生了哪些变化。
本申请的第二方面提供了文件服务器执行的备份数据的方法。该方法包括:接收备份服务器发送的变化信息获取请求,所述变化信息获取请求用于请求所述文件服务器上的数据的变化信息;确定所述文件服务器上的数据的变化信息,并向所述备份服务器返回第二快照与第一快照之间的数据更改记录,所述第一快照在所述第二快照之前创建,所述数据更改记录用于记录所述第二快照与所述第一快照之间发生了更改的数据块的信息,所述数据更改记录包括所述发生了更改的数据块的标识信息;接收所述备份服务器发送的数据获取请求,所述数据获取请求中包括待获取的数据块的标识信息;向所述备份服务器返回所述数据块的标识信息所标识的数据块的数据。
可选地,所述变化信息获取请求中包含所述第二快照的快照标识与所述第一快照的快照标识。所述数据块的标识信息包括:数据块标识和所述数据块所属的文件的文件标识。
由于文件服务器能够提供数据块级别的数据更改记录,并且在备份服务器请求的基础上向所述的备份服务器返回两次快照(也就是两次备份)之间发生了更改的数据块的数据,使得备份服务器能够实现数据块级别的增量备份。从而避免重复备份一些文件中的数据。
结合第二方面的第一种可能实现,所述方法还包括:跟踪客户端在所述文件服务器上的数据操作;记录相邻两次快照之间的数据更改记录,所述相邻两次快照之间的数据更改记录包括所述相邻两次快照之间发生变化的数据块的标识信息。
由于跟踪了客户端每次在文件服务器上的数据操作,并在相邻两次快照之间及时将数据更改记录进行保存。使得文件服务器能够提供准确的数据块级别的数据更改记录。
结合第二方面的第一种可能实现,在第二方面的第二种可能实现中,当所述第二快照与所述第一快照不是相邻快照时,所述方法还包括:将所述第二快照与所述第一快照之间的每两个相邻快照的数据更改记录进行合并获得所述第二快照与所述第一快照之间的数据更改记录。
可选地,所述合并获得数据更改记录的方法包括:
所述第一快照之前产生的数据,在所述第一快照和所述第二快照之间删除的数据块,标记为删除;
所述第一快照之前产生的数据,在所述第一快照和所述第二快照之间修改的数据块,标记为修改;
所述第一快照之后产生的数据,在所述第二快照之前删除的,不记录;
所述第一快照之后产生的数据,在所述第二快照之前未删除的,标记为新增;
所述第一快照之后修改的数据,在所述第二快照之前未删除的,标记为修改。
本申请的第三方面,提供了一种备份服务器。所述备份服务器包括块变化列表读取器、块数据读取器以及块地图组织器,其中,块变化列表读取器,用于在备份数据被触发后,向文件服务器发送变化信息获取请求,所述变化信息获取请求用于请求所述文件服务器上的数据的变化信息,接收所述文件服务器返回的第二快照与第一快照之间的数据更改记录,所述数据更改记录用于记录所述第二快照和所述第一快照之间发生了更改的数据块的信息,所述第一快照在所述第二快照之前创建,所述数据更改记录包括所述发生了个更改的数据块的标识信息;所述块数据读取器,用于根据所述数据更改记录从所述文件服务器获取所述数据块的标识信息所标识的数据块的数据;所述块地图组织器,用于将所述获取的数据存储至备份存储设备中,并创建本次备份的数据映射关系,其中,所述数据映射关系包括所述第二快照中的所有数据块的标识信息,所述第二快照中所有数据块在备份存储设备中的存储位置以及所述第二快照的快照标识。
结合第三方面的第一种可能实现中,所述数据更改记录还包括相应的操作标识,所述块地图组织器建立数据映射关系包括:所述块地图组织器在所述备份存储设备中复制上次备份的数据映射关系,并根据所述数据更改记录修改所述复制的数据映射关系得到本次备份的数据映射关系。
结合第三方面的第二种可能实现中,所述备份服务器还包括快照触发器,其中,所述快照触发器用于向文件服务器发送快照请求;接收所述第一设备返回的快照创建成功响应,所述响应中包括所述第二快照的快照标识。
本申请第四方面提供一种文件服务器,所述文件服务器用于提供文件服务。所述文件服务器包括文件输入输出跟踪器、块变化列表提供器和块数据提供器,其中,所述块变化列表提供器,用于接收备份服务器发送的变化信息获取请求,并将所述变化信息获取请求发送给所述文件输入输出跟踪器,所述变化信息获取请求用于请求所述文件服务器上的数据的变化信息;所述文件输入输出跟踪器,用于根据所述变化信息获取请求确定所述文件服务器上的数据的变化信息,并向所述备份服务器返回第二快照与第一快照之间的数据更改记录,所述数据更改记录用于记录所述第二快照与所述第一快照之间发生了更改的数据块的信息,所述数据更改记录包括所述发生了更改的数据块的标识信息;所述块数据提供器,用于接收所述备份服务器发送的数据获取请求,并根据所述数据获取请求向所述备份服务器返回相应的数据块的数据,所述数据获取请求中包括待获取的数据块的标识信息。
结合第四方面的一种可能实现中,所述文件服务器还包括快照创建器和存储单元,其中,所述快照创建器,用于接收创建所述第二快照的快照创建请求,根据所述快照创建请求创建第二快照,并且通知所述文件输入输出跟踪器将所述第二快照与所述第一快照之间的数据更改记录存储到存储单元中,所述第一快照为所述第二快照的前一次快照;所述文件输入输出跟踪器,还用于跟踪客户端在所述文件服务器上的数据操作,接收所述快照创建器发送的通知后,根据所述数据操作在所述存储单元中存储所述第二快照与所述第一快照之间的数据更改记录。
本申请的第五方面提供了用以实现上述第一方面和第二方面的服务器,该服务器包括网络接口、处理器和存储器,所述的网络接口、处理器和存储器之间通过总线相连。其中,所述网络接口用于接入网络,所述存储器,用于存放计算机操作指令。具体可以是高速RAM存储器,也可以是非易失性存储器(non-volatile memory)。所述处理器,用于执行存储器中存放的计算机操作指令。处理器具体可以是中央处理器(central processing unit,CPU),或者是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。其中,处理器通过执行该存储器中存储的计算机操作指令以执行所述第一方面或第二方面的方法。
本申请的第六方面,提供了一种备份系统。其中,所述系统包括上述的备份服务器和上述的文件服务器。
可选地,该备份系统中还还包括备份存储设备,所述备份存储设备用于存储所述备份服务器发送的数据。
本申请的第七方面提供了一种存储介质,用以存储上述第五方面提到的计算机操作指令。当这些操作指令被计算机执行时,可以执行上述第一方面或第二方面的方法。
附图说明
图1是本发明实施例提供的备份系统的组网示意图;
图2-1是本发明实施例提供的文件服务器的一种结构示意图;
图2-2是本发明实施例提供的文件服务器的另一种结构示意图;
图2-3是本发明实施例提供的备份服务器的一种结构示意图;
图2-4是本发明实施例提供的备份服务器的另一种结构示意图;
图3是本发明实施例提供的方法流程示意图;
图3-1是本发明实施例在一次备份时共享目录下的数据示意图;
图3-2是本发明实施例在另一次备份时共享目录下的数据示意图;
图3-3是本发明实施例中的数据映射关系示意图。
具体实施方式
本发明实施例提出了一种备份数据方法、装置和系统,在处理数据操作的时候可以跟踪数据块的变化信息,在增量备份的时候,只是把发生变化的数据块进行备份。因此,解决现有技术中备份大量重复数据导致效率低,备份存储浪费多的问题。需要说明的是,为便于描述,将Unix NFS协议中所指的数据块,以及指windows CIFS协议中所指的簇,统一称为数据块。
图1描绘了本发明实施例提供的一种备份系统的组网示意图,该备份系统中包括文件服务器200,备份服务器300和备份存储设备400,这些设备通过网络相互通信,同时也通过该网络与客户端100之间通信。其中,文件服务器200和备份存储设备400可以是异构的,比如,文件服务器200是网络连接存储(network-attached storage,NAS)设备,而备份存储设备400则是与所述NAS设备异构的备份存储设备。其中,与所述文件服务器200异构,可以是因为生产厂商不同,也可以是因为型号不同。
参考图2-1,所述文件服务器200中包括网络接口2100、处理器2102、存储器2104、存储接口2106和存储阵列2108。所述的网络接口2100,处理器2102、存储器2104以及存储接口2106之间通过总线连接,所述存储接口与所述存储阵列之间通信相连。其中,网络接口2102可以由一个或多个网络接口卡(Network Interface Card)来提供,用于接入网络。存储接口2108用于连接存储阵列2108。所述存储阵列2108,用于存储数据。所述存储阵列2108也可以由别的存储设备来代替。存储器2104中存储着一些程序指令,当这些指令被处理器2102执行时,用于实现所述文件服务器的下述功能。
所述文件服务器200用于接收备份服务器300发送的变化信息获取请求,所述变化信息获取请求用于请求所述文件服务器200上的数据的变化信息;确定所述文件服务器200上的数据的变化信息,并向所述备份服务器返回第二快照与第一快照之间的数据更改记录,所述第一快照在所述第二快照之前创建,所述数据更改记录用于记录所述第二快照与所述第一快照之间发生了更改的数据块的信息,所述数据更改记录包括所述发生了个更改的数据块的标识信息;接收所述备份服务器300发送的数据获取请求,所述数据获取请求中包括待获取的数据块的标识信息;向所述备份服务器300返回所述数据块的标识信息所标识的数据块的数据。
可以理解的是,存储器2104中存储的程序指令可以在逻辑上划分为多个子集合,当一个子集合被处理器2102执行的时候,可以用于实现文件服务器200包括的一个组件功能。参考图2-2,在一个具体的实现中,文件服务器200包括文件输入输出跟踪器2101(FileIOTracker)、块变化列表提供器2103(BlockChgListProvider)、块数据提供器2105(BlockDataProvider)。其中,
所述块变化列表提供器2103,用于接收备份服务器发送的变化信息获取请求,并将所述变化信息获取请求发送给所述文件输入输出跟踪器,所述变化信息获取请求用于请求所述文件服务器上的数据的变化信息。
所述文件输入输出跟踪器2101,用于根据所述变化信息获取请求确定所述文件服务器上的数据的变化信息,并向所述备份服务器返回第二快照与第一快照之间的数据更改记录,所述数据更改记录用于记录所述第二快照与所述第一快照之间发生了更改的数据块的信息,所述数据更改记录包括所述发生了更改的数据块的标识信息。
所述块数据提供器2105,用于接收所述备份服务器发送的数据获取请求,并根据所述数据获取请求向所述备份服务器返回相应的数据块的数据,所述数据获取请求中包括待获取的数据块的标识信息。
可选地,该文件服务器200中还包括快照创建器2107和存储单元2109,其中,
所述快照创建器2107,用于接收创建所述第二快照的快照创建请求,根据所述快照创建请求创建第二快照,并且通知所述文件输入输出跟踪器将所述第二快照与所述第一快照之间的数据更改记录存储到存储单元2109中,所述第一快照为所述第二快照的前一次快照。所述快照创建器2107,还会向快照创建器返回快照创建成功响应,该响应中包括快照标识。具体实现中,该响应消息中还可以包括快照路径,快照路径用于指示快照在NAS文件系统中所在的位置。
所述文件输入输出跟踪器2101,还用于跟踪客户端在所述文件服务器200上的数据操作,接收所述快照创建器发送的通知后,根据所述数据操作在所述存储单元2109中存储所述第二快照与所述第一快照之间的数据更改记录。
可以理解的是,所述块数据提供器2105所提供的数据块存储在所述的存储单元2109中。这里的存储单元2109可以上面提到过的存储阵列2108。
在一个具体的实现中,当所述文件服务器200为客户端设置共享目录时,客户端可以通过网络在所述共享目录下创建文件,也可以访问该共享目录下的文件,对其中的数据执行读、写、删除或者修改操作。如果备份的是该共享目录下的数据,那么上述快照请求中包括用于指示快照对象的指示信息,也就是该共享目录的指示信息,所述快照创建器2107接收到快照请求之后,为该共享目录创建快照。
所述文件输入输出跟踪器2101,可以跟踪每次由客户端100发送的对指定的共享目录的文件输入输出请求,如果在该共享目录下新增了数据块、删除了数据块、修改了数据块,记录发生变化的数据块的标识,该发生变化的数据块所属的文件的文件标识,以及相应的操作标识。并在所述快照创建器2107创建快照时,将在本次快照与前一次快照之间该共享目录下所有的更改记录作为数据更改记录存储至存储单元中。其中,本次快照与前一次快照是相邻的两次快照。所述数据更改记录包括文件标识、数据块标识、操作标识(增、删除、修改)。可以理解的是,由于在首次数据备份的过程中,创建快照时,没有可比较的前一次快照。因此,可以有如下两个可选方案。方案一,假设前一次快照为快照0进行比较,得出数据更改记录。方案二,在首次备份时不记录数据更改记录,而只是记录快照。可以理解的是,这两种方式都是针对同样的一些数据块进行记录。
块变化列表提供器2103向备份服务器300提供的变化信息通常是指当前快照与之前某次快照之间的数据更改记录。其中,当前快照跟本次备份对应,也就是指上述的第二快照,而之前某次快照则是指所述第一快照,跟之前某次备份对应。不难理解,所述第二快照和所述第一快照可以相邻的两次快照,也可以不相邻的两次快照。由于首次数据备份的过程中,创建快照时,没有可比较的之前一次快照。那么,相应于前面文件输入输出跟踪器的两种不同处理方案,块变化列表提供器2103也可以有两种不同的处理方法。方法一,块变化列表提供器2103根据所述文件输入输出跟踪器2101返回的数据更改记录,将该数据更改记录作为变化信息提供给备份服务器。方法二,块变化列表提供器2103将所述文件输入输出跟踪器2101返回的变化信息返回给备份服务器。方法二中的变化信息是指所述文件输入输出跟踪器2101根据变化信息获取请求中携带的快照标识,确定在创建快照1时该共享目录下的文件的信息及所述文件中包含的数据块的信息。也就是说,在方法二中,块变化列表提供器2103将确定出的文件的信息以及文件中包含的数据块的信息作为变化信息返回给备份服务器300。
参考图2-3,所述备份服务器300中包括网络接口3102、处理器3104、存储器3106,其中,所述的网络接口3102,处理器3104以及存储器3106之间通过总线连接,所述网络接口3102可以由一个或多个网络接口卡(Network Interface Card)来提供,用于接入网络。存储器3106中存储着一些程序指令,当这些指令被处理器3104执行时,用于实现下述备份服务器300的功能。
所述备份服务器300,用于在备份数据被触发后,向文件服务器200发送变化信息获取请求,所述变化信息获取请求用于请求所述文件服务器200上的数据的变化信息;接收文件服务器200返回的第二快照与第一快照之间的数据更改记录,所述第一快照在所述第二快照之前创建,所述数据更改记录用于记录两次快照之间发生了更改的数据块的相关信息,所述数据更改记录包括所述发生了更改的数据块的标识信息;根据所述数据更改记录从所述文件服务器200获取所述数据块的标识信息所标识的数据块的数据并存储到备份存储设备400中;建立本次备份的数据映射关系,其中,所述数据映射关系包括所述第二快照中的所有数据块的标识信息,所述数据块在备份存储设备中的存储位置以及所述第二快照的快照标识。
可以理解的是,存储器3106中存储的程序指令可以在逻辑上划分为多个子集合,当每个子集合被处理器执行的时候,用于实现备份服务器包括的各组件的功能。参考图2-4,在一个具体的实现中,备份服务器300包括块变化列表读取器3103(BlockChgListReader)、块数据读取器3105(BlockDataReader)以及块地图组织器3107(BlockMapOrganizer)。其中,
块变化列表读取器3103,用于在备份数据被触发后,向文件服务器200发送变化信息获取请求,所述变化信息获取请求用于请求所述文件服务器上的数据的变化信息,接收所述文件服务器返回的第二快照与第一快照之间的数据更改记录,所述数据更改记录用于记录所述第二快照和所述第一快照之间发生了更改的数据块的信息,所述第一快照在所述第二快照之前创建,所述数据更改记录包括所述发生了更改的数据块的标识信息。在一种具体的实现中,所述请求中携带本次备份创建的快照的快照标识以及之前某次备份时创建的快照的快照标识。其中,所述本次备份创建的快照为所述第二快照,所述之前某次备份时创建的快照是所述第一快照。如果是首次备份,并没有之前某次备份的信息,那么在该变化信息获取请求中,只携带本次备份创建的快照的快照标识。如果非首次备份,那么在变化信息获取请求中携带所述第二快照的快照标识以及所述第一快照的快照标识。可以理解的是,所述第二快照和所述第一块快照可以不是相邻的快照。
所述块数据读取器3105,用于根据所述数据更改记录从所述文件服务器200获取所述数据块的标识信息所标识的数据块的数据。可选地,所述数据块的标识信息可以包括数据块的标识和数据块所属的文件的文件标识。
所述块地图组织器3107,用于将所述获取的数据存储至备份存储设备中,并创建本次备份的数据映射关系,其中,所述数据映射关系包括所述第二快照中的所有数据块的标识信息,所述第二快照中所有数据块在备份存储设备中的存储位置以及所述第二快照的快照标识。
可选地,所述数据更改记录还包括相应的操作标识,所述块地图组织器建立数据映射关系包括:所述块地图组织器在所述备份存储设备中复制上次备份的数据映射关系,并根据所述数据更改记录修改所述复制的数据映射关系得到本次备份的数据映射关系。
可选地,所述备份服务器还包括快照触发器3101,所述快照触发器用于向文件服务器发送快照请求;接收所述第一设备返回的快照创建成功响应,所述响应中包括所述第二快照的快照标识。所述快照触发器接收到所述第二快照标识,转发给所述块变化列表读取器,所述块变化列表读取器可以保存接收到的快照标识,这样,当需要获得所述数据更改记录时,有据可循。如何存储快照标识,可以有多种实现,本发明实施例不作限制。可以理解的是,在具体的实现中,快照触发器用于在预设条件满足时,向快照创建器发送快照请求。如果快照是针对某个共享目录进行备份,那么所述快照请求中包含该共享目录的指示信息。
备份存储设备包括用于存储数据的数据区,以及用于存储本次备份的数据映射关系的区域。备份存储设备是指上述与文件服务器异构的设备,可以是非同一家厂商生产的文件服务器,也可以不同类型的存储设备,比如,存储区域网络(storage area network,SAN)设备。
本发明实施例的备份系统中,在客户端每次操作文件服务器或者文件服务器中的某个共享目录时,跟踪所述文件服务器或者该共享目录下数据块的变化信息。在增量备份的时候,只是把发生变化的数据块提供给备份服务器,由备份服务器进行备份。通过这种方式,避免了重复存储文件中那些没有发生更改的数据块的数据,从而提高了备份存储设备的性能。也解决了现有技术中备份存储浪费多的问题。
参考图3,本发明实施例还提供了一种备份数据的方法,该方法应用在上述的备份系统中。如果需要备份的是文件服务器上共享给客户端的某个共享目录,客户端访问该共享目录下的文件,也可以在该目录中创建文件、对已有文件的读写或者删除。假设该文件服务器共享目录为“//IP/MyShare/”,下面以备份文件服务器共享目录“//IP/MyShare/”下的数据为例来阐述本发明实施例的实现过程。
302,文件服务器接收到客户端发送的写输入输出(Input/Output,I/O)请求,根据该写I/O确定将数据写入到上述共享目录//IP/MyShare/下。
参考图3-1,当经过一段时间的I/O操作,该共享目录下包括文件1和文件2。其中,文件1中包括数据块1和数据块2,数据块1中写的数据为ABC,数据块2中写的数据为DEF。文件2包括数据块1,数据块1中写的数据为XYZ。
具体地,文件服务器中的FileIOTracker记录客户端每次发送的对该共享目录下的操作(读、写、删除或更改),作为数据更改记录。如表1所示,所述数据更改记录包括被操作的数据块标识、数据块所属的文件的文件标识以及相应的操作标识。
文件标识 数据块标识 操作标识
文件1 数据块1 增加
文件1 数据块2 增加
文件2 数据块1 增加
可替换地,对于首次备份之前对于该共享目录下的数据的操作,也可以不记录。
304,预设条件满足时,备份服务器向文件服务器发送快照请求,所述的快照请求中包括用于指示快照对象的指示信息。
具备地,在本步骤中,备份服务器中的SnapTrigger向文件服务器中的SnapCreator发送快照请求,所述快照请求中包括需要创建快照的共享目录的指示信息。也就是说,该快照请求中包括NASShare=“//IP/MyShare”。
上述的预设条件可以是由用户根据需要设置,比如,将预设条件设置为每天的某一时刻,当该时刻来临时,预设条件满足。如果需要备份的并不是某个特定的共享目录,那么该快照请求中也可以不带该共享目录的指示信息。在前面的实施例中也有提及过,可以是针对文件服务器整体的备份,那么可以不在快照请求中携带所述指示快照对象的指示信息。也就是说,默认快照针对的是整个文件服务器。
306,文件服务器创建好快照之后,向备份服务器返回快照创建成功响应。该响应中包括快照标识。该成功响应中还可以包括快照路径,所述快照路径用于指示快照在NAS文件系统中所在的位置。这样,当需要所述快照的内容时,可以通过快照路径可以找到该快照。
相应地,所述SnapCreator向所述SnapTrigger返回快照创建成功响应。当快照请求中包括NASShare=“//IP/MyShare”时,在快照创建成功响应消息中也可以包括快照路径(NASShareSnapshot=“//IP/MyShareSnap-1)、SnapshotID=Snap-1。
此时,Snap-1记录下的数据为图3-1所示的数据。
可选地,如上所述,文件服务器中包括Snapcreator和FileIOTracker。文件服务器创建快照的过程可以包括:当Snapcreator接收到快照请求时创建快照1,并通知FileIOTracker将内存中的数据更改记录持久化存储。由于这是首次备份,没有可比较的前一次快照。可以假设前一次快照为快照0,当FileIOTracker接收到该通知之后,将内存中记录的数据更改记录存储到文件服务器中的永久化磁盘中,比如磁盘阵列中,并标记为Snap0-1。
可替代地,也可以在首次快照时不记录数据更改记录,而只是记录快照。可以理解的是,Snap0-1跟Snap-1都是在很对同样的一些数据进行记录。
308,备份服务器向文件服务器发送变化信息获取请求。
创建好快照之后,备份服务器确定此次备份需要备份的数据范围。如果在此次备份之前,数据从未被备份过,那么将该共享目录下的所有文件进行备份,也就是通常所说的全量备份。这种情况下,由备份服务器中的BlockChgListReader向文件服务器中的BlocklistChgProvider发送变化信息获取请求,所述请求中携带本次备份创建的快照的快照标识以及上次备份时创建的快照的快照标识。由于是第一次备份,并没有上次备份的信息,所以在该变化信息获取请求中,只携带了本次备份创建的快照的快照标识Snap-1。参考上面系统实施例所言,在另外一种实现中,在该变化信息获取请求中也可以携带步骤306中所提到的数据更改记录Snap0-1。
310,文件服务器向备份服务器返回变化信息。
具体地,在本步骤中,文件服务器的BlocklistChgProvider接收到变化信息获取请求之后,将该变化信息获取请求发送给FileIOTracker。FileIOTracker根据变化信息获取请求中的快照标识确定需要返回的变化信息。由于,接收到的变化信息获取请求中只是携带了快照标识Snap-1,可见,这是第一次备份。那么该目录下所有的文件以及文件下的数据块都可以认为是新增的。FileIOtracker根据Snap-1确定在创建快照1时该共享目录下的文件的信息及所述文件中包含的数据块的信息,并将确定出的文件的信息以及文件中包含的数据块的信息作为变化信息返回给备份服务器。
如果变化信息获取请求中携带的是数据更改记录Snap0-1,由于Snap0-1跟Snap-1所针对的都是同样一些数据,最后返回的也会是在创建快照1时该共享目录下的文件的信息及所述文件中包含的数据块的信息。
在本实施例中,返回的变化信息,可以如下面表2中所示,包括文件标识以及相应的数据块标识。
文件标识 数据块标识
文件1 数据块1
文件1 数据块2
文件2 数据块1
表2
312,备份服务器根据所述变化信息获得待备份数据块中的数据,将所述待备份数据块中的数据存储到备份存储设备中,并且建立本次备份的数据映射关系。
具体地,备份服务器中的所述Blockdatareader向所述文件服务器中的BlockDataProvider发送数据读取请求,在该数据读取请求中携带变化信息所指示的数据块的标识信息,也就是上述表2中的这些数据块对应的数据块标识及文件标识。文件服务器中的所述BlockDataProvider接收到所述Blockdatareader发送的所述数据读取请求后,根据该数据读取请求中包括的文件标识和数据块标识将所述文件1的数据块1和数据块2,以及文件2的数据块1这三个数据块中的数据返回给所述Blockdatareader。所述Blockdatareader将接收到的数据发送给备份服务器中的Blockmapognr,由所述Blockmapognr将所述文件中的所有数据存储到所述备份存储设备中用于存储数据的数据区中,并在备份存储设备中创建本次备份的数据映射关系。所述数据映射关系包括本次备份的快照中的所有数据块的标识,所述数据块所属的文件的文件标识,所述数据块在备份存储中的存储位置,以及快照标识。可以理解的是,每次备份都会先创建快照,所以快照标识也可以用来标识某一次数据备份。
如图3-3所示,本次数据备份中(备份1),文件1的数据块1和数据块2中的数据,以及文件2的数据块1的数据,也就是,ABC、DEF和XYZ,被存储在数据区中。本次备份的数据映射关系,如下表3所示,包括:
文件标识 数据块标识 存储位置 快照标识
文件1 数据块1 位置1 Snap-1
文件1 数据块2 位置2 Snap-1
文件2 数据块1 位置3 Snap-1
表3
需要注意的是,不同的存储设备,存储位置的具体表现形式有所不同,比如,当备份存储是对象存储时,该存储位置可以是对象存储中某个桶(bucket)的名称以及URL地址。其中,桶跟文件夹、存储对象等类似,可以包含数据以及用于描述该数据的元数据。314,文件服务器接收到客户端发送的写I/O请求,根据该写I/O确定将数据写入到上述共享目录//IP/MyShare/下、删除上述共享目录//IP/MyShare/中的数据或者修改所述共享目录//IP/MyShare/下的数据。
第一次备份之后,文件服务器还会继续收到写I/O操作,经过一段时间,如图3-2所示,在该共享目录下的文件又发生了如下变化:文件1中:块1中的数据被修改为abc,新增块3,且块3中的数据为OPQ。文件2被删除。新增文件3,且文件3中的块1存了数据MNT。
具体地,文件服务器中的FileIOTracker记录Snap-1之后,客户端每次发送的对该共享目录下的操作(读、写、删除或更改),作为数据更改记录。如表1所示,所述数据更改记录包括被操作的数据块标识、数据块所属的文件的文件标识以及相应的操作标识。
316,备份服务器向文件服务器发送快照请求,所述的快照请求中包括用于指示快照对象的指示信息。
当执行备份操作的条件再次满足时,备份服务器会再次执行备份操作。同样地,本步骤中,备份服务器中的SnapTrigger向文件服务器中的SnapCreator发送快照请求,所述快照请求中包括需要创建快照的共享目录的路径。在本实施例中,也就是NASShare=“//IP/MyShare”。
318,文件服务器创建好快照之后,向备份服务器返回快照创建成功响应。该响应中包括快照路径以及快照ID。
相应地,当快照请求中包括NASShare=“//IP/MyShare”时,在快照创建成功响应消息中也可以包括快照路径(NASShareSnapshot=“//IP/MyShareSnap-2)、SnapshotID=Snap-2
文件服务器中的FileIOTracker在内存中存储着本次快照与上次快照之间该共享目录下的数据更改记录。该数据更改记录用于记录两次相邻的快照之间被更改过的数据相关信息,该数据更改记录包括文件标识、数据快标识以及相应的操作标识(可以包括修改、增加、删除)。本步骤中,是Snap-1和Snap-2之间的数据更改记录,如表4所示,包括:
表4
如上所述,文件服务器中包括Snapcreator和FileIOTracker。文件服务器创建快照的过程包括:
当Snapcreator接收到快照请求时创建快照2,并通知FileIOTracker将内存中的数据更改记录持久化存储。FileIOTracker接收到该通知之后,将内存中记录的数据更改记录存储到文件服务器中的持久化存储设备中,比如磁盘阵列中,并标记为Snap1-2。此时,快照2记录下的数据为图3-2所示的数据。
320,备份服务器向文件服务器发送变化信息获取请求。
创建好快照之后,备份服务器确定此次备份需要备份的数据范围。由于此次备份之前已经有备份记录,那么,此次数据备份采用增量备份,需要先判断本次备份跟上次备份之间有哪些数据发生了变化。可以理解的是,由于每次数据备份时都是先创建快照,所以本次备份跟上次备份之间的数据变化体现在Snap-2和Snap-1之间的差异数据上。
在一个具体的实现中,备份服务器中的BlockChgListReader向文件服务器中的BlocklistChgProvider发送变化信息获取请求,用于请求Snap-1和Snap-2之间的数据变化信息。
322,文件服务器将变化信息返回给备份服务器。
具体的,本步骤中,BlocklistChgProvider接收到BlockChglistReader发送的变化信息获取请求之后,向文件服务器中的FileIOTracker转发该变化信息获取请求。FileIOTracker从持久化存储设备中获得之前存储的数据更改记录Snap1-2,并返回给BlocklistChgProvider。所述BlocklistChgProvider将所述数据更改记录Snap1-2返回给备份服务器中的BlockChglistReader。
324,备份服务器根据获取到的变化信息向文件服务器发送数据读取请求,所述数据读取请求中携带需要读取的数据块的标识信息。
具体地,如果返回的变化信息为数据更改记录Snap1-2,那么备份服务器中的Blockdatareader根据所述数据更改记录Snap1-2确定需要备份的为文件1的Block-1和Block-3,以及文件3的Block-1中的数据。之后,所述Blockdatareader向所述文件服务器中的BlockDataProvider发送数据读取请求,在该数据读取请求中携带这些数据块对应的数据块标识及文件标识。
326,文件服务器根据所述数据读取请求中的数据块的标识信息,向所述备份服务器返回所述数据块的标识信息所标识的数据块中的数据。
具体地,本步骤中,文件服务器中的所述BlockDataProvider接收到所述Blockdatareader发送的所述数据读取请求后,根据该数据读取请求中包括的文件标识和数据块标识将所述文件1的Block-1和Block-3,以及文件3的Block-1三个数据块中的数据返回给所述Blockdatareader。
328,备份服务器将所获得数据存储到备份存储中,并建立本次备份的数据映射关系。
具体地,在本步骤中,备份服务器中的Blockmapognr将所获得的数据存储到所述备份存储设备中用于存储数据的数据区中,并在备份存储设备中创建本次备份的数据映射关系。所述数据映射关系包括本次备份的快照中的所有数据块的标识,所述数据块所属的文件的文件标识,所述数据块在备份存储中的存储位置,以及快照标识。
创建本次备份的数据映射关系的过程包括:将上次备份的数据映射关系复制到所述备份存储设备中,并根据所述数据更改记录修改所述复制的上次备份的数据映射关系,修改后的数据映射关系就是本次备份的数据映射关系。
如图3-3所示,本次数据备份中,文件1的数据块1和数据块3中的数据,以及文件3的数据块1的数据,也就是,abc、OPQ和MNT,被存储在数据区中。本次备份的数据映射关系,如下表5所示,包括:
文件标识 数据块标识 存储位置 快照标识
文件1 数据块1 位置4 Snap-2
文件1 数据块2 位置2 Snap-2
文件1 数据块3 位置5 Snap-2
文件3 数据块1 位置6 Snap-2
表5
可以理解的是,由于在不同文件内的数据块标识可以是一样的,因此,应当结合数据块所在的文件的文件标识来唯一标识该数据块。所述数据块的标识以及数据块所在文件的文件标识概括为数据块的标识信息。数据块的标识信息,也可以有别的实现方式,本发明实施例不作限定。
参考图可以理解的是,在本实施例中,由于在本次备份与上次备份之间,文件1中的数据块1和数据块3因为数据发生了变化,因此Block-1和Block-3再次备份。而,文件1的数据块2则因为在此期间没有变化,所以在此次增量备份中,文件1中的数据块2并没有再次备份,也没有在备份服务器和文件服务器传输这个数据块。如果需要读取快照2时,文件1中的数据块2,根据上述表4,可以找到位置2,从而读出该数据块2的数据。另外,对于文件2中的数据块1,因为该数据块已经被删除,所以不会在本次备份的快照中;又由于该数据块的操作标识为删除,那么,在本次备份的数据映射关系中也不会包括该数据块的相关信息。
可以理解的是,存在着一些场景,备份的数据并非连续两次快照之间的数据。比如,如果上述实施例中第二次备份失败,那么在第三次备份时,创建快照Snapshot-3,需要备份的是Snap-1和Snapshot-3之间的差异数据。在这种情况下,备份服务器中的BlockChglistReader向文件服务器中的BlocklistChgProvider发送Snap-1和Snapshot-3之间的变化信息获取请求。
相应地,步骤322中,所述BlocklistChgProvider接收到BlockChglistReader发送的Snap-1和Snap-3之间的变化信息获取请求之后,向所述文件服务器中的所述FileIOTracker转发Snap-1和Snap-3之间的变化信息获取请求。所述FileIOTracker从持久化存储设备中获得之前存储的数据更改记录Snap1-2以及Snap2-3,并将所述Snap1-2以及Snap2-3返回给所述BlocklistChgProvider。所述BlocklistChgProvider通过叠加所述的数据更改记录Snap1-2以及Snap2-3得到数据更改记录Snap1-3。具体的叠加方法举例如下:
1),Snap-1前产生的数据块,Snap2-3间删除的,则标记为删除;
2),Snap-1前产生的数据块,Snap2-3间修改的,则标记为修改;
3),Snap-1前产生的数据块,Snap1-2之间删除的,标记为删除
4),Snap-1前产生的数据块,Snap1-2之间修改的,但是Snap2-3间没删除的,则标记为修改;
5),Snap-1后产生的数据块,Snap2-3间删除的,Snap1-3里无需记录;
6),Snap-1后产生的数据块,Snap2-3间没删除的,Snap1-3里记录为新增;
7),Snap-1后改变的数据块,在Snap2-3之间未删除,则无论Snap2-3间是否改变,Snap1-3标记为改变。
获得Snap1-3之后,BlocklistChgProvider将所述数据更改记录Snap1-3返回给BlockChglistReader,所述BlockChglistReader将所述数据更改记录发送给备份服务器中Blockdatareader。
相应地,步骤324中,如果返回的变化信息为数据更改记录Snap1-3,那么备份服务器中的Blockdatareader根据所述数据更改记录Snap1-3确定需要备份的是哪些数据块中存储的数据,在所述发送给文件服务器发送的数据读取请求中携带这些数据块对应的数据块标识。通过上述的方法,在数据备份的时候可以追溯到数据块的变化信息,因此,在增量备份的时候,只是把发生变化的数据块进行备份。这样减少了大量重复的数据被备份,因而解决了现有技术中备份存储浪费多的问题。
值得注意的是,上述实施例只是对备份服务器内部的组件作示意性划分,而不作限定。对于内部组件之间的交互,可能是有实际数据的传递,或者一些信号的传递。比如,步骤Blockdatareader接收到Blockdataprovider返回的数据之后,可以是Blockmapognr跟备份存储设备之间建立镜像,将所述Blockdatareader得到的数据镜像存储至所述备份存储设备中。
本领域普通技术人员将会理解,本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。计算机可读介质包含但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或者装置,或者前述的任意适当组合,如随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、光盘。计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作。计算机可读程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为单独的软件包、部分在用户的计算机上并且部分在远程计算机上,或者完全在远程计算机或者服务器上执行。也应该注意,在某些替代实施方案中,在流程图中各步骤、或框图中各块所注明的功能可能不按图中注明的顺序发生。例如,依赖于所涉及的功能,接连示出的两个步骤、或两个块实际上可能被大致同时执行,或者这些块有时候可能被以相反顺序执行。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,本领域普通技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (16)

1.一种备份数据的方法,所述方法由备份服务器执行,其特征在于,所述方法用于网络连接存储NAS系统中的数据备份,所述方法包括:
备份数据被触发后,向文件服务器发送变化信息获取请求,所述变化信息获取请求用于请求所述文件服务器上的数据的变化信息;
接收文件服务器返回的第二快照与第一快照之间的数据更改记录,所述第一快照在所述第二快照之前创建,所述数据更改记录用于记录所述第二快照和所述第一快照之间发生了更改的数据块的信息,所述数据更改记录包括所述发生了更改的数据块的标识信息,所述数据块的标识信息包括:数据块标识和所述数据块所属的文件的文件标识;
根据所述数据更改记录从所述文件服务器获取所述数据块的标识信息所标识的数据块的数据;
将所述获取的数据存储至备份存储设备中,并建立本次备份的数据映射关系,其中,所述数据映射关系包括所述第二快照中的所有数据块的标识信息,所述第二快照中所有数据块在所述备份存储设备中的存储位置以及所述第二快照的快照标识;
所述数据更改记录还包括相应的操作标识,建立数据映射关系包括:
在所述备份存储设备中复制上次备份的数据映射关系,并根据所述数据更改记录修改所述复制的数据映射关系得到本次备份的数据映射关系。
2.如权利要求1所述的方法,其特征在于,所述文件服务器和所述备份存储设备为异构设备。
3.如权利要求1所述的方法,其特征在于,所述向文件服务器发送变化信息获取请求之前,所述方法还包括:
向文件服务器发送快照请求;
接收第一设备返回的快照创建成功响应,所述响应中包括所述第二快照的快照标识。
4.如权利要求2所述的方法,其特征在于,所述变化信息获取请求中包含所述第二快照的快照标识与第一快照的快照标识。
5.如权利要求1所述的方法,其特征在于,所述数据映射关系存储在所述备份存储设备中。
6.一种备份数据的方法,所述方法由文件服务器执行,其特征在于,所述方法用于网络连接存储NAS系统中的数据备份,所述方法包括:
接收备份服务器发送的变化信息获取请求,所述变化信息获取请求用于请求所述文件服务器上的数据的变化信息;
确定所述文件服务器上的数据的变化信息,并向所述备份服务器返回第二快照与第一快照之间的数据更改记录,所述第一快照在所述第二快照之前创建,所述数据更改记录用于记录所述第二快照与所述第一快照之间发生了更改的数据块的信息,所述数据更改记录包括所述发生了更改的数据块的标识信息和相应的操作标识,所述数据块的标识信息包括:数据块标识和所述数据块所属的文件的文件标识;
接收所述备份服务器发送的数据获取请求,所述数据获取请求中包括待获取的数据块的标识信息;
向所述备份服务器返回所述数据块的标识信息所标识的数据块的数据;其中,所述备份服务器用于将所述返回的数据存储至备份存储设备中,在所述备份存储设备中复制上次备份的数据映射关系,并根据所述数据更改记录修改所述复制的数据映射关系得到本次备份的数据映射关系。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
跟踪客户端在所述文件服务器上的数据操作;
记录相邻两次快照之间的数据更改记录,所述相邻两次快照之间的数据更改记录包括所述相邻两次快照之间发生变化的数据块的标识信息。
8.如权利要求7所述的方法,其特征在于,当所述第二快照与所述第一快照不是相邻快照时,所述方法还包括:
将所述第二快照与所述第一快照之间的每两个相邻快照的数据更改记录进行合并获得所述第二快照与所述第一快照之间的数据更改记录。
9.如权利要求6所述的方法,其特征在于,所述变化信息获取请求中包含所述第二快照的快照标识与所述第一快照的快照标识。
10.一种备份服务器,其特征在于,所述备份服务器用于网络连接存储NAS系统中的数据备份,所述备份服务器包括块变化列表读取器、块数据读取器以及块地图组织器,其中,
块变化列表读取器,用于在备份数据被触发后,向文件服务器发送变化信息获取请求,所述变化信息获取请求用于请求所述文件服务器上的数据的变化信息,接收所述文件服务器返回的第二快照与第一快照之间的数据更改记录,所述数据更改记录用于记录所述第二快照和所述第一快照之间发生了更改的数据块的信息,所述第一快照在所述第二快照之前创建,所述数据更改记录包括所述发生了更改的数据块的标识信息,所述数据块的标识信息包括:数据块标识和所述数据块所属的文件的文件标识;
所述块数据读取器,用于根据所述数据更改记录从所述文件服务器获取所述数据块的标识信息所标识的数据块的数据;所述块地图组织器,用于将所述获取的数据存储至备份存储设备中,并创建本次备份的数据映射关系,其中,所述数据映射关系包括所述第二快照中的所有数据块的标识信息,所述第二快照中所有数据块在备份存储设备中的存储位置以及所述第二快照的快照标识;
所述数据更改记录还包括相应的操作标识,所述块地图组织器建立数据映射关系包括:
所述块地图组织器在所述备份存储设备中复制上次备份的数据映射关系,并根据所述数据更改记录修改所述复制的数据映射关系得到本次备份的数据映射关系。
11.如权利要求10所述的备份服务器,其特征在于,所述备份服务器还包括快照触发器,其中,
所述快照触发器用于向文件服务器发送快照请求;
接收第一设备返回的快照创建成功响应,所述响应中包括所述第二快照的快照标识。
12.一种文件服务器,所述文件服务器用于提供文件服务,其特征在于,所述文件服务器用于网络连接存储NAS系统中的数据备份,所述文件服务器包括文件输入输出跟踪器、块变化列表提供器和块数据提供器,其中,
所述块变化列表提供器,用于接收备份服务器发送的变化信息获取请求,并将所述变化信息获取请求发送给所述文件输入输出跟踪器,所述变化信息获取请求用于请求所述文件服务器上的数据的变化信息;
所述文件输入输出跟踪器,用于根据所述变化信息获取请求确定所述文件服务器上的数据的变化信息,并向所述备份服务器返回第二快照与第一快照之间的数据更改记录,所述数据更改记录用于记录所述第二快照与所述第一快照之间发生了更改的数据块的信息,所述数据更改记录包括所述发生了更改的数据块的标识信息和相应的操作标识,所述数据块的标识信息包括:数据块标识和所述数据块所属的文件的文件标识;
所述块数据提供器,用于接收所述备份服务器发送的数据获取请求,并根据所述数据获取请求向所述备份服务器返回相应的数据块的数据,其中,所述数据获取请求中包括待获取的数据块的标识信息;所述备份服务器用于将所述返回的数据存储至备份存储设备中,在所述备份存储设备中复制上次备份的数据映射关系,并根据所述数据更改记录修改所述复制的数据映射关系得到本次备份的数据映射关系。
13.如权利要求12所述的文件服务器,其特征在于,所述文件服务器还包括快照创建器和存储单元,其中,
所述快照创建器,用于接收创建所述第二快照的快照创建请求,根据所述快照创建请求创建第二快照,并且通知所述文件输入输出跟踪器将所述第二快照与所述第一快照之间的数据更改记录存储到存储单元中,所述第一快照为所述第二快照的前一次快照;
所述文件输入输出跟踪器,还用于跟踪客户端在所述文件服务器上的数据操作,接收所述快照创建器发送的通知后,根据所述数据操作在所述存储单元中存储所述第二快照与所述第一快照之间的数据更改记录。
14.一种备份系统,其特征在于,所述备份系统用于网络连接存储NAS系统中的数据备份,所述备份系统包括所述权利要求10或11所述的备份服务器和所述权利要求12或13所述的文件服务器。
15.如权利要求14所述的备份系统,其特征在于,所述备份系统还包括备份存储设备,所述备份存储设备用于存储所述备份服务器发送的数据。
16.一种计算机可读存储介质,其特征在于,其上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-9中任一项所述的备份数据方法。
CN201811433033.XA 2018-10-22 2018-11-28 一种备份数据的方法、装置和系统 Active CN111078464B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP19874958.2A EP3862883B1 (en) 2018-10-22 2019-06-05 Data backup method and apparatus, and system
PCT/CN2019/090090 WO2020082744A1 (zh) 2018-10-22 2019-06-05 一种备份数据的方法、装置和系统
US17/235,557 US11907078B2 (en) 2018-10-22 2021-04-20 Data backup method, apparatus, and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811232224 2018-10-22
CN201811232224X 2018-10-22

Publications (2)

Publication Number Publication Date
CN111078464A CN111078464A (zh) 2020-04-28
CN111078464B true CN111078464B (zh) 2024-06-25

Family

ID=70310038

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811433033.XA Active CN111078464B (zh) 2018-10-22 2018-11-28 一种备份数据的方法、装置和系统

Country Status (4)

Country Link
US (1) US11907078B2 (zh)
EP (1) EP3862883B1 (zh)
CN (1) CN111078464B (zh)
WO (1) WO2020082744A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020133473A1 (zh) 2018-12-29 2020-07-02 华为技术有限公司 一种备份数据的方法、装置和系统
US11126365B2 (en) 2019-03-11 2021-09-21 Commvault Systems, Inc. Skipping data backed up in prior backup operations
CN112214352B (zh) * 2020-10-16 2023-02-17 天津七所高科技有限公司 一种基于Ethernet/IP的焊机设备数据自动备份方法及装置
CN112650447B (zh) * 2020-12-18 2024-02-13 北京浪潮数据技术有限公司 一种ceph分布式块存储的备份方法、系统及装置
CN113238891A (zh) * 2021-03-19 2021-08-10 浪潮云信息技术股份公司 一种基于备份链的备份删除方法及系统
CN113157699B (zh) * 2021-04-25 2024-10-15 上海淇玥信息技术有限公司 一种业务数据审核方法、装置和电子设备
CN115543695B (zh) * 2022-11-29 2023-08-15 苏州浪潮智能科技有限公司 一种数据备份方法、装置及电子设备和存储介质
CN117421160B (zh) * 2023-11-01 2024-04-30 广州鼎甲计算机科技有限公司 数据备份方法、装置、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106095622A (zh) * 2016-06-22 2016-11-09 上海爱数信息技术股份有限公司 数据备份方法及装置
US9569124B2 (en) * 2014-11-04 2017-02-14 Rubrik, Inc. Deduplication of virtual machine content

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6279011B1 (en) * 1998-06-19 2001-08-21 Network Appliance, Inc. Backup and restore for heterogeneous file server environment
US20040268068A1 (en) * 2003-06-24 2004-12-30 International Business Machines Corporation Efficient method for copying and creating block-level incremental backups of large files and sparse files
JP4741371B2 (ja) * 2006-01-05 2011-08-03 株式会社日立製作所 システム、サーバ装置及びスナップショットの形式変換方法
CN103034566B (zh) * 2012-12-06 2015-07-22 华为技术有限公司 虚拟机还原的方法和装置
CN103019888B (zh) * 2012-12-21 2016-03-30 华为技术有限公司 备份方法与装置
CN104375904A (zh) * 2014-10-30 2015-02-25 浪潮电子信息产业股份有限公司 一种基于快照差异化数据传输的容灾备份方法
US9904598B2 (en) * 2015-04-21 2018-02-27 Commvault Systems, Inc. Content-independent and database management system-independent synthetic full backup of a database based on snapshot technology
US20180260281A1 (en) * 2017-03-08 2018-09-13 Hewlett Packard Enterprise Development Lp Restoring a storage volume from a backup
CN107391314A (zh) * 2017-07-31 2017-11-24 郑州云海信息技术有限公司 一种支持双活的数据一致性保持方法与装置
US11663084B2 (en) * 2017-08-08 2023-05-30 Rubrik, Inc. Auto-upgrade of remote data management connectors

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569124B2 (en) * 2014-11-04 2017-02-14 Rubrik, Inc. Deduplication of virtual machine content
CN106095622A (zh) * 2016-06-22 2016-11-09 上海爱数信息技术股份有限公司 数据备份方法及装置

Also Published As

Publication number Publication date
EP3862883A4 (en) 2021-12-22
EP3862883A1 (en) 2021-08-11
WO2020082744A1 (zh) 2020-04-30
US20210240578A1 (en) 2021-08-05
EP3862883B1 (en) 2023-04-19
US11907078B2 (en) 2024-02-20
CN111078464A (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN111078464B (zh) 一种备份数据的方法、装置和系统
US8250033B1 (en) Replication of a data set using differential snapshots
US9910620B1 (en) Method and system for leveraging secondary storage for primary storage snapshots
JP4749266B2 (ja) 情報資源の重複を省いたバックアップ制御装置及び方法
US8380673B2 (en) Storage system
JP6968876B2 (ja) 期限切れバックアップ処理方法及びバックアップサーバ
US9940042B2 (en) Distributed storage system, and data-access method therefor
US11093387B1 (en) Garbage collection based on transmission object models
EP3076307A1 (en) Method and device for responding to a request, and distributed file system
US9043280B1 (en) System and method to repair file system metadata
US20150154221A1 (en) Deduplication method and deduplication system using data association information
US10628298B1 (en) Resumable garbage collection
CN111581017B (zh) 一种现代应用的备份恢复系统及方法
CN109254958B (zh) 分布式数据读写方法、设备及系统
CN103744875A (zh) 基于文件系统的数据快速迁移方法及系统
CN113157487B (zh) 数据恢复方法及其设备
US20230350760A1 (en) Physical size api for snapshots backed up to object store
CN107169126B (zh) 一种日志处理方法及相关设备
CN108271420B (zh) 管理文件的方法、文件系统和服务器系统
CN115840731A (zh) 文件处理方法、计算设备及计算机存储介质
CN109753381B (zh) 一种基于对象存储的持续数据保护方法
CN113342741B (zh) 快照实现方法及装置、电子设备及计算机可读存储介质
CN109144403B (zh) 一种用于云盘模式切换的方法与设备
CN113419897A (zh) 一种文件处理方法、装置、电子设备及其存储介质
CN115878386A (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