JPH07168841A - ハッシュテーブル生成方法 - Google Patents

ハッシュテーブル生成方法

Info

Publication number
JPH07168841A
JPH07168841A JP5312428A JP31242893A JPH07168841A JP H07168841 A JPH07168841 A JP H07168841A JP 5312428 A JP5312428 A JP 5312428A JP 31242893 A JP31242893 A JP 31242893A JP H07168841 A JPH07168841 A JP H07168841A
Authority
JP
Japan
Prior art keywords
hash
data
coefficient
hash table
hash value
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.)
Withdrawn
Application number
JP5312428A
Other languages
English (en)
Inventor
Kozo Shiraishi
浩三 白石
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.)
NEC Software Shikoku Ltd
Original Assignee
NEC Software Shikoku 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 NEC Software Shikoku Ltd filed Critical NEC Software Shikoku Ltd
Priority to JP5312428A priority Critical patent/JPH07168841A/ja
Publication of JPH07168841A publication Critical patent/JPH07168841A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】格納情報が予め解っている場合に、検索効率・
メモリ使用効率の良いハッシュテーブルを作成する。 【構成】ハッシュ値の計算に使用する係数を変化させ、
数パターンのハッシュ値分布表1−1を作成し、最もデ
ータのばらつきの少ないハッシュ係数を選択する。そし
て、最終的にはハッシュ値計算に必要な係数を格納した
ハッシュテーブル1−2を生成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はハッシュテーブル生成方
法、特に通信処理のアドレス情報等のように、実際の処
理を開始する前にあらかじめ参照するデータの内容が分
かっている場合に検索効率・メモリ使用効率の良いハッ
シュテーブルを生成する方法に関する。
【0002】
【従来の技術】従来のこの種のハッシュテーブル生成方
法では、プログラム中に固定的に計算ロジックを持って
いるために、ハッシュ値計算に使用する係数の値は、検
索対象データの内容に関わらず常に一定であった。
【0003】
【発明が解決しようとする課題】上述した従来のハッシ
ュテーブル生成方法では、ハッシュ値計算に使用する係
数の値は常に一定であるため、データの内容によって
は、ハッシュ値の値が偏り、ハッシュテーブルの特定の
エントリにデータが集中し、長いチェインができあが
る。これでは、期待通りの検索効率を達成できない場合
が有り得る。また、特定のエントリにデータが集中する
事により、全く使用されないエントリが多数発生し、メ
モリの使用効率が低下するという欠点もある。
【0004】
【課題を解決するための手段】本発明のハッシュテーブ
ル生成方法は、ハッシュ値計算に使用する係数の値を変
化させて、最もハッシュ値の偏りの少ない係数を求める
ことにより検索効率・メモリ使用効率の良いハッシュテ
ーブルを生成する事を特徴とする。
【0005】
【実施例】次に、本発明について図面を参照して説明す
る。ここで以下の説明の簡略化のためにハッシュ値計算
に使用する係数の組み合わせをハッシュ係数と呼ぶこと
にする。
【0006】図1は、本発明の一実施例の構成を示す図
である。図中1−1はハッシュ値分布表、1−2はハッ
シュテーブルをそれぞれ表す。ハッシュ値分布表1−1
は、あるハッシュ係数で、全てのデータについてハッシ
ュ値を計算した場合に空きエントリ数と、最も多くのデ
ータが割り当てられるエントリのデータ数を得るための
テーブルである。
【0007】また、ハッシュテーブル1−2は数パター
ンのハッシュ値分布表1−1より選択した、空きエント
リ数と最も多くのデータが割り当てられるエントリのデ
ータ数の両者が、最適値をとるハッシュ係数を使用して
作成するテーブルである。
【0008】図2は、本実施例の動作を説明するフロー
チャートである。まず、ステップ2−1で、一データの
ハッシュ値の計算を行う。ステップ2−2では、計算し
たハッシュ値より、ハッシュ分布表1−1の該当エント
リの値をインクリメントする。ステップ2−3では、全
てのデータを同一のハッシュ係数でハッシュ値を計算し
終わったかどうか判断し、終わっていなければステップ
2−1に移行し、終わっていればステップ2−4に移行
する。
【0009】ステップ2−4では、空きエントリと最大
分布数が、一定値を下回ったかどうか判断し、下回って
いなければステップ2−5に移行し、下回っていればス
テップ2−8に移行する。ステップ2−5では、ハッシ
ュ係数を変化させる。ステップ2−6では、最大試行回
数分再試行したかどうかを判断し、していなければステ
ップ2−1に移行し、していればステップ2−7に移行
する。
【0010】ステップ2−7では、空きエントリ数と最
も多くのデータが割り当てられるエントリのデータ数の
両者が、最適値をとるハッシュ係数を選択する。ステッ
プ2−8では、ハッシュ値計算に必要な係数を格納した
ハッシュテーブル1−2を作成する。
【0011】
【発明の効果】以上説明したように本発明は、あらかじ
めデータの内容が分かっている場合に検索効率・メモリ
使用効率の良いハッシュテーブルを作成する効果があ
る。
【図面の簡単な説明】
【図1】本発明の一実施例の構成図である。
【図2】本発明の実施例のフローチャートである。
【符号の説明】
1−1 ハッシュ値分布表 1−2 ハッシュテーブル

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ハッシュ値計算に使用する係数の値を変
    化させて、最もハッシュ値の偏りの少ない係数を求める
    ことにより検索効率・メモリ使用効率の良いハッシュテ
    ーブルを生成する事を特徴とするハッシュテーブル生成
    方法。
  2. 【請求項2】 前記係数を求めるために、ハッシュ値分
    布表を用いることを特徴とする請求項1記載のハッシュ
    テーブル生成方法。
JP5312428A 1993-12-14 1993-12-14 ハッシュテーブル生成方法 Withdrawn JPH07168841A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5312428A JPH07168841A (ja) 1993-12-14 1993-12-14 ハッシュテーブル生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5312428A JPH07168841A (ja) 1993-12-14 1993-12-14 ハッシュテーブル生成方法

Publications (1)

Publication Number Publication Date
JPH07168841A true JPH07168841A (ja) 1995-07-04

Family

ID=18029097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5312428A Withdrawn JPH07168841A (ja) 1993-12-14 1993-12-14 ハッシュテーブル生成方法

Country Status (1)

Country Link
JP (1) JPH07168841A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100325688B1 (ko) * 1999-11-19 2002-02-25 오길록 해쉬 인덱스 구조의 확장 해슁 디렉토리 분할 시점 제어방법 및 이를 이용한 엔트리 삽입, 삭제, 검색 방법
JP2012003773A (ja) * 2010-06-21 2012-01-05 Samsung Sds Co Ltd アンチマルウェアデバイス、サーバ及びマルウェアパターンマッチング方法
JP2014130489A (ja) * 2012-12-28 2014-07-10 Fujitsu Ltd データ格納プログラム、データ検索プログラム、データ検索装置、データ格納方法及びデータ検索方法
WO2017104012A1 (ja) * 2015-12-16 2017-06-22 株式会社日立製作所 データ管理システム及び方法
US9984176B2 (en) 2014-12-19 2018-05-29 International Business Machines Corporation Hash value capable of generating one or more hash functions

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100325688B1 (ko) * 1999-11-19 2002-02-25 오길록 해쉬 인덱스 구조의 확장 해슁 디렉토리 분할 시점 제어방법 및 이를 이용한 엔트리 삽입, 삭제, 검색 방법
JP2012003773A (ja) * 2010-06-21 2012-01-05 Samsung Sds Co Ltd アンチマルウェアデバイス、サーバ及びマルウェアパターンマッチング方法
JP2014130489A (ja) * 2012-12-28 2014-07-10 Fujitsu Ltd データ格納プログラム、データ検索プログラム、データ検索装置、データ格納方法及びデータ検索方法
US9984176B2 (en) 2014-12-19 2018-05-29 International Business Machines Corporation Hash value capable of generating one or more hash functions
WO2017104012A1 (ja) * 2015-12-16 2017-06-22 株式会社日立製作所 データ管理システム及び方法

Similar Documents

Publication Publication Date Title
US6985483B2 (en) Methods and systems for fast packet forwarding
US6862602B2 (en) System and method for rapidly identifying the existence and location of an item in a file
US6434144B1 (en) Multi-level table lookup
US6539373B1 (en) Contextual searching by determining intersections of search results
US5946679A (en) System and method for locating a route in a route table using hashing and compressed radix tree searching
CN100445999C (zh) 一种数据存储及搜索方法
US5983223A (en) Method and apparatus for determining a longest matching prefix from a dictionary of prefixes
US7852852B2 (en) Method for compressing route data in a router
US7324519B2 (en) Method and apparatus for encoding a plurality of pre-defined codes into a search key and for locating a longest matching pre-defined code
US20050149513A1 (en) Compressed prefix tree structure and method for traversing a compressed prefix tree
US7054994B2 (en) Multiple-RAM CAM device and method therefor
EP1063827B1 (en) Method for address lookup
CN101620623A (zh) 内容可寻址存储器表项管理方法和装置
JPH07168841A (ja) ハッシュテーブル生成方法
US6625592B1 (en) System and method for hash scanning of shared memory interfaces
CN112818185A (zh) 一种基于sram的最长前缀匹配硬件系统查找的方法
JP2006246488A (ja) ネットワーク・ルータ、アドレス処理方法及びコンピュータ・プログラム
CN110825747B (zh) 一种信息存取方法、装置和介质
CN112769703A (zh) 一种高效的基于sram的tcam实现方法
US6510423B1 (en) Method and device for object control with a plurality of operation-target flags
Mehrotra et al. Novel hardware architecture for fast address lookups
CN109241098A (zh) 一种分布式数据库的查询优化方法
JPH0546669A (ja) データベース検索システムにおけるヒツト率改善方式
JP3849274B2 (ja) 文書検索装置および記録媒体
JP2000020527A (ja) データベースにおける検索方式

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010306