JP4434838B2 - 分散データ等価方法とシステム、およびプログラム - Google Patents
分散データ等価方法とシステム、およびプログラム Download PDFInfo
- Publication number
- JP4434838B2 JP4434838B2 JP2004160356A JP2004160356A JP4434838B2 JP 4434838 B2 JP4434838 B2 JP 4434838B2 JP 2004160356 A JP2004160356 A JP 2004160356A JP 2004160356 A JP2004160356 A JP 2004160356A JP 4434838 B2 JP4434838 B2 JP 4434838B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- computer
- mode
- master
- information
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
以下にはまず、本明細書中で用いられる重要な用語の定義について説明する。
等価対象となる目的データに対して、単なる複製ではなく、オリジナルなデータ更新が可能で、また、そのオリジナルにデータ更新されたデータを参照可能な計算機である。通常は、ネットワークで接続されたシステムの中で特定の1台である。
等価対象となる目的データに対して、オリジナルなデータ更新はできず、マスター計算機でオリジナルにデータ更新されたデータの複製とその参照のみが可能な計算機である。すなわち、レプリカ計算機により取り扱われる目的データは、マスター計算機のオリジナルデータの複製のみによりデータ更新される。
1つのレプリカ計算機をマスター計算機に設定することである。一般的には、既にマスター計算機が存在する場合に、1つのレプリカ計算機をマスターに設定することを意味している。これまでマスターであった計算機を旧マスター、新たにマスターに設定した計算機を新マスターと呼ぶことがある。また、マスター計算機が故障等で失われて存在せず、レプリカ計算機のみが存在する場合に、1つのレプリカ計算機をマスターに設定することもマスター切替と呼ぶ。さらに、設定や起動のタイミング等で、マスター計算機が複数存在してしまったとき、複数のマスター計算機または他のレプリカ計算機の1つをマスターに設定することもマスター切替と呼ぶ。
等価対象となる目的データのデータ本体が格納されたファイルである。具体的には、計算機のハードディスクや主記憶メモリ等の記憶装置上に配置される。データファイルは、複数のアプリケーションからアクセス可能な共有領域に配置されて、各アプリケーションから更新・参照される。一般的には、データファイルは、データ本体と、更新シリアル番号を格納するデータ状態表から構成される。この場合、データ本体は、それぞれが、テーブル、リスト、キュー等のデータ構造を持つ1個または複数個のデータから構成される。以下の実施形態では、一例として、データ本体が、複数個の表形式データ(テーブル)から構成されている場合について説明している。また、本発明のデータファイルは、ハードディスク上のデータと後述するマッピングデータの両方を含む概念である。
データ本体をいくつかの単位に分けて、各単位毎にそれぞれの更新シリアル番号を格納した表である。具体的に、データ本体が、複数のテーブルから構成される場合、データ状態表は、各テーブルのシリアル番号を格納したものになる。また、テーブルをカラム別に分けて考えた場合、データ状態表は、テーブルとカラムのシリアル番号を格納したものになる。
データ更新される毎に増分される番号である。一般的には、データを構成する各単位毎にシリアル番号を振る。例えば、テーブルとカラムの単位でシリアル番号を振る場合に、更新があったならば、更新されたテーブルのシリアル番号と、そのテーブルの該当カラムのシリアル番号をそれぞれ更新する。
アプリケーション毎に設けられた一時的な記憶領域である。すなわち、各アプリケーションでなされたデータ更新内容をそれぞれ溜めておく領域である。
アプリケーションによる「データ更新」とは、データの書き換え、追加、削除の全てを含む概念である。このような操作を行うと、通常は、一旦キャッシュに溜められて、即座にデータファイルに変更が加えられることはない。1つのアプリケーションがデータ更新した場合、そのデータ更新結果のコミットが行われない段階では、他のアプリケーションにそのデータ更新結果は示されない。
キャッシュに溜められたデータ更新結果を、複数のアプリケーションが共有するデータファイルに反映することである。反映とは、データファイル中の特定のデータを更新対象とするデータ更新が行われた場合に、その特定データのデータ更新前のデータ値を、データ更新結果として得られたデータ値に変更することである。1つのアプリケーションがデータ更新した場合、そのデータ更新結果のコミットが行われた段階で初めて、他のアプリケーションにもデータ更新結果が示されることになる。また、コミットされた1回毎のデータはコミットデータと呼ぶが、コミットと略称することもある。
計算機の状態である。少なくとも、マスターモードとレプリカモードがある。以下の実施形態では、マスターモードである「マスター運用中」、レプリカモードである「レプリカ運用中」に加えて、「マスター遷移中」、「レプリカ遷移中」のモードを用いている。また、説明の簡略化の観点から、概して、自計算機または他計算機のモードを示すモード情報を「モード」と略している。
少なくとも自計算機のモードを維持することであり、必要であれば、特定の計算機をマスター計算機に維持することも含む。さらに、全計算機のモードを維持する場合もあり得る。基本的なモード管理は、他計算機からのモード情報を受信して、自計算機のモードを変更したり、モード変更後にその変更後のモード情報を送信したりするものである。また、モード情報を受信したり、自計算機のモードを変更したりした場合は、必要に応じて、レプリケーションやリトリーブを連携して働かせることも行う。
モード管理表には少なくとも自計算機のモード情報が格納されている。実際には、モード管理、リトリーブ、レプリケーションの機能に利用するために、モード管理表には、自計算機が認識するマスター計算機名(名称またはIPアドレス等のユニークな識別子)や、モード送受信をやり取りした他計算機のモードを格納することもある。
計算機のモードを変更することである。モードを変更した際に、必要があれば、モード管理の一部として変更後のモード情報を送信する。
1つの計算機から、データファイルの全体または一部を一括してコピーすることである。例えば、テーブルデータファイルならば、1つのテーブル全体をコピーする操作や、テーブルの一部のカラムをコピーする操作がリトリーブである。通常のリトリーブにおいては、コピーを受けようとする側がリトリーブ要求を発して、要求を受けた側が必要な部分(例えば、テーブルやカラム)を送信する。送信は1対1となる。
データファイル中のデータ本体のリトリーブ送受信する単位ごとに、当該データがリトリーブのどのような状態にあるかを示す情報を格納した表である。例えば、状態としては、「リトリーブ中」、「リトリーブ完了」などの状態がある。テーブルデータの場合、リトリーブ送受信する単位としては、カラム単位、テーブル単位等が考えられる。この場合、リトリーブ状態表は、カラム毎の状態、テーブル毎の状態等が記述された表となる。
マスター計算機においてデータファイルが更新された際に、更新内容を1つまたは複数のレプリカ計算機に送信することである。通常は、同一の送信内容を複数のレプリカ計算機に同時に送る。送信される更新内容をレプリケーションデータと呼ぶ。また、レプリカ計算機において自計算機がレプリケーションデータの受信対象であることをマスター計算機に通知することをレプリケーション接続と呼ぶ。レプリカ計算機においては、このレプリケーション接続を行うことにより、マスター計算機からのレプリケーションデータの受信が可能となる。
レプリケーションの送受信側において、それぞれ送受信相手側の計算機を示す情報を格納した表である。すなわち、レプリケーションの送信側では、レプリケーション送信先計算機名を格納し、レプリケーションの受信側では、レプリケーション送信元計算機名を格納し、送信側でありかつ受信側でもある場合は、両方を格納した表である。
複数のコミットデータを一体的にまとめて扱うことである。まとめられたものをマージデータと呼ぶ。逆に、マージデータを元の複数のコミットに分けることをマージ展開と呼ぶ。
マージデータごとに振られた番号である。以下の実施形態では、マージ展開処理においてマージ番号の抜けをチェックすることで、リトリーブ要求を発するきっかけとなる。
複数のアプリケーションが共有するデータファイルの実現方法の1つである。データベースの中身を固定的なハードディスク上に配置し、データベースを起動した際に、ハードディスクにあるデータを主記憶メモリ上のプロセス空間に映したデータである。主記憶メモリ上のプロセス空間に映されたマッピングデータを更新すれば、(OSの実装によるが)ハードディスク上のデータについても直ちに更新される。また、マッピングデータを参照すれば、ハードディスク上のデータを読み出したことになる。
複数の計算機に対して同時一斉に送信を行うことである。受信側の受信状況に関わらず送信する一方的な通信である。複数の計算機が特定のグループである場合と不特定多数である場合がある。IP網におけるマルチキャスト通信マルチブロードキャスト通信は、一斉同報通信の一例である。
各計算機上で動作するアプリケーションであるが、特に、分散データ等価システムのデータ処理やモード処理を発生させるシステム外部の外部アプリケーションを示している。
図1は、本発明を適用した一つの実施形態に係る分散データ等価システム(以下には、本システムと略称する)を構成する各計算機を示すブロック構成図である。この図1に示すように、各計算機は、分散データ等価処理を実現するための構成要素として、データベース11、データ処理部12、マージデータ処理部13、レプリケーション処理部14、モード処理部15、リトリーブ処理部16、等を備えている。また、データ操作アプリケーション17とモード設定アプリケーション18は、各計算機上で動作して本システムのデータ処理やモード処理を発生させるシステム外部の外部アプリケーションである。なお、本システムの各構成要素11〜16の機能および構成は、次の通りである。
データベース11のデータファイル111には、表形式データファイルとデータ状態表という2種類のデータが格納されている。
更新データキャッシュ124は、図5に示すように、変更されたデータのテーブル名称、行番号、列番号、シリアル番号値、変更後データ値などにより管理されており、マスター計算機上で動作するデータ操作アプリケーション17に対して個別に作成・管理される。マスター計算機において、データ操作アプリケーション17が複数動作する場合には、各データ操作アプリケーション17に対して更新データキャッシュ124がそれぞれ作成され、データ更新処理部122によりデータの追加、変更、消去、データ参照処理部121によりデータの参照が行われる。
更新データマージ部131は、マスター計算機として動作している自計算機のデータ更新処理部122から更新データキャッシュ124の内容の通知を受けた場合に、今回通知された更新データキャッシュ124の内容と、以前に通知された一時保存中の更新データキャッシュ内容とのマージ処理を行う。ここで、以前に通知された一時保存中の更新データキャッシュ内容が存在する場合には、その更新データキャッシュ内容とのマージを行い、そのような一時保存中の更新データキャッシュ内容が存在しない場合には、今回通知された更新データキャッシュ内容を一時保存する。
レプリケーション管理表143には、図6に示すように、自計算機がマスター計算機として動作している場合には、データ等価対象である1または複数のレプリカ計算機の情報が格納されており、また、自計算機がレプリカ計算機として動作している場合には、マスター計算機の情報が格納されている。
本実施形態において、モード管理表154は、図7に示すように、「自計算機モード情報」と「マスター計算機情報」から構成されている。「自計算機モード情報」には自計算機のモード情報が格納される。「マスター計算機情報」には、ネットワーク内にマスター計算機が存在する場合に、そのマスター計算機の情報が格納される。
リトリーブ状態表165には、図11に示すように、各テーブルのリトリーブ状態が格納されている。
図12は、図1〜図3に示す分散データ等価システムの各計算機による初期起動からシステム停止に至るまでの動作概要を示すフローチャートである。
図13は、図12に示す初期起動処理(S1201)の処理手順の概要を示すフローチャートである。この処理は、モード管理部151を処理主体とし、レプリケーション管理部141およびリトリーブ要求送信部163と連携して行われる。
図15は、図12に示す自計算機マスター設定時のモード変更処理(S1204)の処理手順の概要を示すフローチャートである。この処理は、モード管理部151を処理主体とし、レプリケーション管理部141およびリトリーブ要求受理部161と連携して行われる。
図16、図17は、図12に示す他計算機マスター設定時のモード変更処理(S1207)の処理手順の概要を示すフローチャートであり、図16は、「レプリカ遷移中」モードに遷移するまでの前半部分、図17は、その後「レプリカ運用中」モードに遷移するまでの後半部分を示している。この処理は、モード管理部151を処理主体とし、レプリケーション管理部141およびリトリーブ要求送信部163と連携して行われる。
図18は、図1〜図3に示す分散データ等価システムにおいて、マスター計算機のデータ変更処理からレプリカ計算機のデータ反映処理に至るまでの分散データ等価処理手順の概要を示すフローチャートである。
図19は、図3に示すマスター計算機のデータ処理部12によるデータ変更処理手順の概要を示すフローチャートである。
図20は、図3に示すマスター計算機のデータ処理部12による変更内容のコミット処理手順の概要を示すフローチャートである。
図21は、図3に示すマスター計算機のマージデータ処理部13によるコミットデータのマージ処理手順の概要を示すフローチャートである。
図22は、図3に示すマスター計算機とレプリカ計算機のレプリケーション処理部14によるレプリケーション送信処理手順とレプリケーション受信処理手順の概要を示すフローチャートである。
図23、図24は、図3に示すレプリカ計算機のマージデータ処理部13とデータ処理部12によるマージデータ展開処理手順とデータ反映処理手順の概要をそれぞれ示すフローチャートである。
以上のような本実施形態によれば、次のような効果が得られる。
なお、本発明は、前述した実施形態に限定されるものではなく、本発明の範囲内で他にも多種多様な変形例が実施可能である。例えば、図面に示したシステム構成や計算機の機能構成は、一例にすぎず、具体的なシステム構成や機能構成は適宜選択可能である。また、図面に示したデータ構成も一例にすぎず、具体的なデータ構成は適宜選択可能である。同様に、図面に示したフローチャートは、一例にすぎず、具体的な動作手順や各処理の詳細は適宜選択可能である。
12…データ処理部
13…マージデータ処理部
14…レプリケーション処理部
15…モード処理部
16…リトリーブ処理部
17…データ操作アプリケーション
18…モード設定アプリケーション
111…データファイル
112…マッピングデータ
121…データ参照処理部
122…データ更新処理部
123…受信データ反映部
123…更新データキャッシュ
131…更新データマージ部
132…マージデータ展開部
141…レプリケーション管理部
142…レプリケーション通信部
143…レプリケーション管理表
151…モード管理部
152…モード送信部
153…モード受信部
154…モード管理テーブル
161…リトリーブ要求受理部
162…リトリーブデータ送信部
163…リトリーブ要求送信部
164…リトリーブデータ受信部
165…リトリーブ状態表
Claims (14)
- ネットワークを介して接続された複数の計算機に目的データをそれぞれ格納し、特定の1つの計算機をマスターモード、その他の各計算機をレプリカモードで運用することによりマスター計算機およびレプリカ計算機としてそれぞれ動作させ、マスター計算機でデータ更新操作により目的データがオリジナルに更新された場合に、各レプリカ計算機の目的データをマスター計算機と同一内容に等価する分散データ等価方法において
前記各計算機は、
複数のアプリケーションからアクセス可能な共有領域に前記目的データを格納するデータファイルを配置してなるデータベースを備え、
前記複数の計算機のうち、どの計算機が前記マスター計算機であるかを特定するモード情報と自計算機のモードを特定するモード情報を含むモード情報を管理して、他計算機との間でモード情報の送受信を行うと共に、モード切替が必要な場合にはモード遷移および予め決められたモード遷移後の動作を実行するモード処理ステップを行い、
前記マスター計算機により、
前記データ更新操作の結果を更新キャッシュに一旦格納すると共に、コミット要求に応じて更新キャッシュの内容を1個の更新内容コミットデータとし、固有のデータ特定情報を付加して前記データファイルに格納するデータ更新ステップと、
予め設定されたマージ併合条件に従って決められる1個または複数個の前記更新内容コミットデータをマージしてマージデータを生成する更新データマージステップと、
前記モード情報に基づき、等価対象となる前記各レプリカ計算機を示す送信先情報を管理して、この送信先情報に基づき各レプリカ計算機に対して前記マージデータをレプリケーションデータとして送信するレプリケーション送信ステップを行い、
前記レプリカ計算機により、
前記モード情報に基づき、レプリケーションデータの送信元となる前記マスター計算機を示す送信元情報を管理して、この送信元情報に基づきマスター計算機からのレプリケーションデータを受信するレプリケーション受信ステップと、
前記レプリケーションデータである前記マージデータを、元の1個または複数個の前記更新内容コミットデータに展開するマージデータ展開ステップと、
展開された前記更新内容コミットデータを、各更新内容コミットデータ毎に、そのデータのリトリーブ状態を示すリトリーブ状態情報に基づき、前記データファイルに反映するか否か判定して、反映すると判定した更新内容コミットデータをその前記データ特定情報と共にデータファイルに反映する受信データ反映ステップを行い、
前記レプリカ計算機により、
自計算機と前記マスター計算機の前記データファイル間の差異をなくすためにデータファイルの一部または全部を一括してコピーするリトリーブに必要なリトリーブデータを要求するリトリーブ要求をマスター計算機に送信するリトリーブ要求送信ステップを行い、
前記マスター計算機により、
前記レプリカ計算機からの前記リトリーブ要求の受信に応答して前記リトリーブデータをそのレプリカ計算機に送信するリトリーブデータ送信ステップを行い、
前記レプリカ計算機により、
前記マスター計算機から前記リトリーブデータを受信した場合に、前記リトリーブを実行して前記リトリーブ状態情報を更新するリトリーブデータ受信ステップを行う、
ことを特徴とする分散データ等価方法。 - 前記データファイルは、前記目的データのデータ本体として、行と列から構成される表形式データを格納すると共に、その表形式データまたはそれを構成する列、行のいずれかの単位のデータを特定するデータ特定情報とそれぞれに割り当てられたシリアル番号から構成されるデータ状態表を格納しており、
前記リトリーブ状態情報は、前記表形式データまたはそれを構成する列、行のいずれかの単位の前記データを特定するデータ特定情報とそれぞれの前記リトリーブ状態から構成されるリトリーブ状態表であり、
前記リトリーブデータは、前記データ状態表を比較した結果として得られる前記表形式データまたはそれを構成する列、行のいずれかの単位のデータである、
ことを特徴とする請求項1に記載の分散データ等価方法。 - 前記各計算機で管理される前記モード情報は、どの計算機が前記マスター計算機であるかを特定するマスター計算機情報と自計算機のモードを特定する自計算機モード情報を含むモード管理情報として管理され、
前記各計算機による前記モード処理ステップは、
自計算機の初期起動時において、他計算機がマスター計算機であることを特定するモード情報を受信した場合に、前記マスター計算機情報を当該他計算機に設定して維持すると共に、前記自計算機モード情報を前記レプリカモードに設定して維持する初期起動ステップと、
前記初期起動ステップ後に、自計算機上で前記アプリケーションによるマスター設定が行われた場合に、前記マスター計算機情報を自計算機に設定して維持し、かつ、前記自計算機モード情報を前記マスターモードに設定して維持すると共に、他計算機に自計算機がマスター計算機であることを特定するモード情報を送信するマスターモード変更ステップと、
前記初期起動ステップ後に、他計算機で前記アプリケーションによるマスター設定が行われた結果、当該他計算機がマスター計算機であることを特定するモード情報を受信した場合に、前記マスター計算機情報を当該他計算機に設定して維持すると共に、前記自計算機モード情報を前記レプリカモードに設定して維持するレプリカモード変更ステップを含む、
ことを特徴とする請求項1または請求項2に記載の分散データ等価方法。 - 前記初期起動ステップおよび前記レプリカモード変更ステップの各々は、
他計算機がマスター計算機であることを特定するモード情報を受信した場合に、前記マスター計算機情報を当該他計算機に設定して維持するステップと、
前記レプリケーション受信ステップを開始可能にするステップと、
前記マスター計算機に対して前記リトリーブ要求送信ステップと前記リトリーブデータ受信ステップを行うことにより、そのマスター計算機と前記データファイル中のデータを一括等価するステップと、
前記自計算機モード情報を前記レプリカモードに設定して維持するステップを含み、
前記マスターモード変更ステップは、
自計算機上で前記アプリケーションによるマスター設定が行われた場合に、前記マスター計算機情報または他計算機からのモード情報の受信に基づき、前記マスター計算機として動作中の他計算機の有無を確認するステップと、
前記マスター計算機として動作中の他計算機が存在していないことを確認した場合に、前記マスター計算機情報を自計算機に設定して維持するステップと、
前記レプリケーション送信ステップを開始可能にするステップと、
前記リトリーブデータ送信ステップを開始可能にするステップと、
前記自計算機モード情報を前記マスターモードに設定して維持するステップと、
他計算機に自計算機が前記マスター計算機であることを特定するモード情報を送信するステップを含む、
ことを特徴とする請求項3に記載の分散データ等価方法。 - 前記各計算機による前記モード処理ステップは、前記マスターモードと前記レプリカモードに加えて、マスターモードまたはレプリカモードになる途中の状態を、遷移中モードとして取り扱い、
前記マスターモード変更ステップは、
前記自計算機モード情報を前記遷移中モードに一旦設定して維持するステップと、遷移中モードから前記マスターモードに変更して維持するステップを含み、
前記レプリカモード変更ステップは、
前記自計算機モード情報を前記遷移中モードに一旦設定して維持するステップと、遷移中モードから前記マスターモードに変更して維持するステップを含む、
ことを特徴とする請求項3または請求項4に記載の分散データ等価方法。 - 前記各計算機による前記モード処理ステップは、前記マスターモードと前記レプリカモードに加えて、マスターモードになる途中の状態とレプリカモードになる途中の状態を、マスター遷移中モードおよびレプリカ遷移中モードとしてそれぞれ取り扱い、
前記マスターモード変更ステップは、
前記自計算機モード情報を前記マスター遷移中モードに一旦設定して維持するステップと、マスター遷移中モードから前記マスターモードに変更して維持するステップを含み、
前記レプリカモード変更ステップは、
前記自計算機モード情報を前記レプリカ遷移中モードに一旦設定して維持するステップと、レプリカ遷移中モードから前記マスターモードに変更して維持するステップを含む、
ことを特徴とする請求項5に記載の分散データ等価方法。 - 前記マスターモード変更ステップは、
自計算機上で前記アプリケーションによるマスター設定が行われた場合に、前記自計算機モード情報を前記マスター遷移中モードに設定して維持するステップと、
他計算機に自計算機が前記マスター遷移中モードであることを示すマスター遷移中情報を送信するステップと、
前記マスター計算機情報または他計算機からのモード情報の受信に基づき、前記マスター計算機として動作中の他計算機の有無を確認するステップと、
前記マスター計算機として動作中の他計算機が存在していないことを確認した場合に、前記マスター計算機情報を自計算機に設定して維持するステップと、
前記レプリケーション送信ステップを開始可能にするステップと、
前記リトリーブデータ送信ステップを開始可能にするステップと、
前記自計算機モード情報を前記マスターモードに設定して維持するステップと、
他計算機に自計算機が前記マスターモードで前記マスター計算機として動作していることを示すマスター運用中情報を送信するステップを含み、
前記レプリカモード変更ステップは、
他計算機から前記マスター遷移中情報を受信した場合に、前記自計算機モード情報を前記レプリカ遷移中モードに設定して維持するステップと、
他計算機から前記マスター運用中情報を受信した場合に、前記マスター計算機情報を当該他計算機に設定して維持するステップと、
前記レプリケーション受信ステップを開始可能にするステップと、
前記マスター計算機に対して前記リトリーブ要求送信ステップと前記リトリーブデータ受信ステップを行うことにより、そのマスター計算機と前記データファイル中のデータを一括等価するステップと、
前記自計算機モード情報を前記レプリカモードに設定して維持するステップを含む、
ことを特徴とする請求項6に記載の分散データ等価方法。 - 前記初期起動ステップは、
自計算機の初期起動時において、他計算機がマスター計算機であることを特定するモード情報が得られない場合に、前記自計算機モード情報を前記遷移中モードまたは前記レプリカ遷移中モードに設定して維持するステップを含む、
ことを特徴とする請求項5乃至請求項7のいずれかに記載の分散データ等価方法。 - 前記初期起動ステップおよび前記レプリカモード変更ステップの各々は、
前記マスター計算機に対して前記リトリーブ要求送信ステップと前記リトリーブデータ受信ステップを行うことにより、そのマスター計算機と前記データファイル中のデータを一括等価するステップを含み、
前記リトリーブ要求送信ステップまたは前記リトリーブデータ送信ステップは、
前記リトリーブ要求について要求元である前記レプリカ計算機と要求先である前記マスター計算機の前記データファイル中に格納された前記データ特定情報の比較を行い、その比較結果に応じて前記リトリーブデータを特定するデータ特定情報比較ステップを含む、
ことを特徴とする請求項3乃至請求項5のいずれかに記載の分散データ等価方法。 - 前記リトリーブ要求送信ステップは、前記マスター計算機に前記リトリーブ要求を送信する場合に、自計算機の前記データ特定情報をそのマスター計算機に送信するステップを含み、
前記リトリーブデータ送信ステップは、前記リトリーブ要求元である前記レプリカ計算機から送信された前記リトリーブ要求と前記データ特定情報を受信した場合に、前記データ特定情報比較ステップとして、そのデータ特定情報と自計算機のデータ特定情報の比較を行い、その比較結果に応じて前記リトリーブデータを特定するステップを含む、
ことを特徴とする請求項9に記載の分散データ等価方法。 - 前記リトリーブ要求送信ステップは、
前記マスター計算機に前記リトリーブ要求を送信する前に、そのマスター計算機の前記データ特定情報の送信要求を送信するステップと、
前記マスター計算機から前記データ特定情報の送信要求に応じたデータ特定情報を受信した場合に、前記データ特定情報比較ステップとして、そのデータ特定情報と自計算機のデータ特定情報の比較を行い、その比較結果に応じて前記リトリーブデータを特定するステップを含み、
前記リトリーブデータ送信ステップは、前記レプリカ計算機から送信された前記データ特定情報の送信要求を受信した場合に、自計算機の前記データ特定情報をそのレプリカ計算機に送信するステップを含む、
ことを特徴とする請求項9に記載の分散データ等価方法。 - 前記更新データマージステップは、
前記マージ併合条件として、前回のマージ後に得られた前記更新内容コミットデータの総数、総データサイズ、前回のマージからの経過時間、を含む複数の条件項目の中から選択された単数または複数の条件項目の組み合わせから構成されたマージ併合条件が成立するか否かを判定するステップと、
前記マージ併合条件が成立した時点で、マージする前記更新内容コミットデータの数を決定するステップを含む、
ことを特徴とする請求項1乃至請求項11のいずれかに記載の分散データ等価方法。 - ネットワークを介して接続された複数の計算機に目的データをそれぞれ格納し、特定の1つの計算機をマスターモード、その他の各計算機をレプリカモードで運用することによりマスター計算機およびレプリカ計算機としてそれぞれ動作させ、マスター計算機でデータ更新操作により目的データがオリジナルに更新された場合に、各レプリカ計算機の目的データをマスター計算機と同一内容に等価する分散データ等価システムにおいて、
前記各計算機は、
複数のアプリケーションからアクセス可能な共有領域に前記目的データを格納するデータファイルを配置してなるデータベースと、
前記複数の計算機のうち、どの計算機が前記マスター計算機であるかを特定する情報と自計算機のモードを特定する情報を含むモード情報を管理して、モード切替が必要な場合にはモード遷移および予め決められたモード遷移後の動作を実行すると共に、他計算機との間でモード情報の送受信を行うモード処理部と、
前記マスターモード時に、前記データ更新操作の結果を更新キャッシュに一旦格納すると共に、コミット要求に応じて更新キャッシュの内容を1個の更新内容コミットデータとし、固有のデータ特定情報を付加して前記データファイルに格納するデータ更新処理部と、
前記マスターモード時に、予め設定されたマージ併合条件に従って決められる1個または複数個の前記更新内容コミットデータをマージしてマージデータを生成する更新データマージ部と、
前記マスターモード時に、前記モード情報に基づき、等価対象となる前記各レプリカ計算機を示す送信先情報を管理して、この送信先情報に基づき各レプリカ計算機に対して前記マージデータをレプリケーションデータとして送信し、前記レプリカモード時に、モード情報に基づき、レプリケーションデータの送信元となる前記マスター計算機を示す送信元情報を管理して、この送信元情報に基づきマスター計算機からのレプリケーションデータを受信するレプリケーション処理部と、
前記レプリカモード時に、前記レプリケーションデータである前記マージデータを、元の1個または複数個の前記更新内容コミットデータに展開するマージデータ展開部と、
前記レプリカモード時に、展開された前記更新内容コミットデータを、各更新内容コミットデータ毎に、そのデータのリトリーブ状態を示すリトリーブ状態情報に基づき、前記データファイルに反映するか否か判定して、反映すると判定した更新内容コミットデータをその前記データ特定情報と共にデータファイルに反映する受信データ反映部と、
前記レプリカモード時に、自計算機と前記マスター計算機の前記データファイル間の差異をなくすためにデータファイルの一部または全部を一括してコピーするリトリーブに必要なリトリーブデータを要求するリトリーブ要求をマスター計算機に送信すると共に、マスター計算機からリトリーブデータを受信した場合に、リトリーブを実行して前記リトリーブ状態情報を更新し、前記マスターモード時に、前記レプリカ計算機からのリトリーブ要求の受信に応答してリトリーブデータをそのレプリカ計算機に送信するリトリーブ処理部を備えている、
ことを特徴とする分散データ等価システム。 - ネットワークを介して接続された複数の計算機に目的データをそれぞれ格納し、特定の1つの計算機をマスターモード、その他の各計算機をレプリカモードで運用することによりマスター計算機およびレプリカ計算機としてそれぞれ動作させ、マスター計算機でデータ更新操作により目的データがオリジナルに更新された場合に、各レプリカ計算機の目的データをマスター計算機と同一内容に等価する分散データ等価システムを構築するために各計算機に適用される分散データ等価システム構築用プログラムにおいて、
前記計算機が、複数のアプリケーションからアクセス可能な共有領域に前記目的データを格納するデータファイルを配置してなるデータベースを備えている場合に、この計算機に、
前記複数の計算機のうち、どの計算機が前記マスター計算機であるかを特定する情報と自計算機のモードを特定する情報を含むモード情報を管理して、モード切替が必要な場合にはモード遷移および予め決められたモード遷移後の動作を実行すると共に、他計算機との間でモード情報の送受信を行うモード処理機能と、
前記マスターモード時に、前記データ更新操作の結果を更新キャッシュに一旦格納すると共に、コミット要求に応じて更新キャッシュの内容を1個の更新内容コミットデータとし、固有のデータ特定情報を付加して前記データファイルに格納するデータ更新処理機能と、
前記マスターモード時に、予め設定されたマージ併合条件に従って決められる1個または複数個の前記更新内容コミットデータをマージしてマージデータを生成する更新データマージ機能と、
前記マスターモード時に、前記モード情報に基づき、等価対象となる前記各レプリカ計算機を示す送信先情報を管理して、この送信先情報に基づき各レプリカ計算機に対して前記マージデータをレプリケーションデータとして送信し、前記レプリカモード時に、モード情報に基づき、レプリケーションデータの送信元となる前記マスター計算機を示す送信元情報を管理して、この送信元情報に基づきマスター計算機からのレプリケーションデータを受信するレプリケーション処理機能と、
前記レプリカモード時に、前記レプリケーションデータである前記マージデータを、元の1個または複数個の前記更新内容コミットデータに展開するマージデータ展開機能と、
前記レプリカモード時に、展開された前記更新内容コミットデータを、各更新内容コミットデータ毎に、そのデータのリトリーブ状態を示すリトリーブ状態情報に基づき、前記データファイルに反映するか否か判定して、反映すると判定した更新内容コミットデータをその前記データ特定情報と共にデータファイルに反映する受信データ反映機能と、
前記レプリカモード時に、自計算機と前記マスター計算機の前記データファイル間の差異をなくすためにデータファイルの一部または全部を一括してコピーするリトリーブに必要なリトリーブデータを要求するリトリーブ要求をマスター計算機に送信すると共に、マスター計算機からリトリーブデータを受信した場合に、リトリーブを実行して前記リトリーブ状態情報を更新し、前記マスターモード時に、前記レプリカ計算機からのリトリーブ要求の受信に応答してリトリーブデータをそのレプリカ計算機に送信するリトリーブ処理機能、
を実現させることを特徴とする分散データ等価システム構築用プログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004160356A JP4434838B2 (ja) | 2004-05-28 | 2004-05-28 | 分散データ等価方法とシステム、およびプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004160356A JP4434838B2 (ja) | 2004-05-28 | 2004-05-28 | 分散データ等価方法とシステム、およびプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2005339411A JP2005339411A (ja) | 2005-12-08 |
| JP4434838B2 true JP4434838B2 (ja) | 2010-03-17 |
Family
ID=35492882
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004160356A Expired - Fee Related JP4434838B2 (ja) | 2004-05-28 | 2004-05-28 | 分散データ等価方法とシステム、およびプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4434838B2 (ja) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7940908B2 (en) * | 2006-02-23 | 2011-05-10 | Qualcomm Incorporated | Sharing profile data between telecommunication devices |
| JP4989295B2 (ja) * | 2007-04-27 | 2012-08-01 | 三菱電機株式会社 | データベース等価システムおよびデータベース等価方法 |
| JP5366184B2 (ja) * | 2008-09-12 | 2013-12-11 | 株式会社Nec情報システムズ | データ記憶システム、データ記憶方法 |
| JP4871980B2 (ja) * | 2009-08-10 | 2012-02-08 | 株式会社日立製作所 | データ処理方法とデータ処理プログラムおよびデータ処理システム |
| JP2011253500A (ja) * | 2010-06-04 | 2011-12-15 | Mitsubishi Electric Corp | データ配布システム、分散監視制御システム及びデータ配布方法 |
| JP6088450B2 (ja) * | 2014-02-18 | 2017-03-01 | 日本電信電話株式会社 | 冗長化データベースシステム、データベース装置及びマスタ交代方法 |
-
2004
- 2004-05-28 JP JP2004160356A patent/JP4434838B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2005339411A (ja) | 2005-12-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110502507B (zh) | 一种分布式数据库的管理系统、方法、设备和存储介质 | |
| AU2019236685B2 (en) | Distributed file system using consensus nodes | |
| JP5192226B2 (ja) | 待機系計算機の追加方法、計算機及び計算機システム | |
| EP1704470B1 (en) | Geographically distributed clusters | |
| US7266718B2 (en) | Computer system for recovering data based on priority of the data | |
| US8666939B2 (en) | Approaches for the replication of write sets | |
| EP1814035B1 (en) | Storage controller and data management method | |
| US20190129976A1 (en) | Apparatus for controlling synchronization of metadata on network and method for the same | |
| CN103207867A (zh) | 处理数据块的方法、发起恢复操作的方法和节点 | |
| CN110196755A (zh) | 一种虚拟机快照管理方法、装置、服务器及存储介质 | |
| JP7117338B2 (ja) | リモートコピーシステム及びリモートコピー管理方法 | |
| JP2012221419A (ja) | 情報記憶システム及びそのデータ複製方法 | |
| CN112334888B (zh) | 服务器信息的分布式恢复 | |
| CN118606398B (zh) | 数据分片处理方法、装置、设备、存储介质及程序产品 | |
| JP2005309793A (ja) | データ処理システム | |
| EP1704480B1 (en) | Cluster database with remote data mirroring | |
| JP4434838B2 (ja) | 分散データ等価方法とシステム、およびプログラム | |
| JP2004133598A (ja) | 複数データベースの二重化制御プログラム | |
| JP4129353B2 (ja) | 分散データ管理システム、分散データ管理方法及び分散データ管理プログラム | |
| CN107896248A (zh) | 一种基于客户端通信的并行文件系统应用方法 | |
| JP2024179710A (ja) | ストレージシステム及び記憶制御方法 | |
| JP2021114130A (ja) | 情報処理装置、情報処理システムおよびデータ再配置プログラム | |
| CN116756165B (zh) | 数据库的数据恢复系统、方法、装置以及存储介质 | |
| JP6291977B2 (ja) | 分散ファイルシステム、バックアップファイル取得方法、制御装置及び管理装置 | |
| JP5002636B2 (ja) | データ処理装置及びデータベース管理方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070112 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20071017 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091125 |
|
| 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: 20091201 |
|
| 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: 20091222 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130108 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130108 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140108 Year of fee payment: 4 |
|
| LAPS | Cancellation because of no payment of annual fees |