JPS5854443A - ハツシユ変換装置 - Google Patents
ハツシユ変換装置Info
- Publication number
- JPS5854443A JPS5854443A JP56153280A JP15328081A JPS5854443A JP S5854443 A JPS5854443 A JP S5854443A JP 56153280 A JP56153280 A JP 56153280A JP 15328081 A JP15328081 A JP 15328081A JP S5854443 A JPS5854443 A JP S5854443A
- Authority
- JP
- Japan
- Prior art keywords
- key
- length
- register
- conversion
- byte
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
本発明は、入カキ−にハツシュ変換を施してテーブルあ
るい/I′iファイルの探巣管行なうデータ処理システ
ムにおけるハツシュ変換装置に関し、特に可変長の入カ
キ−を一定長キー管固定長キーに変換する前処理におい
て、クノニム(重複アドレス)が発生しない変換方式を
用いたハツシュ変換装置に関する。
るい/I′iファイルの探巣管行なうデータ処理システ
ムにおけるハツシュ変換装置に関し、特に可変長の入カ
キ−を一定長キー管固定長キーに変換する前処理におい
て、クノニム(重複アドレス)が発生しない変換方式を
用いたハツシュ変換装置に関する。
はじめに、本発明の装置が適用きれるハツシュ法を用い
たテーブルあるいはファイルの探索方式について説明す
る。
たテーブルあるいはファイルの探索方式について説明す
る。
ハツシュ探索法は、入カキ−そのものに加工を施して表
の欄アドレスを生成するものである。41に、広い空間
に疎に分布するキーを用いて、小さい空間に智に結め合
わされた表の項目を効率的に直接探索する方法として有
効なものである。入力される異なり九全てのキーがそれ
ぞれ表中のなるべく別個の欄に導かれるように、キーの
分布を表の大きさ・に圧−変換することが必要であり、
そのため適当なハツシュ変換を用いてキーを関数変換す
る処理が行なわれる。ハツシュ変換は複数の入力に対し
、ある値竣(表のアドレスの範囲)でできるだけ値が分
散するように意図して用いるII数であシ、乗積法や分
割累算法など、キーの性質に合わせてシノニム、すなわ
ち重複アドレスの発生が少ないものが選ばれる。シノニ
ムが生じた場合の処1!&しては、次の空きアドレス1
当てる方法、ポインタを用いて特定のアドレスを指定す
る方法などがある。しかし処理が複雑になる6°で、7
ノ二人の発生は極力抑制される必要がある。更に、入カ
キ−が可変長の場合には、これを同定長に変換する前処
mを行なってからハツシュ変換を施す必要がある場合が
少なくない、従来は、可変長キーと内定炎中−とのそれ
ぞれの最上位桁を位置合わせし、下位の空白桁はl □
lとすることによって可変長キーを固定長キーに正規
化する変換をしてい友、下にその具体例を示す。
の欄アドレスを生成するものである。41に、広い空間
に疎に分布するキーを用いて、小さい空間に智に結め合
わされた表の項目を効率的に直接探索する方法として有
効なものである。入力される異なり九全てのキーがそれ
ぞれ表中のなるべく別個の欄に導かれるように、キーの
分布を表の大きさ・に圧−変換することが必要であり、
そのため適当なハツシュ変換を用いてキーを関数変換す
る処理が行なわれる。ハツシュ変換は複数の入力に対し
、ある値竣(表のアドレスの範囲)でできるだけ値が分
散するように意図して用いるII数であシ、乗積法や分
割累算法など、キーの性質に合わせてシノニム、すなわ
ち重複アドレスの発生が少ないものが選ばれる。シノニ
ムが生じた場合の処1!&しては、次の空きアドレス1
当てる方法、ポインタを用いて特定のアドレスを指定す
る方法などがある。しかし処理が複雑になる6°で、7
ノ二人の発生は極力抑制される必要がある。更に、入カ
キ−が可変長の場合には、これを同定長に変換する前処
mを行なってからハツシュ変換を施す必要がある場合が
少なくない、従来は、可変長キーと内定炎中−とのそれ
ぞれの最上位桁を位置合わせし、下位の空白桁はl □
lとすることによって可変長キーを固定長キーに正規
化する変換をしてい友、下にその具体例を示す。
1001 → 10010000
100000 → 1G00000G1010110
1→ 10101101しかし、この方法によれば、友
とえば、[0,00゜000、・・・・・・] の可可
変長キのグループ、1,10.1・Oo・・・・・・〕
の可変長キーのグループ、などの下位に101を付加す
ることによって同一コードとなるキーのグループは、正
規化変換によって多くのシノニム(前処理終了段階のシ
ノニム)を生じる。したがって、これらにハツシュ変換
f′1jljiせば、当然にシノニム(ハツシュ変換後
の7ノニム)となるところに問題があった。
1→ 10101101しかし、この方法によれば、友
とえば、[0,00゜000、・・・・・・] の可可
変長キのグループ、1,10.1・Oo・・・・・・〕
の可変長キーのグループ、などの下位に101を付加す
ることによって同一コードとなるキーのグループは、正
規化変換によって多くのシノニム(前処理終了段階のシ
ノニム)を生じる。したがって、これらにハツシュ変換
f′1jljiせば、当然にシノニム(ハツシュ変換後
の7ノニム)となるところに問題があった。
第1図は、16(ビット)から5&までの可変長キーに
ついて、従来方式による正規化変換後のシノニム生成頻
度を示す図である。たとえは、変換後のキー値(ooo
oo )は、1hキー([0])から5hキー([00
000] )の全てに共通のシノニムであり、同様に(
00010)は、4にキー([0001] )と5hキ
ー((ooolo ) )とに共通のシノニムであシ、
[0010G )は、3hキー([001])、’4
&キー((001G ) )、5bキー((00100
〕)の3つに共通のシノニムである。
ついて、従来方式による正規化変換後のシノニム生成頻
度を示す図である。たとえは、変換後のキー値(ooo
oo )は、1hキー([0])から5hキー([00
000] )の全てに共通のシノニムであり、同様に(
00010)は、4にキー([0001] )と5hキ
ー((ooolo ) )とに共通のシノニムであシ、
[0010G )は、3hキー([001])、’4
&キー((001G ) )、5bキー((00100
〕)の3つに共通のシノニムである。
このように、従来方式により正規比変!ll!Lf行な
った場合には、比較的多くの頻度でシノニムが発生する
ところに問題があった。
った場合には、比較的多くの頻度でシノニムが発生する
ところに問題があった。
本発明のハツシュ変換装蓋は、正規化変換処理に後述す
るような工夫を行なって、異なる長さのキー間では重複
した正規化出力を生じないようにして、上述した問題点
を解決したものである。
るような工夫を行なって、異なる長さのキー間では重複
した正規化出力を生じないようにして、上述した問題点
を解決したものである。
本発明は、そのえめの構成として、入カキ−が可変長で
あるハツシュ変換管用いるデータ処理システムにおいて
、可変長の入カキ−の長さfI6ビツト、正規化された
固定長のキーの長さ管Mビット、友だしM>−とすると
き、前記可変長の入カキ−の長さ鴨を検出する手段と、
前記可変−長入力キーの最下位桁を固定長キーの最下位
桁に位置合わせし、上位空白桁に零を補填してMビット
の固定長命−に変換する正規化手段と、前記正規化され
九固定長キーに2を加算する手段と、前記加算手段から
の加算出力にハツシュ変換を施す手段と、tそなえてい
ることを特徴とするハッ7工変換装置f提供するもので
ある。
あるハツシュ変換管用いるデータ処理システムにおいて
、可変長の入カキ−の長さfI6ビツト、正規化された
固定長のキーの長さ管Mビット、友だしM>−とすると
き、前記可変長の入カキ−の長さ鴨を検出する手段と、
前記可変−長入力キーの最下位桁を固定長キーの最下位
桁に位置合わせし、上位空白桁に零を補填してMビット
の固定長命−に変換する正規化手段と、前記正規化され
九固定長キーに2を加算する手段と、前記加算手段から
の加算出力にハツシュ変換を施す手段と、tそなえてい
ることを特徴とするハッ7工変換装置f提供するもので
ある。
い鱒かえれば、本発明のハラV二置換装置におけるキー
長の正規化変換は%聾ビットの可変長大カキ−の最下位
桁が変換後の固定長キーの賊下位桁となるキうに、入カ
キ−を右方へ詰め、上位空白桁を@0′とすること、そ
の後で可変長キー最上位桁位置の1つ上位の桁を11I
とすること、すなわち2f加算すること、そして、その
結果正規化変換された固定長キーの長さは可変長キーの
最大長さよりも少くとも1ビット長いものとなること、
の3点が基本原理となっている。
長の正規化変換は%聾ビットの可変長大カキ−の最下位
桁が変換後の固定長キーの賊下位桁となるキうに、入カ
キ−を右方へ詰め、上位空白桁を@0′とすること、そ
の後で可変長キー最上位桁位置の1つ上位の桁を11I
とすること、すなわち2f加算すること、そして、その
結果正規化変換された固定長キーの長さは可変長キーの
最大長さよりも少くとも1ビット長いものとなること、
の3点が基本原理となっている。
次に、比較のため、前述した例について本発明で変換し
た場合管下に示す。
た場合管下に示す。
1001 −+ 000011001100000
→00110000G10101101 →11
0101101上記のような正規化変換の操作管、 第1図に示した1bから5hまでの可変長キーに過用し
たときKFi、W、2図に示すような、異なる長さのキ
ー(前処理変換前)間に重1[金主じない同定長キー(
前処理変換後)の符号分布が得られる。更にこれを任意
の露ピットの可変長キーに一般化することは容易である
。
→00110000G10101101 →11
0101101上記のような正規化変換の操作管、 第1図に示した1bから5hまでの可変長キーに過用し
たときKFi、W、2図に示すような、異なる長さのキ
ー(前処理変換前)間に重1[金主じない同定長キー(
前処理変換後)の符号分布が得られる。更にこれを任意
の露ピットの可変長キーに一般化することは容易である
。
各可変長キーの長さ別のグループは、固W長キ−の長さ
fMピットとして、それぞれ、「上位にM −s −1
個のI 61と最下位に1個の”11とで構成したM−
sビットの符号」を上位に付加する仁とによって、他の
異なるビット長のキーとは区別される。各キーは、Mビ
ットの固定長キーの空間において一様に分布し、シノニ
ムを生じない。
fMピットとして、それぞれ、「上位にM −s −1
個のI 61と最下位に1個の”11とで構成したM−
sビットの符号」を上位に付加する仁とによって、他の
異なるビット長のキーとは区別される。各キーは、Mビ
ットの固定長キーの空間において一様に分布し、シノニ
ムを生じない。
次に1本発明のハツシュ変換1##I−のall成を実
施例にしたがって説明する。
施例にしたがって説明する。
第3図は、本発明のハツシュ変換@曾の基本構成を示す
図で、入力された可変長のキーは、lでキー長を検出さ
れ、検出されたキー長にしたがって2のフントロールの
もとに3で前述した正蜆化変換処理管受け、4でハツシ
ュ関#によって変換される。
図で、入力された可変長のキーは、lでキー長を検出さ
れ、検出されたキー長にしたがって2のフントロールの
もとに3で前述した正蜆化変換処理管受け、4でハツシ
ュ関#によって変換される。
第4図は、ハツシュ関数変換の1例として分割累算法を
用い九場合におけるキーのハツシュ変換処理の説明図で
ある。図中、5は第3図のキー長正規化変換3の処理を
受けたrバイトの固定長キ(’1+’l@・・・、4.
〕で′hシ、これf、1バイト長のメモリ、アドレス値
に変換するため、これら各バイトは加鎮器忙よつて植次
累3tこれる。%u比出力中1バイトより上位への桁上
げ6は使用されず、1バイト部分7のみがハツシュ関数
値として出力される。ここで、キーをバイト単位に分割
してそれらを累算し、結果値の下位桁を抽出した処理が
、最初の説明で述べたハツシュ変換において、(検数の
入力に対し)ある値斌でできるだけ値を分散せしめるた
めの過程に当り、これらの手続きがノ〜ッシュ関数変換
である。
用い九場合におけるキーのハツシュ変換処理の説明図で
ある。図中、5は第3図のキー長正規化変換3の処理を
受けたrバイトの固定長キ(’1+’l@・・・、4.
〕で′hシ、これf、1バイト長のメモリ、アドレス値
に変換するため、これら各バイトは加鎮器忙よつて植次
累3tこれる。%u比出力中1バイトより上位への桁上
げ6は使用されず、1バイト部分7のみがハツシュ関数
値として出力される。ここで、キーをバイト単位に分割
してそれらを累算し、結果値の下位桁を抽出した処理が
、最初の説明で述べたハツシュ変換において、(検数の
入力に対し)ある値斌でできるだけ値を分散せしめるた
めの過程に当り、これらの手続きがノ〜ッシュ関数変換
である。
第5図は、第4図に示したハツシュ関数を用込る本発明
の実施例装置のブロック囚である。
の実施例装置のブロック囚である。
図において、Rlu 24ピツトのアドレス書レジスタ
% −11s*MsaRa u 8ビツトのレジスタ、
8は主記憶装置、9Fiキー長に応じて1バイトの符号
の中で特定の1つの桁だけがallで残シは101であ
るような定数を発生する回路、10は加算器、11はハ
タシュ関数値によシアクセスされるところの探紫される
べきハツシュ・テーブル、をそれぞれ表わしている。
% −11s*MsaRa u 8ビツトのレジスタ、
8は主記憶装置、9Fiキー長に応じて1バイトの符号
の中で特定の1つの桁だけがallで残シは101であ
るような定数を発生する回路、10は加算器、11はハ
タシュ関数値によシアクセスされるところの探紫される
べきハツシュ・テーブル、をそれぞれ表わしている。
けじめに1アドレス・レジスタRI Kは、主記憶装置
jIt8上のキー情報の格納位瞳アドレスが保持されて
いるものとし、また主記憶装置上のキー情報は、1バイ
トのキー長と、デバイトのキーとからなっているものと
する。まず、キー長を示す1ノ(イトが主記憶装#8か
もレジスタR2K読み出さ収そこから定数発生回路9に
送られて、該キーが固定長へ正規化変換される九めに必
要な上位へ付加されるべき特定の定数符号を、回路9か
らレジスタR3K出力させる。
jIt8上のキー情報の格納位瞳アドレスが保持されて
いるものとし、また主記憶装置上のキー情報は、1バイ
トのキー長と、デバイトのキーとからなっているものと
する。まず、キー長を示す1ノ(イトが主記憶装#8か
もレジスタR2K読み出さ収そこから定数発生回路9に
送られて、該キーが固定長へ正規化変換される九めに必
要な上位へ付加されるべき特定の定数符号を、回路9か
らレジスタR3K出力させる。
次に、キーの第1バイト部分が主記憶装置8からレジス
タR2に読み出される。加算器10Fi、レジスタR3
の定数とレジスタR2のキーの#!1)(イトとを加算
し、結果をレジスタR3に格納する。
タR2に読み出される。加算器10Fi、レジスタR3
の定数とレジスタR2のキーの#!1)(イトとを加算
し、結果をレジスタR3に格納する。
次に1キーの第2バイト部分が主記憶装ft8かもレジ
スタR2に再び読み出される。加算器10Fi、前と同
様にレジスタR3の値にレジスタR2の値を加算して、
結果をレジスタ13 K格納する。以下このような累算
動作がキーの第デ/くイト部分まで続ff6れ、最終m
JIの1バイトがレジスタRaKm力される。
スタR2に再び読み出される。加算器10Fi、前と同
様にレジスタR3の値にレジスタR2の値を加算して、
結果をレジスタ13 K格納する。以下このような累算
動作がキーの第デ/くイト部分まで続ff6れ、最終m
JIの1バイトがレジスタRaKm力される。
レジスタR4の値がハツシュ関数値であり、これf用い
てハツシュ・テーブル11のアクセスが行なわれる。
てハツシュ・テーブル11のアクセスが行なわれる。
以上、本発dAf実施例にしたがって説明したが、本発
明の可変長キーから固定長キーへの変換原理は、任意の
ビット長キーにMIi用することが可能であり、そして
1itl述したハツシュ関数以外の多くのハツシュ関数
忙対しても有効に機能させることができ、効単的なデー
タ処理システムを!1%現する仁とができる。
明の可変長キーから固定長キーへの変換原理は、任意の
ビット長キーにMIi用することが可能であり、そして
1itl述したハツシュ関数以外の多くのハツシュ関数
忙対しても有効に機能させることができ、効単的なデー
タ処理システムを!1%現する仁とができる。
#!1自社従来方式によシ可変長入カキ−を固定長キー
に変換すると色の変換原理説明図、第2図は第11Nと
同様な本発明による変換原ms#4図、鶴3図はハツシ
ュ変換装置の基本構成を示す図、11に4−Fiハッシ
エ変換の1例の鰭明図、第5図は本発明の実施例O′y
ロック図である。 図中、 R1はアドレス・レジスタ、R2乃至R4tj
レジスタ、8は主記憶If&置、9は定数発生回路、1
0は加算器、ilは操業されるべき八ツ7ユ・テーブル
を示す。 特許出願人 富士通株式会社 代層人弁理士 森 1) 寛
に変換すると色の変換原理説明図、第2図は第11Nと
同様な本発明による変換原ms#4図、鶴3図はハツシ
ュ変換装置の基本構成を示す図、11に4−Fiハッシ
エ変換の1例の鰭明図、第5図は本発明の実施例O′y
ロック図である。 図中、 R1はアドレス・レジスタ、R2乃至R4tj
レジスタ、8は主記憶If&置、9は定数発生回路、1
0は加算器、ilは操業されるべき八ツ7ユ・テーブル
を示す。 特許出願人 富士通株式会社 代層人弁理士 森 1) 寛
Claims (1)
- 【特許請求の範囲】 入カキ−が可変長であるハツシュ変換を用いるデータ処
理システムにおいて、 可変長の入カキ−の長さを偽ビット、正規化された固定
長のキーの長さをMビット、ただしM〉鴨とするとき、
前記可変長の入カキ−の長さ協を検出する手段と、前記
可変長大カキ−の最下位桁を固定長キーの最下位桁に位
置合わせし、上位空白桁に零を補填してMビットの固定
長キーに変換する正規化手段と、前記正規化された固定
長キーに2を加算する手段と、前記加算手段からの加算
出力にハツシュ変換を施す手段と、をそなえていること
全4I做とするハツシュ変換装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56153280A JPS5854443A (ja) | 1981-09-28 | 1981-09-28 | ハツシユ変換装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56153280A JPS5854443A (ja) | 1981-09-28 | 1981-09-28 | ハツシユ変換装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS5854443A true JPS5854443A (ja) | 1983-03-31 |
Family
ID=15559012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP56153280A Pending JPS5854443A (ja) | 1981-09-28 | 1981-09-28 | ハツシユ変換装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS5854443A (ja) |
-
1981
- 1981-09-28 JP JP56153280A patent/JPS5854443A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3234104B2 (ja) | 圧縮データをサーチする方法及びシステム | |
CA2077271C (en) | Method and apparatus for compressing data | |
WO1990004826A1 (fr) | Procede et dispositif d'extraction de sequences de mots-cles pour le traitement concurrent | |
GB2057821A (en) | Communication method and system | |
US6396420B1 (en) | Delta compression of floating point coordinate data | |
US5081608A (en) | Apparatus for processing record-structured data by inserting replacement data of arbitrary length into selected data fields | |
US5815096A (en) | Method for compressing sequential data into compression symbols using double-indirect indexing into a dictionary data structure | |
JPH09245043A (ja) | 情報検索装置 | |
JPS5854443A (ja) | ハツシユ変換装置 | |
KR20010098422A (ko) | 소스 스트링의 타겟 스트링으로의 변환 방법, 이의 컴퓨터시스템 및 프로그램 제품 | |
JP3038233B2 (ja) | データ圧縮及び復元装置 | |
JPS6134620A (ja) | 計算機への入力方法 | |
JP3097294B2 (ja) | コード変換装置 | |
JP2535655B2 (ja) | 辞書検索方式 | |
JP3113765B2 (ja) | 可変長符号デコード回路 | |
JPH01234930A (ja) | 文字列検索方法および装置 | |
JPH0471228B2 (ja) | ||
JPS61232724A (ja) | 文字コ−ドデ−タの圧縮方式 | |
JPS62169273A (ja) | 言語処理プログラムにおけるラベル情報の登録・参照方式 | |
JPS63314974A (ja) | 復号化装置 | |
CN116521399A (zh) | 一种数据处理方法及系统 | |
JPH06162096A (ja) | レコード検索方法 | |
JP3722231B2 (ja) | コンパクトにエンコードされて記憶されたストリングの組を有する製品 | |
JPH08263264A (ja) | データ処理装置 | |
JPS62131348A (ja) | マルチインデツクスフアイルアクセス方式 |