CN101031907B - 索引处理 - Google Patents

索引处理 Download PDF

Info

Publication number
CN101031907B
CN101031907B CN2005800330528A CN200580033052A CN101031907B CN 101031907 B CN101031907 B CN 101031907B CN 2005800330528 A CN2005800330528 A CN 2005800330528A CN 200580033052 A CN200580033052 A CN 200580033052A CN 101031907 B CN101031907 B CN 101031907B
Authority
CN
China
Prior art keywords
index
identifier
stored
received
inode number
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.)
Active
Application number
CN2005800330528A
Other languages
English (en)
Other versions
CN101031907A (zh
Inventor
R·帕拉波图
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Inc
EMC Corp
Original Assignee
EMC Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by EMC Inc filed Critical EMC Inc
Publication of CN101031907A publication Critical patent/CN101031907A/zh
Application granted granted Critical
Publication of CN101031907B publication Critical patent/CN101031907B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

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)
  • Debugging And Monitoring (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

根据一些实施例,处理索引的技术包括:接收索引的一部分,其中索引与标识符相关;确定标识符是否被存储;并且如果确定标识符被存储,则把索引的被接收的一部分存储在与所存储的标识符基本上相同的项中。

Description

索引处理
技术领域
本发明涉及计算机环境,尤其是数据备份。
背景技术
惯例是在计算机环境中备份数据。当数据被备份到备份介质(例如磁带驱动器、硬驱动器)时,附加信息(这里被称为索引)也可以从正在备份其数据的计算机系统被传送。索引提供关于正在被备份的数据的信息,比如备份数据如何被组织的。索引经常以随机顺序被接收,并且所接收的索引典型地需要被重组。对于大量的索引而言,在备份结束时对索引的组织可能花费很长时间并且耗费高的系统资源。应该值得期望的是能够以一种避免为重建索引所典型需要的极长的时间周期的方式来组织索引。
附图说明
在以下的详细描述和附图中公开了本发明的不同实施例。
图1是适用于执行本发明的系统的框图。
图2A-2B是根据用于处理索引的一些实施例的方法的流程图。
图3是根据一些实施例用于处理索引的方法的流程图。
图4是根据本发明的一些实施例的结合图3所讨论的具有由索引节点号所标识的索引项的索引树的例子。
图5是根据一些实施例的用于索引处理的方法的流程图。
具体实施方式
可以以各种方式实施本分明,包括如过程、装置、系统、合成物质(composition of mstter)、计算机可读介质(诸如计算机可读存储介质)或者计算机网络,其中程序指令经由光或者电子通信链路被发送。在该说明书中,这些实施或者本分明可以采取的任何其它形式可以被称为技术。通常,在本分明的范围内可以改变所公开的处理的步骤顺序。
下面,与示出本分明原理的附图一起提供本分明的一个或者多个实施例的详细描述。关于这些实施例描述本分明,但是本分明并不局限于任一实施例。本分明的范围只由权利要求限制并且本分明包含各种替代方案、修改和等价物。在下面的描述中阐明许多特定的细节,以便提供对本分明的彻底理解。为了实例的目的提供这些细节,并且可以在没有一些或者全部这些特定细节的情况下根据权利要求实施本分明。为了清楚的目的,在与本分明有关的技术领域中所公知的技术资料未被详细描述,使得本分明有必要地晦涩。
图1是适用于执行本发明的系统的框图。在本例中,数据服务器100被示出以发送数据到备份介质102。数据服务器100也发送索引到备份服务器104。
图2是根据一些实施例的用于处理索引的方法的流程图。在本例中,索引以块(piece)的方式被接收。例如,用于特定的数据块的索引也可以有DIR组件(component)和NODE组件,其中DIR包括索引节点(inode)号、父索引节点号和索引名称。在本实施例中,索引节点号是标识索引的唯一号码。索引的NODE组件也包括与DIR索引节点号相匹配的索引节点号、以及索引属性(例如统计信息(statinfo.))。统计信息的例子包括关于索引的信息,比如大小、类型、许可、创建和修改日期。
在本例中,索引组件被接收(200)。这里所使用的索引组件是索引的一部分,例如DIR组件或NODE组件。然后确定索引组件的索引节点号是否已经被存储(202)。在一实施例中,索引节点号被存储在磁盘上(on-disk)平衡树结构中,如B+树。B+树结构可以以与搜索库(诸如Legato公司、EMC的分公司的WISS)相结合的方式被使用。在一些实施例中,索引节点号可以是标识索引的唯一号码并且该索引的所有索引组件都与该号码相关。
如果这个特定索引的索引节点号未被发现被存储,那么所接收的索引组件作为新的项被存储(208)。例如,如果NODE组件被接收并且这个特定索引的索引节点号未被发现被存储于磁盘上的平衡树中,那么该所接收的组件作为新的项被存储在平衡树中。
如果这个特定索引的索引节点号被发现被存储,那么确定被接收到的索引组件是否是DIR(204)。如果不是DIR,那么假设是NODE组件并且被写入与所有匹配索引节点号的匹配存储索引节点号(matching stored inode number)相同的项中(210)。如果被接收到的索引组件是DIR(204),那么确定匹配存储索引项是否包括NODE(206)。如果不包括,那么被接收到的DIR就作为新的项被存储(212)。
如果匹配存储索引项包括NODE(206),那么确定所存储的索引项中的一个是否是DIR(220)。如果带有匹配索引节点号的DIR组件还未被存储但是有NODE项,那么匹配的NODE项用该所接收到的DIR组件更新(224)。然而,如果匹配存储索引项中的一个是DIR(220),那么NODE属性从匹配项之一中被复制并且在接收DIR组件时被存储在新的项中(222)。
图3是根据一些实施例用于处理索引的方法的流程图。在本例中,索引的块已经被重构,作为索引项被存储在平衡树中,并且索引树正在被重建。当与图4结合起来被讨论时可以最好地理解图3。
图4是根据一些实施例结合图3所讨论的具有由索引节点号所标识的索引的索引树的例子。在本例中,该树被示出包括具有顶端索引的索引结构,所述顶端索引具有索引节点数2。具有索引节点号3和4的索引被示出为节点索引号2的子;并且索引节点号5、6、7和8为索引节点号3和4的子。索引节点号2这里被称为索引节点号3和索引节点号4的父;并且索引节点号3这里被称为索引节点号5和索引节点号6的父。在本例中,索引节点号2可以是一目录,该目录包括具有索引节点号3的目录和具有索引节点号4的另一目录。索引节点号3是一目录,该目录包括带有索引节点号5的文件和带有索引节点号6的另一文件。
在图3所示的实施例中,最顶端的索引节点号从所存储的索引节点号中被寻找(300)。例如,可以预先确定树中的最顶端的索引节点号是索引节点号2。因此,可以在平衡树(例如B+树)中执行搜寻来寻找索引节点号2。
然后,其父是最顶端的索引节点号的索引项被寻找(302)。例如,在图4所示的例子中,其父是最顶端的索引节点号的索引是索引节点号3和索引节点号4。因此,可以在平衡树中基于父信息执行搜索来寻找具有等同于索引节点号2的父的索引项。在一些实施例中,父索引节点号被存储在索引的DIR组件中。
这些索引项被标识为索引树的下一级(304)。然后确定是否存在具有作为父的这些索引节点号的项(306)。如果不存在具有作为父的这些索引节点号的索引项,那么重构完成。然而,如果存在具有作为父的这些索引节点号的项,那么最新发现的索引项被标识为索引树的下一级(304)。
图5是根据一些实施例的用于处理索引的方法的流程图。在本例中,索引以单一块而不是以接收索引的多个块的方式从数据服务器被传送到备份服务器。这里,索引节点号不被接收,而是索引的路径被接收。例如,索引d可以与路径a/b/c/d一起被接收,其中c是d的父,b是c的父,a是b的父。另外,另一索引d与其路径一起可以被接收,其中索引d不同于索引d。具有相同名称的文件可以出现在不同的目录下,例如a/c/b/d,其中这些文件不具有相同的路径。因此,按名称(例如d)的搜索在本例中是无用的。在一些实施例中,在路径中为项产生伪索引节点号。在一些实施例中,该索引节点号是唯一的。目录树可以在存储器中被产生,所述目录树包括索引名称、其被分配的索引节点号、以及其父被分配的索引节点号,使得可以通过搜索索引节点号或父索引节点号来执行快速搜索。
在图5所示的例子中,索引与该索引的路径(例如a/b/c/d)一起被接收(500)。确定路径项是否从路径中被找回(502)。如果路径项不从路径中被找回,那么处理完成。如果路径项(例如“b”)从路径中被找回,那么父索引节点号从目录树中被找回(504)。目录树包括目录列表。在一些实施例中,目录树被存储在存储器中而索引树被存储在磁盘上。然后确定路径项是否处于目录树中(506)。如果路径项已经存在于目录树中,那么下一项从所接收到的路径中被找回(502)。在一些实施例中,路径项从左到右被、从父到子被找回,在路径a/b/c/d的例子中例如a,然后b,然后c,然后d。
如果路径项不存在于目录树(506)中,那么在该例中唯一的索引节点号被分配给该路径项(508)。确定路径项是否是目录(510)。在一些实施例中,文件不被保存在目录树中而是目录被保存。目录具有至少一个子而文件没有。如果路径项是目录,那么该路径项被添加到目录树(512)。在一些实施例中,目录名称、其被分配的索引节点号和其父被分配的索引节点号被存储在目录树中。例如,如果路径a/b/c/d已经为索引“d”被接收,并且“c”已经被分配索引节点号4,并且“d”被分配索引节点号5,那么“d”的父索引节点号是4。不管路径项被加到目录树(512)还是路径项是目录(510),索引被存储在磁盘上的平衡树中(514)。如果一个是可用的,那么下一路径项被找回(502)。
其后,在一些实施例中根据与图3所例示的方法相类似的方法,索引树可以被重建。在该实施例中,搜索存储在存储器的目录树而不是平衡树,以找到索引节点号和父索引节点号。
尽管为了清楚理解的目的已经稍详细地描述了前述的实施例,但是本发明不局限于所提供的细节。有许多实现本发明的可替代方式。公开的实施例是示例性的并且不是限制性的。

Claims (13)

1.处理索引的方法,包括:
接收索引的一部分,其中索引被接收的一部分与标识符相关;
确定标识符是否被存储;
如果确定标识符被存储,则将索引被接收的一部分存储在与所存储的标识符相同的项中,
如果确定标识符未被存储,则将索引被接收的一部分作为新的项存储,
其中,索引被接收的一部分包括索引的多个部分的其中之一;多个部分中包含的每一部分包括索引的DIR组件或NODE组件;以及
其中,将索引被接收的一部分存储在与存储的标识符相同的项中使得索引的被接收的NODE组件能够被存储在与先前接收的和存储的与被接收的NODE组件相关联的相关于相同标识符的组件相同的项中。
2.根据权利要求1所述的方法,其中将索引的被接收的一部分存储在磁盘上。
3.根据权利要求1所述的方法,其中索引的一部分是索引的DIR组件。
4.根据权利要求1所述的方法,其中索引的一部分是索引的NODE组件。
5.根据权利要求1所述的方法,其中标识符是唯一的标识符。
6.根据权利要求1所述的方法,其中标识符是索引节点号。
7.根据权利要求1所述的方法,其中标识符被存储在磁盘上。
8.根据权利要求1所述的方法,进一步包括寻找第一标识符以及寻找具有与第一标识符匹配的父标识符的项。
9.根据权利要求8所述的方法,其中具有匹配父标识符的被找到的项被标识为索引树的下一级。
10.处理索引的装置,包括:
用于接收索引的一部分的部件,其中索引的被接收的一部分与标识符相关;
用于确定标识符是否被存储的部件;
用于如果确定标识符被存储则将索引被接收的一部分存储在与所存储的标识符相同的项中的部件;
用于如果确定标识符未被存储则把索引的被接收的一部分作为新的项存储的部件,
其中,索引的被接收的一部分包括索引的多个部分的其中之一;多个部分中包含的每一部分包括索引的DIR组件或NODE组件;以及
其中,将索引的被接收的一部分存储在与存储的标识符相同的项中使得索引的被接收的NODE组件能够被存储在与先前接收的和存储的与接收的NODE组件相关联的相关于相同标识符的组件相同的项中。
11.根据权利要求10所述的装置,其中索引的被接收的一部分被存储在磁盘上。
12.根据权利要求10所述的装置,其中所述装置还包括用于寻找第一标识符以及寻找具有与第一标识符匹配的父标识符的项的部件。
13.根据权利要求12所述的装置,其中具有匹配父标识符的被找到的项被标识为索引树的下一级。
CN2005800330528A 2004-09-30 2005-09-29 索引处理 Active CN101031907B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/957,069 US7716262B2 (en) 2004-09-30 2004-09-30 Index processing
US10/957,069 2004-09-30
PCT/US2005/035212 WO2006039502A2 (en) 2004-09-30 2005-09-29 Index processing

Publications (2)

Publication Number Publication Date
CN101031907A CN101031907A (zh) 2007-09-05
CN101031907B true CN101031907B (zh) 2012-03-07

Family

ID=36126875

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800330528A Active CN101031907B (zh) 2004-09-30 2005-09-29 索引处理

Country Status (5)

Country Link
US (1) US7716262B2 (zh)
EP (1) EP1805650A4 (zh)
JP (1) JP2008515114A (zh)
CN (1) CN101031907B (zh)
WO (1) WO2006039502A2 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146524B2 (en) * 2001-08-03 2006-12-05 Isilon Systems, Inc. Systems and methods for providing a distributed file system incorporating a virtual hot spare
US7685126B2 (en) 2001-08-03 2010-03-23 Isilon Systems, Inc. System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system
US8051425B2 (en) * 2004-10-29 2011-11-01 Emc Corporation Distributed system with asynchronous execution systems and methods
US8055711B2 (en) 2004-10-29 2011-11-08 Emc Corporation Non-blocking commit protocol systems and methods
US8238350B2 (en) 2004-10-29 2012-08-07 Emc Corporation Message batching with checkpoints systems and methods
US7551572B2 (en) 2005-10-21 2009-06-23 Isilon Systems, Inc. Systems and methods for providing variable protection
US7788303B2 (en) 2005-10-21 2010-08-31 Isilon Systems, Inc. Systems and methods for distributed system scanning
US7797283B2 (en) * 2005-10-21 2010-09-14 Isilon Systems, Inc. Systems and methods for maintaining distributed data
US7917474B2 (en) 2005-10-21 2011-03-29 Isilon Systems, Inc. Systems and methods for accessing and updating distributed data
US7848261B2 (en) 2006-02-17 2010-12-07 Isilon Systems, Inc. Systems and methods for providing a quiescing protocol
US7756898B2 (en) 2006-03-31 2010-07-13 Isilon Systems, Inc. Systems and methods for notifying listeners of events
US7680842B2 (en) 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7680836B2 (en) * 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7899800B2 (en) 2006-08-18 2011-03-01 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7882071B2 (en) 2006-08-18 2011-02-01 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7590652B2 (en) * 2006-08-18 2009-09-15 Isilon Systems, Inc. Systems and methods of reverse lookup
US7822932B2 (en) 2006-08-18 2010-10-26 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US20080091744A1 (en) * 2006-10-11 2008-04-17 Hidehisa Shitomi Method and apparatus for indexing and searching data in a storage system
US20080155191A1 (en) * 2006-12-21 2008-06-26 Anderson Robert J Systems and methods for providing heterogeneous storage systems
US8286029B2 (en) 2006-12-21 2012-10-09 Emc Corporation Systems and methods for managing unavailable storage devices
US7593938B2 (en) 2006-12-22 2009-09-22 Isilon Systems, Inc. Systems and methods of directory entry encodings
US7509448B2 (en) * 2007-01-05 2009-03-24 Isilon Systems, Inc. Systems and methods for managing semantic locks
US7900015B2 (en) 2007-04-13 2011-03-01 Isilon Systems, Inc. Systems and methods of quota accounting
US7779048B2 (en) 2007-04-13 2010-08-17 Isilon Systems, Inc. Systems and methods of providing possible value ranges
US8966080B2 (en) 2007-04-13 2015-02-24 Emc Corporation Systems and methods of managing resource utilization on a threaded computer system
US7882068B2 (en) 2007-08-21 2011-02-01 Isilon Systems, Inc. Systems and methods for adaptive copy on write
US7949692B2 (en) * 2007-08-21 2011-05-24 Emc Corporation Systems and methods for portals into snapshot data
US7966289B2 (en) 2007-08-21 2011-06-21 Emc Corporation Systems and methods for reading objects in a file system
US11487707B2 (en) * 2012-04-30 2022-11-01 International Business Machines Corporation Efficient file path indexing for a content repository
CN102981933B (zh) * 2012-12-18 2015-05-13 武汉邮电科学研究院 物联网感知层的数据增量备份方法及系统
CN103942205B (zh) * 2013-01-18 2018-06-05 深圳市腾讯计算机系统有限公司 存储、读取目录索引的方法、装置及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870747A (en) * 1996-07-09 1999-02-09 Informix Software, Inc. Generalized key indexes
US6591269B1 (en) * 1999-05-19 2003-07-08 Sybase, Inc. Database system with methodology for online index rebuild

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778395A (en) 1995-10-23 1998-07-07 Stac, Inc. System for backing up files from disk volumes on multiple nodes of a computer network
US6061692A (en) * 1997-11-04 2000-05-09 Microsoft Corporation System and method for administering a meta database as an integral component of an information server
US6427123B1 (en) * 1999-02-18 2002-07-30 Oracle Corporation Hierarchical indexing for accessing hierarchically organized information in a relational system
US7366708B2 (en) * 1999-02-18 2008-04-29 Oracle Corporation Mechanism to efficiently index structured data that provides hierarchical access in a relational database system
US6381605B1 (en) * 1999-05-29 2002-04-30 Oracle Corporation Heirarchical indexing of multi-attribute data by sorting, dividing and storing subsets
US6513028B1 (en) * 1999-06-25 2003-01-28 International Business Machines Corporation Method, system, and program for searching a list of entries when search criteria is provided for less than all of the fields in an entry
US7165082B1 (en) * 2003-10-31 2007-01-16 Veritas Operating Corporation Incremental method for backup of email messages

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870747A (en) * 1996-07-09 1999-02-09 Informix Software, Inc. Generalized key indexes
US6591269B1 (en) * 1999-05-19 2003-07-08 Sybase, Inc. Database system with methodology for online index rebuild

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
同上.

Also Published As

Publication number Publication date
EP1805650A2 (en) 2007-07-11
CN101031907A (zh) 2007-09-05
EP1805650A4 (en) 2009-11-11
WO2006039502A2 (en) 2006-04-13
US7716262B2 (en) 2010-05-11
JP2008515114A (ja) 2008-05-08
WO2006039502A3 (en) 2007-03-08
US20060074964A1 (en) 2006-04-06

Similar Documents

Publication Publication Date Title
CN101031907B (zh) 索引处理
JP7410181B2 (ja) ハイブリッド・インデックス作成方法、システム、プログラム
US8214334B2 (en) Systems and methods for distributed system scanning
US7558802B2 (en) Information retrieving system
US5920867A (en) Data management system having data management configuration
CN108694195B (zh) 一种分布式数据仓库的管理方法及系统
US8108411B2 (en) Methods and systems for merging data sets
CN102713901A (zh) 存储复制系统和方法
US20140046928A1 (en) Query plans with parameter markers in place of object identifiers
EP1265155A2 (en) File tree comparator
CN103631924B (zh) 一种分布式数据库平台的应用方法和系统
CN103246549B (zh) 一种数据转存的方法及系统
CN102725755A (zh) 文件访问方法及系统
US8880553B2 (en) Redistribute native XML index key shipping
CN100565495C (zh) 文件索引处理
US20090132607A1 (en) Techniques for log file processing
EP3098726A1 (en) Method for extracting useful content from setup files of mobile applications
US20090019021A1 (en) Method and apparatus for creating an index of network data for a set of messages
CN106802928B (zh) 电网历史数据管理方法及其系统
CN107291938A (zh) 订单查询系统及方法
JPWO2004109517A1 (ja) ストレージ管理プログラムおよびファイル処理プログラム
CN111259082B (zh) 大数据环境下实现全量数据同步的方法
CN112131228A (zh) 一种基于fabric的便于数据检索的联盟链系统
US8498987B1 (en) Snippet search
CN103279573A (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