JP2001142679A - ソート・マージ処理装置 - Google Patents
ソート・マージ処理装置Info
- Publication number
- JP2001142679A JP2001142679A JP32094199A JP32094199A JP2001142679A JP 2001142679 A JP2001142679 A JP 2001142679A JP 32094199 A JP32094199 A JP 32094199A JP 32094199 A JP32094199 A JP 32094199A JP 2001142679 A JP2001142679 A JP 2001142679A
- Authority
- JP
- Japan
- Prior art keywords
- record
- file
- sort
- group
- merge
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/36—Combined merging and sorting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99934—Query formulation, input preparation, or translation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99936—Pattern matching access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99937—Sorting
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
異なる複数の入力ファイルを一括処理できるようにする
ことを目的とする。 【解決手段】 グループごとに同一のレコード選択条
件、レコード再編成条件、ファイルシステムを指定した
グループ情報を含むコマンドからグループ情報判断手段
11がグループごとの条件を判断し、それらをファイル
システム設定手段12、選択条件設定手段13、再編成
条件設定手段14で設定する。ファイル入力手段15
は、設定されたファイルシステムで入力ファイルを読み
込み、レコード選択処理手段16およびレコード再編成
処理手段17が設定されたレコード選択条件およびレコ
ード再編成条件でレコードの選択および再編成を行い、
ソート・マージ実行手段18がソート・マージを実行す
る。これを、グループごとに実行し、最後に、ファイル
出力手段19が出力ファイルへ書き込む。
Description
装置に関し、特に複数のレコード選択条件および再構成
条件を同時に満たすような処理を一度の指定で行うこと
を可能にし、ソート・マージなどファイルを扱うプログ
ラム全般に適用することができるソート・マージ処理装
置に関する。
ステムなどにおける企業の定型業務では、各種レコード
を特定の条件に従って選択およびソートしたり、さらに
は選択およびソートしたレコードを特定の条件に従って
再構成するようなことが日常的に行われている。このよ
うな処理には、一般にソート・マージプログラムと呼ば
れるプログラムが使用される。
では、レコード選択機能、レコード再編成機能、および
ファイルシステムの指定機能を有しており、ある入力フ
ァイルに対して特定の条件の基でそれぞれの機能が実行
される。
を示すフローチャートである。従来のソート・マージ処
理では、まず、処理対象とする入力ファイルのファイル
形式に対応したファイルシステムを選択する(ステップ
S1)。次に、入力ファイルを選択されたファイルシス
テムにて読み込む(ステップS2)。次に、指定された
レコード選択条件に従ってレコード選択処理を行い(ス
テップS3)、指定されたレコード再編成条件に従って
レコード再編成処理を行う(ステップS4)。なお、こ
のレコード再編成条件が指定されていない場合は、この
ステップはスキップされる。そして、選択され、再編成
されたレコードに対してソート・マージ処理を行う(ス
テップS5)。以上のステップS2〜S5は入力ファイ
ルの読み込みが終わるまで繰り返して実行され、データ
の終わり(EOD)になると、出力ファイルの書き込み
を行う(ステップS6)。
なったファイルシステムおよびレコード選択条件でソー
ト・マージを行う場合を例にして具体的に説明する。図
12は従来のソート・マージ処理の処理ステップを説明
する図であって、(A)はソート・マージ処理の第1の
ステップを示し、(B)はソート・マージ処理の第2の
ステップを示し、(C)はソート・マージ処理の第3の
ステップを示している。ここで、第1入力ファイル1は
ファイルシステムが標準ファイル形式であって、第1レ
コード選択条件でソート・マージ処理が行われ、第2入
力ファイル2はファイルシステムがCOBOL(common
business oriented language)索引ファイル形式であ
って、第2レコード選択条件でソート・マージ処理が行
われるものとする。
標準ファイルのファイルシステムで読み込み、これを図
11の処理の流れに従って第1レコード選択条件でレコ
ードを選択し、ソートして第1中間ファイル3へ書き込
む。第2ステップでも同様にして、第2入力ファイル2
をCOBOL索引ファイルのファイルシステムで読み込
み、これを図11の処理の流れに従って第2レコード選
択条件でレコードを選択し、ソートして第2中間ファイ
ル4へ書き込む。第1および第2ステップにて生成され
る第1および第2中間ファイル3,4は標準ファイルと
する。第3ステップでは、これら第1および第2中間フ
ァイル3,4を読み込み、全レコードに対してソート・
マージ処理を行い、出力ファイル5への書き込みを行
う。このように、ファイルシステムおよびレコード選択
条件の違う場合には、それぞれのジョブステップを必要
とし、さらに、それらの結果をマージするステップが必
要となる。
各ステップの処理を実行するために指示されるコマンド
の記述例を示す。 第1ステップ bsort -s infile1 -o intermediatefile1 -p 10.4asc.e
q.'test' -z 100 第2ステップ bsort -s infile2 -o intermediatefile2 -p 20.4asc.e
q.'test' -z 100 -Fdosf s,cobidx 第3ステップ bsort -m intermediatefile1 intermediatefile2 -o ou
tfile -z 100 なお、「bsort」はソート・マージ処理のコマンド
名を表し、「−」で始まるオプションについては、「−
s/−m」はソート/マージスイッチ、「−o」は出力
ファイル名指定、「−p」はレコード選択指定、「−
z」はレコード長指定、「−F」は出力ファイルシステ
ム,入力ファイルシステムの指定をそれぞれ表してい
る。
ップでは、第1入力ファイル1を標準のファイルシステ
ムで読み込み、レコード選択条件に従ってレコード選択
を行い、ソートして第1中間ファイル3を生成するとい
うもので、レコード選択条件の例として、10バイト目
から4バイトをアスキー形式で見たときに、その4バイ
トが「test」という文字列であるレコードをソート
の対象とするとしている。第2ステップでは、別のレコ
ード選択条件を指定し、さらに、ファイルシステムとし
て、出力ファイルシステムは標準のDOS(disk opera
ting system)ファイルシステム、入力ファイルシステ
ムはCOBOL索引ファイルシステムを指定している。
第3ステップでは、第1および第2中間ファイル3,4
を読み込み、マージして出力ファイル5を作る指定をし
ている。
ート・マージ処理では、入力ファイルのファイルシステ
ム、レコード選択条件およびレコード再編成条件が異な
るたびにジョブステップを追加する必要がある。このた
め、異なった条件を指定すると、指定の数だけソート・
マージ処理を実行させなければならず、処理効率も低下
するという問題点があった。
のであり、異なったレコード選択条件、異なったレコー
ド再編成条件、異なったファイルシステムの指定などを
同時に複数の入力ファイルに対して指定することができ
るソート・マージ処理装置を提供することを目的とす
る。
る本発明の原理図である。本発明によるソート・マージ
処理装置10は、グループごとに同一のレコード選択条
件、同一のレコード再編成条件および同一のファイルシ
ステムの入力ファイルをそれぞれ指定したグループ情報
を含むコマンドを入力してそのグループ情報からグルー
プごとのファイルシステム、レコード選択条件およびレ
コード再編成条件を判断するグループ情報判断手段11
と、ファイルシステムを入力ファイルが属するグループ
のファイルシステムに設定するファイルシステム設定手
段12と、レコード選択条件を入力ファイルが属するグ
ループのレコード選択条件に設定する選択条件設定手段
13と、レコード再編成条件を入力ファイルが属するグ
ループのレコード再編成条件に設定する再編成条件設定
手段14と、設定されたファイルシステムで入力ファイ
ルを読み込むファイル入力手段15と、設定されたレコ
ード選択条件でレコードの選択を行うレコード選択処理
手段16と、設定されたレコード再編成条件でレコード
の再編成を行うレコード再編成処理手段17と、選択さ
れおよび/または再編成されたレコードに対してソート
・マージを実行するソート・マージ実行手段18と、ソ
ート・マージ処理されたレコードを出力ファイルに書き
込むファイル出力手段19とを備えている。
置10によれば、ソート・マージのコマンドが入力され
ると、グループ情報判断手段11がグループごとに指定
された入力ファイル、ファイルシステム、レコード選択
条件およびレコード再編成条件を判断し、ファイルシス
テム設定手段12、選択条件設定手段13および再編成
条件設定手段14がファイルシステム、レコード選択条
件およびレコード再編成条件をそれぞれ設定する。ファ
イル入力手段15は、設定されたファイルシステムで入
力ファイルを読み込み、レコード選択処理手段16およ
びレコード再編成処理手段17がそれぞれ設定されたレ
コード選択条件およびレコード再編成条件を基にしてレ
コードの選択および再編成を行い、ソート・マージ実行
手段18がソート・マージの処理を実行する。このファ
イルシステム、レコード選択条件およびレコード再編成
条件の設定、およびファイル入力からソート・マージ実
行までの処理は、グループごとに繰り返し行う。すべて
のグループの処理が終了したなら、ファイル出力手段1
9が出力ファイルへの書き込みを行う。
などの実際業務において頻繁に起こる各種条件でのソー
ト・マージ処理を一度に処理することができ、作業効率
を改善することができる。
一のレコード選択条件、同一のレコード再編成条件およ
び同一のファイルシステムの入力ファイルをそれぞれ指
定したグループ情報を含むコマンドを受け付けて前記グ
ループ情報からグループごとのファイルシステム、レコ
ード選択条件およびレコード再編成条件を判断するグル
ープ情報判断手段と、前記ファイルシステムを入力ファ
イルが属するグループのファイルシステムに設定するフ
ァイルシステム設定手段と、前記レコード選択条件を入
力ファイルが属するグループのレコード選択条件に設定
する選択条件設定手段と、前記レコード再編成条件を入
力ファイルが属するグループのレコード再編成条件に設
定する再編成条件設定手段と、設定された前記ファイル
システムで入力ファイルを読み込むファイル入力手段
と、設定された前記レコード選択条件に従ってレコード
の選択を行うレコード選択処理手段と、設定された前記
レコード再編成条件に従ってレコードの再編成を行うレ
コード再編成処理手段と、選択されおよび/または再編
成されたレコードに対してソート・マージを実行するソ
ート・マージ実行手段と、ソート・マージ処理されたレ
コードを出力ファイルに書き込むファイル出力手段とを
有するソート・マージプログラムを記録したコンピュー
タ読み取り可能な記録媒体が提供される。
グラムをコンピュータに実行させることにより、グルー
プ情報判断手段と、ファイルシステム設定手段と、選択
条件設定手段と、再編成条件設定手段と、ファイル入力
手段と、レコード選択処理手段と、レコード再編成処理
手段と、ソート・マージ実行手段と、ファイル出力手段
との各機能がコンピュータによって実現できる。
を参照して説明する。図1は本発明によるソート・マー
ジ処理装置の原理的な構成を示すブロック図である。図
1において、本発明によるソート・マージ処理装置10
は、ソート・マージのコマンドを受け付けるグループ情
報判断手段11と、ファイルシステムの設定を行うファ
イルシステム設定手段12と、レコード選択条件の設定
を行う選択条件設定手段13と、レコード再編成条件の
設定を行う再編成条件設定手段14と、入力ファイルを
読み込むファイル入力手段15と、レコード選択条件に
従ってレコードの選択を行うレコード選択処理手段16
と、レコード再編成条件に従ってレコードの再編成を行
うレコード再編成処理手段17と、レコードのソート・
マージを実行するソート・マージ実行手段18と、ソー
ト・マージの処理が実行されたレコードを出力ファイル
に書き込むファイル出力手段19とを備えている。
同一のレコード選択条件および同一のレコード再編成条
件、および同一のファイルシステムの入力ファイルをそ
れぞれ指定したグループ情報が含まれている。グループ
情報判断手段11は、そのグループ情報からグループご
とのファイルシステム、レコード選択条件およびレコー
ド再編成条件を判断し、ファイルシステムをファイルシ
ステム設定手段12によって設定し、レコード選択条件
を選択条件設定手段13によって設定し、レコード再編
成条件を再編成条件設定手段14によって設定する。こ
れによりあるグループに属する入力ファイルについての
ソート・マージ処理が可能になる。
れたファイルシステムで入力ファイルを読み込み、レコ
ード選択処理手段16およびレコード再編成処理手段1
7がそれぞれ設定されたレコード選択条件およびレコー
ド再編成条件を基にしてレコードの選択および再編成を
行い、ソート・マージ実行手段18でソート・マージが
実行される。これは、あるグループに属するすべての入
力ファイルについて同じように実施される。また、別の
グループの入力ファイルをソート・マージする場合は、
改めて、ファイルシステム、レコード選択条件およびレ
コード再編成条件の設定が行われ、それらの条件でその
グループに属する入力ファイルのソート・マージが実行
される。すべてのグループの処理が終了したなら、ファ
イル出力手段19が出力ファイルへの書き込みを行う。
処理を指令する具体的なコマンド例を以下に示す。 bsortex -sort -input file=infile1 include=10.4asc.eq.'test' recl
en=100 -input file=infile2 include=20.4asc.eq.'test' recl
en=100 filesys=cobidx -output file=output3 -record recform=fix なお、「bsortex」はソート・マージ処理のコマ
ンド名を表し、「−」で始まるオプションについては、
「−sort」はソートスイッチ、「−input」は
ファイルグループ、「file」はファイル名、「in
clude」はレコード選択指定、「reclen」は
レコード長、「−output」は出力ファイルグルー
プ、「−record recform」はレコード形
式指定、「filesys」はファイルシステムの指定
を表している。
入力ファイルを一つのグループと考え、ソート・マージ
処理では、グループごとに同じ条件でレコード処理を行
うようにして複数の異なったグループを持つ入力ファイ
ルを一度にソートすることができるようになる。このた
め、入力ファイルの形式が異なるなど、条件が異なるた
びに毎回行わなければならない作業(ソート・マージ処
理)を一度に処理することができ、作業効率の改善を望
むことができる。
ージプログラムに適用した場合を例にして説明する。ま
ず、ソート・マージプログラムが実行されるコンピュー
タの構成例を示す。
れるコンピュータの構成例を示すブロック図である。コ
ンピュータ20は、中央処理装置(CPU)21と、読
み取り専用メモリ(ROM)22と、メインメモリ(R
AM)23と、ハードディスク(HDD)24と、画像
制御部(GC)25と、インタフェース部(I/F)2
6とを備え、これらの要素はバス27によって相互に接
続されている。インタフェース部26には、キーボード
などの入力装置28が接続され、画像制御部25には、
ディスプレイ29が接続される。
イルは、ハードディスク24に格納されており、また、
ソート・マージ処理の結果、作られた出力ファイルは、
ハードディスク24に格納される。ソート・マージプロ
グラムは、ハードディスク24からメインメモリ23に
ロードされ、中央処理装置21による演算にてソート・
マージ処理が実行される。そのソート・マージプログラ
ムを実行するためのコマンドは、入力装置28によって
入力される。
ァイルを持つソート・マージ処理の例を示す。ここで
は、一例として、四つの支店A〜Dにおける1998年
および1999年の売上げのリストから1998年度の
売上げのリストを作成する場合について説明する。ま
た、四つの支店A〜Dにおける1998年の売上げを記
録したファイルを第1ファイルグループとし、四つの支
店A〜Dにおける1999年の売上げを記録したファイ
ルを第2ファイルグループとする。
であって、(A)はレコードの形式を示し、(B)はレ
コードの例を示している。図4は第2ファイルグループ
の例を示す図であって、(A)はレコードの形式を示
し、(B)はレコードの例を示し、図5はソート・マー
ジ処理結果を示す図である。
イルがあり、そこには、各々の支点A〜Dの1998年
の売上げが図3の(A)に示したレコードの形式で記録
されている。レコードの形式は、最初のカラムが「支店
名」、2番目のカラムが「年」、3番目のカラムが
「月」、4番目のカラムが「売上額」になっており、各
カラムはブランクによって区切られている。図3の
(B)に示したファイルの中身を見ると、一番上のレコ
ードによれば、「支店名」は「A」、「年」は「199
8」、「月」は「01」、「売上額」は「500000
0」となっており、ファイルはこのようなレコードの集
まりとなっている。このようなファイルが、支店ごとに
四つあり、それが第1〜第4ファイルに該当する。
支店A〜Dの「1999年」の1月から12月までの売
上げが図4の(A)に示したレコードの形式で記録され
ている。このような支店ごとのファイルが図4の(B)
において第5〜第8ファイルに該当する。
年3月)の各支店ごとの売上げリストを作成するには、
第1ファイルグループのレコード選択条件は、「月」デ
ータが「04以上12以下」と設定し、第2ファイルグ
ループのレコード選択条件は、「月」データが「01以
上03以下」と設定する。さらに、ソートキーを「支店
名」、「年」、「月」の順に昇順指定する。
が得られる。すなわち、1998年4月〜1999年3
月の売上げが、支店名A〜Dの順にソートされ、出力フ
ァイルに記録される。
ンドの例を以下に示す。 bsortex -sort -input reclen=22 file=file1,file2,fi
le3,file4 include=7.2asc.ge.'04'.and. 7.2asc.le.'1
2' -input reclen=22 file=file5,file6,file7,file8 i
nclude=7.2asc.ge.'01'.and. 7.2asc.le.'03' -output
file=output -record recform=fix このコマンドにおいて、最初の「−input」文(第
1ファイルグループ)内のレコード選択指定における記
述「7.2asc.ge.'04'.and. 7.2asc.le.'12'」は、7バイ
ト目から2バイトをアスキー形式で見た文字列が「0
4」以上である条件と、7バイト目から2バイトをアス
キー形式で見た文字列が「12」以下である条件との論
理積であることを示している。つまり、「月」データが
4月から12月までのレコードを選択する条件を示して
いる。2番目に記述された「−input」文(第2フ
ァイルグループ)内のレコード選択指定は、記述「7.2a
sc.ge.'01'.and. 7.2asc.le.'03'」によって、「月」デ
ータが1月から3月までのレコード選択条件を示してい
る。なお、ここでは、ソートキーの指定はないため、既
定値として、「支店名」、「年」、「月」の順に昇順指
定されているものとする。
ト処理で行う場合のコマンドは以下のようになる。第1
ファイルグループのファイルの対するコマンドは、bsor
t -s file1 file2 file3 file4 -o intermediatefile1
-p 7.2asc.ge.'04'-p 7.2asc.le.'12' -0.1asca,2.4asc
a,7.2asca -z 22第2ファイルグループのファイルの対
するコマンドは、bsort -s file5 file6 file7 file8 -
o intermediatefile2 -p 7.2asc.ge.'01'-p 7.2asc.l
e.'03' -0.1asca,2.4asca,7.2asca -z 22となり、最後
のマージ処理のコマンドは、bsort -m intermediatefil
e1 intermediatefile2 -o outfile -0.1asca,2.4asca,
7.2asca -z 22となる。ここで、記述「-0.1asca,2.4asc
a,7.2asca」は、ソートキーの指定であって、支店名、
年、月の順に昇順指定していることを示している。
なったレコード再編成条件の入力ファイルを持つソート
・マージ処理の例について説明する。ここでは、上記の
例と同様、四つの支店A〜Dにおける1998年および
1999年の売上げのリストから1998年度の売上げ
のリストを作成するが、第1ファイルグループにおける
各支店A〜Dの1998年の売上げを記録したファイル
では、「年」データが2桁、第2ファイルグループにお
ける各支店A〜Dの1999年の売上げを記録したファ
イルでは、「年」データが4桁になっている場合につい
て説明する。
であって、(A)はレコードの形式を示し、(B)はレ
コードの例を示している。図7は第2ファイルグループ
の例を示す図であって、(A)はレコードの形式を示
し、(B)はレコードの例を示し、図8はレコード再編
成を説明する図、図9はソート・マージ処理結果を示す
図である。
ルには、各々の支店A〜Dの1999年の売上げデータ
が図6の(A)に示すレコードの形式で記録されてい
る。すなわち、「年」データが2桁で記録されている。
一方、第2ファイルグループの第5〜第8ファイルに
は、各支店A〜Dの2000年の売上げデータが図7の
(A)に示すレコードの形式、つまり、「年」データが
4桁で記録されている。
2000年3月)の各支店ごとの売上げリストを作成す
るには、第1ファイルグループの選択条件は、「月」デ
ータが「04以上12以下」と設定する。さらに、第1
ファイルグループのレコード再編成条件は、「支店
名」、「ブランク」、「19(パディング)」、
「年」、「ブランク」、「月」、「ブランク」、「売上
額」と設定する。
ープの「年」データのカラム位置が第2ファイルグルー
プの「年」データのカラム位置と合わないことに対して
なされるものである。図8に示したように、第1ファイ
ルグループのファイルのレコードは、「支店名」、「ブ
ランク」、「年」、「ブランク」、「月」、「ブラン
ク」、「売上額」と並んだ構成になっており、レコード
再編成前の「年」データが2桁になっている。この
「年」データの前に、文字列「19」をパディングする
ことにより、再編成後のレコードは、第2ファイルグル
ープの「年」データと同じ桁数にすることができる。
は、「月」データを「01以上03以下」と設定する。
さらに、ソートキーを「支店名」、「年(4桁)」、
「月」の順に昇順指定する。
が得られる。すなわち、1999年4月〜2000年3
月の売上げが、支店名A〜Dの順にソートされ、出力フ
ァイルに記録される。
ンドの例を以下に示す。 bsortex -sort -input reclen=22 file=file1,file2,fi
le3,file4 include=7.2asc.ge.'04'.and. 7.2asc.le.'1
2' reconst=0.2,'19'.2asc,2.18 -input reclen=22 fil
e=file5,file6,file7,file8 include=7.2asc.ge.'01'.a
nd.7.2asc.le.'03' -output file=output -record recf
orm=fix このコマンドにおいて、最初の「−input」文(第
1ファイルグループ)内における記述「reconst=0.2,'1
9'.2asc,2.18」がレコード再構成を指定するものであ
る。まず、再編成前のレコードの0バイト目から2バイ
トを持ってくる。次に、「19」という文字でパディン
グするが、そのパディングは2バイトだけ行う。そし
て、その後に、2バイト目から18バイトを持ってくる
ことを示している。
ト処理で行う場合のコマンドは以下のようになる。第1
ファイルグループのファイルの対するコマンドは、bsor
t -s file1 file2 file3 file4 -o intermediatefile1
-p 5.2asc.ge.'04'-p 5.2asc.le.'12' -0.1asca,2.4asc
a,7.2asca -e 0.2,'19'.2asc,2.18 -z 22第2ファイル
グループのファイルの対するコマンドは、bsort -s fil
e5 file6 file7 file8 -o intermediatefile2 -p 7.2as
c.ge.'01'-p 7.2asc.le.'03' -0.1asca,2.4asca,7.2asc
a -z 22となり、最後のマージ処理のコマンドは、bsort
-m intermediatefile1 intermediatefile2 -o outfile
-0.1asca,2.4asca,7.2asca -z 22となる。ここで、記
述「-e 0.2,'19'.2asc,2.18」は上記のレコード再編成
指定「reconst」に対応する。
の流れを示すフローチャートである。まず、最初に初期
設定を行う(ステップS11)。ここでは、ファイルグ
ループ番号(FGN)およびセーブグループ番号(SG
N)を「0」に設定する。次に、ファイルグループ番号
をインクリメントする(ステップS12)。ここで、フ
ァイルグループ番号とセーブグループ番号とが等しくな
いかどうかを判断する(ステップS13)。処理の最初
あるいはファイルグループが変更になった場合は、ファ
イルグループ番号とセーブグループ番号とは等しくない
ので、ここで、そのファイルグループで指定されたファ
イルシステムに変更/設定を行い(ステップS14)、
同一ファイルグルー内では、ファイルシステムは同一な
ので、このステップS14の処理は迂回される。
ファイルの読み込みが行われ(ステップS15)、その
後、現ファイルグループの入力が終了したかどうかが判
断される(ステップS16)。たとえば上記の例で、第
1〜第4ファイルの入力が終了して第5ファイルが入力
された場合には、現ファイルグループの入力が終了した
ので、次のファイルグループへ移るために、ステップS
12に戻る。現ファイルグループの入力が終了していな
い場合には、ファイルグループ番号とセーブグループ番
号とが等しくないかどうかを判断する(ステップS1
7)。処理の最初あるいはファイルグループの変更直後
は、ファイルグループ番号とセーブグループ番号とは等
しくないので、ここで、セーブグループ番号にファイル
グループ番号を代入し(ステップS18)、レコード選
択条件を変更し(ステップS19)、レコード再編成条
件を変更する(ステップS20)ステップS17におい
て、ファイルグループ番号とセーブグループ番号とが等
しい場合は、同一ファイルグループ内の処理であるた
め、ステップS18〜S20の処理は迂回される。
ってレコード選択処理が行われ(ステップS21)、変
更されたレコード再編成条件に従ってレコード再編成処
理が行われ(ステップS22)、選択および再構成され
たレコードに対して指定されたソートキーに基づくソー
ト・マージ処理が行われる(ステップS23)。以上の
ステップS15〜S23は入力ファイルの読み込みが終
わるまで繰り返して実行され、データの終わり(EO
D)になると、出力ファイルの書き込みを行う(ステッ
プS24)。
きソート・マージプログラムの処理内容は、コンピュー
タで読み取り可能な記録媒体に記録させておくことがで
きる。コンピュータで読み取り可能な記録媒体として
は、磁気記録装置、光学ディスク、半導体メモリなどが
ある。市場に流通させる場合には、CD−ROM(Comp
act Disk Read Only Memory)やフロッピーディスクな
どの可搬型記録媒体にプログラムを格納して流通させた
り、ネットワークを介して接続されたコンピュータの外
部記憶装置などに格納しておき、ネットワークを通じて
他のコンピュータに転送することもできる。コンピュー
タで実行する際には、コンピュータ内のハードディスク
などにプログラムを格納しておき、メインメモリにロー
ドして実行する。
ルシステム、レコード選択条件およびレコード再編成条
件がすべて同じソート・マージ対象の入力ファイルを一
つのグループとし、ソート・マージ処理をグループごと
に条件を変更して実施するように構成した。このため、
レコード形式、ファイルシステムの異なるファイルを一
度に処理できるためユーザ業務を簡素化でき、処理ステ
ップが削減されるため処理時間を短縮することができ、
バッチファイルなどの処理ステップが削減されるため保
守性を向上させることができる。
回数が削減されることによりシステム全体のスループッ
トが向上し、さらに、処理途中で中間ファイルを作る必
要がないため、ディスクの使用量を削減することができ
る。
な構成を示すブロック図である。
ュータの構成例を示すブロック図である。
(A)はレコードの形式を示し、(B)はレコードの例
を示している。
(A)はレコードの形式を示し、(B)はレコードの例
を示している。
(A)はレコードの形式を示し、(B)はレコードの例
を示している。
(A)はレコードの形式を示し、(B)はレコードの例
を示している。
すフローチャートである。
ーチャートである。
説明する図であって、(A)はソート・マージ処理の第
1のステップを示し、(B)はソート・マージ処理の第
2のステップを示し、(C)はソート・マージ処理の第
3のステップを示している。
Claims (4)
- 【請求項1】 複数の入力ファイルに記録されたレコー
ドを所定の条件に従ってソート・マージするソート・マ
ージ処理装置において、 グループごとに同一のレコード選択条件を指定したグル
ープ情報を含むコマンドを入力してそのグループ情報か
らグループごとのレコード選択条件を判断するグループ
情報判断手段と、 前記グループ情報判断手段で判断された前記レコード選
択条件を入力ファイルが属するグループのレコード選択
条件に設定する選択条件設定手段と、 前記入力ファイルを読み込むファイル入力手段と、 読み込まれた入力ファイルのレコードに対して前記選択
条件設定手段にて設定されたレコード選択条件でレコー
ドの選択を行うレコード選択処理手段と、 選択されおよび/または再編成されたレコードに対して
ソート・マージを実行するソート・マージ実行手段と、 ソート・マージ処理されたレコードを出力ファイルに書
き込むファイル出力手段と、 を備えていることを特徴とするソート・マージ処理装
置。 - 【請求項2】 前記グループ情報判断手段が前記コマン
ドに含まれるグループ情報からグループごとに指定され
たレコード再編成条件を判断する機能を有し、前記グル
ープ情報判断手段で判断された前記レコード再編成条件
を入力ファイルが属するグループのレコード再編成条件
に設定する再編成条件設定手段と、読み込まれた入力フ
ァイルのレコードに対して前記再編成条件設定手段にて
設定されたレコード再編成条件でレコードの再編成を行
うレコード再編成処理手段とをさらに備えていることを
特徴とする請求項1記載のソート・マージ処理装置。 - 【請求項3】 前記グループ情報判断手段が前記コマン
ドに含まれるグループ情報からグループごとに指定され
たファイルシステムを判断する機能を有し、前記グルー
プ情報判断手段で判断された前記ファイルシステムを前
記ファイル入力手段が読み込もうとする入力ファイルが
属するグループのファイルシステムに設定するファイル
システム設定手段をさらに備えていることを特徴とする
請求項2記載のソート・マージ処理装置。 - 【請求項4】 グループごとに同一のレコード選択条
件、同一のレコード再編成条件および同一のファイルシ
ステムの入力ファイルをそれぞれ指定したグループ情報
を含むコマンドを受け付けて前記グループ情報からグル
ープごとのファイルシステム、レコード選択条件および
レコード再編成条件を判断するグループ情報判断手段
と、前記ファイルシステムを入力ファイルが属するグル
ープのファイルシステムに設定するファイルシステム設
定手段と、前記レコード選択条件を入力ファイルが属す
るグループのレコード選択条件に設定する選択条件設定
手段と、前記レコード再編成条件を入力ファイルが属す
るグループのレコード再編成条件に設定する再編成条件
設定手段と、設定された前記ファイルシステムで入力フ
ァイルを読み込むファイル入力手段と、設定された前記
レコード選択条件に従ってレコードの選択を行うレコー
ド選択処理手段と、設定された前記レコード再編成条件
に従ってレコードの再編成を行うレコード再編成処理手
段と、選択されおよび/または再編成されたレコードに
対してソート・マージを実行するソート・マージ実行手
段と、ソート・マージ処理されたレコードを出力ファイ
ルに書き込むファイル出力手段とを有するソート・マー
ジプログラムを記録したコンピュータ読み取り可能な記
録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32094199A JP3640580B2 (ja) | 1999-11-11 | 1999-11-11 | ソート・マージ処理装置 |
US09/663,707 US6601067B1 (en) | 1999-11-11 | 2000-09-18 | Apparatus for sorting and merging data records |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32094199A JP3640580B2 (ja) | 1999-11-11 | 1999-11-11 | ソート・マージ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001142679A true JP2001142679A (ja) | 2001-05-25 |
JP3640580B2 JP3640580B2 (ja) | 2005-04-20 |
Family
ID=18127004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32094199A Expired - Fee Related JP3640580B2 (ja) | 1999-11-11 | 1999-11-11 | ソート・マージ処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6601067B1 (ja) |
JP (1) | JP3640580B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6917947B2 (en) * | 2001-06-21 | 2005-07-12 | Kevin Wade Jameson | Collection command applicator |
US20030037066A1 (en) * | 2001-08-14 | 2003-02-20 | Newframe Corporation Ltd. | Delegating sort tasks between heterogeneous computer systems |
US20030126130A1 (en) * | 2001-12-31 | 2003-07-03 | Koninklijke Philips Electronics N.V. | Sort slider with context intuitive sort keys |
US7257582B2 (en) * | 2002-03-13 | 2007-08-14 | Corigin Ltd | Load balancing with shared data |
US7533137B1 (en) * | 2002-08-30 | 2009-05-12 | Symantec Operating Corporation | System and method for grouping files |
US7596793B2 (en) * | 2002-12-31 | 2009-09-29 | International Business Machines Corporation | Smart event parser for autonomic computing |
JP2005190047A (ja) * | 2003-12-25 | 2005-07-14 | Hitachi Ltd | データソート機能を持つストレージシステム |
US7822779B2 (en) * | 2004-04-23 | 2010-10-26 | Wal-Mart Stores, Inc. | Method and apparatus for scalable transport processing fulfillment system |
JP4708875B2 (ja) * | 2005-06-20 | 2011-06-22 | キヤノン株式会社 | ファイル管理装置、ファイル管理方法、プログラム、および記憶媒体 |
US8473850B2 (en) * | 2007-05-24 | 2013-06-25 | Cisco Technology, Inc. | Methods and apparatuses for displaying and managing content during a collaboration session |
US11226947B1 (en) * | 2007-10-10 | 2022-01-18 | United Services Automobile Association (Usaa) | Systems and methods for storing time-series data |
US9946722B2 (en) * | 2007-11-30 | 2018-04-17 | Red Hat, Inc. | Generating file usage information |
US20160019578A1 (en) * | 2014-07-17 | 2016-01-21 | Yahoo! Inc. | Method of log scanning |
CN110032549B (zh) * | 2019-01-28 | 2023-10-20 | 北京奥星贝斯科技有限公司 | 分区分裂方法、装置、电子设备及可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0776906B2 (ja) * | 1989-06-30 | 1995-08-16 | ディジタル イクイプメント コーポレーション | 分類加速装置のための速度及びメモリー制御 |
US5206947A (en) * | 1989-06-30 | 1993-04-27 | Digital Equipment Corporation | Stable sorting for a sort accelerator |
US5185886A (en) * | 1989-06-30 | 1993-02-09 | Digital Equipment Corporation | Multiple record group rebound sorter |
US5210870A (en) * | 1990-03-27 | 1993-05-11 | International Business Machines | Database sort and merge apparatus with multiple memory arrays having alternating access |
JP3415914B2 (ja) * | 1993-10-12 | 2003-06-09 | 富士通株式会社 | 並列マージソート処理方法 |
US5878410A (en) * | 1996-09-13 | 1999-03-02 | Microsoft Corporation | File system sort order indexes |
-
1999
- 1999-11-11 JP JP32094199A patent/JP3640580B2/ja not_active Expired - Fee Related
-
2000
- 2000-09-18 US US09/663,707 patent/US6601067B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3640580B2 (ja) | 2005-04-20 |
US6601067B1 (en) | 2003-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001142679A (ja) | ソート・マージ処理装置 | |
JP2624753B2 (ja) | 上位仕様書作成方法 | |
US6035343A (en) | Method for executing software formed of software components and a system for executing such software | |
JPH09259153A (ja) | バッチ実行制御プログラム作成装置及び方法 | |
US5995960A (en) | Method and system for improving efficiency of programs utilizing databases by exeuting scenarios based on recalled processed information | |
JPH05241923A (ja) | ファイル変換装置 | |
JP2595817B2 (ja) | 2次記憶装置の情報の制御方法および2次記憶装置を有する電子機器 | |
JPH06348766A (ja) | ツール組み込み方法及び装置 | |
US20040250162A1 (en) | Method, apparatus and computer program product for implementing enhanced autonomic backup using multiple backup devices | |
JP4167889B2 (ja) | データ変換方法、および、そのための計算機システム | |
JPS62197826A (ja) | システムフロ−仕様生成方式 | |
JPH11232149A (ja) | ファイル比較処理方法,装置およびファイルの比較処理プログラムを記憶した媒体 | |
JP2820184B2 (ja) | ロードモジュール単体テスト支援装置 | |
JPS60200346A (ja) | プログラム用テストデ−タ作成方法 | |
JP3305782B2 (ja) | ソフトウェア標準化方法およびソフトウェア生産物の解析方法 | |
JP3257229B2 (ja) | 情報管理装置 | |
JP3143929B2 (ja) | データ処理装置 | |
JPS592158A (ja) | フアイルの一括修正機能 | |
JPH05210575A (ja) | トランザクションファイルのコンペア方法 | |
JPH02287737A (ja) | テスト項目自動設計方式 | |
JPH0635710A (ja) | 汎用コンピュータオンラインプログラムにおける翻訳名称取得方法 | |
JPH01310439A (ja) | 編集履歴管理方式 | |
JPH09330259A (ja) | コンピュータシステム及びそのファイルアクセス方法 | |
JPH03179558A (ja) | データの集約方法 | |
JPH08179975A (ja) | ファイル処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050118 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050118 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080128 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090128 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100128 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110128 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |