JP6008785B2 - データベースにおけるデータ処理方法、データ・クエリ方法ならびに対応するデバイスおよびデータ・クエリ・デバイス - Google Patents

データベースにおけるデータ処理方法、データ・クエリ方法ならびに対応するデバイスおよびデータ・クエリ・デバイス Download PDF

Info

Publication number
JP6008785B2
JP6008785B2 JP2013084770A JP2013084770A JP6008785B2 JP 6008785 B2 JP6008785 B2 JP 6008785B2 JP 2013084770 A JP2013084770 A JP 2013084770A JP 2013084770 A JP2013084770 A JP 2013084770A JP 6008785 B2 JP6008785 B2 JP 6008785B2
Authority
JP
Japan
Prior art keywords
address
destination
source
sections
wildcard characters
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.)
Expired - Fee Related
Application number
JP2013084770A
Other languages
English (en)
Other versions
JP2014010828A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2014010828A publication Critical patent/JP2014010828A/ja
Application granted granted Critical
Publication of JP6008785B2 publication Critical patent/JP6008785B2/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/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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)

Description

本発明は、データベース技術の分野に関し、特に、データベースにおけるデータ処理方法、データ・クエリ方法、および対応するデバイスに関する。
現代社会の継続的な発展とともに、ネットワークの用途はますます広がり、ネットワーク上で伝送されるデータの量はますます増大してきた。こうしたデータは、一般的に、処理および活用のためにデータベースに記憶される。例えばネットワーク・データは、ユーザ行動分析、ネットワーク測定、最適化および監査のためにデータベースに記憶され得る。
したがって、ネットワーク・データが大量であること、およびそれが頻繁に変化することが原因で、大容量かつ拡張可能なデータベースがデータ記憶に要求されている。同時に、データベースにクエリを実行する様々な用途に関して、大容量データベースに対する高速クエリが非常に重要である。
従来技術におけるリレーショナル・データベースに対するクエリは、便利で高速であるが、拡張性が乏しい。従来技術におけるNoSQLデータベースは、容易な拡張を特徴とする非リレーショナル・データベースであり、これらには1次元インデックスのみが提供されるため、多次元クエリ、特に多次元範囲クエリの場合は処理性能が不十分で、クエリ結果に関するフィードバックが遅くなる。しかし、多くの用途で、ソースIPアドレスおよび宛先IPアドレスの2次元クエリが行われ、多くの場合は2次元範囲クエリが行われる。そうした要求を従来技術で満たすのは困難である。
拡張およびクエリを行うのが容易なデータベースのソリューションを提供するために、データベースにおけるデータ処理方法、データ・クエリ方法、および対応するデバイスが本発明において提供される。
本発明の側面によれば、データベースにおけるデータ処理方法であって、データベース内のデータ・レコードのクエリが、ソースIPアドレスおよび宛先IPアドレスを示す情報を含み、ソースIPアドレスは、N個のセクションを含み、宛先IPアドレスは、M個のセクションを含み、MおよびNは、どちらも正の整数である、方法が提供され、本方法は、データベースのインデックスのエンコード法(encoding manner)を判断するステップであって、インデックスは、N+M個のセクションを含む1次元インデックスであり、エンコード法は、インデックスの様々なセクションの変化順序(variation sequence)を指定する、ステップと、エンコード法に従って、データ・レコードのインデックスを設定するステップであって、連続したデータ・レコードが、インデックスに従って任意の候補クエリ要求(possible query request)に対しクエリ結果として取得可能であり、候補クエリ要求に含まれる情報によって示されるソースIPアドレスおよび宛先IPアドレスのうちの少なくとも一方が、ワイルドカード文字を有するセクションを少なくとも1つ含み、ワイルドカード文字は、許容範囲内の任意値を表す、ステップとを含む。
本発明の別の側面によれば、ソースIPアドレスおよび宛先IPアドレスを示す情報を含むクエリ要求を受信するステップであって、ソースIPアドレスおよび宛先IPアドレスのうちの少なくとも一方は、ワイルドカード文字を有するセクションを少なくとも1つ含み、ワイルドカード文字は、許容範囲内の任意値を表す、ステップと、ソースIPアドレスおよび宛先IPアドレスを線形化するステップと、連続したデータ・レコードをクエリ結果として取得するために、1次元インデックスを有するデータベース内を、線形化されたIPアドレスに従って検索するステップであって、データベース内のデータ・レコードは、上記のデータ処理方法に従ってインデックスを付けられている、ステップとを含むデータ・クエリ方法が提供される。
本発明のさらに別の側面によれば、データベースにおけるデータ処理のためのデバイスであって、データベース内のデータ・レコードのクエリ要求が、ソースIPアドレスおよび宛先IPアドレスを示す情報を含み、ソースIPアドレスは、N個のセクションを含み、宛先IPアドレスは、M個のセクションを含み、MおよびNは、どちらも正の整数である、デバイスが提供され、このデバイスは、データベースのインデックスのエンコード法を判断するよう構成されたエンコード・モジュールであって、インデックスは、N+M個のセクションを含む1次元インデックスであり、エンコード法は、インデックスの様々なセクションの変化順序を指定する、エンコード・モジュールと、エンコード法に従って、データ・レコードのインデックスを設定するよう構成されたインデックス・モジュールであって、連続したデータ・レコードが、インデックスに従って任意の候補クエリ要求に対しクエリ結果として取得可能であり、候補クエリ要求に含まれる情報によって示されるソースIPアドレスおよび宛先IPアドレスのうちの少なくとも一方が、ワイルドカード文字を有するセクションを少なくとも1つ含み、ワイルドカード文字は、許容範囲内の任意値を表す、インデックス・モジュールとを含む。
本発明のさらに別の側面によれば、ソースIPアドレスおよび宛先IPアドレスを示す情報を含むクエリ要求を受信するよう構成された受信モジュールであって、ソースIPアドレスおよび宛先IPアドレスのうちの少なくとも一方は、ワイルドカード文字を有するセクションを少なくとも1つ含み、ワイルドカード文字は、許容範囲内の任意値を表す、受信モジュールと、ソースIPアドレスおよび宛先IPアドレスを線形化するよう構成された線形化モジュールと、連続したデータ・レコードをクエリ結果として取得するために、1次元インデックスを有するデータベース内を、線形化されたIPアドレスに従って検索するよう構成された検索モジュールであって、データベース内のデータ・レコードは、上記のデータ処理方法に従ってインデックスを付けられている、検索モジュールとを含むデータ・クエリ・デバイスが提供される。
本発明において提供される技術的ソリューションは、拡張およびクエリを行うのが容易なデータベースを実現でき、ネットワーク・データの記憶、活用および利用を便利にする。
本発明の実施形態を実装するのに適切な例示のコンピュータ・システム100である。 本発明の実施形態による、データベースにおけるデータ処理方法の概略フローチャートである。 本発明の実施形態による、行列の例である。 本発明の実施形態による、行列の別の例である。 本発明の実施形態による、データ・クエリ方法の概略フローチャートである。 本発明の実施形態による、データベースにおけるデータ処理のためのデバイスの概略構造である。 本発明の実施形態による、データ・クエリ・デバイスの概略構造である。 本発明の実施形態による、インデックス法の例である。
添付の図面にある本開示のいくつかの実施形態について、さらに詳細に説明することによって、本開示の上記およびその他の目的、特徴ならびに利点がいっそう明白となる。同じ参照符号は、概して本開示の実施形態における同じコンポーネントを指す。
本開示の好ましい実施形態が示されている添付の図面を参照しながら、いくつかの好ましい実施形態についてさらに詳細に記載する。ただし、本開示は、様々な形で実装することができ、そのため、本願明細書で開示される実施形態に限定されると解釈されてはならない。反対に、それらの実施形態は、本開示が全体的に十分理解されるよう、かつ当業者に本開示の範囲を十分に伝えるよう提供されている。
図1は、本発明の実施形態を実装するのに適切な例示のコンピュータ・システム100である。図1に示されているように、コンピュータ・システム100は、CPU(Central Process Unit:中央処理ユニット)101、RAM(Random Access Memory:ランダム・アクセス・メモリ)102、ROM(Read Only Memory:読み取り専用メモリ)103、システム・バス104、ハード・ドライブ・コントローラ105、キーボード・コントローラ106、シリアル・インターフェース・コントローラ107、パラレル・インターフェース・コントローラ108、ディスプレイ・コントローラ109、ハード・ドライブ110、キーボード111、シリアル周辺機器112、パラレル周辺機器113およびディスプレイ114を含むとよい。上記デバイスの中で、CPU101、RAM102、ROM103、ハード・ドライブ・コントローラ105、キーボード・コントローラ106、シリアル・インターフェース・コントローラ107、パラレル・インターフェース・コントローラ108およびディスプレイ・コントローラ109は、システム・バス104に結合されている。ハード・ドライブ110は、ハード・ドライブ・コントローラ105に結合されている。キーボード111は、キーボード・コントローラ106に結合されている。シリアル周辺機器112は、シリアル・インターフェース・コントローラ107に結合されている。パラレル周辺機器113は、パラレル・インターフェース・コントローラ108に結合されている。さらに、ディスプレイ114は、ディスプレイ・コントローラ109に結合されている。当然のことながら、図1に示されている構造は、本発明に対する限定ではなく、例示のみを目的としている。場合によっては、特有の状況に基づき、いくつかのデバイスが、コンピュータ・システム100に追加されても、コンピュータ・システム100から除去されてもよい。
当業者であれば当然のことであるが、本発明の各側面は、システム、方法またはコンピュータ・プログラム製品として具現化され得る。したがって、本発明の各側面は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)または本願明細書においてすべて概して「回路」、「モジュール」もしくは「システム」と呼ばれ得る、ソフトウェアおよびハードウェアの側面を兼ね備えた実施形態の形態をとり得る。さらに、本発明の各側面は、コンピュータ可読プログラム・コードが具現化された1つ以上のコンピュータ可読媒体(単数または複数)において具現化された、コンピュータ・プログラム製品の形態をとることもできる。
1つ以上のコンピュータ可読媒体(単数または複数)の任意の組み合わせが利用され得る。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体とされ得る。コンピュータ可読記憶媒体は、例えば、限定はされないが、電子、磁気、光学、電磁気、赤外線もしくは半導体のシステム、装置もしくはデバイス、または前述のものの任意の適切な組み合わせとされ得る。コンピュータ可読記憶媒体のより具体的な例(包括的でないリスト)には、1つ以上のワイヤを有する電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラム可能読み取り専用メモリ(EPROM(erasable programmable read−only memory)もしくはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD−ROM:compact disc read−only memory)、光学式記憶デバイス、磁気記憶デバイスまたは前述のものの任意の適切な組み合わせが含まれるであろう。この文書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置もしくはデバイスによって、またはそれに関連して使用されるプログラムを含むことまたは記憶することができる任意の有形の媒体とされ得る。
コンピュータ可読信号媒体は、例えば、ベースバンドに、または搬送波の一部としてコンピュータ可読プログラム・コードが具現化された、伝搬データ信号を含み得る。そのような伝搬信号は、電磁気、光学またはその任意の適切な組み合わせを含むがこれらに限定はされない、様々な形態のいずれかをとってよい。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体でなく、かつ命令実行システム、装置もしくはデバイスによって、またはそれに関連して使用されるプログラムの伝達、伝搬または搬送をすることができる、任意のコンピュータ可読媒体としてよい。
コンピュータ可読媒体上に具現化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、RFなど、または前述のものの任意の適切な組み合わせを含むがこれらに限定はされない、任意の適切な媒体を使用して伝送されてもよい。
本発明の側面の動作を実行するコンピュータ・プログラム・コードは、Java(R)、Smalltalk、C++または同様のものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの従来の手続きプログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで書かれていてよい。プログラム・コードは、スタンド・アロン・ソフトウェア・パッケージとして、完全にユーザのコンピュータ上で実行されることも、部分的にユーザのコンピュータ上で実行されることも、または部分的にユーザのコンピュータ上で、かつ部分的にリモート・コンピュータ上で実行されることも、または完全にリモート・コンピュータもしくはサーバ上で実行されることもできる。後者のシナリオでは、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:wide area network)を含む任意の種類のネットワークを介してリモート・コンピュータがユーザのコンピュータに接続されてもよく、または(例えばインターネット・サービス・プロバイダを使用しインターネットを介して)外部コンピュータに接続されてもよい。
本発明の側面について、本発明の実施形態による方法、装置(システム)およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照して以下に記載する。当然のことながら、フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方の複数ブロックの組み合わせは、コンピュータ・プログラム命令により実装可能である。マシンを生じるよう、こうしたコンピュータ・プログラム命令が、汎用コンピュータ、専用コンピュータまたはその他のプログラム可能データ処理装置のプロセッサに提供されて、この命令が、コンピュータまたはその他のプログラム可能データ処理装置のプロセッサにより実行されて、フローチャートもしくはブロック図またはその両方のブロックもしくは複数ブロックにおいて指定された機能/動作を実装する手段を作り出すようにすることもできる。
さらに、特定の形で機能するようコンピュータ、その他のプログラム可能データ処理装置またはその他のデバイスに指示することができるこうしたコンピュータ・プログラム命令は、コンピュータ可読媒体に記憶されて、コンピュータ可読媒体に記憶されたこの命令が、フローチャートもしくはブロック図またはその両方のブロックもしくは複数ブロックにおいて指定された機能/動作を実装する命令を含む製品を生じるようにすることもできる。
さらに、コンピュータ・プログラム命令は、コンピュータ、その他のプログラム可能データ処理装置またはその他のデバイスにロードされて、コンピュータ、その他のプログラム可能装置またはその他デバイス上で一連の動作ステップが実行されるようにしてコンピュータで実装されるプロセスを生じさせ、コンピュータまたはその他のプログラム可能装置上で実行される命令が、フローチャートもしくはブロック図またはその両方のブロックもしくは複数ブロックにおいて指定された機能/動作を実装するためのプロセスを提供するようにすることもできる。
図2を参照する。図2は、本発明の実施形態による、データベースにおけるデータ処理方法であり、ステップ210にて、データベースのインデックスのエンコード法を判断するステップと、ステップ220にて、エンコード法に従ってデータベース内のデータ・レコードにインデックスを付けるステップとを含む。
この実施形態では、データベース内のデータ・レコードのクエリ要求は、ソースIPアドレスおよび宛先IPアドレスを示す情報、つまり2次元クエリ要求を含むとよい。ソースIPアドレスおよび宛先IPアドレスを示す情報は、例えば、ソースIPアドレスの範囲および宛先IPアドレスの範囲を表す特殊記号である。記載の便宜上、説明のための例として、この実施形態および以降の各実施形態において、ソースIPアドレスおよび宛先IPアドレスは、クエリ要求に直接含まれ、ソースIPアドレスは、N個のセクションを有し、宛先IPアドレスは、M個のセクションを有し、NおよびMは、正の整数である。例えば、IPv6アドレスに関しては、ソースIPアドレスおよび宛先IPアドレスのそれぞれが8つのセクションを有し、IPv4アドレスに関しては、ソースIPアドレスおよび宛先IPアドレスのそれぞれが4つのセクションを有する。この実施形態および以降の各実施形態では、記載の便宜上、IPv4のソースおよび宛先IPアドレスを例にとって記載する。この実施形態では、候補クエリ要求のソースIPアドレスおよび宛先IPアドレスのうちの少なくとも一方が、ワイルドカード文字を有するセクションを少なくとも1つ含み、ワイルドカード文字は、値の許容範囲内の任意値を表す。同じくIPv4を例にとると、ワイルドカード文字*は、0〜255の任意値を表す。
ステップ210にて、インデックスは、N+M個のセクションを有する1次元インデックスであり、エンコード法は、インデックス内の様々なセクションの変化順序の指定を含む。例えば、インデックスは、8つのセクションA、B、C、D、a、b、c、dを含み、エンコード法は、最後のセクションから最初のセクションへ順に、またはその他の順序で変化を定義することができる。この実施形態において、データベースは1次元インデックスのみを有するよう限定はされず、本発明で提供される方法は、多次元インデックスを備えるデータベースに対しても適用可能である。すなわち、インデックスは複数の次元のうちの1つであり、この1次元インデックスに基づき検索が実行される。この実施形態のインデックスのデータ構造として、特定の形式のポインタまたは直接データ・コピーで、様々な木構造またはハッシュ・リスト構造を採用できる。
各データ・レコードは、ソースIPアドレスおよび宛先IPアドレスを含むか、またはソースIPアドレスおよび宛先IPアドレスに対応するため、ステップ220にて、インデックス内の様々なセクションと、データ・レコード内の対応するソースおよび宛先IPアドレスとの対応関係に従って、データ・レコードのインデックスが設定される。例えば、図8に示されているインデックス法を例にとると、インデックスA_B_C_D_a_b_c_dは、8つのセクションを含み、A、B、C、DはそれぞれソースIPアドレスの第1〜第4セクションに対応し、a、b、c、dはそれぞれ宛先IPアドレスの第1〜第4セクションに対応する。そのエンコード法として、インデックスの様々なセクションが、まずDから、続いて順にd、c、b、a、C、B、Aと、当該順序に従って変化する。このエンコード法を用いてインデックスを設定すると、ソースIPアドレス0.0.0.0および宛先IPアドレス0.0.0.0に対応するデータ・レコードと、ソースIPアドレス0.0.0.1および宛先IPアドレス0.0.0.0に対応するデータ・レコードとは、連続したデータ・レコードである。ソースIPアドレス0.0.0.255および宛先IPアドレス0.0.0.0に対応するデータ・レコードと、ソースIPアドレス0.0.0.0および宛先IPアドレス0.0.0.1に対応するデータ・レコードとは、連続したデータ・レコードである。この実施形態およびその他実施形態では、記載の便宜上、エンコード法は、M+N個のセクションが後方から前方へと変化するものとして定義される。例えば、このエンコード法は、ABCabcdDと表現することができる。
この実施形態では、エンコード法を判断し、そのエンコード法に従ってインデックスを設定することによって、そのインデックスを用いて、任意の候補クエリ要求が、そのクエリ結果として連続したデータ・レコードを取得することができる。インデックスは1次元インデックスであるため、対応するデータベースの拡張は容易である。さらに、任意の候補クエリ要求は、そのクエリ結果として連続したデータ・レコードを得ることができるため、まず複数のデータ・ブロックを得た後それらのデータ・ブロックから対応するデータ・レコードを発見するということをせずに、対応するデータベース・クエリへのより高速な応答を実現することができる。
別の実施形態では、ステップ210にて判断されるエンコード法は、例えば、すべての候補クエリ要求をカバーすることができる。クエリ要求のソースおよび宛先IPアドレス内に、ワイルドカード文字を含むセクションが合計W個あり、ワイルドカード文字を含むそれらW個のセクションに、エンコード法1に従ってエンコードされたインデックスにおいて最初に変化するW個のセクションが対応すれば、クエリ要求は、エンコード法1によってカバーされる。例えば、クエリ要求のソースIPがA.B.*.*であり、宛先IPがa.b.c.*である場合、エンコード法がABabcdCDであれば、そのようなエンコード法でエンコードされたインデックスにおいて最初に変化する3つのセクションは、DCdであり、ソースIP内でワイルドカード文字を含む2つのセクション、および宛先IP内でワイルドカード文字を含むセクションに対応し、クエリ要求は、エンコード法ABabcdCDによってカバーできる。ソースIPアドレスおよび宛先IPアドレスの両方に、ワイルドカード文字を含むセクションが最大で4つあることを前提とすると、5つのエンコード法abcdABCD、ABabcdCD、AabcdBCD、ABCabcdDおよびABCDabcdで、すべてのクエリ要求をカバーすることができる。この実施形態およびその他実施形態では、記載の便宜上、すべての候補クエリ要求の範囲が、ワイルドカード文字を含むセクションをそれぞれ最大で4つ含むことができるソースIPアドレスおよび宛先IPアドレスを有するクエリ要求である場合、その範囲は範囲1と呼ばれる。
別の実施形態では、例えば、ステップ210は、すべての候補クエリ要求を分類することと、最大の相互排他的セット(maximum mutually exclusive set)に含まれるすべての候補クエリ要求のクラスの数を判断することと、X種類のエンコード法を判断することとを含み、Xは、最大の相互排他的セットに含まれるすべての候補クエリ要求のクラスの数である。
すべての候補クエリ要求の分類では、クエリ要求のソースIPアドレスおよび宛先IPアドレス内のワイルドカード文字を含むセクションに従って、クエリ要求を分類できる。つまり、同じクラスのクエリ要求の場合、或るクエリ要求のソースおよび宛先IPアドレス内にワイルドカード文字を含むセクションが合計Y個あれば、ほかのクエリ要求もそれぞれ、そのソースおよび宛先IPアドレス内に、ワイルドカード文字を含む対応するY個のセクションを含む。例えば、セクション内にワイルドカード文字がないソースIPアドレスと、最後のセクションにワイルドカード文字を含む宛先IPアドレスとをそれぞれ含むクエリ要求はすべて、同じクエリ要求クラスに属する。例えば、クエリ要求1が、ソースIPアドレス1.2.101.*および宛先IPアドレス205.*.*.*を有し、クエリ要求2が、ソースIPアドレス100.2.5.*および宛先IPアドレス1.*.*.*を有するとすると、クエリ要求1および2は、A.B.C.*.a.*.*.*と表すことができる同じクエリ要求クラスに属する。
相互排他的セットは、少なくとも2つのクエリ要求クラスから成り、いずれのエンコード法も、同じ相互排他的セット内の当該クエリ要求クラスのうちの任意の2つを、同時にカバーすることはできない。例えば、A.B.C.D.*.*.*.*により表されるクエリ要求クラスと、A.B.C.*.a.*.*.*により表されるクエリ要求クラスとは、同じ相互排他的セットに属し、これら2つのクエリ要求クラスを同時にカバーするエンコード法を発見することは不可能である。例えば、候補クエリ要求の範囲が範囲1であれば、最大の相互排他的セットは、5つのクエリ要求クラス*.*.*.*a.b.c.d、A.*.*.*a.b.c.*、A.B.*.*a.b.*.*、A.B.C.*a.*.*.*、A.B.C.D*.*.*.*を含む。これに応じて、すべての候補クエリ要求をカバーするには、5つのエンコード法を判断するだけでよい。
クエリ要求を分類して、最大の相互排他的セットに含まれるすべてのクエリ要求のクラスの数を判断することによって、すべてのクエリ要求をカバーするのにいくつのエンコード法が必要かを判断し、当該のエンコード法を取得し、これらのエンコード法に従ってインデックスのエンコードを実行するのは容易である。したがって、複数のデータ・ブロック内のデータ・レコードを発見せずに、エンコードされたインデックスに従って、すべてのクエリ要求に対し、連続したデータ・レコードをクエリ結果として取得することができ、その結果、クエリ速度を大幅に改善することができる。当業者には当然のことながら、必要なエンコード法をほかの形で判断することももちろん可能である。
別の実施形態では、最大の相互排他的セットは全数法により取得することができる。この実施形態では、X種類のエンコード法を判断することは、すべての候補エンコード法を含むエンコード法のセットから、X種類のエンコード法を選択することと、X個の選択されたエンコード法が、すべての候補クエリ要求をカバーすることができることを条件に、それらX種類のエンコード法を、最終的なエンコード法として判断することとを含み、Xは、最大の相互排他的セットに含まれるクエリ要求のクラスの数である。すべての候補エンコード法を、全数法により取得して、それらの候補エンコード法からX種類のエンコード法を無作為に選択するか、またはルールを用いて選択して、X種類のエンコード法がすべての候補クエリ要求をカバーできるかどうかを検証することができる。
最大の相互排他的セットの獲得をより容易にするために、本発明の実施形態により、最大の相互排他的セットを行列から取得する方法が提供される。本方法では、(P+1)*(Q+1)行列を設定することが必要であり、Pは、任意の候補クエリ要求のソースIPアドレス内でワイルドカード文字を含むセクションの最大の数を表し、Qは、任意の候補クエリ要求の宛先IPアドレス内でワイルドカード文字を含むセクションの最大の数を表し、PおよびQにより表される対象は、交換可能である。すべての候補要求が、S個のクラスに分類される場合、(P+1)*(Q+1)行列内のS個の要素それぞれがクエリ要求クラスを表す。行列内の要素は、クエリ要求内のソースIPアドレスおよび宛先IPアドレスに対応する要素が、次のルールのうちの1つを満たすように配置される:1)ソースIPアドレス内でワイルドカード文字を含むセクションの数が、左から右へ徐々に減少し、宛先IPアドレス内でワイルドカード文字を含むセクションの数が、上から下へ徐々に増加する;2)ソースIPアドレス内でワイルドカード文字を含むセクションの数が、左から右へ徐々に増加し、宛先IPアドレス内でワイルドカード文字を含むセクションの数が、上から下へ徐々に増加する;3)ソースIPアドレス内でワイルドカード文字を含むセクションの数が、左から右へ徐々に減少し、宛先IPアドレス内でワイルドカード文字を含むセクションの数が、上から下へ徐々に減少する;4)ソースIPアドレス内でワイルドカード文字を含むセクションの数が、左から右へ徐々に増加し、宛先IPアドレス内でワイルドカード文字を含むセクションの数が、上から下へ徐々に減少する;5)宛先IPアドレス内でワイルドカード文字を含むセクションの数が、左から右へ徐々に減少し、ソースIPアドレス内でワイルドカード文字を含むセクションの数が、上から下へ徐々に増加する;6)宛先IPアドレス内でワイルドカード文字を含むセクションの数が、左から右へ徐々に増加し、ソースIPアドレス内でワイルドカード文字を含むセクションの数が、上から下へ徐々に増加する;7)宛先IPアドレス内でワイルドカード文字を含むセクションの数が、左から右へ徐々に減少し、ソースIPアドレス内でワイルドカード文字を含むセクションの数が、上から下へ徐々に減少する;8)宛先IPアドレス内でワイルドカード文字を含むセクションの数が、左から右へ徐々に増加し、ソースIPアドレス内でワイルドカード文字を含むセクションの数が、上から下へ徐々に減少する。
記載の便宜上、行列内の要素は、Kijと表され、iは、要素が第i行にあることを表し、jは、要素が第j列にあることを表し、iおよびjはどちらも1から始まる。
例えば、すべての候補クエリ要求の範囲が範囲1であれば、すべての候補要求は、24のクラスに分類でき、行列は、図3に示されている当該行列である。右上の要素は、ソースIPアドレスおよび宛先IPアドレスにワイルドカード文字を含むセクションがないクエリ要求のクラスを表す。このクエリ要求クラスは、候補クエリ要求の範囲に属さないが、この実施形態で提供される方法はやはり適用可能である。右上の要素を除いて、ほかの24の各要素は、それぞれ候補クエリ要求のクラスに対応し、当該要素の配列は、上記のルール(1)を満たす。
上記の行列内の要素の位置に従って、最大の相互排他的セットに含まれる候補クエリ要求のクラスの数を判断できる。詳細な例を用いて説明する。この行列に従って、2つの要素EおよびFの間の相対的な位置関係が判断される。2つの要素間の相対的な位置関係は、一方の要素が、他方の要素の上、下、左、右、左下、左上、右上または右下にある状態のうちの1つを含む。行列内の任意の要素に関して、当該要素に対して或る要素が、要素Eと要素Fとの相対的な位置関係に合致する相対的な位置関係を有する場合、その2つの要素は、同じ相互排他的セットに属する。そのようなルールに従って、最大の相互排他的セットを発見することができ、最大の相互排他的セットに含まれる候補クエリ要求のクラスの数が判断される。要素Eにより表されるクエリ要求は、そのソースIPアドレス内に、ワイルドカード文字を含むセクションを最大数有し、その宛先IPアドレス内に、ワイルドカード文字を含むセクションを最小数有し、要素Fにより表されるクエリ要求は、その宛先IPアドレス内に、ワイルドカード文字を含むセクションを最大数有し、そのソースIPアドレス内に、ワイルドカード文字を含むセクションを最小数有する。図3に示された行列に関して、要素Eは、左上の角の要素K11であり、要素Fは、右下の角の要素K55であり、要素Eと要素Fとの相対的な位置関係は、要素Eが要素Fに対して左上、すなわち要素Fが要素Eに対して右下にある。例えば、或る要素が、要素K45に対して左上または右下に位置すれば、その要素は、要素K45と同じ相互排他的セットに属する。要素K45の右下に要素はなく、その左上に要素K34があり、結果として、要素K45およびK34により表されるクエリ要求は、同じ相互排他的セットに属することが分かる。さらに、要素K23は、要素K34およびK45の左上にあり、結果として、これら3つの要素により表されるクエリ要求は、同じ相互排他的セットに属する。このようにして、最大の相互排他的セットを発見することができる。図3に示した行列の場合、最大の相互排他的セットは、要素Eから要素Fへの対角線上の5つの要素により表されるクエリ要求によって構成される。この最大の相互排他的セットに含まれる候補クエリ要求のクラスの数は、5である。このように、全数法の代わりに、クエリ要求を分類して行列を構成し、続いて相互排他的セット内のクエリ要求に対応する要素間の、行列における位置関係を判断することによって、容易かつ効果的な形で、最大の相互排他的セットを発見することができ、これによって計算量を削減することができ、コンピュータ実装に都合がよい。
実施形態では、PおよびQが同じ値を有し、要素Eから要素Fへの対角線上の要素により表されるすべてのクエリ要求が候補クエリ要求であれば、最大の相互排他的セットは、要素Eから要素Fへの対角線上のすべての要素により表されるクエリ要求によって形成される相互排他的セットである。
上記の行列を用いると、最大の相互排他的セットに含まれるすべての候補クエリ要求のクラスの数を判断するために、最大の相互排他的セットが容易に発見できるだけではなく、X種類のエンコード法を判断することもできる。具体的には、行列内の要素によって形成される経路に従って、X種類のエンコード法を判断することができる。行列内の要素によって形成された経路からエンコード法を発見する方法について、より深く理解されるよう、この実施形態では、具体的な例示の方法を2つ挙げる。当業者であれば、ほかの方法によって適切なエンコード法を行列から取得することができる。以下、最大の相互排他的セットに含まれる候補クエリ要求のクラスの数が5である、具体的な例を用いて説明を行う。
第1の例示の方法は、次の通りである。行列において、第1の方向および第2の方向に沿った、要素Gから、要素Hおよび要素Iのうちのいずれかへの各経路が、エンコード法を表す。すべての経路が発見された後に、対応するエンコード法を獲得する。それらのエンコード法すべてから、すべての候補クエリ要求をカバーできる5つを選択する。具体的には、第1の方向は、クエリ要求のソースIPアドレス内でワイルドカード文字を含むセクションの数が変化せず、宛先IPアドレス内でワイルドカード文字を含むセクションの数が1ずつ減少する方向であり、第2の方向は、クエリ要求のソースIPアドレス内でワイルドカード文字を含むセクションの数が1ずつ減少し、宛先IPアドレス内でワイルドカード文字を含むセクションの数が変化しない方向である。要素Gにより表されるクエリ要求は、ワイルドカード文字を含むセクションをそれぞれ最大数有する、ソースIPアドレスおよび宛先IPアドレスを有する。要素Hにより表されるクエリ要求は、ワイルドカード文字を含むセクションを1つのみ有するソースIPアドレスおよびワイルドカード文字を含むセクションを有しない宛先IPアドレスを有する。要素Iにより表されるクエリ要求は、ワイルドカード文字を含むセクションを有しないソースIPアドレスおよびワイルドカード文字を含むセクションを1つのみ有する宛先IPアドレスを有する。経路と、エンコード法との対応関係は、以下の通りである。要素Hに達する場合、対応するエンコード法として、最初に変化するセクションはDであり、要素Iに達する場合、対応するエンコード法として、最初に変化するセクションはdである。さらに、異なるセクションを発見するために、或る要素と、要素Gからの経路上のその隣の要素とを比較するが、これらのセクションは、最初に発見されたセクションが、後に発見されたセクションより後に変化するという順序に従って順に変化する。図3に示されている行列の場合、要素Gは要素K51であり、要素Hは要素K14であり、要素Iは要素K25である。第1の方向は、1ステップ上である。第2の方向は、1ステップ右である。上記の要件を満たす1つの経路は、要素Gから要素K11まで上、続いて要素Hに達するまで右である。そのような経路に対応するエンコード法としては、達した要素がHであるため、まず第1に変化するセクションはDである。さらに、経路上の要素Gの隣の要素K41と比較すると、aが異なるセクションであり、次にセクションb、c、d、A、B、Cを順番に発見でき、エンコード法abcdABCDがもたらされる。例として、図3に示されているグレーで示された経路を通ると、最後に達する要素はIであるため、対応するエンコード法として、まず第1に変化するセクションはdであり、D、c、C、b、B、a、Aの順序に従って、ほかのセクションが順に変化し、対応するエンコード法AaBbCcDdがもたらされる。当業者には当然のことながら、この経路発見方法は、要素Gから要素Jへの、第1の方向および第2の方向に沿ったすべての経路を発見するよう拡張可能であり、要素Jにより表されるクエリ要求が有するソースIPアドレスおよび宛先IPアドレスは、どちらもワイルドカード文字を含むセクションを有しない。経路が第1の方向および第2の方向に沿って進むことを前提とすると、要素Jに達する経路は、要素Hまたは要素Iを通過しなければならないことが分かる。上記の形に従って、図3に示されている行列では、70の経路を発見でき、そこから5つの経路が選択され、これらの5つの経路に対応するエンコード法がすべての候補クエリ要求をカバーできるかどうかが判断される。そうであれば、その5つのエンコード法が、最終的なエンコード法として判断される。当然のことながら、5つのエンコード法の選択の結果は、唯一のものではない。
第2の例示の方法は、次の通りである。行列において、第1の方向および第2の方向に沿った、要素Gから、要素Hおよび要素Iのうちのいずれかへの各経路が、エンコード法を表す。5つの経路を発見するが、各経路は、最大の相互排他的セット内のクエリ要求に対応する要素のうちの1つを通過し、5つの経路は全体として、すべての候補クエリ要求に対応する要素を通過し、これら5つの経路に対応するエンコード法は、すべての候補クエリ要求をカバーすることができる。経路とエンコード法との対応関係に加えて、要素G、要素H、要素I、第1の方向および第2の方向は、第1の具体的な例のものと同じ意味を有する。引き続き図3に示されている行列を例にとる。最大の相互排他的セット内のクエリ要求に対応する要素は、それぞれ要素K11、K22、K33、K44、K55である。上記の要件を満たす5つの経路は、1)K51、K41、K31、K21、K11、K12、K13、K14を通過する第1の経路;2)K51、K52、K42、K32、K22、K23、K24、K25を通過する第2の経路;3)K51、K52、K53、K43、K33、K34、K35、K25を通過する第3の経路;4)K51、K52、K53、K54、K44、K34、K24、K14を通過する第4の経路;5)K51、K52、K53、K54、K55、K45、K35、K25を通過する第5の経路である。これに応じて、これら5つの経路は、エンコード法abcdABCD、AabcBCDd、ABabCDcd、ABCabcdD、ABCDabcdに対応する。当業者には当然のことながら、最大の相互排他的セット内のクエリ要求に対応する要素をそれぞれ通過し、全体としてすべての候補クエリ要求に対応する要素を通過するという要件を満たす5つの経路は、唯一のものではなく、上記の要件を満たす5つの経路を判断する方法は多数ある。以下に例を挙げる。1)発見された最大の相互排他的セット内に残った一番左上の要素を発見し、現在の行列内の一番左下の要素から、現在の行列内の一番右上の要素への、一番左上の要素を通過する最も外側の経路を、上方向または右方向のみに沿って進むことにより判断する。2)その経路が通過したすべての要素を除去して、残った要素によって現在の行列を構成する。3)要素K55が残るまで、1)および2)を繰り返す。4)経路上の一番左下の要素を左方向および下方向に沿ってK51に接続し、経路上の一番右上の要素を右方向および上方向に沿ってK15に接続して、上記で取得された経路を完成させる。最後に、K15が除去されて、5つの経路が得られる。K55は要素Fであり、K51は要素Gであり、K15により表されるクエリ要求が有するソースIPアドレスおよび宛先IPアドレスは、どちらもワイルドカード文字を含むセクションを有しない。K15は、それらの経路から除去されなくてもよい。
この実施形態では、より柔軟なデータ処理方法を提供するために、候補クエリ要求の範囲を示す命令が受信され得る。この命令は、ユーザまたはアプリケーションにより発行され得る。命令は、PもしくはQまたはその両方の値を含むことができる。別の実施形態では、命令は、存在し得ないクエリ要求の種類を含んでもよい。例えば、発行される命令は、存在できない4種類のクエリ要求A.*.*.*a.b.c.*、A.B.*.*a.b.*.*、A.B.*.*a.*.*.*、A.B.C.Da.*.*.*を示す。図4に示されているように、グレーで示されている要素は、存在しないクエリ要求を表す。この行列によれば、K11、K23、K34およびK55により表されるクエリ要求が、最大の相互排他的セットを構成する。第2の例で挙げた方法に従って、K51、K41、K31、K21、K11、K12、K13、K14を通過する第1の経路、K51、K52、K42、K32、K22、K23、K24、K25を通過する第2の経路、K51、K52、K53、K54、K44、K34、K35、K25を通過する第3の経路およびK51、K52、K53、K54、K55、K45、K35、K25を通過する第4の経路の、4つの経路が発見される。取得される対応するエンコード法は、abcdABCD、AabcBCDd、ABCabDcdおよびABCDabcdである。ユーザまたはアプリケーションが候補クエリ要求の範囲を指定できるようにすることによって、必要なエンコード法を或る程度減少させることができ、それに応じてインデックスを減少させて、記憶スペースを節約し、ソリューションをより柔軟にすることができる。
この実施形態において提供されるデータベースにおけるデータ処理方法は、1次元インデックスを備えるデータベースを使用することによって、大容量データベースの拡張を実現するのを容易にし、同時に、複数のデータ・ブロックを取得して複数のデータ・ブロックから最終的なクエリ結果を発見することから生じていた時間および計算コストを防ぐ、特定のインデックス・エンコード法が採用され、その結果、クエリ速度を改善できるということが、上記の記載から分かる。さらに、この実施形態において提供されるデータ処理方法は、最大の相互排他的セットの判断を、行列内の要素間の位置関係に変換し、さらに、X種類のエンコード法の判断を、行列内の要素によって形成される経路の発見に変換することができ、これによって、エンコード法の判断がより容易になり、同時に、要件を満たす経路を、いくつかの経路処理技術によって判断でき、より柔軟な実装が可能となる。
図5に示されているように、本発明の実施形態において、データ・クエリ方法が提供される。本方法は、ステップ510にて、クエリ要求を受信すること、ステップ520にて、クエリ要求に含まれる情報により指定されるソースIPアドレスおよび宛先IPアドレスを線形化すること、ステップ530にて、線形化されたIPアドレスに従って、1次元インデックスを有するデータベースを検索して、連続したデータ・レコードをクエリ結果として得ることを含む。
この実施形態では、クエリが実行されるデータベースは、図2に示された実施形態の方法に従ってインデックスを付けられている。具体的な詳細については、図2に示された実施形態を参照することができる。
この実施形態では、ステップ510にて受信されるクエリ要求は、ソースIPアドレスおよび宛先IPアドレスを示す情報を含み、ソースIPアドレスおよび宛先IPアドレスのうちの少なくとも一方は、ワイルドカード文字を含むセクションを少なくとも1つ有する。より具体的な実装の詳細および例については、図2に示された実施形態を参照することができる。
この実施形態では、データベースのインデックスは1次元インデックスであるため、ソースIPアドレスおよび宛先IPアドレスは、線形化されて1次元アドレスに変換されなければならない。ステップ520における、ソースおよび宛先IPアドレスの線形化は、具体的には、データベースの各インデックス・エンコード法に従ってソースおよび宛先IPアドレスを線形化することを含む。具体的には、ステップ520はさらに、クエリ要求をカバーできるデータベース・インデックスのエンコード法を判断し、そのエンコード法に従ってソースIPアドレスおよび宛先IPアドレスを線形化することを含む。ソースおよび宛先IPアドレスが、各エンコード法に従って線形化されれば、様々なエンコード法に基づきエンコードされたインデックスに従って、同時に検索を実行できることが分かる。或るエンコード法が、このクエリ要求をカバーできれば、対応するインデックスに対するクエリが、より高速にクエリ結果を取得することができ、結果は最終的なクエリ結果として使用される。クエリ要求をカバーできるエンコード法が最初に判断され、続いてソースおよび宛先IPアドレスが、そのようなエンコード法に従って線形化されれば、このエンコード法に対応するインデックスに対してクエリを実行して、クエリ結果を得ることができる。例えば、図4に示されている行列を例にとると、データベースにおいて、インデックスは、4つのエンコード法abcdABCD、AabcBCDd、ABCabDcdおよびABCDabcdでエンコードされる。ソースIPアドレス10.*.*.*および宛先IPアドレス20.102.*.*を含むクエリ要求がユーザによって発行される。第1の実装の線形化が使用される場合、線形化結果は、20.102.*.*.10.*.*.*、10.20.102.*.*.*.*.*、10.*.*.20.102.*.*.*、10.*.*.*.20.102.*.*である。第2のエンコード法で線形化されたIPアドレスよれば、第2のエンコード法に対応するインデックスに対するクエリが、連続したデータ・レコードをクエリ結果として得ることができ、したがって、クエリ結果がより高速に返され得ることが分かる。第2の実装の線形化が使用される場合、第2のエンコード法が、クエリ要求のクラスA.*.*.*a.b.*.*をカバーすることができると判断することができるため、ソースおよび宛先IPアドレスを第2のエンコード法に従って直接線形化することができ、次に、第2のインデックス法に対応するインデックスに対してクエリを実行して、連続したデータ・レコードをクエリ結果として得ることができる。2つの実装には、それぞれの利点があることが分かり、実行する上での必要に応じて異なる実装を採用することができる。この実施形態において提供されるデータ・クエリ方法は、クエリ速度を改善してユーザ満足度を高めることができる。
当業者には当然のことながら、上記の実施形態の方法は、互いに組み合わされて、技術的により高度なソリューションを得ることができる。
図6に示されているように、本発明の実施形態において、データベースにおけるデータ・プロセス・デバイス600が提供される。デバイス600は、エンコード・モジュール610およびインデックス・モジュール620を含む。エンコード・モジュール610は、データベースのインデックスのエンコード法を判断するよう構成されており、インデックスは、N+Mのセクションを含む1次元インデックスであり、エンコード法は、インデックスの様々なセクションの変化する順序を指定する。インデックス・モジュール620は、判断されたエンコード法に従って、データ・レコードのインデックスを設定するよう構成されており、このインデックスに従って、任意の候補クエリ要求に対し、連続したデータ・レコードをクエリ結果として取得可能である。候補クエリ要求は、図2に示された実施形態のものと同じである。この実施形態において、特定の詳細および説明については、上記の実施形態の方法を参照することができ、ここでは繰り返さない。
別の実施形態では、エンコード・モジュール610によって判断されるエンコード法は、すべての候補クエリ要求をカバーすることができる。この、カバーについての詳細な記載については、上記の実施形態の方法を参照することができ、ここでは繰り返さない。
別の実施形態では、エンコード・モジュール610は、分類サブモジュール611、排他(disjoint)サブモジュール612および判断サブモジュール613を含むとよい。分類サブモジュール611は、すべての候補クエリ要求を分類するよう構成される。排他サブモジュール612は、最大の相互排他的セットに含まれる候補クエリ要求のクラスの数を判断するよう構成される。判断サブモジュール613は、X種類のエンコード法を判断するよう構成される。クエリ要求の分類、相互排他的セットおよびXの定義については、上記の実施形態の方法を参照することができ、ここでは繰り返さない。
別の実施形態では、エンコード・モジュール610はさらに、行列サブモジュール614を含むとよい。行列サブモジュール614は、(P+1)*(Q+1)行列を得るよう構成される。行列の構成方法およびその中の要素の定義については、上記の実施形態の方法を参照することができ、ここでは繰り返さない。これに応じて、排他サブモジュール612は、行列に従って、最大の相互排他的セットに含まれるすべての候補クエリ要求のクラスの数を判断するよう特に構成される。さらに、判断サブモジュール613は、行列に従ってX種類のエンコード法を判断するよう特に構成される。
別の実施形態では、排他サブモジュール612は、行列内の要素間の位置関係に従って、最大の相互排他的セットに含まれるすべての候補クエリ要求のクラスの数を判断するよう特に構成される。
別の実施形態では、判断サブモジュール613は、行列内の要素によって構成された経路に従って、X種類のエンコード法を判断するよう特に構成される。
例えば、排他サブモジュール612は、要素Eと要素Fとの間の相対的な位置関係を判断するよう構成された位置サブブロックと、要素Eと要素Fとの相対的な位置関係に従って最大の相互排他的セットに含まれるすべての候補クエリ要求のクラスの数を判断するよう構成された総計サブブロックとを含み、相対的な位置関係については、方法実施形態を参照することができる。相対的な位置関係を判断して最大の相互排他的セットを取得する方法については、上記の方法実施形態を参照することができ、ここでは繰り返さない。
例えば、判断サブモジュール613は、行列内の経路に従ってすべてのエンコード法を判断するよう構成された第1の経路サブブロックと、すべての候補クエリ要求をカバーすることができるX種類のエンコード法を、すべてのエンコード法から任意に選択するよう構成された選択サブブロックとを含む。経路からエンコード法を判断する方法、経路を発見する方法およびX種類のエンコード法を選択する方法については、上記の方法実施形態を参照することができ、ここでは繰り返さない。
例えば、判断サブモジュール613は、行列内でX個の経路を発見するよう構成された第2の経路サブブロックと、X個の経路に対応するX種類のエンコード法を獲得するよう構成された獲得サブブロックとを含む。X個の経路を発見する方法などについては、上記の方法実施形態を参照することができ、ここでは繰り返さない。
別の実施形態では、デバイス600はさらに、候補クエリ要求の範囲を指定する命令を受信するよう構成された受信モジュール630を含む。命令によって候補クエリ要求の範囲を指定する方法については、上記の方法実施形態を詳細に参照することができ、ここでは繰り返さない。
上記の実施形態で提供されたデバイスにより、大規模データベースをより容易に拡張することができ、クエリをより高速に実行することができ、クエリ結果として複数のデータ・ブロックにおいてデータ・レコードを発見するのではなく、連続したデータ・レコードをクエリ結果として直接獲得することができる。さらに、クエリ要求の分類および行列化によって、デバイスは、エンコード法の判断を、行列における経路処理または要素判断へと単純化し、計算量を大幅に削減する。
当業者には当然のことながら、上記の実施形態の様々なデバイスを組み合わせることによって、技術的により高度なソリューションを得ることができる。
図7に示されているように、本発明の実施形態において、データ・クエリ・デバイス700がさらに提供される。データ・クエリ・デバイス700は、クエリ要求を受信するよう構成された受信モジュール710と、ソースIPアドレスおよび宛先IPアドレスを線形化するよう構成された線形化モジュール720と、線形化されたIPアドレスに従って1次元インデックスを有するデータベース内を検索し、連続したデータ・レコードをクエリ結果として得るよう構成された検索モジュール730とを含む。この実施形態では、インデックスは、上記の実施形態の方法において提供されたデータ処理方法に従ってデータベースにおいて設定される。クエリ要求などについては、上記の実施形態の方法を参照することができ、ここでは繰り返さない。
別の実施形態では、データ・クエリ・デバイス700は、データベースのインデックスを設定するために、図6に示されたデバイス600を含む。
別の実施形態では、線形化モジュール720は、データベースの各インデックス・エンコード法に従って、ソースIPアドレスおよび宛先IPアドレスを線形化するよう構成される。
別の実施形態では、線形化モジュール720は、クエリ要求をカバーすることができるインデックスのエンコード法を判断して、そのエンコード法に従ってソースIPアドレスおよび宛先IPアドレスを線形化するよう構成される。
図7に示されている上記の実施形態の組み合わせによって、技術的により高度なソリューションを得ることができる。図7に示された実施形態において提供されるデバイスは、クエリ応答速度を改善することができる。
図6および7に示された実施形態の詳細については、本開示に関連して記載された、対応する方法を参照することができる。
各図面のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の考えられる実装のアーキテクチャ、機能性および動作を示す。この関連で、フローチャートまたはブロック図内の各ブロックは、指定の論理機能(単数または複数)を実装する1つ以上の実行可能命令を含むモジュール、セグメント、またはコードの一部を表すこともできる。さらに、いくつかの代わりの実装では、ブロック内に示されている機能が、図面に示されているのとは異なる順序で生じてもよいということに留意されたい。例えば、関連する機能性次第で、連続して示されている2つのブロックが実際には事実上同時に実行されてもよく、または、各ブロックが逆順で実行されることがあってもよい。さらに、ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方の複数ブロックの組み合わせは、指定の機能もしくは動作を実行する専用ハードウェア・ベース・システム、または専用ハードウェアおよびコンピュータ命令の組み合わせにより実装することができるということに留意されたい。
本発明の様々な実施形態の記載は、説明のために示されたものであるが、包括的であることも、開示された実施形態に限定されることも目的としていない。当業者には、記載された実施形態の範囲および意図から逸脱することのない、多数の変更および変形が明らかであろう。本願明細書で使用された用語は、実施形態の原理、実際の用途、または市場にある技術に比べた技術的改善を最もよく説明するよう、または当業者が本願明細書に開示された実施形態を理解できるよう選ばれた。
100 コンピュータ・システム
101 CPU
102 RAM
103 ROM
104 システム・バス
105 ハード・ドライブ・コントローラ
106 キーボード・コントローラ
107 シリアル・インターフェース・コントローラ
108 パラレル・インターフェース・コントローラ
109 ディスプレイ・コントローラ
110 ハード・ドライブ
111 キーボード
112 シリアル周辺機器
113 パラレル周辺機器
114 ディスプレイ

Claims (19)

  1. データベースのデータ処理方法であって、前記データベース内のデータ・レコードのクエリ要求が、ソースIPアドレスおよび宛先IPアドレスを示す情報を含み、前記ソースIPアドレスは、N個のセクションを含み、前記宛先IPアドレスは、M個のセクションを含み、MおよびNは、どちらも正の整数であり、前記方法は、
    前記データベースのインデックスのエンコード法を判断するステップであって、前記インデックスは、N+M個のセクションを含む1次元インデックスであり、前記エンコード法は、前記インデックスの様々なセクションの変化順序を指定し、連続したデータ・レコードが、前記インデックスに従って任意の候補クエリ要求に対しクエリ結果として取得可能であり、前記候補クエリ要求に含まれる前記情報によって示される前記ソースIPアドレスおよび前記宛先IPアドレスのうちの少なくとも一方が、ワイルドカード文字を有するセクションを少なくとも1つ含み、前記ワイルドカード文字は、許容範囲内の任意値を表す、前記ステップと、
    前記エンコード法に従って、前記データ・レコードの前記インデックスを設定するステップと、
    を含む方法。
  2. 前記エンコード法は、すべての前記候補クエリ要求をカバーすることができ、クエリ要求に含まれる前記情報によって示される前記ソースIPアドレスおよび前記宛先IPアドレスが、ワイルドカード文字を有するセクションを全体でA個有する場合であって、かつ、ワイルドカード文字を含む前記A個のセクションが、或るエンコード法でエンコードされた前記インデックスにおいて最初に変化するA個のセクションに対応する場合、前記クエリ要求は、前記エンコード法によってカバーされる、請求項1に記載の方法。
  3. 前記データベースの前記インデックスのエンコード法を判断するステップは、
    すべての候補クエリ要求を分類するステップであって、同じクラス内のクエリ要求に関して、或るクエリ要求に含まれる情報によって示されるソースIPアドレスおよび宛先IPアドレス内に、ワイルドカード文字を含むセクションが全体でB個ある場合、前記クラス内のほかのクエリ要求に含まれる情報によって示されるソースIPアドレスおよび宛先IPアドレスは、対応する前記B個のセクションに含まれたワイルドカード文字を有する、前記ステップと、
    最大の相互排他的セットに含まれる前記候補クエリ要求のクラスの数を判断するステップであって、前記相互排他的セット内の任意の2つのクラスのクエリ要求に関して、前記2つのクラスのクエリ要求は、1つのエンコード法ではカバーすることができない、前記ステップと、
    X種類のエンコード法を判断するステップであって、Xは、前記最大の相互排他的セットに含まれるすべての候補クエリ要求のクラスの前記数である、前記ステップと、
    を含む、請求項2に記載の方法。
  4. X種類のエンコード法を判断するステップは、
    すべての候補エンコード法を含むエンコード法のセットから、X種類のエンコード法を選択するステップと、
    前記選択されたX種類のエンコード法が、すべての候補クエリ要求をカバーすることができることを条件に、前記X種類のエンコード法を、最終的に判断された前記エンコード法として判断するステップと、
    を含む、請求項3に記載の方法。
  5. 前記方法は、すべての前記候補クエリ要求を分類するステップの後、
    すべての前記候補クエリ要求がS個のクラスに分類される場合に(P+1)×(Q+1)行列内のS個の要素それぞれがクエリ要求のクラスを表す、前記行列を取得するステップであって、PおよびQのうちの一方は、任意の候補クエリ要求に関して、前記ソースIPアドレス内でワイルドカード文字を含むセクションの最大の数を表し、他方は、任意の候補クエリ要求に関して、前記宛先IPアドレス内でワイルドカード文字を含むセクションの最大の数を表す、前記ステップ
    をさらに含み、
    最大の相互排他的セットに含まれる前記候補クエリ要求のクラスの前記数を判断するステップは、
    最大の相互排他的セットに含まれる前記候補クエリ要求のクラスの前記数を、前記行列に従って判断するステップ
    を含み、
    前記行列内の要素によって表されるクエリ要求に含まれる情報によって示されるソースIPアドレスおよび宛先IPアドレスは、以下のルール:
    前記ソースIPアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に減少し、前記宛先IPアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に増加する;
    前記ソースIPアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に増加し、前記宛先IPアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に増加する;
    前記ソースIPアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に減少し、前記宛先IPアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に減少する;
    前記ソースIPアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に増加し、前記宛先IPアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に減少する;
    前記宛先IPアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に減少し、前記ソースIPアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に増加する;
    前記宛先IPアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に増加し、前記ソースIPアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に増加する;
    前記宛先IPアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に減少し、前記ソースIPアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に減少する;
    前記宛先IPアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に増加し、前記ソースIPアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に減少する;
    のうちの1つを満たす、請求項3に記載の方法。
  6. X種類のエンコード法を判断するステップは、前記行列に従って前記X種類のエンコード法を判断するステップを含む、請求項5に記載の方法。
  7. 最大の相互排他的セットに含まれる前記候補クエリ要求のクラスの前記数を、前記行列に従って判断するステップは、
    最大の相互排他的セットに含まれる前記候補クエリ要求のクラスの前記数を、前記行列内の前記要素間の位置関係に従って判断するステップ
    を含む、請求項5に記載の方法。
  8. 前記行列に従ってX種類のエンコード法を判断するステップは、
    前記行列内の要素によって構成される経路に従って前記X種類のエンコード法を判断するステップ
    を含む、請求項6に記載の方法。
  9. 前記方法は、前記候補クエリ要求の範囲を指定する命令を受信するステップをさらに含む、請求項1に記載の方法。
  10. ソースIPアドレスおよび宛先IPアドレスを示す情報を含むクエリ要求を受信するステップであって、前記ソースIPアドレスおよび前記宛先IPアドレスのうちの少なくとも一方は、ワイルドカード文字を有するセクションを少なくとも1つ含み、前記ワイルドカード文字は、許容範囲内の任意値を表す、前記ステップと、
    前記ソースIPアドレスおよび前記宛先IPアドレスを線形化するステップと、
    連続したデータ・レコードをクエリ結果として取得するために、1次元インデックスを有するデータベース内を、前記線形化されたIPアドレスに従って検索するステップであって、前記データベース内の前記データ・レコードは、請求項1〜9のいずれかに記載の方法に従ってインデックスを付けられている、前記ステップと、
    を含むデータ・クエリ方法。
  11. 前記ソースIPアドレスおよび前記宛先IPアドレスを線形化するステップは、前記データベースのインデックスのエンコード法それぞれに従って前記ソースIPアドレスおよび前記宛先IPアドレスを線形化するステップを含む、請求項10に記載の方法。
  12. 前記ソースIPアドレスおよび前記宛先IPアドレスを線形化するステップは、前記クエリ要求をカバーするインデックスのエンコード法を判断するステップと、前記エンコード法に従って前記ソースIPアドレスおよび前記宛先IPアドレスを線形化するステップとを含む、請求項10に記載の方法。
  13. データベースにおけるデータ処理のためのデバイスであって、前記データベース内のデータ・レコードのクエリ要求が、ソースIPアドレスおよび宛先IPアドレスを示す情報を含み、前記ソースIPアドレスは、N個のセクションを含み、前記宛先IPアドレスは、M個のセクションを含み、MおよびNは、どちらも正の整数であり、前記デバイスは、
    前記データベースのインデックスのエンコード法を判断するよう構成されたエンコード・モジュールであって、前記インデックスは、N+M個のセクションを含む1次元インデックスであり、前記エンコード法は、前記インデックスの様々なセクションの変化順序を指定し、連続したデータ・レコードが、前記インデックスに従って任意の候補クエリ要求に対しクエリ結果として取得可能であり、前記候補クエリ要求に含まれる前記情報によって示される前記ソースIPアドレスおよび前記宛先IPアドレスのうちの少なくとも一方が、ワイルドカード文字を有するセクションを少なくとも1つ含み、前記ワイルドカード文字は、許容範囲内の任意値を表す、前記エンコード・モジュールと、
    前記エンコード法に従って、前記データ・レコードの前記インデックスを設定するよう構成されたインデックス・モジュールと、
    を含む、デバイス。
  14. 前記エンコード法は、すべての前記候補クエリ要求をカバーでき、クエリ要求に含まれる前記情報によって示される前記ソースIPアドレスおよび前記宛先IPアドレスが、ワイルドカード文字を含むセクションを全体でA個有する場合であって、かつ、ワイルドカード文字を含む前記A個のセクションが、或るエンコード法でエンコードされた前記インデックスにおいて最初に変化するA個のセクションに対応する場合、前記クエリ要求は、前記エンコード法によってカバーされる、請求項13に記載のデバイス。
  15. 前記エンコード・モジュールは、
    すべての前記候補クエリ要求を分類するよう構成された分類サブモジュールであって、同じクラス内のクエリ要求に関して、或るクエリ要求に含まれる情報によって示されるソースIPアドレスおよび宛先IPアドレス内に、ワイルドカード文字を含むセクションが全体でB個ある場合、前記クラス内のほかのクエリ要求に含まれる情報によって示されるソースIPアドレスおよび宛先IPアドレスは、対応する前記B個のセクションに含まれたワイルドカード文字を有する、前記分類サブモジュールと、
    最大の相互排他的セットに含まれる前記候補クエリ要求のクラスの数を判断するよう構成された排他サブモジュールであって、前記相互排他的セット内の任意の2つのクラスのクエリ要求に関して、前記2つのクラスのクエリ要求は、任意の1つのエンコード法ではカバーすることができない、排他サブモジュールと、
    X種類のエンコード法を判断するよう構成された判断サブモジュールであって、Xは、前記最大の相互排他的セットに含まれるすべての候補クエリ要求のクラスの前記数である、前記判断サブモジュールと、
    を含む、請求項14に記載のデバイス。
  16. 前記エンコード・モジュールは、すべての前記候補クエリ要求がS個のクラスに分類される場合に(P+1)×(Q+1)行列内のS個の要素それぞれがクエリ要求のクラスを表す、前記行列を得るよう構成された行列サブモジュールをさらに含み、PおよびQのうちの一方は、任意の候補クエリ要求に関して、前記ソースIPアドレス内でワイルドカード文字を含むセクションの最大の数を表し、他方は、任意の候補クエリ要求に関して、前記宛先IPアドレス内でワイルドカード文字を含むセクションの最大の数を表し、
    前記排他サブモジュールは、最大の相互排他的セットに含まれる前記候補クエリ要求のクラスの前記数を、前記行列に従って判断するようさらに構成されており、
    前記判断サブモジュールは、前記行列に従って、X種類のエンコード法を判断するよう構成されており、
    前記行列内の要素によって表されるクエリ要求に含まれる情報によって示されるソースIPアドレスおよび宛先IPアドレスは、以下のルール:
    前記ソースIPアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に減少し、前記宛先IPアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に増加する;
    前記ソースIPアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に増加し、前記宛先IPアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に増加する;
    前記ソースIPアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に減少し、前記宛先IPアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に減少する;
    前記ソースIPアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に増加し、前記宛先IPアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に減少する;
    前記宛先IPアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に減少し、前記ソースIPアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に増加する;
    前記宛先IPアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に増加し、前記ソースIPアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に増加する;
    前記宛先IPアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に減少し、前記ソースIPアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に減少する;
    前記宛先IPアドレス内でワイルドカード文字を含むセクションの前記数が、左から右へ徐々に増加し、前記ソースIPアドレス内でワイルドカード文字を含むセクションの前記数が、上から下へ徐々に減少する;
    のうちの1つを満たす、請求項15に記載のデバイス。
  17. 前記排他サブモジュールは、最大の相互排他的セットに含まれる前記候補クエリ要求のクラスの前記数を、前記行列内の要素間の位置関係に従って判断するよう特に構成されており、
    前記判断サブモジュールは、前記行列内の要素によって構成される経路に従って、前記X種類のエンコード法を判断するよう特に構成されている、請求項16に記載のデバイス。
  18. 前記デバイスは、
    前記候補クエリ要求の範囲を指定する命令を受信するよう構成された受信モジュール
    をさらに含む、請求項13に記載のデバイス。
  19. ソースIPアドレスおよび宛先IPアドレスを示す情報を含むクエリ要求を受信するよう構成された受信モジュールであって、前記ソースIPアドレスおよび前記宛先IPアドレスのうちの少なくとも一方は、ワイルドカード文字を有するセクションを少なくとも1つ含み、前記ワイルドカード文字は、許容範囲内の任意値を表す、前記受信モジュールと、
    前記ソースIPアドレスおよび前記宛先IPアドレスを線形化するよう構成された線形化モジュールと、
    連続したデータ・レコードをクエリ結果として取得するために、1次元インデックスを有するデータベース内を、前記線形化されたIPアドレスに従って検索するよう構成された検索モジュールであって、前記データベース内の前記データ・レコードは、請求項1〜9のいずれかに記載の方法に従ってインデックスを付けられている、前記検索モジュールと、
    を含むデータ・クエリ・デバイス。
JP2013084770A 2012-06-29 2013-04-15 データベースにおけるデータ処理方法、データ・クエリ方法ならびに対応するデバイスおよびデータ・クエリ・デバイス Expired - Fee Related JP6008785B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210224193.XA CN103514224B (zh) 2012-06-29 2012-06-29 数据库中的数据处理方法、数据查询方法和相应装置
CN201210224193.X 2012-06-29

Publications (2)

Publication Number Publication Date
JP2014010828A JP2014010828A (ja) 2014-01-20
JP6008785B2 true JP6008785B2 (ja) 2016-10-19

Family

ID=49754306

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013084770A Expired - Fee Related JP6008785B2 (ja) 2012-06-29 2013-04-15 データベースにおけるデータ処理方法、データ・クエリ方法ならびに対応するデバイスおよびデータ・クエリ・デバイス

Country Status (4)

Country Link
US (1) US9471612B2 (ja)
JP (1) JP6008785B2 (ja)
CN (1) CN103514224B (ja)
DE (1) DE102013210914B4 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224534A (zh) * 2014-05-29 2016-01-06 腾讯科技(深圳)有限公司 一种请求响应的方法及装置
CN107368527B (zh) * 2017-06-09 2020-06-30 东南大学 基于数据流的多属性索引方法
CN112527951B (zh) * 2021-02-09 2021-05-11 北京微步在线科技有限公司 整数数据的存储方法、装置及存储介质
US20240126761A1 (en) * 2022-10-14 2024-04-18 Jpmorgan Chase Bank, N.A. System and methods for processing data queries in hybrid data mesh architectures
CN116150212B (zh) * 2023-04-24 2023-07-07 苏州映赛智能科技有限公司 数据处理方法及设备

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370142B1 (en) 1995-07-12 2002-04-09 Nortel Networks Limited Method and apparatus for performing per-port IP multicast pruning
WO1998048360A1 (en) 1997-04-22 1998-10-29 Greg Hetherington Method and apparatus for processing free-format data
JP3449326B2 (ja) * 1999-12-08 2003-09-22 日本電気株式会社 データ検索システム及びパケット処理装置並びに制御方法
AUPQ475799A0 (en) * 1999-12-20 2000-01-20 Youramigo Pty Ltd An internet indexing system and method
US6546394B1 (en) * 1999-12-28 2003-04-08 Oracle International Corporation Database system having logical row identifiers
US6614789B1 (en) * 1999-12-29 2003-09-02 Nasser Yazdani Method of and apparatus for matching strings of different lengths
US6470297B1 (en) 2000-06-21 2002-10-22 The United States Of America As Represented By The Director Of The National Security Agency Method of multi-dimensionally accentuating a deviation in information and identifying its cause
JP2002190822A (ja) * 2000-12-19 2002-07-05 Hitachi Ltd ネットワーク装置
JP4035600B2 (ja) 2002-05-22 2008-01-23 国立大学法人 東京大学 イマチニブに対する感受性の判定方法
CN1216473C (zh) * 2003-03-28 2005-08-24 清华大学 支持多个下一跳的三态内容可寻址存储器查找方法及系统
US7966301B2 (en) * 2003-05-09 2011-06-21 Planeteye Company Ulc System and method for employing a grid index for location and precision encoding
US8473532B1 (en) * 2003-08-12 2013-06-25 Louisiana Tech University Research Foundation Method and apparatus for automatic organization for computer files
US8059551B2 (en) 2005-02-15 2011-11-15 Raytheon Bbn Technologies Corp. Method for source-spoofed IP packet traceback
US7552275B1 (en) * 2006-04-03 2009-06-23 Extreme Networks, Inc. Method of performing table lookup operation with table index that exceeds CAM key size
JP4933222B2 (ja) 2006-11-15 2012-05-16 株式会社日立製作所 インデックス処理方法及び計算機システム
US8086641B1 (en) 2006-11-27 2011-12-27 Netlogic Microsystems, Inc. Integrated search engine devices that utilize SPM-linked bit maps to reduce handle memory duplication and methods of operating same
US7831626B1 (en) 2006-11-27 2010-11-09 Netlogic Microsystems, Inc. Integrated search engine devices having a plurality of multi-way trees of search keys therein that share a common root node
US7747563B2 (en) 2006-12-11 2010-06-29 Breakaway Technologies, Inc. System and method of data movement between a data source and a destination
US8055645B1 (en) 2006-12-15 2011-11-08 Packeteer, Inc. Hierarchical index for enhanced storage of file changes
CN100446486C (zh) * 2007-05-11 2008-12-24 北京工业大学 网络流行为的行为分析参数的提取方法
US8027990B1 (en) * 2008-07-09 2011-09-27 Google Inc. Dynamic query suggestion
US7903566B2 (en) 2008-08-20 2011-03-08 The Boeing Company Methods and systems for anomaly detection using internet protocol (IP) traffic conversation data
US8780926B2 (en) 2009-12-01 2014-07-15 Polytechnic Institute Of New York University Updating prefix-compressed tries for IP route lookup
WO2012016327A1 (en) 2010-08-06 2012-02-09 Neuralitic Systems A method and system for generating metrics representative of ip data traffic from ip data records
US8396858B2 (en) * 2011-08-11 2013-03-12 International Business Machines Corporation Adding entries to an index based on use of the index

Also Published As

Publication number Publication date
DE102013210914A1 (de) 2014-01-02
CN103514224B (zh) 2017-08-25
US9471612B2 (en) 2016-10-18
US20140012858A1 (en) 2014-01-09
DE102013210914B4 (de) 2018-06-21
CN103514224A (zh) 2014-01-15
JP2014010828A (ja) 2014-01-20

Similar Documents

Publication Publication Date Title
US11693839B2 (en) Parser for schema-free data exchange format
Chikhi et al. On the representation of de Bruijn graphs
JP5922667B2 (ja) 製品情報の伝送
JP6362316B2 (ja) バッファ・プールをメモリ常駐型データのための常在インメモリ・ストレージとして用いた、ハイブリッド・テーブル実装のための方法、システム、およびコンピュータ・プログラム製品
JP6008785B2 (ja) データベースにおけるデータ処理方法、データ・クエリ方法ならびに対応するデバイスおよびデータ・クエリ・デバイス
Chikhi et al. On the representation of de Bruijn graphs
US20160065534A1 (en) System for correlation of domain names
Zhou et al. Online video recommendation in sharing community
CN102455984B (zh) 从二级存储装置读取行之前从存储器读取行的方法和装置
KR20090048624A (ko) 데이터 구조를 가지는 하나 이상의 장치 판독가능 매체, 및장치 실행가능 명령어를 구비한 하나 이상의 장치 판독가능 매체
US11386063B2 (en) Data edge platform for improved storage and analytics
CN113722520A (zh) 图数据的查询方法及装置
JP2015049574A (ja) インデックス生成装置及び検索装置
US10049164B2 (en) Multidimensional-range search apparatus and multidimensional-range search method
Jafari et al. Experimental analysis of locality sensitive hashing techniques for high-dimensional approximate nearest neighbor searches
JP2010277329A (ja) 近傍探索装置
Geppert et al. Advances in 2D fingerprint similarity searching
JP6624062B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP5224537B2 (ja) 局所性検知可能ハッシュの構築装置、類似近傍検索処理装置及びプログラム
WO2016043121A1 (ja) 情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体
JP7492088B2 (ja) 重み付き知識移転装置、方法、及びシステム
Cho Efficient Shared Execution Processing of k‐Nearest Neighbor Joins in Road Networks
Tripathy et al. Security, privacy, and anonymization in social networks: emerging research and opportunities: emerging research and opportunities
Wang et al. Subspace k-anonymity algorithm for location-privacy preservation based on locality-sensitive hashing
CN108090182A (zh) 一种大规模高维数据的分布式索引方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160812

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160913

R150 Certificate of patent or registration of utility model

Ref document number: 6008785

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees