JP2022106619A - 情報処理システム、情報処理装置、および情報処理方法 - Google Patents
情報処理システム、情報処理装置、および情報処理方法 Download PDFInfo
- Publication number
- JP2022106619A JP2022106619A JP2021001747A JP2021001747A JP2022106619A JP 2022106619 A JP2022106619 A JP 2022106619A JP 2021001747 A JP2021001747 A JP 2021001747A JP 2021001747 A JP2021001747 A JP 2021001747A JP 2022106619 A JP2022106619 A JP 2022106619A
- Authority
- JP
- Japan
- Prior art keywords
- job
- information processing
- error
- information
- responsible
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
- G06Q10/063114—Status monitoring or status determination for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Databases & Information Systems (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
【課題】エラーが発生したジョブを救済可能とする情報処理システム、情報処理装置および情報処理方法を提供する。【解決手段】情報処理装置は、メッセージキューから取得して実行した担当ジョブにエラーが発生した場合、ジョブ情報管理データベースに記憶されるステータスのうち担当ジョブのステータスにエラーを格納し、担当ジョブのステータスがエラーを示し、担当ジョブを実行した情報処理装置が、同じサーバが含む情報処理装置であり、かつ、担当ジョブのタイプがエラーが発生したジョブのタイプと同じである場合、担当ジョブを実行せず、キューに対して、担当ジョブを戻す。【選択図】図1B
Description
本発明は、情報処理システム、情報処理装置、および情報処理方法に関する。
Workerサーバが有する複数のワーカ計算機(以下、ワーカと言う。情報処理装置の一例。)において、画像をPDF(Portable Document Format)に変換するドキュメント処理等のジョブを分散処理させる技術が開発されている。
しかしながら、上記の技術では、ジョブで用いられるPDFライブラリ等のライブラリに異常が発生し、メモリ,プロセス,スレッド等の問題で正常に動作しなくなった場合、当該ジョブをエラーとして処理し、当該エラーが発生したジョブに対する救済手段が考慮されていない。
本発明は、上記に鑑みてなされたものであって、ジョブの実行にエラーが発生した場合でも、エラーが発生したジョブを救済可能とする情報処理システム、情報処理装置、および情報処理方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、ジョブの実行を依頼するフロントエンドアプリと、前記ジョブの処理対象ファイルおよび前記ジョブの処理結果ファイルを記憶する共有ファイルストレージと、前記ジョブがキューイングされるキューを有するメッセージキューと、前記ジョブのジョブ情報および前記ジョブのステータスを記憶するジョブ情報管理データベースと、前記ジョブの実行の依頼を受け付け、前記ジョブ情報管理データベースに対して、前記ジョブ情報を格納し、前記キューに前記ジョブをキューイングするドキュメント処理要求管理部と、前記メッセージキューから、担当する前記ジョブである担当ジョブを取得し、前記ジョブ情報管理データベースから、前記担当ジョブの前記ジョブ情報を取得し、前記共有ファイルストレージから、取得した前記ジョブ情報に基づいて、前記処理対象ファイルを取得し、取得した前記処理対象ファイルに対して前記担当ジョブを実行した後、当該担当ジョブの前記処理結果ファイルを前記共有ファイルストレージに格納する情報処理装置と、を備え、前記情報処理装置は、前記担当ジョブにエラーが発生した場合、前記ジョブ情報管理データベースに記憶される前記ステータスのうち前記担当ジョブの前記ステータスにエラーを格納し、前記担当ジョブの前記ステータスがエラーを示し、前記担当ジョブを実行した前記情報処理装置が、同じサーバが含む前記情報処理装置であり、かつ前記担当ジョブのタイプがエラーが発生した前記ジョブのタイプと同じである場合、前記担当ジョブを実行せず、前記キューに対して、前記担当ジョブを戻す。
本発明によれば、ジョブの実行でエラーが発生した場合でも、エラーが発生したジョブを救済可能とする、という効果を奏する。
以下に添付図面を参照して、情報処理システム、情報処理装置、および情報処理方法の実施の形態を詳細に説明する。
(第1の実施の形態)
図1Aは、第1の実施の形態にかかる情報処理システムが有する各種サーバのハードウェア構成の一例を示すブロック図である。まず、図1Aを用いて、本実施の形態にかかる情報処理システムが有する各種サーバ5(図2に示すAppサーバ201、Fileサーバ202、Queueサーバ203、DBサーバ204、Frontサーバ205、WorkerサーバWS1,WS2)のハードウェア構成の一例について説明する。
図1Aは、第1の実施の形態にかかる情報処理システムが有する各種サーバのハードウェア構成の一例を示すブロック図である。まず、図1Aを用いて、本実施の形態にかかる情報処理システムが有する各種サーバ5(図2に示すAppサーバ201、Fileサーバ202、Queueサーバ203、DBサーバ204、Frontサーバ205、WorkerサーバWS1,WS2)のハードウェア構成の一例について説明する。
図1Aに示されているように、サーバ5は、コンピュータによって構築されており、図1Aに示されているように、CPU501、ROM502、RAM503、HD504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、DVD-RW(Digital Versatile Disk Rewritable)ドライブ514、メディアI/F516を備える。
これらのうち、CPU501は、サーバ5全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出しまたは書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、または画像等の各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、通信ネットワーク100を利用してデータ通信をするためのインターフェースである。バスライン510は、図5に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
また、キーボード511は、文字、数値、各種指示等の入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動等を行う入力手段の一種である。DVD-RWドライブ514は、着脱可能な記録媒体の一例としてのDVD-RW513に対する各種データの読み出しまたは書き込みを制御する。なお、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
図1Bは、第1の実施の形態にかかる情報処理システムの機能構成の一例を示すブロック図である。本実施の形態にかかる情報処理システムは、フロントエンドアプリ101、共有ファイルストレージ102、メッセージキュー103、ジョブ情報管理データベース104、ドキュメント処理要求管理部105、および複数のワーカ計算機(以下、ワーカと言う。情報処理装置の一例。)W1-1,W1-2,W2-1,W2-2を有する。以下の説明では、ワーカW1-1,W1-2,W2-1,W2-2を区別しない場合には、ワーカWと記載する。
フロントエンドアプリ101は、ジョブの実行を依頼するアプリケーションである。共有ファイルストレージ102は、ジョブの処理対象のファイル(以下、処理対象ファイルと言う)および当該ジョブの処理結果のファイル(以下、処理結果ファイルと言う)を記憶するストレージである。メッセージキュー103は、ジョブがキューイングされるキューを有する。
ジョブ情報管理データベース104は、ジョブ情報テーブル104Aおよびタスクステータステーブル104Bを記憶するデータベースである。ジョブ情報テーブル104Aは、メッセージキュー103のキューにキューイングされたジョブを示すジョブ情報を記憶する。タスクステータステーブル104Bは、ジョブ情報が示すジョブのステータス(進捗)を記憶するテーブルである。ドキュメント処理要求管理部105は、フロントエンドアプリ101からジョブの実行の依頼を受け付け、ジョブ情報テーブル104Aに対して、実行の依頼を受け付けたジョブのジョブ情報を格納する。また、ドキュメント処理要求管理部105は、メッセージキュー103のキューに対して、フロントエンドアプリ101から実行の依頼を受け付けたジョブを入れる(キューイングする)。
ワーカWは、メッセージキュー103から、担当ジョブを取得する。ここで、担当ジョブは、ワーカWにおいて担当するジョブである。また、ワーカWは、ジョブ情報テーブル104Aから、担当ジョブのジョブ情報を取得する。また、ワーカWは、共有ファイルストレージ102から、取得したジョブ情報に基づいて、処理対象ファイルを取得する。そして、ワーカWは、処理対象ファイルに対して担当ジョブを実行した後、当該担当ジョブ処理結果ファイルを、共有ファイルストレージ102に格納する。
ここで、本実施の形態にかかる情報処理システムにおける担当ジョブの実行処理の流れの一例の概略について説明する。まず、フロントエンドアプリ101に対してジョブが投入されると、フロントエンドアプリ101は、共有ファイルストレージ102に対して、処理対象ファイルを格納し、その処理対象ファイルのURL(Uniform Resource Locator)を、ドキュメント処理要求管理部105に対して、ジョブを投入する。
ドキュメント処理要求管理部105は、ジョブ情報管理データベース104に対して、フロントエンドアプリ101から投入されたジョブのジョブ情報を格納し、かつ、メッセージキュー103のキューに対して、当該ジョブをキューイングする。例えば、ドキュメント処理要求管理部105は、フロントエンドアプリ101から投入されたジョブのタイプ(以下、ジョブタイプと言う)が、画像をPDFに変換するジョブタイプ(image2pdf)である場合、メッセージキュー103が有するキューのうち、当該ジョブタイプ(image2pdf)のキューに対して、ジョブをキューイングする。
ワーカWは、メッセージキュー103のキューのうち、当該ワーカW自身が担当するタイプのジョブ(以下、担当ジョブと言う)のキューを監視(ポーリング)している。そして、ワーカWは、担当ジョブのキューがメッセージキュー103に存在する場合、ジョブ情報テーブル104Aから、担当ジョブのジョブ情報を取得する。次に、ワーカWは、共有ファイルストレージ102から、取得したジョブ情報に基づいて、処理対象ファイルを取得し、取得した処理対象ファイルに対して担当ジョブを実行する。その際、ワーカWは、タスクステータステーブル104Bに対して、担当ジョブのステータス(例えば、ワーカWが何の処理を、いつから実行しているか等)を格納する。担当ジョブが終了すると、ワーカWは、タスクステータステーブル104Bから、担当ジョブのステータスを削除する。さらに、ワーカWは、共有ファイルストレージ102に対して、担当ジョブの処理結果ファイルを格納し、ジョブ情報テーブル104Aに対して、当該処理結果ファイルのURLと共に、担当ジョブが終了したことを示すジョブ情報を格納する。
図2は、第1の実施の形態にかかる情報処理システムのサーバ構成の一例を示す図である。次に、図2を用いて、本実施の形態にかかる情報処理システムのサーバ構成の一例について説明する。
本実施の形態にかかる情報処理システムは、フロントエンドアプリ101を有するAppサーバ201、ドキュメント処理要求管理部105を有するFrontサーバ205、メッセージキュー103を有するQueueサーバ203、ジョブ情報管理DB104を有するDBサーバ204、共有ファイルストレージ102を有するFileサーバ202、ワーカW1-1,W1-2を有するWorkerサーバWS1、およびワーカW2-1,W2-2を有するWorkerサーバWS2を有する。以下の説明では、WorkerサーバWS1,WS2を区別しない場合には、WorkerサーバWSと記載する。
ここで、本実施の形態にかかる情報処理システムが、2つのWorkerサーバWS1,WS2を有するのは、片方のWorkerサーバWSに異常が発生しても、他方のWorkerサーバWSによってジョブを継続可能とするためであり、所謂、冗長構成というシステム構成である。勿論、Appサーバ201、Frontサーバ205、Queueサーバ203、DBサーバ204、およびFileサーバ202のそれぞれも、同様に、複数のサーバにより構成しても良い。本実施の形態では、Appサーバ201、Frontサーバ205、Queueサーバ203、DBサーバ204、Fileサーバ202、およびWorkerサーバWSは、クラウドサービス上に、仮想サーバとして存在するが、物理サーバとして構成しても良い。各WorkerサーバWSでは、複数のワーカWのそれぞれがプロセスとして起動している。1つのWorkerサーバWSに、複数のワーカWが存在しても良い。
図3は、第1の実施の形態にかかる情報処理システムのジョブ情報テーブルのデータ構成の一例を示す図である。次に、図3を用いて、ジョブ情報テーブル104Aのデータ構成の一例について説明する。
本実施の形態では、ジョブ情報テーブル104Aは、図3に示すように、ジョブID、ユーザID、ステータス、投入日時、ジョブタイプ、およびパラメータ等を対応付けて記憶する。ここで、ジョブIDは、ジョブを識別可能とする情報である。ユーザIDは、ジョブを依頼したユーザを識別可能とする情報である。ステータスは、ジョブのステータスである。投入日時は、ジョブが依頼された日時である。ジョブタイプは、ジョブの種類(タイプ)である。パラメータは、ジョブを実行する際に用いるパラメータである。
図4は、第1の実施の形態にかかる情報処理システムのタスクステータステーブルのデータ構成の一例を示す図である。次に、図4を用いて、タスクステータステーブル104Bのデータ構成の一例について説明する。
本実施の形態では、タスクステータステーブル104Bは、図4に示すように、担当サーバ、担当ワーカ、ジョブID、ジョブタイプ、ステータス、開始日時、およびユーザID等を対応付けて記憶する。担当サーバは、担当ジョブを実行するワーカWを有するWorkerサーバWSを示す。担当ワーカは、担当ジョブを実行するワーカWを示す。ジョブIDは、担当ジョブを識別可能とする情報である。ジョブタイプは、担当ジョブのタイプ(種類)である。ステータスは、担当ジョブのステータスである。開始日時は、担当ジョブが開始された日時である。ユーザIDは、担当ジョブを依頼したユーザを識別可能とする情報である。
本実施の形態にかかる情報処理システムは、ワーカWが担当ジョブの実行に使用しているライブラリがメモリ,プロセス,スレッド等の不具合により正常に動作しなくなったり、ライブラリがフリーズしてしまったりした場合に、正常なライブラリを有するワーカWによって担当ジョブを無事に完了させる。言い換えると、本実施の形態にかかる情報処理システムは、新たなジョブが、異常なライブラリを有するワーカWにおいて実行されないようにする。これにより、これまで失敗してしまい救済手段がなかったジョブを成功させることができる。
具体的には、ワーカWは、担当ジョブにエラーが発生した場合、タスクステータステーブル104Bに記憶されるステータスのうち、担当ジョブのステータスにエラーを格納する。また、ワーカWは、タスクステータステーブル104Bに記憶される担当ジョブのステータスがエラーを示し、担当ジョブを実行したワーカWが同じWorkerサーバWSが有するワーカWであり、かつ担当ジョブのジョブタイプが、エラーが発生したジョブのジョブタイプと同じである場合、担当ジョブを実行せず、メッセージキュー103のキューに対して、担当ジョブを戻す。これにより、あるワーカWによって担当ジョブを実行できない場合でも、担当ジョブを成功させることができる他のワーカWによって、担当ジョブが実行される。その結果、担当ジョブの実行でエラーが発生した場合でも、エラーが発生した担当ジョブを救済可能となる。
図5は、第1の実施の形態にかかる情報処理システムにおけるジョブの実行処理の流れの一例を示すシーケンス図である。次に、図5を用いて、本実施の形態にかかる情報処理システムのワーカW2-1におけるジョブの実行処理の流れの一例について説明する。
例えば、ワーカW2-1が、メッセージキュー103のキューから、担当ジョブ(例えば、ジョブタイプがimage2pdfの担当ジョブ)を取得する(ステップS521)。また、ワーカW2-1は、タスクステータステーブル104Bに記憶されるステータスのうち、取得した担当ジョブのステータスがエラーとなっていないか否かをチェックする(ステップS522)。取得した担当ジョブのステータスがエラーとなっていない場合、ワーカW2-1は、ジョブ情報テーブル104Aから、担当ジョブのジョブ情報を取得する(ステップS523)。
次に、ワーカW2-1は、共有ファイルストレージ102から、取得したジョブ情報に基づいて、担当ジョブを実行する処理対象ファイルを取得する(ステップS524)。そして、ワーカW2-1は、取得した処理対象ファイルに対するジョブ(例えば、画像からPDFへの変換処理)を開始する(ステップS525)。その際、PDFライブラリにメモリアクセス違反等によって担当ジョブにエラーが発生した場合、ワーカW2-1は、タスクステータステーブル104Bに記憶されるステータスのうち、WorkerサーバWS2のワーカWによる担当ジョブのステータス(例えば、図4に示すタスクステータステーブル104Bにおいて、ジョブID:3と対応付けられるステータス)にエラーになったことを記録する(ステップS526)。また、ワーカW2-1は、ジョブ情報テーブル104Aに記憶されるステータスのうち、担当ジョブのステータス(例えば、図4に示すジョブ情報テーブル104AのジョブID:3と対応付けられるステータス)にエラーを記録する(ステップS527)。また、ワーカW2-1は、実行中の担当ジョブを、メッセージキュー103のキューに戻す(ステップS528)。
図6は、第1の実施の形態にかかる情報処理システムにおいて担当ジョブのキューをメッセージキューに戻す処理の流れの一例を示すシーケンス図である。次に、図6を用いて、本実施の形態にかかる情報処理システムにおいて担当ジョブのキューをメッセージキュー103に戻す処理の流れの一例について説明する。
ワーカW2-1は、メッセージキュー103のキューのうち、担当ジョブのキューをポーリングする。そして、エラーが発生した担当ジョブのキュー(例えば、ジョブID:3のキュー)を取得してしまった場合(ステップS601)、ワーカW2-1は、タスクステータステーブル104Bにおいて、取得したキューの担当ジョブのジョブIDと対応付けられるステータスがエラーであるか否かをチェックする(ステップS602)。
従来の情報処理システムでは、ワーカW2-1のPDFライブラリにエラーが発生した状態のため、ワーカW2-1がジョブID:3の担当ジョブを実行しても、同じエラーが発生してしまう可能性が高い。そのため、従来の情報処理システムは、ワーカW2-1は無限に担当ジョブの実行を繰り返してしまうため、同じ担当ジョブの実行を繰り返す回数を2回までと決めておき、担当ジョブがエラーになったことをユーザに伝えて、担当ジョブの実行を終了させる。
これに対して、本実施の形態では、ワーカW2-1は、ステップS602においてチェックしたステータスがエラーを示している場合、タスクステータステーブル104Bにおいて、エラーを示すステータスと対応付けられるワーカWを有するWorkerサーバWSが、ワーカW2-1を有するWorkerサーバWS2であるか否かを判断する。すなわち、ワーカW2-1は、ステータスがエラーとなっている担当ジョブを実行したWorkerサーバWSが、当該ワーカW2-1を有するWorkerサーバWS2と同じであるか否かを判断する。そして、エラーを示すステータスと対応付けられるワーカWを有するWorkerサーバWSが、ワーカW2-1を有するWorkerサーバWSである場合、ワーカW2-1は、担当ジョブを実行せず、取得した担当ジョブを、メッセージキュー103のキューに戻す(ステップS603)。
図7は、第1の実施の形態にかかる情報処理システムにおけるワーカにおける担当ジョブの実行処理の流れの一例を示すシーケンス図である。次に、図7を用いて、本実施の形態にかかる情報処理システムにおけるワーカW1-1における担当ジョブの実行処理の流れの一例について説明する。
ワーカW1-1は、メッセージキュー103のキューから、担当ジョブ(例えば、ジョブタイプがimage2pdfの担当ジョブ)を取得する(ステップS711)。また、ワーカW1-1は、タスクステータステーブル104Bに記憶されるステータスのうち、取得した担当ジョブのステータスがエラーとなっているか否かをチェックする(ステップS712)。
取得した担当ジョブのステータスがエラーとなっているが、タスクステータステーブル104Bにおいて、当該ステータスと対応付けられるWorkerサーバWSが、ワーカW1-1を有するWorkerサーバWS1ではないので、ワーカW1-1は、ジョブ情報テーブル104Aから、担当ジョブのジョブ情報を取得する(ステップS713)。また、ワーカW1-1は、共有ファイルストレージ102から、取得したジョブ情報に基づいて、処理対象ファイルを取得する(ステップS714)。
そして、ワーカW1-1は、取得した処理対象ファイルに対して担当ジョブ(例えば、画像からPDFへの変換処理)を実行する(ステップS715)。担当ジョブが完了すると、ワーカW1-1は、担当ジョブの処理結果ファイルを、共有ファイルストレージ102に格納(保存)する(ステップS716)。また、ワーカW1-1は、ジョブ情報テーブル104Aにおいて、担当ジョブと対応付けられるステータスに完了を記録する(ステップS717)。
このように、第1の実施の形態にかかる情報処理システムによれば、あるワーカWによって担当ジョブを実行できない場合でも、担当ジョブを成功させることができる他のワーカWによって、担当ジョブが実行される。その結果、担当ジョブの実行でエラーが発生した場合でも、エラーが発生した担当ジョブを救済可能となる。
(第2の実施の形態)
本実施の形態は、ワーカが、メッセージキューのキューに対して、担当ジョブを戻す際、メッセージキューの先頭のキューに、担当ジョブを戻す例である。以下の説明では、第1の実施の形態と同様の構成については説明を省略する。
本実施の形態は、ワーカが、メッセージキューのキューに対して、担当ジョブを戻す際、メッセージキューの先頭のキューに、担当ジョブを戻す例である。以下の説明では、第1の実施の形態と同様の構成については説明を省略する。
本実施の形態では、ワーカWは、メッセージキュー103のキューに対して、担当ジョブを戻す際、メッセージキュー103の先頭のキューに、担当ジョブを戻す。これにより、担当ジョブにエラーが発生して、メッセージキュー103のキューに対して担当ジョブが戻された際に、当該担当ジョブの実行が後回しになり、当該担当ジョブが完了するのに時間がかかることを軽減できる。
図8は、第2の実施の形態にかかる情報処理システムにおけるワーカがメッセージキューのキューに担当ジョブを戻す処理の一例を説明するための図である。例えば、図6のステップS604において、ジョブID:3の担当ジョブを、メッセージキュー103(例えば、ジョブタイプがimage2pdfのメッセージキュー103)に対して戻す際、従来の情報処理システムでは、図8(1)に示すように、メッセージキュー103のキューのうち、ジョブID:4,6のジョブのキューの後に、ジョブID:3の担当ジョブが戻される。そのため、ジョブID:3の担当ジョブは、ジョブID:4,6のジョブの後に処理されることになり、ジョブID:3の担当ジョブが完了するのに時間がかかる。
そこで、本実施の形態では、図6のステップS604において、ジョブID:3の担当ジョブを、メッセージキュー103(例えば、ジョブタイプがimage2pdfのメッセージキュー103)のキューに対して戻す際、ワーカW2-1は、図8(2)に示すように、メッセージキュー103のキューのうち、ジョブID:4,6のジョブのキューの前、すなわち、メッセージキュー103の先頭のキューに、ジョブID:3の担当ジョブを戻す。
このように、第2の実施の形態にかかる情報処理システムによれば、担当ジョブにエラーが発生して、メッセージキュー103のキューに対して担当ジョブが戻された際に、当該担当ジョブの実行が後回しになり、当該担当ジョブが完了するのに時間がかかることを軽減できる。
(第3の実施の形態)
本実施の形態では、ワーカが、ジョブ情報管理データベースに記憶される担当ジョブのステータスに基づいて、当該担当ジョブ以外に実行可能なジョブが無い場合、同じWorkerサーバが含むワーカによってエラーとなったジョブであっても、担当ジョブを実行する例である。以下の説明では、上述の実施の形態と同様の構成については説明を省略する。
本実施の形態では、ワーカが、ジョブ情報管理データベースに記憶される担当ジョブのステータスに基づいて、当該担当ジョブ以外に実行可能なジョブが無い場合、同じWorkerサーバが含むワーカによってエラーとなったジョブであっても、担当ジョブを実行する例である。以下の説明では、上述の実施の形態と同様の構成については説明を省略する。
本実施の形態では、ワーカWは、タスクステータステーブル104Bに記憶される担当ジョブのステータスに基づいて、当該担当ジョブ以外に実行可能なジョブが無い場合、担当ジョブを実行したワーカWが同じWorkerサーバWSが含むワーカWによってエラーとなった担当ジョブであっても、当該担当ジョブを実行する。これにより、ワーカWにおいて担当ジョブのエラーの原因が解消していれば、正常に担当ジョブが実行されて、より早く担当ジョブを実行で、ユーザを待たせる時間を短縮することができる。
図9は、第3の実施の形態にかかる情報処理システムにおけるジョブの実行処理の流れの一例を示すシーケンス図である。次に、図9を用いて、本実施の形態にかかる情報処理システムにおけるジョブの実行処理の流れの一例について説明する。以下の説明では、図6および図7に示す処理と同様の処理については説明を省略する。
図6のステップS603においては、タスクステータステーブル104Bから取得した担当ジョブ(ジョブタイプがimage2pdfの担当ジョブ)のステータスがエラーとなっており、当該担当ジョブを実行したワーカWが、ワーカW2-1を有するWorkerサーバWSと同じWorkerサーバWSである場合、ワーカW2-1は、担当ジョブを実行せず、取得した担当ジョブを、メッセージキュー103のキューに戻している。しかしながら、ワーカW2-1が担当可能な他のジョブ(例えば、OCR:Optical Character Recognition)のキューが存在せず、エラーとなった担当ジョブ以外のジョブ(例えば、ジョブタイプがimage2pdfのジョブ)のキューがメッセージキュー103に存在しない場合、ワーカW2-1は、メッセージキュー103に対して担当ジョブのキューを戻す処理のみを実施する状態となり、ジョブの処理効率が下がる可能性がある。また、ワーカW2-1のライブラリが一時的な不調で担当ジョブがエラーとなっていたとすると、当該ライブラリが復旧している可能性もある。
そこで、本実施の形態では、タスクステータステーブル104Bから取得した担当ジョブ(image2pdf)のステータスがエラーとなっており、当該担当ジョブを実行したワーカWが、ワーカW1-1を有するWorkerサーバWSと同じWorkerサーバWSであり、ワーカW1-1が担当可能な他のジョブのキューがメッセージキュー103に存在しない場合、ワーカW1-1は、当該ワーカW1-1が担当可能な他の担当ジョブ(ジョブタイプがimage2pdfのジョブ)のキューがメッセージキュー103に存在するか否かをチェックする(ステップS901)。
そして、ワーカW2-1が担当可能な他の担当ジョブのキューがメッセージキュー103に存在する場合には、ワーカW2-1は、図6のステップS603と同様に、担当ジョブを実行せず、取得した担当ジョブを、メッセージキュー103のキューに戻す。一方、ワーカW2-1が担当可能な他の担当ジョブがメッセージキュー103のキューに存在しない場合、ワーカW2-1は、図7のステップS713~S717と同様にして、担当ジョブを試しに実行する。
このように、第3の実施の形態にかかる情報処理システムによれば、ワーカWにおいて担当ジョブのエラーの原因が解消していれば、正常に担当ジョブが実行されて、より早く担当ジョブを実行で、ユーザを待たせる時間を短縮することができる。
(第4の実施の形態)
本実施の形態は、ワーカが、ジョブ情報管理データベースに記憶されるエラー情報に基づいて、再実行が成功するジョブを再実行する例である。以下の説明では、上述の実施の形態と同様の構成については説明を省略する。
本実施の形態は、ワーカが、ジョブ情報管理データベースに記憶されるエラー情報に基づいて、再実行が成功するジョブを再実行する例である。以下の説明では、上述の実施の形態と同様の構成については説明を省略する。
本実施の形態では、ジョブ情報テーブル104Aは、再実行が成功するジョブのエラーおよび再実行しても失敗するジョブのエラーを示すエラー情報テーブル(エラー情報の一例)を含む。そして、ワーカWは、エラー情報テーブルに基づいて、再実行が成功するジョブのみを再実行する。これにより、再実行してもエラーとなるジョブが再実行されることを防止できる。
図10は、第4の実施の形態にかかる情報処理システムのジョブ情報テーブルに含まれるエラー情報テーブルのデータ構成の一例を示す図である。再実行してもエラーとなるジョブは、再実行しても成功する可能性が低い。例えば、ワーカWのライブラリが固有に有するデータファイルが壊れてしまっている場合、ユーザがデータファイルを再インストールしない限り、データファイルが自然に復旧することは期待できない。
そこで、本実施の形態では、ジョブ情報テーブル104Aは、図10に示すように、エラー情報テーブル104Cを有する。エラー情報テーブル104Cは、再実行(リトライ)して成功するエラーと、再実行しても失敗するエラーと、を示すテーブルである。例えば、エラー情報テーブル104Cは、図10に示すように、ジョブの実行において発生するエラーのコードであるエラーコードと、リトライ可否と、を対応付けるテーブルである。ここで、リトライ可否は、リトライして成功するエラーの場合には「可」を示し、リトライして失敗するエラーの場合には「不可」を示す。そして、ワーカWは、エラー情報テーブル104Cに基づいて、再実行して成功するエラーが発生した担当ジョブは再実行し、再実行しても失敗するエラーが発生した担当ジョブは再実行しない。
図11は、第4の実施の形態にかかる情報処理システムにおけるジョブの実行処理の流れの一例を示すシーケンス図である。次に、図11を用いて、本実施の形態にかかる情報処理システムにおけるジョブの実行処理の流れの一例について説明する。以下の説明では、図5に示すジョブの実行処理の流れと異なる処理について説明する。
図5に示すジョブの実行処理においては、PDFライブラリがメモリアクセス違反等により担当ジョブにエラーが発生した場合(ステップS525)、ワーカW2-1は、タスクステータステーブル104Bにおいて、担当ジョブのジョブID:3と対応付けられるステータスにエラーを記録している(ステップS526)。これに対して、本実施の形態では、担当ジョブにエラーが発生した場合(ステップS525)、ワーカW2-1は、ジョブ情報テーブル104Aが有するエラー情報テーブル104Cを参照して、発生したエラーのエラーコードと対応付けられるリトライ可否が「可」であるか否かを判断する(ステップS1101)。
そして、発生したエラーのエラーコード(例えば、エラーコード:497)と対応付けられるリトライ可否が「可」である場合、すなわち、発生したエラーが再実行により成功するエラーである場合、ワーカW2-1は、取得した担当ジョブを再実行すれば成功する可能性があるため、タスクステータステーブル104Bにおいて、担当ジョブのジョブID:3と対応付けられるステータスにエラーを記録する(ステップS1102)。さらに、ワーカW2-1は、実行中の担当ジョブをメッセージキュー103のキューに戻す(ステップS1103)。
一方、発生したエラーのエラーコード(例えば、エラーコード:515)と対応付けられるリトライ可否が「不可」である場合、すなわち、発生したエラーが再実行しても失敗するエラーである場合、ワーカW2-1は、取得した担当ジョブを再実行しても成功する可能性が無いため、タスクステータステーブル104Bへのステータスの記録、およびメッセージキュー103へ担当ジョブのキューを戻す処理を実行しない。そして、ワーカW2-1は、ジョブ情報テーブル104Aにおいて担当ジョブのジョブIDと対応付けられるステータスにエラーを記録する(ステップS1104)。これにより、他のワーカWが当該担当ジョブを実行することを防止できる。
このように、第4の実施の形態にかかる情報処理システムによれば、再実行してもエラーとなるジョブが再実行されることを防止できる。
(第5の実施の形態)
本実施の形態は、ワーカが、メッセージキューに記憶されるキューをポーリング中、ステータスがエラーのジョブ以外に実行可能なジョブが無い場合、予め設定されたテキストファイルに対して、エラーが発生したジョブを実行し、当該ジョブが成功した場合、当該ジョブのステータスからエラーを消去する例である。以下の説明では、上述の実施の形態と同様の構成については説明を省略する。
本実施の形態は、ワーカが、メッセージキューに記憶されるキューをポーリング中、ステータスがエラーのジョブ以外に実行可能なジョブが無い場合、予め設定されたテキストファイルに対して、エラーが発生したジョブを実行し、当該ジョブが成功した場合、当該ジョブのステータスからエラーを消去する例である。以下の説明では、上述の実施の形態と同様の構成については説明を省略する。
本実施の形態では、メッセージキュー103のキューをポーリング中に、ステータスがエラーのジョブ以外に実行可能なジョブが無い場合、ワーカWは、予め設定されたテキストファイルに対して、エラーが発生したジョブを実行する。そして、予め設定されたテキストファイルに対して実行したジョブが成功した場合、ワーカWは、タスクステータステーブル104Bにおいて当該ジョブのジョブIDと対応付けられるステータスからエラーを消去する。これにより、ワーカWにおいて担当ジョブにエラーが発生したとしても、当該ワーカWを有するWorkerサーバWSにおいて、当該担当ジョブを実行することができる。
図12は、第5の実施の形態にかかる情報処理システムにおけるテキストファイルに対する担当ジョブの実行処理の流れの一例を示すシーケンス図である。メッセージキュー103のキューのうち、担当ジョブ(例えば、OCR)のキューをポーリングしたが、当該担当ジョブが無い場合、ワーカW1-1は、他のジョブタイプの担当ジョブ(例えば、ジョブタイプがimage2pdfの担当ジョブ)を取得する(ステップS1201)。次いで、ワーカW1-1は、タスクステータステーブル104Bにおいて、取得した担当ジョブ(例えば、image2pdf)のジョブIDと対応付けられるステータスがエラーであるか否かをチェックする(ステップS1202)。
取得した担当ジョブのステータスがエラーである場合、ワーカW1-1は、予め設定されるテキストファイル(例えば、ワーカWのリリース時にインストールされる、ファイルサイズが小さいテキストファイル)に対して担当ジョブ(例えば、ジョブタイプがimage2pdfのジョブ)を実行する(ステップS1203)。そして、予め設定されるテキストファイルに対する担当ジョブが成功した場合、ワーカW1-1は、担当ジョブ(例えば、ジョブタイプがimage2pdfのジョブ)に用いるPDFライブラリが正常化したと判断し、タスクステータステーブル104Bにおいて、担当ジョブと対応付けられるステータスを、リトライを待つ状態(retry_waiting)に変更する(ステップS1204)。
このように、第5の実施の形態にかかる情報処理システムによれば、ワーカWにおいて担当ジョブにエラーが発生したとしても、当該ワーカWを有するWorkerサーバWSにおいて、当該担当ジョブを実行することができる。
(第6の実施の形態)
本実施の形態は、ワーカは、担当ジョブにエラーが発生した場合に、ワーカ自身のプロセスを再起動する例である。以下の説明では、上述の実施の形態と同様の構成については説明を省略する。
本実施の形態は、ワーカは、担当ジョブにエラーが発生した場合に、ワーカ自身のプロセスを再起動する例である。以下の説明では、上述の実施の形態と同様の構成については説明を省略する。
ワーカWが実行する担当ジョブの一例であるimage2pdfのジョブに用いるPDFライブラリのエラーの多くは、ワーカWにおいて実行されるプロセスの一時的な停止やメモリの枯渇等、自然回復やOS(Operating System)が回復しくれるエラーである。しかし、PDFライブラリのエラーの中には、ワーカWにおいて実行されるプロセスが存続してしまったり、メモリが使用され続けられたりすることによるエラーも存在する。
そこで、本実施の形態では、ワーカWは、担当ジョブにエラーが発生する場合、ワーカW自身のプロセスを再起動させる。これにより、ワーカWにおいて発生する担当ジョブのエラーを早期に正常化することができる。ワーカWにおけるプロセスを再起動する方法は、様々用意されているが、ワーカW自身が、PDFライブラリの異常を検知し、再起動用スクリプトに対してプロセスの再起動を依頼して、当該プロセスを終了させる方法が一般的である。または、ワーカWに予めインストールされるプロセス監視プログラムがプロセスを監視し、当該プロセスにエラーが発生した場合に当該プロセスを再起動させる方法であっても良い。
本実施の形態では、情報処理システムは、ワーカW自身のプロセスを再起動させても、担当ジョブにエラーが発生する場合、当該ワーカW自身が存在するWorkerサーバWSを再起動させる。例えば、ワーカWは、Zabbix運用等で用いる監視スクリプトによって、ワーカWの異常が予め設定された時間経過しても解消されない場合に、WorkerサーバWSのOSを再起動させる指示を行う。
本実施の形態では、情報処理システムは、WorkerサーバWSを再起動させても、担当ジョブにエラーが発生する場合、すなわち、担当ジョブにエラーが発生したワーカWが含まれるWorkerサーバWSの全てのワーカWにおいて担当ジョブのエラーが解消しなかった場合、新たなサーバインスタンスを起動させて、当該ワーカWが存在するWorkerサーバWSシャットダウンする。例えば、WorkerサーバWSを再起動させてもPDFライブラリを正常化することができない場合、当該PDFライブラリそのもののデータの一部が破損している可能性が高い。この場合、ワーカWにPDFライブラリを再インストールすることにより、ワーカWを正常化することができるが、クラウドシステムにおいて夜間にエラーが発生した場合には、その対応が困難である。
AWSやAzure等のクラウド基盤には、正常な状態のサーバインスタンスが残されており、そのサーバインスタンスを複製して立ち上げる機能が備わっている。そこで、Zabbix等の監視によってワーカWのエラーを検出した場合には、ワーカWは、サーバインスタンスを複製して立ち上げる機能を用いて、WorkerサーバWSのサーバインスタンスを新しく立ち上げ、古いWorkerサーバWSのサーバインスタンスを停止させる。これにより、夜間に異常が発生した場合でも、担当ジョブの実行を継続できる。
このように、第6の実施の形態にかかる情報処理システムによれば、ワーカWにおいて発生する担当ジョブのエラーを早期に正常化することができる。
上記で説明した実施の形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)や従来の回路モジュール等のデバイスを含むものとする。
本実施の形態に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施の形態では、Appサーバ201、Fileサーバ202、Queueサーバ203、DBサーバ204、およびFrontサーバ205は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。同様に、WorkerサーバWS1,WS2は、互いに通信するように構成された複数のコンピューティングデバイスを含むことができる。
なお、各種サーバ5は、通信機能を備えた装置であれば、画像形成装置に限られない。各種サーバ5は、例えば、PJ(Projector:プロジェクタ)、IWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)、デジタルサイネージ等の出力装置、HUD(Head Up Display)装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、自動車(Connected Car)、ノートPC(Personal Computer)、携帯電話、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPCまたはデスクトップPC等であってもよい。
101 フロントエンドアプリ
102 共有ファイルストレージ
103 メッセージキュー
104 ジョブ情報管理DB
105 ドキュメント処理要求管理部
201 Appサーバ
202 Fileサーバ
203 Queueサーバ
204 DBサーバ
205 Frontサーバ
W1-1,W1-2,W2-1,W2-2 ワーカ
WS1,WS2 Workerサーバ
102 共有ファイルストレージ
103 メッセージキュー
104 ジョブ情報管理DB
105 ドキュメント処理要求管理部
201 Appサーバ
202 Fileサーバ
203 Queueサーバ
204 DBサーバ
205 Frontサーバ
W1-1,W1-2,W2-1,W2-2 ワーカ
WS1,WS2 Workerサーバ
Claims (10)
- ジョブの実行を依頼するフロントエンドアプリと、
前記ジョブの処理対象ファイルおよび前記ジョブの処理結果ファイルを記憶する共有ファイルストレージと、
前記ジョブがキューイングされるキューを有するメッセージキューと、
前記ジョブのジョブ情報および前記ジョブのステータスを記憶するジョブ情報管理データベースと、
前記ジョブの実行の依頼を受け付け、前記ジョブ情報管理データベースに対して、前記ジョブ情報を格納し、前記キューに前記ジョブをキューイングするドキュメント処理要求管理部と、
前記メッセージキューから、担当する前記ジョブである担当ジョブを取得し、前記ジョブ情報管理データベースから、前記担当ジョブの前記ジョブ情報を取得し、前記共有ファイルストレージから、取得した前記ジョブ情報に基づいて、前記処理対象ファイルを取得し、取得した前記処理対象ファイルに対して前記担当ジョブを実行した後、当該担当ジョブの前記処理結果ファイルを前記共有ファイルストレージに格納する情報処理装置と、を備え、
前記情報処理装置は、
前記担当ジョブにエラーが発生した場合、前記ジョブ情報管理データベースに記憶される前記ステータスのうち前記担当ジョブの前記ステータスにエラーを格納し、
前記担当ジョブの前記ステータスがエラーを示し、前記担当ジョブを実行した前記情報処理装置が、同じサーバが含む前記情報処理装置であり、かつ前記担当ジョブのタイプがエラーが発生した前記ジョブのタイプと同じである場合、前記担当ジョブを実行せず、前記キューに対して、前記担当ジョブを戻す、情報処理システム。 - 前記情報処理装置は、前記キューに対して、前記担当ジョブを戻す際、前記メッセージキューの先頭の前記キューに、前記担当ジョブを戻す、請求項1に記載の情報処理システム。
- 前記情報処理装置は、前記ジョブ情報管理データベースに記憶される前記ステータスに基づいて、前記担当ジョブ以外に担当可能な前記ジョブが無い場合、同じサーバが含む前記情報処理装置によってエラーとなった前記ジョブであっても、前記担当ジョブを実行する、請求項1または2に記載の情報処理システム。
- 前記ジョブ情報管理データベースは、さらに、再実行が成功する前記ジョブのエラーおよび再実行しても失敗する前記ジョブのエラーを示すエラー情報を記憶し、
前記情報処理装置は、前記ジョブ情報管理データベースに記憶される前記エラー情報に基づいて、再実行が成功する前記担当ジョブを再実行する、請求項1から3のいずれか一つに記載の情報処理システム。 - 前記情報処理装置は、前記メッセージキューに記憶される前記キューのポーリング中、前記ステータスがエラーの前記ジョブ以外に実行可能な前記ジョブが無い場合、予め設定されたテキストファイルに対して、エラーが発生した前記ジョブを実行し、当該ジョブが成功した場合、当該ジョブの前記ステータスからエラーを消去する、請求項1から4のいずれか一つに記載の情報処理システム。
- 前記情報処理装置は、前記担当ジョブにエラーが発生した場合、当該情報処理装置自身のプロセスを再起動する、請求項1から5のいずれか一つに記載の情報処理システム。
- 前記情報処理システムは、前記担当ジョブにエラーが発生した場合、前記情報処理装置を含むサーバを再起動する、請求項1から6のいずれか一つに記載の情報処理システム。
- 前記担当ジョブにエラーが発生した前記情報処理装置が含まれるサーバの全ての前記情報処理装置においても前記担当ジョブのエラーが解消しなかった場合、新たなサーバインスタンスを起動させ、前記サーバをシャットダウンする、請求項1から7のいずれか一つに記載の情報処理システム。
- ジョブがキューイングされるキューを有するメッセージキューから、担当する前記ジョブである担当ジョブを取得し、前記ジョブのジョブ情報および前記ジョブのステータスを記憶するジョブ情報管理データベースから、前記担当ジョブの前記ジョブ情報を取得し、前記ジョブの処理対象ファイルおよび前記ジョブの処理結果ファイルを記憶する共有ファイルストレージから、取得した前記ジョブ情報に基づいて、前記処理対象ファイルを取得し、取得した前記処理対象ファイルに対して前記担当ジョブを実行した後、当該担当ジョブの前記処理結果ファイルを前記共有ファイルストレージに格納する情報処理装置であって、
前記担当ジョブにエラーが発生した場合、前記ジョブ情報管理データベースに記憶される前記ステータスのうち前記担当ジョブの前記ステータスにエラーを格納し、
前記担当ジョブの前記ステータスがエラーを示し、前記担当ジョブを実行した前記情報処理装置が、同じサーバが含む前記情報処理装置であり、かつ前記担当ジョブのタイプがエラーが発生した前記ジョブのタイプと同じである場合、前記担当ジョブを実行せず、前記キューに対して、前記担当ジョブを戻す、情報処理装置。 - 情報処理装置で実行される情報処理方法であって、
ジョブがキューイングされるキューを有するメッセージキューから、担当する前記ジョブである担当ジョブを取得する工程と、
前記ジョブのジョブ情報および前記ジョブのステータスを記憶するジョブ情報管理データベースから、前記担当ジョブの前記ジョブ情報を取得する工程と、
前記ジョブの処理対象ファイルおよび前記ジョブの処理結果ファイルを記憶する共有ファイルストレージから、取得した前記ジョブ情報に基づいて、前記処理対象ファイルを取得する工程と、
取得した前記処理対象ファイルに対して前記担当ジョブを実行した後、当該担当ジョブの前記処理結果ファイルを前記共有ファイルストレージに格納する工程と、
前記担当ジョブにエラーが発生した場合、前記ジョブ情報管理データベースに記憶される前記ステータスのうち前記担当ジョブの前記ステータスにエラーを格納する工程と、
前記担当ジョブの前記ステータスがエラーを示し、前記担当ジョブを実行した前記情報処理装置が、同じサーバが含む前記情報処理装置であり、かつ前記担当ジョブのタイプがエラーが発生した前記ジョブのタイプと同じである場合、前記担当ジョブを実行せず、前記キューに対して、前記担当ジョブを戻す工程と、
を含む情報処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021001747A JP2022106619A (ja) | 2021-01-07 | 2021-01-07 | 情報処理システム、情報処理装置、および情報処理方法 |
US17/539,211 US20220214910A1 (en) | 2021-01-07 | 2021-12-01 | Information processing system, information processing apparatus, and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021001747A JP2022106619A (ja) | 2021-01-07 | 2021-01-07 | 情報処理システム、情報処理装置、および情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022106619A true JP2022106619A (ja) | 2022-07-20 |
Family
ID=82219624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021001747A Pending JP2022106619A (ja) | 2021-01-07 | 2021-01-07 | 情報処理システム、情報処理装置、および情報処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220214910A1 (ja) |
JP (1) | JP2022106619A (ja) |
-
2021
- 2021-01-07 JP JP2021001747A patent/JP2022106619A/ja active Pending
- 2021-12-01 US US17/539,211 patent/US20220214910A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20220214910A1 (en) | 2022-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100435101C (zh) | 在软件环境中用于保持资源完整性的装置和方法 | |
US9251010B2 (en) | Caching backed-up data locally until successful replication | |
US8132043B2 (en) | Multistage system recovery framework | |
US10860447B2 (en) | Database cluster architecture based on dual port solid state disk | |
US8473783B2 (en) | Fault tolerance in distributed systems | |
EP3179368A1 (en) | Systems and methods for fault tolerant communications | |
US9720776B2 (en) | Server system, method for controlling the same, and program for executing parallel distributed processing | |
TW201706836A (zh) | 更新方法、伺服器系統以及非暫態電腦可讀取媒體 | |
Madduri et al. | Reliable file transfer in grid environments | |
JP2017517060A (ja) | 障害処理方法、関連装置、およびコンピュータ | |
US20080172421A1 (en) | Automated client recovery and service ticketing | |
CN112231403B (zh) | 数据同步的一致性校验方法、装置、设备和存储介质 | |
JP6558037B2 (ja) | 運用管理プログラム、運用管理方法、および運用管理装置 | |
US10372701B2 (en) | Transaction processor | |
US8468386B2 (en) | Detecting and recovering from process failures | |
JP5352027B2 (ja) | 計算機システムの管理方法及び管理装置 | |
CN107526838B (zh) | 数据库集群扩容的方法和装置 | |
JP2007058506A (ja) | 文書管理サーバ、文書管理システム、及び、文書管理プログラムとその記録媒体 | |
JP2022106619A (ja) | 情報処理システム、情報処理装置、および情報処理方法 | |
US8365008B2 (en) | Providing unsolicited global disconnect requests to users of storage | |
JP4716492B2 (ja) | 冗長構成システムおよび第1のコンピュータシステムに障害が発生したときに第2のコンピュータシステムが直ちにリカバーする方法 | |
CN117234437B (zh) | 一种存储设备、磁盘重启的控制方法及装置 | |
WO2014040426A1 (zh) | 查询处理方法和装置 | |
US20220236878A1 (en) | Online data rehydration | |
JP2017151511A (ja) | 情報処理装置、動作ログ取得方法および動作ログ取得プログラム |