JPH0467660B2 - - Google Patents

Info

Publication number
JPH0467660B2
JPH0467660B2 JP60139978A JP13997885A JPH0467660B2 JP H0467660 B2 JPH0467660 B2 JP H0467660B2 JP 60139978 A JP60139978 A JP 60139978A JP 13997885 A JP13997885 A JP 13997885A JP H0467660 B2 JPH0467660 B2 JP H0467660B2
Authority
JP
Japan
Prior art keywords
file
record
chain
records
field
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.)
Expired - Lifetime
Application number
JP60139978A
Other languages
English (en)
Other versions
JPS621029A (ja
Inventor
Koichi Nakajima
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 Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP60139978A priority Critical patent/JPS621029A/ja
Publication of JPS621029A publication Critical patent/JPS621029A/ja
Publication of JPH0467660B2 publication Critical patent/JPH0467660B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 技術分野 本発明はチエイン探索方法に関し、特に電子計
算機システムにおいて補助記憶装置に格納された
チエイン構造をもつフアイル内のレコード順序性
を認識するためのチエイン探索方式に関する。
従来技術 磁気デイスクなど補助記憶装置に記録されるレ
コードの順序性を表現する方式として、始点レコ
ードから論理的に番目のレコード内に+1番
目のレコードアドレスをポインタとして記録する
方式がある。以下、この記録方式によつて記録さ
れたレコードの格納されている補助記憶装置内の
領域をチエインフアイル、1つの始点レコードか
らポインタによつて連結されているレコードの集
まりをチエインと夫々呼ぶ。
各レコードが始点レコードから何番目のレコー
ドであるかを認識するための従来方式としては、
何らかの手段によつて始点レコードを補助記憶装
置から主記憶装置に読込んだ後、各レコードに記
録されたポインタから次のレコードのアドレスを
得て、該レコードの属するページを直アクセス手
段により主記憶装置に読込む操作を繰返して、終
点レコードまでたどる方式がある。
ここにページとは補助記憶装置と主記憶装置と
の間の物理入出力単位であり、以下補助記憶装置
と主記憶装置との間でページを入出力するための
操作をページIOと呼ぶ。
第2図は4個のページからなるチエインフアイ
ルの例であり、チエインフアイル内には1個のチ
エインを構成する7個のレコードが格納されてい
る。aiは各レコードのアドレスを示し、a4は始
点レコード、a5は終点レコード、その他はすべ
て中間レコードである。
従来方式においては、ある始点レコードに対応
するチエイン全体が1つのページ内に閉じて格納
されている場合は、主記憶に読込んだページ内を
探索できるため、1個のページIOで終点レコー
ドまでたどることができる。
しかし、この第2図のようにチエインが複数個
のページに跨つて記録されている場合は、読込ん
だページをすべて記憶しない限り、各レコード毎
にページIOを必要とする。第2図においては始
点レコードはチエインフアイル内で1個のみであ
るが、チエインフアイル内に多数の始点レコード
とそれらレコードから始まるチエインが存在し、
各チエインがページに跨つているような場合は、
すべてのチエインをたどるためにはフアイル当り
のレコード件数に等しい回数のページIOが必要
である。
さらに、第3図に示すように、順序性を規定す
るポインタが複数種類あるときは、フアイル当り
のレコード件数とレコード当りのポインタ数の積
に相当するページIOが必要になる場合がある。
発明の目的 本発明は以上述べてきた従来技術の問題点を解
決すべくなされたものであり、その目的とすると
ころは、ページIOの削減を図つたチエイン探索
方法を提供することである。
発明の構成 本発明によれば、チエインフアイル内の各レコ
ードの順序性を認識するチエイン探索方法であつ
て、前記チエインフアイルのページをチエインフ
アイルの先頭から順次主記憶内に読込む第1のス
テツプと、チエインフアイル内の各レコードにつ
いて、そのレコードの格納アドレスと前記レコー
ド内のポインタとの組から、(A,B,C,N)
の4つのフイールド(A及びCは始点、終点、中
間の各レコードに応じてそのアドレス及びポイン
タを記録するフイールド、Bは始点、終点、中間
の各レコードに応じて0,1または2を記録する
フイールド、Nはレコードの順序を示すフイール
ド)からなるフイールドレコードを生成して分類
用作業フアイルに格納する第2のステツプと、前
記分類用作業フアイルの前記フイールドレコード
について前記フイールドをキーとして昇順に並べ
換えを行う第3のステツプと、この並べ換え後の
分類用作業フアイルの互いに隣接するフイールド
レコードの各々に関して所定の規則に従つて互い
に突合せ処理を行いその突合せが一定の関係にあ
るフイールドレコードを結果フアイルに格納し、
それ以外のフイールドレコードの突合せ結果を突
合せ用作業フアイルに格納する第4のステツプ
と、前記第4のステツプの終了に応答して前記突
合せ用作業フアイルの内容を前記分類用作業フア
イルへ複写して前記第3のステツプから前記第4
のステツプを繰返し行う第4のステツプとを含
み、前記突合せ用作業フアイルにフイールドレコ
ードが一件も出力されなくなつたときの前記結果
フアイルのフイールドレコードの前記Nフイール
ドにより、チエインフアイル内の任意のレコード
がチエインフアイル内の最初のレコードから幾つ
チエインをたどれば到達できるかを示す情報を得
るようにしたことを特徴とするチエイン探索方法
が得られる。
実施例 以下、本発明の実施例を図面を用いて説明す
る。
本発明の実施例のブロツク図を第1図に示す。
第1図において、補助記憶装置11〜41は必ず
しも異なる装置である必要はなく、チエインフア
イル11、結果フアイル21、突合せ用作業フア
イル31、分類用作業フアイル41の全部または
これらの任意の組合せを同一の補助記憶装置に配
置してもよいが、第1図ではこれらフアイルは全
て異なる補助記憶装置に配置されているものとし
て示している。
制御手段5は順アクセス手段1を用いてチエイ
ンフアイルを読み順序性を認識するために必要な
レコードを順アクセス手段4を用いて分類用作業
フアイル41に出力し、その後分類手段6と順ア
クセス手段3、順アクセス手段4を繰返し用いて
分類用作業フアイル41と突合せ用作業フアイル
31との間でレコードを複数回移し変えながら、
順序性の決定したレコードを順アクセス手段2を
用いて結果フアイル21へ出力する。
本発明の前提となるチエインフアイル11の条
件を第2図によつて説明する。
(1) aiはレコードアドレスを示し、各レコードを
チエインフアイル11内で一意に識別するもの
であれば、その表現形式は任意である。ただ
し、ページを読込んだときにai値が判別できる
ことが必要である。
(2) レコードの第1フイールドはポインタを示
し、第2フイールドはレコードがチエインの始
点であるか(第2図では“S”)、終点であるか
(第2図では“E”)、中間であるか(第2図で
は空白)を示すフラグである。ポインタおよび
フラグの位置、フラグの値は該レコード自身ま
たは外部からの指示により判別できる限り任意
である。
分類用作業フアイル41、突合せ用作業フアイ
ル31及び結果フアイル21には、夫々4個のフ
イールドで構成される新たなフイールドレコード
(A,B,C,N)が格納される。第1及び第3
フイールドA,Cには、始点、終点、中間の各レ
コードに応じてそのアドレスやポインタが記録さ
れ、第2フイールドBには、同じく始点、終点、
中間の各レコードに応じて0,1または2の各値
が記録され、第4フイールドNにはレコードの順
序性を示す整数値が記録されるもので、具体的に
は以下のとおりである。
(1) B=0かつN=0ならば、チエインフアイル
内のレコードはチエインフアイル内のレコード
Aからチエインをたどつて2のG乗番目(2G
あり、ここにGは整数値レジスタの値であつて
後述する突合せ用作業フアイル31へ突合せ処
理結果を何回繰返し格納したかの回数を表わ
す)に当ることを示す。
(2) B=0かつN≠0ならば、チエインフアイル
内のレコードAは始点レコードからチエインを
たどつてN番目にあたることを示す。
(3) B=1かつN=0ならば、チエインフアイル
内のレコードAはレコードNからチエインをた
どつて2のG乗番目にあたることを示す。
(4) B=2のときはチエインフアイル内のレコー
ドAは終点レコードであることを示し、この場
合はC=0,N=0である。
以下の説明では、分類用作業フアイル41、突
合せ用作業フアイル31及び結果フアイル21の
各フイールドレコードの内容を上述した(A,
B,C,N)の形式で示し、例えば、第4図Aの
最初のレコードは(a6,0,a1,0)で表わさ
れる。
本発明は第3図のように順序性を規定するポイ
ンタが複数種類ある場合、またフアイル内に複数
の始点レコードがある場合にも容易に応用できる
ので、第2図のチエインフアイル11について、
第1図にもとづき手順の詳細を説明する。
(1) 訟御手段5は順序アクセス手段1を用いてチ
エインフアイル11の先頭からページを順次的
に主記憶装置に読込み、チエインフアイル11
のすべてのレコードにつき、以下の(1−1),
(1−2),(1−3)のいずれかの操作を行う。
(1‐1) レコードaiが始点レコードならば、
[ai,0,ai,0]なるフイールドレコード
を生成して結果フアイルに出力し[aiのポイ
ンタ、0,ai,1]なるフイールドレコード
を生成して分類用作業フアイル41に出力す
る。
(1‐2) レコードaiが終点レコードならば、
[ai,2,0,0]なるフイールドレコード
を生成して分類用作業フアイル41に出力す
る。
(1‐3) レコードaiが中間レコードならば、[ai
のポインタ、0,ai,0]なるフイールドレ
コードと、[ai,1,aiのポインタ、0]な
るフイールドレコードを生成し、分類用作業
フアイル41に出力する。
チエインフアイル11内のレコードが全て始点
レコードであれば処理を終了し、そうでなければ
レジスタGの値を0にして分類手段6に制御を渡
し、(2)へ行く。
(2) 分類手段6は分類用主記憶装置7を使用しつ
つ、分類用作業フアイル41のレコードをその
第1フイールド、第2フイールド、第3フイー
ルドをキーとして昇順に並び換えて、制御手段
5に制御を返す。
(3) 制御手段5は分類用作業フアイル41の先頭
からレコードを読込み前後のレコードを比較し
ながら(31)〜(36)のいずれかの処理を分類
用作業フアイル41の終端に達するまで繰り返
す。(31)〜(36)において、Ap,Bp,Cp,
Npは分類用作業フアイル41の先頭からp番
目のレコードの第1、第2、第3、第4フイー
ルドの値を示す。
(31) Ap=Ap+1,Bp+1=1,Np=0な
らば、[Cp+1,0,Cp,0]及び[Cp,1,
Cp+1,0]なるフイールドレコードを突合
せ用作業フアイル31に出力し、p=p+2と
する。すなわち、チエインフアイル内のレコー
ドApがチエインフアイル内のレコードCpから
2のG乗番目にあたり、チエインフアイル内の
レコードCp+1がAp(=Ap+1)から2のG
乗番目にあたるため、Cp+1がCpから2のG
+1乗番目にあたり、チエインの先頭から何番
目にあたるかは未確定であることを示す情報を
次のG+1回目の処理のために保存する。
(32) Ap=Ap+1,Bp+1,Np≠0であれ
ば、[Ap,0,Cp,Np]及び[Cp+1,0,
Cp,Np+2のG乗]なるフイールドレコード
を突合せ用作業フアイル31に出力し、p=p
+2とする。すなわち、Apは始点フイールド
からチエインをたどつてNp番目であり、かつ
Cp+1はApから2のG乗番目にあたり、Cp+
1はCpからNp+2のG乗番目にあたるため、
Apは始点レコードCpからNp番目であり、Cp
+1はCpからNp+2のG乗番目にあたること
を示す情報を次のG+1回目の処理のために保
存する。
(33) Ap=Ap+1,Bp+1=2,Np=0な
らば、p+1番目のレコードを突合せ用作業フ
アイル31に出力し、p=p+2とする。
(34) Ap=Ap+1,Bp+1=2,Np≠0な
らば、p番目のレコードを突合せ用作業フアイ
ル31に出力し、p=p+2とする。
(35) Ap≠Ap+1,Bp=Bp+1=0,Np=
0ならば、p=p+1とする。
(36) Ap≠Ap+1,Bp=Bp+1=0,Np≠
0ならばp番目のレコードを結果フアイル21
に出力し、p=p+1とする。
制御手段5は分類用作業フアイル41の終端に
達すると、下記の操作を行う。
(37) 最終レコードの第4フイールドが0のと
きは(38)へ行き、0でなければ最終レコード
を結果フアイル21へ出力して(38)へ行く。
(38) 前記繰返し処理中に突合せフアイル31
へ1件もレコードが出力されなければ処理を終
了し、そうでなければ(4)へ行く。
(4) 制御手段5はレジスタGに1を加算し、突合
せ用作業フアイル31の内容を分類用フアイル
41に複写して分類手段6に制御を渡し、(2)へ
行く。
以上のように、分類処理を繰返す過程におい
て、結果フアイル21には、[自アドレス、0、
始点レコードアドレス、始点レコードからの相対
番号]なる形式のレコードが蓄積され、チエイン
フアイル11内の全てのレコードの順序性が認識
できる。
第4図を用いて手順の詳細を補足説明する。第
2図のチエインフアイル11を入力して前記手順
(1)を実行すると、分類用作業フアイル41の内容
は第4図Aのようになり、結果フアイル21には
第4図のCで示すレコードが出力される。
手順(2)により第4図Aを分類すると分類用作業
フアイル41は第4図Bで示す状態になる。G=
0のとき、手順(3)を実行すると第4図Dで示す突
合せ用作業フアイル31が作成され、手順(4)でG
=1として手順(2)により分類すると分類用作業フ
アイル41は第4図Eで示す状態になる。
G=1のとき、手順(3)を実行すると第4図Fで
示す突合せ用作業フアイル31が作成され、手順
(4)でG=2として手順(2)による分類すると分類用
作業フアイル41は第4図Gで示す状態になる。
G=2のとき、手順(3)を実行すると第4図Hで
示す突合せ用作業フアイル31が作成され、第4
図Jで示すレコードが結果フアイル21に追加さ
れ、手順(4)でG=3として手順(2)により分類する
と分類用作業フアイル41は第4図Iで示す状態
になる。
G=3のとき、手順(3)を実行すると第4図Kで
示すレコードが結果フアイル21に追加される
が、突合せ用作業フアイル31にはレコードが出
力されないので、処理を終了する。
前記のように手順を繰返すことにより、結果フ
アイル21へは第4図C、第4図J及び第4図K
で示すレコードが蓄積される。よつて、この結果
フアイルの内容により各レコードの順序性が認識
可能となる。
以上要約すれば、順アクセス手段1を用いてチ
エインフアイル11内のページをすべて読込み、
各レコードの順序性を認識するために必要なレコ
ードからなる作業フアイルを作成し、これ等をレ
コードに対して[log2N]++1回の分類処理を繰
返すことにより、チエインフアイル内のすべての
チエインについて、各レコードのチエイン内での
順序性を認識するようにしているのである。
ここに、Nはチエインフアイルに含まれている
すべてのチエインについて、チエインを構成する
レコードから1引いた値の最大値をとつた値であ
り、[ ]+は小数点以下を切下げた整数値を示す
ものとする。
このように、チエインフアイル当りのページ数
に等しいページIO回数と作業フアイルに対する
ページIO回数との和でもつて、チエインフアイ
ル内のすべてのチエインの順序性が認識できるこ
とになり、[log2N]++1回の分類操作の過程で
作業フアイルのレコード数は急激に減少する。
また、作業フアイルのページ当りのレコード数
を補助記憶装置の特性が許す限り最大化して作業
フアイルのページIOを削減できること、分類用
主記憶容量を大きくして分類作業フアイルのペー
ジIOを削減できるなど最適化が容易であるとい
う利点を有する。特に、ページに跨がるチエイン
の多いチエインフアイルに対しては、従来方式に
比し全体のページIOを削減できることになるの
である。
発明の効果 以上述べたように、本発明はチエインフアイル
に大量のレコードが格納されているとき、すべて
のレコードのチエイン内での順序性を一度に認識
する場合に効果がある。特に、チエインフアイル
内に異なる順序性を規定するポインタが何種類も
存在する場合に効果が著しい。
本発明はデータ間の論理的な関係をチエインで
表現してするデータベースの再編成処理やチエイ
ンの連結状態を検査する場合に応用できる。
【図面の簡単な説明】
第1図は本発明の実施例のブロツク図、第2図
及び第3図はチエインフアイルの例を示す図、第
4図A〜Kは第2図のチエインフアイルについて
本発明を適用して順序性を認識する過程を示す図
である。 主要部分の符号の説明、1…順アクセス手段
1、2…順アクセス手段2、3…順アクセス手段
3、4…順アクセス手段4、5…制御手段、6…
分類手段、7…分類用主記憶、11…チエインフ
アイル、21…結果フアイル、31…突合せ用作
業フアイル、41…分類用作業フアイル。

Claims (1)

    【特許請求の範囲】
  1. 1 チエインフアイル内の各レコードの順序性を
    認識するチエイン探索方法であつて、前記チエイ
    ンフアイルのページをチエインフアイルの先頭か
    ら順次主記憶内に読込む第1のステツプと、チエ
    インフアイル内の各レコードについて、そのレコ
    ードの格納アドレスと前記レコード内のポインタ
    との組から、(A,B,C,N)の4つのフイー
    ルド(A及びCは始点、終点、中間の各レコード
    に応じてそのアドレス及びポインタを記録するフ
    イールド、Bは始点、終点、中間の各レコードに
    応じて0,1または2を記録するフイールド、N
    はレコードの順序を示すフイールド)からなるフ
    イールドレコードを生成して分類用作業フアイル
    に格納する第2のステツプと、前記分類用作業フ
    アイルの前記フイールドレコードについて前記各
    フイールドをキーとして昇順に並べ換えを行う第
    3のステツプと、この並べ換え後の分類用作業フ
    アイルの互いに隣接するフイールドレコードの
    各々に関して所定の規則に従つて互いに突合せ処
    理を行いその突合せ結果が一定の関係にあるフイ
    ールドレコードを結果フアイルに格納し、それ以
    外のフイールドレコードの突合せ結果を突合せ用
    作業フアイルに格納する第4のステツプと、前記
    第4のステツプの終了に応答して前記突合せ用作
    業フアイルの内容を前記分類用作業フアイルへ複
    写して前記第3のステツプから前記第4のステツ
    プを繰返し行う第5のステツプとを含み、前記突
    合せ用作業フアイルにフイールドレコードが一件
    も出力されなくなつたときの前記結果フアイルの
    フイールドレコードの前記Nフイールドにより、
    チエインフアイル内の任意のレコードがチエイン
    フアイル内の最初のレコードから幾つチエインを
    たどれば到達できるかを示す情報を得るようにし
    たことを特徴とするチエイン探索方法。
JP60139978A 1985-06-26 1985-06-26 チェイン探索方法 Granted JPS621029A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60139978A JPS621029A (ja) 1985-06-26 1985-06-26 チェイン探索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60139978A JPS621029A (ja) 1985-06-26 1985-06-26 チェイン探索方法

Publications (2)

Publication Number Publication Date
JPS621029A JPS621029A (ja) 1987-01-07
JPH0467660B2 true JPH0467660B2 (ja) 1992-10-29

Family

ID=15258094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60139978A Granted JPS621029A (ja) 1985-06-26 1985-06-26 チェイン探索方法

Country Status (1)

Country Link
JP (1) JPS621029A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2538906B2 (ja) * 1987-03-13 1996-10-02 株式会社東芝 Icカ―ド

Also Published As

Publication number Publication date
JPS621029A (ja) 1987-01-07

Similar Documents

Publication Publication Date Title
US4053871A (en) Method and system for the iterative and simultaneous comparison of data with a group of reference data items
JPS60218142A (ja) デ−タの動的型変換方式
JP2693914B2 (ja) 検索システム
EP0912922A1 (en) Method and system for performing a boolean operation on bit strings using a maximal bit slice
JPH0467660B2 (ja)
JPS63249267A (ja) 電子ファイリング装置の管理方法
JPS6172333A (ja) 複数ファイルのマージ方法
JPS6132695B2 (ja)
CN119248287B (zh) 一种ole对象解析方法、装置、计算机设备和存储介质
JP2596332B2 (ja) データ組合せ抽出方法およびその装置
JP2943693B2 (ja) ソート作業ファイルスペース管理方式
JP2507399B2 (ja) デ―タベ―ス装置
JPS62121532A (ja) デ−タ検索方法
JPH0475551B2 (ja)
CA2239157C (en) Method and system for performing a boolean operation on bit strings using a maximal bit slice
JPS63253431A (ja) インバ−テツド構造のデ−タベ−ス検索方式
JPS59148921A (ja) デ−タチエツク方式
Lindstrom Algorithms for list structure condensation
JPS63282846A (ja) 原始プログラム保持形式変換装置
JPH0774785A (ja) サイクリックバッファ制御装置
JPH02206829A (ja) レコード群ソート方法
JPS61166624A (ja) ロギングレコ−ドの分類方式
JPH04195559A (ja) サブファイル管理方式
JPS63225824A (ja) 集合演算方式
JPS63158641A (ja) フアイル空き管理方式