JP2012252658A - 検索プログラム、検索方法、検索装置、およびノード - Google Patents
検索プログラム、検索方法、検索装置、およびノード Download PDFInfo
- Publication number
- JP2012252658A JP2012252658A JP2011126764A JP2011126764A JP2012252658A JP 2012252658 A JP2012252658 A JP 2012252658A JP 2011126764 A JP2011126764 A JP 2011126764A JP 2011126764 A JP2011126764 A JP 2011126764A JP 2012252658 A JP2012252658 A JP 2012252658A
- Authority
- JP
- Japan
- Prior art keywords
- bloom filter
- stage
- transposed
- data
- search
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】ノードN2のデータブロックdb4に検索対象データDxが記憶されているため、ノードN2は、検索対象データDxが存在する旨をクライアントC1に返す。一方、ノードN4のデータブロックdb7に検索対象データDxが記憶されていないため、ノードN4は、検索対象データDxが存在しない旨をクライアントC1に返す。なお、クライアントC1がデータブロックdb4について先にリクエストを送った場合、検索対象データDxが存在する旨の検索結果が得られるため、ノードN4に対してリクエストを送信しなくてもよい。これにより、検索処理の高速化を実現することができる。このような手順により、階層型分割転置ブルームフィルタ群を利用することで、より高速かつ広範囲で対象データを検索することができる。
【選択図】図14
Description
図1は、実施の形態にかかる検索システムのシステム構成例を示す説明図である。図1において、検索システム100は、複数(図1では例として4台)のノードN1〜N4と、管理サーバMと、一または複数(図1では例として3台)のクライアントC1〜C3と、がネットワークNWを介して通信可能に接続されて構成されている。ネットワークNWとしては、たとえば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットが挙げられる。
つぎに、図1に示した階層型転置ブルームフィルタtBFの転置元となる階層型ブルームフィルタについて説明する。
つぎに、階層型転置ブルームフィルタtBFについて説明する。図2に示した階層型ブルームフィルタBFを転置させることで、階層型ブルームフィルタBFよりも検索速度をさらに高速化させることができる。
図4は、実施の形態にかかるコンピュータ(ノードN1〜N4、管理サーバM、クライアントC1〜C3)のハードウェア構成例を示すブロック図である。図4において、検索装置は、CPU(Central Processing Unit)401と、ROM(Read Only Memory)402と、RAM(Random Access Memory)403と、磁気ディスクドライブ404と、磁気ディスク405と、光ディスクドライブ406と、光ディスク407と、ディスプレイ408と、I/F(Interface)409と、キーボード140と、マウス411と、スキャナ412と、プリンタ413と、を備えている。また、各構成部はバス400によってそれぞれ接続されている。
つぎに、エントリ処理について説明する。エントリ処理では、エントリの対象となるデータ(以下、対象データ)を登録するデータエントリ処理と、階層型分割転置ブルームフィルタ群へのフィルタエントリ処理とが実行される。以下、図5を用いて説明する。
まず、データエントリ処理例について説明する。登録される対象データDxが与えられるハッシュ関数の種類数kをk=3とする。ここでは、ハッシュ関数H1(),H2(),H3()を用いることとする。また、ハッシュテーブルHT1〜HT8の登録対象となるハッシュ関数をH1()とする。
H1(Dx)=x1
H2(Dx)=x2
H3(Dx)=x3
つぎに、フィルタエントリ処理例について説明する。まずは、第1段のフィルタエントリ処理が実行される。管理サーバMは、更新対象となる転置ブルームフィルタtbf(1)を、第1段の転置ブルームフィルタ列tBF(1)の中から特定する。具体的には、管理サーバMは、各ハッシュ値x1〜x3を、第1段の転置ブルームフィルタ列tBF(1)の配列数である「8」で割り算し、余り値を算出する。余り値は、転置ブルームフィルタの配列位置をあらわす位置情報となる。
図6は、実施の形態にかかる登録元コンピュータによるエントリ処理手順例を示すフローチャートである。エントリ処理を実行するコンピュータ(たとえば、管理サーバMまたはクライアント。以下、単に「登録元コンピュータ」。)は、登録したい対象データ(たとえば、図5に示した対象データDx)があるか否かを判断する(ステップS601)。対象データDxがある場合(ステップS601:Yes)、登録元コンピュータは、k種類のハッシュ関数(H1()を含む)のそれぞれに対象データを与えてk個のハッシュ値を算出する(ステップS602)。そして、登録元コンピュータは、段数pをp=1に設定し(ステップS603)、データエントリ処理(ステップS604)およびフィルタエントリ処理(ステップS605)を実行する。
図7は、図6に示したデータエントリ処理の詳細な処理手順例を示すフローチャートである。図7において、まず、登録元コンピュータは、対象データDxのハッシュテーブルエントリを生成する(ステップS701)。たとえば、登録元コンピュータは、図5に示したように、ハッシュテーブルエントリExを生成する。
図9は、図6に示したフィルタエントリ処理の詳細な処理手順例を示すフローチャートである。図9において、まず、登録元コンピュータは、図7のステップS704で受信したリプライ802から登録先データブロックのブロック番号を抽出する(ステップS901)。図8の(B)に示した例では、「4」が抽出される。
図11は、実施の形態にかかるノードによるエントリ処理の詳細な処理手順例を示すフローチャートである。図11の処理手順は、複数のノード(ノードN1〜N4)のいずれのノードでも実行される処理手順である。
つぎに、検索処理について説明する。検索処理では、検索対象データが与えられると、階層型分割転置ブルームフィルタ群で絞り込むことで、検索対象データがノード群に存在するか否かを特定する処理である。以下、図12〜図14を用いて説明する。図12〜図14では、図1に示した階層型転置ブルームフィルタ群(tBF1〜tBF4)を例にあげて説明する。また、検索処理を実行する検索元コンピュータは、管理サーバMまたはいずれかのクライアントC1〜C3となるが、ここでは一例としてクライアントC1とする。
図15は、実施の形態にかかる検索元コンピュータによる検索処理手順例を示すフローチャート(前半)である。検索処理を実行するコンピュータ(たとえば、管理サーバMまたはクライアント。以下、単に「検索元コンピュータ」。)は、検索対象データDxを待ち受け(ステップS1501:No)、検索対象データDxが受け付けられた場合(ステップS1501:Yes)、検索元コンピュータは、検索対象データDxをk種類のハッシュ関数に与えてk個のハッシュ値を算出する(ステップS1502)。
つぎに、ノードによる検索処理手順について図11を用いて説明する。図11において、ノードは、リクエストの受信を待ち受ける(ステップS1101:No)。リクエストが受信された場合(ステップS1101:Yes)、ノードは、リクエストの種類を特定する(ステップS1102)。具体的には、リクエスト内の種類項目が「登録」または「検索」であるかを特定する。
複数種類のハッシュ関数に基づいて、ハッシュ関数ごとに、検索対象データを、前記転置ブルームフィルタの配列位置をあらわす位置情報に変換し、
前記第p段の転置ブルームフィルタ列の中から、前記位置情報に対応する前記第p段の転置ブルームフィルタを位置情報ごとに特定し、
特定された前記第p段の転置ブルームフィルタを保持するノードから、特定された前記第p段の転置ブルームフィルタを取得し、
取得された前記第p段の転置ブルームフィルタで擬陽性を示すビットのビット位置が同一であるか否かを判断し、
同一であると判断された場合、第p段が第1段であるか否かを判断し、
第1段であると判断された場合、擬陽性を示すビットのビット位置に応じた特定のデータブロックを有するノードから、前記特定のデータブロック内での前記検索対象データの存否を示す検索結果を取得する、
処理を実行させることを特徴とする検索プログラム。
前記第p段の転置ブルームフィルタを取得する処理では、
特定先ノードから、特定された前記第p段の転置ブルームフィルタを取得することを特徴とする付記1に記載の検索プログラム。
特定された前記第p段の転置ブルームフィルタが複数存在する特定先ノードから前記第p段の転置ブルームフィルタの論理積を取得し、
擬陽性を示すビットのビット位置が同一であるか否かを判断する処理では、
取得された論理積に基づいて、前記第p段の転置ブルームフィルタで擬陽性を示すビットのビット位置が同一であるか否かを判断することを特徴とする付記2に記載の検索プログラム。
前記ノード群にアクセス可能なコンピュータから、複数種類のハッシュ関数に基づいて、ハッシュ関数ごとに、検索対象データから変換された前記転置ブルームフィルタの配列位置をあらわす位置情報を受信し、
前記位置情報が受信された場合、前記第p段の転置ブルームフィルタ列の中から位置情報ごとに特定された、前記位置情報に対応する前記第p段の転置ブルームフィルタを前記コンピュータに送信し、
前記コンピュータから前記複数種類のハッシュ関数の中の特定のハッシュ関数に前記検索対象データを与えたときのハッシュ値を受信し、
前記いずれかのノードに対応するデータブロックに記憶されているデータと当該データを前記特定のハッシュ関数に与えたときのハッシュ値とを関連付けたハッシュテーブルを参照することにより、受信されたハッシュ値に関連付けられているデータを、前記いずれかのノードに対応するデータブロックの中から検索し、
検索結果を前記コンピュータに送信する、
処理を実行させることを特徴とする検索プログラム。
複数種類のハッシュ関数に基づいて、ハッシュ関数ごとに、検索対象データを、前記転置ブルームフィルタの配列位置をあらわす位置情報に変換し、
前記第p段の転置ブルームフィルタ列の中から、前記位置情報に対応する前記第p段の転置ブルームフィルタを位置情報ごとに特定し、
特定された前記第p段の転置ブルームフィルタを保持するノードから、特定された前記第p段の転置ブルームフィルタを取得し、
取得された前記第p段の転置ブルームフィルタで擬陽性を示すビットのビット位置が同一であるか否かを判断し、
同一であると判断された場合、第p段が第1段であるか否かを判断し、
第1段であると判断された場合、擬陽性を示すビットのビット位置に応じた特定のデータブロックを有するノードから、前記特定のデータブロック内での前記検索対象データの存否を示す検索結果を取得する、
処理を実行することを特徴とする検索方法。
前記ノード群にアクセス可能なコンピュータから、複数種類のハッシュ関数に基づいて、ハッシュ関数ごとに、検索対象データから変換された前記転置ブルームフィルタの配列位置をあらわす位置情報を受信し、
前記位置情報が受信された場合、前記第p段の転置ブルームフィルタ列の中から位置情報ごとに特定された、前記位置情報に対応する前記第p段の転置ブルームフィルタを前記コンピュータに送信し、
前記コンピュータから前記複数種類のハッシュ関数の中の特定のハッシュ関数に前記検索対象データを与えたときのハッシュ値を受信し、
前記いずれかのノードに対応するデータブロックに記憶されているデータと当該データを前記特定のハッシュ関数に与えたときのハッシュ値とを関連付けたハッシュテーブルを参照することにより、受信されたハッシュ値に関連付けられているデータを、前記いずれかのノードに対応するデータブロックの中から検索し、
検索結果を前記コンピュータに送信する、
処理を実行することを特徴とする検索方法。
複数種類のハッシュ関数に基づいて、ハッシュ関数ごとに、検索対象データを、前記転置ブルームフィルタの配列位置をあらわす位置情報に変換する処理部と、
前記第p段の転置ブルームフィルタ列の中から、前記位置情報に対応する前記第p段の転置ブルームフィルタを位置情報ごとに特定する処理部と、
特定された前記第p段の転置ブルームフィルタを保持するノードから、特定された前記第p段の転置ブルームフィルタを取得する処理部と、
取得された前記第p段の転置ブルームフィルタで擬陽性を示すビットのビット位置が同一であるか否かを判断する処理部と、
同一であると判断された場合、第p段が第1段であるか否かを判断する処理部と、
第1段であると判断された場合、擬陽性を示すビットのビット位置に応じた特定のデータブロックを有するノードから、前記特定のデータブロック内での前記検索対象データの存否を示す検索結果を取得する処理部と、
を備えることを特徴とする検索装置。
前記ノード群にアクセス可能なコンピュータから、複数種類のハッシュ関数に基づいて、ハッシュ関数ごとに、検索対象データから変換された前記転置ブルームフィルタの配列位置をあらわす位置情報を受信する処理部と、
前記位置情報が受信された場合、前記第p段の転置ブルームフィルタ列の中から位置情報ごとに特定された、前記位置情報に対応する前記第p段の転置ブルームフィルタを前記コンピュータに送信する処理部と、
前記コンピュータから前記複数種類のハッシュ関数の中の特定のハッシュ関数に前記検索対象データを与えたときのハッシュ値を受信する処理部と、
前記いずれかのノードに対応するデータブロックに記憶されているデータと当該データを前記特定のハッシュ関数に与えたときのハッシュ値とを関連付けたハッシュテーブルを参照することにより、受信されたハッシュ値に関連付けられているデータを、前記いずれかのノードに対応するデータブロックの中から検索する処理部と、
検索結果を前記コンピュータに送信する処理部と、
を備えることを特徴とするノード。
前記ノード群内の各ノードが、
前記ノード群にアクセス可能なコンピュータから、複数種類のハッシュ関数に基づいて、ハッシュ関数ごとに、検索対象データから変換された前記転置ブルームフィルタの配列位置をあらわす位置情報を受信する処理部と、
前記位置情報が受信された場合、前記第p段の転置ブルームフィルタ列の中から位置情報ごとに特定された、前記位置情報に対応する前記第p段の転置ブルームフィルタを前記コンピュータに送信する処理部と、
前記コンピュータから前記複数種類のハッシュ関数の中の特定のハッシュ関数に前記検索対象データを与えたときのハッシュ値を受信する処理部と、
自ノードに対応するデータブロックに記憶されているデータと当該データを前記特定のハッシュ関数に与えたときのハッシュ値とを関連付けたハッシュテーブルを参照することにより、受信されたハッシュ値に関連付けられているデータを、前記いずれかのノードに対応するデータブロックの中から検索する処理部と、
検索結果を前記コンピュータに送信する処理部と、
を備えることを特徴とする検索システム。
C1〜C3 クライアント
N1〜N4 ノード
M 管理サーバ
T 対応テーブル
tBF 階層型転置ブルームフィルタ
tBF1〜tBF4 階層型分割転置ブルームフィルタ
Claims (9)
- 段数h、ビット幅s、擬陽性または陰性を示すビットが配列された第h段の分割数d、第p(1≦p≦h)段のブルームフィルタのビット幅m=s/d[h-(p-1)]、第p段のブルームフィルタの配列数n=d[h-(p-1)]である階層型ブルームフィルタを、段ごとにブルームフィルタ列を構成する各ブルームフィルタ内の同一位置のビットどうしでまとめることで転置した階層型転置ブルームフィルタと、前記階層型ブルームフィルタの第1段のブルームフィルタ列に対応するデータブロック集合と、からなるデータ構造が、所定ビット幅で分割されており、前記所定ビット幅で分割された各分割データ構造を保持するノード群にアクセス可能なコンピュータに、
複数種類のハッシュ関数に基づいて、ハッシュ関数ごとに、検索対象データを、前記転置ブルームフィルタの配列位置をあらわす位置情報に変換し、
前記第p段の転置ブルームフィルタ列の中から、前記位置情報に対応する前記第p段の転置ブルームフィルタを位置情報ごとに特定し、
特定された前記第p段の転置ブルームフィルタを保持するノードから、特定された前記第p段の転置ブルームフィルタを取得し、
取得された前記第p段の転置ブルームフィルタで擬陽性を示すビットのビット位置が同一であるか否かを判断し、
同一であると判断された場合、第p段が第1段であるか否かを判断し、
第1段であると判断された場合、擬陽性を示すビットのビット位置に応じた特定のデータブロックを有するノードから、前記特定のデータブロック内での前記検索対象データの存否を示す検索結果を取得する、
処理を実行させることを特徴とする検索プログラム。 - 前記ビット幅sのうち前記所定ビット幅に応じた前記分割データ構造のビット範囲と前記ノード群の各ノードとを対応付けた対応テーブルを参照することで、特定された前記第p段の転置ブルームフィルタを保持するノードを特定する処理を前記コンピュータに実行させ、
前記第p段の転置ブルームフィルタを取得する処理では、
特定先ノードから、特定された前記第p段の転置ブルームフィルタを取得することを特徴とする請求項1に記載の検索プログラム。 - 前記第p段の転置ブルームフィルタを取得する処理では、
特定された前記第p段の転置ブルームフィルタが複数存在する特定先ノードから前記第p段の転置ブルームフィルタの論理積を取得し、
擬陽性を示すビットのビット位置が同一であるか否かを判断する処理では、
取得された論理積に基づいて、前記第p段の転置ブルームフィルタで擬陽性を示すビットのビット位置が同一であるか否かを判断することを特徴とする請求項2に記載の検索プログラム。 - 第p段が第1段であると判断された場合、前記対応テーブルを参照することで、前記特定のデータブロックを有するノードを特定する処理を前記コンピュータに実行させることを特徴とする請求項1〜3のいずれか一つに記載の検索プログラム。
- 段数h、ビット幅s、擬陽性または陰性を示すビットが配列された第h段の分割数d、第p(1≦p≦h)段のブルームフィルタのビット幅m=s/d[h-(p-1)]、第p段のブルームフィルタの配列数n=d[h-(p-1)]である階層型ブルームフィルタを、段ごとにブルームフィルタ列を構成する各ブルームフィルタ内の同一位置のビットどうしでまとめることで転置した階層型転置ブルームフィルタと、前記階層型ブルームフィルタの第1段のブルームフィルタ列に対応するデータブロック集合と、からなるデータ構造が、所定ビット幅で分割されており、前記所定ビット幅で分割された各分割データ構造を保持するノード群のいずれかのノードに、
前記ノード群にアクセス可能なコンピュータから、複数種類のハッシュ関数に基づいて、ハッシュ関数ごとに、検索対象データから変換された前記転置ブルームフィルタの配列位置をあらわす位置情報を受信し、
前記位置情報が受信された場合、前記第p段の転置ブルームフィルタ列の中から位置情報ごとに特定された、前記位置情報に対応する前記第p段の転置ブルームフィルタを前記コンピュータに送信し、
前記コンピュータから前記複数種類のハッシュ関数の中の特定のハッシュ関数に前記検索対象データを与えたときのハッシュ値を受信し、
前記いずれかのノードに対応するデータブロックに記憶されているデータと当該データを前記特定のハッシュ関数に与えたときのハッシュ値とを関連付けたハッシュテーブルを参照することにより、受信されたハッシュ値に関連付けられているデータを、前記いずれかのノードに対応するデータブロックの中から検索し、
検索結果を前記コンピュータに送信する、
処理を実行させることを特徴とする検索プログラム。 - 段数h、ビット幅s、擬陽性または陰性を示すビットが配列された第h段の分割数d、第p(1≦p≦h)段のブルームフィルタのビット幅m=s/d[h-(p-1)]、第p段のブルームフィルタの配列数n=d[h-(p-1)]である階層型ブルームフィルタを、段ごとにブルームフィルタ列を構成する各ブルームフィルタ内の同一位置のビットどうしでまとめることで転置した階層型転置ブルームフィルタと、前記階層型ブルームフィルタの第1段のブルームフィルタ列に対応するデータブロック集合と、からなるデータ構造が、所定ビット幅で分割されており、前記所定ビット幅で分割された各分割データ構造を保持するノード群にアクセス可能なコンピュータが、
複数種類のハッシュ関数に基づいて、ハッシュ関数ごとに、検索対象データを、前記転置ブルームフィルタの配列位置をあらわす位置情報に変換し、
前記第p段の転置ブルームフィルタ列の中から、前記位置情報に対応する前記第p段の転置ブルームフィルタを位置情報ごとに特定し、
特定された前記第p段の転置ブルームフィルタを保持するノードから、特定された前記第p段の転置ブルームフィルタを取得し、
取得された前記第p段の転置ブルームフィルタで擬陽性を示すビットのビット位置が同一であるか否かを判断し、
同一であると判断された場合、第p段が第1段であるか否かを判断し、
第1段であると判断された場合、擬陽性を示すビットのビット位置に応じた特定のデータブロックを有するノードから、前記特定のデータブロック内での前記検索対象データの存否を示す検索結果を取得する、
処理を実行することを特徴とする検索方法。 - 段数h、ビット幅s、擬陽性または陰性を示すビットが配列された第h段の分割数d、第p(1≦p≦h)段のブルームフィルタのビット幅m=s/d[h-(p-1)]、第p段のブルームフィルタの配列数n=d[h-(p-1)]である階層型ブルームフィルタを、段ごとにブルームフィルタ列を構成する各ブルームフィルタ内の同一位置のビットどうしでまとめることで転置した階層型転置ブルームフィルタと、前記階層型ブルームフィルタの第1段のブルームフィルタ列に対応するデータブロック集合と、からなるデータ構造が、所定ビット幅で分割されており、前記所定ビット幅で分割された各分割データ構造を保持するノード群のいずれかのノードが、
前記ノード群にアクセス可能なコンピュータから、複数種類のハッシュ関数に基づいて、ハッシュ関数ごとに、検索対象データから変換された前記転置ブルームフィルタの配列位置をあらわす位置情報を受信し、
前記位置情報が受信された場合、前記第p段の転置ブルームフィルタ列の中から位置情報ごとに特定された、前記位置情報に対応する前記第p段の転置ブルームフィルタを前記コンピュータに送信し、
前記コンピュータから前記複数種類のハッシュ関数の中の特定のハッシュ関数に前記検索対象データを与えたときのハッシュ値を受信し、
前記いずれかのノードに対応するデータブロックに記憶されているデータと当該データを前記特定のハッシュ関数に与えたときのハッシュ値とを関連付けたハッシュテーブルを参照することにより、受信されたハッシュ値に関連付けられているデータを、前記いずれかのノードに対応するデータブロックの中から検索し、
検索結果を前記コンピュータに送信する、
処理を実行することを特徴とする検索方法。 - 段数h、ビット幅s、擬陽性または陰性を示すビットが配列された第h段の分割数d、第p(1≦p≦h)段のブルームフィルタのビット幅m=s/d[h-(p-1)]、第p段のブルームフィルタの配列数n=d[h-(p-1)]である階層型ブルームフィルタを、段ごとにブルームフィルタ列を構成する各ブルームフィルタ内の同一位置のビットどうしでまとめることで転置した階層型転置ブルームフィルタと、前記階層型ブルームフィルタの第1段のブルームフィルタ列に対応するデータブロック集合と、からなるデータ構造が、所定ビット幅で分割されており、前記所定ビット幅で分割された各分割データ構造を保持するノード群にアクセス可能な検索装置であって、
複数種類のハッシュ関数に基づいて、ハッシュ関数ごとに、検索対象データを、前記転置ブルームフィルタの配列位置をあらわす位置情報に変換する処理部と、
前記第p段の転置ブルームフィルタ列の中から、前記位置情報に対応する前記第p段の転置ブルームフィルタを位置情報ごとに特定する処理部と、
特定された前記第p段の転置ブルームフィルタを保持するノードから、特定された前記第p段の転置ブルームフィルタを取得する処理部と、
取得された前記第p段の転置ブルームフィルタで擬陽性を示すビットのビット位置が同一であるか否かを判断する処理部と、
同一であると判断された場合、第p段が第1段であるか否かを判断する処理部と、
第1段であると判断された場合、擬陽性を示すビットのビット位置に応じた特定のデータブロックを有するノードから、前記特定のデータブロック内での前記検索対象データの存否を示す検索結果を取得する処理部と、
を備えることを特徴とする検索装置。 - 段数h、ビット幅s、擬陽性または陰性を示すビットが配列された第h段の分割数d、第p(1≦p≦h)段のブルームフィルタのビット幅m=s/d[h-(p-1)]、第p段のブルームフィルタの配列数n=d[h-(p-1)]である階層型ブルームフィルタを、段ごとにブルームフィルタ列を構成する各ブルームフィルタ内の同一位置のビットどうしでまとめることで転置した階層型転置ブルームフィルタと、前記階層型ブルームフィルタの第1段のブルームフィルタ列に対応するデータブロック集合と、からなるデータ構造が、所定ビット幅で分割されており、前記所定ビット幅で分割された各分割データ構造を保持するノード群のいずれかのノードであって、
前記ノード群にアクセス可能なコンピュータから、複数種類のハッシュ関数に基づいて、ハッシュ関数ごとに、検索対象データから変換された前記転置ブルームフィルタの配列位置をあらわす位置情報を受信する処理部と、
前記位置情報が受信された場合、前記第p段の転置ブルームフィルタ列の中から位置情報ごとに特定された、前記位置情報に対応する前記第p段の転置ブルームフィルタを前記コンピュータに送信する処理部と、
前記コンピュータから前記複数種類のハッシュ関数の中の特定のハッシュ関数に前記検索対象データを与えたときのハッシュ値を受信する処理部と、
前記いずれかのノードに対応するデータブロックに記憶されているデータと当該データを前記特定のハッシュ関数に与えたときのハッシュ値とを関連付けたハッシュテーブルを参照することにより、受信されたハッシュ値に関連付けられているデータを、前記いずれかのノードに対応するデータブロックの中から検索する処理部と、
検索結果を前記コンピュータに送信する処理部と、
を備えることを特徴とするノード。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011126764A JP5716554B2 (ja) | 2011-06-06 | 2011-06-06 | 検索プログラム、検索方法、検索装置、およびノード |
US13/461,176 US8423562B2 (en) | 2011-06-06 | 2012-05-01 | Non-transitory, computer readable storage medium, search method, and search apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011126764A JP5716554B2 (ja) | 2011-06-06 | 2011-06-06 | 検索プログラム、検索方法、検索装置、およびノード |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012252658A true JP2012252658A (ja) | 2012-12-20 |
JP5716554B2 JP5716554B2 (ja) | 2015-05-13 |
Family
ID=47262477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011126764A Active JP5716554B2 (ja) | 2011-06-06 | 2011-06-06 | 検索プログラム、検索方法、検索装置、およびノード |
Country Status (2)
Country | Link |
---|---|
US (1) | US8423562B2 (ja) |
JP (1) | JP5716554B2 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014130549A (ja) * | 2012-12-28 | 2014-07-10 | Fujitsu Ltd | ストレージ装置、制御方法、および制御プログラム |
US9646035B1 (en) * | 2013-04-26 | 2017-05-09 | Veritas Technologies Llc | Centralized metaobject ingest using a temporally-expanded bloom filter |
US9613121B2 (en) * | 2014-03-10 | 2017-04-04 | International Business Machines Corporation | Data duplication detection in an in memory data grid (IMDG) |
US9940356B2 (en) * | 2014-07-31 | 2018-04-10 | International Business Machines Corporation | Efficient join-filters for parallel processing |
US9608863B2 (en) * | 2014-10-17 | 2017-03-28 | Cisco Technology, Inc. | Address autoconfiguration using bloom filter parameters for unique address computation |
US10078687B2 (en) * | 2015-09-09 | 2018-09-18 | Amazon Technologies, Inc. | Deletion of elements from a probabilistic data structure |
US10263784B2 (en) | 2015-09-09 | 2019-04-16 | Amazon Technologies, Inc. | Signature verification for data set components using probabilistic data structures |
US10262160B2 (en) | 2015-09-09 | 2019-04-16 | Amazon Technologies, Inc. | Verification of data set components using digitally signed probabilistic data structures |
US10691731B2 (en) * | 2015-11-26 | 2020-06-23 | International Business Machines Corporation | Efficient lookup in multiple bloom filters |
US11468053B2 (en) | 2015-12-30 | 2022-10-11 | Dropbox, Inc. | Servicing queries of a hybrid event index |
US10452297B1 (en) * | 2016-05-02 | 2019-10-22 | Pure Storage, Inc. | Generating and optimizing summary index levels in a deduplication storage system |
US9940060B1 (en) * | 2016-05-02 | 2018-04-10 | Pure Storage, Inc. | Memory use and eviction in a deduplication storage system |
CN106874458B (zh) * | 2017-02-14 | 2019-10-22 | 中国科学技术大学 | 一种基于分层分配的多层数据库的布隆过滤器构造方法 |
US10248646B1 (en) | 2018-08-22 | 2019-04-02 | Cognigo Research Ltd. | Token matching in large document corpora |
CN110659265B (zh) * | 2019-09-27 | 2020-11-24 | 广州峻林互联科技有限公司 | 一种分布式并行数据库资源管理方法 |
CN113934361B (zh) * | 2020-06-29 | 2024-05-03 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
US11645231B1 (en) * | 2022-04-24 | 2023-05-09 | Morgan Stanley Services Group Inc. | Data indexing for distributed query execution and aggregation |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001043237A (ja) * | 1999-07-30 | 2001-02-16 | Mitsubishi Electric Corp | データファイル及びデータ検索方法 |
JP2002171525A (ja) * | 2000-11-29 | 2002-06-14 | Canon Inc | ビットプレーン演算命令を備えたsimd型演算装置 |
JP2007088962A (ja) * | 2005-09-26 | 2007-04-05 | Nippon Telegr & Teleph Corp <Ntt> | 順序データ圧縮方法、順序データ解凍方法、順序データ処理プログラム、順序データ圧縮装置、順序データ解凍装置、および、順序データ処理システム |
JP2007323558A (ja) * | 2006-06-05 | 2007-12-13 | Nippon Telegr & Teleph Corp <Ntt> | キーワード生成装置、文書検索装置、その方法、およびそのプログラム |
US20100094877A1 (en) * | 2008-10-13 | 2010-04-15 | Wolf Garbe | System and method for distributed index searching of electronic content |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02297670A (ja) | 1989-05-12 | 1990-12-10 | Matsushita Electric Ind Co Ltd | データベース検索方式 |
JPH0418895A (ja) | 1990-05-11 | 1992-01-23 | Mitsubishi Electric Corp | 電子交換機のダイヤルパルス送出回路 |
JP2001101047A (ja) | 1999-09-29 | 2001-04-13 | Toshiba Corp | データ管理装置、データ管理方法および記録媒体 |
US6961728B2 (en) | 2000-11-28 | 2005-11-01 | Centerboard, Inc. | System and methods for highly distributed wide-area data management of a network of data sources through a database interface |
US7019674B2 (en) | 2004-02-05 | 2006-03-28 | Nec Laboratories America, Inc. | Content-based information retrieval architecture |
US7933208B2 (en) * | 2004-09-27 | 2011-04-26 | Polytechnic Institute Of New York University | Facilitating storage and querying of payload attribution information |
JP4722620B2 (ja) | 2005-08-19 | 2011-07-13 | Kddi株式会社 | 暗号化文書検索方法および暗号化文書検索システム |
US7937428B2 (en) * | 2006-12-21 | 2011-05-03 | International Business Machines Corporation | System and method for generating and using a dynamic bloom filter |
US20100199065A1 (en) | 2009-02-04 | 2010-08-05 | Hitachi, Ltd. | Methods and apparatus for performing efficient data deduplication by metadata grouping |
US8484438B2 (en) * | 2009-06-29 | 2013-07-09 | Oracle America, Inc. | Hierarchical bloom filters for facilitating concurrency control |
US8560558B2 (en) * | 2010-04-28 | 2013-10-15 | Fujitsu Limited | Computer product, search apparatus, management apparatus, search method, and management method |
-
2011
- 2011-06-06 JP JP2011126764A patent/JP5716554B2/ja active Active
-
2012
- 2012-05-01 US US13/461,176 patent/US8423562B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001043237A (ja) * | 1999-07-30 | 2001-02-16 | Mitsubishi Electric Corp | データファイル及びデータ検索方法 |
JP2002171525A (ja) * | 2000-11-29 | 2002-06-14 | Canon Inc | ビットプレーン演算命令を備えたsimd型演算装置 |
JP2007088962A (ja) * | 2005-09-26 | 2007-04-05 | Nippon Telegr & Teleph Corp <Ntt> | 順序データ圧縮方法、順序データ解凍方法、順序データ処理プログラム、順序データ圧縮装置、順序データ解凍装置、および、順序データ処理システム |
JP2007323558A (ja) * | 2006-06-05 | 2007-12-13 | Nippon Telegr & Teleph Corp <Ntt> | キーワード生成装置、文書検索装置、その方法、およびそのプログラム |
US20100094877A1 (en) * | 2008-10-13 | 2010-04-15 | Wolf Garbe | System and method for distributed index searching of electronic content |
Also Published As
Publication number | Publication date |
---|---|
JP5716554B2 (ja) | 2015-05-13 |
US20120310960A1 (en) | 2012-12-06 |
US8423562B2 (en) | 2013-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5716554B2 (ja) | 検索プログラム、検索方法、検索装置、およびノード | |
US8266152B2 (en) | Hashed indexing | |
JP5116775B2 (ja) | 情報検索方法及び装置及びプログラム及びコンピュータ読取可能な記録媒体 | |
US7720837B2 (en) | System and method for multi-dimensional aggregation over large text corpora | |
EP3767483A1 (en) | Method, device, system, and server for image retrieval, and storage medium | |
CN103530415A (zh) | 一种兼容关键词搜索的自然语言搜索方法及系统 | |
JPWO2007119567A1 (ja) | 文書処理装置および文書処理方法 | |
KR101296683B1 (ko) | 데이터 스트림에서의 다중 조인 질의 처리를 위한 2 페이즈 수행 방법 | |
JPWO2010013473A1 (ja) | データ分類システム、データ分類方法、及びデータ分類プログラム | |
JP6434162B2 (ja) | データ管理システム、データ管理方法およびプログラム | |
US10049164B2 (en) | Multidimensional-range search apparatus and multidimensional-range search method | |
JP5664467B2 (ja) | 検索プログラム、検索方法、検索装置、およびノード | |
CN112486988A (zh) | 数据处理方法、装置、设备及存储介质 | |
Xu et al. | Top-k string auto-completion with synonyms | |
Flick et al. | Parallel construction of suffix trees and the all-nearest-smaller-values problem | |
US7774347B2 (en) | Vortex searching | |
KR102062139B1 (ko) | 지능형 자료구조 기반의 데이터 처리 방법 및 그를 위한 장치 | |
WO2012061983A1 (en) | Seed set expansion | |
JP6291435B2 (ja) | プログラムおよびクラスタシステム | |
JP5526985B2 (ja) | 検索プログラム、検索装置、および検索方法 | |
WO2010013320A1 (ja) | 表形式データを操作する方法、分散メモリ型マルチプロセッサ、及び、プログラム | |
JP2015022723A (ja) | 文書を検索する装置及び方法 | |
JP6970867B1 (ja) | 検索装置、検索方法、およびプログラム | |
CN110928998B (zh) | 一种基于等价类代表元索引和存储的拉丁方搜索引擎 | |
Peng et al. | Using partial evaluation in holistic subgraph search |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140204 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140620 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140715 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140912 |
|
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: 20150217 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150302 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5716554 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |