JPH023225B2 - - Google Patents

Info

Publication number
JPH023225B2
JPH023225B2 JP58005710A JP571083A JPH023225B2 JP H023225 B2 JPH023225 B2 JP H023225B2 JP 58005710 A JP58005710 A JP 58005710A JP 571083 A JP571083 A JP 571083A JP H023225 B2 JPH023225 B2 JP H023225B2
Authority
JP
Japan
Prior art keywords
data
hashing
cell
bit array
groups
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 - Lifetime
Application number
JP58005710A
Other languages
English (en)
Other versions
JPS59132042A (ja
Inventor
Toshio Nakamura
Hideaki Takeda
Tadashi Kitamura
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 JP58005710A priority Critical patent/JPS59132042A/ja
Publication of JPS59132042A publication Critical patent/JPS59132042A/ja
Publication of JPH023225B2 publication Critical patent/JPH023225B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables

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)

Description

【発明の詳細な説明】 (1) 発明の属する分野の説明 本発明は、複数個のデータ群の中から、データ
内容が全てのデータ群について相互に一致してい
る可能性のあるデータを選別するデータ選別方式
に関するものである。
(2) 従来の技術の説明 データ管理の分野において、特に、2つのデー
タ群の中から相互にデータ内容の一致するデータ
を取り出して結合する場合、結合処理に要する処
理時間が大きいため、あらかじめ各々のデータ群
から結合可能性の無いデータを除去し、結合処理
時間を短縮させるデータ選別操作がしばしば行な
われる。このデータ選別のためには、ハツシング
装置とビツトアレイを使用するのが一般的であ
る。
従来この種の装置は、LEECH(D.R.
McGregor,R.H.Thomson,W.N.Dawson:
High Performance Hard−ware for Database
Systems,in Systems for Large Data Bases,
pp.103−116,North−Holland,1976.)や
CAFS((1)E.Babb:Implementing a
Relational Database by Means of
Specialized Hardware,ACM Trans.Database
Syst.,Vol.4,No.1,pp.1−29,March 1979.(2)
E.Babb:Patent Application No.27093/74,
June 1974(Hashed Bit Arrays Store).)など
のシステムで用いられている。
第1図、第2図、第3図により従来技術を説明
する。第1図は従来のビツトアレイを用いる方式
の基本的な操作手順を示す。1,2はデータ群、
5は適切に定められたハツシユ関数をもつハツシ
ング装置、7はビツトアレイ、10は選別された
データ群、101はデータ群1のデータ内容をハ
ツシング装置5に入力してハツシングを行ない、
ビツトアレイ7のハツシング値を番地とするビツ
ト位置を‘1'にする操作、201はデータ群2の
データ内容をハツシング装置5に入力してハツシ
ングを行ない、ビツトアレイ7のハツシング値を
番地とするビツト位置が‘1'であるデータのみを
選別する操作を示す。
まずビツトアレイ7の全てのビツトを‘0'に初
期設定する。次に、操作101によりビツトアレ
イ7に‘1'を設定した後に、操作201によりデ
ータ群2のデータ内容をハツシングして、ビツト
アレイ7のハツシング値を番地とするビツト位置
が‘0'であるデータについては不必要なデータと
して除去し、‘1'であるデータは必要なデータと
して選び出す(これを選別と称する)。この第1
図に示す方式では2つのデータ群のうち一方のデ
ータ群についてしか選別が行なわれないという欠
点がある。
次に、複数個のデータ群についてデータ選別を
行う場合を説明する。
第2図に示す方式は、2つのデータ群の中から
相互にデータ内容が一致する可能性のあるデータ
を選別するものであり、1,2はデータ群、4,
5は同じハツシユ関数をもつハツシング装置、
7,8はビツトアレイ、10,11は選別された
データ群を示す。
まず、ビツトアレイの全てのビツトを‘0'に初
期設定する。次に、データ群1をハツシング装置
5に入力してハツシングを行ない、ビツトアレイ
8のハツシング値を番地とするビツト位置を‘1'
にセツトし(操作101)、次に、データ群2を
ハツシング装置4に入力してハツシングを行な
い、ビツトアレイ7のハツシング値を番地とする
ビツト位置を‘1'にセツトする(操作102)と
ともに、ビツトアレイ8のハツシング値を番地と
するビツト位置が‘1'であるデータのみを選別す
る(操作201)。さらに、操作102ならびに
操作201の両方が終了した時点で、データ群1
をハツシング装置4に入力してハツシングを行な
い、ビツトアレイ7のハツシング値を番地とする
ビツト位置が‘1'であるデータのみを選別する
(操作202)。
第3図は、第2図に示す方式におけるタイムチ
ヤートを示したものである。第3図は、データ群
1,2のデータの数を各々m1,m2(m1<m2)と
し、また、 S1:操作101に要する処理時間 S2:操作102に要する処理時間 R1:操作202に要する処理時間 R2:操作201に要する処理時間 とした場合を示しており、この場合にはS1<S2
R1<R2であり、また、max(R2,S2)はR2とS2
のどちらか大きい方の値を表わすものとすると、
処理時間(T1)は T1=S1+max(R2、S2)+R1 となる。
第2図に示すような方式では、第1図に示す方
式に比して2つのデータ群の両方についてデータ
の選別処理が行なわれるという利点があるが、第
3図で示したように、一般に、操作201により
選別されたデータ群11が出力された後に、操作
202により選別されたデータ群10が出力され
るので、第1図に示す方式に比べ処理時間が長い
という欠点があつた。また、データ群の結合処理
を行なう場合の前処理として2つのビツトアレイ
を用いる場合には、原理的に取扱えるデータ群は
2つのみである。従つて、3つ以上のn個のデー
タ群について結合処理を行なう場合の方法として
は、まず2つのデータ群について選別処理、結合
処理を行ない、新たなデータ群を作成した後、こ
の新しいデータ群(中間データ群)と残りのデー
タ群との間で再び選別処理、結合処理を繰り返し
ていくという方法を採らざるを得ない。しかし、
この方法では、中間データ群を生成する操作が
(n−2)回必要であること、また、(n−1)回
のデータ選別の操作を行なう必要があることによ
り処理時間が極めて大きくなるという欠点があつ
た。
(3) 発明の目的 本発明は、これらの欠点を除去するため、複数
個(n)のデータ群について、〔log2n)ビツトの
カウンタと1ビツトの制御フラグとからなるセル
の列であるセル化ビツトアレイとハツシング装置
との組をn台備えることにより、全てのデータ群
においてデータ内容が一致する可能性のあるデー
タを一括して選別することを特徴とし、その目的
は、選別処理時間を短縮することにある。以下、
本発明を実施例をもつて詳細に説明する。
第4図は本発明実施例方式における操作の手順
を説明するための図である。ここでは説明を簡単
にするために、データ群の個数を3つとした場合
で説明する。同図において、1,2,3はデータ
群、4,5,6は同じハツシユ関数をもつハツシ
ング装置、13,14,15はセル化ビツトアレ
イ、10,11,12は選別されたデータ群であ
り、301,302,303,304,305,
306はデータ群のデータ内容をハツシングし
て、セル化ビツトアレイのハツシユ値を番地とす
る位置のカウンタに1を加算する操作、401,
402,403はデータ群のデータ内容をハツシ
ングし、セル化ビツトアレイのハツシング値を番
地とする位置のセルのカウンタがn−1、この場
合はn=3であるから、n−1=2であるデータ
のみを選別する操作である。この場合には、1個
のセルのビツト長は3(カウンタ長=〔log2n〕=
〔log23〕=2ビツトであり、制御フラグ1ビツト
の計3ビツトとなる)あればよい。
まず、全てのセル化ビツトアレイの全てのセル
の内容を0に初期設定する。次に、データ群2を
ハツシング装置4に入力してハツシングを行な
い、セル化ビツトアレイ13のハツシング値を番
地とする位置のセルのカウンタに1を加算する操
作301と、データ群3をハツシング装置5に入
力してハツシングを行ないセル化ビツトアレイ1
4のハツシング値を番地とする位置のセルのカウ
ンタに1を加算する操作303と、データ群1を
ハツシング装置6に入力してハツシングを行ない
セル化ビツトアレイ15のハツシング値を番地と
するセル位置のカウンタに1を加算する操作30
5を同時に行なう。
次に、操作301が終了した時点で、データ群
3をハツシング装置4に入力してハツシングを行
ない、セル化ビツトアレイ13のハツシング値を
番地とする位置のセルのカウンタに1を加算する
操作302を、また、操作303が終了した時点
で、データ群1をハツシング装置5に入力してハ
ツシングを行ない、セル化ビツトアレイ14のハ
ツシング値を番地とする位置のセルのカウンタに
1を加算する操作304を、また、操作305が
終了した時点で、データ群2をハツシング装置6
に入力してハツシングを行ない、セル化ビツトア
レイ15のハツシング値を番地とする位置のセル
のカウンタに1を加算する操作306を各々並行
して行なう。
さらに、操作302が終了した時点で、データ
群1をハツシング装置4に入力してハツシングを
行ない、セル化ビツトアレイ13のハツシング値
を番地とする位置のセルのカウンタ内容が2であ
るデータのみを選別する操作401を、また、操
作304が終了した時点で、データ群2をハツシ
ング装置5に入力してハツシングを行ない、セル
化ビツトアレイ14のハツシング値を番地とする
位置のセルのカウンタ内容が2であるデータのみ
を選別する操作402を、また、操作306が終
了した時点で、データ群3をハツシング装置6に
入力してハツシングを行ないセル化ビツトアレイ
15のハツシング値を番地とする位置のセルのカ
ウンタ内容が2であるデータのみを選別する操作
403を各々並行して行う。
以上の動作によつて、3つのデータ群に関し、
データ内容が全てのデータ群について一致してい
る可能性のあるデータを選別することができる。
第5図は第4図に示す方式におけるタイムチヤ
ートを示したものであり、データ群1,2,3の
データの数m1,m2,m3(m1<m2<m3)とし、
また、 Si:操作30iに要する処理時間(i=1,
2,3) Rj:操作40iに要する処理時間(i=1,
2,3) とした場合を示す。この場合には、S1<S2<S3
R1<R2<R3となり、その処理時間(T3)は T3=max{(S1+S2+R1)、(S3+S4+R2)、(S5
+S6+R3)} となり、従来のハツシング装置とビツトアレイを
2台備えたもので、n個のデータ群全てについて
選別するような方式に比べて、中間データ群生成
の操作が不要であり、また、全てのデータ群につ
いてデータ内容が一致している可能性のあるデー
タを一括して選別できることから、処理時間の短
縮が可能となる。
第6図は、第4図における3組のハツシング装
置とセル化ビツトアレイ装置の内、その1組につ
いて、具体的な回路例を示したものである。複数
個(n)のデータ群全てについて選別する場合に
は、第6図に示す回路をn台備えればよい。
これらの組は、互いに独立に動作することがで
きるため、その1組について説明すればよい。第
6図において、4はハツシング装置、13はセル
化ビツトアレイであつて、Fは制御フラグ、
CTRはカウンタを表わす。また、16はセル、
60は入力端子、61はデータ取出し回路、62
はハツシング回路、63はバツフア、64は比較
器、65は転送回路、66は(n−1)のデータ
値の入力端子、67は出力端子、68はセル化ビ
ツトアレイ13のハツシング値を番地とする位置
のセルのカウンタCTRに1を加算する操作
(SET操作)を指示するSET信号、69はセル化
ビツトアレイ13のハツシング値を番地とする位
置のセルのカウンタCTRの内容がn−1である
データのみを選別する操作(REFER操作)を指
示するREFER信号である(SET信号および
REFER信号を発する制御回路については図から
省略している)。
まず、セル化ビツトアレイ13の全てのセル
(制御フラグFとカウンタCTR)を‘0'に初期設
定する。各々のデータ群のデータは、入力端子6
0より入力される。データ取出し回路61は、
SET信号の発生と同期して起動され、バツフア
63に転送すべきデータ群の切換えを制御するも
のであり、入力端子60から入力されたデータが
指定されたデータ群のデータか否かを判定し、そ
うであれば、該データを取り出してバツフア63
に転送する。
ハツシング装置4は、ハツシング回路62とバ
ツフア63からなつており、SET信号68を最
初に検出した時は、まずセル化ビツトアレイ13
の全てのセル16の制御フラグFを‘0'に設定す
る。次にハツシング回路62は、バツフア63に
格納されているデータの内容をハツシングして、
セル化ビツトアレイ13のハツシング値を番地と
する位置のセルの制御フラグFを‘1'にセツトす
るとともに、カウンタCTRに1を加算する。こ
こで、既に制御フラグFが‘1'となつている場合
は、カウンタCTRの1加算については行なわな
い。この制御フラグFは、1データ群での重複デ
ータの存在、あるいはハツシングによるシノニム
の発生によるカウンタCTRの加算処理をしない
ように制御するためのフラグである。
次に、ハツシング回路62は、順にデータの
SET操作を繰り返して行なうために、該データ
のSET操作が終了すれば、次のデータをバツフ
ア63に転送することを要求する信号をデータ取
出し回路61に発する。該データ群のデータ全て
についてセル化ビツトアレイ13へのSET操作
が終了すれば、次のデータ群のSET操作のため
のSET信号を発する。このSET操作が選別すべ
き該データ群を除くn−1個のデータ群について
順次行なわれ、同一データの可能性をもつデータ
の番地のカウンタCTRを歩進させる。なお、
SET信号が検出されるたびに制御フラグFが‘0'
に設定されることはいうまでもない。
選別すべき該データ群を除くn−1個のデータ
群についてSET操作が終了した時点で、ハツシ
ング回路62にREFER信号69を発する。ハツ
シング回路62は、REFER信号69を検出した
時、バツフア63に格納されているデータの内容
をハツシングして、セル化ビツトアレイ13のハ
ツシング値を番地とする位置のセルのカウンタ
CTRの内容と66のデータ値(n−1)を比較
器64に入力して比較を行ない、一致すれば、転
送回路65に起動信号を発し、転送回路65はこ
の起動信号によりバツフア63のデータ内容を出
力端子67に出力するとともに、次のデータをバ
ツフア63に転送することを要求する信号をデー
タ取り出し回路61に発する。また、比較器64
で一致しなければ、何もしないでデータ取り出し
回路61に次のデータをバツフア63に転送する
ことを要求する信号を発する。以上説明した動作
により、該データ群について選別することができ
る。同様に第6図に示す実現回路をn台備え、同
時に動作させることにより、n個のデータ群でデ
ータ内容の一致の可能性のあるデータを一括して
選別することができる。
(5) 効果の説明 以上説明したように、本発明は複数個(n)の
データ群について、セル化ビツトアレイとハツシ
ング装置の組をn台備えることにより、同時に全
てのデータ群でデータ内容が一致する可能性のあ
るデータを選別するものであるから、従来のハツ
シング装置とビツトアレイを2台備えたものでn
個のデータ群全てについて選別するような方式に
比べて、選別処理に要する時間を短縮できるとい
う利点がある。
【図面の簡単な説明】
第1図、第2図は従来のデータ選別方式の操作
手順の説明図、第3図は第2図に示す操作におけ
るタイムチヤート、第4図は本発明におけるデー
タ選別方式の操作手順の説明図、第5図は第4図
に示す操作におけるタイムチヤート、第6図は本
発明実施例の回路図である。 図中、1,2,3はデータ群、4,5,6はハ
ツシング装置、10,11,12は選別されたデ
ータ群、13,14,15はセル化ビツトアレ
イ、301,302,303,304,305,
306はデータ群のデータ内容のハツシング値を
番地とする位置のセルのカウンタに1を加算する
操作、401,402,403はデータ群のデー
タ内容のハツシング値を番地とする位置のセルの
カウンタ内容がn−1であるデータのみを選別す
る操作を表わす。

Claims (1)

    【特許請求の範囲】
  1. 1 データ群が複数(n)個ある場合で、データ
    内容が全てのデータ群について相互に一致する可
    能性のあるデータを選別する方式において、デー
    タ群ごとにデータのハツシング値の存在を計数す
    ることを可能とするカウンタと制御フラグとを含
    むセルの列であるセル化ビツトアレイと、データ
    内容をハツシングして対応するセルの位置を得る
    ハツシング装置との組を、データ群の個数に等し
    い数だけ備え、1つのデータ群に1台のハツシン
    グ装置と1個のセル化ビツトアレイを割当て、
    各々のハツシング装置に対応するデータ群とは別
    のデータ群のデータ内容を同時にハツシングし、
    セル化ビツトアレイにおける上記ハツシングの値
    を番地とする位置のセルのカウンタに1を加算す
    る操作を、順次別のデータ群についても行ない、
    次に、各々のデータ群のデータ内容をハツシング
    して、各々のデータ群に対応するセル化ビツトア
    レイにおいて上記ハツシングの値を番地とする位
    置のセルのカウンタがデータ群の数より1小さい
    数n−1に一致する場合のデータを選別すること
    を特徴とするデータ選別方式。
JP58005710A 1983-01-17 1983-01-17 デ−タ選別方式 Granted JPS59132042A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58005710A JPS59132042A (ja) 1983-01-17 1983-01-17 デ−タ選別方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58005710A JPS59132042A (ja) 1983-01-17 1983-01-17 デ−タ選別方式

Publications (2)

Publication Number Publication Date
JPS59132042A JPS59132042A (ja) 1984-07-30
JPH023225B2 true JPH023225B2 (ja) 1990-01-22

Family

ID=11618669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58005710A Granted JPS59132042A (ja) 1983-01-17 1983-01-17 デ−タ選別方式

Country Status (1)

Country Link
JP (1) JPS59132042A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2296447B1 (es) * 2005-06-14 2009-03-01 Universitat Politecnica De Catalunya Procedimiento para reducir los accesos a una estructura de datos a traves de mapas de contadores actualizables.

Also Published As

Publication number Publication date
JPS59132042A (ja) 1984-07-30

Similar Documents

Publication Publication Date Title
EP0478006A2 (en) Method and apparatus for searching data
JP2003224581A (ja) 最長一致検索回路および方法およびプログラムおよび記録媒体
US6760737B2 (en) Spatial median filter
JPH023225B2 (ja)
WO2003058862A1 (en) Insertion sorter
JP3123462B2 (ja) コネクション番号変換装置及びその方法並びにその方法を実行するためのプログラムを格納した記録媒体
JPH0419570B2 (ja)
CN113343034A (zh) Ip查找方法、系统及存储介质
JPH0832613A (ja) 経路選択情報の検索装置
JPH0531790B2 (ja)
JPH01173230A (ja) ソート処理装置
JPS62154139A (ja) デ−タ選別装置
JP3347592B2 (ja) マージソート処理装置
Green et al. Tabular simplification method for switching functions expressed in Reed-Muller algebraic form
JPH04180124A (ja) ソート処理装置
JPH0378666B2 (ja)
JPH01284921A (ja) ソート処理装置
JPH09247234A (ja) 通信装置
JPH02113749A (ja) シリアルコンパレータおよびそれを有するエレメントスイッチ
JPH0518148B2 (ja)
JPH0628167A (ja) データ・情報加工装置
JPH0758492B2 (ja) 関係演算装置
JPS6385823A (ja) マルチキ−・ソ−タ
JPH05341960A (ja) データソート方法
JPS63249227A (ja) 情報検索回路