JPH05241786A - ソート処理装置 - Google Patents

ソート処理装置

Info

Publication number
JPH05241786A
JPH05241786A JP7515892A JP7515892A JPH05241786A JP H05241786 A JPH05241786 A JP H05241786A JP 7515892 A JP7515892 A JP 7515892A JP 7515892 A JP7515892 A JP 7515892A JP H05241786 A JPH05241786 A JP H05241786A
Authority
JP
Japan
Prior art keywords
data
sort
stored
work area
storage device
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
JP7515892A
Other languages
English (en)
Inventor
Hiroshi Sano
洋 佐野
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.)
Dainippon Screen Manufacturing Co Ltd
Original Assignee
Dainippon Screen Manufacturing 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 Dainippon Screen Manufacturing Co Ltd filed Critical Dainippon Screen Manufacturing Co Ltd
Priority to JP7515892A priority Critical patent/JPH05241786A/ja
Publication of JPH05241786A publication Critical patent/JPH05241786A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 補助記憶装置へのアクセス回数を十分に低減
することで、並び換えの処理速度の向上を図る。 【構成】 被ソートデータであるベクトルデータの始点
のx座標値の出現度数をそのx座標値の小区間毎に示す
ヒストグラムを生成し、磁気ディスク装置13上にオー
プンするワークファイルの数Nに値1を加えた数だけそ
のヒストグラムの底辺に区間(大区間)を設定する。そ
して、被ソートデータであるベクトルデータの始点のx
座標値がどの大区間に該当するかをヒストグラムに基づ
いて判定して、各大区間に対応付けられたRAM23上
のソート用バッファ#0および前記各ワークファイル#
1〜#Nに被ソートデータを分配・転送する。この結
果、ソート用バッファ#0及び各ワークファイル#1〜
#Nには、ベクトルデータの始点のx座標値に応じて並
び順に区分けされたデータ群がそれぞれ格納される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ソート処理装置に関
し、詳しくは、磁気ディスク装置等の補助記憶装置に格
納される大量のデータを対象とする並び換え処理を行な
うソート処理装置に関する。
【0002】
【従来の技術】従来より、ソート処理装置として、数多
くの方法論に基づく装置が提案され実施されている。こ
うした提案によれば、被ソートデータが大量となった場
合に、主記憶装置と補助記憶装置との間でデータのやり
取りを行ないつつデータの並び換えが行なわれていた。
【0003】ところで、主記憶装置は、アクセス時間が
短くて済むが高価であるといった特徴を持ち、また、補
助記憶装置は、アクセス時間が長いが安価であるといっ
た特徴を持つ。こうしたことから、補助記憶装置をでき
るだけ利用しながらも、補助記憶装置へのアクセス回数
を少なくすることにより、高速な並び換えを実現するソ
ート処理装置(特開昭61−211736号公報記載の
「ソート処理方式」)が提案されていた。
【0004】かかるソート処理装置は、大量のデータを
複数の小データ群に分け、2つの小データ群をマージし
て大小関係が成り立つ2つの小データ群を出力する単位
処理手段を順時の小データ群に組み合わせて適用して全
データをソートすることにより、並び換えを図ってい
る。
【0005】
【発明が解決しようとする課題】しかしながら、前記従
来のソート処理装置では、補助記憶装置から所定量のデ
ータ群を読み取り、主記憶装置上でこれらデータの並び
換えを行なったうえで、再度補助記憶装置に書き込むと
いった作業を、小データ群の組み合わせの数だけ行なう
必要があることから、補助記憶装置へのアクセス回数を
十分に低減することができなかった。このため、高速な
並び換えを十分に実現することができないといった問題
があった。
【0006】本発明のソート処理装置は、こうした問題
点に鑑みてなされたもので、補助記憶装置へのアクセス
回数を十分に低減することで、処理速度の向上を図るこ
とを目的としている。
【0007】
【課題を解決するための手段】このような目的を達成す
べく、前記課題を解決するための手段として、以下に示
す構成を取った。
【0008】即ち、本発明のソート処理装置の第1の構
成は、図1に例示するように、補助記憶装置M1に格納
される複数のデータDTを主記憶装置M2上のソート用
作業領域M2aに展開した上で、該データDTの並べ換
え処理を行なうソート処理装置であって、前記補助記憶
装置M1上に予め決められた数のデータ格納領域M1a
を設定するデータ格納領域設定手段M3と、前記複数の
データDTの値の存在する範囲を複数の小区間に分け
て、各小区間に属するデータDTの出現度数を算出する
出現度数算出手段M4と、該算出された各小区間の出現
度数に基づき、前記ソート用作業領域M2aに収納可能
なデータ数に収まる出現度数を有する大区間を、前記複
数のデータDTの値の存在する範囲に前記データ格納領
域の設定数だけ設定する大区間設定手段M5と、前記補
助記憶装置M1から前記データDTを順に取り込み、各
データの値を前記大区間設定手段M5にて設定された各
大区間に照合することにより、前記複数のデータDTを
それぞれ対応する前記データ格納領域M1aに分配して
転送するデータ分配手段M6と、前記各データ格納領域
M1aに格納されたデータDTを、各データ格納領域毎
に順に前記ソート用作業領域M2aへ転送するデータ転
送手段M7とを備えたことを要旨とする。
【0009】また、本発明のソート処理装置の第2の構
成は、図2に例示するように、補助記憶装置M11に格
納される複数のデータDTを主記憶装置M12上のソー
ト用作業領域M12aに展開した上で、該データDTの
並べ換え処理を行なうソート処理装置であって、前記補
助記憶装置M11上に予め決められた数のデータ格納領
域M11aを設定するデータ格納領域設定手段M13
と、前記複数のデータDTの値の存在する範囲を複数の
小区間に分けて、各小区間に属するデータDTの出現度
数を算出する出現度数算出手段M14と、該算出された
各小区間の出現度数に基づき、前記ソート用作業領域M
12aに収納可能なデータ数に収まる出現度数を有する
大区間を、前記複数のデータDTの値の存在する範囲に
前記データ格納領域の設定数に値1を加えた数だけ設定
する大区間設定手段M15と、前記補助記憶装置M11
から前記データDTを順に取り込み、各データの値を前
記大区間設定手段M15にて設定された各大区間に照合
することにより、前記複数のデータDTをそれぞれ対応
する前記ソート用作業領域M12aおよび前記データ格
納領域M11aに分配して転送するデータ分配手段M1
6と、前記ソート用作業領域M12aおよび各データ格
納領域M11aに格納されたデータを、各領域毎に順に
前記ソート用作業領域M12aへ転送するデータ転送手
段M17とを備えたことを要旨とする。
【0010】なお、これらソート処理装置において、ソ
ート用作業領域へのデータの転送は、転送元に格納され
た各データの整列順位を、前記出現度数算出手段で算出
された小区間毎のデータの出現度数に基づいて特定し、
該整列順位に応じて定められたソート用作業領域上の格
納位置に該データをそれぞれ転送する構成とすることが
できる。また、出現度数算出手段は、補助記憶装置に格
納される複数のデータのその格納の際に、該データの値
を読み取ってデータの出現度数を算出する構成とするこ
ともできる。
【0011】
【作用】以上のように構成された本発明の第1のソート
処理装置では、主記憶装置M2上のソート用作業領域M
2aに収納可能なデータ数に収まる出現度数を有する大
区間が、大区間設定手段M5により、複数のデータDT
の値の存在する範囲に、データ格納領域設定手段M3で
設定されるデータ格納領域M1aの数だけ設定される。
そうして、データ分配手段M6によって、補助記憶装置
M1から前記複数のデータDTを順に取り込み、各デー
タの値を各大区間に照合することにより、前記複数のデ
ータDTを補助記憶装置M1上のそれぞれ対応するデー
タ格納領域M1aに分配して転送し、次いで、各データ
格納領域M1aに格納されたデータDTを、データ転送
手段M7によって、各データ格納領域毎に順にソート用
作業領域M2aへ転送する。
【0012】こうした働きにより、データ分配手段M6
による分配先である各データ格納領域M1aには、デー
タの値に応じて並び順に区分けされたデータ群がそれぞ
れ格納され、データ転送手段M7によりそれらはその並
び順にソート用作業領域M2aに格納される。その後、
ソート用作業領域M2aでそれらデータ群は順に並べ換
えがなされ、補助記憶装置に格納されたデータの並べ換
えが完了する。
【0013】一方、本発明の第2のソート処理装置で
は、主記憶装置M12上のソート用作業領域M12aに
収納可能なデータ数に収まる出現度数を有する大区間
が、大区間設定手段M15により、複数のデータDTの
値の存在する範囲に、データ格納領域設定手段M13で
設定されるデータ格納領域M11aの数に値1を加えた
数だけ設定される。そうして、データ分配手段M16に
よって、補助記憶装置M11から前記複数のデータDT
を順に取り込み、各データの値を各大区間に照合するこ
とにより、前記複数のデータDTをそれぞれ対応するソ
ート用作業領域M12aおよびデータ格納領域M11a
に分配して転送し、次いで、各データ格納領域M11a
に格納されたデータDTを、データ転送手段M17によ
って、各データ格納領域毎に順にソート用作業領域M1
2aへ転送する。
【0014】こうした働きにより、データ分配手段M1
6による分配先であるソート用作業領域M12aおよび
各データ格納領域M11aには、データの値に応じて並
び順に区分けされたデータ群がそれぞれ格納され、デー
タ転送手段M17によりそれらはその並び順にソート用
作業領域M12aに格納される。その後、ソート用作業
領域M12aでそれらデータ群は順に並べ換えがなさ
れ、補助記憶装置に格納されたデータの並べ換えが完了
する。
【0015】
【実施例】以上説明した本発明の構成・作用を一層明ら
かにするために、以下本発明の好適な実施例について説
明する。
【0016】図3は、本発明の第1実施例としてのソー
ト処理装置を採用した描画システムの全体構成図であ
る。この描画システムは、CADで作成された描画デー
タ(以下、CADデータと呼ぶ)を入力として、ガラス
乾版に画像を描画するもので、図3に示すように、デー
タ処理装置1、出力処理装置3および描画装置5を備え
る。
【0017】データ処理装置1は、いわゆるマイクロコ
ンピュータとその周辺装置とから構成され、処理の指示
や処理結果の表示を行なう端末機11と、各種データを
格納する外部記憶装置としての磁気ディスク装置13
と、これらの装置に接続され、外部からCADデータを
受け取って各種データ処理を行なう処理ユニット20と
から構成される。
【0018】処理ユニット20は、周知のCPU21、
ROM22、RAM23等を中心に算術論理回路として
構成され、外部から前述したCADデータが入力される
入力ポート24と、端末機11に対してデータの入出力
を行う入出力制御部25と、磁気ディスク装置13に対
してデータの入出力を行なうディスク制御部26と、出
力処理装置3にデータの出力を行なう出力ポート27等
を備える。なお、CPU21は、データ変換部21a,
太らし処理部21bおよびソート処理部21cを備える
が、これらはROM22に内蔵された所定のプログラム
に従ってCPU21が実行する処理の内容を表わしたも
ので、その詳しい説明は後述する。
【0019】出力処理装置3は、処理ユニット20によ
り各種処理の施されたデータを受け取り、ラスター形式
の描画データを生成する装置である。出力処理装置3か
ら出力される描画データを受け取る描画装置5は、露光
ヘッドを駆動し、ガラス乾版P上に画像を記録する。
【0020】次に、処理ユニット20のCPU21で実
行されるベクトルデータ生成ルーチンの概要について、
図4のフローチャートに従って説明する。図4に示すよ
うに、処理が開始されると、まず、CPU21は、入力
ポート24を介してCADデータを一組入力する(ステ
ップ100)。次いで、入力されたCADデータを予め
定められた内部データ形式に変換する処理を実行する
(ステップ110)。ここで言う内部データ形式とは、
図形を構成する線分を、例えば、始点,終点およびその
線分の太さといった予め定められた形式で表わすもので
ある。なお、この処理は、前述したように、図3中、デ
ータ変換部21aで表わされる処理に相当する。
【0021】続いて、それら内部データを磁気ディスク
装置13へ出力し(ステップ120)、その後、CAD
データが全部入力されたか否かを判定する(ステップ1
30)。ここで、未だ全部入力されていないと判定され
ると、ステップ100に戻り、ステップ100ないしス
テップ130の処理を繰り返し実行する。一方、ステッ
プ130で肯定判定された場合には、以後のステップに
進む。
【0022】次いで、CPU21は、磁気ディスク装置
13に格納された内部データに対して太らし処理を施す
太らし処理ルーチンを実行する(ステップ200)。こ
こで言う太らし処理とは、図形を構成する線分を表わす
ベクトルに対して線幅を持たせて太らせる処理(線幅を
持った線分は複数のベクトルを用いて示される)であ
り、図3中、太らし処理部21bで表わされる処理に相
当する。なお、この処理ルーチンについては、後程、詳
しく説明する。
【0023】続いて、CPU21は、太らし処理の結果
生成されたベクトルデータの並べ換えを行なうソート処
理ルーチンを実行する(ステップ300)。この並べ換
えは、ベクトルの始点のx座標値に基づいてそのx座標
値が昇順となるように各ベクトルデータを並べ換えるも
のである。なお、この処理ルーチンは、図3中、ソート
処理部21cで表わされる処理に相当するもので、後
程、詳しく説明する。
【0024】ステップ300の実行後、「エンド」に抜
けて、本処理を終了する。次に、ステップ200で実行
される太らし処理ルーチンについて、図5のフローチャ
ートに沿って詳しく説明する。太らし処理ルーチンに処
理が移ると、CPU21は、まず、一内部データを磁気
ディスク装置13から読み込む(ステップ210)。次
いで、その読み込んだ内部データに対して太らし処理を
施してベクトルデータを生成する(ステップ220)。
【0025】太らし処理とは、詳しくは、内部データ
が、例えば、図6に示すようなベクトルαを表わすデー
タである場合、図6に示すように、そのベクトルαに対
して線幅を持たせて太らせ、その外周を示す複数本のベ
クトルβ1,β2,β3,β4を生成する処理である。
なお、このときのベクトルβ1,β2,β3,β4は、
x方向の座標値が小さい側の端点を始点とし、他方の端
点(x方向の座標値が大きい側の端点)を終点とするよ
うにベクトルの方向が定められている。
【0026】続いて、上記のようにして生成された各ベ
クトルデータを磁気ディスク装置13へ出力し格納する
処理を実行する(ステップ230)。その後、ステップ
220で生成された各ベクトルデータの各始点に関し、
x座標の値を抽出し、これらの値をRAM23上に生成
したヒストグラム上に記入していく処理を実行する(ス
テップ240)。その後、内部データが全部入力された
か否かを判定し(ステップ250)。ここで、未だ全部
入力されていないと判定されると、ステップ210に戻
り、ステップ210ないしステップ250の処理を繰り
返し実行する。一方、ステップ250で肯定判定された
場合には、「リターン」に進み、本ルーチンの処理を一
旦終了する。
【0027】こうした太らし処理ルーチンの結果、太ら
し処理の施された図形を示す各ベクトルデータが磁気デ
ィスク装置13に格納されると共に、各ベクトルデータ
の始点のx座標値に関するヒストグラムが作成される。
【0028】次に、こうして作成されたヒストグラムに
ついて詳しく説明する。このヒストグラムは、図7
(a)に示すように、ベクトルデータの始点のx座標値
の存在する範囲を幾つかの区間(特許請求の範囲で言う
ところの小区間)に分けて、各区間を底辺とし、その区
間に属する上記x座標値の出現度数を示す。図7(a)
に示すヒストグラムは、始点のx座標値が1から204
8までの500個のデータをサンプルとして、底辺の各
区間を100毎に1から2099まで区分けして作成し
たものである。ところで上記ヒストグラムの底辺の区間
の大きさは、本ルーチンを起動するプログラムにより予
め特定値に設定されているが、これに替えて端末機11
から入力可能な構成としてもよい。
【0029】次に、ステップ300で実行されるソート
処理ルーチンについて、図9および図10のフローチャ
ートに沿って詳しく説明する。ソート処理ルーチンに処
理が移ると、CPU21は、まず、RAM23に領域確
保するソート用バッファ#0の容量Vと磁気ディスク装
置13上に設定するワークファイルの数Nとを入力する
(ステップ310)。次いで、磁気ディスク装置13上
にそのワークファイル数Nに値1を加えたN+1の数の
ファイル#0,#1,…,#N,#(N+1)をオープ
ンする(ステップ320)。ステップ310で入力され
たソート用のワークファイル数Nが値4であれば、磁気
ディスク装置13上に5個のファイル#1,#2,#
3,#4,#5が設定されることになる。
【0030】続いて、前述した太らし処理ルーチンで作
成したヒストグラムの底辺に、前記100毎の小区間を
後述の条件に従って集合させた大区間を(N+1)個設
定する処理を実行する(ステップ330)。こうした大
区間は1以上の連続する小区間からなり、それらの出現
度数の和が一定の数以下の最大の数となるように設定さ
れる。ここで、その一定の数とは、RAM23に領域確
保されるソート用バッファ#0に格納可能なベクトルデ
ータの数で、ステップ300で入力された容量Vに応じ
て定まる。例えば、ソート用バッファ#0の容量が40
0[byte]で(例として400[byte]を挙げたが、実際は
10M[byte]といった大容量であってもよい。)、前記
ベクトルデータが4[byte]で表現されるとすると、ソー
ト用バッファ#0に格納可能なベクトルデータ数は、1
00となる。
【0031】したがって、図7(a)に示したヒストグ
ラムの場合、同図(b)に示すように、ベクトルデータ
の始点のx座標値が値1から値699で出現度数71と
なり(値700から値799の出現度数45を加えると
100を越えた出現度数となる)、第1番目の大区間が
設定される。同様にして、x座標値が値700から値8
99で出現度数77となり第2番目の大区間が設定さ
れ、x座標値が値900から値1199で出現度数91
となり第3番目の大区間が設定され、x座標値が値12
00から値1499で出現度数88となり第4番目の大
区間が設定され、x座標値が値1500から値1699
で出現度数65となり第5番目の大区間が設定される。
【0032】続いて、ステップ330で設定した第1番
目から第(N+1)番目の各大区間に、前記RAM23
上のソート用バッファ#0および磁気ディスク装置13
上にオープンしたワークファイル#1,…,#Nをそれ
ぞれ対応させる(ステップ340)。即ち、図7(a)
に示したヒストグラムの場合、第1番目の大区間にソー
ト用バッファ#0を、第2番目の大区間にワークファイ
ル#1を、第3番目の大区間にワークファイル#2を、
第4番目の大区間にワークファイル#3を、第5番目の
大区間にワークファイル#4をそれぞれ対応させる。具
体的には、図8に示す様な管理テーブルを作成すること
により、大区間とソート用バッファ、もしくはワークフ
ァイルとの対応づけを行なう。
【0033】続いて、太らし処理ルーチンで磁気ディス
ク装置13に格納されたベクトルデータを一つ読込む処
理を実行する(ステップ350)。続いて、その読み込
んだベクトルデータの始点のx座標値を前述してきたヒ
ストグラムと照らし合わせることにより、RAM23上
のソート用バッファ#0および磁気ディスク装置13上
のワークファイル#1〜#Nのいずれかにベクトルデー
タを振り分けて出力する処理を実行する(ステップ36
0)。
【0034】図7のヒストグラムを用いて説明すると、
ベクトルデータの始点のx座標値をヒストグラムの底辺
に照らし合わせて、その値がどの大区間に該当するかを
判定し、その大区間に対応付けされたソート用バッファ
#0またはワークファイル#4のいずれかにそのベクト
ルデータを出力する。具体的には、図11に示すよう
に、上記始点のx座標値が1〜699の間の値である場
合には、第1番目の大区間が選択されてベクトルデータ
はRAM23上のソート用バッファ#0に出力され、x
座標値が700〜899の間の値である場合には、第2
番目の大区間が選択されてベクトルデータは磁気ディス
ク装置13上のワークファイル#1に出力され、x座標
値が900〜1199の間の値である場合には、第3番
目の大区間が選択されてベクトルデータは磁気ディスク
装置13上のワークファイル#2に出力され、x座標値
が1200〜1499の間の値である場合には、第4番
目の大区間が選択されてベクトルデータは磁気ディスク
装置13上のワークファイル#3に出力され、x座標値
が1500〜1699の間の値である場合には、第5番
目の大区間が選択されてベクトルデータは磁気ディスク
装置13上のワークファイル#4に出力される。
【0035】なお、x座標値が第1番目から第5番目の
大区間のいずれにも該当しない場合、即ち、0〜169
9の値でない場合には、ステップ320でオープンした
ワークファイル#(N+1)、即ち、ワークファイル#
5を残りデータ用のワークファイルとして、そのワーク
ファイル#5にそのベクトルデータを出力する。
【0036】ところで、第1番目の大区間に該当するx
座標値をもつベクトルデータをソート用バッファ#0に
出力し書き込む際には、ソート用バッファ#0はランダ
ムな書込みが可能であることから、ヒストグラムのデー
タ分布状態より各データの格納位置を予め定めてその格
納位置にベクトルデータをランダムに書き込むようにな
されている。具体的には、ヒストグラムが図7に示すよ
うなデータ分布状態を持つ場合、第1番目の大区間にお
ける各区間(1〜99,100〜199,200〜29
9,300〜399,400〜499,500〜59
9,600〜699)の出現度数は5,5,6,6,
1,22,26となり、図12に示すように、これら出
現度数に基づいてソート用バッファ#0内に複数のエリ
ア(以下、棚と呼ぶ)を確保する。そして、ベクトルデ
ータの始点のx座標値をヒストグラムの底辺に照らし合
わせて、その値がどの区間に該当するかを判定し、その
区間に対応した棚にそのベクトルデータを出力する。こ
の結果、図12に示すように、各棚内においては並び換
えがなされていないが、棚を一単位とした並び換えがな
される。
【0037】続いて、全てのベクトルデータに関し以上
の処理が終了したか否かを判定し(ステップ370)、
終了していないと判定された場合、ステップ350に戻
り、ステップ350ないしステップ370の処理を繰り
返し実行する。
【0038】一方、ステップ370で終了していると判
定された場合には、ソート用バッファ#0に格納された
ベクトルデータを磁気ディスク装置13上のソート結果
ファイル#99に出力する処理を実行する(ステップ3
80)。この出力処理は、ソート用バッファ#0内に格
納されたベクトルデータを棚毎にRAM23上のワーク
エリアを用いてベクトルデータの並び換え(始点のx座
標値に基づく並び換え)を、周知なソーティング法、例
えばクイックソート法を用いて行ない、その後、その並
び換えられたベクトルデータをソート結果ファイル#9
9に出力する処理である。こうして、ソート結果ファイ
ル#99には、並び換えられたベクトルデータが格納さ
れることになる。
【0039】続いて、カウンタCNTに値1を代入し
(ステップ390)、その後、カウンタCNTの値に応
じて選択された磁気ディスク装置13上のワークファイ
ル(例えば、CNTの値が3である場合、ワークファイ
ル#3が選択される)のベクトルデータを、RAM23
上のソート用バッファ#0に出力する処理を行なう(ス
テップ400)。なお、この出力処理は、ステップ36
0でベクトルデータをソート用バッファ#0に書き込む
際と同様に、ヒストグラムのデータ分布状態より各ベク
トルデータの格納位置を予め定めてその格納位置に書き
込むようになされており、この結果、ソート用バッファ
#0には、棚単位でソーティングがなされた状態でベク
トルデータが格納される。
【0040】続いて、そのソート用バッファ#0に格納
されたベクトルデータを磁気ディスク装置13上のソー
ト結果ファイル#99に出力する処理を実行する(ステ
ップ410)。この出力処理は、ステップ380の処理
と同様に、ソート用バッファ#0内に格納されたベクト
ルデータを棚単位で順に並び換えて出力するものであ
る。
【0041】その後、カウンタCNTの値を値1だけイ
ンクリメントし(ステップ420)、その値がワークフ
ァイル数Nより大きいか否かを判定する(ステップ43
0)。ここで、カウンタCNTの値がNより大きくない
と判定されると、ステップ400に戻り、ステップ40
0ないしステップ430の処理を繰り返し実行する。一
方、ステップ430でカウンタCNTの値がNより大き
いと判定されると、「リターン」に抜けて本ルーチンの
処理を一旦終了する。
【0042】なお、ステップ360により、残りデータ
用ワークファイル#(N+1)に前記大区間の何れにも
に該当しないベクトルデータが格納されている場合に
は、特にフローチャートに示していないが、以下に示す
特別な処理を施している。即ち、まず、残りデータ用ワ
ークファイル#(N+1)に格納されたベクトルデータ
に関するヒストグラムを作成し、このベクトルデータに
対して図9及び図10に示すソート処理ルーチンを実行
させる。こうして、太らし処理ルーチンで生成された全
てのベクトルデータに対して、その始点のx座標値が昇
順となる並び換えがなされ、これら並び換えがなされた
ベクトルデータはソート結果ファイル#99に格納され
る。
【0043】以上説明したように、本第1実施例のソー
ト処理装置では、ベクトルデータの始点のx座標値の出
現度数をそのx座標値の小区間毎に示すヒストグラムを
生成し、磁気ディスク装置13上にファイルオープンす
るワークファイルの数Nに値1を加えた数だけそのヒス
トグラムの底辺に区間(大区間)を設定する。そして、
被ソートデータであるベクトルデータの始点のx座標値
がどの大区間に該当するかをヒストグラムに基づいて判
定して、各大区間に対応付けられたRAM23上のソー
ト用バッファ#0および前記各ワークファイル#1〜#
Nに被ソートデータを分配・転送する。こうした結果、
ソート用バッファ#0および各ワークファイル#1〜#
Nには、ベクトルデータの始点のx座標値に応じて並び
順に区分けされたデータ群がそれぞれ格納されることに
なる。
【0044】したがって、本ソート処理装置では、磁気
ディスク装置13上の各ワークファイル#1〜#Nへの
データの書込みと、各ワークファイル#1〜#NからR
AM23上のソート用バッファ#0へのデータの受け渡
しだけで、区分けされたデータ群を一単位とした並び替
えを行なうことができることから、磁気ディスク装置1
3へのデータのアクセス回数を十分に低減することがで
きる。このため、被ソートデータの高速な並び換えを実
現することができる。
【0045】また、本ソート処理装置では、ステップ3
60でベクトルデータをソート用バッファ#0に転送す
る際、およびステップ400でベクトルデータをワーク
ファイル#1〜#Nからソート用バッファ#0に転送す
る際に、ヒストグラムのデータ分布状態より小区間毎の
データの格納位置を予め定めてその格納位置にベクトル
データをランダムに書き込むよう構成されていることか
ら、小区間を一単位とした並び換えを、記憶装置への余
分なアクセスを行なうことなしに行なうことができる。
このため、より高速なデータの並び換えを実現すること
ができる。
【0046】さらに、被ソートデータであるベクトルデ
ータを磁気ディスク装置13上へ準備する際に、太らし
処理ルーチンにより、そのベクトルデータの始点のx座
標値の出現度数を示すヒストグラムを同時に作成するよ
うに構成されていることから、そのヒストグラムを、磁
気ディスク装置13上の被ソートデータを改めて読み直
すことなしに作成することができる。このため、より一
層高速なデータの並び換えを行なうことができる。
【0047】従来のソート処理装置では、被ソートデー
タが大容量となると、データ量の増大率以上に並び換え
時間が増大する傾向にあるが、これに対して、本実施例
のソート処理装置では、被ソートデータが大容量となっ
てもデータのやり取り先であるワークファイルの数が増
えるだけであることから、データ量の増大に応じた並び
換え時間の増大で済む。このため、さらに高速なデータ
の並び換えが実現される。
【0048】また、従来のソート処理装置では、被ソー
トデータ量以上の容量のワークファイルを磁気ディスク
装置に確保しておく必要があるのに対して、本実施例の
ソート処理装置では、被ソートデータのデータ量とほぼ
同じ容量のワークファイルを確保するだけでよく、補助
記憶装置の利用効率がよい。
【0049】次に、本発明の第2実施例を説明する。こ
こでは、第2実施例のソート処理装置を第1実施例と比
較して、その相違点について説明することにする。第1
実施例のソート処理装置は、磁気ディスク装置13上に
ファイルオープンするワークファイルの数Nに値1を加
えた数だけヒストグラムの底辺に大区間を設定し、被ソ
ートデータであるベクトルデータの始点のx座標値に応
じてベクトルデータを(N+1)個の群に分けて、各デ
ータ群をソート用バッファ#0および各ワークファイル
#1〜#Nに分配・転送する構成である。これに対し
て、本第2実施例のソート処理装置は、磁気ディスク装
置13上にファイルオープンするワークファイルの数N
だけヒストグラムの底辺に大区間を設定し、ベクトルデ
ータの始点のx座標値に応じてベクトルデータをN個の
群に分けて、図13に示すように、各データ群を各ワー
クファイル#1〜#Nに分配・転送する構成であり、そ
の後、各ワークファイル#1〜#Nからデータ群毎に順
にソート用バッファ#0に転送するものである。
【0050】即ち、本第2実施例のソート処理装置は、
分配したデータ群を全て磁気ディスク装置13上のワー
クファイルに転送し、その後、各ワークファイルからソ
ート用バッファに転送するものであり、これに対して、
第1実施例のソート処理装置は、ヒストグラムに基づき
分配されたデータ群の内の第1番目を、第1のワークフ
ァイルへの転送を省略して直接ソート用バッファに転送
しようとしたものである。こうして構成された第2実施
例のソート処理装置は、第1実施例と同様に、高速なデ
ータの並び換えを実現することができる。
【0051】なお、前述してきた第1および第2実施例
では、ワークファイル#1〜#Nを1台の磁気ディスク
装置13上に確保するように構成されているが、これに
替えて、ワークファイル#1〜#NをN台の磁気ディス
ク装置13にそれぞれ分散して確保するように構成して
もよい。こうした構成により、磁気ディスク装置13で
のデータアクセス時間を短縮することができ、より一層
の高速なデータの並び換えを行なうことができる。
【0052】以上、本発明の幾つかの実施例を詳述して
きたが、本発明は、こうした実施例に何等限定されるも
のではなく、例えば、補助記憶装置としての磁気ディス
ク装置13に替えて光磁気ディスク装置を用いた構成
等、本発明の要旨を逸脱しない範囲において種々なる態
様にて実施することができるのは勿論のことである。
【0053】
【発明の効果】以上詳述したように本発明のソート処理
装置によれば、データの値に応じて並び順に区分けされ
たデータ群が補助記憶装置上の複数のデータ格納領域に
転送され、その後、そのデータ群は順に主記憶装置上の
ソート用作業領域に転送される。したがって、補助記憶
装置上の各データ格納領域へのデータ書込みと各データ
格納領域から主記憶装置上のソート作業領域へのデータ
の受け渡しだけで、区分けされたデータ群を一単位とし
た並び換えを行なうことができることから、補助記憶装
置へのデータのアクセス回数を十分に低減することがで
きる。このため、被ソートデータの高速な並び換えを実
現することができる。
【図面の簡単な説明】
【図1】本発明のソート処理装置の第1の構成を例示す
る基本的構成図である。
【図2】本発明のソート処理装置の第2の構成を例示す
る基本的構成図である。
【図3】本発明の第1実施例としてのソート処理装置を
採用した描画システムの全体構成図である。
【図4】処理ユニット20のCPU21で実行される描
画データ生成ルーチンを示すフローチャートである。
【図5】同じくCPU21で実行される太らし処理ルー
チンを示すフローチャートである。
【図6】太らし処理の概略を表わす説明図である。
【図7】ヒストグラムを、そのヒストグラムに基づき定
められるベクトルデータの転送先と共に表わす説明図で
ある。
【図8】管理テーブルの構成例を示す図である。
【図9】CPU21で実行されるソート処理ルーチンの
前半部分を示すフローチャートである。
【図10】CPU21で実行されるソート処理ルーチン
の後半部分を示すフローチャートである。
【図11】磁気ディスク装置13上の被ソートデータの
分配先を表わす説明図である。
【図12】第1番目の大区間に該当するx座標値をもつ
ベクトルデータをソート用バッファ#0に書き込む際の
書込み位置を示す説明図である。
【図13】本発明の第2実施例にあって磁気ディスク装
置13上の被ソートデータの分配先を表わす説明図であ
る。
【符号の説明】
M1,M11 補助記憶装置 M1a,M11a データ格納領域 M2,M12 主記憶装置 M2a,M12a ソート用作業領域 M3,M13 データ格納領域設定手段 M4,M14 出現度数算出手段 M5,M15 大区間設定手段 M6,M16 データ分配手段 M7,M17 データ転送手段 1 データ処理装置 3 出力処理装置 5 描画装置 11 端末機 13 磁気ディスク装置 20 処理ユニット 21 CPU 21a データ変換部 21b 太らし処理部 21c ソート処理部 23 RAM

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 補助記憶装置に格納される複数のデータ
    を主記憶装置上のソート用作業領域に展開した上で、該
    データの並べ換え処理を行なうソート処理装置であっ
    て、 前記補助記憶装置上に予め決められた数のデータ格納領
    域を設定するデータ格納領域設定手段と、 前記複数のデータの値の存在する範囲を複数の小区間に
    分けて、各小区間に属するデータの出現度数を算出する
    出現度数算出手段と、 該算出された各小区間の出現度数に基づき、前記ソート
    用作業領域に収納可能なデータ数に収まる出現度数を有
    する大区間を、前記複数のデータの値の存在する範囲に
    前記データ格納領域の設定数だけ設定する大区間設定手
    段と、 前記補助記憶装置から前記データを順に取り込み、各デ
    ータの値を前記大区間設定手段にて設定された各大区間
    に照合することにより、前記複数のデータをそれぞれ対
    応する前記データ格納領域に分配して転送するデータ分
    配手段と、 前記各データ格納領域に格納されたデータを、各データ
    格納領域毎に順に前記ソート用作業領域へ転送するデー
    タ転送手段とを備えたソート処理装置。
  2. 【請求項2】 補助記憶装置に格納される複数のデータ
    を主記憶装置上のソート用作業領域に展開した上で、該
    データの並べ換え処理を行なうソート処理装置であっ
    て、 前記補助記憶装置上に予め決められた数のデータ格納領
    域を設定するデータ格納領域設定手段と、 前記複数のデータの値の存在する範囲を複数の小区間に
    分けて、各小区間に属するデータの出現度数を算出する
    出現度数算出手段と、 該算出された各小区間の出現度数に基づき、前記ソート
    用作業領域に収納可能なデータ数に収まる出現度数を有
    する大区間を、前記複数のデータの値の存在する範囲に
    前記データ格納領域の設定数に値1を加えた数だけ設定
    する大区間設定手段と、 前記補助記憶装置から前記データを順に取り込み、各デ
    ータの値を前記大区間設定手段にて設定された各大区間
    に照合することにより、前記複数のデータをそれぞれ対
    応する前記ソート用作業領域および前記データ格納領域
    に分配して転送するデータ分配手段と、 前記データ格納領域に格納されたデータを、各領域毎に
    順に前記ソート用作業領域へ転送するデータ転送手段と
    を備えたソート処理装置。
  3. 【請求項3】 請求項1または2記載のソート処理装置
    であって、 ソート用作業領域へのデータの転送は、 転送元に格納された各データの整列順位を、前記出現度
    数算出手段で算出された小区間毎のデータの出現度数に
    基づいて特定し、該整列順位に応じて定められたソート
    用作業領域上の格納位置に該データをそれぞれ転送する
    構成であるソート処理装置。
  4. 【請求項4】 請求項1または2記載のソート処理装置
    であって、 出現度数算出手段は、 補助記憶装置に格納される複数のデータのその格納の際
    に、該データの値を読み取ってデータの出現度数を算出
    する構成であるソート処理装置。
JP7515892A 1992-02-26 1992-02-26 ソート処理装置 Pending JPH05241786A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7515892A JPH05241786A (ja) 1992-02-26 1992-02-26 ソート処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7515892A JPH05241786A (ja) 1992-02-26 1992-02-26 ソート処理装置

Publications (1)

Publication Number Publication Date
JPH05241786A true JPH05241786A (ja) 1993-09-21

Family

ID=13568123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7515892A Pending JPH05241786A (ja) 1992-02-26 1992-02-26 ソート処理装置

Country Status (1)

Country Link
JP (1) JPH05241786A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6134626A (ja) * 1984-05-29 1986-02-18 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 外部分布分類を実行する方法
JPS62251923A (ja) * 1986-04-25 1987-11-02 Toshiba Corp ソ−ト処理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6134626A (ja) * 1984-05-29 1986-02-18 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 外部分布分類を実行する方法
JPS62251923A (ja) * 1986-04-25 1987-11-02 Toshiba Corp ソ−ト処理方法

Similar Documents

Publication Publication Date Title
US5943683A (en) Data processing method using record division storing scheme and apparatus therefor
US5247665A (en) Data base processing apparatus using relational operation processing
US5577242A (en) System for batch transfer file management using a list to organize a batch of blocks into buffers
JPH05241786A (ja) ソート処理装置
JPH05143633A (ja) イソジオメトリツク形高速フーリエ変換実現方式
JPS6172333A (ja) 複数ファイルのマージ方法
JPS58166440A (ja) メニユ−画面処理方式
US20220138338A1 (en) Data replacement apparatus, data replacement method, and program
JPS62121532A (ja) デ−タ検索方法
JP2650803B2 (ja) フルスクリーンエディタ制御処理装置
JPH03282841A (ja) 可変長レコードの直接入出力処理方式
JPH0581339A (ja) データ処理装置
JP2895892B2 (ja) データ処理装置
JP2002351708A (ja) ファイル形式変換装置
JPH05205007A (ja) リアルチップ情報ファイル生成方式
JPH0423143A (ja) データの蓄積方式
JP2508190B2 (ja) 図形の描画方式
JPH0567159A (ja) 表形式データ処理装置
JPH1153404A (ja) 多次元集計処理方法
JP2857260B2 (ja) 矩形領域の判定方法
JPH0827800B2 (ja) 情報検索装置
JPH1021053A (ja) データ処理装置
JPH08263338A (ja) 順編成ファイルの可変長レコード直接位置付け方法
JPH04138575A (ja) 有限要素データ再作成装置
JPH05225273A (ja) 半導体集積回路論理接続データ変換装置