JPH01189741A - Journal output system - Google Patents
Journal output systemInfo
- Publication number
- JPH01189741A JPH01189741A JP63014847A JP1484788A JPH01189741A JP H01189741 A JPH01189741 A JP H01189741A JP 63014847 A JP63014847 A JP 63014847A JP 1484788 A JP1484788 A JP 1484788A JP H01189741 A JPH01189741 A JP H01189741A
- Authority
- JP
- Japan
- Prior art keywords
- journal
- page
- file
- updated
- record
- 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
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000000717 retained effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 5
- 238000011084 recovery Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 235000008597 Diospyros kaki Nutrition 0.000 description 1
- 244000236655 Diospyros kaki Species 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、同一のジャーナルレコードを複数のユーザプ
ロセスが更新する場合に、最新に更新されたジャーナル
レコードだけをジャーナルファイルl\出力することに
より、ジャーナルファイルへ出力されるジャーナルレコ
ードを減少させることを可能とするジャーナル出力方式
に関する。Detailed Description of the Invention (Industrial Field of Application) The present invention is capable of outputting only the most recently updated journal record to a journal file when multiple user processes update the same journal record. , relates to a journal output method that makes it possible to reduce the number of journal records output to a journal file.
(従来の技術)
従来、この柿のジャーナル出力方式は、更新要求かあっ
たジャーナルレコードは、更新後にその必要性を問わす
に全てジャーナルファイルへ出力される方式となってい
た。(Prior Art) Conventionally, in Kaki's journal output method, all journal records for which an update request has been made are output to a journal file after the update, regardless of whether it is necessary.
(発明が解決しようとする課題)
上述した従来のジャーナル出力方式は、システムの巨大
化に伴い、複数のユーザプロセスが同一のデータベース
ファイルを同一業務において更新する場合に、同一ペー
ジに対する更新後のジャーナルレコードが多数出力され
るのて、保存しておくべきジャーナルレコード量が増大
する。また、ジャーナルレコードを用いて磁気ディスク
障害時のファイルリカバリ処理を行う場合に、データベ
ースファイル中の同一ページを何度も更新しなければな
らず、無駄な処理時間を要するという解決ずべき課題が
ある。(Problem to be Solved by the Invention) As the system becomes larger, the conventional journal output method described above is used to output the updated journal for the same page when multiple user processes update the same database file in the same job. As a large number of records are output, the amount of journal records that must be saved increases. Additionally, when performing file recovery processing in the event of a magnetic disk failure using journal records, there is an unresolved problem in that the same page in the database file must be updated many times, resulting in wasted processing time. .
(課題を解決するための手段)
上述の課題を解決するために本発明が提供するジャーナ
ル出力方式は、複数のユーザプロセスの各′かデータゝ
−ス管理システム(DB¥S・Data Ba5e M
ana(leInent System )に対してデ
ータベースファイルの中のジャーナルレコードを更新す
る要求を発行し、この要求を受けた前記DBMSがジャ
ーナル出力制御部に対して更新後の前記ジャーナルレコ
ードをジャーナルファイルへ出力する要求を発行する計
算機システムのジャーナル出力方式であって、前記デー
タベースファイル中の前記更新後のジャーナルレコード
を含むページを一時的に保持するジャーナル管理テーブ
ルを主記憶上に倫え、前記ユーザプロセスにより更新要
求のあった前記ジャーナルレコードを更新する場合に、
このジャーナルレコードを含む前記ページか既に前記ジ
ャーナル管理テーブル中に保持されているならば、その
ページの中の前記ジャーナルレコードを更新し、前記ペ
ージが保持されていないならば、前記データベースファ
イルの中がら当該ページを読取って前記ジャーナル管理
テーブルに新たに登録してから登録したページの中の前
記ジャーナルレコードを更新する手段と、前記ジャーナ
ル管理テーブルが満杯となっている場合に、最古に更新
されたページを前記ジャーナルファイルへ出力して空き
ページを作る手段と、オペレータコマンドにより前記ジ
ャーナル管理テーブルに登録されている全ての前記ジャ
ーナルレコードを前記ジャーナルファイルへ出力する手
段とを前記ジャーナル出力制御部に備えていることを特
徴とする。(Means for Solving the Problems) In order to solve the above-mentioned problems, the journal output method provided by the present invention is a journal output method for each of a plurality of user processes or a database management system (DB\S/DataBa5eM).
A request is issued to ana (leInent System) to update the journal record in the database file, and the DBMS that receives this request outputs the updated journal record to the journal file to the journal output control unit. A journal output method of a computer system that issues requests, wherein a journal management table that temporarily holds pages containing the updated journal records in the database file is stored in main memory and updated by the user process. When updating the requested journal record,
If the page containing this journal record is already held in the journal management table, update the journal record in that page; if the page is not held, update the journal record in the database file. means for reading the page and registering it newly in the journal management table, and then updating the journal record in the registered page; and when the journal management table is full, the oldest updated The journal output control unit includes means for outputting pages to the journal file to create free pages, and means for outputting all the journal records registered in the journal management table to the journal file by an operator command. It is characterized by
(実施例)
以下、本発明の一実施例について図面を参照して説明す
る。(Example) Hereinafter, an example of the present invention will be described with reference to the drawings.
第1図は本発明の一実施例のジャーナル出力方式の概念
図である。FIG. 1 is a conceptual diagram of a journal output method according to an embodiment of the present invention.
図中、10は計算機システムに投入されるユーザプロセ
ス、20はユーザプロセス10が更新するデータベース
ファイル、30はデータベースファイル20を管理して
いるDBMS、40は更新後のジャーナルレコードを管
理しまたは出力するジャーナル出力制御部、50は更新
後のジャーナルレコードを一時的に保持しておくジャー
ナル管理テーブル、60は更新後のジャーナルレコード
を最後的に保存しておくジャーナルファイル、70はオ
ペレータからの指示を入力するコンソールをそれぞれ示
す。In the figure, 10 is a user process input to the computer system, 20 is a database file updated by the user process 10, 30 is a DBMS that manages the database file 20, and 40 is a device that manages or outputs updated journal records. A journal output control unit, 50 is a journal management table that temporarily stores updated journal records, 60 is a journal file that ultimately stores updated journal records, and 70 is used to input instructions from the operator. Each console is shown below.
ユーザプロセス10は、データベースファイル20の中
のジャーナルレコードを更新する要求をDBMS30に
対して発行する。この要求を受けなり8MS30は、更
新後のジャーナルレコードを出力する要求をジャーナル
出力制御部40に対して発行する。ジャーナル出力制御
部40は、まず、ジャーナル管理テーブル50を検査し
て、この更新後のジャーナルレコードを含むページが存
在している場合は、そのページを更新し、存在していな
い場合は、データベースファイル20から当該ページを
読取ってジャーナル管理デープル50に登録するととも
に、そのページを更新する。The user process 10 issues a request to the DBMS 30 to update the journal record in the database file 20. Upon receiving this request, the 8MS 30 issues a request to the journal output control unit 40 to output the updated journal record. The journal output control unit 40 first checks the journal management table 50, and if a page containing this updated journal record exists, updates that page, and if it does not exist, updates the page to the database file. The page is read from 20 and registered in the journal management table 50, and the page is updated.
ジャーナル管理テーブル50に空きページがなくて登録
がてきない場合は、最古に更新されたページをジャーナ
ルファイル601\出力して空きページを確保する。If there is no free page in the journal management table 50 and no registration is received, the oldest updated page is output to the journal file 601\ to ensure a free page.
ジャーナル出力制御部40は、このようにしてジャーナ
ル管理デープル50の当該ページを更新した後に、DB
MS30に対してその旨を通知する。DB M S 3
0は、この通知を受けると、ユーザプロセス10からの
要求通りにデータベースファイル20の更新を実行する
。After updating the page of the journal management table 50 in this way, the journal output control unit 40 updates the DB
The MS 30 is notified of this fact. DBMS 3
Upon receiving this notification, process 0 updates the database file 20 as requested by the user process 10.
また、オペレータは、任意の時点でコンソール70から
ジャーナル出力制御部40に対してジャーナル管理テー
ブル50中のジャーナルレコードをジャーナルファイル
60へ出力する指示を入力することができる。Further, the operator can input an instruction to the journal output control unit 40 from the console 70 at any time to output journal records in the journal management table 50 to the journal file 60.
第2図は本実施例の構成を示すブロック図である。第1
図の概念図を詳細に示しており、同一部分は同一符号で
表しである。FIG. 2 is a block diagram showing the configuration of this embodiment. 1st
The conceptual diagram of the figure is shown in detail, and the same parts are represented by the same reference numerals.
計算機システムに投入されたユーザプロセス10として
ユーザプロセス11及び12かあり、これらか更新する
データベースファイル20としてデータベースファイル
21及び22かある。また、ジャーナル出力制御部40
は、ページ更新部41とページ読取り部42とジャーナ
ル書出し部43とからなり、ジャーナル管理テーブル5
0は、ページ管理部51とページバッファ52とからな
る。There are user processes 11 and 12 as user processes 10 input into the computer system, and database files 21 and 22 as database files 20 to be updated. In addition, the journal output control unit 40
consists of a page update section 41, a page reading section 42, and a journal writing section 43, and a journal management table 5.
0 consists of a page management section 51 and a page buffer 52.
ユーザプロセス11は、データベースファイル21の例
えはページiに含まれるジャーナルレコードを更新する
ために、D B M S 30に対してDML命令を発
行する。DI3MS30は、ページ更新部41に対して
更新後のジャーナルレコードを出力するよう要求する。User process 11 issues a DML command to DBMS 30 to update the journal record contained in page i of database file 21, for example. The DI3MS 30 requests the page update unit 41 to output the updated journal record.
ページ更新部41は、ページ管理部51を検査し、この
ジャーナルレコードを含むページiかページバッファ5
2に存在しないことを知ると、ページ読取り部42に対
してデータベースファイル21からページiを読取るよ
う要求する。ページ読取り部42は、データベースファ
イル21からページiをページバッファ52に読取ると
同時に、ページ管理部51をページiを登録した状態に
更新する。The page update unit 41 inspects the page management unit 51 and determines whether the page i including this journal record or the page buffer 5
2, it requests the page reading unit 42 to read page i from the database file 21. The page reading unit 42 reads page i from the database file 21 into the page buffer 52, and at the same time updates the page management unit 51 to a state in which page i is registered.
これにより、ページ更新部41は、再度ページ管理部5
1を検査し、ページiをページバッファ52の中−7=
に見つけることができる。そこで、ページ更新部41は
、ページiを更新し、DBMS30に対して更新後のジ
ャーナルレコードの出力が完了したことを通知する。D
BMS30は、この通知を受けると、データベースファ
イル21を更新し、ユーザプロセス11に対してDML
命令が完了したことを通知する。As a result, the page update section 41 once again updates the page management section 5.
1, page i can be found in page buffer 52 at -7=. Therefore, the page update unit 41 updates page i and notifies the DBMS 30 that output of the updated journal record has been completed. D
Upon receiving this notification, the BMS 30 updates the database file 21 and sends the DML to the user process 11.
Notify that the instruction has been completed.
その後、ユーザプロセス12かデータベースファイル2
1のページiを更新するためのDML命令を発行すると
、上述と同様にしてDBMS30は、ページ更新部41
に対して更新後のジャーナルレコードの出力要求を出ず
。ページ更新部41は、ページ管理部51を検査し、ペ
ージiが既にページバッファ52に存在することを知っ
て、このページiを更新し、DMBS30に対して出力
が完了したことを通知する。その後の動作は上述と同様
である。After that, user process 12 or database file 2
When issuing a DML command to update page i of 1, the DBMS 30 updates the page update unit 41 in the same way as described above.
A request to output the updated journal record is not issued. The page update unit 41 checks the page management unit 51, finds that page i already exists in the page buffer 52, updates this page i, and notifies the DMBS 30 that the output has been completed. The subsequent operations are similar to those described above.
このような動作を繰返し行ううちに、ページバッファ5
2に空きページがなくなると、D B M S 30か
ら更新後のジャーナルレコードの出力要求を受けたペー
ジ更新部41は、ジャーナル書出し部43に対してペー
ジバッファ52に空きページを確保するよう要求する。As this operation is repeated, the page buffer 5
2, when there are no more free pages, the page update unit 41, which has received a request to output the updated journal record from the DBMS 30, requests the journal write unit 43 to reserve a free page in the page buffer 52. .
ジャーナル書出し部43は、ページ管理部51を検査し
、最古に更新されたページを選んでそれをジャーナルフ
ァイル60へ書出し、ページ管理部51の当該ページを
空きページの状態に更新する。これにより、ページ更新
部41は、ページ管理部51を検査して空きページが存
在するので、ページ読取り部42に対して新たにページ
を読取るよう要求することかできる。すると、上述と同
様の動作で読取られたページが更新後のジャーナルレコ
ードで更新される。The journal writing unit 43 inspects the page management unit 51, selects the oldest updated page, writes it to the journal file 60, and updates the page in the page management unit 51 to a free page state. As a result, the page updating unit 41 checks the page management unit 51 and finds that there is an empty page, so it can request the page reading unit 42 to read a new page. Then, the read page is updated with the updated journal record in the same manner as described above.
上述のように、ユーザプロセス11及び12がそれぞれ
データベースファイル21のページiを更新する場合に
、更新したページiを、ジャーナル管理テーブル50に
おいて、ページ管理部51で管理しながらジャーナルバ
ッファ52に保持しておき、ユーザプロセス11及び1
2がそれぞれ終了した時点で更新したページiでデータ
ベースファイル21を更新する。As described above, when each of the user processes 11 and 12 updates page i of the database file 21, the updated page i is held in the journal buffer 52 while being managed by the page management unit 51 in the journal management table 50. and user processes 11 and 1
2, the database file 21 is updated with the updated page i.
また、オペレータは、ユーザプロセス11及び12が終
了した時点でコンソール70からオペレータコマンドに
よりジャーナルバッファ52に保持されている全てのペ
ージをジャーナルファイル60へ出力する要求を発行す
る。ジャーナル書出し部43は、この要求に従ってペー
ジ管理部51を検査し、登録されているページを全てペ
ージバッファ52からジャーナルファイル60へ書出し
て出力する。Further, when the user processes 11 and 12 are terminated, the operator issues a request to output all pages held in the journal buffer 52 to the journal file 60 using an operator command from the console 70. The journal writing unit 43 inspects the page management unit 51 according to this request, and writes and outputs all registered pages from the page buffer 52 to the journal file 60.
このようにして、最新のジャーナルレコードだけをジャ
ーナルファイル60へ出力することができる。In this way, only the latest journal records can be output to the journal file 60.
次に、第3図の概要フローチャートを用いて本実施例の
動作について説明する。Next, the operation of this embodiment will be explained using the general flowchart shown in FIG.
ユーザプロセス10は、ステップ100で、DBM33
0に対してDML命令を発行する。DBMS30は、ス
テップ110で、ページ更新部41に対してジャーナル
出力要求を発行する。ページ更新部41は、ステップ1
20で、空きページの検査を行い、空きページがないと
きは、ステップ130へ進む。ステップ130では、ジ
ャーナル書出し部43が最古に更新したページのジャー
ナルファイル60への書出しを行う。続いて、ページ更
新部41は、ステップ140で、更新すべきジャーナル
レコードを含むページが存在するか否かの検査を行って
、存在しないときはステップ150へ進む、ステップ1
50では、ページ読取り部42がデータベースファイル
20から当該ページの読取りを行う。ページ更新部41
は、ステップ160でページを更新し、DBMS30は
、ステップ170でデータベースファイル20の更新を
行って処理を終了する。In step 100, the user process 10 uses the DBM 33
Issue a DML command to 0. In step 110, the DBMS 30 issues a journal output request to the page update unit 41. The page update unit 41 performs step 1
In step 20, a check is made for free pages, and if there are no free pages, the process proceeds to step 130. In step 130, the journal writing unit 43 writes the oldest updated page to the journal file 60. Next, in step 140, the page update unit 41 checks whether a page including the journal record to be updated exists, and if it does not exist, the process proceeds to step 150, step 1.
At 50, the page reading unit 42 reads the page from the database file 20. Page update section 41
updates the page in step 160, and the DBMS 30 updates the database file 20 in step 170, and ends the process.
第4図はオペレータの指示による本実施例の動作概要を
示している。FIG. 4 shows an outline of the operation of this embodiment according to instructions from the operator.
オペレータは、コンソール70を介してステップ200
でオペレータコマンドを発行する。ジャーナル書出し部
43は、このコマンドを受けると、ステップ210で、
ページ管理部51により存在ページの検査を行う。有効
なページが存在する場合は、ステップ220で、このペ
ージをジャーナルファイル60へ書出し、ステップ23
0で、ページ管理部51を更新する。この動作をステッ
プ110における存在ページの検査で有効ページがなく
なるまで繰返す。The operator via the console 70 performs step 200
Issue operator commands with . When the journal writing unit 43 receives this command, in step 210,
The page management unit 51 checks existing pages. If a valid page exists, in step 220 this page is written to the journal file 60, and in step 23
0, the page management section 51 is updated. This operation is repeated until there are no valid pages in the check for existing pages in step 110.
(発明の効果)
以上に説明したように本発明は、システムの巨大化に伴
なって複数のユーザプロセスが同一のデータベースファ
イルを同一業務において更新する場合に、同一ページに
ついては最新に更新されたジャーナルレコードだけがジ
ャーナルファイルに書出されるので、保存すべきジャー
ナルファイルの量を減少することができる。また、磁気
ディスク障害時に更新後のジャーナルレコードを用いて
ファイルリカバリ処理を行う場合に、同一ページに対し
てたった1度の更新で済むので、リカノくり処理に要す
る時間を短縮することができると〜)う効果がある。(Effects of the Invention) As explained above, the present invention has the advantage that when multiple user processes update the same database file in the same work as the system becomes large, the same page can be updated to the latest version. Since only journal records are written to the journal file, the amount of journal files to be saved can be reduced. In addition, when performing file recovery processing using updated journal records in the event of a magnetic disk failure, the same page only needs to be updated once, which can reduce the time required for recovery processing. ) It has a soothing effect.
第1図は本発明の一実施例のジャーナル出力方式の概念
図、第2図は本実施例の構成を示すブロック図、第3図
は本実施例の動作を示す概要フローチャート、第4図は
オペレータの指示による本実施例の動作を示す概要フロ
ーチャートである。
10、11,12・・・ユーザプロセス、20.21.
22・・・データベースファイル、30・・・DBMS
、40・・・ジャーナル出力制御部、41・・・ジャー
ナル更新部、42・・・ページ読取り部、43・・・ジ
ャーナル書出し部、50・・・ジャーナル管理テーブル
、51・・・ページ管理部、52・・・ページバッファ
、60・・・ジャーナルファイル、70・・・コンソー
ル。Fig. 1 is a conceptual diagram of a journal output method according to an embodiment of the present invention, Fig. 2 is a block diagram showing the configuration of this embodiment, Fig. 3 is a general flowchart showing the operation of this embodiment, and Fig. 4 is a 3 is a schematic flowchart showing the operation of this embodiment according to instructions from an operator. 10, 11, 12... user process, 20.21.
22...Database file, 30...DBMS
, 40... Journal output control unit, 41... Journal update unit, 42... Page reading unit, 43... Journal writing unit, 50... Journal management table, 51... Page management unit, 52...Page buffer, 60...Journal file, 70...Console.
Claims (1)
ムに対してデータベースファイルの中のジャーナルレコ
ードを更新する要求を発行し、この要求を受けた前記デ
ータベース管理システムがジャーナル出力制御部に対し
て更新後の前記ジャーナルレコードをジャーナルファイ
ルへ出力する要求を発行する計算機システムのジャーナ
ル出力方式において、前記データベースファイル中の前
記更新後のジャーナルレコードを含むページを一時的に
保持するジャーナル管理テーブルを主記憶上に備え、前
記ユーザプロセスにより更新要求のあった前記ジャーナ
ルレコードを更新する場合に、このジャーナルレコード
を含む前記ページが既に前記ジャーナル管理テーブル中
に保持されているならば、そのページの中の前記ジャー
ナルレコードを更新し、前記ページが保持されていない
ならば、前記データベースファイルの中から当該ページ
を読取って前記ジャーナル管理テーブルに新たに登録し
てから登録したページの中の前記ジャーナルレコードを
更新する手段と、前記ジャーナル管理テーブルが満杯と
なっている場合に、最古に更新されたページを前記ジャ
ーナルファイルへ出力して空きページを作る手段と、オ
ペレータコマンドにより前記ジャーナル管理テーブルに
登録されている全ての前記ジャーナルレコードを前記ジ
ャーナルファイルへ出力する手段とを前記ジャーナル出
力制御部に備えていることを特徴とするジャーナル出力
方式。Each of a plurality of user processes issues a request to the database management system to update a journal record in a database file, and upon receiving this request, the database management system sends the updated journal to the journal output control unit. In a journal output method of a computer system that issues a request to output records to a journal file, a journal management table is provided in main memory for temporarily holding pages including the updated journal record in the database file, and the When updating the journal record requested by a user process, if the page containing this journal record is already held in the journal management table, the journal record in that page is updated. , means for reading the page from the database file and newly registering the page in the journal management table and then updating the journal record in the registered page if the page is not retained; A means for creating a free page by outputting the oldest updated page to the journal file when the management table is full, and a means for creating a free page by outputting the oldest updated page to the journal file, and all the journal records registered in the journal management table by an operator command. The journal output method is characterized in that the journal output control unit includes means for outputting the information to the journal file.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63014847A JPH01189741A (en) | 1988-01-25 | 1988-01-25 | Journal output system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63014847A JPH01189741A (en) | 1988-01-25 | 1988-01-25 | Journal output system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01189741A true JPH01189741A (en) | 1989-07-28 |
Family
ID=11872429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63014847A Pending JPH01189741A (en) | 1988-01-25 | 1988-01-25 | Journal output system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01189741A (en) |
-
1988
- 1988-01-25 JP JP63014847A patent/JPH01189741A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5293618A (en) | Method for controlling access to a shared file and apparatus therefor | |
JPH02148235A (en) | Data drawback system | |
JPH06110743A (en) | System for parallel processing of data base rearrangement | |
JPH01189741A (en) | Journal output system | |
JPH08314780A (en) | File management system | |
JP2555920B2 (en) | Online real-time processor | |
JPS63138442A (en) | Restoring and processing system for deleted file | |
JPH0385650A (en) | Disk volume restoration system | |
US5659744A (en) | Data file store system with means for efficiently managing freeing of data blocks | |
JPH02257228A (en) | File control system for data base system | |
JP2641399B2 (en) | File management device | |
JP2721034B2 (en) | Clustering control system | |
JPH0337748A (en) | External storage accessing system utilizing main storage | |
JPH09171480A (en) | Network system provided with information storage system, input system and automatic operation system of the network system, and automatic operating method for the network system | |
JPH03105534A (en) | File control method | |
JPH01255028A (en) | Method for making access to external storage device | |
JPH01180651A (en) | Commit synchronization control system for report file output | |
JPH09282202A (en) | Data movement management system | |
JPH01166124A (en) | Volume shared control system | |
JPH04141750A (en) | Resource managing system | |
JPH04111026A (en) | Write system for updating history information to data base | |
JPH04242843A (en) | Subfile management system | |
JPH05108444A (en) | Journal extraction system | |
JPH0319014A (en) | Area control system for optical disk medium | |
JPH03100744A (en) | Data base control system |