JP2012238038A - Information processor, information processing method, and program - Google Patents

Information processor, information processing method, and program Download PDF

Info

Publication number
JP2012238038A
JP2012238038A JP2011104674A JP2011104674A JP2012238038A JP 2012238038 A JP2012238038 A JP 2012238038A JP 2011104674 A JP2011104674 A JP 2011104674A JP 2011104674 A JP2011104674 A JP 2011104674A JP 2012238038 A JP2012238038 A JP 2012238038A
Authority
JP
Japan
Prior art keywords
time
storage area
information
unit
data update
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.)
Granted
Application number
JP2011104674A
Other languages
Japanese (ja)
Other versions
JP5649508B2 (en
Inventor
Takayuki Tamura
孝之 田村
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2011104674A priority Critical patent/JP5649508B2/en
Publication of JP2012238038A publication Critical patent/JP2012238038A/en
Application granted granted Critical
Publication of JP5649508B2 publication Critical patent/JP5649508B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To store update contents of updated data each time data is updated, and also efficiently eliminate repetition of stored update contents.SOLUTION: Each time data is updated in a database management device 2, a log input unit 7 inputs an update log entry (record update) 3r indicating update contents of updated data and the next update time at which the data is to be updated next time, and stores the update log entry (record update) 3r in a storage unit 6. Also, the log input unit 7 sets the new current time when a predetermined unit time has passed after the last current time was set. Each time the new current time is set, a log reduction unit 8 deletes the update log entry (record update) 3r indicating the next update time which is before the newly set current time from the storage unit 6.

Description

本発明は、更新されたデータにおける更新内容を記憶するとともに、記憶している更新内容における重複を効率的に除去する技術に関する。   The present invention relates to a technique for storing update contents in updated data and efficiently removing duplication in the stored update contents.

コンピュータシステムの可用性を向上するため、データベースの冗長化が行われる。
常時更新されるデータベースを複製するに当たり、データ全体を複製することによるデータ転送コストの上昇を避けるため、更新の都度生成される差分情報(更新ログ、ジャーナル)を保存または別システムに転送し、差分情報から元のデータベースを復元する方式が知られている。
差分情報からデータベースを復元するには、差分情報を発生順にデータベースに反映すれば良いが、データベースのある部分(アドレス、レコード)に対する差分情報に引き続き、同一部分に対する別の差分情報が発生した場合、先行する差分情報の反映処理は無駄となり、データベース復元処理時間の増大を招いてしまう。
そこで、差分情報をデータベースに反映する前に、差分情報に対応するアドレスに基づいて重複除去処理を行い、各アドレスに対し、最新の差分情報のみを取り出してから反映処理を行う方法が、例えば特許文献1に述べられている。
Database redundancy is performed to improve the availability of the computer system.
When replicating a constantly updated database, save or transfer differential information (update log, journal) generated each time it is updated to another system in order to avoid an increase in data transfer cost due to duplication of the entire data. A method for restoring the original database from information is known.
In order to restore the database from the difference information, the difference information may be reflected in the database in the order of occurrence, but if another difference information for the same part occurs following the difference information for a certain part (address, record) of the database, The reflection process of the preceding difference information is useless, and the database restoration processing time is increased.
Therefore, a method of performing deduplication processing based on addresses corresponding to the difference information before reflecting the difference information in the database, and performing the reflection processing after extracting only the latest difference information for each address is, for example, a patent Reference 1 describes.

特開2008−243138号公報 第42頁 図22Japanese Patent Laying-Open No. 2008-243138, page 42 FIG.

従来のデータベース復元方法では、特許文献1に述べられているように、蓄積されたデータベース差分情報全体に対する重複除去を行うため、ソート等の演算処理が必要となる。
差分情報の蓄積量が少ない場合は、二次記憶上の差分情報全体を主記憶に読み込み、主記憶上でソート演算を完了させることができるが、蓄積量が増加するにつれ、主記憶に読み込み可能な部分毎に中間結果を作成し、二次記憶に対して入出力を繰り返す必要が生じ、処理コストが増大するという課題がある。
一方、差分情報が一定量蓄積されるごとに複製データベースへの反映を行うことで、差分情報を削除し蓄積量を抑制することが可能となるが、システムの可用性を高めるためには複製データベースを必ず二次記憶に書き込む必要があり、全体の処理コストは低減できない。
In the conventional database restoration method, as described in Patent Document 1, duplication removal is performed on the entire accumulated database difference information, so that arithmetic processing such as sorting is necessary.
When the accumulated amount of difference information is small, the entire difference information on the secondary memory can be read into the main memory and the sort operation can be completed on the main memory, but can be read into the main memory as the accumulated amount increases. It is necessary to create an intermediate result for each part and repeat input / output with respect to the secondary storage, which increases the processing cost.
On the other hand, it is possible to delete the difference information and suppress the accumulation amount by reflecting it in the replication database every time a certain amount of difference information is accumulated. It is necessary to write to the secondary storage without fail, and the overall processing cost cannot be reduced.

本発明は上記の課題を解決することを主な目的としており、データの更新がある度に、更新されたデータにおける更新内容を記憶するとともに、記憶している更新内容における重複を効率的に除去することを主な目的とする。   The main object of the present invention is to solve the above-mentioned problems. Whenever data is updated, the update content in the updated data is stored, and duplication in the stored update content is efficiently removed. The main purpose is to do.

本発明に係る情報処理装置は、
データの更新がある度に、更新されたデータにおける更新内容と当該データが次に更新される時刻である次回更新時刻とが示されるデータ更新情報を入力する情報入力部と、
前記情報入力部によりデータ更新情報が入力される度に、前記情報入力部により入力されたデータ更新情報を記憶する記憶部と、
前回の現在時刻の設定から所定の単位時間が経過した際に新たな現在時刻を設定する時刻設定部と、
前記時刻設定部により新たな現在時刻が設定される度に、新たな現在時刻よりも前の次回更新時刻が示されているデータ更新情報を前記記憶部から消去する情報管理部とを有することを特徴とする。
An information processing apparatus according to the present invention includes:
An information input unit for inputting data update information indicating an update content in the updated data and a next update time that is a time when the data is updated next each time there is an update of the data;
A storage unit that stores data update information input by the information input unit each time data update information is input by the information input unit;
A time setting unit for setting a new current time when a predetermined unit time has elapsed since the previous setting of the current time;
An information management unit for deleting data update information indicating a next update time before the new current time from the storage unit every time a new current time is set by the time setting unit. Features.

本発明によれば、新たな現在時刻が設定される度に、新たな現在時刻よりも前の次回更新時刻が示されているデータ更新情報を記憶部から消去するため、データ更新情報における重複を効率的に除去することができる。   According to the present invention, every time a new current time is set, the data update information indicating the next update time before the new current time is deleted from the storage unit. It can be removed efficiently.

実施の形態1に係るデータベース復元装置の構成例を示す図。1 is a diagram illustrating a configuration example of a database restoration device according to Embodiment 1. FIG. 実施の形態1に係る更新ログエントリ(レコード更新)の例を示す図。FIG. 4 is a diagram showing an example of an update log entry (record update) according to the first embodiment. 実施の形態1に係る更新ログエントリ(現在時刻設定)の例を示す図。The figure which shows the example of the update log entry (current time setting) which concerns on Embodiment 1. FIG. 実施の形態1に係るログ入力処理の例を示すフローチャート図。FIG. 4 is a flowchart showing an example of log input processing according to the first embodiment. 実施の形態1に係るログ縮約処理の例を示すフローチャート図。FIG. 6 is a flowchart showing an example of log contraction processing according to the first embodiment. 実施の形態1に係るログ縮約処理の概要を説明する図。FIG. 5 is a diagram for explaining an outline of log contraction processing according to the first embodiment. 実施の形態1に係るデータベース復元処理を示すフローチャート図。FIG. 3 is a flowchart showing database restoration processing according to the first embodiment. 実施の形態1に係るデータベース復元処理の概要を説明する図。The figure explaining the outline | summary of the database restoration process which concerns on Embodiment 1. FIG. 実施の形態1に係るデータベース復元装置とデータベース管理装置が一体となった場合の構成例を示す図。The figure which shows the structural example when the database restoration apparatus which concerns on Embodiment 1, and a database management apparatus are united. 実施の形態1に係るデータベース復元装置とデータベース管理装置が一体となったサーバの例を示す図。The figure which shows the example of the server with which the database restoration apparatus and database management apparatus which concern on Embodiment 1 were united. 実施の形態2に係るデータベース復元装置の構成例を示す図。FIG. 4 is a diagram illustrating a configuration example of a database restoration device according to a second embodiment. 実施の形態2に係るログ入力処理の例を示すフローチャート図。FIG. 9 is a flowchart showing an example of log input processing according to the second embodiment. 実施の形態2に係るログ縮約処理の例を示すフローチャート図。FIG. 9 is a flowchart showing an example of log contraction processing according to the second embodiment. 実施の形態2に係るログ縮約処理の概要を説明する図。The figure explaining the outline | summary of the log reduction process which concerns on Embodiment 2. FIG. 実施の形態3に係るデータベース復元装置の構成例を示す図。FIG. 10 is a diagram illustrating a configuration example of a database restoration device according to a third embodiment. 実施の形態3に係るログ入力処理の例を示すフローチャート図。FIG. 9 is a flowchart showing an example of log input processing according to the third embodiment. 実施の形態3に係るログ縮約処理2の例を示すフローチャート図。FIG. 10 is a flowchart showing an example of log contraction processing 2 according to the third embodiment. 実施の形態2に係るデータベース復元処理の概要を説明する図。The figure explaining the outline | summary of the database restoration process which concerns on Embodiment 2. FIG. 実施の形態1〜3に係るデータベース復元装置のハードウェア構成例を示す図。The figure which shows the hardware structural example of the database restoration apparatus which concerns on Embodiment 1-3.

実施の形態1〜3では、データベースの各レコードに対する次回更新時刻が指定されている場合に、更新の都度発生する差分情報を常に二次記憶装置に格納しつつ、同一レコードに対する差分情報の重複を効率的に除去する例を説明する。   In the first to third embodiments, when the next update time for each record in the database is specified, the difference information generated each time the update is always stored in the secondary storage device, and the difference information for the same record is duplicated. An example of efficient removal will be described.

実施の形態1.
図1は、本実施の形態に係るデータベース復元装置1の構成例を示す。
なお、データベース復元装置1は情報処理装置の例に相当する。
Embodiment 1 FIG.
FIG. 1 shows a configuration example of a database restoration apparatus 1 according to the present embodiment.
Note that the database restoration device 1 corresponds to an example of an information processing device.

図1において、データベース復元装置1は、データベース管理装置2と制御装置4と通信を行う。
データベース復元装置1は、データベース管理装置2が管理するデータベースの更新時に発生する差分情報を入力し、保持する。
そして、データベース管理装置2が管理するデータベースにおいて障害が発生した場合等に、制御装置4からの要求に基づき、保持している差分情報を用いてデータベースの復元を行う。
In FIG. 1, a database restoration device 1 communicates with a database management device 2 and a control device 4.
The database restoration device 1 inputs and holds difference information generated when updating the database managed by the database management device 2.
Then, when a failure occurs in the database managed by the database management device 2, the database is restored using the stored difference information based on a request from the control device 4.

更新ログエントリ3は、データベース復元装置1がデータベース管理装置2から受け取るメッセージである。
更新ログエントリ3には、更新ログエントリ(レコード更新)3rと更新ログエントリ(現在時刻設定)3tとがある。
詳細は後述するが、更新ログエントリ(レコード更新)3rは、更新されたデータにおける更新内容である差分情報と当該データが次に更新される予定の時刻である次回更新時刻とが示される情報であり、データ更新情報の例に相当する。
また、更新ログエントリ(現在時刻設定)3tは、所定の単位時間(例えば、1分、1時間、1日等)ごとに到来する新たな現在時刻を通知する情報である。
The update log entry 3 is a message that the database restoration apparatus 1 receives from the database management apparatus 2.
The update log entry 3 includes an update log entry (record update) 3r and an update log entry (current time setting) 3t.
Although details will be described later, the update log entry (record update) 3r is information indicating difference information that is update contents in the updated data and a next update time that is a time when the data is scheduled to be updated next. Yes, it corresponds to an example of data update information.
The update log entry (current time setting) 3t is information for notifying a new current time that arrives every predetermined unit time (for example, 1 minute, 1 hour, 1 day, etc.).

データベース復元要求5は、データベース復元装置1が制御装置4から受け取るメッセージである。
より具体的には、制御装置4がデータベース復元装置1に対してデータベースの復元を要求するメッセージである。
The database restoration request 5 is a message that the database restoration device 1 receives from the control device 4.
More specifically, the control device 4 is a message requesting the database restoration device 1 to restore the database.

データベース復元装置1は、記憶部6、ログ入力部7、ログ縮約部8、データベース復元部9からなる。   The database restoration device 1 includes a storage unit 6, a log input unit 7, a log reduction unit 8, and a database restoration unit 9.

ログ入力部7は、更新ログエントリ(レコード更新)3rと更新ログエントリ(現在時刻設定)3tをデータベース管理装置2から入力する。
ログ入力部7は、更新ログエントリ(レコード更新)3rを入力する度に、入力した更新ログエントリ(レコード更新)3rを記憶部6に格納する。
また、ログ入力部7は、更新ログエントリ(現在時刻設定)3tを新たに入力する度に、更新ログエントリ(現在時刻設定)3tに示されている新たな現在時刻を設定する。
すなわち、ログ入力部7は、前回の現在時刻の設定から所定の単位時間が経過した際に新たな現在時刻を設定する。
現在時刻の刻み幅である単位時間を1分とすると、例えば、0時00分を現在時刻として通知する更新ログエントリ(現在時刻設定)3tを入力した際に、ログ入力部7は、現在時刻を0時00分として設定し、現在時刻0時00分に基づいて記憶部6内の更新ログエントリ(レコード更新)3rの整理を行う。
前回の更新ログエントリ(現在時刻設定)3tの入力から1分が経過すると、ログ入力部7は、0時01分を現在時刻として通知する更新ログエントリ(現在時刻設定)3tを入力し、現在時刻を0時01分として設定し、現在時刻0時01分に基づいて記憶部6内の更新ログエントリ(レコード更新)3rの整理を行う。
なお、更新ログエントリ(レコード更新)3rは、データベース管理装置2で管理されているデータベース内のデータに更新があった際に出力されるので、更新ログエントリ(現在時刻設定)3tとは非同期に出力される。
ログ入力部7は、情報入力部及び時刻設定部の例に相当する。
更に、ログ入力部7による処理は、情報入力ステップ及び時刻設定ステップの例に相当する。
The log input unit 7 inputs an update log entry (record update) 3r and an update log entry (current time setting) 3t from the database management device 2.
The log input unit 7 stores the input update log entry (record update) 3r in the storage unit 6 every time the update log entry (record update) 3r is input.
The log input unit 7 sets a new current time indicated in the update log entry (current time setting) 3t each time an update log entry (current time setting) 3t is newly input.
That is, the log input unit 7 sets a new current time when a predetermined unit time has elapsed since the previous setting of the current time.
Assuming that the unit time, which is the increment of the current time, is 1 minute, for example, when an update log entry (current time setting) 3t for notifying 0:00 as the current time is input, the log input unit 7 Is set as 0:00, and the update log entry (record update) 3r in the storage unit 6 is organized based on the current time 0:00.
When 1 minute has passed since the last update log entry (current time setting) 3t is input, the log input unit 7 inputs the update log entry (current time setting) 3t that notifies 0:01 as the current time, The time is set as 0:01, and the update log entry (record update) 3r in the storage unit 6 is organized based on the current time 0: 1.
The update log entry (record update) 3r is output when the data in the database managed by the database management apparatus 2 is updated, and therefore is asynchronous with the update log entry (current time setting) 3t. Is output.
The log input unit 7 corresponds to an example of an information input unit and a time setting unit.
Further, the processing by the log input unit 7 corresponds to an example of an information input step and a time setting step.

記憶部6は、更新ログエントリ3の内、レコード更新に関するエントリである更新ログエントリ(レコード更新)3rを格納する。
記憶部6は、領域a 6a、領域b 6b、及び領域c 6cからなり、さらに、一時作業領域として領域b’ 6b’を備える。
領域a 6aには、ログ入力部7により次に設定される現在時刻以降の次回更新時刻が示されていることが判明している更新ログエントリ(レコード更新)3rが格納される。
領域a 6aは、維持対象記憶領域の例に相当する。
領域b 6bには、ログ入力部7により次に設定される現在時刻以降の次回更新時刻が示されているか否かが判明していない更新ログエントリ(レコード更新)3rが格納される。
領域b 6bは、確認対象記憶領域の例に相当する。
領域c 6cには、ログ入力部7により次に設定される現在時刻よりも前の次回更新時刻が示されていることが判明している更新ログエントリ(レコード更新)3rが格納される。
領域c 6cは、消去対象記憶領域の例に相当する。
領域b’ 6b’には、更新ログエントリ(レコード更新)3rが一時的に格納される。
領域b’ 6b’は、予備記憶領域の例に相当する。
また、記憶部6において更新ログエントリ(レコード更新)3rを記憶する処理は、記憶ステップの例に相当する。
The storage unit 6 stores an update log entry (record update) 3r that is an entry related to record update among the update log entries 3.
The storage unit 6 includes an area a 6a, an area b 6b, and an area c 6c, and further includes an area b ′ 6b ′ as a temporary work area.
The area a 6a stores an update log entry (record update) 3r that is known to indicate the next update time after the current time set next by the log input unit 7.
The area a 6a corresponds to an example of the maintenance target storage area.
In the area b 6b, an update log entry (record update) 3r in which it is not known whether or not the next update time after the current time set next by the log input unit 7 is indicated is stored.
The area b 6b corresponds to an example of a confirmation target storage area.
The area c 6c stores an update log entry (record update) 3r that is known to indicate the next update time before the current time set next by the log input unit 7.
The area c 6c corresponds to an example of an erasing target storage area.
An update log entry (record update) 3r is temporarily stored in the area b ′ 6b ′.
The area b ′ 6b ′ corresponds to an example of a spare storage area.
The process of storing the update log entry (record update) 3r in the storage unit 6 corresponds to an example of a storage step.

ログ縮約部8は、ログ入力部7により新たな現在時刻が設定される度に、新たな現在時刻よりも前の次回更新時刻が示されている更新ログエントリ(レコード更新)3rを記憶部6から消去する。
より具体的には、ログ入力部7により新たな現在時刻が設定される度に、領域c 6c内の更新ログエントリ(レコード更新)3rを消去するとともに、領域c 6c以外の領域に格納されている更新ログエントリ(レコード更新)3rの中から新たな現在時刻よりも前の次回更新時刻が示されている更新ログエントリ(レコード更新)3rを抽出し、抽出した更新ログエントリ(レコード更新)3rを消去する。
ログ縮約部8の動作の詳細は後述する。
なお、ログ縮約部8は、情報管理部の例に相当する。
また、ログ縮約部8による処理は、情報管理ステップの例に相当する。
Each time a new current time is set by the log input unit 7, the log contracting unit 8 stores an update log entry (record update) 3 r indicating the next update time before the new current time. Erasing from 6.
More specifically, every time a new current time is set by the log input unit 7, the update log entry (record update) 3r in the area c 6c is deleted and stored in an area other than the area c 6c. The update log entry (record update) 3r indicating the next update time before the new current time is extracted from the update log entries (record update) 3r that are present, and the extracted update log entry (record update) 3r Erase.
Details of the operation of the log reduction unit 8 will be described later.
The log reduction unit 8 corresponds to an example of an information management unit.
Further, the processing by the log reduction unit 8 corresponds to an example of an information management step.

データベース復元部9は、データベース復元要求5を入力した際に、記憶部6に記憶されている更新ログエントリ(レコード更新)3rを用いてデータベースを復元する。   The database restoration unit 9 restores the database using the update log entry (record update) 3r stored in the storage unit 6 when the database restoration request 5 is input.

データベース復元装置1は、プロセッサ、ランダムアクセスメモリ、磁気ディスク装置、LAN(Local Area Network)インタフェース等を備える一般的なコンピュータを用い、記憶部6を磁気ディスク装置で、ログ入力部7、ログ縮約部8、及びデータベース復元部9を、ランダムアクセスメモリに格納され、プロセッサで実行されるコンピュータプログラムとして、実現することができる。
また、領域a 6a、領域b 6b、領域b’ 6b’、及び領域c 6cは、Linux(登録商標)やWindows(登録商標)等の一般的なオペレーティングシステムが提供するファイルとして実現することができる。
さらに、ログ入力部7及びデータベース復元部9は、LAN等の通信回線を介して、それぞれ更新ログエントリ3及びデータベース復元要求5を受信することができる。
The database restoration device 1 uses a general computer having a processor, a random access memory, a magnetic disk device, a LAN (Local Area Network) interface, etc., and the storage unit 6 is a magnetic disk device, a log input unit 7, and a log contraction unit. The unit 8 and the database restoration unit 9 can be realized as a computer program stored in a random access memory and executed by a processor.
In addition, the area a 6a, the area b 6b, the area b ′ 6b ′, and the area c 6c can be realized as files provided by a general operating system such as Linux (registered trademark) or Windows (registered trademark). .
Further, the log input unit 7 and the database restoration unit 9 can receive the update log entry 3 and the database restoration request 5 via a communication line such as a LAN.

図2は、レコード更新に関する更新ログエントリ3rの形式を示す図である。   FIG. 2 is a diagram showing a format of the update log entry 3r regarding the record update.

更新ログエントリ(レコード更新)3rは、エントリ種別30、レコードキー31、次回更新時刻32、及びレコードボディ33からなる。
エントリ種別30には常に「R」が設定され、当該エントリが更新ログエントリ(レコード更新)3rであることを識別可能にする。
レコードキー31は、データベース内の更新対象となったレコードを一意に識別する情報であり、レコードボディ33は更新後のレコードの内容である。
次回更新時刻32は、データベース管理装置2が当該レコードを再度更新する予定の時刻である。
データベース管理装置2が外部から受け取る更新要求に次回更新時刻が含まれる場合、データベース管理装置2はその値を次回更新時刻32に設定することができる。
データベース管理装置2の外部から明示的に次回更新時刻が指定されない場合、データベース管理装置2はレコード毎の更新の発生頻度に基づき、各レコードの次回更新時刻を推定し、その値を次回更新時刻32に設定することができる。
次回更新時刻は所定の単位時間(時、分、秒など)で表される。
The update log entry (record update) 3r includes an entry type 30, a record key 31, a next update time 32, and a record body 33.
“R” is always set in the entry type 30 so that the entry can be identified as an update log entry (record update) 3r.
The record key 31 is information for uniquely identifying the record to be updated in the database, and the record body 33 is the content of the updated record.
The next update time 32 is a time when the database management apparatus 2 is scheduled to update the record again.
If the update request received from the outside by the database management apparatus 2 includes the next update time, the database management apparatus 2 can set the value to the next update time 32.
When the next update time is not explicitly specified from the outside of the database management device 2, the database management device 2 estimates the next update time of each record based on the update occurrence frequency for each record, and uses the value as the next update time 32. Can be set to
The next update time is expressed in a predetermined unit time (hour, minute, second, etc.).

図3は、更新ログエントリ(現在時刻設定)3tの形式を示す図である。
データベース管理装置2は、単位時間で表した現在時刻が切り換わる際に、更新ログエントリ(現在時刻設定)3tを出力する。
FIG. 3 is a diagram showing a format of the update log entry (current time setting) 3t.
The database management device 2 outputs an update log entry (current time setting) 3t when the current time expressed in unit time is switched.

更新ログエントリ(現在時刻設定)3tは、エントリ種別30と現在時刻34からなる。
エントリ種別30には常に「T」が設定され、当該エントリが更新ログエントリ(現在時刻設定)3tであることを識別可能にする。
現在時刻34には、所定の単位時間で表した新たな現在時刻が設定される。
The update log entry (current time setting) 3t includes an entry type 30 and a current time 34.
“T” is always set in the entry type 30 to make it possible to identify that the entry is an update log entry (current time setting) 3t.
As the current time 34, a new current time expressed in a predetermined unit time is set.

次に、データベース復元装置1の動作をフローチャートを用いて説明する。
図4は、ログ入力部7の動作を示すフローチャートである。
Next, the operation of the database restoration apparatus 1 will be described using a flowchart.
FIG. 4 is a flowchart showing the operation of the log input unit 7.

まず、ステップS701において、ログ入力部7はデータベース管理装置2から更新ログエントリ3を1件受け取る。
次に、ステップS702において、受け取った更新ログエントリ3のエントリ種別30の値に基づいて処理を分岐する。
受け取った更新ログエントリ3のエントリ種別30が「R」であれば、ステップS703に進み、領域a 6aに対する書込みロックを取得する。
これにより、並行して動作している可能性のあるログ縮約部8が領域a 6aへの書込みを行うことを防ぐ。
ログ縮約部8が既に領域a 6aに対する書込みロックを保有している場合は、当該ロックが解放されるまで待機し、その後直ちに当該ロックを取得する。
次に、ログ入力部7は、ステップS704で、受け取った更新ログエントリ3(更新ログエントリ(レコード更新)3r)の内容を領域a 6aの末尾に追加書込みする。
続いて、ログ入力部7は、ステップS705で領域a 6aに対する書込みロックを解放し、ステップS701に戻る。
一方、ステップS702において、受け取った更新ログエントリ3のエントリ種別30が「T」である場合は、ステップS706に進み、ログ入力部7は、現在時刻34の値をパラメータt’として、ログ縮約部8の動作を起動する。
ログ縮約部8は、ログ入力部7と並行して動作するものとし、公知のマルチスレッドやマルチプロセス等のプログラミング手法を用いて実現する。
次に、ログ入力部7は、ステップS707において、ログ縮約部8が領域a 6aを新たに作成した領域に置き換えるまで待機する。待機完了後、ステップS701に戻る。
以上のように、ログ入力部7は終了することなく処理を繰り返す。
First, in step S <b> 701, the log input unit 7 receives one update log entry 3 from the database management device 2.
In step S702, the process branches based on the value of the entry type 30 of the received update log entry 3.
If the entry type 30 of the received update log entry 3 is “R”, the process advances to step S703 to acquire a write lock for the area a 6a.
This prevents the log contraction unit 8 that may be operating in parallel from writing to the area a6a.
When the log contraction unit 8 already holds a write lock for the area a 6a, the log reduction unit 8 waits until the lock is released, and then acquires the lock immediately.
Next, in step S704, the log input unit 7 additionally writes the content of the received update log entry 3 (update log entry (record update) 3r) at the end of the area a6a.
Subsequently, the log input unit 7 releases the write lock on the area a 6a in step S705, and returns to step S701.
On the other hand, if the entry type 30 of the received update log entry 3 is “T” in step S702, the process proceeds to step S706, and the log input unit 7 uses the value of the current time 34 as the parameter t ′ to reduce the log. The operation of unit 8 is started.
The log contraction unit 8 operates in parallel with the log input unit 7 and is realized using a known programming method such as multithreading or multiprocess.
Next, in step S707, the log input unit 7 waits until the log reduction unit 8 replaces the area a6a with the newly created area. After waiting is completed, the process returns to step S701.
As described above, the log input unit 7 repeats the process without ending.

図5は、ログ縮約部8の動作を説明するフローチャートである。
図5は、図4のS706においてログ入力部7により起動された後のログ縮約部8の動作例を示す。
以下では、ログ入力部7により設定された新たな現在時刻(S706でパラメータとしてログ入力部7から渡される現在時刻)を、t’として説明を進める。
FIG. 5 is a flowchart for explaining the operation of the log reduction unit 8.
FIG. 5 shows an operation example of the log reduction unit 8 after being activated by the log input unit 7 in S706 of FIG.
In the following description, the new current time set by the log input unit 7 (current time passed from the log input unit 7 as a parameter in S706) will be described as t ′.

まず、ログ縮約部8は、ステップS801において、元の領域b 6bの内容を新たな領域b’ 6b’に移動させ、元の領域a 6aの内容を新たな領域b 6bに移動させる。
この処理は、領域a 6a、領域b 6b、領域b’ 6b’を表すファイル名の変更等により、領域の内容のコピーを伴わずに論理的な処理により実現することができる。
次に、ログ縮約部8は、ステップS802において、空の領域a 6aを新たに作成し、ステップS707において待機しているログ入力部7の待機状態を解除する。
次に、ログ縮約部8は、ステップS803において、領域c 6cに格納された更新ログエントリ(レコード更新)3rを全て抹消し、領域c 6cを空にする。
続いて、ログ縮約部8は、ステップS804以降の繰り返しにより、領域b’ 6b’に格納された更新ログエントリ(レコード更新)3rの処理を行う。
First, in step S801, the log contraction unit 8 moves the contents of the original area b 6b to the new area b ′ 6b ′ and moves the contents of the original area a 6a to the new area b 6b.
This process can be realized by a logical process without copying the contents of the area by changing the file name representing the area a 6a, the area b 6b, and the area b ′ 6b ′.
Next, in step S802, the log contracting unit 8 newly creates an empty area a 6a, and cancels the standby state of the log input unit 7 waiting in step S707.
Next, in step S803, the log contracting unit 8 deletes all the update log entries (record update) 3r stored in the area c 6c, and makes the area c 6c empty.
Subsequently, the log contraction unit 8 performs processing of the update log entry (record update) 3r stored in the area b ′ 6b ′ by repeating step S804 and subsequent steps.

つまり、ログ縮約部8は、ステップS804において、領域b’ 6b’が空かどうかを判定し、空であればログ縮約部8の動作は完了であり、ログ縮約部8に対応するスレッドやプロセスを終了する。
領域b’ 6b’が空でなければステップS805に進み、領域b’ 6b’から更新ログエントリ(レコード更新)3rを1件取り出す(領域b’ 6b’からは取り除く)。
続いて、ステップS806において、取り出した更新ログエントリ(レコード更新)3rの次回更新時刻32の値(これをxとする)と、ログ縮約部8の呼び出しパラメータである新たな現在時刻t’の比較を行う。
x<t’であれば、ステップS811において、取り出した更新ログエントリ(レコード更新)3rを棄却し、直ちにステップS804に戻る。
例えば、単位時間が1分であり、次回更新時刻が1秒単位である場合に、t’が0時00分であれば、23時59分59秒以前の次回更新時刻の更新ログエントリ(レコード更新)3rは消去される。
That is, in step S804, the log contraction unit 8 determines whether or not the region b ′ 6b ′ is empty. If the region b ′ 6b ′ is empty, the operation of the log contraction unit 8 is completed, and the log contraction unit 8 corresponds. Terminate the thread or process.
If the area b ′ 6b ′ is not empty, the process proceeds to step S805, and one update log entry (record update) 3r is extracted from the area b ′ 6b ′ (removed from the area b ′ 6b ′).
Subsequently, in step S806, the value of the next update time 32 (taken as x) of the extracted update log entry (record update) 3r and the new current time t ′ that is the call parameter of the log reduction unit 8 are set. Make a comparison.
If x <t ′, in step S811, the retrieved update log entry (record update) 3r is rejected, and the process immediately returns to step S804.
For example, if the unit time is 1 minute and the next update time is 1 second, and t ′ is 0:00, the update log entry (record) of the next update time before 23:59:59 Update) 3r is deleted.

一方、x=t’であればステップS807に進み、ログ縮約部8は、取り出した更新ログエントリ(レコード更新)3rを領域c 6cの末尾に追加書込みし、ステップS804に戻る。
このx=t’とは、現在時刻t’に単位時間を加算して得られる次の現在時刻(これをt”とする、また次設定現在時刻ともいう)よりも前の次回更新時刻であることを意味する。
例えば、単位時間が1分であり、次回更新時刻が1秒単位である場合に、t’が0時00分であれば、次設定現在時刻t”(0時01分)よりも前の次回更新時刻(すなわち、xが0時00分00秒〜0時00分59秒の間)の更新ログエントリ(レコード更新)3rがS807の処理の対象となる。
On the other hand, if x = t ′, the process proceeds to step S807, and the log reduction unit 8 additionally writes the extracted update log entry (record update) 3r at the end of the area c 6c, and returns to step S804.
This x = t ′ is the next update time prior to the next current time obtained by adding the unit time to the current time t ′ (this is also referred to as “t ″, also referred to as the next set current time). Means that.
For example, if the unit time is 1 minute and the next update time is 1 second, and t ′ is 0:00, the next time before the next set current time t ″ (0:01) The update log entry (record update) 3r at the update time (that is, x is between 0:00:00 and 0:00:59) is the target of the processing in S807.

また、その他の場合、すなわちx>t’の場合、ステップS808に進み、領域a 6aに対する書込みロックを取得する。
このx>t’とは、現在時刻t’に単位時間を加算して得られる次の現在時刻t”以降の次回更新時刻であることを意味する。
例えば、単位時間が1分であり、次回更新時刻が1秒単位である場合に、t’が0時00分であれば、次の現在時刻t”(0時01分)以降の次回更新時刻(すなわち、xが0時01分00秒以降)の更新ログエントリ(レコード更新)3rがS808の処理の対象となる。
なお、S808の処理により、並行して動作しているログ入力部7が領域a 6aへの書込みを行うことを防ぐことができる。
次に、ログ縮約部8は、ステップS809において、取り出した更新ログエントリ(レコード更新)3rを領域a 6aの末尾に追加書込みする。
続いて、ログ縮約部8は、ステップS810で、領域a 6aの書込みロックを解放し、ステップS804に戻る。
In other cases, that is, when x> t ′, the process advances to step S808 to acquire a write lock on the area a 6a.
This x> t ′ means the next update time after the next current time t ″ obtained by adding the unit time to the current time t ′.
For example, if the unit time is 1 minute and the next update time is in units of 1 second, and t ′ is 0:00, the next update time after the next current time t ″ (0:01) The update log entry (record update) 3r (that is, x is after 0:01:00) is the target of the processing of S808.
Note that the processing of S808 can prevent the log input unit 7 operating in parallel from writing to the area a6a.
Next, in step S809, the log contracting unit 8 additionally writes the extracted update log entry (record update) 3r at the end of the area a 6a.
Subsequently, in step S810, the log contraction unit 8 releases the write lock of the area a 6a and returns to step S804.

図6は、ログ縮約部8の処理の概要を示す説明図である。
縦方向が各領域に、横方向が異なる時刻に対応している。
FIG. 6 is an explanatory diagram showing an outline of the processing of the log reduction unit 8.
The vertical direction corresponds to each area, and the horizontal direction corresponds to different times.

最も左に位置する列は、ログ縮約部8を呼び出す直前の状態に対応しており、この時の現在時刻をtとする。
なお、現在時刻t’は時刻tに単位時間を加算した時刻であり、現在時刻t’=t+1という関係にある。
更に、次設定現在時刻t”は時刻t”に単位時間を加算した時刻であり、現在時刻t”=t’+1という関係にある。
以下では、単位時間が1分であり、次回更新時刻が1秒単位である場合に、tが23時59分であり、t’が0時00分であり、t”が0時01分である場合の例を、必要に応じてかっこ書等において示す。
また、xは更新ログエントリ(レコード更新)3rの次回更新時刻32の値である。
The leftmost column corresponds to the state immediately before calling the log contracting unit 8, and the current time at this time is t.
The current time t ′ is a time obtained by adding a unit time to the time t, and has a relationship of current time t ′ = t + 1.
Further, the next set current time t ″ is a time obtained by adding a unit time to the time t ″, and has a relationship of current time t ″ = t ′ + 1.
In the following, when the unit time is 1 minute and the next update time is 1 second, t is 23:59, t ′ is 0:00, and t ″ is 0: 1. Examples of cases are shown in parentheses as necessary.
X is the value of the next update time 32 of the update log entry (record update) 3r.

左の列において、領域a 6aには、時刻tの間にログ入力部7が入力した更新ログエントリ(レコード更新)3r及びログ縮約部8により次回更新時刻が時刻tよりも後であると判断された更新ログエントリ(レコード更新)3rのみが格納されているため、各エントリの次回更新時刻32の値はtよりも大きい(領域a 6aの各エントリの次回更新時刻は23時59分59秒よりも後である)。
また、領域c 6cには、ログ縮約部8の動作の結果、次回更新時刻32の値がtに等しい更新ログエントリ(レコード更新)3rのみが格納されている(領域c 6cの各エントリの次回更新時刻は23時59分00〜23時59分59秒の間である)。
一方、領域b 6bに格納されている更新ログエントリ(レコード更新)3rについては、次回更新時刻32の値がtより小さくないということが言える(領域b 6bの各エントリの次回更新時刻は23時59分00秒以降である)。
すなわち、当該エントリは、時刻t以前の更新により重複除去の対象になっていない。
In the left column, in the area a6a, the update log entry (record update) 3r input by the log input unit 7 during the time t and the log update unit 8 indicate that the next update time is later than the time t. Since only the determined update log entry (record update) 3r is stored, the value of the next update time 32 of each entry is larger than t (the next update time of each entry in the area a 6a is 23:59:59) Later than a second).
Further, only the update log entry (record update) 3r in which the value of the next update time 32 is equal to t is stored in the area c 6c as a result of the operation of the log reduction unit 8 (the entry c of each entry in the area c 6c). The next update time is between 23:59:00 and 23:59:59).
On the other hand, for the update log entry (record update) 3r stored in the area b 6b, it can be said that the value of the next update time 32 is not smaller than t (the next update time of each entry in the area b 6b is 23:00. It is after 59:00.)
That is, the entry is not subject to deduplication due to an update before time t.

次に、中央の列は、ログ縮約部8がステップS803まで実行した後の状態に対応する。
つまり、図4のS706において新たな現在時刻t’をパラメータとして起動されたログ縮約部8が、S801〜S803の処理を実行した後の各記憶領域の状態が中央の列に示されている。
Next, the center column corresponds to the state after the log reduction unit 8 has executed until step S803.
That is, the state of each storage area after the log reduction unit 8 activated in step S706 in FIG. 4 with the new current time t ′ as a parameter executes the processing in steps S801 to S803 is shown in the center column. .

領域c 6cの各エントリでは次回更新時刻が時刻tであるため、領域c 6cの各エントリが対象としているレコード(データベース内のレコード)は時刻tの間(23時59分00〜23時59分59秒の間)に更新されており、時刻t’の時点では、時刻tの間になされた更新の内容が示される更新ログエントリ(レコード更新)3rが必ず領域a 6aに含まれている。
そのため、領域c 6cの全てのエントリは重複除去の対象であり、一括して削除してよい(S803で削除)。
また、現在時刻tの時点で領域a 6aに関して成立するx>tは、x≧t+1すなわちx≧t’となって、現在時刻t’における領域b 6bに関する条件と同一になる(現在時刻t時点で領域a 6aにあったx>tのエントリ(xが23時59分59秒よりも後のエントリ)は、現在時刻t’を基準にすると、x≧t’(xが0時00分00秒以降)と解釈でき、現在時刻t時点で領域a 6aにあったエントリは、現在時刻t’における領域b 6bの条件に合致する)。
そこで、ログ縮約部8は、領域a 6aは領域ごと新たな領域b 6bとして読み替える(S801で置換)。
一方、元の領域b 6bに関して成立するx≧tは、時刻t’におけるいずれの領域a〜cの条件にも対応しない(現在時刻t時点で領域b 6bにあったx≧tのエントリ(xが23時59分00秒以降のエントリ)には、x=t(xが23時59分00秒〜23時59分59秒)のエントリも含まれている可能性があり、x≧t’であるかが不明であり、領域a〜cのいずれの条件にも対応しない)。
そこで、ログ縮約部8は、元の領域b 6bを領域b’ 6b’として退避し(S801で置換)、エントリごとに処理する。
Since the next update time is time t in each entry in the area c 6c, the record (record in the database) targeted by each entry in the area c 6c is between time t (23:59 00-23: 59) The update log entry (record update) 3r indicating the contents of the update made during the time t is always included in the area a6a at the time t ′.
For this reason, all entries in the area c 6c are to be deduplicated and may be deleted at once (deleted in S803).
Further, x> t established for the region a 6a at the time of the current time t is x ≧ t + 1, that is, x ≧ t ′, which is the same as the condition for the region b 6b at the current time t ′ (current time t In the region a 6a, the entry of x> t (the entry after x is 23:59:59) is x ≧ t ′ (x is 0:00:00) based on the current time t ′. The entry that was in the area a 6a at the current time t matches the condition of the area b 6b at the current time t ′).
Therefore, the log reduction unit 8 replaces the area a 6a with a new area b 6b for each area (replaced in S801).
On the other hand, x ≧ t established for the original region b 6b does not correspond to any of the conditions of the regions a to c at the time t ′ (the entry x ≧ t in the region b 6b at the current time t (x May include an entry of x = t (x is 23:59:00 to 23:59:59), and x ≧ t ′ Is unclear and does not correspond to any of the conditions in the areas a to c).
Therefore, the log reduction unit 8 saves the original area b 6b as the area b ′ 6b ′ (replaced in S801), and processes it for each entry.

つまり、ログ縮約部8は、エントリごとにxとt’を比較し(S806)、x=t(つまり、x<t’)となるエントリは、重複除去の対象となるため削除する(S811)。
また、x=t+1すなわちx=t’となるエントリは、現在時刻t’における領域c 6cの条件を満たすため、領域c 6cに移動する(S807)。
前述したように、ここでのx=t’とは、x<t”ということである。
つまり、xが0時00分00秒〜0時00分59秒のエントリを領域c 6cに移す。
残るエントリは、x>t+1すなわちx>t’(xが0時00分59秒よりも後、つまり、xが0時01分00秒(t”)以降)を満たし、現在時刻t’における領域a 6aの条件に合致するため、領域a 6aへの移動を行う(S808〜S810)。
In other words, the log reduction unit 8 compares x and t ′ for each entry (S806), and deletes an entry where x = t (that is, x <t ′) because it is a subject of deduplication (S811). ).
Further, an entry having x = t + 1, that is, x = t ′ moves to the region c 6c in order to satisfy the condition of the region c 6c at the current time t ′ (S807).
As described above, x = t ′ here means x <t ″.
That is, the entry whose x is from 0:00:00 to 0:00:59 is moved to the area c 6c.
The remaining entries satisfy x> t + 1, that is, x> t ′ (x is later than 0:00:59, that is, x is after 0:00:01 (t ″)), and the area at the current time t ′. In order to meet the conditions of a6a, movement to the area a6a is performed (S808 to S810).

最も右の列は、ログ縮約部8が動作を完了した直後の状態に対応しており、各領域のエントリが満たす条件が、最も左の列の条件における現在時刻を置き換えたものとなっている。   The rightmost column corresponds to the state immediately after the log reduction unit 8 completes the operation, and the condition that the entry of each area satisfies is the current time in the condition of the leftmost column replaced. Yes.

以上のように、ログ縮約部8は、更新ログエントリ(レコード更新)3rの次回更新時刻32の値と現在時刻の大小関係に基づいてエントリの格納先領域を決定するので、領域a 6a及び領域c 6cを領域単位で処理し、1件ずつ処理するエントリを領域b 6bに限定することが可能となる。   As described above, the log reduction unit 8 determines the storage destination area of the entry based on the magnitude relationship between the value of the next update time 32 of the update log entry (record update) 3r and the current time, so the areas a 6a and The area c 6c is processed in units of areas, and the entry to be processed one by one can be limited to the area b 6b.

図7は、データベース復元部9の動作を示すフローチャートである。   FIG. 7 is a flowchart showing the operation of the database restoration unit 9.

ステップS901において、データベース復元部9は、制御装置4からのデータベース復元要求5を入力する。
次に、ステップS902において、データベース復元部9は、領域b 6bの更新ログエントリ(レコード更新)3rを1件ずつ調べ、エントリの次回更新時刻32が現在時刻に等しければ領域c 6cの末尾に当該エントリを追加書込みして領域b 6bから削除する処理を繰り返す。
ここで、エントリの次回更新時刻xが現在時刻tに等しいとは、現在時刻tに単位時間を加算して得られる次の現在時刻t’に対し、x<t’であることを意味する。
次に、データベース復元部9は、ステップS903で、領域c 6cの更新ログエントリ(レコード更新)3rの内、レコードキー31が一致するエントリが領域a 6aに含まれるものを削除する(領域a 6aを優先する重複除去)。
最後に、データベース復元部9は、ステップS904で、空のデータベースを作成し、領域a 6a、領域b 6b、及び領域c 6cの更新ログエントリ(レコード更新)3rの内容をデータベースに挿入し、データベースの復元を行う。
In step S <b> 901, the database restoration unit 9 inputs the database restoration request 5 from the control device 4.
Next, in step S902, the database restoring unit 9 examines the update log entry (record update) 3r in the area b 6b one by one, and if the next update time 32 of the entry is equal to the current time, The process of additionally writing the entry and deleting it from the area b 6b is repeated.
Here, the next update time x of the entry being equal to the current time t means that x <t ′ with respect to the next current time t ′ obtained by adding the unit time to the current time t.
Next, in step S903, the database restoring unit 9 deletes the update log entry (record update) 3r in the area c 6c that includes the entry with the matching record key 31 in the area a 6a (area a 6a). Deduplication).
Finally, in step S904, the database restoration unit 9 creates an empty database, inserts the contents of the update log entry (record update) 3r of the area a 6a, the area b 6b, and the area c 6c into the database. Restore.

なお、データベース復元要求5は、通常、データベース管理装置2において障害が発生した際、すなわち、ログ入力部7による更新ログエントリ(レコード更新)3rの記憶部6への書き込みが行われないタイミングで発行されるため、図7では、図5のS808のような書き込みロックを行わない例を示している。
しかしながら、S901とS902との間で、S808のような書き込みロックを行い、S904の後でS810のような書き込みロックの解放を行うようにしてもよい。
The database restoration request 5 is normally issued when a failure occurs in the database management apparatus 2, that is, at a timing when the log input unit 7 does not write the update log entry (record update) 3r to the storage unit 6. Therefore, FIG. 7 shows an example in which the write lock as in S808 of FIG. 5 is not performed.
However, the write lock as in S808 may be performed between S901 and S902, and the write lock may be released as in S810 after S904.

図8は、図6と同様に、データベース復元部9の処理の概要を示す説明図である。   FIG. 8 is an explanatory diagram showing an outline of the processing of the database restoration unit 9 as in FIG.

データベース復元部9は、次回更新時刻32が現在時刻に等しい更新ログエントリ(レコード更新)3rを領域c 6cに集め、現在時刻に発生したレコード更新に対応する更新ログエントリ3rが集中している領域a 6aとの間で重複除去演算を行う。
これにより領域b 6bのエントリを重複除去演算の対象から除外することができる。
The database restoration unit 9 collects update log entries (record update) 3r whose next update time 32 is equal to the current time in the area c 6c, and an area where the update log entries 3r corresponding to the record update occurring at the current time are concentrated. a Deduplication calculation is performed with 6a.
Thereby, the entry of the area b 6b can be excluded from the object of the deduplication calculation.

以上のように、本実施の形態によれば、データベースのレコード更新を再現するための更新ログエントリに、更新されたレコードが再度更新される時刻が次回更新時刻として付与されているので、当該エントリが重複除去対象となっているかどうかを、更新ログエントリの次回更新時刻の値と現在時刻を比較するだけで判定することができ、効率的に重複除去演算を実現できる。
また、現在時刻が変化する都度、更新ログエントリの重複除去を行うので、データベース復元時の処理対象エントリ件数を削減でき、データベース復元時間を短縮することが可能である。
また、現在時刻が変化する際に、直ちに新たな領域を作成し、更新ログエントリの入力と重複除去演算を並行して実施するので、データベース管理装置の停止や更新ログエントリの消失の可能性を最小限に止めることができる。
また、更新ログエントリを格納する領域を複数に分割し、次回更新時刻が現在時刻より大きいエントリのみを格納する領域を設けるので、当該領域を重複除去の対象外とし、処理対象の更新ログエントリを削減することができる。
また、3つの領域を用意し、次回更新時刻が現在時刻に等しいエントリのみを格納する領域を設けることで、当該領域を一括除去の対象とし、重複除去処理対象の更新ログエントリをさらに削減することができる。
As described above, according to the present embodiment, the time when the updated record is updated again is given to the update log entry for reproducing the record update of the database as the next update time. Can be determined by simply comparing the value of the next update time of the update log entry with the current time, so that the deduplication calculation can be efficiently realized.
Further, since the update log entry is deduplicated every time the current time changes, the number of entries to be processed at the time of database restoration can be reduced, and the database restoration time can be shortened.
In addition, when the current time changes, a new area is immediately created, and update log entry input and deduplication calculation are performed in parallel, so there is a possibility of the database management device being stopped or the update log entry being lost. It can be minimized.
In addition, the area for storing update log entries is divided into a plurality of areas, and an area for storing only entries whose next update time is greater than the current time is provided. Can be reduced.
In addition, by preparing three areas and providing an area for storing only entries whose next update time is equal to the current time, this area can be subject to batch removal, and update log entries to be deduplicated can be further reduced. Can do.

なお、本実施の形態では、データベース復元装置1とデータベース管理装置2は独立したハードウェア(以下、H/Wとする)上に構成されるものとしたが、同一H/W上に構成しても良い。
例えば、図9に示すように、データベース管理を高速なランダムアクセスメモリ上で行い、障害回復のために更新ログを不揮発性の磁気ディスク装置に格納する形態が考えられる。
この場合、データベース復元部は、更新ログエントリの重複除去を効率的に行い、格納される更新ログエントリの増大を防ぐので、大容量の磁気ディスク装置や、ソート領域を含む大容量のランダムアクセスメモリを必要としないという効果がある。
In this embodiment, the database restoration device 1 and the database management device 2 are configured on independent hardware (hereinafter referred to as H / W), but are configured on the same H / W. Also good.
For example, as shown in FIG. 9, a mode in which database management is performed on a high-speed random access memory and an update log is stored in a nonvolatile magnetic disk device for failure recovery is conceivable.
In this case, the database restoration unit efficiently removes duplicate update log entries and prevents an increase in stored update log entries, so a large-capacity magnetic disk device or a large-capacity random access memory including a sort area There is an effect that does not need.

また、複数のデータベース管理装置2が存在する場合、直接対応しないデータベース復元装置1とデータベース管理装置2を同一H/W上に構成しても良い。
例えば、図10に示すように、2台のサーバのペアが相互にデータベース復元装置1とデータベース管理装置2の役割を果たすように構成することができる。
データベース復元装置1は大規模なH/Wを必要としないので、データベース管理装置2の余剰H/Wを利用して、サーバ障害への耐性を得るためのデータ冗長化を実現することができる。
Further, when there are a plurality of database management apparatuses 2, the database restoration apparatus 1 and the database management apparatus 2 that do not correspond directly may be configured on the same H / W.
For example, as shown in FIG. 10, a pair of two servers can be configured to play the roles of the database restoration device 1 and the database management device 2 with each other.
Since the database restoration apparatus 1 does not require a large-scale H / W, it is possible to realize data redundancy for obtaining tolerance against a server failure using the surplus H / W of the database management apparatus 2.

以上、本実施の形態では、
データベースの更新ログ情報を入力するログ入力部と、記憶部と、ログ縮約部と、データベース復元部とを備えるデータベース復元装置を説明した。
より具体的には、
前記更新ログ情報は、
更新レコードの内容と、当該レコードが再度更新される予定の次回更新時刻と、からなるレコード更新情報と、
所定の単位時間が経過したことを示す現在時刻設定情報と、からなり、
前記ログ入力部が、
入力が前記レコード更新情報である場合は当該情報を前記記憶部に記憶させ、
入力が前記現在時刻設定情報である場合は前記ログ縮約部を呼び出し、
前記ログ縮約部が、
前記記憶部に記憶されたレコード更新情報のうち、前記次回更新時刻が新たに設定した現在時刻未満であるものを削除し、
前記データベース復元部が、
データベース復元要求を受け取って、前記記憶部に記憶されたレコード更新情報からレコードを復元してデータベースに登録することを説明した。
As described above, in the present embodiment,
A database restoration apparatus including a log input unit that inputs database update log information, a storage unit, a log reduction unit, and a database restoration unit has been described.
More specifically,
The update log information is
Record update information consisting of the content of the update record and the next update time when the record is scheduled to be updated again;
Current time setting information indicating that a predetermined unit time has elapsed,
The log input unit
If the input is the record update information, store the information in the storage unit,
If the input is the current time setting information, call the log reduction unit,
The log contraction unit is
Among the record update information stored in the storage unit, delete the next update time is less than the newly set current time,
The database restoration unit
It has been explained that a database restoration request is received, and a record is restored from the record update information stored in the storage unit and registered in the database.

また、本実施の形態では、
前記記憶部は、
2つ以上の領域からなり、
前記ログ入力部が、
入力が前記レコード更新情報である場合は当該情報を前記記憶部の第1の領域に記憶させ、
前記ログ縮約部が、
前記記憶部の領域のうち少なくとも前記第1の領域を除く領域に記憶されたレコード更新情報のうち、前記次回更新時刻が新たな現在時刻未満であるものを削除し、
前記第1の領域に記憶されたレコード更新情報を、前記第1の領域と異なる領域のいずれかに記憶させ、前記第1の領域を空にすることを説明した。
In the present embodiment,
The storage unit
It consists of two or more areas
The log input unit
When the input is the record update information, the information is stored in the first area of the storage unit,
The log contraction unit is
Of the record update information stored in an area excluding at least the first area among the areas of the storage unit, the next update time is deleted less than the new current time,
The record update information stored in the first area is stored in one of the areas different from the first area, and the first area is emptied.

また、本実施の形態では、
前記記憶部は、
3つ以上の領域からなり、
前記ログ入力部が、
入力が前記レコード更新情報である場合は当該情報を前記記憶部の第1の領域に記憶させ、
前記ログ縮約部が、
前記記憶部の第2の領域に記憶されたレコード更新情報を削除して第2の領域を空にし、
前記記憶部の領域のうち少なくとも前記第1および第2の領域を除く領域に記憶されたレコード更新情報のうち、
前記次回更新時刻が新たな現在時刻未満であるものを削除し、
前記次回更新時刻が新たな現在時刻以上であり、新たな現在時刻に所定の単位時間を加えた値未満である前記レコード更新情報を前記第2の領域に記憶させ、
前記次回更新時刻が新たな現在時刻に所定の単位時間を加えた値以上である前記レコード更新情報を新たに設けた領域に記憶させると共に、
前記第1の領域を前記第1および第2の領域を除く前記領域のいずれかに置き換え、
前記新たな領域を新たな第1の領域とすることを説明した。
In the present embodiment,
The storage unit
It consists of three or more areas
The log input unit
When the input is the record update information, the information is stored in the first area of the storage unit,
The log contraction unit is
Deleting the record update information stored in the second area of the storage unit to empty the second area;
Of the record update information stored in the area excluding at least the first and second areas of the storage unit,
Delete the next update time is less than the new current time,
The next update time is a new current time or more, and the record update information that is less than a value obtained by adding a predetermined unit time to the new current time is stored in the second area,
Storing the record update information in which the next update time is not less than a value obtained by adding a predetermined unit time to the new current time in a newly provided area;
Replacing the first region with any of the regions excluding the first and second regions;
It has been described that the new area is a new first area.

また、本実施の形態では、
前記ログ入力部は、
入力が前記現在時刻設定情報である場合に、
新たな現在時刻が所定の第3の単位時間の整数倍となっている場合に前記ログ縮約部を呼び出し、
それ以外の場合に前記ログ縮約部を呼び出さないことを説明した。
In the present embodiment,
The log input unit
When the input is the current time setting information,
When the new current time is an integral multiple of a predetermined third unit time, the log reduction unit is called up,
It has been explained that the log reduction unit is not called in other cases.

実施の形態2.
図11は、実施の形態2に係るデータベース復元装置1の構成例を示す。
Embodiment 2. FIG.
FIG. 11 shows a configuration example of the database restoration apparatus 1 according to the second embodiment.

図11に示すデータベース復元装置1は、図1に示すデータベース復元装置1とは、記憶部6の領域の構成が異なる。
実施の形態2における記憶部6は、領域aa 6aは、領域bb 6b、領域cc 6c、領域dd 6d、及び領域ee 6eからなり、さらに、一時作業領域として領域cc’ 6c’及び領域dd’ 6d’を備える。
なお、本実施の形態では、領域bb 6bが維持対象記憶領域の例に相当し、領域cc 6c及び領域dd 6dが確認対象記憶領域の例に相当し、領域cc’ 6c’及び領域dd’ 6d’が予備記憶領域の例に相当し、領域ee 6eが消去対象記憶領域の例に相当する。
また、本実施の形態では、領域aa 6aは、ログ入力部7により更新ログエントリ(レコード更新)3rが入力される度に、ログ入力部7により入力された更新ログエントリ(レコード更新)3rが格納される領域であり、新規情報記憶領域の例に相当する。
The database restoration device 1 shown in FIG. 11 is different from the database restoration device 1 shown in FIG.
In the storage unit 6 according to the second embodiment, the area aa 6a includes an area bb 6b, an area cc 6c, an area dd 6d, and an area ee 6e, and further, an area cc ′ 6c ′ and an area dd ′ 6d as temporary work areas. 'Prepare.
In the present embodiment, the area bb 6b corresponds to an example of the maintenance target storage area, the area cc 6c and the area dd 6d correspond to examples of the confirmation target storage area, and the area cc ′ 6c ′ and the area dd ′ 6d. 'Corresponds to an example of a spare storage area, and the area ee 6e corresponds to an example of an erasure target storage area.
Further, in the present embodiment, the area aa 6a has an update log entry (record update) 3r input by the log input unit 7 every time an update log entry (record update) 3r is input by the log input unit 7. This is an area to be stored and corresponds to an example of a new information storage area.

図12は、実施の形態2におけるログ入力部7の動作を示すフローチャートである。   FIG. 12 is a flowchart showing the operation of the log input unit 7 in the second embodiment.

まず、ステップS7701において、ログ入力部7はデータベース管理装置2から更新ログエントリ3を1件受け取り、ステップS7702において、受け取った更新ログエントリ3のエントリ種別30の値に基づいて処理を分岐する。
これらの処理は、図4のステップS701及びステップS702と同様である。
受け取った更新ログエントリ3のエントリ種別30が「R」であれば、ステップS7703に進み、ログ入力部7は、受け取った更新ログエントリ3(更新ログエントリ(レコード更新)3r)の内容を領域aa 6aの末尾に追加書込みし、ステップS7701に戻る。
領域aa 6aに対する書込みロックの取得と解放は不要であり、図4のステップS703及びステップS705に相当する処理は実行しない。
ステップS7702において、受け取った更新ログエントリ3のエントリ種別30が「T」である場合は、ステップS7704に進み、ログ入力部7は、現在時刻34の値をパラメータt’として、ログ縮約部8の動作を起動し、ステップS7705において、ログ縮約部8が領域aa 6aを新たに作成した領域に置き換えるまで待機した後に、ステップS7701に戻る。
ステップS7704及びステップS7705の処理は、図4のステップS706及びステップS707と同様である。
First, in step S7701, the log input unit 7 receives one update log entry 3 from the database management apparatus 2. In step S7702, the process branches based on the value of the entry type 30 of the received update log entry 3.
These processes are the same as steps S701 and S702 of FIG.
If the entry type 30 of the received update log entry 3 is “R”, the process proceeds to step S7703, and the log input unit 7 stores the contents of the received update log entry 3 (update log entry (record update) 3r) in the area aa. Additional writing is performed at the end of 6a, and the process returns to step S7701.
It is not necessary to acquire and release the write lock for the area aa 6a, and the processing corresponding to step S703 and step S705 in FIG. 4 is not executed.
In step S7702, if the entry type 30 of the received update log entry 3 is “T”, the process proceeds to step S7704, and the log input unit 7 sets the value of the current time 34 as the parameter t ′ and the log reduction unit 8 In step S7705, the log reduction unit 8 waits until the area aa 6a is replaced with the newly created area, and then returns to step S7701.
The processing in step S7704 and step S7705 is the same as that in step S706 and step S707 in FIG.

図13は、実施の形態2におけるログ縮約部8の動作を説明するフローチャートである。   FIG. 13 is a flowchart for explaining the operation of the log reduction unit 8 according to the second embodiment.

まず、ステップS8801において、ログ縮約部8は、元の領域cc 6cを新たな領域cc’ 6c’に、元の領域dd 6dを新たな領域dd’ 6d’に、元の領域aa 6aを新たな領域cc 6cに、元の領域bb 6bを新たな領域dd 6dに、それぞれ置き換える。
次に、ステップS8802において、ログ縮約部8は、空の領域aa 6a及び空の領域bb 6bを新たに作成し、ステップS7705において待機しているログ入力部7の待機状態を解除する。
次に、ステップS8803において、ログ縮約部8は、領域ee 6eに格納された更新ログエントリ(レコード更新)3rを全て抹消し、領域ee 6eを空にする。
これらの処理は、図5のステップS801〜ステップS803に相当する。
続いて、ステップS8804以降の繰り返しにより、領域cc’ 6c’及び領域dd’ 6d’に格納された更新ログエントリ(レコード更新)3rの処理を行う。
First, in step S8801, the log contraction unit 8 sets the original area cc 6c as a new area cc ′ 6c ′, the original area dd 6d as a new area dd ′ 6d ′, and the original area aa 6a as a new area. The original region bb 6b is replaced with the new region dd 6d, respectively, with the new region cc 6c.
Next, in step S8802, the log reduction unit 8 newly creates an empty area aa 6a and an empty area bb 6b, and cancels the standby state of the log input unit 7 waiting in step S7705.
Next, in step S8803, the log contracting unit 8 deletes all the update log entries (record update) 3r stored in the area ee 6e, and makes the area ee 6e empty.
These processes correspond to steps S801 to S803 in FIG.
Subsequently, the processing of the update log entry (record update) 3r stored in the area cc ′ 6c ′ and the area dd ′ 6d ′ is performed by repeating from step S8804.

つまり、ステップS8804において、ログ縮約部8は、領域cc’ 6c’及び領域dd’ 6d’がいずれも空かどうかを判定し、いずれも空であれば終了する。
領域cc’ 6c’または領域dd’ 6d’の少なくとも一方が空でなければステップS8805に進み、空でない方から更新ログエントリ(レコード更新)3rを1件取り出す。
続いて、ステップS8806において、ログ縮約部8は、取り出した更新ログエントリ(レコード更新)3rの次回更新時刻32の値(これをxとする)と、ログ縮約部8の呼び出しパラメータである新たな現在時刻t’の比較を行う。
x<t’であれば、ステップS8809において、取り出した更新ログエントリ(レコード更新)3rを棄却し、直ちにステップS8804に戻る。
x=t’であればステップS8807に進み、取り出した更新ログエントリ(レコード更新)3rを領域ee 6eの末尾に追加書込みし、ステップS8804に戻る。
ステップS8804〜ステップS8807の処理は、図5のステップS804〜ステップS807に相当する。
その他の場合、すなわちx>t’の場合、ステップS8808に進み、取り出した更新ログエントリ(レコード更新)3rを領域bb 6bの末尾に追加書込みし、ステップS8804に戻る。
領域aa 6aではなく、領域bb 6bに書込むため、領域aa 6aの書込みロックの取得と解放は不要であり、図5のステップS808及びステップS810に相当する処理は実行しない。
In other words, in step S8804, the log contracting unit 8 determines whether both the area cc ′ 6c ′ and the area dd ′ 6d ′ are empty, and ends if both are empty.
If at least one of the area cc ′ 6c ′ or the area dd ′ 6d ′ is not empty, the process advances to step S8805, and one update log entry (record update) 3r is extracted from the non-empty area.
Subsequently, in step S8806, the log contraction unit 8 includes the value of the next update time 32 of the extracted update log entry (record update) 3r (this is x) and the call parameters of the log contraction unit 8. The new current time t ′ is compared.
If x <t ′, the retrieved update log entry (record update) 3r is rejected in step S8809, and the process immediately returns to step S8804.
If x = t ′, the process advances to step S8807 to additionally write the extracted update log entry (record update) 3r at the end of the area ee 6e, and the process returns to step S8804.
The processing from step S8804 to step S8807 corresponds to step S804 to step S807 in FIG.
In other cases, that is, when x> t ′, the process advances to step S8808 to additionally write the extracted update log entry (record update) 3r at the end of the area bb 6b, and the process returns to step S8804.
Since writing is performed not in the area aa 6a but in the area bb 6b, it is not necessary to acquire and release the write lock in the area aa 6a, and the processing corresponding to step S808 and step S810 in FIG. 5 is not executed.

図14は、実施の形態2におけるログ縮約部8の処理の概要を示す説明図である。   FIG. 14 is an explanatory diagram showing an overview of the processing of the log reduction unit 8 according to the second embodiment.

図14において、領域aaと領域bbを合わせたものが図6の領域aに、領域ccと領域ddを合わせたものが図6の領域bに、領域cc’と領域dd’を合わせたものが図6の領域b’に、領域eeが図6の領域cに、それぞれ対応する。
領域aa 6aに対してはログ入力部7のみが書込みを行い、領域bb 6bに対してはログ縮約部8のみが書込みを行うようになっており、書込みの排他制御を不要にしている。
領域cc 6c及び領域dd 6dを分離する必要性はないが、それぞれ領域aa 6a及び領域bb 6bを置換した結果として存在する。
In FIG. 14, the combination of region aa and region bb is the region a of FIG. 6, the combination of region cc and region dd is the combination of region cc ′ and region dd ′ in region b of FIG. The area ee corresponds to the area b ′ in FIG. 6 and the area c in FIG.
Only the log input unit 7 writes to the area aa 6a, and only the log contraction unit 8 writes to the area bb 6b, so that exclusive control of writing is unnecessary.
There is no need to separate region cc 6c and region dd 6d, but it exists as a result of replacing region aa 6a and region bb 6b, respectively.

本実施の形態においてもデータベース復元部9は、図7に示したフローチャートに従って動作するが、図7のS903及びS904の領域aは領域aaと読み替え、S902及びS904の領域bは領域cc及び領域ddと読み替え、S902〜S904の領域cは領域eeに読み替えるものとする。
また、図18は、実施の形態2におけるデータベース復元部9の処理の概要を示す説明図であり、実施の形態1の図8に相当する。
Also in the present embodiment, the database restoration unit 9 operates according to the flowchart shown in FIG. 7, but the area a in S903 and S904 in FIG. 7 is read as the area aa, and the area b in S902 and S904 is the area cc and the area dd. And the area c in S902 to S904 is read as the area ee.
FIG. 18 is an explanatory diagram showing an outline of the processing of the database restoration unit 9 in the second embodiment, and corresponds to FIG. 8 in the first embodiment.

以上のように、実施の形態2によれば、ログ入力部7とログ縮約部8が同時に書込みを行わないよう、領域aa 6aと領域bb 6bを分離しているので、ログ縮約部8の動作中にログ入力部7の動作を遅延させることを防ぎ、データベース管理装置2の停止や更新ログエントリ3の消失の可能性を低減する効果がある。   As described above, according to the second embodiment, the region aa 6a and the region bb 6b are separated so that the log input unit 7 and the log contraction unit 8 do not write at the same time. This prevents the delay of the operation of the log input unit 7 during the operation, and reduces the possibility of the database management apparatus 2 being stopped or the update log entry 3 being lost.

本実施の形態では、
実施の形態1に示した構成を有するデータベース復元装置において、
前記記憶部は、
5つ以上の領域からなり、
前記ログ入力部が、
入力が前記レコード更新情報である場合は当該情報を前記記憶部の第1の領域に記憶させ、
前記ログ縮約部が、
前記記憶部の第2の領域に記憶されたレコード更新情報を削除して第2の領域を空にし、
前記記憶部の領域のうち少なくとも前記第1および第2の領域および第3の領域を除く領域に記憶されたレコード更新情報のうち、
前記次回更新時刻が新たな現在時刻未満であるものを削除し、
前記次回更新時刻が新たな現在時刻以上であり、新たな現在時刻に所定の単位時間を加えた値未満である前記レコード更新情報を前記第2の領域に記憶させ、
前記次回更新時刻が新たな現在時刻に所定の単位時間を加えた値以上である前記レコード更新情報を新たに設けた領域に記憶させると共に、
前記第1および第3の領域を前記第1、第2、および第3の領域を除く前記領域のいずれかにそれぞれ置き換え、
前記新たな領域を新たな第3の領域とし、
新たに領域を設け、新たな第1の領域とすることを説明した。
In this embodiment,
In the database restoration apparatus having the configuration shown in the first embodiment,
The storage unit
It consists of five or more areas
The log input unit
When the input is the record update information, the information is stored in the first area of the storage unit,
The log contraction unit is
Deleting the record update information stored in the second area of the storage unit to empty the second area;
Of the record update information stored in the area excluding at least the first and second areas and the third area among the areas of the storage unit,
Delete the next update time is less than the new current time,
The next update time is a new current time or more, and the record update information that is less than a value obtained by adding a predetermined unit time to the new current time is stored in the second area,
Storing the record update information in which the next update time is not less than a value obtained by adding a predetermined unit time to the new current time in a newly provided area;
Replacing the first and third regions with any of the regions excluding the first, second and third regions, respectively;
The new area as a new third area,
It has been described that a new area is provided as a new first area.

また、本実施の形態では、
前記ログ縮約部が、
前記ログ入力部に呼び出されると直ちに、新たな第1の領域とする前記新たな領域を設け、前記ログ入力部による前記第1の領域への入力情報の格納を許可することを説明した。
In the present embodiment,
The log contraction unit is
As described above, as soon as it is called by the log input unit, the new area as a new first area is provided, and storage of input information in the first area by the log input unit is permitted.

実施の形態3.
図15は、実施の形態3に係るデータベース復元装置1の構成図である。
Embodiment 3 FIG.
FIG. 15 is a configuration diagram of the database restoration device 1 according to the third embodiment.

図15に示すデータベース復元装置1は、図11に示すデータベース復元装置1に対し、記憶部6にさらに領域ff 6fを備える点が異なる。
本実施の形態では、ログ入力部7は、現在時刻の設定に用いられる単位時間よりも長い時間を周期とする待機時間の満了時刻を設定する。
例えば、現在時刻の設定に用いられる単位時間が1分である場合は、待機時間の周期を10分とすることが考えられる。
そして、記憶部6内の領域ff 6fには、待機時間の満了時刻よりも後の次回更新時刻が示されている更新ログエントリ(レコード更新)3rが格納される。
領域ff 6fは、待機対象記憶領域の例に相当する。
なお、以降、待機時間の満了時刻を所定時刻とも表記する。
The database restoration device 1 shown in FIG. 15 is different from the database restoration device 1 shown in FIG. 11 in that the storage unit 6 further includes a region ff 6f.
In the present embodiment, the log input unit 7 sets the expiration time of the standby time with a period longer than the unit time used for setting the current time.
For example, when the unit time used for setting the current time is 1 minute, the period of the standby time may be 10 minutes.
In an area ff 6f in the storage unit 6, an update log entry (record update) 3r indicating the next update time after the expiration time of the standby time is stored.
The area ff 6f corresponds to an example of a standby target storage area.
Hereinafter, the expiration time of the standby time is also referred to as a predetermined time.

図16は、実施の形態3におけるログ入力部7の動作を示すフローチャートである。   FIG. 16 is a flowchart showing the operation of the log input unit 7 in the third embodiment.

図12のステップS7703がステップS7703’に置き換わっている点が実施の形態2と異なる。
ステップS7703’では、受け取った更新ログエントリ(レコード更新)3rに対し、次回更新時刻32に基づく判定を行い、次回更新時刻32が所定時刻よりも前であればステップS7703と同様に領域aa 6aの末尾に当該エントリを追加書込みし、そうでなければ領域ff 6fの末尾に当該エントリを追加書込みする。
ここで、所定時刻は、前述したように、次回更新時刻や現在時刻を表す単位時間より大きい第2の単位時間ごとに増加する時刻であり、現在時刻が所定時刻に達する都度、現在時刻に第2の単位時間を加えた値に再設定されるものとする。
例えば、現在時刻の単位時間が1分であり、待機時間の単位時間(第2の単位時間)が10分であり、現在設定されている所定時刻(待機時間の満了時刻)が0時10分である場合は、現在時刻が0時10分になった際に、次の所定時刻が0時20分に設定される。
The difference from Embodiment 2 is that step S7703 in FIG. 12 is replaced with step S7703 ′.
In step S7703 ′, the received update log entry (record update) 3r is determined based on the next update time 32. If the next update time 32 is earlier than the predetermined time, the region aa 6a is stored in the same manner as in step S7703. The entry is additionally written at the end, and if not, the entry is additionally written at the end of the area ff 6f.
Here, as described above, the predetermined time is a time that increases every second unit time that is larger than the unit time that represents the next update time or the current time, and every time the current time reaches the predetermined time, It shall be reset to the value which added unit time of 2.
For example, the unit time of the current time is 1 minute, the unit time of the standby time (second unit time) is 10 minutes, and the predetermined time currently set (expiration time of the standby time) is 0:10 If the current time is 0:10, the next predetermined time is set to 0:20.

図17は、実施の形態3におけるログ縮約部8が、現在時刻が所定時刻に達した際に、図13の動作に加えて実行する動作を示すフローチャートである。
つまり、上記の例では、0時01分から0時09分までの間は、図13の動作のみが行われ、現在時刻が0時10分になった際に、図13の動作とともに図17の動作が行われる。
FIG. 17 is a flowchart showing an operation performed in addition to the operation of FIG. 13 by the log contracting unit 8 according to the third embodiment when the current time reaches a predetermined time.
That is, in the above example, only the operation of FIG. 13 is performed from 0:01 to 0:09, and when the current time is 0:10, the operation of FIG. Operation is performed.

始めに、ログ縮約部8は、ステップS8811において、領域ff 6fの更新ログエントリ(レコード更新)3rで次回更新時刻32が新たな所定時刻、すなわち新たな現在時刻に第2の単位時間を加えた時刻(上記の例では、現在時刻0時10分に単位時間10分を加算した0時20分)、より前のものがあるかどうかを判定する。
そのようなエントリが存在しなければ処理を終了し、存在する場合はステップS8812に進み、領域ff 6fから当該エントリを1件取り出す。
次に、ステップS8813において、取り出したエントリの次回更新時刻32の値(これをxとする)と、新たな現在時刻t’(上記の例では、0時10分)の比較を行う。
x<t’であれば(上記の例では、xが0時10分00秒よりも前であれば)、取り出したエントリを棄却し、直ちにステップS8811に戻る。
x=t’であれば(上記の例では、xが0時10分00秒〜0時10分59秒の間であれば)、ステップS8814に進み、取り出したエントリを領域ee 6eの末尾に追加書込みし、ステップS8811に戻る。
その他の場合、すなわちx>t’の場合(上記の例では、xが0時11分00秒以降の場合)、ステップS8815に進み、取り出したエントリを領域bb 6bの末尾に追加書込みし、ステップS8811に戻る。
First, in step S8811, the log contracting unit 8 adds the second unit time to the new predetermined time, that is, the new current time, in the next update time 32 in the update log entry (record update) 3r of the area ff 6f. It is determined whether there is an earlier time (in the above example, 0:20 obtained by adding the unit time 10 minutes to the current time 0:10).
If such an entry does not exist, the process ends. If it exists, the process proceeds to step S8812, and one entry is extracted from the area ff 6f.
Next, in step S8813, the value of the next update time 32 (taken as x) of the extracted entry is compared with the new current time t ′ (0:10 in the above example).
If x <t ′ (in the above example, if x is before 0:10:00), the retrieved entry is rejected and the process immediately returns to step S8811.
If x = t ′ (in the above example, if x is between 0:10:00 and 0:10:59), the process proceeds to step S8814, and the extracted entry is placed at the end of the area ee 6e. Additional writing is performed, and the process returns to step S8811.
In other cases, that is, when x> t ′ (in the above example, x is after 0:11:00), the process proceeds to step S8815, and the extracted entry is additionally written at the end of the area bb 6b. The process returns to S8811.

以上のように、実施の形態3によれば、領域ff 6fを設け、所定時刻までは重複除去の対象とならないことが明らかな更新ログエントリ3を格納し、ログ縮約部8に処理させる回数を削減するので、ログ縮約部8の処理時間が短縮され、より小さな単位時間やより高頻度に発生する更新に適用可能となるという効果がある。
なお、領域ffに相当する領域を複数設け、次回更新時刻32の値の範囲によってエントリを分割して格納することで、ログ縮約部8の処理対象エントリ数をさらに削減することも可能である。
ただし、ログ入力部7による書込み先が多数になると、記憶部6に対するランダムアクセスが発生し、書込みの速度が低下してしまう。
そのため、領域数は一般に少数に止めることが望ましい。
As described above, according to the third embodiment, the number of times that the region ff 6f is provided, the update log entry 3 that is clearly not to be deduplicated until the predetermined time is stored, and processed by the log reduction unit 8 is processed. Therefore, there is an effect that the processing time of the log contracting unit 8 is shortened and it can be applied to updates that occur in a smaller unit time or more frequently.
It is also possible to further reduce the number of entries to be processed by the log reduction unit 8 by providing a plurality of areas corresponding to the area ff and dividing and storing entries according to the range of the value of the next update time 32. .
However, if the number of write destinations by the log input unit 7 becomes large, random access to the storage unit 6 occurs, and the writing speed decreases.
For this reason, it is generally desirable to limit the number of regions to a small number.

また、以上では、実施の形態2の記憶部6の構成(領域aa〜領域ee、領域cc’、領域dd’による構成)に、待機対象記憶領域の例として領域ffを追加する構成を示した。
これに代えて、実施の形態1の記憶部6の構成(領域a〜領域c、領域b’による構成)に、待機対象記憶領域を追加する構成としてもよい。
In the above, the configuration in which the area ff is added as an example of the standby storage area to the configuration of the storage unit 6 according to the second embodiment (configuration by the areas aa to ee, the area cc ′, and the area dd ′) is shown. .
Instead of this, a configuration may be adopted in which a standby target storage area is added to the configuration of the storage unit 6 according to the first embodiment (configuration by the areas a to c and the area b ′).

本実施の形態では、
実施の形態1に示した構成を有するデータベース復元装置において、
前記記憶部が、4つ以上の領域からなり、
前記ログ入力部が、入力が前記レコード更新情報であり、且つ当該情報の前記次回更新時刻が所定の第2の単位時間ごとに増加する時刻未満である場合は、当該情報を前記記憶部の第1の領域に記憶させ、
入力が前記レコード更新情報であり、且つ当該情報の前記次回更新時刻が第2の単位時間ごとに増加する時刻以上である場合は、当該情報を前記記憶部の第3の領域に記憶させ、
前記ログ縮約部が、
さらに、前記第2の単位時間ごとに増加する時刻が増加する際に、
前記記憶部の前記第3の領域に記憶されたレコード更新情報のうち、
前記次回更新時刻が前記第2の単位時間ごとに増加する時刻の増加後の値未満であるものを、
前記記憶部の前記第3の領域から取り出し、
前記レコード更新情報の前記次回更新時刻が新たな現在時刻未満であれば削除し、
前記次回更新時刻が新たな現在時刻以上であり、新たな現在時刻に所定の第1の単位時間を加えた値未満であれば前記レコード更新情報を前記第2の領域に記憶させ、
前記次回更新時刻が新たな現在時刻に所定の第1の単位時間を加えた値以上であれば前記レコード更新情報を新たな第1の領域とする新たに設けた領域に記憶させることを説明した。
In this embodiment,
In the database restoration apparatus having the configuration shown in the first embodiment,
The storage unit is composed of four or more areas,
When the log input unit inputs the record update information and the next update time of the information is less than the time incremented every predetermined second unit time, the information is stored in the storage unit. Memorize it in one area,
If the input is the record update information and the next update time of the information is greater than or equal to the time when it increases every second unit time, the information is stored in the third area of the storage unit,
The log contraction unit is
Further, when the time increasing for each second unit time increases,
Of the record update information stored in the third area of the storage unit,
The next update time is less than the value after the increase of the time that increases every second unit time,
Removing from the third area of the storage unit;
If the next update time of the record update information is less than the new current time, delete it,
If the next update time is greater than or equal to the new current time and less than a value obtained by adding a predetermined first unit time to the new current time, the record update information is stored in the second area,
If the next update time is equal to or greater than a value obtained by adding a predetermined first unit time to a new current time, the record update information is stored in a newly provided area as a new first area. .

本実施の形態では、
実施の形態2に示した構成を有するデータベース復元装置において、
前記記憶部が、4つ以上の領域からなり、
前記ログ入力部が、
入力が前記レコード更新情報であり、且つ当該情報の前記次回更新時刻が所定の第2の単位時間ごとに増加する時刻未満である場合は、当該情報を前記記憶部の第1の領域に記憶させ、
入力が前記レコード更新情報であり、且つ当該情報の前記次回更新時刻が第2の単位時間ごとに増加する時刻以上である場合は、当該情報を前記記憶部の第4の領域に記憶させ、
前記ログ縮約部が、
さらに、前記第2の単位時間ごとに増加する時刻が増加する際に、
前記記憶部の前記第4の領域に記憶されたレコード更新情報のうち、
前記次回更新時刻が前記第2の単位時間ごとに増加する時刻の増加後の値未満であるものを、
前記記憶部の前記第4の領域から取り出し、
前記レコード更新情報の前記次回更新時刻が新たな現在時刻未満であれば削除し、
前記次回更新時刻が新たな現在時刻以上であり、新たな現在時刻に所定の第1の単位時間を加えた値未満であれば前記レコード更新情報を前記第2の領域に記憶させ、
前記次回更新時刻が新たな現在時刻に所定の第1の単位時間を加えた値以上であれば前記レコード更新情報を新たな第3の領域とする新たに設けた領域に記憶させることを説明した。
In this embodiment,
In the database restoration apparatus having the configuration shown in the second embodiment,
The storage unit is composed of four or more areas,
The log input unit
When the input is the record update information and the next update time of the information is less than the time when it increases every predetermined second unit time, the information is stored in the first area of the storage unit. ,
If the input is the record update information and the next update time of the information is greater than or equal to the time incremented every second unit time, the information is stored in the fourth area of the storage unit,
The log contraction unit is
Further, when the time increasing for each second unit time increases,
Of the record update information stored in the fourth area of the storage unit,
The next update time is less than the value after the increase of the time that increases every second unit time,
Take out from the fourth area of the storage unit,
If the next update time of the record update information is less than the new current time, delete it,
If the next update time is greater than or equal to the new current time and less than a value obtained by adding a predetermined first unit time to the new current time, the record update information is stored in the second area,
If the next update time is equal to or greater than a value obtained by adding a predetermined first unit time to a new current time, the record update information is stored in a newly provided area as a new third area. .

最後に、実施の形態1〜3に示したデータベース復元装置1のハードウェア構成例について説明する。
図19は、実施の形態1〜3に示すデータベース復元装置1のハードウェア資源の一例を示す図である。
なお、図19の構成は、あくまでもデータベース復元装置1のハードウェア構成の一例を示すものであり、データベース復元装置1のハードウェア構成は図19に記載の構成に限らず、他の構成であってもよい。
Finally, a hardware configuration example of the database restoration apparatus 1 shown in the first to third embodiments will be described.
FIG. 19 is a diagram illustrating an example of hardware resources of the database restoration device 1 illustrated in the first to third embodiments.
Note that the configuration of FIG. 19 is merely an example of the hardware configuration of the database restoration device 1, and the hardware configuration of the database restoration device 1 is not limited to the configuration illustrated in FIG. Also good.

図19において、データベース復元装置1は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。
また、磁気ディスク装置920の代わりに、SSD(Solid State Drive)、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態1〜3で説明した「記憶部6」は、例えば、磁気ディスク装置920、SSDにより実現される。
通信ボード915、キーボード902、マウス903、スキャナ装置907などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
19, the database restoration apparatus 1 includes a CPU 911 (also referred to as a central processing unit, a central processing unit, a processing unit, a processing unit, a microprocessor, a microcomputer, and a processor) that executes a program.
The CPU 911 is connected to, for example, a ROM (Read Only Memory) 913, a RAM (Random Access Memory) 914, a communication board 915, a display device 901, a keyboard 902, a mouse 903, and a magnetic disk device 920 via a bus 912. Control hardware devices.
Further, the CPU 911 may be connected to an FDD 904 (Flexible Disk Drive), a compact disk device 905 (CDD), a printer device 906, and a scanner device 907.
Further, instead of the magnetic disk device 920, a storage device such as an SSD (Solid State Drive), an optical disk device, or a memory card (registered trademark) read / write device may be used.
The RAM 914 is an example of a volatile memory. The storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of the storage device.
The “storage unit 6” described in the first to third embodiments is realized by, for example, the magnetic disk device 920 and the SSD.
A communication board 915, a keyboard 902, a mouse 903, a scanner device 907, and the like are examples of input devices.
The communication board 915, the display device 901, the printer device 906, and the like are examples of output devices.

通信ボード915は、ネットワークに接続されている。
例えば、通信ボード915は、LANを介して、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されていてもよい。
The communication board 915 is connected to the network.
For example, the communication board 915 may be connected to the Internet, a WAN (wide area network), a SAN (storage area network), or the like via a LAN.

磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
The magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924.
The programs in the program group 923 are executed by the CPU 911 using the operating system 921 and the window system 922.

また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
The RAM 914 temporarily stores at least part of the operating system 921 program and application programs to be executed by the CPU 911.
The RAM 914 stores various data necessary for processing by the CPU 911.

また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
データベース復元装置1の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
The ROM 913 stores a BIOS (Basic Input Output System) program, and the magnetic disk device 920 stores a boot program.
When starting up the database restoration device 1, the BIOS program in the ROM 913 and the boot program in the magnetic disk device 920 are executed, and the operating system 921 is started up by the BIOS program and the boot program.

上記プログラム群923には、実施の形態1〜3の説明において「〜部」(「記憶部6」以外、以下同様)として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。   The program group 923 stores programs that execute the functions described as “˜units” (except for “storage unit 6” in the following) in the description of the first to third embodiments. The program is read and executed by the CPU 911.

ファイル群924には、実施の形態1〜3の説明において、「〜の判断」、「〜の判定」、「〜の比較」、「〜の書き込み」、「〜の格納」、「〜の更新」、「〜の設定」、「〜の抽出」、「〜の選択」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。
ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出される。
そして、読み出された情報やデータや信号値や変数値やパラメータは、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜3で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示す。
データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。
また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
In the file group 924, in the description of the first to third embodiments, “determination of”, “determination of”, “comparison of”, “write of”, “store of”, “update of” ”,“ Setting of ”,“ extraction of ”,“ selection of ”,“ input of ”,“ output of ”, etc. Values and parameters are stored as items of “˜file” and “˜database”.
The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory.
Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit.
The read information, data, signal value, variable value, and parameter are used for CPU operations such as extraction, search, reference, comparison, calculation, calculation, processing, editing, output, printing, and display.
Information, data, signal values, variable values, and parameters are stored in the main memory, registers, cache memory, and buffers during the CPU operations of extraction, search, reference, comparison, calculation, processing, editing, output, printing, and display. It is temporarily stored in a memory or the like.
In addition, the arrows in the flowcharts described in Embodiments 1 to 3 mainly indicate input and output of data and signals.
Data and signal values are recorded on a recording medium such as a memory of the RAM 914, a flexible disk of the FDD 904, a compact disk of the CDD 905, a magnetic disk of the magnetic disk device 920, other optical disks, a mini disk, and a DVD.
Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.

また、実施の形態1〜3の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、実施の形態1〜3で説明したフローチャートに示すステップ、手順、処理により、本発明に係る「情報処理方法」を実現することができる。
また、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。
或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。
プログラムはCPU911により読み出され、CPU911により実行される。
すなわち、プログラムは、実施の形態1〜3の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜3の「〜部」の手順や方法をコンピュータに実行させるものである。
In addition, what is described as “˜unit” in the description of the first to third embodiments may be “˜circuit”, “˜device”, “˜device”, and “˜step”, It may be “˜procedure” or “˜processing”.
That is, the “information processing method” according to the present invention can be realized by the steps, procedures, and processes shown in the flowcharts described in the first to third embodiments.
Further, what is described as “˜unit” may be realized by firmware stored in the ROM 913.
Alternatively, it may be implemented only by software, or only by hardware such as elements, devices, substrates, and wirings, by a combination of software and hardware, or by a combination of firmware.
Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD.
The program is read by the CPU 911 and executed by the CPU 911.
That is, the program causes the computer to function as “to part” in the first to third embodiments. Alternatively, the computer executes the procedure and method of “to part” in the first to third embodiments.

このように、実施の形態1〜3に示すデータベース復元装置1は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータである。
そして、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
As described above, the database restoration device 1 shown in the first to third embodiments includes a CPU that is a processing device, a memory that is a storage device, a magnetic disk, a keyboard that is an input device, a mouse, a communication board, and a display device that is an output device and a communication device. A computer including a board or the like.
Then, as described above, the functions indicated as “˜units” are realized using these processing devices, storage devices, input devices, and output devices.

1 データベース復元装置、2 データベース管理装置、3 更新ログエントリ、4 制御装置、5 データベース復元要求、6 記憶部、7 ログ入力部、8 ログ縮約部、9 データベース復元部。



(A)


(B)
1 database restoration device, 2 database management device, 3 update log entry, 4 control device, 5 database restoration request, 6 storage unit, 7 log input unit, 8 log reduction unit, 9 database restoration unit.



(A)


(B)

Claims (13)

データの更新がある度に、更新されたデータにおける更新内容と当該データが次に更新される時刻である次回更新時刻とが示されるデータ更新情報を入力する情報入力部と、
前記情報入力部によりデータ更新情報が入力される度に、前記情報入力部により入力されたデータ更新情報を記憶する記憶部と、
前回の現在時刻の設定から所定の単位時間が経過した際に新たな現在時刻を設定する時刻設定部と、
前記時刻設定部により新たな現在時刻が設定される度に、新たな現在時刻よりも前の次回更新時刻が示されているデータ更新情報を前記記憶部から消去する情報管理部とを有することを特徴とする情報処理装置。
An information input unit for inputting data update information indicating an update content in the updated data and a next update time that is a time when the data is updated next each time there is an update of the data;
A storage unit that stores data update information input by the information input unit each time data update information is input by the information input unit;
A time setting unit for setting a new current time when a predetermined unit time has elapsed since the previous setting of the current time;
An information management unit for deleting data update information indicating a next update time before the new current time from the storage unit every time a new current time is set by the time setting unit. A characteristic information processing apparatus.
前記記憶部は、
複数の記憶領域を有し、
前記複数の記憶領域には、前記時刻設定部により次に設定される現在時刻よりも前の次回更新時刻が示されていることが判明しているデータ更新情報が格納される消去対象記憶領域が含まれ、
前記消去対象記憶領域以外の記憶領域にも、前記時刻設定部により次に設定される現在時刻よりも前の次回更新時刻が示されているデータ更新情報が格納されている場合があり、
前記情報管理部は、
前記時刻設定部により新たな現在時刻が設定される度に、
前記消去対象記憶領域内のデータ更新情報を消去するとともに、
前記消去対象記憶領域以外の記憶領域内のデータ更新情報の中から新たな現在時刻よりも前の次回更新時刻が示されているデータ更新情報を抽出し、抽出したデータ更新情報を消去することを特徴とする請求項1に記載の情報処理装置。
The storage unit
A plurality of storage areas;
In the plurality of storage areas, there is an erasure target storage area for storing data update information that is known to indicate a next update time before a current time set next by the time setting unit. Included,
The storage area other than the erasure target storage area may store data update information indicating the next update time before the current time set next by the time setting unit,
The information management unit
Each time a new current time is set by the time setting unit,
While erasing the data update information in the erasure target storage area,
Extracting data update information indicating the next update time before the new current time from the data update information in the storage area other than the deletion target storage area, and erasing the extracted data update information. The information processing apparatus according to claim 1.
前記記憶部は、
前記消去対象記憶領域以外の記憶領域として、
前記時刻設定部により次に設定される現在時刻以降の次回更新時刻が示されているか否かが判明していないデータ更新情報が格納される確認対象記憶領域を有し、
前記情報管理部は、
前記時刻設定部により新たな現在時刻が設定される度に、
前記消去対象記憶領域内のデータ更新情報を消去するとともに、
前記確認対象記憶領域内のデータ更新情報の中から新たな現在時刻よりも前の次回更新時刻が示されているデータ更新情報を抽出し、抽出したデータ更新情報を消去することを特徴とする請求項2に記載の情報処理装置。
The storage unit
As a storage area other than the storage area to be erased,
A confirmation target storage area for storing data update information for which it is not known whether or not the next update time after the current time set next by the time setting unit is indicated;
The information management unit
Each time a new current time is set by the time setting unit,
While erasing the data update information in the erasure target storage area,
The data update information indicating a next update time before a new current time is extracted from the data update information in the confirmation target storage area, and the extracted data update information is deleted. Item 3. The information processing device according to Item 2.
前記記憶部は、更に、
データ更新情報が一時的に格納される予備記憶領域を有し、
前記情報管理部は、
前記時刻設定部により新たな現在時刻が設定される度に、
前記消去対象記憶領域内のデータ更新情報を消去するとともに、
前記確認対象記憶領域内のデータ更新情報を前記予備記憶領域に移し、
前記予備記憶領域に移されたデータ更新情報の中から新たな現在時刻よりも前の次回更新時刻が示されているデータ更新情報を抽出し、抽出したデータ更新情報を消去することを特徴とする請求項3に記載の情報処理装置。
The storage unit further includes:
A spare storage area for temporarily storing data update information;
The information management unit
Each time a new current time is set by the time setting unit,
While erasing the data update information in the erasure target storage area,
Move the data update information in the confirmation target storage area to the spare storage area,
The data update information indicating the next update time before the new current time is extracted from the data update information transferred to the spare storage area, and the extracted data update information is deleted. The information processing apparatus according to claim 3.
前記記憶部は、更に、
前記時刻設定部により次に設定される現在時刻以降の次回更新時刻が示されていることが判明しているデータ更新情報が格納される維持対象記憶領域を有し、
前記情報管理部は、
前記時刻設定部により新たな現在時刻が設定される度に、
前記消去対象記憶領域内のデータ更新情報を消去するとともに、
前記確認対象記憶領域内のデータ更新情報を前記予備記憶領域に移し、更に、前記維持対象記憶領域内のデータ更新情報を前記確認対象記憶領域に移し、
前記時刻設定部により設定された新たな現在時刻に前記単位時間を加算して、前記時刻設定部により次に設定される現在時刻である次設定現在時刻を導出し、
消去されずに前記予備記憶領域内で維持されているデータ更新情報の次回更新時刻と、導出した次設定現在時刻とを比較し、
次設定現在時刻以降の次回更新時刻が示されている前記予備記憶領域内のデータ更新情報を前記維持対象記憶領域に移し、次設定現在時刻よりも前の次回更新時刻が示されている前記予備記憶領域内のデータ更新情報を前記消去対象記憶領域に移すことを特徴とする請求項4に記載の情報処理装置。
The storage unit further includes:
A maintenance target storage area for storing data update information that is known to indicate the next update time after the current time set next by the time setting unit;
The information management unit
Each time a new current time is set by the time setting unit,
While erasing the data update information in the erasure target storage area,
Move the data update information in the confirmation target storage area to the spare storage area, and further move the data update information in the maintenance target storage area to the confirmation target storage area,
Adding the unit time to the new current time set by the time setting unit to derive the next set current time which is the current time set next by the time setting unit;
Compare the next update time of the data update information that is maintained in the spare storage area without being erased, and the derived next set current time,
The data update information in the spare storage area indicating the next update time after the next set current time is transferred to the maintenance target storage area, and the next update time before the next set current time is indicated. 5. The information processing apparatus according to claim 4, wherein the data update information in the storage area is transferred to the erasure target storage area.
前記情報入力部は、
前記情報管理部による前記維持対象記憶領域へのアクセスを禁止した後に、入力したデータ更新情報を前記維持対象記憶領域に格納し、前記維持対象記憶領域へのデータ更新情報の格納が完了した後に、前記情報管理部による前記維持対象記憶領域へのアクセスの禁止を解除し、
前記情報管理部は、
前記情報入力部による前記維持対象記憶領域へのアクセスを禁止した後に、次設定現在時刻以降の次回更新時刻が示されている前記予備記憶領域内のデータ更新情報を前記維持対象記憶領域に移し、前記維持対象記憶領域へのデータ更新情報の移行が完了した後に、前記情報入力部による前記維持対象記憶領域へのアクセスの禁止を解除することを特徴とする請求項5に記載の情報処理装置。
The information input unit
After prohibiting access to the maintenance target storage area by the information management unit, the input data update information is stored in the maintenance target storage area, and after the storage of the data update information in the maintenance target storage area is completed, Canceling the prohibition of access to the storage area to be maintained by the information management unit,
The information management unit
After prohibiting access to the maintenance target storage area by the information input unit, the data update information in the spare storage area in which the next update time after the next set current time is indicated is moved to the maintenance target storage area, 6. The information processing apparatus according to claim 5, wherein after the migration of the data update information to the maintenance target storage area is completed, the prohibition of access to the maintenance target storage area by the information input unit is canceled.
前記時刻設定部は、
現在時刻の設定に用いられる単位時間よりも長い時間を周期とする待機時間の満了時刻を設定し、
前記記憶部は、更に、
待機時間の満了時刻以降の次回更新時刻が示されているデータ更新情報が格納される待機対象記憶領域を有し、
前記情報入力部は、
入力したデータ更新情報に示されている次回更新時刻が待機時間の満了時刻以降であるか否かを判断し、
待機時間の満了時刻以降の次回更新時刻が示されているデータ更新情報を前記待機対象記憶領域に格納し、
待機時間の満了時刻よりも前の次回更新時刻が示されているデータ更新情報を前記維持対象記憶領域に格納し、
前記情報管理部は、
前記時刻設定部により設定された新たな現在時刻が待機時間の満了時刻に一致する場合に、
前記待機対象記憶領域内のデータ更新情報の中から、次の待機時間の満了時刻よりも前の次回更新時刻が示されているデータ更新情報を抽出し、
抽出したデータ更新情報の次回更新時刻と、次設定現在時刻とを比較し、
次設定現在時刻以降の次回更新時刻が示されている前記待機対象記憶領域内のデータ更新情報を前記維持対象記憶領域に移し、次設定現在時刻よりも前の次回更新時刻が示されている前記待機対象記憶領域内のデータ更新情報を前記消去対象記憶領域に移すことを特徴とする請求項5又は6に記載の情報処理装置。
The time setting unit
Set the expiration time of the standby time with a period longer than the unit time used to set the current time,
The storage unit further includes:
A standby target storage area in which data update information indicating the next update time after the expiration time of the standby time is stored;
The information input unit
Determine whether the next update time shown in the entered data update information is after the expiration time of the standby time,
Storing the data update information indicating the next update time after the expiration time of the standby time in the standby storage area,
Storing the data update information indicating the next update time before the expiration time of the waiting time in the maintenance target storage area,
The information management unit
When the new current time set by the time setting unit matches the expiration time of the standby time,
From the data update information in the standby storage area, extract the data update information indicating the next update time before the expiration time of the next standby time,
Compare the next update time of the extracted data update information with the next set current time,
The data update information in the standby target storage area indicating the next update time after the next set current time is moved to the maintenance target storage area, and the next update time before the next set current time is indicated. 7. The information processing apparatus according to claim 5, wherein the data update information in the standby target storage area is moved to the erasure target storage area.
前記記憶部は、更に、
前記時刻設定部により次に設定される現在時刻以降の次回更新時刻が示されていることが判明しているデータ更新情報が格納される維持対象記憶領域と、
前記情報入力部によりデータ更新情報が入力される度に、前記情報入力部により入力されたデータ更新情報が格納される新規情報記憶領域を有し、
前記情報管理部は、
前記時刻設定部により新たな現在時刻が設定される度に、
前記消去対象記憶領域内のデータ更新情報を消去するとともに、
前記確認対象記憶領域内のデータ更新情報を前記予備記憶領域に移し、更に、前記維持対象記憶領域内のデータ更新情報及び前記新規情報記憶領域内のデータ更新情報を前記確認対象記憶領域に移し、
前記時刻設定部により設定された新たな現在時刻に前記単位時間を加算して、前記時刻設定部により次に設定される現在時刻である次設定現在時刻を導出し、
消去されずに前記予備記憶領域内で維持されているデータ更新情報の次回更新時刻と、導出した次設定現在時刻とを比較し、
次設定現在時刻以降の次回更新時刻が示されている前記予備記憶領域内のデータ更新情報を前記維持対象記憶領域に移し、次設定現在時刻よりも前の次回更新時刻が示されている前記予備記憶領域内のデータ更新情報を前記消去対象記憶領域に移すことを特徴とする請求項4に記載の情報処理装置。
The storage unit further includes:
A maintenance target storage area for storing data update information that is known to indicate the next update time after the current time set next by the time setting unit;
Each time data update information is input by the information input unit, it has a new information storage area for storing the data update information input by the information input unit,
The information management unit
Each time a new current time is set by the time setting unit,
While erasing the data update information in the erasure target storage area,
Move the data update information in the confirmation target storage area to the spare storage area, and further move the data update information in the maintenance target storage area and the data update information in the new information storage area to the confirmation target storage area,
Adding the unit time to the new current time set by the time setting unit to derive the next set current time which is the current time set next by the time setting unit;
Compare the next update time of the data update information that is maintained in the spare storage area without being erased, and the derived next set current time,
The data update information in the spare storage area indicating the next update time after the next set current time is transferred to the maintenance target storage area, and the next update time before the next set current time is indicated. 5. The information processing apparatus according to claim 4, wherein the data update information in the storage area is transferred to the erasure target storage area.
前記時刻設定部は、
現在時刻の設定に用いられる単位時間よりも長い時間を周期とする待機時間の満了時刻を設定し、
前記記憶部は、更に、
待機時間の満了時刻以降の次回更新時刻が示されているデータ更新情報が格納される待機対象記憶領域を有し、
前記情報入力部は、
入力したデータ更新情報に示されている次回更新時刻が待機時間の満了時刻以降であるか否かを判断し、
待機時間の満了時刻以降の次回更新時刻が示されているデータ更新情報を前記待機対象記憶領域に格納し、
待機時間の満了時刻よりも前の次回更新時刻が示されているデータ更新情報を前記新規情報記憶領域に格納し、
前記情報管理部は、
前記時刻設定部により設定された新たな現在時刻が待機時間の満了時刻に一致する場合に、
前記待機対象記憶領域内のデータ更新情報の中から、次の待機時間の満了時刻よりも前の次回更新時刻が示されているデータ更新情報を抽出し、
抽出したデータ更新情報の次回更新時刻と、次設定現在時刻とを比較し、
次設定現在時刻以降の次回更新時刻が示されている前記待機対象記憶領域内のデータ更新情報を前記維持対象記憶領域に移し、次設定現在時刻よりも前の次回更新時刻が示されている前記待機対象記憶領域内のデータ更新情報を前記消去対象記憶領域に移すことを特徴とする請求項8に記載の情報処理装置。
The time setting unit
Set the expiration time of the standby time with a period longer than the unit time used to set the current time,
The storage unit further includes:
A standby target storage area in which data update information indicating the next update time after the expiration time of the standby time is stored;
The information input unit
Determine whether the next update time shown in the entered data update information is after the expiration time of the standby time,
Storing the data update information indicating the next update time after the expiration time of the standby time in the standby storage area,
Storing the data update information indicating the next update time before the expiration time of the waiting time in the new information storage area;
The information management unit
When the new current time set by the time setting unit matches the expiration time of the standby time,
From the data update information in the standby storage area, extract the data update information indicating the next update time before the expiration time of the next standby time,
Compare the next update time of the extracted data update information with the next set current time,
The data update information in the standby target storage area indicating the next update time after the next set current time is moved to the maintenance target storage area, and the next update time before the next set current time is indicated. 9. The information processing apparatus according to claim 8, wherein the data update information in the standby target storage area is moved to the erasure target storage area.
前記情報入力部は、
データベースを管理するデータベース管理装置から、前記データベース内のデータにおける更新内容が示されるデータ更新情報を入力し、
前記情報処理装置は、更に、
前記データベースの復元要求があった際に、前記記憶部内のデータ更新情報に示されている更新内容を用いて、前記データベースを復元するデータベース復元部を有することを特徴とする請求項1〜9のいずれかに記載の情報処理装置。
The information input unit
From the database management device that manages the database, input data update information indicating the update contents in the data in the database,
The information processing apparatus further includes:
The database restoration unit according to claim 1, further comprising: a database restoration unit that restores the database using the update content indicated in the data update information in the storage unit when there is a restoration request for the database. The information processing apparatus according to any one of the above.
前記データベース復元部は、
前記データベースの復元要求があった際に、前記記憶部内で同一のデータに対して重複して存在しているデータ更新情報があれば、データ更新情報の重複を排除し、重複排除後の前記記憶部内のデータ更新情報に示されている更新内容を用いて、前記データベースを復元することを特徴とする請求項10に記載の情報処理装置。
The database restoration unit
If there is data update information that is duplicated for the same data in the storage unit when there is a restoration request for the database, duplication of data update information is eliminated, and the storage after deduplication The information processing apparatus according to claim 10, wherein the database is restored using update contents indicated in the data update information in the department.
データの更新がある度に、更新されたデータにおける更新内容と当該データが次に更新される時刻である次回更新時刻とが示されるデータ更新情報を、コンピュータが入力する情報入力ステップと、
前記情報入力ステップによりデータ更新情報が入力される度に、前記コンピュータが、前記情報入力ステップにより入力されたデータ更新情報を記憶装置において記憶する記憶ステップと、
前記コンピュータが、前回の現在時刻の設定から所定の単位時間が経過した際に新たな現在時刻を設定する時刻設定ステップと、
前記時刻設定ステップにより新たな現在時刻が設定される度に、前記コンピュータが、新たな現在時刻よりも前の次回更新時刻が示されているデータ更新情報を前記記憶装置から消去する情報管理ステップとを有することを特徴とする情報処理方法。
An information input step in which the computer inputs data update information indicating the update content in the updated data and the next update time, which is the time when the data is next updated, each time there is an update of the data;
A storage step in which the computer stores the data update information input in the information input step in a storage device each time data update information is input in the information input step;
A time setting step in which the computer sets a new current time when a predetermined unit time has elapsed since the previous setting of the current time;
An information management step in which the computer erases the data update information indicating the next update time before the new current time from the storage device each time a new current time is set by the time setting step; An information processing method characterized by comprising:
データの更新がある度に、更新されたデータにおける更新内容と当該データが次に更新される時刻である次回更新時刻とが示されるデータ更新情報を入力する情報入力ステップと、
前記情報入力ステップによりデータ更新情報が入力される度に、前記情報入力ステップにより入力されたデータ更新情報を記憶装置に記憶させる記憶ステップと、
前回の現在時刻の設定から所定の単位時間が経過した際に新たな現在時刻を設定する時刻設定ステップと、
前記時刻設定ステップにより新たな現在時刻が設定される度に、新たな現在時刻よりも前の次回更新時刻が示されているデータ更新情報を前記記憶装置から消去する情報管理ステップとをコンピュータに実行させることを特徴とするプログラム。
An information input step for inputting data update information indicating the update content in the updated data and the next update time, which is the time when the data is next updated, each time there is an update of the data;
A storage step of storing data update information input by the information input step in a storage device each time data update information is input by the information input step;
A time setting step for setting a new current time when a predetermined unit time has elapsed since the previous setting of the current time;
Each time a new current time is set by the time setting step, an information management step is executed for the computer to delete the data update information indicating the next update time before the new current time from the storage device. A program characterized by letting
JP2011104674A 2011-05-09 2011-05-09 Information processing apparatus, information processing method, and program Expired - Fee Related JP5649508B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011104674A JP5649508B2 (en) 2011-05-09 2011-05-09 Information processing apparatus, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011104674A JP5649508B2 (en) 2011-05-09 2011-05-09 Information processing apparatus, information processing method, and program

Publications (2)

Publication Number Publication Date
JP2012238038A true JP2012238038A (en) 2012-12-06
JP5649508B2 JP5649508B2 (en) 2015-01-07

Family

ID=47460913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011104674A Expired - Fee Related JP5649508B2 (en) 2011-05-09 2011-05-09 Information processing apparatus, information processing method, and program

Country Status (1)

Country Link
JP (1) JP5649508B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014175008A (en) * 2013-03-07 2014-09-22 Postech Academy-Industry Foundation Method and apparatus for de-duplicating data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0713831A (en) * 1993-06-22 1995-01-17 Kanebo Ltd Device and method for file management
JP2000148548A (en) * 1998-11-17 2000-05-30 Nec Corp Unnecessary record deleting device
JP2008243138A (en) * 2007-03-29 2008-10-09 Hitachi Ltd Storage system and data restoration method
JP2009015476A (en) * 2007-07-03 2009-01-22 Hitachi Ltd Journal management method in cdp remote configuration
JP2010128812A (en) * 2008-11-27 2010-06-10 Mitsubishi Electric Corp Data management system, data management method, and data management program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0713831A (en) * 1993-06-22 1995-01-17 Kanebo Ltd Device and method for file management
JP2000148548A (en) * 1998-11-17 2000-05-30 Nec Corp Unnecessary record deleting device
JP2008243138A (en) * 2007-03-29 2008-10-09 Hitachi Ltd Storage system and data restoration method
JP2009015476A (en) * 2007-07-03 2009-01-22 Hitachi Ltd Journal management method in cdp remote configuration
JP2010128812A (en) * 2008-11-27 2010-06-10 Mitsubishi Electric Corp Data management system, data management method, and data management program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014175008A (en) * 2013-03-07 2014-09-22 Postech Academy-Industry Foundation Method and apparatus for de-duplicating data
KR101505263B1 (en) 2013-03-07 2015-03-24 포항공과대학교 산학협력단 Method for de-duplicating data and apparatus therefor
US9851917B2 (en) 2013-03-07 2017-12-26 Postech Academy—Industry Foundation Method for de-duplicating data and apparatus therefor

Also Published As

Publication number Publication date
JP5649508B2 (en) 2015-01-07

Similar Documents

Publication Publication Date Title
US10235375B1 (en) Persistent file system objects for management of databases
US20160321294A1 (en) Distributed, Scalable Key-Value Store
US10176190B2 (en) Data integrity and loss resistance in high performance and high capacity storage deduplication
US7353335B2 (en) Storage control method for database recovery in logless mode
CN101183322B (en) Method for deferred logging and apparatus thereof
US10769035B2 (en) Key-value index recovery by log feed caching
US20170046232A1 (en) Replicating a source data set to a target data store
CN110543446B (en) Block chain direct filing method based on snapshot
CN110196818B (en) Data caching method, caching device and storage system
US20170371916A1 (en) Database management device, database management method, and storage medium
WO2018113484A1 (en) Method and apparatus for recovering multi-replica data
US10983709B2 (en) Methods for improving journal performance in storage networks and devices thereof
EP3183675B1 (en) Systems and methods for highly-available file storage with fast online recovery
JP6225606B2 (en) Database monitoring apparatus, database monitoring method, and computer program
JP5649508B2 (en) Information processing apparatus, information processing method, and program
US20160203056A1 (en) Apparatus, snapshot management method, and recording medium
US20200142784A1 (en) Method, device and computer program product for recovering metadata
CN107145501B (en) File updating method, file copying method and corresponding system
US11507545B2 (en) System and method for mirroring a file system journal
US11669501B2 (en) Address mirroring of a file system journal
US10452496B2 (en) System and method for managing storage transaction requests
JP5718974B2 (en) Information processing apparatus, information processing method, and information processing program
JP6627541B2 (en) Volume management device, volume management method, and volume management program
US11561863B2 (en) PDSE member generation clustering and recovery
CN111427989B (en) Index processing method, index processing system and storage medium for full text retrieval

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140610

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140709

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141014

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141111

R150 Certificate of patent or registration of utility model

Ref document number: 5649508

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees