JPH081610B2 - デ−タベ−スのロツキング - Google Patents

デ−タベ−スのロツキング

Info

Publication number
JPH081610B2
JPH081610B2 JP58503698A JP50369883A JPH081610B2 JP H081610 B2 JPH081610 B2 JP H081610B2 JP 58503698 A JP58503698 A JP 58503698A JP 50369883 A JP50369883 A JP 50369883A JP H081610 B2 JPH081610 B2 JP H081610B2
Authority
JP
Japan
Prior art keywords
record
records
locking
graph
root
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 - Lifetime
Application number
JP58503698A
Other languages
English (en)
Other versions
JPS59502041A (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.)
AT&T Corp
Original Assignee
AT&T 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 AT&T Corp filed Critical AT&T Corp
Publication of JPS59502041A publication Critical patent/JPS59502041A/ja
Publication of JPH081610B2 publication Critical patent/JPH081610B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Landscapes

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

Description

【発明の詳細な説明】 技術分野 本発明はデータベース、特に単一のデータベースの内
容を多数で同時に更新しないようにするためのデータベ
ースのロッキングに関する。
背景技術 ディジタル記憶装置とプログラム方式によるディジタ
ル計算機をそれぞれデータベース記憶媒体ならびにデー
タベースマネージャとして使用することは良く知られて
いる。記憶装置は大量の情報をディジタル形式で記憶す
るのに用いられ、一方データベースマネージャはデータ
ベースを読み、書き、探索するための計算機プログラム
である。
レコードを基本的なデータベースの単位として定義す
るのは便利である。各レコードは多数のフィールドから
成り、フィールドはレコードの内容を形成する特定の情
報を記憶する。多数の類似したレコードが集ってファイ
ルを形成する。トランザクションとはデータベースファ
イルをある矛盾のない状態からそのレコードのフィール
ドを変更して他の矛盾のない状態にする段階すなわち手
続きの集合である。
データベース中のレコードを変更して、場合によって
は誤りを修正し、場合によっては在庫の追加や減少、資
源の消費のような物理的世界の変化を反映してデータベ
ース中のレコードを変更することは頻々必要になる。実
際に、多数のユーザを持つ大きなデータベースでは1人
以上のユーザが同時にレコードにアクセスしてそのレコ
ードを変更しようとすることができる。この多数同時ア
クセスの可能性によってデータベースの内容にあいまい
さが生ずることがないようにガードする必要がある。す
なわち、一人のユーザによって使用されるデータベース
のレコードはすべて他のユーザが使用しないようにロッ
クアウトしなければならない。これが多数のトランザク
ションが同時に存在するときの周知のデータロッキング
の問題である。
任意のユーザがそのデータベースにアクセスしている
間には全データベースをロックアウトすることももちろ
ん可能である。しかしデータベースに対してアクセスで
きる直列トランザクションの数は許容できなくなる位に
低くなるので、これは多数のユーザを持つデータベース
では現実的な解決方法ではない。このときにはシステム
のスループットは応用の要求を満足できないものにな
る。例えば航空座席予約システムでは1日の便の予約の
ために1日の時間より長い時間がかかってしまうような
ことにもなる。
これに対してすべての他のレコードをアクセスできる
ようにしておいて、実際にアクセスされているレコード
だけをロックアウトすることもできる。しかし各データ
レコードをロック、アンロックしたりするにはかなりの
時間を必要とするから、すべてのレコードアクセスにつ
いてこのような時間を消費していてもシステムのスルー
プットは許容できるレベルより下ってしまう。
望ましいことは、データベース全体の比較的小さいサ
ブセットで、個々のレコードの中でかなりの相関を持っ
た集合であるレコードのブロックをロックアウトすると
いう妥協である。サブセットのロッキングは実行するこ
とができ、今までも任意に行われて来たから、最適の機
能のためにはいくつかの他のパラメータが適合していな
ければならない。データのロックをかけたり、外したり
するためのオーバヘッドは最小にしなればならず、ロッ
クされるサブセットは任意に選択できるようになってい
るべきである。
発明の要約 本発明の一実施例に従えば、データベース中のデータ
レコードのサブセットはデータのロックアウトのために
最適に選択されており、このようなロックアウトは各ト
ランザクションにひとつのローカルリストによって助け
られる。データレコード間の内部的に明白な関係を使っ
て、変更によって相互に最も影響がありそうなレコード
を含むロッキングのレコードサブセットが選択される。
さらにファイルシステムによって各サブセットのひとつ
のレコードだけがロックアウトされる。各サブセットの
残りのレコードの識別情報は各トランザクションに関連
しこれらの他のレコードのロックアウト状態を判定する
ための返送することができる各トランザクションに関連
したロックアウトリストの中に保たれる。これによって
ファイルシステムのロックアウトシステムの負荷は最小
化される。
図面の簡単な説明 第1図はコンピュータによるデータベース管理システ
ムのロッキングの手順を示す一般的ブロック図、 第2図は設備のユーザに対して設備を割当てるための
データベースのひとつの応用のブロック図、 第3図は電話サービスを提供するために用いられる電
話の外部プラント設備の一般的ブロック図、 第4図は特定の電話加入者にサービスを与えるのに用
いられる典型的な外部プラント設備のグラフ表現、 第5図は第4図の設備の在庫を表わす有向グラフ、 第6図は第4図の設備の接続を表わす有向グラフ、 第7図は第6図のグラフのひとつのノードの完全なグ
ラフ表現、 第8図はロック情報を表わす第7図のノードの典型的
なデータベースレコード、 第9図は第6図のグラフのノードをロックするための
有向性非循環グラフの一部のグラフによる表現である。
詳細な説明 第1図を参照すれば、図に典型的なデータベース管理
システムのファイルアクセスプロセスの一般的フローチ
ャートを示している。プロセスはボックス10で始まり、
示されたレコード識別(rid)番号によって識別される
レコードアクセスするための要求が与えられる(FETC
H)。ボックス11においては、このレコードのロック状
態がローカルあるいはグローバルのロッキング情報を使
ってチエックされる。もし何か他のトランザクションに
よってレコードがロックされていれば、現在のトランザ
クションは単にロックがクリアされるのを待つ。
アクセスされるレコードがもはやロックされていなく
なると、ボックス12に入り、この状態ではアクセスされ
るべきレコードがロックされ、このユーザがレコードを
使用しているときには、他のユーザがアクセスするのを
防止することになる。レコードアクセスが一度ロックさ
れると、データベースマネージャはボックス13でレコー
ドにアクセスすることができ、これを計算機のワークス
ペースに持って来る。ボックス14で示されるように、応
用プログラムはレコードの内容を変化するためにレコー
ドを処理することができる。
レコードの取扱いあるいは使用が完了すると、ボック
ス15を使ってレコードをデータベースに戻すことができ
る。最後にボックス16において、レコードがデータベー
スに戻された後、ファイルアクセスはロック解除され、
手続きは元の要求した点に戻る。
第1図のアクセス手続きは完全に一般的であり、実質
的にすべてのデータベースシステムで使用することがで
きる。このプロセスをもっと詳しく説明するために、特
定のデータベースとデータベース応用について詳しく述
べ、本発明のロッキング手続きをより容易に理解できる
ようにしよう。
第2図を参照すれば、図には特定のデータベース応用
の一般的ブロック図を示している。第2図の情報処理シ
ステムは磁気ディスクパックに含まれているものと図示
されたデータベース30、データベースマネージャ31、応
用プログラム32のグループ、入力装置33及び出力装置34
から成る。データベースマネージャ31と応用プログラム
は共にプログラマによってソースコードで書かれ、コン
パイプログラム(図示せず)によってオブジェクトコー
ドにコンパイルされ、汎用データプロセッサ35の内部メ
モリーに格納された計算機のプログラムである。ファイ
ルロッキングの機構は通常はデータベースマネージャ31
の一部である。
入力装置33はデータベース30中の情報を要求するサー
ビスのために応用プログラム32に対して要求を与える。
応用プログラム32はサービス要求を満足するためにどの
ような情報が必要かを判定して特定のレコードのための
要求をフォーマット化し、その要求をデータベースマネ
ージャ31に転送する。データベースマネージャ31はレコ
ードを検索し蓄積する。
データベースマネージャ31のレコードアクセスルーチ
ンはデータベース30から所望のレコードを検索し、情報
を値として応用プログラム32に戻す。これらのレコード
は次に応用プログラムにより利用され、場合によっては
変更されて入力装置33によって与えられた特定のサービ
ス要求を満足させる。その結果は出力装置34に与えられ
る。
装置33はキーボードで、装置34は表示スクリーンでこ
れは人間のユーザによって操作される完全な端末になっ
ていてもよいが、装置33は同様に自動電子あるいは機械
装置(例えば、組立ラインの部品カウンタ)で、装置34
は同様に自動装置(例えば、在庫のレベルが低くなりす
ぎたときに在庫を注文する購入指示発生器)であっても
よい。このときには第2図のシステムは単に情報提供シ
ステムではなく、サービス提供システムとなる。サービ
ス(在庫管理、設備割当、切符発行その他)はデータベ
ース30中の情報を利用することに依存しているが、外部
世界であるタイプのサービスの基本を与えるためにその
情報の先に行く。
本件発明の応用 第1図、第2図に関連して本発明を一般的に説明した
ので、残りの図面はデータベース表現の特定の応用を詳
細に説明するために使用する。この応用は物理的設備
(線、ケーブル、端子ボックスその他)の加入者に割当
ててその加入者の電話機をローカル電話局に接続する問
題である。このような割当は比較的長時間の間不変であ
るが、顧客が引越しをすれば設備の割当は変更しなけれ
ばならない。何万もの顧客を取扱かう交換局ではこのよ
うな設備の割当は労力を要する大きな仕事である。この
ような割当の能率を最大にし、コストを最小にすること
は従って、電話会社の重要な活動である。
第3図を参照すれば、図には電話加入者をローカル交
換局に接続するのに使用される典型的な設備の説明図を
示している。これらの設備はすべて交換局40の外にある
からこれらは外部プラント設備と呼ばれる。このような
外部プラント設備はケーブル41乃至45のような多導体ケ
ーブルを含み、その各々は多数の銅線より対線、多チャ
ネルペアゲインシステムあるいは光ファイバを含む。一
般にひとつのより対線が一人の顧客に電話サービスを提
供するのに使用される。ある地域では外部プラント相互
接続システムで三つあるいはそれ以上のレベルのケーブ
ル(f3、f4その他)を必要とする。
相互接続端子46及び47は電気的な線の対を相互に接続
するための装置である。これらは交換局からの線対を接
続するためのバインディングポストの集合(内側の集
合)と他の方向(フィールド側)の線対を接続するバイ
ディングポストの集合(外側の場合)とを有している。
さらに相互接続端子は選択された内側の対と選択された
外側の対を接続し、これによって分配ケーブル対とフイ
ーダケーブル対の間の物理的相互接続を行うジャンパ線
を持っている。ケーブル及び対には交換側の端とフィー
ルド側の端がある。
ケーブル41乃至45の選択された点には分配端子48があ
る。これらの分配端子もまたケーブル対を顧客の家51及
び53に接続されたそれぞれドロップ線49及び50のような
顧客テーブル線に接続するためのバインデイングポスト
を持っている。分配端子は典型的には家の集中した所に
設けられており、歩道あるいは顧客宅内の電柱上に位置
する。
電話サービスを電話加入者の家に提供するための割合
問題は加入者の電話機セットと交換局の間で完全な電気
回路(ローカルループ)を形成するのに必要な線、端
子、バインディングポスト及び顧客サービス線をデータ
ベース中で割当てる問題である。データベース中で一度
割当てをした後、サービス開始の時点でフィールドにお
いて対応する物理的接続を形成しなければならない。
第4図には第3図の家53に対して電話サービスを提供
するために割当てられる特定の設備を図示している。こ
の場合は交換局40を相互接続端子46に接続するケーブル
41はケーブル“01"として示されている。ケーブル01の
中のバインディングポスト52に割当てられた特定の対は
対“21"であり、これは二項記法“01:21"で表わされ
る。対01:21のフィールド端は端子46の内側のバインデ
ィングポスト52に接続されている。内側のバインディン
グポスト52はジャンパ線によって外側のバインディング
ポスト302に接続されている。ケーブル44の121番目の対
(対0101:121)の交換局側の端は、端子46のバインディ
ングポスト302に接続されている。他端(フィールド
端)においては、対0101:121は分配端子48を通してドロ
ップ線50に接続され、そこから家54に行っている。
このループに使用されている設備はタイプ(対、ケー
ブル、端子等)との内部識別番号を持ち、オプションと
して外部識別番号を持っていることがわかる。一般的な
問題は設備の在庫管理に用いられ、同時に、顧客と交換
局の間のサービスを提供するループにこれらの設備を割
当てたり、割当変更したりするのに使用できるデータベ
ースを形成することである。
第5図には第4図にグラフで示した外部プラント設備
を形成する設備在庫を表わす来の有向グラフが示されて
いる。第5図の各ボックスはグラフのノードであり、ひ
とつのノードが在庫の中の各物理的実体ごとに規定され
ている。この場合ボックス60はケーブル41を表わすグラ
フノードであり、ノード61は相互接続端子46を表わし、
ノード62は対01:21を表わし、ノード63はケーブル44を
表わし、ノード64は対0101:121を表わし、ノード65は分
配端子48を表わし、ノード66は家54を表わす。これらの
ノードは実体関係データベースにおける実体である。
これらの実体の間の関係は第5図でノードの間の矢印
によって表わされる。矢印67はケーブル41が端子46に接
続されているので、“接続されている”という関係を表
わす。矢印68は対01:21がケーブル41に含まれているか
ら、“含まれている”という関係を表わす。最後に矢印
69は“接続されている”という情報と、さらにバインデ
ィングポストを固定する情報(“CO BP 52")、すなわ
ち、端子46の交換局側(内側)のバインディングポスト
52の情報を携えている。第5図の他の矢印も同様の意味
を持っているので更に説明しないが、分配端子48と家53
が“取扱われる”と“取扱かう”という相互関係を持
ち、顧客サービス線50については簡易化のため省略して
あるということに注意しなければならない。
第5図に示された在庫情報はループプラントで使用さ
れる物理的設備のトラックを管理するのに必要である。
しかしこれは顧客に対して電気回路(ループ)を割当て
るのには、特に便利ではない。第6図にはこれらと同一
のノードの間のエッジの集合で、ループの割当にもっと
適したものを示す。
第6図には第5図に示したのと同一のノード(ケーブ
ル・ノードを除く)が再び記載され、これに回線ノード
80が加わっている。第6図のグラフは部品の在庫(第5
図)とは区別されるように回線の接続を表わしている。
通信回線(通常はループと呼ばれ、ノード80の電話番号
で名付けられる。)は三つの部品すなわち:対01:21、
対0101:121及び家52(ドロップ線50に伴っている)から
成る。これらの三つの部品が端子を通して相互に接続さ
れている。割当処理の効率化のためには、対01:21が対0
101:121と接続されていることを直接知ることが望まし
い。これと同時に、これらの相互接続が特定の端子と特
定のバインディングポストで行われていることを知る必
要がある。エッジ81と82は、接続された対とこの接続が
行われている端子とを同時に示している。対と対の接続
がデータベースを更に検索することで初めて検出するこ
とができる第6図の表現では、設備を割当てるのには非
常に能率が悪い。
対0101:121(ボックス64)と家54(ボックス66)の相
互接続は、同様に二つのエッジ83及び84で表わされてお
り、これは回線のこの部品と同一の機能を提供する。ジ
ャンパ線の再構成が、在庫を変更することなく物理的設
備を他の回線に再割当てすることができることに注意し
ていただきたい。すなわち第6図の接続は第5図の在庫
を変化することなく変更できるのである。
第6図のグラフは割当てられた電気回線の在庫を管理
するのに使用され、第5図は物理的部品の在庫の管理に
使用される。これらは共に電話加入者を適切に取扱かう
ために必要である。
第7図には第3図に示した物理的設備と回線割当の両
方を表わすのに使用されるデータベースのひとつのレコ
ードのグラフ表現を示している。第7図で表わされたグ
ラフによるレコードは第5図及び第6図にノード64とし
て現われる対0101:121を表現したものである。レコード
は本体部(ボックス62)と複数のエッジ部82、83、86、
87、88及び89を含み、その一部(82、83)はハイパエッ
ジである。第7図に示されたレコードはデータベース中
の対0101:121に関するすべての情報を含んでいる。外部
で知られるこの対を示す“NAME(名前)”(対0101:12
1)はエッジ90によって指される別個の物体91になって
いることに注目されたい。各レコードの内部識別情報は
内部番号によって行われ、これによって関連するレコー
ドに直接アクセスできるようになっている。さらに、そ
の内部参照番号をすべて変更しなくても、実体の外部名
は変更できる。
第8図には第7図でグラフ表現された対0101:121に対
するデータベース中でのレコードの英数字表現が示され
ている。レコードの本体部がまず現われるが、エッジは
任意の順序になっている。この構成では特定のエッジを
探索しなければならない。その代わり、エッジを予め定
められた順序にならべて直接にアクセスするようにして
も良い。次に第8図のデータレコードの内容について説
明する。
「(a)BODY」は0101:121自身のデータ表現である。
「1)TYPE」はこのノード型、つまり自分自身が対線で
あることを示す。「2)ID」は自己の識別番号が388で
あることを示す。「5)LK」はロッキングDAG情報を示
している(これについては下記に説明する。)。同様
に、「(b)EDGE」はエッジ87の情報を、「(c)EDG
E」「(d)EDGE」はハイパエッジ82を、「(e)EDG
E」「(f)EDGE」はハイパエッジ83を、「(g)EDG
E」はエッジ90を、そして「(h)EDGE」はエッジ89を
示すことになる。なおこれ以上の詳細な説明は、本件発
明とは直接関係がないので省略する。
ここで各々の物理的設備が外部で知られている名前と
は異なった内部識別番号によって識別されることに注意
されたい。これらの内部識別番号は識別されるレコード
に対して一義的であり、これによってコンピュータによ
るレコードの管理を単純化し、外部世界における名前を
任意にし、しかも変更できるようにする。第7図に示す
ように特別のエッジ90が外部名91(対“0101:121")を
指しており、これは第8図の行g1−g3に示されている。
行c1−c5と行f1−f5のエッジはハイパエッジであり、
各々は二つのレコード識別番号を含んでいる。各々の本
体又はエッジは“適用データ”と呼ばれるひとつあるい
はそれ以上の行を含んでおり、これはデータベース情報
を外部世界の問題に適用するときに有用な情報である。
例えば、行c−5においてエッジが端子の交換局側のバ
インディングポスト(これは端子のフィールド側のバイ
ンディングポストと区別される)を指していることが示
されている。行e−3においては、対が分配端子の内側
(外側でなく)で、“青−緑”のスタブ線に接続されて
いることが示される。エッジh1−h2はこの対がその一部
となっているループ回線を示している。
この種のデータベースでは通常そうであるように、2
以上のユーザがデータベース中のレコードを同時に変更
するのを防止すると共に、レコードの内容があいまいに
なることを防止する必要がある。さらに、各レコードア
クセスをロックアウトするあるいはそのどれかがアクセ
スされているときにすべてのレコードをロックアウトす
る従来の解決方法には大きな欠点がある。各レコードを
個々にロックアウトするのに必要な負担は処理時間から
も記憶空間の大きさからも避けなければならない。これ
に対して各アクセスのたびにすべてのレコードをロック
アウトすることは、すべてのアクセスは直列的になり、
時間当りに取扱かうことができるトランザクションの数
は極端に減少してしまう。ここで示している電話ループ
設備割当制御システムの例ではいずれの方法も実現性が
ない。
本発明に従えば、アクセスされるレコードを含む小さ
い部分集合をロックし、他のレコードをすべて同時にア
クセスするように開いておくことによってこの問題に対
する解決が得られる。詳しく述べれば、データベースレ
コードによって表現される物理的システムの属性を利用
して、単一のレコードのアクセス拒否が全体の依存関係
のある多レコードデータ構造をアクセスから保護するよ
うな方法で妥当な大きさを有し、かつ機能的関係を持つ
レコードの部分集合を選択する。第3図乃至第8図に示
した特定のシステムにおいては、f1フィーダケーブルレ
コード(交換局に一番近いケーブル)のロッキングはそ
のフィーダケーブルによって取扱かわれ得るすべての
対、端子及び分配ケーブルへのアクセスを防止すること
ができる。設備全ての割当は適切なフィーダケーブルの
割当を必要とするから、もしそのフィーダケーブルがロ
ックアウトされれば、同時にそのフィーダケーブルに接
続可能な全ての設備に対するアクセスが止められること
になる。
さらに本発明に従えば、ロッキングはロッキンググラ
フ、すなわち第7図及び第8図によって表される有向性
グラフに重畳されたバーテックスとエッジのシステムの
助けによって行なわれる。この重畳されたロッキンググ
ラフは原グラフの全てのバーテックス(すべての物理的
設備)を含んでいるが、エッジについてはフィーダケー
ブルを指しているものだけを含んでいる。この結果得ら
れる有向性の非循環グラフを周知の方法でたどって、そ
れから特定のレコードがアクセスされ得るすべてのフィ
ーダケーブルを識別することができる。これらのフィー
ダケーブルのレコードは次にロックされて任意の先にア
クセスされたレコードへの第2のアクセスを止めること
を保証する。
さらに第8図に示されるような本発明に従えば、重畳
された有向性非循環グラフは各レコードの本体から分離
したロッキングフィールドLK(行a−5)に含まれてい
る。各レコードのロッキング路が各レコードそのものの
中に準備できているということはそのレコードをロック
するために必要な処理時間を大幅に短縮し、これによっ
てロック操作の負担が減少し、レコードをロック、アン
ロックする速度を向上する。
第9図には第5図及び第6図の有向性グラフに対する
部分ロッキンググラフを示している。第5図と共通の参
照番号が第9図にも繰り返されている。第9図はf1ケー
ブル60(即ち他のf1ケーブル)に関連するエッジのみが
示されている。従って各f1ケーブルのレコードは、f1ケ
ーブルのレコードを通してアクセスできるすべての他の
レコードを含むトリーの“ルート”となっている。従っ
てロッキングアルゴリズムは単にそのルートの各々に有
向非循環グラフ(DAG)を通ってたどってゆき各ルート
(各f1ケーブル)をロックするようにアクセスされたレ
コードのロッキングエントリーを使用することになる。
このようなDAGは少数のルートしか待たないから、この
プロセスは迅速にわずかなソフトウェアの負担で実行で
きることになる。
第8図では、ロッキングDAG情報が行a−5に見ら
れ、ここで“LK"ロックエッジはノード453すなわちケー
ブル63を指していることがわかる。この情報はデータベ
ースマネージャにより、このレコードとf1ケーブルのレ
コード60を含むすべての他のレコードをロックするため
に使用される。
レコードのロッキングは第1表の疑似コードに示され
る如く実現される。すでにロックされているすべてのレ
コードがリスト上に来るように各トランザクションの間
にリスト(LIST)が構成される。この方法によって、ト
ランザクションの以前の部分によってすでにロックされ
ているレコードをロックしないようにして時間の節約を
はかる。多くのトランザクションはロッキングDAGの同
一の枝のレコードに関連しているから、LISTを保持して
おく価値があるのである。
第1表 procedure lock(rid) if rid is in LIST then return; node a=read(rid); if LK(node a)is empty then DBMSLOCK(rid) add rid to LIST; return; else lock(LK(node a)); node b=read(rid); if LK(node a)=LK(node b)then add rid to LIST; return; else lock(rid) return; ここで、“DBMSLOCK"は実際にルートレコード(“LK"
エントリーを持たないレコード)をロックするものであ
り、使用されるハードウェアのシステムで特定される。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 Joural of the ACM29 (3)(1982−7)P.718−740

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】データベース管理システムにおいて、 (1)そのノードが、データベースシステムの内の情報
    レコードサブセットである関連する情報レコードの組を
    表す、有指向性非循環ロッキンググラフを生成し、 (2)該関連する情報レコードの組の中にある情報レコ
    ードにアクセスし、 (3)該アクセスされた情報レコードに対し、該有指向
    性非循環ロッキンググラフを用いて該有指向性非循環ロ
    ッキンググラフのルートノードを位置付け、 (4)該アクセスされた情報レコードへの同時アクセス
    を防止すべく該ルートノードによって表された情報レコ
    ードをロックする 段階からなるレコードロックするための方法。
  2. 【請求項2】請求の範囲第1項に記載のレコードをロッ
    クする方法において、該有指向性非循環ロッキンググラ
    フを生成する段階は更に、 (5)該有効性非循環ロッキンググラフの該レコードに
    隣接したレコードを識別するための記憶位置を該レコー
    ドの各々に設ける段階を含むことを特徴とするレコード
    をロックする方法。
  3. 【請求項3】請求の範囲第1項に記載のレコードロック
    するための方法において、更に、 (6)先にロックされたレコードのリストを保持し、 (7)段階(3)及び(4)を実行する前に該リストに
    対して現在のレコードを検査し、 (8)該リストが現在のレコードを含んでいないときだ
    け段階(3)及び(4)を実行する段階を含むことを特
    徴とするレコードをロックする方法。
  4. 【請求項4】請求の範囲第1項に記載のレコードをロッ
    クするための方法において、段階(1)は、 (1a)該レコードを「で使用されている」又は「に含ま
    れている」という階層構造で関連付け、 (1b)レコードの間の該「で使用されている」又は「に
    含まれている」の関係を表す該有指向性非循環ロッキン
    ググラフのエッジを選択する段階を含むことを特徴とす
    るレコードをロックする方法。
  5. 【請求項5】複数のレコードを含むデータベースシステ
    ムにデータロッキングを提供するための装置において、 レコードのサブセットである関連する情報レコードの組
    をそのノードが示す有指向性非循環ロッキンググラフを
    生成するための手段、 該関連する情報レコードの組にある情報にアクセスする
    手段、 該グラフ表現を用いて、該グラフ表現内のルートノード
    によって表されたルートレコードを位置付ける手段、及
    び 該アクセスされた情報レコードへの同時アクセスを防止
    すべく該ルートレコードロックする手段からなるデータ
    ロッキングを提供するための装置。
  6. 【請求項6】請求の範囲第5項に記載の装置において更
    に、 該ルートレコード以外の該レコードの各々において、該
    有指向性非循環グラフのエッジの少なくとも一つを記憶
    する手段を含むことを特徴とするデータロック装置。
  7. 【請求項7】請求の範囲第5項に記載の装置において、
    該装置はさらに、 先にロックされたレコードのリストを記憶する手段、及
    び 該アクセスされたレコードが該リスト中にあるときは、
    該検索とロック手段を消勢する手段とを含むことを特徴
    とするデータロック装置。
  8. 【請求項8】データベースシステム中のレコードのサブ
    セットに属するレコードをロックするための方法におい
    て、 (a)該サブセットの各レコードに、もう1つのデータ
    ベースレコードの識別を含み、ここで、該識別は共にそ
    のノードが該サブセット内のレコードを示す有指向性非
    循環ロッキングを表し、 (b)該ロッキンググラフのルートノードを位置付ける
    ために該識別を利用し、 (c)アクセスされるべき該レコードへの同時アクセス
    を防止するために、該ルートノードによって示されるレ
    コードであるルートレコードをロックする段階からなる
    ことを特徴とするレコードをロックするための方法。
  9. 【請求項9】データベースシステム中のレコードのサブ
    セットに属するレコードをロックするための装置におい
    て、 該サブセットの各レコード内にもう1つのデータベース
    レコードの識別を含む手段であって、ここで該識別は共
    にそのノードが該サブセット内のレコードを示す有指向
    性非循環ロッキンググラフからなっており、 該有効性非循環グラフのルートノードによって表された
    ルートレコードを位置付けるために該識別を使用する手
    段と 未だロックされていないときは、該ルートレコードをロ
    ックする手段と もはやルートレコードがロックされているときは、アク
    セスされるべきデータベースレコードへのアクセスを防
    止するための手段からなることを特徴とするレコードを
    ロックするための装置。
JP58503698A 1982-11-15 1983-11-02 デ−タベ−スのロツキング Expired - Lifetime JPH081610B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US44173282A 1982-11-15 1982-11-15
US441732 1982-11-15
PCT/US1983/001695 WO1984002021A1 (en) 1982-11-15 1983-11-02 Data base locking

Publications (2)

Publication Number Publication Date
JPS59502041A JPS59502041A (ja) 1984-12-06
JPH081610B2 true JPH081610B2 (ja) 1996-01-10

Family

ID=23754072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58503698A Expired - Lifetime JPH081610B2 (ja) 1982-11-15 1983-11-02 デ−タベ−スのロツキング

Country Status (4)

Country Link
EP (1) EP0126122B1 (ja)
JP (1) JPH081610B2 (ja)
DE (1) DE3377088D1 (ja)
WO (1) WO1984002021A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU620994B2 (en) * 1989-07-12 1992-02-27 Digital Equipment Corporation Compressed prefix matching database searching
KR100912784B1 (ko) 2006-01-05 2009-08-18 엘지전자 주식회사 데이터 송신 방법 및 데이터 재전송 방법
US8493854B2 (en) 2006-02-07 2013-07-23 Lg Electronics Inc. Method for avoiding collision using identifier in mobile network
KR20070121505A (ko) 2006-06-21 2007-12-27 엘지전자 주식회사 무선링크 재설정 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JouraloftheACM29(3)(1982−7)P.718−740

Also Published As

Publication number Publication date
EP0126122B1 (en) 1988-06-15
WO1984002021A1 (en) 1984-05-24
EP0126122A1 (en) 1984-11-28
JPS59502041A (ja) 1984-12-06
DE3377088D1 (en) 1988-07-21

Similar Documents

Publication Publication Date Title
US4698752A (en) Data base locking
US4479196A (en) Hyperedge entity-relationship data base systems
US4646229A (en) Time-ordered data base
US5937189A (en) Object oriented framework mechanism for determining configuration relations
CA2182592C (en) A method and apparatus for controlling access to a database
US7089262B2 (en) Method and apparatus for object oriented storage and retrieval of data from a relational database
US5937042A (en) Method and system for rehome optimization
US5357631A (en) Method and system for creating and maintaining multiple document versions in a data processing system library
JP4387599B2 (ja) 電気通信ネットワーク・リソース取り扱い装置および方法
KR100305373B1 (ko) 범용분석시스템
US6898790B1 (en) Mapping actions to tasks within customer service processing systems
KR100538371B1 (ko) 분산데이터처리환경에 레거시 어플리케이션을 통합시키기위한 방법 및 시스템
CN110287264A (zh) 分布式数据库的数据批量更新方法、装置以及系统
EP0491642A2 (en) Method and apparatus for controlling the deferred execution of user requests in a data processing system
US5884311A (en) Method and system for dynamically configuring a relational database
JPH081610B2 (ja) デ−タベ−スのロツキング
CN110110153A (zh) 一种节点搜索的方法和装置
JPH08237247A (ja) ネットワーク管理システム
CN114090969B (zh) 多级多租户交叉授权管理方法
US7231448B1 (en) System and method for automated network element database population
US6973652B1 (en) Sequencing of tasks within customer service processing systems
US7065181B2 (en) System and method for improving the automated loop makeup process
JPS59502039A (ja) 時間順序デ−タベ−ス
JPS59502042A (ja) ハイパエツジ実体関係デ−タベ−スシステム
JP3731860B2 (ja) 顧客サービス処理システム内のタスクの順序付け