与随机访问装置进行通信的方法和系统转让专利

申请号 : CN200680028315.0

文献号 : CN101233515B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 霍华德·N·马丁戴维·M·加农

申请人 : 国际商业机器公司

摘要 :

提供了用于把包括工作文件的集合保持在随机访问介质的存储池中的方法、系统和程序。在随机访问装置中配置仅工作存储池。仅工作存储池只包括工作的文件,而不包括不工作的版本的文件。在仅工作存储池中的多个文件与仅工作存储池中的前身集合相关联。与在仅工作存储池中的前身集合相关联的一个文件被去活化,以产生去活化的文件的不工作的版本。响应于该去活化,所述前身集合与所述文件的不工作的版本相关联。确定在前身集合中至少一个文件的不工作的版本。从仅工作存储池中删除所确定的该至少一个文件的不工作的版本。

权利要求 :

1.一种与随机访问装置进行通信的方法,包括:

在随机访问装置中提供仅工作存储池,其中仅工作存储池只包括工作的文件,而不包括不工作的版本的文件;

把仅工作存储池中的多个文件与仅工作存储池中的前身集合相关联,其中前身集合是具有零的大小的逻辑实体;

把与在仅工作存储池中的前身集合相关联的一个文件去活化,以产生去活化的文件的不工作的版本,其中响应于该去活化,所述前身集合与所述文件的不工作的版本相关联;

确定在前身集合中至少一个文件的不工作的版本;

把与前身集合相关联的文件复制到附加的存储池中的一个集合管理的文件中,其中集合管理的文件保持从仅工作存储池删除的该至少一个文件的不工作的版本,其中文件被顺序地写入到集合管理的文件中,并且集合管理的文件包括顺序的文件;以及从仅工作存储池中删除所确定的该至少一个文件的不工作的版本。

2.根据权利要求1所述的方法,其中作为对文件进行更新的结果,文件被去活化,其中除了文件的不工作的版本以外,更新所述文件产生所述文件的工作的版本,所述方法还包括:去除该被删除的至少一个文件的不工作的版本与前身集合相关联的指示,其中响应于该指示的去除,前身集合仅仅与该文件的工作的版本相关联。

3.根据权利要求1所述的方法,其中附加的存储池在顺序访问装置中实现。

4.根据权利要求1所述的方法,其中前身集合具有第一识别号,而集合管理的文件具有第二识别号,所述方法还包括:提供数据结构,该数据结构具有关于所限定的集合的信息,包括集合识别号,和用于每个所指示的集合的、包括该集合的存储池;以及在所述信息中对于由一个集合识别号所标识的集合做出指示:该集合是包含文件的相关性的前身集合还是文件被写入到其中的集合管理的文件。

5.根据权利要求4所述的方法,其中在所述数据结构信息中关于该集合是前身集合的指示包括关于前身集合具有零的集合大小的指示,并且其中在所述信息中关于该集合是集合管理的文件的指示包括关于集合管理的文件具有在集合管理的文件中写入的文件的累积大小的集合大小的指示。

6.根据权利要求5所述的方法,其中用于在所述数据结构中的每个集合的信息包括逻辑大小和实际大小,其中关于前身集合具有零的集合大小的指示包括关于前身集合的实际大小是零的指示,并且其中关于集合管理的文件具有累积大小的集合大小的指示包括关于集合管理的文件的实际大小是累积大小的指示,所述方法还包括:在用于前身集合和集合管理的文件的信息中分别做出关于逻辑大小是与前身集合相关联的并被写入到集合管理的文件中的文件的累积大小的指示。

7.根据权利要求4所述的方法,其中作为对文件进行更新的结果,文件被去活化,其中除了文件的不工作的版本以外,更新所述文件产生文件的工作的版本,所述方法还包括:把用于具有第三识别号的经过更新的文件的、表示该经过更新的文件是在仅工作存储池中的信息添加到所述数据结构中。

8.根据权利要求4所述的方法,其中所述数据结构包括第一数据结构,所述方法还包括:提供第二数据结构,该第二数据结构具有关于在一个集合中被分成组的每个文件的信息,包括包含该文件的集合的集合识别号,其中与前身集合相关联的文件的集合识别号包括第一识别号,并且其中被写入到集合管理的文件中的文件的集合识别号包括第二识别号。

9.根据权利要求8所述的方法,还包括:

删除在第二数据结构中用于从工作的存储池中被删除的具有第一识别号的至少一个文件的不工作的版本的信息,其中第二数据结构包括关于保持在集合管理的文件中的具有第二识别号的至少一个文件的不工作的版本的信息。

10.根据权利要求8所述的方法,其中在第二数据结构中的文件的信息表示文件的偏移和文件大小,其中与一个前身集合相关联的文件具有零偏移,并且其中在一个集合管理的文件中所包含的文件具有偏移,该文件以该偏移被存储在集合管理的文件中。

11.一种与随机访问装置进行通信的系统,包括:

在随机访问装置中配置仅工作存储池的装置,其中仅工作存储池只包括工作的文件,而不包括文件的不工作的版本;

把仅工作存储池中的多个文件与仅工作存储池中的前身集合相关联的装置,其中前身集合是具有零的大小的逻辑实体;

把与在仅工作存储池中的前身集合相关联的一个文件去活化,以产生去活化的该文件的不工作的版本的装置,其中响应于该去活化,前身集合与该文件的不工作的版本相关联;

确定在前身集合中至少一个文件的不工作的版本的装置;

把与前身集合相关联的文件复制到附加的存储池中的一个集合管理的文件中的装置,其中集合管理的文件保持从仅工作存储池删除的该至少一个文件的不工作的版本,其中文件被顺序地写入到集合管理的文件中,并且集合管理的文件包括顺序的文件;以及从仅工作存储池中删除所确定的该至少一个文件的不工作的版本的装置。

12.根据权利要求11所述的系统,其中作为对文件进行更新的结果,文件被去活化,其中除了文件的不工作的版本以外,更新该文件产生该文件的工作的版本,所述系统还包括:去除被删除的该至少一个文件的不工作的版本与前身集合相关联的指示的装置,其中响应于去除该指示,前身集合仅仅与该文件的工作的版本相关联。

13.根据权利要求11所述的系统,其中附加的存储池在顺序访问装置中实现。

14.根据权利要求11所述的系统,其中前身集合具有第一识别号,而集合管理的文件具有第二识别号,所述系统还包括:可由所述处理器访问的存储器;

在所述存储器中提供数据结构的装置,该数据结构具有关于所限定的集合的信息,包括集合识别号,和用于每个所指示的集合的、包括该集合的存储池;以及在所述信息中对于由一个集合识别号所标识的集合做出指示的装置:该集合是包括文件的相关性的前身集合还是文件被写入到其中的集合管理的文件。

15.根据权利要求14所述的系统,其中在所述数据结构信息中关于该集合是前身集合的指示包括关于前身集合具有零的集合大小的指示,并且其中在信息中关于该集合是集合管理的文件的指示包括关于集合管理的文件具有在集合管理的文件中写入的文件的累积大小的集合大小的指示。

16.根据权利要求15所述的系统,其中对于在所述数据结构中的每个集合的信息包括逻辑大小和实际大小,其中关于前身集合具有零的集合大小的指示包括关于前身集合的实际大小是零的指示,并且其中关于集合管理的文件具有累积大小的集合大小的指示包括关于集合管理的文件的实际大小是累积大小的指示,并且其中所述系统还包括:在用于前身集合和集合管理的文件的信息中分别做出关于逻辑大小是与前身集合相关联的并被写入到集合管理的文件中的文件的累积大小的指示的装置。

17.根据权利要求14所述的系统,其中作为对文件进行更新的结果,文件被去活化,其中除了文件的不工作的版本以外,更新该文件产生该文件的工作的版本,所述系统还包括:把对于具有第三识别号的经过更新的文件的、表示该经过更新的文件是在仅工作存储池中的信息添加到所述数据结构中的装置。

18.根据权利要求14所述的系统,其中所述数据结构包括第一数据结构,并且其中所述系统还包括:在所述存储器中提供第二数据结构的装置,该第二数据结构具有关于在一个集合中被分成组的每个文件的信息,包括包含该文件的集合的集合识别号,其中与前身集合相关联的文件的集合识别号包括第一识别号,并且其中用于被写入到集合管理的文件中的文件的集合识别号包括第二识别号。

19.根据权利要求18所述的系统,其中所述系统还包括:

删除在第二数据结构中用于从工作的存储池中被删除的具有第一识别号的至少一个文件的不工作的版本的信息的装置,其中第二数据结构包括关于保持在集合管理的文件中的具有第二识别号的至少一个文件的不工作的版本的信息。

20.根据权利要求18所述的系统,其中在第二数据结构中的文件的信息表示文件的偏移和文件大小,其中与一个前身集合相关联的文件具有零偏移,并且其中在一个集合管理的文件中所包括的文件具有偏移,该文件以该偏移被存储在集合管理的文件。

说明书 :

技术领域

本发明涉及用于把包括工作文件(active file)的集合(aggregate)保持在随机访问介质的存储池(storage pool)中的方法、系统和程序。

背景技术

存储管理软件通过备份、归档或迁移来自计算机网络的客户机节点的数据而保持数据的库存。存储管理服务器把数据对象或文件存储在被保持在存储装置中的一个或多个存储池内。存储管理服务器可以使用数据库来跟踪有关所存储的文件的信息,包括它们的位置、状态、关于文件的策略信息等等。存储管理软件还可被使用于恢复数据。存储管理软件可以保持存储装置的分级结构,其中分级结构的第一级别包括更快速的访问装置,诸如硬盘驱动器,存储更经常使用和访问的文件。在分级结构中较低的级别提供较慢访问的存储装置,诸如较低性能的磁盘驱动器和磁带驱动器,用来存储不太经常访问的或不工作的数据。存储管理软件的一个例子是由国际商务机器公司(IBM)供应的Tivoli存储管理器产品。(Tivoli和IBM是IBM的注册商标)。
为了提高数据传送性能,存储管理软件可以把各个文件聚集到存储池中,这样,可以相对于文件的集合而不是单个文件执行移动和复制操作。美国专利No.6,098,074描述了一种聚集技术,其中存储的对象被聚集到一个“管理文件”中。此后,这些对象可以作为在存储分级结构内的单个管理的文件被跟踪和移动。当适当时,各个对象可以被单独处理,诸如用于删除或检索操作。PCT专利申请WO 2005/071565描述了另外的技术,用于管理集合中的文件。
随着用户存储在存储池中的数据的数量不断增加,文件和文件的集合越来越多地迁移到存储分级结构中较低的级别。因此,可能需要恢复的数据可能已迁移到具有低恢复性能的较慢的访问装置,诸如磁带存储介质。而且,为了从磁带恢复数据,可首先把数据从磁带移到硬盘驱动池,然后再从硬盘驱动器进行恢复。
数据存储的进一步的改进在各种应用中都是有用的。

发明内容

提供了用于把包括工作文件的集合保持在随机访问介质的存储池中的方法、系统和程序。一种与随机访问装置进行通信的方法,包括:在随机访问装置中提供仅工作存储池,其中仅工作存储池只包括工作的文件,而不包括不工作的版本的文件;把仅工作存储池中的多个文件与仅工作存储池中的前身集合相关联,其中前身集合是具有零的大小的逻辑实体;把与在仅工作存储池中的前身集合相关联的一个文件去活化(deactivated),以产生去活化的文件的不工作的版本,其中响应于该去活化,所述前身集合与所述文件的不工作的版本相关联;确定在前身集合中至少一个文件的不工作的版本;把与前身集合相关联的文件复制到附加的存储池中的一个集合管理的文件中,其中集合管理的文件保持从仅工作存储池删除的该至少一个文件的不工作的版本,其中文件被顺序地写入到集合管理的文件中,并且集合管理的文件包括顺序的文件;以及从仅工作存储池相关中删除所确定的该至少一个文件的不工作的版本。
在另一个实施例中,作为对文件进行更新的结果,文件被去活化。除了文件的不工作的版本以外,更新所述文件产生所述文件的工作的版本。去除该被删除的至少一个文件的不工作的版本与前身集合相关联的指示。响应于该指示的去除,前身集合仅仅与该文件的工作的版本相关联。
在另一个实施例中,附加存储池在顺序访问装置中实现。
在另一个实施例中,前身集合具有第一识别号,而集合管理的文件具有第二识别号。提供了数据结构,其具有所限定的集合的信息,包括集合识别号,和用于每个指示的集合的、包括该集合的存储池。在所述信息中对于由一个集合识别号标识的集合做出指示:该集合是包含文件的相关性的前身集合还是文件被写入到其中的集合管理的文件。
在另一个实施例中,在数据结构信息中关于集合是前身集合的指示包括关于前身集合具有零的集合大小的指示。在该信息中关于集合是集合管理的文件的指示包括关于集合管理的文件具有在集合管理的文件中写入的文件的累积大小(cumulative size)的集合大小(aggregate size)的指示。
在另一个实施例中,用于在数据结构中的每个集合的信息包括逻辑大小和实际大小。关于前身集合具有零的集合大小的指示包括关于前身集合的实际大小是零的指示,并且关于集合管理的文件具有累积的大小的集合大小的指示包括关于集合管理的文件的实际大小是累积大小的指示。在对于前身集合和集合管理的文件的信息中做出关于逻辑大小是与前身集合相关的文件的累积大小的指示,并被分别写入到集合管理的文件。
在另一个实施例中,作为对文件进行更新的结果,文件被去活化。除了文件的不工作的版本以外,更新所述文件产生文件的工作的版本。用于具有第三识别号的经过更新的文件的、表示该经过更新的文件是在仅工作存储池中的信息被添加到数据结构中。
在另一个实施例中,数据结构包括第一数据结构。第二数据结构具有关于在一个集合中被分成组的每个的文件的信息,包括包含该文件的集合的集合识别号。与前身集合相关的文件的集合识别号包括第一识别号,并且被写入到集合管理的文件中的文件的集合识别号包括第二识别号。
在另一个实施例中,在第二数据结构中针对从工作的存储池中被删除的具有第一识别号的至少一个文件的不工作的版本的信息被删除。第二数据结构包括关于保持在集合管理的文件中的具有第二识别号的至少一个文件的不工作的版本的信息。
在另一个实施例中,在第二数据结构中的文件的信息表示文件的偏移和文件大小。与一个前身集合相关的文件具有零偏移,并且在一个集合管理的文件中所包括的文件具有偏移,该文件以该偏移被存储在集合管理的文件中。
本发明还提供了一种与随机访问装置进行通信的系统,包括:处理器;在随机访问装置中配置仅工作存储池的装置,其中仅工作存储池只包括工作的文件,而不包括文件的不工作的版本;把仅工作存储池中的多个文件与仅工作存储池中的前身集合相关联的装置,其中前身集合是具有零的大小的逻辑实体;把与在仅工作存储池中的前身集合相关联的一个文件去活化,以产生去活化的该文件的不工作的版本的装置,其中响应于该去活化,前身集合与该文件的不工作的版本相关联;确定在前身集合中至少一个文件的不工作的版本的装置;把与前身集合相关联的文件复制到附加的存储池中的一个集合管理的文件中的装置,其中集合管理的文件保持从仅工作存储池删除的该至少一个文件的不工作的版本,其中文件被顺序地写入到集合管理的文件中,并且集合管理的文件包括顺序的文件;以及从仅工作存储池中删除所确定的该至少一个文件的不工作的版本的装置。
现在参照附图仅仅作为例子描述本发明,其中:

附图说明

图1显示网络计算环境的一个实施例;
图2,3和4显示关于保持在存储池中的文件和文件的集合的信息的实施例;
图5显示仅工作存储池的一个实施例;
图6显示用来在仅工作存储池中创建前身集合的操作的实施例;
图7显示用来在仅工作存储池中复制在前身集合中的文件的操作的实施例;
图8显示用来在仅工作存储池中去活化在前身集合中的文件的操作的实施例;
图9显示用来在仅工作存储池中终止不工作的文件的操作的实施例;以及
图10和11显示仅工作存储池、工作/不工作存储池、和关于在仅仅工作存储池和工作/不工作存储池中的文件和集合的信息表的例子。

具体实施方式

图1显示其中可以实施实施例的计算环境。多个客户机2a,2b...2n、存储装置4a,4b以及存储管理服务器6通过网络8进行通信。存储管理服务器6可以通过网络8访问存储装置4a,4b。作为替代,存储装置可以直接连接到存储管理服务器6,并通过总线被访问。客户机2a,2b...2n包括客户机存储代理10a,10b...10n,存储管理服务器6包括存储管理软件12。客户机存储代理10a,10b...10n与存储管理软件12进行互动,以管理在存储装置4a、4b中实现的存储池14a,14b中的文件的存储。存储管理软件12可以保持存储分级结构系统,在该分级结构系统中存储池14a,14b被定义为具有级别信息,使得在较高级别上的文件可以根据分级存储策略迁移到较低的级别,例如把不太经常访问的文件移动到具有较慢的访问装置的分级结构中较低级别的存储池。在较高级别的存储装置可包括较快的访问装置,诸如硬盘驱动器,而在较低级别的存储装置可包括较慢的访问装置,诸如较慢的硬盘驱动器、磁带驱动器等等。例如,在分级结构中高的存储池包括更经常或最近使用的数据,它们在相对较快速的访问存储装置中被实施,而分级结构中较低的存储池可以提供数据的更长期的存储,它们在磁带存储介质中被实施。在某些实施例中,客户机存储代理10a,10b...10n可以通过存储管理软件12访问、备份、归档和恢复数据,该存储管理软件管理对于存储池14a,14b中的文件的访问。而且,存储管理软件12可以备份和归档来自客户机2a,2b,2n的数据。
存储管理软件12保持关于存储池中的文件的信息,包括文件信息16、集合信息18、和存储池信息20。信息16、18和20可以在关系数据库的一个或多个数据库表中或者在本领域已知的其它适当的数据结构中实现。文件信息16可包括库存表,其具有关于在存储池14a,14b中的每个文件的信息,包括客户机和策略信息。集合信息18包括关于在存储池14a,14b中定义的集合的信息。前身集合包括存储池14a,14b中文件的关联,集合管理的文件包括其中一个或多个文件被写入到和相关的一个存储池中的文件或对象。被前身集合分成组的文件不存储在集合管理的文件中,而仍旧作为分开的文件被存储在文件系统中。集合简化文件移动操作(例如,存储池备份、恢复、回收或移动到另一个包括迁移到分级结构内另一个位置的存储池),因为存储管理软件12只需要规定相对于集合(前身器或集合管理的文件)的数据传送操作,然后存储管理软件12将相对于由集合分组的文件执行所请求的操作。
存储池信息20包含关于每个管理的文件被存储在存储池14a,14b中实施的存储分级结构中哪些地方的信息。存储表包含用于每个管理的文件的条目。
存储池14a,14b可以在随机访问装置中被实施,或者作为顺序访问存储池被实施。顺序访问存储池可以在顺序访问介质、例如磁带中实现,或者在随机访问介质的顺序文件卷中实现。当数据顺序地被存储在随机访问装置的顺序文件卷中时,该卷是在基础文件系统中的一个文件。在顺序访问的存储盘池中删除的文件的空间通过在回收操作期间巩固新的文件卷上的有效数据而被恢复。在随机访问存储盘池中,空间被分配给随机块,这样,一旦文件从随机访问存储池中被删除,空间立即可供使用。
在一个实施例中,存储池可被定义为仅工作存储池22,使得只有工作的文件才被保持在该存储池22中,而不是不工作的文件。不工作的文件是按照某些标准去活化的任何文件。例如,如果它被更新、删除、或是其年龄超过年龄政策的文件,则文件可被看作是不工作的。文件可以在客户机系统2a,2b...2n上被更新或删除,然后当该更新被提供到存储管理服务器6时,去活化的文件可被标记为不工作的。文件也可以由存储管理软件12直接去活化。对文件的更新导致具有更新的文件的工作的版本和预更新的文件的不工作的版本。
客户机2a,2b...2n可包括本领域已知的适当的计算设备,诸如工作站、台式计算机、服务器、主机、手持式计算机、电话设备等等。存储管理服务器6可包括适当的服务器级别机器。网络8可包括局域网(LAN)、存储域网(SAN)、广域网(WAN)、无线网等等。存储装置4a,4b可以在本领域已知的存储装置中实现,诸如一个硬盘驱动器、被配置为直接访问存储装置(DASD)的多个互联的硬盘驱动器、独立盘冗余阵列(RAID)、仅一束盘(JBOD)等等,磁带装置、光盘装置、非易失性电子存储器装置(例如,闪存盘)、磁带库等等。存储装置4a,4b可包括其中数据可以随机地写入到存储装置的块的随机访问装置,诸如硬盘驱动器、电子存储器或存储装置等等,或者其中数据必须顺序写入到存储介质的顺序访问装置,诸如磁带介质。
图2显示对于每个集合管理的文件和在存储池内集合管理的文件之外的文件所保持的文件/集合信息50的实施例。文件/集合信息50可以是集合信息18的一部分。每个文件/集合信息50实例包括文件或集合管理的文件的识别号(ID)52;文件或集合的大小54(例如,字节长度),其中集合大小是在集合管理的文件中包括的所有文件的大小;以及标识包括文件或集合管理的文件的存储池14a,14b,22的存储池56。前身集合可以具有零的大小54,表示它是逻辑实体,并且集合管理的文件可以具有包括它的实际大小的大小54,它包括被写入到集合管理的文件中的所有文件的累积的大小。对于文件的实体50,与集合不同,工作状态字段58表示该文件是工作的还是不工作的。
图3显示对于每个集合所保持的集合信息70的实施例。集合信息70可以是集合信息18的一部分。每个集合信息70实例包括:集合的识别号72;集合管理的文件的实际大小74或者表示该集合是前身集合的数值,诸如零(前身集合可能没有实际大小,因为它包括文件的关联性,而不是存储文件的对象);包括与该集合相关的所有文件的大小的逻辑大小;以及由集合(前身或管理的文件)分成组的多个文件。
图4显示对于与集合、即前身集合相关的或者被包括在一个集合管理的文件中的每个文件所保持的集合文件信息80的实施例。集合文件信息80可以是文件信息16或集合信息18的一部分。每个集合文件信息80实例包括:文件识别号82,诸如文件名称和位置;表示其中文件被分成组的集合(前身或管理文件)的集合识别号84;表示离该文件开始的集合管理的文件的开始端的字节偏移的偏移量86;文件的长度88;以及表示该文件是工作的还是不工作的工作状态90。与前身集合相关的文件可以具有零或表示该文件是与前身集合相关的某个其它值的偏移量86。与前身集合相关的文件可以具有等于文件的字节长度的长度88。
图5显示在包括具有三个文件A,B,C的一个前身集合96的一个存储装置4a,4b中被实施为随机访问装置的仅工作存储池94。文件A,B,C可被存储在存储池94中非顺序或顺序的位置,以及被显示为存储在非顺序随机位置。仅工作存储池94可包括附加的前身集合或集合管理的文件以及没有被包括在集合中的文件,诸如没有聚集到一起的大的文件。文件D是与前身集合96不相关的。
图5还显示其中数据可以顺序写入到的工作/不工作存储池98和其中文件A,B,C被顺序写入的集合管理的文件100。工作/不工作存储池包括拷贝存储池或主存储池。拷贝存储池是用于接收来自仅工作存储池的数据拷贝或保持备份拷贝用于灾难恢复。主存储池包含工作的和不工作的文件,并且不工作的文件可以从主存储池被恢复。工作的/不工作的存储池98可以在顺序访问介质或在数据被顺序地写入到的随机访问介质的顺序文件卷中实现。顺序文件卷包括在诸如硬盘驱动器那样的随机访问介质上的文件,作为其中数据被顺序地写入到的磁带装置被管理。存储池可以具有包括集合管理的文件的多个顺序文件卷。当顺序文件卷达到预定的大小时,则顺序文件卷被关闭,并且新的顺序文件卷被添加到存储池以进行填充。
图6显示由存储管理软件12执行的操作,用于在仅工作存储池94中创建前身集合96。调用存储管理软件12(在方块100)以创建前身集合可以由一个客户机存储代理10a,10b...10n或在存储管理服务器6处的管理人员发起。文件/集合信息50(图2)实例被添加到(在方块102)标识正被创建的前身集合52的文件信息16,表示前身集合的大小54(例如,0),以及在其中创建前身集合的仅工作存储池94的字段56中的识别号。对于要与前身集合相关联的每个文件,集合文件信息实例80(图4)被添加到(在方块104)标识与前身集合相关的文件82、前身集合ID 84、零的偏移量86、文件的长度88、以及相关的文件的状态90的文件16或集合18信息。存储管理软件12还添加上(在方块106)集合信息实例70(图3),其标识所创建的前身集合ID 72、表示前身集合的实际大小74(例如,零)、与前身集合相关的所有的文件的大小的逻辑大小76、以及与前身集合相关的文件的数目78。当把一个新的文件与前身集合相关联时,文件的逻辑大小76和数目78被更新,以反映添加的文件。
图7显示由存储管理软件12执行的操作的实施例,用于从仅工作存储池94将前身集合96复制到工作/不工作的存储池98中的目标集合管理的文件100,它可包括顺序访问装置或顺序的文件。图7的操作还可应用到集合中所不包括的文件的复制,诸如文件D(图5)。在发起(在方块150)复制操作后,存储管理软件12创建(在方块152)在工作/不工作存储池98中的集合管理的文件100,并创建对于集合管理的文件的集合信息实例70(图3),初始化集合ID 72和其它数值,以及创建文件/集合信息实例50(图2),该实例标识了所创建的集合管理的文件52和工作/不工作存储池56。与前身集合96相关的文件被复制(在方块154)到工作/不工作存储池98中的、其中文件被顺序地写入到的所创建的集合管理的文件100。存储管理软件12添加(在方块156)对于被写入到集合100对象的每个文件的集合文件信息实例80(图4),包括集合管理的文件识别号84、文件被写入的偏移量86、文件的长度88、和作为工作或不工作的状态90。而且,在文件集合信息50中的大小字段54以及在集合信息70中的实际的大小74、逻辑大小78、和文件数目78字段被更新,以反映包括被写入到其中的文件的数目的集合管理的文件100的大小。
图8显示由存储管理软件12执行的操作的实施例,用于处理(在方块170)在仅工作存储池94中与一个前身集合96相关的文件的去活化。如所提到的,如果文件被更新,文件可被去活化,产生具有更新的工作的版本和不工作版本。某些去活化可以仅仅产生文件的不工作的版本,诸如如果文件被删除或文件的年龄超过政策标准的话。响应于去活化,存储管理软件12表示(在方块172)在与前身集合96相关联的去活化的文件的文件/集合信息50和集合文件信息80中的工作状态字段58,90是不工作的。如果(在方块174)作为更新操作的结果,文件被去活化,则通过更新文件/集合信息50,以标识文件或集合和仅工作存储池,而把工作的版本添加到(在方块176)仅工作存储池。这个操作可牵涉到添加文件/集合信息实例50(图2),用于更新的文件和分配新的ID 52和表示大小54和包括更新的文件的存储池56。在这时,仅工作存储池94包括更新的文件的不工作的和工作的版本。而且,不是该集合的一部分的文件可以在它们的被更新的文件/集合信息50中具有它们的状态字段58,用来表示当它们被更新时不工作。再者,更新的工作文件可以被存储在具有其它文件的集合和/或被复制到其它存储池,诸如工作/不工作存储池98。如果(在方块174)文件以导致工作和不工作的版本的方式去活化,则控制结束。
图9显示由存储管理软件12实施的操作的实施例,使得随机访问装置中的仅工作存储池94中的不工作文件失效。在某些实施例中,在工作/不工作存储池中的前身集合的复制(按图7的操作进行)在不工作文件按照图9的操作而失效之前进行。在方块200,调用使得仅工作存储池94中的一个前身集合96上的不工作文件失效的操作。这个操作可以周期地或响应于诸如在仅工作的集合中文件的更新那样的事件而被调用。对于在仅工作存储池94中的每个文件,执行从方块202到方块216的循环。在仅工作存储池94中的文件可被确定为其文件/集合信息实例50(图2)在该仅工作存储池94的字段56中表示的那些文件。如果(在方块204)文件是工作的或是不工作的(这可以从对于所考虑的文件的文件/集合信息50(图2)中的状态字段58被确定)并且没有迁移到工作/不工作存储池98,则控制继续进行(在方块216),考虑在仅工作存储池94中的下一个文件。如果(在方块204)文件是不工作的并迁移到工作/不工作存储池98,则该文件从仅工作存储池94中被删除(在方块206),并且如在仅工作存储池96中对于在字段56中所识别的被删除的文件的文件/集合信息也被去除(在方块208)。对于也被保持在工作/不工作存储池98的集合管理的文件100中的被删除的文件的集合文件信息条目80仍可以保留,因为从仅工作存储池96去除的不工作文件的拷贝被保持在工作/不工作存储池98中。
如果(在方块210)被删除的文件不在前身集合中,则控制进行到方块216,考虑仅工作存储池94中的下一个文件。存储管理软件12可以通过确定针对标识为被包括在前身集合中的被去除的文件、并具有零的实际大小74(图3)的被去除的文件是否有集合文件信息条目80,从而确定被去除的文件是在一个前身集合中。否则,如果(在方块210)被去除的文件是在一个前身集合中,则具有从与另一个集合(前身或管理文件)相关联的仅工作存储池被删除的文件的ID 82的集合文件信息条目80,如在字段84中表示的,被更新(在方块214),以表示状态90是不工作。这样,仅仅去除针对从仅工作存储池94中去除的文件的条目80。因此在失效期间,具有不工作状态的文件从仅工作存储池94的前身集合中被删除,而在其它存储池、诸如工作/不工作存储池98中的不工作文件仍保留。
图10显示具有关于存储池中的集合的信息的存储池和表的例子。ID为“-1”的仅工作存储池300在随机访问介质中实现,包括分别具有100,200,300的ID的三个文件A,B,C。这三个文件A,B,C在ID为400的前身集合302中被分成组。在更新仅工作存储池中的文件之前,把与前身集合302相关的文件的拷贝制作到ID为“-1”的工作/不工作存储池306中的ID为500的工作/不工作存储池306中。工作/不工作存储池306可包括顺序访问装置或把文件和集合管理的文件存储到顺序文件卷中。文件B 600包括与前身集合302相关的文件B 200的更新的版本。与前身集合302相关的文件的任何改变除了把文件的拷贝的状态从工作改变到不工作以外,不影响在工作/不工作存储池306的集合管理的文件304中的文件的拷贝。文件B也被拷贝到工作/不工作存储池306中。
在一个实施例中,存储管理软件12保持文件/集合信息表310、集合信息表312、和集合文件信息表314,其具有关于在存储池300和306中的文件和集合的信息。文件/集合信息表310包括对于每个集合的条目,诸如条目50(图2),包括对于处在被表示为“1”和“-1”的存储池(分别具有附图标记300和306)中的前身集合400和集合管理的文件500的条目(分别具有附图标记302和304),以及具有识别号600的更新的文件B。
集合文件信息表314包括对于在集合302和304中的每个文件的条目,诸如条目80(图4)。在前身集合302中的文件具有零的偏移,并且在集合管理的文件304中的文件具有它们在集合管理的文件中的位置的偏移。在图10中,集合信息312具有关于前身集合302和集合管理的文件304的信息,包括对于前身集合400的零的实际大小字段,表示该集合是一个前身。表314还表示文件是否工作,对于工作状态为“Y”而对于不工作状态为“N ”。
图11显示具有关于在对于图10的存储池302发生失效后存储池中的集合的信息的存储池和表的例子。图11显示如图10中的存储池300和306,以及在存储池300中的前身集合302和在存储池306中的集合管理的文件304。然而,在仅工作存储池300中,更新的文件B通过按照图9的操作更新定义了前身集合的信息而从前身集合302中被删除。然而,不工作的文件B 200仍保留在工作/不工作存储池306的集合管理的文件304(具有ID 500)中。更新的文件B 600也在仅工作存储池300中。
对于图11的更新的文件/集合信息表322包括来自图10的条目,对于不工作的文件B 200的条目作为失效的结果从仅工作存储池被去除,只留下对于更新的文件B 600的条目。对于前身集合400的更新的集合信息表324中的条目被更新,以包括20的新的逻辑大小,反映文件被去除。在前身集合400中对于文件B 200的集合文件信息表326中的条目被更新,以表示不工作的状态。然而,长度被设置为0,表示该文件B 200不再被包括在前身集合96中。在本实施例中,所有不工作的文件从仅工作存储池94的前身集合96中被去除,并且不工作的文件保持在工作/不工作存储池306的集合管理的文件304中。
所描述的实施例提供了以随机访问介质实现的仅工作存储池,这样,在仅工作存储池的前身集合中作为更新或其它去活化的结果变为不工作的任何文件在失效操作期间从仅工作存储池和前身集合中被去除。而且,通过在存储池中保持仅工作的文件,客户机可以从可能在磁盘或磁带上的仅工作存储池或具有工作的数据的前身集合的备份拷贝更快速地恢复工作的数据。这样,工作的文件可以在磁带或磁盘介质上从集合管理的文件流动。这允许客户机更快速地恢复工作的文件,而工作的文件比起不工作的文件更可能是客户机所需要的。
附加实施例细节
所描述的操作可被实施为通过使用标准编程和/或工程技术产生软件、固件、硬件、或它们的组合的方法、设备或制造的物品。所描述的操作可被实施为被保持在“计算机可读介质”中的代码,其中处理器可以读取和执行来自计算机可读介质的代码。计算机可读介质可包括诸如磁存储介质(例如,硬盘驱动器、软盘、磁带等)、光存储装置(CD-ROM、DVD、光盘等)、易失性和非易失性存储器装置(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、固件、可编程逻辑等)等等那样的介质。实施所述操作的代码还可以通过硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)实现。再者,实施所述操作的代码可以在“传输信号”上实施,其中传输信号可以通过空间或通过诸如光纤、铜线等那样的传输介质传播。其中代码或逻辑被编码的传输信号还可包括无线信号、卫星传输、无线电波、红外信号、蓝牙等等。其中代码或逻辑被编码的传输信号能够由发送站发送并由接收站接收,其中在传输信号中被编码的代码或逻辑可以在接收站和发送站或设备中被解码并被存储在硬件或计算机可读介质上。“制造的物品”包括其中可实施代码的计算机可读介质、硬件逻辑和/或传输信号。当然,本领域技术人员将会意识到,可以对于这种配置做出多种修改,而不背离本发明的范围,制造的物品也可包括在本领域已知的适当的信息承载介质。
在所描述的实施例中,文件被写入到其中的集合管理的文件被包含在顺序访问介质、诸如顺序磁盘或磁带中。在一个替代实施例中,所描述的操作可应用到随机访问介质中的集合管理的文件。
术语“一个实施例”、  “实施例”、  “多个实施例”、“该实施例”、“该多个实施例”、“一个或多个实施例”、“某些实施例”、“一个实施例”是指“本发明的一个或多个(但不是全部)实施例”,除非直接地规定。
术语“包括”、“包含”、“具有”和它们的变体是指“包括但不限于”,  除非直接地规定。
列举的项目列表并不是指任何或所有的项目是互相排他的,除非直接地规定。
术语“一个”和“这个”是指“一个或多个”,除非直接地规定。
互相通信的装置不一定互相连续地通信,除非直接地规定。此外,互相通信的装置可以直接或通过一个或多个中间媒介间接地通信。
具有互相通信的几个部件的实施例的说明不是指需要所有这样的部件。相反,各种各样的任选的部件被描述,以显示本发明的各种可能的实施例。
而且,虽然过程步骤、方法步骤、算法等等以顺序的次序描述,但这样的过程、方法、算法可被配置成以替代的次序工作。换句话说,可能描述的步骤的任何顺序或次序不一定表示这些步骤应当以该次序被执行的要求。这里描述的过程的步骤实际上可以以任何次序执行。而且,某些步骤可以同时执行。
当单个装置或物品在这里被描述时,将会容易地看到,可以使用一个以上的装置/物品(不管它们是否合作)来代替单个装置/物品。同样地,在一个以上的装置或物品在这里被描述的场合下(不管它们是否合作),将会容易地看到,可以使用单个装置/物品来代替该一个以上的装置/物品,或者可以使用不同的数目的装置/物品来代替所显示的数目的装置或程序。装置的功能和/或特性可以替代地由一个或多个没有明显地描述为具有这样的功能/特性的一个或多个其它装置体现。因此,本发明的其它实施例不一定包括装置本身。
而且,当使用诸如“a”,“b”或“n”那样的标号来表示一定数目的项目时,被用于不同的单元的标号“a”,“b”或“n”可以表示相同的或不同数目的这样的单元。
图2,3,4,10,和11显示以某种格式保持的信息。在替代实施例中,图2,3,4,10,和11中显示的信息可以以替代的数据结构和格式和以不同的组合被保持。
图6,7,8和9所示的操作显示以某种次序发生的某些事件。在替代实施例中,某些操作可以以不同的次序执行、修改或被去除。而且,可以把步骤加到上述的逻辑,仍旧与所描述的实施例一致。而且,这里描述的操作可以顺序地发生或者某些操作可以并行地处理。再者,操作可以由单个处理单元或由分布式处理单元执行。
本发明的各种实施例的上述说明是为了描述和说明的目的给出的。它不是穷举的,或试图把本发明限制在所公开的确切的形式。鉴于以上指导,可以做出许多修改和变化。本发明的范围不由本详细说明书所限制,而是由所附权利要求来限定。以上的技术说明书、例子和数据提供制造的完整说明和本发明的组合的使用。由于可以做出本发明的许多实施例而不背离本发明的精神和范围,本发明在此后所附权利要求中体现。