JPH01147720A - 分類処理方式 - Google Patents

分類処理方式

Info

Publication number
JPH01147720A
JPH01147720A JP30810387A JP30810387A JPH01147720A JP H01147720 A JPH01147720 A JP H01147720A JP 30810387 A JP30810387 A JP 30810387A JP 30810387 A JP30810387 A JP 30810387A JP H01147720 A JPH01147720 A JP H01147720A
Authority
JP
Japan
Prior art keywords
string
block
input
merging
strings
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
JP30810387A
Other languages
English (en)
Inventor
Tadayoshi Ideshita
井手下 忠良
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
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP30810387A priority Critical patent/JPH01147720A/ja
Publication of JPH01147720A publication Critical patent/JPH01147720A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、電子計算機によるデータの分類処理方式に関
する。
(従来の技術) 計算機によるデータの分類処理は煩繁に行なわれ、常に
高速な処理が要求される。従来の分類処理は一般に第4
図に示すように入力フェーズ31、併合フェーズ32、
出力フェーズ33の3つのフェーズで構成される。大力
フェーズ3!では入力データレコードを読み、内部記憶
装置上の作業領域内で分類キーによりデータレコードを
並べ換えながら、ある程度並んだデータレコードの列(
以下、ストリングと称する)を作成し、このストリング
を外部記憶装置に出力しておく。人出力の!F位はブロ
ックであり、ストリングは通常複数個のブロックから構
成され、同一ストリングに属するブロックはポインタで
リンクされている。各ストリングの先頭アドレスは、別
にストリングインデックスを設けて管理されている。そ
してすべてのデータの入力後、併合フェーズ32でこれ
らのストリングを入力しながら併合処理を繰り返し、最
終的な併合の後、出力フェーズ33でデータの出力を行
なう。併合処理では、ストリングインデックスをもとに
外部記憶装置上に書かれた複数のストリングのブロック
を内部記憶装置のバッファエリアに読み込み、各ブロッ
クのデータレコードを先頭から分類キーにしたがって併
合を行ない、新たに長いストリングを作成し再度外部記
憶装置上に書き戻しつつ、ストリング数を減らしてゆく
。内部記憶装置上で一度に併合できるストリング数のこ
とをマージオーダと呼ぶ。併合処理で減らされたストリ
ング数がマージオーダ数以下となった時点で出力処理が
開始され、最終併合の結果は出力データレコードとして
出力される。
〔発明が解決しようとする問題点〕
高速な分類処理のためには併合処理の時間の短縮が不可
欠である。そのためには、併合すべきブロックのバッフ
ァ上のデータが空となった時点で、外部記憶装置に対し
て必要ストリングの次ブロックの入出力要求を行なって
いては、人出力の終了待ち時間が無駄となってしまう。
また、これを回避するために、すべてのストリングの次
ブ、ロックに対してダブルバッファリング手法を用いて
人出力を行なうことが考えられるが、バッファ領域が2
倍必要となる。
〔問題点を解決するための手段〕
本発明の分類処理方式は、ストリングを生成する手段と
、生成されたストリングを記憶するストリング記憶手段
と、該記憶手段に記憶されているストリング群を読出し
、ストリングの併合を行なうストリング併合手段と、前
記ストリング併合手段に含まわるバッファ中の各ストリ
ングのブロックの最終データレコードのキー比較を行な
い、最初に空となるバッファを検出することにより次に
必要となるブロックを判定する先読みブロック判定丁段
と、該先読みブロック判定手段により通知されたストリ
ングの次ブロックを入力するストリング入力手段を有し
ている。
(作 用) ストリング併合手段は、内部記憶装置上に複数のストリ
ングのブロックを保持できるm+1個のバッファエリア
を確保し、ストリングインデックスをもとにストリング
記憶手段からm本のストリングのブロックをバッファエ
リアにストリング入力手段を介して読み込む。m個のブ
ロックの入力が完rすると、ストリング併合手段は、先
読みブロック判定手段に通知し、バッファエリア中のス
トリングブロックのうち、最初に空となるストリングの
判定を行ない、ストリング入力手段に入力要求を行なう
。ストリング併合手段は、その後バッファ中の各ブロッ
クのデータレコードを先頭から分類キーにしたがって併
合を開始する。このとき、併合処理と先読みブロックの
入力処理とは非同期に行なわれ、先読みブロックの入力
は、cpu内の併合処理とは独立に入出力制御装置によ
り上記の先読み用のバッファエリアに行なわれる。
したがって、内部記憶装置上のバッファエリアは最小限
で済み、かつ併合処理に必要な時間な短縮できる。
【実施例〕
次に、本発明の実施例について図面を参照しながら説明
する。
第1図は本発明の分類処理方式の一実施例を示すブロッ
ク図である。
本実施例は、レコード入力手段I+、ストリング生成手
段12、ストリング併合手段13、先読みブロック判定
手段14、ストリング出力手段15、ストリング入力手
段16、ストリング記憶手段17およびレコード出力手
段18より構成されている。
分類すべきデータレコードは、入力ファイル19に格納
されており、レコード入力手段11は入力ファイル19
から順次データレコードを入力し、ストリング生成手段
12に引き渡す。ストリング生成1段12は、内部記憶
装置上にデータレコードを格納し、分類キーに従ってデ
ータレコードのキー比較を行いデータレコードの並べ換
えを行いながらストリングを生成し、ストリング出力手
段15によりストリング記憶手段17に書き込んで行く
。ストリング記憶手段17は、作業用ファイルが通常用
いられる。人出力の単位はブロックであり、ストリング
は通常複数個のブロックから構成され、同一゛  スト
リングに属するブロックはポインタでリンクされている
。各ストリングの先頭アドレスは、別にストリングイン
デックスを設けて管理されている。すべてのデータレコ
ードの入力が完了すると、その旨がストリング併合手段
13に通知され併合処理が開始される。ストリング併合
手段13は、内部記憶装置上に複数のストリングのブロ
ックを保持できるM+1個のバッファエリアを確保し、
ストリングインデックスをもとにストリング記憶手段1
7からM本のストリングのブロックをバッファエリアに
ストリング入力手段16を介して読み込む。M個のブロ
ックの入力が完了すると、ストリング併合手段13は、
先読みブロック判定手段14に通知し、バッファエリア
中のストリングブロックのうち、最初に空となるストリ
ングidの判定を行い、ストリング入力手段16に入力
要求を行う。
ストリング併合手段13は、その後バッファ中の各ブロ
ックのデータレコードを先頭から分類キーにしたがって
併合を開始する。このとき、併合処理と先読みブロック
の入力処理とは非同期に行われ、先読みブロックの入力
は、CPU内の併合処理とは独立に入出力制御装置によ
り上記の先読み川のバッファエリアに行われる。
第2図はこの併合過程を具体的なデータをもとに説明し
た図である。図中、21はストリング併合手段13より
作成されるストリングのブロックを出力するだめの出力
バッファ、22は併合処理で行われるバイナリサーチ用
のコントロールテーブル(以降BICTテーブルと呼ぶ
)、23は入力用バッファエリア、24は先読みブロッ
ク判定手段14に含まれるBICTテーブルである。図
の状態は、入力用バッファエリア23に6個のストリン
グブロックSTI、ST2.−、ST6が読み込まれた
状態を示している。先読みブロック判定手段14は、ス
トリングSTI、ST2.−.ST6のブロックの各最
終データレコードをバイナリサーチ手法により比較を行
いBICTテーブル24上で分類キー類にストリングi
dを並べなおす。24はその結果の状態を示しており、
これにより図中のブロックを併合して行くとストリング
ブロックST2が最初に空となることが分かる。その後
、先読みブロック判定手段14はストリング入力手段1
6にストリングブロックST2の次ブロックの入力要求
を通知する。次ブロックの入力処理は、人出力制御装置
によりCPU動作と独立して行なわれ、入出力動作の間
に、ストリング併合手段13は、ストリングブロックS
TI、ST2.−、ST6の先頭データレコードからバ
イナーリサーチ手法により比較を行い、併合用BICT
テーブル22上で分類キー類にストリングidを並べか
えながら本来の併合処理を入出力動作と並行して行う。
併合処理を続けて行くと、ストリングブロックST2が
空となる。この時点でストリング併合手段13は、先読
みの要求を行ったブロックの終了を待ち合わせる。次ブ
ロックの入力は、予め用意したM+1個目のバッファに
行われる。入力が完了すると、さきほど空になったバッ
ファを次ブロックの入力用バッファとして、入力が完了
したバッファを新たに併合用バッファとして組入れて、
再び先読みブロック判定手段!4により、次に空となる
ストリングのブロックの判定が行われるといフだ上記の
過程の処理が繰り返される。25は前記のストリングブ
ロックST2の次のブロックの入力完了後、再度先読み
ブロック判定手段14により行われた先読み判定用のB
 I CTテーブルの状態を示す。これにより次に空と
なるブロックのストリングidはストリングブロックS
T3であることが分かる。第3図は、先読みブロック判
定手段14を用いることによる効果を用いない場合と比
較して説明するタイミングチャートである。同図(+)
は先読みブロック判定手段14を用いない場合のタイミ
ングチャートで、1.はバッファが空となり次ブロック
の入力要求を出した時点、t2は入力が完了して併合処
理を再開した時点、t3は次のブロックの入力要求の時
点を示す。同図(2)は先読みブロック判定手段14を
用いた場合のタイミングチャートで、t、は先読みブロ
ック判定手段14により次ブロックの判定を行い入力要
求を出した時点、t、はCPUでの併合処理が完了し、
次ブロックの入力完了待ちに入った時点、t3は次ブロ
ックの入力が完了し、併合処理を再開した時点を示す。
図に示すよう先読みブロック判定手段14を用いた場合
、実効的にダブルバッファリング処理となっている。ス
トリング併合手段13により減少されたストリング数が
マージオーダ数以下となった時点で出力処理が開始され
、最終併合の結果はストリング併合手段13からレコー
ド出力手段18に渡され、出力データレコードとして出
力ファイル20に出力されて分類処理が終了する。
〔発明の効果〕
以上説明したように本発明は、先読みブロック判定手段
を備えることにより、分類処理における併合過程で内部
記憶装置上のバッファエリアを増加させることなく実効
的にダブルバッファリング処理を可能とし、併合処理に
必要な時間を短縮できるという効果がある。
【図面の簡単な説明】
第1図は本発明の分類処理方式の一実施例を示すブロッ
ク図、第2図はストリング併合手段13と先読みブロッ
ク判定手段14の機構の説明図、第3図は先読みブロッ
ク判定手段14を用いた場合の効果を用いない場合と比
較して示すタイミングチャート、第4図は分類処理の一
般的な処理の流れ図である。 11・・・・・・レコード入力手段、 12・・・・・・ストリング生成手段、+ 3−−−−
−−ストリング併合手段、14−−−−−・先読みブロ
ック判定手段、15・・・・・・ストリング出力手段、
16・・・・・・ストリング入力手段、17・・・・・
・ストリング記憶手段、18・・・・・・レコード出力
手段、 + 9−−−−−−出力ファイル、 20−−−−−−入力ファイル。

Claims (1)

  1. 【特許請求の範囲】 ストリングを生成し、併合することにより分類処理を行
    なう分類処理方式であって、 ストリングを生成する手段と、 生成されたストリングを記憶するストリング記憶手段と
    、 該記憶手段に記憶されているストリング群を読出し、ス
    トリングの併合を行なうストリング併合手段と、 前記ストリング併合手段に含まれるバッファ中の各スト
    リングのブロックの最終データレコードのキー比較を行
    ない、最初に空となるバッファを検出することにより次
    に必要となるブロックを判定する先読みブロック判定手
    段と、 該先読みブロック判定手段により通知されたストリング
    の次ブロックを入力するストリング入力手段を有する分
    類処理方式。
JP30810387A 1987-12-04 1987-12-04 分類処理方式 Pending JPH01147720A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30810387A JPH01147720A (ja) 1987-12-04 1987-12-04 分類処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30810387A JPH01147720A (ja) 1987-12-04 1987-12-04 分類処理方式

Publications (1)

Publication Number Publication Date
JPH01147720A true JPH01147720A (ja) 1989-06-09

Family

ID=17976902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30810387A Pending JPH01147720A (ja) 1987-12-04 1987-12-04 分類処理方式

Country Status (1)

Country Link
JP (1) JPH01147720A (ja)

Similar Documents

Publication Publication Date Title
US5724500A (en) Multiple writing volume backup method
JP3251138B2 (ja) ハッシュ方式
JP3515810B2 (ja) ソート処理方法および装置
JPH01147720A (ja) 分類処理方式
JP2923952B2 (ja) マージ処理方法
JPH0581337A (ja) データ処理装置
JPH05151037A (ja) 業務処理中データベース再編成処理方式
JP3278637B2 (ja) ログファイルのメンテナンス装置および方法
JP2586610B2 (ja) ファイル作成方式
JP2943693B2 (ja) ソート作業ファイルスペース管理方式
JPH0239225A (ja) ファイルシステム
JPH0752450B2 (ja) 辞書デ−タ検索装置
JP2669241B2 (ja) マイグレーション処理方式
JPH0145648B2 (ja)
JP3518420B2 (ja) ディスクキャッシュを用いたソート処理方法ならびに装置
JP3309803B2 (ja) ソート処理方式,方法およびソート処理プログラムを記録した記録媒体
JPH02224112A (ja) 内部データの無編集出力方式
JPS63196959A (ja) フアイルの退避復元方式
JPH0291725A (ja) 併合処理方式
JPH04353944A (ja) 索引順編成ファイルのレコード追加方式
JPH03141438A (ja) データベースファイル再編成方式
JPH03226829A (ja) 情報処理装置
JPH04259978A (ja) 光ディスクファイルのディレクトリ一覧表示方式
JPH05210467A (ja) 複数フロッピィディスクへの複写方法
JPS59123975A (ja) ベクトルデ−タ記憶制御方式