JPS61275935A - マ−ジシステム - Google Patents

マ−ジシステム

Info

Publication number
JPS61275935A
JPS61275935A JP11675385A JP11675385A JPS61275935A JP S61275935 A JPS61275935 A JP S61275935A JP 11675385 A JP11675385 A JP 11675385A JP 11675385 A JP11675385 A JP 11675385A JP S61275935 A JPS61275935 A JP S61275935A
Authority
JP
Japan
Prior art keywords
input
buffer
data
merge
merging
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
JP11675385A
Other languages
English (en)
Inventor
Masao Ochiai
落合 正雄
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP11675385A priority Critical patent/JPS61275935A/ja
Publication of JPS61275935A publication Critical patent/JPS61275935A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 [発明の技術分野] この発明は、ソーティング済みのデータの列を有する複
数の入力ファイルをマージして1つのファイルを生成す
るマージシステムに関する。
[発明の技術的背景とその問題点] 磁気テープ或は磁気ディスクなどの外部ファイル(入力
ファイル)からデータを入力し、それを成るキーに従っ
て並べ換える処理は、一般にソートと呼ばれる。また、
成るキーに従って既にデータが並べられている即ちソー
ティング済みのいくつかの外部ファイルを1つのファイ
ルに併合し、でき上ったファイルもデータがそのキーに
従って並べられているようにする処理はマージと呼ばれ
る。
さて、この種マージ処理を行なう従来のマージシステム
では、マージ対象となる入力ファイルと同数の入力バッ
ファが用意される。リーダ(READER)はマージ処
理に際して各入力ファイルから対応する入力バッファに
データブロックを入力する。マーシャ(MERGER)
は各バッファ中のデータをキー順に並び換えて出力する
。このマーシャでのマージ処理により入力バッファのい
ずれかでデータが尽きると、リーダに入力要求が出され
る。リーダはこの入力要求により、データが尽きたバッ
ファに対応する入力ファイルから次のブロックを読出し
て同バッファに入力する。この間マーシャはマージ処理
を中断する。そしてデータが尽きたバッファに次のデー
タブロックが入力されると、マーシャは再びマージ処理
を開始する。
このように従来のマージシステムでは、データが尽きた
入力バッファに次のデータブロックが入力されている1
11藺中はマーシャはマージ処理を行なうことができず
、マージ処理の高速化を阻害する問題があった。
そこで、この問題を解決するために、入カバツフ?数を
入力ファイル数の2倍用意して各人力バッファの2重化
(ダブルバッファリング化)を図り、入力ファイルから
のデータの先読み(入力要求が出される前に次のデータ
ブロックの入力を開始すること)を行なうようにしたシ
ステムも知られている。
しかし、このようなシステムでは、バッファ数(バッフ
ァ容量)の増加を招くため、やはり問題であった。
[発明の目的] この発明は上記事情に鑑みてなされたものでその目的は
、入カバッフ?数を僅かに増加するだけでデータブロッ
クの先読みが効率的に行なえるマージシステムを提供す
ることにある。
[発明の概要] この発明によれば、ソーティング済みのデータの列を有
するmWAの入力ファイルをマージして1つのファイル
を生成するマージシステムが提供される。
このシステムには、マージ対象となるデータブロックを
格納するn個(n≧m)の入カバソファと、これらn個
の入力バッファからマージ処理に供されるm個の入力バ
ッファを選択する選択手段と、この選択手段によって選
択されているm1liの入力バッファの先頭領域から順
にデータを取出してマージ処理を行なうマージ手段とが
設けられる。
選択手段は、マージ処理に供されているm個の入力バッ
ファのいずれか1つでデータが尽きた場合に該当する入
カバソファに代えて残りのn−mgAの入力バッファの
1つを選択する。このとき新たに選択された入力バッフ
ァに次のマージ対象データブロックが入力すれていれば
、マージ手段はマージ処理を継続できる。
上記システムには、マージ対象データブロックを読出す
読出し手段と、選択手段によって選択されているm個の
入力バッファのうちで最初にデータが尽きる入力バッフ
ァを予め検出し、同バッファに対応している入力ファイ
ルからの次のマージ対象データブロックの先読み入力を
読出し手段に対して指示する先読み制御手段と、切替え
手段とが、更に設けられる。読出し手段は、先読み制御
手段の指示に応じて該当する入力ファイルから次のマー
ジ対象データブロックを読出す。切替え手段は、読出し
手段により読出されるデータブロックの入力先を、n個
の入力バッファのうちで選択手段により選択されるm個
の入力バッファを除く入力バッファの1つに切替える。
この結果、切替え手段により入力先が切替えられた入力
バッファへのデータ先読みが可能となる。
[発明の実施例] 第1図はこの発明の一実施例に係るマージシステムの構
成を示すもので、11〜13はソーティング済みのデー
タを有する入力ファイルである。15は後述する先読み
制御部36からの指示に応じて入力ファイル11〜13
からのマージ対象データブロック読込みを行なうリーダ
、21〜24はリーダ15によって読込まれるマージ対
象データブロックを格納する入力バッファである。即ち
第1図のシステムでは、入力バッファ数n(n−4)は
入カフアイル敗m(m−3)より1つ多くなっている。
31はマージ処理に供される3個の入カバソファを入力
バッフ?21〜24から選択するスイッチ部、32はス
イッチ部31で選択されている3111の入力バッファ
を対象としてマージ処理を実行するマージv32である
。33はマーシャ32のマージ結果を格納する出力バッ
ファ、34は出力ファイル、35は出力バッファ33に
格納されたマージ処理結果を出力ファイル34に書込む
ライタ(WRITER)である。
36はスイッチ部31によって選択されている3個の入
力バッファのうちで最初にデータが尽きるバッファを予
め検出し、同バッファに対応する入力ファイルからの次
のマージ対象データブロックの先読みをリーダ15に対
して指示する先読み制御部ある。37はスイッチ部31
により選択されている入力バッファの先読み制御部36
への接続と、リーダ15により読込まれるマージ対象デ
ータブロックを格納すべき入力バッファのリーダ15へ
の接続とを行なうスイッチ部、38はスイッチ部31.
37、マーシャ32、ライタ35および先読み制御部3
6を制御するマージ制御部である。この実施例において
、入力バッファ21〜24および出力バッファ33は図
示せぬ主メモリ上に置かれる。またリーダ15、スイッ
チ部31.37、マーシャ32、ライタ35、先読み制
御部36およびマージ制御部38の各機能ブロックは、
主メモリ内のプログラムに従ったCPU (図示せず)
の制御機能により実現される。なお、第1図において実
線の矢印はデータの流れを、破線の矢印はコントロール
の流れを示す。
次に第1図の構成の動作を説明する。
第1図のシステムにおける初期設定は、マージ制御部3
8の指示により次のように行なわれる。
まずマージ制御部38は入力バッファ21〜24の中か
ら先読み用のバッファを決定する。この実施例において
、初期状態における先読み用バッファは例えば入力バッ
ファ24に予め定められている。次にマージ制御部38
は、残り3個の入力バッファ21〜23の1つ、例えば
入力バッファ21をリーダ15に接続するようにスイッ
チ部37を切替え、リーダ15に対して例えば入力ファ
イル11からの読込み指令を先読み制御部36経由で指
示する。これによりリーダ15は入力ファイル11から
1ブロック分のデータ(マージ対象データブロック)を
読込み、スイッチ部37経出で入力バッファ21に入力
する。リーダ15は1ブロック分の入力を終了するとそ
の旨を先読み制御部36経由でマージ制御部38に通知
する。
以下、同様にして入力ファイル12からのデータブロッ
クを入力バッファ22に、そして入力ファイル13から
のデータブロックを入力バッファ23に、それぞれ入力
する動作が行なわれる。なお入力バッファ21〜23を
同時にリーダ15に接続し、上記の入力動作を並行して
行なうことも可能である。
マージ制御部38は、上記の入力動作が終了すると、入
力バッファ21〜23をマーシャ32に接続するように
スイッチ部31を切替える。またマージ制御部38は先
読み用に決定された入力バッファ24をリーダ15に接
続し、残りの入力バッファ21〜23を先読み制御部3
6に接続するようにスイッチ部37を切替える。第1因
のスイッチ部31.37は、このときの状態を示してい
る。
マージ制御部38は以上の初期設定が終了すると、マー
シャ32および先読み制御部36に制御を渡す。
マーシャ32はマージ制御部38から制御を渡されると
、スイッチ部31を介して接続されている3個のバッフ
ァ、即ち入力バッファ21〜23のデータを各バッファ
の先頭から比較して成るキー値に従った一定順、例えば
昇順にマージ処理を行ない、その結果を順次出力バッフ
ァ33に書込んでいく。そして上記のマージ処理の結果
、入力バッフ?21〜23のうちのいずれか1つのバッ
ファのデータが尽きると、その旨をマージ制御部38に
通知する。
一方、先読み制御部36はマージ制御部38から制御を
渡されると、スイッチ部37を介して接続されている3
個のバッファ(マーシャ32のマージ処理に供されてい
る3個のバッファ)、即ち入力バツファ21〜23を調
べ、どのバッファのデータがマーシャ32のマージ処理
によって最初に尽きるかく即ちどのバッファが最初に空
になるか)を検出する。
この検出は、3個のバッファ(入力バッファ21〜23
)の各最終データのキー値を比較することによって行な
われる。例えば、この実施例のようにキー値の昇順にマ
ージしている場合には、最終データのキー値が最も小さ
いバッファが最初に空になるはずである。
先読み制御部36は、マーシャ32のマージ処理に供さ
れている3個のバッファ(入力バッファ21〜23)の
中で最初に空になるはずのバッファを検出すると、同バ
ッファに対応する入力ファイルからの次のブロックの読
込みをリーダ15に指示する。
今、先読み制御部36により検出されたバッフ1(最初
に空になるはずのバッフ?)が入力バッファ21である
ものとすると、リーダ15は入力ファイル11から次の
マージ対象ブロックを先読みし、スイッチ部37を介し
て接続されている入カバッフア即ち先読み用バッファに
決定されている入力バッファ1(この例では入力バッフ
ァ24)に入力する。
この先読み入力動作は前記したマージ1732のマージ
処理と並行して行なわれる。リーダ15は上記の先読み
入力を終了するとその旨を先読み制御部36経由でマー
ジ制御部38に通知する。
マージIIIwJ部38は、リーダ15から先読み入力
の終了が通知され、且つマーシャ32からマージ処理に
供給されていた3個のバッファ(入力バッファ21〜2
3)の1つ(入力バッファ21)でデータが尽きたこと
が通知されると、同バッファ、即ち入力バッファ21を
先読み用に決定する。そしてマージ制御部38は初期設
定の場合と同様に残りの入力バッファ22〜24をマー
シャ32に接続するようにスイッチ部31を切替える。
またマージ制御部38は先読み用に決定された入力バッ
ファ21(マージ処理に供されないバッファ)をリーダ
15に接続し、残りの入力バッファ22〜24を先読み
制御部36に接続するようにスイッチ部37を切替える
。そしてマージ制御部38はマーシャ32讐先読み制御
部36におよびライタ35に制御を渡す。これによりラ
イタ35は出力バッファ33に書込まれたマージ結果を
出力ファイル34に書出し、マーシャ32はマージ処理
を継続し、先読み制御部36はリーダ15に対して先読
み指示を与える。そしてマーシャ32によるマージ処理
とリーダ15による先読み動作とが並行して行なわれる
なお、前記実施例では、入力バッファ数が入力ファイル
数より1つだけ多い場合について説明したがこれに限る
ものではない。またこの発明は、ディスクソートにおけ
る1フエイズを成すマージフェイズにも同様に適用でき
る。
[発明の効果] 以上詳述したようにこの発明によれば、入力バッファ数
を僅かに増加するだけでデータブロックの先読みが効率
的に行なえるので、マージ処理が中断するのを著しく低
減でき、処理の高速化が図れる。また人カパッフ7用に
供されるメモリ領域を一定とすると、従来のダブルバマ
ファリングによる先読み方式と比較して各人力バッファ
のサイズを大きくとれるため、入力回数が減り、しだが
つてマージ処理の一層の高速化が図れる。
【図面の簡単な説明】
第1図はこの発明の一実施例に係るマージシステムのブ
ロック構成図である。 11〜13・・・入力ファイル、15・・・リーダ、2
1〜24・・・入力バッファ、31.37・・・スイッ
チ部、32・・・マーシャ、36・・・先読み制御部、
38・・・マージ制御部。

Claims (1)

    【特許請求の範囲】
  1. ソーティング済みのデータの列を有するm個の入力ファ
    イルをマージして1つのファイルを生成するマージシス
    テムにおいて、マージ対象となるデータブロックを格納
    するn個(n≧m)の入力バッファと、これらn個の入
    力バッファからマージ処理に供されるm個の入力バッフ
    ァを選択する選択手段であって、マージ処理に供されて
    いるm個の入力バッファのいずれか1つでデータが尽き
    た場合に該当する入力バッファに代えて残りのn−m個
    の入力バッファの1つを選択する選択手段と、この選択
    手段によって選択されているm個の入力バッファの先頭
    領域から順にデータを取出してマージ処理を行なうマー
    ジ手段と、上記選択手段によって選択されているm個の
    入力バッファのうちで最初にデータが尽きる入力バッフ
    ァを予め検出し、同バッファに対応する入力ファイルか
    らの次のマージ対象データブロックの先読み入力を指示
    する先読み制御手段と、この先読み制御手段の指示に応
    じて該当する入力ファイルから次のマージ対象データブ
    ロックを読出す読出し手段と、この読出し手段により読
    出されるデータブロックの入力先を上記n個の入力バッ
    ファのうち上記選択手段により選択されるm個の入力バ
    ッファを除く入力バッファの1つに切替える切替え手段
    とを具備することを特徴とするマージシステム。
JP11675385A 1985-05-31 1985-05-31 マ−ジシステム Pending JPS61275935A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11675385A JPS61275935A (ja) 1985-05-31 1985-05-31 マ−ジシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11675385A JPS61275935A (ja) 1985-05-31 1985-05-31 マ−ジシステム

Publications (1)

Publication Number Publication Date
JPS61275935A true JPS61275935A (ja) 1986-12-06

Family

ID=14694899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11675385A Pending JPS61275935A (ja) 1985-05-31 1985-05-31 マ−ジシステム

Country Status (1)

Country Link
JP (1) JPS61275935A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6453227A (en) * 1987-05-13 1989-03-01 Hitachi Ltd Merging method
JPH0275018A (ja) * 1988-09-12 1990-03-14 Fujitsu Ltd マージ処理方法
JPH02254536A (ja) * 1989-03-29 1990-10-15 Mitsubishi Electric Corp マージデータ送信制御方式
JPH0334015A (ja) * 1989-06-30 1991-02-14 Fujitsu Ltd クイックソート技法における入出力の並行処理方法
US5255370A (en) * 1987-04-28 1993-10-19 Fujitsu Ten Limited Data transfer apparatus and data transfer system
JPH05274117A (ja) * 1992-03-25 1993-10-22 Masaru Kiregawa ソート処理方式
JP2008071191A (ja) * 2006-09-14 2008-03-27 Canon Inc 情報表示装置及びメタ情報表示方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5255370A (en) * 1987-04-28 1993-10-19 Fujitsu Ten Limited Data transfer apparatus and data transfer system
JPS6453227A (en) * 1987-05-13 1989-03-01 Hitachi Ltd Merging method
JPH0275018A (ja) * 1988-09-12 1990-03-14 Fujitsu Ltd マージ処理方法
JPH02254536A (ja) * 1989-03-29 1990-10-15 Mitsubishi Electric Corp マージデータ送信制御方式
JPH0334015A (ja) * 1989-06-30 1991-02-14 Fujitsu Ltd クイックソート技法における入出力の並行処理方法
JPH05274117A (ja) * 1992-03-25 1993-10-22 Masaru Kiregawa ソート処理方式
JP2008071191A (ja) * 2006-09-14 2008-03-27 Canon Inc 情報表示装置及びメタ情報表示方法

Similar Documents

Publication Publication Date Title
US5301351A (en) Data transfer control system between high speed main memory and input/output processor with a data mover
US3848235A (en) Scan and read control apparatus for a disk storage drive in a computer system
EP0166023B1 (en) Method and system for data compression and restoration
JPH0934740A (ja) 外部記憶装置およびそのメモリアクセス制御方法
JPS61275935A (ja) マ−ジシステム
JPH05143242A (ja) 磁気デイスクシステム
JPH07121308A (ja) ディスク装置のライトバック制御方法
JP2598935B2 (ja) テキストメモリへの書込方法
JP3024362B2 (ja) プリンタ
JPH07191822A (ja) データ記憶装置及びデータシステム
JPS6074033A (ja) 命令読出し方式
JP2537862B2 (ja) 表示デ−タ読込み制御方式
JPH07134683A (ja) データ転送方式
KR100287210B1 (ko) 지능형 반도체 기억장치
JPS581247A (ja) 命令先取り制御方法
JP3264985B2 (ja) ディスク制御装置
JPH06162083A (ja) 文字列検索装置
JPH05143650A (ja) フアイル検索方式
JPH02224112A (ja) 内部データの無編集出力方式
JPH05128050A (ja) 電子計算機システムにおけるデータ検索制御方法
JPS6057440A (ja) 情報処理装置
JPH05334244A (ja) バス・インタフェース・ユニット
JPH0527913A (ja) バツフアレシオの最適化方法
JPH03139724A (ja) データ処理装置
JPH02254536A (ja) マージデータ送信制御方式