JP4187302B2 - リレーショナルデータベース同期方法およびそのプログラムを記録した記録媒体 - Google Patents

リレーショナルデータベース同期方法およびそのプログラムを記録した記録媒体 Download PDF

Info

Publication number
JP4187302B2
JP4187302B2 JP07687598A JP7687598A JP4187302B2 JP 4187302 B2 JP4187302 B2 JP 4187302B2 JP 07687598 A JP07687598 A JP 07687598A JP 7687598 A JP7687598 A JP 7687598A JP 4187302 B2 JP4187302 B2 JP 4187302B2
Authority
JP
Japan
Prior art keywords
replica
master
machine
difference
data
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
JP07687598A
Other languages
English (en)
Other versions
JPH11272533A (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 Ltd
Original Assignee
Fujitsu Ltd
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 Ltd filed Critical Fujitsu Ltd
Priority to JP07687598A priority Critical patent/JP4187302B2/ja
Priority to US09/145,030 priority patent/US6374262B1/en
Publication of JPH11272533A publication Critical patent/JPH11272533A/ja
Application granted granted Critical
Publication of JP4187302B2 publication Critical patent/JP4187302B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F16/275Synchronous replication
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/954Relational
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明はリレーショナルデータベース同期方法に関し、特にリレーショナルデータベース上のマスタ機のデータとそのデータを複製して保持していて通常はマスタ機とは切り離して運用されるレプリカ機のデータとを矛盾がないように同期させるリレーショナルデータベース同期方法に関する。
【0002】
近年、モバイルコンピューティング環境下にあって、ノート型コンピュータ、ハンドヘルドコンピュータ、PDA(personal digital assistants )などの携帯型情報端末に顧客に関係したデータを保持しておき、そのデータを活用することによって商談獲得の機会を拡大し、営業活動を支援することができるSFA(Sales Force Automation)と呼ばれる分野のソフトウェアが提案されている。
【0003】
【従来の技術】
通常のクライアント・サーバ方式のネットワーク環境下でのデータベースは、クライアントがデータベースのサーバにアクセスすることによって利用される。このとき、クライアントからのアクセスが多い場合はサーバの負荷が大きくなりクライアントからの要求に対する応答が遅くなる。このような場合、サーバの能力を拡大するために一般にはサーバを複数台設けてサーバの負荷を分散するようなことが行われている。
【0004】
この場合、マスタとなるサーバとスレーブとなるサーバにはそれぞれの状態を保持しあうログファイルを有し、これによって、マスタサーバのマスタデータとスレーブサーバにおけるマスタデータの複製(レプリカ)との差分の管理を行っている。このログファイルは、マスタのサーバにはスレーブのサーバの個数分有し、各スレーブのサーバにはマスタのサーバに対するログファイルをそれぞれ有している。
【0005】
ここで、いずれかのサーバで更新処理がなされた場合には、すべてのサーバで最新のデータにするべくサーバ間での同期処理、すなわちレプリケーションが行われる。レプリケーションを行うときには、マスタおよびスレーブ双方のサーバのデータベースに書き込み禁止を設定し、クライアントからのアクセスを停止した状態でログファイルの交換を行う。すべてのスレーブのレプリケーションはスレーブサーバの個数に比例するため、レプリケーションは厳重なスケジューリングの下で行われる。
【0006】
一方、モバイルコンピューティング環境では、リレーショナルデータベース上のマスタデータを保持しているサーバと、そのマスタデータのレプリカを保持している個々の携帯情報端末とはネットワークを介して接続されるが、その接続は恒久的なものではなく、任意の時間に行われ、しかも任意の時間間隔で切断される。このため、クライアント・サーバシステムにおけるサーバ間でのレプリケーションと違って、サーバと携帯情報端末との間でのデータのレプリケーションは、携帯情報端末をサーバに接続した時に行われることになる。
【0007】
【発明が解決しようとする課題】
しかしながら、レプリカの数が数十を越し、レプリカを保持している携帯情報端末がネットワークから任意の時間から任意の時間間隔で切断され、レプリカとマスタのデータの同期がそれぞれのコンピュータについて任意の時間に行われるような利用形態での運用の場合には、クライアント・サーバシステムで行われていたサーバ間でのレプリケーションの手法を適用することはできない。
【0008】
すなわち、クライアント・サーバシステムの場合のレプリカの利用が負荷分散を目的としたものであるため、レプリカの個数はそれほど多くはなく、マスタデータとそのレプリカとの差分の管理を行うログファイルの数も多くはない。しかし、レプリカの数が数十、数百と増えると、サーバで有しなければいけないログファイルもその数だけ増加し、それらを保持するためのディスク容量が増大し、実現が現実的でない。
【0009】
また、クライアント・サーバシステムにおけるレプリケーションは、マスタサーバとスレーブサーバとの間での厳重なスケジューリングの下で行われ、しかもすべてのレプリカに対する同期の完了時間がレプリカの個数に比例するため、レプリカの個数が極端に多い運用環境では本来の性能が望めないなど運用に制限を受けることになる。
【0010】
また、同一レコードに対する更新があった場合、それらをマスタデータに反映するときに必ず更新競合が発生するが、任意のタイミングで更新を行うような運用では、それが時間的にシーケンシャルに行われることはないので、更新競合の問題は残り、正常に動作しない。
【0011】
また、サーバ間のレプリケーションで更新の競合が発生した場合の矛盾解消の方法もマスタ優先とレプリカ優先とを準備している程度であり、現在の最も新しく正しいデータを収集、配布することは不可能であるという問題点があった。
【0012】
本発明はこのような点に鑑みてなされたものであり、リレーショナルデータベース上のマスタ機のデータとそのデータを複製して保持していて通常はマスタ機とは切り離して運用されるレプリカ機のデータとを同期させるリレーショナルデータベース同期方法を提供することを目的とする。
【0013】
【課題を解決するための手段】
図1は上記目的を達成する本発明の原理図である。図1において、マスタ機1はリレーショナルデータベース上のマスタデータ2を保持し、ネットワーク3に接続されている。レプリカ機4はマスタデータ2を複製したレプリカデータ5を保持している。レプリカ機4はネットワーク3を通じマスタ機に対して任意の時間に接続され、また、任意の時間間隔で切断される。マスタ機1との接続を切断したレプリカ機4nは、この状態でデータ更新を行う。
【0014】
上記構成において、レプリカ機4で更新されたレプリカデータ5をマスタ機1のマスタデータ2と同期を取るとき、任意の時間に、レプリカ機4をネットワーク3を通じてマスタ機1に接続する。次に、レプリカ機4で、レプリカデータ5からマスタ差分抽出完了時刻より最終更新日の新しいレコードをレプリカ差分として抽出し、これをネットワーク3を通じてマスタ機1へ転送する。マスタ機1では、同期依頼のあったレプリカ機が保持しているレコードを対象に、マスタデータ2からレプリカ差分反映時刻がマスタ差分抽出完了時刻より新しいレコードをマスタ差分として抽出し、マスタ差分抽出完了時刻を現時刻に更新する。次に、レプリカ差分をマスタデータ2に反映し、マスタ差分とマスタ差分抽出完了時刻とをレプリカ機4に転送する。レプリカ機4では、マスタ差分をレプリカデータ5に反映し、マスタ差分抽出完了時刻を転送されてきたマスタ差分抽出完了時刻に更新し、マスタ機1との接続を切断する。これにより、同期処理を任意の時間に行ったとしても、複数のレプリカ機で別々に更新されたレコードは、レコードが更新された時間に応じて正確にマスタ機1に収集され、マスタ機1で更新されていたレコードはレプリカ機に正確に配布される。
【0015】
また、本発明によれば、マスタ機にあるリレーショナルデータベース上のマスタデータから同期依頼のあったレプリカ機が保持しているレプリカデータのレコードを対象に、レプリカ差分反映時刻がマスタ差分抽出完了時刻より新しいレコードを前記マスタデータからマスタ差分として抽出するとともに前記マスタ差分抽出完了時刻を現時刻に更新するマスタ差分抽出手段、前記マスタ差分および更新された前記マスタ差分抽出完了時刻を前記レプリカ機に転送するマスタ差分転送手段、前記マスタ差分転送手段により転送された前記マスタ差分を前記レプリカデータに反映するとともに前記レプリカ機で保持している前記マスタ差分抽出完了時刻を転送されてきたマスタ差分抽出完了時刻に更新するマスタ差分反映手段、前記レプリカデータから最終更新日が前記マスタ差分抽出完了時刻より新しいレコードをレプリカ差分として抽出するレプリカ差分抽出手段、前記レプリカ差分抽出手段により抽出された前記レプリカ差分を前記マスタ機に転送するレプリカ差分転送手段、前記レプリカ差分転送手段により転送された前記レプリカ差分を前記マスタデータに反映するレプリカ差分反映手段、および前記マスタ差分抽出手段および前記レプリカ差分反映手段の実行順序を管理するキュー処理手段を有するリレーショナルデータベース同期プログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。
【0016】
この媒体に記録されたリレーショナルデータベース同期プログラムをマスタサーバおよびレプリカサーバのコンピュータに実行させることにより、マスタ差分抽出手段と、マスタ差分転送手段と、レプリカ差分反映手段と、キュー処理手段との各機能がマスタサーバのコンピュータによって実現され、マスタ差分反映手段と、レプリカ差分抽出手段と、レプリカ差分転送手段との各機能がレプリカサーバのコンピュータによって実現される。
【0017】
【発明の実施の形態】
まず、本発明の概略について図面を参照して説明する。
図1は本発明の原理的な構成を示す図である。図1において、マスタ機1はリレーショナルデータベース上のマスタデータ2を共有データとして保持している。このマスタ機1はまた、ネットワーク3に恒久的に接続されている。一方、レプリカ機4はマスタデータ2の一部を複製したレプリカデータ5を保持している。このレプリカ機4はネットワーク3を通じマスタ機1に対して任意の時間に接続され、また、任意の時間間隔で切断される。図1では、レプリカ機4はネットワーク3に接続されている状態を示しており、レプリカ機4nはネットワーク3から切断されている状態を示している。レプリカ機における新規レコード作成、既存レコードの更新、またはレコード削除などのデータ更新は、通常、レプリカ機4nのようにネットワーク3から切断された状態で行われる。
【0018】
ここで、レプリカ機4nにおいて更新されたレプリカデータ5をマスタ機1のマスタデータ2と同期を取るには、任意の時間に、レプリカ機4のように、まず、ネットワーク3を通じてマスタ機1に接続する。次いで、レプリカ機4では、レプリカデータ5からマスタ差分抽出完了時刻より最終更新日の新しいレコードをレプリカ差分として抽出し、抽出したレプリカ差分をネットワーク3を通じてマスタ機1へ転送する。マスタ機1では、まず、同期依頼のあったレプリカ機4が保持しているレコードを対象に、マスタデータ2からレプリカ差分反映時刻がマスタ差分抽出完了時刻より新しいレコードをマスタ差分として抽出する。このとき、同期依頼のあったレプリカ機4に対応するマスタ差分抽出完了時刻は現時刻に更新される。次に、レプリカ差分をマスタデータ2に反映することにより、同期依頼のあったレプリカ機で更新された最終更新日の新しいレコードに対応するマスタ機1のマスタデータ2のレコードが更新されることになる。次に、マスタ機1は、先に抽出したマスタ差分を現時刻に更新されたマスタ差分抽出完了時刻とともにレプリカ機4に転送する。レプリカ機4では、転送されたマスタ差分をレプリカデータ5に反映し、レプリカ機4で保持しているマスタ差分抽出完了時刻を転送されてきたマスタ差分抽出完了時刻に更新する。このようにして、複数のレプリカ機で別々に更新されたレコードは、レコードが更新された時間に応じて正確にマスタ機1に収集される。また、マスタ機1で更新されていたレコードも各レプリカ機に正確に配布されたことになる。以上で、マスタデータ2とレプリカデータ5との同期処理が完了したので、レプリカ機4はいつでもネットワーク3への接続を切断することが可能になる。
【0019】
次に、本発明の実施の形態を、営業マンが所有するすべてのモバイルコンピュータであるレプリカ機にマスタ機の共有データのレプリカを配置し、営業マンが営業所に戻ったときに同期処理を実行するような業務に適用した場合を例にして説明する。
【0020】
図2は商談管理データベースシステムの機器構成を示す図である。図2において、商談管理データベースのサーバであるマスタ機11がLAN(local area network)12に接続されており、このLAN12には複数のレプリカ機13a〜13nがデータ交換可能な形態にて接続されている。この複数のレプリカ機13a〜13nとLAN12との接続形態としては、たとえばLAN12に接続されたクライアントとのケーブルによるシリアル接続または赤外線接続を介して行われる。あるいは、LAN12に接続された図示しないダイアルアップサーバを利用し、レプリカ機に装着したモデムおよび公衆回線を介してLAN12に接続することができる。
【0021】
マスタ機11には商談管理データベースが実装され、各レプリカ機13a〜13nにはその商談管理データベースのマスタデータのレプリカが保持されている。レプリカ機13a〜13nは、たとえば一人の営業マンに対して一台割り当てられており、通常はそれぞれLAN12から切り離された状態で使用される。出先で更新された商談情報は営業所に戻ったときにLAN12に接続して、同期処理を実行することになる。
【0022】
次に、マスタ機11およびレプリカ機13a〜13nの構成について説明する。ただし、レプリカ機13a〜13nについてはすべて同じ構成を有しているので、ここでは代表してある1台のレプリカ機13nのみについて説明する。
【0023】
図3はマスタ機およびレプリカ機の同期処理に関する構成例を示す図である。図3において、マスタ機11では、商談管理データベース(DB)21がマスタデータベースとして運用されている。この商談管理データベース21では、マスタデータがたとえば同期対象テーブルとしての商談テーブル22および顧客テーブル23と、複製管理テーブル24とからなっているとする。商談テーブル22および顧客テーブル23は、商談関連情報および顧客情報の他にそれぞれ同期情報を持っている。マスタ機11はさらに、レプリカ機13nから転送されたレプリカ差分ファイル25を商談管理データベース21に反映するレプリカ差分反映部26と、商談管理データベース21からマスタ差分ファイル28を抽出するマスタ差分抽出部27と、マスタ差分ファイル28をレプリカ機13nに転送するマスタ差分転送部とを有している。
【0024】
レプリカ機13nには、マスタデータの一部を複製して運用するレプリカデータベース31がある。このレプリカデータベース31のレプリカデータは、マスタ機11と同様、同期対象テーブルとしての商談テーブル32および顧客テーブル33と、複製管理テーブル34とからなっている。商談テーブル32および顧客テーブル33は、商談関連情報および顧客情報の他にそれぞれ同期情報を持っている。レプリカ機13nはさらに、レプリカデータベース31からレプリカ差分ファイル35を抽出するレプリカ差分抽出部36と、レプリカ差分ファイル35をマスタ機11に転送するレプリカ差分転送部37と、マスタ機11から転送されたマスタ差分ファイル38をレプリカデータベース31に反映するマスタ差分反映部39とを有している。
【0025】
図4は複製管理テーブルの一例を示す図である。複製管理テーブルは、同期処理の際に必要な更新識別情報を保持しておくためのテーブルであって、マスタ機11およびレプリカ機13nに存在する。この複製管理テーブルは、少なくとも「利用者番号」、「グループ番号」、および「マスタ差分抽出完了時刻」のフィールドから構成されている。ここで、「利用者番号」は営業マンを識別するために割り当てられた番号であり、レプリカが配布されたレプリカ機を特定するための番号でもある。営業マンはグループで行動することが多いので、グループの範囲の中でデータの共有ができるよう考慮して、レプリカを配布する対象を特定するための「グループ番号」が設けられている。つまり、同じ営業グループにいる営業マンは同じ顧客を訪問することがある。そのときに前人の営業マンの折衝情報を参照することができるよう、グループ単位でデータのレプリカを作るようなことが要求され、その場合にグループ番号が利用される。また、複数のグループに所属している場合には、レプリカ作成時に、それぞれのグループ番号がその利用者番号のレプリカ機上に作成される。「マスタ差分抽出完了時刻」はそのレプリカ機に対するマスタ側の差分を抽出した時刻を示すもので、たとえば図示の例がマスタ機11における複製管理テーブルであるとすると、あるグループ番号に関して、利用者番号が12番の営業マンは「1997年9月2日23時33分52秒」にマスタ機11から差分を抽出したことを示している。図示の例がレプリカ機13nにおける複製管理テーブルとし、あるグループ番号に関して抽出した差分が正しくレプリカに反映されたとすれば、レプリカはその時刻にマスタ機11のデータベースの内容と完全に一致しているといえる。
【0026】
また、更新識別のためにレプリカを作成するデータベースのそれぞれのテーブル、ここでは商談テーブルおよび顧客テーブルには、商談関連情報および顧客情報以外に同期処理のための同期情報をそれぞれ有している。商談テーブルの場合を例に図5にそのデータ構成を示す。
【0027】
図5は商談テーブルのデータ構成例を示す図である。この商談テーブルには、商談関連情報の他に同期情報を保持するためのフィールドが新たに設けられている。同期情報としては、少なくとも「利用者番号」、「グループ番号」、「最終更新日」、「削除フラグ」、「レプリカ差分反映時刻」および「補助主キー」のフィールドから構成されている。
【0028】
「利用者番号」および「グループ番号」は、複製管理テーブルの「利用者番号」および「グループ番号」と同じである。「最終更新日」は、レプリカ機でデータが更新された時間を表し、同期後は、マスタ機およびすべてのレプリカ機でこの時間は等しくなる。「削除フラグ」は、レプリカ機でレコード削除を行ったときに削除を行ったことを記録するもので、実際のレコードの削除は、通常の同期終了後に行われる。「レプリカ差分反映時刻」は、レプリカ機で更新されたレコード、つまりレプリカ差分がマスタ機の商談管理データベースに反映された時刻である。「補助主キー」は利用者番号と連結することにより主キーとなるキーである。主キーは、通常、商談管理データベースシステムの中で一意であって、これでレコードを識別できるが、モバイルで運用する場合は、新たにデータを追加したときにそれぞれのレプリカ機で同一の主キーが作られてしまう矛盾が発生する可能性があるので、利用者番号と連結して主キーとする補助主キーが必要になる。
【0029】
以上の複製管理テーブルと商談テーブルおよび顧客テーブルに追加されたフィールドの情報とを用いて同期処理を行うが、次に、その手順を新規レコード作成、レコード更新、およびレコード削除について順次説明する。
【0030】
図6は新規レコード作成の処理の流れを示すフローチャートである。レプリカ機の側で新規にレコードを作成する場合、まず、対象となるテーブルに新規レコードを追加する(ステップS1)。このとき、対象となるテーブルがたとえば図5に示した商談テーブルであるとすると、このテーブルの同期情報のフィールドにおいて、「利用者番号」フィールドはレプリカ機に割り当てられた「利用者番号」にする。また、「グループ番号」フィールドは「複製管理テーブル」の中の「利用者番号」が一致するグループの中から、新規レコード作成者が選択して設定する。「最終更新日」フィールドは新規レコードが作成された時間をレプリカ機のシステム時計から取得して設定する。「削除フラグ」フィールドは「削除しない」に設定し、「レプリカ差分反映時刻」フィールドはマスタ機側で自動的に付けられるので、ここでは特に何も設定しなくてよい。そして、「補助主キー」フィールドには、「利用者番号」に対して一意となる値を設定する。商談関連情報の各フィールドについてはそれぞれ適宜初期化する。
【0031】
次に、マスタ機と接続し(ステップS2)、新規に作成されたレコードをマスタ機の商談データベースに反映すべく、マスタ機との同期処理を行う(ステップS3)。この同期処理の詳細は、図7で詳述する。最後に、任意の時間にマスタ機との接続を切断する(ステップS4 )。
【0032】
図7は同期処理の流れを示すフローチャートである。同期処理では、まず、レプリカ機にて、レプリカデータベースから更新のあったレコード、すなわちレプリカ差分を抽出する(ステップS11)。このレプリカ差分抽出処理の詳細は、図8にて詳述する。次に、レプリカ差分をマスタ機に転送し(ステップS12)、レプリカ差分を受け取ったマスタ機では、レプリカ機が接続した時点で更新されていたレコードの商談管理データベースのマスタデータからの抽出、すなわちマスタ差分抽出処理をし(ステップS13)、商談管理データベースのマスタデータに対するレプリカ差分の反映処理を行い(ステップS14)、マスタ差分および複製管理テーブルをレプリカ機に転送する(ステップS15)。マスタ差分抽出処理の詳細は、図9で詳述し、レプリカ差分反映処理の詳細は、図10で詳述する。そして、レプリカ機では、マスタ機から転送されたマスタ差分をレプリカデータベースに反映する(ステップS16)。このマスタ差分反映処理の詳細は、図11で詳述する。
【0033】
図8はレプリカ差分抽出処理の流れを示すフローチャートである。レプリカ機におけるレプリカ差分の抽出処理においては、まず、「複製管理テーブル」から「利用者番号」が現レプリカ機に割り当てられた利用者番号と一致する1レコードを抽出し、参照用の「一時テーブル」と称するテーブルに格納する(ステップS21)。次に、商談テーブル、顧客テーブルなどすべてのテーブルについて以降の繰り返しの処理を行う(ステップS22)。まず、すべてのテーブルについて処理が終了したかどうかの判断があり(ステップS23)、すべてのテーブルの処理が終了したならば、このレプリカ差分抽出処理は終了する。
【0034】
次に、一時テーブルに抽出されたレコードから「グループ番号」を抽出し、その「グループ番号」と一致するレコードを商談テーブル、顧客テーブルなどの各テーブルから抽出する(ステップS24)。あるテーブルについての抽出処理が終了したかどうかが判断され(ステップS25)、終了したならば、次のテーブルの処理のためにステップS22に戻る。次に、それぞれ抽出されたレコードについて、以降の繰り返しの処理を行う(ステップS26)。次に、レコードの終りかどうかの判断があり(ステップS27)、レコードの終わりならば、次のレコードの抽出のためにステップS24に戻る。次に、あるレコードについて、「グループ番号」で抽出してきたレコードの中から「最終更新日」と複製管理テーブルの「マスタ差分抽出完了時刻」とを比較する(ステップS28)。ここで、そのレコードの「最終更新日」が「マスタ差分抽出完了時刻」より古ければ、次のレコードを調べるために、ステップS26に戻り、「最終更新日」が「マスタ差分抽出完了時刻」より新しい場合は、そのレコードを抽出し、レプリカ差分ファイルに追加して保存し(ステップS29)、ステップS26に戻る。これにより、商談テーブル、顧客テーブルなどのすべてのテーブルから、同じグループのレコードの中から新しいレコードを抽出することができる。
【0035】
図9はマスタ差分抽出処理の流れを示すフローチャートである。レプリカ差分がマスタ機に転送されると、マスタ機では、まず、マスタ差分の抽出処理が行われる。このマスタ差分の抽出処理においては、まず、処理依頼を行ったレプリカの「利用者番号」と一致するレコードを「複製管理テーブル」から抽出し、「一時テーブル」に格納する(ステップS31)。次に、商談テーブル、顧客テーブルなどすべてのテーブルについて以降の繰り返しの処理を行う(ステップS32)。まず、すべてのテーブルについて処理が終了したかどうかの判断があり(ステップS33)、すべてのテーブルの処理が終了したならば、このマスタ差分抽出処理は終了する。
【0036】
次に、一時テーブルに抽出されたレコードから「グループ番号」を抽出し、その「グループ番号」と一致するレコードを商談テーブル、顧客テーブルなどの各テーブルから抽出する(ステップS34)。あるテーブルについての抽出処理が終了したかどうかが判断され(ステップS35)、終了したならば、次のテーブルの処理のためにステップS32に戻る。次に、それぞれ抽出されたレコードについて、以降の繰り返しの処理を行う(ステップS36)。次に、あるレコードについて、「グループ番号」で抽出してきたレコードの中から「レプリカ差分反映時刻」と複製管理テーブルの「マスタ差分抽出完了時刻」とを比較する(ステップS37)。ここで、そのレコードの「レプリカ差分反映時刻」が「マスタ差分抽出完了時刻」より古ければ、次のレコードを調べるために、ステップS36に戻り、「レプリカ差分反映時刻」が「マスタ差分抽出完了時刻」より新しい場合には、そのレコードを抽出し、マスタ差分ファイルに追加して保存する(ステップS38)。次に、レコードの終りかどうかの判断があり(ステップS39)、レコードの終わりでなければ、次のレコードの抽出のためにステップS36に戻る。あるテーブルについてのレコード処理がすべて終了すると、「複製管理テーブル」の「マスタ差分抽出完了時刻」を現在時刻に更新する。
【0037】
図10はレプリカ差分反映処理の流れを示すフローチャートである。レプリカ機から転送されてきたレプリカ差分をマスタ機の商談管理データベースに反映するとき、まず、商談テーブル、顧客テーブルなどすべてのテーブルについて以降の繰り返しの処理を行う(ステップS51)。次に、すべてのテーブルについて処理が終了したかどうかの判断があり(ステップS52)、すべてのテーブルの処理が終了したならば、このレプリカ差分反映処理は終了する。次に、レプリカ差分のレコードについて同様に繰り返しの処理を行い(ステップS53)、レコードが終りかどうかが判断される(ステップS54)。レコードが終りでなければ、一時テーブルに抽出されたレコードから「利用者番号」と「補助主キー」との結合キーが一致するレコードについて、レプリカ差分の「最終更新日」とマスタ差分の「最終更新日」とを比較する(ステップS55)。ここで、レプリカ差分における「最終更新日」が新しい場合は、マスタデータのレコードを更新し(ステップS56)、レプリカ差分反映時刻を現時刻とする(ステップS57)。その後、ステップS51に戻って、以上の操作をすべてのテーブルについて行うことになる。また、ステップS55にて、レプリカ差分の「最終更新日」がマスタ差分の「 最終更新日」より新しくない場合およびマスタ差分にレプリカ差分のレコードに該当する比較対象がない場合には、レプリカ差分に対応するレコードがマスタにないかどうかが判断される(ステップS58)。レプリカ差分に対応するレコードがマスタにあって、それの「最終更新日」が新しい場合は更新の必要はないので、ステップS53に戻る。レプリカ機で新規に作成されている場合は、そのレコードはマスタにはないので、次に、そのレプリカ差分をマスタに追加し (ステップS59)、レプリカ差分反映時刻を現時刻に変更する。
【0038】
その後、マスタ機から、マスタ差分ファイルと「複製管理テーブル」のファイルとをレプリカ機に転送し、最後にレプリカ機において、マスタ差分をレプリカデータベースへ反映する処理および複製管理テーブルの更新処理を行う。
【0039】
図11はマスタ差分反映処理の流れを示すフローチャートである。マスタ機から転送されてきたマスタ差分をレプリカ機のレプリカデータベースに反映するとき、まず、商談テーブル、顧客テーブルなどすべてのテーブルについて以降の繰り返しの処理を行う(ステップS61)。次に、すべてのテーブルについて処理が終了したかどうかの判断があり(ステップS62)、すべてのテーブルの処理が終了したならば、このマスタ差分反映処理は終了する。次に、マスタ差分のレコードについて同様に繰り返しの処理を行い(ステップS63)、レコードが終りかどうかが判断される(ステップS64)。ここで、レコードが終りであれば、次のテーブルに処理を移すため、ステップS61に戻る。また、レコードが終りでなければ、「利用者番号」と「補助主キー」との結合キーが一致するレコードについて、「最終更新日」をマスタ差分の「最終更新日」と比較する(ステップS65)。ここで、マスタ差分の「最終更新日」が新しい場合は、レプリカデータの対象となるレコードをマスタ差分によって更新し、「複製管理テーブル」を転送されてきた新しい「複製管理テーブル」に置き換える(ステップS66)。また、ステップS65において、マスタ差分の「最終更新日」が新しくない場合およびレプリカに比較対象のレコードがない場合は、マスタ差分に対応するレコードがレプリカにないかどうかが判断される (ステップS67)。マスタ差分に対応するレコードがレプリカにあって、その「 最終更新日」が新しい場合は、更新の必要がないので、ステップS63に戻る。マスタ差分に対応するレコードがレプリカになければ、マスタ差分をレプリカに追加することになる(ステップS68)。
【0040】
次に、レコード更新の場合の同期処理について説明する。
図12はレプリカ機でレコード更新を行った場合の同期処理の流れを示すフローチャートである。レプリカ機の側で既存のレコードを更新する場合は以下の手順に従う。まず、レプリカ機における商談テーブル、顧客テーブルなどの対象となるレコードのユーザ領域、すなわち商談テーブルの同期情報を除く商談関連情報、顧客テーブルの同期情報を除く顧客情報をユーザの要請に応じて更新する(ステップS71)。次に、更新したレコードの同期情報の「最終更新日」を更新した現時刻に設定する(ステップS72)。その後、レプリカ機をマスタ機に接続し(ステップS73)、図7に示した同期処理を行い(ステップS74)、マスタ機から切断する(ステップS75)。
【0041】
次に、レコード削除の場合の同期処理について説明する。
図13はレプリカ機でレコード削除を行った場合の同期処理の流れを示すフローチャートである。レプリカ機で既存のレコードの削除を行った場合は、以下の手順に従う。まず、対象となるレコードの削除要求を受けると(ステップS81)、ここではそのレコードの削除はすぐには実行しない。次に、そのレコードにおける同期情報の「削除ブラグ」を「削除しない」から「削除する」に変更する(ステップS82)。次に、「最終更新日」をレコード削除した現在時刻に設定する(ステップS83)。その後、マスタ機と接続して同期処理を行う(ステップS84,S85)。この同期処理が終了し、マスタ機から切断した後に(ステップS86)、レプリカ機の側で、各テーブルから「削除フラグ」が「削除する」に設定されているレコードを探索し、「削除フラグ」が「削除する」に設定されたレコードがあれば、そのレコードを削除する(ステップS87)。
【0042】
次に、同期処理時におけるマスタ機との接続時間を短くした本発明によるリレーショナルデータベース同期方法の別の実施の形態について説明する。
図14は第2の実施の形態におけるマスタ機およびレプリカ機の構成例を示す図である。図14において、図3に示した構成要素同じ要素については同一の符号を付してその詳細な説明は省略する。図14によれば、レプリカ機13nの側には、その構成に何ら変更はない。マスタ機11には、マスタ差分抽出処理およびレプリカ差分反映処理の実行順序を管理するキュー処理部41が新たに設けられている。このキュー処理部41は、マスタ差分抽出キュー42およびレプリカ差分反映キュー43を備えている。
【0043】
次に、以上のような構成にてマスタ機11とレプリカ機13nにおけるマスタデータとレプリカデータとの同期処理について説明する。
図15は高速化した同期処理の流れを示すフローチャートである。レプリカ機の側で新規レコード作成、レコード更新、またはレコード削除行った場合、それに対する同期処理は以下の手順で行う。まず、レプリカ機とマスタ機との接続を行った後、レプリカ機の側では、図8に示した手順に従って、レプリカ差分を作成する(ステップS91)。次に、作成されたレプリカ差分をマスタ機に転送する(ステップS92)。マスタ機の側では、キュー登録を行う(ステップS93)。次に、マスタ機では、接続しているレプリカ機に関する処理の順番になると、図9に示した手順に従ってマスタ差分抽出処理を行い(ステップS94)、マスタ差分および複製管理テーブルをレプリカ機に転送する(ステップS95)。この後で、レプリカ差分の反映を確認することなくレプリカ機とマスタ機との接続を切断する(ステップS96)。その後、レプリカ機において、図11に示した手順に従って、マスタ機から転送されたマスタ差分をレプリカデータベースに反映し、複製管理テーブルを更新する(ステップS97)。その後、マスタ機では、先に切断されたレプリカ機に関する処理の順番になると、図10に示した手順に従って商談管理データベースへのレプリカ差分の反映処理が行われる(ステップS98)。ここで、ステップS98におけるレプリカ差分反映処理については、たとえば夜の間にバッチ処理される。このように、マスタ機は、マスタ差分および複製管理テーブルをレプリカ機に転送した直後に商談管理データベースを解放し、マスタ機におけるレプリカ差分反映処理を後で行うようにしたことにより、マスタ機とレプリカ機との接続を早く切断することができ、同期処理を高速化できる。
【0044】
ここで、レプリカ機の側では切断のタイミングが異なるだけで、処理は図3の場合の処理と同じであるので、マスタ機11の側で行われる処理、すなわち、ステップS93のキュー登録、ステップS94のマスタ差分抽出処理、およびステップS97のマスタ差分反映処理に絞って、以下に説明する。
【0045】
図16はマスタ側処理の流れを示すフローチャート、図17はキュー処理の流れを示すフローチャートである。まず、図16において、レプリカ機から同期処理の依頼があると、キュー処理部41はマスタ差分抽出キュー42に利用者番号を登録し(ステップS101)、レプリカ差分反映キュー43に利用者番号を登録する(ステップS102)。その後、図17に示した別のプロセスで動いているキュー処理の中で、マスタ差分抽出キュー42がクリアされるのを待ち合わせ(ステップS103)、レプリカ差分反映キュー43がクリアされるのを待ち合わせる(ステップS104)。この処理は、同期処理の依頼があるごとに繰り返される。
【0046】
一方、キュー処理に関しては、マスタ差分抽出処理はレプリカ差分反映処理よりも高い優先度で実施される。すなわち、マスタ差分抽出キュー42に登録された順番に従って、以下のマスタ差分の抽出処理を待ちキューごとに繰り返し行う(ステップS111)。このとき、マスタ差分抽出キュー42が空であるかどうかが判断され(ステップS112)、空でなければ、この繰り返しを続行する。次に、図9に示した手順に従ってマスタ差分抽出処理が行われ(ステップS113)、マスタ差分の抽出が終われば、抽出の終わった待ちキューをマスタ差分抽出キュー42からクリアする(ステップS114)。その後、マスタ差分抽出キュー42が空になると、次に、レプリカ差分反映キュー43に登録された順番に従って、以下のレプリカ差分反映処理を待ちキューごとに繰り返し行う(ステップS115)。すなわち、図10に示した手順に従ってレプリカ差分反映処理が行われ(ステップS116)、このレプリカ差分反映処理が終了すると、レプリカ差分反映キュー43からそのレプリカ差分の反映を終えた待ちキューをクリアする(ステップS117)。ここで、すべてのレプリカ差分反映処理が終了すると、マスタ差分抽出キュー42への新たな登録待ちとなり、新たな登録があれば、また、同様にしてマスタ差分抽出処理から開始される。
【0047】
【発明の効果】
以上説明したように本発明では、任意の時間に、レプリカ機をマスタ機に接続し、レプリカデータからマスタ差分抽出完了時刻より最終更新日の新しいレコードをレプリカ差分として抽出し、そのレプリカ差分をマスタ機へ転送し、次に、マスタデータからレプリカ差分反映時刻がマスタ差分抽出完了時刻より新しいレコードをマスタ差分として抽出するとともにマスタ差分抽出完了時刻を現時刻に更新し、レプリカ差分をマスタデータに反映し、マスタ差分とマスタ差分抽出完了時刻とをレプリカ機に転送し、そのマスタ差分をレプリカデータに反映し、マスタ差分抽出完了時刻を転送されてきたマスタ差分抽出完了時刻に更新するように構成した。これにより、マスタ機と切断された状態で別個に更新された個々のレプリカ機のレプリカデータは、それが更新された時間に応じてマスタ機に正確に収集され、それまでのマスタ機で更新されていたデータもまた、正確に各レプリカ機に正確に配布することができるため、レプリカ機はネットワークから任意の時間から任意の時間間隔で切断することが可能となり、また同期のタイミングも自由に設定できるようになる。
【0048】
また、マスタ機およびレプリカ機の双方で同期に必要なデータは同期処理のたびに毎回抽出しているので、マスタ機の側でレプリカ機ごとのトランザクションログを作成する必要がなく、したがってレプリカ機の数が増えることによるディスク領域(トランザクション領域)が増えることもなく、ディスク容量を節約することができる。
【0049】
さらに、マスタ差分をレプリカ機に転送した後の時点でレプリカ機とマスタ機との接続を切断し、マスタ機におけるレプリカ差分反映を後でバッチ処理することにより、レプリカ機とマスタ機との接続を早期に切断でき、同期処理を高速化することができる。
【図面の簡単な説明】
【図1】本発明の原理的な構成を示す図である。
【図2】商談管理データベースシステムの機器構成を示す図である。
【図3】マスタ機およびレプリカ機の同期処理に関する構成例を示す図である。
【図4】複製管理テーブルの一例を示す図である。
【図5】商談テーブルのデータ構成例を示す図である。
【図6】新規レコード作成の処理の流れを示すフローチャートである。
【図7】同期処理の流れを示すフローチャートである。
【図8】レプリカ差分抽出処理の流れを示すフローチャートである。
【図9】マスタ差分抽出処理の流れを示すフローチャートである。
【図10】レプリカ差分反映処理の流れを示すフローチャートである。
【図11】マスタ差分反映処理の流れを示すフローチャートである。
【図12】レプリカ機でレコード更新を行った場合の同期処理の流れを示すフローチャートである。
【図13】レプリカ機でレコード削除を行った場合の同期処理の流れを示すフローチャートである。
【図14】第2の実施の形態におけるマスタ機およびレプリカ機の構成例を示す図である。
【図15】高速化した同期処理の流れを示すフローチャートである。
【図16】マスタ側処理の流れを示すフローチャートである。
【図17】キュー処理の流れを示すフローチャートである。
【符号の説明】
1 マスタ機
2 マスタデータ
3 ネットワーク
4,4n レプリカ機

Claims (10)

  1. マスタ機にあるリレーショナルデータベース上のマスタデータを複製したレプリカデータを多数のレプリカ機で保持し、通常は前記マスタ機とはオフラインの状態で個々のレプリカ機が前記レプリカデータを運用する場合に、前記レプリカデータと前記マスタデータとの同期を取るリレーショナルデータベース同期方法において、
    前記レプリカ機が、任意の時間に前記マスタ機に接続して同期依頼をし、
    前記レプリカ機が、前記レプリカデータから、最終更新時刻が前記レプリカ機と前記マスタ機とに共に記憶されているレプリカ機毎に定義されるマスタ差分抽出完了時刻より新しいレコードを、レプリカ差分として抽出し、
    前記レプリカ機が、抽出した前記レプリカ差分を前記マスタ機に転送し、
    前記マスタ機が、前記同期依頼のあった前記レプリカ機の識別情報をマスタ差分抽出キューに登録し、
    前記マスタ機が、前記同期依頼のあった前記レプリカ機の識別情報をレプリカ差分反映キューに登録し、
    前記マスタ機が、前記マスタ差分抽出キューに前記識別情報が登録された順番に従って前記同期依頼のあった各レプリカ機について、当該レプリカ機が保持しているレコードを対象に、前記マスタデータの各レコードに付加されており前記マスタ機での各レコードの更新時刻を示すレプリカ差分反映時刻が前記マスタ差分抽出完了時刻より新しいレコードを、前記マスタデータからマスタ差分として抽出し、前記マスタ機に記憶されている当該レプリカ機についての前記マスタ差分抽出完了時刻を現時刻に更新し、
    前記マスタ機が、前記マスタ差分および更新された前記マスタ差分抽出完了時刻を前記レプリカ機に転送し、
    前記レプリカ機が、前記マスタ機との接続を切断し、
    前記レプリカ機が、前記マスタ機から転送された前記マスタ差分を前記レプリカデータに反映し、前記レプリカ機に記憶されている前記マスタ差分抽出完了時刻を前記マスタ機から転送された前記マスタ差分抽出完了時刻に更新し、
    前記マスタ機が、前記レプリカ差分反映キューに前記識別情報が登録された順番に従って前記同期依頼のあった各レプリカ機について、当該レプリカ機から転送された前記レプリカ差分を前記マスタデータに反映する、
    ことを特徴とするリレーショナルデータベースの同期方法。
  2. 前記マスタデータおよび前記レプリカデータは、同期対象テーブルと複製管理テーブルとから構成されていることを特徴とする請求項1記載のリレーショナルデータベースの同期方法。
  3. 前記複製管理テーブルは、前記レプリカ機を特定するための前記識別情報としての利用者番号と、複数の前記レプリカ機からなるグループを特定するためのグループ番号と、前記マスタ差分抽出完了時刻とを保持していることを特徴とする請求項2記載のリレーショナルデータベースの同期方法。
  4. 前記同期対象テーブルは、前記レプリカ機を特定するための前記識別情報としての利用者番号と、複数の前記レプリカ機からなるグループを特定するためのグループ番号と、前記レプリカ機でレコードが更新された前記最終更新時刻と、前記レプリカ機で行った削除を記録する削除フラグと、前記レプリカ差分反映時刻と、前記利用者番号と組みにすることにより利用者を一意に特定する主キーとなる補助主キーとを保持していることを特徴とする請求項2記載のリレーショナルデータベースの同期方法。
  5. 前記マスタ機が前記レプリカ差分を前記マスタデータに反映するステップは、夜間バッチにより行うことを特徴とする請求項1記載のリレーショナルデータベースの同期方法。
  6. マスタ機にあるリレーショナルデータベース上のマスタデータを複製したレプリカデータを多数のレプリカ機で保持し、通常は前記マスタ機とはオフラインの状態で個々のレプリカ機が前記レプリカデータを運用する場合に、前記レプリカデータと前記マスタデータとの同期を取るデータベースシステムにおける、前記マスタ機として用 いるコンピュータを、
    同期依頼のあった前記レプリカ機から、前記レプリカデータのレコードのうち最終更新時刻が前記レプリカ機と前記マスタ機とに共に記憶されているレプリカ機毎に定義されるマスタ差分抽出完了時刻より新しいレコードであるレプリカ差分の転送を受け付け、前記同期依頼のあった前記レプリカ機の識別情報をマスタ差分抽出キューに登録すると共に、前記同期依頼のあった前記レプリカ機の識別情報をレプリカ差分反映キューに登録するキュー処理手段、
    前記キュー処理手段により前記マスタ差分抽出キューに前記識別情報が登録された順番に従って前記同期依頼のあった各レプリカ機について、当該レプリカ機が保持しているレコードを対象に、前記マスタデータの各レコードに付加されており前記マスタ機での各レコードの更新時刻を示すレプリカ差分反映時刻が前記マスタ差分抽出完了時刻より新しいレコードを、前記マスタデータからマスタ差分として抽出し、前記マスタ機に記憶されている当該レプリカ機についての前記マスタ差分抽出完了時刻を現時刻に更新するマスタ差分抽出手段、
    前記マスタ差分抽出手段により抽出された前記マスタ差分および更新された前記マスタ差分抽出完了時刻を前記レプリカ機に転送するマスタ差分転送手段、
    前記マスタ差分転送手段による前記レプリカ機への転送後、前記キュー処理手段により前記レプリカ差分反映キューに前記識別情報が登録された順番に従って前記同期依頼のあった各レプリカ機について、当該レプリカ機から転送された前記レプリカ差分を前記マスタデータに反映するレプリカ差分反映手段、
    として機能させることを特徴とするリレーショナルデータベース同期プログラムを記録したコンピュータ読み取り可能な記録媒体。
  7. 前記マスタデータおよび前記レプリカデータは、同期対象テーブルと複製管理テーブルとから構成されていることを特徴とする請求項6記載のリレーショナルデータベース同期プログラムを記録したコンピュータ読み取り可能な記録媒体。
  8. 前記複製管理テーブルは、前記レプリカ機を特定するための前記識別情報としての利用者番号と、複数の前記レプリカ機からなるグループを特定するためのグループ番号と、前記マスタ差分抽出完了時刻とを保持していることを特徴とする請求項7記載のリレーショナルデータベース同期プログラムを記録したコンピュータ読み取り可能な記録媒体。
  9. 前記同期対象テーブルは、前記レプリカ機を特定するための前記識別情報としての利用者番号と、複数の前記レプリカ機からなるグループを特定するためのグループ番号と、前記レプリカ機でレコードが更新された前記最終更新時刻と、前記レプリカ機で行った削除を記録する削除フラグと、前記レプリカ差分反映時刻と、前記利用者番号と組みにすることにより利用者を一意に特定する主キーとなる補助主キーとを保持していることを特徴とする請求項7記載のリレーショナルデータベース同期プログラムを記録したコンピュータ読み取り可能な記録媒体。
  10. 前記レプリカ差分反映手段が前記レプリカ差分を前記マスタデータに反映する処理は、夜間バッチにより行うことを特徴とする請求項6記載のリレーショナルデータベース同期プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP07687598A 1998-03-25 1998-03-25 リレーショナルデータベース同期方法およびそのプログラムを記録した記録媒体 Expired - Fee Related JP4187302B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP07687598A JP4187302B2 (ja) 1998-03-25 1998-03-25 リレーショナルデータベース同期方法およびそのプログラムを記録した記録媒体
US09/145,030 US6374262B1 (en) 1998-03-25 1998-09-01 Relational database synchronization method and a recording medium storing a program therefore

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07687598A JP4187302B2 (ja) 1998-03-25 1998-03-25 リレーショナルデータベース同期方法およびそのプログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JPH11272533A JPH11272533A (ja) 1999-10-08
JP4187302B2 true JP4187302B2 (ja) 2008-11-26

Family

ID=13617821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07687598A Expired - Fee Related JP4187302B2 (ja) 1998-03-25 1998-03-25 リレーショナルデータベース同期方法およびそのプログラムを記録した記録媒体

Country Status (2)

Country Link
US (1) US6374262B1 (ja)
JP (1) JP4187302B2 (ja)

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6715099B1 (en) * 1999-06-02 2004-03-30 Nortel Networks Limited High-availability architecture using high-speed pipes
JP4025475B2 (ja) * 1999-11-10 2007-12-19 日本電気株式会社 データベース交換システム
JP3963417B2 (ja) * 1999-11-19 2007-08-22 株式会社東芝 データ同期処理のための通信方法および電子機器
JP3686564B2 (ja) * 1999-12-21 2005-08-24 株式会社日立製作所 データベースシステム、データベースのレプリカ生成方法およびデータベースのレプリカ生成プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001297023A (ja) * 2000-04-13 2001-10-26 Packaging Technology:Kk データベース更新装置
JP2001297024A (ja) * 2000-04-14 2001-10-26 Nec Corp 共有情報の同期処理システム及びその同期処理方法
JP4017809B2 (ja) * 2000-07-11 2007-12-05 本田技研工業株式会社 電子ファイル管理システム
US6611849B1 (en) * 2000-09-29 2003-08-26 Palm Source, Inc. System for synchronizing databases on multiple devices utilizing a home base
JP2002116945A (ja) * 2000-10-11 2002-04-19 Nec Corp オブジェクト配信システム及びそれに用いる携帯端末におけるメモリ管理方法
US7006249B2 (en) * 2001-01-18 2006-02-28 Kabushiki Kaisha Toshiba Image forming system
US7548898B1 (en) 2001-02-28 2009-06-16 Teradata Us, Inc. Parallel migration of data between systems
US20020161784A1 (en) * 2001-02-28 2002-10-31 Tarenskeen Herbert J. Method and apparatus to migrate using concurrent archive and restore
JP2002297885A (ja) * 2001-03-30 2002-10-11 Dentsu Public Relations Inc 広報活動支援方法およびこの方法を実現するシステム
US7571215B2 (en) * 2001-07-16 2009-08-04 Bea Systems, Inc. Data replication protocol
US7113980B2 (en) * 2001-09-06 2006-09-26 Bea Systems, Inc. Exactly once JMS communication
JP2003108417A (ja) * 2001-10-01 2003-04-11 Toshiba Corp データ共有およびデータ配信方法
CN1278238C (zh) * 2001-10-22 2006-10-04 爱信艾达株式会社 信息管理***
US20030182328A1 (en) * 2001-10-29 2003-09-25 Jules Paquette Apparatus and method for sharing data between multiple, remote sites of a data network
US20030172070A1 (en) * 2002-03-06 2003-09-11 Sawadsky Nicholas Justin Synchronous peer-to-peer multipoint database synchronization
US7328243B2 (en) * 2002-10-31 2008-02-05 Sun Microsystems, Inc. Collaborative content coherence using mobile agents in peer-to-peer networks
FR2848314A1 (fr) * 2002-12-04 2004-06-11 Medi Systeme Procede de synchronisation au sein d'un systeme de type client serveur destine a la gestion d'un systeme qualite, de management, d'evaluation ou de coordination
EP1443423A1 (en) * 2003-01-28 2004-08-04 Bombardier Transportation (Technology) Germany GmbH Apparatus and method for data replication in a data network
GB2401693B (en) * 2003-05-15 2005-08-17 Sun Microsystems Inc Conflictless replication in a multi-master directory system
US7552123B2 (en) * 2003-08-13 2009-06-23 At&T Intellectual Property I, L.P. Methods, systems and computer program products for synchronizing records in billing and service databases
JP4394493B2 (ja) * 2004-03-24 2010-01-06 株式会社日立製作所 ファイル管理方法、ファイル管理装置、及び、ファイル管理プログラム
GB2414089A (en) * 2004-05-07 2005-11-16 Paul Pickering Adding temporal characteristics to an existing database
EP1607883B1 (en) * 2004-06-15 2009-08-12 Sap Ag A data processing system and method for monitoring database replication
US7730012B2 (en) * 2004-06-25 2010-06-01 Apple Inc. Methods and systems for managing data
US7962449B2 (en) * 2004-06-25 2011-06-14 Apple Inc. Trusted index structure in a network environment
CN100368998C (zh) * 2004-07-23 2008-02-13 中兴通讯股份有限公司 一种多数据库数据同步方法
CA2622404A1 (en) * 2004-09-15 2006-03-23 Adesso Systems, Inc. System and method for managing data in a distributed computer system
US8244913B1 (en) * 2004-10-13 2012-08-14 Progress Software Corporation Replication horizon determination with an independent distributed database system
US7711707B2 (en) * 2005-12-14 2010-05-04 International Business Machines Corporation Method for synchronizing and updating bookmarks on multiple computer devices
US8001077B2 (en) * 2005-12-14 2011-08-16 International Business Machines Corporation Distributed method for synchronizing and updating bookmarks on multiple computer devices
US7953710B2 (en) * 2006-06-23 2011-05-31 Microsoft Corporation Multi-master database synchronization without loss of convergence
US7827138B2 (en) 2006-10-02 2010-11-02 Salesforce.Com, Inc. Method and system for synchronizing a server and an on-demand database service
WO2009147704A1 (ja) * 2008-06-04 2009-12-10 株式会社 アテナテレコムラボ テーブルとテーブル項目の平行編集プログラム
CN101765831B (zh) 2007-06-06 2012-10-17 雅典娜电信实验有限公司 数据库不一致的处理方法
US8171003B2 (en) 2007-06-06 2012-05-01 Kunio Kamimura Method and apparatus for changing reference of database
JP4400653B2 (ja) * 2007-06-11 2010-01-20 株式会社日立製作所 情報システム、および、情報システムの情報保存方法
JP5108637B2 (ja) * 2007-06-15 2012-12-26 株式会社日立製作所 データ更新方法、および、データ更新システム
US8032569B2 (en) * 2007-06-28 2011-10-04 Seiko Epson Corporation Information management system, display system, management apparatus and program
WO2009025022A1 (ja) * 2007-08-20 2009-02-26 Konica Minolta Medical & Graphic, Inc. 情報処理システム、およびプログラム
US8289542B2 (en) * 2007-09-12 2012-10-16 Xerox Corporation Distributed limit-based accounting for print jobs
US9990674B1 (en) 2007-12-14 2018-06-05 Consumerinfo.Com, Inc. Card registry systems and methods
US8127986B1 (en) 2007-12-14 2012-03-06 Consumerinfo.Com, Inc. Card registry systems and methods
US20090319525A1 (en) * 2008-06-23 2009-12-24 Microsoft Corporation Lost write protection via stream-based replication
US8312033B1 (en) 2008-06-26 2012-11-13 Experian Marketing Solutions, Inc. Systems and methods for providing an integrated identifier
US8060424B2 (en) 2008-11-05 2011-11-15 Consumerinfo.Com, Inc. On-line method and system for monitoring and reporting unused available credit
US9239767B2 (en) * 2008-12-22 2016-01-19 Rpx Clearinghouse Llc Selective database replication
JP2012003468A (ja) * 2010-06-16 2012-01-05 Mitsubishi Electric Corp データ部分入替処理装置、データ部分入替処理方法およびデータ部分入替処理装置
GB2484086A (en) * 2010-09-28 2012-04-04 Metaswitch Networks Ltd Reliability and performance modes in a distributed storage system
US9607336B1 (en) 2011-06-16 2017-03-28 Consumerinfo.Com, Inc. Providing credit inquiry alerts
US9483606B1 (en) 2011-07-08 2016-11-01 Consumerinfo.Com, Inc. Lifescore
US9106691B1 (en) 2011-09-16 2015-08-11 Consumerinfo.Com, Inc. Systems and methods of identity protection and management
US9501543B2 (en) 2011-09-23 2016-11-22 Hybrid Logic Ltd System for live-migration and automated recovery of applications in a distributed system
US9477739B2 (en) 2011-09-23 2016-10-25 Hybrid Logic Ltd System for live-migration and automated recovery of applications in a distributed system
US9483542B2 (en) 2011-09-23 2016-11-01 Hybrid Logic Ltd System for live-migration and automated recovery of applications in a distributed system
US10331801B2 (en) 2011-09-23 2019-06-25 Open Invention Network, Llc System for live-migration and automated recovery of applications in a distributed system
US10311027B2 (en) 2011-09-23 2019-06-04 Open Invention Network, Llc System for live-migration and automated recovery of applications in a distributed system
GB2495079A (en) 2011-09-23 2013-04-03 Hybrid Logic Ltd Live migration of applications and file systems in a distributed system
US9547705B2 (en) * 2011-09-23 2017-01-17 Hybrid Logic Ltd System for live-migration and automated recovery of applications in a distributed system
US8738516B1 (en) 2011-10-13 2014-05-27 Consumerinfo.Com, Inc. Debt services candidate locator
US9853959B1 (en) 2012-05-07 2017-12-26 Consumerinfo.Com, Inc. Storage and maintenance of personal data
EP2722774B1 (en) * 2012-10-18 2015-12-09 Siemens Aktiengesellschaft Long term archiving of data in a MES system
US9871698B2 (en) 2012-11-02 2018-01-16 Nec Corporation Information processing device
US9654541B1 (en) 2012-11-12 2017-05-16 Consumerinfo.Com, Inc. Aggregating user web browsing data
US9916621B1 (en) 2012-11-30 2018-03-13 Consumerinfo.Com, Inc. Presentation of credit score factors
US10255598B1 (en) 2012-12-06 2019-04-09 Consumerinfo.Com, Inc. Credit card account data extraction
US9406085B1 (en) 2013-03-14 2016-08-02 Consumerinfo.Com, Inc. System and methods for credit dispute processing, resolution, and reporting
US9870589B1 (en) 2013-03-14 2018-01-16 Consumerinfo.Com, Inc. Credit utilization tracking and reporting
US10102570B1 (en) 2013-03-14 2018-10-16 Consumerinfo.Com, Inc. Account vulnerability alerts
US10685398B1 (en) 2013-04-23 2020-06-16 Consumerinfo.Com, Inc. Presenting credit score information
US9443268B1 (en) 2013-08-16 2016-09-13 Consumerinfo.Com, Inc. Bill payment and reporting
US10325314B1 (en) 2013-11-15 2019-06-18 Consumerinfo.Com, Inc. Payment reporting systems
US9477737B1 (en) 2013-11-20 2016-10-25 Consumerinfo.Com, Inc. Systems and user interfaces for dynamic access of multiple remote databases and synchronization of data based on user rules
US9405643B2 (en) 2013-11-26 2016-08-02 Dropbox, Inc. Multi-level lookup architecture to facilitate failure recovery
US9547706B2 (en) * 2014-03-10 2017-01-17 Dropbox, Inc. Using colocation hints to facilitate accessing a distributed data storage system
US9892457B1 (en) 2014-04-16 2018-02-13 Consumerinfo.Com, Inc. Providing credit data in search results
WO2015169067A1 (en) 2014-05-05 2015-11-12 Huawei Technologies Co., Ltd. Method, device, and system for peer-to-peer data replication and method, device, and system for master node switching
US10468126B1 (en) 2014-08-19 2019-11-05 Multiscale Health Networks, Llc. Clinical activity network generation
US10892046B1 (en) * 2014-08-19 2021-01-12 Multiscale Health Networks Llc Systems and methods for dynamically extracting electronic health records
JP6497920B2 (ja) * 2014-12-11 2019-04-10 キヤノン株式会社 画像処理装置、その制御方法及びプログラム
EP3070619B1 (en) 2015-03-16 2023-08-16 Canon Kabushiki Kaisha Information processing apparatuses performing synchronization of data and data synchronization methods
JP6727775B2 (ja) * 2015-08-31 2020-07-22 キヤノン株式会社 サーバ装置、制御システム、制御方法、及び、プログラム
JP2018073231A (ja) * 2016-11-01 2018-05-10 富士通株式会社 ストレージシステムおよびストレージ装置
US10901864B2 (en) 2018-07-03 2021-01-26 Pivotal Software, Inc. Light-weight mirror container
US10880313B2 (en) 2018-09-05 2020-12-29 Consumerinfo.Com, Inc. Database platform for realtime updating of user data from third party sources
US11315179B1 (en) 2018-11-16 2022-04-26 Consumerinfo.Com, Inc. Methods and apparatuses for customized card recommendations
US11868494B1 (en) * 2018-11-26 2024-01-09 Amazon Technologies, Inc. Synchronization of access management tags between databases
US11238656B1 (en) 2019-02-22 2022-02-01 Consumerinfo.Com, Inc. System and method for an augmented reality experience via an artificial intelligence bot
US11941065B1 (en) 2019-09-13 2024-03-26 Experian Information Solutions, Inc. Single identifier platform for storing entity data

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07230442A (ja) 1994-02-16 1995-08-29 Rishiyou:Kk 営業活動支援システム
US5706509A (en) * 1995-04-28 1998-01-06 Intel Corporation Application independent record level synchronization
EP0839353B1 (en) * 1995-07-20 2001-09-26 Novell, Inc. Transaction synchronization in a disconnectable computer and network
JPH0991184A (ja) 1995-09-25 1997-04-04 Fujitsu Ltd 図面システム
US5924096A (en) * 1997-10-15 1999-07-13 Novell, Inc. Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand

Also Published As

Publication number Publication date
US6374262B1 (en) 2002-04-16
JPH11272533A (ja) 1999-10-08

Similar Documents

Publication Publication Date Title
JP4187302B2 (ja) リレーショナルデータベース同期方法およびそのプログラムを記録した記録媒体
CN110019215B (zh) 多重租赁数据库***中的键模式管理
CN109947767B (zh) 多重租赁数据库***中的***共享类型
CN110147369B (zh) 多重租赁数据库***中的数据分离和写入重新定向
JP5727020B2 (ja) クラウドコンピューティングシステム及びそのデータ同期化方法
CN102413168B (zh) 呈现同步对象的可用性状态
CN104115469B (zh) 用于分布式***中的应用的实时迁移和自动恢复的***
JP4025475B2 (ja) データベース交換システム
CN102257494B (zh) 选择性的数据库复制方法
US8095504B2 (en) N-way synchronization of computer databases
US9515878B2 (en) Method, medium, and system for configuring a new node in a distributed memory network
CN109947773A (zh) 在多租户数据库***中部署对键模式的改变
JP4173673B2 (ja) ファイルバックアップ方法および記憶装置
US8019727B2 (en) Pull model for file replication at multiple data centers
CN103597463B (zh) 恢复服务的自动配置
CN108475271A (zh) 容器数据库的应用容器
US20170075921A1 (en) Hosted file sync with direct access to hosted files
US20050216523A1 (en) File management method in a distributed storage system
CN1848849B (zh) 复制目录修改的方法和装置
US20080195827A1 (en) Storage control device for storage virtualization system
CN101272313A (zh) 进行文件级的虚拟化的中间装置
JP2011076487A (ja) 計算機、及びデータベース管理プログラム
EP4189914B1 (en) Using multiple blockchains for applying transactions to a set of persistent data objects in persistent storage systems
JP2015035020A (ja) ストレージシステム、ストレージ制御装置及び制御プログラム
JP2004164401A (ja) データベースシステム、センタサーバ及びデータベースのアクセス方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080808

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees