JPH0324617A - データ処理方式 - Google Patents

データ処理方式

Info

Publication number
JPH0324617A
JPH0324617A JP1156647A JP15664789A JPH0324617A JP H0324617 A JPH0324617 A JP H0324617A JP 1156647 A JP1156647 A JP 1156647A JP 15664789 A JP15664789 A JP 15664789A JP H0324617 A JPH0324617 A JP H0324617A
Authority
JP
Japan
Prior art keywords
sorting
work
value
record
records
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
JP1156647A
Other languages
English (en)
Inventor
Tsutomu Hayashi
林 力
Katsumi Yanagimoto
柳本 勝巳
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
NEC Solution Innovators Ltd
Original Assignee
NEC Corp
NEC Solution Innovators 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 NEC Corp, NEC Solution Innovators Ltd filed Critical NEC Corp
Priority to JP1156647A priority Critical patent/JPH0324617A/ja
Publication of JPH0324617A publication Critical patent/JPH0324617A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理分野において並べ換え処理すなわち
ソート処理を行なうデータ処理方式に関ナる. 〔従来の技術〕 従来この種のソート処理は、ソート対象ファイルの全レ
コードをメモリ上に展開した上で隣シ合ったデータの大
小比較を繰シ返す事によって並べ換え処理を行っていた
第8図はこのような従来のデータ処理、すなわちソート
処理の手順を示すフローチャートである。
第8図を参照すると、従来のソート処理では、先づ添字
1の値に′″l#をセットし、添字1の値に″″11を
加算したものを添字Jにセットする(ステップ2−1.
2−2)。ステッf2−3に釦いて、もし、ソートテー
ブル1番目のKEY値がJ番目のKEY値よう大きけれ
ば1番目のソートデータとJ番目のソートデータの入れ
換え処理を行う(ステップ2−4.2−5,ステップ2
−6)。
上記処理の結果、添字lの値に″1#がセットされてい
れば添字1の値に″′1”を加算し、もし添字1の値に
11”以外の値がセットされている場合、添字1の値か
ら″l#を減算する(ステッデ2−9.2−10)。
ステッ7”2−3において、もしソートテーブル1番目
のKEY値がJ番目のKEY値より小さければ、添字l
の値に″′l″を加算する(ステッf2−7)。
ステッ7°2−2からステン7°2−101での処理を
添字lの値がソートテーブルデータ件数と一致スるまで
繰シ返し(ステップ2−11)、一致したときにソート
処理を終了する。
〔発明が解決しようとする課題〕
しかしながら上述した従来のソート処理では、ソート対
象ファイル内の全レコードを、メモリ上に展開している
ために、レコード件数が多数のレコードから構成されて
いるファイルの場合、多量のメモリ容量を要してし筐う
という欠点があった.本発明はこのような従来の欠点を
改善したもので、その目的は、ソート処理にレいてメモ
リ使用容量を削減することの可能なデータ処理方式を提
供することにある。
〔課題を解決するための手段〕
本発明のデータ弛理方式は、KEY項目と相対フ一クア
ドレス項目を有するレコード群を分割しKEY値と相対
アドレス値のみをソートテーブルに格納し並び換えを行
うソート手段と、並べ換えられたソートテーブルの相対
アドレス値で示されるワークファイルのレコードをソー
トワークファイルに順次格納するソートワーク格納手段
と、ソートワークファイル上の各グループ内で最小KE
Y値を持つレコードをそれぞれマージテーブル内にセッ
トしマージテーブル内のレコードを比較して最小KEY
のレコードをワークファイルに出力するマージ手段とを
有している。
〔作用〕
ソート手段では、KEY項目と相対ワークアドレス項目
を有するレコード群を分割し、各レコードからKEY値
と相対アドレス値のみをソートテーブルに格納し並べ換
えを行い、ソートワーク格納手段は、並べ換えられたソ
ートテーブルの相対アドレス値で示されるワークファイ
ルのレコードをソートクークファイルに順次に格納し、
マージ手段は,ソートワークファイル上の各グループ内
で最/J− KEY 値をもつレコードをそれぞれマー
ジテーブル力にセットし、マージテーブル内のレコード
を尤較して最小KEYのレコードをワークファイルに二
力する。
〔実力例〕
以下、本発明の一実施例について図面を参照して説明す
る。第1図は本発明の一実施例のブロック図であって、
本実施例では、各レコードからKEYj;iと相対アド
レス値のみをソートテーブルに俗紹し並べ換えを行うソ
ート手段1−1と、並べ換えられたソートテーブルの相
対アドレス値で示されるワークファイルのレコードをソ
ートワークファイルに格納するソートフーク格納手段1
−2と、分割ソートされたソートワークファイルを、マ
ージさせることによってワークファイルに出力させるマ
ージ手段1−3とが設けられている。
次にこのような構成にかけるデータ処理、すなわちソー
ト処理の手順を第2図のフローチャートを用いて説明す
る.な》第2図にかいて、ステッ7’3−1乃至3−5
は、ソート手段1−1にかける処理であう,ステッf3
−6乃至3−9は、ンートワーク格納手段1−2にかけ
る処理であり、ステッ7’3−10乃至3−15は、マ
ージ手段1−3にかける処理である.ソート手段1−1
tli、ソート処理を行なうに先立って、先づソート処
理の初期設定を行なう.すなわちソート処理に使用する
終了SWのクリア(ステップ3−1)と入力カウンタの
クリア(ステップ3−2)とを行う。
次にステップ3−3でソートテーブルを作成する。
すなわち、入力カランタの値に@1”を加算し、ワーク
ファイルのlレコードを読み込む.もしレコードを読み
込めた場合、入力レコードのKEY値と相対ワークアド
レス値をソートテーブル内の入力カウンタで示される位
置に格納する。もしレコードがファイル終了状態で読み
込めなかった場合,終了SWに″1”をセットし、入力
カウンタの値から“1”の減算をし、次の処理を行う。
ステップ3−4では、ステップ3−3の処理の条件チェ
ックを行う.もし入力カクンタの値が″t#であるか又
は、終了SWo値が″′11であれば、次の処理へ進む
が、もしどちらの条件も満たさない場合は、ステップ3
−3の処理を繰b返す.すなわち、ワークファイル内の
レコードをt件処理するか又は、ワークファイル内のレ
コードを全て読み込んだ時、次のステッf3−5の処理
を行う.ステッf3−5のソート処理は、jl!2図を
用いて説明したような従来の手順で行う。
このようにして、ソート手段1−1にかける処理を行っ
た後,ソートフーク格納手段1−2は、ソートワークフ
ァイルの格納処理を行う.ソートワーク格納手段1−2
は先づ、ソートワークファイル格納処理に用いる出力カ
ウンタをクリアする(ステップ3−6). 次いでステッf3 − 7では、出力カランタの値に″
1mを加算し、ソートテーブルの出力カウンタで示され
る相対ワークアドレス値と同値を有するワークファイル
内のレコードを胱み込みソートワークファイルに書き込
み処理を行う.このようにしてステップ3−7のソート
クークファイルへの書込み処理を入力カランタの値と出
カカクンタの値が一致する筐で繰り返す(ステップ3−
8).以下、ステップ3−2からステップ3−8tでを
終了SWの値が″l#になるまで繰b返す(ステップ3
−9). このようにして終了SWo値が′″l#になると、マー
ジ手段1−3は、先づ、マーク処理の初期値を設定する
.すなわち、終了SWをクリアする(ステップ3−10
). 次いでステッf3−11では、マージiDXO値に″″
1’を加算し、〔マージIDX * m7’t − (
 rev’L −1))の演算結果を入力相対レコード
番号へ格納する.なか、ここでmはワークファイルのレ
コードの件数である. もし、入力相対レコード番号の値が、ソートフーク格納
手段でIA珊されたレコード件数(処理レコード件数)
よう大きければ、マージテーブルのマージIDXで示さ
れる位置にr ALL″″FF− ( < 6) Jを
格納する.もし入力相対レコード番号の値が、処理レコ
ード件数よう小さければマージiDxで示されるソート
ワークファイル内のグループ中、最小KEY値を有する
レコードを読み込み、マージテーブルのマージiDXで
示される位置に格納する。このようにステッ7’3−1
1の処理をマージiDXの値がルtよシ大きくなる管で
繰D返す(ステップ3−12). マーソiDXの値がルtよシ大きくなると、ステッf3
 − 1 3に進み、ステップ3−13では、先づマー
ジテーブル内のマージiDXが@l#のところに位置す
るマージレコードを出力レコードエリアに格納し、次に
マージiDXが″11から″″ml’L”1でのマージ
レコードKEY値と出力レコードエリアKEY値とを比
較し、出力レコードエリアKEY値の方が大きければ、
その都度、出力レコードエリアの値にマークレコードを
格納する.上記の比較処理をマージiDXが″l”から
″ルt”1で繰b返した後、出力レコードエリアのKE
Yの値がrALL″Fr(14) 」であれば終了SW
o値に“1”をセットシ、出力レコードエリアのKEY
の値が r ALL″’FF”(16) J  でなけ
れば、出力レコードエリアに格納されているデータをワ
ークファイルに書き込み、そのデータが属しているソー
トワークファイル内のグループから次のレコードをマー
クテーブルに格納する。このステッノ3−13のマーク
処理を終了SWO値が″l″になるまで繰り返し(ステ
ップ3−14)、ステッ7”3−13の処理を終了した
時点でワークファイルの並べ換えが終了する. このような手順を第3図乃至第7図を用いてよう具体的
に説明する。第3図はワークファイル■を示す図であう
,このワークファイルWKはm件のレコードからなう,
各レコードは、aバイトのKEY項目と、bバイトの相
対アドレス項目と、Cバイトのデータ項目とから構成さ
れている。
第4図は第3図に示したワークファイルWKを1グルー
プt件単位で分割し、メモリ上のソートテーブルBTに
格納する場合を示している。但し、m)IOOXAとす
る。ソートテーブルに格納する際には、第5図に示すよ
うに、各レコードのKEY値及び相対ワークアドレス値
のみで(aXbXA)−fイト、すなわち( ( KE
Y値:aパイト+相対ワーク?ドレス値:bノ4イ})
XIグループレコード件数t件〕の79イト長のソート
テーブルBTを作成する. このようにして作成したメモリ上のソートテーブル8T
を隣り合ったデータの大小比較を繰シ返すことによって
、KEY順に並べ換える.次いで並べ換えられたソート
テーブルSTの第1番目から順次に相対ワークアドレス
値で示されるワークファイルのレコードを読み込み、ソ
ートワークファイル河に順次に格納する。
このような処理をワークファイルWKの最終レコード筐
で、すなわちm件のデータにかいてはrv’L回繰シ返
し、第6図に示すように、ソートワークファイル■上に
格納する.次いで第7図に示すように、ソートワークフ
ァイル溜上に格納されたt件単位のVtグループを1レ
コードづつグルーグ毎に設けているメモリ上のマージテ
ーブk M ? ( ( a+b+e ) Xm/L/
奇イト)内の1レコードに各グループ内にかける最小m
値のレコードを格納する.マージテーブルMT上に格納
されたL件のレコードを比較し、その中で最小KEY値
のレコードをワークファイルWKに出力する。出力の対
象となったグループは、次のレコードをマークテーブル
MTO該当レコードエリアに格納する。
次のレコードがない場合は、KEYがr ALL″FF
(,6)”」のレコードを格納する. 上記処理をマージテーブルMT上の全レコードのKEY
がr ALL″″”(14)’ Jになる!で繰り返す
例として、KEY値aが7バイト、相対アドレス値bが
3バイト、データ項目CがlOバイト、レコード件数m
が10000件、lグループ分割件数tが100件とす
ると、従来方式にかけるメモリ容量が( a+b+e 
) Xm (=1 0 0 0 0 0 0バイト)で
あるのに対し、本実施例では、(a+b)Xt+(a+
b+e)Xt(冨11000バイト)だけで済み、従来
に比べてメモリ容量を9870以上も削減することが可
能となる. 〔発明の効果〕 以上説明したように本発明は、ソート対象ファイルを分
割しKEY値と相対アドレス値のみの並べ換えで作成さ
れたソートワークファイルの各グル−f先頭レコードを
マージ処理させることによう使用されるメモリ容量を従
来に比べて着しく削減することができるという効果があ
る。
【図面の簡単な説明】
第1図は本発明の一実施例のブロック図、第2図は第1
図に示す構成にかけるソート処理の流れを示すフローチ
ャート、第3図はソート対象ファイルのレコードレイア
ウトを示す図、第4図,第5図はメモリ上のソートテー
ブルを説明するための図、第6図はンートワーク格納手
段の処理動作を説明するための図、第7図はマージ手段
の処理動作を説明するための図、第8図は従来のソート
処理の手順を示すフローチャートである。 第1図にかいて、1−1・・・ソート手段、1−2・・
・ソートワーク格納手段、l−3・・・マージ手段であ
る.

Claims (1)

    【特許請求の範囲】
  1. KEY項目と相対ワークアドレス項目を有するレコード
    群を分割しKEY値と相対アドレス値のみをソートテー
    ブルに格納し並べ換えを行うソート手段と、並べ換えら
    れたソートテーブルの相対アドレス値で示されるワーク
    ファイルのレコードをソートワークファイルに順次格納
    するソートワーク格納手段と、ソートワークファイル上
    の各グループ内で最小KEY値を持つレコードをそれぞ
    れマージテーブル内にセットしマージテーブル内のレコ
    ードを比較して最小KEYのレコードをワークファイル
    に出力する。マージ手段とを有することを特徴とするデ
    ータ処理方式。
JP1156647A 1989-06-21 1989-06-21 データ処理方式 Pending JPH0324617A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1156647A JPH0324617A (ja) 1989-06-21 1989-06-21 データ処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1156647A JPH0324617A (ja) 1989-06-21 1989-06-21 データ処理方式

Publications (1)

Publication Number Publication Date
JPH0324617A true JPH0324617A (ja) 1991-02-01

Family

ID=15632231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1156647A Pending JPH0324617A (ja) 1989-06-21 1989-06-21 データ処理方式

Country Status (1)

Country Link
JP (1) JPH0324617A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6172333A (ja) * 1984-09-15 1986-04-14 Casio Comput Co Ltd 複数ファイルのマージ方法
JPS6358534A (ja) * 1986-08-29 1988-03-14 Nec Corp キ−ソ−ト手法における最終処理フエ−ズ制御方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6172333A (ja) * 1984-09-15 1986-04-14 Casio Comput Co Ltd 複数ファイルのマージ方法
JPS6358534A (ja) * 1986-08-29 1988-03-14 Nec Corp キ−ソ−ト手法における最終処理フエ−ズ制御方式

Similar Documents

Publication Publication Date Title
US5117495A (en) Method of sorting data records
US4031520A (en) Multistage sorter having pushdown stacks with concurrent access to interstage buffer memories for arranging an input list into numerical order
JPH02178730A (ja) 分割法を用いた内部ソート方式
GB1563482A (en) Multipass sorter for arranging an input list into numerical order
JPS60105039A (ja) 文字列照合方式
JPH0324617A (ja) データ処理方式
JPH0666050B2 (ja) ソート処理方法
Menon A study of sort algorithms for multiprocessor database machines
US5806064A (en) Method for multi-field ordering of data base records with sequence variables
JPS6172333A (ja) 複数ファイルのマージ方法
JPH07120264B2 (ja) ソート処理装置
JP2596332B2 (ja) データ組合せ抽出方法およびその装置
JPH03259329A (ja) 大容量データのキー相対アドレス分類方式
JPH02294729A (ja) ソート処理方式
JPH03192437A (ja) ストリングディレクトリソート併合方式
JPS6266326A (ja) 日本語デ−タ整列処理方式
JPS6182251A (ja) 関係型デ−タベ−スの格納方式
Islam et al. Computational complexities of the external sorting algorithm with no additional disk space
JPH04340623A (ja) データ・グループ化処理方法
JPS6385823A (ja) マルチキ−・ソ−タ
JPS62251923A (ja) ソ−ト処理方法
JPS6052058B2 (ja) 書類分類装置
JPH04178726A (ja) 大容量データ分類処理方式
JPH01241677A (ja) 回路変換方式
Parkinson et al. DAP Support Unit