(57)【要約】【課題】本発明は、複数のインデックスの構築プロセスを同時に監視でき、インデックス構築の優先順位を配列でき、現在のシステムの利用可能な資源の量に基づいて、インデックス構築の速度を動的に調整できる大量データのインデックス構築システム及びその構築方法を提供することを目的とする。【解決手段】本発明に係る大量データのインデックス構築システムは、配分モジュールと、構築モジュールと、優先処理モジュールと、インデックス合併モジュールと、を備える。また、本発明は、大量データのインデックス構築システムの構築方法も提供する。【選択図】図３
2014038616.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置を備えるコンピュータの中にインストールされて実行される大量データのインデックス構築システムであって、
前記記憶装置のデータプールの中からインデックスを構築する必要があるデータリストを獲得し、前記データリストの各々に対して優先レベルを設定し、前記記憶装置の中で多くのデータ行列を作り、且つ前記優先レベルに基づいて、獲得した前記データリストを前記データ行列の中にそれぞれ配属させるデータ配分モジュールと、
前記データ行列の各々の中のデータリストに対して１つのサブインデックスを構築し、該構築された前記サブインデックスを前記記憶装置の中に保存し、且つ前記データリストを対応する前記データ行列の中から取り除くインデックス構築モジュールと、
前記データプールの中に、優先して処理される必要があるデータリストがあるかどうかを検査し、優先処理が必要なデータリストがある場合、前記データプールの中から最高レベルのデータリストを獲得し、且つ前記最高レベルのデータリストをアイドル状態のデータ行列の中に投入して優先して処理する優先処理モジュールと、
構築したあらゆる前記サブインデックスを合併することで、１つのデータプールのルートインデックスを生成し、且つ前記ルートインデックスを前記記憶装置の中に保存させるインデックス合併モジュールと、
を備えることを特徴とする大量データのインデックス構築システム。
【請求項２】
前記データ配分モジュールは、前記データプールの中の優先処理が必要なデータリストの優先レベルを最高レベルに設定し、且つ前記データプールの中の残りのデータリストの優先レベルを、前記残りのデータリストのファイル名に基づいて順次に設定することを特徴とする、請求項１に記載の大量データのインデックス構築システム。
【請求項３】
前記データプールは複数のデータリストを備え、前記複数のデータリストの各々には、異なる種類のデータを識別するためのデータ番号が格納されており、前記データ番号の各々は、前記記憶装置の中に格納されたデータに対応していることを特徴とする、請求項１に記載の大量データのインデックス構築システム。
【請求項４】
前記記憶装置は、ハードディスク或いはネットワークアクセス記憶装置であり、データプール、データ行列及び大量のデータを格納するために用いられることを特徴とする、請求項１に記載の大量データのインデックス構築システム。
【請求項５】
記憶装置を備えるコンピュータの中で応用される大量データのインデックス構築方法であって、
前記記憶装置のデータプールの中からインデックスを構築する必要があるデータリストを獲得し、前記データリストの各々に対して優先レベルを設定するステップと、
前記記憶装置の中で多くのデータ行列を作り、且つ前記優先レベルに基づいて、獲得した前記データリストを前記データ行列の中にそれぞれ配属させるステップと、
前記データ行列の各々の中のデータリストに対して１つのサブインデックスを構築するステップと、
構築した前記サブインデックスを前記記憶装置の中に保存し、且つ前記データリストを対応する前記データ行列の中から取り除くステップと、
前記データプールの中に、優先して処理される必要があるデータリストがあるかどうかを検査するステップと、
優先処理が必要なデータリストがある場合、前記データプールの中から最高レベルのデータリストを獲得し、且つ前記最高レベルのデータリストをアイドル状態のデータ行列の中に投入して優先して処理するステップと、
構築したあらゆる前記サブインデックスを合併することで、１つのデータプールのルートインデックスを生成し、且つこのルートインデックスを前記記憶装置の中に保存させるステップと、
を備えることを特徴とする大量データのインデックス構築方法。
【請求項６】
データ行列の中にインデックスを構築する必要があるデータリストがまだあるかどうか検査し、且つ前記データ行列の中に前記データリストがまだある場合、前記データリストに対してサブインデックスを構築するステップをさらに備えることを特徴とする、請求項５に記載の大量データのインデックス構築方法。
【請求項７】
前記優先して処理される必要があるデータリストの優先レベルは最高レベルに設定され、データプールの中の残りのデータリストの優先レベルは、前記残りのデータリストのファイル名に基づいて順次に設定されることを特徴とする、請求項５に記載の大量データのインデックス構築方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データインデックス（ｄａｔａ  ｉｎｄｅｘ）の管理システム及びその方法に関し、特に大量データのインデックスを構築するシステム及びその方法に関するものである。
【背景技術】
【０００２】
データを処理する過程において、現在一般的なデータ管理方法は、データインデックスを構築するものである。しかし、かなりの規模を有する大量のデータを管理する場合、如何にこの大量データに対してインデックスを構築するかが課題になっている。例えば、従来のインデックス構築方法では、複数のプログラムを起動させて、多くのデータに対して同時にインデックスを構築することはできない。また、インデックス構築の優先順位を弾力的に配列できず、現在のコンピュータシステムの利用可能な資源に基づいて、インデックス構築の速度を動的に調整することもできない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
以上の問題点に鑑みて、本発明は、複数のインデックスの構築プロセスを同時に監視でき、インデックス構築の優先順位を配列でき、現在のシステムの利用可能な資源の量に基づいて、インデックス構築の速度を動的に調整できる大量データのインデックス構築システム及びその構築方法を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記の課題を解決するために、本発明に係る大量データのインデックス構築システムは、記憶装置を備えるコンピュータの中にインストールされて実行され、且つ上記記憶装置のデータプールの中からインデックスを構築する必要があるデータリストを獲得し、各データリストに対して優先レベルを設定し、上記記憶装置の中で多くのデータ行列を作り、且つ優先レベルに基づいて獲得したデータリストを上記データ行列の中にそれぞれ配属させるデータ配分モジュールと、各データ行列の中のデータリストに対して１つのサブインデックスを構築し、該構築した上記サブインデックスを上記記憶装置の中に保存し、且つ上記データリストを対応するデータ行列の中から取り除くインデックス構築モジュールと、上記データプールの中に、優先して処理される必要があるデータリストがあるかどうかを検査し、優先処理が必要なデータリストがある場合、上記データプールの中から最高レベルのデータリストを獲得し、且つこのデータリストをアイドル状態のデータ行列の中に投入して優先して処理する優先処理モジュールと、構築したあらゆるサブインデックスを合併することで、１つのデータプールのルートインデックスを生成し、且つ上記ルートインデックスを上記記憶装置の中に保存させるインデックス合併モジュールと、を備える。
【０００５】
また、上記の課題を解決するために、本発明に係る大量データのインデックス構築方法は、記憶装置を備えるコンピュータの中で応用され、且つ上記記憶装置のデータプールの中からインデックスを構築する必要があるデータリストを獲得し、各データリストに対して優先レベルを設定するステップと、上記記憶装置の中で多くのデータ行列を作り、且つ優先レベルに基づいて獲得したデータリストを上記データ行列の中にそれぞれ配属させるステップと、各データ行列の中のデータリストに対して１つのサブインデックスを構築するステップと、該構築した上記サブインデックスを上記記憶装置の中に保存し、且つ上記データリストを対応するデータ行列の中から取り除くステップと、上記データプールの中に、優先して処理する必要があるデータリストがあるかどうかを検査するステップと、優先処理が必要なデータリストがある場合、上記データプールの中から最高レベルのデータリストを獲得し、且つこのデータリストをアイドル状態のデータ行列の中に投入して優先して処理するステップと、構築したあらゆるサブインデックスを合併することで、１つのデータプールのルートインデックスを生成し、且つこのルートインデックスを上記記憶装置の中に保存させるステップと、を備える。
【発明の効果】
【０００６】
従来の技術と異なり、本発明の大量データのインデックス構築システム及びその構築方法は、複数のインデックスの構築プロセスを同時に監視することができ、インデックス構築の優先順位を弾力的に配列でき、現在のコンピュータシステムの利用可能な資源の量に基づいて、インデックス構築の速度を調整することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態に係る大量データのインデックス構築システムの構造を示すブロック図である。
【図２】本発明の実施形態に係る大量データのインデックス構築方法のフローチャートである。
【図３】大量のデータのインデックスを構築する過程を示す図である。
【図４】データインデックスを優先的に処理する方法を示す図である。
【発明を実施するための形態】
【０００８】
図１に示すように、本発明のデータインデックス構築システム１０は、コンピュータ１００の中にインストールされて実行され、且つ多くのインデックスの構築プロセスを同時に監視し、インデックス構築の優先順位を弾力的に配列し、現在のコンピュータシステムの利用可能な資源の量に基づいて、インデックス構築の速度を動的に調整することができる。コンピュータ１００は、記憶装置１１及び少なくとも１つのプロセッサ１２を備えるが、この２つに限定されず、他のモジュールを備えることもできる。また、コンピュータ１００はサーバであっても良い。
【０００９】
記憶装置１１は、ランダムアクセスメモリー（ＲＡＭ）或いは読出し専用メモリ（ＲＯＭ）等の内部記憶装置である。またはハードディスク、ストレージカード或いはネットワークアタッチストレージ（ＮＡＳ）等の外部記憶システムである。プロセッサ１２は、中央処理装置（ＣＰＵ）或いはマイクロプロセッサであり、コンピュータ１００の異なる機能を実行する。
【００１０】
記憶装置１１は、データプール（ｄａｔａ  ｐｏｏｌ）、データ行列及び大量のデータを格納している。上記データプールは、図３に示されたＬｉｓｔ０、Ｌｉｓｔ１、Ｌｉｓｔ２…ＬｉｓｔＮといった多くのデータリストを含む。上記データ行列はデータリストを格納するために用いられる。各データリストは、異なる種類のデータを識別するためのデータ番号（例えば、番号Ｓ００ａ１０１、Ｓ００ａ１０２等）を格納している。各データ番号は、記憶装置１１の中に格納されたデータに対応している。
【００１１】
例を挙げて説明すると、生産用資材を上記大量のデータと見なし、生産マシンを上記データ番号と見なし、完成品をインデックスと見なして、上記大量の生産用資材のためにデータインデックスを構築することができ、簡単な手段によって大量の生産計画を実行することができる。従って、さらに多くのマシンがある場合、生産量を増加して、生産能力を拡大することができる。
【００１２】
データインデックス構築システム１０は、データ配分モジュール１０１と、インデックス構築モジュール１０２と、優先処理モジュール１０３と、インデックス合併モジュール１０４と、を備える。本発明の各モジュールはプロセッサ１２により実行され、且つある特定の機能を実現するためのプログラムである。これらのプログラムは、コンピュータ１００の記憶装置１１の中に格納されている。
【００１３】
データ配分モジュール１０１は、記憶装置１１のデータプールの中からインデックスを構築する必要があるデータリストを獲得し、且つ各データリストのために優先レベルを設定する。例えば、データリストＬｉｓｔ０の中のデータを優先して処理する必要がある場合、データ配分モジュール１０１は、データリストＬｉｓｔ０の優先レベルを最高レベルに設定し、且つデータリストのファイル名に基づいて、上記データプールの中の残りのデータリストの優先レベルを順に設定する。
【００１４】
また、データ配分モジュール１０１は、記憶装置１１の中で多くのデータ行列を作り、且つ上記優先レベルに基づいて獲得したデータリストを上記データ行列の中にそれぞれ配属させる。図４に示すように、データ配分モジュール１０１には、２つのデータ行列が作られている。そのうち、データ行列１には、データリストＬｉｓｔ１及びデータリストＬｉｓｔ３を預け、データ行列２には、データリストＬｉｓｔ２及びデータリストＬｉｓｔ４を預ける。
【００１５】
インデックス構築モジュール１０２は、各データ行列の中のデータリストに対して１つのサブインデックスを構築する。例えば、図３に示すように、インデックス構築モジュール１０２は、データ行列１のためにサブインデックス１を構築し、データ行列２のためにサブインデックス２を構築し、データ行列３のためにサブインデックス３を構築する。
【００１６】
また、インデックス構築モジュール１０２は、構築したサブインデックスを記憶装置１１の中に保存し、且つサブインデックスに対応するデータリストをデータ行列の中から取り除く。図４に示すように、コンピュータシステムの演算資源を解放するために、データ行列１の中のデータリストＬｉｓｔ１に対してサブインデックス１が構築された時、インデックス構築モジュール１０２はデータリストＬｉｓｔ１をデータ行列１の中から取り除く。
【００１７】
優先処理モジュール１０３は、データプールの中に、優先して処理される必要があるデータリストがあるかどうかを調査する。優先処理が必要なデータリストがある場合、優先処理モジュール１０３は、データプールの中から最高レベルのデータリストを獲得し、且つこのデータリストをアイドル状態のデータ行列の中に投入して優先して処理する。例えば、図４に示すように、データリストＬｉｓｔ０が優先して処理される必要がある場合、データリストＬｉｓｔ０の優先レベルは最高になる。従って、この場合、優先処理モジュール１０３は、データリストＬｉｓｔ０をデータ行列１の中に投入して、該データリストＬｉｓｔ０をデータリストＬｉｓｔ３の前に処理する。
【００１８】
インデックス合併モジュール１０４は、複数のデータリストのあらゆるサブインデックスを合併することで、上記データプールのルートインデックス（ｒｏｏｔ  ｉｎｄｅｘ）を生成し、且つ上記ルートインデックスを記憶装置１１の中に保存させる。図３に示すように、インデックス合併モジュール１０４は、データ行列１のサブインデックス１、データ行列２のサブインデックス２及びデータ行列３のサブインデックス３を合併することによって、データプールのためにルートインデックスを生成する。
【００１９】
図２に示すように、本発明の大量データのインデックス構築方法は、以下のステップＳ２１〜Ｓ２８を備える。
【００２０】
ステップＳ２１において、データ配分モジュール１０１は、記憶装置１１のデータプールの中からインデックスを構築する必要があるデータリストを獲得し、且つ各データリストに対して優先レベルを設定する。
【００２１】
ステップＳ２２において、データ配分モジュール１０１は、記憶装置１１の中で多くのデータ行列を作り、且つ上記優先レベルに基づいて獲得したデータリストを上記データ行列の中にそれぞれ配属させる。
【００２２】
ステップＳ２３において、インデックス構築モジュール１０２は、各データ行列の中のデータリストに対して１つのサブインデックスを構築する。
【００２３】
ステップＳ２４において、インデックス構築モジュール１０２は、構築したサブインデックスを記憶装置１１の中に保存し、且つデータリストを対応するデータ行列の中から取り除く。
【００２４】
ステップＳ２５において、優先処理モジュール１０３は、データプールの中に、優先して処理される必要があるデータリストがあるかどうかを検査する。優先処理が必要なデータリストがある場合、ステップＳ２６を実行する。また、優先処理が必要なデータリストがない場合、ステップＳ２８を実行する。
【００２５】
ステップＳ２６において、優先処理モジュール１０３は、データプールの中から最高レベルのデータリストを獲得し、且つこのデータリストをアイドル状態のデータ行列の中に投入して優先して処理させる。
【００２６】
ステップＳ２７において、優先処理モジュール１０３は、データ行列の中にデータリストがまだあるかどうか検査する。データ行列の中にまだデータリストがある場合、上記のステップＳ２３に戻る。また、データ行列の中にデータリストがない場合、ステップＳ２８を実行する。
【００２７】
ステップＳ２８において、インデックス合併モジュール１０４は、複数のデータリストのあらゆるサブインデックスを合併することで、１つのデータプールのルートインデックス（ｒｏｏｔ  ｉｎｄｅｘ）を生成し、且つ上記ルートインデックスを記憶装置１１の中に保存させる。
【００２８】
上記の大量データのインデックス構築方法は、多くのインデックスの構築プロセスを同時に監視することができ、インデックス構築の優先順位を弾力的に配列でき、現在のコンピュータシステムの利用可能な資源の量に基づいて、インデックス構築の速度を動的に調整することができる。
【００２９】
以上、本発明の好適な実施形態について詳細に説明したが、本発明は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形又は修正が可能であり、該変形又は修正もまた、本発明の特許請求の範囲内に含まれるものであることは言うまでもない。
【符号の説明】
【００３０】
１０      データインデックス構築システム
１１      記憶装置
１２      プロセッサ
１００    コンピュータ
１０１    データ配分モジュール
１０２    インデックス構築モジュール
１０３    優先処理モジュール
１０４    インデックス合併モジュール
【図１】
2014038616.tif 000003
【図２】
2014038616.tif 000004
【図３】
2014038616.tif 000005
【図４】
2014038616.tif 000006