一种存储数据的保护方法及装置制造方法

文档序号:6526562阅读:265来源:国知局
一种存储数据的保护方法及装置制造方法
【专利摘要】本发明公开了一种存储数据的保护方法及装置,属于网络连接存储领域。所述方法包括:接收属性设置指令,所述属性设置指令请求设置文件系统中文件的文件快照级别属性;根据所述属性设置指令设置所述文件的文件快照级别属性;接收快照创建指令,所述快照创建指令中携带需要保护的文件的文件快照级别属性参数;根据所述快照创建指令为所述文件系统创建采用写时重定向ROW技术的ROW只读快照,所述ROW只读快照的只读快照级别属性根据所述文件快照级别属性参数设置。本发明对该文件快照级别属性进行设置,并在对系统文件创建只读快照时指定该只读快照需要保护的文件的快照级别,根据应用场景决定该为文件系统的哪些文件创建快照,控制快照的使用空间,降低只读快照占用的文件系统的空间。
【专利说明】一种存储数据的保护方法及装置
【技术领域】
[0001]本发明涉及网络连接存储领域,特别涉及一种存储数据的保护方法及装置。
【背景技术】
[0002]在NAS (Network Attached Storage,网络连接存储)领域,对 FS (File System,文件系统)整体创建采用ROW (Redirect-on-write,写时重定向)技术的ROW只读快照是实现存储数据保护的主流技术。FS的ROW只读快照直接保护FS的写前数据块,即ROW只读快照将占用分配给FS的可用空间。目前对FS创建ROW只读快照的技术都是针对FS整体,当对FS频繁修改后,ROW只读快照会占据FS大量空间。例如一个总可用空间为100MB的FS,写入一个17.94MB的文件1,创建一个ROW只读快照,然后覆盖写入前面的文件1,如此反复4次,ROW只读快照累积独占空间将达到53.89MB,而原FS的可用空间降到28.1MB。当再向该FS写入一个37MB的文件时,就会出现FS空间不足、不能写入的错误。因此需要一种存储数据的保护方法,以解决ROW只读快照占用源文件系统过多空间的缺陷。
[0003]现有技术提出了几种降低只读快照占用空间的存储数据的保护方法:方法一、配置FS ROW只读快照预留,但ROW只读快照空间可超这个预留;方法二、配置FS自动扩容;方法三、配置FS自动删除ROW只读快照。
[0004]现有技术至少存在以下问题:
[0005]ROff只读快照占用大量FS可用空间,导致FS不可用,直接影响位于关键路径的FS的重要业务;针对上述问题的措施,不能从根本上解决ROW只读快照大量占用FS可用空间的问题。

【发明内容】

[0006]本发明提供了 一种存储数据的保护方法及装置,技术方案如下。
[0007]第一方面,提供了存储数据的保护方法,所述方法包括:接收属性设置指令,所述属性设置指令请求设置文件系统中文件的文件快照级别属性;根据所述属性设置指令设置所述文件的文件快照级别属性;接收快照创建指令,所述快照创建指令中携带需要保护的文件的文件快照级别属性参数;根据所述快照创建指令为所述文件系统创建ROW只读快照,所述ROW只读快照的只读快照级别属性根据所述文件快照级别属性参数设置;在对指定文件进行修改时,判断所述指定文件的文件快照级别属性与已创建的ROW只读快照的只读快照级别属性是否匹配,并在匹配时根据所述已创建的ROW只读快照对所述指定文件进行写前保护。
[0008]结合第一方面,在第一方面的第一种可能的实现方式中,根据所述快照创建指令为所述文件系统创建只读快照,包括:通过与所述文件系统共享根的方式创建所述ROW只读快照;根据所述文件快照级别属性设置所述ROW只读快照的只读快照级别属性;根据所述只读快照级别属性设置所述文件系统的系统快照级别属性。
[0009]结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述系统快照级别属性包括快照级别-逻辑时间点对的集合,其中所述快照级别表示所述ROW只读快照保护的文件的快照级别,所述逻辑时间点表示创建所述ROW只读快照的逻辑时间点;所述只读快照级别属性包括快照级别-逻辑时间点对的集合,其中所述快照级别表示需要保护的文件的快照级别,所述逻辑时间点表示创建所述ROW只读快照的逻辑时间点。
[0010]结合第一方面,在第一方面的第三种可能的实现方式中,所述快照创建指令还携带快照名称;所述根据所述快照创建指令为所述文件系统创建只读快照之后,还包括:根据所述快照名称命名所述ROW只读快照。
[0011]结合第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据所述快照创建指令为所述文件系统创建只读快照之后,还包括:接收访问所述ROff只读快照的请求;输出文件快照级别属性的值与所述ROW只读快照的只读快照级别属性的快照级别的值相等的文件。
[0012]结合第一方面的第二种可能的实现方式,在第一方面的第五种可能的实现方式中,所述在对指定文件进行修改时,判断所述指定文件的文件快照级别属性与已创建的ROW只读快照的只读快照级别属性是否匹配,并在匹配时根据所述已创建的ROW只读快照对所述指定文件进行写前保护,包括:接收所述指定文件的修改数据;根据所述修改数据修改所述指定文件的数据,并将修改后的所述指定文件的新数据保存到新的磁盘位置;判断已创建的所述文件系统的只读快照中,是否存在只读快照级别属性的快照级别的值与所述指定文件的文件快照级别属性的值相等的只读快照;若存在,保留所述指定文件修改前的旧数据,并将所述ROW只读快照的根指向所述指定文件的旧数据;否则,删除所述指定文件修改前的旧数据。
[0013]第二方面,提供了一种存储数据的保护装置,所述装置包括:接收单元,用于接收属性设置指令,所述属性设置指令请求设置文件系统中文件的文件快照级别属性,,以及用于接收快照创建指令,所述快照创建指令中携带需要保护的文件的文件快照级别属性参数;设置单元,用于根据所述接收单元接收的属性设置指令设置所述文件的文件快照级别属性;快照创建单元,用于根据所述接收单元接收的快照创建指令为所述文件系统创建只读快照,根据所述文件快照级别属性参数设置所述ROW只读快照的只读快照级别属性;文件保护单元,用于在对指定文件进行修改时,判断所述指定文件的文件快照级别属性与已创建的ROW只读快照的只读快照级别属性是否匹配,并在匹配时根据所述已创建的ROW只读快照对所述指定文件进行写前保护。
[0014]结合第二方面,在第二方面的第一种可能的实现方式中,所述快照创建单元包括:创建模块,用于通过与所述文件系统共享根的方式创建所述ROW只读快照;设置模块,用于在所述创建模块创建所述ROW只读快照之后,根据所述文件快照级别属性设置所述ROW只读快照的只读快照级别属性,以及根据所述只读快照级别属性设置所述文件系统的系统快照级别属性。
[0015]结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述记录模块,还用于将所述系统快照级别属性记录为包括快照级别-逻辑时间点对的集合,其中所述快照级别表示所述ROW只读快照保护的文件的快照级别,所述逻辑时间点表示创建所述ROW只读快照的逻辑时间点;将所述只读快照级别属性记录为包括快照级别-逻辑时间点对的集合,其中所述快照级别表示需要保护的文件的快照级别,所述逻辑时间点表示创建所述ROW只读快照的逻辑时间点。
[0016]结合第二方面,在第二方面的第三种可能的实现方式中,所述接收单元,还用于接收携带快照名称的快照创建指令;所述创建模块,还用于根据所述接收单元接收的快照创建指令中携带的快照名称命名所述ROW只读快照。
[0017]结合第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,所述接收单元,还用于在所述快照创建单元创建所述ROW只读快照之后,接收所述用户访问所述ROW只读快照的请求;所述装置还包括:输出单元,用于根据所述接收单元接收的请求输出文件快照级别属性的值与所述ROW只读快照的只读快照级别属性中的快照级别的值相等的文件。
[0018]结合第二方面、第二方面的第一种、第二种、第三种或第四种可能的实现方式,在第二方面第五种可能的实现方式中,所述接收单元,还用于接收所述文件系统中指定文件的修改数据;所述装置还包括:修改模块,用于根据所述接收单元接收的修改数据修改所述指定文件的数据,并将修改后的所述指定文件的新数据保存到新的磁盘位置;判断模块,用于在所述修改模块将修改后的所述指定文件的新数据保存到新的磁盘位置之后,判断已创建的所述文件系统的只读快照中,是否存在只读快照级别属性的快照级别的值与所述指定文件的文件快照级别属性的值相等的只读快照;根模块,用于在所述判断模块判断存只读快照级别属性与所述指定文件的文件快照级别属性相匹配的ROW只读快照时,将所述ROW只读快照的根指向所述指定文件的旧数据;删除模块,用于在所述判断模块判断不存只读快照级别属性与所述指定文件的文件快照级别属性相匹配的只读快照时,删除所述指定文件修改前的旧数据。
[0019]本发明实施例提供的技术方案可以通过增加文件的文件快照级别属性,对该文件快照级别属性进行设置,可以将不同的文件设置成不同的快照级别,同时在对系统文件创建ROW只读快照时指定该ROW只读快照需要保护的文件的快照级别,让ROW只读快照只保护那些需要保护的重要文件,能够有效降低ROW只读快照对FS空间的占用。
【专利附图】

【附图说明】
[0020]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,还可以根据这些附图获得其他的附图。
[0021]图1是本发明实施例一提供的存储数据的保护方法流程图;
[0022]图2是本发明实施例二提供的存储数据的保护方法流程图;
[0023]图3是本发明实施例二的fsl的文件的快照级别属性示意图;
[0024]图4是本发明实施例二为fsl创建指定快照级别的ROW只读快照示意图;
[0025]图5是本发明实施例二中修改不被快照保护的filel的示意图;
[0026]图6是本发明实施例二中修改被快照保护的file2的示意图;
[0027]图7是本发明实施例三提供的存储数据的保护方法流程图;
[0028]图8是本发明实施例三中创建多个只读快照的示意图;
[0029]图9是本发明实施例四提供的一种存储数据的保护装置的结构示意图;[0030]图10是本发明实施例五提供的一种存储数据的保护装置的结构示意图。
【具体实施方式】
[0031]本发明的发明人在降低只读快照占用FS过多空间的研究过程中发现,在FS中并不是所有文件都值得用其只读快照保护起来,因此如果控制FS的只读快照选择性的保护FS中的重要文件,便可以解决只读快照大量占用FS可用空间的问题,进而让位于关键路径的FS业务尽量可用。
[0032]为了实现对只读快照的保护对象进行控制,本发明对FS的所有文件(包括目录)增加一个属性:文件快照级别属性,该属性也可以由用户设置;为创建FS只读快照的指令增加一个选项:文件快照级别属性参数,创建的这个FS只读快照将只保护FS中设置了与该文件快照级别属性参数匹配的文件快照级别属性的文件,即该文件快照级别属性的值与该文件快照级别属性参数的值相同 '为FS新增系统快照级别属性;为只读快照新增只读快照级别属性。
[0033]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0034]实施例一
[0035]本实施例提供一种存储数据的保护方法,请参阅图1,方法流程包括:
[0036]101、接收属性设置指令,所述属性设置指令请求设置文件系统中文件的文件快照级别属性;
[0037]102、根据所述属性设置指令设置所述文件的文件快照级别属性;
[0038]103、接收快照创建指令,所述快照创建指令中携带需要保护的文件的文件快照级别属性参数;
[0039]104、根据所述快照创建指令为所述文件系统创建只读快照,所述ROW只读快照的只读快照级别属性根据所述文件快照级别属性参数设置;
[0040]105、在对指定文件进行修改时,判断所述指定文件的文件快照级别属性与已创建的ROW只读快照的只读快照级别属性是否匹配,并在匹配时根据所述已创建的ROW只读快照对所述指定文件进行写前保护。
[0041]具体的,所述的写前保护是指对所述指定文件修改前的数据进行映像或保留。
[0042]进一步的,所述根据所述快照创建指令为所述文件系统创建只读快照,包括:
[0043]通过与所述文件系统共享根的方式创建所述ROW只读快照;
[0044]根据所述文件快照级别属性设置所述ROW只读快照的只读快照级别属性;
[0045]根据所述只读快照级别属性设置所述文件系统的系统快照级别属性。
[0046]具体的,文件系统或只读快照的根是一个磁盘地址,通过这个地址,可以访问到文件系统或ROW只读快照的所有目录、文件数据;由于文件系统或只读快照的目录、文件都被抽象成一个个的Objects(对象),所有这些Objects组成文件系统或只读快照的Objset(对象集),0bjset以树的形式组织,树有一个ObjsetRoot (树根)地址,通过这个Objset Root可以访问到文件系统/只读快照的所有Objects,所以文件系统或只读快照根又叫ObjsetRoot。
[0047]通过与所述文件系统共享根的方式创建所述ROW只读快照,是指创建ROW只读快照时,将ROW只读快照的根指向文件系统的根。在ROW只读快照创建时,由于尚未对文件系统中的文件进行修改,而ROW只读快照直接保护FS的写前数据(即修改前的数据),因此,此时ROW只读快照的根指向文件系统的根。
[0048]进一步的,所述系统快照级别属性及所述只读快照级别属性包括[快照级别-逻辑时间点]对的集合,其中所述快照级别表示所述ROW只读快照保护的文件的快照级别,逻辑时间点表示创建所述ROW只读快照的逻辑时间点;
[0049]所述只读快照级别属性包括[快照级别-逻辑时间点]对的集合,其中所述快照级别表示需要保护的文件的快照级别,所述逻辑时间点表示创建所述ROW只读快照的逻辑时间点。
[0050]进一步的,所述快照创建指令还携带快照名称;
[0051]所述根据所述快照创建指令为所述文件系统创建只读快照之后,还包括:
[0052]根据所述快照名称命名所述ROW只读快照。
[0053]进一步的,所述根据所述快照创建指令为所述文件系统创建只读快照之后,还包括:
[0054]接收访问所述ROW只读快照的请求;
[0055]输出文件快照级别属性的值与所述ROW只读快照的只读快照级别属性的快照级别的值相等的文件。
[0056]进一步的,所述在对指定文件进行修改时,判断所述指定文件的文件快照级别属性与已创建的ROW只读快照的只读快照级别属性是否匹配,并在匹配时根据所述已创建的ROff只读快照对所述指定文件进行写前保护,包括:
[0057]接收所述文件系统中指定文件的修改数据;
[0058]判断已创建的所述文件系统的只读快照中,是否存在只读快照级别属性的快照级别的值与所述指定文件的文件快照级别属性的值相等的只读快照;
[0059]若存在,保留所述指定文件修改前的旧数据,并将所述ROW只读快照的根指向所述指定文件的旧数据;否则,删除所述指定文件修改前的旧数据。
[0060]本实施例提供的存储数据的保护方法,通过增加文件的文件快照级别属性,对该文件快照级别属性进行设置,可以将不同的文件设置成不同的快照级别,同时在对系统文件创建ROW只读快照时指定该ROW只读快照需要保护的文件的快照级别,从而让ROW只读快照只保护那些需要保护的重要文件,也可让用户参与到ROW只读快照的控制,由用户根据应用场景去决定该为FS的哪些文件创建快照,尽可能控制快照的使用空间,降低ROW只读快照占用的FS的空间,使位于关键路径的FS尽可能可用,提升产品的竞争力。
[0061]实施例二
[0062]本实施例提供一种存储数据的保护方法,该方法以ROW只读快照为例进行说明。请参阅图2,方法流程包括:
[0063]201、接收用户输入的请求将fsl中的文件2 (file2)的文件快照级别属性的值设置为I的属性设置指令。
[0064]具体的,fsl中的文件I (filel)、file2均设有文件快照级别属性:sanpLevel。
[0065]sanpLevel:文件的快照级别,默认为未设置(none)。
[0066]202、根据该属性设置指令将file2的文件快照级别属性的值设置为I。[0067]具体的,根据该属性设置指令完成对file2的文件快照级别属性的设置之后,fsl的文件的快照级别属性示意图,请参阅图3。
[0068]文件系统fsl设有四个与ROW只读快照相关的属性:
[0069]prevSnap (前一快照):指向FS的前一个ROW只读快照;
[0070]nextSnap (下一快照):指向FS的下一个ROW只读快照;
[0071]snapLevels系统快照级别:包含一个[key-value]对即[快照级别-逻辑时间点]对的集合,key为只读快照要保护的文件的快照级别,value为创建只读快照的逻辑时间点,未创建ROW只读快照时默认为[none];
[0072]FS Root (FS的根):指向fsl所有文件数据的根。
[0073]由于用户选择将file2的文件快照级别属性的值设置为1,因此本步骤完成用户的属性设置指令之后 file2 的 sanpLevel=l, filel 的 sanpLevel=none。
[0074]203、接收用户输入的为fsl创建名称为snapl的只保护sanpLevel的值设置为I的文件的快照创建指令。
[0075]具体的,该快照创建指令可采用如下格式:
[0076]Snapshot create fslsnaplsnapLevel=l
[0077]具体的,Snapshot create:表示创建快照;
[0078]fsl:表示给文件系统fsl创建快照;
[0079]snapl:表示快照的名字是snapl ;
[0080]SnapLevel=1:表示只给文件系统中设置了级别为I的文件创建快照,即只保护文件快照级别属性值为I的文件。
[0081 ] 204、根据该快照创建指令创建名为snapl的ROW只读快照。
[0082]具体的,本步骤创建名为snapl的ROW只读快照,并使该快照共享文件系统的根。为fsl创建指定快照级别的ROW只读快照示意图,请参阅图4。
[0083]创建完成后,fsl及snapl的相关属性设置如下:
[0084]fsl的snapLevels设置了一个key-value对:“ 1-10”,表示文件系统fsl在逻辑时间点为10的时候创建了一个只保护文件快照级别属性值为I的文件(即表示创建了一个快照级别为I的ROW只读快照);
[0085]snapl 的 snapLevels 设置了一个 key-value 对:“ 1-10”,表示创建该 snapl 的逻辑时间点为10,其只保护逻辑时间点10之前的,文件快照级别属性值为I的文件。
[0086]fsl 的 prevSnap 指向快照 snapl ;sanpl 的 nextSnap 指向 fsl ;
[0087]sanpl的Snap Root快照的根直接共享文件系统fsl的根:FS Root。
[0088]具体的,如果此时收到用户访问snapl的请求,将过滤掉与sanpl的snapLevels的不匹配的文件,而输出与所述ROW只读快照的快照级别匹配的文件,即ROW只读快照只输出snapLevel的值与自身的snapLevels的快照级别key的取值相同的文件。
[0089]205、接收对filel进行修改的修改数据;
[0090]206、根据该修改数据修改filel的数据,将修改后的filel的新数据保存到新的
磁盘位置;
[0091]207、判断 snapl 的 snapLevels 与 filel 的 snapLevel 与不匹配,删除 filel 的旧数据。[0092]具体的,判断snapl的snapLevels与filel的snapLevel是否匹配,主要根据snapLevel的值与snapLevels的key的值是否相等,若相等则判断两者匹配,否则判断两者不匹配。本实施例中filel的snapLevel值为none, snapl的snapLevels的key值为I,两者不匹配。
[0093]具体的,修改不被快照保护的filel的示意图,请参阅图5,图中“X”表示数据被删除。修改filel之后,遵循ROW原则,filel的新数据总是写到新的磁盘位置;而filel的旧数据因为filel的snapLevel=none而不被snapl保护,将被直接删除;此时fsl的根指向filel的新数据及file2的数据,而snapl的根则指向file2的数据。本步骤中,filel的旧数据被删除,将不再占用文件系统fsl的可用空间,从而降低了 ROW只读快照对源FS可用空间的占用。
[0094]208、接收对file2进行修改的修改数据;
[0095]209、根据该修改数据修改file2的数据,将修改后的file2的新数据保存到新的磁盘位置;
[0096]210、判断 snapl 的 snapLevelsl 与 file2 的 snapLeve 匹配,保留 file2 的旧数据。
[0097]具体的,修改被快照保护的f ile2的示意图,请参阅图6。遵循ROW原则,f ile2的新数据总是写到新的磁盘位置;而file2的旧数据因为file2的SnapLevel=I而被snapl保护,不会被删除。此时,fsl的根指向filel的新数据与file2的新数据,而snapl的根则指向file2的旧数据。
[0098]具体的,本实施例的执行主体可以是存储管理系统。
[0099]本实施例提供的存储数据的保护方法,为文件系统中的文件增加了文件快照级别属性,由用户通过对文件快照级别属性进行设置,将不同的文件设置成不同的快照级别,同时用户可以在对系统文件创建ROW只读快照时指定需要保护的文件的快照级别,当对文件进行修改后,根据是否存在只读快照级`别属性与被修改的文件的文件快照级别属性匹配的ROW只读快照确定是否对该文件进行快照保护,如果存在则保留该文件修改前的旧数据,否则删除该文件修改前的旧数据,从而让用户参与到ROW只读快照的控制,由用户根据应用场景去决定该为FS的哪些文件创建快照,尽可能控制快照的使用空间,降低只读快照占用的FS的空间,使位于关键路径的FS尽可能可用,提升产品的竞争力。
[0100]实施例三
[0101]本实施例提供了一种存储数据的保护方法。本实施例中文件系统fsl包含多个文件,文件名依次为filel、file2…file6,该多个文件的文件快照级别属性默认为snapLevel=none。请参阅图7,方法流程包括:
[0102]701、接收用户输入的将文件系统fsl中的文件file2、file5的文件快照级别属性的值设置为I的属性设置指令。
[0103]702、根据该属性设置指令将file2、file5的文件快照级别属性设置为SnapLvel=I。
[0104]703、接收用户输入的携带SnapLevel=I的快照创建指令,该快照创建指令要求创建一个快照级别为1,名称为sanpl的ROW只读快照。
[0105]704、在逻辑时间点为10时,创建名为snapl的快照级别为I的ROW只读快照。
[0106]705、接收用户输入的将文件系统fsl中的文件file3、file4的文件快照级别属性的值设置为2的属性设置指令。
[0107]706、根据该属性设置指令将file3、file4的文件快照级别属性设置为snapLevel=2。
[0108]707、接收用户输入的携带snapLevel=2的快照创建指令,该快照创建指令要求创建一个快照级别为2,名称为sanp2的快照。
[0109]708、在逻辑时间点为20时,创建名为snap2的快照级别为2的ROW只读快照。
[0110]具体的,请参阅图7,创建完成后,fsl的系统快照级别属性snapLevels记录为:[1-10,2-20],表示在逻辑时间点为10的时候创建了一个快照级别为I的Row只读快照,在逻辑时间点为20的时候创建了一个快照级别为2的Row只读快照;snapl的只读快照级别属性snaLevels记录为:[1_10],表示该只读快照的只保护快照级别为I的文件,其保护逻辑时间点10之前的数据;snap2的只读快照级别属性snapLevels记录为:[2_20],表示该只读快照的只保护快照级别为2的文件,其保护逻辑时间点20之前的数据。sanpl、sanp2与fsl共享根。而,文件系统fsl的文件filel、file6由于其文件快照级别为none,将不被任何ROW只读快照保护。
[0111]具体的,对snapl、snap2的访问及修改fsl的文件时,对各文件的处理方法与前述实施例相同此处不再赘述。
[0112]本实施例提供的存储数据的保护方法,为文件系统中的文件增加了文件快照级别属性,由用户通过对文件快照级别属性进行设置,将不同的文件设置成不同的快照级别,同时用户可以在对系统文件创建只读快照时指定需要保护的文件的快照级别,因此在对文件系统的文件进行修改时,ROW只读快照只保护用户指定的文件,对于未指定的文件将不进行ROff只读快照保护,能够有效地节省文件系统的空间。
[0113]实施例四
[0114]参见图9,本实施例提供了一种存储数据的保护装置,该装置包括:
[0115]接收单元901,用于属性设置指令,所述属性设置指令请求设置文件系统中文件的文件快照级别属性;
[0116]设置单元902,用于根据所述接收单元901接收的属性设置指令设置所述文件的文件快照级别属性;
[0117]所述接收单元901,还用于接收快照创建指令,所述快照创建指令中携带需要保护的文件的文件快照级别属性参数;
[0118]快照创建单元903,用于根据所述接收单元901接收的快照创建指令为所述文件系统创建指定快照级别的ROW只读快照,根据所述文件快照级别属性参数设置所述ROW只读快照的只读快照级别属性;
[0119]文件保护单元904,用于在对指定文件进行修改时,判断所述指定文件的文件快照级别属性与已创建的ROW只读快照的只读快照级别属性是否匹配,并在匹配时根据所述已创建的ROW只读快照对所述指定文件进行写前保护。
[0120]进一步的,所述快照创建单元903包括:
[0121]创建模块,用于通过与所述文件系统共享根的方式创建所述ROW只读快照;
[0122]设置模块,用于在所述创建模块创建所述ROW只读快照之后,根据所述文件快照级别属性设置所述ROW只读快照的只读快照级别属性,以及根据所述只读快照级别属性设置所述文件系统的系统快照级别属性。
[0123]进一步的,所述记录模块,还用于将所述系统快照级别属性记录为包括[快照级别-逻辑时间点]对的集合,其中所述快照级别表示创建的所述ROW只读快照保护的文件的快照级别的快照级别,逻辑时间点表示创建所述ROW只读快照的逻辑时间点;将所述只读快照级别属性记录为包括[快照级别-逻辑时间点]对的集合,其中所述快照级别表示需要保护的文件的快照级别,所述逻辑时间点表示创建所述ROW只读快照的逻辑时间点。
[0124]进一步的,所述接收单元901,还用于接收携带快照名称的快照创建指令;
[0125]所述创建模块,还用于根据所述接收单元901接收的快照创建指令中携带的快照名称命名所述ROW只读快照。
[0126]进一步的,所述接收单元901,还用于在所述快照创建单元创建所述ROW只读快照之后,接收访问所述ROW只读快照的请求;
[0127]所述装置还包括:
[0128]输出单元,用于输出文件快照级别属性的值与所述ROW只读快照的只读快照级别属性中的快照级别的值相等的文件。
[0129]进一步的,所述接收单元901,还用于接收所述文件系统中指定文件的修改数据;
[0130]所述装置还包括:
[0131]修改模块,用于根据所述接收单元901接收的修改数据修改所述指定文件的数据,并将修改后的所述指定文件的新数据保存到新的磁盘位置;
[0132]判断模块,用于在所述修改模块将修改后的所述指定文件的新数据保存到新的磁盘位置之后,判断已创建的所述文件系统的ROW只读快照中,是否存在只读快照级别属性的快照级别的值与所述指定文件的文件快照级别属性的值相等的ROW只读快照;
[0133]根模块,用于在所述判断模块判断存只读快照级别属性与所述指定文件的文件快照级别属性相匹配的ROW只读快照时,将所述ROW只读快照的根指向所述指定文件的旧数据;
[0134]删除模块,用于在所述判断模块判断不存只读快照级别属性与所述指定文件的文件快照级别属性相匹配的ROW只读快照时,删除所述指定文件修改前的旧数据。
[0135]本实施例存储数据的保护装置,通过增加文件的文件快照级别属性,对该文件快照级别属性进行设置,可以将不同的文件设置成不同的快照级别,同时在对系统文件创建ROff只读快照时指定该ROW只读快照需要保护的文件的快照级别,从而让ROW只读快照只保护那些需要保护的重要文件。在此基础上也可让用户参与到ROW只读快照的控制,由用户根据应用场景去决定该为FS的哪些文件创建快照,尽可能控制快照的使用空间,降低ROW只读快照占用的FS的空间,使位于关键路径的FS尽可能可用,提升产品的竞争力。
[0136]实施例五
[0137]请参阅图10,本实施例提供了一种存储数据的保护装置,该装置包括:
[0138]接收机1001,用于接收属性设置指令,所述属性设置指令请求设置文件系统中文件的文件快照级别属性;
[0139]处理器1002,用于根据所述接收机接收的属性设置指令设置所述文件的文件快照级别属性;
[0140]所述接收机1001,还用于接收快照创建指令,所述快照创建指令中携带需要保护的文件的文件快照级别属性参数;
[0141]所述处理器1002,还用于根据所述接收机1001接收的快照创建指令为所述文件系统创建ROW只读快照,根据所述文件快照级别属性参数设置所述ROW只读快照的只读快照级别属性;以及用于在对指定文件进行修改时,判断所述指定文件的文件快照级别属性与已创建的ROW只读快照的只读快照级别属性是否匹配,并在匹配时根据所述已创建的ROff只读快照对所述指定文件进行写前保护。
[0142]进一步的,所述处理器1002,还用于通过与所述文件系统共享根的方式创建所述ROff只读快照;根据所述文件快照级别属性设置所述ROW只读快照的只读快照级别属性,以及根据所述只读快照级别属性设置所述文件系统的系统快照级别属性。
[0143]进一步的,所述处理器1002,还用于将所述系统快照级别属性记录为包括[快照级别-逻辑时间点]对的集合,其中所述快照级别表示创建的所述ROW只读快照的快照级另O,逻辑时间点表示创建所述ROW只读快照的逻辑时间点;将所述只读快照级别属性记录为包括[快照级别-逻辑时间点]对的集合,其中所述快照级别表示需要保护的文件的快照级别,所述逻辑时间点表示创建所述ROW只读快照的逻辑时间点。
[0144]进一步的,所述接收机,还用于接收携带快照名称的快照创建指令;
[0145]所述处理器,还用于根据所述接收机接收的快照创建指令中携带的快照名称命名所述ROW只读快照。
[0146]进一步的,所述接收机1001,还用于在所述处理器1002创建所述ROW只读快照之后,接收访问所述ROW只读快照的请求;
[0147]所述装置还包括:
[0148]发送机,用于根据所述接收机1002接收的请求输出文件快照级别属性的值与所述ROW只读快照的只读快照级别属性中的快照级别的值相等的文件。
[0149]进一步的,所述接收机1001,还用于接收对所述文件系统中指定文件的进行修改的修改数据;
[0150]所述处理器1002,还用于根据所述接收机接收的修改数据修改所述指定文件的数据,并将修改后的所述指定文件的新数据保存到新的磁盘位置;判断已创建的所述文件系统的ROW只读快照中,是否存在只读快照级别属性的快照级别的值与所述指定文件的文件快照级别属性的值相等的ROW只读快照,若存在,则保留所述指定文件修改前的旧数据,并将所述ROW只读快照的根指向所述指定文件的旧数据,若不存在,则删除所述指定文件修改前的旧数据。
[0151]本实施例提供的存储数据的保护装置,通过增加文件的文件快照级别属性,对该文件快照级别属性进行设置,可以将不同的文件设置成不同的快照级别,同时在对系统文件创建ROW只读快照时指定该ROW只读快照需要保护的文件的快照级别,从而让ROW只读快照只保护那些需要保护的重要文件,可有效降低ROW只读快照占用的FS的空间,使位于关键路径的FS尽可能可用,提升产品的竞争力。
[0152]综上所述,本发明实施例提供的存储数据的保护方法及装置,为文件系统中的文件增加了文件快照级别属性,通过对文件快照级别属性进行设置,将不同的文件设置成不同的快照级别,并且可以在对系统文件创建ROW只读快照时指定需要保护的文件的快照级另O,当对文件进行修改时,根据被修改的文件的文件快照级别属性是否与创建的ROW只读快照的只读快照级别属性是否匹配确定是否对该文件进行快照保护,如果匹配则保留该文件修改前的旧数据,否则删除该文件修改前的旧数据,从而能够让用户参与到ROW只读快照的控制,由用户根据应用场景去决定该为FS的哪些文件创建快照,尽可能控制快照的使用空间,降低ROW只读快照占用的FS的空间,使位于关键路径的FS尽可能可用,提升产品的竞争力。
[0153]需要说明的是:上述实施例提供的存储数据的保护装置,在实现对存储数据的保护时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的存储数据的保护装置与存储数据的保护方法实施属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0154]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0155]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0156]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种存储数据的保护方法,其特征在于,所述方法包括: 接收属性设置指令,所述属性设置指令请求设置文件系统中文件的文件快照级别属性; 根据所述属性设置指令设置所述文件的文件快照级别属性; 接收快照创建指令,所述快照创建指令中携带文件快照级别属性参数,用以指示创建的只读快照需要保护的文件; 根据所述快照创建指令为所述文件系统创建采用写时重定向ROW技术的ROW只读快照,所述ROW只读快照的只读快照级别属性根据所述文件快照级别属性参数设置; 在对指定文件进行修改时,判断所述指定文件的文件快照级别属性与已创建的ROW只读快照的只读快照级别属性是否匹配,并在匹配时根据所述已创建的ROW只读快照对所述指定文件进行写前保护。
2.根据权利要求1所述的方法,其特征在于,所述根据所述快照创建指令为所述文件系统创建ROW只读快照,包括: 通过与所述文件系统共享根的方式创建所述ROW只读快照; 根据所述文件快照级别属性参数设置所述ROW只读快照的只读快照级别属性; 根据所述只读快照级别属性设置所述文件系统的系统快照级别属性。
3.根据权利要求2所述的方法,其特征在于, 所述系统快照级别属性包括快照级别-逻辑时间点对的集合,其中所述快照级别表示所述ROW只读快照保护的文件的快照级别,所述逻辑时间点表示创建所述ROW只读快照的逻辑时间点; 所述只读快照级别属性包括快照级别-逻辑时间点对的集合,其中所述快照级别表示需要保护的文件的快照级别,所述逻辑时间点表示创建所述ROW只读快照的逻辑时间点。
4.根据权利要求1所述的方法,其特征在于,所述快照创建指令还携带快照名称; 所述根据所述快照创建指令为所述文件系统创建ROW只读快照之后,还包括: 根据所述快照名称命名所述ROW只读快照。
5.根据权利要求3所述的方法,其特征在于,所述根据所述快照创建指令为所述文件系统创建ROW只读快照之后,还包括: 接收访问所述ROW只读快照的请求; 输出文件快照级别属性的值与所述ROW只读快照的只读快照级别属性的快照级别的值相等的文件。
6.根据权利要求3所述的方法,其特征在于,所述在对指定文件进行修改时,判断所述指定文件的文件快照级别属性与已创建的ROW只读快照的只读快照级别属性是否匹配,并在匹配时根据所述已创建的ROW只读快照对所述指定文件进行写前保护,包括: 接收所述指定文件的修改数据; 根据所述修改数据修改所述指定文件的数据,并将修改后的所述指定文件的新数据保存到新的磁盘位置; 判断已创建的所述文件系统的ROW只读快照中,是否存在只读快照级别属性的快照级别的值与所述指定 文件的文件快照级别属性的值相等的ROW只读快照; 若存在,保留所述指定文件修改前的旧数据,并将所述ROW只读快照的根指向所述指定文件的旧数据;否则,删除所述指定文件修改前的旧数据。
7.一种存储数据的保护装置,其特征在于,包括: 接收单元,用于接收属性设置指令,所述属性设置指令请求设置文件系统中文件的文件快照级别属性,以及用于接收快照创建指令,所述快照创建指令中携带需要保护的文件的文件快照级别属性参数; 设置单元,用于根据所述接收单元接收的属性设置指令设置所述文件的文件快照级别属性;快照创建单元,用于根据所述接收单元接收的快照创建指令为所述文件系统创建ROW只读快照,根据所述文件快照级别属性参数设置所述ROW只读快照的只读快照级别属性;文件保护单元,用于在对指定文件进行修改时,判断所述指定文件的文件快照级别属性与已创建的ROW只读快照的只读快照级别属性是否匹配,并在匹配时根据所述已创建的ROff只读快照对所述指定文件进行写前保护。
8.根据权利要求7所述的装置,其特征在于,所述快照创建单元包括: 创建模块,用于通过与所述文件系统共享根的方式创建所述ROW只读快照; 设置模块,用于在所述创建模块创建所述ROW只读快照之后,根据所述文件快照级别属性设置所述ROW只读快照的只读快照级别属性,以及根据所述只读快照级别属性设置所述文件系统的系统快照级别属性。
9.根据权利要求8所述的装置,其特征在于,所述记录模块,还用于将所述系统快照级别属性记录为包括快照级别-逻辑时间点对的集合,其中所述快照级别表示创建的所述ROff只读快照保护的文件的快照级别的快照级别,所述逻辑时间点表示创建所述ROW只读快照的逻辑时间点;将所述只读快照级别属性记录为包括快照级别-逻辑时间点对的集合,其中所述快照级别表示需要保护的文件的快照级别,所述逻辑时间点表示创建所述ROW只读快照的逻辑时间点。
10.根据权利要求7所述的装置,其特征在于, 所述接收单元,还用于接收携带快照名称的快照创建指令; 所述创建模块,还用于根据所述接收单元接收的快照创建指令中携带的快照名称命名所述ROW只读快照。
11.根据权利要求9所述的装置,其特征在于, 所述接收单元,还用于在所述快照创建单元创建所述ROW只读快照之后,接收访问所述ROW只读快照的请求; 所述装置还包括: 输出单元,用于根据所述接收单元接收的请求输出文件快照级别属性的值与所述ROW只读快照的只读快照级别属性中的快照级别的值相等的文件。
12.根据权利要求7至11任一项所述的装置,其特征在于, 所述接收单元,还用于接收所述文件系统中指定文件的修改数据; 所述文件保护单元还包括: 修改模块,用于根据所述接收单元接收的修改数据修改所述指定文件的数据,并将修改后的所述指定文件的新数据保存到新的磁盘位置; 判断模块,用于在所述修改模块将修改后的所述指定文件的新数据保存到新的磁盘位置之后,判断已创建的所述文件系统的ROW只读快照中,是否存在只读快照级别属性的快照级别的值与所述指定文件的文件快照级别属性的值相等的ROW只读快照; 根模块,用于在所述判断模块判断存只读快照级别属性与所述指定文件的文件快照级别属性相匹配的ROW只读快照时,将所述ROW只读快照的根指向所述指定文件的旧数据;删除模块,用于在所述判断模块判断不存只读快照级别属性与所述指定文件的文件快照级别属性相匹配 的ROW只读快照时,删除所述指定文件修改前的旧数据。
【文档编号】G06F11/14GK103729265SQ201310744238
【公开日】2014年4月16日 申请日期:2013年12月30日 优先权日:2013年12月30日
【发明者】庞洪福 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1