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
Application number
JP32094199A
Other languages
English (en)
Other versions
JP3640580B2 (ja
Inventor
Kiyomitsu Hiyoshi
清充 日吉
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP32094199A priority Critical patent/JP3640580B2/ja
Priority to US09/663,707 priority patent/US6601067B1/en
Publication of JP2001142679A publication Critical patent/JP2001142679A/ja
Application granted granted Critical
Publication of JP3640580B2 publication Critical patent/JP3640580B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/36Combined merging and sorting
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting

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

(57)【要約】 【課題】 ソート・マージ処理装置に関し、処理条件の
異なる複数の入力ファイルを一括処理できるようにする
ことを目的とする。 【解決手段】 グループごとに同一のレコード選択条
件、レコード再編成条件、ファイルシステムを指定した
グループ情報を含むコマンドからグループ情報判断手段
11がグループごとの条件を判断し、それらをファイル
システム設定手段12、選択条件設定手段13、再編成
条件設定手段14で設定する。ファイル入力手段15
は、設定されたファイルシステムで入力ファイルを読み
込み、レコード選択処理手段16およびレコード再編成
処理手段17が設定されたレコード選択条件およびレコ
ード再編成条件でレコードの選択および再編成を行い、
ソート・マージ実行手段18がソート・マージを実行す
る。これを、グループごとに実行し、最後に、ファイル
出力手段19が出力ファイルへ書き込む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はソート・マージ処理
装置に関し、特に複数のレコード選択条件および再構成
条件を同時に満たすような処理を一度の指定で行うこと
を可能にし、ソート・マージなどファイルを扱うプログ
ラム全般に適用することができるソート・マージ処理装
置に関する。
【0002】従来より、たとえば銀行系のオンラインシ
ステムなどにおける企業の定型業務では、各種レコード
を特定の条件に従って選択およびソートしたり、さらに
は選択およびソートしたレコードを特定の条件に従って
再構成するようなことが日常的に行われている。このよ
うな処理には、一般にソート・マージプログラムと呼ば
れるプログラムが使用される。
【0003】
【従来の技術】従来のこの種ソート・マージプログラム
では、レコード選択機能、レコード再編成機能、および
ファイルシステムの指定機能を有しており、ある入力フ
ァイルに対して特定の条件の基でそれぞれの機能が実行
される。
【0004】図11は従来のソート・マージ処理の流れ
を示すフローチャートである。従来のソート・マージ処
理では、まず、処理対象とする入力ファイルのファイル
形式に対応したファイルシステムを選択する(ステップ
S1)。次に、入力ファイルを選択されたファイルシス
テムにて読み込む(ステップS2)。次に、指定された
レコード選択条件に従ってレコード選択処理を行い(ス
テップS3)、指定されたレコード再編成条件に従って
レコード再編成処理を行う(ステップS4)。なお、こ
のレコード再編成条件が指定されていない場合は、この
ステップはスキップされる。そして、選択され、再編成
されたレコードに対してソート・マージ処理を行う(ス
テップS5)。以上のステップS2〜S5は入力ファイ
ルの読み込みが終わるまで繰り返して実行され、データ
の終わり(EOD)になると、出力ファイルの書き込み
を行う(ステップS6)。
【0005】ここで、二つの入力ファイルをそれぞれ異
なったファイルシステムおよびレコード選択条件でソー
ト・マージを行う場合を例にして具体的に説明する。図
12は従来のソート・マージ処理の処理ステップを説明
する図であって、(A)はソート・マージ処理の第1の
ステップを示し、(B)はソート・マージ処理の第2の
ステップを示し、(C)はソート・マージ処理の第3の
ステップを示している。ここで、第1入力ファイル1は
ファイルシステムが標準ファイル形式であって、第1レ
コード選択条件でソート・マージ処理が行われ、第2入
力ファイル2はファイルシステムがCOBOL(common
business oriented language)索引ファイル形式であ
って、第2レコード選択条件でソート・マージ処理が行
われるものとする。
【0006】第1ステップでは、第1入力ファイル1を
標準ファイルのファイルシステムで読み込み、これを図
11の処理の流れに従って第1レコード選択条件でレコ
ードを選択し、ソートして第1中間ファイル3へ書き込
む。第2ステップでも同様にして、第2入力ファイル2
をCOBOL索引ファイルのファイルシステムで読み込
み、これを図11の処理の流れに従って第2レコード選
択条件でレコードを選択し、ソートして第2中間ファイ
ル4へ書き込む。第1および第2ステップにて生成され
る第1および第2中間ファイル3,4は標準ファイルと
する。第3ステップでは、これら第1および第2中間フ
ァイル3,4を読み込み、全レコードに対してソート・
マージ処理を行い、出力ファイル5への書き込みを行
う。このように、ファイルシステムおよびレコード選択
条件の違う場合には、それぞれのジョブステップを必要
とし、さらに、それらの結果をマージするステップが必
要となる。
【0007】ここで、ソート・マージ処理装置に対して
各ステップの処理を実行するために指示されるコマンド
の記述例を示す。 第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」は出力ファイルシステ
ム,入力ファイルシステムの指定をそれぞれ表してい
る。
【0008】上記のコマンド記述例によれば、第1ステ
ップでは、第1入力ファイル1を標準のファイルシステ
ムで読み込み、レコード選択条件に従ってレコード選択
を行い、ソートして第1中間ファイル3を生成するとい
うもので、レコード選択条件の例として、10バイト目
から4バイトをアスキー形式で見たときに、その4バイ
トが「test」という文字列であるレコードをソート
の対象とするとしている。第2ステップでは、別のレコ
ード選択条件を指定し、さらに、ファイルシステムとし
て、出力ファイルシステムは標準のDOS(disk opera
ting system)ファイルシステム、入力ファイルシステ
ムはCOBOL索引ファイルシステムを指定している。
第3ステップでは、第1および第2中間ファイル3,4
を読み込み、マージして出力ファイル5を作る指定をし
ている。
【0009】
【発明が解決しようとする課題】このように、従来のソ
ート・マージ処理では、入力ファイルのファイルシステ
ム、レコード選択条件およびレコード再編成条件が異な
るたびにジョブステップを追加する必要がある。このた
め、異なった条件を指定すると、指定の数だけソート・
マージ処理を実行させなければならず、処理効率も低下
するという問題点があった。
【0010】本発明はこのような点に鑑みてなされたも
のであり、異なったレコード選択条件、異なったレコー
ド再編成条件、異なったファイルシステムの指定などを
同時に複数の入力ファイルに対して指定することができ
るソート・マージ処理装置を提供することを目的とす
る。
【0011】
【課題を解決するための手段】図1は上記目的を達成す
る本発明の原理図である。本発明によるソート・マージ
処理装置10は、グループごとに同一のレコード選択条
件、同一のレコード再編成条件および同一のファイルシ
ステムの入力ファイルをそれぞれ指定したグループ情報
を含むコマンドを入力してそのグループ情報からグルー
プごとのファイルシステム、レコード選択条件およびレ
コード再編成条件を判断するグループ情報判断手段11
と、ファイルシステムを入力ファイルが属するグループ
のファイルシステムに設定するファイルシステム設定手
段12と、レコード選択条件を入力ファイルが属するグ
ループのレコード選択条件に設定する選択条件設定手段
13と、レコード再編成条件を入力ファイルが属するグ
ループのレコード再編成条件に設定する再編成条件設定
手段14と、設定されたファイルシステムで入力ファイ
ルを読み込むファイル入力手段15と、設定されたレコ
ード選択条件でレコードの選択を行うレコード選択処理
手段16と、設定されたレコード再編成条件でレコード
の再編成を行うレコード再編成処理手段17と、選択さ
れおよび/または再編成されたレコードに対してソート
・マージを実行するソート・マージ実行手段18と、ソ
ート・マージ処理されたレコードを出力ファイルに書き
込むファイル出力手段19とを備えている。
【0012】以上の構成を有するソート・マージ処理装
置10によれば、ソート・マージのコマンドが入力され
ると、グループ情報判断手段11がグループごとに指定
された入力ファイル、ファイルシステム、レコード選択
条件およびレコード再編成条件を判断し、ファイルシス
テム設定手段12、選択条件設定手段13および再編成
条件設定手段14がファイルシステム、レコード選択条
件およびレコード再編成条件をそれぞれ設定する。ファ
イル入力手段15は、設定されたファイルシステムで入
力ファイルを読み込み、レコード選択処理手段16およ
びレコード再編成処理手段17がそれぞれ設定されたレ
コード選択条件およびレコード再編成条件を基にしてレ
コードの選択および再編成を行い、ソート・マージ実行
手段18がソート・マージの処理を実行する。このファ
イルシステム、レコード選択条件およびレコード再編成
条件の設定、およびファイル入力からソート・マージ実
行までの処理は、グループごとに繰り返し行う。すべて
のグループの処理が終了したなら、ファイル出力手段1
9が出力ファイルへの書き込みを行う。
【0013】このように、入力ファイルの形式が異なる
などの実際業務において頻繁に起こる各種条件でのソー
ト・マージ処理を一度に処理することができ、作業効率
を改善することができる。
【0014】また、本発明によれば、グループごとに同
一のレコード選択条件、同一のレコード再編成条件およ
び同一のファイルシステムの入力ファイルをそれぞれ指
定したグループ情報を含むコマンドを受け付けて前記グ
ループ情報からグループごとのファイルシステム、レコ
ード選択条件およびレコード再編成条件を判断するグル
ープ情報判断手段と、前記ファイルシステムを入力ファ
イルが属するグループのファイルシステムに設定するフ
ァイルシステム設定手段と、前記レコード選択条件を入
力ファイルが属するグループのレコード選択条件に設定
する選択条件設定手段と、前記レコード再編成条件を入
力ファイルが属するグループのレコード再編成条件に設
定する再編成条件設定手段と、設定された前記ファイル
システムで入力ファイルを読み込むファイル入力手段
と、設定された前記レコード選択条件に従ってレコード
の選択を行うレコード選択処理手段と、設定された前記
レコード再編成条件に従ってレコードの再編成を行うレ
コード再編成処理手段と、選択されおよび/または再編
成されたレコードに対してソート・マージを実行するソ
ート・マージ実行手段と、ソート・マージ処理されたレ
コードを出力ファイルに書き込むファイル出力手段とを
有するソート・マージプログラムを記録したコンピュー
タ読み取り可能な記録媒体が提供される。
【0015】この媒体に記録されたソート・マージプロ
グラムをコンピュータに実行させることにより、グルー
プ情報判断手段と、ファイルシステム設定手段と、選択
条件設定手段と、再編成条件設定手段と、ファイル入力
手段と、レコード選択処理手段と、レコード再編成処理
手段と、ソート・マージ実行手段と、ファイル出力手段
との各機能がコンピュータによって実現できる。
【0016】
【発明の実施の形態】まず、本発明の概略について図面
を参照して説明する。図1は本発明によるソート・マー
ジ処理装置の原理的な構成を示すブロック図である。図
1において、本発明によるソート・マージ処理装置10
は、ソート・マージのコマンドを受け付けるグループ情
報判断手段11と、ファイルシステムの設定を行うファ
イルシステム設定手段12と、レコード選択条件の設定
を行う選択条件設定手段13と、レコード再編成条件の
設定を行う再編成条件設定手段14と、入力ファイルを
読み込むファイル入力手段15と、レコード選択条件に
従ってレコードの選択を行うレコード選択処理手段16
と、レコード再編成条件に従ってレコードの再編成を行
うレコード再編成処理手段17と、レコードのソート・
マージを実行するソート・マージ実行手段18と、ソー
ト・マージの処理が実行されたレコードを出力ファイル
に書き込むファイル出力手段19とを備えている。
【0017】入力されるコマンドには、グループごとに
同一のレコード選択条件および同一のレコード再編成条
件、および同一のファイルシステムの入力ファイルをそ
れぞれ指定したグループ情報が含まれている。グループ
情報判断手段11は、そのグループ情報からグループご
とのファイルシステム、レコード選択条件およびレコー
ド再編成条件を判断し、ファイルシステムをファイルシ
ステム設定手段12によって設定し、レコード選択条件
を選択条件設定手段13によって設定し、レコード再編
成条件を再編成条件設定手段14によって設定する。こ
れによりあるグループに属する入力ファイルについての
ソート・マージ処理が可能になる。
【0018】ここで、ファイル入力手段15は、設定さ
れたファイルシステムで入力ファイルを読み込み、レコ
ード選択処理手段16およびレコード再編成処理手段1
7がそれぞれ設定されたレコード選択条件およびレコー
ド再編成条件を基にしてレコードの選択および再編成を
行い、ソート・マージ実行手段18でソート・マージが
実行される。これは、あるグループに属するすべての入
力ファイルについて同じように実施される。また、別の
グループの入力ファイルをソート・マージする場合は、
改めて、ファイルシステム、レコード選択条件およびレ
コード再編成条件の設定が行われ、それらの条件でその
グループに属する入力ファイルのソート・マージが実行
される。すべてのグループの処理が終了したなら、ファ
イル出力手段19が出力ファイルへの書き込みを行う。
【0019】ここで、従来と同じ条件でソート・マージ
処理を指令する具体的なコマンド例を以下に示す。 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」はファイルシステムの指定
を表している。
【0020】このように、同じ処理条件を満たす複数の
入力ファイルを一つのグループと考え、ソート・マージ
処理では、グループごとに同じ条件でレコード処理を行
うようにして複数の異なったグループを持つ入力ファイ
ルを一度にソートすることができるようになる。このた
め、入力ファイルの形式が異なるなど、条件が異なるた
びに毎回行わなければならない作業(ソート・マージ処
理)を一度に処理することができ、作業効率の改善を望
むことができる。
【0021】次に、本発明の実施の形態を、ソート・マ
ージプログラムに適用した場合を例にして説明する。ま
ず、ソート・マージプログラムが実行されるコンピュー
タの構成例を示す。
【0022】図2はソート・マージプログラムが実行さ
れるコンピュータの構成例を示すブロック図である。コ
ンピュータ20は、中央処理装置(CPU)21と、読
み取り専用メモリ(ROM)22と、メインメモリ(R
AM)23と、ハードディスク(HDD)24と、画像
制御部(GC)25と、インタフェース部(I/F)2
6とを備え、これらの要素はバス27によって相互に接
続されている。インタフェース部26には、キーボード
などの入力装置28が接続され、画像制御部25には、
ディスプレイ29が接続される。
【0023】ソート・マージプログラムおよび入力ファ
イルは、ハードディスク24に格納されており、また、
ソート・マージ処理の結果、作られた出力ファイルは、
ハードディスク24に格納される。ソート・マージプロ
グラムは、ハードディスク24からメインメモリ23に
ロードされ、中央処理装置21による演算にてソート・
マージ処理が実行される。そのソート・マージプログラ
ムを実行するためのコマンドは、入力装置28によって
入力される。
【0024】次に、異なったレコード選択条件の入力フ
ァイルを持つソート・マージ処理の例を示す。ここで
は、一例として、四つの支店A〜Dにおける1998年
および1999年の売上げのリストから1998年度の
売上げのリストを作成する場合について説明する。ま
た、四つの支店A〜Dにおける1998年の売上げを記
録したファイルを第1ファイルグループとし、四つの支
店A〜Dにおける1999年の売上げを記録したファイ
ルを第2ファイルグループとする。
【0025】図3は第1ファイルグループの例を示す図
であって、(A)はレコードの形式を示し、(B)はレ
コードの例を示している。図4は第2ファイルグループ
の例を示す図であって、(A)はレコードの形式を示
し、(B)はレコードの例を示し、図5はソート・マー
ジ処理結果を示す図である。
【0026】第1ファイルグループには第1〜第4ファ
イルがあり、そこには、各々の支点A〜Dの1998年
の売上げが図3の(A)に示したレコードの形式で記録
されている。レコードの形式は、最初のカラムが「支店
名」、2番目のカラムが「年」、3番目のカラムが
「月」、4番目のカラムが「売上額」になっており、各
カラムはブランクによって区切られている。図3の
(B)に示したファイルの中身を見ると、一番上のレコ
ードによれば、「支店名」は「A」、「年」は「199
8」、「月」は「01」、「売上額」は「500000
0」となっており、ファイルはこのようなレコードの集
まりとなっている。このようなファイルが、支店ごとに
四つあり、それが第1〜第4ファイルに該当する。
【0027】また、第2ファイルグループにおいても、
支店A〜Dの「1999年」の1月から12月までの売
上げが図4の(A)に示したレコードの形式で記録され
ている。このような支店ごとのファイルが図4の(B)
において第5〜第8ファイルに該当する。
【0028】1998年度(1998年4月〜1999
年3月)の各支店ごとの売上げリストを作成するには、
第1ファイルグループのレコード選択条件は、「月」デ
ータが「04以上12以下」と設定し、第2ファイルグ
ループのレコード選択条件は、「月」データが「01以
上03以下」と設定する。さらに、ソートキーを「支店
名」、「年」、「月」の順に昇順指定する。
【0029】これにより、図5に示すようなソート結果
が得られる。すなわち、1998年4月〜1999年3
月の売上げが、支店名A〜Dの順にソートされ、出力フ
ァイルに記録される。
【0030】以上のソート・マージ処理を指示するコマ
ンドの例を以下に示す。 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月までのレコード選択条件を示してい
る。なお、ここでは、ソートキーの指定はないため、既
定値として、「支店名」、「年」、「月」の順に昇順指
定されているものとする。
【0031】ちなみに、同じ処理を従来のマージ・ソー
ト処理で行う場合のコマンドは以下のようになる。第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」は、ソートキーの指定であって、支店名、
年、月の順に昇順指定していることを示している。
【0032】次に、異なったレコード選択条件および異
なったレコード再編成条件の入力ファイルを持つソート
・マージ処理の例について説明する。ここでは、上記の
例と同様、四つの支店A〜Dにおける1998年および
1999年の売上げのリストから1998年度の売上げ
のリストを作成するが、第1ファイルグループにおける
各支店A〜Dの1998年の売上げを記録したファイル
では、「年」データが2桁、第2ファイルグループにお
ける各支店A〜Dの1999年の売上げを記録したファ
イルでは、「年」データが4桁になっている場合につい
て説明する。
【0033】図6は第1ファイルグループの例を示す図
であって、(A)はレコードの形式を示し、(B)はレ
コードの例を示している。図7は第2ファイルグループ
の例を示す図であって、(A)はレコードの形式を示
し、(B)はレコードの例を示し、図8はレコード再編
成を説明する図、図9はソート・マージ処理結果を示す
図である。
【0034】第1ファイルグループの第1〜第4ファイ
ルには、各々の支店A〜Dの1999年の売上げデータ
が図6の(A)に示すレコードの形式で記録されてい
る。すなわち、「年」データが2桁で記録されている。
一方、第2ファイルグループの第5〜第8ファイルに
は、各支店A〜Dの2000年の売上げデータが図7の
(A)に示すレコードの形式、つまり、「年」データが
4桁で記録されている。
【0035】ここで、1999年度(1999年4月〜
2000年3月)の各支店ごとの売上げリストを作成す
るには、第1ファイルグループの選択条件は、「月」デ
ータが「04以上12以下」と設定する。さらに、第1
ファイルグループのレコード再編成条件は、「支店
名」、「ブランク」、「19(パディング)」、
「年」、「ブランク」、「月」、「ブランク」、「売上
額」と設定する。
【0036】このレコード再編成は、第1ファイルグル
ープの「年」データのカラム位置が第2ファイルグルー
プの「年」データのカラム位置と合わないことに対して
なされるものである。図8に示したように、第1ファイ
ルグループのファイルのレコードは、「支店名」、「ブ
ランク」、「年」、「ブランク」、「月」、「ブラン
ク」、「売上額」と並んだ構成になっており、レコード
再編成前の「年」データが2桁になっている。この
「年」データの前に、文字列「19」をパディングする
ことにより、再編成後のレコードは、第2ファイルグル
ープの「年」データと同じ桁数にすることができる。
【0037】また、第2ファイルグループの選択条件
は、「月」データを「01以上03以下」と設定する。
さらに、ソートキーを「支店名」、「年(4桁)」、
「月」の順に昇順指定する。
【0038】これにより、図9に示すようなソート結果
が得られる。すなわち、1999年4月〜2000年3
月の売上げが、支店名A〜Dの順にソートされ、出力フ
ァイルに記録される。
【0039】以上のソート・マージ処理を指示するコマ
ンドの例を以下に示す。 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バイトを持ってくる
ことを示している。
【0040】ちなみに、同じ処理を従来のマージ・ソー
ト処理で行う場合のコマンドは以下のようになる。第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」に対応する。
【0041】図10はソート・マージプログラムの処理
の流れを示すフローチャートである。まず、最初に初期
設定を行う(ステップS11)。ここでは、ファイルグ
ループ番号(FGN)およびセーブグループ番号(SG
N)を「0」に設定する。次に、ファイルグループ番号
をインクリメントする(ステップS12)。ここで、フ
ァイルグループ番号とセーブグループ番号とが等しくな
いかどうかを判断する(ステップS13)。処理の最初
あるいはファイルグループが変更になった場合は、ファ
イルグループ番号とセーブグループ番号とは等しくない
ので、ここで、そのファイルグループで指定されたファ
イルシステムに変更/設定を行い(ステップS14)、
同一ファイルグルー内では、ファイルシステムは同一な
ので、このステップS14の処理は迂回される。
【0042】次に、設定されたファイルシステムで入力
ファイルの読み込みが行われ(ステップS15)、その
後、現ファイルグループの入力が終了したかどうかが判
断される(ステップS16)。たとえば上記の例で、第
1〜第4ファイルの入力が終了して第5ファイルが入力
された場合には、現ファイルグループの入力が終了した
ので、次のファイルグループへ移るために、ステップS
12に戻る。現ファイルグループの入力が終了していな
い場合には、ファイルグループ番号とセーブグループ番
号とが等しくないかどうかを判断する(ステップS1
7)。処理の最初あるいはファイルグループの変更直後
は、ファイルグループ番号とセーブグループ番号とは等
しくないので、ここで、セーブグループ番号にファイル
グループ番号を代入し(ステップS18)、レコード選
択条件を変更し(ステップS19)、レコード再編成条
件を変更する(ステップS20)ステップS17におい
て、ファイルグループ番号とセーブグループ番号とが等
しい場合は、同一ファイルグループ内の処理であるた
め、ステップS18〜S20の処理は迂回される。
【0043】その後、変更されたレコード選択条件に従
ってレコード選択処理が行われ(ステップS21)、変
更されたレコード再編成条件に従ってレコード再編成処
理が行われ(ステップS22)、選択および再構成され
たレコードに対して指定されたソートキーに基づくソー
ト・マージ処理が行われる(ステップS23)。以上の
ステップS15〜S23は入力ファイルの読み込みが終
わるまで繰り返して実行され、データの終わり(EO
D)になると、出力ファイルの書き込みを行う(ステッ
プS24)。
【0044】また、上記のコンピュータで処理されるべ
きソート・マージプログラムの処理内容は、コンピュー
タで読み取り可能な記録媒体に記録させておくことがで
きる。コンピュータで読み取り可能な記録媒体として
は、磁気記録装置、光学ディスク、半導体メモリなどが
ある。市場に流通させる場合には、CD−ROM(Comp
act Disk Read Only Memory)やフロッピーディスクな
どの可搬型記録媒体にプログラムを格納して流通させた
り、ネットワークを介して接続されたコンピュータの外
部記憶装置などに格納しておき、ネットワークを通じて
他のコンピュータに転送することもできる。コンピュー
タで実行する際には、コンピュータ内のハードディスク
などにプログラムを格納しておき、メインメモリにロー
ドして実行する。
【0045】
【発明の効果】以上説明したように本発明では、ファイ
ルシステム、レコード選択条件およびレコード再編成条
件がすべて同じソート・マージ対象の入力ファイルを一
つのグループとし、ソート・マージ処理をグループごと
に条件を変更して実施するように構成した。このため、
レコード形式、ファイルシステムの異なるファイルを一
度に処理できるためユーザ業務を簡素化でき、処理ステ
ップが削減されるため処理時間を短縮することができ、
バッチファイルなどの処理ステップが削減されるため保
守性を向上させることができる。
【0046】また、ソート・マージプログラムの呼出し
回数が削減されることによりシステム全体のスループッ
トが向上し、さらに、処理途中で中間ファイルを作る必
要がないため、ディスクの使用量を削減することができ
る。
【図面の簡単な説明】
【図1】本発明によるソート・マージ処理装置の原理的
な構成を示すブロック図である。
【図2】ソート・マージプログラムが実行されるコンピ
ュータの構成例を示すブロック図である。
【図3】第1ファイルグループの例を示す図であって、
(A)はレコードの形式を示し、(B)はレコードの例
を示している。
【図4】第2ファイルグループの例を示す図であって、
(A)はレコードの形式を示し、(B)はレコードの例
を示している。
【図5】ソート・マージ処理結果を示す図である。
【図6】第1ファイルグループの例を示す図であって、
(A)はレコードの形式を示し、(B)はレコードの例
を示している。
【図7】第2ファイルグループの例を示す図であって、
(A)はレコードの形式を示し、(B)はレコードの例
を示している。
【図8】レコード再編成を説明する図である。
【図9】ソート・マージ処理結果を示す図である。
【図10】ソート・マージプログラムの処理の流れを示
すフローチャートである。
【図11】従来のソート・マージ処理の流れを示すフロ
ーチャートである。
【図12】従来のソート・マージ処理の処理ステップを
説明する図であって、(A)はソート・マージ処理の第
1のステップを示し、(B)はソート・マージ処理の第
2のステップを示し、(C)はソート・マージ処理の第
3のステップを示している。
【符号の説明】
10 ソート・マージ処理装置 11 グループ情報判断手段 12 ファイルシステム設定手段 13 選択条件設定手段 14 再編成条件設定手段 15 ファイル入力手段 16 レコード選択処理手段 17 レコード再編成処理手段 18 ソート・マージ実行手段 19 ファイル出力手段 20 コンピュータ 21 中央処理装置 22 読み取り専用メモリ 23 メインメモリ 24 ハードディスク 25 画像制御部 26 インタフェース部 27 バス 28 入力装置 29 ディスプレイ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数の入力ファイルに記録されたレコー
    ドを所定の条件に従ってソート・マージするソート・マ
    ージ処理装置において、 グループごとに同一のレコード選択条件を指定したグル
    ープ情報を含むコマンドを入力してそのグループ情報か
    らグループごとのレコード選択条件を判断するグループ
    情報判断手段と、 前記グループ情報判断手段で判断された前記レコード選
    択条件を入力ファイルが属するグループのレコード選択
    条件に設定する選択条件設定手段と、 前記入力ファイルを読み込むファイル入力手段と、 読み込まれた入力ファイルのレコードに対して前記選択
    条件設定手段にて設定されたレコード選択条件でレコー
    ドの選択を行うレコード選択処理手段と、 選択されおよび/または再編成されたレコードに対して
    ソート・マージを実行するソート・マージ実行手段と、 ソート・マージ処理されたレコードを出力ファイルに書
    き込むファイル出力手段と、 を備えていることを特徴とするソート・マージ処理装
    置。
  2. 【請求項2】 前記グループ情報判断手段が前記コマン
    ドに含まれるグループ情報からグループごとに指定され
    たレコード再編成条件を判断する機能を有し、前記グル
    ープ情報判断手段で判断された前記レコード再編成条件
    を入力ファイルが属するグループのレコード再編成条件
    に設定する再編成条件設定手段と、読み込まれた入力フ
    ァイルのレコードに対して前記再編成条件設定手段にて
    設定されたレコード再編成条件でレコードの再編成を行
    うレコード再編成処理手段とをさらに備えていることを
    特徴とする請求項1記載のソート・マージ処理装置。
  3. 【請求項3】 前記グループ情報判断手段が前記コマン
    ドに含まれるグループ情報からグループごとに指定され
    たファイルシステムを判断する機能を有し、前記グルー
    プ情報判断手段で判断された前記ファイルシステムを前
    記ファイル入力手段が読み込もうとする入力ファイルが
    属するグループのファイルシステムに設定するファイル
    システム設定手段をさらに備えていることを特徴とする
    請求項2記載のソート・マージ処理装置。
  4. 【請求項4】 グループごとに同一のレコード選択条
    件、同一のレコード再編成条件および同一のファイルシ
    ステムの入力ファイルをそれぞれ指定したグループ情報
    を含むコマンドを受け付けて前記グループ情報からグル
    ープごとのファイルシステム、レコード選択条件および
    レコード再編成条件を判断するグループ情報判断手段
    と、前記ファイルシステムを入力ファイルが属するグル
    ープのファイルシステムに設定するファイルシステム設
    定手段と、前記レコード選択条件を入力ファイルが属す
    るグループのレコード選択条件に設定する選択条件設定
    手段と、前記レコード再編成条件を入力ファイルが属す
    るグループのレコード再編成条件に設定する再編成条件
    設定手段と、設定された前記ファイルシステムで入力フ
    ァイルを読み込むファイル入力手段と、設定された前記
    レコード選択条件に従ってレコードの選択を行うレコー
    ド選択処理手段と、設定された前記レコード再編成条件
    に従ってレコードの再編成を行うレコード再編成処理手
    段と、選択されおよび/または再編成されたレコードに
    対してソート・マージを実行するソート・マージ実行手
    段と、ソート・マージ処理されたレコードを出力ファイ
    ルに書き込むファイル出力手段とを有するソート・マー
    ジプログラムを記録したコンピュータ読み取り可能な記
    録媒体。
JP32094199A 1999-11-11 1999-11-11 ソート・マージ処理装置 Expired - Fee Related JP3640580B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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