JP5465401B2 - ファイル管理方法、装置及びプログラム - Google Patents

ファイル管理方法、装置及びプログラム Download PDF

Info

Publication number
JP5465401B2
JP5465401B2 JP2008205469A JP2008205469A JP5465401B2 JP 5465401 B2 JP5465401 B2 JP 5465401B2 JP 2008205469 A JP2008205469 A JP 2008205469A JP 2008205469 A JP2008205469 A JP 2008205469A JP 5465401 B2 JP5465401 B2 JP 5465401B2
Authority
JP
Japan
Prior art keywords
file
folder
standby
working
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008205469A
Other languages
English (en)
Other versions
JP2010039988A (ja
Inventor
智之 望月
昭博 伊藤
敏光 ▲高▼井
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 Systems Ltd
Original Assignee
Hitachi 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 Systems Ltd filed Critical Hitachi Systems Ltd
Priority to JP2008205469A priority Critical patent/JP5465401B2/ja
Publication of JP2010039988A publication Critical patent/JP2010039988A/ja
Application granted granted Critical
Publication of JP5465401B2 publication Critical patent/JP5465401B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、プログラムが異常停止した場合でも、ファイルの状態を復旧するファイル管理方法、装置及びプログラムに関する。
従来、ファイルの状態を管理するために、メモリ上にファイルの一覧とその状態を記憶し、状態が変更になるごとにメモリ上の情報を変更していた。しかし、ファイルの状態をメモリ上で管理するプログラムが、停電やプログラムのバグにより異常停止すると、メモリ上の情報が消失し、ファイルの状態を認識できなくなる。そのため、プログラムを再起動してもファイルの状態を復旧できなくなる。メモリ上にファイルの状態を記憶する代わりに、その情報をファイルやDBに記憶する方法もあるが、その場合にはハードウエアに近いレベルのI/O処理が必要なジャーナル機能を作成するためにプログラムが複雑になり、また組込み端末のようにDBや複雑な処理の導入が難しい環境もある。
そのような中で、特許文献1のように、クライアント間でファイルを共有するネットワークシステムにおいて、ファイル作成時には作業用フォルダ(ディレクトリ)でファイルを作成し、ファイル作成終了の状態になったら転送用フォルダにファイルをコピーするものがある。
特開2005-321875
特許文献1の転送用フォルダは、ファイルの転送先がPull型でファイル転送するために設けられているが、転送用フォルダに格納されたファイルは、その状態を管理する情報を設けなくても、作成完了状態にあると見ることができる。しかし、ファイルを作業用フォルダから転送用フォルダにコピーするなどの書込処理の途中で、プログラムが異常停止すると、ファイルのコピーが完了しないまま不完全なファイルとなってしまう。そのまま復帰すると、不完全なファイルを他のクライアントに転送することになり、転送されたファイルを読み込む側で異常動作する可能性がある。
ファイルの状態の管理が重要なシステムとして監視システムがある。監視システムは、監視クライアントで監視情報を収集してファイルに出力し、そのファイルを監視サーバに転送する。そのとき、監視クライアントでは、ファイルの作成中、送信中、送信完了などのファイルの状態を管理する必要がある。ファイルの状態を管理することにより、ファイルに対してどのような処理を実行すればよいかが決定される。換言すると、ファイルの状態が適正に管理されていなければ、ファイルに対して実行すべき処理を決めることができない。
そこで、ファイル処理の途中で、異常停止した場合でも、問題があるファイルを検出・除去し、復旧するなどにより、ファイルの状態を管理する必要がある。
本発明は、次のように構成される、ファイル管理方法、ファイル管理装置及びファイル管理プログラムである。ファイルに対する第1の処理の待機状態を表す待機フォルダと、ファイルに対する第1の処理の作業状態を表す作業フォルダと、ファイルに対する第1の処理の次の処理である第2の処理の待機状態を表す次待機フォルダとを有し、さらに第1の処理と待機フォルダ及び作業フォルダとの対応および第2の処理と次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、第1の処理を実行するためのプログラムを格納するメモリとに接続したCPUにより、待機フォルダからメモリにファイルを読み出し、読み出した前記ファイルに対して第1の処理を実行し、ファイルへの第1の処理の完了に応答して、メモリ上のファイルを作業フォルダに格納し、待機フォルダからファイルを削除し、ファイル状態遷移定義情報を参照して、作業フォルダから待機フォルダにファイルを移動し、プログラムの異常停止後の復旧時には、待機フォルダと作業フォルダとに前記ファイルがあれば、作業フォルダのファイルを削除し、作業フォルダのみにファイルがあれば、ファイルを次待機フォルダに移動し、作業フォルダと次待機フォルダとに前記ファイルがあれば、作業フォルダの前記ファイルを削除する。
本発明の他の態様は、ファイルに対する第1の処理の待機状態を表す待機フォルダと、ファイルに対する第1の処理の作業状態を表すフォルダと、ファイルに対する第1の処理の次の処理である第2の処理の待機状態を表す次待機フォルダを有し、さらに第1の処理と待機フォルダ及び作業フォルダとの対応および第2の処理と次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、第1の処理を実行するためのプログラムを格納するメモリとに接続したCPUにより、ファイル状態遷移定義情報を参照して、待機フォルダからファイルを作業フォルダに移動し、作業フォルダからファイルをメモリに読み出し、読み出したファイルに対して第1の処理を実行し、ファイルへの第1の処理の完了に応答して、ファイル状態遷移定義情報を参照して、作業フォルダから次待機フォルダにファイルを移動し、プログラムの異常停止後の復旧時には、作業フォルダのみにファイルがあれば、ファイルを次待機フォルダに移動し、待機フォルダと作業フォルダとに前記ファイルがあれば、作業フォルダの前記ファイルを削除し、作業フォルダと次待機フォルダとに前記ファイルがあれば、作業フォルダの前記ファイルを削除する。
本発明のさらに他の態様は、ファイルを処理する複数の処理に前記ファイルを分岐するための待機状態を表す待機フォルダと、複数の処理の数に対応した、複数の処理のそれぞれの作業状態を表す作業フォルダと、ファイルに対する複数の処理のそれぞれの次の処理の待機状態を表す複数の次待機フォルダを有し、さらに複数の処理と待機フォルダ及び複数の作業フォルダとの対応および複数の次の処理と複数の次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、複数の処理を実行するためのプログラムを格納するメモリとに接続したCPUにより、待機フォルダのファイルを複数の作業フォルダにリンクし、待機フォルダからファイルを削除し、ファイル状態遷移定義情報を参照して、複数の作業フォルダの各々から、対応する複数の次待機フォルダの各々にファイルを移動し、プログラムの異常停止後の復旧時には、待機フォルダと複数の作業フォルダの少なくとも一つとにファイルがあれば、複数の作業フォルダのうちのファイルがある作業フォルダからファイルを削除し、複数の作業フォルダのみにファイルがあれば、ファイル状態遷移定義情報を参照して、複数の作業フォルダの各々のファイルを対応する複数の次待機フォルダの各々に移動し、複数の作業フォルダの少なくとも一つと複数の次待機フォルダの少なくとも一つとに前記ファイルがあれば、ファイル状態遷移定義情報を参照して、複数の作業フォルダの各々の前記ファイルを対応する次待機フォルダに移動する。
本発明のさらに他の態様は、ファイルに対する第1の処理の待機状態を表す待機フォルダと、ファイルに対する第1の処理の次の処理である第2の処理の待機状態を表す次待機フォルダとを有し、さらに第1の処理と待機フォルダとの対応および第2の処理と次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、第1の処理を実行するためのプログラムを格納するメモリとに接続したCPUにより、待機フォルダからメモリにファイルを読み出し、ファイルへの第1の処理の完了に応答して、ファイル状態遷移定義情報を参照して、待機フォルダから次待機フォルダに前記ファイルを移動し、プログラムの異常停止後の復旧時には、待機フォルダと次待機フォルダとにファイルがあれば、待機フォルダからファイルを削除する。
本発明のさらに他の態様は、ファイルに対する第1の処理の作業状態を表す作業フォルダと、ファイルに対する第1の処理の次の処理である第2の処理の待機状態を表す次待機フォルダとを有し、さらに第1の処理と作業フォルダとの対応および第2の処理と次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、第1の処理を実行するためのプログラムを格納するメモリとに接続したCPUにより、作業フォルダにファイルを生成し、ファイルへの第1の処理の完了に応答して、第1の処理の実行に伴いメモリ上にキャッシュされたファイルを作業フォルダに格納し、ファイル状態遷移定義情報を参照して、作業フォルダから次待機フォルダへファイルを移動し、プログラムの異常停止後の復旧時には、作業フォルダの前記ファイルを削除する
本発明によれば、ファイル処理の途中で異常停止した場合でも、問題があるファイルを検出・除去し、復旧するなどにより、ファイルの状態を管理できる。
監視情報を収集し、収集した監視情報を監視サーバに向けて送信する監視クライアント端末を中心とした監視システムを具体例に、ファイル管理方法及び装置の実施例を説明する。
以下、本実施例を、図1〜図11を参照して詳細に説明する。実施例1の監視システムは、監視クライアント端末1で監視情報を収集し、署名を追加してから、1つの監視サーバ2に送信するものである。
図1は、監視システムのシステム構成を示す。監視クライアント端末1が監視対象5を監視し、監視情報を得て、監視情報を格納したファイルを作成する。作成したファイルに署名を追加し、ファイル3を監視サーバ2に送信する。
図2は、監視クライアント端末1の構成を示したものである。監視クライアント端末1は、ファイル管理装置として動作するコンピュータであり、後述する種々の処理プログラムを実行するCPU11、処理プログラムや処理プログラムの実行に関係する一時的なデータを記憶するメモリ12、キーボードやマウスなどの入力部13、ディスプレイなどの出力部14、Ethernet(登録商標)などの通信部15、データやプログラムを格納するハードディスクのような記憶部16を有する。
記憶部16のファイルシステム上に、複数個のフォルダ4(ディレクトリ)があり、フォルダ4の中にファイル3を保存する。記憶部16には、監視対象5から監視情報を収集しファイルに書き込む情報収集プログラム161と、収集した監視情報を書き込んだファイルに署名を追加する署名追加プログラム162と、署名を追加したファイルを監視サーバ2に送信する送信プログラム163を格納する。情報収集プログラム161はファイル生成手順171を、署名追加プログラム162はファイル書込手順172を、送信プログラム163はファイル読出手順173を持つ。また、情報収集プログラム161と署名追加プログラム162と送信プログラム163は共に、ファイル復旧手順175を持つ。また、記憶部16は、ファイルの状態遷移を定義するファイル状態遷移定義情報165を持つ。
なお、図2を含む本実施例で用いる各図には、他の実施例で説明するものを含んで示してある。
情報収集プログラム161と署名追加プログラム162と送信プログラム163とによるファイル操作は、アトミック性が保証されているファイルシステムを用いる。ファイル操作とは、ファイルの移動、リンクの作成(link)、削除(unlink)の操作などの操作である。アトミック性が保証された操作は、アトミック操作と呼ばれ、いくつかの細かい操作を組み合わせた操作であり、システムの他の部分(他のプロセス、他のタスク)から見てそれらが一つの操作に見える。したがって、アトミック操作は、その操作が完了するまで、他のプロセスはその途中の状態を観測できず、一部の細かい操作が失敗したら組み合わせた全体としての操作を失敗として、システムの状態はアトミック操作の実行前の状態に戻るという性質を持つ。
なお、フォルダの中にファイルがあるというのは、実際には、フォルダの中にファイルの実体へのリンクが格納されている状態である。よって、ここでのファイルの移動は、ファイルの実体の移動を伴わず、移動先フォルダにファイル実体へのリンクを作成した後、移動元のフォルダのファイル実体へのリンクを削除する操作である。
また、ファイルシステムは、高速化のために、ディスク上にあるファイルやフォルダの情報をメモリ上にキャッシュしている。ファイルシステムによっては、ファイルの移動、リンクの作成、削除の操作をするときにキャッシュ上の情報だけを変更し、ディスクに反映させないものがある。そのような場合に停電すると、キャッシュ上にありディスクに反映されていない情報が消えてしまう可能性がある。そこで、このようなファイルシステムにおいては、キャッシュ上の情報をディスクに書き込んで状態を確定させるために、次のファイル操作を行う前に必ずフォルダのフラッシュをする。以降では、明示的には書かないが、ファイルシステムに合わせて必要に応じて、ファイルの移動、リンクの作成、削除の操作に伴いフラッシュする。
図3は、監視クライアント端末1内のファイル3の状態遷移と、記憶部16のフォルダ4とファイル3の関係を示したものである。
ファイル3に対する処理は、情報収集プログラム161によるファイルの生成処理、署名追加プログラム162による署名を追加するときの書込処理、ファイル送信プログラム163による監視サーバ2に送信するときの読出処理となる。プログラムが異常停止した場合でも、復旧時にファイル3の状態を一意に判断できるようにするために、それぞれの処理の処理前、処理中、処理後のいずれであるかがわかるようにファイル3の状態を管理する。具体的には、処理前を「待機状態」、処理中を「作業状態」、処理後を次の処理の「待機状態」とする。
情報収集プログラム161は、処理前の状態がなく、途中で異常停止したときにファイル生成中(処理中)か、ファイルが完成した(処理後)かの2つの状態がわかる必要があるため、作業状態として「収集中」を用意する。署名追加プログラム162は、途中で異常停止したときにファイル書込前(処理前)、ファイル書込中(処理中)、ファイル書込後(処理後)の3つの状態を区別する必要があるため、待機状態として「署名待機中」と作業状態として「署名書込中」を用意する。ファイル書込後(処理後)の状態は、次の処理の「待機状態」となる。ファイル送信プログラム163は、途中で異常停止したときに送信が完了した(処理後)か、完了していない(処理前・処理中)かがわかれば良いため、待機状態として「送信待機中」を用意する。さらに、一連の処理が完了したことを示すために「送信完了」を用意する。このように処理の内容に応じてファイルの状態を用意する。
そして、ファイルの状態に合わせて、ファイルの状態を管理するために、ファイルの状態数に応じたフォルダを用意する。収集中6Aの状態に対し収集中フォルダ4Aを、署名待機中6Bの状態に対し署名待機フォルダ4Bを、署名書込中6Cの状態に対し署名書込フォルダ4Cを、送信待機中6Dの状態に対し送信待機フォルダ4Dを、送信完了6Eの状態に対し送信完了フォルダ4Eを各々用意する。ファイルの状態が遷移するごとにファイルを格納するフォルダを移動することにより、ファイルがどのフォルダに存在するかでファイルの状態を判断する。
図4は、図3のファイルの状態遷移を纏めたファイル状態遷移定義情報165である。情報収集プログラム161、署名追加プログラム162、ファイル送信プログラム163の処理ごとに、次に実行する処理、処理の分類、フォルダ構成を示す。フォルダには待機状態と作業状態を示すものがあり、処理内容の分類ごとにどちらがあるかが決まる。処理内容の分類には、「生成」「読出」「書込」がある。情報収集プログラム161は、ファイル生成処理をするものであり、ファイルを生成する作業フォルダとして収集中フォルダ4Aを持つ。署名追加プログラム162は、ファイル書込処理をするものであり、待機フォルダとして署名待機フォルダ4Bと、作業フォルダとして署名書込フォルダ4Cを持つ。送信プログラム163は、ファイルを読み出して送信するものであり、待機フォルダとして送信待機フォルダ4Dを持つ。さらに、一連の処理が終わった状態として「終了」があり、そのための待機フォルダとして送信完了フォルダ4Eがある。1つのファイルに対する処理は、情報収集プログラム161、署名追加プログラム162、送信プログラム163の順番で実行し、終了となる。
図5は、情報収集プログラム161のようにファイルを生成するプログラムが利用するファイル生成手順171のフローチャートである。また、図6は、そのときのファイル3とフォルダ4の関係を示したものである。情報収集プログラム161の場合、作業フォルダ4aが収集中フォルダ4Aに、次状態フォルダ4bが署名待機フォルダ4Bに対応する。
この対応関係、すなわち作業フォルダや次状態フォルダの特定は、図4に示した処理に対応した作業状態欄のフォルダを作業フォルダとして、次処理の行の待機状態欄のフォルダを次状態フォルダとする。この特定方法は、情報収集プログラム161に限らず、後述する各処理においても同様である。
図5及び図6を用いて、ファイル生成手順171の処理を説明する。ファイル生成手順171は、作業フォルダ4aでファイルを作成する(ステップ1711)。ファイル名は、すべてのフォルダ4にあるファイルの中で一意になるように生成する。そのため、例えば、ファイルの種類、ファイルを生成する時刻、生成するファイルの通番からファイル名を生成する。ファイルの種類を「data」、時刻を「2008/01/02 03:44:55」、通番を「678」とすると、ファイル名を「data_20080102_034455_678」となる。ファイルの種類は、情報収集プログラム161が監視対象5ごとにファイルを分ける場合や、監視情報そのものと監視情報を元に異常値を検出したというイベント情報とでファイルを分ける場合があるため、それらを識別するように「data」「event」のように指定する。通番は、ファイルの種類ごとに、ファイルを生成した順番ごとに番号が変化するように割り当てる。
ファイル生成手順171は、作業フォルダ4aに作成したファイルに対し、収集した情報を書き込む(ステップ1712)。書き込みが終わったときには、メモリ12上にキャッシュされているファイルが記憶部16に書き込まれるように、フラッシュする。
ファイル生成手順171は、作業フォルダ4aにあるファイルを次状態フォルダ4bに移動する(ステップ1713)。ステップ1713を実行するタイミングは、ステップ1712で一定時間分の情報が集まったときの時間トリガ、一定個数分の情報が集まったときの個数トリガ、ユーザや監視サーバ2からの要求を受け取ったときの要求トリガ、収集した情報に緊急性の高い情報(観測値に異常値が含まれていた等)があるときの優先度トリガを受けたときなどである。以上のように、ファイル生成手順171を実行する。
図7は、署名追加プログラム162のようにファイルに書き込みするプログラムが利用するファイル書込手順172のフローチャートである。また、図8は、そのときのファイル3とフォルダ4の関係を示したものである。署名追加プログラム162の場合、待機フォルダ4cが署名待機フォルダ4Bに、作業フォルダ4dが署名書込フォルダ4Cに、次状態フォルダ4eが送信待機フォルダ4Dに対応する。図7及び図8を用いて、ファイル書込手順172の処理を説明する。
ファイル書込手順172は、待機フォルダ4cにあるファイルの中から書き込みするファイルを選択し、ファイルの内容を読み出す(ステップ1721)。ステップ1721を実行するタイミングは、待機フォルダ4cにファイルが追加されたことを検出したときや、前に実行するプログラムや監視サーバ2からの要求を受け取って待機フォルダ4cにファイルがあることを検出したときなどである。選択するファイルは、プログラムにより実行されるポリシにより異なる。例えば、古いファイルから処理する場合にはファイルのタイムスタンプ(ファイルの生成時刻又は更新時刻)を、ファイルの種類による優先度をつける場合にはファイルの種類を見て、処理を実行する順にファイルを選択する。
ファイル書込手順172は、ステップ1721で読み出したファイルの内容を元に、作業フォルダ4dに同名のファイルを作成し、情報を書き込む(ステップ1722)。署名追加プログラム162の場合は、ファイルの元々の内容と署名情報を書き込む。書き込みが終わったときには、メモリ12上にキャッシュされているファイルが記憶部16に書き込まれるように、フラッシュする。
ファイル書込手順172は、待機フォルダ4cにあるステップ1721で読み出したファイルを削除する(ステップ1723)。ステップ1723を実行するタイミングは、すべての書き込みが完了したときである。ファイル書込手順172は、作業フォルダ4dにあるファイルを次状態フォルダ4eに移動する(ステップ1724)。
なお、ステップ1721で読み出してステップ1722で書き込んでいるが、この組み合わせ処理を複数回繰り返してからステップ1723に進んでも良い。また、一度待機フォルダから作業フォルダにファイルをコピー(ファイルの実体のコピーであり、ステップ1721の読み出しとステップ1722の書き出しとで実現する)し、その後作業フォルダ内のコピーしたファイルを読み込んで、さらにそのファイルに書き込みをしても良い。以上のように、ファイル書込手順172を実行する。
図9は、送信プログラム163のようにファイルに読み出しするプログラムが利用するファイル読出手順173のフローチャートである。また、図10は、そのときのファイル3とフォルダ4の関係を示したものである。送信プログラム163の場合、待機フォルダ4fが送信待機フォルダ4Dに、次状態フォルダ4gが送信完了フォルダ4Eに対応する。図9及び図10を用いて、ファイル読出手順173の処理を説明する。
ファイル読出手順173は、待機フォルダ4fにあるファイルの中から読み出しするファイルを選択し、ファイルの内容を読み出す(ステップ1731)。ステップ1731を実行するタイミングは、待機フォルダ4cにファイルが追加されたことを検出したときや、前に実行するプログラムや監視サーバ2からの要求を受け取って待機フォルダ4cにファイルがあることを検出したときなどである。ファイル送信プログラム163では、ファイルを読み出して、そのファイルを監視サーバ2に送信する。なお、ファイルの選択は、プログラムにより実行されるポリシにより異なる。例えば、古いファイルから処理する場合にはファイルのタイムスタンプを、ファイルの種類による優先度をつける場合にはファイルの種類を見て、どのファイルから処理を実行するかを選択する。
ファイル読出手順173は、待機フォルダ4fにあるファイルを次状態フォルダ4gに移動する(ステップ1732)。ステップ1732を実行するタイミングは、読出処理とそれにかかる処理(送信等)が完了したときである。以上のように、ファイル読出手順173を実行する。
図11は、情報収集プログラム161、署名追加プログラム162、ファイル送信プログラム163などの、管理対象となるファイル3を操作するプログラムが利用するファイル復旧手順175のフローチャートである。ファイル復旧手順175は、これらのプログラムが異常停止したあと、異常停止したプログラムを起動するとき初めに実行することで、ファイルの状態を復旧してから、生成・書込・読出処理を再開する。
ファイル復旧手順175は、管理対象のフォルダ4内のファイル3に対し、以下を実行する。管理対象のフォルダ4は、ファイル生成手順171の場合は作業フォルダ4a、ファイル書込手順172の場合は待機フォルダ4cと作業フォルダ4d、ファイル読出手順173の場合は待機フォルダ4fである。
ファイル復旧手順175は、待機フォルダ、作業フォルダ、及び次状態フォルダのいずれのフォルダにファイルが存在するかをチェックする(ステップ1751)。ファイルの移動はアトミックに実行されるため、可能性があるのは、(1)待機フォルダと作業フォルダとの両方、(2)待機フォルダのみ、(3)作業フォルダのみ、及び(4)次状態フォルダのみのいずれかになる。
(1)待機フォルダと作業フォルダの両方に同一のファイルが存在する場合は、作業フォルダにあるファイルを削除する(ステップ1752)。両方のフォルダにある場合は、ファイル書込手順172の途中で異常停止したときであり、作業フォルダにあるファイルは不完全である可能性があるためである。ファイル復旧手順175の完了後、そのファイルに対する書込処理をもう一度初めからやり直す。
(2)待機フォルダのみにファイルがある場合は、そのままにする。待機フォルダにのみにファイルがある場合は、読出処理や書込処理の途中で異常停止したためである。ファイル復旧手順175の完了後、そのファイルに対する読出処理や書込処理をもう一度初めからやり直す。
(3)作業フォルダのみにファイルがある場合は、処理の種別が「生成」であるかをチェックする(ステップ1753)。生成処理の場合、作業フォルダにあるファイルを削除する(ステップ1752)。これは、ファイル生成手順171の途中で異常停止したときであるため、作業フォルダにあるファイルは壊れている可能性があるためである。一方、生成処理でない場合、作業フォルダを利用する読出処理はないため(ステップ1754)、作業フォルダのファイルを次状態フォルダに移動する(ステップ1756)。これは、ファイル書込手順172のステップ1724以降でプログラムが異常停止した場合であり、書込処理自体は正常に完了しているため、ステップ1724の処理に対応するファイル移動を実行すれば良い。
(4)次状態フォルダのみにファイルがある場合は、そのままにする。次状態フォルダにファイルがある場合は、生成・読出・書込の処理が完了したときであるからである。以上のように、ファイル復旧手順175を実行する。
なお、情報収集プログラム161、署名追加プログラム162、及びファイル送信プログラム163のそれぞれがファイル復旧手順175を持つように説明したが、代わりにファイル復旧プログラムを用意し、ファイル状態遷移定義情報165に従ってファイル復旧プログラムがすべてのプログラムのファイル復旧手順175をまとめて実行しても良い。その場合には、ファイル復旧プログラムを実行してから、異常停止したプログラムを再起動する。
上記では不完全なファイルを削除しているが、代わりにバックアップ用フォルダを用意し、不完全なファイルをバックアップ用フォルダに移動し、後から参照できるようにしても良い。
また、上記ではファイル生成中に異常停止して残ったファイルを削除しているが、前述したファイル名の生成により、全く同じファイル名のファイルを改めて作成することはないため、ファイルを残したままにしても良い。
上記で説明したように、処理の状態ごとにフォルダを用意して区別するため、生成や書込処理の途中で不完全なファイルを検出することが容易である。また、書込途中でプログラムが異常停止した場合でも、書き込み前の状態に戻すことができる。さらに、送信完了したファイルを区別できるため、同じファイルを複数回送信するような無駄を省くことができる。
以下、本実施例を、図2、図5〜図6、図9〜図14を参照して詳細に説明する。本実施例は、監視クライアント端末1で監視情報を収集し、複数の監視サーバ2に送信するものである。
図12は、ファイル3の状態に合わせて用意するフォルダ4の構成を示したものである。ファイル3の状態は、情報収集プログラム161が監視情報を収集してファイルを作成するまでは実施例1と同様であるが、送信先の監視サーバ2ごとに独立してファイルを送信するため、監視サーバ2の数に応じた送信待機中か送信完了かの状態がある。そこで、送信先ごとにファイル3の状態を管理できるようにするため、1つのファイルの実体に対し送信先の数に応じたリンク(ハードリンク)を作成する。ファイルの状態を「収集中」から送信先ごとの「送信待機」へと繋げるための処理として、その間にファイル3のリンクを作成する分岐処理を加える。よって、ファイル3に対する処理には、情報収集プログラム161によるファイルの生成、送信先分岐プログラム164によるファイル分岐、ファイル送信プログラム163による監視サーバ2に送信するときの読出処理となる。
プログラムが異常停止した場合でも、復旧時にファイルの状態を一意に判断できるようにするために、それぞれの処理の処理前、処理中、及び処理後がわかるように状態を作成する。具体的には、処理前を「待機状態」、処理中を「作業状態」、処理後を次の処理の「待機状態」とする。情報収集プログラム161は、処理前がなく、途中で異常停止したときにファイル生成中(処理中)か、ファイルが完成した(処理後)かの2つの状態がわかる必要があるため、作業状態として「収集中」を用意する。送信先分岐プログラム164は、途中で異常停止したときにファイル分岐前(処理前)・ファイル分岐中(処理中)・ファイル分岐後(処理後)の3つを区別する必要があるため、待機状態として「分岐待機中」を、作業状態として送信先ごとに「分岐中」を用意する。ファイル送信プログラム163は、途中で異常停止したときに送信が完了した(処理後)か、完了していない(処理前・処理中)かがわかれば良いため、送信先ごとに待機状態として「送信待機中」を用意する。さらに、一連の処理が完了したことを示すために送信先ごとに「送信完了」を用意する。このように処理の内容に応じてファイルの状態を用意する。
図13は、図12のフォルダ構成を利用するファイルの状態遷移を纏めたファイル状態遷移定義情報165’である。情報収集プログラム161、送信先分岐プログラム164、及びファイル送信プログラム163の各処理ごとに、次に実行する処理、処理の分類、フォルダ構成を示す。フォルダには、待機フォルダと作業フォルダがあり、処理の分類ごとにどちらがあるかが決まる。情報収集プログラム161は、ファイル生成処理をするものであり、ファイルを生成する作業フォルダとして収集中フォルダ4Aを持つ。送信先分岐プログラム164は、ファイル分岐処理をするものであり、待機フォルダとして分岐待機フォルダ4Fと、監視サーバ2a用の作業フォルダとして分岐中フォルダ4Ga、監視サーバ2b用の作業フォルダとして分岐中フォルダ4Gbを持つ。送信プログラム163は、待機フォルダとして送信待機フォルダ4Da、4Dbを持つ。さらに、一連の処理が終わった状態として「終了」があり、そのための待機フォルダとして送信完了フォルダ4Ea、4Ebがある。1つのファイルに対する処理は、情報収集プログラム161、送信先分岐プログラム164、送信プログラム163(監視サーバ2a向けと監視サーバ2b向けとの間で実行順序は任意)の順番で実行し、終了となる。
図2は、実施例1で説明したように、監視クライアント端末1の構成を示したものである。記憶部16には、監視対象5から監視情報を収集しファイルに書き込む情報収集プログラム161と、実施例1では説明しなかった、送信先の監視サーバ2ごとにファイルを分岐する送信先分岐プログラム164と、分岐したファイルを監視サーバ2に送信する送信プログラム163を格納する。情報収集プログラム161はファイル生成手順171を、送信先分岐プログラム164はファイル分岐手順174を、送信プログラム163はファイル読出手順173を持つ。また、情報収集プログラム161と送信先分岐プログラム164と送信プログラム163は共に、ファイル復旧手順175を持つ。
図5は、情報収集プログラム161のようにファイルを生成するプログラムが利用するファイル生成手順171のフローチャートである。また、図6は、そのときのフォルダとファイルの関係を示したものである。情報収集プログラム161の場合、作業フォルダ4aが収集中フォルダ4Aに、次状態フォルダ4bが分岐待機フォルダ4Fに対応する。ファイル生成手順171は、実施例1と同様であるので、説明を省略する。
図14は、送信先分岐プログラム164のようにファイルを分岐するプログラムが利用するファイル分岐手順174のフローチャートである。
ファイル分岐手順174は、分岐先の数に応じた分岐中フォルダにリンクを作成する(ステップ1641)。図12の場合、分岐待機フォルダ4Fにあるファイルのリンクを分岐中フォルダ4Ga、4Gbに作成する。
ファイル分岐手順174は、分岐待機フォルダ内のファイルを削除する(ステップ1642)。このファイルの削除は、ファイルの実体と分岐待機フォルダとのリンクの削除であり、ファイルの実体は削除されない。ステップ1641で分岐中フォルダにリンクを作成しており、ファイルの実体に少なくとも一つのリンクが存在すれば、ファイルの実体は削除されない。
ファイル分岐手順174は、分岐の数に応じて、ステップ1641で作成した分岐中フォルダ内のリンクを、次状態フォルダに移動する(ステップ1643)。図12の場合、分岐中フォルダ4Gaから送信待機フォルダ4Daに、分岐中フォルダ4Gbから送信待機フォルダ4Dbに移動する。
図9は、ファイル送信プログラム163のようにファイルに読み出しするプログラムが利用するファイル読出手順173のフローチャートである。また、図10は、そのときのフォルダとファイルの関係を示したものである。監視サーバ2aに送信する場合、待機フォルダ4fが送信待機フォルダ4Daに、次状態フォルダ4gが送信完了フォルダ4Eaに対応する。監視サーバ2bに送信する場合、待機フォルダ4fが送信待機フォルダ4Dbに、次状態フォルダ4gが送信完了フォルダ4Ebに対応する。ファイル読出手順173は、実施例1と同様であるので、説明を省略する。
図11は、情報収集プログラム161、送信先分岐プログラム164、ファイル送信プログラム163など管理対象となるファイルを操作するプログラムが利用するファイル復旧手順175のフローチャートである。ファイル復旧手順175は、これらのプログラムが異常停止したあと、異常停止したプログラムを起動するとき初めに実行することで、ファイルの状態を復旧してから、生成・分岐・読出処理を再開する。
情報収集プログラム161・ファイル送信プログラム163でのファイル復旧手順については実施例1と同様であるので、説明を省略する。ここでは、送信先分岐プログラム164でのファイル復旧手順について説明する。
ファイル復旧手順175は、管理対象のフォルダ内のファイルに対し、以下を実行する。管理対象のフォルダとは、送信先分岐プログラム164の場合は待機フォルダ(分岐待機フォルダ4F)と作業フォルダ(分岐中フォルダ4Ga、4Gb)である。
ファイル復旧手順175は、待機フォルダ、作業フォルダ、及び次状態フォルダのいずれのフォルダにファイルが存在するかをチェックする(ステップ1751)。ファイルの移動はアトミックに実行されるため、可能性があるのは、(1)待機フォルダと作業フォルダとの両方、(2)待機フォルダのみ、(3)作業フォルダのみ、(4)次状態フォルダのみのいずれかになる。
(1)待機フォルダと作業フォルダの両方に同一のファイルが存在する場合は、作業フォルダにあるファイルを削除する(ステップ1752)。両方のフォルダにある場合は、ファイル分岐手順174のステップ1641の途中で異常停止したときであるため、途中まで作成したファイル(リンク)を削除する。ファイル復旧手順175完了後、そのファイルに対する分岐処理をもう一度初めからやり直す。
(2)待機フォルダのみにファイルがある場合は、そのままにする。待機フォルダにのみにある場合は、ファイル分岐手順174のステップ1641の実行前に異常停止したためである。ファイル復旧手順175完了後、そのファイルに対する分岐処理をもう一度初めからやり直す。
(3)作業フォルダのみにファイルがある場合、ファイル分岐手順174は生成処理(ステップ1753)でも読出処理(ステップ1754)でもないため、作業フォルダのファイルを次状態フォルダに移動する(ステップ1756)。これは、ファイル分岐手順174のステップ1642完了後に異常停止した場合であり、分岐処理自体は正常に完了しているため、ステップ1643の処理に相当するファイル移動を実行すれば良い。
(4)次状態フォルダのみにファイルがある場合は、そのままにする。次状態フォルダにファイルがある場合は、分岐処理が完了したときであるからである。以上のように、ファイル復旧手順175を実行する。
上記したように、分岐処理においてファイルをコピーする代わりにリンクを作成している。同じ内容のファイルを複数作成する必要がないため、ディスクの無駄がない。
また、上記ではファイル分岐後に書込処理のない例を示しているが、送信先ごとに異なる書込処理を行う場合であっても問題なく動作する。書込処理を行うときは、元のファイルを残したまま、その情報を元に同一ファイル名の別ファイルを作成するため、リンクが指すファイルの実体に対する変更はしない。そのため、他の送信先に関する書込処理の影響を受けない。
実施例1では、ファイルを読み出し監視サーバ2に送信する送信プログラム163で、途中で異常停止したときに送信が完了した(処理後)か、完了していない(処理前・処理中)かがわかれば良いため、待機状態として「送信待機中」を用意した。ここでは、異常停止したときに送信中であったファイルを区別できるようにするために、送信が完了した(処理後)か、送信の途中(処理中)か、送信を開始していない(処理前)かの3つの状態を区別するため、待機状態として「送信待機中」、作業状態として「送信中」を用意する。
図15は、送信プログラム163のようにファイルに読み出しするプログラムが利用するファイル読出手順173’のフローチャートである。また、図16は、そのときのファイルとフォルダの関係を示したものである。送信プログラム163の場合、送信待機中には待機フォルダ4h、送信中には作業フォルダ4i、送信完了には次状態フォルダ4jが対応する。
図15及び図16を用いて、ファイル読出手順173の処理を説明する。ファイル読出手順173’は、待機フォルダ4hにあるファイルの中から読み出すファイルを選択し、作業フォルダ4iに移動する(ステップ1731’)。ステップ1731’を実行するタイミングは、待機フォルダ4cにファイルが追加されたことを検出したときや、前に実行するプログラムや監視サーバ2からの要求を受け取って待機フォルダ4cにファイルがあることを検出したときなどである。
ファイル読出手順173’は、作業フォルダ4iにあるファイルから情報を読み出す(ステップ1732’)。ファイル送信プログラム163では、ファイルを読み出し、そのファイルを監視サーバ2に送信する。
ファイル読出手順173’は、作業フォルダ4iにあるファイルを次状態フォルダ4jに移動する(ステップ1733’)。ステップ1733’を実行するタイミングは、読出処理と送信等のそれにかかる処理が完了したときである。以上のように、ファイル読出手順173’を実行する。
図11は、ファイル送信プログラム163など管理対象となるファイルを操作するプログラムが利用するファイル復旧手順175のフローチャートである。ファイル復旧手順175は、これらのプログラムが異常停止したあと、異常停止したプログラムを起動するとき初めに実行することで、ファイルの状態を復旧してから、読出処理を再開する。ファイル読出手順173’で待機状態と作業状態を分ける場合のファイル復旧手順について説明する。
ファイル復旧手順175は、管理対象のフォルダ内のファイルに対し、以下を実行する。ファイル復旧手順175は、待機フォルダ、作業フォルダ、及び次状態フォルダのいずれのフォルダにファイルが存在するかをチェックする(ステップ1751)。ファイルの移動はアトミックに実行されるため、可能性があるのは、(1)待機フォルダのみ、(2)作業フォルダのみ、(3)次状態フォルダのみのいずれかになる。
(1)待機フォルダのみにファイルがある場合は、そのままとする。待機フォルダにのみにある場合は、ファイル読出手順173’の実行前に異常停止したためである。ファイル復旧手順175完了後、そのファイルに対する読出処理をもう一度初めからやり直す。
(2)作業フォルダのみにファイルがある場合、ファイル読出手順173’は生成処理ではなく(ステップ1753)、読出処理であるため(ステップ1754)、作業フォルダのファイルを待機フォルダに移動する(ステップ1755)。これはファイル読出手順173’で読出処理の途中でプログラムが異常停止した場合であり、そのファイルに対する読出処理をもう一度初めからやり直す。
(3)次状態フォルダのみにファイルがある場合は、そのままにする。次状態フォルダにファイルがある場合は、読出の処理が完了したときであるからである。以上のように、ファイル復旧手順175を実行する。
なお、ファイル復旧手順175のステップ1755で移動の対象となる作業フォルダ内のファイルは、読出処理の途中のファイルである。つまり、送信プログラム163の場合は、送信途中のファイルである。復旧処理時にどのファイルを処理時に異常停止が発生したかを検出することができる。
実施例1〜3では、ファイルの移動のアトミック性が保証されたシステムコールなどを利用していた。代わりに、リンクの作成(link)、削除(unlink)の操作を利用してファイルの移動を実現する場合について述べる。なお、リンクの作成及び削除はともに、ファイルシステムによりアトミック性が保証された操作である。
リンクの作成と削除を利用してファイルを移動する場合、移動前フォルダにあるファイルの実体に対するリンクを移動後フォルダに作成する。リンク作成後、移動前フォルダにあるファイル(リンク)を削除する。ファイルの実体に対するリンクが移動後フォルダに存在するため、ファイルの実体は残る。
リンクの作成と削除を利用したファイルの移動の場合、プログラムが途中で異常停止すると、リンクの作成後で1つのファイルの実体にリンクが複数存在する状態になる可能性がある。そのときのファイル復旧手順175について述べる。
図11を用いて、ファイルの移動にリンクの作成と削除を利用する場合のファイル復旧手順を説明する。リンクの作成と削除の途中でプログラムが異常停止する場合、図6のファイル作成手順171で作業フォルダから次状態フォルダに移動するとき、図8のファイル書込手順172で作業フォルダから次状態フォルダに移動するとき、図10のファイル読出手順173で待機フォルダから次状態フォルダに移動するとき、図12のファイル分岐手順174で分岐中フォルダから次状態フォルダに移動するとき、図16のファイル読出手順173’で作業フォルダから次状態フォルダに移動するときの、生成、書込、読出、及び分岐処理のいずれかが完了した後のファイル移動と、図16のファイル読出手順173’で待機フォルダから作業フォルダにファイルを移動するときである。前者については、処理完了後のファイル移動であるため、復旧時には次状態フォルダにのみファイルが存在するようにすれば良い。後者については、読出処理の途中であるため、読出を初めからやり直すために、待機フォルダにのみファイルが存在するようにすれば良い。
そこで、実施例1〜3ではなかった、(1)作業フォルダと次状態フォルダの両方に同一のファイルがある場合と、(2)待機フォルダと次状態フォルダの両方に同一のファイルがある場合、及び、(3)ファイル読み出し手順173’を利用するプログラムで待機フォルダと作業フォルダの両方に同一ファイルがある場合について説明する。
ファイル復旧手順175は、待機フォルダ、作業フォルダ、及び次状態フォルダのいずれのフォルダにファイルが存在するかをチェックする(ステップ1751)。
(1)作業フォルダと次状態フォルダの両方に同一のファイルが存在する場合は、作業フォルダにあるファイルを削除する(ステップ1752)。両方のフォルダにある場合は、生成、書込、分岐のいずれかの処理が完了後のファイル移動の途中で異常停止した場合であるため、ファイルの状態を次状態に移せばよい。
(2)待機フォルダと次状態フォルダの両方に同一のファイルが存在する場合は、待機フォルダにあるファイルを削除する(ステップ1757)。両方のフォルダにある場合は、読出処理完了後のファイル移動の途中で異常停止した場合であるため、ファイルの状態を次状態に移せばよい。
(3)ファイル読出手順173’を実行するプログラムで待機フォルダと作業フォルダの両方に同一のファイルが存在する場合は、作業フォルダにあるファイルを削除する(ステップ1752)。両方のフォルダにある場合は、読出処理開始前のファイル移動の途中で異常停止した場合であるため、ファイルの状態を読出処理前に戻す。ファイル復旧手順175完了後、そのファイルに対する読出処理をもう一度初めからやり直す。以上のように、ファイル復旧手順175を実行する。
上記した実施形態では、ファイル復旧手順175を実行することにより、待機フォルダか次状態フォルダのどちらかになるように復旧している。しかし、作業の途中で異常停止が発生した場合、作業自体が中途半端なところまで実行されているため、再度同じ処理を初めから実行するのではなく、例えば人手で処理するなどの例外系の処理を実行したい場合がある。そこで、ファイル復旧手段175を実行することにより待機フォルダにファイルが移った場合には、そのファイルを作業失敗用フォルダに移動しても良い。作業失敗用フォルダに格納したファイルは、前記の例外系のファイル処理を行う。
上記した実施形態では、フォルダを利用することでファイルの状態を管理していたが、代わりにファイル名の一部を状態名として利用しても良い。ファイルの状態が変わる場合には、状態名の部分が変わるようにファイル名を変更する。
また、上記した実施形態では、「終了」という一連の処理が完了した状態を用意しているが、「終了」になったものを利用することがないのであれば、「終了」のフォルダにファイルを移動する代わりに、ファイルを削除しても良い。
監視システムの構成図である。 監視クライアント端末の構成図である。 ファイル状態遷移とフォルダ構成の関係を示した図である。 ファイル状態遷移定義情報を示した図である。 ファイル生成手順のフローチャートである。 ファイル生成時のファイルとフォルダ構成の関係を示した図である。 ファイル書込手順のフローチャートである。 ファイル書込時のファイルとフォルダ構成の関係を示した図である。 ファイル読出手順のフローチャートである。 ファイル読出時のファイルとフォルダ構成の関係を示した図である。 ファイル復旧手順のフローチャートである。 分岐処理におけるフォルダ構成である。 ファイル状態遷移定義情報を示した図である。 ファイル分岐手順のフローチャートである。 ファイル読出手順のフローチャートである。 ファイル読出時のファイルとフォルダ構成の関係を示した図である。
符号の説明
1:監視クライアント端末、2:監視サーバ端末、3:ファイル、4:フォルダ、5:監視対象、6A〜6E:ファイルの状態、11:CPU、12:メモリ、13:入力部、14:出力部、15:通信部、16:記憶部、161:情報収集プログラム、162:署名追加プログラム、163:送信プログラム、164:送信先分岐プログラム、165、165’:ファイル状態遷移定義表、171:ファイル生成手順、172:ファイル書込手順、173、173’:ファイル読出手順、174:ファイル分岐手順、175:ファイル復旧手順。

Claims (12)

  1. ファイルに対する第1の処理の待機状態を表す待機フォルダと、前記ファイルに対する前記第1の処理の作業状態を表す作業フォルダと、前記ファイルに対する前記第1の処理の次の処理である第2の処理の待機状態を表す次待機フォルダとを有し、さらに前記第1の処理と前記待機フォルダ及び前記作業フォルダとの対応および前記第2の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記第1の処理を実行するためのプログラムを格納するメモリとに接続したCPUにより、
    前記待機フォルダから前記メモリに前記ファイルを読み出し、
    前記読み出した前記ファイルに対して前記第1の処理を実行し、
    前記ファイルへの前記第1の処理の完了に応答して、前記メモリ上の前記ファイルを前記作業フォルダに格納し、
    前記待機フォルダから前記ファイルを削除し、
    前記ファイル状態遷移定義情報を参照して、前記作業フォルダから前記待機フォルダに前記ファイルを移動し、
    前記プログラムの異常停止後の復旧時には、前記待機フォルダと前記作業フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除し、
    前記作業フォルダのみに前記ファイルがあれば、前記ファイルを前記次待機フォルダに移動し、
    前記作業フォルダと前記次待機フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除することを特徴とするファイル管理方法。
  2. ファイルに対する第1の処理の待機状態を表す待機フォルダと、前記ファイルに対する前記第1の処理の作業状態を表すフォルダと、前記ファイルに対する前記第1の処理の次の処理である第2の処理の待機状態を表す次待機フォルダを有し、さらに前記第1の処理と前記待機フォルダ及び前記作業フォルダとの対応および前記第2の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記第1の処理を実行するためのプログラムを格納するメモリとに接続したCPUにより、
    前記ファイル状態遷移定義情報を参照して、前記待機フォルダから前記ファイルを前記作業フォルダに移動し、
    前記作業フォルダから前記ファイルを前記メモリに読み出し、
    前記読み出した前記ファイルに対して前記第1の処理を実行し、
    前記ファイルへの前記第1の処理の完了に応答して、前記ファイル状態遷移定義情報を参照して、前記作業フォルダから前記次待機フォルダに前記ファイルを移動し、
    前記プログラムの異常停止後の復旧時には、前記作業フォルダのみに前記ファイルがあれば、前記ファイルを前記次待機フォルダに移動し、
    前記待機フォルダと前記作業フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除し、
    前記作業フォルダと前記次待機フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除することを特徴とするファイル管理方法。
  3. ファイルを処理する複数の処理に前記ファイルを分岐するための待機状態を表す待機フォルダと、前記複数の処理の数に対応した、前記複数の処理のそれぞれの作業状態を表す複数の作業フォルダと、前記ファイルに対する前記複数の処理のそれぞれの次の処理の待機状態を表す複数の次待機フォルダを有し、さらに前記複数の処理と前記待機フォルダ及び前記複数の作業フォルダとの対応および前記複数の次の処理と前記複数の次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記複数の処理を実行するためのプログラムを格納するメモリとに接続したCPUにより、
    前記待機フォルダの前記ファイルを前記複数の作業フォルダにリンクし、
    前記待機フォルダから前記ファイルを削除し、
    前記ファイル状態遷移定義情報を参照して、前記複数の作業フォルダの各々から、対応する前記複数の次待機フォルダの各々に前記ファイルを移動し、
    前記プログラムの異常停止後の復旧時には、前記待機フォルダと前記複数の作業フォルダの少なくとも一つとに前記ファイルがあれば、前記複数の作業フォルダのうちの前記ファイルがある作業フォルダから前記ファイルを削除し、
    前記複数の作業フォルダのみに前記ファイルがあれば、前記ファイル状態遷移定義情報を参照して、前記複数の作業フォルダの各々の前記ファイルを対応する前記複数の次待機フォルダの各々に移動し、
    前記複数の作業フォルダの少なくとも一つと前記複数の次待機フォルダの少なくとも一つとに前記ファイルがあれば、前記ファイル状態遷移定義情報を参照して、前記複数の作業フォルダの各々の前記ファイルを対応する前記次待機フォルダに移動することを特徴とするファイル管理方法。
  4. ファイルに対する第1の処理の待機状態を表す待機フォルダと、前記ファイルに対する前記第1の処理の次の処理である第2の処理の待機状態を表す次待機フォルダとを有し、さらに前記第1の処理と前記待機フォルダとの対応および前記第2の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記第1の処理を実行するためのプログラムを格納するメモリとに接続したCPUにより、
    前記待機フォルダから前記メモリに前記ファイルを読み出し、
    前記ファイルへの前記第1の処理の完了に応答して、前記ファイル状態遷移定義情報を参照して、前記待機フォルダから前記次待機フォルダに前記ファイルを移動し、
    前記プログラムの異常停止後の復旧時には、前記待機フォルダと前記次待機フォルダとに前記ファイルがあれば、前記待機フォルダから前記ファイルを削除することを特徴とするファイル管理方法。
  5. ファイルに対する第1の処理の待機状態を表す待機フォルダと、前記ファイルに対する前記第1の処理の作業状態を表す作業フォルダと、前記ファイルに対する前記第1の処理の次の処理である第2の処理の待機状態を表す次待機フォルダとを有し、さらに前記第1の処理と前記待機フォルダ及び前記作業フォルダとの対応および前記第2の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、
    前記第1の処理を実行するためのプログラムを格納するメモリと、
    前記記憶装置と前記メモリとに接続したCPUとを設け、前記CPUは、
    前記待機フォルダから前記メモリに前記ファイルを読み出す手段、
    前記読み出した前記ファイルに対して前記第1の処理を実行する手段、
    前記ファイルへの前記第1の処理の完了に応答して、前記メモリ上の前記ファイルを前記作業フォルダに格納する手段、
    前記待機フォルダから前記ファイルを削除する手段、
    前記ファイル状態遷移定義情報を参照して、前記作業フォルダから前記待機フォルダに前記ファイルを移動する手段、
    前記プログラムの異常停止後の復旧時に、前記待機フォルダと前記作業フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除する手段、
    前記プログラムの異常停止後の復旧時に、前記作業フォルダのみに前記ファイルがあれば、前記ファイルを前記次待機フォルダに移動する手段、及び
    前記プログラムの異常停止後の復旧時に、前記作業フォルダと前記次待機フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除する手段を有することを特徴とするファイル管理装置。
  6. ファイルに対する第1の処理の待機状態を表す待機フォルダと、前記ファイルに対する前記第1の処理の作業状態を表すフォルダと、前記ファイルに対する前記第1の処理の次の処理である第2の処理の待機状態を表す次待機フォルダを有し、さらに前記第1の処理と前記待機フォルダ及び前記作業フォルダとの対応および前記第2の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記第1の処理を実行するためのプログラムを格納するメモリと、
    前記記憶装置と前記メモリとに接続したCPUとを設け、前記CPUは、
    前記ファイル状態遷移定義情報を参照して、前記待機フォルダから前記ファイルを前記作業フォルダに移動する手段、
    前記作業フォルダから前記ファイルを前記メモリに読み出す手段、
    前記読み出した前記ファイルに対して前記第1の処理を実行する手段、
    前記ファイルへの前記第1の処理の完了に応答して、前記ファイル状態遷移定義情報を参照して、前記作業フォルダから前記次待機フォルダに前記ファイルを移動する手段、
    前記プログラムの異常停止後の復旧時に、前記作業フォルダのみに前記ファイルがあれば、前記ファイルを前記次待機フォルダに移動する手段、
    前記プログラムの異常停止後の復旧時に、前記待機フォルダと前記作業フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除する手段、及び、
    前記プログラムの異常停止後の復旧時に、前記作業フォルダと前記次待機フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除する手段を有することを特徴とするファイル管理装置。
  7. ファイルを処理する複数の処理に前記ファイルを分岐するための待機状態を表す待機フォルダと、前記複数の処理の数に対応した、前記複数の処理のそれぞれの作業状態を表す複数の作業フォルダと、前記ファイルに対する前記複数の処理のそれぞれの次の処理の待機状態を表す複数の次待機フォルダを有し、さらに前記複数の処理と前記待機フォルダ及び前記複数の作業フォルダとの対応および前記複数の次の処理と前記複数の次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記複数の処理を実行するためのプログラムを格納するメモリと、
    前記記憶装置と前記メモリとに接続したCPUとを設け、前記CPUは、
    前記待機フォルダの前記ファイルを前記複数の作業フォルダにリンクする手段、
    前記待機フォルダから前記ファイルを削除する手段、
    前記ファイル状態遷移定義情報を参照して、前記複数の作業フォルダの各々から、対応する前記複数の次待機フォルダの各々に前記ファイルを移動する手段、
    前記プログラムの異常停止後の復旧時に、前記待機フォルダと前記複数の作業フォルダの少なくとも一つとに前記ファイルがあれば、前記複数の作業フォルダのうちの前記ファイルがある作業フォルダから前記ファイルを削除する手段、
    前記プログラムの異常停止後の復旧時に、前記複数の作業フォルダのみに前記ファイルがあれば、前記ファイル状態遷移定義情報を参照して、前記複数の作業フォルダの各々の前記ファイルを対応する前記複数の次待機フォルダの各々に移動する手段、及び
    前記プログラムの異常停止後の復旧時に、前記複数の作業フォルダの少なくとも一つと前記複数の次待機フォルダの少なくとも一つとに前記ファイルがあれば、前記ファイル状態遷移定義情報を参照して、前記複数の作業フォルダの各々の前記ファイルを対応する前記次待機フォルダに移動する手段を有することを特徴とするファイル管理装置。
  8. ファイルに対する第1の処理の待機状態を表す待機フォルダと、前記ファイルに対する前記第1の処理の次の処理である第2の処理の待機状態を表す次待機フォルダとを有し、さらに前記第1の処理と前記待機フォルダとの対応および前記第2の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、
    前記第1の処理を実行するためのプログラムを格納するメモリと、
    前記記憶装置と前記メモリとに接続したCPUとを設け、前記CPUは、
    前記待機フォルダから前記メモリに前記ファイルを読み出す手段、
    前記ファイルへの前記第1の処理の完了に応答して、前記ファイル状態遷移定義情報を参照して、前記待機フォルダから前記次待機フォルダに前記ファイルを移動する手段、
    前記プログラムの異常停止後の復旧時に、前記待機フォルダと前記次待機フォルダとに前記ファイルがあれば、前記待機フォルダから前記ファイルを削除する手段を有することを特徴とするファイル管理装置。
  9. ファイルに対する第1の処理の待機状態を表す待機フォルダと、前記ファイルに対する前記第1の処理の作業状態を表す作業フォルダと、前記ファイルに対する前記第1の処理の次の処理である第2の処理の待機状態を表す次待機フォルダとを有し、さらに前記第1の処理と前記待機フォルダ及び前記作業フォルダとの対応および前記第2の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記第1の処理を実行するためのプログラムを格納するメモリと、
    前記記憶装置と前記メモリとに接続したCPUとを有するコンピュータに実行させるための、前記プログラムを含むファイル管理プログラムであって、
    前記待機フォルダから前記メモリに前記ファイルを読み出す手順、
    前記読み出した前記ファイルに対して前記第1の処理を実行する手順、
    前記ファイルへの前記第1の処理の完了に応答して、前記メモリ上の前記ファイルを前記作業フォルダに格納する手順、
    前記待機フォルダから前記ファイルを削除する手順、
    前記ファイル状態遷移定義情報を参照して、前記作業フォルダから前記次待機フォルダに前記ファイルを移動する手順、
    前記プログラムの異常停止後の復旧時には、前記待機フォルダと前記作業フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除する手順、
    前記作業フォルダのみに前記ファイルがあれば、前記ファイルを前記次待機フォルダに移動する手順、
    前記作業フォルダと前記次待機フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除する手順を実行させるためのファイル管理プログラム。
  10. ファイルに対する第1の処理の待機状態を表す待機フォルダと、前記ファイルに対する前記第1の処理の作業状態を表すフォルダと、前記ファイルに対する前記第1の処理の次の処理である第2の処理の待機状態を表す次待機フォルダを有し、さらに前記第1の処理と前記待機フォルダ及び前記作業フォルダとの対応および前記第2の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記第1の処理を実行するためのプログラムを格納するメモリと、
    前記記憶装置と前記メモリとに接続したCPUとを有するコンピュータに実行させるための、前記プログラムを含むファイル管理プログラムであって、
    前記ファイル状態遷移定義情報を参照して、前記待機フォルダから前記ファイルを前記作業フォルダに移動する手順、
    前記作業フォルダから前記ファイルを前記メモリに読み出す手順、
    前記読み出した前記ファイルに対して前記第1の処理を実行する手順、
    前記ファイルへの前記第1の処理の完了に応答して、前記ファイル状態遷移定義情報を参照して、前記作業フォルダから前記次待機フォルダに前記ファイルを移動する手順、
    前記プログラムの異常停止後の復旧時には、前記作業フォルダのみに前記ファイルがあれば、前記ファイルを前記次待機フォルダに移動する手順、
    前記待機フォルダと前記作業フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除する手順、
    前記作業フォルダと前記次待機フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除する手順を実行させるためのファイル管理プログラム。
  11. ファイルを処理する複数の処理に前記ファイルを分岐するための待機状態を表す待機フォルダと、前記複数の処理の数に対応した、前記複数の処理のそれぞれの作業状態を表す複数の作業フォルダと、前記ファイルに対する前記複数の処理のそれぞれの次の処理の待機状態を表す複数の次待機フォルダを有し、さらに前記複数の処理と前記待機フォルダ及び前記複数の作業フォルダとの対応および前記複数の次の処理と前記複数の次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記複数の処理を実行するためのプログラムを格納するメモリと、
    前記記憶装置と前記メモリとに接続したCPUとを有するコンピュータに実行させるための、前記プログラムを含むファイル管理プログラムであって、
    前記待機フォルダの前記ファイルを前記複数の作業フォルダにリンクする手順、
    前記待機フォルダから前記ファイルを削除する手順、
    前記ファイル状態遷移定義情報を参照して、前記複数の作業フォルダの各々から、対応する前記複数の次待機フォルダの各々に前記ファイルを移動する手順、
    前記プログラムの異常停止後の復旧時には、前記待機フォルダと前記複数の作業フォルダの少なくとも一つとに前記ファイルがあれば、前記複数の作業フォルダのうちの前記ファイルがある作業フォルダから前記ファイルを削除する手順、
    前記複数の作業フォルダのみに前記ファイルがあれば、前記ファイル状態遷移定義情報を参照して、前記複数の作業フォルダの各々の前記ファイルを対応する前記複数の次待機フォルダの各々に移動する手順、
    前記複数の作業フォルダの少なくとも一つと前記複数の次待機フォルダの少なくとも一つとに前記ファイルがあれば、前記ファイル状態遷移定義情報を参照して、前記複数の作業フォルダの各々の前記ファイルを対応する前記次待機フォルダに移動する手順を実行させるためのファイル管理プログラム。
  12. ファイルに対する第1の処理の待機状態を表す待機フォルダと、前記ファイルに対する前記第1の処理の次の処理である第2の処理の待機状態を表す次待機フォルダとを有し、さらに前記第1の処理と前記待機フォルダとの対応および前記第2の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記第1の処理を実行するためのプログラムを格納するメモリと、
    前記記憶装置と前記メモリとに接続したCPUとを有するコンピュータに実行させるための、前記プログラムを含むファイル管理プログラムであって、
    前記待機フォルダから前記メモリに前記ファイルを読み出す手順、
    前記ファイルへの前記第1の処理の完了に応答して、前記ファイル状態遷移定義情報を参照して、前記待機フォルダから前記次待機フォルダに前記ファイルを移動する手順、
    前記プログラムの異常停止後の復旧時には、前記待機フォルダと前記次待機フォルダとに前記ファイルがあれば、前記待機フォルダから前記ファイルを削除する手順を実行させるためのファイル管理プログラム。
JP2008205469A 2008-08-08 2008-08-08 ファイル管理方法、装置及びプログラム Expired - Fee Related JP5465401B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008205469A JP5465401B2 (ja) 2008-08-08 2008-08-08 ファイル管理方法、装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008205469A JP5465401B2 (ja) 2008-08-08 2008-08-08 ファイル管理方法、装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2010039988A JP2010039988A (ja) 2010-02-18
JP5465401B2 true JP5465401B2 (ja) 2014-04-09

Family

ID=42012423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008205469A Expired - Fee Related JP5465401B2 (ja) 2008-08-08 2008-08-08 ファイル管理方法、装置及びプログラム

Country Status (1)

Country Link
JP (1) JP5465401B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5927968B2 (ja) * 2012-02-14 2016-06-01 株式会社バッファロー 外付け記憶装置のためのデータ移動プログラム、データ移動方法、ホスト装置、データ移動システム、及び、外付け記憶装置
CN113126928B (zh) * 2021-04-22 2024-01-23 北京百度网讯科技有限公司 文件移动方法及装置、电子设备和介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3508285B2 (ja) * 1995-04-18 2004-03-22 富士ゼロックス株式会社 プリントジョブスケジューリング装置
JP4261649B2 (ja) * 1998-10-30 2009-04-30 キヤノン株式会社 画像処理装置、方法、記録媒体
JP3792418B2 (ja) * 1998-11-11 2006-07-05 大日本スクリーン製造株式会社 画像処理方法およびその装置
JP2001109782A (ja) * 1999-10-13 2001-04-20 Toshiba Corp データ収集装置
JP2002245234A (ja) * 2001-02-20 2002-08-30 Sanyo Electric Co Ltd 店舗管理システム及び管理方法
JP4771113B2 (ja) * 2005-03-24 2011-09-14 富士ゼロックス株式会社 画像処理装置およびクライアント装置
JP4825727B2 (ja) * 2007-05-18 2011-11-30 東芝テック株式会社 データ処理装置及びその停電対策方法

Also Published As

Publication number Publication date
JP2010039988A (ja) 2010-02-18

Similar Documents

Publication Publication Date Title
JP5007350B2 (ja) ハードウェアベースのファイルシステムのための装置および方法
JP4809040B2 (ja) ストレージ装置及びスナップショットのリストア方法
JP5021929B2 (ja) 計算機システム及びストレージシステムと管理計算機並びにバックアップ管理方法
US9996421B2 (en) Data storage method, data storage apparatus, and storage device
US10831741B2 (en) Log-shipping data replication with early log record fetching
JP4615344B2 (ja) データ処理システム及びデータベースの管理方法
US20070271431A1 (en) Snapshot mechanism and method thereof
JP2005242403A (ja) 計算機システム
JP2007241486A (ja) 記憶装置システム
CN106528338B (zh) 一种远程数据复制方法、存储设备及存储系统
JP2005182683A (ja) データ転送方法及びシステム並びにプログラム
US20110282843A1 (en) Method and system for data backup and replication
JP2016538631A (ja) トランザクション処理方法および装置
JP2007310448A (ja) 計算機システム、管理計算機、および、ストレージシステム管理方法
CN102597995B (zh) 同步数据库和非数据库资源
JP2008033527A (ja) ストレージ装置、ディスク装置及びデータ復元方法
US8255367B2 (en) File management apparatus, method, and program
JP5465401B2 (ja) ファイル管理方法、装置及びプログラム
CN110196788B (zh) 一种数据读取方法、装置、系统及存储介质
CN106997305B (zh) 一种事务处理方法与装置
JP2003280963A (ja) 文書管理システム、復旧方法、復旧を実行させるためのプログラム、該プログラムを記録した記録媒体
Tavares et al. An efficient and reliable scientific workflow system
CN116302696A (zh) 数据库系统的归档日志生成方法、存储介质及计算机设备
JP2020149573A (ja) ストレージ制御装置、ストレージシステム、ストレージ制御方法、及び、ストレージ制御プログラム
JP2010231682A (ja) バッチ処理実行システム及びその方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130520

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140122

R150 Certificate of patent or registration of utility model

Ref document number: 5465401

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees