JP2015530666A - データインデックス化方法及び装置 - Google Patents

データインデックス化方法及び装置 Download PDF

Info

Publication number
JP2015530666A
JP2015530666A JP2015532276A JP2015532276A JP2015530666A JP 2015530666 A JP2015530666 A JP 2015530666A JP 2015532276 A JP2015532276 A JP 2015532276A JP 2015532276 A JP2015532276 A JP 2015532276A JP 2015530666 A JP2015530666 A JP 2015530666A
Authority
JP
Japan
Prior art keywords
address
dimensional
data
record
address record
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.)
Granted
Application number
JP2015532276A
Other languages
English (en)
Other versions
JP6148732B2 (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2015530666A publication Critical patent/JP2015530666A/ja
Application granted granted Critical
Publication of JP6148732B2 publication Critical patent/JP6148732B2/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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (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)

Abstract

本発明の実施例は、データインデックス化方法及び装置を開示する。本発明の実施例により提供されるデータインデックス化方法及び装置によれば、N次元に対応しており互いに独立したN個の1次元インデックスがN次元に従って取得され、交わり集合に対応するアドレスレコードにより示されるデータを取得するために、次元に対応しており互いに独立したN個の1次元インデックスに含まれるアドレスレコードが交わり集合を有するか否かが決定される。データは、目的のインデックス化データとして使用され、これにより、1次元インデックス化技術が多次元インデックス化の組み合わせクエリ及び多次元分析の要件を満たすことができないという課題を解決する。更に、N個の1次元インデックスに含まれるアドレスレコードに対応するタグ番号フラグビットのカウント値を決定することにより、多次元分析の速度要件が容易且つ便利に満たされ、インデックス化の複雑性が低減され、正確なデータインデックス化の性能が改善される。

Description

この出願は、“DATA INDEXING METHOD AND APPARATUS”という題で2012年9月24日に中国専利局に出願された中国特許出願第201210356475.5号の優先権を主張し、この全内容を援用する。
本発明は、データインデックス化技術の分野に関し、特にデータインデックス化方法及び装置に関する。
ビジネスインテリジェンス(Business Intelligence、Business Intelligent)の発展により、大量データの高速統計処理及びインデックス化が、通信サービス品質管理、ネットワーク性能管理、及びインターネットアプリケーション分析のような様々な分野で必要とされている。一般的な1次元インデックス化技術は、大量データの高速記憶、統計処理及びインデックス化の高い要件をまだ満たすことができない。
現在では、分散ストレージシステム(Hadoop Database)を使用するデータインデックス化技術は、大量データのインデックス化の問題を解決し、インデックス化データは、主に大量データを分割することにより生成され、データは、列ストア(column-store)方式で異なる部分のメモリに記憶され、データは、1次元インデックス化技術を使用することによりインデックス化される。
分散ストレージシステム(Hadoop Database)のデータに基づいて生成された1次元インデックス化技術では、限られたインデックス化データのみが生成可能であり、大量のインデックス化データは、外部記憶媒体に記憶されなければならない。更に、1次元インデックス化技術は、多次元分析及び多次元インデックス化の組み合わせクエリの要件を満たすことができず、1次元インデックス化の速度は、大量のデータが追加された後に減少する。その結果、目的のデータは、迅速且つ便利に問い合わせることができず、これにより、用途の多用性を制限する。従って、大量データの高速統計処理及びインデックス化を満たすために、多次元インデックス化技術が新たな研究方向になっている。
このことを鑑みて、本発明の実施例は、1次元インデックス化の限られた用途の多用性及び低いインデックス化効率の問題を解決するデータインデックス化方法及び装置を提供する。
本発明の実施例の態様は、データインデックス化方法を提供し、N次元に対応しており互いに独立したN個の1次元インデックスを取得するステップであり、ただし、Nは2以上であるステップと、N個の1次元インデックスに含まれるアドレスレコードが交わり集合(共通集合)を有するか否かを決定するステップと、交わり集合が存在する場合、交わり集合に対応するアドレスレコードにより示されるデータを取得するステップであり、ただし、データは目的のインデックス化データとして使用されるステップとを含む。
任意選択の実装方法として、N個の1次元インデックスに含まれるアドレスレコードが交わり集合を有するか否かを決定するステップは、N個の1次元インデックスに含まれるアドレスレコードに同じアドレスレコードが存在するか否かを決定するステップと、N個の1次元インデックスに含まれるアドレスレコードに同じアドレスレコードが存在する場合、N個の1次元インデックスに含まれるアドレスレコードが交わり集合を有すると決定するステップとを含む。
任意選択の実装方法として、N個の1次元インデックスに含まれるアドレスレコードに同じアドレスレコードが存在するか否かを決定するステップは、N次元に従って、N次元に対応する1次元インデックスのアドレスレコードを取得するステップと、各アドレスレコードに対応するタグ番号フラグビットのカウント値に1を追加するステップと、各アドレスレコードに対応するタグ番号フラグビットのカウント値がNに等しいか否かを決定するステップと、そうである場合、アドレスレコードに対応するタグ番号フラグビットのカウント値がNに等しいアドレスレコードを、同じアドレスレコードとして選択するステップとを含む。
任意選択の実装方法として、N個の1次元インデックスに含まれるアドレスレコードに同じアドレスレコードが存在するか否かを決定するステップは、A:N個の1次元インデックスから第Kの1次元インデックスを取得するステップであり、ただし、第Kの1次元インデックスは、現在の1次元インデックスとして使用され、KはN未満であり、Kは0より大きいステップと、B:現在の1次元インデックスのアドレスレコードを取得するステップと、C:アドレスレコードに対応するタグ番号フラグビットのカウント値に1を追加するステップと、D:N個の1次元インデックスから第(K+1)の1次元インデックスを取得するステップであり、ただし、第(K+1)の1次元インデックスは、現在の1次元インデックスとして使用されるステップと、E:K+1がNに等しいか否かを決定し、K+1がNに等しくない場合、ステップBを実行するステップと、F:K+1がNに等しいという結果に従って、第Nの1次元インデックスのアドレスレコードを取得するステップと、G:第Nの1次元インデックスのアドレスレコードに対応するタグ番号フラグビットのカウント値がN-1に等しいか否かを決定するステップと、H:第Nの1次元インデックスのアドレスレコードに対応するタグ番号フラグビットのカウント値がN-1に等しい場合、第Nの1次元インデックスのアドレスレコードに対応するタグ番号フラグビットのカウント値がN-1に等しいアドレスレコードを、同じアドレスレコードとして選択するステップとを含む。
任意選択の実装方法として、アドレスレコードに対応するタグ番号フラグビットをカウントする前に、この方法は、アドレスレコードに対応するタグ番号フラグビットのカウント値を0に初期化するステップを更に含む。
任意選択の実装方法として、N次元に対応しており互いに独立したN個の1次元インデックスを取得する前に、この方法は、メタデータに従って複数のデータをi個のコンテナ・データファイルに分割するステップと、分類基準に従って、各コンテナ・データファイルのデータについて独立した1次元インデックスを生成するステップと、i個の異なる記憶処理ノードについての情報を含むインデックステーブルを生成するために、各コンテナ・データファイルと、各コンテナ・データファイルに対応して含まれる1次元インデックスとを同じ記憶処理ノードに記憶するステップとを更に含む。
任意選択の実装方法として、インデックステーブルは、キー値テーブルとアドレス割り当てテーブルとを含み、アドレス割り当てテーブルは、各1次元インデックスのキー値に対応するアドレスレコードを記録し、キー値テーブルは、各1次元インデックスのキー値と、キー値に対応する記憶アドレスとを含み、キー値に対応する記憶アドレスは、キー値に対応するアドレスレコードを示すために使用され、アドレスレコードは、データがコンテナ・データファイルに記録されるオフセット位置を示し、レコード番号とレコード長とを含む。
任意選択の実装方法として、キー値テーブルの記憶方法は、順序付き線形記憶方法(ordered linear storage manner)又はバイナリツリー記憶方法(binary-tree storage manner)を含む。
任意選択の実装方法として、ブロック記憶方法が、アドレス割り当てテーブルの記憶方法として使用される。
本発明の実施例の他の態様は、データインデックス化装置を提供し、N次元に対応しており互いに独立したN個の1次元インデックスを取得するように構成された第1のユニットであり、ただし、Nは2以上である第1のユニットと、N個の1次元インデックスに含まれるアドレスレコードが交わり集合(共通集合)を有するか否かを決定するように構成された第2のユニットと、交わり集合に対応するアドレスレコードにより示されるデータを取得するように構成された第3のユニットであり、ただし、データは目的のインデックス化データとして使用される第3のユニットとを含む。
任意選択の実装方法として、第2のユニットは、N個の1次元インデックスに含まれるアドレスレコードに同じアドレスレコードが存在するか否かを決定し、N個の1次元インデックスに含まれるアドレスレコードに同じアドレスレコードが存在する場合、N個の1次元インデックスに含まれるアドレスレコードが交わり集合を有すると決定するように特に構成される。
任意選択の実装方法として、第2のユニットは、N個の1次元インデックスのアドレスレコードを取得するように構成された第1のサブユニットと、各アドレスレコードに対応するタグ番号フラグビットのカウント値に1を追加するように構成された第2のサブユニットと、各アドレスレコードに対応するタグ番号フラグビットのカウント値がNに等しいか否かを決定するように構成された第3のサブユニットと、アドレスレコードに対応するタグ番号フラグビットのカウント値がNに等しいと第3のサブユニットが決定した通知に従って、アドレスレコードに対応するタグ番号フラグビットのカウント値がNに等しいアドレスレコードを、同じアドレスレコードとして選択するように構成された第4のサブユニットとを含む。
任意選択の実装方法として、第2のユニットは、N個の1次元インデックスから第Kの1次元インデックスを取得するように構成された第1の取得ユニットであり、ただし、第Kの1次元インデックスは、現在の1次元インデックスとして使用され、KはN未満であり、Kは0より大きい第1の取得ユニットと、現在の1次元インデックスのアドレスレコードを取得するように構成された第2の取得ユニットと、現在の1次元インデックスのアドレスレコードに対応するタグ番号フラグビットのカウント値に1を追加するように構成されたカウントユニットとを含み、第1の取得ユニットは、N個の1次元インデックスから第(K+1)の1次元インデックスを取得するように更に構成され、ただし、第(K+1)の1次元インデックスは、現在の1次元インデックスとして使用され、K+1がNに等しいか否かを決定し、K+1がNに等しくない場合、第2の取得ユニットに対して現在の1次元インデックスのアドレスレコードを取得するよう制御するように構成された制御ユニットを含み、第1の取得ユニットは、K+1がNに等しいと制御ユニットが決定した結果に従って、第Nの1次元インデックスのアドレスレコードを取得するように更に構成され、制御ユニットは、第Nの1次元インデックスのアドレスレコードに対応するタグ番号フラグビットのカウント値がN-1に等しいか否かを決定するように更に構成され、第1の取得ユニットは、第Nの1次元インデックスのアドレスレコードに対応するタグ番号フラグビットのカウント値がN-1に等しいと制御ユニットが決定した通知に従って、第Nの1次元インデックスのアドレスレコードに対応するタグ番号フラグビットのカウント値がN-1に等しいアドレスレコードを、同じアドレスレコードとして選択するように更に構成される。
任意選択の実装方法として、第2のユニットは、アドレスレコードに対応するタグ番号フラグビットのカウント値を0に初期化するように構成された初期化ユニットを更に含む。
任意選択の実装方法として、データインデックス化装置は、メタデータに従って複数のデータをi個のコンテナ・データファイルに分割するように構成された分割記憶ユニットと、分類基準に従って、各コンテナ・データファイルのデータについて独立した1次元インデックスを生成するように構成された処理ユニットとを更に含み、処理ユニットは、i個の異なる記憶処理ノードについての情報を含むインデックステーブルを生成するために、各コンテナ・データファイルと、各コンテナ・データファイルに対応して含まれる1次元インデックスとを同じ記憶処理ノードに記憶するように更に構成される。
任意選択の実装方法として、インデックステーブルは、キー値テーブルとアドレス割り当てテーブルとを含み、アドレス割り当てテーブルは、各1次元インデックスのキー値に対応するアドレスレコードを記録し、キー値テーブルは、各1次元インデックスのキー値と、キー値に対応する記憶アドレスとを含み、キー値に対応する記憶アドレスは、キー値に対応するアドレスレコードを示すために使用され、アドレスレコードは、データがコンテナ・データファイルに記録されるオフセット位置を示し、レコード番号とレコード長とを含む。
任意選択の実装方法として、キー値テーブルの記憶方法は、順序付き線形記憶方法(ordered linear storage manner)又はバイナリツリー記憶方法(binary-tree storage manner)を含む。
任意選択の実装方法として、ブロック記憶方法が、アドレス割り当てテーブルの記憶方法として使用される。
本発明の実施例により提供されるデータインデックス化方法によれば、N次元に対応しており互いに独立したN個の1次元インデックスがN次元に従って取得され、交わり集合に対応するアドレスレコードにより示されるデータを取得するために、次元に対応しており互いに独立したN個の1次元インデックスに含まれるアドレスレコードが交わり集合を有するか否かが決定される。データは、目的のインデックス化データとして使用され、これにより、1次元インデックス化技術が多次元インデックス化の組み合わせクエリ及び多次元分析の要件を満たすことができないという要件を解決する。更に、N個の1次元インデックスに含まれるアドレスレコードに対応するタグ番号フラグビットのカウント値を決定することにより、多次元分析の速度要件が容易且つ便利に実現され、インデックス化の複雑性が低減され、正確なデータインデックス化の性能が改善される。
本発明の実施例1によるデータインデックス化方法の概略図 本発明の実施例1による他のデータインデックス化方法の概略図 本発明の実施例1による更に他のデータインデックス化方法の概略図 本発明の実施例1に従ってデータを分割して1次元インデックスを生成する概略図 本発明の実施例1によるインデックステーブルのコンテナ・データファイルCDF1に含まれる1次元インデックスのキー値とアドレスとの間の割り当て関係の概略図 本発明の実施例による多次元キーインジケータの分散記憶の概略適用図 本発明の実施例に従って詳細レコード記憶クエリにおいてデータインデックス化方法を適用する概略適用図 本発明の実施例2によるデータインデックス化装置の構成図 本発明の実施例2による第2のユニットの構成図 本発明の実施例2による第2のユニットの他の構成図 本発明の実施例2による他のデータインデックス化装置の構成図
本発明の実施例又は従来技術の技術的対策を明瞭に説明するために、実施例又は従来技術を説明するために必要な添付図面について以下に簡単に紹介する。明らかに、以下の説明において、添付図面は単なる本発明のいくつかの実施例を示しているに過ぎず、当業者は、創造的取り組みを行うことなく、依然としてこれらの添付図面から他の図面を導くことができる。
本発明により解決される技術的課題、技術的対策及び有利な効果をわかりやすくするために、以下に、本発明について添付図面及び実施例を参照して詳細に説明する。
図1は、本発明の実施例1によるデータインデックス化方法の概略図である。図1に示すように、この実施例により提供されるデータインデックス化方法は、以下のステップを含む。
S110:N次元に対応しており互いに独立したN個の1次元インデックスを取得する。ただし、Nは2以上である。
S120:N個の1次元インデックスに含まれるアドレスレコードが交わり集合(共通集合)を有するか否かを決定する。
交わり集合が存在する場合、ステップS130を実行する。交わり集合が存在しない場合、ステップS131を実行する、すなわち、この手順を終了する。
S130:交わり集合に対応するアドレスレコードにより示されるデータを取得する。ただし、データは目的のインデックス化データとして使用される。
この実施例では、N次元に対応しており互いに独立したN個の1次元インデックスがN次元に従って取得され、交わり集合に対応するアドレスレコードにより示されるデータを取得するために、次元に対応しており互いに独立したN個の1次元インデックスに含まれるアドレスレコードが交わり集合を有するか否かが決定される。データは、目的のインデックス化データとして使用され、これにより、1次元インデックス化技術が多次元インデックス化の組み合わせクエリ及び多次元分析の要件を満たすことができないという課題を解決する。
任意選択の実装方法として、図1に示すステップS120に基づいて、N個の1次元インデックスに含まれるアドレスレコードが交わり集合を有するか否かを決定するステップは、N個の1次元インデックスに含まれるアドレスレコードに同じアドレスレコードが存在するか否かを決定するステップと、同じアドレスレコードが存在する場合、N個の1次元インデックスに含まれるアドレスレコードが交わり集合を有すると決定するステップとを更に含んでもよい。
任意選択の実装方法として、図2を参照すると、図2には、本発明の実施例1による他のデータインデックス化方法の概略図である。図2に示すように、N個の1次元インデックスに含まれるアドレスレコードに同じアドレスレコードが存在するか否かを決定するステップは、以下のステップを含む。
S121:N個の1次元インデックスに含まれるアドレスレコードを取得する。
S122:各アドレスレコードに対応するタグ番号フラグビットのカウント値に1を追加する。
S123:各アドレスレコードに対応するタグ番号フラグビットのカウント値がNに等しいか否かを決定し、そうである場合、ステップS124を実行し、そうでない場合、ステップS125を実行する、すなわち、この手順を終了する。
S124:アドレスレコードに対応するタグ番号フラグビットのカウント値がNに等しいアドレスレコードを、同じアドレスレコードとして選択する。
この実装方法では、同じアドレスレコードを選択する機能がタグのカウントを用いて実施され、技術的実装が容易で信頼性が高く誤りのないものになる。N個の1次元インデックスに含まれるアドレスレコードに対応するタグ番号フラグビットのカウント値を決定することにより、多次元分析の速度要件が容易且つ便利に実現され、インデックス化の複雑性が低減され、データの正確なデータインデックス化の性能が改善される。
任意選択の実装方法として、図3を参照すると、図3は、本発明の実施例1による更に他のデータインデックス化方法の概略図である。図3に示すように、N個の1次元インデックスに含まれるアドレスレコードに同じアドレスレコードが存在するか否かを決定するステップは、以下のステップを含む。
S1201:N個の1次元インデックスから第Kの1次元インデックスを取得する。ただし、第Kの1次元インデックスは、現在の1次元インデックスとして使用され、KはN未満であり、Kは0より大きい。
S1202:現在の1次元インデックスのアドレスレコードを取得する。
S1203:アドレスレコードに対応するタグ番号フラグビットのカウント値に1を追加する。
S1204:N個の1次元インデックスから第(K+1)の1次元インデックスを取得する。ただし、第(K+1)の1次元インデックスは、現在の1次元インデックスとして使用される。
S1205:K+1がNに等しいか否かを決定する。
K+1がNに等しくない場合、ステップS1202を実行する。
K+1がNに等しい場合、ステップS1206を実行する。
S1206:第Nの1次元インデックスのアドレスレコードを取得する。
S1207:第Nの1次元インデックスのアドレスレコードに対応するタグ番号フラグビットのカウント値がN-1に等しいか否かを決定する。
そうである場合、ステップS1208を実行し、そうでない場合、ステップS209を実行する、すなわち、この手順を終了する。
S1208:第Nの1次元インデックスのアドレスレコードに対応するタグ番号フラグビットのカウント値がN-1に等しいアドレスレコードを、同じアドレスレコードとして選択する。
この実装方法では、同じアドレスレコードを選択する機能が、また、タグのカウントを用いて実施され、技術的実装が容易で信頼性が高く誤りのないものになる。最後の1次元インデックスのアドレスレコードの対応するタグ番号フラグビットをカウントする前に、現在のアドレスレコードに対応する番号フラグビットのカウント値に1が追加される必要があるか否かが既に決定されている。従って、現在のアドレスレコードに対応するタグ番号フラグビットのカウント値がN-1に等しいか否かが決定されればよく、そうである場合、現在のアドレスレコードに対応するタグ番号フラグビットのカウント値がNであること、すなわち、現在のアドレスレコードが同じアドレスレコードとして使用されることが間接的に決定される。
任意選択の実装方法として、アドレスレコードに対応するタグ番号フラグビットをカウントする前に、この方法は、アドレスレコードに対応するタグ番号フラグビットのカウント値を0に初期化するステップを更に含む。
任意選択の実装方法として、N次元に対応しており互いに独立したN個の1次元インデックスを取得する前に、この方法は、メタデータに従って複数のデータをi個のコンテナ・データファイルに分割するステップと、分類基準に従って、各コンテナ・データファイルのデータについて独立した1次元インデックスを生成するステップと、i個の異なる記憶処理ノードについての情報を含むインデックステーブルを生成するために、各コンテナ・データファイルと、各コンテナ・データファイルに対応して含まれる1次元インデックスとを同じ記憶処理ノードに記憶するステップとを更に含んでもよい。
メタデータは、レコード情報を含み、レコード情報は、時間情報でもよく、また、分類基準情報でもよい。コンテナ・データファイルは、メモリ又は外部記憶媒体に記憶されてもよい。
図4を参照すると、図4は、本発明の実施例1に従ってデータを分割して1次元インデックスを生成する概略図である。大量データは、メタデータを使用することにより、時間レコード情報又は他の分類標準情報に従って分割される。ただし、複数のコンテナ・データファイルが存在してもよい。この実施例では、3つのコンテナ・データファイルが分割により取得される。図4に示すように、3つのコンテナ・データファイル(CDF:Container Data File)は、分割により取得され、これらは、コンテナ・データファイルCDF1、コンテナ・データファイルCDF2及びコンテナ・データファイルCDF3である。分類基準に従って各コンテナ・データファイルのデータについて1次元インデックスが生成され、各コンテナ・データファイルの限られた数の1次元インデックスが互いに独立になる。すなわち、コンテナ・データファイルCDF1に含まれる3つの1次元インデックスDimension1インデックス、Dimension2インデックス及びDimension3インデックスは互いに独立になる。同様に、コンテナ・データファイルCDF2に含まれる3つの1次元インデックスDimension1インデックス、Dimension2インデックス及びDimension3インデックスは互いに独立になる。また、コンテナ・データファイルCDF3に含まれる3つの1次元インデックスDimension1インデックス、Dimension2インデックス及びDimension3インデックスも互いに独立になる。コンテナ・データファイルCDF1と、コンテナ・データファイルCDF1に含まれる1次元インデックスDimension1インデックス、Dimension2インデックス及びDimension3インデックスとは、同じノードNodeAに記憶される。コンテナ・データファイルCDF2と、コンテナ・データファイルCDF2に含まれる1次元インデックスDimension1インデックス、Dimension2インデックス及びDimension3インデックスとは、同じノードNodeBに記憶される。コンテナ・データファイルCDF3と、コンテナ・データファイルCDF3に含まれる1次元インデックスDimension1インデックス、Dimension2インデックス及びDimension3インデックスとは、同じノードNodeCに記憶される。
図5を参照すると、図5は、本発明の実施例1によるインデックステーブルのコンテナ・データファイルCDF1に含まれる1次元インデックスのキー値とアドレスとの間の割り当て関係の概略図である。図5に示すように、インデックステーブルは、キー値テーブルとアドレス割り当てテーブルとを含む。アドレス割り当てテーブルは、各1次元インデックスのキー値に対応するアドレスレコードを記録する。キー値テーブルは、各1次元インデックスのキー値と、キー値に対応するアドレス割り当てテーブルの最初のアドレスレコードの記憶アドレスとを含む。アドレスレコードは、レコード番号とレコード長とを使用することにより示されてもよい。アドレスレコードは、データを取得するために、レコードのアドレスオフセットを特定してもよい。アドレスレコードは、データがコンテナ・データファイルに記録されるオフセット位置を示す。等しい長さのデータでは、アドレスレコードは、単にレコード番号を使用することにより示されてもよい。この実施例では、複数のデータの種類は、等しい長さのデータの種類になるように設定されるため、アドレスレコードは簡単にレコード番号を使用することにより示される。例えば、1次元インデックスDimension1インデックスに対応するキー値テーブルは、キー値K1と、キー値K1に対応する記憶アドレスFirstAddとを含む。キー値K1に対応する記憶アドレスFirstAddは、キー値K1に対応するアドレスレコードadd1、アドレスレコードadd7及びアドレスレコードadd15を示すために使用され、add1、add7及びadd15は、アドレスレコードのレコード番号である。1次元インデックスDimension2インデックスに対応するキー値テーブルは、キー値K2と、キー値K2に対応する記憶アドレスFirstAddとを含む。キー値K2に対応する記憶アドレスFirstAddは、キー値K2に対応するアドレスレコードadd1、アドレスレコードadd9及びアドレスレコードadd14を示すために使用され、add1、add9及びadd14は、アドレスレコードのレコード番号である。1次元インデックスDimension3インデックスに対応するキー値テーブルは、キー値K3と、キー値K3に対応する記憶アドレスFirstAddとを含む。キー値K3に対応する記憶アドレスFirstAddは、キー値K3に対応するアドレスレコードadd2、アドレスレコードadd9及びアドレスレコードadd14を示すために使用され、add2、add9及びadd14は、レコード番号である。特定の検索ケースに適用される場合、これは、呼詳細レコードクエリでもよい。CDF1コンテナ・データファイルに記憶される情報は、9月1日の呼詳細レコード情報であり、呼詳細レコードは、エリアコードと課金識別子である2つの部分の情報を少なくとも含む。検索条件は、エリアコードと課金識別子とに対応する。キー値K1がエリアコード“Wuhan”市に対応し、キー値K2が課金識別子“フリーコール”に対応する場合、次元がインデックス情報“Wuhan”に対応する1次元インデックスは、キー値K1に対応するアドレスレコードadd1、アドレスレコードadd7及びアドレスレコードadd15へのインデックス化となるように、インデックス化により取得される。また、次元がインデックス情報“フリーコール”に対応する1次元インデックスは、キー値K2に対応するアドレスレコードadd1、アドレスレコードadd9及びアドレスレコードadd14へのインデックス化となるように、インデックス化により取得される。アドレスレコードadd1、add9及びadd14により示される呼詳細レコード情報は、フリーコールについての呼詳細レコードデータである。アドレスレコードadd1、アドレスレコードadd7及びアドレスレコードadd15により示される全ての呼詳細レコード情報は、Wuhanへの呼についての呼詳細レコードデータである。このため、アドレスレコードadd1が同じアドレスレコードであることがインデックス化され、アドレスレコードadd1により示される呼詳細レコード情報が目的のインデックス化データであることが決定される。
任意選択の実装方法として、キー値テーブルの記憶方法は、順序付き線形記憶方法(ordered linear storage manner)又はバイナリツリー記憶方法(binary-tree storage manner)を含む。
任意選択の実装方法として、ブロック記憶方法が、アドレス割り当てテーブルの記憶方法として使用される。
更に、この実施例により提供されるデータインデックス化方法は、データローディング性能を効果的に改善することができる点に留意すべきである。100万個の512バイトの呼詳細レコードが一例として使用され、これには12次元が含まれる。データを編成するために直交多次元インデックスを使用し、SybaseIQデータベースを使用したローディング性能テスト結果が表1に記録されている。直交多次元インデックス化のデータ挿入性能は、SybaseIQの9.84倍であることが分かる。
Figure 2015530666
この実施例により提供されるデータインデックス化方法によれば、同じアドレスレコードを取得するためにタグ番号フラグビットのカウント値を累積する方法で、アドレスレコードについて直交動作が実行され、これにより、アルゴリズムの複雑性を比較回数だけ低減する。表2から、タグ累積方法でベクトル挿入セット動作を実行することがアルゴリズムの複雑性をかなり低減し、性能を改善することが分かる。
Figure 2015530666
通信シグナリング監視、ネットワーク性能管理(SQM:Service Quality Management)、顧客経験管理(CEM:Customer Experience Management)、及びインターネットデータ分析では、データに含まれる情報を調べるために、多次元キーインジケータ(KPI:Key Performance Indicator)が、入力された呼詳細レコード(CDR:Call Detail Record)に従って計算される。例えば、移動ユーザがインターネットにアクセスしたときに生成されるCDRは、端末種別、オペレーティングシステム種別、デバイス種別、セル、ゲートウェイGPRSサポートノード(Gateway GPRS Support Node)、サービングGPRSサポートノード(Serving GPRS Support Node)、及びブラウズ若しくはアクセスされたウェブサイトのような次元を含み、多次元KPI分析が実行される必要がある。
図6aを参照すると、図6aは、本発明の実施例による多次元KPIの分散記憶の概略適用図である。図6aに示すように、この実施例による多次元KPIの分散記憶は、データインデックス化方法に従って実施されてもよい。すなわち、この実施例により提供される多次元インデックス化方法の実装に基づいて、目的のデータを含む呼詳細レコードが取得され、呼詳細レコードについてKPIが計算される。多次元KPIは、この実施例により提供されるインデックステーブルを取得する方法に基づく計算を通じて取得されてもよい。すなわち、呼詳細レコードが分割され、複数の1次元インデックスが各コンテナ・データファイルについて生成され、各コンテナ・データファイルの複数の1次元インデックスに対応するキーインジケータのメタデータは、各コンテナ・データファイルのKPIを取得するように集約され、次に、各コンテナ・データファイルのKPIは、多次元KPIを取得するように集約される。図6aに示すように、多次元KPIを取得する方法は、以下のステップを含む。
S610:データを受信する。
S620:データを解析する。
S630:分散記憶を実行し、KPIを計算する。
S640:オンライン分析処理を実行する。
S650:ネットワークアプリケーションが多次元KPIを提示する。
ステップS630が実行される場合、図6aに示す点線のブロック図に参照が行われてもよい。図6aは、分割を用いて多次元KPIを計算する簡単な処理を示している。これは、主に呼詳細レコードCDRをメモリ又は外部記憶媒体のデータに分割する。図面は、CDF1、CDF2及びCDF3である3つのコンテナ・データファイルを示している。複数の1次元インデックスは、各コンテナ・データファイルについて独立に生成され、3つの1次元インデックス、すなわち、図面に示すようにDimension1インデックス、Dimension2インデックス及びDimension3インデックスが各コンテナ・データファイルについて生成される。次に、計算タスクが各分散ノードについて実行される。1次元がCDRを取得するために使用され、各分散ノードのKPIが計算される、すなわち、KPI分析が実行される。分散ノードの計算が完了した後に、各分散ノードのキーインジケータKPIは、集約のために集約ノードに送信され、集約後の多次元キーインジケータKPIが、オンライン分析処理のためにデータウェアハウスに記憶される。これにより、ネットワークアプリケーションは、多次元キーインジケータKPIを提示する。
通信シグナリング監視、ネットワーク性能管理(SQM:Service Quality Management)、顧客経験管理(CEM:Customer Experience Management)、及びインターネットデータ分析では、データに含まれる情報を調べるために、多次元キーインジケータ(KPI:Key Performance Indicator)が、入力された呼詳細レコード(CDR:Call Detail Record)に従って計算される。例えば、移動ユーザがインターネットにアクセスしたときに生成されるCDRは、端末種別、オペレーティングシステム種別、デバイス種別、セル、ゲートウェイ(Gateway GPRS Support Node)、サービングGPRSサポートノード(Serving GPRS Support Node)、及びブラウズ若しくはアクセスされたウェブサイトのような次元を含み、多次元KPI分析が実行される必要がある。
図6bを参照すると、図6bは、本発明の実施例に従って詳細レコード記憶クエリにおいてデータインデックス化方法を適用する概略適用図である。図6bに示すように、詳細レコード記憶クエリにおいてこの実施例により提供されるデータインデックス化方法を適用する方法は、以下の通りである。
S710:データを受信する。
S720:データを解析する。
S730:詳細レコードを問い合わせる。
S740:ネットワークアプリケーションが詳細レコードを提示する。
ステップS730の実行は、この実施例により提供されるデータインデックス化方法に基づいて実行されるべきである。ステップS730により示される点線のブロックに示すように、目的のデータを含む呼詳細レコードがこの実施例により提供されるデータインデックス化方法において取得された後に、ネットワークアプリケーションは、呼詳細レコードを提示する。
図7を参照すると、図7は、本発明の実施例2によるデータインデックス化装置の構成図である。図7に示すように、この実施例により提供されるデータインデックス化装置は、第1のユニット710と、第2のユニット720と、第3のユニット730とを含む。
第1のユニット710は、N次元に対応しており互いに独立したN個の1次元インデックスを取得するように構成される。ただし、Nは2以上である。
第2のユニット720は、N個の1次元インデックスに含まれるアドレスレコードが交わり集合(共通集合)を有するか否かを決定するように構成される。
第3のユニット730は、第2のユニットの決定結果が肯定的であるという通知に従って、交わり集合に対応するアドレスレコードにより示されるデータを取得するように構成される。ただし、データは目的のインデックス化データとして使用される。
この実施例では、第1のユニット710は、N次元に従って、N次元に対応しており互いに独立したN個の1次元インデックスを取得し、第2のユニット720は、第3のユニット730が交わり集合に対応するアドレスレコードにより示されるデータを取得するために、次元に対応しており互いに独立したN個の1次元インデックスに含まれるアドレスレコードが交わり集合を有するか否かを決定する。データは、目的のインデックス化データとして使用され、これにより、1次元インデックス化技術が多次元インデックス化の組み合わせクエリ及び多次元分析の要件を満たすことができないという課題を解決する。
任意選択の実装方法として、第2のユニットは、N個の1次元インデックスに含まれるアドレスレコードに同じアドレスレコードが存在するか否かを決定し、そうである場合、N個の1次元インデックスに含まれるアドレスレコードが交わり集合を有すると決定するように特に構成される。
任意選択の実装方法として、図8を参照すると、図8は、本発明の実施例2による第2のユニットの構成図である。図8に示すように、第2のユニット720は、N個の1次元インデックスのアドレスレコードを取得するように構成された第1のサブユニット721と、各アドレスレコードに対応するタグ番号フラグビットのカウント値に1を追加するように構成された第2のサブユニット722と、各アドレスレコードに対応するタグ番号フラグビットのカウント値がNに等しいか否かを決定するように構成された第3のサブユニット723と、アドレスレコードに対応するタグ番号フラグビットのカウント値がNに等しいと第3のサブユニット723が決定した通知に従って、アドレスレコードに対応するタグ番号フラグビットのカウント値がNに等しいアドレスレコードを、同じアドレスレコードとして選択するように構成された第4のサブユニット724とを特に含む。
図9を参照すると、図9は、本発明の実施例2による第2のユニットの他の構成図である。図9に示すように、図7に基づく第2のユニット720は、N個の1次元インデックスから第Kの1次元インデックスを取得するように構成された第1の取得ユニット7201であり、ただし、第Kの1次元インデックスは、現在の1次元インデックスとして使用され、KはN未満であり、Kは0より大きい第1の取得ユニット7201と、現在の1次元インデックスのアドレスレコードを取得するように構成された第2の取得ユニット7202と、現在の1次元インデックスのアドレスレコードに対応するタグ番号フラグビットのカウント値に1を追加するように構成されたカウントユニット7203とを特に含む。第1の取得ユニット7201は、N個の1次元インデックスから第(K+1)の1次元インデックスを取得するように更に構成され、ただし、第(K+1)の1次元インデックスは、現在の1次元インデックスとして使用される。また、K+1がNに等しいか否かを決定し、K+1がNに等しくない場合、第2の取得ユニット7202に対して現在の1次元インデックスのアドレスレコードを取得するよう制御するように構成された制御ユニット7204を特に含む。第1の取得ユニット7201は、K+1がNに等しいと制御ユニットが決定した結果に従って、第Nの1次元インデックスのアドレスレコードを取得するように更に構成され、制御ユニット7204は、第Nの1次元インデックスのアドレスレコードに対応するタグ番号フラグビットのカウント値がN-1に等しいか否かを決定するように更に構成され、第1の取得ユニット7201は、第Nの1次元インデックスのアドレスレコードに対応するタグ番号フラグビットのカウント値がN-1に等しいと制御ユニット7204が決定した通知に従って、第Nの1次元インデックスのアドレスレコードに対応するタグ番号フラグビットのカウント値がN-1に等しいアドレスレコードを、同じアドレスレコードとして選択するように更に構成される。
任意選択の実装方法として、第2のユニットは、アドレスレコードに対応するタグ番号フラグビットのカウント値を0に初期化するように構成された初期化ユニットを更に含む。
任意選択の実装方法として、データインデックス化装置は、メタデータに従って複数のデータをi個のコンテナ・データファイルに分割するように構成された分割記憶ユニットと、分類基準に従って、各コンテナ・データファイルのデータについて独立した1次元インデックスを生成するように構成された処理ユニットとを更に含む。処理ユニットは、i個の異なる記憶処理ノードについての情報を含むインデックステーブルを生成するために、各コンテナ・データファイルと、各コンテナ・データファイルに対応して含まれる1次元インデックスとを同じ記憶処理ノードに記憶するように更に構成される。
任意選択の実装方法として、インデックステーブルは、キー値テーブルとアドレス割り当てテーブルとを含む。アドレス割り当てテーブルは、各1次元インデックスのキー値に対応するアドレスレコードを記録し、キー値テーブルは、各1次元インデックスのキー値と、キー値に対応するアドレス割り当てテーブルの最初のアドレスレコードの記憶アドレスとを含む。アドレスレコードは、データがコンテナ・データファイルに記録されるオフセット位置を示し、レコード番号とレコード長とを含む。
任意選択の実装方法として、キー値テーブルの記憶方法は、順序付き線形記憶方法(ordered linear storage manner)又はバイナリツリー記憶方法(binary-tree storage manner)を含む。
任意選択の実装方法として、ブロック記憶方法が、アドレス割り当てテーブルの記憶方法として使用される。
図10を参照すると、図10は、本発明の実施例2による他のデータインデックス化装置の構成図である。図10に示すように、データインデックス化装置は、少なくとも1つのプロセッサ1001と、少なくとも1つのネットワークインタフェース1004と、メモリ1005と、少なくとも1つの通信バス1002と、少なくとも1つのユーザインタフェース1003とを含む。
通信バス1002は、前述の構成要素の間の接続及び通信を実施するように構成され、ユーザインタフェース1003は、ユーザとの相互作用を実施するように構成される。メモリ1005は、プロセッサ1001が以下の手順を実行するように、命令を記憶してもよい。N次元に対応しており互いに独立したN個の1次元インデックスを取得し、ただし、Nは2以上であり、N個の1次元インデックスに含まれるアドレスレコードが交わり集合(共通集合)を有するか否かを決定し、交わり集合が存在する場合、交わり集合に対応するアドレスレコードにより示されるデータを取得し、ただし、データは目的のインデックス化データとして使用される。
任意選択の実装方法として、プロセッサ1001は、更に、N個の1次元インデックスに含まれるアドレスレコードに同じアドレスレコードが存在するか否かを決定し、そうである場合、N個の1次元インデックスに含まれるアドレスレコードが交わり集合を有すると決定してもよい。
任意選択の実装方法として、プロセッサ1001は、更に、以下の手順を特に実行してもよい。N次元に従って、N次元に対応する1次元インデックスのアドレスレコードを取得し、各アドレスレコードに対応するタグ番号フラグビットのカウント値に1を追加し、各アドレスレコードに対応するタグ番号フラグビットのカウント値がNに等しいか否かを決定し、そうである場合、アドレスレコードに対応するタグ番号フラグビットのカウント値がNに等しいアドレスレコードを、同じアドレスレコードとして選択する。
任意選択の実装方法として、プロセッサ1001は、更に、以下の手順を特に実行してもよい。A:N個の1次元インデックスから第Kの1次元インデックスを取得し、ただし、第Kの1次元インデックスは、現在の1次元インデックスとして使用され、KはN未満であり、Kは0より大きく、B:現在の1次元インデックスのアドレスレコードを取得し、C:アドレスレコードに対応するタグ番号フラグビットのカウント値に1を追加し、D:N個の1次元インデックスから第(K+1)の1次元インデックスを取得し、ただし、第(K+1)の1次元インデックスは、現在の1次元インデックスとして使用され、E:K+1がNに等しいか否かを決定し、K+1がNに等しくない場合、ステップBを実行し、F:K+1がNに等しいという結果に従って、第Nの1次元インデックスのアドレスレコードを取得し、G:第Nの1次元インデックスのアドレスレコードに対応するタグ番号フラグビットのカウント値がN-1に等しいか否かを決定するし、H:そうである場合、第Nの1次元インデックスのアドレスレコードに対応するタグ番号フラグビットのカウント値がN-1に等しいアドレスレコードを、同じアドレスレコードとして選択する。
任意選択の実装方法として、プロセッサ1001は、アドレスレコードに対応するタグ番号フラグビットをカウントする前に、この方法は、アドレスレコードに対応するタグ番号フラグビットのカウント値を0に初期化するように更に構成される。
任意選択の実装方法として、N次元に対応しており互いに独立したN個の1次元インデックスを取得する前に、プロセッサ1001は、更に、以下のステップを実行する。メタデータに従って複数のデータをi個のコンテナ・データファイルに分割し、分類基準に従って、各コンテナ・データファイルのデータについて独立した1次元インデックスを生成し、i個の異なる記憶処理ノードについての情報を含むインデックステーブルを生成するために、各コンテナ・データファイルと、各コンテナ・データファイルに対応して含まれる1次元インデックスとを同じ記憶処理ノードに記憶する。
任意選択の実装方法として、インデックステーブルは、キー値テーブルとアドレス割り当てテーブルとを含む。アドレス割り当てテーブルは、各1次元インデックスのキー値に対応するアドレスレコードを記録し、キー値テーブルは、各1次元インデックスのキー値と、キー値に対応するアドレス割り当てテーブルの最初のアドレスレコードの記憶アドレスとを含む。アドレスレコードは、データがコンテナ・データファイルに記録されるオフセット位置を示し、レコード番号とレコード長とを含む。
任意選択の実装方法として、キー値テーブルの記憶方法は、順序付き線形記憶方法(ordered linear storage manner)又はバイナリツリー記憶方法(binary-tree storage manner)を含む。
任意選択の実装方法として、ブロック記憶方法が、アドレス割り当てテーブルの記憶方法として使用される。
この出願で提供される複数の実施例において、開示の装置及び方法は、他の方法で実現されてもよいことが分かる。例えば、記載の装置の実施例は単に例示的なものである。例えば、モジュール又はユニットの分割は単に論理的な機能分割であり、実際の実装では他の分割でもよい。例えば、複数のユニット又はモジュールは、組み合わされてもよく、他のシステムに統合されてもよく、又は、ある機能は無視されてもよく、実行されなくてもよい。更に、表示又は記載した相互結合若しくは直接結合又は通信接続は、いくつかのインタフェースを通じて実現されてもよい。装置、モジュール又はユニットの間の間接結合又は通信接続は、電気的、機械的又は他の形式で実現されてもよい。
別々の部分として記載されたモジュール又はユニットは、物理的に別々でもよく、物理的に別々でなくてもよい。モジュール又はユニットとして表示された部分は、物理的モジュール又はユニットでもよく、物理的モジュール又はユニットでなくてもよく、1つの位置に配置されてもよく、複数のネットワークモジュール又はユニットに分散されてもよい。モジュール又はユニットの一部又は全部は、本発明の実施例の対策の目的を実現するために実際のニーズに従って選択されてもよい。
更に、本発明の実施例の機能モジュール又はユニットは、1つの処理モジュール又はユニットに統合されてもよく、それぞれのモジュール又はユニットが物理的に単独で存在してもよく、2つ以上のモジュール又はユニットが1つのモジュールユニットに統合されてもよい。統合されたモジュール又はユニットは、ハードウェアの形式で実装されてもよく、ソフトウェアの機能ユニットの形式で実装されてもよい。
統合されたモジュール又はユニットがソフトウェア機能モジュール又はユニットの形式で実装され、独立したプロダクトとして販売又は使用される場合、統合されたモジュール又はユニットは、コンピュータ読み取り可能記憶媒体に記憶されてもよい。このような理解に基づいて、基本的に本発明の技術的対策若しくは従来技術に寄与する部分、又は技術的対策の全部若しくは一部は、ソフトウェアプロダクトの形式で実装されてもよい。コンピュータソフトウェアプロダクトは、記憶媒体に記憶され、コンピュータデバイス(パーソナルコンピュータ、サーバ又はネットワークデバイス等でもよい)に対して本発明の実施例に記載の方法のステップの一部又は全部を実行するように命令する複数の命令を含む。前述の記憶媒体は、USBフラッシュドライブ、取り外し可能ハードディスク、読み取り専用メモリ(ROM:Read-Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、磁気ディスク又は光ディスクのようなプログラムコードを記憶し得るいずれかの媒体を含む。
前述の説明は本発明の単に特定の実施例に過ぎず、本発明の保護範囲を限定することを意図するものではない。本発明に開示された技術的範囲内で当業者により容易に認識されるいかなる変更又は置換も、本発明の保護範囲内に入るものとする。従って、本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
分散ストレージシステム(Hadoop Database)のデータに基づいて生成された1次元インデックス化技術では、限られたインデックス化データのみが生成可能であり、大量のインデックス化データは、外部記憶媒体に記憶されなければならない。更に、1次元インデックス化技術は、多次元分析及び多次元インデックス化の組み合わせクエリの要件を満たすことができず、1次元インデックス化の速度は、大量のデータが追加された後に減少する。その結果、目的のデータは、迅速且つ便利に問い合わせることができず、これにより、用途の多用性を制限する。従って、大量データの高速統計処理及びインデックス化の要件を満たすために、多次元インデックス化技術が新たな研究方向になっている。
本発明の実施例により提供されるデータインデックス化方法によれば、N次元に対応しており互いに独立したN個の1次元インデックスがN次元に従って取得され、交わり集合に対応するアドレスレコードにより示されるデータを取得するために、次元に対応しており互いに独立したN個の1次元インデックスに含まれるアドレスレコードが交わり集合を有するか否かが決定される。データは、目的のインデックス化データとして使用され、これにより、1次元インデックス化技術が多次元インデックス化の組み合わせクエリ及び多次元分析の要件を満たすことができないという問題を解決する。更に、N個の1次元インデックスに含まれるアドレスレコードに対応するタグ番号フラグビットのカウント値を決定することにより、多次元分析の速度要件が容易且つ便利に実現され、インデックス化の複雑性が低減され、正確なデータインデックス化の性能が改善される。
任意選択の実装方法として、図1に示すステップS120に基づいて、N個の1次元インデックスに含まれるアドレスレコードが交わり集合を有するか否かを決定するステップは、N個の1次元インデックスに含まれるアドレスレコードに同じアドレスレコードが存在するか否かを決定するステップと、同じアドレスレコードが存在する場合、N個の1次元インデックスに含まれるアドレスレコードが交わり集合を有すると決定するステップとを含んでもよい。
この実装方法では、同じアドレスレコードを選択する機能がタグのカウントを用いて実施され、技術的実装が容易で信頼性が高く誤りのないものになる。N個の1次元インデックスに含まれるアドレスレコードに対応するタグ番号フラグビットのカウント値を決定することにより、多次元分析の速度要件が容易且つ便利に実現され、インデックス化の複雑性が低減され、正確なデータインデックス化の性能が改善される。

Claims (18)

  1. N次元に対応しており互いに独立したN個の1次元インデックスを取得するステップであり、ただし、前記Nは2以上であるステップと、
    前記N個の1次元インデックスに含まれるアドレスレコードが交わり集合を有するか否かを決定するステップと、
    交わり集合が存在する場合、前記交わり集合に対応するアドレスレコードにより示されるデータを取得するステップであり、ただし、前記データは目的のインデックス化データとして使用されるステップと
    を有するデータインデックス化方法。
  2. 前記N個の1次元インデックスに含まれるアドレスレコードが交わり集合を有するか否かを決定するステップは、
    前記N個の1次元インデックスに含まれる前記アドレスレコードに同じアドレスレコードが存在するか否かを決定するステップと、
    前記N個の1次元インデックスに含まれる前記アドレスレコードに同じアドレスレコードが存在する場合、前記N個の1次元インデックスに含まれる前記アドレスレコードが交わり集合を有すると決定するステップと
    を有する、請求項1に記載のデータインデックス化方法。
  3. 前記N個の1次元インデックスに含まれる前記アドレスレコードに同じアドレスレコードが存在するか否かを決定するステップは、
    前記N次元に従って、前記N次元に対応する1次元インデックスのアドレスレコードを取得するステップと、
    各アドレスレコードに対応するタグ番号フラグビットのカウント値に1を追加するステップと、
    各アドレスレコードに対応する前記タグ番号フラグビットの前記カウント値が前記Nに等しいか否かを決定するステップと、
    そうである場合、前記アドレスレコードに対応する前記タグ番号フラグビットのカウント値が前記Nに等しいアドレスレコードを、同じアドレスレコードとして選択するステップと
    を有する、請求項2に記載のデータインデックス化方法。
  4. 前記N個の1次元インデックスに含まれる前記アドレスレコードに同じアドレスレコードが存在するか否かを決定するステップは、
    A:前記N個の1次元インデックスから第Kの1次元インデックスを取得するステップであり、ただし、前記第Kの1次元インデックスは、現在の1次元インデックスとして使用され、Kは前記N未満であり、Kは0より大きいステップと、
    B:前記現在の1次元インデックスのアドレスレコードを取得するステップと、
    C:前記アドレスレコードに対応するタグ番号フラグビットのカウント値に1を追加するステップと、
    D:前記N個の1次元インデックスから第(K+1)の1次元インデックスを取得するステップであり、ただし、前記第(K+1)の1次元インデックスは、現在の1次元インデックスとして使用されるステップと、
    E:K+1がNに等しいか否かを決定し、K+1がNに等しくない場合、ステップBを実行するステップと、
    F:K+1がNに等しいという結果に従って、第Nの1次元インデックスのアドレスレコードを取得するステップと、
    G:前記第Nの1次元インデックスの前記アドレスレコードに対応するタグ番号フラグビットのカウント値がN-1に等しいか否かを決定するステップと、
    H:前記第Nの1次元インデックスの前記アドレスレコードに対応するタグ番号フラグビットのカウント値がN-1に等しい場合、前記第Nの1次元インデックスの前記アドレスレコードに対応する前記タグ番号フラグビットのカウント値がN-1に等しいアドレスレコードを、同じアドレスレコードとして選択するステップと
    を有する、請求項2に記載のデータインデックス化方法。
  5. 前記アドレスレコードに対応するタグ番号フラグビットをカウントする前に、前記方法は、
    前記アドレスレコードに対応する前記タグ番号フラグビットのカウント値を0に初期化するステップを更に有する、請求項3又は4に記載のデータインデックス化方法。
  6. N次元に対応しており互いに独立したN個の1次元インデックスを取得する前に、前記方法は、
    メタデータに従って複数のデータをi個のコンテナ・データファイルに分割するステップと、
    分類基準に従って、各コンテナ・データファイルのデータについて独立した1次元インデックスを生成するステップと、
    i個の異なる記憶処理ノードについての情報を含むインデックステーブルを生成するために、各コンテナ・データファイルと、各コンテナ・データファイルに対応して含まれる1次元インデックスとを同じ記憶処理ノードに記憶するステップと
    を更に有する、請求項5に記載のデータインデックス化方法。
  7. 前記インデックステーブルは、キー値テーブルとアドレス割り当てテーブルとを含み、前記アドレス割り当てテーブルは、各1次元インデックスのキー値に対応するアドレスレコードを記録し、前記キー値テーブルは、各1次元インデックスのキー値と、前記キー値に対応する記憶アドレスとを含み、前記キー値に対応する前記記憶アドレスは、前記キー値に対応するアドレスレコードを示すために使用され、前記アドレスレコードは、データがコンテナ・データファイルに記録されるオフセット位置を示し、レコード番号とレコード長とを有する、請求項6に記載のデータインデックス化方法。
  8. 前記キー値テーブルの記憶方法は、順序付き線形記憶方法又はバイナリツリー記憶方法を有する、請求項7に記載のデータインデックス化方法。
  9. ブロック記憶方法が、前記アドレス割り当てテーブルの記憶方法として使用される、請求項8に記載のデータインデックス化方法。
  10. N次元に対応しており互いに独立したN個の1次元インデックスを取得するように構成された第1のユニットであり、ただし、前記Nは2以上である第1のユニットと、
    前記N個の1次元インデックスに含まれるアドレスレコードが交わり集合を有するか否かを決定するように構成された第2のユニットと、
    前記交わり集合に対応するアドレスレコードにより示されるデータを取得するように構成された第3のユニットであり、ただし、前記データは目的のインデックス化データとして使用される第3のユニットと
    を有するデータインデックス化装置。
  11. 前記第2のユニットは、前記N個の1次元インデックスに含まれる前記アドレスレコードに同じアドレスレコードが存在するか否かを決定し、前記N個の1次元インデックスに含まれる前記アドレスレコードに同じアドレスレコードが存在する場合、前記N個の1次元インデックスに含まれる前記アドレスレコードが交わり集合を有すると決定するように特に構成される、請求項10に記載のデータインデックス化装置。
  12. 前記第2のユニットは、
    前記N個の1次元インデックスのアドレスレコードを取得するように構成された第1のサブユニットと、
    各アドレスレコードに対応するタグ番号フラグビットのカウント値に1を追加するように構成された第2のサブユニットと、
    各アドレスレコードに対応する前記タグ番号フラグビットの前記カウント値が前記Nに等しいか否かを決定するように構成された第3のサブユニットと、
    前記アドレスレコードに対応する前記タグ番号フラグビットの前記カウント値が前記Nに等しいと前記第3のサブユニットが決定した通知に従って、前記アドレスレコードに対応する前記タグ番号フラグビットのカウント値が前記Nに等しいアドレスレコードを、同じアドレスレコードとして選択するように構成された第4のサブユニットと
    を有する、請求項11に記載のデータインデックス化装置。
  13. 前記第2のユニットは、
    前記N個の1次元インデックスから第Kの1次元インデックスを取得するように構成された第1の取得ユニットであり、ただし、前記第Kの1次元インデックスは、現在の1次元インデックスとして使用され、Kは前記N未満であり、Kは0より大きい第1の取得ユニットと、
    前記現在の1次元インデックスのアドレスレコードを取得するように構成された第2の取得ユニットと、
    前記現在の1次元インデックスの前記アドレスレコードに対応するタグ番号フラグビットのカウント値に1を追加するように構成されたカウントユニットと
    を有し、
    前記第1の取得ユニットは、前記N個の1次元インデックスから第(K+1)の1次元インデックスを取得するように更に構成され、ただし、前記第(K+1)の1次元インデックスは、現在の1次元インデックスとして使用され、
    前記第2のユニットは、
    K+1がNに等しいか否かを決定し、K+1がNに等しくない場合、前記第2の取得ユニットに対して前記現在の1次元インデックスの前記アドレスレコードを取得するよう制御するように構成された制御ユニットを有し、
    前記第1の取得ユニットは、K+1がNに等しいと前記制御ユニットが決定した結果に従って、第Nの1次元インデックスのアドレスレコードを取得するように更に構成され、
    前記制御ユニットは、前記第Nの1次元インデックスの前記アドレスレコードに対応するタグ番号フラグビットのカウント値がN-1に等しいか否かを決定するように更に構成され、
    前記第1の取得ユニットは、前記第Nの1次元インデックスの前記アドレスレコードに対応する前記タグ番号フラグビットの前記カウント値がN-1に等しいと前記制御ユニットが決定した通知に従って、前記第Nの1次元インデックスの前記アドレスレコードに対応する前記タグ番号フラグビットのカウント値がN-1に等しいアドレスレコードを、同じアドレスレコードとして選択するように更に構成される、請求項11に記載のデータインデックス化装置。
  14. 前記第2のユニットは、前記アドレスレコードに対応する前記タグ番号フラグビットのカウント値を0に初期化するように構成された初期化ユニットを更に有する、請求項12又は13に記載のデータインデックス化装置。
  15. メタデータに従って複数のデータをi個のコンテナ・データファイルに分割するように構成された分割記憶ユニットと、
    分類基準に従って、各コンテナ・データファイルのデータについて独立した1次元インデックスを生成するように構成された処理ユニットと
    を更に有し、
    前記処理ユニットは、i個の異なる記憶処理ノードについての情報を有するインデックステーブルを生成するために、各コンテナ・データファイルと、各コンテナ・データファイルに対応して含まれる1次元インデックスとを同じ記憶処理ノードに記憶するように更に構成される、請求項14に記載のデータインデックス化装置。
  16. 前記インデックステーブルは、キー値テーブルとアドレス割り当てテーブルとを有し、前記アドレス割り当てテーブルは、各1次元インデックスのキー値に対応するアドレスレコードを記録し、前記キー値テーブルは、各1次元インデックスのキー値と、前記キー値に対応する記憶アドレスとを含み、前記キー値に対応する前記記憶アドレスは、前記キー値に対応するアドレスレコードを示すために使用され、前記アドレスレコードは、データがコンテナ・データファイルに記録されるオフセット位置を示し、レコード番号とレコード長とを有する、請求項15に記載のデータインデックス化装置。
  17. 前記キー値テーブルの記憶方法は、順序付き線形記憶方法又はバイナリツリー記憶方法を有する、請求項16に記載のデータインデックス化装置。
  18. ブロック記憶方法が、前記アドレス割り当てテーブルの記憶方法として使用される、請求項17に記載のデータインデックス化装置。
JP2015532276A 2012-09-24 2013-05-02 データインデックス化方法及び装置 Expired - Fee Related JP6148732B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201210356475.5A CN102890714B (zh) 2012-09-24 2012-09-24 数据索引方法及装置
CN201210356475.5 2012-09-24
PCT/CN2013/075065 WO2014044053A1 (zh) 2012-09-24 2013-05-02 数据索引方法及装置

Publications (2)

Publication Number Publication Date
JP2015530666A true JP2015530666A (ja) 2015-10-15
JP6148732B2 JP6148732B2 (ja) 2017-06-14

Family

ID=47534216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015532276A Expired - Fee Related JP6148732B2 (ja) 2012-09-24 2013-05-02 データインデックス化方法及び装置

Country Status (5)

Country Link
US (1) US20150193491A1 (ja)
EP (1) EP2899649A4 (ja)
JP (1) JP6148732B2 (ja)
CN (1) CN102890714B (ja)
WO (1) WO2014044053A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102890714B (zh) * 2012-09-24 2015-04-15 华为技术有限公司 数据索引方法及装置
CN104714972B (zh) * 2013-12-17 2018-06-22 中国银联股份有限公司 数据库分表建立及查询方法
CN107122358B (zh) * 2016-02-24 2020-09-01 阿里巴巴集团控股有限公司 混合查询方法及设备
CN106295450A (zh) * 2016-08-26 2017-01-04 易联(北京)物联网科技有限公司 一种基于对nfc标签锁定的方法
CN106326461B (zh) * 2016-08-30 2019-07-30 杭州东方通信软件技术有限公司 一种基于网络信令记录的实时处理保障方法及系统
JP6871504B2 (ja) * 2016-12-27 2021-05-12 富士通株式会社 情報処理装置、データロードプログラム及びデータロード方法
CN106940870A (zh) * 2017-03-22 2017-07-11 成都市互联互通大数据科技有限公司 一种用于对建筑业企业信息进行多维度组合检索的方法及其系统
CN109992535B (zh) * 2017-12-29 2024-01-30 华为技术有限公司 一种存储控制方法、装置和系统
CN109145110B (zh) * 2018-06-29 2022-06-28 土巴兔集团股份有限公司 标签查询方法和装置
CN111159140B (zh) * 2019-12-31 2023-09-19 咪咕文化科技有限公司 数据处理方法、装置、电子设备及存储介质
US11954345B2 (en) 2021-12-03 2024-04-09 Samsung Electronics Co., Ltd. Two-level indexing for key-value persistent storage device
CN114647388B (zh) * 2022-05-24 2022-08-12 杭州优云科技有限公司 一种分布式块存储系统和管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0855050A (ja) * 1994-08-09 1996-02-27 Nec Corp 動的インデックス作成装置
JP2000517448A (ja) * 1996-09-02 2000-12-26 ルドルフ バイア データベース・システム及びn次元データセットの編成方法
JP2011170461A (ja) * 2010-02-16 2011-09-01 Nippon Telegr & Teleph Corp <Ntt> 情報蓄積検索方法及び情報蓄積検索プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6510435B2 (en) * 1996-09-02 2003-01-21 Rudolf Bayer Database system and method of organizing an n-dimensional data set
US6470344B1 (en) * 1999-05-29 2002-10-22 Oracle Corporation Buffering a hierarchical index of multi-dimensional data
US6381605B1 (en) * 1999-05-29 2002-04-30 Oracle Corporation Heirarchical indexing of multi-attribute data by sorting, dividing and storing subsets
US20040133581A1 (en) * 2002-05-21 2004-07-08 High-Speed Engineering Laboratory, Inc. Database management system, data structure generating method for database management system, and storage medium therefor
US7146361B2 (en) * 2003-05-30 2006-12-05 International Business Machines Corporation System, method and computer program product for performing unstructured information management and automatic text analysis, including a search operator functioning as a Weighted AND (WAND)
US8051021B2 (en) * 2006-09-12 2011-11-01 International Business Machines Corporation System and method for resource adaptive classification of data streams
CN101707545B (zh) * 2009-11-06 2012-02-29 中兴通讯股份有限公司 一种实现私有虚拟局域网的方法和系统
CN101714172B (zh) * 2009-11-13 2012-03-21 华中科技大学 一种支持访问控制的索引结构的检索方法
CN102890714B (zh) * 2012-09-24 2015-04-15 华为技术有限公司 数据索引方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0855050A (ja) * 1994-08-09 1996-02-27 Nec Corp 動的インデックス作成装置
JP2000517448A (ja) * 1996-09-02 2000-12-26 ルドルフ バイア データベース・システム及びn次元データセットの編成方法
JP2011170461A (ja) * 2010-02-16 2011-09-01 Nippon Telegr & Teleph Corp <Ntt> 情報蓄積検索方法及び情報蓄積検索プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
セジウィック,R., アルゴリズムC・新版, vol. 第1版, JPN6016044376, 31 May 2004 (2004-05-31), pages 589 - 590, ISSN: 0003442083 *

Also Published As

Publication number Publication date
US20150193491A1 (en) 2015-07-09
CN102890714B (zh) 2015-04-15
CN102890714A (zh) 2013-01-23
WO2014044053A1 (zh) 2014-03-27
EP2899649A4 (en) 2015-11-11
EP2899649A1 (en) 2015-07-29
JP6148732B2 (ja) 2017-06-14

Similar Documents

Publication Publication Date Title
JP6148732B2 (ja) データインデックス化方法及び装置
US20200042507A1 (en) Information Processing Method and Apparatus
US9418101B2 (en) Query optimization
US9690842B2 (en) Analyzing frequently occurring data items
EP2840515A1 (en) Method, device and computer storage media for user preferences information collection
US20150067142A1 (en) Aggregation of metrics for tracking electronic computing resources based on user class hierarchy
WO2020087082A1 (en) Trace and span sampling and analysis for instrumented software
CN109388657B (zh) 数据处理方法、装置、计算机设备及存储介质
CN111339078A (zh) 数据实时存储方法、数据查询方法、装置、设备、介质
JP2015508543A (ja) 店舗訪問データを処理すること
CN111078723B (zh) 一种区块链浏览器的数据处理方法及装置
CN112328688B (zh) 数据存储方法、装置、计算机设备及存储介质
CN108399175B (zh) 一种数据存储、查询方法及其装置
US9380126B2 (en) Data collection and distribution management
JP7098735B2 (ja) 大規模データ分析の最適化
US9727561B1 (en) Context- and activity-aware content selection
US20230153357A1 (en) Method of processing an observation information, electronic device and storage medium
CN107977381B (zh) 数据配置方法、索引管理方法、相关装置以及计算设备
CN110020166A (zh) 一种数据分析方法及相关设备
US10467193B1 (en) Real-time ad hoc querying of data records
CN113742529A (zh) 一种多笔表格前端处理方法及装置
CN113076197A (zh) 负载均衡方法及装置、存储介质及电子设备
CN112416699A (zh) 指标数据收集方法及系统
CN111740871A (zh) 一种数据采集方法及装置
CN109086309A (zh) 一种指标维度关系定义方法、服务器及存储介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160628

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170321

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170329

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: 20170425

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170519

R150 Certificate of patent or registration of utility model

Ref document number: 6148732

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees