JP4813155B2 - Data management apparatus, data management method for data management apparatus, and data management program - Google Patents
Data management apparatus, data management method for data management apparatus, and data management program Download PDFInfo
- Publication number
- JP4813155B2 JP4813155B2 JP2005332648A JP2005332648A JP4813155B2 JP 4813155 B2 JP4813155 B2 JP 4813155B2 JP 2005332648 A JP2005332648 A JP 2005332648A JP 2005332648 A JP2005332648 A JP 2005332648A JP 4813155 B2 JP4813155 B2 JP 4813155B2
- Authority
- JP
- Japan
- Prior art keywords
- range
- group
- data
- control unit
- information
- 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.)
- Active
Links
- 238000013523 data management Methods 0.000 title claims description 182
- 238000000034 method Methods 0.000 title claims description 58
- 238000007726 management method Methods 0.000 claims description 260
- 238000012545 processing Methods 0.000 claims description 253
- 230000015654 memory Effects 0.000 claims description 60
- 230000008569 process Effects 0.000 claims description 47
- 238000012217 deletion Methods 0.000 claims description 33
- 230000037430 deletion Effects 0.000 claims description 33
- 238000012790 confirmation Methods 0.000 claims description 8
- 238000013500 data storage Methods 0.000 description 43
- 238000010586 diagram Methods 0.000 description 27
- 230000008859 change Effects 0.000 description 9
- 230000007704 transition Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 230000007423 decrease Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、データベースに追加される行(レコード)を任意の時点で区切った領域の範囲管理方法に係り、高速なデータアクセスやロード、および効率的なデータ管理を実現するデータベースなどにおけるデータ管理装置、データ管理装置のデータ管理方法およびデータ管理プログラムに関するものである。 The present invention relates to an area range management method in which rows (records) added to a database are separated at an arbitrary point of time, and a data management apparatus in a database or the like that realizes high-speed data access and loading and efficient data management The present invention relates to a data management method and a data management program for a data management apparatus .
データベースは蓄積保存されるデータ量が増加するにしたがって、データベースへのアクセス効率が低下し検索や参照に多くの時間を要するようになる。この対策として、検索に利用するキーに索引を設ける方法が一般的に採られるが、データの追加・削除・更新が頻繁に行われたり、検索により取り出されるデータ量が多くなると、再度、アクセス効率が低下してしまうという課題があった。 As the amount of data stored and stored in the database increases, the access efficiency to the database decreases and more time is required for searching and referencing. As a countermeasure, an index is generally used for the key used for the search. However, if the data is frequently added, deleted, or updated, or if the amount of data retrieved by the search increases, the access efficiency will be increased again. There was a problem that would decrease.
この課題を解決するデータ管理方法として、索引を設けず、データベースのデータ格納領域をセグメントという領域単位に分け、時間情報を持ったブックマーク情報を作成して一連のセグメント群を管理する方法が採られている(特許文献1)。
しかしながら、特許文献1のデータ管理方法では、データを一定時間分まとめてセグメントに保存し、一度保存したデータは変更することができない。このため、一定時間内に到達するデータが疎らになると小データを次々にセグメントに保存することになるが、データの再編成はできないため各小データに対するアクセス効率が低下してしまう。また、データ格納領域の利用効率も低下することになる。さらに、時間以外のキーで検索しようとする場合、全セグメントを検索する必要があるため高速なデータアクセスはできない。
However, in the data management method of
この発明は、上記の課題などの従来技術の課題を除くためになされたものであって、その目的とするところは、例えば、到達するデータが疎らであっても最適なデータ編成を可能にすることである。 The present invention has been made to eliminate the problems of the prior art such as the above-described problems, and the object of the present invention is to enable optimal data organization even if the data to be reached is sparse, for example. That is.
本発明のデータ管理装置は、記憶領域を有する第1の記憶機器と、所定のサイズを有するバッファメモリと、前記バッファメモリのサイズに適合する複数の任意データを1グループとして中央処理装置を用いてデータ処理するデータ処理部と、前記第1の記憶機器に対してグループ単位で任意データを入出力する入出力制御部と、前記第1の記憶機器の連続する記憶領域に記憶された複数のグループを1範囲として当該範囲に属するグループを特定するグループ特定情報と当該範囲に属するグループに含まれる任意データを特定する任意データ特定情報と当該範囲を識別する範囲識別情報とを含む範囲エントリを範囲毎に記憶する第2の記憶機器と、前記第2の記憶機器に記憶された範囲エントリの管理処理を中央処理装置を用いて行う範囲管理制御部とを備えたことを特徴とする。 A data management apparatus according to the present invention uses a central processing unit as a group of a first storage device having a storage area, a buffer memory having a predetermined size, and a plurality of arbitrary data matching the size of the buffer memory. A data processing unit for processing data, an input / output control unit for inputting / outputting arbitrary data to / from the first storage device in groups, and a plurality of groups stored in a continuous storage area of the first storage device A range entry including group specifying information for specifying a group belonging to the range, arbitrary data specifying information for specifying arbitrary data included in the group belonging to the range, and range identification information for identifying the range. A second storage device stored in the second storage device, and a range in which the management processing of the range entry stored in the second storage device is performed using a central processing unit Characterized in that a management control unit.
本発明によれば、データ格納領域を連続する範囲で管理することによって、高速なデータアクセス、ロード、削除やバックアップなど範囲単位の操作による効率的なデータ管理を可能とするデータ管理装置を提供することができる。このデータ管理装置により、例えば、到達するデータが疎らであっても最適なデータ編成を可能にすることができる。 According to the present invention, there is provided a data management device that enables efficient data management by operation in units of ranges such as high-speed data access, loading, deletion, and backup by managing a data storage area in a continuous range. be able to. With this data management device, for example, even if the data that arrives is sparse, optimal data organization can be achieved.
実施の形態1.
図1は、実施の形態1におけるデータ管理システム900の外観を示す図である。
図1において、データ管理システム900は、システムユニット910、表示装置901、キーボード(K/B)902、マウス903、コンパクトディスク装置(CDD)905、プリンタ装置906、スキャナ装置907を備え、これらはケーブルで接続されている。
さらに、データ管理システム900は、FAX機932、電話器931とケーブルで接続され、また、ローカルエリアネットワーク(LAN)942、ウェブサーバ941を介してインターネット940に接続されている。
表示装置901、K/B902およびマウス903は端末装置2を構成する。また、システムユニット910はデータ管理処理を行うデータ管理装置1である。
FIG. 1 is a diagram illustrating an appearance of a
1, a
Further, the
The
図2は、実施の形態1におけるデータ管理システム900のハードウェア構成図である。
図2において、データ管理システム900は、プログラムを実行するCPU(Central Processing Unit)911を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、表示装置901、K/B902、マウス903、FDD(Flexible Disk Drive)904、磁気ディスク装置920、CDD905、プリンタ装置906、スキャナ装置907と接続されている。
表示装置901には液晶ディスプレイ、CRT(Cathode Ray Tube)ディスプレイなどがある。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920、光ディスク装置は、不揮発性メモリの一例である。これらは、記憶機器、記憶装置あるいは記憶部の一例である。
また、磁気ディスク装置920はデータベースにおける各レコードデータを記憶する記憶機器の一例である。また、RAM914は、磁気ディスク装置920よりデータアクセスが高速であり、CPU911と磁気ディスク装置920との間で入出力するデータを記憶して磁気ディスク装置920に記憶されたデータに対するCPU911のアクセス効率を向上するバッファメモリの一例である。
通信ボード915は、FAX機932、電話器931、LAN942等に接続されている。
例えば、通信ボード915、K/B902、スキャナ装置907、FDD904などは、入力機器、入力装置あるいは入力部の一例である。
また、例えば、通信ボード915、表示装置901などは、出力機器、出力装置あるいは出力部の一例である。
端末装置2は利用者が使用する端末であり、利用者に入力機器から処理要求を入力させ、データ管理装置1から入力した処理結果を出力機器に出力(表示、印刷、音声出力など)する。
FIG. 2 is a hardware configuration diagram of the
In FIG. 2, the
The
The
The
The
For example, the
Further, for example, the
The
ここで、通信ボード915は、LAN942に限らず、直接、インターネット940、或いはISDN等のWAN(ワイドエリアネットワーク)に接続されていても構わない。直接、インターネット940、或いはISDN等のWANに接続されている場合、データ管理システム900は、インターネット940、或いはISDN等のWANに接続され、ウェブサーバ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム(OS)921、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923は、CPU911、OS921、ウィンドウシステム922により実行される。
Here, the
The
上記プログラム群923には、実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、実施の形態の説明において、「〜情報」、「〜要求」、「〜命令」として説明するデータ、「〜部」として説明する機能を実行時の判定結果や演算結果を示すデータ、「〜部」として説明する機能を実行するプログラム間で受け渡しするデータなどが「〜ファイル」として記憶されている。また、データ管理装置1が記憶管理するデータ(例えば、レコードデータ)やデータ管理処理に使用する管理情報(例えば、後述する範囲管理テーブル5)やバックアップファイル(例えば、後述するアーカイブファイル300)がファイル群924に「〜ファイル」として記憶されている。
また、実施の形態の説明において、フローチャートや構成図の矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装置920、FD(Flexible Disk cartridge)、光ディスク、CD(コンパクトディスク)、MD(ミニディスク)、DVD(Digital Versatile Disk)、その他の記憶媒体に記憶される。あるいは、信号線やその他の伝送媒体により伝送される。
The
In the
Also, in the description of the embodiments, the arrows in the flowcharts and configuration diagrams mainly indicate input / output of data, and the data for the input / output of the data includes a
また、実施の形態の説明において「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
Also, what is described as “˜unit” in the description of the embodiment may be realized by firmware stored in the
また、実施の形態を実施するプログラムは、磁気ディスク装置920、FD、光ディスク、CD、MD、DVD、その他の記憶媒体による記憶装置を用いて記憶されても構わない。
The program for implementing the embodiment may be stored using a storage device such as a
図3は、実施の形態1によるデータ管理システム900の構成図である。
図3において、データ管理システム900はデータ管理装置1と端末装置2とを備える。データのロード、検索、バックアップ/リストア、削除や以下に述べる範囲の追加、削除等の端末装置2からの処理要求はデータ管理装置1がCPU911を用いて処理する。以下、端末装置2からデータ管理装置1にロードされるデータの最小単位を「行」と呼ぶことにする。この「行(任意データの一例)」は、例えば、データベースにおけるレコードに対応する。以下、データ管理装置1をデータベースとして説明する。データ管理システム900は、一度に複数の行を端末装置2からデータ管理装置1のデータベースにロード可能であり、また、必要な行を検索によりデータ管理装置1から抽出することが可能である。
FIG. 3 is a configuration diagram of the
In FIG. 3, the
データ管理装置1は、実施の形態1によるデータ管理装置であって、データ処理部3、範囲管理制御部4、データアクセス制御部6(入出力制御部の一例)、データ格納領域部7(第1の記憶機器の一例)、バッファメモリ951を備えるものである。また、範囲管理テーブル5を記憶する記憶機器(第2の記憶機器)とアーカイブファイル300(バックアップファイルの一例)を記憶する記憶機器(第3の記憶機器)とを備える。範囲管理テーブル5およびアーカイブファイル300はデータ格納領域部7と同じ記憶機器に記憶してもよいし、別の記憶機器に記憶してもよい。データ格納領域部7は記憶データを更新する更新領域8と記憶データを更新しない参照領域9とを有する。データ格納領域部7は更新領域8を磁気ディスク装置920の連続領域に割り付けると共に、参照領域9を更新領域8とは別に磁気ディスク装置920の連続領域に割り付ける。また、データ格納領域部7は更新領域8と参照領域9とを磁気ディスク装置920の連続領域に割り付けてもよい。これにより、磁気ディスク装置920に対して磁気ディスク面の連続する場所にアクセスすることで所望の行にアクセスすることができ、ディスクヘッドのシークに無駄のないデータアクセスが可能となる。なお、データ格納領域部7は半導体メモリなど他の記憶媒体であっても実現は可能である。
ここで、範囲管理テーブル5は範囲に対する管理情報を有するテーブルである。データ管理装置1のバッファメモリ951のサイズ(以下、バッファサイズとする)に適合する複数の行を1グループとし、更新領域8または参照領域9において連続する領域に記憶された複数のグループが1範囲である。以下、1範囲に対する管理情報(範囲エントリの一例)を「エントリ」と呼ぶ。
The
Here, the range management table 5 is a table having management information for the range. A plurality of rows conforming to the size of the
データ管理装置1の各構成部はCPU911を用いて以下のような処理を行う。
データ処理部3は、端末装置2から処理要求を入力し、処理要求に応じて範囲管理制御部4にデータ管理命令を出力する。このとき、データ処理部3は、バッファメモリ951に記憶された行を処理し、処理結果を端末装置2に出力する。
範囲管理制御部4は、データ処理部3からデータ管理命令を入力し、データ管理命令に対応して、範囲管理テーブル5に対するエントリの変更・追加・削除・初期設定などのデータ管理処理を行うと共にデータアクセス制御部6にデータアクセス命令を出力する。
データアクセス制御部6は、範囲管理制御部4からデータアクセス命令を入力し、データアクセス命令に応じたグループの取得・追加・削除などのデータアクセス処理をデータ格納領域部7に対して行う。このとき、データアクセス制御部6は、データ格納領域部7から取得した行をバッファメモリ951に記憶し、または、バッファメモリ951に記憶された行をデータ格納領域部7に追加記憶する。
Each component of the
The
The range
The data
図4は、データ管理装置1で実現する「範囲」の概念図である。
図4においてデータベース30は3つの範囲30a〜30cを持つ。それぞれの範囲には範囲を区別する番号として範囲ID(範囲識別情報の一例)を割り当てる。データベース30の生成時に1つの範囲を定義し、範囲の追加処理により順番に範囲を追加することができる。
FIG. 4 is a conceptual diagram of “range” realized by the
In FIG. 4, the
図5は、図4で示すデータベース30に対して、範囲を追加した場合の概念図である。
データベース30に追加する行は、最後に追加された最新の範囲である「現在の範囲」にロードする。図4においては範囲30c、図5においては範囲30dが、現在の範囲である。データ管理装置1は、この範囲を単位としてデータのバックアップ/リストア、削除を行うことが可能である。
FIG. 5 is a conceptual diagram when a range is added to the
The row to be added to the
図6は、範囲管理テーブル5に保持する範囲管理情報を示した例である。
範囲管理テーブル5はデータベースの生成日付10、データベースへのテーブル最終書込み時刻11、データベースが保持する範囲数12、範囲のキー数13を持つ。また、各エントリにおいて、個々の範囲の属性として、範囲ID14、開始グループ番号15、グループ数16、確定状態17、ロード状態18、確定時刻19、エントリ最終書込み時刻20、最小行番号21(最小番号の一例)、最大行番号22(最大番号の一例)、最小タイムスタンプ23(最小追加時刻の一例)、最大タイムスタンプ24(最大追加時刻の一例)を持つ。図6においては、行番号(最小行番号21、最大行番号22)とタイムスタンプ(最小タイムスタンプ23、最大タイムスタンプ24)が範囲のキーであるが、キーの数、キーにするデータ項目は自由に設定することが可能である。
範囲管理制御部4が範囲管理テーブル5の各範囲管理情報を設定する。特に、各エントリに対して、検索、変更、追加、削除、初期設定などの管理処理を行う。
FIG. 6 is an example showing the range management information held in the range management table 5.
The range management table 5 has a
The range
次に、各エントリが有する個々の範囲の属性について説明する。
範囲ID14(範囲識別情報の一例)は、範囲管理制御部4が範囲の追加処理時に追加した範囲に対して設定するユニークな識別情報であり、例えば、1ずつ増やした番号を設定する。
開始グループ番号15(グループ特定情報の一例)は、データ処理部3が1つ以上の行をまとめたデータ単位(グループ)の開始番号である。データ処理部3は1つ以上の行をバッファサイズにまとめて1グループとし、グループに対して生成順に連番を振る。
グループ数16(グループ特定情報の一例)は、開始グループ番号15から連続する番号を持つ当該範囲に属するグループの数である。
開始グループ番号15とグループ数16とは当該エントリが示す範囲に属するグループを特定する情報である。
確定状態17(追加可否情報の一例)は当該範囲に対しグループのロードが可能であるか否かを示す。
ロード状態18(グループ有無情報の一例)は当該範囲が空(グループ無し)であるかロード済みであるかを示す。
確定時刻19(確定範囲時刻の一例)は当該範囲に対しグループのロードが可能でなくなった時刻(当該エントリの確定状態17に“FIXED”を設定した時刻)である。
エントリ最終書込み時刻20(最終追加時刻の一例)は、データベースの生成、ロード、範囲の削除、またはバックアップのリストアが最後に行われた時刻である。
最小行番号21(任意データ特定情報の一例)、最大行番号22(任意データ特定情報の一例)は、それぞれ当該範囲に含まれる行の番号の最小値、最大値である。
最小タイムスタンプ23(任意データ特定情報の一例)、最大タイムスタンプ24(任意データ特定情報の一例)はそれぞれ当該範囲に属する行のタイムスタンプ(行を当該範囲に追加した時刻)の最小値、最大値である。
最小行番号21、最大行番号22、最小タイムスタンプ23および最大タイムスタンプ24は当該エントリが示す範囲に属する行を特定する情報である。当該エントリが示す範囲に属する行を特定できる情報であれば、行番号とタイムスタンプのいずれか一つであってもよいし、行番号およびタイムスタンプでなくてもよい。以下、最小行番号21と最大行番号22とを「範囲のキー#1」とし、最小タイムスタンプ23と最大タイムスタンプ24とを「範囲のキー#2」とする。
Next, the attribute of each range that each entry has will be described.
The range ID 14 (an example of range identification information) is unique identification information set for the range added by the range
The start group number 15 (an example of group specifying information) is a start number of a data unit (group) in which the
The number of groups 16 (an example of group identification information) is the number of groups belonging to the range having a number consecutive from the
The
The confirmation state 17 (an example of addition availability information) indicates whether a group can be loaded in the range.
A load state 18 (an example of group presence / absence information) indicates whether the range is empty (no group) or loaded.
The confirmation time 19 (an example of the confirmation range time) is a time when the group cannot be loaded into the range (a time when “FIXED” is set in the
The entry last write time 20 (an example of the last addition time) is the time when database creation, loading, range deletion, or backup restoration was last performed.
The minimum line number 21 (an example of arbitrary data specifying information) and the maximum line number 22 (an example of arbitrary data specifying information) are the minimum value and the maximum value of the line numbers included in the range, respectively.
The minimum time stamp 23 (an example of arbitrary data specifying information) and the maximum time stamp 24 (an example of arbitrary data specifying information) are the minimum value and the maximum of the time stamps (time when a line is added to the range) belonging to the range, respectively. Value.
The
さらに、確定状態17について詳しく説明する。確定状態17には「現在」(CURRENT)と「確定」(FIXED)との状態がある。確定状態がCURRENTとなっている範囲を「現在の範囲(処理中範囲)」、確定状態がFIXEDとなっている範囲を「確定した範囲(確定範囲)」と呼ぶ。現在の範囲はデータベースに1つだけ存在し、現在の範囲以外の全ての範囲は確定した範囲である。新規に生成されたデータベースには1個の現在の範囲が含まれ、確定した範囲は含まれない。つまり、データ管理装置1に新規にデータベースを生成する際、範囲管理制御部4は範囲管理テーブル5に現在の範囲のエントリを1つ生成し、確定した範囲のエントリは生成しない。また、データ処理部3が端末装置2から範囲の追加要求を入力すると、範囲管理制御部4は範囲管理テーブル5に新しい現在の範囲のエントリを生成し、それまでの現在の範囲のエントリの確定状態17をCURRENTからFIXEDに変更し確定した範囲として設定する。範囲管理制御部4は新しい現在の範囲のエントリにはそれまでの現在の範囲の範囲IDに1を加えた範囲IDを割り当てる。範囲管理制御部4はこの範囲の追加以外の操作によって確定状態17を変更することはしない。ここで、現在の範囲に対してはデータのロードを可能とし、確定した範囲に対してデータのロード(グループの追加)はしない。つまり、データ管理システム900の利用者は、端末装置2からデータ管理装置1にロード要求を行うことで、現在の範囲に対してデータのロードを行うことはできるが確定した範囲に対してデータのロードを行うことはできない。
Further, the
さらに、ロード状態18について詳しく説明する。データ管理装置1のデータベースにおいて、範囲を単位としてデータのバックアップ、削除、リストアを行うことができる。ロード状態には「空」(EMPTY)と「ロード済み」(LOADED)がある。ロード状態がEMPTYとなっている範囲を「空の範囲」、ロード状態がLOADEDとなっている範囲を「ロード済みの範囲」と呼ぶ。データ処理部3がロード要求を入力した際、現在の範囲が空の範囲であれば、範囲管理制御部4は当該エントリのロード状態18をEMPTYからLOADEDの状態に変更する。また、データ処理部3がロード済みの範囲に対する削除要求を入力した際、範囲管理制御部4は当該エントリのロード状態18をLOADEDからEMPTYの状態に変更する。また、データ処理部3は検索要求を入力した際に空の範囲内のデータを検索対象にせず、空の範囲内のデータの参照もしない。また、データ処理部3がバックアップのリストア要求を入力した際、範囲管理制御部4はバックアップ時に保存されたロード状態18を復元する。データ管理装置1に新規にデータベースを生成する際、範囲管理制御部4はロード状態18がEMPTYである1個の空の範囲のエントリを生成する。
Further, the
図7は、範囲の操作処理に対する確定状態17およびロード状態18の変化について示した範囲の状態遷移図である。
範囲の操作処理とは、端末装置2から入力した処理要求に対応してデータ管理装置1が実行する処理であり、ロード、範囲の削除、範囲の追加、範囲指定のバックアップ、リストアを示す。範囲に対する操作の際に、範囲管理制御部4は範囲管理テーブル5の当該エントリの範囲の状態(確定状態17、ロード状態18)を、図中の矢印で示すように、ST1、ST2、ST3、ST4のいずれかの状態に設定する。
例えば、状態ST1(確定状態17:CURRENT,ロード状態18:EMPTY)の範囲に対して、ロードあるいはリストアの操作を実行する際、範囲管理制御部4は当該範囲のエントリに対して状態ST2(確定状態17:CURRENT,ロード状態18:LOADED)に変更する。範囲の追加の操作をさらに実行する際は、範囲管理制御部4は状態ST2であった当該範囲のエントリの状態を状態ST4(確定状態17:FIXED,ロード状態18:LOADED)に変更する。なお、範囲の追加により範囲管理制御部4が新規に作成した範囲のエントリの状態は状態ST1である。状態ST3は確定状態17がFIXEDでロード状態18がEMPTYである。
FIG. 7 is a state transition diagram of the range showing changes in the confirmed
Range operation processing is processing executed by the
For example, when performing a load or restore operation on the range of the state ST1 (determined state 17: CURRENT, load state 18: EMPTY), the range
データ管理装置1は図に示されていない範囲の操作を行わない。
つまり、データ管理装置1は、空である現在の範囲(状態ST1)に対してバックアップ、リストア、ロード、範囲の追加の各処理を行う。このとき、範囲管理制御部4は、範囲管理テーブル5の当該範囲のエントリの状態に対して、バックアップまたは空の範囲のリストアの際には状態を変更せず、ロードまたは空でない範囲のリストアの際には状態ST2に変更し、範囲の追加の際には状態ST3に変更する。
また、データ管理装置1は、空でない現在の範囲(状態ST2)に対してロード、バックアップ、範囲の追加、範囲の削除の各処理を行う。このとき、範囲管理制御部4は、範囲管理テーブル5の当該範囲のエントリの状態に対して、ロードまたはバックアップの際には状態を変更せず、範囲の追加の際には状態ST4に変更し、範囲の削除の際には状態ST1に変更する。
また、データ管理装置1は、空でない確定範囲(状態ST4)に対してバックアップ、範囲の削除の各処理を行う。このとき、範囲管理制御部4は、範囲管理テーブル5の当該範囲のエントリの状態に対して、バックアップの際には状態を変更せず、範囲の削除の際には状態ST3に変更する。
また、データ管理装置1は、空である確定範囲(状態ST3)に対してバックアップ、リストアの各処理を行う。このとき、範囲管理制御部4は、範囲管理テーブル5の当該範囲のエントリの状態に対して、バックアップまたは空の範囲のリストアの際には状態を変更せず、空でない範囲のリストアの際には状態ST4に変更する。
The
That is, the
In addition, the
In addition, the
In addition, the
図7に示すように、範囲管理制御部4は、バックアップ時の状態に復元するリストアの際、ロード状態18の変更は行うが、確定状態17の変更は行わない。なお、データ管理装置1はロード状態18がEMPTYの時に限り当該範囲に対するリストア処理を実行する。
但し、データ管理装置1が各状態において他の処理を実行しても構わない。例えば、ロードされた行の上書きを許可し、ロード状態18がLOADEDの時にもリストア処理を実行してもよい。
As shown in FIG. 7, the range
However, the
次に、データ管理装置1におけるロード処理の動作について説明する。
データ処理部3は、端末装置2からロード要求として入力された行に対して、任意のデータ処理を実行し、複数の行をまとめたデータの固まりであるグループを作成する。
図8は、データ処理の結果生成されるグループの一例である。
この例では、グループ100は、5つの行101a〜101eによって構成される。グループに含まれる行は1つであっても良い。また、グループ内でのデータ配置は自由である。例えば、行が複数のフィールドから構成されている場合、フィールドごとにまとめたブロックをさらにまとめたてグループとしてもよい。あるいは、グループ内のデータに対して圧縮や暗号化などのデータ処理をしてまとめたものであってもよい。
Next, the operation of the load process in the
The
FIG. 8 is an example of a group generated as a result of data processing.
In this example, the
また、データ処理部3は、グループの作成においてグループ単位のキー情報を取り出す。
キー情報とは、例えば、キーの最小値と最大値のことである。なお、キーはデータベースの定義として予め設定され記憶機器に記憶されているものとする。
グループ単位のキー情報は、行においてキー属性が設定されたフィールドと同じでも違っても構わない。
図9は、1つの行が行番号102a、タイムスタンプ102b、カラー102cの3つのフィールドを有する場合のグループ100の例である。
図9において、キーとして定義されているフィールドが行番号102aとタイムスタンプ102bである場合、グループ100のキー情報は、行番号102aが最小値“1”、最大値“5”、タイムスタンプ102bが最小値“2005/10/13 12:01”、最大値“2005/10/20 11:54”である。
In addition, the
The key information is, for example, the minimum value and the maximum value of the key. Note that the key is set in advance as a database definition and stored in the storage device.
The key information for each group may be the same as or different from the field in which the key attribute is set in the row.
FIG. 9 shows an example of the
In FIG. 9, when the fields defined as keys are the
範囲管理制御部4は、データ処理部3よりグループとそのキー情報を入力して範囲管理テーブル5を更新し、データアクセス制御部6を介してデータ格納領域部7へのグループの書込みを行う。データアクセス制御部6は、範囲管理制御部4を介してグループをデータ格納領域部7に保存する。
The range
図10は、データ管理装置1におけるロード処理の動作を示すフローチャートである。
データ処理部3が端末装置2からロード要求を入力した際にデータ管理装置1が実行するロード処理について、図10に基づいて以下に説明する。
FIG. 10 is a flowchart showing the operation of the load process in the
A load process executed by the
まず、データ処理部3は、グループのキー情報(最小値、最大値)を特定するための変数(以下、キー情報変数とする)を初期化する。ここでは、一例として、キー情報は行番号とタイムスタンプの2つとし、最小値には通常取りえない十分に大きな値(例えば、十進数で全ての桁が9)を設定し、最大値には0またはナル値を設定する(ステップS100)。
次に、データ処理部3はロードする行を端末装置2から入力する(ステップS101)。
次に、データ処理部3は行入力の終了の判定を行う(ステップS102)。
判定の結果、行入力の終了でない場合、データ処理部3は、入力した行の行番号とタイムスタンプそれぞれのフィールドの値をキー情報変数の値と比較して、入力した行のフィールドの値がキー情報変数の最小値より小さい場合、キー情報変数の最小値をフィールドの値に置き換え、入力した行のフィールドの値がキー情報変数の最大値より大きい場合、キー情報変数の最大値をフィールドの値に置き換える。なお、個々のフィールドの行内での位置は予めデータベースの定義情報を参照して既知であるものとする(ステップS103)。
次に、データ処理部3は入力した行をグループへ追加する。このとき、データ処理部3は入力したグループをバッファメモリ951に追加記憶する(ステップS104)。
次に、データ処理部3は1つのグループとして更新領域8に追加記憶する条件(以下、グループ条件とする)を満たしているかの判定を行う。グループ条件としては、グループに追加した行数が予め設定した行数を満たしている、あるいは、グループに追加した行の長さの積算値が予め設定したグループのサイズを満たしている、などの設定とする。1グループのサイズはバッファサイズ以内でバッファサイズに近いバッファサイズに適合したサイズが好ましい(ステップS105)。
グループ条件を満たしていない場合、データ処理部3は処理をステップS101に移す。
First, the
Next, the
Next, the
As a result of the determination, if the line input is not completed, the
Next, the
Next, the
If the group condition is not satisfied, the
グループ条件を満たしている場合、データ処理部3は範囲管理制御部4に対してグループの書き出しを命令するデータ管理命令を出力する。データ管理命令にはキー情報変数が含まれる。範囲管理制御部4はデータアクセス制御部6に対してデータ格納領域部7の更新領域8へのグループの書き出しを命令するデータアクセス命令を出力し、データアクセス制御部6はデータ処理部3が生成したグループをバッファメモリ951からデータ格納領域部7の更新領域8に追加で書き出し保存する。また、データアクセス制御部6は更新領域8に書き出したグループが記憶されたバッファメモリ951の領域を開放する(ステップS106)。
When the group condition is satisfied, the
次に、範囲管理制御部4は範囲管理テーブル5の更新を行う。このとき、範囲管理制御部4は確定状態17がCURRENTであるエントリを範囲管理テーブル5において検索して選択する。そして、選択したエントリのテーブル最終書込み時刻11と選択したエントリのグループ特定情報(開始グループ番号15、グループ数16)と行特定情報(最小行番号21、最大行番号22、最小タイムスタンプ23、最大タイムスタンプ24)とを更新する。また、ロード状態18がEMPTYの場合には、図7の範囲の状態遷移図に従って、ロード状態18をLOADEDに変更する。グループ数16は、ロード状態18がLOADEDの場合には、現在のグループ数16に1を加算した値を設定し、ロード状態18がEMPTYの場合には1つ前の範囲のエントリの開始グループ番号15とグループ数16を加算した値を設定する。そして、エントリ最終書込み時刻20には現在の時刻を設定する。また、キー情報変数が示すグループの行番号の最小値が範囲管理テーブル5の最小行番号21より小さい場合、最小行番号21をキー情報変数の行番号の最小値で置き換え、キー情報変数が示すグループの行番号の最大値が範囲管理テーブル5の最大行番号22より大きい場合、最大行番号22をキー情報変数の行番号の最大値で置き換える。同様に、キー情報変数が示すグループのタイムスタンプの最小値、最大値を最小タイムスタンプ23、最大タイムスタンプ24と比較して置き換える(ステップS107)。
Next, the range
次に、データ処理部3はステップS102で行入力の終了(新たに行が入力されないこと)を検出しているかの判定を行う(ステップS107)。
判定の結果、行入力の終了を検出している場合、データ処理部3はロード処理を終了する。
行入力の終了を検出していない場合、データ処理部3はステップ101に処理を移す。
ステップS102で行の終了と判定した場合、データ処理部3はグループの書き残しがあるかの判定を行う(ステップS109)。
データ処理部3は、グループの書き残しがある場合にはステップS106に処理を移し、グループの書き残しがない場合にはロード処理を終了する。
Next, the
If the end of line input is detected as a result of the determination, the
If the end of line input is not detected, the
If it is determined in step S102 that the line has ended, the
The
以上のロード処理の動作の結果、データ格納領域部7の更新領域8にグループが格納される。
図11は、データ管理装置1が3つのグループ100a〜100cを更新領域8に格納した例である。
As a result of the above load processing operation, the group is stored in the
FIG. 11 shows an example in which the
次に、データ管理装置1における範囲の追加処理の動作概要を説明する。
データ処理部3は、端末装置2から範囲の追加要求(範囲追加要求データの一例)を受付け、範囲の追加を命令するデータ管理命令を出力して範囲管理制御部4を呼び出す。範囲管理制御部4は更新領域8内のグループを参照領域9に移動させるデータアクセス命令を出力してデータアクセス制御部6を呼び出す。データアクセス制御部6はデータ格納領域部7の更新領域8にあるグループを参照領域9に移動し、範囲管理制御部4は範囲管理テーブル5を更新する。
Next, an outline of operation of range addition processing in the
The
図12は、データ管理装置1における範囲の追加処理の動作を示すフローチャートである。
データ処理部3が端末装置2から範囲の追加要求を入力した際にデータ管理装置1が実行する範囲の追加処理について、図12に基づいて以下に説明する。
FIG. 12 is a flowchart showing the operation of range addition processing in the
The range addition process executed by the
まず、データ処理部3は範囲の追加を命令するデータ管理命令を出力して範囲管理制御部4を呼び出し、範囲管理制御部4は確定状態17がCURRENTであるエントリを範囲管理テーブル5において検索して選択する。そして、範囲管理制御部4は選択したエントリの開始グループ番号15とグループ数16を取得してデータ処理部3に出力する(ステップS200)。
次に、データ処理部3は、処理したグループの数をカウントするための変数であるカウンタNを0に初期化する(ステップS201)。
次に、データ処理部3はカウンタNが範囲管理制御部4から入力したグループ数16より小さいかどうかを判定する(ステップS202)。
カウンタNがグループ数16より小さい場合、データ処理部3は範囲管理制御部4から入力した開始グループ番号15にカウンタNを加えたグループ番号のグループを更新領域8から参照領域9に移動させるデータ管理命令を範囲管理制御部4に出力する。範囲管理制御部4は入力したデータ管理命令に対応する当該グループの移動を命令するデータアクセス命令をデータアクセス制御部6に出力する。そして、データアクセス制御部6はデータ格納領域部7の更新領域8から当該グループを読み出しバッファメモリ951に書き出す(ステップS203)。
次に、データ処理部3はバッファメモリ951に記憶されたグループをデータ格納領域部7の参照領域9に書き出させるデータ管理命令を範囲管理制御部4に出力する。範囲管理制御部4はデータ管理命令に相当するデータアクセス命令をデータアクセス制御部6に出力し、データアクセス制御部6はバッファメモリ951に記憶されたグループを参照領域9に書き出し、参照領域9に書き出したグループが記憶されたバッファメモリ951の領域を開放する(ステップS204)。
次に、データ処理部3はカウンタNに1を加える(ステップS205)。
データ管理装置1は以上の処理をカウンタNがグループ数16以上になるまで繰り返す。
ステップS202でカウンタNがグループ数16以上であると判定した場合、データ処理部3は更新領域8にあるグループの削除を命令するデータ管理命令を範囲管理制御部4に出力する。そして、範囲管理制御部4は更新領域8にあるグループの削除を命令するデータアクセス命令をデータアクセス制御部6に出力し、データアクセス制御部6は更新領域8に記憶されているグループを削除する(ステップS206)。
First, the
Next, the
Next, the
When the counter N is smaller than 16, the
Next, the
Next, the
The
When it is determined in step S202 that the counter N is 16 or more, the
以上により、行の追加が可能な更新領域8にあるグループを参照だけが可能な参照領域9へ移動したことになる。
図13は、更新領域8にある3つのグループ100a〜100cを参照領域9に移動したイメージを示す。
As described above, the group in the
FIG. 13 shows an image in which the three
最後に、データ処理部3はエントリの追加を要求するデータ管理命令を範囲管理制御部4に出力し、範囲管理制御部4は範囲管理テーブル5を更新する。このとき、範囲管理制御部4はステップS200で検索したエントリに対して、図7の状態遷移図に従い確定状態17をCURRENTからFIXEDに変更すると共に、確定時刻19には現在の時刻を設定する。また、範囲管理制御部4は新たな範囲のエントリを追加し、範囲ID14に一つ前の範囲の範囲ID14に1を加えた値を設定し、開始グループ番号15に1つ前の範囲の開始グループ番号15とグループ数16を足した値を設定し、グループ数16に0を設定し、確定状態17にCURRENTを設定し、ロード状態18にEMPTYを設定し、エントリ最終書込み時刻20に現在の時刻を設定し、追加したエントリのその他の項目にはナル値を設定する。さらに、範囲管理制御部4は、テーブル最終書込み時刻11に現在の時刻を設定し、範囲数12に1を加えた値を設定する(ステップS207)。
Finally, the
図14は、図6に示す範囲管理テーブル5の状態にあるデータベースに対して、範囲の追加を行った直後の範囲管理テーブル5の例である。 FIG. 14 is an example of the range management table 5 immediately after the range is added to the database in the state of the range management table 5 shown in FIG.
次に、データ管理装置1における範囲の削除処理の動作概要を説明する。
データ管理装置1は、範囲の削除処理により、対象となる範囲の領域をデータ格納領域部7から開放することができる。
図15は、範囲の削除の概念図であり、範囲30bを削除した場合を示す。
まず、データ処理部3は、端末装置2から範囲ID指定で範囲の削除要求(範囲削除要求データの一例)を受付け、範囲IDに対応する範囲の削除を命令するデータ管理命令を出力して範囲管理制御部4を呼び出す。範囲管理制御部4は、データ管理要求が示す範囲IDに範囲ID14が一致するエントリを検索して選択し、選択したエントリのグループ特定情報(開始グループ番号15、グループ数16)を範囲管理テーブル5から取得する。そして、選択したエントリが示す範囲に属するグループの削除を命令するデータアクセス命令を出力してデータアクセス制御部6を呼び出し、データアクセス制御部6は指定された範囲IDに対応する範囲に属するグループをデータ格納領域部7から削除する。また、範囲管理制御部4は範囲管理テーブル5を更新する。
Next, an outline of the operation of range deletion processing in the
The
FIG. 15 is a conceptual diagram of range deletion, and shows a case where the
First, the
図16は、データ管理装置1における範囲の削除処理の動作を示すフローチャートである。
データ処理部3が端末装置2から範囲ID指定で範囲の削除要求を入力した際にデータ管理装置1が実行する範囲の削除処理について、図16に基づいて以下に説明する。
FIG. 16 is a flowchart showing an operation of range deletion processing in the
A range deletion process executed by the
まず、データ処理部3は範囲IDに対応する範囲の削除を命令するデータ管理命令を出力して範囲管理制御部4を呼び出し、範囲管理制御部4はデータ管理命令が示す範囲IDに範囲ID14が一致するエントリを範囲管理テーブル5において検索して選択する。そして、範囲管理制御部4は選択したエントリの開始グループ番号15とグループ数16を取得してデータ処理部3に出力する(ステップS300)。
次に、データ処理部3は、処理したグループの数をカウントするための変数であるカウンタNを0に初期化する(ステップS301)。
次に、データ処理部3はカウンタNが範囲管理制御部4から入力したグループ数16より小さいかどうかを判定する(ステップS302)。
カウンタNがグループ数16より小さい場合、データ処理部3は範囲管理制御部4から入力した開始グループ番号15にカウンタNを加えたグループ番号に対応するグループの削除を命令するデータ管理命令を範囲管理制御部4に出力する。範囲管理制御部4は入力したデータ管理命令に対応する当該グループの削除を命令するデータアクセス命令をデータアクセス制御部6に出力する。そして、データアクセス制御部6はデータ格納領域部7において当該グループが記憶された領域を開放する(ステップS304)。
次に、データ処理部3はカウンタNに1を加える(ステップS305)。
データ管理装置1は以上の処理をカウンタNがグループ数16以上になるまで繰り返す。
ステップS302でカウンタNがグループ数16以上であると判定した場合、データ処理部3はエントリの削除を命令するデータ管理命令を範囲管理制御部4に出力し、範囲管理制御部4はステップS300で検索したエントリに対して、図7の状態遷移図に従い、ロード状態18をLOADEDからEMPTYに変更する。ただし、ロード状態18がすでにEMPTYの場合にはロード状態18を変えない。また、範囲管理制御部4はテーブル最終書込み時刻11とエントリ最終書込み時刻20とに現在の時刻を設定する(ステップS306)。
First, the
Next, the
Next, the
When the counter N is smaller than the number of
Next, the
The
When it is determined in step S302 that the counter N is 16 or more, the
図17は、図6に示す範囲管理テーブル5の状態にあるデータベースに対して、範囲ID14が“2”の範囲を削除した直後の範囲管理テーブル5の例である。
FIG. 17 is an example of the range management table 5 immediately after the range whose
次に、データ管理装置1における検索処理の動作概要を説明する。
データ処理部3は、端末装置2から検索要求を受付け、検索要求を解析し、範囲管理制御部4に要求し検索対象となるグループを取得する。そして、データ処理部3は取得した各グループに含まれる各行に対する照合処理を実行して結果を端末装置2に出力する。範囲管理制御部4はデータ処理部3から検索要求の解析結果として受け取った範囲のキー情報で範囲管理テーブル5を参照して検索対象範囲のエントリを読み出し、当該エントリのグループ特定情報で検索対象のグループを特定する。そして、範囲管理制御部4はデータアクセス制御部6に要求し検索対象の範囲に属する全てのグループをデータ格納領域部7から読み出す。
Next, an outline of the search processing operation in the
The
図18は、データ管理装置1における検索処理の動作を示すフローチャートである。
データ処理部3が端末装置2から検索条件を示す検索要求(検索要求データの一例)を入力した際にデータ管理装置1が実行する検索処理について、図18に基づいて以下に説明する。
FIG. 18 is a flowchart showing the search processing operation in the
A search process executed by the
まず、データ処理部3は、検索条件を示す検索問合せ文を検索要求として端末装置2から入力する(ステップS400)。
次に、データ処理部3は検索問合せ文が示す検索条件から範囲のキーになる条件を抽出する。範囲のキーの情報はデータベース定義時に予め設定されているものとする(ステップS401)。
First, the
Next, the
図6における範囲管理テーブル5の例では、行番号とタイムスタンプの2つを範囲のキーとして定義している。
この範囲のキーを前提とした検索問い合わせ文の例を図19に示す。
図19に示す検索問い合わせ文は、行番号が“3000”より大きく、且つ、タイムスタンプが“2004/04/16 00:00”以上“2004/06/15 23:59”以下で、且つ、カラーが“RED”を検索条件にすることを意味する。ここで、範囲のキーの条件として抽出される情報は、行番号が“3000”より大きく、且つ、タイムスタンプが“2004/04/16 00:00”以上“2004/06/15 23:59”以下という情報である。
In the example of the range management table 5 in FIG. 6, two of a line number and a time stamp are defined as range keys.
FIG. 19 shows an example of a search query sentence based on this range of keys.
The search query shown in FIG. 19 has a line number larger than “3000”, a time stamp of “2004/04/16 00:00” or more and “2004/06/15 23:59” or less, and color Means that “RED” is used as a search condition. Here, the information extracted as the range key condition is that the line number is larger than “3000” and the time stamp is “2004/04/16 00:00” or more and “2004/06/15 23:59”. The following information.
次に、データ処理部3は検索問い合わせ文が示す検索条件に範囲のキーになる条件があるか否かの判定を行う(ステップS402)。
範囲のキーになる条件がある場合、データ処理部3は範囲のキーに対応する範囲のグループ特定情報を要求するデータ管理命令を範囲管理制御部4に出力する。範囲管理制御部4は範囲管理テーブル5を検索してロード状態18がLOADEDで、且つ、範囲のキーに行特定情報(最小行番号21、最大行番号22、最小タイムスタンプ23、最大タイムスタンプ24)が対応する範囲のエントリを選択し、選択したエントリのグループ特定情報(開始グループ番号15、グループ数16)をデータ処理部3に出力する。データ処理部3は範囲管理制御部4が出力した開始グループ番号15とグループ数16とを検索対象グループの情報として入力する(ステップS403)。
図6と図19の条件を前提とした場合、範囲ID14が4、5および6の範囲が検索対象範囲であり、検索対象範囲に属するグループが検索対象グループである。
範囲のキーになる条件がない場合、データ処理部3はロード状態18がLOADEDであるエントリのグループ特定情報を要求するデータ管理命令を範囲管理制御部4に出力する。範囲管理制御部4は範囲管理テーブル5を検索してロード状態18がLOADEDである範囲のエントリを選択し、選択したエントリのグループ特定情報(開始グループ番号15、グループ数16)をデータ処理部3に出力する。データ処理部3は範囲管理制御部4が出力した開始グループ番号15とグループ数16とを検索対象グループの情報として入力する(ステップS404)。
Next, the
When there is a condition that becomes a range key, the
When the conditions of FIGS. 6 and 19 are assumed, a range whose
If there is no condition that becomes a range key, the
次に、データ処理部3は、検索対象グループに含まれる1グループの読み出しを命令するデータ管理命令を範囲管理制御部4に出力する。範囲管理制御部4はデータ管理命令に対応する当該グループの読み出しを命令するデータアクセス命令をデータアクセス制御部6に出力する。データアクセス制御部6は検索対象である当該グループをデータ格納領域部7から読み出してバッファメモリ951に記憶する(ステップS405)。
Next, the
次に、データ処理部3は検索対象グループに含まれる全グループの読み出しが終了したか否かを判定する(ステップS406)。
読み出し終了である場合、データ処理部3は検索処理を終了する。
読み出し終了でない場合、データ処理部3はバッファメモリ951に記憶されたグループに対して行単位の照合処理を行い検索条件に該当する行の情報を検索結果として端末装置2に出力する。図19を例にした場合、データ処理部3はバッファメモリ951に記憶されたグループに含まれる各行を検索し、行の“カラー”フィールドが“RED”である行を選択する照合処理を行う。また、データ処理部3は、検索結果を端末装置2に出力後、照合処理したグループが記憶されたバッファメモリ951の領域を開放する(ステップS407)。
Next, the
If the reading is finished, the
If the reading is not finished, the
次に、データ管理装置1におけるバックアップ処理の動作概要を説明する。
データ管理装置1では、バックアップの種類として、フルバックアップ、差分バックアップ、増分バックアップに加え、範囲指定によるバックアップを実現する。フルバックアップは全データのバックアップであり、差分バックアップはフルバックアップ後に追加・変更されたデータのバックアップであり、増分バックアップはフルバックアップ以外のバックアップ(差分バックアップまたは増分バックアップ)後に追加・変更されたデータのバックアップである。また、範囲指定バックアップは指定された範囲のバックアップである。
データ処理部3は、端末装置2からバックアップ要求(バックアップ要求データの一例)を受付け、データベースの定義情報やデータ格納領域部7に格納されたデータを範囲管理制御部4を介して取得し、取得したデータをまとめたアーカイブファイル300を生成し記憶機器に記憶する。範囲管理制御部4はデータ処理部3からのバックアップ命令に従い、範囲管理テーブル5の情報を取得すると共にデータアクセス制御部6にバックアップ対象のグループを要求する。
Next, an outline of operation of backup processing in the
In the
The
図20は、データ管理装置1がバックアップ処理において生成するアーカイブファイル300のデータ構造を示した図である。
300はアーカイブファイルを示す。
301はバックアップの種類、アーカイブファイル300の生成日付、範囲情報(開始範囲ID、範囲数)などのアーカイブファイル300のヘッダ情報(アーカイブヘッダ情報)である。
302はデータベース定義情報であり、データベースのフィールド情報やキー情報などを含む。
303は範囲管理テーブル5の情報である。
304はデータ格納領域部7からバックアップして生成したアーカイブファイル300に含まれるグループに関する情報(グループデータ情報)である。
FIG. 20 is a diagram showing a data structure of the
301 is header information (archive header information) of the
図20はバックアップ対象のグループ数が4の場合における例である。
グループデータ情報304はグループデータヘッダ情報313とグループ312a〜312dとを備える。
グループデータヘッダ情報313は、開始グループ番号305、グループ数306、更新領域内グループ数307、個別グループ情報308a〜308dを備える。
さらに、個別グループ情報308a〜308dは、それぞれ、アーカイブファイル300内でのグループの位置を示すオフセット309、グループのサイズ310、空のグループか否かを示すフラグ311を備える。
個別グループ情報308aのオフセット309(OFFSET#1)はグループ312a(グループ#1)の位置を示し、個別グループ情報308bのオフセット309(OFFSET#2)はグループ312b(グループ#2)の位置を示し、個別グループ情報308cのオフセット309(OFFSET#3)はグループ312c(グループ#3)の位置を示し、個別グループ情報308dのオフセット309(OFFSET#4)はグループ312d(グループ#4)の位置を示す。
FIG. 20 shows an example when the number of backup target groups is four.
The
The group data header information 313 includes a
Furthermore, the
The offset 309 (OFFSET # 1) of the
図21は、データ管理装置1が差分バックアップまたは増分バックアップで使用するバックアップ開始位置を管理するためのテーブル(バックアップ開始位置テーブル)である。
400はバックアップ開始位置テーブルの構造を示す。
401は差分バックアップにおけるバックアップ対象の開始位置を示すグループ番号(差分バックアップ開始グループ番号)である。
402は増分バックアップにおけるバックアップ対象の開始位置を示すグループ番号(増分バックアップ開始グループ番号)である。
差分バックアップ開始グループ番号401には、データ処理部3により、フルバックアップ直後における最後のグループ番号に1を加えた値が設定される。
増分バックアップ開始グループ番号402には、データ処理部3により、差分バックアップ、増分バックアップの直後における最後のグループ番号に1を加えた値が設定される。
FIG. 21 is a table (backup start position table) for managing the backup start position used by the
401 is a group number (differential backup start group number) indicating the start position of the backup target in the differential backup.
In the differential backup
In the incremental backup
図22は、データ管理装置1におけるバックアップ処理の動作を示すフローチャートである。
データ処理部3が端末装置2からバックアップ要求を入力した際にデータ管理装置1が実行するバックアップ処理について、図22に基づいて以下に説明する。
FIG. 22 is a flowchart showing the operation of the backup process in the
The backup process executed by the
まず、データ処理部3はバックアップの種類が指定されたバックアップ要求を端末装置2から受け取る。バックアップの種類には、範囲指定バックアップ、フルバックアップ、差分バックアップ、増分バックアップがある(ステップS500)。
次に、データ処理部3はアーカイブファイル300に設定する情報を要求するデータ管理命令を範囲管理制御部4に出力し、範囲管理制御部4は範囲管理テーブル5から取得した情報をデータ処理部3に出力する。このとき、範囲管理制御部4は、アーカイブファイル300のグループデータヘッダ情報313に設定する開始グループ番号305、グループ数306、更新領域内グループ数307と、範囲管理テーブル情報303に設定する情報と、アーカイブヘッダ情報301に設定する開始範囲ID、範囲数とに関する情報を範囲管理テーブル5から取得する(ステップS501)。
次に、データ処理部3は、アーカイブヘッダ情報301、データベース定義情報302、範囲管理テーブル情報303、グループデータヘッダ情報313を作成し、アーカイブファイル300に順番に書き出す。このとき、データ処理部3は、ステップS500で入力したバックアップ要求とステップS501で範囲管理制御部4から取得した範囲管理テーブル5の情報とに基づいてアーカイブヘッダ情報301を生成し、データベース作成時に定義された情報に基づいてデータベース定義情報302を生成し、ステップS501で範囲管理制御部4から取得した範囲管理テーブル5の情報に基づいて範囲管理テーブル情報303を生成する。また、データ処理部3は、ステップS501で範囲管理制御部4から取得した範囲管理テーブル5の情報に基づいてグループデータヘッダ情報313を生成する。データ処理部3は、グループデータヘッダ情報313のうち、個別グループ情報308a〜308dには予め定めた初期値を設定する。範囲管理テーブル情報303には、例えば、ロード状態18(グループ有無情報の一例)などが含まれる(ステップ502)。
First, the
Next, the
Next, the
次に、データ処理部3は、処理したグループの数をカウントするための変数であるカウンタNを0に初期化する(ステップS503)。
次に、データ処理部3はカウンタNがアーカイブファイル300のグループデータヘッダ情報313に設定したグループ数306より小さいかどうかを判定する(ステップS504)。
カウンタNがグループ数306より小さい場合、データ処理部3は、アーカイブファイル300のグループデータヘッダ情報313に設定した開始グループ番号305にカウンタNを加えた値をバックアップ対象グループの番号を示す変数であるグループ番号GNに設定する(ステップS505)。
次に、データ処理部3は、範囲管理テーブル情報303に含まれるロード状態18に基づいて、グループ番号GNが示すグループが空のグループでないか否かの判定を行う。このとき、データ処理部3はロード状態18がEMPTYである場合に当該グループが空であると判定する(ステップS506)。
グループ番号GNのグループが空であると判定した場合、データ処理部3はステップS509に処理を移す。
グループ番号GNのグループが空でないと判定した場合、データ処理部3はグループ番号GNに対応するグループを要求するデータ管理命令を範囲管理制御部4に出力し、範囲管理制御部4はデータ管理命令に対応するグループを要求するデータアクセス命令をデータアクセス制御部6に出力する。データアクセス制御部6はグループ番号GNのグループをデータ格納領域部7から読み出してバッファメモリ951に記憶する(ステップS507)。
次に、データ処理部3はバッファメモリ951に記憶されたグループ番号GNに対応するグループをアーカイブファイル300に追加で書き出す。また、データ処理部3はグループ番号GNに対応するグループが記憶されたバッファメモリ951の領域を開放する(ステップS508)。
また、データ処理部3はステップS502でアーカイブファイル300に出力したグループデータヘッダ情報313をグループ番号GNに対応するグループに関して更新する。具体的には、個別グループ情報であるアーカイブファイル300内でのオフセット309、グループのサイズ310、空のグループか否かを示すフラグ311を設定する(ステップS509)。
次に、データ処理部3はカウンタNに1を加える(ステップS510)。
データ管理装置1は以上の処理をカウンタNがグループ数306以上になるまで繰り返す。
ステップS504でカウンタNがグループ数306以上であると判定した場合、データ処理部3はバックアップ開始位置テーブル400を更新しバックアップ処理を終了する。バックアップ開始位置テーブル400を更新する際、データ処理部3は、フルバックアップの場合には、最後にアーカイブファイル300に追加したグループのグループ番号に1を加えた値(グループ番号GN+1)を差分バックアップ開始グループ番号401に設定する。また、データ処理部3は、差分バックアップまたは増分バックアップの場合には、最後にアーカイブファイル300に追加したグループのグループ番号に1を加えた値(グループ番号GN+1)を増分バックアップ開始グループ番号402に設定する(ステップS511)。
Next, the
Next, the
When the counter N is smaller than the number of
Next, the
If it is determined that the group with the group number GN is empty, the
If it is determined that the group with the group number GN is not empty, the
Next, the
In addition, the
Next, the
The
If it is determined in step S504 that the counter N is greater than or equal to the number of
図23は、ステップS501についてバックアップの種類に分けて動作の詳細を説明したフローチャートである。
まず、データ処理部3はバックアップ要求が示すバックアップの種類を判定する。範囲指定バックアップの要求にはバックアップする範囲を示す範囲IDが含まれる(ステップS600)。
範囲指定バックアップの場合、データ処理部3は、範囲管理制御部4が範囲管理テーブル5を検索して選択した範囲ID14がバックアップ要求に含まれる範囲IDと一致するエントリについて、開始グループ番号15とグループ数16とを取得する。ステップS502において、データ処理部3は、範囲管理テーブル5から取得した開始グループ番号15とグループ数16とを、アーカイブファイル300のグループデータヘッダ情報313の開始グループ番号305とグループ数306とに設定する(ステップS601)。
フルバックアップの場合、データ処理部3は、範囲管理テーブル5の情報に基づいて、全範囲を対象とする開始グループ番号とグループ数とを算出する。ここで算出する開始グループ番号は範囲管理テーブル5の全エントリにおける最小の開始グループ番号15であり、グループ数は全エントリのグループ数16の合計値である。ステップS502において、データ処理部3は算出した開始グループ番号とグループ数とをアーカイブファイル300のグループデータヘッダ情報313の開始グループ番号305とグループ数306とに設定する。データ処理部3は範囲管理テーブル5の情報を範囲管理制御部4を介して取得する(ステップS602)。
差分バックアップの場合、データ処理部3は、バックアップ開始位置テーブル400を参照して差分バックアップ開始グループ番号401を取得し、範囲管理テーブル5の情報に基づいて差分バックアップ開始グループ番号401以降のグループ数を算出する。ここで算出するグループ数は範囲管理テーブル5の全エントリにおける最大の開始グループ番号15に最大の開始グループ番号15を有する当該エントリのグループ数16を加算した値から差分バックアップ開始グループ番号401を減算した値に1加算した値である。ステップS502において、データ処理部3は、アーカイブファイル300に対して、差分バックアップ開始グループ番号401をグループデータヘッダ情報313の開始グループ番号305に設定し、算出したグループ数をグループデータヘッダ情報313のグループ数306に設定する。データ処理部3は範囲管理テーブル5の情報を範囲管理制御部4を介して取得する(ステップS603)。
増分バックアップの場合、データ処理部3は、バックアップ開始位置テーブル400を参照して増分バックアップ開始グループ番号402を取得し、範囲管理テーブル5に基づいて増分バックアップ開始グループ番号402以降のグループ数を算出する。ここで算出するグループ数は範囲管理テーブル5の全エントリにおける最大の開始グループ番号15に最大の開始グループ番号15を有する当該エントリのグループ数16を加算した値から増分バックアップ開始グループ番号402を減算した値に1加算した値である。ステップS502において、データ処理部3は、アーカイブファイル300に対して、増分バックアップ開始グループ番号402をグループデータヘッダ情報313の開始グループ番号305に設定し、算出したグループ数をグループデータヘッダ情報313のグループ数306に設定する。データ処理部3は範囲管理テーブル5の情報を範囲管理制御部4を介して取得する(ステップS604)。
FIG. 23 is a flowchart illustrating the details of the operation in step S501 for each type of backup.
First, the
In the case of range-designated backup, the
In the case of full backup, the
In the case of differential backup, the
In the case of incremental backup, the
ステップS601〜ステップS604の処理において、バックアップの種類に応じて取得または算出し、アーカイブファイル300のグループデータヘッダ情報313に設定する開始グループ番号とグループ数とに対して、データ処理部3は、開始グループ番号からグループ数分の各グループにおいて範囲管理テーブル5の確定状態17がCURRENTであるエントリが示す範囲に属するグループの数を算出し、算出したグループ数をS502でアーカイブファイル300のグループデータヘッダ情報313に設定する更新領域内グループ数307とする。また、データ処理部3は、バックアップの種類に応じて取得または算出した開始グループ番号とグループ数とに対応するグループが属する各範囲の範囲IDと範囲数とを範囲管理テーブルに基づいて算出する。ステップS502において、データ処理部3は算出した範囲IDと範囲数とをアーカイブファイル300のアーカイブヘッダ情報301の開始範囲IDと範囲数とに設定する。データ処理部3は範囲管理テーブル5の情報を範囲管理制御部4を介して取得する(ステップS605)。
In the processing of step S601 to step S604, the
次に、データ管理装置1におけるリストア処理の動作概要を説明する。
データ管理装置1は、端末装置2からのリストア要求に対して、バックアップ処理時に生成したアーカイブファイル300を入力として範囲管理制御部4およびデータアクセス制御部6を介してリストア処理を実行する。データ処理部3が入力したリストア要求に対応して、範囲管理制御部4は範囲管理テーブル5を更新し、データアクセス制御部6はリストア対象のグループをデータ格納領域部7に書き込む。
Next, an outline of restore processing operation in the
In response to the restore request from the
図24は、データ管理装置1におけるリストア処理の動作を示すフローチャートである。
データ処理部3が端末装置2からリストア要求を入力した際にデータ管理装置1が実行する範囲の削除処理について、図24に基づいて以下に説明する。
FIG. 24 is a flowchart showing the restore processing operation in the
A range deletion process executed by the
まず、データ処理部3はリストア要求を端末装置2から受け取る(ステップS700)。
次に、データ処理部3は、データ管理装置1の記憶機器からアーカイブファイル300を取得し、アーカイブヘッダ情報301に含まれるバックアップ種類に従い、リストア条件を満足しているか否かのチェックを行う。チェック条件は、例えば、範囲指定バックアップにより生成されたアーカイブファイル300をリストアする場合、リストア対象の範囲を示すエントリのロード状態18が図7の状態遷移図に従いEMPTYであること、アーカイブファイル300内のデータベース定義情報302と範囲管理テーブル情報303とが現在リストアしようとしているデータベースのデータベース定義情報と範囲管理テーブル情報303とに対して矛盾がないことなどである。なお、上書きモードでアーカイブファイル300のリストアをする場合、リストア対象の範囲を示すエントリのロード状態18がEMPTYである必要はない。データ処理部3は範囲管理制御部4を介して範囲管理テーブル5の情報を取得する(ステップS701)。
リストア条件を満足していないと判定した場合、データ処理部3はリストア処理を終了する。
リストア条件を満足していると判定した場合、データ処理部3は、アーカイブファイル300を参照して、グループ数306から更新領域内グループ数307を引いた値を変数である参照領域内グループ数RNに設定する(ステップS702)。
次に、データ処理部3は処理したグループの数をカウントするため変数であるカウンタNを0に初期化する(ステップS703)。
次に、データ処理部3はカウンタNがグループ数306より小さいかどうかを判定する(ステップS704)。
カウンタNがグループ数306より小さい場合、データ処理部3は、開始グループ番号305にカウンタNを加えた値を変数であるグループ番号GNに設定する(ステップS705)。
次に、データ処理部3は、アーカイブファイル300を参照して、グループ番号GNに対応する個別グループ情報のフラグ311が空を示すかの判断をする(ステップS706)。
当該フラグ311が空を示さないと判定した場合、データ処理部3は、グループ番号GNに対応するグループをアーカイブファイル300から読み出しバッファメモリ951に記憶する(ステップS707)。
当該フラグ311が空を示すと判定した場合、データ処理部3は、個別グループ情報のサイズ310を設定情報として持つ仮想的な空のグループを作成する(ステップS708)。
次に、データ処理部3はカウンタNが参照領域内グループ数RNより小さいか否かを判定する(ステップS709)。
カウンタNが参照領域内グループ数RNより小さい場合、データ処理部3は、リストア対象グループをデータ格納領域部7の参照領域9に書き出させるデータ管理命令を範囲管理制御部4に出力し、範囲管理制御部4はデータ管理命令に相当するデータアクセス命令をデータアクセス制御部6に出力し、データアクセス制御部6はバッファメモリ951に記憶されたグループを参照領域9に書き出す。また、データアクセス制御部6は参照領域9に書き出したグループが記憶されたバッファメモリ951の領域を開放する(ステップS710)。
カウンタNが参照領域内グループ数RN以上である場合、データ処理部3は、リストア対象グループをデータ格納領域部7の更新領域8に書き出させるデータ管理命令を範囲管理制御部4に出力し、範囲管理制御部4はデータ管理命令にデータアクセス命令をデータアクセス制御部6に出力し、データアクセス制御部6はバッファメモリ951に記憶されたグループを更新領域8に書き出す。また、データアクセス制御部6は更新領域8に書き出したグループが記憶されたバッファメモリ951の領域を開放する(ステップS711)。
次に、データ処理部3はカウンタNに1を加えてステップS704に処理を移す。
ステップS704において、カウンタNがグループ数306以上であると判定した場合、データ処理部3は範囲管理テーブル5のリストアを命令するデータ管理命令を範囲管理制御部4に出力し、範囲管理制御部4は範囲管理テーブル5を更新し、データ管理装置1はリストア処理を終了する(ステップS713)。
First, the
Next, the
If it is determined that the restore condition is not satisfied, the
When it is determined that the restoration condition is satisfied, the
Next, the
Next, the
When the counter N is smaller than the
Next, the
If it is determined that the
If it is determined that the
Next, the
When the counter N is smaller than the reference area group number RN, the
If the counter N is equal to or greater than the number RN in the reference area, the
Next, the
If it is determined in step S704 that the counter N is greater than or equal to the number of
図25は、ステップS713における範囲管理テーブル5の更新の動作を示したフローチャートである。
まず、データ処理部3はアーカイブファイル300のアーカイブヘッダ情報301のバックアップ種類を参照し、範囲指定バックアップのリストアか否かを判定する(ステップS800)。
範囲指定バックアップのリストアである場合、データ処理部3は範囲管理テーブル5の1範囲のリストアを命令するデータ管理命令を範囲管理制御部4に出力する。範囲管理制御部4は範囲管理テーブル5においてリストア対象の範囲のエントリのロード状態18を、図7の状態遷移図に従って、LOADEDに変更する(ステップS801)。
範囲指定バックアップのリストアでない場合、データ処理部3は範囲管理テーブル5の全範囲のリストアを命令するデータ管理命令を範囲管理制御部4に出力し、範囲管理制御部4はアーカイブファイル300の範囲管理テーブル情報303で範囲管理テーブル5の情報を置き換える(ステップS802)。
FIG. 25 is a flowchart showing the operation of updating the range management table 5 in step S713.
First, the
In the case of restoring a range-designated backup, the
If it is not the restoration of the range designation backup, the
実施の形態におけるバッファメモリはバッファメモリより高速なキャッシュメモリであってもよい。
データベースに代表されるデータ管理装置1ではデータアクセスの高速化が望まれる。そこで、実施の形態におけるデータ管理装置1は、バッファメモリ(またはキャッシュメモリ)を介してCPU911と磁気ディスク装置920との間で個別のデータ(行)を入出力しデータアクセスの効率を向上することでデータアクセスを高速化している。また、行をバッファサイズ(またはキャッシュサイズ)でまとめたデータ(グループ)を単位として管理しグループ単位で行をアクセスしているため、バッファサイズ(またはキャッシュサイズ)に適合するサイズ分の行を入出力することが容易であり、データアクセスの効率をさらに向上している。また、データ管理装置1はグループを任意にまとめたデータ(範囲)を記憶領域(参照領域9または更新領域8)の連続する領域に記憶することで、連続するグループにアクセスする際に磁気ディスク装置920がヘッダおよび磁気ディスクを移動するデータアクセス時間を短縮ている。
このため、実施の形態におけるデータ管理装置1は、追記型のデータベースとして特に有用であり、例えば、時・日・週・月などの時間単位を範囲とすることで任意の時間単位に発生したデータを高速に処理することができる。
The buffer memory in the embodiment may be a cache memory that is faster than the buffer memory.
In the
Therefore, the
上記のように実施の形態1では、複数の行をまとめたグループを単位にデータ格納領域部7にデータを連続的に配置して格納する方法を採っている。入出力単位がグループ単位であること、アクセスするグループが連続的に配置されていることから高速なデータアクセスが可能となる。
また、範囲管理テーブル5に範囲ごとのキー情報(最小値、最大値)を持つことが可能であり、検索においてこのキー情報を利用してデータを読み出す前にアクセス対象の範囲のデータを絞り込むことができ、効率的なデータアクセスが可能となる。
また、範囲管理テーブル5にロード状態18を持ち、空の範囲を検索対象から除外することができ、効率的なデータアクセスが可能となる。
また、データロードにおいては、データの追加が許可された更新領域8に対してグループ単位で連続的に追加していくだけでよく、索引も持たないため、高速なロードが可能である。
また、範囲の追加は、定められた時間単位でなく、ユーザによって任意の時点で可能である。
また、範囲管理テーブル5によりデータ格納領域部7に配置された連続した領域として範囲を管理しているため、一括した処理が可能で範囲の削除に時間がかからない。
また、バックアップにおいては、範囲指定のバックアップの実現に加え、範囲管理テーブル5のロード状態18を参照して空の範囲に対するバックアップ処理をスキップすることで読み出し範囲を限定できるために効率的にバックアップを行うことが可能である。
また、リストアにおいては、範囲指定のリストアの実現に加え、アーカイブファイル300に含まれる範囲管理テーブル5から削除された範囲も削除されたものとして忠実に復元することが可能である。
As described above, the first embodiment employs a method in which data is continuously arranged and stored in the data
Further, it is possible to have key information (minimum value, maximum value) for each range in the range management table 5, and use this key information in the search to narrow down the data in the access target range before reading the data. And efficient data access becomes possible.
In addition, the range management table 5 has a
In addition, in the data load, it is only necessary to continuously add data in increments of groups to the
Further, the range can be added at an arbitrary time by the user instead of a predetermined time unit.
Further, since the range is managed as a continuous area arranged in the data
In addition, in the backup, in addition to the realization of the range-designated backup, the read range can be limited by skipping the backup process for the empty range with reference to the
Further, in the restoration, in addition to the realization of the range-specified restoration, it is possible to faithfully restore the range deleted from the range management table 5 included in the
上記実施の形態1において以下のようなデータ管理装置1について説明した。
データベースのデータ格納領域として、データの追加を許可する更新領域とデータの参照だけを許可する参照領域をもち、更新領域のデータは参照領域に追加され、参照領域へ追加されたデータは更新領域から削除されるデータ格納手段(データ格納領域部7)を備えたデータ管理装置1。
In the first embodiment, the following
As the database data storage area, there is an update area that allows data addition and a reference area that allows only data reference. The data in the update area is added to the reference area, and the data added to the reference area is from the update area. A
複数の行(レコード)を対象に所定のデータ処理を行うデータ処理手段(データ処理部3)と、前記データ処理の結果複数の行をまとめたグループを単位としてデータ格納領域上の範囲を管理する範囲管理テーブルを備え、データ格納領域に順番に追加される前記範囲を管理・制御する範囲管理制御手段(範囲管理制御部4)と、前記グループを格納するデータ格納領域上の前記グループへのアクセスを制御するデータアクセス制御手段(データアクセス制御部6)とを備えたデータ管理装置1。
Data processing means (data processing unit 3) for performing predetermined data processing on a plurality of rows (records), and managing a range on the data storage area in units of a group of a plurality of rows as a result of the data processing A range management control means (range management control unit 4) that includes a range management table and manages and controls the ranges that are sequentially added to the data storage area, and access to the group on the data storage area that stores the group A
前記範囲管理制御手段は、前記グループの追加が許可された現在の前記範囲の状態(CURRENT)と前記グループの追加が許可されない確定した前記範囲の状態(FIXED)のいずれかの前記範囲の状態(確定状態17)を前記範囲管理テーブルに保持し、前記範囲を管理することを特徴とするデータ管理装置1。
The range management control means is configured to select either the current state of the range (CURRENT) in which the addition of the group is permitted or the state of the range (FIXED) in which the addition of the group is not permitted (FIXED). The
前記範囲管理制御手段は、前記範囲の状態を現在の前記範囲の状態から確定した前記範囲の状態に変更するとき、前記更新領域に格納されている前記グループを前記参照領域に移動させることを特徴とするデータ管理装置1。
The range management control means moves the group stored in the update area to the reference area when changing the state of the range from the current state of the range to the state of the determined range. A
前記範囲管理制御手段は、前記範囲の状態を前記現在の範囲の状態から前記確定した範囲の状態に変更するとき、前記更新領域に格納されている複数の前記グループを所定の条件(例えば、バッファサイズ)に従って併合して前記参照領域に移動させることを特徴とするデータ管理装置1。
When the range management control unit changes the state of the range from the state of the current range to the state of the determined range, the plurality of groups stored in the update area are set to a predetermined condition (for example, a buffer The
前記範囲管理制御手段は、前記グループが追加されたことを示すロード済みの前記範囲の状態と前記グループが追加されていない空の前記範囲の状態のいずれかの前記範囲の状態を前記範囲管理テーブルに保持し、前記グループの追加において前記現在の範囲の状態を前記ロード済みの範囲の状態に設定することを特徴とする請求項1乃至4のいずれか1つのデータ管理装置。
The range management control means sets the range status to either the status of the loaded range indicating that the group has been added or the status of an empty range to which the group has not been added. The data management device according to
前記範囲管理制御手段は、前記グループが追加されたことを示すロード済みの前記範囲の状態(LOADED)と前記グループが追加されていない空の前記範囲の状態(EMPTY)のいずれかの前記範囲の状態(ロード状態18)を前記範囲管理テーブルに保持し、前記範囲の削除において前記空の範囲の状態に設定することを特徴とするデータ管理装置1。
The range management control means is configured to select one of the range state (LOADED) indicating that the group has been added and an empty range state (EMPTY) to which the group has not been added. The
前記範囲管理制御手段は、前記グループが追加されたことを示すロード済みの前記範囲の状態と前記グループが追加されていない空の前記範囲の状態のいずれかの前記範囲の状態、および前記範囲に含まれる行に関連づく所定のキーの範囲情報(最小行番号21、最大行番号22、最小タイムスタンプ23、最大タイムスタンプ24)を前記範囲管理テーブルに保持し、検索においてデータ処理手段は前記空の範囲あるいは検索条件が前記キーの範囲情報との比較で偽となる範囲の前記グループを検索対象から外して検索処理を行うことを特徴とするデータ管理装置1。
The range management control means includes the range state of the loaded range indicating that the group has been added and the range state of the empty range to which the group has not been added, and the range state. Predetermined key range information (
前記範囲管理制御手段は、前記グループが追加されたことを示すロード済みの前記範囲の状態と前記グループが追加されていない空の前記範囲の状態のいずれかの前記範囲の状態を前記範囲管理テーブルに保持し、前記データ処理手段は前記範囲を指定したバックアップを行うことを特徴とするデータ管理装置1。 The range management control means sets the range status to either the status of the loaded range indicating that the group has been added or the status of an empty range to which the group has not been added. And the data processing means performs a backup designating the range.
前記範囲を指定したバックアップのリストアにおいて、バックアップ時と同じ前記範囲の情報をもつ場合に限りリストアを実行することを特徴とするデータ管理装置1。
The
前記範囲管理制御手段は、前記グループが追加されたことを示すロード済みの前記範囲の状態と前記グループが追加されていない空の前記範囲の状態のいずれかの前記範囲の状態を前記範囲管理テーブルに保持し、バックアップにおいて前記データ処理手段は前記空の範囲の情報を保持したアーカイブファイルを生成することを特徴とするデータ管理装置1。 The range management control means sets the range status to either the status of the loaded range indicating that the group has been added or the status of an empty range to which the group has not been added. And the data processing means generates an archive file that holds the information in the empty range during backup.
バックアップのリストアにおいて、前記データ処理手段は前記空の範囲の情報を復元することを特徴とするデータ管理装置1。 In backup restoration, the data processing means restores the information in the empty range.
前記範囲管理テーブルは、現在の前記範囲の状態から確定した前記範囲の状態に変更するときの時刻の情報(確定時刻19)を保持し、前記データ処理手段、前記範囲管理制御手段を実行することを特徴とするデータ管理装置1。
The range management table retains time information (determined time 19) when changing from the current state of the range to the state of the fixed range, and executes the data processing means and the range management control means. A
前記範囲管理テーブルは、前記範囲に対して前記グループが追加された最終追加時刻の情報(エントリ最終書込み時刻20)を保持し、前記データ処理手段、前記範囲管理制御手段を実行することを特徴とするデータ管理装置1。
The range management table holds information on the last addition time (entry last write time 20) when the group was added to the range, and executes the data processing unit and the range management control unit.
前記範囲管理テーブルは、前記範囲に含まれる行の最小行番号と最大行番号の情報を保持し、前記データ処理手段、前記範囲管理制御手段により検索を実行することを特徴とするデータ管理装置1。 The range management table holds information on the minimum row number and the maximum row number of rows included in the range, and performs a search by the data processing means and the range management control means. .
前記範囲管理テーブルは、前記範囲に含まれる行の最小タイムスタンプと最大タイムスタンプの情報を保持し、前記データ処理手段、前記範囲管理制御手段により検索を実行することを特徴とするデータ管理装置1。 The range management table holds information on the minimum time stamp and the maximum time stamp of the rows included in the range, and performs a search by the data processing means and the range management control means. .
実施の形態2.
上記実施の形態1によるデータ管理装置1は、データ格納領域部7の更新領域8にあるグループを参照領域9に移動することで範囲の追加を行うものであった。
これに対して実施の形態2では、更新領域8にあるグループをマージ処理して生成した新しいグループを参照領域9に移動することを特徴とするデータ管理装置1について説明する。
The
On the other hand, in the second embodiment, a
図26は、グループのマージ処理を示す概念図である。
図26は、データ処理部3が実行するグループのマージ処理により、グループ100a〜100cが新たなグループ1000aに、グループ100d〜100gが新たなグループ1000bになることを示す。
マージ対象とするグループについて、グループのマージ条件をデータ管理装置1の記憶機器にあらかじめ保持し任意に設定できるものとする。なお、以降の説明において、グループをマージ後の新たなグループをマージグループと呼ぶことにする。
FIG. 26 is a conceptual diagram illustrating group merging processing.
FIG. 26 shows that the
Assume that a group merge condition is set in advance in the storage device of the
実施の形態2によるデータ管理システム900の構成図および範囲管理テーブル5の例を示す図は、上記実施の形態1と同様とする(図3、図6)。但し、実施の形態2におけるデータ管理装置1はバッファメモリ951と同じバッファサイズを持つマージ用のバッファメモリを備える。
The configuration diagram of the
図27は、実施の形態2による範囲の追加処理における動作を示すフローチャートである。
実施の形態2によるデータ管理装置1における範囲の追加処理の動作について、図27に基づいて以下に説明する。
FIG. 27 is a flowchart illustrating an operation in the range addition process according to the second embodiment.
The operation of range addition processing in the
データ処理部3は、端末装置2から範囲の追加要求を入力した際、現在の範囲のグループ特定情報を要求するデータ管理命令を範囲管理制御部4に出力する。範囲管理制御部4は、確定状態17がCURRENTである現在の範囲のエントリを範囲管理テーブル5において検索して選択し、選択したエントリの開始グループ番号15とグループ数16とを取得してデータ処理部3に出力する(ステップS900)。
次に、データ処理部3は処理したグループの数をカウントする変数であるカウンタNを0に初期化する(ステップS901)。
次に、データ処理部3はマージしたグループの数をカウントする変数であるカウンタMを0に初期化する(ステップS902)。
次に、データ処理部3はカウンタNが範囲管理制御部4から入力したグループ数16より小さいかどうかを判定する(ステップS903)。
カウンタNがグループ数16より小さい場合、データ処理部3は範囲管理制御部4から入力した開始グループ番号15にカウンタNを加えたグループ番号に対応するグループを要求するデータ管理命令を範囲管理制御部4に出力する。範囲管理制御部4はデータ管理命令に相当するデータアクセス命令をデータアクセス制御部6に出力する。データアクセス制御部6はデータアクセス命令に対応する当該グループをデータ格納領域部7の更新領域8から読み出しバッファメモリ951に記憶する(ステップS904)。
次に、データ処理部3は、参照領域9に書き出していないマージグループがある場合、そのマージグループにバッファメモリ951に記憶されたグループをマージして新たなマージグループとする。このとき、データ処理部3はマージグループをマージ用のバッファメモリに記憶する。また、データ処理部3はマージしたグループが記憶されたバッファメモリ951の領域を開放する(ステップS905)。
次に、データ処理部3はカウンタNに1を加える(ステップS906)。
次に、データ処理部3はマージグループがマージ完了条件を満たしているか否かの判定を行う。マージ完了条件は、マージ対象の最大グループ数やマージグループの最大サイズなど任意の条件を予め設定することが可能である。マージグループのサイズがバッファメモリ951に適合するとよい(ステップS907)。
マージ完了条件を満たしていないと判定した場合、データ処理部3はステップS903に処理を移す。
マージ完了条件を満たしていると判定した場合、データ処理部3はマージグループをデータ格納領域部7の参照領域9に書き出させるデータ管理命令を範囲管理制御部4に出力する。範囲管理制御部4はデータ管理命令に相当するデータアクセス命令をデータアクセス制御部6に出力し、データアクセス制御部6はマージ用バッファメモリに記憶されたマージグループを参照領域9に書き出す。また、データアクセス制御部6は参照領域9に書き出したグループが記憶されたマージ用バッファメモリの領域を開放する(ステップS908)。
次に、データ処理部3はカウンタMに1を加えてステップS903に処理を移す(ステップ909)。
データ管理装置1は以上の処理をカウンタNがグループ数16以上になるまで繰り返す。
ステップS903でカウンタNがグループ数16以上であると判定した場合、データ処理部3はマージグループの書き残しがあるかの判定を行う(ステップS910)。
マージグループの書き残しがあると判定した場合、データ処理部3はステップS908およびステップ909と同様にしてマージグループを参照領域9に書き出し(ステップS911)、カウンタMに1を加算する(ステップS912)。
マージグループの書き残しがないと判定した場合、データ処理部3はステップS913に処理を移す。
次に、データ処理部3は更新領域8にあるグループの削除を命令するデータ管理命令を範囲管理制御部4に出力し、範囲管理制御部4はデータ管理命令に相当するデータアクセス命令をデータアクセス制御部6に出力し、データアクセス制御部6は更新領域8に記憶されているグループを削除する(ステップS913)。
以上により、更新領域8にあるグループをマージして参照領域9へ移動したことになる。
When the
Next, the
Next, the
Next, the
When the counter N is smaller than 16, the
Next, when there is a merge group that has not been written in the
Next, the
Next, the
If it is determined that the merge completion condition is not satisfied, the
If it is determined that the merge completion condition is satisfied, the
Next, the
The
If it is determined in step S903 that the counter N is equal to or greater than 16 groups, the
If it is determined that there is an unwritten merge group, the
If it is determined that there is no unwritten merge group, the
Next, the
As described above, the groups in the
最後に、データ処理部3はマージグループ数がカウンタMである場合のマージ後の範囲管理テーブル5の更新を命令するデータ管理命令を範囲管理制御部4に出力し、範囲管理制御部4は範囲管理テーブル5の更新を行う。このとき、範囲管理制御部4は、確定状態17がCURRENTであるエントリを検索して範囲管理テーブル5から選択する。範囲管理制御部4は選択したエントリのグループ数16にマージグループの数であるカウンタMを設定し、確定状態17をCURRENTからFIXEDに変更し、確定時刻19には現在の時刻を設定する。また、範囲管理制御部4は、新たな範囲のエントリを追加し、範囲ID14に一つ前のエントリの範囲IDに1を加えた値を設定し、開始グループ番号15に1つ前のエントリの開始グループ番号15とグループ数16とを足した値を設定し、グループ数16に0を設定し、確定状態17にCURRENTを設定し、ロード状態18にEMPTYを設定し、エントリ最終書込み時刻20は現在の時刻を設定し、エントリのその他の項目にナル値を設定する。さらに、範囲管理制御部4はテーブル最終書込み時刻11に現在の時刻を設定し、範囲数12に1を加えた値を設定する(ステップS914)。
Finally, the
なお、前記グループのマージ処理は、範囲の追加処理の実行時だけでなく、行の追加(ロード)の途中で更新領域8にあるグループが所定のサイズ(例えば、バッファサイズ)あるいは件数を越えたときに実施してもよい。
The group merging process is performed not only when the range addition process is executed, but also when the group in the
実施の形態2では、範囲の追加の際に更新領域8にあるグループを参照領域9に移動する際に、更新領域8のグループをマージして新たなグループを生成する点が実施の形態1とは異なる。
これにより、行のロード頻度が低く更新領域8に追加されるグループのサイズが小さくなってアクセス効率を低下させる場合においても、前記マージ処理により入出力効率を向上するのに適切なグループのサイズ(例えば、バッファサイズ)に保つことができ、アクセス効率を向上させることが可能となる。
The second embodiment is different from the first embodiment in that a group in the
Thus, even when the row loading frequency is low and the size of the group added to the
上記実施の形態2において以下のようなデータ管理装置1について説明した。
範囲管理制御手段(範囲管理制御部4)は、範囲の追加において現在の範囲(CURRENT)の状態から確定した範囲の状態(FIXED)に範囲の状態(確定状態17)を変更し、新たに追加した範囲を現在の範囲に設定し、現在の範囲を常に1つだけ持つことを特徴とするデータ管理装置1。
The following
The range management control means (range management control unit 4) changes the range state (fixed state 17) from the current range (CURRENT) state to the fixed range state (FIXED) and adds a new range The
1 データ管理装置、2 端末装置、3 データ処理部、4 範囲管理制御部、5 範囲管理テーブル、6 データアクセス制御部、7 データ格納領域部、8 更新領域、9 参照領域、10 生成日付、11 テーブル最終書込み時刻、12 範囲数、13 範囲のキー数、14 範囲ID、15 開始グループ番号、16 グループ数、17 確定状態、18 ロード状態、19 確定時刻、20 最終書込み時刻、21 最小行番号、22 最大行番号、23 最小タイムスタンプ、24 最大タイムスタンプ、30 データベース、30a,30b,30c,30d 範囲、100 グループ、101 行、102a 行番号、102b タイムスタンプ、102c カラー、200 検索問い合わせ文、300 アーカイブファイル、301 アーカイブヘッダ情報、302 データベース定義情報、303 範囲管理テーブル情報、304 グループデータ情報、305 開始グループ番号、306 グループ数、307 更新領域内グループ数、308 個別グループ情報、309 オフセット、310 サイズ、311 フラグ、312 グループ、400 バックアップ開始位置テーブル、401 差分バックアップ開始グループ番号、402 増分バックアップ開始グループ番号、900 データ管理システム、901 表示装置、902 K/B、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 FAX機、940 インターネット、941 ウェブサーバ、942 LAN、951 バッファメモリ、1000 グループ。 1 data management device, 2 terminal device, 3 data processing unit, 4 range management control unit, 5 range management table, 6 data access control unit, 7 data storage area unit, 8 update area, 9 reference area, 10 generation date, 11 Table last write time, 12 Range number, 13 Range key number, 14 Range ID, 15 Start group number, 16 Group number, 17 Final state, 18 Load state, 19 Final time, 20 Final write time, 21 Minimum row number, 22 Maximum line number, 23 Minimum time stamp, 24 Maximum time stamp, 30 Database, 30a, 30b, 30c, 30d Range, 100 group, 101 line, 102a Line number, 102b Time stamp, 102c Color, 200 Search query, 300 Archive file 301 Archive Header information, 302 Database definition information, 303 Range management table information, 304 Group data information, 305 Start group number, 306 Number of groups, 307 Number of groups in the update area, 308 Individual group information, 309 Offset, 310 size, 311 flag, 312 Group, 400 Backup start position table, 401 Differential backup start group number, 402 Incremental backup start group number, 900 Data management system, 901 Display device, 902 K / B, 903 Mouse, 904 FDD, 905 CDD, 906 Printer device, 907 Scanner device, 910 system unit, 911 CPU, 912 bus, 913 ROM, 914 RAM, 915 communication board, 920 magnetic disk device, 9 1 OS, 922 Window system, 923 Program group, 924 File group, 931 telephone, 932 FAX machine, 940 Internet, 941 web server, 942 LAN, 951 buffer memory, 1000 a group.
Claims (16)
グループを記憶するための記憶領域の範囲として複数の範囲を有する第1の記憶機器と、
前記第1の記憶機器が有する記憶領域の範囲毎に、当該範囲に記憶された複数のグループを特定するグループ特定情報と、当該範囲に記憶されたグループに含まれる複数の任意データを特定する任意データ特定情報と、グループが記憶されていない範囲を空範囲として特定するグループ有無情報とを含む範囲エントリを記憶する第2の記憶機器と、
任意データの値の検索条件と前記任意データ特定情報の検索条件とを含んだ検索要求データが入力される入力機器と、
前記検索要求データに含まれる任意データ特定情報の検索条件に合う範囲エントリであり且つグループ有無情報が空範囲でないことを示す範囲エントリを検索して選択する範囲管理制御部と、
前記範囲管理制御部が選択した範囲エントリのグループ特定情報が示すグループを前記第1の記憶機器から取得し、取得したグループを前記バッファメモリに記憶する入出力制御部と、
前記バッファメモリに記憶されたグループから前記検索要求データに含まれる任意データの値の検索条件に合う任意データを検索して出力するデータ処理部と
を備えたことを特徴とするデータ管理装置。 A buffer memory in which a plurality of arbitrary data is stored as a group ;
A first storage device having a plurality of ranges as storage area ranges for storing groups;
For each range of the storage area of the first storage device, group specifying information for specifying a plurality of groups stored in the range, and an option for specifying a plurality of arbitrary data included in the group stored in the range A second storage device that stores a range entry including data specifying information and group presence / absence information that specifies a range in which no group is stored as an empty range ;
An input device to which search request data including a search condition for a value of arbitrary data and a search condition for the arbitrary data specifying information is input;
A range management control unit that searches and selects a range entry that matches a search condition of arbitrary data specifying information included in the search request data and indicates that the group presence / absence information is not an empty range;
An input / output control unit that acquires the group indicated by the group specifying information of the range entry selected by the range management control unit from the first storage device, and stores the acquired group in the buffer memory;
A data processing unit that searches for and outputs arbitrary data that meets a search condition for a value of the arbitrary data included in the search request data from the group stored in the buffer memory. Management device.
グループを記憶するための記憶領域の範囲として複数の範囲を有する第1の記憶機器と、
前記第1の記憶機器が有する記憶領域の範囲毎に、当該範囲に記憶された複数のグループを特定するグループ特定情報と、当該範囲に記憶されたグループに含まれる複数の任意データを特定する任意データ特定情報と、グループを追加中の処理中範囲とグループの追加が終了した確定範囲とを特定する追加可否情報とを含む範囲エントリを記憶する第2の記憶機器と、
任意データが入力される入力機器と、
前記入力機器に入力された任意データを含む新たなグループを前記バッファメモリに生成するデータ処理部と、
前記データ処理部が新たなグループを生成した際、前記追加可否情報に基づいて処理中範囲の範囲エントリを検索して選択し、処理中範囲の範囲エントリのグループ特定情報を処理中範囲に記憶されているグループと前記新たなグループとを特定する情報に更新すると共に処理中範囲の範囲エントリの任意データ特定情報を処理中範囲に記憶されているグループに含まれる任意データと前記新たなグループに含まれる任意データとを特定する情報に更新する範囲管理制御部と、
前記バッファメモリから前記新たなグループを取得し、取得した前記新たなグループを処理中範囲の記憶領域であって処理中範囲に記憶されているグループと連続する記憶領域に記憶する入出力制御部と
を備えたことを特徴とするデータ管理装置。 A buffer memory in which a plurality of arbitrary data is stored as a group ;
A first storage device having a plurality of ranges as storage area ranges for storing groups;
For each range of the storage area of the first storage device, group specifying information for specifying a plurality of groups stored in the range, and an option for specifying a plurality of arbitrary data included in the group stored in the range A second storage device for storing a range entry including data specifying information, an adding range information for specifying a processing range in which a group is being added, and a confirmed range in which a group has been added ;
An input device to which arbitrary data is input;
A data processing unit that generates a new group in the buffer memory including arbitrary data input to the input device;
When the data processing unit generates a new group, it searches for and selects a range entry in the processing range based on the addability information, and group identification information of the range entry in the processing range is stored in the processing range. Update the information to identify the group and the new group, and include the arbitrary data specifying information of the range entry of the processing range in the arbitrary data included in the group stored in the processing range and the new group A range management control unit that updates information to identify arbitrary data to be
An input / output control unit that acquires the new group from the buffer memory and stores the acquired new group in a storage area that is a storage area in the processing range and that is continuous with the group that is stored in the processing range; <br/> A data management device characterized by comprising:
前記範囲管理制御部は、前記データ処理部が新たなグループを生成した際、前記追加可否情報に基づいて処理中範囲の範囲エントリを検索して選択し、処理中範囲の範囲エントリに空範囲でないことを示すグループ有無情報を設定する
ことを特徴とする請求項2記載のデータ管理装置。 The second storage device includes group presence / absence information that specifies a range in which no group is stored as an empty range , and stores the range entry information in the range entry,
When the data processing unit generates a new group, the range management control unit searches for and selects a range entry in the processing range based on the addability information, and the range entry in the processing range is not an empty range. 3. The data management apparatus according to claim 2, wherein group presence / absence information is set.
前記範囲管理制御部は前記データ処理部が新たなグループを生成した際の時刻を処理中範囲の範囲エントリの最終追加時刻に設定する
ことを特徴とする請求項2〜請求項3いずれかに記載のデータ管理装置。 The second storage device stores the last addition time when the group was last added to the range, in the range entry,
The scope management control unit according to any one of claims 2 to 3, characterized in that to set the final additional time ranging entry process in the range of time during which the data processing unit has generated a new group Data management device.
グループを追加して記憶するための記憶領域の範囲として1つの処理中範囲を有する更新領域と、グループを記憶するための記憶領域の範囲であってグループを追加して記憶しない記憶領域の範囲を確定範囲として複数有する参照領域とを有する第1の記憶機器と、
前記第1の記憶機器が有する記憶領域の範囲毎に、当該範囲が処理中範囲と確定範囲とのいずれの範囲であるかを特定する追加可否情報とを含む範囲エントリを記憶する第2の記憶機器と、
範囲の追加を要求する範囲追加要求データが入力される入力機器と、
前記入力機器に範囲追加要求データが入力された際、前記追加可否情報に基づいて処理中範囲の範囲エントリを検索して選択し、選択した範囲エントリの追加可否情報を確定範囲に変更し、処理中範囲を示す追加可否情報を設定した範囲エントリを新たに追加して前記第2の記憶機器に記憶する範囲管理制御部と、
前記入力機器に範囲追加要求データが入力された際、前記更新領域の処理中範囲に記憶されているグループを前記バッファメモリに記憶し、前記バッファメモリに記憶したグループを前記参照領域の確定範囲のうちグループが記憶されていない確定範囲に記憶し、前記更新領域に記憶されているグループを削除する入出力制御部と
を備えたことを特徴とするデータ管理装置。 A buffer memory in which a plurality of arbitrary data is stored as a group ;
An update area having one in-process range as a storage area range for adding and storing a group, and a storage area range for storing the group and not storing the additional group A first storage device having a plurality of reference areas as a fixed range;
Second storage for storing a range entry including additional availability information for specifying whether the range is a processing range or a fixed range for each range of the storage area of the first storage device Equipment,
An input device to which range addition request data for requesting addition of a range is input;
When range addition request data is input to the input device, the range entry in the processing range is searched and selected based on the addition availability information, the addition availability information of the selected range entry is changed to a fixed range, and processing is performed. A range management control unit that newly adds a range entry in which addition permission information indicating a middle range is set and stores the range entry in the second storage device;
When the range addition request data is input to the input device, the group stored in the in-process range of the update area is stored in the buffer memory, and the group stored in the buffer memory is stored in the fixed range of the reference area. A data management apparatus comprising: an input / output control unit that stores in a fixed range in which no group is stored, and deletes the group stored in the update area .
前記入力機器に範囲追加要求データが入力された際、前記更新領域に記憶された複数のグループをマージして1つのグループを生成するデータ処理部を備え、
前記入出力制御部は前記データ処理部が生成したグループを前記参照領域に追加記憶する
ことを特徴とする請求項5記載のデータ管理装置。 The data management device further includes:
When a range addition request data is input to the input device, a data processing unit that merges a plurality of groups stored in the update area to generate one group,
6. The data management apparatus according to claim 5, wherein the input / output control unit additionally stores the group generated by the data processing unit in the reference area.
前記範囲管理制御部は、前記入力機器に範囲追加要求データが入力された際の時刻を処理中範囲の範囲エントリの確定範囲時刻に設定する
ことを特徴とする請求項5〜請求項6いずれかに記載のデータ管理装置。 The second storage device stores the range entry including the fixed range time when the range becomes the fixed range,
The scope management control unit, either one of claims 5 to claim 6, characterized in that the setting confirmation range time range entry process in the range of time when the ranging addition request data to the input device is input The data management device described in 1.
グループを記憶するための記憶領域の範囲として複数の範囲を有する第1の記憶機器と、
前記第1の記憶機器が有する記憶領域の範囲毎に、当該範囲を識別する範囲識別情報と、グループが記憶されていない範囲を空範囲として特定するグループ有無情報とを含む範囲エントリを記憶する第2の記憶機器と、
削除する範囲を識別する識別情報を含む範囲削除要求データが入力される入力機器と、
前記入力機器に入力された範囲削除要求データに含まれる識別情報と一致する範囲識別情報を含んだ範囲エントリを検索して選択し、選択した範囲エントリに空範囲を示すグループ有無情報を設定する範囲管理制御部と
を備えたことを特徴とするデータ管理装置。 A buffer memory in which a plurality of arbitrary data is stored as a group ;
A first storage device having a plurality of ranges as storage area ranges for storing groups;
For each range of the storage area of the first storage device, a range entry including range identification information for identifying the range and group presence / absence information for specifying a range in which no group is stored as an empty range is stored. Two storage devices;
An input device to which range deletion request data including identification information for identifying a range to be deleted is input;
Range for searching for and selecting a range entry including range identification information that matches the identification information included in the range deletion request data input to the input device, and setting group presence / absence information indicating an empty range in the selected range entry data management apparatus comprising the <br/> a management control unit.
グループを記憶するための記憶領域の範囲として複数の範囲を有する第1の記憶機器と、
前記第1の記憶機器が有する記憶領域の範囲毎に、当該範囲に記憶された複数のグループを特定するグループ特定情報と、当該範囲を識別する範囲識別情報とを含む範囲エントリを範囲毎に記憶する第2の記憶機器と、
第3の記憶機器と、
バックアップする範囲を識別する識別情報を含むバックアップ要求データが入力される入力機器と、
前記入力機器に入力されたバックアップ要求データに含まれる識別情報と一致する範囲識別情報を含んだ範囲エントリを検索して選択する範囲管理制御部と、
前記範囲管理制御部が選択した範囲エントリのグループ特定情報が示すグループを前記第1の記憶機器から取得し、取得したグループを前記バッファメモリに記憶する入出力制御部と、
前記バッファメモリに記憶されたグループを含むバックアップファイルを生成し、生成したバックアップファイルを前記第3の記憶機器に記憶するデータ処理部と
を備えたことを特徴とするデータ管理装置。 A buffer memory for storing a plurality of arbitrary data as a group ;
A first storage device having a plurality of ranges as storage area ranges for storing groups;
For each range of the storage area of the first storage device, a range entry including group specifying information for specifying a plurality of groups stored in the range and range identification information for identifying the range is stored for each range. A second storage device,
A third storage device;
An input device to which backup request data including identification information for identifying a range to be backed up is input;
A range management control unit that searches and selects a range entry including range identification information that matches the identification information included in the backup request data input to the input device;
An input / output control unit that acquires the group indicated by the group specifying information of the range entry selected by the range management control unit from the first storage device, and stores the acquired group in the buffer memory;
A data management apparatus comprising: a data processing unit that generates a backup file including a group stored in the buffer memory and stores the generated backup file in the third storage device.
前記データ処理部は前記範囲管理制御部が選択した範囲エントリのグループ有無情報を含めて前記バックアップファイルを生成する
ことを特徴とする請求項9記載のデータ管理装置。 The second storage device includes group presence / absence information that specifies a range in which no group is stored as an empty range , and stores the range entry information in the range entry,
10. The data management apparatus according to claim 9, wherein the data processing unit generates the backup file including group presence / absence information of a range entry selected by the range management control unit.
前記入出力制御部は、前記入力機器にリストア要求データが入力された際、バックアップファイルに含まれるグループを前記第1の記憶機器に記憶する
ことを特徴とする請求項10記載のデータ管理装置。 The range management control unit includes group presence / absence information included in a backup file when restore request data for restoring the backup file stored in the third storage device to the first storage device is input to the input device. To the range entry,
11. The data management apparatus according to claim 10 , wherein the input / output control unit stores a group included in a backup file in the first storage device when restore request data is input to the input device.
前記範囲管理制御部は、バックアップファイルのリストアを要求するリストア要求データが前記入力機器に入力された際、バックアップファイルに含まれる識別情報と一致する範囲識別情報を含んだ範囲エントリを検索して選択し、
前記入出力制御部は、前記範囲管理制御部が選択した範囲エントリのグループ有無情報が空範囲を示す場合にバックアップファイルに含まれるグループを前記第1の記憶機器に記憶するリストア処理を行い、前記範囲管理制御部が選択した範囲エントリのグループ有無情報が空範囲を示さない場合にリストア処理を行わない
ことを特徴とする請求項11記載のデータ管理装置。 The data processing unit generates a backup file including identification information for identifying a backed up range,
The range management control unit searches and selects a range entry including range identification information that matches the identification information included in the backup file when restore request data requesting restoration of the backup file is input to the input device. And
Entering-output control unit performs the restoration processing for storing a group to group presence information in the range entry the range management control unit has selected are included in the backup file if shows the empty range in the first storage device, the data management system of claim 11, wherein the group presence information ranging entry the range management controller selects does not perform the restore process if not to indicate an empty range.
ことを特徴とする請求項1〜請求項12いずれかに記載のデータ管理装置。 Said second storage device, storing a range entries contain any data specifying information for specifying the minimum number and maximum number among the numbers identifying each of the plurality of arbitrary data stored in the range The data management apparatus according to any one of claims 1 to 12, wherein the data management apparatus is characterized in that:
ことを特徴とする請求項1〜請求項13いずれかに記載のデータ管理装置。 The second storage device stores a range entries contain any data specifying information for specifying the minimum time stamp and maximum time stamp among the time stamps included in the plurality of arbitrary data respectively stored in the range data management apparatus according to any one of claims 1 to 13, characterized in that.
前記範囲管理制御部は、前記検索要求データに含まれる任意データ特定情報の検索条件に合う範囲エントリであり且つグループ有無情報が空範囲でないことを示す範囲エントリをCPU(Central Processing Unit)を用いて検索して選択し、
前記入出力制御部は、前記範囲管理制御部が選択した範囲エントリのグループ特定情報が示すグループを前記第1の記憶機器から取得し、取得したグループを前記バッファメモリに記憶し、
前記データ処理部は、前記バッファメモリに記憶されたグループから前記検索要求データに含まれる任意データの値の検索条件に合う任意データをCPUを用いて検索して出力する
ことを特徴とするデータ管理装置のデータ管理方法。 A buffer memory in which a plurality of arbitrary data is stored as a group, a first storage device having a plurality of ranges as a storage region range for storing a group, and each storage area range of the first storage device The group specification information for specifying a plurality of groups stored in the range, the arbitrary data specification information for specifying a plurality of arbitrary data included in the group stored in the range, and a range in which no groups are stored are defined as empty ranges. A second storage device that stores a range entry including group identification information to be specified; an input device to which search request data including a search condition for a value of arbitrary data and a search condition for the arbitrary data specification information is input; A data management method for a data management device comprising a range management control unit, an input / output control unit, and a data processing unit,
The range management control unit uses a CPU (Central Processing Unit) to identify a range entry that satisfies the search condition of the arbitrary data specifying information included in the search request data and indicates that the group presence / absence information is not an empty range. Search and select
The input / output control unit acquires the group indicated by the group specifying information of the range entry selected by the range management control unit from the first storage device, stores the acquired group in the buffer memory,
The data processing unit uses a CPU to search for and output arbitrary data that meets a search condition for a value of arbitrary data included in the search request data from the group stored in the buffer memory. A data management method for the data management apparatus .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005332648A JP4813155B2 (en) | 2005-11-17 | 2005-11-17 | Data management apparatus, data management method for data management apparatus, and data management program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005332648A JP4813155B2 (en) | 2005-11-17 | 2005-11-17 | Data management apparatus, data management method for data management apparatus, and data management program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007140821A JP2007140821A (en) | 2007-06-07 |
JP4813155B2 true JP4813155B2 (en) | 2011-11-09 |
Family
ID=38203608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005332648A Active JP4813155B2 (en) | 2005-11-17 | 2005-11-17 | Data management apparatus, data management method for data management apparatus, and data management program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4813155B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102653845B1 (en) * | 2018-12-03 | 2024-04-02 | 에스케이하이닉스 주식회사 | Data Storage Device and Operation Method Thereof, Storage System Having the Same |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5334625B2 (en) * | 2009-03-04 | 2013-11-06 | 三菱電機株式会社 | Information processing apparatus, information processing method, and program |
JP7185953B1 (en) | 2021-07-02 | 2022-12-08 | Eaglys株式会社 | Data management system, data management method, and data management program |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10260876A (en) * | 1997-03-19 | 1998-09-29 | Hitachi Ltd | Data structure of database, and data processing method for database |
JP2000066933A (en) * | 1998-08-18 | 2000-03-03 | Nec Corp | Time series data management system |
JP4199888B2 (en) * | 1999-11-15 | 2008-12-24 | 株式会社日立製作所 | Database management method |
JP2001331509A (en) * | 2000-05-22 | 2001-11-30 | Hitachi Ltd | Relational database processor, relational database processing method, and computer-readable recording medium recorded with relational database processing program |
-
2005
- 2005-11-17 JP JP2005332648A patent/JP4813155B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102653845B1 (en) * | 2018-12-03 | 2024-04-02 | 에스케이하이닉스 주식회사 | Data Storage Device and Operation Method Thereof, Storage System Having the Same |
Also Published As
Publication number | Publication date |
---|---|
JP2007140821A (en) | 2007-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10642515B2 (en) | Data storage method, electronic device, and computer non-volatile storage medium | |
JP4537083B2 (en) | Data processing apparatus and control method thereof | |
JP4313323B2 (en) | Searchable archive | |
JP5233233B2 (en) | Information search system, information search index registration device, information search method and program | |
JP5886447B2 (en) | Location independent files | |
KR102264119B1 (en) | Casedb: low-cost put-intensive key-value store for edge computing | |
JPH1153240A (en) | Data backup device and method for computer, and computer-readable recording medium recurred with data backup program | |
CN105740303A (en) | Improved object storage method and apparatus | |
JP5254141B2 (en) | Archive device, data storage program, and data storage method | |
JP4713257B2 (en) | Data storage device and version management program | |
JP4755244B2 (en) | Information generation method, information generation program, and information generation apparatus | |
JP4813155B2 (en) | Data management apparatus, data management method for data management apparatus, and data management program | |
JPWO2012114402A1 (en) | Database management apparatus and database management method | |
JP7512671B2 (en) | File management device and program | |
JP2014154971A (en) | Image display device, image display method, and program | |
WO2012081165A1 (en) | Database management device and database management method | |
CN111177088A (en) | Data deduplication method and device, electronic equipment and storage medium | |
JP5063465B2 (en) | Document management apparatus, document management method, information processing program, and recording medium | |
JPH05113920A (en) | Method and device for managing file | |
JP2013118510A (en) | Image processing apparatus and image processing method | |
CN111831231B (en) | Partition merging and partition splitting method and device | |
JPH0687225B2 (en) | File service request processing method and apparatus | |
JP2013127748A (en) | Information processing apparatus, data storage method, and program | |
JP4957793B2 (en) | Database management program, recording medium recording the program, database management method, and database management apparatus | |
JP2001101047A (en) | Device and method for managing data and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080508 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110317 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110405 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110519 |
|
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: 20110823 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110824 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4813155 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140902 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |