JP5111186B2 - Job processing system and job management method - Google Patents
Job processing system and job management method Download PDFInfo
- Publication number
- JP5111186B2 JP5111186B2 JP2008076790A JP2008076790A JP5111186B2 JP 5111186 B2 JP5111186 B2 JP 5111186B2 JP 2008076790 A JP2008076790 A JP 2008076790A JP 2008076790 A JP2008076790 A JP 2008076790A JP 5111186 B2 JP5111186 B2 JP 5111186B2
- Authority
- JP
- Japan
- Prior art keywords
- job
- processing
- waiting
- time
- processing order
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明は情報処理技術に関し、特にユーザの登録に従いバッチ処理を行うジョブ処理システムおよび当該システムに適用されるジョブ管理方法に関する。 The present invention relates to information processing technology, and more particularly to a job processing system that performs batch processing according to user registration and a job management method applied to the system.
近年の情報処理技術の発展およびネットワーク環境の充実化に伴い、様々な情報がネットワークを行き来し、企業、社内の部門など端末に入力された個々のデータを統括管理する組織には、入力された膨大なデータおよびシステムを厳密に管理する技術が必要不可欠となっている。データバックアップ、各種数値算出などデータを管理するための処理やシステムメンテナンスなどは一般的に、毎日、毎月、など定期的に行われるルーチン処理である。そのため、あらかじめ指定した複数のジョブをバッチで処理するように設定しておくことにより、夜間などに自動で行われることが多い。 With the recent development of information processing technology and the enhancement of the network environment, various information has been transferred to the network, and it has been input to organizations that manage and manage individual data input to terminals such as companies and internal departments. Technology that strictly manages huge amounts of data and systems is indispensable. Processing for managing data such as data backup and calculation of various numerical values, system maintenance, and the like are routine processing that is generally performed regularly such as daily or monthly. Therefore, it is often performed automatically at night by setting a plurality of jobs specified in advance to be processed in batches.
ジョブをバッチ処理する場合、システムの処理能力、効率性、ジョブ同士の依存関係、優先順位などに基づき、ジョブの処理順序をあらかじめ決定しておく。そして各ジョブの処理内容、すなわちジョブフローと、ジョブの実行順序とをシステムに登録しておくことにより、基本的には所望の時間に所望の処理が自動で終了していることになる。これにより人件費を削減しつつ、各種処理の効率化が望める(例えば特許文献1)。
営業時間外の夜間にジョブをバッチ処理させるようなシステムにおいては、営業開始時間までに終了していないと営業開始に支障をきたすジョブが含まれることがある。このような場合を含め、一般的にバッチ処理は効率的に短期間で完了することが望まれる。しかし、バッチ処理はあらかじめ登録された処理内容、および順序でジョブを実行させているのみであるため、運用担当者が監視していても、当該バッチ処理が“効率的”に遂行されているか否かを判断することは難しい。システムの開発環境において開発者が“効率的”であると考えて処理順を決定しても、実機で運用してみると、扱うデータ量が想定していた量と異なっていると、効率性が低下してくることも考えられる。 In a system in which jobs are batch-processed at night outside business hours, there are cases where a job that hinders business start is included if it is not completed by the business start time. In general, it is desirable to complete batch processing efficiently in a short period of time. However, since batch processing only executes jobs in the order and order of processing registered in advance, whether or not the batch processing is being performed "Efficiently" even if the person in charge of the operation monitors it. It is difficult to judge. Even if the developer decides the processing order in the system development environment and considers it “efficient”, if the amount of data handled is different from the expected amount when operating on the actual machine, the efficiency It is also possible that will decrease.
特にシステムがインターネット上で公開されている場合などは、アクセス数が変動しやすいため、このような効率性の変化が発生しやすい。しかしそのような変化に応じてバッチ処理環境をたびたび見直すことは容易ではなく、見直しに要する人件費や時間などを考慮すると実現が難しい。同様に、既存のシステムにおけるバッチ処理のシーケンスに新たなジョブを1つ追加したり元からあるジョブを削除したりする場合も、効率性を考慮してジョブの実行順序を組み直すことは困難な作業である。 In particular, when the system is open on the Internet, the number of accesses is likely to fluctuate, so such a change in efficiency is likely to occur. However, it is not easy to frequently review the batch processing environment according to such changes, and it is difficult to realize it in consideration of labor costs and time required for review. Similarly, when adding a new job to a batch processing sequence in an existing system or deleting an existing job, it is difficult to reconfigure the job execution order in consideration of efficiency. It is.
本発明はこうした状況に鑑みてなされたものであり、その目的は、常時最適な実行環境でジョブのバッチ処理を行うようにユーザを支援することのできるジョブ処理技術を提供することにある。 The present invention has been made in view of such circumstances, and an object thereof is to provide a job processing technique that can assist a user to perform batch processing of jobs in an always optimal execution environment.
本発明のある態様は、ジョブ処理システムに関する。このジョブ処理システムは、処理内容が登録されたジョブを登録された処理順でバッチ処理するジョブ処理システムであって、各ジョブの終了時刻を記録しながらバッチ処理を実行するジョブ処理部と、基準となるジョブの処理前に処理するように登録されているジョブのうち、バッチ処理時に最後に処理が終了したジョブの処理終了時刻から、その直前に処理が終了したジョブの処理終了時刻までの時間を、当該基準となるジョブの待ち時間として、各ジョブの待ち時間を取得し、待ち時間が所定のしきい値を超える長時間待機ジョブを検出する待ち時間判定部と、長時間待機ジョブが検出された際、その旨の警告をユーザに対し行う出力部と、を備えたことを特徴とする。 One embodiment of the present invention relates to a job processing system. This job processing system is a job processing system that batch-processes jobs whose processing contents are registered in the registered processing order. The job processing unit executes batch processing while recording the end time of each job, and a reference Time from the processing end time of the job that ended processing at the time of batch processing to the processing end time of the job that ended processing immediately before among jobs registered to be processed before processing The waiting time of each job is obtained as a waiting time of the reference job, and a waiting time determination unit that detects a waiting job whose waiting time exceeds a predetermined threshold and a waiting job are detected. And an output unit for giving a warning to that effect to the user.
このジョブ処理システムは、長時間待機ジョブが検出された際、当該ジョブの待機の原因となっている待機原因ジョブと長時間待機ジョブの処理内容の依存関係の有無を、登録されたジョブの処理内容から判定する制約条件判定部をさらに備え、出力部は、警告を行う際、依存関係の有無を併せて通知するようにしてもよい。ここで「依存関係」とは、あるジョブの処理結果が別のジョブの処理に影響を与える関係、すなわち、前に処理されるジョブが終了しないと後に処理されるジョブが正常に処理されないような関係をいう。一般的には、前に処理されるジョブが操作するファイルやリソースを、後に処理されるジョブが参照したり操作したりする場合に、このような関係が発生する。 When a long-waiting job is detected, this job processing system determines whether or not there is a dependency between the waiting cause job that causes the job to wait and the processing contents of the long-waiting job. A constraint condition determination unit that is determined based on the contents may be further provided, and the output unit may notify whether or not there is a dependency when performing a warning. Here, “dependency” refers to a relationship in which the processing result of one job affects the processing of another job, that is, the job processed later will not be processed normally unless the job processed earlier is completed. Say relationship. Generally, such a relationship occurs when a file to be processed by a previously processed job refers to or operates a file or resource to be processed later.
本発明の別の態様は、ジョブ管理方法に関する。このジョブ管理方法は、複数のジョブを登録された順序でバッチ処理し、各ジョブの終了時刻をメモリに記録するステップと、メモリに記録された各ジョブの終了時刻に基づき、一のジョブの処理終了を待って所定のしきい値より長い時間処理が開始されないジョブを検出するステップと、検出されたジョブと、処理終了を待たせているジョブとの間に処理内容の依存関係がない場合に、登録された処理順においてそれらのジョブの前後関係の設定を解除した新たな処理順を作成するステップと、作成した処理順をユーザに提示するステップと、を含むことを特徴とする。 Another aspect of the present invention relates to a job management method. This job management method batch-processes a plurality of jobs in the registered order, records the end time of each job in a memory, and processes one job based on the end time of each job recorded in the memory. When there is no dependency of processing contents between the step of detecting a job that does not start processing for a time longer than a predetermined threshold after waiting for the end, and the job that has been waiting for the processing to end And a step of creating a new processing order in which the setting of the context of those jobs is canceled in the registered processing order, and a step of presenting the created processing order to the user.
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システムなどの間で変換したものもまた、本発明の態様として有効である。 It should be noted that any combination of the above-described constituent elements and a representation of the present invention converted between a method, an apparatus, a system, etc. are also effective as an aspect of the present invention.
本発明によれば、バッチ処理を行うシステムにおいて状況に応じた最適な実行環境を容易に実現することができる。 According to the present invention, it is possible to easily realize an optimal execution environment according to the situation in a system that performs batch processing.
図1は本実施の形態を適用できるシステムの構成例を示している。同図においてジョブ処理システム10は第1サーバ12、第2サーバ14、第3サーバ16、第4サーバ18の4つのサーバを含む。また第1サーバ12はデータベース20に接続している。ユーザは各サーバの端末などを操作し、設定、登録を行うことにより、所望のジョブを所望の時間に処理させる。なお、サーバやデータベースの数、データベースの接続先は図1に示したものに限らず、ジョブを処理できるシステムであればいかなる構成においても本実施の形態を適用できる。また各サーバにさらにクライアント端末などが接続していてもよい。
FIG. 1 shows a configuration example of a system to which this embodiment can be applied. In FIG. 1, the
第1サーバ12、第2サーバ14、第3サーバ16、第4サーバ18はそれぞれ、一以上のCPUとメモリ、記憶装置、入出力装置、表示装置など、あるいはそのいずれかの組み合わせを備えた一般的な情報処理装置であればよく、パーソナルコンピュータ、汎用大型コンピュータなどその規模は限定されない。同図は一例として第1サーバ12がハードディスク13を、第2サーバ14がハードディスク15をそれぞれ備えた構成を示している。また第1サーバ12、第2サーバ14、第3サーバ16、第4サーバ18はネットワーク22に接続され、互いにデータを送受することができる。
Each of the
ユーザは第1サーバ12、第2サーバ14、第3サーバ16、第4サーバ18のいずれかに対しジョブフロー、バッチ処理時の処理の順序、処理開始時間などの設定を行うことにより、ジョブ処理システム10にジョブを処理させる。ここで「ジョブフロー」とは、ジョブごとの具体的な処理内容のことである。各ジョブを第1サーバ12、第2サーバ14、第3サーバ16、第4サーバ18のいずれかひとつのサーバで処理するようにしてもよいし、複数のサーバで処理するようにしてもよい。ジョブをどのサーバでどのような順序で処理させるか、また、並列に複数のジョブを処理させるかどうかなどは、CPUの処理能力やネットワークの帯域など利用可能なリソースや、データベースへのアクセス順といった処理内容に鑑み、ユーザが設定を行う。これらの手続きは、ジョブのバッチ処理に際し行われる 一般的な手法を用いることができる。
The user performs job processing by setting the job flow, the processing order at the time of batch processing, the processing start time, etc. for any of the
さらに本実施の形態では、ユーザにより設定されたジョブの処理順でバッチ処理を行った結果に基づき、ジョブ処理システム10自身がジョブ処理の効率性の評価を行い、必要に応じてユーザに対し警告を行ったり、新たな処理順候補を提案したりする。ユーザはその警告や提案に基づきジョブの処理順を設定し直すことができる。
Furthermore, in this embodiment, the
図2はジョブ処理システム10でバッチ処理されるジョブの処理順の例を模式的に示している。ジョブの処理順は上述のとおりユーザが設定し、ジョブ処理システム10が例えば図2に示すようなジョブネット図の形式で記憶する。同図では、各矩形が一つのジョブを表し、矢印によってその処理順を示している。すなわち同図のジョブネット図90の例では、「ジョブA」、「ジョブB」を並列に処理したあと、「ジョブC」と「ジョブD」をこの順で処理するように設定されている。
FIG. 2 schematically shows an example of the processing order of jobs batch-processed by the
ユーザは各ジョブのジョブフローを、ジョブネット図90とは別に設定する。このときジョブ処理システム10は、例えばジョブネット図を参照しながら各ジョブのジョブフローを呼び出すことによりバッチ処理を進捗させる。図2の場合、すなわちジョブネット図90のように処理順が設定されたジョブのバッチ処理においては、「ジョブA」と「ジョブB」の双方の処理が終了しないと「ジョブC」の処理は開始されない。例えば「ジョブB」の処理時間が「ジョブA」の処理時間より長い場合、「ジョブC」の処理を開始するには、「ジョブA」の処理が終了した後も、「ジョブB」の処理終了を待ち続ける必要がある。
The user sets the job flow of each job separately from the job net diagram 90. At this time, the
以後、基準となるジョブの処理前に処理するように登録されているジョブのうち、最後に処理が終了するジョブの処理終了時刻と、その直前に処理が終了したジョブの終了時刻との差分を、当該基準となるジョブの「待ち時間」とする。図2の例で「ジョブC」を基準とすると、その待ち時間は、「ジョブA」が終了してから「ジョブB」が終了するまでの時間となる。このような例で「ジョブC」の待ち時間が長い、すなわち「ジョブA」が終了してから「ジョブB」が終了するまでに長い時間を要するとき、処理効率の観点から改善の余地がある場合が多くなる。 After that, among the jobs registered to be processed before the reference job is processed, the difference between the processing end time of the job that has been processed last and the end time of the job that has just ended processing is calculated. The “waiting time” of the reference job is set. When “job C” is used as a reference in the example of FIG. 2, the waiting time is the time from the end of “job A” to the end of “job B”. In such an example, when “Job C” has a long waiting time, that is, when it takes a long time from “Job A” to “Job B”, there is room for improvement from the viewpoint of processing efficiency. More cases.
例えば「ジョブC」が、「ジョブB」の処理終了を待つ必要のないジョブである場合がそれにあたる。すなわち、「ジョブB」が出力した結果を「ジョブC」が利用するなど処理内容上の依存関係がない場合、これらのジョブの処理順には制約条件は発生しない。この場合、「ジョブC」の処理を「ジョブB」の処理終了を待たずに開始するように処理順の設定を変更することにより、バッチ処理の効率性が向上する。一方、ジョブの処理内容において先行する一のジョブの出力結果を後続の一のジョブが何らかの形で利用するような場合は、ジョブの前後関係を保持する必要がある。以後、このような場合に先行ジョブは後続ジョブの「前提ジョブ」であるという。 For example, the case where “job C” is a job that does not need to wait for the end of processing of “job B”. That is, when there is no dependency on the processing contents, such as “job C” using the result output by “job B”, no constraint condition occurs in the processing order of these jobs. In this case, the efficiency of batch processing is improved by changing the processing order setting so that the processing of “job C” is started without waiting for the completion of the processing of “job B”. On the other hand, when the output result of one preceding job in the processing contents of a job is used in some form by one subsequent job, it is necessary to maintain the job context. Hereinafter, in such a case, the preceding job is referred to as the “prerequisite job” of the succeeding job.
本実施の形態におけるジョブ処理システム10は、待ち時間の発生に関与しているジョブの処理順を、処理内容の前提条件を考慮しながら見直す。具体的には、バッチで処理される各ジョブについて実際に生じた「待ち時間」を取得し、所定のしきい値を超える待ち時間を有するジョブ(以後、「長時間待機ジョブ」と呼ぶ)と、当該待ち時間を発生させている、すなわち待たせているジョブ(以後、「待機原因ジョブ」と呼ぶ)との依存関係を確認して、処理順における改良の余地を模索する。そして待ち時間の発生について警告を行ったり、処理順の調整を行った結果得られた、候補となる処理順をユーザに提示したりする。
The
図3は第1サーバ12の構成をより詳細に示している。第2サーバ14、第3サーバ16、第4サーバ18も同様の構成としてよい。第1サーバ12はジョブ処理時に適宜アクセスする前出のハードディスク13の他、ユーザが登録したジョブフローや処理順から後の処理に必要な情報を有するデータを作成するジョブ登録部32、作成したジョブフローや処理順に係るデータを記憶するジョブ情報記憶部44、登録されたジョブを処理するジョブ処理部34、ジョブの実際の終了時刻や処理時間を記録する実行状況記憶部46、待ち時間がしきい値を超えるジョブの有無を検出する待ち時間判定部36、各ジョブの前提ジョブの有無などジョブの処理順の制約条件を確認する制約条件判定部38、ジョブの処理順を可能な範囲で入れ替えて調整を行う処理順調整部40、ユーザに対し待ち時間の発生についての警告や処理順の候補の提示を行う出力部42を含む。
FIG. 3 shows the configuration of the
図3において、様々な処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU、メモリ、その他のLSIで構成することができ、ソフトウェア的には、演算やファイル操作、データベースへのアクセスを行うプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。 In FIG. 3, each element described as a functional block for performing various processes can be configured by a CPU, a memory, and other LSIs in terms of hardware, and in terms of software, operations, file operations, databases This is realized by a program that performs access to. Therefore, it is understood by those skilled in the art that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof, and is not limited to any one.
ジョブ登録部32は、ジョブフローやジョブの処理順など、ジョブの処理に必要な情報をユーザが登録するためのインターフェースである。ジョブ登録部32は、登録画面を表示した表示装置と、キーボード、ポインティングデバイスなど登録画面に対して入力を行う入力装置との組み合わせなどでよく、ジョブを処理する一般的なシステムで用いられる装置を適用することができる。登録された情報は、スクリプトコードやジョブネット図など所定の形式でジョブ情報記憶部44に格納する。
The
ジョブ登録部32はジョブフローの登録を受け付けた際、当該ジョブフローから各ジョブが利用するリソースなどを抽出して、利用リソース情報のテーブルを作成する。利用リソース情報のテーブルは、バッチで処理される各ジョブの名前と、それが利用するリソース、サーバ、処理内容の特徴などを対応づけたテーブルである。ジョブ登録部32は、ユーザが入力したジョブフローのデータから、入出力を行うハードディスク、アクセスするサーバ、作成するファイルの名前などの情報を所定の項目ごとに抽出し、利用リソース情報のテーブルを作成する。
When the
一般に、ジョブの処理順を表すジョブネット図は図面として表示可能であるため、運用担当者などによって容易に確認が可能である。しかしそこから得られる情報は、設定されたジョブ処理の前後関係であって、同一のファイルを操作するなどの処理内容上の依存関係ではない。ジョブの処理内容はプログラムやスクリプトコードによって提供されていることもあるため、このような依存関係を、処理内容を詳細に把握せずに確認することは困難である。そこで本実施の形態では、ジョブ同士の処理内容上の関係を利用リソースの観点から紐づける。利用リソース情報のテーブルの具体例は後に述べる。 In general, a job net diagram representing the job processing order can be displayed as a drawing, so that it can be easily confirmed by an operator or the like. However, the information obtained therefrom is the context of the set job processing, not the dependency on the processing content such as operating the same file. Since the job processing content may be provided by a program or script code, it is difficult to confirm such dependency without grasping the processing content in detail. Therefore, in the present embodiment, the relationship between the processing contents of jobs is linked from the viewpoint of resources used. A specific example of the table of used resource information will be described later.
本実施の形態では、各ジョブが利用するリソースに基づき、ジョブがどのサーバで処理されているかに関わらず全体として処理順の効率性を評価する。従って利用リソース情報は、どのサーバでどのジョブが処理されているかに関わらず、ジョブ処理システム10でバッチ処理している全てのジョブについての情報を第1サーバ12、第2サーバ14、第3サーバ16、第4サーバ18間で共有してもよい。その場合、あるサーバで利用リソース情報のテーブルが更新されるたびに、その更新情報を他のサーバに送信して各自が保持する利用リソース情報のテーブルを更新する。あるいは、あるサーバのジョブ情報記憶部44を他のサーバからアクセス可能とすることにより同一の利用リソース情報のテーブルを参照する。
In the present embodiment, the efficiency of the processing order as a whole is evaluated based on the resources used by each job, regardless of which server is processing the job. Therefore, the used resource information includes information on all jobs batch-processed by the
ジョブ処理部34は、ユーザが登録したジョブフロー、ジョブネット図などの情報をジョブ情報記憶部44から読み出し、実行する。これはジョブを処理する一般的なシステムで用いられる手法を適用することができる。ジョブ処理部34はさらに、ジョブを処理する都度、各ジョブの終了時刻と開始から終了までの処理時間を実行状況記憶部46に記録する。
The
待ち時間判定部36は、ジョブ処理部34が実行状況記憶部46に記録した各ジョブの終了時刻を参照して、上述した待ち時間を各ジョブについて計算する。そしてあらかじめ設定されたしきい値と比較することにより、待ち時間がしきい値を超えるジョブを検出する。しきい値は標準的な値を実験などにより求めてもよいし、ユーザがジョブ登録部32に対して設定できるようにしてもよい。あるいは、システムで実行されるジョブの待ち時間の実績値からその標準偏差を計算し、待ち時間が当該標準偏差に基づく所定の範囲から逸脱して長く生じているジョブを抽出するようにしてもよい。これにより、実際の運用状況を考慮したうえでより改善効果の高い修正案を導出することができる。
The waiting
ここで待ち時間判定部36は、ジョブが1回バッチ処理される都度、当該1回の処理における各ジョブの終了時刻から待ち時間を算出してしきい値と比較してもよいし、所定の回数のバッチ処理が行われたら、その回数分の各ジョブの待ち時間の平均値を算出してしきい値と比較するようにしてもよい。あるいは、システム固有の運用形態によってあらかじめ設定した状況別に平均待ち時間を算出するようにしてもよい。例えば入出金の管理システムなどでは、経理上の締め日や年度末にはデータが増加し処理時間が増加することが考えられる。また、並列処理されているジョブの数が増加するほど、リソースへのアクセスの排他制御などによって処理時間が増加することが考えられる。
Here, each time a job is batch processed once, the waiting
各ジョブの処理時間の変動によって待ち時間も変化するため、システムの運用形態によって待ち時間が周期的に変動することもあり得る。そのため、例えば一ヶ月で平均処理時間が周期的に変動するようなシステムにおいては、各月の同日における待ち時間の平均値を算出するようにしてもよい。待ち時間が月末のみに長くなっている、といった、待ち時間の変動の傾向をユーザが正確に把握できると、処理順を実際に変更すべきか否か、といった判断の拠り所となる。場合によっては、処理順の変更より効率的な改良点を見出せる可能性もある。 Since the waiting time also changes depending on the processing time of each job, the waiting time may periodically change depending on the operation mode of the system. Therefore, for example, in a system where the average processing time fluctuates periodically in one month, the average value of the waiting time on the same day of each month may be calculated. If the user can accurately grasp the tendency of the waiting time fluctuation such that the waiting time is increased only at the end of the month, it becomes a basis for determining whether or not the processing order should be actually changed. In some cases, it may be possible to find improvements that are more efficient than changing the processing order.
処理順調整部40は、待ち時間がしきい値を超えるジョブがあった場合に、処理順を調整できる箇所を検出し、新たな処理順の候補を作成する。具体的には、待機原因ジョブが長時間待機ジョブの前提ジョブに含まれていない場合に、待機原因ジョブと長時間待機ジョブの前後関係の設定を解除する。さらに後続のジョブのうち、待機原因ジョブを前提ジョブとしているジョブの有無を確認し、そのようなジョブがある場合は、待機原因ジョブの後に当該ジョブを処理するような処理順候補を作成する。
When there is a job whose waiting time exceeds the threshold value, the processing
図2の例で、長時間待機ジョブが「ジョブC」、待機原因ジョブが「ジョブB」であり、「ジョブB」が「ジョブC」の前提ジョブでなく「ジョブD」の前提ジョブであった場合は、「ジョブC」の処理を「ジョブA」の処理終了後に開始するようにし、「ジョブD」の処理を「ジョブB」の処理終了後に開始するような処理順の候補を作成する。このようにすることで、「ジョブB」が予想外に長い処理になっていたとしても、その処理終了を無意味に待ち続けることなく「ジョブC」の処理を開始させることができ、処理効率が向上して、全体的なバッチ処理時間の短縮が見込まれる。 In the example of FIG. 2, the long-waiting job is “Job C”, the waiting cause job is “Job B”, and “Job B” is not the premise job of “Job C” but the premise job of “Job D”. In such a case, processing of “job C” is started after completion of processing of “job A”, and processing order candidates are created so that processing of “job D” is started after completion of processing of “job B”. . In this way, even if “Job B” has an unexpectedly long process, the process of “Job C” can be started without waiting for the end of the process without meaning. And the overall batch processing time is expected to be shortened.
ただし、長時間待機ジョブを待機原因ジョブの後に処理するという制約を解除したことにより、長時間待機ジョブが新たな待機原因ジョブとなって後続のジョブに待ち時間を発生させてしまうなど、必ずしも上述の処理を一度行ったのみで全てのジョブの待ち時間が解消されたり処理時間が短縮されたりするとは限らない。そのため処理順調整部40は、暫定的に作成した処理順の候補を待ち時間判定部36に一旦戻し、再度、待ち時間の評価を行わせる。そして待ち時間がしきい値を超えるジョブが再度検出されたら同様の調整を行い、新たな処理順の候補を作成する。この作業を、しきい値を超える待ち時間を有するジョブがなくなるまで繰り返す。
However, the restriction that the long-waiting job is processed after the waiting cause job is removed, so that the long-waiting job becomes a new waiting cause job and causes a waiting time for the subsequent job. It is not always the case that the waiting time of all jobs is eliminated or the processing time is shortened by performing the above process once. For this reason, the processing
さらに処理順調整部40は、このようにして作成した処理順の候補に対し、処理時間の評価を行う。このとき処理順調整部40は、実行状況記憶部46に記録された、各ジョブの実際の処理時間を、作成した処理順候補における各ジョブに当てはめていき、バッチ処理の総処理時間の予測値を算出する。算出に用いる各ジョブの処理時間は、ある期間の平均値でもよいし、前述のように、ある周期ごとに待ち時間を評価している場合はその周期における平均値でもよい。そして総処理時間の予測値を実績値と比較し、処理順の見直しによって処理時間の短縮が見込まれるか否かを判断する。短縮できると判断した場合に、その処理順を最終的な候補として決定する。
Further, the processing
制約条件判定部38は、処理順調整部40がジョブの処理順を調整する際に、待機原因ジョブが長時間待機ジョブの前提ジョブであるか否かの判定、待機原因ジョブを前提ジョブとする後続のジョブを検出する。判定に際しては、ジョブ情報記憶部44に記憶された利用リソース情報のテーブルを参照する。制約条件判定部38はさらに、前提ジョブ以外に設定されたジョブの処理順に関する制約条件に基づき、処理順調整部40が作成する処理順の候補に違反がないかを判定する。制約条件としては、例えば並列に処理するジョブの最大数が挙げられる。
When the processing
処理順調整部40は、待ち時間を短縮する方針で適宜ジョブの前後関係の切り離しおよび接続を行っていくが、その結果、システムの処理能力を超える数のジョブを一度に処理するような処理順となっても、それを実現することは困難となる。そこで制約条件の範囲内で処理順が調整できるように、制約条件判定部38が処理順の候補の是非を判定する。制約条件は、同じデータベースやハードディスクなどのリソースにアクセスするジョブを並列に処理できる最大数や、同じデータベースを同時に更新するなど、あるリソースを同時に利用するジョブが並列に実行されないか、など、より細かい制約でもよい。それらの情報は利用リソース情報のテーブルから取得できる。また能力上、不可能か可能かを基準に決定されるものばかりでなく、フローが複雑すぎないかなど、ユーザの趣向によって適宜ポリシーを定めてもよい。
The processing
制約条件は、あらかじめ定めておいたものをジョブ情報記憶部44に記憶させておいてもよいし、ユーザが入力したものをジョブ登録部32がジョブ情報記憶部44に格納するようにしてもよい。制約条件判定部38は、当該制約条件をジョブ情報記憶部44から読み出し、処理順調整部40が作成する処理順の候補に違反がある場合に、その旨の通知を処理順調整部40に対し行う。
Predetermined conditions may be stored in the job
出力部42は、処理順調整部40が作成した処理順の最終的な候補を出力してユーザに提案を行う。待機原因ジョブが長時間待機ジョブの前提ジョブであったり、処理順を調整しても待ち時間がしきい値を超えるジョブが解消されない、処理時間が改善されないなどの場合は、処理順の候補を出力せず、長時間待機ジョブの存在についての警告や、長時間待機ジョブが待機原因ジョブの前提ジョブである旨の情報を出力することによりユーザに警告してもよい。あるいは、調整の途中で作成した暫定的な処理順候補を提示し、これ以上の調整は制約違反である、などといった問題点を提示するようにしてもよい。これにより最適な解決策を決定する際の手がかりをユーザに与えることができる。出力部42は一般的な表示装置やプリンタなどの出力装置でもよいし、電子メールやファクシミリなどの通信機器をさらに含んでもよい。
The
次に、ジョブ登録部32が生成する利用リソース情報のテーブルについて説明する。それに先立ち、ジョブ処理システム10で処理されるジョブフローの例を示す。図4はジョブ登録部32に対しユーザが登録するジョブフローの一例を示している。この例のジョブフローは、第1ステップ50および第2ステップ52の2段階の処理によって構成されている。第1ステップ50は、第1サーバ12のハードディスク13のドライブDに格納されたファイルを、シェル54によって同じくドライブDに別名で保存する処理である。同図の例は、前日に作成した入出金明細のファイル「aaa.txt」を、作成した年月日を表す数列「yyyymmdd」を含むファイル名「aaa.txt.yyyymmdd」を有するファイルとして保存する。すなわち入出金明細のバックアップファイルを作成する。
Next, a table of used resource information generated by the
第2ステップ52は、別に作成したプログラム56により、第1サーバ12に接続したデータベース20に格納されたデータを参照して新たな入出金ファイルを作成し、ファイル「aaa.txt」としてドライブDに格納する処理である。以上の処理を含むジョブを例えば毎日所定の時間に処理することにより、ハードディスク13のドライブDには日々の入出金明細のバックアップデータがファイル名に日付を含む形で蓄積されていくことになる。
The second step 52 creates a new deposit / withdrawal file by referring to the data stored in the
第1ステップ50において入出金明細のファイル「aaa.txt」をバックアップファイル「aaa.txt.yyyymmdd」として保存するためのシェル54は、ユーザ自身が作成してジョブ情報記憶部44に登録してもよいし、対話式の登録手段を用いてジョブ登録部32が自動で作成してジョブ情報記憶部44に格納してもよい。第2ステップにおいて新たな入出金明細ファイルを作成するプログラム56は、あらかじめ作成しておいたものをジョブ情報記憶部44に格納しておいてもよいし、図示しない他の記憶装置から呼び出してロードするようにしてもよい。
The
ユーザはジョブ登録部32に対し、図4のようなジョブフローを対話形式で、あるいはスクリプトファイルを自作するなどしてジョブの名前とともに登録する。ジョブ登録部32は登録されたジョブの名前などをファイル名として、各ジョブフローをジョブ情報記憶部44に格納する。さらに次に述べる利用リソース情報のテーブルを作成してジョブ情報記憶部44に格納する。
The user registers the job flow as shown in FIG. 4 together with the job name in the
図5はユーザが入力したジョブフローに対しジョブ登録部32が作成する、利用リソース情報のテーブルのデータ構造例を示している。利用リソース情報テーブル100において、1つのジョブに含まれる所定単位の処理が1行分のデータとなる。図5の例では、リソースへのアクセス、例えばファイルの読み出し(参照)や書き込み(更新)を1つの単位として記載している。利用リソース情報テーブル100は、ジョブ名欄102、利用サーバ欄104、利用リソース種類欄106、リソース詳細欄108、処理内容欄110、参照先ファイル欄112、更新先ファイル欄114、前提ジョブ欄116を含む。前述の通りジョブ登録部32は、新たなジョブフローが登録されるたびに当該ジョブフローから必要な情報を抽出し、利用リソース情報テーブル100にエントリを追加していく。
FIG. 5 shows an example of the data structure of a table of used resource information created by the
ジョブ名欄102には、ユーザが登録を行ったジョブの名前を記載する。利用サーバ欄104にはそれぞれのジョブが利用するリソースが属するサーバの名前を記載する。利用リソース種類欄106には利用するリソースの種類、例えばハードディスク、データベース、LANカードなどを識別する情報を記載する。リソース詳細欄108には、具体的なリソースの識別情報を記載する。処理内容欄110には、リソース詳細欄108に記載したリソースを利用して行われる具体的な処理内容を記載する。ここでは前述のとおり、リソースへのアクセスごとに行を設けているため、「参照」や「更新」が記載されている。ここで「更新」とは新たなファイルの作成処理も含む。また、参照と更新からなる1対の処理が、バックアップなどを目的とする、ファイルのコピーである場合は、それらの処理を他と区別できるように記載する。図5の例では、「参照(コピー)」、「更新(コピー)」なる表記がそれにあたる。処理内容欄110にはその他、リソースへのアクセス内容を表す「転送」、「出力」などを適宜記載する。
The
参照先ファイル欄112には、ファイルの参照処理において参照されるファイルの名前を記載する。更新先ファイル欄114には、ファイルの更新処理よって更新、または新たに作成されるファイルの名前を記載する。前提ジョブ欄116には各ジョブの前提ジョブのジョブ名を記載する。
The reference
前提ジョブは、各ジョブの参照先のファイルと同リソースにある同名のファイルを更新しているジョブのうち、処理順が前のジョブを抽出することによって得られる。あるいは、ジョブネット図の登録時などにユーザによって設定できるようにしてもよい。図5はジョブ登録部32が前提ジョブを前提ジョブ欄116に記載する例を示しているが、利用リソース情報テーブル100には前提ジョブ欄116を設けなくてもよい。この場合、制約条件判定部38が、処理順調整部40からの依頼を受けて利用リソース情報テーブル100の参照先ファイル欄112および更新先ファイル欄114などを参照し、対象ジョブの前提ジョブを上述の手法で適宜抽出するようにしてもよい。同様に、本実施の形態ではいずれかの段階でジョブフローから前提ジョブの情報を取得できればよく、利用リソース情報テーブル100は図5のデータ構造に限定されるものではない
The prerequisite job is obtained by extracting a job having the previous processing order from among jobs that update a file with the same name in the same resource as a reference file of each job. Alternatively, it may be set by the user when registering a job net diagram. FIG. 5 shows an example in which the
図5に示した利用リソース情報テーブル100のうち「ジョブB」なるジョブは、図4で示したジョブに対応する。すなわち、第1ステップ50では第1サーバ12のハードディスク13のドライブDにアクセスし、入出金明細ファイル「aaa.txt」のバックアップファイル「aaa.txt.yyyymmdd」を作成しているため、図5に示した利用リソース情報テーブル100の4、5行目において、利用サーバ欄104には「第1サーバ」、利用リソース種類欄106にはハードディスクを示す「DISK」、リソース詳細欄108には「ドライブD」、処理内容欄110には「参照(コピー)」および「更新(コピー)」、参照先ファイル欄112には「aaa.txt」、更新先ファイル欄114には「aaa.txt.yyyymmdd」と記載されている。
The job “job B” in the used resource information table 100 shown in FIG. 5 corresponds to the job shown in FIG. 4. That is, in the
また「ジョブB」は、第2ステップ52において、第1サーバ12に接続したデータベース20を参照して新たなファイル「aaa.txt」を作成しているため、利用リソース情報テーブル100の6、7行目において、利用サーバ欄104には「第1サーバ」、利用リソース種類欄106にはデータベースへのアクセスを示す「DBMS」、およびハードディスクを示す「DISK」、リソース詳細欄108には「データベース」および「ドライブD」、処理内容欄110には「参照」および「更新」、参照先ファイル欄112には参照するデータベース名である「会計DB」、更新先ファイル欄111には「aaa.txt」と記載されている。
In addition, since “job B” has created a new file “aaa.txt” with reference to the
さらに「ジョブB」は前提ジョブがないとして、前提ジョブ欄116は無記入となっている。「ジョブA」、「ジョブC」、「ジョブD」も同様に記載され、特に「ジョブC」は前提ジョブが「ジョブA」、「ジョブD」は前提ジョブが「ジョブB」であることが前提ジョブ欄116にそれぞれ記載されている。
Further, it is assumed that “job B” has no prerequisite job, and the
次にこれまで述べた構成で実現できる、ジョブ処理システム10の動作について説明する。図6は、ジョブ処理システム10が行う、ジョブ処理の順序の調整に係る処理の手順を示すフローチャートである。まず、ジョブ処理部34はジョブ情報記憶部44からジョブネット図やジョブフローを読み出し、ユーザの設定通りにジョブのバッチ処理を行う(S10)。この際、各ジョブの処理終了時刻と処理時間を実行状況記憶部46に記録していく。
Next, the operation of the
待ち時間判定部36は、バッチ処理が行われた都度、あるいは所定の周期で、実行状況記憶部46に記録された各ジョブの終了時刻から待ち時間あるいはその平均値をジョブごとに算出し、しきい値と比較する(S12)。しきい値を超える待ち時間を有するジョブを検出したら(S12のY)、処理順調整部40に検出した長時間待機ジョブとその待ち時間を発生させている待機原因ジョブの情報を与え、処理順調整部40が調整を行うことにより処理順の暫定的な候補を作成する(S14)。一方、しきい値を超える待ち時間を有するジョブが検出されない場合はそのまま処理を終了する(S12のN)。
The waiting
処理順調整部40が処理順の候補を作成した場合は(S12のY、S14)、待ち時間判定部36が、作成された処理順の候補に、実行状況記憶部46から読み出した、各ジョブの処理時間あるいはその平均値を当てはめていき、各ジョブの待ち時間の予測値を算出してしきい値と比較する(S18)。待ち時間の予測値がしきい値を超えるジョブがある場合は(S18のN)、実際の長時間待機ジョブが検出された場合と同様、処理順調整部40にその情報を与え、処理順調整部40が調整を行うことにより新たな処理順の候補を作成する(S14)。その後、待ち時間の予測値算出、しきい値との比較による評価、処理順候補の作成を、待ち時間の予測値がしきい値を超えるジョブがなくなるまで繰り返す(S16、S18のN、S14)。
When the processing
待ち時間の予測値がしきい値を超えるジョブがなくなったら(S18のY)、処理順調整部40は、作成した処理順候補に各ジョブの処理時間あるいはその平均値を当てはめて、その順でバッチ処理を行った場合の総処理時間の予測値を算出し、実行状況記憶部46から読み出した実績値と比較する(S20)。総処理時間の予測値が実績値より少ない、すなわち総処理時間が短縮されると見込まれる場合は(S20のY)、当該処理順を最終的な候補として出力部42に出力する(S22)。
When there is no job whose predicted waiting time exceeds the threshold (Y in S18), the processing
一方、総処理時間の予測値が実績値以上であった場合は(S20のN)、待ち時間がしきい値を超える長時間待機ジョブがあること、および当該長時間待機ジョブおよび待機原因ジョブのジョブ名や、ジョブネット図上の位置など、それらのジョブの情報を出力部42において出力することにより警告を行う(S24)。上述のとおり、調整の途中で作成した暫定的な処理順候補を出力し、それ以上の調整は制約違反である、あるいは処理時間が短縮されない、といった問題点を提示するようにしてもよい。 On the other hand, if the predicted value of the total processing time is equal to or greater than the actual value (N in S20), there is a long waiting job whose waiting time exceeds the threshold, and the long waiting job and the waiting cause job A warning is issued by outputting the job information such as the job name and the position on the job net diagram in the output unit 42 (S24). As described above, a provisional processing order candidate created in the middle of adjustment may be output to present a problem that further adjustment is a constraint violation or the processing time is not shortened.
図7は、図6のS14において処理順調整部40が制約条件判定部38の判定に基づき新たな処理順候補を作成する処理手順を示すフローチャートである。まず処理順調整部40は、制約条件判定部38に問い合わせを行うことにより、待機原因ジョブが長時間待機ジョブの前提ジョブであるか否かを確認する(S30)。待機原因ジョブが長時間待機ジョブの前提ジョブである場合は(S30のN)、待機原因ジョブと長時間待機ジョブの前後関係を保持する必要があるため、それ以上の処理順の調整はできないとして、図6のS24と同様、長時間待機ジョブの存在に関する警告を出力部42に行わせる(S34)。
FIG. 7 is a flowchart illustrating a processing procedure in which the processing
一方、待機原因ジョブが長時間待機ジョブの前提ジョブでない場合は(S30のY)、待機原因ジョブと長時間待機ジョブの前後関係の設定を解除する(S32)。具体的には、長時間待機ジョブの前に処理すると設定されたジョブが待機原因ジョブ以外にあれば、単に待機原因ジョブとの前後関係を解除する。長時間待機ジョブの前に処理すると設定されたジョブが待機原因ジョブしかなければ、長時間待機ジョブを待機原因ジョブの1つ前に処理が終了したジョブの次に処理するように設定を行う。この際、長時間待機ジョブの後に処理するように設定されているジョブは、仮にその前後関係を保持しておく。また、並列で処理できる最大ジョブ数などの制約条件を制約条件判定部38に確認し、制約違反となる場合は、それ以上の調整は行わずにS34と同様の警告を行うか(図示せず)、あらかじめ定めた規則に則り、制約条件に違反しない、別のジョブの次に処理するように設定を行う。
On the other hand, if the standby cause job is not a precondition job for the long standby job (Y in S30), the setting of the context of the standby cause job and the long standby job is canceled (S32). Specifically, if the job set to be processed before the long-waiting job is other than the waiting cause job, the context with the waiting cause job is simply canceled. If the job set to be processed before the long-waiting job is the only job causing the standby, the long-waiting job is set to be processed next to the job that has been processed immediately before the standby-causing job. At this time, a job that is set to be processed after a long-waiting job temporarily retains its context. Also, the constraint
次に処理順調整部40は、再度制約条件判定部38に問い合わせを行うことにより、長時間待機ジョブの次に処理するように設定されているジョブから、待機原因ジョブを前提ジョブとするジョブを抽出する(S36)。そのようなジョブがある場合は(S36のY)、当該ジョブを待機原因ジョブの次に処理するように設定する(S38)。そのようなジョブの処理が前提ジョブである待機原因ジョブの終了を待たずに開始されるのを防ぐためである。以後、待機原因ジョブを前提ジョブとするジョブを次々に抽出して待機原因ジョブの後続ジョブに追加していく処理を繰り返し(S36のY、S38)、そのようなジョブがなくなった時点で処理を終了する(S36のN)。このような処理により、処理内容上の依存関係および並列処理が可能な最大ジョブ数などの制約条件の範囲内で、長時間待機ジョブと待機原因ジョブの前後関係を解除し、しきい値を超える待ち時間を解消できる処理順候補を作成できる。
Next, the processing
図8は、これまで述べた処理によって生成される、ジョブの処理順候補の具体例を示している。同図においては右方向が時間軸であり、各ジョブを表す矩形の幅が処理時間を表す。矩形間の矢印は処理順に前後関係が設定されていることを表す。まず初めに、図8の(a)に示すような処理順、すなわち、「ジョブa」の処理後に「ジョブb」、「ジョブc」、「ジョブd」が並列に処理され、それらのジョブの処理後に「ジョブe」が処理される処理順がユーザによって設定されていたとする。ここで「ジョブc」の終了時刻から「ジョブd」の終了時刻までの時間t1がしきい値より大きかった場合、待ち時間判定部36は「ジョブd」を待機原因ジョブ、「ジョブe」を長時間待機ジョブとして検出する。
FIG. 8 shows a specific example of job processing order candidates generated by the processing described so far. In the drawing, the right direction is the time axis, and the width of the rectangle representing each job represents the processing time. The arrows between the rectangles indicate that the context is set in the processing order. First, in the processing order as shown in FIG. 8A, that is, after “job a” is processed, “job b”, “job c”, and “job d” are processed in parallel. Assume that the processing order in which “job e” is processed after processing is set by the user. Here, when the time t1 from the end time of “job c” to the end time of “job d” is larger than the threshold value, the waiting
ここで「ジョブd」が「ジョブe」の前提ジョブでないことが制約条件判定部38により判明すると、処理順調整部40は「ジョブd」の後に「ジョブe」を処理する、という前後関係の設定(線120)を解除する。その結果、「ジョブe」は「ジョブd」の1つ前に処理が終了する「ジョブc」の処理終了後に処理が開始されるジョブとなる。同図の場合、待機原因ジョブである「ジョブd」の後に処理すると設定されていたジョブは「ジョブe」以外にないため、図7のS38のように「ジョブd」の次に処理するジョブを抽出することはない。そのため、図8の(b)が暫定的な処理順候補となる。
Here, when the restriction
続いて待ち時間判定部36は、当該処理順候補について再度、しきい値を超える待ち時間を有するジョブの検出を行う。この際、図8(b)の暫定的な処理順候補に、各ジョブの処理時間の実績値あるいはその平均値を当てはめていくことにより、各ジョブの待ち時間の予測値を算出できる。同図の場合、「ジョブb」と「ジョブc」はおよそ同時に処理が開始されるため、「ジョブb」の処理時間と「ジョブc」の処理時間の差分の時間t2が「ジョブe」の待ち時間となる。当該時間t2がしきい値より大きかった場合、待ち時間判定部36は「ジョブc」を「ジョブe」の待機原因ジョブとして検出する。
Subsequently, the waiting
そして上述同様、「ジョブc」が「ジョブe」の前提ジョブでないことが制約条件判定部38により判明すると、処理順調整部40は「ジョブc」の後に「ジョブe」を処理する、という前後関係の設定(線122)を解除する。その結果、「ジョブe」は「ジョブc」の1つ前に処理が終了する「ジョブb」の処理終了後に処理が開始されるジョブとなり、図8(c)に示すような暫定的な処理順候補が再度決定する。
As described above, when the restriction
次に待ち時間判定部36は、当該暫定的な処理順候補について待ち時間を算出するが、この場合は、「ジョブa」の終了時刻と「ジョブb」の終了時刻との差分、すなわちおよそ「ジョブb」の処理時間である時間t3を「ジョブe」の待ち時間とする。そして時間t3がしきい値より大きい場合、「ジョブb」は「ジョブe」の待機原因ジョブとして検出される。ここで「ジョブb」が「ジョブe」の前提ジョブでないとすると、処理順調整部40はそれらのジョブの前後関係の設定(線124)を解除する。さらに、「ジョブe」の前に処理するジョブを、「ジョブb」の前に処理が終了する「ジョブa」とし、「ジョブa」、「ジョブe」なる前後関係(線126)を設定することにより、さらに新たな処理順候補とする。
Next, the waiting
制約条件判定部38によってこのような処理順候補が制約条件違反でないことが確認され、それ以上待ち時間がしきい値を超えるジョブが検出されなかったら、当該処理順候補に対し、各ジョブの処理時間の実績値を当てはめていき、総処理時間の予測値を算出する。総処理時間の予測値が実績値を下回ったら、この処理順を最終的な処理順候補として出力部42から出力する。一方、例えば並列に処理するジョブの最大数が「3」として設定されていた場合、「ジョブa」の後に処理するジョブの数を当初の設定以上に増やすことはできないため、制約条件判定部38は「ジョブa」、「ジョブe」なる前後関係を追加することを制約条件違反とする。
If the constraint
この場合、処理順調整部40はそれ以上の調整をせずに、出力部42に待ち時間に係る警告を出力してもよいし、図8(c)のような暫定的な処理順候補を出力してもよい。あるいは、実際の運用形態や処理内容などによってさらに詳細な調整規則を定めておくことにより、自動で調整を行える範囲を増やしてもよい。例えば図8(c)のような状況まで調整を行った後、並列に処理するジョブの最大数が「3」と設定されていて「ジョブe」の処理を「ジョブa」の処理後に設定できない場合は、さらに「ジョブa」の前に「ジョブe」を処理できるか調整を試みるようにしてもよい。この場合、「ジョブa」が「ジョブe」の前提ジョブでないか確認し、前提ジョブでなかった場合は最終的な処理順候補とすることができる。
In this case, the processing
図8に示したいずれかの段階で、待機原因ジョブが長時間待機ジョブの前提ジョブとなっていて、それらのジョブの前後関係を解除することができなくなった場合は、前述のとおり、待ち時間に係る警告を出力したり、その時点までに作成した処理順候補を出力したりできる。 If at any stage shown in FIG. 8 the waiting cause job is a precondition job for a long waiting job and the context of those jobs cannot be canceled, the waiting time is set as described above. Can be output, and processing order candidates created up to that point can be output.
以上述べた本実施の形態によれば、ジョブを処理する都度、ジョブの終了時刻を記録し、各ジョブの待ち時間、あるいはその平均値を算出する。そしてしきい値を超える待ち時間を発生させているジョブがあった場合に、その部分のジョブ処理の前後関係を調整する。これにより、運用段階では把握しづらい、処理効率上問題のある箇所の検出を容易に行うことがでる。これまでは一旦決定した処理順を調整することは容易ではなかったが、運用している間にアクセス数が変化したり、新たなジョブを追加したりと状況が変化しても、状況に応じて、最適な処理順での運用が可能となる。システム導入前など最初に処理順を決定する際にも、処理効率を気にせずに初期設定を行っても、問題箇所の洗い出しと処理順の調整をシステムが自律的に行うため、開発にかかる負担を減らすことができる。 According to the embodiment described above, every time a job is processed, the end time of the job is recorded, and the waiting time of each job or an average value thereof is calculated. Then, when there is a job causing a waiting time exceeding the threshold, the context of job processing for that portion is adjusted. As a result, it is possible to easily detect a portion that is difficult to grasp at the operation stage and has a problem in processing efficiency. Previously, it was not easy to adjust the processing order once determined. However, even if the number of accesses changes during operation or a new job is added, the situation changes depending on the situation. Therefore, operation in the optimum processing order becomes possible. Even when the processing order is first determined, such as before the system is installed, even if the initial settings are made without worrying about the processing efficiency, the system autonomously identifies the problem location and adjusts the processing order. The burden can be reduced.
処理順の調整にあたっては、ジョブネット図などでは把握しにくい、ジョブの処理内容上の依存関係を、利用リソース情報などから確認し、さらに、並列で処理できるジョブの最大数など処理順の制約条件やユーザが所望とするポリシーにも照らし、それらの条件が許す範囲で調整を行う。そのため、処理順を安全かつ迅速に調整することが可能となり、処理内容の詳細を把握していなくてもシステムの保守、改善を行うことができる。このことは、各ジョブの処理内容の全貌を把握することが困難な、多数のジョブを実行する大規模なシステムにおいて特に有効である。 When adjusting the processing order, check the dependency on the processing details of the job, which is difficult to grasp on the job net diagram etc., from the resource information used, etc. In addition, the constraints on the processing order such as the maximum number of jobs that can be processed in parallel In light of the policies desired by the user and the user, adjustments are made as far as those conditions allow. Therefore, it becomes possible to adjust the processing order safely and quickly, and the system can be maintained and improved without knowing the details of the processing contents. This is particularly effective in a large-scale system that executes a large number of jobs, in which it is difficult to grasp the entire processing contents of each job.
また、待ち時間の算出を、運用形態に合わせて周期的に行うなどの詳細な設定ができる。これにより、ある期間で限定的に待ち時間が増加する、などの傾向をユーザが把握しやすくなるとともに、あまり重要でない場面において不用意に警告を出したり、重要な場面での待ち時間の増加が平均値でならされてしまい警告が出なかったり調整されなかったりするのを防ぐことができる。 Further, it is possible to make detailed settings such as periodically calculating the waiting time according to the operation mode. This makes it easier for users to understand trends such as a limited increase in waiting time in a certain period of time, and an inadvertent warning in an unimportant scene, or an increase in waiting time in an important scene. It can be prevented that the average value is adjusted and no warning or adjustment is made.
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。 The present invention has been described based on the embodiments. This embodiment is an exemplification, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are also within the scope of the present invention. is there.
例えば本実施の形態では、処理順調整部40が、処理順の調整を行った後に自らが作成した処理順の候補でバッチ処理した場合の待ち時間および総処理時間の予測値を、各ジョブの処理時間の実績値に基づき算出し、評価した。一方、処理順の候補をユーザが入力し、当該処理順でバッチ処理を行った場合の待ち時間および総処理時間の予測値を、処理順調整部40が同様に算出するようにしてもよい。例えば、処理順調整部40が処理順の調整を行ったが、途中で制約条件に違反して最終的な処理順の候補を絞りきれなかった場合に、ユーザに制約条件に違反する前までに得られた、暫定的な処理順の候補を提示するようにし、処理順候補の最終決定をユーザに行わせる。
For example, in the present embodiment, the processing
このような場合に、ユーザが決定した処理順の候補で待ち時間はどのくらい発生するか、効率性が向上するか否かをシステムが評価する。こうすることにより、処理時間、各種制約条件などの中からユーザが求める優先順序に即した処理順候補を評価することができるとともに、システムが示す評価に基づき、より複雑な調整をユーザの手により行うことができる。結果として、ユーザの意志を一部反映させた調整を効率的に行うことができる。 In such a case, the system evaluates how much waiting time is generated in the processing order candidates determined by the user and whether efficiency is improved. In this way, it is possible to evaluate processing order candidates in accordance with the priority order requested by the user from among processing time and various constraints, and more complex adjustments can be made by the user based on the evaluation indicated by the system. It can be carried out. As a result, adjustment that partially reflects the user's will can be performed efficiently.
また待ち時間判定部36は、所定の場合においては、基準となるジョブの前に処理されるジョブのうち、最後に処理が終了したジョブ以外のジョブとの関係から待ち時間判定を行ってもよい。例えば、図8の「ジョブb」、「ジョブc」、「ジョブd」のように複数のジョブを並列に実行する場合、最後に処理が終了する「ジョブd」とその前に処理が終了する「ジョブc」の終了時刻に差がない場合でも、その直前に処理が終了する「ジョブb」と「ジョブc」の終了時刻の差がしきい値を超えていれば待ち時間が発生していると判定する。この場合、「ジョブc」、「ジョブd」の双方が「ジョブe」の前提ジョブでなければ、「ジョブc」、「ジョブd」と「ジョブe」の前後関係をまとめて解消することができる。このように、基準となるジョブの前に複数のジョブが並列処理されている場合などは、最後に処理が終了したジョブ以外のジョブとの関係から待ち時間を判定し、前後関係の解消を複数のジョブに対しまとめて行うようにしてもよい。
Further, in a predetermined case, the waiting
1 ジョブ処理システム、12 第1サーバ、 13 ハードディスク、 14 第2サーバ、 20 データベース、 32 ジョブ登録部、 34 ジョブ処理部、 36 待ち時間判定部、 38 制約条件判定部、 40 処理順調整部、 42 出力部、 44 ジョブ情報記憶部、 46 実行状況記憶部、 100 利用リソース情報テーブル。 DESCRIPTION OF SYMBOLS 1 Job processing system, 12 1st server, 13 Hard disk, 14 2nd server, 20 Database, 32 Job registration part, 34 Job processing part, 36 Wait time determination part, 38 Restriction condition determination part, 40 Processing order adjustment part, 42 Output unit, 44 job information storage unit, 46 execution status storage unit, 100 use resource information table.
Claims (12)
各ジョブの処理内容の登録とジョブの処理順の登録をユーザから受け付け、それぞれをジョブ情報記憶部に格納するジョブ登録部と、
前記ジョブ情報記憶部に格納されたジョブの処理順を参照しながら、各ジョブの処理内容を前記ジョブ情報記憶部から読み出しバッチ処理を実行するとともに、各ジョブの終了時刻を記録するジョブ処理部と、
基準となるジョブの処理開始前に処理するように登録されているジョブのうち、前記ジョブ処理部におけるバッチ処理時に最後に処理が終了したジョブの処理終了時刻から、その直前に処理が終了したジョブの処理終了時刻までの時間を、当該基準となるジョブの待ち時間として、各ジョブの待ち時間を取得し、前記待ち時間が所定のしきい値を超える長時間待機ジョブを検出する待ち時間判定部と、
前記長時間待機ジョブが検出された際、その旨の警告をユーザに対し行う出力部と、
を備えたことを特徴とするジョブ処理システム。 A job processing system that batch processes multiple jobs,
A job registration unit that accepts registration of processing details of each job and registration of job processing order from the user, and stores each in a job information storage unit;
A job processing unit that reads out the processing contents of each job from the job information storage unit and executes batch processing while referring to the processing order of the jobs stored in the job information storage unit, and records the end time of each job; ,
Of the jobs registered to be processed before the start of the reference job processing , the job that has been processed immediately before the processing end time of the job that was last processed during batch processing in the job processing unit The waiting time determination unit that acquires the waiting time of each job as the waiting time of the reference job as the time until the processing end time of, and detects a long waiting job in which the waiting time exceeds a predetermined threshold When,
When the long standby job is detected, an output unit for giving a warning to that effect to the user,
A job processing system comprising:
前記出力部は、前記警告を行う際、前記依存関係の有無を併せて通知することを特徴とする請求項1に記載のジョブ処理システム。 When the long-waiting job is detected, a determination is made based on the registered job processing contents as to whether there is a dependency relationship between the waiting-causing job that causes the job to wait and the processing contents of the long-waiting job. A constraint condition determination unit;
The job processing system according to claim 1, wherein the output unit also notifies the presence / absence of the dependency when performing the warning.
前記出力部は、前記処理順候補をユーザに提示することを特徴とする請求項2または3に記載のジョブ処理システム。 When the constraint condition determination unit determines that there is no dependency between processing contents, processing order candidates adjusted by canceling the setting of the context of the waiting cause job and the long waiting job in the registered processing order Further comprising a processing order adjustment unit to be created,
The job processing system according to claim 2, wherein the output unit presents the processing order candidates to a user.
前記待ち時間判定部は、前記ジョブ処理部が記録した各ジョブの処理時間の実績値に基づき、前記処理順調整部が生成した処理順候補に則りバッチ処理を行った場合に各ジョブに発生すると予測される待ち時間を算出し、当該予測される待ち時間が所定のしきい値を超える長時間待機ジョブをさらに検出し、
前記処理順調整部は、前記予測される待ち時間が所定のしきい値を超える長時間待機ジョブが検出された場合に、処理順をさらに調整した新たな処理順候補を作成することを特徴とする請求項4に記載のジョブ処理システム。 The job processing unit records the processing time of each job when executing batch processing,
The waiting time determination unit occurs in each job when batch processing is performed in accordance with the processing order candidates generated by the processing order adjustment unit based on the actual processing time value of each job recorded by the job processing unit. Calculate the expected waiting time, and further detect long waiting jobs where the predicted waiting time exceeds a predetermined threshold,
The processing order adjustment unit creates a new processing order candidate in which the processing order is further adjusted when a long waiting job whose predicted waiting time exceeds a predetermined threshold is detected. The job processing system according to claim 4.
前記処理順調整部は、前記待機原因ジョブと処理内容の依存関係のあるジョブを、当該待機原因ジョブの完了後に処理するように前記処理順候補を作成することを特徴とする請求項4または5に記載のジョブ処理システム。 The constraint condition determination unit extracts a job having a dependency relationship between the waiting cause job and the processing content from jobs registered to be processed after completion of the waiting cause job,
The processing order adjustment unit creates the processing order candidate so that a job having a dependency relationship between the waiting cause job and the processing content is processed after the waiting cause job is completed. The job processing system described in 1.
前記出力部は、前記処理順調整部が予測した総処理時間が総処理時間の実績値より短縮された場合に、前記処理順候補をユーザに提示することを特徴とする請求項4から6のいずれかに記載のジョブ処理システム。 The processing order adjustment unit predicts the total processing time when the batch processing is performed according to the processing order candidates based on the actual processing time value of each job recorded by the batch processing unit,
The output unit presents the processing order candidates to the user when the total processing time predicted by the processing order adjustment unit is shorter than the actual value of the total processing time. The job processing system according to any one of the above.
各ジョブの処理内容の登録をユーザから受け付け記憶装置に格納するステップと、
ジョブの処理順の登録をユーザから受け付け前記記憶装置に格納するステップと、
前記記憶装置に格納されたジョブの処理順を参照しながら、各ジョブの処理内容を前記記憶装置から読み出しバッチ処理を実行するとともに、各ジョブの終了時刻をメモリに記録するステップと、
メモリに記録された各ジョブの終了時刻に基づき、一のジョブの処理終了を待って所定のしきい値より長い時間処理が開始されないジョブを検出するステップと、
検出されたジョブと、処理終了を待たせているジョブとの間に処理内容の依存関係がない場合に、登録された処理順においてそれらのジョブの前後関係の設定を解除した新たな処理順を作成するステップと、
作成した処理順をユーザに提示するステップと、
を含むことを特徴とするジョブ管理方法。 In a job processing system that batch processes multiple jobs,
Receiving registration of processing contents of each job from a user and storing it in a storage device;
Accepting registration of job processing order from a user and storing it in the storage device;
Referring to the processing order of the jobs stored in the storage device, reading the processing contents of each job from the storage device, executing batch processing, and recording the end time of each job in a memory;
A step of waiting for the end of processing of one job based on the end time of each job recorded in the memory and detecting a job whose processing is not started for a time longer than a predetermined threshold;
If there is no dependency relationship between the detected job and the job waiting for the end of processing, a new processing order in which the setting of the context of those jobs is canceled in the registered processing order A step to create,
Presenting the created processing order to the user;
Including a job management method.
メモリに記録された各ジョブの処理時間に基づき、作成された前記新たな処理順でバッチ処理を行った場合に予測される総処理時間を算出するステップと、
登録された順序でバッチ処理した際の総処理時間の実績値と、前記予測される総処理時間とを比較するステップと、
をさらに含むことを特徴とする請求項11に記載のジョブ管理方法。 When batch processing a plurality of jobs, recording the processing time of each job in a memory;
Calculating a total processing time predicted when batch processing is performed in the new processing order created based on the processing time of each job recorded in the memory; and
A step of comparing the actual value of the total processing time when batch processing is performed in the registered order and the predicted total processing time;
The job management method according to claim 11 , further comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008076790A JP5111186B2 (en) | 2008-03-24 | 2008-03-24 | Job processing system and job management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008076790A JP5111186B2 (en) | 2008-03-24 | 2008-03-24 | Job processing system and job management method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009230584A JP2009230584A (en) | 2009-10-08 |
JP5111186B2 true JP5111186B2 (en) | 2012-12-26 |
Family
ID=41245869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008076790A Expired - Fee Related JP5111186B2 (en) | 2008-03-24 | 2008-03-24 | Job processing system and job management method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5111186B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5445124B2 (en) * | 2009-12-25 | 2014-03-19 | 日本電気株式会社 | Job flow management device, job flow execution start time prediction method and program thereof |
US9684546B2 (en) | 2014-12-16 | 2017-06-20 | Microsoft Technology Licensing, Llc | Job scheduling and monitoring in a distributed computing environment |
JP6439559B2 (en) | 2015-04-08 | 2018-12-19 | 富士通株式会社 | Computer system, computer, job execution time prediction method, and job execution time prediction program |
JP6118841B2 (en) * | 2015-06-08 | 2017-04-19 | 株式会社三菱東京Ufj銀行 | Job net management apparatus and program |
JP2017068877A (en) * | 2017-01-20 | 2017-04-06 | 株式会社三菱東京Ufj銀行 | Job net management system and program |
JP6302103B2 (en) * | 2017-01-20 | 2018-03-28 | 株式会社三菱東京Ufj銀行 | Job net management apparatus and program |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05242051A (en) * | 1992-02-28 | 1993-09-21 | Nec Corp | Task scheduling system |
JPH10214195A (en) * | 1997-01-30 | 1998-08-11 | Nec Corp | Device for generating job control sentence for executing plural job steps in parallel and method therefore, and recording medium for recording program for generating job control sentence |
JPH10312295A (en) * | 1997-05-12 | 1998-11-24 | Hitachi Ltd | Exclusion waiting analysis method using journal information |
JP3537356B2 (en) * | 1998-12-09 | 2004-06-14 | 株式会社日立製作所 | Delay factor analysis method in job system |
JP2002278804A (en) * | 2001-03-15 | 2002-09-27 | Nec Software Chubu Ltd | Job execution monitoring method and program |
JP4206653B2 (en) * | 2001-07-13 | 2009-01-14 | 日本電気株式会社 | Task scheduling system and method, program |
JP2007241642A (en) * | 2006-03-08 | 2007-09-20 | Kubota Systems Inc | Analysis method, analysis apparatus, and computer program |
-
2008
- 2008-03-24 JP JP2008076790A patent/JP5111186B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009230584A (en) | 2009-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5111186B2 (en) | Job processing system and job management method | |
JP4983795B2 (en) | System management program, system management apparatus, and system management method | |
US8564818B2 (en) | Log information management system, control method therefor, and storage medium | |
US8831967B2 (en) | Workflow management using a to-do list | |
US10382632B2 (en) | Image processing unit, information processing system, program, and information processing method | |
US20080201333A1 (en) | State transition controlled attributes | |
US20120212775A1 (en) | Establishing job ticket values of a print job in a print shop architecture | |
US8867084B2 (en) | Management system for managing an image forming apparatus, control method thereof, print system, and non-transitory computer-readable medium | |
US20090316175A1 (en) | Approach For Updating Usage Information On Printing Devices | |
US20080030756A1 (en) | Print job eligibility based on named snapshots of printer settings | |
CN108733536B (en) | Monitoring management system and method | |
JP5837898B2 (en) | Information processing apparatus, information processing method, and program | |
JP5231035B2 (en) | Job processing system and job processing method | |
US20110051194A1 (en) | Image forming apparatus and method thereof | |
EP3296856B1 (en) | Information processing apparatus, method, and program | |
JP2009181495A (en) | Job processing system and job management method | |
JP4857397B1 (en) | Schedule management system with print management function | |
JP4884364B2 (en) | Data input device, data input method, program thereof, and storage medium | |
JP5601462B2 (en) | Priority setting device, priority setting method, and program | |
JP2017091213A (en) | Database update processing system, and database update processing method | |
JP2006048275A (en) | Job schedule management device, job schedule management method and program therefor | |
WO2019227707A1 (en) | Server, method for predicting system invocation volume, and storage medium | |
JP6616229B2 (en) | Report reception management program, information processing apparatus, and report reception management method | |
JP2022147777A (en) | Data conversion processing system, data conversion processing method and data conversion processing program | |
JP6349991B2 (en) | Form data output device, form data output method, form data output system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110105 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120309 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120313 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120510 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121002 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121009 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151019 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |