JPH09269901A - Data transfer method between plural jobs - Google Patents

Data transfer method between plural jobs

Info

Publication number
JPH09269901A
JPH09269901A JP8101849A JP10184996A JPH09269901A JP H09269901 A JPH09269901 A JP H09269901A JP 8101849 A JP8101849 A JP 8101849A JP 10184996 A JP10184996 A JP 10184996A JP H09269901 A JPH09269901 A JP H09269901A
Authority
JP
Japan
Prior art keywords
job
data
jobs
receives
processing
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
JP8101849A
Other languages
Japanese (ja)
Inventor
Masahiro Kiyoi
雅広 清井
Masayuki Inoue
政幸 井上
Takayasu Yamakawa
隆康 山川
Hirofumi Nagasuga
弘文 長須賀
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP8101849A priority Critical patent/JPH09269901A/en
Publication of JPH09269901A publication Critical patent/JPH09269901A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To transfer inter-job data where a subsequent job which receives all generation data of a preceding job and a subsequent job which receives only a part of data coexist. SOLUTION: An open processing execution part 3 stores information on the respective jobs of a processing requesting source in a table 9 as a common information table and an individual information table for the respective jobs, identifies whether the job is that for receiving all data or that receiving only a part of data in the case of the job on a side for receiving data, and records an identification result in the table 9. A job synchronism control part 5 refers to the table 9, writes data into a buffer area 7 with the processing request of the preceding job. It unconditionally transfers data in the buffer area 7 to the subsequent job if the job is that for receiving all data and transfers only data satisfying the condition to the subsequent job among data in the buffer area 7 at the time of the processing request of the subsequent job.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、ジョブ間のデータ
引き継ぎ処理方法に関し、特に、銀行などで利用される
計算機システムにおいて、オンライン処理を実行するジ
ョブからバッチ処理を実行するジョブへのデータの引き
継ぎ処理方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of inheriting data between jobs, and more particularly, in a computer system used in a bank or the like, inheriting data from a job executing online processing to a job executing batch processing. Regarding processing method.

【0002】[0002]

【従来の技術】本発明は、ジョブ間でのデータ引き継ぎ
処理に関するものである。ジョブとは、計算機システム
における処理の単位であり、一つ以上のプログラムから
成り、利用者からジョブ実行の要求があったとき、それ
ぞれのプログラムが逐次、もしくは並行に実行される。
簡単のため、以後、データ引き継ぎ処理において、デー
タを生成する側のジョブを「先行ジョブ」、データを受
け取る側のジョブを「後続ジョブ」と呼ぶ。先行ジョブ
が複数個存在するとき、それらのすべて、もしくは一部
を総称して「先行ジョブ群」と呼ぶことがある。同様
に、複数個の後続ジョブを総称して「後続ジョブ群」と
呼ぶ。
BACKGROUND OF THE INVENTION The present invention relates to a process for taking over data between jobs. A job is a unit of processing in a computer system and is composed of one or more programs. When a user requests a job to be executed, each program is executed sequentially or in parallel.
For the sake of simplicity, hereinafter, in the data transfer process, the job that generates data will be referred to as a “preceding job”, and the job that receives the data will be referred to as a “successor job”. When there are a plurality of preceding jobs, all or some of them may be collectively referred to as a “preceding job group”. Similarly, the plurality of subsequent jobs are collectively referred to as a "successor job group".

【0003】銀行などで利用される計算機システムにお
いては、所定の業務を果たす必要があるとき、それを一
つのプログラムで実行するのではなく、複数のプログラ
ムの組み合わせにより実行することが多い。このとき、
複数個のジョブを連携することにより、一つの業務が完
了する。この処理形態は、異常発生時にその影響を最小
限にとどめることが可能となり、保守性が高い。また、
新規サービス等に伴う業務内容の変更に際しても、既存
プログラム全体を作り直すのではなく、既存のジョブの
間に、新規業務を実行するジョブを追加することで対応
できるため、拡張性にも優れている。しかし、こうした
複数ジョブを組み合わせたシステムの運用形態は、異な
るジョブ間で何からの連携を取る必要から、ジョブ間の
データ引き継ぎ処理を伴う。
In a computer system used in a bank or the like, when it is necessary to perform a predetermined task, the task is often executed not by a single program but by a combination of a plurality of programs. At this time,
One job is completed by linking multiple jobs. This processing mode can minimize the influence of an abnormality when it occurs, and is highly maintainable. Also,
Even when changing the work contents accompanying a new service, it is possible to add jobs to execute new work between existing jobs instead of recreating the entire existing program. . However, the operation mode of the system in which a plurality of jobs are combined involves data transfer processing between jobs because it is necessary to cooperate with different jobs.

【0004】ジョブ間でデータ引き継ぎ処理を行う必要
があるとき、最も一般的には、先行ジョブが、全データ
をファイルという形式で外部記憶装置に格納し、ファイ
ル生成が完了したのちに、後続ジョブが順次ファイル読
み込みを開始する方法が取られている。これに対し、デ
ータ引き継ぎ処理をより高速に実行したいという場合に
利用されるのが、特開平3−46033号公報などに記
された、いわゆる「パイプライン方法」である。当技術
は、先行ジョブと後続ジョブとが、引き継ぎ対象ファイ
ルを同時期にアクセスすることを許可し、レコード(フ
ァイルの構成要素)単位でのジョブ間受け渡しを保証す
る。すなわち、先行ジョブが一つのレコードを生成した
後、後続ジョブより当レコードに対する読み込み要求が
為されたとき、ただちに当レコードを後続ジョブに転送
し、引き続き、以下のレコードも同様にしてジョブ間で
受け渡していく。これにより、データがすべて生成され
るまで後続ジョブ群の処理開始が待たされることを防止
し、データ引き継ぎ処理を行うすべてのジョブ群を並行
して実行できるため、引き継ぎ処理に要する処理時間を
短縮することができる。
When it is necessary to perform data transfer processing between jobs, most commonly, the preceding job stores all the data in the external storage device in the form of a file, and after the file generation is completed, the succeeding job is executed. The method is to start reading files sequentially. On the other hand, a so-called "pipeline method" described in Japanese Patent Laid-Open No. 3-46033 is used when it is desired to execute the data transfer processing at a higher speed. The present technology permits the preceding job and the succeeding job to access the files to be handed over at the same time, and guarantees the passing of jobs between records (components of the file). In other words, when the preceding job generates one record and then the succeeding job issues a read request for this record, this record is immediately transferred to the succeeding job, and the following records are also passed between jobs in the same way. To go. As a result, it is possible to prevent the start of processing of the succeeding job group from being waited until all the data is generated, and it is possible to execute all the job groups that perform the data transfer processing in parallel, thus reducing the processing time required for the transfer processing. be able to.

【0005】また、パイプライン方法では、外部記憶装
置ではなく、主記憶装置またはそれに準ずる補助記憶装
置上に用意したバッファ領域を介して、データをジョブ
間で転送する。外部記憶装置と比べ、データを高速に転
送できる主記憶装置や補助記憶装置を利用することによ
り、更にデータ引き継ぎ処理時間を短縮できる。ただ
し、主記憶装置は外部記憶装置と比べてデータ収容量が
小さく、一般に銀行等の計算機システムでジョブ間引き
継ぎするような膨大な量のデータを、すべてバッファ領
域内に格納することは不可能である。よって、本パイプ
ライン方法では、受け渡しの完了したデータから順次バ
ッファ領域内より削除し、その領域は新しいデータの格
納に再利用する。そのため、本パイプライン方法は、先
行ジョブのデータ書き込み順序と後続ジョブのデータ読
み込み順序が一致していることが、適用の条件となる。
Further, in the pipeline method, data is transferred between jobs via a buffer area prepared on the main storage device or an auxiliary storage device corresponding to the storage device, not on the external storage device. By using the main storage device and the auxiliary storage device that can transfer data at a higher speed than the external storage device, the data transfer processing time can be further shortened. However, the main storage device has a smaller data storage capacity than the external storage device, and it is generally impossible to store a huge amount of data that can be handed over between jobs in a computer system such as a bank in the buffer area. is there. Therefore, in this pipeline method, data that has been transferred is sequentially deleted from the buffer area, and that area is reused for storing new data. Therefore, this pipeline method is applied when the data writing order of the preceding job and the data reading order of the succeeding job are the same.

【0006】パイプライン方法は、当初、一つの先行ジ
ョブから一つの後続ジョブへのデータ引き継ぎ処理に適
用された。しかし、その後、更に処理時間を短縮するた
め、適用対象となるジョブ数を増やす方法が提案されて
きた。その結果、先行ジョブが生成したデータを要求し
ている後続ジョブが複数個存在する場合、それらのすべ
ての後続ジョブに対して同時にデータを受け渡す処理
や、後続ジョブの処理速度が先行ジョブに比べて遅い場
合に、後続ジョブと全く同じ動作をするコピージョブを
用意し、後続ジョブとコピージョブとにデータを分割し
て受け渡すことにより引き継ぎ時間を短縮する処理に
も、パイプライン方法が適用可能である。
[0006] The pipeline method was originally applied to the data transfer processing from one preceding job to one succeeding job. However, thereafter, in order to further reduce the processing time, a method of increasing the number of jobs to be applied has been proposed. As a result, when there are multiple successor jobs requesting the data generated by the preceding job, the processing to pass the data to all of the succeeding jobs at the same time and the processing speed of the succeeding jobs are faster than the preceding job. If the job is slow and slow, prepare a copy job that operates exactly the same as the succeeding job and divide the data into the succeeding job and the copy job to pass the data to shorten the transfer time. Is.

【0007】[0007]

【発明が解決しようとする課題】銀行など金融系の計算
機システム運用は、昼間のオンライン処理と、夜間のバ
ッチ処理とに二分される。オンライン処理とは、現金引
き落とし、為替振り替えなどの利用者の依頼を処理する
ものであり、一方バッチ処理は、主として昼間のオンラ
イン処理の処理内容を集計するものである。バッチ処理
は、オンライン処理の終了を待って開始されることが多
いが、現在、銀行のオンライン処理業務を無停止運用
(24時間運用)することへの要求が高まりつつある。
このような運用においては、オンライン処理実行途中か
ら、順次、実行履歴データをバッチ処理を実行するジョ
ブへと受け渡さなければならない。このとき、オンライ
ン処理の遅延を防ぐためには、オンライン処理、バッチ
処理間のデータの受け渡しには前述のパイプライン方法
を用いることが望ましい。
The operation of financial computer systems such as banks is divided into online processing during the day and batch processing during the night. The online processing is to process user requests such as cash withdrawal and money transfer, while the batch processing is mainly to summarize the processing contents of the daytime online processing. Batch processing is often started after waiting for the end of online processing, but at present, there is an increasing demand for non-stop operation (24-hour operation) of online processing operations of banks.
In such an operation, the execution history data must be sequentially passed to the job that executes the batch processing during the execution of the online processing. At this time, in order to prevent a delay in online processing, it is desirable to use the above-mentioned pipeline method for data transfer between online processing and batch processing.

【0008】また、バッチ処理を高速に実行するため、
オンライン処理の実行履歴データをいくつかのグループ
に分割し、そのそれぞれに対して部分的にバッチ処理
(集計処理)を実行する手法が用いられることがある。
こうしたバッチ処理の運用形態では、前述のようにオン
ライン処理からバッチ処理へと、パイプライン方法を用
いて順次データを受け渡す際、受け渡しの時点で各バッ
チ処理へのデータ分散を実現できれば、より処理時間は
短縮できる。
Further, in order to execute batch processing at high speed,
A method may be used in which the execution history data of online processing is divided into several groups, and batch processing (aggregation processing) is partially executed for each of the groups.
In the operation mode of such batch processing, when data is sequentially transferred using the pipeline method from online processing to batch processing as described above, if data distribution to each batch processing can be realized at the time of transfer, more processing will be performed. The time can be shortened.

【0009】一方、銀行などの金融系システムは、特に
高度の信頼性が求められる。そのため、場合によって
は、オンライン処理の実行履歴データを一定期間の間、
保存しなければならないことがある。ところが、上で示
したように、オンライン処理からバッチ処理へとパイプ
ライン方法を用いてデータを受け渡し、かつ、複数のバ
ッチ処理ジョブへとデータを分割して受け渡す場合を考
えると、各バッチ処理ジョブへのデータ分割転送と、そ
れとは別に外部記憶装置に全データを一括転送する必要
がある。ところが、従来のパイプライン方法には、この
ような処理を実現することができなかった。
On the other hand, financial systems such as banks require particularly high reliability. Therefore, in some cases, the online processing execution history data
You may need to save. However, as shown above, considering the case where data is transferred using a pipeline method from online processing to batch processing, and when data is divided and transferred to multiple batch processing jobs, each batch processing It is necessary to transfer all the data to the external storage device at a time separately from the data division transfer to the job. However, such processing cannot be realized by the conventional pipeline method.

【0010】そのため、複数のバッチ処理にデータを分
割して受け渡し、かつ、受け渡し対象データを一括して
保存する必要がある場合には、高速なパイプライン方法
を用いたジョブ間のデータ受け渡しを適用することがで
きなかった。この場合、受け渡し対象データをいったん
外部記憶装置に格納し、全データ生成後、各バッチ処理
にデータを振り分けなければならない。もしくは、パイ
プライン方法を利用して各バッチ処理にデータを受け渡
したのち、それぞれのバッチ処理において個別にデータ
を保存する処理も考えられるが、この場合、オンライン
実行履歴データを分割したのちに保存することになり、
信頼性は著しく損なわれる。また、分割の内容によって
は、それぞれのバッチ処理ごとに受け渡しデータを保存
したのでは、元の実行履歴データを復元できないことも
ある。
Therefore, when it is necessary to divide the data into a plurality of batch processes and transfer the data and to store the data to be transferred in a batch, the data transfer between jobs using a high-speed pipeline method is applied. I couldn't. In this case, the data to be delivered must be temporarily stored in the external storage device, and after all data has been generated, the data must be distributed to each batch process. Alternatively, you can use a pipeline method to pass data to each batch process, and then save the data individually in each batch process. In this case, save the online execution history data after dividing it. And then
Reliability is severely compromised. Further, depending on the contents of the division, it may not be possible to restore the original execution history data by saving the delivery data for each batch process.

【0011】更に、オンライン処理の利用は年々増加の
一途をたどっており、それに対処するため、オンライン
処理用の計算機を複数個用意し、負荷分散を図る形態の
計算機システムも現われてきている。このような計算機
システムでは、オンライン処理の実行履歴データをバッ
チ処理側に受け渡す前に、各オンライン計算機の実行履
歴データをひとつにまとめる必要がある。現在のよう
に、オンライン処理の終了後にバッチ処理が始まる運用
形態であれば、バッチ処理の実行開始時に、各オンライ
ン処理の実行履歴データをまとめることが可能であっ
た。しかし、パイプライン方法を用いて直接オンライン
処理からバッチ処理へとデータを受け渡す場合には、複
数のジョブ(オンライン処理側)からデータを受け取っ
たのち、これらのデータを一定の基準のもとにひとつに
まとめ、更に別の基準に従い複数のジョブ(バッチ処理
側)にデータを分割して渡すと同時に、全データを一括
して外部記憶装置に保存するといった複雑な処理が、パ
イプライン方法に対して要求される。従来のパイプライ
ン方法には、このような処理を実現する機能はない。
Further, the use of online processing has been increasing year by year, and in order to cope with this, a computer system in which a plurality of computers for online processing are prepared and the load is distributed has appeared. In such a computer system, it is necessary to combine the execution history data of each online computer into one before passing the execution history data of the online processing to the batch processing side. If the operation mode is such that the batch processing starts after the completion of the online processing, it is possible to collect the execution history data of each online processing at the start of the execution of the batch processing. However, when directly transferring data from online processing to batch processing using the pipeline method, after receiving data from multiple jobs (online processing side), these data are set according to a certain standard. In comparison with the pipeline method, complicated processing such as dividing the data into multiple jobs (batch processing side) according to another standard and passing it at the same time, and saving all the data to the external storage device at once Required. The conventional pipeline method does not have a function for realizing such processing.

【0012】このように、特に将来発生しうる銀行オン
ライン処理の無停止運用(24時間運用)において、複
数のオンライン処理ジョブから複数のバッチ処理ジョブ
へとデータを受け渡す処理にも広くパイプライン方法を
適用可能とすることが課題となっている。
As described above, particularly in the non-stop operation (24-hour operation) of bank online processing that may occur in the future, a pipeline method is widely used for the processing of transferring data from a plurality of online processing jobs to a plurality of batch processing jobs. To be applicable is an issue.

【0013】[0013]

【課題を解決するための手段】前記課題を解決するた
め、本発明は、一つ以上のジョブが生成する一つ以上の
データを、一つ以上のジョブが受け取る必要があると
き、データを生成するジョブ、データを受け取るジョブ
のすべてを並行に実行する機能、及び、主記憶装置また
はそれに準ずる補助記憶装置上に用意したバッファ領域
を介し、データを生成するジョブからデータを受け取る
ジョブへ、すべてのデータ生成が完了しなくとも、生成
済みのデータから順次受け渡し処理を実行する機能を有
する計算機システムにおいて、データを生成する側の全
てのジョブによって生成されたデータを一つ以上のグル
ープに分類するための分類基準を予め設定し、データを
受け取る側のすべてのジョブを、全データを受け取るジ
ョブと、前記分類基準で分類されたいずれかのグループ
に属するデータのみを受け取るジョブとに分類し、該分
類に従い各ジョブのジョブ制御文を定義しておき、デー
タを生成する側の各ジョブによって生成されたデータを
前記バッファ領域に格納し、データを受け取る側のジョ
ブから、データ受け取りの要求がなされたとき、該ジョ
ブが、前記全データを受け取るジョブであるか、もしく
は、前記いずれかのグループに属するデータのみを受け
取るジョブであるかを判定し、該判定の結果、前記デー
タを受け取る側のジョブが全データを受け取るジョブで
あると判定された場合、該ジョブに対して前記バッファ
領域を介して生成済みのデータをすべて受け渡し、前記
判定の結果、前記データを受け取る側のジョブがいずれ
かのグループに属するデータのみを受け取るジョブであ
ると判定された場合、該ジョブの受け取るグループのデ
ータのみを前記バッファ領域を介して該ジョブに対して
受け渡すようにしている。
In order to solve the above problems, the present invention generates data when one or more jobs need to receive one or more data generated by one or more jobs. Jobs that receive data, a function that executes all jobs that receive data in parallel, and a job that receives data from jobs that generate data via a buffer area prepared on the main storage device or an auxiliary storage device that is similar to that To classify the data generated by all jobs on the data generating side into one or more groups in the computer system that has the function of sequentially passing the generated data even if the data generation is not completed. The classification standard is set in advance, all jobs on the data receiving side are classified into Jobs that receive only data that belong to one of the classified groups are defined, job control statements for each job are defined according to the classification, and the data generated by each job on the data generating side is stored in the buffer. A job that stores data in a region and receives data from a job that receives the data, is a job that receives all the data, or a job that receives only data that belongs to any one of the groups. If it is determined that the job that receives the data is a job that receives all data as a result of the determination, all data that has been generated via the buffer area for the job is As a result of the above-mentioned determination, the job receiving the data receives only the data belonging to any group. If it is determined that the job that has been so passed against the job only data of the group receiving the said job via the buffer area.

【0014】さらに、前記各ジョブのジョブ制御文の定
義おいて、データを受け取る側のジョブが、全データを
受け取るジョブであるか、もしくは、いずれかのグルー
プに属するデータのみを受け取るジョブであるかの指定
を、該ジョブのジョブ制御文内に記述し、さらに、デー
タを受け取る側のジョブが、いずれかのグループに属す
るデータのみを受け取るジョブであると指定された場合
には、該ジョブが受け取るグループの種類も、該ジョブ
のジョブ制御文内に記述しておくようにしている。
Further, in the definition of the job control statement of each job, whether the job receiving data is a job receiving all data or a job receiving only data belonging to any group. Is specified in the job control statement of the job, and when the job that receives the data is specified as a job that receives only data belonging to any group, the job receives it. The type of group is also described in the job control statement of the job.

【0015】さらに、データを生成するジョブのジョブ
制御文内に、データを生成するジョブの数、全データを
受け取るジョブの数、特定のグループに属するデータの
みを受け取るジョブの数の指定を記述しておき、データ
を生成するジョブから見たとき(前記バッファ領域内
に)できる引き継ぎ対象ファイルに対するアクセス済み
のジョブ数を、データを生成するジョブ、全データを受
け取るジョブ、特定のグループに属するデータのみを受
け取るジョブのそれぞれに分けて記録し、引き継ぎ対象
ファイルに対して新しいジョブがアクセスするごとに、
同ジョブがデータを生成する側のジョブであるか、全デ
ータを受け取るジョブであるか、特定のグループに属す
るデータのみを受け取るジョブであるかを判定し、該判
定において、新規にアクセスしたジョブがデータを生成
する側のジョブであると判定された場合には、前記デー
タを生成するジョブのジョブ制御文内に記述されたデー
タを生成するジョブの数と、前記記録されたアクセス済
みのデータを生成するジョブの数を比較し、アクセス済
みのデータを生成するジョブ数がジョブ制御文で記述さ
れたデータを生成するジョブ数より小さいとき、該新規
ジョブのアクセスを許可し、アクセス済みのデータを生
成するジョブ数に1を加算し、等しいとき、該新規ジョ
ブのアクセスを拒否し、同ジョブを異常終了し、前記判
定において、前記引き継ぎ対象ファイルに対して新規に
アクセスしたジョブが全データを受け取るジョブである
と判定された場合には、前記データを生成するジョブの
ジョブ制御文内に記述された全データを受け取るジョブ
数と、前記記録されたアクセス済みの全データを受け取
るジョブ数を比較し、アクセス済みの全データを受け取
るジョブ数がジョブ制御文で記述された全データを受け
取るジョブ数より小さいとき、該新規ジョブのアクセス
を許可し、アクセス済みの全データを生成するジョブ数
に1を加算し、等しいとき、該新規ジョブのアクセスを
拒否し、同ジョブを異常終了し、前記判定において、前
記引き継ぎ対象ファイルに対して新規にアクセスしたジ
ョブが特定のグループに属するデータのみを受け取るジ
ョブであると判定された場合には、前記データを生成す
るジョブのジョブ制御文内に記述された特定のグループ
に属するデータのみを受け取るジョブ数と、前記記録さ
れたアクセス済みの特定のグループに属するデータのみ
を受け取るジョブ数を比較し、アクセス済みの特定のグ
ループに属するデータのみを受け取るジョブ数がジョブ
制御文で記述された特定のグループに属するデータのみ
を受け取るジョブ数より小さいとき、該新規ジョブのア
クセスを許可し、アクセス済みの特定のグループに属す
るデータのみを生成するジョブ数に1を加算し、等しい
とき、該新規ジョブのアクセスを拒否し、同ジョブを異
常終了するようにしている。
Further, in the job control statement of the data generating job, the number of jobs generating data, the number of jobs receiving all data, and the number of jobs receiving only data belonging to a specific group are specified. The number of jobs that have been accessed for the files to be inherited that can be seen from the job that generates data (in the buffer area) is defined as the job that generates data, the job that receives all data, and the data that belongs to a specific group. Are recorded separately for each job that receives, and each time a new job accesses the file to be inherited,
It is determined whether the job is a job that generates data, a job that receives all data, or a job that receives only data belonging to a specific group, and in the determination, the newly accessed job is If it is determined that the job is a data generating job, the number of jobs that generate the data described in the job control statement of the data generating job and the recorded accessed data are compared. When the number of jobs to be generated is compared and the number of jobs to generate the accessed data is smaller than the number of jobs to generate the data described in the job control statement, access of the new job is permitted and the accessed data is When 1 is added to the number of jobs to be generated and when they are equal, access to the new job is denied, the same job is abnormally terminated, When it is determined that the job that newly accessed the file to be connected is a job that receives all data, the number of jobs that receive all the data described in the job control statement of the job that generates the data and , Comparing the number of jobs receiving all the recorded accessed data, and accessing the new job when the number of jobs receiving all accessed data is smaller than the number of jobs receiving all the data described in the job control statement. Is permitted, and 1 is added to the number of jobs that generate all accessed data. When they are equal, the access of the new job is denied, the same job is abnormally terminated, and in the determination, for the file to be taken over. If it is determined that the newly accessed job is a job that receives only data belonging to a specific group, Compare the number of jobs that receive only the data belonging to the specific group described in the job control statement of the job that generates the data and the number of jobs that receive only the data that belongs to the recorded and accessed specific group, When the number of jobs that receive only the data that belongs to the accessed specific group is smaller than the number of jobs that receive only the data that belongs to the specific group described in the job control statement, the access of the new job is permitted and the accessed specific 1 is added to the number of jobs that generate only data belonging to the group, and when they are equal, access to the new job is denied and the job is abnormally terminated.

【0016】また、一つ以上のジョブが生成する一つ以
上のデータを、一つ以上のジョブが受け取る必要がある
とき、データを生成するジョブ、データを受け取るジョ
ブのすべてを並行に実行する機能、及び、主記憶装置ま
たはそれに準ずる補助記憶装置上に用意したバッファ領
域を介し、データを生成するジョブからデータを受け取
るジョブへ、すべてのデータ生成が完了しなくとも、生
成済みのデータから順次受け渡し処理を実行する機能を
有する計算機システムにおいて、データを受け取る側の
すべてのジョブを、全データを受け取るジョブと、一部
のデータのみを受け取るジョブとに分類し、該分類に従
い各ジョブのジョブ制御文を定義し、一部のデータのみ
を受け取るジョブのジョブ制御文には受け取るデータの
条件を指定しておき、データを生成する側の各ジョブに
よって生成されたデータを前記バッファ領域に格納し、
データを受け取る側のジョブから、データ受け取りの要
求がなされたとき、該ジョブが、前記全データを受け取
るジョブであるか、もしくは、前記一部のデータのみを
受け取るジョブであるかを判定し、該判定の結果、前記
データを受け取る側のジョブが全データを受け取るジョ
ブであると判定された場合、該ジョブに対して前記バッ
ファ領域を介して生成済みのデータをすべて受け渡し、
前記判定の結果、前記データを受け取る側のジョブが前
記一部のデータのみを受け取るジョブであると判定され
た場合、前記受け取るデータの条件を満たすデータのみ
を前記バッファ領域を介して該ジョブに対して受け渡す
ようにしているる。
Further, when one or more jobs need to receive one or more data generated by one or more jobs, a function for executing all the jobs for generating data and the jobs for receiving data in parallel. , And through the buffer area prepared on the main memory device or its equivalent auxiliary memory device, to the job that receives the data from the job that generates the data, even if all the data generation is not completed In a computer system having a function of executing processing, all jobs that receive data are classified into jobs that receive all data and jobs that receive only part of the data, and the job control statements for each job are classified according to the classification. Defined in the job control statement of the job that receives only some data. Stores data generated by each job on the side that generates data in the buffer area,
When a data reception request is made by the job receiving the data, it is determined whether the job is a job that receives all the data or a job that receives only the part of the data. As a result of the determination, when it is determined that the job that receives the data is a job that receives all the data, all the generated data is passed to the job via the buffer area,
As a result of the determination, when it is determined that the job receiving the data is a job receiving only the partial data, only the data satisfying the condition of the received data is sent to the job via the buffer area. I will try to deliver it.

【0017】さらに、前記各ジョブのジョブ制御文の定
義おいて、データを受け取る側のジョブが、全データを
受け取るジョブであるか、もしくは、一部のデータのみ
を受け取るジョブであるかの指定を、該ジョブのジョブ
制御文内に記述し、さらに、データを受け取る側のジョ
ブが、一部のデータのみを受け取るジョブであると指定
された場合には、該ジョブが受け取るデータの条件を、
該ジョブのジョブ制御文内に記述しておくようにしてい
る。
Further, in the definition of the job control statement of each job, it is specified whether the job receiving the data is a job receiving all the data or a job receiving only a part of the data. , In the job control statement of the job, and when the job receiving the data is designated as a job that receives only a part of the data, the condition of the data received by the job is
It is described in the job control statement of the job.

【0018】さらに、データを生成するジョブのジョブ
制御文内に、データを生成するジョブの数、全データを
受け取るジョブの数、一部のデータのみを受け取るジョ
ブの数の指定を記述しておき、データを生成するジョブ
から見たとき(前記バッファ領域内に)できる引き継ぎ
対象ファイルに対するアクセス済みのジョブ数を、デー
タを生成するジョブ、全データを受け取るジョブ、一部
のデータのみを受け取るジョブのそれぞれに分けて記録
し、引き継ぎ対象ファイルに対して新しいジョブがアク
セスするごとに、同ジョブがデータを生成する側のジョ
ブであるか、全データを受け取るジョブであるか、特定
のグループに属するデータのみを受け取るジョブである
かを判定し、該判定において、新規にアクセスしたジョ
ブがデータを生成する側のジョブであると判定された場
合には、前記データを生成するジョブのジョブ制御文内
に記述されたデータを生成するジョブの数と、前記記録
されたアクセス済みのデータを生成するジョブの数を比
較し、アクセス済みのデータを生成するジョブ数がジョ
ブ制御文で記述されたデータを生成するジョブ数より小
さいとき、該新規ジョブのアクセスを許可し、アクセス
済みのデータを生成するジョブ数に1を加算し、等しい
とき、該新規ジョブのアクセスを拒否し、同ジョブを異
常終了し、前記判定において、前記引き継ぎ対象ファイ
ルに対して新規にアクセスしたジョブが全データを受け
取るジョブであると判定された場合には、前記データを
生成するジョブのジョブ制御文内に記述された全データ
を受け取るジョブ数と、前記記録されたアクセス済みの
全データを受け取るジョブ数を比較し、アクセス済みの
全データを受け取るジョブ数がジョブ制御文で記述され
た全データを受け取るジョブ数より小さいとき、該新規
ジョブのアクセスを許可し、アクセス済みの全データを
生成するジョブ数に1を加算し、等しいとき、該新規ジ
ョブのアクセスを拒否し、同ジョブを異常終了し、前記
判定において、前記引き継ぎ対象ファイルに対して新規
にアクセスしたジョブが一部のデータのみを受け取るジ
ョブであると判定された場合には、前記データを生成す
るジョブのジョブ制御文内に記述された特定のグループ
に属するデータのみを受け取るジョブ数と、前記記録さ
れたアクセス済みの一部のデータのみを受け取るジョブ
数を比較し、アクセス済みの一部のデータのみを受け取
るジョブ数がジョブ制御文で記述された一部のデータの
みを受け取るジョブ数より小さいとき、該新規ジョブの
アクセスを許可し、アクセス済みの一部のデータのみを
受け取るジョブ数に1を加算し、等しいとき、該新規ジ
ョブのアクセスを拒否し、同ジョブを異常終了するよう
にしている。
Further, in the job control statement of the job for generating data, the number of jobs for generating data, the number of jobs for receiving all data, and the number of jobs for receiving only some data are described. , The number of jobs that have been accessed for the files to be taken over that can be seen from the job that generates data (in the buffer area), the job that generates data, the job that receives all data, and the job that receives only some data Data is recorded separately, and each time a new job accesses the file to be inherited, the job is a job that generates data, a job that receives all data, or data that belongs to a specific group. It is determined whether the job is a job that receives only, and in the determination, the newly accessed job generates data. If it is determined that the job is a job of the data generating side, the number of jobs that generate the data described in the job control statement of the job that generates the data and the job that generates the recorded accessed data. The number of jobs that generate the accessed data is smaller than the number of jobs that generate the data described in the job control statement, the new job is permitted to access and the accessed data is generated. When the number is equal to 1, and when they are equal, access to the new job is denied, the job is abnormally terminated, and in the determination, the job newly accessed to the takeover target file is a job that receives all data. If it is determined that the number of jobs that receive all the data described in the job control statement of the job that generates the data, Compare the number of jobs that receive all the accessed data, and when the number of jobs that receive all the accessed data is less than the number of jobs that receive all the data described in the job control statement, permit access to the new job, When 1 is added to the number of jobs that generate all the accessed data, the access of the new job is denied, the same job is abnormally terminated, and the transfer target file is newly accessed in the determination. If it is determined that the job is a job that receives only a part of the data, the number of jobs that receives only the data that belongs to the specific group described in the job control statement of the job that generates the data, and the record Compare the number of jobs that receive only some accessed data and receive only some accessed data If the number of jobs to be received is less than the number of jobs that receive only part of the data described in the job control statement, access to the new job is permitted, and 1 is added to the number of jobs that receive only part of the accessed data. , And when they are equal, the access of the new job is denied and the same job is abnormally terminated.

【0019】また、一つ以上の計算機が、制御計算機を
介して互いに連携を取り、全体としてあたかも一つの計
算機として処理を制御することが可能な計算機システム
において、それぞれ異なる計算機内で実行されている一
つ以上のジョブが生成する一つ以上のデータを、それら
のジョブを実行する計算機とは異なる計算機内で実行さ
れている一つ以上のジョブに受け渡す処理を前記制御計
算機を介して行い、該制御計算機を介してジョブを受け
渡す処理に、前記したいずれかの複数ジョブ間データ引
き継ぎ方法を適用するようにしている。
Further, in a computer system in which one or more computers can cooperate with each other via a control computer and control the processing as one computer as a whole, they are executed in different computers. One or more data generated by one or more jobs, through the control computer, a process of delivering to one or more jobs executed in a computer different from the computer that executes those jobs, Any of the above-described data transfer methods between a plurality of jobs is applied to the process of transferring a job via the control computer.

【0020】[0020]

【発明の実施の形態】以下、本発明の実施例を、図を用
いて詳細に説明する。図1は、本発明の原理図である。
図1において、1はパイプライン実行制御部であり、処
理受け付け部2、オープン処理実行部3、クローズ処理
実行部4、ジョブ同期制御部5、データ入出力制御部
6、バッファ領域7、パイプライン情報格納領域8を含
む。それぞれの関係および動作については、のちほど詳
細に説明する。9はパイプライン情報格納テーブルであ
り、データ引き継ぎ処理を正常に実行するために必要な
各種情報を格納する記憶域であり、前述のパイプライン
情報格納領域8内に作成される。同テーブル9の詳しい
構成は、のちほど図5を用いて説明する。10は1つ以
上の先行ジョブであり、本発明を利用したジョブ間のデ
ータ引き継ぎ処理を実行するジョブのうち、引き継ぎデ
ータを作成する側のジョブ群である。11は1つ以上の
後続ジョブであり、本発明を利用したジョブ間のデータ
引き継ぎ処理を実行するジョブのうち、引き継ぎデータ
を受け取る側のジョブ群である。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described in detail below with reference to the drawings. FIG. 1 is a diagram illustrating the principle of the present invention.
In FIG. 1, reference numeral 1 denotes a pipeline execution control unit, which includes a process reception unit 2, an open process execution unit 3, a close process execution unit 4, a job synchronization control unit 5, a data input / output control unit 6, a buffer area 7, and a pipeline. The information storage area 8 is included. The relationship and operation of each will be described in detail later. Reference numeral 9 denotes a pipeline information storage table, which is a storage area for storing various types of information necessary for normally executing the data transfer processing, and is created in the pipeline information storage area 8 described above. The detailed configuration of the table 9 will be described later with reference to FIG. Reference numeral 10 denotes one or more preceding jobs, which is a group of jobs on the side that creates takeover data among jobs that execute data takeover processing between jobs using the present invention. Reference numeral 11 denotes one or more succeeding jobs, which is a group of jobs on the side that receives the inherited data among the jobs that execute the data inheritance process between jobs using the present invention.

【0021】先行ジョブ10、後続ジョブ11からの処
理依頼は、処理受け付け部2が受け付ける。各ジョブか
らパイプライン実行制御部1への処理依頼は、ファイル
オープン処理依頼、ファイルクローズ処理依頼、データ
書き込み(ライト、ゲット等)処理依頼、データ読み込
み(リード、プット等)処理依頼の四種類である。処理
要求を受け取った処理解析部2は、依頼の内容が、上記
の四種類のいずれであるかを解析し、ファイルオープン
処理依頼であればオープン処理実行部3を呼び出し、同
様にしてファイルクローズ処理依頼であればクローズ処
理実行部4を呼び出し、データ書き込み処理依頼および
データ読み込み処理依頼であればジョブ同期制御部5を
呼び出す。
The processing accepting unit 2 accepts processing requests from the preceding job 10 and the succeeding job 11. There are four types of processing requests from each job to the pipeline execution control unit 1, namely, file open processing request, file close processing request, data write (write, get, etc.) processing request, and data read (read, put, etc.) processing request. is there. Upon receiving the processing request, the processing analysis unit 2 analyzes which of the above four types of contents the request is, and if it is a file open processing request, calls the open processing execution unit 3 and similarly performs the file close processing. If it is a request, the close process execution unit 4 is called, and if it is a data write process request and a data read process request, the job synchronization control unit 5 is called.

【0022】オープン処理実行部3は、データの引き継
ぎに利用するパイプライン情報格納テーブル9やバッフ
ァ領域7を新規作成するなど、引き継ぎの準備を実行す
る。同オープン処理実行部3の処理内容については、の
ちほど図6から図10を用いて詳細に説明する。
The open process execution unit 3 executes preparation for taking over, such as newly creating the pipeline information storage table 9 and the buffer area 7 used for taking over data. The processing contents of the open processing execution unit 3 will be described later in detail with reference to FIGS. 6 to 10.

【0023】クローズ処理実行部4は、データ引き継ぎ
完了に伴う後処理を実行する。特に、データ引き継ぎ処
理を実行したすべてのジョブがファイルクローズ処理依
頼を発行したときに、データ引き継ぎ処理に利用したテ
ーブル9およびバッファ領域7を消去することが、その
最も重要な処理内容である。ただし、本クローズ処理実
行部4の処理は、公知の技術を用いることで実現可能で
あり、詳しい説明は省略する。
The close processing execution unit 4 executes post processing associated with the completion of data transfer. In particular, the most important processing content is to erase the table 9 and the buffer area 7 used for the data transfer processing when all the jobs that have executed the data transfer processing issue the file close processing requests. However, the processing of the close processing execution unit 4 can be realized by using a known technique, and detailed description thereof will be omitted.

【0024】ジョブ同期制御部5は、処理要求がデータ
書き込み処理依頼か、もしくはデータ読み込み処理依頼
かを判定し、それぞれに対応した処理を実行する。一般
に、データの引き継ぎを行う各ジョブは互いに独立に実
行されており、従って1つ1つのデータ処理要求を発行
するタイミングもまちまちである。そのような状況にお
いても、データの受け渡しを正常に行うためには、必要
に応じてジョブの実行を一時的に待ち状態(ウェイト状
態)に設定し、かつ、同待ち状態を解除するといった処
理が必要となる。このようなジョブ間の同期処理を実行
するのが、ジョブ同期制御部5である。詳しくは、のち
ほど図11、図12を用いて説明する。
The job synchronization control unit 5 determines whether the processing request is a data writing processing request or a data reading processing request, and executes processing corresponding to each. In general, each job that inherits data is executed independently of each other, and therefore the timing of issuing each data processing request varies. Even in such a situation, in order to transfer the data normally, processing such as temporarily setting the job execution to a waiting state (waiting state) and canceling the waiting state is necessary. Will be needed. The job synchronization control unit 5 executes such a synchronization process between jobs. Details will be described later with reference to FIGS. 11 and 12.

【0025】データ入出力制御部6は、各ジョブからの
データ書き込み処理依頼、または、データ読み込み処理
依頼に対し、ジョブ同期制御部5がデータ転送可能と判
断した場合に呼び出される。呼び出されたデータ入出力
制御部6は、依頼内容がデータ書き込み処理依頼の場
合、先行ジョブ10内のデータ格納領域(図示省略)か
らパイプライン実行制御部1内のバッファ領域7へデー
タを転送する。逆に依頼内容がデータ読み込み処理依頼
の場合、バッファ領域7から後続ジョブ11内のデータ
格納領域(図示省略)へデータを転送する。前述のよう
に、バッファ領域7は、ジョブ間で受け渡すデータを一
時的に格納するための領域である。
The data input / output control unit 6 is called when the job synchronization control unit 5 determines that data transfer is possible in response to a data writing process request or a data reading process request from each job. When the requested content is a data write processing request, the called data input / output control unit 6 transfers the data from the data storage area (not shown) in the preceding job 10 to the buffer area 7 in the pipeline execution control unit 1. . Conversely, when the request content is a data read processing request, the data is transferred from the buffer area 7 to the data storage area (not shown) in the succeeding job 11. As described above, the buffer area 7 is an area for temporarily storing the data transferred between jobs.

【0026】図2は、第1の実施例のシステム構成であ
る。本実施例では、計算機201において合計6個のジ
ョブが、パイプライン実行制御部1を利用してデータの
転送処理を行っている。具体的には、第1の先行ジョブ
202、及び、第2の先行ジョブ203が、それぞれ独
立に引き継ぎデータを生成する。パイプライン実行制御
部1は、これら2つのジョブから書き込み要求順に引き
継ぎデータを受け取り、後続ジョブ群に受け渡す。4個
の後続ジョブ群のうち、第1の後続ジョブ204、第2
の後続ジョブ205、第3の後続ジョブ206の3個の
ジョブは、引き継ぎデータのうち、それぞれ必要なデー
タのみを抽出して受け取る。その際の具体的な抽出基準
については、のちほど図4を用いて説明する。残る第4
の後続ジョブ207は、すべての引き継ぎ対象データを
受け取る。このように、第1の実施例においては、デー
タ受け渡し関係にある全ジョブを並行に実行し、複数個
の先行ジョブが生成したデータ列を、一部の後続ジョブ
には分割して渡し、別の後続ジョブには全データを渡す
処理を、同時に、かつ1レコード単位で実行する。
FIG. 2 shows the system configuration of the first embodiment. In this embodiment, a total of six jobs in the computer 201 use the pipeline execution control unit 1 to perform data transfer processing. Specifically, the first preceding job 202 and the second preceding job 203 independently generate takeover data. The pipeline execution control unit 1 receives the inherited data from these two jobs in the order of write requests, and passes it to the succeeding job group. Of the four succeeding job groups, the first succeeding job 204 and the second succeeding job 204
The succeeding job 205 and the third succeeding job 206 extract the necessary data from the inherited data and receive them. Specific extraction criteria in that case will be described later with reference to FIG. 4th remaining
The subsequent job 207 receives all the data to be inherited. As described above, in the first embodiment, all jobs having a data transfer relationship are executed in parallel, and the data strings generated by the plurality of preceding jobs are divided and passed to some of the succeeding jobs. The process of passing all data to the succeeding job is executed simultaneously and in units of one record.

【0027】図3は、第1の実施例における、ジョブ間
で受け渡されるレコードの構成である。本実施例は、銀
行業務において発生する実行履歴情報を扱うことを前提
としている。そのため、本転送レコードも、銀行業務の
典型的な実行履歴情報から成る。図3の転送レコードに
おいて、処理開始時刻301は、利用者からの処理要求
が発生した時刻を格納するフィールドである。口座番号
302は、処理要求の対象となった口座番号を格納する
フィールドである。支店名称303は、処理対象口座が
存在する支店名称を格納するフィールドである。地域名
称304は、前記の支店が属する地域の名称を格納する
フィールドである。ここで、本銀行では、全支店をいく
つかの地域に分割管理していることを前提としている。
バッチ処理は、往々にしてこのような地域ごとに分割し
て集計処理されることがある。そうした場合に、該地域
名称304を基準として各レコードが分類される。次
に、利用名称305は、口座番号302に対応した利用
者の名称を格納するフィールドである。処理種別306
は、対象となった処理の種類を格納するフィールドであ
る。ここで、処理の種類とは、本銀行で用意しているオ
ンラインサービスの種類であり、一般には「現金引き出
し」「現金振り込み」などの種類がある。処理種別30
6には、これらの文字列もしくはあらかじめ定めた各処
理に対応したコードを格納する。次に、処理金額307
は、該オンライン処理対象となった金額を格納するフィ
ールドである。口座残高308は、該処理の結果、口座
番号302で示された口座の変更された残高を格納する
フィールドである。本実施例では、各フィールドはすべ
て8バイトの長さを持つものと定める。ただし、特にこ
の長さにこだわるものではなく、各システム内容に応
じ、最適な長さを決定してよい。また、テーブルの構成
も、必要に応じて新規フィールドを追加、もしくは不要
なフィールドを削除してよい。
FIG. 3 shows the structure of a record transferred between jobs in the first embodiment. The present embodiment is premised on handling execution history information that occurs in banking operations. Therefore, this transfer record also includes typical execution history information of banking operations. In the transfer record of FIG. 3, the processing start time 301 is a field for storing the time when the processing request from the user is generated. The account number 302 is a field that stores the account number of the processing request target. The branch name 303 is a field that stores the name of the branch where the processing target account exists. The area name 304 is a field that stores the name of the area to which the branch office belongs. Here, it is assumed that the Bank manages all branches in several regions.
Batch processing is often divided into such regions and aggregated. In such a case, each record is classified based on the area name 304. Next, the usage name 305 is a field for storing the name of the user corresponding to the account number 302. Processing type 306
Is a field for storing the type of the target processing. Here, the type of processing is the type of online service prepared by the bank, and generally includes types such as “cash withdrawal” and “cash transfer”. Processing type 30
In 6, a character string or a code corresponding to each predetermined process is stored. Next, processing amount 307
Is a field for storing the amount of money to be processed online. The account balance 308 is a field for storing the changed balance of the account indicated by the account number 302 as a result of the processing. In this embodiment, each field is defined to have a length of 8 bytes. However, the length is not particularly limited, and the optimum length may be determined according to the contents of each system. Also, regarding the configuration of the table, new fields may be added or unnecessary fields may be deleted as necessary.

【0028】図4は、第1の実施例における各ジョブの
ジョブ制御文である。ジョブ制御文とは、計算機システ
ムでジョブを実行する際、実行するプログラムやアクセ
スするファイルを指定するなど、ジョブの実行に必要な
各種情報を記述した文字列である。図4において、ジョ
ブ制御文401は、図2で示した本実施例における、第
1の先行ジョブ202を定義したジョブ制御文である。
以下同様に、402は第2の先行ジョブ203、403
は第1の後続ジョブ204、404は第2の後続ジョブ
205、405は第3の後続ジョブ206、406は第
4の後続ジョブ207をそれぞれ定義したジョブ制御文
である。ジョブ制御文そのものは公知の技術であり、詳
しい説明は省略する。ここでは、本発明に関係する部分
のみを中心に説明する。
FIG. 4 shows job control statements for each job in the first embodiment. The job control statement is a character string describing various information necessary for executing a job, such as specifying a program to be executed and a file to be accessed when executing the job in the computer system. In FIG. 4, a job control statement 401 is a job control statement defining the first preceding job 202 in the present embodiment shown in FIG.
Similarly, in the following, 402 is the second preceding job 203, 403.
Are job control statements defining first succeeding jobs 204, 404, second succeeding jobs 205, 405, third succeeding jobs 206, 406, and fourth succeeding job 207, respectively. The job control statement itself is a known technique, and detailed description thereof will be omitted. Here, only the part related to the present invention will be mainly described.

【0029】ジョブ制御文において、文字列「JOB」
を含む行は、各ジョブ制御文の先頭を意味しており、同
文字列「JOB」の前に記載されている文字列(図4の
OUTJOB1、OUTJOB2、など)をジョブ名称
と呼ぶ。文字列「EXEC」を含む行は、それぞれのジ
ョブで実行するプログラムを指定する場所であり、同文
字列「EXEC」の前に記載されている文字列(図4の
STEP1)をジョブステップ名称と呼ぶ。各ジョブス
テップで実行するプログラムは、文字列「PROGRA
M=」のあとに続けてプログラム名称を記載することに
より指定する。ジョブ制御文において、文字列「FD」
を含む行、及び、それとカンマによって続けられた行の
かたまりは、当ジョブ制御文にて定義されたジョブがア
クセスするファイルを定義した部分であり、ファイル定
義文と呼ぶ。ファイル定義文において、文字列「FD」
の直前に記された文字列は、ファイル識別子である。プ
ログラム内部では、アクセスするファイル(先行ジョブ
から見たときに(バッファ領域内に)できるファイル)
は実際のファイル名称ではなく、仮のファイル名称で指
定されている。そうした仮のファイル名称がファイル識
別子である。こうした方法を採用することにより、シス
テムの運用を柔軟化している。更にファイル定義文で
は、「FILE」パラメタによりファイル名称、「DE
VICE」によりファイル格納媒体種別(磁気ディスク
装置、磁気テープ装置、等)を指定する。本実施例にお
いては、パイプライン方法を用いてデータの引き継ぎを
行う場合、「DEVICE=PIPELINE」と指定
するものとする。このとき、同一ファイル名称を指定し
たジョブとの間で、ジョブ間データ引き継ぎ関係を成立
させる。
In the job control statement, the character string "JOB"
The line including "" means the beginning of each job control statement, and the character string (OUTJOB1, OUTJOB2, etc. in FIG. 4) described before the same character string "JOB" is called the job name. The line containing the character string "EXEC" is a place to specify the program to be executed in each job, and the character string (STEP1 in FIG. 4) described before the character string "EXEC" is used as the job step name. Call. The program executed at each job step is the character string "PROGRA
It is specified by describing the program name after “M =”. In the job control statement, the character string "FD"
A line including a line and a group of lines continued by the line and a comma are a part defining a file accessed by the job defined in this job control statement, and are called a file definition statement. In the file definition statement, the character string "FD"
The character string written immediately before is a file identifier. Inside the program, the file to be accessed (the file that can be seen from the preceding job (in the buffer area))
Is specified by a temporary file name instead of the actual file name. The temporary file name is the file identifier. By adopting such a method, the operation of the system is made flexible. Furthermore, in the file definition statement, the file name, “DE
The file storage medium type (magnetic disk device, magnetic tape device, etc.) is designated by "VICE". In this embodiment, when data is taken over by using the pipeline method, "DEVICE = PIPELINE" is designated. At this time, an inter-job data transfer relationship is established with a job for which the same file name is specified.

【0030】本実施例では、プログラムからデータ書き
込み要求が為される場合にはファイル識別子を「OU
T」で始め、データ読み込み要求が為される場合にはフ
ァイル識別子を「IN」で始めるものと定義する。すな
わち、図4では、「FILE.PIPE.X」なるファ
イルに対し、「OUTJOB1」「OUTJOB2」な
るジョブはデータの書き込みを要求しており、従ってデ
ータ引き継ぎ処理においては先行ジョブとなることが認
識できる。逆に、「INJOB1」「INJOB2」
「INJOB3」「INJOB4」なるジョブでは、同
ファイルからのデータ読み込みを要求しており、データ
引き継ぎ処理においては後続ジョブとなる。
In this embodiment, the file identifier is set to "OU" when a data write request is made from the program.
The file identifier is defined to start with "T" and start with "IN" when a data read request is made. That is, in FIG. 4, it can be recognized that the jobs “OUTJOB1” and “OUTJOB2” request writing of data to the file “FILE.PIPE.X”, and thus become a preceding job in the data transfer processing. . Conversely, "INJOB1" and "INJOB2"
The jobs “INJOB3” and “INJOB4” request reading of data from the same file, and become a succeeding job in the data transfer processing.

【0031】更に本実施例では、先行ジョブに対するフ
ァイル定義文内において、「PIPENO」なるパラメ
タにより、引き継ぎ対象ジョブ数を定義する。同パラメ
タは、第1、第2、第3の3つのパラメタを括弧でくく
った形式を持ち、第1パラメタから順に、「先行ジョブ
数」「データを分割して受け取る後続ジョブ数」「全デ
ータを受け取る後続ジョブ数」を指定する。ジョブ制御
文401、402において、「PIPENO=(2,
3,1)」と指定されていることから、本実施例は、先
行ジョブ数が2個、データを分割して受け取る後続ジョ
ブ数が3個、全データを受け取る後続ジョブ数が1個で
ある構成であると認識できる。
Further, in this embodiment, the number of jobs to be taken over is defined by the parameter "PIPENO" in the file definition statement for the preceding job. This parameter has a format in which the first, second, and third parameters are enclosed in parentheses. In order from the first parameter, "the number of preceding jobs", "the number of subsequent jobs received by dividing the data", and "all data" Specify the number of subsequent jobs that receive In the job control statements 401 and 402, “PIPENO = (2,
3, 1) ”is specified, in this embodiment, the number of preceding jobs is 2, the number of succeeding jobs received by dividing the data is 3, and the number of succeeding jobs receiving all the data is 1. It can be recognized as a configuration.

【0032】更に本実施例では、後続ジョブに対するフ
ァイル定義文内において、「PIPESLCT」(PI
PESELECTの省略系)パラメタにより、同後続ジ
ョブが、分割データを受け取るジョブであるか、全デー
タを受け取るジョブであるかを定義する。同パラメタ
は、第1、第2、第3、第4の4つのパラメタを括弧で
くくった形式を持ち、第1パラメタにおいて「YES」
と指定された場合は分割データを受け取る後続ジョブで
あることを意味し、同パラメタにて「NO」と指定され
た場合は全データを受け取る後続ジョブであることを意
味する。第2パラメタから第4パラメタでは、データを
分割して受け取る場合に限り、同ジョブが受け取るデー
タの条件を指定する。そのため、第1パラメタにおいて
「NO」と指定された場合には、第2パラメタ以降の指
定は省略するか、指定があっても無視する。
Further, in the present embodiment, "PIPESLCT" (PI
The abbreviation system parameter of PESELECT defines whether the succeeding job is a job that receives divided data or a job that receives all data. This parameter has a format in which four parameters, the first, second, third, and fourth parameters are enclosed in parentheses, and "YES" is set in the first parameter.
When it is specified, it means that it is a succeeding job that receives the divided data, and when "NO" is specified in the same parameter, it means that it is a succeeding job that receives all the data. The second parameter to the fourth parameter specify the condition of the data received by the job only when the data is divided and received. Therefore, when "NO" is designated in the first parameter, the designations of the second and subsequent parameters are omitted or the designations are ignored.

【0033】本実施例では、データの部分的な受け取り
指示として、引き継ぎレコードのうちの特定の部分(フ
ィールド)が、これとは別に指示された特定の値(キ
ー)と等しいか否かを判定し、両者が等しい場合のみデ
ータを受け取ることを指定できる。具体的には、第2パ
ラメタにおいて、引き継ぎレコードのどの位置(オフセ
ット)からを条件判定のフィールドとするか指定し、第
3パラメタにおいて、同フィールドの長さを指定する。
いずれも、単位はバイトとする。第4パラメタでは、フ
ィールドと比較されるキーを指定する。例えばジョブ制
御文403においては、引き継ぎレコードの先頭から2
4バイト目から始まる8バイトが、文字列「XXXXX
XXX」と等しい場合のみ、同ジョブがデータを受け取
ることを指定している。同様に、ジョブ制御文404、
405では、同じ位置のフィールドが、それぞれ文字列
「YYYYYYYY」「ZZZZZZZZ」と等しい場
合のみ、データを受け取ることを指定している。
In the present embodiment, as a partial data receiving instruction, it is determined whether a specific portion (field) of the inherited record is equal to a specific value (key) designated separately. However, you can specify that you want to receive data only when both are the same. Specifically, the second parameter specifies from which position (offset) of the inherited record should be the field for condition determination, and the third parameter specifies the length of the field.
In both cases, the unit is bytes. The fourth parameter specifies the key to be compared with the field. For example, in the job control statement 403, it is 2
8 bytes starting from the 4th byte is the character string "XXXXXXX
It specifies that the job receives data only when it is equal to “XXX”. Similarly, the job control statement 404,
In 405, it is specified to receive data only when the field at the same position is equal to the character strings “YYYYYYYY” and “ZZZZZZZZ”, respectively.

【0034】オフセット指定では、レコードの先頭を0
として計算する。すなわち、先頭から24バイト目から
の長さ8バイトの領域とは、図3によれば「地域名称3
04」を指示していることになる。ここで、本実施例で
は、銀行の全支店が「XXXXXXXX」「YYYYY
YYY」「ZZZZZZZZ」なる3つの地域に分割さ
れているものとする。よって、すべての引き継ぎデータ
は、図4の403、404、405で定義された第1の
後続ジョブ204、第2の後続ジョブ205、第3の後
続ジョブ206のうち、いずれか1つのみに必ず転送さ
れる。すなわち、当3個の後続ジョブへ受け渡されたデ
ータを再び合わせると、全データに一致する。このよう
に、本実施例は、第1の先行ジョブ202、第2の先行
ジョブ203によって生成されたデータ列が時系列にマ
ージされ、第1の後続ジョブ204、第2の後続ジョブ
205、第3の後続ジョブ206に対して3分割され受
け渡されると同時に、第4の後続ジョブ207には全デ
ータが受け渡される形態の処理を実行していることが分
かる。
When the offset is designated, the beginning of the record is set to 0.
Is calculated as That is, the area having a length of 8 bytes from the 24th byte from the beginning is, as shown in FIG.
04 ”is instructed. Here, in this embodiment, all the branches of the bank are “XXXXXXXXX” and “YYYYYY”.
It is assumed that the area is divided into three areas of "YYY" and "ZZZZZZZZ". Therefore, all the inherited data must be stored in only one of the first succeeding job 204, the second succeeding job 205, and the third succeeding job 206 defined by 403, 404, and 405 in FIG. Transferred. That is, when the data passed to the three succeeding jobs are recombined, they all match. As described above, in this embodiment, the data strings generated by the first preceding job 202 and the second preceding job 203 are merged in time series, and the first succeeding job 204, the second succeeding job 205, and the second succeeding job 205 It can be seen that processing is performed such that all the data is delivered to the fourth succeeding job 207 at the same time as being divided into three and delivered to the third succeeding job 206.

【0035】次に、図5において、データ引き継ぎ処理
を正常に行うために利用する情報を格納するためのパイ
プライン情報格納テーブル9の構成を示す。同テーブル
9は、1つのデータ引き継ぎ処理ごと(先行ジョブから
見たときにできるファイルごと)に1つずつ作成され、
それぞれ共通情報テーブル501と個別情報テーブル5
02とから構成される。共通情報テーブル501は、デ
ータ引き継ぎ処理中、各ジョブから共通して参照される
共通情報を格納した複数のフィールドから成り、1つの
パイプライン情報格納テーブル9に1つのみ存在する。
一方、個別情報テーブル502は、データ引き継ぎ処理
を行うジョブそれぞれに固有の情報を格納した複数のフ
ィールドから成り、1つのパイプライン情報格納テーブ
ル9内に、処理要求を行ったジョブの個数だけ存在す
る。
Next, FIG. 5 shows the configuration of the pipeline information storage table 9 for storing the information used for normally performing the data takeover process. The table 9 is created one by one for each data takeover process (for each file viewed from the preceding job),
Common information table 501 and individual information table 5 respectively
02. The common information table 501 is composed of a plurality of fields storing common information commonly referred to by each job during the data transfer process, and only one exists in one pipeline information storage table 9.
On the other hand, the individual information table 502 is made up of a plurality of fields storing information unique to each job for which data transfer processing is performed, and exists in one pipeline information storage table 9 for the number of jobs for which processing requests have been made. .

【0036】共通情報テーブル501の構成要素のう
ち、ファイル名称フィールド503には、データ引き継
ぎ対象ファイルのファイル名を格納する。バッファアド
レスフィールド504には、データ引き継ぎ処理中、一
時的なデータ格納領域として利用するバッファの先頭番
地を格納する。バッファブロック数フィールド505に
は、確保したバッファ領域のブロック数(格納可能なレ
コードの数)を格納する。先行ジョブ数フィールド50
6には、ジョブ制御文のPIPENO第1パラメタで指
定された先行ジョブ数を格納する。同様に、第1の後続
ジョブ数フィールド507には、PIPENO第3パラ
メタで指定された全データ転送対象後続ジョブ数を格納
し、第2の後続ジョブ数フィールド508には、PIP
ENO第2パラメタで指定された分割データ転送対象後
続ジョブ数を格納する。オープン済先行ジョブ数カウン
タ509には、任意の時点において、引き継ぎ対象ファ
イルに対してオープン命令を発行済みの先行ジョブ数を
格納する。同様に、オープン済第1の後続ジョブ数カウ
ンタ510には、任意の時点においてオープン命令を発
行済みの全データ転送対象後続ジョブ数を格納し、オー
プン済第2の後続ジョブ数カウンタ511には、任意の
時点においてオープン命令を発行済みの分割データ転送
対象後続ジョブ数を格納する。共用出力カウンタ512
には、全先行ジョブから転送済みのデータ数の累計値を
格納し、同様に、共用入力カウンタ513には、入力ジ
ョブに対して転送が終了済みのデータ数の累計値を格納
する。
Of the components of the common information table 501, the file name field 503 stores the file name of the data transfer target file. The buffer address field 504 stores the start address of the buffer used as a temporary data storage area during the data transfer process. In the buffer block number field 505, the number of blocks in the secured buffer area (the number of records that can be stored) is stored. Number of preceding jobs field 50
In 6, the number of preceding jobs designated by the PIPENO first parameter of the job control statement is stored. Similarly, the first succeeding job number field 507 stores the number of all the data transfer target succeeding jobs designated by the PIPENO third parameter, and the second succeeding job number field 508 stores the PIP
The number of succeeding jobs for divided data transfer designated by the ENO second parameter is stored. The opened preceding job number counter 509 stores the number of preceding jobs for which an open command has been issued to the file to be taken over at an arbitrary time. Similarly, the opened first succeeding job counter 510 stores the number of all data transfer succeeding jobs for which an open command has been issued at an arbitrary time, and the opened second succeeding job counter 511 stores It stores the number of succeeding jobs for divided data transfer for which an open command has been issued at an arbitrary time. Shared output counter 512
Stores the cumulative value of the number of transferred data from all the preceding jobs, and similarly stores the cumulative value of the transferred data of the input job in the shared input counter 513.

【0037】更に、次テーブルポインタ514には、該
パイプライン情報格納テーブル9が作成された直後に作
成された、別のパイプライン情報格納テーブル9の先頭
番地を格納する。パイプライン実行制御部1の各構成要
素が、所定のパイプライン情報格納テーブルを抽出する
必要があるとき、当ポインタ514によるチェーンを順
次たどることによって、全テーブルの検索が可能とな
る。なお、最も最近作成されたパイプライン情報格納テ
ーブル9の次テーブルポインタ514には0を格納す
る。後続ジョブテーブルポインタ515、先行ジョブテ
ーブルポインタ516には、それぞれ、所定の個別情報
テーブル502の先頭番地を格納する。ここで、1つの
パイプライン情報格納テーブル9内には、処理依頼を行
うジョブそれぞれに対応した個別情報テーブル502を
作成する。このうち、先行ジョブに対応した個別情報テ
ーブル502のうち、最も先にオープン命令を発行した
ジョブに対応するテーブルの先頭番地が、前述の先行ジ
ョブテーブルポインタ516に格納される。同様に、後
続ジョブテーブルポインタ515には、後続ジョブに対
応した個別情報テーブル502のうち、最も先にオープ
ン命令を発行したジョブに対応するテーブルの先頭番地
が格納される。
Further, the next table pointer 514 stores the head address of another pipeline information storage table 9 created immediately after the pipeline information storage table 9 is created. When each component of the pipeline execution control unit 1 needs to extract a predetermined pipeline information storage table, all the tables can be searched by sequentially tracing the chain by the pointer 514. It should be noted that 0 is stored in the next table pointer 514 of the pipeline information storage table 9 created most recently. The succeeding job table pointer 515 and the preceding job table pointer 516 store the start address of a predetermined individual information table 502, respectively. Here, the individual information table 502 corresponding to each job for which a processing request is made is created in one pipeline information storage table 9. Of these, in the individual information table 502 corresponding to the preceding job, the head address of the table corresponding to the job that issued the earliest open command is stored in the preceding job table pointer 516. Similarly, in the succeeding job table pointer 515, the head address of the table corresponding to the job that issued the earliest open command in the individual information table 502 corresponding to the succeeding job is stored.

【0038】引き続き、個別情報テーブル502を構成
する各フィールドについて説明する。同テーブル502
のうち、ジョブ名称フィールド517には、ジョブ制御
文にて定義されたジョブ名称を格納し、テーブル探索等
における識別子として利用する。オープンフラグ518
には、同テーブル502に対応するジョブが、引き継ぎ
適用ファイルに対してオープン命令発行済みか否かの情
報を格納する。同様に、クローズフラグ519には、同
テーブル502に対応するジョブがクローズ命令発行済
みか否かの情報を格納する。それぞれ、オープン命令発
行時、クローズ命令発行時にフラグが立てられる。ウェ
イトフラグ520には、同テーブルに対応するジョブが
実行待ち状態にあるか否かを示す情報を格納する。該ウ
ェイトフラグ520は、各ジョブがデータ引き継ぎ処理
中にウェイト命令を発行する直前にオンにセットし、ウ
ェイト解除と共にオフにセットする。
Next, each field constituting the individual information table 502 will be described. Same table 502
Among them, the job name field 517 stores the job name defined in the job control statement and is used as an identifier in table search or the like. Open flag 518
In the table, information on whether the job corresponding to the table 502 has issued an open command to the takeover applicable file is stored. Similarly, the close flag 519 stores information as to whether or not the job corresponding to the table 502 has already issued the close command. Flags are set when the open command is issued and when the close command is issued. The wait flag 520 stores information indicating whether or not the job corresponding to the table is in the execution waiting state. The wait flag 520 is set to ON immediately before each job issues a wait instruction during the data transfer processing, and is set to OFF when the wait is released.

【0039】パイプライン種別フィールド521には、
データ引き継ぎ処理に際し、同テーブル502に対応す
るジョブの位置付けを格納する。該パイプライン種別
は、「先行ジョブ」「全データ転送後続ジョブ」「分割
データ転送後続ジョブ」の3種類のいずれか1つを選択
する。それぞれの種別の意味は、既述した通りである。
個別カウンタ522には、各ジョブで処理を完了済みの
データ数の累計値を格納する。転送条件フィールド52
3には、ジョブ制御文の「PIPESLCT」第2パラ
メタ以降で指定された分割転送時の受け取り条件を格納
する。本転送条件フィールドは、分割データ転送を要求
しているジョブに対してのみ利用されるが、全ジョブに
対して同一構造の個別情報テーブル502を利用可能と
するための便宜上、先行ジョブや全データ転送を要求し
ているジョブに対するテーブル内にも、同フィールド5
23は存在する。個別情報テーブル502内の次テーブ
ルポインタ524には、同個別情報テーブル502の作
成直後に作成された、別の個別情報テーブル502の先
頭番地を格納する。ただし、先行ジョブに対応する個別
情報テーブル502と後続ジョブに対応する個別情報テ
ーブル502とは互いに区別し、それぞれ、先行ジョブ
テーブルポインタ516、後続ジョブテーブルポインタ
515のいずれかにてポイントされた個別情報テーブル
502群に振り分ける。先行ジョブ、後続ジョブとも、
最も最近オープン命令を発行した個別情報テーブル50
2の次テーブルポインタ524には0を格納する。以上
が、パイプライン情報格納テーブル9の構成の説明であ
る。それぞれのフィールドの利用方法、および、内容更
新のタイミングなどについては、以下の説明内で適時言
及することとする。
In the pipeline type field 521,
At the time of data transfer processing, the position of the job corresponding to the table 502 is stored. For the pipeline type, any one of three types of “preceding job”, “all data transfer succeeding job”, and “divided data transfer succeeding job” is selected. The meaning of each type is as described above.
The individual counter 522 stores a cumulative value of the number of pieces of data that have been processed in each job. Transfer condition field 52
In 3, the reception condition at the time of divided transfer designated by the second parameter after “PIPESLCT” of the job control statement is stored. This transfer condition field is used only for jobs requesting divided data transfer. In the table for the job requesting the transfer, the same field 5
23 exists. The next table pointer 524 in the individual information table 502 stores the head address of another individual information table 502 created immediately after the creation of the individual information table 502. However, the individual information table 502 corresponding to the preceding job and the individual information table 502 corresponding to the succeeding job are distinguished from each other, and the individual information pointed to by either the preceding job table pointer 516 or the succeeding job table pointer 515, respectively. Allocate to the table 502 group. Both the preceding job and the succeeding job
Individual information table 50 that issued the most recent open command
0 is stored in the next table pointer 524 of 2. The above is a description of the configuration of the pipeline information storage table 9. The usage of each field and the timing of content update will be referred to in the following description.

【0040】既に説明した通り、各ジョブからの処理依
頼を受け付けた処理受け付け部2は、同処理依頼の内容
に従い、オープン処理実行部3、クローズ処理実行部
4、ジョブ同期制御部5のいずれか1つを呼び出す。こ
のうち、クローズ処理実行部4の処理内容は、特開平3
−46033号公報等に記された公知技術に準ずるもの
とする。残るオープン処理実行部3、ジョブ同期制御部
5の処理内容について、以下順を追って説明する。
As described above, the process accepting unit 2 that accepts the process request from each job is either the open process executing unit 3, the close process executing unit 4, or the job synchronization control unit 5 according to the content of the process request. Call one. Among these, the processing content of the close processing execution unit 4 is described in
This is based on the known technology described in Japanese Patent Publication No. -46033. The processing contents of the remaining open processing execution unit 3 and job synchronization control unit 5 will be described below in order.

【0041】図6は、オープン処理実行部3の処理フロ
ーチャートである。前述の通り、同オープン処理実行部
3は、ジョブからパイプライン実行部1に対して為され
た処理依頼がオープン処理依頼であったとき、処理受け
付け部2により呼び出される。呼び出されたオープン処
理実行部3は、はじめにパイプライン情報格納領域8内
に、処理要求対象であるファイルと同じファイル名称フ
ィールド503を持つパイプライン情報格納テーブル9
が存在するか否かを判定(ステップ601)する。同判
定は、各パイプライン情報格納テーブル9の次テーブル
ポインタ514を順次たどり、所定のテーブルが見つか
るか、もしくはチェーンの最後まで到達し、全テーブル
の探索が終了するまで続ける。
FIG. 6 is a processing flow chart of the open processing execution unit 3. As described above, the open process executing unit 3 is called by the process accepting unit 2 when the process request sent from the job to the pipeline executing unit 1 is the open process request. The called open process execution unit 3 first has a pipeline information storage table 9 having the same file name field 503 as the file requested to be processed in the pipeline information storage area 8.
It is determined whether or not exists (step 601). This determination is continued until the next table pointer 514 of each pipeline information storage table 9 is sequentially searched, a predetermined table is found, or the end of the chain is reached, and the search of all tables is completed.

【0042】ステップ601の判定において、条件を満
足するテーブルが存在しなかった場合、引き続き、処理
要求対象ファイルに対応するパイプライン情報格納テー
ブル9のうち、まず共通情報テーブル501を作成す
る。同テーブル作成の詳細については、のちほど図9を
用いて説明する。同テーブル作成に続いて、既存のパイ
プライン情報格納テーブル9のうち、それぞれの次テー
ブルポインタ514で連結された最終テーブル9の次テ
ーブルポインタ514に、新規作成したテーブルの先頭
番地を格納(ステップ602)する。
If it is determined in step 601 that there is no table satisfying the conditions, the common information table 501 is first created from the pipeline information storage table 9 corresponding to the processing request target file. Details of creating the table will be described later with reference to FIG. Subsequent to the creation of the table, the start address of the newly created table is stored in the next table pointer 514 of the final table 9 connected by the respective next table pointers 514 in the existing pipeline information storage table 9 (step 602). ) Do.

【0043】共通情報テーブル501を新規作成した場
合も、そうでない場合も、続いて処理要求のあったファ
イルへのアクセス種別を判定(ステップ604)する。
ここで、アクセス種別とは、ファイルに対してデータを
書き込み要求しているか、もしくは、データを読み込み
要求しているかの違いを指す。このような指定は、プロ
グラム内部、もしくはジョブ制御文にて指示されている
のが普通である。本実施例では、既に示した通り、ジョ
ブ制御文において、対象ファイルのファイル識別子が
「OUT」で始まる場合はデータ書き込みを、「IN」
で始まる場合はデータ読み込みを要求しているものと定
めている。よって、ステップ604の判定は、ジョブ制
御文内のファイル識別子を参照することにより実現でき
る。ステップ604の判定において、対象ファイルに対
してデータ書き込み要求を為している場合、続けて先行
ジョブオープン処理を実行(ステップ605)し、デー
タ読み込み要求を為している場合には後続ジョブオープ
ン処理を実行(ステップ606)する。それぞれの処理
の詳細について、引き続き図7、図8を用いて説明す
る。
Whether the common information table 501 is newly created or not, the access type to the file for which the processing request is made is subsequently determined (step 604).
Here, the access type refers to the difference between a request to write data to a file and a request to read data. Such designation is usually given in the program or in a job control statement. In the present embodiment, as described above, in the job control statement, if the file identifier of the target file starts with "OUT", the data writing is "IN".
If it starts with, it is defined that data reading is requested. Therefore, the determination in step 604 can be realized by referring to the file identifier in the job control statement. If it is determined in step 604 that a data write request has been made to the target file, the preceding job open process is continuously executed (step 605), and if a data read request has been made, a subsequent job open process is performed. Is executed (step 606). Details of each processing will be described with reference to FIGS. 7 and 8.

【0044】まず図7にて、オープン処理実行部3にお
ける先行ジョブオープン処理(ステップ605)の処理
フローチャートを示す。はじめに、既に前段のステップ
において探索済、もしくは新規作成済であるはずの処理
対象ファイルに対応したパイプライン情報格納テーブル
9内の、オープン済先行ジョブ数カウンタ509と先行
ジョブ数フィールド506を比較(ステップ701)す
る。前者が後者に達している場合は、既に所定数の先行
ジョブが処理中であることを意味するため、今回処理要
求があったジョブを異常終了(ステップ702)する。
ステップ701の判定で、オープン済先行ジョブ数カウ
ンタ509が先行ジョブ数フィールド506より小さけ
れば、今回のジョブからの処理要求を受理し、以下の処
理を続ける。まず、同ジョブに対応した個別情報テーブ
ル502を、パイプライン情報格納テーブル9内に新規
作成(ステップ703)する。同テーブル新規作成の詳
細な処理内容については、のちほど図10を用いて説明
する。
First, FIG. 7 shows a process flowchart of the preceding job open process (step 605) in the open process execution unit 3. First, the opened preceding job number counter 509 and the preceding job number field 506 in the pipeline information storage table 9 corresponding to the processing target file that has already been searched or newly created in the previous step are compared (step 701). If the former has reached the latter, it means that a predetermined number of preceding jobs are already being processed, and therefore the job requested this time is abnormally terminated (step 702).
If it is determined in step 701 that the opened preceding job number counter 509 is smaller than the preceding job number field 506, the processing request from the current job is accepted and the following processing is continued. First, the individual information table 502 corresponding to the same job is newly created in the pipeline information storage table 9 (step 703). Detailed processing contents of the new creation of the table will be described later with reference to FIG.

【0045】新規個別情報テーブル502作成後、同テ
ーブルに対するテーブルチェーンを作成する。このと
き、オープン済先行ジョブ数カウンタ509の値が0か
否かを判定(ステップ704)し、同カウンタ509が
0でなければ、既存の先行ジョブに対する個別情報テー
ブル502に対するテーブルチェーンの最終テーブル5
02内の次テーブルポインタ524に、新規作成した個
別情報テーブル502の先頭番地を格納(ステップ70
5)する。ステップ705の判定で、オープン済先行ジ
ョブ数カウンタ509の値が0であれば、先行ジョブに
対する既存の個別情報テーブル502は存在せず、新規
作成したテーブルが先行ジョブに対するテーブルチェー
ンの先頭になる。すなわち、共通情報テーブル501内
の先行ジョブテーブルポインタ516に、新規作成した
個別情報テーブル502の先頭番地を格納(ステップ7
06)する。テーブルチェーン作成後、共通情報テーブ
ル501内のオープン済先行ジョブ数カウンタ509
に、1を加算(ステップ707)し、先行ジョブオープ
ン処理を完了する。
After creating the new individual information table 502, a table chain for the table is created. At this time, it is judged whether or not the value of the opened preceding job number counter 509 is 0 (step 704), and if the counter 509 is not 0, the final table 5 of the table chain for the individual information table 502 for the existing preceding job.
02, the start address of the newly created individual information table 502 is stored in the next table pointer 524 (step 70).
5) Do it. When the value of the opened preceding job number counter 509 is 0 in the determination of step 705, the existing individual information table 502 for the preceding job does not exist, and the newly created table becomes the head of the table chain for the preceding job. That is, the leading address of the newly created individual information table 502 is stored in the preceding job table pointer 516 in the common information table 501 (step 7).
06) After creating the table chain, the counter 509 for the number of opened preceding jobs in the common information table 501
Is incremented by 1 (step 707) to complete the preceding job open process.

【0046】次に、後続ジョブオープン処理(ステップ
606)の処理フローチャートを示す。同後続ジョブオ
ープン処理も、基本的な処理の流れは先に示した先行ジ
ョブオープン処理に準ずる。ただし、後続ジョブについ
ては、同ジョブが全データの転送を要求しているジョブ
か、分割データの転送を要求しているジョブかを区別す
る必要がある。まず、処理依頼元ジョブのジョブ制御文
のうち、処理対象ファイルのファイル定義文内のPIP
ESLCT第1パラメタの内容を判定(ステップ80
1)する。同パラメタの内容が「NO」の場合は、該ジ
ョブは全データの転送を要求していることを表わす。よ
って、引き続き、オープン済第1の後続ジョブ数カウン
タ510と第1の後続ジョブ数フィールド507を比較
(ステップ802)する。以下、先行ジョブに対する処
理と同様、既に所定数の全データ要求後続ジョブがオー
プン済みと判定した場合には、今回処理要求のあったジ
ョブを異常終了(ステップ803)し、そうでなけれ
ば、同ジョブに対応する個別情報テーブル502を作成
(ステップ804)したのち、オープン済第1の後続ジ
ョブ数カウンタに1を加算(ステップ805)する。こ
こで、個別情報テーブル作成(ステップ804)の内容
は、先行ジョブの処理同様、図10を用いて説明する。
一方、ステップ801の判定において、PIPESLC
T第1パラメタの内容が「YES」の場合は、該ジョブ
が分割データの転送を要求していることを表わす。この
場合は、分割データ転送要求の後続ジョブを管理するた
めの第2の後続ジョブ数フィールド508、オープン済
第2の後続ジョブ数カウンタ511を用いて、ステップ
802からステップ805の処理に準じて、ステップ8
06からステップ808の処理を行う。
Next, a processing flowchart of the succeeding job open processing (step 606) will be shown. Also in the succeeding job opening process, the basic processing flow is based on the preceding job opening process described above. However, for the succeeding job, it is necessary to distinguish between the job requesting the transfer of all data and the job requesting the transfer of divided data. First, of the job control statements of the processing request source job, the PIP in the file definition statement of the processing target file
Determine the contents of the ESLCT first parameter (step 80
1) Yes. When the content of the parameter is "NO", it indicates that the job requests transfer of all data. Therefore, subsequently, the opened first succeeding job number counter 510 and the first succeeding job number field 507 are compared (step 802). Hereinafter, similar to the processing for the preceding job, if it is determined that a predetermined number of all data request succeeding jobs have already been opened, the job for which the processing is requested this time is abnormally terminated (step 803). After the individual information table 502 corresponding to the job is created (step 804), 1 is added to the opened first succeeding job counter (step 805). Here, the contents of the individual information table creation (step 804) will be described with reference to FIG.
On the other hand, in the determination of step 801, PIPESLC
When the content of the T first parameter is “YES”, it means that the job requests the transfer of the divided data. In this case, the second succeeding job number field 508 for managing the succeeding job of the divided data transfer request and the opened second succeeding job number counter 511 are used, and according to the processing of steps 802 to 805, Step 8
The processing from 06 to step 808 is performed.

【0047】このようにして、全データ転送要求後続ジ
ョブ、分割データ転送要求後続ジョブのいずれかに対応
した処理を行ったのち、テーブルチェーンを作成する。
テーブルチェーンに関しては、全データ転送、分割デー
タ転送の違いによらず、後続ジョブ群として1本のテー
ブルチェーンで管理する。そのため、オープン済第1の
後続ジョブ数カウンタ510とオープン済第2の後続ジ
ョブ数カウンタ511を加えた値が0であるか否かを判
定(ステップ809)し、同値が0でなければ、既存の
後続ジョブ対応テーブルチェーンの最終テーブル内の次
テーブルポインタ524に、新規作成した個別情報テー
ブル502の先頭番地を格納(ステップ810)し、同
値が0であれば、共通情報テーブル501内の後続ジョ
ブテーブルポインタ515に、新規作成した個別情報テ
ーブル502の先頭番地を格納(ステップ811)す
る。以上が、後続ジョブオープン処理の処理内容であ
る。
In this way, after processing corresponding to either the all data transfer request succeeding job or the divided data transfer request succeeding job, a table chain is created.
Regarding the table chain, regardless of the difference between all data transfer and divided data transfer, one table chain is managed as a succeeding job group. Therefore, it is determined whether or not the value obtained by adding the number of opened first subsequent job counters 510 and the number of opened second subsequent job counters 511 is 0 (step 809). The head address of the newly created individual information table 502 is stored in the next table pointer 524 in the final table of the subsequent job correspondence table chain of (step 810), and if the same value is 0, the succeeding job in the common information table 501 The head address of the newly created individual information table 502 is stored in the table pointer 515 (step 811). The above is the processing content of the subsequent job open processing.

【0048】図9は、オープン処理実行部3の処理のう
ち、共通情報テーブル作成処理(ステップ602)の詳
細な処理フローチャートである。同処理において、はじ
めに処理対象ファイルに対応したパイプライン情報格納
テーブル9を新規作成(ステップ901)し、続いて、
同テーブル9の内部に、共通情報テーブル501を新規
作成(ステップ902)する。更に、同ファイルに対応
したバッファ領域7を新規作成(ステップ903)す
る。以下、新規作成したテーブルに、必要な情報を格納
していく。まず、ファイル名称フィールド503に、ジ
ョブ制御文において指定された処理対象ファイルのファ
イル名称を格納(ステップ904)する。バッファアド
レスフィールド504には、ステップ903で新規作成
したバッファ領域7の先頭番地を格納(ステップ90
5)する。バッファブロック数フィールド505には、
ステップ903で新規作成したバッファ領域のブロック
数、すなわち、データ格納可能個数を格納(ステップ9
06)する。1つのバッファ領域7に対し、いくつのブ
ロック数を確保するかについては、あらかじめシステム
で定められている場合が多い。ただし、バッファ領域を
確保する時点で、あらかじめ定められた数のブロック数
を確保するだけの利用可能な記憶容量が存在しない場合
には、その時点で使用できる範囲内で最大数のブロック
を確保するのが普通である。また、1つのバッファ領域
が含むブロック数を、ジョブ制御文等で指定することも
可能である。このように、バッファごとのブロック数は
必ずしも固定値ではないため、その個数を格納しておく
必要が生じる。
FIG. 9 is a detailed process flowchart of the common information table creating process (step 602) of the processes of the open process executing section 3. In the same process, first, a new pipeline information storage table 9 corresponding to the file to be processed is newly created (step 901), and then,
A common information table 501 is newly created inside the table 9 (step 902). Further, a buffer area 7 corresponding to the same file is newly created (step 903). Hereinafter, necessary information will be stored in the newly created table. First, the file name of the file to be processed specified in the job control statement is stored in the file name field 503 (step 904). The start address of the buffer area 7 newly created in step 903 is stored in the buffer address field 504 (step 90
5) Do it. In the buffer block count field 505,
The number of blocks in the buffer area newly created in step 903, that is, the number of data that can be stored is stored (step 9
06) In many cases, the system determines in advance how many blocks should be secured for one buffer area 7. However, if there is not enough storage capacity to secure the predetermined number of blocks at the time of allocating the buffer area, the maximum number of blocks will be allocated within the usable range at that time. Is normal. It is also possible to specify the number of blocks included in one buffer area with a job control statement or the like. In this way, the number of blocks for each buffer is not necessarily a fixed value, so it is necessary to store that number.

【0049】続いて、処理依頼ジョブから処理対象ファ
イルへのアクセス種別を判定(ステップ907)する。
アクセス種別が書き込み処理であれば、同ジョブはパイ
プライン処理における先行ジョブとなり、ジョブ制御文
内に各種ジョブ数が指定されているはずである。よって
アクセス種別が書き込み処理のとき、ジョブ制御文内の
PIPENOパラメタより、同第1パラメタの値を先行
ジョブ数フィールド506に、同第2パラメタの値を第
2の後続ジョブ数フィールド508に、同第3パラメタ
の値を第1の後続ジョブ数フィールド507に、それぞ
れ格納(ステップ908)する。なお、PIPENOパ
ラメタの指定が省略された場合、1つの先行ジョブから
1つの後続ジョブに全データが受け渡されるものと見な
し、ステップ908では、先行ジョブ数フィールド50
6には1、第1の後続ジョブ数フィールド507には
1、第2の後続ジョブ数フィールド508には0を格納
する。前ステップまでにデータを格納した以外のフィー
ルドには、0もしくはそれに準ずる「空」を意味する情
報を格納(ステップ909)する。テーブルを新規作成
したとき、その初期値がすべて0となっている場合に
は、敢えてステップ909の処理を行う必要はない。最
後に、既存のパイプライン情報格納テーブル9のテーブ
ルチェーンのうち、その最終に位置するテーブル内の次
テーブルポインタ514に、上記新規作成テーブルの先
頭番地を格納(ステップ910)する。
Next, the type of access from the processing request job to the file to be processed is determined (step 907).
If the access type is write processing, the same job will be a preceding job in pipeline processing, and various job numbers should be specified in the job control statement. Therefore, when the access type is write processing, the value of the first parameter is set in the preceding job number field 506 and the value of the second parameter is set in the second subsequent job number field 508 from the PIPENO parameter in the job control statement. The value of the third parameter is stored in the first succeeding job number field 507 (step 908). If the PIPENO parameter is omitted, it is assumed that all data is transferred from one preceding job to one succeeding job, and in step 908, the preceding job number field 50
6, 1 is stored in the first subsequent job number field 507, and 0 is stored in the second subsequent job number field 508. In the fields other than the fields in which the data are stored up to the previous step, 0 or information equivalent to "empty" is stored (step 909). When all the initial values are 0 when a new table is created, it is not necessary to intentionally perform step 909. Finally, the head address of the newly created table is stored in the next table pointer 514 in the last table in the table chain of the existing pipeline information storage table 9 (step 910).

【0050】図10は、オープン処理実行部の処理のう
ち、個別情報テーブル作成(ステップ703、804、
807)の詳細な処理フローチャートである。同処理に
おいて、まず処理対象ファイルに対応したパイプライン
情報格納テーブル9内に、処理依頼元ジョブに対応する
個別情報テーブル502を新規作成(ステップ100
1)する。以下、新規作成したテーブル内に、必要な情
報を格納する。はじめに、ジョブ名称フィールド517
には、処理依頼元ジョブがジョブ制御文にて定義されて
いるジョブ名を格納(ステップ1002)する。オープ
ンフラグ518には、「1」を格納(ステップ100
3)する。次に、処理要求ファイルへのアクセス種別を
判定(ステップ1004)し、アクセス種別が書き込み
処理であれば、パイプライン種別フィールド521に
「先行ジョブ」と格納(ステップ1005)する。アク
セス種別が読み込み処理の場合、更にジョブ制御文内の
PIPESLCT第1パラメタの内容を判定(ステップ
1006)する。同パラメタの内容が「NO」であれ
ば、パイプライン種別フィールド521には「全データ
転送後続ジョブ」と格納(ステップ1007)し、同パ
ラメタの内容が「YES」のときには、パイプライン種
別フィールド521に「分割データ転送後続ジョブ」と
格納(ステップ1008)したのち、転送条件フィール
ド523に、PIPESLCT第2パラメタ以降の内容
を格納(ステップ1009)する。前ステップまでで情
報を格納した以外のフィールドには、0もしくはそれに
準ずる「空」を意味する情報を格納(ステップ101
0)する。以上で、個別情報テーブル作成処理が完了す
る。
FIG. 10 shows the individual information table creation (steps 703, 804, among the processing of the open processing execution part).
807) is a detailed processing flowchart. In the same process, first, a new individual information table 502 corresponding to the process request source job is newly created in the pipeline information storage table 9 corresponding to the process target file (step 100).
1) Yes. Hereinafter, necessary information is stored in the newly created table. First, the job name field 517
The processing request source job stores the job name defined in the job control statement (step 1002). "1" is stored in the open flag 518 (step 100
3) Yes. Next, the access type to the processing request file is determined (step 1004), and if the access type is a writing process, "preceding job" is stored in the pipeline type field 521 (step 1005). When the access type is read processing, the content of the PIPESLCT first parameter in the job control statement is further determined (step 1006). If the content of the parameter is "NO", "all data transfer succeeding job" is stored in the pipeline type field 521 (step 1007). If the content of the parameter is "YES", the pipeline type field 521 is stored. After storing "divided data transfer succeeding job" in step 1008, the contents of the PIPESLCT second parameter and thereafter are stored in the transfer condition field 523 (step 1009). Fields other than the information stored up to the previous step store information indicating 0 or its equivalent "empty" (step 101).
0). This completes the individual information table creation process.

【0051】引き続き、ジョブ同期制御部5の処理内容
を説明する。ジョブ同期制御部5は、各ジョブからの処
理依頼内容が、データ書き込み依頼、もしくはデータ読
み込み依頼のとき、同依頼を受け付けた処理受け付け部
2により呼び出される。呼び出されたジョブ同期制御部
5は、依頼内容がデータ書き込み要求時と、データ読み
込み要求時とに分け、それぞれに対応した処理を実行す
る。それぞれの処理内容を、図11、図12を用いて説
明する。
Next, the processing contents of the job synchronization control section 5 will be described. When the processing request content from each job is a data writing request or a data reading request, the job synchronization control unit 5 is called by the processing receiving unit 2 that has received the request. The called job synchronization control unit 5 divides the request content into a data write request and a data read request, and executes processing corresponding to each. Each processing content will be described with reference to FIGS. 11 and 12.

【0052】図11は、書き込み要求時に対するジョブ
同期制御部5の処理フローチャートである。はじめに、
パイプライン情報格納領域8内に存在する全パイプライ
ン情報格納テーブル9の中から、処理依頼対象ファイル
のファイル名と同じファイル名称フィールド503を持
つテーブル9を選択(ステップ1101)する。更に、
同テーブル9内より、処理依頼元ジョブと同じジョブ名
称フィールド517を持つテーブル502を選択(ステ
ップ1102)する。
FIG. 11 is a processing flowchart of the job synchronization control section 5 when a write request is issued. First,
A table 9 having the same file name field 503 as the file name of the processing request target file is selected from all the pipeline information storage tables 9 existing in the pipeline information storage area 8 (step 1101). Furthermore,
A table 502 having the same job name field 517 as that of the processing request source job is selected from the table 9 (step 1102).

【0053】続けて、バッファ領域7にデータを転送処
理する。バッファ領域7に属するどのブロック番号にデ
ータを転送すればよいかは、共用出力カウンタ512の
内容により決定される。更に、各ジョブからの要求を処
理した後は、同カウンタ512を更新する。しかし、複
数個のジョブからの非同期的なデータ書き込み要求に対
し、正常に処理を実行するためには、1つのジョブから
の依頼を処理中は、共用出力カウンタ512を更新する
まで、他の出力ジョブからの書き込み要求を禁止する必
要がある。これを実現するため、本発明では、ステップ
1102までのテーブル選択ののち、まず共用出力カウ
ンタをロックする。ここで、カウンタをロックすると
は、資源の排他制御を管理する方法の1つである。1つ
のジョブがロックした資源は、そののち同一ジョブによ
りロック解放されるまで、他のジョブからの更新が禁止
される。
Subsequently, the data is transferred to the buffer area 7. The content of the shared output counter 512 determines to which block number belonging to the buffer area 7 the data should be transferred. Further, after processing the request from each job, the counter 512 is updated. However, in order to normally execute processing for asynchronous data write requests from a plurality of jobs, while a request from one job is being processed, another output is executed until the shared output counter 512 is updated. It is necessary to prohibit write requests from jobs. In order to realize this, in the present invention, after the table selection up to step 1102, the shared output counter is first locked. Here, locking the counter is one of the methods for managing exclusive control of resources. The resource locked by one job is prohibited from being updated by another job until the same job releases the lock.

【0054】同ロック方法を利用し、ステップ1103
において、共用出力カウンタ512を他のジョブがロッ
ク中か否かを判定する。ロック中の場合は、ロックが解
放されるまで、ステップ1103の判定を繰り返す。他
のジョブによりロックされていない場合は、共用出力カ
ウンタ512のロックを確保(ステップ1104)す
る。ロック確保後は、同ロックを解放するまで他のジョ
ブの存在を意識しないでよい。ロック確保後、はじめに
バッファ領域7に空き領域が存在するか否かを判定(ス
テップ1105)する。空き領域が存在しないときは、
空き領域が生成されるまでジョブの実行をウェイトさせ
なければならない。そこで、ステップ1102で選択し
た個別情報テーブル502内のウェイトフラグを「1」
に設定(ステップ1106)し、共用出力カウンタのロ
ックを解放(ステップ1107)したのち、処理中のジ
ョブの実行状態をウェイトに設定(ステップ1108)
する。その後、他のジョブによってウェイト解除され、
実行が再開されたのち、ウェイトフラグを「0」に設定
(ステップ1109)し、再びステップ1103に戻
り、共用出力カウンタ512のロック要求から処理を続
ける。ステップ1105において、バッファ7に空き領
域が存在する場合は、引き続き、共用出力カウンタ51
2により決定されるバッファ7内のブロック番地に、処
理依頼元ジョブのデータ格納領域よりデータを転送(ス
テップ1110)する。転送後、共用出力カウンタ51
2に1を加算(ステップ1111)し、同カウンタ51
2のロックを解放(ステップ1112)する。
Using the same locking method, step 1103
At, it is determined whether the shared output counter 512 is locked by another job. If it is locked, the determination in step 1103 is repeated until the lock is released. If it is not locked by another job, the lock of the shared output counter 512 is secured (step 1104). After securing the lock, you need not be aware of the existence of other jobs until the lock is released. After securing the lock, it is first determined whether or not there is a free area in the buffer area 7 (step 1105). If there is no free space,
Job execution must wait until free space is created. Therefore, the wait flag in the individual information table 502 selected in step 1102 is set to "1".
(Step 1106), the lock of the shared output counter is released (step 1107), and then the execution state of the job being processed is set to wait (step 1108).
I do. After that, the wait is released by another job,
After the execution is restarted, the wait flag is set to "0" (step 1109), the process returns to step 1103, and the process is continued from the lock request of the shared output counter 512. If there is a free area in the buffer 7 in step 1105, the shared output counter 51 continues.
Data is transferred from the data storage area of the processing request source job to the block address in the buffer 7 determined by 2 (step 1110). Shared output counter 51 after transfer
1 is added to 2 (step 1111), and the counter 51
The lock of No. 2 is released (step 1112).

【0055】前ステップまでの処理によって、データが
1つバッファ7内に格納されたことになる。よって、も
しも新規データの格納を待ってウェイト中の後続ジョブ
が存在するならば、同ジョブのウェイト状態を解除する
必要がある。そこでまず、ステップ1101で選択した
パイプライン情報格納テーブル9の後続ジョブテーブル
ポインタ515からチェーンされた個別情報テーブル5
02の中で、ウェイトフラグ520が「1」に設定され
ているものがあるか否かを判定(ステップ1113)す
る。条件を満たすテーブルが存在する場合、該当するテ
ーブル502に対応したジョブのウェイト状態をすべて
解除(ステップ1114)する。ここで、対応するジョ
ブは、テーブル内のジョブ名称フィールド517を参照
することにより識別する。なお、本実施例では、新規デ
ータが1つバッファ内に格納された時点で、後続ジョブ
のウェイト状態を解除しているが、同処理ではウェイト
する頻度が高くなる可能性もある。それを防止するため
には、1つの新規データ格納ごとではなく、複数個のデ
ータ書き込みごと(例えば5個、10個)に、ステップ
1113、ステップ1114から成るウェイト解除判定
処理を実行するといった方法も考えられる。
By the processing up to the previous step, one data has been stored in the buffer 7. Therefore, if there is a succeeding job that is waiting after storing new data, it is necessary to cancel the wait state of the same job. Therefore, first, the individual information table 5 chained from the succeeding job table pointer 515 of the pipeline information storage table 9 selected in step 1101.
In 02, it is determined whether or not there is a wait flag 520 set to "1" (step 1113). If there is a table satisfying the condition, all the wait states of the jobs corresponding to the corresponding table 502 are canceled (step 1114). Here, the corresponding job is identified by referring to the job name field 517 in the table. In this embodiment, the wait state of the succeeding job is canceled when one new data is stored in the buffer, but the frequency of wait may increase in the same process. In order to prevent this, there is also a method of executing the wait release determination process including step 1113 and step 1114 for each writing of a plurality of data (for example, 5 or 10) instead of for each new data storage. Conceivable.

【0056】次に、ジョブ同期制御部5が、データ読み
込み要求を受け取った時の処理内容を示す。図12が、
データ読み込み要求時のジョブ同期制御部5の処理フロ
ーチャートである。データ書き込み要求時と同じよう
に、ステップ1201、並びに、ステップ1202にお
いて、処理依頼元ジョブ、処理対象ファイルに対応する
パイプライン情報格納テーブル9、個別情報テーブル5
02を選択する。その後、バッファ内に未入力データが
格納されているか否かを判定(ステップ1203)す
る。ここで、データ書き込み要求時とは異なり、カウン
タのロック処理は行わないことに注意が必要である。す
なわち、データ読み込み要求に対しては、各ジョブに対
応した個別情報テーブル502内の個別カウンタ522
(このカウンタのカウンタ値はバッファ内のデータを見
に行った回数であり、その後の判定結果には影響されな
い)を利用する。同カウンタ522は、ジョブの1つ1
つ独立に存在するため、ロック処理は必要ない。未入力
データが存在するか否かの判定も、同カウンタ522の
値が、共用出力カウンタ512の値より小さいか否かを
判定することで実現できる。
Next, the processing contents when the job synchronization control unit 5 receives a data read request will be shown. Figure 12
6 is a processing flowchart of the job synchronization control unit 5 when a data read request is made. Similar to the data write request, in step 1201 and step 1202, the processing request source job, the pipeline information storage table 9 corresponding to the processing target file, and the individual information table 5
Select 02. After that, it is determined whether or not uninput data is stored in the buffer (step 1203). Here, it should be noted that the lock processing of the counter is not performed unlike the data write request. That is, in response to the data read request, the individual counter 522 in the individual information table 502 corresponding to each job.
(The counter value of this counter is the number of times the data in the buffer is viewed, and is not affected by the subsequent determination result). The counter 522 is for each job 1
Since they exist independently, no lock processing is required. The determination as to whether or not there is uninput data can be realized by determining whether or not the value of the counter 522 is smaller than the value of the shared output counter 512.

【0057】上記説明した処理により、各ジョブごとに
バッファ内に未入力データが存在するか否かを判定した
とき、未入力データが存在しない場合、同データが生成
されるまでは処理実行をウェイトする。すなわち、選択
中の個別情報テーブル502のウェイトフラグ520を
「1」に設定(ステップ1204)したのち、処理要求
元ジョブの実行をウェイト状態に設定(ステップ120
5)する。以後、他のジョブによりウェイト状態が解除
され、処理を再開したのち、ウェイトフラグ520を
「0」に設定し、再びバッファ内に未入力データが存在
するか否かの判定(ステップ1203)を繰り返す。
When it is determined by the above-described processing whether or not the uninput data exists in the buffer for each job, if the uninput data does not exist, the process execution is waited until the same data is generated. To do. That is, the wait flag 520 of the selected individual information table 502 is set to "1" (step 1204), and then the execution of the processing request source job is set to the wait state (step 120).
5) Do it. After that, the wait state is canceled by another job, the process is restarted, the wait flag 520 is set to "0", and the determination as to whether or not there is uninput data in the buffer is repeated (step 1203). .

【0058】同判定において、未入力データが存在する
場合は、引き続き、個別情報テーブル502内のパイプ
ライン種別フィールド521の内容を判定(ステップ1
207)する。同フィールド521の内容が「分割デー
タ転送後続ジョブ」の場合、続いて、個別カウンタ52
2により指示されたバッファ内データが、転送条件フィ
ールド523で指定されている転送条件を満足するか否
かを判定(ステップ1208)する。同判定を満足する
場合、続いて同データを処理依頼元ジョブのデータ格納
領域に転送(ステップ1209)する。ステップ120
7の判定において、パイプライン種別フィールド521
の内容が「全データ転送後続ジョブ」の場合は、無条件
で所定のデータを処理依頼元ジョブのデータ格納領域に
転送(ステップ1209)する。いずれの場合も、続い
て個別カウンタ522に1を加算(ステップ1210)
する。
In the same judgment, if there is uninput data, the contents of the pipeline type field 521 in the individual information table 502 are continuously judged (step 1
207) If the content of the field 521 is “divided data transfer subsequent job”, then the individual counter 52
It is determined whether or not the data in the buffer designated by 2 satisfies the transfer condition specified in the transfer condition field 523 (step 1208). If the determination is satisfied, then the same data is transferred to the data storage area of the processing request source job (step 1209). Step 120
7, the pipeline type field 521
If the content of is a "all data transfer succeeding job", the predetermined data is unconditionally transferred to the data storage area of the processing request source job (step 1209). In either case, subsequently, 1 is added to the individual counter 522 (step 1210).
I do.

【0059】更に、カウンタ加算前に処理したデータ
を、バッファ7内から消去するか否かの判定を行う。こ
こで、データをバッファ内から消去してもよいのは、す
べての後続ジョブ11の処理が完了したときに限る。す
べての後続ジョブ11の処理が完了したか否か、すなわ
ち、後続ジョブテーブルポインタ515からチェーンさ
れたすべての個別情報テーブル502に対し、個別カウ
ンタ522の値が、ステップ1210で加算した後の値
以上であるか否かを判定(ステップ1211)する。同
条件を満たすならば、直前に処理したデータ、すなわ
ち、[個別カウンタ−1]に対応するデータを、バッフ
ァ7より消去(ステップ1212)する。更に、このと
きウェイト中の先行ジョブ10が存在するならば、その
ウェイト状態を解除する必要がある。すなわち、同一の
共通情報テーブル501の先行ジョブテーブルポインタ
516からチェーンされた全テーブルのうち、ウェイト
フラグ520が「1」のテーブルが存在するか否かを判
定(ステップ1213)し、条件を満たすテーブルが存
在する場合、それらのテーブルに対応するジョブのウェ
イト状態を解除(ステップ1214)する。
Further, it is determined whether or not the data processed before the counter addition is erased from the buffer 7. Here, the data may be deleted from the buffer only when the processing of all succeeding jobs 11 is completed. Whether or not the processing of all the succeeding jobs 11 is completed, that is, the value of the individual counter 522 is equal to or more than the value after the addition in step 1210 for all the individual information tables 502 chained from the succeeding job table pointer 515. It is determined whether or not (step 1211). If the same condition is satisfied, the data processed immediately before, that is, the data corresponding to [individual counter-1] is erased from the buffer 7 (step 1212). Further, at this time, if there is a preceding job 10 in the wait state, it is necessary to cancel the wait state. That is, of all the tables chained from the preceding job table pointer 516 of the same common information table 501, it is determined whether or not there is a table with a wait flag 520 of "1" (step 1213), and a table satisfying the condition is satisfied. If exists, the wait states of the jobs corresponding to those tables are released (step 1214).

【0060】ステップ1211の条件判定において、現
在処理中の後続ジョブ11の個別カウンタ522より小
さい値の個別カウンタ522を持つ個別情報テーブル5
02が存在する場合には、この段階ではバッファ内より
データを消去することはできず、従って、先行ジョブの
ウェイト解除判定は行わずに処理を終了する。
In the condition judgment of step 1211, the individual information table 5 having the individual counter 522 having a value smaller than the individual counter 522 of the succeeding job 11 currently being processed.
If 02 exists, the data cannot be erased from the buffer at this stage, so the process is terminated without performing the wait release determination of the preceding job.

【0061】なお、後続ジョブ11のウェイト状態解除
と同様に、先行ジョブのウェイト条件解除においても、
1つのデータをバッファから消去するごとに実行するの
ではなく、複数個のデータを消去する毎にウェイト解除
判定を行うことにより、ジョブがウェイトする頻度を小
さく抑える方法も考えられる。
As in the case of canceling the wait state of the succeeding job 11, in canceling the wait condition of the preceding job,
A method may be considered in which the frequency of waiting for a job is reduced by performing a wait release determination each time a plurality of pieces of data are deleted, instead of executing the deletion each time one piece of data is deleted from the buffer.

【0062】以上示した処理により、第1の実施例で
は、2つの先行ジョブ202、203からそれぞれ独立
に転送されるデータを生成順に受け取り、受け取ったデ
ータを、第1の後続ジョブ204から第3の後続ジョブ
206の3つのジョブに対しては、それぞれジョブ制御
文で指示された条件を満足するデータのみを選択して受
け渡すと同時に、第4の後続ジョブ207に対しては全
データを受け渡す処理を実現する。
According to the processing described above, in the first embodiment, the data transferred independently from the two preceding jobs 202 and 203 are received in the order of generation, and the received data is transferred from the first succeeding job 204 to the third succeeding job 204. For the three succeeding jobs 206, the only data that satisfies the condition specified by the job control statement is selected and passed, and at the same time, all the data is received for the fourth succeeding job 207. Implement the process of passing.

【0063】引き続き、第2の実施例について説明す
る。第2の実施例のシステム構成を、図13に示す。本
第2の実施例では、第1の実施例同様、複数の先行ジョ
ブから生成されたデータを、一部の後続ジョブに対して
は分割して受け渡し、また別の後続ジョブには全データ
を受け渡す処理を、全ジョブを並行に実行しながら実現
している。第1の実施例との相違点は、それぞれのジョ
ブが、相異なる計算機上で実行されている点にある。以
下、その点を中心に詳しく説明する。
Next, the second embodiment will be described. The system configuration of the second embodiment is shown in FIG. In the second embodiment, similarly to the first embodiment, the data generated from a plurality of preceding jobs is divided and handed over to some succeeding jobs, and all the data is passed to another succeeding job. The process of handing over is realized by executing all jobs in parallel. The difference from the first embodiment is that each job is executed on a different computer. Hereinafter, this point will be mainly described in detail.

【0064】図13で示すシステムは、複数の計算機
が、それぞれ光ファイバ等の接線により制御計算機13
01に接続され、同制御計算機1301を介して排他制
御、データ共用等の連携を取りながら、全体としてあた
かも単一の計算機のように実行する形態の計算機システ
ムである。また、本実施例は、銀行での運用を想定して
いる。そこで、各計算機は、オンライン処理を専用に実
行するオンライン処理計算機群1302と、バッチ処理
を専用に実行するバッチ処理計算機群1303とに分割
されている。オンライン処理計算機群1302に属する
計算機をオンライン処理計算機1304、バッチ処理計
算機群1303に属する計算機をバッチ処理計算機13
05と呼ぶ。ただし、このような呼び名の違いはそれぞ
れの計算機上で実行されるプログラム構成の違いによる
ものであり、ハード構成としては各計算機に違いがない
ことが多い。
In the system shown in FIG. 13, a plurality of computers are controlled by tangential lines such as optical fibers.
The computer system is connected to No. 01, and executes as a single computer as a whole while coordinating exclusive control and data sharing through the control computer 1301. In addition, this embodiment is assumed to be operated by a bank. Therefore, each computer is divided into an online processing computer group 1302 that exclusively executes online processing and a batch processing computer group 1303 that exclusively executes batch processing. The computers belonging to the online processing computer group 1302 are online processing computers 1304, and the computers belonging to the batch processing computer group 1303 are batch processing computers 13.
Call 05. However, such a difference in nickname is due to a difference in program configuration executed on each computer, and there is often no difference in hardware configuration between computers.

【0065】利用者1306からのオンライン処理要求
は、オンライン処理計算機群1302に属する計算機1
304のいずれか1つに振り分けられ、同計算機上で処
理される。どの計算機に振り分けるかについては任意と
する。あらかじめ定められた順序に従い振り分けてもよ
い。一般には、各オンライン処理要求時に、CPU等の
負荷が最も低い計算機に振り分けられることが多い。各
オンライン処理計算機1304では、すべて同一のオン
ライン処理プログラム1308が実行されており、各処
理要求に対して、それぞれ独立に処理を行う。ただし、
どの計算機に振り分けられても変わりなく処理を実行で
きるよう、利用者の口座情報などを格納したデータベー
ス1307は全オンライン処理計算機に接続しておく。
The online processing request from the user 1306 is sent to the computer 1 belonging to the online processing computer group 1302.
It is distributed to any one of 304 and processed on the same computer. Which computer to allocate to is arbitrary. You may allocate according to the order determined beforehand. In general, when each online processing request is made, it is often assigned to a computer with the lowest load such as a CPU. In each online processing computer 1304, the same online processing program 1308 is executed, and each processing request is processed independently. However,
The database 1307 storing user account information and the like is connected to all online processing computers so that the processing can be executed without change regardless of which computer is distributed.

【0066】バッチ処理計算機群1303側では、オン
ライン処理計算機群1302から出力された処理履歴情
報(一般に「ジャーナル」と呼ばれる)を元に、様々な
集計処理を実行する。利用者1306からの処理依頼が
各オンライン処理計算機1304へ不特定に振り分けら
れるとすれば、バッチ処理をそれぞれのオンライン計算
機ごとに実行することは意味がない。そこで、全オンラ
イン処理計算機1308のジャーナルを1つにまとめた
のち、必要に応じて各バッチ処理プログラムにデータを
転送することが必要になる。よって、各オンライン処理
プログラム1308のジャーナルは、すべて本発明を利
用した計算機間パイプライン実行制御部1309に転送
されるよう指定する。
On the batch processing computer group 1303 side, various tabulation processing is executed based on the processing history information (generally called “journal”) output from the online processing computer group 1302. If the processing request from the user 1306 is unspecifiedly distributed to each online processing computer 1304, it is meaningless to execute the batch processing for each online computer. Therefore, it is necessary to collect the journals of all the online processing computers 1308 into one and then transfer the data to each batch processing program as needed. Therefore, all the journals of each online processing program 1308 are designated to be transferred to the inter-computer pipeline execution control unit 1309 using the present invention.

【0067】計算機間パイプライン実行制御部1309
の構成は、図1のパイプライン実行制御部1に準ずる。
ただし、パイプライン実行制御部1が単一計算機内で実
行されていたのに対し、計算機間パイプライン実行制御
部1309では、転送相手ジョブがそれぞれ異なる計算
機上で実行されていることを意識する必要がある。例え
ば、パイプライン実行制御部1では、単純にジョブから
バッファ領域7へデータを転送していたような箇所は、
計算機間パイプライン実行制御部1309では、計算機
間のデータ転送を伴う。また、ジョブのウェイト状態設
定や同ウェイト状態解除などの処理も、制御計算機から
直接他の計算機上のジョブに対して実行できない場合
は、いったん所定の計算機上のオペレーティングシステ
ムに対して、それらの処理を依頼する通信を伴う必要が
ある。ただし、このような複数計算機を用いて、あたか
も単一計算機と同様に処理を行うシステムでは、主にジ
ョブ同期制御の部分およびデータ転送に係るバッファ領
域によるデータ入出力制御の部分に既に公知の技術を用
いることにより、単一計算機上で実現されていた処理を
実現することができる。すなわち、そのような部分につ
いてのみ、処理を置き換えれば、パイプライン実行制御
部1と計算機間パイプライン実行制御部1309の構成
に違いはない。
Inter-computer pipeline execution control unit 1309
The configuration of is similar to that of the pipeline execution control unit 1 of FIG.
However, while the pipeline execution control unit 1 is executed in a single computer, the inter-computer pipeline execution control unit 1309 needs to be aware that the transfer partner jobs are executed on different computers. There is. For example, in the pipeline execution control unit 1, a place where data is simply transferred from the job to the buffer area 7 is
The inter-computer pipeline execution control unit 1309 involves data transfer between computers. If the control computer cannot directly execute jobs such as setting the wait status of a job or canceling the wait status, it can be executed once for the operating system on a specific computer. Must be accompanied by a communication requesting. However, in a system that uses such a plurality of computers to perform processing as if it were a single computer, the known technology is mainly used for the job synchronization control part and the data input / output control part by the buffer area for data transfer. By using, it is possible to realize the processing realized on a single computer. That is, there is no difference in the configurations of the pipeline execution control unit 1 and the inter-computer pipeline execution control unit 1309 if the processing is replaced only for such a portion.

【0068】図13で示す第2の実施例では、バッチ処
理計算機1305のうち、第1のバッチ処理計算機13
05から第nのバッチ処理計算機1305では、それぞ
れ異なる第1のバッチ処理プログラム1310、第2の
バッチ処理プログラム1311、……、第nのバッチ処
理プログラム1312が実行されている。本実施例で
は、すべてのジャーナルデータを、いくつかのかたまり
に分割し、それぞれのかたまりごとにバッチ集計処理を
並行して行うことにより、バッチ処理時間を短縮化す
る。そこで、各バッチ処理計算機1305の1つ1つ
が、そのように分割された部分的なバッチ処理をそれぞ
れ実行するものとする。その際、分割の基準となるの
は、例えば第1の実施例でも示したように、全支店を幾
つかの地域に分割し、その地域単位でバッチ集計を行う
といった基準が一般的である。そこで本実施例でも、転
送レコードとしては図3で示した第1の実施例と同じも
のを想定し、各バッチ処理プログラムには、同レコード
のうち地域名称304を基準に振り分けを実施するもの
とする。
In the second embodiment shown in FIG. 13, of the batch processing computers 1305, the first batch processing computer 13
The 05th to n-th batch processing computers 1305 execute different first batch processing programs 1310, second batch processing programs 1311, ..., And nth batch processing programs 1312. In this embodiment, all the journal data is divided into several chunks, and batch aggregation processing is performed in parallel for each chunk to shorten the batch processing time. Therefore, it is assumed that each of the batch processing computers 1305 respectively executes the partial batch processing thus divided. At this time, the standard of division is generally, for example, as shown in the first embodiment, that all branches are divided into several areas and batch aggregation is performed in each area. Therefore, also in this embodiment, it is assumed that the same transfer record as that in the first embodiment shown in FIG. 3 is assumed, and that each batch processing program is distributed based on the area name 304 of the record. To do.

【0069】ところで、銀行等の計算機システムには高
い信頼性が求められており、そのためジャーナルデータ
も、一定期間の間保管されるのが普通である。そうした
保管に際しては、各バッチ処理計算機に分割されてしま
ったデータではなく、全データを一括管理した方が、信
頼性との観点では有効である。このとき、本発明を利用
すれば、データの分割転送と、全データ一括転送とを同
時に実行できる。すなわち、図13において、便宜上第
0のバッチ処理計算機1305と名付けたバッチ処理計
算機群1303内の1つの計算機上で、バックアッププ
ログラム1313を実行し、同プログラム1313は計
算機間パイプライン実行制御部1309に対して全デー
タ転送を要求することによって、全転送データの一括保
存を実現できる。ここで、バックアッププログラム13
13とは、入力したデータを順次別の記憶媒体に出力す
るプログラムである。本実施例では、計算機間パイプラ
イン実行制御部1309からデータを受け取り、磁気テ
ープ装置等に用意した保存ジャーナルファイル1314
に対してデータを出力することにより、データの保存を
実現している。
By the way, a computer system of a bank or the like is required to have high reliability, and therefore journal data is usually stored for a certain period of time. In such storage, it is more effective from the viewpoint of reliability to manage all the data collectively, not the data divided into each batch processing computer. At this time, if the present invention is utilized, divided transfer of data and batch transfer of all data can be executed simultaneously. That is, in FIG. 13, the backup program 1313 is executed on one computer in the batch processing computer group 1303 named 0th batch processing computer 1305 for convenience, and the program 1313 is executed by the inter-computer pipeline execution control unit 1309. By requesting the transfer of all data, it is possible to save all the transferred data at once. Here, the backup program 13
13 is a program that sequentially outputs the input data to another storage medium. In this embodiment, a saved journal file 1314 which receives data from the inter-computer pipeline execution control unit 1309 and is prepared in a magnetic tape device or the like.
Data is saved by outputting the data to.

【0070】以上示した通り、本第2の実施例では、複
数のオンライン処理プログラム1308から生成された
ジャーナルを1つにまとめ、所定の条件に従い複数のバ
ッチ処理プログラムに転送しつつ、1つにまとめられた
全データの保存を実現している。更に、関係するすべて
のプログラムを同時に実行し、生成されたデータから順
次バッチ処理プログラムへ転送することによって、処理
時間の短縮をも実現している。
As described above, in the second embodiment, the journals generated from the plurality of online processing programs 1308 are collected into one, and are transferred to the plurality of batch processing programs according to a predetermined condition while being combined into one. It realizes the saving of all the collected data. Further, all the related programs are executed at the same time, and the generated data are sequentially transferred to the batch processing program, so that the processing time can be shortened.

【0071】各プログラムの連携手段は、第1の実施例
と同じく、ジョブ制御文にて指定する。それぞれのジョ
ブが異なる計算機上で実行されるという点を除けば、各
ジョブ制御文は図4で示した第1の実施例と同じ形式で
良い。ただし、各プログラム名称、ファイル名称につい
ては、それぞれ所定のオンライン処理プログラム名称、
バッチ処理プログラム名称、バックアッププログラム名
称、ジャーナル指定ファイル名称に変更する必要があ
る。
The linking means of each program is designated by the job control statement as in the first embodiment. Each job control statement may have the same format as that of the first embodiment shown in FIG. 4, except that each job is executed on a different computer. However, for each program name and file name, the specified online processing program name,
It is necessary to change the batch processing program name, backup program name, and journal specification file name.

【0072】図14から図16では、比較のため、本発
明を利用せず、従来技術を用いた処理を示す。まず図1
4では、従来技術を用いたオンライン処理実行中の状態
を示す。従来の銀行システムは、日中のオンライン処理
が終了したのちに、同処理の集計を行うバッチ処理が開
始される。すなわち、図13で示したようなオンライン
処理とバッチ処理との間で順次データを受け渡すような
ことはせず、各オンライン処理プログラムからのジャー
ナルは、それぞれの計算機ごとに外部記憶装置に保存さ
れる。図14は2つのオンライン処理計算機による処理
の例を示しており、各オンライン計算機1304上のオ
ンライン処理プログラム1308は、それぞれ第1のジ
ャーナルファイル1401、第2のジャーナル1402
を生成している。なお、利用者1306からの処理依頼
が、いずれかのオンライン計算機1304に振り分けら
れて処理される点は、従来技術でも同じである。
For comparison, FIGS. 14 to 16 show processes using the prior art without using the present invention. First, Figure 1
4 shows a state in which online processing using the conventional technique is being executed. In the conventional bank system, after the daytime online processing is completed, the batch processing for totalizing the same processing is started. That is, the data from the online processing and the batch processing as shown in FIG. 13 are not sequentially transferred, and the journals from each online processing program are stored in the external storage device for each computer. It FIG. 14 shows an example of processing by two online processing computers. The online processing program 1308 on each online computer 1304 has a first journal file 1401 and a second journal 1402, respectively.
Has been generated. Note that the processing request from the user 1306 is distributed to one of the online computers 1304 and processed, which is the same in the conventional technique.

【0073】オンライン処理終了後、バッチ処理を開始
する。しかし、従来技術によれば各オンライン計算機1
304でのジャーナルは個別に生成されているため、前
述のように信頼性を高めるとの必要による保存を目的
に、2つのジャーナルファイルを1つにまとめる必要が
ある。図15では、そうした複数ジャーナルファイル1
401、1402をマージプログラム1501を用いて
1つの保存ジャーナルファイル1314にまとめている
状態を示している。
After the online processing is completed, batch processing is started. However, according to the prior art, each online computer 1
Since the journals in 304 are individually generated, it is necessary to combine the two journal files into one for the purpose of saving the reliability as described above. In FIG. 15, such multiple journal files 1
The state where 401 and 1402 are put together in one saved journal file 1314 by using the merge program 1501 is shown.

【0074】以上でバッチ処理開始の準備が完了し、図
16で示すバッチ処理が開始される。従来技術を用いた
場合も、バッチ処理は所定の基準に基づき幾つかの部分
に分割し、それぞれの処理を並行実行することにより処
理時間の短縮を図る。そのため、やはり計算機間パイプ
ライン実行制御部1602を用いて各計算機に対してデ
ータを転送する。しかし、従来の計算機間パイプライン
実行制御部1602には、受け取ったデータを自身で条
件判定し、各後続ジョブに振り分ける機能がない。よっ
て、各計算機に転送する前に、いずれかの計算機130
5上で、入力したデータを条件判定し、各出力ファイル
に振り分ける振り分けプログラム1601を実行しなけ
ればならない。同プログラム1601が生成した各振り
分けデータを、それぞれ従来の計算機間パイプライン実
行制御部1602を介して各バッチ処理計算機1305
で実行中のバッチ処理プログラム1310、1311、
1312に転送することにより、目的の処理が実現す
る。ここで、本例ではバッチ処理プログラム数を3とす
る。
The preparation for starting the batch processing is completed as described above, and the batch processing shown in FIG. 16 is started. Even when the conventional technique is used, the batch process is divided into several parts based on a predetermined standard, and the respective processes are executed in parallel to reduce the processing time. Therefore, the inter-computer pipeline execution control unit 1602 is also used to transfer data to each computer. However, the conventional inter-computer pipeline execution control unit 1602 does not have a function of judging the received data by itself and distributing it to each succeeding job. Therefore, before transferring to each computer, one of the computers 130
5, it is necessary to execute the distribution program 1601 which judges the condition of the input data and distributes it to each output file. Each distribution data generated by the program 1601 is sent to each batch processing computer 1305 via the conventional inter-computer pipeline execution control unit 1602.
Batch processing programs 1310 and 1311, which are being executed in
By transferring to 1312, the intended processing is realized. In this example, the number of batch processing programs is three.

【0075】引き続き、各プログラムの実行順序を、従
来技術を用いた場合、本発明技術を用いた場合とに分
け、それぞれ図17、図18に示す。両図では、縦軸を
時間軸とし、処理の時間的な流れを摸式的に示していい
る。また、データ受け渡し関係にあるプログラム同士は
接線で連結し、それぞれの受け渡しが外部記憶装置を利
用したものか、パイプライン方法を利用したものかの区
別を記す。図17の従来技術を用いた形態では、オンラ
イン処理プログラム1308とバッチ処理プログラム1
310、1311、1312とが、マージプログラム1
501の実行をはさんで逐次的に実行されている様子が
分かる。これに対し、図18の本発明を用いた形態で
は、オンライン処理プログラムとバッチ処理プログラム
とが同時に実行可能であり、これにより処理時間を短縮
可能である。更に、データの連携に際して不要な外部記
憶装置を用意する必要がなく、各バッチ処理へのデータ
の分散と全データの一括保存とを同時に実行するなど、
単に処理時間だけではなく、運用者の手間が削減するこ
とも可能である。
Subsequently, the execution order of each program is divided into the case where the conventional technique is used and the case where the technique of the present invention is used, and they are shown in FIGS. 17 and 18, respectively. In both figures, the vertical axis is the time axis, and the temporal flow of processing is schematically shown. Also, programs having a data transfer relationship are connected by a tangent line, and a distinction is made as to whether each transfer uses an external storage device or a pipeline method. In the form using the conventional technique of FIG. 17, the online processing program 1308 and the batch processing program 1
310, 1311, 1312 are merge programs 1
It can be seen that the execution of 501 is sequentially executed. On the other hand, in the embodiment of the present invention shown in FIG. 18, the online processing program and the batch processing program can be executed simultaneously, and thus the processing time can be shortened. Furthermore, there is no need to prepare an unnecessary external storage device when linking data, and data distribution to each batch process and batch saving of all data can be performed at the same time.
Not only the processing time but also the labor of the operator can be reduced.

【0076】引き続き、第3の実施例について説明す
る。第1の実施例、第2の実施例との違いは、後続ジョ
ブのうち、データを分割して受け取ることを指定する際
の、受け取り条件にある。これまでの実施例では、図4
で示したように、転送データ中の地域名称304の内容
がそれぞれ「XXXXXXXX」「YYYYYYYY」
「ZZZZZZZZ」のいずれかにより、3個の後続ジ
ョブに分割されていた。更に、第1の実施例の説明中で
言及したように、これらの実施例で扱う銀行システムで
は、全支店は上記の3つの地域名称で示されたいずれか
の地域に3分割されている。そこで各データは、これら
3個の後続ジョブのいずれか1つには必ず転送され、か
つ、2つ以上の後続ジョブに転送されることはない。よ
って、これら3個の後続ジョブに分割して転送されたデ
ータを合わせたものは、全データ一括転送した場合と比
べて過不足はない。この特徴を利用すれば、データの分
割転送と全データ一括転送とを同時に行わず、分割転送
のみを行ったとしても、各後続ジョブに転送されたデー
タ列それぞれを保存することにより、ジャーナルの保存
という要求を満たすことができる。ただし、この場合は
全データ一括転送を伴う形態と比較し、信頼性は格段に
落ちる点に注意が必要である。
Next, the third embodiment will be described. The difference from the first and second embodiments lies in the receiving condition when specifying to receive the data in a divided manner in the succeeding job. In the embodiments described so far, FIG.
As shown in, the contents of the area name 304 in the transfer data are “XXXXXXXXX” and “YYYYYYYY”, respectively.
It was divided into three subsequent jobs by any of "ZZZZZZZZ". Further, as mentioned in the description of the first embodiment, in the banking system handled in these embodiments, all branches are divided into three areas, which are indicated by the above three area names. Therefore, each data is always transferred to any one of these three subsequent jobs, and is never transferred to two or more subsequent jobs. Therefore, the data obtained by dividing and transferring the data divided into these three succeeding jobs has no excess or deficiency as compared with the case where all the data are collectively transferred. By using this feature, you can save the journal by saving each data string transferred to each succeeding job even if only the divided transfer is performed without simultaneously performing the divided transfer of data and the batch transfer of all data. Can meet the demand. However, it should be noted that in this case, the reliability is markedly lower than that of the form involving batch transfer of all data.

【0077】一方、第3の実施例の各ジョブに対するジ
ョブ制御文を、図19に示す。実行処理数は、第1の実
施例と同じく、先行ジョブ数=2、データ分割転送要求
後続ジョブ数=3、全データ転送要求後続ジョブ数=1
である。図19において、1901、1902が先行ジ
ョブに対するジョブ制御文、1903、1904、19
05がデータ分割転送要求後続ジョブに対するジョブ制
御文、1906が全データ転送要求後続ジョブに対する
ジョブ制御文である。図4との最も大きな違いは、19
03から1905におけるPIPESLCTパラメタの
内容、すなわち、分割転送に際しての転送条件にある。
ここで、転送レコードの構成は第1の実施例と同じく図
3で示す構成をしているとする。そのとき、ジョブ制御
文1903では「地域名称304が「XXXXXXX
X」と等しいレコードのみ転送」、ジョブ制御文190
4では「処理種別306が「CCCCCCCC」と等し
いレコードのみ転送」、ジョブ制御文1905では「処
理金額307が1000000より大きいレコードのみ
転送」との条件を、それぞれ指示している。なお、処理
種別は「現金引き落とし」等、オンライン処理の種類を
格納するフィールドであるが、その際「CCCCCCC
C」とはいずれかの処理種別をコード化したものとす
る。
On the other hand, FIG. 19 shows the job control statement for each job of the third embodiment. The number of executed processes is the same as in the first embodiment: the number of preceding jobs = 2, the number of data division transfer request subsequent jobs = 3, the total data transfer request subsequent jobs = 1
It is. In FIG. 19, 1901 and 1902 are job control statements for preceding jobs, and 1903, 1904, and 19.
Reference numeral 05 is a job control statement for the job following the data division transfer request, and reference numeral 1906 is a job control statement for the job following the all data transfer request. The biggest difference from Fig. 4 is 19
The contents of the PIPESLCT parameter from 03 to 1905, that is, the transfer conditions for division transfer.
Here, it is assumed that the transfer record has the structure shown in FIG. 3 as in the first embodiment. At that time, in the job control statement 1903, “the area name 304 is“ XXXXXXXXX ”
X only transfer records equal to "", job control statement 190
4 indicates that only the records whose processing type 306 is equal to “CCCCCCCC” are transferred, and the job control statement 1905 states that “only the records whose processing amount 307 is larger than 1000000 are transferred”. The processing type is a field that stores the type of online processing, such as "cash withdrawal".
It is assumed that “C” is a code of any processing type.

【0078】第1の実施例、第2の実施例では、複数の
バッチ処理にデータを分割転送する理由は、全レコード
を複数の地域単位に分けて、いわば部分集合ごとに集計
処理を並列実行することで、処理時間短縮を図ることに
あった。それに対して、本第3の実施例においてデータ
を分割転送する理由は、それぞれ異なるデータのみを必
要とし、異なる集計処理を実行するバッチ処理が複数個
存在するときに、それらのバッチ処理プログラムに対し
てデータを振り分けることにある。このとき、上記3つ
のジョブの転送条件に対して、そのすべての条件を満た
す転送レコードもあれば、いずれの条件も満たさない転
送レコードもある。よって、本実施例では、各ジョブに
対して分割転送されたデータ列をそれぞれ個別に保管す
るだけでは、ジャーナル保存としての目的を果たすこと
ができない。このように、分割転送を要求している各後
続ジョブに対し、それぞれに転送されたデータの集合
が、元のジャーナルデータに対して重複、もしくは欠落
などが生じるような転送条件が設定されている場合に
は、本発明を用いたデータ分割転送と全データ一括転送
との同時実行がより有効である。
In the first and second embodiments, the reason for dividing and transferring the data to a plurality of batch processes is that all records are divided into a plurality of regional units and, so to speak, the aggregation process is executed in parallel for each subset. By doing so, the processing time was shortened. On the other hand, the reason why the data is divided and transferred in the third embodiment is that when different batch processes for executing different aggregation processes are required because different data are required for each batch process program. To distribute the data. At this time, with respect to the transfer conditions of the above three jobs, there are transfer records that satisfy all of the conditions, and there are transfer records that do not satisfy any of the conditions. Therefore, in the present embodiment, it is not possible to achieve the purpose of journal storage only by individually storing the data strings divided and transferred for each job. In this way, for each succeeding job requesting divided transfer, a transfer condition is set so that the set of data transferred to each of the succeeding jobs may be duplicated or missing from the original journal data. In this case, simultaneous execution of data division transfer and batch transfer of all data using the present invention is more effective.

【0079】引き続き、第4の実施例について説明す
る。図20に、第4の実施例のシステム構成図を示す。
図13で示した第2の実施例と比べると、図20では、
全データ一括転送を要求しているジョブが、第4のバッ
チ処理プログラム2001、第5のバッチ処理プログラ
ム2002、第6のバッチ処理プログラム2003と複
数個存在している点に違いがある。第3の実施例までの
システムでは、分割データ転送とは別に全データを一括
して転送する目的は、もっぱらジャーナルデータを保存
することにあった。そのため、データ生成側の先行ジョ
ブや、分割データ転送を要求する後続ジョブが、状況に
応じて任意のその数を変化させることが想定されるのに
対し、全データ一括転送を要求する後続ジョブの数は常
に1個で十分であった。
Next, the fourth embodiment will be described. FIG. 20 shows a system configuration diagram of the fourth embodiment.
Compared to the second embodiment shown in FIG. 13, in FIG.
The difference is that there are a plurality of jobs requesting the batch transfer of all data, that is, a fourth batch processing program 2001, a fifth batch processing program 2002, and a sixth batch processing program 2003. In the systems up to the third embodiment, the purpose of collectively transferring all the data separately from the divided data transfer was to store the journal data exclusively. Therefore, while it is expected that the preceding job on the data generation side or the succeeding job that requests divided data transfer will change its number arbitrarily depending on the situation, the subsequent job that requests batch transfer of all data One was always sufficient.

【0080】それに対し、本第4の実施例では、各バッ
チ処理計算機1305に振り分けられたバッチ処理のう
ち、一部のバッチ処理計算機上のバッチ処理は、分割さ
れたデータのみを入力として要求しており、また別のバ
ッチ処理計算機上のバッチ処理は、全データの入力を要
求している。各バッチ処理計算機に振り分けられたバッ
チ処理プログラムがそのような性質を持つ場合にも、本
発明の技術を用いて、全バッチ計算機に対し、オンライ
ン処理側が生成したデータを同時に転送することが可能
である。
On the other hand, in the fourth embodiment, among the batch processes distributed to the respective batch process computers 1305, some batch process computers require batch data only as input. Batch processing on another batch processing computer requires input of all data. Even if the batch processing program distributed to each batch processing computer has such a property, it is possible to simultaneously transfer the data generated by the online processing side to all batch computers by using the technique of the present invention. is there.

【0081】引き続き、第5の実施例について説明す
る。図21に、第5の実施例のシステム構成図を示す。
本第5の実施例でも、これまでの実施例と同様、選択デ
ータの受け渡しと、全データの受け渡しを同時に行って
いる。ここで、選択データを受け取る第1のバッチ処理
プログラム1310、第2のバッチ処理プログラム13
11のデータ選択基準は、例えばそれぞれ図19で示し
た第3の実施例のジョブ制御文1903及び1904と
等しいものとする。これと同時に、全データを受け取
り、ジャーナルデータを一括して保存するバックアップ
プログラム1313が、第3のバッチ処理計算機130
5にて実行されている。
Next, the fifth embodiment will be described. FIG. 21 shows a system configuration diagram of the fifth embodiment.
Also in the fifth embodiment, as in the previous embodiments, the selection data is transferred and all the data is transferred at the same time. Here, the first batch processing program 1310 and the second batch processing program 13 that receive the selection data
The data selection criterion 11 is equal to the job control statements 1903 and 1904 of the third embodiment shown in FIG. 19, respectively. At the same time, the backup program 1313 that receives all the data and saves the journal data in a batch is executed by the third batch processing computer 130.
It is being executed in 5.

【0082】これまでの実施例と異なる点は、第1のバ
ッチ処理プログラム1310、及び、第2のバッチ処理
プログラム1311が実行されている第1のバッチ処理
計算機1305、第2のバッチ処理計算機1305にお
いても、更にバックアッププログラム1313が実行さ
れている点にある。この際、それぞれのバックアッププ
ログラム1313は、計算機間パイプライン実行制御部
1301に対して、選択データの転送を要求しているも
のとする。更に、それぞれのバックアッププログラム1
313のデータ選択基準は、同一のバッチ処理計算機1
305内で実行されているバッチ処理プログラムのデー
タ選択基準と同じく、図19で示したジョブ制御文19
03及び1904に、それぞれ従うものとする。すなわ
ち、第1のバッチ処理計算機1305内のバックアップ
プログラム1313は、第1のバッチ処理プログラム1
310と同一のデータを受け取ることを要求しており、
同様に、第2のバッチ処理計算機1305内のバックア
ッププログラム1313は、第2のバッチ処理プログラ
ム1311と同一のデータを受け取ることを要求してい
る。第4の実施例では、全データ転送が多重化された例
を示したが、本第5の実施例は、いわば選択データ転送
の多重化(二重化)された例を示している。このような
処理を実現することにより、全ジャーナルデータを一括
して保存するのみならず、更に特定の条件を満たすデー
タだけを部分的に保存したいという要求をも満たすこと
が可能となる。本実施例では、それぞれ異なる条件によ
って抽出された第1の部分保存ジャーナルファイル21
01、第2の部分保存ジャーナルファイル2102が生
成されている。
The difference from the above-described embodiments is that the first batch processing computer 1305 and the second batch processing computer 1305 in which the first batch processing program 1310 and the second batch processing program 1311 are executed. In this case, the backup program 1313 is further executed. At this time, each backup program 1313 requests the inter-computer pipeline execution control unit 1301 to transfer the selected data. Furthermore, each backup program 1
The data selection criterion of 313 is the same batch processing computer 1
Similarly to the data selection standard of the batch processing program executed in 305, the job control statement 19 shown in FIG.
03 and 1904, respectively. That is, the backup program 1313 in the first batch processing computer 1305 is the first batch processing program 1
Requesting to receive the same data as 310,
Similarly, the backup program 1313 in the second batch processing computer 1305 requests to receive the same data as the second batch processing program 1311. In the fourth embodiment, an example in which all data transfers are multiplexed is shown, but in the fifth embodiment, so to speak, an example in which selected data transfers are multiplexed (duplexed) is shown. By implementing such processing, it becomes possible not only to save all the journal data all at once, but also to satisfy the request to partially save only the data satisfying a specific condition. In this embodiment, the first partially saved journal file 21 extracted under different conditions
01, the second partial storage journal file 2102 is generated.

【0083】[0083]

【発明の効果】本発明によれば、ジョブ間でデータ引き
継ぎを行う必要があるとき、データを生成するジョブが
1つ以上存在し、それらの全ジョブからのデータを生成
順に受け取り、同データを一括して受け取り要求してい
るジョブが1つ以上存在し、それと同時に、所定の条件
に従い必要なデータのみの受け取り要求しているジョブ
が1つ以上存在する場合にも、パイプライン方法を用い
たジョブ間データ引き継ぎ処理適用可能となり、処理時
間を短縮できる。
According to the present invention, when it is necessary to transfer data between jobs, there is one or more jobs that generate data, receive data from all these jobs in the order of generation, and receive the same data. The pipeline method is used even when there are one or more jobs requesting to receive all at once, and at the same time, there are one or more jobs requesting to receive only necessary data according to a predetermined condition. Inter-job data transfer processing can be applied, and processing time can be shortened.

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

【図1】本発明の原理を示す図である。FIG. 1 is a diagram showing the principle of the present invention.

【図2】第1の実施例のシステム構成を示す図である。FIG. 2 is a diagram showing a system configuration of a first embodiment.

【図3】転送レコードの構成例を示す図である。FIG. 3 is a diagram showing a configuration example of a transfer record.

【図4】第1の実施例におけるジョブ制御文を示す図で
ある。
FIG. 4 illustrates a job control statement according to the first embodiment.

【図5】パイプライン情報格納テーブルの構成を示す図
である。
FIG. 5 is a diagram showing a configuration of a pipeline information storage table.

【図6】オープン処理実行部の処理フローチャートを示
す図である。
FIG. 6 is a diagram showing a processing flowchart of an open processing execution unit.

【図7】先行ジョブオープン処理の処理フローチャート
を示す図である。
FIG. 7 is a diagram illustrating a processing flowchart of a preceding job open processing.

【図8】後続ジョブオープン処理の処理フローチャート
を示す図である。
FIG. 8 is a diagram showing a processing flowchart of a subsequent job opening processing.

【図9】共通情報テーブル作成処理の処理フローチャー
トを示す図である。
FIG. 9 is a diagram showing a processing flowchart of a common information table creation processing.

【図10】個別情報テーブル作成処理の処理フローチャ
ートを示す図である。
FIG. 10 is a diagram showing a processing flowchart of individual information table creation processing.

【図11】データ書き込み要求時のジョブ同期制御部の
処理フローチャートを示す図である。
FIG. 11 is a diagram illustrating a processing flowchart of a job synchronization control unit when a data write request is made.

【図12】データ読み込み要求時のジョブ同期制御部の
処理フローチャートを示す図である。
FIG. 12 is a diagram illustrating a processing flowchart of a job synchronization control unit when a data read request is issued.

【図13】第2の実施例のシステム構成を示す図であ
る。
FIG. 13 is a diagram showing a system configuration of a second embodiment.

【図14】従来技術を用いたオンライン処理実行中の状
態を示す図である。
FIG. 14 is a diagram showing a state during execution of online processing using a conventional technique.

【図15】従来技術による複数ジャーナルファイルから
保存ジャーナルファイルの作成を説明するための図であ
る。
FIG. 15 is a diagram for explaining creation of a saved journal file from a plurality of journal files according to a conventional technique.

【図16】従来技術を用いたバッチ処理を説明するため
の図である。
FIG. 16 is a diagram for explaining batch processing using a conventional technique.

【図17】従来技術を用いた場合の処理の流れを説明す
るための図である。
FIG. 17 is a diagram for explaining the flow of processing when a conventional technique is used.

【図18】本発明を用いた場合の処理の流れを説明する
ための図である。
FIG. 18 is a diagram for explaining the flow of processing when the present invention is used.

【図19】第3の実施例におけるジョブ制御文を示す図
である。
FIG. 19 is a diagram showing a job control statement in the third embodiment.

【図20】第4の実施例のシステム構成を示す図であ
る。
FIG. 20 is a diagram showing a system configuration of a fourth embodiment.

【図21】第5の実施例のシステム構成を示す図であ
る。
FIG. 21 is a diagram showing a system configuration of a fifth embodiment.

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

1 パイプライン実行制御部 2 処理受け付け部 3 オープン処理実行部 4 クローズ処理実行部 5 ジョブ同期制御部 6 データ入出力制御部 7 バッファ領域 8 パイプライン情報格納領域 9 パイプライン情報格納テーブル 10 先行ジョブ 11 後続ジョブ 1 Pipeline Execution Control Unit 2 Process Reception Unit 3 Open Process Execution Unit 4 Close Process Execution Unit 5 Job Synchronization Control Unit 6 Data Input / Output Control Unit 7 Buffer Area 8 Pipeline Information Storage Area 9 Pipeline Information Storage Table 10 Predecessor Job 11 Successor job

───────────────────────────────────────────────────── フロントページの続き (72)発明者 長須賀 弘文 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 ─────────────────────────────────────────────────── ─── Continued Front Page (72) Inventor Hirofumi Nagasuka 1099, Ozenji, Aso-ku, Kawasaki-shi, Kanagawa Incorporated company Hitachi, Ltd. Systems Development Laboratory

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 一つ以上のジョブが生成する一つ以上の
データを、一つ以上のジョブが受け取る必要があると
き、データを生成するジョブ、データを受け取るジョブ
のすべてを並行に実行する機能、及び、主記憶装置また
はそれに準ずる補助記憶装置上に用意したバッファ領域
を介し、データを生成するジョブからデータを受け取る
ジョブへ、すべてのデータ生成が完了しなくとも、生成
済みのデータから順次受け渡し処理を実行する機能を有
する計算機システムにおいて、 データを生成する側の全てのジョブによって生成された
データを一つ以上のグループに分類するための分類基準
を予め設定し、データを受け取る側のすべてのジョブ
を、全データを受け取るジョブと、前記分類基準で分類
されたいずれかのグループに属するデータのみを受け取
るジョブとに分類し、該分類に従い各ジョブのジョブ制
御文を定義しておき、 データを生成する側の各ジョブによって生成されたデー
タを前記バッファ領域に格納し、 データを受け取る側のジョブから、データ受け取りの要
求がなされたとき、該ジョブが、前記全データを受け取
るジョブであるか、もしくは、前記いずれかのグループ
に属するデータのみを受け取るジョブであるかを判定
し、 該判定の結果、前記データを受け取る側のジョブが全デ
ータを受け取るジョブであると判定された場合、該ジョ
ブに対して前記バッファ領域を介して生成済みのデータ
をすべて受け渡し、 前記判定の結果、前記データを受け取る側のジョブがい
ずれかのグループに属するデータのみを受け取るジョブ
であると判定された場合、該ジョブの受け取るグループ
のデータのみを前記バッファ領域を介して該ジョブに対
して受け渡すことを特徴とする複数ジョブ間データ引き
継ぎ方法。
1. A function of executing, in parallel, all the jobs that generate data and the jobs that receive data when one or more jobs need to receive one or more data generated by one or more jobs. And, even if all the data generation is not completed, it is sequentially passed to the job that receives the data from the job that generates the data through the buffer area prepared on the main storage device or an auxiliary storage device that is similar to it. In a computer system that has the function of executing processing, the classification criteria for classifying the data generated by all jobs on the data generating side into one or more groups are set in advance, and all the data receiving side Only jobs that receive all data and data that belong to any of the groups classified by the above classification criteria Jobs to be received are classified, job control statements for each job are defined according to the classification, the data generated by each job that generates data is stored in the buffer area, and the job that receives the data When a request for data reception is made, it is determined whether the job is a job that receives all the data or a job that receives only data belonging to any one of the groups, and as a result of the determination, When it is determined that the job of the data receiving side is a job that receives all the data, all the generated data is passed to the job via the buffer area, and as a result of the determination, the side that receives the data If it is determined that the job is a job that receives only the data that belongs to any of the groups, Multiple jobs between the data migration method is characterized by passing against the job only groups of data through the buffer area to take.
【請求項2】 請求項1記載の複数ジョブ間データ引き
継ぎ方法において、 前記各ジョブのジョブ制御文の定義おいて、データを受
け取る側のジョブが、全データを受け取るジョブである
か、もしくは、いずれかのグループに属するデータのみ
を受け取るジョブであるかの指定を、該ジョブのジョブ
制御文内に記述し、さらに、データを受け取る側のジョ
ブが、いずれかのグループに属するデータのみを受け取
るジョブであると指定された場合には、該ジョブが受け
取るグループの種類も、該ジョブのジョブ制御文内に記
述しておくことを特徴とする複数ジョブ間データ引き継
ぎ方法。
2. The method of transferring data between a plurality of jobs according to claim 1, wherein in the definition of the job control statement of each job, the job that receives the data is a job that receives all data, or In the job control statement of the job, specify whether it is a job that receives only data that belongs to another group, and the job that receives the data is a job that receives only data that belongs to any group A method of inheriting data between a plurality of jobs, characterized in that, if specified, the type of group received by the job is also described in the job control statement of the job.
【請求項3】 請求項1または請求項2記載の複数ジョ
ブ間データ引き継ぎ方法において、 データを生成するジョブのジョブ制御文内に、データを
生成するジョブの数、全データを受け取るジョブの数、
特定のグループに属するデータのみを受け取るジョブの
数の指定を記述しておき、 データを生成するジョブから見たとき(前記バッファ領
域内に)できる引き継ぎ対象ファイルに対するアクセス
済みのジョブ数を、データを生成するジョブ、全データ
を受け取るジョブ、特定のグループに属するデータのみ
を受け取るジョブのそれぞれに分けて記録し、 引き継ぎ対象ファイルに対して新しいジョブがアクセス
するごとに、同ジョブがデータを生成する側のジョブで
あるか、全データを受け取るジョブであるか、特定のグ
ループに属するデータのみを受け取るジョブであるかを
判定し、 該判定において、新規にアクセスしたジョブがデータを
生成する側のジョブであると判定された場合には、前記
データを生成するジョブのジョブ制御文内に記述された
データを生成するジョブの数と、前記記録されたアクセ
ス済みのデータを生成するジョブの数を比較し、アクセ
ス済みのデータを生成するジョブ数がジョブ制御文で記
述されたデータを生成するジョブ数より小さいとき、該
新規ジョブのアクセスを許可し、アクセス済みのデータ
を生成するジョブ数に1を加算し、等しいとき、該新規
ジョブのアクセスを拒否し、同ジョブを異常終了し、 前記判定において、前記引き継ぎ対象ファイルに対して
新規にアクセスしたジョブが全データを受け取るジョブ
であると判定された場合には、前記データを生成するジ
ョブのジョブ制御文内に記述された全データを受け取る
ジョブ数と、前記記録されたアクセス済みの全データを
受け取るジョブ数を比較し、アクセス済みの全データを
受け取るジョブ数がジョブ制御文で記述された全データ
を受け取るジョブ数より小さいとき、該新規ジョブのア
クセスを許可し、アクセス済みの全データを生成するジ
ョブ数に1を加算し、等しいとき、該新規ジョブのアク
セスを拒否し、同ジョブを異常終了し、 前記判定において、前記引き継ぎ対象ファイルに対して
新規にアクセスしたジョブが特定のグループに属するデ
ータのみを受け取るジョブであると判定された場合に
は、前記データを生成するジョブのジョブ制御文内に記
述された特定のグループに属するデータのみを受け取る
ジョブ数と、前記記録されたアクセス済みの特定のグル
ープに属するデータのみを受け取るジョブ数を比較し、
アクセス済みの特定のグループに属するデータのみを受
け取るジョブ数がジョブ制御文で記述された特定のグル
ープに属するデータのみを受け取るジョブ数より小さい
とき、該新規ジョブのアクセスを許可し、アクセス済み
の特定のグループに属するデータのみを生成するジョブ
数に1を加算し、等しいとき、該新規ジョブのアクセス
を拒否し、同ジョブを異常終了することを特徴とする複
数ジョブ間データ引き継ぎ方法。
3. The data transfer method between multiple jobs according to claim 1, wherein the number of jobs generating data, the number of jobs receiving all data, in a job control statement of a job generating data,
Describe the specification of the number of jobs that receive only the data that belongs to a specific group, and specify the number of jobs that have been accessed for the files to be inherited as seen from the job that generates the data (in the buffer area). The job is created, the job that receives all the data, and the job that receives only the data that belongs to a specific group are recorded separately, and each time the new job accesses the file to be inherited, the job that creates the data Job, a job that receives all data, or a job that receives only data that belongs to a specific group, and the newly accessed job is the job that generates the data. If it is determined that the job is in the job control statement of the job that generates the data, The number of jobs that generate the described data is compared with the number of jobs that generate the recorded accessed data, and the number of jobs that generate the accessed data generates the data described in the job control statement. When the number of jobs is smaller than the number of jobs to be performed, the access of the new job is permitted, 1 is added to the number of jobs that generate the accessed data, and when they are equal, the access of the new job is denied, and the job is abnormally terminated. When it is determined in the above determination that the job newly accessing the transfer target file is a job that receives all data, all the data described in the job control statement of the job that generates the data is Compare the number of jobs to receive with the number of jobs to receive all the recorded accessed data, and receive all accessed data When the number of jobs is smaller than the number of jobs that receive all the data described in the job control statement, the access of the new job is permitted, and 1 is added to the number of jobs that generate all the accessed data. When a new job is rejected, the same job is abnormally terminated, and it is determined in the above determination that the newly accessed job is a job that receives only data belonging to a specific group. Compares the number of jobs that receive only the data belonging to the specific group described in the job control statement of the job that generates the data with the number of jobs that receive only the data that belongs to the recorded and accessed specific group. Then
When the number of jobs that receive only the data that belongs to the accessed specific group is less than the number of jobs that receive only the data that belongs to the specific group described in the job control statement, the access of the new job is permitted and the accessed specific 1 is added to the number of jobs that generate only data belonging to the group, and when they are equal, the access of the new job is denied and the same job is abnormally terminated.
【請求項4】 一つ以上のジョブが生成する一つ以上の
データを、一つ以上のジョブが受け取る必要があると
き、データを生成するジョブ、データを受け取るジョブ
のすべてを並行に実行する機能、及び、主記憶装置また
はそれに準ずる補助記憶装置上に用意したバッファ領域
を介し、データを生成するジョブからデータを受け取る
ジョブへ、すべてのデータ生成が完了しなくとも、生成
済みのデータから順次受け渡し処理を実行する機能を有
する計算機システムにおいて、 データを受け取る側のすべてのジョブを、全データを受
け取るジョブと、一部のデータのみを受け取るジョブと
に分類し、該分類に従い各ジョブのジョブ制御文を定義
し、一部のデータのみを受け取るジョブのジョブ制御文
には受け取るデータの条件を指定しておき、 データを生成する側の各ジョブによって生成されたデー
タを前記バッファ領域に格納し、 データを受け取る側のジョブから、データ受け取りの要
求がなされたとき、該ジョブが、前記全データを受け取
るジョブであるか、もしくは、前記一部のデータのみを
受け取るジョブであるかを判定し、 該判定の結果、前記データを受け取る側のジョブが全デ
ータを受け取るジョブであると判定された場合、該ジョ
ブに対して前記バッファ領域を介して生成済みのデータ
をすべて受け渡し、 前記判定の結果、前記データを受け取る側のジョブが前
記一部のデータのみを受け取るジョブであると判定され
た場合、前記受け取るデータの条件を満たすデータのみ
を前記バッファ領域を介して該ジョブに対して受け渡す
ことを特徴とする複数ジョブ間データ引き継ぎ方法。
4. A function that, when one or more jobs need to receive one or more data generated by one or more jobs, executes all the jobs that generate the data and the jobs that receive the data in parallel. , And through the buffer area prepared on the main memory device or its equivalent auxiliary memory device, to the job that receives the data from the job that generates the data, even if all the data generation is not completed In a computer system having a function of executing processing, all jobs that receive data are classified into jobs that receive all data and jobs that receive only some data, and the job control statements for each job are classified according to the classification. Is defined, and the condition of the received data is specified in the job control statement of the job that receives only some data. The data generated by each job of the data generating side is stored in the buffer area, and when the job of the data receiving side requests the data reception, the job is the job of receiving all the data. Yes, or if it is a job that receives only the part of the data, and if the result of the determination is that the job that receives the data is a job that receives all the data, On the other hand, if all the generated data is passed through the buffer area, and as a result of the determination, the job that receives the data is determined to be a job that receives only the partial data, Data between a plurality of jobs, characterized in that only data satisfying the conditions is transferred to the job via the buffer area. Can splicing method.
【請求項5】 請求項4記載の複数ジョブ間データ引き
継ぎ方法において、 前記各ジョブのジョブ制御文の定義おいて、データを受
け取る側のジョブが、全データを受け取るジョブである
か、もしくは、一部のデータのみを受け取るジョブであ
るかの指定を、該ジョブのジョブ制御文内に記述し、さ
らに、データを受け取る側のジョブが、一部のデータの
みを受け取るジョブであると指定された場合には、該ジ
ョブが受け取るデータの条件を、該ジョブのジョブ制御
文内に記述しておくことを特徴とする複数ジョブ間デー
タ引き継ぎ方法。
5. The method of transferring data between a plurality of jobs according to claim 4, wherein in the definition of the job control statement of each job, the job that receives the data is a job that receives all data, or When the job control statement of the job describes that the job is a job that receives only partial data, and the job that receives the data is specified as a job that receives only a part of the data In the method, the data transfer method between a plurality of jobs is characterized in that the condition of the data received by the job is described in the job control statement of the job.
【請求項6】 請求項4または請求項5記載の複数ジョ
ブ間データ引き継ぎ方法において、 データを生成するジョブのジョブ制御文内に、データを
生成するジョブの数、全データを受け取るジョブの数、
一部のデータのみを受け取るジョブの数の指定を記述し
ておき、 データを生成するジョブから見たとき(前記バッファ領
域内に)できる引き継ぎ対象ファイルに対するアクセス
済みのジョブ数を、データを生成するジョブ、全データ
を受け取るジョブ、一部のデータのみを受け取るジョブ
のそれぞれに分けて記録し、 引き継ぎ対象ファイルに対して新しいジョブがアクセス
するごとに、同ジョブがデータを生成する側のジョブで
あるか、全データを受け取るジョブであるか、特定のグ
ループに属するデータのみを受け取るジョブであるかを
判定し、 該判定において、新規にアクセスしたジョブがデータを
生成する側のジョブであると判定された場合には、前記
データを生成するジョブのジョブ制御文内に記述された
データを生成するジョブの数と、前記記録されたアクセ
ス済みのデータを生成するジョブの数を比較し、アクセ
ス済みのデータを生成するジョブ数がジョブ制御文で記
述されたデータを生成するジョブ数より小さいとき、該
新規ジョブのアクセスを許可し、アクセス済みのデータ
を生成するジョブ数に1を加算し、等しいとき、該新規
ジョブのアクセスを拒否し、同ジョブを異常終了し、 前記判定において、前記引き継ぎ対象ファイルに対して
新規にアクセスしたジョブが全データを受け取るジョブ
であると判定された場合には、前記データを生成するジ
ョブのジョブ制御文内に記述された全データを受け取る
ジョブ数と、前記記録されたアクセス済みの全データを
受け取るジョブ数を比較し、アクセス済みの全データを
受け取るジョブ数がジョブ制御文で記述された全データ
を受け取るジョブ数より小さいとき、該新規ジョブのア
クセスを許可し、アクセス済みの全データを生成するジ
ョブ数に1を加算し、等しいとき、該新規ジョブのアク
セスを拒否し、同ジョブを異常終了し、 前記判定において、前記引き継ぎ対象ファイルに対して
新規にアクセスしたジョブが一部のデータのみを受け取
るジョブであると判定された場合には、前記データを生
成するジョブのジョブ制御文内に記述された特定のグル
ープに属するデータのみを受け取るジョブ数と、前記記
録されたアクセス済みの一部のデータのみを受け取るジ
ョブ数を比較し、アクセス済みの一部のデータのみを受
け取るジョブ数がジョブ制御文で記述された一部のデー
タのみを受け取るジョブ数より小さいとき、該新規ジョ
ブのアクセスを許可し、アクセス済みの一部のデータの
みを受け取るジョブ数に1を加算し、等しいとき、該新
規ジョブのアクセスを拒否し、同ジョブを異常終了する
ことを特徴とする複数ジョブ間データ引き継ぎ方法。
6. The multi-job data transfer method according to claim 4, wherein the number of jobs generating data, the number of jobs receiving all data, in a job control statement of a job generating data,
Describe the specification of the number of jobs that receive only part of the data, and generate the data for the number of jobs that have already been accessed for the files to be inherited as seen from the job that generates the data (in the buffer area). This job is a job that generates data each time a job, a job that receives all data, and a job that receives only some data is recorded separately and a new job accesses the file to be inherited. It is determined whether it is a job that receives all data or a job that receives only data that belongs to a specific group. In the determination, it is determined that the newly accessed job is the job that generates data. If it is, the job that generates the data described in the job control statement of the job that generates the data The number of jobs for generating the recorded accessed data, and when the number of jobs for generating the accessed data is smaller than the number of jobs for generating the data described in the job control statement, the new The access of the job is permitted, 1 is added to the number of jobs that generate the accessed data, and when they are equal, the access of the new job is denied and the same job is abnormally terminated. On the other hand, when it is determined that the newly accessed job is a job that receives all the data, the number of jobs that receive all the data described in the job control statement of the job that generates the data and the recorded The number of jobs that receive all accessed data is compared, and the number of jobs that receive all accessed data is described in the job control statement. When it is smaller than the number of jobs that receive all data, the access of the new job is permitted, 1 is added to the number of jobs that generate all the accessed data, and when they are equal, the access of the new job is denied and the same job is If it is determined that the job that newly accessed the takeover target file is a job that receives only a part of the data, the job control statement of the job that generates the data is terminated. Compare the number of jobs that receive only the data that belongs to the specific group described in, and the number of jobs that receive only the recorded part of the accessed data, and find the number of jobs that receive only the part of the accessed data. When the number of jobs that receive only part of the data described in the job control statement is less than the number of jobs, access of the new job is permitted. It adds 1 to the number of jobs to receive only the accessed some data, when equal, a plurality of jobs among the data migration method is characterized in that deny access of the new job, abnormally terminated the job.
【請求項7】 一つ以上の計算機が、制御計算機を介し
て互いに連携を取り、全体としてあたかも一つの計算機
として処理を制御することが可能な計算機システムにお
いて、 それぞれ異なる計算機内で実行されている一つ以上のジ
ョブが生成する一つ以上のデータを、それらのジョブを
実行する計算機とは異なる計算機内で実行されている一
つ以上のジョブに受け渡す処理を前記制御計算機を介し
て行い、該制御計算機を介してジョブを受け渡す処理に
請求項1乃至請求項6のいずれかの請求項記載の複数ジ
ョブ間データ引き継ぎ方法を適用することを特徴とする
複数ジョブ間データ引き継ぎ方法。
7. A computer system in which one or more computers cooperate with each other via a control computer and are capable of controlling processing as if they were one computer as a whole, are executed in different computers. One or more data generated by one or more jobs, through the control computer, a process of delivering to one or more jobs executed in a computer different from the computer that executes those jobs, A data transfer method between a plurality of jobs, characterized in that the data transfer method between a plurality of jobs according to any one of claims 1 to 6 is applied to a process of transferring a job through the control computer.
JP8101849A 1996-04-01 1996-04-01 Data transfer method between plural jobs Pending JPH09269901A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8101849A JPH09269901A (en) 1996-04-01 1996-04-01 Data transfer method between plural jobs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8101849A JPH09269901A (en) 1996-04-01 1996-04-01 Data transfer method between plural jobs

Publications (1)

Publication Number Publication Date
JPH09269901A true JPH09269901A (en) 1997-10-14

Family

ID=14311503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8101849A Pending JPH09269901A (en) 1996-04-01 1996-04-01 Data transfer method between plural jobs

Country Status (1)

Country Link
JP (1) JPH09269901A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014063513A (en) * 2007-06-19 2014-04-10 Ip Reservoir Llc Method and apparatus for high speed processing of financial information
JP2015095075A (en) * 2013-11-12 2015-05-18 富士通株式会社 Job management program, job management method, and job management device
US9990393B2 (en) 2012-03-27 2018-06-05 Ip Reservoir, Llc Intelligent feed switch
US10037568B2 (en) 2010-12-09 2018-07-31 Ip Reservoir, Llc Method and apparatus for managing orders in financial markets
US10062115B2 (en) 2008-12-15 2018-08-28 Ip Reservoir, Llc Method and apparatus for high-speed processing of financial market depth data
US10121196B2 (en) 2012-03-27 2018-11-06 Ip Reservoir, Llc Offload processing of data packets containing financial market data
US10229453B2 (en) 2008-01-11 2019-03-12 Ip Reservoir, Llc Method and system for low latency basket calculation
US10650452B2 (en) 2012-03-27 2020-05-12 Ip Reservoir, Llc Offload processing of data packets
US11436672B2 (en) 2012-03-27 2022-09-06 Exegy Incorporated Intelligent switch for processing financial market data

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582831B2 (en) 2006-06-19 2017-02-28 Ip Reservoir, Llc High speed processing of financial information using FPGA devices
US9672565B2 (en) 2006-06-19 2017-06-06 Ip Reservoir, Llc High speed processing of financial information using FPGA devices
US9916622B2 (en) 2006-06-19 2018-03-13 Ip Reservoir, Llc High speed processing of financial information using FPGA devices
US10467692B2 (en) 2006-06-19 2019-11-05 Ip Reservoir, Llc High speed processing of financial information using FPGA devices
JP2014063513A (en) * 2007-06-19 2014-04-10 Ip Reservoir Llc Method and apparatus for high speed processing of financial information
US10229453B2 (en) 2008-01-11 2019-03-12 Ip Reservoir, Llc Method and system for low latency basket calculation
US10929930B2 (en) 2008-12-15 2021-02-23 Ip Reservoir, Llc Method and apparatus for high-speed processing of financial market depth data
US11676206B2 (en) 2008-12-15 2023-06-13 Exegy Incorporated Method and apparatus for high-speed processing of financial market depth data
US10062115B2 (en) 2008-12-15 2018-08-28 Ip Reservoir, Llc Method and apparatus for high-speed processing of financial market depth data
US11803912B2 (en) 2010-12-09 2023-10-31 Exegy Incorporated Method and apparatus for managing orders in financial markets
US10037568B2 (en) 2010-12-09 2018-07-31 Ip Reservoir, Llc Method and apparatus for managing orders in financial markets
US11397985B2 (en) 2010-12-09 2022-07-26 Exegy Incorporated Method and apparatus for managing orders in financial markets
US10121196B2 (en) 2012-03-27 2018-11-06 Ip Reservoir, Llc Offload processing of data packets containing financial market data
US10872078B2 (en) 2012-03-27 2020-12-22 Ip Reservoir, Llc Intelligent feed switch
US10963962B2 (en) 2012-03-27 2021-03-30 Ip Reservoir, Llc Offload processing of data packets containing financial market data
US10650452B2 (en) 2012-03-27 2020-05-12 Ip Reservoir, Llc Offload processing of data packets
US11436672B2 (en) 2012-03-27 2022-09-06 Exegy Incorporated Intelligent switch for processing financial market data
US9990393B2 (en) 2012-03-27 2018-06-05 Ip Reservoir, Llc Intelligent feed switch
JP2015095075A (en) * 2013-11-12 2015-05-18 富士通株式会社 Job management program, job management method, and job management device

Similar Documents

Publication Publication Date Title
US6105098A (en) Method for managing shared resources
US4104718A (en) System for protecting shared files in a multiprogrammed computer
US5251318A (en) Multiprocessing system comparing information copied from extended storage before and after processing for serializing access to shared resource
US6009426A (en) Method of managing a shared memory using read and write locks
US5924097A (en) Balanced input/output task management for use in multiprocessor transaction processing system
CA2338478C (en) Method and system for reconciling concurrent streams of transactions in a database
US5745915A (en) System for parallel reading and processing of a file
JPS62180429A (en) Lock management under multiplex processing environment
JP2006202337A (en) Method and device for data processing
US7770177B2 (en) System for memory reclamation based on thread entry and release request times
JPH09269901A (en) Data transfer method between plural jobs
JPH05128072A (en) Inter-system exclusive control system
JPWO2004036432A1 (en) Database accelerator
US7293144B2 (en) Cache management controller and method based on a minimum number of cache slots and priority
US7032085B2 (en) Storage system with a data sort function
JPH0844602A (en) Data managing device
US6499094B1 (en) Management of memory heap space for data files accessible to programs operating in different addressing modes
JPH10161915A (en) Data inheriting method for realizing exclusive control giving priority to subsequent job
JPS62287359A (en) Control system for simultaneous file access in loosely coupled multi-processor system
WO2022155937A1 (en) Security control method for dynamic link program
JP2615046B2 (en) Record addition processing method
JPH09114684A (en) Job distribution method
JP3511935B2 (en) File writing method in multi-thread program
JP4209859B2 (en) Database management apparatus and program
JPS63292456A (en) Control system for medium assignment of plural medium containing type data recorder