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