JPS6286432A - デ−タ高速検索回路 - Google Patents

デ−タ高速検索回路

Info

Publication number
JPS6286432A
JPS6286432A JP60226461A JP22646185A JPS6286432A JP S6286432 A JPS6286432 A JP S6286432A JP 60226461 A JP60226461 A JP 60226461A JP 22646185 A JP22646185 A JP 22646185A JP S6286432 A JPS6286432 A JP S6286432A
Authority
JP
Japan
Prior art keywords
node
circuit
address
accessed
data
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
JP60226461A
Other languages
English (en)
Inventor
Shinichi Shimizu
慎一 清水
Akio Shinagawa
明雄 品川
Haruo Akimoto
晴雄 秋元
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP60226461A priority Critical patent/JPS6286432A/ja
Publication of JPS6286432A publication Critical patent/JPS6286432A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔目 次〕 概要 産業上の利用分野 従来の技術(第4図) 発明が解決しようとする問題点 問題点を解決するための手段(第1図)作用 実施例 (1)実施例の構成(第2図、第3図)(2)実施例の
動作 発明の効果 〔概要〕 ′本発明はトリー状に構成されたデータを検索するとき
、トリーの各ノード毎にテーブルを周章して各ノードに
接続されるノード名才たはリーフ塩をこのテーブルに記
入しておき、所望のデータの位置をこのテーブルをアク
セスすることにより判定するものである。
〔産業上の利用分野〕
本発明はデータ高速検索回路に係り、特にトリー構造の
データの検索を高速に実行できる回路に関する。
〔従来の技術〕
トリー構造のデータはノードとリーフにより構成されて
いる。例えば第4図に示す如く、ノードにはノード名α
bc、clef、gk・・・が付与されており、リーフ
にはリーフ名・tl、f、p・・・が付与されている。
データはリーフに記入されているので、例えばリーフQ
に存在するデータをアクセスするとき、ディレクトリα
h ry / d、 g f / i j /rが与え
られ、これにより各ノードαha、def、iノ°を経
由してrをアクセスすることができる。
〔発明が解決しようとする問題点〕
ところで従来ノードαhcからリーフrまでを検索する
場合、ノードαhaに接続されているノード名才たけリ
ーフ名が何であるかということをソフト的に読み出して
これをチェックし、dgf。
ij、rがそれぞれ各ノードのどの分岐先に位置してい
るのかということを検出しなければならなかったので、
非常に時間がかかるという問題点があった。
〔問題点を解決するための手段〕
前記問題点を解決するため、本発明では、第1図に示す
如く、各ノードにそれぞれノードテーブルを設けて該ノ
ードに接続されている全ノードまたは全す−フ名と、そ
のノードテーブルの先頭アドレスを記入して力く。そし
てこれらのノードテーブルをディレクトリにしたがって
アクセスする。
〔作用〕
したがって、ノード列を有するディレクトリAB C/
D E F/G II/Qが入力されたとき、まずノー
ドABCのテーブルをアクセス′してノードDEFのノ
ードテーブルの先頭アドレスを読み取り、次にノードD
FtFのノードテーブルをアクセスしてノードGHのノ
ードテーブルの先頭アドレスを求める。そしてノード(
)HのテーブルよりリーフQの格納先の先頭アドレスを
求めることができる。
したがってハード的に各テーブルを高速にアクセスでき
るので、検索速度を向上することができる。
〔実施例〕
(1)実施例の構成 本発明の一実施例を第2図および第3図により説明する
図中、1は前処理回路、2はテーブル抽出回路、3はテ
ーブル検索回路、4は次ノード・アドレス・レジスタ、
5は空領域アドレス・レジスタ、10はバッファ、11
はテーブル・メモリ、12はテーブル出力レジスタ、1
3は検索ノード名バッファ、14は比較回路、15はサ
ブルートノード先頭アドレス・レジスタ、16はマルチ
プレクサ、17はテーブル・アドレス書カウンタ、18
はゼロ検出回路、19〜21はインバータ、22はアン
ド回路、23はオア回路、24.25はアンド回路、2
6はオア回路である0 前処理回路1は入力されるディレクトリを各要素(ノー
ド名)毎に分割し、各要素の長さを揃えるため、短いも
のは、第2図に示すブランク記号Uをつめ長いものは途
中で切り、これを保持して順次その要素を検索ノードバ
ッファI3に書込むものである。
テーブル抽出回路2はサブルートノード先頭アドレス・
レジスタ15から伝達されるノードテールを出力させる
ものである0このノードテーブルが固定長の場合は、あ
らかじめテーブル長の大きさをテーブル抽出回路2#こ
保持させておき、伝達された先頭アドレスにもとづき、
予め設定されているテーブル長だけDMA転送によりデ
ィスク等のバッファから所望のノードテーブル・メモリ
11に持ってくることができる。
テーブル検索回路3はノードテーブルをアクセスして所
望のノード名の項目が存在するか否かを検出するもので
、ノード名の比較を行う比較回路14、テーブル・メモ
リ11のアドレスを決定するテーブル・アドレス・カウ
ンタ17、名前が一致し7たときの先頭アドレスを格納
する次ノード先頭アドレス・レジスタ4、ノードテーブ
ル】1内のノードに空ノードか存在したと養その空領域
アドレスか格納されるテーブル内空領域アドレス・レジ
スタ5等を具備している。
バッファ10はノード毎に存在するノードテーブル等が
格納さねるノードテーブル格納部としても機能するもの
である。このノードテーブルは、第1図に示す如く、ノ
ードに接続されるノード名およびリーフ名き、該ノード
のノードテーブルまたは該リーフのデータの記入されて
いる先頭アドレス、ノードテーブルの項目がノードであ
るかリーフであるか等のデータが記入されている。
テーブル・メモリIIはバッファ】0から読出されたノ
ードテーブルが格納されるものであり、テーブル・アド
レスカウンタ17により出力されるアドレスにより、各
項目が順次出力される。なおテーブル・メモリ11にお
いてノード可否はノード名に記入さnた要素かノードか
リーフかを示すものであり、ノードのときは「1」、リ
ーフのとき「0」が記入される。
テーブル出力レジスタ12はテーブル・メモリ11の出
力かセットされたり、またテーブル・メモリ11に登録
すべきテーブル登録データ(バッファ10に格納すべき
データを含む)かセットされるものである。
比較回路14は検索ノード名バッファ13に保持された
ノード名(要素)と、テーブル出力レジスタ12にセッ
トされたテーブル・メモリ11のノード名とが一致する
か否か比較するものである。
サブルートノード先頭アドレス・レジスタ15はバッフ
ァ10より検索のためのノードの先頭アドレスか格納さ
れるものである。
マルチプレクサ16はサブルートノード先頭アドレス・
レジスタ15にセットすべきデータを前処理回路1から
出力されたものとするのか、次ノード先頭アト1/ス・
レジスタ4から出力されたものかを選択するものである
テーブル・アドレス・カウンタ17はテーブル・メモリ
11に格納されたノード・テーブルの各項を1@次に出
力するためのアドレスを順次発生するカウンタである。
ゼロ検出回路18はテーブル・メモリ11から出力され
たデータのうちノードテーブル先頭アドレスのデータの
最初にゼロか存在するか否かを検出するものである。こ
のノードテーブル先頭アトlメスの最初かゼロであると
いうことはそのノードか空ノードであることを示してい
る。すなわち、第4図に示すトリー構造のデータにおい
て、IJ−フx、yが不必要になったとき、ノードgh
におけるノード・テーブルのx、yの項における各先頭
アドレスをゼロにする。したがってノード・テーブルを
アクセスしたときその先頭アドレスかゼロの場合中ノー
ドであることを示している。そしてこの空2.ノードは
後にデータを挿入するときの指針として使用されること
になる。
インバータ19,20.21箋、1121回路2224
、オア回路24等はエラー検出回路を構成する。エラー
信号(−A次式が成立したきき出力する。
(((最終要素n1l−フ)Uゼロ検出Gi号)n一致
信号)例えばノード名の一致信号が出力したのにそのノ
ード名に対するゼロ検出回路18かゼロ検出信号を出力
したとき、つまり検索先のノードか空ノードの場合等の
ときアンド1川路24からエラー信号か出力され、オア
回路26は終了フラグを出力することになる。また一致
した要素が検出されない場合にも出力される。    
   −(2)実施例の動作 本発明の一実施例動作について説明する。
■ 前処理回路1にノード列を有するディレクトリAB
C/DEF/l(か入力されると、前処理回路1 il
このディレクトIJを各要素rABCJ 。
rDEFJ、rGl−IJ毎に分割]7、各要素の長さ
を揃えるため多いものは途中で切り、足りないものは空
白口を詰めて検索ノード名バッファ13に順番に書込む
。また入力さ才1だ現在のポインタの位置を示すノード
・アドレスとディレクトリの型式より検索のためのノー
ドの先頭アドレスを決定し、サブルートノード先頭アド
レス・レジスタ13に格納する。例えばディレクトリの
型式がr/ABC/DEF・・・」のようなスラッシュ
が最初にある場合に(1,ディホルトとして保持してい
るアドレスかABCのアドレスきなるので、これをサブ
ルートノード先頭アドレスレジスタ15に格納して、テ
ーブル抽出回路2よりバッファ10をアクセスして、A
BCのノードテーブルをテーブル・メモリ11にセット
する。このとき前処理回路]は要素rDEFt、IJを
検索ノード名バッファ13にセットする。またディレク
トリの型式かrABC/DEF・・・」のような場合は
、前処理回路1に伝達される現在のノードアドレスかこ
のABCのアドレスとなる。
■ テーブルやメモリ11に前記ABCのノード・テー
ブルかセットされたときに、テーブル抽出回路2はテー
ブル・アドレス−カウンタ17に対してカウンタ制御信
号を伝達する0これによりテーブル・アドレス・カウン
タ17は順次アドレスを出力してノード・テーブルのデ
ータをJ順次テーブル出力レジスタ12ζこセットする
。このとき、テーブル出力レジスタ12にセットされた
ノード名と検索ノード名バッファ13にセットされた要
素か比較回路14により比較される。こむによりABC
のノードテーブルの最初の項目かテーブル出力レジスタ
12にセットさnたとき、そのノード名DEF”と、検
索ノード名バッファ13にセットされたrDEFJか一
致したことを比較回路14か検出して一致信号を出力す
る。これによりテーブル・アドレス・カウンタ17は停
止される。
このとき、ゼロ検出1目1路18から「0」か出力され
てノードテーブル先頭アドレスの先頭ビットか「0」で
ないこきを示しているので、インバータ20は「1」を
出力し、またrDEFJはノードであるので、ノード可
否出力は「1」である。かくしてアンド回路25は「1
」か出力され、次ノード先頭アドレス・レジスタ4には
rDEFJの先頭アドレスがセットされ、前処理回路l
は「GI(LI LJ Jを検索ノード名バッファ13
にセットする。次ノード先頭アドレス・レジスタ4にセ
ットされたアドレスはマルチプレクサ16を経由してサ
ブルートノード先頭アドレス・レジスタ15にセットさ
れ、これによりテーブル抽出回路2はバッファ10より
新しくDEFのノードテーブルを読み出し、これをテー
ブル・メモリ11#こセットし、テーブル・アドレス・
カウンタ17にカウンタ制御信号を出力してこれをリセ
ットして起動させる。このようにして今度は検索ノード
名バッファ13にセットされたノードGHのノード・テ
ーブルの先頭アドレスか得られることになる0そしてこ
のようなことをディレクトリがすべて終了するまで繰返
す。そして最終的に所望のデータの格納アドレスをノー
ド・テーブルより得る0■ またテーブル・メモリ11
に新しくデータを記入するとき、あるいはデータを書替
えるとき、テーブル出力レジスタ12にテーブル登録デ
ータを記入し、テーブル・アドレスやカウンタ17を所
定のテ」プル中アドレスにセットすることにより書込み
処理を行うことができる。また空きノードの検出は、ゼ
ロ検出回路18かノードテーブル先頭アドレスの先頭の
0を検出したときテーブル・カウンタ17のアドレスを
テーブル内空領域アドレス・レジスタ5にセットするこ
とにより行うことかできる。
■ 本発明での終了条件は、前処理回路lからの最終要
素信号0が出力されてこれにもとづく一致が得られたと
き、あるいはエラー信号が出力されたときである。
〔発明の効果〕
本発明によればノードテーブルを、ハード的に、高速に
アクセスして各要素の一致を検出することができるので
、トリー構造のデータに対して高速にアクセスすること
かできる。
【図面の簡単な説明】
第1図は本発明の原理説明図、 第2図は本発明の構成概略図、 第3図は本発明の一実施例構成図、 第4図はトリー構造のデータ構成説明図である〇】・・
・前処理回路    2・・・テーブル抽出回路3・・
・テーブル検索回路 4・次ノード・アドレス・レジスタ 5・・・空領域アドレス・レジスタ 10・・・バッファ    11・・・テーブル・メモ
リ12・・・テーブル出力レジスタ 13・・・検索ノード名バッファ  14・・・比較回
路】5・・・サブルートノード先頭アドレス・レジスタ
16・・・マルチプレクサ

Claims (1)

  1. 【特許請求の範囲】 トリー構造のデータを高速に検索するデータ高速検索回
    路において、 入力されたノード列を分割してノード等を順次出力する
    前処理手段(1)と、 ノード・テーブルが格納されているノード・テーブル格
    納部(10)と、 このノード・テーブル格納部からノード・テーブルを抽
    出するテーブル抽出手段(2)と、抽出されたノード・
    テーブルを一時保持するテーブル・メモリ(11)と、 テーブル・メモリ上のノード名をキーとして検索するテ
    ーブル検索手段(3)を具備することを特徴とするデー
    タ高速検索回路。
JP60226461A 1985-10-11 1985-10-11 デ−タ高速検索回路 Pending JPS6286432A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60226461A JPS6286432A (ja) 1985-10-11 1985-10-11 デ−タ高速検索回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60226461A JPS6286432A (ja) 1985-10-11 1985-10-11 デ−タ高速検索回路

Publications (1)

Publication Number Publication Date
JPS6286432A true JPS6286432A (ja) 1987-04-20

Family

ID=16845459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60226461A Pending JPS6286432A (ja) 1985-10-11 1985-10-11 デ−タ高速検索回路

Country Status (1)

Country Link
JP (1) JPS6286432A (ja)

Similar Documents

Publication Publication Date Title
JPS5898893A (ja) 情報処理装置
JPH06243006A (ja) 文字ファイルアクセス方式
JPS6286432A (ja) デ−タ高速検索回路
JPH0525359B2 (ja)
JPH04112253A (ja) 多層バッファを用いるデータアクセス方法
JP2573577B2 (ja) ファイルアクセス装置
JPH04250568A (ja) レコード検索装置
JPH0752450B2 (ja) 辞書デ−タ検索装置
JPS6319858Y2 (ja)
RU2037215C1 (ru) Запоминающее устройство
JPS63253431A (ja) インバ−テツド構造のデ−タベ−ス検索方式
JPH0991195A (ja) ブロックメモリ管理装置
JP2747009B2 (ja) 索引順編成ファイルのレコード追加方式
JPS59173865A (ja) 空きスペ−ス検索方法
JPS5949244U (ja) 漢字住所入力装置
JPH0324618A (ja) レコード昇順追加装置
JPS62222339A (ja) ブロツク内レコ−ド管理方式
JPH01136252A (ja) ファイルの構造
JPH01282630A (ja) データベース検索情報一時蓄積システム
JPH02302869A (ja) ファイル編集方式
JPH0934788A (ja) アドレス変換装置及びアドレス変換方法
JPH069038B2 (ja) ダイレクトメモリアクセス制御装置
JPS6244839A (ja) 命令取出装置
JPS61123951A (ja) メモリ・システム
JPH01298439A (ja) リスト解析装置