JP2011076371A - ジョブ処理システム及びその方法、そのプログラム - Google Patents

ジョブ処理システム及びその方法、そのプログラム Download PDF

Info

Publication number
JP2011076371A
JP2011076371A JP2009227217A JP2009227217A JP2011076371A JP 2011076371 A JP2011076371 A JP 2011076371A JP 2009227217 A JP2009227217 A JP 2009227217A JP 2009227217 A JP2009227217 A JP 2009227217A JP 2011076371 A JP2011076371 A JP 2011076371A
Authority
JP
Japan
Prior art keywords
job
server
processing
attribute information
file
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
JP2009227217A
Other languages
English (en)
Other versions
JP5512215B2 (ja
Inventor
Mineyuki Tamura
峰幸 田村
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 Information Systems Ltd
Original Assignee
Hitachi Information Systems 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 Information Systems Ltd filed Critical Hitachi Information Systems Ltd
Priority to JP2009227217A priority Critical patent/JP5512215B2/ja
Priority to US12/858,738 priority patent/US8639792B2/en
Publication of JP2011076371A publication Critical patent/JP2011076371A/ja
Application granted granted Critical
Publication of JP5512215B2 publication Critical patent/JP5512215B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/9994Distributed or remote access

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】
複数のサーバの主導によってジョブの処理を行い、これら複数のサーバの処理に偏りがあってもジョブ処理を円滑に進める。
【解決手段】
ジョブ処理システムは、要求に応じてジョブを生成するジョブ生成プログラムを有する第1のサーバと、第1のサーバによって生成されたジョブに関する属性情報及びジョブの処理に使用されるファイルを保管する記憶装置と、ジョブに関する管理情報をジョブ毎に固有のIDを付して管理する管理テーブルと、管理テーブルへの管理情報の登録及び参照、及び記憶装置へのファイル及び属性情報の登録を行うキュー制御プログラムを有する第2のサーバと、
第2のサーバから取得したジョブを処理する1又は複数のジョブ処理プログラムと、第2のサーバからのジョブの取得及び処理後のジョブに関する応答を行うバッチ制御プログラム制御と、取得したジョブの属性情報及びファイルを保管する記憶装置を有する第3のサーバを有する。
【選択図】図1

Description

本発明は、ジョブ処理システム及びその方法、そのプログラムに係り、特に、ジョブの処理を複数のサーバに分散して処理させる、ジョブ処理の管理に関するものである。
ジョブの処理を複数のサーバに分散して処理させることにより、負荷の分散及び処理の効率化が図られている。
例えば、特許文献1には、ジョブ保存装置に、クライアントコンピュータから送られたジョブ要求を一次保存すると共に、複数のサーバコンピュータに対して、ジョブ到着通知を同報し、複数のサーバコンピュータは、ジョブ到着通知を受信すると、各々の負荷に対応する待機時間を算出して、各々の待機時間の間待機した後、ジョブ保存装置をアクセスして、最先にアクセスしたサーバコンピュータがジョブ要求を取得してそのジョブを処理することにより、情報処理にかかる負荷を複数のコンピュータに偏りなく分散させる、負荷分散式情報処理システムが開示されている。
また、特許文献2には、大規模ジョブを複数の小ジョブに分割し、その分割された複数の小ジョブのうち未処理のジョブを、複数の各端末のうちジョブ取得要求を行った端末に対して配信して分散実行させることにより、大規模ジョブの処理を少ない計算負荷で実行するようにした、分散処理システムが開示されている。
特開2001−160038公報 特開2000−242614公報
然るに、特許文献1の技術は、複数のコンピュータに負荷は分散されるものの、ジョブ保存装置は、ジョブ到着通知を同報すべき、全てのサーバコンピュータを管理していなければならず、また各サーバコンピュータは各々の負荷に対応する待機時間を一々算出して、その時間待機しなければならない。
また、特許文献2の技術は、複数の端末から要求があったときのみ分割ジョブを配信するので端末主導でジョブの処理が行われると言えるが、複数の端末で処理されるジョブの管理やジョブ属性を考慮したジョブの配信については言及されていない。
いずれの特許文献も、ジョブを処理する複数のコンピュータ或いは端末の処理能力が均一であることを前提としているようであり、またこれらの装置の1つがダウンしたり、或いは複数のコンピュータ間にジョブ配信の偏りがある場合のジョブの管理については記載されていない。
本発明の目的は、複数のサーバの主導によってジョブの処理を行い、これら複数のサーバの処理に偏りがあってもジョブ処理を円滑に進めることができるジョブ処理システム及びその方法、そのプログラムを提供することにある。
本発明に係るジョブ処理システムは、好ましくは、複数のサーバを用いてジョブを処理するジョブ処理システムであって、
要求に応じてジョブを生成する第1のプログラム制御手段を有する第1のサーバと、
該第1のサーバによって生成されたジョブの管理を行う第2のサーバであって、該第2サーバは、該ジョブに関する属性情報及び該ジョブの処理に使用されるファイルを保管する記憶装置と、該ジョブに関する管理情報をジョブ毎に固有のIDを付して管理する管理テーブルと、該管理テーブルへの管理情報の登録及び参照、及び該記憶装置へのファイル及び属性情報の登録を行う第2のプログラム制御手段とを有し、
該第2のサーバで管理されるジョブを逐次取得して処理する、複数の第3のサーバであって、該第3のサーバはそれぞれ、該第2のサーバから取得したジョブを処理する1又は複数のジョブ処理プログラムと、該第2のサーバからのジョブの取得及び処理後の該ジョブに関する応答を行う第3のプログラム制御手段と、取得したジョブの属性情報及びファイルを保管する記憶装置を有し、
複数の該第3のサーバは逐次、該第2のサーバに対してジョブ処理の問合せをし、
該第2のサーバは、第3のサーバからの問合せがある度に該管理テーブルを参照して、問合せ先の該第3のサーバによって処理できるジョブが有るかを確認して、該当するジョブが有る場合には該ジョブに関する属性情報及びファイルを、該問合せ先の該第3のサーバへ送信し、
該ジョブに関する属性情報及びファイルを取得した該第3のサーバは、関連する該ジョブ処理プログラムを実行して、該属性情報及び該ファイルを参照してジョブを処理し、第3のプログラム制御手段は、処理結果となる該ファイル及び該属性情報を該第2のサーバへ送信し、
該第2のサーバの第2のプログラム制御手段は、該第3のサーバから取得した該属性情報及び該ファイルを該記憶装置に保管するとともに、該管理テーブルを更新すること、
を特徴とするジョブ処理システムとして構成される。
好ましい例によれば、複数の前記第3のサーバは、複数の異なる種類のジョブを処理する前記ジョブ処理プログラムを有し、かつ複数の種類毎に複数のクラスに分けられ、
該ジョブ毎の前記属性情報は、規定された該クラス、及び同じクラスにおけるジョブ処理の優先度を示す情報を保持し、
前記管理テーブルは、該ジョブ毎に規定された該クラス、及び同じクラスにおけるジョブ処理の優先度を示す情報を登録し、
前記第2のプログラム制御手段は、該管理テーブルを参照して、クラス分けされたジョブを処理する前記第3のサーバからの問合せに対するジョブが有り、かつ同じクラス内で優先度が規定されている場合には、優先度の高い順に、問合せ先の該第3のサーバにジョブを割り当てる。
また、好ましい例によれば、前記管理テーブルは、ジョブID、ジョブを種別するジョブクラス、該ジョブクラス内の優先度、該ジョブの処理に使用されるプログラム情報、及び該第3のサーバで処理されるジョブの処理状況を示すステータスに関する情報を保管する。
本発明に係るジョブ処理方法は、好ましくは、複数のサーバを用いてジョブを処理するジョブ処理方法であって、
第1のサーバは、ネットワークを介して受信した処理要求に応じてジョブを生成し、
該第2サーバは、該第1のサーバによって生成されたジョブに関する属性情報及び該ジョブの処理に使用されるファイルを記憶装置に保管し、該ジョブに関する管理情報をジョブ毎に固有のIDを付して管理テーブルで管理し、
該ジョブを処理する複数の第3のサーバは逐次、該第2のサーバに対してジョブ処理の問合せをし、
該第2のサーバは、第3のサーバからの問合せがある度に該管理テーブルを参照して、問合せ先の該第3のサーバによって処理できるジョブが有るかを確認して、該当するジョブが有る場合には該ジョブに関する属性情報及びファイルを、該問合せ先の該第3のサーバへ送信し、
該ジョブに関する属性情報及びファイルを取得した該第3のサーバは、関連する該ジョブ処理プログラムを実行して、該属性情報及び該ファイルを参照してジョブを処理し、処理結果となる該ファイル及び該属性情報を該第2のサーバへ送信し、
該第2のサーバは、該第3のサーバから取得した該属性情報及び該ファイルを該記憶装置に保管するとともに、該管理テーブルを更新することを特徴とするジョブ処理方法として構成される。
本発明に係るジョブ処理システムで使用されるプログラムは、好ましくは、複数のサーバを用いて処理されるジョブ処理の管理のために使用されるプログラムの集合体であって、
第1のサーバにおいて、ネットワークを介して受信した処理要求に応じてジョブを生成する第1のプログラムと、
該第2サーバにおいて、該第1のサーバによって生成されたジョブに関する属性情報及び該ジョブの処理に使用されるファイルを記憶装置に保管し、該ジョブに関する管理情報をジョブ毎に固有のIDを付して管理テーブルで管理すると共に、
第3のサーバからの問合せがある度に該管理テーブルを参照して、問合せ先の該第3のサーバによって処理できるジョブが有るかを確認して、該当するジョブが有る場合には該ジョブに関する属性情報及びファイルを、該問合せ先の該第3のサーバへ送信し、
該第3のサーバから取得した該属性情報及び該ファイルを該記憶装置に保管するとともに、該管理テーブルを更新する機能を有する第2のプログラムと、
該ジョブを処理する複数の第3のサーバにおいて、該第2のサーバに対してジョブ処理の問合せをして、該第2のサーバから取得した該ジョブに関する属性情報及びファイルを保管して管理し、関連する該ジョブ処理プログラムを実行した結果、該属性情報及び該ファイルを更新して、処理結果となる該ファイル及び該属性情報を該第2のサーバへ送信する第3のプログラムと、を有することを特徴とするプログラムの集合体として構成される。
本発明によれば、複数のサーバが自発的にジョブを取得して処理することができ、これら複数のサーバに処理の偏りがあってもジョブ処理を円滑に進めることができる。
また、本発明によれば、複数のバッチサーバがそれぞれのランク分けされたジョブを担当して処理することで、システム全体の処理能力を増強することができる。
また、複数のバッチサーバに同じランクを割り当てることにより、仮にその内の1台がダウンした場合でも、同じランク内にある他のバッチサーバが同種のジョブを引き受けて処理するので、ジョブ処理システム全体の停止を防止でき、また同じランク内の他のバッチサーバがジョブ処理を終わる度にキューサーバから同種のジョブを取得して処理するので、ジョブ処理能力の大幅な減退となることが防止できる。
また、従来のような、中央集権型のジョブ処理システムでは処理サーバの能力を一定とするか、処理能力を管理する必要があるが、本実施例によれば、処理能力の異なる複数のバッチサーバを使用することができる。
一実施例によるジョブ処理システムの全体構成を示す図。 一実施例におけるキューテーブルの構成例を示す図。 一実施例におけるジョブ属性の例を示す図。 一実施例のジョブ処理システムにおけるジョブ処理のフローチャートを示す図。
図1は、ジョブ処理システムの全体構成例を示す。
このジョブ処理システムは、公衆回線又は専用線等のネットワークを介して接続される、ジョブを生成する機能と有するEDI(Electronic Data Interchange)サーバ11、生成された複数のジョブを一括保管して管理するキューサーバ10、キューサーバ10からジョブを順次取得して処理する複数のバッチサーバ121〜12n(総称して12と示す)、バッチサーバ12によるジョブの処理状況を監視し、またバッチサーバの設定を変更することができる管理端末13を有して構成される。
EDIサーバ11は、ネットワークを介して企業間で情報を送受信するコンピュータであり、例えば、受発注や見積もり、決済、出入荷などに関する処理要求を含むデータ及び要求に対する回答データをあらかじめ定められた形式に従って送受信する。EDIサーバ11はプロセッサ、メモリ及び記憶装置等のハードウェアを備え、かつソフトウェアとしてジョブ生成プログラム112を有する。そして、ネットワークを介して受信するデータや処理要求を解析して、ジョブ生成プログラム112をプロセッサで実行してジョブ114を生成する。生成されたジョブ114は逐次、キューサーバ10へ転送される。
なお、この例では、EDIサーバ11をジョブの生成機能を有するコンピュータとしているが、EDIサーバに限らず、ジョブを生成する機能を有するサーバであれば、Webサーバ等の他のサーバでもよい。或いは、EDIサーバとWebサーバの両者で生成されたジョブを処理するようにしてもよい。
ここで、ジョブ114はジョブ属性1142とジョブの処理に使用される入力ファイル1144から成る。図3に示すように、ジョブ属性1142は、ジョブを識別するジョブID、ジョブ名、ジョブクラス、ジョブクラス内の優先度、ジョブ処理に使用されるプログラム情報、等の情報を含んで構成される。ジョブクラスとはバッチサーバ12で処理するジョブの種類やランク分けを意味する。例えば、クラスAは発注書作成処理、クラスBは請求書作成処理、のように分類して定義する。ジョブクラス内の優先度とは同じクラス内のジョブ処理に優先順位を付けて処理する場合、その優先順位をいう。
キューサーバ10は、ハードウェアとしてプロセッサ、メモリ及び記憶装置等を備え、またソフトウェアとしてキュー制御プログラム102、キューテーブル104、データベース(DB)108を有する。キュー制御プログラム102は、キューサーバ10における中心的な機能であり、その実行によってジョブ管理部106の機能を実現して、ジョブの登録及び各ジョブの処理状況を管理する。
キューテーブル104は、キューサーバ10に取得したジョブ及びその処理の進捗状況を管理する。その構成例については図2を参照して後述する。DB108は、EDIサーバ11より取得したジョブの入力ファイル1144を保管する。入力ファイル1144はジョブIDごとに準備されたフォルダに格納され、関連するジョブと対応付けられる。
バッチサーバ12はそれぞれ、ジョブを処理するコンピュータであり、ハードウェアとしてプロセッサ、メモリ及び記憶装置等を備え、またソフトウェアとしてバッチ制御プログラム212、1つ又は複数のジョブ処理プログラム224、及びキューサーバ10から取得したジョブ(処理前のジョブ属性と入力ファイル)231及び処理後のジョブ(処理後のジョブ属性と入力ファイル)232を有する。処理後のジョブ属性と入力ファイルは、バッチ制御プログラム212の制御の下、キューサーバ10へ戻される。
バッチ制御プログラム212はキューサーバ10のキュー制御プログラム102と連携して、キューサーバ10からのジョブの取得、バッチサーバ12内におけるジョブの処理の進捗状況の管理、ジョブ処理後のキューサーバ10への応答、等の管理を行う。
複数のジョブ処理プログラム224は、バッチサーバ12が取得したジョブを処理するためのプログラムであり、各バッチサーバ121〜12nは予め複数のジョブ処理プログラムを用意しておく。ここで、各バッチサーバ121〜12nはそれぞれ特有の処理を専門的に処理する方が効果的なので、各バッチサーバ121〜12nは異なる特有のジョブ処理プログラム毎にクラス分けして特有の処理プログラムを備えておくのがよい。例えば、バッチサーバ121は発注書作成や発注費管理のためのジョブ処理を行うプログラムA1〜Anを保持し、バッチサーバ122は請求書作成や請求費用管理のためのジョブ処理を行うプログラムB1〜Bm、バッチサーバ123は、在庫管理のジョブ処理を行うプログラムC1〜Ckを保持する。なお、処理要求の多い同種のジョブに対応するために、複数のバッチサーバの内の幾つかのサーバには同じクラスに属する同一のプログラムを備え、これらのバッチサーバで並列的に同種のジョブを処理するように構成してもよい。
なお、ここで複数のバッチサーバは、ハードウェアとして独立したコンピュータであってもよいし、或いはソフトウェアによって形成された仮想計算機であってもよい。
管理端末13は、例えば、入力手段及び表示手段を備えたPC(パーソナルコンピュータ)である。
図2は、一実施例におけるキューテーブルの構成例を示す。
キューテーブル104は、ジョブ及びその処理の進捗状況を管理するものであり、EDIサーバ11から受信したジョブ属性1142から、ジョブID、ジョブ名、ジョブクラス、ジョブクラス内の優先度、ジョブを登録したバッチサーバのサーバID、ジョブを実行したサーバID、プログラム情報、及びバッチサーバ12で処理されるジョブの処理状況を示すステータス(実行中、正常終了、待ち、異常終了等の状況)に関する情報を保管する。
なお、上記サーバIDは、ジョブの実行記録(ログ)として保持するものであり、ジョブ制御には直接的に係らない。ログが不要であれば、省略可能である。
次に、図4を参照してジョブ処理システムにおけるジョブ処理について説明する。
以下の説明では、ジョブ処理システムにおいてバッチサーバ121と122はクラスAに属するジョブを処理し、バッチサーバ123はクラスBのジョブを処理し、バッチサーバ12nはクラスCのジョブを処理するものとする。そのため、キューテーブル104に保持されたジョブ情報のうち、ジョブクラスAのもの(A1,A2,A3)はバッチサーバ121又は122で処理可能であり、同様にしてジョブクラスBはバッチサーバ123で、ジョブクラスCはバッチサーバ12nで処理可能である。その場合、ジョブクラス内の優先度が決められているので、ジョブクラスA2,A3はそれ以前のジョブクラスA1、A2よりも優先順位が低いので、これらのジョブ処理又は他のジョブ処理の結果待ちとなる。
さて、EDIサーバ11は、ネットワークを介して送信されて来るジョブ処理要求を受信する度に(S411)、ジョブ生成プログラム112を実行してジョブ(即ちジョブIDが付与されたジョブ属性と入力ファイル)を生成し(S412)、生成したジョブ(ジョブ属性と入力ファイル)をキューサーバ10へ送信する(S413)。EDIサーバ11はこの処理(S411〜S413)を逐次繰り返す。
キューサーバ10では、EDIサーバ11から送信されたジョブを受信する度に、キュー制御プログラム102を実行してジョブ管理部106を起動し、ジョブを登録する。即ち、受信したジョブ属性及び対応する入力ファイルをDB108に保管すると共に、キューテーブル104に当該ジョブの管理情報を登録する。図2に、キューテーブル104の登録状況を示す。なお、キューテーブル104にジョブの管理情報を登録した直後は、何れのバッチサーバも当該ジョブを取得していないので、「ステータス」の欄は「待ち」となっている。なお、図4のフローチャートにおいて、キューサーバ10でジョブを登録するステップ(S4001)が1箇所しか記載されていないが、ジョブの登録はジョブを受信する度に生じるので、このルーチンの随所にあると考えてよい。
複数のバッチサーバ12は、逐次、キューサーバ10に対して自バッチサーバで処理するジョブが有るかを問い合わせる(S42101,S42201、S42301)。
キューサーバ10では、バッチサーバ12からの問合せを受信する度に、キュー制御プログラム102の制御の下、キューテーブル104を当該バッチサーバで処理するジョブが有るかを判断する(SS4002,S4003)。判断の結果、各バッチサーバが処理すべきジョブが無ければ、その旨の回答を問い合わせ先のバッチサーバへ返す。バッチサーバは、ジョブ無しの回答を受信すると(S42102)、以後逐次ジョブの問合せを繰り返す。
以下の説明では、バッチサーバ121で処理するジョブが有った場合(S4003)について説明する。なお、他のバッチサーバでジョブを処理する場合でも処理ルーチン自体は同様である。
キューサーバ10は、キューテーブル104を参照してバッチサーバ121で処理するジョブ(ジョブID0001)が有ると、そのジョブをバッチサーバ121に割り当てる(S4004)。そして、バッチサーバ121へジョブID0001のジョブ(ジョブ属性及び入力ファイル)を送信する(S4005)。
バッチサーバ121では、バッチ制御プログラム212の実行の下、送信されたジョブ属性及び入力ファイル231を受信して、記憶装置に登録する(S42103)。続いて、当該ジョブID0001のジョブ属性にあるプログラム情報によって指定されるジョブ処理プログラム(例えば、X001A1のジョブ処理プログラム)を実行して、登録された当該ジョブを処理する(S42104)。なお、バッチサーバにジョブが登録された時、及びそのジョブが実行された時には、その都度、バッチサーバからキューサーバ10へ、登録サーバID及び実行サーバIDを含むレスポンスが送られて、キューテーブル104にこれらのサーバIDが登録される。
ジョブ処理の実行が終了すると(S42105)、処理結果ステータス(即ち正常終了又は異常終了)をキューサーバ10へ送信する(S42106)。
キューサーバ10では、キュー制御プログラム102の実行の下、受信したジョブ属性を参照して、当該ジョブ(ジョブID0001)に関するキューテーブル104の内容を更新する。即ち、当該ジョブID0001のジョブのステータス欄に処理結果ステータスを登録する(S4006)。
またバッチサーバ121で実行された処理プログラム(例えば、X001A1のジョブ処理プログラム)が後続処理を必要と判断した場合、バッチ制御プログラム212に対し、ジョブの生成を要求する。バッチ制御プログラム212は1つまたは複数の後続ジョブ(ジョブ属性と処理プログラムが作成した後続ジョブの入力ファイル)を生成する。この後続ジョブはEDIサーバ11の場合と同様にキューサーバ10へ送信される。
以上で、バッチサーバ121がキューサーバ10にジョブの問合せをして、取得した1つのジョブ処理が終了する。
その後、バッチサーバ121は再びキューサーバ10へジョブの問合せをして(S42107)、キューサーバ10から新たなジョブを取得して、上記を同様の処理を行う(S4008〜S42108)。
同じジョブクラスに属する優先度に関して説明すれば、図2に示すキューテーブルにおいて、同じジョブクラスAの優先度は、ジョブID0003、ジョブID0004の優先度は「2」「3」となっていて、ジョブID0001よりも低い。これは、ジョブ優先度2,3のものは、ジョブ優先度がそれよりも高次のジョブの処理結果を待ってから実行されることを意味する。そのため、ジョブID0001の処理が正常終了(ステータス欄に正常終了が記録)したことを確認して、ジョブID0003、0004のジョブが問合せ先の撥サーバへ割り当てられることになる。当該ジョブの処理が正常終了するまでは、ジョブID0003、0004のジョブのステータスは「待ち」状態である。
なお、上記バッチサーバ121におけるジョブの処理(S42101〜S42106)の間に、他のバッチサーバは逐次、キューサーバ10に対してジョブの問合せをして、同じジョブクラスAの優先度に関係無い他のジョブクラスB又はCのジョブについて、それぞれ自バッチサーバのジョブクラスに属するジョブを取得して処理を実行することができる。
本実施例は更に以下のような作用効果がある。
管理者は管理端末13を用いて、ジョブの実行状況や入力ファイルの内容を容易に確認することができる。ジョブの実行状況としては、例えば図2のキューテーブルの内容が表示手段に表示される。
また、管理端末13を用いて、バッチサーバのパラメータを修正し、キューテーブルにおける当該バッチサーバの実行クラス、実行クラス優先順位の設定や変更をすることができる。これは、管理端末13の操作により、バッチサーバのバッチ制御プログラム用の設定情報(例えば、バッチサーバがどの実行クラスを処理するかを定めた値)を変更することで実施される。これにより、特殊な処理を一定のバッチサーバで実行するなどの調整が可能であり、特にジョブが混んだ場合に調整が容易である。
また、管理端末13を用いて、キューテーブルのジョブの状態を、例えば、「終了」から「待ち」に変更することができ、これによりジョブの再実行を容易に行える。
以上、本発明の一実施例について説明したが、本発明は上記実施例に限定されることなく、種々変形して実施することができる。
例えば、上記実施例では説明上、キューサーバと複数のバッチサーバとを分けて説明した。しかし、変形例によれば、バッチサーバ121にキューサーバ10の機能を持たせ、バッチサーバ122〜12nに本来のバッチサーバの機能を持たせるようにしてもよい。その場合、バッチサーバ121は、キューサーバ10の機能を実行するだけでなく、ジョブ処理プログラムとバッチ制御プログラムを持たせれば、ある種のランクのジョブ処理を行うことも可能であろう。
10:キューサーバ 12、121〜12n:バッチサーバ 13:管理端末 11:EDIサーバ
102:キュー制御プログラム 104:キューテーブル 106:ジョブ管理部 108:データベース(DB)
112:ジョブ生成プログラム 114:ジョブ 1142:ジョブ属性 1144:入力ファイル
212:バッチ制御プログラム 224:ジョブ処理プログラム 231,232:ジョブ。

Claims (7)

  1. 複数のサーバを用いてジョブを処理するジョブ処理システムであって、
    要求に応じてジョブを生成する第1のプログラム制御手段を有する第1のサーバと、
    該第1のサーバによって生成されたジョブの管理を行う第2のサーバであって、該第2サーバは、該ジョブに関する属性情報及び該ジョブの処理に使用されるファイルを保管する記憶装置と、該ジョブに関する管理情報をジョブ毎に固有のIDを付して管理する管理テーブルと、該管理テーブルへの管理情報の登録及び参照、及び該記憶装置へのファイル及び属性情報の登録を行う第2のプログラム制御手段とを有し、
    該第2のサーバで管理されるジョブを逐次取得して処理する、複数の第3のサーバであって、該第3のサーバはそれぞれ、該第2のサーバから取得したジョブを処理する1又は複数のジョブ処理プログラムと、該第2のサーバからのジョブの取得及び処理後の該ジョブに関する応答を行う第3のプログラム制御手段と、取得したジョブの属性情報及びファイルを保管する記憶装置を有し、
    複数の該第3のサーバは逐次、該第2のサーバに対してジョブ処理の問合せをし、
    該第2のサーバは、第3のサーバからの問合せがある度に該管理テーブルを参照して、問合せ先の該第3のサーバによって処理できるジョブが有るかを確認して、該当するジョブが有る場合には該ジョブに関する属性情報及びファイルを、該問合せ先の該第3のサーバへ送信し、
    該ジョブに関する属性情報及びファイルを取得した該第3のサーバは、関連する該ジョブ処理プログラムを実行して、該属性情報及び該ファイルを参照してジョブを処理し、第3のプログラム制御手段は、処理結果となる該ファイル及び該属性情報を該第2のサーバへ送信し、
    該第2のサーバの第2のプログラム制御手段は、該第3のサーバから取得した該属性情報及び該ファイルを該記憶装置に保管するとともに、該管理テーブルを更新することを特徴とするジョブ処理システム。
  2. 複数の前記第3のサーバは、複数の異なる種類のジョブを処理する前記ジョブ処理プログラムを有し、かつ複数の種類毎に複数のクラスに分けられ、
    該ジョブ毎の前記属性情報は、規定された該クラス、及び同じクラスにおけるジョブ処理の優先度を示す情報を保持し、
    前記管理テーブルは、該ジョブ毎に規定された該クラス、及び同じクラスにおけるジョブ処理の優先度を示す情報を登録し、
    前記第2のプログラム制御手段は、該管理テーブルを参照して、クラス分けされたジョブを処理する前記第3のサーバからの問合せに対するジョブが有り、かつ同じクラス内で優先度が規定されている場合には、優先度の高い順に、問合せ先の該第3のサーバにジョブを割り当てることを特徴とする請求項1記載のジョブ処理システム。
  3. 前記管理テーブルは、ジョブID、ジョブを種別するジョブクラス、該ジョブクラス内の優先度、該ジョブの処理に使用されるプログラム情報、及び該第3のサーバで処理されるジョブの処理状況を示すステータスに関する情報を保管することを特徴とする請求項1のジョブ処理システム。
  4. 前記属性情報は、ジョブを識別するジョブID、ジョブ名、ジョブクラス、ジョブクラス内の優先度、ジョブ処理に使用されるプログラム情報を含んで構成されることを特徴とする請求項1乃至3のいずれかに記載のジョブ処理システム。
  5. 複数のサーバを用いてジョブを処理するジョブ処理方法であって、
    第1のサーバは、ネットワークを介して受信した処理要求に応じてジョブを生成し、
    該第2サーバは、該第1のサーバによって生成されたジョブに関する属性情報及び該ジョブの処理に使用されるファイルを記憶装置に保管し、該ジョブに関する管理情報をジョブ毎に固有のIDを付して管理テーブルで管理し、
    該ジョブを処理する複数の第3のサーバは逐次、該第2のサーバに対してジョブ処理の問合せをし、
    該第2のサーバは、第3のサーバからの問合せがある度に該管理テーブルを参照して、問合せ先の該第3のサーバによって処理できるジョブが有るかを確認して、該当するジョブが有る場合には該ジョブに関する属性情報及びファイルを、該問合せ先の該第3のサーバへ送信し、
    該ジョブに関する属性情報及びファイルを取得した該第3のサーバは、関連する該ジョブ処理プログラムを実行して、該属性情報及び該ファイルを参照してジョブを処理し、処理結果となる該ファイル及び該属性情報を該第2のサーバへ送信し、
    該第2のサーバは、該第3のサーバから取得した該属性情報及び該ファイルを該記憶装置に保管するとともに、該管理テーブルを更新することを特徴とするジョブ処理方法。
  6. 複数の前記第3のサーバは、複数の異なる種類のジョブを処理する前記ジョブ処理プログラムを有し、かつ複数の種類毎に複数のクラスに分けられ、
    該ジョブ毎の前記属性情報は、規定された該クラス、及び同じクラスにおけるジョブ処理の優先度を示す情報を保持し、
    前記管理テーブルは、該ジョブ毎に規定された該クラス、及び同じクラスにおけるジョブ処理の優先度を示す情報を登録し、
    該管理テーブルを参照して、クラス分けされたジョブを処理する前記第3のサーバからの問合せに対するジョブが有り、かつ同じクラス内で優先度が規定されている場合には、優先度の高い順に、問合せ先の該第3のサーバにジョブを割り当てることを特徴とする請求項5記載のジョブ処理方法。
  7. 複数のサーバを用いて処理されるジョブ処理の管理のために使用されるプログラムの集合体であって、
    第1のサーバにおいて、ネットワークを介して受信した処理要求に応じてジョブを生成する第1のプログラムと、
    該第2サーバにおいて、該第1のサーバによって生成されたジョブに関する属性情報及び該ジョブの処理に使用されるファイルを記憶装置に保管し、該ジョブに関する管理情報をジョブ毎に固有のIDを付して管理テーブルで管理すると共に、
    第3のサーバからの問合せがある度に該管理テーブルを参照して、問合せ先の該第3のサーバによって処理できるジョブが有るかを確認して、該当するジョブが有る場合には該ジョブに関する属性情報及びファイルを、該問合せ先の該第3のサーバへ送信し、
    該第3のサーバから取得した該属性情報及び該ファイルを該記憶装置に保管するとともに、該管理テーブルを更新する機能を有する第2のプログラムと、
    該ジョブを処理する複数の第3のサーバにおいて、該第2のサーバに対してジョブ処理の問合せをして、該第2のサーバから取得した該ジョブに関する属性情報及びファイルを保管して管理し、関連する該ジョブ処理プログラムを実行した結果、該属性情報及び該ファイルを更新して、処理結果となる該ファイル及び該属性情報を該第2のサーバへ送信する第3のプログラムと、
    を有することを特徴とするプログラムの集合体。
JP2009227217A 2009-09-30 2009-09-30 ジョブ処理システム及びその方法、そのプログラム Expired - Fee Related JP5512215B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009227217A JP5512215B2 (ja) 2009-09-30 2009-09-30 ジョブ処理システム及びその方法、そのプログラム
US12/858,738 US8639792B2 (en) 2009-09-30 2010-08-18 Job processing system, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009227217A JP5512215B2 (ja) 2009-09-30 2009-09-30 ジョブ処理システム及びその方法、そのプログラム

Publications (2)

Publication Number Publication Date
JP2011076371A true JP2011076371A (ja) 2011-04-14
JP5512215B2 JP5512215B2 (ja) 2014-06-04

Family

ID=43781528

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009227217A Expired - Fee Related JP5512215B2 (ja) 2009-09-30 2009-09-30 ジョブ処理システム及びその方法、そのプログラム

Country Status (2)

Country Link
US (1) US8639792B2 (ja)
JP (1) JP5512215B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013186520A (ja) * 2012-03-06 2013-09-19 Nec System Technologies Ltd コンピュータシステム、サーバ装置、負荷分散方法、及びプログラム

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10057333B2 (en) 2009-12-10 2018-08-21 Royal Bank Of Canada Coordinated processing of data by networked computing resources
US8607233B2 (en) * 2011-04-20 2013-12-10 International Business Machines Corporation Web service management
US9294335B2 (en) * 2012-04-09 2016-03-22 Empire Technology Development Llc Processing load distribution
JP2016178570A (ja) * 2015-03-20 2016-10-06 株式会社リコー ワークフロー実行処理装置、ワークフロー実行システム、ワークフロー実行システムの制御方法、及びプログラム
RU2632125C1 (ru) 2016-04-29 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и система обработки задач в облачном сервисе
US9900302B2 (en) 2016-06-22 2018-02-20 FinancialForce.com, Inc. Seamless authentication for an application development platform
US10984359B2 (en) * 2016-06-23 2021-04-20 FinancialForce.com, Inc. Combining batch and queueable technologies in a salesforce platform for large volume parallel processing
US10496741B2 (en) 2016-09-21 2019-12-03 FinancialForce.com, Inc. Dynamic intermediate templates for richly formatted output
USD848486S1 (en) * 2017-01-30 2019-05-14 Zama Japan Kabushiki Kaisha Needle valve for carburetors
US11038689B2 (en) 2018-03-01 2021-06-15 FinancialForce.com, Inc. Efficient block chain generation
US10846481B2 (en) 2018-06-29 2020-11-24 FinancialForce.com, Inc. Method and system for bridging disparate platforms to automate a natural language interface
CN109614209B (zh) * 2018-10-26 2023-09-05 创新先进技术有限公司 一种任务处理方法、应用服务器及系统
US11200143B2 (en) 2019-01-08 2021-12-14 FinancialForce.com, Inc. Software development framework for a cloud computing platform
US10922485B2 (en) 2019-07-10 2021-02-16 FinancialForce.com, Inc. Platform interpretation of user input converted into standardized input
CN113424152A (zh) * 2019-08-27 2021-09-21 微软技术许可有限责任公司 多租户分布式系统中的基于工作流的调度和批处理
US11899679B2 (en) 2020-09-25 2024-02-13 Oracle International Corporation Remote data gateway for use with a data analytics warehouse
US12066974B2 (en) * 2022-01-12 2024-08-20 Dell Products L.P. Systems and methods for end-to-end workload modeling for servers
US11893267B2 (en) 2022-01-14 2024-02-06 Bank Of America Corporation Data flow control and routing using machine learning

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH064308A (ja) * 1992-06-19 1994-01-14 Kobe Nippon Denki Software Kk バッチ処理スケジューリング方式
JPH07160517A (ja) * 1993-12-06 1995-06-23 Hitachi Ltd ジョブ実行制御方法
JPH10198643A (ja) * 1997-01-09 1998-07-31 Hitachi Ltd 分散計算機システム
JP2000242614A (ja) * 1999-02-22 2000-09-08 Nippon Steel Corp 分散処理システムおよびその方法、分散処理を行うための端末装置および記録媒体
JP2001160038A (ja) * 1999-12-02 2001-06-12 Ntt Comware Corp 負荷分散式情報処理システム及びその記録媒体
JP2001167072A (ja) * 1999-12-06 2001-06-22 World Fusion Co Ltd ネットワークを用いた遺伝子データ解析システム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6213652B1 (en) * 1995-04-18 2001-04-10 Fuji Xerox Co., Ltd. Job scheduling system for print processing
EP0919030B1 (en) * 1996-03-01 2003-10-08 FMR Corporation Open systems printing
JP3754849B2 (ja) * 1998-10-30 2006-03-15 キヤノン株式会社 データ通信装置及び制御方法及び記憶媒体及び画像印刷システム
JP3885483B2 (ja) * 2000-10-30 2007-02-21 富士通株式会社 サービス実行方法および装置
JP2003230121A (ja) * 2001-11-30 2003-08-15 Fujitsu Ltd コンテンツ配信方法、コンテンツ視聴方法、サーバ装置、および端末装置
US20030204856A1 (en) * 2002-04-30 2003-10-30 Buxton Mark J. Distributed server video-on-demand system
JP2004013576A (ja) * 2002-06-07 2004-01-15 Nec Corp 広域ネットワークを利用したデータ入力システム
US20040107240A1 (en) * 2002-12-02 2004-06-03 Globespan Virata Incorporated Method and system for intertask messaging between multiple processors
JP4518768B2 (ja) * 2003-09-16 2010-08-04 ソニー株式会社 通信システム、通信方法およびクライアント機器
EP1669915A4 (en) * 2003-09-30 2008-01-30 Sony Corp METHOD FOR ACQUIRING ATTRIBUTE DATA
US20060004909A1 (en) * 2004-04-30 2006-01-05 Shinya Takuwa Server system and a server arrangement method
JP4808409B2 (ja) * 2005-01-14 2011-11-02 株式会社日立製作所 センサネットワークシステム、センサデータの検索方法及びプログラム
KR100940069B1 (ko) * 2005-05-12 2010-02-08 가부시키가이샤 엔티티 도코모 통신기기의 검색시스템
JP2007041720A (ja) * 2005-08-01 2007-02-15 Fujitsu Ltd ジョブステップ実行プログラムおよびジョブステップ実行方法
JP4843428B2 (ja) * 2005-09-16 2011-12-21 株式会社リコー 情報処理装置、情報処理方法、及び情報処理システム
US8255420B2 (en) * 2006-05-23 2012-08-28 Noryan Holding Corporation Distributed storage
JP4810331B2 (ja) * 2006-06-29 2011-11-09 キヤノン株式会社 画像出力装置、画像出力装置の制御方法及びプログラム、並びに管理システム
US20080147821A1 (en) * 2006-12-19 2008-06-19 Dietrich Bradley W Managed peer-to-peer content backup service system and method using dynamic content dispersal to plural storage nodes
US20080301119A1 (en) * 2007-06-04 2008-12-04 Yahoo! Inc. System for scaling and efficient handling of large data for loading, query, and archival
JP5178112B2 (ja) * 2007-09-26 2013-04-10 キヤノン株式会社 画像処理装置及び仮予約に係る制御方法
JP4569846B2 (ja) * 2008-04-02 2010-10-27 日本電気株式会社 I/oノード制御方式及び方法
JP5060398B2 (ja) * 2008-06-03 2012-10-31 キヤノン株式会社 情報処理装置およびその制御方法、ワークフロー処理システム
JP5298666B2 (ja) * 2008-06-30 2013-09-25 富士通株式会社 通信サービス支援装置、通信サービス支援方法および通信サービス支援プログラム
WO2010019356A2 (en) * 2008-07-22 2010-02-18 Wms Gaming, Inc. Automated wagering game machine configuration and recovery
US8310703B2 (en) * 2009-06-01 2012-11-13 Ricoh Company, Ltd Printing and scanning with cloud storage
JP2011123817A (ja) * 2009-12-14 2011-06-23 Fujitsu Ltd ジョブ振分装置、ジョブ振分プログラム及びジョブ振分方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH064308A (ja) * 1992-06-19 1994-01-14 Kobe Nippon Denki Software Kk バッチ処理スケジューリング方式
JPH07160517A (ja) * 1993-12-06 1995-06-23 Hitachi Ltd ジョブ実行制御方法
JPH10198643A (ja) * 1997-01-09 1998-07-31 Hitachi Ltd 分散計算機システム
JP2000242614A (ja) * 1999-02-22 2000-09-08 Nippon Steel Corp 分散処理システムおよびその方法、分散処理を行うための端末装置および記録媒体
JP2001160038A (ja) * 1999-12-02 2001-06-12 Ntt Comware Corp 負荷分散式情報処理システム及びその記録媒体
JP2001167072A (ja) * 1999-12-06 2001-06-22 World Fusion Co Ltd ネットワークを用いた遺伝子データ解析システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013186520A (ja) * 2012-03-06 2013-09-19 Nec System Technologies Ltd コンピュータシステム、サーバ装置、負荷分散方法、及びプログラム

Also Published As

Publication number Publication date
US20110078297A1 (en) 2011-03-31
JP5512215B2 (ja) 2014-06-04
US8639792B2 (en) 2014-01-28

Similar Documents

Publication Publication Date Title
JP5512215B2 (ja) ジョブ処理システム及びその方法、そのプログラム
US8818940B2 (en) Systems and methods for performing record actions in a multi-tenant database and application system
CN107729139B (zh) 一种并发获取资源的方法和装置
CN110851253B (zh) 一种远程运维的方法、系统、存储介质及电子设备
US8768957B2 (en) Consolidating related task data in process management solutions
US20110238760A1 (en) Systems and methods for identifying contacts as users of a multi-tenant database and application system
CA2843284C (en) Computer system, computer-implemented method and computer program product for sequencing incoming messages for processing at an application
US8930518B2 (en) Processing of write requests in application server clusters
JP2013015991A (ja) 情報処理装置、サーバ選択方法、及びプログラム
US20120311591A1 (en) License management in a cluster environment
US8694462B2 (en) Scale-out system to acquire event data
US20110106712A1 (en) Cost-Aware Service Aggregation
JP6576160B2 (ja) 管理システム、管理システムの制御方法、およびプログラム
JP2018113008A (ja) 企業情報通知システム及び営業支援システム
US11614981B2 (en) Handling of metadata for microservices processing
US8260782B2 (en) Data element categorization in a service-oriented architecture
US11080072B1 (en) Custom user interface for a trihybrid data movement, data governance and data provenance system
JP2015049714A (ja) ソフトウェア管理装置、ソフトウェア管理システム、ソフトウェア管理方法、及びプログラム
CN113407339A (zh) 资源请求反馈方法、装置、可读存储介质及电子设备
JP2013186765A (ja) バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム
US20140280347A1 (en) Managing Digital Files with Shared Locks
AU2019282240B2 (en) Systems and methods for providing uniform access in a multi-tenant system
JP6338909B2 (ja) コンテンツ制御システム
US11327802B2 (en) System and method for exporting logical object metadata
US11200088B2 (en) Information processing system, information processing method, and information processing apparatus

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20120117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120907

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140326

R150 Certificate of patent or registration of utility model

Ref document number: 5512215

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

LAPS Cancellation because of no payment of annual fees