JP5231035B2 - Job processing system and job processing method - Google Patents
Job processing system and job processing method Download PDFInfo
- Publication number
- JP5231035B2 JP5231035B2 JP2008021967A JP2008021967A JP5231035B2 JP 5231035 B2 JP5231035 B2 JP 5231035B2 JP 2008021967 A JP2008021967 A JP 2008021967A JP 2008021967 A JP2008021967 A JP 2008021967A JP 5231035 B2 JP5231035 B2 JP 5231035B2
- Authority
- JP
- Japan
- Prior art keywords
- job
- processing
- failure
- file
- time
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims description 241
- 238000003672 processing method Methods 0.000 title claims description 7
- 238000000034 method Methods 0.000 claims description 68
- 230000008569 process Effects 0.000 claims description 49
- 238000011084 recovery Methods 0.000 claims description 23
- 239000000284 extract Substances 0.000 claims description 10
- 230000015654 memory Effects 0.000 claims description 6
- 238000010923 batch production Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 24
- 238000001514 detection method Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000007630 basic procedure Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000002354 daily effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000033772 system development Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Landscapes
- Retry When Errors Occur (AREA)
Description
本発明は情報処理技術に関し、特にユーザの登録に従いバッチ処理を行うジョブ処理システムおよびジョブ処理方法に関する。 The present invention relates to information processing technology, and more particularly to a job processing system and a job processing method for performing batch processing according to user registration.
近年の情報処理技術の発展およびネットワーク環境の充実化に伴い、様々な情報がネットワークを行き来し、企業、社内の部門など端末に入力された個々のデータを統括管理する組織には、入力された膨大なデータおよびシステムを厳密に管理する技術が必要不可欠となっている。データバックアップ、各種数値算出などデータを管理するための処理やシステムメンテナンスなどは一般的に、毎日、毎月、など定期的に行われるルーチン処理である。そのため、あらかじめ指定した複数のジョブをバッチで処理するように設定しておくことにより、夜間などに自動で行われることが多い。 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 such a case, if a failure occurs during batch processing and the completion of the job is delayed unscheduled or the job itself is not executed, a serious problem arises in business. On the other hand, since the monitoring system is limited due to the nature of batch processing, once a failure occurs, recovery is often a difficult task.
上記のような時限つきジョブを含むジョブをバッチ処理するようなシステムでは、障害の復旧に時間的な制約があるため、短時間で障害原因を分析できる高スキルを有する人員を確保したり、人員配置に余裕をもたせたり、緊急用の別のジョブを何重にも用意したり、といったことを障害の発生に備えて行う必要があった。このことは結果として、人件費、システム開発費、メンテナンス費などのコストの増大を招く。さらに、実際に障害が発生した場合は、障害原因の究明、障害の克服、障害に応じた緊急用ジョブの作成、実行などを短時間で行わなければならず、システムの規模が大きくなるほど、システム運用者、開発者などの人的負担が大きくなっていた。 In a system that batch-processes jobs that include timed jobs as described above, there are time constraints on the recovery of failures, so it is possible to secure highly skilled personnel who can analyze the cause of failures in a short time, In order to prepare for the occurrence of a failure, it was necessary to provide a margin for the arrangement or to prepare several other emergency jobs. This results in an increase in costs such as labor costs, system development costs, and maintenance costs. Furthermore, when a failure actually occurs, investigation of the cause of the failure, overcoming the failure, creation and execution of an emergency job corresponding to the failure must be performed in a short time, and the larger the system scale, the more the system The human burden on operators and developers has been increasing.
本発明はこうした状況に鑑みてなされたものであり、その目的は、ジョブのバッチ処理において障害が発生した際の対応を支援することのできるジョブ処理技術を提供することにある。 The present invention has been made in view of such circumstances, and an object of the present invention is to provide a job processing technique capable of supporting a response when a failure occurs in batch processing of jobs.
本発明のある態様は、ジョブ処理システムに関する。このジョブ処理システムは、処理内容が登録されたジョブを登録された処理順でバッチ処理するジョブ処理システムであって、登録された各ジョブの処理内容から、各ジョブが利用するリソースおよびファイル操作に係る情報を抽出して記憶する利用リソース情報取得部と、バッチ処理時に障害が発生した際、障害が発生したジョブと次に処理予定のジョブがそれぞれ利用するリソースおよびファイル操作に係る情報を参照して特定したジョブ同士の関連性に基づき生成した簡易的な処理内容のジョブを、障害が発生したジョブの代替ジョブとして臨時で処理することにより、次に処理予定のジョブの処理を可能とする障害対応部と、を備えたことを特徴とする。 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 with registered processing contents in the registered processing order. From the registered processing contents of each job, it uses the resources and file operations used by each job. Refers to the resource information acquisition unit that extracts and stores such information, and the resource and file operation information used by the job in which the failure occurred and the job scheduled to be processed next when a failure occurs during batch processing. A fault that enables processing of the next scheduled job by temporarily processing a job with a simple processing content generated based on the relationship between the specified jobs as an alternative job of the job that has failed And a corresponding portion.
本発明の別の態様は、ジョブ処理方法に関する。このジョブ処理方法は、ユーザの設定に従いジョブをバッチ処理するステップと、設定された各ジョブの処理内容から、各ジョブが利用するリソースおよびファイル操作に係る情報を抽出しメモリに格納するステップと、バッチ処理時に障害が発生した際、以後に処理予定のジョブに完了時限が設定されている時限つきジョブが含まれるか否かを特定するステップと、時限つきジョブが含まれる場合、当該時限つきジョブを時限までに完了させるために障害復旧作業に許容される時間を、時限つきジョブおよびそれまでに処理予定の各ジョブの平均処理時間の実績値から算出するステップと、許容される時間が所定のしきい値未満であった場合、障害が発生したジョブと次に処理予定のジョブがそれぞれ利用するリソースおよびファイル操作に係る情報をメモリから読み出して特定したジョブ同士の関連性に基づき生成した簡易的な処理内容のジョブを、障害が発生したジョブの代替ジョブとして臨時で処理するステップと、を含むことを特徴とする。 Another aspect of the present invention relates to a job processing method. The job processing method includes a step of batch processing jobs according to user settings, a step of extracting information related to resource and file operations used by each job from the set processing contents of each job, and storing the information in a memory; When a failure occurs during batch processing, a step to determine whether or not a job scheduled to be processed later includes a timed job with a completion time limit, and if a timed job is included, the timed job Calculating the time allowed for failure recovery work to complete the process by the time limit from the actual value of the average processing time of the job with time limit and each job scheduled to be processed so far, and the time allowed If it is less than the threshold value, the resource and file operations used by the failed job and the next scheduled job, respectively A step of temporarily processing a job having a simple processing content generated based on the relationship between the jobs identified by reading such information from the memory as an alternative job of the job in which the failure has occurred, .
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システムなどの間で変換したものもまた、本発明の態様として有効である。 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 reduce a human burden for occurrence of a failure during 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
図2はジョブ処理システム10でバッチ処理されるジョブの処理順の例を模式的に示している。ジョブの処理順は上述のとおりユーザが設定し、ジョブ処理システム10が例えば図2に示すようなジョブネット図の形式で記憶する。同図では、各矩形が一つのジョブを表し、矢印によってその処理順を示している。すなわち同図のジョブネット図90の例では、「ジョブA」、「ジョブB」をこの順で処理したあと、「ジョブC」と「ジョブE」を並列で処理し、「ジョブC」の後に「ジョブD」を、「ジョブE」の後に「ジョブF」、「ジョブZ」をそれぞれ処理するように設定されている。
FIG. 2 schematically shows an example of the processing order of jobs batch-processed by the
ユーザは各ジョブのジョブフローを、ジョブネット図90とは別に設定する。このときジョブ処理システム10は、例えばジョブネット図を参照しながら各ジョブのジョブフローを呼び出すことにより、バッチ処理を進捗させる。以後、図2に示したジョブネット図90に含まれるジョブのうち、「ジョブZ」が時限つきジョブである場合を考える。時限つきジョブとは例えば、ある時刻までに完了していないと、営業開始やオンラインサービス開始に支障をきたすジョブをいう。このようなジョブが含まれるジョブのバッチ処理において、例えば「ジョブB」の処理中に障害が発生し処理が停止してしまった場合などは、障害復旧のための作業時間に応じて「ジョブZ」の処理開始時刻が遅延することになる。
The user sets the job flow of each job separately from the job net diagram 90. At this time, the
このような場合、一般的には運用担当者、障害担当者、システム開発担当者などが緊急対応し、「ジョブZ」を時限までに終了させようと策を講じる必要があるが、場合によっては間に合わないというリスクを孕んだ作業となる。システムの規模が大きくなるほどこのリスクも大きくなる。例えば第1サーバ12と第2サーバ14とが別の部門で管理されていたり、異なる場所に備えられていたりすると、第1サーバ12が処理していたジョブの異常終了の原因が第2サーバ14の内部にあったとしてもそれを見いだすことは容易でない。また、障害が発生したジョブが第1サーバ12で処理されていて、時限つきジョブが第2サーバ14で処理予定であった場合なども、時限つきジョブの存在を考慮した障害対応を行うことが難しくなる。
In such a case, it is generally necessary for an operation person, a person in charge of trouble, a person in charge of system development, etc. to take an emergency response and take measures to end “Job Z” by the time limit. It is a work that takes the risk of not being in time. This risk increases with the size of the system. For example, if the
そこで本実施の形態におけるジョブ処理システム10は、障害が発生した際、(1)時限つきジョブの処理予定をシステム内の全サーバから検出し、(2)検出した時限つきジョブを時限までに完了させるために障害対応に許容される時間を算出する。そして、当該許容時間と、障害の内容、障害が発生したジョブから時限つきジョブまでに処理する予定のジョブ同士の関連性とを考慮して、最善の対策を決定し、場合によっては自律的に対応処理を行う。具体的には、(1)障害が発生したジョブの再実行、(2)ジョブのスキップ処理、(3)臨時ジョブ処理、のいずれかを行う。
Therefore, when a failure occurs, the
このような処理をジョブ処理システム10に含まれる全サーバを対象として効率的に行うために、本実施の形態では各サーバが利用するリソースに着目する。処理内容の見地からはジョブ同士に直接的なつながりはなくとも、障害発生の見地からは偶発的に関連性が生じることも多い。そのようなジョブの障害上の関連性は、ジョブの処理順序や処理するデータ量など様々な要因で発生しうるため、あらかじめ予測することが難しい。また障害が発生した後でも対象となるサーバやジョブのログのみでは関連性を見出しにくい。そこで本実施の形態では、各ジョブが利用するリソースを抽出して利用リソース情報を生成することにより、リソースを媒介としてジョブ同士を紐づけ、障害上の関連性を見出す。また逆に、利用リソース情報によって、ジョブネット図では前後関係があっても、処理内容として関連性のないジョブを検出する。
In order to efficiently perform such processing for all servers included in the
図3は第1サーバ12の構成をより詳細に示している。第2サーバ14、第3サーバ16、第4サーバ18も同様の構成としてよい。第1サーバ12は、ユーザがジョブフローなどを登録するジョブ登録部32、利用リソース情報を取得する利用リソース情報取得部34、ジョブフローや利用リソース情報を記憶するジョブ情報記憶部42、登録されたジョブを処理するジョブ処理部36、障害発生時にその原因を検出する障害原因検出部38、上述した障害対応に係る各処理を行う障害対応部39、障害に係る情報を出力する出力部40を含む。
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は、登録画面を表示した表示装置と、キーボード、ポインティングデバイスなど登録画面に対して入力を行う入力装置との組み合わせなどでよく、ジョブを処理する一般的なシステムで用いられる装置を適用することができる。ジョブフロー登録時、登録画面には、利用リソース情報取得部34が利用リソース情報のテーブルを作成するうえで必要となる項目を表示し、ジョブごとに、各項目についてユーザが入力を行えるようにする。さらに、ジョブネット図を登録する際などに、時限つきジョブがあればその時限を設定できるようにする。登録された情報はジョブ情報記憶部42に格納する。
The
利用リソース情報取得部34は、ジョブ登録部32が登録を受け付けたジョブフローから各ジョブが利用するリソースなどを抽出して、利用リソース情報のテーブルを作成する。利用リソース情報のテーブルは、バッチで処理される各ジョブの名前と、それが利用するリソース、サーバ、処理内容の特徴などを対応づけたテーブルである。ジョブ登録部32がジョブフローのデータを、入出力を行うハードディスク、アクセスするサーバ、作成するファイルの名前など所定の項目ごとにジョブ情報記憶部42に格納することにより、利用リソース情報取得部34は、サーバ名、利用リソース、処理内容、ファイル名など必要な情報をジョブごとに抽出するとともに、後に述べる各ジョブの特徴を取得する。作成した利用リソース情報のテーブルもジョブ情報記憶部42に格納する。
The used resource
本実施の形態では、各ジョブが利用するリソースに基づき、サーバを超えてジョブ同士の関連性を見出す。従って利用リソース情報は、どのサーバでどのジョブが処理されているかに関わらず、ジョブ処理システム10でバッチ処理している全てのジョブについての情報を第1サーバ12、第2サーバ14、第3サーバ16、第4サーバ18間で共有する。そのために、あるサーバで利用リソース情報のテーブルが更新されるたびに、その更新情報を他のサーバに送信して各自が保持する利用リソース情報のテーブルを更新する。あるいは、あるサーバのジョブ情報記憶部42を他のサーバからアクセス可能とすることにより同一の利用リソース情報のテーブルを参照する。
In this embodiment, the relationship between jobs is found beyond the server based on the resources used by each job. Therefore, the used resource information includes information on all jobs batch-processed by the
ジョブ処理部36は、ユーザが登録したジョブフロー、ジョブネット図などの情報をジョブ情報記憶部42から読み出し、実行する。これはジョブを処理する一般的なシステムで用いられる手法を適用することができる。
The
障害原因検出部38は障害発生時に、利用リソース情報取得部34が作成した利用リソース情報のテーブルをジョブ情報記憶部42から読み出し、異常となったジョブが利用しているリソース、および当該リソースを利用している他のジョブを抽出する。そして抽出したリソースを備えたサーバや抽出した他のジョブを処理していたサーバの各種ログをもとに障害原因の絞り込みを行う。このとき、あらかじめ設定した基準により、絞り込んだ要因が障害原因である確率も取得する。詳細な手法は後述する。
When a failure occurs, the failure
障害対応部39は上述したように、障害発生時に、時限つきジョブが以後の処理予定に含まれているか否かを確認し、含まれている場合に障害対応にかけることのできる許容時間を算出する。そして許容時間、障害の状況、以後に処理が予定されているジョブの特徴などを評価して、最善の対応策を決定する。決定した対応策は必要に応じてユーザに確認を促したうえで実行する。
As described above, the
出力部40は、ジョブ処理に障害が発生した場合に、障害原因検出部38が検出した障害原因に係る情報や、障害対応部39が算出した障害対応に対する許容時間などを出力してユーザに通知する。また決定した対応策の実行可否の確認をユーザに促す。出力部40は一般的な表示装置やプリンタなどの出力装置でもよいし、電子メールやファクシミリなどの通信機器をさらに含んでもよい。さらに、対応策の実行可否を選択するユーザからの入力を受け付けるキーボード、マウス、ボタンなどの入力装置を含んでもよい。
The
図4はジョブ登録部32に対しユーザが登録するジョブフローの一例を示している。この例のジョブフローは、第1ステップ50および第2ステップ52の2段階の処理によって構成されている。第1ステップ50は、第1サーバ12のハードディスク13のドライブDに格納されたファイルを、シェル54によって同じくドライブDに別名で保存する処理である。同図の例は、前日に作成した入出金明細のファイル「aaa.txt」を、作成した年月日を表す数列「yyyymmdd」を含むファイル名「aaa.txt.yyyymmdd」を有するファイルとして保存する。すなわち入出金明細のバックアップファイルを作成する。
FIG. 4 shows an example of a job flow registered by the user in the
第2ステップ52は、別に作成したプログラム56により、第1ステップ50で保存した、バックアップファイル「aaa.txt.yyyymmdd」と、第1サーバ12に接続したデータベース20に格納されたデータとから新たな入出金ファイルを作成し、ファイル「aaa.txt」としてドライブDに格納する処理である。以上の処理を含むジョブを例えば毎日所定の時間に処理することにより、ハードディスク13のドライブDには日々の入出金明細のバックアップデータがファイル名に日付を含む形で蓄積されていくことになる。
In the
第1ステップ50において入出金明細のファイル「aaa.txt」をバックアップファイル「aaa.txt.yyyymmdd」として保存するためのシェル54は、ユーザ自身が作成してジョブ情報記憶部42に登録してもよいし、対話式の登録手段を用いてジョブ登録部32が自動で作成してジョブ情報記憶部42に格納してもよい。第2ステップにおいて新たな入出金明細ファイルを作成するプログラム56は、あらかじめ作成しておいたものをジョブ情報記憶部42に格納しておいてもよいし、図示しない他の記憶装置から呼び出してロードするようにしてもよい。
The
ユーザはジョブ登録部32に対し、図4のようなジョブフローを対話形式で、あるいはスクリプトファイルを自作するなどしてジョブの名前とともに登録する。ジョブ登録部32は登録されたジョブの名前などをファイル名として、各ジョブフローをジョブ情報記憶部42に格納する。
The user registers the job flow as shown in FIG. 4 together with the job name in the
図5は利用リソース情報取得部34が作成する利用リソース情報のデータ構造の例を示している。利用リソース情報テーブル100において、1つのジョブに含まれる所定単位の処理が1行分のデータとなる。図5の例では、リソースへのアクセス、例えばファイルの読み出し(参照)や書き込み(更新)を1つの単位として記載している。利用リソース情報テーブル100は、ジョブ名欄102、ステップ名欄103、利用サーバ欄104、利用リソース種類欄106、リソース詳細欄108、処理内容欄109、参照先ファイル欄110、更新先ファイル欄111、時限つきジョブ欄112、前提ジョブ欄114、単純再実行欄116を含む。前述の通り利用リソース情報取得部34は、新たなジョブフローが登録されるたびに、当該ジョブフローから必要な情報を抽出し、利用リソース情報テーブル100にエントリを追加していく。
FIG. 5 shows an example of the data structure of the usage resource information created by the usage resource
ジョブ名欄102には、ユーザが登録を行ったジョブの名前を記載する。ステップ名欄103には、ジョブフローを複数のステップに細分化して登録できるようにした場合に、各ステップの名前を記載する。例えば「第1ステップ」、「第2ステップ」・・・といった名前をつけることで、「第1」、「第2」・・・の順に処理を行うようにあらかじめ規則づけておく。
The
利用サーバ欄104にはそれぞれのジョブが利用するリソースが属するサーバの名前を記載する。利用リソース種類欄106には利用するリソースの種類、例えばハードディスク、データベース、LANカードなどを識別する情報を記載する。リソース詳細欄108には、具体的なリソースの識別情報を記載する。処理内容欄109には、リソース詳細欄108に記載したリソースを利用して行われる具体的な処理内容を記載する。ここでは前述のとおり、リソースへのアクセスごとに行を設けているため、「参照」や「更新」が記載されている。ここで「更新」とは新たなファイルの作成処理も含む。また、参照と更新からなる1対の処理が、バックアップなどを目的とする、ファイルのコピーである場合は、それらの処理を他と区別できるように記載する。図5の例では、「参照(コピー)」、「更新(コピー)」なる表記がそれにあたる。処理内容欄109にはその他、リソースへのアクセス内容を表す「転送」、「出力」などを適宜記載する。
The
参照先ファイル欄110には、ファイルの参照処理において参照されるファイルの名前を記載する。更新先ファイル欄111には、ファイルの更新処理よって更新、または新たに作成されるファイルの名前を記載する。さらに各ジョブの特徴として、時限つきジョブ欄112にはジョブが時限つきジョブである場合にその時限を、前提ジョブ欄114には前提ジョブのジョブ名を、単純再実行欄116には単純再実行が可能か否かを記載する。
The reference
ここで「前提ジョブ」とは、ジョブの処理開始の前提となるジョブのことである。先行する一のジョブの出力結果を後続の一のジョブが何らかの形で利用するような場合、その先行ジョブは後続ジョブの前提ジョブとなる。前提ジョブは例えば、ジョブネット図において処理順が前のジョブのうち、同一のファイルを操作するジョブを抽出することによって得られる。あるいは、ジョブネット図の登録時などにユーザによって設定できるようにしてもよい。 Here, the “prerequisite job” is a job that is a precondition for starting job processing. When the output result of the preceding one job is used in some form by the succeeding one job, the preceding job becomes a prerequisite job for the succeeding job. The prerequisite job is obtained, for example, by extracting a job that operates on the same file from jobs whose processing order is the previous in the job net diagram. Alternatively, it may be set by the user when registering a job net diagram.
また、「単純再実行が可能」なジョブとは、何度実行しても処理結果が同じとなるジョブのことである。このようなジョブが障害ジョブとなった場合は、障害原因が復旧したあと、単に再実行すればその処理結果は通常処理時と同じ状態となる。例えば図4において示したジョブフローの例のうち、第1ステップ50のみからなるジョブは単純再実行が可能なジョブである。ドライブDに格納されたファイル「aaa.txt」をファイル「aaa.txt.yyyymmdd」として保存する処理が障害により途中で停止したとしても、障害原因を取り除いて最初から実行しなおせば、最終的なファイル「aaa.txt.yyyymmdd」の内容は障害が発生しなかった場合と同一になるためである。
A “simple re-executable” job is a job that has the same processing result no matter how many times it is executed. When such a job becomes a failed job, if the cause of the failure is recovered and then simply re-executed, the processing result will be the same as during normal processing. For example, in the example of the job flow shown in FIG. 4, a job including only the
一方、図4に示した第1ステップ50および第2ステップ52からなるジョブの場合、ファイル「aaa.txt」は参照先ファイルであると同時に更新先のファイルでもある。そのため、第2ステップ52においてファイル「aaa.txt」に途中まで書き込みがなされた状態で、障害により処理が停止した場合、障害克服後、単純に再実行したのみでは、書きかけのファイル「aaa.txt」を第1ステップ50で読み出すことになり、中間データであるファイル「aaa.txt.yyyymmdd」および最終的なファイル「aaa.txt」の内容が、障害が発生しなかった場合と異なってしまう。このようなジョブは単純再実行が不可である。
On the other hand, in the case of the job including the
利用リソース情報取得部34は、登録された各ジョブフローにおいて、例えば同一のファイルが参照先と更新先に含まれる場合、そのジョブは単純再実行が不可と判断し、単純再実行欄116にその旨の情報を記載する。あるいは単純再実行の可否をジョブフロー登録時にユーザに登録させるようにしてもよい。時限つきジョブ欄112に記載する時限は、ジョブ登録部32に対しユーザが行った登録情報をそのまま記載できる。
For example, when the same file is included in the reference destination and the update destination in each registered job flow, the use resource
図5に示した利用リソース情報テーブル100のうち「ジョブB」なるジョブは、図4で示したジョブに対応する。すなわち、第1ステップ50では第1サーバ12のハードディスク13のドライブDにアクセスし、入出金明細ファイル「aaa.txt」のバックアップファイル「aaa.txt.yyyymmdd」を作成しているため、図5に示した利用リソース情報テーブル100の4、5行目において、ステップ名欄103には「第1ステップ」、利用サーバ欄104には「第1サーバ」、利用リソース種類欄106にはハードディスクを示す「DISK」、リソース詳細欄108には「ドライブD」、処理内容欄109には「参照(コピー)」および「更新(コピー)」、参照先ファイル欄110には「aaa.txt」、更新先ファイル欄111には「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において、バックアップファイル「aaa.txt.yyyymmdd」と、第1サーバ12に接続したデータベース20を参照して新たなファイル「aaa.txt」を作成しているため、利用リソース情報テーブル100の6、7、8行目において、ステップ名欄103には「第2ステップ」、利用サーバ欄104には「第1サーバ」、利用リソース種類欄106にはハードディスクを示す「DISK」、およびデータベースへのアクセスを示す「DBMS」、リソース詳細欄108には「ドライブD」および「データベース」、処理内容欄109には「参照」および「更新」、参照先ファイル欄110には「aaa.txt.yyyymmdd」および参照するデータベース名である「会計DB」、更新先ファイル欄111には「aaa.txt」と記載されている。
In the
さらに「ジョブB」は時限つきジョブではないとして、時限つきジョブ欄112は無記入とし、前提ジョブが「ジョブA」であるとして前提ジョブ欄114には「ジョブA」と記載されている。そして上述のとおり、単純再実行欄116には単純再実行が不可である旨の「不可」が記載されている。「ジョブA」、「ジョブZ」なども同様に記載され、特に「ジョブZ」は時限つきジョブであるとして、その時限が「4:00AM」、すなわち午前4時と記載されている。
Furthermore, “job B” is not a time-limited job, the time-limited
利用リソース情報取得部34は、図2で示したようなジョブネット図に登録されている全ジョブについて同様の情報を抽出し、利用リソース情報テーブル100を完成させる。なお、利用リソース情報のデータ構造は図5に示したものに限らない。例えばCPU使用率、ハードディスクの利用率、データベースを参照するのみか更新するかを識別する情報などを記録してもよい。CPU使用率やハードディスクの利用率など、ジョブフローから特定が困難なパラメータは、開発機や実機において実際にジョブを処理した際の各パラメータの変化量を取得することによって得ることができる。利用リソース情報に含まれる情報を詳細にするほど、原因検出の精度や障害対応の効率が向上する。また、各欄の記載手法は図5に示したものに限らず、内容を識別できればよい。
The used resource
図6は、ジョブ処理システム10において障害が発生した際、主に障害原因検出部38、障害対応部39、出力部40が行う障害対応処理の手順を示している。まず、例えば図2のジョブネット図90のようにジョブのバッチ処理が行われている際、「ジョブB」の実行中に障害が発生し、処理が停止したとする(S10)。このとき障害対応部39は、以後に処理が予定されているジョブの中に時限つきジョブが含まれているか否かを、ジョブ情報記憶部42に格納した、ジョブネット図90および利用リソース情報テーブル100の時限つきジョブ欄112から判定する(S12)。
FIG. 6 shows a procedure of failure handling processing mainly performed by the failure
時限つきジョブが存在する場合は(S12のY)、当該ジョブを時限以前に完了させるために遅くとも障害が発生したジョブ(以後、「障害ジョブ」と呼ぶ)を再実行させなければならない時刻、すなわち再実行の開始時限を算出する(S16)。開始時限を算出するためにジョブ処理部36は、ジョブをバッチ処理する都度、各ジョブの平均処理時間を算出し、ジョブ情報記憶部42に格納するようにしてもよい。そして時限つきジョブの完了時限から、障害が発生したジョブを含む、以後に処理が予定されていたジョブの平均処理時間の和を差し引いた時刻が、障害ジョブ再実行の開始時限となる。
If a job with a time limit exists (Y in S12), the time at which a faulted job (hereinafter referred to as “failed job”) must be re-executed to complete the job before the time limit, that is, The re-execution start time is calculated (S16). In order to calculate the start time limit, the
図2で示したジョブネット図90の場合、「ジョブB」、「ジョブE」、「ジョブF」、「ジョブZ」の各平均処理時間の和を、時限つきジョブである「ジョブZ」の完了時限から差し引く。結果的に現在時刻から障害ジョブ再実行の開始時限までの時間が、障害復旧にかけることのできる許容時間となる。 In the case of the job net diagram 90 shown in FIG. 2, the sum of the average processing times of “job B”, “job E”, “job F”, and “job Z” is calculated for the “job Z” that is a time-limited job. Subtract from completion time. As a result, the time from the current time to the start time of re-execution of the faulty job is an allowable time that can be taken for fault recovery.
各ジョブの平均処理時間は、並列で同時に処理されているジョブの数やその処理内容、日程等の条件によって変動することが考えられる。例えば入出金の管理システムなどでは、経理上の締め日や年度末にはデータが増加し平均処理時間が増加することが考えられる。また、並列処理されているジョブの数が増加するほど、リソースへのアクセスの排他制御などによって平均処理時間が増加することが考えられる。したがって、システム固有の運用形態によってあらかじめ設定した状況別に平均処理時間を記録するようにしてもよい。例えば一ヶ月で平均処理時間が周期的に変動するようなシステムにおいては、各月の同日の処理時間を平均して記録する。この場合、障害が発生した日と同日の平均処理時間を用いて障害ジョブ再実行の開始時限を算出する。 It is conceivable that the average processing time of each job varies depending on conditions such as the number of jobs being processed simultaneously in parallel, the processing contents, and the schedule. For example, in the deposit / withdrawal management system, it is conceivable that the data will increase and the average processing time will increase at the accounting closing date or at the end of the fiscal year. Further, it is conceivable that the average processing time increases due to exclusive control of access to resources as the number of jobs being processed in parallel increases. Therefore, the average processing time may be recorded for each situation set in advance according to the operation mode unique to the system. For example, in a system in which the average processing time fluctuates periodically in one month, the processing time on the same day of each month is averaged and recorded. In this case, the start time limit for re-execution of the faulty job is calculated using the average processing time on the same day as the day when the fault occurred.
平均処理時間が周期的な変動をしない場合などは特定の状況を設定せず、バッチ処理の進捗速度のパターンなどで平均処理時間を集計するようにしてもよい。例えばジョブごとに処理時間のしきい値を設定しておき、全てのジョブ処理時間が当該しきい値を超えているパターンや当該しきい値を下回っているパターンなどごとに平均処理時間を集計する。そして障害が発生した日の、障害が発生するまでに処理されていたジョブの処理時間から、同じ処理順、かつ同程度の処理時間でバッチ処理が進捗している過去のパターンを抽出し、その平均処理時間を利用するようにしてもよい。 If the average processing time does not change periodically, the specific processing may not be set, and the average processing time may be aggregated based on the progress speed pattern of the batch processing. For example, a processing time threshold is set for each job, and the average processing time is totaled for each pattern in which all job processing times exceed the threshold or the pattern falls below the threshold. . Then, from the processing time of the job that was processed before the failure occurred on the day when the failure occurred, the past pattern in which batch processing is progressing in the same processing order and the same processing time is extracted, The average processing time may be used.
障害ジョブ再実行の開始時限を算出したら、その情報を含む、障害に係る情報を出力部40などによりユーザに通知する(S18)。障害に係る情報には、障害が発生したジョブの内容やエラーログ、あるいは後述する、障害原因と考えられるリソースの障害原因たる確率などの情報を含めてもよい。
When the start time limit of the failed job re-execution is calculated, information related to the failure including the information is notified to the user by the
次に、現在時刻と障害ジョブ再実行の開始時限との差分から得られる残り時間と、あらかじめ定めたしきい値とを比較する(S20)。ここでしきい値は、障害原因の特定および当障害の復旧作業を行ったうえで障害ジョブの再実行を開始するのに最低限必要と考えられる時間をそれまでの実績などからあらかじめ定めておくものであり、一般的には1時間程度の時間である。残り時間がしきい値以上であれば(S20のY)、まだ復旧作業に時間的余裕があると判断し、障害ジョブの再実行を試みる処理を行う(S22)。ここでは障害原因を特定し、復旧させたうえで障害ジョブを再実行させる。この処理も本実施の形態ではその一部を障害対応部39が行う。詳細は後に述べる。
Next, the remaining time obtained from the difference between the current time and the start time of re-execution of the failed job is compared with a predetermined threshold value (S20). Here, the threshold value is determined in advance from the past record of the time that is considered to be the minimum necessary to start the re-execution of a failed job after identifying the cause of the failure and performing recovery work for the failure. In general, it takes about one hour. If the remaining time is equal to or greater than the threshold (Y in S20), it is determined that there is still time in the recovery work, and a process of attempting to re-execute the failed job is performed (S22). Here, the cause of the failure is identified and restored, and then the failed job is re-executed. This processing is also partly performed by the
障害の復旧、障害ジョブの再実行が実現していないうちは(S24のN)、常時あるいは所定の時間間隔で再実行開始時限までの残り時間を監視し、ユーザへの通知を更新するとともに残り時間としきい値とを比較する(S18、S20)。残り時間が依然、しきい値以上であれば、S22の障害ジョブの再実行の試みを継続する。復旧作業の結果、障害ジョブが再実行できたら(S24のY)、障害ジョブ以後、通常のバッチ処理を進捗させる(S26)。一方、S12において以後に予定されているジョブの中に時限つきジョブがない場合は(S12のN)、S22と同様、障害ジョブの再実行を試みる(S14)。この場合、残り時間の監視等は行わない。ただし、障害に係る情報のユーザへの通知は適宜行ってよい。この場合も障害ジョブの再実行後は通常のバッチ処理へ移行する(S26)。 While failure recovery and failure job re-execution have not been realized (N in S24), the remaining time until the re-execution start time is monitored constantly or at a predetermined time interval, the notification to the user is updated and the remaining The time and the threshold value are compared (S18, S20). If the remaining time is still greater than or equal to the threshold, the attempt to re-execute the failed job in S22 is continued. If the failed job can be re-executed as a result of the recovery work (Y in S24), normal batch processing is advanced after the failed job (S26). On the other hand, if there is no time-limited job among the jobs scheduled thereafter in S12 (N in S12), the re-execution of the failed job is attempted as in S22 (S14). In this case, the remaining time is not monitored. However, the user may be notified of information related to the failure as appropriate. Also in this case, after the re-execution of the failed job, the process shifts to normal batch processing (S26).
S20において残り時間がしきい値未満となり、復旧作業に時間的余裕がないと判断した場合は(S20のN)、まず、スキップ処理の可否を判定する(S28)。ここでスキップ処理とは、以後に処理が予定されていたジョブのうち、障害ジョブを直接的または間接的に前提とするジョブの処理を省略し、障害ジョブを前提とせず、障害ジョブが完了していなくても正常に処理が可能なジョブからバッチ処理を再開することをいう。 If it is determined in S20 that the remaining time is less than the threshold value and there is no time for recovery work (N in S20), first, it is determined whether or not skip processing is possible (S28). Here, skip processing omits the processing of jobs that are scheduled to be processed later and that directly or indirectly assumes a failed job, and the failed job is completed without assuming the failed job. This means restarting batch processing from a job that can be processed normally even if it is not.
図2に示したジョブネット図90において、「ジョブB」を障害ジョブとすると、時限つきジョブである「ジョブZ」の前提ジョブが「ジョブF」であり、「ジョブF」の前提ジョブがない場合、「ジョブB」、「ジョブE」の処理を省略して「ジョブF」の処理を開始するスキップ処理が可能、と判定する。「ジョブF」の前提ジョブが「ジョブA」であっても同様である。スキップ処理により、最低限「ジョブZ」の処理を時限までに完了させることが可能となる。判定手法の詳細は後述する。 In the job net diagram 90 shown in FIG. 2, if “Job B” is a failed job, the precondition job of “Job Z”, which is a time-limited job, is “Job F”, and there is no premise job of “Job F”. In this case, it is determined that the processing of “job B” and “job E” is omitted and skip processing for starting the processing of “job F” is possible. The same applies even if the precondition job of “Job F” is “Job A”. By skip processing, it is possible to complete at least the processing of “job Z” by the time limit. Details of the determination method will be described later.
スキップ処理が可能と判定されたら(S30のY)、スキップ処理を開始する(S32)。この際、障害対応部39は、処理を省略するジョブを除いた緊急のジョブネット図を作成し、ジョブ処理部36に通知することによりその処理を実施させる。なおS32のスキップ処理の開始前に、スキップ処理を行う旨の警告をユーザに対し出力し、ユーザが続行を指示したときにのみ実際のスキップ処理を行うようにしてもよい。
If it is determined that the skip process is possible (Y in S30), the skip process is started (S32). At this time, the
全てのジョブが直接的あるいは間接的に障害ジョブを前提としていて、スキップ処理が不可能であると判定されたら(S30のN)、臨時ジョブ処理を行う(S34)。ここで臨時ジョブ処理とは、バッチ処理を進捗させるために障害ジョブが最低限すべき簡易的な処理のみを行う臨時ジョブを、障害ジョブの代替ジョブとしたうえでバッチ処理を続行する処理である。例えば図2に示したジョブネット図90において、「ジョブE」が「ジョブB」の出力結果であるファイルのファイル名をヘッダとするファイルを出力する処理であった場合、「ジョブE」は、最低限「ジョブB」が出力するファイルのファイル名があれば処理を開始することができる。そこで障害ジョブである「ジョブB」に替わり、ファイル名のみを有する空のファイルを出力する臨時ジョブを作成し、ジョブネット図上で「ジョブB」と入れ替える。 If it is determined that all jobs are directly or indirectly based on a faulty job and skip processing is impossible (N in S30), temporary job processing is performed (S34). Here, the temporary job processing is processing for continuing the batch processing after setting the temporary job that performs only the simple processing that the fault job should minimize to advance the batch processing as an alternative job of the fault job. . For example, in the job net diagram 90 shown in FIG. 2, when “Job E” is a process for outputting a file whose header is the file name of the output result of “Job B”, “Job E” If there is at least the file name of the file output by “Job B”, the process can be started. Therefore, a temporary job that outputs an empty file having only the file name is created in place of “Job B” that is a failed job, and is replaced with “Job B” on the job net diagram.
これにより「ジョブE」は、臨時ジョブが出力したファイルのファイル名を用いて処理を開始することができ、結果として「ジョブZ」まで処理が進捗することになる。このような動作は、各出力結果のデータ内容より、時限までに「ジョブZ」の処理を完了させることを優先する場合の応急処置となる。臨時ジョブが行う処理内容は、障害と推定されるリソースによっては空ファイルでなくてもよく、障害原因のリソースごとに異なる臨時ジョブを作成するようにしてもよい。障害対応部39は、利用リソース情報を参照して臨時ジョブを作成しジョブネット図を更新することにより、ジョブ処理部36に処理させる。詳細は後述する。
As a result, “job E” can start processing using the file name of the file output by the temporary job, and as a result, processing proceeds to “job Z”. Such an operation is an emergency measure when priority is given to completing the processing of “job Z” by the time limit over the data contents of each output result. The content of processing performed by the temporary job may not be an empty file depending on the resource estimated to be a failure, and a different temporary job may be created for each resource causing the failure. The
なおS34の臨時ジョブ処理の前、あるいは臨時ジョブ作成後に、臨時ジョブ処理を行う旨の警告をユーザに対し出力し、ユーザが続行を指示したときにのみ実際の臨時ジョブ処理を行うようにしてもよい。 Note that a warning that the temporary job processing is performed is output to the user before the temporary job processing of S34 or after the temporary job creation, and the actual temporary job processing is performed only when the user instructs to continue. Good.
図7は図6のS22において障害ジョブの再実行を試みる処理手順を示している。まず障害対応部39は、利用リソース情報の単純再実行欄116を参照し、障害ジョブの単純再実行が可能であるか否かを判定する(S40、S42)。再実行が不可能な場合は(S42のN)、障害ジョブの戻し処理を行う(S44)。障害ジョブの戻し処理とは、途中で停止してしまったジョブが操作していたファイルを元の状態に戻す処理をいう。図8は図4で示したジョブフローを有するジョブの戻し処理のジョブフローを示している。
FIG. 7 shows a processing procedure for attempting to re-execute the failed job in S22 of FIG. First, the
上述のとおり、図4に示したジョブにおいて、ファイル「aaa.txt」が書きかけの状態で停止すると、次に再実行したときに当該ファイルが読み出され、最終結果が変化してしまう。したがって戻し処理においては図8に示すとおり、ファイル「aaa.txt」のバックアップファイルであるファイル「aaa.txt.yyyymmdd」をファイル「aaa.txt」として保存することにより、ファイル「aaa.txt」の内容を元に戻す。 As described above, in the job shown in FIG. 4, when the file “aaa.txt” is stopped in the state of being written, the file is read when it is re-executed next, and the final result changes. Therefore, in the return process, as shown in FIG. 8, by saving the file “aaa.txt.yyyymmdd” which is a backup file of the file “aaa.txt” as the file “aaa.txt”, the file “aaa.txt” is saved. Restore the contents.
障害対応部39は、利用リソース情報テーブルから、戻し処理を行うシェル60を作成して戻し処理のジョブフロー58を生成する。図5に示した利用リソース情報テーブル100の場合、ファイル「aaa.txt」が参照先ファイルであるとともに、単なるコピーではない更新処理がなされていることを、「ジョブB]の参照先ファイル欄110および更新先ファイル欄111から検出する。次に当該ファイルのコピーがファイル「aaa.txt.yyyymmdd」として保存されていることを処理内容欄109の「参照(コピー)」、「更新(コピー)」の対から検出する。それらの情報から、ファイル「aaa.txt.yyyymmdd」をファイル「aaa.txt」として保存するためのシェル60、およびジョブフロー58を作成する。
The
上述の、参照先ファイルであると同時に単なるコピーではない更新処理がなされているファイルの検出、そのファイルのコピー先ファイルの検出、コピー先ファイルから元のファイルへのコピーを行う戻し処理の実行、といった基本的な手順は、実際にはあらかじめプログラムなどで定義しておいてよい。そして障害発生時は、利用リソース情報テーブル100を参照して必要なファイル名を抽出し、定義しておいた手順に代入していくことにより具体的な処理内容を決定してよい。あるいは、元のジョブフローにおいてコピーされているファイルは戻し処理が必要なファイルである可能性が高いため、常にコピー先ファイルから元のファイルへの戻し処理を行うように定義しておいてもよい。または、戻し処理が必要なファイルをユーザが指定するようにしてもよい。データベースの場合も同様に、バックアップのデータベースがあった場合に、バックアップ先から元のデータベースへ戻すように定義しておく。 Detecting a file that is a reference destination file that has been updated at the same time as the reference destination file, detecting a copy destination file of the file, executing a return process for copying from the copy destination file to the original file, Such a basic procedure may actually be defined in advance by a program or the like. When a failure occurs, a specific processing content may be determined by extracting a necessary file name with reference to the use resource information table 100 and substituting it into a defined procedure. Alternatively, since the file copied in the original job flow is likely to be a file that needs to be restored, it may be defined to always perform the restoration process from the copy destination file to the original file. . Alternatively, the user may specify a file that needs to be returned. Similarly, in the case of a database, if there is a backup database, it is defined so that the backup destination returns to the original database.
そして作成したジョブフロー58をジョブ情報記憶部42に保存したうえでジョブ処理部36にその旨の情報を通知することにより、ジョブ処理部36がジョブフロー58を参照して戻し処理を実行する。
Then, the created
図7に戻り、障害ジョブが単純再実行可能であった場合(S42のY)、あるいは障害ジョブの戻し処理を実行した場合(S44)、障害原因検出部38は、障害原因候補を抽出し、それが障害原因である確率を取得する(S46)。まず障害原因候補の抽出は、障害ジョブが利用するリソースを利用リソース情報から取得し、当該リソースのエラーログを参照することによって行うことができる。ここで各リソースのエラーログは、第1サーバ12〜第4サーバ18で常時共有できるようにそれらのシステムがアクセス可能なメモリ(図示せず)などに格納するようにしてもよいし、必要に応じて他のサーバに要求信号を送信することにより取得してもよい。障害ジョブの利用リソースにエラーが記録されていれば、当該リソースが障害原因であると推定できる。
Returning to FIG. 7, when the failed job can be simply re-executed (Y in S42) or when the failed job return process is executed (S44), the failure
リソースによっては、エラーが記録されていたとしてもジョブの処理にはあまり影響しないこともあり得る。またジョブの利用の仕方がそのエラーの影響の及ぶ範囲外であれば障害原因とは考えにくい。このような点を考慮し、各リソースのエラーに対して障害原因である確率をあらかじめ設定することにより、抽出した候補が障害原因である確率を取得する。原因確率の設定例は後に述べる。 Depending on the resource, even if an error is recorded, it may not significantly affect the job processing. If the usage of the job is outside the range affected by the error, it is unlikely that the cause of the failure. Considering such points, the probability that the cause of failure is the cause of the failure for each resource error is set in advance to obtain the probability that the extracted candidate is the cause of failure. An example of setting the cause probability will be described later.
障害原因検出部38は、S46で抽出した障害原因候補のリソースのうち、真の障害原因と推定できるリソースがあるか否かを判定する(S48)。判定は、各候補が障害原因となり得る確率を、あらかじめ定めたしきい値と比較することにより行う。例えばしきい値80%を超える障害原因候補のリソースがある場合は、当該リソースを障害原因と推定する。障害原因と推定できるリソースがある場合は(S48のY)、ユーザにその情報を出力することにより、ユーザは当該リソースに絞って障害の復旧処理を行う事ができる(S50)。
The failure
ユーザによる復旧処理が完了したら、ユーザが所定の入力を第1サーバ12などに対し行うことにより、障害対応部39がそれを検知し、ジョブ処理部36に障害ジョブの再実行を許可して、ジョブ処理部36が再実行を行う(S52)。この際、障害対応部39は、S42において障害ジョブが単純再実行可能なジョブであったか、あるいはS44において戻し処理を前もって行っていること、S48において障害原因と推定できるリソースがあったこと、の2点を根拠に、障害ジョブの自動再実行を許可する。すなわちユーザは、ジョブ処理システム10から提示された障害リソースを復旧させ、復旧した旨の入力を行うのみでよく、その後の再実行可否判断は障害対応部39が行う。
When the recovery process by the user is completed, the user makes a predetermined input to the
障害原因がネットワークの輻輳であった場合などは、一般的に行われる通信の再トライのみでユーザの関与なく障害が復旧する場合もある。したがって障害対応部39はユーザからの障害が復旧した旨の入力を待つばかりでなく、定期的に障害原因と推定されるリソースの状態をチェックするようにしてもよい。この場合、ジョブ処理システム10内で自律的に障害が復旧すれば、完全にユーザの関与なくジョブ処理の再実行が可能となる。なお障害対応部39は、障害ジョブの再実行可の判断をした後、ユーザにその旨の通知を行い、ユーザが最終的な可否判断を行うようにしてもよい。
When the cause of the failure is network congestion, the failure may be recovered without user involvement by only retrying communication that is generally performed. Therefore, the
S48において障害原因と推定できるリソースがなかった場合は(S48のN)、S46で抽出した障害原因候補やその原因確率などの情報を出力することによりユーザに通知し、ユーザは当該情報に基づき障害原因の究明および復旧処理を行う(S54)。この場合は、復旧処理をしながら障害ジョブを実行させ、復旧したか否かの確認を行うなどの処理が必要なため、ユーザが自ら障害ジョブを再実行させる(S56)。ただし、S54において明らかな障害原因が特定できた場合など、場合によっては障害対応部39が自動で再実行するS52の処理に移行するようにしてもよい。
If there is no resource that can be estimated as the cause of the failure in S48 (N of S48), the user is notified by outputting information such as the failure cause candidate extracted in S46 and the cause probability, and the user is notified of the failure based on the information. Cause investigation and recovery processing are performed (S54). In this case, since it is necessary to execute a fault job while performing the recovery process and to check whether or not the fault has been recovered, the user himself / herself re-executes the fault job (S56). However, in some cases, such as when a clear failure cause can be identified in S54, the
図9は図7のS46において参照する、各エラーが障害原因となりうる確率の設定例を示している。原因確率テーブル120は、エラー内容欄122、影響欄124、および確率欄126を含む。エラー内容欄122に記載された各エラー内容に対し、それによる影響が影響欄124に、そのエラーが原因である確率が確率欄126に記録される。原因確率テーブル120は、あらかじめジョブ情報記憶部42に格納しておく。障害原因検出部38は障害ジョブの利用リソースなどにおいて障害原因となりうるエラーを検出したあと、原因確率テーブル120を参照して、当該エラーが障害原因となり得る確率を取得する。
FIG. 9 shows an example of setting the probability that each error can cause a failure, referred to in S46 of FIG. The cause probability table 120 includes an
例えばエラー内容が、あるドライブの「ディスクフル」の場合、その影響として当該ドライブへの書き込みが不可となる。このようなエラーが記録されているドライブへの書き込みを行っているジョブが障害ジョブであるとき、障害原因検出部38はまず影響欄124に記録されている影響と障害ジョブが当該ドライブに対し行っている処理内容とが合致することを確認し、確率欄126から当該エラーが原因である確率を「80%」と特定する。
For example, when the error content is “disk full” of a certain drive, writing to the drive becomes impossible as an influence. When a job that writes to a drive in which such an error is recorded is a failed job, the failure
ジョブの処理内容は、利用リソース情報テーブル100における記載を参照できる。あるいは原因確率テーブル120の影響欄124における記載と対応がとれるように、利用リソース情報テーブル100に詳細な処理内容を記載する欄を別に設けてもよい。障害ジョブが、「ディスクフル」のエラーが発生しているドライブにアクセスするジョブであっても、図9に示すようにそのエラーが及ぼす影響が当該ドライブへの書き込み不可のみであるなら、当該ドライブを参照するのみのジョブの障害原因からは除外することができる。このように、利用リソース情報テーブル100に、各ジョブのリソースに対する処理内容を詳細に記録するほど、障害原因の絞り込みの精度が向上する。
Refer to the description in the use resource information table 100 for the processing contents of the job. Alternatively, a column for describing detailed processing contents may be provided in the use resource information table 100 so as to correspond to the description in the
エラー内容が「LANカード不調」の場合は、例えば当該LANカードを備えたサーバ内の全リソースを、他のサーバから利用することができなくなる。また当該LANカードを備えたサーバからデータベースサーバへのアクセスが不可となる。従って、障害ジョブがそのようなリソースへのアクセスを行っているか否かを利用リソース情報テーブル100を参照して確認したうえ、行っている場合は当該エラーが原因である確率をそれぞれ「70%」とする。エラー内容が「ネットワーク輻輳」の場合も同様に、当該エラーが原因である確率をそれぞれ「40%」とする。 When the error content is “LAN card malfunction”, for example, all resources in the server equipped with the LAN card cannot be used from another server. In addition, access to the database server from a server equipped with the LAN card becomes impossible. Therefore, after confirming whether or not the failed job is accessing such a resource with reference to the use resource information table 100, the probability that the error is the cause is “70%”, respectively. And Similarly, when the error content is “network congestion”, the probability that the error is the cause is “40%”.
確率欄126に設定する、各エラーが原因である確率は、理論的に算出してもよいし、開発機でのテスト結果や実機での経験値を採用してもよい。図9において「LANカード不調」のエラーより「ネットワーク輻輳」のエラーの方が原因となる確率が低いのは、TCP/IPの機能により通信確立が自動的にリトライされることにより、エラー状態の持続時間が短いためである。また図9に示した影響欄124の記載は、実際にはさらに詳細化し、処理によって細分化してもよい。原因確率テーブル120は、まず各サーバに共通の汎用的なものを用意しておき、個々の運用形態によってユーザがカスタマイズできるようにしてもよい。
The probability that each error is the cause set in the
図10は、図6のS28においてスキップ処理の可否を判定する手順を示している。まず障害対応部39は、利用リソース情報テーブル100の前提ジョブ欄114を参照し、障害ジョブを直接的、または間接的に前提ジョブとしないジョブを、時限つきジョブから遡って探索する(S60、S62)。あるジョブの前提ジョブの前提ジョブが障害ジョブであれば、それは間接的に障害ジョブを前提ジョブとしている。したがって、時限つきジョブの前提ジョブを前提ジョブ欄114から取得し、さらにそのジョブの前提ジョブを前提ジョブ欄114から取得する、という処理を繰り返し、最終的に障害ジョブに到達しない前提ジョブのうち、障害ジョブの後に処理が予定されているジョブを検出する。
FIG. 10 shows a procedure for determining whether or not skip processing is possible in S28 of FIG. First, the
このようなジョブがある場合は(S62のY)、スキップ処理が可能と判断し(S64)、なければ(S62のN)スキップ処理が不可能と判断する(S66)。 If there is such a job (Y in S62), it is determined that skip processing is possible (S64), and if there is not (N in S62), it is determined that skip processing is impossible (S66).
図11は図6のS34において臨時ジョブ処理を行う手順を示している。まず障害対応部39は、利用リソース情報テーブル100を参照することにより臨時ジョブのフローを作成する(S70、S72)。具体的にはまず、利用リソース情報テーブル100の前提ジョブ欄114を参照して、障害ジョブを前提ジョブとしているジョブを抽出する。次に障害ジョブを前提としているジョブの参照先ファイル欄110に記載されいているファイルと、障害ジョブの更新先ファイル欄111に記載されているファイルとを比較し、同一のファイル名を有するファイルを抽出する。これにより、障害ジョブを前提としているジョブが必要とするファイルを特定でき、当該ファイルと同じ名前のファイルを簡易的に生成することができる。そして生成した簡易的なジョブを、障害ジョブのリソース詳細欄108に記載されたリソースに基づき、該当するドライブに格納したり、該当するネットワークを介して送信したりする臨時ジョブのフローを作成する。
FIG. 11 shows a procedure for performing temporary job processing in S34 of FIG. First, the
ここで生成する簡易的なファイルは、本来のファイルと同じ名前で中身がない空ファイルでもよいし、あらかじめ用意した所定のデータを有するファイルの名前を本来のファイルと同じ名前に更新したものでもよい。簡易的なファイルのデータサイズを小さくすることにより、ドライブフルやネットワークの輻輳などのエラーに対して新たなエラーを発生させる可能性が低くなる。 The simple file generated here may be an empty file with the same name as the original file and no content, or may be a file obtained by updating the name of a file having predetermined data prepared in advance to the same name as the original file. . By reducing the data size of a simple file, the possibility of generating a new error for errors such as drive full and network congestion is reduced.
次に障害対応部39は、作成した臨時ジョブのジョブフローをジョブ情報記憶部42に登録するとともに、ジョブネット図中の障害ジョブを臨時ジョブに入れ替える(S74)。そしてジョブ処理部36に対し更新したジョブネット図の処理順でジョブ処理を行うように要求し、ジョブ処理部36がそれを実行することにより、臨時ジョブ、およびそれ以後のジョブの処理が進捗する(S76)。なお、S72において臨時ジョブを作成した後、障害対応部39は出力部40を制御してユーザに臨時ジョブのジョブフローを提示するようにしてもよい。このときユーザが当該ジョブフローを承認する入力を行ったときのみ、S74の臨時ジョブの登録を行うようにしてもよい。
Next, the
また、S70、S72、S74の、利用リソース情報を参照して臨時ジョブを作成し、それをジョブ情報記憶部42に登録するまでの処理は、障害発生時ではなく、バッチ処理開始以前にあらかじめ行っておいてもよい。この場合、障害発生時には、ジョブネット図において障害ジョブを臨時ジョブと入れ替える処理から開始することができる。
In addition, the processes from S70, S72, and S74 to creating a temporary job with reference to the used resource information and registering it in the job
以上述べた本実施の形態によれば、ユーザが登録したジョブフローから、ジョブ処理システムにおいて処理されるジョブの利用リソース情報、ファイル操作に係る情報、時限つきジョブであるか否か、単純再実行が可能か否か、前提となるジョブは何か、といった情報を取得し記憶しておく。そしてバッチ処理時に、あるジョブが障害により停止した場合、まず時限つきジョブの有無を確認し、当該ジョブに至るまでに処理予定のジョブの平均処理時間から、障害ジョブの再実行開始時限を算出する。これをユーザに提示することにより、ユーザは時限つきジョブを完了させるための緊急度に応じた対応を準備することができる。 According to the present embodiment described above, from the job flow registered by the user, information on the resource used for the job to be processed in the job processing system, information on the file operation, whether or not the job is timed, simple re-execution Information is acquired and stored, such as whether or not it is possible and what is the premise job. When a job is stopped due to a failure during batch processing, first check whether there is a timed job, and calculate the time limit for starting the re-execution of the failed job from the average processing time of the job scheduled to be processed before reaching the job. . By presenting this to the user, the user can prepare a response according to the degree of urgency for completing the timed job.
またシステム側で、障害ジョブの再実行開始時限までの残り時間に応じて、障害ジョブの復旧、再実行を試みるか、障害ジョブの復旧より後続のジョブの処理を優先させるかを判断する。再実行を試みる場合は、あらかじめ記憶しておいた情報に基づき、障害ジョブが単純再実行可能か否かの判断を行い、可能でなければ戻し処理を行うことにより、復旧後に備えて出力ファイルなどを元の状態に戻しておく。これにより、ジョブの処理内容を把握していない運用オペレータでも容易に対応ができるとともに、障害の復旧後に即座に処理を再開させることができる。 Further, the system determines whether to attempt recovery and re-execution of the failed job or to prioritize processing of the subsequent job over recovery of the failed job according to the remaining time until the failure job re-execution start time limit. When re-execution is attempted, based on the information stored in advance, it is determined whether the failed job can be simply re-executed. Return to the original state. As a result, even an operation operator who does not grasp the processing contents of the job can easily cope with it, and the processing can be restarted immediately after the failure is recovered.
戻し処理は、あらかじめ定義した基本の手順に、障害ジョブのジョブフローが登録された際に抽出しておいた操作対象のファイル名を代入することで処理内容を決定し、実行する。一般的なシステムにおいては、戻し処理の必要性の確認、戻し処理の内容決定、実行、といった作業を障害担当者が行う。この際、障害担当者が操作するサーバが障害ジョブを処理していたサーバでなかった場合、リモートアクセスを行う必要があるが、リモートアクセスを許可する機会が増加すると、セキュリティ上の問題となり得る。一方、本実施の形態では、あらかじめ用意した情報に基づき戻し処理を自動で実行するため、障害担当者の負担が削減できるとともにリモートアクセスが必要な状況を最小限にすることができ、セキュリティ性を高めることができる。 The return processing is executed by determining the processing contents by substituting the file name of the operation target extracted when the job flow of the failed job is registered into the basic procedure defined in advance. In a general system, a person in charge of failure performs tasks such as confirmation of necessity of return processing, determination of contents of return processing, and execution. At this time, if the server operated by the person in charge of the failure is not the server that has processed the trouble job, it is necessary to perform remote access. However, if the opportunity for permitting remote access increases, it may become a security problem. On the other hand, in this embodiment, the return process is automatically executed based on information prepared in advance, so that the burden on the person in charge of the failure can be reduced and the situation where remote access is required can be minimized, and security can be improved. Can be increased.
さらに障害ジョブの復旧より後続のジョブの処理を優先させると判断した場合は、記憶しておいた情報に基づき、以後に処理が予定されていたジョブのうち、障害ジョブを前提としないジョブを探索して当該ジョブから処理を再開させる。多くのジョブが並列に処理されている大規模なシステムなどにおいては、ジョブ同士の関連性を把握するのは容易でないが、各ジョブの利用リソースに着目して関連性を見出す本手法により、人手に頼ることなく安全に処理を進捗させることができる。 In addition, if it is determined that the processing of the subsequent job is given priority over the recovery of the failed job, a job that does not assume the failed job is searched based on the stored information. Then, the process is resumed from the job. In a large-scale system where many jobs are processed in parallel, it is not easy to grasp the relationship between jobs, but this method finds the relationship by focusing on the resources used by each job. You can safely proceed without relying on
障害ジョブを前提としないジョブがない場合は、記憶しておいた情報に基づき、障害ジョブの代替処理を行う臨時ジョブを作成し、障害ジョブと入れ替えて処理することにより、少なくとも時限つきジョブまで処理を進捗させることができる。 If there is no job that does not assume a faulty job, create a temporary job that substitutes for the faulty job based on the stored information, and replace it with the faulty job to process at least the timed job. Can make progress.
このように本実施の形態では、時限つきジョブの有無、障害ジョブの再実行開始時限までの残り時間、単純再実行の可否、ジョブ同士の関連性などに基づきリアルタイムで最善の対応策を決定し実行する。結果的に、システムが人手に頼らず自律的に障害を克服する可能性が高くなり、システム運用者、開発者の負担が軽減する。また、障害担当者が呼び出され、解決策を模索しているうちに時限つきジョブの完了が間に合わなくなる、といった事態の発生を抑制でき、運用の安全性が高まる。また本実施の形態はソフトウェアとして1度導入するのみで、ジョブの処理内容に関わらず汎用的に上記の効果を得ることができるため、障害に備えた人員のための人件費や個々のジョブ開発費を軽減できる。 As described above, according to the present embodiment, the best countermeasure is determined in real time based on the existence of a timed job, the remaining time until the re-execution time limit of the failed job, whether simple re-execution is possible, and the relationship between jobs. Run. As a result, there is a high possibility that the system will autonomously overcome obstacles without relying on human resources, reducing the burden on system operators and developers. In addition, it is possible to suppress the occurrence of a situation in which a job with a time limit is not completed in time while a person in charge of a failure is called and searching for a solution, thereby improving operational safety. In addition, since the present embodiment can obtain the above-mentioned effects for all purposes regardless of the job processing contents, it can be implemented only once as software, so labor costs for personnel prepared for failures and individual job development Costs can be reduced.
さらに複数のサーバを備えたシステムにおいては、各サーバが処理するジョブが利用するリソースやジョブの処理内容などの情報をサーバ間で共有しておき、障害対応に必要な処理の内容決定、遂行を自動で行う。これにより、セキュリティ上、リモートアクセスを不可としているシステムなど、運用オペレータが操作できるサーバと異なるサーバの情報を容易に参照できない状況にあっても、障害対応を安全かつ円滑に進捗させることができる。 Furthermore, in a system with multiple servers, information such as resources used by jobs processed by each server and job processing contents is shared between servers to determine and execute the processing contents necessary for troubleshooting. Do it automatically. Accordingly, even in a situation where information on a server different from the server that can be operated by the operation operator cannot be easily referred to, such as a system in which remote access is disabled for security reasons, the failure response can be safely and smoothly advanced.
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。 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.
10 ジョブ処理システム、12 第1サーバ、 13 ハードディスク、 14 第2サーバ、 20 データベース、 32 ジョブ登録部、 34 利用リソース情報取得部、 36 ジョブ処理部、 38 障害原因検出部、 39 障害対応部、 40 出力部、 42 ジョブ情報記憶部。
DESCRIPTION OF
Claims (7)
登録された各ジョブの処理内容から、各ジョブが利用するリソースおよびファイル操作に係る情報を抽出して利用リソース情報テーブルとして記憶する利用リソース情報取得部と、
バッチ処理時に障害が発生した際、以後に処理予定のジョブのうち障害が発生したジョブが出力するファイルを用いるジョブを前記利用リソース情報テーブルより抽出したうえ、当該ファイルと同一名のファイルを生成する簡易的な処理内容のジョブを自動生成し、前記障害が発生したジョブの代替ジョブとして臨時で処理することにより、前記以後に処理予定のジョブの処理を登録された処理順で行うことを可能とする障害対応部と、
を備えたことを特徴とするジョブ処理システム。 A job processing system that batch-processes jobs with registered processing contents in the registered processing order,
A used resource information acquisition unit that extracts information related to file operations and resources used by each job from the processing content of each registered job, and stores the information as a used resource information table ;
When a failure occurs during batch processing, a job that uses a file that is output from the job in which a failure has occurred is extracted from the used resource information table and a file having the same name as the file is generated. By automatically generating a job with simple processing contents and temporarily processing it as a substitute job for the job in which the failure has occurred , it is possible to perform processing of jobs scheduled to be processed after that in the registered processing order A fault handling department that
A job processing system comprising:
前記障害対応部は障害発生時に、以後に処理予定のジョブから時限つきジョブを検出して、当該時限つきジョブを時限までに完了させるために障害復旧作業に許容される時間を、時限つきジョブおよびそれまでに処理予定の各ジョブの平均処理時間の実績値から算出し、前記許容される時間が所定のしきい値未満であるとき、前記簡易的な処理内容のジョブを処理することを特徴とする請求項1に記載のジョブ処理システム。 The use resource information acquisition unit acquires and stores the set time limit of a timed job for which a completion time limit is set,
When the failure occurs, the failure handling unit detects a time-limited job from jobs scheduled to be processed later, and sets the time allowed for the failure recovery work to complete the time-limited job by the time limit. It is calculated from the actual value of the average processing time of each job scheduled to be processed so far, and when the allowable time is less than a predetermined threshold, the job having the simple processing content is processed. The job processing system according to claim 1.
前記障害対応部は障害発生時に、前記許容される時間が所定のしきい値以上であるとき、障害が発生したジョブが単純再実行可能なジョブでなかった場合に、前記利用リソース情報テーブルを参照して、当該ジョブがコピーしたコピー元ファイルのファイル名とそれを更新してなる出力ファイルのファイル名を抽出し、当該出力ファイルの内容を前記コピー元ファイルの内容に戻す処理内容のジョブを自動生成したうえで実行することを特徴とする請求項2または3に記載のジョブ処理システム。 The usage resource information acquisition unit determines whether or not it is a simple re-executable job from which the same output result can be obtained only by re-execution even if the processing is interrupted due to a failure, from the processing content of the registered job. Determine for each job,
The failure handling unit refers to the used resource information table when a failure occurs, when the allowable time is equal to or greater than a predetermined threshold, and when the failed job is not a simple re-executable job Detect and extracts the file name of the file name and the output file obtained by updating its copy source file in which the job is copied, the job processing contents to return the contents of the output file with the contents of the copy source file job processing system according to claim 2 or 3, characterized in that run after having generated.
前記ジョブ処理システムの利用リソース情報取得部が、登録された各ジョブの処理内容から、各ジョブが利用するリソースおよびファイル操作に係る情報を抽出し利用リソース情報テーブルとしてメモリに格納するステップと、
前記ジョブ処理システムの障害対応部が、バッチ処理時に障害が発生した際、以後に処理予定のジョブに完了時限が設定されている時限つきジョブが含まれるか否かを特定するステップと、
前記障害対応部が、時限つきジョブが含まれる場合、当該時限つきジョブを時限までに完了させるために障害復旧作業に許容される時間を、時限つきジョブおよびそれまでに処理予定の各ジョブの平均処理時間の実績値から算出するステップと、
前記障害対応部が、前記許容される時間が所定のしきい値未満であった場合、以後に処理予定のジョブのうち障害が発生したジョブが出力するファイルを用いるジョブを前記利用リソース情報テーブルより抽出したうえ、当該ファイルと同一名のファイルを生成する簡易的な処理内容のジョブを自動生成し、前記障害が発生したジョブの代替ジョブとして臨時で処理するステップと、
前記ジョブ処理システムが、前記同一名のファイルを用いることにより前記以後に処理予定のジョブの処理を登録された処理順で行うステップと、
を含むことを特徴とするジョブ処理システムによるジョブ処理方法。 A step in which the job processing system performs batch processing in a processing order in which jobs having processing contents registered by a user are registered ;
A used resource information acquisition unit of the job processing system that extracts information on resources and file operations used by each job from the processing contents of each registered job and stores them in a memory as a used resource information table ;
The failure handling unit of the job processing system specifies whether or not a job with a time limit for which a completion time limit is set is included in a job scheduled to be processed when a failure occurs during batch processing;
When the failure handling unit includes a timed job, the time allowed for the failure recovery work to complete the timed job by the time limit is the average of the timed job and each job scheduled to be processed so far. A step of calculating from the actual value of the processing time;
If the allowable time is less than a predetermined threshold , the failure handling unit uses a job that uses a file output by a job in which a failure has occurred among jobs scheduled to be processed from the use resource information table. Extracting and automatically generating a job with a simple processing content that generates a file having the same name as the file, and temporarily processing as a substitute job for the job in which the failure has occurred;
The job processing system performing the processing of jobs scheduled to be processed in the registered processing order by using the file of the same name;
A job processing method by a job processing system .
前記障害対応部が、前記許容される時間が所定のしきい値以上であるとき、ユーザに障害復旧の作業開始を促すとともに、障害が発生したジョブが単純再実行可能なジョブでなかった場合に、前記利用リソース情報テーブルを参照して、当該ジョブがコピーしたコピー元ファイルのファイル名とそれを更新してなる出力ファイルのファイル名を抽出し、当該出力ファイルの内容を前記コピー元ファイルの内容に戻す処理内容のジョブを作成したうえで実行するステップと、 When the fault handling unit prompts the user to start fault recovery work when the allowable time is equal to or greater than a predetermined threshold, and the job in which the fault has occurred is not a job that can be simply re-executed , Referring to the used resource information table, extracting the file name of the copy source file copied by the job and the file name of the output file obtained by updating the file name, and replacing the contents of the output file with the contents of the copy source file Create a job with the processing content to return to
前記ジョブ処理システムが、障害復旧後、障害が発生したジョブを再実行するステップと、 The job processing system re-executes the job in which the failure has occurred after the failure recovery; and
をさらに含むことを特徴とする請求項5または6に記載のジョブ処理方法。 The job processing method according to claim 5, further comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008021967A JP5231035B2 (en) | 2008-01-31 | 2008-01-31 | Job processing system and job processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008021967A JP5231035B2 (en) | 2008-01-31 | 2008-01-31 | Job processing system and job processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009181497A JP2009181497A (en) | 2009-08-13 |
JP5231035B2 true JP5231035B2 (en) | 2013-07-10 |
Family
ID=41035399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008021967A Active JP5231035B2 (en) | 2008-01-31 | 2008-01-31 | Job processing system and job processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5231035B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6342070B2 (en) | 2015-09-18 | 2018-06-13 | 三菱電機株式会社 | Job management apparatus, job management method, and job management program |
WO2018116400A1 (en) * | 2016-12-21 | 2018-06-28 | 三菱電機株式会社 | Control device, and processing method in event of failure in control device |
JP7421634B2 (en) * | 2020-03-31 | 2024-01-24 | 日立Astemo株式会社 | Control device and method |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2612385B2 (en) * | 1991-07-02 | 1997-05-21 | 富士通株式会社 | Transfer processing between multiple subsystems |
JPH05324350A (en) * | 1992-05-15 | 1993-12-07 | Hitachi Ltd | Offline processing system |
JPH0668034A (en) * | 1992-08-20 | 1994-03-11 | Hitachi Ltd | Online system monitor system |
JPH0736718A (en) * | 1993-06-28 | 1995-02-07 | Kawasaki Steel Corp | Method for backing up process control system |
JPH10214198A (en) * | 1997-01-29 | 1998-08-11 | Hitachi Ltd | Information processing system |
JP3922070B2 (en) * | 2002-03-29 | 2007-05-30 | 株式会社デンソー | Distributed control method and apparatus |
JP3936924B2 (en) * | 2003-06-18 | 2007-06-27 | 株式会社日立製作所 | Job scheduling method and system |
JP4516898B2 (en) * | 2005-08-04 | 2010-08-04 | 日本電気株式会社 | Task controller |
JP4815195B2 (en) * | 2005-11-16 | 2011-11-16 | みずほ情報総研株式会社 | Job execution management method, job execution management system, and job execution management program |
-
2008
- 2008-01-31 JP JP2008021967A patent/JP5231035B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2009181497A (en) | 2009-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4859558B2 (en) | Computer system control method and computer system | |
US7213176B2 (en) | Adaptive log file scanning utility | |
JP6048038B2 (en) | Information processing apparatus, program, and information processing method | |
CN101918922A (en) | Systems and methods for automated data anomaly correction in a computer network | |
US11169896B2 (en) | Information processing system | |
JP2005346331A (en) | Failure recovery apparatus, method for restoring fault, manager apparatus, and program | |
JPWO2008012903A1 (en) | System management program, system management apparatus, and system management method | |
JP5007247B2 (en) | Job processing system and job management method | |
JP2019049802A (en) | Failure analysis supporting device, incident managing system, failure analysis supporting method, and program | |
JP3916232B2 (en) | Knowledge-type operation management system, method and program | |
JP2009230584A (en) | Job-processing system and job management method | |
JP5231035B2 (en) | Job processing system and job processing method | |
JP4928480B2 (en) | Job processing system and job management method | |
JP2010176303A (en) | Batch processing system, information terminal apparatus for use in the same, and method for recovering batch processing | |
JP6097666B2 (en) | Job management system | |
JP2009181498A (en) | Job processing system and job processing method | |
Yin et al. | Availability modeling and analysis for data backup and restore operations | |
JP2018180982A (en) | Information processing device and log recording method | |
WO2019223171A1 (en) | Workflow management method and system, computer device and storage medium | |
US9183388B2 (en) | Injustice detecting system, injustice detecting device and injustice detecting method | |
JP2009181494A (en) | Job processing system and job information acquisition method | |
JP2016057658A (en) | Fault information management system and fault information management method | |
CN110347741B (en) | System for effectively improving output result data quality in big data processing process and control method thereof | |
JP2013235408A (en) | Log management system, log management server, and program | |
JP2007041828A (en) | Sla achieved situation determining method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100329 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120511 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120619 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120817 |
|
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: 20130312 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130321 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160329 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5231035 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |