JPS63271525A - Data processor - Google Patents

Data processor

Info

Publication number
JPS63271525A
JPS63271525A JP62104245A JP10424587A JPS63271525A JP S63271525 A JPS63271525 A JP S63271525A JP 62104245 A JP62104245 A JP 62104245A JP 10424587 A JP10424587 A JP 10424587A JP S63271525 A JPS63271525 A JP S63271525A
Authority
JP
Japan
Prior art keywords
hash function
string
key
processing
hash
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
JP62104245A
Other languages
Japanese (ja)
Other versions
JP2753228B2 (en
Inventor
Masashi Tsuchida
正士 土田
Kazuhiro Sato
和洋 佐藤
Kazuhiko Omachi
大町 一彦
Akira Yamamoto
彰 山本
Tadashi Osone
匡 大曽根
Shinichi Fukushima
福嶋 慎一
Yoshiaki Yamashita
山下 芳明
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62104245A priority Critical patent/JP2753228B2/en
Publication of JPS63271525A publication Critical patent/JPS63271525A/en
Application granted granted Critical
Publication of JP2753228B2 publication Critical patent/JP2753228B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To decrease the number of times of checking on a main storage and to perform join processing at relatively low cost by performing matching operation by using plural hash functions and the applying plural hash functions. CONSTITUTION:One hash function (BMH) is applied to a keyword string to generate HBM 170 in synchronism with the data transfer of the keyword string from a secondary storage device, etc., and at the same time, the other hash function (HPH) is applied to this keyword string to generate HPM 180. Then the BMH is applied to a search key string in synchronism with the data transfer of the search key string to a result, which is compared with the HBM; and the HPH is applied to the search key string to obtain TPM, which is compared to perform search processing. Consequently, processing for checking whether or not the keyword string contains respective data of the search key string is realized by said processing. Consequently, a great decrease in channel load is made.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータベース処理あるいはファイル処理等の専
用ハードウェアに好適な、ハツシュ関数を用いるデータ
処理装置に関し、特に、サーチ処理あるいはジョイン処
理に好適なデータ処理装置に関するものである。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a data processing device using a hash function that is suitable for dedicated hardware such as database processing or file processing, and in particular, it relates to a data processing device that uses a hash function and is suitable for search processing or join processing. The present invention relates to a data processing device.

〔従来の技術〕[Conventional technology]

データベース処理、あるいはファイル処理において、サ
ーチ処理、ジョーイン処理は基本演算である。すなわち
、サーチ処理は非常に処理頻度が高く、かつ、処理負荷
も比較的高く、また、ジョイン処理は負荷が非常に高い
ので、これらの高速化は重要である。
Search processing and join processing are basic operations in database processing or file processing. That is, search processing has a very high processing frequency and has a relatively high processing load, and join processing has a very high load, so speeding up these processes is important.

ところで、ソフトウェアによってサーチ処理。By the way, search processing by software.

ジョイン処理を実現すると、専用ハードウェアで当該処
理をサポートするものと比較して、データ比較、データ
構造の操作等において処理の効率が劣化し、汎用コンピ
ュータでは低効率にならざるを得ない。
If join processing is implemented, the processing efficiency will deteriorate in data comparison, data structure manipulation, etc., compared to the case where the processing is supported by dedicated hardware, and a general-purpose computer will inevitably have low efficiency.

そこで、LSI技術の発展とともに、比較的低コストで
LSIチップを開発できる現在、ハードウェアによりサ
ーチ処理あるいはジョイン処理を高速化する方法が種々
提案されている。
Now, with the development of LSI technology and the ability to develop LSI chips at relatively low cost, various methods have been proposed to speed up search processing or join processing using hardware.

例えば、サーチ処理およびジョイン処理に関するもので
は、 (1)ハツシュに基づくもの: Babb、 E、によ
る。
For example, regarding search processing and join processing, (1) Hash-based: According to Babb, E.

r I mples*enting  a  Re1a
tional  Databage  byMeans
 of 5pacializad HardvareJ
、 (ACMTOD S g vol−41& 1 @
 March 1979 g p p −1−29)が
、また、サーチ処理のみに関するものでは、 (1)2分法に基づくもの: Tanaka、 Y 、
等による。 rPipeline Searching
 and SortingModules as Co
a+ponents of a Data flowC
omputarJ、  (I  F  I  P CC
ongress  ’  8 0゜pp、427−43
2.Oct、  1980)(2)連想記憶に基づくも
の: Fostar、 C,C,による、r Cont
ent A ddressabla P aralle
lProcessorsJ* (Van No5tra
nd Ra1nhold。
r I mples*enting a Re1a
tional Database by Means
of 5 pacializad HardvareJ
, (ACMTOD S g vol-41 & 1 @
March 1979 g p p -1-29), but regarding only search processing, (1) those based on dichotomy: Tanaka, Y.
According to etc. rPipeline Searching
and SortingModules as Co
a+ponents of a Data flowC
computerJ, (I F I P CC
ongress' 80゜pp, 427-43
2. Oct., 1980) (2) Based on associative memory: Fostar, C.C., r Cont.
entA addressableParalle
lProcessorsJ* (Van No5tra
nd Ra1nhold.

等が提案されている。etc. have been proposed.

【発明が解決しようとする問題点〕[Problem that the invention attempts to solve]

データベース処理において1例えば、リレーショナル・
データベース処理では、処理対象となるデータは2次記
憶装置上に存在し、各データベース演算に対して、大量
データの読出しおよび転送が必要である。
In database processing, for example, relational
In database processing, data to be processed exists on a secondary storage device, and each database operation requires reading and transferring a large amount of data.

ここで、データベースはユーザから2次元のテーブル形
式で見られるリレーションから成るものとし、当該テー
ブルの行に対応するものをタプルとするものである。ま
た、タプルは、1つ以上の属性(これを「カラム」とい
う)から成っている。
Here, the database is assumed to consist of relations that can be seen by the user in the form of a two-dimensional table, and the tuples correspond to the rows of the table. Further, a tuple consists of one or more attributes (this is called a "column").

このようなデータベースシステムにおいて、転送するデ
ータが大量となる場合、データ転送時間がデータベース
システムの性能ネックになる。
In such a database system, when a large amount of data is transferred, the data transfer time becomes a performance bottleneck of the database system.

そこで、2次記憶装置から転送するデータを有効活用す
る方法が考えられる。これは、データベースのりレーシ
ョンの転送時間と当該データベースに対するデータベー
ス処理に要する時間とを、完全にオーバーラツプさせる
ものであり、従来技術として良く知られている。
Therefore, a method can be considered to effectively utilize the data transferred from the secondary storage device. This method completely overlaps the time required for database migration and the time required for database processing for the database, and is well known as a prior art.

データベースを格納している2次記憶装置から転送され
るデータに対して処理される絞り込み。
Narrowing down that is processed on data transferred from the secondary storage device that stores the database.

切出し、および突き合せ等のデータベース演算は記憶階
層の概念が存在する限り必須である。
Database operations such as extraction and matching are essential as long as the concept of storage hierarchy exists.

以下、話をサーチ処理とジョイン処理に分けて進めるこ
とにする。
Below, the discussion will be divided into search processing and join processing.

サーチ処理に関しては、ハツシュ法に基づく場合、0(
1)で実現可能であることは良く知られている。但し、
ハツシュ関数を設定すると、例えば従来から良く知られ
ているハツシュ化ビットマツプを利用するサーチ処理に
おいても、コンフリクトが生ずる可能性があるという問
題がある。
Regarding the search process, when based on the Hasshu method, 0(
It is well known that 1) is possible. however,
When a hash function is set, there is a problem in that a conflict may occur even in search processing that uses a hashed bitmap, which has been well known in the past.

これに対しては、ハツシュ関数を用いて突き合わせを行
った後、主記憶上でのチェック回数を減らすため、ハツ
シュ関数を複数個適用することが考えられるが、従来、
このような、コンフリクトが最小になるようなチェック
方法を示唆するものはなかった。
To deal with this, it is conceivable to perform matching using a hash function and then apply multiple hash functions in order to reduce the number of checks on the main memory.
There was no suggestion of such a checking method that would minimize conflicts.

本発明の第一の目的は、ハツシュ法に基づく場合、サー
チ処理は0(1)で実現可能であるという特徴を利用し
て、2次記憶装置からのデータ転送に同期させ、かつ、
比較的低いハードウェアコストでサーチ処理装置を実現
することにある。
A first object of the present invention is to synchronize data transfer from a secondary storage device by utilizing the characteristic that search processing can be realized in 0(1) when based on the hash method, and
The object of the present invention is to realize a search processing device at relatively low hardware cost.

また、シミイン処理、すなわち、突き合せる処理に関し
ては、従来ソートマージ法およびホストループ法が実施
されて来た。
Furthermore, regarding simi-in processing, that is, matching processing, conventionally the sort-merge method and the host loop method have been implemented.

前述のタプル数をnとすれば、前者はソート処理にO(
nlogn)、突き合せ処理に0(n)必要であり、後
者は突き合せ処理にO(n”)必要である。
If the number of tuples mentioned above is n, the former requires O(
nlogn), the latter requires 0(n) for the matching process, and the latter requires O(n'') for the matching process.

しかし、データ転送に同期してジョイン処理を実行する
ためには、0(n)で演算する方法が必要である。この
点で、ホストループ法は基本的に実現性がない、また、
ソートマージ法については。
However, in order to execute the join process in synchronization with data transfer, a method of calculating with 0(n) is required. In this respect, the host loop method is basically unfeasible, and
Regarding the sort-merge method.

ヒート処理のためにO(logn)個の比較器を用いれ
ば、データ転送に同期して実現可能である。
If O(logn) comparators are used for heat processing, it can be implemented in synchronization with data transfer.

しかし、O(logn)個の比較器が必要であるという
ことは、データ量が増大するに従って、ハードウェアコ
ストも大幅に増大することになる。
However, the need for O(logn) comparators means that the hardware cost increases significantly as the amount of data increases.

従って、これらの方法では、シミイン処理をデータ転送
と同期させて、かつ、比較的低いハードウェアコストで
実現することは困難である。
Therefore, with these methods, it is difficult to synchronize the shimmy-in process with data transfer and to realize it at a relatively low hardware cost.

ところで、前述の如く、ハツシュ法に基づく場合、突き
合せ処理に関しては、0(1)で実現可能であることは
良く知られている。但し、ハツシュ関数を設定すると、
例えば、従来から良く知られているハツシュ化ビットマ
ツプを利用するサーチ処理においても、コンフリクトが
生ずる可能性があるという問題があること、これに対し
てハツシュ関数を複数個用いて突き合わせを行った後、
主記憶−ヒでのチェック回数を減らすため、ハツシュ関
数を複数個適用することが考えられることも前述の通り
である。
By the way, as mentioned above, it is well known that when based on the hash method, matching processing can be realized with 0(1). However, if you set the hash function,
For example, even in search processing that uses hashed bitmaps, which are well known in the past, there is a problem that conflicts may occur.
As mentioned above, it is possible to apply a plurality of hash functions in order to reduce the number of checks in the main memory.

本発明の第三の目的は、ハツシュ法に基づく場合、突き
合せ処理は0(1)で実現可能であるという特徴を利用
して、2次記憶装置からのデータ転送に同期させ、かつ
、比較的低いハードウェアコストでジョイン処理装置を
実現することにある。
A third object of the present invention is to synchronize data transfer from a secondary storage device and compare The object of the present invention is to realize a join processing device with a low hardware cost.

〔問題点を解決するための手段〕[Means for solving problems]

本発明の上記第一の目的は、キーワード列に、サーチキ
ー列が含まれているか否かをチェックするための、前記
キーワード列およびサーチキー列を順次入力する手段と
、前記サーチキー列に予め用意されているハツシュ関数
を適用した評価値を出力する手段と、ハツシュ化ビット
マツプ演算処理対象であるハツシュ化ビットマツプを格
納する手段と、前記キーワード列に予め用意されている
ハツシュ関数を適用した評価値の論理積を格納する手段
とを有するデータ処理装置において、複数のハツシュ関
数を用意するとともに、前記キーワード列に予め用意さ
れている一方のハツシュ関数を適用してハツシュ化ビッ
トマツプを作成し、同時に前記キーワード列に予め用意
されている他方のハツシュ関数を適用してハツシュプロ
ダクト記憶を作成する手段と、前記キーワード列に予め
用意されている前記一方のハツシュ関数を適用するハツ
シュ化ビットマツプを用い、前記サーチキー列に当該ハ
ツシュ関数を適用した評価値によって番地付けされた前
記ハツシュ化ビットマツプ上の番地の内容が既にセット
されているか否かをチェックする手段と、前記キーワー
ド列に予め用意されている前記他方のハツシュ関数を適
用するハラシャプロダクト記憶を用いて前記番地付けさ
れた前記ハツシュプロダクト記憶の否定と、前記サーチ
キー列の各データに予め用意されている前記他力のハツ
シュ関数を適用した結果との論理和を行う手段とを設け
たことを特徴とするデータ処理装置によって達成′され
る。
The first object of the present invention is to provide means for sequentially inputting a keyword string and a search key string to check whether or not a search key string is included in the keyword string; A means for outputting an evaluation value obtained by applying a prepared hash function, a means for storing a hashed bitmap that is a target of hashed bitmap calculation processing, and an evaluation value obtained by applying a prepared hashed function to the keyword string. In a data processing device, a hashed bitmap is created by preparing a plurality of hash functions, applying one of the hash functions prepared in advance to the keyword string, and simultaneously storing the logical product of the keyword string. means for creating a hash product memory by applying the other hash function prepared in advance to the keyword string; and a hashed bitmap for applying the one hash function prepared in advance to the keyword string; means for checking whether the contents of an address on the hashed bitmap, which is assigned an address by the evaluation value obtained by applying the hash function to the search key string, have already been set; Negating the addressed hash product memory using Harasha product memory applying the other hash function, and applying the other force hash function prepared in advance to each data in the search key string. This is achieved by a data processing device characterized in that it is provided with means for performing a logical OR with the result.

また、本発明の上記第二の目的は、ビットマツプ演算処
理対象である複数のハツシュ化ビットマツプを格納する
手段と、予め用意されている複数のハツシュ関数が適用
されるジョインキーを順次入力する手段と、前記ジョイ
ンキーに予め用意されている複数のハツシュ関数を適用
した評価値を出力する手段を有するデータ処理装置にお
いて。
The second object of the present invention is to provide a means for storing a plurality of hashed bitmaps to be subjected to bitmap calculation processing, and a means for sequentially inputting join keys to which a plurality of hash functions prepared in advance are applied. , a data processing device comprising means for outputting an evaluation value obtained by applying a plurality of hash functions prepared in advance to the join key.

複数のハツシュ関数を適用し、前記ハツシュ化ビットマ
ツプを作成した結果、コンフリクトが最小となるハッシ
ュ関数を決定する手段と、該手段により決定されたハツ
シュ関数および該ハツシュ関数に基づくハツシュ化ビッ
トマツプを用いて、当該ハツシュ関数評価値によって番
地付けされた前記ハツシュ化ビットマツプ上の番地の内
容が既にセクトされているか否かをチェックし、チェッ
ク結果から前記ジョインキーと一致する可能性があると
生新された場合、ジョインキーのハツシュ関数評価値を
出力する手段とを設けたことを特徴とするデータ処理装
置によって達成される。
A means for determining a hash function that minimizes conflict as a result of applying a plurality of hash functions to create the hashed bitmap, and a hashed function determined by the means and a hashed bitmap based on the hashed function. , it is checked whether the contents of the address on the hashed bitmap that is numbered by the hashed function evaluation value has already been sected, and from the check result, it is determined that there is a possibility that it matches the join key. In this case, the present invention is achieved by a data processing device characterized in that it is provided with means for outputting a hash function evaluation value of a join key.

〔作用〕[Effect]

本発明に係わるサーチ処理装置は、ハツシュ化ビットマ
ツプ(以下、rHB MJともいう)、ハツシュプロダ
クト記憶(以下、rHPMJともいう)および複数のハ
ツシュ関数によって構成される。
The search processing device according to the present invention includes a hashed bitmap (hereinafter also referred to as rHB MJ), a hashed product memory (hereinafter also referred to as rHPMJ), and a plurality of hash functions.

そして1本発明に係わるサーチ処理装置においては、2
次記憶装置等からの一方のデータ列のデータ転送に同期
して1.当該データ列に一方のハツシュ関数を適用して
上記HBMを作成し、同時に当該データ列に他方のハツ
シュ関数を適用して上記HPMを作成する。
1. In the search processing device according to the present invention, 2.
1.Synchronizing with the data transfer of one data string from the next storage device, etc. One hash function is applied to the data string to create the HBM, and at the same time, the other hash function is applied to the data string to create the HPM.

次に、他方のデータ列のデータ転送に同期して当該デー
タ列に一方のハツシュ関数を適用して得られた結果と前
述のHBMとの比較処理、および当該データ列に他方の
ハツシュ関数を適用して得られた結果と前述のHPMと
の比較処理を行うことにより、サーチ処理を行う。
Next, the results obtained by applying one hash function to the data string in synchronization with the data transfer of the other data string are compared with the aforementioned HBM, and the other hash function is applied to the data string in question. Search processing is performed by comparing the results obtained with the above-mentioned HPM.

最後に、主記憶装置上で一方のハツシュ関数を用いてチ
ェックを行う。具体的には、一方のハツシュ関数を適用
するHBMを用いて、一方のデータ列↓こ他方のデータ
列の各データが含まれているか否かをチェックする。
Finally, a check is performed using one of the hash functions on the main memory. Specifically, using HBM that applies one hash function, it is checked whether each data of one data string ↓ and the other data string is included.

また、コンフリクトが生ずる場合のために、他方のハツ
シュ関数を適用するHPMを用いて、一方のデータ列の
各データに他方のハツシュ関数を評価し、各データのハ
ツシュ関数評価値を論理積したものの否定と、他方のデ
゛−タ列の各データにハツシュ関数を適用した結果との
論理和を行うにの結果が真となれば、一方のデータ列に
他方のデータ列の各データが含まれている可能性がある
ことがわかる。
In addition, in case a conflict occurs, HPM that applies the other hash function is used to evaluate the other hash function for each data in one data string, and the hash function evaluation values of each data are logically multiplied. If the result of the negation and the result of applying the hash function to each data in the other data string is true, then one data string contains each data in the other data string. It turns out that there is a possibility that

また、本発明に係わるジョイン処理装置においては、デ
ータベース処理をデータ転送時間にオーバーラツプさせ
、フィルタリングおよびジョイン処理を専用に行う選択
/制約プロセッサ、射影プロセッサと当該ジョイン処理
を専用に行うジョインプロセッサを実装した入出力制御
装置を、主記憶装置と2次記憶装置との間に配置する。
Furthermore, in the join processing device according to the present invention, database processing overlaps with data transfer time, and a selection/constraint processor that exclusively performs filtering and join processing, a projection processor, and a join processor that exclusively performs the join processing are implemented. An input/output control device is placed between the main storage device and the secondary storage device.

上記選択/制御プロセッサは、転送データからタプルを
切出し1選択および制約処理対象となるカラム情報等か
ら構成される検索条件情報を基にして、当該検索条件を
満たすか否かを判定する。
The selection/control processor extracts a tuple from the transfer data, selects one, and determines whether the search condition is satisfied based on search condition information including column information to be subjected to constraint processing.

また、上記射影プロセッサは、上記単室情報に基づいて
、当該検索条件を満足するタプルを切出し、出力形式を
作成する。面処理とも、タプル数をnとすると、0(n
)の処理時間を必要とする。
Furthermore, the projection processor extracts tuples that satisfy the search conditions based on the single room information and creates an output format. In both surface processing, if the number of tuples is n, then 0(n
) processing time is required.

また、上記ジョインプロセッサは、非常に高負荷となる
ことが予想されるので、突き合せ処理にハツシュに基づ
くアルゴリズムを採用する。ハツシュに基づく突き合せ
処理によれば、0(1)の処理時間である。
Furthermore, since the join processor is expected to have a very high load, a hash-based algorithm is adopted for matching processing. According to the hash-based matching process, the processing time is 0(1).

本ジョイン処理装置を用いれば、フィルタリング処理に
オーバーラツプさせて、データ転送に同期してコンフリ
クトが最小となるようなハツシュ関数が選択でき、0(
1)でハツシュ表を用いて突き合せ処理した結果を利用
して、主記憶装置上で効率良くジョイン処理結果を得る
ことができる。
By using this join processing device, it is possible to select a hash function that minimizes conflicts in synchronization with data transfer by overlapping filtering processing, and 0(
By using the result of the matching process using the hash table in 1), it is possible to efficiently obtain the join process result on the main storage device.

すなわち、ハツシュ表による精度の良いジョイン処理対
象となるタプルの絞り込みによって、主記憶上での突き
合せ処理等によるCPU負荷軽減およびフィルタリング
処理とジョイン対象タプルの絞り込み処理とによる大幅
なチャネル負荷の低減が実現できる。
In other words, by narrowing down the tuples to be joined with high precision using the hash table, it is possible to reduce the CPU load through matching processing on the main memory, and to significantly reduce the channel load by filtering and narrowing down the tuples to be joined. realizable.

〔実施例〕〔Example〕

以下、本発明の実施例を図面に基づいて詳細に説明する
Embodiments of the present invention will be described in detail below with reference to the drawings.

第1図は本発明の一実施例であるサーチ処理装置(サー
チエンジン:5E)10の構成図である。
FIG. 1 is a configuration diagram of a search processing device (search engine: 5E) 10 which is an embodiment of the present invention.

なお1本実施例においては、サーチ処理とは、一方のデ
ータ列(キーワード列)に他方のデータ列(サーチキー
列)が含まれているか否かをチェックするものを言う。
In this embodiment, the search process refers to checking whether one data string (keyword string) includes the other data string (search key string).

具体的には、まず、2次記憶装置等からのキーワード列
のデータ転送同期して、該キーワード列に一方のハツシ
ュ関数(以下、rBMHJともいう)を適用して、前記
HBMを作成し、同時に当該キーワード列に、他方のハ
ツシュ関数(以下rHPHJともいう)を適用して前記
HPMを作成する。次に、サーチキー列のデータ転送に
同期して、該サーチキー列に前記BMHを適用して得ら
れた結果と前記HBMとの比′較処理、および当該サー
チキー列に前記HPHを適用して得られた前記HPMと
の比較処理を行うことによって、サーチ処理を行う。
Specifically, first, data transfer of a keyword string from a secondary storage device etc. is synchronized, one hash function (hereinafter also referred to as rBMHJ) is applied to the keyword string to create the HBM, and at the same time The HPM is created by applying the other hash function (hereinafter also referred to as rHPHJ) to the keyword string. Next, in synchronization with the data transfer of the search key string, the results obtained by applying the BMH to the search key string are compared with the HBM, and the HPH is applied to the search key string. Search processing is performed by performing a comparison processing with the above-mentioned HPM obtained.

上記処理によって、キーワード列にサーチキー列の各デ
ータが含まれているか否かチェックする処理が実現され
る。
The above process realizes the process of checking whether each data of the search key string is included in the keyword string.

次に、第1図に示したサーチ処理装置10の処理の概要
を説明する。
Next, an overview of the processing of the search processing device 10 shown in FIG. 1 will be explained.

第1図に示したサーチ処理袋[10は。The search processing bag [10] shown in FIG.

(1)キーワード列を入力とし、各キーワードに関して
前記BMWを適用して得られた結果によって番地付けさ
れた前記HBM上のビットをセットし、また、同時に、
各キーワードに前記HPHを適用して得られた結果と前
記BMWを適用して得られた結果によって番地付けされ
た前記HPM上のデータとの論理積を行い、その結果を
再び、当該番地付けされた前記HPMに格納するセット
動作。
(1) Take a keyword string as input, apply the BMW for each keyword, set a bit on the HBM that is numbered according to the result obtained, and at the same time,
The result obtained by applying the HPH to each keyword is ANDed with the data on the HPM that is assigned an address according to the result obtained by applying the BMW, and the result is again used for the address. A set operation to store the data in the HPM.

および。and.

(2)サーチキー列を入力とし、キーワード列にサーチ
キー列の各データが含まれている可能性があるサーチキ
ーに関する前記HBHの適用結果を出力する場合、各サ
ーチキーに前記BMWを適用して得られた結果によって
番地付けされた前記HBM上にビットがセットされてい
るか否かをチェックし、コンフリクトが生ずる場合のた
めに、前記HPHを適用する前記HPMを用いてキーワ
ード列の各データに前記HPHを適用し、前記キーワー
ド列に前記サーチキー列の各データが含まれているか否
かをチェックするサーチ動作。
(2) When inputting a search key string and outputting the result of applying the HBH to a search key whose keyword string may contain data in the search key string, apply the BMW to each search key. Check whether a bit is set on the HBM addressed according to the result obtained by applying the HPH to each data in the keyword string using the HPM to apply the HPH in case a conflict occurs. A search operation that applies the HPH and checks whether each data of the search key string is included in the keyword string.

を実現するものである。This is to realize the following.

サーチ処理装置10を用いれば、効率の良いサーチ処理
が実現でき、具体的には、主記憶装置上でのハツシュ関
数を用いたチェック処理の回数を低減することができる
By using the search processing device 10, efficient search processing can be realized, and specifically, the number of times of check processing using a hash function on the main storage device can be reduced.

第2図(a)〜(d)は、上記サーチ動作およびセット
動作を実現するサーチ処理装置10の内部動作を説明す
るフローチャートである。第2(a)はサーチ処理装置
10のサーチ処理200を、同(b)はサーチ処理装置
10の初期化210を。
FIGS. 2(a) to 2(d) are flowcharts illustrating the internal operation of the search processing device 10 that implements the above search operation and set operation. The second (a) shows the search processing 200 of the search processing device 10, and the second (b) shows the initialization 210 of the search processing device 10.

同(Q)はセット動作を、また、同(d)はサーチ動作
を示す。
(Q) indicates a set operation, and (d) indicates a search operation.

まず、フローチャートの説明で用いる記法について述べ
る。サーチ処理装置10に入力されるキーをKBO,K
B2、各キーに適用されるハツシュ関数をHGO,HG
I、ハツシュ化ビットマップをHBM、ハツシュプロダ
クト記憶をHPM、論理和をV、論理積を△、否定を7
、代入を←。
First, the notation used to explain the flowchart will be described. The keys input to the search processing device 10 are KBO, K.
B2, HGO, HG are the hash functions applied to each key.
I, HBM for hashed bitmap, HPM for hashed product storage, V for logical sum, △ for logical product, 7 for negation.
, assign ←.

等比較を=、真をTとする。Let equal comparison be = and truth be T.

以下の説明では、サーチ処理200.初期化210、セ
ット動作220およびサーチ動作230の順で、上記法
を用いて述べる。
In the following description, search processing 200. Initialization 210, set operation 220, and search operation 230 will be described in this order using the above method.

サーチ処理200は、セット動作あるいはサーチ動作が
終了するかどうかを示すeof (end offil
e )フラグが、動作指定191を用いて指定されてい
るか否かをチェックする(第2図(a)゛処理201)
、指定されていない場合には、キーKBOおよびKBI
にキー人力193,194を用いてキーを設定する(同
202)。
The search process 200 performs eof (end offil) indicating whether the set operation or search operation ends.
e) Check whether the flag is specified using the action specification 191 (Fig. 2(a) Process 201)
, if not specified, keys KBO and KBI
Then, the key is set using the key operators 193 and 194 (202).

次に、処理203において、入力されたキーに対して予
め定められているハツシュ関数HGO。
Next, in process 203, a hash function HGO is determined in advance for the input key.

HGIを適用する6次に、動作指定191において、セ
ット動作220あるいはサーチ動作230が指定されて
いるか否かをチェックする(同204゜205)。
Applying HGI 6 Next, it is checked whether the set operation 220 or the search operation 230 is specified in the operation specification 191 (steps 204 and 205).

セット動作が指定されていれば220へ、また、サーチ
動作が指定されていれば230へ、それら以外であれば
終了する。
If a set operation is specified, the process goes to 220, if a search operation is specified, the process goes to 230; otherwise, the process ends.

セット動作220およびサーチ動作230については、
後述する。初期化210は、一連のセット動作およびサ
ーチ動作が開始される前段階に実行される。具体的°に
は、サーチ処理袋[10内のレジスタ類のリセット(第
2図(b)処理211)と、前記HBMおよびHP M
のクリア(同212)から成る。
Regarding the set operation 220 and search operation 230,
This will be explained later. Initialization 210 is performed before a series of set and search operations are started. Specifically, the reset of the registers in the search processing bag [10 (FIG. 2(b) processing 211) and the above-mentioned HBM and HP M
(212).

次に、第2図(c)に基づいて、セット動作220を説
明する。まず、キーKBOにハツシュ関数HGOを適用
し、その結果、当該ハツシュ関数評価値で番地付けされ
たHBM上にビットがセットされていなけば、当該番地
付けされたHBM上にビットをセットする(処理221
→222)。
Next, the setting operation 220 will be explained based on FIG. 2(c). First, a hash function HGO is applied to the key KBO, and as a result, if a bit is not set on the HBM addressed by the hash function evaluation value, a bit is set on the HBM addressed by the relevant hash function evaluation value (processing 221
→222).

それ以外であれば、処理223へ進みキーKBIにハツ
シュ関数HGIを適用した結果とキーKBOにハツシュ
関数HGOを適用し、その結果当該ハツシュ関数評価値
で番地付けされたHPM上のデータとの論理積をとり、
その結果を再び当該番地付けされたHPM上のデータと
の論理積をとり、その結果を再び当該番地付けされたH
PMに格納し、セット動作220を終了する。
Otherwise, the process proceeds to step 223, where the logic between the result of applying the hash function HGI to the key KBI, the application of the hash function HGO to the key KBO, and the data on the HPM that is addressed by the hash function evaluation value. Take the product,
The result is logically ANDed with the data on the HPM assigned that address again, and the result is
The set operation 220 is then stored in PM and ends.

次に、第2図(d)に基づいてサーチ動作230を説明
する。まず、キーKBOにハツシュ関数HGOを適用し
、その結果、当該ハッシュ関数評価値で番地付けされた
HBM上にビットがセットされていない場合には(処理
231)、サーチ動作を終了する。それ以外であれば、
キーKBIにハツシュ関数HGIを適用した結果とキー
KBOにハツシュ関数HGOを適用し、その結果、当該
ハツシュ関数評価値で番地付けされたHPM上のデータ
の否定との論理和をとり、その結果が真でなければサー
チ動作230を終了する(同232)。
Next, the search operation 230 will be explained based on FIG. 2(d). First, the hash function HGO is applied to the key KBO, and if as a result, no bit is set on the HBM addressed by the hash function evaluation value (process 231), the search operation is ended. Otherwise,
The result of applying the hash function HGI to the key KBI and the hash function HGO to the key KBO are logically ORed with the negation of the data on the HPM addressed by the hash function evaluation value, and the result is If it is not true, the search operation 230 is ended (232).

それ以外であれば、キーKBOにハツシュ関数HGOを
適用して得られた当該ハッシュ関数評価値を出力アドレ
スレジスタOAR100に設定後。
Otherwise, after setting the hash function evaluation value obtained by applying the hash function HGO to the key KBO in the output address register OAR100.

アドレス出力192を用いて出力し、サーチ動作230
を終了する(処理233)。
Output using address output 192 and search operation 230
(processing 233).

次に、第1図を用いて、上記サーチ処理装置10の構成
について詳細に説明する。サーチ処理装置10は、動作
指定191.アドレス出力192、キー人力193,1
94を介して結合されている。動作指定191はサーチ
処理袋!110がセット動作あるいはサーチ動作のいず
れを実行するかを指定するためのものである。アドレス
出力192、サーチ動作において、キー人力193゜1
94を介して入力されたキーに対してハツシュ関数を適
用した結果、入力されたキーと一致する可能性があると
判断した前記ハツシュ関数の関数の評価値を転送するた
めに用いられる。
Next, the configuration of the search processing device 10 will be described in detail with reference to FIG. The search processing device 10 specifies the operation specification 191. Address output 192, key power 193,1
94. Operation specification 191 is a search processing bag! 110 is for specifying whether to perform a set operation or a search operation. Address output 192, key human power 193°1 in search operation
The hash function is used to transfer the evaluation value of the hash function that has been determined to have a possibility of matching the input key as a result of applying the hash function to the key input via 94.

キー人力193,194は、サーチ処理装置10にキー
を転送するために用いられる。出力アドレスレジスタ1
00は、サーチ処理装置I!10ヘキーを転送するため
に用いられる。出力アドレスレジスタ100は、前記サ
ーチ動作でキーにハツシュ関数を適用した結果、入力さ
れたキーと一致する可能性があると判断された当該ハツ
シュ関数の評価値をラッチするためのものである。
Key operators 193 and 194 are used to transfer keys to search processing device 10. Output address register 1
00 is the search processing device I! Used to transfer 10 keys. The output address register 100 is for latching the evaluation value of the hash function that is determined to have a possibility of matching the input key as a result of applying the hash function to the key in the search operation.

キーレジスタ(KR)= 110.111は、前記セッ
ト動作およびサーチ動作において、それぞれ入力となる
キーをラッチするためのものである。
Key registers (KR) = 110 and 111 are for latching keys that are input in the set operation and search operation, respectively.

ハツシュ生成器(HG)120,121は、上記キーレ
ジスタ110および111をそれぞれ入力とし、適切な
ハツシュ関数を適用した結果を出力するためのものであ
る。メモリアドレスレジスタ(MAR)130は、前記
HBM170および前記1−I P M l 80を番
地付けするためのものである。
Hash generators (HG) 120 and 121 are for inputting the key registers 110 and 111, respectively, and outputting a result of applying an appropriate hash function. A memory address register (MAR) 130 is for addressing the HBM 170 and the 1-IPM 1 80.

制御回路(CL)140は、上記動作情報および前記H
BMのビット情報を入力とし、前記HBMへの設定情報
を出力する機能を有する。
A control circuit (CL) 140 receives the above operation information and the H
It has a function of inputting BM bit information and outputting setting information to the HBM.

メモリデータレジスタ(MDR)160. 161は、
上記HBM170およびHPM180をそれぞれ読み書
きするために用いる。HBM170およびHP M 1
80は、ハツシュ関数の評価結果を設定するために用い
る。
Memory data register (MDR) 160. 161 is
It is used to read and write the HBM 170 and HPM 180, respectively. HBM170 and HP M1
80 is used to set the evaluation result of the hash function.

演算器(ALU)150は、比較演算を行うためのもの
である。デコーダ(DEC)190は、動作指定191
で指定される制御情報を解釈して、制御回路140およ
び演算器150の機能コード等の設定を行うためのもで
ある。
The arithmetic unit (ALU) 150 is for performing comparison operations. The decoder (DEC) 190 has an operation specification 191
It is used to interpret the control information specified by and set the function codes of the control circuit 140 and the arithmetic unit 150.

また、上記演算器150の演算結果フラグは。Also, the calculation result flag of the calculation unit 150 is as follows.

出力アドレスレジスタ100への入力を制御するために
用いられる。
Used to control input to output address register 100.

次に、具体例を用いて、第1図、第2図(a)〜(d)
に基づき、総合的な説明を行う。
Next, using specific examples, Figure 1 and Figures 2 (a) to (d)
A comprehensive explanation will be provided based on the following.

例としては。As an example.

(1)サーチ処理装置10がキーワード列(43,17
,8,24,55) をセット動作で入力し、サーチキー列 (17,77) をセット動作で処理する場合と、 (II)サーチ処理装置10が予めキーワード列(43
(12)、17(4,10)。
(1) The search processing device 10 uses the keyword string (43, 17
, 8, 24, 55) by a set operation and the search key string (17, 77) is processed by a set operation.
(12), 17(4,10).

24(14,16)、54(3a)> をセット動作で入力された後、サーチキー列(17(4
)、24(10)) をサーチ動作で処理する場合とについて考える。
24 (14, 16), 54 (3a)> is input with the set operation, search key string (17 (4)
), 24(10)) are processed by a search operation.

但し、キーワード列およびサーチキー列において、例え
ば、r17(4,10)Jという記法は。
However, in the keyword string and search key string, for example, the notation r17(4,10)J.

キー17に対して、キー4およびキー10が親子関係を
持つことを示している。また、前記HBMは8ビツト構
成であり、前記HPMは4ビツトデータ長構成であり、
キー長は8ビツトデータ長構成であるとする。
It is shown that key 4 and key 10 have a parent-child relationship with respect to key 17. Further, the HBM has an 8-bit configuration, and the HPM has a 4-bit data length configuration,
It is assumed that the key length is an 8-bit data length configuration.

ハツシュ関数は次のものを用いる。The following hash function is used.

HGO=(nty r12.n3  ”  n6y n
s+ nt)HG 1” (not n2e n4y 
nQ*  ”  nts n3* nls+ nt)但
し、HGO,HGI :八ツシュ関数nパキーの第1番
目ビット +:排他的論理和 である。以下、手順の説明の前段階として、第2図(b
)に示す初期化210が実行済みである。
HGO=(nty r12.n3 ” n6y n
s+ nt)HG 1” (not n2e n4y
nQ* ” nts n3* nls+ nt) However, HGO, HGI: 1st bit of the 8-tush function
) has been executed.

動作の説明(り ステップO: 初期状態として、レジスタ類はリセットされている。ま
た、HBM170およびHPM180もクリアされる。
Description of operation (Step O: In the initial state, registers are reset. HBM 170 and HPM 180 are also cleared.

セット動作を指定する制御信号が、前記動作指定191
を介してデコーダ190に指示される。
The control signal specifying the set operation is the operation specification 191
is instructed to the decoder 190 via.

上記制御信号は、デコーダ190で解釈され、制御回路
140および演算器150に1機能コードに変換された
形で設定される。
The control signal is interpreted by the decoder 190 and set in the control circuit 140 and the arithmetic unit 150 in a form converted into one function code.

ステップ1: キーワード「43」がキー人力193,194を介して
、キーレジスタ110,111にそれぞれ設定される(
第2図(a)処理201゜202)、ハツシュ関数HG
O,HGIを適用し、HGO(43)=7.HG1(4
3)=8となり(同203)、メモリアドレスレジスタ
130に上記「7」を設定する。
Step 1: The keyword "43" is set in the key registers 110 and 111 via the key inputs 193 and 194, respectively (
Fig. 2(a) Processing 201°202), hash function HG
Applying O, HGI, HGO(43)=7. HG1(4
3) = 8 (203), and the above "7" is set in the memory address register 130.

セット動作であるから、処理204.→220に進む、
前記HBM170を読出し、制御回路140において、
ビット比較の結果、HBM170にビットを設定する(
第2図(Q)処理221→222)。
Since this is a set operation, process 204. →Go to 220,
The HBM 170 is read, and the control circuit 140
As a result of the bit comparison, set the bit in HBM170 (
FIG. 2 (Q) Processing 221→222).

HBM=(0,0,0,0,0,0,0,1)また、H
PM(7)=8となる(同223)。
HBM=(0,0,0,0,0,0,0,1) Also, H
PM(7)=8 (223).

ステップ2: キーワード(17)がキー人力193,194を介して
、キーレジスタ110,111にそれぞれ設定される(
第2図(a)処理201゜202)、ハツシュ関数HG
O,HGIを適用し、HGO(17)=6.HGI(1
7)=6となり(同203)、メモリアドレスレジスタ
130に上記「6」を設定する。
Step 2: The keyword (17) is set in the key registers 110 and 111 via the key inputs 193 and 194, respectively (
Fig. 2(a) Processing 201°202), hash function HG
Applying O, HGI, HGO(17)=6. HGI (1
7)=6 (203), and the above "6" is set in the memory address register 130.

セット動作であるから、処理204→220に進む、前
記HBM170を読出し、制御回路140において、ビ
ット比較の結果、HBM170にビットを設定する(第
2図(c)処理221→222)。
Since this is a set operation, the process proceeds to steps 204→220, the HBM 170 is read, and the control circuit 140 sets a bit in the HBM 170 as a result of the bit comparison (FIG. 2(c) steps 221→222).

HBM=(0’、O,O,O,O,0,1,1)また、
HPM(6)=6となる(同223)。
HBM=(0', O, O, O, O, 0, 1, 1) Also,
HPM(6)=6 (223).

ステップ3: キーワード(8)がキー人力193,194を介して、
キーレジスタ110,111にそれぞれ設定される(第
2図(a)処理201゜202)、ハツシュ関数HGO
,HGIを適用し、HGO(8)=O,HGO(8)=
2となり(同203)、メモリアドレスレジスタ130
に上記[0」を設定する。
Step 3: Keyword (8) through key human power 193,194,
The hash function HGO is set in the key registers 110 and 111 (processes 201 and 202 in FIG. 2(a)), respectively.
, HGI is applied, HGO(8)=O, HGO(8)=
2 (203), the memory address register 130
The above [0] is set.

セット動作であるから、処理204→220に進む。前
記HBM170を読出し、制御回路140において、ビ
ット比較の結果、HBM170にビットを設定する(第
2図(c)処理221→222)。
Since this is a set operation, the process advances to steps 204→220. The HBM 170 is read and the control circuit 140 sets a bit in the HBM 170 as a result of bit comparison (FIG. 2(c) process 221→222).

HBM=(1,0,0,0,0,0,1,1)また、H
PM(0)=2となる(同223)。
HBM=(1,0,0,0,0,0,1,1) Also, H
PM(0)=2 (223).

ステップ4: キーワード(24)がキー人力193,194を介して
、キーレジスタ110,111にそれぞれ設定される(
第2図(a)処理201→202)、ハツシュ関数HG
O,HGIを適用し、HGO(24)=2.HGI(2
4)=6となり(同203)メモリアドレスレジスタ1
30に上記「2」を設定する。
Step 4: The keyword (24) is set in the key registers 110 and 111 via the key inputs 193 and 194, respectively (
Fig. 2(a) Process 201→202), hash function HG
Applying O, HGI, HGO(24)=2. HGI(2
4) = 6 (203) Memory address register 1
30 is set to the above "2".

セット動作であるから、処理204→220に進む、前
記HBM170を読出し、制御回路14−Oにおいて、
ビット比較の結果、HBM170にビットを設定する(
第2図(Q)処理221→222)。
Since it is a set operation, the process proceeds to steps 204→220, the HBM 170 is read, and the control circuit 14-O performs the following steps:
As a result of the bit comparison, set the bit in HBM170 (
FIG. 2 (Q) Processing 221→222).

HBM=(1,0,1,0,0,0,1,1)また、H
PM(2)=6となる(同223)。
HBM=(1,0,1,0,0,0,1,1) Also, H
PM(2)=6 (223).

ステップ5: キーワード(55)がキー人力193,194を介して
、キーレジスタ110,111にそれぞれ設定される(
第2図(a)処理201→202)。ハツシュ関数HG
O,HGIを適用し、HGO(55)=O,HGI(5
5)=15となり(同203)、メモリアドレスレジス
タ130に上記「0」を設定する。
Step 5: The keyword (55) is set in the key registers 110 and 111 via the key inputs 193 and 194, respectively (
FIG. 2(a) Processing 201→202). hash function HG
Applying O,HGI, HGO(55)=O,HGI(5
5) = 15 (203), and the above-mentioned "0" is set in the memory address register 130.

セット動作であるから、処理204→220に進む、前
記HBM170を読出し、制御回路140において、ビ
ット比較の結果、HBM170にビットを設定する(第
2図(c)処理221→222)。
Since this is a set operation, the process proceeds to steps 204→220, the HBM 170 is read, and the control circuit 140 sets a bit in the HBM 170 as a result of the bit comparison (FIG. 2(c) steps 221→222).

HBM=(1,0,1,0,0,0,1,1)また、H
PM(0)=2となる(同223)。
HBM=(1,0,1,0,0,0,1,1) Also, H
PM(0)=2 (223).

ステップ6: 以下、サーチ動作に入る。Step 6: Below, the search operation begins.

前記サーチキーrl 17Jがキー人力193゜194
を介して、キーレジスタ110.111にそれぞれ設定
される(第2図(a)処理201→202)。ハツシュ
関数HGO,HGIを適用し、HGO(17)=6.H
GI(17)=6となる(同203)。
The search key RL 17J requires 193°194
are set in the key registers 110 and 111 respectively (FIG. 2(a) process 201→202). Applying hash functions HGO and HGI, HGO(17)=6. H
GI(17)=6 (203).

サーチ動作であるから処理204→205→230に進
む。前記HBM170を読出して、制御回路140にお
いて、ビット比較の結果、HBM170に既にビットが
設定しであるので。
Since this is a search operation, the process proceeds to steps 204→205→230. After reading out the HBM 170, the control circuit 140 compares the bits and finds that the bit has already been set in the HBM 170.

第2図(d)において、処理231→232と進む。In FIG. 2(d), the process proceeds from 231 to 232.

また、HPM180を読出し、演算器150を用いて否
定および論理和演算を行う。この結果は真であるので、
前記出力アドレスレジスタ100に「6」を設定し、ア
ドレス出力192を介して出力される(第2図(d)処
理232→233)。
Further, the HPM 180 is read out, and the arithmetic unit 150 is used to perform negation and logical sum operations. This result is true, so
"6" is set in the output address register 100 and outputted via the address output 192 (FIG. 2(d) process 232→233).

ステップ7: サーチキー「77」がキー人力193,194を介して
、キーレジスタ110,111にそれぞれ設定される(
第2図(a)処理201゜202)。ハツシュ関数HG
O,HGIを適用し、HGO(77)=O,HGI(7
7)=10となる(同203)。
Step 7: Search key "77" is set in key registers 110 and 111 via key inputs 193 and 194, respectively (
FIG. 2(a) Processing 201° 202). hash function HG
Applying O,HGI, HGO(77)=O,HGI(7
7) = 10 (203).

サーチ動作であるから処理204→205→230に進
む。前記HBM170を読出して、制御回路140にお
いて、ビット比較の結果。
Since this is a search operation, the process proceeds to steps 204→205→230. The HBM 170 is read and the control circuit 140 reads the result of bit comparison.

HBM170に既にビットが設定しであるので、第2図
(d)において、処理231→232と進む。   ゛ また、HPM180を読出し、演算器150を用いて否
定および論理和演算を行う。この結果は真でないので、
終了する(同232)。
Since the bit has already been set in the HBM 170, the process proceeds from steps 231 to 232 in FIG. 2(d). ``Also, the HPM 180 is read out, and the arithmetic unit 150 is used to perform negation and logical sum operations. This result is not true, so
End (232).

以上の説明によれば、前記キーワード列(43,17,
8,24,55) にサーチキー[17」に含まれるが、サーチキーr77
」に含まれないことがわかる。
According to the above explanation, the keyword string (43, 17,
8, 24, 55) is included in search key [17], but search key r77
” is not included.

動作の説明(n) この説明では、予めキーワード列 (43(12)、17(4,1G)、8(20゜24(
14,16)、54(33)) を上記動作の説明(1)のセット動作と同じ処理過程を
経て、HBM170およびHPM180に処理結果が格
納されているものとする。
Explanation of operation (n) In this explanation, the keyword string (43 (12), 17 (4, 1G), 8 (20° 24 (
14, 16), 54 (33)) are subjected to the same processing process as the set operation in the above operation description (1), and the processing results are stored in the HBM 170 and HPM 180.

但し、セット動作において、キーワード列の各キーワー
ドに関して、親子関係の中で親に相当するデータはキー
人力193を用い、子に相当するデータはキー人力19
4を用いる。これにより、親子関係を有するデータに対
して、サーチ処理を拡張することが可能になる。
However, in the set operation, for each keyword in the keyword string, data corresponding to the parent in the parent-child relationship uses the key human power 193, and data corresponding to the child uses the key human power 19.
4 is used. This makes it possible to extend search processing to data that has a parent-child relationship.

前記HBM170およびHPM180は、次に示すよう
になっている。
The HBM 170 and HPM 180 are configured as shown below.

HBM=(1,1,1,0,0,0,1,1)HPM=
(4,0,6,0,0,0,13,5)ステップ0: サーチキーr17(4)Jが、キー人力193を介しキ
ーレジスタ110に「17」が、キー入力194を介し
キーレジスタ111r4Jが、それぞれ設定される(第
2図(a)処理201→202)。ハツシュ関数HGO
,HGIを適用し、HGO(17)=4.HGI(4)
=4となる(同203)。
HBM=(1,1,1,0,0,0,1,1)HPM=
(4,0,6,0,0,0,13,5) Step 0: Search key r17 (4) J is entered into the key register 110 via the key input 193, and "17" is entered into the key register via the key input 194. 111r4J are respectively set (FIG. 2(a) process 201→202). hash function HGO
, HGI is applied, HGO(17)=4. HGI(4)
= 4 (203).

サーチ動作であるから処理204→205→230に進
む。前記HBM170を読出して、制御回路140にお
いて、ビット比較、HBM170に既にビットが設定し
であるので、第2図(d)において、処理231→23
2と進む。
Since this is a search operation, the process proceeds to steps 204→205→230. The HBM 170 is read and the bits are compared in the control circuit 140. Since the bit has already been set in the HBM 170, the process 231→23 is performed in FIG. 2(d).
Proceed with 2.

また、HPM180を読出し、演算器150を用いて否
定および論理和演算を行う。この結果は真であので、前
記出力アドレスレジスタ100に「6」を設定し、アド
レス出力192を介して出力される(第2図(d)処理
232→233)。
Further, the HPM 180 is read out, and the arithmetic unit 150 is used to perform negation and logical sum operations. Since this result is true, "6" is set in the output address register 100 and outputted via the address output 192 (FIG. 2(d) process 232→233).

ステップ1: サーチキーr24(10)Jが、キー人力193を介し
キーレジスタ110に「24」が、キー人力194を介
しキーレジスタ1llrl]が、それぞれ設定される(
第2図(a)処理201→202)。ハツシュ関数HG
O,HG1を適用し、HGO(24)=2.HGI(1
0)=4となる(同203)。
Step 1: The search key r24(10)J is set to "24" in the key register 110 via the key input 193, and the key register 1llrl is set via the key input 194 (
FIG. 2(a) Processing 201→202). hash function HG
Applying O, HG1, HGO(24)=2. HGI (1
0)=4 (203).

サーチ動作であるから処理204→205→230に進
む、前記HB M 1’ 70を読出して。
Since this is a search operation, the process proceeds to steps 204→205→230, and the HB M 1' 70 is read.

制御回路140において、ビット比較の結果、HBM1
70に既にビットが設定しであるので、第2図(d)に
おいて、処理231→232と進む。
In the control circuit 140, as a result of the bit comparison, HBM1
Since the bit has already been set in 70, the process proceeds from steps 231 to 232 in FIG. 2(d).

また、HPM180を読出し、演算器150を用いて否
定および論理和演算を行う。この結巣は真ではないので
終了する(同232)。
Further, the HPM 180 is read out, and the arithmetic unit 150 is used to perform negation and logical sum operations. Since this conclusion is not true, the process ends (232).

以上の説明によれば、前記キーワード列(43(12)
、17(4,10)、8(20)。
According to the above explanation, the keyword string (43(12)
, 17(4,10), 8(20).

(24(14,16)、54(33))にサーチキーr
17(4)Jは含まれるが、サーチキーr24(10)
Jは含まれないことがわかる。
(24 (14, 16), 54 (33)) search key r
17(4)J is included, but search key r24(10)
It can be seen that J is not included.

以上、説明した如く、本実施例によれば、サーチ対象と
なるデータは単一値であっても、親子関係を有するもの
であっても良い。また、上記HPMを複数用意すれば、
親子関係において複数の子を有するデータに対しても、
サーチ処理が可能である。
As described above, according to this embodiment, the data to be searched may be a single value or may have a parent-child relationship. Also, if you prepare multiple HPMs above,
Even for data that has multiple children in a parent-child relationship,
Search processing is possible.

本実施例によれば、ハツシュ化ビットマツプ。According to this embodiment, a hashed bitmap.

ハツシュプロダクト記憶および対応するハツシュ関数を
用いて、キーワード列にサーチキー列が含まれているか
否かをチェックすることが可能となり、また、上記デー
タに親子関係を有するものもサーチ処理対象とすること
が可能である。
Using hash product storage and the corresponding hash function, it is now possible to check whether a keyword string contains a search key string, and data that has a parent-child relationship with the above data can also be searched. Is possible.

第3図は本発明の他の実施例である。ジョイン処理装置
f(ジョインプロセッサ:JP)45の構成図である。
FIG. 3 shows another embodiment of the invention. 4 is a configuration diagram of a join processing device f (join processor: JP) 45. FIG.

また、第4図は、本実施例が適用されるデータベースシ
ステムの一例の概要を示すものである。
Furthermore, FIG. 4 shows an overview of an example of a database system to which this embodiment is applied.

データベースシステムは、ユーザ等から入力される問合
せの入力および問合せを処理した結果の出力を実行する
入出力制御部20と、間合せ処理。
The database system includes an input/output control unit 20 that inputs queries input from users and the like and outputs results of processing the queries, and a make-up process.

リソース管理等データベース全体の管理を行う0MS2
1と、データベース処理対象となるデータを格納するデ
ータベース22がら構成されている。
0MS2 manages the entire database including resource management
1, and a database 22 that stores data to be processed by the database.

上記DBMS21は、システム全体の管理・制御に加え
て、入出力の管理を行うシステム制御部23と、問合せ
の構文解析・意味解析を行う間合せ解析部24A、適切
な内部処理手順を生成する最適化部24Bおよび内部コ
ードの生成・当該コードの解釈実行を行うコード生成論
理処理実行部24Gから成る論理処理部24と、当該D
MS21で処理対象となるデータを格納するデータベー
スバッファ26の管理等データベースの物理処理を実行
する物理処理部25とから構成されている。
In addition to managing and controlling the entire system, the DBMS 21 includes a system control unit 23 that manages input and output, a timing analysis unit 24A that performs syntactic and semantic analysis of queries, and an optimal system that generates appropriate internal processing procedures. a logic processing unit 24 consisting of a code generation logic processing execution unit 24G that generates an internal code and interprets and executes the internal code;
It is composed of a physical processing unit 25 that executes physical processing of the database such as management of a database buffer 26 that stores data to be processed by the MS 21.

第5図は本実施例が適用されるハードウェア構成の一例
を示すものである。具体的には、主記憶(MM)34を
保持する中央処理装置(CP U)30と、入出力制御
を行うチャネル装置(CHU)31と、データベース処
理において選択・制御。
FIG. 5 shows an example of a hardware configuration to which this embodiment is applied. Specifically, a central processing unit (CPU) 30 that holds a main memory (MM) 34, a channel unit (CHU) 31 that performs input/output control, and selection and control in database processing.

射影、結合演算の対象となるデータを設定するローカル
記憶(LM)35を保持するインテリジェントファイル
制御装置1l(IFC)32およびディスク(DK)3
3から成るシステムを考える。
An intelligent file controller 11 (IFC) 32 and a disk (DK) 3 that hold a local memory (LM) 35 for setting data to be subjected to projection and join operations.
Consider a system consisting of 3.

上記インテリジェントファイル制御部ff!32とディ
スク33の間では、相対ブッロクアドレスおよび入力デ
ータ等が転送され、経路38が用いられる。また、上記
チャネル装置31とインテリジェントファイル制御装置
32との間では、フィルタリング処理結果および検索条
件情報等が転送され、経路37が用いられる。
The intelligent file control section ff! 32 and the disk 33, relative block addresses, input data, etc. are transferred, and a path 38 is used. Furthermore, filtering processing results, search condition information, etc. are transferred between the channel device 31 and the intelligent file control device 32, and a path 37 is used.

更に、経路36は、中央処理装置i!!30とチャネル
装置31との間のデータ転送および制御情報交換のため
に用いられる。経路36および同37とも、それぞれ、
複数のチャネル装置31およびインテリジェントファイ
ル制御装置32が接続されていても構わない0例えば、
チャネル装置i31およびインテリジェントファイル制
御装置32が一体となる構成も、−変形例と考えて良い
Furthermore, the path 36 is connected to the central processing unit i! ! 30 and channel device 31 for data transfer and control information exchange. Both routes 36 and 37 are, respectively,
For example, it does not matter if a plurality of channel devices 31 and intelligent file control devices 32 are connected.
A configuration in which the channel device i31 and the intelligent file control device 32 are integrated may also be considered as a modification.

以下の説明においては、説明を簡単にするために、中央
処理装置30.チャネル装[31,インテリジェントフ
ァイル制御装置32およびディスク33が各1ユニツト
で構成されるシステムで議論する。
In the following description, the central processing unit 30. A system will be discussed in which each of the channel device 31, intelligent file controller 32, and disk 33 is configured as one unit.

本構成においては、すべてのデータベース処理を、中央
処理装置3o上で実現されている前記DBM21が実行
する方式とは異なる。すなわち、データベース処理のう
ち、DBMS21のコード生成論理処理実行部24Cで
生成する内部処理コードに対応する関係代数演算、すな
わち1選択・制約、射影、結合等の諸演算を、インテリ
ジェントファイル制御装置32で機能分担するものであ
る。
This configuration differs from the method in which all database processing is executed by the DBM 21 implemented on the central processing unit 3o. That is, among the database processing, the intelligent file control device 32 performs relational algebraic operations corresponding to the internal processing code generated by the code generation logic processing execution unit 24C of the DBMS 21, that is, various operations such as 1 selection/constraint, projection, and combination. This is to share functions.

本構成は、いわゆる人出カ装置に各種演算機能(例えば
、フィルタリング処理装置)を付加するものに相当する
ものである。この基本的な動作を以下に示す。
This configuration corresponds to a so-called crowd counting device with various calculation functions (for example, a filtering processing device) added thereto. This basic operation is shown below.

(1)ユーザが入力した問合せをDBMS21で解析し
、演算処理手順を決定する。
(1) The DBMS 21 analyzes the query input by the user and determines the arithmetic processing procedure.

(2)上記手順に従って、関係代数演算を切出しインテ
リジェントファイル制御装置32に処理要求を発行する
(2) In accordance with the above procedure, a relational algebra operation is extracted and a processing request is issued to the intelligent file control device 32.

(3)インテリジェントファイル制御装置32は。(3) Intelligent file control device 32.

処理要求を解釈し、ディスク33に対して物理入出力要
求を発行する。データベース22は、ベースリレーシコ
ンであり、当該データベースの管理単位であるページが
ディスク33の回転に同期して読込まれ、ローカル記憶
35に設定される。
It interprets the processing request and issues a physical input/output request to the disk 33. The database 22 is a base relay controller, and pages, which are management units of the database, are read in synchronization with the rotation of the disk 33 and set in the local storage 35.

(4)ローカル記憶35のデータに対して、選択・制約
、射演、結合等演算を行い、フィルタリング処理を行う
(4) Perform operations such as selection/constraint, projection, and combination on the data in the local storage 35, and perform filtering processing.

(5)この処理結果を、DBMS21のデータベースバ
ッファ36に設定する。
(5) Set this processing result in the database buffer 36 of the DBMS 21.

(6)DBMS’21は、当該処理結果を加工して。(6) DBMS'21 processes the processing results.

ユーザに間合せ結果を出力する。Output the adjustment result to the user.

本実施例の特徴は、上記(3)、(4)、(5)の各処
理をオーバーラツプして実行する間に、コンフリクトが
最小であるハツシュ関数を判定し、同時に当該ハッシュ
関数に基づくハツシュ表を作成し。
The feature of this embodiment is that while the above processes (3), (4), and (5) are executed in an overlapping manner, a hash function with the minimum conflict is determined, and at the same time a hash function based on the hash function is Create.

また、当該ハツシュ表に基づいてジョイン処理を行うこ
とである。
Also, join processing is performed based on the hash table.

但と、本実施例は、予め用意されている複数のハラシャ
関数の中から、コンフリクトが最小のものを選ぶ方法で
あって、コンフリクト最小となるようなハツシュ関数を
生成するものではない。
However, this embodiment is a method of selecting a hash function with the minimum conflict from among a plurality of hash functions prepared in advance, and does not generate a hash function that minimizes the conflict.

第6図は上記インテリジェントファイル制御装置32の
ブロック構成を示す図である。インテリジェントファイ
ル制御装置32は、チャネル装置31とは経路37を介
して、ディスク33とは経路38を介して結合されてい
る。インテリジェントファイル制御装置32は、射影プ
ロセッサ(PRP)40と、チャネル装置31とのイン
タフェースを分担するチャネルプロセッサ(C:HP)
41と、当該インテリジェントファイル制御装置32の
処理対象となるデータを格納するローカル記憶(LM)
42と、ディスク33とのインタフェースを分担するフ
ァイル制御プロセッサ(FCP)43と、選択・制約演
算を分担する選択・制約プロセッサ(R8P)44ど、
結合演算を分担する結合プロセッサ(JP)45と、前
記HBM46から構成されている。
FIG. 6 is a diagram showing a block configuration of the intelligent file control device 32. As shown in FIG. Intelligent file controller 32 is coupled to channel device 31 via path 37 and to disk 33 via path 38. The intelligent file control device 32 includes a projection processor (PRP) 40 and a channel processor (C:HP) that shares the interface with the channel device 31.
41, and a local memory (LM) that stores data to be processed by the intelligent file control device 32.
42, a file control processor (FCP) 43 which shares the interface with the disk 33, a selection/constraint processor (R8P) 44 which shares the selection/constraint calculation, etc.
It is composed of a combination processor (JP) 45 that performs combination operations, and the HBM 46.

経路47Aは、上記射演プロセッサ40.チャネルプロ
セッサ41.ローカル記憶42.ファイル制御プロセッ
サ439選択・制約プロセッサ44および結合プロセッ
サ45を結合し、フィルタリング処理対象となるデータ
の転送経路である。
Path 47A connects the shooting processor 40. Channel processor 41. Local memory 42. File control processor 439 connects selection/constraint processor 44 and combination processor 45 and is a transfer path for data to be filtered.

経路47Bは、上記射影プロセッサ40.チャネルプロ
セッサ41およびファイル制御プロセッサ43を結合し
、フィルタリング処理対象でないデータの転送経路であ
る。
Path 47B connects the projection processor 40. It connects the channel processor 41 and the file control processor 43 and is a transfer path for data that is not subject to filtering processing.

以下、結合演算を分担する結合プロセッサ45の詳細に
ついて述べる。
Details of the combination processor 45 that performs combination operations will be described below.

結合プロセッサ45は1選択・制御プロセッサ44から
切出されたジョインキー、すなわち、結合演算対象とな
るカラム値入力とし、HBM48上のアドレスを返すフ
ィルタリング動作(以下、「フィルタリング・モード」
という)、前記ジョインキーを入力とし、データ型毎に
設定している複数のハツシュ関数を適用し、HBMを作
成した結果、コンフリクトが最小となるハツシュ関数を
選択するチェック動作(以下、「チェック・モード」と
いう)および上記2つの動作を組合せた動作実行するも
のである。
The combination processor 45 takes the join key extracted from the selection/control processor 44, that is, the column value input for the combination operation, and performs a filtering operation (hereinafter referred to as "filtering mode") that returns an address on the HBM 48.
A check operation (hereinafter referred to as "check function") takes the join key as input, applies multiple hash functions set for each data type, and selects the hash function that minimizes the conflict as a result of creating an HBM. mode) and a combination of the above two operations.

具体的には、フィルタリング・モードでは、当該選択・
制約プロセッサ44から切出されたジョインキーを、予
め設定されているハツシュ関数を適用した結果、アドレ
スシングされたH B M 46上の番地の内容が既に
セットされているか否かをチェックし、当該ジョインキ
ーと一致する可能性があると判断した場合には、当該ジ
ョインキーのハツシュ評価値を出力する。これにより、
結合プロセッサ45を用いれば、当該結合演算対象とな
るジョインキーに関して、最もコンフリクトが小となる
ようなハツシュ関数を用いて一致処理および主記憶装置
上での突き合せ処理が可能である。
Specifically, in filtering mode, the selected
As a result of applying a preset hash function to the join key extracted from the constraint processor 44, it is checked whether the contents of the addressed address on the HBM 46 have already been set, and the relevant If it is determined that there is a possibility of matching the join key, the hash evaluation value of the join key is output. This results in
If the join processor 45 is used, matching processing and matching processing on the main storage device can be performed using a hash function that minimizes the conflict regarding the join key that is the target of the joining operation.

第7図(a)〜(d)は上記フィルタリング動作および
チェック動作組合せた結合プロセッサ45の内部動作を
説明するフローチャートである。
FIGS. 7(a) to 7(d) are flowcharts illustrating the internal operation of the combination processor 45 that combines the above-mentioned filtering operation and checking operation.

第7図(a)は結合プロセッサ45の全体動作500を
、同(b)は初期化510を、同(c)はフィルタリン
グ動作520を、また、(d)はチェック動作530を
、それぞれ、示している。
7(a) shows the overall operation 500 of the combination processor 45, FIG. 7(b) shows the initialization 510, FIG. 7(c) shows the filtering operation 520, and FIG. 7(d) shows the checking operation 530. ing.

まず、フローチャートの説明で用いる記法について述べ
る。結合プロセッサ45に入力されるジョインキーをJ
KRO,JKRI、コンフリクトカウンタをCCNT+
 (i=O〜3)、基数カウンタをCARDJ (j=
O〜3)、ハツシュ関数をhk(k=o〜3)、また、
ハツシュ化ビットマツプをHB M +n (m ” 
O〜3)とする。
First, the notation used to explain the flowchart will be described. The join key input to the join processor 45 is
KRO, JKRI, conflict counter CCNT+
(i=O~3), radix counter CARDJ (j=
O~3), the hash function is hk (k=o~3), and
The hashed bitmap is HB M +n (m ”
O~3).

以下の説明では、フィルタリング動作およびチェック動
作が同時に動作するものと仮定する。すなわち、全体動
作500の処理フローにおける506過程において、コ
ンフリクトが最小になるハツシュ関数(仮にり。とする
)が決定済みであり、当該ハツシュ関数り。を適用した
結果得られたHBMが1−IBMOに設定済みである。
In the following description, it is assumed that the filtering operation and the checking operation operate simultaneously. That is, in step 506 of the processing flow of the overall operation 500, the hash function (temporarily assumed) that minimizes the conflict has been determined, and the hash function is. The HBM obtained as a result of applying has already been set to 1-IBMO.

第7図(a)に示す全体動作500は、フィルタリング
動作およびチェック動作が終了するかどうかを示すso
f (end of file )フラグが、選択・制
約プロセッサ44から経路48を用いて指定されている
か否かをチェックする(処理501)上記eofフラグ
が指定されていなければ、ジョインキーレジスタJKR
OおよびJKRIにジョインキーを設定する(同501
→502)。ジョインキーレジスタJKROには、フィ
ルタリング動作の処理対象となるジョインキーが、また
、ジョインキーレジスタJKRIには、チェック動作の
処理対象となるジョインキーが設定されている6次に、
入力された当該ジョインキーに対して適用するハツシュ
関数を決定する(同503)。フィルタリング動作の処
理対象であるジョインキーJKROに適用するハツシュ
関数り。は既に決められている。また、チェック動作の
処理対象であるジョインキーJKRIに適用するハツシ
ュ関数hk(k=1〜3)は、前記選択・制約プロセッ
サ44の指定により決定される。
The overall operation 500 shown in FIG. 7(a) shows whether the filtering operation and checking operation are completed.
Check whether the f (end of file) flag has been specified from the selection/constraint processor 44 using the path 48 (process 501). If the eof flag is not specified, join key register JKR
Set a join key to O and JKRI (501
→502). The join key register JKRO is set with the join key to be processed by the filtering operation, and the join key register JKRI is set with the join key to be processed by the checking operation.
A hash function to be applied to the input join key is determined (503). Hash function applied to join key JKRO, which is the target of filtering operation. has already been decided. Further, the hash function hk (k=1 to 3) applied to the join key JKRI, which is the target of the check operation, is determined by the selection/constraint processor 44.

本実施例におけるフィルタリング動作504およびチェ
ック動作505は、並列に処理される過程である。フィ
ルタリング動作504では、当該ハツシュ関数hoをジ
ョインキーJKROに適用し、一致する可能性があるジ
ョインキーに関して。
The filtering operation 504 and the checking operation 505 in this embodiment are processes that are processed in parallel. A filtering operation 504 applies the hash function ho to the join keys JKRO for possible matches.

当該ハツシュ関数の評価値゛を出力する。The evaluation value of the hash function is output.

また、チェック動作505では、前記八ツシュ関数hk
(k=1〜3)をジョインキーJKRIに適用し、前記
ハツシュ化ビットマツプHBMm(m=1〜3)におけ
る対応する値との比較処理を行い、前記コンフリクトカ
ウンタあるいは基数カウンタを更新する。また、処理5
01において。
Further, in the check operation 505, the eight-tush function hk
(k=1 to 3) is applied to the join key JKRI, a comparison process is performed with the corresponding value in the hashed bitmap HBMm (m=1 to 3), and the conflict counter or radix counter is updated. Also, processing 5
In 01.

前記eofが検出された場合、上記チェック動作で処理
対象となっていたH B Mのコンフリクトカウンタお
よび基数カウンタを用いて、コンフリクトが最小となる
ハツシュ関数を決定する(処理506)。
If the eof is detected, a hash function that minimizes the conflict is determined using the conflict counter and radix counter of the HBM that was the object of processing in the check operation (process 506).

ここで選択されたハツシュ関数は、別のジョインキー列
に対するフィルタリング動作で適用される。
The hash function selected here is applied in a filtering operation to another join key column.

第7図(b)に示す初期化510は、一連のフィルタリ
ング動作およびチェック動作が開始される前段階に実行
される。具体的には、コンフリクトカウンタおよび基数
カウンタ等カウンタ類のリセットと、ハツシュ化ビット
マツプのクリアとから成る(処理511→512)。
Initialization 510 shown in FIG. 7(b) is performed before a series of filtering operations and checking operations are started. Specifically, it consists of resetting counters such as a conflict counter and a radix counter, and clearing the hashed bitmap (processing 511→512).

次に、第7図(C)に基づいて、フィルタリング動作5
04を説明する。
Next, based on FIG. 7(C), filtering operation 5
04 will be explained.

フィルタリング動作504で評価されるジョインキーJ
KROに前記ハツシュ関数り。を適用し、当該処理の評
価値を生成する(処理521)。当該ハツシュ関数評価
値で番地付けされたハツシュ化ビットマツプHB Mo
上にビットが設定されていれば、当該ハツシュ関数評価
値を選択・制約プロセッサ44へ出力する(同522→
523)。
Join key J evaluated in filtering operation 504
The above-mentioned hash function is provided to KRO. is applied to generate an evaluation value for the process (process 521). Hashified bitmap HB Mo that is addressed by the hash function evaluation value
If the bit above is set, the hash function evaluation value is output to the selection/constraint processor 44 (522 →
523).

それ以外であれば、フィルタリング動作を終了する。Otherwise, the filtering operation ends.

最後に、第7図(d)に基づいて、チェック動作505
を説明する。
Finally, based on FIG. 7(d), check operation 505
Explain.

チェック動作で評価されるジョインキーJKR1にハツ
シュ関数hk(k=1〜3)を適用し。
A hash function hk (k=1 to 3) is applied to the join key JKR1 evaluated in the check operation.

当該ハッシュ関数評価値を生成する(処理531)。The hash function evaluation value is generated (process 531).

次に、当該ハツシュ関数評価値で番地付けされたハツシ
ュ化ビットマツプHBMm(m=1〜3)上にビットが
設定されているか否かをチェックする(同532)。当
該番地にビットが設定されていれば、対応するハッシュ
関数のコンフリクトカウンタCCNT+(i=1〜3)
を1増分すめ(同533)。
Next, it is checked whether or not a bit is set on the hashed bit map HBMm (m=1 to 3) addressed by the hash function evaluation value (step 532). If the bit is set at the address, the conflict counter CCNT+ (i = 1 to 3) of the corresponding hash function
1 increment (533).

当該番地にビットが設定されていなければ、対応するハ
ツシュ関数の基数カウンタCA RD J (j=1〜
3)を増分しく同534)、当該番地のビット位置にd
g I IIを設定する(同535)。
If the bit is not set at the address, the radix counter of the corresponding hash function CA RD J (j=1~
3) is incremented and 534) is added to the bit position of the address.
Set g I II (same 535).

以上でチェック動作を終了する。This completes the check operation.

上記フィルタリング動作およびチェック動作は並列に動
作し得るものであり、実際にはジョインプロセッサ45
では、並列に動作する。
The above filtering operation and checking operation can be performed in parallel, and in reality, the join processor 45
Now, they work in parallel.

次に、結合プロセッサ45の構成について詳細に説明す
る。
Next, the configuration of the combination processor 45 will be explained in detail.

結合プロセッサ45は、前記選択・制約プロセッサ44
と経路48を介して、前記ローカル記憶42と経路47
Aを介して、また、前記ハツシュ化ビットマツプ46と
経路49を介して、それぞれ、結合されている。
The combination processor 45 includes the selection/constraint processor 44
and the local storage 42 and the path 47 via the path 48
A and the hashed bitmap 46 and a path 49, respectively.

経路48は選択・制約プロセッサ44から切出されたジ
ョインキーおよび該ジョインキーにハツシュ関数を適用
した結果、一致する可能性があると判断した当該ハツシ
ュ関数の評価値等を転送するために用いられる。経路4
7Aは、ジョインキー列を転送するために用いられる。
The path 48 is used to transfer the join key extracted from the selection/constraint processor 44 and the evaluation value of the hash function that is determined to have a possibility of matching as a result of applying the hash function to the join key. . route 4
7A is used to transfer the join key string.

出力アドレスレジスタ(OAR)100は、前記フィル
タリング動作でジョインキーにハツシュ関数を適用した
結果、一致する可能性があると判断した当該ハツシュ関
数の評価値をラッチするためのもので、ジョインキーレ
ジスタ(JKRO,JKRI)112゜113は、前記
フィルタリング動作およびチェック動作において、それ
ぞれ処理対象となるジョインキーをラッチするためのも
のである。
The output address register (OAR) 100 is for latching the evaluation value of the hash function that is determined to have a possibility of matching as a result of applying the hash function to the join key in the filtering operation. JKRO, JKRI) 112 and 113 are for latching join keys to be processed in the filtering operation and checking operation, respectively.

ハツシュ生成ボックス(HGB)122.前記ジョイン
キーレジスタ112,113を入力とし、適切なハツシ
ュ関数を適した結果を出力するためのもので、メモリア
トスレジスタ(MARl、i=0〜3)131〜134
は、ハツシュ化ビットマツプを番地付けするためのもの
である。
Hash Generation Box (HGB) 122. It is for inputting the join key registers 112 and 113 and outputting an appropriate hash function and an appropriate result.
is used to address the hashed bitmap.

制御回路(CL、、i=o〜3)141〜144は、上
記動作情報および前述のハツシュ化ビットマツプ(HB
M、、i=o〜3)181〜184のビット情報を入力
とし、該ハツシュ化ビットマツプへの設定情報、コンフ
リクトカウンタ(CCNT!、i=o〜3)161〜1
64および基数カウンタ(CARDl、i=o〜3)1
65〜168への更新要求情報を出力する機能を有する
ものである。
The control circuits (CL, , i=o to 3) 141 to 144 process the above operation information and the hashed bit map (HB
M,, i=o~3) 181~184 bit information is input, setting information for the hashed bitmap, conflict counter (CCNT!, i=o~3) 161~1
64 and radix counter (CARDl, i=o~3) 1
It has a function of outputting update request information for 65 to 168.

ここで、上記コンフリクトカウンタ161〜164は、
前記チェック動作時における対応するハツシュ関数のコ
ンフリクト回数の計数用であり。
Here, the conflict counters 161 to 164 are
It is used to count the number of conflicts of the corresponding hash function during the checking operation.

基数カウンタ165〜168は、当該チェック動作時に
おける、対応するハツシュ関数の基数を計数するための
ものである。メモリデータレジスタ(MDR)171〜
174は、前記HBMを読み書きするのに利用するもの
である。
The radix counters 165 to 168 are for counting the radix of the corresponding hash function during the checking operation. Memory data register (MDR) 171~
174 is used to read and write the HBM.

HBM181〜184は、ハツシュ関数評価結果を設定
するために用いられるものである。また、比較回路(C
MP)151は、前記コンフリクトカウンタ161〜1
64と、前記基数カウンタ165〜168とを入力とし
、最もコンフリクトが小となるハツシュ関数情報を出力
するためのものである。
HBMs 181 to 184 are used to set hash function evaluation results. In addition, a comparison circuit (C
MP) 151 is the conflict counter 161-1.
64 and the radix counters 165 to 168, and outputs hash function information with the smallest conflict.

デコーダ(DEC)190は、前記選択・制約プロセッ
サ44から指定される制御情報を解釈して、前記ハツシ
ュ生成ボックス(HGB)122および制御回路141
〜144の機能コード等を設定するためのものである。
The decoder (DEC) 190 interprets the control information specified by the selection/constraint processor 44 and outputs the hash generating box (HGB) 122 and the control circuit 141.
This is for setting function codes etc. of 144 to 144.

上記ハツシュ生成ボックス122は、ハツシュ関数生成
部分であり、デコーダ190から指定される機能コード
を解釈して、適切なハツシュ関数を適用するための選択
回路およびハツシュ関数評価回路から構成されている。
The hash generating box 122 is a hash function generating section, and is comprised of a selection circuit and a hash function evaluation circuit for interpreting the function code specified by the decoder 190 and applying an appropriate hash function.

なお、上記選択回路は、従来から良く知られているマル
チプレクサの組合せにより実現可能である。
Note that the above selection circuit can be realized by a combination of conventionally well-known multiplexers.

また、ハツシュ関数評価回路は、ジョインキーの剰余を
生成するものであれば、バレルシフタ。
Also, if the hash function evaluation circuit generates a join key remainder, it is a barrel shifter.

減算器およびレジスタの組合せで、ジョインキーのたた
み込みを生成するものであれば!排他的論理和回路およ
びレジスタの組合せで実現できる。
Any combination of subtractors and registers that produces a join key convolution! It can be realized by a combination of exclusive OR circuits and registers.

制御回路141〜144は、デコーダ190から指定さ
れる機能コードを解釈して、前記フィルタリング動作あ
るいはチェック動作指定であることを示す1ビット情報
、および、前記HB Mのビット情報1ピッI−を入力
とし、前記各種カウンタ設定要求情報各1ビット、前記
ハツシュ評価値を出力アドレスカウンタ100へ設定す
るための制御情報、および、前記HBMのビット設定情
報1ビツトを出力する。本制御回路141〜144は、
2人力ANDゲート3個およびインバータ2個で実現可
能である。
The control circuits 141 to 144 interpret the function code specified by the decoder 190, and input 1 bit information indicating that the filtering operation or check operation is specified, and 1 bit information of the HB M (1 bit I-). and outputs 1 bit each of the various counter setting request information, control information for setting the hash evaluation value to the output address counter 100, and 1 bit of the HBM bit setting information. The main control circuits 141 to 144 are
It can be realized with three two-man power AND gates and two inverters.

比較回路(CMP)151は、前記チェック動作対象と
なるハツシュ関数に関連するコンフリクトカウンタの比
較処理を行うためのものであり。
The comparison circuit (CMP) 151 is for performing comparison processing of conflict counters related to the hash function to be checked.

減算器およびレジスタの組合せで実現可能である5次に
、具体例を用いて、総合的な説明を行う。
Next, a comprehensive explanation will be given using a specific example.

例としては、結合プロセッサ45が、ジョインキー列 (43,17,8,24,55) で前記チェック動作を行う場合と、上記ジョインキー列
に対して、ジョインキー「24」が入力された前記フィ
ルタリング動作を行う場合を示す。
Examples include a case where the join processor 45 performs the check operation on the join key string (43, 17, 8, 24, 55), and a case where the join processor 45 performs the check operation on the join key string (43, 17, 8, 24, 55), The case where filtering operation is performed is shown.

但し、前記HBMは8ビツト橋成で、ジョインキー長は
8ビツト構成とする。また、ハツシュ関数には、剰余お
よび排他的論理和を採用する。
However, the HBM has an 8-bit bridge structure and the join key length is 8 bits. Furthermore, the hash function uses remainder and exclusive OR.

具体的には、 ho=(nt*  n4t  n6w  ”  n3+
  new  nt)hx=(nt+  n2y  n
3*  ”  n6*  n1ip  nt)h2:N
mod  7 とする。但し、 hk:ハツシュ関数(k=0〜2) Nニジミインキ− nl:ジョインキーの第1番目ピット + :排他的論理和 mod :剰余演算 である。以下1手順の説明の前段階として、初期化51
0が実行済みである。
Specifically, ho=(nt* n4t n6w ” n3+
new nt) hx=(nt+ n2y n
3* ” n6* n1ip nt) h2:N
Set it to mod 7. However, hk: hash function (k=0 to 2) N rainbow ink - nl: first pit of join key +: exclusive OR mod: remainder operation. Initialization 51 is a preliminary step to the explanation of step 1 below.
0 is already executed.

チェック動作の説明 ステップO: 初期状態として、カウンタおよびレジスタ類はリセット
されており、I(8M181〜184もクリアされてい
る。
Description of check operation Step O: In the initial state, the counters and registers are reset, and I(8M181-184) are also cleared.

チェック動作を指定する制御信号が1選択・制約プロセ
ッサ44から経路48を介してデコーダ190に指示さ
れる。該制御信号は、該デコーダ190で解釈され、ハ
ツシュ生成ボックス122および制御回路141〜14
4に機能コードに変換された形で設定される。
Control signals specifying check operations are directed from the selection and constraint processor 44 to the decoder 190 via path 48. The control signal is interpreted by the decoder 190 and sent to hash generation box 122 and control circuits 141-14.
4, converted into a function code.

ステップ1: ジョインキー[43」が1選択・制御プロセッサ44か
ら経路48を介して、ジョインキーレジスタ112に設
定される(処理500→501→502)。ハツシュ関
数を適用し、h。
Step 1: Join key [43] is set in join key register 112 from 1 selection/control processor 44 via path 48 (processing 500→501→502). Apply the hash function, h.

(43)= 7 、 ht(43)= 7 、 h2(
43)= 1となり(処理503→505)、前記メモ
リアドレスレジスタ1゛31にr7j同132にr7」
、同133「1」を設定する。
(43)=7, ht(43)=7, h2(
43) = 1 (processing 503 → 505), and the memory address register 1 is set to r7j at 31 and r7 to 132.
, 133 is set to "1".

88M181,182,183を読出し、制御回路14
1〜143においてビット比較を行った結果、前記基数
カウンタ165〜167にそれぞれ1を加える(処理5
32→534)。
88M181, 182, 183 are read and control circuit 14
As a result of bit comparison in 1 to 143, 1 is added to each of the radix counters 165 to 167 (processing 5
32 → 534).

ハツシュ化ビットマツプは以下のようになる(同535
)。
The hashed bitmap is as follows (535
).

HBMo=(0−0,0,0,0,0,0,1)HBM
t=(0,0,0,0,0,0,0,1)HBM2=(
0,1,0,0,0,0,0,0)ステップ2; ジョインキー「17」が、選択・制約プロセッサ44か
ら経路48を介して、ジョインキーレジスタ112に設
定される(処理500→501→502)。ハツシュ関
数を適用し、h。
HBMo=(0-0,0,0,0,0,0,1)HBM
t=(0,0,0,0,0,0,0,1)HBM2=(
0, 1, 0, 0, 0, 0, 0, 0) Step 2; Join key "17" is set in the join key register 112 from the selection/constraint processor 44 via the path 48 (process 500→ 501→502). Apply the hash function, h.

(17)” 6 、 hx(17)= 6 、 h2(
17)= 3となり(処理503→505)、前記メモ
リアドレスレジスタ131に「6」同132に「6」、
同133に「3」を設定する。
(17)” 6, hx(17)=6, h2(
17) = 3 (processing 503 → 505), the memory address register 131 is set to "6", the memory address register 132 is set to "6",
Set "3" to 133.

、  88M181.182,183を読出し、制御回
路141〜143においてビット比較を行った結果、前
記基数カウンタ165〜167にそれぞれ1を加える(
処理532→534)。
, 88M181, 182, 183 are read and bit comparison is performed in the control circuits 141 to 143, and as a result, 1 is added to each of the radix counters 165 to 167 (
Processing 532→534).

ハツシュ化ビットマツプは以下のようになる(同535
)。
The hashed bitmap is as follows (535
).

HBMo=(0,0,0,0,0,0,1,1)HB 
M x = (0、O、O、O、O−0,1、1)HB
M2=(0,1,0,1,0,0,0,0ステップ3: ジョインキ−「8」が、選択・制約プロセッサ44から
経路48を介して、ジョインキーレジスタ112に設定
される(処理500→501→502)、ハツシュ関数
を適用し、ho(8)= 2 、 bt(8)= O、
hsi(8)= 1となり(処理503→505)、前
記メモリアビレスレジスイタ131r2J同132に「
0」、同133[1」を設定する。
HBMo=(0,0,0,0,0,0,1,1)HB
M x = (0, O, O, O, O-0, 1, 1) HB
M2=(0,1,0,1,0,0,0,0 Step 3: Join key "8" is set in the join key register 112 from the selection/constraint processor 44 via the path 48 (processing 500→501→502), apply the hash function, ho(8)=2, bt(8)=O,
hsi(8) = 1 (processing 503 → 505), and "
0'' and 133[1''.

次に、HBM181,182,183を読出し、制御回
路141〜143においてビット比較を行った結果、基
数カウンタ165および166にそれぞれ1を加え(同
532→534)、コンフリクトカウンタ163に1を
加える(同532→533)。ハツシュ化ビットマツプ
は以下のようになる(同535)。
Next, the HBMs 181, 182, and 183 are read, and as a result of bit comparison in the control circuits 141 to 143, 1 is added to each of the radix counters 165 and 166 (from 532 to 534), and 1 is added to the conflict counter 163 (from 532 to 534). 532→533). The hashed bitmap is as follows (535).

1(BMO=(0,0,1,0,0,0,1,1)HB
M1=(1,0,0,0’、O,0,1,1)HBM2
=(0,1,0,1,0,0,0,0)ステップ4: ジョインキー「24」が、選択・制約プロセッサ44か
ら経路48を介して、ジョインキーレジスタ112に設
定される(処理500→501→502)。ハツシュ関
数を適用し、h。
1 (BMO=(0,0,1,0,0,0,1,1)HB
M1=(1,0,0,0',O,0,1,1)HBM2
= (0, 1, 0, 1, 0, 0, 0, 0) Step 4: Join key "24" is set in join key register 112 from selection/constraint processor 44 via path 48 (processing 500→501→502). Apply the hash function, h.

(24)=1.hz(24)=6.hz(24)=2と
なり(処理503→505)、前記メモリアドレスレジ
スタ131 rlJ同132に「6」、同133に「2
」を設定する。
(24)=1. hz(24)=6. hz (24) = 2 (processing 503 → 505), the memory address register 131 rlJ 132 is set to ``6'', and the memory address register 133 is set to ``2''.
”.

次に、HBM181,182,183を読出し、制御回
路141〜143においてピッl−比較を行った結果、
基数カウンタ165および167にそれぞれ1を加え(
同532→534)、コンフリクトカウンタ162に1
を加える(同532→533)。ハツシュ化ビットマツ
プは以下のようになる(お535)。
Next, the HBMs 181, 182, and 183 are read out, and the control circuits 141 to 143 perform a pitch comparison, and as a result,
Add 1 to each of the radix counters 165 and 167 (
532 → 534), 1 in conflict counter 162
(532 → 533). The hashed bitmap is as follows (535).

HBMO=(0,1,1,0,0,0,1,1)I−I
BM1=(1,0,0,0,0,0,1,1)HBM2
=(0,1,1,1,0,0,0,0)ステップ5: ジョインキー「55」が、選択・制約プロセッサ44か
ら経路48を介して、ジョインキーレジスタ112に設
定される(処理500→501→502)。ハツシュ関
数を適用し、ha(55)= O、ht(55)= O
−hsi(55)= 6となり(処理503→505)
、前記メモリアドレスレジスタ131rOJ同132に
「0」、同133に「6」を設定する。
HBMO=(0,1,1,0,0,0,1,1)I-I
BM1=(1,0,0,0,0,0,1,1)HBM2
= (0, 1, 1, 1, 0, 0, 0, 0) Step 5: Join key "55" is set in join key register 112 from selection/constraint processor 44 via path 48 (processing 500→501→502). Apply the hash function, ha(55) = O, ht(55) = O
-hsi(55) = 6 (processing 503 → 505)
, the memory address register 131rOJ 132 is set to "0", and the memory address register 133 is set to "6".

次に、HBM181,182,183を読出し、制御回
路141〜143においてビット比較を行った結果、基
数カウンタ165および167にそれぞれ1を加え(同
532→534)、コンフリクトカウンタ162に1を
加える(同532→533)、ハツシュ化ビットマツプ
は以下のようになる(同535)。
Next, the HBMs 181, 182, and 183 are read, and as a result of bit comparison in the control circuits 141 to 143, 1 is added to each of the radix counters 165 and 167 (from 532 to 534), and 1 is added to the conflict counter 162 (from 532 to 534). 532→533), and the hashed bitmap is as follows (535).

HBMO=(1,1,1,0,0,0,1,1)HBM
1=(1,0,0,0,0,0,1,1)HBM2=(
0,1,1,1,0,0,1,0)ステップ: 選択・制約プロセッサ44から経路48を介してデコー
ダ190にeofであることを示す指定が行われ、コン
フリクト最小となるハツシュ関数が決定される(処理5
00→501→506)。上記ステップまでに、コンフ
リクトカウンタ161,162,163は以下のように
なっている。
HBMO=(1,1,1,0,0,0,1,1)HBM
1=(1,0,0,0,0,0,1,1)HBM2=(
0, 1, 1, 1, 0, 0, 1, 0) Step: The selection/constraint processor 44 specifies eof to the decoder 190 via the path 48, and the hash function that minimizes the conflict is determined. determined (processing 5
00→501→506). Up to the above steps, the conflict counters 161, 162, and 163 are as follows.

CCNTO=O CCNT1=1 CCN T 2 = 2 比較回路151における比較の結果、ハツシュ関数り。CCNTO=O CCNT1=1 CCN T2 = 2 The comparison result in the comparison circuit 151 is a hash function.

が選択され、該ハッシュ関数情報が経路48を介して前
記選択・制約プロセッサ44に転送される。また、HB
MI81はクリアされず、次のフィルタリング動作のた
めに保存される。これ以外の88M182,183はク
リアされる。
is selected and the hash function information is forwarded to the selection and constraint processor 44 via path 48. Also, H.B.
MI81 is not cleared and is saved for the next filtering operation. The other 88M182 and 183 are cleared.

続いて、上記HBMI 81を保持した状態でフィルタ
リング動作を実行する例を示す。
Next, an example will be shown in which the filtering operation is executed while the HBMI 81 is held.

フィルタリング動作の説明 ステップ0: フィルタリング動作を指定する制御信号が、選択・制御
プロセッサ44から経路48を介してデコーダ190に
指示される。該制御信号は、デコーダ190で解釈され
、前記ハツシュ生成ボックス122および制御回路14
1に機能コードに変換された形で設定される。
Description of Filtering Operations Step 0: Control signals specifying filtering operations are directed from selection and control processor 44 to decoder 190 via path 48. The control signal is interpreted by a decoder 190 and sent to the hash generator box 122 and the control circuit 14.
1, converted into a function code.

ステップ1: 前記ジョインキー「24」が、選択・制御プロセッサ4
4から経路48を介して、ジョインキーレジスタ113
に設定される(第7図(a)処理500→501→50
2)、ハツシュ関数hoを適用し、ho(24)=1と
なり(同503→504→第7図(c)処理521)、
前記メモリアドレスレジスタ(M A R+) 131
に1を設定する。
Step 1: The join key "24" is connected to the selection/control processor 4
4 via path 48 to join key register 113
(Fig. 7(a) Processing 500 → 501 → 50
2), applying the hash function ho, ho(24)=1 (step 503→504→process 521 in FIG. 7(c)),
The memory address register (MAR+) 131
Set 1 to .

HBM181を読出し、制御回路141においてビット
比較の結果(第7(C)処理522)、前記HB M 
181の1番地に既にビットが設定されているので、当
該ジョインキー「24」と一致する可能性があると考え
られる。前述のハツシュ関数hOの評価値“1″は1.
制御回路141から出力される制御信号によって、前記
出力アドレスレジスタ100に設定される(同523)
、該アドレス情報は、経路48を介して、前記選択・制
御プロセッサ44に転送される。
The HBM 181 is read out, and the result of bit comparison in the control circuit 141 (seventh (C) process 522) is
Since the bit has already been set at address 1 of 181, it is considered that there is a possibility that it matches the join key "24". The evaluation value "1" of the hash function hO mentioned above is 1.
Set in the output address register 100 by the control signal output from the control circuit 141 (523)
, the address information is transferred via path 48 to the selection and control processor 44 .

ステップ2: 上記選択・制約プロセッサ44から経路48を介して、
デコーダ190にeofであることを示す指定が行われ
る(第7図(a)処理501→506)。
Step 2: From the selection and constraint processor 44 via path 48,
A designation indicating eof is made to the decoder 190 (processing 501→506 in FIG. 7(a)).

以上、フローチャートに従って、処理手順を説明した。The processing procedure has been explained above according to the flowchart.

上記チェック動作およびフィルタリング動作は、並列に
動作し得ることは前述の通りである。
As mentioned above, the above checking operation and filtering operation can be performed in parallel.

本実施例によれば、コンフリクトが最小となるハツシュ
関数を適用した結果得られたアドレス情報を用いること
によって、主記憶装置上のジョイン処理を効率良く実現
できるので、結合演算等の高速化が達成できる。
According to this embodiment, by using the address information obtained as a result of applying the hash function that minimizes the conflict, it is possible to efficiently implement join processing on the main storage device, thereby achieving speeding up of join operations, etc. can.

本実施例に示した技術は、ハツシュ技法を用いた結合処
理における基本演算である一致処理に適用することも可
能である。
The technique shown in this embodiment can also be applied to matching processing, which is a basic operation in join processing using the hash technique.

〔発明の効果〕〔Effect of the invention〕

以上述べた如く1本発明によれば、下記の如き効果を得
ることができる。
As described above, according to the present invention, the following effects can be obtained.

(1)HBMとHP Mおよび複数のハツシュ関数を用
いることにより、ハツシュ法に基づくサーチ処理を、低
コストで達成可能なサーチ処理装置を実現すること (2)同じくハツシュ法に基づくフィルタリングおよび
ジョイン処理を専用に行うプロセッサを用いることによ
り、突き合せ処理を0(1)で達成可能な、低コストの
ジョイン処理装置を実現するこ。
(1) By using HBM, HP M, and multiple hash functions, we can realize a search processing device that can perform search processing based on the hashish method at low cost. (2) Filtering and join processing also based on the hashish method To realize a low-cost join processing device that can accomplish matching processing in 0(1) by using a processor dedicated to the processing.

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

第1図は本発明の一実施例であるサーチ処理装置の構成
図、第2図(a)〜(d)はその動作フローチャート、
第3図は本発明の他の実施例であるジョイン処理装置の
構成図、第4図は本実施例の適用対象であるデータベー
スシステムを示す図。 第5図はそのハードウェア構成図、第6図はその要部で
あるインテリジェントファイル制御装置の詳細な構成を
示す図、第7図(a)〜(d)は動作フローチャートで
ある。 10:サーチ処理装置、120,121:ハツシュ生成
器、170;ハツシュ化ビットマツプ、180:ハツシ
ュプロダクト記憶、200:サーチ処理、210:初期
化、220:セット動作。 230:サーチ動作、45;ジョイン処理装置。 30:中央処理装置、31:チャネル制御装置、32:
インテリジェントファイル制御装置、44:選択・制約
プロセッサ、46:ハツシュ化ビットマツプ。 序7図 籐2目 (九) 第212Il (L)               uL)第ψ目 第夕目 第2図 1 K33へ 第7目 (え) 第7図
FIG. 1 is a configuration diagram of a search processing device which is an embodiment of the present invention, and FIGS. 2(a) to (d) are its operation flowcharts.
FIG. 3 is a block diagram of a join processing device according to another embodiment of the present invention, and FIG. 4 is a diagram showing a database system to which this embodiment is applied. FIG. 5 is a diagram showing the hardware configuration thereof, FIG. 6 is a diagram showing the detailed configuration of the intelligent file control device which is the main part thereof, and FIGS. 7(a) to (d) are operational flowcharts. 10: search processing device, 120, 121: hash generator, 170: hashed bitmap, 180: hashed product storage, 200: search processing, 210: initialization, 220: set operation. 230: Search operation, 45: Join processing device. 30: Central processing unit, 31: Channel control device, 32:
Intelligent file controller, 44: Selection/constraint processor, 46: Hashing bitmap. Introduction Figure 7 Rattan 2nd eye (9) 212Il (L) uL) ψth evening eye Figure 2 1 To K33 7th eye (E) Figure 7

Claims (1)

【特許請求の範囲】 1、一方のデータ列(キーワード列)に、他方のデータ
列(サーチキー列)が含まれているか否かをチェックす
るための、前記キーワード列およびサーチキー列を順次
入力する手段と、前記サーチキー列に予め用意されてい
るハッシュ関数を適用した評価値を出力する手段と、ハ
ッシュ化ビットマップ演算処理対象であるハッシュ化ビ
ットマップを格納する手段と、前記キーワード列に予め
用意されているハッシュ関数を適用した評価値の論理積
を格納する手段とを有するデータ処理装置において、複
数のハッシュ関数を用意するとともに、下記の各手段を
設けたことを特徴とするデータ処理置。 (1)前記キーワード列に予め用意されている一方のハ
ッシュ関数を適用してハッシュ化ビットマップを作成し
、同時に前記キーワード列に予め用意されている他方の
ハッシュ関数を適用してハッシュプロダクト記憶を作成
する手段 (2)前記キーワード列に予め用意されている前記一方
のハッシュ関数を適用するハッシュ化ビットマップを用
い、前記サーチキー列に当該ハッシュ関数を適用した評
価値によって番地付けされた前記ハッシュ化ビットマッ
プ上の番地の内容が既にセットされているか否かをチェ
ックする手段 (3)前記キーワード列に予め用意されている前記他方
のハッシュ関数を適用するハッシュプロダクト記憶を用
いて前記番地付けされた前記ハッシュプロダクト記憶の
否定と、前記サーチキー列の各データに予め用意されて
いる前記他方のハッシュ関数を適用した結果との論理和
を行う手段 2、前記キーワード列およびサーチキー列の各データが
親子関係を有し、前記キーワード列およびサーチキー列
を順次入力する手段が、親になるキーを入力する手段と
子になるキーを入力する手段とから構成され、前記サー
チキー列に予め用意されているハッシュ関数を適用した
評価値を出力する手段が、前記親になるキーの評価値を
出力する手段であることを特徴とする、特許請求の範囲
第1項記載のデータ処理装置。 3、ビットマップ演算処理対象である複数のハッシュ化
ビットマップを格納する手段と、予め用意されている複
数のハッシュ関数が適用されるジョインキーを順次入力
する手段と、前記ジョインキーに予め用意されている複
数のハッシュ関数を適用した評価値を出力する手段とを
有するデータ処理装置において、下記の各手段を設けた
ことを特徴とするデータ処理装置。 (1)複数のハッシュ関数を適用し、前記ハッシュ化ビ
ットマップを作成した結果、コンフリクトが最小となる
ハッシュ関数を決定する手段 (2)前記で決定したハッシュ関数および該ハッシュ関
数に基づくハッシュ化ビットマップを用いて、当該ハッ
シュ関数評価値によって番地付けされた前記ハッシュ化
ビットマップ上の番地の内容が既にセットされているか
否かをチェックし、チェック結果から前記ジョインキー
と一致する可能性があると判断された場合、ジョインキ
ーのハッシュ関数評価値を出力する手段
[Claims] 1. Sequentially inputting the keyword string and search key string to check whether one data string (keyword string) includes the other data string (search key string). means for outputting an evaluation value obtained by applying a hash function prepared in advance to the search key string; means for storing a hashed bitmap to be subjected to hashed bitmap calculation processing; A data processing device having a means for storing a logical product of evaluation values obtained by applying hash functions prepared in advance, the data processing device being characterized in that a plurality of hash functions are prepared and each of the following means is provided. Place. (1) Apply one hash function prepared in advance to the keyword string to create a hashed bitmap, and at the same time apply the other hash function prepared in advance to the keyword string to store hash products. Means for Creating (2) Using a hashed bitmap in which one of the hash functions prepared in advance is applied to the keyword string, the hash is assigned an address by the evaluation value obtained by applying the hash function to the search key string. (3) means for checking whether the contents of the address on the bitmap have already been set; means 2 for performing a logical OR between the negation of the hash product storage and the result of applying the other hash function prepared in advance to each data in the search key string, each data in the keyword string and the search key string; has a parent-child relationship, and the means for sequentially inputting the keyword string and the search key string includes a means for inputting a parent key and a means for inputting a child key, and the means for inputting the keyword string and the search key string in sequence includes a means for inputting a parent key and a means for inputting a child key. 2. The data processing apparatus according to claim 1, wherein the means for outputting the evaluation value obtained by applying the hash function is a means for outputting the evaluation value of the parent key. 3. means for storing a plurality of hashed bitmaps to be subjected to bitmap calculation processing; means for sequentially inputting join keys to which a plurality of pre-prepared hash functions are applied; 1. A data processing device comprising means for outputting an evaluation value obtained by applying a plurality of hash functions. (1) Means for determining a hash function that minimizes conflict as a result of applying a plurality of hash functions to create the hashed bitmap. (2) The hash function determined above and hashed bits based on the hash function. Using a map, it is checked whether the contents of the address on the hashed bitmap that is numbered by the hash function evaluation value has already been set, and based on the check result, there is a possibility that it matches the join key. If it is determined that the hash function evaluation value of the join key is output.
JP62104245A 1987-04-30 1987-04-30 Data processing device Expired - Fee Related JP2753228B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62104245A JP2753228B2 (en) 1987-04-30 1987-04-30 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62104245A JP2753228B2 (en) 1987-04-30 1987-04-30 Data processing device

Publications (2)

Publication Number Publication Date
JPS63271525A true JPS63271525A (en) 1988-11-09
JP2753228B2 JP2753228B2 (en) 1998-05-18

Family

ID=14375560

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62104245A Expired - Fee Related JP2753228B2 (en) 1987-04-30 1987-04-30 Data processing device

Country Status (1)

Country Link
JP (1) JP2753228B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012503256A (en) * 2008-09-19 2012-02-02 オラクル・インターナショナル・コーポレイション Hash join using collaborative parallel filtering in intelligent storage with offloaded Bloom filters
EP3236369A1 (en) 2016-04-18 2017-10-25 Fujitsu Limited Index generation program, index generation device and index generation method, search program
US10324963B2 (en) 2015-10-09 2019-06-18 Fujitsu Limited Index creating device, index creating method, search device, search method, and computer-readable recording medium

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012503256A (en) * 2008-09-19 2012-02-02 オラクル・インターナショナル・コーポレイション Hash join using collaborative parallel filtering in intelligent storage with offloaded Bloom filters
US10324963B2 (en) 2015-10-09 2019-06-18 Fujitsu Limited Index creating device, index creating method, search device, search method, and computer-readable recording medium
EP3236369A1 (en) 2016-04-18 2017-10-25 Fujitsu Limited Index generation program, index generation device and index generation method, search program
EP3770770A1 (en) 2016-04-18 2021-01-27 Fujitsu Limited Index generation program, index generation device and index generation method, search program
US11080234B2 (en) 2016-04-18 2021-08-03 Fujitsu Limited Computer readable recording medium for index generation

Also Published As

Publication number Publication date
JP2753228B2 (en) 1998-05-18

Similar Documents

Publication Publication Date Title
US5497488A (en) System for parallel string search with a function-directed parallel collation of a first partition of each string followed by matching of second partitions
JPH05128164A (en) Data base processing device
US20130097599A1 (en) Resuming execution of an execution plan in a virtual machine
EP4022459B1 (en) Materialized view rewrite technique for one-sided outer-join queries
US20070194957A1 (en) Search apparatus and search management method for fixed-length data
US20180300330A1 (en) Proactive spilling of probe records in hybrid hash join
Salami et al. AxleDB: A novel programmable query processing platform on FPGA
WO2003017136A1 (en) Using associative memory to perform database operations
EP3224740A1 (en) Systems and methods for providing distributed tree traversal using hardware-based processing
Chen et al. On-the-fly parallel data shuffling for graph processing on OpenCL-based FPGAs
EP3688551B1 (en) Boomerang join: a network efficient, late-materialized, distributed join technique
Werner et al. Hardware-accelerated join processing in large Semantic Web databases with FPGAs
US20230161765A1 (en) System and method for disjunctive joins using a lookup table
US20060112393A1 (en) Hardware device for processing the tasks of an algorithm in parallel
Ueda et al. A dynamically reconfigurable equi-joiner on FPGA
CN116599892B (en) Server system, routing method, routing device, electronic equipment and storage medium
Werner et al. Accelerated join evaluation in Semantic Web databases by using FPGAs
JPS63271525A (en) Data processor
US20230205769A1 (en) System and method for disjunctive joins
US6842750B2 (en) Symbolic simulation driven netlist simplification
Werner et al. Automated composition and execution of hardware-accelerated operator graphs
US11409746B2 (en) Method and apparatus for processing query using N-ary join operators
Gurumurthy et al. ADAMANT: A Query Executor with Plug-In Interfaces for Easy Co-processor Integration
Kravets Application of a Key–Value Paradigm to Logic Factoring
CN118103829A (en) Hardware-implemented pipelined database query processing

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees