(57)【特許請求の範囲】
【請求項１】
所定のファイルを、定められた時刻に到達した際ローテートするファイルローテーションシステムであって、
所定時間間隔の待ち合わせを行う待ち合わせ手段と、
前記待ち合わせ手段による待ち合わせ時間が経過後、現在時刻を取得する時刻取得手段と、
予め定められたローテート時刻を取得し、前記時刻取得手段で得られた現在時刻と前記ローテート時刻とを比較するローテート時刻取得手段と、
前記ローテート時刻取得手段での比較の結果、両時刻が一致した場合にローテートを実行するローテート実行手段とが含まれ、
前記待ち合わせ手段における待ち合わせ時間は、前記ローテート時刻よりも前に前記現在時刻が変更され変更後の現在時刻が前記ローテート時刻よりも後の時刻となった場合でも前記ローテート時刻の検出が可能な長さに設定されることを特徴とするファイルローテーションシステム。
【請求項２】
前記ローテートは所定時間間隔で実行されることを特徴とする請求項１記載のファイルローテーションシステム。
【請求項３】
前記待ち合わせ手段における待ち合わせ時間は前記ローテートの時間間隔よりも短いことを特徴とする請求項１または２記載のファイルローテーションシステム。
【請求項４】
所定のファイルを、定められた時刻に到達した際ローテートするファイルローテーション方法であって、
所定時間間隔の待ち合わせを行う待ち合わせステップと、
前記待ち合わせステップによる待ち合わせ時間が経過後、現在時刻を取得する時刻取得ステップと、
予め定められたローテート時刻を取得し、前記時刻取得ステップで得られた現在時刻と前記ローテート時刻とを比較するローテート時刻取得ステップと、
前記ローテート時刻取得ステップでの比較の結果、両時刻が一致した場合、前記ローテート時刻のローテートが既に実施済みか否かを調べるローテート実施確認ステップと、
前記ローテート時刻のローテートが未実施の場合にローテートを実行するローテート実行ステップとが含まれ、
前記待ち合わせステップにおける待ち合わせ時間は、前記ローテート時刻よりも前に前記現在時刻が変更され変更後の現在時刻が前記ローテート時刻よりも後の時刻となった場合でも前記ローテート時刻の検出が可能な長さに設定されることを特徴とするファイルローテーション方法。
【請求項５】
前記ローテートは所定時間間隔で実行されることを特徴とする請求項４記載のファイルローテーション方法。
【請求項６】
前記待ち合わせステップにおける待ち合わせ時間は前記ローテートの時間間隔よりも短いことを特徴とする請求項４または５記載のファイルローテーション方法。
【請求項７】
所定のファイルを、定められた時刻に到達した際ローテートするファイルローテーション方法のプログラムであって、
コンピュータに、所定時間間隔の待ち合わせを行う待ち合わせステップと、
前記待ち合わせステップによる待ち合わせ時間が経過後、現在時刻を取得する時刻取得ステップと、
予め定められたローテート時刻を取得し、前記時刻取得ステップで得られた現在時刻と前記ローテート時刻とを比較するローテート時刻取得ステップと、
前記ローテート時刻取得ステップでの比較の結果、両時刻が一致した場合、前記ローテート時刻のローテートが既に実施済みか否かを調べるローテート実施確認ステップと、
前記ローテート時刻のローテートが未実施の場合にローテートを実行するローテート実行ステップと、を実行させるためのプログラムであり、
前記待ち合わせステップにおける待ち合わせ時間は、前記ローテート時刻よりも前に前記現在時刻が変更され変更後の現在時刻が前記ローテート時刻よりも後の時刻となった場合でも前記ローテート時刻の検出が可能な長さに設定されることを特徴とするプログラム。
【請求項８】
前記ローテートは所定時間間隔で実行されることを特徴とする請求項７記載のプログラム。
【請求項９】
前記待ち合わせステップにおける待ち合わせ時間は前記ローテートの時間間隔よりも短いことを特徴とする請求項７または８記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルローテーションシステムおよびそのローテーション方法ならびにプログラムに関し、特に装置内外で発生した障害情報や状態変化等を保存するログファイルや、重要な情報が保存されたデータファイルを、定められた時刻に到達した際ローテートするファイルローテーションシステムおよびそのローテーション方法ならびにプログラムに関する。
【背景技術】
【０００２】
定められた時刻に到達した際ローテートする従来の一般的な手法は、ローテートした際、次にローテートする予定時刻から逆算し、その差分時間だけ待ち合わせ処理を行う方法である。
【０００３】
図５および図６は従来のファイルローテーション方法の一例を示すタイミングチャートである。従来の一例として、図５に示すように１１時００分から３０分毎にファイルローテーションを行う場合について説明する。
【０００４】
このシステムでは図示しないローテート処理装置は“００”分あるいは“３０”分に現在時刻が到達したか否かのみを監視している。すなわち、一例として１１時１３分にチェックした場合は、“００”分でも“３０”分でもないのでローテート時刻に到達したとは判断しない。一方、１１時３０分あるいは１２時００分にチェックした場合は、“００”分あるいは“３０”分なのでローテート時刻に到達したと判断しローテーションを実行する。
【０００５】
いま、このシステムは６０秒毎にローテート時刻に到達したか否かを監視しているものとする。図６の例では各分の３０秒にローテート時刻に到達したか否かを監視している。１１時２９分３０秒にチェックしたところ、まだ“２９”分であり“３０”分ではないので６０秒間チェックを待ち合わせる。そして、現在時刻が１１時３０分３０秒に到達する直前に、ＮＴＰ（Network Time Protocol ）等により非同期に現在時刻が＋６０秒補正されたとする。すると、この時点で現在時刻は１１時３１分３０秒に修正されている。したがって、このときローテート処理装置が現在時刻をチェックすると、“３１”分であり“３０”分ではないのでローテート時刻に到達したとは判断しない。
【０００６】
すなわち、ローテート処理装置は“２９”分の確認の次に“３１”分の確認を行い、“３０”分の確認を看過してしまったので、“３０”分すなわち１１時３０分のローテーションは実行されないという問題があった。
【０００７】
一方、時刻補正が行われた場合でも正しくログが管理できる発明が開示されている（たとえば、特許文献１参照）。
【０００８】
また、リモコン表示の時刻を商用電源周波数に基づく計時で補正する発明が開示されている（たとえば、特許文献２参照）。
【０００９】
また、タイマ割り込みを発生して起動可能時刻になると対応するタスクの起動を行う発明が開示されている（たとえば、特許文献３参照）。
【００１０】
【特許文献１】特開平１０−３２７２１７号公報（段落００１４、図１）
【特許文献２】特開２００１−３３７１８３号公報（段落００２７、００２８、図１）
【特許文献３】特開０８−２５５０８８号公報（段落００２４、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
特許文献１開示の発明は、ログの中身が時刻どおりに並ぶというものであり、時刻補正が行われた場合のファイルローテーションを正しく行う技術に関しては全く記載がない。
【００１２】
また、特許文献２開示の発明は、現在時刻の補正方法を示しているに過ぎない。
【００１３】
また、特許文献３開示の発明は、タイマ割り込みに応じてタスクを起動する構成を示しているに過ぎない。
【００１４】
そこで本発明の目的は、時刻が非同期に変更されても、予定していた時刻に正しくローテートすることが可能なファイルローテーションシステムおよびそのローテーション方法ならびにプログラムを提供することにある。
【課題を解決するための手段】
【００１５】
本発明に係るファイルローテーションシステムは、所定のファイルを、定められた時刻に到達した際ローテートするファイルローテーションシステムであって、所定時間間隔の待ち合わせを行う待ち合わせ手段と、前記待ち合わせ手段による待ち合わせ時間が経過後、現在時刻を取得する時刻取得手段と、予め定められたローテート時刻を取得し、前記時刻取得手段で得られた現在時刻と前記ローテート時刻とを比較するローテート時刻取得手段と、前記ローテート時刻取得手段での比較の結果、両時刻が一致した場合にローテートを実行するローテート実行手段とが含まれ、前記待ち合わせ手段における待ち合わせ時間は、前記ローテート時刻よりも前に前記現在時刻が変更され変更後の現在時刻が前記ローテート時刻よりも後の時刻となった場合でも前記ローテート時刻の検出が可能な長さに設定されることを特徴とする。
【００１６】
また、本発明に係るファイルローテーション方法は、所定のファイルを、定められた時刻に到達した際ローテートするファイルローテーション方法であって、所定時間間隔の待ち合わせを行う待ち合わせステップと、前記待ち合わせステップによる待ち合わせ時間が経過後、現在時刻を取得する時刻取得ステップと、予め定められたローテート時刻を取得し、前記時刻取得ステップで得られた現在時刻と前記ローテート時刻とを比較するローテート時刻取得ステップと、前記ローテート時刻取得ステップでの比較の結果、両時刻が一致した場合、前記ローテート時刻のローテートが既に実施済みか否かを調べるローテート実施確認ステップと、前記ローテート時刻のローテートが未実施の場合にローテートを実行するローテート実行ステップとが含まれ、前記待ち合わせステップにおける待ち合わせ時間は、前記ローテート時刻よりも前に前記現在時刻が変更され変更後の現在時刻が前記ローテート時刻よりも後の時刻となった場合でも前記ローテート時刻の検出が可能な長さに設定されることを特徴とする。
【００１７】
また、本発明に係るプログラムは、所定のファイルを、定められた時刻に到達した際ローテートするファイルローテーション方法のプログラムであって、コンピュータに、所定時間間隔の待ち合わせを行う待ち合わせステップと、前記待ち合わせステップによる待ち合わせ時間が経過後、現在時刻を取得する時刻取得ステップと、予め定められたローテート時刻を取得し、前記時刻取得ステップで得られた現在時刻と前記ローテート時刻とを比較するローテート時刻取得ステップと、前記ローテート時刻取得ステップでの比較の結果、両時刻が一致した場合、前記ローテート時刻のローテートが既に実施済みか否かを調べるローテート実施確認ステップと、前記ローテート時刻のローテートが未実施の場合にローテートを実行するローテート実行ステップと、を実行させるためのプログラムであり、前記待ち合わせステップにおける待ち合わせ時間は、前記ローテート時刻よりも前に前記現在時刻が変更され変更後の現在時刻が前記ローテート時刻よりも後の時刻となった場合でも前記ローテート時刻の検出が可能な長さに設定されることを特徴とする。
【００１８】
本発明によれば、待ち合わせ手段における待ち合わせ時間は、ローテート時刻よりも前に現在時刻が変更され変更後の現在時刻がローテート時刻よりも後の時刻となった場合でもローテート時刻の検出が可能な長さに設定される。
【発明の効果】
【００１９】
本発明によれば、上記構成を含むため、時刻が非同期に変更されても、予定していた時刻に正しくローテートすることが可能となる。
【００２０】
その理由は、ローテート周期より十分短く設定された所定時間の待ち合わせの後、ローテートするか否かを確認するためである。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態について添付図面を参照しながら説明する。図１は本発明の動作の一例の概要を示すタイミングチャートである。上述した従来例では６０秒毎にローテート時刻に到達したか否かを監視していたが、本発明ではそれより十分短い時間間隔、一例として１秒ごとにローテート時刻に到達したか否かを監視する。
【００２２】
同図は１１時３０分００秒前後の１秒刻みのタイミングを示している。そして、１１時２９分３０秒に到達する直前に時刻変更イベントが発生し、現在時刻が＋６０秒補正されたとする。すると、この時点で現在時刻は１１時３０分３０秒に修正されている。
【００２３】
後述するローテート処理装置は、１１時２９分５７秒、５８秒、５９秒、１１時３０分００秒、０１秒・・・というふうに現在時刻がローテート時刻に到達したか否かを１秒ごとに監視する。
【００２４】
そして、１１時３０分３０秒における監視にて“３０”分に到達したと判断するため、１１時３０分のローテーションを実行することが可能となる。このように、１１時２９分から１１時３０分へ切り替わる直前に現在時刻が変更された場合でも、本発明によれば１１時３０分のローテーションの実行が可能となる。
【００２５】
図２は本発明の動作の他の例の概要を示すタイミングチャートである。前述の例では現在時刻が１１時２９分３０秒に到達する直前に時刻変更イベントが発生し、現在時刻が＋６０秒補正された場合について述べたが、現在時刻が１１時２９分５９秒に到達する直前に時刻変更イベントが発生した場合にも本発明の適用が可能である。図２はその場合を示している。すなわち、この場合は１１時３０分５９秒に時刻が変更されるが、このとき得られる時刻は“３０”分なので１１時３０分のローテーションを実行することが可能となる。
【実施例】
【００２６】
図３は本発明に係るファイルローテーションシステムの一例の構成図である。同図を参照すると、本発明に係るファイルローテーションシステムは、コンピュータプログラム等のローテート処理装置１と、ハードウエアクロック等の時刻装置２と、メモリやハードディスク等の記憶装置３とを含んで構成される。
【００２７】
ローテート処理装置１は、待ち合わせ部１１と、時刻取得部１２と、ログローテート時刻取得部１３と、ログローテート実行部１４とを含んで構成される。
【００２８】
時刻装置２は、時刻管理部２１を含み、ＮＴＰや手動操作等の時刻変更イベント２２によって変更される時刻を管理する。
【００２９】
記憶装置３は、ローテート時刻記憶部３１と、ローテート元ログファイル３２と、ログローテート実行部１４によって生成されるローテート先ログファイル３３とを含んで構成される。
【００３０】
なお、ローテート処理装置１がコンピュータプログラムで構成される場合、そのプログラムは図示しないコンピュータに読み込まれ、そのコンピュータはそのプログラムにしたがってローテーションを実行する。そのプログラムの具体例は後述する図４にフローチャートで示されている。
【００３１】
ローテート処理装置１の待ち合わせ部１１は、ローテート周期より十分短く設定された所定時間の待ち合わせを行う。時刻取得部１２は、待ち合わせの後、時刻装置２の時刻管理部２１から現在の時刻を取得し、ログローテート時刻取得部１３は記憶装置３のローテート時刻記憶部３１に格納されたローテート時刻との比較を行う。
【００３２】
そして、ローテート予定時刻に達していれば、ログローテート実行部１４はファイル３２をファイル３３にコピーし、ローテートを行う。ローテート実行後、もしくは、ローテート予定時刻に達していない場合は、再び待ち合わせ部１１に戻り待ち合わせを行い、前述した手順を繰り返すことにより、時刻補正が行われた場合でも正しくローテートが実行される。
【００３３】
次に、図４を参照しながら本発明に係るファイルローテーション方法の一例の処理手順について詳細に説明する。図４は本発明に係るファイルローテーション方法の一例の処理手順を示すフローチャートである。
【００３４】
まず、前提条件として、このローテーションは一例として３０分毎、一例として、“１１時００分、１１時３０分、１２時００分、１２時３０分、・・・”に実行されるものとし、ローテート時刻記憶部３１にはこの“００分”と“３０分”の情報のみが記憶されているものとする。すなわち、“時”の情報は記憶されていない。
【００３５】
また、ローテーションが実行されるたびに、“何時何分のローテーションは実行済”という情報がローテート処理装置１内の図示しないメモリに記録されるものとする。その記録はログローテート実行部１４によって実行される。
【００３６】
また、待ち合わせ部１１は、ローテート周期（３０分）より十分短く設定された所定時間（本実施例では一例として“１秒”）の待ち合わせを行う。
【００３７】
まず、待ち合わせ部１１による待ち合わせを行う前の時刻が、一例として、１１時２９分３０秒（以下、時刻については“１１：２９：３０”のように表示する）であるとする。
【００３８】
待ち合わせ部１１は“１秒”間の待ち合わせを行う（ステップＡ１）。
【００３９】
次に、待ち合わせを行っている最中に時刻変更イベント２２により現在時刻が＋１分され、“１１：２９：３０”から“１１：３０：３０”に変更される（ステップＡ２）。
【００４０】
次に、時刻取得部１２が時刻管理部２１に現在時刻を問い合わせる。時刻管理部２１からはステップＡ２で変更された時刻に基づく時刻、一例として“１１：３０：４５”を得る（ステップＡ３）。
【００４１】
次に、ログローテート時刻取得部１３はローテートする時刻をローテート時刻記憶部３１に問い合わせる（ステップＡ４）。
【００４２】
次に、ステップＡ３とステップＡ４で取得した現在時刻とローテート時刻とを比較する（ステップＡ５）。ここでは、現在時刻が“１１：３０：４５”、すなわち、“３０分”なのでローテート時刻記憶部３１に記憶された“３０分”と一致する。したがって、ログローテート時刻取得部１３はローテート実行時間になったと判定する（ステップＡ５にて“イエス”）。
【００４３】
すなわち、本発明では１秒ごとにローテート時刻になったか否かを比較しているため、１１時３１分になる前に１１時３０分のローテート実行時間の確認が可能となるのである。
【００４４】
次に、ステップＡ５にて“イエス”の場合、ログローテート時刻取得部１３は、ローテートを既に実施したか否かを判断する（ステップＡ６）。本実施例では、１１時３０分に到達したばかりなので、まだ“３０分”のローテートは実行されていない。ログローテート時刻取得部１３はローテート処理装置１内の図示しないメモリを参照して“１１時３０分のローテーションは実行済”という情報がまだ記録されていないことを確認する（ステップＡ６にて“イエス”）。
【００４５】
次に、ステップＡ６にて“イエス”の場合、ログローテート実行部１４は記憶装置３内のローテート元ログファイル３２をローテート先ログファイル３３にローテート（コピー）する。これでローテートは完了する（ステップＡ７）。
【００４６】
最後に、ステップＡ５、Ａ６の判定が”ノー“の場合、もしくはステップＡ７にてファイルのローテートが終了すれば、再びステップＡ１に戻り、待ち合わせの実行（ステップＡ１）から一連の動作を繰り返す。
【産業上の利用可能性】
【００４７】
装置内外で発生した障害情報や状態変化等を保存するログファイルや、その他重要なファイルの定期的なバックアップを行う際、予定した時刻に正しくバックアップする必要があるという要求に対し本発明の適用が可能である。
【図面の簡単な説明】
【００４８】
【図１】本発明の動作の一例の概要を示すタイミングチャートである。
【図２】本発明の動作の他の例の概要を示すタイミングチャートである。
【図３】本発明に係るファイルローテーションシステムの一例の構成図である。
【図４】本発明に係るファイルローテーション方法の一例の処理手順を示すフローチャートである。
【図５】従来のファイルローテーション方法の一例を示すタイミングチャートである。
【図６】従来のファイルローテーション方法の一例を示すタイミングチャートである。
【符号の説明】
【００４９】
１  ローテート処理装置
２  時刻装置
３  記憶装置
１１  待ち合わせ部
１２  時刻取得部
１３  ログローテート時刻取得部
１４  ログローテート実行部
２１  時刻管理部
２２  時刻変更イベント
３１  ローテート時刻記憶部
３２  ローテート元ログファイル
３３  ローテート先ログファイル
【図１】
0004787560.tif 000002
【図２】
0004787560.tif 000003
【図３】
0004787560.tif 000004
【図４】
0004787560.tif 000005
【図５】
0004787560.tif 000006
【図６】
0004787560.tif 000007