数据保护环境中的端到端加密和备份的制作方法

文档序号:15742550发布日期:2018-10-23 22:32阅读:235来源:国知局
数据保护环境中的端到端加密和备份的制作方法

本发明涉及数字计算机系统领域,更具体地说,涉及在计算机系统中备份和恢复加密文件对象的方法。目前,使用文件系统技术加密并需要备份的加密文件必须首先使用文件系统技术进行解密,然后再使用备份客户端及其服务器技术进行加密,以便以加密格式存储在备份服务器中。相反,对于要从备份服务器恢复的文件,必须先使用备份服务器技术对其进行解密,然后在其返回至文件系统中后再重新加密。



技术实现要素:

各种实施例提供了备份和恢复由文件系统加密方法加密的文件的系统和方法。

根据本发明的实施例,描述了一种用于由客户端执行一组对象的备份的计算机实现的方法,其中一组对象中的至少一些对象分别与唯一文件加密密钥FEK相关联并用其加密。该方法包括:用公共主加密密钥MEK加密每个FEK,所述加密产生各自的锁定密钥;在初始备份操作中,将加密对象连同其关联的锁定密钥一起发送到备份服务器;通过第一模块确定是否发生了由于MEK的改变而导致对象的锁定密钥已经改变的事件,通过与FEK受其影响的对象相关联的加密状态来确定锁定密钥的改变。MEK的改变,指示改变的加密状态,以及在改变的MEK的情况下,用改变的MEK重新加密现有的FEK,所述重新加密导致新的锁定密钥。在随后的备份操作中,新的锁定密钥将发送到备份服务器以替换现有的锁定密钥。

根据本发明的实施例,描述了一种用于由客户端恢复一组对象的备份的计算机实现的方法。这里,该组对象中的至少一些对象分别与唯一文件加密密钥FEK相关联并加密,至少一些FEK存储在用公共主加密密钥MEK加密的备份中,所述加密导致各个锁定密钥存储在备份中。备份中包括的每个对象与加密状态相关联,加密状态指示关于当前备份,锁定密钥是否由于MEK的改变而改变。该方法还包括接收恢复其中一个对象的请求,这里该方法包括:确定与要恢复的对象相关联的加密状态是否指示在执行备份之后锁定的密钥已经改变;如果与要恢复的对象相关联的加密状态指示在执行当前备份之后锁定的密钥已经改变,则忽略该对象的恢复;如果与要恢复的对象相关联的加密状态指示自执行当前备份以来锁定的密钥未改变,则恢复与所述对象和对象相关联的加密的FEK。

这里描述了另一实施例,其中客户端计算机适于由客户机执行一组对象的备份,其中该组对象中的至少一些对象分别与唯一文件加密密钥FEK相关联和加密。客户端计算机包括处理器和存储器,该存储器包括计算机可执行指令。这里,处理器执行指令使客户端:用公共主加密密钥MEK加密每个FEK,所述加密产生各自的锁定密钥;在初始备份操作中,将加密对象连同其关联的锁定密钥一起发送到备份服务器;确定由于MEK的改变而导致的对象的锁定密钥是否已经改变,锁定密钥的改变是通过与FEK受MEK的改变影响的对象相关联的加密状态来确定的,加密状态指示更改;并且,如果更改了锁定密钥,则使用更改的MEK重新加密现有FEK。这种重新加密导致新的锁定密钥,在随后的备份操作中将其发送到备份服务器以替换现有的锁定密钥。

根据一个实施例,描述了一种适于由客户端恢复一组对象的备份的客户端计算机,包括将备份存储在备份服务器上,其中该组对象中的至少一些对象分别被关联和加密。使用唯一的文件加密密钥FEK,至少有一些FEK存储在使用公共主加密密钥MEK加密的备份中。这种加密导致各个锁定密钥存储在备份中。备份中包括的每个对象与加密状态相关联,加密状态指示关于当前备份,锁定密钥是否由于MEK的改变而改变。客户端计算机包括处理器和存储器,该存储器包括计算机可执行指令。处理器执行指令使客户端接收恢复其中一个对象的请求,并响应于接收到请求:确定与要恢复的对象相关联的加密状态是否指示锁定的密钥已更改执行当前备份后;如果与要恢复的对象相关联的加密状态指示在执行当前备份之后锁定的密钥已经改变,则忽略该对象的恢复;如果与要恢复的对象相关联的加密状态指示自执行当前备份以来锁定的密钥未改变,则将与所述对象相关联的加密的FEK与对象一起恢复。

根据一个实施例,描述了一种计算机程序产品,包括计算机可执行指令,以执行与加密和非加密文件对象的端到端备份和恢复过程相关联的上述任何步骤。

附图说明

在下文中,仅通过示例的方式更详细地解释本发明的实施例,参考附图,其中:

图1描绘了根据本发明实施例的文件系统的加密密钥层次结构。

图2示出了根据本发明实施例的端到端加密/解密流程。

图3描绘了根据本发明实施例的集群文件系统备份架构。

图4描绘了根据本发明实施例的端到端备份加密流程图。

图5示出了根据本发明实施例的备份文件对象恢复流程图。

图6示出了根据本发明实施例的为跟踪加密密钥改变而创建的表和恢复决策矩阵的示例。

图7示出了描绘根据本发明的实施例的图2的系统200内的计算设备的硬件组件的框图。

具体实施方式

出于说明的目的给出了对本发明的各种实施例的描述,但是并不旨在穷举或限制于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。选择这里使用的术语是为了最好地解释实施例的原理,实际应用或对市场中发现的技术的技术改进,或者使本领域其他技术人员能够理解本文公开的实施例。

在包括经由网络耦合并提供共享文件系统的一个或多个计算机存储节点的传统计算机系统中,其中至少一个计算机存储节点托管备份客户端并且备份客户端连接到备份服务器,文件系统提供加密和解密文件数据的功能,而备份客户端和备份服务器提供加密和解密文件数据的功能。但是,文件系统的加密和解密功能不同于备份客户端和服务器的加密和解密功能。文件系统和备份客户端和服务器的加密方法都使用加密密钥的层次结构,但文件加密密钥不兼容。使用文件系统技术加密的文件(受备份客户端和服务器保护)必须首先使用文件系统技术解密,然后使用备份客户端和服务器技术再次加密,以便以加密格式将其存储在备份服务器中。相反,要恢复驻留在备份服务器上的文件(已使用备份系统技术加密),必须先使用这些技术对文件进行解密,然后在文件系统到达文件系统后再使用文件系统技术重新加密。

本方法指示备份和恢复使用文件系统加密方法加密的文件的方法,其中文件使用文件系统加密进行加密,并且可以以这种格式备份而无需使用备份系统方法进行解密和重新加密。因此,使用文件系统加密方法加密的文件将以此格式进行备份。这可以具有避免使用文件加密方法的解密和使用备份系统方法的重新加密从而节省计算时间的优点。

通过跟踪加密密钥更改,如果文件的内容在备份之间没有更改但加密密钥已更改,则在后续备份中,该方法仅允许备份更改的加密密钥而不是所有文件内容。这可以具有加速备份操作并避免传输已经驻留在备份服务器上的未改变的文件数据的优点。

此外,如果需要使用备份服务器上的副本来恢复文件对象,则该方法提供了一种确定备份服务器中是否存在所述文件的可恢复副本的方法。这可以具有避免文件的加密密钥已经改变的情况的优点,该加密密钥没有反映在备份服务器上存在的副本中。

术语“文件加密密钥”是用于加密文件各部分的密钥。只要文件的内容保持不变,文件加密密钥也是如此。如果文件被更改,则会生成新的文件加密密钥。

术语“主加密密钥”是用于加密其他密钥但是本身不加密的密钥。主加密密钥也可以是密码短语。通常,主加密密钥存储在加密文件系统之外的密钥存储库或密钥管理软件中。使用主加密密钥加密的文件加密密钥会导致“锁定密钥”。

根据一个实施例,该方法包括由第一模块确定新的FEK是否可用,新FEK的可用性是通过与FEK是新的的对象相关联的加密状态来确定的,并且加密状态指示新FEK的可用性。如果新的FEK可用,则使用当前可用的MEK加密新的FEK以获得相关的锁定密钥。在随后的备份操作中,与新FEK相关联并与其一起加密的对象以及相关联的锁定密钥被发送到备份服务器。这可能具有以下优点:文件数据及其相关加密在备份服务器上是最新的。

根据另一实施例,新FEK可以是以下事件中的任何一个的结果:与FEK相关联的对象被修改并因此用新FEK重新加密;使用新的FEK创建并加密了一个新对象;使用新的FEK加密该对象集的先前未加密的对象。

根据一个实施例,响应于检测到新FEK的事件,该方法包括第一模块自动更新与新FEK相关联的对象的加密状态,这种更新包括:在对象已经具有相关联的加密状态的情况下,替换对象的现有加密状态或;如果对象没有相关联的加密,则将新加密状态与与新FEK关联的对象相关联。这可以具有以下优点:可以在将来的备份操作中适当地考虑和更新与文件相关联的当前加密FEK。这还可以具有以下优点:在从备份服务器恢复文件的情况下,当前FEK可用。

在新创建对象的情况下,可以由第一模块立即为对象生成新的加密状态。或者,可以先在后续备份中记录新创建的对象。自动更新与新FEK关联的对象的加密状态可以具有以下优点:确保备份服务器上的加密信息与本地文件对象的加密信息一起是最新的。

根据一个实施例,第一模块在执行后续备份之后更新所有文件对象的加密状态,该更新包括:如果可用,将加密状态从新FEK的可用性的指示改变为指示,根据该指示,FEK没有变化;如果可用,将加密状态从MEK已经改变的指示改变为FEK未改变的指示。FEK未更改的指示表明文件对象的内容及其备份中的相关FEK都是最新的。因此,在恢复操作的情况下,将从未更改的FEK状态看出,允许从备份恢复文件对象,因为备份服务器上的文件对象及其关联的FEK对于本地文件对象及其相关联的FEK而言是最新的。

在一个实施例中,在新创建的加密文件的情况下,其存在仅在后续备份期间被记录,该更新包括指示加密文件的关联FEK未改变。在新创建的未加密文件的情况下,在后续备份期间记录其存在,该更新包括指示未加密的文件没有与之关联的FEK。

该更新可以具有以下优点:在执行进一步的后续备份时,从备份中排除具有指示FEK未改变的关联加密状态的任何对象。这可能导致后续备份所需的时间和计算机资源量的减少。

根据一个实施例,其中该组对象的对象是未加密的并且不与FEK相关联,相关联的加密状态指示所述对象的FEK不可用。为了执行后续备份,该方法包括:由第一模块确定相关加密状态指示FEK不可用的对象;第二模块确定需要备份所述对象,其中相关联的加密状态指示FEK的不可用性。确定备份的需要基于对象的直接扫描。这可能具有以下优点:仍然在备份服务器上备份与FEK无关的文件对象。

在一个实施例中,如果第一模块作为事件接收删除该组对象的加密对象的请求,则本方法包括将与所述对象相关联的加密状态改变为指示FEK不可用的状态。说对象。这可以具有以下优点:可以实现删除对象的指示而无需从服务器物理地删除对象。由于占用大量存储器的大对象的物理删除可能导致计算机操作的减慢,因此相关FEK的改变(其是小且单个对象)可能是有利的并且更快。

在一个实施例中,第一模块包括自动检测事件的事件处理程序,并且响应于事件的自动检测,事件处理程序自动执行受事件影响的加密状态的更新。这可能具有加密状态自动更新并保持最新的优点。

根据一个实施例,本方法包括确定与要恢复的对象相关联的加密状态的指示,无论新的FEK是否可用于该对象。新的FEK可能是以下任何一个事件的结果:与FEK关联的对象被修改,因此在初始备份后使用新的FEK重新加密;该对象是在初始备份后使用新FEK创建和加密的新对象,其创建由事件处理程序立即记录;该对象是以前未加密的对象,在初始备份后使用新的FEK加密。

如果加密状态指示对于希望恢复的对象,可以使用新的FEK,则忽略希望恢复的对象以进行恢复。如果加密状态指示对于希望恢复的对象,新的FEK不可用,则恢复希望与其关联的加密FEK一起恢复的对象。

根据一个实施例,如果希望恢复的对象是自上次备份以来新创建的并且在事件处理程序创建时没有立即记录,则该方法包括确定不可能恢复,因为不包含希望恢复的对象在最近的备份上。

此恢复过程可能具有以下优点:只允许将具有当前FEK的备份服务器上的文件恢复到文件系统。

根据一个实施例,本方法还包括确定与要恢复的对象相关联的加密状态是否指示对于该对象,没有FEK可用。在这种情况下,如果所述对象包含在与相应的锁定密钥不相关联的备份中,则恢复该对象。但是,如果对象没有与之关联的FEK,但所述对象包含在与相应锁定密钥相关联的备份中,则忽略希望恢复的对象以进行恢复。

图1描绘了文件系统的加密密钥层次结构。组件101(FEK 1,FEK 2和FEK 3)对应于文件系统对象的相应FEK。这些FEK中的每一个依次由组件103(MEK)加密,从而产生锁定的密钥。MEK 103用于加密FEK 101,但本身不加密。MEK 103也可以是密码短语。在这样的系统中,文件对象用唯一的FEK 101加密。然后,这些FEK 101分别用通用MEK 103加密以形成锁定密钥。文件对象的锁定密钥与文件对象一起存储在备份服务器上。

图2描绘了示例性端到端加密/解密流程。对于备份操作,在客户端201上生成文件对象。如果要加密文件对象,则使用关联的FEK(图1中的101)进行加密。然后通过用MEK(图1中的103)加密FEK 101来生成锁定密钥。在备份操作中,加密文件通过数据存储服务器203发送到备份系统205.在文件被加密的情况下,锁定密钥与相关文件一起发送。存储服务器203可以是网络附加存储。对于恢复操作,驻留在备份系统205上的文件通过计算机数据存储服务器203发送以在客户机201上恢复。在文件被加密的情况下,其锁定密钥与要恢复的文件一起发送。如果允许恢复操作,端到端备份加密方法可确保备份服务器上的文件及其锁定密钥的当前版本可用。

图3显示了一个集群文件系统备份架构。类似于图2的组件201的一个或多个客户端计算机301连接到存储计算机节点303,305,307。可以存在这些存储计算机节点303,305,307中的一个或多个。客户端计算机301和存储计算机节点303,305,307中的每一个包括处理器309,存储器311和输入/输出控制器313。代表性客户端计算机301连接到集群存储系统,这是图2中的203计算机数据存储服务器的一个示例。集群存储系统包括存储计算机节点303,305,307;存储区域网络315;一个或多个磁盘存储组件317,319,321。集群文件系统备份体系结构的一部分包括备份客户端组件323,加密密钥事件处理器模块325驻留在该备份客户端组件323上。

加密密钥事件处理器325记录所有预先存在的或新创建的文件对象的FEK状态的变化。备份客户端323及其驻留加密密钥事件处理器325连接到备份服务器327,对应于图2中的组件205.该连接使得能够备份和恢复本地计算机节点303,305,307之间的文件系统对象。在备份操作中,基于在加密密钥事件处理器325上收集的信息,备份客户端323具有必要的信息,以在变更或新创建的文件的情况下确定完整文件。需要将其关联的FEK发送到备份服务器327,或者,在新加密的现有文件或由于MEK的改变而锁定的密钥已经改变的文件的情况下(图1中的103),仅改变了的锁定密钥(而不是文件内容)必须被发送到备份服务器327。

类似地,在恢复操作中,借助于加密密钥事件处理器325,可以确定文件及其锁定密钥在备份服务器327上是否是当前的并且因此适合于恢复。加密密钥事件处理器325还指示文件内容或其锁定密钥在备份服务器327上是否不是当前的,从而防止发生恢复操作。

图4表示端到端备份加密流程图,更详细地示出了图2中描述的备份过程。块401对应于过程的开始。在块403中,对于先前未备份的文件,读取加密文件对象的数据并将其复制到备份服务器(图3中的组件327)。在框405中,读取包括锁定密钥的文件对象的元数据以及诸如文件的源,作者,创意软件及其创建日期之类的信息并将其复制到备份服务器。在块407中,对于加密文件对象,从元数据中读取通过用MEK(图1中的103)加密FEK(图1中的101)而生成的其关联锁定密钥,以在块409中使用。在块409中,将备份文件对象的ID和未改变的加密状态添加到备份对象的表中,该备份对象表由图3的加密密钥事件处理器325注册。或者,在该情况下对于表中的现有条目,更新信息以指示相对于对象的本地副本的未更改的加密状态。该过程以框411结束。

图5描绘了更详细地示出图2中概述的恢复过程的流程图。备份文件恢复到文件系统的恢复过程只有在首先由包含在其上的信息确定时才会发生。加密密钥事件处理器(图3中的325),文件的内容和驻留在备份服务器上的锁定密钥(图3中的327)都是最新的。也就是说,备份服务器上的文件的加密密钥是当前的,这反映在文件对象表及其相关的加密状态中。决定如下:

如果关于希望恢复的文件对象的加密密钥事件处理器(图3中的325)中的表中的指示是其关联的FEK是新的并且备份服务器上存在FEK,则不允许恢复。这是因为备份服务器上的关联FEK与当前与本地文件关联的FEK不匹配,这意味着文件的内容在备份上不是最新的,因此不适合恢复。在这种情况下,如果备份服务器上不存在FEK,则还不允许恢复,因为备份服务器上的加密状态和与要恢复的文件关联的本地服务器不匹配,因此具有与该不是最新的文件关联的加密状态。

如果希望恢复的文件对象的表条目指示其关联的FEK已更改且备份服务器上存在FEK,则不允许恢复。这是因为,在这种情况下,改变的FEK表示用于从各个FEK创建锁定密钥的MEK(图1中的103)已经改变。因此,由于更改了锁定密钥,备份文件将无法在恢复时正确解密。在这种情况下,如果备份服务器上不存在FEK,则不允许恢复,因为备份服务器上要恢复的文件的加密状态表示文件实际加密时未加密的文件。

如果要恢复的文件对象的文件加密状态指示文件对象不存在加密状态且备份服务器上存在FEK,则不允许恢复。这是因为要恢复的本地文件未加密,而备份服务器上的副本是加密的。但是,在这种情况下,如果备份服务器上不存在FEK,则对于没有关联加密状态的文件对象,由于要恢复的本地文件及其备份副本都未加密,因此允许恢复。在这种情况下,有必要通过使用正常备份过程来检查文件的内容是否已更改,因为其内容可以更改但保持未加密。

对于要恢复的文件对象,其表条目指示未更改的文件加密状态并且备份服务器上存在FEK,则允许恢复,因为未更改状态表示要恢复的文件的备份服务器副本的内容和锁定密钥与本地文件的内容和锁定密钥匹配。在这种情况下,备份服务器上不可能存在FEK。

块501开始该过程。在框503中,恢复客户端从备份服务器接收加密的文件对象数据,并将加密的数据写入文件系统。在块505中,恢复客户端从备份服务器接收包含文件对象的锁定密钥的文件对象元数据,并将元数据写入文件系统。在块507中,恢复客户端从接收的元数据中选择与所述对象相关联的文件对象的锁定密钥,以在块509中使用。在块509中,在备份表中重置恢复的文件对象的加密状态。驻留在图3的加密密钥事件处理器325上的文件对象指示未改变的加密状态。块511终止该过程。

图6描绘了在第一备份操作之后保持在加密密钥事件处理器(图3中的325)上的表601的示例。在603中示出了后续备份操作之后的表的示例。如图4的步骤409中所述创建和更新该表。如图5的详细描述,确定文件的恢复操作。允许来自备份服务器的恢复决策矩阵605由加密密钥事件处理器(图3中的325)使用。

如果必须使用端到端加密方法创建备份副本,则新的备份客户端(图3中的323)和备份服务器(图3中的327)可以解决必须再次解密和加密文件的问题。此外,不能自动检测加密密钥层次的变化的问题可以通过新的加密事件处理系统(图3中的325)来解决。因此,如果需要,通过启动文件的新备份来处理使备份副本无效的加密密钥层次结构的更改。通过自动检测加密密钥更改并在备份服务器中启动文件更新,避免了由于更改的加密密钥而无法恢复备份服务器中的文件版本的问题。

图3描绘了端到端备份加密系统ETEBE,其包括第一模块,用于实现文件的单个端到端加密以及连续检测加密密钥层次结构中的变化。如果由于加密密钥更改而导致文件的备份副本无效,则此类更改将由加密密钥事件处理器模块EKEH自动记录(EKEH)(图3中的325并对应于第一个模块的示例)集成到备份中客户端(图3中的323),并且在备份操作中,该信息用于确定是否需要备份文件内容及其相关加密密钥或仅加密密钥。

EKEH模块(图3中的325)为每个备份文件系统维护一个表(图3中的301)。该表包括文件系统标识符文件系统ID,它是用于标识文件系统的唯一标识符。此外,该表包括对象标识符对象ID,其是特定文件系统的唯一标识符,例如已经由备份客户端备份的文件和目录(图3中的323)。由唯一对象ID标识的每个文件系统对象在表中仅出现一次。该表还包括文件加密密钥状态FEK状态,其值可以为:新的(文件加密密钥是新的,备份中没有密钥存在),改变的(文件加密密钥自上次备份后更改),无FEK(文件被解密,文件系统中不存在加密密钥)和未改变的(文件系统和备份中的加密密钥相等,成功备份后无加密密钥更改时重置为未改变的)。

ETEBE系统和方法配置为自动检测文件系统中加密密钥的更改,如下所示:

作为第一模块的示例,EKEH模块(图3中的325)为已经备份的文件注册加密密钥事件。已注册的事件是:创建(如果为文件系统对象生成加密密钥,则会发生-这意味着文件系统对象是新加密的,因为新创建了文件系统对象,更改了其内容或加密先前未加密的文件系统对象。),改变(由于MEK(图3中的103)因文件系统对象的加密密钥发生变化而发生变化,导致FEK(图1中的101)变为是新加密的,导致新的锁定密钥)和破坏(如果为文件系统对象删除了加密密钥,则会发生-意味着文件系统对象被解密。

加密密钥事件用于使用事件类型产生的适当信息更新表。

ETEBE系统和方法配置为读取加密文件并创建增量备份副本,而不通过图4中概述的步骤解密信息.ETEBE系统和方法还配置为提供有关从中恢复文件的能力的信息。备份服务器(图3中的327)。将加密文件恢复到文件系统(图3中的301)的步骤如图5所示。但是,首先详细讨论备份过程。

在第一次备份期间,备份客户端(图3中的323)通过遍历文件系统结构并读取每个文件的文件数据并将其复制到备份服务器来启动文件系统的增量备份副本(图3中的327))。如果文件数据被加密,则加密数据在没有解密的情况下被发送,并且加密密钥与文件的元数据一起也被发送到备份服务器(图3中的327)。对于每个备份的文件系统对象,使用给定的文件系统ID和对象ID创建表中的条目。FEK状态列填充如下:如果文件系统对象具有文件加密密钥(FEK),则FEK状态列为未改变。如果文件系统对象没有文件加密密钥(FEK),则FEK状态列为无FEK。

在初始备份之后,该表可以如图6中的初始备份601之后所示出现。

初始备份后,加密密钥事件创建,改变和破坏用于使用事件类型产生的FEK状态列中的相应信息更新表。EKEH(图3中的325)从事件中检索对象ID并搜索表中的适当条目。EKEH(图3中的325)从事件中检索事件类型并更新表中的FEK状态列,如下所示:如果事件类型为“创建”,则FEK状态将从“无FEK”更改为“新”。如果事件类型为“改变”,则FEK状态将从“新”或“未改变”变为“改变的”。如果事件类型为“破坏”,则FEK状态将从“新”,“未改变”或“改变的”变为“无FEK”。基于所接收事件的表的更新连续执行,直到下一次备份发生。

在后续备份期间,备份客户端(图3中的323)通过遍历文件系统结构并读取现有技术中所做的已更改文件的文件数据来启动文件系统的增量备份副本,并将其复制到备份服务器(图3中的327)。如果文件数据被加密,则加密数据在没有解密的情况下被发送,并且加密密钥与文件的元数据一起也被发送到备份服务器(图3中的327)。对于表中不存在条目的每个备份文件系统对象,将使用给定的文件系统ID和对象ID创建条目。FEK状态列填充如下:如果文件系统对象具有文件加密密钥(FEK),则FEK状态列为未改变的。如果文件系统对象没有文件加密密钥(FEK),则FEK状态列为无FEK。如果表中存在备份文件系统对象的条目,则该条目的FEK状态将设置为未改变的。

在后续备份之后,该表可以如图6中的后续备份603所示出现。

在文件恢复期间,备份客户端(图3中的323)确定每个请求的对象是否允许恢复。这是必要的,以避免文件系统上的文件具有新的FEK(图1中的101),而该文件的备份版本具有旧的或不存在的FEK(图1中的101)并且会用错误的信息覆盖本地文件。对于该确定,备份客户端(图3中的323)使用矩阵来确定是否允许恢复。矩阵包括表中已知的本地文件的FEK状态,以及存储在备份服务器(图3中的360)上的相应文件是否具有FEK的信息。矩阵形式由图6中的恢复决策矩阵605说明。

对于存在于本地文件系统上的文件对象,并且需要覆盖或放置到文件对象的备用位置,使用矩阵需要通过其对象ID搜索文件对象,读取其FEK状态,以及如果备份对象具有FEK,则查询备份服务器(图3中的327)以获取信息。然后使用该信息查找本地文件具有适当FEK状态的行以及备份服务器上具有适当备份文件的FEK状态的列(图3中的327)。找到交叉点并在是否允许恢复时读取。

从矩阵可以看出,只有两种状态允许恢复,即:1)如果本地文件没有FEK,备份服务器上的相应文件(图3中的327)也没有FEK;2)如果本地文件具有未改变的FEK,并且备份服务器上的相应文件(图3中的327)也具有FEK。

如果ETEBE系统确定允许恢复,则备份客户端(图3中的323)执行图5中概述的步骤,以将备份文件从备份服务器复制到本地文件系统。

图7描绘了根据本发明实施例的在图2的系统200中使用的计算设备的组件的框图。应当理解,图7仅提供了一个实现的说明,并不暗示关于可以实现不同实施例的环境的任何限制。可以对所描绘的环境进行许多修改。

计算设备可以包括一个或多个处理器02,一个或多个计算机可读RAM 04,一个或多个计算机可读ROM 06,一个或多个计算机可读存储介质08,设备驱动器12,读/写驱动器或接口14,网络适配器或接口16全部通过通信结构18互连。通信结构18可以用任何设计用于在处理器(例如微处理器,通信和网络处理器等),系统存储器之间传递数据和/或控制信息的架构来实现。外围设备以及系统中的任何其他硬件组件。

一个或多个操作系统10和一个或多个应用程序11存储在一个或多个计算机可读存储介质08上,用于由一个或多个处理器02通过一个或多个相应的RAM 04(通常包括一个或多个RAM)执行。高速缓存存储器)。在所示实施例中,计算机可读存储介质08中的每一个可以是内部硬盘驱动器,CD-ROM,DVD,记忆棒,磁带,磁盘,光盘,诸如半导体存储设备的磁盘存储设备。RAM,ROM,EPROM,闪存或可以存储计算机程序和数字信息的任何其他计算机可读有形存储设备。

计算设备还可以包括读/写驱动器或接口14,以从一个或多个便携式计算机可读存储介质26读取和写入。计算设备上的应用程序11可以存储在便携式计算机可读存储介质中的一个或多个上。如图26所示,通过相应的读/写驱动器或接口14读取并加载到相应的计算机可读存储介质08中。

计算设备还可以包括网络适配器或接口16,例如TCP/IP适配器卡或无线通信适配器(诸如使用OFDMA技术的4G无线通信适配器)。计算设备上的应用程序11可以经由网络(例如,因特网,局域网或其他广域网或无线网络)和网络适配器或接口16从外部计算机或外部存储设备下载到计算设备。从网络适配器或接口16,程序可以加载到计算机可读存储介质08上。网络可以包括铜线,光纤,无线传输,路由器,防火墙,交换机,网关计算机和/或边缘服务器。

计算设备还可以包括显示屏20,键盘或小键盘22,以及计算机鼠标或触摸板24.设备驱动器12连接到显示屏20,用于成像,键盘或小键盘22,计算机鼠标或触摸板24,和/或或显示屏幕20,用于压力感测字母数字字符输入和用户选择。设备驱动器12,读/写驱动器或接口14以及网络适配器或接口16可以包括硬件和软件(存储在计算机可读存储介质08和/或ROM 06上)。

这里描述的程序是基于在本发明的特定实施例中实现它们的应用程序来识别的。然而,应当理解,本文中的任何特定程序术语仅仅是为了方便而使用,因此本发明不应限于仅用于由这种术语识别和/或暗示的任何特定应用。

基于前述内容,已经公开了计算机系统,方法和计算机程序产品。然而,在不脱离本发明的范围的情况下,可以进行许多修改和替换。因此,已经通过示例而非限制的方式公开了本发明。

本发明可以是任何可能的技术细节集成级别的系统,方法和/或计算机程序产品。该计算机程序产品可以包括计算机可读存储介质(或介质),其上具有计算机可读程序指令,用于使处理器执行本发明的各方面。

计算机可读存储介质可以是有形设备,其可以保留和存储指令以供指令执行设备使用。计算机可读存储介质可以是例如但不限于电子存储设备,磁存储设备,光存储设备,电磁存储设备,半导体存储设备或前述的任何合适组合。计算机可读存储介质的更具体示例的非详尽列表包括以下内容:便携式计算机磁盘,硬盘,随机存取存储器(RAM),只读存储器(ROM),可擦除可编程读取器-仅存储器(EPROM或闪存),静态随机存取存储器(SRAM),便携式光盘只读存储器(CD-ROM),数字通用光盘(DVD),记忆棒,软盘,机械编码装置,例如在其上记录有指令的凹槽中的穿孔卡或凸起结构,以及前述的任何合适的组合。这里使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波,通过波导或其他传输介质传播的电磁波(例如,通过的光脉冲)光纤电缆)或通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1