[go: up one dir, main page]

JP2011043968A - Batch job processing device and batch job processing system - Google Patents

Batch job processing device and batch job processing system Download PDF

Info

Publication number
JP2011043968A
JP2011043968A JP2009191176A JP2009191176A JP2011043968A JP 2011043968 A JP2011043968 A JP 2011043968A JP 2009191176 A JP2009191176 A JP 2009191176A JP 2009191176 A JP2009191176 A JP 2009191176A JP 2011043968 A JP2011043968 A JP 2011043968A
Authority
JP
Japan
Prior art keywords
batch job
batch
job
load level
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009191176A
Other languages
Japanese (ja)
Other versions
JP5415183B2 (en
Inventor
Masayoshi Terakado
正善 寺門
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 Solutions Ltd
Original Assignee
Hitachi Solutions 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 Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2009191176A priority Critical patent/JP5415183B2/en
Publication of JP2011043968A publication Critical patent/JP2011043968A/en
Application granted granted Critical
Publication of JP5415183B2 publication Critical patent/JP5415183B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a batch job processing technique capable of avoiding an abnormal high-load state independently of the contents of batch processing to be input. <P>SOLUTION: In a batch job processing device, a batch job execution part executes only a batch job of a previously determined load level, and until execution of the batch job finishes, the batch job execution part does not execute a next batch job. <P>COPYRIGHT: (C)2011,JPO&amp;INPIT

Description

本発明は、バッチジョブ処理装置、バッチジョブ処理システムに関するものである。   The present invention relates to a batch job processing apparatus and a batch job processing system.

クライアント端末とサーバを有する情報システムにおいて、クライアント端末からサーバに対し、バッチ処理を実行するよう要求する場合がある。一般に、バッチ処理は実行が完了するまで時間がかかる。そのため、クライアント端末からバッチ処理の実行要求を受信した時点で即座にそのバッチ処理を実行し、応答結果をそのクライアント端末に即座に返信する、ということは困難である。   In an information system having a client terminal and a server, the client terminal may request the server to execute batch processing. Generally, batch processing takes time until execution is completed. For this reason, it is difficult to immediately execute the batch process when a batch process execution request is received from the client terminal and immediately return a response result to the client terminal.

そこで、バッチ処理の実行要求があった時点では、その実行スケジュール等のみをサーバに登録しておき、後に改めてサーバ側でそのバッチ処理を実行する、という手法が採用される場合がある。このように、オンラインのバッチ処理実行要求とオフラインのバッチ実行処理を連携するシステムを、オンラインバッチシステムなどと呼ぶ。   Therefore, there is a case in which, when there is a request for execution of batch processing, only the execution schedule or the like is registered in the server, and the batch processing is executed again on the server side later. A system that links online batch process execution requests and offline batch execution processes in this way is called an online batch system.

オンラインバッチシステムは、クライアント端末、Webサーバ、データベース、バッチジョブスケジューリングサーバ、バッチ実行サーバなどの機器を用いて構成することができる。上記構成の下では、クライアント端末はバッチ処理の内容と実行スケジュールをWebサーバに送信し、Webサーバはその情報をデータベースに格納する。バッチジョブスケジューリングサーバは、データベースからバッチ処理の内容と実行スケジュールを取得し、その実行スケジュールにしたがってジョブ実行をスケジューリングする。バッチ実行サーバは、そのスケジュールにしたがってバッチ処理を実行する。   The online batch system can be configured using devices such as a client terminal, a Web server, a database, a batch job scheduling server, and a batch execution server. Under the above configuration, the client terminal transmits the contents of the batch processing and the execution schedule to the Web server, and the Web server stores the information in the database. The batch job scheduling server acquires the contents and execution schedule of batch processing from the database, and schedules job execution according to the execution schedule. The batch execution server executes batch processing according to the schedule.

上記のようなオンラインバッチシステムによれば、オンラインのバッチ処理実行要求はデータベースに情報を格納するまでで完了し、バッチ処理そのものはオンライン処理とは非同期で実行される。そのため、オンラインのバッチ処理実行要求に対しては即座に応答を返信しつつ、オフライン処理も実行することができるので、オンライン処理とオフライン処理を連動させることができる。   According to the online batch system as described above, the online batch processing execution request is completed until information is stored in the database, and the batch processing itself is executed asynchronously with the online processing. Therefore, an offline process can also be executed while a response is immediately returned to an online batch process execution request, so that the online process and the offline process can be linked.

本発明に関連する公知技術文献として、下記特許文献1、特許文献2、特許文献3があげられる。   As known technical documents related to the present invention, there are Patent Document 1, Patent Document 2, and Patent Document 3 below.

特開平07−049837号公報JP 07-049837 A 特開平07−244653号公報Japanese Patent Application Laid-Open No. 07-244653 特開2000−207482号公報JP 2000-207482 A

一般に、バッチ処理システムの負荷は、バッチジョブの内容やデータ量が推移することにともなって変化する。しかし、バッチ処理を要求する際に、その処理負荷は全く考慮されないか、もしくは経験則程度にしか考慮されない場合がある。   In general, the load on the batch processing system changes as the contents of the batch job and the data amount change. However, when requesting batch processing, the processing load may not be considered at all, or may be considered only to the extent of an empirical rule.

そのため、負荷の高いバッチ処理要求が連続して発生すると、ジョブの処理待ちキューにその高負荷バッチ処理が連続して登録されることになる。一般にジョブの実行が完了するまで他のジョブは実行待ち状態となるため、上記のような状況が発生すると、ジョブ実行モジュールが高負荷バッチ処理によって長時間専有されてしまう。例えばオンライン業務のピーク時間帯に上記のような状況が発生すると、単に業務に支障がでるのみならず、システムダウンを誘発する可能性もある。   Therefore, when a batch processing request with a high load is generated continuously, the high-load batch processing is continuously registered in the job processing queue. In general, other jobs are in a waiting state until the job execution is completed. Therefore, when the above situation occurs, the job execution module is occupied for a long time by high-load batch processing. For example, if such a situation occurs during the peak hours of online work, not only will the work be hindered, but it may also lead to a system down.

本発明は、上記のような課題を解決するためになされたものであり、投入されるバッチ処理の内容によらず、異常な高負荷状態を回避することのできるバッチジョブ処理技術を提供することを目的とする。   The present invention has been made to solve the above-described problems, and provides a batch job processing technique capable of avoiding an abnormally high load state regardless of the contents of the input batch processing. With the goal.

本発明に係るバッチジョブ処理装置において、バッチジョブ実行部は、あらかじめ定められた負荷レベルのバッチジョブのみを実行し、そのバッチジョブの実行が終了するまで次のバッチジョブを実行しない。   In the batch job processing apparatus according to the present invention, the batch job execution unit executes only a batch job at a predetermined load level, and does not execute the next batch job until the execution of the batch job is completed.

本発明に係るバッチジョブ処理装置において、バッチジョブ実行部は自己が対象とする負荷レベルのバッチジョブを1つのみしか実行しない。これにより、高負荷のバッチジョブが連続して投入されても、その高負荷バッチジョブが同時に実行される個数を所定限度以内に抑えることができる。したがって、投入されるバッチ処理の内容によらず、異常な高負荷状態を回避することができる。   In the batch job processing apparatus according to the present invention, the batch job execution unit executes only one batch job of the load level targeted by itself. As a result, even if high-load batch jobs are continuously submitted, the number of high-load batch jobs that are simultaneously executed can be suppressed within a predetermined limit. Therefore, an abnormally high load state can be avoided regardless of the contents of the batch process to be input.

実施の形態1に係るバッチジョブ処理システム1000の構成図である。1 is a configuration diagram of a batch job processing system 1000 according to Embodiment 1. FIG. スケジュールテーブル340の構成とデータ例を示す図である。It is a figure which shows the structure and data example of a schedule table 340. パラメータテーブル350の構成とデータ例を示す図である。It is a figure which shows the structure of a parameter table 350, and a data example. Webサーバ200の動作を説明するフローである。It is a flow explaining operation | movement of the Web server 200. FIG. バッチジョブ取得部310の動作フローである。It is an operation | movement flow of the batch job acquisition part 310. FIG. 実施の形態2に係るバッチジョブ処理システム1000の構成図である。6 is a configuration diagram of a batch job processing system 1000 according to Embodiment 2. FIG. ジョブキュー360の内部構成を示す模式図である。3 is a schematic diagram showing an internal configuration of a job queue 360. FIG. 実施の形態2におけるバッチジョブ取得部310の動作フローである。10 is an operation flow of the batch job acquisition unit 310 according to the second embodiment. 実施の形態2におけるバッチジョブ実行部320の動作フローである。10 is an operation flow of the batch job execution unit 320 according to the second embodiment. 実施の形態3に係るバッチジョブ処理システム1000の構成図である。FIG. 10 is a configuration diagram of a batch job processing system 1000 according to a third embodiment. 実施の形態3におけるバッチジョブ実行部320の動作フローのうち、図9のステップS905に該当する部分の詳細を示す図である。FIG. 10 is a diagram illustrating details of a part corresponding to step S905 in FIG. 9 in the operation flow of the batch job execution unit 320 according to the third embodiment. 実施の形態5に係るバッチジョブ処理システム1000の構成図である。FIG. 10 is a configuration diagram of a batch job processing system 1000 according to a fifth embodiment.

<実施の形態1>
図1は、本発明の実施の形態1に係るバッチジョブ処理システム1000の構成図である。バッチジョブ処理システム1000は、バッチジョブの実行要求を受け付けてそのバッチジョブを実行するオンラインバッチシステムであり、クライアント端末100、Webサーバ200、バッチジョブ処理装置300を有する。
<Embodiment 1>
FIG. 1 is a configuration diagram of a batch job processing system 1000 according to Embodiment 1 of the present invention. The batch job processing system 1000 is an online batch system that receives a batch job execution request and executes the batch job, and includes a client terminal 100, a Web server 200, and a batch job processing apparatus 300.

クライアント端末100は、ユーザがバッチジョブ処理装置300に対するバッチジョブ処理要求を投入するために用いる操作端末である。ユーザは、例えばWebブラウザを用いてWebサーバ200にアクセスし、Webページ上でジョブの内容、負荷レベル、実行スケジュールなどを入力し、これらをWebサーバ200に送信する。   The client terminal 100 is an operation terminal used for a user to submit a batch job processing request to the batch job processing apparatus 300. The user accesses the Web server 200 using, for example, a Web browser, inputs job contents, load level, execution schedule, and the like on the Web page, and transmits them to the Web server 200.

Webサーバ200は、バッチジョブ受付部210を備える。バッチジョブ受付部210は、クライアント端末100からバッチジョブ処理要求を受け取り、後述のデータベース330に格納する。バッチジョブ受付部210は、例えばCGI(Common Gateway Interface)やServletなどの技術を用いたWebアプリケーションとして構成することができる。   The Web server 200 includes a batch job reception unit 210. The batch job reception unit 210 receives a batch job processing request from the client terminal 100 and stores it in a database 330 described later. The batch job reception unit 210 can be configured as a Web application using a technique such as CGI (Common Gateway Interface) or Servlet.

バッチジョブ処理装置300は、ユーザがクライアント端末100を用いて投入したバッチジョブ処理要求を実行する装置であり、バッチジョブ取得部310、バッチジョブ実行部320、データベース330を備える。   The batch job processing device 300 is a device that executes a batch job processing request submitted by a user using the client terminal 100, and includes a batch job acquisition unit 310, a batch job execution unit 320, and a database 330.

バッチジョブ取得部310は、データベース330が格納している後述のスケジュールテーブル340よりバッチジョブの実行スケジュールを取得し、その実行スケジュールに応じて、バッチジョブを実行するようバッチジョブ実行部320に指示する。   The batch job acquisition unit 310 acquires a batch job execution schedule from a schedule table 340 described later stored in the database 330, and instructs the batch job execution unit 320 to execute the batch job according to the execution schedule. .

バッチジョブ実行部320は、3個のバッチジョブ実行部321、322および323の総合体である。以下、これらを総称するときは、バッチジョブ実行部320と呼ぶ。バッチジョブ実行部320は、バッチジョブ取得部310よりバッチジョブを実行するように指示を受け、データベース330が格納している後述のパラメータテーブル350よりバッチジョブの内容を取得し、そのバッチジョブを実行する。   The batch job execution unit 320 is an integrated body of three batch job execution units 321, 322, and 323. Hereinafter, these are collectively referred to as a batch job execution unit 320. The batch job execution unit 320 receives an instruction from the batch job acquisition unit 310 to execute the batch job, acquires the contents of the batch job from a parameter table 350 (to be described later) stored in the database 330, and executes the batch job. To do.

データベース330は、後述の図2〜図3で説明するスケジュールテーブル340とパラメータテーブル350を格納する。   The database 330 stores a schedule table 340 and a parameter table 350 described later with reference to FIGS.

バッチジョブ取得部310、バッチジョブ実行部320は、これらの機能を実現する回路デバイスのようなハードウェアを用いて構成することもできるし、CPU(Central Processing Unit)などの演算装置とその動作を規定するソフトウェアを用いて構成することもできる。後者の場合は、各部をソフトウェアモジュールなどの形態で実装することができる。   The batch job acquisition unit 310 and the batch job execution unit 320 can be configured by using hardware such as a circuit device that realizes these functions, or an arithmetic device such as a CPU (Central Processing Unit) and its operation. It can also be configured using prescribed software. In the latter case, each unit can be implemented in the form of a software module or the like.

データベース330は、各テーブルのデータを記録するデータファイルと、HDD(Hard Disk Drive)のような書き込み可能な記憶装置などを用いて構成することができる。   The database 330 can be configured by using a data file that records data of each table and a writable storage device such as an HDD (Hard Disk Drive).

図2は、スケジュールテーブル340の構成とデータ例を示す図である。スケジュールテーブル340は、クライアント端末100から受け取ったバッチジョブ処理要求の実行スケジュールを保持するテーブルである。各レコードは、個々のバッチジョブの実行スケジュールを保持する。   FIG. 2 is a diagram illustrating a configuration of the schedule table 340 and data examples. The schedule table 340 is a table that holds an execution schedule of batch job processing requests received from the client terminal 100. Each record holds an execution schedule of an individual batch job.

スケジュールテーブル340は、「No」列341、「実行日時」列342、「種別」列343、「負荷レベル」列344、「バッチID」列345、「結果出力先」列346、「ステータス」列347、「有効」列348を有する。   The schedule table 340 includes a “No” column 341, an “execution date / time” column 342, a “type” column 343, a “load level” column 344, a “batch ID” column 345, a “result output destination” column 346, and a “status” column. 347, has a “valid” column 348.

「No」列341は、テーブル内の各レコードを識別するための通番である。   The “No” column 341 is a serial number for identifying each record in the table.

「実行日時」列342は、バッチジョブの実行予定日時を保持する。   The “execution date and time” column 342 holds the scheduled execution date and time of the batch job.

「種別」列343は、バッチジョブの種類を表す。本列の値が「通常」である場合、当該バッチジョブはオフラインバッチとして予約実行される。本列の値が「即時」である場合、当該バッチジョブは即時実行される。その他、同じ時刻などで定期的に起動する「定期」などの種別を登録できるようにしてもよい。   The “type” column 343 indicates the type of batch job. When the value of this column is “normal”, the batch job is reserved and executed as an offline batch. When the value of this column is “immediate”, the batch job is immediately executed. In addition, it may be possible to register a type such as “periodic” that is periodically activated at the same time.

「負荷レベル」列344は、当該バッチジョブの処理負荷の高低を表す。本列の数値が高いほど、処理負荷が高いことを意味する。本実施の形態1では、「負荷レベル=3」が最も処理負荷が高く、「負荷レベル=1」が最も処理負荷が低いものとする。「負荷レベル=0」の場合は、負荷レベルの値が未定義であることを意味する。   The “load level” column 344 indicates the level of processing load of the batch job. A higher value in this column means a higher processing load. In the first embodiment, “load level = 3” has the highest processing load, and “load level = 1” has the lowest processing load. “Load level = 0” means that the value of the load level is undefined.

「バッチID」列345は、当該バッチジョブを識別するためのIDを保持する。   The “batch ID” column 345 holds an ID for identifying the batch job.

「結果出力先」列346は、当該バッチジョブの実行結果を出力するファイル名を保持する。実行結果を出力する必要がないバッチジョブの場合は、本列は空でもよい。   The “result output destination” column 346 holds a file name to which the execution result of the batch job is output. This column may be empty for batch jobs that do not require output of execution results.

「ステータス」列347は、当該バッチジョブの実行結果を示す。本列は、例えば「成功」「失敗」「未実行」「実行中」「待機」などの値をとり得る。「負荷レベル=0」となっているレコードは、本列の値を「待機」とする。   The “status” column 347 indicates the execution result of the batch job. This column can take values such as “success”, “failure”, “unexecuted”, “running”, and “waiting”. For records with “load level = 0”, the value in this column is set to “standby”.

「有効」列348は、当該バッチジョブが有効であるか否かを表す。本列の値が「有効」である場合は、当該バッチジョブは「実行日時」列342の値で指定される日時に実行される。いったん予約したジョブの実行を中止する場合、ユーザは本列の値を「無効」とするように、Webサーバ200を介して指示する。   The “valid” column 348 indicates whether or not the batch job is valid. If the value in this column is “valid”, the batch job is executed at the date and time specified by the value in the “execution date and time” column 342. When canceling the execution of a job once reserved, the user instructs the value in this column to be “invalid” via the Web server 200.

図3は、パラメータテーブル350の構成とデータ例を示す図である。パラメータテーブル350は、バッチジョブの内容を指定する情報を保持するテーブルである。各レコードは、個々のバッチジョブの内容を保持する。図3では、指定した期間における商品の販売状況を集計するバッチジョブの内容を指定するための列構成を例示した。その他の処理内容を実行するバッチジョブについては、別の列構成を有するパラメータテーブル350を別途設けることもできる。   FIG. 3 is a diagram illustrating the configuration of the parameter table 350 and data examples. The parameter table 350 is a table that holds information for specifying the contents of a batch job. Each record holds the contents of an individual batch job. FIG. 3 exemplifies a column configuration for designating the contents of a batch job that aggregates the sales status of products in a designated period. For batch jobs that execute other processing contents, a parameter table 350 having a different column configuration may be provided separately.

図3に例示したパラメータテーブル350は、「No」列351、「集計開始日」列352、「集計終了日」列353、「商品ID」列354、「部名」列355、「課名」列356を備える。   The parameter table 350 illustrated in FIG. 3 includes a “No” column 351, a “Totalization start date” column 352, a “Totalization end date” column 353, a “Product ID” column 354, a “Department name” column 355, and a “Section name”. A column 356 is provided.

「No」列351は、スケジュールテーブル340内の「No」列341を参照する外部キーである。本列の値が「No」列341と一致するレコードは、互いに同じバッチジョブについての情報を保持する。   The “No” column 351 is a foreign key that refers to the “No” column 341 in the schedule table 340. Records whose values in this column match the “No” column 341 hold information about the same batch job.

「集計開始日」列352は、販売状況を集計する期間の開始日を保持する。   The “aggregation start date” column 352 holds the start date of the period for which sales status is aggregated.

「集計終了日」列353は、販売状況を集計する期間の終了日を保持する。   The “aggregation end date” column 353 holds the end date of the period for which the sales status is aggregated.

「商品ID」列354は、販売状況を集計する対象商品を識別するIDを保持する。   The “product ID” column 354 holds an ID for identifying a target product for which the sales situation is tabulated.

「部名」列355と「課名」列356は、対象商品を取り扱う部門名を保持する。   The “Department name” column 355 and the “Section name” column 356 hold department names that handle the target product.

以上、バッチジョブ処理システム1000の各構成について説明した。次に、バッチジョブ実行部320がシステム負荷を抑える手法について説明する。   The configuration of the batch job processing system 1000 has been described above. Next, a method in which the batch job execution unit 320 suppresses the system load will be described.

個々のバッチジョブ実行部321〜323は、実行するバッチジョブの負荷レベルがあらかじめ規定されている。ここでは、バッチジョブ実行部321の担当する負荷レベルは1、バッチジョブ実行部322は2、バッチジョブ実行部323は3とする。バッチジョブ実行部321は負荷レベル1のバッチジョブのみを実行し、バッチジョブ実行部322は負荷レベル1〜2のバッチジョブのみを実行し、バッチジョブ実行部323は負荷レベル1〜3のバッチジョブ全てを実行するように設定されているものとする。   Each batch job execution unit 321 to 323 has a predetermined load level of a batch job to be executed. Here, the load level in charge of the batch job execution unit 321 is 1, the batch job execution unit 322 is 2, and the batch job execution unit 323 is 3. The batch job execution unit 321 executes only the load level 1 batch job, the batch job execution unit 322 executes only the load level 1-2 batch job, and the batch job execution unit 323 executes the load level 1-3 batch job. It is assumed that everything is set to be executed.

例えば、同じユーザが負荷レベル3のバッチジョブをバッチジョブ処理システム1000に短時間に連続して投入した状況を想定する。バッチジョブ実行部321〜323を上記のように構成した場合、負荷レベル3のバッチジョブはバッチジョブ実行部323が同時に1つのみ実行することしかできないため、負荷レベル3のバッチジョブが複数同時に投入されたとしても、これら負荷レベル3のバッチジョブによってバッチジョブ処理システム1000の演算リソースが専有されてしまう心配はない。   For example, it is assumed that the same user has submitted a batch job with a load level 3 to the batch job processing system 1000 in a short time. When the batch job execution units 321 to 323 are configured as described above, only one batch job at the load level 3 can be executed simultaneously by the batch job execution unit 323. Even if it is done, there is no fear that the operation resources of the batch job processing system 1000 will be occupied by these batch jobs of load level 3.

すなわち、バッチジョブ実行部323は負荷レベル3のバッチジョブを1つずつ順番に実行し、その他のバッチジョブ実行部321と322は負荷レベル3のバッチジョブを実行しない。そのため、負荷レベル3のバッチジョブの個数は常に1個以下となり、システム負荷を安定化させることができるのである。   That is, the batch job execution unit 323 executes the load level 3 batch jobs one by one in order, and the other batch job execution units 321 and 322 do not execute the load level 3 batch job. Therefore, the number of batch jobs at load level 3 is always 1 or less, and the system load can be stabilized.

上記のような、同時実行するバッチジョブの個数とその負荷レベルを限定する手法は、オンラインバッチシステムのようにユーザが任意の負荷レベルのバッチジョブをいつでも投入することのできるシステムにおいて特に有効である。オフラインバッチシステムは、あらかじめ計画されているバッチ処理を予定時刻に実行するため、システムの演算リソースを必要十分なだけ準備しておくことができる。これに対し、オンラインバッチシステムでは、どのようなバッチジョブが投入されるか予測することが難しいため、オフラインバッチシステムとは異なる負荷レベル安定化手法が望まれるのである。もっとも、オフラインバッチシステムにおいても、本発明の手法が有用であることはいうまでもない。   The above-described method for limiting the number of batch jobs to be executed simultaneously and the load level thereof is particularly effective in a system in which a user can submit a batch job of any load level at any time, such as an online batch system. . Since the offline batch system executes a batch process planned in advance at a scheduled time, it is possible to prepare a necessary and sufficient amount of computing resources of the system. On the other hand, in an online batch system, it is difficult to predict what kind of batch job will be submitted, so a load level stabilization method different from that in an offline batch system is desired. However, it goes without saying that the technique of the present invention is also useful in an offline batch system.

以上、バッチジョブ実行部320がシステム負荷を抑える手法について説明した。以下では、バッチジョブ処理システム1000の動作について説明する。   In the foregoing, the method in which the batch job execution unit 320 suppresses the system load has been described. Hereinafter, the operation of the batch job processing system 1000 will be described.

図4は、Webサーバ200の動作を説明するフローである。以下、図4の各ステップについて説明する。   FIG. 4 is a flowchart for explaining the operation of the Web server 200. Hereinafter, each step of FIG. 4 will be described.

(図4:ステップS400)
ユーザは、クライアント端末100を用いて、Webサーバ200に対し、バッチジョブ処理要求を登録するための画面を送信するよう要求する。クライアント端末100は、その要求をWebサーバ200に送信する。
(FIG. 4: Step S400)
Using the client terminal 100, the user requests the Web server 200 to transmit a screen for registering a batch job processing request. The client terminal 100 transmits the request to the Web server 200.

(図4:ステップS401)
Webサーバ200のバッチジョブ受付部210は、クライアント端末100から、バッチジョブ処理要求登録画面を送信すべき旨の要求を受信する。バッチジョブ受付部210は、クライアント端末100に対し、バッチジョブ処理要求登録画面を送信する。
(FIG. 4: Step S401)
The batch job reception unit 210 of the Web server 200 receives a request from the client terminal 100 to transmit a batch job processing request registration screen. The batch job reception unit 210 transmits a batch job processing request registration screen to the client terminal 100.

(図4:ステップS402)
ユーザは、クライアント端末100が表示するバッチ処理要求登録画面上で、バッチジョブの内容、負荷レベル、実行スケジュールなどのバッチジョブ処理要求を入力する。クライアント端末100は、その入力内容をWebサーバ200に送信する。Webサーバ200のバッチジョブ受付部210は、バッチジョブ処理要求を受信する。
(FIG. 4: Step S402)
On the batch processing request registration screen displayed by the client terminal 100, the user inputs a batch job processing request such as the content of the batch job, the load level, and the execution schedule. The client terminal 100 transmits the input content to the Web server 200. The batch job reception unit 210 of the Web server 200 receives a batch job processing request.

(図4:ステップS403)
バッチジョブ受付部210は、受信したバッチジョブ処理要求に含まれるバッチジョブの負荷レベルと実行スケジュールを、スケジュールテーブル340に登録する。また、バッチジョブの内容を、パラメータテーブル350に登録する。
(FIG. 4: Step S403)
The batch job reception unit 210 registers the batch job load level and execution schedule included in the received batch job processing request in the schedule table 340. In addition, the contents of the batch job are registered in the parameter table 350.

図5は、バッチジョブ取得部310の動作フローである。以下、図5の各ステップについて説明する。   FIG. 5 is an operation flow of the batch job acquisition unit 310. Hereinafter, each step of FIG. 5 will be described.

(図5:ステップS501)
バッチジョブ取得部310は、スケジュールテーブル340が保持している全てのレコードを取得する。
(FIG. 5: Step S501)
The batch job acquisition unit 310 acquires all records held in the schedule table 340.

(図5:ステップS502)
バッチジョブ取得部310は、以下のステップS503〜S504を、ステップS501で取得したレコード数だけ繰り返す。
(FIG. 5: Step S502)
The batch job acquisition unit 310 repeats the following steps S503 to S504 for the number of records acquired in step S501.

(図5:ステップS503)
バッチジョブ取得部310は、ステップS501で取得したレコードのうち1つについて、「有効」列348の値が「有効」であり、かつ「ステータス」列347の値が「未実行」または「待機」であり、かつ「実行日時」列342の値が現在時刻よりも前であるか否かを確認する。当該レコードがこれら3条件を全て満たす場合はステップS504へ進み、いずれか1条件以上を満たさない場合はループを次のレコードに進める。
(FIG. 5: Step S503)
The batch job acquisition unit 310 sets the value of the “valid” column 348 to “valid” and the value of the “status” column 347 to “unexecuted” or “standby” for one of the records acquired in step S501. And whether the value in the “execution date and time” column 342 is earlier than the current time. If the record satisfies all these three conditions, the process proceeds to step S504, and if any one condition or more is not satisfied, the loop proceeds to the next record.

(図5:ステップS504)
バッチジョブ取得部310は、バッチジョブ実行部320のうち「負荷レベル」列344の値に対応するものに、当該バッチジョブを実行するよう指示する。バッチジョブ実行部320(321、322、323のうちいずれか)は、受け取ったバッチジョブの負荷レベルを確認し、自己が実行することのできる負荷レベルであれば、そのバッチジョブを実行する。先に実行しているバッチジョブがあれば、そのバッチジョブの実行が終了した後に、受け取ったバッチジョブを実行する。
(FIG. 5: Step S504)
The batch job acquisition unit 310 instructs the batch job execution unit 320 corresponding to the value in the “load level” column 344 to execute the batch job. The batch job execution unit 320 (any one of 321, 322, and 323) checks the load level of the received batch job, and executes the batch job if it is a load level that can be executed by itself. If there is a batch job being executed first, the received batch job is executed after the execution of the batch job is completed.

(図5:ステップS505)
バッチジョブ取得部310は、15秒スリープ(何もせずに待機)する。
(FIG. 5: Step S505)
The batch job acquisition unit 310 sleeps (waits without doing anything) for 15 seconds.

(図5:ステップS506)
バッチジョブ取得部310の処理を終了する場合は本動作フローを終了し、処理を継続する場合はステップS501に戻って同様の処理を繰り返す。
(FIG. 5: Step S506)
When the process of the batch job acquisition unit 310 is finished, the operation flow is finished. When the process is continued, the process returns to step S501 and the same process is repeated.

以上、バッチジョブ処理システム1000の動作について説明した。なお図5では、ステップS501で全てのレコードを取得し、ステップS503で条件チェックを行なっているが、ステップS501の時点で、条件を満たすレコードのみを取得するようにしてもよい。   The operation of the batch job processing system 1000 has been described above. In FIG. 5, all records are acquired in step S501 and the condition is checked in step S503. However, only records satisfying the condition may be acquired at the time of step S501.

以上のように、本実施の形態1によれば、バッチジョブ実行部320は、あらかじめ設定されている負荷レベルのバッチジョブを1つのみ実行する。先に実行しているバッチジョブがあれば、そのバッチジョブの実行が終了した後に、受け取ったバッチジョブを実行する。これにより、例えばユーザが負荷レベルの高いバッチジョブを短時間に連続して投入したような場合でも、バッチジョブ処理装置300がその高負荷レベルのバッチジョブによって専有されることを回避できる。   As described above, according to the first embodiment, the batch job execution unit 320 executes only one batch job at a preset load level. If there is a batch job being executed first, the received batch job is executed after the execution of the batch job is completed. Thus, for example, even when the user continuously submits a batch job with a high load level in a short time, it can be avoided that the batch job processing apparatus 300 is occupied by the batch job with the high load level.

また、本実施の形態1によれば、ユーザがバッチジョブを投入する時点でその負荷レベルを正確に把握しておらず、または故意に不正確な負荷レベルを指定してバッチジョブを投入したような場合でも、バッチジョブ実行部320の作用により、バッチジョブ処理装置300が同時に実行するバッチジョブの負荷レベルをある範囲内に抑えることができる。これにより、負荷レベルの予測可否および投入されるバッチジョブの負荷レベルの高低を問わず、バッチジョブ処理システム1000を安定的に稼動させることができる。   Further, according to the first embodiment, the user does not accurately grasp the load level at the time of submitting the batch job, or seems to have entered the batch job intentionally specifying an inaccurate load level. Even in this case, the load level of batch jobs executed simultaneously by the batch job processing apparatus 300 can be suppressed within a certain range by the action of the batch job execution unit 320. Accordingly, the batch job processing system 1000 can be stably operated regardless of whether the load level can be predicted and whether the load level of the batch job to be input is high or low.

また、本実施の形態1において、バッチジョブ処理装置300は、バッチジョブの実行スケジュールを格納するデータベース330を備える。バッチジョブ取得部310は、データベース330からその実行スケジュールを取得し、バッチジョブ実行部320にバッチジョブを引き渡す。これにより、データベース330は、オンラインによるバッチジョブ処理要求とオフラインによるバッチジョブ実行との橋渡しを行なうことになるので、オンライン処理とオフライン処理を連携することができる。同様の構成は完全なオフラインバッチシステムでも採用することができるが、オンラインバッチシステムにおいて同構成を採用すると、特に有用である。   In the first embodiment, the batch job processing apparatus 300 includes a database 330 that stores a batch job execution schedule. The batch job acquisition unit 310 acquires the execution schedule from the database 330 and delivers the batch job to the batch job execution unit 320. As a result, the database 330 provides a bridge between online batch job processing requests and offline batch job execution, so that online processing and offline processing can be linked. A similar configuration can be employed in a complete offline batch system, but it is particularly useful to employ the same configuration in an online batch system.

<実施の形態2>
図6は、本発明の実施の形態2に係るバッチジョブ処理システム1000の構成図である。本実施の形態2では、バッチジョブ取得部310とバッチジョブ実行部320の間にジョブキュー360を導入した。その他の構成は実施の形態1と概ね同様であるため、以下では差異点を中心に説明する。
<Embodiment 2>
FIG. 6 is a configuration diagram of a batch job processing system 1000 according to the second embodiment of the present invention. In the second embodiment, the job queue 360 is introduced between the batch job acquisition unit 310 and the batch job execution unit 320. Since other configurations are substantially the same as those of the first embodiment, the following description will focus on the differences.

ジョブキュー360は、バッチジョブ処理装置300が備えるメモリ装置(図示せず)などの記憶装置内における記憶領域を使用する。ジョブキュー360は、バッチジョブ取得部310よりバッチジョブを順番に受け取り、受け取った順番に保持する。バッチジョブ実行部320からバッチジョブを引き渡すように指示されると、そのバッチジョブを引き渡し、ジョブキュー360内から当該バッチジョブを削除する。   The job queue 360 uses a storage area in a storage device such as a memory device (not shown) provided in the batch job processing apparatus 300. The job queue 360 receives batch jobs in order from the batch job acquisition unit 310 and holds them in the order received. When the batch job execution unit 320 instructs to deliver a batch job, the batch job is delivered and the batch job is deleted from the job queue 360.

ジョブキュー360は、その機能を実現する回路デバイスなどのハードウェアを用いて構成することもできるし、CPUなどの演算装置とその動作を規定するソフトウェアを用いて構成することもできる。後者の場合、例えばメッセージキューイングシステムなどのソフトウェアモジュールを用いてジョブキュー360を構成することができる。   The job queue 360 can be configured using hardware such as a circuit device that implements the function, or can be configured using an arithmetic device such as a CPU and software that defines the operation thereof. In the latter case, the job queue 360 can be configured using a software module such as a message queuing system.

図7は、ジョブキュー360の内部構成を示す模式図である。ジョブキュー360内には、個々のバッチジョブの内容や実行スケジュールなどを記述したメッセージ(図7における361〜363)が格納される。各メッセージ361〜363の記述形式として、例えばXML(eXtensible Markup Language)などの汎用的な記述形式を用いると、処理の都合上便宜である。   FIG. 7 is a schematic diagram showing the internal configuration of the job queue 360. Stored in the job queue 360 are messages (361 to 363 in FIG. 7) describing the contents and execution schedules of individual batch jobs. As a description format of each message 361 to 363, for example, a general-purpose description format such as XML (extensible Markup Language) is used for convenience of processing.

図8は、本実施の形態2におけるバッチジョブ取得部310の動作フローである。以下図8の各ステップについて説明する。   FIG. 8 is an operation flow of the batch job acquisition unit 310 according to the second embodiment. Hereinafter, each step of FIG. 8 will be described.

(図8:ステップS801〜S803)
これらのステップは、図5のステップS501〜S503と同様である。
(FIG. 8: Steps S801 to S803)
These steps are the same as steps S501 to S503 in FIG.

(図8:ステップS804)
バッチジョブ取得部310は、ステップS803の条件を満たすバッチジョブを、ジョブキュー360に投入する。ジョブキュー360は、図7で説明したような形式で記述されるメッセージとして、そのバッチジョブの内容を格納する。
(FIG. 8: Step S804)
The batch job acquisition unit 310 inputs a batch job that satisfies the condition of step S803 to the job queue 360. The job queue 360 stores the contents of the batch job as a message described in the format described with reference to FIG.

(図8:ステップS805〜S806)
これらのステップは、図5のステップS505〜S506と同様である。
(FIG. 8: Steps S805 to S806)
These steps are the same as steps S505 to S506 in FIG.

図9は、本実施の形態2におけるバッチジョブ実行部320の動作フローである。以下図9の各ステップについて説明する。なお、図9に示す動作フローは、個々のバッチジョブ実行部321〜323について共通である。各バッチジョブ実行部は、それぞれ並行して同動作フローを実行する。   FIG. 9 is an operation flow of the batch job execution unit 320 according to the second embodiment. Hereinafter, each step of FIG. 9 will be described. The operation flow shown in FIG. 9 is common to the individual batch job execution units 321 to 323. Each batch job execution unit executes the same operation flow in parallel.

(図9:ステップS901)
バッチジョブ実行部320は、ジョブキュー360が格納しているバッチジョブ(バッチジョブの内容を記述したメッセージ)を取得する。このとき、他のバッチジョブ実行部320が同時にジョブキュー360にアクセスしないように、ジョブキュー360をロックするなどしてもよい。
(FIG. 9: Step S901)
The batch job execution unit 320 acquires a batch job (message describing the contents of the batch job) stored in the job queue 360. At this time, the job queue 360 may be locked so that other batch job execution units 320 do not access the job queue 360 at the same time.

(図9:ステップS902)
バッチジョブ実行部320は、ステップS901で取得したバッチジョブの数だけ、ステップS903〜S906を繰り返す。
(FIG. 9: Step S902)
The batch job execution unit 320 repeats steps S903 to S906 as many times as the number of batch jobs acquired in step S901.

(図9:ステップS903)
バッチジョブ実行部320は、ステップS901で取得したバッチジョブのうち1つについて、負荷レベルが自己の担当する負荷レベル以下であるか否かを確認する。自己が担当する負荷レベル以下であればステップS904へ進み、それ以外であればループを次のバッチジョブに進める。
(FIG. 9: Step S903)
The batch job execution unit 320 confirms whether one of the batch jobs acquired in step S901 has a load level equal to or lower than the load level that the batch job execution unit 320 is responsible for. If it is below the load level that it is in charge of, the process proceeds to step S904, and if not, the loop is advanced to the next batch job.

(図9:ステップS904)
バッチジョブ実行部320は、ステップS903の条件を満たすバッチジョブを、ジョブキュー360から1つ取り出す。取り出したバッチジョブは、ジョブキュー360から削除する。
(FIG. 9: Step S904)
The batch job execution unit 320 takes out one batch job satisfying the condition of step S903 from the job queue 360. The extracted batch job is deleted from the job queue 360.

(図9:ステップS905)
バッチジョブ実行部320は、ステップS904でジョブキュー360から取り出したバッチジョブを実行する。また、スケジュールテーブル340が保持している当該バッチジョブのレコードの「ステータス」列347を、「成功」「失敗」などの値に更新する。
(FIG. 9: Step S905)
The batch job execution unit 320 executes the batch job extracted from the job queue 360 in step S904. Further, the “status” column 347 of the record of the batch job held in the schedule table 340 is updated to a value such as “success” or “failure”.

(図9:ステップS906)
バッチジョブ実行部320は、15秒スリープ(何もせずに待機)する。
(FIG. 9: Step S906)
The batch job execution unit 320 sleeps (waits without doing anything) for 15 seconds.

(図9:ステップS907)
バッチジョブ実行部320の処理を終了する場合は本動作フローを終了し、処理を継続する場合はステップS901に戻って同様の処理を繰り返す。
(FIG. 9: Step S907)
When the process of the batch job execution unit 320 is finished, this operation flow is finished, and when the process is continued, the process returns to step S901 and the same process is repeated.

以上、本実施の形態2におけるバッチジョブ処理システム1000の動作について説明した。   The operation of the batch job processing system 1000 according to the second embodiment has been described above.

以上のように、本実施の形態2によれば、バッチジョブ取得部310とバッチジョブ実行部320の間にジョブキュー360を設け、バッチジョブ実行部320はジョブキュー360からバッチジョブを取得することとした。これにより、バッチジョブ実行部320は先に実行しているバッチジョブが完了してからジョブキュー360にアクセスすればよいので、バッチジョブ実行部320自身がジョブ実行待ちリストを保持する必要がなくなる。したがって、バッチジョブ実行部320はバッチジョブの実行のみに専念することができる。   As described above, according to the second embodiment, the job queue 360 is provided between the batch job acquisition unit 310 and the batch job execution unit 320, and the batch job execution unit 320 acquires the batch job from the job queue 360. It was. As a result, the batch job execution unit 320 only needs to access the job queue 360 after the previously executed batch job is completed, so that the batch job execution unit 320 itself does not need to hold the job execution waiting list. Therefore, the batch job execution unit 320 can concentrate exclusively on the execution of the batch job.

また、本実施の形態2によれば、バッチジョブ取得部310とバッチジョブ実行部320をジョブキュー360によって緩く結合したので、バッチジョブ取得部310またはバッチジョブ実行部320を新しいモジュールに入れ替えたりすることが容易になる。   Further, according to the second embodiment, since the batch job acquisition unit 310 and the batch job execution unit 320 are loosely coupled by the job queue 360, the batch job acquisition unit 310 or the batch job execution unit 320 is replaced with a new module. It becomes easy.

また、本実施の形態2において、ジョブキュー360は、バッチジョブの内容などを記述するメッセージを格納するので、ジョブキュー360の外部からバッチジョブにアクセスすることが容易になる。例えば、図7で例示したようなXML形式でバッチジョブの内容などを記述すれば、コンピュータ等の演算装置にとって取り扱い易い形式でバッチジョブを処理することができるので、処理の都合上便宜である。   In the second embodiment, since the job queue 360 stores a message describing the contents of the batch job and the like, it is easy to access the batch job from outside the job queue 360. For example, if the contents of a batch job are described in the XML format as illustrated in FIG. 7, the batch job can be processed in a format that is easy to handle for a computing device such as a computer, which is convenient for processing.

また、本実施の形態2において、ジョブキュー360は、いったん格納したバッチジョブを、実行のため取り出す以外に削除することができないようにしてもよい。同様に順番の入れ替えなども不可としてもよい。この場合、ジョブキュー360にいったんバッチジョブを格納すれば、そのバッチジョブは必ずバッチジョブ実行部320に引き渡されることになるので、データベース330内に未実効のバッチジョブがいつまでも格納されたままになるような状況ができる限り発生しないよう抑制する効果がある。   In the second embodiment, the job queue 360 may be configured such that a batch job once stored cannot be deleted other than being taken out for execution. Similarly, the order may be changed. In this case, once a batch job is stored in the job queue 360, the batch job is surely delivered to the batch job execution unit 320. Therefore, an unexecuted batch job remains stored in the database 330 indefinitely. There is an effect of suppressing such a situation from occurring as much as possible.

<実施の形態3>
図10は、本発明の実施の形態3に係るバッチジョブ処理システム1000の構成図である。本実施の形態3では、バッチジョブ実行部320と連動して動作する負荷レベル予測部370を新たに導入した。その他の構成は実施の形態1〜2いずれかと概ね同様であるため、以下では差異点を中心に説明する。なお、図10では実施の形態2の構成に負荷レベル予測部370を追加した構成を例示した。
<Embodiment 3>
FIG. 10 is a configuration diagram of a batch job processing system 1000 according to Embodiment 3 of the present invention. In the third embodiment, a load level prediction unit 370 that operates in conjunction with the batch job execution unit 320 is newly introduced. Since the other configuration is substantially the same as that of any one of the first and second embodiments, the following description will focus on the differences. 10 illustrates a configuration in which a load level prediction unit 370 is added to the configuration of the second embodiment.

負荷レベル予測部370は、バッチジョブの負荷レベルを、例えば特許文献2に記載されている技術などの適当な手法を用いて予測する。負荷レベル予測部370は、その機能を実現する回路デバイスなどのハードウェアを用いて構成することもできるし、CPUなどの演算装置とその動作を規定するソフトウェアを用いて構成することもできる。   The load level prediction unit 370 predicts the load level of a batch job using an appropriate method such as the technique described in Patent Document 2, for example. The load level prediction unit 370 can be configured using hardware such as a circuit device that implements the function, or can be configured using an arithmetic device such as a CPU and software that defines the operation thereof.

図11は、本実施の形態3におけるバッチジョブ実行部320の動作フローのうち、図9のステップS905に該当する部分の詳細を示す図である。以下、図11の各ステップについて説明する。   FIG. 11 is a diagram illustrating details of a portion corresponding to step S905 in FIG. 9 in the operation flow of the batch job execution unit 320 according to the third embodiment. Hereinafter, each step of FIG. 11 will be described.

(図11:ステップS1101)
バッチジョブ実行部320は、ステップS904でジョブキュー360から取り出したバッチジョブの負荷レベルを確認する。負荷レベルが0(未定義)であればステップS1104へ進み、それ以外であればステップS1102へ進む。
(FIG. 11: Step S1101)
The batch job execution unit 320 confirms the load level of the batch job extracted from the job queue 360 in step S904. If the load level is 0 (undefined), the process proceeds to step S1104; otherwise, the process proceeds to step S1102.

(図11:ステップS1102)
バッチジョブ実行部320は、ステップS904でジョブキュー360から取り出したバッチジョブを実行する。
(FIG. 11: Step S1102)
The batch job execution unit 320 executes the batch job extracted from the job queue 360 in step S904.

(図11:ステップS1103)
バッチジョブ実行部320は、スケジュールテーブル340が保持している当該バッチジョブのレコードの「ステータス」列347を、「成功」「失敗」などの値に更新する。
(FIG. 11: Step S1103)
The batch job execution unit 320 updates the “status” column 347 of the record of the batch job held in the schedule table 340 to a value such as “success” or “failure”.

(図11:ステップS1104)
バッチジョブ実行部320は、ステップS904でジョブキュー360から取り出したバッチジョブの負荷レベルを予測するよう、負荷レベル予測部370に指示する。負荷レベル予測部370は、そのバッチジョブの負荷レベルを予測し、バッチジョブ実行部320に予測結果を通知する。
(FIG. 11: Step S1104)
The batch job execution unit 320 instructs the load level prediction unit 370 to predict the load level of the batch job extracted from the job queue 360 in step S904. The load level prediction unit 370 predicts the load level of the batch job and notifies the batch job execution unit 320 of the prediction result.

(図11:ステップS1105)
バッチジョブ実行部320は、スケジュールテーブル340が保持している当該バッチジョブのレコードの「負荷レベル」列344を、負荷レベル予測部370から受け取った予測結果の値に更新する。
(FIG. 11: Step S1105)
The batch job execution unit 320 updates the “load level” column 344 of the record of the batch job held in the schedule table 340 with the value of the prediction result received from the load level prediction unit 370.

以上、本実施の形態3に係るバッチジョブ処理システム1000の動作について説明した。なお、実施の形態1で説明した構成に加えて負荷レベル予測部370を設ける場合、図5のステップS504の後でバッチジョブ実行部320が図11と同様の処理を実行することになる。   The operation of the batch job processing system 1000 according to the third embodiment has been described above. When the load level prediction unit 370 is provided in addition to the configuration described in the first embodiment, the batch job execution unit 320 executes the same process as in FIG. 11 after step S504 in FIG.

以上のように、本実施の形態3によれば、ユーザがクライアント端末100を用いてバッチジョブを投入する段階でそのバッチジョブの負荷レベルが不明である場合でも、負荷レベル予測部370がユーザに代わって負荷レベルを予測する。そのため、ユーザはバッチジョブ処理要求を送信するときに、そのバッチジョブの負荷レベルを必ずしも指定する必要はない。これにより、負荷レベルが不明なバッチジョブに対してユーザが不正確な負荷レベルを指定し、バッチジョブ処理装置300における負荷配分が乱れてしまうような状況を低減することができる。   As described above, according to the third embodiment, even when the load level of the batch job is unknown at the stage where the user inputs the batch job using the client terminal 100, the load level prediction unit 370 prompts the user. Instead, predict load levels. For this reason, when the user transmits a batch job processing request, it is not always necessary to specify the load level of the batch job. Accordingly, it is possible to reduce a situation in which the user specifies an inaccurate load level for a batch job whose load level is unknown and the load distribution in the batch job processing apparatus 300 is disturbed.

<実施の形態4>
以上の実施の形態1〜3において、スケジュールテーブル340とパラメータテーブル350が保持している各レコードは、所定期間(例えば30日)が経過した後に削除するようにしてもよい。このとき、「ステータス」列347の値が「成功」となっているバッチジョブのみ削除してもよいし、上記所定期間が経過したバッチジョブは無条件に削除するようにしてもよい。
<Embodiment 4>
In the first to third embodiments, each record held in the schedule table 340 and the parameter table 350 may be deleted after a predetermined period (for example, 30 days) has elapsed. At this time, only the batch job whose value in the “status” column 347 is “successful” may be deleted, or the batch job after the predetermined period may be deleted unconditionally.

<実施の形態5>
図12は、本発明の実施の形態5に係るバッチジョブ処理システム1000の構成図である。本実施の形態5では、バッチジョブ処理装置300とは別にバッチジョブ実行サーバ400を新たに設け、バッチジョブを実行する処理主体をバッチジョブ実行部320から切り出した。その他の構成は実施の形態1〜4いずれかと同様であるため、以下では差異点を中心に説明する。
<Embodiment 5>
FIG. 12 is a configuration diagram of a batch job processing system 1000 according to the fifth embodiment of the present invention. In the fifth embodiment, a batch job execution server 400 is newly provided separately from the batch job processing apparatus 300, and the processing entity that executes the batch job is cut out from the batch job execution unit 320. Since the other configuration is the same as that of any of Embodiments 1 to 4, the following description will focus on the differences.

バッチジョブ実行サーバ400は、バッチジョブ処理部410を備える。バッチジョブ処理部410は、バッチジョブ実行部320が実行するバッチジョブの処理本体を受け持つ機能部である。本実施の形態5において、バッチジョブ実行部320は、実体的にはバッチジョブ処理部410を起動する起動部としての役割を果たすことになる。   The batch job execution server 400 includes a batch job processing unit 410. The batch job processing unit 410 is a functional unit that handles the processing main body of the batch job executed by the batch job execution unit 320. In the fifth embodiment, the batch job execution unit 320 essentially serves as an activation unit that activates the batch job processing unit 410.

バッチジョブ処理部410は、その機能を実現する回路デバイスなどのハードウェアを用いて構成することもできるし、CPUなどの演算装置とその動作を規定するソフトウェアを用いて構成することもできる。   The batch job processing unit 410 can be configured using hardware such as a circuit device that implements the function, or can be configured using an arithmetic device such as a CPU and software that defines the operation thereof.

なお、負荷レベル予測部370など、バッチジョブ処理装置300が備える機能部の一部をバッチジョブ実行サーバ400に配置することもできる。   Note that some of the functional units included in the batch job processing apparatus 300 such as the load level prediction unit 370 may be arranged in the batch job execution server 400.

以上のように、本実施の形態5によれば、バッチジョブ処理装置300が備える機能の一部をバッチジョブ実行サーバ400に切り出したので、バッチジョブ処理装置300の処理負担を軽減することができる。   As described above, according to the fifth embodiment, part of the functions of the batch job processing apparatus 300 is cut out to the batch job execution server 400, so that the processing burden on the batch job processing apparatus 300 can be reduced. .

<実施の形態6>
以上の実施の形態1〜5において、3つのバッチジョブ実行部321〜323を備える構成を説明した。また、各バッチジョブ実行部はそれぞれ負荷レベル1、1〜2、1〜3のバッチジョブを実行するものとした。バッチジョブ実行部320の構成はこれに限られるものではなく、実行するバッチジョブの性質や数などに応じて構成を適宜変更することができる。
<Embodiment 6>
In the first to fifth embodiments, the configuration including the three batch job execution units 321 to 323 has been described. In addition, each batch job execution unit executes batch jobs of load levels 1, 1-2, and 1-3, respectively. The configuration of the batch job execution unit 320 is not limited to this, and the configuration can be appropriately changed according to the nature and number of batch jobs to be executed.

例えば、負荷レベルの高いバッチジョブを多く実行するシステムにおいて本発明の手法を導入する場合は、バッチジョブ実行部323の数を多めに設けてもよい。また、バッチジョブ実行部320全体の個数も、4個以上でもよいし、2個以下でもよい。   For example, when the method of the present invention is introduced in a system that executes many batch jobs with a high load level, a larger number of batch job execution units 323 may be provided. Also, the total number of batch job execution units 320 may be four or more, or two or less.

バッチジョブ実行部320は、単一の負荷レベルのみ実行対象としてもよい。例えば、各バッチジョブ実行部はそれぞれ負荷レベル1、2、3のバッチジョブを実行する、などである。   The batch job execution unit 320 may execute only a single load level. For example, each batch job execution unit executes batch jobs of load levels 1, 2, and 3, respectively.

バッチジョブ実行部320の個数や対象負荷レベルを調整することにより、バッチジョブ処理システム1000の処理性能や並列度などを、対象業務の仕様などに応じて調整することができる。   By adjusting the number of batch job execution units 320 and the target load level, the processing performance and parallelism of the batch job processing system 1000 can be adjusted according to the specifications of the target job.

100:クライアント端末、200:Webサーバ、210:バッチジョブ受付部、300:バッチジョブ処理装置、310:バッチジョブ取得部、320〜323:バッチジョブ実行部、330:データベース、340:スケジュールテーブル、350:パラメータテーブル、360:ジョブキュー、370:負荷レベル予測部、400:バッチジョブ実行サーバ、410:バッチジョブ処理部、1000:バッチジョブ処理システム。   DESCRIPTION OF SYMBOLS 100: Client terminal, 200: Web server, 210: Batch job reception part, 300: Batch job processing apparatus, 310: Batch job acquisition part, 320-323: Batch job execution part, 330: Database, 340: Schedule table, 350 : Parameter table, 360: job queue, 370: load level prediction unit, 400: batch job execution server, 410: batch job processing unit, 1000: batch job processing system.

Claims (8)

バッチジョブとその実行スケジュールを取得するバッチジョブ取得部と、
前記バッチジョブの負荷レベルを取得しそのバッチジョブを実行するバッチジョブ実行部と、
を備え、
前記バッチジョブ実行部は、
所定の負荷レベルの前記バッチジョブのみを実行し、そのバッチジョブの実行が終了するまで次のバッチジョブを実行しない
ことを特徴とするバッチジョブ処理装置。
A batch job acquisition unit for acquiring a batch job and its execution schedule;
A batch job execution unit for acquiring the load level of the batch job and executing the batch job;
With
The batch job execution unit
A batch job processing apparatus that executes only the batch job of a predetermined load level and does not execute the next batch job until the execution of the batch job is completed.
前記バッチジョブの実行スケジュールを格納する記憶部を備え、
前記バッチジョブ取得部は、前記記憶部より前記実行スケジュールを取得し、
前記バッチジョブ実行部は、
前記バッチジョブ取得部が取得した前記実行スケジュールにしたがって前記バッチジョブを実行する
ことを特徴とする請求項1記載のバッチジョブ処理装置。
A storage unit for storing the execution schedule of the batch job;
The batch job acquisition unit acquires the execution schedule from the storage unit,
The batch job execution unit
The batch job processing apparatus according to claim 1, wherein the batch job is executed according to the execution schedule acquired by the batch job acquisition unit.
前記バッチジョブ取得部が取得した前記バッチジョブを一時的に保持し出力要求にしたがって出力するジョブキューを備え、
前記バッチジョブ取得部は、
前記記憶部より取得したバッチジョブを前記ジョブキューに格納し、
前記バッチジョブ実行部は、
前記ジョブキューより前記バッチジョブを取得して実行する
ことを特徴とする請求項2記載のバッチジョブ処理装置。
A job queue that temporarily holds the batch job acquired by the batch job acquisition unit and outputs it according to an output request,
The batch job acquisition unit
Store the batch job acquired from the storage unit in the job queue,
The batch job execution unit
The batch job processing apparatus according to claim 2, wherein the batch job is acquired from the job queue and executed.
前記ジョブキューに格納された前記バッチジョブは、前記バッチジョブ実行部が実行する場合を除き前記ジョブキューから削除不可とする
ことを特徴とする請求項3記載のバッチジョブ処理装置。
The batch job processing apparatus according to claim 3, wherein the batch job stored in the job queue cannot be deleted from the job queue except when executed by the batch job execution unit.
前記バッチジョブの負荷レベルを予測する負荷レベル予測部を備え、
前記記憶部は、
前記負荷レベルが特定されていない前記バッチジョブの実行スケジュールを格納し、
前記負荷レベル予測部は、
前記負荷レベルが特定されていない前記バッチジョブを前記バッチジョブ実行部が実行する前にそのバッチジョブの負荷レベルを予測する
ことを特徴とする請求項2から4のいずれか1項に記載のバッチジョブ処理装置。
A load level prediction unit for predicting the load level of the batch job;
The storage unit
Storing the execution schedule of the batch job for which the load level is not specified;
The load level prediction unit
The batch according to any one of claims 2 to 4, wherein a load level of the batch job is predicted before the batch job execution unit executes the batch job for which the load level is not specified. Job processing unit.
前記バッチジョブの負荷レベルを予測する負荷レベル予測部を備え、
前記記憶部は、
前記負荷レベルが特定されていない前記バッチジョブの実行スケジュールを格納し、
前記バッチジョブ取得部は、
前記負荷レベルが特定されていない前記バッチジョブを前記ジョブキューに格納し、
前記負荷レベル予測部は、
前記ジョブキューが格納している前記バッチジョブのうち前記負荷レベルが特定されていないものについて、前記バッチジョブ実行部が実行する前にそのバッチジョブの負荷レベルを予測する
ことを特徴とする請求項3または請求項4記載のバッチジョブ処理装置。
A load level prediction unit for predicting the load level of the batch job;
The storage unit
Storing the execution schedule of the batch job for which the load level is not specified;
The batch job acquisition unit
Storing the batch job in which the load level is not specified in the job queue;
The load level prediction unit
The load level of the batch job is predicted before the batch job execution unit executes the batch job stored in the job queue, the load level of which is not specified. The batch job processing apparatus according to claim 3 or 5.
請求項1から請求項6のいずれか1項に記載のバッチジョブ処理装置と、
前記バッチジョブの内容および実行スケジュールの指示を受信して前記バッチジョブ処理装置に出力する受信サーバと、
を有することを特徴とするバッチジョブ処理システム。
The batch job processing apparatus according to any one of claims 1 to 6,
A receiving server that receives the content of the batch job and an instruction of an execution schedule and outputs the received instruction to the batch job processing apparatus;
A batch job processing system comprising:
請求項2から請求項6のいずれか1項に記載のバッチジョブ処理装置と、
前記バッチジョブの内容および実行スケジュールの指示を受信する受信サーバと、
を有し、
前記受信サーバは、
前記バッチジョブの内容および実行スケジュールを前記記憶部に格納し、
前記バッチジョブ実行部は、
前記実行スケジュールにしたがって前記バッチジョブを実行する
ことを特徴とするバッチジョブ処理システム。
A batch job processing apparatus according to any one of claims 2 to 6,
A receiving server for receiving the content of the batch job and an instruction of an execution schedule;
Have
The receiving server is
Store the contents and execution schedule of the batch job in the storage unit,
The batch job execution unit
The batch job processing system, wherein the batch job is executed according to the execution schedule.
JP2009191176A 2009-08-20 2009-08-20 Batch job processing device, batch job processing system Expired - Fee Related JP5415183B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009191176A JP5415183B2 (en) 2009-08-20 2009-08-20 Batch job processing device, batch job processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009191176A JP5415183B2 (en) 2009-08-20 2009-08-20 Batch job processing device, batch job processing system

Publications (2)

Publication Number Publication Date
JP2011043968A true JP2011043968A (en) 2011-03-03
JP5415183B2 JP5415183B2 (en) 2014-02-12

Family

ID=43831361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009191176A Expired - Fee Related JP5415183B2 (en) 2009-08-20 2009-08-20 Batch job processing device, batch job processing system

Country Status (1)

Country Link
JP (1) JP5415183B2 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015534142A (en) * 2012-08-08 2015-11-26 アマゾン テクノロジーズ インコーポレイテッド Archive data storage system
US9430283B2 (en) 2013-07-22 2016-08-30 Fujitsu Limited Information processing apparatus and job scheduling method
US9465821B1 (en) 2012-08-08 2016-10-11 Amazon Technologies, Inc. Data storage integrity validation
US9563681B1 (en) 2012-08-08 2017-02-07 Amazon Technologies, Inc. Archival data flow management
US9652487B1 (en) 2012-08-08 2017-05-16 Amazon Technologies, Inc. Programmable checksum calculations on data storage devices
US9767098B2 (en) 2012-08-08 2017-09-19 Amazon Technologies, Inc. Archival data storage system
US9767129B2 (en) 2012-08-08 2017-09-19 Amazon Technologies, Inc. Data storage inventory indexing
US9779035B1 (en) 2012-08-08 2017-10-03 Amazon Technologies, Inc. Log-based data storage on sequentially written media
US9830111B1 (en) 2012-08-08 2017-11-28 Amazon Technologies, Inc. Data storage space management
US9904788B2 (en) 2012-08-08 2018-02-27 Amazon Technologies, Inc. Redundant key management
US10120579B1 (en) 2012-08-08 2018-11-06 Amazon Technologies, Inc. Data storage management for sequentially written media
US10558581B1 (en) 2013-02-19 2020-02-11 Amazon Technologies, Inc. Systems and techniques for data recovery in a keymapless data storage system
US10698880B2 (en) 2012-08-08 2020-06-30 Amazon Technologies, Inc. Data storage application programming interface
US11386060B1 (en) 2015-09-23 2022-07-12 Amazon Technologies, Inc. Techniques for verifiably processing data in distributed computing systems
CN115168496A (en) * 2022-07-26 2022-10-11 中国银行股份有限公司 A database-based batch processing method and device
US12086450B1 (en) 2018-09-26 2024-09-10 Amazon Technologies, Inc. Synchronous get copy for asynchronous storage

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62184543A (en) * 1986-02-10 1987-08-12 Nec Corp Job scheduling system
JPH07244653A (en) * 1994-03-03 1995-09-19 Hitachi Ltd Job behavior prediction method
JPH08272626A (en) * 1995-03-30 1996-10-18 Hitachi Software Eng Co Ltd Batch job processing method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62184543A (en) * 1986-02-10 1987-08-12 Nec Corp Job scheduling system
JPH07244653A (en) * 1994-03-03 1995-09-19 Hitachi Ltd Job behavior prediction method
JPH08272626A (en) * 1995-03-30 1996-10-18 Hitachi Software Eng Co Ltd Batch job processing method

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9830111B1 (en) 2012-08-08 2017-11-28 Amazon Technologies, Inc. Data storage space management
US10120579B1 (en) 2012-08-08 2018-11-06 Amazon Technologies, Inc. Data storage management for sequentially written media
US9465821B1 (en) 2012-08-08 2016-10-11 Amazon Technologies, Inc. Data storage integrity validation
US9904788B2 (en) 2012-08-08 2018-02-27 Amazon Technologies, Inc. Redundant key management
US9652487B1 (en) 2012-08-08 2017-05-16 Amazon Technologies, Inc. Programmable checksum calculations on data storage devices
US9767098B2 (en) 2012-08-08 2017-09-19 Amazon Technologies, Inc. Archival data storage system
US9767129B2 (en) 2012-08-08 2017-09-19 Amazon Technologies, Inc. Data storage inventory indexing
US9779035B1 (en) 2012-08-08 2017-10-03 Amazon Technologies, Inc. Log-based data storage on sequentially written media
US12487984B2 (en) 2012-08-08 2025-12-02 Amazon Technologies, Inc. Data storage application programming interface
JP2015534142A (en) * 2012-08-08 2015-11-26 アマゾン テクノロジーズ インコーポレイテッド Archive data storage system
US9563681B1 (en) 2012-08-08 2017-02-07 Amazon Technologies, Inc. Archival data flow management
US10157199B2 (en) 2012-08-08 2018-12-18 Amazon Technologies, Inc. Data storage integrity validation
US10936729B2 (en) 2012-08-08 2021-03-02 Amazon Technologies, Inc. Redundant key management
US10698880B2 (en) 2012-08-08 2020-06-30 Amazon Technologies, Inc. Data storage application programming interface
US10558581B1 (en) 2013-02-19 2020-02-11 Amazon Technologies, Inc. Systems and techniques for data recovery in a keymapless data storage system
US9430283B2 (en) 2013-07-22 2016-08-30 Fujitsu Limited Information processing apparatus and job scheduling method
US11386060B1 (en) 2015-09-23 2022-07-12 Amazon Technologies, Inc. Techniques for verifiably processing data in distributed computing systems
US12086450B1 (en) 2018-09-26 2024-09-10 Amazon Technologies, Inc. Synchronous get copy for asynchronous storage
CN115168496A (en) * 2022-07-26 2022-10-11 中国银行股份有限公司 A database-based batch processing method and device

Also Published As

Publication number Publication date
JP5415183B2 (en) 2014-02-12

Similar Documents

Publication Publication Date Title
JP5415183B2 (en) Batch job processing device, batch job processing system
JP4988766B2 (en) Message hub device, program, and method
JP4029711B2 (en) Image forming apparatus
JP5451086B2 (en) Workflow management apparatus, method, and program
JP2013186745A (en) Processing system and program
CN102542379B (en) Method, system and device for processing scheduled tasks
US20160182673A1 (en) Dynamic cache injector
JP6303571B2 (en) Data processing apparatus, data processing system, data processing method, and program
US10908963B2 (en) Deterministic real time business application processing in a service-oriented architecture
US20080127183A1 (en) Document Workflows and Routing Services Using Modular Filters
US8788601B2 (en) Rapid notification system
CN102141902B (en) Print processing device
JP2006293547A (en) BUSINESS PROCESS TRACKING PROGRAM, RECORDING MEDIUM CONTAINING THE PROGRAM, AND BUSINESS PROCESS TRACKING DEVICE
JP4591178B2 (en) Power supply control apparatus, power supply control method, and program
JP2001306655A (en) PRINTING SYSTEM, PRINTING METHOD, AND COMPUTER-READABLE RECORDING MEDIUM RECORDING PROGRAM FOR CAUSING COMPUTER TO EXECUTE THE METHOD
JP5716354B2 (en) Information processing apparatus and program
JP7392439B2 (en) Information processing device, printing system and information processing program
Crawford et al. OpenCL command-buffer extension: Design and implementation
JP2005190017A (en) PRINT CONTROL DEVICE, PRINT CONTROL METHOD, AND RECORDING MEDIUM CONTAINING PRINT CONTROL PROGRAM
Shanker et al. Priority assignment heuristic to cohorts executing in parallel
JP2011192149A (en) Device for managing form output state of batch processing
US7973955B2 (en) Specification and management of consolidated ticket packages in workflows
JP5930356B2 (en) Control device and control method of printing apparatus
JP5165125B2 (en) Image forming apparatus, control method therefor, and computer program
JP2020008936A (en) Information processing device, information processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130605

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130802

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131022

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131113

LAPS Cancellation because of no payment of annual fees