(57)【特許請求の範囲】
【請求項１】
データ処理装置が、バルクロード制御手段と、当該バルクロード制御手段により制御される、入力ファイル解析手段，ハッシュテーブル管理手段，参照リスト管理手段，及び，データページ生成手段とを備えたバルクロードシステムであって、
前記入力ファイル解析手段が、入力ファイルを解析して、一つのエントリごとにデータを読み込む第一回目の読み込みを行い、
前記ハッシュテーブル管理手段が、前記エントリの識別情報をハッシュテーブルで管理し、
前記参照リスト管理手段が、前記入力ファイル解析手段が読み込んだ前記エントリに対する実際の識別符号と異なる、前記入力ファイルのエントリに対する仮の識別符号を有する、仮の識別符号マップ及び／又は仮参照リストにもとづいて、参照リストを生成し、前記エントリの参照関係を前記参照リストで管理し、
前記バルクロード制御手段が、前記参照リストにもとづいて、更新リストを生成し、
前記入力ファイル解析手段が、前記入力ファイルのエントリのデータに対し、第二回目の読み込みを行い、
前記データページ生成手段が、前記更新リストにもとづいて、第二回目の読み込みで取得した前記入力ファイルのエントリのデータを、データベースの格納形式で生成する
ことを特徴とするバルクロードシステム。
【請求項２】
前記参照リストが、
前記入力ファイル解析手段が読み込んだ前記エントリに対する実際の識別符号と、
上位概念を表す前記エントリに対する親の識別符号と、
下位概念を表す前記エントリに対する子の識別符号と
を有することを特徴とする請求項１記載のバルクロードシステム。
【請求項３】
前記参照リストが、
同位レベルの前記エントリに対して、前記エントリどうしの兄弟関係を示す、次の識別符号を有することを特徴とする請求項２記載のバルクロードシステム。
【請求項４】
前記入力ファイル解析手段が、前記入力ファイルのすべてのエントリのデータに対し、第一回目及び第二回目の読み込みを行う
ことを特徴とする請求項１〜３のいずれか一項に記載のバルクロードシステム。
【請求項５】
データ処理装置が、バルクロード制御手段と、当該バルクロード制御手段により制御される、入力ファイル解析手段，ハッシュテーブル管理手段，エントリソート実行手段，及び，データページ生成手段を備えたバルクロードシステムであって、
前記入力ファイル解析手段が、入力ファイルを解析して、一つのエントリごとにデータを読み込み、
前記ハッシュテーブル管理手段が、前記エントリの識別情報をハッシュテーブルで管理し、
前記エントリソート実行手段が、前記エントリをエントリリストで管理し、
前記データページ生成手段が、前記エントリのデータをデータベースの格納形式で生成する
ことを特徴とするバルクロードシステム。
【請求項６】
前記入力ファイル解析手段が、前記入力ファイルのエントリのデータに対し、第一回目の読み込みを行い、
前記エントリソート実行手段が、前記エントリリストにもとづいて、ソート処理を行い、
前記入力ファイル解析手段が、前記入力ファイルのエントリのデータに対し、第二回目の読み込みを行い、
前記ハッシュテーブル管理手段が、前記入力ファイル解析手段が第二回目に読み込んだ前記エントリに、実際の識別符号を割り当てし、この実際の識別符号で、前記エントリの識別情報をハッシュテーブルに登録し、さらに、上位概念を表す前記エントリに対して、親の識別符号を取得し、
前記データページ生成手段が、前記ソート処理にもとづいて、第二回目の読み込みで取得した前記入力ファイルのエントリのデータを、データベースの格納形式で生成する
ことを特徴とする請求項５記載のバルクロードシステム。
【請求項７】
前記入力ファイル解析手段が、前記入力ファイルのすべてのエントリのデータに対し、第一回目及び第二回目の読み込みを行う
ことを特徴とする請求項６記載のバルクロードシステム。
【請求項８】
データ処理装置が、バルクロード制御手段と、当該バルクロード制御手段により制御される、入力ファイル解析手段，ハッシュテーブル管理手段，参照リスト管理手段，及び，データページ生成手段を備えたバルクロード方法であって、
前記入力ファイル解析手段が、入力ファイルを解析して、一つのエントリごとにデータを読み込む第一回目の読み込みを行い、
前記ハッシュテーブル管理手段が、前記エントリの識別情報をハッシュテーブルで管理し、
前記参照リスト管理手段が、前記入力ファイル解析手段が読み込んだ前記エントリに対する実際の識別符号と異なる、前記入力ファイルのエントリに対する仮の識別符号を有する、仮の識別符号マップ及び／又は仮参照リストにもとづいて、参照リストを生成し、前記エントリの参照関係を前記参照リストで管理し、
前記バルクロード制御手段が、前記参照リストにもとづいて、更新リストを生成し、
前記入力ファイル解析手段が、前記入力ファイルのエントリのデータに対し、第二回目の読み込みを行い、
前記データページ生成手段が、前記更新リストにもとづいて、第二回目の読み込みで取得した前記入力ファイルのエントリのデータを、データベースの格納形式で生成する
ことを特徴とするバルクロード方法。
【請求項９】
データ処理装置が、バルクロード制御手段と、当該バルクロード制御手段により制御される、入力ファイル解析手段，ハッシュテーブル管理手段，エントリソート実行手段，及び，データページ生成手段を備えたバルクロード方法であって、
前記入力ファイル解析手段が、入力ファイルを解析して、一つのエントリごとにデータを読み込み、
前記ハッシュテーブル管理手段が、前記エントリの識別情報をハッシュテーブルで管理し、
前記エントリソート実行手段が、前記エントリをエントリリストで管理し、さらに、前記エントリを前記エントリの識別情報によりソートし、
前記データページ生成手段が、ソートした前記エントリの順番で、入力ファイルから再び読み込まれたエントリのデータを、データベースの格納形式で生成する
ことを特徴とするバルクロード方法。
【請求項１０】
コンピュータに、入力ファイルを解析して、一つのエントリごとにデータを読み込む第一回目の読み込みを行わせる処理、
前記エントリの識別情報をハッシュテーブルで管理する処理、
前記入力ファイル解析手段が読み込んだ前記エントリに対する実際の識別符号と異なる、前記入力ファイルのエントリに対する仮の識別符号を有する、仮の識別符号マップ及び／又は仮参照リストにもとづいて、参照リストを生成し、前記エントリの参照関係を前記参照リストで管理する処理、
前記参照リストにもとづいて、更新リストを生成する処理、
前記入力ファイルのエントリのデータに対し、第二回目の読み込みを行わせる処理、
前記更新リストにもとづいて、第二回目の読み込みで取得した前記入力ファイルのエントリのデータを、データベースの格納形式で生成する処理、
を実行させるためのバルクロードプログラム。
【請求項１１】
コンピュータに、入力ファイルを解析して、一つのエントリごとにデータを読み込む処理、
前記エントリの識別情報をハッシュテーブルで管理する処理、
前記エントリをエントリリストで管理し、さらに、前記エントリを前記エントリの識別情報によりソートする処理、
ソートした前記エントリの順番で、入力ファイルから再び読み込まれたエントリのデータを、データベースの格納形式で生成する処理、
を実行させるためのバルクロードプログラム。
【請求項１２】
キーボード等の入力装置，データ処理装置，情報を記憶する記憶装置，情報を格納して管理するデータベース管理装置，記憶媒体，及び，ディスプレイ装置や印刷装置等の出力装置を備えたバルクロードシステムであって、
上記請求項１０又は請求項１１に記載のバルクロードプログラムを搭載したことを特徴とするバルクロードシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、バルクロードシステム，バルクロード方法及びバルクロードプログラムに関し、特に、ディレクトリサービスにおいて入力ファイルに記述されたエントリの識別情報や属性情報を、ディレクトリサーバに一括ロードすることを可能とするバルクロードシステム，バルクロード方法及びバルクロードプログラムに関する。
【０００２】
【従来の技術】
従来、個人情報管理，ネットワーク管理，ファイル管理などのディレクトリサービスでは、人やコンピュータなどの資源情報をエントリで表現し、各エントリは、その名称などの付随する複数の情報を属性情報（アトリビュート）として保持している。
また、各エントリは、一般的に、それが属する組織や地域などにより階層構造に分類され、ディレクトリサーバを利用して一元管理される。
【０００３】
このようなディレクトリサーバを用いた技術の一例として、たとえば、特開２０００−２４２５３８号公報において、エントリの先祖関係を利用することにより、検索速度を向上させるとともに、記憶容量を削減できるディレクトリ検索システムの技術が提案されている。
このディレクトリ検索システムに使用されるディレクトリサーバは、エントリと属性のデータを記憶装置に登録する際、ディレクトリ検索の高速化のために利用するインデックス（先祖関係の表）を生成し、このインデックスをも一緒に登録する。
【０００４】
つまり、通常、ディレクトリサーバは、エントリデータ，属性データ及びインデックスデータを、ディレクトリデータとして管理しており、様々なインデックス付与方法が開発されており、このインデックスデータを利用して、ディレクトリの検索を高速で行う構成としてある。
【０００５】
また、上記ディレクトリサービスの関連する技術は、大規模なディレクトに対して、より高速かつ効率良く対応できるように、検索などの処理の高速化や、メモリ効率の向上などを目的として、様々な技術が開示されている。
【０００６】
ところで、一般的なディレクトリデータの生成方法としては、ユーティリティを利用して一つのエントリごとにディレクトリデータを生成する方法と、全エントリを任意のフォーマットに従ったファイルに記述しておいて、それを読み込んで一括してディレクトリデータをロードするツールを利用する方法とがあり、後者の方が、一括してディレクトリデータをロードできることから、大規模なディレクトリデータに対して、迅速かつ効率良く対応できる。
【０００７】
たとえば、インターネット上の標準ディレクトリサービスであるＬＤＡＰ（ＬｉｇｈｔｗｅｉｇｈｔＤｉｒｅｃｔｏｒｙＡｃｃｅｓｓＰｒｏｔｏｃｏｌ）には、ＬＤＩＦ（ＬＤＡＰＤａｔａＩｎｔｅｒｃｈａｎｇｅＦｏｒｍａｔ）と呼ばれるデータ交換のためのファイル形式がＲＦＣ２８４９で規定されており、ＬＤＡＰに準拠しているディレクトリサーバは、上記ＬＤＩＦのファイルを一括して読み込んだり書き込んだりする機能を備えているものが多い。
【０００８】
また、ＬＤＩＦのファイルを読み込んで一括してディレクトリデータをロードするには、通常、二つの方法が採用されており、一つは、ＬＤＡＰのプロトコルに従ってデータをロードする方法と、もう一つは、バックエンドにデータベースを利用している場合に、そのデータベースのアプリケーションとしてデータをロードする方法である。
ただし、どちらの方法も一つのエントリごとに、入力ファイルに記述されたデータをディレクトリサーバにロードして、ディレクトリデータを生成していた。
【０００９】
（第一従来例）
前者の方法として、たとえば、特開平１１−３４５２３４号公報において、共通フォーマットに従ったファイルから、一括してデータを読み込んで任意の処理を行うデータ処理装置の技術が提案されている。
このデータ処理装置は、ＣＳＶ（ＣｏｍｍａＳｅｐａｒａｔｅｄＶａｌｕｅ）と呼ばれる形式のファイルを利用して、候補となる社員を予め登録しておき、これら社員のデータを一括して読み込むことができる。
【００１０】
（第二従来例）
また、同様に前者の方法として、たとえば、特開平１０−３２６２８５号公報において、同じくＣＳＶファイルを用いてドキュメントを一括登録する、ドキュメント管理システムの技術が提案されている。
このドキュメント管理システムは、全ドキュメントの属性やファイル名などを格納しているデータベースシステムと、データベースシステムからのデータ読み出しによりドキュメント管理に必要なデータをＣＳＶ形式で作成する管理データファイルと、作成した管理データファイルのデータ読み込みと編集で作成されるＣＳＶ形式の一括登録ファイルと、一括登録ファイルを読み込んでドキュメントの登録を行う一括登録インタフェースと、一括登録インタフェースが実際に登録を行うオブジェクト指向データベースシステムと、登録処理でエラーが発生して登録できなかった場合に出力するエラーログファイルとで構成してある。
【００１１】
上記構成を有するドキュメント管理システムの一括登録処理は、次のように動作する。
まず、一括登録ファイルの１行目を読み込んで解析し、登録項目とフィールド順番の対応付けを行う。
続いて、一括登録ファイルの２行目以降を１行ずつ読み込み、前処理で得られた対応付けを基に登録用のデータ配列を生成する。
そして、エラーが無い場合、生成した登録用のデータ配列でデータベースに登録を行う。
また、エラーが有るときは、エラー内容とエラーレコードをログファイルにＣＳＶ形式で追加する。
【００１２】
（第三従来例）
一方、後者の方法として、データベースに格納するデータをファイルから一括してロードする方法としてバルクロード方式がある。
バルクロード方式をオブジェクト指向データベースに適用した一例として、１９９４年、プロシーディングズ・オブ・ブイ・エル・ディー・ビー・コンファレンス、１２０〜１３１頁（ＰｒｏｃｅｅｄｉｎｇｓｏｆＶＬＤＢＣｏｎｆｅｒｅｎｃｅ，１９９４，Ｐａｇｅｓ１２０−１３１）に掲載されたＢｕｌｋＬｏａｄｉｎｇｉｎｔｏａｎＯＯＤＢ：ＡＰｅｒｆｏｒｍａｎｃｅＳｔｕｄｙと題するＪａｎｅｔＬ．Ｗｉｅｎｅｒらによる論文がある。
【００１３】
また、この論文に記載されたバルクロード方式をさらに拡張した一例として、１９９５年、プロシーディングズ・オブ・ブイ・エル・ディー・ビー・コンファレンス、３０〜４１頁（ＰｒｏｃｅｅｄｉｎｇｓｏｆＶＬＤＢＣｏｎｆｅｒｅｎｃｅ，１９９５，Ｐａｇｅｓ３０−４１）に掲載されたＯＯＤＢＢｕｌｋＬｏａｄｉｎｇＲｅｖｉｓｉｔｅｄ：ＴｈｅＰａｒｔｉｔｉｏｎｅｄ−ＬｉｓｔＡｐｐｒｏａｃｈと題するＪａｎｅｔＬ．Ｗｉｅｎｅｒらによる論文がある。
【００１４】
これらの論文に記載されたバルクロード方式は、基本的に、次のような方式である。
新たに読み込まれるデータ（オブジェクト）は、あらかじめ、テキストファイルとして用意され、各オブジェクトには、一意な番号が割り当てられており、既に読み込まれたオブジェクトが記述されたテキストファイルは、全オブジェクトについて、ＩＤ（識別符号）が付与してあり、このＩＤを用いたＩＤマップで管理される。
【００１５】
つまり、既に読み込まれた各オブジェクトは、ＩＤマップで管理され、また、新たに読み込まれるオブジェクト（参照するオブジェクト）は、ＩＤマップおよび仮ＩＤを付与したＴｏＤｏリスト（逆参照があるときは、ＩｎｖＴｏＤｏリスト）で管理される。
【００１６】
また、新たに読み込まれるオブジェクトは、ＩＤマップとＴｏＤｏリスト（あるいは、ＩｎｖＴｏｄｏリスト）を利用して、更新しなければならない情報を含んだＵｐｄａｔｅリストが生成される。
そして、再び、新たに読み込まれるオブジェクトのテキストファイルを読み込んで、Ｕｐｄａｔｅリストを参照しながら、新たに読み込まれるオブジェクトを含むオブジェクトが生成される。
【００１７】
【発明が解決しようとする課題】
ところが、上記従来技術は、ディレクトリサービスで提供しているユーティリティを利用する場合（前者の方法）はもとより、入力ファイルを用いてディレクトリデータを一括ロードする場合（後者の方法）であっても、一つのエントリごとにデータをロードしなければならず、処理速度を向上させることができないといった問題があった。
【００１９】
また、データをロードした後のディレクトリサービスの検索性能がよくなるように、ディレクトリデータが効率よく配置されないといった問題があった。
【００２０】
本発明は、上記の問題を解決すべくなされたものであり、ディレクトリサービスにおけるディレクトリデータを、高速に、かつ、ディレクトリサービスの検索性能を向上させるように、クラスタリングして一括ロードできるバルクロードシステム，バルクロード方法及びバルクロードプログラムの提供を目的としている。
【００２１】
【課題を解決するための手段】
この目的を達成するため、本発明の請求項１記載のバルクロードシステムは、データ処理装置が、バルクロード制御手段と、当該バルクロード制御手段により制御される、入力ファイル解析手段，ハッシュテーブル管理手段，参照リスト管理手段，及び，データページ生成手段とを備えたバルクロードシステムであって、前記入力ファイル解析手段が、入力ファイルを解析して、一つのエントリごとにデータを読み込む第一回目の読み込みを行い、前記ハッシュテーブル管理手段が、前記エントリの識別情報をハッシュテーブルで管理し、前記参照リスト管理手段が、前記入力ファイル解析手段が読み込んだ前記エントリに対する実際の識別符号と異なる、前記入力ファイルのエントリに対する仮の識別符号を有する、仮の識別符号マップ及び／又は仮参照リストにもとづいて、参照リストを生成し、前記エントリの参照関係を前記参照リストで管理し、前記バルクロード制御手段が、前記参照リストにもとづいて、更新リストを生成し、前記入力ファイル解析手段が、前記入力ファイルのエントリのデータに対し、第二回目の読み込みを行い、前記データページ生成手段が、前記更新リストにもとづいて、第二回目の読み込みで取得した前記入力ファイルのエントリのデータを、データベースの格納形式で生成する構成としてある。
【００２２】
このようにすると、参照リスト管理手段が、エントリの参照関係を参照リストで管理し、すなわち、エントリの参照関係を予め取得するので、入力ファイルに含まれるエントリのデータを効率良くかつ高速でロードできる。また、エントリの参照関係を、一つのエントリを読み込むごとに、仮の識別符号マップ及び／又は仮参照リストに記憶させることができる。さらに、入力ファイルが複数のエントリからなる場合であっても、複数のエントリのデータを一括ロードできる。
【００２３】
また、請求項２記載の発明は、上記請求項１記載のバルクロードシステムにおいて、前記参照リストが、前記入力ファイル解析手段が読み込んだ前記エントリに対する実際の識別符号と、上位概念を表す前記エントリに対する親の識別符号と、下位概念を表す前記エントリに対する子の識別符号とを有する構成としてある。
【００２４】
このようにすると、エントリの参照関係を、エントリのデータにもとづいた親子関係で表すことができ、参照リストを容易に利用することができる。
【００２５】
また、請求項３記載の発明は、上記請求項２記載のバルクロードシステムにおいて、前記参照リストが、同位レベルの前記エントリに対して、前記エントリどうしの兄弟関係を示す、次の識別符号を有する構成としてある。
【００２６】
このようにすると、エントリの参照関係を、エントリのデータにもとづいた兄弟関係で表すことができ、参照リストを容易に利用することができる。
【００３１】
また、請求項４記載の発明は、上記請求項１〜３のいずれか一項に記載のバルクロードシステムにおいて、前記入力ファイル解析手段が、前記入力ファイルのすべてのエントリのデータに対し、第一回目及び第二回目の読み込みを行う構成としてある。
【００３２】
このようにすると、入力ファイルが複数のエントリからなる場合であっても、入力ファイルのすべてのエントリのデータを一括ロードできる。
【００３３】
また、本発明の請求項５記載のバルクロードシステムは、データ処理装置が、バルクロード制御手段と、当該バルクロード制御手段により制御される、入力ファイル解析手段，ハッシュテーブル管理手段，エントリソート実行手段，及び，データページ生成手段を備えたバルクロードシステムであって、前記入力ファイル解析手段が、入力ファイルを解析して、一つのエントリごとにデータを読み込み、前記ハッシュテーブル管理手段が、前記エントリの識別情報をハッシュテーブルで管理し、前記エントリソート実行手段が、前記エントリをエントリリストで管理し、前記データページ生成手段が、前記エントリのデータをデータベースの格納形式で生成する構成としてある。
【００３４】
このようにすると、エントリソート実行手段が、エントリをエントリリストで管理し、すなわち、エントリのデータ内容を予め取得するので、入力ファイルに含まれるエントリのデータを効率良くかつ高速でロードできる。
【００３５】
また、請求項６記載の発明は、上記請求項５記載のバルクロードシステムにおいて、前記入力ファイル解析手段が、前記入力ファイルのエントリのデータに対し、第一回目の読み込みを行い、前記エントリソート実行手段が、前記エントリリストにもとづいて、ソート処理を行い、前記入力ファイル解析手段が、前記入力ファイルのエントリのデータに対し、第二回目の読み込みを行い、前記ハッシュテーブル管理手段が、前記入力ファイル解析手段が第二回目に読み込んだ前記エントリに、実際の識別符号を割り当てし、この実際の識別符号で、前記エントリの識別情報をハッシュテーブルに登録し、さらに、上位概念を表す前記エントリに対して、親の識別符号を取得し、前記データページ生成手段が、前記ソート処理にもとづいて、第二回目の読み込みで取得した前記入力ファイルのエントリのデータを、データベースの格納形式で生成する構成としてある。
【００３６】
このようにすると、入力ファイルが複数のエントリからなる場合であっても、複数のエントリのデータを、検索性能が向上するようにクラスタリングして一括ロードできる。
【００３７】
また、請求項７記載の発明は、上記請求項６記載のバルクロードシステムにおいて、前記入力ファイル解析手段が、前記入力ファイルのすべてのエントリのデータに対し、第一回目及び第二回目の読み込みを行う構成としてある。
【００３８】
このようにすると、入力ファイルが複数のエントリからなる場合であっても、入力ファイルのすべてのエントリのデータを一括ロードできる。
【００３９】
また、本発明の請求項８記載のバルクロード方法は、データ処理装置が、バルクロード制御手段と、当該バルクロード制御手段により制御される、入力ファイル解析手段，ハッシュテーブル管理手段，参照リスト管理手段，及び，データページ生成手段を備えたバルクロード方法であって、前記入力ファイル解析手段が、入力ファイルを解析して、一つのエントリごとにデータを読み込む第一回目の読み込みを行い、前記ハッシュテーブル管理手段が、前記エントリの識別情報をハッシュテーブルで管理し、前記参照リスト管理手段が、前記入力ファイル解析手段が読み込んだ前記エントリに対する実際の識別符号と異なる、前記入力ファイルのエントリに対する仮の識別符号を有する、仮の識別符号マップ及び／又は仮参照リストにもとづいて、参照リストを生成し、前記エントリの参照関係を前記参照リストで管理し、前記バルクロード制御手段が、前記参照リストにもとづいて、更新リストを生成し、前記入力ファイル解析手段が、前記入力ファイルのエントリのデータに対し、第二回目の読み込みを行い、前記データページ生成手段が、前記更新リストにもとづいて、第二回目の読み込みで取得した前記入力ファイルのエントリのデータを、データベースの格納形式で生成する方法としてある。
【００４０】
このように、本発明は、バルクロード方法の発明としても有効であり、入力ファイルが複数のエントリからなる場合であっても、複数のエントリのデータを一括ロードでき、エントリのデータを効率良くかつ高速でロードできる。
【００４１】
また、本発明の請求項９記載のバルクロード方法は、データ処理装置が、バルクロード制御手段と、当該バルクロード制御手段により制御される、入力ファイル解析手段，ハッシュテーブル管理手段，エントリソート実行手段，及び，データページ生成手段を備えたバルクロード方法であって、前記入力ファイル解析手段が、入力ファイルを解析して、一つのエントリごとにデータを読み込み、前記ハッシュテーブル管理手段が、前記エントリの識別情報をハッシュテーブルで管理し、前記エントリソート実行手段が、前記エントリをエントリリストで管理し、さらに、前記エントリを前記エントリの識別情報によりソートし、前記データページ生成手段が、ソートした前記エントリの順番で、入力ファイルから再び読み込まれたエントリのデータを、データベースの格納形式で生成する方法としてある。
【００４２】
このように、本発明は、バルクロード方法の発明としても有効であり、入力ファイルが複数のエントリからなる場合であっても、複数のエントリのデータを、検索性能が向上するようにクラスタリングして一括ロードできる。
【００４３】
また、本発明の請求項１０記載のバルクロードプログラムは、コンピュータに、入力ファイルを解析して、一つのエントリごとにデータを読み込む第一回目の読み込みを行わせる処理、前記エントリの識別情報をハッシュテーブルで管理する処理、前記入力ファイル解析手段が読み込んだ前記エントリに対する実際の識別符号と異なる、前記入力ファイルのエントリに対する仮の識別符号を有する、仮の識別符号マップ及び／又は仮参照リストにもとづいて、参照リストを生成し、前記エントリの参照関係を前記参照リストで管理する処理、前記参照リストにもとづいて、更新リストを生成する処理、前記入力ファイルのエントリのデータに対し、第二回目の読み込みを行わせる処理、前記更新リストにもとづいて、第二回目の読み込みで取得した前記入力ファイルのエントリのデータを、データベースの格納形式で生成する処理、を実行させる構成としてある。
【００４４】
このように、本発明は、バルクロードプログラムの発明としても有効であり、入力ファイルが複数のエントリからなる場合であっても、複数のエントリのデータを一括ロードでき、エントリのデータを効率良くかつ高速でロードできる。
【００４５】
また、本発明の請求項１１記載のバルクロードプログラムは、コンピュータに、入力ファイルを解析して、一つのエントリごとにデータを読み込む処理、前記エントリの識別情報をハッシュテーブルで管理する処理、前記エントリをエントリリストで管理し、さらに、前記エントリを前記エントリの識別情報によりソートする処理、ソートした前記エントリの順番で、入力ファイルから再び読み込まれたエントリのデータを、データベースの格納形式で生成する処理、を実行させる構成としてある。
【００４６】
このように、本発明は、バルクロードプログラムの発明としても有効であり、入力ファイルが複数のエントリからなる場合であっても、複数のエントリのデータを、検索性能が向上するようにクラスタリングして一括ロードできる。
【００４７】
また、本発明の請求項１２記載のバルクロードシステムは、キーボード等の入力装置，データ処理装置，情報を記憶する記憶装置，情報を格納して管理するデータベース管理装置，記憶媒体，及び，ディスプレイ装置や印刷装置等の出力装置を備えたバルクロードシステムであって、上記請求項１０又は請求項１１に記載のバルクロードプログラムを搭載した構成としてある。
【００４８】
このように、バルクロードプログラムを搭載したバルクロードシステムとすることによって、入力ファイルが複数のエントリからなる場合であっても、複数のエントリのデータを一括ロードでき、又は、複数のエントリのデータを、検索性能が向上するようにクラスタリングして一括ロードできる。
【００４９】
【発明の実施の形態】
以下、本発明の実施形態について、図面を参照して説明する。
まず、本発明のバルクロードシステムの第一実施形態について、図面を参照して説明する。
【００５０】
「バルクロードシステムの第一実施形態」
図１は、本発明に係るバルクロードシステムの第一実施形態の基本構成を説明するための概略ブロック図を示している。
同図において、バルクロードシステムは、キーボード等の入力装置１，プログラム制御により動作するデータ処理装置２，情報を記憶する記憶装置３，情報を格納して管理するデータベース管理装置４，及び，ディスプレイ装置や印刷装置等の出力装置５とで構成してある。
【００５１】
記憶装置３は、入力ファイル記憶部３１と、ハッシュテーブル記憶部３２と、仮ＩＤマップ記憶部３３と、参照リスト記憶部３４とを備えた構成としてある。
【００５２】
上記入力ファイル記憶部３１は、入力となるＬＤＩＦファイルなどのファイルデータを記憶する。
また、ハッシュテーブル記憶部３２は、データ格納技法の一つであるハッシュ法で用いられるテーブルであり、文字列や数字などをキーワードとして、任意の情報を格納したハッシュテーブルを記憶する。
【００５３】
また、仮の識別符号マップ（適宜、仮ＩＤマップ２３０と略称する。図６参照。）を記憶する、仮ＩＤ記憶部３３は、エントリに付与された、仮の識別符号（適宜、仮ＩＤと略称する。）と実際の識別符号（適宜、実ＩＤと略称する。）の関係を記憶する。
なお、仮の識別符号は、入力ファイルのエントリに対する識別符号であり、かつ、実際の識別符号と番地の衝突などが発生しないように設定される、実際の識別符号と異なる識別符号をいい、たとえば、図６に示すように、実ＩＤが５，６のとき、仮ＩＤとして、−２，−３が設定される。
また、仮の識別符号マップとは、仮の識別符号と該仮の識別符号に対応する実際の識別符号とからなるマップをいう。
このように、実ＩＤの他に、仮ＩＤを用いることにより、ハッシュテーブルにおいて、番地の衝突などが発生しないように、ハッシュ法を適切に利用することができる。
【００５４】
さらにまた、参照リスト記憶部３４は、参照リスト２２０（図６参照）、すなわち、エントリの親子関係を、各エントリに付与した実ＩＤや仮ＩＤを利用して表したリストを記憶する。
【００５５】
データベース管理装置４は、データベースに格納される情報をページ形式で保持するデータページ記憶部４１を備えている。
このように、情報をページ形式で保持することにより、情報を出力する際に、あらためて、情報を出力形式にあわせて、変換する必要がないので、結果的に、処理速度を速めることができる。
【００５６】
データ処理装置２は、バルクロード制御手段２１と、バルクロード制御手段２１により制御される、入力ファイル解析手段２２，ハッシュテーブル管理手段２３，参照リスト管理手段２４，及び，データページ生成手段２５とを備えた構成としてある。
【００５７】
バルクロード制御手段２１は、入力装置１から、利用者からのＬＤＩＦファイルを利用したエントリロードの要求を受けると、その要求にしたがって入力ファイル解析手段２２と、ハッシュテーブル管理手段２３と、参照リスト管理手段２４と、データページ生成手段２５とを制御して、バルクロード処理を行う。
また、バルクロード制御手段２１は、バルクロード処理が終了すると、終了した旨を出力装置４に表示する。
【００５８】
ここで、入力ファイル解析手段２２は、バルクロード制御手段２１からのエントリロードの指示により、入力ファイル記憶部３１からＬＤＩＦファイルを読み込んで解析し、ＬＤＩＦファイルに含まれるエントリの情報を取得する。
【００５９】
ハッシュテーブル管理手段２３は、同様に、バルクロード制御手段２１からの指示により、ハッシュテーブル記憶部３２を利用して必要なハッシュテーブルを作成し、キーワードの値からハッシュ値を算出して、上記ＬＤＩＦファイルに含まれるエントリの識別情報を管理する。
【００６０】
また、参照リスト管理手段２４は、仮ＩＤマップ記憶部３３および参照リスト記憶部３４を利用して、エントリの親子関係を表す参照リスト２２０を作成し、バルクロード制御手段２１からの指示により、実ＩＤまたは仮ＩＤの付与された各エントリを管理する。
【００６１】
ここで、参照リスト２２０が、入力ファイル解析手段２２が読み込んだエントリに対する実ＩＤと、上位概念を表すエントリに対する親の識別符号（適宜、親ＩＤと略称する。）と、下位概念を表すエントリに対する子の識別符号（適宜、子ＩＤと略称する。）とを有する構成とするとよく、このようにすると、エントリの参照関係を、エントリのデータにもとづいた親子関係（上位概念および下位概念の組み合わせ）で表すことができ、参照リストを容易に利用することができる。
【００６２】
また、参照リスト２２０が、同位レベルのエントリに対して、エントリどうしの兄弟関係を示す、次の識別符号（適宜、次ＩＤと略称する。）を有する構成とするとよく、このようにすると、エントリの参照関係を、エントリのデータにもとづいた兄弟関係で表すことができ、参照リストを容易に利用することができる。
【００６３】
また、参照リスト２２０が、入力ファイルのエントリに対する仮ＩＤを有する、仮ＩＤマップ２３０及び／又は仮参照リスト２１０にもとづいて生成される構成とするとよく、このようにすると、エントリの参照関係を、一つのエントリを読み込むごとに、仮ＩＤマップ２３０及び／又は仮参照リスト２１０に記憶させることができ、システムの動作を単純化することができる。
なお、仮参照リスト２１０は、図６に示すように、仮ＩＤ、親ＩＤ、子ＩＤ及び次ＩＤからなるリストであり、親子関係などを仮参照リストから参照リストに登録し直すための、参照リスト２２０を捕捉する（あるいは、参照リストを構成する一部ともいえる）リストである。
【００６４】
また、データページ生成手段２５は、バルクロード制御手段２１からの指示により、参照リスト記憶部３４を利用して、各エントリのデータをデータベースのページ形式に構成し、データページ記憶部４１に格納する。
【００６５】
次に、上記構成のバルクロードシステムの動作について、図面を参照して説明する。
図２は、第一実施形態にかかるバルクロードシステムの動作を説明するための、概略フローチャート図を示している。
【００６６】
図２において、先ず、バルクロード制御手段２１は、入力装置１から入力されたＬＤＩＦファイルのファイル名を入力し、入力ファイル解析手段２２により、入力ファイル記憶部３１から該当するファイルを読み込んで、一つのエントリ（適宜、１エントリと略称する。）のデータを取得する（ステップＡ１）。
つまり、入力ファイル解析手段２２が、入力ファイルから、第一回目のエントリのデータを読み込む。
【００６７】
続いて、ハッシュテーブル管理手段２３が、ハッシュテーブル記憶部３２に、上記１エントリの識別情報と実ＩＤからなる、ハッシュテーブルを登録し、かつ、参照リスト管理手段２４が、仮ＩＤマップ記憶部３３および参照リスト記憶部３４に、上記１エントリの参照関係（親子関係および兄弟関係）を表す参照リストを登録する（ステップＡ２）。
【００６８】
そして、本実施形態におけるバルクロードシステムは、この１エントリが、入力ファイルの最終エントリかどうかを調べて（ステップＡ３）、もしそうでなければステップＡ１に戻り、次のエントリに対して、同様の処理を実施する。
【００６９】
また、ステップＡ３で、最終エントリまで処理が終了したら、参照リスト管理手段２４は、仮ＩＤマップ記憶部３３と参照リスト記憶部３４を利用して、更新リスト（図７参照）を生成する（ステップＡ４）。
更新リストは、実ＩＤ、親ＩＤ、子ＩＤ及び次ＩＤからなるリストであり、この更新リストにもとづいて、データページ生成手段２５が、第二回目の読み込みで取得した入力ファイルのエントリのデータを、データベースの格納形式で生成する。
【００７０】
続いて、入力ファイル解析手段２２は、入力ファイル記憶部３１から該当する入力ファイルを再び読み込んで、１エントリのデータを取得する（ステップＡ５）。つまり、入力ファイル解析手段２２が、入力ファイルから、第二回目のエントリのデータを読み込む。
【００７１】
次に、データページ生成手段２５は、取得した１エントリからエントリデータを生成し（ステップＡ６）、参照リスト記憶部３４の更新リストを参照してエントリデータに親エントリ（親の関係となるエントリ）を登録し（ステップＡ７）、また、子エントリ（子の関係となるエントリ）の集合を生成してエントリデータ（エントリデータの集合体）に登録する（ステップＡ８）。
つまり、データページ生成手段２５が、更新リストにもとづいて、第二回目の読み込みで取得した入力ファイルのエントリのデータを、データベースの格納形式で生成する。
【００７２】
このエントリデータは、ページ形式に構成してあり、ページの空きスペースがなくなればデータページ記憶部４１に格納する、すなわち、本実施形態におけるバルクロードシステムによれば、データ処理装置２によってまとめられた、エントリデータの集合体を一括でロードすることができる。
【００７３】
次に、このエントリが入力ファイルの最終エントリかどうかを調べて（ステップＡ９）、もしそうでなければステップＡ５に戻り、次のエントリに対して、同様の処理を実施する。
そして、ステップＡ９で、最終エントリまで処理が終了したら、ページ形式に構成したエントリデータを、データページ記憶部４１に格納し、処理終了を通知するために出力装置５に表示する。
【００７４】
このように、参照リスト管理手段２４が、エントリの参照関係を参照リスト２２０で管理し、すなわち、エントリの参照関係を予め取得するので、入力ファイルに含まれるエントリのデータを、効率良くかつ高速でロードできる。
また、更新リストを利用することにより、入力ファイルが複数のエントリからなる場合であっても、複数のエントリのデータを一括ロードできる。
【００７５】
次に、ハッシュテーブルおよび参照リストの登録の動作を、図面を参照して説明する。
図３は、第一実施形態にかかるバルクロードシステムにおける、ハッシュテーブルおよび参照リストの登録の動作を説明するための、概略フローチャート図を示している。
図３において、エントリに実ＩＤを割り当て（ステップＢ１）、自エントリ（当該実ＩＤを割り当てたエントリ）がハッシュテーブルに登録済かどうかを調べて（ステップＢ２）、もし登録済でなければ、続いて、親エントリ（自エントリの上位概念のエントリ）がハッシュテーブルに登録済かどうかを調べる（ステップＢ６）。
【００７６】
ここで、もし、登録済でなければ親エントリに、仮ＩＤを割り当て（ステップＢ１０）、親子関係を仮参照リストに登録し（ステップＢ１１）、ハッシュテーブルに識別情報と仮ＩＤを登録する（ステップＢ１２）。
そして、再び、ステップＢ６にもどる。
【００７７】
次に、ステップＢ６において、親エントリが仮ＩＤで登録されたので、ハッシュテーブルから親エントリのＩＤを取得し（ステップＢ７）、参照リストに親子関係を登録し（ステップＢ８）、ハッシュテーブルに識別情報と実ＩＤを登録する（ステップＢ９）。
【００７８】
なお、ステップＢ６で、親エントリが登録済であれば、ステップＢ１０〜Ｂ１２の処理が省かれる。
また、ステップＢ２で、自エントリが登録済であれば、仮ＩＤと実ＩＤを仮ＩＤマップに登録し（ステップＢ３）、親子関係を仮参照リストから参照リストに登録し直し（ステップＢ４）、ハッシュテーブルに識別情報と実ＩＤを再登録する（ステップＢ５）。
【００７９】
このように、バルクロード制御手段２は、ハッシュテーブル管理手段２３や参照リスト管理手段２４が、実ＩＤの他に、仮ＩＤを用い、さらに、仮ＩＤマップ，仮参照リスト，参照リスト，及び，更新リストを用いることにより、ハッシュテーブルにおいて、番地の衝突などが発生しないように、ハッシュ法を適切に利用することができる。
【００８０】
上述したように、バルクロードシステムの第一実施形態によれば、入力ファイルのエントリの読み込みを、図２に示すように、ステップＡ１とステップＡ５において２回行い、かつ、ステップＡ１の読み込みにおいて、図３に示すように、エントリの識別情報とエントリ間の参照関係を取得しておくことで、ステップＡ６のエントリデータを生成するときに、他のエントリデータを参照する必要がなくなる。
このため、一つずつエントリのデータをロードしなくて済み、すなわち、複数のエントリのデータを一括してロードすることが可能なバルクロードシステムを実現することができる。
【００８１】
また、入力ファイル解析手段２２が、入力ファイルのすべてのエントリのデータに対し、第一回目及び第二回目の読み込みを行う構成としてもよく、このようにすると、入力ファイルが複数のエントリからなる場合であっても、入力ファイルのすべてのエントリのデータを一括ロードできる。
【００８２】
＜実施例＞
次に、具体的な実施例を用いて第一実施形態の動作を説明する。
図４は、ＬＤＩＦファイルの一例を示す、概略図を示している。
同図において、「ｃ＝ＪＰ」の識別子を持つエントリがディレクトリのルート（最上位）であり、本実施例は、このエントリの配下に、下位のエントリを追加した実施例である。
【００８３】
最初の行の「ｖｅｒｓｉｏｎ：１」というのは、ＬＤＩＦの規格の版を表している。
次の行から空行で区切られた範囲を、「１エントリのデータ」と定義しており、このＬＤＩＦファイルには、「１エントリのデータ」が１０個含まれている（３０１〜３１０）。
また、各「１エントリのデータ」は、「ｄｎ：」で始まる行が識別情報を示し、その他の行が属性値（属性データ）を示している。
【００８４】
このＬＤＩＦファイルによりディレクトリをロードすると図５のようなディレクトリ階層が構築される。
ここで、エントリ１００は、ディレクトリ階層のルートとなり、予めディレクトリサーバに登録してある。これに対し、エントリ１０１〜１１０は、新規にロードされるエントリである。
【００８５】
各エントリ１０１〜１１０に記述してある名前は、相対識別名（ＲＤＮ：ＲｅｌａｔｉｖｅＤｉｓｔｉｎｇｕｉｓｈｅｄＮａｍｅ）であり、ルートまで遡る全てのエントリの相対識別名をカンマ（，）でつなげれば、そのエントリの識別名となる。
【００８６】
上記ＬＤＩＦファイルを読み込んで、エントリ間の親子関係を取得すると、たとえば、図６のような仮参照リスト２１０と参照リスト２２０、仮ＩＤマップ２３０が得られる。
【００８７】
図６において、仮ＩＤマップ２３０は、ルートとなるエントリ１００の実ＩＤを１とし、エントリに実ＩＤを付与するときは、１から順に増やしていき、また、エントリに仮ＩＤを付与するときは、−１から順に減らしていった。
なお、本実施例では、仮ＩＤとして、−１，−２，−３を使用し、それぞれ実ＩＤの１（図４の３０１），５（図４の３０５），６（図４の３０６）に対応している。
【００８８】
仮参照リスト２１０は、仮ＩＤ，親ＩＤ，子ＩＤ及び次ＩＤからなり、負の整数である仮ＩＤを除いて、正の整数であるＩＤ（１〜１０）は、上記「１エントリのデータ」（図４の３０１〜３１０）に対応している。
【００８９】
また、仮参照リスト２１０と参照リスト２２０は、実ＩＤに対して、子ＩＤと次ＩＤを各一つ有する構成としてあり、このようにすると、子ＩＤが二以上ある場合であっても、次ＩＤで兄弟のエントリをつなげることができるので、子ＩＤのエントリから次ＩＤを順々にたどれば、全ての子エントリを取得することができる。
【００９０】
仮ＩＤマップ２３０は、図６に示すような形式で、仮ＩＤマップ記憶部３３に格納され、また、仮参照リスト２１０と参照リスト２２０は、同様に図６に示すような形式で、参照リスト記憶部３４に格納される。
【００９１】
参照リスト管理手段２４は、仮ＩＤマップ記憶部３３と参照リスト記憶部３４に格納されているこれらの情報を利用して、上記ステップＡ４において、図７に示す更新リストを生成する。
この更新リストは、図６の参照リスト２２０をベースにして、仮ＩＤマップ２３０を用いて、仮ＩＤを実ＩＤに変更するだけで生成することができる。
【００９２】
次に、更新リストの読み方について説明する。
実ＩＤ１（図４の「１エントリのデータ」３０１）は、親ＩＤがなく（ルートのエントリ）、子ＩＤが５（図４の「１エントリのデータ」３０５）である。
また、子ＩＤにおいて５と表示された実ＩＤ５（図４の「１エントリのデータ」３０５）は、親ＩＤが１（図４の「１エントリのデータ」３０１）で、子ＩＤが２（図４の「１エントリのデータ」３０２）で、次ＩＤが６（図４の「１エントリのデータ」３０６）である。
【００９３】
また、次ＩＤにおいて６と表示された実ＩＤ６は、親ＩＤが１で、子ＩＤが４（図４の「１エントリのデータ」３０４）で、次ＩＤが７（図４の「１エントリのデータ」３０７）である。
また、次ＩＤにおいて７と表示された実ＩＤ７は、親ＩＤが１で、子ＩＤが９（図４の「１エントリのデータ」３０９）で、次ＩＤがない。
【００９４】
また、子ＩＤにおいて２と表示された実ＩＤ２は、親ＩＤが５で、子ＩＤがなく、次ＩＤが３（図４の「１エントリのデータ」３０３）である。
また、次ＩＤにおいて３と表示された実ＩＤ３は、親ＩＤが５で、子ＩＤおよび次ＩＤがない。
【００９５】
なお、更新リストは、他の実ＩＤ４，８，９，１０についても、同様の読み方で親子関係を表しており、任意の実ＩＤに対する親ＩＤ、子ＩＤ、次ＩＤを容易にかつ簡便に表すことができる。
【００９６】
また、データページ生成手段２５は、参照リスト記憶部３４内に生成された更新リストを参照し、ステップＡ７で親エントリの登録を行い、ステップＡ８で子エントリ集合を生成して、エントリデータに登録する。
【００９７】
このように、本発明のバルクロードシステムによれば、更新リストを参照して、子エントリの集合を生成して、エントリデータに登録するので、入力ファイルに含まれる複数のエントリを一括でロードすることができ、読み込み処理の高速化を図ることができる。
【００９８】
「バルクロードシステムの第二実施形態」
次に、本発明のバルクロードシステムの第二実施形態について図面を参照して詳細に説明する。
図８は、本発明に係るバルクロードシステムの第二実施形態の基本構成を説明するための概略ブロック図を示している。
同図において、本発明の第二実施形態のバルクロードシステムは、データ処理装置６が、バルクロード制御手段２１と、入力ファイル解析手段２２と、ハッシュテーブル管理手段２３と、エントリソート実行手段２６と、データページ生成手段２５とを備え、記憶装置７が、入力ファイル記憶部３１と、ハッシュテーブル記憶部３２と、エントリソート記憶部３５とを備えた構成としてある。
【００９９】
エントリソート記憶部３５は、図１０に示すように、各エントリの識別名とＬＤＩＦファイル内の行数をエントリリストとして記憶する。
また、エントリソート実行手段２６は、バルクロード制御手段２１からの指示により、各エントリの識別名と行数をエントリソート記憶部３５のエントリリストに登録し、それらのエントリを、識別名をキーとしてソートする。
その他の構成は、第一実施形態におけるバルクロードシステムと同様としてある。
【０１００】
次に、上記構成のバルクロードシステムの動作について、図面を参照して説明する。
図９は、第二実施形態にかかるバルクロードシステムの動作を説明するための、概略フローチャート図を示している。
また、図１０は、ＬＤＩＦファイルを読み込んで構築した、エントリリストを説明するための表を示している。
【０１０１】
図９において、まず、バルクロード制御手段２１が、入力装置１から与えられたＬＤＩＦファイルのファイル名を入力し、入力ファイル解析手段２２により、入力ファイル記憶部３１から該当するファイルを読み込んで、１エントリのデータを取得（ステップＡ１）する。
続いて、バルクロード制御手段２１が、エントリソート実行手段２６により、エントリソート記憶部３５にエントリの識別名とファイル上の行数を登録する（ステップＣ１）。
【０１０２】
次に、このエントリが入力ファイルの最終エントリかどうかを調べて（ステップＡ３）、最終エントリでないときは、ステップＡ１に戻る。
そして、ステップＡ３で、最終エントリまで処理が終了したら、エントリソート実行手段２６により、エントリソート記憶部３５に登録されたエントリを識別名でソートする（ステップＣ２）。
【０１０３】
エントリソート実行手段２６は、エントリソート記憶部３５内のソートされたエントリリストから１エントリを取得し（ステップＣ３）、そのエントリに実ＩＤを割り当て（ステップＢ１）、続いて、ハッシュテーブル管理手段２３は、ハッシュテーブル記憶部３２のハッシュテーブルに識別子と実ＩＤを登録し（ステップＢ９）、ハッシュテーブルから親エントリのＩＤを取得する（ステップＢ７）。
【０１０４】
そして、データページ生成手段２５は、エントリデータを生成し（ステップＡ６）、生成したエントリデータに親エントリを登録し（ステップＡ７）、親のエントリデータに子エントリとして登録する（ステップＣ４）。
【０１０５】
次に、このエントリがエントリリストの最終エントリかどうかを調べて（ステップＡ９）、最終エントリでなければステップＣ３に戻る。
ステップＡ９で、最終エントリまで処理が終了したら、処理終了を通知するために、出力装置５に表示する。
【０１０６】
このように、本実施形態におけるバルクロードシステムは、エントリソート実行手段が、エントリをエントリリストで管理し、すなわち、入力ファイルに記述された全エントリを識別名でソートし、ディレクトリ階層上で近傍にあるエントリをまとめて登録することができるので、登録済のエントリを再び読み込むといった無駄な処理を行う可能性を低減することができる。
また、エントリのデータ内容を予め取得するので、入力ファイルが複数のエントリからなる場合であっても、複数のエントリのデータを、検索性能が向上するようにクラスタリングして一括ロードできる。
【０１０７】
＜実施例＞
次に、具体的な実施例を用いて第二実施形態の動作を説明する。
第一実施形態の実施例と同様に、図４に示すＬＤＩＦファイルを入力ファイルとし、図５のようなディレクトリ階層が構築されるとする。
【０１０８】
このＬＤＩＦファイルを読み込んで、各エントリについて識別名とＬＤＩＦファイルでの行数をエントリリストに登録し、識別名でソートした結果のエントリリストは図１０のようになる。
【０１０９】
エントリソート実行手段２６は、ステップＣ１でエントリソート記憶部３５内にあるエントリリストにエントリを登録しておき、ステップＣ２で登録したエントリを識別名でソートする。
このソートを行うにあたり、エントリソート実行手段２６は、ディレクトリ階層を考慮して、エントリデータのクラスタリングを行うことができるので、ディレクトリサービスの検索性能を向上させることができる。
【０１１０】
また、ステップＣ３ではエントリリストから一つのエントリを取り出し、そのエントリの行数を利用して入力ファイル解析手段２２により入力ファイル記憶部３１から該当するエントリの情報を読み込むことができる。
【０１１１】
このようにすると、本実施例におけるバルクロードシステムは、入力ファイルに記述された全エントリを識別名でソートし、ディレクトリ階層上で近傍にあるエントリをまとめて登録することで、入力ファイルが複数のエントリからなる場合であっても、複数のエントリのデータを、検索性能が向上するようにクラスタリングして一括ロードできる。
【０１１２】
「バルクロード方法の第一実施形態」
また、本発明は、バルクロード方法としても有効であり、上述した図２，３に示す概略フローチャート図を用いて、第一実施形態にかかるバルクロード方法を説明する。
本実施形態におけるバルクロード方法は、データ処理装置が、バルクロード制御手段と、バルクロード制御手段により制御される、入力ファイル解析手段，ハッシュテーブル管理手段，参照リスト管理手段，及び，データページ生成手段を備えたバルクロード方法であって、入力ファイル解析手段が、入力ファイルを解析して、一つのエントリごとにデータを読み込む第一回目の読み込みを行い、すなわち、１エントリのデータを取得する（ステップＡ１）。
【０１１３】
次に、ハッシュテーブル管理手段が、エントリの識別情報をハッシュテーブルで管理し、参照リスト管理手段が、図３に示すように、入力ファイル解析手段が読み込んだエントリに対する実際の識別符号と異なる、入力ファイルのエントリに対する仮の識別符号を有する、仮の識別符号マップ及び／又は仮参照リストにもとづいて、参照リストを生成し、エントリの参照関係を参照リストで管理する。つまり、ハッシュテーブルを登録し、かつ、参照リストを登録する（ステップＡ２）。
【０１１４】
次に、バルクロード制御手段が、参照リストにもとづいて、更新リストを生成し（ステップＡ４）、続いて、入力ファイル解析手段が、前記入力ファイルのエントリのデータに対し、第二回目の読み込みを行い（ステップＡ５）、さらに、データページ生成手段が、参照リストから生成された更新リストにもとづいて、入力ファイルから再び読み込まれたエントリのデータを、データベースの格納形式で生成する（ステップＡ６，Ａ７及びＡ８）方法としてある。
つまり、データページ生成手段が、更新リストにもとづいて、第二回目の読み込みで取得した入力ファイルのエントリのデータを、データベースの格納形式で生成する。
【０１１５】
このように、本発明は、バルクロード方法の発明としても有効であり、入力ファイルが複数のエントリからなる場合であっても、複数のエントリのデータを一括ロードでき、エントリのデータを効率良くかつ高速でロードできる。
【０１１６】
「バルクロード方法の第二実施形態」
また、本発明は、バルクロード方法としても有効であり、上述した図９に示す概略フローチャート図を用いて、第二実施形態にかかるバルクロード方法を説明する。
本実施形態におけるバルクロード方法は、データ処理装置が、バルクロード制御手段と、バルクロード制御手段により制御される、入力ファイル解析手段，ハッシュテーブル管理手段，エントリソート実行手段，及び，データページ生成手段を備えたバルクロード方法であって、入力ファイル解析手段が、入力ファイルを解析して、一つのエントリごとにデータを読み込み、すなわち、１エントリのデータを取得する（ステップＡ１）。
【０１１７】
次に、ハッシュテーブル管理手段が、エントリの識別情報をハッシュテーブルで管理し、エントリソート実行手段が、エントリをエントリリストで管理する。つまり、各エントリの識別情報を、エントリリストに登録する（ステップＣ１）。
そして、各エントリを、エントリの識別情報によりソート処理する（ステップＣ２）。
【０１１８】
次に、データページ生成手段が、ソートしたエントリの順番で、入力ファイルから再び読み込まれたエントリのデータを、データベースの格納形式で生成する（ステップＣ３，Ａ６，Ａ７及びＣ４）方法としてある。
つまり、データページ生成手段が、エントリリストにもとづいて、第二回目の読み込みで取得した入力ファイルのエントリのデータを、データベースの格納形式で生成する。
【０１１９】
このように、本発明は、バルクロード方法の発明としても有効であり、入力ファイルが複数のエントリからなる場合であっても、複数のエントリのデータを、検索性能が向上するようにクラスタリングして一括ロードできる。
【０１２０】
「バルクロードプログラムの第一実施形態」
また、本発明は、バルクロードプログラムとしても有効であり、上述した図２に示す概略フローチャート図を用いて、第一実施形態にかかるバルクロードプログラムを説明する。
本実施形態におけるバルクロードプログラムは、コンピュータに、先ず、入力ファイルを解析して、一つのエントリごとにデータを読み込む第一回目の読み込みを行わせる処理（ステップＡ１）を実行させる。
【０１２１】
次に、バルクロードプログラムは、コンピュータに、エントリの識別情報をハッシュテーブルで管理する処理、及び、エントリの参照関係を参照リストで管理する処理、すなわち、入力ファイル解析手段が読み込んだエントリに対する実際の識別符号と異なる、入力ファイルのエントリに対する仮の識別符号を有する、仮の識別符号マップ及び／又は仮参照リストにもとづいて、参照リストを生成し、エントリの参照関係を参照リストで管理する処理（ステップＡ２）を実行させる。
続いて、参照リストにもとづいて、更新リストを生成する処理（ステップＡ４）を実行させ、さらに、入力ファイルのエントリのデータに対し、第二回目の読み込みを行わせる処理（ステップＡ５）を実行させる。
【０１２２】
続いて、バルクロードプログラムは、コンピュータに、参照リストから生成された更新リストにもとづいて、第二回目の読み込みで取得した入力ファイルのエントリのデータを、データベースの格納形式で生成する処理（ステップＡ６，Ａ７及びＡ８）を実行させる構成としてある。
【０１２３】
このように、本発明は、バルクロードプログラムの発明としても有効であり、入力ファイルが複数のエントリからなる場合であっても、複数のエントリのデータを一括ロードでき、エントリのデータを効率良くかつ高速でロードできる。
【０１２４】
「バルクロードプログラムの第二実施形態」
また、本発明は、バルクロードプログラムとしても有効であり、上述した図９に示す概略フローチャート図を用いて、第二実施形態にかかるバルクロード方法を説明する。
本実施形態におけるバルクロードプログラムは、コンピュータに、先ず、入力ファイルを解析して、一つのエントリごとにデータを読み込む処理（ステップＡ１）を実行させる。
【０１２５】
次に、バルクロードプログラムは、コンピュータに、エントリの識別情報をハッシュテーブルで管理し、エントリをエントリリストで管理する処理、つまり、各エントリの識別情報を、エントリリストに登録する処理（ステップＣ１）を実行させる。
次に、バルクロードプログラムは、コンピュータに、各エントリを、エントリの識別情報によりソート処理（ステップＣ２）を実行させる。
【０１２６】
次に、バルクロードプログラムは、コンピュータに、データページ生成手段が、ソートしたエントリの順番で、入力ファイルから再び読み込まれたエントリのデータを、データベースの格納形式で生成する処理（ステップＣ３，Ａ６，Ａ７及びＣ４）を実行させる。
つまり、データページ生成手段が、エントリリストにもとづいて、第二回目の読み込みで取得した入力ファイルのエントリのデータを、データベースの格納形式で生成する。
【０１２７】
このように、本発明は、バルクロードプログラムの発明としても有効であり、入力ファイルが複数のエントリからなる場合であっても、複数のエントリのデータを、検索性能が向上するようにクラスタリングして一括ロードできる。
【０１２８】
なお、このバルクロードプログラムは、コンピュータのＲＯＭに記憶される他、コンピュータ読み取り可能な記録媒体、例えば、外部記憶装置及び可搬記録媒体等に格納することができる。
ここで、外部記憶装置とは、磁気ディスク等の記録媒体を内蔵し、データ処理装置に外部接続される記憶増設装置をいう。一方、可搬記録媒体とは、記録媒体駆動装置（ドライブ装置）に装着でき、かつ、持ち運び可能な記録媒体であって、たとえば、ＣＤ−ＲＯＭ、フレキシブルディスク、メモリカード、光磁気ディスク等をいう。
【０１２９】
そして、記録媒体に記憶されたプログラムは、コンピュータのＲＡＭにロードされて、ＣＰＵにより実行される。この実行により、上述したバルクロードシステムの各機能が実現される。
さらに、コンピュータで制御プログラムをロードする場合、他のコンピュータで保有された制御プログラムを、通信回線を利用して自己の有するＲＡＭや外部記憶装置にダウンロードすることもできる。
【０１３０】
また、本発明のバルクロードシステムは、データ処理装置が、上記請求項１２又は請求項１３に記載のバルクロードプログラムを搭載した構成としてもよく、このバルクロードシステムについて、図面を参照して説明する。
【０１３１】
「バルクロードシステムの第三実施形態」
図１１は、本発明に係るバルクロードシステムの第三実施形態の基本構成を説明するための概略ブロック図を示している。
同図において、バルクロードシステムは、キーボード等の入力装置１，データ処理装置９，情報を記憶する記憶装置３，情報を格納して管理するデータベース管理装置４，記憶媒体８，及び，ディスプレイ装置や印刷装置等の出力装置５とで構成してある。
この記録媒体８は、磁気ディスク、半導体メモリ、その他の記録媒体であってもよい。
【０１３２】
バルクロードプログラムは、記録媒体８からデータ処理装置９に読み込まれ、データ処理装置９の動作を制御する。
データ処理装置９は、バルクロードプログラムの制御により以下の処理、すなわち第一実施形態および第二実施形態におけるデータ処理装置２および６により行われた処理と同一の処理を実行する構成としてある。
なお、その他の構成は、第一又は第二実施形態におけるバルクロードシステムと同様の構成としてある。
【０１３３】
上記構成のバルクロードシステムは、入力装置１からバルクロード要求が与えられると、要求内容で指定された入力ファイルを記憶装置３内の入力ファイル記憶部３１から読み込み、たとえば、上記請求項１０記載のバルクロードプログラムを搭載したときは、ハッシュテーブル記憶部３２に各エントリの識別名とＩＤを登録し、仮ＩＤマップ記憶部３３および参照リスト記憶部３４を利用して更新リストを生成し、全エントリのデータを生成してデータベース管理装置４内のデータページ記憶部４１にデータベースのページ形式で格納する。
そして、これらの処理の終了は出力装置５に表示される。
なお、上記請求項１１記載のバルクロードプログラムを搭載したときは、かかるプログラムの効果を発揮することは、勿論である。
【０１３４】
このように、本実施形態のバルクロードシステムは、バルクロードプログラムを搭載したバルクロードシステムとすることによって、入力ファイルが複数のエントリからなる場合であっても、複数のエントリのデータを一括ロードでき、又は、複数のエントリのデータを、検索性能が向上するようにクラスタリングして一括ロードできる。
【０１３５】
なお、本発明は、バルクロードシステムとして説明したが、バルクロード方法，バルクロードプログラム，及び，このバルクロードプログラムを搭載したバルクロードシステムとしても、同様の効果を発揮できることは勿論である。
【０１３６】
【発明の効果】
以上のように、本発明におけるバルクロードシステム，バルクロード方法及びバルクロードプログラムによれば、入力ファイルを２回読み込むことにして、１回目の読み込みでエントリの参照関係を解消し、２回目の読み込みでその参照関係を利用してデータを生成しているため、一つのエントリごとにデータをロードせず、入力ファイルから複数のエントリデータを一括してロードすることができる。
【０１３７】
また、本発明におけるバルクロードシステム，バルクロード方法及びバルクロードプログラムによれば、エントリの識別情報によりソートし、ソートした順番にエントリデータを生成しているため、ディレクトリの階層構造を考慮したエントリデータのクラスタリングを行うことができる。
【図面の簡単な説明】
【図１】図１は、本発明に係るバルクロードシステムの第一実施形態の基本構成を説明するための概略ブロック図を示している。
【図２】図２は、第一実施形態にかかるバルクロードシステムの動作を説明するための、概略フローチャート図を示している。
【図３】図３は、第一実施形態にかかるバルクロードシステムにおける、ハッシュテーブルおよび参照リストの登録の動作を説明するための、概略フローチャート図を示している。
【図４】図４は、ＬＤＩＦファイルの一例を示す、概略図を示している。
【図５】図５は、ＬＤＩＦファイルをロードした場合の、ディレクトリ階層を説明するための概略図を示している。
【図６】図６は、ＬＤＩＦファイルを読み込んで構築した、仮ＩＤマップ，仮参照リスト及び参照リストを説明するための表を示している。
【図７】図７は、本発明の更新リストを説明するための表を示している。
【図８】図８は、本発明に係るバルクロードシステムの第二実施形態の基本構成を説明するための概略ブロック図を示している。
【図９】図９は、第二実施形態にかかるバルクロードシステムの動作を説明するための、概略フローチャート図を示している。
【図１０】図１０は、ＬＤＩＦファイルを読み込んで構築した、エントリリストを説明するための表を示している。
【図１１】図１１は、本発明に係るバルクロードシステムの第三実施形態の基本構成を説明するための概略ブロック図を示している。
【符号の説明】
１  入力装置
２，６，９  データ処理装置
３，７  記憶装置
４  データベース管理装置
５  出力装置
２１  バルクロード制御手段
２２  入力ファイル解析手段
２３  ハッシュテーブル管理手段
２４  参照リスト管理手段
２５  データページ生成手段
２６  エントリソート実行手段
３１  入力ファイル記憶部
３２  ハッシュテーブル記憶部
３３  仮ＩＤマップ記憶部
３４  参照リスト記憶部
３５  エントリソート記憶部
４１  データページ記憶部
８  記録媒体
１００〜１１０  ディレクトリ階層例のエントリ
２１０  仮参照リスト
２２０  参照リスト
２３０  仮ＩＤマップ
３０１〜３１０  １エントリのデータ
【図１】
0003797143.tif 000002
【図２】
0003797143.tif 000003
【図３】
0003797143.tif 000004
【図４】
0003797143.tif 000005
【図５】
0003797143.tif 000006
【図６】
0003797143.tif 000007
【図７】
0003797143.tif 000008
【図８】
0003797143.tif 000009
【図９】
0003797143.tif 000010
【図１０】
0003797143.tif 000011
【図１１】
0003797143.tif 000012