JP2002132565A - データベース排他制御システム - Google Patents

データベース排他制御システム

Info

Publication number
JP2002132565A
JP2002132565A JP2000324649A JP2000324649A JP2002132565A JP 2002132565 A JP2002132565 A JP 2002132565A JP 2000324649 A JP2000324649 A JP 2000324649A JP 2000324649 A JP2000324649 A JP 2000324649A JP 2002132565 A JP2002132565 A JP 2002132565A
Authority
JP
Japan
Prior art keywords
generation
master
record
data
effective
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.)
Pending
Application number
JP2000324649A
Other languages
English (en)
Inventor
Makoto Miyashita
誠 宮下
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 Solution Innovators Ltd
Original Assignee
NEC Solution Innovators 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 NEC Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP2000324649A priority Critical patent/JP2002132565A/ja
Publication of JP2002132565A publication Critical patent/JP2002132565A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 シノニム機能の無いデータベースで参照と更
新の排他制御を短時間で行う。 【解決手段】 マスタテーブル21はマスタデータをそ
の世代開始番号および世代終了番号と共に格納し、世代
管理テーブル22はマスタデータごとの有効世代番号を
格納する。ビュー23には世代管理テーブル内の有効世
代番号がマスタテーブル内の世代開始番号と世代終了番
号との間に入るマスタデータが抽出される。データ挿入
処理手段13は全件配信されてくるマスタデータ40の
マスタレコードを1つずつ読み込み、世代管理テーブル
を参照して得た有効世代情報を1つ増数した番号を世代
開始番号、最大値を世代終了番号として、マスタテーブ
ルに挿入する。排他制御処理手段11はマスタレコード
の挿入終了後に排他フラグ24をセットし、最後にリセ
ットする。世代更新処理手段12は排他フラグのセット
が正常終了すれば世代管理テーブルの有効世代番号を1
つ増数する。参照側アプリケーション30はビューを介
してマスタテーブルを参照する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベース排他
制御システム、特にリレーショナル・データベースに対
する更新と参照の排他制御を行うデータベース排他制御
システムに関する。
【0002】
【従来の技術】データベースが参照されている最中は、
そのデータベースが更新されるようなことがあってはな
らず、データベースが更新されている最中は、そのデー
タベースが参照されるようなことがあってはない。この
ように、データベースには更新と参照の排他制御が必要
とされる。しかし、排他制御にあまり時間がかかってし
まうのでは、ユーザのニーズに応えられないことにな
る。
【0003】そこで、従来、例えばオラクル(ORACLE)
データベースでは、シノニム(Synonym)機能を利用し
てデータベースのテーブルを2重化することにより、テ
ーブルを参照する側と更新する側との間で排他時間を少
なくすることを可能としている。すなわち、一方のテー
ブルは参照専用、他方のテーブルは更新専用とし、両テ
ーブルのデータの整合をとる時間のみ排他時間とするの
である。
【0004】
【発明が解決しようとする課題】しかしながら、上述の
従来技術のようにシノニム機能を有するデータベースで
あればともかく、そうでないデータベース、例えばSQL
サーバを利用するデータベースでは、テーブルは1つで
あるため、その更新と参照の排他制御に多くの時間を費
やすことになるという第1の問題点がある。
【0005】また、上述した従来技術では、データベー
スのアクセス中に異常終了すると、特別な措置をしなけ
れば復旧できないという第2の問題点もある。
【0006】したがって、本発明の第1の目的は、シノ
ニム機能を持たないデータベースであっても更新と参照
の排他に要する時間を軽減したデータベース排他制御シ
ステムを提供することにある。
【0007】本発明の第2の目的は、データベースのア
クセス中に異常終了した場合であっても異常終了後に正
しいデータさえ受信できれば、特別な処置は必要なく復
旧できるデータベース排他制御システムを提供すること
にある。
【0008】
【課題を解決するための手段】第1の本発明のデータベ
ース排他制御システムは、マスタレコードにその世代開
始番号および世代終了番号を付加してマスタテーブル
(図1の21)に格納すると共に、現在参照可能なマスタ
レコードの有効世代番号を設け、世代開始番号および世
代終了番号並びに世代開始番号を操作することによっ
て、マスタレコードに対する更新と参照の排他制御を行
うことを特徴とする。
【0009】第2の本発明のデータベース排他制御シス
テムは、マスタレコードをその世代開始番号および世代
終了番号を付加してマスタテーブル(図1の21)に格納
すると共に、現在参照可能なマスタレコードの有効世代
番号を世代管理テーブル(図1の22)に格納しておき、
新たにマスタレコードをマスタテーブルに組み込む場合
には、当該マスタレコードの世代開始番号を有効世代番
号より大きくして組み込み、その後にマスタテーブルへ
の参照を排除して、正常終了すれば当該マスタレコード
の有効世代番号を前記世代開始番号以上の番号に更新
し、排除を解除することを特徴とする。
【0010】第3の本発明のデータベース排他制御シス
テムは、マスタデータをその世代開始番号および世代終
了番号と共に格納するマスタテーブル(図1の21)と、
マスタデータごとの有効世代番号を格納する世代管理テ
ーブル(図1の22)と、世代管理テーブル内の有効世代
番号がマスタテーブル内の世代開始番号と世代終了番号
との間に入るマスタデータが抽出されるビュー(図1の
23)と、マスタテーブルに対する更新と参照の排他制
御を行うための排他フラグ(図1の24)とを含むデータ
ベース(図1の20)と、全件配信されてくるマスタデー
タのマスタレコードを1つずつ読み込み、世代管理テー
ブルを参照して得た有効世代情報を1つ増数した番号を
世代開始番号、最大値を前記世代終了番号として、マス
タテーブルに挿入するデータ挿入処理手段(図1の13)
と、マスタレコードの挿入終了後に排他フラグをセット
し、最後にリセットする排他制御処理手段(図1の11)
と、排他フラグのセットが正常終了すれば世代管理テー
ブルの有効世代番号を1つ増数する世代更新処理手段
(図1の12)とを含むマスタ組込処理アプリケーション
(図1の10)と、ビューを介してマスタテーブルを参照
する参照側アプリケーション(図1の30)とを備えたこ
とを特徴とする。
【0011】第4の本発明のデータベース排他制御シス
テムは、マスタレコードをその世代開始番号および世代
終了番号と共に格納するマスタテーブル(図4の21)
と、マスタレコードごとの有効世代番号を格納する世代
管理テーブル(図4の22)と、世代管理テーブル内の
有効世代番号がマスタテーブル内の世代開始番号と世代
終了番号との間に入るマスタレコードが抽出されるビュ
ー(図4の23)と、マスタテーブルに対する更新と参
照の排他制御を行うための排他フラグ(図4の24)と
を含むデータベース(図4の20)と、配信のマスタデ
ータとの差分のみが配信されてくるマスタデータのマス
タレコードを1つずつ読み込み、マスタテーブルに対し
て追加/更新/削除するデータ処理手段(図4の13−
1)と、マスタレコードの追加/更新/削除終了後に排
他フラグをセットし、最後にリセットする排他制御処理
手段(図4の11)と、排他フラグのセットが正常終了
すれば世代管理テーブルの有効世代番号を1つ増数する
世代更新処理手段(図4の12)とを含むマスタ組込処
理アプリケーション(図4の10−1)と、ビューを介
してマスタテーブルを参照する参照側アプリケーション
(図4の30)とを備えたことを特徴とする。
【0012】本発明では、、ホストコンピュータから店
舗端末にマスタデータが送信される。配信されたマスタ
データは、マスタ組込処理によりデータベース内の各マ
スタテーブルに組み込まれる。組込処理で各マスタレコ
ードに世代情報を付加する。この世代情報を操作するこ
とにより、組込処理と参照側アプリケーションとの排他
を極力少なくし、また異常終了時には、異常終了後の実
行も柔軟に対応できるマスタ組込処理とデータ参照側ア
プリケーションにも更新状態を意識させない参照を可能
としている。
【0013】
【発明の実施の形態】本発明のデータベース制御システ
ムは、マスタレコードにその世代開始番号および世代終
了番号を付加してマスタテーブルに格納すると共に、現
在参照可能なマスタレコードの有効世代番号を設け、世
代開始番号および世代終了番号並びに世代開始番号を操
作することによって、マスタレコードに対する更新と参
照の排他制御を行うものである。
【0014】より具体的には、マスタレコードをその世
代開始番号および世代終了番号を付加してマスタテーブ
ルに格納すると共に、現在参照可能なマスタレコードの
有効世代番号を世代管理テーブルに格納しておき、新た
にマスタレコードをマスタテーブルに組み込む場合に
は、当該マスタレコードの世代開始番号を有効世代番号
より大きくして組み込み、その後にマスタテーブルへの
参照を排除して、正常終了すれば当該マスタレコードの
有効世代番号を世代開始番号以上の番号に更新し、排除
を解除する。
【0015】
【実施例】次に、本発明の実施例について図面を参照し
ながら説明する。
【0016】本発明の一実施例を示す図1を参照する
と、このデータベース排他制御システムは、本部のホス
トコンピュータ100と、大手コンビニエンスストア等
広範囲にチェーン展開する店舗に備えられた店舗端末2
00で構成される。店舗端末200は店舗ごとに備えら
れるが、図面の煩雑化を回避するために、また発明の説
明のためにはそれで充分なために、図1では1つのみを
示している。ホストコンピュータ100からは、各店舗
に共通する商品情報マスタ,価格情報マスタ等や店舗固
有マスタを衛星回線または地上回線を介して各店舗端末
200に配信する。これらの各マスタのマスタデータ4
0はテキストファイル形式であり、更新のたびにマスタ
データの全てのマスタレコードが配信されてくるものと
する。これは、気象条件の悪化等により送信中のマスタ
レコードに文字化け等が発生しても、次回の配信によっ
てそれを修復できるようにするためである。店舗に配信
されたきた各マスタデータは、後述のようにデータ挿入
処理手段13によって、現在有効な各マスタデータと置
換されるのである。
【0017】店舗端末200は、ホストコンピュータ1
00から送られてくるマスタデータ40を格納するため
のデータベース20と、データベース20にマスタデー
タを組み込むデータベースエンジンとしてのマスタ組込
処理アプリケーション10と、データベース20を参照
する参照アプリケーション30とから成る。各マスタデ
ータがデータベース20に格納される際には、マスタレ
コードごとに世代が付与され世代管理がなされる。
【0018】データベース20は、マスタレコードをそ
の世代開始番号および世代終了番号と共に格納するマス
タテーブル21と、マスタデータごとの有効世代番号を
格納する世代管理テーブル22と、世代管理テーブル2
2内の有効世代番号がマスタテーブル21内の世代開始
番号と世代終了番号との間に入るマスタレコードが抽出
されるビュー23と、排他制御を行うための排他フラグ
24とを含む。有効世代とはマスタテーブル21中の複
数世代のマスタデータ中で現在有効なマスタデータの世
代をいう。
【0019】ビュー23はユーザにより参照側アプリケ
ーション30によって定義され、参照側アプリケーショ
ン30はビュー23を介してマスタテーブル21をアク
セスする。ビュー23を定義することにより、世代を意
識させることも、複雑な抽出条件も付けることもなく、
最新の整合性の取れたデータを参照することが可能とな
り、参照側アプリケーション30はデータ組込の状態や
世代を意識することなく容易にデータを参照できるよう
になる。
【0020】排他フラグ24は、マスタテーブル更新時
にセットされ、セット中は参照アプリケーション30が
マスタテーブル21を参照できないようにするためのも
のである。
【0021】図2は、マスタテーブル21と世代管理テ
ーブル22とビュー23との関係を例示する図である。
図2において、マスタテーブル21は、それぞれ世代開
始番号が00000000、世代終了番号が99999999である4つ
のマスタレコードAAAAAAAAAA,BBBBBBBBBB,CCCCCCCCCC
およびDDDDDDDDDDから成るマスタデータと、それぞれ世
代開始番号が00000000、世代終了番号が00000009である
2つのマスタレコードEEEEEEEEEEおよびFFFFFFFFFFから
成るマスタデータを格納していることが示されている。
また、世代管理テーブル22はXXXマスタおよびYYYマス
タの有効世代番号が00000010であることを明示してい
る。
【0022】世代管理テーブル22内の有効世代000000
10は、マスタテーブル21内の4つのマスタレコードAA
AAAAAAAA,BBBBBBBBBB,CCCCCCCCCCおよびDDDDDDDDDDの
世代開始番号00000000と世代終了番号99999999の間に入
るため、マスタレコードAAAAAAAAAA,BBBBBBBBBB,CCCC
CCCCCCおよびDDDDDDDDDDがビュー23に抽出され反映さ
れる。これらのマスタレコードが現在有効なマスタレコ
ードとして参照側アプリケーション30から参照され
る。しかし、マスタテーブル21内のマスタレコードEE
EEEEEEEEおよびFFFFFFFFFFについては、世代管理テーブ
ル22内の有効世代00000010は、その世代開始番号0000
0000と世代終了番号00000009の間に入らないため、マス
タレコードEEEEEEEEEEおよびFFFFFFFFFFはビュー23に
抽出されていない。
【0023】マスタ組込処理アプリケーション10は、
排他処理手段11と世代更新処理手段12とデータ挿入
処理手段13とデータ削除手段14とを含む。これらの
各手段はそれぞれ概略つぎのように動作する。
【0024】データ挿入処理手段13は、ホストコンピ
ュータ100より配信されるマスタデータ40のマスタ
レコードを1つずつ読み込み、テキストファイル形式か
らテーブルのレコード形式に編集する。また、世代管理
テーブル22を参照して得た世代情報を付加して、各マ
スタテーブルにマスタレコードを挿入する。これによ
り、前回の組込処理で既に組み込まれているマスタレコ
ードを無効にし、今回挿入したマスタレコードを有効に
し、全件置換したように振舞う。
【0025】ただし、データ挿入処理手段13は、配信
されてきたマスタデータを現在参照されているマスタデ
ータと置換するに当り、既に組み込まれたマスタレコー
ドを削除して、その後に新しいマスタレコードを挿入す
るのではない。前回のマスタ組込処理で組み込んだマス
タデータの世代情報を更新し、今回組み込むマスタデー
タを新しい世代として世代情報を付加して組込みを実施
するのである。今回組込んだ世代が有効世代として切り
替わるのは、後述の世代更新処理後のことになる。これ
は、今回組み込んだマスタデータに異常が検出された場
合には、そのマスタデータは使用せず、組込み前のマス
タデータが使用できるようにするための措置である。
【0026】データ削除処理手段14は、マスタデータ
をマスタテーブル21に組み込むに当り、前回のマスタ
データ組込み時に異常終了したマスタレコードをマスタ
テーブル21から削除する。異常の検出は、データ削除
処理手段14がマスタテーブル21内の世代開始番号と
世代管理テーブル22内の有効世代番号とを比較するこ
とによって行う。
【0027】排他処理手段11は、マスタデータを更新
するマスタ挿入処理手段13とマスタデータを参照する
参照側アプリケーション30との間で、更新途中のマス
タデータを参照させないために排他を行う。それも排他
のために使用する時間を極力少なくする。そのために、
排他を実施している間は、排他制御フラグ24をセット
し、参照側アプリケーション30からはマスタデータの
参照を不可とする。一方、参照側アプリケーション30
が起動している、つまりマスタデータを参照している可
能性がある場合には、排他処理手段11が参照側アプリ
ケーション30の終了を待ち合わせる。
【0028】世代更新処理手段12は、排他処理手段1
1による参照側アプリケーション30との間に排他のた
めの条件が成立すると起動され、世代管理テーブル22
内の有効世代番号を更新する。排他のための条件とは、
不等式で示せば、世代開始番号≦有効世代番号≦世代終
了番号ということである。ここで留意すべきは、上記の
排他が実際に行われているのは世代の更新処理の間だけ
であるであるということである。すなわち、マスタテー
ブル21にマスタデータが組み込まれている最中は、そ
のマスタデータの世代はまだ有効世代とされないため、
参照側アプリケーション30によるマスタデータの自由
な参照は許されるように排他処理手段11によって制御
される。また、参照側アプリケーション30による参照
がされていても、まだ有効世代が付与されていないため
マスタデータのマスタテーブル21への挿入は許される
ように排他処理手段11によって制御される。
【0029】このように、排他を世代管理テーブル22
内の有効世代更新中のみとすることによって排他時間を
短縮できる。また、世代更新後に今回組み込んだマスタ
データが有効となり、現在迄有効であったマスタレコー
ドが旧世代のマスタデータとなる。マスタデータ挿入中
に処理が異常終了する、つまり、世代更新処理手段12
が世代を更新する以前に、なんらかの理由により処理が
異常終了した場合には前回組込済のマスタデータがその
まま、有効な世代として参照される。
【0030】次に、図3のフローチャートを参照して本
実施例のマスタ組込処理について説明する。
【0031】ホストコンピュータ100から店舗端末2
00にマスタデータ40が到着すると、マスタ組込処理
アプリケーション10が起動される。このマスタ組込処
理アプリケーション10はマスタ参照側アプリケーショ
ン30が起動されマスタテーブル21を参照していたと
しても、排他をかけることなく以下のような組込処理を
開始する。
【0032】先ず、データ削除処理手段14は前回異常
終了した場合の不要なマスタレコードを物理的に削除す
る(ステップS1)。具体的には、マスタテーブル21
内の世代開始番号が世代管理テーブル22内の有効世代
よりも大きいマスタレコードを削除する。これは、本マ
スタ組込処理が正常に終了した場合には、後述のように
世代管理テーブル22内の有効世代はマスタテーブル2
1内の世代開始番号と等しくなるということを根拠にす
るものである。
【0033】世代更新処理手段12は、前回正常にマス
タテーブル21への組込みが完了しているマスタデータ
の世代終了番号を世代管理テーブル内の有効世代番号に
更新する(ステップS2)。これによって、このマスタ
データへの参照を担保すると共に、次に組み込まれてく
るマスタデータとの世代の重複を回避する。具体例で示
せば、有効世代00000010を有する世代開始番号0000001
0,世代終了番号99999999の正常組込み完了マスタデー
タに対して、その世代終了番号を00000010とするのであ
る。これによっても、前述の不等式は成立するので参照
側アプリケーション30からの参照はできる。
【0034】次に、データ挿入処理手段13はマスタレ
コードを1つずつ読み込み、テーブル形式に編集してマ
スタテーブル21に挿入する(ステップS3)。このと
き挿入されるマスタレコードには、世代情報が追加され
る。具体的には、世代開始番号として現在の有効世代番
号(世代管理テーブル22が保持)に1を加えたもの、
上述の例では00000011をセットし、世代終了番号として
99999999がセットされる。このときには、有効世代番号
00000010が世代開始番号00000011より小さく前述の不等
式は成立しないため、挿入されたマスタレコードを参照
することができない状態である。ただし、前回組み込ま
れたマスタレコードは参照できる。
【0035】このマスタレコードの挿入が完了したら、
排他処理手段11は参照側アプリケーション30との間
に排他を実施するため、排他フラグ24をセットする
(ステップS4)。これによって、参照側アプリケーシ
ョン30はマスタテーブル21を参照できなくなる。
【0036】この排他が成立したら(ステップS5)、
世代更新処理手段12は世代管理テーブル22の内の有
効世代番号に1を加えて更新する(ステップS6)。上
述の例では有効世代番号が00000011となる。この結果、
新しく組み込まれたマスタレコード(世代開始番号0000
0011,世代終了番号99999999)について前述の不等式が
成立することになる。
【0037】最後に、排他処理手段11は排他フラグ2
4をリセットしてを排他を解除する(ステップS7)。排
他解除後から今回組み込んだ新しい世代のマスタデータ
が有効となり、前回組み込まれて有効になっていたマス
タデータが旧世代のデータとなる。参照側アプリケーシ
ョン30は、この有効世代のマスタデータに付加されて
いる世代情報を抽出条件として定義されたビュー23を
参照できるようになる。
【0038】ところで、世代更新処理手段12が世代を
更新する(ステップS6)以前になんらかの理由により
異常終了が発生すると(ステップS5)、ステップS5
で世代更新処理手段12は世代管理テーブル22の内の
有効世代を更新せず、排他フラグ24をリセットして
(ステップS7)終了する。その結果、上述の例では有効
世代は00000010のままとなり、一方、世代開始番号は00
000011である。このようなマスタレコードは、前述の不
等式を満たさないためビュー23に反映されない。この
不要なマスタレコードは、次回のマスタ組込処理時にデ
ータ削除処理手段14によって削除される(ステップS
1)。
【0039】このように、異常終了が発生した場合であ
っても、有効世代を切り替えなければ、前回の組込み成
功時の状態は保持され、前回組込済のデータがそのま
ま、有効な世代として参照される。また異常終了直後の
マスタ組込処理でも、不要なマスタレコードを削除する
ことにより何の考慮も処置も必要なく、次のマスタレコ
ードを組込むことが可能となるのである。
【0040】次に、本発明の第2の実施例について図面
を参照して説明する。
【0041】本発明の第2の実施例を示す図4を参照す
ると、このデータベース排他制御システムは、ホストコ
ンピュータ100と店舗端末200−1で構成される。
店舗端末200−1は、マスタ組込処理アプリケーショ
ン10−1と、データベース20と、マスタレコードを
参照する参照側アプリケーション30から成る。データ
ベース20および参照側アプリケーション30は、図1
における同名称のものと同じものである。
【0042】ホストコンピュータ100から届くマスタ
データ40−1はテキストファイルで構成され、毎回マ
スタデータの差分、つまり変更情報のみが配信されてく
る点が、図1に示した第1の実施例と異なる。したがっ
て、店舗端末200−1に配信されたきたマスタデータ
を追加し、または配信されたきたマスタデータによって
現在参照対象のマスタデータを更新し、または現在参照
対象のマスタデータを削除する。このため、マスタ組込
処理アプリケーション10−1には、図1におけるマス
タ組込処理アプリケーション10におけるデータ挿入処
理手段13に代わってデータ処理手段13−1が設けら
れている。排他処理手段11,世代更新処理手段12お
よびデータ削除処理手段14は、図1における同名称の
ものと同じものである。
【0043】次に、図5のフローチャートを参照して本
実施例のマスタ組込処理について説明する。
【0044】先ず、データ削除処理手段14は前回異常
終了した場合の不要なマスタレコードを物理的に削除す
る(図5のステップT1)。具体的には、マスタテーブ
ル21内の世代開始番号が世代管理テーブル22内の有
効世代よりも大きいマスタレコードを削除する。これ
は、本マスタ組込処理が正常に終了した場合には、後述
のように世代管理テーブル22内の有効世代はマスタテ
ーブル21内の世代開始番号と等しくなるということを
根拠にするものである。
【0045】次に、データ処理手段13−1は、ホスト
コンピュータ1から配信されるマスタデータ40−1の
マスタレコードを1つずつ読み込み(ステップT2)、マ
スタテーブル21の追加/更新のマスタレコードであれ
ば(ステップT3)、テキストファイル形式からテーブ
ルのレコード形式に編集して、世代情報を付加して各マ
スタテーブル21にマスタレコードを挿入する(ステッ
プT4)。
【0046】この挿入が失敗した場合には(ステップT
5)、データ処理手段13−1は、更新とみなして、現
在有効になっているマスタレコードを無効にし(ステッ
プT6)、今回読み込んだマスタレコードを追加する
(ステップT7)。マスタレコードを無効にするには、
後に排他制御の下に有効世代番号を更新すると、無効と
なるように世代終了番号を更新する。つまり世代終了番
号を現在有効な世代番号に更新する。これらの更新が反
映されるのはマスタテーブル更新後の世代更新処理の後
となる。
【0047】マスタレコードを挿入する場合(ステップ
T4)または更新時に追加する場合(ステップT7)に
は、後に排他制御の下に有効世代番号を更新すると、そ
のマスタレコードが有効になるような世代開始番号と世
代終了番号を付加する(ステップT8)。具体的には、
世代開始番号には、現在有効な世代よりも大きな番号
を、世代終了番号には最大値をセットする。つまり、第
1の実施例におけるのと同様である。
【0048】一方、ステップT3において追加/更新の
マスタレコードでなく、したがって削除のマスタレコー
ドであれば、データ処理手段13−1は、該当するマス
タレコードを検索し、存在すればそのマスタレコードを
無効にする(ステップT9)。マスタレコードを無効に
するには、後に排他制御の下に有効世代番号を更新する
と、無効となるように世代終了番号を更新する。つまり
世代終了日を現在有効な世代番号に更新する。これらの
更新が反映されるのはマスタテーブル更新後の世代更新
処理の後となる。
【0049】以上のマスタレコードの挿入/更新/削除
が完了したら、排他処理手段11による排他制御および
世代更新処理手段12による世代更新処理が行われる
が、これらは第1の実施例における処理の内容と同様で
あるため説明を省略する。また、以上終了した場合の措
置の内容も第1の実施例と同様である。
【0050】なお、ステップT1におけるマスタレコー
ドの物理的な削除はここでは行わず、削除は組込み時で
はなく負荷の低い時間で実施することとれば、組込み処
理の負荷を分散することができる。世代を制御すること
により、各マスタのデータは物理的に削除しなくても参
照側アプリケーション30から参照可能であるためであ
り、第2の実施例ではマスタレコード単位に世代管理さ
れるため削除対象のデータ量が少ないからである。
【0051】なお、以上に説明したマスタ組込処理アプ
リケーションを半導体メモリ,フロッピー(登録商標)
ディスク,CD−ROM等のコンピュータ読込み可能な
記録媒体に記録してコンピュータに読み込み、実行させ
るようにしてもよい。
【0052】
【発明の効果】本発明の第1の効果は、シノニム機能を
持たないデータベースであっても参照側アプリケーショ
ンとの排他時間を極少にできるということである。その
理由は、マスタデータに世代を付加して管理すると共
に、マスタデータの切替えは世代を管理している世代管
理テーブルの1項目を更新するだけの時間で済むように
したからである。
【0053】第2の効果は、組込処理が異常終了した場
合の特殊な対応が不要になるということである。その理
由は、異常終了時も前回組込み成功時の状態を保証する
ので、異常発生直後の対応の必要がないためと、次回の
組込み処理を行うにあたり組込み途中のデータの削除な
どを行う必要が無く、異常終了した原因が取り除かれれ
ば、いつデータが到着しても問題が無く最終的に組込み
が正常終了すれば整合性の取れた正しいデータとなるか
らである。
【0054】第3の効果は、参照側アプリケーションに
整合性の保たれたデータを提供し、データの不整合によ
り参照側アプリケーションの誤動作を招くことがないと
いうことである。その理由は、新たに組み込んだデータ
が参照側に参照可能となるのは、必ずマスタの全てのデ
ータが組み込まれた後にデータが切り替わってからにな
るからである。
【0055】第4の効果は、データ更新処理も容易で処
理も単純になるということである。その理由は、各マス
タのテーブルを2重化することなく、1つのテーブルで
実現しているからである。
【図面の簡単な説明】
【図1】本発明の第1の実施例を示す構成図
【図2】本発明におけるマスタテーブルと世代管理テー
ブルとビューとの関係を例示する図
【図3】第1の実施例におけるマスタ組込処理のフロー
チャート
【図4】本発明の第2の実施例を示す構成図
【図5】第2の実施例におけるマスタ組込処理のフロー
チャート
【符号の説明】
10 マスタ組込処理アプリケーション 11 排他処理手段 12 世代更新処理手段 13 マスタ挿入処理手段 14 マスタ削除処理手段 20 データベース 21 マスタテーブル 22 世代管理テーブル 23 ビュー 24 排他フラグ 30 参照側アプリケーション 40 マスタデータ 100 ホストコンピュータ 200 店舗端末 10−1 マスタ組込処理アプリケーション 13−1 データ処理手段 200−1 店舗端末

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 マスタレコードにその世代開始番号およ
    び世代終了番号を付加してマスタテーブルに格納すると
    共に、現在参照可能なマスタレコードの有効世代番号を
    設け、前記世代開始番号および世代終了番号並びに前記
    世代開始番号を操作することによって、前記マスタレコ
    ードに対する更新と参照の排他制御を行うことを特徴と
    するデータベース排他制御システム。
  2. 【請求項2】 マスタレコードをその世代開始番号およ
    び世代終了番号を付加してマスタテーブルに格納すると
    共に、現在参照可能なマスタレコードの有効世代番号を
    世代管理テーブルに格納しておき、 新たにマスタレコードを前記マスタテーブルに組み込む
    場合には、当該マスタレコードの前記世代開始番号を前
    記有効世代番号より大きくして組み込み、 その後に前記マスタテーブルへの参照を排除して、正常
    終了すれば当該マスタレコードの前記有効世代番号を前
    記世代開始番号以上の番号に更新し、前記排除を解除す
    ることを特徴とするデータベース排他制御システム。
  3. 【請求項3】 マスタデータをその世代開始番号および
    世代終了番号と共に格納するマスタテーブルと、 マスタデータごとの有効世代番号を格納する世代管理テ
    ーブルと、 前記世代管理テーブル内の有効世代番号が前記マスタテ
    ーブル内の世代開始番号と世代終了番号との間に入るマ
    スタデータが抽出されるビューと、 前記マスタテーブルに対する更新と参照の排他制御を行
    うための排他フラグとを含むデータベースと、 全件配信されてくるマスタデータのマスタレコードを1
    つずつ読み込み、前記世代管理テーブルを参照して得た
    有効世代情報を1つ増数した番号を前記世代開始番号、
    最大値を前記世代終了番号として、前記マスタテーブル
    に挿入するデータ挿入処理手段と、 前記マスタレコードの挿入終了後に前記排他フラグをセ
    ットし、最後にリセットする排他制御処理手段と、 前記排他フラグのセットが正常終了すれば前記世代管理
    テーブルの有効世代番号を1つ増数する世代更新処理手
    段とを含むマスタ組込処理アプリケーションと、 前記ビューを介して前記マスタテーブルを参照する参照
    側アプリケーションとを備えたことを特徴とするデータ
    ベース排他制御システム。
  4. 【請求項4】 マスタレコードをその世代開始番号およ
    び世代終了番号と共に格納するマスタテーブルと、 マスタレコードごとの有効世代番号を格納する世代管理
    テーブルと、 前記世代管理テーブル内の有効世代番号が前記マスタテ
    ーブル内の世代開始番号と世代終了番号との間に入るマ
    スタレコードが抽出されるビューと、 前記マスタテーブルに対する更新と参照の排他制御を行
    うための排他フラグとを含むデータベースと、 前回配信のマスタデータとの差分のみが配信されてくる
    マスタデータのマスタレコードを1つずつ読み込み、前
    記マスタテーブルに対して追加/更新/削除するデータ
    処理手段と、 前記マスタレコードの追加/更新/削除終了後に前記排
    他フラグをセットし、最後にリセットする排他制御処理
    手段と、 前記排他フラグのセットが正常終了すれば前記世代管理
    テーブルの有効世代番号を1つ増数する世代更新処理手
    段とを含むマスタ組込処理アプリケーションと、 前記ビューを介して前記マスタテーブルを参照する参照
    側アプリケーションとを備えたことを特徴とするデータ
    ベース排他制御システム。
  5. 【請求項5】 前記マスタレコードの追加時には、前記
    世代管理テーブルを参照して得た有効世代情報を1つ増
    数した番号を前記世代開始番号、最大値を前記世代終了
    番号とし、 また前記マスタレコードの更新時には、現在有効なマス
    タレコードの前記世代終了番号を前記有効世代番号と
    し、かつ有効世代情報を1つ増数した番号を前記読み込
    まれたマスタレコードの世代開始番号、最大値を世代終
    了番号とし、 また前記マスタレコードの削除時には、現在有効なマス
    タレコードの前記世代終了番号を前記有効世代番号とす
    ることを特徴とする請求項4に記載のデータベース排他
    制御システム。
  6. 【請求項6】 マスタデータをその世代開始番号および
    世代終了番号と共に格納するマスタテーブルと、マスタ
    データごとの有効世代番号を格納する世代管理テーブル
    と、前記世代管理テーブル内の有効世代番号が前記マス
    タテーブル内の世代開始番号と世代終了番号との間に入
    るマスタデータが抽出されるビューと、前記マスタテー
    ブルに対する更新と参照の排他制御を行うための排他フ
    ラグとを含むデータベースに対するデータベース排他制
    御方法であって、 全件配信されてくるマスタデータのマスタレコードを1
    つずつ読み込む手順と、 前記世代管理テーブルを参照して得た有効世代情報を1
    つ増数した番号を前記世代開始番号、最大値を前記世代
    終了番号として、前記読み込んだマスタレコードに付加
    して前記マスタテーブルに挿入する手順と、 前記マスタレコードの挿入終了後に前記排他フラグをセ
    ットする手順と、最後にリセットする排他制御処理手段
    と、 前記排他フラグのセットが正常終了すれば前記世代管理
    テーブルの有効世代番号を1つ増数する手順と、 前記排他フラグをリセットする手順とを有することを特
    徴とするデータベース排他制御方法。
  7. 【請求項7】 マスタレコードをその世代開始番号およ
    び世代終了番号と共に格納するマスタテーブルと、マス
    タレコードごとの有効世代番号を格納する世代管理テー
    ブルと、前記世代管理テーブル内の有効世代番号が前記
    マスタテーブル内の世代開始番号と世代終了番号との間
    に入るマスタレコードが抽出されるビューと、前記マス
    タテーブルに対する更新と参照の排他制御を行うための
    排他フラグとを含むデータベースに対するデータベース
    排他制御方法であって、 前回配信のマスタデータとの差分のみが配信されてくる
    マスタデータのマスタレコードを1つずつ読み込む手順
    と、 前記マスタテーブルに対して追加/更新/削除する手順
    と、 前記マスタレコードの追加/更新/削除終了後に前記排
    他フラグをセットする手順と、 前記排他フラグのセットが正常終了すれば前記世代管理
    テーブルの有効世代番号を1つ増数する手順と、 前記排他フラグをリセットする手順とを有し、 前記マスタレコードの追加時には、前記世代管理テーブ
    ルを参照して得た有効世代情報を1つ増数した番号を前
    記世代開始番号、最大値を前記世代終了番号とし、 また前記マスタレコードの更新時には、現在有効なマス
    タレコードの前記世代終了番号を前記有効世代番号と
    し、かつ有効世代情報を1つ増数した番号を前記読み込
    まれたマスタレコードの世代開始番号、最大値を世代終
    了番号とし、 また前記マスタレコードの削除時には、現在有効なマス
    タレコードの前記世代終了番号を前記有効世代番号とす
    ることを特徴とするデータベース排他制御方法。
  8. 【請求項8】 マスタデータをその世代開始番号および
    世代終了番号と共に格納するマスタテーブルと、マスタ
    データごとの有効世代番号を格納する世代管理テーブル
    と、前記世代管理テーブル内の有効世代番号が前記マス
    タテーブル内の世代開始番号と世代終了番号との間に入
    るマスタデータが抽出されるビューと、前記マスタテー
    ブルに対する更新と参照の排他制御を行うための排他フ
    ラグとを含むデータベースに対するデータベース排他制
    御方法であって、 全件配信されてくるマスタデータのマスタレコードを1
    つずつ読み込む手順と、 前記世代管理テーブルを参照して得た有効世代情報を1
    つ増数した番号を前記世代開始番号、最大値を前記世代
    終了番号として、前記読み込んだマスタレコードに付加
    して前記マスタテーブルに挿入する手順と、 前記マスタレコードの挿入終了後に前記排他フラグをセ
    ットする手順と、最後にリセットする排他制御処理手段
    と、 前記排他フラグのセットが正常終了すれば前記世代管理
    テーブルの有効世代番号を1つ増数する手順と、 前記排他フラグをリセットする手順とをコンピュータに
    実行させるためのプログラムを記録したコンピュータ読
    込み可能な記録媒体。
JP2000324649A 2000-10-24 2000-10-24 データベース排他制御システム Pending JP2002132565A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000324649A JP2002132565A (ja) 2000-10-24 2000-10-24 データベース排他制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000324649A JP2002132565A (ja) 2000-10-24 2000-10-24 データベース排他制御システム

Publications (1)

Publication Number Publication Date
JP2002132565A true JP2002132565A (ja) 2002-05-10

Family

ID=18802147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000324649A Pending JP2002132565A (ja) 2000-10-24 2000-10-24 データベース排他制御システム

Country Status (1)

Country Link
JP (1) JP2002132565A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008040699A (ja) * 2006-08-04 2008-02-21 Fujitsu Ltd Hsm制御プログラム、hsm制御装置、hsm制御方法
US7752399B2 (en) 2005-03-30 2010-07-06 Nec Corporation Exclusion control method and information processing apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7752399B2 (en) 2005-03-30 2010-07-06 Nec Corporation Exclusion control method and information processing apparatus
JP2008040699A (ja) * 2006-08-04 2008-02-21 Fujitsu Ltd Hsm制御プログラム、hsm制御装置、hsm制御方法

Similar Documents

Publication Publication Date Title
US10642696B2 (en) Copying compressed pages without uncompressing the compressed pages
JP3593366B2 (ja) デ−タベ−ス管理方法
US6873995B2 (en) Method, system, and program product for transaction management in a distributed content management application
US6564215B1 (en) Update support in database content management
JP4880668B2 (ja) 冗長データストアにおける非同期データを識別するための、およびそれを再同期させるための装置および方法
US8700574B2 (en) Pourover journaling
US7281084B1 (en) Method and apparatus for modifying a retention period
US8055861B2 (en) Methods and apparatus for managing deletion of data
US20050193024A1 (en) Asynchronous peer-to-peer data replication
JP4467257B2 (ja) データベース管理方法および装置並びにその処理プログラム
JPH1185598A (ja) 電子ファイリングシステム、同システムの文書管理方法、及び記録媒体
CN103842969A (zh) 信息处理系统
JP4806168B2 (ja) テーブルに対して行われる変更を識別する識別方法及びそのシステム
US7945538B2 (en) Method and arrangements for node recovery
JP3042600B2 (ja) 分散ファイルの同期方式
JP2002132565A (ja) データベース排他制御システム
CN106649756A (zh) 日志同步方法及装置
JP2001034518A (ja) 分散データベースシステムにおける主従関係情報同期方式
JP2002222107A (ja) データ同期装置
JP5626034B2 (ja) ファイルシステム
JPH09244933A (ja) データベースバックアップ方法及び装置
US11853321B1 (en) Data replication without in-place tombstones
JP2004355203A (ja) データの更新・履歴・集計管理方式
JPH0844609A (ja) データバックアップ方法
JP7428894B2 (ja) 情報処理装置、情報処理システム、及び情報処理プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050913

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060823