JP3512439B2 - チェックイン・チェックアウトモデルにおける施錠方式 - Google Patents

チェックイン・チェックアウトモデルにおける施錠方式

Info

Publication number
JP3512439B2
JP3512439B2 JP16899993A JP16899993A JP3512439B2 JP 3512439 B2 JP3512439 B2 JP 3512439B2 JP 16899993 A JP16899993 A JP 16899993A JP 16899993 A JP16899993 A JP 16899993A JP 3512439 B2 JP3512439 B2 JP 3512439B2
Authority
JP
Japan
Prior art keywords
transaction
check
data
management unit
time
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
JP16899993A
Other languages
English (en)
Other versions
JPH0728679A (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 JP16899993A priority Critical patent/JP3512439B2/ja
Priority to DE4420451A priority patent/DE4420451C2/de
Priority to KR1019940013263A priority patent/KR0126245B1/ko
Publication of JPH0728679A publication Critical patent/JPH0728679A/ja
Priority to US08/702,858 priority patent/US5809503A/en
Application granted granted Critical
Publication of JP3512439B2 publication Critical patent/JP3512439B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • 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/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • 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/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はチェックイン・チェック
アウトモデルにおける施錠方式に関する。近年,クライ
アント・サーバ型のワークステーション等の情報処理シ
ステムにおいて,共用のデータベースの資源にアクセス
してトランザクション処理をする方式が利用されてい
る。この場合,銀行のオンラインシステムのように,ト
ランザクションの処理単位が短い場合は,クライアント
からの要求に対してサーバが備えるデータベースに対す
るトランザクション処理が高速に行われる。
【0002】このようなシステムをトランザクションの
長さや利用形態が異なるCAD(Computer Aided Desig
n)や,CASE(Computer Aided Software Environmen
t )等のエンジニアリング分野のデータの格納庫として
データベースを適用することが望まれ,その試みが頻繁
に行われている。そして,複数の開発者による設計業務
等の協調作業を支援するファイルシステムでは,従来の
一般的な利用形態であるチェックイン・チェックアウト
モデルに加えて,データベースの利点であるトランザク
ションサービス,高度なデータモデル,データ検索等の
処理機能等の利点を生かすことができるデータベースが
導入されている。
【0003】このチェックイン・チェックアウトモデル
を,データベースに導入することによりエンジニアリン
グ分野に固有のトランザクションの性質である編集作業
が長時間にわたったり,対話的な作業であることから発
生する種々の問題を解決する。
【0004】
【従来の技術】図5は従来のトランザクションモデルの
構成図,図6は従来のチェックイン・チェックアウトモ
デルの構成図である。
【0005】図5において,クライアントA,クライア
ントB及びサーバSはそれぞれ個別のワークステーショ
ン上に設けられている,サーバSには各クライアント
A,Bが共用するパブリックデータベースDBが設けら
れている。具体的には,例えば,パブリックデータベー
スDBが銀行の元帳データを保持し,サーバがその管理
を行うワークステーションに搭載され,クライアント
A,クライアントBがサーバに対しオンラインで接続す
る端末(ワークステーション)に搭載されているものと
する。この構成では,クライアントAやBからパブリッ
クデータベースDBに対しその内容を参照したり,内容
を更新する要求が発生すると,サーバは要求に応じてト
ランザクションの処理を実行する。この場合,処理され
るトランザクションのデータは,短いデータであるため
高速に処理が行われると共に,発生した順に処理が実行
される。
【0006】従って,一方のクライアントAから要求さ
れたトランザクション処理により,パブリックデータベ
ースDBの内容が更新された後に,他のクライアントB
がパブリックデータベースDBの内容を参照すると,更
新された後の内容が得られて,時間経過に応じて発生し
たトランザクションに対応してデータが発生し,データ
の一貫性が保障される。
【0007】このような,トランザクションモデルをC
ADやCASE等のエンジニアリング業務に適用する
と,クライアントによる作業の性質上,パブリックデー
タベースDBを長い時間(例えば数時間〜数日)にわた
って占有して,会話的に使用されてしまい,長時間にわ
たる資源の占有による性能の劣化か,デッドロックが起
こった時の長時間にわたる作業のアボート等の問題を引
き起こす。これを改善する方式として,図6に示すチェ
ックイン・チェックアウトモデルが利用されている。
【0008】図6に示すチェックイン・チェックアウト
モデルの構成では,サーバSにパブリックデータベース
DBを設ける点は図5と同様であるが,各クライアント
A,BにそれぞれプライベートデータベースPDB1,
PDB2が設けられ,プライベートデータベースPDB
1,PBD2は,それぞれのクライアントA,Bのユー
ザ毎にアクセス権を与え,パブリックデータベースDB
のアクセス権は利用者全員に与えられクライアントA,
Bにより共有される。
【0009】クライアントAのユーザが,パブリックデ
ータベースDBを使用して編集等を行う場合,サーバS
に対し必要なデータの複写を要求すると,サーバSはパ
ブリックデータベースDBからデータを取り出して,ク
ライアントAに転送され,クライアントAはそのデータ
を自分用のプライベートデータベースPDB1に複写す
る。この処理をチェックアウトという。クライアントA
が,複写したデータを保持するプライベートデータベー
スPDB1について,長時間にわたって,会話型のデー
タについて編集等の処理を行うことができる。クライア
ントBも,同様にサーバSからパブリックデータベース
DBからチェックアウトにより必要なデータを,自分用
のプライベートデータベースPDB2に格納して処理を
行うことができる。
【0010】クライアントAがプライベートデータベー
スPDB1の内容について編集等の処理を終了した場
合,そのデータをサーバSのパブリックデータベースD
Bへ戻して更新する。その場合,クライアントAによ
り,プライベートデータベースPDB1を取り出して,
サーバSのパブリックデータベースDBに戻す処理をチ
ェックインという。
【0011】従来の図5に示す構成において,データベ
ースのデータの一貫性を保つために,二相施錠方式が用
いられる。ここで,データの一貫性(または直列可能
性)とは,トランザクションの発生順に従ってデータベ
ースの内容が変化することを保障することで,あるデー
タDに対するトランザクションによりD’に更新する処
理を実行している間に,データDに対し他のトランザク
ションによる処理が発生する二重更新や,障害発生時の
更新の紛失等の発生によりデータの一貫性が保たれな
い。
【0012】従来の二相施錠方式とは,一つのトランザ
クション内において,データを施錠する相とデータの施
錠を解除する相に分けて,他のトランザクションを締め
出す施錠(ロック)を行うよう管理する方式である。
【0013】一方,チェックイン・チェックアウトモデ
ルでは,チェックアウトした後データを編集する等の処
理に長時間かかるため,上記図5のような厳密なデータ
の一貫性を保つ方式は現実的ではない。そのため,チェ
ックイン・チェックアウトモデルでは緩い施錠方式が用
いられている。この緩い施錠方式では,トランザクショ
ンに基づくデータの一貫性を保持することはせず,チェ
ックアウトの相とチェックインの相が二相に分かれてい
なかったり,更新モードでチェックアウトしているデー
タを,他のユーザが参照モードでチェックアウトするこ
とを許す方式である。
【0014】
【発明が解決しようとする課題】上記図5に示すような
トランザクション方式による既存のデータベースに,図
6のようなチェックイン・チェックアウトモデルを組み
込むことにより短時間の処理と長時間の処理を同じシス
テムにより実現することが要求されている。例えば,C
ADにおいて,データベースからチェックアウトした設
計データに対して会話型で設計を行っている時に,必要
な部品についてのデータをデータベースから参照するこ
とができるようなシステムである。
【0015】ところが,既存のデータベースにチェック
イン・チェックアウトモデルを組み込む時,既存のデー
タベースの上記二相施錠方式とチェックイン・チェック
アウトモデルにおける上記緩い施錠方式が相互に影響し
合い,既存のデータベースのデータの一貫性が損なわれ
る場合がある。
【0016】二相施錠方式によるトランザクションとチ
ェックイン・チェックアウトモデルの単純な併合におけ
る従来例のデータの一貫性の損失の具体例を図7に示
す。図7において,LTはクライアントAによるチェッ
クイン・チェックアウトモデルにおけるトランザクショ
ンを表し,STはクライアントBの二相施錠方式による
トランザクションを表している。データベースに格納さ
れた初期値では口座X,口座Yが共に残高100万円で
ある。この状態で,LTは,口座Xから口座Yに20万
円を振り込む仕事をし,STは口座Xと口座Yの残高の
合計を計算する仕事をするものとする。
【0017】最初に,LTにより口座Xをチェックアウ
トして,20万円を引算する処理を行い(X=80にな
る),次に口座Yをチェックアウトして,20万円を加
算する処理を行う(Y=120になる)。この後各X,
Yをチェックインする。
【0018】一方,STは口座Xと口座Yを参照(リー
ド)して加算するトランザクション処理を行う時,最初
のオープントランザクションに続く口座Xのリードが上
記LTによるXのチェックアウトの後に実行可能となっ
て,X=100を読み出す。
【0019】この後,口座YのリードはLTによるチェ
ックインの後に可能となって,リードが行われると,こ
の時Y=120(LTにより加算された結果のデータ)
がリードされるため,「PRINT X+Y」の処理に
よりX+Y=220が得られる。この結果は,X+Y=
200という正解と異なり,誤ったデータである。
【0020】このようにデータに誤りが発生する方式は
問題がある。これに対しチェックイン・チェックアウト
モデルを既存のデータベースの施錠方式に合わせて,こ
の問題を解決することが考えられる。しかし,チェック
イン・チェックアウトモデルを用いて複数の開発者によ
る設計作業をするとき,ある開発者が修正している設計
図のある部分を他の開発者が参照したい場合が頻繁にあ
る。さらに,修正作業等は一般的に長期にわたるため
に,その修正作業が終わるのを長時間待つことは現実に
許容できないという問題がある。
【0021】本発明は既存のデータベースのトランザク
ションに基づくデータの一貫性を保持しつつチェックイ
ン・チェックアウトモデルの長時間にわたる資源の占有
による性能の劣化を避けることができるチェックイン・
チェックアウトモデルにおける施錠方式を提供すること
を目的とする。
【0022】
【課題を解決するための手段】図1は本発明の原理構成
図である。図1において,1はサーバ,2は長時間トラ
ンザクション管理部,3はチェックアウト部,4はチェ
ックイン部,5は短時間トランザクション管理部,6は
参照部,7はトランザクションリスト,7aは更新リス
ト,7bは参照リスト,8はパブリックデータベース,
9はクライアントである。
【0023】本発明は従来のトランザクションと区別す
るためチェックインとチェックアウトの間を長時間トラ
ンザクションとし,トランザクションがデータのチェッ
クアウトだけからなる第一相と,データのチェックイン
だけからなる第二相との二つの相からなるようにし,サ
ーバは長時間トランザクション毎にどちらの相の状態に
あるか判別し,チェックアウト後にチェックインする時
他のトランザクションの状態に応じてチェックインの時
間を制御して一貫性を保つようにする。
【0024】
【作用】クライアント9からあるデータを更新モードで
チェックアウトする要求をすると,サーバ1の長時間ト
ランザクション管理部2は二相に分かれたチェックアウ
トであることを識別し,正当であれば長時間トランザク
ションがオープンしてチェックアウト部3を起動する。
チェックアウト部3は要求されたデータをチェックアウ
トする。すなわち,パブリックデータベース8から取り
出しクライアント9側へ複写する。この時,トランザク
ションリスト7内の更新リスト7aに長時間トランザク
ションID(識別番号),データID及びトランザクシ
ョンのステータス(処理中,終了等)を登録する。
【0025】短時間トランザクション管理部5は,従来
の二相施錠方式によりデータを管理する(データベース
側で施錠管理を行う)。他のクライアントからあるデー
タを参照する短時間トランザクションが発生すると,短
時間トランザクション管理部5は,そのデータが更新リ
スト7aに登録されているチェックアウトされたデータ
であるか識別し,同じデータの場合は参照リスト7bに
トランザクションID,データID及びステータスを登
録し,この短時間トランザクションが終了すると登録情
報を参照リスト7bから削除する。なお,データの参照
は,クライアントから参照モードでチェックアウトを要
求した場合にも,長時間トランザクション管理部2がト
ランザクションをオープンしてチェックアウト部3によ
り実行される場合もある。その場合も更新リスト7aの
識別や参照リスト7bへの登録が同様に行われる。
【0026】クライアント9がデータ操作を終了して,
データのチェックインを要求すると,サーバ1の長時間
トランザクション管理部2のチェックイン部4は,その
チェックインがチェックアウトに対応する二相に分かれ
たものであるか識別し,正当であると,次にそのデータ
を参照するオープンされた他のトランザクションがある
か,参照リスト7bを調べて判別する。オープンしてい
る場合には,そのトランザクションが終了(クローズ)
するまで待機し,無い場合はチェックインを行いパブリ
ックデータベース8を更新する。このチェックイン待ち
状態の時,そのチェックアウトしたデータを他のトラン
ザクションが参照するのを一時的に禁止する。
【0027】このように,同一データに対しチェックイ
ン・チェックアウト機構によるチェックアウトとトラン
ザクションによる参照が同時に発生すると,チェックア
ウトの前にチェックアウトとチェックインの間にあるト
ランザクションによる参照を強制的にスケジューリング
し,トランザクションのデータの一貫性を保持する。
【0028】
【実施例】図2は本発明の実施例のシステム構成図,図
3は実施例の処理フローである。図2において,20〜
24はクライアント側の構成であり,実際には複数のク
ライアントがサーバに対して接続されるが,図には1つ
のクライアントだけ示す。20はユーザが占有するプラ
イベートデータベース,21はプライベートデータベー
ス20に入出力するデータのバッファ用のストレージ,
22はプライベートデータベース管理部,23は短時間
トランザクション管理部,24はサーバとの間の通信制
御を行う通信機能部である。
【0029】25〜29はサーバ側の構成であり,25
はクライアント側との通信制御を行う通信機能部,26
はクライアント側から要求された各種のトランザクショ
ン管理を行うトランザクション管理部,26aはデータ
の複写を伴わない参照(更新?)等のトランザクション
を管理する短時間トランザクション管理部,26bはデ
ータの複写を伴う(チェックイン・チェックアウト型)
の長時間トランザクション管理部,26cは更新モード
リスト,参照モードリストを含むトランザクションリス
トである。27はパブリックデータベース管理部,28
はバッファ用のストレージ,29はパブリックデータベ
ースである。
【0030】クライアント側は長時間トランザクション
の場合,サーバからパブリックデータベース29をチェ
ックアウトしてプライベートデータベース20に複写し
た後は,そのデータを占有するので,長時間トランザク
ションの管理を行う必要がないが,マルチプロセスによ
り同じユーザによる複数の短時間トランザクションが発
生してサーバのパブリックデータベース29を参照する
等の処理を行うため短時間トランザクション管理部23
が設けられている。
【0031】サーバ側は通信機能部25により複数のサ
ーバとの間で通信を行い,トランザクション管理部26
は要求されたトランザクションを識別して,チェックイ
ン・チェックアウトを行わない参照等のトランザクショ
ンは短時間トランザクション管理部26aで処理を行
い,チェックイン・チェックアウトモデル型の更新モー
ドや参照モードの長時間トランザクションについては長
時間トランザクション管理部26bで処理を行う。
【0032】トランザクションリスト26cは各トラン
ザクション管理部26a,26bの処理において,登録
したり,参照が行われ,更新リスト及び参照リストに
は,トランザクションID,データID及びステータス
情報が格納される。ステータス情報としては,トランザ
クションが処理中であるか,処理が終了したかを表し,
処理の終了状態として,トランザクションが実行されて
データに反映した状態(コミット)か,トランザクショ
ンが実行されないでトランザクション開始前の状態(ア
ボート)かを表示するコミットフラグが設けられてい
る。
【0033】パブリックデータベース管理部27はトラ
ンザクション管理部26からの指示によりパブリックデ
ータベース29に対しアクセスして,ストレージ28を
介してパブリックデータベース29から要求されたデー
タの取り出し,書き込みの管理を行う。
【0034】図2の実施例の構成において実行される,
本発明の施錠方式による処理フローを図3に示す。図3
において,最初にクライアント側で必要なデータをチェ
ックアウトし,パブリックデータベース(図2の29)
からプライベートデータベース(図2の20)に必要な
データを複写する。更新モードのチェックアウトの時
は,そのデータ(パブリックデータベース29内で)に
更新施錠をかける。参照モードの時は参照施錠をかける
(図3のS1)。この後,サーバ側のトランザクション
管理部26においてそのクライアントの識別子(ID)
とチェックアウトしたデータの識別番号(ID)とトラ
ンザクションの状態を示すコミットフラグをトランザク
ションリストに登録する(同S2)。この後,他のクラ
イアントがチェックアウトしたデータへの参照が起こっ
ても,既にそのデータに更新施錠がかかっていても,そ
の更新前の状態を保持しているパブリックデータベース
上のデータを参照できる。また,この参照が行われたこ
とでデータ一貫性を保つため,サーバ側のトランザクシ
ョンリスト(図2の26c)に登録する(図3のS
3)。
【0035】トランザクションリストに登録したトラン
ザクションがコミット(トランザクションが終了してデ
ータに反映した状態)またはアボート(トランザクショ
ンが失敗してトランザクション実行前の状態)した時,
リストのコミットフラグに終了状態を示すフラグをたて
る(図3のS4)。クライアント側でチェックアウトし
たデータについてプライベートデータベース(図2の2
0)上の編集作業が終了すると,クライアント側でサー
バ側にデータのチェックインを要求する(図3のS
5)。
【0036】この場合,チェックインするデータと同じ
データ(同じデータIDを持つデータ)に関連するトラ
ンザクションリスト(図2の26c)を調べる(図3の
S6)。この時,同じデータに関連する終了状態にない
コミットフラグをもつトランザクションが存在するか判
別する(図3のS7)。終了状態にないトランザクショ
ンが存在する場合,チェックアウトしているデータの参
照を禁止し,チェックインの終了を待機する状態に入る
(図3のS8)。この待機状態は,前記のトランザクシ
ョンが終了状態になると解除され,サーバでチェックイ
ン要求を実行して,要求されたデータをパブリックデー
タベース29にチェックインして終了する(図3のS
9)。
【0037】上記のS8の処理は,チェックインの待ち
の状態の時,他のトランザクションによるデータの参照
が連続して起こり,チェックインを実行できなくなる可
能性があるので,これに対処するために行われる。すな
わち,チェックイン待ち状態の時,そのチェックインの
前提となるチェックアウトで取り出したデータを他のト
ランザクションが参照するのを禁止する。この場合,チ
ェックアウトとチェックインの長期にわたる期間と,従
来の比較的短い参照等のトランザクションの期間を比較
すれば,その禁止による短いトランザクションの待ち時
間は無視できる。更新モードでチェックアウトしたデー
タを占有する長時間トランザクションがそのデータを参
照モードでチェックアウトした長時間トランザクション
がクローズ(終了)するのを待ち,性能が劣化すること
も考えられるが,通知機能を利用して待ち時間を短縮す
ることも可能である。さらに,短時間トランザクション
は,基本的な二相施錠方式によって管理されるので,短
時間トランザクションが長時間トランザクションを待つ
ことはない。
【0038】なお,図3の処理フローに示されないが,
図2のトランザクション管理部(特に図2の長時間トラ
ンザクション管理部26b)では,一つの長時間トラン
ザクション内でチェックインとチェックアウトの相が二
つに分割されていないような,ユーザの陽のチェックイ
ンやチェックアウトの要求を検出し,検出した場合はそ
の要求を実行させず,エラーメッセージを出す処理を行
う(具体的な処理内容は図示省略)。
【0039】本発明によるデータの一貫性を保持する具
体例を図4に示す。図4に示す具体例は,上記図7に示
す従来のデータの一貫性の損失の具体例に対応するもの
である。
【0040】図4において,LTはクライアントAによ
るチェックイン・チェックアウトの長時間トランザクシ
ョン,STはクライアントBによる参照の長時間トラン
ザクションを表している。サーバのパブリックデータベ
ースに格納された初期値では口座X,口座Yが共に残高
100万円である。この状態で,LTは,口座Xから口
座Yに20万円を振り込む仕事をし,STは口座Xと口
座Yの残高の合計を計算する仕事をするものとする。
【0041】最初に,LTにより口座Xをチェックアウ
トして,20万円を引算する処理,口座Yをチェックア
ウトして,20万円を加算する処理,及び口座Xのチェ
ックインまでの仕事と,STにおけるトランザクション
のオープン,口座Xの参照(リード)までは,上記図7
の場合と同じである。しかし,口座Yのチェックインの
処理を実行する時,このトランザクション(LT)で扱
うデータ(口座X)について他のトランザクション(S
T)が終了していないことを判別(上記図3に示すトラ
ンザクションリストにより判別)し,チェックインYを
待機する。その後,トランザクションSTにおいて,リ
ードYが実行され,X+Yのプリントを行った後,トラ
ンザクションがクローズされると,トランザクションL
TのチェックインYが実行される。この結果,トランザ
クションSTのX+Yの結果は“200”となり,上記
図7の従来例と異なり,データの一貫性を保つことがで
きる。
【0042】この例は,チェックインの実行時に関連し
たトランザクションがクローズするまで一時的な待ち状
態を導入することによりチェックイン・チェックアウト
モデルとトランザクションとの整合性を保ち統合する例
を示す。
【0043】
【発明の効果】本発明によれば従来のトランザクション
モデルにおけるデータの一貫性を壊したりすることな
く,チェックイン・チェックアウトモデルを従来のデー
タベースシステムに組み込むことができる。さらに,チ
ェックイン・チェックアウトモデルの施錠方式に新たな
施錠方式を取り入れることで,ユーザが運用上データの
一貫性を保持する必要がない。すなわち,従来のトラン
ザクションモデルとチェックイン・チェックアウトモデ
ルを併用する時,両者の利点を生かしつつ矛盾なく統一
することができる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】実施例のシステム構成図である。
【図3】実施例の処理フローである。
【図4】本発明によるデータの一貫性を保持する具体例
である。
【図5】従来のトランザクションモデルの構成図であ
る。
【図6】従来のチェックイン・チェックアウトモデルの
構成図である。
【図7】従来例のデータの一貫性の損失の具体例であ
る。
【符号の説明】
1 サーバ 2 長時間トランザクション管理部 3 チェックアウト部 4 チェックイン部 5 短時間トランザクション管理部 6 参照部 7 トランザクションリスト 7a 更新リスト 7b 参照リスト 8 パブリックデータベース 9 クライアント
フロントページの続き (56)参考文献 特開 平3−250219(JP,A) 特開 平2−176829(JP,A) 特開 平2−226347(JP,A) Walpole J.,Blair G.S.,Malik J.,Nico l J.R.,Maintaining Consistency in Di stributed Software Engineering Envir onments,Proceeding s of the 8th Inter national Conferenc e on Distributed C omputing Systems,米 国,IEEE,1988年 6月,p.418 −425 (58)調査した分野(Int.Cl.7,DB名) G06F 12/00,13/00 G06F 15/00,9/06

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 サーバが保持するパブリックデータベー
    スにクライアントがアクセスするチェックイン・チェッ
    クアウトモデルにおける施錠方式であって, サーバに,クライアントからのパブリックデータベース
    を複写するチェックアウト処理とデータを書き戻すチェ
    ックイン処理の各トランザクションを管理する長時間ト
    ランザクション管理部と,データの複写を行わないトラ
    ンザクションを管理する短時間トランザクション管理部
    とを備え, 前記各トランザクション管理部において実行されるトラ
    ンザクションの内容を表す情報を保持するトランザクシ
    ョンリストを設け, 前記長時間トランザクション管理部は,チェックアウト
    とチェックインの間に,同じデータに対し他のトランザ
    クションによりデータ参照の発生を前記トランザクショ
    ンリストにより検出すると,該データ参照のトランザク
    ションが終了するまでチェックインの実行を待機するこ
    とを特徴とするチェックイン・チェックアウトモデルに
    おける施錠方式。
  2. 【請求項2】 請求項1において, 前記長時間トランザクション管理部は,前記チェックア
    ウトとチェックインの間に発生したデータ参照のトラン
    ザクションが終了するのを待機するチェックインのトラ
    ンザクションが発生すると,他の同じデータを参照する
    トランザクションの実行を禁止することを特徴とするチ
    ェックイン・チェックアウトモデルにおける施錠方式。
  3. 【請求項3】 請求項1において, 前記トランザクションリストは,更新モードと参照モー
    ドに対応し,それぞれトランザクションの識別番号,デ
    ータの識別番号及びトランザクションのステータス情報
    を備え, 前記長時間トランザクション管理部及び短時間トランザ
    クション管理部は,それぞれトランザクションの実行に
    応じて,前記トランザクションリストを参照して,実行
    時に対応するモードのリストに登録し,終了時に削除す
    ることを特徴とするチェックイン・チェックアウトモデ
    ルにおける施錠方式。
JP16899993A 1993-07-08 1993-07-08 チェックイン・チェックアウトモデルにおける施錠方式 Expired - Fee Related JP3512439B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP16899993A JP3512439B2 (ja) 1993-07-08 1993-07-08 チェックイン・チェックアウトモデルにおける施錠方式
DE4420451A DE4420451C2 (de) 1993-07-08 1994-06-10 Sperrmechanismus für ein CHECK-IN/CHECK-OUT-Modell
KR1019940013263A KR0126245B1 (ko) 1993-07-08 1994-06-13 체크인/체크아웃모델용 록킹 메카니즘
US08/702,858 US5809503A (en) 1993-07-08 1996-08-26 Locking mechanism for check in/check out model which maintains data consistency amongst transactions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16899993A JP3512439B2 (ja) 1993-07-08 1993-07-08 チェックイン・チェックアウトモデルにおける施錠方式

Publications (2)

Publication Number Publication Date
JPH0728679A JPH0728679A (ja) 1995-01-31
JP3512439B2 true JP3512439B2 (ja) 2004-03-29

Family

ID=15878478

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16899993A Expired - Fee Related JP3512439B2 (ja) 1993-07-08 1993-07-08 チェックイン・チェックアウトモデルにおける施錠方式

Country Status (4)

Country Link
US (1) US5809503A (ja)
JP (1) JP3512439B2 (ja)
KR (1) KR0126245B1 (ja)
DE (1) DE4420451C2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930794A (en) * 1996-10-18 1999-07-27 Sagent Technologies, Inc. Database repository with deferred transactions
US6092055A (en) 1997-05-14 2000-07-18 Portal Software, Inc. Method and apparatus for providing a clean accounting close for a real time billing system
US6047284A (en) 1997-05-14 2000-04-04 Portal Software, Inc. Method and apparatus for object oriented storage and retrieval of data from a relational database
US6012059A (en) * 1997-08-21 2000-01-04 Dataxel Corporation Method and apparatus for replicated transaction consistency
US6134552A (en) * 1997-10-07 2000-10-17 Sap Aktiengesellschaft Knowledge provider with logical hyperlinks
WO1999029120A1 (de) * 1997-11-27 1999-06-10 Siemens Aktiengesellschaft Verfahren zum aktualisieren von datensätzen in kommunikationssystemen
US6941360B1 (en) * 1999-02-25 2005-09-06 Oracle International Corporation Determining and registering participants in a distributed transaction in response to commencing participation in said distributed transaction
JP3844933B2 (ja) 2000-02-16 2006-11-15 株式会社日立製作所 データベースサーバ処理方法
GB2366051B (en) * 2000-05-02 2005-01-05 Ibm Method, system and program product for private data access or use based on related public data
KR20030035122A (ko) * 2001-10-30 2003-05-09 포디홈네트 인터넷 정보 가전용 내장형 데이터베이스 관리시스템에서의 다중 버전을 이용한 동시성 제어 방법
US8099393B2 (en) 2002-03-22 2012-01-17 Oracle International Corporation Transaction in memory object store
CN1307811C (zh) * 2003-06-20 2007-03-28 英业达股份有限公司 红外线数据同步模块及其方法
US7243088B2 (en) * 2003-08-06 2007-07-10 Oracle International Corporation Database management system with efficient version control
US7269588B1 (en) 2003-09-24 2007-09-11 Oracle International Corporation Neighborhood locking technique for increasing concurrency among transactions
US7555481B1 (en) 2003-10-28 2009-06-30 Oracle Corporation Method and apparatus for increasing transaction concurrency by early release of locks in groups
JP4526058B2 (ja) * 2003-11-07 2010-08-18 シヤチハタ株式会社 電子印鑑システム
US7739244B2 (en) * 2004-10-14 2010-06-15 Oracle International Corporation Operating logging for online recovery in shared memory information systems
US7984248B2 (en) * 2004-12-29 2011-07-19 Intel Corporation Transaction based shared data operations in a multiprocessor environment
US8223935B2 (en) 2005-04-30 2012-07-17 Oracle International Corporation Revenue management systems and methods
WO2007002841A2 (en) 2005-06-28 2007-01-04 Oracle International Corporation Revenue management system and method
EP1938193A4 (en) 2005-07-28 2010-08-04 Oracle Int Corp SYSTEM AND METHOD FOR MANAGING RECIPES
US8223777B2 (en) 2005-11-15 2012-07-17 Oracle International Corporation Gateway for achieving low latency and high availability in a real time event processing system
US7640242B2 (en) * 2006-03-24 2009-12-29 Oracle International Corp. Light weight locking model in the database for supporting long duration transactions
US7747591B2 (en) * 2006-03-24 2010-06-29 Oracle International Corp. Web feature service (WFS) locking support based on light-weight locking model in the database
US8751532B2 (en) 2006-05-11 2014-06-10 International Business Machines Corporation Nomadic data collection and management method including pessimistic locking of data
US8219971B2 (en) * 2007-08-20 2012-07-10 International Business Machines Corporation System and method for source code sectional locking for improved management
FR2931272B1 (fr) * 2008-05-13 2012-04-20 Thales Sa Procede d'import export de donnees d'une base de donnees

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4224664A (en) * 1976-05-07 1980-09-23 Honeywell Information Systems Inc. Apparatus for detecting when the activity of one process in relation to a common piece of information interferes with any other process in a multiprogramming/multiprocessing computer system
US4249241A (en) * 1978-10-23 1981-02-03 International Business Machines Corporation Object access serialization apparatus for a data processing system
JPS6394343A (ja) * 1986-10-09 1988-04-25 Nec Corp フアイル制御システム
JPS63113644A (ja) * 1986-10-30 1988-05-18 Fujitsu Ltd デ−タベ−スの排他制御方式
US5175852A (en) * 1987-02-13 1992-12-29 International Business Machines Corporation Distributed file access structure lock
JPS63247849A (ja) * 1987-04-02 1988-10-14 Nec Corp トランザクシヨン処理システム
US4881166A (en) * 1987-07-24 1989-11-14 Amoco Corporation Method for consistent multidatabase transaction processing
US5193188A (en) * 1989-01-05 1993-03-09 International Business Machines Corporation Centralized and distributed wait depth limited concurrency control methods and apparatus
JP2740238B2 (ja) * 1989-02-27 1998-04-15 日本電気株式会社 ファイル排他制御装置
JPH03113674A (ja) * 1989-09-28 1991-05-15 Nec Corp 設計データ菅理システム
JPH03118645A (ja) * 1989-10-02 1991-05-21 Nippon Telegr & Teleph Corp <Ntt> データベースの排他制御方法
JPH03123946A (ja) * 1989-10-07 1991-05-27 Nippon Telegr & Teleph Corp <Ntt> データベースの排他制御方法
US5247672A (en) * 1990-02-15 1993-09-21 International Business Machines Corporation Transaction processing system and method with reduced locking
US5261089A (en) * 1990-05-16 1993-11-09 International Business Machines Corporation Optimization of commit procedures by utilizing a two-phase commit procedure only when necessary
DE4216871C2 (de) * 1991-05-21 2001-09-06 Digital Equipment Corp Ausführungsordnen zum Sicherstellen der Serialisierbarkeit verteilter Transaktionen
US5280612A (en) * 1991-11-26 1994-01-18 International Business Machines Corporation Multiple version database concurrency control system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Walpole J.,Blair G.S.,Malik J.,Nicol J.R.,Maintaining Consistency in Distributed Software Engineering Environments,Proceedings of the 8th International Conference on Distributed Computing Systems,米国,IEEE,1988年 6月,p.418−425

Also Published As

Publication number Publication date
US5809503A (en) 1998-09-15
DE4420451A1 (de) 1995-01-19
DE4420451C2 (de) 1998-05-28
KR0126245B1 (ko) 1998-04-03
JPH0728679A (ja) 1995-01-31
KR950004014A (ko) 1995-02-17

Similar Documents

Publication Publication Date Title
JP3512439B2 (ja) チェックイン・チェックアウトモデルにおける施錠方式
Traiger et al. Transactions and consistency in distributed database systems
US6275863B1 (en) System and method for programming and executing long running transactions
Biliris et al. ASSET: A system for supporting extended transactions
EP1040433B1 (en) A fine-grained consistency mechanism for optimistic concurrency control using lock groups
CN101495976B (zh) 用于直接更新软件事务存储器的方法和***
US7103597B2 (en) Adaptive transaction manager for complex transactions and business process
US7599901B2 (en) Processing data-centric business models
US6597366B1 (en) Transparent general purpose object isolation for multi-tier distributed object environments
US5386559A (en) Variant domains and variant maps in a versioned database management system
JP2002528789A (ja) モデリングツール作成のための装置と方法
JP2006072986A (ja) データストアに対して動的に生成されるオペレーションを検証すること
JP2011003200A (ja) 長時間のトランザクションを管理する方法およびシステム
US6859919B1 (en) Object modeling tool with meta model semantic registry (rules) a meta data manager for object(s) properties an object/property interface for instance(s) of objects/properties received via object/property interface of the object factory registry
Bennett et al. A distributed object oriented framework to offer transactional support for long running business processes
Silva et al. A distributed transaction model based on mobile agents
US20080307433A1 (en) Locking or Loading an Object Node
JP3970524B2 (ja) 複数オペレーション間の排他制御方法
Laing et al. Transaction Management Support in the VMS Operating System Kernel
AU2003288151B2 (en) Avoiding data loss when refreshing a data warehouse
US11940994B2 (en) Mechanisms for maintaining chains without locks
US20240086387A1 (en) Delta transition table for database triggers
Ross Virtual Files: A Framework for Experimental Design
Sarferaz Transactional Programming Model
Mukhopadhyay et al. Practical approaches to maintaining referential integrity in multidatabase systems

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040107

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

Free format text: PAYMENT UNTIL: 20080116

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090116

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100116

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110116

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees