JP4685053B2 - Job execution order control device, method and program - Google Patents
Job execution order control device, method and program Download PDFInfo
- Publication number
- JP4685053B2 JP4685053B2 JP2007085589A JP2007085589A JP4685053B2 JP 4685053 B2 JP4685053 B2 JP 4685053B2 JP 2007085589 A JP2007085589 A JP 2007085589A JP 2007085589 A JP2007085589 A JP 2007085589A JP 4685053 B2 JP4685053 B2 JP 4685053B2
- Authority
- JP
- Japan
- Prior art keywords
- job
- execution
- service
- executed
- jobs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、複数の装置が連携して各々のジョブを実行するコンピュータシステムの技術に関する。 The present invention relates to a technology of a computer system in which a plurality of devices cooperate to execute each job.
従来、複数の装置が連携して各々のジョブを実行し、複数の装置全体として所定の機能を提供するコンピュータシステムの技術が知られている(例えば、特許文献1)。例えば、業務システムでは、業務アプリケーションが稼働する装置と、業務アプリケーションが利用するデータを管理するDBMS(データベースマネジメントシステム)が稼働する装置とが備えられ、業務アプリケーションとDBMSとが連携して各々のジョブを実行し、データの編集や参照等の諸機能の提供が行われる。業務アプリケーションが、DBMSにおいて管理されるデータであるテーブル1を利用する場合は、例えば、DBMSがテーブル1を生成するジョブ等を実行してから、そのジョブの終了後、業務アプリケーションがテーブル1を表示して編集等を行わせるジョブ等を実行する。この場合、テーブル1を生成するジョブの後に編集等を行わせるジョブが実行されるといった前後関係を示す情報が登録される。 2. Description of the Related Art Conventionally, a technology of a computer system is known in which a plurality of devices execute respective jobs in cooperation and provide a predetermined function as a whole of the plurality of devices (for example, Patent Document 1). For example, in a business system, a device that operates a business application and a device that operates a DBMS (database management system) that manages data used by the business application are provided. To provide various functions such as data editing and reference. When the business application uses the table 1 that is data managed in the DBMS, for example, after the DBMS executes a job or the like for generating the table 1, the business application displays the table 1 after the job ends. Then, a job or the like for editing is executed. In this case, information indicating the context such that a job for editing is executed after the job for generating the table 1 is registered.
ここで、業務システムの変更が行われ、例えば、業務アプリケーションがテーブル1だけでなくテーブル2も利用することとなり、それによりDBMSにおいてテーブル1の生成のジョブの実行後にテーブル2の生成のジョブの実行も必要になったとする。この場合は、テーブル1を生成するジョブの後にテーブル2を生成するジョブが実行され、テーブル2を生成するジョブの後に編集等を行わせるジョブが実行されるといったように、前後関係を示す情報の変更が必要となる。 Here, the business system is changed. For example, the business application uses not only the table 1 but also the table 2, whereby the execution of the job for generating the table 2 is executed after the job for generating the table 1 is executed in the DBMS. Is also needed. In this case, information indicating the context, such as a job for generating table 2 after the job for generating table 1 and a job for editing after the job for generating table 2 are executed. Changes are required.
この変更を装置間について見ると、DBMSのテーブル1を生成するジョブと業務アプリケーションの編集等を行わせるジョブとの前後関係が破棄されて、DBMSのテーブル2を生成するジョブと業務アプリケーションの編集等を行わせるジョブとの前後関係が新たに登録されることになる。つまり、DBMSが稼働する装置内において実行されるジョブの変更であるにもかかわらず、業務アプリケーションが稼働する装置も、この変更の影響を受けることになる。 When this change is seen between devices, the context of the job that generates the DBMS table 1 and the job that edits the business application is discarded, and the job that generates the DBMS table 2 and the editing of the business application. The context before and after the job to be executed is newly registered. In other words, the apparatus on which the business application operates is affected by the change even though the job is executed in the apparatus on which the DBMS operates.
DBMSが稼働する装置と業務アプリケーションが稼働する装置とが一対一の関係であれば、この変更はそれ程問題にはならないが、DBMSが稼働する装置に対して業務アプリケーションが稼働する装置が複数関係を持っていれば(一対多の関係であれば)、その全てについて前後関係の変更が必要となり、変更が煩雑となる。更に、多対多の関係であれば、装置間の連携が複雑で前後関係を把握することすら困難な場合もあり、この場合の変更は、非常に大変である。 If there is a one-to-one relationship between the device where the DBMS operates and the device where the business application operates, this change is not so much of a problem, but there are multiple relationships between the device where the business application operates and the device where the DBMS operates. If it has it (if it is a one-to-many relationship), it will be necessary to change the context for all of them, making the change complicated. Furthermore, in the case of a many-to-many relationship, there are cases where cooperation between devices is complicated and it is even difficult to grasp the context, and the change in this case is very difficult.
そこで、本発明は、複数の装置が連携して各々のジョブを実行するコンピュータシステムにおいて、一の装置において実行されるジョブの変更が他の装置に与える影響を少なくすることを目的とする。 SUMMARY An advantage of some aspects of the invention is that in a computer system in which a plurality of devices cooperate to execute each job, the influence of a job change executed on one device on other devices is reduced.
本発明の一実施態様に従うジョブの実行順序制御装置は、複数の第一のジョブを実行させ、前記複数の第一のジョブの実行が完了すると第二のジョブを実行させるジョブの実行順序制御装置であって、前記複数の第一のジョブと前記第二のジョブとを連結するための連結情報と、前記複数の第一のジョブがすべて完了したことを検出すると、前記連結情報の状態を変更する監視手段とを備え、前記第二のジョブは、前記連結情報の状態が変更されると処理を実行することを特徴とする。 An execution order control apparatus for a job according to an embodiment of the present invention executes a plurality of first jobs and executes a second job when execution of the plurality of first jobs is completed. And detecting the connection information for connecting the plurality of first jobs and the second job and the completion of all of the plurality of first jobs, the state of the connection information is changed. Monitoring means for performing the processing, and the second job executes processing when the state of the connection information is changed.
好適な実施形態では、前記監視手段は、ジョブの実行順序を制御するジョブスケジューラであり、前記連結情報は、前記ジョブスケジューラにより起動される第三のジョブであり、前記ジョブスケジューラは、前記複数の第一のジョブがすべて完了したことを検出すると前記第三のジョブを実行させ、前記第三のジョブの実行が完了すると前記第二のジョブを実行させることを特徴とする。 In a preferred embodiment, the monitoring means is a job scheduler that controls the execution order of jobs, the connection information is a third job started by the job scheduler, and the job scheduler includes the plurality of job schedulers. When it is detected that all the first jobs are completed, the third job is executed, and when the execution of the third job is completed, the second job is executed.
好適な実施形態では、前記第三のジョブは、ダミージョブであることを特徴とする。 In a preferred embodiment, the third job is a dummy job.
以下、本発明の一実施形態について、図面を参照して説明する。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
図1は、本実施形態に係るジョブの実行順序制御装置を備えたコンピュータシステムの構成例を示した図である。 FIG. 1 is a diagram illustrating a configuration example of a computer system including a job execution order control apparatus according to the present embodiment.
本実施形態に係るコンピュータシステム(以下、「本システム」と呼ぶことがある)は、一以上のジョブ実行端末100と、一以上のDB(データベース)サーバ200と、管理端末400とを備える。ジョブ実行端末100とDBサーバ200と管理端末400とは、それぞれ通信ネットワーク300を介して接続される。本実施形態では、2台のジョブ実行端末100(ジョブ実行端末A100A及びジョブ実行端末B100B)と1台のDBサーバ200とが、それぞれ備えられるものとする。
The computer system according to the present embodiment (hereinafter sometimes referred to as “the present system”) includes one or more job execution terminals 100, one or more DB (database)
ジョブ実行端末100は、例えば、DBサーバ200を利用して所定のサービスを提供する計算機(パーソナルコンピュータ等)である。ジョブ実行端末A100Aはサービスaを、ジョブ実行端末B100Bはサービスbを、それぞれ提供する。サービスa及びサービスbは、どちらもDBサーバ200で管理されるDBを利用したサービスである。ジョブ実行端末A100Aは、サービスaを提供するために必要なジョブを実行するサービスa実行部110Aを備える。また、ジョブ実行端末B100Bは、サービスbを提供するために必要なジョブを実行するサービスb実行部110Bを備える。
The job execution terminal 100 is, for example, a computer (such as a personal computer) that provides a predetermined service using the
DBサーバ200は、例えば、ジョブ実行端末100が提供するサービスに利用するDBを管理する計算機である。DBサーバ200は、サービスaとサービスbとに利用されるDB220と、DB220を管理するためのジョブを実行するDBMS210とを備える。
The
このように、本実施形態におけるジョブ実行端末100及びDBサーバ200(以下、両者を含めて「ジョブ実行装置」と呼ぶ)は、所定のジョブを実行するジョブ実行部(ここでは、サービスa実行部110A、サービスb実行部110B及びDBMS210)を一以上備える。そして、それぞれのジョブ実行部110、210は、自分以外の他のジョブ実行部110、210と連携してそれぞれのジョブを実行することができる。ここでの連携とは、或るジョブ実行部110、210のジョブと他のジョブ実行部110、210のジョブとが前後関係を持って実行されることをいう。例えば、或るジョブ実行部110、210のジョブが終了した後に、他のジョブ実行部110、210のジョブが開始されるというような関係があるときに、それらのジョブ実行部110、210同士は、連携していることになる。このジョブ実行部110、210同士の連携は、ぞれぞれのジョブの前後関係等を示す情報として、後述する連携管理部410(及びスケジューラ420)によって管理される。
As described above, the job execution terminal 100 and the DB server 200 (hereinafter, referred to as “job execution apparatus” including both of them) in this embodiment are a job execution unit (here, service a execution unit) that executes a predetermined job. 110A, service
尚、ジョブ実行部110、210は、本実施形態で例示したようなサービスa実行部110A(サービスb実行部110B)やDBMS210に限られない。ジョブ実行部110、210は、他のジョブ実行部110、210のジョブと連携したジョブを実行する所定のアプリケーションであってもよい。また、本システムは、必ずしもジョブ実行端末100とDBサーバ200との両方を備える必要はない。例えば、複数のジョブ実行端末100に備えられるそれぞれのジョブ実行部110、210同士が連携している場合は、本システムは、DBサーバ200を備えずに、それらのジョブ実行端末100から構成されることもできる。
The
管理端末400は、ジョブ実行装置100、200を管理し、それらが備えるジョブ実行部110、210同士が連携して所定の機能を提供できるようにするための計算機(パーソナルコンピュータ等)である。管理端末400は、連携管理部410と、スケジューラ420と、スケジュール430とを備える。
The
連携管理部410は、異なるジョブ実行部110、210同士が連携してそれぞれのジョブを実行できるようにするため、それらが連携するポイント(以下、「連携ポイント」)に関する情報を管理する。ここで、連携ポイントとは、或るジョブ実行部110、210のジョブと他のジョブ実行部110、210のジョブとが前後関係を持って連結されている場合の、それらのジョブの連結箇所のことをいう。そして、連携ポイントに関する情報とは、例えば、その連携ポイントを形成する前後のジョブを示す情報と、先に実行されるジョブが終了したか否かを示す情報、即ち、後に実行されるジョブの実行を開始してもよいか否かを示す情報とを含めたものをいう。連携ポイント及び連携ポイントに関する情報について、図2を参照して具体的に説明する。
The
図2は、連携ポイントの一例を示した概念図である。 FIG. 2 is a conceptual diagram illustrating an example of a cooperation point.
同図は、サービスa実行部110Aが実行する「サービスaの運用プログラム(J12A)」のジョブと、サービスb実行部110Bが実行する「サービスbの運用プログラム(J12B)」のジョブと、DBMS210が実行する「DBバックアップ(J24)」のジョブとによって形成される連携ポイント510を示している。そして、同図の矢印は、「サービスaの運用プログラム(J12A)」のジョブ及び「サービスbの運用プログラム(J12B)」のジョブの実行が両方とも終了した後に、「DBバックアップ(J24)」のジョブが実行されることを示している。
The figure shows a “service a operation program (J12A)” job executed by the service a
この連携ポイントに関する情報520には、例えば、連結情報521と状態522とが含まれる。連結情報521には、先に実行されるジョブである「サービスaの運用プログラム(J12A)」のジョブ及び「サービスbの運用プログラム(J12B)」のジョブと、後に実行されるジョブである「DBのバックアップ(J24)」のジョブとが対応付けて記録される。状態522は、上述した、後に実行されるジョブの実行を開始してもよいか否かを示す情報である。例えば、状態522には、後に実行されるジョブの実行を開始してもよい場合は「実行可」、開始できない場合は「実行不可」が設定される。従って、この例では、状態522には、「サービスaの運用プログラム(J12A)」のジョブ及び「サービスbの運用プログラム(J12B)」のジョブの実行が両方とも終了した場合には「実行可」が設定され、それ以外の場合には「実行不可」が設定される。
The information 520 related to the cooperation point includes, for example,
尚、先に実行されるジョブと後に実行されるジョブとの対応関係は、この例のように、先に実行されるジョブが二つで後に実行されるジョブが一つである場合に限られない。先に実行されるジョブと後に実行されるジョブとがそれぞれ一つずつで一対一の関係となっていてもよいし、いずれか一方が複数、他方が一つで多対一(又は一対多)の関係となっていてもよい。更には、先に実行されるジョブと後に実行されるジョブとがそれぞれ複数あり、多対多の関係となっていてもよい。後に実行されるジョブが複数ある場合は、状態522に設定された「実行可」の情報は、後に実行される全てのジョブの各々について、その実行を開始してもよいことを示す。
The correspondence between the job executed first and the job executed later is limited to the case where there are two jobs executed first and one job executed later as in this example. Absent. There may be a one-to-one relationship between one job executed first and one job executed later, one of which is plural and the other is one-to-one (or one-to-many). It may be related. Furthermore, there may be a plurality of jobs executed first and jobs executed later, and a many-to-many relationship may be established. When there are a plurality of jobs to be executed later, the “executable” information set in the
連携管理部410は、例えば、連携ポイント510ごとに擬似的なジョブ(何の処理も行わない空のジョブであり、以下、「ダミージョブ」)を備えることにより、後述するスケジューラ420とともに、連携ポイントに関する情報520を管理することができる。ダミージョブを利用する場合は、連携管理部410は、スケジューラ420からの指示に従って、ダミージョブの実行を行う(但し、実行されたジョブは何も処理を行わないので直ちに終了する)。そして、ダミージョブの実行が終了したという情報が、後に実行されるジョブの実行を開始してもよいことを示す情報となる。つまり、ダミージョブの実行が終了していれば上記の状態522には「実行可」が設定されているものとして扱われ、ダミージョブの実行が終了していなければ上記の状態522には「実行不可」が設定されているものとして扱われることになる。このダミージョブの実行が終了したか否か、即ち、状態522が「実行可」であるか「実行不可」であるかは、スケジューラ420によって検出されることができる。
The
また、連携管理部410は、連携ポイントに関する情報520を出力することもできる。これにより本システムを管理する管理者は、連携ポイント510におけるジョブの実行状況を容易に知ることができ、システムの稼働状況を把握しやすくなる。
Also, the
図1に戻り、スケジューラ420は、本システムが所定の機能を提供するに際して、スケジュール430の内容に従ってジョブ実行部110、210や連携管理部410に対してジョブの開始を指示する。また、スケジューラ420は、順番にジョブを実行させるために、現在実行中のジョブが終了したか否かを検出する。例えば、サービスa及びサービスbの提供を行う際は、スケジューラ420は、後述する図2のようなスケジュール430を参照して、スケジュール430に登録されたジョブの実行順序どおりにジョブが実行されるように、サービスa実行部110A、サービスb実行部110B又は連携管理部410に対してジョブの開始を指示する。
Returning to FIG. 1, when this system provides a predetermined function, the
スケジュール430は、スケジューラ420がジョブ実行部110、210に対してジョブの開始を指示するときに参照する、ジョブの実行順序に関する情報である。例えば、スケジュール430には、本システムが提供する機能(サービスaやサービスb等)について、その機能を提供するために実行されるジョブと、その実行順序とが記録される。スケジュール430は、例えば、図2で示されるようにテーブル形式で記録されることができる。
The
図3は、本実施形態に係るスケジュール430の一例を示した図である。
FIG. 3 is a diagram illustrating an example of the
スケジュール430には、例えば、先行ジョブ431と後続ジョブ432とが対応付けられて記憶される。つまり、同図では、先行ジョブ431に示されたジョブの後に後続ジョブ432に示されたジョブが実行されることを示している。
In the
先行ジョブ431には、ジョブ実行部名4311と、ジョブ名4312とがそれぞれ記録される。ジョブ名4311は、当該先行ジョブ431に対応するジョブの名称である。ジョブ実行部名4311は、当該先行ジョブ431に対応するジョブを実行するジョブ実行部110、210の名称である。後続ジョブ432に関しても、先行ジョブ431と同様に、ジョブ実行部名4321と、ジョブ名4322とがそれぞれ記録される。尚、ジョブ実行部名4311、4321の代わりにジョブ実行部110、210を一意に特定する識別子が、ジョブ名4312、4322の代わりにジョブを一意に特定する識別子が、それぞれ記録されてもよい。
In the preceding
同図には、サービスa及びサービスbを提供するために実行されるジョブの実行順序の一例が記されている。例えば、本スケジュール430を参照することで、DBMS210の「テーブルの作成(J21)」のジョブの後に、DBMS210の「テーブルaのデータ入力(J22)」のジョブが実行されることがわかる。また、サービスa実行部110Aの「サービスaの運用プログラム(J12A)」のジョブは、サービスa実行部110Aの「日付更新(J11A)」のジョブと連携管理部410の「テーブルaの使用開始(J41)」のジョブとの両方が終了した後に実行されること等がわかる。
In the drawing, an example of the execution order of jobs executed to provide the service a and the service b is described. For example, referring to the
また、ジョブ実行部名4311、4321が連携管理部であるジョブ、即ち、「テーブルaの使用開始(J41)」、「テーブルbの使用開始(J42)」、「テーブルaの使用終了(J43)」及び「テーブルbの使用終了(J44)」は、全てダミージョブである。同図に示されたとおり、ダミージョブも、通常のジョブ(ジョブ実行部110、210が実行するジョブ)と同様にスケジュール430に登録される。そして、連携ポイント510を形成する2つのジョブの前後関係は、ダミージョブを介してスケジュール430に登録される。例えば、サービスa実行部110Aの「サービスaの運用プログラム(J12A)」のジョブは、DBMS210の「テーブルaのデータ入力(J22)」のジョブが終了した後に実行される必要があるが、この前後関係は、連携管理部410の「テーブルaの使用開始(J41)」のダミージョブを介して登録される。即ち、DBMS210の「テーブルaのデータ入力(J22)」のジョブが終了すると、連携管理部410の「テーブルaの使用開始(J41)」のダミージョブを開始でき、連携管理部410の「テーブルaの使用開始(J41)」のダミージョブが終了すると、サービスa実行部110Aの「サービスaの運用プログラム(J12A)」のジョブを開始できることになる(ここでは、「日付更新(J11A)」のジョブの終了も条件となる)。
In addition, jobs whose job
このように、連携ポイント510がダミージョブとしてスケジュール430に登録されることにより、スケジューラ420が連携ポイント510を特別に意識する必要がなくなる。従って、これまでと同様の実装方法で、装置間のジョブの連携の管理を実現できるようになる。
As described above, the cooperation point 510 is registered in the
図4は、本システムがサービスa及びサービスbを提供する際の処理の流れを示した図である。 FIG. 4 is a diagram showing a processing flow when the system provides service a and service b.
まず、スケジューラ420は、DBMS210に対して「テーブルの作成(J21)」のジョブの開始を指示する。指示を受けたDBMS210は、「テーブルの作成(J21)」のジョブを実行する(S01)。このジョブが実行されると、サービスaに利用されるテーブルa及びサービスbに利用されるテーブルbが、それぞれDB220上に作成される。
First, the
「テーブルの作成(J21)」のジョブが終了した後、スケジューラ420は、DBMS210に対して「テーブルaのデータ入力(J22)」のジョブの開始を指示する。指示を受けたDBMS210は、「テーブルaのデータ入力(J22)」のジョブを実行する(S02)。このジョブが実行されると、テーブルaに所定のデータが書き込まれ、テーブルaは、使用可能な状態となる。
After the “table creation (J21)” job is completed, the
「テーブルaのデータ入力(J22)」のジョブが終了した後、スケジューラ420は、連携管理部410に対して「テーブルaの使用開始(J41)」のジョブの開始を指示し、また、DBMS420に対して「テーブルbのデータ入力(J23)」のジョブの開始を指示する。連携管理部410が実行する「テーブルaの使用開始(J41)」のジョブは、ダミージョブである。従って、このジョブは、実際には何も行わずに直ちに終了する(S03)。そして、上述したように、ダミージョブの実行が終了したという情報は、後に実行されるジョブ(即ち、「サービスaの運用プログラム(J12A)」のジョブ)の実行を開始してもよいことを示す情報となる。一方、「テーブルbのデータ入力(J23)」のジョブが実行されると、テーブルbに所定のデータが書き込まれ、テーブルbは、使用可能な状態となる(S07)。
After the “table a data input (J22)” job is completed, the
一方、スケジューラ420は、サービスa実行部110Aに対して「日付更新(J11A)」のジョブの開始を指示する。同様に、スケジューラ420は、サービスb実行部110Bに対して「日付更新(J11B)」のジョブの開始を指示する。これらの指示は、DBMS210に対する「テーブルの作成(J21)」のジョブの開始を指示する前に行われてもよいし、「テーブルの作成(J21)」のジョブの開始を指示した後に行われてもよい。指示を受けたサービスa実行部110A及びサービスb実行部110Bは、それぞれ「日付更新(J11A、J11B)」のジョブを実行する(S04、S09)。
On the other hand, the
サービスa実行部110Aにおける「日付更新(J11A)」のジョブが終了し、かつ「テーブルaの使用開始(J41)」のジョブが終了した後、スケジューラ420は、サービスa実行部110Aに対して「サービスaの運用プログラム(J12A)」のジョブの開始を指示する。指示を受けたサービスa実行部110は、「サービスaの運用プログラム(J12A)」のジョブを実行する(S05)。このジョブが実行されると、サービスaの提供が開始される。尚、サービスaの提供は、このジョブ(「サービスaの運用プログラム(J12A)」のジョブ)だけでなく、複数のジョブの実行の組み合わせによって行われてもよい。
After the “date update (J11A)” job in the service a
サービスaの提供が終了(ここでは、「サービスaの運用プログラム(J12A)」のジョブが終了)すると、スケジューラ420は、連携管理部410に対して「テーブルaの使用終了(J43)」のジョブの開始を指示する。「テーブルaの使用開始(J41)」のジョブと同様に、連携管理部410が実行する「テーブルaの使用終了(J43)」のジョブは、ダミージョブであり、直ちに終了する(S07)。そして、このジョブが終了したという情報は、後に実行されるジョブ(即ち、「DBのバックアップ(J24)」のジョブ)の実行を開始してもよいことを示す情報となる。
When the provision of the service a is completed (here, the job of the “service a operation program (J12A)” is completed), the
以上のようなサービスaの提供のための処理と同様の処理が、サービスbについても行われる。 Processing similar to the processing for providing service a as described above is performed for service b.
即ち、スケジューラ420は、「テーブルbのデータ入力(J23)」のジョブが終了した後、連携管理部410に対して「テーブルbの使用開始(J42)」のジョブの開始を指示する。テーブルaの場合と同様に、連携管理部410が実行する「テーブルbの使用開始(J42)」のジョブは、ダミージョブであり、直ちに終了する(S08)。そして、スケジューラ420は、サービスb実行部110Bにおける「日付更新(J11B)」のジョブが終了し、かつ「テーブルbの使用開始(J42)」のジョブが終了した後、サービスb実行部110Bに対して「サービスbの運用プログラム(J12B)」のジョブの開始を指示する。指示を受けたサービスb実行部110は、「サービスbの運用プログラム(J12B)」のジョブを実行する(S10)。このジョブが実行されると、サービスbの提供が開始される。その後、スケジューラ420は、「サービスbの運用プログラム(J12B)」のジョブが終了すると、連携管理部410に対して「テーブルbの使用終了(J44)」のジョブの開始を指示する。テーブルaの場合と同様に、連携管理部410が実行する「テーブルbの使用終了(J44)」のジョブは、ダミージョブであり、直ちに終了する(S11)。
That is, after the job of “data input of table b (J23)” is completed, the
最後に、「テーブルaの使用終了(J43)」のジョブが終了し、かつ「テーブルbの使用終了(J44)」のジョブが終了した後、スケジューラ420は、DBMS210に対して「DBのバックアップ(J24)」のジョブの開始を指示する。指示を受けたDBMS210は、DB220のバックアップを行う(S12)。
Finally, after the job “End use of table a (J43)” and the job “End use of table b (J44)” are finished, the
以上が、本システムがサービスa及びサービスbを提供する際の処理の流れの説明である。 The above is the description of the process flow when the system provides the service a and the service b.
ここで、例えば、サービスa実行部110Aが実行する「サービスaの運用プログラム(J12A)」のジョブの中で、テーブルaに加えてテーブルbも利用するように変更されたとする。この場合は、「サービスaの運用プログラム(J12A)」のジョブが実行される前に、「テーブルbのデータ入力(J23)」のジョブが終了している必要がある。そこで、「サービスaの運用プログラム(J12A)」のジョブの先行ジョブを、これまでの「テーブルaの使用開始(J41)」に加えて「テーブルbの使用開始(J42)」とすることで、この変更に対応することができる。つまり、DBMS210には何の影響も与えずに、この変更に対応できることになる。
Here, for example, it is assumed that the “service a operation program (J12A)” job executed by the service a
尚、本実施形態では、ジョブ実行部同士のジョブの前後関係を考慮して、4つの連携ポイント(連携ポイントに相当するダミージョブ)の作成を行っている。即ち、本実施形態では、「テーブルaの使用開始(J41)」のダミージョブは、「テーブルaのデータ入力(J22)」のジョブの後に「サービスaの運用プログラム(J12A)」のジョブが実行されるという前後関係に基づいて、それらのジョブを連結するように作成されている(テーブルbについても同様である)。そして、この前後関係自体は、例えば、テーブルa、bは、DBMS210において初期化された後に他のジョブ実行部110、210によって利用される必要があるといったシステムの要件から得られるものである。また、「テーブルaの使用終了(J43)」のダミージョブは、「サービスaの運用プログラム(J12A)」のジョブが実行された後に「DBのバックアップ(J24)」のジョブが実行されるという前後関係に基づいて作成されている(テーブルbについても同様である)。そして、この前後関係は、例えば、テーブルa、bはその編集が終了した後にDBMS210によってバックアップされる必要があるといったシステムの要件から得られるものである。つまり、本実施形態においては、連携ポイントは、このようなジョブの前後関係を要求するシステムの要件に合わせて作成されていると考えることもできる。
In the present embodiment, four linkage points (dummy jobs corresponding to linkage points) are created in consideration of the job context between job execution units. That is, in the present embodiment, the “service start program (J12A)” job is executed after the “table a data input (J22)” job and the “service start program (J12A)” job. The jobs are created so as to concatenate those jobs based on the context in which they are executed (the same applies to the table b). The context itself is obtained, for example, from the system requirements that the tables a and b need to be used by the other
一方、これとは別に、連携ポイントは、このようなシステムの要件を考慮せずに、それぞれのジョブ実行装置100、200ごとに独立して作成されることもできる。即ち、各々のジョブ実行装置100、200ごとに、自分自身が行う処理を考慮して(他のジョブ実行装置100、200との具体的な連結箇所を考慮せずに)、所定の処理が終了した時点を連携ポイントとすることができる。所定の処理が終了した時点としては、例えば、他のジョブ実行装置100、200へ通知することが望まれる、ジョブの終了時点とすることができる。例えば、DBサーバ200に着目すると、テーブルa及びテーブルbは、他のジョブ実行装置100、200に対して公開するデータであるので、テーブルa及びテーブルbに関するステータスの変更(例えば、生成、削除、アクセス権変更等)は、他のジョブ実行装置100、200へ通知されることが望ましい。従って、テーブルa及びテーブルbについて、それらのステータスを変更するジョブ(例えば、テーブルを作成するジョブ、テーブルを削除するジョブ、アクセス権の変更を行うジョブ等)の終了時点を連携ポイントとすることができる。このようにすることで、連携ポイントごとにそれ自体が示す意味(この場合は、テーブルがどのステータスとなっているか)が明確になるので、他のジョブ実行装置100、200が、DBサーバ200との連携を考えたときに、自分のジョブをどの連携ポイントに連結すればよいのかが容易に把握できるようになる。
On the other hand, the cooperation point can be created independently for each of the
そして、このような処理の終了時点に対応する連携ポイントについて、その状態522を監視すれば、システム全体として処理がどこまで進んだか、つまり、システム全体の進捗状況が把握できる。例えば、アクセス権の変更を行うジョブに対応する連携ポイントの状態522が「実行可」となっていれば、アクセス権の変更が完了していると判断することができる。
Then, by monitoring the
また、或るジョブ実行装置100、200に障害が発生し、その処理が停止や遅延等した場合には、その処理に関係する連携ポイントを調べることにより、その障害の影響を受けるジョブ実行装置100、200(その連携ポイントに連結された処理を実行するジョブ実行装置100、200)を特定することも容易となる。
Further, when a failure occurs in a certain
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。 The above-described embodiments of the present invention are examples for explaining the present invention, and are not intended to limit the scope of the present invention only to those embodiments. The present invention can be implemented in various other modes without departing from the gist thereof.
100…ジョブ実行端末、110…サービス実行部、200…DBサーバ、210…DBMS、220…DB、300…通信ネットワーク、400…管理端末、410…連携管理部、420…スケジューラ、430…スケジュール DESCRIPTION OF SYMBOLS 100 ... Job execution terminal, 110 ... Service execution part, 200 ... DB server, 210 ... DBMS, 220 ... DB, 300 ... Communication network, 400 ... Management terminal, 410 ... Cooperation management part, 420 ... Scheduler, 430 ... Schedule
Claims (3)
前記複数の第一のジョブと前記第二のジョブとの前後関係を、何の処理も行わない空のダミージョブである第三のジョブを介して登録したジョブスケジュールと、
前記ジョブスケジュールに従ってジョブの実行順序を制御するジョブスケジューラとを備え、
前記ジョブスケジューラは、前記複数の第一のジョブがすべて完了したことを検出すると前記第三のジョブを実行させ、前記第三のジョブの実行が完了すると前記第二のジョブを実行させることを特徴とするジョブの実行順序制御装置。 A job execution order control device that executes a plurality of first jobs and executes a second job when execution of the plurality of first jobs is completed,
A job schedule registered via a third job, which is an empty dummy job that does not perform any processing, the context of the plurality of first jobs and the second job,
A job scheduler that controls the execution order of jobs according to the job schedule,
The job scheduler causes the third job to be executed when it is detected that all of the plurality of first jobs are completed, and causes the second job to be executed when the execution of the third job is completed. A job execution order control device.
前記複数の第一のジョブと前記第二のジョブとの前後関係が何の処理も行わない空のダミージョブである第三のジョブを介して登録されたジョブスケジュールに従って、ジョブの実行順序を制御するジョブスケジューラは、前記複数の第一のジョブがすべて完了したことを検出すると前記第三のジョブを実行させ、前記第三のジョブの実行が完了すると前記第二のジョブを実行させることを特徴とするジョブの実行順序制御方法。 A job execution order control method for executing a plurality of first jobs and executing a second job upon completion of execution of the plurality of first jobs,
Control the job execution order according to the job schedule registered via the third job, which is an empty dummy job in which the first job and the second job do not perform any processing. The job scheduler executes the third job when it is detected that all the plurality of first jobs are completed, and executes the second job when the execution of the third job is completed. The job execution order control method.
前記ジョブの実行順序制御プログラムがコンピュータに実行されると、
前記複数の第一のジョブと前記第二のジョブとの前後関係が何の処理も行わない空のダミージョブである第三のジョブを介して登録されたジョブスケジュールに従って、ジョブの実行順序を制御するジョブスケジューラは、前記複数の第一のジョブがすべて完了したことを検出すると前記第三のジョブを実行させ、前記第三のジョブの実行が完了すると前記第二のジョブを実行させることを特徴とするジョブの実行順序制御プログラム。
A job execution order control program for executing a plurality of first jobs and executing a second job upon completion of execution of the plurality of first jobs,
When the execution order control program for the job is executed on the computer,
Control the job execution order according to the job schedule registered via the third job, which is an empty dummy job in which the first job and the second job do not perform any processing. The job scheduler executes the third job when it is detected that all the plurality of first jobs are completed, and executes the second job when the execution of the third job is completed. A job execution order control program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007085589A JP4685053B2 (en) | 2007-03-28 | 2007-03-28 | Job execution order control device, method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007085589A JP4685053B2 (en) | 2007-03-28 | 2007-03-28 | Job execution order control device, method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008243032A JP2008243032A (en) | 2008-10-09 |
JP4685053B2 true JP4685053B2 (en) | 2011-05-18 |
Family
ID=39914261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007085589A Expired - Fee Related JP4685053B2 (en) | 2007-03-28 | 2007-03-28 | Job execution order control device, method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4685053B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08272626A (en) * | 1995-03-30 | 1996-10-18 | Hitachi Software Eng Co Ltd | Batch job processing method |
JP2000163272A (en) * | 1998-11-30 | 2000-06-16 | Ntt Data Corp | Job management system and recording medium |
JP2005276097A (en) * | 2004-03-26 | 2005-10-06 | Denso Corp | Interruption request program and microcomputer |
JP2007528080A (en) * | 2004-03-08 | 2007-10-04 | エービー イニティオ ソフトウェア コーポレーション | Task execution control |
-
2007
- 2007-03-28 JP JP2007085589A patent/JP4685053B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08272626A (en) * | 1995-03-30 | 1996-10-18 | Hitachi Software Eng Co Ltd | Batch job processing method |
JP2000163272A (en) * | 1998-11-30 | 2000-06-16 | Ntt Data Corp | Job management system and recording medium |
JP2007528080A (en) * | 2004-03-08 | 2007-10-04 | エービー イニティオ ソフトウェア コーポレーション | Task execution control |
JP2005276097A (en) * | 2004-03-26 | 2005-10-06 | Denso Corp | Interruption request program and microcomputer |
Also Published As
Publication number | Publication date |
---|---|
JP2008243032A (en) | 2008-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060155708A1 (en) | System and method for generating virtual networks | |
US20060190948A1 (en) | Connection manager, method, system and program product for centrally managing computer applications | |
WO2009110620A1 (en) | Client environment creation system, client environment creation method, client environment creation program, and storage medium | |
CN103501237A (en) | Device management method, management platform, device and system | |
US20200204461A1 (en) | Automation system for testing and publishing of web service | |
US8103905B2 (en) | Detecting and recovering from process failures | |
US10430232B2 (en) | Controllable workflow in software configuration automation | |
JP6268991B2 (en) | Information processing system, information processing apparatus, and program | |
JP2008129968A (en) | Network system | |
JP4685053B2 (en) | Job execution order control device, method and program | |
JP5884566B2 (en) | Batch processing system, progress confirmation device, progress confirmation method, and program | |
US7240348B2 (en) | Suspending scenario generation method, server device, and program therefor | |
US10592227B2 (en) | Versioned intelligent offline execution of software configuration automation | |
JP4804139B2 (en) | Information output method, system and program | |
JP2009266149A (en) | Job management program and job management apparatus | |
JP2007018246A (en) | Report automatic preparation program and report automatic preparation system and method | |
WO2014203728A1 (en) | Message control system, message control device, message control method, and program | |
JP6728840B2 (en) | Image processing server, distribution device and program | |
JPH1139259A (en) | Information processor and recording medium recorded with program | |
JP5392367B2 (en) | Management device | |
JP2010009555A (en) | Information processor and program | |
JP6922835B2 (en) | Service linkage device and notification method | |
JP2005267476A (en) | Inter-workflow management system | |
TWI238929B (en) | Method and system for updating the program of the computer at every node of the computer system | |
JP2005275522A (en) | Batch processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090907 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101116 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110111 |
|
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: 20110201 |
|
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: 20110209 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140218 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4685053 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 |
|
LAPS | Cancellation because of no payment of annual fees |