JP5111186B2 - Job processing system and job management method - Google Patents

Job processing system and job management method Download PDF

Info

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
Application number
JP2008076790A
Other languages
Japanese (ja)
Other versions
JP2009230584A (en
Inventor
豪士 穴吹
潤 大方
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute 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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2008076790A priority Critical patent/JP5111186B2/en
Publication of JP2009230584A publication Critical patent/JP2009230584A/en
Application granted granted Critical
Publication of JP5111186B2 publication Critical patent/JP5111186B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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)。
特開平5−012037号公報
When batch processing jobs, the processing order of the jobs is determined in advance based on the processing capability, efficiency, dependency between jobs, priority order, and the like. By registering the processing contents of each job, that is, the job flow and the job execution order in the system, the desired processing is basically automatically completed at a desired time. As a result, it is possible to improve the efficiency of various processes while reducing labor costs (for example, Patent Document 1).
JP-A-5-012037

営業時間外の夜間にジョブをバッチ処理させるようなシステムにおいては、営業開始時間までに終了していないと営業開始に支障をきたすジョブが含まれることがある。このような場合を含め、一般的にバッチ処理は効率的に短期間で完了することが望まれる。しかし、バッチ処理はあらかじめ登録された処理内容、および順序でジョブを実行させているのみであるため、運用担当者が監視していても、当該バッチ処理が“効率的”に遂行されているか否かを判断することは難しい。システムの開発環境において開発者が“効率的”であると考えて処理順を決定しても、実機で運用してみると、扱うデータ量が想定していた量と異なっていると、効率性が低下してくることも考えられる。   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 job processing system 10 includes four servers: a first server 12, a second server 14, a third server 16, and a fourth server 18. The first server 12 is connected to the database 20. A user operates a terminal of each server, and performs setting and registration to process a desired job at a desired time. The number of servers, databases, and database connection destinations are not limited to those shown in FIG. 1, and the present embodiment can be applied to any configuration as long as the system can process jobs. Further, a client terminal or the like may be connected to each server.

第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 first server 12, the second server 14, the third server 16, and the fourth server 18 generally includes one or more CPUs and memories, storage devices, input / output devices, display devices, or any combination thereof. As long as it is a typical information processing apparatus, the scale of a personal computer, general-purpose large computer, etc. is not limited. In the figure, as an example, the first server 12 has a hard disk 13 and the second server 14 has a hard disk 15. The first server 12, the second server 14, the third server 16, and the fourth server 18 are connected to the network 22 and can transmit and receive data to and from each other.

ユーザは第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 first server 12, the second server 14, the third server 16, and the fourth server 18. Cause the system 10 to process the job. Here, the “job flow” is specific processing content for each job. Each job may be processed by any one of the first server 12, the second server 14, the third server 16, and the fourth server 18, or may be processed by a plurality of servers. In what order the job is processed on which server, whether to process multiple jobs in parallel, such as available resources such as CPU processing capacity and network bandwidth, and the order of access to the database The user makes settings in view of the processing contents. These procedures can use general techniques used in batch processing of jobs.

さらに本実施の形態では、ユーザにより設定されたジョブの処理順でバッチ処理を行った結果に基づき、ジョブ処理システム10自身がジョブ処理の効率性の評価を行い、必要に応じてユーザに対し警告を行ったり、新たな処理順候補を提案したりする。ユーザはその警告や提案に基づきジョブの処理順を設定し直すことができる。   Furthermore, in this embodiment, the job processing system 10 itself evaluates the efficiency of job processing based on the results of batch processing in the job processing order set by the user, and warns the user as necessary. Or suggest new processing order candidates. The user can reset the job processing order based on the warning or suggestion.

図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 job processing system 10. The job processing order is set by the user as described above, and is stored by the job processing system 10 in the form of a job net diagram as shown in FIG. 2, for example. In the figure, each rectangle represents one job, and the processing order is indicated by arrows. In other words, in the example of the job net diagram 90 in FIG. 9, “job A” and “job B” are processed in parallel, and then “job C” and “job D” are processed in this order.

ユーザは各ジョブのジョブフローを、ジョブネット図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 job processing system 10 advances the batch processing by calling the job flow of each job with reference to the job net diagram, for example. In the case of FIG. 2, that is, in the batch processing of a job in which the processing order is set as shown in the job net FIG. 90, the processing of “job C” is completed unless both “job A” and “job B” are completed. Not started. For example, when the processing time of “Job B” is longer than the processing time of “Job A”, the processing of “Job B” is started after the processing of “Job A” is completed. You need to wait for the end.

以後、基準となるジョブの処理前に処理するように登録されているジョブのうち、最後に処理が終了するジョブの処理終了時刻と、その直前に処理が終了したジョブの終了時刻との差分を、当該基準となるジョブの「待ち時間」とする。図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 job processing system 10 according to the present embodiment reviews the processing order of jobs involved in the occurrence of waiting time while considering the preconditions of processing contents. Specifically, a “waiting time” actually generated for each job processed in a batch is acquired, and a job having a waiting time exceeding a predetermined threshold (hereinafter referred to as “long waiting job”) Then, the dependency relationship with the job causing the waiting time, that is, the waiting job (hereinafter referred to as “waiting cause job”) is confirmed, and the room for improvement in the processing order is searched. Then, a warning is given about the occurrence of the waiting time, or the candidate processing order obtained as a result of adjusting the processing order is presented to the user.

図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 first server 12 in more detail. The second server 14, the third server 16, and the fourth server 18 may have the same configuration. The first server 12 includes a job registration unit 32 that creates data having information necessary for subsequent processing from the job flow and processing order registered by the user, in addition to the hard disk 13 that is appropriately accessed during job processing. Job information storage unit 44 that stores data relating to flow and processing order, job processing unit 34 that processes registered jobs, execution status storage unit 46 that records the actual end time and processing time of a job, and waiting time threshold The waiting time determination unit 36 for detecting the presence / absence of a job exceeding the value, the constraint condition determination unit 38 for checking the constraint condition of the job processing order such as the presence / absence of the premise job of each job, and the job processing order are switched as much as possible. It includes a processing order adjustment unit 40 that performs adjustment, and an output unit 42 that presents a warning about the occurrence of a waiting time to the user and candidates for processing order.

図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 job registration unit 32 is an interface for the user to register information necessary for job processing, such as job flow and job processing order. The job registration unit 32 may be a combination of a display device that displays a registration screen and an input device that performs input on the registration screen, such as a keyboard and a pointing device, and is a device used in a general system that processes jobs. Can be applied. The registered information is stored in the job information storage unit 44 in a predetermined format such as a script code or a job net diagram.

ジョブ登録部32はジョブフローの登録を受け付けた際、当該ジョブフローから各ジョブが利用するリソースなどを抽出して、利用リソース情報のテーブルを作成する。利用リソース情報のテーブルは、バッチで処理される各ジョブの名前と、それが利用するリソース、サーバ、処理内容の特徴などを対応づけたテーブルである。ジョブ登録部32は、ユーザが入力したジョブフローのデータから、入出力を行うハードディスク、アクセスするサーバ、作成するファイルの名前などの情報を所定の項目ごとに抽出し、利用リソース情報のテーブルを作成する。   When the job registration unit 32 receives registration of a job flow, the job registration unit 32 extracts a resource used by each job from the job flow and creates a table of used resource information. The used resource information table is a table in which the name of each job processed in a batch is associated with the resource used by the job, the server, the characteristics of processing contents, and the like. The job registration unit 32 extracts, for each predetermined item, information such as the hard disk to be input / output, the server to be accessed, and the name of the file to be created from the job flow data input by the user, and creates a table of used resource information To do.

一般に、ジョブの処理順を表すジョブネット図は図面として表示可能であるため、運用担当者などによって容易に確認が可能である。しかしそこから得られる情報は、設定されたジョブ処理の前後関係であって、同一のファイルを操作するなどの処理内容上の依存関係ではない。ジョブの処理内容はプログラムやスクリプトコードによって提供されていることもあるため、このような依存関係を、処理内容を詳細に把握せずに確認することは困難である。そこで本実施の形態では、ジョブ同士の処理内容上の関係を利用リソースの観点から紐づける。利用リソース情報のテーブルの具体例は後に述べる。   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 job processing system 10 regardless of which server is processing which job, and the first server 12, the second server 14, and the third server. 16 and the fourth server 18 may be shared. In that case, whenever the table of used resource information is updated on a certain server, the updated information is transmitted to another server to update the used resource information table held by each server. Alternatively, the same resource information table is referenced by making the job information storage unit 44 of a certain server accessible from another server.

ジョブ処理部34は、ユーザが登録したジョブフロー、ジョブネット図などの情報をジョブ情報記憶部44から読み出し、実行する。これはジョブを処理する一般的なシステムで用いられる手法を適用することができる。ジョブ処理部34はさらに、ジョブを処理する都度、各ジョブの終了時刻と開始から終了までの処理時間を実行状況記憶部46に記録する。   The job processing unit 34 reads information such as a job flow and a job net diagram registered by the user from the job information storage unit 44 and executes it. For this, a method used in a general system for processing jobs can be applied. Further, each time a job is processed, the job processing unit 34 records the end time of each job and the processing time from the start to the end in the execution status storage unit 46.

待ち時間判定部36は、ジョブ処理部34が実行状況記憶部46に記録した各ジョブの終了時刻を参照して、上述した待ち時間を各ジョブについて計算する。そしてあらかじめ設定されたしきい値と比較することにより、待ち時間がしきい値を超えるジョブを検出する。しきい値は標準的な値を実験などにより求めてもよいし、ユーザがジョブ登録部32に対して設定できるようにしてもよい。あるいは、システムで実行されるジョブの待ち時間の実績値からその標準偏差を計算し、待ち時間が当該標準偏差に基づく所定の範囲から逸脱して長く生じているジョブを抽出するようにしてもよい。これにより、実際の運用状況を考慮したうえでより改善効果の高い修正案を導出することができる。   The waiting time determination unit 36 refers to the end time of each job recorded in the execution status storage unit 46 by the job processing unit 34 and calculates the above-described waiting time for each job. Then, by comparing with a preset threshold value, a job whose waiting time exceeds the threshold value is detected. As the threshold value, a standard value may be obtained by experiments or the like, or the user may be able to set the job registration unit 32. Alternatively, the standard deviation may be calculated from the actual value of the waiting time of a job executed in the system, and a job in which the waiting time has deviated from a predetermined range based on the standard deviation and is generated for a long time may be extracted. . As a result, it is possible to derive a correction plan having a higher improvement effect in consideration of the actual operation status.

ここで待ち時間判定部36は、ジョブが1回バッチ処理される都度、当該1回の処理における各ジョブの終了時刻から待ち時間を算出してしきい値と比較してもよいし、所定の回数のバッチ処理が行われたら、その回数分の各ジョブの待ち時間の平均値を算出してしきい値と比較するようにしてもよい。あるいは、システム固有の運用形態によってあらかじめ設定した状況別に平均待ち時間を算出するようにしてもよい。例えば入出金の管理システムなどでは、経理上の締め日や年度末にはデータが増加し処理時間が増加することが考えられる。また、並列処理されているジョブの数が増加するほど、リソースへのアクセスの排他制御などによって処理時間が増加することが考えられる。   Here, each time a job is batch processed once, the waiting time determination unit 36 may calculate a waiting time from the end time of each job in the one processing and compare it with a threshold value. When batch processing is performed for the number of times, an average value of the waiting time of each job corresponding to the number of times may be calculated and compared with a threshold value. Alternatively, the average waiting time may be calculated for each preset situation according to the system-specific operation mode. For example, in a deposit / withdrawal management system, it is conceivable that the data will increase and the processing time will increase at the accounting closing date or at the end of the fiscal year. In addition, as the number of jobs being processed in parallel increases, the processing time may increase due to exclusive control of access to resources.

各ジョブの処理時間の変動によって待ち時間も変化するため、システムの運用形態によって待ち時間が周期的に変動することもあり得る。そのため、例えば一ヶ月で平均処理時間が周期的に変動するようなシステムにおいては、各月の同日における待ち時間の平均値を算出するようにしてもよい。待ち時間が月末のみに長くなっている、といった、待ち時間の変動の傾向をユーザが正確に把握できると、処理順を実際に変更すべきか否か、といった判断の拠り所となる。場合によっては、処理順の変更より効率的な改良点を見出せる可能性もある。   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 order adjustment unit 40 detects a portion where the processing order can be adjusted, and creates a new processing order candidate. Specifically, when the waiting cause job is not included in the prerequisite jobs of the long waiting job, the setting of the context of the waiting cause job and the long waiting job is canceled. Further, of the subsequent jobs, the presence / absence of a job having a standby cause job as a prerequisite job is confirmed. If there is such a job, a processing order candidate for processing the job after the standby cause job is created.

図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 order adjustment unit 40 temporarily returns the temporarily created processing order candidates to the waiting time determination unit 36 and causes the waiting time to be evaluated again. When a job whose waiting time exceeds the threshold is detected again, the same adjustment is performed to create a new processing order candidate. This operation is repeated until there are no jobs having a waiting time exceeding the threshold value.

さらに処理順調整部40は、このようにして作成した処理順の候補に対し、処理時間の評価を行う。このとき処理順調整部40は、実行状況記憶部46に記録された、各ジョブの実際の処理時間を、作成した処理順候補における各ジョブに当てはめていき、バッチ処理の総処理時間の予測値を算出する。算出に用いる各ジョブの処理時間は、ある期間の平均値でもよいし、前述のように、ある周期ごとに待ち時間を評価している場合はその周期における平均値でもよい。そして総処理時間の予測値を実績値と比較し、処理順の見直しによって処理時間の短縮が見込まれるか否かを判断する。短縮できると判断した場合に、その処理順を最終的な候補として決定する。   Further, the processing order adjustment unit 40 evaluates the processing time for the processing order candidates created in this way. At this time, the processing order adjustment unit 40 applies the actual processing time of each job recorded in the execution status storage unit 46 to each job in the created processing order candidate, and predicts the total processing time of batch processing. Is calculated. The processing time of each job used for calculation may be an average value for a certain period, or may be an average value for that period when waiting time is evaluated for each period as described above. Then, the predicted value of the total processing time is compared with the actual value, and it is determined whether or not the processing time is expected to be shortened by reviewing the processing order. When it is determined that it can be shortened, the processing order is determined as a final candidate.

制約条件判定部38は、処理順調整部40がジョブの処理順を調整する際に、待機原因ジョブが長時間待機ジョブの前提ジョブであるか否かの判定、待機原因ジョブを前提ジョブとする後続のジョブを検出する。判定に際しては、ジョブ情報記憶部44に記憶された利用リソース情報のテーブルを参照する。制約条件判定部38はさらに、前提ジョブ以外に設定されたジョブの処理順に関する制約条件に基づき、処理順調整部40が作成する処理順の候補に違反がないかを判定する。制約条件としては、例えば並列に処理するジョブの最大数が挙げられる。   When the processing order adjustment unit 40 adjusts the job processing order, the constraint condition determination unit 38 determines whether or not the standby cause job is a prerequisite job for a long standby job, and uses the standby cause job as a prerequisite job. Detect subsequent jobs. For the determination, a table of used resource information stored in the job information storage unit 44 is referred to. The constraint condition determination unit 38 further determines whether there is a violation in the processing order candidates created by the processing order adjustment unit 40 based on the constraint conditions related to the processing order of jobs set other than the prerequisite job. As a constraint condition, for example, the maximum number of jobs to be processed in parallel can be cited.

処理順調整部40は、待ち時間を短縮する方針で適宜ジョブの前後関係の切り離しおよび接続を行っていくが、その結果、システムの処理能力を超える数のジョブを一度に処理するような処理順となっても、それを実現することは困難となる。そこで制約条件の範囲内で処理順が調整できるように、制約条件判定部38が処理順の候補の是非を判定する。制約条件は、同じデータベースやハードディスクなどのリソースにアクセスするジョブを並列に処理できる最大数や、同じデータベースを同時に更新するなど、あるリソースを同時に利用するジョブが並列に実行されないか、など、より細かい制約でもよい。それらの情報は利用リソース情報のテーブルから取得できる。また能力上、不可能か可能かを基準に決定されるものばかりでなく、フローが複雑すぎないかなど、ユーザの趣向によって適宜ポリシーを定めてもよい。   The processing order adjustment unit 40 appropriately disconnects and connects the job context with a policy of shortening the waiting time. As a result, the processing order adjustment unit 40 processes a number of jobs exceeding the processing capacity of the system at one time. Even so, it will be difficult to achieve this. Therefore, the constraint condition determination unit 38 determines whether the process order is right or wrong so that the process order can be adjusted within the range of the constraint conditions. Restrictions are more detailed such as the maximum number of jobs that access resources such as the same database or hard disk that can be processed in parallel, or whether jobs that use a resource at the same time are executed in parallel, such as updating the same database at the same time. It may be a constraint. Such information can be acquired from the table of used resource information. In addition, the policy may be determined appropriately depending on the user's preference, such as whether the flow is too complicated, as well as what is determined based on whether it is impossible or impossible in terms of ability.

制約条件は、あらかじめ定めておいたものをジョブ情報記憶部44に記憶させておいてもよいし、ユーザが入力したものをジョブ登録部32がジョブ情報記憶部44に格納するようにしてもよい。制約条件判定部38は、当該制約条件をジョブ情報記憶部44から読み出し、処理順調整部40が作成する処理順の候補に違反がある場合に、その旨の通知を処理順調整部40に対し行う。   Predetermined conditions may be stored in the job information storage unit 44, or those input by the user may be stored in the job information storage unit 44 by the job registration unit 32. . The constraint condition determination unit 38 reads the constraint condition from the job information storage unit 44, and when there is a violation in the processing order candidate created by the processing order adjustment unit 40, notifies the processing order adjustment unit 40 of the notification. Do.

出力部42は、処理順調整部40が作成した処理順の最終的な候補を出力してユーザに提案を行う。待機原因ジョブが長時間待機ジョブの前提ジョブであったり、処理順を調整しても待ち時間がしきい値を超えるジョブが解消されない、処理時間が改善されないなどの場合は、処理順の候補を出力せず、長時間待機ジョブの存在についての警告や、長時間待機ジョブが待機原因ジョブの前提ジョブである旨の情報を出力することによりユーザに警告してもよい。あるいは、調整の途中で作成した暫定的な処理順候補を提示し、これ以上の調整は制約違反である、などといった問題点を提示するようにしてもよい。これにより最適な解決策を決定する際の手がかりをユーザに与えることができる。出力部42は一般的な表示装置やプリンタなどの出力装置でもよいし、電子メールやファクシミリなどの通信機器をさらに含んでもよい。   The output unit 42 outputs a final candidate for the processing order created by the processing order adjustment unit 40 and makes a proposal to the user. If the waiting cause job is a prerequisite job for a long-waiting job, or if the job whose waiting time exceeds the threshold is not resolved even if the processing order is adjusted, or the processing time is not improved, select the processing order candidate. The user may be warned without outputting a warning about the existence of a long-waiting job or information indicating that the long-waiting job is a prerequisite job of the waiting-causing job. Alternatively, a provisional processing order candidate created in the middle of adjustment may be presented, and problems such as further adjustment being a violation of constraints may be presented. This can give the user a clue when determining the optimum solution. The output unit 42 may be a general display device or an output device such as a printer, or may further include a communication device such as an electronic mail or a facsimile.

次に、ジョブ登録部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 job registration unit 32 will be described. Prior to this, an example of a job flow processed by the job processing system 10 is shown. FIG. 4 shows an example of a job flow registered by the user in the job registration unit 32. The job flow in this example is configured by two-stage processing of a first step 50 and a second step 52. The first step 50 is a process for saving the file stored in the drive D of the hard disk 13 of the first server 12 under the same name in the drive D by the shell 54. In the example shown in the figure, the deposit / withdrawal statement file “aaa.txt” created on the previous day is saved as a file having a file name “aaa.txt. . That is, a backup file of deposit / withdrawal details is created.

第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 database 20 connected to the first server 12 by a separately created program 56 and stores it in the drive D as the file “aaa.txt”. It is a process to store. By processing the job including the above processing at a predetermined time every day, for example, the backup data of the daily deposit / withdrawal details is stored in the drive D of the hard disk 13 in a form including the date in the file name.

第1ステップ50において入出金明細のファイル「aaa.txt」をバックアップファイル「aaa.txt.yyyymmdd」として保存するためのシェル54は、ユーザ自身が作成してジョブ情報記憶部44に登録してもよいし、対話式の登録手段を用いてジョブ登録部32が自動で作成してジョブ情報記憶部44に格納してもよい。第2ステップにおいて新たな入出金明細ファイルを作成するプログラム56は、あらかじめ作成しておいたものをジョブ情報記憶部44に格納しておいてもよいし、図示しない他の記憶装置から呼び出してロードするようにしてもよい。   The shell 54 for saving the deposit / withdrawal details file “aaa.txt” as the backup file “aaa.txt.yyyymmdd” in the first step 50 is created by the user himself and registered in the job information storage unit 44. Alternatively, the job registration unit 32 may automatically create and store in the job information storage unit 44 using an interactive registration unit. The program 56 for creating a new deposit / withdrawal detail file in the second step may store a previously created program file in the job information storage unit 44 or load it by calling from another storage device (not shown). You may make it do.

ユーザはジョブ登録部32に対し、図4のようなジョブフローを対話形式で、あるいはスクリプトファイルを自作するなどしてジョブの名前とともに登録する。ジョブ登録部32は登録されたジョブの名前などをファイル名として、各ジョブフローをジョブ情報記憶部44に格納する。さらに次に述べる利用リソース情報のテーブルを作成してジョブ情報記憶部44に格納する。   The user registers the job flow as shown in FIG. 4 together with the job name in the job registration unit 32 interactively or by creating a script file. The job registration unit 32 stores each job flow in the job information storage unit 44 using the name of the registered job as a file name. Further, a table of used resource information described below is created and stored in the job information storage unit 44.

図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 job registration unit 32 for the job flow input by the user. In the use resource information table 100, a predetermined unit of processing included in one job is data for one line. In the example of FIG. 5, access to a resource, for example, reading (referring) or writing (updating) a file is described as one unit. The used resource information table 100 includes a job name column 102, a used server column 104, a used resource type column 106, a resource detail column 108, a processing content column 110, a reference destination file column 112, an update destination file column 114, and a prerequisite job column 116. Including. As described above, each time a new job flow is registered, the job registration unit 32 extracts necessary information from the job flow and adds an entry to the use resource information table 100.

ジョブ名欄102には、ユーザが登録を行ったジョブの名前を記載する。利用サーバ欄104にはそれぞれのジョブが利用するリソースが属するサーバの名前を記載する。利用リソース種類欄106には利用するリソースの種類、例えばハードディスク、データベース、LANカードなどを識別する情報を記載する。リソース詳細欄108には、具体的なリソースの識別情報を記載する。処理内容欄110には、リソース詳細欄108に記載したリソースを利用して行われる具体的な処理内容を記載する。ここでは前述のとおり、リソースへのアクセスごとに行を設けているため、「参照」や「更新」が記載されている。ここで「更新」とは新たなファイルの作成処理も含む。また、参照と更新からなる1対の処理が、バックアップなどを目的とする、ファイルのコピーである場合は、それらの処理を他と区別できるように記載する。図5の例では、「参照(コピー)」、「更新(コピー)」なる表記がそれにあたる。処理内容欄110にはその他、リソースへのアクセス内容を表す「転送」、「出力」などを適宜記載する。   The job name column 102 describes the name of the job registered by the user. The use server column 104 describes the name of the server to which the resource used by each job belongs. In the used resource type column 106, information for identifying the type of resource to be used, for example, a hard disk, a database, a LAN card, and the like is described. The resource detail column 108 describes specific resource identification information. In the processing content column 110, specific processing content performed using the resource described in the resource detail column 108 is described. Here, as described above, since a row is provided for each access to a resource, “reference” and “update” are described. Here, “update” includes a process of creating a new file. When a pair of processes consisting of reference and update is a file copy for the purpose of backup or the like, the processes are described so that they can be distinguished from others. In the example of FIG. 5, the notations “reference (copy)” and “update (copy)” correspond to this. In the processing content column 110, “transfer”, “output” and the like indicating the access content to the resource are described as appropriate.

参照先ファイル欄112には、ファイルの参照処理において参照されるファイルの名前を記載する。更新先ファイル欄114には、ファイルの更新処理よって更新、または新たに作成されるファイルの名前を記載する。前提ジョブ欄116には各ジョブの前提ジョブのジョブ名を記載する。   The reference destination file column 112 describes the name of the file to be referred to in the file reference process. In the update destination file column 114, the name of a file to be updated or newly created by the file update process is described. The prerequisite job column 116 describes the job name of the prerequisite job for each job.

前提ジョブは、各ジョブの参照先のファイルと同リソースにある同名のファイルを更新しているジョブのうち、処理順が前のジョブを抽出することによって得られる。あるいは、ジョブネット図の登録時などにユーザによって設定できるようにしてもよい。図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 job registration unit 32 describes the premise job in the premise job column 116, but the use resource information table 100 may not include the premise job column 116. In this case, upon receiving a request from the processing order adjustment unit 40, the constraint condition determination unit 38 refers to the reference destination file column 112, the update destination file column 114, and the like of the usage resource information table 100, and the prerequisite job of the target job is described above. You may make it extract suitably by the method of this. Similarly, in the present embodiment, it is only necessary to acquire the information on the premise job from the job flow at any stage, and the use resource information table 100 is not limited to the data structure of FIG.

図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 first step 50, since the drive D of the hard disk 13 of the first server 12 is accessed and the backup file “aaa.txt.yyyymmdd” of the deposit / withdrawal specification file “aaa.txt” is created, FIG. In the 4th and 5th lines of the used resource information table 100 shown, the used server column 104 is “first server”, the used resource type column 106 is “DISK” indicating a hard disk, and the resource detail column 108 is “drive D”. ”,“ Reference (copy) ”and“ update (copy) ”in the processing content column 110,“ aaa.txt ”in the reference destination file column 112, and“ aaa.txt.yyyymmdd ”in the update destination file column 114. Are listed.

また「ジョブ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 database 20 connected to the first server 12 in the second step 52, 6 and 7 in the use resource information table 100. In the line, the used server column 104 is “first server”, the used resource type column 106 is “DBMS” indicating access to the database, the hard disk “DISK”, and the resource detail column 108 is “database”. And “drive D”, “reference” and “update” in the processing content column 110, “accounting DB” that is the database name to be referenced in the reference destination file column 112, and “aaa.txt” in the update destination file column 111. It is described.

さらに「ジョブB」は前提ジョブがないとして、前提ジョブ欄116は無記入となっている。「ジョブA」、「ジョブC」、「ジョブD」も同様に記載され、特に「ジョブC」は前提ジョブが「ジョブA」、「ジョブD」は前提ジョブが「ジョブB」であることが前提ジョブ欄116にそれぞれ記載されている。   Further, it is assumed that “job B” has no prerequisite job, and the prerequisite job column 116 is blank. “Job A”, “Job C”, and “Job D” are similarly described. In particular, “Job C” indicates that the prerequisite job is “Job A”, and “Job D” indicates that the prerequisite job is “Job B”. They are described in the prerequisite job column 116, respectively.

次にこれまで述べた構成で実現できる、ジョブ処理システム10の動作について説明する。図6は、ジョブ処理システム10が行う、ジョブ処理の順序の調整に係る処理の手順を示すフローチャートである。まず、ジョブ処理部34はジョブ情報記憶部44からジョブネット図やジョブフローを読み出し、ユーザの設定通りにジョブのバッチ処理を行う(S10)。この際、各ジョブの処理終了時刻と処理時間を実行状況記憶部46に記録していく。   Next, the operation of the job processing system 10 that can be realized with the above-described configuration will be described. FIG. 6 is a flowchart showing a procedure of processing related to adjustment of the order of job processing performed by the job processing system 10. First, the job processing unit 34 reads a job net diagram and a job flow from the job information storage unit 44, and performs batch processing of jobs according to user settings (S10). At this time, the processing end time and processing time of each job are recorded in the execution status storage unit 46.

待ち時間判定部36は、バッチ処理が行われた都度、あるいは所定の周期で、実行状況記憶部46に記録された各ジョブの終了時刻から待ち時間あるいはその平均値をジョブごとに算出し、しきい値と比較する(S12)。しきい値を超える待ち時間を有するジョブを検出したら(S12のY)、処理順調整部40に検出した長時間待機ジョブとその待ち時間を発生させている待機原因ジョブの情報を与え、処理順調整部40が調整を行うことにより処理順の暫定的な候補を作成する(S14)。一方、しきい値を超える待ち時間を有するジョブが検出されない場合はそのまま処理を終了する(S12のN)。   The waiting time determination unit 36 calculates the waiting time or the average value for each job from the end time of each job recorded in the execution status storage unit 46 every time batch processing is performed or at a predetermined cycle. The threshold value is compared (S12). If a job having a waiting time exceeding the threshold is detected (Y in S12), the processing order adjustment unit 40 is provided with information on the detected long waiting job and the waiting cause job causing the waiting time, and the processing order is adjusted. The adjustment unit 40 makes adjustments to create provisional candidates for the processing order (S14). On the other hand, if a job having a waiting time exceeding the threshold is not detected, the processing is terminated as it is (N in S12).

処理順調整部40が処理順の候補を作成した場合は(S12のY、S14)、待ち時間判定部36が、作成された処理順の候補に、実行状況記憶部46から読み出した、各ジョブの処理時間あるいはその平均値を当てはめていき、各ジョブの待ち時間の予測値を算出してしきい値と比較する(S18)。待ち時間の予測値がしきい値を超えるジョブがある場合は(S18のN)、実際の長時間待機ジョブが検出された場合と同様、処理順調整部40にその情報を与え、処理順調整部40が調整を行うことにより新たな処理順の候補を作成する(S14)。その後、待ち時間の予測値算出、しきい値との比較による評価、処理順候補の作成を、待ち時間の予測値がしきい値を超えるジョブがなくなるまで繰り返す(S16、S18のN、S14)。   When the processing order adjustment unit 40 creates a processing order candidate (Y in S12, S14), the waiting time determination unit 36 reads each job read from the execution status storage unit 46 as the created processing order candidate. The processing time or the average value thereof is applied, and a predicted value of the waiting time of each job is calculated and compared with a threshold value (S18). If there is a job whose predicted waiting time exceeds the threshold value (N in S18), the processing order adjustment unit 40 is provided with the information as in the case where an actual long waiting job is detected, and the processing order is adjusted. A new processing order candidate is created by the adjustment by the unit 40 (S14). Thereafter, the calculation of the predicted value of the waiting time, the evaluation by comparison with the threshold value, and the creation of the processing order candidate are repeated until there is no job whose predicted value of the waiting time exceeds the threshold value (N in S16, S18, S14). .

待ち時間の予測値がしきい値を超えるジョブがなくなったら(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 order adjustment unit 40 applies the processing time of each job or its average value to the created processing order candidates, and in that order. A predicted value of the total processing time when batch processing is performed is calculated and compared with the actual value read from the execution status storage unit 46 (S20). When the predicted value of the total processing time is less than the actual value, that is, when the total processing time is expected to be shortened (Y in S20), the processing order is output to the output unit 42 as a final candidate (S22).

一方、総処理時間の予測値が実績値以上であった場合は(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 order adjustment unit 40 creates a new processing order candidate based on the determination by the constraint condition determination unit 38 in S14 of FIG. First, the processing order adjustment unit 40 makes an inquiry to the constraint condition determination unit 38 to confirm whether or not the standby cause job is a precondition job of a long standby job (S30). If the waiting cause job is a premise job of the long waiting job (N in S30), it is necessary to maintain the context of the waiting cause job and the long waiting job, so that the processing order cannot be further adjusted. As in S24 of FIG. 6, the output unit 42 is warned about the presence of the long-waiting job (S34).

一方、待機原因ジョブが長時間待機ジョブの前提ジョブでない場合は(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 condition determination unit 38 is checked for constraint conditions such as the maximum number of jobs that can be processed in parallel. If a constraint violation occurs, a warning similar to S34 is performed without further adjustment (not shown). ) In accordance with a predetermined rule, a setting is made so that processing is performed next to another job that does not violate the constraint condition.

次に処理順調整部40は、再度制約条件判定部38に問い合わせを行うことにより、長時間待機ジョブの次に処理するように設定されているジョブから、待機原因ジョブを前提ジョブとするジョブを抽出する(S36)。そのようなジョブがある場合は(S36のY)、当該ジョブを待機原因ジョブの次に処理するように設定する(S38)。そのようなジョブの処理が前提ジョブである待機原因ジョブの終了を待たずに開始されるのを防ぐためである。以後、待機原因ジョブを前提ジョブとするジョブを次々に抽出して待機原因ジョブの後続ジョブに追加していく処理を繰り返し(S36のY、S38)、そのようなジョブがなくなった時点で処理を終了する(S36のN)。このような処理により、処理内容上の依存関係および並列処理が可能な最大ジョブ数などの制約条件の範囲内で、長時間待機ジョブと待機原因ジョブの前後関係を解除し、しきい値を超える待ち時間を解消できる処理順候補を作成できる。   Next, the processing order adjustment unit 40 makes an inquiry to the constraint condition determination unit 38 again, so that a job having a waiting cause job as a premise job is selected from jobs set to be processed next to a long waiting job. Extract (S36). If there is such a job (Y in S36), the job is set to be processed next to the waiting cause job (S38). This is to prevent such job processing from starting without waiting for the completion of the waiting cause job, which is a prerequisite job. Thereafter, the process of extracting the jobs having the waiting cause job as a prerequisite job one after another and adding it to the succeeding job of the waiting cause job is repeated (Y in S36, S38), and the processing is performed when such a job disappears. The process ends (N in S36). By such processing, within the range of constraints such as dependency on processing contents and the maximum number of jobs that can be processed in parallel, the relationship between long-waiting jobs and waiting-causing jobs is canceled and the threshold is exceeded. Processing order candidates that can eliminate waiting time can be created.

図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 time determination unit 36 sets “job d” as the waiting cause job and “job e”. Detect as a long waiting job.

ここで「ジョブd」が「ジョブe」の前提ジョブでないことが制約条件判定部38により判明すると、処理順調整部40は「ジョブd」の後に「ジョブe」を処理する、という前後関係の設定(線120)を解除する。その結果、「ジョブe」は「ジョブd」の1つ前に処理が終了する「ジョブc」の処理終了後に処理が開始されるジョブとなる。同図の場合、待機原因ジョブである「ジョブd」の後に処理すると設定されていたジョブは「ジョブe」以外にないため、図7のS38のように「ジョブd」の次に処理するジョブを抽出することはない。そのため、図8の(b)が暫定的な処理順候補となる。   Here, when the restriction condition determination unit 38 determines that “job d” is not a prerequisite job of “job e”, the processing order adjustment unit 40 processes “job e” after “job d”. Cancel the setting (line 120). As a result, “job e” is a job whose processing is started after completion of processing of “job c” whose processing ends immediately before “job d”. In the case of FIG. 7, since there is no job other than “job e” that is set to be processed after “job d” that is a standby cause job, a job to be processed next to “job d” as shown in S38 of FIG. Do not extract. Therefore, (b) in FIG. 8 is a provisional processing order candidate.

続いて待ち時間判定部36は、当該処理順候補について再度、しきい値を超える待ち時間を有するジョブの検出を行う。この際、図8(b)の暫定的な処理順候補に、各ジョブの処理時間の実績値あるいはその平均値を当てはめていくことにより、各ジョブの待ち時間の予測値を算出できる。同図の場合、「ジョブb」と「ジョブc」はおよそ同時に処理が開始されるため、「ジョブb」の処理時間と「ジョブc」の処理時間の差分の時間t2が「ジョブe」の待ち時間となる。当該時間t2がしきい値より大きかった場合、待ち時間判定部36は「ジョブc」を「ジョブe」の待機原因ジョブとして検出する。   Subsequently, the waiting time determination unit 36 again detects a job having a waiting time exceeding the threshold for the processing order candidate. At this time, the estimated value of the waiting time of each job can be calculated by applying the actual value or the average value of the processing time of each job to the provisional processing order candidate in FIG. In the case of the figure, since “job b” and “job c” are started approximately at the same time, the time t2 of the difference between the processing time of “job b” and the processing time of “job c” is “job e”. It becomes waiting time. When the time t2 is larger than the threshold value, the waiting time determination unit 36 detects “job c” as the job causing the waiting of “job e”.

そして上述同様、「ジョブc」が「ジョブe」の前提ジョブでないことが制約条件判定部38により判明すると、処理順調整部40は「ジョブc」の後に「ジョブe」を処理する、という前後関係の設定(線122)を解除する。その結果、「ジョブe」は「ジョブc」の1つ前に処理が終了する「ジョブb」の処理終了後に処理が開始されるジョブとなり、図8(c)に示すような暫定的な処理順候補が再度決定する。   As described above, when the restriction condition determination unit 38 determines that “job c” is not a prerequisite job of “job e”, the processing order adjustment unit 40 processes “job e” after “job c”. Release the relationship setting (line 122). As a result, “job e” becomes a job whose processing is started after completion of processing of “job b” whose processing ends immediately before “job c”, and the provisional processing as shown in FIG. The order candidate is determined again.

次に待ち時間判定部36は、当該暫定的な処理順候補について待ち時間を算出するが、この場合は、「ジョブa」の終了時刻と「ジョブb」の終了時刻との差分、すなわちおよそ「ジョブb」の処理時間である時間t3を「ジョブe」の待ち時間とする。そして時間t3がしきい値より大きい場合、「ジョブb」は「ジョブe」の待機原因ジョブとして検出される。ここで「ジョブb」が「ジョブe」の前提ジョブでないとすると、処理順調整部40はそれらのジョブの前後関係の設定(線124)を解除する。さらに、「ジョブe」の前に処理するジョブを、「ジョブb」の前に処理が終了する「ジョブa」とし、「ジョブa」、「ジョブe」なる前後関係(線126)を設定することにより、さらに新たな処理順候補とする。   Next, the waiting time determination unit 36 calculates the waiting time for the provisional processing order candidate. In this case, the difference between the end time of “job a” and the end time of “job b”, that is, approximately “ The time t3 that is the processing time of “job b” is set as the waiting time of “job e”. When the time t3 is larger than the threshold value, “job b” is detected as a standby cause job of “job e”. If “job b” is not a prerequisite job of “job e”, the processing order adjustment unit 40 cancels the setting of the context of the jobs (line 124). Further, the job to be processed before “job e” is set to “job a” that ends before “job b”, and the context (line 126) of “job a” and “job e” is set. As a result, a new processing order candidate is set.

制約条件判定部38によってこのような処理順候補が制約条件違反でないことが確認され、それ以上待ち時間がしきい値を超えるジョブが検出されなかったら、当該処理順候補に対し、各ジョブの処理時間の実績値を当てはめていき、総処理時間の予測値を算出する。総処理時間の予測値が実績値を下回ったら、この処理順を最終的な処理順候補として出力部42から出力する。一方、例えば並列に処理するジョブの最大数が「3」として設定されていた場合、「ジョブa」の後に処理するジョブの数を当初の設定以上に増やすことはできないため、制約条件判定部38は「ジョブa」、「ジョブe」なる前後関係を追加することを制約条件違反とする。   If the constraint condition determination unit 38 confirms that such a processing order candidate does not violate the constraint condition and no more jobs whose waiting time exceeds the threshold value are detected, the processing of each job is performed on the processing order candidate. The predicted value of the total processing time is calculated by applying the actual time value. When the predicted value of the total processing time falls below the actual value, this processing order is output from the output unit 42 as the final processing order candidate. On the other hand, for example, when the maximum number of jobs to be processed in parallel is set as “3”, the number of jobs to be processed after “job a” cannot be increased beyond the initial setting. Adds a context of “job a” and “job e” as a constraint condition violation.

この場合、処理順調整部40はそれ以上の調整をせずに、出力部42に待ち時間に係る警告を出力してもよいし、図8(c)のような暫定的な処理順候補を出力してもよい。あるいは、実際の運用形態や処理内容などによってさらに詳細な調整規則を定めておくことにより、自動で調整を行える範囲を増やしてもよい。例えば図8(c)のような状況まで調整を行った後、並列に処理するジョブの最大数が「3」と設定されていて「ジョブe」の処理を「ジョブa」の処理後に設定できない場合は、さらに「ジョブa」の前に「ジョブe」を処理できるか調整を試みるようにしてもよい。この場合、「ジョブa」が「ジョブe」の前提ジョブでないか確認し、前提ジョブでなかった場合は最終的な処理順候補とすることができる。   In this case, the processing order adjustment unit 40 may output a warning related to the waiting time to the output unit 42 without making any further adjustments, or a provisional processing order candidate as shown in FIG. It may be output. Alternatively, the range in which the adjustment can be automatically performed may be increased by defining a more detailed adjustment rule according to the actual operation mode, processing content, or the like. For example, after adjusting to the situation shown in FIG. 8C, the maximum number of jobs to be processed in parallel is set to “3”, and the processing of “job e” cannot be set after the processing of “job a”. In this case, it may be further attempted to adjust whether “job e” can be processed before “job a”. In this case, it is confirmed whether or not “job a” is a prerequisite job of “job e”, and if it is not a prerequisite job, it can be determined as a final processing order candidate.

図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 order adjustment unit 40 adjusts the processing order and performs batch processing with the processing order candidates created by the processing order adjustment unit 40. Calculation and evaluation were performed based on the actual value of the processing time. On the other hand, the processing order adjustment unit 40 may similarly calculate predicted values of the waiting time and the total processing time when the user inputs processing order candidates and batch processing is performed in the processing order. For example, if the processing order adjustment unit 40 has adjusted the processing order, but has not been able to narrow down the final processing order candidates in violation of the constraint condition in the middle, before the user violates the constraint condition, The obtained provisional processing order candidates are presented, and the final determination of the processing order candidates is performed by the user.

このような場合に、ユーザが決定した処理順の候補で待ち時間はどのくらい発生するか、効率性が向上するか否かをシステムが評価する。こうすることにより、処理時間、各種制約条件などの中からユーザが求める優先順序に即した処理順候補を評価することができるとともに、システムが示す評価に基づき、より複雑な調整をユーザの手により行うことができる。結果として、ユーザの意志を一部反映させた調整を効率的に行うことができる。   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 time determination unit 36 may perform the waiting time determination from the relationship with a job other than the job that has been processed last, among jobs processed before the reference job. . For example, when a plurality of jobs such as “job b”, “job c”, and “job d” in FIG. 8 are executed in parallel, “job d” at which processing ends last and processing ends before that. Even when there is no difference in the end time of “job c”, if the difference between the end times of “job b” and “job c”, which ends processing immediately before that, exceeds a threshold value, a waiting time occurs. It is determined that In this case, if both “job c” and “job d” are not prerequisite jobs for “job e”, the context of “job c”, “job d”, and “job e” may be resolved together. it can. In this way, when multiple jobs are processed in parallel before the reference job, the waiting time is determined from the relationship with the job other than the job that has finished processing last, and multiple contexts can be resolved. You may make it carry out with respect to this job collectively.

本実施の形態を適用できるシステムの構成例を示す図である。It is a figure which shows the structural example of the system which can apply this Embodiment. ジョブ処理システムでバッチ処理されるジョブの処理順の例を模式的に示す図である。It is a figure which shows typically the example of the processing order of the job batch-processed by a job processing system. 本実施の形態におけるサーバの構成をより詳細に示す図である。It is a figure which shows the structure of the server in this Embodiment in detail. 本実施の形態において登録されるジョブフローの一例を示す図である。It is a figure which shows an example of the job flow registered in this Embodiment. 本実施の形態においてジョブ登録部が作成する利用リソース情報のデータ構造例を示す図である。It is a figure which shows the example of a data structure of the utilization resource information which a job registration part produces in this Embodiment. 本実施の形態においてジョブ処理システムが行うジョブ処理の順序の調整に係る処理の手順を示すフローチャートである。4 is a flowchart illustrating a processing procedure related to adjustment of the order of job processing performed by the job processing system according to the present embodiment. 図6のS14において処理順調整部が制約条件判定部の判定に基づき新たな処理順候補を作成する処理手順を示すフローチャートである。It is a flowchart which shows the process sequence in which a process order adjustment part produces a new process order candidate based on determination of a constraint condition determination part in S14 of FIG. 本実施の形態において作成されるジョブの処理順候補の具体例を示す図である。It is a figure which shows the specific example of the process order candidate of the job produced in this Embodiment.

符号の説明Explanation of symbols

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に記載のジョブ処理システム。 The constraint determination unit, when the job registration unit receives the registration processing content of the job, from the processing contents of each job registered, extracts and stores the information relating to the resource and file operations each job to use The information stored in an apparatus and the presence / absence of the dependency relationship is specified with reference to information on resources and file operations used by the long-waiting job and the waiting cause job, respectively. Job processing system. 前記制約条件判定部において処理内容の依存関係がないと判定された際、登録された処理順において前記待機原因ジョブと前記長時間待機ジョブの前後関係の設定を解除して調整した処理順候補を作成する処理順調整部をさらに備え、
前記出力部は、前記処理順候補をユーザに提示することを特徴とする請求項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.
前記制約条件判定部は、前記処理順調整部が作成した処理順候補が、ユーザが設定した処理順に係る制約条件に違反しているか否かをさらに判定することを特徴とする請求項4から7のいずれかに記載のジョブ処理システム。   8. The constraint condition determination unit further determines whether or not the processing order candidate created by the processing order adjustment unit violates a constraint condition related to a processing order set by a user. The job processing system according to any one of the above. 前記各ジョブの処理時間の実績値は、前記ジョブ処理部が記録した各ジョブの処理時間のうち、所定の周期で抽出した処理時間を平均した値とすることを特徴とする請求項または7に記載のジョブ処理システム。 The actual value of the processing time for each job, the one of the processing time for each job the job processing unit is recorded, according to claim 5 or 7, characterized in that a value obtained by averaging the processing time extracted at a predetermined period The job processing system described in 1. 前記待ち時間判定部はさらに、各月の同じ日にちにおいて取得した前記待ち時間の平均値を算出して前記しきい値と比較し、当該日にちに対して前記長時間待機ジョブを検出することを特徴とする請求項1から9のいずれかに記載のジョブ処理システム。The waiting time determination unit further calculates an average value of the waiting times acquired on the same day of each month, compares the average value with the threshold value, and detects the long waiting job for the day. A job processing system according to any one of claims 1 to 9. 複数のジョブをバッチ処理するジョブ処理システムにおいて、
各ジョブの処理内容の登録をユーザから受け付け記憶装置に格納するステップと、
ジョブの処理順の登録をユーザから受け付け前記記憶装置に格納するステップと、
前記記憶装置に格納されたジョブの処理順を参照しながら、各ジョブの処理内容を前記記憶装置から読み出しバッチ処理を実行するとともに、各ジョブの終了時刻をメモリに記録するステップと、
メモリに記録された各ジョブの終了時刻に基づき、一のジョブの処理終了を待って所定のしきい値より長い時間処理が開始されないジョブを検出するステップと、
検出されたジョブと、処理終了を待たせているジョブとの間に処理内容の依存関係がない場合に、登録された処理順においてそれらのジョブの前後関係の設定を解除した新たな処理順を作成するステップと、
作成した処理順をユーザに提示するステップと、
を含むことを特徴とするジョブ管理方法。
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:
JP2008076790A 2008-03-24 2008-03-24 Job processing system and job management method Expired - Fee Related JP5111186B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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