JPH0419570B2 - - Google Patents

Info

Publication number
JPH0419570B2
JPH0419570B2 JP58005709A JP570983A JPH0419570B2 JP H0419570 B2 JPH0419570 B2 JP H0419570B2 JP 58005709 A JP58005709 A JP 58005709A JP 570983 A JP570983 A JP 570983A JP H0419570 B2 JPH0419570 B2 JP H0419570B2
Authority
JP
Japan
Prior art keywords
data
hashing
bit
groups
bit array
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
JP58005709A
Other languages
Japanese (ja)
Other versions
JPS59132041A (en
Inventor
Toshio Nakamura
Kyomi Sato
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 JP58005709A priority Critical patent/JPS59132041A/en
Publication of JPS59132041A publication Critical patent/JPS59132041A/en
Publication of JPH0419570B2 publication Critical patent/JPH0419570B2/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 発明の属する分野の説明 本発明は複数個のデータ群の中から、データ内
容が全てのデータ群について相互に一致している
可能性のあるデータを選別するデータ選別方式に
関するものである。
[Detailed Description of the Invention] 1. Description of the field to which the invention pertains The present invention is a data sorting method that selects data whose data contents may be the same for all data groups from among a plurality of data groups. It is related to the method.

2 従来の技術の説明 データ管理の分野において、特に、2つのデー
タ群の中から相互にデータ内容の一致するデータ
を取り出して結合する場合、結合処理に要する処
理時間が大きいため、あらかじめ各々のデータ群
から結合可能性の無いデータを除去し、結合処理
時間を短縮させるデータ選別操作がしばしば行な
われる。このデータ選別のためには、ハツシング
装置とビツトアレイを使用するのが一般的であ
る。
2. Description of Prior Art In the field of data management, in particular, when extracting and combining data whose data contents match each other from two data groups, the processing time required for the combining process is large, so it is necessary to prepare each data in advance. Data culling operations are often performed to remove uncombinable data from groups and reduce join processing time. For this data sorting, a hashing device and a bit array are generally used.

従来、この種の装置は、LEECH(D.R.Mc
Gregor,R.H.Thomson、W.N.Dawson:High
Performance Hardware 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
Specialiyed 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).)などの
システムで用いられている。
Traditionally, this type of equipment is called LEECH (DRMc
Gregor, RHThomson, WNDawson: High
Performance Hardware for Database
Systems,in Systems for Large Data Bases,
PP.103-116, North-Holland, 1976.) and
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,
Used in systems such as June 1974 (Hashed Bit Arrays Store).

第1図、第2図、第3図により従来技術を説明
する。
The prior art will be explained with reference to FIGS. 1, 2, and 3.

第1図は、従来のビツトアレイを用いる方式の
基本的な操作手順を示す。1,2はデータ群、5
は適切に定められたハツシユ関数を持つハツシン
グ装置、7はビツトアレイ、10は選別されたデ
ータ群、101はデータ群1のデータ内容をハツ
シング装置5に入力してハツシングを行ない、ビ
ツトアレイ7のハツシング値を番地とするビツト
位置を▼1▼にする操作、201はデータ群2の
データ内容をハツシング装置5に入力してハツシ
ングを行ない、ビツトアレイ7のハツシング値を
番地とするビツト位置が▼1▼であるデータのみ
を選別する操作を示す。
FIG. 1 shows the basic operating procedure of a conventional method using a bit array. 1 and 2 are data groups, 5
7 is a bit array, 10 is a selected data group, and 101 inputs the data contents of data group 1 to the hashing device 5 to perform hashing, and the hashing value of bit array 7 is obtained. The operation 201 is to input the data contents of the data group 2 to the hashing device 5 and perform hashing, so that the bit position whose address is the hashing value of the bit array 7 is ▼1▼. Indicates an operation to select only certain data.

まず、ビツトアレイ7の全てのビツトを▼0▼
に初期設定する。次に、操作101によりビツト
アレイ7に▼1▼を設定した後に、操作201に
よりデータ群2のデータ内容をハツシングして、
ビツトアレイ7のハツシング値を番地とするビツ
ト位置が▼0▼であるデータについては不必要な
データとして除去し,▼1▼であるデータは必要
なデータとして選び出す(これを選別と称する)。
この第1図に示す方式では、2つのデータ群のう
ち一方のデータ群についてしか選別が行なわれな
いという欠点がある。
First, all bits in bit array 7 are ▼0▼
Initialize to . Next, after setting ▼1▼ in the bit array 7 by operation 101, the data contents of data group 2 are hashed by operation 201,
Data whose bit position is ▼0▼ whose address is the hashing value of the bit array 7 is removed as unnecessary data, and data whose bit position is ▼1▼ is selected as necessary data (this is called selection).
The method shown in FIG. 1 has a drawback in that only one of the two data groups is selected.

次に、複数個のデータ群についてデータ選別を
行なう場合を説明する。
Next, a case will be described in which data selection is performed on a plurality of data groups.

第2図に示す方式は、2つのデータ群の中から
相互にデータ内容が一致する可能性のあるデータ
を選別するものであり、1,2はデータ群、4,
5は同じハツシユ関数をもつハツシング装置、
7,8はビツトアレイ、10,11は選別された
データ群を示す。
The method shown in Fig. 2 selects data whose data contents may match each other from two data groups, 1 and 2 are data groups, 4,
5 is a hashing device with the same hashing function;
7 and 8 are bit arrays, and 10 and 11 are selected data groups.

まずビツトアレイの全てのビットを▼0▼に初
期設定する。
First, all bits in the bit array are initialized to ▼0▼.

次に、データ群1をハツシング装置5に入力し
てハツシングを行ない、ビツトアレイ8のハツシ
ング値を番地とするビツト位置を▼1▼にセツト
し(操作101)、次に、データ群2をハツシン
グ装置4に入力してハツシングを行ない、ビツト
アレイ7のハツシング値を番地とするビツト位置
を▼1▼にセツトする(操作102)とともに、
ビツトアレイ8のハツシング値を番地とするビツ
ト位置が▼1▼であるデータのみを選別する(操
作201)、さらに、操作102ならびに操作2
01の両方が終了した時点で、データ群1をハツ
シング装置4に入力してハツシングを行ない、ビ
ツトアレイ7のハツシング値を番地とするビツト
位置が▼1▼であるデータのみを選別する(操作
202)。
Next, data group 1 is input to the hashing device 5 for hashing, the bit position corresponding to the hashing value of bit array 8 is set to ▼1▼ (operation 101), and then data group 2 is input to the hashing device 5. 4 and performs hashing, and sets the bit position corresponding to the hashing value of bit array 7 to ▼1▼ (operation 102).
Select only data whose address is the hashing value of bit array 8 and whose bit position is ▼1▼ (operation 201).Furthermore, operation 102 and operation 2
01 is completed, data group 1 is input to the hashing device 4 and hashed, and only the data whose address is the hashing value of the bit array 7 and whose bit position is ▼1▼ are selected (operation 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 となる。
FIG. 3 shows a time chart for the method shown in FIG. In FIG. 3, the numbers of data in data groups 1 and 2 are respectively m 1 and m 2 (m 1 < m 2 ), and S 1 : Processing time required for operation 101 S 2 : Processing time required for operation 102 R 1 : Processing time required for operation 202 R 2 : Processing time required for operation 201. In this case, S 1 <S 2 ,
R 1 < R 2 and max(R 2 , S 2 ) is R 2 and S 2
If it represents the larger value of
The processing time (T 1 ) is T 1 =S 1 +max(R 2 , S 2 )+R 1 .

第2図に示すような方式では、第1図に示す方
式に比して2つのデータ群の両方についてデータ
の選別処理が行なわれるという利点があるが、第
3図で示したように、一般に、操作201により
選別されたデータ群11が出力された後に、操作
202により選別されたデータ群10が出力され
るので、第1図に示す方式に比べて処理時間が長
いという欠点があつた。また、データ群の結合処
理を行なう場合の前処理として2つのビツトアレ
イを用いる場合には、原理的に取扱えるデータ群
は2つのみである。従つて、3つ以上のn個のデ
ータ群について結合処理を行なう場合の方法とし
ては、まず2つのデータ群について選別処理、結
合処理を行ない、新たなデータ群を作成した後、
この新しいデータ群(中間データ群)と残りのデ
ータ群との間で再び選別処理、結合処理を繰り返
していくという方法を採らざるを得ない。しか
し、この方法では、中間データ群を生成する操作
が(n−2)回必要であること、また、(n−1)
回のデータ選別の操作を行なう必要があることに
より、処理時間が極めて大きくなるという欠点が
あつた。また、第2図に示すような従来方式で
は、第2図から明らかなように、対となつている
ハツシング装置をビツトアレイに入力するデータ
群は、例えば、操作101と次の操作201(も
う片方では、操作102と次の操作202)で、
異なつている。つまり、操作101から操作20
1に移行する直前で、入力するデータ群を切り替
える必要があつた。
The method shown in Figure 2 has an advantage over the method shown in Figure 1 in that data selection processing is performed for both data groups, but as shown in Figure 3, in general, , since the data group 10 selected in operation 202 is output after the data group 11 selected in operation 201 is output, there is a drawback that the processing time is longer than in the method shown in FIG. Furthermore, when two bit arrays are used as preprocessing when performing data group combination processing, only two data groups can be handled in principle. Therefore, when performing a combination process on three or more data groups, the method is to first perform a selection process and a combination process on two data groups, create a new data group, and then
There is no choice but to adopt a method of repeating the selection process and the combination process again between this new data group (intermediate data group) and the remaining data group. However, this method requires (n-2) operations to generate an intermediate data group, and (n-1)
The disadvantage is that the processing time becomes extremely long due to the need to perform multiple data sorting operations. Furthermore, in the conventional method shown in FIG. 2, as is clear from FIG. Now, in operation 102 and the next operation 202),
It's different. In other words, from operation 101 to operation 20
Immediately before shifting to 1, it was necessary to switch the data group to be input.

このデータ群の切り替え制御に関しては、ハツ
シング装置に入力するためのデータパスを複数用
意する必要があること、また、データパスを介し
て、データ群とハツシング装置とを結び付けるた
めの切り替え制御回路が必要であり、切り替え制
御が複雑となり、構成上複雑であるという欠点が
あつた。
Regarding the switching control of this data group, it is necessary to prepare multiple data paths for inputting to the hashing device, and a switching control circuit is also required to connect the data group and the hashing device via the data path. However, the switching control is complicated and the configuration is complicated.

3 発明の目的 本発明は、上述した従来方式の欠点を除去する
ため、複数個(n)のデータ群について、ハツシ
ング装置とビツトアレイの組をn台と全てのビツ
トアレイ間のANDをとるAND装置を1台備える
ことにより、全てのデータ群についてデータ内容
が一致する可能性のあるデータを一括して選別す
ることを特徴とし、その目的は、選別処理時間を
短縮することにある。
3. Purpose of the Invention In order to eliminate the drawbacks of the conventional method described above, the present invention provides an AND device that performs an AND operation between n sets of hashing devices and bit arrays and all bit arrays for a plurality of (n) data groups. By having one device, data that may have the same data content for all data groups can be selected at once, and its purpose is to shorten the selection processing time.

以下、本発明は、実施例をもつて詳細に説明す
る。
Hereinafter, the present invention will be explained in detail with reference to examples.

4 発明構成および作用の説明 第4図は、本発明実施例方式における操作の手
順を説明するための図である。ここでは説明を簡
単にするために、データ群の個数を3つとした場
合で説明する。同図において、1,2,3はデー
タ群、4,5,6は同じハツシユ関数をもつハツ
シング装置、7,8,9はビツトアレイ、13は
AND装置、10,11,12は選別されたデー
タ群を示す。
4 Description of Invention Structure and Effects FIG. 4 is a diagram for explaining the operating procedure in the embodiment system of the present invention. Here, to simplify the explanation, a case will be explained in which the number of data groups is three. In the figure, 1, 2, and 3 are data groups, 4, 5, and 6 are hashing devices with the same hashing function, 7, 8, and 9 are bit arrays, 13 is an AND device, and 10, 11, and 12 are selected data. Indicates a group.

まず、ビツトアレイの全てのビツトを‘0’に初
期設定する。次に、1つのデータ群には、対とな
ている1個のハツシング装置と1個のビツトアレ
イとを割当て、データ群1をハツシング装置4に
入力してハツシングを行ない、ビツトアレイ7の
ハツシング値を番地とするビツト位置に▼1▼を
セツトする(操作301)とともに、データ群2
をハツシング装置5に入力してハツシングを行な
い、ビツトアレイ8のハツシング値を番地とする
ビツト装置に▼1▼をセツトし(操作302)、
更にデータ群3をハツシング装置6に入力してハ
ツシングを行ない、ビツトアレイ9のハツシング
値を番地とするビツト位置に▼1▼をセツトする
(操作303)、これら全てのデータ群のセツト操
作が終了した時点で、AND装置13にビツトア
レイ7,8,9を入力してANDをとり、ANDを
とつた結果をビツトアレイ7,8,9に転送す
る。
First, all bits in the bit array are initialized to '0'. Next, one data group is assigned a pair of hashing device and one bit array, data group 1 is input to hashing device 4 to perform hashing, and the hashing value of bit array 7 is At the same time as setting ▼1▼ in the bit position to be the address (operation 301),
is input into the hashing device 5 to perform hashing, and set ▼1▼ in the bit device whose address is the hashing value of the bit array 8 (operation 302).
Further, the data group 3 is input to the hashing device 6, hashed, and ▼1▼ is set in the bit position corresponding to the hashing value of the bit array 9 (operation 303).The setting operations for all these data groups are completed. At this point, the bit arrays 7, 8, and 9 are input to the AND device 13, AND is performed, and the AND result is transferred to the bit arrays 7, 8, and 9.

その様子を第5図で説明する。全てのデータ群
のセツト操作が終了した時点のビツトアレイ7,
8,9の内容を各々20,21,22とする。
AND装置13は、ビツトアレイの内容20,2
1,22を入力し、各ビツト位置ごとにANDを
とる。例えば、第5図の例では、 ビツトアレイ7,8,9の各ビツト位置1につ
いての内容が0、0、1であるから、そのAND
をとつた結果は0、 同様に、ビツト位置1+1についての内容が
0、1、0であるから、そのANDをとつた結果
は0、 同様に、ビツト位置1+2についての内容が
1、1、1であるから、そのANDをとつた結果
は1、 というように、全てのビツト位置ごとにANDを
とつた結果23をビツトアレイ7,8,9の各ビ
ツト位置ごとに更新し直す。これにより、ビツト
アレイ7,8,9の更新後の内容は全て同じとな
り、第5図の24,25,26に示されるように
なる。
The situation will be explained with reference to FIG. Bit array 7 at the time when all data group set operations are completed,
Let the contents of 8 and 9 be 20, 21, and 22, respectively.
The AND device 13 selects the bit array contents 20,2
Input 1 and 22 and perform AND for each bit position. For example, in the example shown in FIG.
The result of taking is 0.Similarly, since the contents of bit position 1+1 are 0, 1, 0, the result of taking the AND is 0.Similarly, the contents of bit position 1+2 are 1, 1, 1 Therefore, the result of the AND is 1, and so on, the result 23 of the AND for every bit position is updated for each bit position of bit arrays 7, 8, and 9. As a result, the updated contents of bit arrays 7, 8, and 9 are all the same, as shown at 24, 25, and 26 in FIG.

ここで、データ群1をハツシング装置4に入力
してハツシングを行ない、ビツトアレイ7のハツ
シング値を番地とするビツト位置が▼1▼である
データのみを選別する(操作401)とともに、
データ群2をハツシング装置5に入力してハツシ
ングを行ない、ビツトアレイ8のハツシング値を
番地とするビツト位置が▼1▼であるデータのみ
を選別し(操作402)、更にデータ群3をハツ
シング装置6に入力してハツシングを行ない、ビ
ツトアレイ9のハシング値を番地とするビツト位
置が▼1▼であるデータのみを選別する(操作4
03)。
Here, the data group 1 is input to the hashing device 4 and hashed, and only the data whose address is the hashing value of the bit array 7 and whose bit position is ▼1▼ are selected (operation 401).
The data group 2 is input to the hashing device 5 and hashed, and only the data whose bit position is ▼1▼ with the hashing value of the bit array 8 as the address are selected (operation 402), and then the data group 3 is input to the hashing device 6. is input to perform hashing, and select only the data whose address is the hashing value of bit array 9 and whose bit position is ▼1▼ (operation 4).
03).

以上述べたように、まずデータ群1,2,3の
セツト操作を同時に行なうことにより、各々のビ
ツトアレイ7,8,9をセツトし、次にビツトア
レイ7,8,9の各ビツト位置ごとにANDをと
り、その結果により、各々ビツトアレイ7,8,
9の各ビツト位置ごとに更新し直し、次に、各々
のデータ群1,2,3のデータ内容をハツシング
し、更新後のビツトアレイ7,8,9を参照しハ
ツシング値を番地とするビツト位置の内容が▼1
▼であるデータのみを選別する操作、すなわち
REFER操作を同時に行なうことにより、全ての
データ群についてデータ内容が一致する可能性の
あるデータを一括して選別することができる。
As described above, first, by performing the setting operations for data groups 1, 2, and 3 simultaneously, each bit array 7, 8, and 9 is set, and then, AND is performed for each bit position of bit arrays 7, 8, and 9. Based on the results, bit arrays 7, 8,
9, and then hash the data contents of each data group 1, 2, and 3, and refer to the updated bit arrays 7, 8, and 9 to find the bit position whose address is the hashed value. The contents of ▼1
By simultaneously performing the operation of selecting only the data that is ▼, that is, the REFER operation, it is possible to simultaneously select data that may have the same data content for all data groups.

第6図は、第4図に示す実施例方式におけるタ
イムチヤートを示したものである。第6図は、デ
ータ群1,2,3のデータの数をm1,m2,m3
(m1<m2<m3)とし、また、 Si:操作30iに要する処理時間(i=1、2、
3) Rj:操作40jに要する処理時間(j=1、2
3) Q:全てのビツトアレイ間のANDをとつて、結
果を全てのビツトアレイに転送するために要す
る処理時間 とした場合を示しており、 その処理時間(T3)は、 T3=Q+max{S1,S2,S3}+max{R1,R2,R3} となる。ここで、AND装置により、全てのビツ
トアレイ間のANDをとつて、結果を全てのビツ
トアレイに転送するための処理時間Qがオーバヘ
ツドとなる。しかしながら、このAND装置は単
純なAND回路の群であるから、LSI化により高
速化してこのオーバーヘツドを短縮することが期
待できる。このため、従来のハツシング装置とビ
ツトアレイを2台備えたものでn個のデータ群全
てについて選別するような方式に比べて、中間デ
ータ群生成の採作が不要であることにもとづい
て、処理時間を短縮することが期待できる。
FIG. 6 shows a time chart in the embodiment shown in FIG. Figure 6 shows the numbers of data in data groups 1, 2, and 3 as m 1 , m 2 , m 3
(m 1 <m 2 <m 3 ), and Si: processing time required for operation 30i (i=1, 2,
3) Rj: Processing time required for operation 40j (j=1, 2
3) Q: This shows the processing time required to perform AND between all bit arrays and transfer the result to all bit arrays, and the processing time (T 3 ) is T 3 = Q+max{S 1 , S 2 , S 3 }+max {R 1 , R 2 , R 3 }. Here, the processing time Q for performing the AND operation between all bit arrays and transferring the results to all bit arrays by the AND device becomes an overhead. However, since this AND device is a group of simple AND circuits, it can be expected to increase the speed and reduce this overhead by implementing LSI. Therefore, compared to a conventional method that uses two hashing devices and two bit arrays to select all n data groups, the processing time is reduced based on the fact that there is no need to create intermediate data groups. can be expected to be shortened.

第7図は、第4図に示す実施例方式を実現する
回路の1例を示す。第7図において、4,5,6
はハツシング装置、7,8,9はビツトアレイ、
13はAND装置、60,70,80は入力端子、
61,71,81はデータ取出し回路、62,7
2,82はハツシング回路、63,73,83は
バツフア、67,77,87は転送回路、64,
74,84は出力端子、65,75,85はビツ
トアレイのハツシング値を番地とするビツト位置
に▼|▼をセツトする操作(SET操作)を指示
するSET信号、66,76,86はビツトアレ
イのハツシング値を番地とするビツト位置が▼|
▼であるデータのみを選別する操作(REFER操
作)を指示するPEFER信号、67,77,87
は転送回路、90は全てのビツトアレイ間の
ANDをとり、ANDをとつた結果を全てのビツト
アレイに転送するAND装置への起動信号である
(なお、SET信号、REFER信号、AND装置への
起動信号を発する制御回路については図から省略
している。) まず、ビツトアレイ7,8,9の全てのビツト
を▼0▼に初期設定する。データ群1のデータは
入力端子60に、データ群2のデータは入力端子
70に、データ群3のデータは入力端子80に入
力される。データ取出し回路61,71,81
は、各々のSET信号65,75,85あるいは
各々のREFER信号66,76,86の発生と同
期して起動され、データをバツフア63に転送す
る。
FIG. 7 shows an example of a circuit that implements the embodiment shown in FIG. In Figure 7, 4, 5, 6
is a hashing device, 7, 8, 9 are bit arrays,
13 is an AND device, 60, 70, 80 are input terminals,
61, 71, 81 are data retrieval circuits, 62, 7
2, 82 are hashing circuits, 63, 73, 83 are buffers, 67, 77, 87 are transfer circuits, 64,
74, 84 are output terminals, 65, 75, 85 are SET signals that instruct the operation (SET operation) to set ▼|▼ at the bit position whose address is the hashing value of the bit array, 66, 76, 86 are the hashing signals of the bit array. The bit position where the value is the address is ▼|
PEFER signal instructing operation to select only data that is ▼ (REFER operation), 67, 77, 87
90 is a transfer circuit, and 90 is an activation signal to an AND device that performs AND between all bit arrays and transfers the AND result to all bit arrays (note that the SET signal, REFER signal, and activation signal to the AND device) (The control circuit that generates the signal is omitted from the figure.) First, all bits in the bit arrays 7, 8, and 9 are initialized to ▼0▼. The data of data group 1 is input to input terminal 60, the data of data group 2 is input to input terminal 70, and the data of data group 3 is input to input terminal 80. Data retrieval circuit 61, 71, 81
is activated in synchronization with the generation of each SET signal 65, 75, 85 or each REFER signal 66, 76, 86, and transfers data to buffer 63.

次に、各々のハツシング装置4,5,6は、
各々のハツシング回路62,72,82と各々の
バツフア63,73,83からなつており、例え
ば、ハツシング回路62がSET信号65を検出
した時は、バツフア63に格納されているデータ
の内容をハツシングして、ビツトアレイ7のハツ
シング値を番地とするビツト位置に▼1▼をセツ
トし(SET操作)、順にデータのSET操作を繰り
返して行なうために、次のデータをバツフア63
に転送することを要求する信号をデータ取出し回
路61に発する。また、ハツシング回路62が
REFER信号66を検出した時は、バツフア63
に格納されているデータの内容をハツシングし
て、ビツトアレイ7のハツシング値を番地とする
ビツト位置が▼1▼であれば、転送回路67に起
動信号を発し、転送回路67はこの起動信号によ
りバツフア63のデータ内容を出力端子64に出
力するとともに、次のデータをバツフア63に転
送することを要求する信号をデータ取出し回路6
1に発する。また、該ビット位置が▼1▼でなけ
れば、データ取出し回路61に次のデータがバツ
フア63に転送することを要求する信号を発する
(REFER操作)。
Next, each hashing device 4, 5, 6,
It consists of each hashing circuit 62, 72, 82 and each buffer 63, 73, 83. For example, when the hashing circuit 62 detects the SET signal 65, the content of the data stored in the buffer 63 is hashed. Then, ▼1▼ is set at the bit position corresponding to the hashing value of the bit array 7 (SET operation), and the next data is transferred to the buffer 63 in order to repeat the SET operation of the data.
A signal requesting transfer to the data retrieval circuit 61 is issued to the data retrieval circuit 61. Further, when the hashing circuit 62 detects the REFER signal 66, the buffer 63
If the contents of the data stored in the bit array 7 are hashed and the bit position corresponding to the hashed value is ▼1▼, a start signal is issued to the transfer circuit 67, and the transfer circuit 67 starts buffering by this start signal. The data retrieval circuit 6 outputs the data contents of 63 to the output terminal 64 and sends a signal requesting to transfer the next data to the buffer 63.
Emit at 1. If the bit position is not ▼1▼, a signal is issued to the data retrieval circuit 61 requesting that the next data be transferred to the buffer 63 (REFER operation).

ハツシング装置5,6ならびにデータ取出し回
路71,81も上記と同様な動作を行ない、各々
出力端子74,84に選別されたデータを送出す
る。
The hashing devices 5, 6 and the data retrieval circuits 71, 81 also operate in the same manner as described above, and send out the selected data to output terminals 74, 84, respectively.

全てのデータ群についてSET操作が終了した
時点で、AND装置13の起動信号を発する。
AND装置13はビツトアレイ7,8,9を入力
してANDをとり、ANDをとつた結果をビツトア
レイ7,8,9に転送し、その内容を更新する。
When the SET operation is completed for all data groups, an activation signal for the AND device 13 is issued.
The AND device 13 inputs the bit arrays 7, 8, and 9, performs an AND operation, transfers the result of the AND operation to the bit arrays 7, 8, and 9, and updates the contents thereof.

以上述べたように、まずデータ群1,2,3の
SET操作を同時に行なうことにより、各々のビ
ツトアレイ7,8,9をセツトし、次にビツトア
レイ7,8,9のANDをとつた結果のビツトア
レイ7,8,9を用いて、各々のデータ群1,
2,3のREFER操作を同時に行なうことによ
り、全てのデータ群についてデータ内容が一致す
る可能性のあるデータを一括して選別することが
できる。
As described above, by first performing the SET operations on data groups 1, 2, and 3 simultaneously, each bit array 7, 8, and 9 is set, and then the result of ANDing bit arrays 7, 8, and 9 is set. Using bit arrays 7, 8, and 9, each data group 1,
By performing two and three REFER operations at the same time, it is possible to select all data groups at once for data that may have the same data content.

5 効果の説明 以上説明したように、本発明は複数個(n)の
データ群について、ハツシング装置とビツトアレ
イの組をn台と1台のAND装置を備えることに
より、同時に全てのデータ群でデータ内容の一致
の可能性のあるデータを選別するものであるか
ら、従来のハツシング装置2台とビツトアレイ2
個備えたものでn個のデータ群全てについて選別
するような方式に比べて、選別処理に要する時間
を短縮できるという利点がある。従来技術である
第2図と本願発明の第4図を対比すれば明かなよ
うに、各ハツシング装置へ入力するためのデータ
パスは1本であり、データ群の切り替え制御が不
要であること、さらに、AND装置そのものも構
成が単純であり、ハードウエア構成が簡素化で
き、LSI化が容易になり、LSI化により高速化を
図ることが期待できるという利点がある。
5. Explanation of Effects As explained above, the present invention can simultaneously process data for all data groups by providing n sets of hashing devices and bit arrays and one AND device for a plurality of (n) data groups. Since the purpose is to select data that may have matching contents, two conventional hashing devices and two bit arrays are used.
This method has the advantage that the time required for the sorting process can be reduced compared to a method in which all n data groups are sorted using a separate device. As is clear from a comparison between FIG. 2 of the prior art and FIG. 4 of the present invention, there is only one data path for inputting to each hashing device, and there is no need to control data group switching. Furthermore, the AND device itself has a simple configuration, which has the advantage of simplifying the hardware configuration, making it easy to implement into an LSI, and increasing the speed by implementing an LSI.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図、第2図は従来のデータ選別方式の操作
手順の説明図、第3図は第2図に示す操作におけ
るタイムチヤート、第4図は本発明におけるデー
タ選別方式の操作手順の説明図、第5図はAND
装置の機能説明図、第6図は第4図に示す操作に
おけるタイムチヤート、第7図は本発明実施例の
回路図である。 図中、1,2,3はデータ群、4,5,6はハ
ツシング装置、7,8,9はビツトアレイ、1
0,11,12は選別されたデータ群、301,
302,303はデータ群のデータ内容のハツシ
ング値を番地とするビツトアレイのビツト位置を
▼1▼にセツトする操作、401,402,40
3はデータ群のデータ内容のハツシング値を番地
とするビツトアレイのビツト位置が▼1▼である
データのみを選別する操作、13は全てのビツト
アレイを入力してANDをとり、ANDをとつた結
果により全てのビツトアレイを更新するAND装
置を表わす。
1 and 2 are explanatory diagrams of the operating procedure of the conventional data sorting method, FIG. 3 is a time chart for the operation shown in FIG. 2, and FIG. 4 is an explanatory diagram of the operating procedure of the data sorting method of the present invention. , Figure 5 shows AND
6 is a time chart for the operation shown in FIG. 4, and FIG. 7 is a circuit diagram of an embodiment of the present invention. In the figure, 1, 2, 3 are data groups, 4, 5, 6 are hashing devices, 7, 8, 9 are bit arrays, 1
0, 11, 12 are selected data groups, 301,
302 and 303 are operations for setting the bit position of the bit array whose address is the hashing value of the data content of the data group to ▼1▼; 401, 402, 40;
3 is an operation to select only the data whose address is the hashed value of the data content of the data group and the bit position of the bit array is ▼1▼. 13 is an operation to input all the bit arrays and perform an AND operation, and based on the result of the AND operation. Represents an AND device that updates all bit arrays.

Claims (1)

【特許請求の範囲】[Claims] 1 データ群が複数のn個(n≧3)ある場合
で、データ内容が全てのデータ群について相互に
一致する可能性のあるデータを選別する方式にお
いて、データをハツシングするハツシング装置と
ビツトアレイとの組をデータ群に等しい数のn個
だけを備え、1つのデータ群に1個のハツシング
装置と1個のビツトアレイとを割当て、n個のデ
ータ群を同時にハツシングしてビツトアレイを設
定し、次にAND装置により全てのビツトアレイ
間のANDをとり、その結果を全てのビツトアレ
イに同時に転送して更新し、続いて、前記n個の
データ群を前記ハツシングの際に用いたハツシン
グ装置と同じハツシング装置に同時に入力してハ
ツシングし、各々のビツトアレイを参照し、全て
のデータ群について相互に一致する可能性のある
データを選別することを特徴とするデータ選別方
式。
1. In the case where there are a plurality of n data groups (n≧3), in a method for selecting data whose data contents may be mutually identical among all data groups, a hashing device for hashing data and a bit array are used. The number of sets is n equal to the number of data groups, one hashing device and one bit array are assigned to one data group, the n data groups are simultaneously hashed to set the bit array, and then The AND device performs an AND operation between all bit arrays, transfers the result to all bit arrays at the same time for updating, and then transfers the n data groups to the same hashing device used for the hashing. A data sorting method characterized by simultaneously inputting and hashing data, referring to each bit array, and selecting data that may match each other among all data groups.
JP58005709A 1983-01-17 1983-01-17 Data selecting system Granted JPS59132041A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58005709A JPS59132041A (en) 1983-01-17 1983-01-17 Data selecting system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58005709A JPS59132041A (en) 1983-01-17 1983-01-17 Data selecting system

Publications (2)

Publication Number Publication Date
JPS59132041A JPS59132041A (en) 1984-07-30
JPH0419570B2 true JPH0419570B2 (en) 1992-03-30

Family

ID=11618640

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58005709A Granted JPS59132041A (en) 1983-01-17 1983-01-17 Data selecting system

Country Status (1)

Country Link
JP (1) JPS59132041A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4903194A (en) * 1987-11-12 1990-02-20 International Business Machines Corporation Storage addressing error detection circuitry

Also Published As

Publication number Publication date
JPS59132041A (en) 1984-07-30

Similar Documents

Publication Publication Date Title
JP2530313B2 (en) Self-routing packet including stage address identification field
KR950003656B1 (en) Packet switching network with nultiple packet destinations
DE3533847C2 (en) Deflecting packet switching switching matrix with internal packet transmission
US5111453A (en) Apparatus and method for recognizing addresses of information packets
US7023797B2 (en) Flexible aggregation of output links
US5926626A (en) Network bridge using only hardware to process media access control (MAC) packet-switching operations
JPH06203001A (en) Electronic message communication path selection method
JPH11266273A (en) Switching structure and upgrading method therefor
JP2000115243A (en) Packet repeater and multi-cast speedup system
CA2011934A1 (en) Method and apparatus for source routing bridging
JP3881663B2 (en) Packet classification apparatus and method using field level tree
SE456793B (en) DIGITAL TELECOMMUNICATION SYSTEM MAKES FAULT OF DIGITAL CODED DATA IN A MULTIPLE CHANNEL
JPH0419570B2 (en)
US5648957A (en) Distributor employing controlled switching elements
EP0520116A1 (en) Method and apparatus for performing pattern search functions
JPH023225B2 (en)
US20100098070A1 (en) Multistage switch control circuit
EP0186595A2 (en) Routing technique
JP2001144801A (en) Header conversion device and frame transfer device
JPH0832613A (en) Retrieval device for route selection information
JP2557873B2 (en) Self-routing speech path
JPH0771353B2 (en) Control method for switching network
JPS62154139A (en) Data selecting device
JPH07120262B2 (en) Sorting circuit
JP2939584B1 (en) Search circuit