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

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

Info

Publication number
JP2009175927A
JP2009175927A JP2008012444A JP2008012444A JP2009175927A JP 2009175927 A JP2009175927 A JP 2009175927A JP 2008012444 A JP2008012444 A JP 2008012444A JP 2008012444 A JP2008012444 A JP 2008012444A JP 2009175927 A JP2009175927 A JP 2009175927A
Authority
JP
Japan
Prior art keywords
file
rotation
group
identification information
copy
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
JP2008012444A
Other languages
English (en)
Other versions
JP4506841B2 (ja
Inventor
Yu Sakamoto
祐 坂本
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2008012444A priority Critical patent/JP4506841B2/ja
Priority to US12/356,007 priority patent/US8290992B2/en
Publication of JP2009175927A publication Critical patent/JP2009175927A/ja
Application granted granted Critical
Publication of JP4506841B2 publication Critical patent/JP4506841B2/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1873Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】異なるファイル名の複数のファイルからなるファイル群のローテーションを検出する。
【解決手段】ローテーショングループ作成部101は、ファイル群108をグループ分けしたローテーショングループを作成する。ローテーショングループ管理部102は、ローテーショングループの情報を記憶する。ファイル識別情報取得部103は、ローテーショングループの情報に対応するファイル識別情報をファイル群108から取得する。ファイル識別情報管理部104は、ファイル識別情報を記憶する。ローテーション検出部105は、ファイル識別情報管理部104からローテーショングループのファイル識別情報を取得した後、ローテーショングループに所属するファイルのファイル識別情報をファイル群108から取得し、ファイル識別情報を比較してローテーションを検出する。
【選択図】 図1

Description

本発明は、ファイル名の変更によって世代管理されるファイル群について、同じファイル名で新しいファイルが作成されるローテーションを検出するファイル管理方法、ファイル管理装置およびプログラムに関するものである。
ファイルの移動を検出する手段として、特許文献1に開示されたファイル管理装置がある。このファイル管理装置は、コンテンツファイル群の論理構造を管理するためのコンテンツリストファイルを作成し、このコンテンツリストファイル上の登録情報に基づいて各コンテンツファイルの移動を検出するようにしたものである。
しかし、特許文献1に開示されたファイル管理装置では、ファイル移動の検出範囲が同一ファイル名となっている。すなわち、ファイル名が異なれば別のファイルとして扱う。このため、Linux(登録商標)のシステムログなどのように、ファイル名がイベントをトリガーとして変更され、同じファイル名で新しいファイルが作成される(ローテーション)場合、ファイル移動を検出することができない。このため、特許文献1に開示されたファイル管理装置では、世代管理されているファイル群のコピーを行う場合に、コピー中にファイル群のローテーションが実行されると、同じファイルを異なるファイル名で複数回コピーしてしまったり、コピーされないファイルができてしまったりする場合がある。
世代管理されているファイル群を管理する手段として、特許文献2に開示されたマスタファイル世代管理装置がある。このマスタファイル世代管理装置は、各ファイルに適用開始日と適用終了日を示す適用期間情報を持たせることにより、同一ファイル名の複数世代のマスタファイルデータを管理するようにしたものである。
特開2005−010950号公報 特開平10−293711号公報
以上のように、特許文献1に開示されたファイル管理装置では、世代管理されているファイル群のローテーションを検出することができないという問題点があった。
また、特許文献2に開示されたマスタファイル世代管理装置では、世代管理できるのは同一ファイル名のファイル群であって、異なるファイル名の複数のファイルからなるファイル群のローテーションを検出することができないという問題点があった。また、特許文献2に開示されたマスタファイル世代管理装置では、適用期間情報がないファイルを管理することができないという問題点があった。
本発明は、上記課題を解決するためになされたもので、適用期間情報を用いることなしに、異なるファイル名の複数のファイルからなるファイル群のローテーションを検出することを目的とする。
本発明は、ファイル名の変更によって世代管理されるファイル群について、同じファイル名で新しいファイルが作成されるローテーションを検出するファイル管理方法において、ファイル群をグループ分けしたローテーショングループを作成し、このローテーショングループの情報をローテーショングループ管理手段に格納するローテーショングループ作成ステップと、前記ローテーショングループの情報に対応するファイルのファイル識別情報を前記ファイル群から取得し、このファイル識別情報をファイル識別情報管理手段に格納するファイル識別情報取得ステップと、前記ファイル識別情報管理手段から前記ローテーショングループのファイル識別情報を取得した後に、このローテーショングループに所属するファイルのファイル識別情報を前記ファイル群から取得し、取得したファイル識別情報を比較してローテーションを検出するローテーション検出ステップとを備えることを特徴とするものである。
また、本発明のファイル管理方法の1構成例において、前記ローテーショングループ作成ステップは、前記ローテーショングループに所属するファイルのファイルパスの指定およびファイル識別情報の種類の指定をユーザから受けて、前記ローテーショングループを作成するようにしたものである。
また、本発明のファイル管理方法の1構成例において、前記ファイル識別情報は、ファイルパス、ファイルサイズ、ファイル作成日時、ファイル更新日時、i−node(オブジェクト識別子)、現在時刻、ファイルのデータのうちの少なくとも1つである。
また、本発明のファイル管理方法の1構成例は、さらに、ユーザからローテーショングループ単位のコピー要求を受けたときに、コピー対象のローテーショングループをコピー先にコピーし、このコピー中に前記ローテーション検出ステップを実行させて前記ローテーションが検出された場合にはファイルコピーを再試行するファイル群コピーステップを備えるものである。
また、本発明のファイル管理装置は、ファイル群をグループ分けしたローテーショングループを作成するローテーショングループ作成手段と、前記ローテーショングループの情報を記憶するローテーショングループ管理手段と、前記ローテーショングループの情報に対応するファイルのファイル識別情報を前記ファイル群から取得するファイル識別情報取得手段と、このファイル識別情報取得手段が取得したファイル識別情報を記憶するファイル識別情報管理手段と、このファイル識別情報管理手段から前記ローテーショングループのファイル識別情報を取得した後に、このローテーショングループに所属するファイルのファイル識別情報を前記ファイル群から取得し、取得したファイル識別情報を比較してローテーションを検出するローテーション検出手段とを備えるものである。
また、本発明のファイル管理プログラムは、ファイル群をグループ分けしたローテーショングループを作成し、このローテーショングループの情報をローテーショングループ管理手段に格納するローテーショングループ作成ステップと、前記ローテーショングループの情報に対応するファイルのファイル識別情報を前記ファイル群から取得し、このファイル識別情報をファイル識別情報管理手段に格納するファイル識別情報取得ステップと、前記ファイル識別情報管理手段から前記ローテーショングループのファイル識別情報を取得した後に、このローテーショングループに所属するファイルのファイル識別情報を前記ファイル群から取得し、取得したファイル識別情報を比較してローテーションを検出するローテーション検出ステップとを、コンピュータに実行させるようにしたものである。
本発明によれば、ファイル群をグループ分けしたローテーショングループを作成し、ローテーショングループの情報をローテーショングループ管理手段に格納しておくことにより、ファイル名が異なっていても同じグループに所属させることができる。また、本発明では、ファイル名の変更によって世代管理されるファイル群についても、ファイル識別情報を比較することにより、ローテーションを検出することができる。また、本発明では、ローテーショングループを作成することにより、適用期間情報を用いる必要がなくなる。
[第1の実施の形態]
以下、本発明の実施の形態について図面を参照して説明する。図1は本発明の第1の実施の形態に係るファイル管理装置の構成を示すブロック図である。図1において、100はファイル管理装置、200はファイル名の変更によって世代管理されるファイル群を記憶する記憶装置、300はユーザがファイル管理装置100に対して指示を与えるための入力装置、400はファイル管理装置100からユーザに対して通知を行うための表示装置である。
ファイル管理装置100は、ローテーショングループ作成部101と、ローテーショングループ管理部102と、ファイル識別情報取得部103と、ファイル識別情報管理部104と、ローテーション検出部105とを有する。
ローテーショングループ作成部101は、記憶装置200のコピー対象ファイル群108をグループ分けしたローテーショングループを作成する。
ローテーショングループ管理部102は、作成されたローテーショングループの情報を記憶する。
ファイル識別情報取得部103は、ローテーショングループの情報に対応するファイルのファイル識別情報を記憶装置200のコピー対象ファイル群108から取得する。
ファイル識別情報管理部104は、ファイル識別情報取得部103が取得したファイル識別情報を記憶する。
ローテーション検出部105は、ファイル識別情報管理部104からローテーショングループのファイル識別情報を取得した後に、このローテーショングループに所属するファイルのファイル識別情報をコピー対象ファイル群108から取得し、取得したファイル識別情報を比較してローテーションを検出する。
こうして、本実施の形態では、ファイル群をグループ分けしたローテーショングループを作成し、ローテーショングループの情報をローテーショングループ管理部102に格納しておくことにより、ファイル名が異なっていても同じグループに所属させることができる。また、本実施の形態では、ファイル名の変更によって世代管理される、例えばFreeBSDのシステムログなどのファイル群についても、ファイル識別情報を比較することにより、ローテーションを検出することができる。また、本実施の形態では、ローテーショングループを作成することにより、特許文献2に開示されたマスタファイル世代管理装置のように適用期間情報を用いる必要がなくなる。
[第2の実施の形態]
次に、本発明の第2の実施の形態の構成について図面を参照して詳細に説明する。図2は本発明の第2の実施の形態に係るファイル管理装置の構成を示すブロック図である。本実施の形態は、第1の実施の形態をより具体的に説明するものである。本実施の形態のファイル管理装置100aは、第1の実施の形態のファイル管理装置100に対して、ファイル群コピー部106とファイルコピー先生成部107とを追加したものである。
図2の各部はそれぞれ概略、つぎのような機能を有する。ローテーショングループ作成部101は、コピー対象ファイル群108をローテーショングループごとにグループ分けするための情報、ファイル識別情報として必要な情報、およびファイルコピーの再試行(リトライ)を行うときの制御情報(最大リトライ回数、リトライインターバル)をユーザの指定によって作成し、これらの作成した情報をローテーショングループ管理部102に格納する。
ローテーショングループ管理部102は、ローテーショングループ作成部101から渡される情報を記憶して管理する。図3は、ローテーショングループ管理部102が管理する情報の1例を示す図である。ローテーショングループ管理部102は、ローテーショングループ名と、ファイルパスと、ファイル識別情報の種類を指定する情報と、その他の情報を記憶し管理している。
図3においてファイル識別情報(1)の欄の「ファイルパス」は、ファイルパスをファイル識別情報として用いることを示している。ファイル識別情報(2)の「i−node」は、i−node(オブジェクト識別子)をファイル識別情報として用いることを示し、「更新日時」は、ファイル更新日時をファイル識別情報として用いることを示している。ファイル識別情報(3)の「現在時刻」は、現在時刻をファイル識別情報として用いることを示している。ファイル識別情報(4)の「ファイルデータ」は、ファイルのデータをファイル識別情報として用いることを示している。
ファイル識別情報取得部103は、ローテーショングループの情報を取得する機能と、コピー対象ファイル群108からローテーショングループの情報に対応するファイルパスの一覧とこれらのファイルパスで指定されるファイルのファイル識別情報とを取得する機能と、取得したファイルパスの一覧とそれぞれのファイルのファイル識別情報とをファイル識別情報管理部104に格納する機能と、指定されたファイルパスのファイルのファイル識別情報をコピー対象ファイル群108から取得する機能とを有する。
ファイル識別情報管理部104は、ファイル識別情報取得部103から渡されるファイルパスの一覧とファイルのファイル識別情報とを複数記憶する。図4は、ファイル識別情報管理部104が管理する情報の1例を示す図である。
ローテーション検出部105は、ファイル識別情報取得部103にファイル識別情報取得要求を行う機能と、ファイル識別情報管理部104からファイルパスの一覧とこれらのファイルパスで指定されるファイルのファイル識別情報とを取得する機能と、ファイルパスを指定してファイルのファイル識別情報を取得する機能と、取得したファイル識別情報を比較してローテーションを検出する機能と、ローテーションの検出を通知する機能とを有する。
ファイル群コピー部106は、ファイル識別情報管理部104からローテーショングループのファイルパス、およびファイルコピーをリトライするときの制御情報を取得する機能と、ファイルコピー先生成部107からコピー先のファイルパスを取得する機能と、コピーする情報をコピー対象ファイル群108から取得する機能と、コピー対象ファイル群108から取得した情報をコピー先にコピーする機能と、ローテーション検出部105にローテーション検出要求を行う機能と、ローテーションが検出されたときに、コピー処理をリトライするときの制御情報に従ってリトライする機能とを有する。
ファイルコピー先生成部107は、ファイル識別情報管理部104からローテーショングループの情報を取得し、コピー先のパスを生成する。
なお、ローテーショングループとは、Linuxのシステム・ログのようにファイル名を変更することによって世代管理している一連のログファイルを指す。例えば、ファイルパスがそれぞれ「/var/log/message」、「/var/log/message.1」、「/var/log/message.2」、・・・・「/var/log/message.9」である各ファイルは、同じローテーショングループに属するファイルである。これらのファイルは、「message」の後に続く数字が大きくなるほど、世代が新しくなっている。また、これらのファイルは、ファイルパスがそれぞれ「/var/log/secure」、「/var/log/secure.1」、「/var/log/secure.2」、・・・・「/var/log/secure.9」であるファイルとは別のローテーショングループとなる。
次に、本実施の形態の動作について詳細に説明する。図5はローテーショングループ作成部101の動作を示すフローチャート、図6はファイル識別情報取得部103の動作を示すフローチャート、図7はローテーション検出部105の動作を示すフローチャート、図8はファイル群コピー部106の動作を示すフローチャート、図9はファイルコピー先生成部107の動作を示すフローチャートである。
まず、ローテーショングループ作成部101は、コピー対象ファイル群108をローテーショングループごとにグループ分けするために、ユーザの指定に応じてローテーショングループを作成する(図5ステップS200)。ここでは、名称が「syslog」というローテーショングループの作成がユーザから指定されたものとする。
続いて、ローテーショングループ作成部101は、ステップS200で作成したローテーショングループに所属するファイルのファイルパスの指定をユーザから受け取る(ステップS201)。このファイルパスの指定は、複数指定することができ、ワイルドカードや正規表現などを使用することも可能である。ここでは、ファイルパスとして「/var/adm/syslog/syslog.log」と「/var/adm/syslog/OLDsyslog.log」がユーザから指定されたものとする。
さらに、ローテーショングループ作成部101は、ステップS200で作成したローテーショングループに属するファイルのファイル識別情報の指定をユーザから受け取る(ステップS202)。ファイル識別情報としては、ファイルパス、ファイルサイズ、ファイル作成日時、ファイル更新日時、i−node(オブジェクト識別子)、現在時刻、ファイルのデータなどを使用することが可能である。ここでは、ファイル識別情報として使用する情報の種類として、ファイルパスとi−nodeがユーザから指定されたものとする。
そして、ローテーショングループ作成部101は、ユーザからローテーショングループ作成完了の指示を受けると、作成したローテーショングループの情報(ローテーショングループ名、ファイルパス、ファイル識別情報)をローテーション管理部102に格納する(ステップS203)。なお、前記のとおり、ここでは名称が「syslog」というローテーショングループが1つだけ作成される。
こうして、ローテーショングループが作成されると、ファイル管理装置100aは、コピー対象ファイル群108のコピー、ローテーションの検出を行うことができる。
次に、ファイル群コピー部106は、ユーザからファイル群のコピー要求を受けると(図8ステップS700)、ローテーション検出部105にコピー対象のローテーショングループ全体のローテーション検出を要求する(ステップS701)。ここでは、ローテーショングループ「syslog」のコピー要求を受けたものとする。
ローテーション検出部105は、ローテーション検出要求を受けたときに(図7ステップS600)、この要求がローテーショングループ全体のローテーション検出要求である場合、ファイル識別情報取得部103に対してファイル識別情報取得要求を行う(ステップS601)。ここでは、ファイル群コピー部106からローテーショングループ「syslog」のローテーション検出要求を受けて、ファイル識別情報取得部103に対してローテーショングループ「syslog」のファイル識別情報取得要求を行う。
ファイル識別情報取得部103は、ローテーション検出部105からファイル識別情報取得要求を受けたときに(図6ステップS400)、この要求がローテーショングループのファイル識別情報取得要求である場合、ローテーショングループ管理部102から、要求に該当するローテーショングループの情報を取得する(ステップS401)。ここでは、ローテーショングループ「syslog」の情報として、ファイルパス「/var/adm/syslog/syslog.log」とファイル識別情報「ファイルパス」、「i−node」の組と、ファイルパス「/var/adm/syslog/OLDsyslog.log」とファイル識別情報「i−node」の組を取得したものとする。なお、ファイル識別情報「ファイルパス」は、ファイルパスの具体的な値ではなく、ファイルパスをファイル識別情報として用いることを示している。同様に、ファイル識別情報「i−node」は、i−nodeの具体的な値ではなく、i−nodeをファイル識別情報として用いることを示している。
ファイル識別情報取得部103は、ローテーショングループの情報を取得すると、このローテーショングループの情報に対応するファイル識別情報をコピー対象ファイル群108から取得し(ステップS402)、取得したファイル識別情報をファイル識別情報管理部104に格納する(ステップS403)。ここでは、ファイル識別情報として、ファイルパス「/var/adm/syslog/OLDsyslog.log」とi−node「40728」の組と、ファイルパス「/var/adm/syslog/syslog.log」とi−node「40751」の組を取得し格納したものとする。
ローテーション検出部105は、ファイル識別情報取得部104からローテーショングループのファイル識別情報を取得し(ステップS602)、ファイル識別情報取得部103に対してファイル識別情報取得要求を行う(ステップS603)。ここでは、ファイル識別情報として、ファイルパス「/var/adm/syslog/OLDsyslog.log」とi−node「40728」の組と、ファイルパス「/var/adm/syslog/syslog.log」とi−node「40751」の組を取得し(ステップS602)、再度、ローテーショングループ「syslog」のファイル識別情報取得要求を行う(ステップS603)。なお、ステップS602,S603および後述するステップS604,S605の処理を実施しなくても、期待する効果を得ることは可能であるが、本実施の形態では実施する。これらの処理を実施しない場合は、後述するステップS606の判断結果を、「ローテーションが発生していない」という結果にする。
ファイル識別情報取得部103は、ローテーション検出部105からファイル識別情報取得要求を受けたときに(図6ステップS400)、この要求がローテーショングループのファイル識別情報取得要求である場合、ローテーショングループ管理部102から、要求に該当するローテーショングループの情報を取得する(ステップS401)。ここでは、ローテーショングループ「syslog」の情報として、ファイルパス「/var/adm/syslog/syslog.log」とファイル識別情報「ファイルパス」、「i−node」の組と、ファイルパス「/var/adm/syslog/OLDsyslog.log」とファイル識別情報「i−node」の組を取得したものとする。
ファイル識別情報取得部103は、ローテーショングループの情報を取得すると、このローテーショングループの情報に対応するファイル識別情報をコピー対象ファイル群108から取得し(ステップS402)、取得したファイル識別情報をファイル識別情報管理部104に格納する(ステップS403)。ここでは、ステップS402でファイル識別情報を取得する前にローテーションが発生し、ファイルパス「/var/adm/syslog/OLDsyslog.log」が削除され、ファイルパス「/var/adm/syslog/syslog.log」が「/var/adm/syslog/OLDsyslog.log」に書き替えられ、ファイルパス「/var/adm/syslog/syslog.log」が新たに作成されたものとする。このとき、ファイル識別情報としては、ファイルパス「/var/adm/syslog/OLDsyslog.log」とi−node「40751」の組と、ファイルパス「/var/adm/syslog/syslog.log」とi−node「40786」の組を取得し格納する。
ローテーション検出部105は、ファイル識別情報取得部104からローテーショングループのファイル識別情報を取得し(図7ステップS604)、ステップS602で取得したファイル識別情報とステップS604で取得したファイル識別情報を比較する(ステップS605,S606)。ここでは、ファイル識別情報として、ファイルパス「/var/adm/syslog/OLDsyslog.log」とi−node「40751」の組と、ファイルパス「/var/adm/syslog/syslog.log」とi−node「40786」の組を取得し(ステップS604)、このファイル識別情報をステップS602で取得したファイル識別情報と比較する(ステップS605,S606)。
比較すると、ファイルパスとi−nodeの組み合わせが異なっているので、ローテーション検出部105は、ローテーションが発生したと判断する。ローテーション検出部105は、ローテーションが発生したと判断すると、ローテーションが発生したことをファイル群コピー部106に通知する(ステップS607)。
ファイル群コピー部106は、ローテーション検出部105から通知を受けたとき(図8ステップS702)、ローテーションが発生したことを通知された場合、コピーのリトライ回数を数えるリトライカウント値をカウントアップし(ステップS703)、カウントアップした後のリトライカウント値が最大リトライ回数以下であるかどうかを判断する(ステップS704)。ファイル群コピー部106は、リトライカウント値が最大リトライ回数以下であれば、所定のリトライインターバルだけ待つ(ステップS705)。ここでは、最大リトライ回数は「2」に設定されており、リトライカウント値は「0」から「1」にカウントアップされる(ステップS703)。リトライインターバルは「2秒」に設定されており、ファイル群コピー部106は、2秒待ってから処理を再開する(ステップS705)。
なお、ファイル群コピー部106は、ステップS703でカウントアップした後のリトライカウント値が最大リトライ回数より大きい場合、ローテーショングループのファイル群のコピーに失敗したことをユーザに通知し、コピー処理を終了する(ステップS706)。
次に、ファイル群コピー部106は、リトライカウント値が最大リトライ回数以下である場合、リトライインターバルだけ待った後に(ステップS705)、ローテーション検出部105にコピー対象のローテーショングループ全体のローテーション検出を要求する(ステップS701)。ここでは、ローテーショングループ「syslog」のローテーション検出要求を行う。
ローテーション検出部105は、ローテーション検出要求を受けたときに(図7ステップS600)、この要求がローテーショングループ全体のローテーション検出要求である場合、ファイル識別情報取得部103に対してファイル識別情報取得要求を行う(ステップS601)。ここでは、ファイル群コピー部106からローテーショングループ「syslog」のローテーション検出要求を受けて、ファイル識別情報取得部103に対してローテーショングループ「syslog」のファイル識別情報取得要求を行う。
ファイル識別情報取得部103は、ローテーション検出部105からファイル識別情報取得要求を受けたときに(図6ステップS400)、この要求がローテーショングループのファイル識別情報取得要求である場合、ローテーショングループ管理部102から、要求に該当するローテーショングループの情報を取得する(ステップS401)。ここでは、ローテーショングループ「syslog」の情報として、ファイルパス「/var/adm/syslog/syslog.log」とファイル識別情報「ファイルパス」、「i−node」の組と、ファイルパス「/var/adm/syslog/OLDsyslog.log」とファイル識別情報「i−node」の組を取得する。
ファイル識別情報取得部103は、ローテーショングループの情報を取得すると、このローテーショングループの情報に対応するファイル識別情報をコピー対象ファイル群108から取得し(ステップS402)、取得したファイル識別情報をファイル識別情報管理部104に格納する(ステップS403)。ここでは、ファイルパス「/var/adm/syslog/OLDsyslog.log」とi−node「40751」の組と、ファイルパス「/var/adm/syslog/syslog.log」とi−node「40786」の組を取得し格納する。
ローテーション検出部105は、ファイル識別情報取得部104からローテーショングループのファイル識別情報を取得し(ステップS602)、ファイル識別情報取得部103に対してファイル識別情報取得要求を行う(ステップS603)。
ファイル識別情報取得部103は、ローテーション検出部105からファイル識別情報取得要求を受けたときに(図6ステップS400)、この要求がローテーショングループのファイル識別情報取得要求である場合、ローテーショングループ管理部102から、要求に該当するローテーショングループの情報を取得する(ステップS401)。ここでは、ローテーショングループ「syslog」の情報として、ファイルパス「/var/adm/syslog/syslog.log」とファイル識別情報「ファイルパス」、「i−node」の組と、ファイルパス「/var/adm/syslog/OLDsyslog.log」とファイル識別情報「i−node」の組を取得する。
ファイル識別情報取得部103は、ローテーショングループの情報を取得すると、このローテーショングループの情報に対応するファイル識別情報をコピー対象ファイル群108から取得し(ステップS402)、取得したファイル識別情報をファイル識別情報管理部104に格納する(ステップS403)。ここでは、ファイル識別情報として、ファイルパス「/var/adm/syslog/OLDsyslog.log」とi−node「40751」の組と、ファイルパス「/var/adm/syslog/syslog.log」とi−node「40786」の組を取得し格納する。
ローテーション検出部105は、ファイル識別情報取得部104からローテーショングループのファイル識別情報を取得し(図7ステップS604)、ステップS602で取得したファイル識別情報とステップS604で取得したファイル識別情報を比較する(ステップS605,S606)。ここでは、ファイル識別情報として、ファイルパス「/var/adm/syslog/OLDsyslog.log」とi−node「40751」の組と、ファイルパス「/var/adm/syslog/syslog.log」とi−node「40786」の組を取得したものとする(ステップS604)。そして、ステップS602で取得したファイル識別情報、すなわちファイルパス「/var/adm/syslog/OLDsyslog.log」とi−node「40751」の組と、ファイルパス「/var/adm/syslog/syslog.log」とi−node「40786」の組との比較を行う。
比較すると、ファイルパスとi−nodeの組み合わせが一致するので、ローテーション検出部105は、ローテーションが発生していないと判断する。ローテーション検出部105は、ローテーションが発生していないと判断すると、ローテーションが発生していないことをファイル群コピー部106に通知する(ステップS608)。
ファイル群コピー部106は、ローテーション検出部105から通知を受けたとき(図8ステップS702)、ローテーションが発生していないことを通知された場合、ファイル識別情報管理部104からローテーショングループのファイル識別情報を取得する(ステップS707)。ここでは、ファイル識別情報として、ファイルパス「/var/adm/syslog/OLDsyslog.log」とi−node「40751」の組と、ファイルパス「/var/adm/syslog/syslog.log」とi−node「40786」の組を取得する。
ファイル群コピー部106は、ファイル識別情報を取得すると、このファイル識別情報に対するコピー先情報をファイルコピー先生成部107に要求する(ステップS708)。ここでは、ファイルパス「/var/adm/syslog/OLDsyslog.log」とi−node「40751」の組に対するコピー先情報を要求する。
ファイルコピー先生成部107は、ファイル群コピー部106の要求からファイル識別情報を抽出し、このファイル識別情報に対するファイルコピー先情報を生成して(図9ステップS800)、生成したファイルコピー先情報をファイル群コピー部106に渡す(ステップS801)。ここでは、ファイルコピー先情報として、コピー先ファイルパス「/tmp/copy_tmp/copy_file_000001」とその他の情報の記録先ファイルパス「/tmp/copy_tmp/map_file_000001」とが生成されるものとする。その他の情報としては、コピー元のファイルパス、ファイル更新日時、i−node、ファイル生成日時、ファイルサイズなどが含まれる。これらの情報は、コピー先ファイルと対応付けされた形で記録される。
ファイル群コピー部106は、ファイルコピー先生成部107からファイルコピー先情報を取得すると、この情報で指定されるコピー先にコピー対象のファイルをコピーする(図8ステップS709)。ここでは、ファイルパス「/var/adm/syslog/OLDsyslog.log」のファイルをコピー先ファイルパス「/tmp/copy_tmp/copy_file_000001」の記憶領域にコピーする。また、コピー元のファイルパス「/var/adm/syslog/OLDsyslog.log」、ファイル更新日時、i−node、ファイル生成日時およびファイルサイズを、ファイルパス「/tmp/copy_tmp/copy_file_000001」のファイルと対応付けした形でファイルパス「/tmp/copy_tmp/map_file_000001」の記憶領域に記録する。なお、ここではコピーに成功したものとする。
ファイル群コピー部106は、コピーに成功したかどうかを判断し(ステップS710)、コピーに成功したと判断すると、ローテーション検出部105に対して、コピーに成功したファイルのローテーション検出要求を行う(ステップS711)。ここでは、ファイルパス「/var/adm/syslog/OLDsyslog.log」のファイルのローテーション検出要求を行う。
ローテーション検出部105は、ローテーション検出要求を受けたときに(図7ステップS600)、この要求がコピーに成功したファイルのローテーション検出要求である場合、このローテーション検出要求に含まれるファイルパスをファイル識別情報取得部103に対して指定してファイル識別情報取得要求を行う(ステップS609)。ここでは、ファイルパス「/var/adm/syslog/OLDsyslog.log」のファイル識別情報取得要求を行う。
ファイル識別情報取得部103は、ローテーション検出部105からファイル識別情報取得要求を受けたときに(図6ステップS400)、この要求がファイルパス指定のファイル識別情報取得要求である場合、指定されたファイルパスのファイル識別情報をコピー対象ファイル群108から取得し(ステップS404)、取得したファイル識別情報をローテーション検出部105に渡す(ステップS405)。ここでは、指定されたファイルパス「/var/adm/syslog/OLDsyslog.log」に対応するファイル識別情報としてi−node「40751」を取得する。
ローテーション検出部105は、ファイル識別情報取得部103からファイル識別情報を取得すると、このファイル識別情報をステップS707で取得されたファイル識別情報と比較する(ステップS610,S611)。ここでは、ステップS610で取得したファイルパス「/var/adm/syslog/OLDsyslog.log」とi−node「40751」の組と、ステップS707で取得されたファイルパス「/var/adm/syslog/OLDsyslog.log」とi−node「40751」の組が一致するので、ローテーションが発生していないと判断する。
ローテーション検出部105は、ローテーションが発生していないと判断すると、ローテーションが発生していないことをファイル群コピー部106に通知する(ステップS608)。
ファイル群コピー部106は、ローテーション検出部105から通知を受けたとき(図8ステップS712)、ローテーションが発生していないことを通知された場合、コピー対象のローテーショングループにコピー処理されていないファイルがあるかをどうかを確認し(ステップS713)、コピー処理されていないファイルが存在する場合、このファイルのコピー先情報をファイルコピー先生成部107に要求する(ステップS708)。ここでは、コピー対象のローテーショングループ「syslog」にファイルパス「/var/adm/syslog/syslog.log」のファイルがコピーされずに残っている。そこで、ファイル群コピー部106は、ファイルパス「/var/adm/syslog/syslog.log」とi−node「40786」の組に対するコピー先情報を要求する。
ファイルコピー先生成部107は、ファイル群コピー部106の要求からファイル識別情報を抽出し、このファイル識別情報に対するファイルコピー先情報を生成して(図9ステップS800)、生成したファイルコピー先情報をファイル群コピー部106に渡す(ステップS801)。ここでは、ファイルコピー先情報として、コピー先ファイルパス「/tmp/copy_tmp/copy_file_000002」とその他の情報の記録先ファイルパス「/tmp/copy_tmp/map_file_000001」とが生成されるものとする。その他の情報としては、コピー元のファイルパス、ファイル更新日時、i−node、ファイル生成日時、ファイルサイズなどが含まれる。これらの情報は、コピー先ファイルと対応付けされた形で記録される。
ファイル群コピー部106は、ファイルコピー先生成部107からファイルコピー先情報を取得すると、この情報で指定されるコピー先にコピー対象のファイルをコピーする(図8ステップS709)。ここでは、ファイルパス「/var/adm/syslog/syslog.log」のファイルをコピー先ファイルパス「/tmp/copy_tmp/copy_file_000002」の記憶領域にコピーする。また、コピー元のファイルパス「/var/adm/syslog/syslog.log」、ファイル更新日時、i−node、ファイル生成日時およびファイルサイズを、ファイルパス「/tmp/copy_tmp/copy_file_000002」のファイルと対応付けした形でファイルパス「/tmp/copy_tmp/map_file_000001」の記憶領域に追記する。なお、ここではコピーに成功したものとする。
ファイル群コピー部106は、コピーに成功したかどうかを判断し(ステップS710)、コピーに成功したと判断すると、ローテーション検出部105に対して、コピーに成功したファイルのローテーション検出要求を行う(ステップS711)。ここでは、ファイルパス「/var/adm/syslog/syslog.log」のファイルのローテーション検出要求を行う。
ローテーション検出部105は、ローテーション検出要求を受けたときに(図7ステップS600)、この要求がコピーに成功したファイルのローテーション検出要求である場合、このローテーション検出要求に含まれるファイルパスをファイル識別情報取得部103に対して指定してファイル識別情報取得要求を行う(ステップS609)。ここでは、ファイルパス「/var/adm/syslog/syslog.log」のファイル識別情報取得要求を行う。
ファイル識別情報取得部103は、ローテーション検出部105からファイル識別情報取得要求を受けたときに(図6ステップS400)、この要求がファイルパス指定のファイル識別情報取得要求である場合、指定されたファイルパスのファイル識別情報をコピー対象ファイル群108から取得し(ステップS404)、取得したファイル識別情報をローテーション検出部105に渡す(ステップS405)。ここでは、指定されたファイルパス「/var/adm/syslog/syslog.log」に対応するファイル識別情報としてi−node「40786」を取得する。
ローテーション検出部105は、ファイル識別情報取得部103からファイル識別情報を取得すると、このファイル識別情報をステップS707で取得されたファイル識別情報と比較する(ステップS610,S611)。ここでは、ステップS610で取得したファイルパス「/var/adm/syslog/syslog.log」とi−node「40786」の組と、ステップS707で取得されたファイルパス「/var/adm/syslog/syslog.log」とi−node「40786」の組が一致するので、ローテーションが発生していないと判断する。
ローテーション検出部105は、ローテーションが発生していないと判断すると、ローテーションが発生していないことをファイル群コピー部106に通知する(ステップS608)。
ファイル群コピー部106は、ローテーション検出部105から通知を受けたとき(図8ステップS712)、ローテーションが発生していないことを通知された場合、コピー対象のローテーショングループにコピー処理されていないファイルがあるかをどうかを確認し(ステップS713)、コピー処理されていないファイルが存在しない場合、コピー対象のローテーショングループのファイル群のコピーが完了したことをユーザに通知する(ステップS714)。ここでは、ローテーショングループ「syslog」に次のファイルが無いことを確認して、ファイル群のコピーが完了したことを通知する。以上で、一つのローテーショングループのファイル群のコピーが完了した。
こうして、本実施の形態では、第1の実施の形態で説明した効果を得ることができる。また、本実施の形態では、ローテーションがファイル群のコピー中に発生しても、コピー処理をリトライすることによって、ファイルを重複なくコピーすることができる。その理由は、上記で述べたファイル識別情報を元にファイルを識別しているためである。ローテーションの検出には、ファイルコピー前のファイル識別情報とファイルコピー後のファイル識別情報を比較して、差分があればローテーションが発生したと判断する。
また、本実施の形態では、ローテーションがファイル群のコピー中に発生しても、コピー処理をリトライすることによって、ファイル群を連続した形(すなわち、歯抜けのない形)でコピーすることができる。その理由は、予め信頼性の高いコピー対象の一覧を作成してからファイル群のコピー処理を行うため、ファイル群のコピー処理中にファイルにアクセスできないことがあれば、ローテーションが発生したと判断できるためである。
[第3の実施の形態]
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。本実施の形態は、第1の実施の形態をより具体的に説明するものである。本実施の形態においても、ファイル管理装置100aの構成および動作は第2の実施の形態と同様であるので、図2〜図9を用いて説明する。
まず、ローテーショングループ作成部101は、コピー対象ファイル群108をローテーショングループごとにグループ分けするために、ユーザの指定に応じてローテーショングループを作成する(図5ステップS200)。ここでは、名称が「messages」というローテーショングループの作成がユーザから指定されたものとする。
続いて、ローテーショングループ作成部101は、ステップS200で作成したローテーショングループに所属するファイルのファイルパスの指定をユーザから受け取る(ステップS201)。このファイルパスの指定は、複数指定することができ、ワイルドカードや正規表現などを使用することも可能である。ここでは、ファイルパスとして「/var/log/messages」と「/var/log/messages.?」がユーザから指定されたものとする。
さらに、ローテーショングループ作成部101は、ステップS200で作成したローテーショングループに属するファイルのファイル識別情報の指定をユーザから受け取る(ステップS202)。ファイル識別情報としては、ファイルパス、ファイルサイズ、ファイル作成日時、ファイル更新日時、i−node(オブジェクト識別子)、現在時刻、ファイルのデータなどを使用することが可能である。ここでは、ファイル識別情報として使用する情報の種類として、ファイルパスとi−nodeがユーザから指定されたものとする。
そして、ローテーショングループ作成部101は、ユーザからローテーショングループ作成完了の指示を受けると、作成したローテーショングループの情報をローテーション管理部102に格納する(ステップS203)。なお、前記のとおり、ここでは名称が「messages」というローテーショングループが1つだけ作成される。
こうして、ローテーショングループが作成されると、ファイル管理装置100aは、コピー対象ファイル群108のコピー、ローテーションの検出を行うことができる。
次に、ファイル群コピー部106は、ユーザからファイル群のコピー要求を受けると(図8ステップS700)、ローテーション検出部105にコピー対象のローテーショングループ全体のローテーション検出を要求する(ステップS701)。ここでは、ローテーショングループ「messages」のコピー要求を受けたものとする。
ローテーション検出部105は、ローテーション検出要求を受けたときに(図7ステップS600)、この要求がローテーショングループ全体のローテーション検出要求である場合、ファイル識別情報取得部103に対してファイル識別情報取得要求を行う(ステップS601)。ここでは、ファイル群コピー部106からローテーショングループ「messages」のローテーション検出要求を受けて、ファイル識別情報取得部103に対してローテーショングループ「messages」のファイル識別情報取得要求を行う。
ファイル識別情報取得部103は、ローテーション検出部105からファイル識別情報取得要求を受けたときに(図6ステップS400)、この要求がローテーショングループのファイル識別情報取得要求である場合、ローテーショングループ管理部102から、要求に該当するローテーショングループの情報を取得する(ステップS401)。ここでは、ローテーショングループ「messages」の情報として、ファイルパス「/var/log/messages」とファイル識別情報「ファイルパス」、「i−node」の組と、ファイルパス「/var/log/messages.?」とファイル識別情報「i−node」の組を取得したものする。
ファイル識別情報取得部103は、ローテーショングループの情報を取得すると、このローテーショングループの情報に対応するファイル識別情報をコピー対象ファイル群108から取得し(ステップS402)、取得したファイル識別情報をファイル識別情報管理部104に格納する(ステップS403)。ここでは、ファイル識別情報として、ファイルパス「/var/log/messages」とi−node「51112」の組と、ファイルパス「/var/log/messages.1」とi−node「51133」の組を取得し格納したものとする。
図7では、ローテーション検出部105は、ステップS601の後にステップS602〜S605の処理を行うことになっているが、ステップS602〜S605の処理を実施しなくても、期待する効果を得ることは可能であるため、本実施の形態では実施しない。ステップS602〜S605の処理を実施しない場合、ステップS606の判断結果を「ローテーションが発生していない」という結果にする。ローテーション検出部105は、ローテーションが発生していないことをファイル群コピー部106に通知する(ステップS608)。
ファイル群コピー部106は、ローテーション検出部105から通知を受けたとき(図8ステップS702)、ローテーションが発生していないことを通知された場合、ファイル識別情報管理部104からローテーショングループのファイル識別情報を取得する(ステップS707)。ここでは、ファイル識別情報として、ファイルパス「/var/log/messages」とi−node「51112」の組と、ファイルパス「/var/log/messages.1」とi−node「51133」の組を取得する。
ファイル群コピー部106は、ファイル識別情報を取得すると、このファイル識別情報に対するコピー先情報をファイルコピー先生成部107に要求する(ステップS708)。ここでは、ファイルパス「/var/log/messages」とi−node「51112」の組に対するコピー先情報を要求する。
ファイルコピー先生成部107は、ファイル群コピー部106の要求からファイル識別情報を抽出し、このファイル識別情報に対するファイルコピー先情報を生成して(図9ステップS800)、生成したファイルコピー先情報をファイル群コピー部106に渡す(ステップS801)。ここでは、ファイルコピー先情報として、コピー先ファイルパス「/tmp/copy_tmp/copy_file_000001」とその他の情報の記録先ファイルパス「/tmp/copy_tmp/map_file_000001」とが生成されるものとする。その他の情報としては、コピー元のファイルパス、ファイル更新日時、i−node、ファイル生成日時、ファイルサイズなどが含まれる。これらの情報は、コピー先ファイルと対応付けされた形で記録される。
ファイル群コピー部106は、ファイルコピー先生成部107からファイルコピー先情報を取得すると、この情報で指定されるコピー先にコピー対象のファイルをコピーする(図8ステップS709)。ここでは、ファイルパス「/var/log/messages」のファイルを開いてコピーを開始する直前にローテーションが開始され、ファイルパス「/var/log/messages.1」が「/var/log/messages.2」に書き替えられ、ファイルパス「/var/log/messages」が「/var/log/messages.1」に書き替えられ、ファイルパス「/var/log/messages」が作成されるまでの間に、ファイル群コピー部106の「/var/log/messages」に対するオープンが実行されたものとする。このとき、ファイルパス「/var/log/messages」は存在しないので、オープンは失敗する。この後、ローテーション処理の続きでファイルパス「/var/log/messages」が作成される。
ファイル群コピー部106は、コピーに成功したかどうかを判断し(ステップS710)、コピーに失敗したと判断した場合、さらにコピー対象のファイルが存在するかどうかを判断し(ステップS715)、コピー対象のファイルが無いためにコピーが失敗したと判断した場合、ローテーション検出部105にローテーション検出要求を行う(ステップS711)。ここでは、ファイルが無いことが原因でコピーが失敗したため、ローテーション検出要求を行うものとする。
なお、ファイル群コピー部106は、ファイルが無い以外の理由でコピー処理が失敗した場合はローテーション検出要求は行わずに、ローテーショングループのファイル群のコピーに失敗したことをユーザに通知する(ステップS706)。
ローテーション検出部105は、ローテーション検出要求を受けたときに(図7ステップS600)、この要求がコピー失敗によるローテーション検出要求である場合、ローテーションが発生したことをファイル群コピー部106に通知する(ステップS607)。
ファイル群コピー部106は、ローテーション検出部105から通知を受けたとき(図8ステップS712)、ローテーションが発生したことを通知された場合、リトライカウント値をカウントアップし(ステップS703)、カウントアップした後のリトライカウント値が最大リトライ回数以下であるかどうかを判断する(ステップS704)。ファイル群コピー部106は、リトライカウント値が最大リトライ回数以下であれば、所定のリトライインターバルだけ待つ(ステップS705)。ここでは、最大リトライ回数は「2」に設定されており、リトライカウント値は「0」から「1」にカウントアップされる(ステップS703)。リトライインターバルは「2秒」に設定されており、ファイル群コピー部106は、2秒待ってから処理を再開する(ステップS705)。
なお、ファイル群コピー部106は、ステップS703でカウントアップした後のリトライカウント値が最大リトライ回数より大きい場合、ローテーショングループのファイル群のコピーに失敗したことをユーザに通知し、コピー処理を終了する(ステップS706)。
次に、ファイル群コピー部106は、リトライカウント値が最大リトライ回数以下である場合、リトライインターバルだけ待った後に(ステップS705)、ローテーション検出部105にコピー対象のローテーショングループ全体のローテーション検出を要求する(ステップS701)。ここでは、ローテーショングループ「messages」のローテーション検出要求を行う。
ローテーション検出部105は、ローテーション検出要求を受けたときに(図7ステップS600)、この要求がローテーショングループ全体のローテーション検出要求である場合、ファイル識別情報取得部103に対してファイル識別情報取得要求を行う(ステップS601)。ここでは、ファイル群コピー部106からローテーショングループ「messages」のローテーション検出要求を受けて、ファイル識別情報取得部103に対してローテーショングループ「messages」のファイル識別情報取得要求を行う。
ファイル識別情報取得部103は、ローテーション検出部105からファイル識別情報取得要求を受けたときに(図6ステップS400)、この要求がローテーショングループのファイル識別情報取得要求である場合、ローテーショングループ管理部102から、要求に該当するローテーショングループの情報を取得する(ステップS401)。ここでは、ローテーショングループ「messages」の情報として、ファイルパス「/var/log/messages」とファイル識別情報「ファイルパス」、「i−node」の組と、ファイルパス「/var/log/messages.?」とファイル識別情報「i−node」の組を取得する。
ファイル識別情報取得部103は、ローテーショングループの情報を取得すると、このローテーショングループの情報に対応するファイル識別情報をコピー対象ファイル群108から取得し(ステップS402)、取得したファイル識別情報をファイル識別情報管理部104に格納する(ステップS403)。ここでは、ファイルパス「/var/log/messages」とi−node「51114」の組と、ファイルパス「/var/log/messages.1」とi−node「51112」の組と、ファイルパス「/var/log/messages.2」とi−node「51133」の組を取得し格納する。
図7では、ローテーション検出部105は、ステップS601の後にステップS602〜S605の処理を行うことになっているが、前述のとおり、本実施の形態では、ステップS602〜S605の処理を実施しない。ステップS602〜S605の処理を実施しない場合、ステップS606の判断結果を「ローテーションが発生していない」という結果にする。ローテーション検出部105は、ローテーションが発生していないことをファイル群コピー部106に通知する(ステップS608)。
ファイル群コピー部106は、ローテーション検出部105から通知を受けたとき(図8ステップS702)、ローテーションが発生していないことを通知された場合、ファイル識別情報管理部104からローテーショングループのファイル識別情報を取得する(ステップS707)。ここでは、ファイル識別情報として、ファイルパス「/var/log/messages」とi−node「51114」の組と、ファイルパス「/var/log/messages.1」とi−node「51112」の組と、ファイルパス「/var/log/messages.2」とi−node「51133」の組を取得する。
ファイル群コピー部106は、ファイル識別情報を取得すると、このファイル識別情報に対するコピー先情報をファイルコピー先生成部107に要求する(ステップS708)。ここでは、ファイルパス「/var/log/messages」とi−node「51114」の組に対するコピー先情報を要求する。
ファイルコピー先生成部107は、ファイル群コピー部106の要求からファイル識別情報を抽出し、このファイル識別情報に対するファイルコピー先情報を生成して(図9ステップS800)、生成したファイルコピー先情報をファイル群コピー部106に渡す(ステップS801)。ここでは、ファイルコピー先情報として、コピー先ファイルパス「/tmp/copy_tmp/copy_file_000001」とその他の情報の記録先ファイルパス「/tmp/copy_tmp/map_file_000002」とが生成されるものとする。その他の情報としては、コピー元のファイルパス、ファイル更新日時、i−node、ファイル生成日時、ファイルサイズなどが含まれる。これらの情報は、コピー先ファイルと対応付けされた形で記録される。
ファイル群コピー部106は、ファイルコピー先生成部107からファイルコピー先情報を取得すると、この情報で指定されるコピー先にコピー対象のファイルをコピーする(図8ステップS709)。ここでは、ファイルパス「/var/log/messages」のファイルをコピー先ファイルパス「/tmp/copy_tmp/copy_file_000001」の記憶領域にコピーする。また、コピー元のファイルパス「/var/log/messages」、ファイル更新日時、i−node、ファイル生成日時、ファイルサイズを、ファイルパス「/tmp/copy_tmp/copy_file_000001」のファイルと対応付けした形でファイルパス「/tmp/copy_tmp/map_file_000002」の記憶領域に記録する。なお、ここではコピーに成功したものとする。
ファイル群コピー部106は、コピーに成功したかどうかを判断し(ステップS710)、コピーに成功したと判断すると、ローテーション検出部105に対して、コピーに成功したファイルのローテーション検出要求を行う(ステップS711)。ここでは、ファイルパス「/var/log/messages」のファイルのローテーション検出要求を行う。
ローテーション検出部105は、ローテーション検出要求を受けたときに(図7ステップS600)、この要求がコピーに成功したファイルのローテーション検出要求である場合、このローテーション検出要求に含まれるファイルパスをファイル識別情報取得部103に対して指定してファイル識別情報取得要求を行う(ステップS609)。ここでは、ファイルパス「/var/log/messages」のファイル識別情報取得要求を行う。
ファイル識別情報取得部103は、ローテーション検出部105からファイル識別情報取得要求を受けたときに(図6ステップS400)、この要求がファイルパス指定のファイル識別情報取得要求である場合、指定されたファイルパスのファイル識別情報をコピー対象ファイル群108から取得し(ステップS404)、取得したファイル識別情報をローテーション検出部105に渡す(ステップS405)。ここでは、指定されたファイルパス「/var/log/messages」に対応するファイル識別情報としてi−node「51114」を取得する。
ローテーション検出部105は、ファイル識別情報取得部103からファイル識別情報を取得すると、このファイル識別情報をステップS707で取得されたファイル識別情報と比較する(ステップS610,S611)。ここでは、ステップS610で取得したファイルパス「/var/log/messages」とi−node「51114」の組と、ステップS707で取得されたファイルパス「/var/log/messages」とi−node「51114」の組が一致するので、ローテーションが発生していないと判断する。
ローテーション検出部105は、ローテーションが発生していないと判断すると、ローテーションが発生していないことをファイル群コピー部106に通知する(ステップS608)。
ファイル群コピー部106は、ローテーション検出部105から通知を受けたとき(図8ステップS712)、ローテーションが発生していないことを通知された場合、コピー対象のローテーショングループにコピー処理されていないファイルがあるかをどうかを確認し(ステップS713)、コピー処理されていないファイルが存在する場合、このファイルのコピー先情報をファイルコピー先生成部107に要求する(ステップS708)。ここでは、コピー対象のローテーショングループ「messages」にファイルパス「/var/log/messages.1」のファイルがコピーされずに残っている。そこで、ファイル群コピー部106は、ファイルパス「/var/log/messages.1」とi−node「51112」の組に対するコピー先情報を要求する。
ファイルコピー先生成部107は、ファイル群コピー部106の要求からファイル識別情報を抽出し、このファイル識別情報に対するファイルコピー先情報を生成して(図9ステップS800)、生成したファイルコピー先情報をファイル群コピー部106に渡す(ステップS801)。ここでは、ファイルコピー先情報として、コピー先ファイルパス「/tmp/copy_tmp/copy_file_000002」とその他の情報の記録先ファイルパス「/tmp/copy_tmp/map_file_000002」とが生成されるものとする。その他の情報としては、コピー元のファイルパス、ファイル更新日時、i−node、ファイル生成日時、ファイルサイズなどが含まれる。これらの情報は、コピー先ファイルと対応付けされた形で記録される。
ファイル群コピー部106は、ファイルコピー先生成部107からファイルコピー先情報を取得すると、この情報で指定されるコピー先にコピー対象のファイルをコピーする(図8ステップS709)。ここでは、ファイルパス「/var/log/messages.1」のファイルをコピー先ファイルパス「/tmp/copy_tmp/copy_file_000002」の記憶領域にコピーする。また、コピー元のファイルパス「/var/log/messages.1」、ファイル更新日時、i−node、ファイル生成日時およびファイルサイズを、ファイルパス「/tmp/copy_tmp/copy_file_000002」のファイルと対応付けした形でファイルパス「/tmp/copy_tmp/map_file_000002」の記憶領域に記録する。なお、ここではコピーに成功したものとする。
ファイル群コピー部106は、コピーに成功したかどうかを判断し(ステップS710)、コピーに成功したと判断すると、ローテーション検出部105に対して、コピーに成功したファイルのローテーション検出要求を行う(ステップS711)。ここでは、ファイルパス「/var/log/messages.1」のファイルのローテーション検出要求を行う。
ローテーション検出部105は、ローテーション検出要求を受けたときに(図7ステップS600)、この要求がコピーに成功したファイルのローテーション検出要求である場合、このローテーション検出要求に含まれるファイルパスをファイル識別情報取得部103に対して指定してファイル識別情報取得要求を行う(ステップS609)。ここでは、ファイルパス「/var/log/messages.1」のファイル識別情報取得要求を行う。
ファイル識別情報取得部103は、ローテーション検出部105からファイル識別情報取得要求を受けたときに(図6ステップS400)、この要求がファイルパス指定のファイル識別情報取得要求である場合、指定されたファイルパスのファイル識別情報をコピー対象ファイル群108から取得し(ステップS404)、取得したファイル識別情報をローテーション検出部105に渡す(ステップS405)。ここでは、指定されたファイルパス「/var/log/messages.1」に対応するファイル識別情報としてi−node「51112」を取得する。
ローテーション検出部105は、ファイル識別情報取得部103からファイル識別情報を取得すると、このファイル識別情報をステップS707で取得されたファイル識別情報と比較する(ステップS610,S611)。ここでは、ステップS610で取得したファイルパス「/var/log/messages.1」とi−node「51112」の組と、ステップS707で取得されたファイルパス「/var/log/messages.1」とi−node「51112」の組が一致するので、ローテーションが発生していないと判断する。
ローテーション検出部105は、ローテーションが発生していないと判断すると、ローテーションが発生していないことをファイル群コピー部106に通知する(ステップS608)。
ファイル群コピー部106は、ローテーション検出部105から通知を受けたとき(図8ステップS712)、ローテーションが発生していないことを通知された場合、コピー対象のローテーショングループにコピー処理されていないファイルがあるかをどうかを確認し(ステップS713)、コピー処理されていないファイルが存在する場合、このファイルのコピー先情報をファイルコピー先生成部107に要求する(ステップS708)。ここでは、コピー対象のローテーショングループ「messages」にファイルパス「/var/log/messages.2」のファイルがコピーされずに残っている。そこで、ファイル群コピー部106は、ファイルパス「/var/log/messages.2」とi−node「51133」の組に対するコピー先情報を要求する。
ファイルコピー先生成部107は、ファイル群コピー部106の要求からファイル識別情報を抽出し、このファイル識別情報に対するファイルコピー先情報を生成して(図9ステップS800)、生成したファイルコピー先情報をファイル群コピー部106に渡す(ステップS801)。ここでは、ファイルコピー先情報として、コピー先ファイルパス「/tmp/copy_tmp/copy_file_000003」とその他の情報の記録先ファイルパス「/tmp/copy_tmp/map_file_000002」とが生成されるものとする。その他の情報としては、コピー元のファイルパス、ファイル更新日時、i−node、ファイル生成日時、ファイルサイズなどが含まれる。これらの情報は、コピー先ファイルと対応付けされた形で記録される。
ファイル群コピー部106は、ファイルコピー先生成部107からファイルコピー先情報を取得すると、この情報で指定されるコピー先にコピー対象のファイルをコピーする(図8ステップS709)。ここでは、ファイルパス「/var/log/messages.2」のファイルをコピー先ファイルパス「/tmp/copy_tmp/copy_file_000003」の記憶領域にコピーする。また、コピー元のファイルパス「/var/log/messages.2」、ファイル更新日時、i−node、ファイル生成日時およびファイルサイズを、ファイルパス「/tmp/copy_tmp/copy_file_000003」のファイルと対応付けした形でファイルパス「/tmp/copy_tmp/map_file_000002」の記憶領域に記録する。なお、ここではコピーに成功したものとする。
ファイル群コピー部106は、コピーに成功したかどうかを判断し(ステップS710)、コピーに成功したと判断すると、ローテーション検出部105に対して、コピーに成功したファイルのローテーション検出要求を行う(ステップS711)。ここでは、ファイルパス「/var/log/messages.2」のファイルのローテーション検出要求を行う。
ローテーション検出部105は、ローテーション検出要求を受けたときに(図7ステップS600)、この要求がコピーに成功したファイルのローテーション検出要求である場合、このローテーション検出要求に含まれるファイルパスをファイル識別情報取得部103に対して指定してファイル識別情報取得要求を行う(ステップS609)。ここでは、ファイルパス「/var/log/messages.2」のファイル識別情報取得要求を行う。
ファイル識別情報取得部103は、ローテーション検出部105からファイル識別情報取得要求を受けたときに(図6ステップS400)、この要求がファイルパス指定のファイル識別情報取得要求である場合、指定されたファイルパスのファイル識別情報をコピー対象ファイル群108から取得し(ステップS404)、取得したファイル識別情報をローテーション検出部105に渡す(ステップS405)。ここでは、指定されたファイルパス「/var/log/messages.2」に対応するファイル識別情報としてi−node「51133」を取得する。
ローテーション検出部105は、ファイル識別情報取得部103からファイル識別情報を取得すると、このファイル識別情報をステップS707で取得されたファイル識別情報と比較する(ステップS610,S611)。ここでは、ステップS610で取得したファイルパス「/var/log/messages.2」とi−node「51133」の組と、ステップS707で取得されたファイルパス「/var/log/messages.2」とi−node「51133」の組が一致するので、ローテーションが発生していないと判断する。
ローテーション検出部105は、ローテーションが発生していないと判断すると、ローテーションが発生していないことをファイル群コピー部106に通知する(ステップS608)。
ファイル群コピー部106は、ローテーション検出部105から通知を受けたとき(図8ステップS712)、ローテーションが発生していないことを通知された場合、コピー対象のローテーショングループにコピー処理されていないファイルがあるかをどうかを確認し(ステップS713)、コピー処理されていないファイルが存在しない場合、コピー対象のローテーショングループのファイル群のコピーが完了したことをユーザに通知する(ステップS714)。ここでは、ローテーショングループ「messages」に次のファイルが無いことを確認して、ファイル群のコピーが完了したことを通知する。以上で、一つのローテーショングループのファイル群のコピーが完了した。
[第4の実施の形態]
次に、本発明の第4の実施の形態について図面を参照して詳細に説明する。本実施の形態は、第1の実施の形態をより具体的に説明するものである。本実施の形態においても、ファイル管理装置100aの構成および動作は第2の実施の形態と同様であるので、図2〜図9を用いて説明する。
まず、ローテーショングループ作成部101は、コピー対象ファイル群108をローテーショングループごとにグループ分けするために、ユーザの指定に応じてローテーショングループを作成する(図5ステップS200)。ここでは、名称が「Apache access」というローテーショングループの作成がユーザから指定されたものとする。
続いて、ローテーショングループ作成部101は、ステップS200で作成したローテーショングループに所属するファイルのファイルパスの指定をユーザから受け取る(ステップS201)。このファイルパスの指定は、複数指定することができ、ワイルドカードや正規表現などを使用することも可能である。ここでは、ファイルパスとして「C:\Apache2.2\logs\access_log」と「C:\Apache2.2\logs\access_log.?」がユーザから指定されたものとする。
さらに、ローテーショングループ作成部101は、ステップS200で作成したローテーショングループに属するファイルのファイル識別情報の指定をユーザから受け取る(ステップS202)。ファイル識別情報としては、ファイルパス、ファイルサイズ、ファイル作成日時、ファイル更新日時、i−node(オブジェクト識別子)、現在時刻、ファイルのデータなどを使用することが可能である。ここでは、ファイル識別情報として使用する情報の種類として、ファイルパスとi−nodeと現在時刻とファイルデータがユーザから指定されたものとする。
そして、ローテーショングループ作成部101は、ユーザからローテーショングループ作成完了の指示を受けると、作成したローテーショングループの情報をローテーション管理部102に格納する(ステップS203)。なお、前記のとおり、ここでは名称が「Apache access」というローテーショングループが1つだけ作成される。
こうして、ローテーショングループが作成されると、ファイル管理装置100aは、コピー対象ファイル群108のコピー、ローテーションの検出を行うことができる。
次に、ファイル群コピー部106は、ユーザからファイル群のコピー要求を受けると(図8ステップS700)、ローテーション検出部105にコピー対象のローテーショングループ全体のローテーション検出を要求する(ステップS701)。ここでは、ローテーショングループ「Apache access」のコピー要求を受けたものとする。
ローテーション検出部105は、ローテーション検出要求を受けたときに(図7ステップS600)、この要求がローテーショングループ全体のローテーション検出要求である場合、ファイル識別情報取得部103に対してファイル識別情報取得要求を行う(ステップS601)。ここでは、ファイル群コピー部106からローテーショングループ「Apache access」のローテーション検出要求を受けて、ファイル識別情報取得部103に対してローテーショングループ「Apache access」のファイル識別情報取得要求を行う。
ファイル識別情報取得部103は、ローテーション検出部105からファイル識別情報取得要求を受けたときに(図6ステップS400)、この要求がローテーショングループのファイル識別情報取得要求である場合、ローテーショングループ管理部102から、要求に該当するローテーショングループの情報を取得する(ステップS401)。ここでは、ローテーショングループ「Apache access」の情報として、ファイルパス「C:\Apache2.2\logs\access_log」とファイル識別情報「ファイルパス」、「更新日時」、「現在時刻」、「ファイルデータ」の組と、ファイルパス「C:\Apache2.2\logs\access_log.?」とファイル識別情報「ファイルパス」、「更新日時」、「現在時刻」、「ファイルデータ」の組を取得したものとする。
ファイル識別情報取得部103は、ローテーショングループの情報を取得すると、このローテーショングループの情報に対応するファイル識別情報をコピー対象ファイル群108から取得し(ステップS402)、取得したファイル識別情報をファイル識別情報管理部104に格納する(ステップS403)。ここでは、ファイル識別情報として、ファイルパス「C:\Apache2.2\logs\access_log」と更新日時「2008/01/01 10:00:00.000」と現在時刻「2008/01/01 10:00:01.111」とファイルデータ「10.34.75.220 - - [12/Dec/2007:10:00:01 +0900] "GET / HTTP/1.1" 200 44」の組と、ファイルパス「C:\Apache2.2\logs\access_log.1」と更新日時「2007/12/12 09:59:59.955」と現在時刻「2008/01/01 10:00:01.111」とファイルデータ「10.34.75.221 - - [30/Nov/2007:08:30:11 +0900] "GET / HTTP/1.1" 200 - 」の組を取得し格納したものとする。現在時刻の取得は更新日時を取得する前に行う。ファイルデータは、ファイルの先頭から予め決められたサイズ、もしくはレコード数分取得する。ここでは、1レコード分取得する。
図7では、ローテーション検出部105は、ステップS601の後にステップS602〜S605の処理を行うことになっているが、ステップS602〜S605の処理を実施しなくても、期待する効果を得ることは可能であるため、本実施の形態では実施しない。ステップS602〜S605の処理を実施しない場合、ステップS606の判断結果を「ローテーションが発生していない」という結果にする。ローテーション検出部105は、ローテーションが発生していないことをファイル群コピー部106に通知する(ステップS608)。
ファイル群コピー部106は、ローテーション検出部105から通知を受けたとき(図8ステップS702)、ローテーションが発生していないことを通知された場合、ファイル識別情報管理部104からローテーショングループのファイル識別情報を取得する(ステップS707)。ここでは、ファイル識別情報として、ファイルパス「C:\Apache2.2\logs\access_log」と更新日時「2008/01/01 10:00:00.000」と現在時刻「2008/01/01 10:00:01.111」とファイルデータ「10.34.75.220 - - [12/Dec/2007:10:00:01 +0900] "GET / HTTP/1.1" 200 44」の組と、ファイルパス「C:\Apache2.2\logs\access_log.1」と更新日時「2007/12/12 09:59:59.955」と現在時刻「2008/01/01 10:00:01.111」とファイルデータ「10.34.75.221 - - [30/Nov/2007:08:30:11 +0900] "GET / HTTP/1.1" 200 - 」の組を取得する。
ファイル群コピー部106は、ファイル識別情報を取得すると、このファイル識別情報に対するコピー先情報をファイルコピー先生成部107に要求する(ステップS708)。ここでは、ファイルパス「C:\Apache2.2\logs\access_log」と更新日時「2008/01/01 10:00:00.000」と現在時刻「2008/01/01 10:00:01.111」とファイルデータ「10.34.75.220 - - [12/Dec/2007:10:00:01 +0900] "GET / HTTP/1.1" 200 44」の組に対するコピー先情報を要求する。
ファイルコピー先生成部107は、ファイル群コピー部106の要求からファイル識別情報を抽出し、このファイル識別情報に対するファイルコピー先情報を生成して(図9ステップS800)、生成したファイルコピー先情報をファイル群コピー部106に渡す(ステップS801)。ここでは、ファイルコピー先情報として、コピー先ファイルパス「/tmp/copy_tmp/copy_file_000001」とその他の情報の記録先ファイルパス「/tmp/copy_tmp/map_file_000003」とが生成されるものとする。その他の情報としては、コピー元のファイルパス、ファイル更新日時、i−node、ファイル生成日時、ファイルサイズなどが含まれる。これらの情報は、コピー先ファイルと対応付けされた形で記録される。
ファイル群コピー部106は、ファイルコピー先生成部107からファイルコピー先情報を取得すると、この情報で指定されるコピー先にコピー対象のファイルをコピーする(図8ステップS709)。ここでは、コピーに成功したものとする。
ファイル群コピー部106は、コピーに成功したかどうかを判断し(ステップS710)、コピーに成功したと判断すると、ローテーション検出部105に対して、コピーに成功したファイルのローテーション検出要求を行う(ステップS711)。ここでは、ファイルパス「C:\Apache2.2\logs\access_log」のファイルのローテーション検出要求を行う。
ローテーション検出部105は、ローテーション検出要求を受けたときに(図7ステップS600)、この要求がコピーに成功したファイルのローテーション検出要求である場合、このローテーション検出要求に含まれるファイルパスをファイル識別情報取得部103に対して指定してファイル識別情報取得要求を行う(ステップS609)。ここでは、ファイルパス「C:\Apache2.2\logs\access_log」のファイル識別情報取得要求を行う。
ファイル識別情報取得部103は、ローテーション検出部105からファイル識別情報取得要求を受けたときに(図6ステップS400)、この要求がファイルパス指定のファイル識別情報取得要求である場合、指定されたファイルパスのファイル識別情報をコピー対象ファイル群108から取得し(ステップS404)、取得したファイル識別情報をローテーション検出部105に渡す(ステップS405)。ここでは、指定されたファイルパス「C:\Apache2.2\logs\access_log」に対応するファイル識別情報として、更新日時「2008/01/01 10:00:02.000」と現在時刻「2008/01/01 10:00:02.222」とファイルデータ「10.34.75.220 - - [12/Dec/2007:10:00:01 +0900] "GET / HTTP/1.1" 200 44」を取得する。
ローテーション検出部105は、ファイル識別情報取得部103からファイル識別情報を取得すると、このファイル識別情報をステップS707で取得されたファイル識別情報と比較する(ステップS610,S611)。ここでは、ステップS610で取得したファイルパス「C:\Apache2.2\logs\access_log」と更新日時「2008/01/01 10:00:02.000」と現在時刻「2008/01/01 10:00:02.222」とファイルデータ「10.34.75.220 - - [12/Dec/2007:10:00:01 +0900] "GET / HTTP/1.1" 200 44」の組と、ステップS707で取得されたファイルパス「C:\Apache2.2\logs\access_log」と更新日時「2008/01/01 10:00:00.000」と現在時刻「2008/01/01 10:00:01.111」とファイルデータ「10.34.75.220 - - [12/Dec/2007:10:00:01 +0900] "GET / HTTP/1.1" 200 44」の組を比較する。
ステップS610で取得した更新日時「2008/01/01 10:00:02.000」とステップS707で取得された更新日時「2008/01/01 10:00:00.000」は一致しない。しかし、ステップS610で取得した更新日時「2008/01/01 10:00:02.000」は、ステップS707で取得された現在時刻「2008/01/01 10:00:01.111」より後の時間で、ステップS610で取得したファイルデータ「10.34.75.220 - - [12/Dec/2007:10:00:01 +0900] "GET / HTTP/1.1" 200 44」とステップS707で取得されたファイルデータ「10.34.75.220 - - [12/Dec/2007:10:00:01 +0900] "GET / HTTP/1.1" 200 44」が一致するため、ローテーションが発生していないと判断する。
更新日時、現在時刻、ファイルデータを用いたローテーション検出は、以下の要領で行う。
(a)ローテーション検出部105は、更新日時が変化していない場合、ローテーションが発生していないと判断する。
(b)ローテーション検出部105は、更新日時が変化していて、その変化している更新日時が、先にステップS707で取得された現在時刻より前の時刻である場合は、ローテーションが発生したと判断する。
(c)ローテーション検出部105は、更新日時が変化していて、その変化している更新日時が、先にステップS707で取得された現在時刻と同じ時刻もしくは後の時刻である場合は、ファイルデータを比較して、ファイルデータが一致すれば、ローテーションが発生していないと判断し、ファイルデータが一致しなければ、ローテーションが発生したと判断する。
ローテーション検出部105は、ローテーションが発生していないと判断すると、ローテーションが発生していないことをファイル群コピー部106に通知する(ステップS608)。
ファイル群コピー部106は、ローテーション検出部105から通知を受けたとき(図8ステップS712)、ローテーションが発生していないことを通知された場合、コピー対象のローテーショングループにコピー処理されていないファイルがあるかをどうかを確認し(ステップS713)、コピー処理されていないファイルが存在する場合、このファイルのコピー先情報をファイルコピー先生成部107に要求する(ステップS708)。ここでは、コピー対象のローテーショングループ「Apache access」にファイルパス「C:\Apache2.2\logs\access_log.1」のファイルがコピーされずに残っている。そこで、ファイル群コピー部106は、ファイルパス「C:\Apache2.2\logs\access_log.1」と更新日時「2007/12/12 09:59:59.955」と現在時刻「2008/01/01 10:00:01.111」とファイルデータ「10.34.75.221 - - [30/Nov/2007:08:30:11 +0900] "GET / HTTP/1.1" 200 - 」の組に対するコピー先情報を要求する。
ここで、ローテーションが開始され、ファイルパス「C:\Apache2.2\logs\access_log.1」が「C:\Apache2.2\logs\access_log.2」に書き替えられ、ファイルパス「C:\Apache2.2\logs\access_log」が「C:\Apache2.2\logs\access_log.1」に書き替えられ、新たにファイルパス「C:\Apache2.2\logs\access_log」が生成されたものとする。
ファイルコピー先生成部107は、ファイル群コピー部106の要求からファイル識別情報を抽出し、このファイル識別情報に対するファイルコピー先情報を生成して(図9ステップS800)、生成したファイルコピー先情報をファイル群コピー部106に渡す(ステップS801)。ここでは、ファイルコピー先情報として、コピー先ファイルパス「/tmp/copy_tmp/copy_file_000002」とその他の情報の記録先ファイルパス「/tmp/copy_tmp/map_file_000003」とが生成されるものとする。その他の情報としては、コピー元のファイルパス、ファイル更新日時、i−node、ファイル生成日時、ファイルサイズなどが含まれる。これらの情報は、コピー先ファイルと対応付けされた形で記録される。
ファイル群コピー部106は、ファイルコピー先生成部107からファイルコピー先情報を取得すると、この情報で指定されるコピー先にコピー対象のファイルをコピーする(図8ステップS709)。ここでは、ファイルパス「C:\Apache2.2\logs\access_log.1」のファイルをコピー先ファイルパス「/tmp/copy_tmp/copy_file_000002」の記憶領域にコピーする。また、コピー元のファイルパス「C:\Apache2.2\logs\access_log.1」、ファイル更新日時、i−node、ファイル生成日時およびファイルサイズを、ファイルパス「/tmp/copy_tmp/copy_file_000002」のファイルと対応付けした形でファイルパス「/tmp/copy_tmp/map_file_000003」の記憶領域に記録する。なお、ここではコピーに成功したものとする。
ファイル群コピー部106は、コピーに成功したかどうかを判断し(ステップS710)、コピーに成功したと判断すると、ローテーション検出部105に対して、コピーに成功したファイルのローテーション検出要求を行う(ステップS711)。ここでは、ファイルパス「C:\Apache2.2\logs\access_log.1」のファイルのローテーション検出要求を行う。
ローテーション検出部105は、ローテーション検出要求を受けたときに(図7ステップS600)、この要求がコピーに成功したファイルのローテーション検出要求である場合、このローテーション検出要求に含まれるファイルパスをファイル識別情報取得部103に対して指定してファイル識別情報取得要求を行う(ステップS609)。ここでは、ファイルパス「C:\Apache2.2\logs\access_log.1」のファイル識別情報取得要求を行う。
ファイル識別情報取得部103は、ローテーション検出部105からファイル識別情報取得要求を受けたときに(図6ステップS400)、この要求がファイルパス指定のファイル識別情報取得要求である場合、指定されたファイルパスのファイル識別情報をコピー対象ファイル群108から取得し(ステップS404)、取得したファイル識別情報をローテーション検出部105に渡す(ステップS405)。ここでは、指定されたファイルパス「C:\Apache2.2\logs\access_log.1」に対応するファイル識別情報として、更新日時「2008/01/01 10:00:02.000」と現在時刻「2008/01/01 10:00:01.111」とファイルデータ「10.34.75.220 - - [12/Dec/2007:10:00:01 +0900] "GET / HTTP/1.1" 200 44」の組を取得する。
ローテーション検出部105は、ファイル識別情報取得部103からファイル識別情報を取得すると、このファイル識別情報をステップS707で取得されたファイル識別情報と比較する(ステップS610,S611)。ここでは、ステップS610で取得したファイルパス「/var/log/messages.1」とi−node「51112」の組と、ステップS707で取得されたファイルパス「/var/log/messages.1」とi−node「51112」の組が一致するので、ローテーションが発生していないと判断する。ここでは、ステップS610で取得したファイルパス「C:\Apache2.2\logs\access_log.1」と更新日時「2008/01/01 10:00:02.000」と現在時刻「2008/01/01 10:00:01.111」とファイルデータ「10.34.75.220 - - [12/Dec/2007:10:00:01 +0900] "GET / HTTP/1.1" 200 44」の組と、ステップS707で取得されたファイルパス「C:\Apache2.2\logs\access_log.1」と更新日時「2007/12/12 09:59:59.955」と現在時刻「2008/01/01 10:00:01.111」とファイルデータ「10.34.75.221 - - [30/Nov/2007:08:30:11 +0900] "GET / HTTP/1.1" 200 - 」の組を比較する。
ステップS610で取得した更新日時「2008/01/01 10:00:02.000」とステップS707で取得された更新日時「2007/12/12 09:59:59.955」は一致しない。さらに、ステップS610で取得した更新日時「2008/01/01 10:00:02.000」はステップS707で取得された現在時刻「2008/01/01 10:00:01.111」より後の時刻であり、ステップS610で取得したファイルデータ「10.34.75.220 - - [12/Dec/2007:10:00:01 +0900] "GET / HTTP/1.1" 200 44」とステップS707で取得されたファイルデータ「10.34.75.221 - - [30/Nov/2007:08:30:11 +0900] "GET / HTTP/1.1" 200 -」が一致しないため、ローテーションが発生したと判断する。
ローテーション検出部105は、ローテーションが発生したと判断すると、ローテーションが発生したことをファイル群コピー部106に通知する(ステップS607)。
ファイル群コピー部106は、ローテーション検出部105から通知を受けたとき(図8ステップS712)、ローテーションが発生したことを通知された場合、リトライカウント値をカウントアップし(ステップS703)、カウントアップした後のリトライカウント値が最大リトライ回数以下であるかどうかを判断する(ステップS704)。ファイル群コピー部106は、リトライカウント値が最大リトライ回数以下であれば、所定のリトライインターバルだけ待つ(ステップS705)。ここでは、最大リトライ回数は「2」に設定されており、リトライカウント値は「0」から「1」にカウントアップされる(ステップS703)。リトライインターバルは「2秒」に設定されており、ファイル群コピー部106は、2秒待ってから処理を再開する(ステップS705)。
なお、ファイル群コピー部106は、ステップS703でカウントアップした後のリトライカウント値が最大リトライ回数より大きい場合、ローテーショングループのファイル群のコピーに失敗したことをユーザに通知し、コピー処理を終了する(ステップS706)。
次に、ファイル群コピー部106は、リトライカウント値が最大リトライ回数以下である場合、リトライインターバルだけ待った後に(ステップS705)、ローテーション検出部105にコピー対象のローテーショングループ全体のローテーション検出を要求する(ステップS701)。ここでは、ローテーショングループ「Apache access」のローテーション検出要求を行う。
ローテーション検出部105は、ローテーション検出要求を受けたときに(図7ステップS600)、この要求がローテーショングループ全体のローテーション検出要求である場合、ファイル識別情報取得部103に対してファイル識別情報取得要求を行う(ステップS601)。ここでは、ファイル群コピー部106からローテーショングループ「Apache access」のローテーション検出要求を受けて、ファイル識別情報取得部103に対してローテーショングループ「Apache access」のファイル識別情報取得要求を行う。
ファイル識別情報取得部103は、ローテーション検出部105からファイル識別情報取得要求を受けたときに(図6ステップS400)、この要求がローテーショングループのファイル識別情報取得要求である場合、ローテーショングループ管理部102から、要求に該当するローテーショングループの情報を取得する(ステップS401)。ここでは、ローテーショングループ「Apache access」の情報として、ファイルパス「C:\Apache2.2\logs\access_log」とファイル識別情報「ファイルパス」、「更新日時」、「現在時刻」、「ファイルデータ」の組と、ファイルパス「C:\Apache2.2\logs\access_log.?」とファイル識別情報「ファイルパス」、「更新日時」、「現在時刻」、「ファイルデータ」の組を取得する。
ファイル識別情報取得部103は、ローテーショングループの情報を取得すると、このローテーショングループの情報に対応するファイル識別情報をコピー対象ファイル群108から取得し(ステップS402)、取得したファイル識別情報をファイル識別情報管理部104に格納する(ステップS403)。ここでは、ファイルパス「C:\Apache2.2\logs\access_log」と更新日時「2008/01/01 10:00:03.000」と現在時刻「2008/01/01 10:00:05.111」とファイルデータ「10.34.75.219 - - [01/Jan/2008:10:00:03 +0900] "GET / HTTP/1.1" 200 - 」の組と、ファイルパス「C:\Apache2.2\logs\access_log.1」と更新日時「2008/01/01 10:00:02.000」と現在時刻「2008/01/01 10:00:05.111」とファイルデータ「10.34.75.220 - - [12/Dec/2007:10:00:01 +0900] "GET / HTTP/1.1" 200 44」の組と、ファイルパス「C:\Apache2.2\logs\access_log.2」と更新日時「2007/12/12 09:59:59.955」と現在時刻「2008/01/01 10:00:05.111」とファイルデータ「10.34.75.221 - - [30/Nov/2007:08:30:11 +0900] "GET / HTTP/1.1" 200 - 」の組を取得し格納する。
図7では、ローテーション検出部105は、ステップS601の後にステップS602〜S605の処理を行うことになっているが、前述のとおり、本実施の形態では、ステップS602〜S605の処理を実施しない。ステップS602〜S605の処理を実施しない場合、ステップS606の判断結果を「ローテーションが発生していない」という結果にする。ローテーション検出部105は、ローテーションが発生していないことをファイル群コピー部106に通知する(ステップS608)。
ファイル群コピー部106は、ローテーション検出部105から通知を受けたとき(図8ステップS702)、ローテーションが発生していないことを通知された場合、ファイル識別情報管理部104からローテーショングループのファイル識別情報を取得する(ステップS707)。ここでは、ファイルパス「C:\Apache2.2\logs\access_log」と更新日時「2008/01/01 10:00:03.000」と現在時刻「2008/01/01 10:00:05.111」とファイルデータ「10.34.75.219 - - [01/Jan/2008:10:00:03 +0900] "GET / HTTP/1.1" 200 - 」の組と、ファイルパス「C:\Apache2.2\logs\access_log.1」と更新日時「2008/01/01 10:00:02.000」と現在時刻「2008/01/01 10:00:05.111」とファイルデータ「10.34.75.220 - - [12/Dec/2007:10:00:01 +0900] "GET / HTTP/1.1" 200 44」の組と、ファイルパス「C:\Apache2.2\logs\access_log.2」と更新日時「2007/12/12 09:59:59.955」と現在時刻「2008/01/01 10:00:05.111」とファイルデータ「10.34.75.221 - - [30/Nov/2007:08:30:11 +0900] "GET / HTTP/1.1" 200 - 」の組を取得する。
ファイル群コピー部106は、ファイル識別情報を取得すると、このファイル識別情報に対するコピー先情報をファイルコピー先生成部107に要求する(ステップS708)。ここでは、ファイルパス「C:\Apache2.2\logs\access_log」と更新日時「2008/01/01 10:00:03.000」と現在時刻「2008/01/01 10:00:05.111」とファイルデータ「10.34.75.219 - - [01/Jan/2008:10:00:03 +0900] "GET / HTTP/1.1" 200 - 」の組に対するコピー先情報を要求する。
ファイルコピー先生成部107は、ファイル群コピー部106の要求からファイル識別情報を抽出し、このファイル識別情報に対するファイルコピー先情報を生成して(図9ステップS800)、生成したファイルコピー先情報をファイル群コピー部106に渡す(ステップS801)。ここでは、ファイルコピー先情報として、コピー先ファイルパス「/tmp/copy_tmp/copy_file_000001」とその他の情報の記録先ファイルパス「/tmp/copy_tmp/map_file_000003」とが生成されるものとする。その他の情報としては、コピー元のファイルパス、ファイル更新日時、i−node、ファイル生成日時、ファイルサイズなどが含まれる。これらの情報は、コピー先ファイルと対応付けされた形で記録される。
ファイル群コピー部106は、ファイルコピー先生成部107からファイルコピー先情報を取得すると、この情報で指定されるコピー先にコピー対象のファイルをコピーする(図8ステップS709)。ここでは、コピーに成功したものとする。
ファイル群コピー部106は、コピーに成功したかどうかを判断し(ステップS710)、コピーに成功したと判断すると、ローテーション検出部105に対して、コピーに成功したファイルのローテーション検出要求を行う(ステップS711)。ここでは、ファイルパス「C:\Apache2.2\logs\access_log」のファイルのローテーション検出要求を行う。
ローテーション検出部105は、ローテーション検出要求を受けたときに(図7ステップS600)、この要求がコピーに成功したファイルのローテーション検出要求である場合、このローテーション検出要求に含まれるファイルパスをファイル識別情報取得部103に対して指定してファイル識別情報取得要求を行う(ステップS609)。ここでは、ファイルパス「C:\Apache2.2\logs\access_log」のファイル識別情報取得要求を行う。
ファイル識別情報取得部103は、ローテーション検出部105からファイル識別情報取得要求を受けたときに(図6ステップS400)、この要求がファイルパス指定のファイル識別情報取得要求である場合、指定されたファイルパスのファイル識別情報をコピー対象ファイル群108から取得し(ステップS404)、取得したファイル識別情報をローテーション検出部105に渡す(ステップS405)。ここでは、指定されたファイルパス「C:\Apache2.2\logs\access_log」に対応するファイル識別情報として、更新日時「2008/01/01 10:00:03.000」と現在時刻「2008/01/01 10:00:06.211」とファイルデータ「10.34.75.219 - - [01/Jan/2008:10:00:03 +0900] "GET / HTTP/1.1" 200 - 」の組を取得する。
ローテーション検出部105は、ファイル識別情報取得部103からファイル識別情報を取得すると、このファイル識別情報をステップS707で取得されたファイル識別情報と比較する(ステップS610,S611)。ここでは、ステップS610で取得した更新日時「2008/01/01 10:00:03.000」とステップS707で取得された更新日時「2008/01/01 10:00:03.000」が一致するため、ローテーションは発生していないと判断する。
ローテーション検出部105は、ローテーションが発生していないと判断すると、ローテーションが発生していないことをファイル群コピー部106に通知する(ステップS608)。
ファイル群コピー部106は、ローテーション検出部105から通知を受けたとき(図8ステップS712)、ローテーションが発生していないことを通知された場合、コピー対象のローテーショングループにコピー処理されていないファイルがあるかをどうかを確認し(ステップS713)、コピー処理されていないファイルが存在する場合、このファイルのコピー先情報をファイルコピー先生成部107に要求する(ステップS708)。ここでは、コピー対象のローテーショングループ「Apache access」にファイルパス「C:\Apache2.2\logs\access_log.1」のファイルがコピーされずに残っている。そこで、ファイル群コピー部106は、ファイルパス「C:\Apache2.2\logs\access_log.1」と更新日時「2008/01/01 10:00:02.000」と現在時刻「2008/01/01 10:00:05.111」とファイルデータ「10.34.75.220 - - [12/Dec/2007:10:00:01 +0900] "GET / HTTP/1.1" 200 44」の組に対するコピー先情報を要求する。
ファイルコピー先生成部107は、ファイル群コピー部106の要求からファイル識別情報を抽出し、このファイル識別情報に対するファイルコピー先情報を生成して(図9ステップS800)、生成したファイルコピー先情報をファイル群コピー部106に渡す(ステップS801)。ここでは、ファイルコピー先情報として、コピー先ファイルパス「/tmp/copy_tmp/copy_file_000002」とその他の情報の記録先ファイルパス「/tmp/copy_tmp/map_file_000003」とが生成されるものとする。その他の情報としては、コピー元のファイルパス、ファイル更新日時、i−node、ファイル生成日時、ファイルサイズなどが含まれる。これらの情報は、コピー先ファイルと対応付けされた形で記録される。
ファイル群コピー部106は、ファイルコピー先生成部107からファイルコピー先情報を取得すると、この情報で指定されるコピー先にコピー対象のファイルをコピーする(図8ステップS709)。ここでは、ファイルパス「C:\Apache2.2\logs\access_log.1」のファイルをコピー先ファイルパス「/tmp/copy_tmp/copy_file_000002」の記憶領域にコピーする。また、コピー元のファイルパス「C:\Apache2.2\logs\access_log.1」、ファイル更新日時、i−node、ファイル生成日時およびファイルサイズを、ファイルパス「/tmp/copy_tmp/copy_file_000002」のファイルと対応付けした形でファイルパス「/tmp/copy_tmp/map_file_000003」の記憶領域に記録する。なお、ここではコピーに成功したものとする。
ファイル群コピー部106は、コピーに成功したかどうかを判断し(ステップS710)、コピーに成功したと判断すると、ローテーション検出部105に対して、コピーに成功したファイルのローテーション検出要求を行う(ステップS711)。ここでは、ファイルパス「C:\Apache2.2\logs\access_log.1」のファイルのローテーション検出要求を行う。
ローテーション検出部105は、ローテーション検出要求を受けたときに(図7ステップS600)、この要求がコピーに成功したファイルのローテーション検出要求である場合、このローテーション検出要求に含まれるファイルパスをファイル識別情報取得部103に対して指定してファイル識別情報取得要求を行う(ステップS609)。ここでは、ファイルパス「C:\Apache2.2\logs\access_log.1」のファイル識別情報取得要求を行う。
ファイル識別情報取得部103は、ローテーション検出部105からファイル識別情報取得要求を受けたときに(図6ステップS400)、この要求がファイルパス指定のファイル識別情報取得要求である場合、指定されたファイルパスのファイル識別情報をコピー対象ファイル群108から取得し(ステップS404)、取得したファイル識別情報をローテーション検出部105に渡す(ステップS405)。ここでは、指定されたファイルパス「C:\Apache2.2\logs\access_log.1」に対応するファイル識別情報として、更新日時「2008/01/01 10:00:02.000」と現在時刻「2008/01/01 10:00:05.111」とファイルデータ「10.34.75.220 - - [12/Dec/2007:10:00:01 +0900] "GET / HTTP/1.1" 200 44」の組を取得する。
ローテーション検出部105は、ファイル識別情報取得部103からファイル識別情報を取得すると、このファイル識別情報をステップS707で取得されたファイル識別情報と比較する(ステップS610,S611)。ここでは、ステップS610で取得した更新日時「2008/01/01 10:00:02.000」とステップS707で取得された更新日時「2008/01/01 10:00:02.000」が一致するため、ローテーションは発生していないと判断する。
ローテーション検出部105は、ローテーションが発生していないと判断すると、ローテーションが発生していないことをファイル群コピー部106に通知する(ステップS608)。
ファイル群コピー部106は、ローテーション検出部105から通知を受けたとき(図8ステップS712)、ローテーションが発生していないことを通知された場合、コピー対象のローテーショングループにコピー処理されていないファイルがあるかをどうかを確認し(ステップS713)、コピー処理されていないファイルが存在する場合、このファイルのコピー先情報をファイルコピー先生成部107に要求する(ステップS708)。ここでは、コピー対象のローテーショングループ「Apache access」にファイルパス「C:\Apache2.2\logs\access_log.2」のファイルがコピーされずに残っている。そこで、ファイル群コピー部106は、ファイルパス「C:\Apache2.2\logs\access_log.2」と更新日時「2007/12/12 09:59:59.955」と現在時刻「2008/01/01 10:00:05.111」とファイルデータ「10.34.75.221 - - [30/Nov/2007:08:30:11 +0900] "GET / HTTP/1.1" 200 - 」の組に対するコピー先情報を要求する。
ファイルコピー先生成部107は、ファイル群コピー部106の要求からファイル識別情報を抽出し、このファイル識別情報に対するファイルコピー先情報を生成して(図9ステップS800)、生成したファイルコピー先情報をファイル群コピー部106に渡す(ステップS801)。ここでは、ファイルコピー先情報として、コピー先ファイルパス「/tmp/copy_tmp/copy_file_000003」とその他の情報の記録先ファイルパス「/tmp/copy_tmp/map_file_000003」とが生成されるものとする。その他の情報としては、コピー元のファイルパス、ファイル更新日時、i−node、ファイル生成日時、ファイルサイズなどが含まれる。これらの情報は、コピー先ファイルと対応付けされた形で記録される。
ファイル群コピー部106は、ファイルコピー先生成部107からファイルコピー先情報を取得すると、この情報で指定されるコピー先にコピー対象のファイルをコピーする(図8ステップS709)。ここでは、ファイルパス「C:\Apache2.2\logs\access_log.2」のファイルをコピー先ファイルパス「/tmp/copy_tmp/copy_file_000003」の記憶領域にコピーする。また、コピー元のファイルパス「C:\Apache2.2\logs\access_log.2」、ファイル更新日時、i−node、ファイル生成日時およびファイルサイズを、ファイルパス「/tmp/copy_tmp/copy_file_000003」のファイルと対応付けした形でファイルパス「/tmp/copy_tmp/map_file_000003」の記憶領域に記録する。なお、ここではコピーに成功したものとする。
ファイル群コピー部106は、コピーに成功したかどうかを判断し(ステップS710)、コピーに成功したと判断すると、ローテーション検出部105に対して、コピーに成功したファイルのローテーション検出要求を行う(ステップS711)。ここでは、ファイルパス「C:\Apache2.2\logs\access_log.2」のファイルのローテーション検出要求を行う。
ローテーション検出部105は、ローテーション検出要求を受けたときに(図7ステップS600)、この要求がコピーに成功したファイルのローテーション検出要求である場合、このローテーション検出要求に含まれるファイルパスをファイル識別情報取得部103に対して指定してファイル識別情報取得要求を行う(ステップS609)。ここでは、ファイルパス「C:\Apache2.2\logs\access_log.2」のファイル識別情報取得要求を行う。
ファイル識別情報取得部103は、ローテーション検出部105からファイル識別情報取得要求を受けたときに(図6ステップS400)、この要求がファイルパス指定のファイル識別情報取得要求である場合、指定されたファイルパスのファイル識別情報をコピー対象ファイル群108から取得し(ステップS404)、取得したファイル識別情報をローテーション検出部105に渡す(ステップS405)。ここでは、指定されたファイルパス「C:\Apache2.2\logs\access_log.2」に対応するファイル識別情報として、更新日時「2007/12/12 09:59:59.955」と現在時刻「2008/01/01 10:00:05.111」とファイルデータ「10.34.75.221 - - [30/Nov/2007:08:30:11 +0900] "GET / HTTP/1.1" 200 - 」の組を取得する。
ローテーション検出部105は、ファイル識別情報取得部103からファイル識別情報を取得すると、このファイル識別情報をステップS707で取得されたファイル識別情報と比較する(ステップS610,S611)。ここでは、ステップS610で取得した更新日時「2007/12/12 09:59:59.955」とステップS707で取得された更新日時「2007/12/12 09:59:59.955」が一致するため、ローテーションは発生していないと判断する。
ローテーション検出部105は、ローテーションが発生していないと判断すると、ローテーションが発生していないことをファイル群コピー部106に通知する(ステップS608)。
ファイル群コピー部106は、ローテーション検出部105から通知を受けたとき(図8ステップS712)、ローテーションが発生していないことを通知された場合、コピー対象のローテーショングループにコピー処理されていないファイルがあるかをどうかを確認し(ステップS713)、コピー処理されていないファイルが存在しない場合、コピー対象のローテーショングループのファイル群のコピーが完了したことをユーザに通知する(ステップS714)。ここでは、ローテーショングループ「Apache access」に次のファイルが無いことを確認して、ファイル群のコピーが完了したことを通知する。以上で、一つのローテーショングループのファイル群のコピーが完了した。
なお、第1〜第4の実施の形態のファイル管理装置100,100aは、CPU、記憶装置および外部とのインタフェースを備えたコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。このコンピュータにおいて、本発明のファイル管理方法を実現させるためのファイル管理プログラムは、フレキシブルディスク、CD−ROM、DVD−ROM、メモリカードなどの記録媒体に記録された状態で提供される。CPUは、記録媒体から読み込んだプログラムを記憶装置に書き込み、プログラムに従って第1〜第4の実施の形態で説明した処理を実行する。
本発明によれば、例えばログファイルを収集するシステムにおいて、ログファイルを重複、漏れなく収集するための用途に適用できる。
本発明の第1の実施の形態に係るファイル管理装置の構成を示すブロック図である。 本発明の第2の実施の形態に係るファイル管理装置の構成を示すブロック図である。 本発明の第2の実施の形態に係るローテーショングループ管理部が管理する情報の1例を示す図である。 本発明の第2の実施の形態に係るファイル識別情報管理部が管理する情報の1例を示す図である。 本発明の第2の実施の形態に係るローテーショングループ作成部の動作を示すフローチャートである。 本発明の第2の実施の形態に係るファイル識別情報取得部の動作を示すフローチャートである。 本発明の第2の実施の形態に係るローテーション検出部の動作を示すフローチャートである。 本発明の第2の実施の形態に係るファイル群コピー部の動作を示すフローチャートである。 本発明の第2の実施の形態に係るファイルコピー先生成部の動作を示すフローチャートである。
符号の説明
100,100a…ファイル管理装置、101…ローテーショングループ作成部、102…ローテーショングループ管理部、103…ファイル識別情報取得部、104…ファイル識別情報管理部、105…ローテーション検出部、106…ファイル群コピー部、107…ファイルコピー先生成部、200…記憶装置、300…入力装置、400…表示装置。

Claims (12)

  1. ファイル名の変更によって世代管理されるファイル群について、同じファイル名で新しいファイルが作成されるローテーションを検出するファイル管理方法において、
    ファイル群をグループ分けしたローテーショングループを作成し、このローテーショングループの情報をローテーショングループ管理手段に格納するローテーショングループ作成ステップと、
    前記ローテーショングループの情報に対応するファイルのファイル識別情報を前記ファイル群から取得し、このファイル識別情報をファイル識別情報管理手段に格納するファイル識別情報取得ステップと、
    前記ファイル識別情報管理手段から前記ローテーショングループのファイル識別情報を取得した後に、このローテーショングループに所属するファイルのファイル識別情報を前記ファイル群から取得し、取得したファイル識別情報を比較してローテーションを検出するローテーション検出ステップとを備えることを特徴とするファイル管理方法。
  2. 請求項1記載のファイル管理方法において、
    前記ローテーショングループ作成ステップは、前記ローテーショングループに所属するファイルのファイルパスの指定およびファイル識別情報の種類の指定をユーザから受けて、前記ローテーショングループを作成することを特徴とするファイル管理方法。
  3. 請求項2記載のファイル管理方法において、
    前記ファイル識別情報は、ファイルパス、ファイルサイズ、ファイル作成日時、ファイル更新日時、i−node(オブジェクト識別子)、現在時刻、ファイルのデータのうちの少なくとも1つであることを特徴とするファイル管理方法。
  4. 請求項2記載のファイル管理方法において、
    さらに、ユーザからローテーショングループ単位のコピー要求を受けたときに、コピー対象のローテーショングループをコピー先にコピーし、このコピー中に前記ローテーション検出ステップを実行させて前記ローテーションが検出された場合にはファイルコピーを再試行するファイル群コピーステップを備えることを特徴とするファイル管理方法。
  5. ファイル名の変更によって世代管理されるファイル群について、同じファイル名で新しいファイルが作成されるローテーションを検出するファイル管理装置において、
    ファイル群をグループ分けしたローテーショングループを作成するローテーショングループ作成手段と、
    前記ローテーショングループの情報を記憶するローテーショングループ管理手段と、
    前記ローテーショングループの情報に対応するファイルのファイル識別情報を前記ファイル群から取得するファイル識別情報取得手段と、
    このファイル識別情報取得手段が取得したファイル識別情報を記憶するファイル識別情報管理手段と、
    このファイル識別情報管理手段から前記ローテーショングループのファイル識別情報を取得した後に、このローテーショングループに所属するファイルのファイル識別情報を前記ファイル群から取得し、取得したファイル識別情報を比較してローテーションを検出するローテーション検出手段とを備えることを特徴とするファイル管理装置。
  6. 請求項5記載のファイル管理装置において、
    前記ローテーショングループ作成手段は、前記ローテーショングループに所属するファイルのファイルパスの指定およびファイル識別情報の種類の指定をユーザから受けて、前記ローテーショングループを作成することを特徴とするファイル管理装置。
  7. 請求項6記載のファイル管理装置において、
    前記ファイル識別情報は、ファイルパス、ファイルサイズ、ファイル作成日時、ファイル更新日時、i−node(オブジェクト識別子)、現在時刻、ファイルのデータのうちの少なくとも1つであることを特徴とするファイル管理装置。
  8. 請求項6記載のファイル管理装置において、
    さらに、ユーザからローテーショングループ単位のコピー要求を受けたときに、コピー対象のローテーショングループをコピー先にコピーし、このコピー中に前記ローテーション検出手段に前記ローテーションの検出処理を実行させて前記ローテーションが検出された場合にはファイルコピーを再試行するファイル群コピー手段を備えることを特徴とするファイル管理装置。
  9. ファイル名の変更によって世代管理されるファイル群について、同じファイル名で新しいファイルが作成されるローテーションを検出するファイル管理装置としてコンピュータを動作させるファイル管理プログラムにおいて、
    ファイル群をグループ分けしたローテーショングループを作成し、このローテーショングループの情報をローテーショングループ管理手段に格納するローテーショングループ作成ステップと、
    前記ローテーショングループの情報に対応するファイルのファイル識別情報を前記ファイル群から取得し、このファイル識別情報をファイル識別情報管理手段に格納するファイル識別情報取得ステップと、
    前記ファイル識別情報管理手段から前記ローテーショングループのファイル識別情報を取得した後に、このローテーショングループに所属するファイルのファイル識別情報を前記ファイル群から取得し、取得したファイル識別情報を比較してローテーションを検出するローテーション検出ステップとを、コンピュータに実行させることを特徴とするファイル管理プログラム。
  10. 請求項9記載のファイル管理プログラムにおいて、
    前記ローテーショングループ作成ステップは、前記ローテーショングループに所属するファイルのファイルパスの指定およびファイル識別情報の種類の指定をユーザから受けて、前記ローテーショングループを作成することを特徴とするファイル管理プログラム。
  11. 請求項10記載のファイル管理プログラムにおいて、
    前記ファイル識別情報は、ファイルパス、ファイルサイズ、ファイル作成日時、ファイル更新日時、i−node(オブジェクト識別子)、現在時刻、ファイルのデータのうちの少なくとも1つであることを特徴とするファイル管理プログラム。
  12. 請求項10記載のファイル管理プログラムにおいて、
    さらに、ユーザからローテーショングループ単位のコピー要求を受けたときに、コピー対象のローテーショングループをコピー先にコピーし、このコピー中に前記ローテーション検出ステップを実行させて前記ローテーションが検出された場合にはファイルコピーを再試行するファイル群コピーステップを、コンピュータに実行させることを特徴とするファイル管理プログラム。
JP2008012444A 2008-01-23 2008-01-23 ファイル管理方法、ファイル管理装置およびプログラム Expired - Fee Related JP4506841B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008012444A JP4506841B2 (ja) 2008-01-23 2008-01-23 ファイル管理方法、ファイル管理装置およびプログラム
US12/356,007 US8290992B2 (en) 2008-01-23 2009-01-19 File management method, file management device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008012444A JP4506841B2 (ja) 2008-01-23 2008-01-23 ファイル管理方法、ファイル管理装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2009175927A true JP2009175927A (ja) 2009-08-06
JP4506841B2 JP4506841B2 (ja) 2010-07-21

Family

ID=40877284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008012444A Expired - Fee Related JP4506841B2 (ja) 2008-01-23 2008-01-23 ファイル管理方法、ファイル管理装置およびプログラム

Country Status (2)

Country Link
US (1) US8290992B2 (ja)
JP (1) JP4506841B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101549435B1 (ko) * 2012-07-17 2015-09-02 가부시키가이샤 히다치 고쿠사이 덴키 관리 장치, 기판 처리 시스템 및 기판 처리 장치의 파일 관리 방법
CN107728562A (zh) * 2016-08-12 2018-02-23 欧姆龙株式会社 可编程显示器、更新处理装置及其方法及记录介质
CN113422787A (zh) * 2021-08-24 2021-09-21 广州乐盈信息科技股份有限公司 一种用于无源光网络系统的智能防攻击方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739465A (zh) * 2010-01-18 2010-06-16 中兴通讯股份有限公司 管理实体文件的建立方法和更新方法
US9871699B2 (en) * 2015-07-30 2018-01-16 Adtran Inc. Telecommunications node configuration management
US9819545B2 (en) * 2015-07-30 2017-11-14 Adtran Inc. Telecommunications node configuration management
CN113626040B (zh) * 2020-05-06 2023-12-22 伊姆西Ip控股有限责任公司 用于安装应用的方法、电子设备和计算机程序产品
KR102691933B1 (ko) * 2022-12-09 2024-08-05 주식회사 하이퍼라운지 파일 변경 인식 기반의 파일군 결정 방법 및 그를 위한 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003516586A (ja) * 1999-12-13 2003-05-13 インクトミ コーポレイション コンテンツ収集
JP2003280974A (ja) * 2002-03-25 2003-10-03 Fujitsu Ltd ウェブサーバ管理方法、プログラム及び記録媒体
JP2007034642A (ja) * 2005-07-27 2007-02-08 Nec Corp ファイルローテーションシステムおよびそのローテーション方法ならびにプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3422352B2 (ja) 1997-04-22 2003-06-30 日本電気株式会社 マスタファイル世代管理装置
JP2005010950A (ja) 2003-06-17 2005-01-13 Canon Inc ファイル管理装置、ファイル管理方法、プログラム及び記録媒体
JP2005293016A (ja) * 2004-03-31 2005-10-20 Toshiba Solutions Corp ログファイル監視プログラム、ログファイル監視方法、計算機システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003516586A (ja) * 1999-12-13 2003-05-13 インクトミ コーポレイション コンテンツ収集
JP2003280974A (ja) * 2002-03-25 2003-10-03 Fujitsu Ltd ウェブサーバ管理方法、プログラム及び記録媒体
JP2007034642A (ja) * 2005-07-27 2007-02-08 Nec Corp ファイルローテーションシステムおよびそのローテーション方法ならびにプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101549435B1 (ko) * 2012-07-17 2015-09-02 가부시키가이샤 히다치 고쿠사이 덴키 관리 장치, 기판 처리 시스템 및 기판 처리 장치의 파일 관리 방법
US9400794B2 (en) 2012-07-17 2016-07-26 Hitachi Kokusai Electric Inc. Group management apparatus, substrate processing system and method of managing files of substrate processing apparatus
CN107728562A (zh) * 2016-08-12 2018-02-23 欧姆龙株式会社 可编程显示器、更新处理装置及其方法及记录介质
CN113422787A (zh) * 2021-08-24 2021-09-21 广州乐盈信息科技股份有限公司 一种用于无源光网络系统的智能防攻击方法
CN113422787B (zh) * 2021-08-24 2021-11-09 广州乐盈信息科技股份有限公司 一种用于无源光网络系统的智能防攻击方法

Also Published As

Publication number Publication date
US8290992B2 (en) 2012-10-16
JP4506841B2 (ja) 2010-07-21
US20090187603A1 (en) 2009-07-23

Similar Documents

Publication Publication Date Title
JP4506841B2 (ja) ファイル管理方法、ファイル管理装置およびプログラム
US10949401B2 (en) Data replication in site recovery environment
US10089148B1 (en) Method and apparatus for policy-based replication
US8521974B2 (en) Migration of data in a distributed environment
US20150199243A1 (en) Data backup method of distributed file system
US20070186127A1 (en) Verification of computer backup data
US20200272492A1 (en) Deploying a cloud instance of a user virtual machine
JP2005084771A (ja) バックアップシステム及び方法
WO2021226905A1 (zh) 一种数据存储方法、系统及存储介质
CN111538719A (zh) 数据迁移方法、装置、设备及计算机存储介质
WO2014205847A1 (zh) 一种分区平衡子任务下发方法、装置与系统
WO2016029743A1 (zh) 一种生成虚拟机的逻辑磁盘的方法,及装置
US12001290B2 (en) Performing a database backup based on automatically discovered properties
WO2019057081A1 (zh) 数据存储方法、数据查询方法、计算机设备及存储介质
WO2017087015A1 (en) Count of metadata operations
CN112306753B (zh) 一种数据修复方法、装置及系统
CN110858168A (zh) 集群节点故障处理方法、装置及集群节点
US20120324182A1 (en) Storage device
US7246352B2 (en) System for generating a virtual map to a plurality of files necessary for installing software from multiple networked locations
US20120209821A1 (en) Validation of access to a shared data record subject to read and write access by multiple requesters
JP3802977B2 (ja) 蓄積交換型電子会議システムにおける情報矛盾判定、修正装置及び方法並びに情報矛盾判定、修正プログラムを記録したコンピュータ読取可能な記憶媒体
CN114442944B (zh) 一种数据复制方法、系统及设备
JP5751041B2 (ja) ストレージ装置、ストレージ方法およびプログラム
JP2005316715A (ja) 文書管理システムおよび方法およびプログラム
KR101750601B1 (ko) 장애 내구성을 지닌 클러스터의 상태 감시 및 클러스터의 형상 변경을 위한 클러스터 관리 방법 및 데이터 저장 시스템

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091027

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100209

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100419

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

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4506841

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140514

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees