JP2001282551A - Job processor and job processing method - Google Patents

Job processor and job processing method

Info

Publication number
JP2001282551A
JP2001282551A JP2000095291A JP2000095291A JP2001282551A JP 2001282551 A JP2001282551 A JP 2001282551A JP 2000095291 A JP2000095291 A JP 2000095291A JP 2000095291 A JP2000095291 A JP 2000095291A JP 2001282551 A JP2001282551 A JP 2001282551A
Authority
JP
Japan
Prior art keywords
job
net
entry
queue
information
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.)
Pending
Application number
JP2000095291A
Other languages
Japanese (ja)
Inventor
Masanori Honda
政則 本田
Taro Inoue
太郎 井上
Masaaki Oya
雅章 大矢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000095291A priority Critical patent/JP2001282551A/en
Publication of JP2001282551A publication Critical patent/JP2001282551A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To solve a problem that performance is deteriorated when a job network has a large scale and it becomes complicated in a system where a plurality of jobs are automatically executed by the job network where the execution sequence and the execution time of the job are defined. SOLUTION: Job schedule information and various pieces of definition information area set to be common data. Thus, schedule processing themselves are executed in parallel by sharing them from the plural threads of a client processing part, a timer processing part, an agent processing part and a queue processing part.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ジョブネットの形
式で定義された複数のジョブを処理するシステムにおい
て、ジョブを効率よくスケジューリングするジョブ処理
装置および方法に関する。
The present invention relates to a job processing apparatus and method for efficiently scheduling jobs in a system for processing a plurality of jobs defined in a job net format.

【0002】[0002]

【従来の技術】ジョブネットワーク形式で定義されたジ
ョブを処理するシステムに関しては、特開平5−120
37号公報や特開平8−44574号公報等に記載され
ている。
2. Description of the Related Art A system for processing a job defined in a job network format is disclosed in JP-A-5-120.
37 and JP-A-8-44574.

【0003】特開平5−12037号公報記載のジョブ
処理方式は、システムに一つ存在する「動作制御コント
ローラ」が全てのジョブの制御を司るため、負荷が「動
作制御コントローラ」に集中しボトルネックとなりう
る。
In the job processing system described in Japanese Patent Application Laid-Open No. 5-12037, the load is concentrated on the "operation control controller" because a single "operation controller" existing in the system controls all jobs. It can be.

【0004】また、特開平8−44574号公報記載の
ジョブ処理方式はユーザ単位に「イベント管理タス
ク」、「実行管理タスク」を設けているが、一つのジョ
ブネットが巨大で複雑な場合、やはり負荷が両タスクに
集中し、ボトルネックとなりうる。例えば、4プロセッ
サ搭載の計算機において、一人のユーザが数千のジョブ
を含んだジョブネットを定義した場合、全てのジョブの
開始、終了等のイベントが「イベント管理タスク」に送
られるため、スケジュール処理を一つのタスク(プロセ
ス)で集中処理するこの方式では1つのプロセッサのみ
利用することになり、スケジュール処理の多重化が行な
えず、他の3つプロセッサが無駄になる。
In the job processing method described in Japanese Patent Application Laid-Open No. Hei 8-44574, an "event management task" and an "execution management task" are provided for each user. The load concentrates on both tasks and can be a bottleneck. For example, in a computer equipped with four processors, when one user defines a job net including thousands of jobs, events such as the start and end of all jobs are sent to the “event management task”. In this method of performing centralized processing by one task (process), only one processor is used, multiplexing of schedule processing cannot be performed, and the other three processors are wasted.

【0005】[0005]

【発明が解決しようとする課題】上記従来技術はスケジ
ュール処理の多重化について考慮されておらず、巨大で
複雑なジョブネットの処理を行う場合、十分なハードウ
ェアリソースを活用できず、性能劣化を招くという問題
点があった。
The above prior art does not consider the multiplexing of the schedule processing, and when processing a huge and complicated job net, it is not possible to utilize sufficient hardware resources, and the performance is deteriorated. There was a problem of inviting.

【0006】さらに、ジョブネットが大きくなると、ジ
ョブネットの定義の中から次に実行すべきジョブを検索
するのに非常に時間がかかるという問題点があった。
Further, when the size of a job net becomes large, it takes a very long time to search for a job to be executed next from the definition of the job net.

【0007】さらに、ジョブネットを複数の子ジョブネ
ットの集合で定義する場合において、メインとなるジョ
ブネット実行時、総ての子ジョブネットの定義情報を展
開するため、巨大なジョブネットの場合、当該ジョブネ
ットのジョブ実行開始までに非常に時間がかかるという
問題点があった。
Further, when a job net is defined by a set of a plurality of child job nets, the definition information of all the child job nets is expanded when the main job net is executed. There is a problem that it takes a very long time to start job execution of the job net.

【0008】さらに、一台の計算機上で全ての処理を行
うシステムでは、ジョブの処理自体に限界があるという
問題点があった。
Further, in a system in which all processes are performed on one computer, there is a problem that the job processing itself is limited.

【0009】本発明の目的は、ジョブネットのスケジュ
ール処理自体を多重化することにより、巨大で複雑なジ
ョブネットの処理においても計算機のハードウェアリソ
ースを最大限に活用し、性能劣化を回避することにあ
る。
SUMMARY OF THE INVENTION It is an object of the present invention to multiplex the schedule processing itself of a job net, thereby maximizing the use of the hardware resources of the computer even in the processing of a huge and complicated job net, and avoiding performance degradation. It is in.

【0010】[0010]

【課題を解決するための手段】上記目的を達成するため
に、本発明では、ジョブスケジュール情報、キュー情
報、ジョブ定義情報等の情報を共有データとし、クライ
アント処理部(ユーザからの入出力を処理)、タイマ処
理部(時刻や時間によってジョブを処理)、エージェン
ト処理部(実際にジョブを実行するエージェントとの入
出力を処理)、キュー処理部(実行待ちジョブのキュー
を処理)等の、実行中のジョブネットの定義や状態を変
更する処理部から共有できるようにしたものである。さ
らに、各処理部は互いに並行実行できるスレッドで実現
している。各処理部が共有データの各情報毎に排他制御
することにより、ジョブネットのスケジュール処理を多
重化できる。特にエージェント処理部、キュー処理部を
複数起動することによりスケジュール処理の多重度はさ
らに上がる。
In order to achieve the above object, according to the present invention, information such as job schedule information, queue information and job definition information is used as shared data, and a client processing unit (which processes input / output from a user). ), Execution of a timer processing unit (processing a job according to time and time), an agent processing unit (processing input / output with an agent that actually executes a job), a queue processing unit (processing a queue of a job waiting to be executed), etc. It can be shared by the processing unit that changes the definition and status of the inside job net. Further, each processing unit is realized by a thread that can be executed in parallel with each other. When each processing unit performs exclusive control for each information of the shared data, the schedule processing of the job net can be multiplexed. In particular, by activating a plurality of agent processing units and queue processing units, the multiplicity of the schedule processing is further increased.

【0011】[0011]

【発明の実施の形態】本発明の好ましい実施の形態とし
て以下のものが挙げられる。ひとつは、ジョブスケジュ
ール情報をリスト構造で保持し、終了したジョブのエン
トリを順に削除することにより、特定のジョブのエント
リの検索時間を短縮するようにしたことである。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention include the following. One is that job schedule information is held in a list structure, and entries of completed jobs are deleted in order, thereby shortening the search time for entries of a specific job.

【0012】さらに、複数の子ジョブネット(子ジョブ
ネットはネスティング可能とする)が定義されているジ
ョブネットにおいて、当該子ジョブネットが実行開始条
件を満たす(先行するジョブの実行が終了することを含
む)までその内部のジョブや孫ジョブネット等の定義を
ジョブ定義情報から読み出さず、ジョブスケジュール情
報作成を高速化する。なお、当該子ジョブネットが実行
開始条件を満たした時点で、ジョブ定義情報から必要な
ジョブ情報を読み出し、ジョブスケジュール情報を作成
する。これにより、巨大なジョブネット処理時でも、最
初のジョブ実行までに異常に時間がかかることを防げ
る。
Further, in a job net in which a plurality of child job nets (child job nets can be nested) are defined, the child job net satisfies the execution start condition (the execution of the preceding job is terminated). Unless the job definition information is read from the job definition information, the job schedule information creation is speeded up. When the child job net satisfies the execution start condition, necessary job information is read from the job definition information, and job schedule information is created. As a result, even when processing a huge job net, it is possible to prevent an abnormally long time from being executed until the first job execution.

【0013】さらに、メインとなるジョブネット開始時
に、ジョブ定義情報とは別に格納されている遅延監視定
義情報を調べ、当該メインジョブネットに含まれるジョ
ブやジョブネット、子ジョブネットの遅延監視指定があ
ればジョブ定義時に予め監視指定のあるジョブから監視
情報を取り出して遅延監視情報にエントリを登録し、子
ジョブネットや孫ジョブネットのジョブ定義情報を展開
せずに遅延監視を行えるようにした。
Further, when the main job net is started, the delay monitoring definition information stored separately from the job definition information is checked, and the delay monitoring designation of the jobs, job nets and child job nets included in the main job net is performed. If so, monitoring information is extracted from a job for which monitoring is specified in advance at the time of job definition, and an entry is registered in the delay monitoring information, so that delay monitoring can be performed without expanding job definition information of a child job net or a grandchild job net.

【0014】さらに、ジョブネットの定義、参照、更新
等を行うクライアント機能と、ジョブネットの定義に従
ってジョブをスケジューリングし、実行可能ジョブをキ
ューイングするサーバ機能と、キューから取り出された
ジョブを実際に実行するエージェント機能とを分離し、
ソケットインターフェース等のネットワーク通信手段を
用いてジョブの定義情報や実行結果等のやりとり等を行
えるようにした。これにより、各機能は同一の計算機上
でも、別々の計算機上でも実行でき、多重度も各機能毎
に自由に設定できる。
Further, a client function for defining, referring to, and updating a job net, a server function for scheduling a job according to the definition of the job net and queuing an executable job, and a function for actually executing the job extracted from the queue are provided. Separated from the agent function to be executed,
It is now possible to exchange job definition information, execution results, and the like using network communication means such as a socket interface. Thus, each function can be executed on the same computer or on different computers, and the multiplicity can be set freely for each function.

【0015】以下、本発明の一実施例を図面を用いて説
明する。図1に、本発明の基本構成を示す。ここでは、
二人のユーザが別々にジョブの定義、実行、参照等を行
い、2つのキュー(キュー情報エリア中に2つのキュー
を作成する)と3つのエージェントによりジョブを実行
する場合の例を示す。
An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 shows a basic configuration of the present invention. here,
An example is shown in which two users separately define, execute, and reference a job, and execute a job using two queues (two queues are created in a queue information area) and three agents.

【0016】ユーザ1(211)はクライアントプロセ
ス1(201)を、ユーザ2(212)はクライアント
プロセス2(202)をそれぞれ介し、ジョブやジョブ
ネットの定義および参照、カレンダやその他の情報の定
義および参照、ジョブやジョブネットの実行状況の監視
等を行う。クライアントプロセス1(201)およびク
ライアントプロセス2(202)はサーバプロセス(1
00)にリクエストを送り、結果を受け取る。
The user 1 (211) and the user 2 (212) define and refer to jobs and job nets, define calendars and other information, respectively, via the client process 1 (201) and the client process 2 (202). Reference, monitoring of the execution status of jobs and job nets, and the like. Client process 1 (201) and client process 2 (202) are server processes (1
00) and receive the result.

【0017】サーバプロセス(100)は共有データ部
(150)と、それを共有する複数のスレッドで構成さ
れる。クライアント処理部1(111)、クライアント
処理部2(112)、タイマ処理部(121)、エージ
ェント処理部1(131)、エージェント処理部2(1
32)、エージェント処理部3(133)、キュー処理
部1(141)、キュー処理部2(142)はそれぞれ
サーバプロセス(100)内のスレッドであり、同プロ
セス内の共有データ部(150)を排他制御しながらア
クセスする。排他処理は各情報毎に行うため、例えば、
クライアント処理部1(111)がジョブ定義情報(1
55)にアクセスしている間でも、キュー処理部1(1
41)はキュー情報(153)にアクセス可能である。
The server process (100) comprises a shared data section (150) and a plurality of threads sharing the shared data section (150). Client processing unit 1 (111), client processing unit 2 (112), timer processing unit (121), agent processing unit 1 (131), agent processing unit 2 (1
32), the agent processing unit 3 (133), the queue processing unit 1 (141), and the queue processing unit 2 (142) are threads in the server process (100), respectively, and execute the shared data unit (150) in the process. Access with exclusive control. Since the exclusion process is performed for each piece of information, for example,
The client processing unit 1 (111) executes the job definition information (1
55), the queue processing unit 1 (1
41) can access the queue information (153).

【0018】クライアント処理部1(111)およびク
ライアント処理部2(112)は各クライアントプロセ
ス(201,202)からリクエストを受け取り、ジョ
ブ定義情報(155)、カレンダ定義情報(156)、
実行環境定義情報(157)、遅延監視定義情報(15
8)などに定義情報を格納する。さらに、ジョブスケジ
ュール情報エリア(151)にスケジュール情報を展開
したり、キュー情報エリア(153)にジョブを投入し
たり、カレンダ情報エリア(152)や遅延監視情報エ
リア(154)を設定したりする。
The client processing unit 1 (111) and the client processing unit 2 (112) receive requests from each client process (201, 202), and receive job definition information (155), calendar definition information (156),
Execution environment definition information (157), delay monitoring definition information (15
8) and the like. Furthermore, schedule information is expanded in the job schedule information area (151), a job is input to the queue information area (153), and a calendar information area (152) and a delay monitoring information area (154) are set.

【0019】タイマ処理部(121)は定期的に起動さ
れ、特定の時刻を待っているジョブの起動や、遅延監視
等を行う。
The timer processing unit (121) is started periodically, and starts a job waiting for a specific time, monitors a delay, and the like.

【0020】エージェント処理部1(131)、エージ
ェント処理部2(132)、エージェント処理部3(1
33)はエージェントの数だけ作成されており、それぞ
れが1つのエージェントに対応している。なお、エージ
ェント処理部がエージェントの数だけ用意され、また、
クライアント処理部がクライアントの数だけあるのはそ
れぞれ、エージェントやクライアントからの処理のトリ
ガを落としてしまわないようにと言う理由からである。
各エージェント処理部は各エージェントプロセス(30
1、302、303)からジョブの正常終了、ジョブの
異常終了、エラーや警告等の情報を受け取り、それに従
ってジョブスケジュール情報エリア(151)の更新、
ジョブの投入等を行う。
The agent processing unit 1 (131), the agent processing unit 2 (132), and the agent processing unit 3 (1)
33) are created for the number of agents, each of which corresponds to one agent. The number of agent processing units is the same as the number of agents.
The reason why the number of client processing units is equal to the number of clients is to prevent the processing trigger from the agent or the client from being dropped.
Each agent processing unit is configured to execute each agent process (30
1, 302, and 303), information such as a normal end of a job, an abnormal end of a job, an error and a warning, and the like.
Submit a job.

【0021】キュー処理部1(141)、キュー処理部
2(142)はキュー情報エリア(153)内の担当の
キューにジョブが投入されたときに起動され、割り当て
られているエージェントプロセス(301、302、3
03)に対してジョブの実行を要求する。キューにまと
めてジョブが投入された場合、キュー処理部(141、
142)は投入された順番に、最後までジョブの処理を
行う。キュー処理部とエージェントプロセスは多対多接
続が可能である。図1の例では、キュー処理部1(14
1)はエージェントプロセス1(301)、エージェン
トプロセス2(302)のどちらにもジョブ実行を要求
できる。例えば、各エージェントプロセスが存在する計
算機の残処理能力を取得する手段をを別途設けることに
より、ジョブ処理の負荷分散を行うことができる。
The queue processing unit 1 (141) and the queue processing unit 2 (142) are activated when a job is entered into the queue in charge in the queue information area (153), and the assigned agent processes (301, 302,3
03) to execute the job. When jobs are submitted to the queue collectively, the queue processing unit (141,
142) performs the job processing to the end in the input order. Many-to-many connection between the queue processing unit and the agent process is possible. In the example of FIG. 1, the queue processing unit 1 (14
1) can request job execution from both the agent process 1 (301) and the agent process 2 (302). For example, by separately providing means for acquiring the remaining processing capacity of the computer in which each agent process exists, the load of job processing can be distributed.

【0022】各種定義情報(155、156、157、
158)の実体はジョブ管理データベース(400)内
にあり、各スレッドがそれらの情報を参照する際、デー
タベースにアクセスする。ただし、高速化のため、共有
データとして各定義情報の一部をバッファリングするこ
とも考えられる。なお、これ以外にも、ジョブの実行結
果やログ情報等もジョブ管理データベース(400)に
格納することにより、ジョブの再実行や世代管理等が行
なえる。
Various definition information (155, 156, 157,
The entity of 158) exists in the job management database (400), and each thread accesses the database when referring to the information. However, for speeding up, a part of each definition information may be buffered as shared data. In addition to this, by storing the job execution result, log information, and the like in the job management database (400), it is possible to execute the job again, manage the generation, and the like.

【0023】なお、エージェントが1つの場合でもエー
ジェント処理部、キュー処理部、クライアント処理部、
タイマ処理部がマルチスレッドを構成している。
Even when there is one agent, the agent processing unit, the queue processing unit, the client processing unit,
The timer processing unit forms a multi-thread.

【0024】以下、ジョブネットの定義例を用い、本発
明の実施例を詳細に説明する。図2にジョブネットの定
義例を示す。ジョブネットA(500)は8個のジョブ
と1個のジョブネットを含む。ジョブA01(501)
はジョブネットA(500)が実行可能となったときに
最初に実行される。例えば、ジョブネットA(500)
が午前11:00に実行されるよう定義されている場
合、午前11:00になると、タイマ処理部(図1の1
21)がジョブスケジュール情報エリア(図1の15
1)からジョブネットA(500)を取り出し、ジョブ
ネットAの定義情報をジョブ定義情報エリア(図1の1
55)から読み出し、ジョブスケジュール情報(15
1)に展開し、ジョブA01(501)をキューに投入
する。ジョブA01が終了すると、ジョブA02(50
2)、ジョブA03(503)、ジョブA04(50
4)が実行可能となる。ジョブA02、ジョブA03が
終了すると、ジョブA05(505)が実行可能とな
る。ジョブA04が終了するとジョブネットB(60
0)が実行可能となる。ジョブネットBは4個のジョブ
を含んでおり、まず、ジョブB01(601)、ジョブ
B02(602)が実行可能となる、それら2個のジョ
ブが終了するとジョブB03(603)が実行可能とな
り、ジョブB03が終了するとジョブB04(604)
が実行可能となり、ジョブB04の終了により、ジョブ
ネットB(600)が終了する。同様に、ジョブA06
(506)、ジョブA07(507),ジョブA08
(508)もそれぞれの先行ジョブが全て終了した時点
でキューに投入され、実行される。ジョブの終了を受け
て後続ジョブをキューに投入するのはエージェント処理
部である。
Hereinafter, the embodiment of the present invention will be described in detail using a definition example of a job net. FIG. 2 shows a definition example of a job net. The job net A (500) includes eight jobs and one job net. Job A01 (501)
Is executed first when the job net A (500) becomes executable. For example, job net A (500)
Is defined to be executed at 11:00 am, at 11:00 am, the timer processing unit (1 in FIG. 1)
21) is a job schedule information area (15 in FIG. 1).
1), the job net A (500) is taken out, and the definition information of the job net A is stored in the job definition information area (1 in FIG.
55) and the job schedule information (15)
1), and submits the job A01 (501) to the queue. When the job A01 ends, the job A02 (50
2), job A03 (503), job A04 (50
4) becomes executable. When the jobs A02 and A03 are completed, the job A05 (505) becomes executable. When the job A04 ends, the job net B (60
0) becomes executable. The job net B includes four jobs. First, the job B01 (601) and the job B02 (602) can be executed. When the two jobs are completed, the job B03 (603) can be executed. When the job B03 ends, the job B04 (604)
Can be executed, and when the job B04 ends, the job net B (600) ends. Similarly, job A06
(506), job A07 (507), job A08
(508) is put into the queue and executed when all the preceding jobs are completed. It is the agent processing unit that submits the succeeding job to the queue upon completion of the job.

【0025】図3にジョブネットA(500)が実行可
能となった直後のジョブスケジュール情報エリア(15
1)の様子を示す。これはクライアント処理部によりジ
ョブスケジュール情報が展開されたものである。
FIG. 3 shows a job schedule information area (15) immediately after the job net A (500) becomes executable.
The situation of 1) is shown. This is obtained by expanding the job schedule information by the client processing unit.

【0026】ジョブネット先頭ポインタ(1000)お
よびジョブネット末尾ポインタ(1001)はジョブネ
ットAのエントリ(1002)を指している。ただし、
他に実行中のジョブネットが無いものとする。ジョブネ
ットAのエントリ(1002)の内部ジョブポインタは
リスト形式で展開された全内部ジョブのエントリの先頭
を指す。このジョブエントリの順番は実行の順番とは関
係ない。ジョブ定義情報(図1の155)から読み出さ
れた順番にエントリが作成され、リストに接続される。
これをもう少し説明すると、ジョブネットエントリとジ
ョブエントリは次のことを表しているだけである。即
ち、図3はジョブネットAにはジョブエントリで示され
たジョブA01からジョブネットBまでが含まれると言
うことを示しているだけで次ジョブのポインタで各ジョ
ブの実行順序を示しているわけではない。例えばジョブ
ネットAのエントリの内部ジョブのエリアを増やしそこ
から、ジョブA01からジョブネットBにそれぞれポイ
ンタを張っても良い。但し、この場合はジョブネットA
のエントリがジョブネットAに含まれるジョブの数によ
って可変長になり、扱いが面倒になる。これを避けるた
めに、ジョブA01からジョブネットBまでジョブネッ
トAに含まれるジョブであることを示すために各ジョブ
のエントリをポインタで繋いであるのである。
The job net start pointer (1000) and the job net end pointer (1001) point to the entry (1002) of the job net A. However,
It is assumed that there is no other job net being executed. The internal job pointer of the entry (1002) of the job net A points to the head of the entries of all the internal jobs expanded in the list format. The order of this job entry has nothing to do with the order of execution. Entries are created in the order read from the job definition information (155 in FIG. 1) and are connected to the list.
To explain this a little more, the job net entry and the job entry only indicate the following. That is, FIG. 3 merely shows that the job net A includes the jobs A01 to B indicated by the job entry, and the execution order of each job is indicated by the pointer of the next job. is not. For example, the area of the internal job in the entry of the job net A may be increased, and then the pointer may be set from the job A01 to the job net B. However, in this case, job net A
Has a variable length depending on the number of jobs included in the job net A, and handling is troublesome. In order to avoid this, the entries of each job are linked by a pointer from the job A01 to the job net B to indicate that the job is included in the job net A.

【0027】各ジョブエントリ(1101から110
9)はそれぞれ先行ジョブポインタを持つ。例えばジョ
ブA01(図2の501)には先行ジョブがないので、
ジョブA01のジョブエントリ(1101)の先行ジョ
ブポインタはNULLとなる。また、ジョブA05(図
2の505)の先行ジョブはジョブA02(図2の50
2)とジョブA03(図2の503)なので、ジョブA
05のジョブエントリ(1105)の先行ジョブポイン
タは、ジョブA02のエントリ(1204)とジョブA
03のエントリ(1205)のリストの先頭を指す。こ
こで、先行ジョブエントリの横方向の順序性はない。ジ
ョブA05の先行ジョブはジョブA02とジョブA03
であると言うことを示しているだけである。ジョブネッ
トB(図2の600)はこの時点ではジョブネットA
(図2の500)の1つのジョブとしてジョブエントリ
に登録されている。
Each job entry (1101 to 110)
9) each has a preceding job pointer. For example, since job A01 (501 in FIG. 2) has no preceding job,
The preceding job pointer of the job entry (1101) of the job A01 is NULL. The preceding job of job A05 (505 in FIG. 2) is job A02 (50 in FIG. 2).
2) and job A03 (503 in FIG. 2),
The preceding job pointer of the job entry (1105) of the job A05 is the entry (1204) of the job A02 and the job A
03 indicates the head of the list of the entry (1205). Here, there is no horizontal order of the preceding job entry. The preceding jobs of job A05 are job A02 and job A03
It just indicates that At this point, job net B (600 in FIG. 2)
(500 in FIG. 2) is registered in the job entry as one job.

【0028】ジョブスケジュール情報としては、上述の
ジョブ展開リストの他に、時刻待ちジョブや時刻待ちジ
ョブネットのリスト等がある。
The job schedule information includes a list of time waiting jobs and time waiting job nets in addition to the above-described job development list.

【0029】ジョブネットAの展開が終わると、その中
から実行可能なジョブを検索する。ジョブエントリの先
頭から末尾まで順に調べ、先行ジョブポインタがNUL
Lのエントリのジョブを実行可能と判断し、キューに投
入する。ジョブネットの実行時刻が設定されている場合
はタイマ処理部がジョブネットの展開と最初の実行可能
なジョブのキューへの投入を行なう。ジョブネットがク
ライアントからの実行指示により即時に実行するよう定
義されていれば最初の実行可能なジョブのキューへの投
入は該当するクライアント処理部が行なう。キューはキ
ュー情報エリア(153)内にあり、各キューの先頭ポ
インタ(2001、2002)と末尾ポインタ(201
1,2012)およびキューイングされているジョブエ
ントリ(2101)により構成される。図3の状態にお
いて先行ジョブが無いのは、ジョブA01のエントリ
(1101)だけである。ここで、ジョブA01の属性
(「ジョブA01情報」に入っている)として、キュー
1を使用するよう定義されているとする。ジョブA01
のエントリ(2101)は実行可能ジョブとしてキュー
1の末尾に接続される。キュー1にジョブが投入される
と、キュー処理部1(図1の141)にそれが伝えら
れ、キュー処理部1はキュー1に溜まっているジョブを
順番に、エージェントに渡す。ここでは、ジョブA01
の処理がエージェントプロセス1(図1の301)に送
られたものとする。
When the development of the job net A is completed, an executable job is searched from the job net A. Examine the job entry in order from the beginning to the end, and if the preceding job pointer is NULL
The job of the entry L is determined to be executable, and is entered into the queue. If the execution time of the job net has been set, the timer processing unit expands the job net and submits the first executable job to the queue. If the job net is defined to be executed immediately according to the execution instruction from the client, the first executable job is put into the queue by the corresponding client processing unit. The queues are in the queue information area (153), and the head pointer (2001, 2002) and the tail pointer (201) of each queue are provided.
1, 2012) and a queued job entry (2101). In the state shown in FIG. 3, there is no preceding job only in the entry (1101) of the job A01. Here, it is assumed that queue 1 is defined as an attribute of job A01 (contained in “job A01 information”). Job A01
(2101) is connected to the end of the queue 1 as an executable job. When a job is input to the queue 1, the job is transmitted to the queue processing unit 1 (141 in FIG. 1), and the queue processing unit 1 sequentially transfers the jobs stored in the queue 1 to the agent. Here, the job A01
Is sent to the agent process 1 (301 in FIG. 1).

【0030】図3のキュー投入までの処理は、タイマ処
理部(図1の121)またはクライアント処理部(図1
の111または112)内で実行される。例えば、ジョ
ブネットA(500)に実行開始時刻が設定されている
場合、タイマ処理部(121)によって図3で説明した
処理が行われ、クライアントプロセス(図1の201ま
たは202)により即時実行が要求された場合、クライ
アント処理部(図1の111または112)によって同
処理が行われる。
The processing up to the queue entry in FIG. 3 is performed by a timer processing unit (121 in FIG. 1) or a client processing unit (FIG. 1).
111 or 112). For example, when the execution start time is set in the job net A (500), the processing described in FIG. 3 is performed by the timer processing unit (121), and the immediate execution is performed by the client process (201 or 202 in FIG. 1). When requested, the same processing is performed by the client processing unit (111 or 112 in FIG. 1).

【0031】図4にジョブA01(図2の501)が終
了した直後のジョブスケジュール情報の様子を示す。図
4を見ると、ジョブA01のジョブエントリ(図3の1
101)および、ジョブA01の先行ジョブエントリ
(図3の1201、1202、1203)が各リストか
ら削除されている(実際にデータを消さないでリンクを
外すだけで良い)。この時点で、ジョブA02(110
2)、ジョブA03(1103)、ジョブA04(11
04)に先行ジョブがないので、これら3つのジョブが
キューに投入される。ここでは、ジョブA02とジョブ
A03がキュー1、ジョブA04がキュー2で処理され
るよう定義されているものとする。キュー内に溜まって
いるジョブ(2102、2103、2104)は各キュ
ー処理部(図1の141または142)により取り出さ
れ、適当なエージェントプロセス(図1の301、30
2または303)に送られる。このように、処理が終了
したジョブに関する情報を削除すると先行ジョブのない
実行可能なジョブが見えてくる。
FIG. 4 shows the state of the job schedule information immediately after the completion of the job A01 (501 in FIG. 2). Referring to FIG. 4, the job entry of job A01 (1 in FIG. 3)
101) and the preceding job entry (1201, 1202, 1203 in FIG. 3) of job A01 has been deleted from each list (just remove the link without actually erasing the data). At this point, job A02 (110
2), job A03 (1103), job A04 (11
Since there is no preceding job in 04), these three jobs are put into the queue. Here, it is assumed that job A02 and job A03 are defined to be processed in queue 1 and job A04 is processed in queue 2. The jobs (2102, 2103, 2104) accumulated in the queue are taken out by the respective queue processing units (141 or 142 in FIG. 1), and the appropriate agent processes (301, 30 in FIG. 1).
2 or 303). As described above, when the information on the processed job is deleted, an executable job without a preceding job becomes visible.

【0032】図4のキュー投入までの処理は、エージェ
ント処理部1(図1の131)によって行われる。なぜ
なら、ジョブA01の処理はエージェントプロセス1
(図1の301)に送られており、その処理結果はエー
ジェント処理部1(図1の131)に転送されるからで
ある。
The processing up to the queue input in FIG. 4 is performed by the agent processing unit 1 (131 in FIG. 1). Because the processing of job A01 is agent process 1
(301 in FIG. 1), and the processing result is transferred to the agent processing unit 1 (131 in FIG. 1).

【0033】図5にジョブA02およびジョブA04が
終了した直後のジョブスケジュール情報の様子を示す。
ジョブA02のジョブエントリ(図4の1102)と先
行ジョブエントリ(図4の1204)、ジョブA04の
ジョブエントリ(図4の1104)と先行ジョブエント
リ(図4の1210)が各リストから削除されている。
ここで、ジョブA03はまだ終了していないので、リス
トから削除されず、ジョブエントリ(1103)のジョ
ブA03情報には実行中を示すフラグが立つ(「ジョブ
A03情報」はフラグ領域ももつ)。この時点で次に実
行できるのは先行ジョブが全て終了したジョブネットB
(1109)である。ジョブネットBは実行可能となる
と、キューに投入される代わりに、ジョブネットの定義
情報が読み出され、ジョブスケジュール情報として展開
される。
FIG. 5 shows the state of the job schedule information immediately after the completion of the jobs A02 and A04.
The job entry of job A02 (1102 in FIG. 4) and the preceding job entry (1204 in FIG. 4) and the job entry of job A04 (1104 in FIG. 4) and the preceding job entry (1210 in FIG. 4) are deleted from each list. I have.
Here, since the job A03 has not been completed yet, it is not deleted from the list, and a flag indicating that the job A03 is being executed is set in the job A03 information of the job entry (1103) ("job A03 information" also has a flag area). The next job that can be executed at this point is job net B where all preceding jobs have been completed.
(1109). When the job net B becomes executable, the definition information of the job net is read out instead of being put into the queue, and is expanded as job schedule information.

【0034】図5の処理のうち、ジョブA02のエント
リを削除するのは、エージェント処理部1(図1の13
1)である。ただし、ジョブA02がエージェント1に
送られたものとする。ジョブA04のエントリの削除お
よびジョブネットBの展開はエージェント処理部3(図
1の133)が行う。
In the processing of FIG. 5, the entry of the job A02 is deleted by the agent processing unit 1 (13 in FIG. 1).
1). However, it is assumed that the job A02 has been sent to the agent 1. The agent processing unit 3 (133 in FIG. 1) deletes the entry of the job A04 and expands the job net B.

【0035】ジョブネットB展開中にジョブA03(図
2の503)が終了したとする。ジョブネットB展開処
理とジョブA03の終了処理が完了した後のジョブスケ
ジュール情報エリア151の様子を図6に示す。
It is assumed that the job A03 (503 in FIG. 2) is completed during the development of the job net B. FIG. 6 shows the state of the job schedule information area 151 after the completion of the job net B expansion processing and the job A03 end processing.

【0036】図6を見ると、ジョブA03のジョブエン
トリ(図5の1103)および先行ジョブエントリ(図
5の1205)が削除され、ジョブネットBのエントリ
(1003)とその内部ジョブエントリ(1301から
1304)および先行ジョブエントリ(1401から1
403)が追加されている。ちなみに図6のジョブネッ
トB情報(1109)には実行中を示すフラグが立って
いる。この時点では、先行ジョブがないジョブA05
(1105)およびジョブB01(1301)、ジョブ
B02(1302)がキューに投入される。以上、複数
のエージェント処理部が並行してジョブスケジュール処
理を実施する。即ち、複数のスレッドが並行して実行さ
れ処理性能が向上する。具体的には、複数のエージェン
ト処理部で分担してジョブスケジュール情報エリアでの
実行終了したジョブに関するエントリの削除、子ジョブ
ネットの展開、ジョブのキューへの投入が行なわれ、複
数のキュー処理部で割り当てられたエージェントに対す
るジョブの実行の要求がなされる。
Referring to FIG. 6, the job entry of job A03 (1103 in FIG. 5) and the preceding job entry (1205 in FIG. 5) are deleted, and the entry (1003) of job net B and its internal job entry (from 1301) are deleted. 1304) and the preceding job entry (1401 to 1
403) has been added. Incidentally, a flag indicating that the job is being executed is set in the job net B information (1109) in FIG. At this time, the job A05 having no preceding job
(1105), job B01 (1301), and job B02 (1302) are put into the queue. As described above, the plurality of agent processing units execute the job schedule processing in parallel. That is, a plurality of threads are executed in parallel to improve processing performance. Specifically, deletion of an entry relating to a job that has been completed in the job schedule information area by sharing a plurality of agent processing units, expanding a child job net, and submitting a job to a queue are performed. A request is made to execute the job for the agent assigned by.

【0037】以降同様に、図7にはジョブA05、ジョ
ブB01、ジョブB02終了後の様子、即ち、ジョブA
05に関するエントリ、ジョブB01に関するエント
リ、ジョブB02に関するエントリが削除された状態を
示す。ここでは、ジョブA06、ジョブB03に先行す
るジョブがない。図8にはジョブA06、ジョブB03
終了後の様子、即ち、ジョブA06に関するエントリ、
ジョブB03に関するエントリが削除された状態を示
す。ここでは、ジョブB4に先行するジョブがない。図
9にはジョブB04、ジョブネットB終了後の様子を示
してある。ジョブA07とジョブA08に先行するジョ
ブがなく、また、ジョブネットBが終了したためジョブ
ネット末尾のポインタは再びジョブネットAを指す。
Similarly, FIG. 7 shows the state after completion of job A05, job B01, and job B02, ie, job A
This shows a state in which the entry relating to Job 05, the entry relating to Job B01, and the entry relating to Job B02 have been deleted. Here, there is no job preceding the job A06 and the job B03. FIG. 8 shows job A06 and job B03.
The state after the end, that is, the entry regarding the job A06,
This shows a state in which the entry related to job B03 has been deleted. Here, there is no job preceding job B4. FIG. 9 shows a state after the job B04 and the job net B are completed. Since there is no job preceding the job A07 and the job A08, and the job net B has ended, the pointer at the end of the job net points to the job net A again.

【0038】これまで説明してきたように、ジョブネッ
ト内の子ジョブネットの情報は、その子ジョブネットが
実行可能になるまで展開されない。しかし、子ジョブネ
ット内のジョブの遅延の監視は、子ジョブネットが展開
される以前にしなければならない。
As described above, the information of the child job net in the job net is not expanded until the child job net becomes executable. However, the monitoring of the delay of the job in the child job net must be performed before the child job net is developed.

【0039】例えば、図2のジョブA06(506)に
「午前11時55分までに実行完了しなければ警告す
る」という終了遅延情報と、ジョブB03(603)に
「午前11時15分までに起動されなければ警告する」
という開始遅延情報が定義されているとする。もし、そ
れぞれの遅延情報が、該当ジョブを含むジョブネット展
開時に設定されるとすると、ジョブB03の遅延監視
は、ジョブネットB(図2の600)が実行可能になる
まで設定されない。仮にジョブネットBが午前11時4
5分に実行可能になったとすると、警告が30分以上遅
れることになる。この問題を防ぐため、定義はジョブ毎
に行なわれるのでサーバに格納するとき遅延監視の必要
なジョブのみを抽出し、その情報を遅延監視定義情報
(図1の158)として記録しておく。そしてメインと
なるジョブネットが実行可能となった時点で、その配下
の全てのジョブの遅延監視の定義を遅延監視定義情報
(図1の158)から読み出し、遅延監視情報エリア
(図1の154)に設定する。これは例えばクライアン
ト処理部がジョブネットを展開するときに行なう。ジョ
ブの実行監視は例えばタイマ処理部121が行ない、遅
延監視の情報に合致すると警告を発生する。別にジョブ
の実行監視をする処理部を設けても良い。こうすること
によって、ジョブを総て展開することなしに遅延監視が
行なえるので実行初期に膨大な時間を要することがな
い。
For example, the job A06 (506) shown in FIG. 2 has end delay information indicating that a warning is issued if execution is not completed by 11:55 am, and the job B03 (603) indicates "end by 11:15 am Warn if not activated "
It is assumed that start delay information is defined. If the respective delay information is set at the time of expanding the job net including the corresponding job, the delay monitoring of the job B03 is not set until the job net B (600 in FIG. 2) becomes executable. Job net B is 11:04 am
If it were possible to do so in 5 minutes, the warning would be delayed by more than 30 minutes. In order to prevent this problem, since the definition is performed for each job, only jobs that require delay monitoring when storing the job in the server are extracted, and the information is recorded as delay monitoring definition information (158 in FIG. 1). Then, when the main job net becomes executable, the definitions of the delay monitoring of all the jobs under the main job net are read from the delay monitoring definition information (158 in FIG. 1), and the delay monitoring information area (154 in FIG. 1). Set to. This is performed, for example, when the client processing unit develops the job net. The job execution monitoring is performed by the timer processing unit 121, for example, and a warning is issued when the job matches the delay monitoring information. Separately, a processing unit that monitors job execution may be provided. By doing so, delay monitoring can be performed without expanding all the jobs, so that an enormous amount of time is not required in the initial stage of execution.

【0040】図10に、ジョブネットAが開始された直
後の遅延監視情報エリア(154)の様子を示す。遅延
監視が定義されているジョブA06(3506)とジョ
ブB03(3603)のエントリが登録されている。こ
れはタイマ処理部で定期的に参照される。なお、仮に、
一番親のジョブネットの先頭のジョブに遅延監視情報を
つけるとそれだけが情報量が多くなって処理上取り扱い
が煩雑になる。
FIG. 10 shows the state of the delay monitoring information area (154) immediately after the start of job net A. Entries of job A06 (3506) and job B03 (3603) for which delay monitoring is defined are registered. This is periodically referred to by the timer processing unit. In addition, temporarily
If delay monitoring information is added to the first job in the first parent job net, the amount of information alone increases and the handling becomes complicated in processing.

【0041】図1を見ると、サーバプロセス(10
0)、クライアントプロセス(201、202)、エー
ジェントプロセス(301、302、303)は、それ
ぞれ独立したプロセスであり、クライアントとサーバの
間、サーバとエージェントの間の通信は、ソケットイン
ターフェース等の一般的な通信手段を用いて行われる。
このため、各プロセスを実行する計算機の構成に柔軟性
をもたらす。
Referring to FIG. 1, the server process (10
0), client processes (201, 202), and agent processes (301, 302, 303) are independent processes. Communication between a client and a server, and communication between a server and an agent are performed by a general method such as a socket interface. This is performed using a simple communication means.
This provides flexibility in the configuration of the computer that executes each process.

【0042】図11は、計算機1(901)で、クライ
アント、サーバ、エージェントの全てを実行している例
である。この構成では1台の計算機のみで全体の処理が
可能であることをあらわす。クライアントは複数あって
も良い。
FIG. 11 shows an example in which the client 1, the server, and the agent are all executed by the computer 1 (901). This configuration indicates that the entire process can be performed with only one computer. There may be multiple clients.

【0043】図12はエージェント(301、302)
のみ別の計算機(902,903)で実行する構成であ
る。この構成では、エージェントがそれぞれ別の計算機
におかれるため、実際のジョブの処理は別の計算機で行
なわれるので、計算機1(901)の負荷は減る。さら
に図13のように、全てのプロセスを別々の計算機で実
行することも可能である。即ち、サーバのみを計算機1
(901)におき、エージェント1(301)、エージ
ェント2(302)、エージェント3(303)をそれ
ぞれ計算機2(902)、計算機3(903)、計算機
4(904)におき、クライアント1(201)、クラ
イアント2(202)をそれぞれ計算機5(905)、
計算機6(906)に置いて、計算機をプロセスに専用
にしたものである。こうすることによって、ハードウェ
アリソースを有効に利用できる。
FIG. 12 shows agents (301, 302).
Only the other computers (902, 903) execute the configuration. In this configuration, since the agents are placed on different computers, the actual job processing is performed on another computer, and the load on the computer 1 (901) is reduced. Further, as shown in FIG. 13, it is also possible to execute all the processes on different computers. That is, only the server is computer 1
(901), Agent 1 (301), Agent 2 (302), and Agent 3 (303) are placed in Computer 2 (902), Computer 3 (903), and Computer 4 (904), respectively, and Client 1 (201). , The client 2 (202) with the computer 5 (905), respectively.
The computer is dedicated to the process in the computer 6 (906). By doing so, hardware resources can be used effectively.

【0044】[0044]

【発明の効果】本発明によれば、スケジュール処理自体
を並行実行できるので、多数のジョブが複雑に定義され
たジョブネットでも、効率よくスケジューリングでき
る。
According to the present invention, since the schedule processing itself can be executed in parallel, even a job net in which a large number of jobs are defined in a complicated manner can be efficiently scheduled.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施例の基本構成を表すブロック図
である。
FIG. 1 is a block diagram illustrating a basic configuration of an embodiment of the present invention.

【図2】本発明における、ジョブネット定義図である。FIG. 2 is a job net definition diagram according to the present invention.

【図3】図2のジョブネットA実行直後のジョブスケジ
ュール情報エリアおよびキュー情報エリアのデータ構成
図である。
FIG. 3 is a data configuration diagram of a job schedule information area and a queue information area immediately after execution of job net A in FIG. 2;

【図4】図2のジョブA01終了直後のジョブスケジュ
ール情報エリアおよびキュー情報エリアのデータ構成図
である。
FIG. 4 is a data configuration diagram of a job schedule information area and a queue information area immediately after the end of job A01 in FIG. 2;

【図5】図2のジョブA02、A04終了直後のジョブ
スケジュール情報エリアおよびキュー情報エリアのデー
タ構成図である。
FIG. 5 is a data configuration diagram of a job schedule information area and a queue information area immediately after the end of jobs A02 and A04 in FIG. 2;

【図6】図2のジョブA03終了、ジョブネットB展開
直後のジョブスケジュール情報エリアおよびキュー情報
エリアのデータ構成図である。
FIG. 6 is a data configuration diagram of a job schedule information area and a queue information area immediately after the completion of job A03 and the expansion of job net B in FIG. 2;

【図7】図2のジョブA05、ジョブB01、ジョブB
02終了直後のジョブスケジュール情報エリアおよびキ
ュー情報エリアのデータ構成図である。
FIG. 7 shows job A05, job B01, and job B in FIG.
FIG. 11 is a data configuration diagram of a job schedule information area and a queue information area immediately after the end of 02.

【図8】図2のジョブA06、ジョブB03終了直後の
ジョブスケジュール情報エリアおよびキュー情報エリア
のデータ構成図である。
FIG. 8 is a data configuration diagram of a job schedule information area and a queue information area immediately after the completion of a job A06 and a job B03 in FIG. 2;

【図9】図2のジョブB04、ジョブネットB終了直後
のジョブスケジュール情報エリアおよびキュー情報エリ
アのデータ構成図である。
9 is a data configuration diagram of a job schedule information area and a queue information area immediately after the end of job B04 and job net B in FIG. 2;

【図10】図2のジョブネットA実行直後の遅延監視情
報エリアのデータ構成図である。
FIG. 10 is a data configuration diagram of a delay monitoring information area immediately after execution of job net A in FIG. 2;

【図11】本発明の一実施例の計算機構成を表すブロッ
ク図である。
FIG. 11 is a block diagram illustrating a computer configuration according to an embodiment of the present invention.

【図12】本発明の別の実施例の計算機構成を表すブロ
ック図である。
FIG. 12 is a block diagram illustrating a computer configuration according to another embodiment of the present invention.

【図13】本発明の別の実施例の計算機構成を表すブロ
ック図である。
FIG. 13 is a block diagram illustrating a computer configuration according to another embodiment of the present invention.

【符号の説明】[Explanation of symbols]

100.サーバプロセス 201.クライアントプロセス1 202・クライアントプロセス2 301.エージェントプロセス1 302.エージェントプロセス2 303.エージェントプロセス3 150.共有データ部 111.クライアント処理部1 112.クライアント処理部2 121.タイマ処理部 131.エージェント処理部1 132.エージェント処理部2 133.エージェント処理部3 141.キュー処理部1 142.キュー処理部2 400.ジョブ管理データベース 500.ジョブネットA 600.ジョブネットB 100. Server process 201. Client process 1 202 / client process 2 301. Agent process 1 302. Agent process 2 303. Agent process 3 150. Shared data section 111. Client processing unit 1 112. Client processing unit 2 121. Timer processing unit 131. Agent processing unit 1 132. Agent processing unit 2 133. Agent processing unit 3 141. Queue processing unit 1 142. Queue processing unit 2 400. Job management database 500. Job net A 600. Job net B

───────────────────────────────────────────────────── フロントページの続き (72)発明者 大矢 雅章 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 Fターム(参考) 5B098 GA03 GA05 GB01 GB11 GB13 GC01 GD02 GD14  ────────────────────────────────────────────────── ─── Continuing on the front page (72) Inventor Masaaki Oya 5030 Totsuka-cho, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture F-term in the Software Division of Hitachi, Ltd. (Reference) 5B098 GA03 GA05 GB01 GB11 GB13 GC01 GD02 GD14

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】ジョブの実行順序を定義したジョブネット
を用いて複数のジョブを順次実行するジョブ処理装置で
あって、ジョブスケジュール情報を記憶するジョブスケ
ジュール情報エリアを有する共有データ部と、前記共有
データ部を共有し前記ジョブスケジュール情報エリアに
前記ジョブネットを展開し、展開されたジョブスケジュ
ール情報を参照し、あるいは更新する複数のスレッドを
備えたことを特徴とするジョブ処理装置。
1. A job processing apparatus for sequentially executing a plurality of jobs by using a job net in which a job execution order is defined, comprising: a shared data unit having a job schedule information area for storing job schedule information; A job processing apparatus comprising: a plurality of threads that share a data portion, expand the job net in the job schedule information area, and refer to or update the expanded job schedule information.
【請求項2】前記ジョブスケジュール情報エリアに展開
されたジョブスケジュール情報はジョブネットに含まれ
るジョブのジョブ定義情報を記憶するジョブエントリ
と、各ジョブに先行して実行されるべきジョブを示す先
行ジョブエントリを含み、前記スレッドの少なくとも1
つは実行されたジョブに関するエントリを削除すること
を特徴とする請求項1のジョブ処理装置。
2. The job schedule information developed in the job schedule information area includes a job entry storing job definition information of a job included in a job net, and a preceding job indicating a job to be executed prior to each job. At least one of said threads
2. The job processing apparatus according to claim 1, wherein an entry relating to the executed job is deleted.
【請求項3】前記共有データ部は更にジョブ実行のキュ
ーを記憶するエリアを有しており、前記スレッドは更に
展開されたスケジュール情報を参照し、先行ジョブエン
トリを持たない次に実行されるべきジョブを選択し前記
キューに投入するものを含み、更に担当のキューにジョ
ブが投入されたとき起動され割り当てられたエージェン
トに対してジョブの実行を要求するスレッドを備えたこ
とを特徴とする請求項2のジョブ処理装置。
3. The shared data section further has an area for storing a queue for job execution, and the thread refers to the expanded schedule information and should be executed next without a preceding job entry. A thread for selecting a job and submitting the job to the queue, and further comprising a thread which is activated when the job is submitted to the queue in charge and requests the assigned agent to execute the job. 2. Job processing device.
【請求項4】前記ジョブネットは子ジョブネットを含
み、前記子ジョブネットの前記ジョブスケジュール情報
エリアへの展開は当該子ジョブが実行可能になったとき
に行なわれることを特徴とする請求項1のジョブ処理装
置。
4. The job net according to claim 1, wherein said job net includes a child job net, and said child job net is expanded in said job schedule information area when said child job becomes executable. Job processing device.
【請求項5】ジョブの実行順序を定義したジョブネット
を用いて複数のジョブを順次実行するジョブ処理装置で
あって、ジョブを定義するジョブ定義情報と前記ジョブ
定義情報に含まれるジョブ処理の遅延監視を指定する情
報を抽出してなる遅延監視定義情報とを記憶する記憶装
置と、メインとなるジョブネットの起動時に当該ジョブ
ネットに含まれるジョブの前記遅延監視定義情報を抽出
し、共通データ部に遅延監視情報として格納する手段
と、前記遅延監視情報を参照して警告を出す手段とを備
えたことを特徴とするジョブ処理装置。
5. A job processing apparatus for sequentially executing a plurality of jobs by using a job net in which a job execution order is defined, wherein job definition information defining a job and job processing delay included in the job definition information are defined. A storage device for storing delay monitoring definition information obtained by extracting information for specifying monitoring, and extracting the delay monitoring definition information of a job included in the main job net when the main job net is started, and a common data unit And a means for referring to the delay monitoring information to issue a warning.
【請求項6】ジョブの実行順序を定義したジョブネット
を用いたジョブ処理方法であって、前記ジョブネットを
当該ジョブネットに含まれる各ジョブの定義情報を記憶
するエントリを含むジョブエントリと前記ジョブエント
リの各ジョブのエントリからのポインタで示される当該
ジョブに先行して実行されるべきジョブを示す先行ジョ
ブエントリとに展開するステップと、先行ジョブエント
リのないエントリを持つジョブを実行すべきジョブとし
て選択してキューに投入するステップと、実行が終わっ
たジョブに関するエントリを削除するステップとを備え
たことを特徴とするジョブ処理装置。
6. A job processing method using a job net in which a job execution order is defined, wherein the job net includes an entry for storing definition information of each job included in the job net and the job entry. A step of expanding into a preceding job entry indicating a job to be executed prior to the job indicated by a pointer from the entry of each job of the entry, and a job having an entry having no preceding job entry as a job to be executed A job processing apparatus comprising: a step of selecting and submitting a job to a queue; and a step of deleting an entry relating to a job whose execution has been completed.
JP2000095291A 2000-03-29 2000-03-29 Job processor and job processing method Pending JP2001282551A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000095291A JP2001282551A (en) 2000-03-29 2000-03-29 Job processor and job processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000095291A JP2001282551A (en) 2000-03-29 2000-03-29 Job processor and job processing method

Publications (1)

Publication Number Publication Date
JP2001282551A true JP2001282551A (en) 2001-10-12

Family

ID=18610212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000095291A Pending JP2001282551A (en) 2000-03-29 2000-03-29 Job processor and job processing method

Country Status (1)

Country Link
JP (1) JP2001282551A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277696A (en) * 2005-03-30 2006-10-12 Nec Corp Job execution monitoring system, job control device and program, and job execution method
US7228544B2 (en) 2002-04-17 2007-06-05 Hitachi, Ltd. Job processing method, job processing unit, and storage managing system
US7237005B2 (en) 2002-09-05 2007-06-26 Hitachi, Ltd. Job network setup method, job network execution method, job management system, management terminal and program
JP2009282577A (en) * 2008-05-19 2009-12-03 Nomura Research Institute Ltd Job management apparatus
US7730342B2 (en) 2006-03-16 2010-06-01 Fujitsu Limited Server system
JP2013200668A (en) * 2012-03-23 2013-10-03 Ntt Data Corp Performance control method, and system and program thereof
JP2013200667A (en) * 2012-03-23 2013-10-03 Ntt Data Corp Schedule creating method, and system and program therefor
US9778958B2 (en) 2014-09-19 2017-10-03 Fujitsu Limited Management method, management apparatus, and information processing system for coordinating parallel processing in a distributed computing environment

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228544B2 (en) 2002-04-17 2007-06-05 Hitachi, Ltd. Job processing method, job processing unit, and storage managing system
US7237005B2 (en) 2002-09-05 2007-06-26 Hitachi, Ltd. Job network setup method, job network execution method, job management system, management terminal and program
JP2006277696A (en) * 2005-03-30 2006-10-12 Nec Corp Job execution monitoring system, job control device and program, and job execution method
JP4538736B2 (en) * 2005-03-30 2010-09-08 日本電気株式会社 Job execution monitoring system, job control apparatus, job execution method, and job control program
US7730342B2 (en) 2006-03-16 2010-06-01 Fujitsu Limited Server system
JP2009282577A (en) * 2008-05-19 2009-12-03 Nomura Research Institute Ltd Job management apparatus
JP2013200668A (en) * 2012-03-23 2013-10-03 Ntt Data Corp Performance control method, and system and program thereof
JP2013200667A (en) * 2012-03-23 2013-10-03 Ntt Data Corp Schedule creating method, and system and program therefor
US9778958B2 (en) 2014-09-19 2017-10-03 Fujitsu Limited Management method, management apparatus, and information processing system for coordinating parallel processing in a distributed computing environment

Similar Documents

Publication Publication Date Title
US20090083746A1 (en) Method for job management of computer system
US20070024898A1 (en) System and method for executing job step, and computer product
US20050081208A1 (en) Framework for pluggable schedulers
US8024744B2 (en) Method and system for off-loading user queries to a task manager
KR20140080434A (en) Device and method for optimization of data processing in a mapreduce framework
US20050004952A1 (en) Transaction processing method, transaction control apparatus and program thereof
CN115221186A (en) Data query method, system and device and electronic equipment
JP2001282551A (en) Job processor and job processing method
JP2000081986A (en) Method for managing job in client-server type operation processing system and recording medium storing program for the method
CN113608891A (en) Distributed batch processing system, method, computer device and storage medium
JPH08241214A (en) Data processing system
EP1011045B1 (en) Object-oriented job scheduler
JP2000259591A (en) Distributed processing job execution method and network system
JP2001005614A (en) Disk device and server device
US20170147408A1 (en) Common resource updating apparatus and common resource updating method
JP2000148517A (en) Job net execution system
JPH01291333A (en) Event sorting processing system
JP3003759B2 (en) Job control method
JP2004234643A (en) Process scheduling device, process scheduling method, program for process scheduling, and storage medium recorded with program for process scheduling
JPH09319708A (en) On-line control process substitution system
JPH05113894A (en) File resource managing system in virtual computer system
Yang et al. Seraph: An efficient system for parallel processing on a shared graph
CN117632367A (en) Second starting method and system for targets in large-scale network attack and defense countermeasure simulation scene
CN117850995A (en) Coroutine scheduling method, coroutine scheduling device and storage medium
JP2001249821A (en) Job scheduling method