JP2009282577A - Job management apparatus - Google Patents

Job management apparatus Download PDF

Info

Publication number
JP2009282577A
JP2009282577A JP2008131324A JP2008131324A JP2009282577A JP 2009282577 A JP2009282577 A JP 2009282577A JP 2008131324 A JP2008131324 A JP 2008131324A JP 2008131324 A JP2008131324 A JP 2008131324A JP 2009282577 A JP2009282577 A JP 2009282577A
Authority
JP
Japan
Prior art keywords
job
jobs
standby
executed
instruction
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.)
Granted
Application number
JP2008131324A
Other languages
Japanese (ja)
Other versions
JP5133775B2 (en
Inventor
Shigefumi Takagi
重史 高木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2008131324A priority Critical patent/JP5133775B2/en
Publication of JP2009282577A publication Critical patent/JP2009282577A/en
Application granted granted Critical
Publication of JP5133775B2 publication Critical patent/JP5133775B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To enhance job processing efficiency in a state that a complex instruction is intensively inputted in a short time. <P>SOLUTION: A job management apparatus registers a plurality of jobs concerning the complex instruction in a preparation area 260 when a user inputs the complex instruction, changes the registration of the performable jobs among the jobs of the preparation area 260 from the preparation area 260 to a standby area 270, and selects a job performed from the jobs of the standby area 270 so as to perform the job. The job which is newly brought into a state that the job becomes performable after the performance of the former job is changed in registration from the preparation area 260 to the standby area 270. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、業務情報システムに関連し、特に、ジョブの実行効率を向上させるための技術、に関する。   The present invention relates to a business information system, and more particularly to a technique for improving job execution efficiency.

企業や公共施設などの運用を支える業務情報システム、いわゆるエンタープライズシステム(Enterprise System)は、今や、大小さまざまな組織の基盤となっている。業務情報システムは、ノード端末やデータベースから得られるデータを集計、蓄積、解析、加工した上でより付加価値の高い情報を出力することにより、複雑化する組織マネジメントを支えている。   Business information systems that support the operation of companies and public facilities, so-called enterprise systems, are now the foundation of organizations of various sizes. The business information system supports complicated organization management by outputting higher value-added information after totaling, accumulating, analyzing and processing data obtained from node terminals and databases.

業務情報システムは、ジョブ(Job)の集合体としてモデリングされることが多い。ジョブとは、データベースの更新処理や、各ノード端末から得られたデータに対する演算処理など、システムにおける基本的な実行単位である。業務情報システムによっては、ジョブの数は数千から時には数万にも及ぶ。   A business information system is often modeled as a collection of jobs. A job is a basic execution unit in the system, such as a database update process and a calculation process for data obtained from each node terminal. Depending on the business information system, the number of jobs can range from thousands to tens of thousands.

また、業務情報システムには、さまざまな「命令」が入力される。命令には、1つのジョブを実行するだけで完結する命令(以下、「単一命令」とよぶ)もあれば、複数のジョブが連続的に実行される命令(以下、「複合命令」とよぶ)もある。
特開2002−358224号公報 特開2006−268507号公報 特開2007−265029号公報
Various “commands” are input to the business information system. Some instructions can be completed simply by executing one job (hereinafter referred to as “single instruction”), while other instructions that can be executed continuously by multiple jobs (hereinafter referred to as “compound instructions”). There is also.
JP 2002-358224 A JP 2006-268507 A JP 2007-265029 A

更に、命令には、定期的に実行される命令(以下、「定期命令」とよぶ)もあれば、ユーザの指示等に基づき不定期的に実行される命令(以下、「不定期命令」とよぶ)もある。不定期命令をサポートする業務情報システムの場合、短期間に多くの不定期命令が入力されると、一時的に大量のジョブを実行する必要が生じるため、急激に処理負荷が上昇しやすい。特に、短期間に多くの複合命令が入力されると、このような問題が顕在化しやすい。   Furthermore, there are commands that are executed periodically (hereinafter referred to as “periodic commands”), and commands that are executed irregularly based on user instructions or the like (hereinafter referred to as “irregular commands”). There is also. In the case of a business information system that supports irregular commands, if a large number of irregular commands are input in a short period of time, it is necessary to temporarily execute a large number of jobs, so that the processing load tends to increase rapidly. In particular, when many compound instructions are input in a short period of time, such a problem is likely to be manifested.

本発明は、上記課題に鑑みて完成された発明であり、その主たる目的は、命令、特に、複合命令が短期間に集中して入力される状況において、ジョブの処理効率を向上させるための技術、を提供することにある。   The present invention has been completed in view of the above-mentioned problems, and its main object is to improve the job processing efficiency in a situation where instructions, particularly compound instructions, are input in a concentrated manner in a short period of time. , To provide.

本発明のある態様は、ジョブ管理装置に関する。
この装置は、ユーザから複合命令が入力されたとき、複合命令に関わる複数のジョブを準備領域に登録し、準備領域のジョブのうち実行可能な状態にあるジョブを準備領域から所定の待機領域に登録変更し、待機領域のジョブから実行対象となるジョブを選択して実行させる。ジョブの実行後に新たに実行可能な状態となったジョブは、準備領域から待機領域に登録変更される。
One embodiment of the present invention relates to a job management apparatus.
When a composite command is input from a user, this apparatus registers a plurality of jobs related to the composite command in the preparation area, and jobs that are in an executable state among jobs in the preparation area are transferred from the preparation area to a predetermined standby area. Change the registration, select the job to be executed from the jobs in the standby area, and execute it. Jobs that are newly executable after job execution are registered and changed from the preparation area to the standby area.

なお、以上に示した各構成要素の任意の組み合わせ、本発明を方法、システム、記録媒体、コンピュータプログラムにより表現したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described components, and the present invention expressed by a method, system, recording medium, and computer program are also effective as an aspect of the present invention.

本発明によれば、複合命令が短期間に集中して入力される状況において、ジョブの処理効率を向上させやすくなる。   According to the present invention, it becomes easy to improve job processing efficiency in a situation where compound instructions are concentrated and input in a short time.

図1は、資産管理業務の概要図である。
以下、資産管理業務を支援するための業務情報システムに基づいて、本発明の実施態様を説明する。本実施例における資産管理業務とは、顧客の資産を預かり、顧客に代わって資産を運用することにより、顧客から手数料収入を取得するビジネスである。資産運用部門のスタッフは、「フロントオフィス」と「バックオフィス」に大別される。
FIG. 1 is a schematic diagram of asset management work.
Hereinafter, an embodiment of the present invention will be described based on a business information system for supporting asset management business. The asset management business in the present embodiment is a business that obtains commission income from a customer by depositing the customer's asset and managing the asset on behalf of the customer. The asset management staff is broadly divided into “front office” and “back office”.

フロントオフィスは、金融市場の動向を分析し、資産の運用方針を決定する。バックオフィスは、フロントオフィスからの指示にしたがって、金融取引を執行する。たとえば、フロントオフィスのスタッフが、顧客Aの勘定による株式Bの買い増しをバックオフィスに指示すると、バックオフィスのスタッフは、資産運用システム200を介して、株式Bの買い注文を発行する。資産運用システム200は、株式等の注文、運用成果の算出、顧客送付用レポートの作成といったさまざまなバックオフィス業務を支援するための業務情報システムである。   The front office analyzes financial market trends and determines asset management policies. The back office executes financial transactions in accordance with instructions from the front office. For example, when the front office staff instructs the back office to increase the stock B purchase by the account of the customer A, the back office staff issues a buy order for the stock B via the asset management system 200. The asset management system 200 is a business information system for supporting various back office operations such as ordering stocks, calculating operational results, and creating reports for sending to customers.

図2は、資産運用システム200のハードウェア構成図である。
資産運用システム200は、ジョブ管理装置100、ジョブ実行装置群220および外部記憶装置210を含む。ジョブ管理装置100、ジョブ実行装置群220および外部記憶装置210は通信ネットワークにより互いに接続されている。
ジョブ管理装置100は、各ジョブをジョブ実行装置群220に実行させる。ジョブ実行装置群220は、複数のジョブ実行装置202を含む。各ジョブ実行装置202は、ジョブ管理装置100から割り当てられたジョブを実行する。ジョブ管理装置100は、あらかじめ定められた割当ルールに応じて、いずれかのジョブ実行装置202にジョブを割り当ててもよい。あるいは、各ジョブ実行装置202の処理負荷が平準化されるように、他のジョブ実行装置202よりも処理負荷が軽い状態にあるジョブ実行装置202に対して優先的にジョブを割り当ててもよい。
ジョブを構成するプログラムはあらかじめジョブ実行装置202が保持しておいてもよい。あるいは、ジョブ実行指示に際してジョブ管理装置100からジョブ実行装置202にプログラムをダウンロードしてもよい。ジョブ実行装置202は、ジョブの実行状態をジョブ管理装置100に適宜通知する。
FIG. 2 is a hardware configuration diagram of the asset management system 200.
The asset management system 200 includes a job management device 100, a job execution device group 220, and an external storage device 210. The job management device 100, the job execution device group 220, and the external storage device 210 are connected to each other via a communication network.
The job management apparatus 100 causes the job execution apparatus group 220 to execute each job. The job execution device group 220 includes a plurality of job execution devices 202. Each job execution device 202 executes the job assigned from the job management device 100. The job management apparatus 100 may assign a job to one of the job execution apparatuses 202 according to a predetermined assignment rule. Alternatively, jobs may be preferentially assigned to job execution devices 202 that are lighter in processing load than other job execution devices 202 so that the processing load of each job execution device 202 is leveled.
The program constituting the job may be held in advance by the job execution apparatus 202. Alternatively, a program may be downloaded from the job management apparatus 100 to the job execution apparatus 202 when a job execution instruction is given. The job execution apparatus 202 appropriately notifies the job management apparatus 100 of the job execution state.

外部記憶装置210は、業務のためのさまざまなデータを保存する。ジョブ実行装置202は、ジョブの実行に際して、外部記憶装置210とデータを送受する。また、ジョブ実行装置202は、外部記憶装置210から取得したデータや図示しない他のデータベース、ノード端末等から取得したデータに基づいてジョブを実行する。   The external storage device 210 stores various data for business. The job execution device 202 sends and receives data to and from the external storage device 210 when executing a job. Further, the job execution device 202 executes a job based on data acquired from the external storage device 210 or data acquired from another database (not shown), a node terminal, or the like.

まとめると、外部記憶装置210のデータを変数として、ジョブ実行装置202はさまざまなジョブを実行する。ジョブ管理装置230は、各ジョブの実行条件に基づいてジョブの実行タイミングを制御する。このように、外部記憶装置210から得られるデータに基づいて、複数のジョブがスケジュールにしたがって実行されることにより、資産運用システム200全体の運用がなされている。   In summary, the job execution device 202 executes various jobs using the data in the external storage device 210 as a variable. The job management device 230 controls job execution timing based on the execution conditions of each job. As described above, the entire asset management system 200 is operated by executing a plurality of jobs according to the schedule based on the data obtained from the external storage device 210.

図3は、運用成果計算命令におけるジョブの依存関係を示す図である。
バックオフィスは、資産運用システム200、より具体的にはジョブ管理装置100にさまざまな命令を入力する。このうち、特定の顧客に関する運用成果の算出を指示するための命令(以下、「運用成果計算命令」とよぶ)は、複数のジョブが連携することにより実現される命令、すなわち、「複合命令」である。
FIG. 3 is a diagram illustrating job dependency in an operation result calculation instruction.
The back office inputs various commands to the asset management system 200, more specifically, the job management apparatus 100. Among these, an instruction for instructing calculation of an operation result for a specific customer (hereinafter referred to as an “operation result calculation instruction”) is an instruction realized by cooperation of a plurality of jobs, that is, a “composite instruction”. It is.

運用成果計算命令は、以下の5つのジョブから構成される。
ジョブ1(J1):外部記憶装置210から取得した顧客による株式の取引を、取引履歴の形式にフォーマット変換する。
ジョブ2(J2):株式の属性情報を外部記憶装置210(ファイル等)から取得して、外部記憶装置210(データベース等)に記録する。属性情報とは、企業合併における株式交換や株式分割等に基づく株式銘柄の属性変更を示す情報である。
ジョブ3(J3):ジョブ1で取得した取引履歴を参照し、保有銘柄の口数と平均取得単価を計算する。また、ジョブ2で取得した属性情報を参照し、保有銘柄に発生した事象に基づいて、保有銘柄の口数や平均取得単価を補正する。
ジョブ4(J4):保有銘柄の時価情報を外部記憶装置210(ファイル等)から取得して、外部記憶装置210(データベース等)に記録する。
ジョブ5(J5):ジョブ3で計算された保有銘柄の口数と平均取得単価、ジョブ4で取得された時価情報に基づいて、顧客資産を時価評価し、運用成果ファイルを生成する。
バックオフィスは、生成された運用成果ファイルをフロントオフィス等に送信する。運用成果計算命令にしたがって上記5つのジョブが連続的に実行される処理を「運用成果計算処理」とよぶ。
以下、運用成果計算処理のように、複合命令にしたがって複数のジョブが連続的に実行される処理のことを「複合処理」とよぶ。
The operation result calculation instruction is composed of the following five jobs.
Job 1 (J1): A stock transaction by a customer acquired from the external storage device 210 is converted into a transaction history format.
Job 2 (J2): Stock attribute information is acquired from the external storage device 210 (file or the like) and recorded in the external storage device 210 (database or the like). The attribute information is information indicating an attribute change of a stock brand based on a stock exchange or a stock split in a corporate merger.
Job 3 (J3): Refers to the transaction history acquired in job 1, and calculates the number of stocks held and the average acquisition unit price. Further, the attribute information acquired in job 2 is referred to, and the number of held brands and the average acquisition unit price are corrected based on the events that have occurred in the owned brands.
Job 4 (J4): The current price information of the stocks is acquired from the external storage device 210 (file or the like) and recorded in the external storage device 210 (database or the like).
Job 5 (J5): Based on the number of owned brands calculated in job 3 and the average acquisition unit price, and the market price information acquired in job 4, the customer asset is evaluated for market value, and an operation result file is generated.
The back office transmits the generated operation result file to the front office or the like. A process in which the above five jobs are continuously executed in accordance with an operation result calculation instruction is referred to as an “operation result calculation process”.
Hereinafter, a process in which a plurality of jobs are continuously executed according to a composite instruction, such as an operation result calculation process, is referred to as “composite process”.

ジョブ5は、ジョブ3とジョブ4が完了したことを条件として実行される。以下、「ジョブAの実行完了」を実行開始条件とするジョブBのことを、ジョブAの「後行ジョブ」とよぶ。また、ジョブAのことをジョブBの「先行ジョブ」とよぶ。同図の場合、ジョブ3やジョブ4は、ジョブ5にとって先行ジョブである。また、ジョブ1とジョブ2は、ジョブ3にとって先行ジョブである。   Job 5 is executed on condition that job 3 and job 4 are completed. Hereinafter, the job B having “execution completion of job A” as an execution start condition is referred to as “following job” of job A. Job A is also referred to as “preceding job” of job B. In the case of FIG. 3, job 3 and job 4 are preceding jobs for job 5. Job 1 and job 2 are preceding jobs for job 3.

ジョブ管理装置100は、ジョブの依存関係とジョブの実行状況に応じて、各ジョブの実行可否を判定しながら、実行可能なジョブをジョブ実行装置202に次々と実行させる。同図によれば、ジョブ1、ジョブ2およびジョブ4には、先行ジョブがない。このため、ジョブ1、ジョブ2およびジョブ4はいつでも実行開始可能である。以下、このような先行ジョブを持たないジョブのことを「先頭ジョブ」とよぶ。   The job management apparatus 100 causes the job execution apparatus 202 to execute executable jobs one after another while determining whether or not each job can be executed according to job dependency and job execution status. According to the figure, job 1, job 2 and job 4 have no preceding job. Therefore, execution of job 1, job 2, and job 4 can be started at any time. Hereinafter, such a job having no preceding job is referred to as a “first job”.

図4は、図3に示したジョブの依存関係を設定するジョブ関係情報240のデータ構造図である。
ジョブ関係情報240において、対象ジョブ欄254は、図3に示したジョブ1〜5の5つのジョブを示す。先行ジョブ欄256は、対象ジョブ欄254に示す各ジョブの先行ジョブを示す。同図によれば、ジョブ1、ジョブ2、ジョブ4に先行ジョブはない。このため、これらのジョブは先頭ジョブである。ジョブ3の先行ジョブはジョブ1とジョブ2である。また、ジョブ4の先行ジョブはジョブ3とジョブ4である。ジョブ関係情報240においては、このような形式にてジョブ間の依存関係が定義されている。
FIG. 4 is a data structure diagram of the job relation information 240 for setting the job dependency shown in FIG.
In the job relation information 240, the target job column 254 shows five jobs 1 to 5 shown in FIG. The preceding job column 256 indicates the preceding job of each job shown in the target job column 254. According to the figure, job 1, job 2, and job 4 have no preceding job. For this reason, these jobs are the top jobs. The preceding jobs of job 3 are job 1 and job 2. The preceding jobs of job 4 are job 3 and job 4. In the job relationship information 240, dependency relationships between jobs are defined in this format.

ジョブ管理装置100は、ジョブ関係情報240を参照することにより、先頭ジョブか、先行ジョブの全てが完了しているジョブを「実行可能な状態にあるジョブ」として選択し、ジョブ実行装置202に実行指示する。   The job management apparatus 100 refers to the job relation information 240 to select the first job or a job for which all of the preceding jobs have been completed as a “job in an executable state” and execute it to the job execution apparatus 202. Instruct.

複合命令の処理時間は、単一命令に比べると格段に長くなりやすい。このため、ジョブ管理装置100は、「ユーザインタフェースに関する処理」と「ジョブの実行に関する処理」を非同期的に実行する。たとえば、運用成果計算命令が入力されると、ジョブ管理装置100は、まず、運用成果計算処理をバックグラウンド処理として実行させる。たとえば、ジョブ1、ジョブ2、ジョブ3、ジョブ4、ジョブ5の順に実行可能なジョブから順次実行させる。運用成果計算処理をバックグラウンドで実行されるため、ジョブ1の開始後、新たな命令を受け付け可能となる。顧客Aについて運用成果計算処理中に、顧客B、Cについての運用成果計算命令を入力することもできる。   The processing time for compound instructions tends to be much longer than that for a single instruction. For this reason, the job management apparatus 100 asynchronously executes “process related to user interface” and “process related to job execution”. For example, when an operation result calculation instruction is input, the job management apparatus 100 first executes an operation result calculation process as a background process. For example, jobs 1, 2, 3, 4, and 5 are sequentially executed from jobs that can be executed. Since the operation result calculation process is executed in the background, a new command can be accepted after the job 1 is started. During operation result calculation processing for customer A, operation result calculation instructions for customers B and C can be input.

以下においては、まず、図5から図7に関連して、複合処理の一般的な処理過程とその問題点について指摘する。そして、図8以降に関連して、本実施例における複合処理の処理方法について説明する。   In the following, first, general processing steps and problems of composite processing will be pointed out with reference to FIGS. Then, with reference to FIG. 8 and subsequent figures, a processing method of the composite processing in this embodiment will be described.

図5は、複合処理の一般的な処理過程である第1方法を示すフローチャートである。
図5に示す複合処理方法を「第1方法」とよぶ。ここでは、2つの複合命令が連続入力されたとして説明する。まず、ジョブ管理装置100は、UI(ユーザインタフェース)処理として複合命令を受信し(S10)、この複合命令により実行すべきジョブを登録する(S12)。運用成果計算処理であれば、上述したジョブ1〜5が登録される。ジョブ管理装置100は、UI処理とは別プロセスとしてジョブ処理が実行される。ジョブ管理装置100のUI処理は、ジョブ処理に複合処理の実行を指示する(S14)。ジョブ処理は、UI処理のバックグラウンド処理として実行されるため、S14の指示後、UI処理は次の命令を受け付け可能となる。
FIG. 5 is a flowchart showing a first method, which is a general process of composite processing.
The composite processing method shown in FIG. 5 is called a “first method”. Here, a description will be given assuming that two compound instructions are continuously input. First, the job management apparatus 100 receives a composite command as a UI (user interface) process (S10), and registers a job to be executed by this composite command (S12). In the case of the operation result calculation process, the above-described jobs 1 to 5 are registered. The job management apparatus 100 executes job processing as a separate process from the UI processing. The UI process of the job management apparatus 100 instructs the job process to execute the composite process (S14). Since the job process is executed as a background process of the UI process, the UI process can accept the next instruction after the instruction in S14.

新たな複合命令を受信すると(S16)、この複合命令についてのジョブを登録し(S18)、複合処理の実行を指示する(S20)。以下、S10にて受信された複合命令を「第1命令」、S16にて受信された複合命令を「第2命令」とよぶことにする。ジョブ処理は、まず、第1命令に基づく複合処理を実行し(S30)、複合処理が完了したとき、第1命令の入力者に完了通知する(S32)。ジョブ処理は、次に、第2命令に基づく複合処理を実行し(S40)、複合処理の完了後、第2命令の入力者に完了通知する(S42)。   When a new composite instruction is received (S16), a job for this composite instruction is registered (S18), and execution of composite processing is instructed (S20). Hereinafter, the compound instruction received in S10 is referred to as a “first instruction”, and the compound instruction received in S16 is referred to as a “second instruction”. In the job processing, first, composite processing based on the first command is executed (S30), and when the composite processing is completed, the completion notification is sent to the input person of the first command (S32). Next, the job processing executes composite processing based on the second command (S40), and notifies the person who entered the second command of completion after completion of the composite processing (S42).

図6は、図5のS30およびS40における複合処理の詳細な処理過程を示すフローチャートである。
S12やS18で登録された、実行すべきジョブのうち、実行可能な状態にあるジョブが選択され(S44)、選択されたジョブがジョブ実行装置202にて実行される(S46)。複合処理が未完了であれば(S48のN)、処理はS44に戻り次に実行すべきジョブが選択される。複合処理が完了していれば(S48のY)、図5のS32やS42に示したように複合処理の完了が通知される。
FIG. 6 is a flowchart showing detailed processing steps of the composite processing in S30 and S40 of FIG.
Among the jobs to be executed registered in S12 and S18, jobs that are in an executable state are selected (S44), and the selected job is executed by the job execution apparatus 202 (S46). If the composite process is not completed (N in S48), the process returns to S44 and the job to be executed next is selected. If the combined process is completed (Y in S48), the completion of the combined process is notified as shown in S32 and S42 of FIG.

このような処理方法には、以下の問題点がある。
D1.複合命令を入力してから完了通知を受け取るまでの時間が過度に長くなりやすい。
第2命令の入力者は、第1命令に基づく複合処理を待たなければならない。図5では、第2命令に基づく複合処理(S40)は、第1命令に基づく複合処理(S30)が完了していなければ開始されない。第2命令以後にも連続して複合命令が入力された場合、最後の入力者が完了通知を受け取るまでの時間は非常に長くなる可能性がある。
D2.プログラムの可読性が悪い。
図6のS44に示すように、「実行可能なジョブ(以下、「待機ジョブ」とよぶ)を特定する処理」と「実行対象となるジョブ(以下、「実行ジョブ」とよぶ)を特定する処理」が一体化されている。このため、プログラムコードのうち、「待機ジョブを特定する処理」の該当部分と「実行ジョブを特定する処理」の該当部分を判別しにくくなる。当初においては、両部分がコード上明快であっても、長年の保守作業の結果として、両部分が混在化する可能性がある。
Such a processing method has the following problems.
D1. The time from inputting a compound instruction to receiving a completion notice tends to be excessively long.
The input person of the 2nd command must wait for the compound processing based on the 1st command. In FIG. 5, the composite processing based on the second command (S40) is not started unless the composite processing based on the first command (S30) is completed. When composite commands are continuously input after the second command, the time until the last input person receives a completion notification may be very long.
D2. The readability of the program is bad.
As shown in S44 of FIG. 6, “a process for specifying an executable job (hereinafter referred to as“ standby job ”)” and “a process for specifying a job to be executed (hereinafter referred to as“ execution job ”). Is integrated. For this reason, it becomes difficult to distinguish the corresponding part of the “process for specifying the standby job” and the corresponding part of the “process for specifying the execution job” in the program code. Initially, even if both parts are clear on the code, both parts may be mixed as a result of many years of maintenance work.

図7は、複合処理の一般的な処理過程である第2方法を示すフローチャートである。
図7に示す複合処理方法を「第2方法」とよぶ。ここでも、2つの複合命令が連続して入力されたとして説明する。まず、ジョブ管理装置100は、UI処理として複合命令(第1命令)を受信し(S10)、この複合命令により実行すべきジョブを登録する(S12)。ジョブ管理装置100は、UI処理とは別プロセスとして第1ジョブ処理を起動する。ジョブ管理装置100のUI処理は、第1ジョブ処理に対し、第1命令についての複合処理の実行を指示する(S14)。指示後、UI処理は次の命令を受け付け可能となる。第1ジョブ処理は、第1命令に基づく複合処理を開始する(S30)。
FIG. 7 is a flowchart showing a second method, which is a general process of composite processing.
The composite processing method shown in FIG. 7 is referred to as a “second method”. Here, the description will be made on the assumption that two compound instructions are continuously input. First, the job management apparatus 100 receives a composite command (first command) as UI processing (S10), and registers a job to be executed by this composite command (S12). The job management apparatus 100 starts the first job process as a process separate from the UI process. The UI processing of the job management apparatus 100 instructs the first job processing to execute the composite processing for the first command (S14). After the instruction, the UI process can accept the next instruction. The first job process starts composite processing based on the first command (S30).

UI処理として、新たな複合命令(第2命令)を受信すると(S16)、この複合命令についてのジョブを登録する(S18)。ジョブ管理装置100は、UI処理や第1ジョブ処理とは別プロセスとして第2ジョブ処理を起動する。ジョブ管理装置100のUI処理は、第2ジョブ処理に第2命令についての複合処理の実行を指示する(S20)。第2ジョブ処理は、第2命令に基づく複合処理を開始する(S40)。複合処理(S30、S40)の処理内容は、図6に関連して説明した内容と同様である。   When a new compound instruction (second instruction) is received as UI processing (S16), a job for this compound instruction is registered (S18). The job management apparatus 100 activates the second job process as a separate process from the UI process and the first job process. The UI processing of the job management apparatus 100 instructs the second job processing to execute the composite processing for the second command (S20). The second job process starts a composite process based on the second command (S40). The processing content of the composite processing (S30, S40) is the same as the content described in relation to FIG.

第1方法と異なり、第2方法においては、第1命令に基づく複合処理と第2命令に基づく複合処理を別々のプロセスとして同時並列的に実行している。第1ジョブ処理と第2ジョブ処理は、それぞれの複合処理が完了後にUI処理に完了通知する(S32、S42)。   Unlike the first method, in the second method, the composite processing based on the first instruction and the composite processing based on the second instruction are executed simultaneously and in parallel as separate processes. The first job process and the second job process notify the UI process of completion after completion of the respective composite processes (S32, S42).

第2方法によれば、第2命令の入力者は、第1命令に基づく複合処理の完了を待たなくてもよい。このため、第1方法について指摘した問題点D1をある程度解決できる。ただし、短期間に大量の複合命令が入力されると、大量のジョブ処理が起動されることになり、ジョブ処理起動にともなうオーバーヘッドが大きくなる。また、問題点D2は残存する。   According to the second method, the input person of the second command does not have to wait for completion of the composite processing based on the first command. For this reason, the problem D1 pointed out about the first method can be solved to some extent. However, if a large number of compound instructions are input in a short period of time, a large amount of job processing is started, and the overhead associated with starting the job processing increases. Also, the problem D2 remains.

図8は、本実施例における複合処理の概要図である。
まず、本実施例においては、準備領域260と待機領域270という2つの記録領域を用意する。いずれの領域も、ジョブ、より具体的には、ジョブを一意に識別するためのジョブIDが一時的に登録される記録領域である。待機領域270は、FIFO(First-In First Out)を基本原則とするキュー構造の記録領域として形成される。
FIG. 8 is a schematic diagram of composite processing in this embodiment.
First, in this embodiment, two recording areas, a preparation area 260 and a standby area 270, are prepared. Each area is a recording area in which a job, more specifically, a job ID for uniquely identifying the job is temporarily registered. The standby area 270 is formed as a recording area having a queue structure based on FIFO (First-In First Out) as a basic principle.

また、本実施例においては、主として、準備登録処理(P1)、待機登録処理(P2)、実行制御処理(P3)という3つの処理が同時並行的に実行される。
準備登録処理(P1):バックオフィスから複合命令を受け付ける。複合命令により実行すべきジョブを準備領域260に登録する。このような「実行すべきジョブ」を「準備ジョブ」とよぶ。たとえば、顧客Aについての運用成果計算命令A、顧客Bについての運用成果計算命令B、顧客Cについての運用成果計算命令Cが入力されたとする。準備登録処理では、運用成果計算命令Aに関連する準備ジョブ群280a、運用成果計算命令Bに関連する準備ジョブ群280b、運用成果計算命令Cに関連する準備ジョブ群280cを準備領域260に登録する。準備登録処理はUI処理と同一プロセスにて実行される。
In the present embodiment, mainly three processes of a preparation registration process (P1), a standby registration process (P2), and an execution control process (P3) are executed in parallel.
Preparation registration process (P1): A composite command is received from the back office. A job to be executed by a composite instruction is registered in the preparation area 260. Such a “job to be executed” is called a “preparation job”. For example, it is assumed that an operation result calculation command A for the customer A, an operation result calculation command B for the customer B, and an operation result calculation command C for the customer C are input. In the preparation registration process, a preparation job group 280a related to the operation result calculation instruction A, a preparation job group 280b related to the operation result calculation instruction B, and a preparation job group 280c related to the operation result calculation instruction C are registered in the preparation area 260. . The preparation registration process is executed in the same process as the UI process.

待機登録処理(P2):準備領域260に登録されている準備ジョブのうち、実行可能な状態にあるジョブを特定し、「待機ジョブ」として待機領域270に登録変更する。各準備ジョブ群280についてのジョブ関係情報240を参照することにより「待機ジョブ」が特定される。待機登録処理(P2)では、運用成果計算命令の入力順序に関係なく、待機ジョブを選択する。同図の場合、運用成果計算命令Bに関わるジョブ2と、運用成果計算命令Aに関わるジョブ2、ジョブ4が待機ジョブとして準備領域260から待機領域270に移されている。   Standby registration process (P2): Among the preparation jobs registered in the preparation area 260, a job in an executable state is identified, and the registration is changed to the standby area 270 as a “standby job”. The “standby job” is specified by referring to the job relation information 240 for each preparation job group 280. In the standby registration process (P2), a standby job is selected regardless of the input order of operation result calculation instructions. In the case of the figure, job 2 related to the operation result calculation instruction B, job 2 and job 4 related to the operation result calculation instruction A are moved from the preparation area 260 to the standby area 270 as standby jobs.

実行制御処理(P3):待機領域270に登録されている待機ジョブを順番に抽出し、「実行ジョブ」としていずれかのジョブ実行装置202に実行させる。実行ジョブの実行が完了すると、準備登録処理(P1)や待機登録処理(P2)に完了通知する。   Execution control process (P3): The standby jobs registered in the standby area 270 are extracted in order, and are executed by one of the job execution apparatuses 202 as an “execution job”. When execution of the execution job is completed, completion notification is sent to the preparation registration process (P1) and the standby registration process (P2).

待機登録処理(P2)は、定期的に準備領域260をチェックし、準備ジョブが準備領域260に登録された順序に関係なく、実行可能な状態にある準備ジョブを待機ジョブとして選択する。準備領域260に準備ジョブが存在しない場合や、いずれの準備ジョブも待機ジョブとならない場合には、待機登録処理(P2)はスリープする。
実行制御処理(P3)も、定期的に待機領域270をチェックし、準備ジョブが準備領域260に登録された順序に関係なく、待機ジョブが待機領域270に登録された順序に基づいて、実行ジョブを選択する。待機領域270に待機ジョブが存在しない場合には、実行制御処理(P3)はスリープする。
このように、準備ジョブを登録する処理(P1)、待機ジョブを選択する処理(P2)、実行ジョブを選択する処理(P3)はそれぞれの役割が明確化されており、準備領域260や待機領域270の内容に基づいて緩やかに連携する構成となっている。
The standby registration process (P2) periodically checks the preparation area 260, and selects a preparation job in an executable state as a standby job regardless of the order in which the preparation jobs are registered in the preparation area 260. When there is no preparation job in the preparation area 260, or when no preparation job becomes a standby job, the standby registration process (P2) sleeps.
The execution control process (P3) also periodically checks the standby area 270 and executes the execution job based on the order in which the standby jobs are registered in the standby area 270 regardless of the order in which the preparation jobs are registered in the preparation area 260. Select. When there is no standby job in the standby area 270, the execution control process (P3) sleeps.
As described above, the roles of the process for registering a preparation job (P1), the process for selecting a standby job (P2), and the process for selecting an execution job (P3) are clarified. Based on the contents of the H.270, it is configured to cooperate gently.

このような処理方法によれば、上述した問題点D1およびD2を解決できる。
待機登録処理(P2)は、複合命令の受信順序に関わらず、実行可能なジョブを待機ジョブとして選択する。たとえば、第1命令に関してジョブ3の実行に時間がかかり、その後行ジョブであるジョブ5が実行できない状態にあるときには、待機登録処理(P2)は、第2命令の準備ジョブの中から待機ジョブを選択すればよい。このため、第2命令に基づく複合処理は、第1命令に基づく複合処理の完了を待つ必要がない。
According to such a processing method, the above-described problems D1 and D2 can be solved.
In the standby registration process (P2), an executable job is selected as a standby job regardless of the reception order of the composite instruction. For example, when it takes time to execute job 3 with respect to the first instruction and job 5 that is a subsequent job cannot be executed, the standby registration process (P2) selects a standby job from the preparation jobs for the second instruction. Just choose. For this reason, the composite process based on the second instruction does not need to wait for the completion of the composite process based on the first instruction.

また、複合命令が短期間に集中した場合も、第2方法のように大量の「プロセス」を起動する必要はない。準備登録処理(P2)が大量の複合命令を受信しても、待機登録処理(P2)と実行制御処理(P3)が一つずつ待機ジョブや実行ジョブを選択し、大量の準備ジョブがシーケンシャルに実行される。すなわち、大量の準備ジョブの中から実行可能なジョブを逐次選択する方式であるため、複合命令が入力されるごとにプロセスを起動する必要がない。   Further, even when compound instructions are concentrated in a short time, it is not necessary to start a large number of “processes” unlike the second method. Even if the preparation registration process (P2) receives a large number of compound instructions, the standby registration process (P2) and the execution control process (P3) select the standby job and the execution job one by one, and the large number of preparation jobs are sequential. Executed. In other words, since it is a method of sequentially selecting a job that can be executed from a large number of preparation jobs, it is not necessary to start a process every time a composite instruction is input.

「待機ジョブを特定する処理」と「実行ジョブを特定する処理」を、それぞれ待機登録処理(P2)、実行制御処理(P3)として、プログラム構造上、明確に分離することにより、各処理のコードが混在化しにくくなる。たとえば、待機ジョブを特定するためのアルゴリズムを変更する必要が発生しても、実行制御処理(P3)に対応するコードを変更する必要性が生じにくいため、可読性や保守性に優れた業務情報システムを実現しやすい。   By clearly separating the “process for specifying the standby job” and the “process for specifying the execution job” as the standby registration process (P2) and the execution control process (P3), respectively, in the program structure, the code of each process Are difficult to mix. For example, even if it is necessary to change an algorithm for specifying a standby job, it is difficult to change a code corresponding to the execution control process (P3), so that the business information system has excellent readability and maintainability. It is easy to realize.

図9は、ジョブ管理装置100の機能ブロック図である。
ここに示す各ブロックは、ハードウェア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組み合わせによっていろいろなかたちで実現できることは、当業者には理解されるところである。
FIG. 9 is a functional block diagram of the job management apparatus 100.
Each block shown here can be realized in hardware by an element such as a CPU of a computer or a mechanical device, and in software it is realized by a computer program or the like. Draw functional blocks. Therefore, those skilled in the art will understand that these functional blocks can be realized in various forms by a combination of hardware and software.

ジョブ管理装置100は、UI(ユーザインタフェース)部110、データ処理部120およびデータ保持部130を含む。
UI部110は、バックオフィスからの入力処理やバックオフィスに対する情報表示のようなユーザインタフェース全般に関する処理を担当する。
データ処理部120は、UI部110やデータ保持部130、あるいは、ジョブ実行装置群220、外部記憶装置210等から取得されたデータをもとにして各種のデータ処理を実行する。データ処理部120は、UI部110とデータ保持部130の間のインタフェースの役割も果たす。
データ保持部130は、あらかじめ用意された各種の設定データや、データ処理部120から受け取ったデータを格納する。
The job management apparatus 100 includes a UI (user interface) unit 110, a data processing unit 120, and a data holding unit 130.
The UI unit 110 is responsible for processing related to the entire user interface, such as input processing from the back office and information display for the back office.
The data processing unit 120 executes various data processing based on data acquired from the UI unit 110, the data holding unit 130, the job execution device group 220, the external storage device 210, or the like. The data processing unit 120 also serves as an interface between the UI unit 110 and the data holding unit 130.
The data holding unit 130 stores various setting data prepared in advance and data received from the data processing unit 120.

UI部110:
UI部110は、命令受信部112と状態通知部114を含む。命令受信部112は、バックオフィスから各種命令を受信する。状態通知部114は、ジョブの実行状態をバックオフィスに通知する。実行状態の通知態様については、図11に関連して後に詳述する。
UI unit 110:
The UI unit 110 includes a command receiving unit 112 and a state notification unit 114. The command receiving unit 112 receives various commands from the back office. The status notification unit 114 notifies the back office of the job execution status. The notification state of the execution state will be described later in detail with reference to FIG.

データ保持部130:
データ保持部130は、準備ジョブ保持部132、待機ジョブ保持部134、ジョブ実行状態保持部136を含む。準備ジョブ保持部132は、準備領域260に対応する記録領域である。待機ジョブ保持部134は、待機領域270に対応する記録領域である。ジョブ実行状態保持部136は、各ジョブの実行状態を示す「実行状態情報」を保持する。
Data holding unit 130:
The data holding unit 130 includes a preparation job holding unit 132, a standby job holding unit 134, and a job execution state holding unit 136. The preparation job holding unit 132 is a recording area corresponding to the preparation area 260. The standby job holding unit 134 is a recording area corresponding to the standby area 270. The job execution state holding unit 136 holds “execution state information” indicating the execution state of each job.

データ処理部120:
データ処理部120は、準備登録部122、待機登録部124および実行制御部126を含む。準備登録部122は、UI部110と同一プロセスにて、準備登録処理(P1)を実行する。待機登録部124は、待機登録処理(P2)を実行する。実行制御部126は、実行制御処理(P3)を実行する。
Data processing unit 120:
The data processing unit 120 includes a preparation registration unit 122, a standby registration unit 124, and an execution control unit 126. The preparation registration unit 122 executes preparation registration processing (P1) in the same process as the UI unit 110. The standby registration unit 124 executes standby registration processing (P2). The execution control unit 126 executes an execution control process (P3).

図10は、複合処理の本実施例における処理過程を示すフローチャートである。
ここでも、2つの複合命令が連続して入力されたとして説明する。命令受信部112は複合命令(第1命令)を受信し(S10)、準備登録部122は第1命令により実行すべきジョブを準備ジョブとして準備ジョブ保持部132に登録する(S12)。命令受信部112は、更に複合命令(第2命令)を受信し(S16)、準備登録部122は第2命令により実行すべきジョブも準備ジョブとして準備ジョブ保持部132に登録する(S18)。
FIG. 10 is a flowchart showing the processing steps in this embodiment of the composite processing.
Here, the description will be made on the assumption that two compound instructions are continuously input. The command receiving unit 112 receives the composite command (first command) (S10), and the preparation registration unit 122 registers the job to be executed by the first command in the preparation job holding unit 132 as a preparation job (S12). The command receiving unit 112 further receives a composite command (second command) (S16), and the preparation registration unit 122 registers a job to be executed by the second command in the preparation job holding unit 132 as a preparation job (S18).

命令受信部112や準備登録部122とは別プロセスのループ処理として、待機登録部124は、S50からS54に示す待機登録処理(P2)を実行する。まず、待機登録部124は、準備ジョブ保持部132に準備ジョブがあるかを判定し(S50)、準備ジョブが登録されていなければ(S50のN)、所定時間、または、新たに準備ジョブが登録されるまでスリープする。準備ジョブが登録されていれば(S50のY)、待機登録部124は、ジョブ関係情報を参照し、実行可能な準備ジョブがあるかを判定する(S52)。実行可能な準備ジョブがあれば(S52のY)、待機ジョブとして、準備ジョブ保持部132から待機ジョブ保持部134に登録変更させる(S54)。実行可能な準備ジョブがなければ(S52のN)、待機登録部124は、所定時間、または、新たに実行可能な準備ジョブが検出されるまでスリープする。   As a loop process separate from the instruction receiving unit 112 and the preparation registration unit 122, the standby registration unit 124 executes a standby registration process (P2) shown in S50 to S54. First, the standby registration unit 124 determines whether there is a preparation job in the preparation job holding unit 132 (S50). If no preparation job is registered (N in S50), a standby job is newly created for a predetermined period of time. Sleep until registered. If the preparation job is registered (Y in S50), the standby registration unit 124 refers to the job relation information and determines whether there is an executable preparation job (S52). If there is an executable preparation job (Y in S52), the preparation job holding unit 132 changes the registration to the standby job holding unit 134 as a standby job (S54). If there is no executable preparation job (N in S52), the standby registration unit 124 sleeps for a predetermined time or until a newly executable preparation job is detected.

準備登録部122や待機登録部124とは別プロセスのループ処理として、実行制御部126は、S56からS64に示す実行制御処理(P3)を実行する。まず、実行制御部126は、待機ジョブ保持部134に待機ジョブがあるかを判定し(S56)、待機ジョブが登録されていなければ(S56のN)、所定時間、または、新たに待機ジョブが登録されるまでスリープする。待機ジョブが登録されていれば(S56のY)、実行制御部126は、FIFO方式にて待機ジョブを1つ取り出し、ジョブ実行装置202に実行を指示する(S58)。また、取り出した待機ジョブを待機ジョブ保持部134から登録抹消する(S60)。このとき、ジョブ実行状態保持部136の実行状態情報を更新する。実行状態情報の更新により、待機登録部124は、新たに実行可能となる準備ジョブが検出するかもしれない。   As a loop process that is separate from the preparation registration unit 122 and the standby registration unit 124, the execution control unit 126 executes an execution control process (P3) shown in S56 to S64. First, the execution control unit 126 determines whether there is a standby job in the standby job holding unit 134 (S56). If no standby job is registered (N in S56), a new standby job is generated for a predetermined time. Sleep until registered. If a standby job is registered (Y in S56), the execution control unit 126 takes out one standby job by the FIFO method and instructs the job execution apparatus 202 to execute it (S58). In addition, the registered standby job is unregistered from the standby job holding unit 134 (S60). At this time, the execution state information of the job execution state holding unit 136 is updated. By updating the execution state information, the standby registration unit 124 may detect a preparation job that can be newly executed.

ジョブの実行により、いずれかの複合処理が完了したときには(S62のY)、その複合処理を依頼したユーザに複合処理の完了を通知する(S64)。複合処理が完了していないときには(S62のN)、S64はスキップされ、処理はS56に戻る。
このように3つの処理は、互いに非同期的に実行されつつも、準備領域260や待機領域270を介して連携動作している。
When any composite processing is completed by executing the job (Y in S62), the user who has requested the composite processing is notified of the completion of the composite processing (S64). When the combined process is not completed (N in S62), S64 is skipped and the process returns to S56.
As described above, the three processes are executed in cooperation with each other via the preparation area 260 and the standby area 270 while being asynchronously executed.

図11は、状態通知画面290の画面図である。
状態通知部114は、複合命令の入力者が使用する端末に対して、状態通知画面290を画面表示させる。たとえば、バックオフィスのあるスタッフAが、顧客Bのための運用成果計算命令をジョブ管理装置100に入力したとき、状態通知部114は運用成果計算処理を構成するジョブ1〜5の依存関係を画面表示させる。そして、状態通知部114は、準備ジョブ保持部132と待機ジョブ保持部134の登録内容や、ジョブ実行状態保持部136の実行状態情報を参照しながら、適宜、状態通知画面290の表示内容を更新する。同図の場合、ジョブ1およびジョブ2は完了、ジョブ3は待機ジョブ、ジョブ4は実行ジョブ、ジョブ5は準備ジョブの状態にある。
状態通知画面290により、複合命令の入力者は、複合命令に関わるジョブの依存関係やその実行状況を画面上にて確認できる。
FIG. 11 is a screen diagram of the status notification screen 290.
The status notification unit 114 causes the status notification screen 290 to be displayed on the screen used by the terminal used by the person who inputs the composite command. For example, when the staff A with the back office inputs an operation result calculation command for the customer B to the job management apparatus 100, the status notification unit 114 displays the dependency relationship of the jobs 1 to 5 constituting the operation result calculation process. Display. Then, the status notification unit 114 appropriately updates the display content of the status notification screen 290 while referring to the registration contents of the preparation job holding unit 132 and the standby job holding unit 134 and the execution status information of the job execution status holding unit 136. To do. In the case of the figure, job 1 and job 2 are completed, job 3 is a standby job, job 4 is an execution job, and job 5 is a preparation job.
Through the status notification screen 290, the input person of the composite command can check the job dependency related to the composite command and its execution status on the screen.

以上、実施例に基づいてジョブ管理装置100を説明した。
ジョブ管理装置100によれば、待機登録処理(P2)と実行制御処理(P3)をプログラム構造上、明確に分離できる。このため、短期間に多くの複合命令が入力されることにより一時的に大量のジョブを実行する必要が生じたときにも、これらのジョブをシーケンシャルに実行させやすい。また、プログラムの可読性を高める上でも有効である。数年、あるいは、数十年にわたって運用される業務情報システムにとって、プログラムの可読性は特に重要である。
The job management apparatus 100 has been described above based on the embodiments.
According to the job management apparatus 100, the standby registration process (P2) and the execution control process (P3) can be clearly separated in the program structure. Therefore, even when a large number of jobs need to be temporarily executed due to a large number of compound instructions being input in a short period of time, it is easy to execute these jobs sequentially. It is also effective for improving the readability of the program. Program readability is particularly important for business information systems that have been operating for years or decades.

待機登録処理と実行制御処理は同時並行的に実行されるため、ある複合命令を実行する上で、先行する複合命令の完了を待つ必要がない。また、短期間に大量の複合命令が入力された場合でも、第2方法のように大量のプロセスを起動する必要がないため、オーバーヘッドを抑制できる。待機登録処理と実行制御処理は別々のCPU上において実行されてもよい。
更に、ジョブの実行状態は、状態通知画面290において、適宜表示される。複合処理の依頼後も、ユーザは、複合処理の進捗状況を適宜確認できるため、自己の作業をスケジューリングしやすくなる。また、待機領域270をキュー構造として形成することにより、実行制御処理を単純化できる。
Since the standby registration process and the execution control process are executed simultaneously in parallel, there is no need to wait for the completion of the preceding compound instruction when executing a certain compound instruction. Moreover, even when a large number of compound instructions are input in a short period of time, it is not necessary to start a large number of processes as in the second method, so that overhead can be suppressed. The standby registration process and the execution control process may be executed on different CPUs.
Further, the job execution status is appropriately displayed on the status notification screen 290. Even after requesting the composite process, the user can appropriately check the progress of the composite process, so that his / her work can be easily scheduled. In addition, the execution control process can be simplified by forming the standby area 270 as a queue structure.

以上、本発明について実施例をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described based on the embodiments. The embodiments are exemplifications, 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 within the scope of the present invention. .

資産管理業務の概要図である。It is a schematic diagram of asset management business. 資産運用システムのハードウェア構成図である。It is a hardware block diagram of an asset management system. 運用成果計算命令におけるジョブの依存関係を示す図である。It is a figure which shows the dependence relationship of the job in an operation result calculation instruction. 図3に示したジョブの依存関係を設定するジョブ関係情報のデータ構造図である。FIG. 4 is a data structure diagram of job relationship information for setting job dependency relationships shown in FIG. 3. 複合処理の一般的な処理過程である第1方法を示すフローチャートである。It is a flowchart which shows the 1st method which is a general process of a composite process. 図5のS30およびS40における複合処理の詳細な処理過程を示すフローチャートである。It is a flowchart which shows the detailed process process of the composite process in S30 and S40 of FIG. 複合処理の一般的な処理過程である第2方法を示すフローチャートである。It is a flowchart which shows the 2nd method which is a general process of a composite process. 本実施例における複合処理の概要図である。It is a schematic diagram of the composite process in a present Example. ジョブ管理装置の機能ブロック図である。It is a functional block diagram of a job management apparatus. 複合処理の本実施例における処理過程を示すフローチャートである。It is a flowchart which shows the process in the present Example of a composite process. 状態通知画面の画面図である。It is a screen figure of a status notification screen.

符号の説明Explanation of symbols

100 ジョブ管理装置、 110 UI部、 112 命令受信部、 114 状態通知部、 120 データ処理部、 122 準備登録部、 124 待機登録部、 126 実行制御部、 130 データ保持部、 132 準備ジョブ保持部、 134 待機ジョブ保持部、 136 ジョブ実行状態保持部、 200 資産運用システム、 202 ジョブ実行装置、 210 外部記憶装置、 220 ジョブ実行装置群、 240 ジョブ関係情報、 254 対象ジョブ欄、 256 先行ジョブ欄、 260 準備領域、 270 待機領域、 280 準備ジョブ群、 290 状態通知画面。   DESCRIPTION OF SYMBOLS 100 Job management apparatus, 110 UI part, 112 Command receiving part, 114 Status notification part, 120 Data processing part, 122 Preparation registration part, 124 Standby registration part, 126 Execution control part, 130 Data holding part, 132 Preparation job holding part, 134 standby job holding unit, 136 job execution state holding unit, 200 asset management system, 202 job execution device, 210 external storage device, 220 job execution device group, 240 job related information, 254 target job column, 256 preceding job column, 260 Preparation area, 270 Standby area, 280 Preparation job group, 290 Status notification screen.

Claims (8)

前段にあたる1以上のジョブが実行されたことを条件として後段にあたる1以上のジョブが実行されるように依存関係が定められた複数のジョブにより実現される命令を複合命令として、ユーザによる複合命令の入力を検出する複合命令取得部と、
前記複合命令が入力されたとき前記複数のジョブを所定の準備領域に登録する準備登録部と、
前記複数のジョブの依存関係を定めるジョブ関係情報を参照して前記複数のジョブのうち実行可能な状態にあるジョブを特定し、前記特定したジョブを前記準備領域から所定の待機領域に登録変更する待機登録部と、
前記待機領域に登録されているジョブから実行対象となるジョブを選択し、前記選択したジョブを実行させる実行制御部と、を備え、
前記準備登録部は、ジョブの実行後、新たに実行可能な状態となったジョブを前記準備領域から前記待機領域に登録変更することを特徴とするジョブ管理装置。
An instruction realized by a plurality of jobs whose dependencies are determined so that one or more jobs corresponding to the subsequent stage are executed on condition that one or more jobs corresponding to the preceding stage are executed is defined as a compound instruction. A compound instruction acquisition unit for detecting an input;
A preparation registration unit that registers the plurality of jobs in a predetermined preparation area when the composite instruction is input;
The job relation information that defines the dependency relation of the plurality of jobs is referred to, a job in an executable state is identified from among the plurality of jobs, and the specified job is registered and changed from the preparation area to a predetermined standby area. A standby registration unit;
An execution control unit that selects a job to be executed from jobs registered in the standby area, and executes the selected job;
The preparation registration unit changes the registration of a job that is newly executable after the execution of the job from the preparation area to the standby area.
前記待機登録部が実行可能な状態にあるジョブを特定する処理と、前記実行制御部が実行対象となるジョブを選択する処理は、時間的に並行して実行されることを特徴とする請求項1に記載のジョブ管理装置。   The process for specifying a job in a state where the standby registration unit can be executed and the process for selecting a job to be executed by the execution control unit are executed in parallel in time. The job management apparatus according to 1. 第1のユーザにより第1の複合命令が入力された後、第2のユーザにより第2の複合命令が入力された状況において、
前記待機登録部は、前記第1の複合命令に基づくジョブに優先して前記第2の複合命令に基づくジョブを前記準備領域から前記待機領域に登録変更可能であることを特徴とする請求項1または2に記載のジョブ管理装置。
In a situation where the second compound instruction is input by the second user after the first compound instruction is input by the first user,
The standby registration unit can change the registration of a job based on the second composite instruction from the preparation area to the standby area in preference to a job based on the first composite instruction. Or the job management apparatus of 2.
前記実行制御部は、前記第1の複合命令に基づくジョブに優先して前記第2の複合命令に基づくジョブを実行可能であることを特徴とする請求項3に記載のジョブ管理装置。   The job management apparatus according to claim 3, wherein the execution control unit is capable of executing a job based on the second composite instruction in preference to a job based on the first composite instruction. 前記待機登録部は、前記ジョブ関係情報を参照して、前段にあたるジョブが存在しないジョブ、または、前段にあたるジョブが実行済みのジョブを実行可能な状態にあると判定することを特徴とする請求項1から4のいずれかに記載のジョブ管理装置。   The standby registration unit refers to the job-related information, and determines that a job for which a job corresponding to the previous stage does not exist or a job for which a job corresponding to the previous stage has been executed is in an executable state. The job management apparatus according to any one of 1 to 4. 前記複合命令に基づくジョブの実行状態を画面表示させる状態通知部、を更に備えることを特徴とする請求項1から5のいずれかに記載のジョブ管理装置。   The job management apparatus according to claim 1, further comprising a state notification unit that displays a screen on which a job execution state based on the composite instruction is displayed. 前記待機領域は、登録の古い順に実行対象となるジョブが選択されるキュー構造として構成されることを特徴とする請求項1から6のいずれかに記載のジョブ管理装置。   7. The job management apparatus according to claim 1, wherein the standby area is configured as a queue structure in which jobs to be executed are selected in the order of registration. 前段にあたる1以上のジョブが実行されたことを条件として後段にあたる1以上のジョブが実行されるように依存関係が定められた複数のジョブにより実現される命令を複合命令として、ユーザによる複合命令の入力を検出する処理と、
前記複合命令が入力されたとき前記複数のジョブを所定の準備領域に登録する処理と、
前記複数のジョブの依存関係を定めるジョブ関係情報を参照して前記複数のジョブのうち実行可能な状態にあるジョブを特定し、前記特定したジョブを前記準備領域から所定の待機領域に登録変更する処理と、
前記待機領域に登録されているジョブから実行対象となるジョブを選択し、前記選択したジョブを実行させる処理と、
をコンピュータに実行させ、
ジョブの実行後、新たに実行可能な状態となったジョブを前記準備領域から前記待機領域に登録変更することを特徴とするジョブ管理プログラム。
An instruction realized by a plurality of jobs whose dependencies are determined so that one or more jobs corresponding to the subsequent stage are executed on condition that one or more jobs corresponding to the preceding stage are executed is defined as a compound instruction. Processing to detect input;
Processing for registering the plurality of jobs in a predetermined preparation area when the composite command is input;
The job relation information that defines the dependency relation of the plurality of jobs is referred to, a job in an executable state is identified from among the plurality of jobs, and the specified job is registered and changed from the preparation area to a predetermined standby area. Processing,
A process of selecting a job to be executed from jobs registered in the standby area and executing the selected job;
To the computer,
A job management program that changes a registration of a job that is newly executable after execution of the job from the preparation area to the standby area.
JP2008131324A 2008-05-19 2008-05-19 Job management device Active JP5133775B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008131324A JP5133775B2 (en) 2008-05-19 2008-05-19 Job management device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008131324A JP5133775B2 (en) 2008-05-19 2008-05-19 Job management device

Publications (2)

Publication Number Publication Date
JP2009282577A true JP2009282577A (en) 2009-12-03
JP5133775B2 JP5133775B2 (en) 2013-01-30

Family

ID=41453010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008131324A Active JP5133775B2 (en) 2008-05-19 2008-05-19 Job management device

Country Status (1)

Country Link
JP (1) JP5133775B2 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017524183A (en) * 2014-06-30 2017-08-24 アマゾン・テクノロジーズ・インコーポレーテッド Machine learning service
US10169715B2 (en) 2014-06-30 2019-01-01 Amazon Technologies, Inc. Feature processing tradeoff management
US10257275B1 (en) 2015-10-26 2019-04-09 Amazon Technologies, Inc. Tuning software execution environments using Bayesian models
US10268749B1 (en) 2016-01-07 2019-04-23 Amazon Technologies, Inc. Clustering sparse high dimensional data using sketches
US10318882B2 (en) 2014-09-11 2019-06-11 Amazon Technologies, Inc. Optimized training of linear machine learning models
US10339465B2 (en) 2014-06-30 2019-07-02 Amazon Technologies, Inc. Optimized decision tree based models
US10346262B2 (en) 2015-09-18 2019-07-09 Mitsubishi Electric Corporation Job management apparatus, job management method and computer readable medium to generate and execute a retry job when an error occurs during a job step
US10354201B1 (en) 2016-01-07 2019-07-16 Amazon Technologies, Inc. Scalable clustering for mixed machine learning data
US10452992B2 (en) 2014-06-30 2019-10-22 Amazon Technologies, Inc. Interactive interfaces for machine learning model evaluations
US10540606B2 (en) 2014-06-30 2020-01-21 Amazon Technologies, Inc. Consistent filtering of machine learning data
US10713589B1 (en) 2016-03-03 2020-07-14 Amazon Technologies, Inc. Consistent sort-based record-level shuffling of machine learning data
US10963810B2 (en) 2014-06-30 2021-03-30 Amazon Technologies, Inc. Efficient duplicate detection for machine learning data sets
US11100420B2 (en) 2014-06-30 2021-08-24 Amazon Technologies, Inc. Input processing for machine learning
US11295229B1 (en) 2016-04-19 2022-04-05 Amazon Technologies, Inc. Scalable generation of multidimensional features for machine learning

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06149597A (en) * 1992-11-02 1994-05-27 Nec Corp Job schedule simulation device
JP2001282551A (en) * 2000-03-29 2001-10-12 Hitachi Ltd Job processor and job processing method
JP2007299308A (en) * 2006-05-02 2007-11-15 Ricoh Co Ltd Job processing system, job processing method, program, and recording medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06149597A (en) * 1992-11-02 1994-05-27 Nec Corp Job schedule simulation device
JP2001282551A (en) * 2000-03-29 2001-10-12 Hitachi Ltd Job processor and job processing method
JP2007299308A (en) * 2006-05-02 2007-11-15 Ricoh Co Ltd Job processing system, job processing method, program, and recording medium

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11100420B2 (en) 2014-06-30 2021-08-24 Amazon Technologies, Inc. Input processing for machine learning
US10963810B2 (en) 2014-06-30 2021-03-30 Amazon Technologies, Inc. Efficient duplicate detection for machine learning data sets
US11544623B2 (en) 2014-06-30 2023-01-03 Amazon Technologies, Inc. Consistent filtering of machine learning data
US11379755B2 (en) 2014-06-30 2022-07-05 Amazon Technologies, Inc. Feature processing tradeoff management
US10452992B2 (en) 2014-06-30 2019-10-22 Amazon Technologies, Inc. Interactive interfaces for machine learning model evaluations
US10339465B2 (en) 2014-06-30 2019-07-02 Amazon Technologies, Inc. Optimized decision tree based models
US10169715B2 (en) 2014-06-30 2019-01-01 Amazon Technologies, Inc. Feature processing tradeoff management
JP2017524183A (en) * 2014-06-30 2017-08-24 アマゾン・テクノロジーズ・インコーポレーテッド Machine learning service
US10540606B2 (en) 2014-06-30 2020-01-21 Amazon Technologies, Inc. Consistent filtering of machine learning data
US10318882B2 (en) 2014-09-11 2019-06-11 Amazon Technologies, Inc. Optimized training of linear machine learning models
US10346262B2 (en) 2015-09-18 2019-07-09 Mitsubishi Electric Corporation Job management apparatus, job management method and computer readable medium to generate and execute a retry job when an error occurs during a job step
US10257275B1 (en) 2015-10-26 2019-04-09 Amazon Technologies, Inc. Tuning software execution environments using Bayesian models
US10354201B1 (en) 2016-01-07 2019-07-16 Amazon Technologies, Inc. Scalable clustering for mixed machine learning data
US10268749B1 (en) 2016-01-07 2019-04-23 Amazon Technologies, Inc. Clustering sparse high dimensional data using sketches
US10713589B1 (en) 2016-03-03 2020-07-14 Amazon Technologies, Inc. Consistent sort-based record-level shuffling of machine learning data
US11295229B1 (en) 2016-04-19 2022-04-05 Amazon Technologies, Inc. Scalable generation of multidimensional features for machine learning

Also Published As

Publication number Publication date
JP5133775B2 (en) 2013-01-30

Similar Documents

Publication Publication Date Title
JP5133775B2 (en) Job management device
JP6025154B2 (en) System, method and program for managing a project
US20120311586A1 (en) Apparatus and method for predicting a processing time of a computer
JP5257455B2 (en) Data update synchronization method and system using two-phase commit
US20130047135A1 (en) Enterprise computing platform
US8832701B2 (en) Management apparatus, management system, and recording medium for recording management program
US9183038B2 (en) Job management system that determines if master data has been updated, then re-executes a sub-job based on available executing computers and data sharing status
JP2006309586A (en) Program, method and device for batch scheduling
US20140257785A1 (en) Hana based multiple scenario simulation enabling automated decision making for complex business processes
JP5196991B2 (en) Manufacturing process management apparatus, manufacturing process management method, and computer program
US9934307B2 (en) Apparatus and method for managing job flows in an information processing system
JP2009230584A (en) Job-processing system and job management method
JP4733458B2 (en) Search system and search method
JP2007316851A (en) Work management method and work management system
JP2001209738A (en) Processing time display method and processing period setting method in workflow system
JP2009043188A (en) Operation management support system, and program
JP2008292328A (en) Analyzer management system
US10997564B2 (en) Electronic change planning manager
JP6535294B2 (en) Job schedule change system and job schedule change method
JP2001109712A (en) Data entry system
JP2005190212A (en) Database system, data processing method and program
US20060031498A1 (en) Service-process providing system and service-process providing method
JP2005029368A (en) Stock management system and stock management method
JP2016136312A (en) Shipment management system and program
JP2004070516A (en) System for controlling work flow

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120807

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: 20121106

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: 20121108

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151116

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5133775

Country of ref document: JP

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250