CN100458792C - 用于管理海量存储***的方法和数据处理*** - Google Patents
用于管理海量存储***的方法和数据处理*** Download PDFInfo
- Publication number
- CN100458792C CN100458792C CNB2007100015149A CN200710001514A CN100458792C CN 100458792 C CN100458792 C CN 100458792C CN B2007100015149 A CNB2007100015149 A CN B2007100015149A CN 200710001514 A CN200710001514 A CN 200710001514A CN 100458792 C CN100458792 C CN 100458792C
- Authority
- CN
- China
- Prior art keywords
- file
- storage space
- subclass
- characteristic quantity
- key value
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/119—Details of migration of file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了一种用于管理海量存储***的方法,其中所述海量存储***包括第一存储空间和第二存储空间。生成文件索引,所述文件索引以均匀分布方式列出每个文件连同第一特性量、第二特性量和状态信息,其中所述状态信息指定所述文件是被保持在所述第一存储空间上还是所述第二存储空间上。从所述文件索引中选择文件样本。所述文件样本包含给定数量的文件,其中所述给定数量的文件中的每个文件的所述状态信息指定所述文件被保持在所述第一存储空间上。通过使用所述文件样本中包括的每个文件的所述第一特性量来确定第一关键值,以及通过使用所述文件样本中的每个文件的所述第二特性量来确定第二关键值。接着确定文件的第一子集。
Description
技术领域
本发明一般涉及一种用于管理海量存储***的方法和数据处理***,并具体地涉及一种用于管理大量文件从一存储空间到另一存储空间的迁移的方法和数据处理***。
背景技术
海量存储***一般被用于管理、存储和检索典型地在一个文件***中所组织的大量文件。海量存储***一般包括层级存储管理(HSM)***和其上物理地存储文件的高速与较慢存储设备。因此,请求从文件***存储或检索文件的应用不必非要知道文件所存储的位置。层级存储管理***把满足某种标准的文件(例如超过100天的文件)从高速存储设备(诸如硬磁盘设备)迁移到较慢存储设备(诸如磁带设备)。如果文件已被迁移到较慢存储设备,并且用户想要访问该文件,则它被拷贝到高速存储设备并随之对用户可用。因此,访问存储在较慢存储设备上的文件花费时间较长。因此,层级存储管理***应该以一种智能方式来安排高速存储设备和较慢存储设备上的文件,使得经常由用户请求的文件被保持在高速存储设备上。
原则上,始终把所有文件存储在高速存储设备上将是理想的。但是,高速存储设备通常比起较慢存储设备更昂贵,从而通过利用较慢存储设备可以降低海量存储***的总成本。
如果必须由层级存储管理***来管理大量文件,则会出现关于选择用于迁移的适当文件的问题。如果达到了高速存储设备(其例如可以是层1存储设备)的存储使用的高阈,则基于阈的自动迁移可开始迁移文件。典型地,合格的文件被预先确定。如果文件数量极大,例如大于108个文件,则必须被执行以便确定用于迁移的文件的对所有文件的查询需要极长的时间量。此外,难于找到最合格的文件,因为存储在高速存储设备上的所有文件需要首先被全体扫描,用来确定用于更多或更少个合格文件的标准。需要第二查询来基于所述第一查询的标准搜索文件。因此,难于以及时的方式确定用于合格候选者的标准。用于迁移的合格候选者例如可能是相对旧或相对大的文件,而应该被留在快速存储设备上的候选者是相对新或相对小的文件。
IBM的Tivoli Storage Manager(TSM)***的层级存储管理***使用例如候选者列表,其包含了被包含在文件***中的所有文件的集合的子集。所述子集借助通过文件***的迭代来进行持续优化。由于候选者列表包含最大数量的条目,所以未被包含在列表中的文件无法被标识为候选者。因此,候选者列表仅包含有限数量的合格文件。无论何时当发现新的合格候选者时,其它文件就必须从候选者列表中移出。如果108至109个文件需要被层级存储管理***管理,则这导致大量的CPU使用和对文件***的输入/输出访问。
因此,需要一种用于管理海量存储***的改进方法和数据处理***。
发明内容
根据本发明的实施例,提供了一种用于管理海量存储***的方法,其中所述海量存储***包括第一存储空间和第二存储空间。生成文件索引,所述文件索引以均匀分布方式列出每个文件连同第一特性量、第二特性量和状态信息,其中所述状态信息指定所述文件是被保持在所述第一存储空间上还是所述第二存储空间上。从所述文件索引中选择文件样本。所述文件样本包含给定数量的文件,其中所述给定数量的文件中的每个文件的所述状态信息指定所述文件被保持在所述第一存储空间上。通过使用所述文件样本中包括的每个文件的所述第一特性量来确定第一关键值,以及通过使用所述文件样本中的每个文件的所述第二特性量来确定第二关键值。接着确定文件的第一子集,对于其所包括的每个文件,所述第一特性量大于所述第一关键值,所述第二特性量大于所述第二关键值,并且所述文件通过所述状态信息指定被所述第一存储空间所保持。
生成文件索引,所述文件索引以均匀分布方式列出文件***的每个文件连同第一和第二特性量以及状态信息。以均匀分布方式列出所述文件。因此,以下述方式在所述文件索引中列出文件,所述方式是将所述文件在所述第一和所述第二存储空间上的安排完全分离。从所述文件索引选出文件样本。所述文件样本包含被保持在所述第一存储空间上的给定数量的文件。保持在所述第一存储空间上的文件可通过在每个文件被分配给文件样本之前检查每个文件的状态信息来标识。通过使用包含在所述文件样品中的文件的第一特性量,确定第一关键值。同样地,通过使用包括在所述文件样品中的文件的第二特性量,确定第二关键值。确定文件的第一子集,其包括包含在所述文件索引中的所有文件,对于所述文件,所述第一特性量大于所述第一关键值,所述第二特性量大于所述第二关键值,并且所述状态信息指定所述文件被所述第一存储空间所保持。
仅包含在所述文件样本中的文件的第一和第二特性量被用于确定所述第一和第二关键值。包含在所述文件样本中的给定数量的文件可以比包含在所述文件索引中的全部数量的文件少得多。因此,可以迅速确定所述第一和第二关键值。由于以均匀分布方式在文件索引中列出文件,所以所述文件样本包含文件的代表性分布,并由此所述第一关键值和所述第二关键值提供了用于给文件索引的所有文件分类的有用的量。
根据本发明实施例,确定文件的第二子集,其中对于文件的第二子集所包括的每个文件,所述第一特性量小于所述第一关键值但大于第一阈值,所述第二特性量大于所述第二关键值,并且所述文件通过所述状态信息指定被所述第一存储空间所保持。确定文件的第三子集,对于其所包括的每个文件,所述第一特性量大于所述第一关键值,所述第二特性量小于所述第二关键值但大于第二阈值,并且所述文件通过所述状态信息指定被所述第一存储空间所保持。此外,确定文件的第四子集,对于其所包括的每个文件,所述第一特性量小于所述第一关键值但大于所述第一阈值,所述第二特性量小于所述第二关键值但大于所述第二阈值。
如果包含在文件索引中的文件满足以上给定条件,则它们被分类成文件的第一、第二、第三或第四子集。通过使用所述文件索引以及通过使用所述第一关键值、第二关键值、第一阈值和第二阈值,标识出例如可从第一存储空间中进行移动的合格候选者。当需要时常得出文件索引,并且仅通过使用所述文件索引选出的样本来确定所述第一关键值及所述第二关键值时,根据本发明的方法是尤其有利的。因此,所述第一关键值及所述第二关键值可被迅速确定,因为未使用整个文件索引。
根据本发明实施例,如果在所述文件的第一子集中包含多于所述给定数量的文件,则将所述文件的第一子集中给定数量的文件从所述第一存储空间移动到所述第二存储空间,并且如果在所述文件的第一子集中包含少于所述给定数量的文件,则将包含在第一存储空间中的所述文件的第一子集的所有文件从所述第一存储空间移动到所述第二存储空间。此外,移动所述文件的第二子集或所述文件的第三子集或所述文件的第四子集中的剩余数量的文件,使得总共所述给定数量的文件从所述第一存储空间移动到所述第二存储空间。更新所述文件的第一子集、所述文件的第二子集、所述文件的第三子集和所述文件的第四子集。
因此,通过使用将所述文件分类成文件的第一、第二、第三和第四子集,确定用于移动文件的合格候选者。优选地,移动所述文件的第一子集中的下述文件,对于所述文件,所述第一特性量大于所述第一关键值,所述第二特性量大于所述第二关键值。如果假定给定数量的文件将被移动,并且在所述文件的第一子集中包含多于给定数量文件的文件,则从所述文件的第一子集中移动给定数量的文件。不过,如果假定多于在所述文件的第一子集中包含的文件数量的文件将被移动,则来自所述文件的第二子集和/或所述文件的第三子集的文件被移动到所述第二存储空间。此外,如果在所述文件的第二和第三子集中未包含足够文件,则移动来自所述文件的第四子集的文件。文件的总数可指代由管理员指定的数量。文件的总数还可被隐含地给出,例如通过指定必须在所述第一存储空间上可用的给定存储量而给出。那么,达到释放给定存储量所需那么多的文件从所述第一存储空间移动到所述第二存储空间。
根据本发明实施例,在所述给定数量的文件从所述第一存储空间移动到所述第二存储空间之前,所述文件的第一子集、所述文件的第二子集、所述文件的第三子集和所述文件的第四子集被动态确定,并且仅当所述文件的第一子集、所述文件的第二子集和所述文件的第三子集中未包含足够文件时,才移动来自所述文件的第四子集的文件。因此,仅在对于文件从所述第一存储空间到所述第二存储空间的迁移进行调度之前,所述文件的第一子集、所述文件的第二子集、所述文件的第三子集和所述文件的第四子集中包含的文件被确定。
根据本发明实施例,根据被添加到海量存储***的新文件的数量或根据包含在文件的第一、第二、第三或第四子集中的文件数量,重新生成文件索引。
根据本发明实施例,所述第一特性量指定文件年龄(age),并且所述第二特性量指定文件大小。因此,在本发明的本实施例中,为所述文件索引中的每个文件列出的第一特性量指代文件年龄。文件年龄通常指代从该文件上次被访问开始的时间段。不过,文件年龄还可指代从该文件被创建开始的时间段。所述第二特性量指代文件大小。那么,通过使用每个文件的所述第一特性量确定的第一关键值将是指定某个文件年龄的值。那么,通过使用所述第二特性量确定的第二关键值将是指定某个文件大小的值。
根据本发明实施例,通过计算包含在所述文件样本中的文件的平均年龄来确定所述第一关键值,并且通过计算由包含在所述文件样本中的文件所占据的平均空间来确定所述第二关键值。
根据本发明实施例,所述海量存储***是层级存储管理***,其中所述第一存储空间由层一存储设备提供,并且其中所述第二存储空间由层二存储设备提供。
根据本发明实施例,所述第一存储空间和所述第二存储空间由一个存储设备提供,或者可替换地,所述第一存储空间和所述第二存储空间由两个分开的存储设备提供。
所述第一存储空间可以例如被分配在存储设备的一个分区上,而所述第二存储空间可以被分配在同一存储设备的另一个分区上。那么文件可以用压缩方式存储在所述第二存储空间上。可替换地,所述第一存储空间可以由高速存储设备提供,而所述第二存储空间可以由较慢存储设备提供。
根据本发明实施例,通过使用散列算法来执行在所述文件索引内的条目的访问,其中所述散列算法被用于存储和检索所述文件索引中由所述第一或第二存储空间保持的每个文件的信息状态和属性,并且其中所述第一和第二特性量被包括在每个文件的属性中。
通过扫描包含在所述第一存储空间和所述第二存储空间中的所有文件,并通过使用用于在所述文件索引中安排文件的散列算法,生成所述文件索引。由于使用了散列算法,在所述文件索引中以均匀分布方式列出文件。这具有下述优点,即,从完全的文件列表中得到的任何文件样本均表示包含在所述文件索引中的文件的正态分布。在从所述文件索引中得到的随机样本中,如果选择了适当的样本大小,将不会呈现局部偏离。因此,样本大小(即,包含在样本中的给定数量的文件)可以比包含在所述第一和第二存储空间中的文件数量少得多。例如,在所述第一存储空间和所述第二存储空间中可以包含多于108或109个文件,而在文件样本中仅可列出10000个文件。大体上,因为由于文件索引的均匀分布方式导致文件样本是文件索引的示意性概貌,并从而是海量存储***的示意性概貌,所以没有理由不把样本中的文件数量保持成很低的数量。
在另一方面,本发明涉及一种计算机程序产品,其包括用于执行根据前述权利要求的任一项的方法的计算机可执行指令。
在另一方面,本发明涉及一种用于管理海量存储***的数据处理***,其中所述海量存储***包括第一存储空间和第二存储空间,并且其中所述数据处理***包括:用于生成文件索引的装置,所述文件索引以均匀分布方式列出每个文件连同第一特性量、第二特性量和状态信息。所述状态信息指定所述文件是被保持在所述第一存储空间上还是所述第二存储空间上。所述数据处理***还包括:用于从所述文件索引中选择文件样本的装置,所述文件样本包含给定数量的文件,并且其中所述给定数量的文件中的每个文件的所述状态信息指定所述文件被保持在所述第一存储空间上。所述数据处理***还包括:用于通过使用所述文件样本中的每个文件的所述第一特性量来确定第一关键值的装置和用于通过使用所述文件样本中的每个文件的所述第二特性量来确定第二关键值的装置,以及用于确定文件的第一子集的另外的装置,对于所述文件的第一子集所包括的每个文件,所述第一特性量大于所述第一关键值,所述第二特性量大于所述第二关键值,并且所述文件通过所述状态信息指定被所述第一存储空间所保持。
附图说明
下文中将仅通过示例并参考附图来更详细地描述本发明的优选实施例,在附图中:
图1示出了包括海量存储***的计算机***的框图;
图2描述了示出由根据本发明的方法执行的基本步骤的流程图;
图3描述了在大型文件***内文件相对于文件年龄的典型分布;
图4示出了文件数量相对于文件大小的典型分布;以及
图5在图形上示出了用于确定文件的第一、第二、第三和第四子集的标准。
具体实施方式
图1示出了包括海量存储***的计算机***100的框图。计算机***100包括非易失性存储设备106、微处理器108、易失性存储设备102、屏幕150和输入设备152。海量存储***包括第一存储空间102和第二存储空间104,在此示例中此二者均被分配在非易失性存储设备106上。第一存储空间102保持第一多个文件114,例如多于108个文件。第二存储空间104保持第二多个文件116,例如也多于108个文件。
微处理器108执行同样是海量存储***一部分的计算机程序产品110。计算机程序产品110包括用于执行根据本发明方法的指令。通过扫描第一存储空间102以及可选地扫描第二存储空间104而生成文件索引118。文件索引118存储在易失性存储设备112上。它被永久性存储在第一存储空间102上。也可能文件索引118仅被部分地加载到易失性存储设备112中,特别是当该索引很大的时候。
文件索引118列出了存储在第一存储空间102以及可选地存储在第二存储空间104中的每个文件。因此,文件索引列出了第一多个文件114和第二多个文件116中的每个文件。对于文件索引118中列出的文件120,还在文件索引118中存储了第一特性量122、第二特性量124和状态信息126。状态信息126指定该文件是被保持在第一存储空间102上还是第二存储空间104上。状态信息126还可指定文件地址,例如,该文件在第一存储空间102或第二存储空间104上存储的位置,使得该文件可被立刻访问到。在本发明实施例中,通过扫描第一存储空间102以及扫描第二存储空间104,以及通过使用散列算法来把第一多个文件114或第二多个文件116中的每个文件的文件信息存储在文件索引118中,而生成文件索引118。通常,散列算法允许用高效方式存储不仅仅第一和第二特性量。可以通过使用散列算法用高效方式存储许多属性。第一特性量和第二特性量则属于所述属性。信息状态也属于所述属性,信息状态指定文件在非易失性存储设备106上存储的位置。以均匀分布方式在文件索引118中列出文件,例如这通过使用散列算法来确保。
从文件索引118中选择文件样本128。文件样本128包含文件索引118中的给定数量130个文件。文件样本128中的文件例如可以从文件索引118中列出的第一文件中取得,或者它们可以随机地从文件索引118中挑选出来。给定数量130例如可以由***管理员来设置。例如当初始化***时,在屏幕150上显现的请求将要求***管理员通过使用输入设备152来键入给定数量130,给定数量130将存储在易失性存储设备112上或可替换地存储在非易失性存储设备106上。
对于文件样本128,仅考虑物理地存储在第一存储空间102内的文件。这可以通过在将所选文件分配到文件样本128之前检查所选文件的状态信息来完成。例如,如果文件120被分配到文件样本128,则之前已检查看状态信息126,以便确保文件120最初存储在第一多个文件114上。
通过使用文件样本128中包含的每个文件的第一特性量来确定第一关键值134。因此,通过使用文件120的第一特性量122连同文件样本128的其它文件的其它第一特性量,确定第一关键值134。
通过使用文件样本128中包含的每个文件的第二特性量来确定第二关键值136。因此,通过使用文件120的第二特性量124连同文件样本128中包含的所有其它文件的其它第二特性量,确定第二关键值136。第一关键值134和第二关键值136存储在易失性存储设备112上或可替换地存储在非易失性存储设备106上。
确定文件的第一子集138。来自文件索引118的文件140被分配给文件的第一子集138,由此其第一特性量154大于第一关键值134,并且由此其第二特性量156大于第二关键值136,并且所述文件140的状态信息158指定在第一存储空间102上保持文件。
还确定文件的第二子集142,其包括来自文件索引118的所有文件144,所述文件144具有的第一特性量小于第一关键值134但大于第一阈值158,且具有的第二特性量大于第二关键值136,所述文件144由状态信息指定在第一存储空间102上存储。
还确定文件的第三子集146,其包括来自文件索引118的所有文件148,所述文件148具有的第一特性量大于第一关键值134,且具有的第二特性量小于第二关键值136但大于第二阈值160,所述文件148由状态信息指定在第一存储空间102上存储。
还确定文件的第四子集154,其包括来自文件索引118的所有文件156,所述文件156具有的第一量小于第一关键值134但大于第一阈值158,且具有的第二特性量小于第二关键值136但大于第二阈值160,所述文件156由状态信息指定在第一存储空间102上存储。第一阈值158和第二阈值160是例如由***管理员指定的恒定值。
因此,文件的第一子集138、文件的第二子集142、文件的第三子集146和文件的第四子集154包括满足以上给定条件的文件。大致上,文件子集138、142、146和154例如可被***管理员用来得出关于第一存储空间102的统计。在本发明的优选实施例中,文件子集138、142、146和154用于标识候选文件,所述候选文件被假定从第一多个文件114移动到第二多个文件116。优选地,包括在文件的第一子集138中的文件被首先移动,接着包括在文件的第二和第三子集144和148中的文件被移动。最后,如果文件的第一、第二和第三子集的所有文件都已被移动,则来自文件的第四子集154的文件从第一存储空间102被移动到第二存储空间104。典型地,将从文件的第一子集138中移出给定数量的文件。给定数量可被选择,从而例如使得在第一存储空间102上一定量的存储空间可用。如果比文件的第一子集138中可用文件更多的文件必须被移动,则包含在文件的第二子集142和/或文件的第三子集146中的文件将被移动。最后,如果在文件的第一、第二和第三子集138、142和146中未包含足够文件,则来自文件的第四子集154的文件将被移动。在文件已被移动之后,在文件的第一子集138、文件的第二子集142、文件的第三子集146和文件的第四子集154中包含的文件必须被相应地更新。这大致上意味着,已经从第一多个文件114移动到第二多个文件116的文件必须从相应的文件子集中取消。从而,文件索引118必须被更新,这意味着已经从第一存储空间102移动到第二存储空间104的文件的状态信息必须被改变。
典型地,在文件从第一存储空间移动到第二存储空间之前,文件的第一子集138、文件的第二子集142、文件的第三子集146和文件的第四子集154被动态确定。这确保各种文件子集138、142、146和154包含满足在当调度迁移之时由第一关键值134和136设置的需求的文件。
当包含在文件的第一、第二、第三或第四子集138中的文件数量变得非常少,以至于基本上在这些文件子集中未包含足够的文件时,重新生成文件索引118,来提供一种在第一存储空间中生成足够的自由空间的充分方式。
在优选实施例中,文件的第一特性量对应于文件年龄(age)。第二特性量对应于文件大小。那么第一关键值134例如是特定文件年龄。那么第二关键值136是特定文件大小。将在以下描述确定这些值的各种可能性。那么第一阈值158将是另一特定文件年龄,而第二阈值160将指代另一特定文件大小。包含在文件的第一子集138中的文件是相对老和相对大的文件,因为这些文件所具有的第一特性量134大于第一关键值158,且其具有的第二特性量136大于第二关键值160。
在图1示出的示例中,第一存储空间102和第二存储空间104被分配在一个非易失性存储设备106上。非易失性存储设备106可以例如是硬盘驱动器。那么第一存储空间102可以是硬盘驱动器上的已分配空间。那么第二存储空间可以是例如其中以包括方式在硬盘上存储文件的存储空间。在本发明的另一实施例中,第一存储空间可以是在硬盘上,而第二存储空间可以被分配在不同存储设备上,所述存储设备例如可以是磁带驱动器。此外,第一存储空间例如可以位于客户端计算机***上,从而用户可快捷迅速地访问包含在第一存储空间上的文件中存储的数据。那么第二存储空间可以是位于服务器计算机上的存储空间,所述服务器计算机通过因特网连接而连接于客户端计算机,从而包含在服务器计算机上的数据仅可以用较慢的方式对客户端计算机上的用户可用。
图2描述了示出由根据本发明的方法执行的基本步骤的流程图。在步骤200,生成以均匀分布方式列出每个文件连同第一特性量、第二特性量和状态信息的文件索引。状态信息指定将文件保持在第一存储空间或第二存储空间上。在步骤202,从文件索引中选择文件样本。文件样本包含给定数量的文件,而所述给定数量的文件中的每个文件的状态信息指定将文件保持在第一存储空间上。在步骤204,通过使用所述文件样本中的每个文件的第一特性量来确定第一关键值,而在步骤206,通过使用所述文件样本中的每个文件的第二特性量来确定第二关键值。在步骤208,确定文件的第一子集。
在本发明实施例中,根据本发明的方法进行到步骤210,在步骤210确定文件的第二子集,并且本发明的方法进行到步骤212,在步骤212确定文件的第三子集,并且本发明的方法进行到步骤214,在步骤214确定文件的第四子集。此外,在步骤216,优选地来自文件的第一子集的文件从第一存储空间迁移到第二存储空间。
图3描述了对于大型文件***的文件数量相对于文件年龄的典型分布300。x轴302指代以天为单位的文件年龄,而y轴304指代文件数量。文件年龄通常指代从该文件上次被访问开始的时间段。如从图中可见,对于特定年龄的文件数量基本未偏离文件的平均数量Nave 306。因此,在文件***内,文件数量相对于文件年龄或多或少地均衡分布。基本上,仅可以使用一个标准(即文件年龄)来确定假定要从第一存储空间迁移到第二存储空间的文件。例如,可以迁移比一个月更久的所有文件。不过,如图3所示,文件数量相对于文件年龄或多或少地均衡分布。因此,仅仅文件年龄不会真正地提供用于迁移文件的非常有用的标准。
图4示出了文件数量相对于文件大小的典型分布400。在此图中,文件数量404被示出为文件大小402的函数。如可见的,文件数量404相对于文件大小402减少。因此,仅仅少量文件包含所存储的多数数据,而大多数其它文件相对较小。因此,文件大小是用于决定文件是否应该被移动到第二存储空间的相对强的标准,因为仅通过移动少数文件(即最大的那些文件),就可以使第一存储空间上的相对大量的自由空间可用。
图5在图形上示出了用于确定文件的第一、第二、第三和第四子集的标准。图500的x轴502指代文件大小,而图的y轴504指代文件年龄。由第一特性量(在此情形中为文件年龄)以及由第二特性量(在此情形中为文件大小)指定的文件***的任何文件可被置于图500中的相应坐标。
在此示例中第一关键值Tavg是通过包含在文件样本中的文件确定的特定文件年龄。第一阈值Tthreshold可以例如是由***管理员设置的值,其指代最小文件年龄。预见到较新的文件不会被移动。Tavg可以例如通过文件样本中比Tthreshold更老的文件的平均年龄来确定。
第二关键值Nsize 506可以通过由包含在随机样本中的文件所占据的存储容量C来确定。第二关键值Nsize506例如是存储容量的一半C50%。该值可以通过以下方法迭代计算:
通过所有文件i的文件大小来为所有文件i分类;
对于所有文件i,进行:C:=C+文件i的文件大小;
C50%:=C/2;
While(i:=0;sum=sum+小于C50%的文件i的文件大小;在最后i=i+1;文件i的大小等于大小(C50%))
第二阈值Nthreshold 510可以例如指代由***管理员设置的特定文件大小,其指代最小文件大小。预见到较小的文件不会被移动。
第一关键值Tavg 508和第二关键值Nsize 506是下述标准,通过所述标准,各种文件子集彼此分开。因此,文件的第一子集514位于图500的右上象限。文件的第二子集516在文件的第一子集514之下。文件的第三子集518和文件的第四子集520由第一关键值Tavg 508分开。
只要在文件的第一子集514中有足够的文件可用作为迁移候选者,就只有这些文件应该被迁移,因为这些文件是所找到的最佳候选者。因此,选择文件i的概率Pi是Pi=1。当文件的第一子集514中未剩下文件时,同样其它象限应被用于选择用于迁移的文件。文件的第二子集516和文件的第三子集518比文件的第四子集520更合适,因此它们将被首先查询。可能性是从文件的第二子集516或从文件的第三子集518中随机选择文件。
另一可能性是选择文件的第二和第三子集中最合适用于迁移的文件。尽管在文件的第二和第三子集中已经满足一个标准(年龄或大小),但其它标准可见为取决于实际年龄(Agei)或大小(Sizei)在0和1之间的概率P(Agei)和P(Sizei)。包含在文件的第四子集520中的文件是最差选择,因此仅在文件的其它子集的象限中未剩下文件时才应该选择它们。对于包含在文件的第四子集中的文件的概率Pi需要基于两个实际值(Agei,Sizei)。此外,年龄和大小之间的优先级可通过权重因子(WeightAge,WeightSize)来调整。权重因子可在0到<1的范围内选择,其中WeightAge+WeightSize<1。
文件的概率Pi被实现为随机选择。随机选择本身可通过随机数生成器来实现,随机数生成器为每个文件生成随机数R。如果随机数R小于文件的概率P,则该文件将被迁移。
因此,可以通过以下情形来表示选择方法:
1.如果文件i包含在文件的第一子集514中:Pi=1
2.如果文件i包含在文件的第三子集518中:Pi=P(Sizei)*WeightSize
3.如果文件i包含在文件的第二子集516中:Pi=P(Agei)*WeightAge
4.如果文件i包含在文件的第四子集520中:Pi=0
如果R<Pi(始终会是这样),则从文件的第一子集中得到文件。从文件的第三和第二子集中得到文件,且R<Pi,这意味着选择较老和较大文件的概率大于选择较新和较小的文件。R始终大于第四象限的Pi=0。因此,最初不会从第四象限中得到文件。
如果在文件的第一、第二和第三子集中未包含文件,则给出一个例外。对于此情况,以上情况4将用以下方式来替换:
如果文件i包含在文件的第四子集中:Pi=P(Agei)*WeightAge+P(Sizei)*WeightSize
在每次扫描其中在文件索引中更新了文件属性的文件***之后,调节用于区分四个象限的第一关键值508和第二关键值506。
Claims (19)
1.一种用于管理海量存储***的方法,所述海量存储***包括第一存储空间和第二存储空间,所述方法包括:
生成文件索引,所述文件索引以均匀分布方式列出每个文件连同第一特性量、第二特性量和状态信息,所述状态信息指定所述文件是被保持在所述第一存储空间上还是所述第二存储空间上;
从所述文件索引中选择文件样本,所述文件样本包含给定数量的文件,其中所述给定数量的文件中的每个文件的所述状态信息指定所述文件被保持在所述第一存储空间上;
通过使用所述文件样本中的每个文件的所述第一特性量来确定第一关键值;
通过使用所述文件样本中的每个文件的所述第二特性量来确定第二关键值;以及
确定文件的第一子集,对于其所包括的每个文件,所述第一特性量大于所述第一关键值,所述第二特性量大于所述第二关键值,并且所述文件通过所述状态信息指定被所述第一存储空间所保持。
2.根据权利要求1所述的方法,其中所述方法还包括:
确定文件的第二子集,对于其所包括的每个文件,所述第一特性量小于所述第一关键值但大于第一阈值,所述第二特性量大于所述第二关键值,并且所述文件通过所述状态信息指定被所述第一存储空间所保持;
确定文件的第三子集,对于其所包括的每个文件,所述第一特性量大于所述第一关键值,所述第二特性量小于所述第二关键值但大于第二阈值,并且所述文件通过所述状态信息指定被所述第一存储空间所保持;以及
确定文件的第四子集,对于其所包括的每个文件,所述第一特性量小于所述第一关键值但大于所述第一阈值,所述第二特性量小于所述第二关键值但大于所述第二阈值。
3.根据权利要求2所述的方法,所述方法还包括:
如果在所述文件的第一子集中包含多于所述给定数量的文件,则将所述文件的第一子集中给定数量的文件从所述第一存储空间移动到所述第二存储空间;
如果在所述文件的第一子集中包含少于所述给定数量的文件,则将所述文件的第一子集的所有文件从所述第一存储空间移动到所述第二存储空间,并且移动所述文件的第二子集或所述文件的第三子集或所述文件的第四子集中的剩余数量的文件,使得总共所述给定数量的文件从所述第一存储空间移动到所述第二存储空间;以及
更新所述文件的第一子集、所述文件的第二子集、所述文件的第三子集和所述文件的第四子集。
4.根据权利要求3所述的方法,其中在所述给定数量的文件从所述第一存储空间移动到所述第二存储空间之前,所述文件的第一子集、所述文件的第二子集、所述文件的第三子集和所述文件的第四子集被动态确定,并且其中仅当在所述第一子集、所述第二子集和所述第三子集中未包含足够文件时,才从所述文件的第四子集中移动文件。
5.根据权利要求2至4的任一项所述的方法,其中根据被添加到海量存储***的新文件的数量或根据包含在文件的第一、第二、第三或第四子集中的文件数量,重新生成所述文件索引。
6.根据权利要求1至4的任一项所述的方法,其中所述第一特性量指定文件年龄,并且其中所述第二特性量指定文件大小。
7.根据权利要求1至4的任一项所述的方法,其中通过计算包含在所述文件样本中的文件的平均年龄来确定所述第一关键值,并且其中通过计算由包含在所述文件样本中的文件所占据的平均空间来确定所述第二关键值。
8.根据权利要求1至4的任一项所述的方法,其中所述海量存储***是层级存储管理***,其中所述第一存储空间由层一存储设备提供,并且其中所述第二存储空间由层二存储设备提供。
9.根据权利要求1至4的任一项所述的方法,其中所述第一存储空间和所述第二存储空间由一个存储设备提供,或者其中所述第一存储空间和所述第二存储空间由两个分开的存储设备提供。
10.根据权利要求1至4的任一项所述的方法,其中通过使用散列算法生成所述文件索引,其中所述散列算法被用于存储和检索所述文件索引中由所述第一或所述第二存储空间保持的每个文件的信息状态和属性,并且其中所述第一和所述第二特性量被包括在每个文件的属性中。
11.一种用于管理海量存储***的数据处理***,所述海量存储***包括第一存储空间和第二存储空间,所述数据处理***包括:
用于生成文件索引的装置,所述文件索引以均匀分布方式列出每个文件连同第一特性量、第二特性量和状态信息,所述状态信息指定所述文件是被保持在所述第一存储空间上还是所述第二存储空间上;
用于从所述文件索引中选择文件样本的装置,所述文件样本包含给定数量的文件,其中所述给定数量的文件中的每个文件的所述状态信息指定所述文件被保持在所述第一存储空间上;
用于通过使用所述文件样本中的每个文件的所述第一特性量来确定第一关键值的装置;
用于通过使用所述文件样本中的每个文件的所述第二特性量来确定第二关键值的装置;以及
用于确定文件的第一子集的装置,对于所述文件的第一子集所包括的每个文件,所述第一特性量大于所述第一关键值,所述第二特性量大于所述第二关键值,并且所述文件通过所述状态信息指定被所述第一存储空间所保持。
12.根据权利要求11所述的数据处理***,其中所述数据处理***还包括:
用于确定文件的第二子集的装置,对于所述文件的第二子集所包括的每个文件,所述第一特性量小于所述第一关键值但大于第一阈值,所述第二特性量大于所述第二关键值,并且所述文件通过所述状态信息指定被所述第一存储空间所保持;
用于确定文件的第三子集的装置,对于所述文件的第三子集所包括的每个文件,所述第一特性量大于所述第一关键值,所述第二特性量小于所述第二关键值但大于第二阈值,并且所述文件通过所述状态信息指定被所述第一存储空间所保持;以及
用于确定文件的第四子集的装置,对于所述文件的第四子集所包括的每个文件,所述第一特性量小于所述第一关键值但大于所述第一阈值,所述第二特性量小于所述第二关键值但大于所述第二阈值。
13.根据权利要求12所述的数据处理***,所述数据处理***还包括:
用于如果在所述文件的第一子集中包含多于所述给定数量的文件,则将所述文件的第一子集中给定数量的文件从所述第一存储空间移动到所述第二存储空间的装置;
用于如果在所述文件的第一子集中包含少于所述给定数量的文件,则将所述文件的第一子集的所有文件从所述第一存储空间移动到所述第二存储空间,并且移动所述文件的第二子集或所述文件的第三子集或所述文件的第四子集中的剩余数量的文件,使得总共所述给定数量的文件从所述第一存储空间移动到所述第二存储空间的装置;以及
用于更新所述文件的第一子集、所述文件的第二子集、所述文件的第三子集和所述文件的第四子集的装置。
14.根据权利要求13所述的数据处理***,其中在所述给定数量的文件从所述第一存储空间移动到所述第二存储空间之前,所述文件的第一子集、所述文件的第二子集和所述文件的第三子集被动态确定。
15.根据权利要求11至14的任一项所述的数据处理***,其中所述第一特性量指定文件年龄,并且其中所述第二特性量指定文件大小。
16.根据权利要求11至14的任一项所述的数据处理***,其中通过计算包含在所述文件样本中的文件的平均年龄来确定所述第一关键值,并且其中通过计算由包含在所述文件样本中的文件所占据的平均空间来确定所述第二关键值。
17.根据权利要求11至14的任一项所述的数据处理***,其中所述海量存储***是层级存储管理***,其中所述第一存储空间由层一存储设备提供,并且其中所述第二存储空间由层二存储设备提供。
18.根据权利要求11至14的任一项所述的数据处理***,其中所述第一存储空间和所述第二存储空间由一个存储设备提供,或者其中所述第一存储空间和所述第二存储空间由两个分开的存储设备提供。
19.根据权利要求11至14的任一项所述的数据处理***,其中通过使用散列算法生成所述文件索引,其中所述散列算法被用于存储和检索所述文件索引中由所述第一或所述第二存储空间保持的每个文件的信息状态和属性,并且其中所述第一和所述第二特性量被包括在每个文件的属性中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP06100012 | 2006-01-02 | ||
EP06100012.1 | 2006-01-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1996312A CN1996312A (zh) | 2007-07-11 |
CN100458792C true CN100458792C (zh) | 2009-02-04 |
Family
ID=38251402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007100015149A Expired - Fee Related CN100458792C (zh) | 2006-01-02 | 2007-01-04 | 用于管理海量存储***的方法和数据处理*** |
Country Status (2)
Country | Link |
---|---|
US (1) | US7752206B2 (zh) |
CN (1) | CN100458792C (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8346739B1 (en) * | 2004-08-27 | 2013-01-01 | Affiliated Computer Services, Inc. | Segmenting documents among multiple data repositories |
US20090055351A1 (en) * | 2007-08-24 | 2009-02-26 | Microsoft Corporation | Direct mass storage device file indexing |
EP2235646A1 (en) * | 2007-12-18 | 2010-10-06 | BAE Systems PLC | Improvements relating to data curation |
CN101668091A (zh) * | 2009-09-21 | 2010-03-10 | 中兴通讯股份有限公司 | 一种铃音数据割接的方法和装置 |
US9229991B2 (en) * | 2013-04-19 | 2016-01-05 | Palo Alto Research Center Incorporated | Computer-implemented system and method for exploring and filtering an information space based on attributes via an interactive display |
US10540095B1 (en) * | 2016-08-12 | 2020-01-21 | Pure Storage, Inc. | Efficient garbage collection for stable data |
CN111095233B (zh) * | 2017-09-28 | 2023-09-26 | 深圳清华大学研究院 | 混合文件***架构、文件存储、动态迁移及其应用 |
US10929176B2 (en) * | 2018-10-24 | 2021-02-23 | EMC IP Holding Company LLC | Method of efficiently migrating data from one tier to another with suspend and resume capability |
US11294859B2 (en) * | 2020-01-15 | 2022-04-05 | Microsoft Technology Licensing, Llc | File usage recorder program for classifying files into usage states |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050027735A1 (en) * | 2000-08-24 | 2005-02-03 | Microsoft Corporation | Method and system for relocating files that are partially stored in remote storage |
CN1653422A (zh) * | 2002-05-31 | 2005-08-10 | 国际商业机器公司 | 基于策略的存储管理的方法、***和程序 |
US20050246386A1 (en) * | 2004-02-20 | 2005-11-03 | George Sullivan | Hierarchical storage management |
JP2005537554A (ja) * | 2002-08-29 | 2005-12-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ストレージ・ユニット間のデータ移動 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5991753A (en) * | 1993-06-16 | 1999-11-23 | Lachman Technology, Inc. | Method and system for computer file management, including file migration, special handling, and associating extended attributes with files |
-
2006
- 2006-11-22 US US11/562,660 patent/US7752206B2/en not_active Expired - Fee Related
-
2007
- 2007-01-04 CN CNB2007100015149A patent/CN100458792C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050027735A1 (en) * | 2000-08-24 | 2005-02-03 | Microsoft Corporation | Method and system for relocating files that are partially stored in remote storage |
CN1653422A (zh) * | 2002-05-31 | 2005-08-10 | 国际商业机器公司 | 基于策略的存储管理的方法、***和程序 |
JP2005537554A (ja) * | 2002-08-29 | 2005-12-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ストレージ・ユニット間のデータ移動 |
US20050246386A1 (en) * | 2004-02-20 | 2005-11-03 | George Sullivan | Hierarchical storage management |
Also Published As
Publication number | Publication date |
---|---|
US7752206B2 (en) | 2010-07-06 |
US20070180001A1 (en) | 2007-08-02 |
CN1996312A (zh) | 2007-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100458792C (zh) | 用于管理海量存储***的方法和数据处理*** | |
US7765189B2 (en) | Data migration apparatus, method, and program for data stored in a distributed manner | |
US7103731B2 (en) | Method, system, and program for moving data among storage units | |
CN103064639B (zh) | 数据存储方法及装置 | |
US9020892B2 (en) | Efficient metadata storage | |
CN110268394A (zh) | Kvs树 | |
US7694103B1 (en) | Efficient use of memory and accessing of stored records | |
US20110191544A1 (en) | Data Storage and Access | |
CN110383261A (zh) | 用于多流存储装置的流选择 | |
US20080208861A1 (en) | Data Sorting Method And System | |
US7506005B2 (en) | Moving data from file on storage volume to alternate location to free space | |
CN108140040A (zh) | 存储器中数据库的选择性数据压缩 | |
US7506003B2 (en) | Moving data from file on storage volume to alternate location to free space | |
CN106155934B (zh) | 一种云环境下基于重复数据的缓存方法 | |
CN109947363A (zh) | 一种分布式存储***的数据缓存方法 | |
US7536512B2 (en) | Method and apparatus for space efficient identification of candidate objects for eviction from a large cache | |
CN110888837B (zh) | 对象存储小文件归并方法及装置 | |
US11625187B2 (en) | Method and system for intercepting a discarded page for a memory swap | |
US20160328448A1 (en) | Controlling mirroring of tables based on access prediction | |
JP2011191835A (ja) | 計算機システムおよびアプリケーションプログラムの実行方法 | |
CN108319634A (zh) | 分布式文件***的目录访问方法和装置 | |
US7080206B2 (en) | System and method for adaptively loading input data into a multi-dimensional clustering table | |
US11663351B2 (en) | Information processing system, information processing device, and non-transitory computer-readable storage medium for storing program of controlling access authority | |
EP1215590B1 (en) | Method and system for scalable, high performance hierarchical storage management | |
US20220092049A1 (en) | Workload-driven database reorganization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090204 Termination date: 20190104 |
|
CF01 | Termination of patent right due to non-payment of annual fee |