JP2008515111A - ファイルインデックス処理 - Google Patents

ファイルインデックス処理 Download PDF

Info

Publication number
JP2008515111A
JP2008515111A JP2007534800A JP2007534800A JP2008515111A JP 2008515111 A JP2008515111 A JP 2008515111A JP 2007534800 A JP2007534800 A JP 2007534800A JP 2007534800 A JP2007534800 A JP 2007534800A JP 2008515111 A JP2008515111 A JP 2008515111A
Authority
JP
Japan
Prior art keywords
identifier
path
index
parent
directory
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.)
Pending
Application number
JP2007534800A
Other languages
English (en)
Inventor
ラメッシュ パラポテュ
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 Corp
Original Assignee
EMC Corp
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 Corp filed Critical EMC Corp
Publication of JP2008515111A publication Critical patent/JP2008515111A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

幾つかの実施例に基づき、インデックスを処理するための技術が、インデックスを受信することを含む。この場合、前記インデックスはパスを含み、そのパスはエレメントを含む。また、前記インデックスを処理するための技術は、前記パスのエレメントが識別子に関連するかどうかを判断し、且つ前記パスのエレメントが識別子に関連していなければ、識別子を前記パスエレメントと関連付けることを含む。
【選択図】図1

Description

本発明は、コンピュータ環境に係り、より詳細には、データのバックアップに係る。
コンピュータ環境においてデータをバックアップすることは日常茶飯事である。テープドライブ装置やハードドライブ装置などのバックアップメディアにデータをバックアップするとき、追加的な情報(ここではインデックスと言う)もまた、そのデータをバックアップするコンピュータシステムから渡される。このインデックスはバックアップ中のデータに関する情報、(例えばどのようにバックアップデータが構成されているか)を提供する。インデックスをランダムな順序で受け取ることもあり、通常は、受け取ったインデックスを再編成する必要がある。多数のインデックスに対して、バックアップの最後にインデックスを編成することは、長い時間が必要であり、且つ高いシステムリソースが消費されることとなる。通常、インデックスの再編には非常に長時間が必要であり、この時間を回避する方法で、インデックスを編成できることが望まれている。
本発明は様々な方法で実現し得る。様々な方法とは、プロセス、装置、システム、合成物、あるいは、コンピュータで読み取り可能なメディア(例えば、コンピュータ読み取り可能記録メディア又は、プログラム命令が光若しくは電気的な通信リンクに送られるネットワーク等)を含むものである。本明細書では、このような実現方法や本発明がとり得る他の形式を技術として言及する。一般に、開示された処理ステップの順序は発明の範囲内で変わり得る。
本発明の一又は複数の実施例の詳細な説明が、本発明の原理を示した添付図に従って開示される。そのような実施例に関連して本発明を記載するが、本発明は開示した実施例に限るものではない。発明の範囲は請求項のみにより限定され、発明は多数の代替案、修正、あるいは均等物を含む。本発明の完全な理解を得るため、以下に幾つかの具体的な詳細を説明する。これらの詳細は例を示すためのものであり、本発明は、説明した詳細に関わらず請求項に従い実現され得る。明確さを目的として、本発明を不必要に不明瞭にしないようにするため、本発明に関連する技術分野で知られている技術構成については詳細には説明しない。
図1は、本発明を実現するのに適切なシステムのブロック図である。この例では、データサーバ100はバックアップメディア102にデータを送る。また、データサーバ100はバックアップサーバ104にもインデックスを送る。
図2は、インデックス処理のための実施例による方法を示すフロー図である。この例では、インデックスをばらばらに受信する。例えば、特別なデータ断片のインデックスはDIRコンポーネントとNODEコンポーネントを有している。ここで、DIRはinodeナンバーと、親のinodeナンバーと、インデックス名とを含んでいる。この実施例では、inodeナンバーはインデックスを識別する固有の番号である。インデックスのNODEコンポーネントもまた、stat infoなどのインデックス属性と同様なDIRinodeナンバーに一致するinodeナンバーを含む。stat infoの例として、サイズ、タイプ、許可、作成日、更新日のようなインデックスに関する情報がある。
この例ではインデックスコンポーネントが受信される(200)。ここで使用されるインデックスコンポーネントは、DIRコンポーネントやNODEコンポーネントなど、インデックスの一部である。次に、インデックスコンポーネントのinodeナンバーが既に格納されているかどうかを調べる(202)。一つの実施例では、inodeナンバーはB+ツリーのようなディスク上のバランスツリー構造で格納される。B+ツリー構造は、Legato株式会社EMC部門のWISSなどのサーチライブラリと関連して使用される。また、他の実施例としては、inodeナンバーはインデックスを識別する固有の番号であり、インデックスのすべてのコンポーネントはそのナンバーに関連している。
もし、この特別なインデックスのinodeナンバーが格納されていなければ、受信したインデックスコンポーネントを新しいエントリとして格納する(208)。例えば、NODEコンポーネントを受信して、そのインデックスのinodeナンバーがディスク上のバランスツリーに格納されていなければ、この受信したコンポーネントを新しいエントリとしてバランスツリーに格納する。
もしこの特別なインデックスのinodeナンバーが格納されていると判れば、受信したインデックスコンポーネントがDIRであるか否かを調べる(204)。もしDIRでなければ、NODEコンポーネントであるかと仮定し、全てのマッチングinodeナンバーのために、格納されたマッチングinodeナンバーと同じエントリに記録する(210)。もし受信したインデックスコンポーネントがDIRであれば(204)、格納されたマッチング・インデックスのエントリがNODEを含むかどうかを調べる(206)。含まなければ、受信したDIRを新しいエントリとして格納する(212)。
格納されたマッチング・インデックスのエントリがNODEを含む場合(206)、格納済みのマッチング・インデックスのひとつがDIRであるか調べる(220)。もし、マッチングinodeナンバーを持つどんなDIRコンポーネントも格納されてはいないが、NODEエントリがあれば、マッチングNODEエントリを受信したDIRコンポーネントにアップデートする(224)。しかしながら、格納されたマッチング・インデックスのエントリのひとつがDIRであれば(220)、NODEの属性をマッチング・エントリのひとつからコピーし、受信したDIRコンポーネントとともに新しいエントリに格納する(222)。
図3は幾つかの実施例に基づくインデックス処理方法のフロー図である。この例では、インデックスの断片を再構成し、インデックスのエントリとしてバランスツリーに格納し、インデックスツリーを再構築する。図4と関連して論ずると、図3がよく理解できる。
図4は図3と関連して論ずるインデックスツリーの一例であり、幾つかの実施例に基づき、inodeナンバーによりインデックスを同定する。この例では、トップのインデックスがinodeナンバー2を持つインデックス構造を含むツリーを示す。inodeナンバー3及び4を持つインデックスはinodeナンバー2の子として示され、inodeナンバー5,6,7、および8はinodeナンバー3と4の子である。ここではinodeナンバー2はinodeナンバー3及びinodeナンバー4の親として参照され、inodeナンバー3はinodeナンバー5とinodeナンバー6の親として参照される。この例では、inodeナンバー2は、inodeナンバー3のディレクトリとinodeナンバー4の別のディレクトリを含むディレクトリである。inodeナンバー3は、inodeナンバー5を持つファイルとinodeナンバー6を持つ別のファイルとを含むディレクトリである。
図3に示した例では、最上位のinodeナンバーは格納されたinodeナンバーから見出せる(300)。例えば、ツリーの最上位のinodeナンバーをinodeナンバー2とあらかじめ決めておく。従って、B+ツリーのようなバランスツリーでサーチを実行し、inodeナンバー2を見つける。
次に、親が最上位のinodeナンバーであるインデックスエントリを見つける(302)。例えば、図4に示した例では、親が最上位のinodeナンバーであるインデックスはinodeナンバー3とinodeナンバー4である。従って、親の情報に基づくバランスツリーでサーチを行い、inodeナンバー2と等しい親を持つインデックスエントリを見つける。幾つかの実施形態では、親のinodeナンバーをインデックスのDIRコンポーネントに格納する。
これらのインデックスエントリはインデックスツリーの次のレベルとして識別される(304)。次に、これらのinodeナンバーが親であるエントリがあるか否かを調べる(306)。これらのinodeナンバーが親であるインデックスエントリが存在しなければ、再構成は完了する。しかしながら、これらのinodeナンバーが親であるエントリが存在すれば、新しく発見されたインデックスエントリがインデックスツリーの次のレベルとして識別される(304)。
図5は、幾つかの実施例に基づいたインデックス処理方法のフロー図である。この例では、インデックスは、データサーバからバックアップサーバに、多重断片というより単一断片として配信される。ここで、inodeナンバーは受信されず、インデックスのパスが受信される。例えば、インデックスdがa/b/c/dのパスとして受信される。ここで、cはdの親であり、bはcの親であり、aはbの親である。さらに付け加えると、別のインデックスdがそのパスに沿って受信される場合、そのインデックスdは先のインデックスdとは同じではない。同じ名前のファイルが、例えばa/c/b/dという異なるディレクトリの下で起こり得る。これらのファイルは同じパスを持っていない。従って、この例においては、dといった名前でサーチすることは有用ではない。ある実施例として、擬似のinodeナンバーをパスのエントリとして生成する。他の実施例として、このinodeナンバーは固有である。ディレクトリのツリーをメモリ内に生成する。そこには、インデックス名と割り当てられたinodeナンバーと、親のinodeナンバーが含まれ、inodeナンバーか親のinodeナンバーかのどちらか一方をサーチすることでクイックサーチが行われる。
図5に示した例では、インデックスがa/b/c/dなどのインデックスのパスで受信される(500)。パスエントリがパスから検索されたか否か調べる(502)。もしパスエントリがパスから検索されていないのでなければ、処理は終了である。もし、「b」のようにパスエントリがパスより検索されたのであれば、親のinodeナンバーをディレクトリツリーから検索する(504)。ディレクトリツリーはディレクトリのリストを含んでいる。幾つかの実施例の場合、ディレクトリツリーはメモリに記憶される、一方でインデックスツリーはディスクに記憶される。次に、パスエントリがディレクトリツリーの中にあるか否かを調べる(506)。もしパスエントリがすでにディレクトリツリーにあれば、次のエントリを受信したパスから検索する(502)。幾つかの実施例では、パスエントリは左から右へ−親から子へ−と検索される。例えば、パスa/b/c/dにおいては、a、次にb、次にc、次にdの順である。
もしパスエントリがディレクトリツリーにない場合(506)、この例では、固有のinodeナンバーをパスエントリに割り当てる(508)。パスエントリがディレクトリであるか否かを調べる(510)。幾つかの実施例では、ファイルはディレクトリツリーに保存されないが、ディレクトリは保存される。ディレクトリには少なくとも一人の子がいるが、ファイルにはいない。もしパスエントリがディレクトリであれば、ディレクトリツリーに加える(512)。幾つかの実施例では、ディレクトリ名と、その割り当てられたinodeナンバーと、親のinodeナンバーとがディレクトリツリーに格納される。例えば、パスa/b/c/dがインデックス「d」として受信され、「c」がinodeナンバー4に割り当てられ、「d」がinodeナンバー5に割り当てられるならば、「d」の親のinodeナンバーは4である。パスエントリがディレクトリツリーに加えられるか(512)、又はパスエントリがディレクトリであれば(510)、インデックスはディスク上のバランスツリーに格納される(514)。そして、次のパスエントリがもしあれば検索される(502)。
その後、図3に例示した方法と類似の方法によりインデックスツリーを再構築することができる。本実施例では、バランスツリーよりもむしろメモリに保存されたディレクトリツリーがサーチされ、inodeナンバー及び親のinodeナンバーが見出される。
上述の実施例は明瞭な理解を目的として詳しく記述したが、本発明はその詳細な記述に限るものではない。本発明を実現する多くの代替手段がある。説明した実施形態は実施例であり、限定するものではない。
本発明の実施形態に基づくシステムの一例を示すブロック図である。 インデックス処理を実現する方法の一例を示すフロー図である。 インデックス処理を実現する方法の一例を示すフロー図である。 インデックス処理を実現する他の実施例を示すフロー図である。 図3に関する、inodeナンバーにより識別されるインデックスエントリによるインデックスツリーの一例である。 インデックス処理を実現する他の実施例を示すフロー図である。

Claims (26)

  1. エレメントを有するパスを含むインデックスを受信する処理と、
    前記パスのエレメントが識別子(identifier)に関連しているかを判断する処理と、
    前記パスのエレメントが識別子に関連していないと判断される場合、識別子を前記パスのエレメントに関連付ける処理と、を含むインデックス処理方法。
  2. 前記識別子をメモリに格納する処理を、更に含む請求項1に記載の方法。
  3. 前記パスのエレメントの親と関連付けられた親の識別子をメモリに格納する処理を、更に含む請求項1に記載の方法。
  4. 前記関連した識別子をもつリストをアップデートする処理を、更に含む請求項1に記載の方法。
  5. 前記リストがメモリに格納されている、請求項4に記載の方法。
  6. 前記パスが最後のエレメントを含み、且つその最後のエレメントがディレクトリであるかを判断する処理を、更に含む請求項1に記載の方法。
  7. 前記最後のエレメントがディレクトリであれば、識別子を前記最後のエレメントに関連付ける処理を、更に含む請求項6に記載の方法。
  8. 前記関連した識別子は、前記パスのエレメントに識別子を割り当てることを含む、請求項1に記載の方法。
  9. 前記インデックスをディスクに格納する処理を、更に含む請求項1に記載の方法。
  10. 前記識別子が固有(unique)であることを特徴とする、請求項1に記載の方法。
  11. 前記識別子がiノード(inode)ナンバーであることを特徴とする、請求項1に記載の方法。
  12. 最初の識別子を探す処理と、前記最初の識別子に一致する親の識別子を持つリストエントリを探す処理とを、更に含む請求項1に記載の方法。
  13. 前記一致する親の識別子をもつリストエントリが、インデックスツリーの次のレベルとして識別される、請求項12に記載の方法。
  14. 前記パスのエレメントが識別子に関連していないと判断され、且つ前記パスのエレメントがディレクトリである場合に、前記関連付けの処理が生じる、請求項1に記載の方法。
  15. エレメントを有するパスを含むインデックスを受信し、
    前記パスのエレメントが識別子(identifier)に関連しているかを判断し、
    前記パスのエレメントが識別子に関連していないと判断される場合、識別子を前記パスのエレメントに関連付ける、ように構成されたプロセッサと、
    前記プロセッサと接合し、当該プロセッサに命令を提供するメモリと、
    を備えたインデックス処理システム。
  16. 前記識別子をメモリに格納することを、更に備えた請求項15に記載のシステム。
  17. 前記パスのエレメントの親と関連付けられた親の識別子をメモリに格納することを、更に備えた請求項15に記載のシステム。
  18. 最初の識別子を探し、且つ前記最初の識別子に一致する親の識別子を持つリストエントリを探すことを、更に備えた請求項15に記載のシステム。
  19. 前記一致する親の識別子をもつリストエントリがインデックスツリーの次のレベルとして識別される、請求項18に記載のシステム。
  20. 前記パスのエレメントが識別子に関連していないと判断され、且つ前記パスのエレメントがディレクトリである場合に、前記関連付けが生じる、請求項15に記載のシステム。
  21. インデックスを処理するコンピュータプログラム製品であって、コンピュータ読み取り可能な記憶媒体に実装され、
    エレメントを有するパスを含むインデックスを受信すること、
    前記パスのエレメントが識別子(identifier)に関連しているかを判断すること、
    前記パスのエレメントが識別子に関連していないと判断される場合、識別子を前記パスのエレメントに関連付けること、についてのコンピュータ命令を含んだコンピュータプログラム製品。
  22. 前記識別子をメモリに格納する命令を更に含む、請求項21に記載のコンピュータプログラム製品。
  23. 前記パスのエレメントの親と関連付けられた親の識別子をメモリに格納する命令を更に含む、請求項21に記載のコンピュータプログラム製品。
  24. 最初の識別子を探す命令と、前記最初の識別子に一致する親の識別子を持つリストエントリを探す命令とを更に含む、請求項21に記載のコンピュータプログラム製品。
  25. 前記一致する親の識別子をもつリストエントリがインデックスツリーの次のレベルとして識別される、請求項24に記載のコンピュータプログラム製品。
  26. 前記パスのエレメントが識別子に関連していないと判断され、且つ前記パスエレメントがディレクトリである場合に、前記関連付けの命令が生じる、請求項21に記載のコンピュータプログラム製品。
JP2007534800A 2004-09-30 2005-09-29 ファイルインデックス処理 Pending JP2008515111A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/956,482 US7801922B2 (en) 2004-09-30 2004-09-30 File index processing
PCT/US2005/035200 WO2006039492A2 (en) 2004-09-30 2005-09-29 File index processing

Publications (1)

Publication Number Publication Date
JP2008515111A true JP2008515111A (ja) 2008-05-08

Family

ID=36143081

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007534800A Pending JP2008515111A (ja) 2004-09-30 2005-09-29 ファイルインデックス処理

Country Status (5)

Country Link
US (1) US7801922B2 (ja)
EP (1) EP1805649A4 (ja)
JP (1) JP2008515111A (ja)
CN (1) CN100565495C (ja)
WO (1) WO2006039492A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019245247A1 (en) * 2018-06-20 2019-12-26 Fasoo. Com Co., Ltd Method for object management using trace identifier, apparatus for the same, computer program for the same, and recording medium storing computer program thereof

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7739318B2 (en) * 2005-06-20 2010-06-15 Netapp, Inc. System and method for maintaining mappings from data containers to their parent directories
US20100211616A1 (en) * 2009-02-16 2010-08-19 Rajesh Khandelwal Performance by Avoiding Disk I/O for Deduplicated File Blocks
GB201006442D0 (en) * 2010-04-17 2010-06-02 Univ Edinburgh Storing a directory tree structure
CN102981933B (zh) * 2012-12-18 2015-05-13 武汉邮电科学研究院 物联网感知层的数据增量备份方法及系统

Family Cites Families (10)

* 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
US5870747A (en) 1996-07-09 1999-02-09 Informix Software, Inc. Generalized key indexes
US6246436B1 (en) * 1997-11-03 2001-06-12 Agilent Technologies, Inc Adjustable gain active pixel sensor
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
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
US6427123B1 (en) * 1999-02-18 2002-07-30 Oracle Corporation Hierarchical indexing for accessing hierarchically organized information in a relational system
US6591269B1 (en) * 1999-05-19 2003-07-08 Sybase, Inc. Database system with methodology for online index rebuild
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019245247A1 (en) * 2018-06-20 2019-12-26 Fasoo. Com Co., Ltd Method for object management using trace identifier, apparatus for the same, computer program for the same, and recording medium storing computer program thereof

Also Published As

Publication number Publication date
CN100565495C (zh) 2009-12-02
US7801922B2 (en) 2010-09-21
EP1805649A2 (en) 2007-07-11
EP1805649A4 (en) 2009-11-11
US20060085481A1 (en) 2006-04-20
WO2006039492A3 (en) 2007-03-15
CN101031908A (zh) 2007-09-05
WO2006039492A2 (en) 2006-04-13

Similar Documents

Publication Publication Date Title
JP2008515114A (ja) インデックス処理
EP3477481B1 (en) Data block name based efficient restore of multiple files from deduplicated storage
US7788220B1 (en) Storage of data with composite hashes in backup systems
US9778996B1 (en) File system version set infrastructure
EP2863310B1 (en) Data processing method and apparatus, and shared storage device
US20070043705A1 (en) Searchable backups
JP2009507278A (ja) データオブジェクトのサーチ及び復元
US9659021B1 (en) Client based backups and backup indexing
KR20080005571A (ko) 파일들을 복구하기 위한 장치, 방법, 및 시스템
US11782878B2 (en) Systems and methods for searching deduplicated data
US20230394010A1 (en) File system metadata deduplication
US9177034B2 (en) Searchable data in an object storage system
US9400613B1 (en) Intelligent pairing for snapshot based backups
JP2008515111A (ja) ファイルインデックス処理
US11645161B2 (en) Catalog of files associated with snapshots
US9164691B1 (en) Intelligent configuration for snapshot based backups
CN115563073A (zh) 分布式元数据的数据处理的方法、装置及电子设备
CN104281503A (zh) 一种数据备份方法以及相关系统
CN109525649B (zh) 一种zookeeper客户端的数据处理方法及装置
US9355104B1 (en) Intelligent pairing using a lookup database for snapshot based backups
US11436108B1 (en) File system agnostic content retrieval from backups using disk extents
CN113626473A (zh) 数据信息查询方法和装置