JPS62248031A - デ−タ管理方法 - Google Patents
デ−タ管理方法Info
- Publication number
- JPS62248031A JPS62248031A JP61092571A JP9257186A JPS62248031A JP S62248031 A JPS62248031 A JP S62248031A JP 61092571 A JP61092571 A JP 61092571A JP 9257186 A JP9257186 A JP 9257186A JP S62248031 A JPS62248031 A JP S62248031A
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- list
- value
- link
- 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
- 238000000034 method Methods 0.000 title claims description 40
- 238000013523 data management Methods 0.000 claims description 47
- 230000008707 rearrangement Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 13
- 230000004044 response Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 210000000707 wrist Anatomy 0.000 description 2
- 241000862969 Stella Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
Landscapes
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
この発明は、データ検索を効率よく行うためのデータ管
理方法に関するものである。
理方法に関するものである。
[従来の技術]
リスト構造を持ったデータ群に対し、リストの先頭から
の順検索を用いてデータを検索する場合がある。例えば
、ディスクキャシュ・システムにおいて、ディスクとデ
ィスクキャシュ書システムとの間のデータの転送単位で
、ディスクキャシュ・システムにおけるデータ管理のた
めの最小単位であるデータブロックのデータメモリにお
ける格納アドレスを、リスト構造を持ったデータ群とし
て管理する場合がその例である。
の順検索を用いてデータを検索する場合がある。例えば
、ディスクキャシュ・システムにおいて、ディスクとデ
ィスクキャシュ書システムとの間のデータの転送単位で
、ディスクキャシュ・システムにおけるデータ管理のた
めの最小単位であるデータブロックのデータメモリにお
ける格納アドレスを、リスト構造を持ったデータ群とし
て管理する場合がその例である。
第12図に、リスト構造を持つデータ群を管理する例と
してあげたディスクキャシュを説明するだめの説明図で
ある。
してあげたディスクキャシュを説明するだめの説明図で
ある。
すなわち、データプロ、りのサイズが
4096(=163)ワード、データメモリの容量が2
0480(=5X 163)ワードのディスクキャシュ
Oシステムにおける例である。
0480(=5X 163)ワードのディスクキャシュ
Oシステムにおける例である。
同図(A)は、ディスク及びディスクキャシュ状態を示
す説明図であり、例えば、ディスクキャシュ (+00
)におけるデータメモリ (101)の0000(h)
番地から0OFF(h)番地まではディスク(+02)
上のaddress Aから始まるデータブロックAが
格納されている。なお、(h)は16進表示を示す。
す説明図であり、例えば、ディスクキャシュ (+00
)におけるデータメモリ (101)の0000(h)
番地から0OFF(h)番地まではディスク(+02)
上のaddress Aから始まるデータブロックAが
格納されている。なお、(h)は16進表示を示す。
同図CB)は、ディスクキャシュの状79を表わす説明
図であり、制御情報のデータ群を表わしている。
図であり、制御情報のデータ群を表わしている。
図において、制御情報は、ディスク上のデータブロック
の格納開始番地、制御情報のデータ群にリスト構造を持
たせるためのデータメモリ上における対応するデータブ
ロックの格納開始番地からなり、制御情報メモリ(10
3)と呼ぶ領域に格納されている。また、制御情報のデ
ータ群の作るリストの先頭のデータのアドレスは、リス
ト頭部レジスタ(104)と呼ばれるレジスタの中に保
持されている。
の格納開始番地、制御情報のデータ群にリスト構造を持
たせるためのデータメモリ上における対応するデータブ
ロックの格納開始番地からなり、制御情報メモリ(10
3)と呼ぶ領域に格納されている。また、制御情報のデ
ータ群の作るリストの先頭のデータのアドレスは、リス
ト頭部レジスタ(104)と呼ばれるレジスタの中に保
持されている。
例えば、制御情報のデータ群の先頭の要、には、制御情
報メモリ(103)の1000(h)番地に格納されて
おり、ディスク (102)上のaddress A番
地から始まるデータブロックAが、ディスクキャシュ(
100)のデータメモリ(101)のoooo(h)番
地から格納されていることを示している。
報メモリ(103)の1000(h)番地に格納されて
おり、ディスク (102)上のaddress A番
地から始まるデータブロックAが、ディスクキャシュ(
100)のデータメモリ(101)のoooo(h)番
地から格納されていることを示している。
上記第12図のディスクキャシュの例で、ディスクトの
address C番地から始まるデータブロックCに
含まれるデータが必要な場合に、ディスクキャシュ・シ
ステムは、まず、リスト頭部レジスタの指すリストの先
頭の要素の制御情報を調べるが、それはデータブロック
Aに関する制御情報であるから、求める情報ではない。
address C番地から始まるデータブロックCに
含まれるデータが必要な場合に、ディスクキャシュ・シ
ステムは、まず、リスト頭部レジスタの指すリストの先
頭の要素の制御情報を調べるが、それはデータブロック
Aに関する制御情報であるから、求める情報ではない。
そこで、当該制御情報のリンクをたどり1次に、100
6 (h)番地の制御情報を調べるが、それは、データ
ブロックBに関する制御情報であるから、求める制御情
報ではない。そこで、さらにリンクをたどり、1004
(h)番地の制御情報を調べ、address Cの値
から、その制御情報がデータブロックCに関するもので
あることを知り、求めるデータブロックが、ディスクキ
ャシュのデータメモリの0200(h)番地から格納さ
れていることを知る。上記の第12図の例のように、リ
スト構造を持ったデータ群に対し、リストの先頭からの
順検索を用いてデータを検索する場合には、求めるデー
タが、リストの先頭の要素を指すボ・fンタ、リストヘ
ッドから数えて、少数回のリンク操作により到達できる
。すなわち、リストヘッドに近いほど、速くデータを得
ることができる。従って、データ検索の効率を向上させ
るためには、検索されるへきデータが、できる限りリス
トヘッドに近いことが必要である。
6 (h)番地の制御情報を調べるが、それは、データ
ブロックBに関する制御情報であるから、求める制御情
報ではない。そこで、さらにリンクをたどり、1004
(h)番地の制御情報を調べ、address Cの値
から、その制御情報がデータブロックCに関するもので
あることを知り、求めるデータブロックが、ディスクキ
ャシュのデータメモリの0200(h)番地から格納さ
れていることを知る。上記の第12図の例のように、リ
スト構造を持ったデータ群に対し、リストの先頭からの
順検索を用いてデータを検索する場合には、求めるデー
タが、リストの先頭の要素を指すボ・fンタ、リストヘ
ッドから数えて、少数回のリンク操作により到達できる
。すなわち、リストヘッドに近いほど、速くデータを得
ることができる。従って、データ検索の効率を向上させ
るためには、検索されるへきデータが、できる限りリス
トヘッドに近いことが必要である。
上記のような要求に応じ得るものとして、従来性われて
いたデータ管理方法を第8図以下を参照して説明する。
いたデータ管理方法を第8図以下を参照して説明する。
第8図は、上記データ管理方法を実施するためのデータ
管理装置の一例を示す構成図である。
管理装置の一例を示す構成図である。
図において、データ管理装置7i(80)は、検索命令
レジスタ(81)に、データ管理型fi(80)の管理
するデータに対する検索命令を、また、検索データレジ
スタ(82)に、検索すべきデータを識別するための値
を人力情報として格納し、出力レジスタ(82)に、求
めるデータを出力する装置である。
レジスタ(81)に、データ管理型fi(80)の管理
するデータに対する検索命令を、また、検索データレジ
スタ(82)に、検索すべきデータを識別するための値
を人力情報として格納し、出力レジスタ(82)に、求
めるデータを出力する装置である。
(20)はメモリであり、このメモリ(20)には、管
理すべきデータ群が格納されているが、そのデータ群に
含まれるデータは、同図に示すように、データが求める
ものであるかどうかを識別するための比較に用いられる
フィールドである識別部(21)、データ群にリスト構
造を持たせるためのフィールドであるリンク部(22)
、出力すべきデータを格納したフィールドであるデータ
部(23)という3つのフィールドから構成されている
。
理すべきデータ群が格納されているが、そのデータ群に
含まれるデータは、同図に示すように、データが求める
ものであるかどうかを識別するための比較に用いられる
フィールドである識別部(21)、データ群にリスト構
造を持たせるためのフィールドであるリンク部(22)
、出力すべきデータを格納したフィールドであるデータ
部(23)という3つのフィールドから構成されている
。
(10)は、リスト頭部レジスタであり、このリスト頭
部レジスタ(10)には、データ群の作るリストの先頭
の要素であるデータの格納番地を保持している。
部レジスタ(10)には、データ群の作るリストの先頭
の要素であるデータの格納番地を保持している。
(11)は、ヒストリーレジスタであり、このヒストリ
・レジスタ(11)は、検索処理中に、リスト構造を再
構成する際に用いるデータを格納する。
・レジスタ(11)は、検索処理中に、リスト構造を再
構成する際に用いるデータを格納する。
また、(12)は、アドレス・レジスタ、(13)は、
識別部レジスタ、(14)は、リンク部レジスタ、(1
5)は、データ部レジスタであり、これらのレジスタは
、検索処理中に、その時点で比較の対象になっているデ
ータのアドレス、識別部、リンク部、データ部を、それ
ぞれ格納するためのレジスタである。
識別部レジスタ、(14)は、リンク部レジスタ、(1
5)は、データ部レジスタであり、これらのレジスタは
、検索処理中に、その時点で比較の対象になっているデ
ータのアドレス、識別部、リンク部、データ部を、それ
ぞれ格納するためのレジスタである。
次に、上記データ管理装置の動作について第9図のフロ
ーチャートを参照して説明する。
ーチャートを参照して説明する。
第8図の検索命令レジスタ(81)にデータの検索命令
が与えられると、すなわち、検索データレジスタ(82
)にデータの識別に用いられる値が与えられて検索が始
まると、ステップ(30)におし1て、アドレスレジス
タ(12)に、比較の対象となるデータの格納番地を得
る。
が与えられると、すなわち、検索データレジスタ(82
)にデータの識別に用いられる値が与えられて検索が始
まると、ステップ(30)におし1て、アドレスレジス
タ(12)に、比較の対象となるデータの格納番地を得
る。
次に、第3図に詳細に示したように、ステップ(31)
において、アドレスレジスタ(12)に指定された格納
番地のデータの識別部、リンク部、データ部を、それぞ
れ、識別部レジスタ(13)、リンク部レジスタ(14
)、データ部レジスタ(15)に格納する(ステップ3
11,312,313)。
において、アドレスレジスタ(12)に指定された格納
番地のデータの識別部、リンク部、データ部を、それぞ
れ、識別部レジスタ(13)、リンク部レジスタ(14
)、データ部レジスタ(15)に格納する(ステップ3
11,312,313)。
次に、検索データレジスタ(82)の値と、識別部レジ
スタ(13)の値を比較し、現在比較の対象になってい
るデータが求めるものかどうかを判断する。そして、ち
該データが求めるデータでなければ、分岐(36)を経
由してステップ(32)の処理に移る。
スタ(13)の値を比較し、現在比較の対象になってい
るデータが求めるものかどうかを判断する。そして、ち
該データが求めるデータでなければ、分岐(36)を経
由してステップ(32)の処理に移る。
ステップ(32)では、第4図に、その詳細を示したよ
うに、ステップ(321)で、ヒストリレジスタ(11
)に、当該データの格納番地を格納し、ステー。
うに、ステップ(321)で、ヒストリレジスタ(11
)に、当該データの格納番地を格納し、ステー。
ブ(322)で、アドレスレジスタ(12)の値を、リ
ンク部レジスタ(14)の値に更新し、ステップ(31
)の処理にαるが、データ群に含まれるデータのリンク
部には、リスト構造の次の要素であるデータの格納番地
が指定されているため、アドレスレジスタ(12)に、
比較すべきデータの格納番地、ヒストリレジスタ(11
)に、直前に比較したデータの格納番地を格納してステ
ップ(31)からの処理を繰り返すことになる。
ンク部レジスタ(14)の値に更新し、ステップ(31
)の処理にαるが、データ群に含まれるデータのリンク
部には、リスト構造の次の要素であるデータの格納番地
が指定されているため、アドレスレジスタ(12)に、
比較すべきデータの格納番地、ヒストリレジスタ(11
)に、直前に比較したデータの格納番地を格納してステ
ップ(31)からの処理を繰り返すことになる。
一方、当該データが先頭のデータであれば、枝(35)
に進み、次に、アドレスレジスタ(12)の値とリスト
頭部レジスタ(10)の値を比較し、当該データが、リ
スト構造の先頭のデータであるかどうかを判断する。そ
して、当該データが先頭のデータであれば、分岐(38
)に進み、ステップ(33)の処理を行ってからステッ
プ(34)の処理へ進み、出力レジスタ(3)にデータ
部レジスタ(15)の値を出力して検索を終了する。た
だし、ステップ(33)においては、第5図に、その詳
細を示したように、ステップ(331)において、メモ
リ(20)内でヒストリレジスタ(11)の値をアドレ
スとするデータのリンク部(22)をリンク部レジスタ
(14)の値に変更し、ステップ(332)ではメモリ
(20)内で、アドレスレジスタ(12)の値をアドレ
スとするデータのリンク部(22)を、リスト頭部レジ
スタ(lO)の値に変更し、ステップ(333)では、
リスト頭部レジスタ(10)の値をアドレスレジスタ(
12)の値に変更する。
に進み、次に、アドレスレジスタ(12)の値とリスト
頭部レジスタ(10)の値を比較し、当該データが、リ
スト構造の先頭のデータであるかどうかを判断する。そ
して、当該データが先頭のデータであれば、分岐(38
)に進み、ステップ(33)の処理を行ってからステッ
プ(34)の処理へ進み、出力レジスタ(3)にデータ
部レジスタ(15)の値を出力して検索を終了する。た
だし、ステップ(33)においては、第5図に、その詳
細を示したように、ステップ(331)において、メモ
リ(20)内でヒストリレジスタ(11)の値をアドレ
スとするデータのリンク部(22)をリンク部レジスタ
(14)の値に変更し、ステップ(332)ではメモリ
(20)内で、アドレスレジスタ(12)の値をアドレ
スとするデータのリンク部(22)を、リスト頭部レジ
スタ(lO)の値に変更し、ステップ(333)では、
リスト頭部レジスタ(10)の値をアドレスレジスタ(
12)の値に変更する。
すなわち、メモリ(20)内のデータ群のリスト構造を
再構成し、求めるデータであった当該データの前後にあ
るデータ間を、当該データの後に続けることになる。
再構成し、求めるデータであった当該データの前後にあ
るデータ間を、当該データの後に続けることになる。
[発明が解決しようとする問題点]
従来のデータ管理方法を実施するためのデータ管理装置
は、上記のように構成されているので、一定のパターン
に従った検索要求に対しては、データの無駄な並べかえ
が行われて効率が悪いという問題点があった。かかる問
題点をさらに詳細に図を参照して説明する。
は、上記のように構成されているので、一定のパターン
に従った検索要求に対しては、データの無駄な並べかえ
が行われて効率が悪いという問題点があった。かかる問
題点をさらに詳細に図を参照して説明する。
第10図は、データ群を持つリスト構造を簡明に表現す
るための定義図である。
るための定義図である。
同図(A)は、第8図のデータ管理装置(80)のリス
ト頭部レジスタ(lO)及びメモリ(20)を抜き出し
た詳細図であり、それぞれに格納するデータの値の−・
例を表わしている。
ト頭部レジスタ(lO)及びメモリ(20)を抜き出し
た詳細図であり、それぞれに格納するデータの値の−・
例を表わしている。
同図CB)において、head(50)は、リスト頭部
レジスタ(10)を表わしている。また、矢印(60)
は、リスト頭部レジスタ(10)の値が、識別部が八で
あるようなデータの格納番地であることを示し、同図(
A)の場合には、リンク部レジスタ(10)の値が、1
000(h)であることを示してしている。
レジスタ(10)を表わしている。また、矢印(60)
は、リスト頭部レジスタ(10)の値が、識別部が八で
あるようなデータの格納番地であることを示し、同図(
A)の場合には、リンク部レジスタ(10)の値が、1
000(h)であることを示してしている。
ノード(51)は、識別部がAであるデータを表わして
おり、第10図(A)では、メモリ(20)の1000
(h) i地のデータを表わしている。以下のノート(
52)、(53)、(54)、(55)も同様である。
おり、第10図(A)では、メモリ(20)の1000
(h) i地のデータを表わしている。以下のノート(
52)、(53)、(54)、(55)も同様である。
また、矢印(61)は、識別部がAであるデータのリン
ク部の値が、識別部がBであるデータの格納番地である
ことを示しており、第1O図(A)では、メモリ(20
)の1000(h)番地のデータのリンク部が1006
(h)であることを示している。矢印(62)、(63
)、(64)も同様である。
ク部の値が、識別部がBであるデータの格納番地である
ことを示しており、第1O図(A)では、メモリ(20
)の1000(h)番地のデータのリンク部が1006
(h)であることを示している。矢印(62)、(63
)、(64)も同様である。
tail(56)は、データ群の作るリストの終端記号
を表わしており、第10図(A)では、メモリ(20)
の1008(h)番地のデータである。
を表わしており、第10図(A)では、メモリ(20)
の1008(h)番地のデータである。
矢印(65)は、識別部がEのデータのリンク部が、終
端記号のデータの格納番地を表わしていることを示して
おり、第10図では、メモリ(20)の1002(h)
番地のデータにおけるリンク部の値がtooth)であ
ることを示している。
端記号のデータの格納番地を表わしていることを示して
おり、第10図では、メモリ(20)の1002(h)
番地のデータにおけるリンク部の値がtooth)であ
ることを示している。
以下、データ群の構成するリスト構造を表現するために
、第10図(B)に示した表記法を用いることとする。
、第10図(B)に示した表記法を用いることとする。
また、識別部がAであるデータのことを特に断らない限
り、巾にAと呼ぶ。
り、巾にAと呼ぶ。
ここで、従来のデータ管理方法を用いたデータ管理装置
に、A、B、C,・・・・−9Zからなるデータ群が、
第11図(A)のようなリスト構造を持って格納されて
いるとする。この状態のデータ管理装着に、” Aの検
索、次にBの検索、次にCの検索”というパターンを繰
り返す検索要求、すなわち、A、B、C,A、B、C,
A、B、C・・・−という検索要求がかえられた場合の
処理の流れを以下に説明する。
に、A、B、C,・・・・−9Zからなるデータ群が、
第11図(A)のようなリスト構造を持って格納されて
いるとする。この状態のデータ管理装着に、” Aの検
索、次にBの検索、次にCの検索”というパターンを繰
り返す検索要求、すなわち、A、B、C,A、B、C,
A、B、C・・・−という検索要求がかえられた場合の
処理の流れを以下に説明する。
まず、八に対する検索要求が与えられた場合、最初に、
リストの先頭のノードが調べるが、第11図(イ)に示
すように、このノードのデータは、Cであり、Aではな
い、そこで、第9図の分岐(36)に従ってCのリンク
をたどり、次に、第2のノードを調べる。ところが、こ
のノードのデータはBであり、やはりAではない、そこ
で、Bのリンクをたどり第3のノードを調べる。このノ
ードのデータはAで、求めるデータであり、かつ、この
ノードは、リストの先頭ではない、そこで、第9図の分
岐(38)に従ってデータの並べかえを行い、Aをリス
トの先頭に移動させる。
リストの先頭のノードが調べるが、第11図(イ)に示
すように、このノードのデータは、Cであり、Aではな
い、そこで、第9図の分岐(36)に従ってCのリンク
をたどり、次に、第2のノードを調べる。ところが、こ
のノードのデータはBであり、やはりAではない、そこ
で、Bのリンクをたどり第3のノードを調べる。このノ
ードのデータはAで、求めるデータであり、かつ、この
ノードは、リストの先頭ではない、そこで、第9図の分
岐(38)に従ってデータの並べかえを行い、Aをリス
トの先頭に移動させる。
このように、Aの検索要求に対して、データ管理装置は
、第11図(イ)に斜線で示したように、Aをリストの
第3のノードに発見し、Aをリストの先頭へ並べかえる
。その結果、データ群のリスト構造は、第11図(つ)
のように再編成される。
、第11図(イ)に斜線で示したように、Aをリストの
第3のノードに発見し、Aをリストの先頭へ並べかえる
。その結果、データ群のリスト構造は、第11図(つ)
のように再編成される。
次に、Bに対する検索要求が出されると、上記と同様、
第11図(つ)にように、Bをリストの第3ノードに発
見し、それをリストの先頭へ並べかえ、その結果は、第
11図(1)のようになる、さらに、Cに対する検索要
求に対しては、第11図(1)のように、Cを第3ノー
ドに発見し、それを先頭へ並べかえ、第11図(オ)の
ような結果を得る。
第11図(つ)にように、Bをリストの第3ノードに発
見し、それをリストの先頭へ並べかえ、その結果は、第
11図(1)のようになる、さらに、Cに対する検索要
求に対しては、第11図(1)のように、Cを第3ノー
ドに発見し、それを先頭へ並べかえ、第11図(オ)の
ような結果を得る。
この第11図(オ)の状態で、再びAの検索要求が出さ
れるのであるが、第11図(オ)の状態は、第11図(
イ)の状態と同じであるから、2回口以降のA、B、C
の検索の処理は、1回目の処理の繰り返しである。
れるのであるが、第11図(オ)の状態は、第11図(
イ)の状態と同じであるから、2回口以降のA、B、C
の検索の処理は、1回目の処理の繰り返しである。
ここで問題となるのは、A、B、Cのいずれのデータを
発見するのも、リストの第3ノードになってしまうこと
である。
発見するのも、リストの第3ノードになってしまうこと
である。
第11図(ア)において、Bはリストの第2ノードに、
また、Cは先頭のノードに存在する。従って、データの
並べかえを行っていなければ、データ管理装置は、Bを
第2、Cを先頭のノードに発見できたはずである。
また、Cは先頭のノードに存在する。従って、データの
並べかえを行っていなければ、データ管理装置は、Bを
第2、Cを先頭のノードに発見できたはずである。
従来のデータ管理方法では、データの並びかえを行った
ために、かえって検索効率の低下を招いており、ここで
生じる非効率は、”A、B、C”という検索のパターン
が繰り返されるたびに再現されるという問題点があった
。
ために、かえって検索効率の低下を招いており、ここで
生じる非効率は、”A、B、C”という検索のパターン
が繰り返されるたびに再現されるという問題点があった
。
この発明は、上記のような問題点を解消するためになさ
れたもので、データの並びかえを行ったために生じるデ
ータ検索の非効率化をなくしたデータ管理方法を得るこ
とを目的とする。
れたもので、データの並びかえを行ったために生じるデ
ータ検索の非効率化をなくしたデータ管理方法を得るこ
とを目的とする。
[問題点を解決するための手段]
この発明に係るデータ管理方法は、あるデータの検索を
行う場合、その検索処理中のリンク操作の回数であるデ
ータ群の作るリスト構造のリンクのたどった回数を数え
、データを発見した時、あらかじめ定めておいた境界値
と呼ばれるある一定の値と、検索処理中に要したリンク
操作の回数を比較し、リンク操作の回数が境界値以下の
場合には、データの並べかえを行わないようにしたもの
である。
行う場合、その検索処理中のリンク操作の回数であるデ
ータ群の作るリスト構造のリンクのたどった回数を数え
、データを発見した時、あらかじめ定めておいた境界値
と呼ばれるある一定の値と、検索処理中に要したリンク
操作の回数を比較し、リンク操作の回数が境界値以下の
場合には、データの並べかえを行わないようにしたもの
である。
すなわち、リスト構造を持ったデータ群を、境界値によ
って、前方部と呼ぶリストの先頭部から境界値以下の回
数のリンク操作により到達できるデータの集合と、後方
部と呼ぶそれ以外のデータの集合とに分け、データ検索
に際して、前方部のデータについては、並べかえを行わ
ず、後方部のデータについては並べかえを行うようにし
たものである。
って、前方部と呼ぶリストの先頭部から境界値以下の回
数のリンク操作により到達できるデータの集合と、後方
部と呼ぶそれ以外のデータの集合とに分け、データ検索
に際して、前方部のデータについては、並べかえを行わ
ず、後方部のデータについては並べかえを行うようにし
たものである。
[作用コ
この発明のデータ管理方法においては、データ群のリス
ト構造の後方部に属するデータに検索要求が出された場
合には、データの並べかえを行って、次回以降の検索要
求を、データがリストの前方にある状態で受けるように
して検索時間の短縮を図る。
ト構造の後方部に属するデータに検索要求が出された場
合には、データの並べかえを行って、次回以降の検索要
求を、データがリストの前方にある状態で受けるように
して検索時間の短縮を図る。
また、前方部に屈するデータに検索要求が出された場合
に、データの並べかえは行わず、検索効率の低下を招く
不必要な並べかえを省くようにする。
に、データの並べかえは行わず、検索効率の低下を招く
不必要な並べかえを省くようにする。
[¥施例]
以下、この発明の一実施例を図について説明する。
第1図は、この発明のデータ管理方法を実施するためデ
ータ管理装置の一例を示す構成図である。
ータ管理装置の一例を示す構成図である。
この実施例においては、データの検索処理中にリンク操
作の回数を数えるためのリンク操作カウンタ (17)
及びリスト構造を持つデータ群を前方部と後方部に分け
るための境界を示す値を格納する境界設定レジスタ(1
6)が、データ管理装置(100)内に設けられている
。
作の回数を数えるためのリンク操作カウンタ (17)
及びリスト構造を持つデータ群を前方部と後方部に分け
るための境界を示す値を格納する境界設定レジスタ(1
6)が、データ管理装置(100)内に設けられている
。
なお、第1図中の他の構成要素は、第8図の構成要素と
同一である。
同一である。
次に、動作について説明する。
第2図は、第1図に、その構成を示したデータ管理装置
を用いて行う処理の詳細を示すフローチャートである。
を用いて行う処理の詳細を示すフローチャートである。
そこで、検索命令レジスタ(1)にデータの検索命令が
、検索データレジスタ(2)にデータの識別に用いる値
が、それぞれ与えられて検索が始まると、ステップ(4
0)において、まず、リンク操作カウンタ (17)を
値を零に初期化する。
、検索データレジスタ(2)にデータの識別に用いる値
が、それぞれ与えられて検索が始まると、ステップ(4
0)において、まず、リンク操作カウンタ (17)を
値を零に初期化する。
次に、ステップ(30)において、アドレスレジスタ(
12)に、比較の対象となるデータの格納番地を得る。
12)に、比較の対象となるデータの格納番地を得る。
次に、第3図に、その詳細を示したようにステラ7’(
31)において、アドレスレジスタ(12)に指定され
た格納番地のデータの識別部、リンク部、データ部を、
それぞれ識別部レジスタ (13) 、 リンク部レ
ジスタ(14)、データ部レジスタ (15)に格納す
る(ステップ311,312,313)。
31)において、アドレスレジスタ(12)に指定され
た格納番地のデータの識別部、リンク部、データ部を、
それぞれ識別部レジスタ (13) 、 リンク部レ
ジスタ(14)、データ部レジスタ (15)に格納す
る(ステップ311,312,313)。
次に、ステップ(41)において、リンク操作カウンタ
(17)の値を1だけ増加させる。
(17)の値を1だけ増加させる。
次に、検索データレジスタ(2)の値と、識別部レジス
タ(13)の値を比較し、現在比較の対象になっている
データが求めるものかどうかを判断する。そして、当該
データが求めるデータでなければ、分岐(46)に移行
し、ステップ(32)の処理を行う、ここでは、第4図
に、その詳細を示したように、ステラ7’ (32)に
おいては、ヒストリレジスタ(11)に、当該データの
格納番地を格納しくステップ321)、アドレスレジス
タ(12)の値をリンク部レジスタ(14)の値に更新
しくステップ322)、ステップ(31)の処理に戻る
が、データ群に含まれるデータのリンク部に、リスト構
造の次の要素であるデータの格納番地が指定されている
ため、アドレスレジスタ(12)に比較すべきデータの
格納番地、ヒストリレジスタ(11)に、直前に比較し
たデータの格納番地を格納してステップ(31)からの
処理を繰り返すことになる。
タ(13)の値を比較し、現在比較の対象になっている
データが求めるものかどうかを判断する。そして、当該
データが求めるデータでなければ、分岐(46)に移行
し、ステップ(32)の処理を行う、ここでは、第4図
に、その詳細を示したように、ステラ7’ (32)に
おいては、ヒストリレジスタ(11)に、当該データの
格納番地を格納しくステップ321)、アドレスレジス
タ(12)の値をリンク部レジスタ(14)の値に更新
しくステップ322)、ステップ(31)の処理に戻る
が、データ群に含まれるデータのリンク部に、リスト構
造の次の要素であるデータの格納番地が指定されている
ため、アドレスレジスタ(12)に比較すべきデータの
格納番地、ヒストリレジスタ(11)に、直前に比較し
たデータの格納番地を格納してステップ(31)からの
処理を繰り返すことになる。
一方、当該データが求めるデータであれば、ステップ(
45)に移行し、リンク操作カウンタ(17)の値と、
境界設定レジスタ(16)の値を比較し、8該データが
リスト構造の前方部に属するか、後方部に属するかを判
断する。
45)に移行し、リンク操作カウンタ(17)の値と、
境界設定レジスタ(16)の値を比較し、8該データが
リスト構造の前方部に属するか、後方部に属するかを判
断する。
そして、当該データが前方部のデータであれば、分岐(
47)に進み、ステップ(34)でデータ部レジスタ
(15)の値を出力レジスタ(3)に出力して検索を終
了する。ただし、ステップ(33)においては、第5図
に、その詳細を示したように、メモリ(20)内のデー
タ群のリスト構造を再編成し、求めるデータであった当
該データの前後にあるデータ間を、リンク部で結び、当
該データを、リストの先頭の要素とし、それまで先頭で
あったデータを当該データの後に続ける(ステップ33
1,332,333)。
47)に進み、ステップ(34)でデータ部レジスタ
(15)の値を出力レジスタ(3)に出力して検索を終
了する。ただし、ステップ(33)においては、第5図
に、その詳細を示したように、メモリ(20)内のデー
タ群のリスト構造を再編成し、求めるデータであった当
該データの前後にあるデータ間を、リンク部で結び、当
該データを、リストの先頭の要素とし、それまで先頭で
あったデータを当該データの後に続ける(ステップ33
1,332,333)。
以上、要するに、この実施例が、従来のデータ管理方法
を用いるデータ管理装置と異る点は、データ検索の処理
中に、リンク操作の回数を数え、その回数と、一定の基
準の比較により、データの並べかえを行う場合と、デー
タの並べかえを行わない場合に処理を分けることである
。
を用いるデータ管理装置と異る点は、データ検索の処理
中に、リンク操作の回数を数え、その回数と、一定の基
準の比較により、データの並べかえを行う場合と、デー
タの並べかえを行わない場合に処理を分けることである
。
次に、上記したこの発明のデータ管理方法におけるデー
タの検索効率が、この発明によって如何に向上するかを
、図を参照して説明する。
タの検索効率が、この発明によって如何に向上するかを
、図を参照して説明する。
第6図は、この発明のデータ管理方法で管理するデータ
群の構造を簡明に表現するための略記法の定義図である
。
群の構造を簡明に表現するための略記法の定義図である
。
同図(A)は、第1図のデータ管理装置のリスト頭部レ
ジスタ(10)、境界設定レジスタ(16)、及びメモ
リ (20)を抜き出したものであり、それぞれの格納
するデータの一例を表わしている。
ジスタ(10)、境界設定レジスタ(16)、及びメモ
リ (20)を抜き出したものであり、それぞれの格納
するデータの一例を表わしている。
同図CB)において、縦線(70)は、データ群を前方
部と後方部に分ける境界を表わしている。
部と後方部に分ける境界を表わしている。
第6図(A)の例では、境界設定レジスタ(16)の値
が0003(h)なので、リストの先頭から3つのデー
タA、B、Cが前方部のデータで、それ以外のり、Eが
後方部のデータであるから、境界(70)は、Cと0と
の間に設定しである。
が0003(h)なので、リストの先頭から3つのデー
タA、B、Cが前方部のデータで、それ以外のり、Eが
後方部のデータであるから、境界(70)は、Cと0と
の間に設定しである。
なお、第6図のその他の構成要素は、第10図に示した
構成要素と同一である。
構成要素と同一である。
さて、この発明のデータ管理方法を用いたデータ管理装
置に、A、B、C,・・・・・、Zからなるデータ群が
第7図(ア)のようなリスト構造を持って格納されてい
るとする。
置に、A、B、C,・・・・・、Zからなるデータ群が
第7図(ア)のようなリスト構造を持って格納されてい
るとする。
上記の状態のデータ管理装置に、”A、B、C”の繰り
返し、すなわち、A、B、C,A、B、C,A、B、C
,−−−・・という形の検索要求が与えられた場合を考
え、その処理を追うと以下のようになる。
返し、すなわち、A、B、C,A、B、C,A、B、C
,−−−・・という形の検索要求が与えられた場合を考
え、その処理を追うと以下のようになる。
まず、Aの検索要求が出されると、第7図(イ)に斜線
で示したように、リストの第3ノードにAを発見するが
、Aは、前方部のデータなので、従来の管理方法とは異
なり、データの並べかえは行わない。
で示したように、リストの第3ノードにAを発見するが
、Aは、前方部のデータなので、従来の管理方法とは異
なり、データの並べかえは行わない。
次のBの検索要求に対し、データ管理装置(100)は
、第7図(つ)に示したように、BをリスI・の第27
−ドに発見する。この場合もデータの並べかえは行わな
い。
、第7図(つ)に示したように、BをリスI・の第27
−ドに発見する。この場合もデータの並べかえは行わな
い。
次のCへの検索要求に対しては、データ管理装置1Ii
(100)は、第7図(1)に示したように、今度はC
をリストの先頭のノードに発見する。
(100)は、第7図(1)に示したように、今度はC
をリストの先頭のノードに発見する。
この場合も前記と同様にデータの並べかえを行わない。
2回目移行の”A、B、C”の検索に際しては、上記の
処理が繰り返される。この例では、データの並べかえは
1度も行われていない、また、従来のデータの管理方法
の例では、不必要な並べかえ操作の影響で、第3ノード
に発見することになっていたB、Cを、それぞれ第27
−ド、先頭メートで発見することができる。
処理が繰り返される。この例では、データの並べかえは
1度も行われていない、また、従来のデータの管理方法
の例では、不必要な並べかえ操作の影響で、第3ノード
に発見することになっていたB、Cを、それぞれ第27
−ド、先頭メートで発見することができる。
[発明の効果]
以上のように、この発明によれば、データ検索の際にデ
ータの無駄な並びかえ操作を省き、従来のデータ管理方
法では、データの並べかえを行っていたために生じてい
たデータ検索の非効率化を抑制することができ、また、
この発明のデータ管理方法は、上記の実施例のように一
定のパターンのデータ検索要求が繰り返される吟にきわ
めて有効であるなどの効果がある。
ータの無駄な並びかえ操作を省き、従来のデータ管理方
法では、データの並べかえを行っていたために生じてい
たデータ検索の非効率化を抑制することができ、また、
この発明のデータ管理方法は、上記の実施例のように一
定のパターンのデータ検索要求が繰り返される吟にきわ
めて有効であるなどの効果がある。
第1図は、この発明のデータ管理方法を実施するための
データ管理装置の構成図、i2図は、L記憶1図のデー
タ管理装置におけるデータ検索の処理手順を示すフロー
チャート、第3図は、上記第2図及び第9図のフローチ
ャートにおけるデータ取り込み処理の詳細な内容を示す
フローチャート、第4図は、同じく上記第2図及び第9
図のフローチャートにおけるポインタはりかえ処理の詳
細な内容を示すフローチャート、第5図は、上記第2図
及び第9図のフローチャートにおけるデータの並べかえ
処理の詳細な内容を示すフローチャート、第6図(A)
、(B)は、この発明のデータ管理方法におけるデータ
構造の略記法を示す定義図、第7図(ア)ないしくオ)
は、この発明のデータ管理方法におけるデータ検索の手
順を示す説明図、第8図は、従来のデータ管理方法を実
施するだめのデータ管理装置の構成図、第9図は、上記
第8図のデータ管理装置におけるデータ検索の処理手順
を示すフローチャート、第10図(A)、(B)は、従
来のデータ管理方法におけげノri+\((才λ るデータ構造の略記法を示す定義図、第11−Tは、従
来のデータ管理方法におけるデータ検索の手順をを示す
説明図、第12図(A)、(B)は、リスト構造を持つ
データ群を管理する例としてあげたディスクキャシュの
説明図である。 (1)・・・検索命令レジスタ、 (2)・・・検索データレジスタ、 (3)・・・出力レジスタ、 (10)・・・ リスト頭部レジスタ、(11)・・・
ヒストリレジスタ、 (12)・・・アドレスレジスタ、 (13)・・・識別部レジスタ。 (14)・・・ リンク部レジスタ、 (15)・・・データ部レジスタ、 (16)・・・境界設定レジスタ、 (17)・・・リンク操作部カウンタ、(20)・・・
メモリ、 (100)・・・データ管理装置。 なお、各図中、同一符号は同一または相当部分を示す。
データ管理装置の構成図、i2図は、L記憶1図のデー
タ管理装置におけるデータ検索の処理手順を示すフロー
チャート、第3図は、上記第2図及び第9図のフローチ
ャートにおけるデータ取り込み処理の詳細な内容を示す
フローチャート、第4図は、同じく上記第2図及び第9
図のフローチャートにおけるポインタはりかえ処理の詳
細な内容を示すフローチャート、第5図は、上記第2図
及び第9図のフローチャートにおけるデータの並べかえ
処理の詳細な内容を示すフローチャート、第6図(A)
、(B)は、この発明のデータ管理方法におけるデータ
構造の略記法を示す定義図、第7図(ア)ないしくオ)
は、この発明のデータ管理方法におけるデータ検索の手
順を示す説明図、第8図は、従来のデータ管理方法を実
施するだめのデータ管理装置の構成図、第9図は、上記
第8図のデータ管理装置におけるデータ検索の処理手順
を示すフローチャート、第10図(A)、(B)は、従
来のデータ管理方法におけげノri+\((才λ るデータ構造の略記法を示す定義図、第11−Tは、従
来のデータ管理方法におけるデータ検索の手順をを示す
説明図、第12図(A)、(B)は、リスト構造を持つ
データ群を管理する例としてあげたディスクキャシュの
説明図である。 (1)・・・検索命令レジスタ、 (2)・・・検索データレジスタ、 (3)・・・出力レジスタ、 (10)・・・ リスト頭部レジスタ、(11)・・・
ヒストリレジスタ、 (12)・・・アドレスレジスタ、 (13)・・・識別部レジスタ。 (14)・・・ リンク部レジスタ、 (15)・・・データ部レジスタ、 (16)・・・境界設定レジスタ、 (17)・・・リンク操作部カウンタ、(20)・・・
メモリ、 (100)・・・データ管理装置。 なお、各図中、同一符号は同一または相当部分を示す。
Claims (1)
- データの集合にリスト構造を持たせるため、各データに
リンクと呼ばれる新たなフィールドを付加し、各データ
のリンクには、リスト構造において自らの次に位置すべ
きデータのアドレスを格納し、リストの最後尾となるべ
きデータのリンクには、終端記号と呼ばれるあらかじめ
定められた特定の値を格納し、リスト構造により表現さ
れた順序を持つデータの集合であるデータ群に対して、
ある一定の値を持つ境界値を設定し、リストの先頭から
前記境界値以下の回数だけ、リンクをたどることによっ
て到達できるデータの集合を前方部とし、それ以外のデ
ータの集合を後方部として、リストを前方部と後方部に
分け、データを検索する際に、リストの先頭からデータ
を順検索し、求めるデータをリストの前方部に発見した
場合には、単に、要求されたデータを出力し、リストの
後方部に発見した場合には、要求されたデータを出力す
るだけでなく、リスト構造を再編成して、発見したデー
タをリストの前方部に移すことを特徴とするデータ管理
方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61092571A JPS62248031A (ja) | 1986-04-22 | 1986-04-22 | デ−タ管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61092571A JPS62248031A (ja) | 1986-04-22 | 1986-04-22 | デ−タ管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS62248031A true JPS62248031A (ja) | 1987-10-29 |
Family
ID=14058112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61092571A Pending JPS62248031A (ja) | 1986-04-22 | 1986-04-22 | デ−タ管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS62248031A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000049529A1 (fr) * | 1999-02-18 | 2000-08-24 | Fujitsu Limited | Procede et dispositif permettant de soumettre une chaine de caracteres a une recherche par tri statistique |
-
1986
- 1986-04-22 JP JP61092571A patent/JPS62248031A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000049529A1 (fr) * | 1999-02-18 | 2000-08-24 | Fujitsu Limited | Procede et dispositif permettant de soumettre une chaine de caracteres a une recherche par tri statistique |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7454403B2 (en) | Method and mechanism of improving performance of database query language statements using data duplication information | |
US4916655A (en) | Method and apparatus for retrieval of a search string | |
US5566329A (en) | System and method for mutation of selected assignment operations on large data objects | |
US5721924A (en) | Method and device for obtaining a value of a referred to variable defined in a source program having a specific variable name | |
US5513332A (en) | Database management coprocessor for on-the-fly providing data from disk media to all without first storing data in memory therebetween | |
EP1850250A1 (en) | Method and system for renewing an index | |
US5519860A (en) | Central processor index sort followed by direct record sort and write by an intelligent control unit | |
JPS62248031A (ja) | デ−タ管理方法 | |
JPH07146880A (ja) | 文書検索装置及び方法 | |
US7487405B1 (en) | Method and mechanism for dynamically configuring logical paths of state machines | |
CN117009187B (zh) | 上位机监控***cid文件增量式编译方法、***及设备 | |
JP2576589B2 (ja) | 仮想記憶アクセス制御方式 | |
JP2615046B2 (ja) | レコード追加処理方法 | |
JPS62165239A (ja) | 情報検索方法 | |
JPH02257284A (ja) | データ処理装置 | |
JPH05120348A (ja) | バツフア記憶の制御方式 | |
JPH06332799A (ja) | 木情報格納方式 | |
JPS63278150A (ja) | 論理シミュレ−ション装置 | |
JPH0642248B2 (ja) | 情報検索装置 | |
JPH04199338A (ja) | データベース管理システム | |
JPH02150920A (ja) | 最大値データ検索方式 | |
JPS63118958A (ja) | 索引フアイル記憶装置 | |
JPH043251A (ja) | 文書検索方法および文書検索処理装置 | |
JPH06274391A (ja) | マスタファイル高速更新処理方式 | |
JPH0130168B2 (ja) |