JP2000259460A - データベースシステムとそのデータ更新方式 - Google Patents
データベースシステムとそのデータ更新方式Info
- Publication number
- JP2000259460A JP2000259460A JP11067043A JP6704399A JP2000259460A JP 2000259460 A JP2000259460 A JP 2000259460A JP 11067043 A JP11067043 A JP 11067043A JP 6704399 A JP6704399 A JP 6704399A JP 2000259460 A JP2000259460 A JP 2000259460A
- Authority
- JP
- Japan
- Prior art keywords
- page
- record
- data
- database
- page number
- 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
Links
- 238000012545 processing Methods 0.000 claims abstract description 79
- 238000007726 management method Methods 0.000 claims description 80
- 238000000034 method Methods 0.000 claims description 48
- 230000008569 process Effects 0.000 claims description 29
- 230000008859 change Effects 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 4
- 230000001629 suppression Effects 0.000 claims 1
- 238000012423 maintenance Methods 0.000 abstract description 2
- 230000007717 exclusion Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000003780 insertion Methods 0.000 description 6
- 230000037431 insertion Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】 データベースの更新処理において、挿入ペー
ジに空きがなくても、またページ挿入が頻発しても、予
めダミーページを設けて、高速に処理することができる
更新方式を提供することを課題とする。 【解決手段】 複数のシステムに存在する更新対象のデ
ータから、データ更新の際に、更新された分のレコード
単位の差分情報を更新後情報として取得し、この更新後
情報を他のシステムに転送し、他のシステムでは、この
更新後情報を受信後ロールフォワードを行い、データを
更新後のデータに更新する。
ジに空きがなくても、またページ挿入が頻発しても、予
めダミーページを設けて、高速に処理することができる
更新方式を提供することを課題とする。 【解決手段】 複数のシステムに存在する更新対象のデ
ータから、データ更新の際に、更新された分のレコード
単位の差分情報を更新後情報として取得し、この更新後
情報を他のシステムに転送し、他のシステムでは、この
更新後情報を受信後ロールフォワードを行い、データを
更新後のデータに更新する。
Description
【0001】
【発明の属する技術分野】本発明は、データベースシス
テムにおけるデータ更新方式に関し、データベースの管
理レコードに従ってデータ更新するデータベースシステ
ムとそのデータ更新方式に関する。
テムにおけるデータ更新方式に関し、データベースの管
理レコードに従ってデータ更新するデータベースシステ
ムとそのデータ更新方式に関する。
【0002】
【従来の技術】従来のデータベースシステムにおけるデ
ータ更新方式の一例が、特開昭59−020068号公
報に記載されている。この従来のデータ更新方式は、各
ページに自身のページ番号、前ページ番号、次ページ番
号及びページ内レコード数を表すページ情報が付加され
ている順編成ファイルと、ファイルアクセスの際の情報
を有するファイルコントロールブロックと、これを記憶
する補助記憶装置と、演算制御装置とファイルコントロ
ールブロックを主記憶にロードする手段と、ファイルコ
ントロールブロックを更新する手段と、更新ページのペ
ージ情報を変更する追加/削除手段とから構成されてい
る。
ータ更新方式の一例が、特開昭59−020068号公
報に記載されている。この従来のデータ更新方式は、各
ページに自身のページ番号、前ページ番号、次ページ番
号及びページ内レコード数を表すページ情報が付加され
ている順編成ファイルと、ファイルアクセスの際の情報
を有するファイルコントロールブロックと、これを記憶
する補助記憶装置と、演算制御装置とファイルコントロ
ールブロックを主記憶にロードする手段と、ファイルコ
ントロールブロックを更新する手段と、更新ページのペ
ージ情報を変更する追加/削除手段とから構成されてい
る。
【0003】このような構成を有する従来のデータ更新
方式は、つぎのように動作する。すなわち、レコード追
加時に挿入位置(ページ)をプロセス毎に保持してお
き、挿入ページに空きがない場合にはその前後のページ
にページ間チェーンを辿って、該当ページに格納されて
いるレコードを移送し、空き領域を作り、そこにレコー
ドを格納する方式と、空きが見つからない場合には新た
なページを挿入位置のページの前(又は後ろ)にページ
間チェーンを張り替えることによって挿入し、このペー
ジにレコードを追加するような技術が記載されている。
方式は、つぎのように動作する。すなわち、レコード追
加時に挿入位置(ページ)をプロセス毎に保持してお
き、挿入ページに空きがない場合にはその前後のページ
にページ間チェーンを辿って、該当ページに格納されて
いるレコードを移送し、空き領域を作り、そこにレコー
ドを格納する方式と、空きが見つからない場合には新た
なページを挿入位置のページの前(又は後ろ)にページ
間チェーンを張り替えることによって挿入し、このペー
ジにレコードを追加するような技術が記載されている。
【0004】また、同様なデータベースの更新方式とし
て、特開平9−330254号公報には、新たにレコー
ド格納領域を確保した際にホスト計算機間通信機能手段
によらずとも、領域確保時にデータベースファイル内の
領域管理ページに新規登録しておき、必要に応じて領域
管理ページを読み出せば常に最新の状態のレコード格納
領域の管理領域を取り出せるようにして、レコード格納
領域の確保処理における制御処理の簡素化、処理時間の
短縮を図っている。
て、特開平9−330254号公報には、新たにレコー
ド格納領域を確保した際にホスト計算機間通信機能手段
によらずとも、領域確保時にデータベースファイル内の
領域管理ページに新規登録しておき、必要に応じて領域
管理ページを読み出せば常に最新の状態のレコード格納
領域の管理領域を取り出せるようにして、レコード格納
領域の確保処理における制御処理の簡素化、処理時間の
短縮を図っている。
【0005】また、特開平10−320258号公報に
は、他の利用者によるデータベースの更新処理中の排他
単位に格納されているデータを読み込んでも構わない無
排他検索要求について、アクセス要求について無排他検
索要求か否かを決定し、排他制御を行わないようにする
ことで、検索処理を高速化することが記載されている。
は、他の利用者によるデータベースの更新処理中の排他
単位に格納されているデータを読み込んでも構わない無
排他検索要求について、アクセス要求について無排他検
索要求か否かを決定し、排他制御を行わないようにする
ことで、検索処理を高速化することが記載されている。
【0006】また、特開平7−105060号公報に
は、ページ内に格納するレコードの数を制限して、ペー
ジ排他の競合を抑え、ページ排他方式を使用してレコー
ド排他方式と同等の排他競合性能を得るため、レコード
アクセス管理としてレコードとページの対応付け、ペー
ジ管理、ページ排他等の処理部を設け、同一ページ内の
複数のレコードが異なるトランザクションから同時にア
クセスされる場合、レコード数に上限を設け、この競合
を一定の確率以下に抑えて、アクセスされるページの混
濁を防止することが開示されている。
は、ページ内に格納するレコードの数を制限して、ペー
ジ排他の競合を抑え、ページ排他方式を使用してレコー
ド排他方式と同等の排他競合性能を得るため、レコード
アクセス管理としてレコードとページの対応付け、ペー
ジ管理、ページ排他等の処理部を設け、同一ページ内の
複数のレコードが異なるトランザクションから同時にア
クセスされる場合、レコード数に上限を設け、この競合
を一定の確率以下に抑えて、アクセスされるページの混
濁を防止することが開示されている。
【0007】
【発明が解決しようとする課題】しかし、上述した従来
技術、特に特開昭59−020068号公報には、次の
ような問題点があった。
技術、特に特開昭59−020068号公報には、次の
ような問題点があった。
【0008】第1の問題点は、挿入ページに空き領域が
ない場合は、先ず前後のページに既に格納されているレ
コードを移送し、挿入ページに空き領域を作ろうと試み
ているばかりでなく、空きページをページ間チェーンで
リンクする際に常に、自身、前、次の3つのページのペ
ージ情報を更新しなければならないため、データ追加処
理時に挿入ページ、及びその前後のページに空き領域が
なく、新規ページを挿入する際に、処理時間が掛かると
いうことである。
ない場合は、先ず前後のページに既に格納されているレ
コードを移送し、挿入ページに空き領域を作ろうと試み
ているばかりでなく、空きページをページ間チェーンで
リンクする際に常に、自身、前、次の3つのページのペ
ージ情報を更新しなければならないため、データ追加処
理時に挿入ページ、及びその前後のページに空き領域が
なく、新規ページを挿入する際に、処理時間が掛かると
いうことである。
【0009】第2の問題点は、データ挿入位置がある特
定の位置に集中すると、ページ挿入が頻発し、その前後
のページがページ情報更新のために同時アクセス制御対
象となるので、特にデータの順次追加と順読み検索が同
時走行した場合のスループットの低下があげられる。
定の位置に集中すると、ページ挿入が頻発し、その前後
のページがページ情報更新のために同時アクセス制御対
象となるので、特にデータの順次追加と順読み検索が同
時走行した場合のスループットの低下があげられる。
【0010】本発明は、上記問題点を解決するために、
データベースの更新処理において、挿入ページに空きが
なくても、またページ挿入が頻発しても、予めダミーペ
ージを設けて、高速に処理することができる更新方式を
提供することを課題とする。
データベースの更新処理において、挿入ページに空きが
なくても、またページ挿入が頻発しても、予めダミーペ
ージを設けて、高速に処理することができる更新方式を
提供することを課題とする。
【0011】
【課題を解決するための手段】本発明は、データベース
のデータをページ単位に更新するデータ更新方式におい
て、管理レコードとダミーページとを備えた前記データ
ベースと、前記データベースへのアクセスを処理するレ
コード処理制御手段と、該レコード処理制御手段の制御
の下でデータレコードを追加する処理を行う追加ページ
確保手段と、前記レコード処理制御手段の制御の下で追
加ページと当該追加ページの前段と後段のページとのチ
ェーンをとるチェーン遅延更新手段と、前記レコード処
理制御手段の制御の下でデータ更新の確定結果を参照す
る確定レコード参照手段と、前記追加ページ確保手段に
より前記データレコードの更新したページを管理する更
新ページ管理情報を含む情報記憶域とを備えたことを特
徴とする。
のデータをページ単位に更新するデータ更新方式におい
て、管理レコードとダミーページとを備えた前記データ
ベースと、前記データベースへのアクセスを処理するレ
コード処理制御手段と、該レコード処理制御手段の制御
の下でデータレコードを追加する処理を行う追加ページ
確保手段と、前記レコード処理制御手段の制御の下で追
加ページと当該追加ページの前段と後段のページとのチ
ェーンをとるチェーン遅延更新手段と、前記レコード処
理制御手段の制御の下でデータ更新の確定結果を参照す
る確定レコード参照手段と、前記追加ページ確保手段に
より前記データレコードの更新したページを管理する更
新ページ管理情報を含む情報記憶域とを備えたことを特
徴とする。
【0012】また、本発明は、データベース内にデータ
ベースをレコード単位で管理する管理レコードの管理の
下でページ番号が変わらないダミーページを予め用意
し、前記データベースにデータレコードの追加の際に新
たなデータページが必要になったときには、前記ダミー
ページに先行する側の最終ページをリンクし、前記デー
タベースへのレコードの追加の場合に前記レコードの格
納のための領域用の空き領域がない場合に前記ダミーペ
ージの直前にデータ最終ページを挿入し、当該データ最
終ページ番号を前記ダミーページのページヘッダに書き
こむことを特徴とする。
ベースをレコード単位で管理する管理レコードの管理の
下でページ番号が変わらないダミーページを予め用意
し、前記データベースにデータレコードの追加の際に新
たなデータページが必要になったときには、前記ダミー
ページに先行する側の最終ページをリンクし、前記デー
タベースへのレコードの追加の場合に前記レコードの格
納のための領域用の空き領域がない場合に前記ダミーペ
ージの直前にデータ最終ページを挿入し、当該データ最
終ページ番号を前記ダミーページのページヘッダに書き
こむことを特徴とする。
【0013】また、本発明は、機能的には、データベー
スの管理レコードからページ番号が変わらないダミーペ
ージを予め用意し、データレコード追加の際に新たなデ
ータページが必要になったときには、ダミーページの先
行する(PRIOR)側に最終ページをリンクすること
で管理レコードに対する更新処理を削減し、管理レコー
ドを参照する他のプロセスが更新ロック解除のための排
他待ち合わせによる処理時間の増加を抑え、スループッ
トとの向上を図るものである。
スの管理レコードからページ番号が変わらないダミーペ
ージを予め用意し、データレコード追加の際に新たなデ
ータページが必要になったときには、ダミーページの先
行する(PRIOR)側に最終ページをリンクすること
で管理レコードに対する更新処理を削減し、管理レコー
ドを参照する他のプロセスが更新ロック解除のための排
他待ち合わせによる処理時間の増加を抑え、スループッ
トとの向上を図るものである。
【0014】またダミーページや、ダミーページのPR
IOR側に位置し、既にデータが格納されているデータ
最終ページに対する更新も新規ページを追加する度にお
こなうのではなく、これらのページに対する更新イメー
ジを一時的に情報記憶域に貯え、データベースに格納し
た直後のデータが確立した静止点確立時に、はじめて更
新する遅延更新制御を行うことでダミーページやデータ
最終ページに対する更新ロック保持区間を削減し、他プ
ロセスで動作する参照系処理の同時走行性の向上を図る
為の構成を提供するものである。
IOR側に位置し、既にデータが格納されているデータ
最終ページに対する更新も新規ページを追加する度にお
こなうのではなく、これらのページに対する更新イメー
ジを一時的に情報記憶域に貯え、データベースに格納し
た直後のデータが確立した静止点確立時に、はじめて更
新する遅延更新制御を行うことでダミーページやデータ
最終ページに対する更新ロック保持区間を削減し、他プ
ロセスで動作する参照系処理の同時走行性の向上を図る
為の構成を提供するものである。
【0015】また、本発明は、図1を参照して説明すれ
ば、データベース6に対しデータ追加処理に伴って新規
ページを挿入する際にはダミーページ63とデータペー
ジ群62との間にページ間チェーンによりリンクを張っ
て、ページ追加を行うが、追加ページ確保処理手段2で
は、 ダミーページ63のPRIOR側にページ追加す
る際に既に存在するページのチェーンは更新せずに、そ
の更新イメージのみを更新管理情報記憶域51に保持
し、データベースに格納した直後のデータが確立した静
止点確立時にチェーン遅延更新手段3で、実ページに対
する更新を行うことで 管理レコード61に対する更新
を削減し、また、データ参照に際しては、特に追加され
たが静止点が確立されていないデータを敢えて読まずに
処理するケースにおいて、データ最終ページとダミーペ
ージに例え更新ロックが掛けられていても 確定レコー
ド参照手段4によって排他解除待ちをなくすことで処理
時間の短縮と同時走行性の向上を図っている。
ば、データベース6に対しデータ追加処理に伴って新規
ページを挿入する際にはダミーページ63とデータペー
ジ群62との間にページ間チェーンによりリンクを張っ
て、ページ追加を行うが、追加ページ確保処理手段2で
は、 ダミーページ63のPRIOR側にページ追加す
る際に既に存在するページのチェーンは更新せずに、そ
の更新イメージのみを更新管理情報記憶域51に保持
し、データベースに格納した直後のデータが確立した静
止点確立時にチェーン遅延更新手段3で、実ページに対
する更新を行うことで 管理レコード61に対する更新
を削減し、また、データ参照に際しては、特に追加され
たが静止点が確立されていないデータを敢えて読まずに
処理するケースにおいて、データ最終ページとダミーペ
ージに例え更新ロックが掛けられていても 確定レコー
ド参照手段4によって排他解除待ちをなくすことで処理
時間の短縮と同時走行性の向上を図っている。
【0016】
【発明の実施の形態】本発明による実施形態について、
図面を参照しつつ詳細に説明する。
図面を参照しつつ詳細に説明する。
【0017】(本実施形態の構成)図1を参照すると、
本発明の一実施形態によるデータベースシステムにおけ
るデータ更新方式は、プログラム制御により動作するデ
ータ処理装置(図示せず)に含まれるレコード処理制御
手段1と、追加ページ確保手段2と、チェーン遅延更新
手段3と、確定レコード参照手段4と、プログラム制御
情報を記憶する情報記憶域5とこれに含まれる更新ペー
ジ管理情報51、及びデータベース6とこれを構成する
管理レコード61、データページ群62、及びダミーペ
ージ63とを備える。
本発明の一実施形態によるデータベースシステムにおけ
るデータ更新方式は、プログラム制御により動作するデ
ータ処理装置(図示せず)に含まれるレコード処理制御
手段1と、追加ページ確保手段2と、チェーン遅延更新
手段3と、確定レコード参照手段4と、プログラム制御
情報を記憶する情報記憶域5とこれに含まれる更新ペー
ジ管理情報51、及びデータベース6とこれを構成する
管理レコード61、データページ群62、及びダミーペ
ージ63とを備える。
【0018】ここで、データベース6は、データレコー
ドを格納するためのデータページ群62と、データペー
ジ群62の先頭ページ番号、並びにデータページ群62
の最後にリンクされるダミーページ63と、ダミーペー
ジ63のページ番号を保持する管理レコード61とから
なる。また、データベース管理システムとしては、デー
タの操作単位はレコード(タプルともいう)であり、レ
コードと外部記憶装置との入出力単位であるページとの
マッピング、ページのメモリ上での管理や、空き領域不
足時の追い出し管理を行うレコードアクセス管理手段
や、操作単位のレコードのトランザクション(送受信装
置)間の排他的アクセス制御等を含んでいる。
ドを格納するためのデータページ群62と、データペー
ジ群62の先頭ページ番号、並びにデータページ群62
の最後にリンクされるダミーページ63と、ダミーペー
ジ63のページ番号を保持する管理レコード61とから
なる。また、データベース管理システムとしては、デー
タの操作単位はレコード(タプルともいう)であり、レ
コードと外部記憶装置との入出力単位であるページとの
マッピング、ページのメモリ上での管理や、空き領域不
足時の追い出し管理を行うレコードアクセス管理手段
や、操作単位のレコードのトランザクション(送受信装
置)間の排他的アクセス制御等を含んでいる。
【0019】また、情報記憶域5に含まれる更新ページ
管理情報51は、データベース6に対するレコード追加
処理によって、新たなデータページを必要とした際に、
データページ間のチェーンに関する情報を記録してい
る。
管理情報51は、データベース6に対するレコード追加
処理によって、新たなデータページを必要とした際に、
データページ間のチェーンに関する情報を記録してい
る。
【0020】また、レコード処理制御手段1は、利用者
からのデータベースファイルに対するレコード追加、更
新処理等の処理要求が与えられた際には、レコード格納
可能な領域に処理対象レコードを追加、更新処理を施す
為の制御を行う。
からのデータベースファイルに対するレコード追加、更
新処理等の処理要求が与えられた際には、レコード格納
可能な領域に処理対象レコードを追加、更新処理を施す
為の制御を行う。
【0021】また、レコード処理制御手段1は、レコー
ド検索処理要求が与えられた場合には、検索条件に合う
レコードをデータベース6のデータページにあるデータ
レコードから捜し出し、加工、編集等を含むレコード検
索処理を施す為の制御を行う。更には、データベースの
更新(COMMIT)命令によって、データベースに格
納した直後の状態である静止点確立の要求が与えられる
と、実更新されていないページ間チェーンがあれば、正
しい情報でそれを更新するための制御も行う。
ド検索処理要求が与えられた場合には、検索条件に合う
レコードをデータベース6のデータページにあるデータ
レコードから捜し出し、加工、編集等を含むレコード検
索処理を施す為の制御を行う。更には、データベースの
更新(COMMIT)命令によって、データベースに格
納した直後の状態である静止点確立の要求が与えられる
と、実更新されていないページ間チェーンがあれば、正
しい情報でそれを更新するための制御も行う。
【0022】また、追加ページ確保手段2は、レコード
処理制御手段1から追加処理の要求が与えられた際に、
レコード格納の為の空き領域が、ページ間チェーンの最
後にあるデータ格納ページに存在しない場合に、レコー
ド処理制御手段1から起動され、空きページをサーチ
し、ページ間チェーンでデータベースとして確保された
一連のページにリンクを張る為の制御を行う。
処理制御手段1から追加処理の要求が与えられた際に、
レコード格納の為の空き領域が、ページ間チェーンの最
後にあるデータ格納ページに存在しない場合に、レコー
ド処理制御手段1から起動され、空きページをサーチ
し、ページ間チェーンでデータベースとして確保された
一連のページにリンクを張る為の制御を行う。
【0023】特に、データベースに格納した直後のデー
タが確立した静止点確立時の最終データページと、ペー
ジ間チェーンの最後にあるダミーページ63に更新が入
るような場合に、実ページを更新せずに、更新ページ管
理情報51にその更新イメージを記憶しておく。
タが確立した静止点確立時の最終データページと、ペー
ジ間チェーンの最後にあるダミーページ63に更新が入
るような場合に、実ページを更新せずに、更新ページ管
理情報51にその更新イメージを記憶しておく。
【0024】また、チェーン遅延更新手段3は、レコー
ド処理制御手段1からの制御の下で、追加ページ確保手
段2で実ページの更新をせずに、更新ページ管理情報5
1に一時的に保持したページ間チェーン情報を、静止点
確立時に実ページへ書き戻すことによって、ページ間チ
ェーンの整合性を取るための制御を行う。
ド処理制御手段1からの制御の下で、追加ページ確保手
段2で実ページの更新をせずに、更新ページ管理情報5
1に一時的に保持したページ間チェーン情報を、静止点
確立時に実ページへ書き戻すことによって、ページ間チ
ェーンの整合性を取るための制御を行う。
【0025】また、確定レコード参照手段4では、レコ
ード処理制御手段1からの制御の下で、データ追加処理
で更新ロックがかかっているページを、ロックを掛けず
に読むことによって、排他解除待ちせずに、検索処理を
続けていくことが出来るようにする為の制御を行う。
ード処理制御手段1からの制御の下で、データ追加処理
で更新ロックがかかっているページを、ロックを掛けず
に読むことによって、排他解除待ちせずに、検索処理を
続けていくことが出来るようにする為の制御を行う。
【0026】特にデータページ間のチェーンを辿って順
検索する場合に、データの最終ページが他プロセスによ
り更新ロックが掛けられているような場合に、予め更新
ロックがどのページに掛かっているかを、更新ページ管
理情報51の情報より判断する。
検索する場合に、データの最終ページが他プロセスによ
り更新ロックが掛けられているような場合に、予め更新
ロックがどのページに掛かっているかを、更新ページ管
理情報51の情報より判断する。
【0027】(本実施形態の動作)次に、図1のシステ
ム構成図及び図2乃至図4の動作フローチャートを参照
して、本発明の実施の動作について詳細に説明する。
ム構成図及び図2乃至図4の動作フローチャートを参照
して、本発明の実施の動作について詳細に説明する。
【0028】まず、図1に示す各手段の動作について概
説する。利用者プログラムから、レコード追加処理の実
行要求が与えられると、レコード処理制御手段1では、
まず、該当データベース6内のレコード表の領域管理情
報が格納されている管理ページ内の管理レコード61を
データベース6中から読み込み、データ格納ページ間チ
ェーンの最後にあるダミーページ63を更新ロックを掛
けて、更新バッファに読み込み、その先行する(PRI
OR)方向に存在する実際にデータが格納されている最
終ページ(データ最終ページ)を更新ロックを掛けて、
データベース中から更新バッファに読み込む。
説する。利用者プログラムから、レコード追加処理の実
行要求が与えられると、レコード処理制御手段1では、
まず、該当データベース6内のレコード表の領域管理情
報が格納されている管理ページ内の管理レコード61を
データベース6中から読み込み、データ格納ページ間チ
ェーンの最後にあるダミーページ63を更新ロックを掛
けて、更新バッファに読み込み、その先行する(PRI
OR)方向に存在する実際にデータが格納されている最
終ページ(データ最終ページ)を更新ロックを掛けて、
データベース中から更新バッファに読み込む。
【0029】次に、該データ最終ページ内に追加対象の
データレコードが格納できる空き領域があるか、並びに
格納可能レコード数を越えていないかを検査し、もし該
データ最終ページにデータレコードが格納できないと判
断した場合には、追加ページ確保手段2を起動し、デー
タベースファイル内から空きページ(未使用ページ)を
探し出し、これを新たなデータ最終ページとしてページ
間チェーンのメンテナンス処理を行なわせ、制御が追加
ページ確保手段2からレコード処理制御手段1に戻って
きた後、新規確保した未使用ページにデータを挿入する
処理を行う。
データレコードが格納できる空き領域があるか、並びに
格納可能レコード数を越えていないかを検査し、もし該
データ最終ページにデータレコードが格納できないと判
断した場合には、追加ページ確保手段2を起動し、デー
タベースファイル内から空きページ(未使用ページ)を
探し出し、これを新たなデータ最終ページとしてページ
間チェーンのメンテナンス処理を行なわせ、制御が追加
ページ確保手段2からレコード処理制御手段1に戻って
きた後、新規確保した未使用ページにデータを挿入する
処理を行う。
【0030】また、利用者プログラム上に記述された更
新指示のCOMMIT命令の実行により、静止点を確立
する際には、レコード処理制御手段1は、追加されたデ
ータページを他プロセスでも参照/更新できるようにす
る為のチェーン遅延更新手段3の起動も制御している。
新指示のCOMMIT命令の実行により、静止点を確立
する際には、レコード処理制御手段1は、追加されたデ
ータページを他プロセスでも参照/更新できるようにす
る為のチェーン遅延更新手段3の起動も制御している。
【0031】レコード処理制御手段1によって起動され
たチェーン遅延更新手段3では、情報記憶域5に保持さ
れている更新ページ管理情報51に基づいて、データ追
加処理時に動作した追加ページ確保手段2内では行わな
かったダミーページ63の前ページ番号領域の実更新と
直前の静止点確立時にデータ最終ぺージだった確定最終
ぺージの次ページ番号領域の実更新処理を施す。
たチェーン遅延更新手段3では、情報記憶域5に保持さ
れている更新ページ管理情報51に基づいて、データ追
加処理時に動作した追加ページ確保手段2内では行わな
かったダミーページ63の前ページ番号領域の実更新と
直前の静止点確立時にデータ最終ぺージだった確定最終
ぺージの次ページ番号領域の実更新処理を施す。
【0032】また、利用者プログラムによりレコード参
照処理の実行要求が与えられた際には、レコード処理制
御手段1は、確定レコード参照手段4を起動し、確定レ
コード参照手段4では、データの追加により最終データ
ページが変更され、かつ未だ静止点が確立されていない
場合においても、検索途中でデータ追加処理に伴ったペ
ージ排他制御による更新ロック解除待ちを回避して、直
近の静止点確立時点迄のデータ参照を行う。
照処理の実行要求が与えられた際には、レコード処理制
御手段1は、確定レコード参照手段4を起動し、確定レ
コード参照手段4では、データの追加により最終データ
ページが変更され、かつ未だ静止点が確立されていない
場合においても、検索途中でデータ追加処理に伴ったペ
ージ排他制御による更新ロック解除待ちを回避して、直
近の静止点確立時点迄のデータ参照を行う。
【0033】(追加ページ確保手段2の動作)図2は、
追加ページ確保手段2の動作を示すフローチャートであ
る。
追加ページ確保手段2の動作を示すフローチャートであ
る。
【0034】追加ページ確保手段2は、レコード処理制
御手段1によってレコード格納の為に必要となる空き領
域がデータ最終ページに無い場合に起動され、空きペー
ジをファイル中から探し、この空きページをダミーペー
ジ63の直前に挿入し、これを新たなデータ最終ページ
とし、これに追加要求のあったデータレコードを格納す
る為に呼び出されるものである。
御手段1によってレコード格納の為に必要となる空き領
域がデータ最終ページに無い場合に起動され、空きペー
ジをファイル中から探し、この空きページをダミーペー
ジ63の直前に挿入し、これを新たなデータ最終ページ
とし、これに追加要求のあったデータレコードを格納す
る為に呼び出されるものである。
【0035】レコード処理制御手段1によって起動され
た追加ページ確保手段2では、まず、ファイル中から空
きページを探し出し、これを更新ロックを掛けて読み込
む(ステップ201)。
た追加ページ確保手段2では、まず、ファイル中から空
きページを探し出し、これを更新ロックを掛けて読み込
む(ステップ201)。
【0036】この空きページ(以降、新規確保ページと
称す)をデータ最終ページとする為に、該ページのペー
ジヘッダにある次ページ番号格納域に、ページ間チェー
ンの一番最後にリンクされているダミーページ63のペ
ージ番号をセットする(ステップ202)。
称す)をデータ最終ページとする為に、該ページのペー
ジヘッダにある次ページ番号格納域に、ページ間チェー
ンの一番最後にリンクされているダミーページ63のペ
ージ番号をセットする(ステップ202)。
【0037】次に、更新ページ管理情報51に追加最終
ページ番号が登録されているか否かを判定し(ステップ
203)、追加最終ページ番号が更新ページ管理情報5
1に登録されていなければ、直前の静止点確立後、はじ
めて新規確保ページを追加するケースと判断し(ステッ
プ203のNOの場合)、ステップ201で読み込んだ
新規確保ページの前ページ番号格納域に、更新ページ管
理情報51内に登録されている確定最終ページ番号、す
なわち直前の静止点確立時に最終データが格納されてい
たデータページのページ番号、をセットした後、ファイ
ルに書き戻す(ステップ204)。
ページ番号が登録されているか否かを判定し(ステップ
203)、追加最終ページ番号が更新ページ管理情報5
1に登録されていなければ、直前の静止点確立後、はじ
めて新規確保ページを追加するケースと判断し(ステッ
プ203のNOの場合)、ステップ201で読み込んだ
新規確保ページの前ページ番号格納域に、更新ページ管
理情報51内に登録されている確定最終ページ番号、す
なわち直前の静止点確立時に最終データが格納されてい
たデータページのページ番号、をセットした後、ファイ
ルに書き戻す(ステップ204)。
【0038】この結果、新規確保ページのヘッダ部にあ
る次ページ番号格納域にはダミーページ番号が、前ペー
ジ番号格納域には静止点確立時の最終データページ番号
(確定最終ページ番号)がセットされたことになる(ス
テップ205)。
る次ページ番号格納域にはダミーページ番号が、前ペー
ジ番号格納域には静止点確立時の最終データページ番号
(確定最終ページ番号)がセットされたことになる(ス
テップ205)。
【0039】一方、ステップ203で既に更新ページ管
理情報51に追加最終ページ番号が登録されていた場合
には、直前の静止点確立時から今回のレコード追加処理
までの間に、少なくとも1回は追加ページ確保手段2が
動作しているケースであると判断でき(ステップ203
のYESの場合)、新規確保ページの前ページ番号格納
域には、更新ページ管理情報51に登録されている追加
最終ページ番号をセットした後、ファイルに書き戻す
(ステップ206)。
理情報51に追加最終ページ番号が登録されていた場合
には、直前の静止点確立時から今回のレコード追加処理
までの間に、少なくとも1回は追加ページ確保手段2が
動作しているケースであると判断でき(ステップ203
のYESの場合)、新規確保ページの前ページ番号格納
域には、更新ページ管理情報51に登録されている追加
最終ページ番号をセットした後、ファイルに書き戻す
(ステップ206)。
【0040】この場合は、新規確保ページのヘッダ部に
ある次ページ番号格納域にはダミーページ番号が、前ペ
ージ番号格納域には静止点確立後、もっとも直近に新た
に確保したデータ最終ページのページ番号(追加最終ペ
ージ番号)がセットされた状態となる。
ある次ページ番号格納域にはダミーページ番号が、前ペ
ージ番号格納域には静止点確立後、もっとも直近に新た
に確保したデータ最終ページのページ番号(追加最終ペ
ージ番号)がセットされた状態となる。
【0041】ステップ203でYESの場合には、更
に、更新ページ管理情報51に登録されている追加最終
ページ番号に基づき、もっとも直近に確保したデータ最
終データ(追加最終ページ)を読み込み(ステップ20
7)、 追加最終ページの次ページ番号域にステップ2
01で見つけた新規確保ページのページ番号を格納し
(ステップ208)、追加最終ページをファイルに書き
戻す(ステップ209)。
に、更新ページ管理情報51に登録されている追加最終
ページ番号に基づき、もっとも直近に確保したデータ最
終データ(追加最終ページ)を読み込み(ステップ20
7)、 追加最終ページの次ページ番号域にステップ2
01で見つけた新規確保ページのページ番号を格納し
(ステップ208)、追加最終ページをファイルに書き
戻す(ステップ209)。
【0042】ステップ207からステップ209の処理
により、追加最終ページのヘッダ部にある次ページ番号
は、ダミーページ63のページ番号から新規確保ページ
のページ番号に更新されることになる。
により、追加最終ページのヘッダ部にある次ページ番号
は、ダミーページ63のページ番号から新規確保ページ
のページ番号に更新されることになる。
【0043】そして最後に、ダミーページ63の前ペー
ジ番号は更新せず、更新ページ管理情報51の追加最終
ページ番号を新たに確保したページのページ番号で登録
し直し(ステップ210)、データレコードの格納先と
して、新規確保ページの第一レコードを設定し(ステッ
プ211)、レコード処理制御手段1に制御を戻す。
ジ番号は更新せず、更新ページ管理情報51の追加最終
ページ番号を新たに確保したページのページ番号で登録
し直し(ステップ210)、データレコードの格納先と
して、新規確保ページの第一レコードを設定し(ステッ
プ211)、レコード処理制御手段1に制御を戻す。
【0044】その後、制御が戻ってきたレコード処理制
御手段1では、追加ページ確保手段2からレコード格納
可能な旨が通知されてきた場合には、レコード格納可能
ページ番号、レコード位置が併せて返却されるので、該
当ページに追加要求のあったレコードイメージを書き込
み、レコード追加処理を正常動作させることが可能とな
る。
御手段1では、追加ページ確保手段2からレコード格納
可能な旨が通知されてきた場合には、レコード格納可能
ページ番号、レコード位置が併せて返却されるので、該
当ページに追加要求のあったレコードイメージを書き込
み、レコード追加処理を正常動作させることが可能とな
る。
【0045】なお、レコード処理制御手段1がレコード
格納が不可能な旨を受け取るような場合、例えばデータ
ベース6のファイル内に空きページが存在せず、データ
ベースファイル自体がオーバフロー状態となった場合に
は、レコード追加処理の要求元にレコード追加不成功の
結果を返すことが可能であるのは言うまでもない。
格納が不可能な旨を受け取るような場合、例えばデータ
ベース6のファイル内に空きページが存在せず、データ
ベースファイル自体がオーバフロー状態となった場合に
は、レコード追加処理の要求元にレコード追加不成功の
結果を返すことが可能であるのは言うまでもない。
【0046】また、追加ページ確保手段2は、複数プロ
セスで同時に追加処理が動作した場合には、ダミーペー
ジ63に更新ロックを最初に掛け、共有排他制御を行っ
ているため、高々1プロセスでしか追加処理は動作しな
いように、シリアライズされているのも自明である。
セスで同時に追加処理が動作した場合には、ダミーペー
ジ63に更新ロックを最初に掛け、共有排他制御を行っ
ているため、高々1プロセスでしか追加処理は動作しな
いように、シリアライズされているのも自明である。
【0047】(チェーン遅延更新手段3の動作)図3
は、チェーン遅延更新手段3の動作を示すフローチャー
トである。
は、チェーン遅延更新手段3の動作を示すフローチャー
トである。
【0048】チェーン遅延更新手段3は、レコード処理
制御手段1によってCOMMIT命令を実行する際、情
報記憶域5に保持されている更新ページ管理情報51に
基づき、追加ページ確保手段2の起動時にはページヘッ
ダ上は更新されていなかったダーミーページ63の前ペ
ージ番号領域、並びに直近の静止点確立時点でデータ格
納最終ページであった確定最終ページの次ページ番号領
域を、実際に更新してページ間チェーンを正しくリンク
し直す為に起動される。
制御手段1によってCOMMIT命令を実行する際、情
報記憶域5に保持されている更新ページ管理情報51に
基づき、追加ページ確保手段2の起動時にはページヘッ
ダ上は更新されていなかったダーミーページ63の前ペ
ージ番号領域、並びに直近の静止点確立時点でデータ格
納最終ページであった確定最終ページの次ページ番号領
域を、実際に更新してページ間チェーンを正しくリンク
し直す為に起動される。
【0049】レコード処理制御手段1によって起動され
た追加ページ確保手段2では、まず、更新ページ管理情
報51に追加最終ページ番号が登録されているか否かを
判断し(ステップ301)、登録されていれば、直近の
静止点確立後に追加ページ確保手段2が動作したものと
みなし(ステップ301のYES)、ダミーページ63
の前ページ番号領域を書き換えるために、ダミーページ
63をファイルから読み込む(ステップ302)。
た追加ページ確保手段2では、まず、更新ページ管理情
報51に追加最終ページ番号が登録されているか否かを
判断し(ステップ301)、登録されていれば、直近の
静止点確立後に追加ページ確保手段2が動作したものと
みなし(ステップ301のYES)、ダミーページ63
の前ページ番号領域を書き換えるために、ダミーページ
63をファイルから読み込む(ステップ302)。
【0050】次に、ダミーページ63の前ページ番号領
域に更新ページ管理情報51に登録されている追加最終
ページ番号をセットし(ステップ303)、ダミーペー
ジ63の前ページ番号をファイルに書き戻す(ステップ
304)。
域に更新ページ管理情報51に登録されている追加最終
ページ番号をセットし(ステップ303)、ダミーペー
ジ63の前ページ番号をファイルに書き戻す(ステップ
304)。
【0051】一方、ステップ301で更新ページ管理情
報51に追加最終ページ番号が登録されていなければ、
追加ページ確保手段2は直前の静止点確立以来、動作し
なかったと判断できる為、ステップ302からステップ
304の処理は行わない(ステップ301のNO)。
報51に追加最終ページ番号が登録されていなければ、
追加ページ確保手段2は直前の静止点確立以来、動作し
なかったと判断できる為、ステップ302からステップ
304の処理は行わない(ステップ301のNO)。
【0052】次に、更新ページ管理情報51に追加先頭
ページ番号が登録されているか否かを判断し(ステップ
305)、登録されていれば、ステップ301のYES
の時と同じく、直近の静止点確立後に追加ページ確保手
段2が動作したものとみなし(ステップ305のYE
S)、確定最終ページの次ページ番号領域を書き換える
ために、確定最終ページをファイルから読み込む(ステ
ップ306)。
ページ番号が登録されているか否かを判断し(ステップ
305)、登録されていれば、ステップ301のYES
の時と同じく、直近の静止点確立後に追加ページ確保手
段2が動作したものとみなし(ステップ305のYE
S)、確定最終ページの次ページ番号領域を書き換える
ために、確定最終ページをファイルから読み込む(ステ
ップ306)。
【0053】次に、確定最終ページの次ページ番号領域
に更新ページ管理情報51に登録されている追加先頭ペ
ージ番号をセットし(ステップ307)、確定最終ペー
ジをファイルに書き戻す(ステップ308)。
に更新ページ管理情報51に登録されている追加先頭ペ
ージ番号をセットし(ステップ307)、確定最終ペー
ジをファイルに書き戻す(ステップ308)。
【0054】一方、ステップ305で更新ページ管理情
報51に追加先頭ページ番号が登録されていなければ、
追加ページ確保手段2は直前の静止点確立以来、動作し
なかったと判断できる為、ステップ306からステップ
308の処理は行わない(ステップ305のNO)。
報51に追加先頭ページ番号が登録されていなければ、
追加ページ確保手段2は直前の静止点確立以来、動作し
なかったと判断できる為、ステップ306からステップ
308の処理は行わない(ステップ305のNO)。
【0055】最後に、更新ページ管理情報51の確定最
終ページ番号、追加先頭ページ番号、並びに追加最終ペ
ージ番号をクリアし(ステップ309)、制御をレコー
ド処理制御手段1に戻す。チェーン遅延更新手段3は上
述の動作を行い、ダミーページ63の最終ページとか又
は直前確定の最終ページと追加開始ページとなる次に入
るデータページとのリンクをはってチェーン関係を明確
に示す。
終ページ番号、追加先頭ページ番号、並びに追加最終ペ
ージ番号をクリアし(ステップ309)、制御をレコー
ド処理制御手段1に戻す。チェーン遅延更新手段3は上
述の動作を行い、ダミーページ63の最終ページとか又
は直前確定の最終ページと追加開始ページとなる次に入
るデータページとのリンクをはってチェーン関係を明確
に示す。
【0056】(確定レコード参照手段4の動作)図4
は、確定レコード参照手段4の動作を示すフローチャー
トである。
は、確定レコード参照手段4の動作を示すフローチャー
トである。
【0057】確定レコード参照手段4は、レコード処理
制御手段1によってレコード検索要求があった際に起動
され、データベース6に対し他のプロセスでデータ追加
中であっても、データレコードの順検索処理を、更新ペ
ージの排他解除待ちすることなく行う為のものである。
制御手段1によってレコード検索要求があった際に起動
され、データベース6に対し他のプロセスでデータ追加
中であっても、データレコードの順検索処理を、更新ペ
ージの排他解除待ちすることなく行う為のものである。
【0058】以下、格納順にデータを読み出す検索条件
付きの順次検索処理を例に説明する。レコード処理制御
手段1によって起動された確定レコード参照手段4で
は、まず、更新ページ管理情報51から確定最終ページ
番号を得ると共に(ステップ401)、検索対象ページ
番号にデータページの先頭ページ番号をセットする(ス
テップ402)。
付きの順次検索処理を例に説明する。レコード処理制御
手段1によって起動された確定レコード参照手段4で
は、まず、更新ページ管理情報51から確定最終ページ
番号を得ると共に(ステップ401)、検索対象ページ
番号にデータページの先頭ページ番号をセットする(ス
テップ402)。
【0059】次に、検索対象のページ番号が確定最終ペ
ージ番号と同じか否かを比較し(ステップ403)、異
なっていれば一般の検索処理と同様、検索ロックを掛け
て該当ページを読み込む(ステップ403のNO)。
ージ番号と同じか否かを比較し(ステップ403)、異
なっていれば一般の検索処理と同様、検索ロックを掛け
て該当ページを読み込む(ステップ403のNO)。
【0060】一方、検索対象のページ番号が確定最終ペ
ージ番号と同じであれば(ステップ403のYES)、
該当検索対象のページは既に更新ロックが掛けられてい
る可能性が高い為、参照ロックを掛けずに参照専用バッ
ファに該当ページを読み込む(ステップ405)。
ージ番号と同じであれば(ステップ403のYES)、
該当検索対象のページは既に更新ロックが掛けられてい
る可能性が高い為、参照ロックを掛けずに参照専用バッ
ファに該当ページを読み込む(ステップ405)。
【0061】このステップ403の条件判定により他プ
ロセスで、更新ロック中でも同一ページを同時アクセス
可能とすることができる。
ロセスで、更新ロック中でも同一ページを同時アクセス
可能とすることができる。
【0062】次に、検索対象ページが先頭ページか否か
を判断し(ステップ406)、検索対象ページが先頭ペ
ージでない場合には(ステップ406のNO)、この検
索対象ページを読み込む以前に、先行するPRIOR側
のデータページを参照ロックを掛けて読み込んでいる
為、このPRIOR側のページの参照ロックを解除する
(ステップ407)。
を判断し(ステップ406)、検索対象ページが先頭ペ
ージでない場合には(ステップ406のNO)、この検
索対象ページを読み込む以前に、先行するPRIOR側
のデータページを参照ロックを掛けて読み込んでいる
為、このPRIOR側のページの参照ロックを解除する
(ステップ407)。
【0063】なお、検索対象ページが先頭ページの場合
は、他の異参照ロックを掛けていない為、PRIORペ
ージの参照ロックの解除は不要である(ステップ406
のYES)。
は、他の異参照ロックを掛けていない為、PRIORペ
ージの参照ロックの解除は不要である(ステップ406
のYES)。
【0064】次に、検索対象ページ内の格納レコード毎
に与えられた検索条件を満足するかどうかを判定し(ス
テップ408)、もし条件に一致したものが存在すれば
(ステップ408のYES)、その旨を要求元に返却す
ると共にレコード内容を要求元に返却し(ステップ40
9)、処理を終える。
に与えられた検索条件を満足するかどうかを判定し(ス
テップ408)、もし条件に一致したものが存在すれば
(ステップ408のYES)、その旨を要求元に返却す
ると共にレコード内容を要求元に返却し(ステップ40
9)、処理を終える。
【0065】また、読み込んだページ内のデータレコー
ドの全てが条件不一致だった場合は(ステップ408の
NO)、該当ページが確定最終ページかどうかを検査し
(ステップ410)、該当ページが確定最終ページであ
れば(ステップ410のYES)、1件も条件にヒット
しなかった旨を要求元に返し(ステップ411)、処理
を終える。
ドの全てが条件不一致だった場合は(ステップ408の
NO)、該当ページが確定最終ページかどうかを検査し
(ステップ410)、該当ページが確定最終ページであ
れば(ステップ410のYES)、1件も条件にヒット
しなかった旨を要求元に返し(ステップ411)、処理
を終える。
【0066】また、未だ読み込んだページが確定最終ペ
ージでなければ(ステップ410でNO)、次段のNE
XT側のページを読み込むために前ページ番号を新たな
検索対象ページ番号にセットし直し(ステップ41
2)、ステップ403から412の処理を繰り返す。
ージでなければ(ステップ410でNO)、次段のNE
XT側のページを読み込むために前ページ番号を新たな
検索対象ページ番号にセットし直し(ステップ41
2)、ステップ403から412の処理を繰り返す。
【0067】これらの一連の処理により、他プロセスで
データ追加に伴ったデータページ追加処理があっても、
更新ロックの排他解除待ちとなることもなく、しかも静
止点確立前の不定な追加データを余分に参照することも
なく検索処理を終えることが可能となる。
データ追加に伴ったデータページ追加処理があっても、
更新ロックの排他解除待ちとなることもなく、しかも静
止点確立前の不定な追加データを余分に参照することも
なく検索処理を終えることが可能となる。
【0068】(データベース処理の具体例)次に具体例
を用いて説明する。図5は、データベース6のデータレ
コードを格納するデータページ(ページB、ページ
C)、及びページ間のチェーンの最後に位置しているダ
ミーページ(ページD)、並びにこれらのページを管理
するレコードとそれを格納している管理ページ(ページ
A)の関連図と、情報管理記憶領域5に保持されている
更新ページ管理情報51の内容を例示する図である。
を用いて説明する。図5は、データベース6のデータレ
コードを格納するデータページ(ページB、ページ
C)、及びページ間のチェーンの最後に位置しているダ
ミーページ(ページD)、並びにこれらのページを管理
するレコードとそれを格納している管理ページ(ページ
A)の関連図と、情報管理記憶領域5に保持されている
更新ページ管理情報51の内容を例示する図である。
【0069】図5に示す新たなデータページをデータベ
ースに書き込む場合について説明すると、管理レコード
61からはデータページ群62の先頭ページBへのチェ
ーンとダミーページDへのチェーンとが張られている。
ースに書き込む場合について説明すると、管理レコード
61からはデータページ群62の先頭ページBへのチェ
ーンとダミーページDへのチェーンとが張られている。
【0070】またデータページB,C間はそれぞれ前ペ
ージと次ページを指し示すページ番号がページヘッダに
格納されている。
ージと次ページを指し示すページ番号がページヘッダに
格納されている。
【0071】また、ページCはデータレコードがm件格
納されている様子を示しており、次ページ番号Dを辿る
と、ページDには前ページ番号のページCと次段のペー
ジがない旨のNULLとレコードが1件も入っていない
ダミーページである様子が伺える。
納されている様子を示しており、次ページ番号Dを辿る
と、ページDには前ページ番号のページCと次段のペー
ジがない旨のNULLとレコードが1件も入っていない
ダミーページである様子が伺える。
【0072】一方、更新ページ管理情報51は、COM
MIT命令直後の状態を表し、確定最終ページ番号Cと
ラインm、追加先頭ページ番号NULL、追加最終ペー
ジ番号NULLとというNULL値(クリアされた状
態)が入っている。
MIT命令直後の状態を表し、確定最終ページ番号Cと
ラインm、追加先頭ページ番号NULL、追加最終ペー
ジ番号NULLとというNULL値(クリアされた状
態)が入っている。
【0073】この状態からデータレコードを1件格納す
ると、図1のレコード処理制御手段1では、ページDを
経由し、ページCを参照し、レコードを格納するための
空きが有ると判断すれば、ページCにレコードmの後ろ
にを追加する。
ると、図1のレコード処理制御手段1では、ページDを
経由し、ページCを参照し、レコードを格納するための
空きが有ると判断すれば、ページCにレコードmの後ろ
にを追加する。
【0074】この際、更新ページ管理情報51の確定最
終ページ番号はNULL値から”C”に変更される(図
面なし)。
終ページ番号はNULL値から”C”に変更される(図
面なし)。
【0075】次に更にデータ追加を行った場合を考え
る。図6はデータ追加によって新規最終ページが確保さ
れた後のページ間チェーンの状態、並びにその時の更新
ページ情報51の状態を表している。
る。図6はデータ追加によって新規最終ページが確保さ
れた後のページ間チェーンの状態、並びにその時の更新
ページ情報51の状態を表している。
【0076】図6において、ページCに新たにデータの
レコードnが追加出来ないとなった場合、追加ページ確
保手段2では以下の処理を行う。
レコードnが追加出来ないとなった場合、追加ページ確
保手段2では以下の処理を行う。
【0077】まず、ファイル内から未使用ページXを見
つけ(図2のステップ201)、ページXのページヘッ
ダにある次ページ番号領域にダミーページDのページ番
号’D’を埋め込む(図2のステップ202)。
つけ(図2のステップ201)、ページXのページヘッ
ダにある次ページ番号領域にダミーページDのページ番
号’D’を埋め込む(図2のステップ202)。
【0078】更に、更新ページ管理情報51の追加最終
ページ番号は、元々図5に示すようにNULL値である
ので、新規確保ページ番号Xの前ページ番号領域に確定
最終ページ番号”C”を埋め込み、ページXのヘッダを
作り上げる(図2のステップ203のNO、ステップ2
04)。
ページ番号は、元々図5に示すようにNULL値である
ので、新規確保ページ番号Xの前ページ番号領域に確定
最終ページ番号”C”を埋め込み、ページXのヘッダを
作り上げる(図2のステップ203のNO、ステップ2
04)。
【0079】ここで、確定最終ぺージCの次ページ番号
領域、並びにダミーページDの前ページ番号領域のペー
ジ間チェーンは更新せず(つまりページCのNEXT
は”D”、ページDのPRIORは”C”のまま)、前
ページ番号は、チェーン遅延更新手段6の為に更新ペー
ジ管理情報51の追加先頭ページ番号、追加最終ページ
番号に共に、新規確保ページXのページ番号”X”を登
録する(ステップ205,ステップ206)。
領域、並びにダミーページDの前ページ番号領域のペー
ジ間チェーンは更新せず(つまりページCのNEXT
は”D”、ページDのPRIORは”C”のまま)、前
ページ番号は、チェーン遅延更新手段6の為に更新ペー
ジ管理情報51の追加先頭ページ番号、追加最終ページ
番号に共に、新規確保ページXのページ番号”X”を登
録する(ステップ205,ステップ206)。
【0080】また、図7は更にデータ追加処理を繰り返
した場合についてのページ間チェーンと、更新ページ管
理情報51の状態を表しており、図2のステップ203
によって、追加先頭ページ番号’X’が更新ページ管理
情報に登録されていた際の、図2のステップ203から
ステップ210間での処理結果を表している。
した場合についてのページ間チェーンと、更新ページ管
理情報51の状態を表しており、図2のステップ203
によって、追加先頭ページ番号’X’が更新ページ管理
情報に登録されていた際の、図2のステップ203から
ステップ210間での処理結果を表している。
【0081】これら図5,図6,図7からも解るよう
に、更新ページ管理情報51の追加先頭ページ番号に
は、確定最終ページCの真の次ページ番号’X’が、ま
た追加最終ページ番号にはダミーページDの真の前ペー
ジ番号’Y’が入ることになり、静止点確立時にこれら
に基づいてページC、ページDを更新してやれば正しく
チェーンがリンクされた状態になるのは想像に難くな
い。
に、更新ページ管理情報51の追加先頭ページ番号に
は、確定最終ページCの真の次ページ番号’X’が、ま
た追加最終ページ番号にはダミーページDの真の前ペー
ジ番号’Y’が入ることになり、静止点確立時にこれら
に基づいてページC、ページDを更新してやれば正しく
チェーンがリンクされた状態になるのは想像に難くな
い。
【0082】
【発明の効果】本発明によれば、ダミーページを予めデ
ータページ群の最後に用意しておくことで、管理レコー
ドの最終ページへのチェーン情報を更新する必要がなく
なり、先頭ページから検索処理を施す際のように、管理
ページ参照時に排他解除待ちをすることが無くなるの
で、管理レコード参照時の排他解除待ちによる処理時間
増加を低減できる。
ータページ群の最後に用意しておくことで、管理レコー
ドの最終ページへのチェーン情報を更新する必要がなく
なり、先頭ページから検索処理を施す際のように、管理
ページ参照時に排他解除待ちをすることが無くなるの
で、管理レコード参照時の排他解除待ちによる処理時間
増加を低減できる。
【0083】また、ダミーページと確定最終ページのヘ
ッダ情報であるページ間チェーンは、更新ページ管理情
報にそのチェーン情報を静止点確立時まで一時的に覚え
ておくので、ダミーページにはデータ追加時には更新が
入らず、ダミーページ参照時に掛けた更新ロックは、す
ぐに解除可能であるので、データ追加処理と参照処理の
同時走行性を増加することができる。
ッダ情報であるページ間チェーンは、更新ページ管理情
報にそのチェーン情報を静止点確立時まで一時的に覚え
ておくので、ダミーページにはデータ追加時には更新が
入らず、ダミーページ参照時に掛けた更新ロックは、す
ぐに解除可能であるので、データ追加処理と参照処理の
同時走行性を増加することができる。
【0084】更に、確定最終ページはレコード追加の際
には更新ロックを静止点確立時まで保持しなければなら
ないが、例えば1ページに1レコードしか入らず、必ず
新規ページを追加しなければならないような場合には確
定最終ページにさえ、ヘッダ更新が入らないので、これ
もダミーページ同様、掛けた更新ロックをすぐに解除可
能となる。
には更新ロックを静止点確立時まで保持しなければなら
ないが、例えば1ページに1レコードしか入らず、必ず
新規ページを追加しなければならないような場合には確
定最終ページにさえ、ヘッダ更新が入らないので、これ
もダミーページ同様、掛けた更新ロックをすぐに解除可
能となる。
【図1】本発明のデータベース更新システムの概略構成
ブロック図である。
ブロック図である。
【図2】本発明のデータベース更新システムの一フロー
チャートである。
チャートである。
【図3】本発明のデータベース更新システムの一フロー
チャートである。
チャートである。
【図4】本発明のデータベース更新システムの一フロー
チャートである。
チャートである。
【図5】本発明のデータベース更新システムの概略動作
を説明する図である。
を説明する図である。
【図6】本発明のデータベース更新システムの概略動作
を説明する図である。
を説明する図である。
【図7】本発明のデータベース更新システムの概略動作
を説明する図である。
を説明する図である。
1 レコード処理制御手段 2 追加ページ確保手段 3 チェーン遅延更新手段 4 確定レコード参照手段 5 情報記憶域 6 データベース 51 更新ページ管理情報 61 管理レコード 62 データページ群 63 ダミーページ
Claims (6)
- 【請求項1】 データベースのデータをページ単位に更
新するデータ更新方式において、 管理レコードとダミーページとを備えた前記データベー
スと、前記データベースへのアクセスを処理するレコー
ド処理制御手段と、該レコード処理制御手段の制御の下
でデータレコードを追加する処理を行う追加ページ確保
手段と、前記レコード処理制御手段の制御の下で追加ペ
ージと当該追加ページの前段と後段のページとのチェー
ンをとるチェーン遅延更新手段と、前記レコード処理制
御手段の制御の下でデータ更新の確定結果を参照する確
定レコード参照手段と、前記追加ページ確保手段により
前記データレコードの更新したページを管理する更新ペ
ージ管理情報を含む情報記憶域とを備えたことを特徴と
するデータベースシステム。 - 【請求項2】 請求項1に記載のデータベースシステム
において、前記データベースの前記管理レコードからペ
ージ番号が変わらない前記ダミーページを用意し、前記
データレコードの追加の際に新たなデータページが必要
になったときには、前記ダミーページの先行する側に最
終ページをリンクすることで前記管理レコードに対する
更新処理を削減し、前記管理レコードを参照するプロセ
スが更新ロック解除のための排他待ち合わせによる処理
時間の増加を抑制することを特徴とするデータベースシ
ステム。 - 【請求項3】 データベース内にデータベースをレコー
ド単位で管理する管理レコードの管理の下でページ番号
が変わらないダミーページを予め用意し、前記データベ
ースにデータレコードの追加の際に新たなデータページ
が必要になったときには、前記ダミーページに先行する
側の最終ページをリンクし、前記データベースへのレコ
ードの追加の場合に前記レコードの格納のための領域用
の空き領域がない場合に前記ダミーページの直前にデー
タ最終ページを挿入し、当該データ最終ページ番号を前
記ダミーページのページヘッダに書きこむことを特徴と
するデータベースのデータ更新方式。 - 【請求項4】 請求項3に記載のデータベースのデータ
更新方式において、 前記データベース内のレコードの領域管理情報が格納さ
れている管理レコードを前記データベース中から読み込
み、データ格納ページ間チェーンの最後にあるダミーペ
ージに更新ロックを掛けて更新バッファに読み込み、そ
の前記先行する側に存在する最終ページに更新ロックを
掛けて、前記データベース中から前記更新バッファに読
み込むことを特徴とするデータベースのデータ更新方
式。 - 【請求項5】 請求項3に記載のデータベースのデータ
更新方式において、 情報管理を行う更新ページ管理情報に追加最終ページ番
号が登録されていない場合に前記更新ページ管理情報に
追加先頭ページ番号が登録されている場合には、先行す
る側の確定最終ページを前記データベースの管理レコー
ドから読み込み、前記確定最終ページの次の次ページ番
号領域に更新ページ管理情報の追加開始ページ番号を格
納し、前記確定最終ページを前記管理レコードに書き出
し、前記更新ページ管理情報の追加先頭ページの領域と
追加最終ページの領域をクリアすることを特徴とするデ
ータベースのデータ更新方式。 - 【請求項6】 請求項3に記載のデータベースのデータ
更新方式において、 前記データベースの検索の際に、情報管理を行う更新ペ
ージ管理情報から確定最終ページ番号を得て、前記検索
の検索ページ番号に先頭ページ番号を設定し、前記検索
ページ番号と前記確定最終ページ番号との一致を判断
し、前記検索ページ番号を参照ロックを掛けずに読み込
み、前記検索ページ番号が先頭ページであれば前記検索
の条件を満たす前記データベースのレコードがなければ
再度前記検索ページ番号と前記確定最終ページ番号との
一致を判断して不一致であれば前記検索ページ番号に、
前記検索ページ番号の次の次ページ番号を設定すること
を特徴とするデータベースのデータ更新方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11067043A JP2000259460A (ja) | 1999-03-12 | 1999-03-12 | データベースシステムとそのデータ更新方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11067043A JP2000259460A (ja) | 1999-03-12 | 1999-03-12 | データベースシステムとそのデータ更新方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000259460A true JP2000259460A (ja) | 2000-09-22 |
Family
ID=13333438
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11067043A Pending JP2000259460A (ja) | 1999-03-12 | 1999-03-12 | データベースシステムとそのデータ更新方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000259460A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20180044071A (ko) * | 2016-10-21 | 2018-05-02 | 한양대학교 산학협력단 | 더미 페이지를 이용한 데이터 처리 방법 및 장치 |
| CN115623362A (zh) * | 2021-07-15 | 2023-01-17 | 瑞昱新加坡有限公司 | 网络装置及其数据上行传输方法 |
-
1999
- 1999-03-12 JP JP11067043A patent/JP2000259460A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20180044071A (ko) * | 2016-10-21 | 2018-05-02 | 한양대학교 산학협력단 | 더미 페이지를 이용한 데이터 처리 방법 및 장치 |
| KR101887663B1 (ko) * | 2016-10-21 | 2018-08-13 | 한양대학교 산학협력단 | 더미 페이지를 이용한 데이터 처리 방법 및 장치 |
| CN115623362A (zh) * | 2021-07-15 | 2023-01-17 | 瑞昱新加坡有限公司 | 网络装置及其数据上行传输方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6834275B2 (en) | Transaction processing system using efficient file update processing and recovery processing | |
| US5175849A (en) | Capturing data of a database system | |
| US5287496A (en) | Dynamic, finite versioning for concurrent transaction and query processing | |
| US6813623B2 (en) | Method and apparatus for chunk based transaction logging with asynchronous input/output for a database management system | |
| CN113127212B (zh) | 一种在区块链中处理交易的方法和装置 | |
| JP3005466B2 (ja) | 並列ソート装置 | |
| JPH04229355A (ja) | データアクセス方法及びデータ処理システム | |
| US5715447A (en) | Method of and an apparatus for shortening a lock period of a shared buffer | |
| US6560601B1 (en) | Database transaction with locking in two phases and multiple versions of objects | |
| US7818749B2 (en) | Data processing method, data processing apparatus, and data processing program | |
| JPH08328933A (ja) | 並列処理システムのファイルアクセス制御方式 | |
| CN101339527B (zh) | 影子内存的备份方法及装置 | |
| JPH06332780A (ja) | データベース排他制御方法 | |
| JP2000259460A (ja) | データベースシステムとそのデータ更新方式 | |
| US7752399B2 (en) | Exclusion control method and information processing apparatus | |
| JP3107094B2 (ja) | 共用バッファのロック期間短縮処理方法及び装置 | |
| JP2933486B2 (ja) | データベースの同時全件検索方法 | |
| JPH08329019A (ja) | セマフォのデータ管理方式 | |
| JPH0588954A (ja) | データベースの更新方法 | |
| US20240283755A1 (en) | Method for transmitting structured data | |
| CN117891625B (zh) | 数据共享方法、装置、设备及存储介质 | |
| JP2980610B2 (ja) | トランザクション管理装置 | |
| JP4131579B2 (ja) | データ管理システムおよびデータ管理方法 | |
| KR100312910B1 (ko) | 데이터베이스관리시스템에서트랜잭션고립단계의확장방법 | |
| JP3858648B2 (ja) | データ格納領域管理方法および装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040407 |