JPH0895810A - Batch job execution system - Google Patents

Batch job execution system

Info

Publication number
JPH0895810A
JPH0895810A JP25871394A JP25871394A JPH0895810A JP H0895810 A JPH0895810 A JP H0895810A JP 25871394 A JP25871394 A JP 25871394A JP 25871394 A JP25871394 A JP 25871394A JP H0895810 A JPH0895810 A JP H0895810A
Authority
JP
Japan
Prior art keywords
data
job
job step
temporary file
data transmission
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
JP25871394A
Other languages
Japanese (ja)
Inventor
Hiroshi Miyazawa
浩 宮澤
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
Original Assignee
NEC Corp
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 filed Critical NEC Corp
Priority to JP25871394A priority Critical patent/JPH0895810A/en
Publication of JPH0895810A publication Critical patent/JPH0895810A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE: To process plural job steps simultaneously in parallel by using a buffer for data transmission on a main storage for data transmission between job steps constituting a batch job instead of a temporary file. CONSTITUTION: Instead of the common temporary file that a job step 7-1 uses for output and a job step 7-2 uses for input respectively, the FIFO buffer 5-1 for data transmission is prepared on the main storage. A step parallel execution management part 4 allocates different processes 6-1 and 6-2 to the job steps 7-1 and 7-2 and places them into parallel operation. A transmitted data management part 1 queues output data in the buffer 5-1 for data transmission in order when the process 6-1 makes a request to write the temporary file, and takes the data queued in the buffer 5-1 for data transmission out in order and sends them to the process 6-1 when the process 6-1 makes a request to read the temporary file.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は計算機のバッチジョブ実
行方式に関し、特にジョブステップ間で一時ファイルを
介してデータの伝達を行う複数のジョブステップを、そ
の一時ファイルの代わりに主記憶上のデータ伝達用バッ
ファを使用させて同時に並行して動作させるようにした
バッチジョブ実行方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a batch job execution method for a computer, and more particularly, to a plurality of job steps for transmitting data between job steps via a temporary file, instead of the temporary file The present invention relates to a batch job execution method in which a transmission buffer is used to operate concurrently in parallel.

【0002】[0002]

【従来の技術】従来、複数のジョブステップから構成さ
れるバッチジョブの実行は、それを構成するジョブステ
ップを記述順に順次一つずつ実行することで行われてい
る。
2. Description of the Related Art Conventionally, a batch job composed of a plurality of job steps is executed by sequentially executing the job steps constituting the batch job one by one in the order of description.

【0003】また、複数のジョブステップから構成され
るバッチジョブの実行において、先行するジョブステッ
プで生成されたデータを後続のジョブステップで処理す
る場合、一時ファイルを使用してジョブステップ間でデ
ータの伝達を行っている。一時ファイルとしては、磁気
ディスク媒体上のファイル以外に、その入出力速度を向
上するために電子ディスク媒体上のファイルが使用され
る場合がある。
Further, in executing a batch job composed of a plurality of job steps, when data generated in a preceding job step is processed in a succeeding job step, a temporary file is used to store the data between the job steps. Communicating. As the temporary file, in addition to the file on the magnetic disk medium, a file on the electronic disk medium may be used to improve the input / output speed.

【0004】[0004]

【発明が解決しようとする課題】ところで、ジョブの実
行速度を速める手法の一つに、オンライントランザクシ
ョンを処理するリアルタイムジョブにおいて採用されて
いるマルチタスキング手法がある。即ち、各トランザク
ションの処理を別々のプロセスで並行して処理する手法
である。しかしながら、このマルチタスキング手法はバ
ッチジョブに対しては余り利用されていない。その理由
の一つは、本来バッチジョブは逐次性の強い処理を目的
としていたという事情があったからである。
By the way, as one of the methods for increasing the job execution speed, there is a multi-tasking method adopted in a real-time job for processing an online transaction. That is, this is a method of processing the respective transactions in parallel by separate processes. However, this multi-tasking method is rarely used for batch jobs. One of the reasons is that the batch job originally had the purpose of processing having a strong sequentiality.

【0005】しかしながら、例えばPという計算処理と
Qという計算処理とがあり、それらの計算が互いに独立
に行える場合、Pという計算処理とQという計算処理と
を行う1つのジョブステップを1つのプロセスで実行す
るよりも、Pという計算処理を行うプロセスとQという
計算処理を行うプロセスとの2つのプロセスで並行処理
する方が計算結果が早く得られる。つまり、バッチジョ
ブにおいてもマルチタスキング手法が有効な場合があ
る。
However, for example, when there is a calculation process of P and a calculation process of Q, and these calculations can be performed independently of each other, one job step for performing the calculation process of P and the calculation process of Q is performed by one process. The calculation result can be obtained earlier by performing parallel processing in two processes, that is, a process for performing the calculation process P and a process for performing the calculation process Q, rather than executing the process. In other words, the multitasking method may be effective in batch jobs as well.

【0006】同様に、上記のPという計算処理を行うジ
ョブステップと、Qという計算処理を行うジョブステッ
プとがある場合、ジョブステップの実行を逐次的に実行
するのではなく、双方のジョブステップに別々のプロセ
スを割り当てて並列して実行させることも考えられる。
Similarly, when there is a job step P for performing the calculation processing and a job step Q for performing the calculation processing, the execution of the job steps is not executed sequentially, but both job steps are executed. It is also possible to allocate different processes and execute them in parallel.

【0007】しかしながら、上記の何れの場合も各ジョ
ブステップでの計算処理が互いに独立に行えるので問題
はないが、先行するジョブステップで生成されたデータ
を後続のジョブステップで処理するようなバッチジョブ
の場合、従来はデータ伝達用に一時ファイルを使用して
いた為に実質的にジョブステップは並行処理されない。
即ち、一時ファイルは、ファイルの構造上の問題によ
り、全てのデータが書き出され、そのファイルが完成し
てからでないと、データの読み込みができないため、先
行するジョブステップが全てのデータを一時ファイルに
書き出した後に、後続するジョブステップがその読み込
みを開始することになり、ジョブステップの実行が逐次
的に成らざるを得ないからである。
However, in any of the above cases, there is no problem because calculation processing in each job step can be performed independently of each other, but a batch job in which data generated in a preceding job step is processed in a succeeding job step In the case of (1), since the conventional method uses a temporary file for data transmission, the job steps are not substantially processed in parallel.
In other words, in the temporary file, because all the data is written out due to the structure of the file and the data cannot be read until the file is completed, the preceding job step writes all the data in the temporary file. This is because the subsequent job step will start to read the job step after writing the job step, and the job steps will have to be executed sequentially.

【0008】そこで本発明の目的は、一時ファイルの代
わりに主記憶上に個々のデータを先入れ先出し形式で格
納するデータ伝達用のバッファを設け、先行するジョブ
ステップと後続のジョブステップとが非同期に個々のデ
ータ単位にデータ伝達し得るようにすることにより、複
数のジョブステップを実質的に同時に並行して動作させ
ることを可能として、バッチジョブの実行時間を短縮し
得るようにしたバッチジョブ実行方式を提供することに
ある。
Therefore, an object of the present invention is to provide a buffer for data transmission for storing individual data in a first-in first-out format on the main memory instead of a temporary file, so that a preceding job step and a succeeding job step are asynchronously separated from each other. The batch job execution method enables multiple job steps to be operated in parallel substantially at the same time by enabling data transmission in each data unit, and the batch job execution time can be shortened. To provide.

【0009】[0009]

【課題を解決するための手段】本発明は上記の目的を達
成するために、複数個のデータを処理して個々のデータ
毎の処理済データを順次に一時ファイルに出力する第1
のジョブステップと、前記一時ファイルから個々の処理
済データを順次に入力して処理する第2のジョブステッ
プとを含むバッチジョブの実行方式において、前記第1
のジョブステップと前記第2のジョブステップとにそれ
ぞれ別々のプロセスを割り当てて並行して動作させるス
テップ並列実行管理部と、前記一時ファイルの代わりに
主記憶上に設けられた先入れ先出し形式のデータ伝達用
バッファと、前記第1のジョブステップに割り当てられ
たプロセスから前記一時ファイルに対する書き込み要求
があったときに出力データを前記データ伝達用バッファ
に順次にキューイングし、前記第2のジョブステップに
割り当てられたプロセスから前記一時ファイルに対する
読み込み要求があったときに前記データ伝達用バッファ
にキューイングされたデータを順次に取り出して前記第
2のジョブステップに割り当てられたプロセスに伝達す
る送信データ管理部とを備えている。
In order to achieve the above-mentioned object, the present invention processes a plurality of data and sequentially outputs processed data of each data to a temporary file.
And a second job step for sequentially inputting and processing individual processed data from the temporary file.
Step parallel execution management section for allocating separate processes to the job step and the second job step to operate in parallel, and for data transmission of the first-in first-out format provided on the main memory instead of the temporary file. A buffer and a process assigned to the first job step sequentially queue output data in the data transmission buffer when a write request is made to the temporary file, and the output data is assigned to the second job step. And a transmission data management unit that sequentially takes out the data queued in the data transmission buffer and transmits the data to the process assigned to the second job step when there is a read request for the temporary file from another process. I have it.

【0010】また、障害発生時等に主記憶上のデータ伝
達用バッファの内容を復元できるようにするために、デ
ータ伝達用バッファの内容の履歴を前記プロセスの動作
と並行して永久ファイルに退避する送信データ退避部を
備えている。そして、障害発生等の原因によりジョブの
実行が停止した後、途中終了したジョブステップの先頭
からジョブを再実行する際、送信データ復旧部が、途中
終了したジョブステップが入力に使用していた一時ファ
イルであって正常終了したジョブステップが出力に使用
していた一時ファイルに対応するデータ伝達用バッファ
の内容の履歴を前記永久ファイルから読み出し、前記正
常終了したジョブステップが出力した全てのデータを格
納したデータ伝達用バッファを主記憶上に復元するよう
にしている。
Further, in order to be able to restore the contents of the data transmission buffer on the main memory when a failure occurs, the history of the contents of the data transmission buffer is saved in a permanent file in parallel with the operation of the process. The transmission data saving unit is provided. After the job execution is stopped due to a cause such as a failure, when the job is re-executed from the beginning of the job step that was halfway completed, the transmission data recovery unit Reads the history of the contents of the data transmission buffer corresponding to the temporary file used for output by the normally ended job step from the permanent file and stores all the data output by the normally ended job step The data transmission buffer is restored to the main memory.

【0011】[0011]

【作用】本発明のバッチジョブ実行方式においては、一
時ファイルの代わりに主記憶上に先入り先出し形式のデ
ータ伝達用バッファが設けられ、ステップ並列実行管理
部が、複数個のデータを処理して個々のデータ毎の処理
済データを順次に出力する第1のジョブステップと、こ
の第1のジョブステップから出力された個々の処理済デ
ータを順次に処理する第2のジョブステップとにそれぞ
れ別々のプロセスを割り当てて並行して動作させ、送信
データ管理部が、第1のジョブステップに割り当てられ
たプロセスから前記一時ファイルに対する書き込み要求
があったときに出力データを前記データ伝達用バッファ
に順次にキューイングし、前記第2のジョブステップに
割り当てられたプロセスから前記一時ファイルに対する
読み込み要求があったときに前記データ伝達用バッファ
にキューイングされたデータを順次に取り出して前記第
2のジョブステップに割り当てられたプロセスに伝達す
る。
In the batch job execution method of the present invention, a buffer for data transmission of a first-in first-out format is provided on the main memory instead of the temporary file, and the step parallel execution management unit processes a plurality of data. A first job step that sequentially outputs processed data for each individual data and a second job step that sequentially processes each processed data output from the first job step are separately provided. Processes are allocated and operated in parallel, and the transmission data management unit sequentially queues output data in the data transmission buffer when there is a write request for the temporary file from the process allocated to the first job step. And a read request for the temporary file is issued from the process assigned to the second job step. Wherein the data transmission buffer retrieves the queued data sequentially transmitted to the processes assigned to the second job step when the.

【0012】[0012]

【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
Embodiments of the present invention will now be described in detail with reference to the drawings.

【0013】図1は本発明のバッチジョブ実行方式の一
実施例のブロック図であり、1は送信データ管理部、2
は送信データ退避部、3は送信データ復旧部、4はジョ
ブ管理手段11およびプロセス管理手段12を含むステ
ップ並列実行管理部、5−1〜5−3は主記憶上のデー
タ伝達用バッファ、6−1〜6−3はプロセス、7はバ
ッチジョブ、7−1〜7−3はバッチジョブ7を構成す
るジョブステップ、8は磁気ディスク媒体等の外部記憶
媒体上の永久ファイル、9はデータ管理部、10はリス
タート制御部、13は不揮発性の制御テーブルである。
このような構成要素は、マルチプロセッサ計算機の如き
複数のプロセスを同時に並行して実行することができる
複数プロセス処理機能搭載計算機上に搭載される。
FIG. 1 is a block diagram of an embodiment of a batch job execution system according to the present invention.
Is a transmission data saving unit, 3 is a transmission data recovery unit, 4 is a step parallel execution management unit including the job management unit 11 and the process management unit 12, 5-1 to 5-3 are data transmission buffers on the main memory, and 6 -1 to 6-3 are processes, 7 is a batch job, 7-1 to 7-3 are job steps constituting the batch job 7, 8 is a permanent file on an external storage medium such as a magnetic disk medium, and 9 is data management. 10 is a restart control unit, and 13 is a non-volatile control table.
Such components are mounted on a computer equipped with a multi-process processing function, such as a multiprocessor computer, capable of simultaneously executing a plurality of processes in parallel.

【0014】図2はバッチジョブ7のジョブステップ7
−1〜7−3で行う処理例の説明図である。同図に示す
ように、ジョブステップ7−1は、複数個のデータA1
〜ANを順次に処理して、個々のデータ毎に処理済デー
タB1〜BNおよび処理済データC1〜CNを生成し、
前者のデータB1〜BNは一時ファイルXに格納し、後
者のデータC1〜CNは一時ファイルYに格納する。ジ
ョブステップ7−2は、一時ファイルXからデータB1
〜BNを順次に入力して処理し、個々のデータ毎に処理
済データD1〜DNを生成して一時ファイルZに格納す
る。ジョブステップ7−3は一時ファイルYおよび一時
ファイルZから処理済データC1〜CN,D1〜DNを
順次に入力して処理する。本実施例では、このような一
時ファイルX,Y,Zを介してデータ授受し合う3つの
ジョブステップ7−1〜7−3を並列に動作させようと
するものである。
FIG. 2 shows job step 7 of batch job 7.
It is explanatory drawing of the process example performed in -1 to 7-3. As shown in the figure, the job step 7-1 includes a plurality of data A1.
~ AN are sequentially processed to generate processed data B1 to BN and processed data C1 to CN for each individual data,
The former data B1 to BN are stored in the temporary file X, and the latter data C1 to CN are stored in the temporary file Y. The job step 7-2 is the data B1 from the temporary file X.
To BN are sequentially input and processed, and processed data D1 to DN are generated for each individual data and stored in the temporary file Z. In job step 7-3, processed data C1 to CN and D1 to DN are sequentially input and processed from the temporary file Y and the temporary file Z. In this embodiment, the three job steps 7-1 to 7-3 for exchanging data via the temporary files X, Y, Z are operated in parallel.

【0015】図3は各ジョブステップ7−1〜7−3の
JCL記述例を示す。ジョブステップ7−1は一時ファ
イルX,Yを使用するので、そのJCL記述には一時フ
ァイルX,Yに関するアサイン文$ASSIGNがあ
り、ジョブステップ7−2は一時ファイルX,Zを使用
するので、そのJCL記述には一時ファイルX,Zに関
するアサイン文$ASSIGNがある。また、ジョブス
テップ7−3は一時ファイルY,Zを使用するので、そ
のJCL記述には一時ファイルY,Zに関するアサイン
文$ASSIGNがある。更に、ジョブステップ7−1
のJCL記述中には、当該ジョブステップ7−1とその
直後のジョブステップ7−2とを並列に動作させること
を指示する文$PARALLELがあり、ジョブステッ
プ7−2のJCL記述中には、当該ジョブステップ7−
2とその直後のジョブステップ7−3とを並列に動作さ
せることを指示する文$PARALLELがある。な
お、ジョブステップ7−3のJCL記述中には文$PA
RALLELはない。
FIG. 3 shows a JCL description example of each job step 7-1 to 7-3. Since the job step 7-1 uses the temporary files X and Y, the JCL description has an assignment statement $ ASSSIGN regarding the temporary files X and Y, and the job step 7-2 uses the temporary files X and Z. The JCL description has an assignment statement $ ASSSIGN regarding temporary files X and Z. Further, since the job step 7-3 uses the temporary files Y and Z, the JCL description has an assignment statement $ ASSSIGN regarding the temporary files Y and Z. Further, job step 7-1
In the JCL description of the job step 7-1 and the job step 7-2 immediately after that, there is a statement $ PARALLEL that instructs to operate in parallel, and in the JCL description of the job step 7-2, Job step 7-
There is a statement $ PARALLEL to instruct that 2 and the job step 7-3 immediately after that be operated in parallel. Note that the statement $ PA is included in the JCL description of job step 7-3.
There is no RALLEL.

【0016】図4はジョブステップ7−1の処理の一例
を示すフローチャートである。同図に示すように、先
ず、一時ファイルX,Yをオープンし(S1)、次にS
YSINファイル等から図2に示したデータA1〜AN
を1データずつ入力し(S2)、所定のデータ処理を行
う(S4)。そして、処理結果のデータを一時ファイル
Xに書き出し(S5)、再びステップS2で入力したデ
ータに対しステップS4とは別のデータ処理を行って
(S6)、その結果のデータを一時ファイルYに書き出
す(S7)。以上を最後のデータANまで実行すると
(S3でYES)、一時ファイルX,Yをクローズし
(S8)、処理を終了する。
FIG. 4 is a flow chart showing an example of the processing of job step 7-1. As shown in the figure, first, the temporary files X and Y are opened (S1), and then S
Data A1 to AN shown in FIG. 2 from a YSIN file or the like
Are input one by one (S2), and predetermined data processing is performed (S4). Then, the data of the processing result is written to the temporary file X (S5), the data input in step S2 is subjected to another data processing different from step S4 (S6), and the resulting data is written to the temporary file Y. (S7). When the above is executed up to the last data AN (YES in S3), the temporary files X and Y are closed (S8), and the process is ended.

【0017】図5はジョブステップ7−2の処理の一例
を示すフローチャートである。先ず、一時ファイルX,
Zをオープンし(S11)、次に一時ファイルXからデ
ータB1〜BNを1つずつ入力し(S12)、所定のデ
ータ処理を行う(S14)。次に、その結果のデータを
一時ファイルZに書き込む(S15)。以上を一時ファ
イルXの最後のデータBNまで実行すると(S13でY
ES)、一時ファイルX,Zをクローズし(S16)、
処理を終了する。
FIG. 5 is a flow chart showing an example of the processing of job step 7-2. First, the temporary file X,
Z is opened (S11), then the data B1 to BN are input one by one from the temporary file X (S12), and predetermined data processing is performed (S14). Next, the resulting data is written to the temporary file Z (S15). When the above is executed up to the last data BN of the temporary file X (Y in S13)
ES), close the temporary files X and Z (S16),
The process ends.

【0018】図6はジョブステップ7−3の処理の一例
を示すフローチャートである。先ず、一時ファイルY,
Zをオープンし(S21)、次に一時ファイルY,Zか
らデータC1〜CN,D1〜DNを1つずつ入力し(S
22,S24)、所定のデータ処理を行う(S25)。
そして、その結果のデータを例えばSYSOUTファイ
ル等に出力する(S26)。以上を一時ファイルYの最
後のデータCNまで実行すると(S23でYES)、一
時ファイルY,Zをクローズし(S27)、処理を終了
する。
FIG. 6 is a flow chart showing an example of the processing of job step 7-3. First, the temporary file Y,
Z is opened (S21), and then data C1 to CN and data D1 to DN are input one by one from the temporary files Y and Z (S21).
22, S24), and predetermined data processing is performed (S25).
Then, the resulting data is output to, for example, a SYSOUT file (S26). When the above is executed up to the last data CN of the temporary file Y (YES in S23), the temporary files Y and Z are closed (S27), and the process ends.

【0019】図7はステップ並列実行管理部4のジョブ
管理手段11の処理例を示すフローチャートである。同
図に示すようにジョブ管理手段11は、バッチジョブ7
のジョブステップ記述(JCL記述)をその先頭より順
に入力し(S31)、入力したジョブステップ記述を解
析して前処理を実行する(S33)。この前処理では、
当該ジョブステップに必要な資源の確保等の処理が行わ
れる。このとき本実施例では、一時ファイルのアサイン
文$ASSIGNが現れたとき、実際に一時ファイルを
確保するのではなく、それに代わって主記憶上にデータ
伝達用バッファを確保する。また、どの一部ファイルに
対しどのデータ伝達用バッファを割り当てたかを示す情
報を作成し、制御テーブル13に設定する。次に、当該
ジョブステップを実行するためのプロセスを割り当て、
プロセス管理手段12に対しそのプロセスの実行を指示
する(S34)。次に、当該ジョブステップ記述中に$
PARALLEL文が存在するか否かを調べることよ
り、後続ジョブステップの並列実行が指示されているか
否かを調べ(S35)、指示されていればステップS3
1に戻って次のジョブステップ記述について上記と同様
な処理を繰り返す。
FIG. 7 is a flowchart showing a processing example of the job management means 11 of the step parallel execution management unit 4. As shown in the figure, the job management unit 11 is configured to execute the batch job 7
The job step description (JCL description) is sequentially input from the beginning (S31), the input job step description is analyzed, and preprocessing is executed (S33). In this pretreatment,
Processing such as securing resources necessary for the job step is performed. At this time, in this embodiment, when the assignment statement $ ASSSIGN of the temporary file appears, the temporary file is not actually reserved, but a data transmission buffer is reserved on the main memory instead. Further, information indicating which data transmission buffer is assigned to which partial file is created and set in the control table 13. Next, assign a process to execute the job step,
The process management means 12 is instructed to execute the process (S34). Next, in the job step description, $
By checking whether or not the PARALLEL statement exists, it is checked whether or not parallel execution of the succeeding job step is instructed (S35), and if instructed, step S3 is performed.
Returning to step 1, the same processing as above is repeated for the next job step description.

【0020】他方、並列実行が指示されていないジョブ
ステップ記述を処理し終えた場合(S35でNO)、上
記実行を開始させたジョブステップ対応のプロセスの実
行終了を待ち合わせ(S36)、何れかのプロセスが終
了すると、その終了したプロセスに対応するジョブステ
ップの後処理を行う(S37)。この後処理では、その
ジョブステップが使用していた資源の解放等を行う。但
し、他のジョブステップと共用される資源であるデータ
伝達用バッファの解放はジョブの終了時までは解放され
ない。次に、他のジョブステップ対応のプロセスのうち
実行中のプロセスが残っているか否かを判別し(S3
8)、残っていればその終了を待ち合わせるためにステ
ップS36へ進む。残っていなければ、ステップS31
に戻って、後続のジョブステップ記述を処理する。
On the other hand, when the job step description for which parallel execution is not instructed has been processed (NO in S35), the completion of the process corresponding to the job step that started the execution is waited for (S36), and either When the process ends, post-processing of job steps corresponding to the ended process is performed (S37). In this post-processing, the resources used by the job step are released. However, the release of the data transmission buffer, which is a resource shared with other job steps, is not released until the end of the job. Next, it is judged whether or not there is a running process among the processes corresponding to other job steps (S3).
8) If there is any, go to step S36 to wait for the end. If not remaining, step S31
And process the subsequent job step description.

【0021】図1に示されるデータ伝達用バッファ5−
1〜5−3は上記のジョブ管理手段11によって一時フ
ァイルの代わりに主記憶上に確保されたもので、データ
伝達用バッファ5−1は一時ファイルXに、データ伝達
用バッファ5−2は一時ファイルYに、データ伝達用バ
ッファ5−3は一時ファイルZに対応している。このよ
うな関係は、図8に示すように制御テーブル13に保持
される。なお、制御テーブル13にはステータスを登録
する欄があり、この欄に送信データ管理部1によってど
の一時ファイルがどのプロセスによって使用中であるか
等のステータスが設定される。
The data transmission buffer 5 shown in FIG.
1 to 5-3 are reserved in the main memory instead of the temporary file by the above-mentioned job managing means 11, the data transmission buffer 5-1 is the temporary file X, and the data transmission buffer 5-2 is the temporary. The data transfer buffer 5-3 corresponds to the file Y, and the temporary file Z corresponds to the data transfer buffer 5-3. Such a relationship is held in the control table 13 as shown in FIG. Note that the control table 13 has a column for registering a status, and in this column, the transmission data management unit 1 sets a status such as which temporary file is being used by which process.

【0022】図9はデータ伝達用バッファ5−1〜5−
3の構成例を示すブロック図であり、各々のデータ伝達
用バッファ5−1〜5−3はキュー511,521,5
31を有している。データ伝達用バッファ5−1へのデ
ータ書き込み時、書き込まれたデータの主記憶上のアド
レスを示すポインタがキュー511にキューイングさ
れ、データの読み出し時には、キュー511からポイン
タがデキューイングされ、そのポインタが指し示すデー
タが読み出し要求元に伝達される。他のデータ伝達用バ
ッファ5−2,5−3も同様の構成を有している。
FIG. 9 shows data transmission buffers 5-1 to 5-
3 is a block diagram showing a configuration example of No. 3, and each of the data transmission buffers 5-1 to 5-3 has queues 511, 521 and
Has 31. When writing data to the data transmission buffer 5-1, a pointer indicating the address on the main memory of the written data is queued in the queue 511, and when reading data, the pointer is dequeued from the queue 511, and the pointer is dequeued. The data pointed to by is transmitted to the read request source. The other data transmission buffers 5-2 and 5-3 also have the same configuration.

【0023】図10〜図13は送信データ管理部1の処
理例を示すフローチャートである。図10に示すよう
に、送信データ管理部1は実行中のプロセスから一時フ
ァイルに対するオープン要求があると、制御テーブル1
3中のオープン要求された一時ファイルに対応するステ
ータス欄に、その要求元が使用中である旨を登録する
(S41)。また図11に示すように、実行中のプロセ
スから一時ファイルに対するクローズ要求があると、制
御テーブル13中のクローズ要求された一時ファイルに
対応するステータス欄に、その要求元が使用を終えた旨
を記述する(S51)。
10 to 13 are flowcharts showing an example of processing of the transmission data management unit 1. As shown in FIG. 10, when there is an open request for a temporary file from the process being executed, the transmission data management unit 1 sends the control table 1
The fact that the request source is in use is registered in the status field corresponding to the open-requested temporary file in 3 (S41). Further, as shown in FIG. 11, when there is a close request for a temporary file from the process being executed, the status column corresponding to the temporary file requested to be closed in the control table 13 indicates that the request source has finished using the file. Describe (S51).

【0024】更に図12に示すように、送信データ管理
部1は実行中のプロセスから一時ファイルに対するデー
タ出力要求があると、制御テーブル13を参照して出力
要求された一時ファイルに対応するデータ伝達用バッフ
ァを認識し(S61)、出力要求されたデータを1オブ
ジェクトとして上記のデータ伝達用バッファに格納する
(S62)。また、図1の送信データ退避部2に、格納
先のデータ伝達用バッファ名と格納したデータとを含む
履歴データを通知する(S63)。
Further, as shown in FIG. 12, when the process being executed issues a data output request for a temporary file, the transmission data management unit 1 refers to the control table 13 and transmits the data corresponding to the temporary file requested to be output. The data buffer is recognized (S61), and the data requested to be output is stored as one object in the data transmission buffer (S62). Further, the transmission data saving unit 2 of FIG. 1 is notified of history data including the data transfer buffer name of the storage destination and the stored data (S63).

【0025】また図13に示すように、送信データ管理
部1は実行中のプロセスから一時ファイルに対するデー
タ入力要求があると、制御テーブル13を参照して入力
要求された一時ファイルに対応するデータ伝達用バッフ
ァを認識し(S71)、そのデータ伝達用バッファから
1つのデータを取り出して要求元に伝達する(S7
3)。このとき、データ伝達用バッファに1つもデータ
が格納されていないときは(S72でNO)、制御テー
ブル13中のそのデータ伝達用バッファに対応するステ
ータス欄の記述に基づき、入力要求元プロセス以外のプ
ロセス(即ち、データ出力元のプロセス)がそのデータ
伝達用バッファの使用を終えたか否かを調べ(S7
4)、使用を終えていなければ所定時間だけ待ち合わせ
て(S75)、再び処理S72から再試行する。他方、
他のプロセスが使用を終えていれば、全てのデータを伝
達し終えたことになるので、入力要求元にデータ終了を
通知する(S76)。
As shown in FIG. 13, when the process being executed issues a data input request for a temporary file, the transmission data management unit 1 refers to the control table 13 and transmits the data corresponding to the temporary file requested. The data buffer is recognized (S71), one data is taken out from the data transmission buffer and transmitted to the request source (S7).
3). At this time, when no data is stored in the data transmission buffer (NO in S72), based on the description in the status column corresponding to the data transmission buffer in the control table 13, the process other than the input request source process is executed. It is checked whether the process (that is, the process of the data output source) has finished using the data transmission buffer (S7).
4) If the use is not completed, the process waits for a predetermined time (S75), and the process S72 is retried again. On the other hand,
If the other processes have finished using the data, it means that all the data has been transmitted, so the end of data is notified to the input request source (S76).

【0026】図14は送信データ退避部2の処理例を示
すフローチャートである。同図に示すように送信データ
退避部2は、送信データ管理部1から履歴データが通知
されると、その履歴データを永久ファイル8に書き込む
(S81)。従って、永久ファイル8には図15に示す
ようにデータ伝達用バッファ名およびデータを含む履歴
データが順次格納されることになる。
FIG. 14 is a flowchart showing a processing example of the transmission data saving unit 2. As shown in the figure, when the transmission data saving unit 2 is notified of the history data by the transmission data management unit 1, the transmission data saving unit 2 writes the history data in the permanent file 8 (S81). Therefore, as shown in FIG. 15, the permanent file 8 sequentially stores history data including a data transmission buffer name and data.

【0027】図16はリスタート制御部10の処理例を
示すフローチャートである。同図に示すようにリスター
ト制御部10は、途中終了したジョブステップの入力用
であって、それを出力用に使用しているジョブステップ
が正常終了している一時ファイルを認識し、それに対応
するデータ伝達用バッファを主記憶に確保し(S9
1)、そのデータ伝達用バッファの格納データを復元す
るよう送信データ復旧部3に要求する(S92)。そし
て、途中終了したジョブステップの先頭からジョブを再
実行するようステップ並列実行管理部4に指示を出す
(S93)。
FIG. 16 is a flowchart showing a processing example of the restart control unit 10. As shown in the figure, the restart control unit 10 recognizes a temporary file for which a job step that has been terminated midway and that uses it for output is recognized as a normal file, and responds to it. A buffer for data transmission to be secured is secured in the main memory (S9
1) The transmission data restoration unit 3 is requested to restore the data stored in the data transmission buffer (S92). Then, the step parallel execution management unit 4 is instructed to re-execute the job from the beginning of the job step that has ended halfway (S93).

【0028】図17は送信データ復旧部3の処理例を示
すフローチャートである。同図に示すように送信データ
復旧部3は、永久ファイル8から復元するデータ伝達用
バッファ名を含む履歴データを全て抽出し(S10
1)、抽出した履歴データ中のデータを、復元するデー
タ伝達用バッファに格納する(S102)。
FIG. 17 is a flow chart showing a processing example of the transmission data restoration unit 3. As shown in the figure, the transmission data restoration unit 3 extracts all history data including the data transmission buffer name to be restored from the permanent file 8 (S10).
1) The data in the extracted history data is stored in the data transmission buffer to be restored (S102).

【0029】以下、上述のように構成された本実施例の
動作を説明する。
The operation of this embodiment having the above-mentioned structure will be described below.

【0030】図3に示したようなジョブ記述が与えられ
てジョブの実行が指示されると、ステップ並列実行管理
部4のジョブ管理手段11はジョブ記述の先頭文から順
に解析を開始する。そして、先頭のジョブステップ記述
を入力すると(図7のS31)、ジョブステップ実行前
処理を行う(S33)。今、先頭のジョブステップがジ
ョブステップ7−1であった場合、その記述中には一時
ファイルX,Yのアサイン文が存在するため、一時ファ
イルXに代えてデータ伝達用バッファ5−1が主記憶上
に確保され、一時ファイルYに代えてデータ伝達用バッ
ファ5−2が主記憶上に確保される。また、一時ファイ
ルXがデータ伝達用バッファ5−1に対応し、一時ファ
イルYがデータ伝達用バッファ5−2に対応しているこ
とが図8に示すように制御テーブル13に登録される。
ジョブステップ実行の前処理が終了すると、次にそのジ
ョブステップ7−1に1つのプロセスが割り当てられ、
プロセス管理手段12に対しプロセスの実行が指示され
る(S34)。今、ジョブステップ7−1に対してプロ
セス6−1が割り当てられたとすると、以後、プロセス
管理手段12の管理の下で、ジョブステップ7−1がプ
ロセス6−1として実行されることになる。
When the job description as shown in FIG. 3 is given and the execution of the job is instructed, the job management means 11 of the step parallel execution management unit 4 starts the analysis in order from the first sentence of the job description. When the top job step description is input (S31 in FIG. 7), job step execution preprocessing is performed (S33). If the first job step is the job step 7-1, the assignment statement of the temporary files X and Y exists in the description, so that the data transmission buffer 5-1 is mainly used instead of the temporary file X. The data transmission buffer 5-2, which is secured in the memory and replaces the temporary file Y, is secured in the main memory. Further, it is registered in the control table 13 that the temporary file X corresponds to the data transmission buffer 5-1 and the temporary file Y corresponds to the data transmission buffer 5-2, as shown in FIG.
When the pre-processing for executing the job step is completed, one process is assigned to the job step 7-1,
The process management means 12 is instructed to execute the process (S34). If the process 6-1 is assigned to the job step 7-1, the job step 7-1 will be executed as the process 6-1 under the control of the process management means 12.

【0031】ジョブ管理手段11は、次にジョブステッ
プ7−1の記述中に$PARALLEL文が存在するか
否かを調べる(S35)。図3の場合、存在するので、
ジョブ管理手段11は次のジョブステップ7−2のジョ
ブステップ記述を入力し(S31)、それを解析して前
処理を行う(S33)。ここでは一時ファイルX,Zが
宣言されているので、それに代わるデータ伝達用バッフ
ァを主記憶上に確保する。但し、一時ファイルXは既に
データ伝達用バッファ5−1として確保済なので、一時
ファイルZに代えて使用するデータ伝達用バッファ5−
3のみを主記憶上に確保する。また、一時ファイルZが
データ伝達用バッファ5−3に対応することを図8に示
すように制御テーブル13に設定する。そして、ジョブ
ステップ7−2に1つのプロセスを割り当て、プロセス
管理手段12の管理の下に実行させる(S34)。従っ
て、ジョブステップ7−2にプロセス6−2が割り当て
られたとすると、ジョブステップ7−2がプロセス6−
2として実行されることになる。
The job managing means 11 next checks whether or not the $ PARALLEL statement is present in the description of the job step 7-1 (S35). In the case of FIG. 3, since it exists,
The job management means 11 inputs the job step description of the next job step 7-2 (S31), analyzes it and performs preprocessing (S33). Since the temporary files X and Z are declared here, a data transmission buffer to replace them is secured in the main memory. However, since the temporary file X has already been secured as the data transmission buffer 5-1, the data transmission buffer 5-used instead of the temporary file Z is used.
Only 3 is reserved in the main memory. Further, the fact that the temporary file Z corresponds to the data transmission buffer 5-3 is set in the control table 13 as shown in FIG. Then, one process is assigned to the job step 7-2 and executed under the control of the process management means 12 (S34). Therefore, if process 6-2 is assigned to job step 7-2, job step 7-2 is assigned to process 6-
It will be executed as 2.

【0032】ジョブ管理手段11は、次にジョブステッ
プ7−2の記述中に$PARALLEL文が存在するの
で、次のジョブステップ7−3のジョブステップ記述を
入力し(S31)、それを解析して前処理を行う(S3
3)。ここでは一時ファイルY,Zが宣言されている
が、それらに対応するデータ伝達用バッファ5−2,5
−3は既に確保済なので、新たなデータ伝達用バッファ
の確保は行わない。そして、ジョブステップ7−3に1
つのプロセス、即ちプロセス6−3を割り当て、プロセ
ス管理手段12の管理の下に実行させる(S34)。
Next, since the $ PARALLEL statement is present in the description of the job step 7-2, the job management means 11 inputs the job step description of the next job step 7-3 (S31) and analyzes it. Pre-processing (S3
3). Although the temporary files Y and Z are declared here, the data transmission buffers 5-2 and 5 corresponding to them are given.
Since -3 has already been reserved, no new data transmission buffer is reserved. Then, in job step 7-3, 1
One process, that is, the process 6-3 is assigned and executed under the control of the process management means 12 (S34).

【0033】次にジョブ管理手段11は、ジョブステッ
プ7−3の記述中に$PARALLEL文が存在するか
否か調べるが(S35)、図3の例では存在しないの
で、プロセス6−1〜6−3の実行終了を待ち合わせる
(S36)。
Next, the job management means 11 checks whether or not the $ PARALLEL statement exists in the description of the job step 7-3 (S35), but since it does not exist in the example of FIG. 3, the processes 6-1 to 6-6 are executed. -3 waits for the end of execution (S36).

【0034】以上の結果、図4に示すような処理を行う
ジョブステップ7−1と、図5に示すような処理を行う
ジョブステップ7−2と、図6に示すような処理を行う
ジョブステップ7−3との3つのジョブステップが同時
に並行して実行されることになる。
As a result, the job step 7-1 for performing the processing as shown in FIG. 4, the job step 7-2 for performing the processing as shown in FIG. 5, and the job step for performing the processing as shown in FIG. Three job steps 7-3 and 7-3 will be simultaneously executed in parallel.

【0035】さて、ジョブステップ7−1の実行体であ
るプロセス6−1の図4の処理において、一時ファイル
X,Yに対するオープン要求があると(S1)、それ
が、ファイル処理全般についてのOS機能部であるデー
タ管理部9に伝達される。データ管理部9はオープン要
求対象のファイル名が制御テーブル13に登録されてい
るか否かを調べ、登録されている場合には制御を送信デ
ータ管理部1に渡す。登録されていないファイルについ
ては従来と同様に処理される。このような切り分けは、
クローズ要求時およびデータ入出力要求時にも行われ
る。従って、一時ファイルX,Yに対するオープン要求
が出された場合、制御が送信データ管理部1に渡り、送
信データ管理部1は図10に示す処理を実行することに
より、制御テーブル13中の一時ファイルX,Yに対応
するステータス欄に、プロセス6−1が使用中である旨
を設定する。
Now, in the process of FIG. 4 of the process 6-1 which is the execution unit of the job step 7-1, when there is an open request for the temporary files X and Y (S1), it is the OS for file processing in general. The data is transmitted to the data management unit 9, which is a functional unit. The data management unit 9 checks whether or not the file name of the open request target is registered in the control table 13, and if registered, passes control to the transmission data management unit 1. Files that are not registered are processed in the same manner as in the past. Such division is
It is also performed at the time of a close request and a data input / output request. Therefore, when an open request is issued to the temporary files X and Y, control is passed to the transmission data management unit 1, and the transmission data management unit 1 executes the processing shown in FIG. In the status column corresponding to X and Y, it is set that the process 6-1 is in use.

【0036】プロセス6−1の処理が進み、図2に示し
た先頭の入力データA1の処理済結果であるデータB1
を一時ファイルXへ出力する要求を出すと、制御が送信
データ管理部1に渡り、送信データ管理部1は、図12
に示すように、制御テーブル13から一時ファイルXに
対応するデータ伝達用バッファ5−1を認識し(S6
1)、出力要求されたデータB1をデータ伝達用バッフ
ァ5−1にキューイングする(S62)。即ち、図9に
示すように、データB1を主記憶上に書き込むと共に、
そのアドレスを示すポインタをキュー511にキューイ
ングする。そして、格納先のデータ伝達用バッファ名と
格納したデータB1とを含む履歴データを送信データ退
避部2に通知する。送信データ退避部2は通知された履
歴データを図15に示すように永久ファイル8に格納す
る(図14のS81)。
The processing of the process 6-1 proceeds, and the data B1 which is the processed result of the leading input data A1 shown in FIG.
When a request to output the data to the temporary file X is issued, the control is transferred to the transmission data management unit 1, and the transmission data management unit 1
As shown in step S6, the data transmission buffer 5-1 corresponding to the temporary file X is recognized from the control table 13 (S6).
1) The output requested data B1 is queued in the data transmission buffer 5-1 (S62). That is, as shown in FIG. 9, while writing the data B1 in the main memory,
The pointer indicating the address is queued in the queue 511. Then, the history data including the data transmission buffer name of the storage destination and the stored data B1 is notified to the transmission data saving unit 2. The transmission data saving unit 2 stores the notified history data in the permanent file 8 as shown in FIG. 15 (S81 in FIG. 14).

【0037】またプロセス6−1がデータA1を処理し
て得たデータC1を一時ファイルYへ出力する要求を出
すと、送信データ管理部1は、制御テーブル13から一
時ファイルYに対応するデータ伝達用バッファ5−2を
認識し、図9に示すようにデータC1を主記憶上に書き
込むと共に、そのアドレスを示すポインタをキュー52
1にキューイングする。そして、格納先のデータ伝達用
バッファ名と格納したデータC1とを含む履歴データを
送信データ退避部2に通知し、送信データ退避部2はこ
の履歴データを永久ファイル8に格納する。
When the process 6-1 issues a request to output the data C1 obtained by processing the data A1 to the temporary file Y, the transmission data management section 1 transmits the data corresponding to the temporary file Y from the control table 13. The data buffer 5-2 is recognized, the data C1 is written in the main memory as shown in FIG.
Queue to 1. Then, history data including the data transmission buffer name of the storage destination and the stored data C1 is notified to the transmission data saving unit 2, and the transmission data saving unit 2 stores the history data in the permanent file 8.

【0038】他方、プロセス6−1と並行して動作して
いるプロセス6−2において、一時ファイルX,Zに対
するオープン要求があると(図5のS11)、送信デー
タ管理部1は制御テーブル13の一時ファイルX,Zに
対応するステータス欄に、プロセス6−2が使用中であ
る旨を設定する。また、プロセス6−1の処理が進み、
一時ファイルXからのデータ入力要求があると(S1
2)、送信データ管理部1は、図13に示すように、制
御テーブル13を参照して一時ファイルXに対応するデ
ータ伝達用バッファ5−1を認識し(S71)、そこに
キューイングされているデータを1つ取り出してプロセ
ス6−2に伝達する(S73)。即ち、図9のキュー5
11からポインタを1つデキューイングし、それが指示
するデータB1をプロセス6−2に伝達する。ここで、
プロセス6−1が最初のデータB1を出力する前にプロ
セス6−2が入力を要求した場合、データ伝達用バッフ
ァ5−1には1つもデータが存在しないため、図13の
S72でNOと判定される。このときは、制御テーブル
13のデータ伝達用バッファ5−1に対応するステータ
ス欄が調べられ、要求元であるプロセス6−2以外のプ
ロセス6−1が未だ使用中であることが確認され、所定
時間の待ち合わせ後にプロセス6−2からの入力要求が
再処理される。この結果、プロセス6−1からデータB
1が出力されると、それがプロセス6−2に伝達される
ことになる。
On the other hand, when there is an open request for the temporary files X and Z in the process 6-2 operating in parallel with the process 6-1 (S11 in FIG. 5), the transmission data management section 1 causes the transmission data management unit 1 In the status column corresponding to the temporary files X and Z, the fact that the process 6-2 is in use is set. In addition, the process 6-1 proceeds,
When there is a data input request from the temporary file X (S1
2) As shown in FIG. 13, the transmission data management unit 1 refers to the control table 13 to recognize the data transmission buffer 5-1 corresponding to the temporary file X (S71), and is queued there. One of the existing data is taken out and transmitted to the process 6-2 (S73). That is, queue 5 in FIG.
One pointer is dequeued from 11, and the data B1 designated by it is transmitted to the process 6-2. here,
If the process 6-2 requests input before the process 6-1 outputs the first data B1, there is no data in the data transmission buffer 5-1. Therefore, it is determined as NO in S72 of FIG. To be done. At this time, the status column corresponding to the data transmission buffer 5-1 of the control table 13 is checked to confirm that the process 6-1 other than the requesting process 6-2 is still in use, and the predetermined value is determined. After waiting for time, the input request from process 6-2 is reprocessed. As a result, data B from process 6-1
When 1 is output, it will be transmitted to process 6-2.

【0039】またプロセス6−2がデータB1を処理し
て得たデータD1を一時ファイルZに出力する要求を出
すと、送信データ管理部1は一時ファイルZに対応する
データ伝達用バッファ5−3にデータD1を格納する。
また、この格納されたデータD1を含む履歴データが送
信データ退避部2によって永久ファイル8に格納され
る。
Further, when the process 6-2 issues a request to output the data D1 obtained by processing the data B1 to the temporary file Z, the transmission data management unit 1 causes the data transmission buffer 5-3 corresponding to the temporary file Z. The data D1 is stored in.
Also, history data including the stored data D1 is stored in the permanent file 8 by the transmission data saving unit 2.

【0040】更にプロセス6−1,6−2と並行して動
作しているプロセス6−3から一時ファイルY,Zのオ
ープン要求があった場合、一時ファイルY,Zからのデ
ータ入力要求があった場合も、前述と同様の処理が行わ
れ、データ伝達用バッファ5−2,5−3から取り出さ
れたデータがプロセス6−3に伝達される。
Further, when there is a request to open the temporary files Y and Z from the process 6-3 operating in parallel with the processes 6-1 and 6-2, there is a data input request from the temporary files Y and Z. Also in the case, the same processing as described above is performed, and the data fetched from the data transmission buffers 5-2 and 5-3 is transmitted to the process 6-3.

【0041】さて、プロセス6−1が図2に示す最後の
データANまで処理し終えたことから、一時ファイル
X,Yのクローズ要求を出すと、送信データ管理部1
は、制御テーブル13中の一時ファイルX,Yに対応す
るステータス欄に、プロセス6−1が使用を終えた旨の
記述を登録する。
Since the process 6-1 has finished processing up to the last data AN shown in FIG. 2, when a close request for the temporary files X and Y is issued, the transmission data management unit 1
Registers in the status column corresponding to the temporary files X and Y in the control table 13 that the process 6-1 has finished using it.

【0042】またプロセス6−2が図2に示す最後のデ
ータBNを処理し終え、一時ファイルXからの次のデー
タの入力要求を行うと、送信データ管理部1は一時ファ
イルXに対応するデータ伝達用バッファ5−1からデー
タを取り出そうとするが、最後のデータBNまで伝達し
終わったので、最早取り出すべきデータは存在しない。
このため、送信データ管理部1は図13のS73からS
74へ進み、制御テーブル13中のデータ伝達用バッフ
ァ5−1に対応するステータス欄を調べる。この時点で
は、プロセス6−1が使用を終えた旨の記述が登録され
ているため、送信データ管理部1は、全てのデータを伝
達し終えた為にデータ伝達用バッファ5−1が空になっ
ていたものと判断し、要求元のプロセス6−2にデータ
が終了した旨を通知する(S76)。これにより、プロ
セス6−2は最後のデータまで処理し終えたことを判別
し(図5のS13)、一時ファイルX,Zのクローズを
要求し、処理を終える。
When the process 6-2 finishes processing the last data BN shown in FIG. 2 and requests the input of the next data from the temporary file X, the transmission data management unit 1 causes the data corresponding to the temporary file X. Data is to be fetched from the transmission buffer 5-1, but since the transmission up to the last data BN has been completed, there is no data to be fetched anymore.
For this reason, the transmission data management unit 1 proceeds from S73 to S73 in FIG.
In step 74, the status column corresponding to the data transmission buffer 5-1 in the control table 13 is checked. At this point, since the description indicating that the process 6-1 has finished using is registered, the transmission data management unit 1 empties the data transmission buffer 5-1 because all the data has been transmitted. Then, the process 6-2 of the request source is notified that the data is completed (S76). Accordingly, the process 6-2 determines that the processing up to the last data has been completed (S13 in FIG. 5), requests the closing of the temporary files X and Z, and ends the processing.

【0043】プロセス6−3が最後の入力データCNを
処理し終えた後の動作も、前述したプロセス6−2の場
合と同じである。
The operation after the process 6-3 finishes processing the last input data CN is also the same as that of the process 6-2 described above.

【0044】以上のようにして、データ伝達用バッファ
5−1〜5−3を使用して非同期にデータ伝達し合いな
がら、3つのプロセス6−1〜6−3、つまり3つの連
続するジョブステップ7−1〜7−3が並行して実行さ
れる。
As described above, three processes 6-1 to 6-3, that is, three continuous job steps are performed while asynchronously transmitting data using the data transmission buffers 5-1 to 5-3. 7-1 to 7-3 are executed in parallel.

【0045】バッチジョブ7はその最後のジョブステッ
プまで正常に実行し終えると、終了する。但し、何れか
のジョブステップの実行途中で障害が発生し、処理の続
行が不可能になると、ジョブの実行は異常終了する。こ
のようなときは、途中終了したジョブステップの先頭か
らジョブを再実行する必要がある。本実施例では、一時
ファイルの代わりに主記憶上のデータ伝達用バッファを
使用しているので、障害発生後の再立ち上げ時に主記憶
上のデータ伝達用バッファの内容は消失する。しかしな
がら、送信データ退避部2によって永久ファイル8に送
信データの履歴が保存されているため、送信データ復旧
部3によって復旧することが可能である。以下、この点
について説明する。
When the batch job 7 has been normally executed up to the last job step, it ends. However, if a failure occurs during the execution of any job step and it becomes impossible to continue the process, the job execution ends abnormally. In such a case, it is necessary to re-execute the job from the beginning of the job step that has ended halfway. In this embodiment, since the data transmission buffer on the main memory is used instead of the temporary file, the contents of the data transmission buffer on the main memory are lost when restarting after a failure. However, since the transmission data history is stored in the permanent file 8 by the transmission data saving unit 2, it can be restored by the transmission data restoring unit 3. Hereinafter, this point will be described.

【0046】リスタート制御部10は、リスタート制御
の一環として、異常終了したジョブの情報を調べて途中
終了したジョブステップを認識し、この途中終了したジ
ョブステップが入力に使用している一時ファイルであっ
て、それを出力用に使用するジョブステップが正常終了
している一時ファイルに対応するデータ伝達用バッファ
を図8の制御テーブル13から調べる。そして、図16
に示すように、そのデータ伝達用バッファを主記憶上に
確保し(S91)、そのデータ伝達用バッファ名を送信
データ復旧部3に通知して復元を要求する(S92)。
また、制御テーブル13中の当該確保したデータ伝達用
バッファに関連する部分のみを残して他は消去し、新た
な制御テーブル13を作成する。送信データ復旧部3
は、図17に示すように、永久ファイル8から、通知さ
れたデータ伝達用バッファ名を含む履歴データを全て抽
出し(S101)、この抽出した履歴データ中のデータ
を、復元要求された主記憶上のデータ伝達バッファに格
納する(S102)。その後、リスタート制御部10
は、途中終了したジョブステップの先頭からジョブを再
実行するようステップ並列実行管理部4に指示する(S
93)。
As a part of the restart control, the restart control section 10 checks the information of the abnormally ended job, recognizes the job step that has ended halfway, and the temporary file used for input by this job step that has ended halfway. That is, the control table 13 of FIG. 8 is searched for the data transmission buffer corresponding to the temporary file for which the job step using it for output has been completed normally. And in FIG.
As shown in FIG. 5, the data transmission buffer is secured in the main memory (S91), the data transmission buffer name is notified to the transmission data restoration unit 3, and restoration is requested (S92).
Further, a new control table 13 is created by leaving only the portion related to the secured data transmission buffer in the control table 13 and deleting the rest. Transmission data recovery unit 3
As shown in FIG. 17, all the history data including the notified data transmission buffer name is extracted from the permanent file 8 (S101), and the data in the extracted history data is requested to be restored in the main memory. The data is stored in the upper data transmission buffer (S102). After that, the restart control unit 10
Instructs the step parallel execution management unit 4 to re-execute the job from the beginning of the job step that was terminated midway (S
93).

【0047】従って、例えばジョブステップ7−1〜7
−3が並行して実行されている状態で、ジョブステップ
7−1のみが正常に終了し、ジョブステップ7−2,7
−3が途中終了した場合、途中終了したジョブステップ
7−2,7−3が入力に使用している一時ファイルであ
って、それを出力用に使用するジョブステップが正常終
了している一時ファイルは、一時ファイルXと一時ファ
イルYなので、それらに対応するデータ伝達用バッファ
5−1,5−2が主記憶上に確保され、送信データ復旧
部3により、永久ファイル8に格納されているデータ伝
達用バッファ5−1の全ての履歴データが抽出されてそ
の中のデータがデータ伝達用バッファ5−1に格納さ
れ、また永久ファイル8に格納されているデータ伝達用
バッファ5−1の全ての履歴データが抽出されてその中
のデータがデータ伝達用バッファ5−2に格納される。
そして、ジョブステップ7−2からジョブが再実行され
る。
Therefore, for example, job steps 7-1 to 7
-3 is being executed in parallel, only job step 7-1 ends normally, and job steps 7-2, 7
-3 is a temporary file that is used for input in the job steps 7-2 and 7-3 that have ended halfway and the job step that uses it for output has ended normally Is the temporary file X and the temporary file Y, the data transmission buffers 5-1 and 5-2 corresponding to them are secured in the main memory, and the data stored in the permanent file 8 by the transmission data restoration unit 3. All the history data of the transmission buffer 5-1 is extracted, the data therein is stored in the data transmission buffer 5-1, and all of the data transmission buffer 5-1 stored in the permanent file 8 is stored. The history data is extracted and the data therein is stored in the data transmission buffer 5-2.
Then, the job is re-executed from job step 7-2.

【0048】以上本発明の実施例について説明したが、
本発明は以上の実施例にのみ限定されずその他各種の付
加変更が可能である。例えば、後続のジョブステップを
並列に実行すべき指示を直前のジョブステップ記述中に
1つのジョブステップ文($PARALLEL)として
挿入したが、ジョブステップ記述間に挿入するようにし
ても良い。また、後続のジョブステップ記述の先頭の$
STEP文中に直前のジョブステップとの同時実行を指
示するパラメータを挿入するようにしても良い。
The embodiments of the present invention have been described above.
The present invention is not limited to the above embodiments, and various other additions and changes can be made. For example, although the instruction to execute the subsequent job steps in parallel is inserted as one job step statement ($ PARALLEL) in the immediately preceding job step description, it may be inserted between the job step descriptions. Also, the leading $ in the following job step description
A parameter for instructing simultaneous execution with the immediately preceding job step may be inserted in the STEP sentence.

【0049】[0049]

【発明の効果】以上説明した本発明のバッチジョブ実行
方式によれば、以下のような効果を得ることができる。
According to the batch job execution system of the present invention described above, the following effects can be obtained.

【0050】ジョブステップ間のデータ伝達用に、個々
のデータを独立してキューイング,デキューイングでき
る主記憶上のデータ伝達用バッファを使用したので、一
時ファイルを使用した場合のように先行するジョブステ
ップが全てのデータを出力した後に後続のジョブステッ
プがデータの読み出しを開始しなければならないような
制約がなくなり、先行するジョブステップが個々の処理
済データを出力する毎に、その処理済データを後続のジ
ョブステップが読み込むことができ、複数のジョブステ
ップを実質的に同時に並行して動作させることが可能と
なる。これにより、バッチジョブ全体の実行時間を短縮
することができる。
For data transmission between job steps, since a data transmission buffer on the main memory that can queue and dequeue individual data independently is used, the preceding job as in the case of using a temporary file is used. Each time the preceding job step outputs individual processed data, the processed job data is output after the step outputs all the data, and the subsequent job step does not have to start reading the data. Subsequent job steps can be read, allowing multiple job steps to operate substantially concurrently in parallel. As a result, the execution time of the entire batch job can be shortened.

【0051】一時ファイルの代わりに主記憶上のデータ
伝達用バッファを使用すると、障害発生時等のデータ消
失が問題となるが、送信データ退避部を備える構成で
は、プロセスの動作と並行してデータ伝達用バッファの
内容の履歴を永久ファイルに退避するので、データ消失
を防止できる。そして、送信データ復旧部を備える構成
では、途中終了したジョブステップが入力用に使用する
一時ファイルに対応するデータ伝達用バッファの内容を
主記憶上に復元することができ、ジョブの再実行に要す
る時間を短縮することができる。
When a data transmission buffer on the main memory is used instead of a temporary file, data loss at the occurrence of a failure becomes a problem. However, with the configuration provided with the transmission data saving unit, data is transferred in parallel with the process operation. Since the history of the contents of the transmission buffer is saved in a permanent file, data loss can be prevented. Further, in the configuration including the transmission data recovery unit, the contents of the data transmission buffer corresponding to the temporary file used for input by the job step that is terminated halfway can be restored in the main memory, and it is necessary to re-execute the job. The time can be shortened.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例のブロック図である。FIG. 1 is a block diagram of one embodiment of the present invention.

【図2】ジョブステップ7−1〜7−3の処理例の説明
図である。
FIG. 2 is an explanatory diagram of a processing example of job steps 7-1 to 7-3.

【図3】ジョブステップ7−1〜7−3のJCL記述例
を示す図である。
FIG. 3 is a diagram showing a JCL description example of job steps 7-1 to 7-3.

【図4】ジョブステップ7−1の処理の一例を示すフロ
ーチャートである。
FIG. 4 is a flowchart showing an example of processing of job step 7-1.

【図5】ジョブステップ7−2の処理の一例を示すフロ
ーチャートである。
FIG. 5 is a flowchart showing an example of processing of job step 7-2.

【図6】ジョブステップ7−3の処理の一例を示すフロ
ーチャートである。
FIG. 6 is a flowchart showing an example of processing of job step 7-3.

【図7】ステップ並列実行管理部のジョブ管理手段の処
理例を示すフローチャートである。
FIG. 7 is a flowchart illustrating a processing example of a job management unit of a step parallel execution management unit.

【図8】制御テーブルの内容例を示す図である。FIG. 8 is a diagram showing an example of contents of a control table.

【図9】データ伝達用バッファ5−1〜5−3の構成例
を示すブロック図である。
FIG. 9 is a block diagram showing a configuration example of data transmission buffers 5-1 to 5-3.

【図10】送信データ管理部のファイルオープン要求時
の処理例を示すフローチャートである。
FIG. 10 is a flowchart showing a processing example when a file open request is made by the transmission data management unit.

【図11】送信データ管理部のファイルクローズ要求時
の処理例を示すフローチャートである。
FIG. 11 is a flowchart showing a processing example when a transmission data management unit requests a file close.

【図12】送信データ管理部のデータ出力要求時の処理
例を示すフローチャートである。
FIG. 12 is a flowchart illustrating a processing example of a transmission data management unit when a data output request is made.

【図13】送信データ管理部のデータ入力要求時の処理
例を示すフローチャートである。
FIG. 13 is a flowchart illustrating a processing example of a transmission data management unit when a data input request is made.

【図14】送信データ退避部の処理例を示すフローチャ
ートである。
FIG. 14 is a flowchart illustrating a processing example of a transmission data saving unit.

【図15】永久ファイルの内容例を示す図である。FIG. 15 is a diagram showing an example of the contents of a permanent file.

【図16】リスタート制御部の処理例を示すフローチャ
ートである。
FIG. 16 is a flowchart illustrating a processing example of a restart control unit.

【図17】送信データ復旧部の処理例を示すフローチャ
ートである。
FIG. 17 is a flowchart illustrating a processing example of a transmission data restoration unit.

【符号の説明】[Explanation of symbols]

1…送信データ管理部 2…送信データ退避部 3…送信データ復旧部 4…ステップ並列実行管理部 5−1〜5−3…データ伝達用バッファ 6−1〜6−3…プロセス 7…バッチジョブ 7−1〜7−3…ジョブステップ 8…永久ファイル 9…データ管理部 10…リスタート制御部 11…ジョブ管理手段 12…プロセス管理手段 13…制御テーブル 1 ... Transmission data management unit 2 ... Transmission data saving unit 3 ... Transmission data restoration unit 4 ... Step parallel execution management unit 5-1 to 5-3 ... Data transmission buffer 6-1 to 6-3 ... Process 7 ... Batch job 7-1 to 7-3 ... Job step 8 ... Permanent file 9 ... Data management unit 10 ... Restart control unit 11 ... Job management unit 12 ... Process management unit 13 ... Control table

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 複数個のデータを処理して個々のデータ
毎の処理済データを順次に一時ファイルに出力する第1
のジョブステップと、前記一時ファイルから個々の処理
済データを順次に入力して処理する第2のジョブステッ
プとを含むバッチジョブの実行方式において、 前記第1のジョブステップと前記第2のジョブステップ
とにそれぞれ別々のプロセスを割り当てて並行して動作
させるステップ並列実行管理部と、 前記一時ファイルの代わりに主記憶上に設けられた先入
れ先出し形式のデータ伝達用バッファと、 前記第1のジョブステップに割り当てられたプロセスか
ら前記一時ファイルに対する書き込み要求があったとき
に出力データを前記データ伝達用バッファに順次にキュ
ーイングし、前記第2のジョブステップに割り当てられ
たプロセスから前記一時ファイルに対する読み込み要求
があったときに前記データ伝達用バッファにキューイン
グされたデータを順次に取り出して前記第2のジョブス
テップに割り当てられたプロセスに伝達する送信データ
管理部とを備えることを特徴とするバッチジョブ実行方
式。
1. A first method for processing a plurality of data and sequentially outputting processed data of each data to a temporary file.
And a second job step for sequentially inputting and processing individual processed data from the temporary file, the first job step and the second job step A step parallel execution management unit that allocates separate processes to and to operate in parallel, a first-in first-out data transmission buffer provided on the main memory instead of the temporary file, and the first job step When there is a write request for the temporary file from the allocated process, output data is sequentially queued in the data transmission buffer, and a read request for the temporary file is issued from the process allocated to the second job step. Queuing in the data transmission buffer when there is Batch job execution method, characterized in that it comprises a transmission data management unit for transmitting the processes assigned to the second job step data by sequentially taken out.
【請求項2】 前記データ伝達用バッファの内容の履歴
を前記プロセスの動作と並行して永久ファイルに退避す
る送信データ退避部を備えることを特徴とする請求項1
記載のバッチジョブ実行方式。
2. A transmission data saving unit for saving the history of the contents of the data transmission buffer to a permanent file in parallel with the operation of the process.
The described batch job execution method.
【請求項3】 障害発生等の原因によりジョブの実行が
停止した後、途中終了したジョブステップの先頭からジ
ョブを再実行する際、途中終了したジョブステップが入
力に使用していた一時ファイルであって正常終了したジ
ョブステップが出力に使用していた一時ファイルに対応
するデータ伝達用バッファの内容の履歴を前記永久ファ
イルから読み出し、前記正常終了したジョブステップが
出力した全てのデータを格納したデータ伝達用バッファ
を主記憶上に復元する送信データ復旧部を備えることを
特徴とする請求項2記載のバッチジョブ実行方式。
3. When a job is re-executed from the beginning of a job step that is terminated after execution of the job is stopped due to a failure or the like, the job step that is terminated is the temporary file used for input. Data transfer that stores all the data output by the normally completed job step by reading the history of the contents of the data transmission buffer corresponding to the temporary file used for output by the normally completed job step from the permanent file 3. The batch job execution method according to claim 2, further comprising a transmission data restoration unit that restores the buffer for main storage in the main memory.
JP25871394A 1994-09-28 1994-09-28 Batch job execution system Pending JPH0895810A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25871394A JPH0895810A (en) 1994-09-28 1994-09-28 Batch job execution system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25871394A JPH0895810A (en) 1994-09-28 1994-09-28 Batch job execution system

Publications (1)

Publication Number Publication Date
JPH0895810A true JPH0895810A (en) 1996-04-12

Family

ID=17324065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25871394A Pending JPH0895810A (en) 1994-09-28 1994-09-28 Batch job execution system

Country Status (1)

Country Link
JP (1) JPH0895810A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197749B2 (en) * 2000-12-19 2007-03-27 Xerox Corporation Method and system for executing batch jobs by delegating work to independent service providers
JP2008234024A (en) * 2007-03-16 2008-10-02 Fujitsu Ltd Batch processing program, batch processing method and batch processing device
JP2009087119A (en) * 2007-10-01 2009-04-23 Hitachi Ltd Operation support program
JP2011039595A (en) * 2009-08-06 2011-02-24 Nec Corp Device, method and program for executing job
WO2013066010A1 (en) * 2011-10-31 2013-05-10 에스케이씨앤씨 주식회사 Method for pre-loading in memory and method for parallel processing for high-volume batch processing
JP2015095134A (en) * 2013-11-13 2015-05-18 株式会社エクサ Screen coordination program and screen coordination system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6345640A (en) * 1986-08-12 1988-02-26 Nippon Telegr & Teleph Corp <Ntt> Process control system
JPH04276831A (en) * 1991-03-04 1992-10-01 Fujitsu Ltd Data processor for message communication base

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6345640A (en) * 1986-08-12 1988-02-26 Nippon Telegr & Teleph Corp <Ntt> Process control system
JPH04276831A (en) * 1991-03-04 1992-10-01 Fujitsu Ltd Data processor for message communication base

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197749B2 (en) * 2000-12-19 2007-03-27 Xerox Corporation Method and system for executing batch jobs by delegating work to independent service providers
JP2008234024A (en) * 2007-03-16 2008-10-02 Fujitsu Ltd Batch processing program, batch processing method and batch processing device
JP2009087119A (en) * 2007-10-01 2009-04-23 Hitachi Ltd Operation support program
JP2011039595A (en) * 2009-08-06 2011-02-24 Nec Corp Device, method and program for executing job
WO2013066010A1 (en) * 2011-10-31 2013-05-10 에스케이씨앤씨 주식회사 Method for pre-loading in memory and method for parallel processing for high-volume batch processing
JP2015095134A (en) * 2013-11-13 2015-05-18 株式会社エクサ Screen coordination program and screen coordination system

Similar Documents

Publication Publication Date Title
JPS58151655A (en) Information processing device
JP3335352B2 (en) Out-of-order job processing method and apparatus
JP6508382B1 (en) INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM
GB2348306A (en) Batch processing of tasks in data processing systems
JPH02120924A (en) Data input/output control system
JPH0895810A (en) Batch job execution system
US8930680B2 (en) Sync-ID for multiple concurrent sync dependencies in an out-of-order store queue
EP0851352B1 (en) Input/output control device and method applied to fault-resilient computer system
CN108958904B (en) Driver framework of lightweight operating system of embedded multi-core central processing unit
JP2671160B2 (en) Exception handling method
JP2814683B2 (en) Instruction processing unit
JPS603229B2 (en) Information processing method
JP5212216B2 (en) Job processing device
JP2575761B2 (en) Job management method
JPH01126738A (en) System for control data set competition in execution of multiple job
EP0290533B1 (en) I/o system for off-loading operating system functions
US6345312B1 (en) Selectively dummying a data pipe transparent to a writer application
JPS6361693B2 (en)
JPH10161915A (en) Data inheriting method for realizing exclusive control giving priority to subsequent job
JPS6052453B2 (en) Process control blocks for computer systems
JPH11272478A (en) Synchronous transfer control system
JPS59163647A (en) Task control method
JP2966431B2 (en) File area clear method in information processing device
JPH01222335A (en) Multi-task processing system
JPS60167037A (en) Emulation system