管理数据删除的方法和装置的制作方法

文档序号:6566470阅读:164来源:国知局

专利名称::管理数据删除的方法和装置的制作方法
技术领域
:本发明涉及数据存储,特别是涉及用于管理存储系统上保存的数据的删除的方法和装置。
背景技术
:存储系统通常具有有限的数据存储容量。因而,保存在存储系统上的数据有时被有意删除以使存储空间可用于新数据。数据也可被无意删除,例如,如果用户删除仍在使用的数据,则认为该数据不再需要。另外,存储系统上的数据可由寻求对组织数据搞破坏或试图掩盖数据中备有证明文件的不道德活动的恶意用户以未经授权的方式删除。
发明内容本发明的一说明性实施例致力于从存储系统删除内容单元的方法。所述方法包括接收删除内容单元的请求;响应于所述请求,创建确定所述内容单元的反射;将所述反射保存在存储系统上;及从存储系统删除所述内容单元。另一说明性实施例致力于编码以指令的至少一计算机可读介质,当所述指令在计算机系统上运行时,执行上述方法。另一说明性实施例致力于保存内容单元的存储系统。存储系统包括输入装置;及连到输入装置的至少一控制器,其接收删除内容单元的请求;响应于所述请求,创建确定所述内容单元的反射;将所述反射保存在存储系统上;及从存储系统删除所述内容单元。另一说明性实施例致力于在存储系统中处理访问内容单元的请求的方法,所述方法包括响应于所述访问请求,确定对于所述内容单元的反射是否保存在存储系统上,所述反射指示所述内容单元先前保存在存储系统上但已被删除。另一说明性实施例致力于编码以指令的至少一计算机可读介质,当所述指令在计算机系统上运行时,执行上述方法。另一说明性实施例致力于进行配置以处理访问内容单元的请求的存储系统。所述存储系统包括输入装置;及连到所述输入装置的至少一控制器,其响应于所述访问请求,确定对于所述内容单元的反射是否保存在存储系统上,所述反射指示所述内容单元先前保存在存储系统上但已被删除。另一说明性实施例致力于管理存储系统上的内容单元的方法,所述存储系统保存多个内容单元。该方法包括响应于将新内容单元保存在存储系统上的请求,将确定新内容单元保存在存储系统上的时间的信息保存在存储系统上;及响应于从存储系统删除先前保存的内容单元的请求,将反射保存在存储系统上,所述反射确定先前保存的内容单元并包括确定先前保存的内容单元从存储系统删除的时间的信息。另一说明性实施例致力于编码以指令的至少一计算机可读介质,当所述指令在计算机系统上运行时,执行上述方法。另一说明性实施例致力于配置成保存多个内容单元的存储系统,包括至少一存储装置;及至少一控制器,其响应于将新内容单元保存在存储系统的至少一存储装置上的请求,将确定新内容单元保存在存储系统上的时间的信息保存在存储系统上;及响应于从存储系统删除先前保存的内容单元的请求,将反射保存在存储系统的至少一存储装置上,所述反射确定先前保存的内容单元并包括确定先前保存的内容单元从存储系统删除的时间的信息。另一说明性实施例致力于管理存储系统上的内容单元的方法,所述存储系统保存内容单元。所述方法包括响应于确定在指定时间保存于存储系统上的内容单元的请求,确定在接收到所述请求时存储系统上保存的哪些内容单元在指定时间保存于存储系统上;及通过检査删除的内容单元的反射确定从存储系统删除的哪些内容单元在指定时间保存于存储系统上,每一反射确定至少一相应的已删除内容单元并包括确定至少一相应的已删除内容单元从存储系统删除的时间的信息。另一说明性实施例致力于编码以指令的至少一计算机可读介质,当所述指令在计算机系统上运行时,执行上述方法。另一说明性实施例致力于配置成管理内容单元的存储系统。所述存储系统包括输入装置;及至少一控制器,其响应于确定在指定时间保存于存储系统上的内容单元的请求,确定在接收到所述请求时存储系统上保存的哪些内容单元在指定时间保存于存储系统上;及通过检査删除的内容单元的反射确定从存储系统删除的哪些内容单元在指定时间保存于存储系统上,每一反射确定至少一相应的已删除内容单元并包括确定至少一相应的已删除内容单元从存储系统删除的时间的信息。另一说明性实施例致力于一种方法,其包括响应于从至少一存储系统删除第一内容单元的请求,所述第一内容单元具有内容及指明第一内容单元将被保留的时间段的第一保持周期,所述请求在第一保持周期期满之前接收到,删除第一内容单元;创建第二内容单元以代替第一内容单元,第二内容单元包括第一内容单元的至少部分内容并具有不同于第一保持周期的第二保持周期;及创建用于第一内容单元的反射,其中所述反射确定第二内容单元为第一内容单元的替换。另一说明性实施例致力于编码以指令的至少一计算机可读介质,当所述指令在计算机系统上运行时,执行上述方法。另一说明性实施例致力于存储系统,包括输入装置;连到所述输入装置的至少一控制器,其响应于从至少一存储系统删除第一内容单元的请求,所述第一内容单元具有内容及指明第一内容单元将被保留的时间段的第一保持周期,所述请求在第一保持周期期满之前接收到,删除第一内容单元;创建第二内容单元以代替第一内容单元,第二内容单元包括第一内容单元的至少部分内容并具有不同于第一保持周期的第二保持周期;及创建用于第一内容单元的反射,其中所述反射确定第二内容单元为第一内容单元的替换。图1为根据本发明的一说明性实施例,示出从存储系统删除内容单元同时留下所述内容单元的反射的过程的流程图。图2为根据一说明性实施例,存储系统处理删除请求及创建反射的示意图。图3为根据一与可内容寻址存储系统一起使用的说明性实施例,用于确定反射的内容地址的过程的例子的示意图。图4为本发明的一些实施例可于其上实施的存储系统的框图。图5为根据一实施例,示出万一未能适当删除内容单元时反射的使用的示意图。及图6为根据一实施例,使用反射修改内容单元的保持周期的示意图。具体实施例方式申请人已意识到,现有技术存储系统可允许删除其上保存的数据,但可提供有限的跟踪删除或恢复无意删除的数据的能力,或者根本没有这样的能力。因而,系统管理员很难或不可能确定数据在何时删除、为什么删除、及由谁删除。特定类型的存储系统的例子是可内容寻址存储(CAS)系统,其接收和处理删除由内容地址确定的内容单元的请求。CAS是这样一种技术,通过其保存在存储系统上的内容单元可通过使用源自内容单元的内容的地址进行访问。作为例子,内容单元可提供为散列函数的输入,所述散列函数产生可用作内容单元的内容地址的散列值。适于产生内容地址的散列函数的例子是消息摘要5(MD5)散列算法。当主计算机发送请求给CAS系统以取回数据单元时,主机提供内容单元的内容地址(如散列值)。之后,存储系统基于内容地址确定内容单元在存储系统中的物理位置,从该位置取回内容单元,及将内容单元返回给主计算机。示例性的CAS系统在下面表1中列出的专利申请中详细描述,每一所述专利申请均通过引用全部组合于此。CAS系统可以多种方式保存和管理内容单元。在表l的申请中描述的示例性系统中,内容单元可保存为文件系统中的文件,及各种各样的数据库可用于管理内容单元和跟踪内容单元在CAS系统上的存储位置。当CAS系统接收到删除特定内容单元的请求时,其可从文件系统删除与该内容单元相关联的文件并删除对CAS系统数据库中的内容单元的引用。因而,当CAS系统随后接收到读所述内容单元的请求时,CAS系统将不能定位和取回所述内容单元(尽管事实是,实际的内容数据仍然保存在存储系统中如磁盘上(当CAS系统使用磁盘存储时))。常规CAS系统不记录删除日志或创建审计踪迹从而不能随后跟踪删除。此外,申请人己认识到,在现有技术CAS系统中,其中内容单元镜象在CAS系统上,已被删除的内容单元可能不合需要地由CAS系统再生。例如,当CAS系统为分布式存储系统时,这种情形可能发生。分布式存储系统是包括多个独立结点的系统,每一结点具有其自己的处理资源,这些资源连在一起(如通过通信网络)并一起运行以提供存储系统功能。在表l的申请中描述的一些示例性CAS系统中,独立的结点可包括处理访问请求的访问结点和保存数据的存储结点。当内容单元保存在存储结点之一上时,内容单元可被镜象到另一存储结点,使得在主要存储结点失效的情况下存在内容单元的镜象拷贝。然而,当CAS系统接收删除内容单元的请求时如果保存内容单元的存储结点之一脱机(如由于临时故障),内容单元不能从该存储结点删除。CAS系统可能具有控制复带J进程并确保内容单元被复制的后台进程。因而,当存储结点重新联机时,检查以确保内容单元被镜象的后台进程可确定内容单元未被镜象并可在不同的存储结点上创建该内容单元的镜象拷贝并用关于该内容单元的信息重新填充CAS系统数据库。因此,CAS系统可响应于将来的读请求返回内容单元,尽管已接收和处理删除该内容单元的请求。此外,CAS系统可进行配置以将数据复制到远程CAS系统(即将内容单元镜象到远程CAS系统)。因而,由本地CAS系统接收的任何写请求可被复制到远程CAS系统(例如,使得万一灾难性故障时存在CAS系统的镜象)。然而,申请人已意识到,删除请求不可复制。也就是说,当删除内容单元的请求由本地CAS系统处理时,内容单元仅从该CAS系统删除,而不由远程CAS系统处理。因而,如果内容单元保存在本地和远程CAS系统上,删除内容单元的请求仅可导致内容单元的一个拷贝的删除,从而内容单元的一个或多个拷贝仍然存在。另外,申请人已意识到,一些现有技术CAS系统不能保证在内容单元删除之前复制。也就是说,例如,用户可具有本地CAS系统,其被配置成使得其保存的每一内容单元归档到远程CAS系统。用户希望当从本地CAS系统删除内容单元时,所述内容单元不从远程CAS系统删除,使得远程CAS系统保存写入本地CAS系统的每一内容单元,不管该内容单元是否依然由本地CAS系统保存。然而,复制可能异步发生。即,保存到本地CAS系统的内容单元可能不立即复制到远程CAS系统。因而,在内容单元复制到远程CAS系统之前,本地CAS系统可能接收删除内容单元的请求并将其删除。结果,内容单元可能被从本地CAS系统删除并永远不可按计划复制到远程CAS系统。申请人还已意识到,在现有技术CAS系统中,由删除释放的存储空间的量未被记录。因而,很难确定CAS系统上有多少存储空间可用。例如,可用的存储容量可通过保持写入存储系统的所有内容单元的总大小的连续计数并从总可用容量减去该数进行确定。然而,申请人已意识到,当内容单元被删除时,内容单元的大小不被加回总可用容量从而不能说明删除释放的存储空间量。本发明的不同实施例解决现有技术存储系统的这些局限性。然而,应意识到,本发明的每一实施例不必须克服所有这些局限性。实际上,本发明的实施例可解决部分、所有上述现有技术局限性,甚或不解决所述局限性。本发明的一实施例致力于跟踪存储系统上内容单元的删除,使得关于删除的记录存在。这样的记录可以任何适当的方式保存,因为本发明在这方面没有限制。在一实施例中,当存储系统接收到删除内容单元的请求时,存储系统可创建另一内容单元,在此称为反射,以代替所述内容单元并包括可用于跟踪内容单元的删除的信息。反射可保存在存储系统上(或别处),且被请求删除的内容单元可被删除、指定删除或移动。本发明的一些实施例可于其上实施的存储系统的例子如图4中所示。在图4中,存储系统401包括处理器405、网络接口403、存储器409(随机存取存储器)、及数据如内容单元可保存于其上的存储装置.407(如磁盘驱动器),所述网络接口可连到网络以使存储系统401能在网络上发送和接收通信。应意识到,图4中所示的存储系统仅是本发明的实施例可于其上实施的存储系统的一个例子,本发明在这方面没有限制,因为本发明的实施例可于其上实施的存储系统在材料方面可与图4中所示的存储系统不同。例如,在图4中,存储系统401仅包括一个存储装置407和一个处理器405。本发明在这方面没有限制,因为本发明可于其上实施的存储系统可包括任何适当数量的存储装置和/或任何适当数量的处理器。此外,存储系统可以是包括多个独立结点的分布式存储系统(上面详述),每一结点包括单独的存储装置和处理资源。处理删除请求的例子如图2中所示。在图2中,计算机系统200包括主计算机201和保存内容单元207的存储系统203。存储系统可以是任何类型的存储系统。在一实施例中,存储系统203可以是采取表1列出的申请中描述的任何形式的CAS系统。然而,本发明在这方面没有限制,且可与其它类型的存储系统一起使用。响应于删除内容单元207的请求205,创建反射209(如由存储系统203),其确定内容单元207并包括另外的关于内容单元207及其删除的信息。反射可包括任何适当的信息。例如,反射可包括将要删除的内容单元的一部分(或所有)内容、确定将要删除的内容单元的信息、和/或审计信息。例如,审计信息可包括内容单元的删除时间、产生删除内容单元的请求的用户或应用程序、产生删除内容单元的请求的计算机的网络地址、将要删除的内容单元的大小、和/或任何其它适当的信息。在一实施例中,反射还可包括指示反射是反射和/或不是实际内容单元的标记。标记可以任何适当的方式包括在反射中,因为本发明在这方面没有限制。例如,标记可以是反射的内容的一部分。在反射作为文件系统中的文件保存在存储系统上的本发明实施例中,标记可以是反射的文件名的一部分,但致力于保存反射的实施例在这方面没有限制。在实施在CAS系统上的本发明实施例中,反射可被赋予至少部分从反射的内容计算的内容地址。指示内容单元是反射的标记可形成反射的内容地址的一部分。CAS系统可将内容单元保存为文件系统中的文件,并将内容单元的内容地址使用为对于所述内容单元的文件的文件名(或文件名的部分)。在这方面,指示内容单元是反射的标记可位于反射的内容地址及所述反射的文件的文件名中。应意识到,致力于在CAS系统上使用的实施例不限于在采用文fl^系统保存内容单元和/或反射的CAS系统上使用。实际上,CAS系统可以任何适当的方式保存内容单元,因为本发明在这方面没有限制。在这方面,本发明不限于将内容单元的内容地址放在文件的文件名中,因为内容地址可以任何适当的方式与内容相关联(如使用数据库表)。反射可确定其对应的内容单元,使得可确定反射中保存的信息从属于哪一内容单元,并使得可找到反射中保存的信息。特定内容单元的反射可以任何适当的方式确定内容单元。例如,反射的内容可包括确定内容单元的信息(如内容单元当保存在文件系统中时的文件名)。在本发明与CAS系统一起使用的实施例中,内容单元的内容地址可包括在反射中。例如,删除的内容单元的内容地址可包括在反射的内容中或可包括在反射的内容地址中。例如,反射的内容地址可包括至少部分从反射的内容及反射对应的内容单元的内容地址产生的散列值。反射的内容地址还可包括另外的信息,如指示创建反射的时间(或大致时间)的时间戳、可包括在内容地址中以保证没有两个内容单元具有相同内容地址的全局唯一标识符(GUID)、和/或其它适当的信息。因而,例如,如图3中所示,反射303可使用散列函数307进行散列,从而得到为DEF456的散列值309。反射可代替具有为ABC123的内容地址305的内容单元301。内容地址305可与散列值309结合得到用于反射303的为ABC123.DEF456的内容地址311。应意识到,上述例子中提供的内容地址仅是内容地址的适当格式的例子,本发明在这方面没有限制。即,在上述例子中,内容地址为二进制数的ASCII字符表示。内容地址不必须由ASCII字符表示,因为本发明在这方面没有限制。此外,在上面提供的例子中,内容单元的内容地址包括6个字符,反射的内容地址包括12个字符。本发明在这方面没有限制,因为这样的内容地址可包括任何适当数量的字符(或二进位)。在计算和保存反射内容的散列的实施例中,反射的完整性可在以后的时间进行确认。例如,当反射被访问时,反射的内容可被散列并与先前计算的内容地址散列值进行比较。如果两个值不匹配,则反射的内容可能已被破坏或改变。如上所述,响应于删除内容单元的请求,内容单元可被删除、指定删除、或移到不同位置。这可以任何适当的方式进行,因为本发明在这方面没有限制。例如,如果内容单元保存为文件系统中的文件,对应于内容单元的文件可从文件系统删除。如上所述,一实施例可与表1的申请中描述的CAS系统一起使用。部分所述CAS系统可将内容保存在称为二进制大对象的单元中。例如,二进制大对象可以是二进制数据,如病人x光照片、公司财务记录、或任何其它适当类型的数据。每一二进制大对象具有至少一与其相关联的内容描述符文件(CDF)。与二进制大对象相关联的CDF可包括二进制大对象的元数据及对二进制大对象的引用(如二进制大对象的内容地址)。CDF可引用多个二进制大对象或CDF,使得CDF包括多个所引用二进制大对象的引用和元数据。'CAS系统不允许直接删除二进制大对象。S卩,CDF可被直接删除,但删除二进制大对象的请求可能被CAS系统拒绝。二进制大对象可由CAS系统的后台无用信息收集进程删除,其确定二进制大对象是否被任何CDF引用。如果二进制大对象未由任何CDF引用,二进制大对象可由无用信息收集进程删除。根据与刚才所述的、将内容保存为二进制大对象和CDF的CAS系统一起使用的一实施例,删除请求可按图1中所示进行处理。在步骤101,删除CDF的请求由CAS系统接收。过程进行到步骤103,CAS系统创建代替CDF的反射。反射可以任何适当的方式创建。如上所述,CAS系统可包括用于管理内容单元和跟踪内容单元在CAS系统上的位置的一个或多个数据库。根据本发明的一实施例,当反射被创建时,这些数据库可被更新以包括所述反射,例如,从而使能响应于随后的读请求找到反射。接着,过程进行到步骤105,CAS系统的数据库中的任何对CDF的引用可被删除。其后,过程进行到步骤107,CDF被移到文件系统中的临时目录。一旦对CDF的引用被从CAS系统的数据库删除且CDF从其文件系统位置移走,随后的访问所述CDF的请求将失败。所述CDF可保存在临时目录中用于无用信息收集目的。艮卩,CAS系统可保持对CAS系统上保存的每一二进制大对象的引用计数,其指示引用二进制大对象的CDF的数量。后台无用信息收集进程可定期检查临时目录并可更新对应于在临时目录中找到的CDF的二进制大对象的引用计数。即,无用信息收集进程可到删除的CDF所在的临时目录、确定CDF引用的二进制大对象、及递减这些二进制大对象的引用计数。之后,无用信息收集进程可确定是否CDF引用的二进制大对象的任何引用计数为O,并可删除引用计数为0的任何二进制大对象。一旦完成对临时目录中的CDF的处理,无用信息收集进程可从文件系统删除CDF。如上所述,在一实施例中,响应于删除请求,内容单元可从其所在的存储系统上删除,但被移到另一存储位置以保持内容单元可取回的可能性。这可以任何适当的方式进行。例如,反射可被创建成包括指示内容单元在另一存储系统上的位置的信息。在一实施例中,另一存储系统是磁带存储系统。然而,应意识到,本发明在这方面没有限制,因为删除的内容单元所移到的存储位置可以是任何适当的存储位置,如采用磁盘或光盘存储装置的存储系统上的位置。如上所述,在写入本地CAS系统的内容单元被复制到另一远程CAS系统的一些现有技术系统中,删除本地CAS系统的内容单元的请求不可复制到也保存内容单元的远程CAS系统,从而内容单元未从远程CAS系统删除。在本发明的一实施例中,其中CAS系统配置成将内容单元复制到一个或多个远程CAS系统,当内容单元在CAS系统上被删除时,内容单元也可在其先前复制到的任何远程CAS系统上删除。这可以任何适当的方式进行。例如,所删除内容单元的反射可复制到远程CAS系统。g口,当CAS系统接收删除内容单元的请求时,内容单元可被删除及反射可创建在CAS系统上。之后,所述反射可复制到保存所述内容单元的拷贝的任何其它CAS系统。所述其它CAS系统可被配置成,当接收到所复制的反射时,找到代替其的内容单元并使用任何适当的技术(其例子在上面结合图1描述)将所述内容单元删除。在某些情形下,可能希望数据从本地CAS系统删除但不删除其先前复制到的远程CAS系统上的拷贝,使得远程CAS系统可用作本地CAS系统的档案库存储器(例如,使得从本地CAS系统删除的内容单元可恢复)。在这些情况下,当反射从本地CAS系统复制到远程CAS系统时,远程CAS系统可保存反射但不删除与该反射相关联的内容单元。或者,在这些情况下,反射不可从本地CAS系统复制到远程CAS系统。如上所述,在本地CAS系统被配置成将内容单元复制到远程CAS系统的情形中,可能希望确保在保存到本地CAS系统的内容单元被从本地CAS系统删除之前其复制到远程CAS系统。在本发明配置成用于远程复制内容单元的系统的一实施例中,内容单元不可从本地CAS—系统删除,直到它们已被复制到远程CAS系统为止。这可以任何适当的方式进行。例如,本地CAS系统可被配置成仅在内容单元的反射已被复制之后删除内容单元。当本地CAS系统接收到删除内容单元的请求时,可创建所述内容单元的反射,但推迟内容单元的删除。在本地CAS系统上运行的复制进程可被配置成按时间顺序复制内容单元,使得先创建的内容单元先被复制,并将最后复制所述内容单元的反射。一旦内容单元的反射已被复制,内容单元可从本地CAS系统删除。此外,由于内容单元在反射之前创建,内容单元将已经被复制到远程CAS系统。当远程系统接收到反射时,如上所述,其可删除相应的内容单元或保留它。在上述例子中,CAS系统被设计为本地CAS系统和远程CAS系统。在上述例子中的术语本地和远程仅用于区分接收请求的CAS系统(即本地CAS系统)和所述请求复制到其的CAS系统(即远程CAS系统)。如上所使用的,术语本地和远程不意为CAS系统之间的物理距离。在本地和远程CAS系统可实际上分开很大的物理距离的同时,本发明涉及与复制的内容单元一起使用的技术的各方面在这方面没有限制,因为本地和远程CAS系统也可在同一房间内或在同一计算机机柜或机架上。一旦内容单元已从存储系统删除,随后的请求内容单元的请求将不能定位内容单元,及访问内容单元的请求将失败。例如,访问请求可包括读请求、已存在请求或删除请求。已存在请求是请求存储系统确定特定内容单元是否已存在(即保存)于存储系统上。例如,存储系统可能接收读先前删除的内容单元的请求,其通过内容地址确定内容单元。存储系统可能试图基于内容地址查找内容单元。可用于查找存储系统上的内容单元的技术的例子在表1列出的专利申请中描述。然而,本发明不限于这些例子中的任一个,因为査找存储系统上的内容单元可以任何适当的方式进行。在上述例子中,其中内容单元被列在文件系统或存储系统的数据库中,在删除后,由于内容单元未被列在文件系统或存储系统的数据库中,则所述内容单元将不能由存储系统找到。然而,当基于所删除内容单元的内容地址搜索时,存储系统可找到在删除内容单元时创建的内容单元的反射。这可以任何适当的方式进行。例如,当所删除内容单元的反射包括所删除内容单元的内容地址时,搜索内容单元的内容地址将找到反射。当存储系统找到内容单元的反射且没有找到内容单元本身时,存储系统可以任何适当的方式响应于访问请求,因为本发明在这方面没有限制。例如,存储系统可向发出请求的实体指明内容单元不存在。或者,存储系统可指明反射存在和/或可返回反射。在某些情形下,存储系统可找到内容单元的反射及内容单元本-身。例如,这可在本发明的实施例在分布式CAS系统上实施时出现,其中CAS系统在两个不同的存储结点保存内容单元的两个拷贝。例如,如图5中所示,如果两个存储结点中的第一结点(即结点501)在接收到删除内容单元的请求时脱机,则内容单元可从第二存储结点(即结点503)删除。然而,由于结点501脱机,内容单元不可从结点501删除。此外,内容单元的反射505可被创建在结点503上,而不是结点501上。当结点501随后恢复联机时,响应于随后的访问内容单元的请求,存储系统可找到响应于删除请求创建的反射505和内容单元本身(即内容单元507)。当响应于访问请求同时找到内容单元的反射及内容单元时,存储系统可以任何适当的方式响应。例如,如图5中所示,存储系统可首先确定谁保存在存储系统上。如果内容单元先于反射保存,则存储系统可确定试图删除内容单元失败(如由于存储结点临时故障)并可例如删除内容单元或处理内容单元好像其不存在。如果反射先于内容单元保存,则存储系统可确定内容单元在删除请求被处理之后又重新写入存储系统,因此应保留其存在于存储系统上。存储系统可以任何适当的方式确定两个内容单元中的哪一个先被保存,因为本发明在这方面没有限制。例如,在本发明的一实施例中,内容单元的内容地址可包括指示内容单元初始保存时间的时间戳。存储系统可检查内容单元(即原始内容单元和反射)的时间戳以确定其中的每一个在何时保存。应意识到,这仅是存储系统可确定内容单元保存到存储系统上的时间的方式的一个例子,本发明在这方面没有限制。在一实施例中,存储系统可处理查询反射的请求。查询请求是返回与满足请求中指明的条件的内容单元相关联的信息(如内容地址)(和/或内容单元本身)的请求,例如,査询可请求关于在某一时间范围期间删除的所有内容单元的信息。作为响应,存储系统可确定在该时间范围期间创建的所有反射(如使用反射的内容地址中的时间戳)并返回与所删除内容单元相关联的信息(如反射的内容地址和/或反射本身)。申请人已意识到,当存储系统已长期运行时,存储系统可能保存大量反射,其占用存储系统的存储容量。因而,在本发明的一实施例中,反射本身可被删除(即不由另一反射代替)。这可以任何适当的方式进行。例如,存储系统可包括后台无用信息收集进程,其在反射已被保存一定时间之后将这些反射删除。或者,存储系统可允许存储系统的用户直接删除反射(如使用通过内容地址确定反射的删除请求)。在一实施例中,反射的删除可通过使用保持周期进行管理。如在表1中列出的、题为"存储系统中的数据保持方法和装置"的申请10/731,790中详细描述的,保持周期是与内容单元相关联的时间段,在其期间内容单元不可删除。当创建反射时保持周期可与反射关联,存储系统可被配置成,使得在保持周期期满之后存储系统删除反射。或者,保持分类可用于帮助删除反射。如表l中列出的、题为"修改存储系统中的数据保持周期的方法和装置"的申请10/762,044中详细描述的,通过将所有具有相同保持周期的内容单元放入保持分类而使保持分类应用于一组内容单元。保持分类可对反射进行创建并可具有与其相关联的某一保持周期。当创建反射时,其可被放入保持分类,从而赋予其保持周期。当其保持周期已期满时,反射可由存储系统自动删除。、应意识到,使用保持周期仅是反射的删除可被管理的一种方式,本发明在这方面没有限制,因为反射的删除可以任何适当的方式管理。此外,本发明不要求反射必须被删除,因为反射可保留在存储系统上而不被删除。在本发明的一实施例中,内容单元可因任何目的进行恢复(例如,如果认识到内容单元被无意删除且希望恢复该内容单元)。这可以任何适当的方式完成。例如,当删除内容单元且创建反射以代替内容单元时,内容单元的全部内容可保存在反射中。因而,如果希望在其删除之后恢复内容单元,内容可从反射进行恢复且内容单元可被重新写入存储系统。在内容单元存为二进制大对象和CDF的本发明实施例中,二进制大对象和CDF的反射可用于恢复这些内容单元,因为本发明在这方面没有限制。根据本发明的一实施例,采用使能确定在任何给定时间点什么被保存在存储系统上的技术。这可以任何适当的方式进行,因为本发明的该方面不限于任何特定的实施技术。例如,当与上述反射技术一起使用时,其中整个删除的内容单元可保存在反射中,为确定在特定时间点什么内容单元被保存在存储系统上,创建当前保存在存储系统上的所有内容单元的列表,不包括反射。之后,可确定哪些内容单元在指定时间点之后写入存储系统(如通过检査所有内容单元的内容地址中的时间戳)。这些内容单元可从列表中删除。接着,可确定哪些内容单元在指定时间之前写入且在指定时间之后删除。例如,这可通过找到具有指定日期之后的时间戳的所有反射并确定由这些反射中的每一个代替的内容单元是否在指定日期之前写入存储系统而完成。所删除内容单元被写入存储系统的时间可以任何适当的方式确定(如通过检查其反射的内容地址)。由于反射的内容地址包括所删除内容单元的内容地址,来自内容单元的内容地址的时间戳包括在反射的内容地址中。因而,所删除内容单元被写入存储系统的时间可通过检査反射的内容地址中的该时间戳进行确定。在指定时间点之前写入并在指定时间点之后删除的内容单元的任何反射均可添加到列表中。因而,列表可包括在指定时间点保存于存储系统上的所有内容单元。在另一实施例中,反射可用于使固定的内容可变。例如,内容单元可能被创建成具有不定的保持周期。在创建内容单元之后,可能需要改变其保持周期(如改为3年)。然而,保持周期可能保存在内容单元本身中,改变保持周期则改变内容单元的内容。因而,在保存于内容单元内的保持周期已被修改之后内容单元可能具有不同的内容地址。例如,具有不定保持周期的原始内容单元可具有为XYZABC的内容地址。在保持周期被修改为3年之后,内容单元可具有为KLMNOP的内容地址。因而,当接收到访问内容地址XYZABC的请求时,则找不到内容单元,因为内容单元的内容地址已改变。在本发明的一实施例中,当内容单元被改变时,导致其内容地址变化,反射可被创建并用作指向修改后的内容单元的新内容地址的指针。反射的内容地址可采取任何形式。在一例子中,反射的内容地址可以是内容单元的原始内容地址,与反射的散列值结合。因而,例如,如图6中所示,具有不定保持周期的内容单元601可具有为XYZABC的内容地址。内容单元601可被删除并用具有散列值QWERTY(及为XYZABC.QWERTY的内容地址)的反射603和具有与内容单元301相同内容的替换内容单元605代替,所述替换内容单元605具有为3年的保持周期。内容#"元605的内容地址可以是KLMNOP。反射603的内容可包括指向内容单元605的指针(如通过在其内容中包括内容单元605的内容地址)。因而,例如,反射的内容可包括KLMNOP。当接收到读内容地址XYZABC的请求时r存储系统可找到反射603并确定内容单元的新内容地址为KLMN0P。之后,存储系统可找到具有地址KLMN0P的内容单元并将该内容单元返回给发出请求的实体。本发明的上述实施例可在任何适当的系统上实施。适当系统的例子在下表l中列出的专利申请中描述(统称为"CAS申请"),每一申请通过引用组合于此。应意识到,在这些申请中描述的系统仅是本发明的实施例可于其上实施的系统的例子,因为本发明不限于在CAS系统上实施,而是可在任何适当类型的存储系统上实施。其中反射可创建用于修改保持周期的上述实施例在内容单元的保持周期将要期满的情形下是有用的。即,一旦内容单元的保持周期将要期满,内容单元可能被删除且没有办法再找到该内容单元。然而,通过创建延长内容单元的保持周期的替换内容单元及创建指向所述替换内容单元的反射,内容单元不可被无意删除(或别的方式删除)和永久丢失。表1<table>tableseeoriginaldocumentpage20</column></row><table><table>tableseeoriginaldocumentpage21</column></row><table><table>tableseeoriginaldocumentpage22</column></row><table>本发明的上述实施例可以多种方式中的任一方式实施。例如,实施例可使用硬件、软件或其组合实施。当以软件实施时,软件代码可在任何适当的处理器或处理器组上运行,无论提供在单一计算机中还是分布在多个计算机之间。应意识到,执行上述功能的任何组成部分或组成部分集合可被一般地视作控制上述功能的一个或多个控制器。一个或多个控制器可以多种方式中的任一方式实现,如使用微代码或软件编程以执行上述功能的专用硬件或通用硬件(如一个或多个处理器)。在这方面,应意识到,本发明的实施例的一种实施包括编码以计算机程序(即多条指令)的至少一计算机可读介质(如计算机存储器、软盘、光盘、磁带等),所述计算机程序在处理器上运行时执行本发明实施例的上述功能。计算机可读介质可移动,使得其上保存的程序可被装到任何计算机环境资源上以实现在此描述的本发明的各方面。此外,应意识到,提及当运行时执行上述功能的计算机程序时不限于在主计算机上运行的应用程序。而是,术语计算机程序在此按一般意义使用,其指可用于编程处理器以实施本发明的上述各方面的任何类型的计算机代码(如软件或微代码)。应意识到,根据其中方法实施在计算机可读介质中的本发明的几个实施例,计算机实施的方法在其运行过程期间也可接收人工输入(如从用户)。在上述的各个例子中,内容地址被描述为包括字母字符A-Z。应当理解,这些内容地址仅作为例子给出,内容地址可包括任何字母数字字符、比特串、或任何其它适当的字符,因为本发明在这方面没有限制。在此使用的措辞和术语用于描述的目的,不应被视作限制。"包括"、"包含"、"具有"、"涉及"及其变化的使用意为包括其后列出的项目及另外的项目。上面已详细描述本发明的几个实施例,对本领域技术人员而言,各种修改和改进将容易发生。这些修改和改进确定在本发明的精神和范围内。因而,前面的描述仅作为例子,并非意于限制。本发明仅限制为下述权利要求及其等效内容定义的范围。权利要求1、在存储系统中处理访问内容单元的请求的方法,包括响应于所述访问请求,确定所述内容单元的反射是否保存在存储系统上,所述反射指示所述内容单元先前保存在存储系统上但已被删除。2、根据权利要求l的方法,其中内容单元具有标识符,及确定内容单元的反射是否保存在存储系统上的步骤还包括使用所述标识符搜索内容单元。3、根据权利要求2的方法,还包括步骤当查找到内容单元时,拒绝所述请求。4、根据权利要求3的方法,其中拒绝所述请求的步骤进一步包括返回所述反射的步骤。5、根据权利要求3的方法,其中拒绝所述请求的步骤进一步包括返回表明内容单元被删除的指示的步骤。6、根据权利要求2的方法,进一步包括-当反射和内容单元均被査找到时,确定所述反射是否在内容单元保存于存储系统上的时间之后创建;及当确定所述反射在内容单元保存到存储系统的时间之后创建,不返回所述内容单元。7、根据权利要求1的方法,其中取回内容单元的请求通过所述标识符确定内容单元。8、根据权利要求7的方法,其中存储系统是可内容寻址存储(CAS)系统,及所述标识符为至少部分基于内容单元的内容计算的内容地址。9、编码以指令的至少一计算机可读介质,当所述指令在计算机系统上运行时,执行在计算机系统的存储系统中处理访问内容单元的请求的方法,所述方法包括-响应于所述访问请求,确定所述内容单元的反射是否保存在存储系统上,所述反射指示所述内容单元先前保存在存储系统上但已被删除。10、配置成处理访问内容单元的请求的存储系统,包括输入装置;及连到所述输入装置的至少一控制器,其-.响应于所述访问请求,确定所述内容单元的反射是否保存在存储系统上,所述反射指示所述内容单元先前保存在存储系统上但已被删除。全文摘要本发明致力于从存储系统删除内容单元。当内容单元被删除时,可创建反射并将其保存在存储系统上。所述反射确定所删除的内容单元并可包括另外的信息,如内容单元的一部分内容及关于内容单元的删除的审计信息。文档编号G06F17/30GK101103355SQ200680002191公开日2008年1月9日申请日期2006年1月12日优先权日2005年1月12日发明者基姆·马里沃特,弗兰克·马蒂斯,斯蒂芬·J.·托德,汤姆·托伊杰尔斯,迈克尔·基利安申请人:伊姆西公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1