JPS62210537A - Device and method for search processing - Google Patents

Device and method for search processing

Info

Publication number
JPS62210537A
JPS62210537A JP61052438A JP5243886A JPS62210537A JP S62210537 A JPS62210537 A JP S62210537A JP 61052438 A JP61052438 A JP 61052438A JP 5243886 A JP5243886 A JP 5243886A JP S62210537 A JPS62210537 A JP S62210537A
Authority
JP
Japan
Prior art keywords
search key
keyword
search
address
equal
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.)
Pending
Application number
JP61052438A
Other languages
Japanese (ja)
Inventor
Masashi Tsuchida
正士 土田
Akira Yamamoto
彰 山本
Tadashi Osone
匡 大曽根
Kazuhiro Sato
和洋 佐藤
Kazuhiko Omachi
大町 一彦
Shinichi Fukushima
福嶋 慎一
Yoshiaki Yamashita
山下 芳明
Nobuhiro Taniguchi
谷口 伸博
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 JP61052438A priority Critical patent/JPS62210537A/en
Publication of JPS62210537A publication Critical patent/JPS62210537A/en
Priority to US07/418,343 priority patent/US4967341A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To obtain a pertinent storage range with one search processing by obtaining a maximum address in an area where keywords smaller than or equal to a search key are stored. CONSTITUTION:Keywords '2'-'19' are stored in addresses 1-7 of a keyword array 60. If the search key is '10', procedures of tracing of a binary tree (BT) in the search processing are indicated by a solid line and a continuous line. A maximum address out of addresses where keywords smaller than the search key are stored is obtained along the continuous line, and that of addresses where keywords smaller than or equal to the search key is obtained along the broken line. The BT is traced left, right, and left along the continuous line, and '0' and '1' are allowed to correspond to left and right respectively to find that the keyword equal to the search key is stored in an address higher than address 0102=2. The BT is traced right, left, and left along the broken line, and '0' and '1' are allowed to correspond to left and right respectively to find that the keyword equal to the search key is stored address 100=4 or preceding addresses.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データベース処理、あるいはファイル処理な
どの専用ハードウェアなどに最適なサーチ処理方式に関
するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a search processing method that is optimal for dedicated hardware such as database processing or file processing.

〔従来の技術〕[Conventional technology]

データベース処理、あるいはファイル処理においてサー
チ処理は基本演算である。サーチ処理は、非常に処理頻
度が高く、かつ処理負荷も比較的高いので、当該サーチ
処理の高速化は重要である。
Search processing is a basic operation in database processing or file processing. Since search processing is performed very frequently and has a relatively high processing load, it is important to speed up the search processing.

ソフトウェアによってサーチ処理を実現すると。Search processing is realized by software.

専用ハードウェアで当該処理をサポートするものと比較
して、データの比較、データ構造の操作等処理の効率が
劣化し、汎用コンピュータでは低効率にならざるを得な
い。
Compared to those that support the processing with dedicated hardware, the efficiency of processing such as data comparison and data structure manipulation is degraded, and a general-purpose computer has no choice but to be inefficient.

そこで、LSI技術の発展とともに比較的低コストでL
Siチップを開発できる現在、サーチ処理専用ハードウ
ェアを開発し、ハードウェアでサーチ処理を高速化する
方法が提案されている。田中他:パイプラインサーチン
グアンドソーティングモジュールズアズコンポーネンツ
オブアデータ フローコンピュータ(T anaka 
Y 、 。
Therefore, with the development of LSI technology, LSI technology has been developed at a relatively low cost.
Now that Si chips can be developed, methods have been proposed to develop hardware dedicated to search processing and speed up search processing using hardware. Tanaka et al.: Pipeline Search and Sorting Modules as Components of Data Flow Computer (Tanaka et al.
Y.

et、al、、 Pipeline Searchin
g and SortingModules  as 
 Components  of  a  Dat、a
flowGo+mputer、  I F I P  
Congress 80’。
et, al,, Pipeline Searchin
g and SortingModules as
Components of a Dat,a
flowGo+mputer, I F I P
Congress 80'.

Pp、427−432.oct、 1980 、フォス
ター著:コンテントアドレッサブルプロセッサーズ(F
oster、 C,C,、Contant Addre
ssableParallel Processors
、 Van No5trandReinhold、  
1976 ) ) @また、これに関しては同一出願人
の先願、特願昭59−173310がある。
Pp, 427-432. oct, 1980, by Foster: Content Addressable Processors (F
oster, C,C,,Contant Addre
ssableParallel Processors
, Van No5trandReinhold,
1976 ) ) @ Also, regarding this, there is an earlier application by the same applicant, Japanese Patent Application No. 173310/1983.

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

キーワード列に対するサーチ処理において、2分法に基
づくサーチ技法は従来までよく知られている。しかし、
上記サーチ技法においては、当該キーワード列に重複が
ある場合については考慮されていなかった。たとえば、
集合演算処理におい’ −C,!;t02つ、7)*−
ワーFFJカ、’is++=−1!tアニロいは部分的
に一致(いわゆる包含関係)をチェックする、及び当該
集合演算処理でマツチングする個数をチェックする場合
、当該キーワード列に重複が存在すると考えられる。ま
た、結合処理も、重複するキー値集合間で実行されるこ
とが多いと考えられる。これらの演算において、サーチ
処理は基本演算であって、利用頻度が高い、従来までは
、サーチ処理を2回実行し格納範囲を求めるか、サーチ
処理を1回実行後、シーケンシャルに格納範囲を決定す
ることで対応していた。
In search processing for keyword strings, search techniques based on dichotomy have been well known. but,
The above search technique does not take into consideration the case where there is duplication in the keyword string. for example,
In set operation processing '-C,! ;t02, 7)*-
FFJ Ka,'is++=-1! When checking a partial match (so-called inclusion relationship) or checking the number of matching items in the set calculation process, it is considered that there is overlap in the keyword string. Furthermore, it is considered that join processing is often performed between overlapping key value sets. In these operations, search processing is a basic operation and is used frequently. Conventionally, search processing was executed twice to determine the storage range, or search processing was executed once and then the storage range was determined sequentially. I responded by doing this.

そこで、本発明の目的は、1回のサーチ処理で当該格納
範囲を求めることにある。。
Therefore, an object of the present invention is to obtain the storage range in one search process. .

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

サーチ処理対象であるキーワード列は、昇順あるいは降
順に整列されて格納されている。以下では、キーワード
列が昇順に整列されて格納されていると仮定して議論す
る。当該キーワード列は線型な番地付けが行われる記憶
構造の一実現例であり、たとえば同一出願人の先願特願
昭60−173310号明細書に開示されているように
特殊な記憶構造(メモリバンク構造)を採用していない
。1回のサーチ処理で当該格納範囲を求めるために、当
該キーワード列を格納する領域をmビットで番地付けし
、当該mビットの上位から順に、当該対象ビットに1を
設定し、当該mビットによって指定されたキーワード列
の格納番地のキーワードと当該サーチキーとの比較処理
の結果、サーチキーの方が大であれば当該対象ビットを
1に。
Keyword strings to be searched are arranged and stored in ascending or descending order. In the following discussion, it is assumed that the keyword strings are arranged and stored in ascending order. The keyword string is an implementation example of a memory structure in which linear addressing is performed, and for example, a special memory structure (memory bank structure) is not adopted. In order to find the storage range in one search process, address the area where the keyword string is stored using m bits, set 1 to the target bit in order from the high order of the m bits, and As a result of comparison processing between the keyword at the storage address of the specified keyword string and the search key, if the search key is larger, the target bit is set to 1.

それ以外であれば0に設定し、当該サーチキーより小と
いう関係を満たす当該キーワードを格納する領域で最大
の番地を得る処理と、当該mビットの上位から順に、当
該対象ビットに1を設定し、」該mビットによって指定
されたキーワード列の格納番地のキーワードと当該サー
チキーとの比較処理の結果、サーチキーの方が等しいか
大であればOに設定し、当該サーチキーより小か等しい
という関係を満たすキーワードを格納する領域で最大の
番地を得る処理とを並列に実行するもあである。
Otherwise, set it to 0, obtain the largest address in the area that stores the keyword that satisfies the relationship that it is smaller than the search key, and set 1 to the target bits in order from the high order of the m bits. , "As a result of comparing the keyword at the storage address of the keyword string specified by the m bit with the search key, if the search key is equal to or greater than the search key, set it to O, and set it to O, and set it to O. This is a method that executes in parallel the process of obtaining the maximum address in the area that stores keywords that satisfy the following relationship.

〔作用〕[Effect]

当該サーチ処理装置では、当該サーチキーより小という
関係を満たすキーワードを格納する領域で最大の番地を
求める処理と当該サーチキーより小か等しいという関係
を満たすキーワードを格納する領域で最大の番地を求め
る処理とを並列に実行させることによって、1回のサー
チ処理で格納範囲を求めることが可能である。
In the search processing device, the process of finding the largest address in the area that stores keywords that satisfy the relationship of being less than or equal to the search key, and the process of finding the largest address in the area that stores keywords that satisfy the relationship of being less than or equal to the search key. By executing these processes in parallel, it is possible to obtain the storage range in one search process.

また、キーワードを番地付けするために、キーワード、
とサーチキーとの比較処理の出力フラグをビット操作に
よって設定する簡単な機構にした。
Also, in order to number keywords, keywords,
A simple mechanism is used to set the output flag of the comparison process between the search key and the search key by bit manipulation.

ソレニヨって、2つの比較器、2つのアドレスレジスタ
及びビット操作回路だけで当該サーチ処理が実現可能と
なった。
With the Solenoid, the search process can be accomplished using only two comparators, two address registers, and a bit manipulation circuit.

〔実施例〕〔Example〕

以下1本発明の一実施例を詳細に説明する。 An embodiment of the present invention will be described in detail below.

第1図は、インタバルサーチエンジン(以下略してiS
Eと書く)の構成図を示すためのものであ6.1SE5
5は、本発明の特徴を示すのに最適であるが、後で詳し
く述べる。
Figure 1 shows the interval search engine (hereinafter abbreviated as iS).
This is to show the configuration diagram of 6.1SE5 (written as E).
5 is most suitable for showing the features of the present invention, and will be described in detail later.

第2図は゛1本発明が適用されるデータベースシステム
の一例の概要を示す、データベースシステムは、ユーザ
等から入力される問合せの入力、及び問合せを処理した
結果の出方を実行する入出力部20と1間合せ処理、リ
ソース管理等データベース全体の管理を行うDBMS2
1と、データベース処理対象となるデータを格納するデ
ータベース22とから構成される。DBMS21は、シ
ステム全体の管理・制御に加えて入出力の管理を行うシ
ステム制御部23と、問合せの構文解析・意味解析を行
う間合せ解析部241及び適切な内部処理手順を生成す
る最適化部242及び内部コードの生成・当該コードの
解釈実行を行うコード生成論理処理実行部243がら成
る論理処理部24と、当該DBMSで処理対象となるデ
ータを格納するデータベースバッファ26を管理対象と
するバッファ制御部251等データベースの物理処理を
実行する物理処理部25とから成る。
FIG. 2 shows an overview of an example of a database system to which the present invention is applied. 1 DBMS 2 manages the entire database such as alignment processing and resource management
1, and a database 22 that stores data to be processed by the database. The DBMS 21 includes a system control unit 23 that manages input and output in addition to managing and controlling the entire system, a timing analysis unit 241 that performs syntactic and semantic analysis of queries, and an optimization unit that generates appropriate internal processing procedures. 242 and a code generation logic processing execution unit 243 that generates internal code and interprets and executes the code; and buffer control that manages the database buffer 26 that stores data to be processed by the DBMS. 251 and a physical processing section 25 that executes physical processing of the database.

第3図は、第2図に示すDBMS21が実現される一形
態を示す、中央処理装置I(以下略してcpuと書く)
30とインテリジェントファイル制御装置(以下略して
iFCと書く)31とディスク32から成るものとする
a c p u 30には、データベースバッファ26
を管理するDBMS21が設定される。1FC31には
、共用バッファ34が含まれる。ディスク(以下略して
DKと書く)32には、データベース22が格納される
FIG. 3 shows a central processing unit I (hereinafter abbreviated as cpu) showing one form in which the DBMS 21 shown in FIG. 2 is realized.
30, an intelligent file control device (hereinafter abbreviated as iFC) 31, and a disk 32.
A DBMS 21 is set up to manage the . 1FC31 includes a shared buffer 34. A database 22 is stored on a disk (hereinafter abbreviated as DK) 32 .

この形態では、すべてのデータベース処理をcpu30
上に実現されているDBMS21が行う方式とは異なる
ことを示している。すなわち。
In this form, all database processing is performed on the CPU30.
This shows that this method is different from the method used by the DBMS 21 implemented above. Namely.

データベース処理のうち、DBMS21のコード生成論
理処理実行部243で生成する内部処理コードに対応す
る関係代数演算(選択・制約、射影。
Among database processing, relational algebraic operations (selection/constraints, projection, etc.) corresponding to internal processing codes generated by the code generation logic processing execution unit 243 of the DBMS 21 are performed.

結合等諸演算)を、1Fc31で機能分担するものであ
る。この構成は、いわゆる入出力装置に各種演算機能を
付加するもの(例えば、フィルタリング処理装置)に相
当し、従来方式として知られている。その基本的な動作
を、以下に示す。
Various operations such as combination) are shared among the 1Fc31. This configuration corresponds to what is called an input/output device that adds various arithmetic functions (for example, a filtering processing device), and is known as a conventional system. Its basic operation is shown below.

1)ユーザが入力した問合せをDBMS21で解析し、
演算処理手順を決定する。
1) Analyze the query entered by the user with DBMS21,
Determine the calculation processing procedure.

2)手順に従って、関係代数演算を切出しi Fe21
に処理要求を発行する。
2) Follow the steps to cut out the relational algebra operations i Fe21
Issue a processing request to.

3)処理要求を解釈し、ディスク32に対して物理入出
力要求を発行する。データベース22はベースリレーシ
ョンであり、当該管理単位であるページがディスク32
の回転に同期して読込まれ、共用バッファ34に設定さ
れる。
3) Interpret the processing request and issue a physical I/O request to the disk 32. The database 22 is a base relation, and the page that is the management unit is the disk 32.
is read in synchronization with the rotation of and set in the shared buffer 34.

4)共用バッファ34のデータに対して、選択・制約、
射影、結合等演算を行い、フィルタリング処理を行う。
4) Selection/constraints on the data in the shared buffer 34;
Performs operations such as projection and combination, and performs filtering processing.

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

6)DBMS21は、当該処理結果を加工してユーザへ
間合せ結果を出力する。
6) The DBMS 21 processes the processing results and outputs the adjustment results to the user.

上記処理のうち、3)、4)、5)がオーバラップして
実行する(いわゆるオンザフライ処理)。
Of the above processes, 3), 4), and 5) are executed in an overlapping manner (so-called on-the-fly processing).

及びオーバラップせずに実行する方法は、従来からよく
知られている。
Methods for performing this and non-overlapping operations are well known in the art.

第4図は、本発明が実現されるハードウェア構成を示す
ものである。具体的には、主記憶(以下略してMMと書
く)44を保持するcpu30と、入出力制御を行うチ
ャネル装置(以下略してCHuと?<)41と、データ
ベース処理において選択・制約、射影、結合演算の対象
となるデータを設定するローカル記憶(以下略してLM
と書く)45を保持するi Fe21と、ディスク(以
下略してDKと書く)32とから成るシステムを考える
。1Fc31とDK32との間では、相対ブロックアド
レス及び入出力データが転送され、経路49が用いられ
る。CHu41と1Fc31との間では、フィルタリン
グ処理結果等が転送され、経路48が用いられる。さら
に、経路47は、cpu30とeHu41との間のデー
タ転送、及び制御情報交換のために用いられる。経p1
47及び48とも、個々複数のCHu及びiFCが結合
されでもかまわない、たとえば、CHu及びiFCが一
体となる構成も、−変形のシステム構成であるとしても
一般性を失わない、以下では、cpu、cHu、iFC
及びDKが各1ユニツトで構成されるシステムで議論す
る。
FIG. 4 shows a hardware configuration for realizing the present invention. Specifically, the CPU 30 holds a main memory (hereinafter abbreviated as MM) 44, the channel device (hereinafter abbreviated as CHu) 41 that performs input/output control, and the database processing includes selection/constraint, projection, Local memory (hereinafter abbreviated as LM) for setting data to be subjected to join operations
Consider a system consisting of an iFe 21 that holds a disk (hereinafter abbreviated as DK) 45 and a disk (hereinafter abbreviated as DK) 32. The relative block address and input/output data are transferred between the 1Fc31 and the DK32, and the path 49 is used. Filtering processing results and the like are transferred between the CHu 41 and the 1Fc 31, and the path 48 is used. Further, the path 47 is used for data transfer and control information exchange between the CPU 30 and the eHu 41. Sutra p1
47 and 48, a plurality of individual CHus and iFCs may be combined. For example, a configuration in which CHus and iFCs are integrated, or a modified system configuration does not lose generality. In the following, cpu, cHu, iFC
We will discuss a system in which DK and DK each consist of one unit.

第5図は、1Fc31のブロック構成を具体的に示すた
めのものである。1FC31は、CHu41とは経路4
8を介して、DK32とは経路 。
FIG. 5 is for specifically showing the block configuration of 1Fc31. 1FC31 is route 4 with CHu41
8 through the DK32 pathway.

49を介して結合されている。1FC31は、射影プロ
セッサ(以下略してPRPと書く)50と、CHu41
とのインタフェースを分担するチャネルプロセッサ(以
下略してCHPとt<)51と、当該1Fc31の処理
対象となるデータを格納するLM52と、DK32との
インタフェースを分担するファイル制御プロセッサ(以
下略してFCPと書く)53と1選択・制御プロセッサ
(以下略してR8Pと書く)54と、結合演算を分担す
るインタバルサーチエンジン(以下略してisEと書く
)55と、1SE55のサーチ対象であるソートされた
キーワードを格納するサーヂバッファ(以下略してSB
と?<)56とから成る。経路570は、CHP51.
PRP50.及びFCP53とを結合し、フィルタリン
グ処理対象でないデータの転送経路である。経路571
は、PRP50.CHP51.LM52.FCP53゜
R5P54.及び1SE55とを結合し、フィルタリン
グ処理対象となるデータの転送経路である。
49. 1FC31 includes a projection processor (hereinafter abbreviated as PRP) 50 and CHu41.
A channel processor (hereinafter abbreviated as CHP) 51 that shares the interface with the 1Fc31, an LM52 that stores data to be processed by the 1Fc31, and a file control processor (hereinafter abbreviated as FCP) that shares the interface with the DK32. ) 53, 1 selection/control processor (hereinafter abbreviated as R8P) 54, an interval search engine (hereinafter abbreviated as isE) 55 which performs the join operation, and 1SE55's search target, ie, sorted keywords. Surge buffer (hereinafter abbreviated as SB) to store
and? <)56. Path 570 is CHP51.
PRP50. and FCP 53, and is a transfer route for data that is not subject to filtering processing. route 571
is PRP50. CHP51. LM52. FCP53°R5P54. and 1SE55, and is a transfer route for data to be subjected to filtering processing.

次に、結合演算を分担するiSEの詳細について述べる
Next, details of the iSE that performs the join operation will be described.

iSEは、サーチ処理を高速に行う、サーチ対象のデー
タであるキーワードは、昇順に、あるいは降順に整列し
ている。ここでは、昇順に整列しているとする。サーチ
処理とは、予めキーワードを格納しておき、キーワード
とサーチキーとの比較処理を行い、サーチキーと一致す
るキーワード格納アドレスの範囲を求めることである。
iSE performs search processing at high speed, and keywords, which are data to be searched, are arranged in ascending order or descending order. Here, it is assumed that they are arranged in ascending order. Search processing means storing keywords in advance, performing comparison processing between the keywords and the search key, and finding a range of keyword storage addresses that match the search key.

第6図は、サーチ処理過程を示すためのものである。キ
ーワード列60は、第6図(a)に示すように昇順に格
納されている。この例では、キーワードを1番地から7
番地まで、2,6,10゜10.11,15.19を格
納している。以下、サーチ処理過程を第6図(b)を用
いて説明する。
FIG. 6 is for showing the search processing process. The keyword string 60 is stored in ascending order as shown in FIG. 6(a). In this example, the keywords are from address 1 to 7.
Up to the address, 2, 6, 10°, 10.11, 15.19 are stored. The search processing process will be explained below using FIG. 6(b).

キーワードが格納されている番地を()内に示し、(a
)と(b)との対応を表わす。ここで示すサーチ方法は
、基本的に2分法である。そこで。
The address where the keyword is stored is shown in parentheses, and (a
) and (b). The search method shown here is basically a dichotomy method. Therefore.

サーチ処理過程を示すのに、2通力(以下略してBTと
書く)を用いるのが最適である。この例では、BTの深
さ、いわゆるレベルは3である。したがって、サーチ処
理回数は、3回である。また、第ルベルにlO5第2レ
ベルに6.15.第3レベルに2.10,11.19を
格納している。
The best way to describe the search process is to use the term BT (hereinafter abbreviated as BT). In this example, the depth of the BT, the so-called level, is 3. Therefore, the number of search processing times is three. In addition, 6.15. 2.10 and 11.19 are stored in the third level.

具体的に、iSHのサーチ処理過程を示す、BTのルー
トノード、すなわち第6図(b)の第ルベルから始め、
リーフノードへ向って進み、結果としてサーチキーと等
しいキーワードを持つ番地の範囲を求める。第6図(b
)は、サーチキーがIOの場合、サーチ処理においてB
Tを辿る手順を実線及び破線で示す、実線は、サーチキ
ーより小という関係を満たすキーワードを持つ番地で最
大のものを求める過程を示し、破線は、サーチキーより
小か等しいという関係を満たすキーワードを持つ番地で
最大のものを求める過程を示す。実線では、第ルベルの
キーワード1oと、サーチキー10との比較処理の結果
、サーチキーと等しいので、BTの左側を辿る。次に、
第2レベルのキーワード6とサーチキー1oとの比較処
理の結果、サーチキーの方が大であるので、BTの右側
を辿る。最後に、第3レベルのキーワード10とサーチ
キー10との比較処理の結果、サーチキーと等しいので
、BTの左側を辿る。この結果、BTを左、右、左と辿
り、左にC9右に1を対応させることにより、0102
(=2)番地より上位番地にサーチキーと等しいキーワ
ードを格納していることが分る。このアドレスを左境界
と呼ぶ。
Specifically, starting from the root node of BT, that is, the first rubel in FIG. 6(b), which shows the search process of iSH,
Proceed toward the leaf nodes and find the range of addresses that have the same keyword as the search key. Figure 6 (b
) is B in the search process when the search key is IO.
The procedure for tracing T is shown by solid and broken lines. The solid line shows the process of finding the largest address with a keyword that satisfies the relationship of being less than the search key, and the dashed line shows the process of finding the largest address that has a keyword that satisfies the relationship of being less than or equal to the search key. The process of finding the largest address with . In the solid line, as a result of the comparison process between the keyword 1o of the th label and the search key 10, it is the same as the search key, so the left side of BT is traced. next,
As a result of the comparison process between the second level keyword 6 and the search key 1o, the search key is larger, so the right side of BT is followed. Finally, as a result of the comparison process between the third level keyword 10 and the search key 10, since they are equal to the search key, the left side of BT is followed. As a result, by tracing BT left, right, left, and associating C9 with the left and 1 with the right, 0102
(=2) It can be seen that a keyword equal to the search key is stored at an address higher than the address. This address is called the left boundary.

同様にして、破線では、第ルベルのキーワードlOとサ
ーチキー10との比較処理の結果、サーチキーと等しい
ので、BTの右側を辿る。次に。
Similarly, on the broken line, as a result of the comparison process between the keyword IO of the th level and the search key 10, it is equal to the search key, so the right side of BT is traced. next.

第2レベルのキーワード15とサーチキー10との比較
処理の結果、サーチキーより大であるので。
As a result of the comparison process between the second level keyword 15 and the search key 10, it is larger than the search key.

BTの左側を辿る。最後に、第3レベルのキーワード1
1とサーチキー10との比較処理の結果。
Follow the left side of BT. Finally, the third level keyword 1
1 and search key 10.

サーチキーより大であるので、BTの左側を辿る。Since it is larger than the search key, follow the left side of BT.

この結果、BTを右、左、左と辿り、左に0.右に1を
対応させることにより、1002 (=4)番地までサ
ーチキーと等しいキーワードを格納していることが分る
。このアドレスを右境界と呼ぶ。
As a result, BT is traced right, left, and left, and 0. By associating 1 to the right, it can be seen that keywords equal to the search key are stored up to address 1002 (=4). This address is called the right boundary.

左境界は、右境界より小か等しいという性質を満たす、
このサーチ処理過程では、3レベルのBTに関するもの
を示したが、nレベルのBTについても同様にして実現
できる。
The left boundary satisfies the property that it is less than or equal to the right boundary,
Although this search processing process has been shown for three-level BTs, it can be implemented similarly for n-level BTs.

以上のサーチ処理過程に従えば、たとえば2−ウェイ結
合T1ヤT2(ただし、T1.T2ともりレーション)
に関して、T1の結合カラムを抽出し、昇順にソートし
た結果(ただし、キー値の重複を許す)をキーワード列
、T2の結合カラムを順次切り出した結果をサーチキー
とみなせば。
According to the above search processing process, for example, 2-way combination T1 and T2 (however, T1.T2 and ration)
Regarding this, if we consider the result of extracting the combined column of T1 and sorting it in ascending order (however, duplication of key values is allowed) as the keyword string, and the result of sequentially cutting out the combined column of T2 as the search key.

当該サーチキーと一致するキーワード格納アドレス範囲
を用いて、θ結合(θ= (=、 hq、≧、〉。
Using the keyword storage address range that matches the search key, θ combination (θ= (=, hq, ≧, 〉).

≦、〈))が実現できる(ただし、マとは、結合演算を
示すオペレータであって、リレーションT、及びT2の
結合カラムをそれぞれcl及びC2とすると、T□、C
1θT、、C2を満足するような 対を表わすものであ
る。) 第7図は、上記左境界及び右境界を決定する処理のフロ
ーチャートを示すためのものである。第7図(a)は、
左境界決定700の全体を、第7図(b)は、右境界決
定710の全体を示す。まず、フローチャートで用いら
れる記法について述べる。サーチキーをSK、左境界を
LB、右境界をRB、LB及びRBを構成するビット数
をn、。
≦, 〈)) can be realized (where Ma is an operator indicating a join operation, and if the join columns of relations T and T2 are cl and C2, respectively,
It represents a pair that satisfies 1θT, , C2. ) FIG. 7 is a flowchart of the process for determining the left boundary and right boundary. Figure 7(a) shows
FIG. 7(b) shows the entire left boundary determination 700, and FIG. 7(b) shows the entire right boundary determination 710. First, the notation used in flowcharts will be described. The search key is SK, the left boundary is LB, the right boundary is RB, and the number of bits making up LB and RB is n.

LB、及びRBJをそれぞれLB及びRBの上位から第
1pJ番目ビット(ただし、0≦ltJ≦n−1)、C
(LB)及びC(RB)をそれぞれLB、R8番地に格
納されているキーワードの内容とする。左境界決定70
0は、i及びLBを0で初期化し、LBの第1番目ビッ
トを1に設定する(701→702)。LBがアドレス
するキーワードの内容とSKとを比較しく703)、S
Kの方が大であれば、LBの第1番目ビットを1に設定
(704)、それ以外であればLBの第i番目ビットを
Oに設定する(705)。次に、iを1だけ増分しく7
06)、iとnとを比較しく707)、iよりnが小で
あれば702へ、それ以外であればLBを出力し終了す
る(708→709)。また、右境界決定710は、j
及びRBを0で初期化し−RBの第j番目ビットを1に
設定する(711→712)。RBがアドレスするキー
ワードの内容とSKとを比較しく713)、SKの方が
等しいか大であれば、RBの第j番目ビットを1に設定
(714)、それ以外であればRBの第jf#目ビット
を0に設定する(715) 。
LB and RBJ are the 1st pJth bit from the higher order of LB and RB (however, 0≦ltJ≦n-1), C
Let (LB) and C(RB) be the contents of the keywords stored at addresses LB and R8, respectively. Left boundary determination 70
0 initializes i and LB with 0 and sets the first bit of LB to 1 (701→702). Compare the content of the keyword addressed by LB with SK703), S
If K is larger, the first bit of LB is set to 1 (704); otherwise, the i-th bit of LB is set to O (705). Then increment i by 1 to 7
06), compare i and n 707), and if n is smaller than i, go to 702, otherwise output LB and end (708→709). In addition, the right boundary determination 710 includes j
and RB is initialized to 0, and the j-th bit of -RB is set to 1 (711→712). Compare the contents of the keyword addressed by RB with SK (713), and if SK is equal or greater, set the j-th bit of RB to 1 (714), otherwise set the j-th bit of RB The #th bit is set to 0 (715).

次に、jを1だけ増分しく716)、jとnとを比較し
く717)、jよりnが小であれば712へ、それ以外
であればRBを出力し終了する(718→719)、上
記サーチ処理過程における左境界決定700及び右境界
決定710は、並列に動作し得るものであり、実fQ 
i S Eでは並列にサーチ処理を行う。
Next, increment j by 1 716), compare j and n 717), if n is smaller than j, go to 712, otherwise output RB and end (718 → 719), The left boundary determination 700 and the right boundary determination 710 in the above search process can operate in parallel, and the actual fQ
i SE performs search processing in parallel.

次に、1SE55の構成について詳細に述べる。Next, the configuration of 1SE55 will be described in detail.

1SE55は、R3P54と経路58を介して、■、M
52等と経路571を介して、及び5B56と経路59
を介して結合されている。経路58は。
1SE55, via R3P54 and route 58,
52 etc. and route 571, and 5B56 and route 59
are connected via. Route 58 is.

R3P54から切出されたサーチキー及びサーチキーと
等しいキーワードが格納されているアドレスの範囲等を
転送するために用いられる。経路571は、昇順にソー
トされたキーワード列を予めサーチ処理前に5B56に
設定するためのデータ転送で用いられる。サーチキーバ
ッファ(以下略してSKBと8<)10は当該サーチキ
ーをラッチするため、左境界出力レジスタ(以下略して
LBORと書<)110及び右境界出力レジスタ(以下
略してRBORと書<)111はサーチキーと等しいキ
ーワードが格納されているアドレスの範囲をRSP54
へ出力するため、左境界アドレスレジスタ(以下略して
LBARと書く)120及び右境界アドレスレジスタ(
以下略してRBARと1J()121はサーチ処理に基
づいてサーチキーと比較処理するべきキーワードのアド
レスを指定するためのものであり、左境界データレジス
タ(以下略してLBDRと書<)130及び右境界デー
タレジスタ(以下略してRBDRと書<)131はLB
AR120及びRBARが指定する5B56上のアドレ
スに入出力するべきデータを保持するためのものであり
、左演算処理ユニット(以下略してLALuと書く)及
び右演算処理ユニット(以下略してRA L uと書く
)はサーチキーとキーワードとを比較処理するためのも
のであり、デコーダ(以下略してDECと書く)150
はRSP54から指定される制御情報を解釈して、LA
Lu 140及びRALu141の機能コード等を設定
するためのものである。
It is used to transfer the search key extracted from R3P54 and the range of addresses in which keywords equal to the search key are stored. The path 571 is used for data transfer to set keyword strings sorted in ascending order in advance in 5B56 before search processing. A search key buffer (hereinafter abbreviated as SKB and 8<) 10 latches the search key, and a left boundary output register (hereinafter abbreviated as LBOR) 110 and a right boundary output register (hereinafter abbreviated as RBOR). 111 indicates the range of addresses where keywords equivalent to the search key are stored in RSP54.
In order to output to the left boundary address register (abbreviated as LBAR below) 120 and right boundary address register (
Hereinafter, RBAR and 1J() 121 are for specifying the address of the keyword to be compared with the search key based on the search process, and the left boundary data register (hereinafter abbreviated as LBDR) 130 and the right Boundary data register (hereinafter abbreviated as RBDR) 131 is LB
It is used to hold data to be input/output to the addresses on the 5B56 specified by the AR120 and RBAR, and is used for the left arithmetic processing unit (hereinafter abbreviated as LALu) and the right arithmetic processing unit (hereinafter abbreviated as RALu). The decoder (hereinafter abbreviated as DEC) 150 is for comparing search keys and keywords.
interprets the control information specified from the RSP54 and
This is for setting the function codes of Lu 140 and RALu 141.

次に、具体的な例を用いて、総合的な説明を行う。例と
しては、第6図(a)に示すキーワード列60が5B5
6に設定されており、かつサーチキーとして10だけが
R3P54から切出されたものとして、第1図、第6図
(a)、及び第7図を参照しつつ説明する。ただし、左
境界及び右境界とも並列に決定され、キーワードとサー
チキーとの比較処理を同期させるものとする。
Next, a comprehensive explanation will be given using a specific example. As an example, the keyword string 60 shown in FIG. 6(a) is 5B5
6, and only 10 is extracted from the R3P54 as a search key.The explanation will be given with reference to FIG. 1, FIG. 6(a), and FIG. 7. However, the left boundary and the right boundary are determined in parallel, and the comparison process between the keyword and the search key is synchronized.

ステップ0: 初期状態として、5B56には、第6図(a)に示すと
おり、1〜7番地までキーワード列(2゜6.10,1
0,11,15.19)が設定されている。また、キー
ワードとサーチキーとの比較回数nは3 (キーワード
の格納数をQとすれば2°−1くQ≦2°を満たすもの
)である。
Step 0: As an initial state, the keyword string (2゜6.10,1
0, 11, 15.19) are set. Further, the number of times n of comparison between a keyword and a search key is 3 (where Q is 2°-1 and Q≦2°, where Q is the number of stored keywords).

RS P 54より経路58を介り、てDEc150に
、サーチ処理開始が指示される。当該DEC150で解
釈し、経路16を介してLALu140及びRALu1
41に機能コードを設定する。また。
The RSP 54 instructs the DEc 150 via a path 58 to start the search process. The DEC 150 interprets it and sends it to LALu 140 and RALu 1 via path 16.
Set the function code to 41. Also.

R3P54より経路58を介して、サーチキー10が5
KBLOに設定される。次に、LBAR120及びRB
ARI 21がOに設定される(701及び711)。
From R3P54 via route 58, search key 10 is
Set to KBLO. Next, LBAR120 and RB
ARI 21 is set to O (701 and 711).

左境界決定700のi及び右境界決定710のjは、お
のおのLALu140  RALu141で増分9判断
できるとする。ここでは、自情報を1+Jで示す。
It is assumed that i in the left boundary determination 700 and j in the right boundary determination 710 can be determined in increments of 9 by LALu 140 and RALu 141, respectively. Here, self information is indicated as 1+J.

当該ステップでは、l+Jは0である。In this step, l+J is 0.

ステップ1: LBAR120のり第0番目ビットに1を設定(LBA
R= 100□ (=4)番地)する(702)。SK
B l Oよりサーチキー10をLALu 140へ入
力する。5B56よりLBARI 20 (=4番地)
の内容10をLBDR130に読出す、LBDRl 3
0よりキーワード10をLALu140八入力する。
Step 1: Set 1 to the 0th bit of LBAR120 (LBA
R=100□ (=4) address) (702). S.K.
Enter the search key 10 into the LALu 140 from BlO. LBARI 20 (=4th address) from 5B56
Read the contents 10 of LBDR130 to LBDR130
Input keyword 10 from LALu1408.

LALu 140で比較処理しく703)、サーチキー
とキーワードが等しいので、フラグOがLALu140
から経路190を介してLBAR120の第0ビット目
に設定(LBAR=0002(=O)番地)される(7
05)、tが増分され(i=1)、3よりも小であるの
で(706→707)、702へ、RBARI 21の
第0ビットに1ti−設定(RBAR= 100□(=
4)番地)する(712)。SKB 10よリサーチキ
ー10をRALu141へ入力する。
LALu 140 performs comparison processing (703), and since the search key and keyword are the same, flag O is LALu 140.
is set (LBAR=0002 (=O) address) to the 0th bit of LBAR 120 via path 190 (7
05), t is incremented (i=1), and since it is smaller than 3 (706→707), 1ti- is set to the 0th bit of RBARI 21 (RBAR=100□(=
4) Address) (712). Input SKB 10 and research key 10 to RALu 141.

5B56よりRBARI21  (=4番地)の内容l
OをRBDRI 31に読出す、RBDRI 31より
キーワード10をRALu141へ入力する。
Contents of RBARI21 (=address 4) from 5B56
Read O to RBDRI 31 and input keyword 10 from RBDRI 31 to RALu 141.

RALu141で比較処理しく7 L 3) 、サーチ
キーとキーワードが等しいので、フラグ1がRALuL
41から経路191を介してRBARI21の第0ビッ
ト目に設定(RBAR=1002(=4)番地)される
(714)。jが増分され(j=1)、3よりも小であ
るので(716→717)、712へ。
7 L 3) When RALu141 performs comparison processing, the search key and keyword are the same, so flag 1 is RALuL
41 to the 0th bit of RBARI 21 via path 191 (RBAR=1002 (=4) address) (714). Since j is incremented (j=1) and is less than 3 (716→717), go to 712.

ステップ2: LBAR120の第1ビットに1を設定(LBAR=0
10□ (=2)番地)する(702)。5KBIOよ
りサーチキー10をLALu140へ入力する。5B5
6よりLf3AR12’O(=2番地)の内容6をLB
DR130に読出す。LBDR130よりキーワード6
をLALu140へ入力する。LALu140で比較処
理しく703)、サーチキーがキーワードより大である
ので、フラグ1がLALu140から経路190を介し
てLBAR120の第1ビット目に設定(LBAR=0
102 (=2)番地)される(704)、iが増分さ
れ(i=2)、3よりも小であるので(706→707
)、702へ、RBARI21の第1ビットに1を設定
(RBAR,= 11011 (=6)番地)する(7
12)、5KBIOよりサーチキー10をRALu14
1へ入力する。5B56よりRBARI21  (=6
番地)の内容15をRBDR131に読出す、RBDR
I 31よりキーワード15をRALu141へ入力す
る。
Step 2: Set the first bit of LBAR120 to 1 (LBAR=0
10□ (=2) address) (702). Input search key 10 to LALu 140 from 5KBIO. 5B5
LB content 6 of Lf3AR12'O (=address 2) from 6
Read to DR130. Keyword 6 from LBDR130
is input to LALu140. LALu 140 performs comparison processing (703), and since the search key is greater than the keyword, flag 1 is set to the first bit of LBAR 120 from LALu 140 via path 190 (LBAR = 0).
102 (=2) address) (704), i is incremented (i=2), and since it is smaller than 3 (706→707
), set the first bit of RBARI21 to 1 (RBAR, = 11011 (=6) address) to 702 (7
12), RALu14 search key 10 from 5KBIO
Enter 1. RBARI21 from 5B56 (=6
Read the contents 15 of address) to RBDR131, RBDR
Input keyword 15 from I 31 to RALu 141.

RALu141で比較処理しく713)、サーチキーが
キーワードより小であるので、フラグ0がRALu14
1から経路191を介してRBARI21の第1ビット
目に設定(RBAR=100□(=4番地)される(7
15)、jが増分され(j=2)、3よりも小であるの
で(716→717)、712へ。
When RALu141 performs comparison processing (713), the search key is smaller than the keyword, so flag 0 is RALu14
1 to the first bit of RBARI21 via path 191 (RBAR=100□ (=address 4))
15), j is incremented (j=2) and is less than 3 (716→717), so go to 712.

ステップ3: LBAR120の第2ビット目に1を設定(LBAR=
0112 (=3)番地)する<702)、5KBIO
よ’J?−チキー10をLALu l 40へ入力する
。5B56よすLBAR120(=3番地)の内容lO
をLBDR130に読出す、LBDR130よりキーワ
ード10をLALu140へ入力する。
Step 3: Set 1 to the second bit of LBAR120 (LBAR=
0112 (=3) address) <702), 5KBIO
Yo'J? - input the key 10 into the LALu l 40; 5B56 Contents of LBAR120 (=address 3) lO
is read into the LBDR 130, and the keyword 10 is input from the LBDR 130 to the LALu 140.

LALu 140で比較処理しく703)、サーチキー
とキーワードが等しいので、フラグOがLALu140
から経路190を介してLBAR120の第2ビット目
に設定(LBAR=010□ (=2)番地)される(
705)。iが増分され(i=3)、3と等しいので(
706→707)、708へ、RBARの第2ビット目
に1を設定(RBAR=101□ に5)番地)する(
712)、5KBIOよりサーチキー10をRALu1
41へ入力する。5B56よりRBARI21  (=
5番地)の内容11をRBDRI 31に読出す、RB
DRI 31よりキーワード11をRALu141へ入
力する。
LALu 140 performs comparison processing (703), and since the search key and keyword are the same, flag O is LALu 140.
The second bit of LBAR 120 is set (LBAR=010□ (=2) address) via path 190 from
705). Since i is incremented (i=3) and is equal to 3 (
706 → 707), set 1 in the second bit of RBAR to 708 (address 5) in RBAR=101□) (
712), RALu1 search key 10 from 5KBIO
41. RBARI21 from 5B56 (=
Read the contents 11 of address 5) to RBDRI 31, RB
Keyword 11 is input from DRI 31 to RALu 141.

RALu141で比較処理しく713)、サーチキーが
キーワードより小であるので、フラグOがRALu14
1から経路191を介してRBARI21の第2ビット
目に設定(RBAR=lOO□(=4)#r地)される
(715)、jが増分され(j=3)、3と等しいので
(716→717)、718へ。
When RALu141 performs comparison processing (713), the search key is smaller than the keyword, so flag O is set to RALu14.
1 to the second bit of RBARI 21 via path 191 (RBAR=lOO□(=4)#r) (715), j is incremented (j=3), and since it is equal to 3, →717), go to 718.

ステップ4: LBAR120及びRBARI 21の内容をおのおの
LBORI 10.RBORI 11へ転送する。RS
P54へ経路58を介して、サーチキーと等しいキーワ
ードが格納されている5856のアドレス範囲であるL
BORI 10及びRBORlllの内容を転送する。
Step 4: Change the contents of LBARI 120 and RBARI 21 to each LBORI 10. Transfer to RBORI 11. R.S.
L, which is an address range of 5856 in which a keyword equal to the search key is stored, is sent to P54 via route 58.
Transfer the contents of BORI 10 and RBORlll.

以上の手順に従ってサーチ処理が終了する。The search process is completed according to the above steps.

本発明は、集合演算処理及び結合処理において基本演算
であるサーチ処理に適用可能である。またこのサーチ処
理装置を専用プロセッサに組込み、複数のプロセッサで
実現することも可能である。
The present invention is applicable to search processing, which is a basic operation in set operation processing and join processing. It is also possible to incorporate this search processing device into a dedicated processor and realize it with a plurality of processors.

以上、本発明を専用的ハードウェア装置で実現する場合
を説明したが、本発明は同様の思想でソフトウェア手段
によって実現出来ることは当然である。
Although the present invention has been described above using a dedicated hardware device, it goes without saying that the present invention can also be realized using software means with the same idea.

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

本発明によ九ば、1回のサーチ処理で当該サーチキーと
等しい当該キーワード列の格納範囲を求めることが可能
であるので、集合演算処理及び結合処理を実現するため
の基本演算であるサーチ処理の高速化が達成できる。
According to the present invention, since it is possible to obtain the storage range of the keyword string that is equal to the search key in one search process, the search process, which is the basic operation for realizing the set operation process and the join process, is possible. It is possible to achieve faster speeds.

また、当該サーチ処理装置が、当該サーチキー長8バイ
1−2当該キ一ワード列を格納するサーチバッファを4
にワード(lワード8バイトとする)という構成を採用
すると仮定すれば、m=12となる。すると、当該サー
チ処理装置をLSi化すると約3にゲートで実現できる
。64LbRAMを4個、及び約3にゲートチップ1個
という構成で当該サーチ処理装置が実現でき、また現在
のLSi化技術でも充分実現可能である。
In addition, the search processing device has a search buffer that stores the search key length of 8 by 1-2 and the keyword string of 4 bytes.
Assuming that a word (l word is 8 bytes) configuration is adopted for the data, m=12. Then, if the search processing device is made into an LSi, it can be realized in about 3 gates. The search processing device can be realized with a configuration of four 64Lb RAMs and one gate chip per about 300 liters, and is also fully achievable with the current LSi technology.

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

第1図は、本発明のインタバルサーチエンジンのブロッ
ク構成図、第2図は、本発明が適用されるデータベース
システムの一例を示すブロック図、第3図は、本発明に
係るデータベース管理システムが実現される一形態を示
すブロック図、第4図は、本発明が構成されるハードウ
ェア構成図、第5図は5本発明インテリジェントファイ
ル制御装置のブロック構成図、第6図は、本発明サーチ
処理過程を示す図、第7図は1本発明サーチ処理過程を
示すフローチャートの解説図である。 30・・・中央処理装置、41・・・チャネル制御装置
、31・・・インテリジエンファイル制御装置。 32・・・ディスク装置、52・・・インタバルサーチ
エンジン、54・・・選択・制約プロセッサ、56・・
・サーチバッファ。 第7凶 べ5エフ4へ                   
にβPりφへ第2図 第3n 第4目 第夕凶 シに32へ 第す国 Cυ
FIG. 1 is a block diagram of an interval search engine according to the present invention, FIG. 2 is a block diagram showing an example of a database system to which the present invention is applied, and FIG. 3 is a block diagram showing an example of a database management system according to the present invention. FIG. 4 is a block diagram showing a hardware configuration of the present invention, FIG. 5 is a block diagram of an intelligent file control device according to the present invention, and FIG. 6 is a block diagram showing a configuration of the present invention. FIG. 7 is an explanatory diagram of a flowchart showing the search processing process of the present invention. 30...Central processing unit, 41...Channel control device, 31...Intelligen file control device. 32... Disk device, 52... Interval search engine, 54... Selection/constraint processor, 56...
・Search buffer. To the 7th bad 5 F4
To βP to φ 2nd figure 3n 4th sunset to 32nd country Cυ

Claims (1)

【特許請求の範囲】 1、サーチ処理対象であるキーワード列を格納するステ
ップと、サーチを行うサーチキーを順次入力するステッ
プと、当該サーチキーと一致する当該キーワードを格納
している領域範囲を出力するステップとを有する系にお
いて、キーワード列が昇順に整列されている場合、当該
サーチキーより小という関係を満たすキーワードを格納
する領域で最大の番地を求めるステップと、当該サーチ
キーより小か等しいという関係を満たすキーワードを格
納する領域で最大の番地を求めるステップとを有するこ
とを特徴とするサーチ処理方法。 2、上記キーワード列が降順に整列されている場合、当
該サーチキーより大という関係を満たすキーワードを格
納する領域で最大の番地を求めるステップと、当該サー
チキーより大か等しいという関係を満たすキーワードを
格納する領域で最大の番地を求めるステップとを有する
第1項記載のサーチ処理方法。 3、サーチキーにより、キーワード列をサーチするシス
テムにおいて昇順に整列されたキーワード列を格納する
領域をmビットで番地付けし、最上位ビットから1ビッ
トずつ最下位ビットまで順に比較処理を行うもので、当
該mビットの上位から順に、当該対象ビットに1を設定
し、当該mビットによって指定されたキーワード列の格
納番地のキーワードと当該サーチキートとの比較処理の
結果、サーチキーの方が大であれば当該対象ビットを1
に、それ以外であれば0に設定する手段と、当該サーチ
キーより小という関係を満たす当該キーワードを格納す
る領域で最大の番地を得る手段と、当該mビットの上位
から順に、当該対象ビットに1を設定し、当該mビット
によって指定されたキーワード列の格納番地のキーワー
ドと当該サーチキーとの比較処理の結果、サーチキーの
方が等しいか大であれば当該対象ビットを1に、それ以
外であれば0に設定する手段と、当該サーチキーより小
か等しいという関係を満たすキーワードを格納する領域
で最大の番地を得る手段とを有することを特徴とするサ
ーチ処理装置。 4、降順に整列されたキーワード列を格納する領域をm
ビットで番地付けし、最上位ビットから1ビットずつ最
下位ビットまで順に比較処理を行うものであり、当該m
ビットの上位から順に、当該対象ビットに1を設定し、
当該mビットによって指定されたキーワード列の格納番
地のキーワードと当該サーチとの比較処理の結果、サー
チキーの方が小であれば当該対象ビットを1に、それ以
外であれば0に設定する手段と、当該サーチキーより大
という関係を満たす当該キーワードを格納する領域で最
大の番地を得る手段と、当該mビットの上位から順に、
当該対象ビットに1を設定し、当該mビットによって指
定されたキーワード列の格納番地のキーワードと当該サ
ーチキーとの比較処理の結果、サーチキーの方が等しい
か小であれば当該対象ビットを1に、それ以外であれば
0に設定する手段と、当該サーチキーより大か等しいと
いう関係を満たすキーワードを格納する領域で最大の番
地を得る手段とを有することを特徴とする第3項記載の
サーチ処理装置。
[Claims] 1. Storing a keyword string to be searched, sequentially inputting a search key to perform a search, and outputting an area range storing keywords that match the search key. If the keyword string is arranged in ascending order, the step of finding the largest address in the area that stores keywords that satisfy the relationship of being less than or equal to the search key; A search processing method comprising the step of determining the largest address in an area storing keywords that satisfy the relationship. 2. If the above keyword string is arranged in descending order, the step of finding the largest address in the area for storing keywords that satisfy the relationship of being greater than or equal to the search key, and the step of finding the largest address in the area that stores keywords that satisfy the relationship of being greater than or equal to the search key. 2. The search processing method according to claim 1, further comprising the step of determining the largest address in the storage area. 3. In a system that searches for keyword strings using a search key, the area for storing keyword strings arranged in ascending order is addressed using m bits, and comparison processing is performed sequentially from the most significant bit to the least significant bit. , set 1 to the target bit in order from the high order of the m bits, and compare the keyword at the storage address of the keyword string specified by the m bits with the search key, and as a result, the search key is larger. If so, set the target bit to 1
means to set it to 0 in other cases, means to obtain the largest address in the area storing the keyword that satisfies the relationship that it is smaller than the search key, and a means to set the address to 0 in order from the high order of the m bits. 1, and as a result of comparing the keyword at the storage address of the keyword string specified by the m bit with the search key, if the search key is equal or greater, set the target bit to 1, otherwise A search processing device comprising: means for setting the address to 0 if the search key is smaller than or equal to the search key; and means for obtaining the largest address in an area for storing keywords that satisfy the relationship of being less than or equal to the search key. 4. The area for storing the keyword string arranged in descending order is m
The m
Set 1 to the target bit in order from the high-order bit,
Means for setting the target bit to 1 if the search key is smaller as a result of a comparison process between the keyword at the storage address of the keyword string specified by the m bit and the search, and 0 otherwise. , a means for obtaining the largest address in the area storing the keyword that satisfies the relationship that it is greater than the search key, and in order from the uppermost m bits,
Set the target bit to 1, and as a result of comparing the keyword at the storage address of the keyword string specified by the m bit with the search key, if the search key is equal or smaller, set the target bit to 1. 3, characterized in that it has means for setting it to 0 otherwise, and means for obtaining the largest address in the area storing keywords that satisfy the relationship of being greater than or equal to the search key. Search processing device.
JP61052438A 1986-02-14 1986-03-12 Device and method for search processing Pending JPS62210537A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP61052438A JPS62210537A (en) 1986-03-12 1986-03-12 Device and method for search processing
US07/418,343 US4967341A (en) 1986-02-14 1989-10-06 Method and apparatus for processing data base

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61052438A JPS62210537A (en) 1986-03-12 1986-03-12 Device and method for search processing

Publications (1)

Publication Number Publication Date
JPS62210537A true JPS62210537A (en) 1987-09-16

Family

ID=12914746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61052438A Pending JPS62210537A (en) 1986-02-14 1986-03-12 Device and method for search processing

Country Status (1)

Country Link
JP (1) JPS62210537A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0436790A2 (en) * 1989-11-08 1991-07-17 International Business Machines Corporation Multi-dimensional tree structure for the spatial sorting of geometric objects

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0436790A2 (en) * 1989-11-08 1991-07-17 International Business Machines Corporation Multi-dimensional tree structure for the spatial sorting of geometric objects

Similar Documents

Publication Publication Date Title
Kohonen et al. Logic Principles of Content-Addressable Memories
US4967341A (en) Method and apparatus for processing data base
EP0066061B1 (en) Relational algebra engine
Stone Parallel querying of large databases: A case study
Shaw A relational database machine architecture
CN111984745A (en) Dynamic expansion method, device, equipment and storage medium for database field
JPS62210537A (en) Device and method for search processing
JP4620593B2 (en) Information processing system and information processing method
CN110111837B (en) Method and system for searching protein similarity based on two-stage structure comparison
Heo et al. Boss: Bandwidth-optimized search accelerator for storage-class memory
Werner et al. Automated composition and execution of hardware-accelerated operator graphs
Pan et al. Parallelizing multiple group-by queries using MapReduce: optimization and cost estimation
JP2753228B2 (en) Data processing device
JP4511464B2 (en) Information processing system and information processing method
JP4559971B2 (en) Distributed memory information processing system
Hollaar Hardware systems for text information retrieval
Xu et al. What-if query processing policy for big data in OLAP system
Stüttgen A hierarchical associative processing system
Spiliopoulou et al. A cost model for the estimation of query execution time in a parallel environment supporting pipeline
Ozkarahan Evolution and implementations of the RAP database machine
Tyryshkina Accelerating Join of Distributed Datasets by a Given Criterion
JPH061476B2 (en) High-speed search processor
Sharei et al. GEMA: A Genome Exact Mapping Accelerator Based on Learned Indexes
JPH04156624A (en) High speed accessing systme in knowledge base systme
JPH0581342A (en) Data processor