JP5080636B2 - レプリ処理方法、プログラム及び装置 - Google Patents

レプリ処理方法、プログラム及び装置 Download PDF

Info

Publication number
JP5080636B2
JP5080636B2 JP2010500461A JP2010500461A JP5080636B2 JP 5080636 B2 JP5080636 B2 JP 5080636B2 JP 2010500461 A JP2010500461 A JP 2010500461A JP 2010500461 A JP2010500461 A JP 2010500461A JP 5080636 B2 JP5080636 B2 JP 5080636B2
Authority
JP
Japan
Prior art keywords
update
update address
database
address table
base
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
JP2010500461A
Other languages
English (en)
Other versions
JPWO2009107184A1 (ja
Inventor
順一 津田
俊行 森岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu FSAS Inc
Original Assignee
Fujitsu FSAS Inc
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 Fujitsu FSAS Inc filed Critical Fujitsu FSAS Inc
Publication of JPWO2009107184A1 publication Critical patent/JPWO2009107184A1/ja
Application granted granted Critical
Publication of JP5080636B2 publication Critical patent/JP5080636B2/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space

Landscapes

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

Description

本発明は、狭帯域回線を用いて拠点間のデータベースの同期を取るための技術に関する。
従来から、例えばバックアップシステムにおいて、データベースのレプリカを作成し、本体とレプリカとを同期させる技術が存在している。
例えば特開2000−035911号公報には、複数のサーバで構成された分散システムにおいて、自サーバの保有するデータベースと、他サーバの保有するデータベースとを等価させる技術が開示されている。具体的には、自サーバと他サーバとのデータベースが等価している状態で、他サーバを分散システムから切り離して再度接続する場合、他サーバが切り離されてから再接続するまでの間に、自サーバのデータベースにおいて変更のあったデータを他サーバに送信するようになっている。
また例えば特開平11−259324号公報には、主記憶装置の記憶内容の複写期間中の信頼性の低下、並びに処理能力の圧迫を極力軽減することができる二重化制御装置が開示されている。具体的には、二重化制御装置は、各チャネル制御装置の機能試験用に設けられ、ダイレクトメモリアクセス(DMA)機能を具備する擬似入出力装置に、現用系の主記憶装置の記憶内容を、他系の主記憶装置に複写を要求するメモリ複写指令を受信・識別するメモリ複写指令受付手段と、メモリ複写指令受付手段が、現用系の中央制御装置からメモリ複写指令を受信した場合に、現用系の主記憶装置の各アドレスに格納されている単位データを順次抽出し、他系の主記憶装置の同一アドレスに格納するデータ複写動作を、主記憶装置の全記憶領域に就いて連続して実行した後、メモリ複写動作の実行完了を、現用系の中央制御装置に通知するメモリ複写動作制御手段とを備える。
さらに例えば特開2007−233543号公報には、正サイトと副サイト間のネットワークを狭帯域幅回線で構築しながらもデータベースの同期処理を現実的な時間で実現し、かつシステムの運用コストを抑制することができるデータベース管理システムが開示されている。具体的には、データベース管理システムは、データベースを格納するストレージ装置と、データベースの参照要求又は更新要求を受け付けて、ストレージ装置のデータベースを参照又は更新するデータベース管理サーバとから構成され、データベース管理サーバは、更新要求に基づいてストレージ装置のデータベースを読み込んでデータを更新する更新実行部と、更新を行ったデータ内の未使用領域を予め設定した文字又は値で連続的に上書きする不要情報除去部と、データをストレージ装置へ書き込む書込部とを備える。また、ストレージ装置は、ネットワークを介してデータベースの複製を格納する第2のストレージ装置に接続され、データベースを第2のストレージ装置へ転送するリモートコピー部を備える。そして、ストレージ装置のデータベースをネットワーク装置を介して転送する際に、当該ネットワーク装置において、連続した値を圧縮してデータベースを転送するようになっている。
しかしながら、これらの公報に記載された技術は、いずれもがデータのバックアップに関する技術であって、複数のデータベースの各々が更新されるような場合については一切考慮されていない。
なお、拠点毎にデータベースが設置され、各々のデータベースが更新されるような場合、例えば広帯域回線を用いて拠点間を常時接続して、ある拠点のデータベースを更新する場合には、他の拠点のデータベースを排他制御するなどして、拠点間で同期させる技術が従来から存在している。
特開2000−035911号公報 特開平11−259324号公報 特開2007−233543号公報
しかしながら、常時接続サービスが利用できない地域(例えば電話局から離れた地域など)もあり、上記のような従来技術を採用することができない場合がある。また、このような地域において常時接続サービスを利用するためには、例えば専用線を導入する必要があり、設備投資及び通信料などのコストがかかってしまう。
従って、本発明の目的は、拠点毎にデータベースが設置され、各々のデータベースが更新されるシステムにおいて、常時接続サービスが利用できない地域に拠点を有する場合であっても、コストを抑えつつ、拠点間のデータベースの同期を取るための技術を提供することである。
また、本発明の他の目的は、データベースの更新漏れを防止するための技術を提供することである。
本発明に係るレプリ処理方法は、狭帯域回線を用いて拠点間の通信を行う場合におけるレプリ処理方法であって、ユーザからデータベースの更新指示を受け付けた場合、当該更新指示に従ってデータベースを更新すると共に、少なくとも更新対象の領域を示す更新アドレスと更新後のデータとを第1の更新アドレステーブルに格納する第1更新ステップと、所定のタイミングにて、他拠点と接続して、他拠点における更新に係る更新アドレスと更新後のデータとを格納している第2の更新アドレステーブルを取得し、他拠点との接続を終了する取得ステップと、第1の更新アドレステーブル及び第2の更新アドレステーブルに同一の更新アドレスが格納されている場合、所定のルールに従って、当該更新アドレスに対応し且つ第1の更新アドレステーブル及び第2の更新アドレステーブルに格納される更新後のデータのいずれかを、当該更新アドレスに示され且つデータベース内の該当する領域に反映すべきデータとして特定するステップと、反映すべきデータとして第2の更新アドレステーブルに格納された更新後のデータが特定された場合、当該更新後のデータでデータベース内の該当する領域を更新する第2更新ステップとを含む。
このようにすれば、常時接続サービスが利用できない地域に拠点を有する場合であっても、例えばISDN(Integrated Services Digital Network)回線などの狭帯域回線を利用して拠点間のデータベースの同期を取ることができるようになる。また、例えば従量制の回線であれば、通信コストを最小限に抑えることができる。
また、第2更新ステップによりデータベース内の該当する領域の更新がなされた場合、データベース内の該当する領域の更新を指示したユーザに更新データの破棄を通知するステップをさらに含むようにしてもよい。
このようにすれば、自拠点と他拠点とにおいて同一箇所が更新され、他拠点のデータがデータベースに反映された場合には、ユーザに通知がなされるので、ユーザは再度更新することが可能となり、更新漏れを防止することができる。
また、所定のルールが、更新回数の多い拠点を優先するルール、更新対象数の多い拠点を優先するルール、更新日時の遅い拠点を優先するルール、更新アドレスの差分の小さい拠点を優先するルール、又は、予め設定された優先度の高い拠点を優先するルールである場合もある。
例えば、更新回数の多い拠点を優先するルール又は更新対象数の多い拠点を優先するルールに従って処理することで、更新頻度の多い拠点のデータを優先することができるようになる。また、更新日時の遅い拠点を優先するルールに従って処理することで、現状に近いデータをデータベースに反映することができるようになる。例えばデータベースに格納されているのが測定データであれば、最後に更新されたデータが現状に最も近いためである。さらに、更新アドレスの差分の小さい拠点を優先するルールに従って処理することで、複数領域に渡る更新を一連の更新としてデータベースに反映することができるようになる。例えば更新アドレスの差分が小さいほど連続して更新している可能性が高く、一連の更新としてデータベースに反映させた方がよいためである。また、予め設定された優先度の高い拠点を優先するルールに従って処理することで、例えば本社のデータを優先することができるようになる。
また、予め設定されたスケジュールに従って取得ステップ以降のステップを実行する場合もある。さらに、狭帯域回線が従量制の回線である場合もある。例えば、システムの運用状況に応じて、更新頻度が高い場合には実行間隔を短くし、更新頻度が低い場合には実行間隔を高くするようなスケジュールを設定すればよい。
なお、本発明に係るレプリ処理方法をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークを介してディジタル信号にて頒布される場合もある。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
本発明によれば、拠点毎にデータベースが設置され、各々のデータベースが更新されるシステムにおいて、常時接続サービスが利用できない地域に拠点を有する場合であっても、コストを抑えつつ、拠点間のデータベースの同期を取ることができるようになる。
本発明の他の側面によれば、データベースの更新漏れを防止することができるようになる。
図1は、本発明の実施の形態に係るシステム概要図である。 図2は、ユーザ情報格納部に格納されるデータの一例を示す図である。 図3は、更新アドレス表の一例を示す図である。 図4は、処理に必要なデータを登録する際の処理フローを示す図である。 図5は、データベースを更新する際の処理フローを示す図である。 図6は、本実施の形態における処理モードを説明するための図である。 図7は、処理モード(モード1)を説明するための図である。 図8は、処理モード(モード2)を説明するための図である。 図9は、処理モード(モード3)を説明するための図である。 図10は、処理モード(モード4)を説明するための図である。 図11は、処理モード(モード5)を説明するための図である。 図12は、レプリ処理の処理フローを示す図である。 図13は、同一アドレス更新処理の処理フローの第1の部分を示す図である。 図14は、同一アドレス更新処理の処理フローの第2の部分を示す図である。 図15は、コンピュータの機能ブロック図である。
図1に本発明の一実施の形態に係るシステム概要を示す。図1の例では、拠点Aと、拠点Bと、拠点Cとが、例えばISDN回線などの狭帯域回線により公衆回線網1に接続される。なお、ここでは、拠点Aと拠点B及び拠点Cの少なくともいずれかが、電話局から遠く離れた地域に所在し、例えばADSL(Asymmetric Digital Subscriber Line)などの常時接続ができないか、あるいは経済的理由により常時接続を選択できないものとする。
また、拠点Aには、ISDN回線に接続される管理装置3と、同期の対象となるデータを格納するデータベース5と、ユーザ情報(例えば、ユーザID、ユーザ名及びメールアドレス)を格納するユーザ情報格納部7と、データベース5を他拠点と同期させるためのレプリ処理に関する情報(例えば、スケジュール及び処理モード)を格納するレプリ情報格納部9と、後で説明する更新アドレス表を格納する更新アドレス表格納部11とが含まれる。データベース5、ユーザ情報格納部7、レプリ情報格納部9及び更新アドレス表格納部11は、管理装置3により管理される。
管理装置3は、ユーザからのデータ更新指示又はユーザ情報などの入力を受け付ける入力部31と、公衆回線網1を介して他拠点とデータのやりとりをする通信部33と、レプリ情報格納部9及び更新アドレス表格納部11に格納されたデータに基づきレプリ処理を実施するレプリ制御部35とを有する。さらにレプリ制御部35は、レプリ情報格納部9に格納されたスケジュールを参照し、レプリ処理の実施時間に達したか判断するスケジュール管理部351と、他拠点の更新アドレス表を取得する更新アドレス表取得部352と、更新アドレス表格納部11に格納された更新アドレス表と他拠点の更新アドレス表とに基づき、更新回数などを集計する集計処理部353と、レプリ情報格納部9に格納された処理モード及び集計処理部353の集計結果に基づき、優先すべき拠点を判定する判定部354と、ユーザからのデータ更新指示に従ってデータベース5を更新するDB更新処理部355と、ユーザ情報格納部7に格納されたメールアドレスに基づき、更新破棄通知を送信する更新破棄通知部356とを含む。
なお、図1の例では図示していないが、拠点B及び拠点Cは、拠点Aと同じ構成を有する。また、図1では、拠点A、拠点B及び拠点Cの3つの例を示しているが、拠点の数は3つに限定されない。以降では、拠点数が2つの場合を基本として説明する。
図2に、ユーザ情報格納部7に格納されるデータの一例を示す。図2の例では、ユーザ情報格納部7には、ユーザIDの列と、ユーザ名の列と、メールアドレスの列とが含まれる。
また、図3に、更新アドレス表格納部に格納される更新アドレス表の一例を示す。図3の例では、更新アドレス表には、更新アドレスの列と、操作内容の列と、旧データの列と、新データの列とが含まれる。更新アドレスの列には、更新対象の領域を指すアドレスが設定される。また、旧データの列には、更新前のデータが設定され、新データの列には、更新後のデータが設定される。なお、新データの列における「−」は、その領域のデータが削除されたことを表す。
次に、図4乃至図14を用いて、図1に示したシステムの処理について説明する。まず、図4を用いて、処理に必要なデータを登録する際の処理について説明する。例えば、ユーザは、管理装置3の表示装置に表示されたユーザ登録画面(図示せず)において、キーボードやマウスを操作して、ユーザ名及びメールアドレスを入力する。そして、管理装置3の入力部31は、ユーザ名及びメールアドレスの入力を受け付け、ユーザ情報格納部7に登録する(図4:ステップS1)。このとき、管理装置3は、所定の規則によりユーザIDを付与し、ユーザ名及びメールアドレスに対応付けてユーザ情報格納部7に登録する。なお、既に登録済みのユーザの場合には、本ステップをスキップする。
また、ユーザは、管理装置3の表示装置に表示されたスケジュール設定画面(図示せず)において、キーボードやマウスを操作して、レプリ処理のスケジュール(例えば、処理間隔など)を入力する。なお、レプリ処理のスケジュールについては、事前に、拠点間での合意が取れているものとする。そして、入力部31は、レプリ処理のスケジュールの入力を受け付け、レプリ情報格納部9に登録する(ステップS3)。なお、レプリ処理のスケジュールが既に設定済みであり、変更がなければ、本ステップをスキップする。
さらに、ユーザは、管理装置3の表示装置に表示された処理モード選択画面(図示せず)において、キーボードやマウスを操作して、予め用意された処理モードのうち、いずれかを選択する。なお、処理モードの詳細については、以下で説明する。また、いずれの処理モードを選択するかについても、事前に、拠点間での合意が取れているものとする。そして、入力部31は、処理モードの選択入力を受け付け、レプリ情報格納部9に格納する(ステップS5)。すなわち、各拠点において、レプリ処理のスケジュール及び処理モードについては、同一の設定がなされる。なお、ステップS1乃至ステップS5において、ユーザが、管理装置3に接続されるユーザ端末を操作して、入力及び選択を行う場合もある。この場合には、ユーザ情報、スケジュール及び処理モードなどが、ユーザ端末から管理装置3に送信される。
次に、図5を用いて、データベース5を更新する際の処理について説明する。まず、ユーザは、管理装置3の表示装置に表示されたDB編集画面(図示せず)において、キーボードやマウスを操作して、データベース5のデータ更新を指示する。なお、既にログインなどが完了して、ユーザID等のデータを管理装置3が保持しているものとする。そして、管理装置3の入力部31は、データ更新指示を受け付け、一旦記憶装置に格納する(図5:ステップS11)。そして、入力部31は、記憶装置に格納されたデータ更新指示に従ってデータベース5を更新する(ステップS13)。この際、入力部31は、更新前のデータを一旦記憶装置に格納する。また、入力部31は、更新対象の領域を指すアドレスと、更新前のデータと、更新後のデータと、当該更新を指示したユーザのユーザIDと、更新日時とを含むレコードを生成し、更新アドレス表格納部11に追加する(ステップS15)。更新日時には現在日時を設定する。なお、DB編集画面において、複数の領域の更新が指示された場合には、領域毎にレコードを生成する。また、ステップS11において、ユーザが、管理装置3に接続されるユーザ端末を操作して、データ更新を指示する場合もある。この場合には、データ更新指示が、ユーザ端末から管理装置3に送信される。
図5のような処理を実施することにより、自拠点におけるデータ更新に関する情報を更新アドレス表格納部11に登録することができる。
次に、図6乃至図14を用いて、本実施の形態におけるレプリ処理を説明する。具体的な処理フローを説明する前に、処理モードについて詳細に説明する。本実施の形態では、図6に示すような5つのモード(モード1乃至モード5)が用意され、レプリ処理において複数の拠点で同一領域を更新していると判断された場合、選択された処理モードに定義された優先条件に従って、どの拠点の更新内容を優先するかが決定される。以下、各処理モードについて説明する。
モード1は、前回のレプリ処理から今回のレプリ処理までの間において、更新回数の多い方を優先するモードである。例えば、図7に示すように、拠点Aにおいてアドレスα及びアドレスγの領域が更新(更新回数:3)され、拠点Bにおいてアドレスα及びアドレスβの領域が更新(更新回数:2)された場合、両拠点において更新がなされたアドレスαの領域については、更新回数の多い拠点Aの更新内容を優先する。なお、アドレスβ及びアドレスγの領域は、一方の拠点においてのみ更新がなされているので、その更新内容を反映すればよい。すなわち、拠点A及び拠点Bの各々において、アドレスα及びアドレスγの領域には、拠点Aの更新内容を反映し(アドレスγの領域については2回目の更新内容)、アドレスβの領域には、拠点Bの更新内容を反映することにより、データベース5の同期が取られる。なお、一方の拠点においてのみ更新がなされている領域については、他のモードでも同じである。
モード2は、前回のレプリ処理から今回のレプリ処理までの間において、更新対象数の多い方を優先するモードである。例えば、図8に示すように、拠点Aにおいてアドレスα及びアドレスγの領域が更新(更新対象数:2)され、拠点Bにおいてアドレスα、アドレスβ及びアドレスδの領域が更新(更新対象数:3)された場合、両拠点において更新がなされたアドレスαの領域については、更新対象数の多い拠点Bの更新内容を優先する。すなわち、拠点A及び拠点Bの各々において、アドレスγの領域には、拠点Aの更新内容を反映し(2回目の更新内容)、アドレスα、アドレスβ及びアドレスδの領域には、拠点Bの更新内容を反映することにより、データベース5の同期が取られる。
モード3は、更新日時を比較し、更新時間の遅い方を優先するモードである。例えば、図9に示すように、拠点Aにおいてアドレスα及びアドレスβの領域が更新され、拠点Bにおいてアドレスα及びアドレスγの領域が更新された場合、両拠点において更新がなされたアドレスαの領域については、更新日時の遅い拠点Bの更新内容を優先する。すなわち、拠点A及び拠点Bの各々において、アドレスβの領域には、拠点Aの更新内容を反映し、アドレスα及びアドレスγの領域には、拠点Bの更新内容を反映することにより(アドレスγの領域については2回目の更新内容)、データベース5の同期が取られる。
モード4は、更新アドレスの差分を比較し、更新アドレスの差分の小さい方を優先するモードである。例えば、図10に示すように、拠点Aにおいてアドレスα及びアドレスβの領域が更新(更新アドレスの差分=|アドレスα−アドレスβ|)され、拠点Bにおいてアドレスα及びアドレスγの領域が更新(更新アドレスの差分=|アドレスα−アドレスγ|)された場合、両拠点において更新がなされたアドレスαの領域については、更新アドレスの差分の小さい拠点Aの更新内容を優先する。なお、ここでは、アドレスα<アドレスβ<アドレスγとする。すなわち、拠点A及び拠点Bの各々において、アドレスα及びアドレスβの領域には、拠点Aの更新内容を反映し、アドレスγの領域には、拠点Bの更新内容を反映することにより、データベース5の同期が取られる。
モード5は、本社となる方(もしくは、拠点毎に設定された優先度の高い方)を優先するモードである。例えば、図11に示すように、拠点A(本社)においてアドレスα及びアドレスβの領域が更新され、拠点Bにおいてアドレスα及びアドレスγの領域が更新された場合、両拠点において更新がなされたアドレスαの領域については、拠点A(本社)の更新内容を優先する。すなわち、拠点A及び拠点Bの各々において、アドレスα及びアドレスβの領域には、拠点Aの更新内容を反映し、アドレスγの領域には、拠点Bの更新内容を反映することにより、データベース5の同期が取られる。
次に、図12乃至図14を用いて、本実施の形態におけるレプリ処理の具体的な処理フローを説明する。なお、ここでは、拠点Aと拠点Bとでデータベース5を同期させる場合に、拠点Aにおいて実施されるレプリ処理を例として説明する(以下、拠点Aを自拠点と呼ぶ)。まず、レプリ制御部35のスケジュール管理部351が、レプリ情報格納部9に格納されたスケジュールを参照し、レプリ処理の実施時間に達したか判断する。そして、レプリ処理の実施時間に達したと判断された場合、管理装置3は、図12に示すような処理を実施する。なお、スケジュールについては、拠点間で合意が取れているため、他拠点においても同時にレプリ処理が開始される。
まず、通信部33が、例えばダイヤルアップ接続などの通信接続処理を実施し、公衆回線網を介して他拠点と接続する(図12:ステップS21)。そして、レプリ制御部35の更新アドレス表取得部352が、他拠点の更新アドレス表格納部11から更新アドレス表を取得し、記憶装置に格納する(ステップS23)。この際、他拠点の更新アドレス表に格納された旧データ、操作内容、更新者情報を除いたデータ(すなわち、更新アドレス、新データ及び更新日時)を取得するようにしてもよい。また、選択された処理モードに応じて必要なデータを取得するようにしてもよい。その後、通信部33は、通信切断処理を実施し、他拠点との接続を終了する(ステップS25)。なお、拠点B(他拠点)においては、拠点A(自拠点)から更新アドレス表を取得することになるが、各々の拠点において、相手拠点の更新アドレス表の取得が完了した後に接続を終了する。通信接続及び通信切断処理については、従来の処理と変わらないため、これ以上述べない。
そして、レプリ制御部35の判定部354は、自拠点の更新アドレス表及び他拠点の更新アドレス表に同一の更新アドレスが含まれるか判断する(ステップS27)。自拠点の更新アドレス表及び他拠点の更新アドレス表に同一の更新アドレスが含まれると判断された場合(ステップS27:Yesルート)、すなわち、自拠点及び他拠点において同一領域を更新している場合、管理装置3は、同一アドレス更新処理を実施する(ステップS29)。なお、ここでは、自拠点の更新アドレス表及び他拠点の更新アドレス表の両方に含まれる更新アドレスを「同一アドレス」と呼ぶ。
同一アドレス更新処理については図13及び図14を用いて説明する。まず、レプリ制御部35の集計処理部353は、自拠点及び他拠点の更新アドレス表を基に集計処理を実施する(図13:ステップS41)。具体的には、各拠点について、更新アドレスをキーとして更新アドレス表に含まれるレコードをソートし、更新回数及び更新対象数を集計し、集計結果を記憶装置に格納する。
そして、レプリ制御部35の判定部354は、レプリ情報格納部9から処理モードを取得し(ステップS43)、処理モードが「モード1」に設定されているか判断する(ステップS45)。処理モードが「モード1」に設定されている場合(ステップS45:Yesルート)、判定部354は、記憶装置に格納された、自拠点及び他拠点の各々の更新回数を抽出し、比較する(ステップS47)。
自拠点の更新回数が他拠点の更新回数より多い場合(ステップS49:Yesルート)、以下で説明するステップS51乃至ステップS55の処理をスキップし、元の処理に戻る。すなわち、自拠点の更新内容をデータベース5に反映することになるが、上で説明したステップS13(図5)の処理においてデータベース5を既に更新しているため、ここでは特に処理は行わない。
一方、自拠点の更新回数が他拠点の更新回数以下の場合(ステップS49:Noルート)、レプリ制御部35のDB更新処理部355は、記憶装置に格納された他拠点の更新アドレス表に基づき、データベース5を更新する(ステップS51)。すなわち、データベース5内の同一アドレスの指す領域に、他拠点の更新内容を反映する。また、レプリ制御部35の更新破棄通知部356は、更新アドレス表格納部11を参照し、自拠点において同一アドレスを更新したユーザを特定する(ステップS53)。そして、レプリ制御部35の更新破棄通知部356は、特定ユーザに対応するメールアドレスをユーザ情報格納部7から取得し、特定ユーザによる更新内容が破棄された旨のメールを特定ユーザ宛てに送信する(ステップS55)。なお、更新対象を特定するための情報や更新日時などをメールに含めるようにしてもよい。そして、元の処理に戻る。
一方、ステップS45において、処理モードが「モード1」に設定されていなければ(ステップS45:Noルート)、レプリ制御部35の判定部354は、処理モードが「モード2」に設定されているか判断する(ステップS57)。処理モードが「モード2」に設定されている場合(ステップS57:Yesルート)、レプリ制御部35の判定部354は、記憶装置に格納された、自拠点及び他拠点の各々の更新対象数を抽出し、比較する(ステップS59)。
自拠点の更新対象数が他拠点の更新対象数より多い場合(ステップS61:Yesルート)、レプリ制御部35のDB更新処理部355は、上で説明したステップS51乃至ステップS55の処理をスキップし、元の処理に戻る。すなわち、自拠点の更新内容をデータベース5に反映することになるが、上で説明したステップS13(図5)の処理においてデータベース5を既に更新しているため、ここでは特に処理は行わない。
一方、自拠点の更新対象数が他拠点の更新対象数以下の場合(ステップS61:Noルート)、レプリ制御部35のDB更新処理部355は、上で説明したステップS51乃至ステップS55の処理を実施する。なお、ステップS51乃至ステップS55の処理は、上で説明した処理と変わらないため、ここでは説明を省略する。そして、元の処理に戻る。
一方、ステップS57において、処理モードが「モード2」に設定されていなければ(ステップS57:Noルート)、端子Aを介してステップS63(図14)の処理に移行する。
図14の処理の説明に移行して、端子Aの後、レプリ制御部35の判定部354は、処理モードが「モード3」に設定されているか判断する(図14:ステップS63)。処理モードが「モード3」に設定されている場合(ステップS63:Yesルート)、レプリ制御部35の判定部354は、自拠点及び他拠点の更新アドレス表に基づき、同一アドレスのデータを最後に更新したのが自拠点であるか判断する(ステップS65)。
同一アドレスのデータを最後に更新したのが自拠点である場合(ステップS65:Yesルート)、端子Bを介して図13の処理に戻り、上で説明したステップS51乃至ステップS55の処理をスキップして、元の処理に戻る。すなわち、自拠点の更新内容をデータベース5に反映することになるが、上で説明したステップS13(図5)の処理においてデータベース5を既に更新しているため、ここでは特に処理は行わない。
一方、同一アドレスのデータを最後に更新したのが他拠点である場合(ステップS65:Noルート)、端子Cを介して図13の処理に戻り、上で説明したステップS51乃至ステップS55の処理を実施する。なお、同一アドレスが複数存在する場合には、各同一アドレスについて、ステップS65の処理と、ステップ51乃至ステップ55の処理(端子Cを介して図13に戻った場合のみ)とを実施する。ステップS51乃至ステップS55の処理は、上で説明した処理と変わらないため、ここでは説明を省略する。そして、元の処理に戻る。
一方、ステップS63において、処理モードが「モード3」に設定されていなければ(ステップS63:Noルート)、レプリ制御部35の判定部354は、処理モードが「モード4」に設定されているか判断する(ステップS67)。処理モードが「モード4」に設定されている場合(ステップS67:Yesルート)、レプリ制御部35の判定部354は、自拠点及び他拠点の各々について、同一アドレスと他の更新アドレスとの差分を算出し、差分同士を比較する(ステップS69)。この際、差分が複数算出された場合には、自拠点において最も小さい差分と他拠点において最も小さい差分とを比較する。
自拠点における差分が他拠点における差分より小さい場合(ステップS71:Yesルート)、端子Bを介して図13の処理に戻り、上で説明したステップS51乃至ステップS55の処理をスキップして、元の処理に戻る。すなわち、自拠点の更新内容をデータベース5に反映することになるが、上で説明したステップS13(図5)の処理においてデータベース5を既に更新しているため、ここでは特に処理は行わない。
一方、自拠点における差分が他拠点における差分以上の場合(ステップS71:Noルート)、端子Cを介して図13の処理に戻り、上で説明したステップS51乃至ステップS55の処理を実施する。なお、同一アドレスが複数存在する場合には、各同一アドレスについて、ステップS69及びステップS71の処理と、ステップ51乃至ステップ55の処理(端子Cを介して図13に戻った場合のみ)とを実施する。ステップS51乃至ステップS55の処理は、上で説明した処理と変わらないため、ここでは説明を省略する。そして、元の処理に戻る。
一方、ステップS67において、処理モードが「モード4」に設定されていなければ(ステップS67:Noルート)、すなわち処理モードが「モード5」に設定されている場合には、レプリ制御部35の判定部354は、自拠点が本社であるか判断する(ステップS73)。なお、拠点毎に優先度が設定されている場合には、優先度を比較し、自拠点の優先度が他拠点の優先度より高いか判断する場合もある。
自拠点が本社である場合(ステップS73:Yesルート)、端子Bを介して図13の処理に戻り、上で説明したステップS51乃至ステップS55の処理をスキップして、元の処理に戻る。すなわち、自拠点の更新内容をデータベース5に反映することになるが、上で説明したステップS13(図5)の処理においてデータベース5を既に更新しているため、ここでは特に処理は行わない。
一方、自拠点が本社でない場合(ステップS73:Noルート)、端子Cを介して図13の処理に戻り、上で説明したステップS51乃至ステップS55の処理を実施する。なお、ステップS51乃至ステップS55の処理は、上で説明した処理と変わらないため、ここでは説明を省略する。そして、元の処理に戻る。
図12の説明に戻って、ステップS27において、自拠点の更新アドレス表及び他拠点の更新アドレス表に同一の更新アドレスが含まれないと判断された場合(ステップS27:Noルート)、ステップS29の処理をスキップする。
そして、レプリ制御部35の判定部354は、他拠点の更新アドレス表にのみ含まれる更新アドレスが存在するか判断する(ステップS31)。他拠点の更新アドレス表にのみ含まれる更新アドレスが存在すると判断された場合(ステップS31:Yesルート)、レプリ制御部35のDB更新処理部355は、記憶装置に格納された他拠点の更新アドレス表に基づき、データベース5を更新する(ステップS33)。すなわち、他拠点の更新内容をデータベース5に反映する。
なお、自拠点においてのみ更新がなされている領域については、上で説明したステップS13(図5)の処理において自拠点のデータベース5を既に更新しているため、ここでは特に処理は行わない。
一方、他拠点の更新アドレス表にのみ含まれる更新アドレスが存在しなければ、ステップS33の処理をスキップする。そして、レプリ制御部35は、更新アドレス表格納部11に格納された自拠点の更新アドレス表をリセットする(ステップS35)。そして、本処理を終了する。
以上のような処理を実施することにより、拠点毎にデータベースが設置され、各々のデータベースが更新されるシステムにおいて、常時接続サービスが利用できない地域に拠点を有する場合であっても、拠点間のデータベースの同期を取ることができる。また、公衆回線網1を利用するのは、他拠点の更新アドレス表を取得する間だけであるため、例えば従量制の回線であれば、通信コストを最小限に抑えることができる。さらに、自拠点と他拠点とで同一領域の更新がなされ、他拠点の更新内容をデータベース5に反映した場合には、自拠点において当該更新を指示したユーザに通知がなされるため、必要であれば、再度更新することが可能となる。
以上本発明の一実施の形態について説明したが、本発明はこれに限定されるものではない。例えば、上で説明した機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。管理装置3は、1台のコンピュータではなく複数台のコンピュータで実現するようにしても良い。
また、上で説明した各テーブルの構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
また、上では、5つの処理モードを説明したが、モードの数は5つに限定されるものではない。例えば、ユーザ毎に優先度を設定しておき、優先度の高いユーザの更新内容を優先するようなモードを用意してもよい。
また、上では、拠点Aと拠点Bとでデータベース5を同期させる例を説明したが、拠点数が3以上の場合もある。この場合、基本的な処理フローは変わらないが、2以上の他拠点において同一領域の更新がなされている場合には、ステップS31とステップS33の間に、レプリ情報格納部9に格納された処理モードに従って、いずれの他拠点の更新内容を自拠点のデータベース5に反映するか判断する処理を追加し、判断結果に基づき、ステップS33の処理を実施するようにすればよい。
なお、管理装置3は、図15のようなコンピュータ装置であって、メモリ2501(記憶装置)とCPU2503(処理装置)とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施の形態における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。本発明の実施の形態では、上で述べた処理を実施するためのアプリケーション・プログラムはリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。

Claims (6)

  1. 狭帯域回線を用いて拠点間の通信を行う場合におけるレプリ処理方法であって、
    ユーザからデータベースの更新指示を受け付けた場合、当該更新指示に従って前記データベースを更新すると共に、少なくとも更新対象の領域を示す更新アドレスと更新後のデータとを第1の更新アドレステーブルに格納する第1更新ステップと、
    所定のタイミングにて、他拠点と接続して、前記他拠点における更新に係る更新アドレスと更新後のデータとを格納している第2の更新アドレステーブルを取得し、前記他拠点との接続を終了する取得ステップと、
    前記第1の更新アドレステーブル及び前記第2の更新アドレステーブルに同一の前記更新アドレスが格納されている場合、所定のルールに従って、当該更新アドレスに対応し且つ前記第1の更新アドレステーブル及び前記第2の更新アドレステーブルに格納される前記更新後のデータのいずれかを、当該更新アドレスに示され且つ前記データベース内の該当する領域に反映すべきデータとして特定するステップと、
    前記反映すべきデータとして前記第2の更新アドレステーブルに格納された前記更新後のデータが特定された場合、当該更新後のデータで前記データベース内の該当する領域を更新する第2更新ステップと、
    を含み、
    前記所定のルールが、
    新アドレスの差分の小さい拠点を優先するルールである、
    コンピュータにより実行されるレプリ処理方法。
  2. 前記第2更新ステップにより前記データベース内の該当する領域の更新がなされた場合、前記データベース内の該当する領域の更新を指示した前記ユーザに更新データの破棄を通知するステップ
    をさらに含む請求項1記載のレプリ処理方法。
  3. 予め設定されたスケジュールに従って前記取得ステップ以降のステップを実行することを特徴とする請求項1記載のレプリ処理方法。
  4. 前記狭帯域回線が従量制の回線であることを特徴とする請求項1記載のレプリ処理方法。
  5. 狭帯域回線を用いて拠点間のデータベースの同期を取るためのプログラムであって、
    ユーザからデータベースの更新指示を受け付けた場合、当該更新指示に従って前記データベースを更新すると共に、少なくとも更新対象の領域を示す更新アドレスと更新後のデータとを第1の更新アドレステーブルに格納する第1更新ステップと、
    所定のタイミングにて、他拠点と接続して、前記他拠点における更新に係る更新アドレスと更新後のデータとを格納している第2の更新アドレステーブルを取得し、前記他拠点との接続を終了する取得ステップと、
    前記第1の更新アドレステーブル及び前記第2の更新アドレステーブルに同一の前記更新アドレスが格納されている場合、所定のルールに従って、当該更新アドレスに対応し且つ前記第1の更新アドレステーブル及び前記第2の更新アドレステーブルに格納される前記更新後のデータのいずれかを、当該更新アドレスに示され且つ前記データベース内の該当する領域に反映すべきデータとして特定するステップと、
    前記反映すべきデータとして前記第2の更新アドレステーブルに格納された前記更新後のデータが特定された場合、当該更新後のデータで前記データベース内の該当する領域を更新する第2更新ステップと、
    をコンピュータに実行させ、
    前記所定のルールが、
    新アドレスの差分の小さい拠点を優先するルールである、
    レプリ処理プログラム。
  6. 狭帯域回線を用いて拠点間のデータベースの同期を取るための管理装置であって、
    ユーザからデータベースの更新指示を受け付けた場合、当該更新指示に従って前記データベースを更新すると共に、少なくとも更新対象の領域を示す更新アドレスと更新後のデータとを第1の更新アドレステーブルに格納する第1更新手段と、
    所定のタイミングにて、他拠点と接続して、前記他拠点における更新に係る更新アドレスと更新後のデータとを格納している第2の更新アドレステーブルを取得し、前記他拠点との接続を終了する取得手段と、
    前記第1の更新アドレステーブル及び前記第2の更新アドレステーブルに同一の前記更新アドレスが格納されている場合、所定のルールに従って、当該更新アドレスに対応し且つ前記第1の更新アドレステーブル及び前記第2の更新アドレステーブルに格納される前記更新後のデータのいずれかを、当該更新アドレスに示され且つ前記データベース内の該当する領域に反映すべきデータとして特定する手段と、
    前記反映すべきデータとして前記第2の更新アドレステーブルに格納された前記更新後のデータが特定された場合、当該更新後のデータで前記データベース内の該当する領域を更新する第2更新手段と、
    を有し、
    前記所定のルールが、
    新アドレスの差分の小さい拠点を優先するルールである、
    管理装置。
JP2010500461A 2008-02-25 2008-02-25 レプリ処理方法、プログラム及び装置 Expired - Fee Related JP5080636B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2008/053140 WO2009107184A1 (ja) 2008-02-25 2008-02-25 レプリ処理方法、プログラム及び装置

Publications (2)

Publication Number Publication Date
JPWO2009107184A1 JPWO2009107184A1 (ja) 2011-06-30
JP5080636B2 true JP5080636B2 (ja) 2012-11-21

Family

ID=41015598

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010500461A Expired - Fee Related JP5080636B2 (ja) 2008-02-25 2008-02-25 レプリ処理方法、プログラム及び装置

Country Status (2)

Country Link
JP (1) JP5080636B2 (ja)
WO (1) WO2009107184A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6236888B2 (ja) * 2013-06-05 2017-11-29 富士通株式会社 プログラム、データ同期方法及びデータ同期装置
CN112288362B (zh) * 2020-10-28 2024-05-28 上海寻梦信息技术有限公司 包裹重投递方法、包裹投递方法以及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63278155A (ja) * 1987-05-11 1988-11-15 Fujitsu Ltd 分散デ−タベ−ス管理処理方式
JPH10149308A (ja) * 1996-11-19 1998-06-02 Sharp Corp データベース管理装置
JP2001142766A (ja) * 1999-11-10 2001-05-25 Nec Corp データベース交換システム
JP2001198378A (ja) * 1999-11-10 2001-07-24 Otani Kk ヘム三つ巻き縫いミシン

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63278155A (ja) * 1987-05-11 1988-11-15 Fujitsu Ltd 分散デ−タベ−ス管理処理方式
JPH10149308A (ja) * 1996-11-19 1998-06-02 Sharp Corp データベース管理装置
JP2001142766A (ja) * 1999-11-10 2001-05-25 Nec Corp データベース交換システム
JP2001198378A (ja) * 1999-11-10 2001-07-24 Otani Kk ヘム三つ巻き縫いミシン

Also Published As

Publication number Publication date
WO2009107184A1 (ja) 2009-09-03
JPWO2009107184A1 (ja) 2011-06-30

Similar Documents

Publication Publication Date Title
WO2019237586A1 (zh) 定时任务管理方法、装置、计算机设备及存储介质
US8255893B2 (en) Software management process, software management apparatus, and computer-readable medium storing software management program
JP2010086083A (ja) 編集装置、編集プログラム、および編集方法
JP2007286790A (ja) アプリケーション管理プログラム、アプリケーション管理方法およびアプリケーション管理装置
KR20070084302A (ko) 범용 데이터 동기화를 위한 시스템 및 방법
JP6086124B2 (ja) 情報処理端末、同期制御方法および同期制御プログラム
US20120191649A1 (en) Data Transfer Method and Server Computer System
US10044976B2 (en) Information processing apparatus, image display method, and communications system
US20120296946A1 (en) File management apparatus and file management apparatus controlling method
US20130223424A1 (en) Management methods and related electronic devices and machine-readable storage mediums using the same
US20150150105A1 (en) Communication management apparatus, program, communication management method, and communication management system
JP2002334006A (ja) 情報管理装置、情報管理プログラムおよびそのプログラムを記録した記録媒体
JP5080636B2 (ja) レプリ処理方法、プログラム及び装置
CN110113495A (zh) App的远程控制方法、装置、电子设备及系统
JPH11284683A (ja) データ転送装置とデータの転送方法、及び情報処理システム
CN110489483A (zh) 数据同步方法、装置、计算机设备以及存储介质
JP2014229088A (ja) データ処理システム、データ処理装置および記憶媒体
JP2002140213A (ja) 情報管理装置および方法、情報管理システム、ならびに、情報管理装置にインストールされるプログラムを記録したコンピュータ読み取り可能な記録媒体
CN102594874A (zh) 一种同步处理方法和装置
JP4829368B1 (ja) ファイル処理プログラム、装置及び方法
JP2005284395A (ja) 通信機器、通信システムの情報同期方法、通信機器の制御プログラム、記録媒体
JP4550723B2 (ja) データ編集装置とそのプログラム
JP2001027960A (ja) 文書管理システムおよび文書管理方法
JP2001075850A (ja) データキャッシュ処理方法及びキャッシュ装置
JP5811799B2 (ja) 情報処理装置及びスケジュール管理プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120726

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

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

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

Free format text: PAYMENT UNTIL: 20150907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees