JP3640580B2 - ソート・マージ処理装置 - Google Patents

ソート・マージ処理装置 Download PDF

Info

Publication number
JP3640580B2
JP3640580B2 JP32094199A JP32094199A JP3640580B2 JP 3640580 B2 JP3640580 B2 JP 3640580B2 JP 32094199 A JP32094199 A JP 32094199A JP 32094199 A JP32094199 A JP 32094199A JP 3640580 B2 JP3640580 B2 JP 3640580B2
Authority
JP
Japan
Prior art keywords
record
file
group
sort
input
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.)
Expired - Fee Related
Application number
JP32094199A
Other languages
English (en)
Other versions
JP2001142679A (ja
Inventor
清充 日吉
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

Images

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)

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.eq.'test' -z 100
第2ステップ
bsort -s infile2 -o intermediatefile2 -p 20.4asc.eq.'test' -z 100 -Fdosfs,cobidx
第3ステップ
bsort -m intermediatefile1 intermediatefile2 -o outfile -z 100
なお、「bsort」はソート・マージ処理のコマンド名を表し、「−」で始まるオプションについては、「−s/−m」はソート/マージスイッチ、「−o」は出力ファイル名指定、「−p」はレコード選択指定、「−z」はレコード長指定、「−F」は出力ファイルシステム,入力ファイルシステムの指定をそれぞれ表している。
【0008】
上記のコマンド記述例によれば、第1ステップでは、第1入力ファイル1を標準のファイルシステムで読み込み、レコード選択条件に従ってレコード選択を行い、ソートして第1中間ファイル3を生成するというもので、レコード選択条件の例として、10バイト目から4バイトをアスキー形式で見たときに、その4バイトが「test」という文字列であるレコードをソートの対象とするとしている。第2ステップでは、別のレコード選択条件を指定し、さらに、ファイルシステムとして、出力ファイルシステムは標準のDOS(disk operating 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がソート・マージの処理を実行する。このファイルシステム、レコード選択条件およびレコード再編成条件の設定、およびファイル入力からソート・マージ実行までの処理は、グループごとに繰り返し行う。すべてのグループの処理が終了したなら、ファイル出力手段19が出力ファイルへの書き込みを行う。
【0013】
このように、入力ファイルの形式が異なるなどの実際業務において頻繁に起こる各種条件でのソート・マージ処理を一度に処理することができ、作業効率を改善することができる。
【0014】
また、本発明によれば、グループごとに同一のレコード選択条件、同一のレコード再編成条件および同一のファイルシステムの入力ファイルをそれぞれ指定したグループ情報を含むコマンドを受け付けて前記グループ情報からグループごとのファイルシステム、レコード選択条件およびレコード再編成条件を判断するグループ情報判断手段と、前記ファイルシステムを入力ファイルが属するグループのファイルシステムに設定するファイルシステム設定手段と、前記レコード選択条件を入力ファイルが属するグループのレコード選択条件に設定する選択条件設定手段と、前記レコード再編成条件を入力ファイルが属するグループのレコード再編成条件に設定する再編成条件設定手段と、設定された前記ファイルシステムで入力ファイルを読み込むファイル入力手段と、設定された前記レコード選択条件に従ってレコードの選択を行うレコード選択処理手段と、設定された前記レコード再編成条件に従ってレコードの再編成を行うレコード再編成処理手段と、選択されおよび/または再編成されたレコードに対してソート・マージを実行するソート・マージ実行手段と、ソート・マージ処理されたレコードを出力ファイルに書き込むファイル出力手段とを有するソート・マージプログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。
【0015】
この媒体に記録されたソート・マージプログラムをコンピュータに実行させることにより、グループ情報判断手段と、ファイルシステム設定手段と、選択条件設定手段と、再編成条件設定手段と、ファイル入力手段と、レコード選択処理手段と、レコード再編成処理手段と、ソート・マージ実行手段と、ファイル出力手段との各機能がコンピュータによって実現できる。
【0016】
【発明の実施の形態】
まず、本発明の概略について図面を参照して説明する。
図1は本発明によるソート・マージ処理装置の原理的な構成を示すブロック図である。図1において、本発明によるソート・マージ処理装置10は、ソート・マージのコマンドを受け付けるグループ情報判断手段11と、ファイルシステムの設定を行うファイルシステム設定手段12と、レコード選択条件の設定を行う選択条件設定手段13と、レコード再編成条件の設定を行う再編成条件設定手段14と、入力ファイルを読み込むファイル入力手段15と、レコード選択条件に従ってレコードの選択を行うレコード選択処理手段16と、レコード再編成条件に従ってレコードの再編成を行うレコード再編成処理手段17と、レコードのソート・マージを実行するソート・マージ実行手段18と、ソート・マージの処理が実行されたレコードを出力ファイルに書き込むファイル出力手段19とを備えている。
【0017】
入力されるコマンドには、グループごとに同一のレコード選択条件および同一のレコード再編成条件、および同一のファイルシステムの入力ファイルをそれぞれ指定したグループ情報が含まれている。グループ情報判断手段11は、そのグループ情報からグループごとのファイルシステム、レコード選択条件およびレコード再編成条件を判断し、ファイルシステムをファイルシステム設定手段12によって設定し、レコード選択条件を選択条件設定手段13によって設定し、レコード再編成条件を再編成条件設定手段14によって設定する。これによりあるグループに属する入力ファイルについてのソート・マージ処理が可能になる。
【0018】
ここで、ファイル入力手段15は、設定されたファイルシステムで入力ファイルを読み込み、レコード選択処理手段16およびレコード再編成処理手段17がそれぞれ設定されたレコード選択条件およびレコード再編成条件を基にしてレコードの選択および再編成を行い、ソート・マージ実行手段18でソート・マージが実行される。これは、あるグループに属するすべての入力ファイルについて同じように実施される。また、別のグループの入力ファイルをソート・マージする場合は、改めて、ファイルシステム、レコード選択条件およびレコード再編成条件の設定が行われ、それらの条件でそのグループに属する入力ファイルのソート・マージが実行される。すべてのグループの処理が終了したなら、ファイル出力手段19が出力ファイルへの書き込みを行う。
【0019】
ここで、従来と同じ条件でソート・マージ処理を指令する具体的なコマンド例を以下に示す。
bsortex -sort
−input file=infile1 include=10.4asc.eq.’test’ reclen=100
−input file=infile2 include=20.4asc.eq.’test’ reclen=100 filesys=cobidx
−output file=output3 −record recform=fix
なお、「bsortex」はソート・マージ処理のコマンド名を表し、「−」で始まるオプションについては、「−sort」はソートスイッチ、「−input」はファイルグループ、「file」はファイル名、「include」はレコード選択指定、「reclen」はレコード長、「−output」は出力ファイルグループ、「−record recform」はレコード形式指定、「filesys」はファイルシステムの指定を表している。
【0020】
このように、同じ処理条件を満たす複数の入力ファイルを一つのグループと考え、ソート・マージ処理では、グループごとに同じ条件でレコード処理を行うようにして複数の異なったグループを持つ入力ファイルを一度にソートすることができるようになる。このため、入力ファイルの形式が異なるなど、条件が異なるたびに毎回行わなければならない作業(ソート・マージ処理)を一度に処理することができ、作業効率の改善を望むことができる。
【0021】
次に、本発明の実施の形態を、ソート・マージプログラムに適用した場合を例にして説明する。まず、ソート・マージプログラムが実行されるコンピュータの構成例を示す。
【0022】
図2はソート・マージプログラムが実行されるコンピュータの構成例を示すブロック図である。コンピュータ20は、中央処理装置(CPU)21と、読み取り専用メモリ(ROM)22と、メインメモリ(RAM)23と、ハードディスク(HDD)24と、画像制御部(GC)25と、インタフェース部(I/F)26とを備え、これらの要素はバス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」、「年」は「1998」、「月」は「01」、「売上額」は「5000000」となっており、ファイルはこのようなレコードの集まりとなっている。このようなファイルが、支店ごとに四つあり、それが第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,file3,file4 include=7.2asc.ge.'04'.and. 7.2asc.le.'12' -input reclen=22 file=file5,file6,file7,file8 include=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バイトをアスキー形式で見た文字列が「04」以上である条件と、7バイト目から2バイトをアスキー形式で見た文字列が「12」以下である条件との論理積であることを示している。つまり、「月」データが4月から12月までのレコードを選択する条件を示している。2番目に記述された「−input」文(第2ファイルグループ)内のレコード選択指定は、記述「7.2asc.ge.'01'.and. 7.2asc.le.'03'」によって、「月」データが1月から3月までのレコード選択条件を示している。なお、ここでは、ソートキーの指定はないため、既定値として、「支店名」、「年」、「月」の順に昇順指定されているものとする。
【0031】
ちなみに、同じ処理を従来のマージ・ソート処理で行う場合のコマンドは以下のようになる。
第1ファイルグループのファイルの対するコマンドは、
bsort -s file1 file2 file3 file4 -o intermediatefile1 -p 7.2asc.ge.'04' -p 7.2asc.le.'12' -0.1asca,2.4asca,7.2asca -z 22
第2ファイルグループのファイルの対するコマンドは、
bsort -s file5 file6 file7 file8 -o intermediatefile2 -p 7.2asc.ge.'01' -p 7.2asc.le.'03' -0.1asca,2.4asca,7.2asca -z 22
となり、最後のマージ処理のコマンドは、
bsort -m intermediatefile1 intermediatefile2 -o outfile -0.1asca,2.4asca,7.2asca -z 22
となる。ここで、記述「-0.1asca,2.4asca,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,file3,file4 include=7.2asc.ge.'04'.and. 7.2asc.le.'12' reconst=0.2,'19'.2asc,2.18 -input reclen=22 file=file5,file6,file7,file8 include=7.2asc.ge.'01'.and.7.2asc.le.'03' -output file=output -record recform=fix
このコマンドにおいて、最初の「−input」文(第1ファイルグループ)内における記述「reconst=0.2,'19'.2asc,2.18」がレコード再構成を指定するものである。まず、再編成前のレコードの0バイト目から2バイトを持ってくる。次に、「19」という文字でパディングするが、そのパディングは2バイトだけ行う。そして、その後に、2バイト目から18バイトを持ってくることを示している。
【0040】
ちなみに、同じ処理を従来のマージ・ソート処理で行う場合のコマンドは以下のようになる。
第1ファイルグループのファイルの対するコマンドは、
bsort -s file1 file2 file3 file4 -o intermediatefile1 -p 5.2asc.ge.'04' -p 5.2asc.le.'12' -0.1asca,2.4asca,7.2asca -e 0.2,'19'.2asc,2.18 -z 22
第2ファイルグループのファイルの対するコマンドは、
bsort -s file5 file6 file7 file8 -o intermediatefile2 -p 7.2asc.ge.'01' -p 7.2asc.le.'03' -0.1asca,2.4asca,7.2asca -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)およびセーブグループ番号(SGN)を「0」に設定する。次に、ファイルグループ番号をインクリメントする(ステップS12)。ここで、ファイルグループ番号とセーブグループ番号とが等しくないかどうかを判断する(ステップS13)。処理の最初あるいはファイルグループが変更になった場合は、ファイルグループ番号とセーブグループ番号とは等しくないので、ここで、そのファイルグループで指定されたファイルシステムに変更/設定を行い(ステップS14)、同一ファイルグルー内では、ファイルシステムは同一なので、このステップS14の処理は迂回される。
【0042】
次に、設定されたファイルシステムで入力ファイルの読み込みが行われ(ステップS15)、その後、現ファイルグループの入力が終了したかどうかが判断される(ステップS16)。たとえば上記の例で、第1〜第4ファイルの入力が終了して第5ファイルが入力された場合には、現ファイルグループの入力が終了したので、次のファイルグループへ移るために、ステップS12に戻る。現ファイルグループの入力が終了していない場合には、ファイルグループ番号とセーブグループ番号とが等しくないかどうかを判断する(ステップS17)。処理の最初あるいはファイルグループの変更直後は、ファイルグループ番号とセーブグループ番号とは等しくないので、ここで、セーブグループ番号にファイルグループ番号を代入し(ステップS18)、レコード選択条件を変更し(ステップS19)、レコード再編成条件を変更する(ステップS20)ステップS17において、ファイルグループ番号とセーブグループ番号とが等しい場合は、同一ファイルグループ内の処理であるため、ステップS18〜S20の処理は迂回される。
【0043】
その後、変更されたレコード選択条件に従ってレコード選択処理が行われ(ステップS21)、変更されたレコード再編成条件に従ってレコード再編成処理が行われ(ステップS22)、選択および再構成されたレコードに対して指定されたソートキーに基づくソート・マージ処理が行われる(ステップS23)。以上のステップS15〜S23は入力ファイルの読み込みが終わるまで繰り返して実行され、データの終わり(EOD)になると、出力ファイルの書き込みを行う(ステップS24)。
【0044】
また、上記のコンピュータで処理されるべきソート・マージプログラムの処理内容は、コンピュータで読み取り可能な記録媒体に記録させておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光学ディスク、半導体メモリなどがある。市場に流通させる場合には、CD−ROM(Compact 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. 複数の入力ファイルに記録されたレコードを所定の条件に従ってソート・マージするソート・マージ処理装置において、
    グループごとに同一のレコード選択条件を指定したグループ情報を含むコマンドを入力してそのグループ情報からグループごとのレコード選択条件を判断するグループ情報判断手段と、
    前記グループ情報判断手段で判断された前記レコード選択条件を入力ファイルが属するグループのレコード選択条件に設定する選択条件設定手段と、
    前記入力ファイルを読み込むファイル入力手段と、
    読み込まれた入力ファイルのレコードに対して前記選択条件設定手段にて設定されたレコード選択条件でレコードの選択を行うレコード選択処理手段と、
    選択されおよび/または再編成されたレコードに対してソート・マージを実行するソート・マージ実行手段と、
    ソート・マージ処理されたレコードを出力ファイルに書き込むファイル出力手段と、
    を備えていることを特徴とするソート・マージ処理装置。
  2. 前記グループ情報判断手段が前記コマンドに含まれるグループ情報からグループごとに指定されたレコード再編成条件を判断する機能を有し、前記グループ情報判断手段で判断された前記レコード再編成条件を入力ファイルが属するグループのレコード再編成条件に設定する再編成条件設定手段と、読み込まれた入力ファイルのレコードに対して前記再編成条件設定手段にて設定されたレコード再編成条件でレコードの再編成を行うレコード再編成処理手段とをさらに備えていることを特徴とする請求項1記載のソート・マージ処理装置。
  3. 前記グループ情報判断手段が前記コマンドに含まれるグループ情報からグループごとに指定されたファイルシステムを判断する機能を有し、前記グループ情報判断手段で判断された前記ファイルシステムを前記ファイル入力手段が読み込もうとする入力ファイルが属するグループのファイルシステムに設定するファイルシステム設定手段をさらに備えていることを特徴とする請求項2記載のソート・マージ処理装置。
  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 JP2001142679A (ja) 2001-05-25
JP3640580B2 true 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
US6601067B1 (en) 2003-07-29
JP2001142679A (ja) 2001-05-25

Similar Documents

Publication Publication Date Title
JP3640580B2 (ja) ソート・マージ処理装置
JP2624753B2 (ja) 上位仕様書作成方法
JPH0312328B2 (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次記憶装置を有する電子機器
US7139884B2 (en) Method, apparatus and computer program product for implementing enhanced autonomic backup using multiple backup devices
Blobel The BOS system
JP4167889B2 (ja) データ変換方法、および、そのための計算機システム
US6643632B1 (en) Data processing system and computer-readable recording medium recorded with a program for causing a computer to process data
JPH11232149A (ja) ファイル比較処理方法,装置およびファイルの比較処理プログラムを記憶した媒体
JPH1011271A (ja) バージョンダウン入力方式
JP3549251B2 (ja) ソート処理装置及びソート処理方法
JP5061086B2 (ja) ジョブ管理方法及びその実施装置とプログラム
JP3305782B2 (ja) ソフトウェア標準化方法およびソフトウェア生産物の解析方法
JP2820184B2 (ja) ロードモジュール単体テスト支援装置
JPS60200346A (ja) プログラム用テストデ−タ作成方法
JP2669241B2 (ja) マイグレーション処理方式
JP2604551B2 (ja) ファイルダンプ出力支援方法
JPH06231016A (ja) ファイル結合/分割方法
JP3047400B2 (ja) データ処理装置
JPH04175873A (ja) 帳票配信処理装置
JPH0652020A (ja) ファイル編集装置
JPH05119973A (ja) Jcl作成支援ツール
JPH05197590A (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