JPH02216554A - 索引順編成ファイルの再編成方式 - Google Patents

索引順編成ファイルの再編成方式

Info

Publication number
JPH02216554A
JPH02216554A JP1037387A JP3738789A JPH02216554A JP H02216554 A JPH02216554 A JP H02216554A JP 1037387 A JP1037387 A JP 1037387A JP 3738789 A JP3738789 A JP 3738789A JP H02216554 A JPH02216554 A JP H02216554A
Authority
JP
Japan
Prior art keywords
key
file
record
memory
index
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
JP1037387A
Other languages
English (en)
Inventor
Mie Ooyamaguchi
大山口 三恵
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.)
HOKKAIDO NIPPON DENKI SOFTWARE KK
NEC Solution Innovators Ltd
Original Assignee
HOKKAIDO NIPPON DENKI SOFTWARE KK
NEC Software Hokkaido 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 HOKKAIDO NIPPON DENKI SOFTWARE KK, NEC Software Hokkaido Ltd filed Critical HOKKAIDO NIPPON DENKI SOFTWARE KK
Priority to JP1037387A priority Critical patent/JPH02216554A/ja
Publication of JPH02216554A publication Critical patent/JPH02216554A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、ハードディスクを接続した索引順編成ファイ
ルを有する情報処理システムにおける索引順編成ファイ
ルの再編成方式に関する。
〔従来の技術〕
従来のこの穐の索引順編成ファイルの再編成方式に使用
されている索引順編成ファイルの構造について図面を参
照して説明する。
第8図は、索引順編成ファイルの構造を示す図であり、
索引部1と、データ部2とから構成される。
第9図は、第8図の索引順編成ファイル索引部1の階層
構造を示す図であり、第2レベル索引ブロツクである1
と、第2レベル索引ブロツクである2、3と、最下位レ
ベル索引ブロックである4゜5,6と、データレコード
7.8.9.10から構成される。
第10図は、第8図の索引順編成ファイルの削除レコー
ドチエインを示す図であり、削除レコードは、削除レコ
ードであることを示す16進コード″FF”コード1と
、次の削除レコードのアドレスを示すポインタ2とから
構成されている。また、最後の削除レコードは、次の削
除レコードのアドレスを示すポインタの場所に削除レコ
ードチエインの最後であることを示す“F F ”コー
ド3が有り、削除レコードであることを示す“FF”コ
ード1とチエインの最後であることを示す°“FF”コ
ード3とから構成されている。
第11図は、第8図の索引順編成ファイルの同一キーレ
コードチエインを示す図であり、同一キーレコードは、
データレコード1とその後に直前の同一キーレコードの
アドレスを示すポインタ2と直後の同一キーレコードの
アドレスを示すポインタ3とから構成されている。
第12図は、第8図の索引順編成ファイルのレコード追
加時の索引部の索引ブロック分割を示した図であり、追
加前のレコードキー10,20゜30.40からなる索
引ブロック1と25の値をもつ追加レコードキー4と、
追加後の索引ブロック2,3とから構成される。
次に、このように構成された索引順編成アイルの構造に
ついて説明する。
第8図を参照すると、索引順編成ファイルは、先頭に索
引部1があり、データ部2はファイルの後ろにある。デ
ータレコードは、ファイルの後ろから順に入力されてい
く。
第9図を参照すると、索引順編成ファイルの索引部は、
階層構造となっている。第ルベルの索引ブロックは、そ
れぞれ第2レベルの索引ブロックの先頭を指すポインタ
と、キー値を持っている。
第2レベルの索引ブロックはそれぞれの第3レベルの索
引ブロックの先頭を指すポインタとキー値を持っている
。1つの索引ブロックに入るキー値とポインタの数は決
まっているので、すべてのキーを網羅できるまで階層は
深くなっていく、最下位レベルの索引ブロックはそれぞ
れのデータレコードを指すポインタとキー値を持ってい
る。ポインタとキー値の組を索引エントリと呼ぶ。
第10図を参照して削除レコードについて説明する。削
除レコードは、先頭に16進コード“FF”が入力され
る。その後ろに、その次の削除レコードを指すポインタ
が入力される0次々に削除レコードをポイン°りで指し
ていき、最後の削除レコードはポインタの場所に16進
コード“FF”が入力される。
第11図を参照して同一キーレコードチエインについて
説明する。同一キーレコードを許すことにしてアロケー
トした場合は、指定したレコード長より、8バイト長い
レコード長でアロケートされる。データレコードの後ろ
に次の同一キーレコードを指すポインタであるNポイン
タと、前の同一キーレコードを指すポインタであるPポ
インタが付加される。同一キーを指すポインタは、次々
とチエインされていき、最後の同一キーレコードのNポ
インタは先頭の同一キーレコードを指す。
先頭の同一キーレコードのPポインタは、最後の同一キ
ーレコードを指す、同一キーレコードは、このようにチ
エインでつながれている。
第12図を参照して索引順編成ファイルの索引ブロック
の分割方法を説明する。1つの索引ブロックの中に入る
索引エントリの個数は決まっている。索引エントリは、
キー値の昇順に並んで入る。
本例では、キー値25を持つデータレコードが追加され
たため、索引エントリもキー値25の分が追加されると
ころである。この例では、1つの索引ブロックに4つま
でしか索引エントリが入らない為、25を追加するため
に、2つの索引ブロックに分ける必要があるので、2つ
の索引ブロック23と24を作成する。
以上のような特徴をもつ索引順編成ファイルのデータレ
コードから完全な索引順編成ファイルを作成するために
は、データレコードを1件ずつ処理し、レコードの追加
という形で1件ずつキー部を作りなおしていて、また、
1件ずつ同一キーチエイノを張りなおしていた。
〔発明が解決しようとする課題〕
従来の索引順編成ファイルの再構成処理は、索引順編成
ファイルに削除レコードチエイン、同一キーレコードチ
エイン、同一キーレコードチエインが存在するなめ、デ
ータレコードを1件する処理していて多大な時間がかる
という欠点がある。
〔課題を解決するための手段〕
本発明の索引順編成ファイルの再編成処理方式の構成は
、データ格納ファイルである目的ファイルと、その目的
ファイルをユーザメモリに格納する目的ファイル入出力
制御機構と、ワークファイルサイズを計算するワークフ
ァイルサイズ計算機構と、メモリ上で全レコードから削
除レコードを取り除く削除レコードのアライン制御機構
と、索引順編成ファイルデータレコードからキーを抽出
するキー抽出機構と、抽出されたキーを前記メモリ上で
ソートするキーソート機構と、このキーソート機構によ
り作成されたキーの列を基に前記メモリ上でキーをマー
ジするマージ機構と、ソートされたキーを前記メモリか
ら前記ワークファイルに格納するワークファイル入出力
制御機構と、前記メモリ上で索引順編成ファイルのキー
部を作成するキー部作成機構と、前記メモリ上でデータ
レコードの同一キーチェーンを張る同一キーチェーン張
り機構とを含んで構成されることを特徴とする。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例を示す構成図であり、ワーク
ファイルサイズ計算機構1、削除レコードアライン機構
2、データレコードからキーを取り、出す機構3、キー
のソート機構4、キーのマージ機構5、キー部作成機構
6、同一キーチェイン張り機構7、ユーザメモリ8、ワ
ークファイル入出力機構9、ワークファイル1である1
2、ワークファイル2である13、ワークファイル3で
ある14、目的ファイル入出力機構10、目的ファイル
11から構成される。
第2図は、削除レコードのアライン方法を示す図であり
、目的ファイル3、ユーザメモリ中の入力データバッフ
ァ1、出力データバッファ2から構成される。
第3図は、データレコードからキーを取りだし、キーを
ソートする方式を示す図であり、ユーザメモリ中のデー
タレコード入力バッファ1、ソート用バッファ2、ソー
トされたキー用バッファ3、目的ファイlし4、ワーク
ファイル1である5から構成される。
第4図は、何本かにソートされたキーの列を4本ずつ入
力していき、1本にソートしていくマージ機構方式を示
す図であり、ユーザメモリ中の入力バッファ1である1
、入力バッファ2である2、入力バッファ3である3、
入力バッファ4である4、出力バッファである5、ワー
クファイル1である6から構成される。
第5図は、4本にソートされたキーを1本にソートシ同
一キー情報テーブルを作成する方法を示す図であり、ユ
ーザメモリ中の入力バッファ1であるl、入力バッファ
2である2、入力バッファ3である3、入力バッファ4
である4、キー用出力バッファ5、同一キー情報テーブ
ル用バッファ6、ワークファイル1である7、ワークフ
ァイル2である8、ワークファイル3である9から構成
される。
第6図は、ソートされたキーからキー部を作成する方式
を示す図であり、ユーザメモリ中のキー人力バッファで
ある1、キー部作成バッファである2、ワークファイル
2である3、目的ファイルである4から構成される。
第7図は、同一キー情報テーブルから同一キーチエイン
を張っていく方式を示した図であり、ユーザメモリ中の
データレコードバッファである1、同一キー情報テーブ
ルバッファである2、目的ファイルである3、ワークフ
ァイル3である4がら構成される。
次に、このように構成された本実施例の索引順編成ファ
イルの再編成方式の動作について説明する。
まず、第1図のワークファイルサイズ計算制御機構につ
いて説明する。
ワークファイルラベルにそのファイルのレコード長、レ
コード件数、キー長が書かれているので、その値を元に
してワークファイルサイズを計算する。計算して求めた
サイズのテンポラリファイルがディスク上にとれない場
合は、本発明の処理を行うことが不可能なので、その旨
通知して処理を中断する。
索引順編成ファイルの再構成において、第10図に示す
ような削除レコードチエインを張る作業を行うと多大な
時間がかかるため、第2図に示すようにユーザメモリを
利用して削除レコードをアラインする。
第2図に示すアライン方法を説明すると、ユーザメモリ
のすべての領域を入力バッファ領域21と、出力バッフ
ァ領域22とに、2分割してしまい、目的ファイル10
から入力バッファ領域21にデータレコードを読み切れ
るだけ一度に読んでしまう、そして、1件ずつデータレ
コードが削除レコードであるか否かを判断しながら、削
除レコードでなければ出力バッファ領域22にデータレ
コードを移す、出力バッファ22の最後までデータレコ
ードが入ったなら、それを−度に目的ファイル10に書
き込む、このようにして、少ない入出力回数で高速に削
除レコードのアラインを行う。
次に、キーのソート機構を第3図を参照しながら説明す
る。目的ファイル4からデータレコードをデータレコー
ド入力バッファ31に読み込めるだけ読み込み、そのデ
ータレコードからキーを取り出し、それにデータレコー
ドのアドレスを付加してソート用バッファ32に入れる
。ソート用バッファ32中では、トーナメント方式で昇
順にソートしていき、一番手さいものをソートされたキ
ー用バッファ33に入れていき、バッファすべてが埋ま
った時点でワークファイル1である11に出力する。同
様の作業を続け、ワークファイル1である11にすべて
のキーをはき出す。
次に、第4図を参照しながら、ソートされたキーのマー
ジ機構を説明する。
キーのソート機構によりソートされたキーの列の何本か
が、ワークファイル1である11に作成されている。こ
のうち4本を入力バッファ1゜2.3.4である41,
42.43.44にそれぞれ入力する。そして、入カバ
ツファエ、2゜3.4である41.42.43.44か
らそれぞれ1件ずつ一番手さいものを取りだし、4つの
中で一番手さなキーを出力バッファ45に入れる。
同様の作業を繰り返して出力バッファ45すべてが埋ま
ったら、ワークファイル1である11に出力する。この
ようにして、4本を1本にソートしてしまう。
なお、この実施例では、4本として例をあげたが、これ
は、4本に限らず複数であればよい。
次に、第5図を参照して同一キーアドレス情報テーブル
を作成する方法を説明する。マージ機構により、ワーク
ファイル1である11には4本にソートされたキーが入
っている。ワークファイル1である11から入力バッフ
ァ1,2.3.4である51.52,53.54にそれ
ぞれソートされたキーの列4本を1本ずつ入力する。4
本のキーの列からそれぞれ1つずつ一番手さいキーを取
りだし、その4つの中から一番手さいキーをキー用出力
バッファ55に入れる。同様の作業を繰り返す、その際
キーが同じ値のものがあったなら、その同一キーの情報
を同一キー情報テーブルに入れる。同一キー情報テーブ
ルは、同一キー情報テーブル用バッファ56に入れてい
き、バッファがすべて埋まったら、ワークファイル2で
ある12に出力する。この′とき、キー数をカウントし
ておく。
次に、第6図を参照してキー部を作成する方式を説明す
る。ワークファイルに出力されたキー数から、索引ブロ
ックがいくつ必要か求める事が出来る。そこから索引ブ
ロックの階層数を求める事ができ、各索引ブロックが物
理的にファイル上のどこに書かれるかのアドレスを計算
で求める事が出来る。そのキー部をメモリ上で展開して
、それを、第6図のキー部作成バッファ62に作成する
、ユーザメモリで、キー部作成バッファ62以外は、キ
ー人力バッファ61として使用する。ワークファイル1
2から入力バッファいっばいを使って、−度に読めるだ
け多くのキーを入力する。
そのキーを階層構造になるようにキー部作成バッファ6
2のあらかじめ計算された場所に移す、このようにして
、メモリ上で物理的にキー部を作成して、索引順編成フ
ァイルには、完成されたキー部を一度に出力する。
以上の方法で少ない入出力回数でキー部を作成すること
が出来る。
第7図を参照して同一キーチエインを張る方法について
説明する。ユーザメモリは、データレコードバッファ7
1と同一キー情報テーブルバッファ72の2つに分ける
。目的ファイル12からデータレコードバッファ71に
一度に読めるだけ読み込む、また、ワークファイル3で
ある13から、同一キー情報テーブルバッファ72に一
度に読めるだけ読み込む、同一キー情報テーブルを参照
してデータレコードバッファ中にあるデータレコードの
同一キーのアドレスを書き込んでいく。
現在ある同一キー情報テーブルから現在あるデータレコ
ードに同一キーアドレスを書き込める分書き込んだら、
データレコードをデータレコードバッファ71の分、目
的ファイル12の元あった場所に出力する。そして、次
のデータレコードを、再び、データレコードバッファ7
1に読めるだけ一度に入力し、同様に、同一キー情報テ
ーブルを参照しながら同一キーアドレスを書き込んでい
く、データレコードの最後まで進んだら次の同一キー情
報テーブルを入力し、データレコードは、再び、目的フ
ァイルの最初から入力して同一キーアドレスを書き込ん
でいく、同様の動作を繰り返し、同一キーアドレステー
ブルを最後まで参照し、かつ、データレコードを最後ま
で書き込んだ時点で完全な同一キーチエインが張られる
事になる。なお、同一キーが存在しない場合は、この作
業を行わない。
〔発明の効果〕
以上説明したように本発明は、物理的にメモリ上で索引
順編成ファイルを作成することにより、少ない入出力回
数で高速に索引順編成ファイルを再編成することができ
るという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の索引順編成ファイル再編成
方式の構成図、第2図は削除レコードのアライン方法を
示した図、第3図はデータレコードからキーを取り出し
キーをソートする方式を示す図、第4図はキーのマージ
機構を示す図、第5図は同一キーアドレス情報テーブル
を作成する方法を示す図、第6図はキー部を作成すると
きの構成図、第7図は同一キーチエインを張る方法を示
す図、第8図は索引順編成ファイルの構成図、第9図は
索引部の階層構造を示した図、第10図は索引順編成フ
ァイルの削除レコードチエインを示す図、第11図は索
引順編成ファイルの同一キーレコードチエインを示す図
、第12図は索引順編成ファイルのレコード追加時の索
引部の索引ブロック分割を示す図である。 1・・・ワークファイルサイズ計算機構、2・・・削除
レコードアライン機構、3・・・データレコードがらキ
ーを取り出す機構、4・・・キーのソート機構、5・・
・キーのマージ機構、6・・・キー部作成機構、7・・
・同一キーチェイン張り機構、8・・・ユーザメモリ、
9・・・ワークファイル入出力機構、10・・・目的フ
ァイル入出力機構、11・・・目的ファイル、12・・
・ワークファイル1.13・・・ワークファイル2.1
4・・・ワークファイル3゜

Claims (1)

    【特許請求の範囲】
  1. データ格納ファイルである目的ファイルと、その目的フ
    ァイルをユーザメモリに格納する目的ファイル入出力制
    御機構と、ワークファイルサイズを計算するワークファ
    イルサイズ計算機構と、メモリ上で全レコードから削除
    レコードを取り除く削除レコードのアライン制御機構と
    、索引順編成ファイルデータレコードからキーを抽出す
    るキー抽出機構と、抽出されたキーを前記メモリ上でソ
    ートするキーソート機構と、このキーソート機構により
    作成されたキーの列を基に前記メモリ上でキーをマージ
    するマージ機構と、ソートされたキーを前記メモリから
    前記ワークファイルに格納するワークファイル入出力制
    御機構と、前記メモリ上で索引順編成ファイルのキー部
    を作成するキー部作成機構と、前記メモリ上でデータレ
    コードの同一キーチェーンを張る同一キーチェーン張り
    機構とを含むことを特徴とする索引順編成ファイルの再
    編成方式。
JP1037387A 1989-02-17 1989-02-17 索引順編成ファイルの再編成方式 Pending JPH02216554A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1037387A JPH02216554A (ja) 1989-02-17 1989-02-17 索引順編成ファイルの再編成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1037387A JPH02216554A (ja) 1989-02-17 1989-02-17 索引順編成ファイルの再編成方式

Publications (1)

Publication Number Publication Date
JPH02216554A true JPH02216554A (ja) 1990-08-29

Family

ID=12496118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1037387A Pending JPH02216554A (ja) 1989-02-17 1989-02-17 索引順編成ファイルの再編成方式

Country Status (1)

Country Link
JP (1) JPH02216554A (ja)

Similar Documents

Publication Publication Date Title
US5121493A (en) Data sorting method
US5274805A (en) Method of sorting and compressing data
US5117495A (en) Method of sorting data records
JPH02178730A (ja) 分割法を用いた内部ソート方式
US5659733A (en) Sort processing method and apparatus for sorting data blocks using work buffer merge data records while sequentially transferring data records from work buffers
KR20020035093A (ko) 데이타베이스 테이블 복구 시스템
JPS6142031A (ja) ソ−ト処理装置
JPH02297284A (ja) 文書処理システム
JPH02216554A (ja) 索引順編成ファイルの再編成方式
JP2923952B2 (ja) マージ処理方法
JP4036514B2 (ja) データ圧縮方法とデータ復元方法およびソートマージ処理装置とソートマージ処理方法およびこれら方法のプログラムを記録した媒体
JPH048816B2 (ja)
JPH0145648B2 (ja)
JPH02122328A (ja) ファイル作成方式
JPH07200378A (ja) ライブラリファイル管理装置
JPH03226829A (ja) 情報処理装置
JPS6326411B2 (ja)
JPH03202934A (ja) データ処理装置
JPH043234A (ja) 固定長型レコードのファイリング制御方法
JPH0594352A (ja) データベース復旧方式
JPH0774785A (ja) サイクリックバッファ制御装置
JPS63276639A (ja) レコ−ド追加処理方法
JPS61279960A (ja) バッファ管理方法
Karpen Design and implementation of a real time information storage and retrieval system
McGoldrick Program manual for the Data Director editor