Nothing Special   »   [go: up one dir, main page]

JP4128667B2 - Information backup system - Google Patents

Information backup system Download PDF

Info

Publication number
JP4128667B2
JP4128667B2 JP25232898A JP25232898A JP4128667B2 JP 4128667 B2 JP4128667 B2 JP 4128667B2 JP 25232898 A JP25232898 A JP 25232898A JP 25232898 A JP25232898 A JP 25232898A JP 4128667 B2 JP4128667 B2 JP 4128667B2
Authority
JP
Japan
Prior art keywords
server
copy
time
file
master
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
JP25232898A
Other languages
Japanese (ja)
Other versions
JP2000082006A (en
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP25232898A priority Critical patent/JP4128667B2/en
Publication of JP2000082006A publication Critical patent/JP2000082006A/en
Application granted granted Critical
Publication of JP4128667B2 publication Critical patent/JP4128667B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、各種のファイルを提供するファイルシステムやトランザクションを提供するデータベースシステムのように、ユーザや端末からのアクセスに応答して情報を提供するシステムであり、特に2つの装置により情報のバックアップを適切に取るようにした情報バックアップシステムに関するものである。
【0002】
【従来の技術】
従来の情報バックアップシステムは、例えば、現用の装置から情報を提供しておき、現用の装置において情報の書き換えが生じると、予備用の装置にコピーをとり、現用の装置がダウンした場合に予備用の装置が情報の提供を行うようにしている。
【0003】
【発明が解決しようとする課題】
しかしながら、上記の従来のバックアップシステムでは、予備用の装置が情報の提供しているときに情報の書き換えが生じるなどすると、2つの装置が保持する情報の一致が得られなくなり、更に、予備用の装置がダウンした場合に適切な情報の提供を行うことができなくなる問題点があった。
【0004】
本発明は上記のような従来の情報バックアップシステムが有する問題点を解決せんとしてなされたもので、その目的は、2つの装置が有する情報の一致化を図り、一方の装置がダウンした場合においても、このダウンした装置が再度起動されたときに再び2つの装置が有する情報の一致化が図られ、常に、適切な情報を提供することのできる情報バックアップシステムを提供することである。
【0005】
【課題を解決するための手段】
請求項1に記載の情報バックアップシステムは、クライアントからのアクセスに応答して返送するための情報を記憶した記憶手段を夫々が有した同一構成の2台のサーバを具備し、クライアントからのアクセスに応答する側のサーバをマスタ装置とし、マスタ装置であるサーバの記憶手段に記憶された情報のバックアップを行う側のサーバをスレーブ装置として動作する情報バックアップシステムにおいて、各サーバには、マスタ装置とされた場合に備えて、当該サーバにおいて前記記憶手段に記憶されたファイルが更新された時刻を監視し、この時刻を最終更新時刻として当該ファイルに対応付けて保持する更新時刻保持手段と、当該サーバが起動した時刻を自サーバコピー時刻として、前記記憶手段に記憶された各ファイルに対応付けて保持するコピー時刻保持手段と、前記記憶手段に記憶された各ファイル毎に対応付けて記憶されている自サーバコピー時刻と最終更新時刻とを比較し、最終更新時刻が新しい場合に、当該ファイルをスレーブ装置とされたサーバの記憶手段へコピーするバックアップコピー動作を行う第1のコピー動作実行手段と、前記第1のコピー動作実行手段によるバックアップコピー動作が行われた場合に、該バックアップコピー動作の要求をスレーブ装置とされたサーバに送信する時刻を当該ファイルに対応付けられている自サーバコピー開始時刻に代えて対応付けて保持させるコピー開始時刻保持手段とを具備することを特徴とする。
【0007】
請求項2に記載の情報バックアップシステムは、各サーバには、マスタ装置とされたサーバが前記第1のコピー動作実行手段によるバックアップコピー動作の要求をスレーブ装置とされたサーバに送信する時刻を得ると共に、スレーブ装置とされたサーバが前記バックアップコピー動作の要求を受け取った時刻を得て、該当するファイルに対応させて自サーバコピー開始時刻と他サーバコピー開始時刻を保持する前記コピー開始時刻保持手段であって、マスタ装置とされたサーバにおいては、前記送信する時刻を自サーバコピー開始時刻とし、前記受け取った時刻を他サーバコピー開始時刻とする一方、スレーブ装置とされたサーバにおいては、前記送信する時刻を他サーバコピー開始時刻とし、前記受け取った時刻を自サーバコピー開始時刻とする前記コピー開始時刻保持手段と、前記第1のコピー動作実行手段によるバックアップコピー動作が終了すると、該当ファイルに対応付けられている自サーバコピー開始時刻を自サーバコピー時刻とすると共に他サーバコピー開始時刻を他サーバコピー時刻とする最終コピー時刻保持手段であって、自サーバコピー時刻中の最新のものを自サーバ最終コピー時刻とするとして保持する一方、他サーバコピー時刻中の最新のものを他サーバ最終コピー時刻として保持し、更に、マスタ装置とされたサーバがスレーブ装置とされたサーバから全データを受け取ったときに返送される終了通知の受信時をコピー終了時刻として該当ファイルに対応付けて保持し、また、スレーブ装置とされたサーバがマスタ装置とされたサーバから次のバックアップコピー動作の要求を受信した時刻をコピー終了時刻としてその前のバックアップコピーを行ったファイルに対応付けて保持するする最終コピー時刻保持手段と、が具備され、マスタ装置とされたサーバが停止し、その後復旧した場合には、元のスレーブ装置とされたサーバがマスタ装置として機能し、当該マスタ装置となったサーバには、前記他サーバ最終コピー時刻から所定時間遡った基準時刻を求め、この基準時刻と各ファイルに対応付けられた他サーバコピー開始時刻およびコピー終了時刻とを比較し、他サーバコピー開始時刻またはコピー終了時刻が新しい場合に、当該ファイルを新たにスレーブ装置となったサーバの記憶手段へコピーする動作を行う第2のコピー動作実行手段が具備されていることを特徴とする。
【0008】
請求項3に記載の情報バックアップシステムは、各サーバには、請求項2に記載のコピー開始時刻保持手段と、請求項2に記載の最終コピー時刻保持手段と、が具備され、スレーブ装置とされたサーバが停止し、その後復旧した場合には、元からマスタ装置とされたサーバが引き続きマスタ装置として機能し、引き続きマスタ装置である当該サーバには、他サーバ最終コピー時刻から所定時間遡った基準時刻を求め、この基準時刻をスレーブ装置であるサーバへ送信することによりスレーブ装置であるサーバの記憶手段へコピーする動作を開始する第3のコピー動作実行手段が備えられ、スレーブ装置であるサーバには、前記第3のコピー動作実行手段から送られた基準時刻と各ファイルに対応付けられた最終更新時刻とを比較し、最終更新時刻が新しい場合に、当該ファイルのコピーを受け付ける第4のコピー動作実行手段が具備されていることを特徴とする。
【0018】
【発明の実施の形態】
以下添付図面を参照して本発明に係る情報バックアップシステムを説明する。各図において、同一の構成要素には、同一の符号を付して重複する説明を省略する。図1には、本発明に係る情報バックアップシステムの構成例が示されている。このシステムは、サーバ1、2が同一のファイル(情報)を有し、サーバ1、2の内のマスタサーバに対して、クライアント(通常は複数)3がLAN(ローカルエリアネットワーク)4を介してファイルのアクセスを行う。
【0019】
サーバ1、2は、マスタサーバからスレーブサーバに対してファイルのコピーを行うことからなる情報バックアップを行う。このサーバ1、2の具体的構成例を図2に示す。サーバは、CPU10を中心として構成され、CPU10にはプログラムが格納され、また、ワーキング領域を有する主メモリ11が接続されている。CPU10には、バス12を介してキーボードコントローラ13、ディスプレイコントローラ14、マウスコントローラ15、通信インタフェース16、ディスクコントローラ17が接続されている。
【0020】
キーボードコントローラ13には、情報を入力するためのキーボード入力装置18が接続されている。ディスプレイコントローラ14には、CRTやLCD等のディスプレイ表示装置19が接続され情報を表示可能となっている。マウスコントローラ15には、ポインティングディバイスであるマウス20が接続されている。通信インタフェース16には、LAN4のプロトコルに対応する通信制御を行う通信制御部21が接続されている。ディスクコントローラ17には、情報を記憶するための磁気ディスク装置や光ディスク装置等のディスク装置23が接続されている。
【0021】
上記図2に示した構成は、クライアント3においても適用される。そして、図2に示したハードウエア構成を有する図1に示したシステムにおけるソフトウエア構成は、図3に示されるようである。即ち、クライアント3には、アプリケーション・プログラム31が具備されている。サーバ1、2の内、先に起動されたサーバがマスタ(サーバ)であり、後に起動されたサーバがスレーブ(サーバ)である。
【0022】
マスタ、スレーブのサーバには、コントローラ5、HA(ハイ・アビリティ)システム6、コントロールクライアント24、コントロールサーバ25、AFR(Asyncronous File Replication; 非同期ファイルレプリケーション)サーバ27、AFRクライアント28、ファイルマネージャ29が備えられている。サーバがマスタの場合にAFRサーバ27とAFRクライアント28との内のAFRクライアント28が起動され、サーバがスレーブの場合にAFRサーバ27とAFRクライアント28との内のAFRサーバ27が起動される。ファイルマネージャ29は、ファイル格納部7の各種ファイルの管理を行う。
【0023】
上記サーバ1、2は、NSF(National Science Foundation )サーバであり、マスタであるサーバに所定のIPアドレスを設定することにより、2台のサーバ1、2は、クライアント3にとって透過に扱われる。サーバ1、2の起動がなされ、HAシステム6が立ち上がると、一方のサーバのHAシステム6は他のサーバのHAシステム6と通信し、応答がなければマスタとして動作し、応答があればスレーブとして動作する。それぞれのHAシステム6はそれぞれのサーバの停止や起動に関し通信を行ってサーバ相互の状態把握を行っている。
【0024】
ファイル格納部7には、コンフィギャファイルが記憶されている。コンフィギャファイルは、図4に示されるように、AFRの対象となるファイルの絶対パス名が1行毎に、1つのファイルに対応させられて記述されたものである。このコンフィギャファイルにより特定されるファイルが、サーバ1、2のファイル格納部7に記憶されている。
【0025】
ファイルマネージャ29には、図5に示されるようなファイル管理のためのテーブル(ファイルオブジェクト)が備えられている。このテーブルは、各ファイルの識別情報(ここではファイル名)をキーとして構成されており、ファイル名、レングスが記憶され、これに対し、更に、最終更新時刻、自サーバコピー開始時刻、他サーバコピー開始時刻、コピー終了時刻、自サーバコピー時刻、他サーバコピー時刻が記憶される領域が設けられている。全てのファイルに共通に、自サーバ最終コピー時刻、他サーバ最終コピー時刻が記憶される領域が設けられている。なお、時刻は各サーバ毎の時刻である。
【0026】
更に、図5に示されるファイル管理のためのテーブルには、当該ファイルがいずれのキューにセットされたかを示す高重用度キュー変数、中重用度キュー変数、低重用度キュー変数の領域が設けられ、更に、ファイルが更新された場合にコピーの必要有り等をセットするためのファイル更新コピー状態変数、停止した後に立ち上がった場合に行うコピーの必要有り等をセットするための組込みコピー状態変数、全てのファイルをコピーするときの必要有り等をセットするための低速コピー状態変数の領域が設けられている。
【0027】
ファイル更新コピー状態変数は、ファイルの「コピー必要有り」、「コピーの必要無し」の2値を取る。マスタサーバにおいては、初期値は「コピーの必要無し」であり、ファイルが更新されると「コピー必要有り」とされ、コピーが行われると「コピーの必要無し」へ遷移される。スレーブサーバにおいては、初期値は「コピーの必要無し」であり、変更されることはない。
【0028】
組込みコピー状態変数は、ファイルの「コピー必要有り」、「コピーの必要無し」及び「問い合わせる」の3値を取る。マスタにおいては、初期値が「コピーの必要無し」であり、どちらかのサーバが停止すると「コピーの必要無し」は「問い合わせる」へ、「問い合わせる」は「コピー必要有り」へと遷移され、「コピー必要有り」は現状を維持される。そして、「コピー必要有り」の場合に正常にコピーがなされると「コピーの必要無し」へ遷移され、「問い合わせる」の場合に「コピー不要」の返送を受けると「コピーの必要無し」へ遷移される。スレーブサーバにおける初期値は、「コピーの必要無し」であり、変更されることはない。
【0029】
低速コピー状態変数は、ファイルの「コピー必要有り」、「コピーの必要無し」の2値を取る。マスタサーバ、スレーブサーバ共に、初期値は「コピー必要有り」であり、コピーが行われると「コピーの必要無し」へ遷移される。
【0030】
ファイルマネージャ29は、図6に示されるような3種類のキューを有し、ファイルすべきファイルを所要のキューへセットする。3種類のキューは、最も早く処理すべきコピー処理対象情報を設定するための高重要度キューと、次に早く処理すべきコピー処理対象情報を設定するための中重要度キューと、最も低い順にて処理すべきコピー処理対象情報を設定するための低重要度キューである。ファイルマネージャ29は、更新時コピーの場合には高重要度キューへ設定し、組込みコピーの場合には中重要度キューへ設定し、低速コピーの場合には低重要度キューへ設定する。各キューのファイルコピーは、最初に高重要度キュー、高重要度キューに設定が無くなると中重要度キュー、中重要度キューに設定が無くなると低重要度キューの順で行われる。
【0031】
上記キューに設定されたファイルの転送を行うに際しては、図7に示されるパケットが用いられる。図7(a)には、リクエスト通知用パケットのフォーマットが示されている。このパケットには、パケット種別(リクエスト通知用パケットである旨)と、コピーモード(更新、組込み、低速の別)、ファイルサイズ、マスタサーバコピー開始時刻、基準時刻、ファイル名が含まれる。このパケットは、図8に示されるファイルデータの転送手順における開始要求の場合に用いられる。
【0032】
図7(b)には、肯定(否定)通知パケットのフォーマットが示されている。このパケットには、パケット種別(肯定(否定)通知パケットのである旨)、マスタサーバコピー開始時刻、返事の種類(肯定または否定)、メッセージが含まれる。このパケットは、図8に示されるファイルデータの転送手順における開始要求に応えた肯定通知の場合等に用いられる。
【0033】
図7(c)には、終了等の通知パケットのフォーマットが示されている。このパケットには、パケット種別(正常終了またはエラー等の通知パケットのである旨)、マスタサーバコピー開始時刻、スレーブサーバコピー開始時刻が含まれる。このパケットは、図8に示されるファイルデータの転送手順におけるファイルデータの転送に応えた終了通知の場合等に用いられる。なお、データのパケットは、パケット種別(ファイルデータのパケットのである旨)、マスタサーバコピー開始時刻、通番等が含まれる。各パケットには、マスタサーバコピー開始時刻が必ず含まれ、同一ファイルを扱っていることのチェックに用いられる。
【0034】
図3に示されるマスタサーバとスレーブサーバとは、図9に示されるように、「停止」状態を介して「マスタ」状態と「スレーブ」状態の間で状態を遷移させる。即ち、「マスタ」と「スレーブ」とが「停止」状態を必ず挟んで状態を遷移し、「マスタ」状態から直接に「スレーブ」状態に移行することはなく、または、「スレーブ」状態から直接に「マスタ」状態へ移行することはない。「停止」状態から復旧したときに、サーバのHAシステム6は他のサーバのHAシステム6と通信し、応答がなければマスタとして動作し、応答があればスレーブとして動作する。
【0035】
既に説明したように、ファイルのコピーを行うときには、図7(a)に示すパケットにはコピーモードを含める。マスタサーバのファイルが更新されて高重要度キューに設定された場合には、上記コピーモードとして、必ずコピーすべきことを示す「SEND」を設定する。これに対し、ファイルの更新がなされたことが示されていない場合(図5に示したテーブルの「ファイル更新コピー状態変数」が」「オフ」の場合)には、図5に示したテーブルの「組込みコピー状態変数」と「低速コピー状態変数」との内容の組み合わせにより、図10に示されるようにコピーモードの設定を変化させる。
【0036】
具体的には、「組込みコピー状態変数」が「コピーの必要有り」であれば、コピーモードは「SEND」とされ、「組込みコピー状態変数」が「問い合わせる」であれば、コピーモードは「ASK」とされる。低速コピーが行われるのは、他の全てのコピー状態変数が「コピーの必要無し」のときに、「低速コピー状態変数」が「コピーの必要有り」となっているときである。「組込みコピー状態変数」と「低速コピー状態変数」が共に「コピーの必要無し」となっている場合には、コピーモードは「PASS」とされる。
【0037】
上記の図10において、「X」は有り得ない組合わせを示している。つまり、「組込みコピー状態変数」が「コピーの必要有り」や「問い合わせる」となるのは、サーバが起動された直後の一度だけであるから、このようなときには、「低速コピー状態変数」は必ず「コピーの必要有り」となっているからである。なお、コピーモードを「ASK」とした場合には、スレーブサーバからコピーを行う旨の応答が返送されたときコピーを行う。また、コピーモードを「PASS」とするのは、マスタサーバからの問い合わせに応える場合である。
【0038】
以上の通り構成された情報バックアップシステムでは、サーバが起動され、ファイル更新コピーを行う場合には、まず、マスタサーバが図11に示されるフローチャートの動作を行う。起動されたHAシステム6が他のサーバのHAシステム6に対して問い合わせるが、応答が無いために、自分がマスタサーバであることを検出し、HAシステム6はコントローラ5を起動する。コントローラ5は、コントロールクライアント24、コントロールサーバ25、AFRサーバ27、AFRクライアント28、ファイルマネージャ29を起動する。
【0039】
この状態において、HAシステム6は、他のサーバと通信を行って得たサーバの状態(マスタであること)を、コントロールクライアント24をコマンドとして用い、コントロールサーバ25へ伝える。コントロールサーバ25は、AFRサーバ27を停止し、マスタサーバとして動作するようにモジュールの選択を行う。コンフィギャファイルや図5のテーブルは、コントローラ5により、例えば、ディスク装置23からファイルマネージャ29へ読み出されている。ファイルマネージャ29は、コントロールサーバ25により当該サーバがマスタサーバであることを通知されており、図11に示されるように自装置の起動時刻を図5に示したテーブルの自サーバコピー時刻の領域へセットする(S1)。例えば、図12に示されるように、マスタが時刻2:00(分:秒)に起動された場合には、時刻2:00が図5に示したテーブルの自サーバコピー時刻の領域へセットされる。
【0040】
次にマスタサーバのファイルマネージャ29は、ファイルが更新されたか否かを監視し(S2)、更新がなされると該当ファイルに対応する図5に示すテーブルの最終更新時刻の領域へ更新時刻を書き込む(S3)。例えば、図12に示されるように、時刻(8:00)にて更新が行われると、図5に示すテーブルの最終更新時刻の領域へ時刻(8:00)が書き込まれる。なお、ファイルの更新はファイルをリードライトするモジュール(OS:オペレーティング・システム)が行い、更新の旨をファイルマネージャに通知するものである。
【0041】
一方、図12の例では、他方のサーバにおいて起動されたHAシステム6がマスタサーバのHAシステム6に対して問い合わせる。既に、マスタサーバは起動されており、応答が返って来るために、自分がスレーブサーバであることを検出し、HAシステム6はコントローラ5を起動する。コントローラ5は、コントロールクライアント24、コントロールサーバ25、AFRサーバ27、AFRクライアント28、ファイルマネージャ29を起動する。この状態において、HAシステム6は、他のサーバと通信を行って得たサーバの状態(スレーブであること)を、コントロールクライアント24をコマンドとして用いてコントロールサーバ25へ伝える。コントロールサーバ25は、AFRクライアント28を停止し、スレーブサーバとして動作するようにモジュールの選択を行う。マスタサーバと同じコンフィギャファイルや図5のテーブルは、コントローラ5により、例えば、ディスク装置23からファイルマネージャ29へ読み出されている。ファイルマネージャ29は、コントロールサーバ25により当該サーバがスレーブサーバであることを通知されている。
【0042】
マスタサーバのファイルマネージャ29は、通常時において、図13のフローチャートに示される動作を行う。つまり、図5のテーブルにおける全てのファイルに関して最終更新時刻と自サーバコピー時刻とを比較し(S4)、最終更新時刻が新しいか否か検出する(S5)。最終更新時刻が新しい場合には、更新されたファイルを高重要度キューへセットし(S6)、コピー作業を開始する(S7)。なお、コピーに係る通信は、AFRクライアント28とAFRサーバとの間において行う。例えば、図12の例では、マスタにおける最終更新時刻(8:00)が自サーバコピー時刻(2:00)より新しいので、時刻(8:03)において、図7(a)に示したリクエスト通知用パケットを用いてリクエストを行う。このパケットには、図12に示されるように、マスタ側のコピー開始時刻(8:03)と必ずコピーを行うことを示すコピーモード「SEND」がセットされる。コピー開始時刻(8:03)は、マスタが有する図5に示すテーブルにおける該当ファイルに対応するエリアの自サーバコピー開始時刻の領域にセットされる。
【0043】
スレーブサーバでは、リクエスト通知用パケット受信の場合に、図14のフローチャートに示されるような処理を行う。つまり、受信したパケットの内容を分析し(S20)、コピーモードが「SEND」であるかを検出する(S21)。コピーモードが「SEND」であれば、このパケットを受け取った時刻(図12の例では、下線を引いて示す時刻(18:55)をスレーブサーバが有する図5に示すテーブルにおける該当ファイルに対応するエリアの自サーバコピー開始時刻の領域にセットすると共に、パケットにセットされているマスタサーバコピー開始時刻(8:03)をスレーブサーバが有する図5に示すテーブルにおける該当ファイルに対応するエリアの他サーバコピー開始時刻の領域にセットする(S22)。そして、コピーの準備が整っている場合には、図7(b)に示す如くの応答のパケットに「OK」の返事を含めて返送し(S23)、データの到来を待つ(S24)。なお、ハードウェア上またはソフトウエア上の障害がある場合には、「エラー」の返送を行うこともある。
【0044】
上記に対し、マスタサーバでは、図13のステップS8において、スレーブサーバからの応答パケットの返事の種類が「OK」であるかを検出し、「OK」である場合には、該当するファイルのデータを転送する(S9)。この場合、ファイルのデータ全てを転送しても良いが、予めファイルの旧データと新データとの差分を求めておき、差分(更新に係る部分)のデータ(どの位置を入れ替えるかを指示するデータを含む)を転送しても良い。
【0045】
スレーブサーバでは、マスタサーバからファイルのデータが送られてくると、これを受け取り、主メモリ11のバッファへ蓄積する(S25)。そして、バッファの内容とディスク装置23のファイル内容とを一致させるsync命令は、ファイルの転送を受けると直ぐに実行するか、所定時間毎に行うか、予めキーボード入力装置18からの設定により行う。勿論、所定時間を幾つとするかをキーボード入力装置18から設定しても良い。そして、全てのデータを受け取ると、図7(c)に示される終了通知パケットを使って終了通知を行う(S26)。このパケットには、図12の例では、マスタサーバコピー開始時刻(8:03)とスレーブサーバコピー開始時刻(18:55)が含まれる。
【0046】
マスタサーバは図13のステップS10に示されるように、スレーブサーバから送られる上記の終了通知のパケットを受け取り、パケットに含まれるマスタサーバコピー開始時刻(8:03)とスレーブサーバコピー開始時刻(18:55)を取り出し、それぞれの時刻を図5のテーブルの該当ファイルに対応するエリアの自サーバコピー時刻の領域及び他サーバコピー時刻の領域にセットする(S11)。また、マスタサーバでは、当該終了通知のパケットの受信時刻を図5のテーブル(マスタサーバのテーブル)の該当ファイルに対応するエリアのコピー終了時刻の領域へ書き込む。
【0047】
図12に示される例では、時刻(13:20)にも、ファイルが更新されており、図5のテーブルのファイル更新時刻の領域に上記時刻(13:20)が記憶される。これに対し、自サーバコピー時刻の領域にはコピー時刻(8:03)が記憶されており、図13のステップS4に比較の結果、ステップS5にてYESへ分岐し、ファイルの更新コピー処理が前述したように行われる。
【0048】
上記においては、マスタサーバが時刻(13:22)においてリクエストを送信し、スレーブサーバが時刻(23:08)にてリクエストを受付ける。このリクエストを受信したとき、スレーブサーバの図5のテーブルの前回にコピーされたファイルに対応するエリアのコピー終了時刻の領域へマスタサーバコピー開始時刻(13:22)を書き込む。そして、今回の更新に対応するコピーが終了した時点において、スレーブサーバの図5のテーブルの該当ファイルに対応するエリアの自サーバコピー開始時刻及び自サーバコピー時刻は(23:08)となり、マスタサーバの図5のテーブルの該当ファイルに対応するエリアの自サーバコピー開始時刻及び自サーバコピー時刻は(13:22)となる。
【0049】
マスタサーバ、スレーブサーバは、コピーが正常終了する度に、図15に示されるフローチャートの動作を行い、図5におけるテーブルの自(他)サーバ最終コピー時刻の更新を行う。つまり、図5におけるテーブルの全てのファイルの自(他)サーバコピー時刻を比較し、最新の自(他)サーバコピー時刻を検索する(S13)。そして、検索した最新の自(他)サーバコピー時刻を図5におけるテーブルの自(他)サーバ最終コピー時刻の領域へ記録する(S13)。図12の例では、マスタサーバ、スレーブサーバにおいて、最終的には、図5におけるテーブルのマスタサーバ最終コピー時刻は(13:22)となり、スレーブサーバ最終コピー時刻は下線が引かれているように(23:08)となる。
【0050】
以上のように処理が行われているときに、マスタサーバが停止すると、HAシステム6間の通信により停止を検出し、スレーブサーバが新マスタサーバとして動作を行うために、各モジュールの立ち上げの切り替え(AFRクライアント28に代えてAFRサーバ28を起動する)を行い、クライアント3に対するサービスの提供を行い、停止となったときにコピー中のファイルがあるときには、警告メッセージをディスプレイ装置19におけるログ画面へ表示する(S14)。これにより、オペレータが、例えば、該当のファイルへのアクセスを禁止したり、旧マスタサーバから該当ファイルを引き出して、新マスタサーバへコピーするなどが可能である。
【0051】
そして、旧マスタサーバの復旧を待ち(S15)、HAシステム6間の通信により旧マスタサーバを新スレーブサーバとしてシステムを運用する(S16)。このときに、以下に示すようなコピーが行われる。
【0052】
次にマスタサーバが停止し、その後に復旧した場合の動作を説明する。例えば、図12の状況からの続きを示す図17の状況のように、マスタサーバにおいて時刻(17:05)にファイルの更新が生じ、その後にマスタサーバが停止したとする。それから後の時刻(18:30)に起動(復旧)した場合、図11のフローチャートを用いて説明したように、図5におけるテーブルの自サーバコピー時刻の領域へ上記時刻(18:30)がセットされる。一方、スレーブサーバはHAシステム6の通信によりマスタサーバの停止(Stop)を知り、クライアント3に対してサービスを開始する。そして、停止された旧マスタサーバが時刻(18:30)に起動(復旧)したことを受けて、旧スレーブサーバがマスタとして動作を開始する。
【0053】
そして、上記のようにサーバの停止後の起動がなされた場合には、2つのサーバのファイル内容が適切に一致するように、次のような理由から基準時刻という概念を導入して組込みコピーを行う。即ち、スレーブサーバに障害が起こった場合には、コピーの手続きが終了していてもディスク上に反映されていないことがあることを考慮しなければならない。これは、サーバが急に停止した際にはデータがまだメモリ上にあって失われてしまう可能性があるからである。マスタサーバが停止した際にも、停止の直前はシステムが不安定になっている恐れが高い。
【0054】
そこで、両方のサーバが動作していたなるべく新しい時刻を取得し、この時刻からさらにいくらかの安全時間分をさかのぼって基準時刻とする。そして、この基準時刻よりあとにコピーが開始または終了しているファイルについてコピーをやり直すことにする。開始と終了の両方を調べるのは、図18で示すように開始と終了の一方だけでは基準時刻にコピー中だったファイルもしくは最後のファイルを検出できない可能性があるためである。また、どちらのサーバも片方だけでNFSサーバとしてサービスを行うことができるため、「停止」状態の間に更新されたファイルは必ずコピーされるようにする必要がある。「停止」状態ではどちらのサーバもNFSサーバになることができるため、両方のサーバ上のファイルをチェックする必要がある。マスタサーバは自分のファイルの状態を知ることができるため、変更を発見したらコピーを実行すれば良いが、スレーブサーバ上のファイルが変更されているかどうかはマスタサーバがスレーブサーバへ問い合わせて決定する。
【0055】
さらに、組込みコピーの途中でどちらかのサーバが停止した場合、次のコピーでは必ずコピーが行われなければならない。このようにファイルを確実にコピーするため、以下に説明する通り、様々な方法でファイルをコピーするか否かを判定する。
【0056】
新マスタサーバは図19、図20に示されるフローチャートの動作を行う。まず、図5に示されるテーブルの他サーバ最終コピー時刻より安全時間(この例では、1:00)遡った基準時刻を求める(S31)。この結果、図17の例においては、他サーバ最終コピー時刻(13:22)より安全時間(この例では、1:00)遡った基準時刻(12:22)が求められている。次に、図5に示されるテーブルの全ファイル対応のコピー状態変数を変換する(S32)。具体的には、ファイル更新コピー状態変数の変更は行わず、組込みコピー状態変数については、「コピーの必要無し」を「問合わせる」へ、「コピーの必要有り」を変更せずに「コピーの必要有り」とし、「問合わせる」については「コピーの必要有り」へ変更する。また、低速コピー状態変数は「コピーの必要有り」とする。
【0057】
次に、基準時刻とテーブルの各ファイルの他サーバコピー開始時刻を比較し、他サーバコピー開始時刻が新しければ組込みコピー状態変数を「コピーの必要有り」へ変更する(S33)。また、基準時刻とテーブルの各ファイルのコピー終了時刻を比較し、コピー終了時刻が新しければ組込みコピー状態変数を「コピーの必要有り」へ変更する(S34)。更に、基準時刻とテーブルの各ファイルの最終更新時刻を比較し、最終更新時刻が新しければ組込みコピー状態変数を「コピーの必要有り」へ変更する(S35)。このようにして、コピーが適切に行われなかった可能性の有るファイルのコピーを行うことを可能としている。
【0058】
次に、テーブルの自サーバコピー時刻へマスタとなった時刻を設定する(S36)。そして、組込みコピーの必要有りとなったファイル及び問合わせの必要有りとなったファイルを中重要度キューへセットすると共に、低速コピー必要有りとなったファイル(全ファイル)を低重要度キューへセットする(S37)。
【0059】
そして、組込みコピー状態変数が「問合わせ必要有り」のファイルに対する処理において、図7(a)のリクエスト通知用パケットのコピーモードを「組込みコピー」とし、基準時刻を含めて送信する(S38)。図17の例では、コピー開始時刻(30:00)と「組込みコピー」を示すコピーモード(CBC)に基準時刻(12:22)が含められている。
【0060】
上記の処理に対し、新スレーブサーバは、図21に示されるフローチャートの動作を行う。つまり、リクエストを受取り(S41)、コピーモードが「組込みコピー」であるか否かを検出する(S42)。ここで、コピーモードが「組込みコピー」であることを検出すると、送られてきた基準時刻と最終更新時刻とを比較し(S43)、最終更新時刻の方が新しいかを検出する(S44)。
【0061】
例えば、図17に示されるように、当初マスタサーバであったサーバに記憶されていた最終更新時刻が時刻(17:05)であり、基準時刻(12:22)より新しい場合には、「OK」の旨の返事を返し、新マスタサーバ側からのファイルの転送を受ける(S45)。これに対し、新マスタサーバでは図20のステップS39に示すように、「OK」の返事を受けて当該ファイルの最後の更新に係るデータが捨てられたことをマスタ及びスレーブのログ画面に表示されるようにし、ファイルのデータを新スレーブサーバへ転送する(S39)。そして、最初のリクエストを送った時刻を図5のテーブルの自サーバコピー時刻へセットし、当該ファイルに対応するファイル更新コピー状態変数と組込みコピー状態変数及び低速コピー状態変数を「コピーの必要無し」に変更する(S40)。
【0062】
上記に対し、旧マスタサーバにおける最終更新時刻が図22に示されるように、時刻(8:03)であり、基準時刻(12:22)より古いときには、図21のフローチャートのステップS44においてNOへ分岐し、図22に示すように「PASS」の旨の返事を返す。これにより、ファイルデータのコピーは行われず、新サーバは、図5のテーブルの当該ファイルに対応するファイル更新コピー状態変数を「コピーの必要無し」に変更する。ただしコピー時刻の変更はなされない。
【0063】
次に、図23に示すように、スレーブサーバが停止し、その後起動(復旧)した場合を説明する。この場合も、マスタサーバが停止したときと同様に、停止となったときにコピー中のファイルがあるときには、警告メッセージをディスプレイ装置19におけるログ画面へ表示する。そして、スレーブサーバが再起動した際には、停止時刻の直前にコピーしていたファイルについて完全にコピーが行われたか否か確認できないために、所定の安全時間(ここでは、1:00)を考慮してコピーを開始する。
【0064】
具体的には、スレーブの停止後に再度マスタサーバとなったサーバは、図19、図20に示されるフローチャートの動作を行い、スレーブの停止後に再度スレーブサーバとなったサーバは、図21に示されるフローチャートの動作を行う。具体的には、例えば図23の例においては、他サーバ最終コピー時刻(23:10)より安全時間(この例では、1:00)遡った基準時刻(22:10)が求められている。
【0065】
そして、図23においては、時刻(20:00)において、組込みコピー状態変数が「問合わせ必要有り」のファイルに対する処理を行うに当たっては、図7(a)のリクエスト通知用パケットのコピーモードを「組込みコピー」とし、基準時刻を含めて送信する。図23の例では、コピー開始時刻(20:00)と「組込みコピー」を示すコピーモード(CBC)に基準時刻(22:10)が含められている。
【0066】
図23に示されるように、スレーブサーバは上記リクエスト通知用パケットを受取り、当該スレーブサーバに記憶されていた最終更新時刻が時刻(23:10)であり、基準時刻(22:10)より新しいので、「OK」の旨の返事を返し、新マスタサーバ側からのファイルの転送を受ける。マスタサーバでは「OK」の返事を受けて当該ファイルの最後の更新に係るデータが捨てられたことをマスタ及びスレーブのログ画面に表示されるようにし、ファイルのデータをスレーブサーバへ転送する。そして、最初のリクエストを送った時刻を図5のテーブルの自サーバコピー時刻へセットし、当該ファイルに対応するファイル更新コピー状態変数と組込みコピー状態変数及び低速コピー状態変数を「コピーの必要無し」に変更する。
【0067】
なお、上記においては、マスタサーバとスレーブサーバのいずれか一方が停止した場合の処理を説明したが、マスタサーバとスレーブサーバの両方が停止した場合には、当初の立ち上げの場合と同様に先に立ち上がったサーバがマスタサーバとなる。そして、全てのファイルがマスタサーバとスレーブサーバへコピーされる。また、更新コピーの場合と組込みコピーの場合を説明したが、図6に示される3つのキューの内の低重要度キュー以外にファイルがセットされていなくなると、低重要度キューにセットされたファイルに関し低速コピーが行われる。
【0068】
また、上記ではスレーブサーバが、メモリ上のデータをディスクに書き込むsync動作を30秒おきに行っているが、ファイルをコピーする毎に直ちにメモリ上のデータをディスクに書き込むsync動作を行うようにしても良い。このようにsync動作を行うことによってコピーの速度は低下するが、メモリからディスクへの書き込みを行う前の障害発生によりコピー内容が破壊される不具合を防止することができる。
【0069】
また、上記実施の形態ではファイルについてバックアップする例を示したが、トランザクションを処理するデータベースシステムにおいてデータベースの内容をバックアップする場合にも適用可能である。更に、本発明はモバイル通信システムにも適用可能である。例えば、モバイル端末をマスタサーバとし、会社等の中にあるサーバをスレーブサーバとして動作を行うならば、会社内のサーバのファイルとモバイル端末のファイルの内容を一致させることができる。
【0070】
【発明の効果】
以上説明したように請求項1に記載の情報バックアップシステムによると、サーバにおいて記憶手段に記憶されたファイルが更新された更新時刻を監視し、更新時刻をファイルに対応付けて保持しておき、サーバが起動した時刻情報をコピー時刻として、前記記憶手段に記憶された各ファイルに対応付けて保持し、記憶手段に記憶された各ファイル毎に対応付けて記憶されているコピー時刻と更新時刻とを比較し、更新時刻が新しい場合に、当該ファイルをスレーブ装置とされたサーバの記憶手段へコピーするバックアップコピー動作を行うので、マスタ装置であるサーバにおけるファイルの更新がなされた場合には、スレーブ装置であるサーバにおいて上記更新に係るファイルがコピーされ、2つの装置が保有するファイルの適切な一致化が図られる。
【0072】
以上説明したように請求項2に記載の情報バックアップシステムによると、マスタ装置とされたサーバが停止し、その後復旧した場合には、元のスレーブ装置とされたサーバがマスタ装置として機能し、当該マスタ装置となったサーバには、他サーバ最終コピー時刻から所定時間遡った基準順時刻を求め、この基準時刻と各ファイルに対応付けられた他サーバコピー開始時刻および他サーバ最終コピー時刻とを比較し、他サーバコピー開始時刻または他サーバ最終コピー時刻が新しい場合に、当該ファイルを新たにスレーブ装置となったサーバの記憶手段へコピーする動作が行われ、バックアップがなされ2つのサーバの記憶手段が保有するファイルの適切な一致化が図られる。
【0073】
以上説明したように請求項3に記載の情報バックアップシステムによると、スレーブ装置とされたサーバが停止し、その後復旧した場合には、元からマスタ装置とされたサーバが引き続きマスタ装置として機能し、引き続きマスタ装置である当該サーバには、他サーバ最終コピー時刻から所定時間遡った基準順時刻を求め、この基準時刻をスレーブ装置であるサーバへ送信することからスレーブ装置であるサーバの記憶手段へコピーする動作を開始し、スレーブ装置であるサーバには、送られた基準時刻と各ファイルに対応付けられた最終更新時刻とを比較し、最終更新時刻が新しい場合に、当該ファイルのコピーを受け付けるので、バックアップがなされ、2つのサーバの記憶手段が保有するファイルの適切な一致化が図られる。
【0083】
以上説明したように請求項14に記載の情報バックアップシステムによると、情報を一時バッファに蓄えた後、所定時間間隔にてディスク装置に記憶するので、ディスク装置へコピー回数を減少させることができる。
【図面の簡単な説明】
【図1】本発明に係る情報バックアップシステムの構成を示す図。
【図2】本発明に係る情報バックアップシステムのサーバ等の構成を示す図。
【図3】本発明に係る情報バックアップシステムのサーバ等のソフトウエアモジュール構成を示す図。
【図4】本発明に係る情報バックアップシステムに用いられるコンフィギィアファイルの例を示す図。
【図5】本発明に係る情報バックアップシステムに用いられるファイル管理用のテーブル内の構成例を示す図。
【図6】本発明に係る情報バックアップシステムに用いられるファイル転送用のキューの構成を示す図。
【図7】本発明に係る情報バックアップシステムに用いられるファイル転送時のパケットフォーマットの構成図。
【図8】本発明に係る情報バックアップシステムに用いられるファイル転送時のシーケンスを示す図。
【図9】本発明に係る情報バックアップシステムに用いられるサーバの状態遷移を示す図。
【図10】本発明に係る情報バックアップシステムにおける更新コピー以外の場合のコピーモードを説明するための図。
【図11】本発明に係る情報バックアップシステムにおけるマスタサーバの動作を説明するためのフローチャート。
【図12】本発明に係る情報バックアップシステムにおけるマスタサーバの動作を説明するためのシーケンス図。
【図13】本発明に係る情報バックアップシステムにおけるマスタサーバの動作を説明するためのフローチャート。
【図14】本発明に係る情報バックアップシステムにおけるスレーブサーバの動作を説明するためのフローチャート。
【図15】本発明に係る情報バックアップシステムにおけるマスタサーバの動作を説明するためのフローチャート。
【図16】本発明に係る情報バックアップシステムにおけるマスタサーバ停止時の動作を説明するためのフローチャート。
【図17】本発明に係る情報バックアップシステムにおけるマスタ停止の場合のマスタサーバの動作を説明するためのシーケンス図。
【図18】本発明に係る情報バックアップシステムに用いられる基準時刻を説明するためのシーケンス図。
【図19】本発明に係る情報バックアップシステムにおけるマスタサーバ停止後のマスタサーバの動作を説明するためのフローチャート。
【図20】本発明に係る情報バックアップシステムにおけるマスタサーバ停止後のマスタサーバの動作を説明するためのフローチャート。
【図21】本発明に係る情報バックアップシステムにおけるマスタサーバ停止後のスレーブサーバの動作を説明するためのフローチャート。
【図22】本発明に係る情報バックアップシステムにおけるマスタ停止の場合のマスタサーバの動作を説明するためのシーケンス図。
【図23】本発明に係る情報バックアップシステムにおけるスレーブ停止の場合のマスタサーバの動作を説明するためのシーケンス図。
【符号の説明】
1、2 サーバ 3 クライアント
4 LAN 5 コントローラ
6 HAシステム 7 ファイル格納部
24 コントロールクライアント 25 コントロールサーバ
27 AFRサーバ 28 AFRクライアント
29 ファイルマネージャ
[0001]
BACKGROUND OF THE INVENTION
The present invention is a system that provides information in response to an access from a user or a terminal, such as a file system that provides various files or a database system that provides transactions. In particular, backup of information is performed by two devices. It relates to an information backup system that is appropriately taken.
[0002]
[Prior art]
The conventional information backup system, for example, provides information from the active device, and when information is rewritten in the active device, a copy is made to the spare device, and the standby device is used when the active device goes down. Devices provide information.
[0003]
[Problems to be solved by the invention]
However, in the above-described conventional backup system, if information is rewritten while the spare device provides information, the information held by the two devices cannot be matched, and the spare device is used. There is a problem that it is impossible to provide appropriate information when the device is down.
[0004]
The present invention has been made as a solution to the problems of the conventional information backup system as described above, and its purpose is to match the information held by the two devices, and even when one device goes down. It is an object of the present invention to provide an information backup system capable of always providing appropriate information by matching information held by two devices again when the downed device is restarted.
[0005]
[Means for Solving the Problems]
  The information backup system according to claim 1 comprises two servers having the same configuration, each having storage means for storing information to be returned in response to an access from the client, and for accessing from the client. In the information backup system in which the server that responds is the master device and the server that backs up the information stored in the storage means of the server that is the master device is the slave device, each server is a master device. The file stored in the storage means in the server has been updated in preparation for the caseTimes of DayMonitorThis time as the last update timeUpdate time holding means that holds the file in association with the file, and the time when the server is startedLocal serverThe copy time is stored in association with each file stored in the storage unit and the copy time holding unit that holds the file in association with each file stored in the storage unit.Local serverCopy time andLast update timeAnd compareLast update timeA first copy operation executing means for performing a backup copy operation for copying the file to the storage means of the server as a slave device,AboveWhen a backup copy operation is performed by the first copy operation execution means,The time at which the backup copy operation request is transmitted to the server set as the slave device is the local server copy start time associated with the fileInstead of holdingHold copy start timeMeans.
[0007]
  In the information backup system according to claim 2, each server has a server as a master device.Obtaining a time at which a request for a backup copy operation by the first copy operation executing means is transmitted to a server as a slave device;A server that is considered a slave deviceAboveBackup copy operationrequestThe time you receivedGetCorresponding to the corresponding fileLocal server copy start time and other server copy start timeHoldAboveIn the copy start time holding means, which is the master device, the transmission time is set.Local server copy start timeage,ReceivedWhile the time is set as the other server copy start time,SendLet the time be the other server copy start time,ReceivedTime is set as the local server copy start timeAboveCopy start time holding means;AboveBackup copy operation by the first copy operation execution meansApplicable whenThe self associated with the fileThe server copy start time is the local server copy time and the other server copy start time is the other server copy time.Last copy time holding means forThe latest one during the local server copy timeIf the local server last copy timeHoldon the other hand,The latest one during other server copy timeOther server last copy time andIn addition, when the server that is set as the master device receives all data from the server that is set as the slave device, the time when the end notification is returned is held in association with the corresponding file as the copy end time, In addition, the server that is set as the slave device holds the time when the request for the next backup copy operation is received from the server that is set as the master device in association with the file for which the previous backup copy was made as the copy end time.And a server that is the master device when the server that is the master device is stopped and then recovered, the server that is the original slave device functions as the master device and becomes the master device. Is a predetermined time after the last copy time of the other server.Reference timeThe other server copy start time associated with each file and the reference timeCopy end timeTo the other server copy start time orCopy end timeIn the case where the file is new, there is provided a second copy operation executing means for performing an operation of copying the file to the storage means of the server which has newly become a slave device.
[0008]
  In the information backup system according to claim 3, each server includes:Claim 2Copy start time holding means;Claim 2When the server that is the slave device is stopped and then recovered, the server that was originally set as the master device continues to function as the master device and continues to be the master device. The server goes back a predetermined time from the last copy time of the other server.Reference timeAnd send this reference time to the slave serverByThird copy operation execution means for starting an operation of copying to the storage means of the server that is the slave device is provided, and the server that is the slave device includes the reference time sent from the third copy operation execution means and each A fourth copy operation executing means for comparing the file with the last update time associated with the file and receiving a copy of the file when the last update time is new is provided.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
An information backup system according to the present invention will be described below with reference to the accompanying drawings. In each figure, the same components are denoted by the same reference numerals and redundant description is omitted. FIG. 1 shows a configuration example of an information backup system according to the present invention. In this system, servers 1 and 2 have the same file (information), and a client (usually a plurality) 3 is connected to a master server among servers 1 and 2 via a LAN (local area network) 4. Access the file.
[0019]
The servers 1 and 2 perform information backup including copying files from the master server to the slave servers. A specific configuration example of the servers 1 and 2 is shown in FIG. The server is configured with the CPU 10 as the center. The CPU 10 stores a program and is connected to a main memory 11 having a working area. A keyboard controller 13, a display controller 14, a mouse controller 15, a communication interface 16, and a disk controller 17 are connected to the CPU 10 via the bus 12.
[0020]
A keyboard input device 18 for inputting information is connected to the keyboard controller 13. A display display device 19 such as a CRT or LCD is connected to the display controller 14 so that information can be displayed. A mouse 20 that is a pointing device is connected to the mouse controller 15. A communication control unit 21 that performs communication control corresponding to the protocol of LAN 4 is connected to the communication interface 16. A disk device 23 such as a magnetic disk device or an optical disk device for storing information is connected to the disk controller 17.
[0021]
The configuration shown in FIG. 2 is also applied to the client 3. The software configuration in the system shown in FIG. 1 having the hardware configuration shown in FIG. 2 is as shown in FIG. That is, the client 3 is provided with an application program 31. Of the servers 1 and 2, the server activated first is a master (server), and the server activated later is a slave (server).
[0022]
The master and slave servers include a controller 5, an HA (High Ability) system 6, a control client 24, a control server 25, an AFR (Asyncronous File Replication) server 27, an AFR client 28, and a file manager 29. It has been. The AFR client 28 in the AFR server 27 and the AFR client 28 is activated when the server is the master, and the AFR server 27 in the AFR server 27 and the AFR client 28 is activated when the server is the slave. The file manager 29 manages various files in the file storage unit 7.
[0023]
The servers 1 and 2 are NSF (National Science Foundation) servers, and the two servers 1 and 2 are handled transparently by the client 3 by setting a predetermined IP address to the master server. When the servers 1 and 2 are activated and the HA system 6 starts up, the HA system 6 of one server communicates with the HA system 6 of the other server, and operates as a master if there is no response, and as a slave if there is a response. Operate. Each HA system 6 communicates about the stop and start of each server and grasps the state of the servers.
[0024]
The file storage unit 7 stores a configuration file. As shown in FIG. 4, the config file is a file in which the absolute path name of a file to be subjected to AFR is described corresponding to one file per line. A file specified by the config file is stored in the file storage unit 7 of the servers 1 and 2.
[0025]
The file manager 29 is provided with a table (file object) for file management as shown in FIG. This table is configured using the identification information (file name here) of each file as a key, and the file name and length are stored. In addition to this, the last update time, the local server copy start time, and the other server copy An area for storing the start time, copy end time, local server copy time, and other server copy time is provided. An area for storing the own server last copy time and the other server last copy time is provided in common for all the files.The time is the time for each server.
[0026]
Further, the file management table shown in FIG. 5 is provided with areas of a high-use queue variable, a medium-use queue queue variable, and a low-use queue queue variable indicating to which queue the file is set. In addition, a file update copy status variable for setting the necessity of copying when the file is updated, a built-in copy status variable for setting the necessity of copying to be performed when starting up after stopping, etc., all There is a low-speed copy status variable area for setting the necessity of copying files.
[0027]
The file update copy status variable takes two values, “copy required” and “no copy required” for the file. In the master server, the initial value is “no need for copying”, and when the file is updated, “copying is required” is set, and when copying is performed, transition is made to “no need for copying”. In the slave server, the initial value is “no copy required” and is not changed.
[0028]
The built-in copy status variable takes three values, “copy required”, “no copy required”, and “inquire” of the file. In the master, the initial value is “no copy required”, and when either server stops, “no copy required” transitions to “inquire”, “inquire” transitions to “copy necessary” “Copy required” is maintained. Then, if the copy is successful when “Copy is necessary”, the transition is made to “No need for copy”, and if “Inquiry” is received, the response is “No copy is required” and the transition is made to “No need for copy”. Is done. The initial value in the slave server is “no copy required” and is not changed.
[0029]
The low-speed copy status variable takes two values, “copy required” and “no copy required” for the file. The initial value of both the master server and the slave server is “copy required”, and when copying is performed, transition is made to “no copy required”.
[0030]
The file manager 29 has three types of queues as shown in FIG. 6, and sets a file to be filed to a required queue. The three types of queues are a high importance queue for setting the copy processing target information to be processed earliest, a medium importance queue for setting the copy processing target information to be processed next, and the lowest order. This is a low importance queue for setting copy processing target information to be processed. The file manager 29 sets the high importance queue in the case of update copy, sets it in the medium importance queue in the case of embedded copy, and sets it in the low importance queue in the case of low speed copy. The file copy of each queue is performed in the order of the medium importance queue when the high importance queue and the high importance queue are not set first, and the low importance queue when the medium importance queue is not set.
[0031]
When transferring the file set in the queue, the packet shown in FIG. 7 is used. FIG. 7A shows the format of the request notification packet. This packet includes the packet type (indicating that it is a request notification packet), copy mode (update, incorporation, low speed), file size, master server copy start time, reference time, and file name. This packet is used in the case of a start request in the file data transfer procedure shown in FIG.
[0032]
FIG. 7B shows the format of an affirmative (negative) notification packet. This packet includes a packet type (indicating that it is an affirmative (negative) notification packet), a master server copy start time, a reply type (positive or negative), and a message. This packet is used in the case of a positive notification in response to a start request in the file data transfer procedure shown in FIG.
[0033]
FIG. 7C shows the format of a notification packet such as termination. This packet includes the packet type (indicating that the packet is a notification packet indicating normal termination or error), the master server copy start time, and the slave server copy start time. This packet is used in the case of an end notification in response to the file data transfer in the file data transfer procedure shown in FIG. The data packet includes a packet type (indicating that it is a file data packet), a master server copy start time, a serial number, and the like. Each packet always includes the master server copy start time, and is used to check that the same file is handled.
[0034]
As shown in FIG. 9, the master server and the slave server shown in FIG. 3 make a transition between the “master” state and the “slave” state via the “stop” state. That is, the “master” and the “slave” always change state with the “stop” state between them, and the “master” state does not directly shift to the “slave” state, or directly from the “slave” state. Will not enter the “master” state. When recovering from the “stopped” state, the HA system 6 of the server communicates with the HA systems 6 of other servers and operates as a master if there is no response, and operates as a slave if there is a response.
[0035]
As already described, when a file is copied, the copy mode is included in the packet shown in FIG. When the master server file is updated and set in the high importance queue, “SEND” indicating that copying should be performed is set as the copy mode. On the other hand, when it is not indicated that the file has been updated (when the “file update copy status variable” in the table shown in FIG. 5 is “OFF”), the table shown in FIG. The copy mode setting is changed as shown in FIG. 10 depending on the combination of the contents of the “embedded copy status variable” and the “low speed copy status variable”.
[0036]
  Specifically, if the “embedded copy status variable” is “necessary for copying”, the copy mode is “SEND”, and if the “built-in copy status variable” is “inquire”, the copy mode is “ASK”. " Slow copy is performed when all other copy status variables are "No copy required" and "Slow copy status variable"Need to copy "Is when When both the “embedded copy status variable” and the “low speed copy status variable” are “no copy necessary”, the copy mode is set to “PASS”.
[0037]
In FIG. 10 above, “X” indicates a combination that is not possible. In other words, the “Built-in copy status variable” becomes “Copy required” or “Inquire” only once immediately after the server is started. This is because “copying is necessary”. When the copy mode is set to “ASK”, the copy is performed when a response indicating that the copy is performed is returned from the slave server. The copy mode is set to “PASS” in response to an inquiry from the master server.
[0038]
In the information backup system configured as described above, when the server is started and file update copy is performed, first, the master server performs the operation of the flowchart shown in FIG. The activated HA system 6 inquires of the HA system 6 of another server, but since there is no response, it detects that it is a master server, and the HA system 6 activates the controller 5. The controller 5 activates the control client 24, the control server 25, the AFR server 27, the AFR client 28, and the file manager 29.
[0039]
In this state, the HA system 6 notifies the control server 25 of the server state (being a master) obtained by communicating with another server using the control client 24 as a command. The control server 25 stops the AFR server 27 and selects a module so as to operate as a master server. The config file and the table of FIG. 5 are read from the disk device 23 to the file manager 29 by the controller 5, for example. The file manager 29 is notified by the control server 25 that the server is the master server, and as shown in FIG. 11, the start time of its own device is moved to the local server copy time area of the table shown in FIG. Set (S1). For example, as shown in FIG. 12, when the master is started at time 2:00 (minute: second), time 2:00 is set in the local server copy time area of the table shown in FIG. The
[0040]
Next, the file manager 29 of the master server monitors whether or not the file has been updated (S2). When the file is updated, the update time is written in the area of the last update time of the table shown in FIG. 5 corresponding to the file. (S3). For example, as shown in FIG. 12, when the update is performed at time (8:00), the time (8:00) is written in the area of the last update time in the table shown in FIG. The file is updated by a module (OS: operating system) that reads and writes the file, and notifies the file manager of the update.
[0041]
On the other hand, in the example of FIG. 12, the HA system 6 activated in the other server makes an inquiry to the HA system 6 of the master server. Since the master server has already been activated and a response is returned, it is detected that it is a slave server, and the HA system 6 activates the controller 5. The controller 5 activates the control client 24, the control server 25, the AFR server 27, the AFR client 28, and the file manager 29. In this state, the HA system 6 transmits the server state (being a slave) obtained by communicating with another server to the control server 25 using the control client 24 as a command. The control server 25 stops the AFR client 28 and selects a module so as to operate as a slave server. The same configuration file as the master server and the table of FIG. 5 are read by the controller 5 from the disk device 23 to the file manager 29, for example. The file manager 29 is notified by the control server 25 that the server is a slave server.
[0042]
The file manager 29 of the master server performs the operation shown in the flowchart of FIG. That is, the last update time and the local server copy time are compared for all the files in the table of FIG. 5 (S4), and it is detected whether or not the last update time is new (S5). If the last update time is new, the updated file is set in the high importance queue (S6), and the copy operation is started (S7). Note that communication related to copying is performed between the AFR client 28 and the AFR server. For example, in the example of FIG. 12, since the last update time (8:00) in the master is newer than the own server copy time (2:00), at the time (8:03), the request notification shown in FIG. A request is made using a packet. In this packet, as shown in FIG. 12, a copy start time (8:03) on the master side and a copy mode “SEND” indicating that copying is always performed are set. The copy start time (8:03) is set in the local server copy start time area of the area corresponding to the file in the table shown in FIG.
[0043]
The slave server performs processing as shown in the flowchart of FIG. 14 when receiving the request notification packet. That is, the contents of the received packet are analyzed (S20), and it is detected whether the copy mode is “SEND” (S21). If the copy mode is “SEND”, the time at which this packet is received (in the example of FIG. 12, the time shown by underlining (18:55)) corresponds to the corresponding file in the table shown in FIG. Other servers in the area corresponding to the corresponding file in the table shown in FIG. 5 that the slave server has the master server copy start time (8:03) set in the packet, set in the area of the local server copy start time of the area The copy start time area is set (S22), and if the preparation for copying is complete, a response packet such as shown in FIG. ) Waits for the arrival of data (S24) If there is a hardware or software failure, an "error" is returned. There is also be performed.
[0044]
On the other hand, the master server detects whether the response type of the response packet from the slave server is “OK” in step S8 of FIG. 13, and if it is “OK”, the data of the corresponding file is detected. Is transferred (S9). In this case, all of the file data may be transferred, but the difference between the old data and the new data of the file is obtained in advance, and the data of the difference (part related to update) (data indicating which position to replace) May be transferred).
[0045]
When the slave server receives file data from the master server, it receives it and stores it in the buffer of the main memory 11 (S25). Then, the sync command for matching the contents of the buffer and the file contents of the disk device 23 is executed immediately upon receiving the file transfer, is performed at a predetermined time, or is set in advance from the keyboard input device 18. Of course, the predetermined time may be set from the keyboard input device 18. When all the data is received, an end notification is sent using the end notification packet shown in FIG. 7C (S26). In the example of FIG. 12, this packet includes the master server copy start time (8:03) and the slave server copy start time (18:55).
[0046]
As shown in step S10 of FIG. 13, the master server receives the above-mentioned end notification packet sent from the slave server, and the master server copy start time (8:03) and slave server copy start time (18) included in the packet. : 55) and the respective times are set in the local server copy time area and the other server copy time area of the area corresponding to the corresponding file in the table of FIG. 5 (S11). Further, the master server writes the reception time of the end notification packet in the copy end time area of the area corresponding to the corresponding file in the table of FIG. 5 (master server table).
[0047]
In the example shown in FIG. 12, the file is also updated at time (13:20), and the time (13:20) is stored in the file update time area of the table of FIG. On the other hand, the copy time (8:03) is stored in the local server copy time area, and as a result of comparison with step S4 in FIG. This is done as described above.
[0048]
In the above, the master server transmits a request at time (13:22), and the slave server accepts the request at time (23:08). When this request is received, the master server copy start time (13:22) is written in the area of the copy end time of the area corresponding to the file copied last time in the table of FIG. 5 of the slave server. When the copy corresponding to the current update is completed, the local server copy start time and the local server copy time of the area corresponding to the corresponding file in the table of FIG. 5 of the slave server are (23:08), and the master server The local server copy start time and local server copy time of the area corresponding to the corresponding file in the table of FIG. 5 are (13:22).
[0049]
The master server and the slave server perform the operation of the flowchart shown in FIG. 15 every time copying is normally completed, and update the own (other) server last copy time of the table in FIG. That is, the self (other) server copy times of all the files in the table in FIG. 5 are compared, and the latest self (other) server copy time is searched (S13). Then, the latest self (other) server copy time searched is recorded in the area of the own (other) server last copy time of the table in FIG. 5 (S13). In the example of FIG. 12, in the master server and the slave server, the master server final copy time of the table in FIG. 5 is finally (13:22), and the slave server final copy time is underlined. (23:08).
[0050]
When the master server is stopped while processing is performed as described above, the stop is detected by communication between the HA systems 6, and the slave server operates as a new master server. Switching (starting the AFR server 28 instead of the AFR client 28), providing the service to the client 3, and when there is a file being copied when it is stopped, a warning message is displayed on the log screen in the display device 19. (S14). Thereby, for example, the operator can prohibit access to the corresponding file, or pull out the corresponding file from the old master server and copy it to the new master server.
[0051]
Then, the recovery of the old master server is waited (S15), and the system is operated with the old master server as the new slave server by communication between the HA systems 6 (S16). At this time, the following copying is performed.
[0052]
Next, the operation when the master server is stopped and then recovered will be described. For example, as in the situation of FIG. 17 showing the continuation from the situation of FIG. 12, it is assumed that the file update occurs at the time (17:05) in the master server, and then the master server stops. Thereafter, when starting (recovering) at a later time (18:30), the time (18:30) is set in the local server copy time area of the table in FIG. 5, as described with reference to the flowchart of FIG. Is done. On the other hand, the slave server learns the stop of the master server through communication of the HA system 6 and starts the service to the client 3. Then, in response to the stopped old master server being started (recovered) at time (18:30), the old slave server starts operating as a master.
[0053]
Then, when the server is started after stopping as described above, the concept of the reference time is introduced for the following reasons so that the file contents of the two servers are properly matched. Do. In other words, when a failure occurs in the slave server, it must be considered that even if the copying procedure is completed, it may not be reflected on the disk. This is because when the server suddenly stops, the data is still in memory and may be lost. Even when the master server is stopped, there is a high possibility that the system is unstable immediately before the stop.
[0054]
Therefore, a new time is acquired as much as possible when both servers are operating, and a certain safety time is further traced back from this time as a reference time. Then, copying is started again for files whose copying has started or ended after the reference time. The reason why both the start and end are checked is that, as shown in FIG. 18, there is a possibility that the file being copied at the reference time or the last file cannot be detected by only one of the start and end. In addition, since either server can serve as an NFS server, it is necessary to make sure that files updated during the “stopped” state are copied. Since both servers can be NFS servers in the "stopped" state, the files on both servers need to be checked. Since the master server can know the status of its own file, it can be copied if it finds a change. The master server inquires the slave server to determine whether the file on the slave server has been changed.
[0055]
  further,Embedded copyIf either server stops halfway, the next copy must be copied. In order to reliably copy the file as described above, it is determined whether to copy the file by various methods as described below.
[0056]
The new master server performs the operations shown in the flowcharts of FIGS. First, a reference time that is back from a safe time (in this example, 1:00) from the other server last copy time of the table shown in FIG. 5 is obtained (S31). As a result, in the example of FIG. 17, a reference time (12:22) is obtained that is backed by a safe time (in this example, 1:00) from the other server final copy time (13:22). Next, the copy status variables corresponding to all the files in the table shown in FIG. 5 are converted (S32). Specifically, the file update copy status variable is not changed. For the built-in copy status variable, “No Copy Required” is changed to “Inquire”, and “Copy Required” is not changed. “Necessary” is set, and “inquiry” is changed to “necessary to copy”. The low-speed copy status variable is “copy required”.
[0057]
Next, the reference time and the other server copy start time of each file in the table are compared, and if the other server copy start time is new, the built-in copy status variable is changed to “copy required” (S33). Also, the reference time and each file in the tableCopy end timeCompareCopy end timeIf it is new, the built-in copy status variable is changed to “copy required” (S34). Further, the reference time is compared with the last update time of each file in the table, and if the last update time is new, the built-in copy status variable is changed to “copy required” (S35). In this way, it is possible to copy a file that may not have been properly copied.
[0058]
Next, the master time is set as the local server copy time of the table (S36). Then, the files that need to be embedded and the files that need to be queried are set in the medium importance queue, and the files that need to be copied at low speed (all files) are set in the low importance queue. (S37).
[0059]
Then, in the process for the file whose embedded copy status variable is “inquiry required”, the copy mode of the request notification packet in FIG. 7A is set to “embedded copy” and is transmitted including the reference time (S38). In the example of FIG. 17, the reference time (12:22) is included in the copy start time (30:00) and the copy mode (CBC) indicating “embedded copy”.
[0060]
For the above processing, the new slave server performs the operation of the flowchart shown in FIG. That is, the request is received (S41), and it is detected whether or not the copy mode is “embedded copy” (S42). If it is detected that the copy mode is “embedded copy”, the reference time sent is compared with the last update time (S43), and it is detected whether the last update time is newer (S44).
[0061]
For example, as shown in FIG. 17, when the last update time stored in the server that was the original master server is time (17:05) and is newer than the reference time (12:22), “OK” is displayed. And a file transfer from the new master server side is received (S45). On the other hand, as shown in step S39 of FIG. 20, the new master server displays on the master and slave log screens that the data related to the last update of the file has been discarded in response to the reply of “OK”. The file data is transferred to the new slave server (S39). Then, the time when the first request is sent is set to the local server copy time in the table of FIG. 5, and the file update copy status variable, the built-in copy status variable, and the low-speed copy status variable corresponding to the file are set to “no copy required”. (S40).
[0062]
On the other hand, when the last update time in the old master server is time (8:03) as shown in FIG. 22 and is older than the reference time (12:22), NO is returned in step S44 in the flowchart of FIG. Branch and return a reply “PASS” as shown in FIG. As a result, the file data is not copied, and the new server changes the file update copy status variable corresponding to the file in the table of FIG. 5 to “no copy required”. However, the copy time is not changed.
[0063]
Next, as shown in FIG. 23, a case where the slave server is stopped and then started (recovered) will be described. Also in this case, when there is a file being copied when the master server is stopped, a warning message is displayed on the log screen in the display device 19 in the same manner as when the master server is stopped. When the slave server is restarted, it cannot be confirmed whether or not the file copied immediately before the stop time has been completely copied, so a predetermined safe time (here, 1:00) is set. Start copying in consideration.
[0064]
Specifically, the server that becomes the master server again after the slave stops performs the operations of the flowcharts shown in FIGS. 19 and 20, and the server that becomes the slave server again after the slave stops is shown in FIG. The operation of the flowchart is performed. Specifically, in the example of FIG. 23, for example, a reference time (22:10) is obtained that is backed by a safe time (in this example, 1:00) from the other server last copy time (23:10).
[0065]
In FIG. 23, at the time (20:00), when processing the file whose built-in copy status variable is “inquiry required”, the copy mode of the request notification packet in FIG. “Embedded copy” is sent, including the reference time. In the example of FIG. 23, the reference time (22:10) is included in the copy start time (20:00) and the copy mode (CBC) indicating “embedded copy”.
[0066]
As shown in FIG. 23, the slave server receives the request notification packet, and the last update time stored in the slave server is time (23:10), which is newer than the reference time (22:10). , A response indicating “OK” is returned, and the file transfer from the new master server is received. In response to the reply “OK”, the master server displays on the log screens of the master and slave that the data related to the last update of the file has been discarded, and transfers the file data to the slave server. Then, the time when the first request is sent is set to the local server copy time in the table of FIG. 5, and the file update copy status variable, the built-in copy status variable, and the low-speed copy status variable corresponding to the file are set to “no copy required”. Change to
[0067]
In the above description, the processing when either the master server or the slave server is stopped has been described. However, when both the master server and the slave server are stopped, the same processing as in the case of the initial start-up is performed. The server that started up becomes the master server. All files are then copied to the master server and slave servers. In addition, the case of update copy and the case of embedded copy have been described, but if a file is not set other than the low importance queue of the three queues shown in FIG. 6, the file set in the low importance queue A slow copy is made for.
[0068]
In the above example, the slave server performs a sync operation to write the data on the memory to the disk every 30 seconds. However, every time a file is copied, the sync operation to immediately write the data on the memory to the disk is performed. Also good. By performing the sync operation in this manner, the copy speed is reduced, but it is possible to prevent a problem that the copy contents are destroyed due to the occurrence of a failure before writing from the memory to the disk.
[0069]
Moreover, although the example which backs up a file was shown in the said embodiment, it is applicable also when backing up the content of a database in the database system which processes a transaction. Furthermore, the present invention is also applicable to mobile communication systems. For example, if the mobile terminal is operated as a master server and a server in a company or the like is operated as a slave server, the file of the server in the company and the content of the file of the mobile terminal can be matched.
[0070]
【The invention's effect】
  As described above, according to the information backup system of claim 1,The file stored in the storage means has been updated on the serverMonitor the update time and check the update timeAssociated with the fileKeep it,The time information when the server is started is used as the copy time in association with each file stored in the storage means.Hold andStored in association with each file stored in the storage meansCompare the copy time with the update time, and if the update time is new,Perform a backup copy operation to copy the file to the storage means of the server that is set as a slave device.So master deviceServer that isInFileIs updated, the slave deviceServer that isRelated to the above updateFileAre copied, and the files held by the two devices are appropriately matched.
[0072]
  As explained aboveClaim 2According to the information backup system described inWhen the server designated as the master device is stopped and then recovered, the server designated as the original slave device functions as the master device, and the server that becomes the master device has a predetermined time from the other server last copy time. If the reference time is determined, the reference time is compared with the other server copy start time and other server last copy time associated with each file, and the other server copy start time or other server copy time is new. The operation of copying the file to the storage means of the server that became the slave device newlyDone, backed up and twoFiles held by server storageAre properly matched.
[0073]
  As explained aboveClaim 3According to the information backup system described inWhen a server that is set as a slave device is stopped and then recovered, the server that was originally set as a master device continues to function as the master device, and the server that is the master device continues to have a predetermined time from the last copy time of another server. A reference order time that is traced back in time is obtained, and the operation of copying the reference time to the server that is the slave device from the server that is the slave device is started and sent to the server that is the slave device. Compare the reference time with the last update time associated with each file, and if the last update time is new, accept a copy of the file,A backup is made and twoFiles held by server storageAre properly matched.
[0083]
As described above, according to the information backup system of the fourteenth aspect, after information is stored in the temporary buffer and stored in the disk device at a predetermined time interval, the number of copies to the disk device can be reduced.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of an information backup system according to the present invention.
FIG. 2 is a diagram showing a configuration of a server or the like of the information backup system according to the present invention.
FIG. 3 is a diagram showing a software module configuration of a server or the like of the information backup system according to the present invention.
FIG. 4 is a diagram showing an example of a config file used in the information backup system according to the present invention.
FIG. 5 is a diagram showing a configuration example in a file management table used in the information backup system according to the present invention.
FIG. 6 is a diagram showing a configuration of a file transfer queue used in the information backup system according to the present invention.
FIG. 7 is a configuration diagram of a packet format at the time of file transfer used in the information backup system according to the present invention.
FIG. 8 is a diagram showing a sequence during file transfer used in the information backup system according to the present invention.
FIG. 9 is a diagram showing state transition of a server used in the information backup system according to the present invention.
FIG. 10 is a diagram for explaining a copy mode in a case other than an update copy in the information backup system according to the present invention.
FIG. 11 is a flowchart for explaining the operation of the master server in the information backup system according to the invention.
FIG. 12 is a sequence diagram for explaining the operation of the master server in the information backup system according to the present invention.
FIG. 13 is a flowchart for explaining the operation of the master server in the information backup system according to the invention.
FIG. 14 is a flowchart for explaining the operation of a slave server in the information backup system according to the present invention;
FIG. 15 is a flowchart for explaining the operation of the master server in the information backup system according to the invention.
FIG. 16 is a flowchart for explaining the operation when the master server is stopped in the information backup system according to the present invention;
FIG. 17 is a sequence diagram for explaining the operation of the master server when the master is stopped in the information backup system according to the present invention;
FIG. 18 is a sequence diagram for explaining a reference time used in the information backup system according to the present invention.
FIG. 19 is a flowchart for explaining the operation of the master server after stopping the master server in the information backup system according to the present invention;
FIG. 20 is a flowchart for explaining the operation of the master server after stopping the master server in the information backup system according to the present invention.
FIG. 21 is a flowchart for explaining the operation of the slave server after the master server is stopped in the information backup system according to the present invention;
FIG. 22 is a sequence diagram for explaining the operation of the master server when the master is stopped in the information backup system according to the present invention.
FIG. 23 is a sequence diagram for explaining the operation of the master server when the slave is stopped in the information backup system according to the present invention;
[Explanation of symbols]
1, 2 servers 3 clients
4 LAN 5 Controller
6 HA system 7 File storage
24 control client 25 control server
27 AFR Server 28 AFR Client
29 File Manager

Claims (3)

クライアントからのアクセスに応答して返送するための情報を記憶した記憶手段を夫々が有した同一構成の2台のサーバを具備し、クライアントからのアクセスに応答する側のサーバをマスタ装置とし、マスタ装置であるサーバの記憶手段に記憶された情報のバックアップを行う側のサーバをスレーブ装置として動作する情報バックアップシステムにおいて、
各サーバには、マスタ装置とされた場合に備えて、
当該サーバにおいて前記記憶手段に記憶されたファイルが更新された時刻を監視し、この時刻を最終更新時刻として当該ファイルに対応付けて保持する更新時刻保持手段と、
当該サーバが起動した時刻を自サーバコピー時刻として、前記記憶手段に記憶された各ファイルに対応付けて保持するコピー時刻保持手段と、
前記記憶手段に記憶された各ファイル毎に対応付けて記憶されている自サーバコピー時刻と最終更新時刻とを比較し、最終更新時刻が新しい場合に、当該ファイルをスレーブ装置とされたサーバの記憶手段へコピーするバックアップコピー動作を行う第1のコピー動作実行手段と、
前記第1のコピー動作実行手段によるバックアップコピー動作が行われた場合に、該バックアップコピー動作の要求をスレーブ装置とされたサーバに送信する時刻を当該ファイルに対応付けられている自サーバコピー開始時刻に代えて対応付けて保持させるコピー開始時刻保持手段と
を具備することを特徴とする情報バックアップシステム。
Two servers having the same configuration each having storage means for storing information to be returned in response to an access from the client, the server responding to the access from the client as a master device, In the information backup system in which the server on the side that performs backup of the information stored in the storage means of the server that is a device operates as a slave device,
Each server has a master device in case
Update time holding means for monitoring the time at which the file stored in the storage means is updated in the server, and holding this time in association with the file as the last update time ;
A copy time holding means for holding the time at which the server is activated as a self-server copy time, and holding it in association with each file stored in the storage means;
Comparing the local server copy time and last update time stored in association with each file stored in the storage means, the last if update time is new, storage servers and the file is a slave device First copy operation execution means for performing a backup copy operation for copying to the means;
When a backup copy operation is performed by the first copy operation execution means , a time at which the request for the backup copy operation is transmitted to the server set as the slave device is a local server copy start time associated with the file An information backup system comprising: a copy start time holding unit that holds the information in association with each other.
各サーバには、
マスタ装置とされたサーバが前記第1のコピー動作実行手段によるバックアップコピー動作の要求をスレーブ装置とされたサーバに送信する時刻を得ると共に、スレーブ装置とされたサーバが前記バックアップコピー動作の要求を受け取った時刻を得て、該当するファイルに対応させて自サーバコピー開始時刻と他サーバコピー開始時刻を保持する前記コピー開始時刻保持手段であって、マスタ装置とされたサーバにおいては、前記送信する時刻を自サーバコピー開始時刻とし、前記受け取った時刻を他サーバコピー開始時刻とする一方、スレーブ装置とされたサーバにおいては、前記送信する時刻を他サーバコピー開始時刻とし、前記受け取った時刻を自サーバコピー開始時刻とする前記コピー開始時刻保持手段と、
前記第1のコピー動作実行手段によるバックアップコピー動作が終了すると、該当ファイルに対応付けられている自サーバコピー開始時刻を自サーバコピー時刻とすると共に他サーバコピー開始時刻を他サーバコピー時刻とする最終コピー時刻保持手段であって、自サーバコピー時刻中の最新のものを自サーバ最終コピー時刻とするとして保持する一方、他サーバコピー時刻中の最新のものを他サーバ最終コピー時刻として保持し、更に、マスタ装置とされたサーバがスレーブ装置とされたサーバから全データを受け取ったときに返送される終了通知の受信時をコピー終了時刻として該当ファイルに対応付けて保持し、また、スレーブ装置とされたサーバがマスタ装置とされたサーバから次のバックアップコピー動作の要求を受信した時刻をコピー終了時刻としてその前のバックアップコピーを行ったファイルに対応付けて保持する最終コピー時刻保持手段と、
が具備され、
マスタ装置とされたサーバが停止し、その後復旧した場合には、元のスレーブ装置とされたサーバがマスタ装置として機能し、
当該マスタ装置となったサーバには、前記他サーバ最終コピー時刻から所定時間遡った基準時刻を求め、この基準時刻と各ファイルに対応付けられた他サーバコピー開始時刻およびコピー終了時刻とを比較し、他サーバコピー開始時刻またはコピー終了時刻が新しい場合に、当該ファイルを新たにスレーブ装置となったサーバの記憶手段へコピーする動作を行う第2のコピー動作実行手段が
具備されていることを特徴とする請求項1に記載の情報バックアップシステム。
Each server has
With obtaining the time the master device and to a server to send a request for backup copying operation by the first copy operation execution means to the server that is the slave device, a request of a server, which is a slave device the backup copy operation to obtain a time received, a said copy start time holding means for holding the relevant in correspondence with the file server itself copy start time and other server copy start time, in the master device and to a server, wherein the transmission While the time is set as the local server copy start time and the received time is set as the other server copy start time, the server set as the slave device sets the transmission time as the other server copy start time and sets the received time as the local server copy start time. said copy start time holding unit to the server copy start time,
When the backup copy operation by the first copy operation execution unit is completed, the local server copy start time associated with the corresponding file is set as the local server copy time and the remote server copy start time is set as the remote server copy time. a copy time holding means, while retaining the the latest in the local server copy time as the the local server last copy time, held by the other servers last copy time the latest in other servers copy time In addition, when the server designated as the master device receives all the data from the server designated as the slave device, the time when the termination notification is returned is held in association with the corresponding file as the copy termination time, and the slave The time when the server designated as the device received the next backup copy operation request from the server designated as the master device. And the last copy time holding means for holding in association with the previous backup copy files conducted as copy end time,
Is provided,
If the server designated as the master device stops and then recovers, the server designated as the original slave device functions as the master device,
The server that has become the master device obtains a reference time that is a predetermined time later than the other server last copy time, and compares the reference time with the other server copy start time and copy end time associated with each file. And a second copy operation execution means for performing an operation of copying the file to the storage means of the server which newly becomes a slave device when the other server copy start time or copy end time is new. The information backup system according to claim 1.
各サーバには、
請求項2に記載のコピー開始時刻保持手段と、
請求項2に記載の最終コピー時刻保持手段と、
が具備され、
スレーブ装置とされたサーバが停止し、その後復旧した場合には、元からマスタ装置とされたサーバが引き続きマスタ装置として機能し、
引き続きマスタ装置である当該サーバには、他サーバ最終コピー時刻から所定時間遡った基準時刻を求め、この基準時刻をスレーブ装置であるサーバへ送信することによりスレーブ装置であるサーバの記憶手段へコピーする動作を開始する第3のコピー動作実行手段が備えられ、
スレーブ装置であるサーバには、前記第3のコピー動作実行手段から送られた基準時刻と各ファイルに対応付けられた最終更新時刻とを比較し、最終更新時刻が新しい場合に、当該ファイルのコピーを受け付ける第4のコピー動作実行手段が具備されていることを特徴とする請求項1または請求項2に記載の情報バックアップシステム。
Each server has
Copy start time holding means according to claim 2 ,
Last copy time holding means according to claim 2 ,
Is provided,
If the server that is the slave device is stopped and then recovered, the server that was originally the master device continues to function as the master device,
To continue to the server is the master device, determine the reference time going back a predetermined time from the other servers last copy time is copied to the server storage unit is a slave device by transmitting the reference time to which server a slave device A third copy operation execution means for starting the operation is provided;
The server which is the slave device compares the reference time sent from the third copy operation execution means with the last update time associated with each file, and if the last update time is new, the file copy The information backup system according to claim 1, further comprising a fourth copy operation execution unit that receives the information.
JP25232898A 1998-09-07 1998-09-07 Information backup system Expired - Fee Related JP4128667B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25232898A JP4128667B2 (en) 1998-09-07 1998-09-07 Information backup system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25232898A JP4128667B2 (en) 1998-09-07 1998-09-07 Information backup system

Publications (2)

Publication Number Publication Date
JP2000082006A JP2000082006A (en) 2000-03-21
JP4128667B2 true JP4128667B2 (en) 2008-07-30

Family

ID=17235745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25232898A Expired - Fee Related JP4128667B2 (en) 1998-09-07 1998-09-07 Information backup system

Country Status (1)

Country Link
JP (1) JP4128667B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198441A (en) * 2009-02-26 2010-09-09 Toshiba Corp Mirroring system
JP5965160B2 (en) * 2012-02-28 2016-08-03 日本電信電話株式会社 Data synchronization system, operation computer, and standby computer
JP6088450B2 (en) * 2014-02-18 2017-03-01 日本電信電話株式会社 Redundant database system, database device, and master replacement method
KR102389919B1 (en) * 2017-12-12 2022-04-22 현대글로벌서비스 주식회사 The system which monitors ship-of-state

Also Published As

Publication number Publication date
JP2000082006A (en) 2000-03-21

Similar Documents

Publication Publication Date Title
EP0950955B1 (en) Method and apparatus for correct and complete transactions in a fault tolerant distributed database system
US7587627B2 (en) System and method for disaster recovery of data
US6934247B2 (en) Recovery following process or system failure
US6941327B2 (en) Apparatus and method for database synchronization in a duplex system
JP3992427B2 (en) File system
US7565572B2 (en) Method for rolling back from snapshot with log
US7562100B2 (en) Maintaining coherency in a symbiotic computing system and method of operation thereof
JPH0683746A (en) Decentralized information processing system
US20060236050A1 (en) Computer system, computer, and remote copy processing method
EP1376361A1 (en) Server duplexing method and duplexed server system
US20090150630A1 (en) Computer system and control method for the computer system
KR20000052929A (en) Regeneration agent for back-up software
US10789138B2 (en) SMB service fault processing method and storage device
US20110161724A1 (en) Data management apparatus, monitoring apparatus, replica apparatus, cluster system, control method and computer-readable medium
JP2001034568A (en) Logical path establishing method, and storage medium
US5600808A (en) Processing method by which continuous operation of communication control program is obtained
JP4128667B2 (en) Information backup system
KR20030048503A (en) Communication system and method for data synchronization of duplexing server
US7194675B2 (en) Backup method, backup system, disk controller and backup program
JP2001109642A (en) Cluster system and data copying method therefor
JPH0816446A (en) Client server system
CN113297134B (en) Data processing system, data processing method and device, and electronic device
JPH09305558A (en) Data base server for duplex system
JPH04299435A (en) Data base equivalent system
JP2726001B2 (en) Error recovery method in computer system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070925

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080403

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

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

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071112

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140523

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees