CN101067822B - 用于元数据的分级存储管理的方法和系统 - Google Patents
用于元数据的分级存储管理的方法和系统 Download PDFInfo
- Publication number
- CN101067822B CN101067822B CN2007101022262A CN200710102226A CN101067822B CN 101067822 B CN101067822 B CN 101067822B CN 2007101022262 A CN2007101022262 A CN 2007101022262A CN 200710102226 A CN200710102226 A CN 200710102226A CN 101067822 B CN101067822 B CN 101067822B
- Authority
- CN
- China
- Prior art keywords
- metadata
- catalogue
- data
- partial key
- key index
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99934—Query formulation, input preparation, or translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (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
本发明提供了用于访问信息的技术。创建部分关键字索引,其中该部分关键字索引包括一个或多个部分关键字索引(PKI)记录项,其中每个PKI记录项标识元数据对象的一部分,其中该元数据对象包括元数据记录项,每个元数据记录项对应于相关联的数据对象。该部分关键字索引用于定位一个或多个PKI记录项,其中该一个或多个PKI记录项中的每一个对应于一个或多个复合对象之一中的一个或多个数据对象。该一个或多个PKI记录项中的每一个用于提取在针对该一个或多个复合对象中的每一个复合对象的元数据对象中的元数据的位置信息。使用该位置信息将来自每个元数据对象的元数据加载进数据库。
Description
技术领域
本发明的实施例涉及对诸如数据库记录项之类的元数据的分级存储管理。
背景技术
存储管理应用提供了在计算机网络中从客户端计算机处备份的、存档的、移植的或以其他方式存储的计算机信息的资源库。该资源库可以是链接到存储管理服务器的分级存储器体系(storage hierarchy),并且可以存储诸如文件和目录之类的数据对象。分级存储器体系通常包括一个或多个数据存储介质级别,其对应于所存储的数据的可访问性。例如,一个级别可以包括多个直接访问存储设备(DASD),其提供对所存储的数据的相对较快的访问。另一级别可包括多个顺序访问存储设备,其提供对数据的较慢的访问,但是在用“数据存储容量/存储设备成本”来衡量时通常是更加节省成本的。
一些常规方法将各个数据对象存储在分级存储器体系中,其提供了较高程度的管理粒度,但是需要大量的存储管理开销。换言之,数据对象中的每一个可以独立于所有其他数据对象而被访问、提取、移动或以其他方式处理。在这个级别的管理代价可能相当高,因为存储管理服务器必须维护这样的数据库,其跟踪各个数据对象中的每个数据对象。因此,存储管理服务器数据库可能需要高得惊人的存储容量以存储与所有数据对象相关联的所有元数据。另外,为了提供该管理粒度,总的操作复杂度可能相当得大。
另一种管理分级存储器体系内的数据对象的方法使用复合对象,该复合对象包含聚集成单个可操作存储对象的多个数据对象。即,可以将复合对象描述为包含多个文件、目录、数据库或其他数据对象的对象。复合对象的一个例子是一个表示在特定时间点对整个文件系统的备份的对象。这样的复合对象可以包含整个文件系统中的所有数据对象。对文件系统的备份可以被全部包含在单个复合对象中,而不是在数据库中创建众多的数据对象和对应的元数据对象记录项,针对该单个复合对象在存储管理服务器数据库内仅建立一个数据库记录项。将整个复合对象存储为单个对象可以实现对该复合对象中的所有数据的快速备份/恢复。因为该存储管理服务器处理单个对象,所以也简化了对这种数据的管理。
无论这样的复合对象是出于备份目的还是出于其他存储管理目的而创建的,通常将这样的复合对象称作镜像。在这种情形下创建的备份镜像包含来自该文件系统的所有数据对象,并且可被存储为该分级存储器体系中的单个对象,诸如被存储在磁带上。
分级存储器体系中镜像的使用可以极大地降低管理复杂度,因为该存储管理服务器可以将单个镜像中的所有数据对象作为单个对象来处理。将数据对象存储为单个镜像还可实现对该镜像内的数据进行更快的备份和恢复操作。
存储管理服务器可以将数据对象存储在一个或多个存储位置或存储池中,并且使用数据库来跟踪关于所存储的数据对象的信息,该信息包括数据对象的属性以及在存储池中的位置。可以将存储池描述为一个或多个诸如磁盘或磁带之类的存储介质,其被分配为用于存储数据的组。典型的存储池可以对应于特定类型的数据、用户组或部门或者其他分组标准。
一些系统收集并存储涉及复合对象内的各个对象的元数据,并且使该元数据可被访问而不需读取该复合对象。这使得允许对元数据进行访问和显示,因此可以对各个文件进行查询以便提取。复合对象内的针对各个对象的元数据可以包括数据对象的完全合格的名称、大小、时间戳以及在该复合对象内的位置。下面是两种用于管理复合对象内的各个对象的元数据的一般方法。
在一种方法中,可以将元数据信息存储在存储管理服务器数据库中,以便在从任何复合对象搜索和提取任意个别对象时能进行快速访问。然而,所需的数据库空间的量随着存储越来越多的复合对象而增长,其可能使数据库性能降低。将每个复合对象的所有元数据都存储在数据库中也会引起在需要删除该复合对象时的低效率,因为这将要求也删除针对那个复合对象的每个元数据对象记录项。
在另一种方法中,可以将复合对象内的所有对象的元数据存储在单个元数据对象中,该元数据对象被存储在分级存储器体系中。因此,该元数据对象包含针对该复合对象内的对象(一般是文件或目录)的属性和位置索引。该索引信息被存储在该元数据对象中并且与该复合对象相关联,因此该元数据不需要数据库空间。可以在存储该复合对象的时候创建该元数据对象,或者如果该复合对象已经内嵌了描述其内容的信息则可以通过在存储该复合对象之后扫描该复合对象的内容来创建该元数据对象。这种方法的缺点是对各个元数据对象记录项的访问会非常慢。
因此,在本技术领域中需要改进的元数据分级存储管理,以降低数据库大小并且提供更快的查询响应时间。
发明内容
提供了一种用于访问信息的方法、计算机程序产品和系统。创建部分关键字索引(partial key index),其中该部分关键字索引包括一个或多个部分关键字索引(PKI)记录项,其中每个PKI记录项标识元数据对象的一部分,其中该元数据对象包括元数据记录项,每个元数据记录项对应于相关联的数据对象。该部分关键字索引用于定位一个或多个PKI记录项,其中该一个或多个PKI记录项中的每一个对应于该一个或多个复合对象之一中的一个或多个数据对象。该一个或多个PKI记录项中的每一个用于提取在针对该一个或多个复合对象中的每一个复合对象的元数据对象中的元数据的位置信息。使用该位置信息将来自每个元数据对象的元数据加载进数据库。
附图说明
现在参考附图,在全部附图中相同的参考数字表示对应的部分。
图1说明代表性的分级数据存储管理系统100,通过该系统或者结合该系统可以使用实施例。
图2说明根据某些实施例的数据库的细节。
图3说明根据某些实施例的以包括在针对复合对象的元数据对象中的元数据对象记录项的形式出现的样本元数据。
图4说明根据某些实施例的包括在部分关键字索引中的样本PKI记录项。
图5说明根据某些实施例的存储管理子系统的示例性数据分级存储器体系。
图6说明根据某些实施例的用于创建部分关键字索引的逻辑。
图7说明根据某些实施例的用于提供对复合对象的访问的逻辑。
图8说明根据某些实施例的用于恢复一个或多个数据对象的逻辑。
图9说明根据某些实施例的用于删除部分关键字索引的逻辑。
图10说明根据某些实施例的可以使用的系统架构。
具体实施方式
在以下的说明中,参考了附图,这些附图形成了说明书的一部分并且说明了本发明的若干实施例。应当理解,可以利用其他实施例,并且可以在不偏离本发明范围的情况下进行结构的和操作的改变。
图1说明代表性的分级数据存储管理系统100,通过该系统或者结合该系统可以使用实施例。该系统100一般包括一个或多个用户客户端工作站102、一个或多个管理员工作站112以及存储管理子系统120。
该用户客户端工作站102经由通信信道108电连接到该存储管理子系统120。该用户客户端工作站102向用户提供对该存储管理子系统120的访问。
该管理员工作站112经由通信信道118电连接到该存储管理子系统120。该管理员工作站112还可以在邻近时和功能允许的条件下直接连接到该存储管理子系统120。该管理员工作站112被配置为管理并监控该存储管理子系统120的功能性和处理。
该存储管理子系统120被配置为根据来自该用户客户端工作站102和该管理员工作站112的请求来存储数据并管理所存储的数据。该存储管理子系统120包括存储管理服务器130,其经由通信信道190操作上耦合到数据库170和分级存储器体系180。该分级存储器体系180包括一个或多个存储设备(例如:直接访问存储设备(DASD)和磁带)的体系。同样,可以将零个或多个复合对象182以及零个或多个元数据对象184存储在该分级存储器体系180中。通信信道190可以是存储区域网(SAN)、小型计算机系统接口(SCSI),或者作为替代可以类似于通信信道108和118。存储管理服务器130包括分级系统140,并且可以包括一个或多个其他部件150。
所说明的存储管理服务器130可以是商业上可获得的存储服务器,或者可以是被配置为管理该分级存储器体系180内的数据存储的兼容设备的汇集。
例如,每个通信信道108、118、190可以包括网络,诸如对等网络、星型网络(spoke and hub network)、存储区域网(SAN)、局域网(LAN)、广域网(WAN)、互联网、内部网,等等。作为替代,每个通信信道108、118、190可以包括有线网络系统,诸如导线或总线、光纤电缆或适于在网络系统部件之间传导电信号的其他物理结构。在其他实施例中,每个通信信道108、118、190可以包括在网络系统部件之间的无线连接或有线部件和无线部件的组合。另外,每个通信信道108、118、190可以包括用于将地理上分离的用户工作站102和/或管理员工作站112与存储管理子系统120连接起来的装置,诸如使用像TCP/IP这样的惯用的传输协议的互联网。而且,每个通信信道108、118、190还可以包括在功能上与互联网部分地或完全相似的专有子系统。
例如,数据库170可以包括诸如直接访问存储设备(DASDs)、磁盘簇(JBOD)、独立冗余磁盘阵列(RAID)、虚拟设备等存储设备的阵列。
图2说明根据某些实施例的数据库170的细节。该数据库170包括针对存储在该分级存储器体系180中的每个元数据对象184的索引200,每个元数据对象184依次表示进入存储在该分级存储器体系180中的复合对象182的索引。数据库170中的每个索引200包含针对该元数据对象184中的记录项的部分关键字集合以及指示对应的元数据在该元数据对象184中的位置的位置信息。元数据202表示从一个或多个元数据对象184中加载进该数据库的元数据。这里,这个索引200将被称为部分关键字索引(PKI)200。该部分关键字索引200包括一个或多个部分关键字索引(PKI)记录项,其中每个PKI记录项标识元数据对象的一部分,其中该元数据对象包括元数据记录项,每个元数据记录项对应于相关联的数据对象。在某些实施例中,针对每个元数据对象184的PKI 200被存储在该数据库170中的单独的永久性的表中。该数据库170还包括从该分级存储器体系180中的一个或多个元数据对象184加载的元数据202。每个元数据对象184可被描述为包含针对对应的复合对象182中的每个数据对象的元数据(即元数据对象记录项)。另外,该数据库170包括表204。
在某些实施例中,表204包括至少一个针对复合对象182的表、至少一个针对元数据对象184的表以及至少一个针对部分关键字索引的表。在替代性的实施例中,可以存在较少的表或者这些表可以以任何方式进行合并。
表A是针对复合对象182的样本表,其中省略号指示其他字段可以被包括在该表中:
表A
复合对象的标识符 | 数据的所有者 | 存储位置 | 参考对应的元数据对象 | ... |
表A中“参考对应的元数据对象”一栏用于标识和访问对应于复合对象182的对应的元数据对象184。
表B是针对元数据对象的样本表,其中省略号指示其他字段可以被包括在该表中:
表B
元数据对象的标识符 | 数据的所有者 | 存储位置 | 参考对应的部分关键字索引 | 参考对应的复合对象 | ... |
表B中“参考对应的部分关键字索引”一栏用于标识和访问对应于元数据对象184的部分关键字索引200。表B中“参考对应的复合对象”一栏用于标识和访问对应于元数据对象184的复合对象182。
表C是针对部分关键字索引的样本表,其中省略号指示其他字段可以被包括在该表中:
表C
元数据对象的标识符 | 针对对应的元数据对象的PKI记录项 | ... |
表204可用于针对部分关键字索引标识对应的元数据对象184和对应的复合对象182。
图3说明根据某些实施例的以包括在针对复合对象182的元数据对象300中的元数据对象记录项的形式出现的样本元数据。元数据对象300是元数据对象184的一个例子。该元数据对象300中的每个元数据对象记录项与该复合对象182中的一个数据对象相关联。每个元数据对象记录项包括下面的元数据字段:在元数据对象中的偏移、路径、对象名、数据类型、在复合对象中的位置(进入复合对象中的偏移)、以及复合对象中的数据对象的长度。例如,对在偏移零(“0”)处的元数据记录项,不存在路径,对象名是“\”,数据类型是目录,在该复合对象中的位置是在偏移零处,并且该数据对象的长度是100。图3中的省略号指示可以存在其他未示出的记录项。该元数据对象300中的元数据由目录存储,并且在相同目录中的数据对象的元数据对象记录项是连续的。在某些实施例中,该元数据对象300被存储在数据库之外(例如被存储为磁盘存储器上的文件以供快速访问)。
图4说明根据某些实施例的包括在针对该元数据对象300的部分关键字索引400中的样本PKI记录项。每个PKI记录项包括下面的字段:目录、开始位置(在元数据对象中的偏移)、以及结束位置(在元数据对象内的偏移)。针对在元数据对象300的元数据对象记录项中所标识的每个单独的目录都存在一个PKI记录项。
图5说明根据某些实施例的存储管理子系统120的示例性分级存储器体系180。在该数据分级存储器体系中,图形化地解释了“较高的”数据存储介质和设备对应于对所存储的数据的较快的可访问性。特别地,该说明包括位于该体系的“最高”级别502和504的高速数据存储介质和设备。例如,级别502可能包括诸如高速磁盘驱动器之类的直接访问存储设备(DASD)。在某些实施例中,该最高级别502甚至可以包括图1的数据库170。级别504可能包括与级别502中的那些存储介质和设备相类似的存储介质和设备,但是具有较低的访问速度。
在所说明的实施例中,级别506包括多个光盘以及一个或多个对应的光盘驱动器。此外,这些存储介质设备表现出的访问时间比在级别502和504中所说明的设备要慢。
对于在所说明的分级存储器体系中示出的所有介质类型和设备,级别508和510表示最慢的访问时间。这些级别508和510可能包括诸如磁带介质和驱动器之类的顺序访问存储设备。
该分级存储器体系还非常有助于说明该体系122内的各种介质类型和设备的成本结构。具体地,该图中的“最低”级别510和508表示每数据单元的成本最低的存储实现,而该“最高”级别502和504表示成本最高的数据存储方案。从这可以明显且毫无意外地看出,对于给定数量的数据存储容量,提供最快的数据访问时间的存储介质设备通常实现起来也最昂贵。
图6说明根据某些实施例的用于创建部分关键字索引200的逻辑。控制开始于方框600,在方框600中创建复合对象182。可将该复合对象182存储在分级存储器体系180中。在方框602中,元数据对象184被创建为对该复合对象182的索引。可将该元数据对象184存储在该分级存储器体系180中。在方框604中,由分级系统140为该元数据对象184创建部分关键字索引200。可以将该部分关键字索引200存储在数据库170中。例如,当元数据对象184按目录来组织时,可以通过扫描该元数据对象184来创建该部分关键字索引200以标识目录以及它们的开始位置和结束位置(即在元数据对象184中的偏移)。在某些实施例中,可以在创建该元数据对象184的同时创建该部分关键字索引200,然而,在某些实施例中,可以在创建该元数据对象184之后创建该部分关键字索引200。从方框600和602到方框604的虚线旨在表示这些替代性的实施例。
在某些实施例中,图形用户接口(GUI)用于显示在一个或多个复合对象182内的文件和目录。使用GUI,用户能够通过展开目录在包括文件和目录的文件系统内进行导航。
图7说明根据某些实施例的用于提供对复合对象182的访问的逻辑。控制开始于方框700,在方框700中分级系统140接收表示选择在一个或多个复合对象182中的目录(即数据对象的一个例子)的用户输入。例如,可以在每周的每一天为文件系统生成复合对象,因此对于一周就可能有七个复合对象,其中每个复合对象包括该目录的拷贝。在方框702中,该分级系统140确定可用于显示已选择的目录中的数据对象的元数据是否已经被加载在数据库170中。如果该元数据已经被加载,则处理继续进行到方框710,否则,处理继续进行到方框704。在方框704中,该分级系统140检查部分关键字索引200以定位一个或多个PKI记录项,其中每个PKI记录项对应于在该复合对象182之一中的已选择的目录。例如,如果存在七个复合对象,则可以加载多达七个PKI记录项。在方框706中,该分级系统140使用每个PKI记录项来提取在针对每个对应的复合对象182的元数据对象184中的元数据的位置信息。例如,针对七个复合对象的七个PKI记录项,提取来自七个元数据对象的位置信息。在方框708中,该分级系统140使用该位置信息将针对每个元数据对象184中的已选择的目录的元数据202(例如,从该分级存储器体系180)加载进该数据库170。在方框710中,该分级系统140将已选择的目录中的数据对象显示给用户。所显示的数据对象可以是文件和附加目录(即子目录)的任意组合。
在方框712中,分级系统140确定是否已经收到用于展开目录的指示。如果已经收到,则处理返回到方框700,否则,处理继续进行到方框714。在方框714中,分级系统140确定是否已经收到用于对一个或多个已选择的数据对象执行其他动作(即除了开展目录之外的动作)的指示。如果已经收到,则处理继续进行到方框716,否则,处理继续进行到方框718。换言之,用户可选择一个或多个显示的数据对象和将对那些已选择的数据对象执行的动作。实施例可适用于可以对诸如目录或文件之类的数据对象执行的任何动作。作为例子,该用户可选择一个或多个文件并请求访问那些文件,在这种情况下,分级系统140使用所加载的元数据来访问并显示关于针对每个复合对象182的已选择的目录中的文件的信息。作为另外的例子,该动作可以是删除一个或多个数据对象、恢复一个或多个数据对象、或对一个或多个对象执行病毒扫描。在方框716中,分级系统140对该一个或多个已选择的数据对象执行该动作。从方框716,处理继续进行到方框718。在方框718中,分级系统140执行其他处理(例如等待用户输入,并且基于该用户输入,处理可以从方框718返回到方框700或714)。
因此,当目录被展开时,分级系统140检查针对一个或多个复合对象182中的每个复合对象的PKI 200,以定位针对每个复合对象182的对应的PKI记录项(如果存在任何对应的PKI记录项的话)。根据这些PKI记录项,该分级系统140定位每个元数据对象的对应的元数据(即元数据对象记录项),并且将该元数据加载进例如该数据库170的临时表中。在某些实施例中,如果存在来自多个元数据对象184的元数据对象记录项,则这些记录项可以在该临时表内进行合并使得该用户可以观看感兴趣的目录中的对象的多个实例。在某些实施例中,被加载的元数据在该数据库170中保留由策略指定的一段时间,在那之后自动移除该临时表以节省该数据库170中的空间。然而,只要与部分关键字索引200中的PKI记录项相关联的复合对象182被存储,就一直保留该部分关键字索引200中的PKI记录项。
图8说明根据某些实施例的用于恢复一个或多个数据对象的逻辑。控制开始于方框800,在方框800中分级系统140接收用于恢复一个或多个数据对象的请求。在方框802中,该分级系统140使用所加载的元数据202来标识待恢复的一个或多个数据对象的位置。在方框804中,该分级系统140将一个或多个数据对象拷贝到指定的(例如由恢复请求所指定的)目的地。在相关的元数据202还没被加载进该数据库170中的情况下,该分级系统140使用类似于在图7中所描述的技术来加载该元数据202。
图9说明根据某些实施例的用于删除部分关键字索引200的逻辑。控制开始于方框900,在方框900中删除复合对象182。在方框902中,删除对应的元数据对象184。在方框904中,由分级系统140删除对应的部分关键字索引200。在某些实施例中,方框900、902、904的处理在单个数据库事务下执行,以保持引用完整性。
使用这些实施例,保存了数据库170内的空间。PKI所需的全部数据库空间比来自对应的元数据对象184的所有元数据对象记录项所需的空间要小得多。而且,元数据202在需要的时候(例如,在展开目录时)才被加载进该数据库170,因此在给定的时间可以加载一个或多个元数据对象184的元数据的一小部分。
另外,使用这些实施例,改善了响应时间。因为元数据202在需要的时候才被加载进该数据库170,所以与在元数据可被使用之前必须加载一个或多个元数据对象184中的所有记录项的情况相比,该分级系统140响应得更加迅速。
此外,因为在某些实施例中PKI记录项被存储为的永久的数据库记录项,所以它们即使在存储管理服务器130被重启的情况下也继续存在。
同样,实施例提供了对元数据的高效删除。如果复合对象182(例如,经由策略或者通过明确的管理动作)被删除,则对应的部分关键字索引200被标识并被删除。这是可能的,因为针对该复合对象182的PKI记录项位于不同的数据库表中,并且与针对该复合对象182的所有元数据对象记录项相比数量很少。对应于被删除的复合对象182的元数据对象184也容易被删除。
某些实施例使用部分关键字索引来对复合对象182的元数据进行高效处理。尽管这里的例子可能已经涉及访问与可以利用GUI来观看的复合对象182相关联的元数据,但是实施例可适用于对其他数据库信息的分级存储管理,对于这些其他数据库信息,可以同时访问具有公共关键字的数据库记录项。在这样的实施例中,数据库记录项被从数据库170中移除并且被存储在单独的文件中(即元数据对象184的形式)。该数据库170包含部分关键字索引200,其包含该文件内的位置信息和部分关键字。该部分关键字索引用于在需要访问该文件的时候快速定位信息和快速将信息加载进该数据库170。
因此,实施例提供了在该数据库170中对部分关键字索引记录项的优化的分级存储管理,以最小化数据库大小并获得快速的查询响应时间。
附加实施例细节
所描述的操作可以被实现为使用标准的编程和/或工程技术来生产软件、固件、硬件或它们的任意组合的方法、计算机程序产品或装置。
这些实施例中的每个实施例可以采用以下形式:全硬件实施例,全软件实施例或同时包含硬件和软件单元的实施例。这些实施例可以被实现在软件中,其中软件包括但不限于固件、驻留软件、微码等等。
此外,这些实施例可以采用可从计算机可用或计算机可读的介质中访问的计算机程序产品的形式,该计算机可用或计算机可读的介质提供由计算机或任何指令执行系统使用或者结合计算机或任何指令执行系统来使用的程序代码。出于该描述目的,计算机可用或计算机可读的介质可以是可包含、存储、传递、传播或传送由指令执行系统、装置或设备使用或者结合指令执行系统、装置或设备来使用的程序的任何装置。
所描述的操作可被实现为维持在计算机可用或计算机可读的介质中的代码,其中处理器可从该计算机可读介质中读取并执行该代码。该介质可以是电的、磁的、光的、电磁的、红外的或半导体系统(或者装置或设备)或者传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移动计算机盘、硬磁盘、光盘、磁存储介质(例如,硬盘驱动器、软盘、磁带等等)、易失性和非易失性存储设备(例如,随机访问存储器(RAM)、DRAM、SRAM、只读存储器(ROM)、PROM、EEPROM、闪速存储器、固件、可编程逻辑等等)。光盘的当前例子包括光盘只读存储器(CD-ROM)、可读/可写光盘(CD-R/W)和DVD。
实现所述操作的代码还可被实现在硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等等)中。此外,实现所述操作的代码可被实现在“传输信号”中,其中传输信号可以通过空间或通过诸如光纤、铜导线之类的传输介质传播。其中编码了该代码或逻辑的传输信号还可以包括无线信号、卫星传输、无线电波、红外信号、蓝牙等。其中编码了该代码或逻辑的传输信号能够由发射站发送并且由接收站接收,其中在接收站或设备或者在发射站或设备处,编码在传输信号中的代码或逻辑可以被解码并被存储在硬件或计算机可读介质中。
计算机程序产品可以包括其中可以实现代码的计算机可用的或计算机可读的介质、硬件逻辑和/或传输信号。当然,本领域的普通技术人员将认识到,在不偏离本发明的范围的条件下可以对该配置做许多修改,并且该计算机程序产品可以包括在现有技术水平下所公知的任何信息承载介质。
术语“逻辑”可以包括例如软件、硬件、固件和/或软件和硬件的组合。
某些实现可能针对一种由个人或自动处理将计算机可读代码集成到计算系统来部署计算基础设施的方法,其中代码结合计算系统能够执行所描述的实现的操作。
图6、图7、图8和图9的逻辑描述了以特定顺序发生的指定操作。在替代性的实施例中,可以以不同的顺序来执行、修改或移除这些逻辑操作中的某个逻辑操作。而且,可以向上述逻辑中添加操作并且仍然符合所描述的实施例。另外,可以顺序地发生这里所描述的操作或者可以并行地处理某些操作,或者描述为由单个进程执行的操作可以由分布式进程来执行。
图6、图7、图8和图9所说明的逻辑可以被实现在软件、硬件、可编程和非可编程门阵列逻辑中,或者可以被实现在硬件、软件或门阵列逻辑的某种组合中。
图10说明根据某些实施例的可以使用的系统架构1000。客户端工作站102、管理员工作站112以及/或者存储管理服务器130可以实现系统架构1000。该系统架构1000适于存储和/或执行程序代码,并且包括至少一个通过系统总线1020直接或间接耦合到内存单元1004的处理器1002。该内存单元1004可以包括在实际执行程序代码期间使用的本地存储器、大容量存储器以及高速缓存存储器,该高速缓存存储器提供对至少一些程序代码的临时存储,以减少在执行期间必须从大容量存储器中提取这些代码的次数。该内存单元1004包括操作系统1005和一个或多个计算机程序1006。
输入/输出(I/O)设备1012、1014(包括但不限于键盘、显示器、指示设备等等)可以通过中间I/O控制器1010直接或间接地耦合到该系统。
还可以将网络适配器1008耦合到该系统,以使得该数据处理系统能够通过中间的专用网络或公共网络耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、线缆调制解调器和以太网卡仅是少数当前可用类型的网络适配器1008。
该系统架构1000可以耦合到存储器1016(例如,诸如磁盘驱动器、光盘驱动器、磁带驱动器等等非易失性存储器区)。该存储器1016可以包括内部存储设备或者附属的或网络可访问的存储器。存储器1016中的计算机程序1006可被加载进该内存单元1004中,并且可由处理器1002以现有技术中的公知方式来执行。
该系统架构1000可以包括比所说明的部件更少的部件、未在此说明的附加部件或者所说明的部件与附加部件的某种组合。该系统架构1000可以包括现有技术中已知的任何计算设备,诸如大型机、服务器、个人计算机、工作站、膝上型计算机、手持计算机、电话设备、网络设备、虚拟化设备、存储控制器等等。
出于说明和描述的目的,已经给出了对本发明的实施例的上述描述。其并不旨在进行穷举或者将实施例限制在所公开的精确的形式。根据上面的讲解,有可能进行许多修改和变化。其意味着这些实施例的范围不受该详细的描述所限制,而是由此处所附的权利要求书所限制。上面的说明书、例子和数据提供了对制造和使用这些实施例的构成的完整描述。因为在不偏离这些实施例的精神和范围的条件下可以完成许多实施例,所以这些实施例属于此后所附的权利要求或任何后续提交的权利要求以及它们的等价之内。
Claims (16)
1.一种用于访问信息的计算机实现的方法,包括:
创建部分关键字索引,其中所述部分关键字索引包括一个或多个部分关键字索引记录项,其中每个部分关键字索引记录项标识元数据对象的一部分,其中所述元数据对象被存储在分级存储器体系中并且为对复合对象的索引,其中所述复合对象存储在分级存储器体系中并且包括数据对象,其中所述数据对象包括目录和文件,并且所述元数据对象包含元数据对象记录项,所述元数据对象记录项即为所述元数据对象对应的复合对象中的每个数据对象的元数据,其中每个元数据记录项对应于所述复合对象中相关联的目录,所述元数据对象记录项中包括所述元数据对象记录项在所述元数据对象中的偏移、所述目录的路径、所述目录对应的对象名称、所述目录的数据类型、所述目录对应的数据对象在复合对象中的位置以及所述目录对应的数据对象的长度;
响应于从用户接收到对位于所述复合对象中的所选择的目录的访问请求,确定所选择的所述目录对应的元数据是否已被加载;
响应于确定所述元数据还没被加载,通过检查所述部分关键字索引来定位一个或多个部分关键字索引记录项,其中所述一个或多个部分关键字索引记录项中的每一个对应于所选择的目录;
从所述一个或多个部分关键字索引记录项中的每一个部分关键字索引记录项中提取所述元数据对象中的针对所述复合对象的所选择的目录的元数据的位置信息;以及
使用所述位置信息将所选择的目录的元数据加载进数据库。
2.根据权利要求1所述的方法,其中所述元数据对象记录项标识相关联的数据对象。
3.根据权利要求1所述的方法,其中所述数据对象是目录。
4.根据权利要求1所述的方法,还包括
显示与所述已加载的元数据相关联的一个或多个数据对象。
5.根据权利要求4所述的方法,还包括
接收用于展开目录的指示。
6.根据权利要求4所述的方法,还包括
接收用于对被显示的所选择的目录中的数据对象执行动作的指示;以及
执行所述动作。
7.根据权利要求6所述的方法,其中所述动作是观看所述一个或多个已选择的数据对象。
8.根据权利要求7所述的方法,其中所述动作是恢复所述一个或多个已选择的数据对象,并且还包括:
使用所述已加载的元数据来标识所述待恢复的一个或多个数据对象中的每一个数据对象的位置;以及
将所述一个或多个数据对象拷贝到指定的目的地。
9.一种用于访问信息的系统,包括:
创建部分关键字索引的装置,其中所述部分关键字索引包括一个或多个部分关键字索引记录项,其中每个部分关键字索引记录项标识元数据对象的一部分,其中所述元数据对象被存储在分级存储器体系中并且为对复合对象的索引,其中所述复合对象存储在分级存储器体系中并且包括数据对象,其中所述数据对象包括目录和文件,并且所述元数据对象包含元数据对象记录项,所述元数据对象记录项即为所述元数据对象对应的复合对象中的每个数据对象的元数据,其中每个元数据记录项对应于所述复合对象中相关联的目录,所述元数据对象记录项中包括所述元数据对象记录项在元数据对象中的偏移、所述目录的路径、所述目录对应的对象名称、所述目录的数据类型、所述目录对应的数据对象在复合对象中的位置以及所述目录对应的数据对象的长度;
响应于从用户接收到对位于所述复合对象中的所选择的目录的访问请求,确定所选择的所述目录对应的元数据是否已被加载的装置;
响应于确定所述元数据还没被加载,通过检查所述部分关键字索引来定位一个或多个部分关键字索引记录项的装置,其中所述一个或多个部分关键字索引记录项中的每一个对应于所选择的目录;
从所述一个或多个部分关键字索引记录项中的每一个部分关键字索引记录项中提取所述元数据对象中的针对所述复合对象的所选择的目录的元数据的位置信息的装置;以及
使用所述位置信息将所选择的目录的元数据加载进数据库的装置。
10.根据权利要求9所述的系统,其中所述元数据对象记录项标识相关联的数据对象。
11.根据权利要求9所述的系统,其中所述数据对象是目录。
12.根据权利要求9所述的系统,还包括显示与所述已加载的元数据相关联的一个或多个数据对象的装置。
13.根据权利要求12所述的系统,还包括接收用于展开目录的指示的装置。
14.根据权利要求12所述的系统,还包括接收用于对被显示的所选择的目录中的数据对象执行动作的指示的装置;以及执行所述动作的装置。
15.根据权利要求14所述的系统,其中所述动作是观看所述一个或多个已选择的数据对象。
16.根据权利要求15所述的系统,其中所述动作是恢复所述一个或多个已选择的数据对象,并且还包括:
使用所述已加载的元数据来标识所述待恢复的一个或多个数据对象中的每一个数据对象的位置的装置;以及
将所述一个或多个数据对象拷贝到指定的目的地的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/381,499 | 2006-05-03 | ||
US11/381,499 US7574435B2 (en) | 2006-05-03 | 2006-05-03 | Hierarchical storage management of metadata |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101067822A CN101067822A (zh) | 2007-11-07 |
CN101067822B true CN101067822B (zh) | 2010-06-02 |
Family
ID=38662292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101022262A Expired - Fee Related CN101067822B (zh) | 2006-05-03 | 2007-04-27 | 用于元数据的分级存储管理的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7574435B2 (zh) |
CN (1) | CN101067822B (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080195635A1 (en) * | 2007-02-12 | 2008-08-14 | Yahoo! Inc. | Path indexing for network data |
US8824686B1 (en) * | 2007-04-27 | 2014-09-02 | Netapp, Inc. | Cluster key synchronization |
US9384777B2 (en) * | 2007-08-17 | 2016-07-05 | International Business Machines Corporation | Efficient elimination of access to data on a writable storage media |
US9299385B2 (en) * | 2007-08-17 | 2016-03-29 | International Business Machines Corporation | Efficient elimination of access to data on a writable storage media |
US8219534B2 (en) * | 2008-02-27 | 2012-07-10 | Dell Products L.P. | Multiple file compaction for network attached storage |
US8224831B2 (en) * | 2008-02-27 | 2012-07-17 | Dell Products L.P. | Virtualization of metadata for file optimization |
US7991756B2 (en) * | 2008-08-12 | 2011-08-02 | International Business Machines Corporation | Adding low-latency updateable metadata to a text index |
US8050251B2 (en) * | 2009-04-10 | 2011-11-01 | Barracuda Networks, Inc. | VPN optimization by defragmentation and deduplication apparatus and method |
US9336139B2 (en) * | 2010-11-29 | 2016-05-10 | Cleversafe, Inc. | Selecting a memory for storage of an encoded data slice in a dispersed storage network |
US8626781B2 (en) * | 2010-12-29 | 2014-01-07 | Microsoft Corporation | Priority hash index |
US9785641B2 (en) | 2011-04-01 | 2017-10-10 | International Business Machines Corporation | Reducing a backup time of a backup of data files |
JP5971509B2 (ja) * | 2011-08-30 | 2016-08-17 | ソニー株式会社 | 情報処理装置および方法、並びに記録媒体 |
WO2013091244A1 (zh) * | 2011-12-23 | 2013-06-27 | 华为技术有限公司 | 文件系统中数据的存储方法、访问方法及装置 |
CN102521419A (zh) * | 2011-12-31 | 2012-06-27 | 曙光信息产业股份有限公司 | 分级存储的实现方法和系统 |
US8935256B2 (en) * | 2012-03-02 | 2015-01-13 | Cleversafe, Inc. | Expanding a hierarchical dispersed storage index |
EP2693349A1 (en) * | 2012-08-03 | 2014-02-05 | Tata Consultancy Services Limited | A system and method for massive call data storage and retrieval |
GB2506623A (en) * | 2012-10-04 | 2014-04-09 | Ibm | Managing user files in a tiered storage system |
US9311359B2 (en) | 2013-01-30 | 2016-04-12 | International Business Machines Corporation | Join operation partitioning |
US9633023B2 (en) | 2013-03-15 | 2017-04-25 | Microsoft Technology Licensing, Llc | Efficient DVCS storage system |
CN103699585B (zh) * | 2013-12-06 | 2017-04-19 | 华为技术有限公司 | 文件的元数据存储以及文件恢复的方法、装置和系统 |
CN104090897B (zh) * | 2013-12-19 | 2016-05-04 | 深圳市腾讯计算机系统有限公司 | 访问元数据的方法、服务器及系统 |
CN105279095B (zh) * | 2014-06-26 | 2019-09-13 | 南京中兴新软件有限责任公司 | 创建jbod文件系统的方法及装置 |
US20160063021A1 (en) * | 2014-08-28 | 2016-03-03 | Futurewei Technologies, Inc. | Metadata Index Search in a File System |
US9672248B2 (en) | 2014-10-08 | 2017-06-06 | International Business Machines Corporation | Embracing and exploiting data skew during a join or groupby |
US10650011B2 (en) * | 2015-03-20 | 2020-05-12 | International Business Machines Corporation | Efficient performance of insert and point query operations in a column store |
US10303791B2 (en) | 2015-03-20 | 2019-05-28 | International Business Machines Corporation | Efficient join on dynamically compressed inner for improved fit into cache hierarchy |
US9922064B2 (en) | 2015-03-20 | 2018-03-20 | International Business Machines Corporation | Parallel build of non-partitioned join hash tables and non-enforced N:1 join hash tables |
US10108653B2 (en) | 2015-03-27 | 2018-10-23 | International Business Machines Corporation | Concurrent reads and inserts into a data structure without latching or waiting by readers |
US10831736B2 (en) | 2015-03-27 | 2020-11-10 | International Business Machines Corporation | Fast multi-tier indexing supporting dynamic update |
CN106599062A (zh) * | 2016-11-18 | 2017-04-26 | 北京奇虎科技有限公司 | 一种SparkSQL系统中的数据处理方法和装置 |
CN107679182B (zh) * | 2017-09-29 | 2020-05-08 | 华为技术有限公司 | 一种目录配置方法及装置 |
CN109725982B (zh) * | 2017-10-31 | 2020-12-11 | 迈普通信技术股份有限公司 | 数据对象构建方法及装置 |
CN108038253B (zh) * | 2018-01-23 | 2021-03-12 | 奇安信科技集团股份有限公司 | 一种日志查询的处理方法及装置 |
CN111741107B (zh) * | 2020-06-19 | 2023-08-04 | 北京星辰天合科技股份有限公司 | 基于文件存储系统的分层方法及装置、电子设备 |
CN116661685A (zh) * | 2023-05-18 | 2023-08-29 | 清华大学 | 业务行为感知的对象存储元数据分级存储方法与系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506844A (zh) * | 2002-11-19 | 2004-06-23 | �Ҵ���˾ | 使用动态内容表和内容表集的分级存储管理方法和装置 |
CN1588369A (zh) * | 2004-09-06 | 2005-03-02 | 杭州恒生电子股份有限公司 | 一种关系型数据库系统及其查询和报表方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738790B1 (en) | 1997-10-31 | 2004-05-18 | Oracle International Corporation | Approach for accessing large objects |
US6915307B1 (en) | 1998-04-15 | 2005-07-05 | Inktomi Corporation | High performance object cache |
US7200627B2 (en) | 2001-03-21 | 2007-04-03 | Nokia Corporation | Method and apparatus for generating a directory structure |
EP1645976A3 (en) * | 2002-07-23 | 2006-04-26 | Samsung Electronics Co., Ltd. | Index structure of metadata, method for providing indices of metadata, and metadata searching method and apparatus using the indices of metadata |
DK1490801T3 (da) | 2002-07-23 | 2008-01-28 | Samsung Electronics Co Ltd | Metadataindeksstruktur, fremgangsmåde til tilvejebringelse af metadataindekser og metadatasögningsfremgangsmåde og apparat der anvender metadataindekserne |
US20050125419A1 (en) | 2002-09-03 | 2005-06-09 | Fujitsu Limited | Search processing system, its search server, client, search processing method, program, and recording medium |
US7167869B2 (en) | 2003-09-26 | 2007-01-23 | Sag Ag | Representing hierarchical list data |
US7472254B2 (en) * | 2003-10-10 | 2008-12-30 | Iora, Ltd. | Systems and methods for modifying a set of data objects |
US20050091226A1 (en) | 2003-10-23 | 2005-04-28 | Yun Lin | Persistent caching directory level support |
CA2545232A1 (en) * | 2005-07-29 | 2007-01-29 | Cognos Incorporated | Method and system for creating a taxonomy from business-oriented metadata content |
-
2006
- 2006-05-03 US US11/381,499 patent/US7574435B2/en not_active Expired - Fee Related
-
2007
- 2007-04-27 CN CN2007101022262A patent/CN101067822B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506844A (zh) * | 2002-11-19 | 2004-06-23 | �Ҵ���˾ | 使用动态内容表和内容表集的分级存储管理方法和装置 |
CN1588369A (zh) * | 2004-09-06 | 2005-03-02 | 杭州恒生电子股份有限公司 | 一种关系型数据库系统及其查询和报表方法 |
Also Published As
Publication number | Publication date |
---|---|
US7574435B2 (en) | 2009-08-11 |
US20070260592A1 (en) | 2007-11-08 |
CN101067822A (zh) | 2007-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101067822B (zh) | 用于元数据的分级存储管理的方法和系统 | |
CN100568240C (zh) | 用于从备份数据映像建立数据库的方法和系统 | |
CN100377112C (zh) | 磁盘驱动器、其控制方法以及磁盘伪造的探测方法 | |
CN103902623B (zh) | 用于在存储系统上存取文件的方法和系统 | |
CA2910211C (en) | Object storage using multiple dimensions of object information | |
US10248676B2 (en) | Efficient B-Tree data serialization | |
US7730071B2 (en) | Data management system and data management method | |
CN103140827B (zh) | 存储系统及其使用的方法 | |
CN104813276A (zh) | 从备份系统流式恢复数据库 | |
CN102725755B (zh) | 文件访问方法及系统 | |
US8452788B2 (en) | Information retrieval system, registration apparatus for indexes for information retrieval, information retrieval method and program | |
US11977532B2 (en) | Log record identification using aggregated log indexes | |
WO2016079629A1 (en) | Optimizing database deduplication | |
CN102667772A (zh) | 文件级分级存储管理系统、方法和设备 | |
CN101211365A (zh) | 用于建立搜索索引的方法和系统 | |
CN102567140A (zh) | 使用变化日志的文件系统备份 | |
CN105786408A (zh) | 闪存阵列中的逻辑扇区映射 | |
WO2010048531A1 (en) | System and methods for metadata management in content addressable storage | |
CN103460197A (zh) | 计算机系统、文件管理方法以及元数据服务器 | |
CN101840419A (zh) | 用于从整体备份恢复数据的方法 | |
CN102930060A (zh) | 一种数据库快速索引的方法及装置 | |
KR20090063733A (ko) | 다중 복제를 지원하는 분산 파일 시스템에서 데이터 서버의복구 방법 및 그에 적당한 메타데이터 스토리지 및 저장방법 | |
CN108628885B (zh) | 一种数据同步方法、装置及存储设备 | |
CN102576393A (zh) | 存取、压缩和跟踪在光盘存储系统中存储的介质 | |
CN103473324A (zh) | 基于非结构化数据存储的多维业务属性检索装置及方法 |
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: 20100602 Termination date: 20160427 |