(57)【要約】  本発明は、分散記憶システムにおけるセカンダリインデックスを確立する方法であって、ユーザクライアントにより送信されたユーザデータを受信するステップであって、ユーザデータはキー部分及び値部分を含む、受信するステップと、ユーザデータに従ってユーザテーブルを決定するステップと、ユーザデータを前記ユーザテーブルに書き込むステップと、ユーザデータに従ってインデックスデータを生成するステップと、ユーザテーブルに対応するインデックステーブルにインデックスデータを書き込むステップであって、ユーザテーブル及びインデックステーブルは、分散記憶システムの１つのノードにおいて確立され、一対一方式により結合される、書き込むステップと、を有する方法に関する。本発明は、ユーザチャイルドテーブル及びインデックスチャイルドテーブルを結合することによって、ノードにわたる２つのリモート書き込み処理が１つに低減され、ネットワークリクエストの数が大きく低減し、これによりパフォーマンスが向上する点で存在する。
2016522928.tif 000002
【特許請求の範囲】
【請求項１】
分散記憶システムにおけるセカンダリインデックスを確立する方法であって、
ユーザクライアントにより送信されたユーザデータを受信するステップであって、前記ユーザデータはキー部分及び値部分を含む、受信するステップと、
前記ユーザデータに従ってユーザテーブルを決定するステップと、
前記ユーザデータを前記ユーザテーブルに書き込むステップと、
前記ユーザデータに従ってインデックスデータを生成するステップと、
前記ユーザテーブルに対応するインデックステーブルに前記インデックスデータを書き込むステップであって、前記ユーザテーブル及び前記インデックステーブルは、前記分散記憶システムの１つのノードにおいて確立され、一対一方式により結合される、書き込むステップと、
を有する方法。
【請求項２】
前記ユーザテーブルのキー範囲と前記インデックステーブルのものとは同じである、請求項１記載の方法。
【請求項３】
前記ユーザテーブルは、複数のユーザチャイルドテーブルを有し、前記インデックステーブルは、複数のインデックスチャイルドテーブルを有し、
前記複数のユーザチャイルドテーブルの数は前記複数のインデックスチャイルドテーブルの数と同じであり、
各ユーザチャイルドテーブルのキー範囲はそれの対応するインデックスチャイルドテーブルのものと同じである、請求項２記載の方法。
【請求項４】
前記ユーザデータを前記ユーザテーブルに書き込むステップは、
前記ユーザデータに従ってユーザチャイルドテーブルを決定するステップと、
前記ユーザデータを前記ユーザチャイルドテーブルに書き込むステップと、
を有し、
前記インデックステーブルに前記インデックスデータを書き込むステップは、
前記インデックスデータを前記ユーザチャイルドテーブルに対応するインデックスチャイルドテーブルに書き込むステップを有する、請求項３記載の方法。
【請求項５】
前記ユーザデータに従ってインデックスデータを生成するステップは、
前記インデックスデータの範囲キー及び前記インデックスデータの特定のキーを決定するステップであって、前記インデックスデータの範囲キーは、前記ユーザデータの範囲キー、前記ユーザチャイルドテーブルのスタートキー又は前記ユーザチャイルドテーブルのエンドキーを有し、前記インデックスデータの特定のキーは、前記ユーザデータの値部分及び前記ユーザデータのキー部分を有する、決定するステップと、
前記インデックスデータの範囲キー及び前記インデックスデータの特定のキーに従って前記インデックスデータを生成するステップと、
を有する、請求項４記載の方法。
【請求項６】
前記インデックスデータの範囲キーを決定するステップは、
前記ユーザデータの範囲キー、前記ユーザチャイルドテーブルのスタートキー又は前記ユーザチャイルドテーブルのエンドキーを抽出するステップを有する、請求項５記載の方法。
【請求項７】
前記インデックスデータに採用される前記ユーザデータの値部分は、インデックスカラムの値に関連する、請求項５記載の方法。
【請求項８】
前記インデックスデータは更に、前記ユーザチャイルドテーブルにおいてインデックスカラムの名前を有する、請求項７記載の方法。
【請求項９】
前記インデックスカラムの名前、前記インデックスカラムの値及び前記ユーザデータのキー部分は、前記インデックスデータにおいて順次配置される、請求項８記載の方法。
【請求項１０】
セカンダリインデックス確立装置であって、
ユーザクライアントにより送信されたユーザデータを受信するよう構成される受信ユニットであって、前記ユーザデータはキー部分及び値部分を含む、受信ユニットと、
前記ユーザデータに従ってユーザテーブルを決定するよう構成される決定ユニットと、
前記ユーザデータを前記ユーザテーブルに書き込むよう構成される第１書き込みユニットと、
前記ユーザデータに従ってインデックスデータを生成するよう構成される生成ユニットと、
前記ユーザテーブルに対応するインデックステーブルに前記インデックスデータを書き込むよう構成される第２書き込みユニットであって、前記ユーザテーブル及び前記インデックステーブルは、分散記憶システムの１つのノードにおいて確立され、一対一方式で結合される、第２書き込みユニットと、
を有するセカンダリインデックス確立装置。
【請求項１１】
前記ユーザテーブルのキー範囲及び前記インデックステーブルのものは同じである、請求項１０記載の装置。
【請求項１２】
前記ユーザテーブルは複数のユーザチャイルドテーブルを有し、前記インデックステーブルは複数のインデックスチャイルドテーブルを有し、
前記複数のユーザチャイルドテーブルの数は、前記複数のインデックスチャイルドテーブルの数と同一であり、各ユーザチャイルドテーブルのキー範囲は、それの対応するインデックスチャイルドテーブルのものと同一である、請求項１１記載の装置。
【請求項１３】
前記第１書き込みユニットは、
前記ユーザデータに従ってユーザチャイルドテーブルを決定するよう構成される第１決定モジュールと、
前記ユーザデータを前記ユーザチャイルドテーブルに書き込むよう構成される第１書き込みモジュールと、
を有し、
前記第２書き込みユニットは、前記ユーザチャイルドテーブルに対応するインデックスチャイルドテーブルに前記インデックスデータを書き込むよう構成される第２書き込みモジュールを有する、請求項１２記載の装置。
【請求項１４】
前記生成ユニットは、
前記インデックスデータの範囲キー及び前記インデックスデータの特定のキーを決定するよう構成される第２決定モジュールであって、前記インデックスデータの範囲キーは、前記ユーザデータの範囲キー、前記ユーザチャイルドテーブルのスタートキー又は前記ユーザチャイルドテーブルのエンドキーを有し、前記インデックスデータの特定のキーは、前記ユーザデータの値部分及び前記ユーザデータのキー部分を有する、第２決定モジュールと、
前記インデックスデータの範囲キー及び前記インデックスデータの特定のキーに従ってインデックスデータを生成するよう構成される生成モジュールと、
を有する、請求項１３記載の装置。
【請求項１５】
前記第２決定モジュールは、前記ユーザデータの範囲キー、前記ユーザチャイルドテーブルのスタートキー又は前記ユーザチャイルドテーブルのエンドキーを抽出するよう構成される、請求項１４記載の装置。
【請求項１６】
前記インデックスデータにおいて採用される前記ユーザデータの値部分は、前記インデックスカラムの値に関連する、請求項１４記載の装置。
【請求項１７】
前記インデックスデータは更に、前記ユーザチャイルドテーブルにおけるインデックスカラムの名前を有する、請求項１６記載の装置。
【請求項１８】
前記インデックスカラムの名前、前記インデックスカラムの値及び前記ユーザデータのキー部分は、前記インデックスデータにおいて順次配置される、請求項１７記載の装置。
【請求項１９】
分散記憶システムであって、
少なくとも１つの領域サーバであって、前記領域サーバのそれぞれは、少なくとも１つのユーザテーブル及び前記少なくとも１つのユーザテーブルに対応する少なくとも１つのインデックステーブルを記憶し、前記ユーザテーブルのそれぞれの範囲キーは、前記ユーザテーブルに対応するインデックステーブルのものと同一である、領域サーバと、
請求項１０乃至１８何れか一項記載のセカンダリインデックス確立装置と、
を有する分散記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、分散記憶システムに関し、特に分散記憶システムにおいてセカンダリインデックスを確立するための方法、装置及びシステムに関する。
【背景技術】
【０００２】
分散記憶システムの大多数において、Ｋｅｙ−Ｖａｌｕｅタイプの記憶方法が受け入れられてきており、すなわち、記憶対象の実ユーザデータは値部分に記憶され、それから、Ｋｅｙは対応するＶａｌｕｅをサーチするのに構成される。
【０００３】
例えば、分散記憶システムがオンライン取引システムにデータを記憶するのに利用され、Ｋｅｙ及びＶａｌｕｅが以下のように設計できると仮定する。
【０００４】
Ｋｅｙ：ユーザコード＋取引時間
Ｖａｌｕｅ：取引のための詳細情報
実ユーザデータは、分散記憶システムに記憶されるとき、同一のユーザコードのデータが隣接して記憶されるように辞書の順序に自然に順序づけされる。“ｘｘｘｘ”としてのユーザコード及びある期間としての取引時間を有する全てのレコードを取得するため、分散記憶システムにおけるインデックス方式は、所望のデータを迅速にサーチするのに利用可能である。
【０００５】
分散記憶システムでは、テーブルのコンセプトが提供される。ユーザがデータを分散記憶システムに書き込むことを所望する場合、彼／彼女は、最初に彼／彼女の自らの要求に従ってデータテーブルを構築すべきである。しかしながら、大量のデータが１つのデータテーブルに含まれる可能性がある。分散記憶システムにおいて分散化された記憶を実現するため、主要な方法は、データテーブルを横方向に切断することによって複数のチャイルドテーブルを生成し、複数のチャイルドテーブルを管理及び維持することである。チャイルドテーブルは以下のように定義できる。
１．チャイルドテーブルは、複数の連続する行のクラスタであり、各チャイルドテーブルは、キー値範囲を有する。
２．データベーステーブルは、通常は１以上のチャイルドテーブルから構成される。
３．チャイルドテーブルは、分散化された記憶及びロードバランシングの最小単位である。
４．ある程度まで増加すると、チャイルドテーブルは２つのチャイルドテーブルに自動的に分割する。
【０００６】
図１はデータテーブルの概略図であり、図１に示されるように、データテーブルはＭ個のチャイルドテーブルから構成され、各チャイルドテーブルはキー値範囲を占める。ユーザにより生成される各キー値が対応するキーは、１つのチャイルドテーブルのキー値範囲のみに属しうる。異なるチャイルドテーブルのキー値範囲は共通部分を有さない。
【０００７】
各チャイルドテーブルについて、それが割り当てられる必要があり、管理対象の１つの領域サーバのみに一意的に割り当てることができる。領域サーバは、分散記憶システムのクラスタのノードであり、それは通常は物理的なサーバである。
【０００８】
図２は分散記憶システムのクラスタの概略図であり、図２に示されるように、分散記憶システムのクラスタは、３つの領域サーバ、第１領域サーバに記憶される３つのチャイルドテーブル（チャイルドテーブル１、チャイルドテーブル４及びチャイルドテーブル９）、第２領域サーバに記憶される３つのチャイルドテーブル（チャイルドテーブル２、チャイルドテーブル６及びチャイルドテーブル７）、及び第３領域サーバに記憶される３つのチャイルドテーブル（チャイルドテーブル３、チャイルドテーブル５及びチャイルドテーブル８）を有する。
【０００９】
分散記憶システムでは、ユーザデータの全てはキー値の形態によって基礎となるファイルシステムに記憶される。ユーザデータを読み出すため、１つの方法はサーチを正確に実行するため正確なキーを指定することであり、他の方法はデータスキャンを曖昧に実行するためキーの前の部分を指定することである。しかしながら、これら２つの方法は共に、キーの値に基づき、ユーザが値の状態に基づきユーザデータをサーチすることを所望するとき、レコードを検出するのにデータテーブル全体をサーチすることが必要とされ、パフォーマンスは大変不良である。
【００１０】
この問題を解決するため、セカンダリインデックス方式が提供される。図３は従来のセカンダリインデックス方式の方式の概略図であり、図３に示されるように、セカンダリインデックス方式は、分散記憶システムのクライアントＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）パッケージに基づく。セカンダリインデックス方式では、別のインデックステーブルがインデックス値を記憶するのに利用され、ユーザがデータを書き込むとき、２つのタイプのデータがパッケージングされたクライアントＡＰＩを利用することによって生成可能であり、一方はユーザテーブルに書き込まれるユーザデータであり、他方はインデックステーブルに書き込まれるインデックスデータである。
【００１１】
本発明の実現形態では、発明者は、従来のセカンダリインデックス方式がクライアントＡＰＩにパッケージングされているため、不良なパフォーマンスを導くことを発見した。他のいくつかの改良された方式が存在するが、データを書き込むため、２つのリモートライト処理がクライアントとリモート分散記憶システムとの間で送信される必要があり、ユーザテーブルとインデックステーブルとを書き込むことが必要とされ、ライトデータのパフォーマンスを向上させることは基本的にはできない。
【発明の概要】
【００１２】
背景技術で指摘された問題点に鑑み、本発明が提案される。
【００１３】
本発明の実施例の主要な課題は、ネットワークリクエストの数を減少させるため、分散記憶システムにおいてセカンダリインデックスを確立するための方法、装置及びシステムを提供することである。
【００１４】
本発明の実施例の態様によると、分散記憶システムにおけるセカンダリインデックスを確立する方法であって、
ユーザクライアントにより送信されたユーザデータを受信するステップであって、前記ユーザデータはキー部分及び値部分を含む、受信するステップと、
前記ユーザデータに従ってユーザテーブルを決定するステップと、
前記ユーザデータを前記ユーザテーブルに書き込むステップと、
前記ユーザデータに従ってインデックスデータを生成するステップと、
前記ユーザテーブルに対応するインデックステーブルに前記インデックスデータを書き込むステップであって、前記ユーザテーブル及び前記インデックステーブルは、前記分散記憶システムの１つのノードにおいて確立され、一対一方式により結合される、書き込むステップと、
を有する方法が提供される。
【００１５】
本発明の実施例の他の態様によると、分散記憶システムにおいてセカンダリインデックスを確立する装置であって、
ユーザクライアントにより送信されたユーザデータを受信するよう構成される受信ユニットであって、前記ユーザデータはキー部分及び値部分を含む、受信ユニットと、
前記ユーザデータに従ってユーザテーブルを決定するよう構成される決定ユニットと、
前記ユーザデータを前記ユーザテーブルに書き込むよう構成される第１書き込みユニットと、
前記ユーザデータに従ってインデックスデータを生成するよう構成される生成ユニットと、
前記ユーザテーブルに対応するインデックステーブルに前記インデックスデータを書き込むよう構成される第２書き込みユニットであって、前記ユーザテーブル及び前記インデックステーブルは、分散記憶システムの１つのノードにおいて確立され、一対一方式で結合される、第２書き込みユニットと、
を有する装置が提供される。
【００１６】
本発明の実施例の更なる他の態様によると、分散記憶システムであって、少なくとも１つの領域サーバであって、前記領域サーバのそれぞれは、少なくとも１つのユーザテーブル及び前記少なくとも１つのユーザテーブルに対応する少なくとも１つのインデックステーブルを記憶し、前記ユーザテーブルのそれぞれの範囲キーは、前記ユーザテーブルに対応するインデックステーブルのものと同一である、領域サーバと、
上述されたセカンダリインデックス確立装置と、
を有する分散記憶システムが提供される。
【００１７】
本発明の実施例の効果は、ユーザチャイルドテーブル及びインデックスチャイルドテーブルを結合することによって、ノードにわたる２つのリモート書き込み処理が１つに低減され、ネットワークリクエストの数が大きく低減し、これに従ってパフォーマンスが向上する点に存在する。
【００１８】
本発明の特定の実施例は、以下の説明及び添付された図面を参照して以下において詳細に説明され、本発明の原理を利用する方式が指摘される。本発明の実現形態は範囲においてそれに限定されないことが理解されるべきである。むしろ、本発明は、添付した請求項の精神及び条件の範囲内に属する全ての変更、修正及び等価を含む。
【００１９】
一実施例に関して説明及び／又は図示される特徴は、１以上の他の実施例において同じ方法又は同様の方法で、及び／又は他の実施例の特徴に関連して若しくは代わりに利用されてもよい。
【００２０】
本明細書において利用される際の“有する”という用語は、述べられた特徴、整数、ステップ又はコンポーネントの存在を示すのに用いられるが、１以上の他の特徴、整数、ステップ、コンポーネント又はこれらのグループの存在又は追加を排除するものでないことが強調されるべきである。
【図面の簡単な説明】
【００２１】
本発明の更なる理解を提供するため図面が含まれ、それは明細書の一部を構成し、本発明の好適な実施例を示し、説明と共に本発明の原理を説明するのに利用される。同一の要素は図面を通じて同一の参照番号により表される。
【図１】図１は、データテーブルの概略図である。
【図２】図２は、分散記憶システムのクラスタの概略図である。
【図３】図３は、従来のセカンダリインデックス方式の方式の概略図である。
【図４】図４は、本発明の実施例による分散記憶システムの概略図である。
【図５】図５は、本発明の実施例によるセカンダリインデックスを確立するための方法のフローチャートである。
【図６ａ】図６ａは、ユーザチャイルドテーブルの実施例の概略図である。
【図６ｂ】図６ｂは、インデックスデータテーブルの実施例の概略図である。
【図６ｃ】図６ｃは、インデックスデータテーブルの他の実施例の概略図である。
【図７】図７は、１つの領域サーバに記憶されたユーザチャイルドテーブル及びそれの対応するインデックスチャイルドテーブルの概略図である。
【図８】図８は、セカンダリインデックス確立装置の概略図である。
【図９】図９は、分散記憶システムの概略図である。
【発明を実施するための形態】
【００２２】
本発明の実施例の上記及び他の特徴は、図面を参照して以下の説明を通じて明らかになる。これらの実施例は、単なる例示であり、本発明を限定することを意図するものでない。当業者による本発明の原理及び実施例の容易な理解のため、本発明の実施例の説明は、具体例としてオンライン取引システムを取り上げて提供されるが、本発明の実施例はこのようなシステムに限定されないことが理解されるべきである。
【００２３】
図４は本発明の実施例による分散記憶システムの概略図であり、図４に示されるように、分散記憶システムは２つの領域サーバ、すなわち、領域サーバ４１及び領域サーバ４２を有する。各領域サーバは、ユーザテーブル及びインデックステーブルを有する。１つの領域サーバにおいて確立されるユーザテーブル及びインデックステーブルは、一対一の方式により結合され、すなわち、ユーザテーブルのキー範囲とインデックステーブルのものとは同じである。各ユーザテーブルは、複数のユーザチャイルドテーブルに分割されてもよく、各インデックステーブルは、複数のインデックスチャイルドテーブルに分割されてもよい。そして、複数のインデックスチャイルドテーブルの１つは、複数のユーザチャイルドテーブルの１つに対応し、１つの領域サーバにおける複数のユーザチャイルドテーブルの数は、同じ領域サーバにおける複数のインデックスチャイルドテーブルの数と同一である。１つの領域サーバにおいて確立されるユーザチャイルドテーブル及びインデックスチャイルドテーブルは一対一の方式で結合され、すなわち、各ユーザチャイルドテーブルのキー範囲は、それの対応するインデックスチャイルドテーブルのものと同一である。本発明の実施例では、ユーザテーブル４１１及びインデックステーブル４１２は領域サーバ４１において確立され、ユーザテーブル４２１及びインデックステーブル４２２は領域サーバ４２において確立される。
【００２４】
ユーザテーブル４１１がユーザチャイルドテーブル４１１１及びユーザチャイルドテーブル４１１２を有し、インデックステーブル４１２がインデックスチャイルドテーブル４１２１及びインデックスチャイルドテーブル４１２２を有する場合、本発明の実施例では、ユーザチャイルドテーブル４１１１及びインデックスチャイルドテーブル４１２１が一対一方式により結合され、すなわち、ユーザチャイルドテーブル４１１１のキー範囲とインデックスチャイルドテーブル４１２１のものとは同じである。同様に、ユーザチャイルドテーブル４１１２及びインデックスチャイルドテーブル４１２２は一対一方式により結合される。
【００２５】
他方、ユーザテーブル４１２はユーザチャイルドテーブル４２１１及びユーザチャイルドテーブル４２１２を有し、インデックステーブル４２２はインデックスチャイルドテーブル４２２１及びインデックスチャイルドテーブル４２２２を有し、同様に、本発明の実施例では、ユーザチャイルドテーブル４２１１及びインデックスチャイルドテーブル４２２１は一対一方式により結合され、ユーザチャイルドテーブル４２１２及びインデックスチャイルドテーブル４２２２は一対一方式により結合される。
【００２６】
本発明の実施例では、ユーザテーブル及びインデックステーブルは、同じノード（領域サーバ）において確立され、一対一方式により結合され、ユーザデータがユーザにより書き込まれると、ユーザサイドは、ユーザテーブルに関連するデータのみを送信する必要があり、インデックステーブルに関連するデータを送信する必要はなく、すなわち、ユーザテーブルを書き込む一方の処理しか必要でなく、インデックステーブルを書き込む他方の処理は回避され、インデックステーブルのデータはプロセス内の呼び出しにより書き込み可能であり、データ書き込み段階のパフォーマンスを向上させることが可能であり、データ書き込みパフォーマンスの要求が高いユーザシーンにとって特に適している。
【００２７】
本発明の好適な実施例は、図面を参照して以下に説明される。
【００２８】
実施例１
本発明の実施例は、分散記憶システムにおけるセカンダリインデックスを確立する方法を提供する。図５は当該方法のフローチャートであり、図５を参照して、当該方法は、
ステップ５０１：ユーザクライアントにより送信されたユーザデータを受信するステップであって、ユーザデータはキー部分及び値部分を含む、受信するステップと、
ステップ５０２：ユーザデータに従ってユーザテーブルを決定するステップと、
ステップ５０３：ユーザデータをユーザテーブルに書き込むステップと、
ステップ５０４：ユーザデータに従ってインデックスデータを生成するステップと、
ステップ５０５：ユーザテーブルに対応するインデックステーブルにインデックスデータを書き込むステップであって、ユーザテーブル及びインデックステーブルは、分散記憶システムの１つのノードにおいて確立され、一対一方式により結合される、書き込むステップと、
を有する。
【００２９】
ステップ５０１において、各テーブルは、スタートキーからエンドキーまでのキー範囲を有し、ユーザデータの範囲キーは、通常はテーブルのスタートキーからエンドキーまでの範囲内にある。一般に、本発明の実施例では、ユーザデータはキー部分及び値部分を含み、ユーザデータのキー部分は２つの部分に分割されてもよく、一方は範囲キーであり、他方は特定のキーであり、範囲キーはスタートキーからエンドキーまでの何れかのキーに対応し、ユーザデータが何れのユーザテーブルに属するか示すのに利用され、特定のキーは、ユーザデータを一意的に示すのに利用される。従って、ユーザデータのキー部分の範囲キーによると、分散記憶システムは、何れのユーザテーブルがユーザデータを記憶するのに必要とされるか決定できる。
【００３０】
ステップ５０３において、ユーザテーブルを決定した後、分散記憶システムは、ユーザデータを書き込む処理を実行可能であり、ユーザデータを書き込む方法は従来技術と同じであり、さらには説明されない。
【００３１】
ステップ５０４において、分散記憶システムは、プロセス内呼び出しによって達成可能なユーザデータを利用することによってインデックスデータを生成可能であり、従って、ユーザクライアントからのインデックスデータに対する分散記憶システムの他の処理リクエストが回避可能であり、分散記憶システムによるインデックスデータを生成する方法は、ネットワークリソースを節約することが可能であり、従来のユーザクライアントＡＰＩパッケージング方式と比較してより効率的にできる。
【００３２】
生成されたインデックスデータはキー部分を有し、インデックスデータのキー部分は２つの部分、範囲キー及び特定のキーを有し、インデックスデータの範囲キーは、インデックスデータが属するインデックステーブルを示すのに利用され、インデックスデータの特定のキーは、インデックスデータを一意的に示すのに利用される。本発明の実施例では、ユーザテーブルのキー範囲とインデックステーブルのものとが同じであるため、インデックスデータの範囲キーはユーザデータの範囲キーに対応するか、インデックスデータの範囲キーはユーザテーブルのスタートキーを採用してもよく、又はインデックスデータの範囲キーはユーザテーブルのエンドキーを採用してもよい。
【００３３】
ステップ５０４の具体的な実施例では、分散記憶システムは、インデックスデータのキー部分の範囲キーとしてユーザデータのキー部分の範囲キーを抽出する。詳細が以下に説明される。
【００３４】
ステップ５０５において、ユーザテーブル及びインデックステーブルは一対一の関係を有するため、分散記憶システムは、ユーザテーブルに対応するインデックステーブルにインデックスデータを書き込むことができる。
【００３５】
各ユーザテーブルは複数のユーザチャイルドテーブルに分割されてもよく、各インデックステーブルは複数のインデックスチャイルドテーブルに分割されてもよい。ステップ５０２において、分散記憶システムは更に、ユーザデータに従ってユーザチャイルドテーブルを決定し、ステップ５０４において、ユーザデータをユーザチャイルドテーブルに書き込み、ステップ５０５において、ユーザチャイルドテーブルに対応するインデックスチャイルドテーブルにインデックスデータを書き込む。
【００３６】
図６ａはユーザチャイルドテーブルの実施例の概略図であり、実施例では、あるユーザデータがユーザチャイルドテーブルに記憶され、ユーザデータと同様に、ユーザチャイルドテーブルもまたキー部分及び値部分を有し、ユーザチャイルドテーブルのキー部分はユーザデータのキー部分を記憶するのに利用され、ユーザチャイルドテーブルの値部分はユーザデータの値部分を記憶するのに利用される。図６ａに示されるように、ユーザチャイルドテーブルのキー部分は“キー”と名付けられた１つのカラムを有し、ユーザチャイルドテーブルの値部分は、“売り手コード”と名付けられた１つのカラムを有し、実施例はこれに限定されず、他の実施例では、ユーザチャイルドテーブルの値部分はまた複数のカラムを有することが可能であることが理解されるべきである。図６ａに示されるように、ユーザデータはキー部分及び値部分を含み、実施例では、ユーザデータのキー部分は“ｂｕｙｅｒａ１２０１２０７０１１０００”であり、ユーザデータの値部分は“ｓｅｌｌｅｒｃ１”である。ユーザデータのキー部分は２つの部分を有し、一方は範囲キーであり、他方は特定のキーであり、図６ａに示される実施例では、範囲キーは“ｂｕｙｅｒａ”であり、特定のキーは“２０１２０７０１１０００”である。図６ｂは、インデックスチャイルドテーブルの実施例の概略図であり、実施例では、インデックスチャイルドテーブルは図６ａに示されるユーザチャイルドテーブルに対応し、それは、インデックスチャイルドテーブルのキー範囲がユーザチャイルドテーブルのものに同一であることを意味する。図６ｂに示されるように、インデックスデータは、図６ａに示されるようなユーザチャイルドテーブルに記憶されるユーザデータに従って生成される。図６ｂに示されるように、インデックスデータもまたキー部分及び値部分を含み、値部分はヌルであり、インデックスデータのキー部分は範囲キー及び特定のキーを有する。インデックスデータの範囲キーは“ｂｕｙｅｒａ”であり、それは、図６ａにおけるユーザテーブルのスタートキーであるか、又は図６ａにおけるユーザデータの範囲キーである。さらに、インデックスデータの特定のキーは“ｓｅｌｌｅｒｃ１  ｂｕｙｅｒａ１２０１２０７０１１０００”であり、ここで、“ｓｅｌｌｅｒｃ１”はユーザデータの値部分におけるインデックスカラムの値であり、“ｂｕｙｅｒａ１２０１２０７０１１０００”はユーザデータのキー部分である。図６ｂに示されるように、本実施例におけるインデックスデータのキー部分は、“ｂｕｙｅｒａ  ｓｅｌｌｅｒｃ１  ｂｕｙｅｒａ１２０１２０７０１１０００”である。
【００３７】
他の実施例では、ユーザチャイルドテーブルのインデックスカラムのカラム名もまた、図６ｃに示されるように、インデックスデータに含めることが可能であり、図６ｂの実施例と異なって、カラムの名前は、“ｂｕｙｅｒａ”と“ｓｅｌｌｅｒｃ１”との間に配置されるインデックスデータに含まれ、本実施例におけるインデックスデータのキー部分は、“ｂｕｙｅｒａ  ｓｅｌｌｅｒｃｏｄｅ  ｓｅｌｌｅｒｃ１  ｂｕｙｅｒａ１２０１２０７０１１０００”である。
【００３８】
本発明の一実施例では、ユーザデータの範囲キー（又はユーザチャイルドテーブルのスタートキー若しくはユーザチャイルドテーブルのエンドキー）、ユーザデータの値部分及びユーザデータのキー部分は、インデックスデータにおいて順次配置される。本発明の他の実施例では、ユーザデータの値部分はインデックスカラムの値を含む。
【００３９】
図６ｂ及び６ｃに示される実施例では、インデックスチャイルドテーブルの値部分はエンプティであり、すなわち、インデックスデータはキー部分しか含まないが、実施例はこれに限定されず、他の実施例では、インデックスデータの値部分が実際の要求に従って他の有用な情報により充填可能であることが理解されるべきである。
【００４０】
本発明の一実施例では、図４に示されるように、ユーザチャイルドテーブル及びユーザチャイルドテーブルに対応するインデックスチャイルドテーブルは、同じ領域サーバに記憶される。
【００４１】
本発明の実施例の容易な理解のため、図面を参照した詳細な説明が以下に与えられる。
【００４２】
ユーザテーブルにおいて３つのユーザチャイルドテーブルがあり、各ユーザチャイルドテーブルのキー範囲が、
ユーザチャイルドテーブル１：［ａ，ｂ）；
ユーザチャイルドテーブル２：［ｂ，ｃ）；
ユーザチャイルドテーブル３：［ｃ，ｄ）
であると仮定する。
【００４３】
従って、インデックステーブルには３つのインデックスチャイルドテーブルがあり、各インデックスチャイルドテーブルのキー範囲は、インデックスチャイルドテーブルが対応するユーザチャイルドテーブルのものと同じである。
インデックスチャイルドテーブル１：［ａ，ｂ）；
インデックスチャイルドテーブル２：［ｂ，ｃ）；
インデックスチャイルドテーブル３：［ｃ，ｄ）
すなわち、ユーザチャイルドテーブル１はインデックスチャイルドテーブル１に対応し、ユーザチャイルドテーブル２はインデックスチャイルドテーブル２に対応し、ユーザチャイルドテーブル３はインデックスチャイルドテーブル３に対応する。
【００４４】
上述されるように、全てのデータは辞書の順序により分散記憶システムに記憶されているため、キー“ａ０００１”のユーザデータがユーザにより書き込まれた場合、ユーザデータはユーザチャイルドテーブル１の［ａ，ｂ）のキー範囲に属するため、明らかに、ユーザデータはユーザチャイルドテーブル１に書き込まれるべきである。本発明の実施例によると、ステップ５０１〜５０３に説明されるように、ユーザデータはユーザチャイルドテーブル１に書き込まれた。
【００４５】
実施例では、ステップ５０４〜５０５に説明されるように、対応するインデックスデータが生成され、インデックスチャイルドテーブル１に格納される。すなわち、対応するインデックスデータもまた、インデックスチャイルドテーブル１の［ａ，ｂ）のキー範囲に属する。
【００４６】
本発明の実施例によると、生成されたインデックスデータが対応するインデックスチャイルドテーブルに属することを保証するため、ユーザデータの範囲キー“ａ”はインデックスチャイルドテーブルのキー部分のスタート部分に置かれる。
【００４７】
実施例では、インデックスデータの構造は、対応するユーザデータの範囲キー＋ユーザデータの値部分（インデックスカラムの名前又はインデックスカラムの名前及び値）＋ユーザデータのキー部分として定義される。これは単なる具体例であり、本発明はこれに限定されるものでない。例えば、対応するユーザデータの範囲キーを除いて、インデックスカラムの名前のポジション、インデックスカラムの値及びユーザデータのキー部分は、これらの何れかの組み合わせとすることができる。
【００４８】
図７は、１つの領域サーバに記憶されるユーザチャイルドテーブル及びそれの対応するインデックスチャイルドテーブルの概略図である。図７に示されるように、ユーザチャイルドテーブル１のキー範囲は［ｂｕｙｅｒａ，ｂｕｙｅｒｂ）であり、従って、対応するインデックスチャイルドテーブル１のキー範囲もまた［ｂｕｙｅｒａ，ｂｕｙｅｒｂ）である。本発明の実施例によると、ユーザデータの３つのレコードがユーザチャイルドテーブル１に書き込まれ、従って、インデックスデータの３つのレコードが生成され、インデックスチャイルドテーブル１に書き込まれる。３番目のレコードについて、ユーザデータのキー部分は“ｂｕｙｅｒａ１２０１２０８１０１１００”であり、ユーザデータの値部分は“ｓｅｌｌｅｒｃ３”であり、従って、インデックスデータのキー部分は“ｂｕｙｅｒａ  ｓｅｌｌｅｒｃｏｄｅ  ｓｅｌｌｅｒｃ３  ｂｕｙｅｒａ１２０１２０８１０１１００”であり、従って、ユーザデータの範囲キーはインデックスデータのキー部分に書き込まれ、ユーザが売り手コード“ｓｅｌｌｅｒｃ３”の全ての取引レコードを取得することを所望するとき、これらのレコードはインデックスチャイルドテーブルに隣接して記憶されているため、これらのレコードを読み出しことは容易であり、データを復号化することによって、ユーザは、ユーザデータに従ってユーザチャイルドテーブルをサーチすることによって所望のデータを取得するため、ユーザデータ“ｂｕｙｅｒａ１２０１２０８１０１１００”を取得可能である。
【００４９】
本発明の実施例によると、ユーザチャイルドテーブル及びインデックスチャイルドテーブルを結合することによって、ノードにわたる２つのリモート書き込み処理が１つに低減され、データ読み込みはもはやノード間のデータが必要とされる処理でなくなり、ネットワークリクエストの数は大きく低減され、これに従ってパフォーマンスが向上する。
【００５０】
本発明の実施例は更に、セカンダリインデックス確立装置を提供し、以下の実施例２に説明されるように、問題を解決するための装置の原理は実施例１におけるセカンダリインデックスを確立する方法のものと同じであるため、それの具体的な実現形態は実施例１の方法の実現形態を参照可能であり。類似点はさらには説明されない。
【００５１】
実施例２
本発明の実施例は更に、セカンダリインデックス確立装置を提供する。図８は当該装置の概略図であり、図８を参照して、当該装置は、
ユーザクライアントにより送信されたユーザデータを受信するよう構成される受信ユニット８１であって、ユーザデータはキー部分及び値部分を含む、受信ユニット８１と、
ユーザデータに従ってユーザテーブルを決定するよう構成される決定ユニット８２と、
ユーザデータをユーザテーブルに書き込むよう構成される第１書き込みユニット８３と、
ユーザデータに従ってインデックスデータを生成するよう構成される生成ユニット８４と、
ユーザテーブルに対応するインデックステーブルにインデックスデータを書き込むよう構成される第２書き込みユニット８５であって、ユーザテーブル及びインデックステーブルは、分散記憶システムの１つのノードにおいて確立され、一対一方式で結合される、第２書き込みユニット８５と、
を有する。
【００５２】
実施例では、ユーザテーブルのキー範囲及びインデックステーブルのものは同じである。
【００５３】
実施例では、ユーザテーブルは複数のユーザチャイルドテーブルを有し、インデックステーブルは複数のインデックスチャイルドテーブルを有し、複数のユーザチャイルドテーブルの数は、複数のインデックスチャイルドテーブルの数と同一であり、各ユーザチャイルドテーブルのキー範囲は、それの対応するインデックスチャイルドテーブルのものと同一である。
【００５４】
実施例では、第１書き込みユニット８３は、第１決定モジュール８３１及び第１書き込みモジュール８３２を有し、第１決定モジュール８３１は、ユーザデータに従ってユーザチャイルドテーブルを決定するよう構成され、第１書き込みモジュール８３２は、ユーザデータをユーザチャイルドテーブルに書き込むよう構成される。
【００５５】
実施例では、第２書き込みユニット８５は第２書き込みモジュール８５１を有し、第２書き込みモジュールは、ユーザチャイルドテーブルに対応するインデックスチャイルドテーブルにインデックスデータを書き込むよう構成される。
【００５６】
実施例では、生成ユニット８４は第２決定モジュール８４１及び生成モジュール８４２を有し、第２決定モジュール８４１は、インデックスデータの範囲キー及びインデックスデータの特定のキーを決定するよう構成され、インデックスデータの範囲キーは、ユーザデータの範囲キー、ユーザチャイルドテーブルのスタートキー又はユーザチャイルドテーブルのエンドキーを有し、インデックスデータの特定のキーは、ユーザデータの値部分及びユーザデータのキー部分を有し、生成モジュール８４２は、インデックスデータの範囲キー及びインデックスデータの特定のキーに従ってインデックスデータを生成するよう構成される。ここで、第２決定モジュール８４１は、ユーザデータの範囲キー、ユーザチャイルドテーブルのスタートキー又はユーザチャイルドテーブルのエンドキーを抽出することによって、インデックスデータの範囲キーを決定できる。ここで、インデックスデータにおいて採用されるユーザデータの値部分はインデックスカラムの値に関連し、インデックスデータは更にユーザチャイルドテーブルにおけるインデックスカラムの名前を有する。
【００５７】
実施例では、インデックスカラムの名前、インデックスカラムの値及びユーザデータのキー部分は、インデックスデータにおいて順次配置される。
【００５８】
本発明の実施例によると、ユーザチャイルドテーブル及びインデックスチャイルドテーブルを結合することによって、ノードにわたる２つのリモート書き込み処理が１つに低減され、データ読み込みはもはやノード間のデータを必要とする処理でなく、ネットワークリクエストの数は大きく低減され、これに従ってパフォーマンスが向上する。
【００５９】
実施例３
本発明の実施例は更に分散記憶システムを提供する。図９は当該システムの概略図であり、図９を参照して、当該システムは少なくとも１つの領域サーバ９１及びセカンダリインデックス確立装置９２を有し、
領域サーバのそれぞれは、少なくとも１つのユーザテーブル及び少なくとも１つのユーザテーブルに対応する少なくとも１つのインデックステーブルを記憶し、ユーザテーブルのそれぞれの範囲キーは、ユーザテーブルに対応するインデックステーブルのものと同一であり、
セカンダリインデックス確立装置９２は、実施例において説明されるような装置により実現可能であり、実施例２における内容がここに含まれ、さらには説明されない。
【００６０】
ここで、同一の領域サーバ９１に記憶されるユーザテーブル及びそれの対応するインデックステーブルの記憶形態は図４において説明されるものと同じであり、その内容がここに含まれ、さらには説明されない。
【００６１】
分散記憶システムでは、領域サーバの動作又は損傷中のロードバランシングを考慮して、チャイルドテーブルのマイグレーションが通常行われ、チャイルドテーブルが他の領域サーバにマイグレートしているとき、ユーザチャイルドテーブル及びインデックスチャイルドテーブルが一緒にマイグレートされる。
【００６２】
本発明の実施例によると、ユーザチャイルドテーブル及びインデックスチャイルドテーブルを結合することによって、ノードにわたる２つのリモート書き込み処理が１つに低減され、データ読み込みはもはやノード間のデータを必要とする処理でなく、ネットワークリクエストの数は大きく低減され、これに従ってパフォーマンスが向上する。
【００６３】
本発明の好適な実施例は、図面を参照して上述された。実施例の多くの特徴及び効果は詳細な明細書から明らかであり、従って、それの真の精神及び範囲内に属する実施例のこのような全ての特徴及び効果をカバーすることは添付した請求項により意図される。さらに、多数の修正及び変更が当業者に容易に想到するため、図示及び説明された正確な構成及び処理に本発明の実施例を限定することは所望されず、従って、全ての適した修正及び等価がそれの範囲内に属すると主張されてもよい。
【００６４】
本発明の各部分はハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせにより実現されてもよいことが理解されるべきである。上記の実施例では、複数のステップ又は方法は、メモリに記憶され、適切な命令実行システムにより実行されるソフトウェア又はファームウェアにより実現されてもよい。例えば、それがハードウェアにより実現される場合、それは、他の実施例と同様に、当該技術において知られている以下の技術、すなわち、データ信号の論理機能を実現するための論理ゲート回路を有する離散的な論理回路、適切な合成された論理ゲート回路を有する特定用途向け集積回路、プログラマブル・ゲート・アレイ（ＰＧＡ）及びフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）などの何れか１つ又はそれらの組み合わせにより実現されてもよい。
【００６５】
フローチャート又は他の方式における何れかの処理又は方法の説明又はブロックは、特定の論理機能又は処理におけるステップの実行可能な命令のコードを実現するための１以上のモジュール、セグメント又はパーツを有することを示すものとして理解されてもよく、本発明の好適な実施例の範囲は他の実現形態を有し、当該機能は、実質的に同時の方式又は反対の順序により関連する機能に従って機能を実行することを含む、図示又は説明されるものと異なる方式により実行されてもよく、本発明が属する当業者により理解されるべきである。
【００６６】
フローチャートに示され、又は他の方式により説明されるロジック及び／又はステップは、ここでは例えば、命令実行システム、デバイス又は装置（コンピュータを有するシステム、プロセッサを有するシステム、又は命令実行システム、デバイス又は装置から命令を抽出し、当該命令を実行可能な他のシステムなど）による利用のため、又は、命令実行システム、デバイス又は装置と共に利用するため、何れかのコンピュータ可読媒体に実現されてもよい、ロジック機能を実現するための実行可能な命令のシーケンス化リストとして理解されてもよい。ここで用いられるように、“コンピュータ可読媒体”は、命令実行システム、デバイス又は装置により利用のため、プログラムを内蔵、記憶、通信、伝搬又は送信可能な何れかの装置とすることが可能であり、又は命令実行システム、デバイス又は装置と共に利用可能である。コンピュータ可読媒体は、例えば、限定することなく、電子、磁気、光、電磁気、赤外線又は半導体システム、デバイス、装置又は伝搬媒体であってもよい。コンピュータ可読媒体のより詳細な具体例（非包括的なリスト）は、以下、すなわち、１以上の配線を有する電気接続部分（電子デバイス）、ポータブルコンピュータハードウェアボックス（磁気デバイス）、ランダム・アクセス・メモリ（ＲＡＭ）（電子デバイス）、読み出し専用メモリ（ＲＯＭ）（電子デバイス）、消去可能なプログラマブル読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）（電子デバイス）、光ファイバ（光デバイス）及びポータブルコンパクトディスク読み出し専用メモリ（ＣＤＲＯＭ）（光デバイス）を有してもよい。さらに、プログラムが紙又は他の適切な媒体を光学的にスキャンし、その後に、必要に応じて他の適切な方式によりコンパイル、インタープリット又は処理することを通じて電子的に取得されるとき、コンピュータ記憶媒体は、プログラムが印刷可能な紙や他の適切な媒体であってもよく、その後、当該プログラムはコンピュータメモリに記憶される。
【００６７】
上記の文字による説明及び図面は本発明の各種特徴を示す。当業者が上述され、図面に図示されたステップ及び処理のそれぞれを実行するのに適したコンピュータコードを準備してもよいことが理解されるべきである。上述した端末、コンピュータ、サーバ及びネットワークなどは何れかのタイプであってもよく、コンピュータコードはデバイスを利用することにより本発明を実行するためここに含まれる開示に従って準備されてもよいことがまた理解されるべきである。
【００６８】
本発明の特定の実施例がここに開示された。当業者は、本発明が他の環境において適用可能であることを容易に認識するであろう。実際、多くの実施例及び実現形態が存在する。添付した請求項は、本発明の範囲を上記の特定の実施例に限定すること意図していない。さらに、“〜するためのデバイス”の何れかの参照は、要素及び請求項を説明するためのデバイス・プラス・ファンクションの説明であり、“〜するためのデバイス”の参照を用いない何れかの要素は、“デバイス”の単語が当該請求項に含まれたとしても、デバイス・プラス・ファンクションの要素として理解されることは所望されない。
【００６９】
特定の好適な実施例が示され、本発明が説明されたが、当該説明及び図面を読み理解した当業者には等価な修正及び変更が想到可能であることは明らかである。特に、上記の要素（部分、アセンブリ、装置及び構成など）により実行される各種機能について、特段の断りがない場合、要素が構成に関して本発明において示される一例となる実施例の機能を実行することと異なっていても、これらの要素を説明する用語（“デバイス”の参照を含む）はこれらの要素の特定の機能を実行する何れかの要素に対応することが望ましい。さらに、本発明の特定の特徴が図示された実施例の１以上のみに関して説明されているが、このような特徴は、何れか所与の又は特定の適用の効果的な態様を考慮して、所望されるような他の実施例の１以上の他の特徴と組み合わされてもよい。
【図１】
2016522928.tif 000003
【図２】
2016522928.tif 000004
【図３】
2016522928.tif 000005
【図４】
2016522928.tif 000006
【図５】
2016522928.tif 000007
【図６ａ】
2016522928.tif 000008
【図６ｂ】
2016522928.tif 000009
【図６ｃ】
2016522928.tif 000010
【図７】
2016522928.tif 000011
【図８】
2016522928.tif 000012
【図９】
2016522928.tif 000013
【手続補正書】
【提出日】平成27年10月28日(2015.10.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
分散記憶システムにおけるセカンダリインデックスを確立する方法であって、
ユーザクライアントにより送信されたユーザデータを受信するステップであって、前記ユーザデータはキー部分及び値部分を含む、受信するステップと、
前記ユーザデータに従ってユーザテーブルを決定するステップと、
前記ユーザデータを前記ユーザテーブルに書き込むステップと、
前記ユーザデータに従ってインデックスデータを生成するステップと、
前記ユーザテーブルに対応するインデックステーブルに前記インデックスデータを書き込むステップであって、前記ユーザテーブル及び前記インデックステーブルは、前記分散記憶システムの１つのノードにおいて確立され、一対一方式により結合される、書き込むステップと、
を有する方法。
【請求項２】
前記ユーザテーブルのキー範囲と前記インデックステーブルのキー範囲とは同じである、請求項１記載の方法。
【請求項３】
前記ユーザテーブルは、複数のユーザチャイルドテーブルを有し、前記インデックステーブルは、複数のインデックスチャイルドテーブルを有し、
前記複数のユーザチャイルドテーブルの数は前記複数のインデックスチャイルドテーブルの数と同じであり、
各ユーザチャイルドテーブルのキー範囲は対応するインデックスチャイルドテーブルのキー範囲と同じである、請求項２記載の方法。
【請求項４】
前記ユーザデータを前記ユーザテーブルに書き込むステップは、
前記ユーザデータに従ってユーザチャイルドテーブルを決定するステップと、
前記ユーザデータを前記ユーザチャイルドテーブルに書き込むステップと、
を有し、
前記インデックステーブルに前記インデックスデータを書き込むステップは、
前記インデックスデータを前記ユーザチャイルドテーブルに対応するインデックスチャイルドテーブルに書き込むステップを有する、請求項３記載の方法。
【請求項５】
前記ユーザデータに従ってインデックスデータを生成するステップは、
前記インデックスデータの範囲キー及び前記インデックスデータの特定のキーを決定するステップであって、前記インデックスデータの範囲キーは、前記ユーザデータの範囲キー、前記ユーザチャイルドテーブルのスタートキー又は前記ユーザチャイルドテーブルのエンドキーを有し、前記インデックスデータの特定のキーは、前記ユーザデータの値部分及び前記ユーザデータのキー部分を有する、決定するステップと、
前記インデックスデータの範囲キー及び前記インデックスデータの特定のキーに従って前記インデックスデータを生成するステップと、
を有する、請求項４記載の方法。
【請求項６】
前記インデックスデータに採用される前記ユーザデータの値部分は、インデックスカラムの値に関連する、請求項５記載の方法。
【請求項７】
前記インデックスデータは更に、前記ユーザチャイルドテーブルにおいてインデックスカラムの名前を有する、請求項６記載の方法。
【請求項８】
前記インデックスカラムの名前、前記インデックスカラムの値及び前記ユーザデータのキー部分は、前記インデックスデータにおいて順次配置される、請求項７記載の方法。
【請求項９】
前記インデックスデータの範囲キーを決定するステップは、
前記ユーザデータの範囲キー、前記ユーザチャイルドテーブルのスタートキー又は前記ユーザチャイルドテーブルのエンドキーを抽出するステップを有する、請求項５記載の方法。
【請求項１０】
セカンダリインデックス確立装置であって、
ユーザクライアントにより送信されたユーザデータを受信するよう構成される受信ユニットであって、前記ユーザデータはキー部分及び値部分を含む、受信ユニットと、
前記ユーザデータに従ってユーザテーブルを決定するよう構成される決定ユニットと、
前記ユーザデータを前記ユーザテーブルに書き込むよう構成される第１書き込みユニットと、
前記ユーザデータに従ってインデックスデータを生成するよう構成される生成ユニットと、
前記ユーザテーブルに対応するインデックステーブルに前記インデックスデータを書き込むよう構成される第２書き込みユニットであって、前記ユーザテーブル及び前記インデックステーブルは、分散記憶システムの１つのノードにおいて確立され、一対一方式で結合される、第２書き込みユニットと、
を有するセカンダリインデックス確立装置。
【請求項１１】
前記ユーザテーブルのキー範囲及び前記インデックステーブルのキー範囲は同じである、請求項１０記載の装置。
【請求項１２】
前記ユーザテーブルは複数のユーザチャイルドテーブルを有し、前記インデックステーブルは複数のインデックスチャイルドテーブルを有し、
前記複数のユーザチャイルドテーブルの数は、前記複数のインデックスチャイルドテーブルの数と同一であり、各ユーザチャイルドテーブルのキー範囲は、対応するインデックスチャイルドテーブルのキー範囲と同一である、請求項１１記載の装置。
【請求項１３】
前記第１書き込みユニットは、
前記ユーザデータに従ってユーザチャイルドテーブルを決定するよう構成される第１決定モジュールと、
前記ユーザデータを前記ユーザチャイルドテーブルに書き込むよう構成される第１書き込みモジュールと、
を有し、
前記第２書き込みユニットは、前記ユーザチャイルドテーブルに対応するインデックスチャイルドテーブルに前記インデックスデータを書き込むよう構成される第２書き込みモジュールを有する、請求項１２記載の装置。
【請求項１４】
前記生成ユニットは、
前記インデックスデータの範囲キー及び前記インデックスデータの特定のキーを決定するよう構成される第２決定モジュールであって、前記インデックスデータの範囲キーは、前記ユーザデータの範囲キー、前記ユーザチャイルドテーブルのスタートキー又は前記ユーザチャイルドテーブルのエンドキーを有し、前記インデックスデータの特定のキーは、前記ユーザデータの値部分及び前記ユーザデータのキー部分を有する、第２決定モジュールと、
前記インデックスデータの範囲キー及び前記インデックスデータの特定のキーに従ってインデックスデータを生成するよう構成される生成モジュールと、
を有する、請求項１３記載の装置。
【請求項１５】
前記インデックスデータにおいて採用される前記ユーザデータの値部分は、インデックスカラムの値に関連する、請求項１４記載の装置。
【請求項１６】
前記インデックスデータは更に、前記ユーザチャイルドテーブルにおけるインデックスカラムの名前を有する、請求項１５記載の装置。
【請求項１７】
前記インデックスカラムの名前、前記インデックスカラムの値及び前記ユーザデータのキー部分は、前記インデックスデータにおいて順次配置される、請求項１６記載の装置。
【請求項１８】
前記第２決定モジュールは、
前記ユーザデータの範囲キー、前記ユーザチャイルドテーブルのスタートキー又は前記ユーザチャイルドテーブルのエンドキーを抽出するよう構成される、請求項１４記載の装置。
【請求項１９】
分散記憶システムであって、
少なくとも１つの領域サーバであって、前記領域サーバのそれぞれは、少なくとも１つのユーザテーブル及び前記少なくとも１つのユーザテーブルに対応する少なくとも１つのインデックステーブルを記憶し、前記ユーザテーブルのそれぞれの範囲キーは、前記ユーザテーブルに対応するインデックステーブルの範囲キーと同一である、領域サーバと、
請求項１０乃至１８何れか一項記載のセカンダリインデックス確立装置と、
を有する分散記憶システム。
【国際調査報告】
2016522928.tif 000014
2016522928.tif 000015