JP2006164097A - レプリケーション制御システム、基幹サーバ、部門サーバ、更新ロック管理装置およびプログラム - Google Patents

レプリケーション制御システム、基幹サーバ、部門サーバ、更新ロック管理装置およびプログラム Download PDF

Info

Publication number
JP2006164097A
JP2006164097A JP2004357554A JP2004357554A JP2006164097A JP 2006164097 A JP2006164097 A JP 2006164097A JP 2004357554 A JP2004357554 A JP 2004357554A JP 2004357554 A JP2004357554 A JP 2004357554A JP 2006164097 A JP2006164097 A JP 2006164097A
Authority
JP
Japan
Prior art keywords
update
lock
request
history information
department
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.)
Granted
Application number
JP2004357554A
Other languages
English (en)
Other versions
JP4419824B2 (ja
Inventor
Masami Shiraishi
雅己 白石
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2004357554A priority Critical patent/JP4419824B2/ja
Publication of JP2006164097A publication Critical patent/JP2006164097A/ja
Application granted granted Critical
Publication of JP4419824B2 publication Critical patent/JP4419824B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】 通信負荷を高くすることなく、基幹サーバ内のマスタテーブルと、部門サーバ内のレプリカテーブルとの整合性を保つ。
【解決手段】 基幹サーバ100は、自サーバ内のマスタテーブル上のレコードを更新する場合、レプリカテーブル上の該当するレコードに対するロック要求を更新ロック管理装置300へ送信し、その後、ロック成功が通知されるまで待ち状態になる。部門サーバ200-1は、自サーバ内のレプリカテーブル上のレコードを更新する際、マスタテーブル上の該当するレコードに対するロック要求を更新ロック管理装置300へ送信し、その後、ロック成功が通知されるまで待ち状態になる。更新ロック管理装置300は、ロック要求されたレコードが既にロックされている場合は、ロック要求を内部に保持しておき、上記レコードのロックが解除されるのを待って上記ロック要求の要求元にロック成功を通知する。
【選択図】 図1

Description

本発明は、マスタテーブルが格納されたデータベース記憶部を有する基幹サーバと、マスタテーブルのレプリカテーブルが格納されたデータベース記憶部を有する部門サーバとが存在するデータベースシステムに関し、特に、マスタテーブルとレプリカテーブルとの整合性を保つ技術に関する。
従来から複数のマスタテーブルが格納された基幹側データベース記憶部を有する基幹サーバと、マスタテーブルのレプリカテーブルが格納された部門側データベース記憶部を有する複数の部門サーバとを含むレプリケーション制御システムが知られている(例えば、特許文献1参照)。この特許文献1に記載されている従来の技術は、各部門サーバにおいて行われたレプリカテーブルに対する更新内容を基幹サーバが収集し、この収集した更新内容をマスタテーブルに反映することにより、マスタテーブルとレプリカテーブルとの整合性を保つようにしている。
また、マスタテーブルとレプリカテーブルとの整合性を保つための従来の技術としては、次のような技術も知られている(例えば、特許文献2参照)。この特許文献2に記載されている従来の技術では、マスタテーブル上のレコード,レプリカテーブル上のレコードのロック状態を管理するロック表を備えたロック表管理手段を利用することにより、マスタテーブルとレプリカテーブルとの整合性を保つようにしている。
例えば、基幹サーバは、自サーバ内のマスタテーブル上のレコードを更新する場合、ロック表管理手段に対してロック要求を送る。ロック表管理手段では、ロック表を参照することにより、更新要求されたレコードがロック状態にあるか否かを判定し、ロック状態でなければロック成功を返し、ロック状態であればロック失敗を返す。
基幹サーバは、ロック成功が返却された場合は、マスタテーブルを更新後、ロック表管理手段に対して更新内容を含む複製要求を送る。これにより、ロック表管理手段は、部門サーバ内のレプリカテーブルの該当レコードに、更新内容を複製する。これに対して、ロック失敗が返却された場合は、基幹サーバは、再度、ロック表管理手段に対してロック要求を送信する。このロック要求の送信処理は、ロック成功が返却されるまで、何回も行われる。尚、部門サーバが、自サーバ内のレプリカテーブルを更新する場合にも、同様の処理が行われる。
特開2000−20374号公報 特開2001−109652号公報
特許文献1に記載されている従来の技術は、部門サーバ側だけがテーブルの更新処理を行う場合は、マスタテーブルとレプリカテーブルとの整合性を保つことができるが、基幹サーバ,部門サーバの両方がテーブルに対する更新処理を行う場合は、マスタテーブルとレプリカテーブルとの整合性を保つことができなくなってしまう。
特許文献2に記載されている従来の技術によれば、基幹サーバ,部門サーバの両方がテーブルの更新処理を行う場合であっても、マスタテーブルとレプリカテーブルとの整合性を保つことができる。しかし、特許文献2に記載されている従来の技術は、ロック要求されたレコードが既にロック状態にある場合には、要求元のサーバに、ロック失敗を返している。このため、要求元のサーバは、ロック成功が返されるまで、何回もロック要求を送信しなければならず、通信負荷が高くなるという問題がある。
〔発明の目的〕
そこで、本発明の目的は、通信負荷を高くすることなく、マスタテーブルとレプリカテーブルの整合性を保てるようにすることにある。
本発明にかかる第1のレプリケーション制御システムは、
複数のマスタテーブルが格納された基幹側データベース記憶部を有する基幹サーバと、前記基幹側データベース記憶部に格納されている複数のマスタテーブルの内の少なくとも1つがレプリカテーブルとして格納された部門側データベース記憶部を有する複数の部門サーバと、更新ロック管理装置とを含むレプリケーション制御システムであって、
前記基幹サーバが、
自サーバ内のマスタテーブルであって、且つそのレプリカテーブルが部門サーバ内に存在するマスタテーブルに対する更新要求が発生したとき、前記更新ロック管理装置に対して前記レプリカテーブル上の該当するレコードのロックを要求するロック要求を送信して待ち状態となり、該ロック要求に対するロック成功が前記更新ロック管理装置から通知された後、前記更新要求に従って前記マスタテーブルを更新すると共に更新内容を示す更新履歴情報を前記レプリカテーブルを保持している部門サーバに送信し、部門サーバから更新履歴情報が送られてきたとき、該更新履歴情報に従って自サーバ内のマスタテーブルを更新すると共に前記更新ロック装置に対して更新が完了したマスタテーブル上のレコードについてのロック解除要求を送信する構成を有し、
前記各部門サーバが、
自サーバ内のレプリカテーブルに対する更新要求が発生したとき、前記更新ロック管理装置に対して前記レプリカテーブルに対応するマスタテーブル上の該当するレコードのロックを要求するロック要求を送信して待ち状態となり、該ロック要求に対するロック成功が前記更新ロック管理装置から通知された後、前記更新要求に従って前記レプリカテーブルを更新すると共に更新内容を示す更新履歴情報を前記基幹サーバに送信し、基幹サーバから更新履歴情報が送られてきたとき、該更新履歴情報に従って自サーバ内のレプリカテーブルを更新すると共に前記更新ロック装置に対して更新が完了したレプリカテーブル上のレコードについてのロック解除要求を送信する構成を有し、
前記更新ロック管理装置が、
ロック要求が送られてきたとき、ロック要求されたレコードがロック状態でない場合には、要求元にロック成功を通知し、ロック状態の場合には、前記ロック要求をロック要求保持部に格納し、ロック解除要求が送られてきたとき、前記ロック要求保持部に格納されているロック要求の中から前記ロック解除要求が解除対象にしているレコードについてのロック要求を選択し、その要求元に対してロック成功を通知する構成を有することを特徴とする。
本発明にかかる第2のレプリケーション制御システムは、
複数のマスタテーブルが格納された基幹側データベース記憶部を有する基幹サーバと、前記基幹側データベース記憶部に格納されている前記複数のマスタテーブルの内の少なくとも1つがレプリカテーブルとして格納された部門側データベース記憶部を有する複数の部門サーバと、更新ロック管理装置とを含むレプリケーション制御システムであって、
前記基幹サーバが、
前記基幹側データベース記憶部に格納されているマスタテーブルであって、且つそのレプリカテーブルが部門サーバに存在するマスタテーブルに対する更新要求があったとき、前記更新ロック管理装置に対して前記レプリカテーブル上の該当するレコードのロックを要求するロック要求を送信して待ち状態となり、該ロック要求に応答して前記更新ロック管理装置からロック成功が通知されたとき、前記更新要求に従って前記マスタテーブルを更新する基幹側更新手段と、
該基幹側更新手段が行った更新内容を示す更新履歴情報を、前記レプリカテーブルが存在する部門サーバへ送信する基幹側更新履歴情報送信手段と、
部門サーバから更新履歴情報が送られてきたとき、該更新履歴情報に従って、前記部門サーバで行われた更新内容を前記基幹側データベース記憶部に格納されている該当するマスタテーブルに反映させる基幹側更新履歴情報反映手段と、
該基幹側更新履歴情報反映手段によって部門サーバにおける更新内容を反映させたマスタテーブル及びレコードを特定する反映対象特定情報を含んだロック解除要求を前記更新ロック管理装置へ送信する基幹側更新ロック解除手段とを備え、
前記各部門サーバが、
自サーバ内の部門側データベース記憶部に格納されているレプリカテーブルに対する更新要求があったとき、前記更新ロック管理装置に対して、前記レプリカテーブルに対応するマスタテーブル上の該当するレコードのロックを要求するロック要求を送信して待ち状態となり、該ロック要求に応答して前記更新ロック管理装置からロック成功が通知されたとき、前記更新要求に従って前記レプリカテーブルを更新する部門側更新手段と、
該部門側更新手段が行った更新内容を示す更新履歴情報を前記基幹サーバへ送信する部門側更新履歴情報送信手段と、
前記基幹サーバから更新履歴情報が送られてきたとき、該更新履歴情報に従って、前記基幹サーバで行われた更新内容を前記部門側データベース記憶部に格納されている該当するレプリカテーブルに反映させる部門側更新履歴情報反映手段と、
該部門側更新履歴情報反映手段によって基幹サーバにおける更新内容を反映させたレプリカテーブル及びレコードを特定する反映対象特定情報を含んだロック解除要求を前記更新ロック管理装置へ送信する部門側更新ロック解除手段とを備え、
前記更新ロック管理装置が、
ロック状態にあるレコードを特定するロック情報が格納されたロック情報記憶部と、
ロック要求が格納されるロック要求保持部と、
ロック要求が送られてきたとき、前記ロック情報記憶部の内容に基づいてロック要求されたレコードがロックされていないと判断した場合は、要求元にロック成功を通知すると共に前記ロック情報記憶部にロック情報を格納し、ロック要求されたレコードが既にロックされていると判断した場合は、前記ロック要求保持部に前記ロック要求を格納し、ロック解除要求が送られてきたとき、前記ロック要求保持部に格納されているロック要求の中から前記ロック解除要求が解除対象にしているレコードについてのロック要求を選択し、その要求元に対してロック成功を通知する更新ロック制御手段とを備えたことを特徴とする。
本発明にかかる第3のレプリケーション制御システムは、第2のレプリケーション制御システムにおいて、
前記基幹サーバが、
基幹側更新履歴情報記憶部と、
前記基幹側更新手段が行った更新内容を前記基幹側更新履歴情報記憶部に格納する基幹側更新履歴情報蓄積手段とを備え、且つ、
前記基幹側更新履歴情報送信手段が、静止点確立時に、前記基幹側更新履歴情報記憶部に格納されている更新履歴情報を該当する部門サーバへ送信する構成を有し、
前記各部門サーバが、
部門側更新履歴情報記憶部と、
前記部門側更新手段が行った更新内容を前記部門側更新履歴情報記憶部に格納する部門側更新履歴情報蓄積手段とを備え、且つ、
前記部門側更新履歴情報送信手段が、静止点確立時に、前記部門側更新履歴情報記憶部に格納されている更新履歴情報を前記基幹サーバへ送信する構成を有することを特徴とする。
本発明にかかる基幹サーバは、
複数のマスタテーブルが格納された基幹側データベース記憶部と、
前記基幹側データベース記憶部に格納されているマスタテーブルであって、且つそのレプリカテーブルが部門サーバに存在するマスタテーブルに対する更新要求があったとき、更新ロック管理装置に対して前記レプリカテーブル上の該当するレコードのロックを要求するロック要求を送信して待ち状態となり、該ロック要求に応答して前記更新ロック管理装置からロック成功が通知されたとき、前記更新要求に従って前記マスタテーブルを更新する基幹側更新手段と、
基幹側更新履歴情報記憶部と、
前記基幹側更新手段が行った更新内容を前記基幹側更新履歴情報記憶部に格納する基幹側更新履歴情報蓄積手段と、
静止点確立時に、前記基幹側更新履歴情報記憶部に格納されている更新履歴情報を該当する部門サーバへ送信する基幹側更新履歴情報送信手段と、
部門サーバから更新履歴情報が送られてきたとき、該更新履歴情報に従って、前記部門サーバで行われた更新内容を前記基幹側データベース記憶部に格納されている該当するマスタテーブルに反映させる基幹側更新履歴情報反映手段と、
該基幹側更新履歴情報反映手段によって部門サーバにおける更新内容を反映させたマスタテーブル及びレコードを特定する反映対象特定情報を含んだロック解除要求を前記更新ロック管理装置へ送信する基幹側更新ロック解除手段とを備えたことを特徴とする。
本発明にかかる部門サーバは、
基幹サーバ内の基幹側データベースに格納されている複数のマスタテーブルの内の、少なくとも1つがレプリカテーブルとして格納された部門側データベース記憶部と、
自サーバ内の部門側データベース記憶部に格納されているレプリカテーブルに対する更新要求があったとき、更新ロック管理装置に対して前記レプリカテーブルに対応するマスタテーブル上の該当するレコードのロックを要求するロック要求を送信して待ち状態となり、該ロック要求に応答して前記更新ロック管理装置からロック成功が通知されたとき、前記更新要求に従って前記レプリカテーブルを更新する部門側更新手段と、
部門側更新履歴情報記憶部と、
前記部門側更新手段が行った更新内容を前記部門側更新履歴情報記憶部に格納する部門側更新履歴情報蓄積手段と、
静止点確立時に、前記部門側更新履歴情報記憶部に格納されている更新履歴情報を前記基幹サーバへ送信する部門側更新履歴情報送信手段と、
前記基幹サーバから更新履歴情報が送られてきたとき、該更新履歴情報に従って、前記基幹サーバで行われた更新内容を前記部門側データベース記憶部に格納されている該当するレプリカテーブルに反映させる部門側更新履歴情報反映手段と、
該部門側更新履歴情報反映手段によって基幹サーバにおける更新内容を反映させたレプリカテーブル及びレコードを特定する反映対象特定情報を含んだロック解除要求を前記更新ロック管理装置へ送信する部門側更新ロック解除手段とを備えたことを特徴とする。
本発明にかかる更新ロック管理装置は、
ロック状態にあるレコードを特定するロック情報が格納されたロック情報記憶部と、
ロック要求が格納されるロック要求保持部と、
ロック要求が送られてきたとき、前記ロック情報記憶部の内容に基づいてロック要求されたレコードがロックされていないと判断した場合は、要求元にロック成功を通知すると共に前記ロック情報記憶部にロック情報を格納し、ロック要求されたレコードがロックされていると判断した場合は、前記ロック要求保持部に前記ロック要求を格納し、ロック解除要求が送られてきたとき、前記ロック要求保持部に格納されているロック要求の中から、前記ロック解除要求が解除対象にしているレコードについてのロック要求を選択し、その要求元に対してロック成功を通知する更新ロック制御手段とを備えたことを特徴とする。
本発明にかかる第1のプログラムは、
複数のマスタテーブルが格納された基幹側データベース記憶部と、基幹側更新履歴情報記憶部とを備えたコンピュータを、
前記基幹側データベース記憶部に格納されているマスタテーブルであって、且つそのレプリカテーブルが部門サーバに存在するマスタテーブルに対する更新要求があったとき、更新ロック管理装置に対して前記レプリカテーブル上の該当するレコードのロックを要求するロック要求を送信して待ち状態となり、該ロック要求に応答して前記更新ロック管理装置からロック成功が通知されたとき、前記更新要求に従って前記マスタテーブルを更新する基幹側更新手段、
該基幹側更新手段が行った更新内容を前記基幹側更新履歴情報記憶部に格納する基幹側更新履歴情報蓄積手段、
静止点確立時に、前記基幹側更新履歴情報記憶部に格納されている更新履歴情報を該当する部門サーバへ送信する基幹側更新履歴情報送信手段、
部門サーバから更新履歴情報が送られてきたとき、該更新履歴情報に従って、前記部門サーバで行われた更新内容を前記基幹側データベース記憶部に格納されている該当するマスタテーブルに反映させる基幹側更新履歴情報反映手段、
該基幹側更新履歴情報反映手段によって部門サーバにおける更新内容を反映させたマスタテーブル及びレコードを特定する反映対象特定情報を含んだロック解除要求を前記更新ロック管理装置へ送信する基幹側更新ロック解除手段として機能させる。
本発明にかかる第2のプログラムは、
基幹サーバ内の基幹側データベース記憶部に格納されている複数のマスタテーブルの内の、少なくとも1つがレプリカテーブルとして格納された部門側データベース記憶部と、部門側更新履歴情報記憶部とを備えたコンピュータを、
自サーバ内の部門側データベース記憶部に格納されているレプリカテーブルに対する更新要求があったとき、更新ロック管理装置に対して前記レプリカテーブルに対応するマスタテーブル上の該当するレコードのロックを要求するロック要求を送信して待ち状態となり、該ロック要求に応答して前記更新ロック管理装置からロック成功が通知されたとき、前記更新要求に従って前記レプリカテーブルを更新する部門側更新手段、
前記部門側更新手段が行った更新内容を前記部門側更新履歴情報記憶部に格納する部門側更新履歴情報蓄積手段、
静止点確立時に、前記部門側更新履歴情報記憶部に格納されている更新履歴情報を前記基幹サーバへ送信する部門側更新履歴情報送信手段、
前記基幹サーバから更新履歴情報が送られてきたとき、該更新履歴情報に従って、前記基幹サーバで行われた更新内容を前記部門側データベース記憶部に格納されている該当するレプリカテーブルに反映させる部門側更新履歴情報反映手段、
該部門側更新履歴情報反映手段によって基幹サーバにおける更新内容を反映させたレプリカテーブル及びレコードを特定する反映対象特定情報を含んだロック解除要求を前記更新ロック管理装置へ送信する部門側更新ロック解除手段として機能させる。
本発明にかかる第3のプログラムは、
ロック状態にあるレコードを特定するロック情報が格納されたロック情報記憶部と、ロック要求が格納されるロック要求保持部とを備えたコンピュータを、
ロック要求が送られてきたとき、前記ロック情報記憶部の内容に基づいてロック要求されたレコードがロックされていないと判断した場合は、要求元にロック成功を通知すると共に前記ロック情報記憶部にロック情報を格納し、ロック要求されたレコードがロックされていると判断した場合は、前記ロック要求保持部に前記ロック要求を格納し、ロック解除要求が送られてきたとき、前記ロック要求保持部に格納されているロック要求の中から、前記ロック解除要求が解除対象にしているレコードについてのロック要求を選択し、その要求元に対してロック成功を通知する更新ロック制御手段として機能させる。
〔作用〕
基幹サーバは、自サーバ内のマスタテーブルであって、且つそのレプリカテーブルが部門サーバ内に存在するマスタテーブルに対する更新要求が発生すると、更新ロック管理装置に対してレプリカテーブル上の該当するレコードのロックを要求するロック要求を送信し、ロック成功が通知されるのを待つ。更新ロック管理装置は、ロック要求されたレコードがロック状態でない場合は、要求元の基幹サーバにロック成功を通知し、ロック状態である場合は、ロック要求をロック要求保持部に格納し、上記レコードに対するロック解除通知が送られてくるのを待って、基幹サーバにロック成功を通知する。基幹サーバは、ロック成功が通知されると、更新要求に従ってマスタテーブルを更新し、更新内容を示す更新履歴情報を、上記マスタテーブルのレプリカテーブルを有する部門サーバへ送信する。部門サーバは、更新履歴情報に従って、基幹サーバにおける更新内容を、自サーバ内のレプリカテーブルに反映させ、その後、更新内容を反映させたレコードについてのロック解除要求を更新ロック管理装置へ送信する。更新ロック管理装置は、ロック要求保持部内に、上記レコードのロック解除を待っているロック要求が存在する場合は、その要求元のロック成功を通知する。
一方、部門サーバは、自サーバ内のレプリカテーブルに対する更新要求が発生すると、更新ロック管理装置に対してロック要求を送り、ロック成功が通知されるのを待つ。更新ロック管理装置は、ロック要求されたレコードがロック状態でない場合は、要求元の部門サーバにロック成功を通知し、ロック状態である場合は、ロック要求をロック要求保持部に格納し、上記レコードに対するロック解除通知が送られてくるのを待って、上記部門サーバにロック成功を通知する。部門サーバは、ロック成功が通知されると、更新要求に従ってレプリカテーブルを更新し、更新内容を示す更新履歴情報を、基幹サーバへ送信する。基幹サーバは、更新履歴情報に従って、部門サーバにおける更新内容を、自サーバ内のマスタテーブルに反映させ、その後、更新内容を反映させたレコードについてのロック解除要求を更新ロック管理装置へ送信する。更新ロック管理装置は、ロック要求保持部内に、上記レコードのロック解除を待っているロック要求が存在する場合は、その要求元にロック成功を通知する。
本発明によれば、通信負荷を高くすることなく、マスタテーブルとレプリカテーブルの整合性を保つことが可能になる。その理由は、基幹サーバ,部門サーバからロック要求が送られてきたとき、ロック要求されているレコードが既にロック状態にある場合には、ロック要求をロック要求保持部に格納し、上記レコードに対するロック解除通知が送られてくるのを待って、要求元のサーバにロック成功を通知する更新ロック管理装置を設け、ロック要求元がロック成功が通知されるまで、待ち状態でいられるようにしたからである。つまり、従来の技術のように、ロックに成功するまで、基幹サーバや部門サーバが何回もロック要求を出すことがなくなるからである。
次に本発明の実施の形態について図面を参照して詳細に説明する。
〔実施の形態の構成の説明〕
図1は本発明にかかるレプリケーション制御システムの実施の形態の全体構成例を示すブロック図である。同図を参照すると、本実施の形態のレプリケーション制御システムは、基幹サーバ100と、複数台の部門サーバ200−1〜200−nと、更新管理装置300とから構成され、それらはネットワーク400を介して相互に接続されている。
図2は基幹サーバ100の構成例を示すブロック図であり、データベース記憶部101と、レプリケーション定義手段102と、レプリケーション定義記憶部103と、更新手段104と、更新履歴情報作成手段105と、更新履歴情報蓄積手段106と、更新履歴情報記憶部107と、更新履歴情報送信手段108と、更新履歴情報反映手段109と、更新ロック解除手段110と、送受信手段111とを備えている。
データベース記憶部101には、複数個のマスタテーブルMT1〜MTjが格納されている。尚、以下の説明では、マスタテーブルMT1〜MTjの内の何れかを示す場合には、単にマスタテーブルMTと記す場合がある。図3は、データベース記憶部101の内容例を示す図である。図3の例では、各マスタテーブルMT1,MT2,MT3,…のテーブル名は、それぞれ「北海道在庫管理テーブル」,「秋田県在庫管理テーブル」,「岩手県在庫管理テーブル」,…となっており、分割番号は「1」,「2」,「3」,…となっている。
レプリケーション定義手段102は、基幹サーバ100内のレプリケーション定義記憶部103にレプリケーション定義情報を格納する機能や、部門サーバ200−1〜200−n内のレプリケーション定義記憶部にレプリケーション定義情報を格納する機能を有する。図4は、レプリケーション定義記憶部103の内容例を示す図であり、各マスタテーブルMT1,MT2,…に関するレプリケーション定義情報41−1,41−2,…が登録されている。各マスタテーブルMT1,MT2,…のレプリケーション定義情報41−1,41−2,…は、対応するマスタテーブルのテーブル名401と、対応するマスタテーブルにおいてレコードを一意に識別するフィールドの情報であるレプリケーションプライマリキー情報402(本実施の形態では、製品番号とする)と、基幹サーバ分割情報403と、基幹サーバと部門サーバとの両方で更新が必要になるか否かを示す更新有無情報404(両サーバで更新が必要な場合には、マスタテーブルと対応するレプリカテーブルが存在する部門サーバを特定するサーバ情報も含まれる)とを含む。基幹サーバ分割情報403には、対応するマスタテーブルの分割番号405と、対応するマスタテーブルを特定する値/範囲406が含まれる。本実施の形態では、値/範囲406として、地区コードを設定する。
更新手段104は、図示を省略したアプリケーションプログラム(AP)等からマスタテーブルMTに対する更新要求が入力されたとき、更新ロック管理装置300に対してロック要求を送信する機能や、上記ロック要求に対するロック成功が返却されたとき、更新要求に従ってマスタテーブルMTを更新する機能を有する。
更新履歴情報作成手段105は、更新手段104が行った更新内容を示す更新履歴情報を作成する機能を有する。
更新履歴情報蓄積手段106は、更新履歴情報作成手段105が作成した更新履歴情報を更新履歴情報記憶部107に格納する機能を有する。
更新履歴情報送信手段108は、静止点確立時に、更新履歴情報記憶部107に格納されている更新履歴情報に基づいて各部門サーバに対する更新履歴通知を作成し、作成した更新履歴通知を該当する部門サーバに送信する機能を有する。尚、各更新履歴通知には、対応する部門サーバへ送信することが必要になる全ての更新履歴情報が含まれている。
更新履歴情報反映手段109は、部門サーバから送られてきた更新履歴通知中の各更新履歴情報に基づいて、部門サーバで行われた更新内容を、該当するマスタテーブルMTのレコードに反映させる機能を有する。
更新ロック解除手段110は、部門サーバにおける更新内容を反映させたレコードについてのロック解除要求を更新ロック管理装置300へ送信する機能を有する。
送受信手段111は、ネットワーク400を介してデータ等をやり取りする機能を有する。
尚、基幹サーバ100は、コンピュータによって実現可能なものであり、コンピュータによって実現する場合には、例えば、次のようにする。コンピュータを基幹サーバとして機能させるためのプログラムを記録したディスク,半導体メモリ,その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って、自身の動作を制御することにより、自コンピュータ上に、レプリケーション定義手段102,更新手段104,更新履歴情報作成手段105,更新履歴情報蓄積手段106,更新履歴情報送信手段108,更新履歴情報反映手段109,更新ロック解除手段110,送受信手段111を実現する。
図5は部門サーバ200−1の構成例を示すブロック図であり、データベース記憶部201と、レプリケーション定義記憶部203と、更新手段204と、更新履歴情報作成手段205と、更新履歴情報蓄積手段206と、更新履歴情報記憶部207と、更新履歴情報送信手段208と、更新履歴情報反映手段209と、更新ロック解除手段210と、送受信手段211とを備えている。尚、他の部門サーバ200−2〜200−nも同様の構成を有している。
データベース記憶部201には、マスタテーブルの複製であるレプリカテーブルRT1〜RTkが格納されている。図6は、データベース記憶部201の内容例を示す図であり、同図に示したレプリカテーブルRT1,RT2,…は、それぞれ図3に示したマスタテーブルMT2,MT3,…の複製になっている。また、レプリカテーブルRT1,RT2,…のテーブル名はそれぞれ「秋田県在庫管理テーブル」,「岩手県在庫管理テーブル」,…となっており、分割番号はそれぞれ「1」,「2」,…となっている。尚、以下の説明では、レプリカテーブルの何れかを示す場合、レプリカテーブルRTと記すことがある。
レプリケーション定義情報記憶部203には、レプリケーション定義手段102によって、部門サーバ200−1内に存在する各レプリカテーブルRT1,RT2,…に関するレプリケーション定義情報71−1,71−2,…が、図7に示すように格納されている。図7を参照すると、各レプリカテーブルRT1,RT2,…のレプリケーション定義情報71−1,71−2,…は、対応するレプリカテーブルRTのテーブル名701と、対応するレプリカテーブルRTにおいてレコードを一意に識別するフィールドの情報であるレプリケーションプライマリキー情報702(本実施の形態では、製品番号とする)と、基幹サーバ分割情報703と、部門サーバ分割情報704と、部門サーバ200−1と基幹サーバ100との両方で更新が必要になるか否かを示す更新有無情報705とを含む。尚、本実施の形態では、レプリカテーブルRTのテーブル名は、それと対応するマスタテーブルMTのテーブル名と同じになっているとする。基幹サーバ分割情報703には、対応するレプリカテーブルRTの分割番号706と、対応するレプリカテーブルRTを特定する値/範囲707とが含まれる。尚、本実施の形態では、値/範囲707として地区コードを設定する。部門サーバ分割情報704には、対応するレプリカテーブルRTの自部門サーバ200−1における分割番号708と、このレプリカテーブルRT対応するマスタテーブルMTの基幹サーバ100における分割番号709とが含まれる。例えば、レプリカテーブルRT1に関するレプリケーション定義情報71−1の部門サーバ分割情報704には、部門サーバにおける分割番号708としてレプリカテーブルRT1の分割番号「1」が、基幹サーバにおける分割番号709としてマスタテーブルMT2の分割番号「2」が設定される。
更新手段204は、図示を省略したアプリケーションプログラム(AP)等から自サーバ200−1内のレプリカテーブルRTに対する更新要求が入力されたとき、更新ロック管理装置300に対してロック要求を送信する機能や、上記ロック要求に対するロック成功が返却されたとき、更新要求に従ってレプリカテーブルRTを更新する機能を有する。
更新履歴情報作成手段205は、更新手段204が行った更新内容を示す更新履歴情報を作成する機能を有する。
更新履歴情報蓄積手段206は、更新履歴情報作成手段205が作成した更新履歴情報を更新履歴情報記憶部207に格納する機能を有する。
更新履歴情報送信手段208は、静止点確立時に、更新履歴情報記憶部207に格納されている全ての更新履歴情報を含んだ更新履歴通知を作成し、作成した更新履歴通知を基幹サーバ100に送信する機能を有する。
更新履歴情報反映手段209は、基幹サーバ100から送られてきた更新履歴通知中の各更新履歴情報に基づいて、基幹サーバ100で行われた更新内容を、自サーバ200−1内のレプリカテーブルRTのレコードに反映させる機能を有する。
更新ロック解除手段210は、基幹サーバ100における更新内容を反映させたレコードについてのロック解除要求を更新ロック管理装置300へ送信する機能を有する。
送受信手段211は、ネットワーク400を介してデータ等をやり取りする機能を有する。
尚、基幹サーバ200−1は、コンピュータによって実現可能なものであり、コンピュータによって実現する場合には、例えば、次のようにする。コンピュータを基幹サーバとして機能させるためのプログラムを記録したディスク,半導体メモリ,その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って、自身の動作を制御することにより、自コンピュータ上に、更新手段204,更新履歴情報作成手段205,更新履歴情報蓄積手段206,更新履歴情報送信手段208,更新履歴情報反映手段209,更新ロック解除手段210,送受信手段211を実現する。
図8は、更新ロック管理装置300の構成例を示すブロック図であり、送受信手段301と、更新ロック制御手段302と、ロック要求保持部303と、ロック情報記憶部304とを備えている。
ロック情報記憶部304には、ロック状態にあるレコードを特定するロック情報が格納されている。
送受信手段301は、ネットワーク400を介してデータ等を送受信する機能を有する。
更新ロック制御手段302は、次のような機能を有する。
・送受信手段301を介してロック要求を受信したとき、ロック情報記憶部304の内容に基づいて、ロック要求されたレコードが既にロックされているか否かを判定する機能。
・ロック要求されたレコードがロックされていないと判定した場合は、要求元のサーバにロック成功を通知すると共にロック情報記憶部304にロック情報を格納し、ロック要求されたレコードが既にロックされていると判定した場合は、ロック要求保持部303にロック要求を格納する機能。
・ロック解除要求が送られてきたとき、ロック要求保持部303に格納されているロック要求の中に、上記ロック解除要求が解除対象にしているレコードについてのロック要求が存在する場合には、そのロック要求の要求元に対してロック成功を通知する機能。
尚、更新ロック管理装置300は、コンピュータによって実現可能なものであり、コンピュータによって実現する場合には、例えば、次のようにする。コンピュータを更新ロック管理装置として機能させるためのプログラムを記録したディスク,半導体メモリなどの記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御し、自コンピュータ上に、送受信手段301,更新ロック制御手段302を実現する。
〔実施の形態の動作の説明〕
次に、本実施の形態の動作について詳細に説明する。
〔部門サーバにおいてレプリカテーブルが更新された場合の動作〕
先ず、部門サーバ200−1〜200−nにおいてレプリカテーブルRTが更新された場合の動作を、部門サーバ200−1においてレプリカテーブルRTが更新された場合を例に挙げて説明する。
今、例えば、部門サーバ200−1内の更新手段204に、図示を省略したAP等からレプリカテーブルRT1上の製品番号が「0002」のレコードRXに対する更新要求が入力されたとすると、更新手段204は、図9のフローチャートに示す処理を行う。ステップS91では、レプリケーション定義記憶部203(図7参照)に登録されている、レプリカテーブルRT1のレプリケーション定義情報71−1中の更新有無情報705に基づいて、基幹サーバ,部門サーバの両方で更新が必要であるか否かを判断する。本実施の形態では、前述したように、レプリカテーブルRT1は、マスタテーブルMT2の複製であるので、レプリケーション定義情報71−1中の更新有無情報705は、両サーバでの更新が必要なことを表示している。従って、ステップS91の判断結果はYESとなるが、もし、ステップS91の判断結果がNOとなった場合は、更新手段204は、更新要求に従った更新処理を行った後(ステップS92)、処理を終了する。
ステップS91の判断結果がYESとなると、更新手段204は、図10に示すようなロック要求を作成し、更新ロック管理装置300へ送信する(ステップS93)。図10を参照すると、ロック要求には、テーブル名1001として「秋田県在庫管理テーブル」が、レプリケーションプライマリキー値1002として製品番号「0002」が、サーバ情報1003として「部門サーバ200−1」が、要求種別1004として「ロック要求」が設定されている。尚、本実施の形態では、マスタテーブルと、そのレプリカテーブルには、同一のテーブル名を付与しているので、テーブル名1001とレプリケーションプライマリキー値1002とによりロック対象にするレコードを特定できるが、もし、両者のテーブル名を同一にすることが保証されていないシステムでは、テーブル名1001の代わりに、レプリカテーブルに対応するマスタテーブルの分割番号を使用するようにすれば良い。レプリカテーブルに対応するマスタテーブルの分割番号は、部門サーバ分割情報704を参照することにより求めることができる。
ステップS93において、ロック要求を更新ロック管理装置300へ送信すると、更新手段204は、ロック成功通知の受信待ち状態となる(ステップS94)。
一方、更新ロック管理装置300内の更新ロック制御手段302は、部門サーバ200−1から図10に示すロック要求が送られてくると、ロック情報記憶部304を参照することにより、ロック要求されたレコードがロック状態であるか否かを調べる(図11のステップS111)。尚、ロック情報記憶部304には、ロック状態のレコードを特定するためのロック情報として、そのレコードが存在するテーブルのテーブル名と、レプリケーションプライマリキー値と、要求元のサーバを特定するためのサーバ情報とが格納されている。即ち、ステップS111では、ロック要求に含まれているテーブル名「秋田県在庫管理テーブル」,レプリケーションプライマリキー値「0002」と同じテーブル名,レプリケーションプライマリキー値を含むロック情報がロック情報記憶部304に登録されているか否かを調べることにより、ロック要求されたレコードが既にロック状態にあるか否かを調べる。
そして、ロック状態でないと判断した場合(ステップS112がNO)は、ロック情報記憶部304に、テーブル名「秋田県在庫管理テーブル」,レプリケーションプライマリキー値「0002」,サーバ情報「部門サーバ200−1」としたロック情報を登録することにより該当するレコードをロック状態にし、その後、ロック要求元の部門サーバ200−1にロック成功通知(ロック番号を含む)を送信する(ステップS113,S114)。これに対して、ロック状態であると判断した場合(ステップS112がYES)は、部門サーバ200−1から送られてきたロック要求をロック要求保持部303に登録した後(ステップS115)、その処理を終了する。
今、例えば、ステップS112の判断結果がNOとなり、部門サーバ200−1へロック成功が通知されたとすると、部門サーバ200−1内の更新手段204は、更新要求に従ってレプリカテーブルRT1上の製品番号が「0002」のレコードを更新する(ステップS95)。
更新手段204による更新処理が完了すると、更新履歴情報作成手段205が、今回行った更新内容を示す更新履歴情報を作成する(ステップS96)。図12に更新履歴情報の一例を示す。同図に示すように、更新履歴情報には、更新したテーブルのテーブル名1201と、更新処理が追加なのか変更なのか削除なのかを示す更新タイプ1202と、更新したレコードを一意に識別するためのレプリケーションプライマリキー値1203と、更新ロック管理装置300からのロック成功通知に含まれていたロック番号1204と、自サーバ200−1を特定するためのサーバ情報1205と、更新前のレコードフォーマットを示す更新前情報1206と、更新後のレコードフォーマットを示す更新後情報1207とが含まれる。更新前情報1206と更新後情報1207とは、更新タイプ1202によって異なり、追加の場合は、更新後情報1207のみであり、削除の場合は、更新前情報1206のみである。両情報1206,1207が設定されるのは、変更の場合のみである。尚、マスタテーブルと、そのレプリカテーブルとのテーブル名が同一であることが保証されていないシステムでは、テーブル名1201の代わりに、レプリカテーブルに対応するマスタテーブルの分割番号を使用すれば良い。
その後、更新履歴情報蓄積手段206が更新履歴情報を更新履歴情報記憶部207に蓄積する(ステップS97)。
上記のような形態で、部門サーバ200−1内のレプリカテーブルが更新され、基幹サーバ100内のマスタテーブルMTと内容が異なってきた場合、両者の内容を同一にすることが必要になる。このため、本実施の形態では、次のような処理を行っている。
部門サーバ200−1内の更新履歴情報送信手段208は、図13のフローチャートに示すように、自サーバで静止点が確立されると(ステップS131がYES)、更新履歴情報記憶部207に格納されている全ての更新履歴情報を含んだ更新履歴通知を作成し、それを基幹サーバ100へ送信する(ステップS132,S133)。
基幹サーバ100内の更新履歴情報反映手段109は、部門サーバ200−1からの更新履歴通知を受信すると、図14のフローチャートに示すように、更新履歴通知に含まれている更新履歴情報の1つに注目する(ステップS141)。そして、注目した更新履歴情報に従ってマスタテーブルMTを更新する(ステップS143)。例えば、注目した更新履歴情報中のテーブル名1201が「秋田県在庫管理テーブル」で、レプリカプライマリキー値1203が「0002」であったとすると、マスタテーブルMT2の製品番号が「0002」になっているレコードを更新する(図3参照)。
その後、更新履歴情報反映手段109は、現在注目している更新履歴情報中のテーブル名,レプリケーションプライマリキー値およびロック番号を更新ロック解除手段110に渡し、ロック解除要求の送信を指示する(ステップS144)。これにより、更新ロック解除手段110は、図15に示すようなロック解除要求を作成し、更新ロック管理装置300へ送信する。同図を参照すると、ロック解除要求には、ロック解除するレコードが存在しているテーブルのテーブル名1501と、上記テーブルにおいてレコードを一意に識別するためのレプリケーションプライマリキー値1502と、ロック番号1503と、要求種別(この場合は、ロック解除要求)1504とが含まれている。
更新履歴情報反映手段109は、更新履歴通知に含まれている全ての更新履歴情報を処理すると(ステップS142がYES)、その処理を終了する。
更新ロック管理装置300内の更新ロック制御手段302は、基幹サーバ100からのロック解除要求を受信すると、図16のフローチャートに示すように、ロック情報記憶部304に格納されているロック情報の内、上記ロック解除要求に含まれているテーブル名,レプリケーションプライマリキー値と同一のテーブル名,レプリケーションプライマリキー値を含むロック情報を削除する(ステップS161)。その後、更新ロック制御手段302は、ロック要求保持部303にロック要求が登録されているか否かを調べる(ステップS162)。
そして、登録されていないと判断した場合(ステップS162がNO)は、その処理を終了する。これに対して、登録されていると判断した場合(ステップS162がYES)は、ロック解除要求中のテーブル名,レプリケーションプライマリキー値と同一のテーブル名,レプリケーションプライマリキー値が設定されているロック要求をロック要求保持部303から取り出す(ステップS163)。尚、ロック解除要求中のテーブル名,レプリケーションプライマリキー値と同一のテーブル名,レプリケーションプライマリキー値が設定されているロック要求が、ロック要求保持部303に複数個格納されている場合には、格納順が最も古いロック要求を1つ取り出す。
更新ロック制御手段302は、ロック要求保持部303からロック要求を取り出すと、それに含まれているテーブル名,レプリケーションプライマリキー値およびサーバ情報と同一のテーブル名,レプリケーションプライマリキー値およびサーバ情報を含むロック情報を作成し、それをロック情報記憶部304に登録する(ステップS164)。これにより、上記ロック要求によってロックが要求されていたレコードがロック状態となる。その後、更新ロック制御手段302は、取り出したロック要求中のサーバ情報によって特定されるサーバに対して、ロック番号を含むロック成功通知を送信する(ステップS165)。
〔基幹サーバにおいてマスタテーブルが更新された場合の動作〕
次に、基幹サーバ100においてマスタテーブルMTが更新された場合の動作を、マスタテーブルMT3が更新された場合を例にとって説明する。
今、例えば、基幹サーバ100内の更新手段104に、図示を省略したAP等からマスタテーブルMT3上の製品番号が「0001」のレコードRYに対する更新要求が入力されたとすると、更新手段104は、図9のフローチャートに示す処理を行う。ステップS91では、レプリケーション定義記憶部103(図4参照)に登録されている、マスタテーブルMT3のレプリケーション定義情報41−1中の更新有無情報404に基づいて、基幹サーバ,部門サーバの両方で更新が必要であるか否かを判断する。本実施の形態では、前述したように、マスタテーブルMT3のレプリカテーブルRT2が部門サーバ200−1内に存在するので、更新有無情報404は、両サーバで更新が必要なことを示している。また、更新有無情報404には、レプリカテーブルRT2が存在する部門サーバ200−1を特定するサーバ情報も含まれている。
従って、ステップS91の判断結果がYESとなるので、更新手段104は、図17に示すようなロック要求を作成し、更新ロック管理装置300へ送信する(ステップS93)。図17を参照すると、このロック要求には、テーブル名1701,レプリケーションプライマリキー値1702,サーバ情報1703,要求種別1704としてそれぞれ「岩手県在庫管理テーブル」,「0001」,「基幹サーバ100」,「ロック要求」が含まれている。その後、更新手段104は、ロック成功通知の受信待ち状態となる(ステップS94)。
更新ロック管理装置300内の更新ロック制御手段302は、図17に示すロック要求を受信すると、前述した図11のフローチャートの処理を行う。今、例えば、ステップS112の判断結果がNOとなったとすると、更新ロック制御手段302は、ロック要求元の基幹サーバ100に対してロック成功通知を送信する(ステップS114)。
基幹サーバ100内の更新手段104は、ロック成功通知を受信すると、更新要求に従ってマスタテーブルMT3上の製品番号が「0001」のレコードを更新する(図9のステップS95)。更新手段104による更新処理が完了すると、更新履歴情報作成手段105が、今回行った更新内容を示す更新履歴情報を作成し、更新履歴情報蓄積手段206が更新履歴情報を更新履歴情報記憶部207に蓄積する(ステップS96,S97)。
上記のような形態で、基幹サーバ100内の、マスタテーブルが更新され、部門サーバ200−1〜200−n内のレプリカテーブルと内容が異なってきた場合、両者の内容を同一にすることが必要になる。このため、本実施の形態では、次のような処理を行っている。
基幹サーバ100内の更新履歴情報送信手段108は、図18のフローチャートに示すように、自サーバで静止点が確立されると(ステップS181がYES)、更新履歴情報記憶部107に登録されている更新履歴情報に基づいて、各部門サーバに対する更新履歴通知を作成する(ステップS182)。その後、作成した各更新履歴通知を該当する部門サーバに送信する(ステップS183)。ここで、ステップS182の処理の一例を詳しく説明すると、次のようになる。更新履歴情報記憶部107に格納されている更新履歴情報の1つに注目し、それに含まれているテーブル名と同一のテーブル名を有するレプリケーション定義情報41−iをレプリケーション定義記憶部103から検索する。その後、検索したレプリケーション定義情報41−i中の更新有無情報404に設定されているサーバ情報を抽出し、この抽出したサーバ情報によって特定される部門サーバに対応するリストに、現在注目している更新情報をつなぐ。その後、更新履歴情報記憶部107に格納されている次の更新履歴情報に注目し、同様の処理を行う。全ての更新履歴情報についての処理が完了すると、各リスト毎に、それにつながれている更新履歴情報を含んだ更新履歴情報を作成する。これがステップS182で行う処理の詳細である。
各部門サーバ200−1〜200−n内の更新履歴情報反映手段209は、基幹サーバ100から更新履歴通知が送られてくると、図14のフローチャートに示す処理を行い、基幹サーバ100で行われた、マスタテーブルMTに対する更新内容を自サーバ内の該当するレプリカテーブルに反映させると共に、ロック解除要求を更新ロック管理装置300へ送信する(ステップS141〜S144)。
更新ロック管理装置300内の更新ロック制御手段302は、各部門サーバ200−1〜200−nからのロック解除要求を受信すると、前述した図16のフローチャートに示す処理を行う。
〔実施の形態の効果〕
本実施の形態によれば、通信負荷を高くすることなく、基幹サーバ100上のマスタテーブルと部門サーバ200−1〜200−n上のレプリカテーブルの整合性を保つことが可能になる。その理由は、基幹サーバ100,部門サーバ200−1〜200−nからロック要求が送られてきたとき、ロック要求されているレコードが既にロック状態にある場合には、ロック要求をロック要求保持部303に格納し、上記レコードに対するロック解除通知が送られてくるのを待って、要求元のサーバにロック成功を通知する更新ロック管理装置300を設け、ロック要求元がロック成功が通知されるまで、待ち状態でいられるようにしたからである。つまり、従来の技術のように、ロックに成功するまで、基幹サーバや部門サーバが何回もロック要求を出すことがなくなるからである。
また、本実施の形態によれば、通信負荷を更に少なくすることが可能になる。その理由は、各サーバにおいて、更新履歴情報を更新履歴情報記憶部107,207に格納しておき、自サーバで静止点が確立したとき、更新履歴情報記憶部107,207に格納されている更新履歴情報をまとめて送信するようにしたからである。
本発明にかかるレプリケーション制御システムの実施の形態の全体構成例を示すブロック図である。 基幹サーバ100の構成例を示すブロック図ある。 データベース記憶部101の内容例を示す図である。 レプリケーション定義記憶部103の内容例を示す図である。 部門サーバ200−1の構成例を示すブロック図ある。 データベース記憶部201の内容例を示す図である。 レプリケーション定義記憶部203の内容例を示す図である。 更新ロック管理装置300の構成例を示すブロック図である。 更新手段104,204の処理例を示すフローチャートである。 ロック要求の一例を示す図である。 ロック要求受信時の更新ロック管理装置300の処理例を示すフローチャートである。 更新履歴情報の一例を示す図である。 更新履歴情報送信手段208の処理例を示すフローチャートである。 更新履歴情報反映手段109,209の処理例を示すフローチャートである。 ロック解除要求の一例を示す図である。 ロック解除要求受信時の更新ロック管理装置300の処理例を示すフローチャートである。 ロック要求の一例を示す図である。 更新履歴情報送信手段108の処理例を示すフローチャートである。
符号の説明
100…基幹サーバ
101…データベース記憶部
102…レプリケーション定義手段
103…レプリケーション定義記憶部
104…更新手段
105…更新履歴情報作成手段
106…更新履歴情報蓄積手段
107…更新履歴情報記憶部
108…更新履歴情報送信手段
109…更新履歴情報反映手段
110…更新ロック解除手段
111…送受信手段
200−1〜200−n…部門サーバ
201…データベース記憶部
203…レプリケーション定義記憶部
204…更新手段
205…更新履歴情報作成手段
206…更新履歴情報蓄積手段
207…更新履歴情報記憶部
208…更新履歴情報送信手段
209…更新履歴情報反映手段
210…更新ロック解除手段
211…送受信手段
300…更新ロック管理装置
301…送受信手段
302…更新ロック制御手段
303…ロック要求保持部
304…ロック情報記憶部
400…ネットワーク
MT…マスタテーブル
RT…レプリカテーブル

Claims (9)

  1. 複数のマスタテーブルが格納された基幹側データベース記憶部を有する基幹サーバと、前記基幹側データベース記憶部に格納されている複数のマスタテーブルの内の少なくとも1つがレプリカテーブルとして格納された部門側データベース記憶部を有する複数の部門サーバと、更新ロック管理装置とを含むレプリケーション制御システムであって、
    前記基幹サーバが、
    自サーバ内のマスタテーブルであって、且つそのレプリカテーブルが部門サーバ内に存在するマスタテーブルに対する更新要求が発生したとき、前記更新ロック管理装置に対して前記レプリカテーブル上の該当するレコードのロックを要求するロック要求を送信して待ち状態となり、該ロック要求に対するロック成功が前記更新ロック管理装置から通知された後、前記更新要求に従って前記マスタテーブルを更新すると共に更新内容を示す更新履歴情報を前記レプリカテーブルを保持している部門サーバに送信し、部門サーバから更新履歴情報が送られてきたとき、該更新履歴情報に従って自サーバ内のマスタテーブルを更新すると共に前記更新ロック装置に対して更新が完了したマスタテーブル上のレコードについてのロック解除要求を送信する構成を有し、
    前記各部門サーバが、
    自サーバ内のレプリカテーブルに対する更新要求が発生したとき、前記更新ロック管理装置に対して前記レプリカテーブルに対応するマスタテーブル上の該当するレコードのロックを要求するロック要求を送信して待ち状態となり、該ロック要求に対するロック成功が前記更新ロック管理装置から通知された後、前記更新要求に従って前記レプリカテーブルを更新すると共に更新内容を示す更新履歴情報を前記基幹サーバに送信し、基幹サーバから更新履歴情報が送られてきたとき、該更新履歴情報に従って自サーバ内のレプリカテーブルを更新すると共に前記更新ロック装置に対して更新が完了したレプリカテーブル上のレコードについてのロック解除要求を送信する構成を有し、
    前記更新ロック管理装置が、
    ロック要求が送られてきたとき、ロック要求されたレコードがロック状態でない場合には、要求元にロック成功を通知し、ロック状態の場合には、前記ロック要求をロック要求保持部に格納し、ロック解除要求が送られてきたとき、前記ロック要求保持部に格納されているロック要求の中から前記ロック解除要求が解除対象にしているレコードについてのロック要求を選択し、その要求元に対してロック成功を通知する構成を有することを特徴とするレプリケーション制御システム。
  2. 複数のマスタテーブルが格納された基幹側データベース記憶部を有する基幹サーバと、前記基幹側データベース記憶部に格納されている前記複数のマスタテーブルの内の少なくとも1つがレプリカテーブルとして格納された部門側データベース記憶部を有する複数の部門サーバと、更新ロック管理装置とを含むレプリケーション制御システムであって、
    前記基幹サーバが、
    前記基幹側データベース記憶部に格納されているマスタテーブルであって、且つそのレプリカテーブルが部門サーバに存在するマスタテーブルに対する更新要求があったとき、前記更新ロック管理装置に対して前記レプリカテーブル上の該当するレコードのロックを要求するロック要求を送信して待ち状態となり、該ロック要求に応答して前記更新ロック管理装置からロック成功が通知されたとき、前記更新要求に従って前記マスタテーブルを更新する基幹側更新手段と、
    該基幹側更新手段が行った更新内容を示す更新履歴情報を、前記レプリカテーブルが存在する部門サーバへ送信する基幹側更新履歴情報送信手段と、
    部門サーバから更新履歴情報が送られてきたとき、該更新履歴情報に従って、前記部門サーバで行われた更新内容を前記基幹側データベース記憶部に格納されている該当するマスタテーブルに反映させる基幹側更新履歴情報反映手段と、
    該基幹側更新履歴情報反映手段によって部門サーバにおける更新内容を反映させたマスタテーブル及びレコードを特定する反映対象特定情報を含んだロック解除要求を前記更新ロック管理装置へ送信する基幹側更新ロック解除手段とを備え、
    前記各部門サーバが、
    自サーバ内の部門側データベース記憶部に格納されているレプリカテーブルに対する更新要求があったとき、前記更新ロック管理装置に対して、前記レプリカテーブルに対応するマスタテーブル上の該当するレコードのロックを要求するロック要求を送信して待ち状態となり、該ロック要求に応答して前記更新ロック管理装置からロック成功が通知されたとき、前記更新要求に従って前記レプリカテーブルを更新する部門側更新手段と、
    該部門側更新手段が行った更新内容を示す更新履歴情報を前記基幹サーバへ送信する部門側更新履歴情報送信手段と、
    前記基幹サーバから更新履歴情報が送られてきたとき、該更新履歴情報に従って、前記基幹サーバで行われた更新内容を前記部門側データベース記憶部に格納されている該当するレプリカテーブルに反映させる部門側更新履歴情報反映手段と、
    該部門側更新履歴情報反映手段によって基幹サーバにおける更新内容を反映させたレプリカテーブル及びレコードを特定する反映対象特定情報を含んだロック解除要求を前記更新ロック管理装置へ送信する部門側更新ロック解除手段とを備え、
    前記更新ロック管理装置が、
    ロック状態にあるレコードを特定するロック情報が格納されたロック情報記憶部と、
    ロック要求が格納されるロック要求保持部と、
    ロック要求が送られてきたとき、前記ロック情報記憶部の内容に基づいてロック要求されたレコードがロックされていないと判断した場合は、要求元にロック成功を通知すると共に前記ロック情報記憶部にロック情報を格納し、ロック要求されたレコードが既にロックされていると判断した場合は、前記ロック要求保持部に前記ロック要求を格納し、ロック解除要求が送られてきたとき、前記ロック要求保持部に格納されているロック要求の中から前記ロック解除要求が解除対象にしているレコードについてのロック要求を選択し、その要求元に対してロック成功を通知する更新ロック制御手段とを備えたことを特徴とするレプリケーション制御システム。
  3. 請求項2記載のレプリケーション制御システムにおいて、
    前記基幹サーバが、
    基幹側更新履歴情報記憶部と、
    前記基幹側更新手段が行った更新内容を前記基幹側更新履歴情報記憶部に格納する基幹側更新履歴情報蓄積手段とを備え、且つ、
    前記基幹側更新履歴情報送信手段が、静止点確立時に、前記基幹側更新履歴情報記憶部に格納されている更新履歴情報を該当する部門サーバへ送信する構成を有し、
    前記各部門サーバが、
    部門側更新履歴情報記憶部と、
    前記部門側更新手段が行った更新内容を前記部門側更新履歴情報記憶部に格納する部門側更新履歴情報蓄積手段とを備え、且つ、
    前記部門側更新履歴情報送信手段が、静止点確立時に、前記部門側更新履歴情報記憶部に格納されている更新履歴情報を前記基幹サーバへ送信する構成を有することを特徴とするレプリケーション制御システム。
  4. 複数のマスタテーブルが格納された基幹側データベース記憶部と、
    前記基幹側データベース記憶部に格納されているマスタテーブルであって、且つそのレプリカテーブルが部門サーバに存在するマスタテーブルに対する更新要求があったとき、更新ロック管理装置に対して前記レプリカテーブル上の該当するレコードのロックを要求するロック要求を送信して待ち状態となり、該ロック要求に応答して前記更新ロック管理装置からロック成功が通知されたとき、前記更新要求に従って前記マスタテーブルを更新する基幹側更新手段と、
    基幹側更新履歴情報記憶部と、
    前記基幹側更新手段が行った更新内容を前記基幹側更新履歴情報記憶部に格納する基幹側更新履歴情報蓄積手段と、
    静止点確立時に、前記基幹側更新履歴情報記憶部に格納されている更新履歴情報を該当する部門サーバへ送信する基幹側更新履歴情報送信手段と、
    部門サーバから更新履歴情報が送られてきたとき、該更新履歴情報に従って、前記部門サーバで行われた更新内容を前記基幹側データベース記憶部に格納されている該当するマスタテーブルに反映させる基幹側更新履歴情報反映手段と、
    該基幹側更新履歴情報反映手段によって部門サーバにおける更新内容を反映させたマスタテーブル及びレコードを特定する反映対象特定情報を含んだロック解除要求を前記更新ロック管理装置へ送信する基幹側更新ロック解除手段とを備えたことを特徴とする基幹サーバ。
  5. 基幹サーバ内の基幹側データベースに格納されている複数のマスタテーブルの内の、少なくとも1つがレプリカテーブルとして格納された部門側データベース記憶部と、
    自サーバ内の部門側データベース記憶部に格納されているレプリカテーブルに対する更新要求があったとき、更新ロック管理装置に対して前記レプリカテーブルに対応するマスタテーブル上の該当するレコードのロックを要求するロック要求を送信して待ち状態となり、該ロック要求に応答して前記更新ロック管理装置からロック成功が通知されたとき、前記更新要求に従って前記レプリカテーブルを更新する部門側更新手段と、
    部門側更新履歴情報記憶部と、
    前記部門側更新手段が行った更新内容を前記部門側更新履歴情報記憶部に格納する部門側更新履歴情報蓄積手段と、
    静止点確立時に、前記部門側更新履歴情報記憶部に格納されている更新履歴情報を前記基幹サーバへ送信する部門側更新履歴情報送信手段と、
    前記基幹サーバから更新履歴情報が送られてきたとき、該更新履歴情報に従って、前記基幹サーバで行われた更新内容を前記部門側データベース記憶部に格納されている該当するレプリカテーブルに反映させる部門側更新履歴情報反映手段と、
    該部門側更新履歴情報反映手段によって基幹サーバにおける更新内容を反映させたレプリカテーブル及びレコードを特定する反映対象特定情報を含んだロック解除要求を前記更新ロック管理装置へ送信する部門側更新ロック解除手段とを備えたことを特徴とする部門サーバ。
  6. ロック状態にあるレコードを特定するロック情報が格納されたロック情報記憶部と、
    ロック要求が格納されるロック要求保持部と、
    ロック要求が送られてきたとき、前記ロック情報記憶部の内容に基づいてロック要求されたレコードがロックされていないと判断した場合は、要求元にロック成功を通知すると共に前記ロック情報記憶部にロック情報を格納し、ロック要求されたレコードがロックされていると判断した場合は、前記ロック要求保持部に前記ロック要求を格納し、ロック解除要求が送られてきたとき、前記ロック要求保持部に格納されているロック要求の中から、前記ロック解除要求が解除対象にしているレコードについてのロック要求を選択し、その要求元に対してロック成功を通知する更新ロック制御手段とを備えたことを特徴とする更新ロック管理装置。
  7. 複数のマスタテーブルが格納された基幹側データベース記憶部と、基幹側更新履歴情報記憶部とを備えたコンピュータを、
    前記基幹側データベース記憶部に格納されているマスタテーブルであって、且つそのレプリカテーブルが部門サーバに存在するマスタテーブルに対する更新要求があったとき、更新ロック管理装置に対して前記レプリカテーブル上の該当するレコードのロックを要求するロック要求を送信して待ち状態となり、該ロック要求に応答して前記更新ロック管理装置からロック成功が通知されたとき、前記更新要求に従って前記マスタテーブルを更新する基幹側更新手段、
    該基幹側更新手段が行った更新内容を前記基幹側更新履歴情報記憶部に格納する基幹側更新履歴情報蓄積手段、
    静止点確立時に、前記基幹側更新履歴情報記憶部に格納されている更新履歴情報を該当する部門サーバへ送信する基幹側更新履歴情報送信手段、
    部門サーバから更新履歴情報が送られてきたとき、該更新履歴情報に従って、前記部門サーバで行われた更新内容を前記基幹側データベース記憶部に格納されている該当するマスタテーブルに反映させる基幹側更新履歴情報反映手段、
    該基幹側更新履歴情報反映手段によって部門サーバにおける更新内容を反映させたマスタテーブル及びレコードを特定する反映対象特定情報を含んだロック解除要求を前記更新ロック管理装置へ送信する基幹側更新ロック解除手段として機能させるためのプログラム。
  8. 基幹サーバ内の基幹側データベース記憶部に格納されている複数のマスタテーブルの内の、少なくとも1つがレプリカテーブルとして格納された部門側データベース記憶部と、部門側更新履歴情報記憶部とを備えたコンピュータを、
    自サーバ内の部門側データベース記憶部に格納されているレプリカテーブルに対する更新要求があったとき、更新ロック管理装置に対して前記レプリカテーブルに対応するマスタテーブル上の該当するレコードのロックを要求するロック要求を送信して待ち状態となり、該ロック要求に応答して前記更新ロック管理装置からロック成功が通知されたとき、前記更新要求に従って前記レプリカテーブルを更新する部門側更新手段、
    前記部門側更新手段が行った更新内容を前記部門側更新履歴情報記憶部に格納する部門側更新履歴情報蓄積手段、
    静止点確立時に、前記部門側更新履歴情報記憶部に格納されている更新履歴情報を前記基幹サーバへ送信する部門側更新履歴情報送信手段、
    前記基幹サーバから更新履歴情報が送られてきたとき、該更新履歴情報に従って、前記基幹サーバで行われた更新内容を前記部門側データベース記憶部に格納されている該当するレプリカテーブルに反映させる部門側更新履歴情報反映手段、
    該部門側更新履歴情報反映手段によって基幹サーバにおける更新内容を反映させたレプリカテーブル及びレコードを特定する反映対象特定情報を含んだロック解除要求を前記更新ロック管理装置へ送信する部門側更新ロック解除手段として機能させるためのプログラム。
  9. ロック状態にあるレコードを特定するロック情報が格納されたロック情報記憶部と、ロック要求が格納されるロック要求保持部とを備えたコンピュータを、
    ロック要求が送られてきたとき、前記ロック情報記憶部の内容に基づいてロック要求されたレコードがロックされていないと判断した場合は、要求元にロック成功を通知すると共に前記ロック情報記憶部にロック情報を格納し、ロック要求されたレコードがロックされていると判断した場合は、前記ロック要求保持部に前記ロック要求を格納し、ロック解除要求が送られてきたとき、前記ロック要求保持部に格納されているロック要求の中から、前記ロック解除要求が解除対象にしているレコードについてのロック要求を選択し、その要求元に対してロック成功を通知する更新ロック制御手段として機能させるためのプログラム。
JP2004357554A 2004-12-10 2004-12-10 レプリケーション制御システム、基幹サーバ、部門サーバ、更新ロック管理装置およびプログラム Expired - Fee Related JP4419824B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004357554A JP4419824B2 (ja) 2004-12-10 2004-12-10 レプリケーション制御システム、基幹サーバ、部門サーバ、更新ロック管理装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004357554A JP4419824B2 (ja) 2004-12-10 2004-12-10 レプリケーション制御システム、基幹サーバ、部門サーバ、更新ロック管理装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2006164097A true JP2006164097A (ja) 2006-06-22
JP4419824B2 JP4419824B2 (ja) 2010-02-24

Family

ID=36666024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004357554A Expired - Fee Related JP4419824B2 (ja) 2004-12-10 2004-12-10 レプリケーション制御システム、基幹サーバ、部門サーバ、更新ロック管理装置およびプログラム

Country Status (1)

Country Link
JP (1) JP4419824B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008123088A (ja) * 2006-11-09 2008-05-29 Konica Minolta Holdings Inc 情報の管理方法及び情報処理装置
JP2014099037A (ja) * 2012-11-14 2014-05-29 Nec Biglobe Ltd データベース管理システムおよびデータベース管理方法
JP2016184432A (ja) * 2016-06-22 2016-10-20 株式会社Murakumo データベースの管理方法
US10102263B2 (en) 2012-03-08 2018-10-16 Murakumo Corporation Database management method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008123088A (ja) * 2006-11-09 2008-05-29 Konica Minolta Holdings Inc 情報の管理方法及び情報処理装置
US10102263B2 (en) 2012-03-08 2018-10-16 Murakumo Corporation Database management method
US11151157B2 (en) 2012-03-08 2021-10-19 Murakumo Corporation Database management method
JP2014099037A (ja) * 2012-11-14 2014-05-29 Nec Biglobe Ltd データベース管理システムおよびデータベース管理方法
JP2016184432A (ja) * 2016-06-22 2016-10-20 株式会社Murakumo データベースの管理方法

Also Published As

Publication number Publication date
JP4419824B2 (ja) 2010-02-24

Similar Documents

Publication Publication Date Title
JP4573277B2 (ja) データベース矛盾解消方式
CN102770854A (zh) 自动同步冲突解决
JP5077430B2 (ja) 管理装置および管理装置のプログラム
JP2008250944A (ja) ファイル管理プログラム、ファイル管理システムおよびファイル管理装置
US7792797B2 (en) Fail over resource manager access in a content management system
US8019729B2 (en) System and method for updating file
CN106605217A (zh) 使用跨越故障转移集群中的数据存储库的同步复制的应用透明持续可用性
JP6395793B2 (ja) 半導体装置レシピ管理システム
WO2009147846A1 (ja) データベース並行編集の競合解消方式
JP4419824B2 (ja) レプリケーション制御システム、基幹サーバ、部門サーバ、更新ロック管理装置およびプログラム
JPH10116293A (ja) 分散型データベース管理システム
JP5867161B2 (ja) データアクセス制御装置、データアクセス制御方法およびプログラム
US20100205256A1 (en) Asset state change event processing
WO2007043417A9 (ja) 命令を用いたデータ同期装置
JP2005216167A (ja) データベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラム
JP2000284998A (ja) データ更新制御システム、データ更新制御方法、その方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
US20220107959A1 (en) Synchronization of data records
JPH11127147A (ja) 蓄積交換型電子会議システムにおける情報矛盾判定、修正装置及び方法並びに情報矛盾判定、修正プログラムを記録した媒体
US7043735B2 (en) System and method to dynamically select and locate server objects based on version information of the server objects
WO2009147701A1 (ja) データベースへの平行アクセスプログラム
JP5543918B2 (ja) データベース並行編集の競合解消方式
JP2008158978A (ja) データベース同期システム、データベース同期方法、データベースサーバ、データベースサーバの制御方法、およびプログラム
JP2010015384A (ja) 情報共有防止方法、情報共有防止装置、及び、情報共有防止プログラム
JP2005032270A (ja) ドキュメント分散処理システムのサーバ管理方法およびサーバプログラムの記録媒体
JPH09330211A (ja) ソフトウェア生産物の構成管理システムおよび分散共有管理システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090406

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090525

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090525

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090918

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20091020

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

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

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

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4419824

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131211

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees