JP2013003644A - 一致判定装置、方法、およびプログラム - Google Patents

一致判定装置、方法、およびプログラム Download PDF

Info

Publication number
JP2013003644A
JP2013003644A JP2011131079A JP2011131079A JP2013003644A JP 2013003644 A JP2013003644 A JP 2013003644A JP 2011131079 A JP2011131079 A JP 2011131079A JP 2011131079 A JP2011131079 A JP 2011131079A JP 2013003644 A JP2013003644 A JP 2013003644A
Authority
JP
Japan
Prior art keywords
group
mismatch
match
mismatch detection
numerical value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011131079A
Other languages
English (en)
Other versions
JP5584171B2 (ja
Inventor
Naoki Miura
直樹 三浦
Masami Urano
正美 浦野
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011131079A priority Critical patent/JP5584171B2/ja
Publication of JP2013003644A publication Critical patent/JP2013003644A/ja
Application granted granted Critical
Publication of JP5584171B2 publication Critical patent/JP5584171B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】不一致を検出できない入力データが多い場合でも平均判定時間を短縮する。
【解決手段】1つまたは複数のグループに属する複数の条件と入力データとを比較して複数の条件のいずれかまたは全てと一致するか否かを判定する一致判定装置において、不一致検出手段11では入力データがグループの全条件と不一致であることをグループ毎に検出し、グループ毎の不一致検出の結果を一致判定手段12に通知し、通知を受けた一致判定手段12では不一致が検出されたグループの条件については、入力データとの照合を行わないようにした。
【選択図】図1

Description

本発明は、入力したデータが登録した条件に一致するか否かを判定する一致判定技術に関する。
ネットワークに接続された通信機器等には、受信したデータにフィルタリングなどの処理を行うため、一致判定装置を搭載しているものがある。この一致判定装置は、受信したデータの一部または全てを入力とし(入力データ)、入力データが事前に登録した条件(一致条件)と一致するか否かを判定し、その判定結果を出力する装置である。なお、一般的に、入力データおよび登録条件は数値で表現する。つまり、一致判定装置とは、複数の数値が一致条件として登録されたテーブルに、入力データと一致する数値があるか否かを判定する装置を指す。
インターネットを利用する各ユーザーの取り扱うデータ量が増加すると、一致判定装置には多種大量の入力データを短時間で処理することが求められるため、1つの入力データを処理するために与えられる時間が短くなる。そのため、一致判定装置には、入力データが入力されてから結果を出力するまでに要する平均的な時間(平均判定時間)を短くすることが求められている。
一致判定装置が入力データと一致条件との一致/不一致を判定する方式の1つに、線形探索方式がある(非特許文献1参照)。本方式は、一致条件を1つずつ順番に入力データと比較する方式である。本方式では、入力データの数値と一致する一致条件を検出した場合、一致と判定する。逆に、入力データと全一致条件とを比較して、入力データの数値と一致する一致条件を発見できなかった場合、不一致と判定する。
上記方式では、入力データと全一致条件とを比較した後でなければ不一致を判定できないため、入力データの多くが不一致と判定される場合には平均判定時間が長くなる課題があった。本課題を解決した従来の一致判定装置として特許文献1がある。特許文献1では、不一致を短時間で検出可能な不一致検出手段を一致判定装置に具備することにより、不一致の判定に要する時間を短縮し、一致判定装置の平均判定時間を短くした。
図7は、従来の一致判定装置の構成例である。
特許文献1の一致判定装置50は、一致判定手段51と、不一致検出手段52と、判定手段53とからなる。装置50の外部から入力される入力データ61は、一致判定手段51と不一致検出手段52に入力され、各手段51,52で一致/不一致の判定が行われる。また、装置50から外部へ出力される判定結果66は、判定手段53から出力される。
一致判定手段51は、入力データ61と一致条件との一致/不一致を前述の線形探索方式により判定する。一致判定手段51は、入力データ61と一致条件とを1つずつ順番に照合し、入力データ61と一致する一致条件を検出すると一致判定信号62を判定手段53に出力する。逆に、全条件と入力データ61の比較を終了し、入力データ61と一致する一致条件を見つけられなかった場合には、比較終了信号63を判定手段53に出力する。
不一致検出手段52は、不一致を検出すると不一致検出信号65を判定手段53に出力する。判定手段53は、一致判定信号62を受信した場合には「一致」の判定結果66を出力し、比較終了信号63または不一致検出信号65を受信した場合には「不一致」の判定結果66を出力する。なお、不一致検出手段52から不一致検出信号65を受信すると、判定手段53は一致判定手段51に中止信号64を送信し、一致判定動作を停止させる。
図8は、従来の不一致検出手段の構成例である。図9は、従来の不一致検出手段による条件登録例および判定例である。
不一致検出手段52は、メモリ52Aで構成される。メモリ52Aの各アドレスには、アドレスの数値と等しい数値の一致条件が有るか否かのシンボルを格納する。条件登録時において、図9(a)のように、例えば一致条件が20,35,198,248という4種の数値の場合、メモリ52Aのアドレス20、35、198、248には、「有」を示すシンボルを格納し、それ以外のアドレスには「無」を示すシンボルを格納する。本構成において、不一致を検出する方法は以下のとおりである。不一致検出手段52に入力する入力データ61をメモリ52Aの読み出しアドレスとし、各アドレスに格納されたシンボルを読み出す。したがって、判定時において、図9(b)に示すように、例えば入力データが255の場合、メモリ52Aのアドレス255から「無」のシンボルが読み出されることになり、不一致と判定する。
上記構成は、1回のメモリアクセスで不一致を判定することが可能であるが、入力データと一致条件の数値範囲が大きくなった場合には必要なメモリ容量が大きくなる。例えば、入力データと一致条件がmビットの数値範囲の場合、必要なメモリ容量は2(^m)ビットとなる。そのため、特許文献1では、mビットのうちnビット(n<m)だけを使い不一致を検出したり、mビットをnビットずつのブロックに分割して並列して不一致を検出したりする手段をとっている。
本構成により、不一致となる入力データ全てを検出することはできなくなるが、不一致検出手段52で検出できない不一致は従来の一致判定手段51により検出されるため、誤判定することはない。また、不一致検出手段52で不一致を検出した場合には、一致判定手段51で時間をかけて不一致を判定することは必要ないため、一致判定装置50の平均判定時間を短くすることができる。
特開2010−165102号公報
上述のように、従来の一致判定装置50は、不一致検出手段52が不一致の入力データを短時間で検出することで不一致の判定に要する時間を短縮し、平均判定時間を短縮している。しかしながら、従来の一致判定装置50における不一致検出手段52は、全ての不一致を検出できるわけではないため、不一致を検出できない入力データが多い場合には、平均判定時間を短縮することができない。これは、不一致検出手段52が不一致を検出できない場合、一致判定手段51が入力データと全一致条件とを比較する必要があるためである。
本発明はこのような課題を解決するためのものであり、不一致を検出できない入力データが多い場合でも平均判定時間を短縮できる一致判定技術を提供することを目的としている。
このような目的を達成するために、本発明にかかる一致判定装置は、入力された数値が予め登録した複数の条件のいずれかまたは全てと一致するか否かを判定する一致判定装置であって、各条件は1つまたは複数のグループに属し、入力された数値が各グループの全条件と不一致であることを、グループ毎に検出する不一致検出手段と、入力された数値と条件とを照合して、一致または不一致を判定する一致判定手段とを具備し、不一致検出手段は、グループ毎の不一致検出の結果を一致検出手段に通知し、一致判定手段は、不一致検出手段からの不一致検出の結果に基づいて、不一致が検出されたグループの条件については、入力された数値との照合を行わないようにしたものである。
この際、不一致検出手段に、テーブルを具備し、テーブルの各アドレスには、各アドレスの数値と等しい条件の一部または全てが有るか否かのシンボルがグループ毎に記憶され、入力された数値の一部または全てをテーブルの読み出しアドレスとして、記憶したグループ毎のシンボルを読み出すことにより各グループに対する不一致を検出するようにしてもよい。
また、不一致検出手段に、入力された数値を、当該桁数またはビット数より小さい複数のブロックからなる部分入力数値に分割する分割手段と、ブロック毎に設けられて、当該部分入力数値が各グループの全条件と不一致であることを、グループ毎に検出する不一致検出手段と、ブロック毎の不一致検出手段の検出結果を集計して不一致を検出する集計手段とを備えてもよい。
この際、ブロック毎の不一致検出手段に、それぞれテーブルを具備し、テーブルの各アドレスには、各アドレスの数値と等しい条件の一部または全てが有るか否かのシンボルがグループ毎に記憶され、入力された数値の一部または全てをテーブルの読み出しアドレスとして、記憶したグループ毎のシンボルを読み出すことにより各グループに対する不一致を検出するようにしてもよい。
また、条件のそれぞれは、ただ1つのグループにのみ属するようにしてもよい。
また、本発明にかかる一致判定方法は、入力された数値が予め登録した複数の条件のいずれかまたは全てと一致するか否かを判定する一致判定装置で用いられる一致判定方法であって、各条件は1つまたは複数のグループに属し、不一致検出手段が、入力された数値がグループの全条件と不一致であることを、グループ毎に検出する不一致検出ステップと、一致判定手段が、入力された数値と条件とを照合して、一致または不一致を判定する一致判定ステップとを具備し、不一致検出ステップで、グループ毎の不一致検出の結果を一致検出ステップに通知し、一致判定ステップで、不一致検出手段からの不一致検出の結果に基づいて、不一致が検出されたグループの条件については、入力された数値との照合を行わないようにしたものである。
また、本発明にかかるプログラムは、コンピュータを、前述したいずれかの一致判定装置を構成する各部として機能させるためのプログラムである。
本発明によれば、入力された数値と比較する必要のある一致条件数を削減することができる。このため、不一致を検出できない入力データが多い場合でも、入力された数値に対する各条件との一致/不一致の判定処理に要する平均判定時間を短縮することができる。また、本実施の形態によれば、一致判定手段において一致条件を記憶したメモリへのアクセス回数が削減されるため、低消費電力化の効果、これによる装置運用コストの削減の効果も得られる。
第1の実施の形態にかかる一致判定装置の構成を示すブロック図である。 一致条件のグループ構成例である。 不一致検出手段の構成を示すブロック図である。 不一致検出手段の動作を示す説明図である。 一致判定手段の構成を示すブロック図である 不一致検出手段の他の構成を示すブロック図である。 従来の一致判定装置の構成例である。 従来の不一致検出手段の構成例である。 従来の不一致検出手段による条件登録例および判定例である。
次に、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
まず、図1を参照して、本発明の第1の実施の形態にかかる一致判定装置10について説明する。図1は、第1の実施の形態にかかる一致判定装置の構成を示すブロック図である。
この一致判定装置10は、全体として、電子回路、あるいはコンピュータからなり、入力された入力データ21が、予め登録した複数の条件のいずれかまたは全てと一致するか否かを判定し、その一致/不一致を示す判定結果25を出力する一致判定装置である。
一致判定装置10には、主な機能部として、不一致検出手段11と一致判定手段12とが設けられている。また前提として、入力された入力データ21と照合する各条件は、1つまたは複数のグループに予め属しているものとする。
不一致検出手段11は、入力された入力データ21が、グループの全条件と不一致であることを、グループ毎に検出する機能と、グループ毎の不一致検出の結果を一致判定手段12に通知する機能とを有している。
一致判定手段12は、入力データ22と各条件とを照合して一致または不一致を判定し、得られた判定結果25を出力する機能と、入力データと不一致検出手段11で不一致が検出されたグループに属する条件との照合については行わない機能とを有している。
[第1の実施の形態の動作]
次に、本実施の形態にかかる一致判定装置10の動作について説明する。
本実施の形態では、一致条件として、20000、35000、198000、248000の4種類の数値が登録してあるものとする。つまり、本実施の形態では、上記4種類の数値の中に、入力データ21と等しい数値があるか否かを判定する。
本実施の形態では、不一致検出手段11において、一致条件の4桁目以上の数値のみ(20、35、198、248)を用いて不一致検出を行う。本検出手法では、入力データの4桁目以上の数値が(20、35、198、248)以外の数値であった場合、不一致を検出する(不一致検出)。ただし、本検出手法では、20xxx、35xxx、198xxx、248xxx (x:0〜9の任意の値)という数値が入力データとして装置に入力された場合には、不一致を検出できない(不一致未検出)。例えば、20001という数値は一致条件として登録されてはいないが、本検出手法では不一致を検出することができない。この場合は、線形探索等を実装した一致判定手段12で一致/不一致を詳細に判定することになる。
本実施の形態では、さらに、上記4条件を2つのグループ、ここではグループ1、グループ2に分け、不一致検出手段11でグループ毎に不一致検出を行う。そして、不一致を検出できなかったグループに対してのみ、一致判定手段12で詳細な一致/不一致の判定を行う。
図2は、一致条件のグループ構成例である。本実施の形態では、例として、図2に示すように、一致条件のグループ1を20000、35000とし、グループ2を198000、248000とする。したがって、198111という数値が入力データとして入力された場合、不一致検出手段では不一致を検出できない。
この場合、従来の一致判定装置では、一致判定手段で入力データと4つの条件を1つずつ照合して不一致を判定する必要があった。これに対して、本実施の形態では、グループ1に対しては不一致を検出できるため、20000、35000という一致条件と入力データを一致判定手段12で照合する必要がない。
同様に、例えば、198000という条件と一致する数値が入力データとして入力された場合も、不一致検出手段で不一致を検出できない。
この場合、従来の一致判定装置では、一致判定手段で入力データと4つの条件を1つずつ照合して判定を行う必要があった。本実施の形態では、不一致検出手段11でグループ1に対する不一致を検出できるため、20000、35000という一致条件と入力データを一致判定手段12で照合する必要がない。
このように、本実施の形態では、一致判定手段12で照合を行う一致条件数を削減することで、一致判定手段12で要する判定時間を短縮し、不一致検出手段11で不一致を検出できない場合でも平均判定時間を短縮することが可能となる。
本実施の形態にかかる一致判定装置10において、外部から入力される入力データ21は、まず、不一致検出手段11に入力される。不一致検出手段11では、各グループの全一致条件と入力データとの不一致を検出する。不一致検出手段11からは、グループ1に対する不一致検出結果23、グループ2に対する不一致検出結果24、および入力データ22とが、一致判定手段12に出力される。
一致判定手段12は、入力データ22が入力されると、その入力データ22に対して一致/不一致の判定を開始する。一致判定手段12には、線形探索方式を基本とした一致判定方式が実装されており、入力データ22と一致条件を1つずつ照合して一致または不一致を判定する。
また、一致判定手段12は、入力データ22とともに入力される、グループ1に対する不一致検出結果23およびグループ2に対する不一致検出結果24の両方が「不一致検出」であった場合、入力データ22と一致条件との照合は行わずに不一致の判定結果25を外部に出力し、判定を終了する。
一方、一致判定手段12は、グループ1に対する不一致検出結果23およびグループ2に対する不一致検出結果24のうち、どちらか一方または両方が「不一致未検出」であった場合、メモリから各グループの一致条件を1つずつ読み出して、入力データ22と比較を行い、一致または不一致の判定結果25を外部に出力して判定を終了する。
[不一致検出手段]
次に、図3および図4を参照して、不一致検出手段11について詳細に説明する。図3は、不一致検出手段の構成を示すブロック図である。図4は、不一致検出手段の動作を示す説明図である。
不一致検出手段11には、主な機能部として、遅延手段11Aとメモリ11Bとが設けられている。
遅延手段11Aは、不一致検出結果23,24が出力されるまでの動作時間に対応する遅延時間だけ入力データ21を遅延させて、入力データ22として出力する機能を有している。
メモリ11B(テーブル)は、各アドレスに、各アドレスの数値と等しい条件の一部または全てが有るか否かのシンボルを、グループ毎に記憶する機能を有している。
不一致検出手段11は、入力データ21の一部または全てを読み出しアドレスとして、メモリ11Bから、記憶されているグループ毎のシンボルを読み出すことにより、各グループに対する不一致を検出する機能を有している。
本実施の形態において、前述したように、グループ1に属する一致条件である20000、35000と、グループ2に属する一致条件である198000、248000とについて、それぞれ4桁目以上の数値20、35、198、248のみを用いて不一致検出を行うものとする。
メモリ11Bには、これら条件のうちの4桁目以上の数値のアドレスに、当該条件がどのグループに属するのかを示す「有」または「無」のシンボルが格納されている。
具体的には、図4のように、メモリ11Bのアドレス20、35(グループ1)に対応する格納場所のうち、グループ1の格納場所には「有」のシンボルを格納するとともに、グループ2に対応する格納場所には「無」を格納する。
また、アドレス198、248(グループ2)に対応する格納場所のうち、グループ1の格納場所には「無」のシンボルを格納するとともに、グループ2の格納場所には「有」のシンボルを格納する。そして、それ以外のアドレスに対応する格納場所については、グループ1およびグループ2の格納場所の両方に「無」のシンボルを格納する。
本構成において、不一致を検出する方法は以下のとおりである。入力データ22をメモリ11Bの読み出しアドレスとし、各アドレスに格納されたシンボルを読み出す。そして、メモリ11Bから「無」のシンボルが読み出されたグループについては「不一致検出」と判定し、「有」のグループについては「不一致未検出」と判定する。
不一致検出手段11に入力される入力データ21は、メモリ11Bと遅延手段11Aの両方に入力される。メモリ11Bには、入力データ21の4桁目以降の数値が読み出しアドレスとして入力され、メモリ11Bからはグループ1の不一致検出結果23およびグループ2の不一致検出結果24が、一致判定手段12へ出力される。
遅延手段11Aに入力された入力データ21は、メモリ11Bで各グループの不一致検出結果が出力されるまで遅延が加えられた後、入力データ22として一致判定手段12へ出力される。
[一致判定手段]
次に、図5を参照して、本実施の形態にかかる一致判定手段12について詳細に説明する。図5は、一致判定手段の構成を示すブロック図である。
一致判定手段12には、主な機能部として、メモリ12Aと一致条件照合手段12Bとが設けられている。
メモリ12Aは、入力データ22と照合する各条件を示す数値を予め記憶する機能を有している。
一致条件照合手段12Bは、各一致条件が格納されている読み出しアドレス26を順に指定してメモリ12Aから読み出した各一致条件27と入力データ22とを照合し、その一致/不一致を判定結果25として出力する機能と、不一致検出手段11から通知されたグループ毎の不一致検出結果23,24に基づいて、不一致が検出されたグループの条件については、メモリ12Aから一致条件の読み出しを行わないことにより、入力データ22との照合を行わない機能とを有している。
前述したように、入力データ22と、一致条件である20000、35000、198000、248000との一致検出を行う場合、メモリ12Aには、4つの一致条件の数値がそのまま記憶されている。例えば、メモリのアドレス0には20000が、アドレス1には35000が、アドレス2には198000が、アドレス3には248000が記憶される。一致条件照合手段12Bは、予めメモリ12Aのどのアドレスに、どのグループの条件が格納されているか把握している。
この場合、メモリに対する一致条件の格納順については、各一致条件が属するグループ番号順に格納してもよい。上記の例によれば、グループ1の一致条件20000および35000は、アドレス0および1に格納し、グループ2の一致条件198000および248000は、アドレス2および32に格納している。このようなグループ番号順、あるいはグループ番号を用いた計算式で得られる順序で、各一致条件をメモリに格納しておけば、グループ番号から簡単な演算処理で、一致条件の格納アドレスを算出することができる。
不一致検出手段11からの入力データ22とグループ1,2の不一致検出結果23,24は一致条件照合手段12Bに入力される。一致条件照合手段12Bは、入力データ22が入力されると、次のような判定動作を開始する。
まず、グループ1,2の両方の不一致検出結果23,24が「不一致検出」であった場合、「不一致」の判定結果25を外部に出力して判定を終了する。一方、グループ1,2の不一致検出結果23,24のうち、どちらか一方または両方が「不一致未検出」であった場合、「不一致未検出」を示すグループの各一致条件と入力データ22とを1つずつ照合し、一致または不一致の判定結果25を外部に出力して判定を終了する。
[第1の実施の形態の効果]
このように、本実施の形態は、入力された数値(入力データ)がグループの全条件と不一致であることを、グループ毎に検出し、不一致が検出されたグループの条件については、入力された数値との照合を行わないようにしたので、入力された数値と比較する必要のある一致条件数を削減することができる。このため、不一致を検出できない入力データが多い場合でも、入力された数値に対する各条件との一致/不一致の判定処理に要する平均判定時間を短縮することができる。また、本実施の形態によれば、一致判定手段において一致条件を記憶したメモリへのアクセス回数が削減されるため、低消費電力化の効果、これによる装置運用コストの削減の効果も得られる。
また、本実施の形態では、一致条件を4種類とした場合を例として説明したが、これに限定されるものではなく、入力データおよび各一致条件の数値範囲や、一致条件の登録数によらず適用可能であることはいうまでもない。
また、本実施の形態では、一致判定手段12に、線形検索方式を実装した場合を例として説明したが、構成はこれのみに限るわけではなく、例えば2分探索木方式やB木探索を適用してもよい。
また、本実施の形態では、一致条件を2つのグループに分けた場合を例として説明したが、これに限定されるものではなく、3つ以上のグループに分けてもよい。また、各グループの一致条件数が等しい必要はなく、重複していてもよい。
また、本実施の形態では、入力データと条件の数値が完全に一致したときを一致と判定する完全一致方式を例として説明したが、構成はこれにのみに限るわけではなく、最長一致判定方式やPrefix一致判定方式に適用してもよい。
また、本実施の形態では、入力データと一致条件の4桁目以上の数値を使って不一致を検出する場合を例として説明したが、構成はこれのみに限るわけではなく、各グループの一致/不一致が検出できればよい。
また、本実施の形態では、一致判定装置10から一致または不一致を示す判定結果25を出力する場合を例として説明したが、構成はこれのみに限るわけではなく、それぞれの一致条件が一致した場合に出力すべき関連データを一致判定手段12のメモリ12Aに予め格納しておき、判定結果25の代わりに上記関連データを出力する構成でもよい。例えば、関連データを出力ポートとすればルータとしての機能を有し、関連データを出力キューとすれば優先制御としての機能を有することが期待できる。
また、本実施の形態では、各機能部をハードウェアで実現した例について示したが、プログラム言語で記述したソフトウェアで、各機能部のすべてまたは一部を実現してもよいことはいうまでもない。また、このプログラムは、記録媒体に記録することも、ネットワークを通して提供することも可能である。
[第2の実施の形態]
次に、図6を参照して、本発明の第2の実施の形態にかかる一致判定装置10について説明する。図6は、不一致検出手段の他の構成を示すブロック図である。
第1の実施の形態では、入力データと一致条件の4桁目以上の数値のみを用いて各グループに対する不一致検出を行う場合を例として説明した。本実施の形態では、4桁目以上の数値と、3桁目までの数値の両方を別々に用いて不一致検出を行う場合について説明する。
本実施の形態において、入力データ21および一致条件のうち、4桁目以上の数値をブロック1と呼び、3桁目までの数値をブロック2と呼ぶ。本実施の形態では、ブロック1とブロック2でそれぞれ独立して実施の形態1と同様の不一致検出を並列して行う。そして、ブロック1とブロック2の結果を集計し、各グループの不一致検出結果を判定する。ここで、不一致検出結果の集計は、ブロック1とブロック2のどちらか一方で不一致が検出された場合、「不一致検出」となる。一方、ブロック1と2の両方で不一致を検出できなかった場合、「不一致未検出」となる。
図6に示すように、本実施の形態にかかる不一致検出手段11には、主な機能部として、遅延手段11A、データ分割手段11C、不一致検出手段11D,11E、および集計手段11Fが設けられている。
遅延手段11Aは、不一致検出結果23,24が出力されるまでの動作時間に対応する遅延時間だけ入力データ21を遅延させて、入力データ22として出力する機能を有している。
データ分割手段11Cは、入力データ21のうち、入力データ21の桁数またはビット数のより小さい、複数の部分入力データ(部分入力数値)に分割する機能を有している。本実施の形態では、4桁目以上の数値からなるブロック1に対応する部分入力データ31と、3桁目までの数値からなるブロック2に対応する部分入力データ32とに分割して出力する。
不一致検出手段11Dは、部分入力データ31がグループの全条件と不一致であることを、グループ1,2毎に検出し、これらグループ毎の不一致検出結果33,34を出力する機能を有している。この不一致検出手段11Dは、前述した第1の実施の形態にかかる不一致検出手段11と同様に、テーブルを構成するメモリからなる。このメモリには、各条件のうち、当該ブロック1に対応した桁数またはビット数からなるアドレス、ここでは4桁目以上の数値からなるアドレスに、当該条件がどのグループに属するのかを示す「有」または「無」のシンボルが格納されている。
不一致検出手段11Eは、部分入力データ32がグループの全条件と不一致であることを、グループ1,2毎に検出し、これらグループ毎の不一致検出結果35,36を出力する機能を有している。この不一致検出手段11Eのメモリには、各条件のうち、当該ブロック2に対応した桁数またはビット数からなるアドレス、ここでは3桁目までの数値からなるアドレスに、当該条件がどのグループに属するのかを示す「有」または「無」のシンボルが格納されている。
集計手段11Fは、不一致検出手段11Dからの不一致検出結果33,34と、不一致検出手段11Eからの不一致検出結果35,36とを、グループ毎に集計し、集計したループ1,2毎の不一致検出結果23,24を出力する機能とを有している。
なお、本実施の形態にかかる一致判定装置10のうち、不一致検出手段11以外の構成については、第1の実施の形態と同様であり、ここでの説明は省略する。
[第2の実施の形態の動作]
次に、本実施の形態にかかる不一致検出手段11の動作について説明する。
外部から入力される入力データ21は、データ分割手段11Cと遅延手段11Aとに入力される。データ分割手段11Cでは、入力データ21の4桁目以上の数値からなる部分入力データ31をブロック1の不一致検出手段11Dへ入力し、3桁目までの数値からなる部分入力データ32をブロック2の不一致検出手段11Eへ入力する。
各ブロックの不一致検出手段11D,11Eには、第1の実施の形態と同様に、メモリを用いた不一致検出方法が実装されている。これら不一致検出手段11D,11Eに部分入力データ31,32がそれぞれ入力されると、メモリに格納されている各グループ1,2のシンボルを読み出して、部分入力データ31,32がグループの全条件と不一致であることをグループ毎に検出し、それぞれのグループ1,2の不一致検出結果33,34,35,36を、集計手段11Fへ出力する。
集計手段11Fでは、不一致検出手段11D,11Eの不一致検出結果33,34,35,36から各グループ1,2の不一致検出結果を判定し、その検出結果として不一致検出結果23,24を一致判定手段12へ出力する。なお、遅延手段11Aに入力された入力データ21は、集計手段11Fから各グループ1,2の不一致検出結果23,24が出力されるまで、入力データを遅延させて出力する。
[第2の実施の形態の効果]
このように、本実施の形態では、入力された数値(入力データ)を、当該桁数またはビット数より小さい複数のブロックからなる部分入力数値に分割し、当該部分入力数値が各グループの全条件と不一致であることを、グループ毎に検出し、ブロック毎の不一致検出の結果を集計して不一致を検出するようにしたので、各グループの不一致検出をブロック単位で並列して行うことができる。
これにより、各グループで不一致を検出する割合(不一致を検出可能な入力データの数/不一致となる全ての入力データの数)が高くなる。したがって、一致判定で入力データと照合を行う一致条件の数をより削減することができ、平均判定時間の短縮、低消費電力化、装置の運用コストの低減をより向上させることができる。
また、本実施の形態では、入力データを2つのブロックに分割した場合を例として説明したが、これに限定されるものではなく、3つ以上のブロックに分割してもよい。また、4桁目以上をブロック1とし、3桁目までをブロック2としたが、構成はこれのみに限るわけではない。1、2、5桁目でブロック1を構成し、3、4、6桁目でブロック2を構成してもよい。また、1〜4桁目でブロック1、3〜6桁目でブロック2を構成するように、一部で重複があってもよい。また数値にハッシュをかけたあとブロックに分割してもよい。
また、本実施の形態では、10進数で表現した場合の桁数に基づいて各ブロックを構成した場合を例として説明したが、構成はこれのみに限るわけではなく、2進数で表現した場合にはビット数に基づいて各ブロックを構成してもよい。
[実施の形態の拡張]
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
10…一致判定装置、11…不一致検出手段、11A…遅延手段、11B…メモリ(テーブル)、11C…データ分割手段、11D…不一致検出手段(ブロック1)、11E…不一致検出手段(ブロック2)、11F…集計手段、12…一致判定手段、12A…メモリ、12B…一致条件照合手段、21,22…入力データ、23…不一致検出結果(グループ1)、24…不一致検出結果(グループ2)、25…判定結果、26…読み出しアドレス、27…一致条件、31…部分入力データ(ブロック1)、32…部分入力データ(ブロック2)、33…不一致検出結果(ブロック1−グループ1)、34…不一致検出結果(ブロック1−グループ2)、35…不一致検出結果(ブロック2−グループ1)、36…不一致検出結果(ブロック2−グループ2)。

Claims (7)

  1. 入力された数値が予め登録した複数の条件のいずれかまたは全てと一致するか否かを判定する一致判定装置であって、
    前記各条件は1つまたは複数のグループに属し、
    前記入力された数値が前記各グループの全条件と不一致であることを、前記グループ毎に検出する不一致検出手段と、
    前記入力された数値と前記条件とを照合して、一致または不一致を判定する一致判定手段と
    を具備し、
    前記不一致検出手段は、前記グループ毎の不一致検出の結果を前記一致検出手段に通知し、
    前記一致判定手段は、不一致検出手段からの不一致検出の結果に基づいて、前記不一致が検出されたグループの条件については、前記入力された数値との照合を行わない
    ことを特徴とする一致判定装置。
  2. 請求項1記載の一致判定装置であって、
    前記不一致検出手段は、テーブルを具備し、
    前記テーブルの各アドレスには、前記各アドレスの数値と等しい条件の一部または全てが有るか否かのシンボルが前記グループ毎に記憶され、
    前記入力された数値の一部または全てを前記テーブルの読み出しアドレスとして、記憶した前記グループ毎のシンボルを読み出すことにより前記各グループに対する不一致を検出する
    ことを特徴とする一致判定装置。
  3. 請求項1記載の一致判定装置であって、
    前記不一致検出手段は、
    前記入力された数値を、当該桁数またはビット数より小さい複数のブロックからなる部分入力数値に分割する分割手段と、
    前記ブロック毎に設けられて、当該部分入力数値が前記各グループの全条件と不一致であることを、前記グループ毎に検出する不一致検出手段と、
    前記ブロック毎の不一致検出手段の検出結果を集計して不一致を検出する集計手段と
    を備える
    ことを特徴とする一致判定装置。
  4. 請求項3記載の一致判定装置であって、
    前記ブロック毎の不一致検出手段は、それぞれテーブルを具備し、
    前記テーブルの各アドレスには、前記各アドレスの数値と等しい条件の一部または全てが有るか否かのシンボルが前記グループ毎に記憶され、
    前記入力された数値の一部または全てを前記テーブルの読み出しアドレスとして、記憶した前記グループ毎のシンボルを読み出すことにより前記各グループに対する不一致を検出する
    ことを特徴とする一致判定装置。
  5. 請求項1〜4のいずれか1つに記載の一致判定装置であって、
    前記条件のそれぞれは、ただ1つのグループにのみ属することを特徴とする一致判定装置。
  6. 入力された数値が予め登録した複数の条件のいずれかまたは全てと一致するか否かを判定する一致判定装置で用いられる一致判定方法であって、
    前記各条件は1つまたは複数のグループに属し、
    不一致検出手段が、前記入力された数値が前記グループの全条件と不一致であることを、前記グループ毎に検出する不一致検出ステップと、
    一致判定手段が、前記入力された数値と前記条件とを照合して、一致または不一致を判定する一致判定ステップと
    を具備し、
    前記不一致検出ステップは、前記グループ毎の不一致検出の結果を前記一致検出ステップに通知し、
    前記一致判定ステップは、不一致検出手段からの不一致検出の結果に基づいて、前記不一致が検出されたグループの条件については、前記入力された数値との照合を行わない
    ことを特徴とする一致判定方法。
  7. コンピュータを、請求項1〜請求項5のいずれかに記載の一致判定装置を構成する各部として機能させるためのプログラム。
JP2011131079A 2011-06-13 2011-06-13 一致判定装置、方法、およびプログラム Expired - Fee Related JP5584171B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011131079A JP5584171B2 (ja) 2011-06-13 2011-06-13 一致判定装置、方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011131079A JP5584171B2 (ja) 2011-06-13 2011-06-13 一致判定装置、方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2013003644A true JP2013003644A (ja) 2013-01-07
JP5584171B2 JP5584171B2 (ja) 2014-09-03

Family

ID=47672194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011131079A Expired - Fee Related JP5584171B2 (ja) 2011-06-13 2011-06-13 一致判定装置、方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP5584171B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015046711A (ja) * 2013-08-27 2015-03-12 日本電信電話株式会社 検索装置および検索方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63153632A (ja) * 1986-12-17 1988-06-27 Fujitsu Ltd 文字列検索方式
JP2001326679A (ja) * 2000-05-15 2001-11-22 Fujitsu Ltd 情報装置、テーブル検索装置、テーブル検索方法、及び記録媒体
JP2009193622A (ja) * 2008-02-13 2009-08-27 Renesas Technology Corp 内容参照メモリ
JP2010165102A (ja) * 2009-01-14 2010-07-29 Nippon Telegr & Teleph Corp <Ntt> データ検索装置、データ検索方法およびデータ検索プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63153632A (ja) * 1986-12-17 1988-06-27 Fujitsu Ltd 文字列検索方式
JP2001326679A (ja) * 2000-05-15 2001-11-22 Fujitsu Ltd 情報装置、テーブル検索装置、テーブル検索方法、及び記録媒体
JP2009193622A (ja) * 2008-02-13 2009-08-27 Renesas Technology Corp 内容参照メモリ
JP2010165102A (ja) * 2009-01-14 2010-07-29 Nippon Telegr & Teleph Corp <Ntt> データ検索装置、データ検索方法およびデータ検索プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200900127015; 三浦直樹 他: '不一致判定回路を用いた高速パケットフィルタ回路' 電子情報通信学会技術研究報告 Vol.108,No.478, 20090304, p.101-106 *
JPN6014014718; 三浦直樹 他: '不一致判定回路を用いた高速パケットフィルタ回路' 電子情報通信学会技術研究報告 Vol.108,No.478, 20090304, p.101-106 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015046711A (ja) * 2013-08-27 2015-03-12 日本電信電話株式会社 検索装置および検索方法

Also Published As

Publication number Publication date
JP5584171B2 (ja) 2014-09-03

Similar Documents

Publication Publication Date Title
Dai et al. Bloom filter with noisy coding framework for multi-set membership testing
US11650990B2 (en) Method, medium, and system for joining data tables
CN102301342B (zh) 正则表达式匹配方法和系统及查找装置
CN107729371B (zh) 区块链的数据索引及查询方法、装置、设备及存储介质
US8370326B2 (en) System and method for parallel computation of frequency histograms on joined tables
JP2019523952A (ja) ストリーミングデータ分散処理方法及び装置
US20120303761A1 (en) Breakpoint continuous transmission method
US20150244498A1 (en) Data Alignment over Multiple Physical Lanes
CN108027713A (zh) 用于固态驱动器控制器的重复数据删除
CN101546291A (zh) 提高内存数据健壮性的存取方法和装置
CN110570311B (zh) 区块链的共识方法、装置及设备
CN103714086A (zh) 用于生成非关系数据库的模式的方法和设备
WO2020088262A1 (zh) 数据分析方法、设备及存储介质
CN109656986A (zh) 一种业务数据汇总的辅助方法、装置及电子设备
CN109739433A (zh) 数据处理的方法及终端设备
CN110021345B (zh) 基于spark平台的基因数据分析方法
US20180137164A1 (en) Incrementally Building Hash Collision Tables
CN107735781A (zh) 存储查询结果的方法和装置、计算设备
JP5584171B2 (ja) 一致判定装置、方法、およびプログラム
WO2018161403A1 (zh) 报表的数据统计方法和系统
CN103019739B (zh) 重定位表的修复方法、程序脱壳方法及相关装置
CN109376064B (zh) 一种接口测试报告的生成方法及设备
CN103761298A (zh) 一种基于分布式架构的实体匹配方法
US9104866B2 (en) Pattern matching engine, terminal apparatus using the same, and method thereof
JP2012003733A (ja) 論理式変換プログラム、及びsat解法プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140616

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140717

R150 Certificate of patent or registration of utility model

Ref document number: 5584171

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees