JP5759915B2 - ファイルリスト生成方法及びシステム並びにプログラム、ファイルリスト生成装置 - Google Patents

ファイルリスト生成方法及びシステム並びにプログラム、ファイルリスト生成装置 Download PDF

Info

Publication number
JP5759915B2
JP5759915B2 JP2012030149A JP2012030149A JP5759915B2 JP 5759915 B2 JP5759915 B2 JP 5759915B2 JP 2012030149 A JP2012030149 A JP 2012030149A JP 2012030149 A JP2012030149 A JP 2012030149A JP 5759915 B2 JP5759915 B2 JP 5759915B2
Authority
JP
Japan
Prior art keywords
directory
file
hierarchy
search target
scanning
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
Application number
JP2012030149A
Other languages
English (en)
Other versions
JP2013167990A (ja
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.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions Ltd
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 Hitachi Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2012030149A priority Critical patent/JP5759915B2/ja
Priority to US13/753,208 priority patent/US8965941B2/en
Priority to EP13154012.2A priority patent/EP2629215A1/en
Priority to CN201310045913.0A priority patent/CN103257993B/zh
Publication of JP2013167990A publication Critical patent/JP2013167990A/ja
Application granted granted Critical
Publication of JP5759915B2 publication Critical patent/JP5759915B2/ja
Expired - Fee Related 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • 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/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs

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)

Description

本発明は、ファイルサーバ内に保存された大量のファイルデータの階層を効率よく解析し、検索インデックスを更新すべきファイルリストを効率良く生成する方法、システム並びにプログラム、装置に関するものであり、特に、既に存在する、共通の命名規則に従って作成された2つのディレクトリ配下に置かれた、ファイル群についてファイルツリーを比較して追加、変更、削除されたファイルデータの一覧を効率的に作成する方法及びシステム並びにプログラム、装置に関するものである。
近年、コンピュータ性能の高速化、HDDの大容量化に伴い、膨大な数の非定型文書が作られるようになっている。このため、膨大な数の文書の中から、必要とする文書を高速かつ的確に探し出すことの検索システムの必要性が高まっている。検索結果を的確なものとするためには、検索対象となる非定型文書が格納されたファイルサーバに対して検索インデクス作成後に行われたファイルデータの追加、変更、削除操作をタイムリーに検索インデクスに反映することが重要となる。これらを検索インデクスへと反映させる際、変更されていないファイルデータについても検索インデクスを更新すると多大な時間がかかってしまうため、一般的には追加、変更、削除のあったファイルデータのみに絞って検索インデクスを更新する。そのためには、追加、変更、削除されたファイルデータの一覧を作成する必要がある。
このような検索システムのニーズにこたえるため、ファイルサーバの中にはファイルデータの操作履歴を記憶し、外部からの要求に応じて追加、変更、削除されたファイルデータの一覧を提供するインタフェースを備えるものも存在している。あるいは、ある過去の状態のファイルツリーにアクセスできるようにするために、ある時点のファイルデータ状態を「スナップショット」として別ディレクトリに保持するためのインタフェースを提供するものも存在している。
なお、この種の先行技術として下記の特許文献1に開示された技術が知られている。
特開2006−268456号
追加、変更、削除されたファイルデータの一覧を作成する際、ファイルサーバが一覧を提供している場合はそのインタフェースを利用すればよいが、そのようなインタフェースを備えていないファイルサーバの場合は、ファイルサーバ内に存在する検索インデクス作成対象範囲のファイルデータ全てを走査して、更新操作の有無を決定する必要がある。
ここで、追加、変更、削除されたファイルデータが少量である場合であっても、全てのファイルデータを走査する必要があるため、追加、変更、削除されたファイルデータの一覧の作成処理が、インデクス更新処理の長時間化の要因となってしまっている。
これに対して、ファイルサーバ内のファイルツリー構造を幾つかに分割し、それらのサブツリーに対する走査処理を並列に行うことにより、走査処理を高速化することが考えられる。
しかしながら、ファイルサーバ内のファイルツリーは環境によって様々であり未知であるため、効率的な分割方法を決定することは困難である。既に一度インデクスを作成したことのあるファイルサーバについては、自システム内にインデクス済みファイル一覧を持つことにより、追加、変更、削除されたファイルデータの一覧を高速に作成もできる。しかしながら、インデクス済みファイル一覧には、ファイルが更新されたのか否かを判別するためにファイルデータのハッシュ値を記憶させておく必要になるため、インデクス済みファイル一覧自体を記憶しておくために大容量のディスクが必要になり、検索対象のファイル数の増加に比例してシステムが大規模になってしまうという問題が生じる。
本発明の目的は、自システムにファイルデータのハッシュ値を含む大容量のインデクス済みファイル一覧を持つことなく、追加、変更、削除されたファイルデータの一覧を高速に作成し、検索インデクス更新処理を高速に行うことができるファイルリスト生成方法及びシステム並びにプログラム、装置を提供することにある。
上記目的を達成するために、本発明に係るファイルリスト生成方法は、検索対象ファイルについて作成済みのインデクス情報を第1の記憶手段に記憶するステップと、前記第1の記憶手段に記憶されたインデクス情報から検索対象ファイルのディレクトリURLを取得し、そのディレクトリURLを解析して各階層のディレクトリ数を集計し、その集計結果に基づき走査対象ディレクトリの走査処理を分散サーバ群によって分割して行う分割方針を決定するステップと、決定された分割方針に従い検索対象ファイルのディレクトリを分割するステップと、走査対象ファイルの現在ディレクトリツリーのスナップショットを取得して第2の記憶手段に格納するステップと、前記現在ディレクトリツリーのスナップショットと前記分割方針を決定する前に取得して第3の記憶手段に格納しておいた検索対象ファイルのディレクトリツリーのスナップショットについて前記分割方針を決定するステップで決定した分割した単位で各ディレクトリ上の検索対象ファイルを前記分散サーバ群によって分散走査するステップと、当該分散走査結果を比較し、前記インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力するステップとを備え
前記分割方針を決定するステップは、検索対象ファイルのディレクトリの最上位階層から数えたディレクトリ数が所定数未満であれば検索対象ディレクトリの走査処理を行う分割数を1とする分割方針を決定し、所定数を越えた場合には最上位階層のディレクトリから所定階層までの階層を1つの分割単位として初回走査を行い、その初回走査で発見した走査対象ディレクトリの下位階層は深度1階層を分割単位として走査する分割方針を決定するものであることを特徴とする
また、本発明に係るファイルリスト生成方法は、検索対象ファイルについて作成済みのインデクス情報を第1の記憶手段に記憶するステップと、検索対象ファイルの現在のディレクトリツリーをコピーしてバックアップディレクトリとして第2の記憶手段に格納するステップと、前記第1の記憶手段に記憶されたインデクス情報から検索対象ファイルのディレクトリURLを取得し、そのディレクトリURLを解析して各階層のディレクトリ数を集計し、その集計結果に基づき走査対象ディレクトリの走査処理を分散サーバ群によって分割して行う分割方針を決定するステップと、決定された分割方針に従い検索対象ファイルのバックアップディレクトリを分割するステップと、前記現在のディレクトリツリーのバックアップディレクトリと前記分割方針を決定する前に取得して第3の記憶手段に格納しておいた検索対象ファイルのバックアップディレクトリツリーについて前記分割方針を決定するステップで決定した分割した単位で各ディレクトリ上の検索対象ファイルを前記分散サーバ群によって分散走査するステップと、当該分散走査結果を比較し、前記インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力するステップとを備え、
前記分割方針を決定するステップは、検索対象ファイルのディレクトリの最上位階層から数えたディレクトリ数が所定数未満であれば検索対象ディレクトリの走査処理を行う分割数を1とする分割方針を決定し、所定数を越えた場合には最上位階層のディレクトリから所定階層までの階層を1つの分割単位として初回走査を行い、その初回走査で発見した走査対象ディレクトリの下位階層は深度1階層を分割単位として走査する分割方針を決定するものであることを特徴とする
また、本発明に係るファイルリスト生成システムは、検索対象ファイルについて作成済みのインデクス情報を記憶する第1の記憶手段と、この第1の記憶手段に記憶されたインデクス情報から検索対象ファイルのディレクトリURLを取得し、そのディレクトリURLを解析して各階層のディレクトリ数を集計し、その集計結果に基づき走査対象ディレクトリの走査処理を分散サーバ群によって分割して行う分割方針を決定する分割方針決定手段と、決定された分割方針に従い検索対象ファイルのディレクトリを分割し、走査対象ファイルの現在ディレクトリツリーのスナップショットを取得し、第2の記憶手段に格納する手段と、前記現在ディレクトリツリーのスナップショットと前記分割方針を決定する前に取得して第3の記憶手段に格納しておいた検索対象ファイルのディレクトリツリーのスナップショットについて前記分割方針決定手段で決定した分割した単位で各ディレクトリ上の検索対象ファイルを前記分散サーバ群によって分散走査するファイル走査手段と、当該ファイル走査手段による分散走査結果を比較し、前記インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力する比較手段とを備え
前記分割方針を決定する手段は、検索対象ファイルのディレクトリの最上位階層から数えたディレクトリ数が所定数未満であれば検索対象ディレクトリの走査処理を行う分割数を1とする分割方針を決定し、所定数を越えた場合には最上位階層のディレクトリから所定階層までの階層を1つの分割単位として初回走査を行い、その初回走査で発見した走査対象ディレクトリの下位階層は深度1階層を分割単位として走査する分割方針を決定するものであることを特徴とする
また、本発明に係るファイルリスト生成システムは、検索対象ファイルについて作成済みのインデクス情報を記憶する第1の記憶手段と、検索対象ファイルの現在のディレクトリツリーをコピーしてバックアップディレクトリとして格納する第2の記憶手段と、前記第1の記憶手段に記憶されたインデクス情報から検索対象ファイルのディレクトリURLを取得し、そのディレクトリURLを解析して各階層のディレクトリ数を集計し、その集計結果に基づき走査対象ディレクトリの走査処理を分散サーバ群によって分割して行う分割方針を決定する分割方針決定手段と、決定された分割方針に従い検索対象ファイルのバックアップディレクトリを分割する手段と、前記第2の記憶手段に格納された現在のディレクトリツリーのバックアップディレクトリと前記分割方針を決定する前に取得して第3の記憶手段に格納しておいた検索対象ファイルのバックアップディレクトリツリーについて前記分割方針決定手段で決定した分割した単位で各ディレクトリ上の検索対象ファイルを前記分散サーバ群によって分散走査するファイル走査手段と、当該ファイル走査手段による分散走査結果を比較し、前記インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力する比較手段とを備え、
前記分割方針を決定する手段は、検索対象ファイルのディレクトリの最上位階層から数えたディレクトリ数が所定数未満であれば検索対象ディレクトリの走査処理を行う分割数を1とする分割方針を決定し、所定数を越えた場合には最上位階層のディレクトリから所定階層までの階層を1つの分割単位として初回走査を行い、その初回走査で発見した走査対象ディレクトリの下位階層は深度1階層を分割単位として走査する分割方針を決定するものであることを特徴とする
本発明に係るファイルリスト生成装置は、第1の記憶手段に記憶された検索対象ファイルについて作成済みのインデクス情報から検索対象ファイルのディレクトリURLを取得し、そのディレクトリURLを解析して各階層のディレクトリ数を集計し、その集計結果に基づき走査対象ディレクトリの走査処理を分散サーバ群によって分割して行う分割方針を決定する分割方針決定手段と、決定された分割方針に従い検索対象ファイルのディレクトリを分割し、走査対象ファイルの現在ディレクトリツリーのスナップショットを取得し、第2の記憶手段に格納する手段と、前記現在ディレクトリツリーのスナップショットと前記分割方針を決定する前に取得して第3の記憶手段に格納しておいた検索対象ファイルのディレクトリツリーのスナップショットについて前記分割方針決定手段で決定した分割した単位で各ディレクトリ上の検索対象ファイルを前記分散サーバ群によって分散走査するファイル走査手段と、当該ファイル走査手段による分散走査結果を比較し、前記インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力する比較手段とを備え、
前記分割方針を決定する手段は、検索対象ファイルのディレクトリの最上位階層から数えたディレクトリ数が所定数未満であれば検索対象ディレクトリの走査処理を行う分割数を1とする分割方針を決定し、所定数を越えた場合には最上位階層のディレクトリから所定階層までの階層を1つの分割単位として初回走査を行い、その初回走査で発見した走査対象ディレクトリの下位階層は深度1階層を分割単位として走査する分割方針を決定するものであることを特徴とする
また、本発明に係るファイルリスト生成装置は、検索対象ファイルについて作成済みのインデクス情報を記憶する第1の記憶手段と、検索対象ファイルの現在のディレクトリツリーをコピーしてバックアップディレクトリとして格納する第2の記憶手段と、前記第1の記憶手段に記憶されたインデクス情報から検索対象ファイルのディレクトリURLを取得し、そのディレクトリURLを解析して各階層のディレクトリ数を集計し、その集計結果に基づき走査対象ディレクトリの走査処理を分散サーバ群によって分割して行う分割方針を決定する分割方針決定手段と、決定された分割方針に従い検索対象ファイルのバックアップディレクトリを分割する手段と、前記第2の記憶手段に格納された現在のディレクトリツリーのバックアップディレクトリと前記分割方針を決定する前に取得して第3の記憶手段に格納しておいた検索対象ファイルのバックアップディレクトリツリーについて前記分割方針決定手段で決定した分割した単位で各ディレクトリ上の検索対象ファイルを前記分散サーバ群によって分散走査するファイル走査手段と、当該ファイル走査手段による分散走査結果を比較し、前記インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力する比較手段とを備え
前記分割方針を決定する手段は、検索対象ファイルのディレクトリの最上位階層から数えたディレクトリ数が所定数未満であれば検索対象ディレクトリの走査処理を行う分割数を1とする分割方針を決定し、所定数を越えた場合には最上位階層のディレクトリから所定階層までの階層を1つの分割単位として初回走査を行い、その初回走査で発見した走査対象ディレクトリの下位階層は深度1階層を分割単位として走査する分割方針を決定するものであることを特徴とする。
本発明に係るファイルリスト生成プログラムは、インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力するファイルリスト作成サーバで用いるプログラムであって、
前記ファイルリスト作成サーバを、
第1の記憶手段に記憶された検索対象ファイルについて作成済みのインデクス情報から検索対象ファイルのディレクトリURLを取得し、そのディレクトリURLを解析して各階層のディレクトリ数を集計し、その集計結果に基づき走査対象ディレクトリの走査処理を分散サーバ群によって分割して行う分割方針を決定する分割方針決定手段と、決定された分割方針に従い検索対象ファイルのディレクトリを分割し、現在ディレクトリツリーのスナップショットを取得し、第2の記憶手段に格納する手段と、前記現在ディレクトリツリーのスナップショットと前記分割方針を決定する前に取得して第3の記憶手段に格納しておいた検索対象ファイルのディレクトリツリーのスナップショットについて前記分割方針決定手段で決定した分割した単位で各ディレクトリ上の検索対象ファイルを前記分散サーバ群によって分散走査するファイル走査手段と、当該ファイル走査手段による分散走査結果を比較し、前記インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力する比較手段として機能させ
前記分割方針を決定する手段は、検索対象ファイルのディレクトリの最上位階層から数えたディレクトリ数が所定数未満であれば検索対象ディレクトリの走査処理を行う分割数を1とする分割方針を決定し、所定数を越えた場合には最上位階層のディレクトリから所定階層までの階層を1つの分割単位として初回走査を行い、その初回走査で発見した走査対象ディレクトリの下位階層は深度1階層を分割単位として走査する分割方針を決定するものであることを特徴とする。
また、本発明に係るファイルリスト生成プログラムは、インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力するファイルリスト作成サーバで用いるプログラムであって、
前記ファイルリスト作成サーバを、
検索対象ファイルの現在のディレクトリツリーのコピーをバックアップディレクトリとして第2の記憶手段に格納させる手段と、第1の記憶手段に記憶された検索対象ファイルについて作成済みのインデクス情報から検索対象ファイルのディレクトリURLを取得し、そのディレクトリURLを解析して各階層のディレクトリ数を集計し、その集計結果に基づき走査対象ディレクトリの走査処理を分散サーバ群によって分割して行う分割方針を決定する分割方針決定手段と、決定された分割方針に従い検索対象ファイルのバックアップディレクトリを分割する手段と、前記第2の記憶手段に格納された現在のディレクトリツリーのバックアップディレクトリと前記分割方針を決定する前に取得して第3の記憶手段に格納しておいた検索対象ファイルのバックアップディレクトリツリーについて前記分割方針決定手段で決定した分割した単位で各ディレクトリ上の検索対象ファイルを前記分散サーバ群によって分散走査するファイル走査手段と、当該ファイル走査手段による分散走査結果を比較し、前記インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力する比較手段として機能させ
前記分割方針を決定する手段は、検索対象ファイルのディレクトリの最上位階層から数えたディレクトリ数が所定数未満であれば検索対象ディレクトリの走査処理を行う分割数を1とする分割方針を決定し、所定数を越えた場合には最上位階層のディレクトリから所定階層までの階層を1つの分割単位として初回走査を行い、その初回走査で発見した走査対象ディレクトリの下位階層は深度1階層を分割単位として走査する分割方針を決定するものであることを特徴とする。
本発明によれば、ストレージの持つスナップショット取得機能を利用し、前回インデクス時に取得したスナップショットディレクトリと今回インデクス時に取得するスナップショットディレクトリとを分散処理サーバ群を利用して分散して走査処理しながら両者を比較することにより、追加、変更、削除されたファイルのリストを作成する。
これにより、自システム内に検索対象ファイルのハッシュ値を含むデータを記憶する大容量のインデクス済みファイル一覧を持つことなく、既に一度検索インデクスを作成したことのあるファイルサーバに対して、ファイルサーバ上で追加、変更、削除されたファイルデータの一覧を高速に作成することが可能となる。これによって、検索インデクスの更新処理を高速に行うことが可能となり、結果として、検索システムによる検索結果を可能な限り的確なものとすることができる。
なお、スナップショットは追加、変更、削除されたファイルデータの一覧を作成することを主な目的とした新たなスナップショットを作成してもよいし、通常のバックアップ目的で作成したスナップショットを流用してもよい。また、スナップショットディレクトリの代わりに共通の命名規則に基づいた親ディレクトリに配置したバックアップディレクトリを作成し、前回と今回のバックアップディレクトリを、分散処理サーバ群を利用して分散して走査処理を行ってもよい。なお、以下の説明では自システムからの指令で追加、変更、削除されたファイルデータの一覧を作成することを主な目的とした新たなスナップショットを更新インデクス作成のたびに作成するものとして記述する。
本発明に係る第一の実施形態におけるシステム構成図である。 検索インデクスに格納されるインデクス済みファイルのデータ構成例の図である。 ファイルサーバ内のディレクトリ構成の概念図である。 ファイルツリーを分析しファイルサーバ走査処理の分割方針を決定する処理のフローチャートである。 ファイルサーバを走査する処理のフローチャートである。 今回取得した検索対象ファイル群のスナップショットディレクトリと前回インデクス更新時に取得した検索対象ファイル群のスナップショットディレクトリの両スナップショットディレクトリ内のデータを、ファイルサーバ走査実行手段によって走査して得られたファイル一覧を用いて追加、変更、削除されたファイルデータの一覧を作成する処理のフローチャートである。 図6の続きを示すフローチャートである。 URLリストの最終行処理のフローチャートである。 図8の続きを示すフローチャートである。 URLリストから取り出したファイルまたはディレクトリのURLの比較結果から、ファイルサーバ上のデータが追加または削除されたかどうかを決定して追加、変更、削除されたファイルデータの一覧に追加する処理のフローチャートである。 ディレクトリまたはファイルに係るURL組み合わせ決定処理のフローチャートである。 前回取得または今回取得スナップショットディレクトリに係るURL組み合わせ決定表である。 URLが示すディレクトリまたはファイルの追加、更新、削除ファイル一覧または次回走査範囲への追加処理判断表である。 更新ファイル追加処理のフローチャートである。 ファイルツリーの途中の階層で増加の割合が急激に大きくなるようなファイルツリーの概念図である。 図15のファイルツリーを例にした2階差分値を示す概念図である。 反転文字列のソートによる追加、更新、削除ファイル発見方法の概念図である。 本発明の他の実施形態を示すシステム構成図である。
以下、本発明を実施する場合の第一の実施形態について、図面に基づき詳細に説明する。
図1は、本発明に係る第一の実施形態におけるシステム構成図である。
図1において示したファイルリスト生成システムは、ファイルリスト作成サーバ1、分散処理サーバ群2およびファイルサーバ3(以下「サーバ等」という)を、LAN(Local Area Network)4等の有線又は無線の通信回線により互いに通信可能に接続したシステムである。
図1においては、サーバ等はLAN4によって互いに通信可能に接続されているが、接続方法はLANに限定されるものではなく、例えばWAN(Wide Area Network)やインターネットによって接続されていてもよい。また、図1においては、サーバ等が同一LANセグメント上で接続されているが、この構成は一例に過ぎず、どのような構成になっていてもよい。さらに、図1においては、ファイルリスト作成サーバ1、分散処理サーバ群2、およびファイルサーバ3はそれぞれ1台ずつ存在しているが、それぞれ2台以上存在しても構わない。また、ファイルリスト作成サーバ1、分散処理サーバ群2、およびファイルサーバ3はそれぞれ異なる装置である必要はなく、例えば、ファイルリスト作成サーバ1、分散処理サーバ群2、およびファイルサーバ3の機能を1台の装置によって実現することも可能である。
以上のような構成により、ファイルリスト作成サーバ1は分散処理サーバ群2を利用してファイルサーバ3上のファイルデータのうち、前回インデクスを作成した以降に追加、更新、削除されたファイルデータの一覧を作成する。
ファイルリスト作成サーバ1はPC等の装置であり、記憶装置16と通信可能に接続されている。記憶装置16は磁気ディスク等の装置であり、ファイルリスト作成サーバ1に内蔵され又は外部接続される。記憶装置16と、ファイルリスト作成サーバ1の主記憶装置等は、ファイルリスト作成サーバ1の記憶手段として機能する。
記憶装置16には、検索インデクス17が記憶されている。検索インデクス17には、既に検索インデクスを作成したことのある、ファイルサーバ3上の検索対象ファイルのURLを含む属性情報が1以上記憶されている。サーバ等と通信可能に接続されている検索用インデクス作成サーバ5によって検索用インデクス17は更新される。
ファイルリスト作成サーバ1はスケジューラ11、ファイル走査処理分割方針決定手段12、スナップショット作成処理実行手段13、ファイル走査実行手段14、およびファイルリスト比較手段15を備えている。
また、ファイルリスト作成サーバ1はCPU、主記憶装置等を備えており、CPUは記憶装置16に記憶されているファイルリスト比較手段15等のプログラムを主記憶装置上にローディングし、その命令コードを実行することで各種の処理を実行する。
スケジューラ11は追加、更新、削除されたファイルデータの一覧を定期的に作成するにあたり、記憶装置16に記憶されている一覧作成処理実行間隔を参照してファイル走査処理分割方針決定手段12を実行した後、スナップショット作成処理実行手段13を実行してファイルサーバ3の記憶装置31内にスナップショットを作成し、その後、ファイルサーバ走査実行手段14、ファイルリスト比較手段15を実行して、追加、更新、削除されたファイルデータの一覧を作成する。
ファイル走査処理分割方針決定手段12は記憶装置16に記憶されている検索インデクス17を分析し、ファイル走査処理をどのように分割して並列分散実行させるかの方針を決定する。この動作については、ファイル走査処理分割方針決定処理(S401等)として後述する。
スナップショット作成処理実行手段13はファイルサーバ3に対してスナップショット作成命令を発行し、ファイルサーバ3の記憶装置31内に検索インデクス更新対象ファイル群のスナップショットを作成する。
ファイル走査実行手段14はファイル走査処理分割方針決定手段12によって決定されたファイルデータ走査処理の分割方針に基づいて、ファイルサーバ3上の前回インデクス更新時に取得した検索対象ファイル群のスナップショットディレクトリ、および今回のファイル走査で取得した検索対象ファイル群のスナップショットディレクトリ内にあるファイルデータを取得し、それぞれのスナップショットディレクトリにあるファイルデータの一覧を作成する。
ファイルリスト比較手段15はファイル走査実行手段14によって作成された前回インデクス更新時に取得した検索対象ファイル群のスナップショットディレクトリにあるファイルデータの一覧と、今回取得した検索対象ファイル群のスナップショットディレクトリ内にあるファイルの一覧を比較し、追加、更新、削除されたファイルデータの一覧を作成する。
この動作については、ファイルサーバ内データ走査処理(S501等)として後述する。
図2は検索インデクス17の構成要素であるファイルレコード170のデータ構成図である。
検索インデクス17は、1以上のインデクス済みファイルレコード170から構成される。インデクス済みファイルレコード170には、少なくともファイルのURL171を含む、検索対象ファイルの属性情報(ファイル名、最終アクセス時刻、最終更新時刻、インデクス作成時刻等が記憶されている。
ファイルURL171には、具体的にはファイルサーバ上のファイルを一意に識別するためのパスが設定される。例えばファイルサーバの識別名が”server1”であり、共有名がshare1である共有ディレクトリの直下にあるetcという名前のディレクトリにあるfile2.xmlを示すURLはhttp://server1/share1/etc/file2.xmlとなる。
図3はファイルサーバ内のディレクトリ構成を、具体例を用いて示した概念図である。
この概念図に示すファイルサーバ3のディレクトリ構成においては、あるファイルサーバ3の識別名が“server1”である。“server1”では2つのディレクトリが共有されており、それぞれ”share1”、”share2”という共有名により一意に識別可能である。“server1”の”share1”、”share2”には、図示したようなディレクトリおよびファイルが存在する。例えば、“server1”の“share1”には、“etc”、“doc”の2つのディレクトリが存在し、“etc”ディレクトリには“file1.doc”、“file2.xml”の2つのファイルが、“doc”ディレクトリには“file3.doc”の1つのファイルが存在する。同様に、“server1”の“share2”には、1つのディレクトリ“pjt”が存在し、“pjt”ディレクトリには“pjt1”、“pjt2”、“pjt3”の3つのディレクトリが存在し、そのうち“pjt1”ディレクトリには“file4.txt”、“file5.doc”の2つのファイルが存在する。
また、“share1”には、ファイルサーバ3の持つスナップショット作成インタフェースをファイルリスト作成サーバ1が持つスナップショット作成処理実行手段13が呼び出すことによって作成されたスナップショットディレクトリが2つあり“~snapshot”というディレクトリの配下に存在している。
1つは“.IDX01”という名称で作成されており、もう1つは“.IDX02”という名称で作成されている。それぞれのスナップショットディレクトリの配下には、スナップショットを作成した時点の“share1”配下のディレクトリおよびファイル群が存在する。なお、追加、更新、削除されたファイルデータの一覧を作成することを主な目的として作成したスナップショットディレクトリの配下のファイルについては、原本ファイル群が上位ディレクトリに存在することもあり、検索インデクスを作成しなくともよい。以下の説明では、“~snapshot”配下については検索インデクスを作成しなかったものとして説明する。
なお、スナップショットにはファイルサイズの情報が付随しているので、これによりファイルが変更されているかどうかを検出することができる。
図4はファイル走査処理分割方針決定手段12の動作を示すフローチャートである。
ファイル走査処理分割方針決定手段12は、走査対象のファイルツリー構造を複数に分割して走査処理を並列に行うことで高速化するという本発明の目的に対し、分割された範囲があまりに小さかった場合には並列処理を行うことによるオーバーヘッドが並列処理による高速化のメリットを上回ってしまうことを避けるために、既にインデクス済みのファイルからディレクトリ構造を分析することにより、最初に行う走査処理の範囲が適切な大きさになるように判断する処理である。
このような判断処理は、走査対象のファイルツリー構造が、走査処理開始ディレクトリに近い上位階層ほどディレクトリ数が少なく、下位階層ほどディレクトリ数が多い三角形構造の場合に適している。三角形構造の中でも特に、階層間のディレクトリ数の増加の割合が一定ではなく途中の階層で増加の割合が急激に大きくなるような場合、最上位階層から増加割合が急激に大きくなる直前の階層までを最初の初回走査範囲に設定する。
図15は途中の階層で増加の割合が急激に大きくなるようなファイルツリーの概念図である。図中の丸1506は1つのディレクトリを表す。なお、各ディレクトリの下にはファイルがある。また、下位階層のディレクトリは上位階層のいずれかのディレクトリに属している。
この概念図に示すファイルサーバ3のファイルツリーの構造においては、第一階層1501に1ディレクトリが属し、第二階層1502には3ディレクトリが属し、第三階層1503には6ディレクトリが属し、第四階層1504には12ディレクトリが属し、第五階層1505には10000ディレクトリが属している。このようなファイルツリー構造を持つファイルサーバとしては企業組織のヒエラルキーに即して構築された企業内ファイルサーバが考えられる。例えば第一階層1501を”本部”とし、第二階層1502を”部”、第三階層1503を”課”、第四階層1504を”各従業員”用のディレクトリとする場合、このようなディレクトリ数の比率を持つファイルツリー構造になる。
各階層間のディレクトリ数の増加の割合は階層間のディレクトリ数の2階差分値によって近似的に算出できる。
2階差分値とは図16の説明図に示すように、各階層のディレクトリ数について上位階層と直下の下位階層のディレクトリ数の差を1階差分値としたとき、さらに下位階層のディレクトリ数と1階差分値との差を2階差分値とするものである。微分演算を近似したものに相当する。
図16の説明図においては、第4階層と第5階層のディレクトリ数の2階差分値1603が急変しているために、第5階層でディレクトリ数が急変していることを近似的に検出することができる。
図15の例においては、第一階層1501、第二階層1502、第三階層1503間の2階差分値は1となり、第二階層1502、第三階層1503、第四階層1504間の2階差分値は3となり、第三階層1503、第四階層1504、第五階層1505間の2階差分値は9982となる。これらの2階差分値の比較から第四階層1504と第五階層1505の間で増加の割合が急激に大きくなっていることが判断できる。ファイル走査処理分割方針決定手段12はこの手法によって、最上位階層1501から第4階層1504までを1つの分割深度とする初回走査範囲として設定する。
初回走査範囲に設定した第4階層の以下の下位階層については、ディレクトリ数が多いため、その下位のディレクトリ階層を1深度単位として1階層単位で走査し、当該ディレクトリ上のファイルリストを作成する。
なお、ディレクトリ数が多い第5階層以下の階層においては、当該階層に属するディレクトリの走査を複数の分散処理サーバで分担して走査する。この場合、分担の仕方については任意である。
また、最下位階層までのディレクトリ数の集計結果が非常に少なく所定数未満であった場合には、分割して走査しても高速化の目的に反するので、分割数を1として走査する。
本実施形態では、検索対象ファイルについて現在のディレクトリ構造を反映したファイルサーバのディレクトリのスナップショットを記憶装置内に保持しておくことを前提とする。これは図4の処理でディレクトリの分割方針を決定した後、図5の処理を起動する前に、スナップショット取得命令を発行することにより実現されるものである。
そこでこのことを前提に、本実施形態では、まず、検索対象ファイルについて作成済みの検索インデクス情報により、インデクス作成直後の検索対象ファイルのディレクトリ構造を反映したディレクトリツリーを解明する。そして、その後、検索対象ファイルのリストから各をディレクトリのディレクトリ数を集計し、その集計結果からファイル走査を分散処理サーバ群で分散処理するためのディレクトリの分割方針を決定し、その決定した分割方針に従ってディレクトリを分割し、全てのディレクトリを走査(初回走査、次回走査、次々回走査・・・)しながらスナップショット取得命令をスナップショット作成処理実行手段13宛に発行することにより、ファイルサーバ3の記憶装置31内に、追加、削除されたファイルについての現在のファイルディレクトリ構造を反映したディレクトリツリーのスナップショットを取得する。そこで、ファイル走査の分割方針決定前に取得しておいたディレクトリツリーのスナップショットと、追加、削除されたファイルを反映したディレクトリーのスナップショットとを比較する。これにより、ディレクトリツリーの新規追加、または削除の状態により、追加されたファイル、削除されたファイルが判明する。また、ディレクトリは追加されていないが、内容が更新されたファイルがあればスナップショットに存在するファイルサイズ同士を比較することにより、更新されたファイルが判明する。
したがって、本実施形態においては、スナップショット同士の比較によりファイルの追加、削除、変更を検出するので、従来のように検索対象ファイルのハッシュ値を記憶しておく必要がなくなり、大規模容量の記憶手段を必要としない。
図4のS401に至るまでの処理は、前述のように、スケジューラ11が、追加、更新、削除されたファイルデータの一覧を定期的に作成するにあたり、記憶装置16に記憶されている一覧作成処理実行間隔を参照して、処理を開始させる。
まず、走査対象となるファイルサーバ3の共有ディレクトリに関わる全てのファイルのURL171レコードを記憶装置16に格納された検索インデクス17から取得する(S401)。
次に取得した各ファイルURL171を文字”/”でファイルパス上の各階層のディレクトリ名に分割する(S402)。例えば、前述の例でいうと、”http://server1/share1/etc/file2.xml”は、”http:”、””(空字列)、”server1”、”share1”、”etc”、“file2.xml”に分割される。末尾の要素はファイル名でありディレクトリ構造解析には用いないため破棄する。前述の例では“file2.xml”は用いずに破棄する。
次に、分割したディレクトリ名がそれぞれ、ファイルパス上の何階層目に所属しているか階層数を算出する(S403)。例えば前述の例で言うと、”http://server1/share1/etc/file2.xml”の”share1”は第一階層となり、“etc”は第二階層となる。
次に、階層ごとにディレクトリ数を集計する。例えば図3に示したファイルツリーの場合、共有ディレクトリ”share1”に係る第一階層は”share1”一つであると算出される。
同様に第二階層は”etc”と”doc”の二つであると算出される。ここで“~snapshot”配下のディレクトリは検索インデクスを作成していないため“~snapshot”は集計対象外となる。
S402とS403は分散処理サーバ群2において分散処理実行手段21を利用して並列に分散処理する。例えば、ディレクトリURL171を5000行ずつ各分散処理サーバに分配し、各分散処理サーバは割り当てられたディレクトリURL171一つずつに対して、S402とS403の処理を行う。
次に、階層ごとにユニークなディレクトリ名がいくつあるかを数えることにより、階層ごとのディレクトリ数を集計する(S404)。S404は分散処理サーバ群2において分散処理実行手段21を利用して並列に分散処理する。S403で算出した階層数ごとに、ディレクトリ名を各分散処理サーバに分配し、各分散処理サーバは割り当てられた階層についてS404のユニークなディレクトリ数を集計する処理を行う。
次に、集計が完了した階層のうち、第一階層について処理を進める(S405)。
次に、第一階層の推定ファイル数を算出して、推定総ファイル数に加算する(S406)。なお、推定ファイル数は、S404で算出した第一階層のディレクトリ数に一定の数をかけることで算出する。一定の数とは例えば100といった値である。この値はファイルリスト作成サーバ1上の設定ファイルなどに記憶している値を参照する。この値は、1ディレクトリが保持するファイルの平均の数に近い値を推定して設定することが望ましい。
次に推定総ファイル数が最高推定総ファイル数以上かどうかを決定する(S407)。
なお、最高推定総ファイル数はファイルリスト作成サーバ1上の設定ファイルなどに記憶している値を参照する。この値は、例えば2000000といった値であり、一台のファイルリスト作成サーバ1が1度のファイル走査によって少なくとも数時間以内に走査完了できる数字を推定して設定することが望ましい。推定総ファイル数が最高推定総ファイル数以上だった場合は、最初の階層から今階層までをまとめて走査する対象として判断する(S412)。
すなわちこの場合は、第一階層のみを走査対象として判断する。最高推定総ファイル数は、まとめて走査する対象の範囲が際限なく拡大することを防ぐ目的で設定している。
推定総ファイル数が最高推定総ファイル数より少なかった場合は、次に、前々階層、前階層、今階層のディレクトリ数の2階差分値を計算する(S408)。第一階層の場合は、前々階層、前階層が無いため、第一階層のディレクトリ数そのものを2階差分値とする。
次に、2階差分値が階層数2階差分閾値以上かどうかを決定する(S409)。なお、階層数2階差分閾値はファイルリスト作成サーバ1上の設定ファイルなどに記憶している値を参照する。この値は階層間のディレクトリ数の増加の割合がどの程度急激であるかを近似的に示す値であり、例えば5000といった値を設定する。
2階差分値が2階差分閾値以上である場合は、次に推定総ファイル数が最低推定総ファイル数以上であるかどうかを決定する(S410)。
なお、最低推定総ファイル数はファイルリスト作成サーバ1上の設定ファイルなどに記憶している値を参照する。この値は、例えば1000000と言った値であり、一台のファイルリスト作成サーバ1が1度のファイル走査によって少なくとも数分以上走査にかけるファイル数を推定して、その数を設定することが望ましい。
推定総ファイル数が最低推定総ファイル数以上である場合は、最初の階層から今階層までをまとめて走査する対象として判断する(S412)。
S410の判断で推定総ファイル数が最低推定総ファイル数より少なかった場合は、次の階層に進む(S411)。
図4の処理はあまりに小さな範囲を走査範囲として設定しないようにするための処理であるため、一定数のファイルは走査範囲に含まれるようにS410の判断処理を加えている。
S409の判断で2階差分値が2階差分閾値より小さかった場合は、次の階層に進む(S411)。
S411で次の階層に進んだ後は、S406の処理に戻る。S407かS409とS410のどちらかの判断によって走査範囲が決まるまでS406からS411の処理を繰り返し実行する。
これらの処理により、ファイル走査実行手段14が最初に行う走査処理の範囲として、適切な範囲が決定される。
図5はファイル走査実行手段14とファイルリスト比較手段15によって追加、更新、削除されたファイルデータの一覧を作成する処理の動作を示すフローチャートである。
図4のフローチャートに示した処理の終了後、スケジューラ11はスナップショット作成処理実行手段13を用いてファイルサーバ3の記憶装置31内に検索対象ファイル群のスナップショットを作成し、その後に図5の処理を起動させる。このスナップショットが前述の前提となるスナップショットである。
図4のフローチャートで示された分割方針決定手段によって決定された範囲を走査範囲に設定する(S501)。
次に、今回取得した検索対象ファイル群のスナップショットディレクトリにおける走査範囲について走査し、ファイルとディレクトリのURLを列挙する(S502)。ファイルサーバ内の一部範囲を走査してファイルとディレクトリを列挙することは周知の技術であるため、ファイルサーバ走査実行手段13がどのように走査を行うかについてはここでは詳細には記載しないが、例えばファイルリスト作成サーバ1がファイルサーバ3の記憶装置31の検索対象ファイルのスナップショット32を、ネットワークファイルシステムを通じてアクセス可能な状態にし、ファイルリスト作成サーバ1のローカルファイル用のファイルツリー探索プログラムを使用して各ファイルデータのファイルシステム上のファイルパスの一覧を出力するなどさせればよい。ファイルシステム上のファイルパスが求まれば、ファイルパスにファイルサーバ3の識別名などをファイルパスに付け加えることでURLを作成することができる。
次に、図5の処理を開始する直前または前回インデクス更新時に取得しておいた検索対象ファイルのスナップショット走査範囲について走査し、ファイルとディレクトリのURLを列挙する(S503)。
次に、ファイルリストを作成し、次回走査範囲を設定する(S504)。この次回走査範囲は、S502で走査された範囲の最下層のディレクトリが設定され、そのディレクトリの直下1階層分を走査範囲として設定する。すなわちS501で設定された初回の走査より後の走査では1階層ずつファイルツリーを走査する。この処理の詳細はファイルリスト作成と走査範囲設定処理(S601等)として後述する。
次に、次回走査範囲が空かどうかを判断する(S505)。
もし次回走査範囲が空であれば、ファイルツリーを全て探索し終えたので、処理を終了する。
次回走査範囲が空でなければ、S502に戻って次の走査範囲について走査し、ファイルとディレクトリのURLを列挙する。
図6はファイルリスト作成と走査範囲設定処理の動作を示すフローチャートである。これは図5のS504の処理の詳細なフローである。
最初に、S502とS503で列挙されたファイルとディレクトリのURLを合わせて反転文字列順にソートする(S601)。ここで反転文字列とは、文字列の表記順序を前後で反転(入れ替えた)させたものを言う。例えば「あいうえお」という文字列に対する反転文字列は「おえういあ」である。
S601で両スナップショットディレクトリから列挙されたファイルとディレクトリのURLを反転文字列順にソートした理由は、分散処理サーバ群2に追加、変更、削除されたファイルデータの一覧の作成を分散処理させるために、両スナップショットディレクトリに同一ファイルまたは同一ディレクトリが存在する場合、反転文字列順でソートすることによりファイルリスト内で両スナップショットディレクトリの同一ファイルまたは同一ディレクトリのURLを隣接させるためである。
図17は図3で示したスナップショットディレクトリ32とスナップショットディレクトリ33の配下にあるファイルのURLを例にして、反転文字列順ソートの例を示したものである。
ファイルリスト1701では通常の文字列順に両スナップショットディレクトリ内のファイルURLをソートした場合を示している。ファイルリスト1702では反転文字列順にファイルURLをソートした場合を示している。ファイルリスト1703は見易さのためにファイルリスト1702を、並び順をそのままに文字列を再反転させたものである。
反転文字列順にソートすることにより1704で示すように、同一ファイルの両スナップショットのURLが隣接する。これは、同一ファイルのURLでは、スナップショットディレクトリ名の部分で初めて差異が生じるためである。
この特徴を利用することで、1705で示すような隣接する2行の比較によって前回更新インデクス時に取得したスナップショットディレクトリと、今回取得したスナップショットディレクトリにどのような差異があるかを判断することができる。
このようにURLリスト全体を意識せずに、隣接する2行のみを見れば追加、変更、削除されたファイルデータの一覧が作成できる状態にすることにより、追加、変更、削除されたファイルデータの一覧の作成処理を分散処理サーバ群2に分散させることが可能になる。
この反転文字列順にソートされたURLリストから追加、変更、削除されたファイルデータの一覧を作成する処理について、図6のS602以降で説明する。
S602でURLリストの先頭2行をとりだす。
次に、先頭2行のURL同士を文字列として比較する(S603)。
次に、S603の比較の結果、URLのスナップショットディレクトリ以下が文字列として一致しているかどうかを判断する(S604)。
もし一致していた場合は、前回更新インデクス時に取得したスナップショットディレクトリ配下にあるファイルまたはディレクトリと、今回取得したスナップショットディレクトリ配下のファイルまたはディレクトリのURLが一致しているということなので、このファイルまたはディレクトリは、新規にファイルサーバ3上に追加されたファイルまたはディレクトリや、前回インデクスされたファイルまたはディレクトリが削除されたものではなく、変更が無かった、または更新があったファイルまたはディレクトリだと判断できる。このファイルまたはディレクトリは更新の可能性があるファイルまたはディレクトリであるとして、追加、更新、削除されたファイルデータの一覧に追加する処理(S605)を行う。この処理の詳細は更新ファイル追加処理(S901等)として後述する。
次に、URLリストに次の行があるかどうかを判断する(図7のS606)。
もしURLリストに次の行がある場合は、次に、URLリストに更に次の行があるかを判断する(S607)。
もしURLリストに更に次の行がある場合、すなわちURLリストに次の2行がある場合は、次の2行を取り出す(S608)。
次に、図6のS603に戻り、次のURL同士を比較する。URLリストの全てのURLについて処理を終えるまで、これらの処理を繰り返し実行する。
もしS606の判断で、URLリストに次の行が無かった場合は、URLリストの全てのURLについて処理を終えたとして処理を終了する。
もしS607の判断でURLリストに更に次の行が無かった場合、すなわち、URLリストに1行しか残っていなかった場合は、その最終行について追加、更新、削除ファイル一覧に追加する処理を行う(S609)。この処理の詳細はURLリストの最終行処理(S701等)として後述する。
もしS604の判断で、URLのスナップショットディレクトリ以下が文字列として一致していなかった場合は、ファイルサーバ3上にファイルまたはディレクトリが追加された、または、前回インデクスされたファイルまたはディレクトリが削除されたと判断できるので、ファイルが新規に追加されたのか、あるいはファイルが削除されたのかを決定し、追加、更新、削除ファイル一覧に追加する処理を行う(S610)。この処理の詳細は追加削除ファイル追加処理(S801等)として後述する。
次にURLリストに次の行があるかどうかを判断する(S611)。
もしURLリストに次の行がある場合は、今取り出している1行目を判断済みの行として破棄し、今取り出している2行目を1行目にシフトし、次の行を取り出して2行目とする(S612)。
もしURLリストに次の行が無い場合は、今取り出している2行目を最終行としてURLリストの最終行処理(S609)をおこなう。
このような方法でURLリストのURLを先頭から最後尾まで比較していくことで、該当範囲について追加、更新、削除されたファイルを全て追加、更新、削除されたファイルデータの一覧に追加することができる。
これらの処理により、今回の走査範囲についての追加、更新、削除されたファイルデータの一覧が作成され、次回の走査範囲が決定される。
図8、図9はURLリストの最終行処理の動作を示すフローチャートである。これは図6のS609の処理の詳細なフローである。
最初に最終行のURLが今回取得したスナップショットディレクトリのものかどうかを判断する(S801)。
もし最終行のURLが今回取得したスナップショットディレクトリのものだった場合は次にURLがディレクトリのものかどうかを判断する(S802)。
もしURLがディレクトリのものだった場合は、走査範囲の最下層のディレクトリかどうかを判断する(S803)。例えば、図15のファイルツリーで第一階層1501から第五階層1505までを走査範囲に設定した場合は、第五階層1505に属するディレクトリのURLが最下層のディレクトリと判断される。
もしURLが示すディレクトリが最下層のディレクトリだった場合は、そのディレクトリは次回走査範囲における起点ディレクトリの一つとして含まれるため、次回走査範囲に追加する(S804)。この次回走査範囲はファイルリスト作成サーバ1の主記憶装置上に保持してもよいし、次回走査範囲に追加されるディレクトリ数が多い場合は記憶装置15に一時的に記憶して次回処理の際にロードするようにしてもよい。
もしS803の判断でURLが走査範囲の最下層のディレクトリではなかった場合は、そのディレクトリは次回走査範囲に追加する必要はないので、そのまま図8の処理を終了する。
もしS802の処理でURLがディレクトリではなく、ファイルのものだった場合は、そのファイルは前回インデクス更新時には存在していなかったが、今回インデクス時には存在しているファイル、すなわちファイルサーバ3に追加されたファイルと判断できるため、追加ファイルとして追加、更新、削除ファイル一覧に追加する(S805)。
もしS801の処理で、最終行のURLが今回取得したスナップショットディレクトリのものではなく、前回インデクス更新時に取得したスナップショットディレクトリのものだった場合は、次にURLがディレクトリのものかどうかを判断する(S806)。
もしURLがディレクトリのものだった場合、そのディレクトリは前回インデクス更新時には存在していたが、今回インデクス時には存在していなかったディレクトリ、すなわちファイルサーバ3から削除されたディレクトリと判断できる。この場合、検索インデクスにインデクスされている、そのディレクトリ以下のファイルを全て削除することが必要である。そのため、まず検索インデクスからディレクトリ以下のファイルの一覧を取得する(S807)。
次にS807で得られた一覧のファイル全てを削除ファイルとして追加、更新、削除ファイル一覧に追加する(S808)。
もしS806の処理でURLがディレクトリではなく、ファイルのものだった場合は、そのファイルは前回インデクス更新時には存在していたが、今回インデクス時には存在していなかったファイル、すなわちファイルサーバ3から削除されたファイルと判断できるため、削除ファイルとして追加、更新、削除ファイル一覧に追加する(S809)。
これらの処理により、URLリストの最終行のURLが、追加、更新、削除ファイル一覧または次回走査範囲に追加される。
図10は追加削除ファイルを追加、更新、削除ファイル一覧または次回走査範囲に追加する処理の動作を示すフローチャートである。
最初に取り出した2つのURLがディレクトリのものかファイルのものかを判断し、1行目のURLがファイル、2行目のURLがファイルの組み合わせか、1行目のURLがファイル、2行目のURLがディレクトリの組み合わせか、1行目のURLがディレクトリ、2行目のURLがファイルの組み合わせか、1行目のURLがディレクトリ、2行目のURLがディレクトリの組み合わせか、のいずれであるかを判断する(S1001)。この処理の詳細は、ディレクトリまたはファイルに係るURL組み合わせ決定処理(S1001等)として後述する。
次に取り出した2つのURLについて、1行目と2行目のURLがそれぞれ前回インデクス更新時に取得したスナップショットディレクトリのものか、今回取得したスナップショットディレクトリのものかを判断し、組み合わせを求める(S1002)。この組み合わせの詳細は、前回取得または今回取得スナップショットディレクトリに係るURL組み合わせ決定表(1201等)として後述する。
次にS1001、S1002の判断結果から、取り出したURLが示すディレクトリまたはファイルについて追加、更新、削除ファイル一覧または次回走査範囲に追加する(S1003)。この判断の詳細はURLが示すディレクトリまたはファイルの追加、更新、削除ファイル一覧または次回走査範囲への追加処理判断表(1301等)として後述する。
図11は取り出した2つのURLそれぞれについて、ディレクトリまたはファイルURLかを判断し、組み合わせを決定する処理の動作を示すフローチャートである。
最初に1行目のURLがディレクトリのものかどうかを判断する(S1101)。
もしS1101の判断で、1行目のURLがディレクトリのものではなく、ファイルだった場合は、次に2行目のURLがディレクトリのものかどうかを判断する(S1102)。
もしS1102の判断で、2行目のURLがディレクトリのものではなく、ファイルだった場合は、この2行のURLはファイル、ファイルの組み合わせと判断される。図10のS1003の決定処理の説明の便宜上、この組み合わせをA(1104)と名づける。
もしS1102の判断で、2行目のURLがディレクトリのものだった場合は、この2行のURLはファイル、ディレクトリの組み合わせと判断される。この組み合わせも同様に便宜上B(1105)と名づける。
もしS1101の判断で、1行目のURLがディレクトリのものだった場合は、次に2行目のURLがディレクトリのものかどうかを判断する(S1103)。
もしS1103の判断で、2行目のURLがディレクトリのものではなく、ファイルだった場合は、この2行のURLはディレクトリ、ファイルの組み合わせと判断される。この組み合わせも同様に便宜上C(1106)と名づける。
もしS1103の判断で、2行目のURLがディレクトリのものだった場合は、この2行のURLはディレクトリ、ディレクトリの組み合わせと判断される。この組み合わせも同様に便宜上D(1107)と名づける。
図10のS1003において、取り出した2つのURLそれぞれについて、前回インデクス更新時に取得したスナップショットディレクトリ配下のものか、今回取得したスナップショットディレクトリ配下のものかを判断する処理があった。この判断自体は周知の技術を用いることで容易に実現可能であるため詳細はここでは記述しないが、例えば文字列中に前回インデクス更新時に取得したスナップショットディレクトリを示す文字列が含まれているか否かを決定するなどの手法が考えられる。
図12は2つのURLそれぞれを判断した結果を表1201として示したものである。
ここでURLの前半部分の「http://server1/share1/」は見易さのため省略してある。また、<A>や<B>はスナップショットディレクトリ以下の適当なファイルパスを示す記号として用いている。すなわち表で「.IDX01/<A>」と表記しているものは例えば「http://server1/share1/.IDX01/etc/file1.doc」というファイルURLを示している。
表1201において、1207のような「(※1)」が記述されている組み合わせは同一URLが2行並んでいる場合を示しており、今まで述べてきた方法でURLリストを作成した場合、決して現れない。
同様に、1208のような「(※2)」が記述されている組み合わせは、図6のS601で反転文字列ソート処理を行っているため、これも現れない。
出現しうるURLの組み合わせは表の1202から1207に示す6種類である。これらの組み合わせに説明の便宜上1から6という名をつける。
組み合わせ1から6のうち、5(1206)と6(1207)については取り出した2行が同一URLの場合であり、図6のS604の判断処理によってS605に進む場合である。よって、S610の処理について述べている図12、および次の図13では無視できるケースである。
図10のS1003において、S1001とS1002の判断結果から取り出したURLを追加、更新、削除ファイル一覧または次回走査範囲に追加する処理があった。S1001の判断結果AからDとS1002の判断結果のうち取り扱うべきケース1から4の組み合わせによって、取り出したURLをどのように扱うべきかを表1301として図13に示す。
例えばS1001の判断結果がA(1104)であり、S1002の判断結果が1(1202)だった場合は、取り出したURLの1行目のURLが示すファイルを削除ファイルとして追加、更新、削除ファイル一覧に追加する(1302)。
なお、1003では全て取り出したURLの1行目のみを追加、更新、削除ファイル一覧または次回走査範囲に追加する。表1301で1303、1304として示したS1002の判断結果が2だった場合、および4だった場合は、もし次の行があった場合、その2行の判断結果はS1002の判断結果が3だった場合もしくは4だった場合にしかなりえない。更に、これらの処理は図8に示した次の行が最終行だった場合のフローチャートで行われる処理と同一の結果になる。よって1303、1304の場合については、この時点で2行目のURLが示すディレクトリもしくはファイルもどのように処理すればよいか決定可能である。この実施形態では1行目のURLについてのみ処理し、2行目のURLについては図6の繰り返し処理の次の回で処理するものとして説明を続ける。
図14は更新ファイル追加処理の動作を示すフローチャートである。これは図6のS605の処理の詳細なフローである。
最初に、URLがディレクトリのものであるかどうか判断する(S1401)。スナップショットディレクトリ以下のURLは同一であるため、判断に使用するURLは1行目でもよいし、2行目でもよい。
もしURLがディレクトリのものである場合は、次に走査範囲の最下層のディレクトリであるかどうかを判断する(S1402)。走査範囲については今回取得したスナップショットディレクトリに係るURLを用いて判断する。
もしURLが示すディレクトリが走査範囲の最下層のディレクトリだった場合は、そのディレクトリは次回走査範囲における起点ディレクトリの一つとして含まれるため、次回走査範囲に追加する(S1403)。
もしS1402の判断で走査範囲の最下層のディレクトリではなかった場合は、現走査範囲に下位のディレクトリが含まれているため、そのディレクトリは次回走査範囲に含める必要は無い。また、ディレクトリについての検索インデクスは作成する必要がないため、追加、更新、削除ファイル一覧に追加する処理も必要ない。よって処理を終了する。
もしS1401の判断で、URLがディレクトリのものではなくファイルのものだった場合は、取り出した2行のURLが表すファイルについて、ファイルの更新時刻やサイズなどのメタデータからファイル情報ハッシュ値を算出し、2つのハッシュ値を比較する(S1404)。
次に、比較したハッシュ値に差があるかどうかを判断する(S1405)。
S1405の判断でハッシュ値に差がある場合は、そのファイルが更新されていることを示すので、次にそのURLを更新ファイルとして追加、更新、削除ファイル一覧にURLを追加する(S1406)。
S1405の判断でハッシュ値に差が無い場合は、そのファイルが更新されていないことを示すので、そのファイルについては追加、更新、削除ファイル一覧に追加する必要は無い。そのため、これで処理を終了する。
これらの処理により、URLがファイルであり、かつ更新されていた場合は、更新ファイルであるとして追加、更新、削除されたファイルデータの一覧に追加され、また、走査範囲の最下層のディレクトリの場合は次回走査範囲に追加される。
図18は、本発明の他の実施形態を示すシステム構成図である。この実施形態は、通常のバックアップ目的で作成したスナップショットを流用して追加、更新、削除されたファイルデータの一覧を生成するものである。
すなわち、スナップショットは、ストレージ管理者が“簡単”に(ボタン1クリックで)「すばやく」「少ない容量で」対象とするファイルの「バックアップを取得する」機能である。ストレージ管理者が手動のコピー&ペーストで取得したバックアップディレクトリと、スナップショットディレクトリは、ほぼ同じのものである。
本実施形態では、ファイルサーバ3の記憶装置1831に、2つのバックアップディレクトリを格納し、これらのバックアップディレクトリに格納した今回インデクス対象とする検索対象ファイル群のバックアップディレクトリ1832と、前記インデクス更新時に対象とした検索対象ファイル群のバックアップディレクトリ1833とを、図1の今回取得した検索対象ファイル群のスナップショット32と前回インデクス更新時に取得した検索対象ファイル群のスナップショットとの代わりに使用し、前回インデクス更新時(作成時)より新たに追加、更新、削除されたファイルデータの一覧を生成するものである。
ファイルリスト作成サーバ1は、ファイル走査処理分割方針決定手段12、スナップショット作成処理手段12、ファイル走査実行手段14、ファイルリスト比較手段15、分散処理サーバ群2を図1の実施形態と同様に用い、前回インデクス更新時(作成時)より新たに追加、更新、削除されたファイルデータの一覧を生成する。
したがって、詳細な説明は省略する。
なお、本実施形態においては、スナップショット作成処理手段に代えて、ストレージ管理者が検索対象ファイルの現在のディレクトリツリーを手動でコピー&ペーストしてバックアップディレクトリとして記憶手段に記憶させる点が前述の実施形態の動作と異なる。
1 ファイルリスト作成サーバ
2 分散処理サーバ群
3 ファイルサーバ
4 ネットワーク
11 スケジューラ
12 ファイル走査処理分割方針決定手段
13 スナップショット作成処理実行手段
14 ファイル走査実行手段
15 ファイルリスト比較手段
16 ファイルリスト作成サーバ1に接続された記憶装置
17 検索インデクス
21 分散処理実行手段
31 ファイルサーバ3に接続された記憶装置
32 今回取得した検索対象ファイル群のスナップショット
33 前回インデクス更新時に取得した検索対象ファイル群のスナップショット
160 検索インデクス16のファイルレコード
161 ファイルURL

Claims (8)

  1. 検索対象ファイルについて作成済みのインデクス情報を第1の記憶手段に記憶するステップと、前記第1の記憶手段に記憶されたインデクス情報から検索対象ファイルのディレクトリURLを取得し、そのディレクトリURLを解析して各階層のディレクトリ数を集計し、その集計結果に基づき走査対象ディレクトリの走査処理を分散サーバ群によって分割して行う分割方針を決定するステップと、決定された分割方針に従い検索対象ファイルのディレクトリを分割するステップと、走査対象ファイルの現在ディレクトリツリーのスナップショットを取得して第2の記憶手段に格納するステップと、前記現在ディレクトリツリーのスナップショットと前記分割方針を決定する前に取得して第3の記憶手段に格納しておいた検索対象ファイルのディレクトリツリーのスナップショットについて前記分割方針を決定するステップで決定した分割した単位で各ディレクトリ上の検索対象ファイルを前記分散サーバ群によって分散走査するステップと、当該分散走査結果を比較し、前記インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力するステップとを備え
    前記分割方針を決定するステップは、検索対象ファイルのディレクトリの最上位階層から数えたディレクトリ数が所定数未満であれば検索対象ディレクトリの走査処理を行う分割数を1とする分割方針を決定し、所定数を越えた場合には最上位階層のディレクトリから所定階層までの階層を1つの分割単位として初回走査を行い、その初回走査で発見した走査対象ディレクトリの下位階層は深度1階層を分割単位として走査する分割方針を決定するものであることを特徴とするファイルリスト生成方法。
  2. 検索対象ファイルについて作成済みのインデクス情報を第1の記憶手段に記憶するステップと、検索対象ファイルの現在のディレクトリツリーをコピーしてバックアップディレクトリとして第2の記憶手段に格納するステップと、前記第1の記憶手段に記憶されたインデクス情報から検索対象ファイルのディレクトリURLを取得し、そのディレクトリURLを解析して各階層のディレクトリ数を集計し、その集計結果に基づき走査対象ディレクトリの走査処理を分散サーバ群によって分割して行う分割方針を決定するステップと、決定された分割方針に従い検索対象ファイルのバックアップディレクトリを分割するステップと、前記現在のディレクトリツリーのバックアップディレクトリと前記分割方針を決定する前に取得して第3の記憶手段に格納しておいた検索対象ファイルのバックアップディレクトリツリーについて前記分割方針を決定するステップで決定した分割した単位で各ディレクトリ上の検索対象ファイルを前記分散サーバ群によって分散走査するステップと、当該分散走査結果を比較し、前記インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力するステップとを備え、
    前記分割方針を決定するステップは、検索対象ファイルのディレクトリの最上位階層から数えたディレクトリ数が所定数未満であれば検索対象ディレクトリの走査処理を行う分割数を1とする分割方針を決定し、所定数を越えた場合には最上位階層のディレクトリから所定階層までの階層を1つの分割単位として初回走査を行い、その初回走査で発見した走査対象ディレクトリの下位階層は深度1階層を分割単位として走査する分割方針を決定するものであることを特徴とするファイルリスト生成方法。
  3. 検索対象ファイルについて作成済みのインデクス情報を記憶する第1の記憶手段と、この第1の記憶手段に記憶されたインデクス情報から検索対象ファイルのディレクトリURLを取得し、そのディレクトリURLを解析して各階層のディレクトリ数を集計し、その集計結果に基づき走査対象ディレクトリの走査処理を分散サーバ群によって分割して行う分割方針を決定する分割方針決定手段と、決定された分割方針に従い検索対象ファイルのディレクトリを分割し、走査対象ファイルの現在ディレクトリツリーのスナップショットを取得し、第2の記憶手段に格納する手段と、前記現在ディレクトリツリーのスナップショットと前記分割方針を決定する前に取得して第3の記憶手段に格納しておいた検索対象ファイルのディレクトリツリーのスナップショットについて前記分割方針決定手段で決定した分割した単位で各ディレクトリ上の検索対象ファイルを前記分散サーバ群によって分散走査するファイル走査手段と、当該ファイル走査手段による分散走査結果を比較し、前記インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力する比較手段とを備え、
    前記分割方針を決定する手段は、検索対象ファイルのディレクトリの最上位階層から数えたディレクトリ数が所定数未満であれば検索対象ディレクトリの走査処理を行う分割数を1とする分割方針を決定し、所定数を越えた場合には最上位階層のディレクトリから所定階層までの階層を1つの分割単位として初回走査を行い、その初回走査で発見した走査対象ディレクトリの下位階層は深度1階層を分割単位として走査する分割方針を決定するものであることを特徴とするファイルリスト生成システム。
  4. 検索対象ファイルについて作成済みのインデクス情報を記憶する第1の記憶手段と、検索対象ファイルの現在のディレクトリツリーをコピーしてバックアップディレクトリとして格納する第2の記憶手段と、前記第1の記憶手段に記憶されたインデクス情報から検索対象ファイルのディレクトリURLを取得し、そのディレクトリURLを解析して各階層のディレクトリ数を集計し、その集計結果に基づき走査対象ディレクトリの走査処理を分散サーバ群によって分割して行う分割方針を決定する分割方針決定手段と、決定された分割方針に従い検索対象ファイルのバックアップディレクトリを分割する手段と、前記第2の記憶手段に格納された現在のディレクトリツリーのバックアップディレクトリと前記分割方針を決定する前に取得して第3の記憶手段に格納しておいた検索対象ファイルのバックアップディレクトリツリーについて前記分割方針決定手段で決定した分割した単位で各ディレクトリ上の検索対象ファイルを前記分散サーバ群によって分散走査するファイル走査手段と、当該ファイル走査手段による分散走査結果を比較し、前記インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力する比較手段とを備え、
    前記分割方針を決定する手段は、検索対象ファイルのディレクトリの最上位階層から数えたディレクトリ数が所定数未満であれば検索対象ディレクトリの走査処理を行う分割数を1とする分割方針を決定し、所定数を越えた場合には最上位階層のディレクトリから所定階層までの階層を1つの分割単位として初回走査を行い、その初回走査で発見した走査対象ディレクトリの下位階層は深度1階層を分割単位として走査する分割方針を決定するものであることを特徴とするファイルリスト生成システム。
  5. 第1の記憶手段に記憶された検索対象ファイルについて作成済みのインデクス情報から検索対象ファイルのディレクトリURLを取得し、そのディレクトリURLを解析して各階層のディレクトリ数を集計し、その集計結果に基づき走査対象ディレクトリの走査処理を分散サーバ群によって分割して行う分割方針を決定する分割方針決定手段と、決定された分割方針に従い検索対象ファイルのディレクトリを分割し、走査対象ファイルの現在ディレクトリツリーのスナップショットを取得し、第2の記憶手段に格納する手段と、前記現在ディレクトリツリーのスナップショットと前記分割方針を決定する前に取得して第3の記憶手段に格納しておいた検索対象ファイルのディレクトリツリーのスナップショットについて前記分割方針決定手段で決定した分割した単位で各ディレクトリ上の検索対象ファイルを前記分散サーバ群によって分散走査するファイル走査手段と、当該ファイル走査手段による分散走査結果を比較し、前記インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力する比較手段とを備え、
    前記分割方針を決定する手段は、検索対象ファイルのディレクトリの最上位階層から数えたディレクトリ数が所定数未満であれば検索対象ディレクトリの走査処理を行う分割数を1とする分割方針を決定し、所定数を越えた場合には最上位階層のディレクトリから所定階層までの階層を1つの分割単位として初回走査を行い、その初回走査で発見した走査対象ディレクトリの下位階層は深度1階層を分割単位として走査する分割方針を決定するものであることを特徴とするファイルリスト生成装置。
  6. 検索対象ファイルについて作成済みのインデクス情報を記憶する第1の記憶手段と、検索対象ファイルの現在のディレクトリツリーをコピーしてバックアップディレクトリとして格納する第2の記憶手段と、前記第1の記憶手段に記憶されたインデクス情報から検索対象ファイルのディレクトリURLを取得し、そのディレクトリURLを解析して各階層のディレクトリ数を集計し、その集計結果に基づき走査対象ディレクトリの走査処理を分散サーバ群によって分割して行う分割方針を決定する分割方針決定手段と、決定された分割方針に従い検索対象ファイルのバックアップディレクトリを分割する手段と、前記第2の記憶手段に格納された現在のディレクトリツリーのバックアップディレクトリと前記分割方針を決定する前に取得して第3の記憶手段に格納しておいた検索対象ファイルのバックアップディレクトリツリーについて前記分割方針決定手段で決定した分割した単位で各ディレクトリ上の検索対象ファイルを前記分散サーバ群によって分散走査するファイル走査手段と、当該ファイル走査手段による分散走査結果を比較し、前記インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力する比較手段とを備え、
    前記分割方針を決定する手段は、検索対象ファイルのディレクトリの最上位階層から数えたディレクトリ数が所定数未満であれば検索対象ディレクトリの走査処理を行う分割数を1とする分割方針を決定し、所定数を越えた場合には最上位階層のディレクトリから所定階層までの階層を1つの分割単位として初回走査を行い、その初回走査で発見した走査対象ディレクトリの下位階層は深度1階層を分割単位として走査する分割方針を決定するものであることを特徴とするファイルリスト生成装置。
  7. インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力するファイルリスト作成サーバで用いるプログラムであって、
    前記ファイルリスト作成サーバを、
    第1の記憶手段に記憶された検索対象ファイルについて作成済みのインデクス情報から検索対象ファイルのディレクトリURLを取得し、そのディレクトリURLを解析して各階層のディレクトリ数を集計し、その集計結果に基づき走査対象ディレクトリの走査処理を分散サーバ群によって分割して行う分割方針を決定する分割方針決定手段と、決定された分割方針に従い検索対象ファイルのディレクトリを分割し、現在ディレクトリツリーのスナップショットを取得し、第2の記憶手段に格納する手段と、前記現在ディレクトリツリーのスナップショットと前記分割方針を決定する前に取得して第3の記憶手段に格納しておいた検索対象ファイルのディレクトリツリーのスナップショットについて前記分割方針決定手段で決定した分割した単位で各ディレクトリ上の検索対象ファイルを前記分散サーバ群によって分散走査するファイル走査手段と、当該ファイル走査手段による分散走査結果を比較し、前記インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力する比較手段として機能させ、
    前記分割方針を決定する手段は、検索対象ファイルのディレクトリの最上位階層から数えたディレクトリ数が所定数未満であれば検索対象ディレクトリの走査処理を行う分割数を1とする分割方針を決定し、所定数を越えた場合には最上位階層のディレクトリから所定階層までの階層を1つの分割単位として初回走査を行い、その初回走査で発見した走査対象ディレクトリの下位階層は深度1階層を分割単位として走査する分割方針を決定するものであることを特徴とするファイルリスト生成プログラム。
  8. インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力するファイルリスト作成サーバで用いるプログラムであって、
    前記ファイルリスト作成サーバを、
    検索対象ファイルの現在のディレクトリツリーのコピーをバックアップディレクトリとして第2の記憶手段に格納させる手段と、第1の記憶手段に記憶された検索対象ファイルについて作成済みのインデクス情報から検索対象ファイルのディレクトリURLを取得し、そのディレクトリURLを解析して各階層のディレクトリ数を集計し、その集計結果に基づき走査対象ディレクトリの走査処理を分散サーバ群によって分割して行う分割方針を決定する分割方針決定手段と、決定された分割方針に従い検索対象ファイルのバックアップディレクトリを分割する手段と、前記第2の記憶手段に格納された現在のディレクトリツリーのバックアップディレクトリと前記分割方針を決定する前に取得して第3の記憶手段に格納しておいた検索対象ファイルのバックアップディレクトリツリーについて前記分割方針決定手段で決定した分割した単位で各ディレクトリ上の検索対象ファイルを前記分散サーバ群によって分散走査するファイル走査手段と、当該ファイル走査手段による分散走査結果を比較し、前記インデクス情報作成後に追加、削除、変更されたファイルの一覧を作成して出力する比較手段として機能させ、
    前記分割方針を決定する手段は、検索対象ファイルのディレクトリの最上位階層から数えたディレクトリ数が所定数未満であれば検索対象ディレクトリの走査処理を行う分割数を1とする分割方針を決定し、所定数を越えた場合には最上位階層のディレクトリから所定階層までの階層を1つの分割単位として初回走査を行い、その初回走査で発見した走査対象ディレクトリの下位階層は深度1階層を分割単位として走査する分割方針を決定するものであることを特徴とするファイルリスト生成プログラム。
JP2012030149A 2012-02-15 2012-02-15 ファイルリスト生成方法及びシステム並びにプログラム、ファイルリスト生成装置 Expired - Fee Related JP5759915B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012030149A JP5759915B2 (ja) 2012-02-15 2012-02-15 ファイルリスト生成方法及びシステム並びにプログラム、ファイルリスト生成装置
US13/753,208 US8965941B2 (en) 2012-02-15 2013-01-29 File list generation method, system, and program, and file list generation device
EP13154012.2A EP2629215A1 (en) 2012-02-15 2013-02-05 File list generation method, system, and program, and file list generation device
CN201310045913.0A CN103257993B (zh) 2012-02-15 2013-02-05 文件列表生成方法、系统以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012030149A JP5759915B2 (ja) 2012-02-15 2012-02-15 ファイルリスト生成方法及びシステム並びにプログラム、ファイルリスト生成装置

Publications (2)

Publication Number Publication Date
JP2013167990A JP2013167990A (ja) 2013-08-29
JP5759915B2 true JP5759915B2 (ja) 2015-08-05

Family

ID=47740812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012030149A Expired - Fee Related JP5759915B2 (ja) 2012-02-15 2012-02-15 ファイルリスト生成方法及びシステム並びにプログラム、ファイルリスト生成装置

Country Status (4)

Country Link
US (1) US8965941B2 (ja)
EP (1) EP2629215A1 (ja)
JP (1) JP5759915B2 (ja)
CN (1) CN103257993B (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2997595B1 (fr) * 2012-10-29 2014-12-19 Bouygues Telecom Sa Procede d'indexation des contenus d'un dispositif de stockage de contenus numeriques connecte a un boitier d'acces a internet
CN103473277B (zh) * 2013-08-27 2017-04-05 华为技术有限公司 文件系统的快照方法和装置
US10296425B2 (en) * 2017-04-20 2019-05-21 Bank Of America Corporation Optimizing data processing across server clusters and data centers using checkpoint-based data replication
US10896097B1 (en) * 2017-05-25 2021-01-19 Palantir Technologies Inc. Approaches for backup and restoration of integrated databases
CN107133363B (zh) * 2017-06-05 2020-12-25 掌阅科技股份有限公司 电子书目录列表信息的更新方法、电子设备以及存储介质
CN108874930A (zh) * 2018-05-31 2018-11-23 郑州云海信息技术有限公司 文件属性信息统计方法、装置、系统、设备及存储介质
CN110875951B (zh) * 2018-09-04 2022-07-01 北京奇虎科技有限公司 一种调用消息并发量的统计方法及装置
GB201905533D0 (en) * 2019-03-20 2019-06-05 Cohesity Inc Determining differences between two versions of a file directory tree structure
CN111723050A (zh) * 2019-03-22 2020-09-29 伊姆西Ip控股有限责任公司 用于文件管理的方法、电子设备和计算机程序产品
CN111125024B (zh) * 2019-11-29 2022-05-24 浪潮电子信息产业股份有限公司 一种分布式系统文件的删除方法、装置、设备及存储介质
CN112650723A (zh) * 2020-12-28 2021-04-13 北京浪潮数据技术有限公司 一种文件共享方法、装置、设备及计算机可读存储介质
US11561935B2 (en) 2021-06-17 2023-01-24 Netapp, Inc. Methods for ensuring correctness of file system analytics and devices thereof
US11934347B2 (en) 2021-07-23 2024-03-19 EMC IP Holding Company LLC Determining a sharing relationship of a file in namespace snapshots
CN113946553A (zh) * 2021-10-27 2022-01-18 浪潮卓数大数据产业发展有限公司 一种基于ftp的千万级文件量的文件同步方法
CN114356844B (zh) * 2021-11-19 2023-11-21 苏州浪潮智能科技有限公司 一种基于目录树轮询对比文件快照的方法和装置
US20230169037A1 (en) * 2021-11-30 2023-06-01 Dell Products L.P. Directory snapshots based on directory level inode virtualization

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845290A (en) * 1995-12-01 1998-12-01 Xaxon R&D Ltd. File recording support apparatus and file recording support system for supporting recording of file on home page on internet and intranet
US5935207A (en) * 1996-06-03 1999-08-10 Webtv Networks, Inc. Method and apparatus for providing remote site administrators with user hits on mirrored web sites
US7243369B2 (en) * 2001-08-06 2007-07-10 Sun Microsystems, Inc. Uniform resource locator access management and control system and method
JP4106601B2 (ja) * 2002-07-31 2008-06-25 日本電気株式会社 ディレクトリ情報への更新情報生成システム、更新情報生成プログラム
US7730155B1 (en) * 2002-10-01 2010-06-01 Apple Inc. Method and apparatus for dynamically locating resources
US20040068523A1 (en) 2002-10-07 2004-04-08 Keith Robert Olan Method and system for full asynchronous master-to-master file synchronization
EP1636681A4 (en) * 2003-06-24 2008-09-24 Interwoven Inc SYSTEM AND METHOD FOR DEVELOPING WEB SITES INVOLVING THE UPDATING AND REPLACEMENT OF RELATED CARDS
TWI317476B (en) * 2005-01-14 2009-11-21 Fineart Technology Co Ltd Method for recording the condition of file and computer-readable recording medium
JP2006268456A (ja) 2005-03-24 2006-10-05 Nec Corp ファイル管理装置、ファイル管理方法、及びファイル管理プログラム
JP2007193660A (ja) * 2006-01-20 2007-08-02 Seiko Epson Corp 情報管理装置、情報管理方法及びそのプログラム
US7854006B1 (en) * 2006-03-31 2010-12-14 Emc Corporation Differential virus scan
JP4971717B2 (ja) * 2006-08-11 2012-07-11 国立大学法人東京工業大学 ディレクトリ分散型記憶装置及びデータ処理要求移譲プログラム
US7599920B1 (en) * 2006-10-12 2009-10-06 Google Inc. System and method for enabling website owners to manage crawl rate in a website indexing system
JP2008304981A (ja) * 2007-06-05 2008-12-18 Konica Minolta Holdings Inc ディレクトリ情報の管理方法、及びディレクトリ情報の管理システム
GB0712640D0 (en) * 2007-06-28 2007-08-08 Symbian Software Ltd Domputing device having a merged directory hierarchy from multiple filesystems
JP2009098733A (ja) * 2007-10-12 2009-05-07 Olympus Corp 情報処理装置、情報処理方法及び情報処理プログラム
JP5371656B2 (ja) * 2009-09-24 2013-12-18 株式会社日立ソリューションズ ファイル検索システム
CN102331957B (zh) * 2011-09-28 2013-08-28 华为技术有限公司 文件备份的方法及装置
JP5657498B2 (ja) * 2011-09-30 2015-01-21 株式会社日立ソリューションズ ファイル検索システム

Also Published As

Publication number Publication date
CN103257993B (zh) 2016-08-17
EP2629215A1 (en) 2013-08-21
CN103257993A (zh) 2013-08-21
JP2013167990A (ja) 2013-08-29
US8965941B2 (en) 2015-02-24
US20130212136A1 (en) 2013-08-15

Similar Documents

Publication Publication Date Title
JP5759915B2 (ja) ファイルリスト生成方法及びシステム並びにプログラム、ファイルリスト生成装置
JP5798503B2 (ja) ファイルリスト生成方法及びシステム、ファイルリスト生成装置並びにプログラム
JP6870071B2 (ja) テーブルのインクリメンタルクラスタリング保守
US11461286B2 (en) Fair sampling in a hierarchical filesystem
US10108649B2 (en) Early exit from table scans of loosely ordered and/or grouped relations using nearly ordered maps
US8560569B2 (en) Method and apparatus for performing bulk file system attribute retrieval
US9747331B2 (en) Limiting scans of loosely ordered and/or grouped relations in a database
US8200719B2 (en) System and method for performing a file system operation on a specified storage tier
JP2005078612A (ja) ファイル共有システム及びファイル共有装置間のファイル移行方法
US20130297788A1 (en) Computer system and data management method
JP6135509B2 (ja) 情報システム、その管理方法およびプログラム、データ処理方法およびプログラム、ならびに、データ構造
JP2009110260A (ja) 検索エンジン連携ファイル共有システム
KR20130049111A (ko) 분산 처리를 이용한 포렌식 인덱스 방법 및 장치
Cheng et al. A Multi-dimensional Index Structure Based on Improved VA-file and CAN in the Cloud
JP2008305352A (ja) 全文検索システム
CN110795520B (zh) 一种数字化地质资料包目录与文件关联关系自动识别方法
Mathew et al. Efficient information retrieval using Lucene, LIndex and HIndex in Hadoop
US9542457B1 (en) Methods for displaying object history information
US20220365905A1 (en) Metadata processing method and apparatus, and a computer-readable storage medium
Singh NoSQL: A new horizon in big data
US20170212940A1 (en) File system for supporting time-series analysis and operating method thereof
Yadav et al. Working with HBase
CN117093559A (zh) 用于快速分布式文件系统的方法、装置和系统
Pelekis et al. The case of big mobility data
WO2017135264A1 (ja) 情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140725

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150309

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150413

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20150420

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150526

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150608

R150 Certificate of patent or registration of utility model

Ref document number: 5759915

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees